diff --git a/CHANGELOG.md b/CHANGELOG.md index d431f9a..403ff2d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Change Log +## 0.5.2 + +* Support for Mermaid v11 syntax. +* Update dependencies. + * mermaid `10.9.1` from `11.2.1` + * mscgenjs `7.0.0` from `7.0.2` + * mscgenjs-inpage `4.0.5` from `5.0.1` + * Update for NPM package vulnerabilities. + ## 0.5.1 * Update dependencies. diff --git a/README.md b/README.md index 0102ca3..dc8bbc8 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,10 @@ Preview Sequence Diagrams (previewseqdiag-vscode) is an extension for vscode spe eye-catch +## New Features on 0.5.2 + +* Support for Mermaid v11 syntax. + ## New Features on 0.5.0 * Support for Mermaid v10 syntax. @@ -40,6 +44,15 @@ This is usefull to avoid multipicate the same code on many files. [CHANGELOG.md](CHANGELOG.md) +## 0.5.2 + +* Support for Mermaid v11 syntax. +* Update dependencies. + * mermaid `10.9.1` from `11.2.1` + * mscgenjs `7.0.0` from `7.0.2` + * mscgenjs-inpage `4.0.5` from `5.0.1` + * Update for NPM package vulnerabilities. + ## 0.5.1 * Update dependencies. diff --git a/dist/extension.js b/dist/extension.js index 43d95b7..b7bf9bc 100644 --- a/dist/extension.js +++ b/dist/extension.js @@ -1 +1 @@ -(()=>{var t={230:function(t,e,n){var r,i;t=n.nmd(t),function(o){var s={function:!0,object:!0};function u(t){return t&&t.Object===Object?t:null}var c=s[typeof e]&&e&&!e.nodeType?e:null,h=s.object&&t&&!t.nodeType?t:null,a=u(c&&h&&"object"==typeof global&&global),l=u(s[typeof self]&&self),p=u(s[typeof window]&&window),f=(h&&h.exports,u(s[typeof this]&&this)),d=a||p!==(f&&f.window)&&p||l||f||Function("return this")();r=[n(374)],i=function(t,e){return o(d,e,t)}.apply(e,r),void 0===i||(t.exports=i)}.call(this,(function(t,e,n,r){var i=n.Observable,o=i.prototype,s=n.BinaryDisposable,u=n.AnonymousObservable,c=n.internals.AbstractObserver,h=n.Disposable.empty,a=n.helpers,l=a.defaultComparer,p=a.identity,f=a.defaultSubComparer,d=a.isFunction,b=a.isPromise,v=a.isArrayLike,_=a.isIterable,y=n.internals.inherits,w=i.fromPromise,m=i.from,g=n.internals.bindCallback,x=n.EmptyError,C=n.ObservableBase,E=n.ArgumentOutOfRangeError,S={e:{}},D=n.internals.tryCatch=function(t){if(!d(t))throw new TypeError("fn must be a function");return e=t,function(){try{return e.apply(this,arguments)}catch(t){return S.e=t,S}};var e},N=function(t){function e(e,n,r){this.source=e,this._k=n,this._c=r,t.call(this)}return y(e,t),e.prototype.subscribeCore=function(t){return this.source.subscribe(new A(t,this._k,this._c))},e}(C),A=function(t){function e(e,n,r){this._o=e,this._k=n,this._c=r,this._v=null,this._hv=!1,this._l=[],t.call(this)}return y(e,t),e.prototype.next=function(t){var e=D(this._k)(t);if(e===S)return this._o.onError(e.e);var n=0;if(this._hv){if((n=D(this._c)(e,this._v))===S)return this._o.onError(n.e)}else this._hv=!0,this._v=e;n>0&&(this._v=e,this._l=[]),n>=0&&this._l.push(t)},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){this._o.onNext(this._l),this._o.onCompleted()},e}(c);function O(t){if(0===t.length)throw new x;return t[0]}var j=function(t){function e(e,n,r,i){this.source=e,this.accumulator=n,this.hasSeed=r,this.seed=i,t.call(this)}return y(e,t),e.prototype.subscribeCore=function(t){return this.source.subscribe(new k(t,this))},e}(C),k=function(t){function e(e,n){this._o=e,this._p=n,this._fn=n.accumulator,this._hs=n.hasSeed,this._s=n.seed,this._ha=!1,this._a=null,this._hv=!1,this._i=0,t.call(this)}return y(e,t),e.prototype.next=function(t){if(!this._hv&&(this._hv=!0),this._ha?this._a=D(this._fn)(this._a,t,this._i,this._p):(this._a=this._hs?D(this._fn)(this._s,t,this._i,this._p):t,this._ha=!0),this._a===S)return this._o.onError(this._a.e);this._i++},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){this._hv&&this._o.onNext(this._a),!this._hv&&this._hs&&this._o.onNext(this._s),!this._hv&&!this._hs&&this._o.onError(new x),this._o.onCompleted()},e}(c);o.reduce=function(){var t,e=!1;return 2===arguments.length&&(e=!0,t=arguments[1]),new j(this,arguments[0],e,t)};var q=function(t){function e(e,n){this.source=e,this._fn=n,t.call(this)}return y(e,t),e.prototype.subscribeCore=function(t){return this.source.subscribe(new T(t,this._fn,this.source))},e}(C),T=function(t){function e(e,n,r){this._o=e,this._fn=n,this._s=r,this._i=0,t.call(this)}return y(e,t),e.prototype.next=function(t){var e=D(this._fn)(t,this._i++,this._s);if(e===S)return this._o.onError(e.e);Boolean(e)&&(this._o.onNext(!0),this._o.onCompleted())},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){this._o.onNext(!1),this._o.onCompleted()},e}(c);o.some=function(t,e){var n=g(t,e,3);return new q(this,n)};var F=function(t){function e(e){this.source=e,t.call(this)}return y(e,t),e.prototype.subscribeCore=function(t){return this.source.subscribe(new R(t))},e}(C),R=function(t){function e(e){this._o=e,t.call(this)}return y(e,t),e.prototype.next=function(){this._o.onNext(!1),this._o.onCompleted()},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){this._o.onNext(!0),this._o.onCompleted()},e}(c);o.isEmpty=function(){return new F(this)};var P=function(t){function e(e,n){this.source=e,this._fn=n,t.call(this)}return y(e,t),e.prototype.subscribeCore=function(t){return this.source.subscribe(new M(t,this._fn,this.source))},e}(C),M=function(t){function e(e,n,r){this._o=e,this._fn=n,this._s=r,this._i=0,t.call(this)}return y(e,t),e.prototype.next=function(t){var e=D(this._fn)(t,this._i++,this._s);if(e===S)return this._o.onError(e.e);Boolean(e)||(this._o.onNext(!1),this._o.onCompleted())},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){this._o.onNext(!0),this._o.onCompleted()},e}(c);o.every=function(t,e){var n=g(t,e,3);return new P(this,n)};var I=function(t){function e(e,n,r){var i=+r||0;Math.abs(i)===1/0&&(i=0),this.source=e,this._elem=n,this._n=i,t.call(this)}return y(e,t),e.prototype.subscribeCore=function(t){return this._n<0?(t.onNext(!1),t.onCompleted(),h):this.source.subscribe(new V(t,this._elem,this._n))},e}(C),V=function(t){function e(e,n,r){this._o=e,this._elem=n,this._n=r,this._i=0,t.call(this)}return y(e,t),e.prototype.next=function(t){var e,n;this._i++>=this._n&&(e=t,n=this._elem,0===e&&0===n||e===n||isNaN(e)&&isNaN(n))&&(this._o.onNext(!0),this._o.onCompleted())},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){this._o.onNext(!1),this._o.onCompleted()},e}(c);o.includes=function(t,e){return new I(this,t,e)};var B=function(t){function e(e,n){this.source=e,this._fn=n,t.call(this)}return y(e,t),e.prototype.subscribeCore=function(t){return this.source.subscribe(new z(t,this._fn,this.source))},e}(C),z=function(t){function e(e,n,r){this._o=e,this._fn=n,this._s=r,this._i=0,this._c=0,t.call(this)}return y(e,t),e.prototype.next=function(t){if(this._fn){var e=D(this._fn)(t,this._i++,this._s);if(e===S)return this._o.onError(e.e);Boolean(e)&&this._c++}else this._c++},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){this._o.onNext(this._c),this._o.onCompleted()},e}(c);o.count=function(t,e){var n=g(t,e,3);return new B(this,n)};var L=function(t){function e(e,n,r){this.source=e,this._e=n,this._n=r,t.call(this)}return y(e,t),e.prototype.subscribeCore=function(t){return this._n<0?(t.onNext(-1),t.onCompleted(),h):this.source.subscribe(new W(t,this._e,this._n))},e}(C),W=function(t){function e(e,n,r){this._o=e,this._e=n,this._n=r,this._i=0,t.call(this)}return y(e,t),e.prototype.next=function(t){this._i>=this._n&&t===this._e&&(this._o.onNext(this._i),this._o.onCompleted()),this._i++},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){this._o.onNext(-1),this._o.onCompleted()},e}(c);o.indexOf=function(t,e){var n=+e||0;return Math.abs(n)===1/0&&(n=0),new L(this,t,n)};var U=function(t){function e(e,n){this.source=e,this._fn=n,t.call(this)}return y(e,t),e.prototype.subscribeCore=function(t){return this.source.subscribe(new $(t,this._fn,this.source))},e}(C),$=function(t){function e(e,n,r){this._o=e,this._fn=n,this._s=r,this._i=0,this._c=0,t.call(this)}return y(e,t),e.prototype.next=function(t){if(this._fn){var e=D(this._fn)(t,this._i++,this._s);if(e===S)return this._o.onError(e.e);this._c+=e}else this._c+=t},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){this._o.onNext(this._c),this._o.onCompleted()},e}(c);o.sum=function(t,e){var n=g(t,e,3);return new U(this,n)},o.minBy=function(t,e){return e||(e=f),new N(this,t,(function(t,n){return-1*e(t,n)}))},o.min=function(t){return this.minBy(p,t).map(O)},o.maxBy=function(t,e){return e||(e=f),new N(this,t,e)},o.max=function(t){return this.maxBy(p,t).map(O)};var H=function(t){function e(e,n){this.source=e,this._fn=n,t.call(this)}return y(e,t),e.prototype.subscribeCore=function(t){return this.source.subscribe(new G(t,this._fn,this.source))},e}(C),G=function(t){function e(e,n,r){this._o=e,this._fn=n,this._s=r,this._c=0,this._t=0,t.call(this)}return y(e,t),e.prototype.next=function(t){if(this._fn){var e=D(this._fn)(t,this._c++,this._s);if(e===S)return this._o.onError(e.e);this._t+=e}else this._c++,this._t+=t},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){if(0===this._c)return this._o.onError(new x);this._o.onNext(this._t/this._c),this._o.onCompleted()},e}(c);o.average=function(t,e){var n;return d(t)&&(n=g(t,e,3)),new H(this,n)},o.sequenceEqual=function(t,e){var n=this;return e||(e=l),new u((function(r){var i=!1,o=!1,u=[],c=[],h=n.subscribe((function(t){if(c.length>0){var n=c.shift(),i=D(e)(n,t);if(i===S)return r.onError(i.e);i||(r.onNext(!1),r.onCompleted())}else o?(r.onNext(!1),r.onCompleted()):u.push(t)}),(function(t){r.onError(t)}),(function(){i=!0,0===u.length&&(c.length>0?(r.onNext(!1),r.onCompleted()):o&&(r.onNext(!0),r.onCompleted()))}));(v(t)||_(t))&&(t=m(t)),b(t)&&(t=w(t));var a=t.subscribe((function(t){if(u.length>0){var n=u.shift(),o=D(e)(n,t);if(o===S)return r.onError(o.e);o||(r.onNext(!1),r.onCompleted())}else i?(r.onNext(!1),r.onCompleted()):c.push(t)}),(function(t){r.onError(t)}),(function(){o=!0,0===c.length&&(u.length>0?(r.onNext(!1),r.onCompleted()):i&&(r.onNext(!0),r.onCompleted()))}));return new s(h,a)}),n)};var J=function(t){function e(e,n,r){this.source=e,this._i=n,this._d=r,t.call(this)}return y(e,t),e.prototype.subscribeCore=function(t){return this.source.subscribe(new K(t,this._i,this._d))},e}(C),K=function(t){function e(e,n,r){this._o=e,this._i=n,this._d=r,t.call(this)}return y(e,t),e.prototype.next=function(t){0==this._i--&&(this._o.onNext(t),this._o.onCompleted())},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){this._d===r?this._o.onError(new E):(this._o.onNext(this._d),this._o.onCompleted())},e}(c);o.elementAt=function(t,e){if(t<0)throw new E;return new J(this,t,e)};var Q=function(t){function e(e,n,r){this._o=e,this._obj=n,this._s=r,this._i=0,this._hv=!1,this._v=null,t.call(this)}return y(e,t),e.prototype.next=function(t){var e=!1;if(this._obj.predicate){var n=D(this._obj.predicate)(t,this._i++,this._s);if(n===S)return this._o.onError(n.e);Boolean(n)&&(e=!0)}else this._obj.predicate||(e=!0);if(e){if(this._hv)return this._o.onError(new Error("Sequence contains more than one matching element"));this._hv=!0,this._v=t}},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){this._hv?(this._o.onNext(this._v),this._o.onCompleted()):this._obj.defaultValue===r?this._o.onError(new x):(this._o.onNext(this._obj.defaultValue),this._o.onCompleted())},e}(c);o.single=function(t,e){var n={},r=this;if(d((n="object"==typeof arguments[0]?arguments[0]:{predicate:arguments[0],thisArg:arguments[1],defaultValue:arguments[2]}).predicate)){var i=n.predicate;n.predicate=g(i,n.thisArg,3)}return new u((function(t){return r.subscribe(new Q(t,n,r))}),r)};var X=function(t){function e(e,n){this.source=e,this._obj=n,t.call(this)}return y(e,t),e.prototype.subscribeCore=function(t){return this.source.subscribe(new Y(t,this._obj,this.source))},e}(C),Y=function(t){function e(e,n,r){this._o=e,this._obj=n,this._s=r,this._i=0,t.call(this)}return y(e,t),e.prototype.next=function(t){if(this._obj.predicate){var e=D(this._obj.predicate)(t,this._i++,this._s);if(e===S)return this._o.onError(e.e);Boolean(e)&&(this._o.onNext(t),this._o.onCompleted())}else this._obj.predicate||(this._o.onNext(t),this._o.onCompleted())},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){this._obj.defaultValue===r?this._o.onError(new x):(this._o.onNext(this._obj.defaultValue),this._o.onCompleted())},e}(c);o.first=function(){var t={};if(d((t="object"==typeof arguments[0]?arguments[0]:{predicate:arguments[0],thisArg:arguments[1],defaultValue:arguments[2]}).predicate)){var e=t.predicate;t.predicate=g(e,t.thisArg,3)}return new X(this,t)};var Z=function(t){function e(e,n){this.source=e,this._obj=n,t.call(this)}return y(e,t),e.prototype.subscribeCore=function(t){return this.source.subscribe(new tt(t,this._obj,this.source))},e}(C),tt=function(t){function e(e,n,r){this._o=e,this._obj=n,this._s=r,this._i=0,this._hv=!1,this._v=null,t.call(this)}return y(e,t),e.prototype.next=function(t){var e=!1;if(this._obj.predicate){var n=D(this._obj.predicate)(t,this._i++,this._s);if(n===S)return this._o.onError(n.e);Boolean(n)&&(e=!0)}else this._obj.predicate||(e=!0);e&&(this._hv=!0,this._v=t)},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){this._hv?(this._o.onNext(this._v),this._o.onCompleted()):this._obj.defaultValue===r?this._o.onError(new x):(this._o.onNext(this._obj.defaultValue),this._o.onCompleted())},e}(c);o.last=function(){var t={};if(d((t="object"==typeof arguments[0]?arguments[0]:{predicate:arguments[0],thisArg:arguments[1],defaultValue:arguments[2]}).predicate)){var e=t.predicate;t.predicate=g(e,t.thisArg,3)}return new Z(this,t)};var et=function(t){function e(e,n,r,i){this._o=e,this._s=n,this._cb=r,this._y=i,this._i=0,t.call(this)}return y(e,t),e.prototype.next=function(t){var e=D(this._cb)(t,this._i,this._s);if(e===S)return this._o.onError(e.e);e?(this._o.onNext(this._y?this._i:t),this._o.onCompleted()):this._i++},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){this._y&&this._o.onNext(-1),this._o.onCompleted()},e}(c);function nt(t,e,n,r){var i=g(e,n,3);return new u((function(e){return t.subscribe(new et(e,t,i,r))}),t)}o.find=function(t,e){return nt(this,t,e,!1)},o.findIndex=function(t,e){return nt(this,t,e,!0)};var rt=function(t){function e(e){this.source=e,t.call(this)}return y(e,t),e.prototype.subscribeCore=function(t){return this.source.subscribe(new it(t))},e}(C),it=function(e){function n(n){this._o=n,this._s=new t.Set,e.call(this)}return y(n,e),n.prototype.next=function(t){this._s.add(t)},n.prototype.error=function(t){this._o.onError(t)},n.prototype.completed=function(){this._o.onNext(this._s),this._o.onCompleted()},n}(c);o.toSet=function(){if(void 0===t.Set)throw new TypeError;return new rt(this)};var ot=function(t){function e(e,n,r){this.source=e,this._k=n,this._e=r,t.call(this)}return y(e,t),e.prototype.subscribeCore=function(t){return this.source.subscribe(new st(t,this._k,this._e))},e}(C),st=function(e){function n(n,r,i){this._o=n,this._k=r,this._e=i,this._m=new t.Map,e.call(this)}return y(n,e),n.prototype.next=function(t){var e=D(this._k)(t);if(e===S)return this._o.onError(e.e);var n=t;if(this._e&&(n=D(this._e)(t))===S)return this._o.onError(n.e);this._m.set(e,n)},n.prototype.error=function(t){this._o.onError(t)},n.prototype.completed=function(){this._o.onNext(this._m),this._o.onCompleted()},n}(c);o.toMap=function(e,n){if(void 0===t.Map)throw new TypeError;return new ot(this,e,n)};var ut=function(t){function e(e,n,r){this.source=e,this._b=n,this._e=r,t.call(this)}return y(e,t),e.prototype.subscribeCore=function(t){return this.source.subscribe(new ct(t,this._b,this._e))},e}(C),ct=function(t){function e(e,n,r){this._o=e,this._b=n,this._e=r,this._i=0,t.call(this)}return y(e,t),e.prototype.next=function(t){this._i>=this._b&&(this._e===this._i?this._o.onCompleted():this._o.onNext(t)),this._i++},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){this._o.onCompleted()},e}(c);o.slice=function(t,e){var r=t||0;if(r<0)throw new n.ArgumentOutOfRangeError;if("number"==typeof e&&e=this._n&&t===this._e&&(this._hv=!0,this._v=this._i),this._i++},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){this._hv?this._o.onNext(this._v):this._o.onNext(-1),this._o.onCompleted()},e}(c);return o.lastIndexOf=function(t,e){var n=+e||0;return Math.abs(n)===1/0&&(n=0),new ht(this,t,n)},n}))},139:function(t,e,n){var r,i;t=n.nmd(t),function(o){var s={function:!0,object:!0};function u(t){return t&&t.Object===Object?t:null}var c=s[typeof e]&&e&&!e.nodeType?e:null,h=s.object&&t&&!t.nodeType?t:null,a=u(c&&h&&"object"==typeof global&&global),l=u(s[typeof self]&&self),p=u(s[typeof window]&&window),f=(h&&h.exports,u(s[typeof this]&&this)),d=a||p!==(f&&f.window)&&p||l||f||Function("return this")();r=[n(506),e],i=function(t,e){return d.Rx=o(d,e,t),d.Rx}.apply(e,r),void 0===i||(t.exports=i)}.call(this,(function(t,e,n,r){var i=n.Observable,o=i.fromPromise,s=i.throwError,u=n.AnonymousObservable,c=n.ObservableBase,h=n.AsyncSubject,a=(n.Disposable.create,n.CompositeDisposable),l=(n.Scheduler.immediate,n.Scheduler.default),p=n.internals.inherits,f=n.Scheduler.isScheduler,d=n.helpers.isPromise,b=n.helpers.isFunction,v=n.helpers.isIterable,_=n.helpers.isArrayLike,y={e:{}},w=n.internals.tryCatch=function(t){if(!b(t))throw new TypeError("fn must be a function");return e=t,function(){try{return e.apply(this,arguments)}catch(t){return y.e=t,y}};var e};i.wrap=function(t){function e(){return i.spawn.call(this,t.apply(this,arguments))}return e.__generatorFunction__=t,e};var m=i.spawn=function(){for(var t=arguments[0],e=this,n=[],r=1,o=arguments.length;r2){for(var r=[],i=1,o=arguments.length;i0;)t.onNext(u.shift())}return(n=this.source,i=this.pauser.startWith(!this.paused).distinctUntilChanged(),o=function(t,e){return{data:t,shouldFire:e}},new s((function(t){var e,r=[!1,!1],s=!1,u=!1,h=new Array(2);function a(n,i){if(h[i]=n,r[i]=!0,s||(s=r.every(w))){if(e)return t.onError(e);var c=C(o).apply(null,h);if(c===x)return t.onError(c.e);t.onNext(c)}u&&h[1]&&t.onCompleted()}return new c(n.subscribe((function(t){a(t,0)}),(function(n){h[1]?t.onError(n):e=n}),(function(){u=!0,h[1]&&t.onCompleted()})),i.subscribe((function(t){a(t,1)}),(function(e){t.onError(e)}),(function(){u=!0,a(!0,1)})))}),n)).subscribe((function(n){e!==r&&n.shouldFire!==e?(e=n.shouldFire,n.shouldFire&&h()):(e=n.shouldFire,n.shouldFire?t.onNext(n.data):u.push(n.data))}),(function(e){h(),t.onError(e)}),(function(){h(),t.onCompleted()}))},e.prototype.pause=function(){this.paused=!0,this.controller.onNext(!1)},e.prototype.resume=function(){this.paused=!1,this.controller.onNext(!0)},e}(i);o.pausableBuffered=function(t){return new S(this,t)};var D=function(t){function e(e,n,r){t.call(this),this.subject=new N(n,r),this.source=e.multicast(this.subject).refCount()}return b(e,t),e.prototype._subscribe=function(t){return this.source.subscribe(t)},e.prototype.request=function(t){return this.subject.request(null==t?-1:t)},e}(i),N=function(t){function e(e,n){null==e&&(e=!0),t.call(this),this.subject=new l,this.enableQueue=e,this.queue=e?[]:null,this.requestedCount=0,this.requestedDisposable=null,this.error=null,this.hasFailed=!1,this.hasCompleted=!1,this.scheduler=n||y}return b(e,t),v(e.prototype,p,{_subscribe:function(t){return this.subject.subscribe(t)},onCompleted:function(){this.hasCompleted=!0,this.enableQueue&&0!==this.queue.length?this.queue.push(a.createOnCompleted()):(this.subject.onCompleted(),this.disposeCurrentRequest())},onError:function(t){this.hasFailed=!0,this.error=t,this.enableQueue&&0!==this.queue.length?this.queue.push(a.createOnError(t)):(this.subject.onError(t),this.disposeCurrentRequest())},onNext:function(t){this.requestedCount<=0?this.enableQueue&&this.queue.push(a.createOnNext(t)):(0==this.requestedCount--&&this.disposeCurrentRequest(),this.subject.onNext(t))},_processRequest:function(t){if(this.enableQueue)for(;this.queue.length>0&&(t>0||"N"!==this.queue[0].kind);){var e=this.queue.shift();e.accept(this.subject),"N"===e.kind?t--:(this.disposeCurrentRequest(),this.queue=[])}return t},request:function(t){this.disposeCurrentRequest();var e=this;return this.requestedDisposable=this.scheduler.schedule(t,(function(t,n){var r=e._processRequest(n);if(!e.hasCompleted&&!e.hasFailed&&r>0)return e.requestedCount=r,d((function(){e.requestedCount=0}))})),this.requestedDisposable},disposeCurrentRequest:function(){this.requestedDisposable&&(this.requestedDisposable.dispose(),this.requestedDisposable=null)}}),e}(i);o.controlled=function(t,e){return t&&m(t)&&(e=t,t=!0),null==t&&(t=!0),new D(this,t,e)};var A=function(t){function e(e){t.call(this),this.source=e}function n(t,e){return e.source.request(1)}b(e,t),e.prototype._subscribe=function(t){return this.subscription=this.source.subscribe(new r(t,this,this.subscription)),new c(this.subscription,_.schedule(this,n))};var r=function(t){function e(e,n,r){t.call(this),this.observer=e,this.observable=n,this.cancel=r,this.scheduleDisposable=null}function n(t,e){return e.observable.source.request(1)}return b(e,t),e.prototype.completed=function(){this.observer.onCompleted(),this.dispose()},e.prototype.error=function(t){this.observer.onError(t),this.dispose()},e.prototype.next=function(t){this.observer.onNext(t),this.scheduleDisposable=_.schedule(this,n)},e.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),this.scheduleDisposable&&(this.scheduleDisposable.dispose(),this.scheduleDisposable=null),t.prototype.dispose.call(this)},e}(u);return e}(i);D.prototype.stopAndWait=function(){return new A(this)};var O=function(t){function e(e,n){t.call(this),this.source=e,this.windowSize=n}function n(t,e){return e.source.request(e.windowSize)}b(e,t),e.prototype._subscribe=function(t){return this.subscription=this.source.subscribe(new r(t,this,this.subscription)),new c(this.subscription,_.schedule(this,n))};var r=function(t){function e(e,n,r){this.observer=e,this.observable=n,this.cancel=r,this.received=0,this.scheduleDisposable=null,t.call(this)}function n(t,e){return e.observable.source.request(e.observable.windowSize)}return b(e,t),e.prototype.completed=function(){this.observer.onCompleted(),this.dispose()},e.prototype.error=function(t){this.observer.onError(t),this.dispose()},e.prototype.next=function(t){this.observer.onNext(t),this.received=++this.received%this.observable.windowSize,0===this.received&&(this.scheduleDisposable=_.schedule(this,n))},e.prototype.dispose=function(){this.observer=null,this.cancel&&(this.cancel.dispose(),this.cancel=null),this.scheduleDisposable&&(this.scheduleDisposable.dispose(),this.scheduleDisposable=null),t.prototype.dispose.call(this)},e}(u);return e}(i);return D.prototype.windowed=function(t){return new O(this,t)},o.pipe=function(t){var e=this.pausableBuffered();function n(){e.resume()}return t.addListener("drain",n),e.subscribe((function(n){!t.write(n)&&e.pause()}),(function(e){t.emit("error",e)}),(function(){!t._isStdio&&t.end(),t.removeListener("drain",n)})),e.resume(),t},n}))},506:function(t,e,n){var r,i;t=n.nmd(t),function(o){var s={function:!0,object:!0};function u(t){return t&&t.Object===Object?t:null}var c=s[typeof e]&&e&&!e.nodeType?e:null,h=s.object&&t&&!t.nodeType?t:null,a=u(c&&h&&"object"==typeof global&&global),l=u(s[typeof self]&&self),p=u(s[typeof window]&&window),f=(h&&h.exports,u(s[typeof this]&&this)),d=a||p!==(f&&f.window)&&p||l||f||Function("return this")();r=[n(374)],i=function(t,e){return o(d,e,t)}.apply(e,r),void 0===i||(t.exports=i)}.call(this,(function(t,e,n,r){var i=n.Observable,o=i.prototype,s=n.AnonymousObservable,u=n.ObservableBase,c=n.Subject,h=n.AsyncSubject,a=n.Observer,l=n.internals.ScheduledObserver,p=n.Disposable.create,f=n.Disposable.empty,d=n.BinaryDisposable,b=n.Scheduler.currentThread,v=n.helpers.isFunction,_=n.internals.inherits,y=n.internals.addProperties,w=n.Disposable.checkDisposed;function m(t){for(var e=t.length,n=new Array(e),r=0;r0},onCompleted:function(){if(w(this),!this.isStopped){this.isStopped=!0;for(var t=0,e=m(this.observers),n=e.length;t0},_trim:function(t){for(;this.q.length>this.bufferSize;)this.q.shift();for(;this.q.length>0&&t-this.q[0].interval>this.windowSize;)this.q.shift()},onNext:function(t){if(w(this),!this.isStopped){var e=this.scheduler.now();this.q.push({interval:e,value:t}),this._trim(e);for(var n=0,r=m(this.observers),i=r.length;n0){n=r.q.shift();var o=new b;r.d.add(o),o.setDisposable(n.subscribe(new R(r,i,o))),e([r,i])}else r.isAcquired=!1}return g(e,t),e.prototype._ensureActive=function(t){var e=!1;t.q.length>0&&(e=!t.isAcquired,t.isAcquired=!0),e&&t.m.setDisposable(this._scheduler.scheduleRecursive([t,this],n))},e.prototype.subscribeCore=function(t){var e=new d,n=new f(e),r={q:[],m:e,d:n,activeCount:0,isAcquired:!1,o:t};return r.q.push(this.source),r.activeCount++,this._ensureActive(r),n},e}(s),R=function(t){function e(e,n,r){this._s=e,this._p=n,this._m1=r,t.call(this)}return g(e,t),e.prototype.next=function(t){this._s.o.onNext(t);var e=j(this._p._fn)(t);if(e===O)return this._s.o.onError(e.e);this._s.q.push(e),this._s.activeCount++,this._p._ensureActive(this._s)},e.prototype.error=function(t){this._s.o.onError(t)},e.prototype.completed=function(){this._s.d.remove(this._m1),this._s.activeCount--,0===this._s.activeCount&&this._s.o.onCompleted()},e}(u);function P(){for(var t=arguments.length,e=new Array(t),n=0;ne?1:t=q&&r<=Ar}function R(){if(O)try{throw new Error}catch(n){var t=n.stack.split("\n"),e=P(t[0].indexOf("@")>0?t[1]:t[2]);if(!e)return;return k=e[0],e[1]}}function P(t){var e=/at .+ \((.+):(\d+):(?:\d+)\)$/.exec(t);if(e)return[e[1],Number(e[2])];var n=/at ([^ ]+):(\d+):(?:\d+)$/.exec(t);if(n)return[n[1],Number(n[2])];var r=/.*@(.+):(\d+)$/.exec(t);return r?[r[1],Number(r[2])]:void 0}var M=v.EmptyError=function(){this.message="Sequence contains no elements.",Error.call(this)};M.prototype=Object.create(Error.prototype),M.prototype.name="EmptyError";var I=v.ObjectDisposedError=function(){this.message="Object has been disposed",Error.call(this)};I.prototype=Object.create(Error.prototype),I.prototype.name="ObjectDisposedError";var V=v.ArgumentOutOfRangeError=function(){this.message="Argument out of range",Error.call(this)};V.prototype=Object.create(Error.prototype),V.prototype.name="ArgumentOutOfRangeError";var B=v.NotSupportedError=function(t){this.message=t||"This operation is not supported",Error.call(this)};B.prototype=Object.create(Error.prototype),B.prototype.name="NotSupportedError";var z=v.NotImplementedError=function(t){this.message=t||"This operation is not implemented",Error.call(this)};z.prototype=Object.create(Error.prototype),z.prototype.name="NotImplementedError";var L=v.helpers.notImplemented=function(){throw new z},W=(v.helpers.notSupported=function(){throw new B},"function"==typeof Symbol&&Symbol.iterator||"_es6shim_iterator_");b.Set&&"function"==typeof(new b.Set)["@@iterator"]&&(W="@@iterator");var U=v.doneEnumerator={done:!0,value:i},$=v.helpers.isIterable=function(t){return t&&t[W]!==i},H=v.helpers.isArrayLike=function(t){return t&&t.length!==i};v.helpers.iterator=W;var G=v.internals.bindCallback=function(t,e,n){if(void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}},J="[object Arguments]",K="[object Array]",Q="[object Boolean]",X="[object Date]",Y="[object Error]",Z="[object Number]",tt="[object Object]",et="[object RegExp]",nt="[object String]",rt={};rt["[object Float32Array]"]=rt["[object Float64Array]"]=rt["[object Int8Array]"]=rt["[object Int16Array]"]=rt["[object Int32Array]"]=rt["[object Uint8Array]"]=rt["[object Uint8ClampedArray]"]=rt["[object Uint16Array]"]=rt["[object Uint32Array]"]=!0,rt[J]=rt[K]=rt["[object ArrayBuffer]"]=rt[Q]=rt[X]=rt[Y]=rt["[object Function]"]=rt["[object Map]"]=rt[Z]=rt[tt]=rt[et]=rt["[object Set]"]=rt[nt]=rt["[object WeakMap]"]=!1;var it=Object.prototype,ot=it.hasOwnProperty,st=it.toString,ut=Math.pow(2,53)-1,ct=Object.keys||function(){var t=Object.prototype.hasOwnProperty,e=!{toString:null}.propertyIsEnumerable("toString"),n=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],r=n.length;return function(i){if("object"!=typeof i&&("function"!=typeof i||null===i))throw new TypeError("Object.keys called on non-object");var o,s,u=[];for(o in i)t.call(i,o)&&u.push(o);if(e)for(s=0;s-1&&t%1==0&&t<=ut}var ft=function(){try{Object({toString:0}+"")}catch(t){return function(){return!1}}return function(t){return"function"!=typeof t.toString&&"string"==typeof(t+"")}}(),dt=Array.isArray||function(t){return lt(t)&&pt(t.length)&&st.call(t)===K};function bt(t,e){for(var n=-1,r=t.length;++nc))return!1;for(;++u0;){var t=e.dequeue();!t.isCancelled()&&t.invoke()}}function r(){t.call(this)}return mt(r,t),r.prototype.schedule=function(t,r){var i=new Vt(this,t,r,this.now());if(e)e.enqueue(i);else{(e=new re(4)).enqueue(i);var o=N(n)();e=null,o===D&&A(o.e)}return i.disposable},r.prototype.scheduleRequired=function(){return!e},r}(zt),Kt=zt.currentThread=new Jt,Qt=function(){var t,e=_;if(b.setTimeout)t=b.setTimeout,e=b.clearTimeout;else{if(!b.WScript)throw new B;t=function(t,e){b.WScript.Sleep(e),t()}}return{setTimeout:t,clearTimeout:e}}(),Xt=Qt.setTimeout,Yt=Qt.clearTimeout;!function(){var t=1,e={},n=!1;function r(t){if(n)Xt((function(){r(t)}),0);else{var i=e[t];if(i){n=!0;var o=N(i)();$t(t),n=!1,o===D&&A(o.e)}}}$t=function(t){delete e[t]};var i=new RegExp("^"+String(toString).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),o="function"==typeof(o=a&&f&&a.setImmediate)&&!i.test(o)&&o;if(E(o))Ut=function(n){var i=t++;return e[i]=n,o((function(){r(i)})),i};else if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))Ut=function(n){var i=t++;return e[i]=n,process.nextTick((function(){r(i)})),i};else if(function(){if(!b.postMessage||b.importScripts)return!1;var t=!1,e=b.onmessage;return b.onmessage=function(){t=!0},b.postMessage("","*"),b.onmessage=e,t}()){var s="ms.rx.schedule"+Math.random();b.addEventListener("message",(function(t){"string"==typeof t.data&&t.data.substring(0,s.length)===s&&r(t.data.substring(s.length))}),!1),Ut=function(n){var r=t++;return e[r]=n,b.postMessage(s+r,"*"),r}}else if(b.MessageChannel){var u=new b.MessageChannel;u.port1.onmessage=function(t){r(t.data)},Ut=function(n){var r=t++;return e[r]=n,u.port2.postMessage(r),r}}else Ut="document"in b&&"onreadystatechange"in b.document.createElement("script")?function(n){var i=b.document.createElement("script"),o=t++;return e[o]=n,i.onreadystatechange=function(){r(o),i.onreadystatechange=null,i.parentNode.removeChild(i),i=null},b.document.documentElement.appendChild(i),o}:function(n){var i=t++;return e[i]=n,Xt((function(){r(i)}),0),i}}();var Zt=function(t){function e(){t.call(this)}function n(t,e,n,r){return function(){t.setDisposable(Dt._fixup(e(n,r)))}}function r(t){this._id=t,this.isDisposed=!1}function i(t){this._id=t,this.isDisposed=!1}return mt(e,t),r.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,$t(this._id))},i.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,Yt(this._id))},e.prototype.schedule=function(t,e){var i=new qt,o=Ut(n(i,e,this,t));return new Ft(i,new r(o))},e.prototype._scheduleFuture=function(t,e,r){if(0===e)return this.schedule(t,r);var o=new qt,s=Xt(n(o,r,this,t),e);return new Ft(o,new i(s))},e.prototype.scheduleLongRunning=function(t,e){var n=Nt(_);return Ut(function(t,e,n){return function(){e(t,n)}}(t,e,n)),n},e}(zt),te=zt.default=zt.async=new Zt,ee=function(t){function e(e,n){this._scheduler=e,this._handler=n,this._recursiveOriginal=null,this._recursiveWrapper=null,t.call(this)}return mt(e,t),e.prototype.schedule=function(t,e){return this._scheduler.schedule(t,this._wrap(e))},e.prototype._scheduleFuture=function(t,e,n){return this._scheduler.schedule(t,e,this._wrap(n))},e.prototype.now=function(){return this._scheduler.now()},e.prototype._clone=function(t){return new e(t,this._handler)},e.prototype._wrap=function(t){var e=this;return function(n,r){var i=N(t)(e._getRecursiveWrapper(n),r);return i===D?(e._handler(i.e)||A(i.e),At):kt(i)}},e.prototype._getRecursiveWrapper=function(t){if(this._recursiveOriginal!==t){this._recursiveOriginal=t;var e=this._clone(t);e._recursiveOriginal=t,e._recursiveWrapper=e,this._recursiveWrapper=e}return this._recursiveWrapper},e.prototype.schedulePeriodic=function(t,e,n){var r=this,i=!1,o=new qt;return o.setDisposable(this._scheduler.schedulePeriodic(t,e,(function(t){if(i)return null;var e=N(n)(t);return e===D?(i=!0,r._handler(e.e)||A(e.e),o.dispose(),null):e}))),o},e}(zt);function ne(t,e){this.id=t,this.value=e}ne.prototype.compareTo=function(t){var e=this.value.compareTo(t.value);return 0===e&&(e=this.id-t.id),e};var re=v.internals.PriorityQueue=function(t){this.items=new Array(t),this.length=0},ie=re.prototype;ie.isHigherPriority=function(t,e){return this.items[t].compareTo(this.items[e])<0},ie.percolate=function(t){if(!(t>=this.length||t<0)){var e=t-1>>1;if(!(e<0||e===t)&&this.isHigherPriority(t,e)){var n=this.items[t];this.items[t]=this.items[e],this.items[e]=n,this.percolate(e)}}},ie.heapify=function(t){if(+t||(t=0),!(t>=this.length||t<0)){var e=2*t+1,n=2*t+2,r=t;if(e0){n=t.queue.shift();var r=N(n)();if(r===D)return t.queue=[],t.hasFaulted=!0,A(r.e);e(t)}else t.isAcquired=!1}return mt(e,t),e.prototype.next=function(t){this.queue.push(function(t,e){return function(){t.onNext(e)}}(this.observer,t))},e.prototype.error=function(t){this.queue.push(function(t,e){return function(){t.onError(e)}}(this.observer,t))},e.prototype.completed=function(){var t;this.queue.push((t=this.observer,function(){t.onCompleted()}))},e.prototype.ensureActive=function(){var t=!1;!this.hasFaulted&&this.queue.length>0&&(t=!this.isAcquired,this.isAcquired=!0),t&&this.disposable.setDisposable(this.scheduler.scheduleRecursive(this,n))},e.prototype.dispose=function(){t.prototype.dispose.call(this),this.disposable.dispose()},e}(be),we=function(t){function e(e,n,r){t.call(this,e,n),this._cancel=r}return mt(e,t),e.prototype.next=function(e){t.prototype.next.call(this,e),this.ensureActive()},e.prototype.error=function(e){t.prototype.error.call(this,e),this.ensureActive()},e.prototype.completed=function(){t.prototype.completed.call(this),this.ensureActive()},e.prototype.dispose=function(){t.prototype.dispose.call(this),this._cancel&&this._cancel.dispose(),this._cancel=null},e}(ye),me=v.Observable=function(){function t(){if(v.config.longStackSupport&&O){var t=this._subscribe,e=N(A)(new Error).e;this.stack=e.stack.substring(e.stack.indexOf("\n")+1),this._subscribe=function(t,e){return function(n){var r=n.onError;return n.onError=function(e){(function(t,e){if(O&&e.stack&&"object"==typeof t&&null!==t&&t.stack&&-1===t.stack.indexOf(T)){for(var n=[],r=e;r;r=r.source)r.stack&&n.unshift(r.stack);n.unshift(t.stack);var i=n.join("\n"+T+"\n");t.stack=function(t){for(var e=t.split("\n"),n=[],r=0,i=e.length;r0&&this.l--,{done:!1,value:this.v})},e}(Ce),Ae=Ce.repeat=function(t,e){return new Ne(t,e)},Oe=function(t){function e(t,e,n){this.s=t,this.fn=e?G(e,n,3):null}function n(t){this.i=-1,this.s=t.s,this.l=this.s.length,this.fn=t.fn}return mt(e,t),e.prototype[W]=function(){return new n(this)},n.prototype.next=function(){return++this.ize?ze:n:n),this._i=0}Le.prototype[W]=function(){return new We(this._s)},We.prototype[W]=function(){return this},We.prototype.next=function(){return this._i0)&&(t.onNext(e),n>0&&n--),0===n)return t.onCompleted();r(n)}))},me.repeat=function(t,e,n){return Wt(n)||(n=Kt),new en(t,e,n)};var rn=function(t){function e(e,n){this._value=e,this._scheduler=n,t.call(this)}function n(t,e){var n=e[0],r=e[1];return r.onNext(n),r.onCompleted(),At}return mt(e,t),e.prototype.subscribeCore=function(t){var e=[this._value,t];return this._scheduler===Gt?n(0,e):this._scheduler.schedule(e,n)},e}(ge),on=(me.return=me.just=function(t,e){return Wt(e)||(e=Gt),new rn(t,e)},function(t){function e(e,n){this._error=e,this._scheduler=n,t.call(this)}function n(t,e){var n=e[0];return e[1].onError(n),At}return mt(e,t),e.prototype.subscribeCore=function(t){var e=[this._error,t];return this._scheduler===Gt?n(0,e):this._scheduler.schedule(e,n)},e}(ge)),sn=me.throw=function(t,e){return Wt(e)||(e=Gt),new on(t,e)},un=function(t){function e(e,n){this._resFn=e,this._obsFn=n,t.call(this)}return mt(e,t),e.prototype.subscribeCore=function(t){var e=At,n=N(this._resFn)();if(n===D)return new Ft(sn(n.e).subscribe(t),e);n&&(e=n);var r=N(this._obsFn)(n);return new Ft(r===D?sn(r.e).subscribe(t):r.subscribe(t),e)},e}(ge);me.using=function(t,e){return new un(t,e)},de.amb=function(t){var e=this;return new Cr((function(n){var r,i="L",o="R",s=new qt,u=new qt;function c(){r||(r=i,u.dispose())}function h(){r||(r=o,s.dispose())}C(t)&&(t=Fe(t));var a=fe((function(t){c(),r===i&&n.onNext(t)}),(function(t){c(),r===i&&n.onError(t)}),(function(){c(),r===i&&n.onCompleted()})),l=fe((function(t){h(),r===o&&n.onNext(t)}),(function(t){h(),r===o&&n.onError(t)}),(function(){h(),r===o&&n.onCompleted()}));return s.setDisposable(e.subscribe(a)),u.setDisposable(t.subscribe(l)),new Ft(s,u)}))},me.amb=function(){var t,e,n,r=Xe();if(Array.isArray(arguments[0]))t=arguments[0];else{var i=arguments.length;t=new Array(t);for(var o=0;o0?this.parent.handleSubscribe(this.parent.q.shift()):(this.parent.activeCount--,this.parent.done&&0===this.parent.activeCount&&this.parent.o.onCompleted())},e}(be);de.merge=function(t){return"number"!=typeof t?gn(this,t):new wn(this,t)};var gn=me.merge=function(){var t,e,n=[],r=arguments.length;if(arguments[0])if(Wt(arguments[0]))for(t=arguments[0],e=1;e0}function r(t){return t.shift()}return mt(e,t),e.prototype.next=function(t){if(this._q[this._i].push(t),this._q.every(n)){var e=this._q.map(r),i=N(this._p._cb).apply(null,e);if(i===D)return this._o.onError(i.e);this._o.onNext(i)}else this._d.filter((o=this._i,function(t,e){return e!==o})).every(y)&&this._o.onCompleted();var o},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){this._d[this._i]=!0,this._d.every(y)&&this._o.onCompleted()},e}(be);function ln(){return!1}function Vn(){return[]}function pn(){for(var t=arguments.length,e=new Array(t),n=0;n0}function r(t){return t.shift()}return mt(e,t),e.prototype.next=function(t){if(this._s.q[this._i].push(t),this._s.q.every(n)){var e=this._s.q.map(r),i=N(this._s.cb).apply(null,e);if(i===D)return this._s.o.onError(i.e);this._s.o.onNext(i)}else this._s.done.filter((o=this._i,function(t,e){return e!==o})).every(y)&&this._s.o.onCompleted();var o},e.prototype.error=function(t){this._s.o.onError(t)},e.prototype.completed=function(){this._s.done[this._i]=!0,this._s.done.every(y)&&this._s.o.onCompleted()},e}(be);function Un(t){return t.toArray()}function $n(t){return t.length>0}de.zipIterable=function(){if(0===arguments.length)throw new Error("invalid arguments");for(var t=arguments.length,e=new Array(t),n=0;nthis._c&&this._o.onNext(this._q.shift())},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){this._o.onCompleted()},e}(be);de.skipLast=function(t){if(t<0)throw new V;return new sr(this,t)},de.startWith=function(){var t,e=0;arguments.length&&Wt(arguments[0])?(t=arguments[0],e=1):t=Gt;for(var n=[],r=e,i=arguments.length;rthis._c&&this._q.shift()},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){for(;this._q.length>0;)this._o.onNext(this._q.shift());this._o.onCompleted()},e}(be);de.takeLast=function(t){if(t<0)throw new V;var e=this;return new Cr((function(n){return e.subscribe(new cr(n,t))}),e)};var hr=function(t){function e(e,n){this._o=e,this._c=n,this._q=[],t.call(this)}return mt(e,t),e.prototype.next=function(t){this._q.push(t),this._q.length>this._c&&this._q.shift()},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){this._o.onNext(this._q),this._o.onCompleted()},e}(be);de.takeLastBuffer=function(t){if(t<0)throw new V;var e=this;return new Cr((function(n){return e.subscribe(new hr(n,t))}),e)},de.windowWithCount=de.windowCount=function(t,e){var n=this;if(+t||(t=0),Math.abs(t)===1/0&&(t=0),t<=0)throw new V;if(null==e&&(e=t),+e||(e=0),Math.abs(e)===1/0&&(e=0),e<=0)throw new V;return new Cr((function(r){var i=new qt,o=new Pt(i),s=0,u=[];function c(){var t=new Dr;u.push(t),r.onNext(xt(t,o))}return c(),i.setDisposable(n.subscribe((function(n){for(var r=0,i=u.length;r=0&&o%e==0&&u.shift().onCompleted(),++s%e==0&&c()}),(function(t){for(;u.length>0;)u.shift().onError(t);r.onError(t)}),(function(){for(;u.length>0;)u.shift().onCompleted();r.onCompleted()}))),o}),n)},de.flatMapConcat=de.concatMap=function(t,e,n){return new xe(this,t,e,n).merge(1)},de.concatMapObserver=de.selectConcatObserver=function(t,e,n,r){var i=this,o=G(t,r,2),s=G(e,r,1),u=G(n,r,0);return new Cr((function(t){var e=0;return i.subscribe((function(n){var r;try{r=o(n,e++)}catch(e){return void t.onError(e)}C(r)&&(r=Fe(r)),t.onNext(r)}),(function(e){var n;try{n=s(e)}catch(e){return void t.onError(e)}C(n)&&(n=Fe(n)),t.onNext(n),t.onCompleted()}),(function(){var e;try{e=u()}catch(e){return void t.onError(e)}C(e)&&(e=Fe(e)),t.onNext(e),t.onCompleted()}))}),this).concatAll()};var ar=function(t){function e(e,n){this._o=e,this._d=n,this._f=!1,t.call(this)}return mt(e,t),e.prototype.next=function(t){this._f=!0,this._o.onNext(t)},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){!this._f&&this._o.onNext(this._d),this._o.onCompleted()},e}(be);function lr(t){this.comparer=t,this.set=[]}de.defaultIfEmpty=function(t){var e=this;return t===i&&(t=null),new Cr((function(n){return e.subscribe(new ar(n,t))}),e)},lr.prototype.push=function(t){var e=-1===function(t,e,n){for(var r=0,i=t.length;r0&&(this._o.onNext(t),this._r<=0&&this._o.onCompleted())},n.prototype.error=function(t){this._o.onError(t)},n.prototype.completed=function(){this._o.onCompleted()},e}(ge);de.take=function(t,e){if(t<0)throw new V;return 0===t?Ve(e):new yr(this,t)};var wr=function(t){function e(e,n){this.source=e,this._fn=n,t.call(this)}return mt(e,t),e.prototype.subscribeCore=function(t){return this.source.subscribe(new mr(t,this))},e}(ge),mr=function(t){function e(e,n){this._o=e,this._p=n,this._i=0,this._r=!0,t.call(this)}return mt(e,t),e.prototype.next=function(t){if(this._r&&(this._r=N(this._p._fn)(t,this._i++,this._p),this._r===D))return this._o.onError(this._r.e);this._r?this._o.onNext(t):this._o.onCompleted()},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){this._o.onCompleted()},e}(be);de.takeWhile=function(t,e){var n=G(t,e,3);return new wr(this,n)};var gr=function(t){function e(e,n,r){this.source=e,this.predicate=G(n,r,3),t.call(this)}function n(t,e,n){this.o=t,this.predicate=e,this.source=n,this.i=0,be.call(this)}return mt(e,t),e.prototype.subscribeCore=function(t){return this.source.subscribe(new n(t,this.predicate,this))},e.prototype.internalFilter=function(t,n){return new e(this.source,function(t,e){return function(n,r,i){return e.predicate(n,r,i)&&t.call(this,n,r,i)}}(t,this),n)},mt(n,be),n.prototype.next=function(t){var e=N(this.predicate)(t,this.i++,this.source);if(e===D)return this.o.onError(e.e);e&&this.o.onNext(t)},n.prototype.error=function(t){this.o.onError(t)},n.prototype.completed=function(){this.o.onCompleted()},e}(ge);de.filter=de.where=function(t,e){return this instanceof gr?this.internalFilter(t,e):new gr(this,t,e)};var xr=function(t){function e(e,n){this._o=e,this._xform=n,t.call(this)}return mt(e,t),e.prototype.next=function(t){var e=N(this._xform["@@transducer/step"]).call(this._xform,this._o,t);e===D&&this._o.onError(e.e)},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){this._xform["@@transducer/result"](this._o)},e}(be);de.transduce=function(t){var e=this;return new Cr((function(n){var r=t(function(t){return{"@@transducer/init":function(){return t},"@@transducer/step":function(t,e){return t.onNext(e)},"@@transducer/result":function(t){return t.onCompleted()}}}(n));return e.subscribe(new xr(n,r))}),e)};var Cr=v.AnonymousObservable=function(t){function e(t,e){var n,r=e[0],i=e[1],o=N(i.__subscribe).call(i,r);o!==D||r.fail(D.e)||A(D.e),r.setDisposable((n=o)&&E(n.dispose)?n:E(n)?Nt(n):At)}function n(e,n){this.source=n,this.__subscribe=e,t.call(this)}return mt(n,t),n.prototype._subscribe=function(t){var n=new Er(t),r=[n,this];return Kt.scheduleRequired()?Kt.schedule(r,e):e(0,r),n},n}(me),Er=function(t){function e(e){t.call(this),this.observer=e,this.m=new qt}mt(e,t);var n=e.prototype;return n.next=function(t){var e=N(this.observer.onNext).call(this.observer,t);e===D&&(this.dispose(),A(e.e))},n.error=function(t){var e=N(this.observer.onError).call(this.observer,t);this.dispose(),e===D&&A(e.e)},n.completed=function(){var t=N(this.observer.onCompleted).call(this.observer);this.dispose(),t===D&&A(t.e)},n.setDisposable=function(t){this.m.setDisposable(t)},n.getDisposable=function(){return this.m.getDisposable()},n.dispose=function(){t.prototype.dispose.call(this),this.m.dispose()},e}(be),Sr=function(t,e){this._s=t,this._o=e};Sr.prototype.dispose=function(){if(!this._s.isDisposed&&null!==this._o){var t=this._s.observers.indexOf(this._o);this._s.observers.splice(t,1),this._o=null}};var Dr=v.Subject=function(t){function e(){t.call(this),this.isDisposed=!1,this.isStopped=!1,this.observers=[],this.hasError=!1}return mt(e,t),gt(e.prototype,pe.prototype,{_subscribe:function(t){return jt(this),this.isStopped?this.hasError?(t.onError(this.error),At):(t.onCompleted(),At):(this.observers.push(t),new Sr(this,t))},hasObservers:function(){return jt(this),this.observers.length>0},onCompleted:function(){if(jt(this),!this.isStopped){this.isStopped=!0;for(var t=0,e=S(this.observers),n=e.length;t0},onCompleted:function(){var t;if(jt(this),!this.isStopped){this.isStopped=!0;var e=S(this.observers),n=e.length;if(this.hasValue)for(t=0;te?1:t0){var s=n.now();(i=new Date(i.getTime()+o)).getTime()<=s&&(i=new Date(s+o))}r.onNext(t),e(t+1,new Date(i))}))}))}function k(t,e,n){return t===e?new c((function(t){return n.schedulePeriodic(0,e,(function(e){return t.onNext(e),e+1}))})):a((function(){return j(new Date(n.now()+t),e,n)}))}var q=s.interval=function(t,e){return k(t,t,S(e)?e:f)};function T(t,e,n){return new c((function(r){var i,o=!1,s=new b,u=null,c=[],h=!1;return i=t.materialize().timestamp(n).subscribe((function(t){var i,a;"E"===t.value.kind?((c=[]).push(t),u=t.value.error,a=!h):(c.push({value:t.value,timestamp:t.timestamp+e}),a=!o,o=!0),a&&(null!==u?r.onError(u):(i=new d,s.setDisposable(i),i.setDisposable(n.scheduleRecursiveFuture(null,e,(function(t,e){var i,s,a,l;if(null===u){h=!0;do{a=null,c.length>0&&c[0].timestamp-n.now()<=0&&(a=c.shift().value),null!==a&&a.accept(r)}while(null!==a);l=!1,s=0,c.length>0?(l=!0,s=Math.max(0,c[0].timestamp-n.now())):o=!1,h=!1,null!==(i=u)?r.onError(i):l&&e(null,s)}})))))})),new _(i,s)}),t)}s.timer=function(t,e,n){var i;return S(n)||(n=f),null!=e&&"number"==typeof e?i=e:S(e)&&(n=e),(t instanceof Date||"number"==typeof t)&&i===r?function(t,e){return new O(t,e)}(t,n):t instanceof Date&&i!==r?j(t,e,n):k(t,i,n)},u.delay=function(){var t,e,n,r,i,o=arguments[0];if("number"==typeof o||o instanceof Date){var u=o,h=arguments[1];return S(h)||(h=f),u instanceof Date?function(t,e,n){return a((function(){return T(t,e-n.now(),n)}))}(this,u,h):T(this,u,h)}if(s.isObservable(o)||E(o))return t=this,n=arguments[1],E(e=o)?i=e:(r=e,i=n),new c((function(e){var n=new v,o=!1,s=new b;function u(){s.setDisposable(t.subscribe((function(t){var r=A(i)(t);if(r===N)return e.onError(r.e);var o=new d;n.add(o),o.setDisposable(r.subscribe((function(){e.onNext(t),n.remove(o),c()}),(function(t){e.onError(t)}),(function(){e.onNext(t),n.remove(o),c()})))}),(function(t){e.onError(t)}),(function(){o=!0,s.dispose(),c()})))}function c(){o&&0===n.length&&e.onCompleted()}return r?s.setDisposable(r.subscribe(u,(function(t){e.onError(t)}),u)):u(),new _(s,n)}),t);throw new Error("Invalid arguments")};var F=function(t){function e(e,n,r){S(r)||(r=f),this.source=e,this._dt=n,this._s=r,t.call(this)}return i(e,t),e.prototype.subscribeCore=function(t){var e=new b;return new _(this.source.subscribe(new R(t,this._dt,this._s,e)),e)},e}(h),R=function(t){function e(e,n,r,i){this._o=e,this._d=n,this._scheduler=r,this._c=i,this._v=null,this._hv=!1,this._id=0,t.call(this)}return i(e,t),e.prototype.next=function(t){this._hv=!0,this._v=t;var e=++this._id,n=new d;this._c.setDisposable(n),n.setDisposable(this._scheduler.scheduleFuture(this,this._d,(function(n,r){r._hv&&r._id===e&&r._o.onNext(t),r._hv=!1})))},e.prototype.error=function(t){this._c.dispose(),this._o.onError(t),this._hv=!1,this._id++},e.prototype.completed=function(){this._c.dispose(),this._hv&&this._o.onNext(this._v),this._o.onCompleted(),this._hv=!1,this._id++},e}(o);function P(t){return t.toArray()}function P(t){return t.toArray()}u.debounce=function(){if(E(arguments[0]))return e=arguments[0],new c((function(n){var r,i=!1,o=new b,s=0,u=t.subscribe((function(t){var u=A(e)(t);if(u===N)return n.onError(u.e);C(u)&&(u=D(u)),i=!0,r=t;var c=++s,h=new d;o.setDisposable(h),h.setDisposable(u.subscribe((function(){i&&s===c&&n.onNext(r),i=!1,h.dispose()}),(function(t){n.onError(t)}),(function(){i&&s===c&&n.onNext(r),i=!1,h.dispose()})))}),(function(t){o.dispose(),n.onError(t),i=!1,s++}),(function(){o.dispose(),i&&n.onNext(r),n.onCompleted(),i=!1,s++}));return new _(u,o)}),t=this);if("number"==typeof arguments[0])return new F(this,arguments[0],arguments[1]);throw new Error("Invalid arguments");var t,e},u.windowWithTime=u.windowTime=function(t,e,n){var r,i=this;return null==e&&(r=t),S(n)||(n=f),"number"==typeof e?r=e:S(e)&&(r=t,n=e),new c((function(e){var o,s,u=r,c=t,h=[],a=new b,l=0;return o=new v(a),s=new y(o),h.push(new w),e.onNext(m(h[0],s)),function t(){var i=new d,o=!1,p=!1;a.setDisposable(i),c===u?(o=!0,p=!0):c0&&e-this._q[0].interval>=this._d;)this._o.onNext(this._q.shift().value)},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){for(var t=this._s.now();this._q.length>0&&t-this._q[0].interval>=this._d;)this._o.onNext(this._q.shift().value);this._o.onCompleted()},e}(o);u.skipLastWithTime=function(t,e){return S(e)||(e=f),new J(this,t,e)};var Q=function(t){function e(e,n,r){this.source=e,this._d=n,this._s=r,t.call(this)}return i(e,t),e.prototype.subscribeCore=function(t){return this.source.subscribe(new X(t,this._d,this._s))},e}(h),X=function(t){function e(e,n,r){this._o=e,this._d=n,this._s=r,this._q=[],t.call(this)}return i(e,t),e.prototype.next=function(t){var e=this._s.now();for(this._q.push({interval:e,value:t});this._q.length>0&&e-this._q[0].interval>=this._d;)this._q.shift()},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){for(var t=this._s.now();this._q.length>0;){var e=this._q.shift();t-e.interval<=this._d&&this._o.onNext(e.value)}this._o.onCompleted()},e}(o);u.takeLastWithTime=function(t,e){return S(e)||(e=f),new Q(this,t,e)},u.takeLastBufferWithTime=function(t,e){var n=this;return S(e)||(e=f),new c((function(r){var i=[];return n.subscribe((function(n){var r=e.now();for(i.push({interval:r,value:n});i.length>0&&r-i[0].interval>=t;)i.shift()}),(function(t){r.onError(t)}),(function(){for(var n=e.now(),o=[];i.length>0;){var s=i.shift();n-s.interval<=t&&o.push(s.value)}r.onNext(o),r.onCompleted()}))}),n)};var Y=function(t){function e(e,n,r){this.source=e,this._d=n,this._s=r,t.call(this)}function n(t,e){e.onCompleted()}return i(e,t),e.prototype.subscribeCore=function(t){return new _(this._s.scheduleFuture(t,this._d,n),this.source.subscribe(t))},e}(h);u.takeWithTime=function(t,e){return S(e)||(e=f),new Y(this,t,e)};var Z=function(t){function e(e,n,r){this.source=e,this._d=n,this._s=r,this._open=!1,t.call(this)}function n(t,e){e._open=!0}return i(e,t),e.prototype.subscribeCore=function(t){return new _(this._s.scheduleFuture(this,this._d,n),this.source.subscribe(new tt(t,this)))},e}(h),tt=function(t){function e(e,n){this._o=e,this._p=n,t.call(this)}return i(e,t),e.prototype.next=function(t){this._p._open&&this._o.onNext(t)},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){this._o.onCompleted()},e}(o);u.skipWithTime=function(t,e){return S(e)||(e=f),new Z(this,t,e)};var et=function(t){function e(e,n,r){this.source=e,this._st=n,this._s=r,t.call(this)}function n(t,e){e._open=!0}return i(e,t),e.prototype.subscribeCore=function(t){return this._open=!1,new _(this._s.scheduleFuture(this,this._st,n),this.source.subscribe(new nt(t,this)))},e}(h),nt=function(t){function e(e,n){this._o=e,this._p=n,t.call(this)}return i(e,t),e.prototype.next=function(t){this._p._open&&this._o.onNext(t)},e.prototype.error=function(t){this._o.onError(t)},e.prototype.completed=function(){this._o.onCompleted()},e}(o);return u.skipUntilWithTime=function(t,e){return S(e)||(e=f),new et(this,t,e)},u.takeUntilWithTime=function(t,e){S(e)||(e=f);var n=this;return new c((function(r){return new _(e.scheduleFuture(r,t,(function(t,e){e.onCompleted()})),n.subscribe(r))}),n)},u.throttle=function(t,e){S(e)||(e=f);var n=+t||0;if(n<=0)throw new RangeError("windowDuration cannot be less or equal zero.");var r=this;return new c((function(t){var i=0;return r.subscribe((function(r){var o=e.now();(0===i||o-i>=n)&&(i=o,t.onNext(r))}),(function(e){t.onError(e)}),(function(){t.onCompleted()}))}),r)},n}))},887:function(t,e,n){var r,i;t=n.nmd(t),function(o){var s={function:!0,object:!0};function u(t){return t&&t.Object===Object?t:null}var c=s[typeof e]&&e&&!e.nodeType?e:null,h=s.object&&t&&!t.nodeType?t:null,a=u(c&&h&&"object"==typeof global&&global),l=u(s[typeof self]&&self),p=u(s[typeof window]&&window),f=(h&&h.exports,u(s[typeof this]&&this)),d=a||p!==(f&&f.window)&&p||l||f||Function("return this")();r=[n(374)],i=function(t,e){return o(d,e,t)}.apply(e,r),void 0===i||(t.exports=i)}.call(this,(function(t,e,n,r){var i=n.Scheduler,o=n.internals.ScheduledItem,s=n.internals.SchedulePeriodicRecursive,u=n.internals.PriorityQueue,c=n.internals.inherits,h=n.helpers.defaultSubComparer,a=n.helpers.notImplemented;return n.VirtualTimeScheduler=function(t){function e(e,n){this.clock=e,this.comparer=n,this.isEnabled=!1,this.queue=new u(1024),t.call(this)}c(e,t);var n=e.prototype;return n.now=function(){return this.toAbsoluteTime(this.clock)},n.schedule=function(t,e){return this.scheduleAbsolute(t,this.clock,e)},n.scheduleFuture=function(t,e,n){var r=e instanceof Date?this.toRelativeTime(e-this.now()):this.toRelativeTime(e);return this.scheduleRelative(t,r,n)},n.add=a,n.toAbsoluteTime=a,n.toRelativeTime=a,n.schedulePeriodic=function(t,e,n){return new s(this,t,e,n).start()},n.scheduleRelative=function(t,e,n){var r=this.add(this.clock,e);return this.scheduleAbsolute(t,r,n)},n.start=function(){if(!this.isEnabled){this.isEnabled=!0;do{var t=this.getNext();null!==t?(this.comparer(t.dueTime,this.clock)>0&&(this.clock=t.dueTime),t.invoke()):this.isEnabled=!1}while(this.isEnabled)}},n.stop=function(){this.isEnabled=!1},n.advanceTo=function(t){var e=this.comparer(this.clock,t);if(this.comparer(this.clock,t)>0)throw new ArgumentOutOfRangeError;if(0!==e&&!this.isEnabled){this.isEnabled=!0;do{var n=this.getNext();null!==n&&this.comparer(n.dueTime,t)<=0?(this.comparer(n.dueTime,this.clock)>0&&(this.clock=n.dueTime),n.invoke()):this.isEnabled=!1}while(this.isEnabled);this.clock=t}},n.advanceBy=function(t){var e=this.add(this.clock,t),n=this.comparer(this.clock,e);if(n>0)throw new ArgumentOutOfRangeError;0!==n&&this.advanceTo(e)},n.sleep=function(t){var e=this.add(this.clock,t);if(this.comparer(this.clock,e)>=0)throw new ArgumentOutOfRangeError;this.clock=e},n.getNext=function(){for(;this.queue.length>0;){var t=this.queue.peek();if(!t.isCancelled())return t;this.queue.dequeue()}return null},n.scheduleAbsolute=function(t,e,n){var r=this,i=new o(this,t,(function(t,e){return r.queue.remove(i),n(t,e)}),e,this.comparer);return this.queue.enqueue(i),i.disposable},e}(i),n.HistoricalScheduler=function(t){function e(e,n){var r=null==e?0:e,i=n||h;t.call(this,r,i)}c(e,t);var n=e.prototype;return n.add=function(t,e){return t+e},n.toAbsoluteTime=function(t){return new Date(t).getTime()},n.toRelativeTime=function(t){return t},e}(n.VirtualTimeScheduler),n}))},680:(t,e,n)=>{var r=n(374);n(230),n(139),n(910),n(506),n(847),n(576),n(909),n(402),n(887),n(534),n(215),t.exports=r},182:function(t,e,n){"use strict";var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function s(t){try{c(r.next(t))}catch(t){o(t)}}function u(t){try{c(r.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,u)}c((r=r.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.DefaultCodeSnippet=void 0;const i=n(496),o=n(548);class s{constructor(){}static get instance(){return this._instance||(this._instance=new s),this._instance}createCodeSnippet(t,e,n){return r(this,void 0,void 0,(function*(){return this.extractSnippet(t,e,n)}))}extractSnippet(t,e,n){return r(this,void 0,void 0,(function*(){let r=i.window.activeTextEditor,o=null==r?void 0:r.document.getText();return this.previewSnippet(t,e,o||"",n)}))}errorSnippet(t,e){return r(this,void 0,void 0,(function*(){return o.Misc.getFormattedHtml("",t,e)}))}previewSnippet(t,e,n,i){return r(this,void 0,void 0,(function*(){return o.Misc.getFormattedHtml("",`${n}`,i)}))}}e.DefaultCodeSnippet=s},85:function(t,e,n){"use strict";var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function s(t){try{c(r.next(t))}catch(t){o(t)}}function u(t){try{c(r.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,u)}c((r=r.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.MermaidCodeSnippet=void 0;const i=n(496),o=n(147),s=n(17),u=n(548);var c;!function(t){t.dark="dark",t.forest="forest",t.neutral="neutral"}(c||(c={}));const h="#fafaf6";class a{constructor(){this.fixedStyle=c.forest,this.fixedBackgroundColor=h}}class l{constructor(){this._configMermaid=new a,this._configMermaid.fixedStyle=c.forest,this._configMermaid.fixedBackgroundColor=h;var t=i.workspace.getConfiguration("previewSeqDiag");if(t&&t.mermaid){switch(t.mermaid.fixedStyle){case c.dark:case c.forest:case c.neutral:this._configMermaid.fixedStyle=t.mscgen.fixedNamedStyle}null!==t.mermaid.fixedBackgroundColor&&(this._configMermaid.fixedBackgroundColor=t.mermaid.fixedBackgroundColor)}}static get instance(){return this._instance||(this._instance=new l),this._instance}createCodeSnippet(t,e,n){return r(this,void 0,void 0,(function*(){return this.extractSnippet(t,e,n)}))}extractSnippet(t,e,n){return r(this,void 0,void 0,(function*(){let r=i.window.activeTextEditor,u=(null==r?void 0:r.document.getText())||"";try{u=u.replace(/%%[ \t]+import[ \t]?:[ \t]?(.+)/g,((t,e)=>{if(!r)return"";let n=r.document.uri.fsPath.toString().split(s.sep);n.pop();const i=n.join(s.sep)+s.sep+e.trim();return o.readFileSync(i,"utf8").replace(/sequenceDiagram/g,"")}))}catch(t){console.error(t)}return this.previewSnippet(t,e,u,n)}))}errorSnippet(t,e){return r(this,void 0,void 0,(function*(){return u.Misc.getFormattedHtml("",t,e)}))}previewSnippet(t,e,n,o){return r(this,void 0,void 0,(function*(){var t=i.Uri.file(s.join(e,"dist","mermaid","mermaid.min.js"));const r=o.asWebviewUri(t);return u.Misc.getFormattedHtml(`\n `,\n `
\n
${payLoad}
\n \n
`,\n webview);\n }\n}\n","'use strict';\n\nimport * as vscode from 'vscode';\nimport * as Path from 'path';\n\nexport class Misc\n{\n public static previewUri = vscode.Uri.parse('previewSeqDiag://authority/previewSeqDiag');\n\n public static getFormattedHtml(head: string, body: string, webview: vscode.Webview): string\n {\n var fileName = vscode.window.activeTextEditor?.document.fileName || \"PreviewSeqDiagImage\";\n fileName = fileName.substring(fileName.lastIndexOf(\"\\\\\")+1).substring(fileName.lastIndexOf(\"/\")+1);\n\n return ``\n + ``\n + head\n + ``\n + ``\n + `
\n PNG\n PNG*\n JPEG\n SVG\n Clipboard\n
`\n + ``\n + body\n + ``;\n }\n}\n","'use strict';\n\nimport * as vscode from 'vscode';\nimport { workspace, window, commands, ExtensionContext } from 'vscode';\nimport { CodeSnippetInterface } from './codeSnippetInterface';\nimport { Misc } from './misc';\nimport * as Path from 'path';\n\n\ntype StyleName = \"classic\" | \"cygne\" | \"fountainpen\" | \"lazy\" | \"pegasse\";\nnamespace StyleName{\n export const classic = \"classic\";\n export const cygne = \"cygne\";\n export const fountainpen = \"fountainpen\";\n export const lazy = \"lazy\";\n export const pegasse = \"pegasse\";\n}\n\ntype Alignment = \"fixed\" | \"stretch\";\nnamespace Alignment{\n export const fixed = \"fixed\";\n export const stretch = \"stretch\";\n}\n\nclass ConfigMscgen\n{\n public fixedNamedStyle: StyleName = StyleName.classic;\n public horizontalAlignment: Alignment = Alignment.stretch;\n}\n\n\nexport class MscgenCodeSnippet implements CodeSnippetInterface\n{\n private static _instance:MscgenCodeSnippet;\n\n private _configMscgen: ConfigMscgen;\n\n private constructor()\n {\n this._configMscgen = new ConfigMscgen();\n\n // defaults\n this._configMscgen.fixedNamedStyle = StyleName.cygne;\n this._configMscgen.horizontalAlignment = Alignment.stretch;\n\n var config = vscode.workspace.getConfiguration('previewSeqDiag');\n if(!!config && !!config.mscgen)\n {\n // fixedNamedStyle\n switch(config.mscgen.fixedNamedStyle)\n {\n case StyleName.classic:\n case StyleName.cygne:\n case StyleName.fountainpen:\n case StyleName.lazy:\n case StyleName.pegasse:\n this._configMscgen.fixedNamedStyle = config.mscgen.fixedNamedStyle;\n break;\n\n default:\n break;\n }\n\n // horizontalAlignment\n switch(config.mscgen.horizontalAlignment)\n {\n case Alignment.fixed:\n this._configMscgen.horizontalAlignment = Alignment.fixed;\n break;\n\n default:\n break;\n }\n }\n }\n\n public static get instance():MscgenCodeSnippet\n {\n if (!this._instance){\n this._instance = new MscgenCodeSnippet();\n }\n \n return this._instance;\n }\n \n public async createCodeSnippet(languageId: string, extentiponPath:string, webview: vscode.Webview): Promise\n {\n return this.extractSnippet(languageId, extentiponPath, webview);\n }\n\n private async extractSnippet(languageId: string, extentiponPath:string, webview: vscode.Webview): Promise\n {\n let editor = vscode.window.activeTextEditor;\n let text = editor?.document.getText() || \"\";\n return this.previewSnippet(languageId,extentiponPath, text, webview);\n }\n\n private async errorSnippet(error: string, webview: vscode.Webview): Promise\n {\n return Misc.getFormattedHtml(\"\",error, webview);\n }\n\n private async previewSnippet(languageId: string, extentiponPath:string, payLoad: string, webview: vscode.Webview): Promise\n {\n var jsPath = vscode.Uri.file(Path.join(extentiponPath, 'dist','mscgenjs-inpage', 'mscgen-inpage.js'));\n const jsSrc = webview.asWebviewUri(jsPath);\n return Misc.getFormattedHtml(\n `\n `\n + ((this._configMscgen.horizontalAlignment === Alignment.stretch) ? `` : ``)\n ,\n `
\n ${payLoad}\n \n \n
\n `,\n webview);\n }\n}\n","'use strict';\n\nimport * as vscode from 'vscode';\nimport { Misc } from './misc';\nimport { CodeSnippetInterface } from './codeSnippetInterface';\nimport { DefaultCodeSnippet } from './defaultCodeSnippet';\nimport { MscgenCodeSnippet } from './mscgenCodeSnippet';\nimport { MermaidCodeSnippet } from './mermaidCodeSnippet';\n\nconst suppotablelanguageId: string[] = [\"mermaid\",\"mmd\",\"mscgen\",\"msgenny\",\"xu\"];\n\nexport class PreviewSeqDiagDocumentContentProvider implements vscode.TextDocumentContentProvider\n{\n latestSnippetResultBuffer: string = \"\";\n webViewPanel: vscode.WebviewPanel | null = null;\n extentionPath: string = \"\";\n \n private _currentSnippet : CodeSnippetInterface = DefaultCodeSnippet.instance;\n\n // private _onDidChange: vscode.EventEmitter = new vscode.EventEmitter();\n\t// readonly onDidChange: vscode.Event = this._onDidChange.event;\n\n public setCurrentWebViewPanel(panel: vscode.WebviewPanel) {\n this.webViewPanel = panel;\n }\n\n public getExtensionPath(path: string) {\n this.extentionPath = path;\n }\n\n public update(uri: vscode.Uri) {\n if(vscode.window.activeTextEditor) {\n if(suppotablelanguageId.indexOf(vscode.window.activeTextEditor.document.languageId) > -1) {\n // this._onDidChange.fire(uri);\n this.refresh();\n }\n }\n }\n\n public provideTextDocumentContent(uri: vscode.Uri, token: vscode.CancellationToken): vscode.ProviderResult {\n return this.latestSnippetResultBuffer;\n }\n\n private refresh() {\n let editor = vscode.window.activeTextEditor;\n\n if(!editor){\n return this.latestSnippetResultBuffer;\n }\n\n switch (editor.document.languageId) {\n case \"mermaid\":\n case \"mmd\":\n this._currentSnippet = MermaidCodeSnippet.instance;\n break;\n\n case \"mscgen\":\n case \"msgenny\":\n case \"xu\":\n this._currentSnippet = MscgenCodeSnippet.instance;\n break;\n\n default:\n this._currentSnippet = DefaultCodeSnippet.instance;\n break;\n }\n\n if(this.webViewPanel && this.webViewPanel.webview){\n this._currentSnippet\n .createCodeSnippet(editor.document.languageId, this.extentionPath, this.webViewPanel.webview)\n .then(result=>{\n this.latestSnippetResultBuffer = result;\n if(this.webViewPanel && this.webViewPanel.webview){\n this.webViewPanel.webview.html = result;\n }\n })\n .catch();\n }\n }\n}\n","module.exports = require(\"vscode\");","module.exports = require(\"events\");","module.exports = require(\"fs\");","module.exports = require(\"path\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","'use strict';\n\nimport * as vscode from 'vscode';\nimport { workspace, window, commands, ExtensionContext } from 'vscode';\nimport * as path from 'path';\nimport * as Rx from 'rx';\nimport { EventEmitter } from 'events';\nimport { Misc } from './misc';\nimport { PreviewSeqDiagDocumentContentProvider } from './previewSeqDiagDocumentContentProvider';\n\nexport function activate(context: vscode.ExtensionContext) {\n\n\tconst provider = new PreviewSeqDiagDocumentContentProvider();\n\n\tlet showPreview = vscode.commands.registerCommand('previewSeqDiag.showPreview', () => {\n\t\tconst panel = vscode.window.createWebviewPanel(\n\t\t\t'previewSeqDiag',\n\t\t\t'Preview Sequence Diagrams',\n\t\t\tvscode.ViewColumn.Two,\n\t\t\t{\n\t\t\t\tenableScripts: true,\n\t\t\t\tlocalResourceRoots: [\n\t\t\t\t\tvscode.Uri.file(path.join(context.extensionPath, 'dist/mermaid')),\n\t\t\t\t\tvscode.Uri.file(path.join(context.extensionPath, 'dist/mscgenjs-inpage')),\n\t\t\t\t]\n\t\t\t}\n\t\t);\n\t\tprovider.getExtensionPath(context.extensionPath);\n\t\tprovider.setCurrentWebViewPanel(panel);\n\t\tprovider.update(Misc.previewUri);\n\t});\n\n\tcontext.subscriptions.push(showPreview);\n\n\tconst emitter = new EventEmitter();\n\tconst _ = Rx.Observable\n\t\t.fromEvent(emitter, 'update')\n\t\t.debounce(500 /* ms */)\n\t\t.subscribe(\n\t\t\t(_) => {\n\t\t\t\tprovider.update(Misc.previewUri);\n\t\t\t}\n\t\t);\n\t\n\twindow.onDidChangeActiveTextEditor(\n\t\t(e) => {\n\t\t\tif (!!e && !!e.document && (e === window.activeTextEditor)) {\n\t\t\t\tprovider.update(Misc.previewUri);\n\t\t\t}\n\t\t}\n\t);\n\n\tworkspace.onDidChangeTextDocument(\n\t\t(e) => {\n\t\t\tif (e.document === vscode.window.activeTextEditor?.document) {\n\t\t\t\temitter.emit('update', e);\n\t\t\t}\n\t\t}\n\t);\n\n\tcontext.subscriptions.push(\n\t\tvscode.workspace.registerTextDocumentContentProvider(Misc.previewUri.scheme, provider)\n\t);\n}\n\n// this method is called when your extension is deactivated\nexport function deactivate() {}\n"],"names":["factory","objectTypes","checkGlobal","value","Object","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","freeSelf","self","freeWindow","window","thisGlobal","this","root","Function","Rx","call","exp","undefined","Observable","observableProto","prototype","BinaryDisposable","AnonymousObservable","AbstractObserver","internals","disposableEmpty","Disposable","empty","helpers","defaultComparer","identity","defaultSubComparer","isFunction","isPromise","isArrayLike","isIterable","inherits","observableFromPromise","fromPromise","observableFrom","from","bindCallback","EmptyError","ObservableBase","ArgumentOutOfRangeError","errorObj","e","tryCatch","fn","TypeError","tryCatchTarget","apply","arguments","ExtremaByObservable","__super__","source","k","c","_k","_c","subscribeCore","o","subscribe","ExtremaByObserver","_o","_v","_hv","_l","next","x","key","onError","comparison","push","error","completed","onNext","onCompleted","firstOnly","length","ReduceObservable","accumulator","hasSeed","seed","observer","ReduceObserver","parent","_p","_fn","_hs","_s","_ha","_a","_i","reduce","SomeObservable","SomeObserver","s","result","Boolean","some","predicate","thisArg","IsEmptyObservable","IsEmptyObserver","isEmpty","EveryObservable","EveryObserver","every","IncludesObservable","elem","idx","n","Math","abs","Infinity","_elem","_n","IncludesObserver","a","b","isNaN","includes","searchElement","fromIndex","CountObservable","CountObserver","count","IndexOfObservable","_e","IndexOfObserver","indexOf","SumObservable","SumObserver","sum","keySelector","minBy","comparer","y","min","map","maxBy","max","AverageObservable","AverageObserver","_t","r","average","sequenceEqual","second","first","donel","doner","ql","qr","subscription1","v","shift","equal","subscription2","ElementAtObservable","i","d","_d","ElementAtObserver","elementAt","index","defaultValue","SingleObserver","obj","_obj","shouldYield","res","Error","single","FirstObservable","FirstObserver","LastObservable","LastObserver","last","FindValueObserver","callback","yieldIndex","_cb","_y","shouldRun","findValue","find","findIndex","ToSetObservable","ToSetObserver","Set","add","toSet","ToMapObservable","ToMapObserver","_m","Map","set","toMap","elementSelector","SliceObservable","_b","SliceObserver","slice","begin","end","start","LastIndexOfObservable","LastIndexOfObserver","lastIndexOf","observableThrow","throwError","AsyncSubject","CompositeDisposable","create","defaultScheduler","Scheduler","immediate","isScheduler","wrap","createObservable","spawn","__generatorFunction__","gen","args","len","g","processGenerator","ret","err","done","obs","toObservable","hasValue","isObservable","val","ctor","constructor","name","displayName","isGenerator","isGeneratorFunction","thunkToObservable","arrayToObservable","isObject","objectToObservable","concatMap","just","toArray","results","keys","observables","observable","defer","forkJoin","func","context","scheduler","observableToAsync","toAsync","subject","schedule","asObservable","ListenDisposable","addEventListener","isDisposed","createEventListener","el","eventName","handler","disposables","elemToString","toString","StaticNodeList","NodeList","isNodeList","item","fromCallback","ctx","selector","Array","createCbHandler","createCbObservable","fromNodeCallback","createNodeHandler","createNodeObservable","dispose","removeEventListener","config","useNativeEvents","EventObservable","_el","createHandler","fromEvent","element","addListener","fromEventPattern","h","removeListener","on","off","publish","refCount","EventPatternObservable","del","_add","_del","EventPatternDisposable","_ret","returnValue","addHandler","removeHandler","startAsync","functionAsync","promise","NAryDisposable","Notification","Subject","Observer","disposableCreate","addProperties","currentThreadScheduler","currentThread","checkDisposed","Pauser","pause","resume","PausableObservable","pauser","controller","paused","merge","_subscribe","conn","subscription","connection","pausable","startWith","distinctUntilChanged","connect","PausableBufferedObservable","previousShouldFire","resultSelector","q","drainQueue","data","shouldFire","hasValueAll","isDone","values","pausableBuffered","ControlledObservable","enableQueue","ControlledSubject","multicast","request","numberOfItems","queue","requestedCount","requestedDisposable","hasFailed","hasCompleted","createOnCompleted","disposeCurrentRequest","createOnError","createOnNext","_processRequest","kind","accept","number","remaining","controlled","StopAndWaitObservable","scheduleMethod","StopAndWaitObserver","__sub__","cancel","scheduleDisposable","innerScheduleMethod","stopAndWait","WindowedObservable","windowSize","WindowedObserver","received","windowed","pipe","dest","onDrain","write","emit","_isStdio","ScheduledObserver","cloneArray","arr","MulticastObservable","fn1","fn2","_fn1","_fn2","connectable","subjectOrSubjectSelector","ConnectableObservable","share","publishLast","publishValue","initialValueOrSelector","initialValue","BehaviorSubject","shareValue","replay","bufferSize","ReplaySubject","shareReplay","InnerSubscription","observers","splice","isStopped","hasError","getValue","thrower","hasObservers","os","maxSafeInteger","pow","so","_trim","now","ensureActive","interval","RefCountObservable","_count","_connectableSubscription","RefCountDisposable","p","_connection","_source","_subject","ConnectDisposable","singleInstance","hasObservable","SingleAssignmentDisposable","SerialDisposable","observableEmpty","observableNever","never","addRef","noop","size","_values","_keys","get","forEach","cb","observableWindowWithOpenings","windowOpenings","windowClosingSelector","groupJoin","_","win","observableWindowWithBoundaries","windowBoundaries","w","observableWindowWithClosingSelector","m","createWindowClose","windowClose","m1","setDisposable","take","join","right","leftDurationSelector","rightDurationSelector","left","group","leftDone","rightDone","leftId","rightId","leftMap","rightMap","handleError","id","md","duration","remove","buffer","flatMap","windowOpeningsOrClosingSelector","PairwiseObservable","PairwiseObserver","_hp","pairwise","partition","filter","groupBy","groupByUntil","durationSelector","groupDisposable","refCountDisposable","fireNewMapEntry","writer","GroupedObservable","durationGroup","UnderlyingObservable","u","_u","getDisposable","underlyingObservable","mergedDisposable","FlatMapObservable","observableConcat","concat","observableDefer","Enumerable","enumerableOf","of","$iterator$","Symbol","iterator","doneEnumerator","WhileEnumerable","letBind","condition","thenSource","elseSourceOrScheduler","forIn","sources","observableWhileDo","whileDo","enumerableWhile","doWhile","defaultSourceOrScheduler","ExpandObservable","_scheduler","scheduleRecursive","recurse","work","state","ExpandObserver","isAcquired","_ensureActive","isOwner","activeCount","_m1","argumentsToArray","expand","ForkJoinObservable","_sources","finished","hasResults","subscriptions","ForkJoinObserver","subs","_subs","pop","isArray","unshift","manySelect","extend","chain","curr","ChainObservable","tap","observeOn","head","tail","mergeAll","SwitchFirstObservable","hasCurrent","SwitchFirstObserver","InnerObserver","inner","switchFirst","flatMapFirst","exhaustMap","flatMapWithMaxConcurrent","flatMapMaxConcurrent","limit","observerCreate","Pattern","patterns","Plan","expression","planCreateObserver","externalSubscriptions","entry","JoinObserver","ActivePlan","joinObserverArray","joinObservers","joinObserver","and","other","thenDo","activate","deactivate","errHandler","activePlan","handleOnNext","j","jlen","removeActivePlan","addActivePlan","dequeue","match","hasValues","firstValues","isCompleted","activePlans","JoinObserverPrototype","notification","materialize","when","plans","outObserver","isFn","moduleExports","Promise","defaultNow","Date","isEqual","defaultError","defaultKeySerializer","then","longStackSupport","hasStacks","stacks","stack","rFileName","rStartingLine","captureLine","STACK_JUMP_SEPARATOR","isInternalFrame","stackLine","fileNameAndLineNumber","getFileNameAndLineNumber","fileName","lineNumber","rEndingLine","lines","split","attempt1","exec","Number","attempt2","attempt3","message","ObjectDisposedError","NotSupportedError","NotImplementedError","notImplemented","notSupported","argCount","arg","collection","argsTag","arrayTag","boolTag","dateTag","errorTag","numberTag","objectTag","regexpTag","stringTag","typedArrayTags","objectProto","hasOwnProperty","objToString","MAX_SAFE_INTEGER","hasDontEnumBug","propertyIsEnumerable","dontEnums","dontEnumsLength","prop","equalObjects","object","equalFunc","isLoose","stackA","stackB","objProps","objLength","skipCtor","objValue","othValue","objCtor","othCtor","type","isObjectLike","isLength","isHostObject","arraySome","array","equalArrays","arrLength","othLength","arrValue","baseIsEqualDeep","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","tag","equalByTag","objIsWrapped","othIsWrapped","baseIsEqual","child","__","ln","xs","arrayInitialize","CompositeDisposablePrototype","shouldDispose","currentDisposables","action","isDisposable","disposable","disposableFixup","_fixup","current","old","_first","_second","old1","old2","_disposables","InnerDisposable","isInnerDisposed","underlyingDisposable","isPrimaryDisposed","ScheduledDisposable","scheduleItem","ScheduledItem","dueTime","invoke","invokeCore","compareTo","isCancelled","schedulerProto","scheduleFuture","dt","normalize","_scheduleFuture","timeSpan","normalizeTime","invokeRecImmediate","pair","innerAction","state2","isAdded","state3","invokeRecDate","dueTime1","scheduleRecursiveFuture","schedulePeriodic","period","setInterval","clearInterval","catchError","CatchScheduler","SchedulePeriodicRecursive","_state","_period","_action","_cancel","command","createTick","clearMethod","ImmediateScheduler","immediateScheduler","CurrentThreadScheduler","runTrampoline","si","enqueue","PriorityQueue","scheduleRequired","localTimer","localSetTimeout","localClearTimeout","setTimeout","clearTimeout","WScript","time","Sleep","nextHandle","tasksByHandle","currentlyRunning","runTask","handle","task","reNative","RegExp","String","replace","setImmediate","test","process","nextTick","postMessage","importScripts","isAsync","oldHandler","onmessage","postMessageSupported","MSG_PREFIX","random","event","substring","MessageChannel","channel","port1","port2","document","createElement","scriptElement","onreadystatechange","parentNode","removeChild","documentElement","appendChild","DefaultScheduler","scheduleAction","ClearDisposable","_id","LocalClearDisposable","scheduleLongRunning","async","_handler","_recursiveOriginal","_recursiveWrapper","_wrap","_clone","_getRecursiveWrapper","wrapper","failed","state1","IndexedItem","capacity","items","priorityProto","isHigherPriority","percolate","temp","heapify","peek","removeAt","_accept","_acceptObserver","observerOrOnNext","OnNextNotification","OnErrorNotification","OnCompletedNotification","notificationCreateOnNext","notificationCreateOnError","notificationCreateOnCompleted","toNotifier","asObserver","AnonymousObserver","checked","CheckedObserver","fromNotifier","notifyOn","ObserveOnObserver","makeSafe","AnonymousSafeObserver","_onNext","_onError","_onCompleted","fail","_observer","CheckedObserverPrototype","checkAccess","hasFaulted","enqueueNext","enqueueError","oldSubscribe","oldOnError","concatedStacks","stackString","desiredLines","line","filterStackString","makeStackTraceLong","makeSubscribe","oOrOnNext","subscribeOnNext","subscribeOnError","subscribeOnCompleted","subscriber","ado","sub","AutoDetachObserver","_wrapResult","i2","IsDisposedDisposable","ConcatEnumerableObservable","currentItem","currentValue","_recurse","cancelable","CatchErrorObservable","lastError","RepeatEnumerable","RepeatEnumerator","l","enumerableRepeat","repeat","repeatCount","OfEnumerable","OfEnumerator","ObserveOnObservable","SubscribeOnObservable","subscribeOn","FromPromiseObservable","scheduleNext","scheduleError","sad","toPromise","promiseCtor","resolve","reject","ToArrayObservable","Defer","_f","EmptyObservable","observableFactory","EmptySink","run","EMPTY_OBSERVABLE","FromObservable","iterable","_iterable","it","StringIterable","ArrayIterable","getIterable","createScheduleMethod","StringIterator","ArrayIterator","isFinite","sign","floor","charAt","mapFn","mapper","FromArrayObservable","_args","observableFromArray","fromArray","GenerateObservable","cndFn","itrFn","resFn","_initialState","_cndFn","_itrFn","_resFn","newState","hasResult","generate","initialState","iterate","NEVER_OBSERVABLE","NeverObservable","observableOf","ofWithScheduler","PairsObservable","pairs","RangeObservable","rangeCount","loopRecursive","range","RepeatObservable","RepeatSink","JustObservable","_value","ThrowObservable","_error","UsingObservable","obsFn","_obsFn","resource","using","resourceFactory","amb","rightSource","leftSource","choice","leftChoice","rightChoice","leftSubscription","rightSubscription","choiceL","choiceR","leftSubscribe","rightSubscribe","acc","CatchObservable","d1","CatchObserver","handlerOrSecond","observableCatch","falseFactory","combineLatest","CombineLatestObservable","params","_params","CombineLatestObserver","ConcatObserver","ConcatObservable","concatAll","MergeObservable","maxConcurrent","MergeObserver","handleSubscribe","innerSource","maxConcurrentOrOther","observableMerge","CompositeError","errors","innerErrors","MergeDelayErrorObservable","MergeDelayErrorObserver","_group","setCompletion","_inner","mergeDelayError","MergeAllObservable","MergeAllObserver","onErrorResumeNext","OnErrorResumeNextObservable","pos","OnErrorResumeNextObserver","cancellable","SkipUntilObservable","_open","SkipUntilSourceObserver","SkipUntilOtherObserver","_r","skipUntil","SwitchObservable","SwitchObserver","stopped","latest","hasLatest","switchLatest","TakeUntilObservable","TakeUntilObserver","takeUntil","WithLatestFromObservable","_ss","WithLatestFromOtherObserver","outerSad","WithLatestFromSourceObserver","allValues","emptyArrayFactory","withLatestFrom","ZipObservable","ZipObserver","_q","notEmpty","shiftEach","queuedValues","zip","ZipIterableObservable","ZipIterableObserver","zipIterable","bufferWithCount","bufferCount","skip","windowWithCount","DematerializeObservable","DematerializeObserver","dematerialize","DistinctUntilChangedObservable","keyFn","DistinctUntilChangedObserver","hasCurrentKey","currentKey","comparerEquals","TapObservable","_oN","_oE","_oC","t","doAction","doOnNext","tapOnNext","doOnError","tapOnError","doOnCompleted","tapOnCompleted","FinallyObservable","FinallyDisposable","IgnoreElementsObservable","ignoreElements","MaterializeObservable","MaterializeObserver","retry","retryCount","RetryWhenObservable","createDisposable","notifier","_notifier","exceptions","notificationDisposable","outer","exn","ex","retryWhen","RepeatWhenObservable","completions","repeatWhen","ScanObservable","ScanObserver","scan","SkipLastObservable","SkipLastObserver","skipLast","TakeLastObserver","takeLast","TakeLastBufferObserver","takeLastBuffer","windowCount","createWindow","flatMapConcat","concatMapObserver","selectConcatObserver","onNextFunc","onErrorFunc","onCompletedFunc","DefaultIfEmptyObserver","HashSet","defaultIfEmpty","retValue","arrayIndexOfComparer","DistinctObservable","cmpFn","_keyFn","_cmpFn","DistinctObserver","_h","distinct","MapObservable","internalMap","innerMap","select","selectorFn","pluck","currentProp","plucker","flatMapObserver","selectManyObserver","selectMany","mergeMap","flatMapLatest","switchMap","SkipObservable","SkipObserver","SkipWhileObservable","SkipWhileObserver","skipWhile","TakeObservable","TakeObserver","TakeWhileObservable","TakeWhileObserver","takeWhile","FilterObservable","internalFilter","innerPredicate","where","TransduceObserver","xform","_xform","transduce","transducer","input","transformForObserver","__subscribe","AutoDetachObserverPrototype","AnonymousSubject","jortSort","jortSortUntil","bind","sorted","sort","VirtualTimeScheduler","OnNextPredicate","OnErrorPredicate","equals","ReactiveTest","created","subscribed","disposed","ticks","Recorded","Subscription","unsubscribe","MAX_VALUE","MockDisposable","disposes","clock","MockObserver","messages","MockObserverPrototype","MockPromise","innerNotification","scheduleAbsolute","jLen","onResolved","onRejected","newPromise","HotObservable","ColdObservable","scheduleRelative","TestScheduler","baseComparer","absolute","relative","toAbsoluteTime","getTime","toRelativeTime","startScheduler","createFn","settings","createObserver","createHotObservable","createColdObservable","createResolvedPromise","createRejectedPromise","reason","TimerObservable","_dt","observableTimerDateAndPeriod","observableTimerTimeSpanAndPeriod","observableinterval","observableDelayRelative","active","exception","running","timestamp","recurseDueTime","shouldRecurse","timer","periodOrScheduler","_observableTimer","delay","subscriptionDelay","delayDurationSelector","subDelay","firstArg","observableDelayAbsolute","delays","atEnd","DebounceObservable","DebounceObserver","currentId","debounce","throttle","currentid","windowWithTime","windowTime","timeShiftOrScheduler","timeShift","nextShift","nextSpan","timerD","totalTime","createTimer","isSpan","isShift","newTotalTime","ts","windowWithTimeOrCount","windowTimeOrCount","windowId","newId","newWindow","bufferWithTime","bufferTime","bufferWithTimeOrCount","bufferTimeOrCount","TimeIntervalObservable","TimeIntervalObserver","span","timeInterval","TimestampObservable","TimestampObserver","SampleObservable","sampler","_sampler","sourceSubscription","SampleSourceObserver","SamplerObserver","_handleMessage","sample","intervalOrSampler","TimeoutError","timeout","original","switched","myId","firstTimeout","timeoutDurationSelector","setTimer","timerWins","oWins","timeoutWithSelector","GenerateAbsoluteObservable","timeFn","_timeFn","generateWithAbsoluteTime","timeSelector","GenerateRelativeObservable","generateWithRelativeTime","DelaySubscription","delaySubscription","SkipLastWithTimeObservable","SkipLastWithTimeObserver","skipLastWithTime","TakeLastWithTimeObservable","TakeLastWithTimeObserver","takeLastWithTime","takeLastBufferWithTime","TakeWithTimeObservable","takeWithTime","SkipWithTimeObservable","SkipWithTimeObserver","skipWithTime","SkipUntilWithTimeObservable","startTime","_st","SkipUntilWithTimeObserver","skipUntilWithTime","takeUntilWithTime","endTime","windowDuration","RangeError","lastOnNext","initialClock","isEnabled","VirtualTimeSchedulerPrototype","runAt","getNext","stop","advanceTo","dueToClock","advanceBy","sleep","HistoricalScheduler","cmp","HistoricalSchedulerProto","DefaultCodeSnippet","instance","_instance","createCodeSnippet","languageId","extentiponPath","webview","extractSnippet","editor","vscode","activeTextEditor","text","getText","previewSnippet","errorSnippet","Misc","getFormattedHtml","payLoad","StyleName","dark","forest","neutral","backgroundColorDefault","ConfigMermaid","fixedStyle","fixedBackgroundColor","MermaidCodeSnippet","_configMermaid","workspace","getConfiguration","mermaid","mscgen","fixedNamedStyle","subsequenceFile","dirname","uri","fsPath","Path","sep","trim","fs","readFileSync","console","jsPath","Uri","file","jsSrc","asWebviewUri","body","cspSource","previewUri","parse","Alignment","classic","cygne","fountainpen","lazy","pegasse","fixed","stretch","ConfigMscgen","horizontalAlignment","MscgenCodeSnippet","_configMscgen","suppotablelanguageId","latestSnippetResultBuffer","webViewPanel","extentionPath","_currentSnippet","setCurrentWebViewPanel","panel","getExtensionPath","path","update","refresh","provideTextDocumentContent","token","html","catch","require","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","nmd","paths","children","provider","PreviewSeqDiagDocumentContentProvider","showPreview","commands","registerCommand","createWebviewPanel","ViewColumn","Two","enableScripts","localResourceRoots","extensionPath","emitter","EventEmitter","onDidChangeActiveTextEditor","onDidChangeTextDocument","registerTextDocumentContentProvider","scheme"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"extension.js","mappings":"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","sources":["webpack://previewseqdiag-vscode/./node_modules/rx/dist/rx.aggregates.js","webpack://previewseqdiag-vscode/./node_modules/rx/dist/rx.async.js","webpack://previewseqdiag-vscode/./node_modules/rx/dist/rx.backpressure.js","webpack://previewseqdiag-vscode/./node_modules/rx/dist/rx.binding.js","webpack://previewseqdiag-vscode/./node_modules/rx/dist/rx.coincidence.js","webpack://previewseqdiag-vscode/./node_modules/rx/dist/rx.experimental.js","webpack://previewseqdiag-vscode/./node_modules/rx/dist/rx.joinpatterns.js","webpack://previewseqdiag-vscode/./node_modules/rx/dist/rx.js","webpack://previewseqdiag-vscode/./node_modules/rx/dist/rx.sorting.js","webpack://previewseqdiag-vscode/./node_modules/rx/dist/rx.testing.js","webpack://previewseqdiag-vscode/./node_modules/rx/dist/rx.time.js","webpack://previewseqdiag-vscode/./node_modules/rx/dist/rx.virtualtime.js","webpack://previewseqdiag-vscode/./node_modules/rx/index.js","webpack://previewseqdiag-vscode/./src/defaultCodeSnippet.ts","webpack://previewseqdiag-vscode/./src/mermaidCodeSnippet.ts","webpack://previewseqdiag-vscode/./src/misc.ts","webpack://previewseqdiag-vscode/./src/mscgenCodeSnippet.ts","webpack://previewseqdiag-vscode/./src/previewSeqDiagDocumentContentProvider.ts","webpack://previewseqdiag-vscode/external commonjs \"vscode\"","webpack://previewseqdiag-vscode/external node-commonjs \"events\"","webpack://previewseqdiag-vscode/external node-commonjs \"fs\"","webpack://previewseqdiag-vscode/external node-commonjs \"path\"","webpack://previewseqdiag-vscode/webpack/bootstrap","webpack://previewseqdiag-vscode/webpack/runtime/node module decorator","webpack://previewseqdiag-vscode/./src/extension.ts"],"sourcesContent":["// Copyright (c) Microsoft, All rights reserved. See License.txt in the project root for license information.\n\n;(function (factory) {\n var objectTypes = {\n 'function': true,\n 'object': true\n };\n\n function checkGlobal(value) {\n return (value && value.Object === Object) ? value : null;\n }\n\n var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType) ? exports : null;\n var freeModule = (objectTypes[typeof module] && module && !module.nodeType) ? module : null;\n var freeGlobal = checkGlobal(freeExports && freeModule && typeof global === 'object' && global);\n var freeSelf = checkGlobal(objectTypes[typeof self] && self);\n var freeWindow = checkGlobal(objectTypes[typeof window] && window);\n var moduleExports = (freeModule && freeModule.exports === freeExports) ? freeExports : null;\n var thisGlobal = checkGlobal(objectTypes[typeof this] && this);\n var root = freeGlobal || ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) || freeSelf || thisGlobal || Function('return this')();\n\n // Because of build optimizers\n if (typeof define === 'function' && define.amd) {\n define(['./rx'], function (Rx, exports) {\n return factory(root, exports, Rx);\n });\n } else if (typeof module === 'object' && module && module.exports === freeExports) {\n module.exports = factory(root, module.exports, require('./rx'));\n } else {\n root.Rx = factory(root, {}, root.Rx);\n }\n}.call(this, function (root, exp, Rx, undefined) {\n\n // References\n var Observable = Rx.Observable,\n observableProto = Observable.prototype,\n BinaryDisposable = Rx.BinaryDisposable,\n AnonymousObservable = Rx.AnonymousObservable,\n AbstractObserver = Rx.internals.AbstractObserver,\n disposableEmpty = Rx.Disposable.empty,\n helpers = Rx.helpers,\n defaultComparer = helpers.defaultComparer,\n identity = helpers.identity,\n defaultSubComparer = helpers.defaultSubComparer,\n isFunction = helpers.isFunction,\n isPromise = helpers.isPromise,\n isArrayLike = helpers.isArrayLike,\n isIterable = helpers.isIterable,\n inherits = Rx.internals.inherits,\n observableFromPromise = Observable.fromPromise,\n observableFrom = Observable.from,\n bindCallback = Rx.internals.bindCallback,\n EmptyError = Rx.EmptyError,\n ObservableBase = Rx.ObservableBase,\n ArgumentOutOfRangeError = Rx.ArgumentOutOfRangeError;\n\n var errorObj = {e: {}};\n \n function tryCatcherGen(tryCatchTarget) {\n return function tryCatcher() {\n try {\n return tryCatchTarget.apply(this, arguments);\n } catch (e) {\n errorObj.e = e;\n return errorObj;\n }\n };\n }\n\n var tryCatch = Rx.internals.tryCatch = function tryCatch(fn) {\n if (!isFunction(fn)) { throw new TypeError('fn must be a function'); }\n return tryCatcherGen(fn);\n };\n\n function thrower(e) {\n throw e;\n }\n\n var ExtremaByObservable = (function (__super__) {\n inherits(ExtremaByObservable, __super__);\n function ExtremaByObservable(source, k, c) {\n this.source = source;\n this._k = k;\n this._c = c;\n __super__.call(this);\n }\n\n ExtremaByObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new ExtremaByObserver(o, this._k, this._c));\n };\n\n return ExtremaByObservable;\n }(ObservableBase));\n\n var ExtremaByObserver = (function (__super__) {\n inherits(ExtremaByObserver, __super__);\n function ExtremaByObserver(o, k, c) {\n this._o = o;\n this._k = k;\n this._c = c;\n this._v = null;\n this._hv = false;\n this._l = [];\n __super__.call(this);\n }\n\n ExtremaByObserver.prototype.next = function (x) {\n var key = tryCatch(this._k)(x);\n if (key === errorObj) { return this._o.onError(key.e); }\n var comparison = 0;\n if (!this._hv) {\n this._hv = true;\n this._v = key;\n } else {\n comparison = tryCatch(this._c)(key, this._v);\n if (comparison === errorObj) { return this._o.onError(comparison.e); }\n }\n if (comparison > 0) {\n this._v = key;\n this._l = [];\n }\n if (comparison >= 0) { this._l.push(x); }\n };\n\n ExtremaByObserver.prototype.error = function (e) {\n this._o.onError(e);\n };\n\n ExtremaByObserver.prototype.completed = function () {\n this._o.onNext(this._l);\n this._o.onCompleted();\n };\n\n return ExtremaByObserver;\n }(AbstractObserver));\n\n function firstOnly(x) {\n if (x.length === 0) { throw new EmptyError(); }\n return x[0];\n }\n\n var ReduceObservable = (function(__super__) {\n inherits(ReduceObservable, __super__);\n function ReduceObservable(source, accumulator, hasSeed, seed) {\n this.source = source;\n this.accumulator = accumulator;\n this.hasSeed = hasSeed;\n this.seed = seed;\n __super__.call(this);\n }\n\n ReduceObservable.prototype.subscribeCore = function(observer) {\n return this.source.subscribe(new ReduceObserver(observer,this));\n };\n\n return ReduceObservable;\n }(ObservableBase));\n\n var ReduceObserver = (function (__super__) {\n inherits(ReduceObserver, __super__);\n function ReduceObserver(o, parent) {\n this._o = o;\n this._p = parent;\n this._fn = parent.accumulator;\n this._hs = parent.hasSeed;\n this._s = parent.seed;\n this._ha = false;\n this._a = null;\n this._hv = false;\n this._i = 0;\n __super__.call(this);\n }\n\n ReduceObserver.prototype.next = function (x) {\n !this._hv && (this._hv = true);\n if (this._ha) {\n this._a = tryCatch(this._fn)(this._a, x, this._i, this._p);\n } else {\n this._a = this._hs ? tryCatch(this._fn)(this._s, x, this._i, this._p) : x;\n this._ha = true;\n }\n if (this._a === errorObj) { return this._o.onError(this._a.e); }\n this._i++;\n };\n\n ReduceObserver.prototype.error = function (e) {\n this._o.onError(e);\n };\n\n ReduceObserver.prototype.completed = function () {\n this._hv && this._o.onNext(this._a);\n !this._hv && this._hs && this._o.onNext(this._s);\n !this._hv && !this._hs && this._o.onError(new EmptyError());\n this._o.onCompleted();\n };\n\n return ReduceObserver;\n }(AbstractObserver));\n\n /**\n * Applies an accumulator function over an observable sequence, returning the result of the aggregation as a single element in the result sequence. The specified seed value is used as the initial accumulator value.\n * For aggregation behavior with incremental intermediate results, see Observable.scan.\n * @param {Function} accumulator An accumulator function to be invoked on each element.\n * @param {Any} [seed] The initial accumulator value.\n * @returns {Observable} An observable sequence containing a single element with the final accumulator value.\n */\n observableProto.reduce = function () {\n var hasSeed = false, seed, accumulator = arguments[0];\n if (arguments.length === 2) {\n hasSeed = true;\n seed = arguments[1];\n }\n return new ReduceObservable(this, accumulator, hasSeed, seed);\n };\n\n var SomeObservable = (function (__super__) {\n inherits(SomeObservable, __super__);\n function SomeObservable(source, fn) {\n this.source = source;\n this._fn = fn;\n __super__.call(this);\n }\n\n SomeObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new SomeObserver(o, this._fn, this.source));\n };\n\n return SomeObservable;\n }(ObservableBase));\n\n var SomeObserver = (function (__super__) {\n inherits(SomeObserver, __super__);\n\n function SomeObserver(o, fn, s) {\n this._o = o;\n this._fn = fn;\n this._s = s;\n this._i = 0;\n __super__.call(this);\n }\n\n SomeObserver.prototype.next = function (x) {\n var result = tryCatch(this._fn)(x, this._i++, this._s);\n if (result === errorObj) { return this._o.onError(result.e); }\n if (Boolean(result)) {\n this._o.onNext(true);\n this._o.onCompleted();\n }\n };\n SomeObserver.prototype.error = function (e) { this._o.onError(e); };\n SomeObserver.prototype.completed = function () {\n this._o.onNext(false);\n this._o.onCompleted();\n };\n\n return SomeObserver;\n }(AbstractObserver));\n\n /**\n * Determines whether any element of an observable sequence satisfies a condition if present, else if any items are in the sequence.\n * @param {Function} [predicate] A function to test each element for a condition.\n * @returns {Observable} An observable sequence containing a single element determining whether any elements in the source sequence pass the test in the specified predicate if given, else if any items are in the sequence.\n */\n observableProto.some = function (predicate, thisArg) {\n var fn = bindCallback(predicate, thisArg, 3);\n return new SomeObservable(this, fn);\n };\n\n var IsEmptyObservable = (function (__super__) {\n inherits(IsEmptyObservable, __super__);\n function IsEmptyObservable(source) {\n this.source = source;\n __super__.call(this);\n }\n\n IsEmptyObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new IsEmptyObserver(o));\n };\n\n return IsEmptyObservable;\n }(ObservableBase));\n\n var IsEmptyObserver = (function(__super__) {\n inherits(IsEmptyObserver, __super__);\n function IsEmptyObserver(o) {\n this._o = o;\n __super__.call(this);\n }\n\n IsEmptyObserver.prototype.next = function () {\n this._o.onNext(false);\n this._o.onCompleted();\n };\n IsEmptyObserver.prototype.error = function (e) { this._o.onError(e); };\n IsEmptyObserver.prototype.completed = function () {\n this._o.onNext(true);\n this._o.onCompleted();\n };\n\n return IsEmptyObserver;\n }(AbstractObserver));\n\n /**\n * Determines whether an observable sequence is empty.\n * @returns {Observable} An observable sequence containing a single element determining whether the source sequence is empty.\n */\n observableProto.isEmpty = function () {\n return new IsEmptyObservable(this);\n };\n\n var EveryObservable = (function (__super__) {\n inherits(EveryObservable, __super__);\n function EveryObservable(source, fn) {\n this.source = source;\n this._fn = fn;\n __super__.call(this);\n }\n\n EveryObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new EveryObserver(o, this._fn, this.source));\n };\n\n return EveryObservable;\n }(ObservableBase));\n\n var EveryObserver = (function (__super__) {\n inherits(EveryObserver, __super__);\n\n function EveryObserver(o, fn, s) {\n this._o = o;\n this._fn = fn;\n this._s = s;\n this._i = 0;\n __super__.call(this);\n }\n\n EveryObserver.prototype.next = function (x) {\n var result = tryCatch(this._fn)(x, this._i++, this._s);\n if (result === errorObj) { return this._o.onError(result.e); }\n if (!Boolean(result)) {\n this._o.onNext(false);\n this._o.onCompleted();\n }\n };\n EveryObserver.prototype.error = function (e) { this._o.onError(e); };\n EveryObserver.prototype.completed = function () {\n this._o.onNext(true);\n this._o.onCompleted();\n };\n\n return EveryObserver;\n }(AbstractObserver));\n\n /**\n * Determines whether all elements of an observable sequence satisfy a condition.\n * @param {Function} [predicate] A function to test each element for a condition.\n * @param {Any} [thisArg] Object to use as this when executing callback.\n * @returns {Observable} An observable sequence containing a single element determining whether all elements in the source sequence pass the test in the specified predicate.\n */\n observableProto.every = function (predicate, thisArg) {\n var fn = bindCallback(predicate, thisArg, 3);\n return new EveryObservable(this, fn);\n };\n\n var IncludesObservable = (function (__super__) {\n inherits(IncludesObservable, __super__);\n function IncludesObservable(source, elem, idx) {\n var n = +idx || 0;\n Math.abs(n) === Infinity && (n = 0);\n\n this.source = source;\n this._elem = elem;\n this._n = n;\n __super__.call(this);\n }\n\n IncludesObservable.prototype.subscribeCore = function (o) {\n if (this._n < 0) {\n o.onNext(false);\n o.onCompleted();\n return disposableEmpty;\n }\n\n return this.source.subscribe(new IncludesObserver(o, this._elem, this._n));\n };\n\n return IncludesObservable;\n }(ObservableBase));\n\n var IncludesObserver = (function (__super__) {\n inherits(IncludesObserver, __super__);\n function IncludesObserver(o, elem, n) {\n this._o = o;\n this._elem = elem;\n this._n = n;\n this._i = 0;\n __super__.call(this);\n }\n\n function comparer(a, b) {\n return (a === 0 && b === 0) || (a === b || (isNaN(a) && isNaN(b)));\n }\n\n IncludesObserver.prototype.next = function (x) {\n if (this._i++ >= this._n && comparer(x, this._elem)) {\n this._o.onNext(true);\n this._o.onCompleted();\n }\n };\n IncludesObserver.prototype.error = function (e) { this._o.onError(e); };\n IncludesObserver.prototype.completed = function () { this._o.onNext(false); this._o.onCompleted(); };\n\n return IncludesObserver;\n }(AbstractObserver));\n\n /**\n * Determines whether an observable sequence includes a specified element with an optional equality comparer.\n * @param searchElement The value to locate in the source sequence.\n * @param {Number} [fromIndex] An equality comparer to compare elements.\n * @returns {Observable} An observable sequence containing a single element determining whether the source sequence includes an element that has the specified value from the given index.\n */\n observableProto.includes = function (searchElement, fromIndex) {\n return new IncludesObservable(this, searchElement, fromIndex);\n };\n\n var CountObservable = (function (__super__) {\n inherits(CountObservable, __super__);\n function CountObservable(source, fn) {\n this.source = source;\n this._fn = fn;\n __super__.call(this);\n }\n\n CountObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new CountObserver(o, this._fn, this.source));\n };\n\n return CountObservable;\n }(ObservableBase));\n\n var CountObserver = (function (__super__) {\n inherits(CountObserver, __super__);\n\n function CountObserver(o, fn, s) {\n this._o = o;\n this._fn = fn;\n this._s = s;\n this._i = 0;\n this._c = 0;\n __super__.call(this);\n }\n\n CountObserver.prototype.next = function (x) {\n if (this._fn) {\n var result = tryCatch(this._fn)(x, this._i++, this._s);\n if (result === errorObj) { return this._o.onError(result.e); }\n Boolean(result) && (this._c++);\n } else {\n this._c++;\n }\n };\n CountObserver.prototype.error = function (e) { this._o.onError(e); };\n CountObserver.prototype.completed = function () {\n this._o.onNext(this._c);\n this._o.onCompleted();\n };\n\n return CountObserver;\n }(AbstractObserver));\n\n /**\n * Returns an observable sequence containing a value that represents how many elements in the specified observable sequence satisfy a condition if provided, else the count of items.\n * @example\n * res = source.count();\n * res = source.count(function (x) { return x > 3; });\n * @param {Function} [predicate]A function to test each element for a condition.\n * @param {Any} [thisArg] Object to use as this when executing callback.\n * @returns {Observable} An observable sequence containing a single element with a number that represents how many elements in the input sequence satisfy the condition in the predicate function if provided, else the count of items in the sequence.\n */\n observableProto.count = function (predicate, thisArg) {\n var fn = bindCallback(predicate, thisArg, 3);\n return new CountObservable(this, fn);\n };\n\n var IndexOfObservable = (function (__super__) {\n inherits(IndexOfObservable, __super__);\n function IndexOfObservable(source, e, n) {\n this.source = source;\n this._e = e;\n this._n = n;\n __super__.call(this);\n }\n\n IndexOfObservable.prototype.subscribeCore = function (o) {\n if (this._n < 0) {\n o.onNext(-1);\n o.onCompleted();\n return disposableEmpty;\n }\n\n return this.source.subscribe(new IndexOfObserver(o, this._e, this._n));\n };\n\n return IndexOfObservable;\n }(ObservableBase));\n\n var IndexOfObserver = (function (__super__) {\n inherits(IndexOfObserver, __super__);\n function IndexOfObserver(o, e, n) {\n this._o = o;\n this._e = e;\n this._n = n;\n this._i = 0;\n __super__.call(this);\n }\n\n IndexOfObserver.prototype.next = function (x) {\n if (this._i >= this._n && x === this._e) {\n this._o.onNext(this._i);\n this._o.onCompleted();\n }\n this._i++;\n };\n IndexOfObserver.prototype.error = function (e) { this._o.onError(e); };\n IndexOfObserver.prototype.completed = function () { this._o.onNext(-1); this._o.onCompleted(); };\n\n return IndexOfObserver;\n }(AbstractObserver));\n\n /**\n * Returns the first index at which a given element can be found in the observable sequence, or -1 if it is not present.\n * @param {Any} searchElement Element to locate in the array.\n * @param {Number} [fromIndex] The index to start the search. If not specified, defaults to 0.\n * @returns {Observable} And observable sequence containing the first index at which a given element can be found in the observable sequence, or -1 if it is not present.\n */\n observableProto.indexOf = function(searchElement, fromIndex) {\n var n = +fromIndex || 0;\n Math.abs(n) === Infinity && (n = 0);\n return new IndexOfObservable(this, searchElement, n);\n };\n\n var SumObservable = (function (__super__) {\n inherits(SumObservable, __super__);\n function SumObservable(source, fn) {\n this.source = source;\n this._fn = fn;\n __super__.call(this);\n }\n\n SumObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new SumObserver(o, this._fn, this.source));\n };\n\n return SumObservable;\n }(ObservableBase));\n\n var SumObserver = (function (__super__) {\n inherits(SumObserver, __super__);\n\n function SumObserver(o, fn, s) {\n this._o = o;\n this._fn = fn;\n this._s = s;\n this._i = 0;\n this._c = 0;\n __super__.call(this);\n }\n\n SumObserver.prototype.next = function (x) {\n if (this._fn) {\n var result = tryCatch(this._fn)(x, this._i++, this._s);\n if (result === errorObj) { return this._o.onError(result.e); }\n this._c += result;\n } else {\n this._c += x;\n }\n };\n SumObserver.prototype.error = function (e) { this._o.onError(e); };\n SumObserver.prototype.completed = function () {\n this._o.onNext(this._c);\n this._o.onCompleted();\n };\n\n return SumObserver;\n }(AbstractObserver));\n\n /**\n * Computes the sum of a sequence of values that are obtained by invoking an optional transform function on each element of the input sequence, else if not specified computes the sum on each item in the sequence.\n * @param {Function} [selector] A transform function to apply to each element.\n * @param {Any} [thisArg] Object to use as this when executing callback.\n * @returns {Observable} An observable sequence containing a single element with the sum of the values in the source sequence.\n */\n observableProto.sum = function (keySelector, thisArg) {\n var fn = bindCallback(keySelector, thisArg, 3);\n return new SumObservable(this, fn);\n };\n\n /**\n * Returns the elements in an observable sequence with the minimum key value according to the specified comparer.\n * @example\n * var res = source.minBy(function (x) { return x.value; });\n * var res = source.minBy(function (x) { return x.value; }, function (x, y) { return x - y; });\n * @param {Function} keySelector Key selector function.\n * @param {Function} [comparer] Comparer used to compare key values.\n * @returns {Observable} An observable sequence containing a list of zero or more elements that have a minimum key value.\n */\n observableProto.minBy = function (keySelector, comparer) {\n comparer || (comparer = defaultSubComparer);\n return new ExtremaByObservable(this, keySelector, function (x, y) { return comparer(x, y) * -1; });\n };\n\n /**\n * Returns the minimum element in an observable sequence according to the optional comparer else a default greater than less than check.\n * @example\n * var res = source.min();\n * var res = source.min(function (x, y) { return x.value - y.value; });\n * @param {Function} [comparer] Comparer used to compare elements.\n * @returns {Observable} An observable sequence containing a single element with the minimum element in the source sequence.\n */\n observableProto.min = function (comparer) {\n return this.minBy(identity, comparer).map(firstOnly);\n };\n\n /**\n * Returns the elements in an observable sequence with the maximum key value according to the specified comparer.\n * @example\n * var res = source.maxBy(function (x) { return x.value; });\n * var res = source.maxBy(function (x) { return x.value; }, function (x, y) { return x - y;; });\n * @param {Function} keySelector Key selector function.\n * @param {Function} [comparer] Comparer used to compare key values.\n * @returns {Observable} An observable sequence containing a list of zero or more elements that have a maximum key value.\n */\n observableProto.maxBy = function (keySelector, comparer) {\n comparer || (comparer = defaultSubComparer);\n return new ExtremaByObservable(this, keySelector, comparer);\n };\n\n /**\n * Returns the maximum value in an observable sequence according to the specified comparer.\n * @example\n * var res = source.max();\n * var res = source.max(function (x, y) { return x.value - y.value; });\n * @param {Function} [comparer] Comparer used to compare elements.\n * @returns {Observable} An observable sequence containing a single element with the maximum element in the source sequence.\n */\n observableProto.max = function (comparer) {\n return this.maxBy(identity, comparer).map(firstOnly);\n };\n\n var AverageObservable = (function (__super__) {\n inherits(AverageObservable, __super__);\n function AverageObservable(source, fn) {\n this.source = source;\n this._fn = fn;\n __super__.call(this);\n }\n\n AverageObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new AverageObserver(o, this._fn, this.source));\n };\n\n return AverageObservable;\n }(ObservableBase));\n\n var AverageObserver = (function(__super__) {\n inherits(AverageObserver, __super__);\n function AverageObserver(o, fn, s) {\n this._o = o;\n this._fn = fn;\n this._s = s;\n this._c = 0;\n this._t = 0;\n __super__.call(this);\n }\n\n AverageObserver.prototype.next = function (x) {\n if(this._fn) {\n var r = tryCatch(this._fn)(x, this._c++, this._s);\n if (r === errorObj) { return this._o.onError(r.e); }\n this._t += r;\n } else {\n this._c++;\n this._t += x;\n }\n };\n AverageObserver.prototype.error = function (e) { this._o.onError(e); };\n AverageObserver.prototype.completed = function () {\n if (this._c === 0) { return this._o.onError(new EmptyError()); }\n this._o.onNext(this._t / this._c);\n this._o.onCompleted();\n };\n\n return AverageObserver;\n }(AbstractObserver));\n\n /**\n * Computes the average of an observable sequence of values that are in the sequence or obtained by invoking a transform function on each element of the input sequence if present.\n * @param {Function} [selector] A transform function to apply to each element.\n * @param {Any} [thisArg] Object to use as this when executing callback.\n * @returns {Observable} An observable sequence containing a single element with the average of the sequence of values.\n */\n observableProto.average = function (keySelector, thisArg) {\n var source = this, fn;\n if (isFunction(keySelector)) {\n fn = bindCallback(keySelector, thisArg, 3);\n }\n return new AverageObservable(source, fn);\n };\n\n /**\n * Determines whether two sequences are equal by comparing the elements pairwise using a specified equality comparer.\n *\n * @example\n * var res = res = source.sequenceEqual([1,2,3]);\n * var res = res = source.sequenceEqual([{ value: 42 }], function (x, y) { return x.value === y.value; });\n * 3 - res = source.sequenceEqual(Rx.Observable.returnValue(42));\n * 4 - res = source.sequenceEqual(Rx.Observable.returnValue({ value: 42 }), function (x, y) { return x.value === y.value; });\n * @param {Observable} second Second observable sequence or array to compare.\n * @param {Function} [comparer] Comparer used to compare elements of both sequences.\n * @returns {Observable} An observable sequence that contains a single element which indicates whether both sequences are of equal length and their corresponding elements are equal according to the specified equality comparer.\n */\n observableProto.sequenceEqual = function (second, comparer) {\n var first = this;\n comparer || (comparer = defaultComparer);\n return new AnonymousObservable(function (o) {\n var donel = false, doner = false, ql = [], qr = [];\n var subscription1 = first.subscribe(function (x) {\n if (qr.length > 0) {\n var v = qr.shift();\n var equal = tryCatch(comparer)(v, x);\n if (equal === errorObj) { return o.onError(equal.e); }\n if (!equal) {\n o.onNext(false);\n o.onCompleted();\n }\n } else if (doner) {\n o.onNext(false);\n o.onCompleted();\n } else {\n ql.push(x);\n }\n }, function(e) { o.onError(e); }, function () {\n donel = true;\n if (ql.length === 0) {\n if (qr.length > 0) {\n o.onNext(false);\n o.onCompleted();\n } else if (doner) {\n o.onNext(true);\n o.onCompleted();\n }\n }\n });\n\n (isArrayLike(second) || isIterable(second)) && (second = observableFrom(second));\n isPromise(second) && (second = observableFromPromise(second));\n var subscription2 = second.subscribe(function (x) {\n if (ql.length > 0) {\n var v = ql.shift();\n var equal = tryCatch(comparer)(v, x);\n if (equal === errorObj) { return o.onError(equal.e); }\n if (!equal) {\n o.onNext(false);\n o.onCompleted();\n }\n } else if (donel) {\n o.onNext(false);\n o.onCompleted();\n } else {\n qr.push(x);\n }\n }, function(e) { o.onError(e); }, function () {\n doner = true;\n if (qr.length === 0) {\n if (ql.length > 0) {\n o.onNext(false);\n o.onCompleted();\n } else if (donel) {\n o.onNext(true);\n o.onCompleted();\n }\n }\n });\n return new BinaryDisposable(subscription1, subscription2);\n }, first);\n };\n\n var ElementAtObservable = (function (__super__) {\n inherits(ElementAtObservable, __super__);\n function ElementAtObservable(source, i, d) {\n this.source = source;\n this._i = i;\n this._d = d;\n __super__.call(this);\n }\n\n ElementAtObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new ElementAtObserver(o, this._i, this._d));\n };\n\n return ElementAtObservable;\n }(ObservableBase));\n\n var ElementAtObserver = (function (__super__) {\n inherits(ElementAtObserver, __super__);\n\n function ElementAtObserver(o, i, d) {\n this._o = o;\n this._i = i;\n this._d = d;\n __super__.call(this);\n }\n\n ElementAtObserver.prototype.next = function (x) {\n if (this._i-- === 0) {\n this._o.onNext(x);\n this._o.onCompleted();\n }\n };\n ElementAtObserver.prototype.error = function (e) { this._o.onError(e); };\n ElementAtObserver.prototype.completed = function () {\n if (this._d === undefined) {\n this._o.onError(new ArgumentOutOfRangeError());\n } else {\n this._o.onNext(this._d);\n this._o.onCompleted();\n }\n };\n\n return ElementAtObserver;\n }(AbstractObserver));\n\n /**\n * Returns the element at a specified index in a sequence or default value if not found.\n * @param {Number} index The zero-based index of the element to retrieve.\n * @param {Any} [defaultValue] The default value to use if elementAt does not find a value.\n * @returns {Observable} An observable sequence that produces the element at the specified position in the source sequence.\n */\n observableProto.elementAt = function (index, defaultValue) {\n if (index < 0) { throw new ArgumentOutOfRangeError(); }\n return new ElementAtObservable(this, index, defaultValue);\n };\n\n var SingleObserver = (function(__super__) {\n inherits(SingleObserver, __super__);\n function SingleObserver(o, obj, s) {\n this._o = o;\n this._obj = obj;\n this._s = s;\n this._i = 0;\n this._hv = false;\n this._v = null;\n __super__.call(this);\n }\n\n SingleObserver.prototype.next = function (x) {\n var shouldYield = false;\n if (this._obj.predicate) {\n var res = tryCatch(this._obj.predicate)(x, this._i++, this._s);\n if (res === errorObj) { return this._o.onError(res.e); }\n Boolean(res) && (shouldYield = true);\n } else if (!this._obj.predicate) {\n shouldYield = true;\n }\n if (shouldYield) {\n if (this._hv) {\n return this._o.onError(new Error('Sequence contains more than one matching element'));\n }\n this._hv = true;\n this._v = x;\n }\n };\n SingleObserver.prototype.error = function (e) { this._o.onError(e); };\n SingleObserver.prototype.completed = function () {\n if (this._hv) {\n this._o.onNext(this._v);\n this._o.onCompleted();\n }\n else if (this._obj.defaultValue === undefined) {\n this._o.onError(new EmptyError());\n } else {\n this._o.onNext(this._obj.defaultValue);\n this._o.onCompleted();\n }\n };\n\n return SingleObserver;\n }(AbstractObserver));\n\n\n /**\n * Returns the only element of an observable sequence that satisfies the condition in the optional predicate, and reports an exception if there is not exactly one element in the observable sequence.\n * @returns {Observable} Sequence containing the single element in the observable sequence that satisfies the condition in the predicate.\n */\n observableProto.single = function (predicate, thisArg) {\n var obj = {}, source = this;\n if (typeof arguments[0] === 'object') {\n obj = arguments[0];\n } else {\n obj = {\n predicate: arguments[0],\n thisArg: arguments[1],\n defaultValue: arguments[2]\n };\n }\n if (isFunction (obj.predicate)) {\n var fn = obj.predicate;\n obj.predicate = bindCallback(fn, obj.thisArg, 3);\n }\n return new AnonymousObservable(function (o) {\n return source.subscribe(new SingleObserver(o, obj, source));\n }, source);\n };\n\n var FirstObservable = (function (__super__) {\n inherits(FirstObservable, __super__);\n function FirstObservable(source, obj) {\n this.source = source;\n this._obj = obj;\n __super__.call(this);\n }\n\n FirstObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new FirstObserver(o, this._obj, this.source));\n };\n\n return FirstObservable;\n }(ObservableBase));\n\n var FirstObserver = (function(__super__) {\n inherits(FirstObserver, __super__);\n function FirstObserver(o, obj, s) {\n this._o = o;\n this._obj = obj;\n this._s = s;\n this._i = 0;\n __super__.call(this);\n }\n\n FirstObserver.prototype.next = function (x) {\n if (this._obj.predicate) {\n var res = tryCatch(this._obj.predicate)(x, this._i++, this._s);\n if (res === errorObj) { return this._o.onError(res.e); }\n if (Boolean(res)) {\n this._o.onNext(x);\n this._o.onCompleted();\n }\n } else if (!this._obj.predicate) {\n this._o.onNext(x);\n this._o.onCompleted();\n }\n };\n FirstObserver.prototype.error = function (e) { this._o.onError(e); };\n FirstObserver.prototype.completed = function () {\n if (this._obj.defaultValue === undefined) {\n this._o.onError(new EmptyError());\n } else {\n this._o.onNext(this._obj.defaultValue);\n this._o.onCompleted();\n }\n };\n\n return FirstObserver;\n }(AbstractObserver));\n\n /**\n * Returns the first element of an observable sequence that satisfies the condition in the predicate if present else the first item in the sequence.\n * @returns {Observable} Sequence containing the first element in the observable sequence that satisfies the condition in the predicate if provided, else the first item in the sequence.\n */\n observableProto.first = function () {\n var obj = {}, source = this;\n if (typeof arguments[0] === 'object') {\n obj = arguments[0];\n } else {\n obj = {\n predicate: arguments[0],\n thisArg: arguments[1],\n defaultValue: arguments[2]\n };\n }\n if (isFunction (obj.predicate)) {\n var fn = obj.predicate;\n obj.predicate = bindCallback(fn, obj.thisArg, 3);\n }\n return new FirstObservable(this, obj);\n };\n\n var LastObservable = (function (__super__) {\n inherits(LastObservable, __super__);\n function LastObservable(source, obj) {\n this.source = source;\n this._obj = obj;\n __super__.call(this);\n }\n\n LastObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new LastObserver(o, this._obj, this.source));\n };\n\n return LastObservable;\n }(ObservableBase));\n\n var LastObserver = (function(__super__) {\n inherits(LastObserver, __super__);\n function LastObserver(o, obj, s) {\n this._o = o;\n this._obj = obj;\n this._s = s;\n this._i = 0;\n this._hv = false;\n this._v = null;\n __super__.call(this);\n }\n\n LastObserver.prototype.next = function (x) {\n var shouldYield = false;\n if (this._obj.predicate) {\n var res = tryCatch(this._obj.predicate)(x, this._i++, this._s);\n if (res === errorObj) { return this._o.onError(res.e); }\n Boolean(res) && (shouldYield = true);\n } else if (!this._obj.predicate) {\n shouldYield = true;\n }\n if (shouldYield) {\n this._hv = true;\n this._v = x;\n }\n };\n LastObserver.prototype.error = function (e) { this._o.onError(e); };\n LastObserver.prototype.completed = function () {\n if (this._hv) {\n this._o.onNext(this._v);\n this._o.onCompleted();\n }\n else if (this._obj.defaultValue === undefined) {\n this._o.onError(new EmptyError());\n } else {\n this._o.onNext(this._obj.defaultValue);\n this._o.onCompleted();\n }\n };\n\n return LastObserver;\n }(AbstractObserver));\n\n /**\n * Returns the last element of an observable sequence that satisfies the condition in the predicate if specified, else the last element.\n * @returns {Observable} Sequence containing the last element in the observable sequence that satisfies the condition in the predicate.\n */\n observableProto.last = function () {\n var obj = {}, source = this;\n if (typeof arguments[0] === 'object') {\n obj = arguments[0];\n } else {\n obj = {\n predicate: arguments[0],\n thisArg: arguments[1],\n defaultValue: arguments[2]\n };\n }\n if (isFunction (obj.predicate)) {\n var fn = obj.predicate;\n obj.predicate = bindCallback(fn, obj.thisArg, 3);\n }\n return new LastObservable(this, obj);\n };\n\n var FindValueObserver = (function(__super__) {\n inherits(FindValueObserver, __super__);\n function FindValueObserver(observer, source, callback, yieldIndex) {\n this._o = observer;\n this._s = source;\n this._cb = callback;\n this._y = yieldIndex;\n this._i = 0;\n __super__.call(this);\n }\n\n FindValueObserver.prototype.next = function (x) {\n var shouldRun = tryCatch(this._cb)(x, this._i, this._s);\n if (shouldRun === errorObj) { return this._o.onError(shouldRun.e); }\n if (shouldRun) {\n this._o.onNext(this._y ? this._i : x);\n this._o.onCompleted();\n } else {\n this._i++;\n }\n };\n\n FindValueObserver.prototype.error = function (e) {\n this._o.onError(e);\n };\n\n FindValueObserver.prototype.completed = function () {\n this._y && this._o.onNext(-1);\n this._o.onCompleted();\n };\n\n return FindValueObserver;\n }(AbstractObserver));\n\n function findValue (source, predicate, thisArg, yieldIndex) {\n var callback = bindCallback(predicate, thisArg, 3);\n return new AnonymousObservable(function (o) {\n return source.subscribe(new FindValueObserver(o, source, callback, yieldIndex));\n }, source);\n }\n\n /**\n * Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire Observable sequence.\n * @param {Function} predicate The predicate that defines the conditions of the element to search for.\n * @param {Any} [thisArg] Object to use as `this` when executing the predicate.\n * @returns {Observable} An Observable sequence with the first element that matches the conditions defined by the specified predicate, if found; otherwise, undefined.\n */\n observableProto.find = function (predicate, thisArg) {\n return findValue(this, predicate, thisArg, false);\n };\n\n /**\n * Searches for an element that matches the conditions defined by the specified predicate, and returns\n * an Observable sequence with the zero-based index of the first occurrence within the entire Observable sequence.\n * @param {Function} predicate The predicate that defines the conditions of the element to search for.\n * @param {Any} [thisArg] Object to use as `this` when executing the predicate.\n * @returns {Observable} An Observable sequence with the zero-based index of the first occurrence of an element that matches the conditions defined by match, if found; otherwise, –1.\n */\n observableProto.findIndex = function (predicate, thisArg) {\n return findValue(this, predicate, thisArg, true);\n };\n\n var ToSetObservable = (function (__super__) {\n inherits(ToSetObservable, __super__);\n function ToSetObservable(source) {\n this.source = source;\n __super__.call(this);\n }\n\n ToSetObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new ToSetObserver(o));\n };\n\n return ToSetObservable;\n }(ObservableBase));\n\n var ToSetObserver = (function (__super__) {\n inherits(ToSetObserver, __super__);\n function ToSetObserver(o) {\n this._o = o;\n this._s = new root.Set();\n __super__.call(this);\n }\n\n ToSetObserver.prototype.next = function (x) {\n this._s.add(x);\n };\n\n ToSetObserver.prototype.error = function (e) {\n this._o.onError(e);\n };\n\n ToSetObserver.prototype.completed = function () {\n this._o.onNext(this._s);\n this._o.onCompleted();\n };\n\n return ToSetObserver;\n }(AbstractObserver));\n\n /**\n * Converts the observable sequence to a Set if it exists.\n * @returns {Observable} An observable sequence with a single value of a Set containing the values from the observable sequence.\n */\n observableProto.toSet = function () {\n if (typeof root.Set === 'undefined') { throw new TypeError(); }\n return new ToSetObservable(this);\n };\n\n var ToMapObservable = (function (__super__) {\n inherits(ToMapObservable, __super__);\n function ToMapObservable(source, k, e) {\n this.source = source;\n this._k = k;\n this._e = e;\n __super__.call(this);\n }\n\n ToMapObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new ToMapObserver(o, this._k, this._e));\n };\n\n return ToMapObservable;\n }(ObservableBase));\n\n var ToMapObserver = (function (__super__) {\n inherits(ToMapObserver, __super__);\n function ToMapObserver(o, k, e) {\n this._o = o;\n this._k = k;\n this._e = e;\n this._m = new root.Map();\n __super__.call(this);\n }\n\n ToMapObserver.prototype.next = function (x) {\n var key = tryCatch(this._k)(x);\n if (key === errorObj) { return this._o.onError(key.e); }\n var elem = x;\n if (this._e) {\n elem = tryCatch(this._e)(x);\n if (elem === errorObj) { return this._o.onError(elem.e); }\n }\n\n this._m.set(key, elem);\n };\n\n ToMapObserver.prototype.error = function (e) {\n this._o.onError(e);\n };\n\n ToMapObserver.prototype.completed = function () {\n this._o.onNext(this._m);\n this._o.onCompleted();\n };\n\n return ToMapObserver;\n }(AbstractObserver));\n\n /**\n * Converts the observable sequence to a Map if it exists.\n * @param {Function} keySelector A function which produces the key for the Map.\n * @param {Function} [elementSelector] An optional function which produces the element for the Map. If not present, defaults to the value from the observable sequence.\n * @returns {Observable} An observable sequence with a single value of a Map containing the values from the observable sequence.\n */\n observableProto.toMap = function (keySelector, elementSelector) {\n if (typeof root.Map === 'undefined') { throw new TypeError(); }\n return new ToMapObservable(this, keySelector, elementSelector);\n };\n\n var SliceObservable = (function (__super__) {\n inherits(SliceObservable, __super__);\n function SliceObservable(source, b, e) {\n this.source = source;\n this._b = b;\n this._e = e;\n __super__.call(this);\n }\n\n SliceObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new SliceObserver(o, this._b, this._e));\n };\n\n return SliceObservable;\n }(ObservableBase));\n\n var SliceObserver = (function (__super__) {\n inherits(SliceObserver, __super__);\n\n function SliceObserver(o, b, e) {\n this._o = o;\n this._b = b;\n this._e = e;\n this._i = 0;\n __super__.call(this);\n }\n\n SliceObserver.prototype.next = function (x) {\n if (this._i >= this._b) {\n if (this._e === this._i) {\n this._o.onCompleted();\n } else {\n this._o.onNext(x);\n }\n }\n this._i++;\n };\n SliceObserver.prototype.error = function (e) { this._o.onError(e); };\n SliceObserver.prototype.completed = function () { this._o.onCompleted(); };\n\n return SliceObserver;\n }(AbstractObserver));\n\n /*\n * The slice() method returns a shallow copy of a portion of an Observable into a new Observable object.\n * Unlike the array version, this does not support negative numbers for being or end.\n * @param {Number} [begin] Zero-based index at which to begin extraction. If omitted, this will default to zero.\n * @param {Number} [end] Zero-based index at which to end extraction. slice extracts up to but not including end.\n * If omitted, this will emit the rest of the Observable object.\n * @returns {Observable} A shallow copy of a portion of an Observable into a new Observable object.\n */\n observableProto.slice = function (begin, end) {\n var start = begin || 0;\n if (start < 0) { throw new Rx.ArgumentOutOfRangeError(); }\n if (typeof end === 'number' && end < start) {\n throw new Rx.ArgumentOutOfRangeError();\n }\n return new SliceObservable(this, start, end);\n };\n\n var LastIndexOfObservable = (function (__super__) {\n inherits(LastIndexOfObservable, __super__);\n function LastIndexOfObservable(source, e, n) {\n this.source = source;\n this._e = e;\n this._n = n;\n __super__.call(this);\n }\n\n LastIndexOfObservable.prototype.subscribeCore = function (o) {\n if (this._n < 0) {\n o.onNext(-1);\n o.onCompleted();\n return disposableEmpty;\n }\n\n return this.source.subscribe(new LastIndexOfObserver(o, this._e, this._n));\n };\n\n return LastIndexOfObservable;\n }(ObservableBase));\n\n var LastIndexOfObserver = (function (__super__) {\n inherits(LastIndexOfObserver, __super__);\n function LastIndexOfObserver(o, e, n) {\n this._o = o;\n this._e = e;\n this._n = n;\n this._v = 0;\n this._hv = false;\n this._i = 0;\n __super__.call(this);\n }\n\n LastIndexOfObserver.prototype.next = function (x) {\n if (this._i >= this._n && x === this._e) {\n this._hv = true;\n this._v = this._i;\n }\n this._i++;\n };\n LastIndexOfObserver.prototype.error = function (e) { this._o.onError(e); };\n LastIndexOfObserver.prototype.completed = function () {\n if (this._hv) {\n this._o.onNext(this._v);\n } else {\n this._o.onNext(-1);\n }\n this._o.onCompleted();\n };\n\n return LastIndexOfObserver;\n }(AbstractObserver));\n\n /**\n * Returns the last index at which a given element can be found in the observable sequence, or -1 if it is not present.\n * @param {Any} searchElement Element to locate in the array.\n * @param {Number} [fromIndex] The index to start the search. If not specified, defaults to 0.\n * @returns {Observable} And observable sequence containing the last index at which a given element can be found in the observable sequence, or -1 if it is not present.\n */\n observableProto.lastIndexOf = function(searchElement, fromIndex) {\n var n = +fromIndex || 0;\n Math.abs(n) === Infinity && (n = 0);\n return new LastIndexOfObservable(this, searchElement, n);\n };\n\n return Rx;\n}));\n","// Copyright (c) Microsoft, All rights reserved. See License.txt in the project root for license information.\n\n;(function (factory) {\n var objectTypes = {\n 'function': true,\n 'object': true\n };\n\n function checkGlobal(value) {\n return (value && value.Object === Object) ? value : null;\n }\n\n var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType) ? exports : null;\n var freeModule = (objectTypes[typeof module] && module && !module.nodeType) ? module : null;\n var freeGlobal = checkGlobal(freeExports && freeModule && typeof global === 'object' && global);\n var freeSelf = checkGlobal(objectTypes[typeof self] && self);\n var freeWindow = checkGlobal(objectTypes[typeof window] && window);\n var moduleExports = (freeModule && freeModule.exports === freeExports) ? freeExports : null;\n var thisGlobal = checkGlobal(objectTypes[typeof this] && this);\n var root = freeGlobal || ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) || freeSelf || thisGlobal || Function('return this')();\n\n // Because of build optimizers\n if (typeof define === 'function' && define.amd) {\n define(['./rx.binding', 'exports'], function (Rx, exports) {\n root.Rx = factory(root, exports, Rx);\n return root.Rx;\n });\n } else if (typeof module === 'object' && module && module.exports === freeExports) {\n module.exports = factory(root, module.exports, require('./rx'));\n } else {\n root.Rx = factory(root, {}, root.Rx);\n }\n}.call(this, function (root, exp, Rx, undefined) {\n\n // Aliases\n var Observable = Rx.Observable,\n observableFromPromise = Observable.fromPromise,\n observableThrow = Observable.throwError,\n AnonymousObservable = Rx.AnonymousObservable,\n ObservableBase = Rx.ObservableBase,\n AsyncSubject = Rx.AsyncSubject,\n disposableCreate = Rx.Disposable.create,\n CompositeDisposable = Rx.CompositeDisposable,\n immediateScheduler = Rx.Scheduler.immediate,\n defaultScheduler = Rx.Scheduler['default'],\n inherits = Rx.internals.inherits,\n isScheduler = Rx.Scheduler.isScheduler,\n isPromise = Rx.helpers.isPromise,\n isFunction = Rx.helpers.isFunction,\n isIterable = Rx.helpers.isIterable,\n isArrayLike = Rx.helpers.isArrayLike;\n\n var errorObj = {e: {}};\n \n function tryCatcherGen(tryCatchTarget) {\n return function tryCatcher() {\n try {\n return tryCatchTarget.apply(this, arguments);\n } catch (e) {\n errorObj.e = e;\n return errorObj;\n }\n };\n }\n\n var tryCatch = Rx.internals.tryCatch = function tryCatch(fn) {\n if (!isFunction(fn)) { throw new TypeError('fn must be a function'); }\n return tryCatcherGen(fn);\n };\n\n function thrower(e) {\n throw e;\n }\n\n Observable.wrap = function (fn) {\n function createObservable() {\n return Observable.spawn.call(this, fn.apply(this, arguments));\n }\n\n createObservable.__generatorFunction__ = fn;\n return createObservable;\n };\n\n var spawn = Observable.spawn = function () {\n var gen = arguments[0], self = this, args = [];\n for (var i = 1, len = arguments.length; i < len; i++) { args.push(arguments[i]); }\n\n return new AnonymousObservable(function (o) {\n var g = new CompositeDisposable();\n\n if (isFunction(gen)) { gen = gen.apply(self, args); }\n if (!gen || !isFunction(gen.next)) {\n o.onNext(gen);\n return o.onCompleted();\n }\n\n function processGenerator(res) {\n var ret = tryCatch(gen.next).call(gen, res);\n if (ret === errorObj) { return o.onError(ret.e); }\n next(ret);\n }\n\n processGenerator();\n\n function onError(err) {\n var ret = tryCatch(gen.next).call(gen, err);\n if (ret === errorObj) { return o.onError(ret.e); }\n next(ret);\n }\n\n function next(ret) {\n if (ret.done) {\n o.onNext(ret.value);\n o.onCompleted();\n return;\n }\n var obs = toObservable.call(self, ret.value);\n var value = null;\n var hasValue = false;\n if (Observable.isObservable(obs)) {\n g.add(obs.subscribe(function(val) {\n hasValue = true;\n value = val;\n }, onError, function() {\n hasValue && processGenerator(value);\n }));\n } else {\n onError(new TypeError('type not supported'));\n }\n }\n\n return g;\n });\n };\n\n function toObservable(obj) {\n if (!obj) { return obj; }\n if (Observable.isObservable(obj)) { return obj; }\n if (isPromise(obj)) { return Observable.fromPromise(obj); }\n if (isGeneratorFunction(obj) || isGenerator(obj)) { return spawn.call(this, obj); }\n if (isFunction(obj)) { return thunkToObservable.call(this, obj); }\n if (isArrayLike(obj) || isIterable(obj)) { return arrayToObservable.call(this, obj); }\n if (isObject(obj)) {return objectToObservable.call(this, obj);}\n return obj;\n }\n\n function arrayToObservable (obj) {\n return Observable.from(obj).concatMap(function(o) {\n if(Observable.isObservable(o) || isObject(o)) {\n return toObservable.call(null, o);\n } else {\n return Rx.Observable.just(o);\n }\n }).toArray();\n }\n\n function objectToObservable (obj) {\n var results = new obj.constructor(), keys = Object.keys(obj), observables = [];\n for (var i = 0, len = keys.length; i < len; i++) {\n var key = keys[i];\n var observable = toObservable.call(this, obj[key]);\n\n if(observable && Observable.isObservable(observable)) {\n defer(observable, key);\n } else {\n results[key] = obj[key];\n }\n }\n\n return Observable.forkJoin.apply(Observable, observables).map(function() {\n return results;\n });\n\n\n function defer (observable, key) {\n results[key] = undefined;\n observables.push(observable.map(function (next) {\n results[key] = next;\n }));\n }\n }\n\n function thunkToObservable(fn) {\n var self = this;\n return new AnonymousObservable(function (o) {\n fn.call(self, function () {\n var err = arguments[0], res = arguments[1];\n if (err) { return o.onError(err); }\n if (arguments.length > 2) {\n var args = [];\n for (var i = 1, len = arguments.length; i < len; i++) { args.push(arguments[i]); }\n res = args;\n }\n o.onNext(res);\n o.onCompleted();\n });\n });\n }\n\n function isGenerator(obj) {\n return isFunction (obj.next) && isFunction (obj['throw']);\n }\n\n function isGeneratorFunction(obj) {\n var ctor = obj.constructor;\n if (!ctor) { return false; }\n if (ctor.name === 'GeneratorFunction' || ctor.displayName === 'GeneratorFunction') { return true; }\n return isGenerator(ctor.prototype);\n }\n\n function isObject(val) {\n return Object == val.constructor;\n }\n\n /**\n * Invokes the specified function asynchronously on the specified scheduler, surfacing the result through an observable sequence.\n *\n * @example\n * var res = Rx.Observable.start(function () { console.log('hello'); });\n * var res = Rx.Observable.start(function () { console.log('hello'); }, Rx.Scheduler.timeout);\n * var res = Rx.Observable.start(function () { this.log('hello'); }, Rx.Scheduler.timeout, console);\n *\n * @param {Function} func Function to run asynchronously.\n * @param {Scheduler} [scheduler] Scheduler to run the function on. If not specified, defaults to Scheduler.timeout.\n * @param [context] The context for the func parameter to be executed. If not specified, defaults to undefined.\n * @returns {Observable} An observable sequence exposing the function's result value, or an exception.\n *\n * Remarks\n * * The function is called immediately, not during the subscription of the resulting sequence.\n * * Multiple subscriptions to the resulting sequence can observe the function's result.\n */\n Observable.start = function (func, context, scheduler) {\n return observableToAsync(func, context, scheduler)();\n };\n\n /**\n * Converts the function into an asynchronous function. Each invocation of the resulting asynchronous function causes an invocation of the original synchronous function on the specified scheduler.\n * @param {Function} function Function to convert to an asynchronous function.\n * @param {Scheduler} [scheduler] Scheduler to run the function on. If not specified, defaults to Scheduler.timeout.\n * @param {Mixed} [context] The context for the func parameter to be executed. If not specified, defaults to undefined.\n * @returns {Function} Asynchronous function.\n */\n var observableToAsync = Observable.toAsync = function (func, context, scheduler) {\n isScheduler(scheduler) || (scheduler = defaultScheduler);\n return function () {\n var args = arguments,\n subject = new AsyncSubject();\n\n scheduler.schedule(null, function () {\n var result;\n try {\n result = func.apply(context, args);\n } catch (e) {\n subject.onError(e);\n return;\n }\n subject.onNext(result);\n subject.onCompleted();\n });\n return subject.asObservable();\n };\n };\n\nfunction createCbObservable(fn, ctx, selector, args) {\n var o = new AsyncSubject();\n\n args.push(createCbHandler(o, ctx, selector));\n fn.apply(ctx, args);\n\n return o.asObservable();\n}\n\nfunction createCbHandler(o, ctx, selector) {\n return function handler () {\n var len = arguments.length, results = new Array(len);\n for(var i = 0; i < len; i++) { results[i] = arguments[i]; }\n\n if (isFunction(selector)) {\n results = tryCatch(selector).apply(ctx, results);\n if (results === errorObj) { return o.onError(results.e); }\n o.onNext(results);\n } else {\n if (results.length <= 1) {\n o.onNext(results[0]);\n } else {\n o.onNext(results);\n }\n }\n\n o.onCompleted();\n };\n}\n\n/**\n * Converts a callback function to an observable sequence.\n *\n * @param {Function} fn Function with a callback as the last parameter to convert to an Observable sequence.\n * @param {Mixed} [ctx] The context for the func parameter to be executed. If not specified, defaults to undefined.\n * @param {Function} [selector] A selector which takes the arguments from the callback to produce a single item to yield on next.\n * @returns {Function} A function, when executed with the required parameters minus the callback, produces an Observable sequence with a single value of the arguments to the callback as an array.\n */\nObservable.fromCallback = function (fn, ctx, selector) {\n return function () {\n typeof ctx === 'undefined' && (ctx = this); \n\n var len = arguments.length, args = new Array(len)\n for(var i = 0; i < len; i++) { args[i] = arguments[i]; }\n return createCbObservable(fn, ctx, selector, args);\n };\n};\n\nfunction createNodeObservable(fn, ctx, selector, args) {\n var o = new AsyncSubject();\n\n args.push(createNodeHandler(o, ctx, selector));\n fn.apply(ctx, args);\n\n return o.asObservable();\n}\n\nfunction createNodeHandler(o, ctx, selector) {\n return function handler () {\n var err = arguments[0];\n if (err) { return o.onError(err); }\n\n var len = arguments.length, results = [];\n for(var i = 1; i < len; i++) { results[i - 1] = arguments[i]; }\n\n if (isFunction(selector)) {\n var results = tryCatch(selector).apply(ctx, results);\n if (results === errorObj) { return o.onError(results.e); }\n o.onNext(results);\n } else {\n if (results.length <= 1) {\n o.onNext(results[0]);\n } else {\n o.onNext(results);\n }\n }\n\n o.onCompleted();\n };\n}\n\n/**\n * Converts a Node.js callback style function to an observable sequence. This must be in function (err, ...) format.\n * @param {Function} fn The function to call\n * @param {Mixed} [ctx] The context for the func parameter to be executed. If not specified, defaults to undefined.\n * @param {Function} [selector] A selector which takes the arguments from the callback minus the error to produce a single item to yield on next.\n * @returns {Function} An async function which when applied, returns an observable sequence with the callback arguments as an array.\n */\nObservable.fromNodeCallback = function (fn, ctx, selector) {\n return function () {\n typeof ctx === 'undefined' && (ctx = this); \n var len = arguments.length, args = new Array(len);\n for(var i = 0; i < len; i++) { args[i] = arguments[i]; }\n return createNodeObservable(fn, ctx, selector, args);\n };\n};\n\n function isNodeList(el) {\n if (root.StaticNodeList) {\n // IE8 Specific\n // instanceof is slower than Object#toString, but Object#toString will not work as intended in IE8\n return el instanceof root.StaticNodeList || el instanceof root.NodeList;\n } else {\n return Object.prototype.toString.call(el) === '[object NodeList]';\n }\n }\n\n function ListenDisposable(e, n, fn) {\n this._e = e;\n this._n = n;\n this._fn = fn;\n this._e.addEventListener(this._n, this._fn, false);\n this.isDisposed = false;\n }\n ListenDisposable.prototype.dispose = function () {\n if (!this.isDisposed) {\n this._e.removeEventListener(this._n, this._fn, false);\n this.isDisposed = true;\n }\n };\n\n function createEventListener (el, eventName, handler) {\n var disposables = new CompositeDisposable();\n\n // Asume NodeList or HTMLCollection\n var elemToString = Object.prototype.toString.call(el);\n if (isNodeList(el) || elemToString === '[object HTMLCollection]') {\n for (var i = 0, len = el.length; i < len; i++) {\n disposables.add(createEventListener(el.item(i), eventName, handler));\n }\n } else if (el) {\n disposables.add(new ListenDisposable(el, eventName, handler));\n }\n\n return disposables;\n }\n\n /**\n * Configuration option to determine whether to use native events only\n */\n Rx.config.useNativeEvents = false;\n\n var EventObservable = (function(__super__) {\n inherits(EventObservable, __super__);\n function EventObservable(el, name, fn) {\n this._el = el;\n this._n = name;\n this._fn = fn;\n __super__.call(this);\n }\n\n function createHandler(o, fn) {\n return function handler () {\n var results = arguments[0];\n if (isFunction(fn)) {\n results = tryCatch(fn).apply(null, arguments);\n if (results === errorObj) { return o.onError(results.e); }\n }\n o.onNext(results);\n };\n }\n\n EventObservable.prototype.subscribeCore = function (o) {\n return createEventListener(\n this._el,\n this._n,\n createHandler(o, this._fn));\n };\n\n return EventObservable;\n }(ObservableBase));\n\n /**\n * Creates an observable sequence by adding an event listener to the matching DOMElement or each item in the NodeList.\n * @param {Object} element The DOMElement or NodeList to attach a listener.\n * @param {String} eventName The event name to attach the observable sequence.\n * @param {Function} [selector] A selector which takes the arguments from the event handler to produce a single item to yield on next.\n * @returns {Observable} An observable sequence of events from the specified element and the specified event.\n */\n Observable.fromEvent = function (element, eventName, selector) {\n // Node.js specific\n if (element.addListener) {\n return fromEventPattern(\n function (h) { element.addListener(eventName, h); },\n function (h) { element.removeListener(eventName, h); },\n selector);\n }\n\n // Use only if non-native events are allowed\n if (!Rx.config.useNativeEvents) {\n // Handles jq, Angular.js, Zepto, Marionette, Ember.js\n if (typeof element.on === 'function' && typeof element.off === 'function') {\n return fromEventPattern(\n function (h) { element.on(eventName, h); },\n function (h) { element.off(eventName, h); },\n selector);\n }\n }\n\n return new EventObservable(element, eventName, selector).publish().refCount();\n };\n\n var EventPatternObservable = (function(__super__) {\n inherits(EventPatternObservable, __super__);\n function EventPatternObservable(add, del, fn) {\n this._add = add;\n this._del = del;\n this._fn = fn;\n __super__.call(this);\n }\n\n function createHandler(o, fn) {\n return function handler () {\n var results = arguments[0];\n if (isFunction(fn)) {\n results = tryCatch(fn).apply(null, arguments);\n if (results === errorObj) { return o.onError(results.e); }\n }\n o.onNext(results);\n };\n }\n\n EventPatternObservable.prototype.subscribeCore = function (o) {\n var fn = createHandler(o, this._fn);\n var returnValue = this._add(fn);\n return new EventPatternDisposable(this._del, fn, returnValue);\n };\n\n function EventPatternDisposable(del, fn, ret) {\n this._del = del;\n this._fn = fn;\n this._ret = ret;\n this.isDisposed = false;\n }\n\n EventPatternDisposable.prototype.dispose = function () {\n if(!this.isDisposed) {\n isFunction(this._del) && this._del(this._fn, this._ret);\n this.isDisposed = true;\n }\n };\n\n return EventPatternObservable;\n }(ObservableBase));\n\n /**\n * Creates an observable sequence from an event emitter via an addHandler/removeHandler pair.\n * @param {Function} addHandler The function to add a handler to the emitter.\n * @param {Function} [removeHandler] The optional function to remove a handler from an emitter.\n * @param {Function} [selector] A selector which takes the arguments from the event handler to produce a single item to yield on next.\n * @returns {Observable} An observable sequence which wraps an event from an event emitter\n */\n var fromEventPattern = Observable.fromEventPattern = function (addHandler, removeHandler, selector) {\n return new EventPatternObservable(addHandler, removeHandler, selector).publish().refCount();\n };\n\n /**\n * Invokes the asynchronous function, surfacing the result through an observable sequence.\n * @param {Function} functionAsync Asynchronous function which returns a Promise to run.\n * @returns {Observable} An observable sequence exposing the function's result value, or an exception.\n */\n Observable.startAsync = function (functionAsync) {\n var promise = tryCatch(functionAsync)();\n if (promise === errorObj) { return observableThrow(promise.e); }\n return observableFromPromise(promise);\n };\n\n return Rx;\n}));\n","// Copyright (c) Microsoft, All rights reserved. See License.txt in the project root for license information.\n\n;(function (factory) {\n var objectTypes = {\n 'function': true,\n 'object': true\n };\n\n function checkGlobal(value) {\n return (value && value.Object === Object) ? value : null;\n }\n\n var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType) ? exports : null;\n var freeModule = (objectTypes[typeof module] && module && !module.nodeType) ? module : null;\n var freeGlobal = checkGlobal(freeExports && freeModule && typeof global === 'object' && global);\n var freeSelf = checkGlobal(objectTypes[typeof self] && self);\n var freeWindow = checkGlobal(objectTypes[typeof window] && window);\n var moduleExports = (freeModule && freeModule.exports === freeExports) ? freeExports : null;\n var thisGlobal = checkGlobal(objectTypes[typeof this] && this);\n var root = freeGlobal || ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) || freeSelf || thisGlobal || Function('return this')();\n\n // Because of build optimizers\n if (typeof define === 'function' && define.amd) {\n define(['./rx'], function (Rx, exports) {\n return factory(root, exports, Rx);\n });\n } else if (typeof module === 'object' && module && module.exports === freeExports) {\n module.exports = factory(root, module.exports, require('./rx'));\n } else {\n root.Rx = factory(root, {}, root.Rx);\n }\n}.call(this, function (root, exp, Rx, undefined) {\n\n // References\n var Observable = Rx.Observable,\n observableProto = Observable.prototype,\n AnonymousObservable = Rx.AnonymousObservable,\n AbstractObserver = Rx.internals.AbstractObserver,\n CompositeDisposable = Rx.CompositeDisposable,\n BinaryDisposable = Rx.BinaryDisposable,\n NAryDisposable = Rx.NAryDisposable,\n Notification = Rx.Notification,\n Subject = Rx.Subject,\n Observer = Rx.Observer,\n disposableEmpty = Rx.Disposable.empty,\n disposableCreate = Rx.Disposable.create,\n inherits = Rx.internals.inherits,\n addProperties = Rx.internals.addProperties,\n defaultScheduler = Rx.Scheduler['default'],\n currentThreadScheduler = Rx.Scheduler.currentThread,\n identity = Rx.helpers.identity,\n isScheduler = Rx.Scheduler.isScheduler,\n isFunction = Rx.helpers.isFunction,\n checkDisposed = Rx.Disposable.checkDisposed;\n\n var errorObj = {e: {}};\n \n function tryCatcherGen(tryCatchTarget) {\n return function tryCatcher() {\n try {\n return tryCatchTarget.apply(this, arguments);\n } catch (e) {\n errorObj.e = e;\n return errorObj;\n }\n };\n }\n\n var tryCatch = Rx.internals.tryCatch = function tryCatch(fn) {\n if (!isFunction(fn)) { throw new TypeError('fn must be a function'); }\n return tryCatcherGen(fn);\n };\n\n function thrower(e) {\n throw e;\n }\n\n /**\n * Used to pause and resume streams.\n */\n Rx.Pauser = (function (__super__) {\n inherits(Pauser, __super__);\n function Pauser() {\n __super__.call(this);\n }\n\n /**\n * Pauses the underlying sequence.\n */\n Pauser.prototype.pause = function () { this.onNext(false); };\n\n /**\n * Resumes the underlying sequence.\n */\n Pauser.prototype.resume = function () { this.onNext(true); };\n\n return Pauser;\n }(Subject));\n\n var PausableObservable = (function (__super__) {\n inherits(PausableObservable, __super__);\n function PausableObservable(source, pauser) {\n this.source = source;\n this.controller = new Subject();\n this.paused = true;\n\n if (pauser && pauser.subscribe) {\n this.pauser = this.controller.merge(pauser);\n } else {\n this.pauser = this.controller;\n }\n\n __super__.call(this);\n }\n\n PausableObservable.prototype._subscribe = function (o) {\n var conn = this.source.publish(),\n subscription = conn.subscribe(o),\n connection = disposableEmpty;\n\n var pausable = this.pauser.startWith(!this.paused).distinctUntilChanged().subscribe(function (b) {\n if (b) {\n connection = conn.connect();\n } else {\n connection.dispose();\n connection = disposableEmpty;\n }\n });\n\n return new NAryDisposable([subscription, connection, pausable]);\n };\n\n PausableObservable.prototype.pause = function () {\n this.paused = true;\n this.controller.onNext(false);\n };\n\n PausableObservable.prototype.resume = function () {\n this.paused = false;\n this.controller.onNext(true);\n };\n\n return PausableObservable;\n\n }(Observable));\n\n /**\n * Pauses the underlying observable sequence based upon the observable sequence which yields true/false.\n * @example\n * var pauser = new Rx.Subject();\n * var source = Rx.Observable.interval(100).pausable(pauser);\n * @param {Observable} pauser The observable sequence used to pause the underlying sequence.\n * @returns {Observable} The observable sequence which is paused based upon the pauser.\n */\n observableProto.pausable = function (pauser) {\n return new PausableObservable(this, pauser);\n };\n\n function combineLatestSource(source, subject, resultSelector) {\n return new AnonymousObservable(function (o) {\n var hasValue = [false, false],\n hasValueAll = false,\n isDone = false,\n values = new Array(2),\n err;\n\n function next(x, i) {\n values[i] = x;\n hasValue[i] = true;\n if (hasValueAll || (hasValueAll = hasValue.every(identity))) {\n if (err) { return o.onError(err); }\n var res = tryCatch(resultSelector).apply(null, values);\n if (res === errorObj) { return o.onError(res.e); }\n o.onNext(res);\n }\n isDone && values[1] && o.onCompleted();\n }\n\n return new BinaryDisposable(\n source.subscribe(\n function (x) {\n next(x, 0);\n },\n function (e) {\n if (values[1]) {\n o.onError(e);\n } else {\n err = e;\n }\n },\n function () {\n isDone = true;\n values[1] && o.onCompleted();\n }),\n subject.subscribe(\n function (x) {\n next(x, 1);\n },\n function (e) { o.onError(e); },\n function () {\n isDone = true;\n next(true, 1);\n })\n );\n }, source);\n }\n\n var PausableBufferedObservable = (function (__super__) {\n inherits(PausableBufferedObservable, __super__);\n function PausableBufferedObservable(source, pauser) {\n this.source = source;\n this.controller = new Subject();\n this.paused = true;\n\n if (pauser && pauser.subscribe) {\n this.pauser = this.controller.merge(pauser);\n } else {\n this.pauser = this.controller;\n }\n\n __super__.call(this);\n }\n\n PausableBufferedObservable.prototype._subscribe = function (o) {\n var q = [], previousShouldFire;\n\n function drainQueue() { while (q.length > 0) { o.onNext(q.shift()); } }\n\n var subscription =\n combineLatestSource(\n this.source,\n this.pauser.startWith(!this.paused).distinctUntilChanged(),\n function (data, shouldFire) {\n return { data: data, shouldFire: shouldFire };\n })\n .subscribe(\n function (results) {\n if (previousShouldFire !== undefined && results.shouldFire !== previousShouldFire) {\n previousShouldFire = results.shouldFire;\n // change in shouldFire\n if (results.shouldFire) { drainQueue(); }\n } else {\n previousShouldFire = results.shouldFire;\n // new data\n if (results.shouldFire) {\n o.onNext(results.data);\n } else {\n q.push(results.data);\n }\n }\n },\n function (err) {\n drainQueue();\n o.onError(err);\n },\n function () {\n drainQueue();\n o.onCompleted();\n }\n );\n return subscription; \n };\n\n PausableBufferedObservable.prototype.pause = function () {\n this.paused = true;\n this.controller.onNext(false);\n };\n\n PausableBufferedObservable.prototype.resume = function () {\n this.paused = false;\n this.controller.onNext(true);\n };\n\n return PausableBufferedObservable;\n\n }(Observable));\n\n /**\n * Pauses the underlying observable sequence based upon the observable sequence which yields true/false,\n * and yields the values that were buffered while paused.\n * @example\n * var pauser = new Rx.Subject();\n * var source = Rx.Observable.interval(100).pausableBuffered(pauser);\n * @param {Observable} pauser The observable sequence used to pause the underlying sequence.\n * @returns {Observable} The observable sequence which is paused based upon the pauser.\n */\n observableProto.pausableBuffered = function (pauser) {\n return new PausableBufferedObservable(this, pauser);\n };\n\n var ControlledObservable = (function (__super__) {\n inherits(ControlledObservable, __super__);\n function ControlledObservable (source, enableQueue, scheduler) {\n __super__.call(this);\n this.subject = new ControlledSubject(enableQueue, scheduler);\n this.source = source.multicast(this.subject).refCount();\n }\n\n ControlledObservable.prototype._subscribe = function (o) {\n return this.source.subscribe(o);\n };\n\n ControlledObservable.prototype.request = function (numberOfItems) {\n return this.subject.request(numberOfItems == null ? -1 : numberOfItems);\n };\n\n return ControlledObservable;\n\n }(Observable));\n\n var ControlledSubject = (function (__super__) {\n inherits(ControlledSubject, __super__);\n function ControlledSubject(enableQueue, scheduler) {\n enableQueue == null && (enableQueue = true);\n\n __super__.call(this);\n this.subject = new Subject();\n this.enableQueue = enableQueue;\n this.queue = enableQueue ? [] : null;\n this.requestedCount = 0;\n this.requestedDisposable = null;\n this.error = null;\n this.hasFailed = false;\n this.hasCompleted = false;\n this.scheduler = scheduler || currentThreadScheduler;\n }\n\n addProperties(ControlledSubject.prototype, Observer, {\n _subscribe: function (o) {\n return this.subject.subscribe(o);\n },\n onCompleted: function () {\n this.hasCompleted = true;\n if (!this.enableQueue || this.queue.length === 0) {\n this.subject.onCompleted();\n this.disposeCurrentRequest();\n } else {\n this.queue.push(Notification.createOnCompleted());\n }\n },\n onError: function (error) {\n this.hasFailed = true;\n this.error = error;\n if (!this.enableQueue || this.queue.length === 0) {\n this.subject.onError(error);\n this.disposeCurrentRequest();\n } else {\n this.queue.push(Notification.createOnError(error));\n }\n },\n onNext: function (value) {\n if (this.requestedCount <= 0) {\n this.enableQueue && this.queue.push(Notification.createOnNext(value));\n } else {\n (this.requestedCount-- === 0) && this.disposeCurrentRequest();\n this.subject.onNext(value);\n }\n },\n _processRequest: function (numberOfItems) {\n if (this.enableQueue) {\n while (this.queue.length > 0 && (numberOfItems > 0 || this.queue[0].kind !== 'N')) {\n var first = this.queue.shift();\n first.accept(this.subject);\n if (first.kind === 'N') {\n numberOfItems--;\n } else {\n this.disposeCurrentRequest();\n this.queue = [];\n }\n }\n }\n\n return numberOfItems;\n },\n request: function (number) {\n this.disposeCurrentRequest();\n var self = this;\n\n this.requestedDisposable = this.scheduler.schedule(number,\n function(s, i) {\n var remaining = self._processRequest(i);\n var stopped = self.hasCompleted || self.hasFailed;\n if (!stopped && remaining > 0) {\n self.requestedCount = remaining;\n\n return disposableCreate(function () {\n self.requestedCount = 0;\n });\n // Scheduled item is still in progress. Return a new\n // disposable to allow the request to be interrupted\n // via dispose.\n }\n });\n\n return this.requestedDisposable;\n },\n disposeCurrentRequest: function () {\n if (this.requestedDisposable) {\n this.requestedDisposable.dispose();\n this.requestedDisposable = null;\n }\n }\n });\n\n return ControlledSubject;\n }(Observable));\n\n /**\n * Attaches a controller to the observable sequence with the ability to queue.\n * @example\n * var source = Rx.Observable.interval(100).controlled();\n * source.request(3); // Reads 3 values\n * @param {bool} enableQueue truthy value to determine if values should be queued pending the next request\n * @param {Scheduler} scheduler determines how the requests will be scheduled\n * @returns {Observable} The observable sequence which only propagates values on request.\n */\n observableProto.controlled = function (enableQueue, scheduler) {\n\n if (enableQueue && isScheduler(enableQueue)) {\n scheduler = enableQueue;\n enableQueue = true;\n }\n\n if (enableQueue == null) { enableQueue = true; }\n return new ControlledObservable(this, enableQueue, scheduler);\n };\n\n var StopAndWaitObservable = (function (__super__) {\n inherits(StopAndWaitObservable, __super__);\n function StopAndWaitObservable (source) {\n __super__.call(this);\n this.source = source;\n }\n\n function scheduleMethod(s, self) {\n return self.source.request(1);\n }\n\n StopAndWaitObservable.prototype._subscribe = function (o) {\n this.subscription = this.source.subscribe(new StopAndWaitObserver(o, this, this.subscription));\n return new BinaryDisposable(\n this.subscription,\n defaultScheduler.schedule(this, scheduleMethod)\n );\n };\n\n var StopAndWaitObserver = (function (__sub__) {\n inherits(StopAndWaitObserver, __sub__);\n function StopAndWaitObserver (observer, observable, cancel) {\n __sub__.call(this);\n this.observer = observer;\n this.observable = observable;\n this.cancel = cancel;\n this.scheduleDisposable = null;\n }\n\n StopAndWaitObserver.prototype.completed = function () {\n this.observer.onCompleted();\n this.dispose();\n };\n\n StopAndWaitObserver.prototype.error = function (error) {\n this.observer.onError(error);\n this.dispose();\n };\n\n function innerScheduleMethod(s, self) {\n return self.observable.source.request(1);\n }\n\n StopAndWaitObserver.prototype.next = function (value) {\n this.observer.onNext(value);\n this.scheduleDisposable = defaultScheduler.schedule(this, innerScheduleMethod);\n };\n\n StopAndWaitObserver.dispose = function () {\n this.observer = null;\n if (this.cancel) {\n this.cancel.dispose();\n this.cancel = null;\n }\n if (this.scheduleDisposable) {\n this.scheduleDisposable.dispose();\n this.scheduleDisposable = null;\n }\n __sub__.prototype.dispose.call(this);\n };\n\n return StopAndWaitObserver;\n }(AbstractObserver));\n\n return StopAndWaitObservable;\n }(Observable));\n\n\n /**\n * Attaches a stop and wait observable to the current observable.\n * @returns {Observable} A stop and wait observable.\n */\n ControlledObservable.prototype.stopAndWait = function () {\n return new StopAndWaitObservable(this);\n };\n\n var WindowedObservable = (function (__super__) {\n inherits(WindowedObservable, __super__);\n function WindowedObservable(source, windowSize) {\n __super__.call(this);\n this.source = source;\n this.windowSize = windowSize;\n }\n\n function scheduleMethod(s, self) {\n return self.source.request(self.windowSize);\n }\n\n WindowedObservable.prototype._subscribe = function (o) {\n this.subscription = this.source.subscribe(new WindowedObserver(o, this, this.subscription));\n return new BinaryDisposable(\n this.subscription,\n defaultScheduler.schedule(this, scheduleMethod)\n );\n };\n\n var WindowedObserver = (function (__sub__) {\n inherits(WindowedObserver, __sub__);\n function WindowedObserver(observer, observable, cancel) {\n this.observer = observer;\n this.observable = observable;\n this.cancel = cancel;\n this.received = 0;\n this.scheduleDisposable = null;\n __sub__.call(this);\n }\n\n WindowedObserver.prototype.completed = function () {\n this.observer.onCompleted();\n this.dispose();\n };\n\n WindowedObserver.prototype.error = function (error) {\n this.observer.onError(error);\n this.dispose();\n };\n\n function innerScheduleMethod(s, self) {\n return self.observable.source.request(self.observable.windowSize);\n }\n\n WindowedObserver.prototype.next = function (value) {\n this.observer.onNext(value);\n this.received = ++this.received % this.observable.windowSize;\n this.received === 0 && (this.scheduleDisposable = defaultScheduler.schedule(this, innerScheduleMethod));\n };\n\n WindowedObserver.prototype.dispose = function () {\n this.observer = null;\n if (this.cancel) {\n this.cancel.dispose();\n this.cancel = null;\n }\n if (this.scheduleDisposable) {\n this.scheduleDisposable.dispose();\n this.scheduleDisposable = null;\n }\n __sub__.prototype.dispose.call(this);\n };\n\n return WindowedObserver;\n }(AbstractObserver));\n\n return WindowedObservable;\n }(Observable));\n\n /**\n * Creates a sliding windowed observable based upon the window size.\n * @param {Number} windowSize The number of items in the window\n * @returns {Observable} A windowed observable based upon the window size.\n */\n ControlledObservable.prototype.windowed = function (windowSize) {\n return new WindowedObservable(this, windowSize);\n };\n\n /**\n * Pipes the existing Observable sequence into a Node.js Stream.\n * @param {Stream} dest The destination Node.js stream.\n * @returns {Stream} The destination stream.\n */\n observableProto.pipe = function (dest) {\n var source = this.pausableBuffered();\n\n function onDrain() {\n source.resume();\n }\n\n dest.addListener('drain', onDrain);\n\n source.subscribe(\n function (x) {\n !dest.write(x) && source.pause();\n },\n function (err) {\n dest.emit('error', err);\n },\n function () {\n // Hack check because STDIO is not closable\n !dest._isStdio && dest.end();\n dest.removeListener('drain', onDrain);\n });\n\n source.resume();\n\n return dest;\n };\n\n return Rx;\n}));\n","// Copyright (c) Microsoft, All rights reserved. See License.txt in the project root for license information.\n\n;(function (factory) {\n var objectTypes = {\n 'function': true,\n 'object': true\n };\n\n function checkGlobal(value) {\n return (value && value.Object === Object) ? value : null;\n }\n\n var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType) ? exports : null;\n var freeModule = (objectTypes[typeof module] && module && !module.nodeType) ? module : null;\n var freeGlobal = checkGlobal(freeExports && freeModule && typeof global === 'object' && global);\n var freeSelf = checkGlobal(objectTypes[typeof self] && self);\n var freeWindow = checkGlobal(objectTypes[typeof window] && window);\n var moduleExports = (freeModule && freeModule.exports === freeExports) ? freeExports : null;\n var thisGlobal = checkGlobal(objectTypes[typeof this] && this);\n var root = freeGlobal || ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) || freeSelf || thisGlobal || Function('return this')();\n\n // Because of build optimizers\n if (typeof define === 'function' && define.amd) {\n define(['./rx'], function (Rx, exports) {\n return factory(root, exports, Rx);\n });\n } else if (typeof module === 'object' && module && module.exports === freeExports) {\n module.exports = factory(root, module.exports, require('./rx'));\n } else {\n root.Rx = factory(root, {}, root.Rx);\n }\n}.call(this, function (root, exp, Rx, undefined) {\n\n var Observable = Rx.Observable,\n observableProto = Observable.prototype,\n AnonymousObservable = Rx.AnonymousObservable,\n ObservableBase = Rx.ObservableBase,\n Subject = Rx.Subject,\n AsyncSubject = Rx.AsyncSubject,\n Observer = Rx.Observer,\n ScheduledObserver = Rx.internals.ScheduledObserver,\n disposableCreate = Rx.Disposable.create,\n disposableEmpty = Rx.Disposable.empty,\n BinaryDisposable = Rx.BinaryDisposable,\n currentThreadScheduler = Rx.Scheduler.currentThread,\n isFunction = Rx.helpers.isFunction,\n inherits = Rx.internals.inherits,\n addProperties = Rx.internals.addProperties,\n checkDisposed = Rx.Disposable.checkDisposed;\n\n // Utilities\n function cloneArray(arr) {\n var len = arr.length, a = new Array(len);\n for(var i = 0; i < len; i++) { a[i] = arr[i]; }\n return a;\n }\n\n var MulticastObservable = (function (__super__) {\n inherits(MulticastObservable, __super__);\n function MulticastObservable(source, fn1, fn2) {\n this.source = source;\n this._fn1 = fn1;\n this._fn2 = fn2;\n __super__.call(this);\n }\n\n MulticastObservable.prototype.subscribeCore = function (o) {\n var connectable = this.source.multicast(this._fn1());\n return new BinaryDisposable(this._fn2(connectable).subscribe(o), connectable.connect());\n };\n\n return MulticastObservable;\n }(ObservableBase));\n\n /**\n * Multicasts the source sequence notifications through an instantiated subject into all uses of the sequence within a selector function. Each\n * subscription to the resulting sequence causes a separate multicast invocation, exposing the sequence resulting from the selector function's\n * invocation. For specializations with fixed subject types, see Publish, PublishLast, and Replay.\n *\n * @example\n * 1 - res = source.multicast(observable);\n * 2 - res = source.multicast(function () { return new Subject(); }, function (x) { return x; });\n *\n * @param {Function|Subject} subjectOrSubjectSelector\n * Factory function to create an intermediate subject through which the source sequence's elements will be multicast to the selector function.\n * Or:\n * Subject to push source elements into.\n *\n * @param {Function} [selector] Optional selector function which can use the multicasted source sequence subject to the policies enforced by the created subject. Specified only if 0; },\n /**\n * Notifies all subscribed observers about the end of the sequence.\n */\n onCompleted: function () {\n checkDisposed(this);\n if (this.isStopped) { return; }\n this.isStopped = true;\n for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) {\n os[i].onCompleted();\n }\n\n this.observers.length = 0;\n },\n /**\n * Notifies all subscribed observers about the exception.\n * @param {Mixed} error The exception to send to all observers.\n */\n onError: function (error) {\n checkDisposed(this);\n if (this.isStopped) { return; }\n this.isStopped = true;\n this.hasError = true;\n this.error = error;\n\n for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) {\n os[i].onError(error);\n }\n\n this.observers.length = 0;\n },\n /**\n * Notifies all subscribed observers about the arrival of the specified element in the sequence.\n * @param {Mixed} value The value to send to all observers.\n */\n onNext: function (value) {\n checkDisposed(this);\n if (this.isStopped) { return; }\n this.value = value;\n for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) {\n os[i].onNext(value);\n }\n },\n /**\n * Unsubscribe all observers and release resources.\n */\n dispose: function () {\n this.isDisposed = true;\n this.observers = null;\n this.value = null;\n this.error = null;\n }\n });\n\n return BehaviorSubject;\n }(Observable));\n\n /**\n * Represents an object that is both an observable sequence as well as an observer.\n * Each notification is broadcasted to all subscribed and future observers, subject to buffer trimming policies.\n */\n var ReplaySubject = Rx.ReplaySubject = (function (__super__) {\n\n var maxSafeInteger = Math.pow(2, 53) - 1;\n\n function createRemovableDisposable(subject, observer) {\n return disposableCreate(function () {\n observer.dispose();\n !subject.isDisposed && subject.observers.splice(subject.observers.indexOf(observer), 1);\n });\n }\n\n inherits(ReplaySubject, __super__);\n\n /**\n * Initializes a new instance of the ReplaySubject class with the specified buffer size, window size and scheduler.\n * @param {Number} [bufferSize] Maximum element count of the replay buffer.\n * @param {Number} [windowSize] Maximum time length of the replay buffer.\n * @param {Scheduler} [scheduler] Scheduler the observers are invoked on.\n */\n function ReplaySubject(bufferSize, windowSize, scheduler) {\n this.bufferSize = bufferSize == null ? maxSafeInteger : bufferSize;\n this.windowSize = windowSize == null ? maxSafeInteger : windowSize;\n this.scheduler = scheduler || currentThreadScheduler;\n this.q = [];\n this.observers = [];\n this.isStopped = false;\n this.isDisposed = false;\n this.hasError = false;\n this.error = null;\n __super__.call(this);\n }\n\n addProperties(ReplaySubject.prototype, Observer.prototype, {\n _subscribe: function (o) {\n checkDisposed(this);\n var so = new ScheduledObserver(this.scheduler, o), subscription = createRemovableDisposable(this, so);\n\n this._trim(this.scheduler.now());\n this.observers.push(so);\n\n for (var i = 0, len = this.q.length; i < len; i++) {\n so.onNext(this.q[i].value);\n }\n\n if (this.hasError) {\n so.onError(this.error);\n } else if (this.isStopped) {\n so.onCompleted();\n }\n\n so.ensureActive();\n return subscription;\n },\n /**\n * Indicates whether the subject has observers subscribed to it.\n * @returns {Boolean} Indicates whether the subject has observers subscribed to it.\n */\n hasObservers: function () { checkDisposed(this); return this.observers.length > 0; },\n _trim: function (now) {\n while (this.q.length > this.bufferSize) {\n this.q.shift();\n }\n while (this.q.length > 0 && (now - this.q[0].interval) > this.windowSize) {\n this.q.shift();\n }\n },\n /**\n * Notifies all subscribed observers about the arrival of the specified element in the sequence.\n * @param {Mixed} value The value to send to all observers.\n */\n onNext: function (value) {\n checkDisposed(this);\n if (this.isStopped) { return; }\n var now = this.scheduler.now();\n this.q.push({ interval: now, value: value });\n this._trim(now);\n\n for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) {\n var observer = os[i];\n observer.onNext(value);\n observer.ensureActive();\n }\n },\n /**\n * Notifies all subscribed observers about the exception.\n * @param {Mixed} error The exception to send to all observers.\n */\n onError: function (error) {\n checkDisposed(this);\n if (this.isStopped) { return; }\n this.isStopped = true;\n this.error = error;\n this.hasError = true;\n var now = this.scheduler.now();\n this._trim(now);\n for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) {\n var observer = os[i];\n observer.onError(error);\n observer.ensureActive();\n }\n this.observers.length = 0;\n },\n /**\n * Notifies all subscribed observers about the end of the sequence.\n */\n onCompleted: function () {\n checkDisposed(this);\n if (this.isStopped) { return; }\n this.isStopped = true;\n var now = this.scheduler.now();\n this._trim(now);\n for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) {\n var observer = os[i];\n observer.onCompleted();\n observer.ensureActive();\n }\n this.observers.length = 0;\n },\n /**\n * Unsubscribe all observers and release resources.\n */\n dispose: function () {\n this.isDisposed = true;\n this.observers = null;\n }\n });\n\n return ReplaySubject;\n }(Observable));\n\n var RefCountObservable = (function (__super__) {\n inherits(RefCountObservable, __super__);\n function RefCountObservable(source) {\n this.source = source;\n this._count = 0;\n this._connectableSubscription = null;\n __super__.call(this);\n }\n\n RefCountObservable.prototype.subscribeCore = function (o) {\n var subscription = this.source.subscribe(o);\n ++this._count === 1 && (this._connectableSubscription = this.source.connect());\n return new RefCountDisposable(this, subscription);\n };\n\n function RefCountDisposable(p, s) {\n this._p = p;\n this._s = s;\n this.isDisposed = false;\n }\n\n RefCountDisposable.prototype.dispose = function () {\n if (!this.isDisposed) {\n this.isDisposed = true;\n this._s.dispose();\n --this._p._count === 0 && this._p._connectableSubscription.dispose();\n }\n };\n\n return RefCountObservable;\n }(ObservableBase));\n\n var ConnectableObservable = Rx.ConnectableObservable = (function (__super__) {\n inherits(ConnectableObservable, __super__);\n function ConnectableObservable(source, subject) {\n this.source = source;\n this._connection = null;\n this._source = source.asObservable();\n this._subject = subject;\n __super__.call(this);\n }\n\n function ConnectDisposable(parent, subscription) {\n this._p = parent;\n this._s = subscription;\n }\n\n ConnectDisposable.prototype.dispose = function () {\n if (this._s) {\n this._s.dispose();\n this._s = null;\n this._p._connection = null;\n }\n };\n\n ConnectableObservable.prototype.connect = function () {\n if (!this._connection) {\n if (this._subject.isStopped) {\n return disposableEmpty;\n }\n var subscription = this._source.subscribe(this._subject);\n this._connection = new ConnectDisposable(this, subscription);\n }\n return this._connection;\n };\n\n ConnectableObservable.prototype._subscribe = function (o) {\n return this._subject.subscribe(o);\n };\n\n ConnectableObservable.prototype.refCount = function () {\n return new RefCountObservable(this);\n };\n\n return ConnectableObservable;\n }(Observable));\n\n /**\n * Returns an observable sequence that shares a single subscription to the underlying sequence. This observable sequence\n * can be resubscribed to, even if all prior subscriptions have ended. (unlike `.publish().refCount()`)\n * @returns {Observable} An observable sequence that contains the elements of a sequence produced by multicasting the source.\n */\n observableProto.singleInstance = function() {\n var source = this, hasObservable = false, observable;\n\n function getObservable() {\n if (!hasObservable) {\n hasObservable = true;\n observable = source['finally'](function() { hasObservable = false; }).publish().refCount();\n }\n return observable;\n }\n\n return new AnonymousObservable(function(o) {\n return getObservable().subscribe(o);\n });\n };\n\n return Rx;\n}));\n","// Copyright (c) Microsoft, All rights reserved. See License.txt in the project root for license information.\n\n;(function (factory) {\n var objectTypes = {\n 'function': true,\n 'object': true\n };\n\n function checkGlobal(value) {\n return (value && value.Object === Object) ? value : null;\n }\n\n var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType) ? exports : null;\n var freeModule = (objectTypes[typeof module] && module && !module.nodeType) ? module : null;\n var freeGlobal = checkGlobal(freeExports && freeModule && typeof global === 'object' && global);\n var freeSelf = checkGlobal(objectTypes[typeof self] && self);\n var freeWindow = checkGlobal(objectTypes[typeof window] && window);\n var moduleExports = (freeModule && freeModule.exports === freeExports) ? freeExports : null;\n var thisGlobal = checkGlobal(objectTypes[typeof this] && this);\n var root = freeGlobal || ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) || freeSelf || thisGlobal || Function('return this')();\n\n // Because of build optimizers\n if (typeof define === 'function' && define.amd) {\n define(['./rx'], function (Rx, exports) {\n return factory(root, exports, Rx);\n });\n } else if (typeof module === 'object' && module && module.exports === freeExports) {\n module.exports = factory(root, module.exports, require('./rx'));\n } else {\n root.Rx = factory(root, {}, root.Rx);\n }\n}.call(this, function (root, exp, Rx, undefined) {\n\n var Observable = Rx.Observable,\n ObservableBase = Rx.ObservableBase,\n AbstractObserver = Rx.internals.AbstractObserver,\n CompositeDisposable = Rx.CompositeDisposable,\n BinaryDisposable = Rx.BinaryDisposable,\n RefCountDisposable = Rx.RefCountDisposable,\n SingleAssignmentDisposable = Rx.SingleAssignmentDisposable,\n SerialDisposable = Rx.SerialDisposable,\n Subject = Rx.Subject,\n observableProto = Observable.prototype,\n observableEmpty = Observable.empty,\n observableNever = Observable.never,\n AnonymousObservable = Rx.AnonymousObservable,\n addRef = Rx.internals.addRef,\n inherits = Rx.internals.inherits,\n bindCallback = Rx.internals.bindCallback,\n noop = Rx.helpers.noop,\n isPromise = Rx.helpers.isPromise,\n isFunction = Rx.helpers.isFunction,\n observableFromPromise = Observable.fromPromise;\n\n var errorObj = {e: {}};\n \n function tryCatcherGen(tryCatchTarget) {\n return function tryCatcher() {\n try {\n return tryCatchTarget.apply(this, arguments);\n } catch (e) {\n errorObj.e = e;\n return errorObj;\n }\n };\n }\n\n var tryCatch = Rx.internals.tryCatch = function tryCatch(fn) {\n if (!isFunction(fn)) { throw new TypeError('fn must be a function'); }\n return tryCatcherGen(fn);\n };\n\n function thrower(e) {\n throw e;\n }\n\n var Map = root.Map || (function () {\n function Map() {\n this.size = 0;\n this._values = [];\n this._keys = [];\n }\n\n Map.prototype['delete'] = function (key) {\n var i = this._keys.indexOf(key);\n if (i === -1) { return false; }\n this._values.splice(i, 1);\n this._keys.splice(i, 1);\n this.size--;\n return true;\n };\n\n Map.prototype.get = function (key) {\n var i = this._keys.indexOf(key);\n return i === -1 ? undefined : this._values[i];\n };\n\n Map.prototype.set = function (key, value) {\n var i = this._keys.indexOf(key);\n if (i === -1) {\n this._keys.push(key);\n this._values.push(value);\n this.size++;\n } else {\n this._values[i] = value;\n }\n return this;\n };\n\n Map.prototype.forEach = function (cb, thisArg) {\n for (var i = 0; i < this.size; i++) {\n cb.call(thisArg, this._values[i], this._keys[i]);\n }\n };\n\n return Map;\n }());\n\n /**\n * Correlates the elements of two sequences based on overlapping durations.\n *\n * @param {Observable} right The right observable sequence to join elements for.\n * @param {Function} leftDurationSelector A function to select the duration (expressed as an observable sequence) of each element of the left observable sequence, used to determine overlap.\n * @param {Function} rightDurationSelector A function to select the duration (expressed as an observable sequence) of each element of the right observable sequence, used to determine overlap.\n * @param {Function} resultSelector A function invoked to compute a result element for any two overlapping elements of the left and right observable sequences. The parameters passed to the function correspond with the elements from the left and right source sequences for which overlap occurs.\n * @returns {Observable} An observable sequence that contains result elements computed from source elements that have an overlapping duration.\n */\n observableProto.join = function (right, leftDurationSelector, rightDurationSelector, resultSelector) {\n var left = this;\n return new AnonymousObservable(function (o) {\n var group = new CompositeDisposable();\n var leftDone = false, rightDone = false;\n var leftId = 0, rightId = 0;\n var leftMap = new Map(), rightMap = new Map();\n var handleError = function (e) { o.onError(e); };\n\n group.add(left.subscribe(\n function (value) {\n var id = leftId++, md = new SingleAssignmentDisposable();\n\n leftMap.set(id, value);\n group.add(md);\n\n var duration = tryCatch(leftDurationSelector)(value);\n if (duration === errorObj) { return o.onError(duration.e); }\n\n md.setDisposable(duration.take(1).subscribe(\n noop,\n handleError,\n function () {\n leftMap['delete'](id) && leftMap.size === 0 && leftDone && o.onCompleted();\n group.remove(md);\n }));\n\n rightMap.forEach(function (v) {\n var result = tryCatch(resultSelector)(value, v);\n if (result === errorObj) { return o.onError(result.e); }\n o.onNext(result);\n });\n },\n handleError,\n function () {\n leftDone = true;\n (rightDone || leftMap.size === 0) && o.onCompleted();\n })\n );\n\n group.add(right.subscribe(\n function (value) {\n var id = rightId++, md = new SingleAssignmentDisposable();\n\n rightMap.set(id, value);\n group.add(md);\n\n var duration = tryCatch(rightDurationSelector)(value);\n if (duration === errorObj) { return o.onError(duration.e); }\n\n md.setDisposable(duration.take(1).subscribe(\n noop,\n handleError,\n function () {\n rightMap['delete'](id) && rightMap.size === 0 && rightDone && o.onCompleted();\n group.remove(md);\n }));\n\n leftMap.forEach(function (v) {\n var result = tryCatch(resultSelector)(v, value);\n if (result === errorObj) { return o.onError(result.e); }\n o.onNext(result);\n });\n },\n handleError,\n function () {\n rightDone = true;\n (leftDone || rightMap.size === 0) && o.onCompleted();\n })\n );\n return group;\n }, left);\n };\n\n /**\n * Correlates the elements of two sequences based on overlapping durations, and groups the results.\n *\n * @param {Observable} right The right observable sequence to join elements for.\n * @param {Function} leftDurationSelector A function to select the duration (expressed as an observable sequence) of each element of the left observable sequence, used to determine overlap.\n * @param {Function} rightDurationSelector A function to select the duration (expressed as an observable sequence) of each element of the right observable sequence, used to determine overlap.\n * @param {Function} resultSelector A function invoked to compute a result element for any element of the left sequence with overlapping elements from the right observable sequence. The first parameter passed to the function is an element of the left sequence. The second parameter passed to the function is an observable sequence with elements from the right sequence that overlap with the left sequence's element.\n * @returns {Observable} An observable sequence that contains result elements computed from source elements that have an overlapping duration.\n */\n observableProto.groupJoin = function (right, leftDurationSelector, rightDurationSelector, resultSelector) {\n var left = this;\n return new AnonymousObservable(function (o) {\n var group = new CompositeDisposable();\n var r = new RefCountDisposable(group);\n var leftMap = new Map(), rightMap = new Map();\n var leftId = 0, rightId = 0;\n var handleError = function (e) { return function (v) { v.onError(e); }; };\n\n function handleError(e) { };\n\n group.add(left.subscribe(\n function (value) {\n var s = new Subject();\n var id = leftId++;\n leftMap.set(id, s);\n\n var result = tryCatch(resultSelector)(value, addRef(s, r));\n if (result === errorObj) {\n leftMap.forEach(handleError(result.e));\n return o.onError(result.e);\n }\n o.onNext(result);\n\n rightMap.forEach(function (v) { s.onNext(v); });\n\n var md = new SingleAssignmentDisposable();\n group.add(md);\n\n var duration = tryCatch(leftDurationSelector)(value);\n if (duration === errorObj) {\n leftMap.forEach(handleError(duration.e));\n return o.onError(duration.e);\n }\n\n md.setDisposable(duration.take(1).subscribe(\n noop,\n function (e) {\n leftMap.forEach(handleError(e));\n o.onError(e);\n },\n function () {\n leftMap['delete'](id) && s.onCompleted();\n group.remove(md);\n }));\n },\n function (e) {\n leftMap.forEach(handleError(e));\n o.onError(e);\n },\n function () { o.onCompleted(); })\n );\n\n group.add(right.subscribe(\n function (value) {\n var id = rightId++;\n rightMap.set(id, value);\n\n var md = new SingleAssignmentDisposable();\n group.add(md);\n\n var duration = tryCatch(rightDurationSelector)(value);\n if (duration === errorObj) {\n leftMap.forEach(handleError(duration.e));\n return o.onError(duration.e);\n }\n\n md.setDisposable(duration.take(1).subscribe(\n noop,\n function (e) {\n leftMap.forEach(handleError(e));\n o.onError(e);\n },\n function () {\n rightMap['delete'](id);\n group.remove(md);\n }));\n\n leftMap.forEach(function (v) { v.onNext(value); });\n },\n function (e) {\n leftMap.forEach(handleError(e));\n o.onError(e);\n })\n );\n\n return r;\n }, left);\n };\n\n function toArray(x) { return x.toArray(); }\n\n /**\n * Projects each element of an observable sequence into zero or more buffers.\n * @param {Mixed} bufferOpeningsOrClosingSelector Observable sequence whose elements denote the creation of new windows, or, a function invoked to define the boundaries of the produced windows (a new window is started when the previous one is closed, resulting in non-overlapping windows).\n * @param {Function} [bufferClosingSelector] A function invoked to define the closing of each produced window. If a closing selector function is specified for the first parameter, this parameter is ignored.\n * @returns {Observable} An observable sequence of windows.\n */\n observableProto.buffer = function () {\n return this.window.apply(this, arguments)\n .flatMap(toArray);\n };\n\n /**\n * Projects each element of an observable sequence into zero or more windows.\n *\n * @param {Mixed} windowOpeningsOrClosingSelector Observable sequence whose elements denote the creation of new windows, or, a function invoked to define the boundaries of the produced windows (a new window is started when the previous one is closed, resulting in non-overlapping windows).\n * @param {Function} [windowClosingSelector] A function invoked to define the closing of each produced window. If a closing selector function is specified for the first parameter, this parameter is ignored.\n * @returns {Observable} An observable sequence of windows.\n */\n observableProto.window = function (windowOpeningsOrClosingSelector, windowClosingSelector) {\n if (arguments.length === 1 && typeof arguments[0] !== 'function') {\n return observableWindowWithBoundaries.call(this, windowOpeningsOrClosingSelector);\n }\n return typeof windowOpeningsOrClosingSelector === 'function' ?\n observableWindowWithClosingSelector.call(this, windowOpeningsOrClosingSelector) :\n observableWindowWithOpenings.call(this, windowOpeningsOrClosingSelector, windowClosingSelector);\n };\n\n function observableWindowWithOpenings(windowOpenings, windowClosingSelector) {\n return windowOpenings.groupJoin(this, windowClosingSelector, observableEmpty, function (_, win) {\n return win;\n });\n }\n\n function observableWindowWithBoundaries(windowBoundaries) {\n var source = this;\n return new AnonymousObservable(function (observer) {\n var win = new Subject(),\n d = new CompositeDisposable(),\n r = new RefCountDisposable(d);\n\n observer.onNext(addRef(win, r));\n\n d.add(source.subscribe(function (x) {\n win.onNext(x);\n }, function (err) {\n win.onError(err);\n observer.onError(err);\n }, function () {\n win.onCompleted();\n observer.onCompleted();\n }));\n\n isPromise(windowBoundaries) && (windowBoundaries = observableFromPromise(windowBoundaries));\n\n d.add(windowBoundaries.subscribe(function (w) {\n win.onCompleted();\n win = new Subject();\n observer.onNext(addRef(win, r));\n }, function (err) {\n win.onError(err);\n observer.onError(err);\n }, function () {\n win.onCompleted();\n observer.onCompleted();\n }));\n\n return r;\n }, source);\n }\n\n function observableWindowWithClosingSelector(windowClosingSelector) {\n var source = this;\n return new AnonymousObservable(function (observer) {\n var m = new SerialDisposable(),\n d = new CompositeDisposable(m),\n r = new RefCountDisposable(d),\n win = new Subject();\n observer.onNext(addRef(win, r));\n d.add(source.subscribe(function (x) {\n win.onNext(x);\n }, function (err) {\n win.onError(err);\n observer.onError(err);\n }, function () {\n win.onCompleted();\n observer.onCompleted();\n }));\n\n function createWindowClose () {\n var windowClose;\n try {\n windowClose = windowClosingSelector();\n } catch (e) {\n observer.onError(e);\n return;\n }\n\n isPromise(windowClose) && (windowClose = observableFromPromise(windowClose));\n\n var m1 = new SingleAssignmentDisposable();\n m.setDisposable(m1);\n m1.setDisposable(windowClose.take(1).subscribe(noop, function (err) {\n win.onError(err);\n observer.onError(err);\n }, function () {\n win.onCompleted();\n win = new Subject();\n observer.onNext(addRef(win, r));\n createWindowClose();\n }));\n }\n\n createWindowClose();\n return r;\n }, source);\n }\n\n var PairwiseObservable = (function (__super__) {\n inherits(PairwiseObservable, __super__);\n function PairwiseObservable(source) {\n this.source = source;\n __super__.call(this);\n }\n\n PairwiseObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new PairwiseObserver(o));\n };\n\n return PairwiseObservable;\n }(ObservableBase));\n\n var PairwiseObserver = (function(__super__) {\n inherits(PairwiseObserver, __super__);\n function PairwiseObserver(o) {\n this._o = o;\n this._p = null;\n this._hp = false;\n __super__.call(this);\n }\n\n PairwiseObserver.prototype.next = function (x) {\n if (this._hp) {\n this._o.onNext([this._p, x]);\n } else {\n this._hp = true;\n }\n this._p = x;\n };\n PairwiseObserver.prototype.error = function (err) { this._o.onError(err); };\n PairwiseObserver.prototype.completed = function () { this._o.onCompleted(); };\n\n return PairwiseObserver;\n }(AbstractObserver));\n\n /**\n * Returns a new observable that triggers on the second and subsequent triggerings of the input observable.\n * The Nth triggering of the input observable passes the arguments from the N-1th and Nth triggering as a pair.\n * The argument passed to the N-1th triggering is held in hidden internal state until the Nth triggering occurs.\n * @returns {Observable} An observable that triggers on successive pairs of observations from the input observable as an array.\n */\n observableProto.pairwise = function () {\n return new PairwiseObservable(this);\n };\n\n /**\n * Returns two observables which partition the observations of the source by the given function.\n * The first will trigger observations for those values for which the predicate returns true.\n * The second will trigger observations for those values where the predicate returns false.\n * The predicate is executed once for each subscribed observer.\n * Both also propagate all error observations arising from the source and each completes\n * when the source completes.\n * @param {Function} predicate\n * The function to determine which output Observable will trigger a particular observation.\n * @returns {Array}\n * An array of observables. The first triggers when the predicate returns true,\n * and the second triggers when the predicate returns false.\n */\n observableProto.partition = function(predicate, thisArg) {\n var fn = bindCallback(predicate, thisArg, 3);\n return [\n this.filter(predicate, thisArg),\n this.filter(function (x, i, o) { return !fn(x, i, o); })\n ];\n };\n\n /**\n * Groups the elements of an observable sequence according to a specified key selector function and comparer and selects the resulting elements by using a specified function.\n *\n * @example\n * var res = observable.groupBy(function (x) { return x.id; });\n * 2 - observable.groupBy(function (x) { return x.id; }), function (x) { return x.name; });\n * 3 - observable.groupBy(function (x) { return x.id; }), function (x) { return x.name; }, function (x) { return x.toString(); });\n * @param {Function} keySelector A function to extract the key for each element.\n * @param {Function} [elementSelector] A function to map each source element to an element in an observable group.\n * @returns {Observable} A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.\n */\n observableProto.groupBy = function (keySelector, elementSelector) {\n return this.groupByUntil(keySelector, elementSelector, observableNever);\n };\n\n /**\n * Groups the elements of an observable sequence according to a specified key selector function.\n * A duration selector function is used to control the lifetime of groups. When a group expires, it receives an OnCompleted notification. When a new element with the same\n * key value as a reclaimed group occurs, the group will be reborn with a new lifetime request.\n *\n * @example\n * var res = observable.groupByUntil(function (x) { return x.id; }, null, function () { return Rx.Observable.never(); });\n * 2 - observable.groupBy(function (x) { return x.id; }), function (x) { return x.name; }, function () { return Rx.Observable.never(); });\n * 3 - observable.groupBy(function (x) { return x.id; }), function (x) { return x.name; }, function () { return Rx.Observable.never(); }, function (x) { return x.toString(); });\n * @param {Function} keySelector A function to extract the key for each element.\n * @param {Function} durationSelector A function to signal the expiration of a group.\n * @returns {Observable}\n * A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value.\n * If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered.\n *\n */\n observableProto.groupByUntil = function (keySelector, elementSelector, durationSelector) {\n var source = this;\n return new AnonymousObservable(function (o) {\n var map = new Map(),\n groupDisposable = new CompositeDisposable(),\n refCountDisposable = new RefCountDisposable(groupDisposable),\n handleError = function (e) { return function (item) { item.onError(e); }; };\n\n groupDisposable.add(\n source.subscribe(function (x) {\n var key = tryCatch(keySelector)(x);\n if (key === errorObj) {\n map.forEach(handleError(key.e));\n return o.onError(key.e);\n }\n\n var fireNewMapEntry = false, writer = map.get(key);\n if (writer === undefined) {\n writer = new Subject();\n map.set(key, writer);\n fireNewMapEntry = true;\n }\n\n if (fireNewMapEntry) {\n var group = new GroupedObservable(key, writer, refCountDisposable),\n durationGroup = new GroupedObservable(key, writer);\n var duration = tryCatch(durationSelector)(durationGroup);\n if (duration === errorObj) {\n map.forEach(handleError(duration.e));\n return o.onError(duration.e);\n }\n\n o.onNext(group);\n\n var md = new SingleAssignmentDisposable();\n groupDisposable.add(md);\n\n md.setDisposable(duration.take(1).subscribe(\n noop,\n function (e) {\n map.forEach(handleError(e));\n o.onError(e);\n },\n function () {\n if (map['delete'](key)) { writer.onCompleted(); }\n groupDisposable.remove(md);\n }));\n }\n\n var element = x;\n if (isFunction(elementSelector)) {\n element = tryCatch(elementSelector)(x);\n if (element === errorObj) {\n map.forEach(handleError(element.e));\n return o.onError(element.e);\n }\n }\n\n writer.onNext(element);\n }, function (e) {\n map.forEach(handleError(e));\n o.onError(e);\n }, function () {\n map.forEach(function (item) { item.onCompleted(); });\n o.onCompleted();\n }));\n\n return refCountDisposable;\n }, source);\n };\n\n var UnderlyingObservable = (function (__super__) {\n inherits(UnderlyingObservable, __super__);\n function UnderlyingObservable(m, u) {\n this._m = m;\n this._u = u;\n __super__.call(this);\n }\n\n UnderlyingObservable.prototype.subscribeCore = function (o) {\n return new BinaryDisposable(this._m.getDisposable(), this._u.subscribe(o));\n };\n\n return UnderlyingObservable;\n }(ObservableBase));\n\n var GroupedObservable = (function (__super__) {\n inherits(GroupedObservable, __super__);\n function GroupedObservable(key, underlyingObservable, mergedDisposable) {\n __super__.call(this);\n this.key = key;\n this.underlyingObservable = !mergedDisposable ?\n underlyingObservable :\n new UnderlyingObservable(mergedDisposable, underlyingObservable);\n }\n\n GroupedObservable.prototype._subscribe = function (o) {\n return this.underlyingObservable.subscribe(o);\n };\n\n return GroupedObservable;\n }(Observable));\n\n return Rx;\n}));\n","// Copyright (c) Microsoft, All rights reserved. See License.txt in the project root for license information.\n\n;(function (factory) {\n var objectTypes = {\n 'function': true,\n 'object': true\n };\n\n function checkGlobal(value) {\n return (value && value.Object === Object) ? value : null;\n }\n\n var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType) ? exports : null;\n var freeModule = (objectTypes[typeof module] && module && !module.nodeType) ? module : null;\n var freeGlobal = checkGlobal(freeExports && freeModule && typeof global === 'object' && global);\n var freeSelf = checkGlobal(objectTypes[typeof self] && self);\n var freeWindow = checkGlobal(objectTypes[typeof window] && window);\n var moduleExports = (freeModule && freeModule.exports === freeExports) ? freeExports : null;\n var thisGlobal = checkGlobal(objectTypes[typeof this] && this);\n var root = freeGlobal || ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) || freeSelf || thisGlobal || Function('return this')();\n\n // Because of build optimizers\n if (typeof define === 'function' && define.amd) {\n define(['./rx'], function (Rx, exports) {\n return factory(root, exports, Rx);\n });\n } else if (typeof module === 'object' && module && module.exports === freeExports) {\n module.exports = factory(root, module.exports, require('./rx'));\n } else {\n root.Rx = factory(root, {}, root.Rx);\n }\n}.call(this, function (root, exp, Rx, undefined) {\n\n // Aliases\n var Observable = Rx.Observable,\n observableProto = Observable.prototype,\n ObservableBase = Rx.ObservableBase,\n AbstractObserver = Rx.internals.AbstractObserver,\n FlatMapObservable = Rx.FlatMapObservable,\n observableConcat = Observable.concat,\n observableDefer = Observable.defer,\n observableEmpty = Observable.empty,\n disposableEmpty = Rx.Disposable.empty,\n CompositeDisposable = Rx.CompositeDisposable,\n SerialDisposable = Rx.SerialDisposable,\n SingleAssignmentDisposable = Rx.SingleAssignmentDisposable,\n Enumerable = Rx.internals.Enumerable,\n enumerableOf = Enumerable.of,\n currentThreadScheduler = Rx.Scheduler.currentThread,\n AsyncSubject = Rx.AsyncSubject,\n Observer = Rx.Observer,\n inherits = Rx.internals.inherits,\n addProperties = Rx.internals.addProperties,\n helpers = Rx.helpers,\n noop = helpers.noop,\n isPromise = helpers.isPromise,\n isFunction = helpers.isFunction,\n isIterable = Rx.helpers.isIterable,\n isArrayLike = Rx.helpers.isArrayLike,\n isScheduler = Rx.Scheduler.isScheduler,\n observableFromPromise = Observable.fromPromise;\n\n var errorObj = {e: {}};\n \n function tryCatcherGen(tryCatchTarget) {\n return function tryCatcher() {\n try {\n return tryCatchTarget.apply(this, arguments);\n } catch (e) {\n errorObj.e = e;\n return errorObj;\n }\n };\n }\n\n var tryCatch = Rx.internals.tryCatch = function tryCatch(fn) {\n if (!isFunction(fn)) { throw new TypeError('fn must be a function'); }\n return tryCatcherGen(fn);\n };\n\n function thrower(e) {\n throw e;\n }\n\n // Shim in iterator support\n var $iterator$ = (typeof Symbol === 'function' && Symbol.iterator) ||\n '_es6shim_iterator_';\n // Bug for mozilla version\n if (root.Set && typeof new root.Set()['@@iterator'] === 'function') {\n $iterator$ = '@@iterator';\n }\n\n var doneEnumerator = Rx.doneEnumerator = { done: true, value: undefined };\n\n var isIterable = Rx.helpers.isIterable = function (o) {\n return o && o[$iterator$] !== undefined;\n };\n\n var isArrayLike = Rx.helpers.isArrayLike = function (o) {\n return o && o.length !== undefined;\n };\n\n Rx.helpers.iterator = $iterator$;\n\n var WhileEnumerable = (function(__super__) {\n inherits(WhileEnumerable, __super__);\n function WhileEnumerable(c, s) {\n this.c = c;\n this.s = s;\n }\n WhileEnumerable.prototype[$iterator$] = function () {\n var self = this;\n return {\n next: function () {\n return self.c() ?\n { done: false, value: self.s } :\n { done: true, value: void 0 };\n }\n };\n };\n return WhileEnumerable;\n }(Enumerable));\n \n function enumerableWhile(condition, source) {\n return new WhileEnumerable(condition, source);\n } \n\n /**\n * Returns an observable sequence that is the result of invoking the selector on the source sequence, without sharing subscriptions.\n * This operator allows for a fluent style of writing queries that use the same sequence multiple times.\n *\n * @param {Function} selector Selector function which can use the source sequence as many times as needed, without sharing subscriptions to the source sequence.\n * @returns {Observable} An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function.\n */\n observableProto.letBind = observableProto['let'] = function (func) {\n return func(this);\n };\n\n /**\n * Determines whether an observable collection contains values. \n *\n * @example\n * 1 - res = Rx.Observable.if(condition, obs1);\n * 2 - res = Rx.Observable.if(condition, obs1, obs2);\n * 3 - res = Rx.Observable.if(condition, obs1, scheduler);\n * @param {Function} condition The condition which determines if the thenSource or elseSource will be run.\n * @param {Observable} thenSource The observable sequence or Promise that will be run if the condition function returns true.\n * @param {Observable} [elseSource] The observable sequence or Promise that will be run if the condition function returns false. If this is not provided, it defaults to Rx.Observabe.Empty with the specified scheduler.\n * @returns {Observable} An observable sequence which is either the thenSource or elseSource.\n */\n Observable['if'] = function (condition, thenSource, elseSourceOrScheduler) {\n return observableDefer(function () {\n elseSourceOrScheduler || (elseSourceOrScheduler = observableEmpty());\n\n isPromise(thenSource) && (thenSource = observableFromPromise(thenSource));\n isPromise(elseSourceOrScheduler) && (elseSourceOrScheduler = observableFromPromise(elseSourceOrScheduler));\n\n // Assume a scheduler for empty only\n typeof elseSourceOrScheduler.now === 'function' && (elseSourceOrScheduler = observableEmpty(elseSourceOrScheduler));\n return condition() ? thenSource : elseSourceOrScheduler;\n });\n };\n\n /**\n * Concatenates the observable sequences obtained by running the specified result selector for each element in source.\n * There is an alias for this method called 'forIn' for browsers 0) {\n work = state.q.shift();\n } else {\n state.isAcquired = false;\n return;\n }\n var m1 = new SingleAssignmentDisposable();\n state.d.add(m1);\n m1.setDisposable(work.subscribe(new ExpandObserver(state, self, m1)));\n recurse([state, self]);\n }\n\n ExpandObservable.prototype._ensureActive = function (state) {\n var isOwner = false;\n if (state.q.length > 0) {\n isOwner = !state.isAcquired;\n state.isAcquired = true;\n }\n isOwner && state.m.setDisposable(this._scheduler.scheduleRecursive([state, this], scheduleRecursive));\n };\n\n ExpandObservable.prototype.subscribeCore = function (o) {\n var m = new SerialDisposable(),\n d = new CompositeDisposable(m),\n state = {\n q: [],\n m: m,\n d: d,\n activeCount: 0,\n isAcquired: false,\n o: o\n };\n\n state.q.push(this.source);\n state.activeCount++;\n this._ensureActive(state);\n return d;\n };\n\n return ExpandObservable;\n }(ObservableBase));\n\n var ExpandObserver = (function(__super__) {\n inherits(ExpandObserver, __super__);\n function ExpandObserver(state, parent, m1) {\n this._s = state;\n this._p = parent;\n this._m1 = m1;\n __super__.call(this);\n }\n\n ExpandObserver.prototype.next = function (x) {\n this._s.o.onNext(x);\n var result = tryCatch(this._p._fn)(x);\n if (result === errorObj) { return this._s.o.onError(result.e); }\n this._s.q.push(result);\n this._s.activeCount++;\n this._p._ensureActive(this._s);\n };\n\n ExpandObserver.prototype.error = function (e) {\n this._s.o.onError(e);\n };\n\n ExpandObserver.prototype.completed = function () {\n this._s.d.remove(this._m1);\n this._s.activeCount--;\n this._s.activeCount === 0 && this._s.o.onCompleted();\n };\n\n return ExpandObserver;\n }(AbstractObserver));\n\n /**\n * Expands an observable sequence by recursively invoking selector.\n *\n * @param {Function} selector Selector function to invoke for each produced element, resulting in another sequence to which the selector will be invoked recursively again.\n * @param {Scheduler} [scheduler] Scheduler on which to perform the expansion. If not provided, this defaults to the current thread scheduler.\n * @returns {Observable} An observable sequence containing all the elements produced by the recursive expansion.\n */\n observableProto.expand = function (selector, scheduler) {\n isScheduler(scheduler) || (scheduler = currentThreadScheduler);\n return new ExpandObservable(this, selector, scheduler);\n };\n\n function argumentsToArray() {\n var len = arguments.length, args = new Array(len);\n for(var i = 0; i < len; i++) { args[i] = arguments[i]; }\n return args;\n }\n\n var ForkJoinObservable = (function (__super__) {\n inherits(ForkJoinObservable, __super__);\n function ForkJoinObservable(sources, cb) {\n this._sources = sources;\n this._cb = cb;\n __super__.call(this);\n }\n\n ForkJoinObservable.prototype.subscribeCore = function (o) {\n if (this._sources.length === 0) {\n o.onCompleted();\n return disposableEmpty;\n }\n\n var count = this._sources.length;\n var state = {\n finished: false,\n hasResults: new Array(count),\n hasCompleted: new Array(count),\n results: new Array(count)\n };\n\n var subscriptions = new CompositeDisposable();\n for (var i = 0, len = this._sources.length; i < len; i++) {\n var source = this._sources[i];\n isPromise(source) && (source = observableFromPromise(source));\n subscriptions.add(source.subscribe(new ForkJoinObserver(o, state, i, this._cb, subscriptions)));\n }\n\n return subscriptions;\n };\n\n return ForkJoinObservable;\n }(ObservableBase));\n\n var ForkJoinObserver = (function(__super__) {\n inherits(ForkJoinObserver, __super__);\n function ForkJoinObserver(o, s, i, cb, subs) {\n this._o = o;\n this._s = s;\n this._i = i;\n this._cb = cb;\n this._subs = subs;\n __super__.call(this);\n }\n\n ForkJoinObserver.prototype.next = function (x) {\n if (!this._s.finished) {\n this._s.hasResults[this._i] = true;\n this._s.results[this._i] = x;\n }\n };\n\n ForkJoinObserver.prototype.error = function (e) {\n this._s.finished = true;\n this._o.onError(e);\n this._subs.dispose();\n };\n\n ForkJoinObserver.prototype.completed = function () {\n if (!this._s.finished) {\n if (!this._s.hasResults[this._i]) {\n return this._o.onCompleted();\n }\n this._s.hasCompleted[this._i] = true;\n for (var i = 0; i < this._s.results.length; i++) {\n if (!this._s.hasCompleted[i]) { return; }\n }\n this._s.finished = true;\n\n var res = tryCatch(this._cb).apply(null, this._s.results);\n if (res === errorObj) { return this._o.onError(res.e); }\n\n this._o.onNext(res);\n this._o.onCompleted();\n }\n };\n\n return ForkJoinObserver;\n }(AbstractObserver));\n\n /**\n * Runs all observable sequences in parallel and collect their last elements.\n *\n * @example\n * 1 - res = Rx.Observable.forkJoin([obs1, obs2]);\n * 1 - res = Rx.Observable.forkJoin(obs1, obs2, ...);\n * @returns {Observable} An observable sequence with an array collecting the last elements of all the input sequences.\n */\n Observable.forkJoin = function () {\n var len = arguments.length, args = new Array(len);\n for(var i = 0; i < len; i++) { args[i] = arguments[i]; }\n var resultSelector = isFunction(args[len - 1]) ? args.pop() : argumentsToArray;\n Array.isArray(args[0]) && (args = args[0]);\n return new ForkJoinObservable(args, resultSelector);\n };\n\n /**\n * Runs two observable sequences in parallel and combines their last elemenets.\n * @param {Observable} second Second observable sequence.\n * @param {Function} resultSelector Result selector function to invoke with the last elements of both sequences.\n * @returns {Observable} An observable sequence with the result of calling the selector function with the last elements of both input sequences.\n */\n observableProto.forkJoin = function () {\n var len = arguments.length, args = new Array(len);\n for(var i = 0; i < len; i++) { args[i] = arguments[i]; }\n if (Array.isArray(args[0])) {\n args[0].unshift(this);\n } else {\n args.unshift(this);\n }\n return Observable.forkJoin.apply(null, args);\n };\n\n /**\n * Comonadic bind operator.\n * @param {Function} selector A transform function to apply to each element.\n * @param {Object} scheduler Scheduler used to execute the operation. If not specified, defaults to the ImmediateScheduler.\n * @returns {Observable} An observable sequence which results from the comonadic bind operation.\n */\n observableProto.manySelect = observableProto.extend = function (selector, scheduler) {\n isScheduler(scheduler) || (scheduler = Rx.Scheduler.immediate);\n var source = this;\n return observableDefer(function () {\n var chain;\n\n return source\n .map(function (x) {\n var curr = new ChainObservable(x);\n\n chain && chain.onNext(x);\n chain = curr;\n\n return curr;\n })\n .tap(\n noop,\n function (e) { chain && chain.onError(e); },\n function () { chain && chain.onCompleted(); }\n )\n .observeOn(scheduler)\n .map(selector);\n }, source);\n };\n\n var ChainObservable = (function (__super__) {\n inherits(ChainObservable, __super__);\n function ChainObservable(head) {\n __super__.call(this);\n this.head = head;\n this.tail = new AsyncSubject();\n }\n\n addProperties(ChainObservable.prototype, Observer, {\n _subscribe: function (o) {\n var g = new CompositeDisposable();\n g.add(currentThreadScheduler.schedule(this, function (_, self) {\n o.onNext(self.head);\n g.add(self.tail.mergeAll().subscribe(o));\n }));\n\n return g;\n },\n onCompleted: function () {\n this.onNext(Observable.empty());\n },\n onError: function (e) {\n this.onNext(Observable['throw'](e));\n },\n onNext: function (v) {\n this.tail.onNext(v);\n this.tail.onCompleted();\n }\n });\n\n return ChainObservable;\n\n }(Observable));\n\n var SwitchFirstObservable = (function (__super__) {\n inherits(SwitchFirstObservable, __super__);\n function SwitchFirstObservable(source) {\n this.source = source;\n __super__.call(this);\n }\n\n SwitchFirstObservable.prototype.subscribeCore = function (o) {\n var m = new SingleAssignmentDisposable(),\n g = new CompositeDisposable(),\n state = {\n hasCurrent: false,\n isStopped: false,\n o: o,\n g: g\n };\n\n g.add(m);\n m.setDisposable(this.source.subscribe(new SwitchFirstObserver(state)));\n return g;\n };\n\n return SwitchFirstObservable;\n }(ObservableBase));\n\n var SwitchFirstObserver = (function(__super__) {\n inherits(SwitchFirstObserver, __super__);\n function SwitchFirstObserver(state) {\n this._s = state;\n __super__.call(this);\n }\n\n SwitchFirstObserver.prototype.next = function (x) {\n if (!this._s.hasCurrent) {\n this._s.hasCurrent = true;\n isPromise(x) && (x = observableFromPromise(x));\n var inner = new SingleAssignmentDisposable();\n this._s.g.add(inner);\n inner.setDisposable(x.subscribe(new InnerObserver(this._s, inner)));\n }\n };\n\n SwitchFirstObserver.prototype.error = function (e) {\n this._s.o.onError(e);\n };\n\n SwitchFirstObserver.prototype.completed = function () {\n this._s.isStopped = true;\n !this._s.hasCurrent && this._s.g.length === 1 && this._s.o.onCompleted();\n };\n\n inherits(InnerObserver, __super__);\n function InnerObserver(state, inner) {\n this._s = state;\n this._i = inner;\n __super__.call(this);\n }\n\n InnerObserver.prototype.next = function (x) { this._s.o.onNext(x); };\n InnerObserver.prototype.error = function (e) { this._s.o.onError(e); };\n InnerObserver.prototype.completed = function () {\n this._s.g.remove(this._i);\n this._s.hasCurrent = false;\n this._s.isStopped && this._s.g.length === 1 && this._s.o.onCompleted();\n };\n\n return SwitchFirstObserver;\n }(AbstractObserver));\n\n /**\n * Performs a exclusive waiting for the first to finish before subscribing to another observable.\n * Observables that come in between subscriptions will be dropped on the floor.\n * @returns {Observable} A exclusive observable with only the results that happen when subscribed.\n */\n observableProto.switchFirst = function () {\n return new SwitchFirstObservable(this);\n };\n\nobservableProto.flatMapFirst = observableProto.exhaustMap = function(selector, resultSelector, thisArg) {\n return new FlatMapObservable(this, selector, resultSelector, thisArg).switchFirst();\n};\n\nobservableProto.flatMapWithMaxConcurrent = observableProto.flatMapMaxConcurrent = function(limit, selector, resultSelector, thisArg) {\n return new FlatMapObservable(this, selector, resultSelector, thisArg).merge(limit);\n};\n\n return Rx;\n}));\n","// Copyright (c) Microsoft, All rights reserved. See License.txt in the project root for license information.\n\n;(function (factory) {\n var objectTypes = {\n 'function': true,\n 'object': true\n };\n\n function checkGlobal(value) {\n return (value && value.Object === Object) ? value : null;\n }\n\n var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType) ? exports : null;\n var freeModule = (objectTypes[typeof module] && module && !module.nodeType) ? module : null;\n var freeGlobal = checkGlobal(freeExports && freeModule && typeof global === 'object' && global);\n var freeSelf = checkGlobal(objectTypes[typeof self] && self);\n var freeWindow = checkGlobal(objectTypes[typeof window] && window);\n var moduleExports = (freeModule && freeModule.exports === freeExports) ? freeExports : null;\n var thisGlobal = checkGlobal(objectTypes[typeof this] && this);\n var root = freeGlobal || ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) || freeSelf || thisGlobal || Function('return this')();\n\n // Because of build optimizers\n if (typeof define === 'function' && define.amd) {\n define(['./rx'], function (Rx, exports) {\n return factory(root, exports, Rx);\n });\n } else if (typeof module === 'object' && module && module.exports === freeExports) {\n module.exports = factory(root, module.exports, require('./rx'));\n } else {\n root.Rx = factory(root, {}, root.Rx);\n }\n}.call(this, function (root, exp, Rx, undefined) {\n\n // Aliases\n var Observable = Rx.Observable,\n observableProto = Observable.prototype,\n AnonymousObservable = Rx.AnonymousObservable,\n observableThrow = Observable.throwError,\n observerCreate = Rx.Observer.create,\n SingleAssignmentDisposable = Rx.SingleAssignmentDisposable,\n CompositeDisposable = Rx.CompositeDisposable,\n AbstractObserver = Rx.internals.AbstractObserver,\n noop = Rx.helpers.noop,\n inherits = Rx.internals.inherits,\n isFunction = Rx.helpers.isFunction;\n\n var errorObj = {e: {}};\n \n function tryCatcherGen(tryCatchTarget) {\n return function tryCatcher() {\n try {\n return tryCatchTarget.apply(this, arguments);\n } catch (e) {\n errorObj.e = e;\n return errorObj;\n }\n };\n }\n\n var tryCatch = Rx.internals.tryCatch = function tryCatch(fn) {\n if (!isFunction(fn)) { throw new TypeError('fn must be a function'); }\n return tryCatcherGen(fn);\n };\n\n function thrower(e) {\n throw e;\n }\n\n var Map = root.Map || (function () {\n function Map() {\n this.size = 0;\n this._values = [];\n this._keys = [];\n }\n\n Map.prototype['delete'] = function (key) {\n var i = this._keys.indexOf(key);\n if (i === -1) { return false; }\n this._values.splice(i, 1);\n this._keys.splice(i, 1);\n this.size--;\n return true;\n };\n\n Map.prototype.get = function (key) {\n var i = this._keys.indexOf(key);\n return i === -1 ? undefined : this._values[i];\n };\n\n Map.prototype.set = function (key, value) {\n var i = this._keys.indexOf(key);\n if (i === -1) {\n this._keys.push(key);\n this._values.push(value);\n this.size++;\n } else {\n this._values[i] = value;\n }\n return this;\n };\n\n Map.prototype.forEach = function (cb, thisArg) {\n for (var i = 0; i < this.size; i++) {\n cb.call(thisArg, this._values[i], this._keys[i]);\n }\n };\n\n return Map;\n }());\n\n /**\n * @constructor\n * Represents a join pattern over observable sequences.\n */\n function Pattern(patterns) {\n this.patterns = patterns;\n }\n\n /**\n * Creates a pattern that matches the current plan matches and when the specified observable sequences has an available value.\n * @param other Observable sequence to match in addition to the current pattern.\n * @return {Pattern} Pattern object that matches when all observable sequences in the pattern have an available value.\n */\n Pattern.prototype.and = function (other) {\n return new Pattern(this.patterns.concat(other));\n };\n\n /**\n * Matches when all observable sequences in the pattern (specified using a chain of and operators) have an available value and projects the values.\n * @param {Function} selector Selector that will be invoked with available values from the source sequences, in the same order of the sequences in the pattern.\n * @return {Plan} Plan that produces the projected values, to be fed (with other plans) to the when operator.\n */\n Pattern.prototype.thenDo = function (selector) {\n return new Plan(this, selector);\n };\n\n function Plan(expression, selector) {\n this.expression = expression;\n this.selector = selector;\n }\n\n function handleOnError(o) { return function (e) { o.onError(e); }; }\n function handleOnNext(self, observer) {\n return function onNext () {\n var result = tryCatch(self.selector).apply(self, arguments);\n if (result === errorObj) { return observer.onError(result.e); }\n observer.onNext(result);\n };\n }\n\n Plan.prototype.activate = function (externalSubscriptions, observer, deactivate) {\n var joinObservers = [], errHandler = handleOnError(observer);\n for (var i = 0, len = this.expression.patterns.length; i < len; i++) {\n joinObservers.push(planCreateObserver(externalSubscriptions, this.expression.patterns[i], errHandler));\n }\n var activePlan = new ActivePlan(joinObservers, handleOnNext(this, observer), function () {\n for (var j = 0, jlen = joinObservers.length; j < jlen; j++) {\n joinObservers[j].removeActivePlan(activePlan);\n }\n deactivate(activePlan);\n });\n for (i = 0, len = joinObservers.length; i < len; i++) {\n joinObservers[i].addActivePlan(activePlan);\n }\n return activePlan;\n };\n\n function planCreateObserver(externalSubscriptions, observable, onError) {\n var entry = externalSubscriptions.get(observable);\n if (!entry) {\n var observer = new JoinObserver(observable, onError);\n externalSubscriptions.set(observable, observer);\n return observer;\n }\n return entry;\n }\n\n function ActivePlan(joinObserverArray, onNext, onCompleted) {\n this.joinObserverArray = joinObserverArray;\n this.onNext = onNext;\n this.onCompleted = onCompleted;\n this.joinObservers = new Map();\n for (var i = 0, len = this.joinObserverArray.length; i < len; i++) {\n var joinObserver = this.joinObserverArray[i];\n this.joinObservers.set(joinObserver, joinObserver);\n }\n }\n\n ActivePlan.prototype.dequeue = function () {\n this.joinObservers.forEach(function (v) { v.queue.shift(); });\n };\n\n ActivePlan.prototype.match = function () {\n var i, len, hasValues = true;\n for (i = 0, len = this.joinObserverArray.length; i < len; i++) {\n if (this.joinObserverArray[i].queue.length === 0) {\n hasValues = false;\n break;\n }\n }\n if (hasValues) {\n var firstValues = [],\n isCompleted = false;\n for (i = 0, len = this.joinObserverArray.length; i < len; i++) {\n firstValues.push(this.joinObserverArray[i].queue[0]);\n this.joinObserverArray[i].queue[0].kind === 'C' && (isCompleted = true);\n }\n if (isCompleted) {\n this.onCompleted();\n } else {\n this.dequeue();\n var values = [];\n for (i = 0, len = firstValues.length; i < firstValues.length; i++) {\n values.push(firstValues[i].value);\n }\n this.onNext.apply(this, values);\n }\n }\n };\n\n var JoinObserver = (function (__super__) {\n inherits(JoinObserver, __super__);\n\n function JoinObserver(source, onError) {\n __super__.call(this);\n this.source = source;\n this.onError = onError;\n this.queue = [];\n this.activePlans = [];\n this.subscription = new SingleAssignmentDisposable();\n this.isDisposed = false;\n }\n\n var JoinObserverPrototype = JoinObserver.prototype;\n\n JoinObserverPrototype.next = function (notification) {\n if (!this.isDisposed) {\n if (notification.kind === 'E') {\n return this.onError(notification.error);\n }\n this.queue.push(notification);\n var activePlans = this.activePlans.slice(0);\n for (var i = 0, len = activePlans.length; i < len; i++) {\n activePlans[i].match();\n }\n }\n };\n\n JoinObserverPrototype.error = noop;\n JoinObserverPrototype.completed = noop;\n\n JoinObserverPrototype.addActivePlan = function (activePlan) {\n this.activePlans.push(activePlan);\n };\n\n JoinObserverPrototype.subscribe = function () {\n this.subscription.setDisposable(this.source.materialize().subscribe(this));\n };\n\n JoinObserverPrototype.removeActivePlan = function (activePlan) {\n this.activePlans.splice(this.activePlans.indexOf(activePlan), 1);\n this.activePlans.length === 0 && this.dispose();\n };\n\n JoinObserverPrototype.dispose = function () {\n __super__.prototype.dispose.call(this);\n if (!this.isDisposed) {\n this.isDisposed = true;\n this.subscription.dispose();\n }\n };\n\n return JoinObserver;\n } (AbstractObserver));\n\n /**\n * Creates a pattern that matches when both observable sequences have an available value.\n *\n * @param right Observable sequence to match with the current sequence.\n * @return {Pattern} Pattern object that matches when both observable sequences have an available value.\n */\n observableProto.and = function (right) {\n return new Pattern([this, right]);\n };\n\n /**\n * Matches when the observable sequence has an available value and projects the value.\n *\n * @param {Function} selector Selector that will be invoked for values in the source sequence.\n * @returns {Plan} Plan that produces the projected values, to be fed (with other plans) to the when operator.\n */\n observableProto.thenDo = function (selector) {\n return new Pattern([this]).thenDo(selector);\n };\n\n /**\n * Joins together the results from several patterns.\n *\n * @param plans A series of plans (specified as an Array of as a series of arguments) created by use of the Then operator on patterns.\n * @returns {Observable} Observable sequence with the results form matching several patterns.\n */\n Observable.when = function () {\n var len = arguments.length, plans;\n if (Array.isArray(arguments[0])) {\n plans = arguments[0];\n } else {\n plans = new Array(len);\n for(var i = 0; i < len; i++) { plans[i] = arguments[i]; }\n }\n return new AnonymousObservable(function (o) {\n var activePlans = [],\n externalSubscriptions = new Map();\n var outObserver = observerCreate(\n function (x) { o.onNext(x); },\n function (err) {\n externalSubscriptions.forEach(function (v) { v.onError(err); });\n o.onError(err);\n },\n function (x) { o.onCompleted(); }\n );\n try {\n for (var i = 0, len = plans.length; i < len; i++) {\n activePlans.push(plans[i].activate(externalSubscriptions, outObserver, function (activePlan) {\n var idx = activePlans.indexOf(activePlan);\n activePlans.splice(idx, 1);\n activePlans.length === 0 && o.onCompleted();\n }));\n }\n } catch (e) {\n return observableThrow(e).subscribe(o);\n }\n var group = new CompositeDisposable();\n externalSubscriptions.forEach(function (joinObserver) {\n joinObserver.subscribe();\n group.add(joinObserver);\n });\n\n return group;\n });\n };\n\n return Rx;\n}));\n","// Copyright (c) Microsoft, All rights reserved. See License.txt in the project root for license information.\n\n;(function (undefined) {\n\n var objectTypes = {\n 'function': true,\n 'object': true\n };\n\n function checkGlobal(value) {\n return (value && value.Object === Object) ? value : null;\n }\n\n var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType) ? exports : null;\n var freeModule = (objectTypes[typeof module] && module && !module.nodeType) ? module : null;\n var freeGlobal = checkGlobal(freeExports && freeModule && typeof global === 'object' && global);\n var freeSelf = checkGlobal(objectTypes[typeof self] && self);\n var freeWindow = checkGlobal(objectTypes[typeof window] && window);\n var moduleExports = (freeModule && freeModule.exports === freeExports) ? freeExports : null;\n var thisGlobal = checkGlobal(objectTypes[typeof this] && this);\n var root = freeGlobal || ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) || freeSelf || thisGlobal || Function('return this')();\n\n var Rx = {\n internals: {},\n config: {\n Promise: root.Promise\n },\n helpers: { }\n };\n\n // Defaults\n var noop = Rx.helpers.noop = function () { },\n identity = Rx.helpers.identity = function (x) { return x; },\n defaultNow = Rx.helpers.defaultNow = Date.now,\n defaultComparer = Rx.helpers.defaultComparer = function (x, y) { return isEqual(x, y); },\n defaultSubComparer = Rx.helpers.defaultSubComparer = function (x, y) { return x > y ? 1 : (x < y ? -1 : 0); },\n defaultKeySerializer = Rx.helpers.defaultKeySerializer = function (x) { return x.toString(); },\n defaultError = Rx.helpers.defaultError = function (err) { throw err; },\n isPromise = Rx.helpers.isPromise = function (p) { return !!p && typeof p.subscribe !== 'function' && typeof p.then === 'function'; },\n isFunction = Rx.helpers.isFunction = (function () {\n\n var isFn = function (value) {\n return typeof value == 'function' || false;\n };\n\n // fallback for older versions of Chrome and Safari\n if (isFn(/x/)) {\n isFn = function(value) {\n return typeof value == 'function' && toString.call(value) == '[object Function]';\n };\n }\n\n return isFn;\n }());\n\n function cloneArray(arr) { for(var a = [], i = 0, len = arr.length; i < len; i++) { a.push(arr[i]); } return a;}\n\n var errorObj = {e: {}};\n \n function tryCatcherGen(tryCatchTarget) {\n return function tryCatcher() {\n try {\n return tryCatchTarget.apply(this, arguments);\n } catch (e) {\n errorObj.e = e;\n return errorObj;\n }\n };\n }\n\n var tryCatch = Rx.internals.tryCatch = function tryCatch(fn) {\n if (!isFunction(fn)) { throw new TypeError('fn must be a function'); }\n return tryCatcherGen(fn);\n };\n\n function thrower(e) {\n throw e;\n }\n\n Rx.config.longStackSupport = false;\n var hasStacks = false, stacks = tryCatch(function () { throw new Error(); })();\n hasStacks = !!stacks.e && !!stacks.e.stack;\n\n // All code after this point will be filtered from stack traces reported by RxJS\n var rStartingLine = captureLine(), rFileName;\n\n var STACK_JUMP_SEPARATOR = 'From previous event:';\n\n function makeStackTraceLong(error, observable) {\n // If possible, transform the error stack trace by removing Node and RxJS\n // cruft, then concatenating with the stack trace of `observable`.\n if (hasStacks &&\n observable.stack &&\n typeof error === 'object' &&\n error !== null &&\n error.stack &&\n error.stack.indexOf(STACK_JUMP_SEPARATOR) === -1\n ) {\n var stacks = [];\n for (var o = observable; !!o; o = o.source) {\n if (o.stack) {\n stacks.unshift(o.stack);\n }\n }\n stacks.unshift(error.stack);\n\n var concatedStacks = stacks.join('\\n' + STACK_JUMP_SEPARATOR + '\\n');\n error.stack = filterStackString(concatedStacks);\n }\n }\n\n function filterStackString(stackString) {\n var lines = stackString.split('\\n'), desiredLines = [];\n for (var i = 0, len = lines.length; i < len; i++) {\n var line = lines[i];\n\n if (!isInternalFrame(line) && !isNodeFrame(line) && line) {\n desiredLines.push(line);\n }\n }\n return desiredLines.join('\\n');\n }\n\n function isInternalFrame(stackLine) {\n var fileNameAndLineNumber = getFileNameAndLineNumber(stackLine);\n if (!fileNameAndLineNumber) {\n return false;\n }\n var fileName = fileNameAndLineNumber[0], lineNumber = fileNameAndLineNumber[1];\n\n return fileName === rFileName &&\n lineNumber >= rStartingLine &&\n lineNumber <= rEndingLine;\n }\n\n function isNodeFrame(stackLine) {\n return stackLine.indexOf('(module.js:') !== -1 ||\n stackLine.indexOf('(node.js:') !== -1;\n }\n\n function captureLine() {\n if (!hasStacks) { return; }\n\n try {\n throw new Error();\n } catch (e) {\n var lines = e.stack.split('\\n');\n var firstLine = lines[0].indexOf('@') > 0 ? lines[1] : lines[2];\n var fileNameAndLineNumber = getFileNameAndLineNumber(firstLine);\n if (!fileNameAndLineNumber) { return; }\n\n rFileName = fileNameAndLineNumber[0];\n return fileNameAndLineNumber[1];\n }\n }\n\n function getFileNameAndLineNumber(stackLine) {\n // Named functions: 'at functionName (filename:lineNumber:columnNumber)'\n var attempt1 = /at .+ \\((.+):(\\d+):(?:\\d+)\\)$/.exec(stackLine);\n if (attempt1) { return [attempt1[1], Number(attempt1[2])]; }\n\n // Anonymous functions: 'at filename:lineNumber:columnNumber'\n var attempt2 = /at ([^ ]+):(\\d+):(?:\\d+)$/.exec(stackLine);\n if (attempt2) { return [attempt2[1], Number(attempt2[2])]; }\n\n // Firefox style: 'function@filename:lineNumber or @filename:lineNumber'\n var attempt3 = /.*@(.+):(\\d+)$/.exec(stackLine);\n if (attempt3) { return [attempt3[1], Number(attempt3[2])]; }\n }\n\n var EmptyError = Rx.EmptyError = function() {\n this.message = 'Sequence contains no elements.';\n Error.call(this);\n };\n EmptyError.prototype = Object.create(Error.prototype);\n EmptyError.prototype.name = 'EmptyError';\n\n var ObjectDisposedError = Rx.ObjectDisposedError = function() {\n this.message = 'Object has been disposed';\n Error.call(this);\n };\n ObjectDisposedError.prototype = Object.create(Error.prototype);\n ObjectDisposedError.prototype.name = 'ObjectDisposedError';\n\n var ArgumentOutOfRangeError = Rx.ArgumentOutOfRangeError = function () {\n this.message = 'Argument out of range';\n Error.call(this);\n };\n ArgumentOutOfRangeError.prototype = Object.create(Error.prototype);\n ArgumentOutOfRangeError.prototype.name = 'ArgumentOutOfRangeError';\n\n var NotSupportedError = Rx.NotSupportedError = function (message) {\n this.message = message || 'This operation is not supported';\n Error.call(this);\n };\n NotSupportedError.prototype = Object.create(Error.prototype);\n NotSupportedError.prototype.name = 'NotSupportedError';\n\n var NotImplementedError = Rx.NotImplementedError = function (message) {\n this.message = message || 'This operation is not implemented';\n Error.call(this);\n };\n NotImplementedError.prototype = Object.create(Error.prototype);\n NotImplementedError.prototype.name = 'NotImplementedError';\n\n var notImplemented = Rx.helpers.notImplemented = function () {\n throw new NotImplementedError();\n };\n\n var notSupported = Rx.helpers.notSupported = function () {\n throw new NotSupportedError();\n };\n\n // Shim in iterator support\n var $iterator$ = (typeof Symbol === 'function' && Symbol.iterator) ||\n '_es6shim_iterator_';\n // Bug for mozilla version\n if (root.Set && typeof new root.Set()['@@iterator'] === 'function') {\n $iterator$ = '@@iterator';\n }\n\n var doneEnumerator = Rx.doneEnumerator = { done: true, value: undefined };\n\n var isIterable = Rx.helpers.isIterable = function (o) {\n return o && o[$iterator$] !== undefined;\n };\n\n var isArrayLike = Rx.helpers.isArrayLike = function (o) {\n return o && o.length !== undefined;\n };\n\n Rx.helpers.iterator = $iterator$;\n\n var bindCallback = Rx.internals.bindCallback = function (func, thisArg, argCount) {\n if (typeof thisArg === 'undefined') { return func; }\n switch(argCount) {\n case 0:\n return function() {\n return func.call(thisArg)\n };\n case 1:\n return function(arg) {\n return func.call(thisArg, arg);\n };\n case 2:\n return function(value, index) {\n return func.call(thisArg, value, index);\n };\n case 3:\n return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n }\n\n return function() {\n return func.apply(thisArg, arguments);\n };\n };\n\n /** Used to determine if values are of the language type Object */\n var dontEnums = ['toString',\n 'toLocaleString',\n 'valueOf',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'constructor'],\n dontEnumsLength = dontEnums.length;\n\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dateTag] = typedArrayTags[errorTag] =\ntypedArrayTags[funcTag] = typedArrayTags[mapTag] =\ntypedArrayTags[numberTag] = typedArrayTags[objectTag] =\ntypedArrayTags[regexpTag] = typedArrayTags[setTag] =\ntypedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;\n\nvar objectProto = Object.prototype,\n hasOwnProperty = objectProto.hasOwnProperty,\n objToString = objectProto.toString,\n MAX_SAFE_INTEGER = Math.pow(2, 53) - 1;\n\nvar keys = Object.keys || (function() {\n var hasOwnProperty = Object.prototype.hasOwnProperty,\n hasDontEnumBug = !({ toString: null }).propertyIsEnumerable('toString'),\n dontEnums = [\n 'toString',\n 'toLocaleString',\n 'valueOf',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'constructor'\n ],\n dontEnumsLength = dontEnums.length;\n\n return function(obj) {\n if (typeof obj !== 'object' && (typeof obj !== 'function' || obj === null)) {\n throw new TypeError('Object.keys called on non-object');\n }\n\n var result = [], prop, i;\n\n for (prop in obj) {\n if (hasOwnProperty.call(obj, prop)) {\n result.push(prop);\n }\n }\n\n if (hasDontEnumBug) {\n for (i = 0; i < dontEnumsLength; i++) {\n if (hasOwnProperty.call(obj, dontEnums[i])) {\n result.push(dontEnums[i]);\n }\n }\n }\n return result;\n };\n }());\n\nfunction equalObjects(object, other, equalFunc, isLoose, stackA, stackB) {\n var objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength !== othLength && !isLoose) {\n return false;\n }\n var index = objLength, key;\n while (index--) {\n key = objProps[index];\n if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n var skipCtor = isLoose;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key],\n result;\n\n if (!(result === undefined ? equalFunc(objValue, othValue, isLoose, stackA, stackB) : result)) {\n return false;\n }\n skipCtor || (skipCtor = key === 'constructor');\n }\n if (!skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n if (objCtor !== othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor === 'function' && objCtor instanceof objCtor &&\n typeof othCtor === 'function' && othCtor instanceof othCtor)) {\n return false;\n }\n }\n return true;\n}\n\nfunction equalByTag(object, other, tag) {\n switch (tag) {\n case boolTag:\n case dateTag:\n return +object === +other;\n\n case errorTag:\n return object.name === other.name && object.message === other.message;\n\n case numberTag:\n return (object !== +object) ?\n other !== +other :\n object === +other;\n\n case regexpTag:\n case stringTag:\n return object === (other + '');\n }\n return false;\n}\n\nvar isObject = Rx.internals.isObject = function(value) {\n var type = typeof value;\n return !!value && (type === 'object' || type === 'function');\n};\n\nfunction isObjectLike(value) {\n return !!value && typeof value === 'object';\n}\n\nfunction isLength(value) {\n return typeof value === 'number' && value > -1 && value % 1 === 0 && value <= MAX_SAFE_INTEGER;\n}\n\nvar isHostObject = (function() {\n try {\n Object({ 'toString': 0 } + '');\n } catch(e) {\n return function() { return false; };\n }\n return function(value) {\n return typeof value.toString !== 'function' && typeof (value + '') === 'string';\n };\n}());\n\nfunction isTypedArray(value) {\n return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];\n}\n\nvar isArray = Array.isArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) === arrayTag;\n};\n\nfunction arraySome (array, predicate) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nfunction equalArrays(array, other, equalFunc, isLoose, stackA, stackB) {\n var index = -1,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength !== othLength && !(isLoose && othLength > arrLength)) {\n return false;\n }\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index],\n result;\n\n if (result !== undefined) {\n if (result) {\n continue;\n }\n return false;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (isLoose) {\n if (!arraySome(other, function(othValue) {\n return arrValue === othValue || equalFunc(arrValue, othValue, isLoose, stackA, stackB);\n })) {\n return false;\n }\n } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, isLoose, stackA, stackB))) {\n return false;\n }\n }\n return true;\n}\n\nfunction baseIsEqualDeep(object, other, equalFunc, isLoose, stackA, stackB) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = objToString.call(object);\n if (objTag === argsTag) {\n objTag = objectTag;\n } else if (objTag !== objectTag) {\n objIsArr = isTypedArray(object);\n }\n }\n if (!othIsArr) {\n othTag = objToString.call(other);\n if (othTag === argsTag) {\n othTag = objectTag;\n }\n }\n var objIsObj = objTag === objectTag && !isHostObject(object),\n othIsObj = othTag === objectTag && !isHostObject(other),\n isSameTag = objTag === othTag;\n\n if (isSameTag && !(objIsArr || objIsObj)) {\n return equalByTag(object, other, objTag);\n }\n if (!isLoose) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, isLoose, stackA, stackB);\n }\n }\n if (!isSameTag) {\n return false;\n }\n // Assume cyclic values are equal.\n // For more information on detecting circular references see https://es5.github.io/#JO.\n stackA || (stackA = []);\n stackB || (stackB = []);\n\n var length = stackA.length;\n while (length--) {\n if (stackA[length] === object) {\n return stackB[length] === other;\n }\n }\n // Add `object` and `other` to the stack of traversed objects.\n stackA.push(object);\n stackB.push(other);\n\n var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, isLoose, stackA, stackB);\n\n stackA.pop();\n stackB.pop();\n\n return result;\n}\n\nfunction baseIsEqual(value, other, isLoose, stackA, stackB) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, isLoose, stackA, stackB);\n}\n\nvar isEqual = Rx.internals.isEqual = function (value, other) {\n return baseIsEqual(value, other);\n};\n\n var hasProp = {}.hasOwnProperty,\n slice = Array.prototype.slice;\n\n var inherits = Rx.internals.inherits = function (child, parent) {\n function __() { this.constructor = child; }\n __.prototype = parent.prototype;\n child.prototype = new __();\n };\n\n var addProperties = Rx.internals.addProperties = function (obj) {\n for(var sources = [], i = 1, len = arguments.length; i < len; i++) { sources.push(arguments[i]); }\n for (var idx = 0, ln = sources.length; idx < ln; idx++) {\n var source = sources[idx];\n for (var prop in source) {\n obj[prop] = source[prop];\n }\n }\n };\n\n // Rx Utils\n var addRef = Rx.internals.addRef = function (xs, r) {\n return new AnonymousObservable(function (observer) {\n return new BinaryDisposable(r.getDisposable(), xs.subscribe(observer));\n });\n };\n\n function arrayInitialize(count, factory) {\n var a = new Array(count);\n for (var i = 0; i < count; i++) {\n a[i] = factory();\n }\n return a;\n }\n\n /**\n * Represents a group of disposable resources that are disposed together.\n * @constructor\n */\n var CompositeDisposable = Rx.CompositeDisposable = function () {\n var args = [], i, len;\n if (Array.isArray(arguments[0])) {\n args = arguments[0];\n } else {\n len = arguments.length;\n args = new Array(len);\n for(i = 0; i < len; i++) { args[i] = arguments[i]; }\n }\n this.disposables = args;\n this.isDisposed = false;\n this.length = args.length;\n };\n\n var CompositeDisposablePrototype = CompositeDisposable.prototype;\n\n /**\n * Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed.\n * @param {Mixed} item Disposable to add.\n */\n CompositeDisposablePrototype.add = function (item) {\n if (this.isDisposed) {\n item.dispose();\n } else {\n this.disposables.push(item);\n this.length++;\n }\n };\n\n /**\n * Removes and disposes the first occurrence of a disposable from the CompositeDisposable.\n * @param {Mixed} item Disposable to remove.\n * @returns {Boolean} true if found; false otherwise.\n */\n CompositeDisposablePrototype.remove = function (item) {\n var shouldDispose = false;\n if (!this.isDisposed) {\n var idx = this.disposables.indexOf(item);\n if (idx !== -1) {\n shouldDispose = true;\n this.disposables.splice(idx, 1);\n this.length--;\n item.dispose();\n }\n }\n return shouldDispose;\n };\n\n /**\n * Disposes all disposables in the group and removes them from the group.\n */\n CompositeDisposablePrototype.dispose = function () {\n if (!this.isDisposed) {\n this.isDisposed = true;\n var len = this.disposables.length, currentDisposables = new Array(len);\n for(var i = 0; i < len; i++) { currentDisposables[i] = this.disposables[i]; }\n this.disposables = [];\n this.length = 0;\n\n for (i = 0; i < len; i++) {\n currentDisposables[i].dispose();\n }\n }\n };\n\n /**\n * Provides a set of static methods for creating Disposables.\n * @param {Function} dispose Action to run during the first call to dispose. The action is guaranteed to be run at most once.\n */\n var Disposable = Rx.Disposable = function (action) {\n this.isDisposed = false;\n this.action = action || noop;\n };\n\n /** Performs the task of cleaning up resources. */\n Disposable.prototype.dispose = function () {\n if (!this.isDisposed) {\n this.action();\n this.isDisposed = true;\n }\n };\n\n /**\n * Creates a disposable object that invokes the specified action when disposed.\n * @param {Function} dispose Action to run during the first call to dispose. The action is guaranteed to be run at most once.\n * @return {Disposable} The disposable object that runs the given action upon disposal.\n */\n var disposableCreate = Disposable.create = function (action) { return new Disposable(action); };\n\n /**\n * Gets the disposable that does nothing when disposed.\n */\n var disposableEmpty = Disposable.empty = { dispose: noop };\n\n /**\n * Validates whether the given object is a disposable\n * @param {Object} Object to test whether it has a dispose method\n * @returns {Boolean} true if a disposable object, else false.\n */\n var isDisposable = Disposable.isDisposable = function (d) {\n return d && isFunction(d.dispose);\n };\n\n var checkDisposed = Disposable.checkDisposed = function (disposable) {\n if (disposable.isDisposed) { throw new ObjectDisposedError(); }\n };\n\n var disposableFixup = Disposable._fixup = function (result) {\n return isDisposable(result) ? result : disposableEmpty;\n };\n\n // Single assignment\n var SingleAssignmentDisposable = Rx.SingleAssignmentDisposable = function () {\n this.isDisposed = false;\n this.current = null;\n };\n SingleAssignmentDisposable.prototype.getDisposable = function () {\n return this.current;\n };\n SingleAssignmentDisposable.prototype.setDisposable = function (value) {\n if (this.current) { throw new Error('Disposable has already been assigned'); }\n var shouldDispose = this.isDisposed;\n !shouldDispose && (this.current = value);\n shouldDispose && value && value.dispose();\n };\n SingleAssignmentDisposable.prototype.dispose = function () {\n if (!this.isDisposed) {\n this.isDisposed = true;\n var old = this.current;\n this.current = null;\n old && old.dispose();\n }\n };\n\n // Multiple assignment disposable\n var SerialDisposable = Rx.SerialDisposable = function () {\n this.isDisposed = false;\n this.current = null;\n };\n SerialDisposable.prototype.getDisposable = function () {\n return this.current;\n };\n SerialDisposable.prototype.setDisposable = function (value) {\n var shouldDispose = this.isDisposed;\n if (!shouldDispose) {\n var old = this.current;\n this.current = value;\n }\n old && old.dispose();\n shouldDispose && value && value.dispose();\n };\n SerialDisposable.prototype.dispose = function () {\n if (!this.isDisposed) {\n this.isDisposed = true;\n var old = this.current;\n this.current = null;\n }\n old && old.dispose();\n };\n\n var BinaryDisposable = Rx.BinaryDisposable = function (first, second) {\n this._first = first;\n this._second = second;\n this.isDisposed = false;\n };\n\n BinaryDisposable.prototype.dispose = function () {\n if (!this.isDisposed) {\n this.isDisposed = true;\n var old1 = this._first;\n this._first = null;\n old1 && old1.dispose();\n var old2 = this._second;\n this._second = null;\n old2 && old2.dispose();\n }\n };\n\n var NAryDisposable = Rx.NAryDisposable = function (disposables) {\n this._disposables = disposables;\n this.isDisposed = false;\n };\n\n NAryDisposable.prototype.dispose = function () {\n if (!this.isDisposed) {\n this.isDisposed = true;\n for (var i = 0, len = this._disposables.length; i < len; i++) {\n this._disposables[i].dispose();\n }\n this._disposables.length = 0;\n }\n };\n\n /**\n * Represents a disposable resource that only disposes its underlying disposable resource when all dependent disposable objects have been disposed.\n */\n var RefCountDisposable = Rx.RefCountDisposable = (function () {\n\n function InnerDisposable(disposable) {\n this.disposable = disposable;\n this.disposable.count++;\n this.isInnerDisposed = false;\n }\n\n InnerDisposable.prototype.dispose = function () {\n if (!this.disposable.isDisposed && !this.isInnerDisposed) {\n this.isInnerDisposed = true;\n this.disposable.count--;\n if (this.disposable.count === 0 && this.disposable.isPrimaryDisposed) {\n this.disposable.isDisposed = true;\n this.disposable.underlyingDisposable.dispose();\n }\n }\n };\n\n /**\n * Initializes a new instance of the RefCountDisposable with the specified disposable.\n * @constructor\n * @param {Disposable} disposable Underlying disposable.\n */\n function RefCountDisposable(disposable) {\n this.underlyingDisposable = disposable;\n this.isDisposed = false;\n this.isPrimaryDisposed = false;\n this.count = 0;\n }\n\n /**\n * Disposes the underlying disposable only when all dependent disposables have been disposed\n */\n RefCountDisposable.prototype.dispose = function () {\n if (!this.isDisposed && !this.isPrimaryDisposed) {\n this.isPrimaryDisposed = true;\n if (this.count === 0) {\n this.isDisposed = true;\n this.underlyingDisposable.dispose();\n }\n }\n };\n\n /**\n * Returns a dependent disposable that when disposed decreases the refcount on the underlying disposable.\n * @returns {Disposable} A dependent disposable contributing to the reference count that manages the underlying disposable's lifetime.\n */\n RefCountDisposable.prototype.getDisposable = function () {\n return this.isDisposed ? disposableEmpty : new InnerDisposable(this);\n };\n\n return RefCountDisposable;\n })();\n\n function ScheduledDisposable(scheduler, disposable) {\n this.scheduler = scheduler;\n this.disposable = disposable;\n this.isDisposed = false;\n }\n\n function scheduleItem(s, self) {\n if (!self.isDisposed) {\n self.isDisposed = true;\n self.disposable.dispose();\n }\n }\n\n ScheduledDisposable.prototype.dispose = function () {\n this.scheduler.schedule(this, scheduleItem);\n };\n\n var ScheduledItem = Rx.internals.ScheduledItem = function (scheduler, state, action, dueTime, comparer) {\n this.scheduler = scheduler;\n this.state = state;\n this.action = action;\n this.dueTime = dueTime;\n this.comparer = comparer || defaultSubComparer;\n this.disposable = new SingleAssignmentDisposable();\n };\n\n ScheduledItem.prototype.invoke = function () {\n this.disposable.setDisposable(this.invokeCore());\n };\n\n ScheduledItem.prototype.compareTo = function (other) {\n return this.comparer(this.dueTime, other.dueTime);\n };\n\n ScheduledItem.prototype.isCancelled = function () {\n return this.disposable.isDisposed;\n };\n\n ScheduledItem.prototype.invokeCore = function () {\n return disposableFixup(this.action(this.scheduler, this.state));\n };\n\n /** Provides a set of static properties to access commonly used schedulers. */\n var Scheduler = Rx.Scheduler = (function () {\n\n function Scheduler() { }\n\n /** Determines whether the given object is a scheduler */\n Scheduler.isScheduler = function (s) {\n return s instanceof Scheduler;\n };\n\n var schedulerProto = Scheduler.prototype;\n\n /**\n * Schedules an action to be executed.\n * @param state State passed to the action to be executed.\n * @param {Function} action Action to be executed.\n * @returns {Disposable} The disposable object used to cancel the scheduled action (best effort).\n */\n schedulerProto.schedule = function (state, action) {\n throw new NotImplementedError();\n };\n\n /**\n * Schedules an action to be executed after dueTime.\n * @param state State passed to the action to be executed.\n * @param {Function} action Action to be executed.\n * @param {Number} dueTime Relative time after which to execute the action.\n * @returns {Disposable} The disposable object used to cancel the scheduled action (best effort).\n */\n schedulerProto.scheduleFuture = function (state, dueTime, action) {\n var dt = dueTime;\n dt instanceof Date && (dt = dt - this.now());\n dt = Scheduler.normalize(dt);\n\n if (dt === 0) { return this.schedule(state, action); }\n\n return this._scheduleFuture(state, dt, action);\n };\n\n schedulerProto._scheduleFuture = function (state, dueTime, action) {\n throw new NotImplementedError();\n };\n\n /** Gets the current time according to the local machine's system clock. */\n Scheduler.now = defaultNow;\n\n /** Gets the current time according to the local machine's system clock. */\n Scheduler.prototype.now = defaultNow;\n\n /**\n * Normalizes the specified TimeSpan value to a positive value.\n * @param {Number} timeSpan The time span value to normalize.\n * @returns {Number} The specified TimeSpan value if it is zero or positive; otherwise, 0\n */\n Scheduler.normalize = function (timeSpan) {\n timeSpan < 0 && (timeSpan = 0);\n return timeSpan;\n };\n\n return Scheduler;\n }());\n\n var normalizeTime = Scheduler.normalize, isScheduler = Scheduler.isScheduler;\n\n (function (schedulerProto) {\n\n function invokeRecImmediate(scheduler, pair) {\n var state = pair[0], action = pair[1], group = new CompositeDisposable();\n action(state, innerAction);\n return group;\n\n function innerAction(state2) {\n var isAdded = false, isDone = false;\n\n var d = scheduler.schedule(state2, scheduleWork);\n if (!isDone) {\n group.add(d);\n isAdded = true;\n }\n\n function scheduleWork(_, state3) {\n if (isAdded) {\n group.remove(d);\n } else {\n isDone = true;\n }\n action(state3, innerAction);\n return disposableEmpty;\n }\n }\n }\n\n function invokeRecDate(scheduler, pair) {\n var state = pair[0], action = pair[1], group = new CompositeDisposable();\n action(state, innerAction);\n return group;\n\n function innerAction(state2, dueTime1) {\n var isAdded = false, isDone = false;\n\n var d = scheduler.scheduleFuture(state2, dueTime1, scheduleWork);\n if (!isDone) {\n group.add(d);\n isAdded = true;\n }\n\n function scheduleWork(_, state3) {\n if (isAdded) {\n group.remove(d);\n } else {\n isDone = true;\n }\n action(state3, innerAction);\n return disposableEmpty;\n }\n }\n }\n\n /**\n * Schedules an action to be executed recursively.\n * @param {Mixed} state State passed to the action to be executed.\n * @param {Function} action Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in recursive invocation state.\n * @returns {Disposable} The disposable object used to cancel the scheduled action (best effort).\n */\n schedulerProto.scheduleRecursive = function (state, action) {\n return this.schedule([state, action], invokeRecImmediate);\n };\n\n /**\n * Schedules an action to be executed recursively after a specified relative or absolute due time.\n * @param {Mixed} state State passed to the action to be executed.\n * @param {Function} action Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in the recursive due time and invocation state.\n * @param {Number | Date} dueTime Relative or absolute time after which to execute the action for the first time.\n * @returns {Disposable} The disposable object used to cancel the scheduled action (best effort).\n */\n schedulerProto.scheduleRecursiveFuture = function (state, dueTime, action) {\n return this.scheduleFuture([state, action], dueTime, invokeRecDate);\n };\n\n }(Scheduler.prototype));\n\n (function (schedulerProto) {\n\n /**\n * Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. The periodic task will be scheduled using window.setInterval for the base implementation.\n * @param {Mixed} state Initial state passed to the action upon the first iteration.\n * @param {Number} period Period for running the work periodically.\n * @param {Function} action Action to be executed, potentially updating the state.\n * @returns {Disposable} The disposable object used to cancel the scheduled recurring action (best effort).\n */\n schedulerProto.schedulePeriodic = function(state, period, action) {\n if (typeof root.setInterval === 'undefined') { throw new NotSupportedError(); }\n period = normalizeTime(period);\n var s = state, id = root.setInterval(function () { s = action(s); }, period);\n return disposableCreate(function () { root.clearInterval(id); });\n };\n\n }(Scheduler.prototype));\n\n (function (schedulerProto) {\n /**\n * Returns a scheduler that wraps the original scheduler, adding exception handling for scheduled actions.\n * @param {Function} handler Handler that's run if an exception is caught. The exception will be rethrown if the handler returns false.\n * @returns {Scheduler} Wrapper around the original scheduler, enforcing exception handling.\n */\n schedulerProto.catchError = schedulerProto['catch'] = function (handler) {\n return new CatchScheduler(this, handler);\n };\n }(Scheduler.prototype));\n\n var SchedulePeriodicRecursive = Rx.internals.SchedulePeriodicRecursive = (function () {\n function createTick(self) {\n return function tick(command, recurse) {\n recurse(0, self._period);\n var state = tryCatch(self._action)(self._state);\n if (state === errorObj) {\n self._cancel.dispose();\n thrower(state.e);\n }\n self._state = state;\n };\n }\n\n function SchedulePeriodicRecursive(scheduler, state, period, action) {\n this._scheduler = scheduler;\n this._state = state;\n this._period = period;\n this._action = action;\n }\n\n SchedulePeriodicRecursive.prototype.start = function () {\n var d = new SingleAssignmentDisposable();\n this._cancel = d;\n d.setDisposable(this._scheduler.scheduleRecursiveFuture(0, this._period, createTick(this)));\n\n return d;\n };\n\n return SchedulePeriodicRecursive;\n }());\n\n /** Gets a scheduler that schedules work immediately on the current thread. */\n var ImmediateScheduler = (function (__super__) {\n inherits(ImmediateScheduler, __super__);\n function ImmediateScheduler() {\n __super__.call(this);\n }\n\n ImmediateScheduler.prototype.schedule = function (state, action) {\n return disposableFixup(action(this, state));\n };\n\n return ImmediateScheduler;\n }(Scheduler));\n\n var immediateScheduler = Scheduler.immediate = new ImmediateScheduler();\n\n /**\n * Gets a scheduler that schedules work as soon as possible on the current thread.\n */\n var CurrentThreadScheduler = (function (__super__) {\n var queue;\n\n function runTrampoline () {\n while (queue.length > 0) {\n var item = queue.dequeue();\n !item.isCancelled() && item.invoke();\n }\n }\n\n inherits(CurrentThreadScheduler, __super__);\n function CurrentThreadScheduler() {\n __super__.call(this);\n }\n\n CurrentThreadScheduler.prototype.schedule = function (state, action) {\n var si = new ScheduledItem(this, state, action, this.now());\n\n if (!queue) {\n queue = new PriorityQueue(4);\n queue.enqueue(si);\n\n var result = tryCatch(runTrampoline)();\n queue = null;\n if (result === errorObj) { thrower(result.e); }\n } else {\n queue.enqueue(si);\n }\n return si.disposable;\n };\n\n CurrentThreadScheduler.prototype.scheduleRequired = function () { return !queue; };\n\n return CurrentThreadScheduler;\n }(Scheduler));\n\n var currentThreadScheduler = Scheduler.currentThread = new CurrentThreadScheduler();\n\n var scheduleMethod, clearMethod;\n\n var localTimer = (function () {\n var localSetTimeout, localClearTimeout = noop;\n if (!!root.setTimeout) {\n localSetTimeout = root.setTimeout;\n localClearTimeout = root.clearTimeout;\n } else if (!!root.WScript) {\n localSetTimeout = function (fn, time) {\n root.WScript.Sleep(time);\n fn();\n };\n } else {\n throw new NotSupportedError();\n }\n\n return {\n setTimeout: localSetTimeout,\n clearTimeout: localClearTimeout\n };\n }());\n var localSetTimeout = localTimer.setTimeout,\n localClearTimeout = localTimer.clearTimeout;\n\n (function () {\n\n var nextHandle = 1, tasksByHandle = {}, currentlyRunning = false;\n\n clearMethod = function (handle) {\n delete tasksByHandle[handle];\n };\n\n function runTask(handle) {\n if (currentlyRunning) {\n localSetTimeout(function () { runTask(handle); }, 0);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunning = true;\n var result = tryCatch(task)();\n clearMethod(handle);\n currentlyRunning = false;\n if (result === errorObj) { thrower(result.e); }\n }\n }\n }\n\n var reNative = new RegExp('^' +\n String(toString)\n .replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n .replace(/toString| for [^\\]]+/g, '.*?') + '$'\n );\n\n var setImmediate = typeof (setImmediate = freeGlobal && moduleExports && freeGlobal.setImmediate) == 'function' &&\n !reNative.test(setImmediate) && setImmediate;\n\n function postMessageSupported () {\n // Ensure not in a worker\n if (!root.postMessage || root.importScripts) { return false; }\n var isAsync = false, oldHandler = root.onmessage;\n // Test for async\n root.onmessage = function () { isAsync = true; };\n root.postMessage('', '*');\n root.onmessage = oldHandler;\n\n return isAsync;\n }\n\n // Use in order, setImmediate, nextTick, postMessage, MessageChannel, script readystatechanged, setTimeout\n if (isFunction(setImmediate)) {\n scheduleMethod = function (action) {\n var id = nextHandle++;\n tasksByHandle[id] = action;\n setImmediate(function () { runTask(id); });\n\n return id;\n };\n } else if (typeof process !== 'undefined' && {}.toString.call(process) === '[object process]') {\n scheduleMethod = function (action) {\n var id = nextHandle++;\n tasksByHandle[id] = action;\n process.nextTick(function () { runTask(id); });\n\n return id;\n };\n } else if (postMessageSupported()) {\n var MSG_PREFIX = 'ms.rx.schedule' + Math.random();\n\n var onGlobalPostMessage = function (event) {\n // Only if we're a match to avoid any other global events\n if (typeof event.data === 'string' && event.data.substring(0, MSG_PREFIX.length) === MSG_PREFIX) {\n runTask(event.data.substring(MSG_PREFIX.length));\n }\n };\n\n root.addEventListener('message', onGlobalPostMessage, false);\n\n scheduleMethod = function (action) {\n var id = nextHandle++;\n tasksByHandle[id] = action;\n root.postMessage(MSG_PREFIX + id, '*');\n return id;\n };\n } else if (!!root.MessageChannel) {\n var channel = new root.MessageChannel();\n\n channel.port1.onmessage = function (e) { runTask(e.data); };\n\n scheduleMethod = function (action) {\n var id = nextHandle++;\n tasksByHandle[id] = action;\n channel.port2.postMessage(id);\n return id;\n };\n } else if ('document' in root && 'onreadystatechange' in root.document.createElement('script')) {\n\n scheduleMethod = function (action) {\n var scriptElement = root.document.createElement('script');\n var id = nextHandle++;\n tasksByHandle[id] = action;\n\n scriptElement.onreadystatechange = function () {\n runTask(id);\n scriptElement.onreadystatechange = null;\n scriptElement.parentNode.removeChild(scriptElement);\n scriptElement = null;\n };\n root.document.documentElement.appendChild(scriptElement);\n return id;\n };\n\n } else {\n scheduleMethod = function (action) {\n var id = nextHandle++;\n tasksByHandle[id] = action;\n localSetTimeout(function () {\n runTask(id);\n }, 0);\n\n return id;\n };\n }\n }());\n\n /**\n * Gets a scheduler that schedules work via a timed callback based upon platform.\n */\n var DefaultScheduler = (function (__super__) {\n inherits(DefaultScheduler, __super__);\n function DefaultScheduler() {\n __super__.call(this);\n }\n\n function scheduleAction(disposable, action, scheduler, state) {\n return function schedule() {\n disposable.setDisposable(Disposable._fixup(action(scheduler, state)));\n };\n }\n\n function ClearDisposable(id) {\n this._id = id;\n this.isDisposed = false;\n }\n\n ClearDisposable.prototype.dispose = function () {\n if (!this.isDisposed) {\n this.isDisposed = true;\n clearMethod(this._id);\n }\n };\n\n function LocalClearDisposable(id) {\n this._id = id;\n this.isDisposed = false;\n }\n\n LocalClearDisposable.prototype.dispose = function () {\n if (!this.isDisposed) {\n this.isDisposed = true;\n localClearTimeout(this._id);\n }\n };\n\n DefaultScheduler.prototype.schedule = function (state, action) {\n var disposable = new SingleAssignmentDisposable(),\n id = scheduleMethod(scheduleAction(disposable, action, this, state));\n return new BinaryDisposable(disposable, new ClearDisposable(id));\n };\n\n DefaultScheduler.prototype._scheduleFuture = function (state, dueTime, action) {\n if (dueTime === 0) { return this.schedule(state, action); }\n var disposable = new SingleAssignmentDisposable(),\n id = localSetTimeout(scheduleAction(disposable, action, this, state), dueTime);\n return new BinaryDisposable(disposable, new LocalClearDisposable(id));\n };\n\n function scheduleLongRunning(state, action, disposable) {\n return function () { action(state, disposable); };\n }\n\n DefaultScheduler.prototype.scheduleLongRunning = function (state, action) {\n var disposable = disposableCreate(noop);\n scheduleMethod(scheduleLongRunning(state, action, disposable));\n return disposable;\n };\n\n return DefaultScheduler;\n }(Scheduler));\n\n var defaultScheduler = Scheduler['default'] = Scheduler.async = new DefaultScheduler();\n\n var CatchScheduler = (function (__super__) {\n inherits(CatchScheduler, __super__);\n\n function CatchScheduler(scheduler, handler) {\n this._scheduler = scheduler;\n this._handler = handler;\n this._recursiveOriginal = null;\n this._recursiveWrapper = null;\n __super__.call(this);\n }\n\n CatchScheduler.prototype.schedule = function (state, action) {\n return this._scheduler.schedule(state, this._wrap(action));\n };\n\n CatchScheduler.prototype._scheduleFuture = function (state, dueTime, action) {\n return this._scheduler.schedule(state, dueTime, this._wrap(action));\n };\n\n CatchScheduler.prototype.now = function () { return this._scheduler.now(); };\n\n CatchScheduler.prototype._clone = function (scheduler) {\n return new CatchScheduler(scheduler, this._handler);\n };\n\n CatchScheduler.prototype._wrap = function (action) {\n var parent = this;\n return function (self, state) {\n var res = tryCatch(action)(parent._getRecursiveWrapper(self), state);\n if (res === errorObj) {\n if (!parent._handler(res.e)) { thrower(res.e); }\n return disposableEmpty;\n }\n return disposableFixup(res);\n };\n };\n\n CatchScheduler.prototype._getRecursiveWrapper = function (scheduler) {\n if (this._recursiveOriginal !== scheduler) {\n this._recursiveOriginal = scheduler;\n var wrapper = this._clone(scheduler);\n wrapper._recursiveOriginal = scheduler;\n wrapper._recursiveWrapper = wrapper;\n this._recursiveWrapper = wrapper;\n }\n return this._recursiveWrapper;\n };\n\n CatchScheduler.prototype.schedulePeriodic = function (state, period, action) {\n var self = this, failed = false, d = new SingleAssignmentDisposable();\n\n d.setDisposable(this._scheduler.schedulePeriodic(state, period, function (state1) {\n if (failed) { return null; }\n var res = tryCatch(action)(state1);\n if (res === errorObj) {\n failed = true;\n if (!self._handler(res.e)) { thrower(res.e); }\n d.dispose();\n return null;\n }\n return res;\n }));\n\n return d;\n };\n\n return CatchScheduler;\n }(Scheduler));\n\n function IndexedItem(id, value) {\n this.id = id;\n this.value = value;\n }\n\n IndexedItem.prototype.compareTo = function (other) {\n var c = this.value.compareTo(other.value);\n c === 0 && (c = this.id - other.id);\n return c;\n };\n\n var PriorityQueue = Rx.internals.PriorityQueue = function (capacity) {\n this.items = new Array(capacity);\n this.length = 0;\n };\n\n var priorityProto = PriorityQueue.prototype;\n priorityProto.isHigherPriority = function (left, right) {\n return this.items[left].compareTo(this.items[right]) < 0;\n };\n\n priorityProto.percolate = function (index) {\n if (index >= this.length || index < 0) { return; }\n var parent = index - 1 >> 1;\n if (parent < 0 || parent === index) { return; }\n if (this.isHigherPriority(index, parent)) {\n var temp = this.items[index];\n this.items[index] = this.items[parent];\n this.items[parent] = temp;\n this.percolate(parent);\n }\n };\n\n priorityProto.heapify = function (index) {\n +index || (index = 0);\n if (index >= this.length || index < 0) { return; }\n var left = 2 * index + 1,\n right = 2 * index + 2,\n first = index;\n if (left < this.length && this.isHigherPriority(left, first)) {\n first = left;\n }\n if (right < this.length && this.isHigherPriority(right, first)) {\n first = right;\n }\n if (first !== index) {\n var temp = this.items[index];\n this.items[index] = this.items[first];\n this.items[first] = temp;\n this.heapify(first);\n }\n };\n\n priorityProto.peek = function () { return this.items[0].value; };\n\n priorityProto.removeAt = function (index) {\n this.items[index] = this.items[--this.length];\n this.items[this.length] = undefined;\n this.heapify();\n };\n\n priorityProto.dequeue = function () {\n var result = this.peek();\n this.removeAt(0);\n return result;\n };\n\n priorityProto.enqueue = function (item) {\n var index = this.length++;\n this.items[index] = new IndexedItem(PriorityQueue.count++, item);\n this.percolate(index);\n };\n\n priorityProto.remove = function (item) {\n for (var i = 0; i < this.length; i++) {\n if (this.items[i].value === item) {\n this.removeAt(i);\n return true;\n }\n }\n return false;\n };\n PriorityQueue.count = 0;\n\n /**\n * Represents a notification to an observer.\n */\n var Notification = Rx.Notification = (function () {\n function Notification() {\n\n }\n\n Notification.prototype._accept = function (onNext, onError, onCompleted) {\n throw new NotImplementedError();\n };\n\n Notification.prototype._acceptObserver = function (onNext, onError, onCompleted) {\n throw new NotImplementedError();\n };\n\n /**\n * Invokes the delegate corresponding to the notification or the observer's method corresponding to the notification and returns the produced result.\n * @param {Function | Observer} observerOrOnNext Function to invoke for an OnNext notification or Observer to invoke the notification on..\n * @param {Function} onError Function to invoke for an OnError notification.\n * @param {Function} onCompleted Function to invoke for an OnCompleted notification.\n * @returns {Any} Result produced by the observation.\n */\n Notification.prototype.accept = function (observerOrOnNext, onError, onCompleted) {\n return observerOrOnNext && typeof observerOrOnNext === 'object' ?\n this._acceptObserver(observerOrOnNext) :\n this._accept(observerOrOnNext, onError, onCompleted);\n };\n\n /**\n * Returns an observable sequence with a single notification.\n *\n * @memberOf Notifications\n * @param {Scheduler} [scheduler] Scheduler to send out the notification calls on.\n * @returns {Observable} The observable sequence that surfaces the behavior of the notification upon subscription.\n */\n Notification.prototype.toObservable = function (scheduler) {\n var self = this;\n isScheduler(scheduler) || (scheduler = immediateScheduler);\n return new AnonymousObservable(function (o) {\n return scheduler.schedule(self, function (_, notification) {\n notification._acceptObserver(o);\n notification.kind === 'N' && o.onCompleted();\n });\n });\n };\n\n return Notification;\n })();\n\n var OnNextNotification = (function (__super__) {\n inherits(OnNextNotification, __super__);\n function OnNextNotification(value) {\n this.value = value;\n this.kind = 'N';\n }\n\n OnNextNotification.prototype._accept = function (onNext) {\n return onNext(this.value);\n };\n\n OnNextNotification.prototype._acceptObserver = function (o) {\n return o.onNext(this.value);\n };\n\n OnNextNotification.prototype.toString = function () {\n return 'OnNext(' + this.value + ')';\n };\n\n return OnNextNotification;\n }(Notification));\n\n var OnErrorNotification = (function (__super__) {\n inherits(OnErrorNotification, __super__);\n function OnErrorNotification(error) {\n this.error = error;\n this.kind = 'E';\n }\n\n OnErrorNotification.prototype._accept = function (onNext, onError) {\n return onError(this.error);\n };\n\n OnErrorNotification.prototype._acceptObserver = function (o) {\n return o.onError(this.error);\n };\n\n OnErrorNotification.prototype.toString = function () {\n return 'OnError(' + this.error + ')';\n };\n\n return OnErrorNotification;\n }(Notification));\n\n var OnCompletedNotification = (function (__super__) {\n inherits(OnCompletedNotification, __super__);\n function OnCompletedNotification() {\n this.kind = 'C';\n }\n\n OnCompletedNotification.prototype._accept = function (onNext, onError, onCompleted) {\n return onCompleted();\n };\n\n OnCompletedNotification.prototype._acceptObserver = function (o) {\n return o.onCompleted();\n };\n\n OnCompletedNotification.prototype.toString = function () {\n return 'OnCompleted()';\n };\n\n return OnCompletedNotification;\n }(Notification));\n\n /**\n * Creates an object that represents an OnNext notification to an observer.\n * @param {Any} value The value contained in the notification.\n * @returns {Notification} The OnNext notification containing the value.\n */\n var notificationCreateOnNext = Notification.createOnNext = function (value) {\n return new OnNextNotification(value);\n };\n\n /**\n * Creates an object that represents an OnError notification to an observer.\n * @param {Any} error The exception contained in the notification.\n * @returns {Notification} The OnError notification containing the exception.\n */\n var notificationCreateOnError = Notification.createOnError = function (error) {\n return new OnErrorNotification(error);\n };\n\n /**\n * Creates an object that represents an OnCompleted notification to an observer.\n * @returns {Notification} The OnCompleted notification.\n */\n var notificationCreateOnCompleted = Notification.createOnCompleted = function () {\n return new OnCompletedNotification();\n };\n\n /**\n * Supports push-style iteration over an observable sequence.\n */\n var Observer = Rx.Observer = function () { };\n\n /**\n * Creates a notification callback from an observer.\n * @returns The action that forwards its input notification to the underlying observer.\n */\n Observer.prototype.toNotifier = function () {\n var observer = this;\n return function (n) { return n.accept(observer); };\n };\n\n /**\n * Hides the identity of an observer.\n * @returns An observer that hides the identity of the specified observer.\n */\n Observer.prototype.asObserver = function () {\n var self = this;\n return new AnonymousObserver(\n function (x) { self.onNext(x); },\n function (err) { self.onError(err); },\n function () { self.onCompleted(); });\n };\n\n /**\n * Checks access to the observer for grammar violations. This includes checking for multiple OnError or OnCompleted calls, as well as reentrancy in any of the observer methods.\n * If a violation is detected, an Error is thrown from the offending observer method call.\n * @returns An observer that checks callbacks invocations against the observer grammar and, if the checks pass, forwards those to the specified observer.\n */\n Observer.prototype.checked = function () { return new CheckedObserver(this); };\n\n /**\n * Creates an observer from the specified OnNext, along with optional OnError, and OnCompleted actions.\n * @param {Function} [onNext] Observer's OnNext action implementation.\n * @param {Function} [onError] Observer's OnError action implementation.\n * @param {Function} [onCompleted] Observer's OnCompleted action implementation.\n * @returns {Observer} The observer object implemented using the given actions.\n */\n var observerCreate = Observer.create = function (onNext, onError, onCompleted) {\n onNext || (onNext = noop);\n onError || (onError = defaultError);\n onCompleted || (onCompleted = noop);\n return new AnonymousObserver(onNext, onError, onCompleted);\n };\n\n /**\n * Creates an observer from a notification callback.\n * @param {Function} handler Action that handles a notification.\n * @returns The observer object that invokes the specified handler using a notification corresponding to each message it receives.\n */\n Observer.fromNotifier = function (handler, thisArg) {\n var cb = bindCallback(handler, thisArg, 1);\n return new AnonymousObserver(function (x) {\n return cb(notificationCreateOnNext(x));\n }, function (e) {\n return cb(notificationCreateOnError(e));\n }, function () {\n return cb(notificationCreateOnCompleted());\n });\n };\n\n /**\n * Schedules the invocation of observer methods on the given scheduler.\n * @param {Scheduler} scheduler Scheduler to schedule observer messages on.\n * @returns {Observer} Observer whose messages are scheduled on the given scheduler.\n */\n Observer.prototype.notifyOn = function (scheduler) {\n return new ObserveOnObserver(scheduler, this);\n };\n\n Observer.prototype.makeSafe = function(disposable) {\n return new AnonymousSafeObserver(this._onNext, this._onError, this._onCompleted, disposable);\n };\n\n /**\n * Abstract base class for implementations of the Observer class.\n * This base class enforces the grammar of observers where OnError and OnCompleted are terminal messages.\n */\n var AbstractObserver = Rx.internals.AbstractObserver = (function (__super__) {\n inherits(AbstractObserver, __super__);\n\n /**\n * Creates a new observer in a non-stopped state.\n */\n function AbstractObserver() {\n this.isStopped = false;\n }\n\n // Must be implemented by other observers\n AbstractObserver.prototype.next = notImplemented;\n AbstractObserver.prototype.error = notImplemented;\n AbstractObserver.prototype.completed = notImplemented;\n\n /**\n * Notifies the observer of a new element in the sequence.\n * @param {Any} value Next element in the sequence.\n */\n AbstractObserver.prototype.onNext = function (value) {\n !this.isStopped && this.next(value);\n };\n\n /**\n * Notifies the observer that an exception has occurred.\n * @param {Any} error The error that has occurred.\n */\n AbstractObserver.prototype.onError = function (error) {\n if (!this.isStopped) {\n this.isStopped = true;\n this.error(error);\n }\n };\n\n /**\n * Notifies the observer of the end of the sequence.\n */\n AbstractObserver.prototype.onCompleted = function () {\n if (!this.isStopped) {\n this.isStopped = true;\n this.completed();\n }\n };\n\n /**\n * Disposes the observer, causing it to transition to the stopped state.\n */\n AbstractObserver.prototype.dispose = function () { this.isStopped = true; };\n\n AbstractObserver.prototype.fail = function (e) {\n if (!this.isStopped) {\n this.isStopped = true;\n this.error(e);\n return true;\n }\n\n return false;\n };\n\n return AbstractObserver;\n }(Observer));\n\n /**\n * Class to create an Observer instance from delegate-based implementations of the on* methods.\n */\n var AnonymousObserver = Rx.AnonymousObserver = (function (__super__) {\n inherits(AnonymousObserver, __super__);\n\n /**\n * Creates an observer from the specified OnNext, OnError, and OnCompleted actions.\n * @param {Any} onNext Observer's OnNext action implementation.\n * @param {Any} onError Observer's OnError action implementation.\n * @param {Any} onCompleted Observer's OnCompleted action implementation.\n */\n function AnonymousObserver(onNext, onError, onCompleted) {\n __super__.call(this);\n this._onNext = onNext;\n this._onError = onError;\n this._onCompleted = onCompleted;\n }\n\n /**\n * Calls the onNext action.\n * @param {Any} value Next element in the sequence.\n */\n AnonymousObserver.prototype.next = function (value) {\n this._onNext(value);\n };\n\n /**\n * Calls the onError action.\n * @param {Any} error The error that has occurred.\n */\n AnonymousObserver.prototype.error = function (error) {\n this._onError(error);\n };\n\n /**\n * Calls the onCompleted action.\n */\n AnonymousObserver.prototype.completed = function () {\n this._onCompleted();\n };\n\n return AnonymousObserver;\n }(AbstractObserver));\n\n var CheckedObserver = (function (__super__) {\n inherits(CheckedObserver, __super__);\n\n function CheckedObserver(observer) {\n __super__.call(this);\n this._observer = observer;\n this._state = 0; // 0 - idle, 1 - busy, 2 - done\n }\n\n var CheckedObserverPrototype = CheckedObserver.prototype;\n\n CheckedObserverPrototype.onNext = function (value) {\n this.checkAccess();\n var res = tryCatch(this._observer.onNext).call(this._observer, value);\n this._state = 0;\n res === errorObj && thrower(res.e);\n };\n\n CheckedObserverPrototype.onError = function (err) {\n this.checkAccess();\n var res = tryCatch(this._observer.onError).call(this._observer, err);\n this._state = 2;\n res === errorObj && thrower(res.e);\n };\n\n CheckedObserverPrototype.onCompleted = function () {\n this.checkAccess();\n var res = tryCatch(this._observer.onCompleted).call(this._observer);\n this._state = 2;\n res === errorObj && thrower(res.e);\n };\n\n CheckedObserverPrototype.checkAccess = function () {\n if (this._state === 1) { throw new Error('Re-entrancy detected'); }\n if (this._state === 2) { throw new Error('Observer completed'); }\n if (this._state === 0) { this._state = 1; }\n };\n\n return CheckedObserver;\n }(Observer));\n\n var ScheduledObserver = Rx.internals.ScheduledObserver = (function (__super__) {\n inherits(ScheduledObserver, __super__);\n\n function ScheduledObserver(scheduler, observer) {\n __super__.call(this);\n this.scheduler = scheduler;\n this.observer = observer;\n this.isAcquired = false;\n this.hasFaulted = false;\n this.queue = [];\n this.disposable = new SerialDisposable();\n }\n\n function enqueueNext(observer, x) { return function () { observer.onNext(x); }; }\n function enqueueError(observer, e) { return function () { observer.onError(e); }; }\n function enqueueCompleted(observer) { return function () { observer.onCompleted(); }; }\n\n ScheduledObserver.prototype.next = function (x) {\n this.queue.push(enqueueNext(this.observer, x));\n };\n\n ScheduledObserver.prototype.error = function (e) {\n this.queue.push(enqueueError(this.observer, e));\n };\n\n ScheduledObserver.prototype.completed = function () {\n this.queue.push(enqueueCompleted(this.observer));\n };\n\n\n function scheduleMethod(state, recurse) {\n var work;\n if (state.queue.length > 0) {\n work = state.queue.shift();\n } else {\n state.isAcquired = false;\n return;\n }\n var res = tryCatch(work)();\n if (res === errorObj) {\n state.queue = [];\n state.hasFaulted = true;\n return thrower(res.e);\n }\n recurse(state);\n }\n\n ScheduledObserver.prototype.ensureActive = function () {\n var isOwner = false;\n if (!this.hasFaulted && this.queue.length > 0) {\n isOwner = !this.isAcquired;\n this.isAcquired = true;\n }\n isOwner &&\n this.disposable.setDisposable(this.scheduler.scheduleRecursive(this, scheduleMethod));\n };\n\n ScheduledObserver.prototype.dispose = function () {\n __super__.prototype.dispose.call(this);\n this.disposable.dispose();\n };\n\n return ScheduledObserver;\n }(AbstractObserver));\n\n var ObserveOnObserver = (function (__super__) {\n inherits(ObserveOnObserver, __super__);\n\n function ObserveOnObserver(scheduler, observer, cancel) {\n __super__.call(this, scheduler, observer);\n this._cancel = cancel;\n }\n\n ObserveOnObserver.prototype.next = function (value) {\n __super__.prototype.next.call(this, value);\n this.ensureActive();\n };\n\n ObserveOnObserver.prototype.error = function (e) {\n __super__.prototype.error.call(this, e);\n this.ensureActive();\n };\n\n ObserveOnObserver.prototype.completed = function () {\n __super__.prototype.completed.call(this);\n this.ensureActive();\n };\n\n ObserveOnObserver.prototype.dispose = function () {\n __super__.prototype.dispose.call(this);\n this._cancel && this._cancel.dispose();\n this._cancel = null;\n };\n\n return ObserveOnObserver;\n })(ScheduledObserver);\n\n var observableProto;\n\n /**\n * Represents a push-style collection.\n */\n var Observable = Rx.Observable = (function () {\n\n function makeSubscribe(self, subscribe) {\n return function (o) {\n var oldOnError = o.onError;\n o.onError = function (e) {\n makeStackTraceLong(e, self);\n oldOnError.call(o, e);\n };\n\n return subscribe.call(self, o);\n };\n }\n\n function Observable() {\n if (Rx.config.longStackSupport && hasStacks) {\n var oldSubscribe = this._subscribe;\n var e = tryCatch(thrower)(new Error()).e;\n this.stack = e.stack.substring(e.stack.indexOf('\\n') + 1);\n this._subscribe = makeSubscribe(this, oldSubscribe);\n }\n }\n\n observableProto = Observable.prototype;\n\n /**\n * Determines whether the given object is an Observable\n * @param {Any} An object to determine whether it is an Observable\n * @returns {Boolean} true if an Observable, else false.\n */\n Observable.isObservable = function (o) {\n return o && isFunction(o.subscribe);\n };\n\n /**\n * Subscribes an o to the observable sequence.\n * @param {Mixed} [oOrOnNext] The object that is to receive notifications or an action to invoke for each element in the observable sequence.\n * @param {Function} [onError] Action to invoke upon exceptional termination of the observable sequence.\n * @param {Function} [onCompleted] Action to invoke upon graceful termination of the observable sequence.\n * @returns {Diposable} A disposable handling the subscriptions and unsubscriptions.\n */\n observableProto.subscribe = observableProto.forEach = function (oOrOnNext, onError, onCompleted) {\n return this._subscribe(typeof oOrOnNext === 'object' ?\n oOrOnNext :\n observerCreate(oOrOnNext, onError, onCompleted));\n };\n\n /**\n * Subscribes to the next value in the sequence with an optional \"this\" argument.\n * @param {Function} onNext The function to invoke on each element in the observable sequence.\n * @param {Any} [thisArg] Object to use as this when executing callback.\n * @returns {Disposable} A disposable handling the subscriptions and unsubscriptions.\n */\n observableProto.subscribeOnNext = function (onNext, thisArg) {\n return this._subscribe(observerCreate(typeof thisArg !== 'undefined' ? function(x) { onNext.call(thisArg, x); } : onNext));\n };\n\n /**\n * Subscribes to an exceptional condition in the sequence with an optional \"this\" argument.\n * @param {Function} onError The function to invoke upon exceptional termination of the observable sequence.\n * @param {Any} [thisArg] Object to use as this when executing callback.\n * @returns {Disposable} A disposable handling the subscriptions and unsubscriptions.\n */\n observableProto.subscribeOnError = function (onError, thisArg) {\n return this._subscribe(observerCreate(null, typeof thisArg !== 'undefined' ? function(e) { onError.call(thisArg, e); } : onError));\n };\n\n /**\n * Subscribes to the next value in the sequence with an optional \"this\" argument.\n * @param {Function} onCompleted The function to invoke upon graceful termination of the observable sequence.\n * @param {Any} [thisArg] Object to use as this when executing callback.\n * @returns {Disposable} A disposable handling the subscriptions and unsubscriptions.\n */\n observableProto.subscribeOnCompleted = function (onCompleted, thisArg) {\n return this._subscribe(observerCreate(null, null, typeof thisArg !== 'undefined' ? function() { onCompleted.call(thisArg); } : onCompleted));\n };\n\n return Observable;\n })();\n\n var ObservableBase = Rx.ObservableBase = (function (__super__) {\n inherits(ObservableBase, __super__);\n\n function fixSubscriber(subscriber) {\n return subscriber && isFunction(subscriber.dispose) ? subscriber :\n isFunction(subscriber) ? disposableCreate(subscriber) : disposableEmpty;\n }\n\n function setDisposable(s, state) {\n var ado = state[0], self = state[1];\n var sub = tryCatch(self.subscribeCore).call(self, ado);\n if (sub === errorObj && !ado.fail(errorObj.e)) { thrower(errorObj.e); }\n ado.setDisposable(fixSubscriber(sub));\n }\n\n function ObservableBase() {\n __super__.call(this);\n }\n\n ObservableBase.prototype._subscribe = function (o) {\n var ado = new AutoDetachObserver(o), state = [ado, this];\n\n if (currentThreadScheduler.scheduleRequired()) {\n currentThreadScheduler.schedule(state, setDisposable);\n } else {\n setDisposable(null, state);\n }\n return ado;\n };\n\n ObservableBase.prototype.subscribeCore = notImplemented;\n\n return ObservableBase;\n }(Observable));\n\nvar FlatMapObservable = Rx.FlatMapObservable = (function(__super__) {\n\n inherits(FlatMapObservable, __super__);\n\n function FlatMapObservable(source, selector, resultSelector, thisArg) {\n this.resultSelector = isFunction(resultSelector) ? resultSelector : null;\n this.selector = bindCallback(isFunction(selector) ? selector : function() { return selector; }, thisArg, 3);\n this.source = source;\n __super__.call(this);\n }\n\n FlatMapObservable.prototype.subscribeCore = function(o) {\n return this.source.subscribe(new InnerObserver(o, this.selector, this.resultSelector, this));\n };\n\n inherits(InnerObserver, AbstractObserver);\n function InnerObserver(observer, selector, resultSelector, source) {\n this.i = 0;\n this.selector = selector;\n this.resultSelector = resultSelector;\n this.source = source;\n this.o = observer;\n AbstractObserver.call(this);\n }\n\n InnerObserver.prototype._wrapResult = function(result, x, i) {\n return this.resultSelector ?\n result.map(function(y, i2) { return this.resultSelector(x, y, i, i2); }, this) :\n result;\n };\n\n InnerObserver.prototype.next = function(x) {\n var i = this.i++;\n var result = tryCatch(this.selector)(x, i, this.source);\n if (result === errorObj) { return this.o.onError(result.e); }\n\n isPromise(result) && (result = observableFromPromise(result));\n (isArrayLike(result) || isIterable(result)) && (result = Observable.from(result));\n this.o.onNext(this._wrapResult(result, x, i));\n };\n\n InnerObserver.prototype.error = function(e) { this.o.onError(e); };\n\n InnerObserver.prototype.completed = function() { this.o.onCompleted(); };\n\n return FlatMapObservable;\n\n}(ObservableBase));\n\n var Enumerable = Rx.internals.Enumerable = function () { };\n\n function IsDisposedDisposable(state) {\n this._s = state;\n this.isDisposed = false;\n }\n\n IsDisposedDisposable.prototype.dispose = function () {\n if (!this.isDisposed) {\n this.isDisposed = true;\n this._s.isDisposed = true;\n }\n };\n\n var ConcatEnumerableObservable = (function(__super__) {\n inherits(ConcatEnumerableObservable, __super__);\n function ConcatEnumerableObservable(sources) {\n this.sources = sources;\n __super__.call(this);\n }\n\n function scheduleMethod(state, recurse) {\n if (state.isDisposed) { return; }\n var currentItem = tryCatch(state.e.next).call(state.e);\n if (currentItem === errorObj) { return state.o.onError(currentItem.e); }\n if (currentItem.done) { return state.o.onCompleted(); }\n\n // Check if promise\n var currentValue = currentItem.value;\n isPromise(currentValue) && (currentValue = observableFromPromise(currentValue));\n\n var d = new SingleAssignmentDisposable();\n state.subscription.setDisposable(d);\n d.setDisposable(currentValue.subscribe(new InnerObserver(state, recurse)));\n }\n\n ConcatEnumerableObservable.prototype.subscribeCore = function (o) {\n var subscription = new SerialDisposable();\n var state = {\n isDisposed: false,\n o: o,\n subscription: subscription,\n e: this.sources[$iterator$]()\n };\n\n var cancelable = currentThreadScheduler.scheduleRecursive(state, scheduleMethod);\n return new NAryDisposable([subscription, cancelable, new IsDisposedDisposable(state)]);\n };\n\n function InnerObserver(state, recurse) {\n this._state = state;\n this._recurse = recurse;\n AbstractObserver.call(this);\n }\n\n inherits(InnerObserver, AbstractObserver);\n\n InnerObserver.prototype.next = function (x) { this._state.o.onNext(x); };\n InnerObserver.prototype.error = function (e) { this._state.o.onError(e); };\n InnerObserver.prototype.completed = function () { this._recurse(this._state); };\n\n return ConcatEnumerableObservable;\n }(ObservableBase));\n\n Enumerable.prototype.concat = function () {\n return new ConcatEnumerableObservable(this);\n };\n\n var CatchErrorObservable = (function(__super__) {\n function CatchErrorObservable(sources) {\n this.sources = sources;\n __super__.call(this);\n }\n\n inherits(CatchErrorObservable, __super__);\n\n function scheduleMethod(state, recurse) {\n if (state.isDisposed) { return; }\n var currentItem = tryCatch(state.e.next).call(state.e);\n if (currentItem === errorObj) { return state.o.onError(currentItem.e); }\n if (currentItem.done) { return state.lastError !== null ? state.o.onError(state.lastError) : state.o.onCompleted(); }\n\n var currentValue = currentItem.value;\n isPromise(currentValue) && (currentValue = observableFromPromise(currentValue));\n\n var d = new SingleAssignmentDisposable();\n state.subscription.setDisposable(d);\n d.setDisposable(currentValue.subscribe(new InnerObserver(state, recurse)));\n }\n\n CatchErrorObservable.prototype.subscribeCore = function (o) {\n var subscription = new SerialDisposable();\n var state = {\n isDisposed: false,\n e: this.sources[$iterator$](),\n subscription: subscription,\n lastError: null,\n o: o\n };\n\n var cancelable = currentThreadScheduler.scheduleRecursive(state, scheduleMethod);\n return new NAryDisposable([subscription, cancelable, new IsDisposedDisposable(state)]);\n };\n\n function InnerObserver(state, recurse) {\n this._state = state;\n this._recurse = recurse;\n AbstractObserver.call(this);\n }\n\n inherits(InnerObserver, AbstractObserver);\n\n InnerObserver.prototype.next = function (x) { this._state.o.onNext(x); };\n InnerObserver.prototype.error = function (e) { this._state.lastError = e; this._recurse(this._state); };\n InnerObserver.prototype.completed = function () { this._state.o.onCompleted(); };\n\n return CatchErrorObservable;\n }(ObservableBase));\n\n Enumerable.prototype.catchError = function () {\n return new CatchErrorObservable(this);\n };\n\n var RepeatEnumerable = (function (__super__) {\n inherits(RepeatEnumerable, __super__);\n function RepeatEnumerable(v, c) {\n this.v = v;\n this.c = c == null ? -1 : c;\n }\n\n RepeatEnumerable.prototype[$iterator$] = function () {\n return new RepeatEnumerator(this);\n };\n\n function RepeatEnumerator(p) {\n this.v = p.v;\n this.l = p.c;\n }\n\n RepeatEnumerator.prototype.next = function () {\n if (this.l === 0) { return doneEnumerator; }\n if (this.l > 0) { this.l--; }\n return { done: false, value: this.v };\n };\n\n return RepeatEnumerable;\n }(Enumerable));\n\n var enumerableRepeat = Enumerable.repeat = function (value, repeatCount) {\n return new RepeatEnumerable(value, repeatCount);\n };\n\n var OfEnumerable = (function(__super__) {\n inherits(OfEnumerable, __super__);\n function OfEnumerable(s, fn, thisArg) {\n this.s = s;\n this.fn = fn ? bindCallback(fn, thisArg, 3) : null;\n }\n OfEnumerable.prototype[$iterator$] = function () {\n return new OfEnumerator(this);\n };\n\n function OfEnumerator(p) {\n this.i = -1;\n this.s = p.s;\n this.l = this.s.length;\n this.fn = p.fn;\n }\n\n OfEnumerator.prototype.next = function () {\n return ++this.i < this.l ?\n { done: false, value: !this.fn ? this.s[this.i] : this.fn(this.s[this.i], this.i, this.s) } :\n doneEnumerator;\n };\n\n return OfEnumerable;\n }(Enumerable));\n\n var enumerableOf = Enumerable.of = function (source, selector, thisArg) {\n return new OfEnumerable(source, selector, thisArg);\n };\n\nvar ObserveOnObservable = (function (__super__) {\n inherits(ObserveOnObservable, __super__);\n function ObserveOnObservable(source, s) {\n this.source = source;\n this._s = s;\n __super__.call(this);\n }\n\n ObserveOnObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new ObserveOnObserver(this._s, o));\n };\n\n return ObserveOnObservable;\n}(ObservableBase));\n\n /**\n * Wraps the source sequence in order to run its observer callbacks on the specified scheduler.\n *\n * This only invokes observer callbacks on a scheduler. In case the subscription and/or unsubscription actions have side-effects\n * that require to be run on a scheduler, use subscribeOn.\n *\n * @param {Scheduler} scheduler Scheduler to notify observers on.\n * @returns {Observable} The source sequence whose observations happen on the specified scheduler.\n */\n observableProto.observeOn = function (scheduler) {\n return new ObserveOnObservable(this, scheduler);\n };\n\n var SubscribeOnObservable = (function (__super__) {\n inherits(SubscribeOnObservable, __super__);\n function SubscribeOnObservable(source, s) {\n this.source = source;\n this._s = s;\n __super__.call(this);\n }\n\n function scheduleMethod(scheduler, state) {\n var source = state[0], d = state[1], o = state[2];\n d.setDisposable(new ScheduledDisposable(scheduler, source.subscribe(o)));\n }\n\n SubscribeOnObservable.prototype.subscribeCore = function (o) {\n var m = new SingleAssignmentDisposable(), d = new SerialDisposable();\n d.setDisposable(m);\n m.setDisposable(this._s.schedule([this.source, d, o], scheduleMethod));\n return d;\n };\n\n return SubscribeOnObservable;\n }(ObservableBase));\n\n /**\n * Wraps the source sequence in order to run its subscription and unsubscription logic on the specified scheduler. This operation is not commonly used;\n * see the remarks section for more information on the distinction between subscribeOn and observeOn.\n\n * This only performs the side-effects of subscription and unsubscription on the specified scheduler. In order to invoke observer\n * callbacks on a scheduler, use observeOn.\n\n * @param {Scheduler} scheduler Scheduler to perform subscription and unsubscription actions on.\n * @returns {Observable} The source sequence whose subscriptions and unsubscriptions happen on the specified scheduler.\n */\n observableProto.subscribeOn = function (scheduler) {\n return new SubscribeOnObservable(this, scheduler);\n };\n\n var FromPromiseObservable = (function(__super__) {\n inherits(FromPromiseObservable, __super__);\n function FromPromiseObservable(p, s) {\n this._p = p;\n this._s = s;\n __super__.call(this);\n }\n\n function scheduleNext(s, state) {\n var o = state[0], data = state[1];\n o.onNext(data);\n o.onCompleted();\n }\n\n function scheduleError(s, state) {\n var o = state[0], err = state[1];\n o.onError(err);\n }\n\n FromPromiseObservable.prototype.subscribeCore = function(o) {\n var sad = new SingleAssignmentDisposable(), self = this, p = this._p;\n\n if (isFunction(p)) {\n p = tryCatch(p)();\n if (p === errorObj) {\n o.onError(p.e);\n return sad;\n }\n }\n\n p\n .then(function (data) {\n sad.setDisposable(self._s.schedule([o, data], scheduleNext));\n }, function (err) {\n sad.setDisposable(self._s.schedule([o, err], scheduleError));\n });\n\n return sad;\n };\n\n return FromPromiseObservable;\n }(ObservableBase));\n\n /**\n * Converts a Promise to an Observable sequence\n * @param {Promise} An ES6 Compliant promise.\n * @returns {Observable} An Observable sequence which wraps the existing promise success and failure.\n */\n var observableFromPromise = Observable.fromPromise = function (promise, scheduler) {\n scheduler || (scheduler = defaultScheduler);\n return new FromPromiseObservable(promise, scheduler);\n };\n\n /*\n * Converts an existing observable sequence to an ES6 Compatible Promise\n * @example\n * var promise = Rx.Observable.return(42).toPromise(RSVP.Promise);\n *\n * // With config\n * Rx.config.Promise = RSVP.Promise;\n * var promise = Rx.Observable.return(42).toPromise();\n * @param {Function} [promiseCtor] The constructor of the promise. If not provided, it looks for it in Rx.config.Promise.\n * @returns {Promise} An ES6 compatible promise with the last value from the observable sequence.\n */\n observableProto.toPromise = function (promiseCtor) {\n promiseCtor || (promiseCtor = Rx.config.Promise);\n if (!promiseCtor) { throw new NotSupportedError('Promise type not provided nor in Rx.config.Promise'); }\n var source = this;\n return new promiseCtor(function (resolve, reject) {\n // No cancellation can be done\n var value;\n source.subscribe(function (v) {\n value = v;\n }, reject, function () {\n resolve(value);\n });\n });\n };\n\n var ToArrayObservable = (function(__super__) {\n inherits(ToArrayObservable, __super__);\n function ToArrayObservable(source) {\n this.source = source;\n __super__.call(this);\n }\n\n ToArrayObservable.prototype.subscribeCore = function(o) {\n return this.source.subscribe(new InnerObserver(o));\n };\n\n inherits(InnerObserver, AbstractObserver);\n function InnerObserver(o) {\n this.o = o;\n this.a = [];\n AbstractObserver.call(this);\n }\n \n InnerObserver.prototype.next = function (x) { this.a.push(x); };\n InnerObserver.prototype.error = function (e) { this.o.onError(e); };\n InnerObserver.prototype.completed = function () { this.o.onNext(this.a); this.o.onCompleted(); };\n\n return ToArrayObservable;\n }(ObservableBase));\n\n /**\n * Creates an array from an observable sequence.\n * @returns {Observable} An observable sequence containing a single element with a list containing all the elements of the source sequence.\n */\n observableProto.toArray = function () {\n return new ToArrayObservable(this);\n };\n\n /**\n * Creates an observable sequence from a specified subscribe method implementation.\n * @example\n * var res = Rx.Observable.create(function (observer) { return function () { } );\n * var res = Rx.Observable.create(function (observer) { return Rx.Disposable.empty; } );\n * var res = Rx.Observable.create(function (observer) { } );\n * @param {Function} subscribe Implementation of the resulting observable sequence's subscribe method, returning a function that will be wrapped in a Disposable.\n * @returns {Observable} The observable sequence with the specified implementation for the Subscribe method.\n */\n Observable.create = function (subscribe, parent) {\n return new AnonymousObservable(subscribe, parent);\n };\n\n var Defer = (function(__super__) {\n inherits(Defer, __super__);\n function Defer(factory) {\n this._f = factory;\n __super__.call(this);\n }\n\n Defer.prototype.subscribeCore = function (o) {\n var result = tryCatch(this._f)();\n if (result === errorObj) { return observableThrow(result.e).subscribe(o);}\n isPromise(result) && (result = observableFromPromise(result));\n return result.subscribe(o);\n };\n\n return Defer;\n }(ObservableBase));\n\n /**\n * Returns an observable sequence that invokes the specified factory function whenever a new observer subscribes.\n *\n * @example\n * var res = Rx.Observable.defer(function () { return Rx.Observable.fromArray([1,2,3]); });\n * @param {Function} observableFactory Observable factory function to invoke for each observer that subscribes to the resulting sequence or Promise.\n * @returns {Observable} An observable sequence whose observers trigger an invocation of the given observable factory function.\n */\n var observableDefer = Observable.defer = function (observableFactory) {\n return new Defer(observableFactory);\n };\n\n var EmptyObservable = (function(__super__) {\n inherits(EmptyObservable, __super__);\n function EmptyObservable(scheduler) {\n this.scheduler = scheduler;\n __super__.call(this);\n }\n\n EmptyObservable.prototype.subscribeCore = function (observer) {\n var sink = new EmptySink(observer, this.scheduler);\n return sink.run();\n };\n\n function EmptySink(observer, scheduler) {\n this.observer = observer;\n this.scheduler = scheduler;\n }\n\n function scheduleItem(s, state) {\n state.onCompleted();\n return disposableEmpty;\n }\n\n EmptySink.prototype.run = function () {\n var state = this.observer;\n return this.scheduler === immediateScheduler ?\n scheduleItem(null, state) :\n this.scheduler.schedule(state, scheduleItem);\n };\n\n return EmptyObservable;\n }(ObservableBase));\n\n var EMPTY_OBSERVABLE = new EmptyObservable(immediateScheduler);\n\n /**\n * Returns an empty observable sequence, using the specified scheduler to send out the single OnCompleted message.\n *\n * @example\n * var res = Rx.Observable.empty();\n * var res = Rx.Observable.empty(Rx.Scheduler.timeout);\n * @param {Scheduler} [scheduler] Scheduler to send the termination call on.\n * @returns {Observable} An observable sequence with no elements.\n */\n var observableEmpty = Observable.empty = function (scheduler) {\n isScheduler(scheduler) || (scheduler = immediateScheduler);\n return scheduler === immediateScheduler ? EMPTY_OBSERVABLE : new EmptyObservable(scheduler);\n };\n\n var FromObservable = (function(__super__) {\n inherits(FromObservable, __super__);\n function FromObservable(iterable, fn, scheduler) {\n this._iterable = iterable;\n this._fn = fn;\n this._scheduler = scheduler;\n __super__.call(this);\n }\n\n function createScheduleMethod(o, it, fn) {\n return function loopRecursive(i, recurse) {\n var next = tryCatch(it.next).call(it);\n if (next === errorObj) { return o.onError(next.e); }\n if (next.done) { return o.onCompleted(); }\n\n var result = next.value;\n\n if (isFunction(fn)) {\n result = tryCatch(fn)(result, i);\n if (result === errorObj) { return o.onError(result.e); }\n }\n\n o.onNext(result);\n recurse(i + 1);\n };\n }\n\n FromObservable.prototype.subscribeCore = function (o) {\n var list = Object(this._iterable),\n it = getIterable(list);\n\n return this._scheduler.scheduleRecursive(0, createScheduleMethod(o, it, this._fn));\n };\n\n return FromObservable;\n }(ObservableBase));\n\n var maxSafeInteger = Math.pow(2, 53) - 1;\n\n function StringIterable(s) {\n this._s = s;\n }\n\n StringIterable.prototype[$iterator$] = function () {\n return new StringIterator(this._s);\n };\n\n function StringIterator(s) {\n this._s = s;\n this._l = s.length;\n this._i = 0;\n }\n\n StringIterator.prototype[$iterator$] = function () {\n return this;\n };\n\n StringIterator.prototype.next = function () {\n return this._i < this._l ? { done: false, value: this._s.charAt(this._i++) } : doneEnumerator;\n };\n\n function ArrayIterable(a) {\n this._a = a;\n }\n\n ArrayIterable.prototype[$iterator$] = function () {\n return new ArrayIterator(this._a);\n };\n\n function ArrayIterator(a) {\n this._a = a;\n this._l = toLength(a);\n this._i = 0;\n }\n\n ArrayIterator.prototype[$iterator$] = function () {\n return this;\n };\n\n ArrayIterator.prototype.next = function () {\n return this._i < this._l ? { done: false, value: this._a[this._i++] } : doneEnumerator;\n };\n\n function numberIsFinite(value) {\n return typeof value === 'number' && root.isFinite(value);\n }\n\n function isNan(n) {\n return n !== n;\n }\n\n function getIterable(o) {\n var i = o[$iterator$], it;\n if (!i && typeof o === 'string') {\n it = new StringIterable(o);\n return it[$iterator$]();\n }\n if (!i && o.length !== undefined) {\n it = new ArrayIterable(o);\n return it[$iterator$]();\n }\n if (!i) { throw new TypeError('Object is not iterable'); }\n return o[$iterator$]();\n }\n\n function sign(value) {\n var number = +value;\n if (number === 0) { return number; }\n if (isNaN(number)) { return number; }\n return number < 0 ? -1 : 1;\n }\n\n function toLength(o) {\n var len = +o.length;\n if (isNaN(len)) { return 0; }\n if (len === 0 || !numberIsFinite(len)) { return len; }\n len = sign(len) * Math.floor(Math.abs(len));\n if (len <= 0) { return 0; }\n if (len > maxSafeInteger) { return maxSafeInteger; }\n return len;\n }\n\n /**\n * This method creates a new Observable sequence from an array-like or iterable object.\n * @param {Any} arrayLike An array-like or iterable object to convert to an Observable sequence.\n * @param {Function} [mapFn] Map function to call on every element of the array.\n * @param {Any} [thisArg] The context to use calling the mapFn if provided.\n * @param {Scheduler} [scheduler] Optional scheduler to use for scheduling. If not provided, defaults to Scheduler.currentThread.\n */\n var observableFrom = Observable.from = function (iterable, mapFn, thisArg, scheduler) {\n if (iterable == null) {\n throw new Error('iterable cannot be null.')\n }\n if (mapFn && !isFunction(mapFn)) {\n throw new Error('mapFn when provided must be a function');\n }\n if (mapFn) {\n var mapper = bindCallback(mapFn, thisArg, 2);\n }\n isScheduler(scheduler) || (scheduler = currentThreadScheduler);\n return new FromObservable(iterable, mapper, scheduler);\n }\n\n var FromArrayObservable = (function(__super__) {\n inherits(FromArrayObservable, __super__);\n function FromArrayObservable(args, scheduler) {\n this._args = args;\n this._scheduler = scheduler;\n __super__.call(this);\n }\n\n function scheduleMethod(o, args) {\n var len = args.length;\n return function loopRecursive (i, recurse) {\n if (i < len) {\n o.onNext(args[i]);\n recurse(i + 1);\n } else {\n o.onCompleted();\n }\n };\n }\n\n FromArrayObservable.prototype.subscribeCore = function (o) {\n return this._scheduler.scheduleRecursive(0, scheduleMethod(o, this._args));\n };\n\n return FromArrayObservable;\n }(ObservableBase));\n\n /**\n * Converts an array to an observable sequence, using an optional scheduler to enumerate the array.\n * @deprecated use Observable.from or Observable.of\n * @param {Scheduler} [scheduler] Scheduler to run the enumeration of the input sequence on.\n * @returns {Observable} The observable sequence whose elements are pulled from the given enumerable sequence.\n */\n var observableFromArray = Observable.fromArray = function (array, scheduler) {\n isScheduler(scheduler) || (scheduler = currentThreadScheduler);\n return new FromArrayObservable(array, scheduler)\n };\n\n var GenerateObservable = (function (__super__) {\n inherits(GenerateObservable, __super__);\n function GenerateObservable(state, cndFn, itrFn, resFn, s) {\n this._initialState = state;\n this._cndFn = cndFn;\n this._itrFn = itrFn;\n this._resFn = resFn;\n this._s = s;\n __super__.call(this);\n }\n\n function scheduleRecursive(state, recurse) {\n if (state.first) {\n state.first = false;\n } else {\n state.newState = tryCatch(state.self._itrFn)(state.newState);\n if (state.newState === errorObj) { return state.o.onError(state.newState.e); }\n }\n var hasResult = tryCatch(state.self._cndFn)(state.newState);\n if (hasResult === errorObj) { return state.o.onError(hasResult.e); }\n if (hasResult) {\n var result = tryCatch(state.self._resFn)(state.newState);\n if (result === errorObj) { return state.o.onError(result.e); }\n state.o.onNext(result);\n recurse(state);\n } else {\n state.o.onCompleted();\n }\n }\n\n GenerateObservable.prototype.subscribeCore = function (o) {\n var state = {\n o: o,\n self: this,\n first: true,\n newState: this._initialState\n };\n return this._s.scheduleRecursive(state, scheduleRecursive);\n };\n\n return GenerateObservable;\n }(ObservableBase));\n\n /**\n * Generates an observable sequence by running a state-driven loop producing the sequence's elements, using the specified scheduler to send out observer messages.\n *\n * @example\n * var res = Rx.Observable.generate(0, function (x) { return x < 10; }, function (x) { return x + 1; }, function (x) { return x; });\n * var res = Rx.Observable.generate(0, function (x) { return x < 10; }, function (x) { return x + 1; }, function (x) { return x; }, Rx.Scheduler.timeout);\n * @param {Mixed} initialState Initial state.\n * @param {Function} condition Condition to terminate generation (upon returning false).\n * @param {Function} iterate Iteration step function.\n * @param {Function} resultSelector Selector function for results produced in the sequence.\n * @param {Scheduler} [scheduler] Scheduler on which to run the generator loop. If not provided, defaults to Scheduler.currentThread.\n * @returns {Observable} The generated sequence.\n */\n Observable.generate = function (initialState, condition, iterate, resultSelector, scheduler) {\n isScheduler(scheduler) || (scheduler = currentThreadScheduler);\n return new GenerateObservable(initialState, condition, iterate, resultSelector, scheduler);\n };\n\n var NeverObservable = (function(__super__) {\n inherits(NeverObservable, __super__);\n function NeverObservable() {\n __super__.call(this);\n }\n\n NeverObservable.prototype.subscribeCore = function (observer) {\n return disposableEmpty;\n };\n\n return NeverObservable;\n }(ObservableBase));\n\n var NEVER_OBSERVABLE = new NeverObservable();\n\n /**\n * Returns a non-terminating observable sequence, which can be used to denote an infinite duration (e.g. when using reactive joins).\n * @returns {Observable} An observable sequence whose observers will never get called.\n */\n var observableNever = Observable.never = function () {\n return NEVER_OBSERVABLE;\n };\n\n function observableOf (scheduler, array) {\n isScheduler(scheduler) || (scheduler = currentThreadScheduler);\n return new FromArrayObservable(array, scheduler);\n }\n\n /**\n * This method creates a new Observable instance with a variable number of arguments, regardless of number or type of the arguments.\n * @returns {Observable} The observable sequence whose elements are pulled from the given arguments.\n */\n Observable.of = function () {\n var len = arguments.length, args = new Array(len);\n for(var i = 0; i < len; i++) { args[i] = arguments[i]; }\n return new FromArrayObservable(args, currentThreadScheduler);\n };\n\n /**\n * This method creates a new Observable instance with a variable number of arguments, regardless of number or type of the arguments.\n * @param {Scheduler} scheduler A scheduler to use for scheduling the arguments.\n * @returns {Observable} The observable sequence whose elements are pulled from the given arguments.\n */\n Observable.ofWithScheduler = function (scheduler) {\n var len = arguments.length, args = new Array(len - 1);\n for(var i = 1; i < len; i++) { args[i - 1] = arguments[i]; }\n return new FromArrayObservable(args, scheduler);\n };\n\n var PairsObservable = (function(__super__) {\n inherits(PairsObservable, __super__);\n function PairsObservable(o, scheduler) {\n this._o = o;\n this._keys = Object.keys(o);\n this._scheduler = scheduler;\n __super__.call(this);\n }\n\n function scheduleMethod(o, obj, keys) {\n return function loopRecursive(i, recurse) {\n if (i < keys.length) {\n var key = keys[i];\n o.onNext([key, obj[key]]);\n recurse(i + 1);\n } else {\n o.onCompleted();\n }\n };\n }\n\n PairsObservable.prototype.subscribeCore = function (o) {\n return this._scheduler.scheduleRecursive(0, scheduleMethod(o, this._o, this._keys));\n };\n\n return PairsObservable;\n }(ObservableBase));\n\n /**\n * Convert an object into an observable sequence of [key, value] pairs.\n * @param {Object} obj The object to inspect.\n * @param {Scheduler} [scheduler] Scheduler to run the enumeration of the input sequence on.\n * @returns {Observable} An observable sequence of [key, value] pairs from the object.\n */\n Observable.pairs = function (obj, scheduler) {\n scheduler || (scheduler = currentThreadScheduler);\n return new PairsObservable(obj, scheduler);\n };\n\n var RangeObservable = (function(__super__) {\n inherits(RangeObservable, __super__);\n function RangeObservable(start, count, scheduler) {\n this.start = start;\n this.rangeCount = count;\n this.scheduler = scheduler;\n __super__.call(this);\n }\n\n function loopRecursive(start, count, o) {\n return function loop (i, recurse) {\n if (i < count) {\n o.onNext(start + i);\n recurse(i + 1);\n } else {\n o.onCompleted();\n }\n };\n }\n\n RangeObservable.prototype.subscribeCore = function (o) {\n return this.scheduler.scheduleRecursive(\n 0,\n loopRecursive(this.start, this.rangeCount, o)\n );\n };\n\n return RangeObservable;\n }(ObservableBase));\n\n /**\n * Generates an observable sequence of integral numbers within a specified range, using the specified scheduler to send out observer messages.\n * @param {Number} start The value of the first integer in the sequence.\n * @param {Number} count The number of sequential integers to generate.\n * @param {Scheduler} [scheduler] Scheduler to run the generator loop on. If not specified, defaults to Scheduler.currentThread.\n * @returns {Observable} An observable sequence that contains a range of sequential integral numbers.\n */\n Observable.range = function (start, count, scheduler) {\n isScheduler(scheduler) || (scheduler = currentThreadScheduler);\n return new RangeObservable(start, count, scheduler);\n };\n\n var RepeatObservable = (function(__super__) {\n inherits(RepeatObservable, __super__);\n function RepeatObservable(value, repeatCount, scheduler) {\n this.value = value;\n this.repeatCount = repeatCount == null ? -1 : repeatCount;\n this.scheduler = scheduler;\n __super__.call(this);\n }\n\n RepeatObservable.prototype.subscribeCore = function (observer) {\n var sink = new RepeatSink(observer, this);\n return sink.run();\n };\n\n return RepeatObservable;\n }(ObservableBase));\n\n function RepeatSink(observer, parent) {\n this.observer = observer;\n this.parent = parent;\n }\n\n RepeatSink.prototype.run = function () {\n var observer = this.observer, value = this.parent.value;\n function loopRecursive(i, recurse) {\n if (i === -1 || i > 0) {\n observer.onNext(value);\n i > 0 && i--;\n }\n if (i === 0) { return observer.onCompleted(); }\n recurse(i);\n }\n\n return this.parent.scheduler.scheduleRecursive(this.parent.repeatCount, loopRecursive);\n };\n\n /**\n * Generates an observable sequence that repeats the given element the specified number of times, using the specified scheduler to send out observer messages.\n * @param {Mixed} value Element to repeat.\n * @param {Number} repeatCount [Optiona] Number of times to repeat the element. If not specified, repeats indefinitely.\n * @param {Scheduler} scheduler Scheduler to run the producer loop on. If not specified, defaults to Scheduler.immediate.\n * @returns {Observable} An observable sequence that repeats the given element the specified number of times.\n */\n Observable.repeat = function (value, repeatCount, scheduler) {\n isScheduler(scheduler) || (scheduler = currentThreadScheduler);\n return new RepeatObservable(value, repeatCount, scheduler);\n };\n\n var JustObservable = (function(__super__) {\n inherits(JustObservable, __super__);\n function JustObservable(value, scheduler) {\n this._value = value;\n this._scheduler = scheduler;\n __super__.call(this);\n }\n\n JustObservable.prototype.subscribeCore = function (o) {\n var state = [this._value, o];\n return this._scheduler === immediateScheduler ?\n scheduleItem(null, state) :\n this._scheduler.schedule(state, scheduleItem);\n };\n\n function scheduleItem(s, state) {\n var value = state[0], observer = state[1];\n observer.onNext(value);\n observer.onCompleted();\n return disposableEmpty;\n }\n\n return JustObservable;\n }(ObservableBase));\n\n /**\n * Returns an observable sequence that contains a single element, using the specified scheduler to send out observer messages.\n * There is an alias called 'just' or browsers 0) {\n this.parent.handleSubscribe(this.parent.q.shift());\n } else {\n this.parent.activeCount--;\n this.parent.done && this.parent.activeCount === 0 && this.parent.o.onCompleted();\n }\n };\n\n return MergeObserver;\n }(AbstractObserver));\n\n /**\n * Merges an observable sequence of observable sequences into an observable sequence, limiting the number of concurrent subscriptions to inner sequences.\n * Or merges two observable sequences into a single observable sequence.\n * @param {Mixed} [maxConcurrentOrOther] Maximum number of inner observable sequences being subscribed to concurrently or the second observable sequence.\n * @returns {Observable} The observable sequence that merges the elements of the inner sequences.\n */\n observableProto.merge = function (maxConcurrentOrOther) {\n return typeof maxConcurrentOrOther !== 'number' ?\n observableMerge(this, maxConcurrentOrOther) :\n new MergeObservable(this, maxConcurrentOrOther);\n };\n\n /**\n * Merges all the observable sequences into a single observable sequence.\n * The scheduler is optional and if not specified, the immediate scheduler is used.\n * @returns {Observable} The observable sequence that merges the elements of the observable sequences.\n */\n var observableMerge = Observable.merge = function () {\n var scheduler, sources = [], i, len = arguments.length;\n if (!arguments[0]) {\n scheduler = immediateScheduler;\n for(i = 1; i < len; i++) { sources.push(arguments[i]); }\n } else if (isScheduler(arguments[0])) {\n scheduler = arguments[0];\n for(i = 1; i < len; i++) { sources.push(arguments[i]); }\n } else {\n scheduler = immediateScheduler;\n for(i = 0; i < len; i++) { sources.push(arguments[i]); }\n }\n if (Array.isArray(sources[0])) {\n sources = sources[0];\n }\n return observableOf(scheduler, sources).mergeAll();\n };\n\n var CompositeError = Rx.CompositeError = function(errors) {\n this.innerErrors = errors;\n this.message = 'This contains multiple errors. Check the innerErrors';\n Error.call(this);\n };\n CompositeError.prototype = Object.create(Error.prototype);\n CompositeError.prototype.name = 'CompositeError';\n\n var MergeDelayErrorObservable = (function(__super__) {\n inherits(MergeDelayErrorObservable, __super__);\n function MergeDelayErrorObservable(source) {\n this.source = source;\n __super__.call(this);\n }\n\n MergeDelayErrorObservable.prototype.subscribeCore = function (o) {\n var group = new CompositeDisposable(),\n m = new SingleAssignmentDisposable(),\n state = { isStopped: false, errors: [], o: o };\n\n group.add(m);\n m.setDisposable(this.source.subscribe(new MergeDelayErrorObserver(group, state)));\n\n return group;\n };\n\n return MergeDelayErrorObservable;\n }(ObservableBase));\n\n var MergeDelayErrorObserver = (function(__super__) {\n inherits(MergeDelayErrorObserver, __super__);\n function MergeDelayErrorObserver(group, state) {\n this._group = group;\n this._state = state;\n __super__.call(this);\n }\n\n function setCompletion(o, errors) {\n if (errors.length === 0) {\n o.onCompleted();\n } else if (errors.length === 1) {\n o.onError(errors[0]);\n } else {\n o.onError(new CompositeError(errors));\n }\n }\n\n MergeDelayErrorObserver.prototype.next = function (x) {\n var inner = new SingleAssignmentDisposable();\n this._group.add(inner);\n\n // Check for promises support\n isPromise(x) && (x = observableFromPromise(x));\n inner.setDisposable(x.subscribe(new InnerObserver(inner, this._group, this._state)));\n };\n\n MergeDelayErrorObserver.prototype.error = function (e) {\n this._state.errors.push(e);\n this._state.isStopped = true;\n this._group.length === 1 && setCompletion(this._state.o, this._state.errors);\n };\n\n MergeDelayErrorObserver.prototype.completed = function () {\n this._state.isStopped = true;\n this._group.length === 1 && setCompletion(this._state.o, this._state.errors);\n };\n\n inherits(InnerObserver, __super__);\n function InnerObserver(inner, group, state) {\n this._inner = inner;\n this._group = group;\n this._state = state;\n __super__.call(this);\n }\n\n InnerObserver.prototype.next = function (x) { this._state.o.onNext(x); };\n InnerObserver.prototype.error = function (e) {\n this._state.errors.push(e);\n this._group.remove(this._inner);\n this._state.isStopped && this._group.length === 1 && setCompletion(this._state.o, this._state.errors);\n };\n InnerObserver.prototype.completed = function () {\n this._group.remove(this._inner);\n this._state.isStopped && this._group.length === 1 && setCompletion(this._state.o, this._state.errors);\n };\n\n return MergeDelayErrorObserver;\n }(AbstractObserver));\n\n /**\n * Flattens an Observable that emits Observables into one Observable, in a way that allows an Observer to\n * receive all successfully emitted items from all of the source Observables without being interrupted by\n * an error notification from one of them.\n *\n * This behaves like Observable.prototype.mergeAll except that if any of the merged Observables notify of an\n * error via the Observer's onError, mergeDelayError will refrain from propagating that\n * error notification until all of the merged Observables have finished emitting items.\n * @param {Array | Arguments} args Arguments or an array to merge.\n * @returns {Observable} an Observable that emits all of the items emitted by the Observables emitted by the Observable\n */\n Observable.mergeDelayError = function() {\n var args;\n if (Array.isArray(arguments[0])) {\n args = arguments[0];\n } else {\n var len = arguments.length;\n args = new Array(len);\n for(var i = 0; i < len; i++) { args[i] = arguments[i]; }\n }\n var source = observableOf(null, args);\n return new MergeDelayErrorObservable(source);\n };\n\n var MergeAllObservable = (function (__super__) {\n inherits(MergeAllObservable, __super__);\n\n function MergeAllObservable(source) {\n this.source = source;\n __super__.call(this);\n }\n\n MergeAllObservable.prototype.subscribeCore = function (o) {\n var g = new CompositeDisposable(), m = new SingleAssignmentDisposable();\n g.add(m);\n m.setDisposable(this.source.subscribe(new MergeAllObserver(o, g)));\n return g;\n };\n\n return MergeAllObservable;\n }(ObservableBase));\n\n var MergeAllObserver = (function (__super__) {\n function MergeAllObserver(o, g) {\n this.o = o;\n this.g = g;\n this.done = false;\n __super__.call(this);\n }\n\n inherits(MergeAllObserver, __super__);\n\n MergeAllObserver.prototype.next = function(innerSource) {\n var sad = new SingleAssignmentDisposable();\n this.g.add(sad);\n isPromise(innerSource) && (innerSource = observableFromPromise(innerSource));\n sad.setDisposable(innerSource.subscribe(new InnerObserver(this, sad)));\n };\n\n MergeAllObserver.prototype.error = function (e) {\n this.o.onError(e);\n };\n\n MergeAllObserver.prototype.completed = function () {\n this.done = true;\n this.g.length === 1 && this.o.onCompleted();\n };\n\n function InnerObserver(parent, sad) {\n this.parent = parent;\n this.sad = sad;\n __super__.call(this);\n }\n\n inherits(InnerObserver, __super__);\n\n InnerObserver.prototype.next = function (x) {\n this.parent.o.onNext(x);\n };\n InnerObserver.prototype.error = function (e) {\n this.parent.o.onError(e);\n };\n InnerObserver.prototype.completed = function () {\n this.parent.g.remove(this.sad);\n this.parent.done && this.parent.g.length === 1 && this.parent.o.onCompleted();\n };\n\n return MergeAllObserver;\n }(AbstractObserver));\n\n /**\n * Merges an observable sequence of observable sequences into an observable sequence.\n * @returns {Observable} The observable sequence that merges the elements of the inner sequences.\n */\n observableProto.mergeAll = function () {\n return new MergeAllObservable(this);\n };\n\n /**\n * Continues an observable sequence that is terminated normally or by an exception with the next observable sequence.\n * @param {Observable} second Second observable sequence used to produce results after the first sequence terminates.\n * @returns {Observable} An observable sequence that concatenates the first and second sequence, even if the first sequence terminates exceptionally.\n */\n observableProto.onErrorResumeNext = function (second) {\n if (!second) { throw new Error('Second observable is required'); }\n return onErrorResumeNext([this, second]);\n };\n\n var OnErrorResumeNextObservable = (function(__super__) {\n inherits(OnErrorResumeNextObservable, __super__);\n function OnErrorResumeNextObservable(sources) {\n this.sources = sources;\n __super__.call(this);\n }\n\n function scheduleMethod(state, recurse) {\n if (state.pos < state.sources.length) {\n var current = state.sources[state.pos++];\n isPromise(current) && (current = observableFromPromise(current));\n var d = new SingleAssignmentDisposable();\n state.subscription.setDisposable(d);\n d.setDisposable(current.subscribe(new OnErrorResumeNextObserver(state, recurse)));\n } else {\n state.o.onCompleted();\n }\n }\n\n OnErrorResumeNextObservable.prototype.subscribeCore = function (o) {\n var subscription = new SerialDisposable(),\n state = {pos: 0, subscription: subscription, o: o, sources: this.sources },\n cancellable = immediateScheduler.scheduleRecursive(state, scheduleMethod);\n\n return new BinaryDisposable(subscription, cancellable);\n };\n\n return OnErrorResumeNextObservable;\n }(ObservableBase));\n\n var OnErrorResumeNextObserver = (function(__super__) {\n inherits(OnErrorResumeNextObserver, __super__);\n function OnErrorResumeNextObserver(state, recurse) {\n this._state = state;\n this._recurse = recurse;\n __super__.call(this);\n }\n\n OnErrorResumeNextObserver.prototype.next = function (x) { this._state.o.onNext(x); };\n OnErrorResumeNextObserver.prototype.error = function () { this._recurse(this._state); };\n OnErrorResumeNextObserver.prototype.completed = function () { this._recurse(this._state); };\n\n return OnErrorResumeNextObserver;\n }(AbstractObserver));\n\n /**\n * Continues an observable sequence that is terminated normally or by an exception with the next observable sequence.\n * @returns {Observable} An observable sequence that concatenates the source sequences, even if a sequence terminates exceptionally.\n */\n var onErrorResumeNext = Observable.onErrorResumeNext = function () {\n var sources = [];\n if (Array.isArray(arguments[0])) {\n sources = arguments[0];\n } else {\n var len = arguments.length;\n sources = new Array(len);\n for(var i = 0; i < len; i++) { sources[i] = arguments[i]; }\n }\n return new OnErrorResumeNextObservable(sources);\n };\n\n var SkipUntilObservable = (function(__super__) {\n inherits(SkipUntilObservable, __super__);\n\n function SkipUntilObservable(source, other) {\n this._s = source;\n this._o = isPromise(other) ? observableFromPromise(other) : other;\n this._open = false;\n __super__.call(this);\n }\n\n SkipUntilObservable.prototype.subscribeCore = function(o) {\n var leftSubscription = new SingleAssignmentDisposable();\n leftSubscription.setDisposable(this._s.subscribe(new SkipUntilSourceObserver(o, this)));\n\n isPromise(this._o) && (this._o = observableFromPromise(this._o));\n\n var rightSubscription = new SingleAssignmentDisposable();\n rightSubscription.setDisposable(this._o.subscribe(new SkipUntilOtherObserver(o, this, rightSubscription)));\n\n return new BinaryDisposable(leftSubscription, rightSubscription);\n };\n\n return SkipUntilObservable;\n }(ObservableBase));\n\n var SkipUntilSourceObserver = (function(__super__) {\n inherits(SkipUntilSourceObserver, __super__);\n function SkipUntilSourceObserver(o, p) {\n this._o = o;\n this._p = p;\n __super__.call(this);\n }\n\n SkipUntilSourceObserver.prototype.next = function (x) {\n this._p._open && this._o.onNext(x);\n };\n\n SkipUntilSourceObserver.prototype.error = function (err) {\n this._o.onError(err);\n };\n\n SkipUntilSourceObserver.prototype.onCompleted = function () {\n this._p._open && this._o.onCompleted();\n };\n\n return SkipUntilSourceObserver;\n }(AbstractObserver));\n\n var SkipUntilOtherObserver = (function(__super__) {\n inherits(SkipUntilOtherObserver, __super__);\n function SkipUntilOtherObserver(o, p, r) {\n this._o = o;\n this._p = p;\n this._r = r;\n __super__.call(this);\n }\n\n SkipUntilOtherObserver.prototype.next = function () {\n this._p._open = true;\n this._r.dispose();\n };\n\n SkipUntilOtherObserver.prototype.error = function (err) {\n this._o.onError(err);\n };\n\n SkipUntilOtherObserver.prototype.onCompleted = function () {\n this._r.dispose();\n };\n\n return SkipUntilOtherObserver;\n }(AbstractObserver));\n\n /**\n * Returns the values from the source observable sequence only after the other observable sequence produces a value.\n * @param {Observable | Promise} other The observable sequence or Promise that triggers propagation of elements of the source sequence.\n * @returns {Observable} An observable sequence containing the elements of the source sequence starting from the point the other sequence triggered propagation.\n */\n observableProto.skipUntil = function (other) {\n return new SkipUntilObservable(this, other);\n };\n\n var SwitchObservable = (function(__super__) {\n inherits(SwitchObservable, __super__);\n function SwitchObservable(source) {\n this.source = source;\n __super__.call(this);\n }\n\n SwitchObservable.prototype.subscribeCore = function (o) {\n var inner = new SerialDisposable(), s = this.source.subscribe(new SwitchObserver(o, inner));\n return new BinaryDisposable(s, inner);\n };\n\n inherits(SwitchObserver, AbstractObserver);\n function SwitchObserver(o, inner) {\n this.o = o;\n this.inner = inner;\n this.stopped = false;\n this.latest = 0;\n this.hasLatest = false;\n AbstractObserver.call(this);\n }\n\n SwitchObserver.prototype.next = function (innerSource) {\n var d = new SingleAssignmentDisposable(), id = ++this.latest;\n this.hasLatest = true;\n this.inner.setDisposable(d);\n isPromise(innerSource) && (innerSource = observableFromPromise(innerSource));\n d.setDisposable(innerSource.subscribe(new InnerObserver(this, id)));\n };\n\n SwitchObserver.prototype.error = function (e) {\n this.o.onError(e);\n };\n\n SwitchObserver.prototype.completed = function () {\n this.stopped = true;\n !this.hasLatest && this.o.onCompleted();\n };\n\n inherits(InnerObserver, AbstractObserver);\n function InnerObserver(parent, id) {\n this.parent = parent;\n this.id = id;\n AbstractObserver.call(this);\n }\n InnerObserver.prototype.next = function (x) {\n this.parent.latest === this.id && this.parent.o.onNext(x);\n };\n\n InnerObserver.prototype.error = function (e) {\n this.parent.latest === this.id && this.parent.o.onError(e);\n };\n\n InnerObserver.prototype.completed = function () {\n if (this.parent.latest === this.id) {\n this.parent.hasLatest = false;\n this.parent.stopped && this.parent.o.onCompleted();\n }\n };\n\n return SwitchObservable;\n }(ObservableBase));\n\n /**\n * Transforms an observable sequence of observable sequences into an observable sequence producing values only from the most recent observable sequence.\n * @returns {Observable} The observable sequence that at any point in time produces the elements of the most recent inner observable sequence that has been received.\n */\n observableProto['switch'] = observableProto.switchLatest = function () {\n return new SwitchObservable(this);\n };\n\n var TakeUntilObservable = (function(__super__) {\n inherits(TakeUntilObservable, __super__);\n\n function TakeUntilObservable(source, other) {\n this.source = source;\n this.other = isPromise(other) ? observableFromPromise(other) : other;\n __super__.call(this);\n }\n\n TakeUntilObservable.prototype.subscribeCore = function(o) {\n return new BinaryDisposable(\n this.source.subscribe(o),\n this.other.subscribe(new TakeUntilObserver(o))\n );\n };\n\n return TakeUntilObservable;\n }(ObservableBase));\n\n var TakeUntilObserver = (function(__super__) {\n inherits(TakeUntilObserver, __super__);\n function TakeUntilObserver(o) {\n this._o = o;\n __super__.call(this);\n }\n\n TakeUntilObserver.prototype.next = function () {\n this._o.onCompleted();\n };\n\n TakeUntilObserver.prototype.error = function (err) {\n this._o.onError(err);\n };\n\n TakeUntilObserver.prototype.onCompleted = noop;\n\n return TakeUntilObserver;\n }(AbstractObserver));\n\n /**\n * Returns the values from the source observable sequence until the other observable sequence produces a value.\n * @param {Observable | Promise} other Observable sequence or Promise that terminates propagation of elements of the source sequence.\n * @returns {Observable} An observable sequence containing the elements of the source sequence up to the point the other sequence interrupted further propagation.\n */\n observableProto.takeUntil = function (other) {\n return new TakeUntilObservable(this, other);\n };\n\n function falseFactory() { return false; }\n function argumentsToArray() {\n var len = arguments.length, args = new Array(len);\n for(var i = 0; i < len; i++) { args[i] = arguments[i]; }\n return args;\n }\n\n var WithLatestFromObservable = (function(__super__) {\n inherits(WithLatestFromObservable, __super__);\n function WithLatestFromObservable(source, sources, resultSelector) {\n this._s = source;\n this._ss = sources;\n this._cb = resultSelector;\n __super__.call(this);\n }\n\n WithLatestFromObservable.prototype.subscribeCore = function (o) {\n var len = this._ss.length;\n var state = {\n hasValue: arrayInitialize(len, falseFactory),\n hasValueAll: false,\n values: new Array(len)\n };\n\n var n = this._ss.length, subscriptions = new Array(n + 1);\n for (var i = 0; i < n; i++) {\n var other = this._ss[i], sad = new SingleAssignmentDisposable();\n isPromise(other) && (other = observableFromPromise(other));\n sad.setDisposable(other.subscribe(new WithLatestFromOtherObserver(o, i, state)));\n subscriptions[i] = sad;\n }\n\n var outerSad = new SingleAssignmentDisposable();\n outerSad.setDisposable(this._s.subscribe(new WithLatestFromSourceObserver(o, this._cb, state)));\n subscriptions[n] = outerSad;\n\n return new NAryDisposable(subscriptions);\n };\n\n return WithLatestFromObservable;\n }(ObservableBase));\n\n var WithLatestFromOtherObserver = (function (__super__) {\n inherits(WithLatestFromOtherObserver, __super__);\n function WithLatestFromOtherObserver(o, i, state) {\n this._o = o;\n this._i = i;\n this._state = state;\n __super__.call(this);\n }\n\n WithLatestFromOtherObserver.prototype.next = function (x) {\n this._state.values[this._i] = x;\n this._state.hasValue[this._i] = true;\n this._state.hasValueAll = this._state.hasValue.every(identity);\n };\n\n WithLatestFromOtherObserver.prototype.error = function (e) {\n this._o.onError(e);\n };\n\n WithLatestFromOtherObserver.prototype.completed = noop;\n\n return WithLatestFromOtherObserver;\n }(AbstractObserver));\n\n var WithLatestFromSourceObserver = (function (__super__) {\n inherits(WithLatestFromSourceObserver, __super__);\n function WithLatestFromSourceObserver(o, cb, state) {\n this._o = o;\n this._cb = cb;\n this._state = state;\n __super__.call(this);\n }\n\n WithLatestFromSourceObserver.prototype.next = function (x) {\n var allValues = [x].concat(this._state.values);\n if (!this._state.hasValueAll) { return; }\n var res = tryCatch(this._cb).apply(null, allValues);\n if (res === errorObj) { return this._o.onError(res.e); }\n this._o.onNext(res);\n };\n\n WithLatestFromSourceObserver.prototype.error = function (e) {\n this._o.onError(e);\n };\n\n WithLatestFromSourceObserver.prototype.completed = function () {\n this._o.onCompleted();\n };\n\n return WithLatestFromSourceObserver;\n }(AbstractObserver));\n\n /**\n * Merges the specified observable sequences into one observable sequence by using the selector function only when the (first) source observable sequence produces an element.\n * @returns {Observable} An observable sequence containing the result of combining elements of the sources using the specified result selector function.\n */\n observableProto.withLatestFrom = function () {\n if (arguments.length === 0) { throw new Error('invalid arguments'); }\n\n var len = arguments.length, args = new Array(len);\n for(var i = 0; i < len; i++) { args[i] = arguments[i]; }\n var resultSelector = isFunction(args[len - 1]) ? args.pop() : argumentsToArray;\n Array.isArray(args[0]) && (args = args[0]);\n\n return new WithLatestFromObservable(this, args, resultSelector);\n };\n\n function falseFactory() { return false; }\n function emptyArrayFactory() { return []; }\n\n var ZipObservable = (function(__super__) {\n inherits(ZipObservable, __super__);\n function ZipObservable(sources, resultSelector) {\n this._s = sources;\n this._cb = resultSelector;\n __super__.call(this);\n }\n\n ZipObservable.prototype.subscribeCore = function(observer) {\n var n = this._s.length,\n subscriptions = new Array(n),\n done = arrayInitialize(n, falseFactory),\n q = arrayInitialize(n, emptyArrayFactory);\n\n for (var i = 0; i < n; i++) {\n var source = this._s[i], sad = new SingleAssignmentDisposable();\n subscriptions[i] = sad;\n isPromise(source) && (source = observableFromPromise(source));\n sad.setDisposable(source.subscribe(new ZipObserver(observer, i, this, q, done)));\n }\n\n return new NAryDisposable(subscriptions);\n };\n\n return ZipObservable;\n }(ObservableBase));\n\n var ZipObserver = (function (__super__) {\n inherits(ZipObserver, __super__);\n function ZipObserver(o, i, p, q, d) {\n this._o = o;\n this._i = i;\n this._p = p;\n this._q = q;\n this._d = d;\n __super__.call(this);\n }\n\n function notEmpty(x) { return x.length > 0; }\n function shiftEach(x) { return x.shift(); }\n function notTheSame(i) {\n return function (x, j) {\n return j !== i;\n };\n }\n\n ZipObserver.prototype.next = function (x) {\n this._q[this._i].push(x);\n if (this._q.every(notEmpty)) {\n var queuedValues = this._q.map(shiftEach);\n var res = tryCatch(this._p._cb).apply(null, queuedValues);\n if (res === errorObj) { return this._o.onError(res.e); }\n this._o.onNext(res);\n } else if (this._d.filter(notTheSame(this._i)).every(identity)) {\n this._o.onCompleted();\n }\n };\n\n ZipObserver.prototype.error = function (e) {\n this._o.onError(e);\n };\n\n ZipObserver.prototype.completed = function () {\n this._d[this._i] = true;\n this._d.every(identity) && this._o.onCompleted();\n };\n\n return ZipObserver;\n }(AbstractObserver));\n\n /**\n * Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences or an array have produced an element at a corresponding index.\n * The last element in the arguments must be a function to invoke for each series of elements at corresponding indexes in the args.\n * @returns {Observable} An observable sequence containing the result of combining elements of the args using the specified result selector function.\n */\n observableProto.zip = function () {\n if (arguments.length === 0) { throw new Error('invalid arguments'); }\n\n var len = arguments.length, args = new Array(len);\n for(var i = 0; i < len; i++) { args[i] = arguments[i]; }\n var resultSelector = isFunction(args[len - 1]) ? args.pop() : argumentsToArray;\n Array.isArray(args[0]) && (args = args[0]);\n\n var parent = this;\n args.unshift(parent);\n\n return new ZipObservable(args, resultSelector);\n };\n\n /**\n * Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.\n * @param arguments Observable sources.\n * @param {Function} resultSelector Function to invoke for each series of elements at corresponding indexes in the sources.\n * @returns {Observable} An observable sequence containing the result of combining elements of the sources using the specified result selector function.\n */\n Observable.zip = function () {\n var len = arguments.length, args = new Array(len);\n for(var i = 0; i < len; i++) { args[i] = arguments[i]; }\n if (Array.isArray(args[0])) {\n args = isFunction(args[1]) ? args[0].concat(args[1]) : args[0];\n }\n var first = args.shift();\n return first.zip.apply(first, args);\n };\n\nfunction falseFactory() { return false; }\nfunction emptyArrayFactory() { return []; }\nfunction argumentsToArray() {\n var len = arguments.length, args = new Array(len);\n for(var i = 0; i < len; i++) { args[i] = arguments[i]; }\n return args;\n}\n\nvar ZipIterableObservable = (function(__super__) {\n inherits(ZipIterableObservable, __super__);\n function ZipIterableObservable(sources, cb) {\n this.sources = sources;\n this._cb = cb;\n __super__.call(this);\n }\n\n ZipIterableObservable.prototype.subscribeCore = function (o) {\n var sources = this.sources, len = sources.length, subscriptions = new Array(len);\n\n var state = {\n q: arrayInitialize(len, emptyArrayFactory),\n done: arrayInitialize(len, falseFactory),\n cb: this._cb,\n o: o\n };\n\n for (var i = 0; i < len; i++) {\n (function (i) {\n var source = sources[i], sad = new SingleAssignmentDisposable();\n (isArrayLike(source) || isIterable(source)) && (source = observableFrom(source));\n\n subscriptions[i] = sad;\n sad.setDisposable(source.subscribe(new ZipIterableObserver(state, i)));\n }(i));\n }\n\n return new NAryDisposable(subscriptions);\n };\n\n return ZipIterableObservable;\n}(ObservableBase));\n\nvar ZipIterableObserver = (function (__super__) {\n inherits(ZipIterableObserver, __super__);\n function ZipIterableObserver(s, i) {\n this._s = s;\n this._i = i;\n __super__.call(this);\n }\n\n function notEmpty(x) { return x.length > 0; }\n function shiftEach(x) { return x.shift(); }\n function notTheSame(i) {\n return function (x, j) {\n return j !== i;\n };\n }\n\n ZipIterableObserver.prototype.next = function (x) {\n this._s.q[this._i].push(x);\n if (this._s.q.every(notEmpty)) {\n var queuedValues = this._s.q.map(shiftEach),\n res = tryCatch(this._s.cb).apply(null, queuedValues);\n if (res === errorObj) { return this._s.o.onError(res.e); }\n this._s.o.onNext(res);\n } else if (this._s.done.filter(notTheSame(this._i)).every(identity)) {\n this._s.o.onCompleted();\n }\n };\n\n ZipIterableObserver.prototype.error = function (e) { this._s.o.onError(e); };\n\n ZipIterableObserver.prototype.completed = function () {\n this._s.done[this._i] = true;\n this._s.done.every(identity) && this._s.o.onCompleted();\n };\n\n return ZipIterableObserver;\n}(AbstractObserver));\n\n/**\n * Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences or an array have produced an element at a corresponding index.\n * The last element in the arguments must be a function to invoke for each series of elements at corresponding indexes in the args.\n * @returns {Observable} An observable sequence containing the result of combining elements of the args using the specified result selector function.\n */\nobservableProto.zipIterable = function () {\n if (arguments.length === 0) { throw new Error('invalid arguments'); }\n\n var len = arguments.length, args = new Array(len);\n for(var i = 0; i < len; i++) { args[i] = arguments[i]; }\n var resultSelector = isFunction(args[len - 1]) ? args.pop() : argumentsToArray;\n\n var parent = this;\n args.unshift(parent);\n return new ZipIterableObservable(args, resultSelector);\n};\n\n function asObservable(source) {\n return function subscribe(o) { return source.subscribe(o); };\n }\n\n /**\n * Hides the identity of an observable sequence.\n * @returns {Observable} An observable sequence that hides the identity of the source sequence.\n */\n observableProto.asObservable = function () {\n return new AnonymousObservable(asObservable(this), this);\n };\n\n function toArray(x) { return x.toArray(); }\n function notEmpty(x) { return x.length > 0; }\n\n /**\n * Projects each element of an observable sequence into zero or more buffers which are produced based on element count information.\n * @param {Number} count Length of each buffer.\n * @param {Number} [skip] Number of elements to skip between creation of consecutive buffers. If not provided, defaults to the count.\n * @returns {Observable} An observable sequence of buffers.\n */\n observableProto.bufferWithCount = observableProto.bufferCount = function (count, skip) {\n typeof skip !== 'number' && (skip = count);\n return this.windowWithCount(count, skip)\n .flatMap(toArray)\n .filter(notEmpty);\n };\n\n var DematerializeObservable = (function (__super__) {\n inherits(DematerializeObservable, __super__);\n function DematerializeObservable(source) {\n this.source = source;\n __super__.call(this);\n }\n\n DematerializeObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new DematerializeObserver(o));\n };\n\n return DematerializeObservable;\n }(ObservableBase));\n\n var DematerializeObserver = (function (__super__) {\n inherits(DematerializeObserver, __super__);\n\n function DematerializeObserver(o) {\n this._o = o;\n __super__.call(this);\n }\n\n DematerializeObserver.prototype.next = function (x) { x.accept(this._o); };\n DematerializeObserver.prototype.error = function (e) { this._o.onError(e); };\n DematerializeObserver.prototype.completed = function () { this._o.onCompleted(); };\n\n return DematerializeObserver;\n }(AbstractObserver));\n\n /**\n * Dematerializes the explicit notification values of an observable sequence as implicit notifications.\n * @returns {Observable} An observable sequence exhibiting the behavior corresponding to the source sequence's notification values.\n */\n observableProto.dematerialize = function () {\n return new DematerializeObservable(this);\n };\n\n var DistinctUntilChangedObservable = (function(__super__) {\n inherits(DistinctUntilChangedObservable, __super__);\n function DistinctUntilChangedObservable(source, keyFn, comparer) {\n this.source = source;\n this.keyFn = keyFn;\n this.comparer = comparer;\n __super__.call(this);\n }\n\n DistinctUntilChangedObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new DistinctUntilChangedObserver(o, this.keyFn, this.comparer));\n };\n\n return DistinctUntilChangedObservable;\n }(ObservableBase));\n\n var DistinctUntilChangedObserver = (function(__super__) {\n inherits(DistinctUntilChangedObserver, __super__);\n function DistinctUntilChangedObserver(o, keyFn, comparer) {\n this.o = o;\n this.keyFn = keyFn;\n this.comparer = comparer;\n this.hasCurrentKey = false;\n this.currentKey = null;\n __super__.call(this);\n }\n\n DistinctUntilChangedObserver.prototype.next = function (x) {\n var key = x, comparerEquals;\n if (isFunction(this.keyFn)) {\n key = tryCatch(this.keyFn)(x);\n if (key === errorObj) { return this.o.onError(key.e); }\n }\n if (this.hasCurrentKey) {\n comparerEquals = tryCatch(this.comparer)(this.currentKey, key);\n if (comparerEquals === errorObj) { return this.o.onError(comparerEquals.e); }\n }\n if (!this.hasCurrentKey || !comparerEquals) {\n this.hasCurrentKey = true;\n this.currentKey = key;\n this.o.onNext(x);\n }\n };\n DistinctUntilChangedObserver.prototype.error = function(e) {\n this.o.onError(e);\n };\n DistinctUntilChangedObserver.prototype.completed = function () {\n this.o.onCompleted();\n };\n\n return DistinctUntilChangedObserver;\n }(AbstractObserver));\n\n /**\n * Returns an observable sequence that contains only distinct contiguous elements according to the keyFn and the comparer.\n * @param {Function} [keyFn] A function to compute the comparison key for each element. If not provided, it projects the value.\n * @param {Function} [comparer] Equality comparer for computed key values. If not provided, defaults to an equality comparer function.\n * @returns {Observable} An observable sequence only containing the distinct contiguous elements, based on a computed key value, from the source sequence.\n */\n observableProto.distinctUntilChanged = function (keyFn, comparer) {\n comparer || (comparer = defaultComparer);\n return new DistinctUntilChangedObservable(this, keyFn, comparer);\n };\n\n var TapObservable = (function(__super__) {\n inherits(TapObservable,__super__);\n function TapObservable(source, observerOrOnNext, onError, onCompleted) {\n this.source = source;\n this._oN = observerOrOnNext;\n this._oE = onError;\n this._oC = onCompleted;\n __super__.call(this);\n }\n\n TapObservable.prototype.subscribeCore = function(o) {\n return this.source.subscribe(new InnerObserver(o, this));\n };\n\n inherits(InnerObserver, AbstractObserver);\n function InnerObserver(o, p) {\n this.o = o;\n this.t = !p._oN || isFunction(p._oN) ?\n observerCreate(p._oN || noop, p._oE || noop, p._oC || noop) :\n p._oN;\n this.isStopped = false;\n AbstractObserver.call(this);\n }\n InnerObserver.prototype.next = function(x) {\n var res = tryCatch(this.t.onNext).call(this.t, x);\n if (res === errorObj) { this.o.onError(res.e); }\n this.o.onNext(x);\n };\n InnerObserver.prototype.error = function(err) {\n var res = tryCatch(this.t.onError).call(this.t, err);\n if (res === errorObj) { return this.o.onError(res.e); }\n this.o.onError(err);\n };\n InnerObserver.prototype.completed = function() {\n var res = tryCatch(this.t.onCompleted).call(this.t);\n if (res === errorObj) { return this.o.onError(res.e); }\n this.o.onCompleted();\n };\n\n return TapObservable;\n }(ObservableBase));\n\n /**\n * Invokes an action for each element in the observable sequence and invokes an action upon graceful or exceptional termination of the observable sequence.\n * This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline.\n * @param {Function | Observer} observerOrOnNext Action to invoke for each element in the observable sequence or an o.\n * @param {Function} [onError] Action to invoke upon exceptional termination of the observable sequence. Used if only the observerOrOnNext parameter is also a function.\n * @param {Function} [onCompleted] Action to invoke upon graceful termination of the observable sequence. Used if only the observerOrOnNext parameter is also a function.\n * @returns {Observable} The source sequence with the side-effecting behavior applied.\n */\n observableProto['do'] = observableProto.tap = observableProto.doAction = function (observerOrOnNext, onError, onCompleted) {\n return new TapObservable(this, observerOrOnNext, onError, onCompleted);\n };\n\n /**\n * Invokes an action for each element in the observable sequence.\n * This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline.\n * @param {Function} onNext Action to invoke for each element in the observable sequence.\n * @param {Any} [thisArg] Object to use as this when executing callback.\n * @returns {Observable} The source sequence with the side-effecting behavior applied.\n */\n observableProto.doOnNext = observableProto.tapOnNext = function (onNext, thisArg) {\n return this.tap(typeof thisArg !== 'undefined' ? function (x) { onNext.call(thisArg, x); } : onNext);\n };\n\n /**\n * Invokes an action upon exceptional termination of the observable sequence.\n * This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline.\n * @param {Function} onError Action to invoke upon exceptional termination of the observable sequence.\n * @param {Any} [thisArg] Object to use as this when executing callback.\n * @returns {Observable} The source sequence with the side-effecting behavior applied.\n */\n observableProto.doOnError = observableProto.tapOnError = function (onError, thisArg) {\n return this.tap(noop, typeof thisArg !== 'undefined' ? function (e) { onError.call(thisArg, e); } : onError);\n };\n\n /**\n * Invokes an action upon graceful termination of the observable sequence.\n * This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline.\n * @param {Function} onCompleted Action to invoke upon graceful termination of the observable sequence.\n * @param {Any} [thisArg] Object to use as this when executing callback.\n * @returns {Observable} The source sequence with the side-effecting behavior applied.\n */\n observableProto.doOnCompleted = observableProto.tapOnCompleted = function (onCompleted, thisArg) {\n return this.tap(noop, null, typeof thisArg !== 'undefined' ? function () { onCompleted.call(thisArg); } : onCompleted);\n };\n\n var FinallyObservable = (function (__super__) {\n inherits(FinallyObservable, __super__);\n function FinallyObservable(source, fn, thisArg) {\n this.source = source;\n this._fn = bindCallback(fn, thisArg, 0);\n __super__.call(this);\n }\n\n FinallyObservable.prototype.subscribeCore = function (o) {\n var d = tryCatch(this.source.subscribe).call(this.source, o);\n if (d === errorObj) {\n this._fn();\n thrower(d.e);\n }\n\n return new FinallyDisposable(d, this._fn);\n };\n\n function FinallyDisposable(s, fn) {\n this.isDisposed = false;\n this._s = s;\n this._fn = fn;\n }\n FinallyDisposable.prototype.dispose = function () {\n if (!this.isDisposed) {\n var res = tryCatch(this._s.dispose).call(this._s);\n this._fn();\n res === errorObj && thrower(res.e);\n }\n };\n\n return FinallyObservable;\n\n }(ObservableBase));\n\n /**\n * Invokes a specified action after the source observable sequence terminates gracefully or exceptionally.\n * @param {Function} finallyAction Action to invoke after the source observable sequence terminates.\n * @returns {Observable} Source sequence with the action-invoking termination behavior applied.\n */\n observableProto['finally'] = function (action, thisArg) {\n return new FinallyObservable(this, action, thisArg);\n };\n\n var IgnoreElementsObservable = (function(__super__) {\n inherits(IgnoreElementsObservable, __super__);\n\n function IgnoreElementsObservable(source) {\n this.source = source;\n __super__.call(this);\n }\n\n IgnoreElementsObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new InnerObserver(o));\n };\n\n function InnerObserver(o) {\n this.o = o;\n this.isStopped = false;\n }\n InnerObserver.prototype.onNext = noop;\n InnerObserver.prototype.onError = function (err) {\n if(!this.isStopped) {\n this.isStopped = true;\n this.o.onError(err);\n }\n };\n InnerObserver.prototype.onCompleted = function () {\n if(!this.isStopped) {\n this.isStopped = true;\n this.o.onCompleted();\n }\n };\n InnerObserver.prototype.dispose = function() { this.isStopped = true; };\n InnerObserver.prototype.fail = function (e) {\n if (!this.isStopped) {\n this.isStopped = true;\n this.observer.onError(e);\n return true;\n }\n\n return false;\n };\n\n return IgnoreElementsObservable;\n }(ObservableBase));\n\n /**\n * Ignores all elements in an observable sequence leaving only the termination messages.\n * @returns {Observable} An empty observable sequence that signals termination, successful or exceptional, of the source sequence.\n */\n observableProto.ignoreElements = function () {\n return new IgnoreElementsObservable(this);\n };\n\n var MaterializeObservable = (function (__super__) {\n inherits(MaterializeObservable, __super__);\n function MaterializeObservable(source, fn) {\n this.source = source;\n __super__.call(this);\n }\n\n MaterializeObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new MaterializeObserver(o));\n };\n\n return MaterializeObservable;\n }(ObservableBase));\n\n var MaterializeObserver = (function (__super__) {\n inherits(MaterializeObserver, __super__);\n\n function MaterializeObserver(o) {\n this._o = o;\n __super__.call(this);\n }\n\n MaterializeObserver.prototype.next = function (x) { this._o.onNext(notificationCreateOnNext(x)) };\n MaterializeObserver.prototype.error = function (e) { this._o.onNext(notificationCreateOnError(e)); this._o.onCompleted(); };\n MaterializeObserver.prototype.completed = function () { this._o.onNext(notificationCreateOnCompleted()); this._o.onCompleted(); };\n\n return MaterializeObserver;\n }(AbstractObserver));\n\n /**\n * Materializes the implicit notifications of an observable sequence as explicit notification values.\n * @returns {Observable} An observable sequence containing the materialized notification values from the source sequence.\n */\n observableProto.materialize = function () {\n return new MaterializeObservable(this);\n };\n\n /**\n * Repeats the observable sequence a specified number of times. If the repeat count is not specified, the sequence repeats indefinitely.\n * @param {Number} [repeatCount] Number of times to repeat the sequence. If not provided, repeats the sequence indefinitely.\n * @returns {Observable} The observable sequence producing the elements of the given sequence repeatedly.\n */\n observableProto.repeat = function (repeatCount) {\n return enumerableRepeat(this, repeatCount).concat();\n };\n\n /**\n * Repeats the source observable sequence the specified number of times or until it successfully terminates. If the retry count is not specified, it retries indefinitely.\n * Note if you encounter an error and want it to retry once, then you must use .retry(2);\n *\n * @example\n * var res = retried = retry.repeat();\n * var res = retried = retry.repeat(2);\n * @param {Number} [retryCount] Number of times to retry the sequence. If not provided, retry the sequence indefinitely.\n * @returns {Observable} An observable sequence producing the elements of the given sequence repeatedly until it terminates successfully.\n */\n observableProto.retry = function (retryCount) {\n return enumerableRepeat(this, retryCount).catchError();\n };\n\n function repeat(value) {\n return {\n '@@iterator': function () {\n return {\n next: function () {\n return { done: false, value: value };\n }\n };\n }\n };\n }\n\n var RetryWhenObservable = (function(__super__) {\n function createDisposable(state) {\n return {\n isDisposed: false,\n dispose: function () {\n if (!this.isDisposed) {\n this.isDisposed = true;\n state.isDisposed = true;\n }\n }\n };\n }\n\n function RetryWhenObservable(source, notifier) {\n this.source = source;\n this._notifier = notifier;\n __super__.call(this);\n }\n\n inherits(RetryWhenObservable, __super__);\n\n RetryWhenObservable.prototype.subscribeCore = function (o) {\n var exceptions = new Subject(),\n notifier = new Subject(),\n handled = this._notifier(exceptions),\n notificationDisposable = handled.subscribe(notifier);\n\n var e = this.source['@@iterator']();\n\n var state = { isDisposed: false },\n lastError,\n subscription = new SerialDisposable();\n var cancelable = currentThreadScheduler.scheduleRecursive(null, function (_, recurse) {\n if (state.isDisposed) { return; }\n var currentItem = e.next();\n\n if (currentItem.done) {\n if (lastError) {\n o.onError(lastError);\n } else {\n o.onCompleted();\n }\n return;\n }\n\n // Check if promise\n var currentValue = currentItem.value;\n isPromise(currentValue) && (currentValue = observableFromPromise(currentValue));\n\n var outer = new SingleAssignmentDisposable();\n var inner = new SingleAssignmentDisposable();\n subscription.setDisposable(new BinaryDisposable(inner, outer));\n outer.setDisposable(currentValue.subscribe(\n function(x) { o.onNext(x); },\n function (exn) {\n inner.setDisposable(notifier.subscribe(recurse, function(ex) {\n o.onError(ex);\n }, function() {\n o.onCompleted();\n }));\n\n exceptions.onNext(exn);\n outer.dispose();\n },\n function() { o.onCompleted(); }));\n });\n\n return new NAryDisposable([notificationDisposable, subscription, cancelable, createDisposable(state)]);\n };\n\n return RetryWhenObservable;\n }(ObservableBase));\n\n observableProto.retryWhen = function (notifier) {\n return new RetryWhenObservable(repeat(this), notifier);\n };\n\n function repeat(value) {\n return {\n '@@iterator': function () {\n return {\n next: function () {\n return { done: false, value: value };\n }\n };\n }\n };\n }\n\n var RepeatWhenObservable = (function(__super__) {\n function createDisposable(state) {\n return {\n isDisposed: false,\n dispose: function () {\n if (!this.isDisposed) {\n this.isDisposed = true;\n state.isDisposed = true;\n }\n }\n };\n }\n\n function RepeatWhenObservable(source, notifier) {\n this.source = source;\n this._notifier = notifier;\n __super__.call(this);\n }\n\n inherits(RepeatWhenObservable, __super__);\n\n RepeatWhenObservable.prototype.subscribeCore = function (o) {\n var completions = new Subject(),\n notifier = new Subject(),\n handled = this._notifier(completions),\n notificationDisposable = handled.subscribe(notifier);\n\n var e = this.source['@@iterator']();\n\n var state = { isDisposed: false },\n lastError,\n subscription = new SerialDisposable();\n var cancelable = currentThreadScheduler.scheduleRecursive(null, function (_, recurse) {\n if (state.isDisposed) { return; }\n var currentItem = e.next();\n\n if (currentItem.done) {\n if (lastError) {\n o.onError(lastError);\n } else {\n o.onCompleted();\n }\n return;\n }\n\n // Check if promise\n var currentValue = currentItem.value;\n isPromise(currentValue) && (currentValue = observableFromPromise(currentValue));\n\n var outer = new SingleAssignmentDisposable();\n var inner = new SingleAssignmentDisposable();\n subscription.setDisposable(new BinaryDisposable(inner, outer));\n outer.setDisposable(currentValue.subscribe(\n function(x) { o.onNext(x); },\n function (exn) { o.onError(exn); },\n function() {\n inner.setDisposable(notifier.subscribe(recurse, function(ex) {\n o.onError(ex);\n }, function() {\n o.onCompleted();\n }));\n\n completions.onNext(null);\n outer.dispose();\n }));\n });\n\n return new NAryDisposable([notificationDisposable, subscription, cancelable, createDisposable(state)]);\n };\n\n return RepeatWhenObservable;\n }(ObservableBase));\n\n observableProto.repeatWhen = function (notifier) {\n return new RepeatWhenObservable(repeat(this), notifier);\n };\n\n var ScanObservable = (function(__super__) {\n inherits(ScanObservable, __super__);\n function ScanObservable(source, accumulator, hasSeed, seed) {\n this.source = source;\n this.accumulator = accumulator;\n this.hasSeed = hasSeed;\n this.seed = seed;\n __super__.call(this);\n }\n\n ScanObservable.prototype.subscribeCore = function(o) {\n return this.source.subscribe(new ScanObserver(o,this));\n };\n\n return ScanObservable;\n }(ObservableBase));\n\n var ScanObserver = (function (__super__) {\n inherits(ScanObserver, __super__);\n function ScanObserver(o, parent) {\n this._o = o;\n this._p = parent;\n this._fn = parent.accumulator;\n this._hs = parent.hasSeed;\n this._s = parent.seed;\n this._ha = false;\n this._a = null;\n this._hv = false;\n this._i = 0;\n __super__.call(this);\n }\n\n ScanObserver.prototype.next = function (x) {\n !this._hv && (this._hv = true);\n if (this._ha) {\n this._a = tryCatch(this._fn)(this._a, x, this._i, this._p);\n } else {\n this._a = this._hs ? tryCatch(this._fn)(this._s, x, this._i, this._p) : x;\n this._ha = true;\n }\n if (this._a === errorObj) { return this._o.onError(this._a.e); }\n this._o.onNext(this._a);\n this._i++;\n };\n\n ScanObserver.prototype.error = function (e) {\n this._o.onError(e);\n };\n\n ScanObserver.prototype.completed = function () {\n !this._hv && this._hs && this._o.onNext(this._s);\n this._o.onCompleted();\n };\n\n return ScanObserver;\n }(AbstractObserver));\n\n /**\n * Applies an accumulator function over an observable sequence and returns each intermediate result. The optional seed value is used as the initial accumulator value.\n * For aggregation behavior with no intermediate results, see Observable.aggregate.\n * @param {Mixed} [seed] The initial accumulator value.\n * @param {Function} accumulator An accumulator function to be invoked on each element.\n * @returns {Observable} An observable sequence containing the accumulated values.\n */\n observableProto.scan = function () {\n var hasSeed = false, seed, accumulator = arguments[0];\n if (arguments.length === 2) {\n hasSeed = true;\n seed = arguments[1];\n }\n return new ScanObservable(this, accumulator, hasSeed, seed);\n };\n\n var SkipLastObservable = (function (__super__) {\n inherits(SkipLastObservable, __super__);\n function SkipLastObservable(source, c) {\n this.source = source;\n this._c = c;\n __super__.call(this);\n }\n\n SkipLastObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new SkipLastObserver(o, this._c));\n };\n\n return SkipLastObservable;\n }(ObservableBase));\n\n var SkipLastObserver = (function (__super__) {\n inherits(SkipLastObserver, __super__);\n function SkipLastObserver(o, c) {\n this._o = o;\n this._c = c;\n this._q = [];\n __super__.call(this);\n }\n\n SkipLastObserver.prototype.next = function (x) {\n this._q.push(x);\n this._q.length > this._c && this._o.onNext(this._q.shift());\n };\n\n SkipLastObserver.prototype.error = function (e) {\n this._o.onError(e);\n };\n\n SkipLastObserver.prototype.completed = function () {\n this._o.onCompleted();\n };\n\n return SkipLastObserver;\n }(AbstractObserver));\n\n /**\n * Bypasses a specified number of elements at the end of an observable sequence.\n * @description\n * This operator accumulates a queue with a length enough to store the first `count` elements. As more elements are\n * received, elements are taken from the front of the queue and produced on the result sequence. This causes elements to be delayed.\n * @param count Number of elements to bypass at the end of the source sequence.\n * @returns {Observable} An observable sequence containing the source sequence elements except for the bypassed ones at the end.\n */\n observableProto.skipLast = function (count) {\n if (count < 0) { throw new ArgumentOutOfRangeError(); }\n return new SkipLastObservable(this, count);\n };\n\n /**\n * Prepends a sequence of values to an observable sequence with an optional scheduler and an argument list of values to prepend.\n * @example\n * var res = source.startWith(1, 2, 3);\n * var res = source.startWith(Rx.Scheduler.timeout, 1, 2, 3);\n * @param {Arguments} args The specified values to prepend to the observable sequence\n * @returns {Observable} The source sequence prepended with the specified values.\n */\n observableProto.startWith = function () {\n var values, scheduler, start = 0;\n if (!!arguments.length && isScheduler(arguments[0])) {\n scheduler = arguments[0];\n start = 1;\n } else {\n scheduler = immediateScheduler;\n }\n for(var args = [], i = start, len = arguments.length; i < len; i++) { args.push(arguments[i]); }\n return observableConcat.apply(null, [observableFromArray(args, scheduler), this]);\n };\n\n var TakeLastObserver = (function (__super__) {\n inherits(TakeLastObserver, __super__);\n function TakeLastObserver(o, c) {\n this._o = o;\n this._c = c;\n this._q = [];\n __super__.call(this);\n }\n\n TakeLastObserver.prototype.next = function (x) {\n this._q.push(x);\n this._q.length > this._c && this._q.shift();\n };\n\n TakeLastObserver.prototype.error = function (e) {\n this._o.onError(e);\n };\n\n TakeLastObserver.prototype.completed = function () {\n while (this._q.length > 0) { this._o.onNext(this._q.shift()); }\n this._o.onCompleted();\n };\n\n return TakeLastObserver;\n }(AbstractObserver));\n\n /**\n * Returns a specified number of contiguous elements from the end of an observable sequence.\n * @description\n * This operator accumulates a buffer with a length enough to store elements count elements. Upon completion of\n * the source sequence, this buffer is drained on the result sequence. This causes the elements to be delayed.\n * @param {Number} count Number of elements to take from the end of the source sequence.\n * @returns {Observable} An observable sequence containing the specified number of elements from the end of the source sequence.\n */\n observableProto.takeLast = function (count) {\n if (count < 0) { throw new ArgumentOutOfRangeError(); }\n var source = this;\n return new AnonymousObservable(function (o) {\n return source.subscribe(new TakeLastObserver(o, count));\n }, source);\n };\n\n var TakeLastBufferObserver = (function (__super__) {\n inherits(TakeLastBufferObserver, __super__);\n function TakeLastBufferObserver(o, c) {\n this._o = o;\n this._c = c;\n this._q = [];\n __super__.call(this);\n }\n\n TakeLastBufferObserver.prototype.next = function (x) {\n this._q.push(x);\n this._q.length > this._c && this._q.shift();\n };\n\n TakeLastBufferObserver.prototype.error = function (e) {\n this._o.onError(e);\n };\n\n TakeLastBufferObserver.prototype.completed = function () {\n this._o.onNext(this._q);\n this._o.onCompleted();\n };\n\n return TakeLastBufferObserver;\n }(AbstractObserver));\n\n /**\n * Returns an array with the specified number of contiguous elements from the end of an observable sequence.\n *\n * @description\n * This operator accumulates a buffer with a length enough to store count elements. Upon completion of the\n * source sequence, this buffer is produced on the result sequence.\n * @param {Number} count Number of elements to take from the end of the source sequence.\n * @returns {Observable} An observable sequence containing a single array with the specified number of elements from the end of the source sequence.\n */\n observableProto.takeLastBuffer = function (count) {\n if (count < 0) { throw new ArgumentOutOfRangeError(); }\n var source = this;\n return new AnonymousObservable(function (o) {\n return source.subscribe(new TakeLastBufferObserver(o, count));\n }, source);\n };\n\n /**\n * Projects each element of an observable sequence into zero or more windows which are produced based on element count information.\n * @param {Number} count Length of each window.\n * @param {Number} [skip] Number of elements to skip between creation of consecutive windows. If not specified, defaults to the count.\n * @returns {Observable} An observable sequence of windows.\n */\n observableProto.windowWithCount = observableProto.windowCount = function (count, skip) {\n var source = this;\n +count || (count = 0);\n Math.abs(count) === Infinity && (count = 0);\n if (count <= 0) { throw new ArgumentOutOfRangeError(); }\n skip == null && (skip = count);\n +skip || (skip = 0);\n Math.abs(skip) === Infinity && (skip = 0);\n\n if (skip <= 0) { throw new ArgumentOutOfRangeError(); }\n return new AnonymousObservable(function (observer) {\n var m = new SingleAssignmentDisposable(),\n refCountDisposable = new RefCountDisposable(m),\n n = 0,\n q = [];\n\n function createWindow () {\n var s = new Subject();\n q.push(s);\n observer.onNext(addRef(s, refCountDisposable));\n }\n\n createWindow();\n\n m.setDisposable(source.subscribe(\n function (x) {\n for (var i = 0, len = q.length; i < len; i++) { q[i].onNext(x); }\n var c = n - count + 1;\n c >= 0 && c % skip === 0 && q.shift().onCompleted();\n ++n % skip === 0 && createWindow();\n },\n function (e) {\n while (q.length > 0) { q.shift().onError(e); }\n observer.onError(e);\n },\n function () {\n while (q.length > 0) { q.shift().onCompleted(); }\n observer.onCompleted();\n }\n ));\n return refCountDisposable;\n }, source);\n };\n\nobservableProto.flatMapConcat = observableProto.concatMap = function(selector, resultSelector, thisArg) {\n return new FlatMapObservable(this, selector, resultSelector, thisArg).merge(1);\n};\n /**\n * Projects each notification of an observable sequence to an observable sequence and concats the resulting observable sequences into one observable sequence.\n * @param {Function} onNext A transform function to apply to each element; the second parameter of the function represents the index of the source element.\n * @param {Function} onError A transform function to apply when an error occurs in the source sequence.\n * @param {Function} onCompleted A transform function to apply when the end of the source sequence is reached.\n * @param {Any} [thisArg] An optional \"this\" to use to invoke each transform.\n * @returns {Observable} An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence.\n */\n observableProto.concatMapObserver = observableProto.selectConcatObserver = function(onNext, onError, onCompleted, thisArg) {\n var source = this,\n onNextFunc = bindCallback(onNext, thisArg, 2),\n onErrorFunc = bindCallback(onError, thisArg, 1),\n onCompletedFunc = bindCallback(onCompleted, thisArg, 0);\n return new AnonymousObservable(function (observer) {\n var index = 0;\n return source.subscribe(\n function (x) {\n var result;\n try {\n result = onNextFunc(x, index++);\n } catch (e) {\n observer.onError(e);\n return;\n }\n isPromise(result) && (result = observableFromPromise(result));\n observer.onNext(result);\n },\n function (err) {\n var result;\n try {\n result = onErrorFunc(err);\n } catch (e) {\n observer.onError(e);\n return;\n }\n isPromise(result) && (result = observableFromPromise(result));\n observer.onNext(result);\n observer.onCompleted();\n },\n function () {\n var result;\n try {\n result = onCompletedFunc();\n } catch (e) {\n observer.onError(e);\n return;\n }\n isPromise(result) && (result = observableFromPromise(result));\n observer.onNext(result);\n observer.onCompleted();\n });\n }, this).concatAll();\n };\n\n var DefaultIfEmptyObserver = (function (__super__) {\n inherits(DefaultIfEmptyObserver, __super__);\n function DefaultIfEmptyObserver(o, d) {\n this._o = o;\n this._d = d;\n this._f = false;\n __super__.call(this);\n }\n\n DefaultIfEmptyObserver.prototype.next = function (x) {\n this._f = true;\n this._o.onNext(x);\n };\n\n DefaultIfEmptyObserver.prototype.error = function (e) {\n this._o.onError(e);\n };\n\n DefaultIfEmptyObserver.prototype.completed = function () {\n !this._f && this._o.onNext(this._d);\n this._o.onCompleted();\n };\n\n return DefaultIfEmptyObserver;\n }(AbstractObserver));\n\n /**\n * Returns the elements of the specified sequence or the specified value in a singleton sequence if the sequence is empty.\n *\n * var res = obs = xs.defaultIfEmpty();\n * 2 - obs = xs.defaultIfEmpty(false);\n *\n * @memberOf Observable#\n * @param defaultValue The value to return if the sequence is empty. If not provided, this defaults to null.\n * @returns {Observable} An observable sequence that contains the specified default value if the source is empty; otherwise, the elements of the source itself.\n */\n observableProto.defaultIfEmpty = function (defaultValue) {\n var source = this;\n defaultValue === undefined && (defaultValue = null);\n return new AnonymousObservable(function (o) {\n return source.subscribe(new DefaultIfEmptyObserver(o, defaultValue));\n }, source);\n };\n\n // Swap out for Array.findIndex\n function arrayIndexOfComparer(array, item, comparer) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (comparer(array[i], item)) { return i; }\n }\n return -1;\n }\n\n function HashSet(comparer) {\n this.comparer = comparer;\n this.set = [];\n }\n HashSet.prototype.push = function(value) {\n var retValue = arrayIndexOfComparer(this.set, value, this.comparer) === -1;\n retValue && this.set.push(value);\n return retValue;\n };\n\n var DistinctObservable = (function (__super__) {\n inherits(DistinctObservable, __super__);\n function DistinctObservable(source, keyFn, cmpFn) {\n this.source = source;\n this._keyFn = keyFn;\n this._cmpFn = cmpFn;\n __super__.call(this);\n }\n\n DistinctObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new DistinctObserver(o, this._keyFn, this._cmpFn));\n };\n\n return DistinctObservable;\n }(ObservableBase));\n\n var DistinctObserver = (function (__super__) {\n inherits(DistinctObserver, __super__);\n function DistinctObserver(o, keyFn, cmpFn) {\n this._o = o;\n this._keyFn = keyFn;\n this._h = new HashSet(cmpFn);\n __super__.call(this);\n }\n\n DistinctObserver.prototype.next = function (x) {\n var key = x;\n if (isFunction(this._keyFn)) {\n key = tryCatch(this._keyFn)(x);\n if (key === errorObj) { return this._o.onError(key.e); }\n }\n this._h.push(key) && this._o.onNext(x);\n };\n\n DistinctObserver.prototype.error = function (e) { this._o.onError(e); };\n DistinctObserver.prototype.completed = function () { this._o.onCompleted(); };\n\n return DistinctObserver;\n }(AbstractObserver));\n\n /**\n * Returns an observable sequence that contains only distinct elements according to the keySelector and the comparer.\n * Usage of this operator should be considered carefully due to the maintenance of an internal lookup structure which can grow large.\n *\n * @example\n * var res = obs = xs.distinct();\n * 2 - obs = xs.distinct(function (x) { return x.id; });\n * 2 - obs = xs.distinct(function (x) { return x.id; }, function (a,b) { return a === b; });\n * @param {Function} [keySelector] A function to compute the comparison key for each element.\n * @param {Function} [comparer] Used to compare items in the collection.\n * @returns {Observable} An observable sequence only containing the distinct elements, based on a computed key value, from the source sequence.\n */\n observableProto.distinct = function (keySelector, comparer) {\n comparer || (comparer = defaultComparer);\n return new DistinctObservable(this, keySelector, comparer);\n };\n\n var MapObservable = (function (__super__) {\n inherits(MapObservable, __super__);\n\n function MapObservable(source, selector, thisArg) {\n this.source = source;\n this.selector = bindCallback(selector, thisArg, 3);\n __super__.call(this);\n }\n\n function innerMap(selector, self) {\n return function (x, i, o) { return selector.call(this, self.selector(x, i, o), i, o); };\n }\n\n MapObservable.prototype.internalMap = function (selector, thisArg) {\n return new MapObservable(this.source, innerMap(selector, this), thisArg);\n };\n\n MapObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new InnerObserver(o, this.selector, this));\n };\n\n inherits(InnerObserver, AbstractObserver);\n function InnerObserver(o, selector, source) {\n this.o = o;\n this.selector = selector;\n this.source = source;\n this.i = 0;\n AbstractObserver.call(this);\n }\n\n InnerObserver.prototype.next = function(x) {\n var result = tryCatch(this.selector)(x, this.i++, this.source);\n if (result === errorObj) { return this.o.onError(result.e); }\n this.o.onNext(result);\n };\n\n InnerObserver.prototype.error = function (e) {\n this.o.onError(e);\n };\n\n InnerObserver.prototype.completed = function () {\n this.o.onCompleted();\n };\n\n return MapObservable;\n\n }(ObservableBase));\n\n /**\n * Projects each element of an observable sequence into a new form by incorporating the element's index.\n * @param {Function} selector A transform function to apply to each source element; the second parameter of the function represents the index of the source element.\n * @param {Any} [thisArg] Object to use as this when executing callback.\n * @returns {Observable} An observable sequence whose elements are the result of invoking the transform function on each element of source.\n */\n observableProto.map = observableProto.select = function (selector, thisArg) {\n var selectorFn = typeof selector === 'function' ? selector : function () { return selector; };\n return this instanceof MapObservable ?\n this.internalMap(selectorFn, thisArg) :\n new MapObservable(this, selectorFn, thisArg);\n };\n\n function plucker(args, len) {\n return function mapper(x) {\n var currentProp = x;\n for (var i = 0; i < len; i++) {\n var p = currentProp[args[i]];\n if (typeof p !== 'undefined') {\n currentProp = p;\n } else {\n return undefined;\n }\n }\n return currentProp;\n };\n }\n\n /**\n * Retrieves the value of a specified nested property from all elements in\n * the Observable sequence.\n * @param {Arguments} arguments The nested properties to pluck.\n * @returns {Observable} Returns a new Observable sequence of property values.\n */\n observableProto.pluck = function () {\n var len = arguments.length, args = new Array(len);\n if (len === 0) { throw new Error('List of properties cannot be empty.'); }\n for(var i = 0; i < len; i++) { args[i] = arguments[i]; }\n return this.map(plucker(args, len));\n };\n\n /**\n * Projects each notification of an observable sequence to an observable sequence and merges the resulting observable sequences into one observable sequence.\n * @param {Function} onNext A transform function to apply to each element; the second parameter of the function represents the index of the source element.\n * @param {Function} onError A transform function to apply when an error occurs in the source sequence.\n * @param {Function} onCompleted A transform function to apply when the end of the source sequence is reached.\n * @param {Any} [thisArg] An optional \"this\" to use to invoke each transform.\n * @returns {Observable} An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence.\n */\n observableProto.flatMapObserver = observableProto.selectManyObserver = function (onNext, onError, onCompleted, thisArg) {\n var source = this;\n return new AnonymousObservable(function (observer) {\n var index = 0;\n\n return source.subscribe(\n function (x) {\n var result;\n try {\n result = onNext.call(thisArg, x, index++);\n } catch (e) {\n observer.onError(e);\n return;\n }\n isPromise(result) && (result = observableFromPromise(result));\n observer.onNext(result);\n },\n function (err) {\n var result;\n try {\n result = onError.call(thisArg, err);\n } catch (e) {\n observer.onError(e);\n return;\n }\n isPromise(result) && (result = observableFromPromise(result));\n observer.onNext(result);\n observer.onCompleted();\n },\n function () {\n var result;\n try {\n result = onCompleted.call(thisArg);\n } catch (e) {\n observer.onError(e);\n return;\n }\n isPromise(result) && (result = observableFromPromise(result));\n observer.onNext(result);\n observer.onCompleted();\n });\n }, source).mergeAll();\n };\n\nobservableProto.flatMap = observableProto.selectMany = observableProto.mergeMap = function(selector, resultSelector, thisArg) {\n return new FlatMapObservable(this, selector, resultSelector, thisArg).mergeAll();\n};\n\nobservableProto.flatMapLatest = observableProto.switchMap = function(selector, resultSelector, thisArg) {\n return new FlatMapObservable(this, selector, resultSelector, thisArg).switchLatest();\n};\n\n var SkipObservable = (function(__super__) {\n inherits(SkipObservable, __super__);\n function SkipObservable(source, count) {\n this.source = source;\n this._count = count;\n __super__.call(this);\n }\n\n SkipObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new SkipObserver(o, this._count));\n };\n\n function SkipObserver(o, c) {\n this._o = o;\n this._r = c;\n AbstractObserver.call(this);\n }\n\n inherits(SkipObserver, AbstractObserver);\n\n SkipObserver.prototype.next = function (x) {\n if (this._r <= 0) {\n this._o.onNext(x);\n } else {\n this._r--;\n }\n };\n SkipObserver.prototype.error = function(e) { this._o.onError(e); };\n SkipObserver.prototype.completed = function() { this._o.onCompleted(); };\n\n return SkipObservable;\n }(ObservableBase));\n\n /**\n * Bypasses a specified number of elements in an observable sequence and then returns the remaining elements.\n * @param {Number} count The number of elements to skip before returning the remaining elements.\n * @returns {Observable} An observable sequence that contains the elements that occur after the specified index in the input sequence.\n */\n observableProto.skip = function (count) {\n if (count < 0) { throw new ArgumentOutOfRangeError(); }\n return new SkipObservable(this, count);\n };\n\n var SkipWhileObservable = (function (__super__) {\n inherits(SkipWhileObservable, __super__);\n function SkipWhileObservable(source, fn) {\n this.source = source;\n this._fn = fn;\n __super__.call(this);\n }\n\n SkipWhileObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new SkipWhileObserver(o, this));\n };\n\n return SkipWhileObservable;\n }(ObservableBase));\n\n var SkipWhileObserver = (function (__super__) {\n inherits(SkipWhileObserver, __super__);\n\n function SkipWhileObserver(o, p) {\n this._o = o;\n this._p = p;\n this._i = 0;\n this._r = false;\n __super__.call(this);\n }\n\n SkipWhileObserver.prototype.next = function (x) {\n if (!this._r) {\n var res = tryCatch(this._p._fn)(x, this._i++, this._p);\n if (res === errorObj) { return this._o.onError(res.e); }\n this._r = !res;\n }\n this._r && this._o.onNext(x);\n };\n SkipWhileObserver.prototype.error = function (e) { this._o.onError(e); };\n SkipWhileObserver.prototype.completed = function () { this._o.onCompleted(); };\n\n return SkipWhileObserver;\n }(AbstractObserver));\n\n /**\n * Bypasses elements in an observable sequence as long as a specified condition is true and then returns the remaining elements.\n * The element's index is used in the logic of the predicate function.\n *\n * var res = source.skipWhile(function (value) { return value < 10; });\n * var res = source.skipWhile(function (value, index) { return value < 10 || index < 10; });\n * @param {Function} predicate A function to test each element for a condition; the second parameter of the function represents the index of the source element.\n * @param {Any} [thisArg] Object to use as this when executing callback.\n * @returns {Observable} An observable sequence that contains the elements from the input sequence starting at the first element in the linear series that does not pass the test specified by predicate.\n */\n observableProto.skipWhile = function (predicate, thisArg) {\n var fn = bindCallback(predicate, thisArg, 3);\n return new SkipWhileObservable(this, fn);\n };\n\n var TakeObservable = (function(__super__) {\n inherits(TakeObservable, __super__);\n function TakeObservable(source, count) {\n this.source = source;\n this._count = count;\n __super__.call(this);\n }\n\n TakeObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new TakeObserver(o, this._count));\n };\n\n function TakeObserver(o, c) {\n this._o = o;\n this._c = c;\n this._r = c;\n AbstractObserver.call(this);\n }\n\n inherits(TakeObserver, AbstractObserver);\n\n TakeObserver.prototype.next = function (x) {\n if (this._r-- > 0) {\n this._o.onNext(x);\n this._r <= 0 && this._o.onCompleted();\n }\n };\n\n TakeObserver.prototype.error = function (e) { this._o.onError(e); };\n TakeObserver.prototype.completed = function () { this._o.onCompleted(); };\n\n return TakeObservable;\n }(ObservableBase));\n\n /**\n * Returns a specified number of contiguous elements from the start of an observable sequence, using the specified scheduler for the edge case of take(0).\n * @param {Number} count The number of elements to return.\n * @param {Scheduler} [scheduler] Scheduler used to produce an OnCompleted message in case is set to 0.\n * @returns {Observable} An observable sequence that contains the specified number of elements from the start of the input sequence.\n */\n observableProto.take = function (count, scheduler) {\n if (count < 0) { throw new ArgumentOutOfRangeError(); }\n if (count === 0) { return observableEmpty(scheduler); }\n return new TakeObservable(this, count);\n };\n\n var TakeWhileObservable = (function (__super__) {\n inherits(TakeWhileObservable, __super__);\n function TakeWhileObservable(source, fn) {\n this.source = source;\n this._fn = fn;\n __super__.call(this);\n }\n\n TakeWhileObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new TakeWhileObserver(o, this));\n };\n\n return TakeWhileObservable;\n }(ObservableBase));\n\n var TakeWhileObserver = (function (__super__) {\n inherits(TakeWhileObserver, __super__);\n\n function TakeWhileObserver(o, p) {\n this._o = o;\n this._p = p;\n this._i = 0;\n this._r = true;\n __super__.call(this);\n }\n\n TakeWhileObserver.prototype.next = function (x) {\n if (this._r) {\n this._r = tryCatch(this._p._fn)(x, this._i++, this._p);\n if (this._r === errorObj) { return this._o.onError(this._r.e); }\n }\n if (this._r) {\n this._o.onNext(x);\n } else {\n this._o.onCompleted();\n }\n };\n TakeWhileObserver.prototype.error = function (e) { this._o.onError(e); };\n TakeWhileObserver.prototype.completed = function () { this._o.onCompleted(); };\n\n return TakeWhileObserver;\n }(AbstractObserver));\n\n /**\n * Returns elements from an observable sequence as long as a specified condition is true.\n * The element's index is used in the logic of the predicate function.\n * @param {Function} predicate A function to test each element for a condition; the second parameter of the function represents the index of the source element.\n * @param {Any} [thisArg] Object to use as this when executing callback.\n * @returns {Observable} An observable sequence that contains the elements from the input sequence that occur before the element at which the test no longer passes.\n */\n observableProto.takeWhile = function (predicate, thisArg) {\n var fn = bindCallback(predicate, thisArg, 3);\n return new TakeWhileObservable(this, fn);\n };\n\n var FilterObservable = (function (__super__) {\n inherits(FilterObservable, __super__);\n\n function FilterObservable(source, predicate, thisArg) {\n this.source = source;\n this.predicate = bindCallback(predicate, thisArg, 3);\n __super__.call(this);\n }\n\n FilterObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new InnerObserver(o, this.predicate, this));\n };\n\n function innerPredicate(predicate, self) {\n return function(x, i, o) { return self.predicate(x, i, o) && predicate.call(this, x, i, o); }\n }\n\n FilterObservable.prototype.internalFilter = function(predicate, thisArg) {\n return new FilterObservable(this.source, innerPredicate(predicate, this), thisArg);\n };\n\n inherits(InnerObserver, AbstractObserver);\n function InnerObserver(o, predicate, source) {\n this.o = o;\n this.predicate = predicate;\n this.source = source;\n this.i = 0;\n AbstractObserver.call(this);\n }\n\n InnerObserver.prototype.next = function(x) {\n var shouldYield = tryCatch(this.predicate)(x, this.i++, this.source);\n if (shouldYield === errorObj) {\n return this.o.onError(shouldYield.e);\n }\n shouldYield && this.o.onNext(x);\n };\n\n InnerObserver.prototype.error = function (e) {\n this.o.onError(e);\n };\n\n InnerObserver.prototype.completed = function () {\n this.o.onCompleted();\n };\n\n return FilterObservable;\n\n }(ObservableBase));\n\n /**\n * Filters the elements of an observable sequence based on a predicate by incorporating the element's index.\n * @param {Function} predicate A function to test each source element for a condition; the second parameter of the function represents the index of the source element.\n * @param {Any} [thisArg] Object to use as this when executing callback.\n * @returns {Observable} An observable sequence that contains elements from the input sequence that satisfy the condition.\n */\n observableProto.filter = observableProto.where = function (predicate, thisArg) {\n return this instanceof FilterObservable ? this.internalFilter(predicate, thisArg) :\n new FilterObservable(this, predicate, thisArg);\n };\n\n var TransduceObserver = (function (__super__) {\n inherits(TransduceObserver, __super__);\n function TransduceObserver(o, xform) {\n this._o = o;\n this._xform = xform;\n __super__.call(this);\n }\n\n TransduceObserver.prototype.next = function (x) {\n var res = tryCatch(this._xform['@@transducer/step']).call(this._xform, this._o, x);\n if (res === errorObj) { this._o.onError(res.e); }\n };\n\n TransduceObserver.prototype.error = function (e) { this._o.onError(e); };\n\n TransduceObserver.prototype.completed = function () {\n this._xform['@@transducer/result'](this._o);\n };\n\n return TransduceObserver;\n }(AbstractObserver));\n\n function transformForObserver(o) {\n return {\n '@@transducer/init': function() {\n return o;\n },\n '@@transducer/step': function(obs, input) {\n return obs.onNext(input);\n },\n '@@transducer/result': function(obs) {\n return obs.onCompleted();\n }\n };\n }\n\n /**\n * Executes a transducer to transform the observable sequence\n * @param {Transducer} transducer A transducer to execute\n * @returns {Observable} An Observable sequence containing the results from the transducer.\n */\n observableProto.transduce = function(transducer) {\n var source = this;\n return new AnonymousObservable(function(o) {\n var xform = transducer(transformForObserver(o));\n return source.subscribe(new TransduceObserver(o, xform));\n }, source);\n };\n\n var AnonymousObservable = Rx.AnonymousObservable = (function (__super__) {\n inherits(AnonymousObservable, __super__);\n\n // Fix subscriber to check for undefined or function returned to decorate as Disposable\n function fixSubscriber(subscriber) {\n return subscriber && isFunction(subscriber.dispose) ? subscriber :\n isFunction(subscriber) ? disposableCreate(subscriber) : disposableEmpty;\n }\n\n function setDisposable(s, state) {\n var ado = state[0], self = state[1];\n var sub = tryCatch(self.__subscribe).call(self, ado);\n if (sub === errorObj && !ado.fail(errorObj.e)) { thrower(errorObj.e); }\n ado.setDisposable(fixSubscriber(sub));\n }\n\n function AnonymousObservable(subscribe, parent) {\n this.source = parent;\n this.__subscribe = subscribe;\n __super__.call(this);\n }\n\n AnonymousObservable.prototype._subscribe = function (o) {\n var ado = new AutoDetachObserver(o), state = [ado, this];\n\n if (currentThreadScheduler.scheduleRequired()) {\n currentThreadScheduler.schedule(state, setDisposable);\n } else {\n setDisposable(null, state);\n }\n return ado;\n };\n\n return AnonymousObservable;\n\n }(Observable));\n\n var AutoDetachObserver = (function (__super__) {\n inherits(AutoDetachObserver, __super__);\n\n function AutoDetachObserver(observer) {\n __super__.call(this);\n this.observer = observer;\n this.m = new SingleAssignmentDisposable();\n }\n\n var AutoDetachObserverPrototype = AutoDetachObserver.prototype;\n\n AutoDetachObserverPrototype.next = function (value) {\n var result = tryCatch(this.observer.onNext).call(this.observer, value);\n if (result === errorObj) {\n this.dispose();\n thrower(result.e);\n }\n };\n\n AutoDetachObserverPrototype.error = function (err) {\n var result = tryCatch(this.observer.onError).call(this.observer, err);\n this.dispose();\n result === errorObj && thrower(result.e);\n };\n\n AutoDetachObserverPrototype.completed = function () {\n var result = tryCatch(this.observer.onCompleted).call(this.observer);\n this.dispose();\n result === errorObj && thrower(result.e);\n };\n\n AutoDetachObserverPrototype.setDisposable = function (value) { this.m.setDisposable(value); };\n AutoDetachObserverPrototype.getDisposable = function () { return this.m.getDisposable(); };\n\n AutoDetachObserverPrototype.dispose = function () {\n __super__.prototype.dispose.call(this);\n this.m.dispose();\n };\n\n return AutoDetachObserver;\n }(AbstractObserver));\n\n var InnerSubscription = function (s, o) {\n this._s = s;\n this._o = o;\n };\n\n InnerSubscription.prototype.dispose = function () {\n if (!this._s.isDisposed && this._o !== null) {\n var idx = this._s.observers.indexOf(this._o);\n this._s.observers.splice(idx, 1);\n this._o = null;\n }\n };\n\n /**\n * Represents an object that is both an observable sequence as well as an observer.\n * Each notification is broadcasted to all subscribed observers.\n */\n var Subject = Rx.Subject = (function (__super__) {\n inherits(Subject, __super__);\n function Subject() {\n __super__.call(this);\n this.isDisposed = false;\n this.isStopped = false;\n this.observers = [];\n this.hasError = false;\n }\n\n addProperties(Subject.prototype, Observer.prototype, {\n _subscribe: function (o) {\n checkDisposed(this);\n if (!this.isStopped) {\n this.observers.push(o);\n return new InnerSubscription(this, o);\n }\n if (this.hasError) {\n o.onError(this.error);\n return disposableEmpty;\n }\n o.onCompleted();\n return disposableEmpty;\n },\n /**\n * Indicates whether the subject has observers subscribed to it.\n * @returns {Boolean} Indicates whether the subject has observers subscribed to it.\n */\n hasObservers: function () { checkDisposed(this); return this.observers.length > 0; },\n /**\n * Notifies all subscribed observers about the end of the sequence.\n */\n onCompleted: function () {\n checkDisposed(this);\n if (!this.isStopped) {\n this.isStopped = true;\n for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) {\n os[i].onCompleted();\n }\n\n this.observers.length = 0;\n }\n },\n /**\n * Notifies all subscribed observers about the exception.\n * @param {Mixed} error The exception to send to all observers.\n */\n onError: function (error) {\n checkDisposed(this);\n if (!this.isStopped) {\n this.isStopped = true;\n this.error = error;\n this.hasError = true;\n for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) {\n os[i].onError(error);\n }\n\n this.observers.length = 0;\n }\n },\n /**\n * Notifies all subscribed observers about the arrival of the specified element in the sequence.\n * @param {Mixed} value The value to send to all observers.\n */\n onNext: function (value) {\n checkDisposed(this);\n if (!this.isStopped) {\n for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) {\n os[i].onNext(value);\n }\n }\n },\n /**\n * Unsubscribe all observers and release resources.\n */\n dispose: function () {\n this.isDisposed = true;\n this.observers = null;\n }\n });\n\n /**\n * Creates a subject from the specified observer and observable.\n * @param {Observer} observer The observer used to send messages to the subject.\n * @param {Observable} observable The observable used to subscribe to messages sent from the subject.\n * @returns {Subject} Subject implemented using the given observer and observable.\n */\n Subject.create = function (observer, observable) {\n return new AnonymousSubject(observer, observable);\n };\n\n return Subject;\n }(Observable));\n\n /**\n * Represents the result of an asynchronous operation.\n * The last value before the OnCompleted notification, or the error received through OnError, is sent to all subscribed observers.\n */\n var AsyncSubject = Rx.AsyncSubject = (function (__super__) {\n inherits(AsyncSubject, __super__);\n\n /**\n * Creates a subject that can only receive one value and that value is cached for all future observations.\n * @constructor\n */\n function AsyncSubject() {\n __super__.call(this);\n this.isDisposed = false;\n this.isStopped = false;\n this.hasValue = false;\n this.observers = [];\n this.hasError = false;\n }\n\n addProperties(AsyncSubject.prototype, Observer.prototype, {\n _subscribe: function (o) {\n checkDisposed(this);\n\n if (!this.isStopped) {\n this.observers.push(o);\n return new InnerSubscription(this, o);\n }\n\n if (this.hasError) {\n o.onError(this.error);\n } else if (this.hasValue) {\n o.onNext(this.value);\n o.onCompleted();\n } else {\n o.onCompleted();\n }\n\n return disposableEmpty;\n },\n /**\n * Indicates whether the subject has observers subscribed to it.\n * @returns {Boolean} Indicates whether the subject has observers subscribed to it.\n */\n hasObservers: function () { checkDisposed(this); return this.observers.length > 0; },\n /**\n * Notifies all subscribed observers about the end of the sequence, also causing the last received value to be sent out (if any).\n */\n onCompleted: function () {\n var i, len;\n checkDisposed(this);\n if (!this.isStopped) {\n this.isStopped = true;\n var os = cloneArray(this.observers), len = os.length;\n\n if (this.hasValue) {\n for (i = 0; i < len; i++) {\n var o = os[i];\n o.onNext(this.value);\n o.onCompleted();\n }\n } else {\n for (i = 0; i < len; i++) {\n os[i].onCompleted();\n }\n }\n\n this.observers.length = 0;\n }\n },\n /**\n * Notifies all subscribed observers about the error.\n * @param {Mixed} error The Error to send to all observers.\n */\n onError: function (error) {\n checkDisposed(this);\n if (!this.isStopped) {\n this.isStopped = true;\n this.hasError = true;\n this.error = error;\n\n for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) {\n os[i].onError(error);\n }\n\n this.observers.length = 0;\n }\n },\n /**\n * Sends a value to the subject. The last value received before successful termination will be sent to all subscribed and future observers.\n * @param {Mixed} value The value to store in the subject.\n */\n onNext: function (value) {\n checkDisposed(this);\n if (this.isStopped) { return; }\n this.value = value;\n this.hasValue = true;\n },\n /**\n * Unsubscribe all observers and release resources.\n */\n dispose: function () {\n this.isDisposed = true;\n this.observers = null;\n this.error = null;\n this.value = null;\n }\n });\n\n return AsyncSubject;\n }(Observable));\n\n var AnonymousSubject = Rx.AnonymousSubject = (function (__super__) {\n inherits(AnonymousSubject, __super__);\n function AnonymousSubject(observer, observable) {\n this.observer = observer;\n this.observable = observable;\n __super__.call(this);\n }\n\n addProperties(AnonymousSubject.prototype, Observer.prototype, {\n _subscribe: function (o) {\n return this.observable.subscribe(o);\n },\n onCompleted: function () {\n this.observer.onCompleted();\n },\n onError: function (error) {\n this.observer.onError(error);\n },\n onNext: function (value) {\n this.observer.onNext(value);\n }\n });\n\n return AnonymousSubject;\n }(Observable));\n\n if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {\n root.Rx = Rx;\n\n define(function() {\n return Rx;\n });\n } else if (freeExports && freeModule) {\n // in Node.js or RingoJS\n if (moduleExports) {\n (freeModule.exports = Rx).Rx = Rx;\n } else {\n freeExports.Rx = Rx;\n }\n } else {\n // in a browser or Rhino\n root.Rx = Rx;\n }\n\n // All code before this point will be filtered from stack traces.\n var rEndingLine = captureLine();\n\n}.call(this));\n","// Copyright (c) Microsoft, All rights reserved. See License.txt in the project root for license information.\n\n;(function (factory) {\n var objectTypes = {\n 'function': true,\n 'object': true\n };\n\n function checkGlobal(value) {\n return (value && value.Object === Object) ? value : null;\n }\n\n var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType) ? exports : null;\n var freeModule = (objectTypes[typeof module] && module && !module.nodeType) ? module : null;\n var freeGlobal = checkGlobal(freeExports && freeModule && typeof global === 'object' && global);\n var freeSelf = checkGlobal(objectTypes[typeof self] && self);\n var freeWindow = checkGlobal(objectTypes[typeof window] && window);\n var moduleExports = (freeModule && freeModule.exports === freeExports) ? freeExports : null;\n var thisGlobal = checkGlobal(objectTypes[typeof this] && this);\n var root = freeGlobal || ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) || freeSelf || thisGlobal || Function('return this')();\n\n // Because of build optimizers\n if (typeof define === 'function' && define.amd) {\n define(['./rx'], function (Rx, exports) {\n return factory(root, exports, Rx);\n });\n } else if (typeof module === 'object' && module && module.exports === freeExports) {\n module.exports = factory(root, module.exports, require('./rx'));\n } else {\n root.Rx = factory(root, {}, root.Rx);\n }\n}.call(this, function (root, exp, Rx, undefined) {\n\n var Observable = Rx.Observable,\n observableProto = Observable.prototype,\n AnonymousObservable = Rx.AnonymousObservable,\n observableNever = Observable.never,\n isEqual = Rx.internals.isEqual,\n defaultSubComparer = Rx.helpers.defaultSubComparer;\n\n /**\n * jortSort checks if your inputs are sorted. Note that this is only for a sequence with an end.\n * See http://jort.technology/ for full details.\n * @returns {Observable} An observable which has a single value of true if sorted, else false.\n */\n observableProto.jortSort = function () {\n return this.jortSortUntil(observableNever());\n };\n\n /**\n * jortSort checks if your inputs are sorted until another Observable sequence fires.\n * See http://jort.technology/ for full details.\n * @returns {Observable} An observable which has a single value of true if sorted, else false.\n */\n observableProto.jortSortUntil = function (other) {\n var source = this;\n return new AnonymousObservable(function (observer) {\n var arr = [];\n return source.takeUntil(other).subscribe(\n arr.push.bind(arr),\n observer.onError.bind(observer),\n function () {\n var sorted = arr.slice(0).sort(defaultSubComparer);\n observer.onNext(isEqual(arr, sorted));\n observer.onCompleted();\n });\n }, source);\n };\n\n return Rx;\n}));\n","// Copyright (c) Microsoft, All rights reserved. See License.txt in the project root for license information.\n\n;(function (factory) {\n var objectTypes = {\n 'function': true,\n 'object': true\n };\n\n function checkGlobal(value) {\n return (value && value.Object === Object) ? value : null;\n }\n\n var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType) ? exports : null;\n var freeModule = (objectTypes[typeof module] && module && !module.nodeType) ? module : null;\n var freeGlobal = checkGlobal(freeExports && freeModule && typeof global === 'object' && global);\n var freeSelf = checkGlobal(objectTypes[typeof self] && self);\n var freeWindow = checkGlobal(objectTypes[typeof window] && window);\n var moduleExports = (freeModule && freeModule.exports === freeExports) ? freeExports : null;\n var thisGlobal = checkGlobal(objectTypes[typeof this] && this);\n var root = freeGlobal || ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) || freeSelf || thisGlobal || Function('return this')();\n\n // Because of build optimizers\n if (typeof define === 'function' && define.amd) {\n define(['./rx.virtualtime', 'exports'], function (Rx, exports) {\n root.Rx = factory(root, exports, Rx);\n return root.Rx;\n });\n } else if (typeof module === 'object' && module && module.exports === freeExports) {\n module.exports = factory(root, module.exports, require('./rx'));\n } else {\n root.Rx = factory(root, {}, root.Rx);\n }\n}.call(this, function (root, exp, Rx, undefined) {\n\n // Defaults\n var Observer = Rx.Observer,\n Observable = Rx.Observable,\n Notification = Rx.Notification,\n VirtualTimeScheduler = Rx.VirtualTimeScheduler,\n Disposable = Rx.Disposable,\n disposableEmpty = Disposable.empty,\n disposableCreate = Disposable.create,\n CompositeDisposable = Rx.CompositeDisposable,\n inherits = Rx.internals.inherits,\n defaultComparer = Rx.internals.isEqual;\n\nfunction OnNextPredicate(predicate) {\n this.predicate = predicate;\n}\n\nOnNextPredicate.prototype.equals = function (other) {\n if (other === this) { return true; }\n if (other == null) { return false; }\n if (other.kind !== 'N') { return false; }\n return this.predicate(other.value);\n};\n\nfunction OnErrorPredicate(predicate) {\n this.predicate = predicate;\n}\n\nOnErrorPredicate.prototype.equals = function (other) {\n if (other === this) { return true; }\n if (other == null) { return false; }\n if (other.kind !== 'E') { return false; }\n return this.predicate(other.error);\n};\n\nvar ReactiveTest = Rx.ReactiveTest = {\n /** Default virtual time used for creation of observable sequences in unit tests. */\n created: 100,\n /** Default virtual time used to subscribe to observable sequences in unit tests. */\n subscribed: 200,\n /** Default virtual time used to dispose subscriptions in unit tests. */\n disposed: 1000,\n\n /**\n * Factory method for an OnNext notification record at a given time with a given value or a predicate function.\n *\n * 1 - ReactiveTest.onNext(200, 42);\n * 2 - ReactiveTest.onNext(200, function (x) { return x.length == 2; });\n *\n * @param ticks Recorded virtual time the OnNext notification occurs.\n * @param value Recorded value stored in the OnNext notification or a predicate.\n * @return Recorded OnNext notification.\n */\n onNext: function (ticks, value) {\n return typeof value === 'function' ?\n new Recorded(ticks, new OnNextPredicate(value)) :\n new Recorded(ticks, Notification.createOnNext(value));\n },\n /**\n * Factory method for an OnError notification record at a given time with a given error.\n *\n * 1 - ReactiveTest.onNext(200, new Error('error'));\n * 2 - ReactiveTest.onNext(200, function (e) { return e.message === 'error'; });\n *\n * @param ticks Recorded virtual time the OnError notification occurs.\n * @param exception Recorded exception stored in the OnError notification.\n * @return Recorded OnError notification.\n */\n onError: function (ticks, error) {\n return typeof error === 'function' ?\n new Recorded(ticks, new OnErrorPredicate(error)) :\n new Recorded(ticks, Notification.createOnError(error));\n },\n /**\n * Factory method for an OnCompleted notification record at a given time.\n *\n * @param ticks Recorded virtual time the OnCompleted notification occurs.\n * @return Recorded OnCompleted notification.\n */\n onCompleted: function (ticks) {\n return new Recorded(ticks, Notification.createOnCompleted());\n },\n /**\n * Factory method for a subscription record based on a given subscription and disposal time.\n *\n * @param start Virtual time indicating when the subscription was created.\n * @param end Virtual time indicating when the subscription was disposed.\n * @return Subscription object.\n */\n subscribe: function (start, end) {\n return new Subscription(start, end);\n }\n};\n\n /**\n * Creates a new object recording the production of the specified value at the given virtual time.\n *\n * @constructor\n * @param {Number} time Virtual time the value was produced on.\n * @param {Mixed} value Value that was produced.\n * @param {Function} comparer An optional comparer.\n */\n var Recorded = Rx.Recorded = function (time, value, comparer) {\n this.time = time;\n this.value = value;\n this.comparer = comparer || defaultComparer;\n };\n\n /**\n * Checks whether the given recorded object is equal to the current instance.\n *\n * @param {Recorded} other Recorded object to check for equality.\n * @returns {Boolean} true if both objects are equal; false otherwise.\n */\n Recorded.prototype.equals = function (other) {\n return this.time === other.time && this.comparer(this.value, other.value);\n };\n\n /**\n * Returns a string representation of the current Recorded value.\n *\n * @returns {String} String representation of the current Recorded value.\n */\n Recorded.prototype.toString = function () {\n return this.value.toString() + '@' + this.time;\n };\n\n /**\n * Creates a new subscription object with the given virtual subscription and unsubscription time.\n *\n * @constructor\n * @param {Number} subscribe Virtual time at which the subscription occurred.\n * @param {Number} unsubscribe Virtual time at which the unsubscription occurred.\n */\n var Subscription = Rx.Subscription = function (start, end) {\n this.subscribe = start;\n this.unsubscribe = end || Number.MAX_VALUE;\n };\n\n /**\n * Checks whether the given subscription is equal to the current instance.\n * @param other Subscription object to check for equality.\n * @returns {Boolean} true if both objects are equal; false otherwise.\n */\n Subscription.prototype.equals = function (other) {\n return this.subscribe === other.subscribe && this.unsubscribe === other.unsubscribe;\n };\n\n /**\n * Returns a string representation of the current Subscription value.\n * @returns {String} String representation of the current Subscription value.\n */\n Subscription.prototype.toString = function () {\n return '(' + this.subscribe + ', ' + (this.unsubscribe === Number.MAX_VALUE ? 'Infinite' : this.unsubscribe) + ')';\n };\n\n var MockDisposable = Rx.MockDisposable = function (scheduler) {\n this.scheduler = scheduler;\n this.disposes = [];\n this.disposes.push(this.scheduler.clock);\n };\n\n MockDisposable.prototype.dispose = function () {\n this.disposes.push(this.scheduler.clock);\n };\n\n var MockObserver = (function (__super__) {\n inherits(MockObserver, __super__);\n\n function MockObserver(scheduler) {\n __super__.call(this);\n this.scheduler = scheduler;\n this.messages = [];\n }\n\n var MockObserverPrototype = MockObserver.prototype;\n\n MockObserverPrototype.onNext = function (value) {\n this.messages.push(new Recorded(this.scheduler.clock, Notification.createOnNext(value)));\n };\n\n MockObserverPrototype.onError = function (e) {\n this.messages.push(new Recorded(this.scheduler.clock, Notification.createOnError(e)));\n };\n\n MockObserverPrototype.onCompleted = function () {\n this.messages.push(new Recorded(this.scheduler.clock, Notification.createOnCompleted()));\n };\n\n return MockObserver;\n })(Observer);\n\n function MockPromise(scheduler, messages) {\n var self = this;\n this.scheduler = scheduler;\n this.messages = messages;\n this.subscriptions = [];\n this.observers = [];\n for (var i = 0, len = this.messages.length; i < len; i++) {\n var message = this.messages[i],\n notification = message.value;\n (function (innerNotification) {\n scheduler.scheduleAbsolute(null, message.time, function () {\n var obs = self.observers.slice(0);\n\n for (var j = 0, jLen = obs.length; j < jLen; j++) {\n innerNotification.accept(obs[j]);\n }\n return disposableEmpty;\n });\n })(notification);\n }\n }\n\n MockPromise.prototype.then = function (onResolved, onRejected) {\n var self = this;\n\n this.subscriptions.push(new Subscription(this.scheduler.clock));\n var index = this.subscriptions.length - 1;\n\n var newPromise;\n\n var observer = Rx.Observer.create(\n function (x) {\n var retValue = onResolved(x);\n if (retValue && typeof retValue.then === 'function') {\n newPromise = retValue;\n } else {\n var ticks = self.scheduler.clock;\n newPromise = new MockPromise(self.scheduler, [Rx.ReactiveTest.onNext(ticks, undefined), Rx.ReactiveTest.onCompleted(ticks)]);\n }\n var idx = self.observers.indexOf(observer);\n self.observers.splice(idx, 1);\n self.subscriptions[index] = new Subscription(self.subscriptions[index].subscribe, self.scheduler.clock);\n },\n function (err) {\n onRejected(err);\n var idx = self.observers.indexOf(observer);\n self.observers.splice(idx, 1);\n self.subscriptions[index] = new Subscription(self.subscriptions[index].subscribe, self.scheduler.clock);\n }\n );\n this.observers.push(observer);\n\n return newPromise || new MockPromise(this.scheduler, this.messages);\n };\n\n var HotObservable = (function (__super__) {\n inherits(HotObservable, __super__);\n\n function HotObservable(scheduler, messages) {\n __super__.call(this);\n var message, notification, observable = this;\n this.scheduler = scheduler;\n this.messages = messages;\n this.subscriptions = [];\n this.observers = [];\n for (var i = 0, len = this.messages.length; i < len; i++) {\n message = this.messages[i];\n notification = message.value;\n (function (innerNotification) {\n scheduler.scheduleAbsolute(null, message.time, function () {\n var obs = observable.observers.slice(0);\n\n for (var j = 0, jLen = obs.length; j < jLen; j++) {\n innerNotification.accept(obs[j]);\n }\n return disposableEmpty;\n });\n })(notification);\n }\n }\n\n HotObservable.prototype._subscribe = function (o) {\n var observable = this;\n this.observers.push(o);\n this.subscriptions.push(new Subscription(this.scheduler.clock));\n var index = this.subscriptions.length - 1;\n return disposableCreate(function () {\n var idx = observable.observers.indexOf(o);\n observable.observers.splice(idx, 1);\n observable.subscriptions[index] = new Subscription(observable.subscriptions[index].subscribe, observable.scheduler.clock);\n });\n };\n\n return HotObservable;\n })(Observable);\n\n var ColdObservable = (function (__super__) {\n inherits(ColdObservable, __super__);\n\n function ColdObservable(scheduler, messages) {\n __super__.call(this);\n this.scheduler = scheduler;\n this.messages = messages;\n this.subscriptions = [];\n }\n\n ColdObservable.prototype._subscribe = function (o) {\n var message, notification, observable = this;\n this.subscriptions.push(new Subscription(this.scheduler.clock));\n var index = this.subscriptions.length - 1;\n var d = new CompositeDisposable();\n for (var i = 0, len = this.messages.length; i < len; i++) {\n message = this.messages[i];\n notification = message.value;\n (function (innerNotification) {\n d.add(observable.scheduler.scheduleRelative(null, message.time, function () {\n innerNotification.accept(o);\n return disposableEmpty;\n }));\n })(notification);\n }\n return disposableCreate(function () {\n observable.subscriptions[index] = new Subscription(observable.subscriptions[index].subscribe, observable.scheduler.clock);\n d.dispose();\n });\n };\n\n return ColdObservable;\n })(Observable);\n\n /** Virtual time scheduler used for testing applications and libraries built using Reactive Extensions. */\n Rx.TestScheduler = (function (__super__) {\n inherits(TestScheduler, __super__);\n\n function baseComparer(x, y) {\n return x > y ? 1 : (x < y ? -1 : 0);\n }\n\n function TestScheduler() {\n __super__.call(this, 0, baseComparer);\n }\n\n /**\n * Schedules an action to be executed at the specified virtual time.\n *\n * @param state State passed to the action to be executed.\n * @param dueTime Absolute virtual time at which to execute the action.\n * @param action Action to be executed.\n * @return Disposable object used to cancel the scheduled action (best effort).\n */\n TestScheduler.prototype.scheduleAbsolute = function (state, dueTime, action) {\n dueTime <= this.clock && (dueTime = this.clock + 1);\n return __super__.prototype.scheduleAbsolute.call(this, state, dueTime, action);\n };\n /**\n * Adds a relative virtual time to an absolute virtual time value.\n *\n * @param absolute Absolute virtual time value.\n * @param relative Relative virtual time value to add.\n * @return Resulting absolute virtual time sum value.\n */\n TestScheduler.prototype.add = function (absolute, relative) {\n return absolute + relative;\n };\n /**\n * Converts the absolute virtual time value to a DateTimeOffset value.\n *\n * @param absolute Absolute virtual time value to convert.\n * @return Corresponding DateTimeOffset value.\n */\n TestScheduler.prototype.toAbsoluteTime = function (absolute) {\n return new Date(absolute).getTime();\n };\n /**\n * Converts the TimeSpan value to a relative virtual time value.\n *\n * @param timeSpan TimeSpan value to convert.\n * @return Corresponding relative virtual time value.\n */\n TestScheduler.prototype.toRelativeTime = function (timeSpan) {\n return timeSpan;\n };\n /**\n * Starts the test scheduler and uses the specified virtual times to invoke the factory function, subscribe to the resulting sequence, and dispose the subscription.\n *\n * @param create Factory method to create an observable sequence.\n * @param created Virtual time at which to invoke the factory to create an observable sequence.\n * @param subscribed Virtual time at which to subscribe to the created observable sequence.\n * @param disposed Virtual time at which to dispose the subscription.\n * @return Observer with timestamped recordings of notification messages that were received during the virtual time window when the subscription to the source sequence was active.\n */\n TestScheduler.prototype.startScheduler = function (createFn, settings) {\n settings || (settings = {});\n settings.created == null && (settings.created = ReactiveTest.created);\n settings.subscribed == null && (settings.subscribed = ReactiveTest.subscribed);\n settings.disposed == null && (settings.disposed = ReactiveTest.disposed);\n\n var observer = this.createObserver(), source, subscription;\n\n this.scheduleAbsolute(null, settings.created, function () {\n source = createFn();\n return disposableEmpty;\n });\n\n this.scheduleAbsolute(null, settings.subscribed, function () {\n subscription = source.subscribe(observer);\n return disposableEmpty;\n });\n\n this.scheduleAbsolute(null, settings.disposed, function () {\n subscription.dispose();\n return disposableEmpty;\n });\n\n this.start();\n\n return observer;\n };\n\n /**\n * Creates a hot observable using the specified timestamped notification messages either as an array or arguments.\n * @param messages Notifications to surface through the created sequence at their specified absolute virtual times.\n * @return Hot observable sequence that can be used to assert the timing of subscriptions and notifications.\n */\n TestScheduler.prototype.createHotObservable = function () {\n var len = arguments.length, args;\n if (Array.isArray(arguments[0])) {\n args = arguments[0];\n } else {\n args = new Array(len);\n for (var i = 0; i < len; i++) { args[i] = arguments[i]; }\n }\n return new HotObservable(this, args);\n };\n\n /**\n * Creates a cold observable using the specified timestamped notification messages either as an array or arguments.\n * @param messages Notifications to surface through the created sequence at their specified virtual time offsets from the sequence subscription time.\n * @return Cold observable sequence that can be used to assert the timing of subscriptions and notifications.\n */\n TestScheduler.prototype.createColdObservable = function () {\n var len = arguments.length, args;\n if (Array.isArray(arguments[0])) {\n args = arguments[0];\n } else {\n args = new Array(len);\n for (var i = 0; i < len; i++) { args[i] = arguments[i]; }\n }\n return new ColdObservable(this, args);\n };\n\n /**\n * Creates a resolved promise with the given value and ticks\n * @param {Number} ticks The absolute time of the resolution.\n * @param {Any} value The value to yield at the given tick.\n * @returns {MockPromise} A mock Promise which fulfills with the given value.\n */\n TestScheduler.prototype.createResolvedPromise = function (ticks, value) {\n return new MockPromise(this, [Rx.ReactiveTest.onNext(ticks, value), Rx.ReactiveTest.onCompleted(ticks)]);\n };\n\n /**\n * Creates a rejected promise with the given reason and ticks\n * @param {Number} ticks The absolute time of the resolution.\n * @param {Any} reason The reason for rejection to yield at the given tick.\n * @returns {MockPromise} A mock Promise which rejects with the given reason.\n */\n TestScheduler.prototype.createRejectedPromise = function (ticks, reason) {\n return new MockPromise(this, [Rx.ReactiveTest.onError(ticks, reason)]);\n };\n\n /**\n * Creates an observer that records received notification messages and timestamps those.\n * @return Observer that can be used to assert the timing of received notifications.\n */\n TestScheduler.prototype.createObserver = function () {\n return new MockObserver(this);\n };\n\n return TestScheduler;\n })(VirtualTimeScheduler);\n\n return Rx;\n}));\n","// Copyright (c) Microsoft, All rights reserved. See License.txt in the project root for license information.\n\n;(function (factory) {\n var objectTypes = {\n 'function': true,\n 'object': true\n };\n\n function checkGlobal(value) {\n return (value && value.Object === Object) ? value : null;\n }\n\n var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType) ? exports : null;\n var freeModule = (objectTypes[typeof module] && module && !module.nodeType) ? module : null;\n var freeGlobal = checkGlobal(freeExports && freeModule && typeof global === 'object' && global);\n var freeSelf = checkGlobal(objectTypes[typeof self] && self);\n var freeWindow = checkGlobal(objectTypes[typeof window] && window);\n var moduleExports = (freeModule && freeModule.exports === freeExports) ? freeExports : null;\n var thisGlobal = checkGlobal(objectTypes[typeof this] && this);\n var root = freeGlobal || ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) || freeSelf || thisGlobal || Function('return this')();\n\n // Because of build optimizers\n if (typeof define === 'function' && define.amd) {\n define(['./rx'], function (Rx, exports) {\n return factory(root, exports, Rx);\n });\n } else if (typeof module === 'object' && module && module.exports === freeExports) {\n module.exports = factory(root, module.exports, require('./rx'));\n } else {\n root.Rx = factory(root, {}, root.Rx);\n }\n}.call(this, function (root, exp, Rx, undefined) {\n\n // Refernces\n var inherits = Rx.internals.inherits,\n AbstractObserver = Rx.internals.AbstractObserver,\n Observable = Rx.Observable,\n observableProto = Observable.prototype,\n AnonymousObservable = Rx.AnonymousObservable,\n ObservableBase = Rx.ObservableBase,\n observableDefer = Observable.defer,\n observableEmpty = Observable.empty,\n observableNever = Observable.never,\n observableThrow = Observable['throw'],\n observableFromArray = Observable.fromArray,\n defaultScheduler = Rx.Scheduler['default'],\n SingleAssignmentDisposable = Rx.SingleAssignmentDisposable,\n SerialDisposable = Rx.SerialDisposable,\n CompositeDisposable = Rx.CompositeDisposable,\n BinaryDisposable = Rx.BinaryDisposable,\n RefCountDisposable = Rx.RefCountDisposable,\n Subject = Rx.Subject,\n addRef = Rx.internals.addRef,\n normalizeTime = Rx.Scheduler.normalize,\n helpers = Rx.helpers,\n isPromise = helpers.isPromise,\n isFunction = helpers.isFunction,\n isScheduler = Rx.Scheduler.isScheduler,\n observableFromPromise = Observable.fromPromise;\n\n var errorObj = {e: {}};\n \n function tryCatcherGen(tryCatchTarget) {\n return function tryCatcher() {\n try {\n return tryCatchTarget.apply(this, arguments);\n } catch (e) {\n errorObj.e = e;\n return errorObj;\n }\n };\n }\n\n var tryCatch = Rx.internals.tryCatch = function tryCatch(fn) {\n if (!isFunction(fn)) { throw new TypeError('fn must be a function'); }\n return tryCatcherGen(fn);\n };\n\n function thrower(e) {\n throw e;\n }\n\n var TimerObservable = (function(__super__) {\n inherits(TimerObservable, __super__);\n function TimerObservable(dt, s) {\n this._dt = dt;\n this._s = s;\n __super__.call(this);\n }\n\n TimerObservable.prototype.subscribeCore = function (o) {\n return this._s.scheduleFuture(o, this._dt, scheduleMethod);\n };\n\n function scheduleMethod(s, o) {\n o.onNext(0);\n o.onCompleted();\n }\n\n return TimerObservable;\n }(ObservableBase));\n\n function _observableTimer(dueTime, scheduler) {\n return new TimerObservable(dueTime, scheduler);\n }\n\n function observableTimerDateAndPeriod(dueTime, period, scheduler) {\n return new AnonymousObservable(function (observer) {\n var d = dueTime, p = normalizeTime(period);\n return scheduler.scheduleRecursiveFuture(0, d, function (count, self) {\n if (p > 0) {\n var now = scheduler.now();\n d = new Date(d.getTime() + p);\n d.getTime() <= now && (d = new Date(now + p));\n }\n observer.onNext(count);\n self(count + 1, new Date(d));\n });\n });\n }\n\n function observableTimerTimeSpanAndPeriod(dueTime, period, scheduler) {\n return dueTime === period ?\n new AnonymousObservable(function (observer) {\n return scheduler.schedulePeriodic(0, period, function (count) {\n observer.onNext(count);\n return count + 1;\n });\n }) :\n observableDefer(function () {\n return observableTimerDateAndPeriod(new Date(scheduler.now() + dueTime), period, scheduler);\n });\n }\n\n /**\n * Returns an observable sequence that produces a value after each period.\n *\n * @example\n * 1 - res = Rx.Observable.interval(1000);\n * 2 - res = Rx.Observable.interval(1000, Rx.Scheduler.timeout);\n *\n * @param {Number} period Period for producing the values in the resulting sequence (specified as an integer denoting milliseconds).\n * @param {Scheduler} [scheduler] Scheduler to run the timer on. If not specified, Rx.Scheduler.timeout is used.\n * @returns {Observable} An observable sequence that produces a value after each period.\n */\n var observableinterval = Observable.interval = function (period, scheduler) {\n return observableTimerTimeSpanAndPeriod(period, period, isScheduler(scheduler) ? scheduler : defaultScheduler);\n };\n\n /**\n * Returns an observable sequence that produces a value after dueTime has elapsed and then after each period.\n * @param {Number} dueTime Absolute (specified as a Date object) or relative time (specified as an integer denoting milliseconds) at which to produce the first value.\n * @param {Mixed} [periodOrScheduler] Period to produce subsequent values (specified as an integer denoting milliseconds), or the scheduler to run the timer on. If not specified, the resulting timer is not recurring.\n * @param {Scheduler} [scheduler] Scheduler to run the timer on. If not specified, the timeout scheduler is used.\n * @returns {Observable} An observable sequence that produces a value after due time has elapsed and then each period.\n */\n var observableTimer = Observable.timer = function (dueTime, periodOrScheduler, scheduler) {\n var period;\n isScheduler(scheduler) || (scheduler = defaultScheduler);\n if (periodOrScheduler != null && typeof periodOrScheduler === 'number') {\n period = periodOrScheduler;\n } else if (isScheduler(periodOrScheduler)) {\n scheduler = periodOrScheduler;\n }\n if ((dueTime instanceof Date || typeof dueTime === 'number') && period === undefined) {\n return _observableTimer(dueTime, scheduler);\n }\n if (dueTime instanceof Date && period !== undefined) {\n return observableTimerDateAndPeriod(dueTime, periodOrScheduler, scheduler);\n }\n return observableTimerTimeSpanAndPeriod(dueTime, period, scheduler);\n };\n\n function observableDelayRelative(source, dueTime, scheduler) {\n return new AnonymousObservable(function (o) {\n var active = false,\n cancelable = new SerialDisposable(),\n exception = null,\n q = [],\n running = false,\n subscription;\n subscription = source.materialize().timestamp(scheduler).subscribe(function (notification) {\n var d, shouldRun;\n if (notification.value.kind === 'E') {\n q = [];\n q.push(notification);\n exception = notification.value.error;\n shouldRun = !running;\n } else {\n q.push({ value: notification.value, timestamp: notification.timestamp + dueTime });\n shouldRun = !active;\n active = true;\n }\n if (shouldRun) {\n if (exception !== null) {\n o.onError(exception);\n } else {\n d = new SingleAssignmentDisposable();\n cancelable.setDisposable(d);\n d.setDisposable(scheduler.scheduleRecursiveFuture(null, dueTime, function (_, self) {\n var e, recurseDueTime, result, shouldRecurse;\n if (exception !== null) {\n return;\n }\n running = true;\n do {\n result = null;\n if (q.length > 0 && q[0].timestamp - scheduler.now() <= 0) {\n result = q.shift().value;\n }\n if (result !== null) {\n result.accept(o);\n }\n } while (result !== null);\n shouldRecurse = false;\n recurseDueTime = 0;\n if (q.length > 0) {\n shouldRecurse = true;\n recurseDueTime = Math.max(0, q[0].timestamp - scheduler.now());\n } else {\n active = false;\n }\n e = exception;\n running = false;\n if (e !== null) {\n o.onError(e);\n } else if (shouldRecurse) {\n self(null, recurseDueTime);\n }\n }));\n }\n }\n });\n return new BinaryDisposable(subscription, cancelable);\n }, source);\n }\n\n function observableDelayAbsolute(source, dueTime, scheduler) {\n return observableDefer(function () {\n return observableDelayRelative(source, dueTime - scheduler.now(), scheduler);\n });\n }\n\n function delayWithSelector(source, subscriptionDelay, delayDurationSelector) {\n var subDelay, selector;\n if (isFunction(subscriptionDelay)) {\n selector = subscriptionDelay;\n } else {\n subDelay = subscriptionDelay;\n selector = delayDurationSelector;\n }\n return new AnonymousObservable(function (o) {\n var delays = new CompositeDisposable(), atEnd = false, subscription = new SerialDisposable();\n\n function start() {\n subscription.setDisposable(source.subscribe(\n function (x) {\n var delay = tryCatch(selector)(x);\n if (delay === errorObj) { return o.onError(delay.e); }\n var d = new SingleAssignmentDisposable();\n delays.add(d);\n d.setDisposable(delay.subscribe(\n function () {\n o.onNext(x);\n delays.remove(d);\n done();\n },\n function (e) { o.onError(e); },\n function () {\n o.onNext(x);\n delays.remove(d);\n done();\n }\n ));\n },\n function (e) { o.onError(e); },\n function () {\n atEnd = true;\n subscription.dispose();\n done();\n }\n ));\n }\n\n function done () {\n atEnd && delays.length === 0 && o.onCompleted();\n }\n\n if (!subDelay) {\n start();\n } else {\n subscription.setDisposable(subDelay.subscribe(start, function (e) { o.onError(e); }, start));\n }\n\n return new BinaryDisposable(subscription, delays);\n }, source);\n }\n\n /**\n * Time shifts the observable sequence by dueTime.\n * The relative time intervals between the values are preserved.\n *\n * @param {Number} dueTime Absolute (specified as a Date object) or relative time (specified as an integer denoting milliseconds) by which to shift the observable sequence.\n * @param {Scheduler} [scheduler] Scheduler to run the delay timers on. If not specified, the timeout scheduler is used.\n * @returns {Observable} Time-shifted sequence.\n */\n observableProto.delay = function () {\n var firstArg = arguments[0];\n if (typeof firstArg === 'number' || firstArg instanceof Date) {\n var dueTime = firstArg, scheduler = arguments[1];\n isScheduler(scheduler) || (scheduler = defaultScheduler);\n return dueTime instanceof Date ?\n observableDelayAbsolute(this, dueTime, scheduler) :\n observableDelayRelative(this, dueTime, scheduler);\n } else if (Observable.isObservable(firstArg) || isFunction(firstArg)) {\n return delayWithSelector(this, firstArg, arguments[1]);\n } else {\n throw new Error('Invalid arguments');\n }\n };\n\n var DebounceObservable = (function (__super__) {\n inherits(DebounceObservable, __super__);\n function DebounceObservable(source, dt, s) {\n isScheduler(s) || (s = defaultScheduler);\n this.source = source;\n this._dt = dt;\n this._s = s;\n __super__.call(this);\n }\n\n DebounceObservable.prototype.subscribeCore = function (o) {\n var cancelable = new SerialDisposable();\n return new BinaryDisposable(\n this.source.subscribe(new DebounceObserver(o, this._dt, this._s, cancelable)),\n cancelable);\n };\n\n return DebounceObservable;\n }(ObservableBase));\n\n var DebounceObserver = (function (__super__) {\n inherits(DebounceObserver, __super__);\n function DebounceObserver(observer, dueTime, scheduler, cancelable) {\n this._o = observer;\n this._d = dueTime;\n this._scheduler = scheduler;\n this._c = cancelable;\n this._v = null;\n this._hv = false;\n this._id = 0;\n __super__.call(this);\n }\n\n function scheduleFuture(s, state) {\n state.self._hv && state.self._id === state.currentId && state.self._o.onNext(state.x);\n state.self._hv = false;\n }\n\n DebounceObserver.prototype.next = function (x) {\n this._hv = true;\n this._v = x;\n var currentId = ++this._id, d = new SingleAssignmentDisposable();\n this._c.setDisposable(d);\n d.setDisposable(this._scheduler.scheduleFuture(this, this._d, function (_, self) {\n self._hv && self._id === currentId && self._o.onNext(x);\n self._hv = false;\n }));\n };\n\n DebounceObserver.prototype.error = function (e) {\n this._c.dispose();\n this._o.onError(e);\n this._hv = false;\n this._id++;\n };\n\n DebounceObserver.prototype.completed = function () {\n this._c.dispose();\n this._hv && this._o.onNext(this._v);\n this._o.onCompleted();\n this._hv = false;\n this._id++;\n };\n\n return DebounceObserver;\n }(AbstractObserver));\n\n function debounceWithSelector(source, durationSelector) {\n return new AnonymousObservable(function (o) {\n var value, hasValue = false, cancelable = new SerialDisposable(), id = 0;\n var subscription = source.subscribe(\n function (x) {\n var throttle = tryCatch(durationSelector)(x);\n if (throttle === errorObj) { return o.onError(throttle.e); }\n\n isPromise(throttle) && (throttle = observableFromPromise(throttle));\n\n hasValue = true;\n value = x;\n id++;\n var currentid = id, d = new SingleAssignmentDisposable();\n cancelable.setDisposable(d);\n d.setDisposable(throttle.subscribe(\n function () {\n hasValue && id === currentid && o.onNext(value);\n hasValue = false;\n d.dispose();\n },\n function (e) { o.onError(e); },\n function () {\n hasValue && id === currentid && o.onNext(value);\n hasValue = false;\n d.dispose();\n }\n ));\n },\n function (e) {\n cancelable.dispose();\n o.onError(e);\n hasValue = false;\n id++;\n },\n function () {\n cancelable.dispose();\n hasValue && o.onNext(value);\n o.onCompleted();\n hasValue = false;\n id++;\n }\n );\n return new BinaryDisposable(subscription, cancelable);\n }, source);\n }\n\n observableProto.debounce = function () {\n if (isFunction (arguments[0])) {\n return debounceWithSelector(this, arguments[0]);\n } else if (typeof arguments[0] === 'number') {\n return new DebounceObservable(this, arguments[0], arguments[1]);\n } else {\n throw new Error('Invalid arguments');\n }\n };\n\n /**\n * Projects each element of an observable sequence into zero or more windows which are produced based on timing information.\n * @param {Number} timeSpan Length of each window (specified as an integer denoting milliseconds).\n * @param {Mixed} [timeShiftOrScheduler] Interval between creation of consecutive windows (specified as an integer denoting milliseconds), or an optional scheduler parameter. If not specified, the time shift corresponds to the timeSpan parameter, resulting in non-overlapping adjacent windows.\n * @param {Scheduler} [scheduler] Scheduler to run windowing timers on. If not specified, the timeout scheduler is used.\n * @returns {Observable} An observable sequence of windows.\n */\n observableProto.windowWithTime = observableProto.windowTime = function (timeSpan, timeShiftOrScheduler, scheduler) {\n var source = this, timeShift;\n timeShiftOrScheduler == null && (timeShift = timeSpan);\n isScheduler(scheduler) || (scheduler = defaultScheduler);\n if (typeof timeShiftOrScheduler === 'number') {\n timeShift = timeShiftOrScheduler;\n } else if (isScheduler(timeShiftOrScheduler)) {\n timeShift = timeSpan;\n scheduler = timeShiftOrScheduler;\n }\n return new AnonymousObservable(function (observer) {\n var groupDisposable,\n nextShift = timeShift,\n nextSpan = timeSpan,\n q = [],\n refCountDisposable,\n timerD = new SerialDisposable(),\n totalTime = 0;\n groupDisposable = new CompositeDisposable(timerD),\n refCountDisposable = new RefCountDisposable(groupDisposable);\n\n function createTimer () {\n var m = new SingleAssignmentDisposable(),\n isSpan = false,\n isShift = false;\n timerD.setDisposable(m);\n if (nextSpan === nextShift) {\n isSpan = true;\n isShift = true;\n } else if (nextSpan < nextShift) {\n isSpan = true;\n } else {\n isShift = true;\n }\n var newTotalTime = isSpan ? nextSpan : nextShift,\n ts = newTotalTime - totalTime;\n totalTime = newTotalTime;\n if (isSpan) {\n nextSpan += timeShift;\n }\n if (isShift) {\n nextShift += timeShift;\n }\n m.setDisposable(scheduler.scheduleFuture(null, ts, function () {\n if (isShift) {\n var s = new Subject();\n q.push(s);\n observer.onNext(addRef(s, refCountDisposable));\n }\n isSpan && q.shift().onCompleted();\n createTimer();\n }));\n };\n q.push(new Subject());\n observer.onNext(addRef(q[0], refCountDisposable));\n createTimer();\n groupDisposable.add(source.subscribe(\n function (x) {\n for (var i = 0, len = q.length; i < len; i++) { q[i].onNext(x); }\n },\n function (e) {\n for (var i = 0, len = q.length; i < len; i++) { q[i].onError(e); }\n observer.onError(e);\n },\n function () {\n for (var i = 0, len = q.length; i < len; i++) { q[i].onCompleted(); }\n observer.onCompleted();\n }\n ));\n return refCountDisposable;\n }, source);\n };\n\n /**\n * Projects each element of an observable sequence into a window that is completed when either it's full or a given amount of time has elapsed.\n * @param {Number} timeSpan Maximum time length of a window.\n * @param {Number} count Maximum element count of a window.\n * @param {Scheduler} [scheduler] Scheduler to run windowing timers on. If not specified, the timeout scheduler is used.\n * @returns {Observable} An observable sequence of windows.\n */\n observableProto.windowWithTimeOrCount = observableProto.windowTimeOrCount = function (timeSpan, count, scheduler) {\n var source = this;\n isScheduler(scheduler) || (scheduler = defaultScheduler);\n return new AnonymousObservable(function (observer) {\n var timerD = new SerialDisposable(),\n groupDisposable = new CompositeDisposable(timerD),\n refCountDisposable = new RefCountDisposable(groupDisposable),\n n = 0,\n windowId = 0,\n s = new Subject();\n\n function createTimer(id) {\n var m = new SingleAssignmentDisposable();\n timerD.setDisposable(m);\n m.setDisposable(scheduler.scheduleFuture(null, timeSpan, function () {\n if (id !== windowId) { return; }\n n = 0;\n var newId = ++windowId;\n s.onCompleted();\n s = new Subject();\n observer.onNext(addRef(s, refCountDisposable));\n createTimer(newId);\n }));\n }\n\n observer.onNext(addRef(s, refCountDisposable));\n createTimer(0);\n\n groupDisposable.add(source.subscribe(\n function (x) {\n var newId = 0, newWindow = false;\n s.onNext(x);\n if (++n === count) {\n newWindow = true;\n n = 0;\n newId = ++windowId;\n s.onCompleted();\n s = new Subject();\n observer.onNext(addRef(s, refCountDisposable));\n }\n newWindow && createTimer(newId);\n },\n function (e) {\n s.onError(e);\n observer.onError(e);\n }, function () {\n s.onCompleted();\n observer.onCompleted();\n }\n ));\n return refCountDisposable;\n }, source);\n };\n\n function toArray(x) { return x.toArray(); }\n\n /**\n * Projects each element of an observable sequence into zero or more buffers which are produced based on timing information.\n * @param {Number} timeSpan Length of each buffer (specified as an integer denoting milliseconds).\n * @param {Mixed} [timeShiftOrScheduler] Interval between creation of consecutive buffers (specified as an integer denoting milliseconds), or an optional scheduler parameter. If not specified, the time shift corresponds to the timeSpan parameter, resulting in non-overlapping adjacent buffers.\n * @param {Scheduler} [scheduler] Scheduler to run buffer timers on. If not specified, the timeout scheduler is used.\n * @returns {Observable} An observable sequence of buffers.\n */\n observableProto.bufferWithTime = observableProto.bufferTime = function (timeSpan, timeShiftOrScheduler, scheduler) {\n return this.windowWithTime(timeSpan, timeShiftOrScheduler, scheduler).flatMap(toArray);\n };\n\n function toArray(x) { return x.toArray(); }\n\n /**\n * Projects each element of an observable sequence into a buffer that is completed when either it's full or a given amount of time has elapsed.\n * @param {Number} timeSpan Maximum time length of a buffer.\n * @param {Number} count Maximum element count of a buffer.\n * @param {Scheduler} [scheduler] Scheduler to run bufferin timers on. If not specified, the timeout scheduler is used.\n * @returns {Observable} An observable sequence of buffers.\n */\n observableProto.bufferWithTimeOrCount = observableProto.bufferTimeOrCount = function (timeSpan, count, scheduler) {\n return this.windowWithTimeOrCount(timeSpan, count, scheduler).flatMap(toArray);\n };\n\n var TimeIntervalObservable = (function (__super__) {\n inherits(TimeIntervalObservable, __super__);\n function TimeIntervalObservable(source, s) {\n this.source = source;\n this._s = s;\n __super__.call(this);\n }\n\n TimeIntervalObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new TimeIntervalObserver(o, this._s));\n };\n\n return TimeIntervalObservable;\n }(ObservableBase));\n\n var TimeIntervalObserver = (function (__super__) {\n inherits(TimeIntervalObserver, __super__);\n\n function TimeIntervalObserver(o, s) {\n this._o = o;\n this._s = s;\n this._l = s.now();\n __super__.call(this);\n }\n\n TimeIntervalObserver.prototype.next = function (x) {\n var now = this._s.now(), span = now - this._l;\n this._l = now;\n this._o.onNext({ value: x, interval: span });\n };\n TimeIntervalObserver.prototype.error = function (e) { this._o.onError(e); };\n TimeIntervalObserver.prototype.completed = function () { this._o.onCompleted(); };\n\n return TimeIntervalObserver;\n }(AbstractObserver));\n\n /**\n * Records the time interval between consecutive values in an observable sequence.\n *\n * @example\n * 1 - res = source.timeInterval();\n * 2 - res = source.timeInterval(Rx.Scheduler.timeout);\n *\n * @param [scheduler] Scheduler used to compute time intervals. If not specified, the timeout scheduler is used.\n * @returns {Observable} An observable sequence with time interval information on values.\n */\n observableProto.timeInterval = function (scheduler) {\n isScheduler(scheduler) || (scheduler = defaultScheduler);\n return new TimeIntervalObservable(this, scheduler);\n };\n\n var TimestampObservable = (function (__super__) {\n inherits(TimestampObservable, __super__);\n function TimestampObservable(source, s) {\n this.source = source;\n this._s = s;\n __super__.call(this);\n }\n\n TimestampObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new TimestampObserver(o, this._s));\n };\n\n return TimestampObservable;\n }(ObservableBase));\n\n var TimestampObserver = (function (__super__) {\n inherits(TimestampObserver, __super__);\n function TimestampObserver(o, s) {\n this._o = o;\n this._s = s;\n __super__.call(this);\n }\n\n TimestampObserver.prototype.next = function (x) {\n this._o.onNext({ value: x, timestamp: this._s.now() });\n };\n\n TimestampObserver.prototype.error = function (e) {\n this._o.onError(e);\n };\n\n TimestampObserver.prototype.completed = function () {\n this._o.onCompleted();\n };\n\n return TimestampObserver;\n }(AbstractObserver));\n\n /**\n * Records the timestamp for each value in an observable sequence.\n *\n * @example\n * 1 - res = source.timestamp(); // produces { value: x, timestamp: ts }\n * 2 - res = source.timestamp(Rx.Scheduler.default);\n *\n * @param {Scheduler} [scheduler] Scheduler used to compute timestamps. If not specified, the default scheduler is used.\n * @returns {Observable} An observable sequence with timestamp information on values.\n */\n observableProto.timestamp = function (scheduler) {\n isScheduler(scheduler) || (scheduler = defaultScheduler);\n return new TimestampObservable(this, scheduler);\n };\n\n var SampleObservable = (function(__super__) {\n inherits(SampleObservable, __super__);\n function SampleObservable(source, sampler) {\n this.source = source;\n this._sampler = sampler;\n __super__.call(this);\n }\n\n SampleObservable.prototype.subscribeCore = function (o) {\n var state = {\n o: o,\n atEnd: false,\n value: null,\n hasValue: false,\n sourceSubscription: new SingleAssignmentDisposable()\n };\n\n state.sourceSubscription.setDisposable(this.source.subscribe(new SampleSourceObserver(state)));\n return new BinaryDisposable(\n state.sourceSubscription,\n this._sampler.subscribe(new SamplerObserver(state))\n );\n };\n\n return SampleObservable;\n }(ObservableBase));\n\n var SamplerObserver = (function(__super__) {\n inherits(SamplerObserver, __super__);\n function SamplerObserver(s) {\n this._s = s;\n __super__.call(this);\n }\n\n SamplerObserver.prototype._handleMessage = function () {\n if (this._s.hasValue) {\n this._s.hasValue = false;\n this._s.o.onNext(this._s.value);\n }\n this._s.atEnd && this._s.o.onCompleted();\n };\n\n SamplerObserver.prototype.next = function () { this._handleMessage(); };\n SamplerObserver.prototype.error = function (e) { this._s.onError(e); };\n SamplerObserver.prototype.completed = function () { this._handleMessage(); };\n\n return SamplerObserver;\n }(AbstractObserver));\n\n var SampleSourceObserver = (function(__super__) {\n inherits(SampleSourceObserver, __super__);\n function SampleSourceObserver(s) {\n this._s = s;\n __super__.call(this);\n }\n\n SampleSourceObserver.prototype.next = function (x) {\n this._s.hasValue = true;\n this._s.value = x;\n };\n SampleSourceObserver.prototype.error = function (e) { this._s.o.onError(e); };\n SampleSourceObserver.prototype.completed = function () {\n this._s.atEnd = true;\n this._s.sourceSubscription.dispose();\n };\n\n return SampleSourceObserver;\n }(AbstractObserver));\n\n /**\n * Samples the observable sequence at each interval.\n *\n * @example\n * 1 - res = source.sample(sampleObservable); // Sampler tick sequence\n * 2 - res = source.sample(5000); // 5 seconds\n * 2 - res = source.sample(5000, Rx.Scheduler.timeout); // 5 seconds\n *\n * @param {Mixed} intervalOrSampler Interval at which to sample (specified as an integer denoting milliseconds) or Sampler Observable.\n * @param {Scheduler} [scheduler] Scheduler to run the sampling timer on. If not specified, the timeout scheduler is used.\n * @returns {Observable} Sampled observable sequence.\n */\n observableProto.sample = function (intervalOrSampler, scheduler) {\n isScheduler(scheduler) || (scheduler = defaultScheduler);\n return typeof intervalOrSampler === 'number' ?\n new SampleObservable(this, observableinterval(intervalOrSampler, scheduler)) :\n new SampleObservable(this, intervalOrSampler);\n };\n\n var TimeoutError = Rx.TimeoutError = function(message) {\n this.message = message || 'Timeout has occurred';\n this.name = 'TimeoutError';\n Error.call(this);\n };\n TimeoutError.prototype = Object.create(Error.prototype);\n\n function timeoutWithSelector(source, firstTimeout, timeoutDurationSelector, other) {\n if (isFunction(firstTimeout)) {\n other = timeoutDurationSelector;\n timeoutDurationSelector = firstTimeout;\n firstTimeout = observableNever();\n }\n Observable.isObservable(other) || (other = observableThrow(new TimeoutError()));\n return new AnonymousObservable(function (o) {\n var subscription = new SerialDisposable(),\n timer = new SerialDisposable(),\n original = new SingleAssignmentDisposable();\n\n subscription.setDisposable(original);\n\n var id = 0, switched = false;\n\n function setTimer(timeout) {\n var myId = id, d = new SingleAssignmentDisposable();\n\n function timerWins() {\n switched = (myId === id);\n return switched;\n }\n\n timer.setDisposable(d);\n d.setDisposable(timeout.subscribe(function () {\n timerWins() && subscription.setDisposable(other.subscribe(o));\n d.dispose();\n }, function (e) {\n timerWins() && o.onError(e);\n }, function () {\n timerWins() && subscription.setDisposable(other.subscribe(o));\n }));\n };\n\n setTimer(firstTimeout);\n\n function oWins() {\n var res = !switched;\n if (res) { id++; }\n return res;\n }\n\n original.setDisposable(source.subscribe(function (x) {\n if (oWins()) {\n o.onNext(x);\n var timeout = tryCatch(timeoutDurationSelector)(x);\n if (timeout === errorObj) { return o.onError(timeout.e); }\n setTimer(isPromise(timeout) ? observableFromPromise(timeout) : timeout);\n }\n }, function (e) {\n oWins() && o.onError(e);\n }, function () {\n oWins() && o.onCompleted();\n }));\n return new BinaryDisposable(subscription, timer);\n }, source);\n }\n\n function timeout(source, dueTime, other, scheduler) {\n if (isScheduler(other)) {\n scheduler = other;\n other = observableThrow(new TimeoutError());\n }\n if (other instanceof Error) { other = observableThrow(other); }\n isScheduler(scheduler) || (scheduler = defaultScheduler);\n Observable.isObservable(other) || (other = observableThrow(new TimeoutError()));\n return new AnonymousObservable(function (o) {\n var id = 0,\n original = new SingleAssignmentDisposable(),\n subscription = new SerialDisposable(),\n switched = false,\n timer = new SerialDisposable();\n\n subscription.setDisposable(original);\n\n function createTimer() {\n var myId = id;\n timer.setDisposable(scheduler.scheduleFuture(null, dueTime, function () {\n switched = id === myId;\n if (switched) {\n isPromise(other) && (other = observableFromPromise(other));\n subscription.setDisposable(other.subscribe(o));\n }\n }));\n }\n\n createTimer();\n\n original.setDisposable(source.subscribe(function (x) {\n if (!switched) {\n id++;\n o.onNext(x);\n createTimer();\n }\n }, function (e) {\n if (!switched) {\n id++;\n o.onError(e);\n }\n }, function () {\n if (!switched) {\n id++;\n o.onCompleted();\n }\n }));\n return new BinaryDisposable(subscription, timer);\n }, source);\n }\n\n observableProto.timeout = function () {\n var firstArg = arguments[0];\n if (firstArg instanceof Date || typeof firstArg === 'number') {\n return timeout(this, firstArg, arguments[1], arguments[2]);\n } else if (Observable.isObservable(firstArg) || isFunction(firstArg)) {\n return timeoutWithSelector(this, firstArg, arguments[1], arguments[2]);\n } else {\n throw new Error('Invalid arguments');\n }\n };\n\n var GenerateAbsoluteObservable = (function (__super__) {\n inherits(GenerateAbsoluteObservable, __super__);\n function GenerateAbsoluteObservable(state, cndFn, itrFn, resFn, timeFn, s) {\n this._state = state;\n this._cndFn = cndFn;\n this._itrFn = itrFn;\n this._resFn = resFn;\n this._timeFn = timeFn;\n this._s = s;\n __super__.call(this);\n }\n\n function scheduleRecursive(state, recurse) {\n state.hasResult && state.o.onNext(state.result);\n\n if (state.first) {\n state.first = false;\n } else {\n state.newState = tryCatch(state.self._itrFn)(state.newState);\n if (state.newState === errorObj) { return state.o.onError(state.newState.e); }\n }\n state.hasResult = tryCatch(state.self._cndFn)(state.newState);\n if (state.hasResult === errorObj) { return state.o.onError(state.hasResult.e); }\n if (state.hasResult) {\n state.result = tryCatch(state.self._resFn)(state.newState);\n if (state.result === errorObj) { return state.o.onError(state.result.e); }\n var time = tryCatch(state.self._timeFn)(state.newState);\n if (time === errorObj) { return state.o.onError(time.e); }\n recurse(state, time);\n } else {\n state.o.onCompleted();\n }\n }\n\n GenerateAbsoluteObservable.prototype.subscribeCore = function (o) {\n var state = {\n o: o,\n self: this,\n newState: this._state,\n first: true,\n hasResult: false\n };\n return this._s.scheduleRecursiveFuture(state, new Date(this._s.now()), scheduleRecursive);\n };\n\n return GenerateAbsoluteObservable;\n }(ObservableBase));\n\n /**\n * GenerateAbsolutes an observable sequence by iterating a state from an initial state until the condition fails.\n *\n * @example\n * res = source.generateWithAbsoluteTime(0,\n * function (x) { return return true; },\n * function (x) { return x + 1; },\n * function (x) { return x; },\n * function (x) { return new Date(); }\n * });\n *\n * @param {Mixed} initialState Initial state.\n * @param {Function} condition Condition to terminate generation (upon returning false).\n * @param {Function} iterate Iteration step function.\n * @param {Function} resultSelector Selector function for results produced in the sequence.\n * @param {Function} timeSelector Time selector function to control the speed of values being produced each iteration, returning Date values.\n * @param {Scheduler} [scheduler] Scheduler on which to run the generator loop. If not specified, the timeout scheduler is used.\n * @returns {Observable} The generated sequence.\n */\n Observable.generateWithAbsoluteTime = function (initialState, condition, iterate, resultSelector, timeSelector, scheduler) {\n isScheduler(scheduler) || (scheduler = defaultScheduler);\n return new GenerateAbsoluteObservable(initialState, condition, iterate, resultSelector, timeSelector, scheduler);\n };\n\n var GenerateRelativeObservable = (function (__super__) {\n inherits(GenerateRelativeObservable, __super__);\n function GenerateRelativeObservable(state, cndFn, itrFn, resFn, timeFn, s) {\n this._state = state;\n this._cndFn = cndFn;\n this._itrFn = itrFn;\n this._resFn = resFn;\n this._timeFn = timeFn;\n this._s = s;\n __super__.call(this);\n }\n\n function scheduleRecursive(state, recurse) {\n state.hasResult && state.o.onNext(state.result);\n\n if (state.first) {\n state.first = false;\n } else {\n state.newState = tryCatch(state.self._itrFn)(state.newState);\n if (state.newState === errorObj) { return state.o.onError(state.newState.e); }\n }\n\n state.hasResult = tryCatch(state.self._cndFn)(state.newState);\n if (state.hasResult === errorObj) { return state.o.onError(state.hasResult.e); }\n if (state.hasResult) {\n state.result = tryCatch(state.self._resFn)(state.newState);\n if (state.result === errorObj) { return state.o.onError(state.result.e); }\n var time = tryCatch(state.self._timeFn)(state.newState);\n if (time === errorObj) { return state.o.onError(time.e); }\n recurse(state, time);\n } else {\n state.o.onCompleted();\n }\n }\n\n GenerateRelativeObservable.prototype.subscribeCore = function (o) {\n var state = {\n o: o,\n self: this,\n newState: this._state,\n first: true,\n hasResult: false\n };\n return this._s.scheduleRecursiveFuture(state, 0, scheduleRecursive);\n };\n\n return GenerateRelativeObservable;\n }(ObservableBase));\n\n /**\n * Generates an observable sequence by iterating a state from an initial state until the condition fails.\n *\n * @example\n * res = source.generateWithRelativeTime(0,\n * function (x) { return return true; },\n * function (x) { return x + 1; },\n * function (x) { return x; },\n * function (x) { return 500; }\n * );\n *\n * @param {Mixed} initialState Initial state.\n * @param {Function} condition Condition to terminate generation (upon returning false).\n * @param {Function} iterate Iteration step function.\n * @param {Function} resultSelector Selector function for results produced in the sequence.\n * @param {Function} timeSelector Time selector function to control the speed of values being produced each iteration, returning integer values denoting milliseconds.\n * @param {Scheduler} [scheduler] Scheduler on which to run the generator loop. If not specified, the timeout scheduler is used.\n * @returns {Observable} The generated sequence.\n */\n Observable.generateWithRelativeTime = function (initialState, condition, iterate, resultSelector, timeSelector, scheduler) {\n isScheduler(scheduler) || (scheduler = defaultScheduler);\n return new GenerateRelativeObservable(initialState, condition, iterate, resultSelector, timeSelector, scheduler);\n };\n\n var DelaySubscription = (function(__super__) {\n inherits(DelaySubscription, __super__);\n function DelaySubscription(source, dt, s) {\n this.source = source;\n this._dt = dt;\n this._s = s;\n __super__.call(this);\n }\n\n DelaySubscription.prototype.subscribeCore = function (o) {\n var d = new SerialDisposable();\n\n d.setDisposable(this._s.scheduleFuture([this.source, o, d], this._dt, scheduleMethod));\n\n return d;\n };\n\n function scheduleMethod(s, state) {\n var source = state[0], o = state[1], d = state[2];\n d.setDisposable(source.subscribe(o));\n }\n\n return DelaySubscription;\n }(ObservableBase));\n\n /**\n * Time shifts the observable sequence by delaying the subscription with the specified relative time duration, using the specified scheduler to run timers.\n *\n * @example\n * 1 - res = source.delaySubscription(5000); // 5s\n * 2 - res = source.delaySubscription(5000, Rx.Scheduler.default); // 5 seconds\n *\n * @param {Number} dueTime Relative or absolute time shift of the subscription.\n * @param {Scheduler} [scheduler] Scheduler to run the subscription delay timer on. If not specified, the timeout scheduler is used.\n * @returns {Observable} Time-shifted sequence.\n */\n observableProto.delaySubscription = function (dueTime, scheduler) {\n isScheduler(scheduler) || (scheduler = defaultScheduler);\n return new DelaySubscription(this, dueTime, scheduler);\n };\n\n var SkipLastWithTimeObservable = (function (__super__) {\n inherits(SkipLastWithTimeObservable, __super__);\n function SkipLastWithTimeObservable(source, d, s) {\n this.source = source;\n this._d = d;\n this._s = s;\n __super__.call(this);\n }\n\n SkipLastWithTimeObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new SkipLastWithTimeObserver(o, this));\n };\n\n return SkipLastWithTimeObservable;\n }(ObservableBase));\n\n var SkipLastWithTimeObserver = (function (__super__) {\n inherits(SkipLastWithTimeObserver, __super__);\n\n function SkipLastWithTimeObserver(o, p) {\n this._o = o;\n this._s = p._s;\n this._d = p._d;\n this._q = [];\n __super__.call(this);\n }\n\n SkipLastWithTimeObserver.prototype.next = function (x) {\n var now = this._s.now();\n this._q.push({ interval: now, value: x });\n while (this._q.length > 0 && now - this._q[0].interval >= this._d) {\n this._o.onNext(this._q.shift().value);\n }\n };\n SkipLastWithTimeObserver.prototype.error = function (e) { this._o.onError(e); };\n SkipLastWithTimeObserver.prototype.completed = function () {\n var now = this._s.now();\n while (this._q.length > 0 && now - this._q[0].interval >= this._d) {\n this._o.onNext(this._q.shift().value);\n }\n this._o.onCompleted();\n };\n\n return SkipLastWithTimeObserver;\n }(AbstractObserver));\n\n /**\n * Skips elements for the specified duration from the end of the observable source sequence, using the specified scheduler to run timers.\n * @description\n * This operator accumulates a queue with a length enough to store elements received during the initial duration window.\n * As more elements are received, elements older than the specified duration are taken from the queue and produced on the\n * result sequence. This causes elements to be delayed with duration.\n * @param {Number} duration Duration for skipping elements from the end of the sequence.\n * @param {Scheduler} [scheduler] Scheduler to run the timer on. If not specified, defaults to Rx.Scheduler.timeout\n * @returns {Observable} An observable sequence with the elements skipped during the specified duration from the end of the source sequence.\n */\n observableProto.skipLastWithTime = function (duration, scheduler) {\n isScheduler(scheduler) || (scheduler = defaultScheduler);\n return new SkipLastWithTimeObservable(this, duration, scheduler);\n };\n\n var TakeLastWithTimeObservable = (function (__super__) {\n inherits(TakeLastWithTimeObservable, __super__);\n function TakeLastWithTimeObservable(source, d, s) {\n this.source = source;\n this._d = d;\n this._s = s;\n __super__.call(this);\n }\n\n TakeLastWithTimeObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new TakeLastWithTimeObserver(o, this._d, this._s));\n };\n\n return TakeLastWithTimeObservable;\n }(ObservableBase));\n\n var TakeLastWithTimeObserver = (function (__super__) {\n inherits(TakeLastWithTimeObserver, __super__);\n\n function TakeLastWithTimeObserver(o, d, s) {\n this._o = o;\n this._d = d;\n this._s = s;\n this._q = [];\n __super__.call(this);\n }\n\n TakeLastWithTimeObserver.prototype.next = function (x) {\n var now = this._s.now();\n this._q.push({ interval: now, value: x });\n while (this._q.length > 0 && now - this._q[0].interval >= this._d) {\n this._q.shift();\n }\n };\n TakeLastWithTimeObserver.prototype.error = function (e) { this._o.onError(e); };\n TakeLastWithTimeObserver.prototype.completed = function () {\n var now = this._s.now();\n while (this._q.length > 0) {\n var next = this._q.shift();\n if (now - next.interval <= this._d) { this._o.onNext(next.value); }\n }\n this._o.onCompleted();\n };\n\n return TakeLastWithTimeObserver;\n }(AbstractObserver));\n\n /**\n * Returns elements within the specified duration from the end of the observable source sequence, using the specified schedulers to run timers and to drain the collected elements.\n * @description\n * This operator accumulates a queue with a length enough to store elements received during the initial duration window.\n * As more elements are received, elements older than the specified duration are taken from the queue and produced on the\n * result sequence. This causes elements to be delayed with duration.\n * @param {Number} duration Duration for taking elements from the end of the sequence.\n * @param {Scheduler} [scheduler] Scheduler to run the timer on. If not specified, defaults to Rx.Scheduler.timeout.\n * @returns {Observable} An observable sequence with the elements taken during the specified duration from the end of the source sequence.\n */\n observableProto.takeLastWithTime = function (duration, scheduler) {\n isScheduler(scheduler) || (scheduler = defaultScheduler);\n return new TakeLastWithTimeObservable(this, duration, scheduler);\n };\n\n /**\n * Returns an array with the elements within the specified duration from the end of the observable source sequence, using the specified scheduler to run timers.\n * @description\n * This operator accumulates a queue with a length enough to store elements received during the initial duration window.\n * As more elements are received, elements older than the specified duration are taken from the queue and produced on the\n * result sequence. This causes elements to be delayed with duration.\n * @param {Number} duration Duration for taking elements from the end of the sequence.\n * @param {Scheduler} scheduler Scheduler to run the timer on. If not specified, defaults to Rx.Scheduler.timeout.\n * @returns {Observable} An observable sequence containing a single array with the elements taken during the specified duration from the end of the source sequence.\n */\n observableProto.takeLastBufferWithTime = function (duration, scheduler) {\n var source = this;\n isScheduler(scheduler) || (scheduler = defaultScheduler);\n return new AnonymousObservable(function (o) {\n var q = [];\n return source.subscribe(function (x) {\n var now = scheduler.now();\n q.push({ interval: now, value: x });\n while (q.length > 0 && now - q[0].interval >= duration) {\n q.shift();\n }\n }, function (e) { o.onError(e); }, function () {\n var now = scheduler.now(), res = [];\n while (q.length > 0) {\n var next = q.shift();\n now - next.interval <= duration && res.push(next.value);\n }\n o.onNext(res);\n o.onCompleted();\n });\n }, source);\n };\n\n var TakeWithTimeObservable = (function (__super__) {\n inherits(TakeWithTimeObservable, __super__);\n function TakeWithTimeObservable(source, d, s) {\n this.source = source;\n this._d = d;\n this._s = s;\n __super__.call(this);\n }\n\n function scheduleMethod(s, o) {\n o.onCompleted();\n }\n\n TakeWithTimeObservable.prototype.subscribeCore = function (o) {\n return new BinaryDisposable(\n this._s.scheduleFuture(o, this._d, scheduleMethod),\n this.source.subscribe(o)\n );\n };\n\n return TakeWithTimeObservable;\n }(ObservableBase));\n\n /**\n * Takes elements for the specified duration from the start of the observable source sequence, using the specified scheduler to run timers.\n *\n * @example\n * 1 - res = source.takeWithTime(5000, [optional scheduler]);\n * @description\n * This operator accumulates a queue with a length enough to store elements received during the initial duration window.\n * As more elements are received, elements older than the specified duration are taken from the queue and produced on the\n * result sequence. This causes elements to be delayed with duration.\n * @param {Number} duration Duration for taking elements from the start of the sequence.\n * @param {Scheduler} scheduler Scheduler to run the timer on. If not specified, defaults to Rx.Scheduler.timeout.\n * @returns {Observable} An observable sequence with the elements taken during the specified duration from the start of the source sequence.\n */\n observableProto.takeWithTime = function (duration, scheduler) {\n isScheduler(scheduler) || (scheduler = defaultScheduler);\n return new TakeWithTimeObservable(this, duration, scheduler);\n };\n\n var SkipWithTimeObservable = (function (__super__) {\n inherits(SkipWithTimeObservable, __super__);\n function SkipWithTimeObservable(source, d, s) {\n this.source = source;\n this._d = d;\n this._s = s;\n this._open = false;\n __super__.call(this);\n }\n\n function scheduleMethod(s, self) {\n self._open = true;\n }\n\n SkipWithTimeObservable.prototype.subscribeCore = function (o) {\n return new BinaryDisposable(\n this._s.scheduleFuture(this, this._d, scheduleMethod),\n this.source.subscribe(new SkipWithTimeObserver(o, this))\n );\n };\n\n return SkipWithTimeObservable;\n }(ObservableBase));\n\n var SkipWithTimeObserver = (function (__super__) {\n inherits(SkipWithTimeObserver, __super__);\n\n function SkipWithTimeObserver(o, p) {\n this._o = o;\n this._p = p;\n __super__.call(this);\n }\n\n SkipWithTimeObserver.prototype.next = function (x) { this._p._open && this._o.onNext(x); };\n SkipWithTimeObserver.prototype.error = function (e) { this._o.onError(e); };\n SkipWithTimeObserver.prototype.completed = function () { this._o.onCompleted(); };\n\n return SkipWithTimeObserver;\n }(AbstractObserver));\n\n /**\n * Skips elements for the specified duration from the start of the observable source sequence, using the specified scheduler to run timers.\n * @description\n * Specifying a zero value for duration doesn't guarantee no elements will be dropped from the start of the source sequence.\n * This is a side-effect of the asynchrony introduced by the scheduler, where the action that causes callbacks from the source sequence to be forwarded\n * may not execute immediately, despite the zero due time.\n *\n * Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the duration.\n * @param {Number} duration Duration for skipping elements from the start of the sequence.\n * @param {Scheduler} scheduler Scheduler to run the timer on. If not specified, defaults to Rx.Scheduler.timeout.\n * @returns {Observable} An observable sequence with the elements skipped during the specified duration from the start of the source sequence.\n */\n observableProto.skipWithTime = function (duration, scheduler) {\n isScheduler(scheduler) || (scheduler = defaultScheduler);\n return new SkipWithTimeObservable(this, duration, scheduler);\n };\n\n var SkipUntilWithTimeObservable = (function (__super__) {\n inherits(SkipUntilWithTimeObservable, __super__);\n function SkipUntilWithTimeObservable(source, startTime, scheduler) {\n this.source = source;\n this._st = startTime;\n this._s = scheduler;\n __super__.call(this);\n }\n\n function scheduleMethod(s, state) {\n state._open = true;\n }\n\n SkipUntilWithTimeObservable.prototype.subscribeCore = function (o) {\n this._open = false;\n return new BinaryDisposable(\n this._s.scheduleFuture(this, this._st, scheduleMethod),\n this.source.subscribe(new SkipUntilWithTimeObserver(o, this))\n );\n };\n\n return SkipUntilWithTimeObservable;\n }(ObservableBase));\n\n var SkipUntilWithTimeObserver = (function (__super__) {\n inherits(SkipUntilWithTimeObserver, __super__);\n\n function SkipUntilWithTimeObserver(o, p) {\n this._o = o;\n this._p = p;\n __super__.call(this);\n }\n\n SkipUntilWithTimeObserver.prototype.next = function (x) { this._p._open && this._o.onNext(x); };\n SkipUntilWithTimeObserver.prototype.error = function (e) { this._o.onError(e); };\n SkipUntilWithTimeObserver.prototype.completed = function () { this._o.onCompleted(); };\n\n return SkipUntilWithTimeObserver;\n }(AbstractObserver));\n\n\n /**\n * Skips elements from the observable source sequence until the specified start time, using the specified scheduler to run timers.\n * Errors produced by the source sequence are always forwarded to the result sequence, even if the error occurs before the start time.\n *\n * @examples\n * 1 - res = source.skipUntilWithTime(new Date(), [scheduler]);\n * 2 - res = source.skipUntilWithTime(5000, [scheduler]);\n * @param {Date|Number} startTime Time to start taking elements from the source sequence. If this value is less than or equal to Date(), no elements will be skipped.\n * @param {Scheduler} [scheduler] Scheduler to run the timer on. If not specified, defaults to Rx.Scheduler.timeout.\n * @returns {Observable} An observable sequence with the elements skipped until the specified start time.\n */\n observableProto.skipUntilWithTime = function (startTime, scheduler) {\n isScheduler(scheduler) || (scheduler = defaultScheduler);\n return new SkipUntilWithTimeObservable(this, startTime, scheduler);\n };\n\n /**\n * Takes elements for the specified duration until the specified end time, using the specified scheduler to run timers.\n * @param {Number | Date} endTime Time to stop taking elements from the source sequence. If this value is less than or equal to new Date(), the result stream will complete immediately.\n * @param {Scheduler} [scheduler] Scheduler to run the timer on.\n * @returns {Observable} An observable sequence with the elements taken until the specified end time.\n */\n observableProto.takeUntilWithTime = function (endTime, scheduler) {\n isScheduler(scheduler) || (scheduler = defaultScheduler);\n var source = this;\n return new AnonymousObservable(function (o) {\n return new BinaryDisposable(\n scheduler.scheduleFuture(o, endTime, function (_, o) { o.onCompleted(); }),\n source.subscribe(o));\n }, source);\n };\n\n /**\n * Returns an Observable that emits only the first item emitted by the source Observable during sequential time windows of a specified duration.\n * @param {Number} windowDuration time to wait before emitting another item after emitting the last item\n * @param {Scheduler} [scheduler] the Scheduler to use internally to manage the timers that handle timeout for each item. If not provided, defaults to Scheduler.timeout.\n * @returns {Observable} An Observable that performs the throttle operation.\n */\n observableProto.throttle = function (windowDuration, scheduler) {\n isScheduler(scheduler) || (scheduler = defaultScheduler);\n var duration = +windowDuration || 0;\n if (duration <= 0) { throw new RangeError('windowDuration cannot be less or equal zero.'); }\n var source = this;\n return new AnonymousObservable(function (o) {\n var lastOnNext = 0;\n return source.subscribe(\n function (x) {\n var now = scheduler.now();\n if (lastOnNext === 0 || now - lastOnNext >= duration) {\n lastOnNext = now;\n o.onNext(x);\n }\n },function (e) { o.onError(e); }, function () { o.onCompleted(); }\n );\n }, source);\n };\n\n return Rx;\n}));\n","// Copyright (c) Microsoft, All rights reserved. See License.txt in the project root for license information.\n\n;(function (factory) {\n var objectTypes = {\n 'function': true,\n 'object': true\n };\n\n function checkGlobal(value) {\n return (value && value.Object === Object) ? value : null;\n }\n\n var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType) ? exports : null;\n var freeModule = (objectTypes[typeof module] && module && !module.nodeType) ? module : null;\n var freeGlobal = checkGlobal(freeExports && freeModule && typeof global === 'object' && global);\n var freeSelf = checkGlobal(objectTypes[typeof self] && self);\n var freeWindow = checkGlobal(objectTypes[typeof window] && window);\n var moduleExports = (freeModule && freeModule.exports === freeExports) ? freeExports : null;\n var thisGlobal = checkGlobal(objectTypes[typeof this] && this);\n var root = freeGlobal || ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) || freeSelf || thisGlobal || Function('return this')();\n\n // Because of build optimizers\n if (typeof define === 'function' && define.amd) {\n define(['./rx'], function (Rx, exports) {\n return factory(root, exports, Rx);\n });\n } else if (typeof module === 'object' && module && module.exports === freeExports) {\n module.exports = factory(root, module.exports, require('./rx'));\n } else {\n root.Rx = factory(root, {}, root.Rx);\n }\n}.call(this, function (root, exp, Rx, undefined) {\n\n // Aliases\n var Scheduler = Rx.Scheduler,\n ScheduledItem = Rx.internals.ScheduledItem,\n SchedulePeriodicRecursive = Rx.internals.SchedulePeriodicRecursive,\n PriorityQueue = Rx.internals.PriorityQueue,\n inherits = Rx.internals.inherits,\n defaultSubComparer = Rx.helpers.defaultSubComparer,\n notImplemented = Rx.helpers.notImplemented;\n\n /** Provides a set of extension methods for virtual time scheduling. */\n var VirtualTimeScheduler = Rx.VirtualTimeScheduler = (function (__super__) {\n inherits(VirtualTimeScheduler, __super__);\n\n /**\n * Creates a new virtual time scheduler with the specified initial clock value and absolute time comparer.\n *\n * @constructor\n * @param {Number} initialClock Initial value for the clock.\n * @param {Function} comparer Comparer to determine causality of events based on absolute time.\n */\n function VirtualTimeScheduler(initialClock, comparer) {\n this.clock = initialClock;\n this.comparer = comparer;\n this.isEnabled = false;\n this.queue = new PriorityQueue(1024);\n __super__.call(this);\n }\n\n var VirtualTimeSchedulerPrototype = VirtualTimeScheduler.prototype;\n\n VirtualTimeSchedulerPrototype.now = function () {\n return this.toAbsoluteTime(this.clock);\n };\n\n VirtualTimeSchedulerPrototype.schedule = function (state, action) {\n return this.scheduleAbsolute(state, this.clock, action);\n };\n\n VirtualTimeSchedulerPrototype.scheduleFuture = function (state, dueTime, action) {\n var dt = dueTime instanceof Date ?\n this.toRelativeTime(dueTime - this.now()) :\n this.toRelativeTime(dueTime);\n\n return this.scheduleRelative(state, dt, action);\n };\n\n /**\n * Adds a relative time value to an absolute time value.\n * @param {Number} absolute Absolute virtual time value.\n * @param {Number} relative Relative virtual time value to add.\n * @return {Number} Resulting absolute virtual time sum value.\n */\n VirtualTimeSchedulerPrototype.add = notImplemented;\n\n /**\n * Converts an absolute time to a number\n * @param {Any} The absolute time.\n * @returns {Number} The absolute time in ms\n */\n VirtualTimeSchedulerPrototype.toAbsoluteTime = notImplemented;\n\n /**\n * Converts the TimeSpan value to a relative virtual time value.\n * @param {Number} timeSpan TimeSpan value to convert.\n * @return {Number} Corresponding relative virtual time value.\n */\n VirtualTimeSchedulerPrototype.toRelativeTime = notImplemented;\n\n /**\n * Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. The periodic task will be emulated using recursive scheduling.\n * @param {Mixed} state Initial state passed to the action upon the first iteration.\n * @param {Number} period Period for running the work periodically.\n * @param {Function} action Action to be executed, potentially updating the state.\n * @returns {Disposable} The disposable object used to cancel the scheduled recurring action (best effort).\n */\n VirtualTimeSchedulerPrototype.schedulePeriodic = function (state, period, action) {\n var s = new SchedulePeriodicRecursive(this, state, period, action);\n return s.start();\n };\n\n /**\n * Schedules an action to be executed after dueTime.\n * @param {Mixed} state State passed to the action to be executed.\n * @param {Number} dueTime Relative time after which to execute the action.\n * @param {Function} action Action to be executed.\n * @returns {Disposable} The disposable object used to cancel the scheduled action (best effort).\n */\n VirtualTimeSchedulerPrototype.scheduleRelative = function (state, dueTime, action) {\n var runAt = this.add(this.clock, dueTime);\n return this.scheduleAbsolute(state, runAt, action);\n };\n\n /**\n * Starts the virtual time scheduler.\n */\n VirtualTimeSchedulerPrototype.start = function () {\n if (!this.isEnabled) {\n this.isEnabled = true;\n do {\n var next = this.getNext();\n if (next !== null) {\n this.comparer(next.dueTime, this.clock) > 0 && (this.clock = next.dueTime);\n next.invoke();\n } else {\n this.isEnabled = false;\n }\n } while (this.isEnabled);\n }\n };\n\n /**\n * Stops the virtual time scheduler.\n */\n VirtualTimeSchedulerPrototype.stop = function () {\n this.isEnabled = false;\n };\n\n /**\n * Advances the scheduler's clock to the specified time, running all work till that point.\n * @param {Number} time Absolute time to advance the scheduler's clock to.\n */\n VirtualTimeSchedulerPrototype.advanceTo = function (time) {\n var dueToClock = this.comparer(this.clock, time);\n if (this.comparer(this.clock, time) > 0) { throw new ArgumentOutOfRangeError(); }\n if (dueToClock === 0) { return; }\n if (!this.isEnabled) {\n this.isEnabled = true;\n do {\n var next = this.getNext();\n if (next !== null && this.comparer(next.dueTime, time) <= 0) {\n this.comparer(next.dueTime, this.clock) > 0 && (this.clock = next.dueTime);\n next.invoke();\n } else {\n this.isEnabled = false;\n }\n } while (this.isEnabled);\n this.clock = time;\n }\n };\n\n /**\n * Advances the scheduler's clock by the specified relative time, running all work scheduled for that timespan.\n * @param {Number} time Relative time to advance the scheduler's clock by.\n */\n VirtualTimeSchedulerPrototype.advanceBy = function (time) {\n var dt = this.add(this.clock, time),\n dueToClock = this.comparer(this.clock, dt);\n if (dueToClock > 0) { throw new ArgumentOutOfRangeError(); }\n if (dueToClock === 0) { return; }\n\n this.advanceTo(dt);\n };\n\n /**\n * Advances the scheduler's clock by the specified relative time.\n * @param {Number} time Relative time to advance the scheduler's clock by.\n */\n VirtualTimeSchedulerPrototype.sleep = function (time) {\n var dt = this.add(this.clock, time);\n if (this.comparer(this.clock, dt) >= 0) { throw new ArgumentOutOfRangeError(); }\n\n this.clock = dt;\n };\n\n /**\n * Gets the next scheduled item to be executed.\n * @returns {ScheduledItem} The next scheduled item.\n */\n VirtualTimeSchedulerPrototype.getNext = function () {\n while (this.queue.length > 0) {\n var next = this.queue.peek();\n if (next.isCancelled()) {\n this.queue.dequeue();\n } else {\n return next;\n }\n }\n return null;\n };\n\n /**\n * Schedules an action to be executed at dueTime.\n * @param {Mixed} state State passed to the action to be executed.\n * @param {Number} dueTime Absolute time at which to execute the action.\n * @param {Function} action Action to be executed.\n * @returns {Disposable} The disposable object used to cancel the scheduled action (best effort).\n */\n VirtualTimeSchedulerPrototype.scheduleAbsolute = function (state, dueTime, action) {\n var self = this;\n\n function run(scheduler, state1) {\n self.queue.remove(si);\n return action(scheduler, state1);\n }\n\n var si = new ScheduledItem(this, state, run, dueTime, this.comparer);\n this.queue.enqueue(si);\n\n return si.disposable;\n };\n\n return VirtualTimeScheduler;\n }(Scheduler));\n\n /** Provides a virtual time scheduler that uses Date for absolute time and number for relative time. */\n Rx.HistoricalScheduler = (function (__super__) {\n inherits(HistoricalScheduler, __super__);\n\n /**\n * Creates a new historical scheduler with the specified initial clock value.\n * @constructor\n * @param {Number} initialClock Initial value for the clock.\n * @param {Function} comparer Comparer to determine causality of events based on absolute time.\n */\n function HistoricalScheduler(initialClock, comparer) {\n var clock = initialClock == null ? 0 : initialClock;\n var cmp = comparer || defaultSubComparer;\n __super__.call(this, clock, cmp);\n }\n\n var HistoricalSchedulerProto = HistoricalScheduler.prototype;\n\n /**\n * Adds a relative time value to an absolute time value.\n * @param {Number} absolute Absolute virtual time value.\n * @param {Number} relative Relative virtual time value to add.\n * @return {Number} Resulting absolute virtual time sum value.\n */\n HistoricalSchedulerProto.add = function (absolute, relative) {\n return absolute + relative;\n };\n\n HistoricalSchedulerProto.toAbsoluteTime = function (absolute) {\n return new Date(absolute).getTime();\n };\n\n /**\n * Converts the TimeSpan value to a relative virtual time value.\n * @memberOf HistoricalScheduler\n * @param {Number} timeSpan TimeSpan value to convert.\n * @return {Number} Corresponding relative virtual time value.\n */\n HistoricalSchedulerProto.toRelativeTime = function (timeSpan) {\n return timeSpan;\n };\n\n return HistoricalScheduler;\n }(Rx.VirtualTimeScheduler));\n\n return Rx;\n}));\n","var Rx = require('./dist/rx');\nrequire('./dist/rx.aggregates');\nrequire('./dist/rx.async');\nrequire('./dist/rx.backpressure');\nrequire('./dist/rx.binding');\nrequire('./dist/rx.coincidence');\nrequire('./dist/rx.experimental');\nrequire('./dist/rx.joinpatterns');\nrequire('./dist/rx.sorting');\nrequire('./dist/rx.virtualtime');\nrequire('./dist/rx.testing');\nrequire('./dist/rx.time');\n\nmodule.exports = Rx;\n","'use strict';\n\nimport * as vscode from 'vscode';\nimport { CodeSnippetInterface } from './codeSnippetInterface';\nimport { Misc } from './misc';\n\n\nexport class DefaultCodeSnippet implements CodeSnippetInterface\n{\n private static _instance:DefaultCodeSnippet;\n\n private constructor()\n { }\n\n public static get instance():DefaultCodeSnippet\n {\n if (!this._instance){\n this._instance = new DefaultCodeSnippet();\n }\n \n return this._instance;\n }\n\n public async createCodeSnippet(languageId: string, extentiponPath:string, webview: vscode.Webview): Promise\n {\n return this.extractSnippet(languageId, extentiponPath,webview);\n }\n\n private async extractSnippet(languageId: string, extentiponPath:string, webview: vscode.Webview): Promise\n {\n let editor = vscode.window.activeTextEditor;\n let text = editor?.document.getText();\n return this.previewSnippet(languageId, extentiponPath, text||\"\",webview);\n }\n\n private async errorSnippet(error: string, webview: vscode.Webview): Promise\n {\n return Misc.getFormattedHtml(\"\",error,webview);\n }\n\n private async previewSnippet(languageId: string, extentiponPath:string, payLoad: string, webview: vscode.Webview): Promise\n {\n return Misc.getFormattedHtml(\n ``\n ,`${payLoad}`,\n webview);\n }\n}\n","'use strict';\n\nimport * as vscode from 'vscode';\nimport * as fs from 'fs';\nimport * as Path from 'path';\nimport { workspace, window, commands, ExtensionContext } from 'vscode';\nimport { CodeSnippetInterface } from './codeSnippetInterface';\nimport { Misc } from './misc';\n\n\ntype StyleName = \"dark\" | \"forest\" | \"neutral\";\nnamespace StyleName{\n export const dark = \"dark\";\n export const forest = \"forest\";\n export const neutral = \"neutral\";\n}\n\nconst backgroundColorDefault = \"#fafaf6\";\n\nclass ConfigMermaid\n{\n public fixedStyle: StyleName = StyleName.forest;\n public fixedBackgroundColor: string = backgroundColorDefault;\n}\n\n\nexport class MermaidCodeSnippet implements CodeSnippetInterface\n{\n private static _instance:MermaidCodeSnippet;\n\n private _configMermaid: ConfigMermaid;\n\n private constructor()\n { \n this._configMermaid = new ConfigMermaid();\n\n // defaults\n this._configMermaid.fixedStyle = StyleName.forest;\n this._configMermaid.fixedBackgroundColor = backgroundColorDefault;\n\n var config = vscode.workspace.getConfiguration('previewSeqDiag');\n if(!!config && !!config.mermaid)\n {\n // fixedStyle\n switch(config.mermaid.fixedStyle)\n {\n case StyleName.dark:\n case StyleName.forest:\n case StyleName.neutral:\n this._configMermaid.fixedStyle = config.mscgen.fixedNamedStyle;\n break;\n\n default:\n break;\n }\n\n // fixedBackgroundColor\n if(config.mermaid.fixedBackgroundColor !== null){\n this._configMermaid.fixedBackgroundColor = config.mermaid.fixedBackgroundColor;\n }\n }\n }\n\n public static get instance():MermaidCodeSnippet\n {\n if (!this._instance){\n this._instance = new MermaidCodeSnippet();\n }\n \n return this._instance;\n }\n \n public async createCodeSnippet(languageId: string, extentiponPath:string, webview: vscode.Webview): Promise\n {\n return this.extractSnippet(languageId, extentiponPath, webview);\n }\n\n private async extractSnippet(languageId: string, extentiponPath:string, webview: vscode.Webview): Promise\n {\n let editor = vscode.window.activeTextEditor;\n let text = editor?.document.getText() || \"\";\n\n try {\n text = text.replace(/%%[ \\t]+import[ \\t]?:[ \\t]?(.+)/g, (match, subsequenceFile) => {\n\n if(!editor){\n return \"\";\n }\n\n let dirname = editor.document.uri.fsPath\n .toString()\n .split(Path.sep);\n\n dirname.pop();\n\n const fileName = dirname.join(Path.sep) + Path.sep + subsequenceFile.trim();\n const importSequence = fs\n .readFileSync(fileName, 'utf8')\n .replace(/sequenceDiagram/g, '');\n return importSequence;\n });\n }\n catch (err) {\n console.error(err);\n }\n\n return this.previewSnippet(languageId, extentiponPath, text, webview);\n }\n\n private async errorSnippet(error: string, webview: vscode.Webview): Promise\n {\n return Misc.getFormattedHtml(\"\",error, webview);\n }\n\n private async previewSnippet(languageId: string, extentiponPath:string, payLoad: string, webview: vscode.Webview): Promise\n {\n var jsPath = vscode.Uri.file(Path.join(extentiponPath, 'dist','mermaid', 'mermaid.min.js'));\n const jsSrc = webview.asWebviewUri(jsPath);\n return Misc.getFormattedHtml(\n `\n `,\n `
\n
${payLoad}
\n \n
`,\n webview);\n }\n}\n","'use strict';\n\nimport * as vscode from 'vscode';\nimport * as Path from 'path';\n\nexport class Misc\n{\n public static previewUri = vscode.Uri.parse('previewSeqDiag://authority/previewSeqDiag');\n\n public static getFormattedHtml(head: string, body: string, webview: vscode.Webview): string\n {\n var fileName = vscode.window.activeTextEditor?.document.fileName || \"PreviewSeqDiagImage\";\n fileName = fileName.substring(fileName.lastIndexOf(\"\\\\\")+1).substring(fileName.lastIndexOf(\"/\")+1);\n\n return ``\n + ``\n + head\n + ``\n + ``\n + `
\n PNG\n PNG*\n JPEG\n SVG\n Clipboard\n
`\n + ``\n + body\n + ``;\n }\n}\n","'use strict';\n\nimport * as vscode from 'vscode';\nimport { workspace, window, commands, ExtensionContext } from 'vscode';\nimport { CodeSnippetInterface } from './codeSnippetInterface';\nimport { Misc } from './misc';\nimport * as Path from 'path';\n\n\ntype StyleName = \"classic\" | \"cygne\" | \"fountainpen\" | \"lazy\" | \"pegasse\";\nnamespace StyleName{\n export const classic = \"classic\";\n export const cygne = \"cygne\";\n export const fountainpen = \"fountainpen\";\n export const lazy = \"lazy\";\n export const pegasse = \"pegasse\";\n}\n\ntype Alignment = \"fixed\" | \"stretch\";\nnamespace Alignment{\n export const fixed = \"fixed\";\n export const stretch = \"stretch\";\n}\n\nclass ConfigMscgen\n{\n public fixedNamedStyle: StyleName = StyleName.classic;\n public horizontalAlignment: Alignment = Alignment.stretch;\n}\n\n\nexport class MscgenCodeSnippet implements CodeSnippetInterface\n{\n private static _instance:MscgenCodeSnippet;\n\n private _configMscgen: ConfigMscgen;\n\n private constructor()\n {\n this._configMscgen = new ConfigMscgen();\n\n // defaults\n this._configMscgen.fixedNamedStyle = StyleName.cygne;\n this._configMscgen.horizontalAlignment = Alignment.stretch;\n\n var config = vscode.workspace.getConfiguration('previewSeqDiag');\n if(!!config && !!config.mscgen)\n {\n // fixedNamedStyle\n switch(config.mscgen.fixedNamedStyle)\n {\n case StyleName.classic:\n case StyleName.cygne:\n case StyleName.fountainpen:\n case StyleName.lazy:\n case StyleName.pegasse:\n this._configMscgen.fixedNamedStyle = config.mscgen.fixedNamedStyle;\n break;\n\n default:\n break;\n }\n\n // horizontalAlignment\n switch(config.mscgen.horizontalAlignment)\n {\n case Alignment.fixed:\n this._configMscgen.horizontalAlignment = Alignment.fixed;\n break;\n\n default:\n break;\n }\n }\n }\n\n public static get instance():MscgenCodeSnippet\n {\n if (!this._instance){\n this._instance = new MscgenCodeSnippet();\n }\n \n return this._instance;\n }\n \n public async createCodeSnippet(languageId: string, extentiponPath:string, webview: vscode.Webview): Promise\n {\n return this.extractSnippet(languageId, extentiponPath, webview);\n }\n\n private async extractSnippet(languageId: string, extentiponPath:string, webview: vscode.Webview): Promise\n {\n let editor = vscode.window.activeTextEditor;\n let text = editor?.document.getText() || \"\";\n return this.previewSnippet(languageId,extentiponPath, text, webview);\n }\n\n private async errorSnippet(error: string, webview: vscode.Webview): Promise\n {\n return Misc.getFormattedHtml(\"\",error, webview);\n }\n\n private async previewSnippet(languageId: string, extentiponPath:string, payLoad: string, webview: vscode.Webview): Promise\n {\n var jsPath = vscode.Uri.file(Path.join(extentiponPath, 'dist','mscgenjs-inpage', 'mscgen-inpage.js'));\n const jsSrc = webview.asWebviewUri(jsPath);\n return Misc.getFormattedHtml(\n `\n `\n + ((this._configMscgen.horizontalAlignment === Alignment.stretch) ? `` : ``)\n ,\n `
\n ${payLoad}\n \n \n
\n `,\n webview);\n }\n}\n","'use strict';\n\nimport * as vscode from 'vscode';\nimport { Misc } from './misc';\nimport { CodeSnippetInterface } from './codeSnippetInterface';\nimport { DefaultCodeSnippet } from './defaultCodeSnippet';\nimport { MscgenCodeSnippet } from './mscgenCodeSnippet';\nimport { MermaidCodeSnippet } from './mermaidCodeSnippet';\n\nconst suppotablelanguageId: string[] = [\"mermaid\",\"mmd\",\"mscgen\",\"msgenny\",\"xu\"];\n\nexport class PreviewSeqDiagDocumentContentProvider implements vscode.TextDocumentContentProvider\n{\n latestSnippetResultBuffer: string = \"\";\n webViewPanel: vscode.WebviewPanel | null = null;\n extentionPath: string = \"\";\n \n private _currentSnippet : CodeSnippetInterface = DefaultCodeSnippet.instance;\n\n // private _onDidChange: vscode.EventEmitter = new vscode.EventEmitter();\n\t// readonly onDidChange: vscode.Event = this._onDidChange.event;\n\n public setCurrentWebViewPanel(panel: vscode.WebviewPanel) {\n this.webViewPanel = panel;\n }\n\n public getExtensionPath(path: string) {\n this.extentionPath = path;\n }\n\n public update(uri: vscode.Uri) {\n if(vscode.window.activeTextEditor) {\n if(suppotablelanguageId.indexOf(vscode.window.activeTextEditor.document.languageId) > -1) {\n // this._onDidChange.fire(uri);\n this.refresh();\n }\n }\n }\n\n public provideTextDocumentContent(uri: vscode.Uri, token: vscode.CancellationToken): vscode.ProviderResult {\n return this.latestSnippetResultBuffer;\n }\n\n private refresh() {\n let editor = vscode.window.activeTextEditor;\n\n if(!editor){\n return this.latestSnippetResultBuffer;\n }\n\n switch (editor.document.languageId) {\n case \"mermaid\":\n case \"mmd\":\n this._currentSnippet = MermaidCodeSnippet.instance;\n break;\n\n case \"mscgen\":\n case \"msgenny\":\n case \"xu\":\n this._currentSnippet = MscgenCodeSnippet.instance;\n break;\n\n default:\n this._currentSnippet = DefaultCodeSnippet.instance;\n break;\n }\n\n if(this.webViewPanel && this.webViewPanel.webview){\n this._currentSnippet\n .createCodeSnippet(editor.document.languageId, this.extentionPath, this.webViewPanel.webview)\n .then(result=>{\n this.latestSnippetResultBuffer = result;\n if(this.webViewPanel && this.webViewPanel.webview){\n this.webViewPanel.webview.html = result;\n }\n })\n .catch();\n }\n }\n}\n","module.exports = require(\"vscode\");","module.exports = require(\"events\");","module.exports = require(\"fs\");","module.exports = require(\"path\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","'use strict';\n\nimport * as vscode from 'vscode';\nimport { workspace, window, commands, ExtensionContext } from 'vscode';\nimport * as path from 'path';\nimport * as Rx from 'rx';\nimport { EventEmitter } from 'events';\nimport { Misc } from './misc';\nimport { PreviewSeqDiagDocumentContentProvider } from './previewSeqDiagDocumentContentProvider';\n\nexport function activate(context: vscode.ExtensionContext) {\n\n\tconst provider = new PreviewSeqDiagDocumentContentProvider();\n\n\tlet showPreview = vscode.commands.registerCommand('previewSeqDiag.showPreview', () => {\n\t\tconst panel = vscode.window.createWebviewPanel(\n\t\t\t'previewSeqDiag',\n\t\t\t'Preview Sequence Diagrams',\n\t\t\tvscode.ViewColumn.Two,\n\t\t\t{\n\t\t\t\tenableScripts: true,\n\t\t\t\tlocalResourceRoots: [\n\t\t\t\t\tvscode.Uri.file(path.join(context.extensionPath, 'dist/mermaid')),\n\t\t\t\t\tvscode.Uri.file(path.join(context.extensionPath, 'dist/mscgenjs-inpage')),\n\t\t\t\t]\n\t\t\t}\n\t\t);\n\t\tprovider.getExtensionPath(context.extensionPath);\n\t\tprovider.setCurrentWebViewPanel(panel);\n\t\tprovider.update(Misc.previewUri);\n\t});\n\n\tcontext.subscriptions.push(showPreview);\n\n\tconst emitter = new EventEmitter();\n\tconst _ = Rx.Observable\n\t\t.fromEvent(emitter, 'update')\n\t\t.debounce(500 /* ms */)\n\t\t.subscribe(\n\t\t\t(_) => {\n\t\t\t\tprovider.update(Misc.previewUri);\n\t\t\t}\n\t\t);\n\t\n\twindow.onDidChangeActiveTextEditor(\n\t\t(e) => {\n\t\t\tif (!!e && !!e.document && (e === window.activeTextEditor)) {\n\t\t\t\tprovider.update(Misc.previewUri);\n\t\t\t}\n\t\t}\n\t);\n\n\tworkspace.onDidChangeTextDocument(\n\t\t(e) => {\n\t\t\tif (e.document === vscode.window.activeTextEditor?.document) {\n\t\t\t\temitter.emit('update', e);\n\t\t\t}\n\t\t}\n\t);\n\n\tcontext.subscriptions.push(\n\t\tvscode.workspace.registerTextDocumentContentProvider(Misc.previewUri.scheme, provider)\n\t);\n}\n\n// this method is called when your extension is deactivated\nexport function deactivate() {}\n"],"names":["factory","objectTypes","checkGlobal","value","Object","freeExports","exports","nodeType","freeModule","module","freeGlobal","global","freeSelf","self","freeWindow","window","thisGlobal","this","root","Function","Rx","call","exp","undefined","Observable","observableProto","prototype","BinaryDisposable","AnonymousObservable","AbstractObserver","internals","disposableEmpty","Disposable","empty","helpers","defaultComparer","identity","defaultSubComparer","isFunction","isPromise","isArrayLike","isIterable","inherits","observableFromPromise","fromPromise","observableFrom","from","bindCallback","EmptyError","ObservableBase","ArgumentOutOfRangeError","errorObj","e","tryCatch","fn","TypeError","tryCatchTarget","apply","arguments","ExtremaByObservable","__super__","source","k","c","_k","_c","subscribeCore","o","subscribe","ExtremaByObserver","_o","_v","_hv","_l","next","x","key","onError","comparison","push","error","completed","onNext","onCompleted","firstOnly","length","ReduceObservable","accumulator","hasSeed","seed","observer","ReduceObserver","parent","_p","_fn","_hs","_s","_ha","_a","_i","reduce","SomeObservable","SomeObserver","s","result","Boolean","some","predicate","thisArg","IsEmptyObservable","IsEmptyObserver","isEmpty","EveryObservable","EveryObserver","every","IncludesObservable","elem","idx","n","Math","abs","Infinity","_elem","_n","IncludesObserver","a","b","isNaN","includes","searchElement","fromIndex","CountObservable","CountObserver","count","IndexOfObservable","_e","IndexOfObserver","indexOf","SumObservable","SumObserver","sum","keySelector","minBy","comparer","y","min","map","maxBy","max","AverageObservable","AverageObserver","_t","r","average","sequenceEqual","second","first","donel","doner","ql","qr","subscription1","v","shift","equal","subscription2","ElementAtObservable","i","d","_d","ElementAtObserver","elementAt","index","defaultValue","SingleObserver","obj","_obj","shouldYield","res","Error","single","FirstObservable","FirstObserver","LastObservable","LastObserver","last","FindValueObserver","callback","yieldIndex","_cb","_y","shouldRun","findValue","find","findIndex","ToSetObservable","ToSetObserver","Set","add","toSet","ToMapObservable","ToMapObserver","_m","Map","set","toMap","elementSelector","SliceObservable","_b","SliceObserver","slice","begin","end","start","LastIndexOfObservable","LastIndexOfObserver","lastIndexOf","observableThrow","throwError","AsyncSubject","CompositeDisposable","create","defaultScheduler","Scheduler","immediate","isScheduler","wrap","createObservable","spawn","__generatorFunction__","gen","args","len","g","processGenerator","ret","err","done","obs","toObservable","hasValue","isObservable","val","ctor","constructor","name","displayName","isGenerator","isGeneratorFunction","thunkToObservable","arrayToObservable","isObject","objectToObservable","concatMap","just","toArray","results","keys","observables","observable","defer","forkJoin","func","context","scheduler","observableToAsync","toAsync","subject","schedule","asObservable","ListenDisposable","addEventListener","isDisposed","createEventListener","el","eventName","handler","disposables","elemToString","toString","StaticNodeList","NodeList","isNodeList","item","fromCallback","ctx","selector","Array","createCbHandler","createCbObservable","fromNodeCallback","createNodeHandler","createNodeObservable","dispose","removeEventListener","config","useNativeEvents","EventObservable","_el","createHandler","fromEvent","element","addListener","fromEventPattern","h","removeListener","on","off","publish","refCount","EventPatternObservable","del","_add","_del","EventPatternDisposable","_ret","returnValue","addHandler","removeHandler","startAsync","functionAsync","promise","NAryDisposable","Notification","Subject","Observer","disposableCreate","addProperties","currentThreadScheduler","currentThread","checkDisposed","Pauser","pause","resume","PausableObservable","pauser","controller","paused","merge","_subscribe","conn","subscription","connection","pausable","startWith","distinctUntilChanged","connect","PausableBufferedObservable","previousShouldFire","resultSelector","q","drainQueue","data","shouldFire","hasValueAll","isDone","values","pausableBuffered","ControlledObservable","enableQueue","ControlledSubject","multicast","request","numberOfItems","queue","requestedCount","requestedDisposable","hasFailed","hasCompleted","createOnCompleted","disposeCurrentRequest","createOnError","createOnNext","_processRequest","kind","accept","number","remaining","controlled","StopAndWaitObservable","scheduleMethod","StopAndWaitObserver","__sub__","cancel","scheduleDisposable","innerScheduleMethod","stopAndWait","WindowedObservable","windowSize","WindowedObserver","received","windowed","pipe","dest","onDrain","write","emit","_isStdio","ScheduledObserver","cloneArray","arr","MulticastObservable","fn1","fn2","_fn1","_fn2","connectable","subjectOrSubjectSelector","ConnectableObservable","share","publishLast","publishValue","initialValueOrSelector","initialValue","BehaviorSubject","shareValue","replay","bufferSize","ReplaySubject","shareReplay","InnerSubscription","observers","splice","isStopped","hasError","getValue","thrower","hasObservers","os","maxSafeInteger","pow","so","_trim","now","ensureActive","interval","RefCountObservable","_count","_connectableSubscription","RefCountDisposable","p","_connection","_source","_subject","ConnectDisposable","singleInstance","hasObservable","SingleAssignmentDisposable","SerialDisposable","observableEmpty","observableNever","never","addRef","noop","size","_values","_keys","get","forEach","cb","observableWindowWithOpenings","windowOpenings","windowClosingSelector","groupJoin","_","win","observableWindowWithBoundaries","windowBoundaries","w","observableWindowWithClosingSelector","m","createWindowClose","windowClose","m1","setDisposable","take","join","right","leftDurationSelector","rightDurationSelector","left","group","leftDone","rightDone","leftId","rightId","leftMap","rightMap","handleError","id","md","duration","remove","buffer","flatMap","windowOpeningsOrClosingSelector","PairwiseObservable","PairwiseObserver","_hp","pairwise","partition","filter","groupBy","groupByUntil","durationSelector","groupDisposable","refCountDisposable","fireNewMapEntry","writer","GroupedObservable","durationGroup","UnderlyingObservable","u","_u","getDisposable","underlyingObservable","mergedDisposable","FlatMapObservable","observableConcat","concat","observableDefer","Enumerable","enumerableOf","of","$iterator$","Symbol","iterator","doneEnumerator","WhileEnumerable","letBind","condition","thenSource","elseSourceOrScheduler","forIn","sources","observableWhileDo","whileDo","enumerableWhile","doWhile","defaultSourceOrScheduler","ExpandObservable","_scheduler","scheduleRecursive","recurse","work","state","ExpandObserver","isAcquired","_ensureActive","isOwner","activeCount","_m1","argumentsToArray","expand","ForkJoinObservable","_sources","finished","hasResults","subscriptions","ForkJoinObserver","subs","_subs","pop","isArray","unshift","manySelect","extend","chain","curr","ChainObservable","tap","observeOn","head","tail","mergeAll","SwitchFirstObservable","hasCurrent","SwitchFirstObserver","InnerObserver","inner","switchFirst","flatMapFirst","exhaustMap","flatMapWithMaxConcurrent","flatMapMaxConcurrent","limit","observerCreate","Pattern","patterns","Plan","expression","planCreateObserver","externalSubscriptions","entry","JoinObserver","ActivePlan","joinObserverArray","joinObservers","joinObserver","and","other","thenDo","activate","deactivate","errHandler","activePlan","handleOnNext","j","jlen","removeActivePlan","addActivePlan","dequeue","match","hasValues","firstValues","isCompleted","activePlans","JoinObserverPrototype","notification","materialize","when","plans","outObserver","isFn","moduleExports","Promise","defaultNow","Date","isEqual","defaultError","defaultKeySerializer","then","longStackSupport","hasStacks","stacks","stack","rFileName","rStartingLine","captureLine","STACK_JUMP_SEPARATOR","isInternalFrame","stackLine","fileNameAndLineNumber","getFileNameAndLineNumber","fileName","lineNumber","rEndingLine","lines","split","attempt1","exec","Number","attempt2","attempt3","message","ObjectDisposedError","NotSupportedError","NotImplementedError","notImplemented","notSupported","argCount","arg","collection","argsTag","arrayTag","boolTag","dateTag","errorTag","numberTag","objectTag","regexpTag","stringTag","typedArrayTags","objectProto","hasOwnProperty","objToString","MAX_SAFE_INTEGER","hasDontEnumBug","propertyIsEnumerable","dontEnums","dontEnumsLength","prop","equalObjects","object","equalFunc","isLoose","stackA","stackB","objProps","objLength","skipCtor","objValue","othValue","objCtor","othCtor","type","isObjectLike","isLength","isHostObject","arraySome","array","equalArrays","arrLength","othLength","arrValue","baseIsEqualDeep","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","tag","equalByTag","objIsWrapped","othIsWrapped","baseIsEqual","child","__","ln","xs","arrayInitialize","CompositeDisposablePrototype","shouldDispose","currentDisposables","action","isDisposable","disposable","disposableFixup","_fixup","current","old","_first","_second","old1","old2","_disposables","InnerDisposable","isInnerDisposed","underlyingDisposable","isPrimaryDisposed","ScheduledDisposable","scheduleItem","ScheduledItem","dueTime","invoke","invokeCore","compareTo","isCancelled","schedulerProto","scheduleFuture","dt","normalize","_scheduleFuture","timeSpan","normalizeTime","invokeRecImmediate","pair","innerAction","state2","isAdded","state3","invokeRecDate","dueTime1","scheduleRecursiveFuture","schedulePeriodic","period","setInterval","clearInterval","catchError","CatchScheduler","SchedulePeriodicRecursive","_state","_period","_action","_cancel","command","createTick","clearMethod","ImmediateScheduler","immediateScheduler","CurrentThreadScheduler","runTrampoline","si","enqueue","PriorityQueue","scheduleRequired","localTimer","localSetTimeout","localClearTimeout","setTimeout","clearTimeout","WScript","time","Sleep","nextHandle","tasksByHandle","currentlyRunning","runTask","handle","task","reNative","RegExp","String","replace","setImmediate","test","process","nextTick","postMessage","importScripts","isAsync","oldHandler","onmessage","postMessageSupported","MSG_PREFIX","random","event","substring","MessageChannel","channel","port1","port2","document","createElement","scriptElement","onreadystatechange","parentNode","removeChild","documentElement","appendChild","DefaultScheduler","scheduleAction","ClearDisposable","_id","LocalClearDisposable","scheduleLongRunning","async","_handler","_recursiveOriginal","_recursiveWrapper","_wrap","_clone","_getRecursiveWrapper","wrapper","failed","state1","IndexedItem","capacity","items","priorityProto","isHigherPriority","percolate","temp","heapify","peek","removeAt","_accept","_acceptObserver","observerOrOnNext","OnNextNotification","OnErrorNotification","OnCompletedNotification","notificationCreateOnNext","notificationCreateOnError","notificationCreateOnCompleted","toNotifier","asObserver","AnonymousObserver","checked","CheckedObserver","fromNotifier","notifyOn","ObserveOnObserver","makeSafe","AnonymousSafeObserver","_onNext","_onError","_onCompleted","fail","_observer","CheckedObserverPrototype","checkAccess","hasFaulted","enqueueNext","enqueueError","oldSubscribe","oldOnError","concatedStacks","stackString","desiredLines","line","filterStackString","makeStackTraceLong","makeSubscribe","oOrOnNext","subscribeOnNext","subscribeOnError","subscribeOnCompleted","subscriber","ado","sub","AutoDetachObserver","_wrapResult","i2","IsDisposedDisposable","ConcatEnumerableObservable","currentItem","currentValue","_recurse","cancelable","CatchErrorObservable","lastError","RepeatEnumerable","RepeatEnumerator","l","enumerableRepeat","repeat","repeatCount","OfEnumerable","OfEnumerator","ObserveOnObservable","SubscribeOnObservable","subscribeOn","FromPromiseObservable","scheduleNext","scheduleError","sad","toPromise","promiseCtor","resolve","reject","ToArrayObservable","Defer","_f","EmptyObservable","observableFactory","EmptySink","run","EMPTY_OBSERVABLE","FromObservable","iterable","_iterable","it","StringIterable","ArrayIterable","getIterable","createScheduleMethod","StringIterator","ArrayIterator","isFinite","sign","floor","charAt","mapFn","mapper","FromArrayObservable","_args","observableFromArray","fromArray","GenerateObservable","cndFn","itrFn","resFn","_initialState","_cndFn","_itrFn","_resFn","newState","hasResult","generate","initialState","iterate","NEVER_OBSERVABLE","NeverObservable","observableOf","ofWithScheduler","PairsObservable","pairs","RangeObservable","rangeCount","loopRecursive","range","RepeatObservable","RepeatSink","JustObservable","_value","ThrowObservable","_error","UsingObservable","obsFn","_obsFn","resource","using","resourceFactory","amb","rightSource","leftSource","choice","leftChoice","rightChoice","leftSubscription","rightSubscription","choiceL","choiceR","leftSubscribe","rightSubscribe","acc","CatchObservable","d1","CatchObserver","handlerOrSecond","observableCatch","falseFactory","combineLatest","CombineLatestObservable","params","_params","CombineLatestObserver","ConcatObserver","ConcatObservable","concatAll","MergeObservable","maxConcurrent","MergeObserver","handleSubscribe","innerSource","maxConcurrentOrOther","observableMerge","CompositeError","errors","innerErrors","MergeDelayErrorObservable","MergeDelayErrorObserver","_group","setCompletion","_inner","mergeDelayError","MergeAllObservable","MergeAllObserver","onErrorResumeNext","OnErrorResumeNextObservable","pos","OnErrorResumeNextObserver","cancellable","SkipUntilObservable","_open","SkipUntilSourceObserver","SkipUntilOtherObserver","_r","skipUntil","SwitchObservable","SwitchObserver","stopped","latest","hasLatest","switchLatest","TakeUntilObservable","TakeUntilObserver","takeUntil","WithLatestFromObservable","_ss","WithLatestFromOtherObserver","outerSad","WithLatestFromSourceObserver","allValues","emptyArrayFactory","withLatestFrom","ZipObservable","ZipObserver","_q","notEmpty","shiftEach","queuedValues","zip","ZipIterableObservable","ZipIterableObserver","zipIterable","bufferWithCount","bufferCount","skip","windowWithCount","DematerializeObservable","DematerializeObserver","dematerialize","DistinctUntilChangedObservable","keyFn","DistinctUntilChangedObserver","hasCurrentKey","currentKey","comparerEquals","TapObservable","_oN","_oE","_oC","t","doAction","doOnNext","tapOnNext","doOnError","tapOnError","doOnCompleted","tapOnCompleted","FinallyObservable","FinallyDisposable","IgnoreElementsObservable","ignoreElements","MaterializeObservable","MaterializeObserver","retry","retryCount","RetryWhenObservable","createDisposable","notifier","_notifier","exceptions","notificationDisposable","outer","exn","ex","retryWhen","RepeatWhenObservable","completions","repeatWhen","ScanObservable","ScanObserver","scan","SkipLastObservable","SkipLastObserver","skipLast","TakeLastObserver","takeLast","TakeLastBufferObserver","takeLastBuffer","windowCount","createWindow","flatMapConcat","concatMapObserver","selectConcatObserver","onNextFunc","onErrorFunc","onCompletedFunc","DefaultIfEmptyObserver","HashSet","defaultIfEmpty","retValue","arrayIndexOfComparer","DistinctObservable","cmpFn","_keyFn","_cmpFn","DistinctObserver","_h","distinct","MapObservable","internalMap","innerMap","select","selectorFn","pluck","currentProp","plucker","flatMapObserver","selectManyObserver","selectMany","mergeMap","flatMapLatest","switchMap","SkipObservable","SkipObserver","SkipWhileObservable","SkipWhileObserver","skipWhile","TakeObservable","TakeObserver","TakeWhileObservable","TakeWhileObserver","takeWhile","FilterObservable","internalFilter","innerPredicate","where","TransduceObserver","xform","_xform","transduce","transducer","input","transformForObserver","__subscribe","AutoDetachObserverPrototype","AnonymousSubject","jortSort","jortSortUntil","bind","sorted","sort","VirtualTimeScheduler","OnNextPredicate","OnErrorPredicate","equals","ReactiveTest","created","subscribed","disposed","ticks","Recorded","Subscription","unsubscribe","MAX_VALUE","MockDisposable","disposes","clock","MockObserver","messages","MockObserverPrototype","MockPromise","innerNotification","scheduleAbsolute","jLen","onResolved","onRejected","newPromise","HotObservable","ColdObservable","scheduleRelative","TestScheduler","baseComparer","absolute","relative","toAbsoluteTime","getTime","toRelativeTime","startScheduler","createFn","settings","createObserver","createHotObservable","createColdObservable","createResolvedPromise","createRejectedPromise","reason","TimerObservable","_dt","observableTimerDateAndPeriod","observableTimerTimeSpanAndPeriod","observableinterval","observableDelayRelative","active","exception","running","timestamp","recurseDueTime","shouldRecurse","timer","periodOrScheduler","_observableTimer","delay","subscriptionDelay","delayDurationSelector","subDelay","firstArg","observableDelayAbsolute","delays","atEnd","DebounceObservable","DebounceObserver","currentId","debounce","throttle","currentid","windowWithTime","windowTime","timeShiftOrScheduler","timeShift","nextShift","nextSpan","timerD","totalTime","createTimer","isSpan","isShift","newTotalTime","ts","windowWithTimeOrCount","windowTimeOrCount","windowId","newId","newWindow","bufferWithTime","bufferTime","bufferWithTimeOrCount","bufferTimeOrCount","TimeIntervalObservable","TimeIntervalObserver","span","timeInterval","TimestampObservable","TimestampObserver","SampleObservable","sampler","_sampler","sourceSubscription","SampleSourceObserver","SamplerObserver","_handleMessage","sample","intervalOrSampler","TimeoutError","timeout","original","switched","myId","firstTimeout","timeoutDurationSelector","setTimer","timerWins","oWins","timeoutWithSelector","GenerateAbsoluteObservable","timeFn","_timeFn","generateWithAbsoluteTime","timeSelector","GenerateRelativeObservable","generateWithRelativeTime","DelaySubscription","delaySubscription","SkipLastWithTimeObservable","SkipLastWithTimeObserver","skipLastWithTime","TakeLastWithTimeObservable","TakeLastWithTimeObserver","takeLastWithTime","takeLastBufferWithTime","TakeWithTimeObservable","takeWithTime","SkipWithTimeObservable","SkipWithTimeObserver","skipWithTime","SkipUntilWithTimeObservable","startTime","_st","SkipUntilWithTimeObserver","skipUntilWithTime","takeUntilWithTime","endTime","windowDuration","RangeError","lastOnNext","initialClock","isEnabled","VirtualTimeSchedulerPrototype","runAt","getNext","stop","advanceTo","dueToClock","advanceBy","sleep","HistoricalScheduler","cmp","HistoricalSchedulerProto","DefaultCodeSnippet","instance","_instance","createCodeSnippet","languageId","extentiponPath","webview","extractSnippet","editor","vscode","activeTextEditor","text","getText","previewSnippet","errorSnippet","Misc","getFormattedHtml","payLoad","StyleName","dark","forest","neutral","backgroundColorDefault","ConfigMermaid","fixedStyle","fixedBackgroundColor","MermaidCodeSnippet","_configMermaid","workspace","getConfiguration","mermaid","mscgen","fixedNamedStyle","subsequenceFile","dirname","uri","fsPath","Path","sep","trim","fs","readFileSync","console","jsPath","Uri","file","jsSrc","asWebviewUri","body","cspSource","previewUri","parse","Alignment","classic","cygne","fountainpen","lazy","pegasse","fixed","stretch","ConfigMscgen","horizontalAlignment","MscgenCodeSnippet","_configMscgen","suppotablelanguageId","latestSnippetResultBuffer","webViewPanel","extentionPath","_currentSnippet","setCurrentWebViewPanel","panel","getExtensionPath","path","update","refresh","provideTextDocumentContent","token","html","catch","require","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","nmd","paths","children","provider","PreviewSeqDiagDocumentContentProvider","showPreview","commands","registerCommand","createWebviewPanel","ViewColumn","Two","enableScripts","localResourceRoots","extensionPath","emitter","EventEmitter","onDidChangeActiveTextEditor","onDidChangeTextDocument","registerTextDocumentContentProvider","scheme"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/mermaid/mermaid.min.js b/dist/mermaid/mermaid.min.js index ec3930a..28eb616 100644 --- a/dist/mermaid/mermaid.min.js +++ b/dist/mermaid/mermaid.min.js @@ -1,2 +1,2 @@ /*! For license information please see mermaid.min.js.LICENSE.txt */ -!function(t,e){"object"==typeof exports&&typeof module<"u"?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).mermaid=e()}(this,(function(){var t,e;function n(t){for(var e=[],n=1;n=e?t:""+Array(e+1-i.length).join(n)+t},m={s:b,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),i=Math.floor(n/60),r=n%60;return(e<=0?"+":"-")+b(i,2,"0")+":"+b(r,2,"0")},m:function t(e,n){if(e.date()1)return t(o[0])}else{var s=e.name;w[s]=e,r=s}return!i&&r&&(y=r),r||!i&&y},_=function(t,e){if(x(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new E(n)},T=m;T.l=k,T.i=x,T.w=function(t,e){return _(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var E=function(){function p(t){this.$L=k(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[v]=!0}var b=p.prototype;return b.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(T.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var i=e.match(d);if(i){var r=i[2]-1||0,a=(i[7]||"0").substring(0,3);return n?new Date(Date.UTC(i[1],r,i[3]||1,i[4]||0,i[5]||0,i[6]||0,a)):new Date(i[1],r,i[3]||1,i[4]||0,i[5]||0,i[6]||0,a)}}return new Date(e)}(t),this.init()},b.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},b.$utils=function(){return T},b.isValid=function(){return this.$d.toString()!==f},b.isSame=function(t,e){var n=_(t);return this.startOf(e)<=n&&n<=this.endOf(e)},b.isAfter=function(t,e){return _(t){},debug:(...t)=>{},info:(...t)=>{},warn:(...t)=>{},error:(...t)=>{},fatal:(...t)=>{}},u=function(t="fatal"){let e=s.fatal;"string"==typeof t?(t=t.toLowerCase())in s&&(e=s[t]):"number"==typeof t&&(e=t),l.trace=()=>{},l.debug=()=>{},l.info=()=>{},l.warn=()=>{},l.error=()=>{},l.fatal=()=>{},e<=s.fatal&&(l.fatal=console.error?console.error.bind(console,h("FATAL"),"color: orange"):console.log.bind(console,"",h("FATAL"))),e<=s.error&&(l.error=console.error?console.error.bind(console,h("ERROR"),"color: orange"):console.log.bind(console,"",h("ERROR"))),e<=s.warn&&(l.warn=console.warn?console.warn.bind(console,h("WARN"),"color: orange"):console.log.bind(console,"",h("WARN"))),e<=s.info&&(l.info=console.info?console.info.bind(console,h("INFO"),"color: lightblue"):console.log.bind(console,"",h("INFO"))),e<=s.debug&&(l.debug=console.debug?console.debug.bind(console,h("DEBUG"),"color: lightgreen"):console.log.bind(console,"",h("DEBUG"))),e<=s.trace&&(l.trace=console.debug?console.debug.bind(console,h("TRACE"),"color: lightgreen"):console.log.bind(console,"",h("TRACE")))},h=t=>`%c${o().format("ss.SSS")} : ${t} : `;var f={};function d(t,e){return null==t||null==e?NaN:te?1:t>=e?0:NaN}function g(t,e){return null==t||null==e?NaN:et?1:e>=t?0:NaN}function p(t){let e,n,i;function r(t,i,r=0,a=t.length){if(r>>1;n(t[e],i)<0?r=e+1:a=e}while(rd(t(e),n),i=(e,n)=>t(e)-n):(e=t===d||t===g?t:b,n=t,i=t),{left:r,center:function(t,e,n=0,a=t.length){const o=r(t,e,n,a-1);return o>n&&i(t[o-1],e)>-i(t[o],e)?o-1:o},right:function(t,i,r=0,a=t.length){if(r>>1;n(t[e],i)<=0?r=e+1:a=e}while(r-1}(c))return c;var l=c.match(a);if(!l)return c;var u=l[0];return e.test(u)?t.BLANK_URL:c}}(f);const m=p(d).right;p((function(t){return null===t?NaN:+t})).center;const y=m;class w extends Map{constructor(t,e=x){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:e}}),null!=t)for(const[e,n]of t)this.set(e,n)}get(t){return super.get(v(this,t))}has(t){return super.has(v(this,t))}set(t,e){return super.set(function({_intern:t,_key:e},n){const i=e(n);return t.has(i)?t.get(i):(t.set(i,n),n)}(this,t),e)}delete(t){return super.delete(function({_intern:t,_key:e},n){const i=e(n);return t.has(i)&&(n=t.get(i),t.delete(i)),n}(this,t))}}function v({_intern:t,_key:e},n){const i=e(n);return t.has(i)?t.get(i):n}function x(t){return null!==t&&"object"==typeof t?t.valueOf():t}const k=Math.sqrt(50),_=Math.sqrt(10),T=Math.sqrt(2);function E(t,e,n){const i=(e-t)/Math.max(0,n),r=Math.floor(Math.log10(i)),a=i/Math.pow(10,r),o=a>=k?10:a>=_?5:a>=T?2:1;let s,c,l;return r<0?(l=Math.pow(10,-r)/o,s=Math.round(t*l),c=Math.round(e*l),s/le&&--c,l=-l):(l=Math.pow(10,r)*o,s=Math.round(t/l),c=Math.round(e/l),s*le&&--c),c=e)&&(n=e);else{let i=-1;for(let r of t)null!=(r=e(r,++i,t))&&(n=r)&&(n=r)}return n}function M(t,e){let n;if(void 0===e)for(const e of t)null!=e&&(n>e||void 0===n&&e>=e)&&(n=e);else{let i=-1;for(let r of t)null!=(r=e(r,++i,t))&&(n>r||void 0===n&&r>=r)&&(n=r)}return n}function L(t){return t}var I=1e-6;function O(t){return"translate("+t+",0)"}function N(t){return"translate(0,"+t+")"}function D(t){return e=>+t(e)}function P(t,e){return e=Math.max(0,t.bandwidth()-2*e)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function B(){return!this.__axis}function R(t,e){var n=[],i=null,r=null,a=6,o=6,s=3,c=typeof window<"u"&&window.devicePixelRatio>1?0:.5,l=1===t||4===t?-1:1,u=4===t||2===t?"x":"y",h=1===t||3===t?O:N;function f(f){var d=i??(e.ticks?e.ticks.apply(e,n):e.domain()),g=r??(e.tickFormat?e.tickFormat.apply(e,n):L),p=Math.max(a,0)+s,b=e.range(),m=+b[0]+c,y=+b[b.length-1]+c,w=(e.bandwidth?P:D)(e.copy(),c),v=f.selection?f.selection():f,x=v.selectAll(".domain").data([null]),k=v.selectAll(".tick").data(d,e).order(),_=k.exit(),T=k.enter().append("g").attr("class","tick"),E=k.select("line"),S=k.select("text");x=x.merge(x.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),k=k.merge(T),E=E.merge(T.append("line").attr("stroke","currentColor").attr(u+"2",l*a)),S=S.merge(T.append("text").attr("fill","currentColor").attr(u,l*p).attr("dy",1===t?"0em":3===t?"0.71em":"0.32em")),f!==v&&(x=x.transition(f),k=k.transition(f),E=E.transition(f),S=S.transition(f),_=_.transition(f).attr("opacity",I).attr("transform",(function(t){return isFinite(t=w(t))?h(t+c):this.getAttribute("transform")})),T.attr("opacity",I).attr("transform",(function(t){var e=this.parentNode.__axis;return h((e&&isFinite(e=e(t))?e:w(t))+c)}))),_.remove(),x.attr("d",4===t||2===t?o?"M"+l*o+","+m+"H"+c+"V"+y+"H"+l*o:"M"+c+","+m+"V"+y:o?"M"+m+","+l*o+"V"+c+"H"+y+"V"+l*o:"M"+m+","+c+"H"+y),k.attr("opacity",1).attr("transform",(function(t){return h(w(t)+c)})),E.attr(u+"2",l*a),S.attr(u,l*p).text(g),v.filter(B).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",2===t?"start":4===t?"end":"middle"),v.each((function(){this.__axis=w}))}return f.scale=function(t){return arguments.length?(e=t,f):e},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(t){return arguments.length?(n=null==t?[]:Array.from(t),f):n.slice()},f.tickValues=function(t){return arguments.length?(i=null==t?null:Array.from(t),f):i&&i.slice()},f.tickFormat=function(t){return arguments.length?(r=t,f):r},f.tickSize=function(t){return arguments.length?(a=o=+t,f):a},f.tickSizeInner=function(t){return arguments.length?(a=+t,f):a},f.tickSizeOuter=function(t){return arguments.length?(o=+t,f):o},f.tickPadding=function(t){return arguments.length?(s=+t,f):s},f.offset=function(t){return arguments.length?(c=+t,f):c},f}var F={value:()=>{}};function $(){for(var t,e=0,n=arguments.length,i={};e=0&&(n=t.slice(i+1),t=t.slice(0,i)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}}))}(t+"",i),a=-1,o=r.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++a0)for(var n,i,r=new Array(n),a=0;a=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),U.hasOwnProperty(e)?{space:U[e],local:t}:t}function K(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===H&&e.documentElement.namespaceURI===H?e.createElement(t):e.createElementNS(n,t)}}function Y(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function V(t){var e=G(t);return(e.local?Y:K)(e)}function W(){}function X(t){return null==t?W:function(){return this.querySelector(t)}}function Q(t){return null==t?[]:Array.isArray(t)?t:Array.from(t)}function Z(){return[]}function J(t){return null==t?Z:function(){return this.querySelectorAll(t)}}function tt(t){return function(){return this.matches(t)}}function et(t){return function(e){return e.matches(t)}}var nt=Array.prototype.find;function it(){return this.firstElementChild}var rt=Array.prototype.filter;function at(){return Array.from(this.children)}function ot(t){return new Array(t.length)}function st(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}function ct(t,e,n,i,r,a){for(var o,s=0,c=e.length,l=a.length;se?1:t>=e?0:NaN}function dt(t){return function(){this.removeAttribute(t)}}function gt(t){return function(){this.removeAttributeNS(t.space,t.local)}}function pt(t,e){return function(){this.setAttribute(t,e)}}function bt(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function mt(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}function yt(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function wt(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function vt(t){return function(){this.style.removeProperty(t)}}function xt(t,e,n){return function(){this.style.setProperty(t,e,n)}}function kt(t,e,n){return function(){var i=e.apply(this,arguments);null==i?this.style.removeProperty(t):this.style.setProperty(t,i,n)}}function _t(t,e){return t.style.getPropertyValue(e)||wt(t).getComputedStyle(t,null).getPropertyValue(e)}function Tt(t){return function(){delete this[t]}}function Et(t,e){return function(){this[t]=e}}function St(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}function Ct(t){return t.trim().split(/^|\s+/)}function At(t){return t.classList||new Mt(t)}function Mt(t){this._node=t,this._names=Ct(t.getAttribute("class")||"")}function Lt(t,e){for(var n=At(t),i=-1,r=e.length;++i=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var Zt=[null];function Jt(t,e){this._groups=t,this._parents=e}function te(){return new Jt([[document.documentElement]],Zt)}function ee(t){return"string"==typeof t?new Jt([[document.querySelector(t)]],[document.documentElement]):new Jt([[t]],Zt)}function ne(t){return"string"==typeof t?new Jt([document.querySelectorAll(t)],[document.documentElement]):new Jt([Q(t)],Zt)}function ie(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function re(t,e){var n=Object.create(t.prototype);for(var i in e)n[i]=e[i];return n}function ae(){}Jt.prototype=te.prototype={constructor:Jt,select:function(t){"function"!=typeof t&&(t=X(t));for(var e=this._groups,n=e.length,i=new Array(n),r=0;r=v&&(v=w+1);!(y=b[v])&&++v=0;)(i=r[a])&&(o&&4^i.compareDocumentPosition(o)&&o.parentNode.insertBefore(i,o),o=i);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=ft);for(var n=this._groups,i=n.length,r=new Array(i),a=0;a1?this.each((null==e?vt:"function"==typeof e?kt:xt)(t,e,n??"")):_t(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?Tt:"function"==typeof e?St:Et)(t,e)):this.node()[t]},classed:function(t,e){var n=Ct(t+"");if(arguments.length<2){for(var i=At(this.node()),r=-1,a=n.length;++r=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}))}(t+""),o=a.length;if(!(arguments.length<2)){for(s=e?Vt:Yt,i=0;i>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?_e(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?_e(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=fe.exec(t))?new Se(e[1],e[2],e[3],1):(e=de.exec(t))?new Se(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=ge.exec(t))?_e(e[1],e[2],e[3],e[4]):(e=pe.exec(t))?_e(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=be.exec(t))?Oe(e[1],e[2]/100,e[3]/100,1):(e=me.exec(t))?Oe(e[1],e[2]/100,e[3]/100,e[4]):ye.hasOwnProperty(t)?ke(ye[t]):"transparent"===t?new Se(NaN,NaN,NaN,0):null}function ke(t){return new Se(t>>16&255,t>>8&255,255&t,1)}function _e(t,e,n,i){return i<=0&&(t=e=n=NaN),new Se(t,e,n,i)}function Te(t){return t instanceof ae||(t=xe(t)),t?new Se((t=t.rgb()).r,t.g,t.b,t.opacity):new Se}function Ee(t,e,n,i){return 1===arguments.length?Te(t):new Se(t,e,n,i??1)}function Se(t,e,n,i){this.r=+t,this.g=+e,this.b=+n,this.opacity=+i}function Ce(){return`#${Ie(this.r)}${Ie(this.g)}${Ie(this.b)}`}function Ae(){const t=Me(this.opacity);return`${1===t?"rgb(":"rgba("}${Le(this.r)}, ${Le(this.g)}, ${Le(this.b)}${1===t?")":`, ${t})`}`}function Me(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Le(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Ie(t){return((t=Le(t))<16?"0":"")+t.toString(16)}function Oe(t,e,n,i){return i<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new De(t,e,n,i)}function Ne(t){if(t instanceof De)return new De(t.h,t.s,t.l,t.opacity);if(t instanceof ae||(t=xe(t)),!t)return new De;if(t instanceof De)return t;var e=(t=t.rgb()).r/255,n=t.g/255,i=t.b/255,r=Math.min(e,n,i),a=Math.max(e,n,i),o=NaN,s=a-r,c=(a+r)/2;return s?(o=e===a?(n-i)/s+6*(n0&&c<1?0:o,new De(o,s,c,t.opacity)}function De(t,e,n,i){this.h=+t,this.s=+e,this.l=+n,this.opacity=+i}function Pe(t){return(t=(t||0)%360)<0?t+360:t}function Be(t){return Math.max(0,Math.min(1,t||0))}function Re(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}ie(ae,xe,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:we,formatHex:we,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return Ne(this).formatHsl()},formatRgb:ve,toString:ve}),ie(Se,Ee,re(ae,{brighter(t){return t=null==t?se:Math.pow(se,t),new Se(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?oe:Math.pow(oe,t),new Se(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Se(Le(this.r),Le(this.g),Le(this.b),Me(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Ce,formatHex:Ce,formatHex8:function(){return`#${Ie(this.r)}${Ie(this.g)}${Ie(this.b)}${Ie(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:Ae,toString:Ae})),ie(De,(function(t,e,n,i){return 1===arguments.length?Ne(t):new De(t,e,n,i??1)}),re(ae,{brighter(t){return t=null==t?se:Math.pow(se,t),new De(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?oe:Math.pow(oe,t),new De(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,i=n+(n<.5?n:1-n)*e,r=2*n-i;return new Se(Re(t>=240?t-240:t+120,r,i),Re(t,r,i),Re(t<120?t+240:t-120,r,i),this.opacity)},clamp(){return new De(Pe(this.h),Be(this.s),Be(this.l),Me(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=Me(this.opacity);return`${1===t?"hsl(":"hsla("}${Pe(this.h)}, ${100*Be(this.s)}%, ${100*Be(this.l)}%${1===t?")":`, ${t})`}`}}));const Fe=Math.PI/180,$e=180/Math.PI,je=.96422,ze=1,qe=.82521,He=4/29,Ue=6/29,Ge=3*Ue*Ue,Ke=Ue*Ue*Ue;function Ye(t){if(t instanceof Ve)return new Ve(t.l,t.a,t.b,t.opacity);if(t instanceof tn)return en(t);t instanceof Se||(t=Te(t));var e,n,i=Ze(t.r),r=Ze(t.g),a=Ze(t.b),o=We((.2225045*i+.7168786*r+.0606169*a)/ze);return i===r&&r===a?e=n=o:(e=We((.4360747*i+.3850649*r+.1430804*a)/je),n=We((.0139322*i+.0971045*r+.7141733*a)/qe)),new Ve(116*o-16,500*(e-o),200*(o-n),t.opacity)}function Ve(t,e,n,i){this.l=+t,this.a=+e,this.b=+n,this.opacity=+i}function We(t){return t>Ke?Math.pow(t,1/3):t/Ge+He}function Xe(t){return t>Ue?t*t*t:Ge*(t-He)}function Qe(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Ze(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Je(t,e,n,i){return 1===arguments.length?function(t){if(t instanceof tn)return new tn(t.h,t.c,t.l,t.opacity);if(t instanceof Ve||(t=Ye(t)),0===t.a&&0===t.b)return new tn(NaN,0()=>t;function rn(t,e){return function(n){return t+n*e}}function an(t,e){var n=e-t;return n?rn(t,n):nn(isNaN(t)?e:t)}const on=function t(e){var n=function(t){return 1==(t=+t)?an:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(i){return Math.pow(t+i*e,n)}}(e,n,t):nn(isNaN(e)?n:e)}}(e);function i(t,e){var i=n((t=Ee(t)).r,(e=Ee(e)).r),r=n(t.g,e.g),a=n(t.b,e.b),o=an(t.opacity,e.opacity);return function(e){return t.r=i(e),t.g=r(e),t.b=a(e),t.opacity=o(e),t+""}}return i.gamma=t,i}(1);function sn(t,e){e||(e=[]);var n,i=t?Math.min(e.length,t.length):0,r=e.slice();return function(a){for(n=0;na&&(r=e.slice(a,r),s[o]?s[o]+=r:s[++o]=r),(n=n[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:un(n,i)})),a=dn.lastIndex;return a180?e+=360:e-t>180&&(t+=360),a.push({i:n.push(r(n)+"rotate(",null,i)-2,x:un(t,e)})):e&&n.push(r(n)+"rotate("+e+i)}(a.rotate,o.rotate,s,c),function(t,e,n,a){t!==e?a.push({i:n.push(r(n)+"skewX(",null,i)-2,x:un(t,e)}):e&&n.push(r(n)+"skewX("+e+i)}(a.skewX,o.skewX,s,c),function(t,e,n,i,a,o){if(t!==n||e!==i){var s=a.push(r(a)+"scale(",null,",",null,")");o.push({i:s-4,x:un(t,n)},{i:s-2,x:un(e,i)})}else(1!==n||1!==i)&&a.push(r(a)+"scale("+n+","+i+")")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,c),a=o=null,function(t){for(var e,n=-1,i=c.length;++n180||n<-180?n-360*Math.round(n/360):n):nn(isNaN(t)?e:t)}((t=Je(t)).h,(e=Je(e)).h),i=an(t.c,e.c),r=an(t.l,e.l),a=an(t.opacity,e.opacity);return function(e){return t.h=n(e),t.c=i(e),t.l=r(e),t.opacity=a(e),t+""}};var En,Sn,Cn=0,An=0,Mn=0,Ln=1e3,In=0,On=0,Nn=0,Dn="object"==typeof performance&&performance.now?performance:Date,Pn="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Bn(){return On||(Pn(Rn),On=Dn.now()+Nn)}function Rn(){On=0}function Fn(){this._call=this._time=this._next=null}function $n(t,e,n){var i=new Fn;return i.restart(t,e,n),i}function jn(){On=(In=Dn.now())+Nn,Cn=An=0;try{!function(){Bn(),++Cn;for(var t,e=En;e;)(t=On-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Cn}()}finally{Cn=0,function(){for(var t,e,n=En,i=1/0;n;)n._call?(i>n._time&&(i=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:En=e);Sn=t,qn(i)}(),On=0}}function zn(){var t=Dn.now(),e=t-In;e>Ln&&(Nn-=e,In=t)}function qn(t){Cn||(An&&(An=clearTimeout(An)),t-On>24?(t<1/0&&(An=setTimeout(jn,t-Dn.now()-Nn)),Mn&&(Mn=clearInterval(Mn))):(Mn||(In=Dn.now(),Mn=setInterval(zn,Ln)),Cn=1,Pn(jn)))}function Hn(t,e,n){var i=new Fn;return e=null==e?0:+e,i.restart((n=>{i.stop(),t(n+e)}),e,n),i}Fn.prototype=$n.prototype={constructor:Fn,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?Bn():+n)+(null==e?0:+e),!this._next&&Sn!==this&&(Sn?Sn._next=this:En=this,Sn=this),this._call=t,this._time=n,qn()},stop:function(){this._call&&(this._call=null,this._time=1/0,qn())}};var Un=$("start","end","cancel","interrupt"),Gn=[],Kn=0,Yn=3;function Vn(t,e,n,i,r,a){var o=t.__transition;if(o){if(n in o)return}else t.__transition={};!function(t,e,n){var i,r=t.__transition;function a(c){var l,u,h,f;if(1!==n.state)return s();for(l in r)if((f=r[l]).name===n.name){if(f.state===Yn)return Hn(a);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete r[l]):+lKn)throw new Error("too late; already scheduled");return n}function Xn(t,e){var n=Qn(t,e);if(n.state>Yn)throw new Error("too late; already running");return n}function Qn(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function Zn(t,e){var n,i;return function(){var r=Xn(this,t),a=r.tween;if(a!==n)for(var o=0,s=(i=n=a).length;o=0&&(t=t.slice(0,e)),!t||"start"===t}))}(e)?Wn:Xn;return function(){var o=a(this,t),s=o.on;s!==i&&(r=(i=s).copy()).on(e,n),o.on=r}}(n,t,e))},attr:function(t,e){var n=G(t),i="transform"===n?_n:ei;return this.attrTween(t,"function"==typeof e?(n.local?si:oi)(n,i,ti(this,"attr."+t,e)):null==e?(n.local?ii:ni)(n):(n.local?ai:ri)(n,i,e))},attrTween:function(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw new Error;var i=G(t);return this.tween(n,(i.local?ci:li)(i,e))},style:function(t,e,n){var i="transform"==(t+="")?kn:ei;return null==e?this.styleTween(t,function(t,e){var n,i,r;return function(){var a=_t(this,t),o=(this.style.removeProperty(t),_t(this,t));return a===o?null:a===n&&o===i?r:r=e(n=a,i=o)}}(t,i)).on("end.style."+t,pi(t)):"function"==typeof e?this.styleTween(t,function(t,e,n){var i,r,a;return function(){var o=_t(this,t),s=n(this),c=s+"";return null==s&&(this.style.removeProperty(t),c=s=_t(this,t)),o===c?null:o===i&&c===r?a:(r=c,a=e(i=o,s))}}(t,i,ti(this,"style."+t,e))).each(function(t,e){var n,i,r,a,o="style."+e,s="end."+o;return function(){var c=Xn(this,t),l=c.on,u=null==c.value[o]?a||(a=pi(e)):void 0;(l!==n||r!==u)&&(i=(n=l).copy()).on(s,r=u),c.on=i}}(this._id,t)):this.styleTween(t,function(t,e,n){var i,r,a=n+"";return function(){var o=_t(this,t);return o===a?null:o===i?r:r=e(i=o,n)}}(t,i,e),n).on("end.style."+t,null)},styleTween:function(t,e,n){var i="style."+(t+="");if(arguments.length<2)return(i=this.tween(i))&&i._value;if(null==e)return this.tween(i,null);if("function"!=typeof e)throw new Error;return this.tween(i,function(t,e,n){var i,r;function a(){var a=e.apply(this,arguments);return a!==r&&(i=(r=a)&&function(t,e,n){return function(i){this.style.setProperty(t,e.call(this,i),n)}}(t,a,n)),i}return a._value=e,a}(t,e,n??""))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var e=t(this);this.textContent=e??""}}(ti(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},textTween:function(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(null==t)return this.tween(e,null);if("function"!=typeof t)throw new Error;return this.tween(e,function(t){var e,n;function i(){var i=t.apply(this,arguments);return i!==n&&(e=(n=i)&&function(t){return function(e){this.textContent=t.call(this,e)}}(i)),e}return i._value=t,i}(t))},remove:function(){return this.on("end.remove",(t=this._id,function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}));var t},tween:function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var i,r=Qn(this.node(),n).tween,a=0,o=r.length;a2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(i?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete a[r]):o=!1;o&&delete t.__transition}}(this,t)}))},te.prototype.transition=function(t){var e,n;t instanceof mi?(e=t._id,t=t._name):(e=yi(),(n=vi).time=Bn(),t=null==t?null:t+"");for(var i=this._groups,r=i.length,a=0;a=0))throw new Error(`invalid digits: ${t}`);if(e>15)return Si;const n=10**e;return function(t){this._+=t[0];for(let e=1,i=t.length;eTi)if(Math.abs(u*s-c*l)>Ti&&r){let f=n-a,d=i-o,g=s*s+c*c,p=f*f+d*d,b=Math.sqrt(g),m=Math.sqrt(h),y=r*Math.tan((ki-Math.acos((g+h-p)/(2*b*m)))/2),w=y/m,v=y/b;Math.abs(w-1)>Ti&&this._append`L${t+w*l},${e+w*u}`,this._append`A${r},${r},0,0,${+(u*f>l*d)},${this._x1=t+v*s},${this._y1=e+v*c}`}else this._append`L${this._x1=t},${this._y1=e}`}arc(t,e,n,i,r,a){if(t=+t,e=+e,a=!!a,(n=+n)<0)throw new Error(`negative radius: ${n}`);let o=n*Math.cos(i),s=n*Math.sin(i),c=t+o,l=e+s,u=1^a,h=a?i-r:r-i;null===this._x1?this._append`M${c},${l}`:(Math.abs(this._x1-c)>Ti||Math.abs(this._y1-l)>Ti)&&this._append`L${c},${l}`,n&&(h<0&&(h=h%_i+_i),h>Ei?this._append`A${n},${n},0,1,${u},${t-o},${e-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:h>Ti&&this._append`A${n},${n},0,${+(h>=ki)},${u},${this._x1=t+n*Math.cos(r)},${this._y1=e+n*Math.sin(r)}`)}rect(t,e,n,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}};function Ai(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,i=t.slice(0,n);return[i.length>1?i[0]+i.slice(2):i,+t.slice(n+1)]}function Mi(t){return(t=Ai(Math.abs(t)))?t[1]:NaN}var Li,Ii=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Oi(t){if(!(e=Ii.exec(t)))throw new Error("invalid format: "+t);var e;return new Ni({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function Ni(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function Di(t,e){var n=Ai(t,e);if(!n)return t+"";var i=n[0],r=n[1];return r<0?"0."+new Array(-r).join("0")+i:i.length>r+1?i.slice(0,r+1)+"."+i.slice(r+1):i+new Array(r-i.length+2).join("0")}Oi.prototype=Ni.prototype,Ni.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const Pi={"%":(t,e)=>(100*t).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>Di(100*t,e),r:Di,s:function(t,e){var n=Ai(t,e);if(!n)return t+"";var i=n[0],r=n[1],a=r-(Li=3*Math.max(-8,Math.min(8,Math.floor(r/3))))+1,o=i.length;return a===o?i:a>o?i+new Array(a-o+1).join("0"):a>0?i.slice(0,a)+"."+i.slice(a):"0."+new Array(1-a).join("0")+Ai(t,Math.max(0,e+a-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function Bi(t){return t}var Ri,Fi,$i,ji=Array.prototype.map,zi=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function qi(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t)}return this}Ri=function(t){var e=void 0===t.grouping||void 0===t.thousands?Bi:function(t,e){return function(n,i){for(var r=n.length,a=[],o=0,s=t[0],c=0;r>0&&s>0&&(c+s+1>i&&(s=Math.max(1,i-c)),a.push(n.substring(r-=s,r+s)),!((c+=s+1)>i));)s=t[o=(o+1)%t.length];return a.reverse().join(e)}}(ji.call(t.grouping,Number),t.thousands+""),n=void 0===t.currency?"":t.currency[0]+"",i=void 0===t.currency?"":t.currency[1]+"",r=void 0===t.decimal?".":t.decimal+"",a=void 0===t.numerals?Bi:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(ji.call(t.numerals,String)),o=void 0===t.percent?"%":t.percent+"",s=void 0===t.minus?"−":t.minus+"",c=void 0===t.nan?"NaN":t.nan+"";function l(t){var l=(t=Oi(t)).fill,u=t.align,h=t.sign,f=t.symbol,d=t.zero,g=t.width,p=t.comma,b=t.precision,m=t.trim,y=t.type;"n"===y?(p=!0,y="g"):Pi[y]||(void 0===b&&(b=12),m=!0,y="g"),(d||"0"===l&&"="===u)&&(d=!0,l="0",u="=");var w="$"===f?n:"#"===f&&/[boxX]/.test(y)?"0"+y.toLowerCase():"",v="$"===f?i:/[%p]/.test(y)?o:"",x=Pi[y],k=/[defgprs%]/.test(y);function _(t){var n,i,o,f=w,_=v;if("c"===y)_=x(t)+_,t="";else{var T=(t=+t)<0||1/t<0;if(t=isNaN(t)?c:x(Math.abs(t),b),m&&(t=function(t){t:for(var e,n=t.length,i=1,r=-1;i0&&(r=0)}return r>0?t.slice(0,r)+t.slice(e+1):t}(t)),T&&0==+t&&"+"!==h&&(T=!1),f=(T?"("===h?h:s:"-"===h||"("===h?"":h)+f,_=("s"===y?zi[8+Li/3]:"")+_+(T&&"("===h?")":""),k)for(n=-1,i=t.length;++n(o=t.charCodeAt(n))||o>57){_=(46===o?r+t.slice(n+1):t.slice(n))+_,t=t.slice(0,n);break}}p&&!d&&(t=e(t,1/0));var E=f.length+t.length+_.length,S=E>1)+f+t+_+S.slice(E);break;default:t=S+f+t+_}return a(t)}return b=void 0===b?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b)),_.toString=function(){return t+""},_}return{format:l,formatPrefix:function(t,e){var n=l(((t=Oi(t)).type="f",t)),i=3*Math.max(-8,Math.min(8,Math.floor(Mi(e)/3))),r=Math.pow(10,-i),a=zi[8+i/3];return function(t){return n(r*t)+a}}}}({thousands:",",grouping:[3],currency:["$",""]}),Fi=Ri.format,$i=Ri.formatPrefix;const Hi=Symbol("implicit");function Ui(){var t=new w,e=[],n=[],i=Hi;function r(r){let a=t.get(r);if(void 0===a){if(i!==Hi)return i;t.set(r,a=e.push(r)-1)}return n[a%n.length]}return r.domain=function(n){if(!arguments.length)return e.slice();e=[],t=new w;for(const i of n)t.has(i)||t.set(i,e.push(i)-1);return r},r.range=function(t){return arguments.length?(n=Array.from(t),r):n.slice()},r.unknown=function(t){return arguments.length?(i=t,r):i},r.copy=function(){return Ui(e,n).unknown(i)},qi.apply(r,arguments),r}function Gi(){var t,e,n=Ui().unknown(void 0),i=n.domain,r=n.range,a=0,o=1,s=!1,c=0,l=0,u=.5;function h(){var n=i().length,h=oe&&(n=t,t=e,e=n),function(n){return Math.max(t,Math.min(e,n))}}(o[0],o[t-1])),i=t>2?Qi:Xi,r=a=null,h}function h(e){return null==e||isNaN(e=+e)?n:(r||(r=i(o.map(t),s,c)))(t(l(e)))}return h.invert=function(n){return l(e((a||(a=i(s,o.map(t),un)))(n)))},h.domain=function(t){return arguments.length?(o=Array.from(t,Ki),u()):o.slice()},h.range=function(t){return arguments.length?(s=Array.from(t),u()):s.slice()},h.rangeRound=function(t){return s=Array.from(t),c=bn,u()},h.clamp=function(t){return arguments.length?(l=!!t||Vi,u()):l!==Vi},h.interpolate=function(t){return arguments.length?(c=t,u()):c},h.unknown=function(t){return arguments.length?(n=t,h):n},function(n,i){return t=n,e=i,u()}}()(Vi,Vi)}function tr(t){var e=t.domain;return t.ticks=function(t){var n=e();return function(t,e,n){if(!((n=+n)>0))return[];if((t=+t)==(e=+e))return[t];const i=e=r))return[];const s=a-r+1,c=new Array(s);if(i)if(o<0)for(let t=0;t0;){if((r=S(c,l,n))===i)return a[o]=c,a[s]=l,e(a);if(r>0)c=Math.floor(c/r)*r,l=Math.ceil(l/r)*r;else{if(!(r<0))break;c=Math.ceil(c*r)/r,l=Math.floor(l*r)/r}i=r}return t},t}function er(){var t=Ji();return t.copy=function(){return Zi(t,er())},qi.apply(t,arguments),tr(t)}const nr=new Date,ir=new Date;function rr(t,e,n,i){function r(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return r.floor=e=>(t(e=new Date(+e)),e),r.ceil=n=>(t(n=new Date(n-1)),e(n,1),t(n),n),r.round=t=>{const e=r(t),n=r.ceil(t);return t-e(e(t=new Date(+t),null==n?1:Math.floor(n)),t),r.range=(n,i,a)=>{const o=[];if(n=r.ceil(n),a=null==a?1:Math.floor(a),!(n0))return o;let s;do{o.push(s=new Date(+n)),e(n,a),t(n)}while(srr((e=>{if(e>=e)for(;t(e),!n(e);)e.setTime(e-1)}),((t,i)=>{if(t>=t)if(i<0)for(;++i<=0;)for(;e(t,-1),!n(t););else for(;--i>=0;)for(;e(t,1),!n(t););})),n&&(r.count=(e,i)=>(nr.setTime(+e),ir.setTime(+i),t(nr),t(ir),Math.floor(n(nr,ir))),r.every=t=>(t=Math.floor(t),isFinite(t)&&t>0?t>1?r.filter(i?e=>i(e)%t==0:e=>r.count(0,e)%t==0):r:null)),r}const ar=rr((()=>{}),((t,e)=>{t.setTime(+t+e)}),((t,e)=>e-t));ar.every=t=>(t=Math.floor(t),isFinite(t)&&t>0?t>1?rr((e=>{e.setTime(Math.floor(e/t)*t)}),((e,n)=>{e.setTime(+e+n*t)}),((e,n)=>(n-e)/t)):ar:null),ar.range;const or=1e3,sr=6e4,cr=60*sr,lr=24*cr,ur=7*lr,hr=30*lr,fr=365*lr,dr=rr((t=>{t.setTime(t-t.getMilliseconds())}),((t,e)=>{t.setTime(+t+e*or)}),((t,e)=>(e-t)/or),(t=>t.getUTCSeconds()));dr.range;const gr=rr((t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*or)}),((t,e)=>{t.setTime(+t+e*sr)}),((t,e)=>(e-t)/sr),(t=>t.getMinutes()));gr.range,rr((t=>{t.setUTCSeconds(0,0)}),((t,e)=>{t.setTime(+t+e*sr)}),((t,e)=>(e-t)/sr),(t=>t.getUTCMinutes())).range;const pr=rr((t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*or-t.getMinutes()*sr)}),((t,e)=>{t.setTime(+t+e*cr)}),((t,e)=>(e-t)/cr),(t=>t.getHours()));pr.range,rr((t=>{t.setUTCMinutes(0,0,0)}),((t,e)=>{t.setTime(+t+e*cr)}),((t,e)=>(e-t)/cr),(t=>t.getUTCHours())).range;const br=rr((t=>t.setHours(0,0,0,0)),((t,e)=>t.setDate(t.getDate()+e)),((t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*sr)/lr),(t=>t.getDate()-1));br.range;const mr=rr((t=>{t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+e)}),((t,e)=>(e-t)/lr),(t=>t.getUTCDate()-1));function yr(t){return rr((e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),((t,e)=>{t.setDate(t.getDate()+7*e)}),((t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*sr)/ur))}mr.range,rr((t=>{t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+e)}),((t,e)=>(e-t)/lr),(t=>Math.floor(t/lr))).range;const wr=yr(0),vr=yr(1),xr=yr(2),kr=yr(3),_r=yr(4),Tr=yr(5),Er=yr(6);function Sr(t){return rr((e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+7*e)}),((t,e)=>(e-t)/ur))}wr.range,vr.range,xr.range,kr.range,_r.range,Tr.range,Er.range;const Cr=Sr(0),Ar=Sr(1),Mr=Sr(2),Lr=Sr(3),Ir=Sr(4),Or=Sr(5),Nr=Sr(6);Cr.range,Ar.range,Mr.range,Lr.range,Ir.range,Or.range,Nr.range;const Dr=rr((t=>{t.setDate(1),t.setHours(0,0,0,0)}),((t,e)=>{t.setMonth(t.getMonth()+e)}),((t,e)=>e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())),(t=>t.getMonth()));Dr.range,rr((t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)}),((t,e)=>e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())),(t=>t.getUTCMonth())).range;const Pr=rr((t=>{t.setMonth(0,1),t.setHours(0,0,0,0)}),((t,e)=>{t.setFullYear(t.getFullYear()+e)}),((t,e)=>e.getFullYear()-t.getFullYear()),(t=>t.getFullYear()));Pr.every=t=>isFinite(t=Math.floor(t))&&t>0?rr((e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),((e,n)=>{e.setFullYear(e.getFullYear()+n*t)})):null,Pr.range;const Br=rr((t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)}),((t,e)=>e.getUTCFullYear()-t.getUTCFullYear()),(t=>t.getUTCFullYear()));Br.every=t=>isFinite(t=Math.floor(t))&&t>0?rr((e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),((e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)})):null,Br.range;const[Rr,Fr]=function(t,e,n,i,r,a){const o=[[dr,1,or],[dr,5,5e3],[dr,15,15e3],[dr,30,3e4],[a,1,sr],[a,5,5*sr],[a,15,15*sr],[a,30,30*sr],[r,1,cr],[r,3,3*cr],[r,6,6*cr],[r,12,12*cr],[i,1,lr],[i,2,2*lr],[n,1,ur],[e,1,hr],[e,3,3*hr],[t,1,fr]];function s(e,n,i){const r=Math.abs(n-e)/i,a=p((([,,t])=>t)).right(o,r);if(a===o.length)return t.every(C(e/fr,n/fr,i));if(0===a)return ar.every(Math.max(C(e,n,i),1));const[s,c]=o[r/o[a-1][2][t.toLowerCase(),e])))}function Zr(t,e,n){var i=Gr.exec(e.slice(n,n+1));return i?(t.w=+i[0],n+i[0].length):-1}function Jr(t,e,n){var i=Gr.exec(e.slice(n,n+1));return i?(t.u=+i[0],n+i[0].length):-1}function ta(t,e,n){var i=Gr.exec(e.slice(n,n+2));return i?(t.U=+i[0],n+i[0].length):-1}function ea(t,e,n){var i=Gr.exec(e.slice(n,n+2));return i?(t.V=+i[0],n+i[0].length):-1}function na(t,e,n){var i=Gr.exec(e.slice(n,n+2));return i?(t.W=+i[0],n+i[0].length):-1}function ia(t,e,n){var i=Gr.exec(e.slice(n,n+4));return i?(t.y=+i[0],n+i[0].length):-1}function ra(t,e,n){var i=Gr.exec(e.slice(n,n+2));return i?(t.y=+i[0]+(+i[0]>68?1900:2e3),n+i[0].length):-1}function aa(t,e,n){var i=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return i?(t.Z=i[1]?0:-(i[2]+(i[3]||"00")),n+i[0].length):-1}function oa(t,e,n){var i=Gr.exec(e.slice(n,n+1));return i?(t.q=3*i[0]-3,n+i[0].length):-1}function sa(t,e,n){var i=Gr.exec(e.slice(n,n+2));return i?(t.m=i[0]-1,n+i[0].length):-1}function ca(t,e,n){var i=Gr.exec(e.slice(n,n+2));return i?(t.d=+i[0],n+i[0].length):-1}function la(t,e,n){var i=Gr.exec(e.slice(n,n+3));return i?(t.m=0,t.d=+i[0],n+i[0].length):-1}function ua(t,e,n){var i=Gr.exec(e.slice(n,n+2));return i?(t.H=+i[0],n+i[0].length):-1}function ha(t,e,n){var i=Gr.exec(e.slice(n,n+2));return i?(t.M=+i[0],n+i[0].length):-1}function fa(t,e,n){var i=Gr.exec(e.slice(n,n+2));return i?(t.S=+i[0],n+i[0].length):-1}function da(t,e,n){var i=Gr.exec(e.slice(n,n+3));return i?(t.L=+i[0],n+i[0].length):-1}function ga(t,e,n){var i=Gr.exec(e.slice(n,n+6));return i?(t.L=Math.floor(i[0]/1e3),n+i[0].length):-1}function pa(t,e,n){var i=Kr.exec(e.slice(n,n+1));return i?n+i[0].length:-1}function ba(t,e,n){var i=Gr.exec(e.slice(n));return i?(t.Q=+i[0],n+i[0].length):-1}function ma(t,e,n){var i=Gr.exec(e.slice(n));return i?(t.s=+i[0],n+i[0].length):-1}function ya(t,e){return Vr(t.getDate(),e,2)}function wa(t,e){return Vr(t.getHours(),e,2)}function va(t,e){return Vr(t.getHours()%12||12,e,2)}function xa(t,e){return Vr(1+br.count(Pr(t),t),e,3)}function ka(t,e){return Vr(t.getMilliseconds(),e,3)}function _a(t,e){return ka(t,e)+"000"}function Ta(t,e){return Vr(t.getMonth()+1,e,2)}function Ea(t,e){return Vr(t.getMinutes(),e,2)}function Sa(t,e){return Vr(t.getSeconds(),e,2)}function Ca(t){var e=t.getDay();return 0===e?7:e}function Aa(t,e){return Vr(wr.count(Pr(t)-1,t),e,2)}function Ma(t){var e=t.getDay();return e>=4||0===e?_r(t):_r.ceil(t)}function La(t,e){return t=Ma(t),Vr(_r.count(Pr(t),t)+(4===Pr(t).getDay()),e,2)}function Ia(t){return t.getDay()}function Oa(t,e){return Vr(vr.count(Pr(t)-1,t),e,2)}function Na(t,e){return Vr(t.getFullYear()%100,e,2)}function Da(t,e){return Vr((t=Ma(t)).getFullYear()%100,e,2)}function Pa(t,e){return Vr(t.getFullYear()%1e4,e,4)}function Ba(t,e){var n=t.getDay();return Vr((t=n>=4||0===n?_r(t):_r.ceil(t)).getFullYear()%1e4,e,4)}function Ra(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Vr(e/60|0,"0",2)+Vr(e%60,"0",2)}function Fa(t,e){return Vr(t.getUTCDate(),e,2)}function $a(t,e){return Vr(t.getUTCHours(),e,2)}function ja(t,e){return Vr(t.getUTCHours()%12||12,e,2)}function za(t,e){return Vr(1+mr.count(Br(t),t),e,3)}function qa(t,e){return Vr(t.getUTCMilliseconds(),e,3)}function Ha(t,e){return qa(t,e)+"000"}function Ua(t,e){return Vr(t.getUTCMonth()+1,e,2)}function Ga(t,e){return Vr(t.getUTCMinutes(),e,2)}function Ka(t,e){return Vr(t.getUTCSeconds(),e,2)}function Ya(t){var e=t.getUTCDay();return 0===e?7:e}function Va(t,e){return Vr(Cr.count(Br(t)-1,t),e,2)}function Wa(t){var e=t.getUTCDay();return e>=4||0===e?Ir(t):Ir.ceil(t)}function Xa(t,e){return t=Wa(t),Vr(Ir.count(Br(t),t)+(4===Br(t).getUTCDay()),e,2)}function Qa(t){return t.getUTCDay()}function Za(t,e){return Vr(Ar.count(Br(t)-1,t),e,2)}function Ja(t,e){return Vr(t.getUTCFullYear()%100,e,2)}function to(t,e){return Vr((t=Wa(t)).getUTCFullYear()%100,e,2)}function eo(t,e){return Vr(t.getUTCFullYear()%1e4,e,4)}function no(t,e){var n=t.getUTCDay();return Vr((t=n>=4||0===n?Ir(t):Ir.ceil(t)).getUTCFullYear()%1e4,e,4)}function io(){return"+0000"}function ro(){return"%"}function ao(t){return+t}function oo(t){return Math.floor(+t/1e3)}function so(t){return new Date(t)}function co(t){return t instanceof Date?+t:+new Date(+t)}function lo(t,e,n,i,r,a,o,s,c,l){var u=Ji(),h=u.invert,f=u.domain,d=l(".%L"),g=l(":%S"),p=l("%I:%M"),b=l("%I %p"),m=l("%a %d"),y=l("%b %d"),w=l("%B"),v=l("%Y");function x(t){return(c(t)=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:ao,s:oo,S:Sa,u:Ca,U:Aa,V:La,w:Ia,W:Oa,x:null,X:null,y:Na,Y:Pa,Z:Ra,"%":ro},v={a:function(t){return o[t.getUTCDay()]},A:function(t){return a[t.getUTCDay()]},b:function(t){return c[t.getUTCMonth()]},B:function(t){return s[t.getUTCMonth()]},c:null,d:Fa,e:Fa,f:Ha,g:to,G:no,H:$a,I:ja,j:za,L:qa,m:Ua,M:Ga,p:function(t){return r[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:ao,s:oo,S:Ka,u:Ya,U:Va,V:Xa,w:Qa,W:Za,x:null,X:null,y:Ja,Y:eo,Z:io,"%":ro},x={a:function(t,e,n){var i=d.exec(e.slice(n));return i?(t.w=g.get(i[0].toLowerCase()),n+i[0].length):-1},A:function(t,e,n){var i=h.exec(e.slice(n));return i?(t.w=f.get(i[0].toLowerCase()),n+i[0].length):-1},b:function(t,e,n){var i=m.exec(e.slice(n));return i?(t.m=y.get(i[0].toLowerCase()),n+i[0].length):-1},B:function(t,e,n){var i=p.exec(e.slice(n));return i?(t.m=b.get(i[0].toLowerCase()),n+i[0].length):-1},c:function(t,n,i){return T(t,e,n,i)},d:ca,e:ca,f:ga,g:ra,G:ia,H:ua,I:ua,j:la,L:da,m:sa,M:ha,p:function(t,e,n){var i=l.exec(e.slice(n));return i?(t.p=u.get(i[0].toLowerCase()),n+i[0].length):-1},q:oa,Q:ba,s:ma,S:fa,u:Jr,U:ta,V:ea,w:Zr,W:na,x:function(t,e,i){return T(t,n,e,i)},X:function(t,e,n){return T(t,i,e,n)},y:ra,Y:ia,Z:aa,"%":pa};function k(t,e){return function(n){var i,r,a,o=[],s=-1,c=0,l=t.length;for(n instanceof Date||(n=new Date(+n));++s53)return null;"w"in a||(a.w=1),"Z"in a?(r=(i=jr(zr(a.y,0,1))).getUTCDay(),i=r>4||0===r?Ar.ceil(i):Ar(i),i=mr.offset(i,7*(a.V-1)),a.y=i.getUTCFullYear(),a.m=i.getUTCMonth(),a.d=i.getUTCDate()+(a.w+6)%7):(r=(i=$r(zr(a.y,0,1))).getDay(),i=r>4||0===r?vr.ceil(i):vr(i),i=br.offset(i,7*(a.V-1)),a.y=i.getFullYear(),a.m=i.getMonth(),a.d=i.getDate()+(a.w+6)%7)}else("W"in a||"U"in a)&&("w"in a||(a.w="u"in a?a.u%7:"W"in a?1:0),r="Z"in a?jr(zr(a.y,0,1)).getUTCDay():$r(zr(a.y,0,1)).getDay(),a.m=0,a.d="W"in a?(a.w+6)%7+7*a.W-(r+5)%7:a.w+7*a.U-(r+6)%7);return"Z"in a?(a.H+=a.Z/100|0,a.M+=a.Z%100,jr(a)):$r(a)}}function T(t,e,n,i){for(var r,a,o=0,s=e.length,c=n.length;o=c)return-1;if(37===(r=e.charCodeAt(o++))){if(r=e.charAt(o++),!(a=x[r in Ur?e.charAt(o++):r])||(i=a(t,n,i))<0)return-1}else if(r!=n.charCodeAt(i++))return-1}return i}return w.x=k(n,w),w.X=k(i,w),w.c=k(e,w),v.x=k(n,v),v.X=k(i,v),v.c=k(e,v),{format:function(t){var e=k(t+="",w);return e.toString=function(){return t},e},parse:function(t){var e=_(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=k(t+="",v);return e.toString=function(){return t},e},utcParse:function(t){var e=_(t+="",!0);return e.toString=function(){return t},e}}}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),Hr=qr.format,qr.parse,qr.utcFormat,qr.utcParse;const ho=function(t){for(var e=new Array(10),n=0;n<10;)e[n]="#"+t.slice(6*n,6*++n);return e}("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");function fo(t){return function(){return t}}const go=Math.abs,po=Math.atan2,bo=Math.cos,mo=Math.max,yo=Math.min,wo=Math.sin,vo=Math.sqrt,xo=1e-12,ko=Math.PI,_o=ko/2,To=2*ko;function Eo(t){return t>=1?_o:t<=-1?-_o:Math.asin(t)}function So(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(null==n)e=null;else{const t=Math.floor(n);if(!(t>=0))throw new RangeError(`invalid digits: ${n}`);e=t}return t},()=>new Ci(e)}function Co(t){return t.innerRadius}function Ao(t){return t.outerRadius}function Mo(t){return t.startAngle}function Lo(t){return t.endAngle}function Io(t){return t&&t.padAngle}function Oo(t,e,n,i,r,a,o){var s=t-n,c=e-i,l=(o?a:-a)/vo(s*s+c*c),u=l*c,h=-l*s,f=t+u,d=e+h,g=n+u,p=i+h,b=(f+g)/2,m=(d+p)/2,y=g-f,w=p-d,v=y*y+w*w,x=r-a,k=f*p-g*d,_=(w<0?-1:1)*vo(mo(0,x*x*v-k*k)),T=(k*w-y*_)/v,E=(-k*y-w*_)/v,S=(k*w+y*_)/v,C=(-k*y+w*_)/v,A=T-b,M=E-m,L=S-b,I=C-m;return A*A+M*M>L*L+I*I&&(T=S,E=C),{cx:T,cy:E,x01:-u,y01:-h,x11:T*(r/x-1),y11:E*(r/x-1)}}function No(){var t=Co,e=Ao,n=fo(0),i=null,r=Mo,a=Lo,o=Io,s=null,c=So(l);function l(){var l,u,h=+t.apply(this,arguments),f=+e.apply(this,arguments),d=r.apply(this,arguments)-_o,g=a.apply(this,arguments)-_o,p=go(g-d),b=g>d;if(s||(s=l=c()),fxo)if(p>To-xo)s.moveTo(f*bo(d),f*wo(d)),s.arc(0,0,f,d,g,!b),h>xo&&(s.moveTo(h*bo(g),h*wo(g)),s.arc(0,0,h,g,d,b));else{var m,y,w=d,v=g,x=d,k=g,_=p,T=p,E=o.apply(this,arguments)/2,S=E>xo&&(i?+i.apply(this,arguments):vo(h*h+f*f)),C=yo(go(f-h)/2,+n.apply(this,arguments)),A=C,M=C;if(S>xo){var L=Eo(S/h*wo(E)),I=Eo(S/f*wo(E));(_-=2*L)>xo?(x+=L*=b?1:-1,k-=L):(_=0,x=k=(d+g)/2),(T-=2*I)>xo?(w+=I*=b?1:-1,v-=I):(T=0,w=v=(d+g)/2)}var O=f*bo(w),N=f*wo(w),D=h*bo(k),P=h*wo(k);if(C>xo){var B,R=f*bo(v),F=f*wo(v),$=h*bo(x),j=h*wo(x);if(p1?0:t<-1?ko:Math.acos(t)}((z*H+q*U)/(vo(z*z+q*q)*vo(H*H+U*U)))/2),K=vo(B[0]*B[0]+B[1]*B[1]);A=yo(C,(h-K)/(G-1)),M=yo(C,(f-K)/(G+1))}else A=M=0}T>xo?M>xo?(m=Oo($,j,O,N,f,M,b),y=Oo(R,F,D,P,f,M,b),s.moveTo(m.cx+m.x01,m.cy+m.y01),Mxo&&_>xo?A>xo?(m=Oo(D,P,R,F,h,-A,b),y=Oo(O,N,$,j,h,-A,b),s.lineTo(m.cx+m.x01,m.cy+m.y01),At?1:e>=t?0:NaN}function zo(t){return t}Po.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}};class qo{constructor(t,e){this._context=t,this._x=e}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,e,t,e):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+e)/2,t,this._y0,t,e)}this._x0=t,this._y0=e}}function Ho(){}function Uo(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function Go(t){this._context=t}function Ko(t){return new Go(t)}function Yo(t){this._context=t}function Vo(t){this._context=t}function Wo(t,e){this._basis=new Go(t),this._beta=e}Go.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Uo(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Uo(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},Yo.prototype={areaStart:Ho,areaEnd:Ho,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:Uo(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},Vo.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,i=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,i):this._context.moveTo(n,i);break;case 3:this._point=4;default:Uo(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},Wo.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var i,r=t[0],a=e[0],o=t[n]-r,s=e[n]-a,c=-1;++c<=n;)i=c/n,this._basis.point(this._beta*t[c]+(1-this._beta)*(r+i*o),this._beta*e[c]+(1-this._beta)*(a+i*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const Xo=function t(e){function n(t){return 1===e?new Go(t):new Wo(t,e)}return n.beta=function(e){return t(+e)},n}(.85);function Qo(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function Zo(t,e){this._context=t,this._k=(1-e)/6}Zo.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Qo(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Qo(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const Jo=function t(e){function n(t){return new Zo(t,e)}return n.tension=function(e){return t(+e)},n}(0);function ts(t,e){this._context=t,this._k=(1-e)/6}ts.prototype={areaStart:Ho,areaEnd:Ho,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Qo(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const es=function t(e){function n(t){return new ts(t,e)}return n.tension=function(e){return t(+e)},n}(0);function ns(t,e){this._context=t,this._k=(1-e)/6}ns.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Qo(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const is=function t(e){function n(t){return new ns(t,e)}return n.tension=function(e){return t(+e)},n}(0);function rs(t,e,n){var i=t._x1,r=t._y1,a=t._x2,o=t._y2;if(t._l01_a>xo){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);i=(i*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,r=(r*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>xo){var l=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,u=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*l+t._x1*t._l23_2a-e*t._l12_2a)/u,o=(o*l+t._y1*t._l23_2a-n*t._l12_2a)/u}t._context.bezierCurveTo(i,r,a,o,t._x2,t._y2)}function as(t,e){this._context=t,this._alpha=e}as.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:rs(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const os=function t(e){function n(t){return e?new as(t,e):new Zo(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function ss(t,e){this._context=t,this._alpha=e}ss.prototype={areaStart:Ho,areaEnd:Ho,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:rs(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const cs=function t(e){function n(t){return e?new ss(t,e):new ts(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function ls(t,e){this._context=t,this._alpha=e}ls.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:rs(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const us=function t(e){function n(t){return e?new ls(t,e):new ns(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function hs(t){this._context=t}function fs(t){return t<0?-1:1}function ds(t,e,n){var i=t._x1-t._x0,r=e-t._x1,a=(t._y1-t._y0)/(i||r<0&&-0),o=(n-t._y1)/(r||i<0&&-0),s=(a*r+o*i)/(i+r);return(fs(a)+fs(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function gs(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function ps(t,e,n){var i=t._x0,r=t._y0,a=t._x1,o=t._y1,s=(a-i)/3;t._context.bezierCurveTo(i+s,r+s*e,a-s,o-s*n,a,o)}function bs(t){this._context=t}function ms(t){this._context=new ys(t)}function ys(t){this._context=t}function ws(t){this._context=t}function vs(t){var e,n,i=t.length-1,r=new Array(i),a=new Array(i),o=new Array(i);for(r[0]=0,a[0]=2,o[0]=t[0]+2*t[1],e=1;e=0;--e)r[e]=(o[e]-r[e+1])/a[e];for(a[i-1]=(t[i]+r[i-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}},ks.prototype={constructor:ks,scale:function(t){return 1===t?this:new ks(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new ks(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},ks.prototype;const{entries:_s,setPrototypeOf:Ts,isFrozen:Es,getPrototypeOf:Ss,getOwnPropertyDescriptor:Cs}=Object;let{freeze:As,seal:Ms,create:Ls}=Object,{apply:Is,construct:Os}=typeof Reflect<"u"&&Reflect;As||(As=function(t){return t}),Ms||(Ms=function(t){return t}),Is||(Is=function(t,e,n){return t.apply(e,n)}),Os||(Os=function(t,e){return new t(...e)});const Ns=Ks(Array.prototype.forEach),Ds=Ks(Array.prototype.pop),Ps=Ks(Array.prototype.push),Bs=Ks(String.prototype.toLowerCase),Rs=Ks(String.prototype.toString),Fs=Ks(String.prototype.match),$s=Ks(String.prototype.replace),js=Ks(String.prototype.indexOf),zs=Ks(String.prototype.trim),qs=Ks(Object.prototype.hasOwnProperty),Hs=Ks(RegExp.prototype.test),Us=(Gs=TypeError,function(){for(var t=arguments.length,e=new Array(t),n=0;n1?n-1:0),r=1;r2&&void 0!==arguments[2]?arguments[2]:Bs;Ts&&Ts(t,null);let i=e.length;for(;i--;){let r=e[i];if("string"==typeof r){const t=n(r);t!==r&&(Es(e)||(e[i]=t),r=t)}t[r]=!0}return t}function Vs(t){for(let e=0;e/gm),uc=Ms(/\${[\w\W]*}/gm),hc=Ms(/^data-[\-\w.\u00B7-\uFFFF]/),fc=Ms(/^aria-[\-\w]+$/),dc=Ms(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),gc=Ms(/^(?:\w+script|data):/i),pc=Ms(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),bc=Ms(/^html$/i);var mc=Object.freeze({__proto__:null,MUSTACHE_EXPR:cc,ERB_EXPR:lc,TMPLIT_EXPR:uc,DATA_ATTR:hc,ARIA_ATTR:fc,IS_ALLOWED_URI:dc,IS_SCRIPT_OR_DATA:gc,ATTR_WHITESPACE:pc,DOCTYPE_NAME:bc}),yc=function t(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:typeof window>"u"?null:window;const n=e=>t(e);if(n.version="3.0.9",n.removed=[],!e||!e.document||9!==e.document.nodeType)return n.isSupported=!1,n;let{document:i}=e;const r=i,a=r.currentScript,{DocumentFragment:o,HTMLTemplateElement:s,Node:c,Element:l,NodeFilter:u,NamedNodeMap:h=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:f,DOMParser:d,trustedTypes:g}=e,p=l.prototype,b=Xs(p,"cloneNode"),m=Xs(p,"nextSibling"),y=Xs(p,"childNodes"),w=Xs(p,"parentNode");if("function"==typeof s){const t=i.createElement("template");t.content&&t.content.ownerDocument&&(i=t.content.ownerDocument)}let v,x="";const{implementation:k,createNodeIterator:_,createDocumentFragment:T,getElementsByTagName:E}=i,{importNode:S}=r;let C={};n.isSupported="function"==typeof _s&&"function"==typeof w&&k&&void 0!==k.createHTMLDocument;const{MUSTACHE_EXPR:A,ERB_EXPR:M,TMPLIT_EXPR:L,DATA_ATTR:I,ARIA_ATTR:O,IS_SCRIPT_OR_DATA:N,ATTR_WHITESPACE:D}=mc;let{IS_ALLOWED_URI:P}=mc,B=null;const R=Ys({},[...Qs,...Zs,...Js,...ec,...ic]);let F=null;const $=Ys({},[...rc,...ac,...oc,...sc]);let j=Object.seal(Ls(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),z=null,q=null,H=!0,U=!0,G=!1,K=!0,Y=!1,V=!1,W=!1,X=!1,Q=!1,Z=!1,J=!1,tt=!0,et=!1,nt=!0,it=!1,rt={},at=null;const ot=Ys({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let st=null;const ct=Ys({},["audio","video","img","source","image","track"]);let lt=null;const ut=Ys({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ht="http://www.w3.org/1998/Math/MathML",ft="http://www.w3.org/2000/svg",dt="http://www.w3.org/1999/xhtml";let gt=dt,pt=!1,bt=null;const mt=Ys({},[ht,ft,dt],Rs);let yt=null;const wt=["application/xhtml+xml","text/html"];let vt=null,xt=null;const kt=i.createElement("form"),_t=function(t){return t instanceof RegExp||t instanceof Function},Tt=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!xt||xt!==t){if((!t||"object"!=typeof t)&&(t={}),t=Ws(t),yt=-1===wt.indexOf(t.PARSER_MEDIA_TYPE)?"text/html":t.PARSER_MEDIA_TYPE,vt="application/xhtml+xml"===yt?Rs:Bs,B=qs(t,"ALLOWED_TAGS")?Ys({},t.ALLOWED_TAGS,vt):R,F=qs(t,"ALLOWED_ATTR")?Ys({},t.ALLOWED_ATTR,vt):$,bt=qs(t,"ALLOWED_NAMESPACES")?Ys({},t.ALLOWED_NAMESPACES,Rs):mt,lt=qs(t,"ADD_URI_SAFE_ATTR")?Ys(Ws(ut),t.ADD_URI_SAFE_ATTR,vt):ut,st=qs(t,"ADD_DATA_URI_TAGS")?Ys(Ws(ct),t.ADD_DATA_URI_TAGS,vt):ct,at=qs(t,"FORBID_CONTENTS")?Ys({},t.FORBID_CONTENTS,vt):ot,z=qs(t,"FORBID_TAGS")?Ys({},t.FORBID_TAGS,vt):{},q=qs(t,"FORBID_ATTR")?Ys({},t.FORBID_ATTR,vt):{},rt=!!qs(t,"USE_PROFILES")&&t.USE_PROFILES,H=!1!==t.ALLOW_ARIA_ATTR,U=!1!==t.ALLOW_DATA_ATTR,G=t.ALLOW_UNKNOWN_PROTOCOLS||!1,K=!1!==t.ALLOW_SELF_CLOSE_IN_ATTR,Y=t.SAFE_FOR_TEMPLATES||!1,V=t.WHOLE_DOCUMENT||!1,Q=t.RETURN_DOM||!1,Z=t.RETURN_DOM_FRAGMENT||!1,J=t.RETURN_TRUSTED_TYPE||!1,X=t.FORCE_BODY||!1,tt=!1!==t.SANITIZE_DOM,et=t.SANITIZE_NAMED_PROPS||!1,nt=!1!==t.KEEP_CONTENT,it=t.IN_PLACE||!1,P=t.ALLOWED_URI_REGEXP||dc,gt=t.NAMESPACE||dt,j=t.CUSTOM_ELEMENT_HANDLING||{},t.CUSTOM_ELEMENT_HANDLING&&_t(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(j.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&_t(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(j.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(j.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Y&&(U=!1),Z&&(Q=!0),rt&&(B=Ys({},ic),F=[],!0===rt.html&&(Ys(B,Qs),Ys(F,rc)),!0===rt.svg&&(Ys(B,Zs),Ys(F,ac),Ys(F,sc)),!0===rt.svgFilters&&(Ys(B,Js),Ys(F,ac),Ys(F,sc)),!0===rt.mathMl&&(Ys(B,ec),Ys(F,oc),Ys(F,sc))),t.ADD_TAGS&&(B===R&&(B=Ws(B)),Ys(B,t.ADD_TAGS,vt)),t.ADD_ATTR&&(F===$&&(F=Ws(F)),Ys(F,t.ADD_ATTR,vt)),t.ADD_URI_SAFE_ATTR&&Ys(lt,t.ADD_URI_SAFE_ATTR,vt),t.FORBID_CONTENTS&&(at===ot&&(at=Ws(at)),Ys(at,t.FORBID_CONTENTS,vt)),nt&&(B["#text"]=!0),V&&Ys(B,["html","head","body"]),B.table&&(Ys(B,["tbody"]),delete z.tbody),t.TRUSTED_TYPES_POLICY){if("function"!=typeof t.TRUSTED_TYPES_POLICY.createHTML)throw Us('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof t.TRUSTED_TYPES_POLICY.createScriptURL)throw Us('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');v=t.TRUSTED_TYPES_POLICY,x=v.createHTML("")}else void 0===v&&(v=function(t,e){if("object"!=typeof t||"function"!=typeof t.createPolicy)return null;let n=null;const i="data-tt-policy-suffix";e&&e.hasAttribute(i)&&(n=e.getAttribute(i));const r="dompurify"+(n?"#"+n:"");try{return t.createPolicy(r,{createHTML:t=>t,createScriptURL:t=>t})}catch{return console.warn("TrustedTypes policy "+r+" could not be created."),null}}(g,a)),null!==v&&"string"==typeof x&&(x=v.createHTML(""));As&&As(t),xt=t}},Et=Ys({},["mi","mo","mn","ms","mtext"]),St=Ys({},["foreignobject","desc","title","annotation-xml"]),Ct=Ys({},["title","style","font","a","script"]),At=Ys({},[...Zs,...Js,...tc]),Mt=Ys({},[...ec,...nc]),Lt=function(t){Ps(n.removed,{element:t});try{t.parentNode.removeChild(t)}catch{t.remove()}},It=function(t,e){try{Ps(n.removed,{attribute:e.getAttributeNode(t),from:e})}catch{Ps(n.removed,{attribute:null,from:e})}if(e.removeAttribute(t),"is"===t&&!F[t])if(Q||Z)try{Lt(e)}catch{}else try{e.setAttribute(t,"")}catch{}},Ot=function(t){let e=null,n=null;if(X)t=""+t;else{const e=Fs(t,/^[\r\n\t ]+/);n=e&&e[0]}"application/xhtml+xml"===yt&>===dt&&(t=''+t+"");const r=v?v.createHTML(t):t;if(gt===dt)try{e=(new d).parseFromString(r,yt)}catch{}if(!e||!e.documentElement){e=k.createDocument(gt,"template",null);try{e.documentElement.innerHTML=pt?x:r}catch{}}const a=e.body||e.documentElement;return t&&n&&a.insertBefore(i.createTextNode(n),a.childNodes[0]||null),gt===dt?E.call(e,V?"html":"body")[0]:V?e.documentElement:a},Nt=function(t){return _.call(t.ownerDocument||t,t,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT,null)},Dt=function(t){return"function"==typeof c&&t instanceof c},Pt=function(t,e,i){C[t]&&Ns(C[t],(t=>{t.call(n,e,i,xt)}))},Bt=function(t){let e=null;if(Pt("beforeSanitizeElements",t,null),function(t){return t instanceof f&&("string"!=typeof t.nodeName||"string"!=typeof t.textContent||"function"!=typeof t.removeChild||!(t.attributes instanceof h)||"function"!=typeof t.removeAttribute||"function"!=typeof t.setAttribute||"string"!=typeof t.namespaceURI||"function"!=typeof t.insertBefore||"function"!=typeof t.hasChildNodes)}(t))return Lt(t),!0;const i=vt(t.nodeName);if(Pt("uponSanitizeElement",t,{tagName:i,allowedTags:B}),t.hasChildNodes()&&!Dt(t.firstElementChild)&&Hs(/<[/\w]/g,t.innerHTML)&&Hs(/<[/\w]/g,t.textContent))return Lt(t),!0;if(!B[i]||z[i]){if(!z[i]&&Ft(i)&&(j.tagNameCheck instanceof RegExp&&Hs(j.tagNameCheck,i)||j.tagNameCheck instanceof Function&&j.tagNameCheck(i)))return!1;if(nt&&!at[i]){const e=w(t)||t.parentNode,n=y(t)||t.childNodes;if(n&&e)for(let i=n.length-1;i>=0;--i)e.insertBefore(b(n[i],!0),m(t))}return Lt(t),!0}return t instanceof l&&!function(t){let e=w(t);(!e||!e.tagName)&&(e={namespaceURI:gt,tagName:"template"});const n=Bs(t.tagName),i=Bs(e.tagName);return!!bt[t.namespaceURI]&&(t.namespaceURI===ft?e.namespaceURI===dt?"svg"===n:e.namespaceURI===ht?"svg"===n&&("annotation-xml"===i||Et[i]):!!At[n]:t.namespaceURI===ht?e.namespaceURI===dt?"math"===n:e.namespaceURI===ft?"math"===n&&St[i]:!!Mt[n]:t.namespaceURI===dt?!(e.namespaceURI===ft&&!St[i]||e.namespaceURI===ht&&!Et[i])&&!Mt[n]&&(Ct[n]||!At[n]):!("application/xhtml+xml"!==yt||!bt[t.namespaceURI]))}(t)||("noscript"===i||"noembed"===i||"noframes"===i)&&Hs(/<\/no(script|embed|frames)/i,t.innerHTML)?(Lt(t),!0):(Y&&3===t.nodeType&&(e=t.textContent,Ns([A,M,L],(t=>{e=$s(e,t," ")})),t.textContent!==e&&(Ps(n.removed,{element:t.cloneNode()}),t.textContent=e)),Pt("afterSanitizeElements",t,null),!1)},Rt=function(t,e,n){if(tt&&("id"===e||"name"===e)&&(n in i||n in kt))return!1;if((!U||q[e]||!Hs(I,e))&&(!H||!Hs(O,e)))if(!F[e]||q[e]){if(!(Ft(t)&&(j.tagNameCheck instanceof RegExp&&Hs(j.tagNameCheck,t)||j.tagNameCheck instanceof Function&&j.tagNameCheck(t))&&(j.attributeNameCheck instanceof RegExp&&Hs(j.attributeNameCheck,e)||j.attributeNameCheck instanceof Function&&j.attributeNameCheck(e))||"is"===e&&j.allowCustomizedBuiltInElements&&(j.tagNameCheck instanceof RegExp&&Hs(j.tagNameCheck,n)||j.tagNameCheck instanceof Function&&j.tagNameCheck(n))))return!1}else if(!lt[e]&&!Hs(P,$s(n,D,""))&&("src"!==e&&"xlink:href"!==e&&"href"!==e||"script"===t||0!==js(n,"data:")||!st[t])&&(!G||Hs(N,$s(n,D,"")))&&n)return!1;return!0},Ft=function(t){return"annotation-xml"!==t&&t.indexOf("-")>0},$t=function(t){Pt("beforeSanitizeAttributes",t,null);const{attributes:e}=t;if(!e)return;const i={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:F};let r=e.length;for(;r--;){const a=e[r],{name:o,namespaceURI:s,value:c}=a,l=vt(o);let u="value"===o?c:zs(c);if(i.attrName=l,i.attrValue=u,i.keepAttr=!0,i.forceKeepAttr=void 0,Pt("uponSanitizeAttribute",t,i),u=i.attrValue,i.forceKeepAttr||(It(o,t),!i.keepAttr))continue;if(!K&&Hs(/\/>/i,u)){It(o,t);continue}Y&&Ns([A,M,L],(t=>{u=$s(u,t," ")}));const h=vt(t.nodeName);if(Rt(h,l,u)){if(et&&("id"===l||"name"===l)&&(It(o,t),u="user-content-"+u),v&&"object"==typeof g&&"function"==typeof g.getAttributeType&&!s)switch(g.getAttributeType(h,l)){case"TrustedHTML":u=v.createHTML(u);break;case"TrustedScriptURL":u=v.createScriptURL(u)}try{s?t.setAttributeNS(s,o,u):t.setAttribute(o,u),Ds(n.removed)}catch{}}}Pt("afterSanitizeAttributes",t,null)},jt=function t(e){let n=null;const i=Nt(e);for(Pt("beforeSanitizeShadowDOM",e,null);n=i.nextNode();)Pt("uponSanitizeShadowNode",n,null),!Bt(n)&&(n.content instanceof o&&t(n.content),$t(n));Pt("afterSanitizeShadowDOM",e,null)};return n.sanitize=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=null,a=null,s=null,l=null;if(pt=!t,pt&&(t="\x3c!--\x3e"),"string"!=typeof t&&!Dt(t)){if("function"!=typeof t.toString)throw Us("toString is not a function");if("string"!=typeof(t=t.toString()))throw Us("dirty is not a string, aborting")}if(!n.isSupported)return t;if(W||Tt(e),n.removed=[],"string"==typeof t&&(it=!1),it){if(t.nodeName){const e=vt(t.nodeName);if(!B[e]||z[e])throw Us("root node is forbidden and cannot be sanitized in-place")}}else if(t instanceof c)i=Ot("\x3c!----\x3e"),a=i.ownerDocument.importNode(t,!0),1===a.nodeType&&"BODY"===a.nodeName||"HTML"===a.nodeName?i=a:i.appendChild(a);else{if(!Q&&!Y&&!V&&-1===t.indexOf("<"))return v&&J?v.createHTML(t):t;if(i=Ot(t),!i)return Q?null:J?x:""}i&&X&&Lt(i.firstChild);const u=Nt(it?t:i);for(;s=u.nextNode();)Bt(s)||(s.content instanceof o&&jt(s.content),$t(s));if(it)return t;if(Q){if(Z)for(l=T.call(i.ownerDocument);i.firstChild;)l.appendChild(i.firstChild);else l=i;return(F.shadowroot||F.shadowrootmode)&&(l=S.call(r,l,!0)),l}let h=V?i.outerHTML:i.innerHTML;return V&&B["!doctype"]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&Hs(bc,i.ownerDocument.doctype.name)&&(h="\n"+h),Y&&Ns([A,M,L],(t=>{h=$s(h,t," ")})),v&&J?v.createHTML(h):h},n.setConfig=function(){Tt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),W=!0},n.clearConfig=function(){xt=null,W=!1},n.isValidAttribute=function(t,e,n){xt||Tt({});const i=vt(t),r=vt(e);return Rt(i,r,n)},n.addHook=function(t,e){"function"==typeof e&&(C[t]=C[t]||[],Ps(C[t],e))},n.removeHook=function(t){if(C[t])return Ds(C[t])},n.removeHooks=function(t){C[t]&&(C[t]=[])},n.removeAllHooks=function(){C={}},n}();const wc=//gi,vc=(()=>{let t=!1;return()=>{t||(function(){const t="data-temp-href-target";yc.addHook("beforeSanitizeAttributes",(e=>{"A"===e.tagName&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")||"")})),yc.addHook("afterSanitizeAttributes",(e=>{"A"===e.tagName&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)||""),e.removeAttribute(t),"_blank"===e.getAttribute("target")&&e.setAttribute("rel","noopener"))}))}(),t=!0)}})(),xc=t=>(vc(),yc.sanitize(t)),kc=(t,e)=>{var n;if(!1!==(null==(n=e.flowchart)?void 0:n.htmlLabels)){const n=e.securityLevel;"antiscript"===n||"strict"===n?t=xc(t):"loose"!==n&&(t=(t=(t=Ec(t)).replace(//g,">")).replace(/=/g,"="),t=Tc(t))}return t},_c=(t,e)=>t&&(e.dompurifyConfig?yc.sanitize(kc(t,e),e.dompurifyConfig).toString():yc.sanitize(kc(t,e),{FORBID_TAGS:["style"]}).toString()),Tc=t=>t.replace(/#br#/g,"
"),Ec=t=>t.replace(wc,"#br#"),Sc=t=>!(!1===t||["false","null","0"].includes(String(t).trim().toLowerCase())),Cc=function(t){const e=t.split(/(,)/),n=[];for(let t=0;t0&&t+1Math.max(0,t.split(e).length-1),Mc=(t,e)=>{const n=Ac(t,"~"),i=Ac(e,"~");return 1===n&&1===i},Lc=t=>{const e=Ac(t,"~");let n=!1;if(e<=1)return t;e%2!=0&&t.startsWith("~")&&(t=t.substring(1),n=!0);const i=[...t];let r=i.indexOf("~"),a=i.lastIndexOf("~");for(;-1!==r&&-1!==a&&r!==a;)i[r]="<",i[a]=">",r=i.indexOf("~"),a=i.lastIndexOf("~");return n&&i.unshift("~"),i.join("")},Ic=()=>void 0!==window.MathMLElement,Oc=/\$\$(.*)\$\$/g,Nc=t=>{var e;return((null==(e=t.match(Oc))?void 0:e.length)??0)>0},Dc=async(t,e)=>{t=await Pc(t,e);const n=document.createElement("div");n.innerHTML=t,n.id="katex-temp",n.style.visibility="hidden",n.style.position="absolute",n.style.top="0";const i=document.querySelector("body");null==i||i.insertAdjacentElement("beforeend",n);const r={width:n.clientWidth,height:n.clientHeight};return n.remove(),r},Pc=async(t,e)=>{if(!Nc(t))return t;if(!Ic()&&!e.legacyMathML)return t.replace(Oc,"MathML is unsupported in this environment.");const{default:n}=await Promise.resolve().then((()=>rk));return t.split(wc).map((t=>Nc(t)?`\n
\n ${t}\n
\n `:`
${t}
`)).join("").replace(Oc,((t,e)=>n.renderToString(e,{throwOnError:!0,displayMode:!0,output:Ic()?"mathml":"htmlAndMathml"}).replace(/\n/g," ").replace(//g,"")))},Bc={getRows:t=>t?Ec(t).replace(/\\n/g,"#br#").split("#br#"):[""],sanitizeText:_c,sanitizeTextOrArray:(t,e)=>"string"==typeof t?_c(t,e):t.flat().map((t=>_c(t,e))),hasBreaks:t=>wc.test(t),splitBreaks:t=>t.split(wc),lineBreakRegex:wc,removeScript:xc,getUrl:t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=e.replaceAll(/\(/g,"\\("),e=e.replaceAll(/\)/g,"\\)")),e},evaluate:Sc,getMax:function(...t){const e=t.filter((t=>!isNaN(t)));return Math.max(...e)},getMin:function(...t){const e=t.filter((t=>!isNaN(t)));return Math.min(...e)}},Rc={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:t=>t>=255?255:t<0?0:t,g:t=>t>=255?255:t<0?0:t,b:t=>t>=255?255:t<0?0:t,h:t=>t%360,s:t=>t>=100?100:t<0?0:t,l:t=>t>=100?100:t<0?0:t,a:t=>t>=1?1:t<0?0:t},toLinear:t=>{const e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},hue2rgb:(t,e,n)=>(n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t),hsl2rgb:({h:t,s:e,l:n},i)=>{if(!e)return 2.55*n;t/=360,e/=100;const r=(n/=100)<.5?n*(1+e):n+e-n*e,a=2*n-r;switch(i){case"r":return 255*Rc.hue2rgb(a,r,t+1/3);case"g":return 255*Rc.hue2rgb(a,r,t);case"b":return 255*Rc.hue2rgb(a,r,t-1/3)}},rgb2hsl:({r:t,g:e,b:n},i)=>{t/=255,e/=255,n/=255;const r=Math.max(t,e,n),a=Math.min(t,e,n),o=(r+a)/2;if("l"===i)return 100*o;if(r===a)return 0;const s=r-a;if("s"===i)return 100*(o>.5?s/(2-r-a):s/(r+a));switch(r){case t:return 60*((e-n)/s+(ee>n?Math.min(e,Math.max(n,t)):Math.min(n,Math.max(e,t)),round:t=>Math.round(1e10*t)/1e10},unit:{dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}}},$c={};for(let t=0;t<=255;t++)$c[t]=Fc.unit.dec2hex(t);const jc=new class{constructor(t,e){this.color=e,this.changed=!1,this.data=t,this.type=new class{constructor(){this.type=0}get(){return this.type}set(t){if(this.type&&this.type!==t)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=t}reset(){this.type=0}is(t){return this.type===t}}}set(t,e){return this.color=e,this.changed=!1,this.data=t,this.type.type=0,this}_ensureHSL(){const t=this.data,{h:e,s:n,l:i}=t;void 0===e&&(t.h=Fc.channel.rgb2hsl(t,"h")),void 0===n&&(t.s=Fc.channel.rgb2hsl(t,"s")),void 0===i&&(t.l=Fc.channel.rgb2hsl(t,"l"))}_ensureRGB(){const t=this.data,{r:e,g:n,b:i}=t;void 0===e&&(t.r=Fc.channel.hsl2rgb(t,"r")),void 0===n&&(t.g=Fc.channel.hsl2rgb(t,"g")),void 0===i&&(t.b=Fc.channel.hsl2rgb(t,"b"))}get r(){const t=this.data,e=t.r;return this.type.is(2)||void 0===e?(this._ensureHSL(),Fc.channel.hsl2rgb(t,"r")):e}get g(){const t=this.data,e=t.g;return this.type.is(2)||void 0===e?(this._ensureHSL(),Fc.channel.hsl2rgb(t,"g")):e}get b(){const t=this.data,e=t.b;return this.type.is(2)||void 0===e?(this._ensureHSL(),Fc.channel.hsl2rgb(t,"b")):e}get h(){const t=this.data,e=t.h;return this.type.is(1)||void 0===e?(this._ensureRGB(),Fc.channel.rgb2hsl(t,"h")):e}get s(){const t=this.data,e=t.s;return this.type.is(1)||void 0===e?(this._ensureRGB(),Fc.channel.rgb2hsl(t,"s")):e}get l(){const t=this.data,e=t.l;return this.type.is(1)||void 0===e?(this._ensureRGB(),Fc.channel.rgb2hsl(t,"l")):e}get a(){return this.data.a}set r(t){this.type.set(1),this.changed=!0,this.data.r=t}set g(t){this.type.set(1),this.changed=!0,this.data.g=t}set b(t){this.type.set(1),this.changed=!0,this.data.b=t}set h(t){this.type.set(2),this.changed=!0,this.data.h=t}set s(t){this.type.set(2),this.changed=!0,this.data.s=t}set l(t){this.type.set(2),this.changed=!0,this.data.l=t}set a(t){this.changed=!0,this.data.a=t}}({r:0,g:0,b:0,a:0},"transparent"),zc={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(35!==t.charCodeAt(0))return;const e=t.match(zc.re);if(!e)return;const n=e[1],i=parseInt(n,16),r=n.length,a=r%4==0,o=r>4,s=o?1:17,c=o?8:4,l=a?0:-1,u=o?255:15;return jc.set({r:(i>>c*(l+3)&u)*s,g:(i>>c*(l+2)&u)*s,b:(i>>c*(l+1)&u)*s,a:a?(i&u)*s/255:1},t)},stringify:t=>{const{r:e,g:n,b:i,a:r}=t;return r<1?`#${$c[Math.round(e)]}${$c[Math.round(n)]}${$c[Math.round(i)]}${$c[Math.round(255*r)]}`:`#${$c[Math.round(e)]}${$c[Math.round(n)]}${$c[Math.round(i)]}`}},qc=zc,Hc={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:t=>{const e=t.match(Hc.hueRe);if(e){const[,t,n]=e;switch(n){case"grad":return Fc.channel.clamp.h(.9*parseFloat(t));case"rad":return Fc.channel.clamp.h(180*parseFloat(t)/Math.PI);case"turn":return Fc.channel.clamp.h(360*parseFloat(t))}}return Fc.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(104!==e&&72!==e)return;const n=t.match(Hc.re);if(!n)return;const[,i,r,a,o,s]=n;return jc.set({h:Hc._hue2deg(i),s:Fc.channel.clamp.s(parseFloat(r)),l:Fc.channel.clamp.l(parseFloat(a)),a:o?Fc.channel.clamp.a(s?parseFloat(o)/100:parseFloat(o)):1},t)},stringify:t=>{const{h:e,s:n,l:i,a:r}=t;return r<1?`hsla(${Fc.lang.round(e)}, ${Fc.lang.round(n)}%, ${Fc.lang.round(i)}%, ${r})`:`hsl(${Fc.lang.round(e)}, ${Fc.lang.round(n)}%, ${Fc.lang.round(i)}%)`}},Uc=Hc,Gc={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:t=>{t=t.toLowerCase();const e=Gc.colors[t];if(e)return qc.parse(e)},stringify:t=>{const e=qc.stringify(t);for(const t in Gc.colors)if(Gc.colors[t]===e)return t}},Kc=Gc,Yc={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:t=>{const e=t.charCodeAt(0);if(114!==e&&82!==e)return;const n=t.match(Yc.re);if(!n)return;const[,i,r,a,o,s,c,l,u]=n;return jc.set({r:Fc.channel.clamp.r(r?2.55*parseFloat(i):parseFloat(i)),g:Fc.channel.clamp.g(o?2.55*parseFloat(a):parseFloat(a)),b:Fc.channel.clamp.b(c?2.55*parseFloat(s):parseFloat(s)),a:l?Fc.channel.clamp.a(u?parseFloat(l)/100:parseFloat(l)):1},t)},stringify:t=>{const{r:e,g:n,b:i,a:r}=t;return r<1?`rgba(${Fc.lang.round(e)}, ${Fc.lang.round(n)}, ${Fc.lang.round(i)}, ${Fc.lang.round(r)})`:`rgb(${Fc.lang.round(e)}, ${Fc.lang.round(n)}, ${Fc.lang.round(i)})`}},Vc=Yc,Wc=t=>{if("string"!=typeof t)return t;const e=qc.parse(t)||Vc.parse(t)||Uc.parse(t)||Kc.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},Xc=t=>!t.changed&&t.color?t.color:t.type.is(2)||void 0===t.data.r?Uc.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?Vc.stringify(t):qc.stringify(t),Qc=(t,e)=>{const n=Wc(t);for(const t in e)n[t]=Fc.channel.clamp[t](e[t]);return Xc(n)},Zc=(t,e,n=0,i=1)=>{if("number"!=typeof t)return Qc(t,{a:e});const r=jc.set({r:Fc.channel.clamp.r(t),g:Fc.channel.clamp.g(e),b:Fc.channel.clamp.b(n),a:Fc.channel.clamp.a(i)});return Xc(r)},Jc=(t,e)=>Fc.lang.round(Wc(t)[e]),tl=t=>!(t=>(t=>{const{r:e,g:n,b:i}=Wc(t),r=.2126*Fc.channel.toLinear(e)+.7152*Fc.channel.toLinear(n)+.0722*Fc.channel.toLinear(i);return Fc.lang.round(r)})(t)>=.5)(t),el=(t,e,n)=>{const i=Wc(t),r=i[e],a=Fc.channel.clamp[e](r+n);return r!==a&&(i[e]=a),Xc(i)},nl=(t,e)=>el(t,"l",e),il=(t,e)=>el(t,"l",-e),rl=(t,e)=>{const n=Wc(t),i={};for(const t in e)e[t]&&(i[t]=n[t]+e[t]);return Qc(t,i)},al=(t,e=100)=>{const n=Wc(t);return n.r=255-n.r,n.g=255-n.g,n.b=255-n.b,((t,e,n=50)=>{const{r:i,g:r,b:a,a:o}=Wc(t),{r:s,g:c,b:l,a:u}=Wc(e),h=n/100,f=2*h-1,d=o-u,g=((f*d==-1?f:(f+d)/(1+f*d))+1)/2,p=1-g;return Zc(i*g+s*p,r*g+c*p,a*g+l*p,o*h+u*(1-h))})(n,t,e)},ol=(t,e)=>rl(t,e?{s:-40,l:10}:{s:-40,l:-10}),sl="#ffffff",cl="#f2f2f2",ll=t=>{const e=new class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=rl(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=rl(this.primaryColor,{h:-160}),this.primaryBorderColor=ol(this.primaryColor,this.darkMode),this.secondaryBorderColor=ol(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ol(this.tertiaryColor,this.darkMode),this.primaryTextColor=al(this.primaryColor),this.secondaryTextColor=al(this.secondaryColor),this.tertiaryTextColor=al(this.tertiaryColor),this.lineColor=al(this.background),this.textColor=al(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#e8e8e8",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=Zc(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){var t,e,n,i,r,a,o,s,c,l,u;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||rl(this.primaryColor,{h:30}),this.cScale4=this.cScale4||rl(this.primaryColor,{h:60}),this.cScale5=this.cScale5||rl(this.primaryColor,{h:90}),this.cScale6=this.cScale6||rl(this.primaryColor,{h:120}),this.cScale7=this.cScale7||rl(this.primaryColor,{h:150}),this.cScale8=this.cScale8||rl(this.primaryColor,{h:210}),this.cScale9=this.cScale9||rl(this.primaryColor,{h:270}),this.cScale10=this.cScale10||rl(this.primaryColor,{h:300}),this.cScale11=this.cScale11||rl(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||il(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||il(this.tertiaryColor,40);for(let t=0;t{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}};return e.calculate(t),e};class ul{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=nl(this.contrast,55),this.background="#ffffff",this.tertiaryColor=rl(this.primaryColor,{h:-160}),this.primaryBorderColor=ol(this.primaryColor,this.darkMode),this.secondaryBorderColor=ol(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ol(this.tertiaryColor,this.darkMode),this.primaryTextColor=al(this.primaryColor),this.secondaryTextColor=al(this.secondaryColor),this.tertiaryTextColor=al(this.tertiaryColor),this.lineColor=al(this.background),this.textColor=al(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var t,e,n,i,r,a,o,s,c,l,u;this.secondBkg=nl(this.contrast,55),this.border2=this.contrast,this.actorBorder=nl(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.lineColor,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let t=0;t{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}}const hl={base:{getThemeVariables:t=>{const e=new class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){var t,e,n,i,r,a,o,s,c,l,u;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||rl(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||rl(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||ol(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||ol(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||ol(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||ol(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||al(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||al(this.tertiaryColor),this.lineColor=this.lineColor||al(this.background),this.arrowheadColor=this.arrowheadColor||al(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?il(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||"grey",this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||il(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||al(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||nl(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||rl(this.primaryColor,{h:30}),this.cScale4=this.cScale4||rl(this.primaryColor,{h:60}),this.cScale5=this.cScale5||rl(this.primaryColor,{h:90}),this.cScale6=this.cScale6||rl(this.primaryColor,{h:120}),this.cScale7=this.cScale7||rl(this.primaryColor,{h:150}),this.cScale8=this.cScale8||rl(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||rl(this.primaryColor,{h:270}),this.cScale10=this.cScale10||rl(this.primaryColor,{h:300}),this.cScale11=this.cScale11||rl(this.primaryColor,{h:330}),this.darkMode)for(let t=0;t{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}};return e.calculate(t),e}},dark:{getThemeVariables:t=>{const e=new class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=nl(this.primaryColor,16),this.tertiaryColor=rl(this.primaryColor,{h:-160}),this.primaryBorderColor=al(this.background),this.secondaryBorderColor=ol(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ol(this.tertiaryColor,this.darkMode),this.primaryTextColor=al(this.primaryColor),this.secondaryTextColor=al(this.secondaryColor),this.tertiaryTextColor=al(this.tertiaryColor),this.lineColor=al(this.background),this.textColor=al(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=nl(al("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=Zc(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=il("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=il(this.sectionBkgColor,10),this.taskBorderColor=Zc(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=Zc(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){var t,e,n,i,r,a,o,s,c,l,u;this.secondBkg=nl(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=nl(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.mainContrastColor,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=nl(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=rl(this.primaryColor,{h:64}),this.fillType3=rl(this.secondaryColor,{h:64}),this.fillType4=rl(this.primaryColor,{h:-64}),this.fillType5=rl(this.secondaryColor,{h:-64}),this.fillType6=rl(this.primaryColor,{h:128}),this.fillType7=rl(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||rl(this.primaryColor,{h:30}),this.cScale4=this.cScale4||rl(this.primaryColor,{h:60}),this.cScale5=this.cScale5||rl(this.primaryColor,{h:90}),this.cScale6=this.cScale6||rl(this.primaryColor,{h:120}),this.cScale7=this.cScale7||rl(this.primaryColor,{h:150}),this.cScale8=this.cScale8||rl(this.primaryColor,{h:210}),this.cScale9=this.cScale9||rl(this.primaryColor,{h:270}),this.cScale10=this.cScale10||rl(this.primaryColor,{h:300}),this.cScale11=this.cScale11||rl(this.primaryColor,{h:330});for(let t=0;t{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}};return e.calculate(t),e}},default:{getThemeVariables:ll},forest:{getThemeVariables:t=>{const e=new class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=nl("#cde498",10),this.primaryBorderColor=ol(this.primaryColor,this.darkMode),this.secondaryBorderColor=ol(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=ol(this.tertiaryColor,this.darkMode),this.primaryTextColor=al(this.primaryColor),this.secondaryTextColor=al(this.secondaryColor),this.tertiaryTextColor=al(this.primaryColor),this.lineColor=al(this.background),this.textColor=al(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="grey",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){var t,e,n,i,r,a,o,s,c,l,u;this.actorBorder=il(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||rl(this.primaryColor,{h:30}),this.cScale4=this.cScale4||rl(this.primaryColor,{h:60}),this.cScale5=this.cScale5||rl(this.primaryColor,{h:90}),this.cScale6=this.cScale6||rl(this.primaryColor,{h:120}),this.cScale7=this.cScale7||rl(this.primaryColor,{h:150}),this.cScale8=this.cScale8||rl(this.primaryColor,{h:210}),this.cScale9=this.cScale9||rl(this.primaryColor,{h:270}),this.cScale10=this.cScale10||rl(this.primaryColor,{h:300}),this.cScale11=this.cScale11||rl(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||il(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||il(this.tertiaryColor,40);for(let t=0;t{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}};return e.calculate(t),e}},neutral:{getThemeVariables:t=>{const e=new ul;return e.calculate(t),e}}},fl={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},theme:"default",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","maxEdges"],legacyMathML:!1,deterministicIds:!1,fontSize:16},dl={...fl,deterministicIDSeed:void 0,themeCSS:void 0,themeVariables:hl.default.getThemeVariables(),sequence:{...fl.sequence,messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},noteFont:function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},actorFont:function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}},gantt:{...fl.gantt,tickInterval:void 0,useWidth:void 0},c4:{...fl.c4,useWidth:void 0,personFont:function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},external_personFont:function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},systemFont:function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},external_systemFont:function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},system_dbFont:function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},external_system_dbFont:function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},system_queueFont:function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},external_system_queueFont:function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},containerFont:function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},external_containerFont:function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},container_dbFont:function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},external_container_dbFont:function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},container_queueFont:function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},external_container_queueFont:function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},componentFont:function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},external_componentFont:function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},component_dbFont:function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},external_component_dbFont:function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},component_queueFont:function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},external_component_queueFont:function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},boundaryFont:function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},messageFont:function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}}},pie:{...fl.pie,useWidth:984},xyChart:{...fl.xyChart,useWidth:void 0},requirement:{...fl.requirement,useWidth:void 0},gitGraph:{...fl.gitGraph,useMaxWidth:!1},sankey:{...fl.sankey,useMaxWidth:!1}},gl=(t,e="")=>Object.keys(t).reduce(((n,i)=>Array.isArray(t[i])?n:"object"==typeof t[i]&&null!==t[i]?[...n,e+i,...gl(t[i],"")]:[...n,e+i]),[]),pl=new Set(gl(dl,"")),bl=dl,ml=t=>{if(l.debug("sanitizeDirective called with",t),"object"==typeof t&&null!=t){if(Array.isArray(t))return void t.forEach((t=>ml(t)));for(const e of Object.keys(t)){if(l.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!pl.has(e)||null==t[e]){l.debug("sanitize deleting key: ",e),delete t[e];continue}if("object"==typeof t[e]){l.debug("sanitizing object",e),ml(t[e]);continue}const n=["themeCSS","fontFamily","altFontFamily"];for(const i of n)e.includes(i)&&(l.debug("sanitizing css option",e),t[e]=yl(t[e]))}if(t.themeVariables)for(const e of Object.keys(t.themeVariables)){const n=t.themeVariables[e];null!=n&&n.match&&!n.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}l.debug("After sanitization",t)}},yl=t=>{let e=0,n=0;for(const i of t){if(e{for(const{id:e,detector:n,loader:i}of t)Sl(e,n,i)},Sl=(t,e,n)=>{_l[t]?l.error(`Detector with key ${t} already exists`):_l[t]={detector:e,loader:n},l.debug(`Detector with key ${t} added${n?" with loader":""}`)},Cl=(t,e,{depth:n=2,clobber:i=!1}={})=>{const r={depth:n,clobber:i};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach((e=>Cl(t,e,r))),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach((e=>{t.includes(e)||t.push(e)})),t):void 0===t||n<=0?null!=t&&"object"==typeof t&&"object"==typeof e?Object.assign(t,e):e:(void 0!==e&&"object"==typeof t&&"object"==typeof e&&Object.keys(e).forEach((r=>{"object"!=typeof e[r]||void 0!==t[r]&&"object"!=typeof t[r]?(i||"object"!=typeof t[r]&&"object"!=typeof e[r])&&(t[r]=e[r]):(void 0===t[r]&&(t[r]=Array.isArray(e[r])?[]:{}),t[r]=Cl(t[r],e[r],{depth:n-1,clobber:i}))})),t)},Al=Cl,Ml="object"==typeof global&&global&&global.Object===Object&&global;var Ll="object"==typeof self&&self&&self.Object===Object&&self;const Il=Ml||Ll||Function("return this")(),Ol=Il.Symbol;var Nl=Object.prototype,Dl=Nl.hasOwnProperty,Pl=Nl.toString,Bl=Ol?Ol.toStringTag:void 0,Rl=Object.prototype.toString,Fl="[object Null]",$l="[object Undefined]",jl=Ol?Ol.toStringTag:void 0;function zl(t){return null==t?void 0===t?$l:Fl:jl&&jl in Object(t)?function(t){var e=Dl.call(t,Bl),n=t[Bl];try{t[Bl]=void 0;var i=!0}catch{}var r=Pl.call(t);return i&&(e?t[Bl]=n:delete t[Bl]),r}(t):function(t){return Rl.call(t)}(t)}function ql(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}var Hl="[object AsyncFunction]",Ul="[object Function]",Gl="[object GeneratorFunction]",Kl="[object Proxy]";function Yl(t){if(!ql(t))return!1;var e=zl(t);return e==Ul||e==Gl||e==Hl||e==Kl}const Vl=Il["__core-js_shared__"];var Wl=function(){var t=/[^.]+$/.exec(Vl&&Vl.keys&&Vl.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}(),Xl=Function.prototype.toString;function Ql(t){if(null!=t){try{return Xl.call(t)}catch{}try{return t+""}catch{}}return""}var Zl=/^\[object .+?Constructor\]$/,Jl=Function.prototype,tu=Object.prototype,eu=Jl.toString,nu=tu.hasOwnProperty,iu=RegExp("^"+eu.call(nu).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ru(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return function(t){return!(!ql(t)||function(t){return!!Wl&&Wl in t}(t))&&(Yl(t)?iu:Zl).test(Ql(t))}(n)?n:void 0}const au=ru(Object,"create");var ou=Object.prototype.hasOwnProperty,su=Object.prototype.hasOwnProperty;function cu(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e-1},fu.prototype.set=function(t,e){var n=this.__data__,i=uu(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this};const du=ru(Il,"Map");function gu(t,e){var n=t.__data__;return function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}(e)?n["string"==typeof e?"string":"hash"]:n.map}function pu(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=Wu}function Qu(t){return null!=t&&Xu(t.length)&&!Yl(t)}function Zu(t){return zu(t)&&Qu(t)}var Ju="object"==typeof exports&&exports&&!exports.nodeType&&exports,th=Ju&&"object"==typeof module&&module&&!module.nodeType&&module,eh=th&&th.exports===Ju?Il.Buffer:void 0;const nh=(eh?eh.isBuffer:void 0)||function(){return!1};var ih="[object Object]",rh=Function.prototype,ah=Object.prototype,oh=rh.toString,sh=ah.hasOwnProperty,ch=oh.call(Object);var lh={};function uh(t){return function(e){return t(e)}}lh["[object Float32Array]"]=lh["[object Float64Array]"]=lh["[object Int8Array]"]=lh["[object Int16Array]"]=lh["[object Int32Array]"]=lh["[object Uint8Array]"]=lh["[object Uint8ClampedArray]"]=lh["[object Uint16Array]"]=lh["[object Uint32Array]"]=!0,lh["[object Arguments]"]=lh["[object Array]"]=lh["[object ArrayBuffer]"]=lh["[object Boolean]"]=lh["[object DataView]"]=lh["[object Date]"]=lh["[object Error]"]=lh["[object Function]"]=lh["[object Map]"]=lh["[object Number]"]=lh["[object Object]"]=lh["[object RegExp]"]=lh["[object Set]"]=lh["[object String]"]=lh["[object WeakMap]"]=!1;var hh="object"==typeof exports&&exports&&!exports.nodeType&&exports,fh=hh&&"object"==typeof module&&module&&!module.nodeType&&module,dh=fh&&fh.exports===hh&&Ml.process;const gh=function(){try{return fh&&fh.require&&fh.require("util").types||dh&&dh.binding&&dh.binding("util")}catch{}}();var ph=gh&&gh.isTypedArray,bh=ph?uh(ph):function(t){return zu(t)&&Xu(t.length)&&!!lh[zl(t)]};const mh=bh;function yh(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}var wh=Object.prototype.hasOwnProperty;function vh(t,e,n){var i=t[e];(!wh.call(t,e)||!lu(i,n)||void 0===n&&!(e in t))&&vu(t,e,n)}function xh(t,e,n,i){var r=!n;n||(n={});for(var a=-1,o=e.length;++a-1&&t%1==0&&t0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(Bh);const $h=Fh;function jh(t,e){return $h(Nh(t,e,Ih),t+"")}function zh(t,e,n){if(!ql(n))return!1;var i=typeof e;return!!("number"==i?Qu(n)&&Th(e,n.length):"string"==i&&e in n)&&lu(n[e],t)}var qh=function(t){return jh((function(e,n){var i=-1,r=n.length,a=r>1?n[r-1]:void 0,o=r>2?n[2]:void 0;for(a=t.length>3&&"function"==typeof a?(r--,a):void 0,o&&zh(n[0],n[1],o)&&(a=r<3?void 0:a,r=1),e=Object(e);++i{const n=Math.pow(10,e);return Math.round(t*n)/n},Qh=(t,e)=>{let n,i=e;for(const e of t){if(n){const t=Wh(e,n);if(t=1)return{x:e.x,y:e.y};if(r>0&&r<1)return{x:Xh((1-r)*n.x+r*e.x,5),y:Xh((1-r)*n.y+r*e.y,5)}}}n=e}throw new Error("Could not find a suitable point for the given distance")};function Zh(t){let e="",n="";for(const i of t)void 0!==i&&(i.startsWith("color:")||i.startsWith("text-align:")?n=n+i+";":e=e+i+";");return{style:e,labelStyle:n}}let Jh=0;const tf=()=>(Jh++,"id-"+Math.random().toString(36).substr(2,12)+"-"+Jh),ef=t=>function(t){let e="";for(let n=0;n{if(!t||(n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},n),Bc.lineBreakRegex.test(t)))return t;const i=t.split(" "),r=[];let a="";return i.forEach(((t,o)=>{const s=sf(`${t} `,n),c=sf(a,n);if(s>e){const{hyphenatedStrings:i,remainingWord:o}=af(t,e,"-",n);r.push(a,...i),a=o}else c+s>=e?(r.push(a),a=t):a=[a,t].filter(Boolean).join(" ");o+1===i.length&&r.push(a)})),r.filter((t=>""!==t)).join(n.joinWith)}),((t,e,n)=>`${t}${e}${n.fontSize}${n.fontWeight}${n.fontFamily}${n.joinWith}`)),af=bu(((t,e,n="-",i)=>{i=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},i);const r=[...t],a=[];let o="";return r.forEach(((t,s)=>{const c=`${o}${t}`;if(sf(c,i)>=e){const t=s+1,e=r.length===t,i=`${c}${n}`;a.push(e?c:i),o=""}else o=c})),{hyphenatedStrings:a,remainingWord:o}}),((t,e,n="-",i)=>`${t}${e}${n}${i.fontSize}${i.fontWeight}${i.fontFamily}`));function of(t,e){return cf(t,e).height}function sf(t,e){return cf(t,e).width}const cf=bu(((t,e)=>{const{fontSize:n=12,fontFamily:i="Arial",fontWeight:r=400}=e;if(!t)return{width:0,height:0};const[,a]=hf(n),o=["sans-serif",i],s=t.split(Bc.lineBreakRegex),c=[],l=ee("body");if(!l.remove)return{width:0,height:0,lineHeight:0};const u=l.append("svg");for(const t of o){let e=0;const n={width:0,height:0,lineHeight:0};for(const i of s){const o={x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""};o.text=i||"​";const s=nf(u,o).style("font-size",a).style("font-weight",r).style("font-family",t),c=(s._groups||s)[0][0].getBBox();if(0===c.width&&0===c.height)throw new Error("svg element not in render tree");n.width=Math.round(Math.max(n.width,c.width)),e=Math.round(c.height),n.height+=e,n.lineHeight=Math.round(Math.max(n.lineHeight,e))}c.push(n)}return u.remove(),c[isNaN(c[1].height)||isNaN(c[1].width)||isNaN(c[1].lineHeight)||c[0].height>c[1].height&&c[0].width>c[1].width&&c[0].lineHeight>c[1].lineHeight?0:1]}),((t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`));let lf;function uf(t){return"str"in t}const hf=t=>{if("number"==typeof t)return[t,t+"px"];const e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]};function ff(t,e){return Hh({},t,e)}const df={assignWithDepth:Al,wrapLabel:rf,calculateTextHeight:of,calculateTextWidth:sf,calculateTextDimensions:cf,cleanAndMerge:ff,detectInit:function(t,e){const n=Kh(t,/(?:init\b)|(?:initialize\b)/);let i={};if(Array.isArray(n)){const t=n.map((t=>t.args));ml(t),i=Al(i,[...t])}else i=n.args;if(!i)return;let r=Tl(t,e);const a="config";return void 0!==i[a]&&("flowchart-v2"===r&&(r="flowchart"),i[r]=i[a],delete i[a]),i},detectDirective:Kh,isSubstringInArray:function(t,e){for(const[n,i]of e.entries())if(i.match(t))return n;return-1},interpolateToCurve:Vh,calcLabelPosition:function(t){return 1===t.length?t[0]:function(t){let e,n=0;return t.forEach((t=>{n+=Wh(t,e),e=t})),Qh(t,n/2)}(t)},calcCardinalityPosition:(t,e,n)=>{l.info(`our points ${JSON.stringify(e)}`),e[0]!==n&&(e=e.reverse());const i=Qh(e,25),r=t?10:5,a=Math.atan2(e[0].y-i.y,e[0].x-i.x),o={x:0,y:0};return o.x=Math.sin(a)*r+(e[0].x+i.x)/2,o.y=-Math.cos(a)*r+(e[0].y+i.y)/2,o},calcTerminalLabelPosition:function(t,e,n){const i=structuredClone(n);l.info("our points",i),"start_left"!==e&&"start_right"!==e&&i.reverse();const r=Qh(i,25+t),a=10+.5*t,o=Math.atan2(i[0].y-r.y,i[0].x-r.x),s={x:0,y:0};return"start_left"===e?(s.x=Math.sin(o+Math.PI)*a+(i[0].x+r.x)/2,s.y=-Math.cos(o+Math.PI)*a+(i[0].y+r.y)/2):"end_right"===e?(s.x=Math.sin(o-Math.PI)*a+(i[0].x+r.x)/2-5,s.y=-Math.cos(o-Math.PI)*a+(i[0].y+r.y)/2-5):"end_left"===e?(s.x=Math.sin(o)*a+(i[0].x+r.x)/2-5,s.y=-Math.cos(o)*a+(i[0].y+r.y)/2-5):(s.x=Math.sin(o)*a+(i[0].x+r.x)/2,s.y=-Math.cos(o)*a+(i[0].y+r.y)/2),s},formatUrl:function(t,e){const n=t.trim();if(n)return"loose"!==e.securityLevel?f.sanitizeUrl(n):n},getStylesFromArray:Zh,generateId:tf,random:ef,runFunc:(t,...e)=>{const n=t.split("."),i=n.length-1,r=n[i];let a=window;for(let e=0;e{var r;if(!i)return;const a=null==(r=t.node())?void 0:r.getBBox();a&&t.append("text").text(i).attr("x",a.x+a.width/2).attr("y",-n).attr("class",e)},parseFontSize:hf,InitIDGenerator:class{constructor(t=!1,e){this.count=0,this.count=e?e.length:0,this.next=t?()=>this.count++:()=>Date.now()}}},gf=function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")};var pf="comm",bf="rule",mf="decl",yf=Math.abs,wf=String.fromCharCode;function vf(t){return t.trim()}function xf(t,e,n){return t.replace(e,n)}function kf(t,e,n){return t.indexOf(e,n)}function _f(t,e){return 0|t.charCodeAt(e)}function Tf(t,e,n){return t.slice(e,n)}function Ef(t){return t.length}function Sf(t,e){return e.push(t),t}var Cf=1,Af=1,Mf=0,Lf=0,If=0,Of="";function Nf(t,e,n,i,r,a,o,s){return{value:t,root:e,parent:n,type:i,props:r,children:a,line:Cf,column:Af,length:o,return:"",siblings:s}}function Df(){return If=Lf2||Ff(If)>3?"":" "}function zf(t,e){for(;--e&&Df()&&!(If<48||If>102||If>57&&If<65||If>70&&If<97););return Rf(t,Bf()+(e<6&&32==Pf()&&32==Df()))}function qf(t){for(;Df();)switch(If){case t:return Lf;case 34:case 39:34!==t&&39!==t&&qf(If);break;case 40:41===t&&qf(t);break;case 92:Df()}return Lf}function Hf(t,e){for(;Df()&&t+If!==57&&(t+If!==84||47!==Pf()););return"/*"+Rf(e,Lf-1)+"*"+wf(47===t?t:Df())}function Uf(t){for(;!Ff(Pf());)Df();return Rf(t,Lf)}function Gf(t){return function(t){return Of="",t}(Kf("",null,null,null,[""],t=function(t){return Cf=Af=1,Mf=Ef(Of=t),Lf=0,[]}(t),0,[0],t))}function Kf(t,e,n,i,r,a,o,s,c){for(var l=0,u=0,h=o,f=0,d=0,g=0,p=1,b=1,m=1,y=0,w="",v=r,x=a,k=i,_=w;b;)switch(g=y,y=Df()){case 40:if(108!=g&&58==_f(_,h-1)){-1!=kf(_+=xf($f(y),"&","&\f"),"&\f",yf(l?s[l-1]:0))&&(m=-1);break}case 34:case 39:case 91:_+=$f(y);break;case 9:case 10:case 13:case 32:_+=jf(g);break;case 92:_+=zf(Bf()-1,7);continue;case 47:switch(Pf()){case 42:case 47:Sf(Vf(Hf(Df(),Bf()),e,n,c),c);break;default:_+="/"}break;case 123*p:s[l++]=Ef(_)*m;case 125*p:case 59:case 0:switch(y){case 0:case 125:b=0;case 59+u:-1==m&&(_=xf(_,/\f/g,"")),d>0&&Ef(_)-h&&Sf(d>32?Wf(_+";",i,n,h-1,c):Wf(xf(_," ","")+";",i,n,h-2,c),c);break;case 59:_+=";";default:if(Sf(k=Yf(_,e,n,l,u,r,s,w,v=[],x=[],h,a),a),123===y)if(0===u)Kf(_,e,k,k,v,a,h,s,x);else switch(99===f&&110===_f(_,3)?100:f){case 100:case 108:case 109:case 115:Kf(t,k,k,i&&Sf(Yf(t,k,k,0,0,r,s,w,r,v=[],h,x),x),r,x,h,s,i?v:x);break;default:Kf(_,k,k,k,[""],x,0,s,x)}}l=u=d=0,p=m=1,w=_="",h=o;break;case 58:h=1+Ef(_),d=g;default:if(p<1)if(123==y)--p;else if(125==y&&0==p++&&125==(If=Lf>0?_f(Of,--Lf):0,Af--,10===If&&(Af=1,Cf--),If))continue;switch(_+=wf(y),y*p){case 38:m=u>0?1:(_+="\f",-1);break;case 44:s[l++]=(Ef(_)-1)*m,m=1;break;case 64:45===Pf()&&(_+=$f(Df())),f=Pf(),u=h=Ef(w=_+=Uf(Bf())),y++;break;case 45:45===g&&2==Ef(_)&&(p=0)}}return a}function Yf(t,e,n,i,r,a,o,s,c,l,u,h){for(var f=r-1,d=0===r?a:[""],g=function(t){return t.length}(d),p=0,b=0,m=0;p0?d[y]+" "+w:xf(w,/&\f/g,d[y])))&&(c[m++]=v);return Nf(t,e,n,0===r?bf:s,c,l,u,h)}function Vf(t,e,n,i){return Nf(t,e,n,pf,wf(If),Tf(t,2,-2),0,i)}function Wf(t,e,n,i,r){return Nf(t,e,n,mf,Tf(t,0,i),Tf(t,i+1,-1),i,r)}function Xf(t,e){for(var n="",i=0;i{let n=Al({},t),i={};for(const t of e)cd(t),i=Al(i,t);if(n=Al(n,i),i.theme&&i.theme in hl){const t=Al({},td),e=Al(t.themeVariables||{},i.themeVariables);n.theme&&n.theme in hl&&(n.themeVariables=hl[n.theme].getThemeVariables(e))}return id=n,fd(id),id},ad=()=>Al({},ed),od=t=>(fd(t),Al(id,t),sd()),sd=()=>Al({},id),cd=t=>{t&&(["secure",...ed.secure??[]].forEach((e=>{Object.hasOwn(t,e)&&(l.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])})),Object.keys(t).forEach((e=>{e.startsWith("__")&&delete t[e]})),Object.keys(t).forEach((e=>{"string"==typeof t[e]&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],"object"==typeof t[e]&&cd(t[e])})))},ld=(t=ed)=>{nd=[],rd(t,nd)},ud={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},hd={},fd=t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&(t=>{hd[t]||(l.warn(ud[t]),hd[t]=!0)})("LAZY_LOAD_DEPRECATED")},dd={id:"c4",detector:t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>Uk));return{id:"c4",diagram:t}}},gd="flowchart",pd={id:gd,detector:(t,e)=>{var n,i;return"dagre-wrapper"!==(null==(n=null==e?void 0:e.flowchart)?void 0:n.defaultRenderer)&&"elk"!==(null==(i=null==e?void 0:e.flowchart)?void 0:i.defaultRenderer)&&/^\s*graph/.test(t)},loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>II));return{id:gd,diagram:t}}},bd="flowchart-v2",md={id:bd,detector:(t,e)=>{var n,i,r;return"dagre-d3"!==(null==(n=null==e?void 0:e.flowchart)?void 0:n.defaultRenderer)&&"elk"!==(null==(i=null==e?void 0:e.flowchart)?void 0:i.defaultRenderer)&&(!(!/^\s*graph/.test(t)||"dagre-wrapper"!==(null==(r=null==e?void 0:e.flowchart)?void 0:r.defaultRenderer))||/^\s*flowchart/.test(t))},loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>OI));return{id:bd,diagram:t}}},yd={id:"er",detector:t=>/^\s*erDiagram/.test(t),loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>JI));return{id:"er",diagram:t}}},wd="gitGraph",vd={id:wd,detector:t=>/^\s*gitGraph/.test(t),loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>MO));return{id:wd,diagram:t}}},xd="gantt",kd={id:xd,detector:t=>/^\s*gantt/.test(t),loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>kN));return{id:xd,diagram:t}}},_d="info",Td={id:_d,detector:t=>/^\s*info/.test(t),loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>SN));return{id:_d,diagram:t}}},Ed={id:"pie",detector:t=>/^\s*pie/.test(t),loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>PN));return{id:"pie",diagram:t}}},Sd="quadrantChart",Cd={id:Sd,detector:t=>/^\s*quadrantChart/.test(t),loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>qN));return{id:Sd,diagram:t}}},Ad="xychart",Md={id:Ad,detector:t=>/^\s*xychart-beta/.test(t),loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>xD));return{id:Ad,diagram:t}}},Ld="requirement",Id={id:Ld,detector:t=>/^\s*requirement(Diagram)?/.test(t),loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>FD));return{id:Ld,diagram:t}}},Od="sequence",Nd={id:Od,detector:t=>/^\s*sequenceDiagram/.test(t),loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>GP));return{id:Od,diagram:t}}},Dd="class",Pd={id:Dd,detector:(t,e)=>{var n;return"dagre-wrapper"!==(null==(n=null==e?void 0:e.class)?void 0:n.defaultRenderer)&&/^\s*classDiagram/.test(t)},loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>wB));return{id:Dd,diagram:t}}},Bd="classDiagram",Rd={id:Bd,detector:(t,e)=>{var n;return!(!/^\s*classDiagram/.test(t)||"dagre-wrapper"!==(null==(n=null==e?void 0:e.class)?void 0:n.defaultRenderer))||/^\s*classDiagram-v2/.test(t)},loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>TB));return{id:Bd,diagram:t}}},Fd="state",$d={id:Fd,detector:(t,e)=>{var n;return"dagre-wrapper"!==(null==(n=null==e?void 0:e.state)?void 0:n.defaultRenderer)&&/^\s*stateDiagram/.test(t)},loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>fR));return{id:Fd,diagram:t}}},jd="stateDiagram",zd={id:jd,detector:(t,e)=>{var n;return!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&"dagre-wrapper"===(null==(n=null==e?void 0:e.state)?void 0:n.defaultRenderer))},loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>RR));return{id:jd,diagram:t}}},qd="journey",Hd={id:qd,detector:t=>/^\s*journey/.test(t),loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>sF));return{id:qd,diagram:t}}},Ud=function(t,e,n,i){const r=function(t,e,n){let i=new Map;return n?(i.set("width","100%"),i.set("style",`max-width: ${e}px;`)):(i.set("height",t),i.set("width",e)),i}(e,n,i);!function(t,e){for(let n of e)t.attr(n[0],n[1])}(t,r)},Gd=function(t,e,n,i){const r=e.node().getBBox(),a=r.width,o=r.height;l.info(`SVG bounds: ${a}x${o}`,r);let s=0,c=0;l.info(`Graph bounds: ${s}x${c}`,t),s=a+2*n,c=o+2*n,l.info(`Calculated bounds: ${s}x${c}`),Ud(e,c,s,i);const u=`${r.x-n} ${r.y-n} ${r.width+2*n} ${r.height+2*n}`;e.attr("viewBox",u)},Kd={};let Yd="",Vd="",Wd="";const Xd=t=>_c(t,sd()),Qd=()=>{Yd="",Wd="",Vd=""},Zd=t=>{Yd=Xd(t).replace(/^\s+/g,"")},Jd=()=>Yd,tg=t=>{Wd=Xd(t).replace(/\n\s+/g,"\n")},eg=()=>Wd,ng=t=>{Vd=Xd(t)},ig=()=>Vd,rg=Object.freeze(Object.defineProperty({__proto__:null,clear:Qd,getAccDescription:eg,getAccTitle:Jd,getDiagramTitle:ig,setAccDescription:tg,setAccTitle:Zd,setDiagramTitle:ng},Symbol.toStringTag,{value:"Module"})),ag=l,og=u,sg=sd,cg=od,lg=Jf,ug=t=>_c(t,sg()),hg=Gd,fg={},dg=(t,e,n)=>{var i;if(fg[t])throw new Error(`Diagram ${t} already registered.`);fg[t]=e,n&&Sl(t,n),((t,e)=>{void 0!==e&&(Kd[t]=e)})(t,e.styles),null==(i=e.injectUtils)||i.call(e,ag,og,sg,ug,hg,rg,(()=>{}))},gg=t=>{if(t in fg)return fg[t];throw new pg(t)};class pg extends Error{constructor(t){super(`Diagram ${t} not found.`)}}const bg=t=>{var e;const{securityLevel:n}=sg();let i=ee("body");if("sandbox"===n){const n=(null==(e=ee(`#i${t}`).node())?void 0:e.contentDocument)??document;i=ee(n.body)}return i.select(`#${t}`)},mg={draw:(t,e,n)=>{l.debug("rendering svg for syntax error\n");const i=bg(e),r=i.append("g");i.attr("viewBox","0 0 2412 512"),Ud(i,100,512,!0),r.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),r.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),r.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),r.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),r.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),r.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),r.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),r.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${n}`)}},yg=mg,wg={db:{},renderer:mg,parser:{parser:{yy:{}},parse:()=>{}}},vg="flowchart-elk",xg={id:vg,detector:(t,e)=>{var n;return!!(/^\s*flowchart-elk/.test(t)||/^\s*flowchart|graph/.test(t)&&"elk"===(null==(n=null==e?void 0:e.flowchart)?void 0:n.defaultRenderer))},loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>vF));return{id:vg,diagram:t}}},kg="timeline",_g={id:kg,detector:t=>/^\s*timeline/.test(t),loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>UF));return{id:kg,diagram:t}}},Tg="mindmap",Eg={id:Tg,detector:t=>/^\s*mindmap/.test(t),loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>h$));return{id:Tg,diagram:t}}},Sg="sankey",Cg={id:Sg,detector:t=>/^\s*sankey-beta/.test(t),loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>ej));return{id:Sg,diagram:t}}},Ag="block",Mg={id:Ag,detector:t=>/^\s*block-beta/.test(t),loader:async()=>{const{diagram:t}=await Promise.resolve().then((()=>Oj));return{id:Ag,diagram:t}}};let Lg=!1;const Ig=()=>{Lg||(Lg=!0,dg("error",wg,(t=>"error"===t.toLowerCase().trim())),dg("---",{db:{clear:()=>{}},styles:{},renderer:{draw:()=>{}},parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}},init:()=>null},(t=>t.toLowerCase().trimStart().startsWith("---"))),El(dd,Rd,Pd,yd,kd,Td,Ed,Id,Nd,xg,md,pd,Eg,_g,vd,zd,$d,Hd,Cd,Cg,Md,Mg))};class Og{constructor(t,e={}){this.text=t,this.metadata=e,this.type="graph",this.text=function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,(function(t){return t.substring(0,t.length-1)})),e=e.replace(/classDef.*:\S*#.*;/g,(function(t){return t.substring(0,t.length-1)})),e=e.replace(/#\w+;/g,(function(t){const e=t.substring(1,t.length-1);return/^\+?\d+$/.test(e)?"fl°°"+e+"¶ß":"fl°"+e+"¶ß"})),e}(t),this.text+="\n";const n=sd();try{this.type=Tl(t,n)}catch(t){this.type="error",this.detectError=t}const i=gg(this.type);l.debug("Type "+this.type),this.db=i.db,this.renderer=i.renderer,this.parser=i.parser,this.parser.parser.yy=this.db,this.init=i.init,this.parse()}parse(){var t,e,n,i,r;if(this.detectError)throw this.detectError;null==(e=(t=this.db).clear)||e.call(t);const a=sd();null==(n=this.init)||n.call(this,a),this.metadata.title&&(null==(r=(i=this.db).setDiagramTitle)||r.call(i,this.metadata.title)),this.parser.parse(this.text)}async render(t,e){await this.renderer.draw(this.text,t,e,this)}getParser(){return this.parser}getType(){return this.type}}let Ng=[];const Dg=Bu(Object.keys,Object);var Pg=Object.prototype.hasOwnProperty;function Bg(t){if(!$u(t))return Dg(t);var e=[];for(var n in Object(t))Pg.call(t,n)&&"constructor"!=n&&e.push(n);return e}const Rg=ru(Il,"DataView"),Fg=ru(Il,"Promise"),$g=ru(Il,"Set"),jg=ru(Il,"WeakMap");var zg="[object Map]",qg="[object Promise]",Hg="[object Set]",Ug="[object WeakMap]",Gg="[object DataView]",Kg=Ql(Rg),Yg=Ql(du),Vg=Ql(Fg),Wg=Ql($g),Xg=Ql(jg),Qg=zl;(Rg&&Qg(new Rg(new ArrayBuffer(1)))!=Gg||du&&Qg(new du)!=zg||Fg&&Qg(Fg.resolve())!=qg||$g&&Qg(new $g)!=Hg||jg&&Qg(new jg)!=Ug)&&(Qg=function(t){var e=zl(t),n="[object Object]"==e?t.constructor:void 0,i=n?Ql(n):"";if(i)switch(i){case Kg:return Gg;case Yg:return zg;case Vg:return qg;case Wg:return Hg;case Xg:return Ug}return e});const Zg=Qg;var Jg=Object.prototype.hasOwnProperty;function tp(t){if(null==t)return!0;if(Qu(t)&&(Vu(t)||"string"==typeof t||"function"==typeof t.splice||nh(t)||mh(t)||Yu(t)))return!t.length;var e=Zg(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if($u(t))return!Bg(t).length;for(var n in t)if(Jg.call(t,n))return!1;return!0}const ep=t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart();function np(t){return typeof t>"u"||null===t}var ip={isNothing:np,isObject:function(t){return"object"==typeof t&&null!==t},toArray:function(t){return Array.isArray(t)?t:np(t)?[]:[t]},repeat:function(t,e){var n,i="";for(n=0;ns&&(e=i-s+(a=" ... ").length),n-i>s&&(n=i+s-(o=" ...").length),{str:a+t.slice(e,n).replace(/\t/g,"→")+o,pos:i-e+a.length}}function cp(t,e){return ip.repeat(" ",e-t.length)+t}var lp=function(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),"number"!=typeof e.indent&&(e.indent=1),"number"!=typeof e.linesBefore&&(e.linesBefore=3),"number"!=typeof e.linesAfter&&(e.linesAfter=2);for(var n,i=/\r?\n|\r|\0/g,r=[0],a=[],o=-1;n=i.exec(t.buffer);)a.push(n.index),r.push(n.index+n[0].length),t.position<=n.index&&o<0&&(o=r.length-2);o<0&&(o=r.length-1);var s,c,l="",u=Math.min(t.line+e.linesAfter,a.length).toString().length,h=e.maxLength-(e.indent+u+3);for(s=1;s<=e.linesBefore&&!(o-s<0);s++)c=sp(t.buffer,r[o-s],a[o-s],t.position-(r[o]-r[o-s]),h),l=ip.repeat(" ",e.indent)+cp((t.line-s+1).toString(),u)+" | "+c.str+"\n"+l;for(c=sp(t.buffer,r[o],a[o],t.position,h),l+=ip.repeat(" ",e.indent)+cp((t.line+1).toString(),u)+" | "+c.str+"\n",l+=ip.repeat("-",e.indent+u+3+c.pos)+"^\n",s=1;s<=e.linesAfter&&!(o+s>=a.length);s++)c=sp(t.buffer,r[o+s],a[o+s],t.position-(r[o]-r[o+s]),h),l+=ip.repeat(" ",e.indent)+cp((t.line+s+1).toString(),u)+" | "+c.str+"\n";return l.replace(/\n$/,"")},up=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],hp=["scalar","sequence","mapping"],fp=function(t,e){if(e=e||{},Object.keys(e).forEach((function(e){if(-1===up.indexOf(e))throw new op('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')})),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=function(t){var e={};return null!==t&&Object.keys(t).forEach((function(n){t[n].forEach((function(t){e[String(t)]=n}))})),e}(e.styleAliases||null),-1===hp.indexOf(this.kind))throw new op('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')};function dp(t,e){var n=[];return t[e].forEach((function(t){var e=n.length;n.forEach((function(n,i){n.tag===t.tag&&n.kind===t.kind&&n.multi===t.multi&&(e=i)})),n[e]=t})),n}function gp(t){return this.extend(t)}gp.prototype.extend=function(t){var e=[],n=[];if(t instanceof fp)n.push(t);else if(Array.isArray(t))n=n.concat(t);else{if(!t||!Array.isArray(t.implicit)&&!Array.isArray(t.explicit))throw new op("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");t.implicit&&(e=e.concat(t.implicit)),t.explicit&&(n=n.concat(t.explicit))}e.forEach((function(t){if(!(t instanceof fp))throw new op("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(t.loadKind&&"scalar"!==t.loadKind)throw new op("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(t.multi)throw new op("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")})),n.forEach((function(t){if(!(t instanceof fp))throw new op("Specified list of YAML types (or a single Type object) contains a non-Type object.")}));var i=Object.create(gp.prototype);return i.implicit=(this.implicit||[]).concat(e),i.explicit=(this.explicit||[]).concat(n),i.compiledImplicit=dp(i,"implicit"),i.compiledExplicit=dp(i,"explicit"),i.compiledTypeMap=function(){var t,e,n={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function i(t){t.multi?(n.multi[t.kind].push(t),n.multi.fallback.push(t)):n[t.kind][t.tag]=n.fallback[t.tag]=t}for(t=0,e=arguments.length;t=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Sp=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),Cp=/^[-+]?[0-9]+e/,Ap=new fp("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(t){return!(null===t||!Sp.test(t)||"_"===t[t.length-1])},construct:function(t){var e,n;return n="-"===(e=t.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),".inf"===e?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:n*parseFloat(e,10)},predicate:function(t){return"[object Number]"===Object.prototype.toString.call(t)&&(t%1!=0||ip.isNegativeZero(t))},represent:function(t,e){var n;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(ip.isNegativeZero(t))return"-0.0";return n=t.toString(10),Cp.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"}),Mp=wp.extend({implicit:[vp,xp,Ep,Ap]}),Lp=Mp,Ip=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Op=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]))?))?$"),Np=new fp("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(t){return null!==t&&(null!==Ip.exec(t)||null!==Op.exec(t))},construct:function(t){var e,n,i,r,a,o,s,c,l=0,u=null;if(null===(e=Ip.exec(t))&&(e=Op.exec(t)),null===e)throw new Error("Date resolve error");if(n=+e[1],i=+e[2]-1,r=+e[3],!e[4])return new Date(Date.UTC(n,i,r));if(a=+e[4],o=+e[5],s=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=6e4*(60*+e[10]+ +(e[11]||0)),"-"===e[9]&&(u=-u)),c=new Date(Date.UTC(n,i,r,a,o,s,l)),u&&c.setTime(c.getTime()-u),c},instanceOf:Date,represent:function(t){return t.toISOString()}}),Dp=new fp("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(t){return"<<"===t||null===t}}),Pp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r",Bp=new fp("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,n,i=0,r=t.length,a=Pp;for(n=0;n64)){if(e<0)return!1;i+=6}return i%8==0},construct:function(t){var e,n,i=t.replace(/[\r\n=]/g,""),r=i.length,a=Pp,o=0,s=[];for(e=0;e>16&255),s.push(o>>8&255),s.push(255&o)),o=o<<6|a.indexOf(i.charAt(e));return 0==(n=r%4*6)?(s.push(o>>16&255),s.push(o>>8&255),s.push(255&o)):18===n?(s.push(o>>10&255),s.push(o>>2&255)):12===n&&s.push(o>>4&255),new Uint8Array(s)},predicate:function(t){return"[object Uint8Array]"===Object.prototype.toString.call(t)},represent:function(t){var e,n,i="",r=0,a=t.length,o=Pp;for(e=0;e>18&63],i+=o[r>>12&63],i+=o[r>>6&63],i+=o[63&r]),r=(r<<8)+t[e];return 0==(n=a%3)?(i+=o[r>>18&63],i+=o[r>>12&63],i+=o[r>>6&63],i+=o[63&r]):2===n?(i+=o[r>>10&63],i+=o[r>>4&63],i+=o[r<<2&63],i+=o[64]):1===n&&(i+=o[r>>2&63],i+=o[r<<4&63],i+=o[64],i+=o[64]),i}}),Rp=Object.prototype.hasOwnProperty,Fp=Object.prototype.toString,$p=new fp("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(t){if(null===t)return!0;var e,n,i,r,a,o=[],s=t;for(e=0,n=s.length;e>10),56320+(t-65536&1023))}for(var gb=new Array(256),pb=new Array(256),bb=0;bb<256;bb++)gb[bb]=fb(bb)?1:0,pb[bb]=fb(bb);function mb(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||Up,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function yb(t,e){var n={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return n.snippet=lp(n),new op(e,n)}function wb(t,e){throw yb(t,e)}function vb(t,e){t.onWarning&&t.onWarning.call(null,yb(t,e))}var xb={YAML:function(t,e,n){var i,r,a;null!==t.version&&wb(t,"duplication of %YAML directive"),1!==n.length&&wb(t,"YAML directive accepts exactly one argument"),null===(i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&wb(t,"ill-formed argument of the YAML directive"),r=parseInt(i[1],10),a=parseInt(i[2],10),1!==r&&wb(t,"unacceptable YAML version of the document"),t.version=n[0],t.checkLineBreaks=a<2,1!==a&&2!==a&&vb(t,"unsupported YAML version of the document")},TAG:function(t,e,n){var i,r;2!==n.length&&wb(t,"TAG directive accepts exactly two arguments"),i=n[0],r=n[1],nb.test(i)||wb(t,"ill-formed tag handle (first argument) of the TAG directive"),Gp.call(t.tagMap,i)&&wb(t,'there is a previously declared suffix for "'+i+'" tag handle'),ib.test(r)||wb(t,"ill-formed tag prefix (second argument) of the TAG directive");try{r=decodeURIComponent(r)}catch{wb(t,"tag prefix is malformed: "+r)}t.tagMap[i]=r}};function kb(t,e,n,i){var r,a,o,s;if(e1&&(t.result+=ip.repeat("\n",e-1))}function Mb(t,e){var n,i,r=t.tag,a=t.anchor,o=[],s=!1;if(-1!==t.firstTabInLine)return!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=o),i=t.input.charCodeAt(t.position);0!==i&&(-1!==t.firstTabInLine&&(t.position=t.firstTabInLine,wb(t,"tab characters must not be used in indentation")),45===i&&sb(t.input.charCodeAt(t.position+1)));)if(s=!0,t.position++,Sb(t,!0,-1)&&t.lineIndent<=e)o.push(null),i=t.input.charCodeAt(t.position);else if(n=t.line,Ob(t,e,Vp,!1,!0),o.push(t.result),Sb(t,!0,-1),i=t.input.charCodeAt(t.position),(t.line===n||t.lineIndent>e)&&0!==i)wb(t,"bad indentation of a sequence entry");else if(t.lineIndente?g=1:t.lineIndent===e?g=0:t.lineIndente?g=1:t.lineIndent===e?g=0:t.lineIndente)&&(m&&(o=t.line,s=t.lineStart,c=t.position),Ob(t,e,Wp,!0,r)&&(m?p=t.result:b=t.result),m||(Tb(t,f,d,g,p,b,o,s,c),g=p=b=null),Sb(t,!0,-1),l=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&0!==l)wb(t,"bad indentation of a mapping entry");else if(t.lineIndent=0))break;0===r?wb(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?wb(t,"repeat of an indentation width identifier"):(l=e+r-1,c=!0)}if(ob(a)){do{a=t.input.charCodeAt(++t.position)}while(ob(a));if(35===a)do{a=t.input.charCodeAt(++t.position)}while(!ab(a)&&0!==a)}for(;0!==a;){for(Eb(t),t.lineIndent=0,a=t.input.charCodeAt(t.position);(!c||t.lineIndentl&&(l=t.lineIndent),ab(a))u++;else{if(t.lineIndent0){for(r=o,a=0;r>0;r--)(o=lb(s=t.input.charCodeAt(++t.position)))>=0?a=(a<<4)+o:wb(t,"expected hexadecimal character");t.result+=db(a),t.position++}else wb(t,"unknown escape sequence");n=i=t.position}else ab(s)?(kb(t,n,i,!0),Ab(t,Sb(t,!1,e)),n=i=t.position):t.position===t.lineStart&&Cb(t)?wb(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}wb(t,"unexpected end of the stream within a double quoted scalar")}(t,f)?b=!0:function(t){var e,n,i;if(42!==(i=t.input.charCodeAt(t.position)))return!1;for(i=t.input.charCodeAt(++t.position),e=t.position;0!==i&&!sb(i)&&!cb(i);)i=t.input.charCodeAt(++t.position);return t.position===e&&wb(t,"name of an alias node must contain at least one character"),n=t.input.slice(e,t.position),Gp.call(t.anchorMap,n)||wb(t,'unidentified alias "'+n+'"'),t.result=t.anchorMap[n],Sb(t,!0,-1),!0}(t)?(b=!0,(null!==t.tag||null!==t.anchor)&&wb(t,"alias node should not have any properties")):function(t,e,n){var i,r,a,o,s,c,l,u,h=t.kind,f=t.result;if(sb(u=t.input.charCodeAt(t.position))||cb(u)||35===u||38===u||42===u||33===u||124===u||62===u||39===u||34===u||37===u||64===u||96===u||(63===u||45===u)&&(sb(i=t.input.charCodeAt(t.position+1))||n&&cb(i)))return!1;for(t.kind="scalar",t.result="",r=a=t.position,o=!1;0!==u;){if(58===u){if(sb(i=t.input.charCodeAt(t.position+1))||n&&cb(i))break}else if(35===u){if(sb(t.input.charCodeAt(t.position-1)))break}else{if(t.position===t.lineStart&&Cb(t)||n&&cb(u))break;if(ab(u)){if(s=t.line,c=t.lineStart,l=t.lineIndent,Sb(t,!1,-1),t.lineIndent>=e){o=!0,u=t.input.charCodeAt(t.position);continue}t.position=a,t.line=s,t.lineStart=c,t.lineIndent=l;break}}o&&(kb(t,r,a,!1),Ab(t,t.line-s),r=a=t.position,o=!1),ob(u)||(a=t.position+1),u=t.input.charCodeAt(++t.position)}return kb(t,r,a,!1),!!t.result||(t.kind=h,t.result=f,!1)}(t,f,Kp===n)&&(b=!0,null===t.tag&&(t.tag="?")),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):0===g&&(b=s&&Mb(t,d))),null===t.tag)null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);else if("?"===t.tag){for(null!==t.result&&"scalar"!==t.kind&&wb(t,'unacceptable node kind for ! tag; it should be "scalar", not "'+t.kind+'"'),c=0,l=t.implicitTypes.length;c"),null!==t.result&&h.kind!==t.kind&&wb(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+h.kind+'", not "'+t.kind+'"'),h.resolve(t.result,t.tag)?(t.result=h.construct(t.result,t.tag),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):wb(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||b}function Nb(t){var e,n,i,r,a=t.position,o=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);0!==(r=t.input.charCodeAt(t.position))&&(Sb(t,!0,-1),r=t.input.charCodeAt(t.position),!(t.lineIndent>0||37!==r));){for(o=!0,r=t.input.charCodeAt(++t.position),e=t.position;0!==r&&!sb(r);)r=t.input.charCodeAt(++t.position);for(i=[],(n=t.input.slice(e,t.position)).length<1&&wb(t,"directive name must not be less than one character in length");0!==r;){for(;ob(r);)r=t.input.charCodeAt(++t.position);if(35===r){do{r=t.input.charCodeAt(++t.position)}while(0!==r&&!ab(r));break}if(ab(r))break;for(e=t.position;0!==r&&!sb(r);)r=t.input.charCodeAt(++t.position);i.push(t.input.slice(e,t.position))}0!==r&&Eb(t),Gp.call(xb,n)?xb[n](t,n,i):vb(t,'unknown document directive "'+n+'"')}Sb(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,Sb(t,!0,-1)):o&&wb(t,"directives end mark is expected"),Ob(t,t.lineIndent-1,Wp,!1,!0),Sb(t,!0,-1),t.checkLineBreaks&&tb.test(t.input.slice(a,t.position))&&vb(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Cb(t)?46===t.input.charCodeAt(t.position)&&(t.position+=3,Sb(t,!0,-1)):t.positiont.replace(/\r\n?/g,"\n").replace(/<(\w+)([^>]*)>/g,((t,e,n)=>"<"+e+n.replace(/="([^"]*)"/g,"='$1'")+">")),Fb=t=>{const{text:e,metadata:n}=function(t){const e=t.match(wl);if(!e)return{text:t,metadata:{}};let n=Bb(e[1],{schema:Pb})??{};n="object"!=typeof n||Array.isArray(n)?{}:n;const i={};return n.displayMode&&(i.displayMode=n.displayMode.toString()),n.title&&(i.title=n.title.toString()),n.config&&(i.config=n.config),{text:t.slice(e[0].length),metadata:i}}(t),{displayMode:i,title:r,config:a={}}=n;return i&&(a.gantt||(a.gantt={}),a.gantt.displayMode=i),{title:r,config:a,text:e}},$b=t=>{const e=df.detectInit(t)??{},n=df.detectDirective(t,"wrap");return Array.isArray(n)?e.wrap=n.some((({type:t})=>{})):"wrap"===(null==n?void 0:n.type)&&(e.wrap=!0),{text:Yh(t),directive:e}};function jb(t){const e=Rb(t),n=Fb(e),i=$b(n.text),r=ff(n.config,i.directive);return{code:t=ep(i.text),title:n.title,config:r}}const zb=["foreignobject"],qb=["dominant-baseline"];function Hb(t){const e=jb(t);return ld(),(t=>{ml(t),t.fontFamily&&(!t.themeVariables||!t.themeVariables.fontFamily)&&(t.themeVariables={fontFamily:t.fontFamily}),nd.push(t),rd(ed,nd)})(e.config??{}),e}const Ub=(t,e,n=[])=>`\n.${t} ${e} { ${n.join(" !important; ")} !important; }`,Gb=(t,e,n,i)=>{const r=((t,e={})=>{var n;let i="";if(void 0!==t.themeCSS&&(i+=`\n${t.themeCSS}`),void 0!==t.fontFamily&&(i+=`\n:root { --mermaid-font-family: ${t.fontFamily}}`),void 0!==t.altFontFamily&&(i+=`\n:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),!tp(e)){const r=t.htmlLabels||(null==(n=t.flowchart)?void 0:n.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const t in e){const n=e[t];tp(n.styles)||r.forEach((t=>{i+=Ub(n.id,t,n.styles)})),tp(n.textStyles)||(i+=Ub(n.id,"tspan",n.textStyles))}}return i})(t,n);return Xf(Gf(`${i}{${((t,e,n)=>{let i="";return t in Kd&&Kd[t]?i=Kd[t](n):l.warn(`No theme found for ${t}`),` & {\n font-family: ${n.fontFamily};\n font-size: ${n.fontSize};\n fill: ${n.textColor}\n }\n\n /* Classes common for multiple diagrams */\n\n & .error-icon {\n fill: ${n.errorBkgColor};\n }\n & .error-text {\n fill: ${n.errorTextColor};\n stroke: ${n.errorTextColor};\n }\n\n & .edge-thickness-normal {\n stroke-width: 2px;\n }\n & .edge-thickness-thick {\n stroke-width: 3.5px\n }\n & .edge-pattern-solid {\n stroke-dasharray: 0;\n }\n\n & .edge-pattern-dashed{\n stroke-dasharray: 3;\n }\n .edge-pattern-dotted {\n stroke-dasharray: 2;\n }\n\n & .marker {\n fill: ${n.lineColor};\n stroke: ${n.lineColor};\n }\n & .marker.cross {\n stroke: ${n.lineColor};\n }\n\n & svg {\n font-family: ${n.fontFamily};\n font-size: ${n.fontSize};\n }\n\n ${i}\n\n ${e}\n`})(e,r,t.themeVariables)}}`),Qf)},Kb=(t,e,n,i,r)=>{const a=t.append("div");a.attr("id",n),i&&a.attr("style",i);const o=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg");return r&&o.attr("xmlns:xlink",r),o.append("g"),t};function Yb(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const Vb=(t,e={})=>{const{code:n}=jb(t);return(async(t,e={})=>{const n=Tl(t,sd());try{gg(n)}catch{const t=(t=>_l[t].loader)(n);if(!t)throw new kl(`Diagram ${n} not found.`);const{id:e,diagram:i}=await t();dg(e,i)}return new Og(t,e)})(n,e)},Wb=Object.freeze({render:async function(t,e,n){var i,r,a,o,s,c;Ig();const u=Hb(e);e=u.code;const h=sd();l.debug(h),e.length>((null==h?void 0:h.maxTextSize)??5e4)&&(e="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa");const f="#"+t,d="i"+t,g="#"+d,p="d"+t,b="#"+p;let m=ee("body");const y="sandbox"===h.securityLevel,w="loose"===h.securityLevel,v=h.fontFamily;if(void 0!==n){if(n&&(n.innerHTML=""),y){const t=Yb(ee(n),d);m=ee(t.nodes()[0].contentDocument.body),m.node().style.margin=0}else m=ee(n);Kb(m,t,p,`font-family: ${v}`,"http://www.w3.org/1999/xlink")}else{if(((t,e,n,i)=>{var r,a,o;null==(r=t.getElementById(e))||r.remove(),null==(a=t.getElementById(n))||a.remove(),null==(o=t.getElementById(i))||o.remove()})(document,t,p,d),y){const t=Yb(ee("body"),d);m=ee(t.nodes()[0].contentDocument.body),m.node().style.margin=0}else m=ee("body");Kb(m,t,p)}let x,k;try{x=await Vb(e,{title:u.title})}catch(t){x=new Og("error"),k=t}const _=m.select(b).node(),T=x.type,E=_.firstChild,S=E.firstChild,C=null==(r=(i=x.renderer).getClasses)?void 0:r.call(i,e,x),A=Gb(h,T,C,f),M=document.createElement("style");M.innerHTML=A,E.insertBefore(M,S);try{await x.renderer.draw(e,t,Zf,x)}catch(n){throw yg.draw(e,t,Zf),n}(function(t,e,n,i){(function(t,e){t.attr("role","graphics-document document"),""!==e&&t.attr("aria-roledescription",e)})(e,t),function(t,e,n,i){if(void 0!==t.insert){if(n){const e=`chart-desc-${i}`;t.attr("aria-describedby",e),t.insert("desc",":first-child").attr("id",e).text(n)}if(e){const n=`chart-title-${i}`;t.attr("aria-labelledby",n),t.insert("title",":first-child").attr("id",n).text(e)}}}(e,n,i,e.attr("id"))})(T,m.select(`${b} svg`),null==(o=(a=x.db).getAccTitle)?void 0:o.call(a),null==(c=(s=x.db).getAccDescription)?void 0:c.call(s)),m.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");let L=m.select(b).node().innerHTML;if(l.debug("config.arrowMarkerAbsolute",h.arrowMarkerAbsolute),L=((t="",e,n)=>{let i=t;return!n&&!e&&(i=i.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),i=gf(i),i=i.replace(/
/g,"
"),i})(L,y,Sc(h.arrowMarkerAbsolute)),y?L=((t="",e)=>{var n,i;return``})(L,m.select(b+" svg").node()):w||(L=yc.sanitize(L,{ADD_TAGS:zb,ADD_ATTR:qb})),Ng.forEach((t=>{t()})),Ng=[],k)throw k;const I=ee(y?g:b).node();return I&&"remove"in I&&I.remove(),{svg:L,bindFunctions:x.db.bindFunctions}},parse:async function(t,e){Ig(),t=Hb(t).code;try{await Vb(t)}catch(t){if(null!=e&&e.suppressErrors)return!1;throw t}return!0},getDiagramFromText:Vb,initialize:function(t={}){var e;null!=t&&t.fontFamily&&!(null!=(e=t.themeVariables)&&e.fontFamily)&&(t.themeVariables||(t.themeVariables={}),t.themeVariables.fontFamily=t.fontFamily),(t=>{td=Al({},t)})(t),null!=t&&t.theme&&t.theme in hl?t.themeVariables=hl[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=hl.default.getThemeVariables(t.themeVariables));const n="object"==typeof t?(t=>(ed=Al({},Jf),ed=Al(ed,t),t.theme&&hl[t.theme]&&(ed.themeVariables=hl[t.theme].getThemeVariables(t.themeVariables)),rd(ed,nd),ed))(t):ad();u(n.logLevel),Ig()},getConfig:sd,setConfig:od,getSiteConfig:ad,updateSiteConfig:t=>(ed=Al(ed,t),rd(ed,nd),ed),reset:()=>{ld()},globalReset:()=>{ld(Jf)},defaultConfig:Jf});u(sd().logLevel),ld(sd());const Xb=(t,e,n)=>{l.warn(t),uf(t)?(n&&n(t.str,t.hash),e.push({...t,message:t.str,error:t})):(n&&n(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},Qb=async function(t={querySelector:".mermaid"}){try{await Zb(t)}catch(e){if(uf(e)&&l.error(e.str),am.parseError&&am.parseError(e),!t.suppressErrors)throw l.error("Use the suppressErrors option to suppress these errors"),e}},Zb=async function({postRenderCallback:t,querySelector:e,nodes:i}={querySelector:".mermaid"}){const r=Wb.getConfig();let a;if(l.debug((t?"":"No ")+"Callback function found"),i)a=i;else{if(!e)throw new Error("Nodes and querySelector are both undefined");a=document.querySelectorAll(e)}l.debug(`Found ${a.length} diagrams`),void 0!==(null==r?void 0:r.startOnLoad)&&(l.debug("Start On Load: "+(null==r?void 0:r.startOnLoad)),Wb.updateSiteConfig({startOnLoad:null==r?void 0:r.startOnLoad}));const o=new df.InitIDGenerator(r.deterministicIds,r.deterministicIDSeed);let s;const c=[];for(const e of Array.from(a)){if(l.info("Rendering diagram: "+e.id),e.getAttribute("data-processed"))continue;e.setAttribute("data-processed","true");const i=`mermaid-${o.next()}`;s=e.innerHTML,s=n(df.entityDecode(s)).trim().replace(//gi,"
");const r=df.detectInit(s);r&&l.debug("Detected early reinit: ",r);try{const{svg:n,bindFunctions:r}=await rm(i,s,e);e.innerHTML=n,t&&await t(i),r&&r(e)}catch(t){Xb(t,c,am.parseError)}}if(c.length>0)throw c[0]},Jb=function(t){Wb.initialize(t)},tm=function(){if(am.startOnLoad){const{startOnLoad:t}=Wb.getConfig();t&&am.run().catch((t=>l.error("Mermaid failed to initialize",t)))}};typeof document<"u"&&window.addEventListener("load",tm,!1);const em=[];let nm=!1;const im=async()=>{if(!nm){for(nm=!0;em.length>0;){const t=em.shift();if(t)try{await t()}catch(t){l.error("Error executing queue",t)}}nm=!1}},rm=(t,e,n)=>new Promise(((i,r)=>{em.push((()=>new Promise(((a,o)=>{Wb.render(t,e,n).then((t=>{a(t),i(t)}),(t=>{var e;l.error("Error parsing",t),null==(e=am.parseError)||e.call(am,t),o(t),r(t)}))})))),im().catch(r)})),am={startOnLoad:!0,mermaidAPI:Wb,parse:async(t,e)=>new Promise(((n,i)=>{em.push((()=>new Promise(((r,a)=>{Wb.parse(t,e).then((t=>{r(t),n(t)}),(t=>{var e;l.error("Error parsing",t),null==(e=am.parseError)||e.call(am,t),a(t),i(t)}))})))),im().catch(i)})),render:rm,init:async function(t,e,n){l.warn("mermaid.init is deprecated. Please use run instead."),t&&Jb(t);const i={postRenderCallback:n,querySelector:".mermaid"};"string"==typeof e?i.querySelector=e:e&&(e instanceof HTMLElement?i.nodes=[e]:i.nodes=e),await Qb(i)},run:Qb,registerExternalDiagrams:async(t,{lazyLoad:e=!0}={})=>{El(...t),!1===e&&await(async()=>{l.debug("Loading registered diagrams");const t=(await Promise.allSettled(Object.entries(_l).map((async([t,{detector:e,loader:n}])=>{if(n)try{gg(t)}catch{try{const{diagram:t,id:i}=await n();dg(i,t,e)}catch(e){throw l.error(`Failed to load external diagram with key ${t}. Removing from detectors.`),delete _l[t],e}}})))).filter((t=>"rejected"===t.status));if(t.length>0){l.error(`Failed to load ${t.length} external diagrams`);for(const e of t)l.error(e);throw new Error(`Failed to load ${t.length} external diagrams`)}})()},initialize:Jb,parseError:void 0,contentLoaded:tm,setParseErrorHandler:function(t){am.parseError=t},detectType:Tl};class om{constructor(t,e,n){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=t,this.start=e,this.end=n}static range(t,e){return e?t&&t.loc&&e.loc&&t.loc.lexer===e.loc.lexer?new om(t.loc.lexer,t.loc.start,e.loc.end):null:t&&t.loc}}class sm{constructor(t,e){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=t,this.loc=e}range(t,e){return new sm(e,om.range(this,t))}}class cm{constructor(t,e){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var n,i,r="KaTeX parse error: "+t,a=e&&e.loc;if(a&&a.start<=a.end){var o=a.lexer.input;n=a.start,i=a.end,n===o.length?r+=" at end of input: ":r+=" at position "+(n+1)+": ";var s=o.slice(n,i).replace(/[^]/g,"$&̲");r+=(n>15?"…"+o.slice(n-15,n):o.slice(0,n))+s+(i+15":">","<":"<",'"':""","'":"'"},hm=/[&><"']/g,fm=function t(e){return"ordgroup"===e.type||"color"===e.type?1===e.body.length?t(e.body[0]):e:"font"===e.type?t(e.body):e},dm=function(t,e){return-1!==t.indexOf(e)},gm=function(t,e){return void 0===t?e:t},pm=function(t){return String(t).replace(hm,(t=>um[t]))},bm=function(t){return t.replace(lm,"-$1").toLowerCase()},mm=fm,ym=function(t){var e=fm(t);return"mathord"===e.type||"textord"===e.type||"atom"===e.type},wm=function(t){var e=/^\s*([^\\/#]*?)(?::|�*58|�*3a)/i.exec(t);return null!=e?e[1]:"_relative"},vm={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:t=>"#"+t},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(t,e)=>(e.push(t),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:t=>Math.max(0,t),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:t=>Math.max(0,t),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:t=>Math.max(0,t),cli:"-e, --max-expand ",cliProcessor:t=>"Infinity"===t?1/0:parseInt(t)},globalGroup:{type:"boolean",cli:!1}};function xm(t){if(t.default)return t.default;var e=t.type,n=Array.isArray(e)?e[0]:e;if("string"!=typeof n)return n.enum[0];switch(n){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class km{constructor(t){for(var e in this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,t=t||{},vm)if(vm.hasOwnProperty(e)){var n=vm[e];this[e]=void 0!==t[e]?n.processor?n.processor(t[e]):t[e]:xm(n)}}reportNonstrict(t,e,n){var i=this.strict;if("function"==typeof i&&(i=i(t,e,n)),i&&"ignore"!==i){if(!0===i||"error"===i)throw new cm("LaTeX-incompatible input and strict mode is set to 'error': "+e+" ["+t+"]",n);"warn"===i?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+e+" ["+t+"]"):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+i+"': "+e+" ["+t+"]")}}useStrictBehavior(t,e,n){var i=this.strict;if("function"==typeof i)try{i=i(t,e,n)}catch{i="error"}return!(!i||"ignore"===i||!0!==i&&"error"!==i&&("warn"===i?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+e+" ["+t+"]"),1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+i+"': "+e+" ["+t+"]"),1)))}isTrusted(t){return t.url&&!t.protocol&&(t.protocol=wm(t.url)),!!("function"==typeof this.trust?this.trust(t):this.trust)}}class _m{constructor(t,e,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=t,this.size=e,this.cramped=n}sup(){return Tm[Em[this.id]]}sub(){return Tm[Sm[this.id]]}fracNum(){return Tm[Cm[this.id]]}fracDen(){return Tm[Am[this.id]]}cramp(){return Tm[Mm[this.id]]}text(){return Tm[Lm[this.id]]}isTight(){return this.size>=2}}var Tm=[new _m(0,0,!1),new _m(1,0,!0),new _m(2,1,!1),new _m(3,1,!0),new _m(4,2,!1),new _m(5,2,!0),new _m(6,3,!1),new _m(7,3,!0)],Em=[4,5,4,5,6,7,6,7],Sm=[5,5,5,5,7,7,7,7],Cm=[2,3,4,5,6,7,6,7],Am=[3,3,5,5,7,7,7,7],Mm=[1,1,3,3,5,5,7,7],Lm=[0,1,2,3,2,3,2,3],Im={DISPLAY:Tm[0],TEXT:Tm[2],SCRIPT:Tm[4],SCRIPTSCRIPT:Tm[6]},Om=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}],Nm=[];function Dm(t){for(var e=0;e=Nm[e]&&t<=Nm[e+1])return!0;return!1}Om.forEach((t=>t.blocks.forEach((t=>Nm.push(...t)))));var Pm={doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:"M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",leftmapsto:"M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z",leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:"M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z",midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"};class Bm{constructor(t){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=t,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(t){return dm(this.classes,t)}toNode(){for(var t=document.createDocumentFragment(),e=0;et.toText())).join("")}}var Rm={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},Fm={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},$m={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function jm(t,e,n){if(!Rm[e])throw new Error("Font metrics not found for font: "+e+".");var i=t.charCodeAt(0),r=Rm[e][i];if(!r&&t[0]in $m&&(i=$m[t[0]].charCodeAt(0),r=Rm[e][i]),!r&&"text"===n&&Dm(i)&&(r=Rm[e][77]),r)return{depth:r[0],height:r[1],italic:r[2],skew:r[3],width:r[4]}}var zm={},qm=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],Hm=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],Um=function(t,e){return e.size<2?t:qm[t-1][e.size-1]};class Gm{constructor(t){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=t.style,this.color=t.color,this.size=t.size||Gm.BASESIZE,this.textSize=t.textSize||this.size,this.phantom=!!t.phantom,this.font=t.font||"",this.fontFamily=t.fontFamily||"",this.fontWeight=t.fontWeight||"",this.fontShape=t.fontShape||"",this.sizeMultiplier=Hm[this.size-1],this.maxSize=t.maxSize,this.minRuleThickness=t.minRuleThickness,this._fontMetrics=void 0}extend(t){var e={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return new Gm(e)}havingStyle(t){return this.style===t?this:this.extend({style:t,size:Um(this.textSize,t)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(t){return this.size===t&&this.textSize===t?this:this.extend({style:this.style.text(),size:t,textSize:t,sizeMultiplier:Hm[t-1]})}havingBaseStyle(t){t=t||this.style.text();var e=Um(Gm.BASESIZE,t);return this.size===e&&this.textSize===Gm.BASESIZE&&this.style===t?this:this.extend({style:t,size:e})}havingBaseSizing(){var t;switch(this.style.id){case 4:case 5:t=3;break;case 6:case 7:t=1;break;default:t=6}return this.extend({style:this.style.text(),size:t})}withColor(t){return this.extend({color:t})}withPhantom(){return this.extend({phantom:!0})}withFont(t){return this.extend({font:t})}withTextFontFamily(t){return this.extend({fontFamily:t,font:""})}withTextFontWeight(t){return this.extend({fontWeight:t,font:""})}withTextFontShape(t){return this.extend({fontShape:t,font:""})}sizingClasses(t){return t.size!==this.size?["sizing","reset-size"+t.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==Gm.BASESIZE?["sizing","reset-size"+this.size,"size"+Gm.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=function(t){var e;if(!zm[e=t>=5?0:t>=3?1:2]){var n=zm[e]={cssEmPerMu:Fm.quad[e]/18};for(var i in Fm)Fm.hasOwnProperty(i)&&(n[i]=Fm[i][e])}return zm[e]}(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}Gm.BASESIZE=6;var Km={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:1.00375,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:1.00375},Ym={ex:!0,em:!0,mu:!0},Vm=function(t){return"string"!=typeof t&&(t=t.unit),t in Km||t in Ym||"ex"===t},Wm=function(t,e){var n;if(t.unit in Km)n=Km[t.unit]/e.fontMetrics().ptPerEm/e.sizeMultiplier;else if("mu"===t.unit)n=e.fontMetrics().cssEmPerMu;else{var i;if(i=e.style.isTight()?e.havingStyle(e.style.text()):e,"ex"===t.unit)n=i.fontMetrics().xHeight;else{if("em"!==t.unit)throw new cm("Invalid unit: '"+t.unit+"'");n=i.fontMetrics().quad}i!==e&&(n*=i.sizeMultiplier/e.sizeMultiplier)}return Math.min(t.number*n,e.maxSize)},Xm=function(t){return+t.toFixed(4)+"em"},Qm=function(t){return t.filter((t=>t)).join(" ")},Zm=function(t,e,n){if(this.classes=t||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},e){e.style.isTight()&&this.classes.push("mtight");var i=e.getColor();i&&(this.style.color=i)}},Jm=function(t){var e=document.createElement(t);for(var n in e.className=Qm(this.classes),this.style)this.style.hasOwnProperty(n)&&(e.style[n]=this.style[n]);for(var i in this.attributes)this.attributes.hasOwnProperty(i)&&e.setAttribute(i,this.attributes[i]);for(var r=0;r"};class ey{constructor(t,e,n,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,Zm.call(this,t,n,i),this.children=e||[]}setAttribute(t,e){this.attributes[t]=e}hasClass(t){return dm(this.classes,t)}toNode(){return Jm.call(this,"span")}toMarkup(){return ty.call(this,"span")}}class ny{constructor(t,e,n,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,Zm.call(this,e,i),this.children=n||[],this.setAttribute("href",t)}setAttribute(t,e){this.attributes[t]=e}hasClass(t){return dm(this.classes,t)}toNode(){return Jm.call(this,"a")}toMarkup(){return ty.call(this,"a")}}class iy{constructor(t,e,n){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=e,this.src=t,this.classes=["mord"],this.style=n}hasClass(t){return dm(this.classes,t)}toNode(){var t=document.createElement("img");for(var e in t.src=this.src,t.alt=this.alt,t.className="mord",this.style)this.style.hasOwnProperty(e)&&(t.style[e]=this.style[e]);return t}toMarkup(){var t=""+this.alt+""}}var ry={î:"ı̂",ï:"ı̈",í:"ı́",ì:"ı̀"};class ay{constructor(t,e,n,i,r,a,o,s){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=t,this.height=e||0,this.depth=n||0,this.italic=i||0,this.skew=r||0,this.width=a||0,this.classes=o||[],this.style=s||{},this.maxFontSize=0;var c=function(t){for(var e=0;e=r[0]&&t<=r[1])return n.name}return null}(this.text.charCodeAt(0));c&&this.classes.push(c+"_fallback"),/[îïíì]/.test(this.text)&&(this.text=ry[this.text])}hasClass(t){return dm(this.classes,t)}toNode(){var t=document.createTextNode(this.text),e=null;for(var n in this.italic>0&&((e=document.createElement("span")).style.marginRight=Xm(this.italic)),this.classes.length>0&&((e=e||document.createElement("span")).className=Qm(this.classes)),this.style)this.style.hasOwnProperty(n)&&((e=e||document.createElement("span")).style[n]=this.style[n]);return e?(e.appendChild(t),e):t}toMarkup(){var t=!1,e="0&&(n+="margin-right:"+this.italic+"em;"),this.style)this.style.hasOwnProperty(i)&&(n+=bm(i)+":"+this.style[i]+";");n&&(t=!0,e+=' style="'+pm(n)+'"');var r=pm(this.text);return t?(e+=">",e+=r,e+=""):r}}class oy{constructor(t,e){this.children=void 0,this.attributes=void 0,this.children=t||[],this.attributes=e||{}}toNode(){var t=document.createElementNS("http://www.w3.org/2000/svg","svg");for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);for(var n=0;n"}}class sy{constructor(t,e){this.pathName=void 0,this.alternate=void 0,this.pathName=t,this.alternate=e}toNode(){var t=document.createElementNS("http://www.w3.org/2000/svg","path");return this.alternate?t.setAttribute("d",this.alternate):t.setAttribute("d",Pm[this.pathName]),t}toMarkup(){return this.alternate?"":""}}class cy{constructor(t){this.attributes=void 0,this.attributes=t||{}}toNode(){var t=document.createElementNS("http://www.w3.org/2000/svg","line");for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);return t}toMarkup(){var t=""}}function ly(t){if(t instanceof ay)return t;throw new Error("Expected symbolNode but got "+String(t)+".")}var uy={bin:1,close:1,inner:1,open:1,punct:1,rel:1},hy={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},fy={math:{},text:{}};function dy(t,e,n,i,r,a){fy[t][r]={font:e,group:n,replace:i},a&&i&&(fy[t][i]=fy[t][r])}var gy="math",py="text",by="main",my="ams",yy="accent-token",wy="bin",vy="close",xy="inner",ky="mathord",_y="op-token",Ty="open",Ey="punct",Sy="rel",Cy="spacing",Ay="textord";dy(gy,by,Sy,"≡","\\equiv",!0),dy(gy,by,Sy,"≺","\\prec",!0),dy(gy,by,Sy,"≻","\\succ",!0),dy(gy,by,Sy,"∼","\\sim",!0),dy(gy,by,Sy,"⊥","\\perp"),dy(gy,by,Sy,"⪯","\\preceq",!0),dy(gy,by,Sy,"⪰","\\succeq",!0),dy(gy,by,Sy,"≃","\\simeq",!0),dy(gy,by,Sy,"∣","\\mid",!0),dy(gy,by,Sy,"≪","\\ll",!0),dy(gy,by,Sy,"≫","\\gg",!0),dy(gy,by,Sy,"≍","\\asymp",!0),dy(gy,by,Sy,"∥","\\parallel"),dy(gy,by,Sy,"⋈","\\bowtie",!0),dy(gy,by,Sy,"⌣","\\smile",!0),dy(gy,by,Sy,"⊑","\\sqsubseteq",!0),dy(gy,by,Sy,"⊒","\\sqsupseteq",!0),dy(gy,by,Sy,"≐","\\doteq",!0),dy(gy,by,Sy,"⌢","\\frown",!0),dy(gy,by,Sy,"∋","\\ni",!0),dy(gy,by,Sy,"∝","\\propto",!0),dy(gy,by,Sy,"⊢","\\vdash",!0),dy(gy,by,Sy,"⊣","\\dashv",!0),dy(gy,by,Sy,"∋","\\owns"),dy(gy,by,Ey,".","\\ldotp"),dy(gy,by,Ey,"⋅","\\cdotp"),dy(gy,by,Ay,"#","\\#"),dy(py,by,Ay,"#","\\#"),dy(gy,by,Ay,"&","\\&"),dy(py,by,Ay,"&","\\&"),dy(gy,by,Ay,"ℵ","\\aleph",!0),dy(gy,by,Ay,"∀","\\forall",!0),dy(gy,by,Ay,"ℏ","\\hbar",!0),dy(gy,by,Ay,"∃","\\exists",!0),dy(gy,by,Ay,"∇","\\nabla",!0),dy(gy,by,Ay,"♭","\\flat",!0),dy(gy,by,Ay,"ℓ","\\ell",!0),dy(gy,by,Ay,"♮","\\natural",!0),dy(gy,by,Ay,"♣","\\clubsuit",!0),dy(gy,by,Ay,"℘","\\wp",!0),dy(gy,by,Ay,"♯","\\sharp",!0),dy(gy,by,Ay,"♢","\\diamondsuit",!0),dy(gy,by,Ay,"ℜ","\\Re",!0),dy(gy,by,Ay,"♡","\\heartsuit",!0),dy(gy,by,Ay,"ℑ","\\Im",!0),dy(gy,by,Ay,"♠","\\spadesuit",!0),dy(gy,by,Ay,"§","\\S",!0),dy(py,by,Ay,"§","\\S"),dy(gy,by,Ay,"¶","\\P",!0),dy(py,by,Ay,"¶","\\P"),dy(gy,by,Ay,"†","\\dag"),dy(py,by,Ay,"†","\\dag"),dy(py,by,Ay,"†","\\textdagger"),dy(gy,by,Ay,"‡","\\ddag"),dy(py,by,Ay,"‡","\\ddag"),dy(py,by,Ay,"‡","\\textdaggerdbl"),dy(gy,by,vy,"⎱","\\rmoustache",!0),dy(gy,by,Ty,"⎰","\\lmoustache",!0),dy(gy,by,vy,"⟯","\\rgroup",!0),dy(gy,by,Ty,"⟮","\\lgroup",!0),dy(gy,by,wy,"∓","\\mp",!0),dy(gy,by,wy,"⊖","\\ominus",!0),dy(gy,by,wy,"⊎","\\uplus",!0),dy(gy,by,wy,"⊓","\\sqcap",!0),dy(gy,by,wy,"∗","\\ast"),dy(gy,by,wy,"⊔","\\sqcup",!0),dy(gy,by,wy,"◯","\\bigcirc",!0),dy(gy,by,wy,"∙","\\bullet",!0),dy(gy,by,wy,"‡","\\ddagger"),dy(gy,by,wy,"≀","\\wr",!0),dy(gy,by,wy,"⨿","\\amalg"),dy(gy,by,wy,"&","\\And"),dy(gy,by,Sy,"⟵","\\longleftarrow",!0),dy(gy,by,Sy,"⇐","\\Leftarrow",!0),dy(gy,by,Sy,"⟸","\\Longleftarrow",!0),dy(gy,by,Sy,"⟶","\\longrightarrow",!0),dy(gy,by,Sy,"⇒","\\Rightarrow",!0),dy(gy,by,Sy,"⟹","\\Longrightarrow",!0),dy(gy,by,Sy,"↔","\\leftrightarrow",!0),dy(gy,by,Sy,"⟷","\\longleftrightarrow",!0),dy(gy,by,Sy,"⇔","\\Leftrightarrow",!0),dy(gy,by,Sy,"⟺","\\Longleftrightarrow",!0),dy(gy,by,Sy,"↦","\\mapsto",!0),dy(gy,by,Sy,"⟼","\\longmapsto",!0),dy(gy,by,Sy,"↗","\\nearrow",!0),dy(gy,by,Sy,"↩","\\hookleftarrow",!0),dy(gy,by,Sy,"↪","\\hookrightarrow",!0),dy(gy,by,Sy,"↘","\\searrow",!0),dy(gy,by,Sy,"↼","\\leftharpoonup",!0),dy(gy,by,Sy,"⇀","\\rightharpoonup",!0),dy(gy,by,Sy,"↙","\\swarrow",!0),dy(gy,by,Sy,"↽","\\leftharpoondown",!0),dy(gy,by,Sy,"⇁","\\rightharpoondown",!0),dy(gy,by,Sy,"↖","\\nwarrow",!0),dy(gy,by,Sy,"⇌","\\rightleftharpoons",!0),dy(gy,my,Sy,"≮","\\nless",!0),dy(gy,my,Sy,"","\\@nleqslant"),dy(gy,my,Sy,"","\\@nleqq"),dy(gy,my,Sy,"⪇","\\lneq",!0),dy(gy,my,Sy,"≨","\\lneqq",!0),dy(gy,my,Sy,"","\\@lvertneqq"),dy(gy,my,Sy,"⋦","\\lnsim",!0),dy(gy,my,Sy,"⪉","\\lnapprox",!0),dy(gy,my,Sy,"⊀","\\nprec",!0),dy(gy,my,Sy,"⋠","\\npreceq",!0),dy(gy,my,Sy,"⋨","\\precnsim",!0),dy(gy,my,Sy,"⪹","\\precnapprox",!0),dy(gy,my,Sy,"≁","\\nsim",!0),dy(gy,my,Sy,"","\\@nshortmid"),dy(gy,my,Sy,"∤","\\nmid",!0),dy(gy,my,Sy,"⊬","\\nvdash",!0),dy(gy,my,Sy,"⊭","\\nvDash",!0),dy(gy,my,Sy,"⋪","\\ntriangleleft"),dy(gy,my,Sy,"⋬","\\ntrianglelefteq",!0),dy(gy,my,Sy,"⊊","\\subsetneq",!0),dy(gy,my,Sy,"","\\@varsubsetneq"),dy(gy,my,Sy,"⫋","\\subsetneqq",!0),dy(gy,my,Sy,"","\\@varsubsetneqq"),dy(gy,my,Sy,"≯","\\ngtr",!0),dy(gy,my,Sy,"","\\@ngeqslant"),dy(gy,my,Sy,"","\\@ngeqq"),dy(gy,my,Sy,"⪈","\\gneq",!0),dy(gy,my,Sy,"≩","\\gneqq",!0),dy(gy,my,Sy,"","\\@gvertneqq"),dy(gy,my,Sy,"⋧","\\gnsim",!0),dy(gy,my,Sy,"⪊","\\gnapprox",!0),dy(gy,my,Sy,"⊁","\\nsucc",!0),dy(gy,my,Sy,"⋡","\\nsucceq",!0),dy(gy,my,Sy,"⋩","\\succnsim",!0),dy(gy,my,Sy,"⪺","\\succnapprox",!0),dy(gy,my,Sy,"≆","\\ncong",!0),dy(gy,my,Sy,"","\\@nshortparallel"),dy(gy,my,Sy,"∦","\\nparallel",!0),dy(gy,my,Sy,"⊯","\\nVDash",!0),dy(gy,my,Sy,"⋫","\\ntriangleright"),dy(gy,my,Sy,"⋭","\\ntrianglerighteq",!0),dy(gy,my,Sy,"","\\@nsupseteqq"),dy(gy,my,Sy,"⊋","\\supsetneq",!0),dy(gy,my,Sy,"","\\@varsupsetneq"),dy(gy,my,Sy,"⫌","\\supsetneqq",!0),dy(gy,my,Sy,"","\\@varsupsetneqq"),dy(gy,my,Sy,"⊮","\\nVdash",!0),dy(gy,my,Sy,"⪵","\\precneqq",!0),dy(gy,my,Sy,"⪶","\\succneqq",!0),dy(gy,my,Sy,"","\\@nsubseteqq"),dy(gy,my,wy,"⊴","\\unlhd"),dy(gy,my,wy,"⊵","\\unrhd"),dy(gy,my,Sy,"↚","\\nleftarrow",!0),dy(gy,my,Sy,"↛","\\nrightarrow",!0),dy(gy,my,Sy,"⇍","\\nLeftarrow",!0),dy(gy,my,Sy,"⇏","\\nRightarrow",!0),dy(gy,my,Sy,"↮","\\nleftrightarrow",!0),dy(gy,my,Sy,"⇎","\\nLeftrightarrow",!0),dy(gy,my,Sy,"△","\\vartriangle"),dy(gy,my,Ay,"ℏ","\\hslash"),dy(gy,my,Ay,"▽","\\triangledown"),dy(gy,my,Ay,"◊","\\lozenge"),dy(gy,my,Ay,"Ⓢ","\\circledS"),dy(gy,my,Ay,"®","\\circledR"),dy(py,my,Ay,"®","\\circledR"),dy(gy,my,Ay,"∡","\\measuredangle",!0),dy(gy,my,Ay,"∄","\\nexists"),dy(gy,my,Ay,"℧","\\mho"),dy(gy,my,Ay,"Ⅎ","\\Finv",!0),dy(gy,my,Ay,"⅁","\\Game",!0),dy(gy,my,Ay,"‵","\\backprime"),dy(gy,my,Ay,"▲","\\blacktriangle"),dy(gy,my,Ay,"▼","\\blacktriangledown"),dy(gy,my,Ay,"■","\\blacksquare"),dy(gy,my,Ay,"⧫","\\blacklozenge"),dy(gy,my,Ay,"★","\\bigstar"),dy(gy,my,Ay,"∢","\\sphericalangle",!0),dy(gy,my,Ay,"∁","\\complement",!0),dy(gy,my,Ay,"ð","\\eth",!0),dy(py,by,Ay,"ð","ð"),dy(gy,my,Ay,"╱","\\diagup"),dy(gy,my,Ay,"╲","\\diagdown"),dy(gy,my,Ay,"□","\\square"),dy(gy,my,Ay,"□","\\Box"),dy(gy,my,Ay,"◊","\\Diamond"),dy(gy,my,Ay,"¥","\\yen",!0),dy(py,my,Ay,"¥","\\yen",!0),dy(gy,my,Ay,"✓","\\checkmark",!0),dy(py,my,Ay,"✓","\\checkmark"),dy(gy,my,Ay,"ℶ","\\beth",!0),dy(gy,my,Ay,"ℸ","\\daleth",!0),dy(gy,my,Ay,"ℷ","\\gimel",!0),dy(gy,my,Ay,"ϝ","\\digamma",!0),dy(gy,my,Ay,"ϰ","\\varkappa"),dy(gy,my,Ty,"┌","\\@ulcorner",!0),dy(gy,my,vy,"┐","\\@urcorner",!0),dy(gy,my,Ty,"└","\\@llcorner",!0),dy(gy,my,vy,"┘","\\@lrcorner",!0),dy(gy,my,Sy,"≦","\\leqq",!0),dy(gy,my,Sy,"⩽","\\leqslant",!0),dy(gy,my,Sy,"⪕","\\eqslantless",!0),dy(gy,my,Sy,"≲","\\lesssim",!0),dy(gy,my,Sy,"⪅","\\lessapprox",!0),dy(gy,my,Sy,"≊","\\approxeq",!0),dy(gy,my,wy,"⋖","\\lessdot"),dy(gy,my,Sy,"⋘","\\lll",!0),dy(gy,my,Sy,"≶","\\lessgtr",!0),dy(gy,my,Sy,"⋚","\\lesseqgtr",!0),dy(gy,my,Sy,"⪋","\\lesseqqgtr",!0),dy(gy,my,Sy,"≑","\\doteqdot"),dy(gy,my,Sy,"≓","\\risingdotseq",!0),dy(gy,my,Sy,"≒","\\fallingdotseq",!0),dy(gy,my,Sy,"∽","\\backsim",!0),dy(gy,my,Sy,"⋍","\\backsimeq",!0),dy(gy,my,Sy,"⫅","\\subseteqq",!0),dy(gy,my,Sy,"⋐","\\Subset",!0),dy(gy,my,Sy,"⊏","\\sqsubset",!0),dy(gy,my,Sy,"≼","\\preccurlyeq",!0),dy(gy,my,Sy,"⋞","\\curlyeqprec",!0),dy(gy,my,Sy,"≾","\\precsim",!0),dy(gy,my,Sy,"⪷","\\precapprox",!0),dy(gy,my,Sy,"⊲","\\vartriangleleft"),dy(gy,my,Sy,"⊴","\\trianglelefteq"),dy(gy,my,Sy,"⊨","\\vDash",!0),dy(gy,my,Sy,"⊪","\\Vvdash",!0),dy(gy,my,Sy,"⌣","\\smallsmile"),dy(gy,my,Sy,"⌢","\\smallfrown"),dy(gy,my,Sy,"≏","\\bumpeq",!0),dy(gy,my,Sy,"≎","\\Bumpeq",!0),dy(gy,my,Sy,"≧","\\geqq",!0),dy(gy,my,Sy,"⩾","\\geqslant",!0),dy(gy,my,Sy,"⪖","\\eqslantgtr",!0),dy(gy,my,Sy,"≳","\\gtrsim",!0),dy(gy,my,Sy,"⪆","\\gtrapprox",!0),dy(gy,my,wy,"⋗","\\gtrdot"),dy(gy,my,Sy,"⋙","\\ggg",!0),dy(gy,my,Sy,"≷","\\gtrless",!0),dy(gy,my,Sy,"⋛","\\gtreqless",!0),dy(gy,my,Sy,"⪌","\\gtreqqless",!0),dy(gy,my,Sy,"≖","\\eqcirc",!0),dy(gy,my,Sy,"≗","\\circeq",!0),dy(gy,my,Sy,"≜","\\triangleq",!0),dy(gy,my,Sy,"∼","\\thicksim"),dy(gy,my,Sy,"≈","\\thickapprox"),dy(gy,my,Sy,"⫆","\\supseteqq",!0),dy(gy,my,Sy,"⋑","\\Supset",!0),dy(gy,my,Sy,"⊐","\\sqsupset",!0),dy(gy,my,Sy,"≽","\\succcurlyeq",!0),dy(gy,my,Sy,"⋟","\\curlyeqsucc",!0),dy(gy,my,Sy,"≿","\\succsim",!0),dy(gy,my,Sy,"⪸","\\succapprox",!0),dy(gy,my,Sy,"⊳","\\vartriangleright"),dy(gy,my,Sy,"⊵","\\trianglerighteq"),dy(gy,my,Sy,"⊩","\\Vdash",!0),dy(gy,my,Sy,"∣","\\shortmid"),dy(gy,my,Sy,"∥","\\shortparallel"),dy(gy,my,Sy,"≬","\\between",!0),dy(gy,my,Sy,"⋔","\\pitchfork",!0),dy(gy,my,Sy,"∝","\\varpropto"),dy(gy,my,Sy,"◀","\\blacktriangleleft"),dy(gy,my,Sy,"∴","\\therefore",!0),dy(gy,my,Sy,"∍","\\backepsilon"),dy(gy,my,Sy,"▶","\\blacktriangleright"),dy(gy,my,Sy,"∵","\\because",!0),dy(gy,my,Sy,"⋘","\\llless"),dy(gy,my,Sy,"⋙","\\gggtr"),dy(gy,my,wy,"⊲","\\lhd"),dy(gy,my,wy,"⊳","\\rhd"),dy(gy,my,Sy,"≂","\\eqsim",!0),dy(gy,by,Sy,"⋈","\\Join"),dy(gy,my,Sy,"≑","\\Doteq",!0),dy(gy,my,wy,"∔","\\dotplus",!0),dy(gy,my,wy,"∖","\\smallsetminus"),dy(gy,my,wy,"⋒","\\Cap",!0),dy(gy,my,wy,"⋓","\\Cup",!0),dy(gy,my,wy,"⩞","\\doublebarwedge",!0),dy(gy,my,wy,"⊟","\\boxminus",!0),dy(gy,my,wy,"⊞","\\boxplus",!0),dy(gy,my,wy,"⋇","\\divideontimes",!0),dy(gy,my,wy,"⋉","\\ltimes",!0),dy(gy,my,wy,"⋊","\\rtimes",!0),dy(gy,my,wy,"⋋","\\leftthreetimes",!0),dy(gy,my,wy,"⋌","\\rightthreetimes",!0),dy(gy,my,wy,"⋏","\\curlywedge",!0),dy(gy,my,wy,"⋎","\\curlyvee",!0),dy(gy,my,wy,"⊝","\\circleddash",!0),dy(gy,my,wy,"⊛","\\circledast",!0),dy(gy,my,wy,"⋅","\\centerdot"),dy(gy,my,wy,"⊺","\\intercal",!0),dy(gy,my,wy,"⋒","\\doublecap"),dy(gy,my,wy,"⋓","\\doublecup"),dy(gy,my,wy,"⊠","\\boxtimes",!0),dy(gy,my,Sy,"⇢","\\dashrightarrow",!0),dy(gy,my,Sy,"⇠","\\dashleftarrow",!0),dy(gy,my,Sy,"⇇","\\leftleftarrows",!0),dy(gy,my,Sy,"⇆","\\leftrightarrows",!0),dy(gy,my,Sy,"⇚","\\Lleftarrow",!0),dy(gy,my,Sy,"↞","\\twoheadleftarrow",!0),dy(gy,my,Sy,"↢","\\leftarrowtail",!0),dy(gy,my,Sy,"↫","\\looparrowleft",!0),dy(gy,my,Sy,"⇋","\\leftrightharpoons",!0),dy(gy,my,Sy,"↶","\\curvearrowleft",!0),dy(gy,my,Sy,"↺","\\circlearrowleft",!0),dy(gy,my,Sy,"↰","\\Lsh",!0),dy(gy,my,Sy,"⇈","\\upuparrows",!0),dy(gy,my,Sy,"↿","\\upharpoonleft",!0),dy(gy,my,Sy,"⇃","\\downharpoonleft",!0),dy(gy,by,Sy,"⊶","\\origof",!0),dy(gy,by,Sy,"⊷","\\imageof",!0),dy(gy,my,Sy,"⊸","\\multimap",!0),dy(gy,my,Sy,"↭","\\leftrightsquigarrow",!0),dy(gy,my,Sy,"⇉","\\rightrightarrows",!0),dy(gy,my,Sy,"⇄","\\rightleftarrows",!0),dy(gy,my,Sy,"↠","\\twoheadrightarrow",!0),dy(gy,my,Sy,"↣","\\rightarrowtail",!0),dy(gy,my,Sy,"↬","\\looparrowright",!0),dy(gy,my,Sy,"↷","\\curvearrowright",!0),dy(gy,my,Sy,"↻","\\circlearrowright",!0),dy(gy,my,Sy,"↱","\\Rsh",!0),dy(gy,my,Sy,"⇊","\\downdownarrows",!0),dy(gy,my,Sy,"↾","\\upharpoonright",!0),dy(gy,my,Sy,"⇂","\\downharpoonright",!0),dy(gy,my,Sy,"⇝","\\rightsquigarrow",!0),dy(gy,my,Sy,"⇝","\\leadsto"),dy(gy,my,Sy,"⇛","\\Rrightarrow",!0),dy(gy,my,Sy,"↾","\\restriction"),dy(gy,by,Ay,"‘","`"),dy(gy,by,Ay,"$","\\$"),dy(py,by,Ay,"$","\\$"),dy(py,by,Ay,"$","\\textdollar"),dy(gy,by,Ay,"%","\\%"),dy(py,by,Ay,"%","\\%"),dy(gy,by,Ay,"_","\\_"),dy(py,by,Ay,"_","\\_"),dy(py,by,Ay,"_","\\textunderscore"),dy(gy,by,Ay,"∠","\\angle",!0),dy(gy,by,Ay,"∞","\\infty",!0),dy(gy,by,Ay,"′","\\prime"),dy(gy,by,Ay,"△","\\triangle"),dy(gy,by,Ay,"Γ","\\Gamma",!0),dy(gy,by,Ay,"Δ","\\Delta",!0),dy(gy,by,Ay,"Θ","\\Theta",!0),dy(gy,by,Ay,"Λ","\\Lambda",!0),dy(gy,by,Ay,"Ξ","\\Xi",!0),dy(gy,by,Ay,"Π","\\Pi",!0),dy(gy,by,Ay,"Σ","\\Sigma",!0),dy(gy,by,Ay,"Υ","\\Upsilon",!0),dy(gy,by,Ay,"Φ","\\Phi",!0),dy(gy,by,Ay,"Ψ","\\Psi",!0),dy(gy,by,Ay,"Ω","\\Omega",!0),dy(gy,by,Ay,"A","Α"),dy(gy,by,Ay,"B","Β"),dy(gy,by,Ay,"E","Ε"),dy(gy,by,Ay,"Z","Ζ"),dy(gy,by,Ay,"H","Η"),dy(gy,by,Ay,"I","Ι"),dy(gy,by,Ay,"K","Κ"),dy(gy,by,Ay,"M","Μ"),dy(gy,by,Ay,"N","Ν"),dy(gy,by,Ay,"O","Ο"),dy(gy,by,Ay,"P","Ρ"),dy(gy,by,Ay,"T","Τ"),dy(gy,by,Ay,"X","Χ"),dy(gy,by,Ay,"¬","\\neg",!0),dy(gy,by,Ay,"¬","\\lnot"),dy(gy,by,Ay,"⊤","\\top"),dy(gy,by,Ay,"⊥","\\bot"),dy(gy,by,Ay,"∅","\\emptyset"),dy(gy,my,Ay,"∅","\\varnothing"),dy(gy,by,ky,"α","\\alpha",!0),dy(gy,by,ky,"β","\\beta",!0),dy(gy,by,ky,"γ","\\gamma",!0),dy(gy,by,ky,"δ","\\delta",!0),dy(gy,by,ky,"ϵ","\\epsilon",!0),dy(gy,by,ky,"ζ","\\zeta",!0),dy(gy,by,ky,"η","\\eta",!0),dy(gy,by,ky,"θ","\\theta",!0),dy(gy,by,ky,"ι","\\iota",!0),dy(gy,by,ky,"κ","\\kappa",!0),dy(gy,by,ky,"λ","\\lambda",!0),dy(gy,by,ky,"μ","\\mu",!0),dy(gy,by,ky,"ν","\\nu",!0),dy(gy,by,ky,"ξ","\\xi",!0),dy(gy,by,ky,"ο","\\omicron",!0),dy(gy,by,ky,"π","\\pi",!0),dy(gy,by,ky,"ρ","\\rho",!0),dy(gy,by,ky,"σ","\\sigma",!0),dy(gy,by,ky,"τ","\\tau",!0),dy(gy,by,ky,"υ","\\upsilon",!0),dy(gy,by,ky,"ϕ","\\phi",!0),dy(gy,by,ky,"χ","\\chi",!0),dy(gy,by,ky,"ψ","\\psi",!0),dy(gy,by,ky,"ω","\\omega",!0),dy(gy,by,ky,"ε","\\varepsilon",!0),dy(gy,by,ky,"ϑ","\\vartheta",!0),dy(gy,by,ky,"ϖ","\\varpi",!0),dy(gy,by,ky,"ϱ","\\varrho",!0),dy(gy,by,ky,"ς","\\varsigma",!0),dy(gy,by,ky,"φ","\\varphi",!0),dy(gy,by,wy,"∗","*",!0),dy(gy,by,wy,"+","+"),dy(gy,by,wy,"−","-",!0),dy(gy,by,wy,"⋅","\\cdot",!0),dy(gy,by,wy,"∘","\\circ",!0),dy(gy,by,wy,"÷","\\div",!0),dy(gy,by,wy,"±","\\pm",!0),dy(gy,by,wy,"×","\\times",!0),dy(gy,by,wy,"∩","\\cap",!0),dy(gy,by,wy,"∪","\\cup",!0),dy(gy,by,wy,"∖","\\setminus",!0),dy(gy,by,wy,"∧","\\land"),dy(gy,by,wy,"∨","\\lor"),dy(gy,by,wy,"∧","\\wedge",!0),dy(gy,by,wy,"∨","\\vee",!0),dy(gy,by,Ay,"√","\\surd"),dy(gy,by,Ty,"⟨","\\langle",!0),dy(gy,by,Ty,"∣","\\lvert"),dy(gy,by,Ty,"∥","\\lVert"),dy(gy,by,vy,"?","?"),dy(gy,by,vy,"!","!"),dy(gy,by,vy,"⟩","\\rangle",!0),dy(gy,by,vy,"∣","\\rvert"),dy(gy,by,vy,"∥","\\rVert"),dy(gy,by,Sy,"=","="),dy(gy,by,Sy,":",":"),dy(gy,by,Sy,"≈","\\approx",!0),dy(gy,by,Sy,"≅","\\cong",!0),dy(gy,by,Sy,"≥","\\ge"),dy(gy,by,Sy,"≥","\\geq",!0),dy(gy,by,Sy,"←","\\gets"),dy(gy,by,Sy,">","\\gt",!0),dy(gy,by,Sy,"∈","\\in",!0),dy(gy,by,Sy,"","\\@not"),dy(gy,by,Sy,"⊂","\\subset",!0),dy(gy,by,Sy,"⊃","\\supset",!0),dy(gy,by,Sy,"⊆","\\subseteq",!0),dy(gy,by,Sy,"⊇","\\supseteq",!0),dy(gy,my,Sy,"⊈","\\nsubseteq",!0),dy(gy,my,Sy,"⊉","\\nsupseteq",!0),dy(gy,by,Sy,"⊨","\\models"),dy(gy,by,Sy,"←","\\leftarrow",!0),dy(gy,by,Sy,"≤","\\le"),dy(gy,by,Sy,"≤","\\leq",!0),dy(gy,by,Sy,"<","\\lt",!0),dy(gy,by,Sy,"→","\\rightarrow",!0),dy(gy,by,Sy,"→","\\to"),dy(gy,my,Sy,"≱","\\ngeq",!0),dy(gy,my,Sy,"≰","\\nleq",!0),dy(gy,by,Cy," ","\\ "),dy(gy,by,Cy," ","\\space"),dy(gy,by,Cy," ","\\nobreakspace"),dy(py,by,Cy," ","\\ "),dy(py,by,Cy," "," "),dy(py,by,Cy," ","\\space"),dy(py,by,Cy," ","\\nobreakspace"),dy(gy,by,Cy,null,"\\nobreak"),dy(gy,by,Cy,null,"\\allowbreak"),dy(gy,by,Ey,",",","),dy(gy,by,Ey,";",";"),dy(gy,my,wy,"⊼","\\barwedge",!0),dy(gy,my,wy,"⊻","\\veebar",!0),dy(gy,by,wy,"⊙","\\odot",!0),dy(gy,by,wy,"⊕","\\oplus",!0),dy(gy,by,wy,"⊗","\\otimes",!0),dy(gy,by,Ay,"∂","\\partial",!0),dy(gy,by,wy,"⊘","\\oslash",!0),dy(gy,my,wy,"⊚","\\circledcirc",!0),dy(gy,my,wy,"⊡","\\boxdot",!0),dy(gy,by,wy,"△","\\bigtriangleup"),dy(gy,by,wy,"▽","\\bigtriangledown"),dy(gy,by,wy,"†","\\dagger"),dy(gy,by,wy,"⋄","\\diamond"),dy(gy,by,wy,"⋆","\\star"),dy(gy,by,wy,"◃","\\triangleleft"),dy(gy,by,wy,"▹","\\triangleright"),dy(gy,by,Ty,"{","\\{"),dy(py,by,Ay,"{","\\{"),dy(py,by,Ay,"{","\\textbraceleft"),dy(gy,by,vy,"}","\\}"),dy(py,by,Ay,"}","\\}"),dy(py,by,Ay,"}","\\textbraceright"),dy(gy,by,Ty,"{","\\lbrace"),dy(gy,by,vy,"}","\\rbrace"),dy(gy,by,Ty,"[","\\lbrack",!0),dy(py,by,Ay,"[","\\lbrack",!0),dy(gy,by,vy,"]","\\rbrack",!0),dy(py,by,Ay,"]","\\rbrack",!0),dy(gy,by,Ty,"(","\\lparen",!0),dy(gy,by,vy,")","\\rparen",!0),dy(py,by,Ay,"<","\\textless",!0),dy(py,by,Ay,">","\\textgreater",!0),dy(gy,by,Ty,"⌊","\\lfloor",!0),dy(gy,by,vy,"⌋","\\rfloor",!0),dy(gy,by,Ty,"⌈","\\lceil",!0),dy(gy,by,vy,"⌉","\\rceil",!0),dy(gy,by,Ay,"\\","\\backslash"),dy(gy,by,Ay,"∣","|"),dy(gy,by,Ay,"∣","\\vert"),dy(py,by,Ay,"|","\\textbar",!0),dy(gy,by,Ay,"∥","\\|"),dy(gy,by,Ay,"∥","\\Vert"),dy(py,by,Ay,"∥","\\textbardbl"),dy(py,by,Ay,"~","\\textasciitilde"),dy(py,by,Ay,"\\","\\textbackslash"),dy(py,by,Ay,"^","\\textasciicircum"),dy(gy,by,Sy,"↑","\\uparrow",!0),dy(gy,by,Sy,"⇑","\\Uparrow",!0),dy(gy,by,Sy,"↓","\\downarrow",!0),dy(gy,by,Sy,"⇓","\\Downarrow",!0),dy(gy,by,Sy,"↕","\\updownarrow",!0),dy(gy,by,Sy,"⇕","\\Updownarrow",!0),dy(gy,by,_y,"∐","\\coprod"),dy(gy,by,_y,"⋁","\\bigvee"),dy(gy,by,_y,"⋀","\\bigwedge"),dy(gy,by,_y,"⨄","\\biguplus"),dy(gy,by,_y,"⋂","\\bigcap"),dy(gy,by,_y,"⋃","\\bigcup"),dy(gy,by,_y,"∫","\\int"),dy(gy,by,_y,"∫","\\intop"),dy(gy,by,_y,"∬","\\iint"),dy(gy,by,_y,"∭","\\iiint"),dy(gy,by,_y,"∏","\\prod"),dy(gy,by,_y,"∑","\\sum"),dy(gy,by,_y,"⨂","\\bigotimes"),dy(gy,by,_y,"⨁","\\bigoplus"),dy(gy,by,_y,"⨀","\\bigodot"),dy(gy,by,_y,"∮","\\oint"),dy(gy,by,_y,"∯","\\oiint"),dy(gy,by,_y,"∰","\\oiiint"),dy(gy,by,_y,"⨆","\\bigsqcup"),dy(gy,by,_y,"∫","\\smallint"),dy(py,by,xy,"…","\\textellipsis"),dy(gy,by,xy,"…","\\mathellipsis"),dy(py,by,xy,"…","\\ldots",!0),dy(gy,by,xy,"…","\\ldots",!0),dy(gy,by,xy,"⋯","\\@cdots",!0),dy(gy,by,xy,"⋱","\\ddots",!0),dy(gy,by,Ay,"⋮","\\varvdots"),dy(gy,by,yy,"ˊ","\\acute"),dy(gy,by,yy,"ˋ","\\grave"),dy(gy,by,yy,"¨","\\ddot"),dy(gy,by,yy,"~","\\tilde"),dy(gy,by,yy,"ˉ","\\bar"),dy(gy,by,yy,"˘","\\breve"),dy(gy,by,yy,"ˇ","\\check"),dy(gy,by,yy,"^","\\hat"),dy(gy,by,yy,"⃗","\\vec"),dy(gy,by,yy,"˙","\\dot"),dy(gy,by,yy,"˚","\\mathring"),dy(gy,by,ky,"","\\@imath"),dy(gy,by,ky,"","\\@jmath"),dy(gy,by,Ay,"ı","ı"),dy(gy,by,Ay,"ȷ","ȷ"),dy(py,by,Ay,"ı","\\i",!0),dy(py,by,Ay,"ȷ","\\j",!0),dy(py,by,Ay,"ß","\\ss",!0),dy(py,by,Ay,"æ","\\ae",!0),dy(py,by,Ay,"œ","\\oe",!0),dy(py,by,Ay,"ø","\\o",!0),dy(py,by,Ay,"Æ","\\AE",!0),dy(py,by,Ay,"Œ","\\OE",!0),dy(py,by,Ay,"Ø","\\O",!0),dy(py,by,yy,"ˊ","\\'"),dy(py,by,yy,"ˋ","\\`"),dy(py,by,yy,"ˆ","\\^"),dy(py,by,yy,"˜","\\~"),dy(py,by,yy,"ˉ","\\="),dy(py,by,yy,"˘","\\u"),dy(py,by,yy,"˙","\\."),dy(py,by,yy,"¸","\\c"),dy(py,by,yy,"˚","\\r"),dy(py,by,yy,"ˇ","\\v"),dy(py,by,yy,"¨",'\\"'),dy(py,by,yy,"˝","\\H"),dy(py,by,yy,"◯","\\textcircled");var My={"--":!0,"---":!0,"``":!0,"''":!0};dy(py,by,Ay,"–","--",!0),dy(py,by,Ay,"–","\\textendash"),dy(py,by,Ay,"—","---",!0),dy(py,by,Ay,"—","\\textemdash"),dy(py,by,Ay,"‘","`",!0),dy(py,by,Ay,"‘","\\textquoteleft"),dy(py,by,Ay,"’","'",!0),dy(py,by,Ay,"’","\\textquoteright"),dy(py,by,Ay,"“","``",!0),dy(py,by,Ay,"“","\\textquotedblleft"),dy(py,by,Ay,"”","''",!0),dy(py,by,Ay,"”","\\textquotedblright"),dy(gy,by,Ay,"°","\\degree",!0),dy(py,by,Ay,"°","\\degree"),dy(py,by,Ay,"°","\\textdegree",!0),dy(gy,by,Ay,"£","\\pounds"),dy(gy,by,Ay,"£","\\mathsterling",!0),dy(py,by,Ay,"£","\\pounds"),dy(py,by,Ay,"£","\\textsterling",!0),dy(gy,my,Ay,"✠","\\maltese"),dy(py,my,Ay,"✠","\\maltese");for(var Ly=0;Ly<14;Ly++){var Iy='0123456789/@."'.charAt(Ly);dy(gy,by,Ay,Iy,Iy)}for(var Oy=0;Oy<25;Oy++){var Ny='0123456789!@*()-=+";:?/.,'.charAt(Oy);dy(py,by,Ay,Ny,Ny)}for(var Dy="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Py=0;Py<52;Py++){var By=Dy.charAt(Py);dy(gy,by,ky,By,By),dy(py,by,Ay,By,By)}dy(gy,my,Ay,"C","ℂ"),dy(py,my,Ay,"C","ℂ"),dy(gy,my,Ay,"H","ℍ"),dy(py,my,Ay,"H","ℍ"),dy(gy,my,Ay,"N","ℕ"),dy(py,my,Ay,"N","ℕ"),dy(gy,my,Ay,"P","ℙ"),dy(py,my,Ay,"P","ℙ"),dy(gy,my,Ay,"Q","ℚ"),dy(py,my,Ay,"Q","ℚ"),dy(gy,my,Ay,"R","ℝ"),dy(py,my,Ay,"R","ℝ"),dy(gy,my,Ay,"Z","ℤ"),dy(py,my,Ay,"Z","ℤ"),dy(gy,by,ky,"h","ℎ"),dy(py,by,ky,"h","ℎ");for(var Ry="",Fy=0;Fy<52;Fy++){var $y=Dy.charAt(Fy);dy(gy,by,ky,$y,Ry=String.fromCharCode(55349,56320+Fy)),dy(py,by,Ay,$y,Ry),dy(gy,by,ky,$y,Ry=String.fromCharCode(55349,56372+Fy)),dy(py,by,Ay,$y,Ry),dy(gy,by,ky,$y,Ry=String.fromCharCode(55349,56424+Fy)),dy(py,by,Ay,$y,Ry),dy(gy,by,ky,$y,Ry=String.fromCharCode(55349,56580+Fy)),dy(py,by,Ay,$y,Ry),dy(gy,by,ky,$y,Ry=String.fromCharCode(55349,56684+Fy)),dy(py,by,Ay,$y,Ry),dy(gy,by,ky,$y,Ry=String.fromCharCode(55349,56736+Fy)),dy(py,by,Ay,$y,Ry),dy(gy,by,ky,$y,Ry=String.fromCharCode(55349,56788+Fy)),dy(py,by,Ay,$y,Ry),dy(gy,by,ky,$y,Ry=String.fromCharCode(55349,56840+Fy)),dy(py,by,Ay,$y,Ry),dy(gy,by,ky,$y,Ry=String.fromCharCode(55349,56944+Fy)),dy(py,by,Ay,$y,Ry),Fy<26&&(dy(gy,by,ky,$y,Ry=String.fromCharCode(55349,56632+Fy)),dy(py,by,Ay,$y,Ry),dy(gy,by,ky,$y,Ry=String.fromCharCode(55349,56476+Fy)),dy(py,by,Ay,$y,Ry))}dy(gy,by,ky,"k",Ry=String.fromCharCode(55349,56668)),dy(py,by,Ay,"k",Ry);for(var jy=0;jy<10;jy++){var zy=jy.toString();dy(gy,by,ky,zy,Ry=String.fromCharCode(55349,57294+jy)),dy(py,by,Ay,zy,Ry),dy(gy,by,ky,zy,Ry=String.fromCharCode(55349,57314+jy)),dy(py,by,Ay,zy,Ry),dy(gy,by,ky,zy,Ry=String.fromCharCode(55349,57324+jy)),dy(py,by,Ay,zy,Ry),dy(gy,by,ky,zy,Ry=String.fromCharCode(55349,57334+jy)),dy(py,by,Ay,zy,Ry)}for(var qy=0;qy<3;qy++){var Hy="ÐÞþ".charAt(qy);dy(gy,by,ky,Hy,Hy),dy(py,by,Ay,Hy,Hy)}var Uy=[["mathbf","textbf","Main-Bold"],["mathbf","textbf","Main-Bold"],["mathnormal","textit","Math-Italic"],["mathnormal","textit","Math-Italic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["mathscr","textscr","Script-Regular"],["","",""],["","",""],["","",""],["mathfrak","textfrak","Fraktur-Regular"],["mathfrak","textfrak","Fraktur-Regular"],["mathbb","textbb","AMS-Regular"],["mathbb","textbb","AMS-Regular"],["mathboldfrak","textboldfrak","Fraktur-Regular"],["mathboldfrak","textboldfrak","Fraktur-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathitsf","textitsf","SansSerif-Italic"],["mathitsf","textitsf","SansSerif-Italic"],["","",""],["","",""],["mathtt","texttt","Typewriter-Regular"],["mathtt","texttt","Typewriter-Regular"]],Gy=[["mathbf","textbf","Main-Bold"],["","",""],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathtt","texttt","Typewriter-Regular"]],Ky=function(t,e,n){return fy[n][t]&&fy[n][t].replace&&(t=fy[n][t].replace),{value:t,metrics:jm(t,e,n)}},Yy=function(t,e,n,i,r){var a,o=Ky(t,e,n),s=o.metrics;if(t=o.value,s){var c=s.italic;("text"===n||i&&"mathit"===i.font)&&(c=0),a=new ay(t,s.height,s.depth,c,s.skew,s.width,r)}else typeof console<"u"&&console.warn("No character metrics for '"+t+"' in style '"+e+"' and mode '"+n+"'"),a=new ay(t,0,0,0,0,0,r);if(i){a.maxFontSize=i.sizeMultiplier,i.style.isTight()&&a.classes.push("mtight");var l=i.getColor();l&&(a.style.color=l)}return a},Vy=(t,e)=>{if(Qm(t.classes)!==Qm(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize)return!1;if(1===t.classes.length){var n=t.classes[0];if("mbin"===n||"mord"===n)return!1}for(var i in t.style)if(t.style.hasOwnProperty(i)&&t.style[i]!==e.style[i])return!1;for(var r in e.style)if(e.style.hasOwnProperty(r)&&t.style[r]!==e.style[r])return!1;return!0},Wy=function(t){for(var e=0,n=0,i=0,r=0;re&&(e=a.height),a.depth>n&&(n=a.depth),a.maxFontSize>i&&(i=a.maxFontSize)}t.height=e,t.depth=n,t.maxFontSize=i},Xy=function(t,e,n,i){var r=new ey(t,e,n,i);return Wy(r),r},Qy=(t,e,n,i)=>new ey(t,e,n,i),Zy=function(t){var e=new Bm(t);return Wy(e),e},Jy=function(t,e,n){var i="";switch(t){case"amsrm":i="AMS";break;case"textrm":i="Main";break;case"textsf":i="SansSerif";break;case"texttt":i="Typewriter";break;default:i=t}return i+"-"+("textbf"===e&&"textit"===n?"BoldItalic":"textbf"===e?"Bold":"textit"===e?"Italic":"Regular")},tw={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},ew={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},nw={fontMap:tw,makeSymbol:Yy,mathsym:function(t,e,n,i){return void 0===i&&(i=[]),"boldsymbol"===n.font&&Ky(t,"Main-Bold",e).metrics?Yy(t,"Main-Bold",e,n,i.concat(["mathbf"])):"\\"===t||"main"===fy[e][t].font?Yy(t,"Main-Regular",e,n,i):Yy(t,"AMS-Regular",e,n,i.concat(["amsrm"]))},makeSpan:Xy,makeSvgSpan:Qy,makeLineSpan:function(t,e,n){var i=Xy([t],[],e);return i.height=Math.max(n||e.fontMetrics().defaultRuleThickness,e.minRuleThickness),i.style.borderBottomWidth=Xm(i.height),i.maxFontSize=1,i},makeAnchor:function(t,e,n,i){var r=new ny(t,e,n,i);return Wy(r),r},makeFragment:Zy,wrapFragment:function(t,e){return t instanceof Bm?Xy([],[t],e):t},makeVList:function(t,e){for(var{children:n,depth:i}=function(t){if("individualShift"===t.positionType){for(var e=t.children,n=[e[0]],i=-e[0].shift-e[0].elem.depth,r=i,a=1;a0)return Yy(r,c,i,e,a.concat(l));if(s){var u,h;if("boldsymbol"===s){var f=function(t,e,n,i,r){return"textord"!==r&&Ky(t,"Math-BoldItalic",e).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}}(r,i,0,0,n);u=f.fontName,h=[f.fontClass]}else o?(u=tw[s].fontName,h=[s]):(u=Jy(s,e.fontWeight,e.fontShape),h=[s,e.fontWeight,e.fontShape]);if(Ky(r,u,i).metrics)return Yy(r,u,i,e,a.concat(h));if(My.hasOwnProperty(r)&&"Typewriter"===u.slice(0,10)){for(var d=[],g=0;g{var n=Xy(["mspace"],[],e),i=Wm(t,e);return n.style.marginRight=Xm(i),n},staticSvg:function(t,e){var[n,i,r]=ew[t],a=new sy(n),o=new oy([a],{width:Xm(i),height:Xm(r),style:"width:"+Xm(i),viewBox:"0 0 "+1e3*i+" "+1e3*r,preserveAspectRatio:"xMinYMin"}),s=Qy(["overlay"],[o],e);return s.height=r,s.style.height=Xm(r),s.style.width=Xm(i),s},svgData:ew,tryCombineChars:t=>{for(var e=0;e{var n=e.classes[0],i=t.classes[0];"mbin"===n&&dm(mw,i)?e.classes[0]="mord":"mbin"===i&&dm(bw,n)&&(t.classes[0]="mord")}),{node:u},h,f),xw(r,((t,e)=>{var n=Tw(e),i=Tw(t),r=n&&i?t.hasClass("mtight")?sw[n][i]:ow[n][i]:null;if(r)return nw.makeGlue(r,c)}),{node:u},h,f),r},xw=function t(e,n,i,r,a){r&&e.push(r);for(var o=0;on=>{e.splice(t+1,0,n),o++})(o)}}r&&e.pop()},kw=function(t){return t instanceof Bm||t instanceof ny||t instanceof ey&&t.hasClass("enclosing")?t:null},_w=function t(e,n){var i=kw(e);if(i){var r=i.children;if(r.length){if("right"===n)return t(r[r.length-1],"right");if("left"===n)return t(r[0],"left")}}return e},Tw=function(t,e){return t?(e&&(t=_w(t,e)),ww[t.classes[0]]||null):null},Ew=function(t,e){var n=["nulldelimiter"].concat(t.baseSizingClasses());return pw(e.concat(n))},Sw=function(t,e,n){if(!t)return pw();if(lw[t.type]){var i=lw[t.type](t,e);if(n&&e.size!==n.size){i=pw(e.sizingClasses(n),[i],e);var r=e.sizeMultiplier/n.sizeMultiplier;i.height*=r,i.depth*=r}return i}throw new cm("Got group of unknown type: '"+t.type+"'")};function Cw(t,e){var n=pw(["base"],t,e),i=pw(["strut"]);return i.style.height=Xm(n.height+n.depth),n.depth&&(i.style.verticalAlign=Xm(-n.depth)),n.children.unshift(i),n}function Aw(t,e){var n=null;1===t.length&&"tag"===t[0].type&&(n=t[0].tag,t=t[0].body);var i,r,a=vw(t,e,"root");2===a.length&&a[1].hasClass("tag")&&(i=a.pop());for(var o=[],s=[],c=0;c0&&(o.push(Cw(s,e)),s=[]),o.push(a[c]));s.length>0&&o.push(Cw(s,e)),n?((r=Cw(vw(n,e,!0))).classes=["tag"],o.push(r)):i&&o.push(i);var u=pw(["katex-html"],o);if(u.setAttribute("aria-hidden","true"),r){var h=r.children[0];h.style.height=Xm(u.height+u.depth),u.depth&&(h.style.verticalAlign=Xm(-u.depth))}return u}function Mw(t){return new Bm(t)}class Lw{constructor(t,e,n){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=t,this.attributes={},this.children=e||[],this.classes=n||[]}setAttribute(t,e){this.attributes[t]=e}getAttribute(t){return this.attributes[t]}toNode(){var t=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);this.classes.length>0&&(t.className=Qm(this.classes));for(var n=0;n0&&(t+=' class ="'+pm(Qm(this.classes))+'"'),t+=">";for(var n=0;n"}toText(){return this.children.map((t=>t.toText())).join("")}}class Iw{constructor(t){this.text=void 0,this.text=t}toNode(){return document.createTextNode(this.text)}toMarkup(){return pm(this.toText())}toText(){return this.text}}var Ow={MathNode:Lw,TextNode:Iw,SpaceNode:class{constructor(t){this.width=void 0,this.character=void 0,this.width=t,this.character=t>=.05555&&t<=.05556?" ":t>=.1666&&t<=.1667?" ":t>=.2222&&t<=.2223?" ":t>=.2777&&t<=.2778?"  ":t>=-.05556&&t<=-.05555?" ⁣":t>=-.1667&&t<=-.1666?" ⁣":t>=-.2223&&t<=-.2222?" ⁣":t>=-.2778&&t<=-.2777?" ⁣":null}toNode(){if(this.character)return document.createTextNode(this.character);var t=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return t.setAttribute("width",Xm(this.width)),t}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}},newDocumentFragment:Mw},Nw=function(t,e,n){return fy[e][t]&&fy[e][t].replace&&55349!==t.charCodeAt(0)&&!(My.hasOwnProperty(t)&&n&&(n.fontFamily&&"tt"===n.fontFamily.slice(4,6)||n.font&&"tt"===n.font.slice(4,6)))&&(t=fy[e][t].replace),new Ow.TextNode(t)},Dw=function(t){return 1===t.length?t[0]:new Ow.MathNode("mrow",t)},Pw=function(t,e){if("texttt"===e.fontFamily)return"monospace";if("textsf"===e.fontFamily)return"textit"===e.fontShape&&"textbf"===e.fontWeight?"sans-serif-bold-italic":"textit"===e.fontShape?"sans-serif-italic":"textbf"===e.fontWeight?"bold-sans-serif":"sans-serif";if("textit"===e.fontShape&&"textbf"===e.fontWeight)return"bold-italic";if("textit"===e.fontShape)return"italic";if("textbf"===e.fontWeight)return"bold";var n=e.font;if(!n||"mathnormal"===n)return null;var i=t.mode;if("mathit"===n)return"italic";if("boldsymbol"===n)return"textord"===t.type?"bold":"bold-italic";if("mathbf"===n)return"bold";if("mathbb"===n)return"double-struck";if("mathfrak"===n)return"fraktur";if("mathscr"===n||"mathcal"===n)return"script";if("mathsf"===n)return"sans-serif";if("mathtt"===n)return"monospace";var r=t.text;return dm(["\\imath","\\jmath"],r)?null:(fy[i][r]&&fy[i][r].replace&&(r=fy[i][r].replace),jm(r,nw.fontMap[n].fontName,i)?nw.fontMap[n].variant:null)},Bw=function(t,e,n){if(1===t.length){var i=Fw(t[0],e);return n&&i instanceof Lw&&"mo"===i.type&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var r,a=[],o=0;o0&&(u.text=u.text.slice(0,1)+"̸"+u.text.slice(1),a.pop())}}}a.push(s),r=s}return a},Rw=function(t,e,n){return Dw(Bw(t,e,n))},Fw=function(t,e){if(!t)return new Ow.MathNode("mrow");if(uw[t.type])return uw[t.type](t,e);throw new cm("Got group of unknown type: '"+t.type+"'")};function $w(t,e,n,i,r){var a,o=Bw(t,n);a=1===o.length&&o[0]instanceof Lw&&dm(["mrow","mtable"],o[0].type)?o[0]:new Ow.MathNode("mrow",o);var s=new Ow.MathNode("annotation",[new Ow.TextNode(e)]);s.setAttribute("encoding","application/x-tex");var c=new Ow.MathNode("semantics",[a,s]),l=new Ow.MathNode("math",[c]);return l.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),i&&l.setAttribute("display","block"),nw.makeSpan([r?"katex":"katex-mathml"],[l])}var jw=function(t){return new Gm({style:t.displayMode?Im.DISPLAY:Im.TEXT,maxSize:t.maxSize,minRuleThickness:t.minRuleThickness})},zw=function(t,e){if(e.displayMode){var n=["katex-display"];e.leqno&&n.push("leqno"),e.fleqn&&n.push("fleqn"),t=nw.makeSpan(n,[t])}return t},qw={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},Hw={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},Uw=function(t){var e=new Ow.MathNode("mo",[new Ow.TextNode(qw[t.replace(/^\\/,"")])]);return e.setAttribute("stretchy","true"),e},Gw=function(t,e){var{span:n,minWidth:i,height:r}=function(){var n=4e5,i=t.label.slice(1);if(dm(["widehat","widecheck","widetilde","utilde"],i)){var r,a,o,s=function(t){return"ordgroup"===t.type?t.body.length:1}(t.base);if(s>5)"widehat"===i||"widecheck"===i?(r=420,n=2364,o=.42,a=i+"4"):(r=312,n=2340,o=.34,a="tilde4");else{var c=[1,1,2,2,3,3][s];"widehat"===i||"widecheck"===i?(n=[0,1062,2364,2364,2364][c],r=[0,239,300,360,420][c],o=[0,.24,.3,.3,.36,.42][c],a=i+c):(n=[0,600,1033,2339,2340][c],r=[0,260,286,306,312][c],o=[0,.26,.286,.3,.306,.34][c],a="tilde"+c)}var l=new sy(a),u=new oy([l],{width:"100%",height:Xm(o),viewBox:"0 0 "+n+" "+r,preserveAspectRatio:"none"});return{span:nw.makeSvgSpan([],[u],e),minWidth:0,height:o}}var h,f,d=[],g=Hw[i],[p,b,m]=g,y=m/1e3,w=p.length;if(1===w)h=["hide-tail"],f=[g[3]];else if(2===w)h=["halfarrow-left","halfarrow-right"],f=["xMinYMin","xMaxYMin"];else{if(3!==w)throw new Error("Correct katexImagesData or update code here to support\n "+w+" children.");h=["brace-left","brace-center","brace-right"],f=["xMinYMin","xMidYMin","xMaxYMin"]}for(var v=0;v0&&(n.style.minWidth=Xm(i)),n};function Kw(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function Yw(t){var e=Vw(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function Vw(t){return t&&("atom"===t.type||hy.hasOwnProperty(t.type))?t:null}var Ww=(t,e)=>{var n,i,r;t&&"supsub"===t.type?(n=(i=Kw(t.base,"accent")).base,t.base=n,r=function(t){if(t instanceof ey)return t;throw new Error("Expected span but got "+String(t)+".")}(Sw(t,e)),t.base=i):n=(i=Kw(t,"accent")).base;var a=Sw(n,e.havingCrampedStyle()),o=0;if(i.isShifty&&ym(n)){var s=mm(n);o=ly(Sw(s,e.havingCrampedStyle())).skew}var c,l="\\c"===i.label,u=l?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight);if(i.isStretchy)c=Gw(i,e),c=nw.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:c,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+Xm(2*o)+")",marginLeft:Xm(2*o)}:void 0}]},e);else{var h,f;"\\vec"===i.label?(h=nw.staticSvg("vec",e),f=nw.svgData.vec[1]):((h=ly(h=nw.makeOrd({mode:i.mode,text:i.label},e,"textord"))).italic=0,f=h.width,l&&(u+=h.depth)),c=nw.makeSpan(["accent-body"],[h]);var d="\\textcircled"===i.label;d&&(c.classes.push("accent-full"),u=a.height);var g=o;d||(g-=f/2),c.style.left=Xm(g),"\\textcircled"===i.label&&(c.style.top=".2em"),c=nw.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-u},{type:"elem",elem:c}]},e)}var p=nw.makeSpan(["mord","accent"],[c],e);return r?(r.children[0]=p,r.height=Math.max(p.height,r.height),r.classes[0]="mord",r):p},Xw=(t,e)=>{var n=t.isStretchy?Uw(t.label):new Ow.MathNode("mo",[Nw(t.label,t.mode)]),i=new Ow.MathNode("mover",[Fw(t.base,e),n]);return i.setAttribute("accent","true"),i},Qw=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map((t=>"\\"+t)).join("|"));hw({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(t,e)=>{var n=dw(e[0]),i=!Qw.test(t.funcName),r=!i||"\\widehat"===t.funcName||"\\widetilde"===t.funcName||"\\widecheck"===t.funcName;return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:i,isShifty:r,base:n}},htmlBuilder:Ww,mathmlBuilder:Xw}),hw({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(t,e)=>{var n=e[0],i=t.parser.mode;return"math"===i&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),i="text"),{type:"accent",mode:i,label:t.funcName,isStretchy:!1,isShifty:!0,base:n}},htmlBuilder:Ww,mathmlBuilder:Xw}),hw({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(t,e)=>{var{parser:n,funcName:i}=t,r=e[0];return{type:"accentUnder",mode:n.mode,label:i,base:r}},htmlBuilder:(t,e)=>{var n=Sw(t.base,e),i=Gw(t,e),r="\\utilde"===t.label?.12:0,a=nw.makeVList({positionType:"top",positionData:n.height,children:[{type:"elem",elem:i,wrapperClasses:["svg-align"]},{type:"kern",size:r},{type:"elem",elem:n}]},e);return nw.makeSpan(["mord","accentunder"],[a],e)},mathmlBuilder:(t,e)=>{var n=Uw(t.label),i=new Ow.MathNode("munder",[Fw(t.base,e),n]);return i.setAttribute("accentunder","true"),i}});var Zw=t=>{var e=new Ow.MathNode("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};hw({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,n){var{parser:i,funcName:r}=t;return{type:"xArrow",mode:i.mode,label:r,body:e[0],below:n[0]}},htmlBuilder(t,e){var n,i=e.style,r=e.havingStyle(i.sup()),a=nw.wrapFragment(Sw(t.body,r,e),e),o="\\x"===t.label.slice(0,2)?"x":"cd";a.classes.push(o+"-arrow-pad"),t.below&&(r=e.havingStyle(i.sub()),(n=nw.wrapFragment(Sw(t.below,r,e),e)).classes.push(o+"-arrow-pad"));var s,c=Gw(t,e),l=-e.fontMetrics().axisHeight+.5*c.height,u=-e.fontMetrics().axisHeight-.5*c.height-.111;if((a.depth>.25||"\\xleftequilibrium"===t.label)&&(u-=a.depth),n){var h=-e.fontMetrics().axisHeight+n.height+.5*c.height+.111;s=nw.makeVList({positionType:"individualShift",children:[{type:"elem",elem:a,shift:u},{type:"elem",elem:c,shift:l},{type:"elem",elem:n,shift:h}]},e)}else s=nw.makeVList({positionType:"individualShift",children:[{type:"elem",elem:a,shift:u},{type:"elem",elem:c,shift:l}]},e);return s.children[0].children[0].children[1].classes.push("svg-align"),nw.makeSpan(["mrel","x-arrow"],[s],e)},mathmlBuilder(t,e){var n,i=Uw(t.label);if(i.setAttribute("minsize","x"===t.label.charAt(0)?"1.75em":"3.0em"),t.body){var r=Zw(Fw(t.body,e));if(t.below){var a=Zw(Fw(t.below,e));n=new Ow.MathNode("munderover",[i,a,r])}else n=new Ow.MathNode("mover",[i,r])}else if(t.below){var o=Zw(Fw(t.below,e));n=new Ow.MathNode("munder",[i,o])}else n=Zw(),n=new Ow.MathNode("mover",[i,n]);return n}});var Jw=nw.makeSpan;function tv(t,e){var n=vw(t.body,e,!0);return Jw([t.mclass],n,e)}function ev(t,e){var n,i=Bw(t.body,e);return"minner"===t.mclass?n=new Ow.MathNode("mpadded",i):"mord"===t.mclass?t.isCharacterBox?(n=i[0]).type="mi":n=new Ow.MathNode("mi",i):(t.isCharacterBox?(n=i[0]).type="mo":n=new Ow.MathNode("mo",i),"mbin"===t.mclass?(n.attributes.lspace="0.22em",n.attributes.rspace="0.22em"):"mpunct"===t.mclass?(n.attributes.lspace="0em",n.attributes.rspace="0.17em"):"mopen"===t.mclass||"mclose"===t.mclass?(n.attributes.lspace="0em",n.attributes.rspace="0em"):"minner"===t.mclass&&(n.attributes.lspace="0.0556em",n.attributes.width="+0.1111em")),n}hw({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:n,funcName:i}=t,r=e[0];return{type:"mclass",mode:n.mode,mclass:"m"+i.slice(5),body:gw(r),isCharacterBox:ym(r)}},htmlBuilder:tv,mathmlBuilder:ev});var nv=t=>{var e="ordgroup"===t.type&&t.body.length?t.body[0]:t;return"atom"!==e.type||"bin"!==e.family&&"rel"!==e.family?"mord":"m"+e.family};hw({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:n}=t;return{type:"mclass",mode:n.mode,mclass:nv(e[0]),body:gw(e[1]),isCharacterBox:ym(e[1])}}}),hw({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var n,{parser:i,funcName:r}=t,a=e[1],o=e[0];n="\\stackrel"!==r?nv(a):"mrel";var s={type:"op",mode:a.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:"\\stackrel"!==r,body:gw(a)},c={type:"supsub",mode:o.mode,base:s,sup:"\\underset"===r?null:o,sub:"\\underset"===r?o:null};return{type:"mclass",mode:i.mode,mclass:n,body:[c],isCharacterBox:ym(c)}},htmlBuilder:tv,mathmlBuilder:ev}),hw({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:n}=t;return{type:"pmb",mode:n.mode,mclass:nv(e[0]),body:gw(e[0])}},htmlBuilder(t,e){var n=vw(t.body,e,!0),i=nw.makeSpan([t.mclass],n,e);return i.style.textShadow="0.02em 0.01em 0.04px",i},mathmlBuilder(t,e){var n=Bw(t.body,e),i=new Ow.MathNode("mstyle",n);return i.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),i}});var iv={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},rv=t=>"textord"===t.type&&"@"===t.text,av=(t,e)=>("mathord"===t.type||"atom"===t.type)&&t.text===e;function ov(t,e,n){var i=iv[t];switch(i){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return n.callFunction(i,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":var r={type:"atom",text:i,mode:"math",family:"rel"},a={type:"ordgroup",mode:"math",body:[n.callFunction("\\\\cdleft",[e[0]],[]),n.callFunction("\\Big",[r],[]),n.callFunction("\\\\cdright",[e[1]],[])]};return n.callFunction("\\\\cdparent",[a],[]);case"\\\\cdlongequal":return n.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":return n.callFunction("\\Big",[{type:"textord",text:"\\Vert",mode:"math"}],[]);default:return{type:"textord",text:" ",mode:"math"}}}hw({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:n,funcName:i}=t;return{type:"cdlabel",mode:n.mode,side:i.slice(4),label:e[0]}},htmlBuilder(t,e){var n=e.havingStyle(e.style.sup()),i=nw.wrapFragment(Sw(t.label,n,e),e);return i.classes.push("cd-label-"+t.side),i.style.bottom=Xm(.8-i.depth),i.height=0,i.depth=0,i},mathmlBuilder(t,e){var n=new Ow.MathNode("mrow",[Fw(t.label,e)]);return(n=new Ow.MathNode("mpadded",[n])).setAttribute("width","0"),"left"===t.side&&n.setAttribute("lspace","-1width"),n.setAttribute("voffset","0.7em"),(n=new Ow.MathNode("mstyle",[n])).setAttribute("displaystyle","false"),n.setAttribute("scriptlevel","1"),n}}),hw({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:n}=t;return{type:"cdlabelparent",mode:n.mode,fragment:e[0]}},htmlBuilder(t,e){var n=nw.wrapFragment(Sw(t.fragment,e),e);return n.classes.push("cd-vert-arrow"),n},mathmlBuilder:(t,e)=>new Ow.MathNode("mrow",[Fw(t.fragment,e)])}),hw({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:n}=t,i=Kw(e[0],"ordgroup").body,r="",a=0;a=1114111)throw new cm("\\@char with invalid code point "+r);return s<=65535?o=String.fromCharCode(s):(s-=65536,o=String.fromCharCode(55296+(s>>10),56320+(1023&s))),{type:"textord",mode:n.mode,text:o}}});var sv=(t,e)=>{var n=vw(t.body,e.withColor(t.color),!1);return nw.makeFragment(n)},cv=(t,e)=>{var n=Bw(t.body,e.withColor(t.color)),i=new Ow.MathNode("mstyle",n);return i.setAttribute("mathcolor",t.color),i};hw({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:n}=t,i=Kw(e[0],"color-token").color,r=e[1];return{type:"color",mode:n.mode,color:i,body:gw(r)}},htmlBuilder:sv,mathmlBuilder:cv}),hw({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:n,breakOnTokenText:i}=t,r=Kw(e[0],"color-token").color;n.gullet.macros.set("\\current@color",r);var a=n.parseExpression(!0,i);return{type:"color",mode:n.mode,color:r,body:a}},htmlBuilder:sv,mathmlBuilder:cv}),hw({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,n){var{parser:i}=t,r="["===i.gullet.future().text?i.parseSizeGroup(!0):null,a=!i.settings.displayMode||!i.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:i.mode,newLine:a,size:r&&Kw(r,"size").value}},htmlBuilder(t,e){var n=nw.makeSpan(["mspace"],[],e);return t.newLine&&(n.classes.push("newline"),t.size&&(n.style.marginTop=Xm(Wm(t.size,e)))),n},mathmlBuilder(t,e){var n=new Ow.MathNode("mspace");return t.newLine&&(n.setAttribute("linebreak","newline"),t.size&&n.setAttribute("height",Xm(Wm(t.size,e)))),n}});var lv={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},uv=t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new cm("Expected a control sequence",t);return e},hv=(t,e,n,i)=>{var r=t.gullet.macros.get(n.text);null==r&&(n.noexpand=!0,r={tokens:[n],numArgs:0,unexpandable:!t.gullet.isExpandable(n.text)}),t.gullet.macros.set(e,r,i)};hw({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:n}=t;e.consumeSpaces();var i=e.fetch();if(lv[i.text])return("\\global"===n||"\\\\globallong"===n)&&(i.text=lv[i.text]),Kw(e.parseFunction(),"internal");throw new cm("Invalid token after macro prefix",i)}}),hw({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:n}=t,i=e.gullet.popToken(),r=i.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(r))throw new cm("Expected a control sequence",i);for(var a,o=0,s=[[]];"{"!==e.gullet.future().text;)if("#"===(i=e.gullet.popToken()).text){if("{"===e.gullet.future().text){a=e.gullet.future(),s[o].push("{");break}if(i=e.gullet.popToken(),!/^[1-9]$/.test(i.text))throw new cm('Invalid argument number "'+i.text+'"');if(parseInt(i.text)!==o+1)throw new cm('Argument number "'+i.text+'" out of order');o++,s.push([])}else{if("EOF"===i.text)throw new cm("Expected a macro definition");s[o].push(i.text)}var{tokens:c}=e.gullet.consumeArg();return a&&c.unshift(a),("\\edef"===n||"\\xdef"===n)&&(c=e.gullet.expandTokens(c)).reverse(),e.gullet.macros.set(r,{tokens:c,numArgs:o,delimiters:s},n===lv[n]),{type:"internal",mode:e.mode}}}),hw({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:n}=t,i=uv(e.gullet.popToken());e.gullet.consumeSpaces();var r=(t=>{var e=t.gullet.popToken();return"="===e.text&&" "===(e=t.gullet.popToken()).text&&(e=t.gullet.popToken()),e})(e);return hv(e,i,r,"\\\\globallet"===n),{type:"internal",mode:e.mode}}}),hw({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:n}=t,i=uv(e.gullet.popToken()),r=e.gullet.popToken(),a=e.gullet.popToken();return hv(e,i,a,"\\\\globalfuture"===n),e.gullet.pushToken(a),e.gullet.pushToken(r),{type:"internal",mode:e.mode}}});var fv=function(t,e,n){var i=jm(fy.math[t]&&fy.math[t].replace||t,e,n);if(!i)throw new Error("Unsupported symbol "+t+" and font size "+e+".");return i},dv=function(t,e,n,i){var r=n.havingBaseStyle(e),a=nw.makeSpan(i.concat(r.sizingClasses(n)),[t],n),o=r.sizeMultiplier/n.sizeMultiplier;return a.height*=o,a.depth*=o,a.maxFontSize=r.sizeMultiplier,a},gv=function(t,e,n){var i=e.havingBaseStyle(n),r=(1-e.sizeMultiplier/i.sizeMultiplier)*e.fontMetrics().axisHeight;t.classes.push("delimcenter"),t.style.top=Xm(r),t.height-=r,t.depth+=r},pv=function(t,e,n,i,r,a){var o=function(t,e,n,i){return nw.makeSymbol(t,"Size"+e+"-Regular",n,i)}(t,e,r,i),s=dv(nw.makeSpan(["delimsizing","size"+e],[o],i),Im.TEXT,i,a);return n&&gv(s,i,Im.TEXT),s},bv=function(t,e,n){return{type:"elem",elem:nw.makeSpan(["delimsizinginner","Size1-Regular"===e?"delim-size1":"delim-size4"],[nw.makeSpan([],[nw.makeSymbol(t,e,n)])])}},mv=function(t,e,n){var i=Rm["Size4-Regular"][t.charCodeAt(0)]?Rm["Size4-Regular"][t.charCodeAt(0)][4]:Rm["Size1-Regular"][t.charCodeAt(0)][4],r=new sy("inner",function(t,e){switch(t){case"⎜":return"M291 0 H417 V"+e+" H291z M291 0 H417 V"+e+" H291z";case"∣":return"M145 0 H188 V"+e+" H145z M145 0 H188 V"+e+" H145z";case"∥":return"M145 0 H188 V"+e+" H145z M145 0 H188 V"+e+" H145zM367 0 H410 V"+e+" H367z M367 0 H410 V"+e+" H367z";case"⎟":return"M457 0 H583 V"+e+" H457z M457 0 H583 V"+e+" H457z";case"⎢":return"M319 0 H403 V"+e+" H319z M319 0 H403 V"+e+" H319z";case"⎥":return"M263 0 H347 V"+e+" H263z M263 0 H347 V"+e+" H263z";case"⎪":return"M384 0 H504 V"+e+" H384z M384 0 H504 V"+e+" H384z";case"⏐":return"M312 0 H355 V"+e+" H312z M312 0 H355 V"+e+" H312z";case"‖":return"M257 0 H300 V"+e+" H257z M257 0 H300 V"+e+" H257zM478 0 H521 V"+e+" H478z M478 0 H521 V"+e+" H478z";default:return""}}(t,Math.round(1e3*e))),a=new oy([r],{width:Xm(i),height:Xm(e),style:"width:"+Xm(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*e),preserveAspectRatio:"xMinYMin"}),o=nw.makeSvgSpan([],[a],n);return o.height=e,o.style.height=Xm(e),o.style.width=Xm(i),{type:"elem",elem:o}},yv={type:"kern",size:-.008},wv=["|","\\lvert","\\rvert","\\vert"],vv=["\\|","\\lVert","\\rVert","\\Vert"],xv=function(t,e,n,i,r,a){var o,s,c,l,u="",h=0;o=c=l=t,s=null;var f="Size1-Regular";"\\uparrow"===t?c=l="⏐":"\\Uparrow"===t?c=l="‖":"\\downarrow"===t?o=c="⏐":"\\Downarrow"===t?o=c="‖":"\\updownarrow"===t?(o="\\uparrow",c="⏐",l="\\downarrow"):"\\Updownarrow"===t?(o="\\Uparrow",c="‖",l="\\Downarrow"):dm(wv,t)?(c="∣",u="vert",h=333):dm(vv,t)?(c="∥",u="doublevert",h=556):"["===t||"\\lbrack"===t?(o="⎡",c="⎢",l="⎣",f="Size4-Regular",u="lbrack",h=667):"]"===t||"\\rbrack"===t?(o="⎤",c="⎥",l="⎦",f="Size4-Regular",u="rbrack",h=667):"\\lfloor"===t||"⌊"===t?(c=o="⎢",l="⎣",f="Size4-Regular",u="lfloor",h=667):"\\lceil"===t||"⌈"===t?(o="⎡",c=l="⎢",f="Size4-Regular",u="lceil",h=667):"\\rfloor"===t||"⌋"===t?(c=o="⎥",l="⎦",f="Size4-Regular",u="rfloor",h=667):"\\rceil"===t||"⌉"===t?(o="⎤",c=l="⎥",f="Size4-Regular",u="rceil",h=667):"("===t||"\\lparen"===t?(o="⎛",c="⎜",l="⎝",f="Size4-Regular",u="lparen",h=875):")"===t||"\\rparen"===t?(o="⎞",c="⎟",l="⎠",f="Size4-Regular",u="rparen",h=875):"\\{"===t||"\\lbrace"===t?(o="⎧",s="⎨",l="⎩",c="⎪",f="Size4-Regular"):"\\}"===t||"\\rbrace"===t?(o="⎫",s="⎬",l="⎭",c="⎪",f="Size4-Regular"):"\\lgroup"===t||"⟮"===t?(o="⎧",l="⎩",c="⎪",f="Size4-Regular"):"\\rgroup"===t||"⟯"===t?(o="⎫",l="⎭",c="⎪",f="Size4-Regular"):"\\lmoustache"===t||"⎰"===t?(o="⎧",l="⎭",c="⎪",f="Size4-Regular"):("\\rmoustache"===t||"⎱"===t)&&(o="⎫",l="⎩",c="⎪",f="Size4-Regular");var d=fv(o,f,r),g=d.height+d.depth,p=fv(c,f,r),b=p.height+p.depth,m=fv(l,f,r),y=m.height+m.depth,w=0,v=1;if(null!==s){var x=fv(s,f,r);w=x.height+x.depth,v=2}var k=g+y+w,_=k+Math.max(0,Math.ceil((e-k)/(v*b)))*v*b,T=i.fontMetrics().axisHeight;n&&(T*=i.sizeMultiplier);var E=_/2-T,S=[];if(u.length>0){var C=_-g-y,A=Math.round(1e3*_),M=function(t,e){switch(t){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+e+" v1759 h347 v-84\nH403z M403 1759 V0 H319 V1759 v"+e+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+e+" v1759 H0 v84 H347z\nM347 1759 V0 H263 V1759 v"+e+" v1759 h84z";case"vert":return"M145 15 v585 v"+e+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-e+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+e+" v585 h43z";case"doublevert":return"M145 15 v585 v"+e+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-e+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+e+" v585 h43z\nM367 15 v585 v"+e+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-e+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v"+e+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+e+" v1715 h263 v84 H319z\nMM319 602 V0 H403 V602 v"+e+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+e+" v1799 H0 v-84 H319z\nMM319 602 V0 H403 V602 v"+e+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+e+" v602 h84z\nM403 1759 V0 H319 V1759 v"+e+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+e+" v602 h84z\nM347 1759 V0 h-84 V1759 v"+e+" v602 h84z";case"lparen":return"M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\n-36,557 l0,"+(e+84)+"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\nl0,-"+(e+92)+"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z";case"rparen":return"M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,"+(e+9)+"\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\nc0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\nl0,-"+(e+144)+"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z";default:throw new Error("Unknown stretchy delimiter.")}}(u,Math.round(1e3*C)),L=new sy(u,M),I=(h/1e3).toFixed(3)+"em",O=(A/1e3).toFixed(3)+"em",N=new oy([L],{width:I,height:O,viewBox:"0 0 "+h+" "+A}),D=nw.makeSvgSpan([],[N],i);D.height=A/1e3,D.style.width=I,D.style.height=O,S.push({type:"elem",elem:D})}else{if(S.push(bv(l,f,r)),S.push(yv),null===s){var P=_-g-y+.016;S.push(mv(c,P,i))}else{var B=(_-g-y-w)/2+.016;S.push(mv(c,B,i)),S.push(yv),S.push(bv(s,f,r)),S.push(yv),S.push(mv(c,B,i))}S.push(yv),S.push(bv(o,f,r))}var R=i.havingBaseStyle(Im.TEXT),F=nw.makeVList({positionType:"bottom",positionData:E,children:S},R);return dv(nw.makeSpan(["delimsizing","mult"],[F],R),Im.TEXT,i,a)},kv=.08,_v=function(t,e,n,i,r){var a=function(t,e,n){e*=1e3;var i="";switch(t){case"sqrtMain":i=function(t,e){return"M95,"+(622+t+80)+"\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl"+t/2.075+" -"+t+"\nc5.3,-9.3,12,-14,20,-14\nH400000v"+(40+t)+"H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM"+(834+t)+" 80h400000v"+(40+t)+"h-400000z"}(e);break;case"sqrtSize1":i=function(t,e){return"M263,"+(601+t+80)+"c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl"+t/2.084+" -"+t+"\nc4.7,-7.3,11,-11,19,-11\nH40000v"+(40+t)+"H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM"+(1001+t)+" 80h400000v"+(40+t)+"h-400000z"}(e);break;case"sqrtSize2":i=function(t,e){return"M983 "+(10+t+80)+"\nl"+t/3.13+" -"+t+"\nc4,-6.7,10,-10,18,-10 H400000v"+(40+t)+"\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM"+(1001+t)+" 80h400000v"+(40+t)+"h-400000z"}(e);break;case"sqrtSize3":i=function(t,e){return"M424,"+(2398+t+80)+"\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl"+t/4.223+" -"+t+"c4,-6.7,10,-10,18,-10 H400000\nv"+(40+t)+"H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M"+(1001+t)+" 80\nh400000v"+(40+t)+"h-400000z"}(e);break;case"sqrtSize4":i=function(t,e){return"M473,"+(2713+t+80)+"\nc339.3,-1799.3,509.3,-2700,510,-2702 l"+t/5.298+" -"+t+"\nc3.3,-7.3,9.3,-11,18,-11 H400000v"+(40+t)+"H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM"+(1001+t)+" 80h400000v"+(40+t)+"H1017.7z"}(e);break;case"sqrtTall":i=function(t,e,n){return"M702 "+(t+80)+"H400000"+(40+t)+"\nH742v"+(n-54-80-t)+"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 80H400000v"+(40+t)+"H742z"}(e,0,n)}return i}(t,i,n),o=new sy(t,a),s=new oy([o],{width:"400em",height:Xm(e),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return nw.makeSvgSpan(["hide-tail"],[s],r)},Tv=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"],Ev=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"],Sv=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],Cv=[0,1.2,1.8,2.4,3],Av=[{type:"small",style:Im.SCRIPTSCRIPT},{type:"small",style:Im.SCRIPT},{type:"small",style:Im.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],Mv=[{type:"small",style:Im.SCRIPTSCRIPT},{type:"small",style:Im.SCRIPT},{type:"small",style:Im.TEXT},{type:"stack"}],Lv=[{type:"small",style:Im.SCRIPTSCRIPT},{type:"small",style:Im.SCRIPT},{type:"small",style:Im.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],Iv=function(t){if("small"===t.type)return"Main-Regular";if("large"===t.type)return"Size"+t.size+"-Regular";if("stack"===t.type)return"Size4-Regular";throw new Error("Add support for delim type '"+t.type+"' here.")},Ov=function(t,e,n,i){for(var r=Math.min(2,3-i.style.size);re)return n[r]}return n[n.length-1]},Nv=function(t,e,n,i,r,a){var o;"<"===t||"\\lt"===t||"⟨"===t?t="\\langle":(">"===t||"\\gt"===t||"⟩"===t)&&(t="\\rangle"),o=dm(Sv,t)?Av:dm(Tv,t)?Lv:Mv;var s=Ov(t,e,o,i);return"small"===s.type?function(t,e,n,i,r,a){var o=nw.makeSymbol(t,"Main-Regular",r,i),s=dv(o,e,i,a);return n&&gv(s,i,e),s}(t,s.style,n,i,r,a):"large"===s.type?pv(t,s.size,n,i,r,a):xv(t,e,n,i,r,a)},Dv={sqrtImage:function(t,e){var n,i,r=e.havingBaseSizing(),a=Ov("\\surd",t*r.sizeMultiplier,Lv,r),o=r.sizeMultiplier,s=Math.max(0,e.minRuleThickness-e.fontMetrics().sqrtRuleThickness),c=0,l=0,u=0;return"small"===a.type?(t<1?o=1:t<1.4&&(o=.7),l=(1+s)/o,(n=_v("sqrtMain",c=(1+s+kv)/o,u=1e3+1e3*s+80,s,e)).style.minWidth="0.853em",i=.833/o):"large"===a.type?(u=1080*Cv[a.size],l=(Cv[a.size]+s)/o,c=(Cv[a.size]+s+kv)/o,(n=_v("sqrtSize"+a.size,c,u,s,e)).style.minWidth="1.02em",i=1/o):(c=t+s+kv,l=t+s,u=Math.floor(1e3*t+s)+80,(n=_v("sqrtTall",c,u,s,e)).style.minWidth="0.742em",i=1.056),n.height=l,n.style.height=Xm(c),{span:n,advanceWidth:i,ruleWidth:(e.fontMetrics().sqrtRuleThickness+s)*o}},sizedDelim:function(t,e,n,i,r){if("<"===t||"\\lt"===t||"⟨"===t?t="\\langle":(">"===t||"\\gt"===t||"⟩"===t)&&(t="\\rangle"),dm(Tv,t)||dm(Sv,t))return pv(t,e,!1,n,i,r);if(dm(Ev,t))return xv(t,Cv[e],!1,n,i,r);throw new cm("Illegal delimiter: '"+t+"'")},sizeToMaxHeight:Cv,customSizedDelim:Nv,leftRightDelim:function(t,e,n,i,r,a){var o=i.fontMetrics().axisHeight*i.sizeMultiplier,s=5/i.fontMetrics().ptPerEm,c=Math.max(e-o,n+o),l=Math.max(c/500*901,2*c-s);return Nv(t,l,!0,i,r,a)}},Pv={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},Bv=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function Rv(t,e){var n=Vw(t);if(n&&dm(Bv,n.text))return n;throw new cm(n?"Invalid delimiter '"+n.text+"' after '"+e.funcName+"'":"Invalid delimiter type '"+t.type+"'",t)}function Fv(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}hw({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(t,e)=>{var n=Rv(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:Pv[t.funcName].size,mclass:Pv[t.funcName].mclass,delim:n.text}},htmlBuilder:(t,e)=>"."===t.delim?nw.makeSpan([t.mclass]):Dv.sizedDelim(t.delim,t.size,e,t.mode,[t.mclass]),mathmlBuilder:t=>{var e=[];"."!==t.delim&&e.push(Nw(t.delim,t.mode));var n=new Ow.MathNode("mo",e);"mopen"===t.mclass||"mclose"===t.mclass?n.setAttribute("fence","true"):n.setAttribute("fence","false"),n.setAttribute("stretchy","true");var i=Xm(Dv.sizeToMaxHeight[t.size]);return n.setAttribute("minsize",i),n.setAttribute("maxsize",i),n}}),hw({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var n=t.parser.gullet.macros.get("\\current@color");if(n&&"string"!=typeof n)throw new cm("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:Rv(e[0],t).text,color:n}}}),hw({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var n=Rv(e[0],t),i=t.parser;++i.leftrightDepth;var r=i.parseExpression(!1);--i.leftrightDepth,i.expect("\\right",!1);var a=Kw(i.parseFunction(),"leftright-right");return{type:"leftright",mode:i.mode,body:r,left:n.text,right:a.delim,rightColor:a.color}},htmlBuilder:(t,e)=>{Fv(t);for(var n=vw(t.body,e,!0,["mopen","mclose"]),i=0,r=0,a=!1,o=0;o{Fv(t);var n=Bw(t.body,e);if("."!==t.left){var i=new Ow.MathNode("mo",[Nw(t.left,t.mode)]);i.setAttribute("fence","true"),n.unshift(i)}if("."!==t.right){var r=new Ow.MathNode("mo",[Nw(t.right,t.mode)]);r.setAttribute("fence","true"),t.rightColor&&r.setAttribute("mathcolor",t.rightColor),n.push(r)}return Dw(n)}}),hw({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var n=Rv(e[0],t);if(!t.parser.leftrightDepth)throw new cm("\\middle without preceding \\left",n);return{type:"middle",mode:t.parser.mode,delim:n.text}},htmlBuilder:(t,e)=>{var n;if("."===t.delim)n=Ew(e,[]);else{n=Dv.sizedDelim(t.delim,1,e,t.mode,[]);var i={delim:t.delim,options:e};n.isMiddle=i}return n},mathmlBuilder:(t,e)=>{var n="\\vert"===t.delim||"|"===t.delim?Nw("|","text"):Nw(t.delim,t.mode),i=new Ow.MathNode("mo",[n]);return i.setAttribute("fence","true"),i.setAttribute("lspace","0.05em"),i.setAttribute("rspace","0.05em"),i}});var $v=(t,e)=>{var n,i,r=nw.wrapFragment(Sw(t.body,e),e),a=t.label.slice(1),o=e.sizeMultiplier,s=0,c=ym(t.body);if("sout"===a)(n=nw.makeSpan(["stretchy","sout"])).height=e.fontMetrics().defaultRuleThickness/o,s=-.5*e.fontMetrics().xHeight;else if("phase"===a){var l=Wm({number:.6,unit:"pt"},e),u=Wm({number:.35,unit:"ex"},e);o/=e.havingBaseSizing().sizeMultiplier;var h=r.height+r.depth+l+u;r.style.paddingLeft=Xm(h/2+l);var f=Math.floor(1e3*h*o),d=function(t){return"M400000 "+t+" H0 L"+t/2+" 0 l65 45 L145 "+(t-80)+" H400000z"}(f),g=new oy([new sy("phase",d)],{width:"400em",height:Xm(f/1e3),viewBox:"0 0 400000 "+f,preserveAspectRatio:"xMinYMin slice"});(n=nw.makeSvgSpan(["hide-tail"],[g],e)).style.height=Xm(h),s=r.depth+l+u}else{/cancel/.test(a)?c||r.classes.push("cancel-pad"):"angl"===a?r.classes.push("anglpad"):r.classes.push("boxpad");var p=0,b=0,m=0;/box/.test(a)?(m=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),b=p=e.fontMetrics().fboxsep+("colorbox"===a?0:m)):"angl"===a?(p=4*(m=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness)),b=Math.max(0,.25-r.depth)):b=p=c?.2:0,n=function(t,e,n,i,r){var a,o=t.height+t.depth+n+i;if(/fbox|color|angl/.test(e)){if(a=nw.makeSpan(["stretchy",e],[],r),"fbox"===e){var s=r.color&&r.getColor();s&&(a.style.borderColor=s)}}else{var c=[];/^[bx]cancel$/.test(e)&&c.push(new cy({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(e)&&c.push(new cy({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var l=new oy(c,{width:"100%",height:Xm(o)});a=nw.makeSvgSpan([],[l],r)}return a.height=o,a.style.height=Xm(o),a}(r,a,p,b,e),/fbox|boxed|fcolorbox/.test(a)?(n.style.borderStyle="solid",n.style.borderWidth=Xm(m)):"angl"===a&&.049!==m&&(n.style.borderTopWidth=Xm(m),n.style.borderRightWidth=Xm(m)),s=r.depth+b,t.backgroundColor&&(n.style.backgroundColor=t.backgroundColor,t.borderColor&&(n.style.borderColor=t.borderColor))}if(t.backgroundColor)i=nw.makeVList({positionType:"individualShift",children:[{type:"elem",elem:n,shift:s},{type:"elem",elem:r,shift:0}]},e);else{var y=/cancel|phase/.test(a)?["svg-align"]:[];i=nw.makeVList({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:n,shift:s,wrapperClasses:y}]},e)}return/cancel/.test(a)&&(i.height=r.height,i.depth=r.depth),/cancel/.test(a)&&!c?nw.makeSpan(["mord","cancel-lap"],[i],e):nw.makeSpan(["mord"],[i],e)},jv=(t,e)=>{var n=0,i=new Ow.MathNode(t.label.indexOf("colorbox")>-1?"mpadded":"menclose",[Fw(t.body,e)]);switch(t.label){case"\\cancel":i.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":i.setAttribute("notation","downdiagonalstrike");break;case"\\phase":i.setAttribute("notation","phasorangle");break;case"\\sout":i.setAttribute("notation","horizontalstrike");break;case"\\fbox":i.setAttribute("notation","box");break;case"\\angl":i.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(n=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,i.setAttribute("width","+"+2*n+"pt"),i.setAttribute("height","+"+2*n+"pt"),i.setAttribute("lspace",n+"pt"),i.setAttribute("voffset",n+"pt"),"\\fcolorbox"===t.label){var r=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);i.setAttribute("style","border: "+r+"em solid "+String(t.borderColor))}break;case"\\xcancel":i.setAttribute("notation","updiagonalstrike downdiagonalstrike")}return t.backgroundColor&&i.setAttribute("mathbackground",t.backgroundColor),i};hw({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,n){var{parser:i,funcName:r}=t,a=Kw(e[0],"color-token").color,o=e[1];return{type:"enclose",mode:i.mode,label:r,backgroundColor:a,body:o}},htmlBuilder:$v,mathmlBuilder:jv}),hw({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,n){var{parser:i,funcName:r}=t,a=Kw(e[0],"color-token").color,o=Kw(e[1],"color-token").color,s=e[2];return{type:"enclose",mode:i.mode,label:r,backgroundColor:o,borderColor:a,body:s}},htmlBuilder:$v,mathmlBuilder:jv}),hw({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:n}=t;return{type:"enclose",mode:n.mode,label:"\\fbox",body:e[0]}}}),hw({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(t,e){var{parser:n,funcName:i}=t,r=e[0];return{type:"enclose",mode:n.mode,label:i,body:r}},htmlBuilder:$v,mathmlBuilder:jv}),hw({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:n}=t;return{type:"enclose",mode:n.mode,label:"\\angl",body:e[0]}}});var zv={};function qv(t){for(var{type:e,names:n,props:i,handler:r,htmlBuilder:a,mathmlBuilder:o}=t,s={type:e,numArgs:i.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:r},c=0;c{if(!t.parser.settings.displayMode)throw new cm("{"+t.envName+"} can be used only in display mode.")};function Yv(t){if(-1===t.indexOf("ed"))return-1===t.indexOf("*")}function Vv(t,e,n){var{hskipBeforeAndAfter:i,addJot:r,cols:a,arraystretch:o,colSeparationType:s,autoTag:c,singleRow:l,emptySingleRow:u,maxNumCols:h,leqno:f}=e;if(t.gullet.beginGroup(),l||t.gullet.macros.set("\\cr","\\\\\\relax"),!o){var d=t.gullet.expandMacroAsText("\\arraystretch");if(null==d)o=1;else if(!(o=parseFloat(d))||o<0)throw new cm("Invalid \\arraystretch: "+d)}t.gullet.beginGroup();var g=[],p=[g],b=[],m=[],y=null!=c?[]:void 0;function w(){c&&t.gullet.macros.set("\\@eqnsw","1",!0)}function v(){y&&(t.gullet.macros.get("\\df@tag")?(y.push(t.subparse([new sm("\\df@tag")])),t.gullet.macros.set("\\df@tag",void 0,!0)):y.push(!!c&&"1"===t.gullet.macros.get("\\@eqnsw")))}for(w(),m.push(Gv(t));;){var x=t.parseExpression(!1,l?"\\end":"\\\\");t.gullet.endGroup(),t.gullet.beginGroup(),x={type:"ordgroup",mode:t.mode,body:x},n&&(x={type:"styling",mode:t.mode,style:n,body:[x]}),g.push(x);var k=t.fetch().text;if("&"===k){if(h&&g.length===h){if(l||s)throw new cm("Too many tab characters: &",t.nextToken);t.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}t.consume()}else{if("\\end"===k){v(),1===g.length&&"styling"===x.type&&0===x.body[0].body.length&&(p.length>1||!u)&&p.pop(),m.length0&&(m+=.25),c.push({pos:m,isDashed:t[e]})}for(y(a[0]),n=0;n0&&(x<(E+=b)&&(x=E),E=0),t.addJot&&(x+=d),k.height=v,k.depth=x,m+=v,k.pos=m,m+=x+E,s[n]=k,y(a[n+1])}var S,C,A=m/2+e.fontMetrics().axisHeight,M=t.cols||[],L=[],I=[];if(t.tags&&t.tags.some((t=>t)))for(n=0;n=o)){var z=void 0;(i>0||t.hskipBeforeAndAfter)&&0!==(z=gm(B.pregap,h))&&((S=nw.makeSpan(["arraycolsep"],[])).style.width=Xm(z),L.push(S));var q=[];for(n=0;n0){for(var K=nw.makeLineSpan("hline",e,l),Y=nw.makeLineSpan("hdashline",e,l),V=[{type:"elem",elem:s,shift:0}];c.length>0;){var W=c.pop(),X=W.pos-A;W.isDashed?V.push({type:"elem",elem:Y,shift:X}):V.push({type:"elem",elem:K,shift:X})}s=nw.makeVList({positionType:"individualShift",children:V},e)}if(0===I.length)return nw.makeSpan(["mord"],[s],e);var Q=nw.makeVList({positionType:"individualShift",children:I},e);return Q=nw.makeSpan(["tag"],[Q],e),nw.makeFragment([s,Q])},Qv={c:"center ",l:"left ",r:"right "},Zv=function(t,e){for(var n=[],i=new Ow.MathNode("mtd",[],["mtr-glue"]),r=new Ow.MathNode("mtd",[],["mml-eqn-num"]),a=0;a0){var d=t.cols,g="",p=!1,b=0,m=d.length;"separator"===d[0].type&&(h+="top ",b=1),"separator"===d[d.length-1].type&&(h+="bottom ",m-=1);for(var y=b;y0?"left ":"",h+=_[_.length-1].length>0?"right ":"";for(var T=1;T<_.length-1;T++)k+=0===_[T].length?"none ":_[T][0]?"dashed ":"solid ";return/[sd]/.test(k)&&l.setAttribute("rowlines",k.trim()),""!==h&&(l=new Ow.MathNode("menclose",[l])).setAttribute("notation",h.trim()),t.arraystretch&&t.arraystretch<1&&(l=new Ow.MathNode("mstyle",[l])).setAttribute("scriptlevel","1"),l},Jv=function(t,e){-1===t.envName.indexOf("ed")&&Kv(t);var n,i=[],r=t.envName.indexOf("at")>-1?"alignat":"align",a="split"===t.envName,o=Vv(t.parser,{cols:i,addJot:!0,autoTag:a?void 0:Yv(t.envName),emptySingleRow:!0,colSeparationType:r,maxNumCols:a?2:void 0,leqno:t.parser.settings.leqno},"display"),s=0,c={type:"ordgroup",mode:t.mode,body:[]};if(e[0]&&"ordgroup"===e[0].type){for(var l="",u=0;u0&&h&&(g=1),i[f]={type:"align",align:d,pregap:g,postgap:0}}return o.colSeparationType=h?"align":"alignat",o};qv({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var n=(Vw(e[0])?[e[0]]:Kw(e[0],"ordgroup").body).map((function(t){var e=Yw(t).text;if(-1!=="lcr".indexOf(e))return{type:"align",align:e};if("|"===e)return{type:"separator",separator:"|"};if(":"===e)return{type:"separator",separator:":"};throw new cm("Unknown column alignment: "+e,t)})),i={cols:n,hskipBeforeAndAfter:!0,maxNumCols:n.length};return Vv(t.parser,i,Wv(t.envName))},htmlBuilder:Xv,mathmlBuilder:Zv}),qv({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],n="c",i={hskipBeforeAndAfter:!1,cols:[{type:"align",align:n}]};if("*"===t.envName.charAt(t.envName.length-1)){var r=t.parser;if(r.consumeSpaces(),"["===r.fetch().text){if(r.consume(),r.consumeSpaces(),n=r.fetch().text,-1==="lcr".indexOf(n))throw new cm("Expected l or c or r",r.nextToken);r.consume(),r.consumeSpaces(),r.expect("]"),r.consume(),i.cols=[{type:"align",align:n}]}}var a=Vv(t.parser,i,Wv(t.envName)),o=Math.max(0,...a.body.map((t=>t.length)));return a.cols=new Array(o).fill({type:"align",align:n}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:Xv,mathmlBuilder:Zv}),qv({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e=Vv(t.parser,{arraystretch:.5},"script");return e.colSeparationType="small",e},htmlBuilder:Xv,mathmlBuilder:Zv}),qv({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var n=(Vw(e[0])?[e[0]]:Kw(e[0],"ordgroup").body).map((function(t){var e=Yw(t).text;if(-1!=="lc".indexOf(e))return{type:"align",align:e};throw new cm("Unknown column alignment: "+e,t)}));if(n.length>1)throw new cm("{subarray} can contain only one column");var i={cols:n,hskipBeforeAndAfter:!1,arraystretch:.5};if((i=Vv(t.parser,i,"script")).body.length>0&&i.body[0].length>1)throw new cm("{subarray} can contain only one column");return i},htmlBuilder:Xv,mathmlBuilder:Zv}),qv({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e=Vv(t.parser,{arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},Wv(t.envName));return{type:"leftright",mode:t.mode,body:[e],left:t.envName.indexOf("r")>-1?".":"\\{",right:t.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:Xv,mathmlBuilder:Zv}),qv({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Jv,htmlBuilder:Xv,mathmlBuilder:Zv}),qv({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){dm(["gather","gather*"],t.envName)&&Kv(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Yv(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return Vv(t.parser,e,"display")},htmlBuilder:Xv,mathmlBuilder:Zv}),qv({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Jv,htmlBuilder:Xv,mathmlBuilder:Zv}),qv({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){Kv(t);var e={autoTag:Yv(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return Vv(t.parser,e,"display")},htmlBuilder:Xv,mathmlBuilder:Zv}),qv({type:"array",names:["CD"],props:{numArgs:0},handler:t=>(Kv(t),function(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var n=t.fetch().text;if("&"!==n&&"\\\\"!==n){if("\\end"===n){0===e[e.length-1].length&&e.pop();break}throw new cm("Expected \\\\ or \\cr or \\end",t.nextToken)}t.consume()}for(var i=[],r=[i],a=0;a-1)){if(!("<>AV".indexOf(l)>-1))throw new cm('Expected one of "<>AV=|." after @',o[c]);for(var h=0;h<2;h++){for(var f=!0,d=c+1;d{var n=t.font,i=e.withFont(n);return Sw(t.body,i)},nx=(t,e)=>{var n=t.font,i=e.withFont(n);return Fw(t.body,i)},ix={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};hw({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(t,e)=>{var{parser:n,funcName:i}=t,r=dw(e[0]),a=i;return a in ix&&(a=ix[a]),{type:"font",mode:n.mode,font:a.slice(1),body:r}},htmlBuilder:ex,mathmlBuilder:nx}),hw({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(t,e)=>{var{parser:n}=t,i=e[0],r=ym(i);return{type:"mclass",mode:n.mode,mclass:nv(i),body:[{type:"font",mode:n.mode,font:"boldsymbol",body:i}],isCharacterBox:r}}}),hw({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{parser:n,funcName:i,breakOnTokenText:r}=t,{mode:a}=n,o=n.parseExpression(!0,r);return{type:"font",mode:a,font:"math"+i.slice(1),body:{type:"ordgroup",mode:n.mode,body:o}}},htmlBuilder:ex,mathmlBuilder:nx});var rx=(t,e)=>{var n=e;return"display"===t?n=n.id>=Im.SCRIPT.id?n.text():Im.DISPLAY:"text"===t&&n.size===Im.DISPLAY.size?n=Im.TEXT:"script"===t?n=Im.SCRIPT:"scriptscript"===t&&(n=Im.SCRIPTSCRIPT),n},ax=(t,e)=>{var n,i=rx(t.size,e.style),r=i.fracNum(),a=i.fracDen();n=e.havingStyle(r);var o=Sw(t.numer,n,e);if(t.continued){var s=8.5/e.fontMetrics().ptPerEm,c=3.5/e.fontMetrics().ptPerEm;o.height=o.height0?3*h:7*h,g=e.fontMetrics().denom1):(u>0?(f=e.fontMetrics().num2,d=h):(f=e.fontMetrics().num3,d=3*h),g=e.fontMetrics().denom2),l){var v=e.fontMetrics().axisHeight;f-o.depth-(v+.5*u){var n=new Ow.MathNode("mfrac",[Fw(t.numer,e),Fw(t.denom,e)]);if(t.hasBarLine){if(t.barSize){var i=Wm(t.barSize,e);n.setAttribute("linethickness",Xm(i))}}else n.setAttribute("linethickness","0px");var r=rx(t.size,e.style);if(r.size!==e.style.size){n=new Ow.MathNode("mstyle",[n]);var a=r.size===Im.DISPLAY.size?"true":"false";n.setAttribute("displaystyle",a),n.setAttribute("scriptlevel","0")}if(null!=t.leftDelim||null!=t.rightDelim){var o=[];if(null!=t.leftDelim){var s=new Ow.MathNode("mo",[new Ow.TextNode(t.leftDelim.replace("\\",""))]);s.setAttribute("fence","true"),o.push(s)}if(o.push(n),null!=t.rightDelim){var c=new Ow.MathNode("mo",[new Ow.TextNode(t.rightDelim.replace("\\",""))]);c.setAttribute("fence","true"),o.push(c)}return Dw(o)}return n};hw({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(t,e)=>{var n,{parser:i,funcName:r}=t,a=e[0],o=e[1],s=null,c=null,l="auto";switch(r){case"\\dfrac":case"\\frac":case"\\tfrac":n=!0;break;case"\\\\atopfrac":n=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":n=!1,s="(",c=")";break;case"\\\\bracefrac":n=!1,s="\\{",c="\\}";break;case"\\\\brackfrac":n=!1,s="[",c="]";break;default:throw new Error("Unrecognized genfrac command")}switch(r){case"\\dfrac":case"\\dbinom":l="display";break;case"\\tfrac":case"\\tbinom":l="text"}return{type:"genfrac",mode:i.mode,continued:!1,numer:a,denom:o,hasBarLine:n,leftDelim:s,rightDelim:c,size:l,barSize:null}},htmlBuilder:ax,mathmlBuilder:ox}),hw({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:(t,e)=>{var{parser:n,funcName:i}=t,r=e[0],a=e[1];return{type:"genfrac",mode:n.mode,continued:!0,numer:r,denom:a,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}}}),hw({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var e,{parser:n,funcName:i,token:r}=t;switch(i){case"\\over":e="\\frac";break;case"\\choose":e="\\binom";break;case"\\atop":e="\\\\atopfrac";break;case"\\brace":e="\\\\bracefrac";break;case"\\brack":e="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:n.mode,replaceWith:e,token:r}}});var sx=["display","text","script","scriptscript"],cx=function(t){var e=null;return t.length>0&&(e="."===(e=t)?null:e),e};hw({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var n,{parser:i}=t,r=e[4],a=e[5],o=dw(e[0]),s="atom"===o.type&&"open"===o.family?cx(o.text):null,c=dw(e[1]),l="atom"===c.type&&"close"===c.family?cx(c.text):null,u=Kw(e[2],"size"),h=null;n=!!u.isBlank||(h=u.value).number>0;var f="auto",d=e[3];if("ordgroup"===d.type){if(d.body.length>0){var g=Kw(d.body[0],"textord");f=sx[Number(g.text)]}}else d=Kw(d,"textord"),f=sx[Number(d.text)];return{type:"genfrac",mode:i.mode,numer:r,denom:a,continued:!1,hasBarLine:n,barSize:h,leftDelim:s,rightDelim:l,size:f}},htmlBuilder:ax,mathmlBuilder:ox}),hw({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:n,funcName:i,token:r}=t;return{type:"infix",mode:n.mode,replaceWith:"\\\\abovefrac",size:Kw(e[0],"size").value,token:r}}}),hw({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(t,e)=>{var{parser:n,funcName:i}=t,r=e[0],a=function(t){if(!t)throw new Error("Expected non-null, but got "+String(t));return t}(Kw(e[1],"infix").size),o=e[2],s=a.number>0;return{type:"genfrac",mode:n.mode,numer:r,denom:o,continued:!1,hasBarLine:s,barSize:a,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:ax,mathmlBuilder:ox});var lx=(t,e)=>{var n,i,r=e.style;"supsub"===t.type?(n=t.sup?Sw(t.sup,e.havingStyle(r.sup()),e):Sw(t.sub,e.havingStyle(r.sub()),e),i=Kw(t.base,"horizBrace")):i=Kw(t,"horizBrace");var a,o=Sw(i.base,e.havingBaseStyle(Im.DISPLAY)),s=Gw(i,e);if(i.isOver?(a=nw.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"kern",size:.1},{type:"elem",elem:s}]},e)).children[0].children[0].children[1].classes.push("svg-align"):(a=nw.makeVList({positionType:"bottom",positionData:o.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:o}]},e)).children[0].children[0].children[0].classes.push("svg-align"),n){var c=nw.makeSpan(["mord",i.isOver?"mover":"munder"],[a],e);a=i.isOver?nw.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:c},{type:"kern",size:.2},{type:"elem",elem:n}]},e):nw.makeVList({positionType:"bottom",positionData:c.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:c}]},e)}return nw.makeSpan(["mord",i.isOver?"mover":"munder"],[a],e)};hw({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(t,e){var{parser:n,funcName:i}=t;return{type:"horizBrace",mode:n.mode,label:i,isOver:/^\\over/.test(i),base:e[0]}},htmlBuilder:lx,mathmlBuilder:(t,e)=>{var n=Uw(t.label);return new Ow.MathNode(t.isOver?"mover":"munder",[Fw(t.base,e),n])}}),hw({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(t,e)=>{var{parser:n}=t,i=e[1],r=Kw(e[0],"url").url;return n.settings.isTrusted({command:"\\href",url:r})?{type:"href",mode:n.mode,href:r,body:gw(i)}:n.formatUnsupportedCmd("\\href")},htmlBuilder:(t,e)=>{var n=vw(t.body,e,!1);return nw.makeAnchor(t.href,[],n,e)},mathmlBuilder:(t,e)=>{var n=Rw(t.body,e);return n instanceof Lw||(n=new Lw("mrow",[n])),n.setAttribute("href",t.href),n}}),hw({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(t,e)=>{var{parser:n}=t,i=Kw(e[0],"url").url;if(!n.settings.isTrusted({command:"\\url",url:i}))return n.formatUnsupportedCmd("\\url");for(var r=[],a=0;anew Ow.MathNode("mrow",Bw(t.body,e))}),hw({type:"html",names:["\\htmlClass","\\htmlId","\\htmlStyle","\\htmlData"],props:{numArgs:2,argTypes:["raw","original"],allowedInText:!0},handler:(t,e)=>{var{parser:n,funcName:i,token:r}=t,a=Kw(e[0],"raw").string,o=e[1];n.settings.strict&&n.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var s,c={};switch(i){case"\\htmlClass":c.class=a,s={command:"\\htmlClass",class:a};break;case"\\htmlId":c.id=a,s={command:"\\htmlId",id:a};break;case"\\htmlStyle":c.style=a,s={command:"\\htmlStyle",style:a};break;case"\\htmlData":for(var l=a.split(","),u=0;u{var n=vw(t.body,e,!1),i=["enclosing"];t.attributes.class&&i.push(...t.attributes.class.trim().split(/\s+/));var r=nw.makeSpan(i,n,e);for(var a in t.attributes)"class"!==a&&t.attributes.hasOwnProperty(a)&&r.setAttribute(a,t.attributes[a]);return r},mathmlBuilder:(t,e)=>Rw(t.body,e)}),hw({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:(t,e)=>{var{parser:n}=t;return{type:"htmlmathml",mode:n.mode,html:gw(e[0]),mathml:gw(e[1])}},htmlBuilder:(t,e)=>{var n=vw(t.html,e,!1);return nw.makeFragment(n)},mathmlBuilder:(t,e)=>Rw(t.mathml,e)});var ux=function(t){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(t))return{number:+t,unit:"bp"};var e=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t);if(!e)throw new cm("Invalid size: '"+t+"' in \\includegraphics");var n={number:+(e[1]+e[2]),unit:e[3]};if(!Vm(n))throw new cm("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n};hw({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(t,e,n)=>{var{parser:i}=t,r={number:0,unit:"em"},a={number:.9,unit:"em"},o={number:0,unit:"em"},s="";if(n[0])for(var c=Kw(n[0],"raw").string.split(","),l=0;l{var n=Wm(t.height,e),i=0;t.totalheight.number>0&&(i=Wm(t.totalheight,e)-n);var r=0;t.width.number>0&&(r=Wm(t.width,e));var a={height:Xm(n+i)};r>0&&(a.width=Xm(r)),i>0&&(a.verticalAlign=Xm(-i));var o=new iy(t.src,t.alt,a);return o.height=n,o.depth=i,o},mathmlBuilder:(t,e)=>{var n=new Ow.MathNode("mglyph",[]);n.setAttribute("alt",t.alt);var i=Wm(t.height,e),r=0;if(t.totalheight.number>0&&(r=Wm(t.totalheight,e)-i,n.setAttribute("valign",Xm(-r))),n.setAttribute("height",Xm(i+r)),t.width.number>0){var a=Wm(t.width,e);n.setAttribute("width",Xm(a))}return n.setAttribute("src",t.src),n}}),hw({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:n,funcName:i}=t,r=Kw(e[0],"size");if(n.settings.strict){var a="m"===i[1],o="mu"===r.value.unit;a?(o||n.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+i+" supports only mu units, not "+r.value.unit+" units"),"math"!==n.mode&&n.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+i+" works only in math mode")):o&&n.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+i+" doesn't support mu units")}return{type:"kern",mode:n.mode,dimension:r.value}},htmlBuilder:(t,e)=>nw.makeGlue(t.dimension,e),mathmlBuilder(t,e){var n=Wm(t.dimension,e);return new Ow.SpaceNode(n)}}),hw({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:n,funcName:i}=t,r=e[0];return{type:"lap",mode:n.mode,alignment:i.slice(5),body:r}},htmlBuilder:(t,e)=>{var n;"clap"===t.alignment?(n=nw.makeSpan([],[Sw(t.body,e)]),n=nw.makeSpan(["inner"],[n],e)):n=nw.makeSpan(["inner"],[Sw(t.body,e)]);var i=nw.makeSpan(["fix"],[]),r=nw.makeSpan([t.alignment],[n,i],e),a=nw.makeSpan(["strut"]);return a.style.height=Xm(r.height+r.depth),r.depth&&(a.style.verticalAlign=Xm(-r.depth)),r.children.unshift(a),r=nw.makeSpan(["thinbox"],[r],e),nw.makeSpan(["mord","vbox"],[r],e)},mathmlBuilder:(t,e)=>{var n=new Ow.MathNode("mpadded",[Fw(t.body,e)]);if("rlap"!==t.alignment){var i="llap"===t.alignment?"-1":"-0.5";n.setAttribute("lspace",i+"width")}return n.setAttribute("width","0px"),n}}),hw({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:n,parser:i}=t,r=i.mode;i.switchMode("math");var a="\\("===n?"\\)":"$",o=i.parseExpression(!1,a);return i.expect(a),i.switchMode(r),{type:"styling",mode:i.mode,style:"text",body:o}}}),hw({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new cm("Mismatched "+t.funcName)}});var hx=(t,e)=>{switch(e.style.size){case Im.DISPLAY.size:return t.display;case Im.TEXT.size:return t.text;case Im.SCRIPT.size:return t.script;case Im.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}};hw({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(t,e)=>{var{parser:n}=t;return{type:"mathchoice",mode:n.mode,display:gw(e[0]),text:gw(e[1]),script:gw(e[2]),scriptscript:gw(e[3])}},htmlBuilder:(t,e)=>{var n=hx(t,e),i=vw(n,e,!1);return nw.makeFragment(i)},mathmlBuilder:(t,e)=>{var n=hx(t,e);return Rw(n,e)}});var fx=(t,e,n,i,r,a,o)=>{t=nw.makeSpan([],[t]);var s,c,l,u=n&&ym(n);if(e){var h=Sw(e,i.havingStyle(r.sup()),i);c={elem:h,kern:Math.max(i.fontMetrics().bigOpSpacing1,i.fontMetrics().bigOpSpacing3-h.depth)}}if(n){var f=Sw(n,i.havingStyle(r.sub()),i);s={elem:f,kern:Math.max(i.fontMetrics().bigOpSpacing2,i.fontMetrics().bigOpSpacing4-f.height)}}if(c&&s){var d=i.fontMetrics().bigOpSpacing5+s.elem.height+s.elem.depth+s.kern+t.depth+o;l=nw.makeVList({positionType:"bottom",positionData:d,children:[{type:"kern",size:i.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:Xm(-a)},{type:"kern",size:s.kern},{type:"elem",elem:t},{type:"kern",size:c.kern},{type:"elem",elem:c.elem,marginLeft:Xm(a)},{type:"kern",size:i.fontMetrics().bigOpSpacing5}]},i)}else if(s){var g=t.height-o;l=nw.makeVList({positionType:"top",positionData:g,children:[{type:"kern",size:i.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:Xm(-a)},{type:"kern",size:s.kern},{type:"elem",elem:t}]},i)}else{if(!c)return t;var p=t.depth+o;l=nw.makeVList({positionType:"bottom",positionData:p,children:[{type:"elem",elem:t},{type:"kern",size:c.kern},{type:"elem",elem:c.elem,marginLeft:Xm(a)},{type:"kern",size:i.fontMetrics().bigOpSpacing5}]},i)}var b=[l];if(s&&0!==a&&!u){var m=nw.makeSpan(["mspace"],[],i);m.style.marginRight=Xm(a),b.unshift(m)}return nw.makeSpan(["mop","op-limits"],b,i)},dx=["\\smallint"],gx=(t,e)=>{var n,i,r,a=!1;"supsub"===t.type?(n=t.sup,i=t.sub,r=Kw(t.base,"op"),a=!0):r=Kw(t,"op");var o,s=e.style,c=!1;if(s.size===Im.DISPLAY.size&&r.symbol&&!dm(dx,r.name)&&(c=!0),r.symbol){var l=c?"Size2-Regular":"Size1-Regular",u="";if(("\\oiint"===r.name||"\\oiiint"===r.name)&&(u=r.name.slice(1),r.name="oiint"===u?"\\iint":"\\iiint"),o=nw.makeSymbol(r.name,l,"math",e,["mop","op-symbol",c?"large-op":"small-op"]),u.length>0){var h=o.italic,f=nw.staticSvg(u+"Size"+(c?"2":"1"),e);o=nw.makeVList({positionType:"individualShift",children:[{type:"elem",elem:o,shift:0},{type:"elem",elem:f,shift:c?.08:0}]},e),r.name="\\"+u,o.classes.unshift("mop"),o.italic=h}}else if(r.body){var d=vw(r.body,e,!0);1===d.length&&d[0]instanceof ay?(o=d[0]).classes[0]="mop":o=nw.makeSpan(["mop"],d,e)}else{for(var g=[],p=1;p{var n;if(t.symbol)n=new Lw("mo",[Nw(t.name,t.mode)]),dm(dx,t.name)&&n.setAttribute("largeop","false");else if(t.body)n=new Lw("mo",Bw(t.body,e));else{n=new Lw("mi",[new Iw(t.name.slice(1))]);var i=new Lw("mo",[Nw("⁡","text")]);n=t.parentIsSupSub?new Lw("mrow",[n,i]):Mw([n,i])}return n},bx={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};hw({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(t,e)=>{var{parser:n,funcName:i}=t,r=i;return 1===r.length&&(r=bx[r]),{type:"op",mode:n.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:r}},htmlBuilder:gx,mathmlBuilder:px}),hw({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var{parser:n}=t,i=e[0];return{type:"op",mode:n.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:gw(i)}},htmlBuilder:gx,mathmlBuilder:px});var mx={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};hw({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:n}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:n}},htmlBuilder:gx,mathmlBuilder:px}),hw({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:n}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:n}},htmlBuilder:gx,mathmlBuilder:px}),hw({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0},handler(t){var{parser:e,funcName:n}=t,i=n;return 1===i.length&&(i=mx[i]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:gx,mathmlBuilder:px});var yx=(t,e)=>{var n,i,r,a,o=!1;if("supsub"===t.type?(n=t.sup,i=t.sub,r=Kw(t.base,"operatorname"),o=!0):r=Kw(t,"operatorname"),r.body.length>0){for(var s=r.body.map((t=>{var e=t.text;return"string"==typeof e?{type:"textord",mode:t.mode,text:e}:t})),c=vw(s,e.withFont("mathrm"),!0),l=0;l{var{parser:n,funcName:i}=t,r=e[0];return{type:"operatorname",mode:n.mode,body:gw(r),alwaysHandleSupSub:"\\operatornamewithlimits"===i,limits:!1,parentIsSupSub:!1}},htmlBuilder:yx,mathmlBuilder:(t,e)=>{for(var n=Bw(t.body,e.withFont("mathrm")),i=!0,r=0;rt.toText())).join("");n=[new Ow.TextNode(s)]}var c=new Ow.MathNode("mi",n);c.setAttribute("mathvariant","normal");var l=new Ow.MathNode("mo",[Nw("⁡","text")]);return t.parentIsSupSub?new Ow.MathNode("mrow",[c,l]):Ow.newDocumentFragment([c,l])}}),Uv("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@"),fw({type:"ordgroup",htmlBuilder:(t,e)=>t.semisimple?nw.makeFragment(vw(t.body,e,!1)):nw.makeSpan(["mord"],vw(t.body,e,!0),e),mathmlBuilder:(t,e)=>Rw(t.body,e,!0)}),hw({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:n}=t,i=e[0];return{type:"overline",mode:n.mode,body:i}},htmlBuilder(t,e){var n=Sw(t.body,e.havingCrampedStyle()),i=nw.makeLineSpan("overline-line",e),r=e.fontMetrics().defaultRuleThickness,a=nw.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:n},{type:"kern",size:3*r},{type:"elem",elem:i},{type:"kern",size:r}]},e);return nw.makeSpan(["mord","overline"],[a],e)},mathmlBuilder(t,e){var n=new Ow.MathNode("mo",[new Ow.TextNode("‾")]);n.setAttribute("stretchy","true");var i=new Ow.MathNode("mover",[Fw(t.body,e),n]);return i.setAttribute("accent","true"),i}}),hw({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:n}=t,i=e[0];return{type:"phantom",mode:n.mode,body:gw(i)}},htmlBuilder:(t,e)=>{var n=vw(t.body,e.withPhantom(),!1);return nw.makeFragment(n)},mathmlBuilder:(t,e)=>{var n=Bw(t.body,e);return new Ow.MathNode("mphantom",n)}}),hw({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:n}=t,i=e[0];return{type:"hphantom",mode:n.mode,body:i}},htmlBuilder:(t,e)=>{var n=nw.makeSpan([],[Sw(t.body,e.withPhantom())]);if(n.height=0,n.depth=0,n.children)for(var i=0;i{var n=Bw(gw(t.body),e),i=new Ow.MathNode("mphantom",n),r=new Ow.MathNode("mpadded",[i]);return r.setAttribute("height","0px"),r.setAttribute("depth","0px"),r}}),hw({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:n}=t,i=e[0];return{type:"vphantom",mode:n.mode,body:i}},htmlBuilder:(t,e)=>{var n=nw.makeSpan(["inner"],[Sw(t.body,e.withPhantom())]),i=nw.makeSpan(["fix"],[]);return nw.makeSpan(["mord","rlap"],[n,i],e)},mathmlBuilder:(t,e)=>{var n=Bw(gw(t.body),e),i=new Ow.MathNode("mphantom",n),r=new Ow.MathNode("mpadded",[i]);return r.setAttribute("width","0px"),r}}),hw({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:n}=t,i=Kw(e[0],"size").value,r=e[1];return{type:"raisebox",mode:n.mode,dy:i,body:r}},htmlBuilder(t,e){var n=Sw(t.body,e),i=Wm(t.dy,e);return nw.makeVList({positionType:"shift",positionData:-i,children:[{type:"elem",elem:n}]},e)},mathmlBuilder(t,e){var n=new Ow.MathNode("mpadded",[Fw(t.body,e)]),i=t.dy.number+t.dy.unit;return n.setAttribute("voffset",i),n}}),hw({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}}),hw({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,argTypes:["size","size","size"]},handler(t,e,n){var{parser:i}=t,r=n[0],a=Kw(e[0],"size"),o=Kw(e[1],"size");return{type:"rule",mode:i.mode,shift:r&&Kw(r,"size").value,width:a.value,height:o.value}},htmlBuilder(t,e){var n=nw.makeSpan(["mord","rule"],[],e),i=Wm(t.width,e),r=Wm(t.height,e),a=t.shift?Wm(t.shift,e):0;return n.style.borderRightWidth=Xm(i),n.style.borderTopWidth=Xm(r),n.style.bottom=Xm(a),n.width=i,n.height=r+a,n.depth=-a,n.maxFontSize=1.125*r*e.sizeMultiplier,n},mathmlBuilder(t,e){var n=Wm(t.width,e),i=Wm(t.height,e),r=t.shift?Wm(t.shift,e):0,a=e.color&&e.getColor()||"black",o=new Ow.MathNode("mspace");o.setAttribute("mathbackground",a),o.setAttribute("width",Xm(n)),o.setAttribute("height",Xm(i));var s=new Ow.MathNode("mpadded",[o]);return r>=0?s.setAttribute("height",Xm(r)):(s.setAttribute("height",Xm(r)),s.setAttribute("depth",Xm(-r))),s.setAttribute("voffset",Xm(r)),s}});var vx=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"];hw({type:"sizing",names:vx,props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{breakOnTokenText:n,funcName:i,parser:r}=t,a=r.parseExpression(!1,n);return{type:"sizing",mode:r.mode,size:vx.indexOf(i)+1,body:a}},htmlBuilder:(t,e)=>{var n=e.havingSize(t.size);return wx(t.body,n,e)},mathmlBuilder:(t,e)=>{var n=e.havingSize(t.size),i=Bw(t.body,n),r=new Ow.MathNode("mstyle",i);return r.setAttribute("mathsize",Xm(n.sizeMultiplier)),r}}),hw({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(t,e,n)=>{var{parser:i}=t,r=!1,a=!1,o=n[0]&&Kw(n[0],"ordgroup");if(o)for(var s="",c=0;c{var n=nw.makeSpan([],[Sw(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return n;if(t.smashHeight&&(n.height=0,n.children))for(var i=0;i{var n=new Ow.MathNode("mpadded",[Fw(t.body,e)]);return t.smashHeight&&n.setAttribute("height","0px"),t.smashDepth&&n.setAttribute("depth","0px"),n}}),hw({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,n){var{parser:i}=t,r=n[0],a=e[0];return{type:"sqrt",mode:i.mode,body:a,index:r}},htmlBuilder(t,e){var n=Sw(t.body,e.havingCrampedStyle());0===n.height&&(n.height=e.fontMetrics().xHeight),n=nw.wrapFragment(n,e);var i=e.fontMetrics().defaultRuleThickness,r=i;e.style.idn.height+n.depth+a&&(a=(a+u-n.height-n.depth)/2);var h=s.height-n.height-a-c;n.style.paddingLeft=Xm(l);var f=nw.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:-(n.height+h)},{type:"elem",elem:s},{type:"kern",size:c}]},e);if(t.index){var d=e.havingStyle(Im.SCRIPTSCRIPT),g=Sw(t.index,d,e),p=.6*(f.height-f.depth),b=nw.makeVList({positionType:"shift",positionData:-p,children:[{type:"elem",elem:g}]},e),m=nw.makeSpan(["root"],[b]);return nw.makeSpan(["mord","sqrt"],[m,f],e)}return nw.makeSpan(["mord","sqrt"],[f],e)},mathmlBuilder(t,e){var{body:n,index:i}=t;return i?new Ow.MathNode("mroot",[Fw(n,e),Fw(i,e)]):new Ow.MathNode("msqrt",[Fw(n,e)])}});var xx={display:Im.DISPLAY,text:Im.TEXT,script:Im.SCRIPT,scriptscript:Im.SCRIPTSCRIPT};hw({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:n,funcName:i,parser:r}=t,a=r.parseExpression(!0,n),o=i.slice(1,i.length-5);return{type:"styling",mode:r.mode,style:o,body:a}},htmlBuilder(t,e){var n=xx[t.style],i=e.havingStyle(n).withFont("");return wx(t.body,i,e)},mathmlBuilder(t,e){var n=xx[t.style],i=e.havingStyle(n),r=Bw(t.body,i),a=new Ow.MathNode("mstyle",r),o={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[t.style];return a.setAttribute("scriptlevel",o[0]),a.setAttribute("displaystyle",o[1]),a}}),fw({type:"supsub",htmlBuilder(t,e){var n=function(t,e){var n=t.base;return n?"op"===n.type?n.limits&&(e.style.size===Im.DISPLAY.size||n.alwaysHandleSupSub)?gx:null:"operatorname"===n.type?n.alwaysHandleSupSub&&(e.style.size===Im.DISPLAY.size||n.limits)?yx:null:"accent"===n.type?ym(n.base)?Ww:null:"horizBrace"===n.type&&!t.sub===n.isOver?lx:null:null}(t,e);if(n)return n(t,e);var i,r,a,{base:o,sup:s,sub:c}=t,l=Sw(o,e),u=e.fontMetrics(),h=0,f=0,d=o&&ym(o);if(s){var g=e.havingStyle(e.style.sup());i=Sw(s,g,e),d||(h=l.height-g.fontMetrics().supDrop*g.sizeMultiplier/e.sizeMultiplier)}if(c){var p=e.havingStyle(e.style.sub());r=Sw(c,p,e),d||(f=l.depth+p.fontMetrics().subDrop*p.sizeMultiplier/e.sizeMultiplier)}a=e.style===Im.DISPLAY?u.sup1:e.style.cramped?u.sup3:u.sup2;var b,m=e.sizeMultiplier,y=Xm(.5/u.ptPerEm/m),w=null;if(r){var v=t.base&&"op"===t.base.type&&t.base.name&&("\\oiint"===t.base.name||"\\oiiint"===t.base.name);(l instanceof ay||v)&&(w=Xm(-l.italic))}if(i&&r){h=Math.max(h,a,i.depth+.25*u.xHeight),f=Math.max(f,u.sub2);var x=4*u.defaultRuleThickness;if(h-i.depth-(r.height-f)0&&(h+=k,f-=k)}b=nw.makeVList({positionType:"individualShift",children:[{type:"elem",elem:r,shift:f,marginRight:y,marginLeft:w},{type:"elem",elem:i,shift:-h,marginRight:y}]},e)}else if(r){f=Math.max(f,u.sub1,r.height-.8*u.xHeight),b=nw.makeVList({positionType:"shift",positionData:f,children:[{type:"elem",elem:r,marginLeft:w,marginRight:y}]},e)}else{if(!i)throw new Error("supsub must have either sup or sub.");h=Math.max(h,a,i.depth+.25*u.xHeight),b=nw.makeVList({positionType:"shift",positionData:-h,children:[{type:"elem",elem:i,marginRight:y}]},e)}var _=Tw(l,"right")||"mord";return nw.makeSpan([_],[l,nw.makeSpan(["msupsub"],[b])],e)},mathmlBuilder(t,e){var n,i=!1;t.base&&"horizBrace"===t.base.type&&!!t.sup===t.base.isOver&&(i=!0,n=t.base.isOver),t.base&&("op"===t.base.type||"operatorname"===t.base.type)&&(t.base.parentIsSupSub=!0);var r,a=[Fw(t.base,e)];if(t.sub&&a.push(Fw(t.sub,e)),t.sup&&a.push(Fw(t.sup,e)),i)r=n?"mover":"munder";else if(t.sub)if(t.sup){var o=t.base;r=o&&"op"===o.type&&o.limits&&e.style===Im.DISPLAY||o&&"operatorname"===o.type&&o.alwaysHandleSupSub&&(e.style===Im.DISPLAY||o.limits)?"munderover":"msubsup"}else{var s=t.base;r=s&&"op"===s.type&&s.limits&&(e.style===Im.DISPLAY||s.alwaysHandleSupSub)||s&&"operatorname"===s.type&&s.alwaysHandleSupSub&&(s.limits||e.style===Im.DISPLAY)?"munder":"msub"}else{var c=t.base;r=c&&"op"===c.type&&c.limits&&(e.style===Im.DISPLAY||c.alwaysHandleSupSub)||c&&"operatorname"===c.type&&c.alwaysHandleSupSub&&(c.limits||e.style===Im.DISPLAY)?"mover":"msup"}return new Ow.MathNode(r,a)}}),fw({type:"atom",htmlBuilder:(t,e)=>nw.mathsym(t.text,t.mode,e,["m"+t.family]),mathmlBuilder(t,e){var n=new Ow.MathNode("mo",[Nw(t.text,t.mode)]);if("bin"===t.family){var i=Pw(t,e);"bold-italic"===i&&n.setAttribute("mathvariant",i)}else"punct"===t.family?n.setAttribute("separator","true"):("open"===t.family||"close"===t.family)&&n.setAttribute("stretchy","false");return n}});var kx={mi:"italic",mn:"normal",mtext:"normal"};fw({type:"mathord",htmlBuilder:(t,e)=>nw.makeOrd(t,e,"mathord"),mathmlBuilder(t,e){var n=new Ow.MathNode("mi",[Nw(t.text,t.mode,e)]),i=Pw(t,e)||"italic";return i!==kx[n.type]&&n.setAttribute("mathvariant",i),n}}),fw({type:"textord",htmlBuilder:(t,e)=>nw.makeOrd(t,e,"textord"),mathmlBuilder(t,e){var n,i=Nw(t.text,t.mode,e),r=Pw(t,e)||"normal";return n="text"===t.mode?new Ow.MathNode("mtext",[i]):/[0-9]/.test(t.text)?new Ow.MathNode("mn",[i]):"\\prime"===t.text?new Ow.MathNode("mo",[i]):new Ow.MathNode("mi",[i]),r!==kx[n.type]&&n.setAttribute("mathvariant",r),n}});var _x={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Tx={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};fw({type:"spacing",htmlBuilder(t,e){if(Tx.hasOwnProperty(t.text)){var n=Tx[t.text].className||"";if("text"===t.mode){var i=nw.makeOrd(t,e,"textord");return i.classes.push(n),i}return nw.makeSpan(["mspace",n],[nw.mathsym(t.text,t.mode,e)],e)}if(_x.hasOwnProperty(t.text))return nw.makeSpan(["mspace",_x[t.text]],[],e);throw new cm('Unknown type of space "'+t.text+'"')},mathmlBuilder(t,e){if(!Tx.hasOwnProperty(t.text)){if(_x.hasOwnProperty(t.text))return new Ow.MathNode("mspace");throw new cm('Unknown type of space "'+t.text+'"')}return new Ow.MathNode("mtext",[new Ow.TextNode(" ")])}});var Ex=()=>{var t=new Ow.MathNode("mtd",[]);return t.setAttribute("width","50%"),t};fw({type:"tag",mathmlBuilder(t,e){var n=new Ow.MathNode("mtable",[new Ow.MathNode("mtr",[Ex(),new Ow.MathNode("mtd",[Rw(t.body,e)]),Ex(),new Ow.MathNode("mtd",[Rw(t.tag,e)])])]);return n.setAttribute("width","100%"),n}});var Sx={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},Cx={"\\textbf":"textbf","\\textmd":"textmd"},Ax={"\\textit":"textit","\\textup":"textup"},Mx=(t,e)=>{var n=t.font;return n?Sx[n]?e.withTextFontFamily(Sx[n]):Cx[n]?e.withTextFontWeight(Cx[n]):e.withTextFontShape(Ax[n]):e};hw({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:n,funcName:i}=t,r=e[0];return{type:"text",mode:n.mode,body:gw(r),font:i}},htmlBuilder(t,e){var n=Mx(t,e),i=vw(t.body,n,!0);return nw.makeSpan(["mord","text"],i,n)},mathmlBuilder(t,e){var n=Mx(t,e);return Rw(t.body,n)}}),hw({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:n}=t;return{type:"underline",mode:n.mode,body:e[0]}},htmlBuilder(t,e){var n=Sw(t.body,e),i=nw.makeLineSpan("underline-line",e),r=e.fontMetrics().defaultRuleThickness,a=nw.makeVList({positionType:"top",positionData:n.height,children:[{type:"kern",size:r},{type:"elem",elem:i},{type:"kern",size:3*r},{type:"elem",elem:n}]},e);return nw.makeSpan(["mord","underline"],[a],e)},mathmlBuilder(t,e){var n=new Ow.MathNode("mo",[new Ow.TextNode("‾")]);n.setAttribute("stretchy","true");var i=new Ow.MathNode("munder",[Fw(t.body,e),n]);return i.setAttribute("accentunder","true"),i}}),hw({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:n}=t;return{type:"vcenter",mode:n.mode,body:e[0]}},htmlBuilder(t,e){var n=Sw(t.body,e),i=e.fontMetrics().axisHeight,r=.5*(n.height-i-(n.depth+i));return nw.makeVList({positionType:"shift",positionData:r,children:[{type:"elem",elem:n}]},e)},mathmlBuilder:(t,e)=>new Ow.MathNode("mpadded",[Fw(t.body,e)],["vcenter"])}),hw({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,n){throw new cm("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var n=Lx(t),i=[],r=e.havingStyle(e.style.text()),a=0;at.body.replace(/ /g,t.star?"␣":" "),Ix=cw,Ox="[ \r\n\t]",Nx="(\\\\[a-zA-Z@]+)"+Ox+"*",Dx="[̀-ͯ]",Px=new RegExp(Dx+"+$"),Bx="("+Ox+"+)|\\\\(\n|[ \r\t]+\n?)[ \r\t]*|([!-\\[\\]-‧‪-퟿豈-￿]"+Dx+"*|[\ud800-\udbff][\udc00-\udfff]"+Dx+"*|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5|"+Nx+"|\\\\[^\ud800-\udfff])";class Rx{constructor(t,e){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=t,this.settings=e,this.tokenRegex=new RegExp(Bx,"g"),this.catcodes={"%":14,"~":13}}setCatcode(t,e){this.catcodes[t]=e}lex(){var t=this.input,e=this.tokenRegex.lastIndex;if(e===t.length)return new sm("EOF",new om(this,e,e));var n=this.tokenRegex.exec(t);if(null===n||n.index!==e)throw new cm("Unexpected character: '"+t[e]+"'",new sm(t[e],new om(this,e,e+1)));var i=n[6]||n[3]||(n[2]?"\\ ":" ");if(14===this.catcodes[i]){var r=t.indexOf("\n",this.tokenRegex.lastIndex);return-1===r?(this.tokenRegex.lastIndex=t.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=r+1,this.lex()}return new sm(i,new om(this,e,this.tokenRegex.lastIndex))}}class Fx{constructor(t,e){void 0===t&&(t={}),void 0===e&&(e={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=e,this.builtins=t,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(0===this.undefStack.length)throw new cm("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var t=this.undefStack.pop();for(var e in t)t.hasOwnProperty(e)&&(null==t[e]?delete this.current[e]:this.current[e]=t[e])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(t){return this.current.hasOwnProperty(t)||this.builtins.hasOwnProperty(t)}get(t){return this.current.hasOwnProperty(t)?this.current[t]:this.builtins[t]}set(t,e,n){if(void 0===n&&(n=!1),n){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][t]=e)}else{var r=this.undefStack[this.undefStack.length-1];r&&!r.hasOwnProperty(t)&&(r[t]=this.current[t])}null==e?delete this.current[t]:this.current[t]=e}}var $x=Hv;Uv("\\noexpand",(function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}})),Uv("\\expandafter",(function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}})),Uv("\\@firstoftwo",(function(t){return{tokens:t.consumeArgs(2)[0],numArgs:0}})),Uv("\\@secondoftwo",(function(t){return{tokens:t.consumeArgs(2)[1],numArgs:0}})),Uv("\\@ifnextchar",(function(t){var e=t.consumeArgs(3);t.consumeSpaces();var n=t.future();return 1===e[0].length&&e[0][0].text===n.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}})),Uv("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),Uv("\\TextOrMath",(function(t){var e=t.consumeArgs(2);return"text"===t.mode?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}}));var jx={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};Uv("\\char",(function(t){var e,n=t.popToken(),i="";if("'"===n.text)e=8,n=t.popToken();else if('"'===n.text)e=16,n=t.popToken();else if("`"===n.text)if("\\"===(n=t.popToken()).text[0])i=n.text.charCodeAt(1);else{if("EOF"===n.text)throw new cm("\\char` missing argument");i=n.text.charCodeAt(0)}else e=10;if(e){if(null==(i=jx[n.text])||i>=e)throw new cm("Invalid base-"+e+" digit "+n.text);for(var r;null!=(r=jx[t.future().text])&&r{var i=t.consumeArg().tokens;if(1!==i.length)throw new cm("\\newcommand's first argument must be a macro name");var r=i[0].text,a=t.isDefined(r);if(a&&!e)throw new cm("\\newcommand{"+r+"} attempting to redefine "+r+"; use \\renewcommand");if(!a&&!n)throw new cm("\\renewcommand{"+r+"} when command "+r+" does not yet exist; use \\newcommand");var o=0;if(1===(i=t.consumeArg().tokens).length&&"["===i[0].text){for(var s="",c=t.expandNextToken();"]"!==c.text&&"EOF"!==c.text;)s+=c.text,c=t.expandNextToken();if(!s.match(/^\s*[0-9]+\s*$/))throw new cm("Invalid number of arguments: "+s);o=parseInt(s),i=t.consumeArg().tokens}return t.macros.set(r,{tokens:i,numArgs:o}),""};Uv("\\newcommand",(t=>zx(t,!1,!0))),Uv("\\renewcommand",(t=>zx(t,!0,!1))),Uv("\\providecommand",(t=>zx(t,!0,!0))),Uv("\\message",(t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map((t=>t.text)).join("")),""})),Uv("\\errmessage",(t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map((t=>t.text)).join("")),""})),Uv("\\show",(t=>{var e=t.popToken(),n=e.text;return console.log(e,t.macros.get(n),Ix[n],fy.math[n],fy.text[n]),""})),Uv("\\bgroup","{"),Uv("\\egroup","}"),Uv("~","\\nobreakspace"),Uv("\\lq","`"),Uv("\\rq","'"),Uv("\\aa","\\r a"),Uv("\\AA","\\r A"),Uv("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}"),Uv("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),Uv("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),Uv("ℬ","\\mathscr{B}"),Uv("ℰ","\\mathscr{E}"),Uv("ℱ","\\mathscr{F}"),Uv("ℋ","\\mathscr{H}"),Uv("ℐ","\\mathscr{I}"),Uv("ℒ","\\mathscr{L}"),Uv("ℳ","\\mathscr{M}"),Uv("ℛ","\\mathscr{R}"),Uv("ℭ","\\mathfrak{C}"),Uv("ℌ","\\mathfrak{H}"),Uv("ℨ","\\mathfrak{Z}"),Uv("\\Bbbk","\\Bbb{k}"),Uv("·","\\cdotp"),Uv("\\llap","\\mathllap{\\textrm{#1}}"),Uv("\\rlap","\\mathrlap{\\textrm{#1}}"),Uv("\\clap","\\mathclap{\\textrm{#1}}"),Uv("\\mathstrut","\\vphantom{(}"),Uv("\\underbar","\\underline{\\text{#1}}"),Uv("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'),Uv("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),Uv("\\ne","\\neq"),Uv("≠","\\neq"),Uv("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),Uv("∉","\\notin"),Uv("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}"),Uv("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}"),Uv("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}"),Uv("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}"),Uv("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}"),Uv("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}"),Uv("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}"),Uv("⟂","\\perp"),Uv("‼","\\mathclose{!\\mkern-0.8mu!}"),Uv("∌","\\notni"),Uv("⌜","\\ulcorner"),Uv("⌝","\\urcorner"),Uv("⌞","\\llcorner"),Uv("⌟","\\lrcorner"),Uv("©","\\copyright"),Uv("®","\\textregistered"),Uv("️","\\textregistered"),Uv("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),Uv("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),Uv("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),Uv("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),Uv("\\vdots","\\mathord{\\varvdots\\rule{0pt}{15pt}}"),Uv("⋮","\\vdots"),Uv("\\varGamma","\\mathit{\\Gamma}"),Uv("\\varDelta","\\mathit{\\Delta}"),Uv("\\varTheta","\\mathit{\\Theta}"),Uv("\\varLambda","\\mathit{\\Lambda}"),Uv("\\varXi","\\mathit{\\Xi}"),Uv("\\varPi","\\mathit{\\Pi}"),Uv("\\varSigma","\\mathit{\\Sigma}"),Uv("\\varUpsilon","\\mathit{\\Upsilon}"),Uv("\\varPhi","\\mathit{\\Phi}"),Uv("\\varPsi","\\mathit{\\Psi}"),Uv("\\varOmega","\\mathit{\\Omega}"),Uv("\\substack","\\begin{subarray}{c}#1\\end{subarray}"),Uv("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax"),Uv("\\boxed","\\fbox{$\\displaystyle{#1}$}"),Uv("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;"),Uv("\\implies","\\DOTSB\\;\\Longrightarrow\\;"),Uv("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");var qx={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};Uv("\\dots",(function(t){var e="\\dotso",n=t.expandAfterFuture().text;return n in qx?e=qx[n]:("\\not"===n.slice(0,4)||n in fy.math&&dm(["bin","rel"],fy.math[n].group))&&(e="\\dotsb"),e}));var Hx={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};Uv("\\dotso",(function(t){return t.future().text in Hx?"\\ldots\\,":"\\ldots"})),Uv("\\dotsc",(function(t){var e=t.future().text;return e in Hx&&","!==e?"\\ldots\\,":"\\ldots"})),Uv("\\cdots",(function(t){return t.future().text in Hx?"\\@cdots\\,":"\\@cdots"})),Uv("\\dotsb","\\cdots"),Uv("\\dotsm","\\cdots"),Uv("\\dotsi","\\!\\cdots"),Uv("\\dotsx","\\ldots\\,"),Uv("\\DOTSI","\\relax"),Uv("\\DOTSB","\\relax"),Uv("\\DOTSX","\\relax"),Uv("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),Uv("\\,","\\tmspace+{3mu}{.1667em}"),Uv("\\thinspace","\\,"),Uv("\\>","\\mskip{4mu}"),Uv("\\:","\\tmspace+{4mu}{.2222em}"),Uv("\\medspace","\\:"),Uv("\\;","\\tmspace+{5mu}{.2777em}"),Uv("\\thickspace","\\;"),Uv("\\!","\\tmspace-{3mu}{.1667em}"),Uv("\\negthinspace","\\!"),Uv("\\negmedspace","\\tmspace-{4mu}{.2222em}"),Uv("\\negthickspace","\\tmspace-{5mu}{.277em}"),Uv("\\enspace","\\kern.5em "),Uv("\\enskip","\\hskip.5em\\relax"),Uv("\\quad","\\hskip1em\\relax"),Uv("\\qquad","\\hskip2em\\relax"),Uv("\\tag","\\@ifstar\\tag@literal\\tag@paren"),Uv("\\tag@paren","\\tag@literal{({#1})}"),Uv("\\tag@literal",(t=>{if(t.macros.get("\\df@tag"))throw new cm("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"})),Uv("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),Uv("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),Uv("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),Uv("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),Uv("\\newline","\\\\\\relax"),Uv("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var Ux=Xm(Rm["Main-Regular"]["T".charCodeAt(0)][1]-.7*Rm["Main-Regular"]["A".charCodeAt(0)][1]);Uv("\\LaTeX","\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+Ux+"}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}"),Uv("\\KaTeX","\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+Ux+"}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}"),Uv("\\hspace","\\@ifstar\\@hspacer\\@hspace"),Uv("\\@hspace","\\hskip #1\\relax"),Uv("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),Uv("\\ordinarycolon",":"),Uv("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),Uv("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),Uv("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),Uv("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),Uv("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),Uv("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),Uv("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),Uv("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),Uv("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),Uv("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),Uv("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),Uv("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),Uv("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),Uv("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),Uv("∷","\\dblcolon"),Uv("∹","\\eqcolon"),Uv("≔","\\coloneqq"),Uv("≕","\\eqqcolon"),Uv("⩴","\\Coloneqq"),Uv("\\ratio","\\vcentcolon"),Uv("\\coloncolon","\\dblcolon"),Uv("\\colonequals","\\coloneqq"),Uv("\\coloncolonequals","\\Coloneqq"),Uv("\\equalscolon","\\eqqcolon"),Uv("\\equalscoloncolon","\\Eqqcolon"),Uv("\\colonminus","\\coloneq"),Uv("\\coloncolonminus","\\Coloneq"),Uv("\\minuscolon","\\eqcolon"),Uv("\\minuscoloncolon","\\Eqcolon"),Uv("\\coloncolonapprox","\\Colonapprox"),Uv("\\coloncolonsim","\\Colonsim"),Uv("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Uv("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Uv("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Uv("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Uv("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),Uv("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),Uv("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),Uv("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),Uv("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),Uv("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),Uv("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),Uv("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),Uv("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),Uv("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}"),Uv("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}"),Uv("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}"),Uv("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}"),Uv("\\nleqq","\\html@mathml{\\@nleqq}{≰}"),Uv("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}"),Uv("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}"),Uv("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}"),Uv("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}"),Uv("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}"),Uv("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}"),Uv("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}"),Uv("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}"),Uv("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}"),Uv("\\imath","\\html@mathml{\\@imath}{ı}"),Uv("\\jmath","\\html@mathml{\\@jmath}{ȷ}"),Uv("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),Uv("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),Uv("⟦","\\llbracket"),Uv("⟧","\\rrbracket"),Uv("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),Uv("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),Uv("⦃","\\lBrace"),Uv("⦄","\\rBrace"),Uv("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),Uv("⦵","\\minuso"),Uv("\\darr","\\downarrow"),Uv("\\dArr","\\Downarrow"),Uv("\\Darr","\\Downarrow"),Uv("\\lang","\\langle"),Uv("\\rang","\\rangle"),Uv("\\uarr","\\uparrow"),Uv("\\uArr","\\Uparrow"),Uv("\\Uarr","\\Uparrow"),Uv("\\N","\\mathbb{N}"),Uv("\\R","\\mathbb{R}"),Uv("\\Z","\\mathbb{Z}"),Uv("\\alef","\\aleph"),Uv("\\alefsym","\\aleph"),Uv("\\Alpha","\\mathrm{A}"),Uv("\\Beta","\\mathrm{B}"),Uv("\\bull","\\bullet"),Uv("\\Chi","\\mathrm{X}"),Uv("\\clubs","\\clubsuit"),Uv("\\cnums","\\mathbb{C}"),Uv("\\Complex","\\mathbb{C}"),Uv("\\Dagger","\\ddagger"),Uv("\\diamonds","\\diamondsuit"),Uv("\\empty","\\emptyset"),Uv("\\Epsilon","\\mathrm{E}"),Uv("\\Eta","\\mathrm{H}"),Uv("\\exist","\\exists"),Uv("\\harr","\\leftrightarrow"),Uv("\\hArr","\\Leftrightarrow"),Uv("\\Harr","\\Leftrightarrow"),Uv("\\hearts","\\heartsuit"),Uv("\\image","\\Im"),Uv("\\infin","\\infty"),Uv("\\Iota","\\mathrm{I}"),Uv("\\isin","\\in"),Uv("\\Kappa","\\mathrm{K}"),Uv("\\larr","\\leftarrow"),Uv("\\lArr","\\Leftarrow"),Uv("\\Larr","\\Leftarrow"),Uv("\\lrarr","\\leftrightarrow"),Uv("\\lrArr","\\Leftrightarrow"),Uv("\\Lrarr","\\Leftrightarrow"),Uv("\\Mu","\\mathrm{M}"),Uv("\\natnums","\\mathbb{N}"),Uv("\\Nu","\\mathrm{N}"),Uv("\\Omicron","\\mathrm{O}"),Uv("\\plusmn","\\pm"),Uv("\\rarr","\\rightarrow"),Uv("\\rArr","\\Rightarrow"),Uv("\\Rarr","\\Rightarrow"),Uv("\\real","\\Re"),Uv("\\reals","\\mathbb{R}"),Uv("\\Reals","\\mathbb{R}"),Uv("\\Rho","\\mathrm{P}"),Uv("\\sdot","\\cdot"),Uv("\\sect","\\S"),Uv("\\spades","\\spadesuit"),Uv("\\sub","\\subset"),Uv("\\sube","\\subseteq"),Uv("\\supe","\\supseteq"),Uv("\\Tau","\\mathrm{T}"),Uv("\\thetasym","\\vartheta"),Uv("\\weierp","\\wp"),Uv("\\Zeta","\\mathrm{Z}"),Uv("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),Uv("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),Uv("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),Uv("\\bra","\\mathinner{\\langle{#1}|}"),Uv("\\ket","\\mathinner{|{#1}\\rangle}"),Uv("\\braket","\\mathinner{\\langle{#1}\\rangle}"),Uv("\\Bra","\\left\\langle#1\\right|"),Uv("\\Ket","\\left|#1\\right\\rangle");var Gx=t=>e=>{var n=e.consumeArg().tokens,i=e.consumeArg().tokens,r=e.consumeArg().tokens,a=e.consumeArg().tokens,o=e.macros.get("|"),s=e.macros.get("\\|");e.macros.beginGroup();var c=e=>n=>{t&&(n.macros.set("|",o),r.length&&n.macros.set("\\|",s));var a=e;return!e&&r.length&&"|"===n.future().text&&(n.popToken(),a=!0),{tokens:a?r:i,numArgs:0}};e.macros.set("|",c(!1)),r.length&&e.macros.set("\\|",c(!0));var l=e.consumeArg().tokens,u=e.expandTokens([...a,...l,...n]);return e.macros.endGroup(),{tokens:u.reverse(),numArgs:0}};Uv("\\bra@ket",Gx(!1)),Uv("\\bra@set",Gx(!0)),Uv("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),Uv("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),Uv("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),Uv("\\angln","{\\angl n}"),Uv("\\blue","\\textcolor{##6495ed}{#1}"),Uv("\\orange","\\textcolor{##ffa500}{#1}"),Uv("\\pink","\\textcolor{##ff00af}{#1}"),Uv("\\red","\\textcolor{##df0030}{#1}"),Uv("\\green","\\textcolor{##28ae7b}{#1}"),Uv("\\gray","\\textcolor{gray}{#1}"),Uv("\\purple","\\textcolor{##9d38bd}{#1}"),Uv("\\blueA","\\textcolor{##ccfaff}{#1}"),Uv("\\blueB","\\textcolor{##80f6ff}{#1}"),Uv("\\blueC","\\textcolor{##63d9ea}{#1}"),Uv("\\blueD","\\textcolor{##11accd}{#1}"),Uv("\\blueE","\\textcolor{##0c7f99}{#1}"),Uv("\\tealA","\\textcolor{##94fff5}{#1}"),Uv("\\tealB","\\textcolor{##26edd5}{#1}"),Uv("\\tealC","\\textcolor{##01d1c1}{#1}"),Uv("\\tealD","\\textcolor{##01a995}{#1}"),Uv("\\tealE","\\textcolor{##208170}{#1}"),Uv("\\greenA","\\textcolor{##b6ffb0}{#1}"),Uv("\\greenB","\\textcolor{##8af281}{#1}"),Uv("\\greenC","\\textcolor{##74cf70}{#1}"),Uv("\\greenD","\\textcolor{##1fab54}{#1}"),Uv("\\greenE","\\textcolor{##0d923f}{#1}"),Uv("\\goldA","\\textcolor{##ffd0a9}{#1}"),Uv("\\goldB","\\textcolor{##ffbb71}{#1}"),Uv("\\goldC","\\textcolor{##ff9c39}{#1}"),Uv("\\goldD","\\textcolor{##e07d10}{#1}"),Uv("\\goldE","\\textcolor{##a75a05}{#1}"),Uv("\\redA","\\textcolor{##fca9a9}{#1}"),Uv("\\redB","\\textcolor{##ff8482}{#1}"),Uv("\\redC","\\textcolor{##f9685d}{#1}"),Uv("\\redD","\\textcolor{##e84d39}{#1}"),Uv("\\redE","\\textcolor{##bc2612}{#1}"),Uv("\\maroonA","\\textcolor{##ffbde0}{#1}"),Uv("\\maroonB","\\textcolor{##ff92c6}{#1}"),Uv("\\maroonC","\\textcolor{##ed5fa6}{#1}"),Uv("\\maroonD","\\textcolor{##ca337c}{#1}"),Uv("\\maroonE","\\textcolor{##9e034e}{#1}"),Uv("\\purpleA","\\textcolor{##ddd7ff}{#1}"),Uv("\\purpleB","\\textcolor{##c6b9fc}{#1}"),Uv("\\purpleC","\\textcolor{##aa87ff}{#1}"),Uv("\\purpleD","\\textcolor{##7854ab}{#1}"),Uv("\\purpleE","\\textcolor{##543b78}{#1}"),Uv("\\mintA","\\textcolor{##f5f9e8}{#1}"),Uv("\\mintB","\\textcolor{##edf2df}{#1}"),Uv("\\mintC","\\textcolor{##e0e5cc}{#1}"),Uv("\\grayA","\\textcolor{##f6f7f7}{#1}"),Uv("\\grayB","\\textcolor{##f0f1f2}{#1}"),Uv("\\grayC","\\textcolor{##e3e5e6}{#1}"),Uv("\\grayD","\\textcolor{##d6d8da}{#1}"),Uv("\\grayE","\\textcolor{##babec2}{#1}"),Uv("\\grayF","\\textcolor{##888d93}{#1}"),Uv("\\grayG","\\textcolor{##626569}{#1}"),Uv("\\grayH","\\textcolor{##3b3e40}{#1}"),Uv("\\grayI","\\textcolor{##21242c}{#1}"),Uv("\\kaBlue","\\textcolor{##314453}{#1}"),Uv("\\kaGreen","\\textcolor{##71B307}{#1}");var Kx={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class Yx{constructor(t,e,n){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=e,this.expansionCount=0,this.feed(t),this.macros=new Fx($x,e.macros),this.mode=n,this.stack=[]}feed(t){this.lexer=new Rx(t,this.settings)}switchMode(t){this.mode=t}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(t){this.stack.push(t)}pushTokens(t){this.stack.push(...t)}scanArgument(t){var e,n,i;if(t){if(this.consumeSpaces(),"["!==this.future().text)return null;e=this.popToken(),({tokens:i,end:n}=this.consumeArg(["]"]))}else({tokens:i,start:e,end:n}=this.consumeArg());return this.pushToken(new sm("EOF",n.loc)),this.pushTokens(i),e.range(n,"")}consumeSpaces(){for(;" "===this.future().text;)this.stack.pop()}consumeArg(t){var e=[],n=t&&t.length>0;n||this.consumeSpaces();var i,r=this.future(),a=0,o=0;do{if(i=this.popToken(),e.push(i),"{"===i.text)++a;else if("}"===i.text){if(-1==--a)throw new cm("Extra }",i)}else if("EOF"===i.text)throw new cm("Unexpected end of input in a macro argument, expected '"+(t&&n?t[o]:"}")+"'",i);if(t&&n)if((0===a||1===a&&"{"===t[o])&&i.text===t[o]){if(++o===t.length){e.splice(-o,o);break}}else o=0}while(0!==a||n);return"{"===r.text&&"}"===e[e.length-1].text&&(e.pop(),e.shift()),e.reverse(),{tokens:e,start:r,end:i}}consumeArgs(t,e){if(e){if(e.length!==t+1)throw new cm("The length of delimiters doesn't match the number of args!");for(var n=e[0],i=0;ithis.settings.maxExpand)throw new cm("Too many expansions: infinite loop or need to increase maxExpand setting");var r=i.tokens,a=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs)for(var o=(r=r.slice()).length-1;o>=0;--o){var s=r[o];if("#"===s.text){if(0===o)throw new cm("Incomplete placeholder at end of macro body",s);if("#"===(s=r[--o]).text)r.splice(o+1,1);else{if(!/^[1-9]$/.test(s.text))throw new cm("Not a valid argument number",s);r.splice(o,2,...a[+s.text-1])}}}return this.pushTokens(r),r.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(!1===this.expandOnce()){var t=this.stack.pop();return t.treatAsRelax&&(t.text="\\relax"),t}throw new Error}expandMacro(t){return this.macros.has(t)?this.expandTokens([new sm(t)]):void 0}expandTokens(t){var e=[],n=this.stack.length;for(this.pushTokens(t);this.stack.length>n;)if(!1===this.expandOnce(!0)){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),e.push(i)}return e}expandMacroAsText(t){var e=this.expandMacro(t);return e&&e.map((t=>t.text)).join("")}_getExpansion(t){var e=this.macros.get(t);if(null==e)return e;if(1===t.length){var n=this.lexer.catcodes[t];if(null!=n&&13!==n)return}var i="function"==typeof e?e(this):e;if("string"==typeof i){var r=0;if(-1!==i.indexOf("#"))for(var a=i.replace(/##/g,"");-1!==a.indexOf("#"+(r+1));)++r;for(var o=new Rx(i,this.settings),s=[],c=o.lex();"EOF"!==c.text;)s.push(c),c=o.lex();return s.reverse(),{tokens:s,numArgs:r}}return i}isDefined(t){return this.macros.has(t)||Ix.hasOwnProperty(t)||fy.math.hasOwnProperty(t)||fy.text.hasOwnProperty(t)||Kx.hasOwnProperty(t)}isExpandable(t){var e=this.macros.get(t);return null!=e?"string"==typeof e||"function"==typeof e||!e.unexpandable:Ix.hasOwnProperty(t)&&!Ix[t].primitive}}var Vx=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,Wx=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9",ₐ:"a",ₑ:"e",ₕ:"h",ᵢ:"i",ⱼ:"j",ₖ:"k",ₗ:"l",ₘ:"m",ₙ:"n",ₒ:"o",ₚ:"p",ᵣ:"r",ₛ:"s",ₜ:"t",ᵤ:"u",ᵥ:"v",ₓ:"x",ᵦ:"β",ᵧ:"γ",ᵨ:"ρ",ᵩ:"ϕ",ᵪ:"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9",ᴬ:"A",ᴮ:"B",ᴰ:"D",ᴱ:"E",ᴳ:"G",ᴴ:"H",ᴵ:"I",ᴶ:"J",ᴷ:"K",ᴸ:"L",ᴹ:"M",ᴺ:"N",ᴼ:"O",ᴾ:"P",ᴿ:"R",ᵀ:"T",ᵁ:"U",ⱽ:"V",ᵂ:"W",ᵃ:"a",ᵇ:"b",ᶜ:"c",ᵈ:"d",ᵉ:"e",ᶠ:"f",ᵍ:"g",ʰ:"h",ⁱ:"i",ʲ:"j",ᵏ:"k",ˡ:"l",ᵐ:"m",ⁿ:"n",ᵒ:"o",ᵖ:"p",ʳ:"r",ˢ:"s",ᵗ:"t",ᵘ:"u",ᵛ:"v",ʷ:"w",ˣ:"x",ʸ:"y",ᶻ:"z",ᵝ:"β",ᵞ:"γ",ᵟ:"δ",ᵠ:"ϕ",ᵡ:"χ",ᶿ:"θ"}),Xx={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},Qx={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class Zx{constructor(t,e){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new Yx(t,e,this.mode),this.settings=e,this.leftrightDepth=0}expect(t,e){if(void 0===e&&(e=!0),this.fetch().text!==t)throw new cm("Expected '"+t+"', got '"+this.fetch().text+"'",this.fetch());e&&this.consume()}consume(){this.nextToken=null}fetch(){return null==this.nextToken&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(t){this.mode=t,this.gullet.switchMode(t)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var t=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),t}finally{this.gullet.endGroups()}}subparse(t){var e=this.nextToken;this.consume(),this.gullet.pushToken(new sm("}")),this.gullet.pushTokens(t);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=e,n}parseExpression(t,e){for(var n=[];;){"math"===this.mode&&this.consumeSpaces();var i=this.fetch();if(-1!==Zx.endOfExpression.indexOf(i.text)||e&&i.text===e||t&&Ix[i.text]&&Ix[i.text].infix)break;var r=this.parseAtom(e);if(!r)break;"internal"!==r.type&&n.push(r)}return"text"===this.mode&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(t){for(var e,n=-1,i=0;i=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+e[0]+'" used in math mode',t);var o,s=fy[this.mode][e].group,c=om.range(t);if(uy.hasOwnProperty(s)){var l=s;o={type:"atom",mode:this.mode,family:l,loc:c,text:e}}else o={type:s,mode:this.mode,loc:c,text:e};r=o}else{if(!(e.charCodeAt(0)>=128))return null;this.settings.strict&&(Dm(e.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+e[0]+'" used in math mode',t):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+e[0]+'" ('+e.charCodeAt(0)+")",t)),r={type:"textord",mode:"text",loc:om.range(t),text:e}}if(this.consume(),a)for(var u=0;u"u"&&(u.yylloc={});var d=u.yylloc;r.push(d);var g,p=u.options&&u.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,m,y,w,v,x,k,_,T={};;){if(m=e[e.length-1],this.defaultActions[m]?y=this.defaultActions[m]:((null===b||typeof b>"u")&&(g=void 0,"number"!=typeof(g=n.pop()||u.lex()||1)&&(g instanceof Array&&(g=(n=g).pop()),g=this.symbols_[g]||g),b=g),y=a[m]&&a[m][b]),typeof y>"u"||!y.length||!y[0]){var E;for(v in _=[],a[m])this.terminals_[v]&&v>2&&_.push("'"+this.terminals_[v]+"'");E=u.showPosition?"Parse error on line "+(s+1)+":\n"+u.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(E,{text:u.match,token:this.terminals_[b]||b,line:u.yylineno,loc:d,expected:_})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+b);switch(y[0]){case 1:e.push(b),i.push(u.yytext),r.push(u.yylloc),e.push(y[1]),b=null,c=u.yyleng,o=u.yytext,s=u.yylineno,d=u.yylloc;break;case 2:if(x=this.productions_[y[1]][1],T.$=i[i.length-x],T._$={first_line:r[r.length-(x||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(x||1)].first_column,last_column:r[r.length-1].last_column},p&&(T._$.range=[r[r.length-(x||1)].range[0],r[r.length-1].range[1]]),typeof(w=this.performAction.apply(T,[o,c,s,h.yy,y[1],i,r].concat(l)))<"u")return w;x&&(e=e.slice(0,-1*x*2),i=i.slice(0,-1*x),r=r.slice(0,-1*x)),e.push(this.productions_[y[1]][0]),i.push(T.$),r.push(T._$),k=a[e[e.length-2]][e[e.length-1]],e.push(k);break;case 3:return!0}}return!0}},rt={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,n,i){switch(n){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 73:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 16:case 70:break;case 14:c;break;case 15:return 12;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:case 53:return this.begin("rel_u"),66;case 54:case 55:return this.begin("rel_d"),67;case 56:case 57:return this.begin("rel_l"),68;case 58:case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:case 79:this.popState(),this.popState();break;case 69:case 71:return 80;case 72:this.begin("string");break;case 74:case 80:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};function at(){this.yy={}}return it.lexer=rt,at.prototype=it,it.Parser=at,new at}();ak.parser=ak;const ok=ak;let sk=[],ck=[""],lk="global",uk="",hk=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],fk=[],dk="",gk=!1,pk=4,bk=2;var mk;const yk=function(t){return null==t?sk:sk.filter((e=>e.parentBoundary===t))},wk=function(t){return null==t?hk:hk.filter((e=>e.parentBoundary===t))},vk=function(){return gk},xk={addPersonOrSystem:function(t,e,n,i,r,a,o){if(null===e||null===n)return;let s={};const c=sk.find((t=>t.alias===e));if(c&&e===c.alias?s=c:(s.alias=e,sk.push(s)),s.label=null==n?{text:""}:{text:n},null==i)s.descr={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];s[t]={text:e}}else s.descr={text:i};if("object"==typeof r){let[t,e]=Object.entries(r)[0];s[t]=e}else s.sprite=r;if("object"==typeof a){let[t,e]=Object.entries(a)[0];s[t]=e}else s.tags=a;if("object"==typeof o){let[t,e]=Object.entries(o)[0];s[t]=e}else s.link=o;s.typeC4Shape={text:t},s.parentBoundary=lk,s.wrap=vk()},addPersonOrSystemBoundary:function(t,e,n,i,r){if(null===t||null===e)return;let a={};const o=hk.find((e=>e.alias===t));if(o&&t===o.alias?a=o:(a.alias=t,hk.push(a)),a.label=null==e?{text:""}:{text:e},null==n)a.type={text:"system"};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];a[t]={text:e}}else a.type={text:n};if("object"==typeof i){let[t,e]=Object.entries(i)[0];a[t]=e}else a.tags=i;if("object"==typeof r){let[t,e]=Object.entries(r)[0];a[t]=e}else a.link=r;a.parentBoundary=lk,a.wrap=vk(),uk=lk,lk=t,ck.push(uk)},addContainer:function(t,e,n,i,r,a,o,s){if(null===e||null===n)return;let c={};const l=sk.find((t=>t.alias===e));if(l&&e===l.alias?c=l:(c.alias=e,sk.push(c)),c.label=null==n?{text:""}:{text:n},null==i)c.techn={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];c[t]={text:e}}else c.techn={text:i};if(null==r)c.descr={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];c[t]={text:e}}else c.descr={text:r};if("object"==typeof a){let[t,e]=Object.entries(a)[0];c[t]=e}else c.sprite=a;if("object"==typeof o){let[t,e]=Object.entries(o)[0];c[t]=e}else c.tags=o;if("object"==typeof s){let[t,e]=Object.entries(s)[0];c[t]=e}else c.link=s;c.wrap=vk(),c.typeC4Shape={text:t},c.parentBoundary=lk},addContainerBoundary:function(t,e,n,i,r){if(null===t||null===e)return;let a={};const o=hk.find((e=>e.alias===t));if(o&&t===o.alias?a=o:(a.alias=t,hk.push(a)),a.label=null==e?{text:""}:{text:e},null==n)a.type={text:"container"};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];a[t]={text:e}}else a.type={text:n};if("object"==typeof i){let[t,e]=Object.entries(i)[0];a[t]=e}else a.tags=i;if("object"==typeof r){let[t,e]=Object.entries(r)[0];a[t]=e}else a.link=r;a.parentBoundary=lk,a.wrap=vk(),uk=lk,lk=t,ck.push(uk)},addComponent:function(t,e,n,i,r,a,o,s){if(null===e||null===n)return;let c={};const l=sk.find((t=>t.alias===e));if(l&&e===l.alias?c=l:(c.alias=e,sk.push(c)),c.label=null==n?{text:""}:{text:n},null==i)c.techn={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];c[t]={text:e}}else c.techn={text:i};if(null==r)c.descr={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];c[t]={text:e}}else c.descr={text:r};if("object"==typeof a){let[t,e]=Object.entries(a)[0];c[t]=e}else c.sprite=a;if("object"==typeof o){let[t,e]=Object.entries(o)[0];c[t]=e}else c.tags=o;if("object"==typeof s){let[t,e]=Object.entries(s)[0];c[t]=e}else c.link=s;c.wrap=vk(),c.typeC4Shape={text:t},c.parentBoundary=lk},addDeploymentNode:function(t,e,n,i,r,a,o,s){if(null===e||null===n)return;let c={};const l=hk.find((t=>t.alias===e));if(l&&e===l.alias?c=l:(c.alias=e,hk.push(c)),c.label=null==n?{text:""}:{text:n},null==i)c.type={text:"node"};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];c[t]={text:e}}else c.type={text:i};if(null==r)c.descr={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];c[t]={text:e}}else c.descr={text:r};if("object"==typeof o){let[t,e]=Object.entries(o)[0];c[t]=e}else c.tags=o;if("object"==typeof s){let[t,e]=Object.entries(s)[0];c[t]=e}else c.link=s;c.nodeType=t,c.parentBoundary=lk,c.wrap=vk(),uk=lk,lk=e,ck.push(uk)},popBoundaryParseStack:function(){lk=uk,ck.pop(),uk=ck.pop(),ck.push(uk)},addRel:function(t,e,n,i,r,a,o,s,c){if(null==t||null==e||null==n||null==i)return;let l={};const u=fk.find((t=>t.from===e&&t.to===n));if(u?l=u:fk.push(l),l.type=t,l.from=e,l.to=n,l.label={text:i},null==r)l.techn={text:""};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];l[t]={text:e}}else l.techn={text:r};if(null==a)l.descr={text:""};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];l[t]={text:e}}else l.descr={text:a};if("object"==typeof o){let[t,e]=Object.entries(o)[0];l[t]=e}else l.sprite=o;if("object"==typeof s){let[t,e]=Object.entries(s)[0];l[t]=e}else l.tags=s;if("object"==typeof c){let[t,e]=Object.entries(c)[0];l[t]=e}else l.link=c;l.wrap=vk()},updateElStyle:function(t,e,n,i,r,a,o,s,c,l,u){let h=sk.find((t=>t.alias===e));if(void 0!==h||(h=hk.find((t=>t.alias===e)),void 0!==h)){if(null!=n)if("object"==typeof n){let[t,e]=Object.entries(n)[0];h[t]=e}else h.bgColor=n;if(null!=i)if("object"==typeof i){let[t,e]=Object.entries(i)[0];h[t]=e}else h.fontColor=i;if(null!=r)if("object"==typeof r){let[t,e]=Object.entries(r)[0];h[t]=e}else h.borderColor=r;if(null!=a)if("object"==typeof a){let[t,e]=Object.entries(a)[0];h[t]=e}else h.shadowing=a;if(null!=o)if("object"==typeof o){let[t,e]=Object.entries(o)[0];h[t]=e}else h.shape=o;if(null!=s)if("object"==typeof s){let[t,e]=Object.entries(s)[0];h[t]=e}else h.sprite=s;if(null!=c)if("object"==typeof c){let[t,e]=Object.entries(c)[0];h[t]=e}else h.techn=c;if(null!=l)if("object"==typeof l){let[t,e]=Object.entries(l)[0];h[t]=e}else h.legendText=l;if(null!=u)if("object"==typeof u){let[t,e]=Object.entries(u)[0];h[t]=e}else h.legendSprite=u}},updateRelStyle:function(t,e,n,i,r,a,o){const s=fk.find((t=>t.from===e&&t.to===n));if(void 0!==s){if(null!=i)if("object"==typeof i){let[t,e]=Object.entries(i)[0];s[t]=e}else s.textColor=i;if(null!=r)if("object"==typeof r){let[t,e]=Object.entries(r)[0];s[t]=e}else s.lineColor=r;if(null!=a)if("object"==typeof a){let[t,e]=Object.entries(a)[0];s[t]=parseInt(e)}else s.offsetX=parseInt(a);if(null!=o)if("object"==typeof o){let[t,e]=Object.entries(o)[0];s[t]=parseInt(e)}else s.offsetY=parseInt(o)}},updateLayoutConfig:function(t,e,n){let i=pk,r=bk;if("object"==typeof e){const t=Object.values(e)[0];i=parseInt(t)}else i=parseInt(e);if("object"==typeof n){const t=Object.values(n)[0];r=parseInt(t)}else r=parseInt(n);i>=1&&(pk=i),r>=1&&(bk=r)},autoWrap:vk,setWrap:function(t){gk=t},getC4ShapeArray:yk,getC4Shape:function(t){return sk.find((e=>e.alias===t))},getC4ShapeKeys:function(t){return Object.keys(yk(t))},getBoundaries:wk,getBoundarys:wk,getCurrentBoundaryParse:function(){return lk},getParentBoundaryParse:function(){return uk},getRels:function(){return fk},getTitle:function(){return dk},getC4Type:function(){return mk},getC4ShapeInRow:function(){return pk},getC4BoundaryInRow:function(){return bk},setAccTitle:Zd,getAccTitle:Jd,getAccDescription:eg,setAccDescription:tg,getConfig:()=>sg().c4,clear:function(){sk=[],hk=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],uk="",lk="global",ck=[""],fk=[],ck=[""],dk="",gk=!1,pk=4,bk=2},LINETYPE:{SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:function(t){dk=_c(t,sg())},setC4Type:function(t){mk=_c(t,sg())}},kk=(t,e)=>{const n=t.append("rect");if(n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),e.name&&n.attr("name",e.name),void 0!==e.rx&&n.attr("rx",e.rx),void 0!==e.ry&&n.attr("ry",e.ry),void 0!==e.attrs)for(const t in e.attrs)n.attr(t,e.attrs[t]);return void 0!==e.class&&n.attr("class",e.class),n},_k=function(t,e){return kk(t,e)},Tk=function(){function t(t,e,n,r,a,o,s){i(e.append("text").attr("x",n+a/2).attr("y",r+o/2+5).style("text-anchor","middle").text(t),s)}function e(t,e,n,r,a,o,s,c){const{fontSize:l,fontFamily:u,fontWeight:h}=c,f=t.split(Bc.lineBreakRegex);for(let t=0;t({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}))(n,e.typeC4Shape.text);switch(c.append("text").attr("fill",o).attr("font-family",u.fontFamily).attr("font-size",u.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":!function(t,e,n,i,r,a){const o=t.append("image");o.attr("width",e),o.attr("height",n),o.attr("x",i),o.attr("y",r);let s=a.startsWith("data:image/png;base64")?a:f.sanitizeUrl(a);o.attr("xlink:href",s)}(c,48,48,e.x+e.width/2-24,e.y+e.image.Y,s)}let h=n[e.typeC4Shape.text+"Font"]();return h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=o,Tk(n)(e.label.text,c,e.x,e.y+e.label.Y,e.width,e.height,{fill:o},h),h=n[e.typeC4Shape.text+"Font"](),h.fontColor=o,e.techn&&""!==(null==(i=e.techn)?void 0:i.text)?Tk(n)(e.techn.text,c,e.x,e.y+e.techn.Y,e.width,e.height,{fill:o,"font-style":"italic"},h):e.type&&""!==e.type.text&&Tk(n)(e.type.text,c,e.x,e.y+e.type.Y,e.width,e.height,{fill:o,"font-style":"italic"},h),e.descr&&""!==e.descr.text&&(h=n.personFont(),h.fontColor=o,Tk(n)(e.descr.text,c,e.x,e.y+e.descr.Y,e.width,e.height,{fill:o},h)),e.height};let Sk=0,Ck=0,Ak=4,Mk=2;ak.yy=xk;let Lk={};class Ik{constructor(t){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,Ok(t.db.getConfig())}setData(t,e,n,i){this.nextData.startx=this.data.startx=t,this.nextData.stopx=this.data.stopx=e,this.nextData.starty=this.data.starty=n,this.nextData.stopy=this.data.stopy=i}updateVal(t,e,n,i){void 0===t[e]?t[e]=n:t[e]=i(n,t[e])}insert(t){this.nextData.cnt=this.nextData.cnt+1;let e=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+t.margin:this.nextData.stopx+2*t.margin,n=e+t.width,i=this.nextData.starty+2*t.margin,r=i+t.height;(e>=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>Ak)&&(e=this.nextData.startx+t.margin+Lk.nextLinePaddingX,i=this.nextData.stopy+2*t.margin,this.nextData.stopx=n=e+t.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=r=i+t.height,this.nextData.cnt=1),t.x=e,t.y=i,this.updateVal(this.data,"startx",e,Math.min),this.updateVal(this.data,"starty",i,Math.min),this.updateVal(this.data,"stopx",n,Math.max),this.updateVal(this.data,"stopy",r,Math.max),this.updateVal(this.nextData,"startx",e,Math.min),this.updateVal(this.nextData,"starty",i,Math.min),this.updateVal(this.nextData,"stopx",n,Math.max),this.updateVal(this.nextData,"stopy",r,Math.max)}init(t){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},Ok(t.db.getConfig())}bumpLastMargin(t){this.data.stopx+=t,this.data.stopy+=t}}const Ok=function(t){Al(Lk,t),t.fontFamily&&(Lk.personFontFamily=Lk.systemFontFamily=Lk.messageFontFamily=t.fontFamily),t.fontSize&&(Lk.personFontSize=Lk.systemFontSize=Lk.messageFontSize=t.fontSize),t.fontWeight&&(Lk.personFontWeight=Lk.systemFontWeight=Lk.messageFontWeight=t.fontWeight)},Nk=(t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),Dk=t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),Pk=t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight});function Bk(t,e,n,i,r){if(!e[t].width)if(n)e[t].text=rf(e[t].text,r,i),e[t].textLines=e[t].text.split(Bc.lineBreakRegex).length,e[t].width=r,e[t].height=of(e[t].text,i);else{let n=e[t].text.split(Bc.lineBreakRegex);e[t].textLines=n.length;let r=0;e[t].height=0,e[t].width=0;for(const a of n)e[t].width=Math.max(sf(a,i),e[t].width),r=of(a,i),e[t].height=e[t].height+r}}const Rk=function(t,e,n){e.x=n.data.startx,e.y=n.data.starty,e.width=n.data.stopx-n.data.startx,e.height=n.data.stopy-n.data.starty,e.label.y=Lk.c4ShapeMargin-35;let i=e.wrap&&Lk.wrap,r=Dk(Lk);r.fontSize=r.fontSize+2,r.fontWeight="bold",Bk("label",e,i,r,sf(e.label.text,r)),function(t,e,n){const i=t.append("g");let r=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",o=e.fontColor?e.fontColor:"black",s={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(s={"stroke-width":1});let c={x:e.x,y:e.y,fill:r,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:s};_k(i,c);let l=n.boundaryFont();l.fontWeight="bold",l.fontSize=l.fontSize+2,l.fontColor=o,Tk(n)(e.label.text,i,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},l),e.type&&""!==e.type.text&&(l=n.boundaryFont(),l.fontColor=o,Tk(n)(e.type.text,i,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},l)),e.descr&&""!==e.descr.text&&(l=n.boundaryFont(),l.fontSize=l.fontSize-2,l.fontColor=o,Tk(n)(e.descr.text,i,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},l))}(t,e,Lk)},Fk=function(t,e,n,i){let r=0;for(const a of i){r=0;const i=n[a];let o=Nk(Lk,i.typeC4Shape.text);switch(o.fontSize=o.fontSize-2,i.typeC4Shape.width=sf("«"+i.typeC4Shape.text+"»",o),i.typeC4Shape.height=o.fontSize+2,i.typeC4Shape.Y=Lk.c4ShapePadding,r=i.typeC4Shape.Y+i.typeC4Shape.height-4,i.image={width:0,height:0,Y:0},i.typeC4Shape.text){case"person":case"external_person":i.image.width=48,i.image.height=48,i.image.Y=r,r=i.image.Y+i.image.height}i.sprite&&(i.image.width=48,i.image.height=48,i.image.Y=r,r=i.image.Y+i.image.height);let s=i.wrap&&Lk.wrap,c=Lk.width-2*Lk.c4ShapePadding,l=Nk(Lk,i.typeC4Shape.text);l.fontSize=l.fontSize+2,l.fontWeight="bold",Bk("label",i,s,l,c),i.label.Y=r+8,r=i.label.Y+i.label.height,i.type&&""!==i.type.text?(i.type.text="["+i.type.text+"]",Bk("type",i,s,Nk(Lk,i.typeC4Shape.text),c),i.type.Y=r+5,r=i.type.Y+i.type.height):i.techn&&""!==i.techn.text&&(i.techn.text="["+i.techn.text+"]",Bk("techn",i,s,Nk(Lk,i.techn.text),c),i.techn.Y=r+5,r=i.techn.Y+i.techn.height);let u=r,h=i.label.width;i.descr&&""!==i.descr.text&&(Bk("descr",i,s,Nk(Lk,i.typeC4Shape.text),c),i.descr.Y=r+20,r=i.descr.Y+i.descr.height,h=Math.max(i.label.width,i.descr.width),u=r-5*i.descr.textLines),h+=Lk.c4ShapePadding,i.width=Math.max(i.width||Lk.width,h,Lk.width),i.height=Math.max(i.height||Lk.height,u,Lk.height),i.margin=i.margin||Lk.c4ShapeMargin,t.insert(i),Ek(e,i,Lk)}t.bumpLastMargin(Lk.c4ShapeMargin)};let $k=class{constructor(t,e){this.x=t,this.y=e}},jk=function(t,e){let n=t.x,i=t.y,r=e.x,a=e.y,o=n+t.width/2,s=i+t.height/2,c=Math.abs(n-r),l=Math.abs(i-a),u=l/c,h=t.height/t.width,f=null;return i==a&&nr?f=new $k(n,s):n==r&&ia&&(f=new $k(o,i)),n>r&&i=u?new $k(n,s+u*t.width/2):new $k(o-c/l*t.height/2,i+t.height):n=u?new $k(n+t.width,s+u*t.width/2):new $k(o+c/l*t.height/2,i+t.height):na?f=h>=u?new $k(n+t.width,s-u*t.width/2):new $k(o+t.height/2*c/l,i):n>r&&i>a&&(f=h>=u?new $k(n,s-t.width/2*u):new $k(o-t.height/2*c/l,i)),f},zk=function(t,e){let n={x:0,y:0};n.x=e.x+e.width/2,n.y=e.y+e.height/2;let i=jk(t,n);return n.x=t.x+t.width/2,n.y=t.y+t.height/2,{startPoint:i,endPoint:jk(e,n)}};function qk(t,e,n,i,r){let a=new Ik(r);a.data.widthLimit=n.data.widthLimit/Math.min(Mk,i.length);for(let[o,s]of i.entries()){let i=0;s.image={width:0,height:0,Y:0},s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height);let c=s.wrap&&Lk.wrap,l=Dk(Lk);if(l.fontSize=l.fontSize+2,l.fontWeight="bold",Bk("label",s,c,l,a.data.widthLimit),s.label.Y=i+8,i=s.label.Y+s.label.height,s.type&&""!==s.type.text&&(s.type.text="["+s.type.text+"]",Bk("type",s,c,Dk(Lk),a.data.widthLimit),s.type.Y=i+5,i=s.type.Y+s.type.height),s.descr&&""!==s.descr.text){let t=Dk(Lk);t.fontSize=t.fontSize-2,Bk("descr",s,c,t,a.data.widthLimit),s.descr.Y=i+20,i=s.descr.Y+s.descr.height}if(0==o||o%Mk==0){let t=n.data.startx+Lk.diagramMarginX,e=n.data.stopy+Lk.diagramMarginY+i;a.setData(t,t,e,e)}else{let t=a.data.stopx!==a.data.startx?a.data.stopx+Lk.diagramMarginX:a.data.startx,e=a.data.starty;a.setData(t,t,e,e)}a.name=s.alias;let u=r.db.getC4ShapeArray(s.alias),h=r.db.getC4ShapeKeys(s.alias);h.length>0&&Fk(a,t,u,h),e=s.alias;let f=r.db.getBoundarys(e);f.length>0&&qk(t,e,a,f,r),"global"!==s.alias&&Rk(t,s,a),n.data.stopy=Math.max(a.data.stopy+Lk.c4ShapeMargin,n.data.stopy),n.data.stopx=Math.max(a.data.stopx+Lk.c4ShapeMargin,n.data.stopx),Sk=Math.max(Sk,n.data.stopx),Ck=Math.max(Ck,n.data.stopy)}}const Hk={drawPersonOrSystemArray:Fk,drawBoundary:Rk,setConf:Ok,draw:function(t,e,n,i){Lk=sg().c4;const r=sg().securityLevel;let a;"sandbox"===r&&(a=ee("#i"+e));const o=ee("sandbox"===r?a.nodes()[0].contentDocument.body:"body");let s=i.db;i.db.setWrap(Lk.wrap),Ak=s.getC4ShapeInRow(),Mk=s.getC4BoundaryInRow(),l.debug(`C:${JSON.stringify(Lk,null,2)}`);const c="sandbox"===r?o.select(`[id="${e}"]`):ee(`[id="${e}"]`);(function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")})(c),function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")}(c),function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")}(c);let u=new Ik(i);u.setData(Lk.diagramMarginX,Lk.diagramMarginX,Lk.diagramMarginY,Lk.diagramMarginY),u.data.widthLimit=screen.availWidth,Sk=Lk.diagramMarginX,Ck=Lk.diagramMarginY;const h=i.db.getTitle();qk(c,"",u,i.db.getBoundarys(""),i),function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")}(c),function(t){t.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")}(c),function(t){const e=t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);e.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),e.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")}(c),function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")}(c),function(t,e,n,i){let r=0;for(let t of e){r+=1;let e=t.wrap&&Lk.wrap,a=Pk(Lk);"C4Dynamic"===i.db.getC4Type()&&(t.label.text=r+": "+t.label.text);let o=sf(t.label.text,a);Bk("label",t,e,a,o),t.techn&&""!==t.techn.text&&(o=sf(t.techn.text,a),Bk("techn",t,e,a,o)),t.descr&&""!==t.descr.text&&(o=sf(t.descr.text,a),Bk("descr",t,e,a,o));let s=n(t.from),c=n(t.to),l=zk(s,c);t.startPoint=l.startPoint,t.endPoint=l.endPoint}((t,e,n)=>{const i=t.append("g");let r=0;for(let t of e){let e=t.textColor?t.textColor:"#444444",a=t.lineColor?t.lineColor:"#444444",o=t.offsetX?parseInt(t.offsetX):0,s=t.offsetY?parseInt(t.offsetY):0,c="";if(0===r){let e=i.append("line");e.attr("x1",t.startPoint.x),e.attr("y1",t.startPoint.y),e.attr("x2",t.endPoint.x),e.attr("y2",t.endPoint.y),e.attr("stroke-width","1"),e.attr("stroke",a),e.style("fill","none"),"rel_b"!==t.type&&e.attr("marker-end","url("+c+"#arrowhead)"),("birel"===t.type||"rel_b"===t.type)&&e.attr("marker-start","url("+c+"#arrowend)"),r=-1}else{let e=i.append("path");e.attr("fill","none").attr("stroke-width","1").attr("stroke",a).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",t.startPoint.x).replaceAll("starty",t.startPoint.y).replaceAll("controlx",t.startPoint.x+(t.endPoint.x-t.startPoint.x)/2-(t.endPoint.x-t.startPoint.x)/4).replaceAll("controly",t.startPoint.y+(t.endPoint.y-t.startPoint.y)/2).replaceAll("stopx",t.endPoint.x).replaceAll("stopy",t.endPoint.y)),"rel_b"!==t.type&&e.attr("marker-end","url("+c+"#arrowhead)"),("birel"===t.type||"rel_b"===t.type)&&e.attr("marker-start","url("+c+"#arrowend)")}let l=n.messageFont();Tk(n)(t.label.text,i,Math.min(t.startPoint.x,t.endPoint.x)+Math.abs(t.endPoint.x-t.startPoint.x)/2+o,Math.min(t.startPoint.y,t.endPoint.y)+Math.abs(t.endPoint.y-t.startPoint.y)/2+s,t.label.width,t.label.height,{fill:e},l),t.techn&&""!==t.techn.text&&(l=n.messageFont(),Tk(n)("["+t.techn.text+"]",i,Math.min(t.startPoint.x,t.endPoint.x)+Math.abs(t.endPoint.x-t.startPoint.x)/2+o,Math.min(t.startPoint.y,t.endPoint.y)+Math.abs(t.endPoint.y-t.startPoint.y)/2+n.messageFontSize+5+s,Math.max(t.label.width,t.techn.width),t.techn.height,{fill:e,"font-style":"italic"},l))}})(t,e,Lk)}(c,i.db.getRels(),i.db.getC4Shape,i),u.data.stopx=Sk,u.data.stopy=Ck;const f=u.data;let d=f.stopy-f.starty+2*Lk.diagramMarginY;const g=f.stopx-f.startx+2*Lk.diagramMarginX;h&&c.append("text").text(h).attr("x",(f.stopx-f.startx)/2-4*Lk.diagramMarginX).attr("y",f.starty+Lk.diagramMarginY),Ud(c,d,g,Lk.useMaxWidth);const p=h?60:0;c.attr("viewBox",f.startx-Lk.diagramMarginX+" -"+(Lk.diagramMarginY+p)+" "+g+" "+(d+p)),l.debug("models:",f)}},Uk=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:ok,db:xk,renderer:Hk,styles:t=>`.person {\n stroke: ${t.personBorder};\n fill: ${t.personBkg};\n }\n`,init:({c4:t,wrap:e})=>{Hk.setConf(t),xk.setWrap(e)}}},Symbol.toStringTag,{value:"Module"}));var Gk=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[1,4],n=[1,3],i=[1,5],r=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],a=[2,2],o=[1,13],s=[1,14],c=[1,15],l=[1,16],u=[1,23],h=[1,25],f=[1,26],d=[1,27],g=[1,49],p=[1,48],b=[1,29],m=[1,30],y=[1,31],w=[1,32],v=[1,33],x=[1,44],k=[1,46],_=[1,42],T=[1,47],E=[1,43],S=[1,50],C=[1,45],A=[1,51],M=[1,52],L=[1,34],I=[1,35],O=[1,36],N=[1,37],D=[1,57],P=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],B=[1,61],R=[1,60],F=[1,62],$=[8,9,11,73,75],j=[1,88],z=[1,93],q=[1,92],H=[1,89],U=[1,85],G=[1,91],K=[1,87],Y=[1,94],V=[1,90],W=[1,95],X=[1,86],Q=[8,9,10,11,73,75],Z=[8,9,10,11,44,73,75],J=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],tt=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],et=[42,58,86,99,102,103,106,108,111,112,113],nt=[1,121],it=[1,120],rt=[1,128],at=[1,142],ot=[1,143],st=[1,144],ct=[1,145],lt=[1,130],ut=[1,132],ht=[1,136],ft=[1,137],dt=[1,138],gt=[1,139],pt=[1,140],bt=[1,141],mt=[1,146],yt=[1,147],wt=[1,126],vt=[1,127],xt=[1,134],kt=[1,129],_t=[1,133],Tt=[1,131],Et=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],St=[1,149],Ct=[8,9,11],At=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],Mt=[1,169],Lt=[1,165],It=[1,166],Ot=[1,170],Nt=[1,167],Dt=[1,168],Pt=[75,113,116],Bt=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],Rt=[10,103],Ft=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],$t=[1,235],jt=[1,233],zt=[1,237],qt=[1,231],Ht=[1,232],Ut=[1,234],Gt=[1,236],Kt=[1,238],Yt=[1,255],Vt=[8,9,11,103],Wt=[8,9,10,11,58,81,102,103,106,107,108,109],Xt={trace:function(){},yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:function(t,e,n,i,r,a,o){var s=a.length-1;switch(r){case 2:case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 3:(!Array.isArray(a[s])||a[s].length>0)&&a[s-1].push(a[s]),this.$=a[s-1];break;case 4:case 176:case 49:case 71:case 174:this.$=a[s];break;case 11:i.setDirection("TB"),this.$="TB";break;case 12:i.setDirection(a[s-1]),this.$=a[s-1];break;case 27:this.$=a[s-1].nodes;break;case 33:this.$=i.addSubGraph(a[s-6],a[s-1],a[s-4]);break;case 34:this.$=i.addSubGraph(a[s-3],a[s-1],a[s-3]);break;case 35:this.$=i.addSubGraph(void 0,a[s-1],void 0);break;case 37:this.$=a[s].trim(),i.setAccTitle(this.$);break;case 38:case 39:this.$=a[s].trim(),i.setAccDescription(this.$);break;case 43:i.addLink(a[s-2].stmt,a[s],a[s-1]),this.$={stmt:a[s],nodes:a[s].concat(a[s-2].nodes)};break;case 44:i.addLink(a[s-3].stmt,a[s-1],a[s-2]),this.$={stmt:a[s-1],nodes:a[s-1].concat(a[s-3].nodes)};break;case 45:this.$={stmt:a[s-1],nodes:a[s-1]};break;case 46:this.$={stmt:a[s],nodes:a[s]};break;case 47:case 121:case 123:this.$=[a[s]];break;case 48:this.$=a[s-4].concat(a[s]);break;case 50:this.$=a[s-2],i.setClass(a[s-2],a[s]);break;case 51:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"square");break;case 52:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"doublecircle");break;case 53:this.$=a[s-5],i.addVertex(a[s-5],a[s-2],"circle");break;case 54:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"ellipse");break;case 55:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"stadium");break;case 56:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"subroutine");break;case 57:this.$=a[s-7],i.addVertex(a[s-7],a[s-1],"rect",void 0,void 0,void 0,Object.fromEntries([[a[s-5],a[s-3]]]));break;case 58:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"cylinder");break;case 59:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"round");break;case 60:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"diamond");break;case 61:this.$=a[s-5],i.addVertex(a[s-5],a[s-2],"hexagon");break;case 62:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"odd");break;case 63:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"trapezoid");break;case 64:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"inv_trapezoid");break;case 65:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"lean_right");break;case 66:this.$=a[s-3],i.addVertex(a[s-3],a[s-1],"lean_left");break;case 67:this.$=a[s],i.addVertex(a[s]);break;case 68:a[s-1].text=a[s],this.$=a[s-1];break;case 69:case 70:a[s-2].text=a[s-1],this.$=a[s-2];break;case 72:var c=i.destructLink(a[s],a[s-2]);this.$={type:c.type,stroke:c.stroke,length:c.length,text:a[s-1]};break;case 73:case 79:case 94:case 96:this.$={text:a[s],type:"text"};break;case 74:case 80:case 95:this.$={text:a[s-1].text+""+a[s],type:a[s-1].type};break;case 75:case 81:this.$={text:a[s],type:"string"};break;case 76:case 82:case 97:this.$={text:a[s],type:"markdown"};break;case 77:c=i.destructLink(a[s]),this.$={type:c.type,stroke:c.stroke,length:c.length};break;case 78:this.$=a[s-1];break;case 98:this.$=a[s-4],i.addClass(a[s-2],a[s]);break;case 99:this.$=a[s-4],i.setClass(a[s-2],a[s]);break;case 100:case 108:this.$=a[s-1],i.setClickEvent(a[s-1],a[s]);break;case 101:case 109:this.$=a[s-3],i.setClickEvent(a[s-3],a[s-2]),i.setTooltip(a[s-3],a[s]);break;case 102:this.$=a[s-2],i.setClickEvent(a[s-2],a[s-1],a[s]);break;case 103:this.$=a[s-4],i.setClickEvent(a[s-4],a[s-3],a[s-2]),i.setTooltip(a[s-4],a[s]);break;case 104:this.$=a[s-2],i.setLink(a[s-2],a[s]);break;case 105:this.$=a[s-4],i.setLink(a[s-4],a[s-2]),i.setTooltip(a[s-4],a[s]);break;case 106:this.$=a[s-4],i.setLink(a[s-4],a[s-2],a[s]);break;case 107:this.$=a[s-6],i.setLink(a[s-6],a[s-4],a[s]),i.setTooltip(a[s-6],a[s-2]);break;case 110:this.$=a[s-1],i.setLink(a[s-1],a[s]);break;case 111:this.$=a[s-3],i.setLink(a[s-3],a[s-2]),i.setTooltip(a[s-3],a[s]);break;case 112:this.$=a[s-3],i.setLink(a[s-3],a[s-2],a[s]);break;case 113:this.$=a[s-5],i.setLink(a[s-5],a[s-4],a[s]),i.setTooltip(a[s-5],a[s-2]);break;case 114:this.$=a[s-4],i.addVertex(a[s-2],void 0,void 0,a[s]);break;case 115:this.$=a[s-4],i.updateLink([a[s-2]],a[s]);break;case 116:this.$=a[s-4],i.updateLink(a[s-2],a[s]);break;case 117:this.$=a[s-8],i.updateLinkInterpolate([a[s-6]],a[s-2]),i.updateLink([a[s-6]],a[s]);break;case 118:this.$=a[s-8],i.updateLinkInterpolate(a[s-6],a[s-2]),i.updateLink(a[s-6],a[s]);break;case 119:this.$=a[s-6],i.updateLinkInterpolate([a[s-4]],a[s]);break;case 120:this.$=a[s-6],i.updateLinkInterpolate(a[s-4],a[s]);break;case 122:case 124:a[s-2].push(a[s]),this.$=a[s-2];break;case 126:this.$=a[s-1]+a[s];break;case 175:case 177:this.$=a[s-1]+""+a[s];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"}}},table:[{3:1,4:2,9:e,10:n,12:i},{1:[3]},t(r,a,{5:6}),{4:7,9:e,10:n,12:i},{4:8,9:e,10:n,12:i},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:o,9:s,10:c,11:l,20:17,22:18,23:19,24:20,25:21,26:22,27:u,33:24,34:h,36:f,38:d,40:28,41:38,42:g,43:39,45:40,58:p,81:b,82:m,83:y,84:w,85:v,86:x,99:k,102:_,103:T,106:E,108:S,110:41,111:C,112:A,113:M,118:L,119:I,120:O,121:N},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),{8:[1,54],9:[1,55],10:D,15:53,18:56},t(P,[2,3]),t(P,[2,4]),t(P,[2,5]),t(P,[2,6]),t(P,[2,7]),t(P,[2,8]),{8:B,9:R,11:F,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:B,9:R,11:F,21:66},{8:B,9:R,11:F,21:67},{8:B,9:R,11:F,21:68},{8:B,9:R,11:F,21:69},{8:B,9:R,11:F,21:70},{8:B,9:R,10:[1,71],11:F,21:72},t(P,[2,36]),{35:[1,73]},{37:[1,74]},t(P,[2,39]),t($,[2,46],{18:75,10:D}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:j,42:z,58:q,77:[1,83],86:H,92:[1,80],94:[1,81],98:82,102:U,103:G,106:K,108:Y,111:V,112:W,113:X,117:84},t(P,[2,178]),t(P,[2,179]),t(P,[2,180]),t(P,[2,181]),t(Q,[2,47]),t(Q,[2,49],{44:[1,96]}),t(Z,[2,67],{110:109,29:[1,97],42:g,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:p,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:x,99:k,102:_,103:T,106:E,108:S,111:C,112:A,113:M}),t(J,[2,174]),t(J,[2,135]),t(J,[2,136]),t(J,[2,137]),t(J,[2,138]),t(J,[2,139]),t(J,[2,140]),t(J,[2,141]),t(J,[2,142]),t(J,[2,143]),t(J,[2,144]),t(J,[2,145]),t(r,[2,12]),t(r,[2,18]),t(r,[2,19]),{9:[1,110]},t(tt,[2,26],{18:111,10:D}),t(P,[2,27]),{40:112,41:38,42:g,43:39,45:40,58:p,86:x,99:k,102:_,103:T,106:E,108:S,110:41,111:C,112:A,113:M},t(P,[2,40]),t(P,[2,41]),t(P,[2,42]),t(et,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:nt,116:it},t([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),t(P,[2,28]),t(P,[2,29]),t(P,[2,30]),t(P,[2,31]),t(P,[2,32]),{10:rt,12:at,14:ot,27:st,28:122,32:ct,42:lt,58:ut,73:ht,77:[1,124],78:[1,125],80:135,81:ft,82:dt,83:gt,84:pt,85:bt,86:mt,87:yt,88:123,102:wt,106:vt,108:xt,111:kt,112:_t,113:Tt},t(Et,a,{5:148}),t(P,[2,37]),t(P,[2,38]),t($,[2,45],{42:St}),{42:g,45:150,58:p,86:x,99:k,102:_,103:T,106:E,108:S,110:41,111:C,112:A,113:M},{99:[1,151],100:152,102:[1,153]},{42:g,45:154,58:p,86:x,99:k,102:_,103:T,106:E,108:S,110:41,111:C,112:A,113:M},{42:g,45:155,58:p,86:x,99:k,102:_,103:T,106:E,108:S,110:41,111:C,112:A,113:M},t(Ct,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},t(Ct,[2,108],{117:160,10:[1,159],14:j,42:z,58:q,86:H,102:U,103:G,106:K,108:Y,111:V,112:W,113:X}),t(Ct,[2,110],{10:[1,161]}),t(At,[2,176]),t(At,[2,163]),t(At,[2,164]),t(At,[2,165]),t(At,[2,166]),t(At,[2,167]),t(At,[2,168]),t(At,[2,169]),t(At,[2,170]),t(At,[2,171]),t(At,[2,172]),t(At,[2,173]),{42:g,45:162,58:p,86:x,99:k,102:_,103:T,106:E,108:S,110:41,111:C,112:A,113:M},{30:163,65:Mt,77:Lt,78:It,79:164,113:Ot,114:Nt,115:Dt},{30:171,65:Mt,77:Lt,78:It,79:164,113:Ot,114:Nt,115:Dt},{30:173,48:[1,172],65:Mt,77:Lt,78:It,79:164,113:Ot,114:Nt,115:Dt},{30:174,65:Mt,77:Lt,78:It,79:164,113:Ot,114:Nt,115:Dt},{30:175,65:Mt,77:Lt,78:It,79:164,113:Ot,114:Nt,115:Dt},{30:176,65:Mt,77:Lt,78:It,79:164,113:Ot,114:Nt,115:Dt},{106:[1,177]},{30:178,65:Mt,77:Lt,78:It,79:164,113:Ot,114:Nt,115:Dt},{30:179,63:[1,180],65:Mt,77:Lt,78:It,79:164,113:Ot,114:Nt,115:Dt},{30:181,65:Mt,77:Lt,78:It,79:164,113:Ot,114:Nt,115:Dt},{30:182,65:Mt,77:Lt,78:It,79:164,113:Ot,114:Nt,115:Dt},{30:183,65:Mt,77:Lt,78:It,79:164,113:Ot,114:Nt,115:Dt},t(J,[2,175]),t(r,[2,20]),t(tt,[2,25]),t($,[2,43],{18:184,10:D}),t(et,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:Mt,77:Lt,78:It,79:164,113:Ot,114:Nt,115:Dt},{75:[1,188],76:189,113:nt,116:it},t(Pt,[2,73]),t(Pt,[2,75]),t(Pt,[2,76]),t(Pt,[2,161]),t(Pt,[2,162]),{8:B,9:R,10:rt,11:F,12:at,14:ot,21:191,27:st,29:[1,190],32:ct,42:lt,58:ut,73:ht,80:135,81:ft,82:dt,83:gt,84:pt,85:bt,86:mt,87:yt,88:192,102:wt,106:vt,108:xt,111:kt,112:_t,113:Tt},t(Bt,[2,94]),t(Bt,[2,96]),t(Bt,[2,97]),t(Bt,[2,150]),t(Bt,[2,151]),t(Bt,[2,152]),t(Bt,[2,153]),t(Bt,[2,154]),t(Bt,[2,155]),t(Bt,[2,156]),t(Bt,[2,157]),t(Bt,[2,158]),t(Bt,[2,159]),t(Bt,[2,160]),t(Bt,[2,83]),t(Bt,[2,84]),t(Bt,[2,85]),t(Bt,[2,86]),t(Bt,[2,87]),t(Bt,[2,88]),t(Bt,[2,89]),t(Bt,[2,90]),t(Bt,[2,91]),t(Bt,[2,92]),t(Bt,[2,93]),{6:11,7:12,8:o,9:s,10:c,11:l,20:17,22:18,23:19,24:20,25:21,26:22,27:u,32:[1,193],33:24,34:h,36:f,38:d,40:28,41:38,42:g,43:39,45:40,58:p,81:b,82:m,83:y,84:w,85:v,86:x,99:k,102:_,103:T,106:E,108:S,110:41,111:C,112:A,113:M,118:L,119:I,120:O,121:N},{10:D,18:194},{10:[1,195],42:g,58:p,86:x,99:k,102:_,103:T,106:E,108:S,110:109,111:C,112:A,113:M},{10:[1,196]},{10:[1,197],103:[1,198]},t(Rt,[2,121]),{10:[1,199],42:g,58:p,86:x,99:k,102:_,103:T,106:E,108:S,110:109,111:C,112:A,113:M},{10:[1,200],42:g,58:p,86:x,99:k,102:_,103:T,106:E,108:S,110:109,111:C,112:A,113:M},{77:[1,201]},t(Ct,[2,102],{10:[1,202]}),t(Ct,[2,104],{10:[1,203]}),{77:[1,204]},t(At,[2,177]),{77:[1,205],95:[1,206]},t(Q,[2,50],{110:109,42:g,58:p,86:x,99:k,102:_,103:T,106:E,108:S,111:C,112:A,113:M}),{31:[1,207],65:Mt,79:208,113:Ot,114:Nt,115:Dt},t(Ft,[2,79]),t(Ft,[2,81]),t(Ft,[2,82]),t(Ft,[2,146]),t(Ft,[2,147]),t(Ft,[2,148]),t(Ft,[2,149]),{47:[1,209],65:Mt,79:208,113:Ot,114:Nt,115:Dt},{30:210,65:Mt,77:Lt,78:It,79:164,113:Ot,114:Nt,115:Dt},{49:[1,211],65:Mt,79:208,113:Ot,114:Nt,115:Dt},{51:[1,212],65:Mt,79:208,113:Ot,114:Nt,115:Dt},{53:[1,213],65:Mt,79:208,113:Ot,114:Nt,115:Dt},{55:[1,214],65:Mt,79:208,113:Ot,114:Nt,115:Dt},{58:[1,215]},{62:[1,216],65:Mt,79:208,113:Ot,114:Nt,115:Dt},{64:[1,217],65:Mt,79:208,113:Ot,114:Nt,115:Dt},{30:218,65:Mt,77:Lt,78:It,79:164,113:Ot,114:Nt,115:Dt},{31:[1,219],65:Mt,79:208,113:Ot,114:Nt,115:Dt},{65:Mt,67:[1,220],69:[1,221],79:208,113:Ot,114:Nt,115:Dt},{65:Mt,67:[1,223],69:[1,222],79:208,113:Ot,114:Nt,115:Dt},t($,[2,44],{42:St}),t(et,[2,70]),t(et,[2,69]),{60:[1,224],65:Mt,79:208,113:Ot,114:Nt,115:Dt},t(et,[2,72]),t(Pt,[2,74]),{30:225,65:Mt,77:Lt,78:It,79:164,113:Ot,114:Nt,115:Dt},t(Et,a,{5:226}),t(Bt,[2,95]),t(P,[2,35]),{41:227,42:g,43:39,45:40,58:p,86:x,99:k,102:_,103:T,106:E,108:S,110:41,111:C,112:A,113:M},{10:$t,58:jt,81:zt,89:228,102:qt,104:229,105:230,106:Ht,107:Ut,108:Gt,109:Kt},{10:$t,58:jt,81:zt,89:239,101:[1,240],102:qt,104:229,105:230,106:Ht,107:Ut,108:Gt,109:Kt},{10:$t,58:jt,81:zt,89:241,101:[1,242],102:qt,104:229,105:230,106:Ht,107:Ut,108:Gt,109:Kt},{102:[1,243]},{10:$t,58:jt,81:zt,89:244,102:qt,104:229,105:230,106:Ht,107:Ut,108:Gt,109:Kt},{42:g,45:245,58:p,86:x,99:k,102:_,103:T,106:E,108:S,110:41,111:C,112:A,113:M},t(Ct,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},t(Ct,[2,109]),t(Ct,[2,111],{10:[1,249]}),t(Ct,[2,112]),t(Z,[2,51]),t(Ft,[2,80]),t(Z,[2,52]),{49:[1,250],65:Mt,79:208,113:Ot,114:Nt,115:Dt},t(Z,[2,59]),t(Z,[2,54]),t(Z,[2,55]),t(Z,[2,56]),{106:[1,251]},t(Z,[2,58]),t(Z,[2,60]),{64:[1,252],65:Mt,79:208,113:Ot,114:Nt,115:Dt},t(Z,[2,62]),t(Z,[2,63]),t(Z,[2,65]),t(Z,[2,64]),t(Z,[2,66]),t([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:Mt,79:208,113:Ot,114:Nt,115:Dt},{6:11,7:12,8:o,9:s,10:c,11:l,20:17,22:18,23:19,24:20,25:21,26:22,27:u,32:[1,254],33:24,34:h,36:f,38:d,40:28,41:38,42:g,43:39,45:40,58:p,81:b,82:m,83:y,84:w,85:v,86:x,99:k,102:_,103:T,106:E,108:S,110:41,111:C,112:A,113:M,118:L,119:I,120:O,121:N},t(Q,[2,48]),t(Ct,[2,114],{103:Yt}),t(Vt,[2,123],{105:256,10:$t,58:jt,81:zt,102:qt,106:Ht,107:Ut,108:Gt,109:Kt}),t(Wt,[2,125]),t(Wt,[2,127]),t(Wt,[2,128]),t(Wt,[2,129]),t(Wt,[2,130]),t(Wt,[2,131]),t(Wt,[2,132]),t(Wt,[2,133]),t(Wt,[2,134]),t(Ct,[2,115],{103:Yt}),{10:[1,257]},t(Ct,[2,116],{103:Yt}),{10:[1,258]},t(Rt,[2,122]),t(Ct,[2,98],{103:Yt}),t(Ct,[2,99],{110:109,42:g,58:p,86:x,99:k,102:_,103:T,106:E,108:S,111:C,112:A,113:M}),t(Ct,[2,103]),t(Ct,[2,105],{10:[1,259]}),t(Ct,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:B,9:R,11:F,21:264},t(P,[2,34]),{10:$t,58:jt,81:zt,102:qt,104:265,105:230,106:Ht,107:Ut,108:Gt,109:Kt},t(Wt,[2,126]),{14:j,42:z,58:q,86:H,98:266,102:U,103:G,106:K,108:Y,111:V,112:W,113:X,117:84},{14:j,42:z,58:q,86:H,98:267,102:U,103:G,106:K,108:Y,111:V,112:W,113:X,117:84},{95:[1,268]},t(Ct,[2,113]),t(Z,[2,53]),{30:269,65:Mt,77:Lt,78:It,79:164,113:Ot,114:Nt,115:Dt},t(Z,[2,61]),t(Et,a,{5:270}),t(Vt,[2,124],{105:256,10:$t,58:jt,81:zt,102:qt,106:Ht,107:Ut,108:Gt,109:Kt}),t(Ct,[2,119],{117:160,10:[1,271],14:j,42:z,58:q,86:H,102:U,103:G,106:K,108:Y,111:V,112:W,113:X}),t(Ct,[2,120],{117:160,10:[1,272],14:j,42:z,58:q,86:H,102:U,103:G,106:K,108:Y,111:V,112:W,113:X}),t(Ct,[2,107]),{31:[1,273],65:Mt,79:208,113:Ot,114:Nt,115:Dt},{6:11,7:12,8:o,9:s,10:c,11:l,20:17,22:18,23:19,24:20,25:21,26:22,27:u,32:[1,274],33:24,34:h,36:f,38:d,40:28,41:38,42:g,43:39,45:40,58:p,81:b,82:m,83:y,84:w,85:v,86:x,99:k,102:_,103:T,106:E,108:S,110:41,111:C,112:A,113:M,118:L,119:I,120:O,121:N},{10:$t,58:jt,81:zt,89:275,102:qt,104:229,105:230,106:Ht,107:Ut,108:Gt,109:Kt},{10:$t,58:jt,81:zt,89:276,102:qt,104:229,105:230,106:Ht,107:Ut,108:Gt,109:Kt},t(Z,[2,57]),t(P,[2,33]),t(Ct,[2,117],{103:Yt}),t(Ct,[2,118],{103:Yt})],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=[0],n=[],i=[null],r=[],a=this.table,o="",s=0,c=0,l=r.slice.call(arguments,1),u=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);u.setInput(t,h.yy),h.yy.lexer=u,h.yy.parser=this,typeof u.yylloc>"u"&&(u.yylloc={});var d=u.yylloc;r.push(d);var g,p=u.options&&u.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,m,y,w,v,x,k,_,T={};;){if(m=e[e.length-1],this.defaultActions[m]?y=this.defaultActions[m]:((null===b||typeof b>"u")&&(g=void 0,"number"!=typeof(g=n.pop()||u.lex()||1)&&(g instanceof Array&&(g=(n=g).pop()),g=this.symbols_[g]||g),b=g),y=a[m]&&a[m][b]),typeof y>"u"||!y.length||!y[0]){var E;for(v in _=[],a[m])this.terminals_[v]&&v>2&&_.push("'"+this.terminals_[v]+"'");E=u.showPosition?"Parse error on line "+(s+1)+":\n"+u.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(E,{text:u.match,token:this.terminals_[b]||b,line:u.yylineno,loc:d,expected:_})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+b);switch(y[0]){case 1:e.push(b),i.push(u.yytext),r.push(u.yylloc),e.push(y[1]),b=null,c=u.yyleng,o=u.yytext,s=u.yylineno,d=u.yylloc;break;case 2:if(x=this.productions_[y[1]][1],T.$=i[i.length-x],T._$={first_line:r[r.length-(x||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(x||1)].first_column,last_column:r[r.length-1].last_column},p&&(T._$.range=[r[r.length-(x||1)].range[0],r[r.length-1].range[1]]),typeof(w=this.performAction.apply(T,[o,c,s,h.yy,y[1],i,r].concat(l)))<"u")return w;x&&(e=e.slice(0,-1*x*2),i=i.slice(0,-1*x),r=r.slice(0,-1*x)),e.push(this.productions_[y[1]][0]),i.push(T.$),r.push(T._$),k=a[e[e.length-2]][e[e.length-1]],e.push(k);break;case 3:return!0}}return!0}},Qt={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,n,i){switch(n){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:case 8:case 11:case 14:case 17:case 27:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:this.begin("callbackname");break;case 9:this.popState(),this.begin("callbackargs");break;case 10:return 92;case 12:return 93;case 13:return"MD_STR";case 15:this.begin("md_string");break;case 16:return"STR";case 18:this.pushState("string");break;case 19:return 81;case 20:return 99;case 21:return 82;case 22:return 101;case 23:return 83;case 24:return 84;case 25:return 94;case 26:this.begin("click");break;case 28:return 85;case 29:case 30:case 31:return t.lex.firstGraph()&&this.begin("dir"),12;case 32:return 27;case 33:return 32;case 34:case 35:case 36:case 37:return 95;case 38:return this.popState(),13;case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:return this.popState(),14;case 49:return 118;case 50:return 119;case 51:return 120;case 52:return 121;case 53:return 102;case 54:case 95:return 108;case 55:return 44;case 56:return 58;case 57:case 96:return 42;case 58:return 8;case 59:return 103;case 60:case 94:return 112;case 61:case 64:case 67:return this.popState(),75;case 62:return this.pushState("edgeText"),73;case 63:case 66:case 69:return 116;case 65:return this.pushState("thickEdgeText"),73;case 68:return this.pushState("dottedEdgeText"),73;case 70:return 75;case 71:return this.popState(),51;case 72:case 108:return"TEXT";case 73:return this.pushState("ellipseText"),50;case 74:return this.popState(),53;case 75:return this.pushState("text"),52;case 76:return this.popState(),55;case 77:return this.pushState("text"),54;case 78:return 56;case 79:return this.pushState("text"),65;case 80:return this.popState(),62;case 81:return this.pushState("text"),61;case 82:return this.popState(),47;case 83:return this.pushState("text"),46;case 84:return this.popState(),67;case 85:return this.popState(),69;case 86:return 114;case 87:return this.pushState("trapText"),66;case 88:return this.pushState("trapText"),68;case 89:return 115;case 90:return 65;case 91:return 87;case 92:return"SEP";case 93:return 86;case 97:return 106;case 98:return 111;case 99:return 113;case 100:return this.popState(),60;case 101:return this.pushState("text"),60;case 102:return this.popState(),49;case 103:return this.pushState("text"),48;case 104:return this.popState(),31;case 105:return this.pushState("text"),29;case 106:return this.popState(),64;case 107:return this.pushState("text"),63;case 109:return"QUOTE";case 110:return 9;case 111:return 10;case 112:return 11}},rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{callbackargs:{rules:[11,12,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},callbackname:{rules:[8,9,10,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},href:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},click:{rules:[15,18,27,28,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dottedEdgeText:{rules:[15,18,67,69,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},thickEdgeText:{rules:[15,18,64,66,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},edgeText:{rules:[15,18,61,63,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},trapText:{rules:[15,18,70,73,75,77,81,83,84,85,86,87,88,101,103,105,107],inclusive:!1},ellipseText:{rules:[15,18,70,71,72,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},text:{rules:[15,18,70,73,74,75,76,77,80,81,82,83,87,88,100,101,102,103,104,105,106,107,108],inclusive:!1},vertex:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dir:{rules:[15,18,38,39,40,41,42,43,44,45,46,47,48,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr_multiline:{rules:[5,6,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr:{rules:[3,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_title:{rules:[1,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},md_string:{rules:[13,14,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},string:{rules:[15,16,17,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},INITIAL:{rules:[0,2,4,7,15,18,19,20,21,22,23,24,25,26,29,30,31,32,33,34,35,36,37,49,50,51,52,53,54,55,56,57,58,59,60,61,62,64,65,67,68,70,73,75,77,78,79,81,83,87,88,89,90,91,92,93,94,95,96,97,98,99,101,103,105,107,109,110,111,112],inclusive:!0}}};function Zt(){this.yy={}}return Xt.lexer=Qt,Zt.prototype=Xt,Xt.Parser=Zt,new Zt}();Gk.parser=Gk;const Kk=Gk;let Yk,Vk,Wk=0,Xk=sg(),Qk={},Zk=[],Jk={},t_=[],e_={},n_={},i_=0,r_=!0,a_=[];const o_=t=>Bc.sanitizeText(t,Xk),s_=function(t){const e=Object.keys(Qk);for(const n of e)if(Qk[n].id===t)return Qk[n].domId;return t},c_=function(t,e,n,i,r,a,o={}){let s,c=t;void 0!==c&&0!==c.trim().length&&(void 0===Qk[c]&&(Qk[c]={id:c,labelType:"text",domId:"flowchart-"+c+"-"+Wk,styles:[],classes:[]}),Wk++,void 0!==e?(Xk=sg(),s=o_(e.text.trim()),Qk[c].labelType=e.type,'"'===s[0]&&'"'===s[s.length-1]&&(s=s.substring(1,s.length-1)),Qk[c].text=s):void 0===Qk[c].text&&(Qk[c].text=t),void 0!==n&&(Qk[c].type=n),null!=i&&i.forEach((function(t){Qk[c].styles.push(t)})),null!=r&&r.forEach((function(t){Qk[c].classes.push(t)})),void 0!==a&&(Qk[c].dir=a),void 0===Qk[c].props?Qk[c].props=o:void 0!==o&&Object.assign(Qk[c].props,o))},l_=function(t,e,n){const i={start:t,end:e,type:void 0,text:"",labelType:"text"};l.info("abc78 Got edge...",i);const r=n.text;if(void 0!==r&&(i.text=o_(r.text.trim()),'"'===i.text[0]&&'"'===i.text[i.text.length-1]&&(i.text=i.text.substring(1,i.text.length-1)),i.labelType=r.type),void 0!==n&&(i.type=n.type,i.stroke=n.stroke,i.length=n.length),(null==i?void 0:i.length)>10&&(i.length=10),!(Zk.length<(Xk.maxEdges??500)))throw new Error(`Edge limit exceeded. ${Zk.length} edges found, but the limit is ${Xk.maxEdges}.\n\nInitialize mermaid with maxEdges set to a higher number to allow more edges.\nYou cannot set this config via configuration inside the diagram as it is a secure config.\nYou have to call mermaid.initialize.`);l.info("abc78 pushing edge..."),Zk.push(i)},u_=function(t,e,n){let i,r;for(l.info("addLink (abc78)",t,e,n),i=0;i=Zk.length)throw new Error(`The index ${t} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${Zk.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);"default"===t?Zk.defaultStyle=e:(-1===df.isSubstringInArray("fill",e)&&e.push("fill:none"),Zk[t].style=e)}))},d_=function(t,e){t.split(",").forEach((function(t){void 0===Jk[t]&&(Jk[t]={id:t,styles:[],textStyles:[]}),null!=e&&e.forEach((function(e){if(e.match("color")){const n=e.replace("fill","bgFill").replace("color","fill");Jk[t].textStyles.push(n)}Jk[t].styles.push(e)}))}))},g_=function(t){Yk=t,Yk.match(/.*/)&&(Yk="LR"),Yk.match(/.*v/)&&(Yk="TB"),"TD"===Yk&&(Yk="TB")},p_=function(t,e){t.split(",").forEach((function(t){let n=t;void 0!==Qk[n]&&Qk[n].classes.push(e),void 0!==e_[n]&&e_[n].classes.push(e)}))},b_=function(t,e,n){t.split(",").forEach((function(t){void 0!==Qk[t]&&(Qk[t].link=df.formatUrl(e,Xk),Qk[t].linkTarget=n)})),p_(t,"clickable")},m_=function(t){if(n_.hasOwnProperty(t))return n_[t]},y_=function(t,e,n){t.split(",").forEach((function(t){!function(t,e,n){let i=s_(t);if("loose"!==sg().securityLevel||void 0===e)return;let r=[];if("string"==typeof n){r=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t")),t.classed("hover",!0)})).on("mouseout",(function(){e.transition().duration(500).style("opacity",0),ee(this).classed("hover",!1)}))};a_.push(T_);const E_=function(t="gen-1"){Qk={},Jk={},Zk=[],a_=[T_],t_=[],e_={},i_=0,n_={},r_=!0,Vk=t,Xk=sg(),Qd()},S_=t=>{Vk=t||"gen-2"},C_=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},A_=function(t,e,n){let i=t.text.trim(),r=n.text;t===n&&n.text.match(/\s/)&&(i=void 0);let a=[];const{nodeList:o,dir:s}=function(t){const e={boolean:{},number:{},string:{}},n=[];let i;return{nodeList:t.filter((function(t){const r=typeof t;return t.stmt&&"dir"===t.stmt?(i=t.value,!1):""!==t.trim()&&(r in e?!e[r].hasOwnProperty(t)&&(e[r][t]=!0):!n.includes(t)&&n.push(t))})),dir:i}}(a.concat.apply(a,e));if(a=o,"gen-1"===Vk)for(let t=0;t2e3)return;if(I_[L_]=e,t_[e].id===t)return{result:!0,count:0};let i=0,r=1;for(;i=0){const n=O_(t,e);if(n.result)return{result:!0,count:r+n.count};r+=n.count}i+=1}return{result:!1,count:r}},N_=function(t){return I_[t]},D_=function(){L_=-1,t_.length>0&&O_("none",t_.length-1)},P_=function(){return t_},B_=()=>!!r_&&(r_=!1,!0),R_=(t,e)=>{const n=(t=>{const e=t.trim();let n=e.slice(0,-1),i="arrow_open";switch(e.slice(-1)){case"x":i="arrow_cross","x"===e[0]&&(i="double_"+i,n=n.slice(1));break;case">":i="arrow_point","<"===e[0]&&(i="double_"+i,n=n.slice(1));break;case"o":i="arrow_circle","o"===e[0]&&(i="double_"+i,n=n.slice(1))}let r="normal",a=n.length-1;"="===n[0]&&(r="thick"),"~"===n[0]&&(r="invisible");let o=((t,e)=>{const n=e.length;let i=0;for(let t=0;t{let e=t.trim(),n="arrow_open";switch(e[0]){case"<":n="arrow_point",e=e.slice(1);break;case"x":n="arrow_cross",e=e.slice(1);break;case"o":n="arrow_circle",e=e.slice(1)}let i="normal";return e.includes("=")&&(i="thick"),e.includes(".")&&(i="dotted"),{type:n,stroke:i}})(e),i.stroke!==n.stroke)return{type:"INVALID",stroke:"INVALID"};if("arrow_open"===i.type)i.type=n.type;else{if(i.type!==n.type)return{type:"INVALID",stroke:"INVALID"};i.type="double_"+i.type}return"double_arrow"===i.type&&(i.type="double_arrow_point"),i.length=n.length,i}return n},F_=(t,e)=>{let n=!1;return t.forEach((t=>{t.nodes.indexOf(e)>=0&&(n=!0)})),n},$_=(t,e)=>{const n=[];return t.nodes.forEach(((i,r)=>{F_(e,i)||n.push(t.nodes[r])})),{nodes:n}},j_={firstGraph:B_},z_={defaultConfig:()=>lg.flowchart,setAccTitle:Zd,getAccTitle:Jd,getAccDescription:eg,setAccDescription:tg,addVertex:c_,lookUpDomId:s_,addLink:u_,updateLinkInterpolate:h_,updateLink:f_,addClass:d_,setDirection:g_,setClass:p_,setTooltip:function(t,e){t.split(",").forEach((function(t){void 0!==e&&(n_["gen-1"===Vk?s_(t):t]=o_(e))}))},getTooltip:m_,setClickEvent:y_,setLink:b_,bindFunctions:w_,getDirection:v_,getVertices:x_,getEdges:k_,getClasses:__,clear:E_,setGen:S_,defaultStyle:C_,addSubGraph:A_,getDepthFirstPos:N_,indexNodes:D_,getSubGraphs:P_,destructLink:R_,lex:j_,exists:F_,makeUniq:$_,setDiagramTitle:ng,getDiagramTitle:ig},q_=Object.freeze(Object.defineProperty({__proto__:null,addClass:d_,addLink:u_,addSingleLink:l_,addSubGraph:A_,addVertex:c_,bindFunctions:w_,clear:E_,default:z_,defaultStyle:C_,destructLink:R_,firstGraph:B_,getClasses:__,getDepthFirstPos:N_,getDirection:v_,getEdges:k_,getSubGraphs:P_,getTooltip:m_,getVertices:x_,indexNodes:D_,lex:j_,lookUpDomId:s_,setClass:p_,setClickEvent:y_,setDirection:g_,setGen:S_,setLink:b_,updateLink:f_,updateLinkInterpolate:h_},Symbol.toStringTag,{value:"Module"}));var H_="[object Symbol]";function U_(t){return"symbol"==typeof t||zu(t)&&zl(t)==H_}function G_(t,e){for(var n=-1,i=null==t?0:t.length,r=Array(i);++n-1}function cT(t){return Qu(t)?Sh(t):Bg(t)}var lT=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,uT=/^\w*$/;function hT(t,e){if(Vu(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!U_(t))||uT.test(t)||!lT.test(t)||null!=e&&t in Object(e)}var fT,dT,gT=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,pT=/\\(\\)?/g,bT=(fT=bu((function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(gT,(function(t,n,i,r){e.push(i?r.replace(pT,"$1"):n||t)})),e}),(function(t){return 500===dT.size&&dT.clear(),t})),dT=fT.cache,fT);const mT=bT;function yT(t){return null==t?"":W_(t)}function wT(t,e){return Vu(t)?t:hT(t,e)?[t]:mT(yT(t))}var vT=1/0;function xT(t){if("string"==typeof t||U_(t))return t;var e=t+"";return"0"==e&&1/t==-vT?"-0":e}function kT(t,e){for(var n=0,i=(e=wT(e,t)).length;null!=t&&n0&&n(s)?e>1?ST(s,e-1,n,i,r):_T(r,s):i||(r[r.length]=s)}return r}function CT(t){return null!=t&&t.length?ST(t,1):[]}function AT(t,e,n,i){var r=-1,a=null==t?0:t.length;for(i&&a&&(n=t[++r]);++rs))return!1;var l=a.get(t),u=a.get(e);if(l&&u)return l==e&&u==t;var h=-1,f=!0,d=n&NE?new ME:void 0;for(a.set(t,e),a.set(e,t);++h2?e[2]:void 0;for(r&&zh(e[0],e[1],r)&&(i=1);++n-1?i[r?t[a]:a]:void 0};const IS=LS;function OS(t,e){var n=-1,i=Qu(t)?Array(t.length):[];return yS(t,(function(t,r,a){i[++n]=e(t,r,a)})),i}function NS(t,e){return(Vu(t)?G_:OS)(t,pS(e))}function DS(t,e){return t>e}var PS=Object.prototype.hasOwnProperty;function BS(t,e){return null!=t&&PS.call(t,e)}function RS(t,e){return null!=t&&hS(t,e,BS)}function FS(t){return null==t?[]:function(t,e){return G_(e,(function(e){return t[e]}))}(t,cT(t))}function $S(t){return void 0===t}function jS(t,e){return te||a&&o&&c&&!s&&!l||i&&o&&c||!n&&c||!r)return 1;if(!i&&!a&&!l&&t1&&zh(t,e[0],e[1])?e=[]:n>2&&zh(e[0],e[1],e[2])&&(e=[e[0]]),function(t,e,n){e=e.length?G_(e,(function(t){return Vu(t)?function(e){return kT(e,1===t.length?t[0]:t)}:t})):[Ih];var i=-1;return e=G_(e,uh(pS)),function(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}(OS(t,(function(t,n,r){return{criteria:G_(e,(function(e){return e(t)})),index:++i,value:t}})),(function(t,e){return function(t,e,n){for(var i=-1,r=t.criteria,a=e.criteria,o=r.length,s=n.length;++i=s?c:c*("desc"==n[i]?-1:1)}return t.index-e.index}(t,e,n)}))}(t,ST(e,1),[])}));const iC=nC;var rC=$g&&1/BE(new $g([,-0]))[1]==1/0?function(t){return new $g(t)}:function(){};const aC=rC;var oC=jh((function(t){return function(t,e,n){var i=-1,r=sT,a=t.length,o=!0,s=[],c=s;if(a>=200){var l=aC(t);if(l)return BE(l);o=!1,r=IE,c=new ME}else c=s;t:for(;++i1?i.setNode(t,e):i.setNode(t)})),this}setNode(t,e){return RS(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=hC,this._children[t]={},this._children[hC][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return RS(this._nodes,t)}removeNode(t){var e=this;if(RS(this._nodes,t)){var n=function(t){e.removeEdge(e._edgeObjs[t])};delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],SS(this.children(t),(function(t){e.setParent(t)})),delete this._children[t]),SS(cT(this._in[t]),n),delete this._in[t],delete this._preds[t],SS(cT(this._out[t]),n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if($S(e))e=hC;else{for(var n=e+="";!$S(n);n=this.parent(n))if(n===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}parent(t){if(this._isCompound){var e=this._parent[t];if(e!==hC)return e}}children(t){if($S(t)&&(t=hC),this._isCompound){var e=this._children[t];if(e)return cT(e)}else{if(t===hC)return this.nodes();if(this.hasNode(t))return[]}}predecessors(t){var e=this._preds[t];if(e)return cT(e)}successors(t){var e=this._sucs[t];if(e)return cT(e)}neighbors(t){var e=this.predecessors(t);if(e)return sC(e,this.successors(t))}isLeaf(t){return 0===(this.isDirected()?this.successors(t):this.neighbors(t)).length}filterNodes(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var n=this;SS(this._nodes,(function(n,i){t(i)&&e.setNode(i,n)})),SS(this._edgeObjs,(function(t){e.hasNode(t.v)&&e.hasNode(t.w)&&e.setEdge(t,n.edge(t))}));var i={};function r(t){var a=n.parent(t);return void 0===a||e.hasNode(a)?(i[t]=a,a):a in i?i[a]:r(a)}return this._isCompound&&SS(e.nodes(),(function(t){e.setParent(t,r(t))})),e}setDefaultEdgeLabel(t){return Yl(t)||(t=Dh(t)),this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return FS(this._edgeObjs)}setPath(t,e){var n=this,i=arguments;return eC(t,(function(t,r){return i.length>1?n.setEdge(t,r,e):n.setEdge(t,r),r})),this}setEdge(){var t,e,n,i,r=!1,a=arguments[0];"object"==typeof a&&null!==a&&"v"in a?(t=a.v,e=a.w,n=a.name,2===arguments.length&&(i=arguments[1],r=!0)):(t=a,e=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],r=!0)),t=""+t,e=""+e,$S(n)||(n=""+n);var o=bC(this._isDirected,t,e,n);if(RS(this._edgeLabels,o))return r&&(this._edgeLabels[o]=i),this;if(!$S(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[o]=r?i:this._defaultEdgeLabelFn(t,e,n);var s=function(t,e,n,i){var r=""+e,a=""+n;if(!t&&r>a){var o=r;r=a,a=o}var s={v:r,w:a};return i&&(s.name=i),s}(this._isDirected,t,e,n);return t=s.v,e=s.w,Object.freeze(s),this._edgeObjs[o]=s,gC(this._preds[e],t),gC(this._sucs[t],e),this._in[e][o]=s,this._out[t][o]=s,this._edgeCount++,this}edge(t,e,n){var i=1===arguments.length?mC(this._isDirected,arguments[0]):bC(this._isDirected,t,e,n);return this._edgeLabels[i]}hasEdge(t,e,n){var i=1===arguments.length?mC(this._isDirected,arguments[0]):bC(this._isDirected,t,e,n);return RS(this._edgeLabels,i)}removeEdge(t,e,n){var i=1===arguments.length?mC(this._isDirected,arguments[0]):bC(this._isDirected,t,e,n),r=this._edgeObjs[i];return r&&(t=r.v,e=r.w,delete this._edgeLabels[i],delete this._edgeObjs[i],pC(this._preds[e],t),pC(this._sucs[t],e),delete this._in[e][i],delete this._out[t][i],this._edgeCount--),this}inEdges(t,e){var n=this._in[t];if(n){var i=FS(n);return e?AS(i,(function(t){return t.v===e})):i}}outEdges(t,e){var n=this._out[t];if(n){var i=FS(n);return e?AS(i,(function(t){return t.w===e})):i}}nodeEdges(t,e){var n=this.inEdges(t,e);if(n)return n.concat(this.outEdges(t,e))}}function gC(t,e){t[e]?t[e]++:t[e]=1}function pC(t,e){--t[e]||delete t[e]}function bC(t,e,n,i){var r=""+e,a=""+n;if(!t&&r>a){var o=r;r=a,a=o}return r+fC+a+fC+($S(i)?uC:i)}function mC(t,e){return bC(t,e.v,e.w,e.name)}dC.prototype._nodeCount=0,dC.prototype._edgeCount=0;class yC{constructor(){var t={};t._next=t._prev=t,this._sentinel=t}dequeue(){var t=this._sentinel,e=t._prev;if(e!==t)return wC(e),e}enqueue(t){var e=this._sentinel;t._prev&&t._next&&wC(t),t._next=e._next,e._next._prev=t,e._next=t,t._prev=e}toString(){for(var t=[],e=this._sentinel,n=e._prev;n!==e;)t.push(JSON.stringify(n,vC)),n=n._prev;return"["+t.join(", ")+"]"}}function wC(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function vC(t,e){if("_next"!==t&&"_prev"!==t)return e}var xC=Dh(1);function kC(t,e,n,i,r){var a=r?[]:void 0;return SS(t.inEdges(i.v),(function(i){var o=t.edge(i),s=t.node(i.v);r&&a.push({v:i.v,w:i.w}),s.out-=o,_C(e,n,s)})),SS(t.outEdges(i.v),(function(i){var r=t.edge(i),a=i.w,o=t.node(a);o.in-=r,_C(e,n,o)})),t.removeNode(i.v),a}function _C(t,e,n){n.out?n.in?t[n.out-n.in+e].enqueue(n):t[t.length-1].enqueue(n):t[0].enqueue(n)}function TC(t){var e,n="greedy"===t.graph().acyclicer?function(t,e){if(t.nodeCount()<=1)return[];var n=function(t,e){var n=new dC,i=0,r=0;SS(t.nodes(),(function(t){n.setNode(t,{v:t,in:0,out:0})})),SS(t.edges(),(function(t){var a=n.edge(t.v,t.w)||0,o=e(t),s=a+o;n.setEdge(t.v,t.w,s),r=Math.max(r,n.node(t.v).out+=o),i=Math.max(i,n.node(t.w).in+=o)}));var a=JS(r+i+3).map((function(){return new yC})),o=i+1;return SS(n.nodes(),(function(t){_C(a,o,n.node(t))})),{graph:n,buckets:a,zeroIdx:o}}(t,e||xC),i=function(t,e,n){for(var i,r=[],a=e[e.length-1],o=e[0];t.nodeCount();){for(;i=o.dequeue();)kC(t,e,n,i);for(;i=a.dequeue();)kC(t,e,n,i);if(t.nodeCount())for(var s=e.length-2;s>0;--s)if(i=e[s].dequeue()){r=r.concat(kC(t,e,n,i,!0));break}}return r}(n.graph,n.buckets,n.zeroIdx);return CT(NS(i,(function(e){return t.outEdges(e.v,e.w)})))}(t,(e=t,function(t){return e.edge(t).weight})):function(t){var e=[],n={},i={};return SS(t.nodes(),(function r(a){RS(i,a)||(i[a]=!0,n[a]=!0,SS(t.outEdges(a),(function(t){RS(n,t.w)?e.push(t):r(t.w)})),delete n[a])})),e}(t);SS(n,(function(e){var n=t.edge(e);t.removeEdge(e),n.forwardName=e.name,n.reversed=!0,t.setEdge(e.w,e.v,n,lC("rev"))}))}function EC(t,e,n,i){var r;do{r=lC(i)}while(t.hasNode(r));return n.dummy=e,t.setNode(r,n),r}function SC(t){var e=new dC({multigraph:t.isMultigraph()}).setGraph(t.graph());return SS(t.nodes(),(function(n){t.children(n).length||e.setNode(n,t.node(n))})),SS(t.edges(),(function(n){e.setEdge(n,t.edge(n))})),e}function CC(t,e){var n,i,r=t.x,a=t.y,o=e.x-r,s=e.y-a,c=t.width/2,l=t.height/2;if(!o&&!s)throw new Error("Not possible to find intersection inside of the rectangle");return Math.abs(s)*c>Math.abs(o)*l?(s<0&&(l=-l),n=l*o/s,i=l):(o<0&&(c=-c),n=c,i=c*s/o),{x:r+n,y:a+i}}function AC(t){var e=NS(JS(LC(t)+1),(function(){return[]}));return SS(t.nodes(),(function(n){var i=t.node(n),r=i.rank;$S(r)||(e[r][i.order]=n)})),e}function MC(t,e,n,i){var r={width:0,height:0};return arguments.length>=4&&(r.rank=n,r.order=i),EC(t,"border",r,e)}function LC(t){return HS(NS(t.nodes(),(function(e){var n=t.node(e).rank;if(!$S(n))return n})))}function IC(t,e){var n=wS();try{return e()}finally{console.log(t+" time: "+(wS()-n)+"ms")}}function OC(t,e){return e()}function NC(t,e,n,i,r,a){var o={width:0,height:0,rank:a,borderType:e},s=r[e][a-1],c=EC(t,"border",o,n);r[e][a]=c,t.setParent(c,i),s&&t.setEdge(s,c,{weight:1})}function DC(t){SS(t.nodes(),(function(e){PC(t.node(e))})),SS(t.edges(),(function(e){PC(t.edge(e))}))}function PC(t){var e=t.width;t.width=t.height,t.height=e}function BC(t){t.y=-t.y}function RC(t){var e=t.x;t.x=t.y,t.y=e}function FC(t){var e={};SS(t.sources(),(function n(i){var r=t.node(i);if(RS(e,i))return r.rank;e[i]=!0;var a=US(NS(t.outEdges(i),(function(e){return n(e.w)-t.edge(e).minlen})));return(a===Number.POSITIVE_INFINITY||null==a)&&(a=0),r.rank=a}))}function $C(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}function jC(t){var e,n,i=new dC({directed:!1}),r=t.nodes()[0],a=t.nodeCount();for(i.setNode(r,{});zC(i,t)o.lim&&(s=o,c=!0),GS(AS(e.edges(),(function(e){return c===tA(0,t.node(e.v),s)&&c!==tA(0,t.node(e.w),s)})),(function(t){return $C(e,t)}))}function JC(t,e,n,i){var r=n.v,a=n.w;t.removeEdge(r,a),t.setEdge(i.v,i.w,{}),WC(t),YC(t,e),function(t,e){var n=IS(t.nodes(),(function(t){return!e.node(t).parent})),i=function(t,e){return UC(t,e,"pre")}(t,n);SS(i=i.slice(1),(function(n){var i=t.node(n).parent,r=e.edge(n,i),a=!1;r||(r=e.edge(i,n),a=!0),e.node(n).rank=e.node(i).rank+(a?r.minlen:-r.minlen)}))}(t,e)}function tA(t,e,n){return n.low<=e.lim&&e.lim<=n.lim}function eA(t){switch(t.graph().ranker){case"network-simplex":default:!function(t){KC(t)}(t);break;case"tight-tree":!function(t){FC(t),jC(t)}(t);break;case"longest-path":nA(t)}}new Error,KC.initLowLimValues=WC,KC.initCutValues=YC,KC.calcCutValue=VC,KC.leaveEdge=QC,KC.enterEdge=ZC,KC.exchangeEdges=JC;var nA=FC;function iA(t){var e=EC(t,"root",{},"_root"),n=function(t){var e={};function n(i,r){var a=t.children(i);a&&a.length&&SS(a,(function(t){n(t,r+1)})),e[i]=r}return SS(t.children(),(function(t){n(t,1)})),e}(t),i=HS(FS(n))-1,r=2*i+1;t.graph().nestingRoot=e,SS(t.edges(),(function(e){t.edge(e).minlen*=r}));var a=function(t){return eC(t.edges(),(function(e,n){return e+t.edge(n).weight}),0)}(t)+1;SS(t.children(),(function(o){rA(t,e,r,a,i,n,o)})),t.graph().nodeRankFactor=r}function rA(t,e,n,i,r,a,o){var s=t.children(o);if(s.length){var c=MC(t,"_bt"),l=MC(t,"_bb"),u=t.node(o);t.setParent(c,o),u.borderTop=c,t.setParent(l,o),u.borderBottom=l,SS(s,(function(s){rA(t,e,n,i,r,a,s);var u=t.node(s),h=u.borderTop?u.borderTop:s,f=u.borderBottom?u.borderBottom:s,d=u.borderTop?i:2*i,g=h!==f?1:r-a[o]+1;t.setEdge(c,h,{weight:d,minlen:g,nestingEdge:!0}),t.setEdge(f,l,{weight:d,minlen:g,nestingEdge:!0})})),t.parent(o)||t.setEdge(e,c,{weight:0,minlen:r+a[o]})}else o!==e&&t.setEdge(e,o,{weight:0,minlen:n})}function aA(t,e){for(var n=0,i=1;i0;)e%2&&(n+=s[e+1]),s[e=e-1>>1]+=t.weight;c+=t.weight*n}))),c}function sA(t,e){var n=function(t,e){var n={lhs:[],rhs:[]};return SS(t,(function(t){RS(t,"barycenter")?n.lhs.push(t):n.rhs.push(t)})),n}(t),i=n.lhs,r=iC(n.rhs,(function(t){return-t.i})),a=[],o=0,s=0,c=0;i.sort(function(t){return function(e,n){return e.barycentern.barycenter?1:t?n.i-e.i:e.i-n.i}}(!!e)),c=cA(a,r,c),SS(i,(function(t){c+=t.vs.length,a.push(t.vs),o+=t.barycenter*t.weight,s+=t.weight,c=cA(a,r,c)}));var l={vs:CT(a)};return s&&(l.barycenter=o/s,l.weight=s),l}function cA(t,e,n){for(var i;e.length&&(i=TS(e)).i<=n;)e.pop(),t.push(i.vs),n++;return n}function lA(t,e,n,i){var r=t.children(e),a=t.node(e),o=a?a.borderLeft:void 0,s=a?a.borderRight:void 0,c={};o&&(r=AS(r,(function(t){return t!==o&&t!==s})));var l=function(t,e){return NS(e,(function(e){var n=t.inEdges(e);if(n.length){var i=eC(n,(function(e,n){var i=t.edge(n),r=t.node(n.v);return{sum:e.sum+i.weight*r.order,weight:e.weight+i.weight}}),{sum:0,weight:0});return{v:e,barycenter:i.sum/i.weight,weight:i.weight}}return{v:e}}))}(t,r);SS(l,(function(e){if(t.children(e.v).length){var r=lA(t,e.v,n,i);c[e.v]=r,RS(r,"barycenter")&&function(t,e){$S(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}(e,r)}}));var u=function(t,e){var n={};return SS(t,(function(t,e){var i=n[t.v]={indegree:0,in:[],out:[],vs:[t.v],i:e};$S(t.barycenter)||(i.barycenter=t.barycenter,i.weight=t.weight)})),SS(e.edges(),(function(t){var e=n[t.v],i=n[t.w];!$S(e)&&!$S(i)&&(i.indegree++,e.out.push(n[t.w]))})),function(t){var e=[];function n(t){return function(e){e.merged||($S(e.barycenter)||$S(t.barycenter)||e.barycenter>=t.barycenter)&&function(t,e){var n=0,i=0;t.weight&&(n+=t.barycenter*t.weight,i+=t.weight),e.weight&&(n+=e.barycenter*e.weight,i+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=n/i,t.weight=i,t.i=Math.min(e.i,t.i),e.merged=!0}(t,e)}}function i(e){return function(n){n.in.push(e),0==--n.indegree&&t.push(n)}}for(;t.length;){var r=t.pop();e.push(r),SS(r.in.reverse(),n(r)),SS(r.out,i(r))}return NS(AS(e,(function(t){return!t.merged})),(function(t){return WS(t,["vs","i","barycenter","weight"])}))}(AS(n,(function(t){return!t.indegree})))}(l,n);!function(t,e){SS(t,(function(t){t.vs=CT(t.vs.map((function(t){return e[t]?e[t].vs:t})))}))}(u,c);var h=sA(u,i);if(o&&(h.vs=CT([o,h.vs,s]),t.predecessors(o).length)){var f=t.node(t.predecessors(o)[0]),d=t.node(t.predecessors(s)[0]);RS(h,"barycenter")||(h.barycenter=0,h.weight=0),h.barycenter=(h.barycenter*h.weight+f.order+d.order)/(h.weight+2),h.weight+=2}return h}function uA(t,e,n){return NS(e,(function(e){return function(t,e,n){var i=function(t){for(var e;t.hasNode(e=lC("_root")););return e}(t),r=new dC({compound:!0}).setGraph({root:i}).setDefaultNodeLabel((function(e){return t.node(e)}));return SS(t.nodes(),(function(a){var o=t.node(a),s=t.parent(a);(o.rank===e||o.minRank<=e&&e<=o.maxRank)&&(r.setNode(a),r.setParent(a,s||i),SS(t[n](a),(function(e){var n=e.v===a?e.w:e.v,i=r.edge(n,a),o=$S(i)?0:i.weight;r.setEdge(n,a,{weight:t.edge(e).weight+o})})),RS(o,"minRank")&&r.setNode(a,{borderLeft:o.borderLeft[e],borderRight:o.borderRight[e]}))})),r}(t,e,n)}))}function hA(t,e){var n=new dC;SS(t,(function(t){var i=t.graph().root,r=lA(t,i,n,e);SS(r.vs,(function(e,n){t.node(e).order=n})),function(t,e,n){var i,r={};SS(n,(function(n){for(var a,o,s=t.parent(n);s;){if((a=t.parent(s))?(o=r[a],r[a]=s):(o=i,i=s),o&&o!==s)return void e.setEdge(o,s);s=a}}))}(t,n,r.vs)}))}function fA(t,e){SS(e,(function(e){SS(e,(function(e,n){t.node(e).order=n}))}))}function dA(t,e,n){if(e>n){var i=e;e=n,n=i}var r=t[e];r||(t[e]=r={}),r[n]=!0}function gA(t,e,n){if(e>n){var i=e;e=n,n=i}return RS(t[e],n)}function pA(t){var e,n=AC(t),i=Hh(function(t,e){var n={};return eC(e,(function(e,i){var r=0,a=0,o=e.length,s=TS(i);return SS(i,(function(e,c){var l=function(t,e){if(t.node(e).dummy)return IS(t.predecessors(e),(function(e){return t.node(e).dummy}))}(t,e),u=l?t.node(l).order:o;(l||e===s)&&(SS(i.slice(a,c+1),(function(e){SS(t.predecessors(e),(function(i){var a=t.node(i),o=a.order;(oo)&&dA(n,e,s)}))}))}return eC(e,(function(e,n){var r,a=-1,o=0;return SS(n,(function(s,c){if("border"===t.node(s).dummy){var l=t.predecessors(s);l.length&&(r=t.node(l[0]).order,i(n,o,c,a,r),o=c,a=r)}i(n,o,n.length,r,e.length)})),n})),n}(t,n)),r={};SS(["u","d"],(function(a){e="u"===a?n:FS(n).reverse(),SS(["l","r"],(function(n){"r"===n&&(e=NS(e,(function(t){return FS(t).reverse()})));var o=("u"===a?t.predecessors:t.successors).bind(t),s=function(t,e,n,i){var r={},a={},o={};return SS(e,(function(t){SS(t,(function(t,e){r[t]=t,a[t]=t,o[t]=e}))})),SS(e,(function(t){var e=-1;SS(t,(function(t){var s=i(t);if(s.length)for(var c=((s=iC(s,(function(t){return o[t]}))).length-1)/2,l=Math.floor(c),u=Math.ceil(c);l<=u;++l){var h=s[l];a[t]===t&&ec||l>e[r].lim));for(a=r,r=i;(r=t.parent(r))!==a;)s.push(r);return{path:o.concat(s.reverse()),lca:a}}(t,e,r.v,r.w),o=a.path,s=a.lca,c=0,l=o[c],u=!0;n!==r.w;){if(i=t.node(n),u){for(;(l=o[c])!==s&&t.node(l).maxRank=2);var l=aA(t,r=AC(t));l{l.trace("Making markers for ",n),t.append("defs").append("marker").attr("id",n+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",n+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},composition:(t,e,n)=>{t.append("defs").append("marker").attr("id",n+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",n+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},aggregation:(t,e,n)=>{t.append("defs").append("marker").attr("id",n+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",n+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},dependency:(t,e,n)=>{t.append("defs").append("marker").attr("id",n+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",n+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},lollipop:(t,e,n)=>{t.append("defs").append("marker").attr("id",n+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",n+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},point:(t,e,n)=>{t.append("marker").attr("id",n+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",n+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},circle:(t,e,n)=>{t.append("marker").attr("id",n+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",n+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},cross:(t,e,n)=>{t.append("marker").attr("id",n+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",n+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},barb:(t,e,n)=>{t.append("defs").append("marker").attr("id",n+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}},NA=(t,e,n,i)=>{e.forEach((e=>{OA[e](t,n,i)}))},DA=(t,e,n,i)=>{let r=t||"";if("object"==typeof r&&(r=r[0]),Sc(sg().flowchart.htmlLabels))return r=r.replace(/\\n|\n/g,"
"),l.debug("vertexText"+r),function(t){const e=ee(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),n=e.append("xhtml:div"),i=t.label,r=t.isNode?"nodeLabel":"edgeLabel";return n.html('"+i+""),function(t,e){e&&t.attr("style",e)}(n,t.labelStyle),n.style("display","inline-block"),n.style("white-space","nowrap"),n.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}({isNode:i,label:gf(r).replace(/fa[blrs]?:fa-[\w-]+/g,(t=>``)),labelStyle:e.replace("fill:","color:")});{const t=document.createElementNS("http://www.w3.org/2000/svg","text");t.setAttribute("style",e.replace("color:","fill:"));let i=[];i="string"==typeof r?r.split(/\\n|\n|/gi):Array.isArray(r)?r:[];for(const e of i){const i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),n?i.setAttribute("class","title-row"):i.setAttribute("class","row"),i.textContent=e.trim(),t.appendChild(i)}return t}},PA={};function BA(t,e,n){if(function(t){return!(!t||"object"!=typeof t)}(t)){if("value"in t)return"html"!==t.type||n?t.value:"";if(e&&"alt"in t&&t.alt)return t.alt;if("children"in t)return RA(t.children,e,n)}return Array.isArray(t)?RA(t,e,n):""}function RA(t,e,n){const i=[];let r=-1;for(;++rr?0:r+e:e>r?r:e,n=n>0?n:0,i.length<1e4)a=Array.from(i),a.unshift(e,n),t.splice(...a);else for(n&&t.splice(e,n);o0?(FA(t,t.length,0,e),t):e}const jA={}.hasOwnProperty;function zA(t,e){let n;for(n in e){const i=(jA.call(t,n)?t[n]:void 0)||(t[n]={}),r=e[n];let a;if(r)for(a in r){jA.call(i,a)||(i[a]=[]);const t=r[a];qA(i[a],Array.isArray(t)?t:t?[t]:[])}}}function qA(t,e){let n=-1;const i=[];for(;++na))return;const n=e.events.length;let r,s,c=n;for(;c--;)if("exit"===e.events[c][0]&&"chunkFlow"===e.events[c][1].type){if(r){s=e.events[c][1].end;break}r=!0}for(m(o),t=n;ti;){const i=n[r];e.containerState=i[1],i[0].exit.call(e,t)}n.length=i}function y(){i.write([null]),r=void 0,i=void 0,e.containerState._closeFlow=void 0}}},aM={tokenize:function(t,e,n){return nM(t,t.attempt(this.parser.constructs.document,e,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}};function oM(t){return null===t||QA(t)||tM(t)?1:JA(t)?2:void 0}function sM(t,e,n){const i=[];let r=-1;for(;++r1&&t[u][1].end.offset-t[u][1].start.offset>1?2:1;const h=Object.assign({},t[n][1].end),f=Object.assign({},t[u][1].start);lM(h,-s),lM(f,s),a={type:s>1?"strongSequence":"emphasisSequence",start:h,end:Object.assign({},t[n][1].end)},o={type:s>1?"strongSequence":"emphasisSequence",start:Object.assign({},t[u][1].start),end:f},r={type:s>1?"strongText":"emphasisText",start:Object.assign({},t[n][1].end),end:Object.assign({},t[u][1].start)},i={type:s>1?"strong":"emphasis",start:Object.assign({},a.start),end:Object.assign({},o.end)},t[n][1].end=Object.assign({},a.start),t[u][1].start=Object.assign({},o.end),c=[],t[n][1].end.offset-t[n][1].start.offset&&(c=$A(c,[["enter",t[n][1],e],["exit",t[n][1],e]])),c=$A(c,[["enter",i,e],["enter",a,e],["exit",a,e],["enter",r,e]]),c=$A(c,sM(e.parser.constructs.insideSpan.null,t.slice(n+1,u),e)),c=$A(c,[["exit",r,e],["enter",o,e],["exit",o,e],["exit",i,e]]),t[u][1].end.offset-t[u][1].start.offset?(l=2,c=$A(c,[["enter",t[u][1],e],["exit",t[u][1],e]])):l=0,FA(t,n-1,u-n+3,c),u=n+c.length-l-2;break}for(u=-1;++u=s?(t.exit("codeFencedFenceSequence"),ZA(e)?nM(t,u,"whitespace")(e):u(e)):n(e)}function u(i){return null===i||XA(i)?(t.exit("codeFencedFence"),e(i)):n(i)}},partial:!0};let a,o=0,s=0;return function(e){return function(e){const n=i.events[i.events.length-1];return o=n&&"linePrefix"===n[1].type?n[2].sliceSerialize(n[1],!0).length:0,a=e,t.enter("codeFenced"),t.enter("codeFencedFence"),t.enter("codeFencedFenceSequence"),c(e)}(e)};function c(e){return e===a?(s++,t.consume(e),c):s<3?n(e):(t.exit("codeFencedFenceSequence"),ZA(e)?nM(t,l,"whitespace")(e):l(e))}function l(n){return null===n||XA(n)?(t.exit("codeFencedFence"),i.interrupt?e(n):t.check(mM,d,y)(n)):(t.enter("codeFencedFenceInfo"),t.enter("chunkString",{contentType:"string"}),u(n))}function u(e){return null===e||XA(e)?(t.exit("chunkString"),t.exit("codeFencedFenceInfo"),l(e)):ZA(e)?(t.exit("chunkString"),t.exit("codeFencedFenceInfo"),nM(t,h,"whitespace")(e)):96===e&&e===a?n(e):(t.consume(e),u)}function h(e){return null===e||XA(e)?l(e):(t.enter("codeFencedFenceMeta"),t.enter("chunkString",{contentType:"string"}),f(e))}function f(e){return null===e||XA(e)?(t.exit("chunkString"),t.exit("codeFencedFenceMeta"),l(e)):96===e&&e===a?n(e):(t.consume(e),f)}function d(e){return t.attempt(r,y,g)(e)}function g(e){return t.enter("lineEnding"),t.consume(e),t.exit("lineEnding"),p}function p(e){return o>0&&ZA(e)?nM(t,b,"linePrefix",o+1)(e):b(e)}function b(e){return null===e||XA(e)?t.check(mM,d,y)(e):(t.enter("codeFlowValue"),m(e))}function m(e){return null===e||XA(e)?(t.exit("codeFlowValue"),b(e)):(t.consume(e),m)}function y(n){return t.exit("codeFenced"),e(n)}},concrete:!0},wM={name:"codeIndented",tokenize:function(t,e,n){const i=this;return function(e){return t.enter("codeIndented"),nM(t,r,"linePrefix",5)(e)};function r(t){const e=i.events[i.events.length-1];return e&&"linePrefix"===e[1].type&&e[2].sliceSerialize(e[1],!0).length>=4?a(t):n(t)}function a(e){return null===e?s(e):XA(e)?t.attempt(vM,a,s)(e):(t.enter("codeFlowValue"),o(e))}function o(e){return null===e||XA(e)?(t.exit("codeFlowValue"),a(e)):(t.consume(e),o)}function s(n){return t.exit("codeIndented"),e(n)}}},vM={tokenize:function(t,e,n){const i=this;return r;function r(e){return i.parser.lazy[i.now().line]?n(e):XA(e)?(t.enter("lineEnding"),t.consume(e),t.exit("lineEnding"),r):nM(t,a,"linePrefix",5)(e)}function a(t){const a=i.events[i.events.length-1];return a&&"linePrefix"===a[1].type&&a[2].sliceSerialize(a[1],!0).length>=4?e(t):XA(t)?r(t):n(t)}},partial:!0},xM={name:"codeText",tokenize:function(t,e,n){let i,r,a=0;return function(e){return t.enter("codeText"),t.enter("codeTextSequence"),o(e)};function o(e){return 96===e?(t.consume(e),a++,o):(t.exit("codeTextSequence"),s(e))}function s(e){return null===e?n(e):32===e?(t.enter("space"),t.consume(e),t.exit("space"),s):96===e?(r=t.enter("codeTextSequence"),i=0,l(e)):XA(e)?(t.enter("lineEnding"),t.consume(e),t.exit("lineEnding"),s):(t.enter("codeTextData"),c(e))}function c(e){return null===e||32===e||96===e||XA(e)?(t.exit("codeTextData"),s(e)):(t.consume(e),c)}function l(n){return 96===n?(t.consume(n),i++,l):i===a?(t.exit("codeTextSequence"),t.exit("codeText"),e(n)):(r.type="codeTextData",c(n))}},resolve:function(t){let e,n,i=t.length-4,r=3;if(!("lineEnding"!==t[r][1].type&&"space"!==t[r][1].type||"lineEnding"!==t[i][1].type&&"space"!==t[i][1].type))for(e=r;++e=4?e(r):t.interrupt(i.parser.constructs.flow,n,e)(r)}},partial:!0};function SM(t,e,n,i,r,a,o,s,c){const l=c||Number.POSITIVE_INFINITY;let u=0;return function(e){return 60===e?(t.enter(i),t.enter(r),t.enter(a),t.consume(e),t.exit(a),h):null===e||32===e||41===e||KA(e)?n(e):(t.enter(i),t.enter(o),t.enter(s),t.enter("chunkString",{contentType:"string"}),g(e))};function h(n){return 62===n?(t.enter(a),t.consume(n),t.exit(a),t.exit(r),t.exit(i),e):(t.enter(s),t.enter("chunkString",{contentType:"string"}),f(n))}function f(e){return 62===e?(t.exit("chunkString"),t.exit(s),h(e)):null===e||60===e||XA(e)?n(e):(t.consume(e),92===e?d:f)}function d(e){return 60===e||62===e||92===e?(t.consume(e),f):f(e)}function g(r){return u||null!==r&&41!==r&&!QA(r)?u999||null===h||91===h||93===h&&!s||94===h&&!c&&"_hiddenFootnoteSupport"in o.parser.constructs?n(h):93===h?(t.exit(a),t.enter(r),t.consume(h),t.exit(r),t.exit(i),e):XA(h)?(t.enter("lineEnding"),t.consume(h),t.exit("lineEnding"),l):(t.enter("chunkString",{contentType:"string"}),u(h))}function u(e){return null===e||91===e||93===e||XA(e)||c++>999?(t.exit("chunkString"),l(e)):(t.consume(e),s||(s=!ZA(e)),92===e?h:u)}function h(e){return 91===e||92===e||93===e?(t.consume(e),c++,u):u(e)}}function AM(t,e,n,i,r,a){let o;return function(e){return 34===e||39===e||40===e?(t.enter(i),t.enter(r),t.consume(e),t.exit(r),o=40===e?41:e,s):n(e)};function s(n){return n===o?(t.enter(r),t.consume(n),t.exit(r),t.exit(i),e):(t.enter(a),c(n))}function c(e){return e===o?(t.exit(a),s(o)):null===e?n(e):XA(e)?(t.enter("lineEnding"),t.consume(e),t.exit("lineEnding"),nM(t,c,"linePrefix")):(t.enter("chunkString",{contentType:"string"}),l(e))}function l(e){return e===o||null===e||XA(e)?(t.exit("chunkString"),c(e)):(t.consume(e),92===e?u:l)}function u(e){return e===o||92===e?(t.consume(e),l):l(e)}}function MM(t,e){let n;return function i(r){return XA(r)?(t.enter("lineEnding"),t.consume(r),t.exit("lineEnding"),n=!0,i):ZA(r)?nM(t,i,n?"linePrefix":"lineSuffix")(r):e(r)}}function LM(t){return t.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const IM={name:"definition",tokenize:function(t,e,n){const i=this;let r;return function(e){return t.enter("definition"),function(e){return CM.call(i,t,a,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(e)}(e)};function a(e){return r=LM(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)),58===e?(t.enter("definitionMarker"),t.consume(e),t.exit("definitionMarker"),o):n(e)}function o(e){return QA(e)?MM(t,s)(e):s(e)}function s(e){return SM(t,c,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(e)}function c(e){return t.attempt(OM,l,l)(e)}function l(e){return ZA(e)?nM(t,u,"whitespace")(e):u(e)}function u(a){return null===a||XA(a)?(t.exit("definition"),i.parser.defined.push(r),e(a)):n(a)}}},OM={tokenize:function(t,e,n){return function(e){return QA(e)?MM(t,i)(e):n(e)};function i(e){return AM(t,r,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(e)}function r(e){return ZA(e)?nM(t,a,"whitespace")(e):a(e)}function a(t){return null===t||XA(t)?e(t):n(t)}},partial:!0},NM={name:"hardBreakEscape",tokenize:function(t,e,n){return function(e){return t.enter("hardBreakEscape"),t.consume(e),i};function i(i){return XA(i)?(t.exit("hardBreakEscape"),e(i)):n(i)}}},DM={name:"headingAtx",tokenize:function(t,e,n){let i=0;return function(e){return t.enter("atxHeading"),function(e){return t.enter("atxHeadingSequence"),r(e)}(e)};function r(e){return 35===e&&i++<6?(t.consume(e),r):null===e||QA(e)?(t.exit("atxHeadingSequence"),a(e)):n(e)}function a(n){return 35===n?(t.enter("atxHeadingSequence"),o(n)):null===n||XA(n)?(t.exit("atxHeading"),e(n)):ZA(n)?nM(t,a,"whitespace")(n):(t.enter("atxHeadingText"),s(n))}function o(e){return 35===e?(t.consume(e),o):(t.exit("atxHeadingSequence"),a(e))}function s(e){return null===e||35===e||QA(e)?(t.exit("atxHeadingText"),a(e)):(t.consume(e),s)}},resolve:function(t,e){let n,i,r=t.length-2,a=3;return"whitespace"===t[a][1].type&&(a+=2),r-2>a&&"whitespace"===t[r][1].type&&(r-=2),"atxHeadingSequence"===t[r][1].type&&(a===r-1||r-4>a&&"whitespace"===t[r-2][1].type)&&(r-=a+1===r?2:4),r>a&&(n={type:"atxHeadingText",start:t[a][1].start,end:t[r][1].end},i={type:"chunkText",start:t[a][1].start,end:t[r][1].end,contentType:"text"},FA(t,a,r-a+1,[["enter",n,e],["enter",i,e],["exit",i,e],["exit",n,e]])),t}},PM=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],BM=["pre","script","style","textarea"],RM={name:"htmlFlow",tokenize:function(t,e,n){const i=this;let r,a,o,s,c;return function(e){return function(e){return t.enter("htmlFlow"),t.enter("htmlFlowData"),t.consume(e),l}(e)};function l(s){return 33===s?(t.consume(s),u):47===s?(t.consume(s),a=!0,d):63===s?(t.consume(s),r=3,i.interrupt?e:D):HA(s)?(t.consume(s),o=String.fromCharCode(s),g):n(s)}function u(a){return 45===a?(t.consume(a),r=2,h):91===a?(t.consume(a),r=5,s=0,f):HA(a)?(t.consume(a),r=4,i.interrupt?e:D):n(a)}function h(r){return 45===r?(t.consume(r),i.interrupt?e:D):n(r)}function f(r){return r==="CDATA[".charCodeAt(s++)?(t.consume(r),6===s?i.interrupt?e:S:f):n(r)}function d(e){return HA(e)?(t.consume(e),o=String.fromCharCode(e),g):n(e)}function g(s){if(null===s||47===s||62===s||QA(s)){const c=47===s,l=o.toLowerCase();return c||a||!BM.includes(l)?PM.includes(o.toLowerCase())?(r=6,c?(t.consume(s),p):i.interrupt?e(s):S(s)):(r=7,i.interrupt&&!i.parser.lazy[i.now().line]?n(s):a?b(s):m(s)):(r=1,i.interrupt?e(s):S(s))}return 45===s||UA(s)?(t.consume(s),o+=String.fromCharCode(s),g):n(s)}function p(r){return 62===r?(t.consume(r),i.interrupt?e:S):n(r)}function b(e){return ZA(e)?(t.consume(e),b):T(e)}function m(e){return 47===e?(t.consume(e),T):58===e||95===e||HA(e)?(t.consume(e),y):ZA(e)?(t.consume(e),m):T(e)}function y(e){return 45===e||46===e||58===e||95===e||UA(e)?(t.consume(e),y):w(e)}function w(e){return 61===e?(t.consume(e),v):ZA(e)?(t.consume(e),w):m(e)}function v(e){return null===e||60===e||61===e||62===e||96===e?n(e):34===e||39===e?(t.consume(e),c=e,x):ZA(e)?(t.consume(e),v):k(e)}function x(e){return e===c?(t.consume(e),c=null,_):null===e||XA(e)?n(e):(t.consume(e),x)}function k(e){return null===e||34===e||39===e||47===e||60===e||61===e||62===e||96===e||QA(e)?w(e):(t.consume(e),k)}function _(t){return 47===t||62===t||ZA(t)?m(t):n(t)}function T(e){return 62===e?(t.consume(e),E):n(e)}function E(e){return null===e||XA(e)?S(e):ZA(e)?(t.consume(e),E):n(e)}function S(e){return 45===e&&2===r?(t.consume(e),L):60===e&&1===r?(t.consume(e),I):62===e&&4===r?(t.consume(e),P):63===e&&3===r?(t.consume(e),D):93===e&&5===r?(t.consume(e),N):!XA(e)||6!==r&&7!==r?null===e||XA(e)?(t.exit("htmlFlowData"),C(e)):(t.consume(e),S):(t.exit("htmlFlowData"),t.check(FM,B,C)(e))}function C(e){return t.check($M,A,B)(e)}function A(e){return t.enter("lineEnding"),t.consume(e),t.exit("lineEnding"),M}function M(e){return null===e||XA(e)?C(e):(t.enter("htmlFlowData"),S(e))}function L(e){return 45===e?(t.consume(e),D):S(e)}function I(e){return 47===e?(t.consume(e),o="",O):S(e)}function O(e){if(62===e){const n=o.toLowerCase();return BM.includes(n)?(t.consume(e),P):S(e)}return HA(e)&&o.length<8?(t.consume(e),o+=String.fromCharCode(e),O):S(e)}function N(e){return 93===e?(t.consume(e),D):S(e)}function D(e){return 62===e?(t.consume(e),P):45===e&&2===r?(t.consume(e),D):S(e)}function P(e){return null===e||XA(e)?(t.exit("htmlFlowData"),B(e)):(t.consume(e),P)}function B(n){return t.exit("htmlFlow"),e(n)}},resolveTo:function(t){let e=t.length;for(;e--&&("enter"!==t[e][0]||"htmlFlow"!==t[e][1].type););return e>1&&"linePrefix"===t[e-2][1].type&&(t[e][1].start=t[e-2][1].start,t[e+1][1].start=t[e-2][1].start,t.splice(e-2,2)),t},concrete:!0},FM={tokenize:function(t,e,n){return function(i){return t.enter("lineEnding"),t.consume(i),t.exit("lineEnding"),t.attempt(hM,e,n)}},partial:!0},$M={tokenize:function(t,e,n){const i=this;return function(e){return XA(e)?(t.enter("lineEnding"),t.consume(e),t.exit("lineEnding"),r):n(e)};function r(t){return i.parser.lazy[i.now().line]?n(t):e(t)}},partial:!0},jM={name:"htmlText",tokenize:function(t,e,n){const i=this;let r,a,o;return function(e){return t.enter("htmlText"),t.enter("htmlTextData"),t.consume(e),s};function s(e){return 33===e?(t.consume(e),c):47===e?(t.consume(e),v):63===e?(t.consume(e),y):HA(e)?(t.consume(e),_):n(e)}function c(e){return 45===e?(t.consume(e),l):91===e?(t.consume(e),a=0,d):HA(e)?(t.consume(e),m):n(e)}function l(e){return 45===e?(t.consume(e),f):n(e)}function u(e){return null===e?n(e):45===e?(t.consume(e),h):XA(e)?(o=u,O(e)):(t.consume(e),u)}function h(e){return 45===e?(t.consume(e),f):u(e)}function f(t){return 62===t?I(t):45===t?h(t):u(t)}function d(e){return e==="CDATA[".charCodeAt(a++)?(t.consume(e),6===a?g:d):n(e)}function g(e){return null===e?n(e):93===e?(t.consume(e),p):XA(e)?(o=g,O(e)):(t.consume(e),g)}function p(e){return 93===e?(t.consume(e),b):g(e)}function b(e){return 62===e?I(e):93===e?(t.consume(e),b):g(e)}function m(e){return null===e||62===e?I(e):XA(e)?(o=m,O(e)):(t.consume(e),m)}function y(e){return null===e?n(e):63===e?(t.consume(e),w):XA(e)?(o=y,O(e)):(t.consume(e),y)}function w(t){return 62===t?I(t):y(t)}function v(e){return HA(e)?(t.consume(e),x):n(e)}function x(e){return 45===e||UA(e)?(t.consume(e),x):k(e)}function k(e){return XA(e)?(o=k,O(e)):ZA(e)?(t.consume(e),k):I(e)}function _(e){return 45===e||UA(e)?(t.consume(e),_):47===e||62===e||QA(e)?T(e):n(e)}function T(e){return 47===e?(t.consume(e),I):58===e||95===e||HA(e)?(t.consume(e),E):XA(e)?(o=T,O(e)):ZA(e)?(t.consume(e),T):I(e)}function E(e){return 45===e||46===e||58===e||95===e||UA(e)?(t.consume(e),E):S(e)}function S(e){return 61===e?(t.consume(e),C):XA(e)?(o=S,O(e)):ZA(e)?(t.consume(e),S):T(e)}function C(e){return null===e||60===e||61===e||62===e||96===e?n(e):34===e||39===e?(t.consume(e),r=e,A):XA(e)?(o=C,O(e)):ZA(e)?(t.consume(e),C):(t.consume(e),M)}function A(e){return e===r?(t.consume(e),r=void 0,L):null===e?n(e):XA(e)?(o=A,O(e)):(t.consume(e),A)}function M(e){return null===e||34===e||39===e||60===e||61===e||96===e?n(e):47===e||62===e||QA(e)?T(e):(t.consume(e),M)}function L(t){return 47===t||62===t||QA(t)?T(t):n(t)}function I(i){return 62===i?(t.consume(i),t.exit("htmlTextData"),t.exit("htmlText"),e):n(i)}function O(e){return t.exit("htmlTextData"),t.enter("lineEnding"),t.consume(e),t.exit("lineEnding"),N}function N(e){return ZA(e)?nM(t,D,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(e):D(e)}function D(e){return t.enter("htmlTextData"),o(e)}}},zM={name:"labelEnd",tokenize:function(t,e,n){const i=this;let r,a,o=i.events.length;for(;o--;)if(("labelImage"===i.events[o][1].type||"labelLink"===i.events[o][1].type)&&!i.events[o][1]._balanced){r=i.events[o][1];break}return function(e){return r?r._inactive?u(e):(a=i.parser.defined.includes(LM(i.sliceSerialize({start:r.end,end:i.now()}))),t.enter("labelEnd"),t.enter("labelMarker"),t.consume(e),t.exit("labelMarker"),t.exit("labelEnd"),s):n(e)};function s(e){return 40===e?t.attempt(qM,l,a?l:u)(e):91===e?t.attempt(HM,l,a?c:u)(e):a?l(e):u(e)}function c(e){return t.attempt(UM,l,u)(e)}function l(t){return e(t)}function u(t){return r._balanced=!0,n(t)}},resolveTo:function(t,e){let n,i,r,a,o=t.length,s=0;for(;o--;)if(n=t[o][1],i){if("link"===n.type||"labelLink"===n.type&&n._inactive)break;"enter"===t[o][0]&&"labelLink"===n.type&&(n._inactive=!0)}else if(r){if("enter"===t[o][0]&&("labelImage"===n.type||"labelLink"===n.type)&&!n._balanced&&(i=o,"labelLink"!==n.type)){s=2;break}}else"labelEnd"===n.type&&(r=o);const c={type:"labelLink"===t[i][1].type?"link":"image",start:Object.assign({},t[i][1].start),end:Object.assign({},t[t.length-1][1].end)},l={type:"label",start:Object.assign({},t[i][1].start),end:Object.assign({},t[r][1].end)},u={type:"labelText",start:Object.assign({},t[i+s+2][1].end),end:Object.assign({},t[r-2][1].start)};return a=[["enter",c,e],["enter",l,e]],a=$A(a,t.slice(i+1,i+s+3)),a=$A(a,[["enter",u,e]]),a=$A(a,sM(e.parser.constructs.insideSpan.null,t.slice(i+s+4,r-3),e)),a=$A(a,[["exit",u,e],t[r-2],t[r-1],["exit",l,e]]),a=$A(a,t.slice(r+1)),a=$A(a,[["exit",c,e]]),FA(t,i,t.length,a),t},resolveAll:function(t){let e=-1;for(;++e=3&&(null===a||XA(a))?(t.exit("thematicBreak"),e(a)):n(a)}function o(e){return e===i?(t.consume(e),r++,o):(t.exit("thematicBreakSequence"),ZA(e)?nM(t,a,"whitespace")(e):a(e))}}},WM={name:"list",tokenize:function(t,e,n){const i=this,r=i.events[i.events.length-1];let a=r&&"linePrefix"===r[1].type?r[2].sliceSerialize(r[1],!0).length:0,o=0;return function(e){const r=i.containerState.type||(42===e||43===e||45===e?"listUnordered":"listOrdered");if("listUnordered"===r?!i.containerState.marker||e===i.containerState.marker:YA(e)){if(i.containerState.type||(i.containerState.type=r,t.enter(r,{_container:!0})),"listUnordered"===r)return t.enter("listItemPrefix"),42===e||45===e?t.check(VM,n,c)(e):c(e);if(!i.interrupt||49===e)return t.enter("listItemPrefix"),t.enter("listItemValue"),s(e)}return n(e)};function s(e){return YA(e)&&++o<10?(t.consume(e),s):(!i.interrupt||o<2)&&(i.containerState.marker?e===i.containerState.marker:41===e||46===e)?(t.exit("listItemValue"),c(e)):n(e)}function c(e){return t.enter("listItemMarker"),t.consume(e),t.exit("listItemMarker"),i.containerState.marker=i.containerState.marker||e,t.check(hM,i.interrupt?n:l,t.attempt(XM,h,u))}function l(t){return i.containerState.initialBlankLine=!0,a++,h(t)}function u(e){return ZA(e)?(t.enter("listItemPrefixWhitespace"),t.consume(e),t.exit("listItemPrefixWhitespace"),h):n(e)}function h(n){return i.containerState.size=a+i.sliceSerialize(t.exit("listItemPrefix"),!0).length,e(n)}},continuation:{tokenize:function(t,e,n){const i=this;return i.containerState._closeFlow=void 0,t.check(hM,(function(n){return i.containerState.furtherBlankLines=i.containerState.furtherBlankLines||i.containerState.initialBlankLine,nM(t,e,"listItemIndent",i.containerState.size+1)(n)}),(function(n){return i.containerState.furtherBlankLines||!ZA(n)?(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,r(n)):(i.containerState.furtherBlankLines=void 0,i.containerState.initialBlankLine=void 0,t.attempt(QM,e,r)(n))}));function r(r){return i.containerState._closeFlow=!0,i.interrupt=void 0,nM(t,t.attempt(WM,e,n),"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(r)}}},exit:function(t){t.exit(this.containerState.type)}},XM={tokenize:function(t,e,n){const i=this;return nM(t,(function(t){const r=i.events[i.events.length-1];return!ZA(t)&&r&&"listItemPrefixWhitespace"===r[1].type?e(t):n(t)}),"listItemPrefixWhitespace",i.parser.constructs.disable.null.includes("codeIndented")?void 0:5)},partial:!0},QM={tokenize:function(t,e,n){const i=this;return nM(t,(function(t){const r=i.events[i.events.length-1];return r&&"listItemIndent"===r[1].type&&r[2].sliceSerialize(r[1],!0).length===i.containerState.size?e(t):n(t)}),"listItemIndent",i.containerState.size+1)},partial:!0},ZM={name:"setextUnderline",tokenize:function(t,e,n){const i=this;let r;return function(e){let o,s=i.events.length;for(;s--;)if("lineEnding"!==i.events[s][1].type&&"linePrefix"!==i.events[s][1].type&&"content"!==i.events[s][1].type){o="paragraph"===i.events[s][1].type;break}return i.parser.lazy[i.now().line]||!i.interrupt&&!o?n(e):(t.enter("setextHeadingLine"),r=e,function(e){return t.enter("setextHeadingLineSequence"),a(e)}(e))};function a(e){return e===r?(t.consume(e),a):(t.exit("setextHeadingLineSequence"),ZA(e)?nM(t,o,"lineSuffix")(e):o(e))}function o(i){return null===i||XA(i)?(t.exit("setextHeadingLine"),e(i)):n(i)}},resolveTo:function(t,e){let n,i,r,a=t.length;for(;a--;)if("enter"===t[a][0]){if("content"===t[a][1].type){n=a;break}"paragraph"===t[a][1].type&&(i=a)}else"content"===t[a][1].type&&t.splice(a,1),!r&&"definition"===t[a][1].type&&(r=a);const o={type:"setextHeading",start:Object.assign({},t[i][1].start),end:Object.assign({},t[t.length-1][1].end)};return t[i][1].type="setextHeadingText",r?(t.splice(i,0,["enter",o,e]),t.splice(r+1,0,["exit",t[n][1],e]),t[n][1].end=Object.assign({},t[r][1].end)):t[n][1]=o,t.push(["exit",o,e]),t}},JM={tokenize:function(t){const e=this,n=t.attempt(hM,(function(i){if(null!==i)return t.enter("lineEndingBlank"),t.consume(i),t.exit("lineEndingBlank"),e.currentConstruct=void 0,n;t.consume(i)}),t.attempt(this.parser.constructs.flowInitial,i,nM(t,t.attempt(this.parser.constructs.flow,i,t.attempt(TM,i)),"linePrefix")));return n;function i(i){if(null!==i)return t.enter("lineEnding"),t.consume(i),t.exit("lineEnding"),e.currentConstruct=void 0,n;t.consume(i)}}},tL={resolveAll:rL()},eL=iL("string"),nL=iL("text");function iL(t){return{tokenize:function(e){const n=this,i=this.parser.constructs[t],r=e.attempt(i,a,o);return a;function a(t){return c(t)?r(t):o(t)}function o(t){if(null!==t)return e.enter("data"),e.consume(t),s;e.consume(t)}function s(t){return c(t)?(e.exit("data"),r(t)):(e.consume(t),s)}function c(t){if(null===t)return!0;const e=i[t];let r=-1;if(e)for(;++r-1){const t=o[0];"string"==typeof t?o[0]=t.slice(i):o.shift()}a>0&&o.push(t[r].slice(0,a))}return o}(o,t)}function f(){const{line:t,column:e,offset:n,_index:r,_bufferIndex:a}=i;return{line:t,column:e,offset:n,_index:r,_bufferIndex:a}}function d(t){u=u(t)}function g(t,e){e.restore()}function p(t,e){return function(n,r,a){let o,u,h,d;return Array.isArray(n)?p(n):"tokenize"in n?p([n]):(g=n,function(t){const e=null!==t&&g[t],n=null!==t&&g.null;return p([...Array.isArray(e)?e:e?[e]:[],...Array.isArray(n)?n:n?[n]:[]])(t)});var g;function p(t){return o=t,u=0,0===t.length?a:b(t[u])}function b(t){return function(n){return d=function(){const t=f(),e=l.previous,n=l.currentConstruct,r=l.events.length,a=Array.from(s);return{restore:function(){i=t,l.previous=e,l.currentConstruct=n,l.events.length=r,s=a,m()},from:r}}(),h=t,t.partial||(l.currentConstruct=t),t.name&&l.parser.constructs.disable.null.includes(t.name)?w():t.tokenize.call(e?Object.assign(Object.create(l),e):l,c,y,w)(n)}}function y(e){return t(h,d),r}function w(t){return d.restore(),++u13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||65535==(65535&n)||65534==(65535&n)||n>1114111?"�":String.fromCharCode(n)}const uL=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function hL(t,e,n){if(e)return e;if(35===n.charCodeAt(0)){const t=n.charCodeAt(1),e=120===t||88===t;return lL(n.slice(e?2:1),e?16:10)}return pM(n)||t}function fL(t){return t&&"object"==typeof t?"position"in t||"type"in t?gL(t.position):"start"in t||"end"in t?gL(t):"line"in t||"column"in t?dL(t):"":""}function dL(t){return pL(t&&t.line)+":"+pL(t&&t.column)}function gL(t){return dL(t&&t.start)+"-"+dL(t&&t.end)}function pL(t){return t&&"number"==typeof t?t:1}const bL={}.hasOwnProperty,mL=function(t,e,n){return"string"!=typeof e&&(n=e,e=void 0),function(t){const e={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:o(v),autolinkProtocol:f,autolinkEmail:f,atxHeading:o(m),blockQuote:o((function(){return{type:"blockquote",children:[]}})),characterEscape:f,characterReference:f,codeFenced:o(b),codeFencedFenceInfo:s,codeFencedFenceMeta:s,codeIndented:o(b,s),codeText:o((function(){return{type:"inlineCode",value:""}}),s),codeTextData:f,data:f,codeFlowValue:f,definition:o((function(){return{type:"definition",identifier:"",label:null,title:null,url:""}})),definitionDestinationString:s,definitionLabelString:s,definitionTitleString:s,emphasis:o((function(){return{type:"emphasis",children:[]}})),hardBreakEscape:o(y),hardBreakTrailing:o(y),htmlFlow:o(w,s),htmlFlowData:f,htmlText:o(w,s),htmlTextData:f,image:o((function(){return{type:"image",title:null,url:"",alt:null}})),label:s,link:o(v),listItem:o((function(t){return{type:"listItem",spread:t._spread,checked:null,children:[]}})),listItemValue:function(t){a("expectingFirstListItemValue")&&(this.stack[this.stack.length-2].start=Number.parseInt(this.sliceSerialize(t),10),r("expectingFirstListItemValue"))},listOrdered:o(x,(function(){r("expectingFirstListItemValue",!0)})),listUnordered:o(x),paragraph:o((function(){return{type:"paragraph",children:[]}})),reference:function(){r("referenceType","collapsed")},referenceString:s,resourceDestinationString:s,resourceTitleString:s,setextHeading:o(m),strong:o((function(){return{type:"strong",children:[]}})),thematicBreak:o((function(){return{type:"thematicBreak"}}))},exit:{atxHeading:l(),atxHeadingSequence:function(t){const e=this.stack[this.stack.length-1];if(!e.depth){const n=this.sliceSerialize(t).length;e.depth=n}},autolink:l(),autolinkEmail:function(t){d.call(this,t),this.stack[this.stack.length-1].url="mailto:"+this.sliceSerialize(t)},autolinkProtocol:function(t){d.call(this,t),this.stack[this.stack.length-1].url=this.sliceSerialize(t)},blockQuote:l(),characterEscapeValue:d,characterReferenceMarkerHexadecimal:p,characterReferenceMarkerNumeric:p,characterReferenceValue:function(t){const e=this.sliceSerialize(t),n=a("characterReferenceType");let i;n?(i=lL(e,"characterReferenceMarkerNumeric"===n?10:16),r("characterReferenceType")):i=pM(e);const o=this.stack.pop();o.value+=i,o.position.end=yL(t.end)},codeFenced:l((function(){const t=this.resume();this.stack[this.stack.length-1].value=t.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),r("flowCodeInside")})),codeFencedFence:function(){a("flowCodeInside")||(this.buffer(),r("flowCodeInside",!0))},codeFencedFenceInfo:function(){const t=this.resume();this.stack[this.stack.length-1].lang=t},codeFencedFenceMeta:function(){const t=this.resume();this.stack[this.stack.length-1].meta=t},codeFlowValue:d,codeIndented:l((function(){const t=this.resume();this.stack[this.stack.length-1].value=t.replace(/(\r?\n|\r)$/g,"")})),codeText:l((function(){const t=this.resume();this.stack[this.stack.length-1].value=t})),codeTextData:d,data:d,definition:l(),definitionDestinationString:function(){const t=this.resume();this.stack[this.stack.length-1].url=t},definitionLabelString:function(t){const e=this.resume(),n=this.stack[this.stack.length-1];n.label=e,n.identifier=LM(this.sliceSerialize(t)).toLowerCase()},definitionTitleString:function(){const t=this.resume();this.stack[this.stack.length-1].title=t},emphasis:l(),hardBreakEscape:l(g),hardBreakTrailing:l(g),htmlFlow:l((function(){const t=this.resume();this.stack[this.stack.length-1].value=t})),htmlFlowData:d,htmlText:l((function(){const t=this.resume();this.stack[this.stack.length-1].value=t})),htmlTextData:d,image:l((function(){const t=this.stack[this.stack.length-1];if(a("inReference")){const e=a("referenceType")||"shortcut";t.type+="Reference",t.referenceType=e,delete t.url,delete t.title}else delete t.identifier,delete t.label;r("referenceType")})),label:function(){const t=this.stack[this.stack.length-1],e=this.resume(),n=this.stack[this.stack.length-1];if(r("inReference",!0),"link"===n.type){const e=t.children;n.children=e}else n.alt=e},labelText:function(t){const e=this.sliceSerialize(t),n=this.stack[this.stack.length-2];n.label=function(t){return t.replace(uL,hL)}(e),n.identifier=LM(e).toLowerCase()},lineEnding:function(t){const n=this.stack[this.stack.length-1];if(a("atHardBreak"))return n.children[n.children.length-1].position.end=yL(t.end),void r("atHardBreak");!a("setextHeadingSlurpLineEnding")&&e.canContainEols.includes(n.type)&&(f.call(this,t),d.call(this,t))},link:l((function(){const t=this.stack[this.stack.length-1];if(a("inReference")){const e=a("referenceType")||"shortcut";t.type+="Reference",t.referenceType=e,delete t.url,delete t.title}else delete t.identifier,delete t.label;r("referenceType")})),listItem:l(),listOrdered:l(),listUnordered:l(),paragraph:l(),referenceString:function(t){const e=this.resume(),n=this.stack[this.stack.length-1];n.label=e,n.identifier=LM(this.sliceSerialize(t)).toLowerCase(),r("referenceType","full")},resourceDestinationString:function(){const t=this.resume();this.stack[this.stack.length-1].url=t},resourceTitleString:function(){const t=this.resume();this.stack[this.stack.length-1].title=t},resource:function(){r("inReference")},setextHeading:l((function(){r("setextHeadingSlurpLineEnding")})),setextHeadingLineSequence:function(t){this.stack[this.stack.length-1].depth=61===this.sliceSerialize(t).charCodeAt(0)?1:2},setextHeadingText:function(){r("setextHeadingSlurpLineEnding",!0)},strong:l(),thematicBreak:l()}};wL(e,(t||{}).mdastExtensions||[]);const n={};return function(t){let n={type:"root",children:[]};const o={stack:[n],tokenStack:[],config:e,enter:c,exit:u,buffer:s,resume:h,setData:r,getData:a},l=[];let f=-1;for(;++f0){const t=o.tokenStack[o.tokenStack.length-1];(t[1]||xL).call(o,void 0,t[0])}for(n.position={start:yL(t.length>0?t[0][1].start:{line:1,column:1,offset:0}),end:yL(t.length>0?t[t.length-2][1].end:{line:1,column:1,offset:0})},f=-1;++f{0!==n&&(a++,r.push([])),t.split(" ").forEach((t=>{t&&r[a].push({content:t,type:e})}))})):("strong"===t.type||"emphasis"===t.type)&&t.children.forEach((e=>{o(e,t.type)}))}return i.forEach((t=>{"paragraph"===t.type&&t.children.forEach((t=>{o(t)}))})),r}function _L(t,e){const n=function(t){return Intl.Segmenter?[...(new Intl.Segmenter).segment(t)].map((t=>t.segment)):[...t]}(e.content);return TL(t,[],n,e.type)}function TL(t,e,n,i){if(0===n.length)return[{content:e.join(""),type:i},{content:"",type:i}];const[r,...a]=n,o=[...e,r];return t([{content:o.join(""),type:i}])?TL(t,o,a,i):(0===e.length&&r&&(e.push(r),n.shift()),[{content:e.join(""),type:i},{content:n.join(""),type:i}])}function EL(t,e){if(t.some((({content:t})=>t.includes("\n"))))throw new Error("splitLineToFitWidth does not support newlines in the line");return SL(t,e)}function SL(t,e,n=[],i=[]){if(0===t.length)return i.length>0&&n.push(i),n.length>0?n:[];let r="";" "===t[0].content&&(r=" ",t.shift());const a=t.shift()??{content:" ",type:"normal"},o=[...i];if(""!==r&&o.push({content:r,type:"normal"}),o.push(a),e(o))return SL(t,e,n,o);if(i.length>0)n.push(i),t.unshift(a);else if(a.content){const[i,r]=_L(e,a);n.push([i]),r.content&&t.unshift(r)}return SL(t,e,n)}function CL(t,e,n){return t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*n-.1+"em").attr("dy",n+"em")}function AL(t,e,n){const i=t.append("text"),r=CL(i,1,e);LL(r,n);const a=r.node().getComputedTextLength();return i.remove(),a}function ML(t,e,n){var i;const r=t.append("text"),a=CL(r,1,e);LL(a,[{content:n,type:"normal"}]);const o=null==(i=a.node())?void 0:i.getBoundingClientRect();return o&&r.remove(),o}function LL(t,e){t.text(""),e.forEach(((e,n)=>{const i=t.append("tspan").attr("font-style","emphasis"===e.type?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight","strong"===e.type?"bold":"normal");0===n?i.text(e.content):i.text(" "+e.content)}))}const IL=(t,e="",{style:n="",isTitle:i=!1,classes:r="",useHtmlLabels:a=!0,isNode:o=!0,width:s=200,addSvgBackground:c=!1}={})=>{if(l.info("createText",e,n,i,r,a,o,c),a){const i=function(t){const{children:e}=mL(t);return e.map((function t(e){return"text"===e.type?e.value.replace(/\n/g,"
"):"strong"===e.type?`${e.children.map(t).join("")}`:"emphasis"===e.type?`${e.children.map(t).join("")}`:"paragraph"===e.type?`

${e.children.map(t).join("")}

`:`Unsupported markdown: ${e.type}`})).join("")}(e);return function(t,e,n,i,r=!1){const a=t.append("foreignObject"),o=a.append("xhtml:div"),s=e.label,c=e.isNode?"nodeLabel":"edgeLabel";o.html(`\n "+s+""),function(t,e){e&&t.attr("style",e)}(o,e.labelStyle),o.style("display","table-cell"),o.style("white-space","nowrap"),o.style("max-width",n+"px"),o.attr("xmlns","http://www.w3.org/1999/xhtml"),r&&o.attr("class","labelBkg");let l=o.node().getBoundingClientRect();return l.width===n&&(o.style("display","table"),o.style("white-space","break-spaces"),o.style("width",n+"px"),l=o.node().getBoundingClientRect()),a.style("width",l.width),a.style("height",l.height),a.node()}(t,{isNode:o,label:gf(i).replace(/fa[blrs]?:fa-[\w-]+/g,(t=>``)),labelStyle:n.replace("fill:","color:")},s,r,c)}return function(t,e,n,i=!1){const r=e.append("g"),a=r.insert("rect").attr("class","background"),o=r.append("text").attr("y","-10.1");let s=0;for(const e of n){const n=e=>AL(r,1.1,e)<=t,i=n(e)?[e]:EL(e,n);for(const t of i)LL(CL(o,s,1.1),t),s++}if(i){const t=o.node().getBBox(),e=2;return a.attr("x",-e).attr("y",-e).attr("width",t.width+2*e).attr("height",t.height+2*e),r.node()}return o.node()}(s,t,kL(e),c)},OL=async(t,e,n,i)=>{let r;const a=e.useHtmlLabels||Sc(sg().flowchart.htmlLabels);r=n||"node default";const o=t.insert("g").attr("class",r).attr("id",e.domId||e.id),s=o.insert("g").attr("class","label").attr("style",e.labelStyle);let c;c=void 0===e.labelText?"":"string"==typeof e.labelText?e.labelText:e.labelText[0];const l=s.node();let u;u="markdown"===e.labelType?IL(s,_c(gf(c),sg()),{useHtmlLabels:a,width:e.width||sg().flowchart.wrappingWidth,classes:"markdown-node-label"}):l.appendChild(DA(_c(gf(c),sg()),e.labelStyle,!1,i));let h=u.getBBox();const f=e.padding/2;if(Sc(sg().flowchart.htmlLabels)){const t=u.children[0],e=ee(u),n=t.getElementsByTagName("img");if(n){const t=""===c.replace(/]*>/g,"").trim();await Promise.all([...n].map((e=>new Promise((n=>{function i(){if(e.style.display="flex",e.style.flexDirection="column",t){const t=sg().fontSize?sg().fontSize:window.getComputedStyle(document.body).fontSize,n=5,i=parseInt(t,10)*n+"px";e.style.minWidth=i,e.style.maxWidth=i}else e.style.width="100%";n(e)}setTimeout((()=>{e.complete&&i()})),e.addEventListener("error",i),e.addEventListener("load",i)})))))}h=t.getBoundingClientRect(),e.attr("width",h.width),e.attr("height",h.height)}return a?s.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"):s.attr("transform","translate(0, "+-h.height/2+")"),e.centerLabel&&s.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"),s.insert("rect",":first-child"),{shapeSvg:o,bbox:h,halfPadding:f,label:s}},NL=(t,e)=>{const n=e.node().getBBox();t.width=n.width,t.height=n.height};function DL(t,e,n,i){return t.insert("polygon",":first-child").attr("points",i.map((function(t){return t.x+","+t.y})).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+n/2+")")}let PL={},BL={},RL={};const FL=(t,e)=>(l.trace("In isDescendant",e," ",t," = ",BL[e].includes(t)),!!BL[e].includes(t)),$L=(t,e,n,i)=>{l.warn("Copying children of ",t,"root",i,"data",e.node(t),i);const r=e.children(t)||[];t!==i&&r.push(t),l.warn("Copying (nodes) clusterId",t,"nodes",r),r.forEach((r=>{if(e.children(r).length>0)$L(r,e,n,i);else{const a=e.node(r);l.info("cp ",r," to ",i," with parent ",t),n.setNode(r,a),i!==e.parent(r)&&(l.warn("Setting parent",r,e.parent(r)),n.setParent(r,e.parent(r))),t!==i&&r!==t?(l.debug("Setting parent",r,t),n.setParent(r,t)):(l.info("In copy ",t,"root",i,"data",e.node(t),i),l.debug("Not Setting parent for node=",r,"cluster!==rootId",t!==i,"node!==clusterId",r!==t));const o=e.edges(r);l.debug("Copying Edges",o),o.forEach((r=>{l.info("Edge",r);const a=e.edge(r.v,r.w,r.name);l.info("Edge data",a,i);try{((t,e)=>(l.info("Descendants of ",e," is ",BL[e]),l.info("Edge is ",t),t.v!==e&&t.w!==e&&(BL[e]?BL[e].includes(t.v)||FL(t.v,e)||FL(t.w,e)||BL[e].includes(t.w):(l.debug("Tilt, ",e,",not in descendants"),!1))))(r,i)?(l.info("Copying as ",r.v,r.w,a,r.name),n.setEdge(r.v,r.w,a,r.name),l.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):l.info("Skipping copy of edge ",r.v,"--\x3e",r.w," rootId: ",i," clusterId:",t)}catch(t){l.error(t)}}))}l.debug("Removing node",r),e.removeNode(r)}))},jL=(t,e)=>{const n=e.children(t);let i=[...n];for(const r of n)RL[r]=t,i=[...i,...jL(r,e)];return i},zL=(t,e)=>{l.trace("Searching",t);const n=e.children(t);if(l.trace("Searching children of id ",t,n),n.length<1)return l.trace("This is a valid node",t),t;for(const i of n){const n=zL(i,e);if(n)return l.trace("Found replacement for",t," => ",n),n}},qL=t=>PL[t]&&PL[t].externalConnections&&PL[t]?PL[t].id:t,HL=(t,e)=>{if(l.warn("extractor - ",e,MA(t),t.children("D")),e>10)return void l.error("Bailing out");let n=t.nodes(),i=!1;for(const e of n){const n=t.children(e);i=i||n.length>0}if(i){l.debug("Nodes = ",n,e);for(const i of n)if(l.debug("Extracting node",i,PL,PL[i]&&!PL[i].externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),PL[i])if(!PL[i].externalConnections&&t.children(i)&&t.children(i).length>0){l.warn("Cluster without external connections, without a parent and with children",i,e);let n="TB"===t.graph().rankdir?"LR":"TB";PL[i]&&PL[i].clusterData&&PL[i].clusterData.dir&&(n=PL[i].clusterData.dir,l.warn("Fixing dir",PL[i].clusterData.dir,n));const r=new dC({multigraph:!0,compound:!0}).setGraph({rankdir:n,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}}));l.warn("Old graph before copy",MA(t)),$L(i,t,r,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:PL[i].clusterData,labelText:PL[i].labelText,graph:r}),l.warn("New graph after copy node: (",i,")",MA(r)),l.debug("Old graph after copy",MA(t))}else l.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!PL[i].externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),l.debug(PL);else l.debug("Not a cluster",i,e);n=t.nodes(),l.warn("New list of nodes",n);for(const i of n){const n=t.node(i);l.warn(" Now next level",i,n),n.clusterNode&&HL(n.graph,e+1)}}else l.debug("Done, no node has children",t.nodes())},UL=(t,e)=>{if(0===e.length)return[];let n=Object.assign(e);return e.forEach((e=>{const i=t.children(e),r=UL(t,i);n=[...n,...r]})),n};function GL(t,e,n,i){var r=t.x,a=t.y,o=r-i.x,s=a-i.y,c=Math.sqrt(e*e*s*s+n*n*o*o),l=Math.abs(e*n*o/c);i.x0}const VL=(t,e)=>{var n,i,r=t.x,a=t.y,o=e.x-r,s=e.y-a,c=t.width/2,l=t.height/2;return Math.abs(s)*c>Math.abs(o)*l?(s<0&&(l=-l),n=0===s?0:l*o/s,i=l):(o<0&&(c=-c),n=c,i=0===o?0:c*s/o),{x:r+n,y:a+i}},WL=function(t,e,n){return GL(t,e,e,n)},XL=function(t,e,n){var i=t.x,r=t.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;"function"==typeof e.forEach?e.forEach((function(t){o=Math.min(o,t.x),s=Math.min(s,t.y)})):(o=Math.min(o,e.x),s=Math.min(s,e.y));for(var c=i-t.width/2-o,l=r-t.height/2-s,u=0;u1&&a.sort((function(t,e){var i=t.x-n.x,r=t.y-n.y,a=Math.sqrt(i*i+r*r),o=e.x-n.x,s=e.y-n.y,c=Math.sqrt(o*o+s*s);return at?" "+t:"",JL=(t,e)=>`${e||"node default"}${ZL(t.classes)} ${ZL(t.class)}`,tI=async(t,e)=>{const{shapeSvg:n,bbox:i}=await OL(t,e,JL(e,void 0),!0),r=i.width+e.padding+(i.height+e.padding),a=[{x:r/2,y:0},{x:r,y:-r/2},{x:r/2,y:-r},{x:0,y:-r/2}];l.info("Question main (Circle)");const o=DL(n,r,r,a);return o.attr("style",e.style),NL(e,o),e.intersect=function(t){return l.warn("Intersect called"),XL(e,a,t)},n};function eI(t,e,n,i){const r=[],a=t=>{r.push(t,0)},o=t=>{r.push(0,t)};e.includes("t")?(l.debug("add top border"),a(n)):o(n),e.includes("r")?(l.debug("add right border"),a(i)):o(i),e.includes("b")?(l.debug("add bottom border"),a(n)):o(n),e.includes("l")?(l.debug("add left border"),a(i)):o(i),t.attr("stroke-dasharray",r.join(" "))}const nI=(t,e,n)=>{const i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let r=70,a=10;"LR"===n&&(r=10,a=70);const o=i.append("rect").attr("x",-1*r/2).attr("y",-1*a/2).attr("width",r).attr("height",a).attr("class","fork-join");return NL(e,o),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(t){return QL(e,t)},i},iI={rhombus:tI,composite:async(t,e)=>{const{shapeSvg:n,bbox:i,halfPadding:r}=await OL(t,e,"node "+e.classes,!0),a=n.insert("rect",":first-child"),o=e.positioned?e.width:i.width+e.padding,s=e.positioned?e.height:i.height+e.padding,c=e.positioned?-o/2:-i.width/2-r,u=e.positioned?-s/2:-i.height/2-r;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",c).attr("y",u).attr("width",o).attr("height",s),e.props){const t=new Set(Object.keys(e.props));e.props.borders&&(eI(a,e.props.borders,o,s),t.delete("borders")),t.forEach((t=>{l.warn(`Unknown node property ${t}`)}))}return NL(e,a),e.intersect=function(t){return QL(e,t)},n},question:tI,rect:async(t,e)=>{const{shapeSvg:n,bbox:i,halfPadding:r}=await OL(t,e,"node "+e.classes+" "+e.class,!0),a=n.insert("rect",":first-child"),o=e.positioned?e.width:i.width+e.padding,s=e.positioned?e.height:i.height+e.padding,c=e.positioned?-o/2:-i.width/2-r,u=e.positioned?-s/2:-i.height/2-r;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",c).attr("y",u).attr("width",o).attr("height",s),e.props){const t=new Set(Object.keys(e.props));e.props.borders&&(eI(a,e.props.borders,o,s),t.delete("borders")),t.forEach((t=>{l.warn(`Unknown node property ${t}`)}))}return NL(e,a),e.intersect=function(t){return QL(e,t)},n},labelRect:async(t,e)=>{const{shapeSvg:n}=await OL(t,e,"label",!0);l.trace("Classes = ",e.class);const i=n.insert("rect",":first-child");if(i.attr("width",0).attr("height",0),n.attr("class","label edgeLabel"),e.props){const t=new Set(Object.keys(e.props));e.props.borders&&(eI(i,e.props.borders,0,0),t.delete("borders")),t.forEach((t=>{l.warn(`Unknown node property ${t}`)}))}return NL(e,i),e.intersect=function(t){return QL(e,t)},n},rectWithTitle:(t,e)=>{let n;n=e.classes?"node "+e.classes:"node default";const i=t.insert("g").attr("class",n).attr("id",e.domId||e.id),r=i.insert("rect",":first-child"),a=i.insert("line"),o=i.insert("g").attr("class","label"),s=e.labelText.flat?e.labelText.flat():e.labelText;let c="";c="object"==typeof s?s[0]:s,l.info("Label text abc79",c,s,"object"==typeof s);const u=o.node().appendChild(DA(c,e.labelStyle,!0,!0));let h={width:0,height:0};if(Sc(sg().flowchart.htmlLabels)){const t=u.children[0],e=ee(u);h=t.getBoundingClientRect(),e.attr("width",h.width),e.attr("height",h.height)}l.info("Text 2",s);const f=s.slice(1,s.length);let d=u.getBBox();const g=o.node().appendChild(DA(f.join?f.join("
"):f,e.labelStyle,!0,!0));if(Sc(sg().flowchart.htmlLabels)){const t=g.children[0],e=ee(g);h=t.getBoundingClientRect(),e.attr("width",h.width),e.attr("height",h.height)}const p=e.padding/2;return ee(g).attr("transform","translate( "+(h.width>d.width?0:(d.width-h.width)/2)+", "+(d.height+p+5)+")"),ee(u).attr("transform","translate( "+(h.width{const n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);return n.insert("polygon",":first-child").attr("points",[{x:0,y:14},{x:14,y:0},{x:0,y:-14},{x:-14,y:0}].map((function(t){return t.x+","+t.y})).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(t){return WL(e,14,t)},n},circle:async(t,e)=>{const{shapeSvg:n,bbox:i,halfPadding:r}=await OL(t,e,JL(e,void 0),!0),a=n.insert("circle",":first-child");return a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",i.width/2+r).attr("width",i.width+e.padding).attr("height",i.height+e.padding),l.info("Circle main"),NL(e,a),e.intersect=function(t){return l.info("Circle intersect",e,i.width/2+r,t),WL(e,i.width/2+r,t)},n},doublecircle:async(t,e)=>{const{shapeSvg:n,bbox:i,halfPadding:r}=await OL(t,e,JL(e,void 0),!0),a=n.insert("g",":first-child"),o=a.insert("circle"),s=a.insert("circle");return a.attr("class",e.class),o.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",i.width/2+r+5).attr("width",i.width+e.padding+10).attr("height",i.height+e.padding+10),s.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",i.width/2+r).attr("width",i.width+e.padding).attr("height",i.height+e.padding),l.info("DoubleCircle main"),NL(e,o),e.intersect=function(t){return l.info("DoubleCircle intersect",e,i.width/2+r+5,t),WL(e,i.width/2+r+5,t)},n},stadium:async(t,e)=>{const{shapeSvg:n,bbox:i}=await OL(t,e,JL(e,void 0),!0),r=i.height+e.padding,a=i.width+r/4+e.padding,o=n.insert("rect",":first-child").attr("style",e.style).attr("rx",r/2).attr("ry",r/2).attr("x",-a/2).attr("y",-r/2).attr("width",a).attr("height",r);return NL(e,o),e.intersect=function(t){return QL(e,t)},n},hexagon:async(t,e)=>{const{shapeSvg:n,bbox:i}=await OL(t,e,JL(e,void 0),!0),r=i.height+e.padding,a=r/4,o=i.width+2*a+e.padding,s=[{x:a,y:0},{x:o-a,y:0},{x:o,y:-r/2},{x:o-a,y:-r},{x:a,y:-r},{x:0,y:-r/2}],c=DL(n,o,r,s);return c.attr("style",e.style),NL(e,c),e.intersect=function(t){return XL(e,s,t)},n},block_arrow:async(t,e)=>{const{shapeSvg:n,bbox:i}=await OL(t,e,void 0,!0),r=i.height+2*e.padding,a=r/2,o=i.width+2*a+e.padding,s=((t,e,n)=>{const i=(t=>{const e=new Set;for(const n of t)switch(n){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(n)}return e})(t),r=e.height+2*n.padding,a=r/2,o=e.width+2*a+n.padding,s=n.padding/2;return i.has("right")&&i.has("left")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:a,y:0},{x:o/2,y:2*s},{x:o-a,y:0},{x:o,y:0},{x:o,y:-r/3},{x:o+2*s,y:-r/2},{x:o,y:-2*r/3},{x:o,y:-r},{x:o-a,y:-r},{x:o/2,y:-r-2*s},{x:a,y:-r},{x:0,y:-r},{x:0,y:-2*r/3},{x:-2*s,y:-r/2},{x:0,y:-r/3}]:i.has("right")&&i.has("left")&&i.has("up")?[{x:a,y:0},{x:o-a,y:0},{x:o,y:-r/2},{x:o-a,y:-r},{x:a,y:-r},{x:0,y:-r/2}]:i.has("right")&&i.has("left")&&i.has("down")?[{x:0,y:0},{x:a,y:-r},{x:o-a,y:-r},{x:o,y:0}]:i.has("right")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:o,y:-a},{x:o,y:-r+a},{x:0,y:-r}]:i.has("left")&&i.has("up")&&i.has("down")?[{x:o,y:0},{x:0,y:-a},{x:0,y:-r+a},{x:o,y:-r}]:i.has("right")&&i.has("left")?[{x:a,y:0},{x:a,y:-s},{x:o-a,y:-s},{x:o-a,y:0},{x:o,y:-r/2},{x:o-a,y:-r},{x:o-a,y:-r+s},{x:a,y:-r+s},{x:a,y:-r},{x:0,y:-r/2}]:i.has("up")&&i.has("down")?[{x:o/2,y:0},{x:0,y:-s},{x:a,y:-s},{x:a,y:-r+s},{x:0,y:-r+s},{x:o/2,y:-r},{x:o,y:-r+s},{x:o-a,y:-r+s},{x:o-a,y:-s},{x:o,y:-s}]:i.has("right")&&i.has("up")?[{x:0,y:0},{x:o,y:-a},{x:0,y:-r}]:i.has("right")&&i.has("down")?[{x:0,y:0},{x:o,y:0},{x:0,y:-r}]:i.has("left")&&i.has("up")?[{x:o,y:0},{x:0,y:-a},{x:o,y:-r}]:i.has("left")&&i.has("down")?[{x:o,y:0},{x:0,y:0},{x:o,y:-r}]:i.has("right")?[{x:a,y:-s},{x:a,y:-s},{x:o-a,y:-s},{x:o-a,y:0},{x:o,y:-r/2},{x:o-a,y:-r},{x:o-a,y:-r+s},{x:a,y:-r+s},{x:a,y:-r+s}]:i.has("left")?[{x:a,y:0},{x:a,y:-s},{x:o-a,y:-s},{x:o-a,y:-r+s},{x:a,y:-r+s},{x:a,y:-r},{x:0,y:-r/2}]:i.has("up")?[{x:a,y:-s},{x:a,y:-r+s},{x:0,y:-r+s},{x:o/2,y:-r},{x:o,y:-r+s},{x:o-a,y:-r+s},{x:o-a,y:-s}]:i.has("down")?[{x:o/2,y:0},{x:0,y:-s},{x:a,y:-s},{x:a,y:-r+s},{x:o-a,y:-r+s},{x:o-a,y:-s},{x:o,y:-s}]:[{x:0,y:0}]})(e.directions,i,e),c=DL(n,o,r,s);return c.attr("style",e.style),NL(e,c),e.intersect=function(t){return XL(e,s,t)},n},rect_left_inv_arrow:async(t,e)=>{const{shapeSvg:n,bbox:i}=await OL(t,e,JL(e,void 0),!0),r=i.width+e.padding,a=i.height+e.padding,o=[{x:-a/2,y:0},{x:r,y:0},{x:r,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return DL(n,r,a,o).attr("style",e.style),e.width=r+a,e.height=a,e.intersect=function(t){return XL(e,o,t)},n},lean_right:async(t,e)=>{const{shapeSvg:n,bbox:i}=await OL(t,e,JL(e),!0),r=i.width+e.padding,a=i.height+e.padding,o=[{x:-2*a/6,y:0},{x:r-a/6,y:0},{x:r+2*a/6,y:-a},{x:a/6,y:-a}],s=DL(n,r,a,o);return s.attr("style",e.style),NL(e,s),e.intersect=function(t){return XL(e,o,t)},n},lean_left:async(t,e)=>{const{shapeSvg:n,bbox:i}=await OL(t,e,JL(e,void 0),!0),r=i.width+e.padding,a=i.height+e.padding,o=[{x:2*a/6,y:0},{x:r+a/6,y:0},{x:r-2*a/6,y:-a},{x:-a/6,y:-a}],s=DL(n,r,a,o);return s.attr("style",e.style),NL(e,s),e.intersect=function(t){return XL(e,o,t)},n},trapezoid:async(t,e)=>{const{shapeSvg:n,bbox:i}=await OL(t,e,JL(e,void 0),!0),r=i.width+e.padding,a=i.height+e.padding,o=[{x:-2*a/6,y:0},{x:r+2*a/6,y:0},{x:r-a/6,y:-a},{x:a/6,y:-a}],s=DL(n,r,a,o);return s.attr("style",e.style),NL(e,s),e.intersect=function(t){return XL(e,o,t)},n},inv_trapezoid:async(t,e)=>{const{shapeSvg:n,bbox:i}=await OL(t,e,JL(e,void 0),!0),r=i.width+e.padding,a=i.height+e.padding,o=[{x:a/6,y:0},{x:r-a/6,y:0},{x:r+2*a/6,y:-a},{x:-2*a/6,y:-a}],s=DL(n,r,a,o);return s.attr("style",e.style),NL(e,s),e.intersect=function(t){return XL(e,o,t)},n},rect_right_inv_arrow:async(t,e)=>{const{shapeSvg:n,bbox:i}=await OL(t,e,JL(e,void 0),!0),r=i.width+e.padding,a=i.height+e.padding,o=[{x:0,y:0},{x:r+a/2,y:0},{x:r,y:-a/2},{x:r+a/2,y:-a},{x:0,y:-a}],s=DL(n,r,a,o);return s.attr("style",e.style),NL(e,s),e.intersect=function(t){return XL(e,o,t)},n},cylinder:async(t,e)=>{const{shapeSvg:n,bbox:i}=await OL(t,e,JL(e,void 0),!0),r=i.width+e.padding,a=r/2,o=a/(2.5+r/50),s=i.height+o+e.padding,c="M 0,"+o+" a "+a+","+o+" 0,0,0 "+r+" 0 a "+a+","+o+" 0,0,0 "+-r+" 0 l 0,"+s+" a "+a+","+o+" 0,0,0 "+r+" 0 l 0,"+-s,l=n.attr("label-offset-y",o).insert("path",":first-child").attr("style",e.style).attr("d",c).attr("transform","translate("+-r/2+","+-(s/2+o)+")");return NL(e,l),e.intersect=function(t){const n=QL(e,t),i=n.x-e.x;if(0!=a&&(Math.abs(i)e.height/2-o)){let r=o*o*(1-i*i/(a*a));0!=r&&(r=Math.sqrt(r)),r=o-r,t.y-e.y>0&&(r=-r),n.y+=r}return n},n},start:(t,e)=>{const n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),i=n.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),NL(e,i),e.intersect=function(t){return WL(e,7,t)},n},end:(t,e)=>{const n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),i=n.insert("circle",":first-child"),r=n.insert("circle",":first-child");return r.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),i.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),NL(e,r),e.intersect=function(t){return WL(e,7,t)},n},note:async(t,e)=>{e.useHtmlLabels||sg().flowchart.htmlLabels||(e.centerLabel=!0);const{shapeSvg:n,bbox:i,halfPadding:r}=await OL(t,e,"node "+e.classes,!0);l.info("Classes = ",e.classes);const a=n.insert("rect",":first-child");return a.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-r).attr("y",-i.height/2-r).attr("width",i.width+e.padding).attr("height",i.height+e.padding),NL(e,a),e.intersect=function(t){return QL(e,t)},n},subroutine:async(t,e)=>{const{shapeSvg:n,bbox:i}=await OL(t,e,JL(e,void 0),!0),r=i.width+e.padding,a=i.height+e.padding,o=[{x:0,y:0},{x:r,y:0},{x:r,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:r+8,y:0},{x:r+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],s=DL(n,r,a,o);return s.attr("style",e.style),NL(e,s),e.intersect=function(t){return XL(e,o,t)},n},fork:nI,join:nI,class_box:(t,e)=>{const n=e.padding/2;let i;i=e.classes?"node "+e.classes:"node default";const r=t.insert("g").attr("class",i).attr("id",e.domId||e.id),a=r.insert("rect",":first-child"),o=r.insert("line"),s=r.insert("line");let c=0,l=4;const u=r.insert("g").attr("class","label");let h=0;const f=e.classData.annotations&&e.classData.annotations[0],d=e.classData.annotations[0]?"«"+e.classData.annotations[0]+"»":"",g=u.node().appendChild(DA(d,e.labelStyle,!0,!0));let p=g.getBBox();if(Sc(sg().flowchart.htmlLabels)){const t=g.children[0],e=ee(g);p=t.getBoundingClientRect(),e.attr("width",p.width),e.attr("height",p.height)}e.classData.annotations[0]&&(l+=p.height+4,c+=p.width);let b=e.classData.label;void 0!==e.classData.type&&""!==e.classData.type&&(sg().flowchart.htmlLabels?b+="<"+e.classData.type+">":b+="<"+e.classData.type+">");const m=u.node().appendChild(DA(b,e.labelStyle,!0,!0));ee(m).attr("class","classTitle");let y=m.getBBox();if(Sc(sg().flowchart.htmlLabels)){const t=m.children[0],e=ee(m);y=t.getBoundingClientRect(),e.attr("width",y.width),e.attr("height",y.height)}l+=y.height+4,y.width>c&&(c=y.width);const w=[];e.classData.members.forEach((t=>{const n=t.getDisplayDetails();let i=n.displayText;sg().flowchart.htmlLabels&&(i=i.replace(//g,">"));const r=u.node().appendChild(DA(i,n.cssStyle?n.cssStyle:e.labelStyle,!0,!0));let a=r.getBBox();if(Sc(sg().flowchart.htmlLabels)){const t=r.children[0],e=ee(r);a=t.getBoundingClientRect(),e.attr("width",a.width),e.attr("height",a.height)}a.width>c&&(c=a.width),l+=a.height+4,w.push(r)})),l+=8;const v=[];if(e.classData.methods.forEach((t=>{const n=t.getDisplayDetails();let i=n.displayText;sg().flowchart.htmlLabels&&(i=i.replace(//g,">"));const r=u.node().appendChild(DA(i,n.cssStyle?n.cssStyle:e.labelStyle,!0,!0));let a=r.getBBox();if(Sc(sg().flowchart.htmlLabels)){const t=r.children[0],e=ee(r);a=t.getBoundingClientRect(),e.attr("width",a.width),e.attr("height",a.height)}a.width>c&&(c=a.width),l+=a.height+4,v.push(r)})),l+=8,f){let t=(c-p.width)/2;ee(g).attr("transform","translate( "+(-1*c/2+t)+", "+-1*l/2+")"),h=p.height+4}let x=(c-y.width)/2;return ee(m).attr("transform","translate( "+(-1*c/2+x)+", "+(-1*l/2+h)+")"),h+=y.height+4,o.attr("class","divider").attr("x1",-c/2-n).attr("x2",c/2+n).attr("y1",-l/2-n+8+h).attr("y2",-l/2-n+8+h),h+=8,w.forEach((t=>{ee(t).attr("transform","translate( "+-c/2+", "+(-1*l/2+h+4)+")");const e=null==t?void 0:t.getBBox();h+=((null==e?void 0:e.height)??0)+4})),h+=8,s.attr("class","divider").attr("x1",-c/2-n).attr("x2",c/2+n).attr("y1",-l/2-n+8+h).attr("y2",-l/2-n+8+h),h+=8,v.forEach((t=>{ee(t).attr("transform","translate( "+-c/2+", "+(-1*l/2+h)+")");const e=null==t?void 0:t.getBBox();h+=((null==e?void 0:e.height)??0)+4})),a.attr("style",e.style).attr("class","outer title-state").attr("x",-c/2-n).attr("y",-l/2-n).attr("width",c+e.padding).attr("height",l+e.padding),NL(e,a),e.intersect=function(t){return QL(e,t)},r}};let rI={};const aI=async(t,e,n)=>{let i,r;if(e.link){let a;"sandbox"===sg().securityLevel?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),i=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),r=await iI[e.shape](i,e,n)}else r=await iI[e.shape](t,e,n),i=r;return e.tooltip&&r.attr("title",e.tooltip),e.class&&r.attr("class","node default "+e.class),i.attr("data-node","true"),i.attr("data-id",e.id),rI[e.id]=i,e.haveCallback&&rI[e.id].attr("class",rI[e.id].attr("class")+" clickable"),i},oI=t=>{const e=rI[t.id];l.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-8)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},sI=({flowchart:t})=>{var e,n;const i=(null==(e=null==t?void 0:t.subGraphTitleMargin)?void 0:e.top)??0,r=(null==(n=null==t?void 0:t.subGraphTitleMargin)?void 0:n.bottom)??0;return{subGraphTitleTopMargin:i,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:i+r}},cI={rect:(t,e)=>{l.info("Creating subgraph rect for ",e.id,e);const n=sg(),i=t.insert("g").attr("class","cluster"+(e.class?" "+e.class:"")).attr("id",e.id),r=i.insert("rect",":first-child"),a=Sc(n.flowchart.htmlLabels),o=i.insert("g").attr("class","cluster-label"),s="markdown"===e.labelType?IL(o,e.labelText,{style:e.labelStyle,useHtmlLabels:a}):o.node().appendChild(DA(e.labelText,e.labelStyle,void 0,!0));let c=s.getBBox();if(Sc(n.flowchart.htmlLabels)){const t=s.children[0],e=ee(s);c=t.getBoundingClientRect(),e.attr("width",c.width),e.attr("height",c.height)}const u=0*e.padding,h=u/2,f=e.width<=c.width+u?c.width+u:e.width;e.width<=c.width+u?e.diff=(c.width-e.width)/2-e.padding/2:e.diff=-e.padding/2,l.trace("Data ",e,JSON.stringify(e)),r.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-f/2).attr("y",e.y-e.height/2-h).attr("width",f).attr("height",e.height+u);const{subGraphTitleTopMargin:d}=sI(n);a?o.attr("transform",`translate(${e.x-c.width/2}, ${e.y-e.height/2+d})`):o.attr("transform",`translate(${e.x}, ${e.y-e.height/2+d})`);const g=r.node().getBBox();return e.width=g.width,e.height=g.height,e.intersect=function(t){return VL(e,t)},i},roundedWithTitle:(t,e)=>{const n=sg(),i=t.insert("g").attr("class",e.classes).attr("id",e.id),r=i.insert("rect",":first-child"),a=i.insert("g").attr("class","cluster-label"),o=i.append("rect"),s=a.node().appendChild(DA(e.labelText,e.labelStyle,void 0,!0));let c=s.getBBox();if(Sc(n.flowchart.htmlLabels)){const t=s.children[0],e=ee(s);c=t.getBoundingClientRect(),e.attr("width",c.width),e.attr("height",c.height)}c=s.getBBox();const l=0*e.padding,u=l/2,h=e.width<=c.width+e.padding?c.width+e.padding:e.width;e.width<=c.width+e.padding?e.diff=(c.width+0*e.padding-e.width)/2:e.diff=-e.padding/2,r.attr("class","outer").attr("x",e.x-h/2-u).attr("y",e.y-e.height/2-u).attr("width",h+l).attr("height",e.height+l),o.attr("class","inner").attr("x",e.x-h/2-u).attr("y",e.y-e.height/2-u+c.height-1).attr("width",h+l).attr("height",e.height+l-c.height-3);const{subGraphTitleTopMargin:f}=sI(n);a.attr("transform",`translate(${e.x-c.width/2}, ${e.y-e.height/2-e.padding/3+(Sc(n.flowchart.htmlLabels)?5:3)+f})`);const d=r.node().getBBox();return e.height=d.height,e.intersect=function(t){return VL(e,t)},i},noteGroup:(t,e)=>{const n=t.insert("g").attr("class","note-cluster").attr("id",e.id),i=n.insert("rect",":first-child"),r=0*e.padding,a=r/2;i.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+r).attr("height",e.height+r).attr("fill","none");const o=i.node().getBBox();return e.width=o.width,e.height=o.height,e.intersect=function(t){return VL(e,t)},n},divider:(t,e)=>{const n=t.insert("g").attr("class",e.classes).attr("id",e.id),i=n.insert("rect",":first-child"),r=0*e.padding,a=r/2;i.attr("class","divider").attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2).attr("width",e.width+r).attr("height",e.height+r);const o=i.node().getBBox();return e.width=o.width,e.height=o.height,e.diff=-e.padding/2,e.intersect=function(t){return VL(e,t)},n}};let lI={};const uI={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function hI(t,e){if(void 0===t||void 0===e)return{angle:0,deltaX:0,deltaY:0};t=fI(t),e=fI(e);const[n,i]=[t.x,t.y],[r,a]=[e.x,e.y],o=r-n,s=a-i;return{angle:Math.atan(s/o),deltaX:o,deltaY:s}}const fI=t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,dI=t=>({x:function(e,n,i){let r=0;if(0===n&&Object.hasOwn(uI,t.arrowTypeStart)){const{angle:e,deltaX:n}=hI(i[0],i[1]);r=uI[t.arrowTypeStart]*Math.cos(e)*(n>=0?1:-1)}else if(n===i.length-1&&Object.hasOwn(uI,t.arrowTypeEnd)){const{angle:e,deltaX:n}=hI(i[i.length-1],i[i.length-2]);r=uI[t.arrowTypeEnd]*Math.cos(e)*(n>=0?1:-1)}return fI(e).x+r},y:function(e,n,i){let r=0;if(0===n&&Object.hasOwn(uI,t.arrowTypeStart)){const{angle:e,deltaY:n}=hI(i[0],i[1]);r=uI[t.arrowTypeStart]*Math.abs(Math.sin(e))*(n>=0?1:-1)}else if(n===i.length-1&&Object.hasOwn(uI,t.arrowTypeEnd)){const{angle:e,deltaY:n}=hI(i[i.length-1],i[i.length-2]);r=uI[t.arrowTypeEnd]*Math.abs(Math.sin(e))*(n>=0?1:-1)}return fI(e).y+r}}),gI=(t,e,n,i,r)=>{e.arrowTypeStart&&bI(t,"start",e.arrowTypeStart,n,i,r),e.arrowTypeEnd&&bI(t,"end",e.arrowTypeEnd,n,i,r)},pI={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},bI=(t,e,n,i,r,a)=>{const o=pI[n];if(!o)return void l.warn(`Unknown arrow type: ${n}`);const s="start"===e?"Start":"End";t.attr(`marker-${e}`,`url(${i}#${r}_${a}-${o}${s})`)};let mI={},yI={};const wI=(t,e)=>{const n=Sc(sg().flowchart.htmlLabels),i="markdown"===e.labelType?IL(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:!0}):DA(e.label,e.labelStyle),r=t.insert("g").attr("class","edgeLabel"),a=r.insert("g").attr("class","label");a.node().appendChild(i);let o,s=i.getBBox();if(n){const t=i.children[0],e=ee(i);s=t.getBoundingClientRect(),e.attr("width",s.width),e.attr("height",s.height)}if(a.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),mI[e.id]=r,e.width=s.width,e.height=s.height,e.startLabelLeft){const n=DA(e.startLabelLeft,e.labelStyle),i=t.insert("g").attr("class","edgeTerminals"),r=i.insert("g").attr("class","inner");o=r.node().appendChild(n);const a=n.getBBox();r.attr("transform","translate("+-a.width/2+", "+-a.height/2+")"),yI[e.id]||(yI[e.id]={}),yI[e.id].startLeft=i,vI(o,e.startLabelLeft)}if(e.startLabelRight){const n=DA(e.startLabelRight,e.labelStyle),i=t.insert("g").attr("class","edgeTerminals"),r=i.insert("g").attr("class","inner");o=i.node().appendChild(n),r.node().appendChild(n);const a=n.getBBox();r.attr("transform","translate("+-a.width/2+", "+-a.height/2+")"),yI[e.id]||(yI[e.id]={}),yI[e.id].startRight=i,vI(o,e.startLabelRight)}if(e.endLabelLeft){const n=DA(e.endLabelLeft,e.labelStyle),i=t.insert("g").attr("class","edgeTerminals"),r=i.insert("g").attr("class","inner");o=r.node().appendChild(n);const a=n.getBBox();r.attr("transform","translate("+-a.width/2+", "+-a.height/2+")"),i.node().appendChild(n),yI[e.id]||(yI[e.id]={}),yI[e.id].endLeft=i,vI(o,e.endLabelLeft)}if(e.endLabelRight){const n=DA(e.endLabelRight,e.labelStyle),i=t.insert("g").attr("class","edgeTerminals"),r=i.insert("g").attr("class","inner");o=r.node().appendChild(n);const a=n.getBBox();r.attr("transform","translate("+-a.width/2+", "+-a.height/2+")"),i.node().appendChild(n),yI[e.id]||(yI[e.id]={}),yI[e.id].endRight=i,vI(o,e.endLabelRight)}return i};function vI(t,e){sg().flowchart.htmlLabels&&t&&(t.style.width=9*e.length+"px",t.style.height="12px")}const xI=(t,e)=>{l.debug("Moving label abc88 ",t.id,t.label,mI[t.id],e);let n=e.updatedPath?e.updatedPath:e.originalPath;const i=sg(),{subGraphTitleTotalMargin:r}=sI(i);if(t.label){const i=mI[t.id];let a=t.x,o=t.y;if(n){const i=df.calcLabelPosition(n);l.debug("Moving label "+t.label+" from (",a,",",o,") to (",i.x,",",i.y,") abc88"),e.updatedPath&&(a=i.x,o=i.y)}i.attr("transform",`translate(${a}, ${o+r/2})`)}if(t.startLabelLeft){const e=yI[t.id].startLeft;let i=t.x,r=t.y;if(n){const e=df.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",n);i=e.x,r=e.y}e.attr("transform",`translate(${i}, ${r})`)}if(t.startLabelRight){const e=yI[t.id].startRight;let i=t.x,r=t.y;if(n){const e=df.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",n);i=e.x,r=e.y}e.attr("transform",`translate(${i}, ${r})`)}if(t.endLabelLeft){const e=yI[t.id].endLeft;let i=t.x,r=t.y;if(n){const e=df.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",n);i=e.x,r=e.y}e.attr("transform",`translate(${i}, ${r})`)}if(t.endLabelRight){const e=yI[t.id].endRight;let i=t.x,r=t.y;if(n){const e=df.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",n);i=e.x,r=e.y}e.attr("transform",`translate(${i}, ${r})`)}},kI=(t,e)=>{l.debug("abc88 cutPathAtIntersect",t,e);let n=[],i=t[0],r=!1;return t.forEach((t=>{if(((t,e)=>{const n=t.x,i=t.y,r=Math.abs(e.x-n),a=Math.abs(e.y-i),o=t.width/2,s=t.height/2;return r>=o||a>=s})(e,t)||r)i=t,r||n.push(t);else{const a=((t,e,n)=>{l.debug(`intersection calc abc89:\n outsidePoint: ${JSON.stringify(e)}\n insidePoint : ${JSON.stringify(n)}\n node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const i=t.x,r=t.y,a=Math.abs(i-n.x),o=t.width/2;let s=n.xMath.abs(i-e.x)*c){let t=n.y{o=o||t.x===a.x&&t.y===a.y})),n.some((t=>t.x===a.x&&t.y===a.y))||n.push(a),r=!0}})),n},_I=function(t,e,n,i,r,a,o){let s=n.points;l.debug("abc88 InsertEdge: edge=",n,"e=",e);let c=!1;const u=a.node(e.v);var h=a.node(e.w);null!=h&&h.intersect&&null!=u&&u.intersect&&(s=s.slice(1,n.points.length-1),s.unshift(u.intersect(s[0])),s.push(h.intersect(s[s.length-1]))),n.toCluster&&(l.debug("to cluster abc88",i[n.toCluster]),s=kI(n.points,i[n.toCluster].node),c=!0),n.fromCluster&&(l.debug("from cluster abc88",i[n.fromCluster]),s=kI(s.reverse(),i[n.fromCluster].node).reverse(),c=!0);const f=s.filter((t=>!Number.isNaN(t.y)));let d=Ko;n.curve&&("graph"===r||"flowchart"===r)&&(d=n.curve);const{x:g,y:p}=dI(n),b=$o().x(g).y(p).curve(d);let m;switch(n.thickness){case"normal":m="edge-thickness-normal";break;case"thick":case"invisible":m="edge-thickness-thick";break;default:m=""}switch(n.pattern){case"solid":m+=" edge-pattern-solid";break;case"dotted":m+=" edge-pattern-dotted";break;case"dashed":m+=" edge-pattern-dashed"}const y=t.append("path").attr("d",b(f)).attr("id",n.id).attr("class"," "+m+(n.classes?" "+n.classes:"")).attr("style",n.style);let w="";(sg().flowchart.arrowMarkerAbsolute||sg().state.arrowMarkerAbsolute)&&(w=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,w=w.replace(/\(/g,"\\("),w=w.replace(/\)/g,"\\)")),gI(y,n,w,o,r);let v={};return c&&(v.updatedPath=s),v.originalPath=n.points,v},TI=async(t,e,n,i,r,a)=>{l.info("Graph in recursive render: XXX",MA(e),r);const o=e.graph().rankdir;l.trace("Dir in recursive render - dir:",o);const s=t.insert("g").attr("class","root");e.nodes()?l.info("Recursive render XXX",e.nodes()):l.info("No nodes found for",e),e.edges().length>0&&l.trace("Recursive edges",e.edge(e.edges()[0]));const c=s.insert("g").attr("class","clusters"),u=s.insert("g").attr("class","edgePaths"),h=s.insert("g").attr("class","edgeLabels"),f=s.insert("g").attr("class","nodes");await Promise.all(e.nodes().map((async function(t){const s=e.node(t);if(void 0!==r){const n=JSON.parse(JSON.stringify(r.clusterData));l.info("Setting data for cluster XXX (",t,") ",n,r),e.setNode(r.id,n),e.parent(t)||(l.trace("Setting parent",t,r.id),e.setParent(t,r.id,n))}if(l.info("(Insert) Node XXX"+t+": "+JSON.stringify(e.node(t))),s&&s.clusterNode){l.info("Cluster identified",t,s.width,e.node(t));const r=await TI(f,s.graph,n,i,e.node(t),a),o=r.elem;NL(s,o),s.diff=r.diff||0,l.info("Node bounds (abc123)",t,s,s.width,s.x,s.y),((t,e)=>{rI[e.id]=t})(o,s),l.warn("Recursive render complete ",o,s)}else e.children(t).length>0?(l.info("Cluster - the non recursive path XXX",t,s.id,s,e),l.info(zL(s.id,e)),PL[s.id]={id:zL(s.id,e),node:s}):(l.info("Node - the non recursive path",t,s.id,s),await aI(f,e.node(t),o))}))),e.edges().forEach((function(t){const n=e.edge(t.v,t.w,t.name);l.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),l.info("Edge "+t.v+" -> "+t.w+": ",t," ",JSON.stringify(e.edge(t))),l.info("Fix",PL,"ids:",t.v,t.w,"Translating: ",PL[t.v],PL[t.w]),wI(h,n)})),e.edges().forEach((function(t){l.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t))})),l.info("#############################################"),l.info("### Layout ###"),l.info("#############################################"),l.info(e),bA(e),l.info("Graph after layout:",MA(e));let d=0;const{subGraphTitleTotalMargin:g}=sI(a);return(t=>UL(t,t.children()))(e).forEach((function(t){const n=e.node(t);l.info("Position "+t+": "+JSON.stringify(e.node(t))),l.info("Position "+t+": ("+n.x,","+n.y,") width: ",n.width," height: ",n.height),n&&n.clusterNode?(n.y+=g,oI(n)):e.children(t).length>0?(n.height+=g,((t,e)=>{l.trace("Inserting cluster");const n=e.shape||"rect";lI[e.id]=cI[n](t,e)})(c,n),PL[n.id].node=n):(n.y+=g/2,oI(n))})),e.edges().forEach((function(t){const r=e.edge(t);l.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(r),r),r.points.forEach((t=>t.y+=g/2));const a=_I(u,t,r,PL,n,e,i);xI(r,a)})),e.nodes().forEach((function(t){const n=e.node(t);l.info(t,n.type,n.diff),"group"===n.type&&(d=n.diff)})),{elem:s,diff:d}},EI=async(t,e,n,i,r)=>{NA(t,n,i,r),rI={},mI={},yI={},lI={},BL={},RL={},PL={},l.warn("Graph at first:",JSON.stringify(MA(e))),((t,e)=>{if(t){l.debug("Opting in, graph "),t.nodes().forEach((function(e){t.children(e).length>0&&(l.warn("Cluster identified",e," Replacement id in edges: ",zL(e,t)),BL[e]=jL(e,t),PL[e]={id:zL(e,t),clusterData:t.node(e)})})),t.nodes().forEach((function(e){const n=t.children(e),i=t.edges();n.length>0?(l.debug("Cluster identified",e,BL),i.forEach((t=>{t.v!==e&&t.w!==e&&FL(t.v,e)^FL(t.w,e)&&(l.warn("Edge: ",t," leaves cluster ",e),l.warn("Descendants of XXX ",e,": ",BL[e]),PL[e].externalConnections=!0)}))):l.debug("Not a cluster ",e,BL)}));for(let e of Object.keys(PL)){const n=PL[e].id,i=t.parent(n);i!==e&&PL[i]&&!PL[i].externalConnections&&(PL[e].id=i)}t.edges().forEach((function(e){const n=t.edge(e);l.warn("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),l.warn("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(t.edge(e)));let i=e.v,r=e.w;if(l.warn("Fix XXX",PL,"ids:",e.v,e.w,"Translating: ",PL[e.v]," --- ",PL[e.w]),PL[e.v]&&PL[e.w]&&PL[e.v]===PL[e.w]){l.warn("Fixing and trixing link to self - removing XXX",e.v,e.w,e.name),l.warn("Fixing and trixing - removing XXX",e.v,e.w,e.name),i=qL(e.v),r=qL(e.w),t.removeEdge(e.v,e.w,e.name);const a=e.w+"---"+e.v;t.setNode(a,{domId:a,id:a,labelStyle:"",labelText:n.label,padding:0,shape:"labelRect",style:""});const o=structuredClone(n),s=structuredClone(n);o.label="",o.arrowTypeEnd="none",s.label="",o.fromCluster=e.v,s.toCluster=e.v,t.setEdge(i,a,o,e.name+"-cyclic-special"),t.setEdge(a,r,s,e.name+"-cyclic-special")}else if(PL[e.v]||PL[e.w]){if(l.warn("Fixing and trixing - removing XXX",e.v,e.w,e.name),i=qL(e.v),r=qL(e.w),t.removeEdge(e.v,e.w,e.name),i!==e.v){const r=t.parent(i);PL[r].externalConnections=!0,n.fromCluster=e.v}if(r!==e.w){const i=t.parent(r);PL[i].externalConnections=!0,n.toCluster=e.w}l.warn("Fix Replacing with XXX",i,r,e.name),t.setEdge(i,r,n,e.name)}})),l.warn("Adjusted Graph",MA(t)),HL(t,0),l.trace(PL)}else l.debug("Opting out, no graph ")})(e),l.warn("Graph after:",JSON.stringify(MA(e)));const a=sg();await TI(t,e,i,r,void 0,a)},SI={},CI=async function(t,e,n,i,r,a){const o=i.select(`[id="${n}"]`),s=Object.keys(t);for(const n of s){const i=t[n];let s="default";i.classes.length>0&&(s=i.classes.join(" ")),s+=" flowchart-label";const c=Zh(i.styles);let u,h=void 0!==i.text?i.text:i.id;if(l.info("vertex",i,i.labelType),"markdown"===i.labelType)l.info("vertex",i,i.labelType);else if(Sc(sg().flowchart.htmlLabels))u=CA(o,{label:h}).node(),u.parentNode.removeChild(u);else{const t=r.createElementNS("http://www.w3.org/2000/svg","text");t.setAttribute("style",c.labelStyle.replace("color:","fill:"));const e=h.split(Bc.lineBreakRegex);for(const n of e){const e=r.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),e.setAttribute("dy","1em"),e.setAttribute("x","1"),e.textContent=n,t.appendChild(e)}u=t}let f=0,d="";switch(i.type){case"round":f=5,d="rect";break;case"square":case"group":default:d="rect";break;case"diamond":d="question";break;case"hexagon":d="hexagon";break;case"odd":case"odd_right":d="rect_left_inv_arrow";break;case"lean_right":d="lean_right";break;case"lean_left":d="lean_left";break;case"trapezoid":d="trapezoid";break;case"inv_trapezoid":d="inv_trapezoid";break;case"circle":d="circle";break;case"ellipse":d="ellipse";break;case"stadium":d="stadium";break;case"subroutine":d="subroutine";break;case"cylinder":d="cylinder";break;case"doublecircle":d="doublecircle"}const g=await Pc(h,sg());e.setNode(i.id,{labelStyle:c.labelStyle,shape:d,labelText:g,labelType:i.labelType,rx:f,ry:f,class:s,style:c.style,id:i.id,link:i.link,linkTarget:i.linkTarget,tooltip:a.db.getTooltip(i.id)||"",domId:a.db.lookUpDomId(i.id),haveCallback:i.haveCallback,width:"group"===i.type?500:void 0,dir:i.dir,type:i.type,props:i.props,padding:sg().flowchart.padding}),l.info("setNode",{labelStyle:c.labelStyle,labelType:i.labelType,shape:d,labelText:g,rx:f,ry:f,class:s,style:c.style,id:i.id,domId:a.db.lookUpDomId(i.id),width:"group"===i.type?500:void 0,type:i.type,dir:i.dir,props:i.props,padding:sg().flowchart.padding})}},AI=async function(t,e,n){l.info("abc78 edges = ",t);let i,r,a=0,o={};if(void 0!==t.defaultStyle){const e=Zh(t.defaultStyle);i=e.style,r=e.labelStyle}for(const n of t){a++;const s="L-"+n.start+"-"+n.end;void 0===o[s]?(o[s]=0,l.info("abc78 new entry",s,o[s])):(o[s]++,l.info("abc78 new entry",s,o[s]));let c=s+"-"+o[s];l.info("abc78 new link id to be used is",s,c,o[s]);const u="LS-"+n.start,h="LE-"+n.end,f={style:"",labelStyle:""};switch(f.minlen=n.length||1,"arrow_open"===n.type?f.arrowhead="none":f.arrowhead="normal",f.arrowTypeStart="arrow_open",f.arrowTypeEnd="arrow_open",n.type){case"double_arrow_cross":f.arrowTypeStart="arrow_cross";case"arrow_cross":f.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":f.arrowTypeStart="arrow_point";case"arrow_point":f.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":f.arrowTypeStart="arrow_circle";case"arrow_circle":f.arrowTypeEnd="arrow_circle"}let d="",g="";switch(n.stroke){case"normal":d="fill:none;",void 0!==i&&(d=i),void 0!==r&&(g=r),f.thickness="normal",f.pattern="solid";break;case"dotted":f.thickness="normal",f.pattern="dotted",f.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":f.thickness="thick",f.pattern="solid",f.style="stroke-width: 3.5px;fill:none;";break;case"invisible":f.thickness="invisible",f.pattern="solid",f.style="stroke-width: 0;fill:none;"}if(void 0!==n.style){const t=Zh(n.style);d=t.style,g=t.labelStyle}f.style=f.style+=d,f.labelStyle=f.labelStyle+=g,void 0!==n.interpolate?f.curve=Vh(n.interpolate,Bo):void 0!==t.defaultInterpolate?f.curve=Vh(t.defaultInterpolate,Bo):f.curve=Vh(SI.curve,Bo),void 0===n.text?void 0!==n.style&&(f.arrowheadStyle="fill: #333"):(f.arrowheadStyle="fill: #333",f.labelpos="c"),f.labelType=n.labelType,f.label=await Pc(n.text.replace(Bc.lineBreakRegex,"\n"),sg()),void 0===n.style&&(f.style=f.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),f.labelStyle=f.labelStyle.replace("color:","fill:"),f.id=c,f.classes="flowchart-link "+u+" "+h,e.setEdge(n.start,n.end,f,a)}},MI={setConf:function(t){const e=Object.keys(t);for(const n of e)SI[n]=t[n]},addVertices:CI,addEdges:AI,getClasses:function(t,e){return e.db.getClasses()},draw:async function(t,e,n,i){l.info("Drawing flowchart");let r=i.db.getDirection();void 0===r&&(r="TD");const{securityLevel:a,flowchart:o}=sg(),s=o.nodeSpacing||50,c=o.rankSpacing||50;let u;"sandbox"===a&&(u=ee("#i"+e));const h=ee("sandbox"===a?u.nodes()[0].contentDocument.body:"body"),f="sandbox"===a?u.nodes()[0].contentDocument:document,d=new dC({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:s,ranksep:c,marginx:0,marginy:0}).setDefaultEdgeLabel((function(){return{}}));let g;const p=i.db.getSubGraphs();l.info("Subgraphs - ",p);for(let t=p.length-1;t>=0;t--)g=p[t],l.info("Subgraph - ",g),i.db.addVertex(g.id,{text:g.title,type:g.labelType},"group",void 0,g.classes,g.dir);const b=i.db.getVertices(),m=i.db.getEdges();l.info("Edges",m);let y=0;for(y=p.length-1;y>=0;y--){g=p[y],ne("cluster").append("text");for(let t=0;t`.label {\n font-family: ${t.fontFamily};\n color: ${t.nodeTextColor||t.textColor};\n }\n .cluster-label text {\n fill: ${t.titleColor};\n }\n .cluster-label span,p {\n color: ${t.titleColor};\n }\n\n .label text,span,p {\n fill: ${t.nodeTextColor||t.textColor};\n color: ${t.nodeTextColor||t.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n .flowchart-label text {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\n // }\n\n .node .katex path {\n fill: #000;\n stroke: #000;\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${t.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${t.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${t.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${t.edgeLabelBackground};\n rect {\n opacity: 0.5;\n background-color: ${t.edgeLabelBackground};\n fill: ${t.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${((t,e)=>{const n=Jc,i=n(t,"r"),r=n(t,"g"),a=n(t,"b");return Zc(i,r,a,.5)})(t.edgeLabelBackground)};\n // background-color: \n }\n\n .cluster rect {\n fill: ${t.clusterBkg};\n stroke: ${t.clusterBorder};\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${t.titleColor};\n }\n\n .cluster span,p {\n color: ${t.titleColor};\n }\n /* .cluster div {\n color: ${t.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${t.fontFamily};\n font-size: 12px;\n background: ${t.tertiaryColor};\n border: 1px solid ${t.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n }\n`,II=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Kk,db:z_,renderer:MI,styles:LI,init:t=>{t.flowchart||(t.flowchart={}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,function(t){const e=Object.keys(t);for(const n of e)AA[n]=t[n]}(t.flowchart),z_.clear(),z_.setGen("gen-1")}}},Symbol.toStringTag,{value:"Module"})),OI=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Kk,db:z_,renderer:MI,styles:LI,init:t=>{t.flowchart||(t.flowchart={}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,cg({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}}),MI.setConf(t.flowchart),z_.clear(),z_.setGen("gen-2")}}},Symbol.toStringTag,{value:"Module"}));var NI=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[6,8,10,20,22,24,26,27,28],n=[1,10],i=[1,11],r=[1,12],a=[1,13],o=[1,14],s=[1,15],c=[1,21],l=[1,22],u=[1,23],h=[1,24],f=[1,25],d=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],g=[1,34],p=[27,28,46,47],b=[41,42,43,44,45],m=[17,34],y=[1,54],w=[1,53],v=[17,34,36,38],x={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:function(t,e,n,i,r,a,o){var s=a.length-1;switch(r){case 1:break;case 2:case 6:case 7:this.$=[];break;case 3:a[s-1].push(a[s]),this.$=a[s-1];break;case 4:case 5:case 19:case 43:case 27:case 28:case 31:this.$=a[s];break;case 8:i.addEntity(a[s-4]),i.addEntity(a[s-2]),i.addRelationship(a[s-4],a[s],a[s-2],a[s-3]);break;case 9:i.addEntity(a[s-3]),i.addAttributes(a[s-3],a[s-1]);break;case 10:i.addEntity(a[s-2]);break;case 11:i.addEntity(a[s]);break;case 12:i.addEntity(a[s-6],a[s-4]),i.addAttributes(a[s-6],a[s-1]);break;case 13:i.addEntity(a[s-5],a[s-3]);break;case 14:i.addEntity(a[s-3],a[s-1]);break;case 15:case 16:this.$=a[s].trim(),i.setAccTitle(this.$);break;case 17:case 18:this.$=a[s].trim(),i.setAccDescription(this.$);break;case 20:case 41:case 42:case 32:this.$=a[s].replace(/"/g,"");break;case 21:case 29:this.$=[a[s]];break;case 22:a[s].push(a[s-1]),this.$=a[s];break;case 23:this.$={attributeType:a[s-1],attributeName:a[s]};break;case 24:this.$={attributeType:a[s-2],attributeName:a[s-1],attributeKeyTypeList:a[s]};break;case 25:this.$={attributeType:a[s-2],attributeName:a[s-1],attributeComment:a[s]};break;case 26:this.$={attributeType:a[s-3],attributeName:a[s-2],attributeKeyTypeList:a[s-1],attributeComment:a[s]};break;case 30:a[s-2].push(a[s]),this.$=a[s-2];break;case 33:this.$={cardA:a[s],relType:a[s-1],cardB:a[s-2]};break;case 34:this.$=i.Cardinality.ZERO_OR_ONE;break;case 35:this.$=i.Cardinality.ZERO_OR_MORE;break;case 36:this.$=i.Cardinality.ONE_OR_MORE;break;case 37:this.$=i.Cardinality.ONLY_ONE;break;case 38:this.$=i.Cardinality.MD_PARENT;break;case 39:this.$=i.Identification.NON_IDENTIFYING;break;case 40:this.$=i.Identification.IDENTIFYING}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:n,22:i,24:r,26:a,27:o,28:s},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:16,11:9,20:n,22:i,24:r,26:a,27:o,28:s},t(e,[2,5]),t(e,[2,6]),t(e,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:c,42:l,43:u,44:h,45:f}),{21:[1,26]},{23:[1,27]},{25:[1,28]},t(e,[2,18]),t(d,[2,19]),t(d,[2,20]),t(e,[2,4]),{11:29,27:o,28:s},{16:30,17:[1,31],29:32,30:33,34:g},{11:35,27:o,28:s},{40:36,46:[1,37],47:[1,38]},t(p,[2,34]),t(p,[2,35]),t(p,[2,36]),t(p,[2,37]),t(p,[2,38]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),{13:[1,39]},{17:[1,40]},t(e,[2,10]),{16:41,17:[2,21],29:32,30:33,34:g},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:c,42:l,43:u,44:h,45:f},t(b,[2,39]),t(b,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},t(e,[2,9]),{17:[2,22]},t(m,[2,23],{32:50,33:51,35:52,37:y,38:w}),t([17,34,37,38],[2,28]),t(e,[2,14],{15:[1,55]}),t([27,28],[2,33]),t(e,[2,8]),t(e,[2,41]),t(e,[2,42]),t(e,[2,43]),t(m,[2,24],{33:56,36:[1,57],38:w}),t(m,[2,25]),t(v,[2,29]),t(m,[2,32]),t(v,[2,31]),{16:58,17:[1,59],29:32,30:33,34:g},t(m,[2,26]),{35:60,37:y},{17:[1,61]},t(e,[2,13]),t(v,[2,30]),t(e,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=[0],n=[],i=[null],r=[],a=this.table,o="",s=0,c=0,l=r.slice.call(arguments,1),u=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);u.setInput(t,h.yy),h.yy.lexer=u,h.yy.parser=this,typeof u.yylloc>"u"&&(u.yylloc={});var d=u.yylloc;r.push(d);var g,p=u.options&&u.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,m,y,w,v,x,k,_,T={};;){if(m=e[e.length-1],this.defaultActions[m]?y=this.defaultActions[m]:((null===b||typeof b>"u")&&(g=void 0,"number"!=typeof(g=n.pop()||u.lex()||1)&&(g instanceof Array&&(g=(n=g).pop()),g=this.symbols_[g]||g),b=g),y=a[m]&&a[m][b]),typeof y>"u"||!y.length||!y[0]){var E;for(v in _=[],a[m])this.terminals_[v]&&v>2&&_.push("'"+this.terminals_[v]+"'");E=u.showPosition?"Parse error on line "+(s+1)+":\n"+u.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(E,{text:u.match,token:this.terminals_[b]||b,line:u.yylineno,loc:d,expected:_})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+b);switch(y[0]){case 1:e.push(b),i.push(u.yytext),r.push(u.yylloc),e.push(y[1]),b=null,c=u.yyleng,o=u.yytext,s=u.yylineno,d=u.yylloc;break;case 2:if(x=this.productions_[y[1]][1],T.$=i[i.length-x],T._$={first_line:r[r.length-(x||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(x||1)].first_column,last_column:r[r.length-1].last_column},p&&(T._$.range=[r[r.length-(x||1)].range[0],r[r.length-1].range[1]]),typeof(w=this.performAction.apply(T,[o,c,s,h.yy,y[1],i,r].concat(l)))<"u")return w;x&&(e=e.slice(0,-1*x*2),i=i.slice(0,-1*x),r=r.slice(0,-1*x)),e.push(this.productions_[y[1]][0]),i.push(T.$),r.push(T._$),k=a[e[e.length-2]][e[e.length-1]],e.push(k);break;case 3:return!0}}return!0}},k={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:return this.begin("acc_title"),22;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),24;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 10;case 8:case 15:case 20:break;case 9:return 8;case 10:return 28;case 11:return 48;case 12:return 4;case 13:return this.begin("block"),15;case 14:return 36;case 16:return 37;case 17:case 18:return 34;case 19:return 38;case 21:return this.popState(),17;case 22:case 54:return e.yytext[0];case 23:return 18;case 24:return 19;case 25:case 29:case 30:case 43:return 41;case 26:case 27:case 28:case 36:case 38:case 45:return 43;case 31:case 32:case 33:case 34:case 35:case 37:case 44:return 42;case 39:case 40:case 41:case 42:return 44;case 46:return 45;case 47:case 50:case 51:case 52:return 46;case 48:case 49:return 47;case 53:return 27;case 55:return 6}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[14,15,16,17,18,19,20,21,22],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],inclusive:!0}}};function _(){this.yy={}}return x.lexer=k,_.prototype=x,x.Parser=_,new _}();NI.parser=NI;const DI=NI;let PI={},BI=[];const RI=function(t,e=void 0){return void 0===PI[t]?(PI[t]={attributes:[],alias:e},l.info("Added new entity :",t)):PI[t]&&!PI[t].alias&&e&&(PI[t].alias=e,l.info(`Add alias '${e}' to entity '${t}'`)),PI[t]},FI={Cardinality:{ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},Identification:{NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},getConfig:()=>sg().er,addEntity:RI,addAttributes:function(t,e){let n,i=RI(t);for(n=e.length-1;n>=0;n--)i.attributes.push(e[n]),l.debug("Added attribute ",e[n].attributeName)},getEntities:()=>PI,addRelationship:function(t,e,n,i){let r={entityA:t,roleA:e,entityB:n,relSpec:i};BI.push(r),l.debug("Added new relationship :",r)},getRelationships:()=>BI,clear:function(){PI={},BI=[],Qd()},setAccTitle:Zd,getAccTitle:Jd,setAccDescription:tg,getAccDescription:eg,setDiagramTitle:ng,getDiagramTitle:ig},$I={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END",MD_PARENT_END:"MD_PARENT_END",MD_PARENT_START:"MD_PARENT_START"},jI=$I,zI=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,qI=[];for(let t=0;t<256;++t)qI.push((t+256).toString(16).slice(1));function HI(t,e,n,i){switch(t){case 0:return e&n^~e&i;case 1:case 3:return e^n^i;case 2:return e&n^e&i^n&i}}function UI(t,e){return t<>>32-e}const GI=function(t,e,n){function i(t,e,n,i){var r;if("string"==typeof t&&(t=function(t){t=unescape(encodeURIComponent(t));const e=[];for(let n=0;n>>24,n[1]=e>>>16&255,n[2]=e>>>8&255,n[3]=255&e,n[4]=(e=parseInt(t.slice(9,13),16))>>>8,n[5]=255&e,n[6]=(e=parseInt(t.slice(14,18),16))>>>8,n[7]=255&e,n[8]=(e=parseInt(t.slice(19,23),16))>>>8,n[9]=255&e,n[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,n[11]=e/4294967296&255,n[12]=e>>>24&255,n[13]=e>>>16&255,n[14]=e>>>8&255,n[15]=255&e,n}(e)),16!==(null===(r=e)||void 0===r?void 0:r.length))throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let a=new Uint8Array(16+t.length);if(a.set(e),a.set(t,e.length),a=function(t){const e=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof t){const e=unescape(encodeURIComponent(t));t=[];for(let n=0;n>>0;l=c,c=s,s=UI(o,30)>>>0,o=r,r=a}n[0]=n[0]+r>>>0,n[1]=n[1]+o>>>0,n[2]=n[2]+s>>>0,n[3]=n[3]+c>>>0,n[4]=n[4]+l>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]}(a),a[6]=15&a[6]|80,a[8]=63&a[8]|128,n){i=i||0;for(let t=0;t<16;++t)n[i+t]=a[t];return n}return function(t,e=0){return qI[t[e+0]]+qI[t[e+1]]+qI[t[e+2]]+qI[t[e+3]]+"-"+qI[t[e+4]]+qI[t[e+5]]+"-"+qI[t[e+6]]+qI[t[e+7]]+"-"+qI[t[e+8]]+qI[t[e+9]]+"-"+qI[t[e+10]]+qI[t[e+11]]+qI[t[e+12]]+qI[t[e+13]]+qI[t[e+14]]+qI[t[e+15]]}(a)}try{i.name="v5"}catch{}return i.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",i.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",i}(),KI=/[^\dA-Za-z](\W)*/g;let YI={},VI=new Map;const WI=function(t){return(t.entityA+t.roleA+t.entityB).replace(/\s/g,"")};let XI=0;const QI="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";function ZI(t=""){return t.length>0?`${t}-`:""}const JI=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:DI,db:FI,renderer:{setConf:function(t){const e=Object.keys(t);for(const n of e)YI[n]=t[n]},draw:function(t,e,n,i){YI=sg().er,l.info("Drawing ER diagram");const r=sg().securityLevel;let a;"sandbox"===r&&(a=ee("#i"+e));const o=ee("sandbox"===r?a.nodes()[0].contentDocument.body:"body").select(`[id='${e}']`);let s;(function(t,e){let n;t.append("defs").append("marker").attr("id",$I.MD_PARENT_START).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",$I.MD_PARENT_END).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",$I.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",$I.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),n=t.append("defs").append("marker").attr("id",$I.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),n.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),n.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18"),n=t.append("defs").append("marker").attr("id",$I.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),n.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),n.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,0 L21,18"),t.append("defs").append("marker").attr("id",$I.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",$I.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),n=t.append("defs").append("marker").attr("id",$I.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),n.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),n.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),n=t.append("defs").append("marker").attr("id",$I.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),n.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),n.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")})(o,YI),s=new dC({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:YI.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel((function(){return{}}));const c=function(t,e,n){let i;return Object.keys(e).forEach((function(r){const a=function(t="",e=""){const n=t.replace(KI,"");return`${ZI(e)}${ZI(n)}${GI(t,QI)}`}(r,"entity");VI.set(r,a);const o=t.append("g").attr("id",a);i=void 0===i?a:i;const s="text-"+a,c=o.append("text").classed("er entityLabel",!0).attr("id",s).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",sg().fontFamily).style("font-size",YI.fontSize+"px").text(e[r].alias??r),{width:l,height:u}=((t,e,n)=>{const i=YI.entityPadding/3,r=YI.entityPadding/3,a=.85*YI.fontSize,o=e.node().getBBox(),s=[];let c=!1,l=!1,u=0,h=0,f=0,d=0,g=o.height+2*i,p=1;n.forEach((t=>{void 0!==t.attributeKeyTypeList&&t.attributeKeyTypeList.length>0&&(c=!0),void 0!==t.attributeComment&&(l=!0)})),n.forEach((n=>{const r=`${e.node().id}-attr-${p}`;let o=0;const b=Cc(n.attributeType),m=t.append("text").classed("er entityLabel",!0).attr("id",`${r}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",sg().fontFamily).style("font-size",a+"px").text(b),y=t.append("text").classed("er entityLabel",!0).attr("id",`${r}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",sg().fontFamily).style("font-size",a+"px").text(n.attributeName),w={};w.tn=m,w.nn=y;const v=m.node().getBBox(),x=y.node().getBBox();if(u=Math.max(u,v.width),h=Math.max(h,x.width),o=Math.max(v.height,x.height),c){const e=void 0!==n.attributeKeyTypeList?n.attributeKeyTypeList.join(","):"",i=t.append("text").classed("er entityLabel",!0).attr("id",`${r}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",sg().fontFamily).style("font-size",a+"px").text(e);w.kn=i;const s=i.node().getBBox();f=Math.max(f,s.width),o=Math.max(o,s.height)}if(l){const e=t.append("text").classed("er entityLabel",!0).attr("id",`${r}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",sg().fontFamily).style("font-size",a+"px").text(n.attributeComment||"");w.cn=e;const i=e.node().getBBox();d=Math.max(d,i.width),o=Math.max(o,i.height)}w.height=o,s.push(w),g+=o+2*i,p+=1}));let b=4;c&&(b+=2),l&&(b+=2);const m=u+h+f+d,y={width:Math.max(YI.minEntityWidth,Math.max(o.width+2*YI.entityPadding,m+r*b)),height:n.length>0?g:Math.max(YI.minEntityHeight,o.height+2*YI.entityPadding)};if(n.length>0){const n=Math.max(0,(y.width-m-r*b)/(b/2));e.attr("transform","translate("+y.width/2+","+(i+o.height/2)+")");let a=o.height+2*i,g="attributeBoxOdd";s.forEach((e=>{const o=a+i+e.height/2;e.tn.attr("transform","translate("+r+","+o+")");const s=t.insert("rect","#"+e.tn.node().id).classed(`er ${g}`,!0).attr("x",0).attr("y",a).attr("width",u+2*r+n).attr("height",e.height+2*i),p=parseFloat(s.attr("x"))+parseFloat(s.attr("width"));e.nn.attr("transform","translate("+(p+r)+","+o+")");const b=t.insert("rect","#"+e.nn.node().id).classed(`er ${g}`,!0).attr("x",p).attr("y",a).attr("width",h+2*r+n).attr("height",e.height+2*i);let m=parseFloat(b.attr("x"))+parseFloat(b.attr("width"));if(c){e.kn.attr("transform","translate("+(m+r)+","+o+")");const s=t.insert("rect","#"+e.kn.node().id).classed(`er ${g}`,!0).attr("x",m).attr("y",a).attr("width",f+2*r+n).attr("height",e.height+2*i);m=parseFloat(s.attr("x"))+parseFloat(s.attr("width"))}l&&(e.cn.attr("transform","translate("+(m+r)+","+o+")"),t.insert("rect","#"+e.cn.node().id).classed(`er ${g}`,"true").attr("x",m).attr("y",a).attr("width",d+2*r+n).attr("height",e.height+2*i)),a+=e.height+2*i,g="attributeBoxOdd"===g?"attributeBoxEven":"attributeBoxOdd"}))}else y.height=Math.max(YI.minEntityHeight,g),e.attr("transform","translate("+y.width/2+","+y.height/2+")");return y})(o,c,e[r].attributes),h=o.insert("rect","#"+s).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",l).attr("height",u).node().getBBox();n.setNode(a,{width:h.width,height:h.height,shape:"rect",id:a})})),i}(o,i.db.getEntities(),s),u=function(t,e){return t.forEach((function(t){e.setEdge(VI.get(t.entityA),VI.get(t.entityB),{relationship:t},WI(t))})),t}(i.db.getRelationships(),s);bA(s),function(t,e){e.nodes().forEach((function(n){void 0!==n&&void 0!==e.node(n)&&t.select("#"+n).attr("transform","translate("+(e.node(n).x-e.node(n).width/2)+","+(e.node(n).y-e.node(n).height/2)+" )")}))}(o,s),u.forEach((function(t){!function(t,e,n,i,r){XI++;const a=n.edge(VI.get(e.entityA),VI.get(e.entityB),WI(e)),o=$o().x((function(t){return t.x})).y((function(t){return t.y})).curve(Ko),s=t.insert("path","#"+i).classed("er relationshipLine",!0).attr("d",o(a.points)).style("stroke",YI.stroke).style("fill","none");e.relSpec.relType===r.db.Identification.NON_IDENTIFYING&&s.attr("stroke-dasharray","8,8");let c="";switch(YI.arrowMarkerAbsolute&&(c=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,c=c.replace(/\(/g,"\\("),c=c.replace(/\)/g,"\\)")),e.relSpec.cardA){case r.db.Cardinality.ZERO_OR_ONE:s.attr("marker-end","url("+c+"#"+jI.ZERO_OR_ONE_END+")");break;case r.db.Cardinality.ZERO_OR_MORE:s.attr("marker-end","url("+c+"#"+jI.ZERO_OR_MORE_END+")");break;case r.db.Cardinality.ONE_OR_MORE:s.attr("marker-end","url("+c+"#"+jI.ONE_OR_MORE_END+")");break;case r.db.Cardinality.ONLY_ONE:s.attr("marker-end","url("+c+"#"+jI.ONLY_ONE_END+")");break;case r.db.Cardinality.MD_PARENT:s.attr("marker-end","url("+c+"#"+jI.MD_PARENT_END+")")}switch(e.relSpec.cardB){case r.db.Cardinality.ZERO_OR_ONE:s.attr("marker-start","url("+c+"#"+jI.ZERO_OR_ONE_START+")");break;case r.db.Cardinality.ZERO_OR_MORE:s.attr("marker-start","url("+c+"#"+jI.ZERO_OR_MORE_START+")");break;case r.db.Cardinality.ONE_OR_MORE:s.attr("marker-start","url("+c+"#"+jI.ONE_OR_MORE_START+")");break;case r.db.Cardinality.ONLY_ONE:s.attr("marker-start","url("+c+"#"+jI.ONLY_ONE_START+")");break;case r.db.Cardinality.MD_PARENT:s.attr("marker-start","url("+c+"#"+jI.MD_PARENT_START+")")}const l=s.node().getTotalLength(),u=s.node().getPointAtLength(.5*l),h="rel"+XI,f=t.append("text").classed("er relationshipLabel",!0).attr("id",h).attr("x",u.x).attr("y",u.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",sg().fontFamily).style("font-size",YI.fontSize+"px").text(e.roleA).node().getBBox();t.insert("rect","#"+h).classed("er relationshipLabelBox",!0).attr("x",u.x-f.width/2).attr("y",u.y-f.height/2).attr("width",f.width).attr("height",f.height)}(o,t,s,c,i)}));const h=YI.diagramPadding;df.insertTitle(o,"entityTitleText",YI.titleTopMargin,i.db.getDiagramTitle());const f=o.node().getBBox(),d=f.width+2*h,g=f.height+2*h;Ud(o,g,d,YI.useMaxWidth),o.attr("viewBox",`${f.x-h} ${f.y-h} ${d} ${g}`)}},styles:t=>`\n .entityBox {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n }\n\n .attributeBoxOdd {\n fill: ${t.attributeBackgroundColorOdd};\n stroke: ${t.nodeBorder};\n }\n\n .attributeBoxEven {\n fill: ${t.attributeBackgroundColorEven};\n stroke: ${t.nodeBorder};\n }\n\n .relationshipLabelBox {\n fill: ${t.tertiaryColor};\n opacity: 0.7;\n background-color: ${t.tertiaryColor};\n rect {\n opacity: 0.5;\n }\n }\n\n .relationshipLine {\n stroke: ${t.lineColor};\n }\n\n .entityTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n } \n #MD_PARENT_START {\n fill: #f5f5f5 !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n }\n #MD_PARENT_END {\n fill: #f5f5f5 !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n }\n \n`}},Symbol.toStringTag,{value:"Module"}));var tO=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[1,3],n=[1,6],i=[1,4],r=[1,5],a=[2,5],o=[1,12],s=[5,7,13,19,21,23,24,26,28,31,37,40,47],c=[7,13,19,21,23,24,26,28,31,37,40],l=[7,12,13,19,21,23,24,26,28,31,37,40],u=[7,13,47],h=[1,42],f=[1,41],d=[7,13,29,32,35,38,47],g=[1,55],p=[1,56],b=[1,57],m=[7,13,32,35,42,47],y={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,GG:5,document:6,EOF:7,":":8,DIR:9,options:10,body:11,OPT:12,NL:13,line:14,statement:15,commitStatement:16,mergeStatement:17,cherryPickStatement:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,section:24,branchStatement:25,CHECKOUT:26,ref:27,BRANCH:28,ORDER:29,NUM:30,CHERRY_PICK:31,COMMIT_ID:32,STR:33,PARENT_COMMIT:34,COMMIT_TAG:35,EMPTYSTR:36,MERGE:37,COMMIT_TYPE:38,commitType:39,COMMIT:40,commit_arg:41,COMMIT_MSG:42,NORMAL:43,REVERSE:44,HIGHLIGHT:45,ID:46,";":47,$accept:0,$end:1},terminals_:{2:"error",5:"GG",7:"EOF",8:":",9:"DIR",12:"OPT",13:"NL",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"section",26:"CHECKOUT",28:"BRANCH",29:"ORDER",30:"NUM",31:"CHERRY_PICK",32:"COMMIT_ID",33:"STR",34:"PARENT_COMMIT",35:"COMMIT_TAG",36:"EMPTYSTR",37:"MERGE",38:"COMMIT_TYPE",40:"COMMIT",42:"COMMIT_MSG",43:"NORMAL",44:"REVERSE",45:"HIGHLIGHT",46:"ID",47:";"},productions_:[0,[3,2],[3,3],[3,4],[3,5],[6,0],[6,2],[10,2],[10,1],[11,0],[11,2],[14,2],[14,1],[15,1],[15,1],[15,1],[15,2],[15,2],[15,1],[15,1],[15,1],[15,2],[25,2],[25,4],[18,3],[18,5],[18,5],[18,7],[18,7],[18,5],[18,5],[18,5],[18,7],[18,7],[18,7],[18,7],[17,2],[17,4],[17,4],[17,4],[17,6],[17,6],[17,6],[17,6],[17,6],[17,6],[17,8],[17,8],[17,8],[17,8],[17,8],[17,8],[16,2],[16,3],[16,3],[16,5],[16,5],[16,3],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,3],[16,5],[16,5],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[41,0],[41,1],[39,1],[39,1],[39,1],[27,1],[27,1],[4,1],[4,1],[4,1]],performAction:function(t,e,n,i,r,a,o){var s=a.length-1;switch(r){case 2:return a[s];case 3:return a[s-1];case 4:return i.setDirection(a[s-3]),a[s-1];case 6:i.setOptions(a[s-1]),this.$=a[s];break;case 7:a[s-1]+=a[s],this.$=a[s-1];break;case 9:this.$=[];break;case 10:a[s-1].push(a[s]),this.$=a[s-1];break;case 11:this.$=a[s-1];break;case 16:this.$=a[s].trim(),i.setAccTitle(this.$);break;case 17:case 18:this.$=a[s].trim(),i.setAccDescription(this.$);break;case 19:i.addSection(a[s].substr(8)),this.$=a[s].substr(8);break;case 21:i.checkout(a[s]);break;case 22:i.branch(a[s]);break;case 23:i.branch(a[s-2],a[s]);break;case 24:i.cherryPick(a[s],"",void 0);break;case 25:i.cherryPick(a[s-2],"",void 0,a[s]);break;case 26:i.cherryPick(a[s-2],"",a[s]);break;case 27:i.cherryPick(a[s-4],"",a[s],a[s-2]);break;case 28:i.cherryPick(a[s-4],"",a[s-2],a[s]);break;case 29:i.cherryPick(a[s],"",a[s-2]);break;case 30:i.cherryPick(a[s],"","");break;case 31:i.cherryPick(a[s-2],"","");break;case 32:i.cherryPick(a[s-4],"","",a[s-2]);break;case 33:i.cherryPick(a[s-4],"","",a[s]);break;case 34:i.cherryPick(a[s-2],"",a[s-4],a[s]);break;case 35:i.cherryPick(a[s-2],"","",a[s]);break;case 36:i.merge(a[s],"","","");break;case 37:i.merge(a[s-2],a[s],"","");break;case 38:i.merge(a[s-2],"",a[s],"");break;case 39:i.merge(a[s-2],"","",a[s]);break;case 40:i.merge(a[s-4],a[s],"",a[s-2]);break;case 41:i.merge(a[s-4],"",a[s],a[s-2]);break;case 42:i.merge(a[s-4],"",a[s-2],a[s]);break;case 43:i.merge(a[s-4],a[s-2],a[s],"");break;case 44:i.merge(a[s-4],a[s-2],"",a[s]);break;case 45:i.merge(a[s-4],a[s],a[s-2],"");break;case 46:i.merge(a[s-6],a[s-4],a[s-2],a[s]);break;case 47:i.merge(a[s-6],a[s],a[s-4],a[s-2]);break;case 48:i.merge(a[s-6],a[s-4],a[s],a[s-2]);break;case 49:i.merge(a[s-6],a[s-2],a[s-4],a[s]);break;case 50:i.merge(a[s-6],a[s],a[s-2],a[s-4]);break;case 51:i.merge(a[s-6],a[s-2],a[s],a[s-4]);break;case 52:i.commit(a[s]);break;case 53:i.commit("","",i.commitType.NORMAL,a[s]);break;case 54:i.commit("","",a[s],"");break;case 55:i.commit("","",a[s],a[s-2]);break;case 56:i.commit("","",a[s-2],a[s]);break;case 57:i.commit("",a[s],i.commitType.NORMAL,"");break;case 58:i.commit("",a[s-2],i.commitType.NORMAL,a[s]);break;case 59:i.commit("",a[s],i.commitType.NORMAL,a[s-2]);break;case 60:i.commit("",a[s-2],a[s],"");break;case 61:i.commit("",a[s],a[s-2],"");break;case 62:i.commit("",a[s-4],a[s-2],a[s]);break;case 63:i.commit("",a[s-4],a[s],a[s-2]);break;case 64:i.commit("",a[s-2],a[s-4],a[s]);break;case 65:i.commit("",a[s],a[s-4],a[s-2]);break;case 66:i.commit("",a[s],a[s-2],a[s-4]);break;case 67:i.commit("",a[s-2],a[s],a[s-4]);break;case 68:i.commit(a[s],"",i.commitType.NORMAL,"");break;case 69:i.commit(a[s],"",i.commitType.NORMAL,a[s-2]);break;case 70:i.commit(a[s-2],"",i.commitType.NORMAL,a[s]);break;case 71:i.commit(a[s-2],"",a[s],"");break;case 72:i.commit(a[s],"",a[s-2],"");break;case 73:i.commit(a[s],a[s-2],i.commitType.NORMAL,"");break;case 74:i.commit(a[s-2],a[s],i.commitType.NORMAL,"");break;case 75:i.commit(a[s-4],"",a[s-2],a[s]);break;case 76:i.commit(a[s-4],"",a[s],a[s-2]);break;case 77:i.commit(a[s-2],"",a[s-4],a[s]);break;case 78:i.commit(a[s],"",a[s-4],a[s-2]);break;case 79:i.commit(a[s],"",a[s-2],a[s-4]);break;case 80:i.commit(a[s-2],"",a[s],a[s-4]);break;case 81:i.commit(a[s-4],a[s],a[s-2],"");break;case 82:i.commit(a[s-4],a[s-2],a[s],"");break;case 83:i.commit(a[s-2],a[s],a[s-4],"");break;case 84:i.commit(a[s],a[s-2],a[s-4],"");break;case 85:i.commit(a[s],a[s-4],a[s-2],"");break;case 86:i.commit(a[s-2],a[s-4],a[s],"");break;case 87:i.commit(a[s-4],a[s],i.commitType.NORMAL,a[s-2]);break;case 88:i.commit(a[s-4],a[s-2],i.commitType.NORMAL,a[s]);break;case 89:i.commit(a[s-2],a[s],i.commitType.NORMAL,a[s-4]);break;case 90:i.commit(a[s],a[s-2],i.commitType.NORMAL,a[s-4]);break;case 91:i.commit(a[s],a[s-4],i.commitType.NORMAL,a[s-2]);break;case 92:i.commit(a[s-2],a[s-4],i.commitType.NORMAL,a[s]);break;case 93:i.commit(a[s-6],a[s-4],a[s-2],a[s]);break;case 94:i.commit(a[s-6],a[s-4],a[s],a[s-2]);break;case 95:i.commit(a[s-6],a[s-2],a[s-4],a[s]);break;case 96:i.commit(a[s-6],a[s],a[s-4],a[s-2]);break;case 97:i.commit(a[s-6],a[s-2],a[s],a[s-4]);break;case 98:i.commit(a[s-6],a[s],a[s-2],a[s-4]);break;case 99:i.commit(a[s-4],a[s-6],a[s-2],a[s]);break;case 100:i.commit(a[s-4],a[s-6],a[s],a[s-2]);break;case 101:i.commit(a[s-2],a[s-6],a[s-4],a[s]);break;case 102:i.commit(a[s],a[s-6],a[s-4],a[s-2]);break;case 103:i.commit(a[s-2],a[s-6],a[s],a[s-4]);break;case 104:i.commit(a[s],a[s-6],a[s-2],a[s-4]);break;case 105:i.commit(a[s],a[s-4],a[s-2],a[s-6]);break;case 106:i.commit(a[s-2],a[s-4],a[s],a[s-6]);break;case 107:i.commit(a[s],a[s-2],a[s-4],a[s-6]);break;case 108:i.commit(a[s-2],a[s],a[s-4],a[s-6]);break;case 109:i.commit(a[s-4],a[s-2],a[s],a[s-6]);break;case 110:i.commit(a[s-4],a[s],a[s-2],a[s-6]);break;case 111:i.commit(a[s-2],a[s-4],a[s-6],a[s]);break;case 112:i.commit(a[s],a[s-4],a[s-6],a[s-2]);break;case 113:i.commit(a[s-2],a[s],a[s-6],a[s-4]);break;case 114:i.commit(a[s],a[s-2],a[s-6],a[s-4]);break;case 115:i.commit(a[s-4],a[s-2],a[s-6],a[s]);break;case 116:i.commit(a[s-4],a[s],a[s-6],a[s-2]);break;case 117:this.$="";break;case 118:this.$=a[s];break;case 119:this.$=i.commitType.NORMAL;break;case 120:this.$=i.commitType.REVERSE;break;case 121:this.$=i.commitType.HIGHLIGHT}},table:[{3:1,4:2,5:e,7:n,13:i,47:r},{1:[3]},{3:7,4:2,5:e,7:n,13:i,47:r},{6:8,7:a,8:[1,9],9:[1,10],10:11,13:o},t(s,[2,124]),t(s,[2,125]),t(s,[2,126]),{1:[2,1]},{7:[1,13]},{6:14,7:a,10:11,13:o},{8:[1,15]},t(c,[2,9],{11:16,12:[1,17]}),t(l,[2,8]),{1:[2,2]},{7:[1,18]},{6:19,7:a,10:11,13:o},{7:[2,6],13:[1,22],14:20,15:21,16:23,17:24,18:25,19:[1,26],21:[1,27],23:[1,28],24:[1,29],25:30,26:[1,31],28:[1,35],31:[1,34],37:[1,33],40:[1,32]},t(l,[2,7]),{1:[2,3]},{7:[1,36]},t(c,[2,10]),{4:37,7:n,13:i,47:r},t(c,[2,12]),t(u,[2,13]),t(u,[2,14]),t(u,[2,15]),{20:[1,38]},{22:[1,39]},t(u,[2,18]),t(u,[2,19]),t(u,[2,20]),{27:40,33:h,46:f},t(u,[2,117],{41:43,32:[1,46],33:[1,48],35:[1,44],38:[1,45],42:[1,47]}),{27:49,33:h,46:f},{32:[1,50],35:[1,51]},{27:52,33:h,46:f},{1:[2,4]},t(c,[2,11]),t(u,[2,16]),t(u,[2,17]),t(u,[2,21]),t(d,[2,122]),t(d,[2,123]),t(u,[2,52]),{33:[1,53]},{39:54,43:g,44:p,45:b},{33:[1,58]},{33:[1,59]},t(u,[2,118]),t(u,[2,36],{32:[1,60],35:[1,62],38:[1,61]}),{33:[1,63]},{33:[1,64],36:[1,65]},t(u,[2,22],{29:[1,66]}),t(u,[2,53],{32:[1,68],38:[1,67],42:[1,69]}),t(u,[2,54],{32:[1,71],35:[1,70],42:[1,72]}),t(m,[2,119]),t(m,[2,120]),t(m,[2,121]),t(u,[2,57],{35:[1,73],38:[1,74],42:[1,75]}),t(u,[2,68],{32:[1,78],35:[1,76],38:[1,77]}),{33:[1,79]},{39:80,43:g,44:p,45:b},{33:[1,81]},t(u,[2,24],{34:[1,82],35:[1,83]}),{32:[1,84]},{32:[1,85]},{30:[1,86]},{39:87,43:g,44:p,45:b},{33:[1,88]},{33:[1,89]},{33:[1,90]},{33:[1,91]},{33:[1,92]},{33:[1,93]},{39:94,43:g,44:p,45:b},{33:[1,95]},{33:[1,96]},{39:97,43:g,44:p,45:b},{33:[1,98]},t(u,[2,37],{35:[1,100],38:[1,99]}),t(u,[2,38],{32:[1,102],35:[1,101]}),t(u,[2,39],{32:[1,103],38:[1,104]}),{33:[1,105]},{33:[1,106],36:[1,107]},{33:[1,108]},{33:[1,109]},t(u,[2,23]),t(u,[2,55],{32:[1,110],42:[1,111]}),t(u,[2,59],{38:[1,112],42:[1,113]}),t(u,[2,69],{32:[1,115],38:[1,114]}),t(u,[2,56],{32:[1,116],42:[1,117]}),t(u,[2,61],{35:[1,118],42:[1,119]}),t(u,[2,72],{32:[1,121],35:[1,120]}),t(u,[2,58],{38:[1,122],42:[1,123]}),t(u,[2,60],{35:[1,124],42:[1,125]}),t(u,[2,73],{35:[1,127],38:[1,126]}),t(u,[2,70],{32:[1,129],38:[1,128]}),t(u,[2,71],{32:[1,131],35:[1,130]}),t(u,[2,74],{35:[1,133],38:[1,132]}),{39:134,43:g,44:p,45:b},{33:[1,135]},{33:[1,136]},{33:[1,137]},{33:[1,138]},{39:139,43:g,44:p,45:b},t(u,[2,25],{35:[1,140]}),t(u,[2,26],{34:[1,141]}),t(u,[2,31],{34:[1,142]}),t(u,[2,29],{34:[1,143]}),t(u,[2,30],{34:[1,144]}),{33:[1,145]},{33:[1,146]},{39:147,43:g,44:p,45:b},{33:[1,148]},{39:149,43:g,44:p,45:b},{33:[1,150]},{33:[1,151]},{33:[1,152]},{33:[1,153]},{33:[1,154]},{33:[1,155]},{33:[1,156]},{39:157,43:g,44:p,45:b},{33:[1,158]},{33:[1,159]},{33:[1,160]},{39:161,43:g,44:p,45:b},{33:[1,162]},{39:163,43:g,44:p,45:b},{33:[1,164]},{33:[1,165]},{33:[1,166]},{39:167,43:g,44:p,45:b},{33:[1,168]},t(u,[2,43],{35:[1,169]}),t(u,[2,44],{38:[1,170]}),t(u,[2,42],{32:[1,171]}),t(u,[2,45],{35:[1,172]}),t(u,[2,40],{38:[1,173]}),t(u,[2,41],{32:[1,174]}),{33:[1,175],36:[1,176]},{33:[1,177]},{33:[1,178]},{33:[1,179]},{33:[1,180]},t(u,[2,66],{42:[1,181]}),t(u,[2,79],{32:[1,182]}),t(u,[2,67],{42:[1,183]}),t(u,[2,90],{38:[1,184]}),t(u,[2,80],{32:[1,185]}),t(u,[2,89],{38:[1,186]}),t(u,[2,65],{42:[1,187]}),t(u,[2,78],{32:[1,188]}),t(u,[2,64],{42:[1,189]}),t(u,[2,84],{35:[1,190]}),t(u,[2,77],{32:[1,191]}),t(u,[2,83],{35:[1,192]}),t(u,[2,63],{42:[1,193]}),t(u,[2,91],{38:[1,194]}),t(u,[2,62],{42:[1,195]}),t(u,[2,85],{35:[1,196]}),t(u,[2,86],{35:[1,197]}),t(u,[2,92],{38:[1,198]}),t(u,[2,76],{32:[1,199]}),t(u,[2,87],{38:[1,200]}),t(u,[2,75],{32:[1,201]}),t(u,[2,81],{35:[1,202]}),t(u,[2,82],{35:[1,203]}),t(u,[2,88],{38:[1,204]}),{33:[1,205]},{39:206,43:g,44:p,45:b},{33:[1,207]},{33:[1,208]},{39:209,43:g,44:p,45:b},{33:[1,210]},t(u,[2,27]),t(u,[2,32]),t(u,[2,28]),t(u,[2,33]),t(u,[2,34]),t(u,[2,35]),{33:[1,211]},{33:[1,212]},{33:[1,213]},{39:214,43:g,44:p,45:b},{33:[1,215]},{39:216,43:g,44:p,45:b},{33:[1,217]},{33:[1,218]},{33:[1,219]},{33:[1,220]},{33:[1,221]},{33:[1,222]},{33:[1,223]},{39:224,43:g,44:p,45:b},{33:[1,225]},{33:[1,226]},{33:[1,227]},{39:228,43:g,44:p,45:b},{33:[1,229]},{39:230,43:g,44:p,45:b},{33:[1,231]},{33:[1,232]},{33:[1,233]},{39:234,43:g,44:p,45:b},t(u,[2,46]),t(u,[2,48]),t(u,[2,47]),t(u,[2,49]),t(u,[2,51]),t(u,[2,50]),t(u,[2,107]),t(u,[2,108]),t(u,[2,105]),t(u,[2,106]),t(u,[2,110]),t(u,[2,109]),t(u,[2,114]),t(u,[2,113]),t(u,[2,112]),t(u,[2,111]),t(u,[2,116]),t(u,[2,115]),t(u,[2,104]),t(u,[2,103]),t(u,[2,102]),t(u,[2,101]),t(u,[2,99]),t(u,[2,100]),t(u,[2,98]),t(u,[2,97]),t(u,[2,96]),t(u,[2,95]),t(u,[2,93]),t(u,[2,94])],defaultActions:{7:[2,1],13:[2,2],18:[2,3],36:[2,4]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=[0],n=[],i=[null],r=[],a=this.table,o="",s=0,c=0,l=r.slice.call(arguments,1),u=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);u.setInput(t,h.yy),h.yy.lexer=u,h.yy.parser=this,typeof u.yylloc>"u"&&(u.yylloc={});var d=u.yylloc;r.push(d);var g,p=u.options&&u.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,m,y,w,v,x,k,_,T={};;){if(m=e[e.length-1],this.defaultActions[m]?y=this.defaultActions[m]:((null===b||typeof b>"u")&&(g=void 0,"number"!=typeof(g=n.pop()||u.lex()||1)&&(g instanceof Array&&(g=(n=g).pop()),g=this.symbols_[g]||g),b=g),y=a[m]&&a[m][b]),typeof y>"u"||!y.length||!y[0]){var E;for(v in _=[],a[m])this.terminals_[v]&&v>2&&_.push("'"+this.terminals_[v]+"'");E=u.showPosition?"Parse error on line "+(s+1)+":\n"+u.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(E,{text:u.match,token:this.terminals_[b]||b,line:u.yylineno,loc:d,expected:_})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+b);switch(y[0]){case 1:e.push(b),i.push(u.yytext),r.push(u.yylloc),e.push(y[1]),b=null,c=u.yyleng,o=u.yytext,s=u.yylineno,d=u.yylloc;break;case 2:if(x=this.productions_[y[1]][1],T.$=i[i.length-x],T._$={first_line:r[r.length-(x||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(x||1)].first_column,last_column:r[r.length-1].last_column},p&&(T._$.range=[r[r.length-(x||1)].range[0],r[r.length-1].range[1]]),typeof(w=this.performAction.apply(T,[o,c,s,h.yy,y[1],i,r].concat(l)))<"u")return w;x&&(e=e.slice(0,-1*x*2),i=i.slice(0,-1*x),r=r.slice(0,-1*x)),e.push(this.productions_[y[1]][0]),i.push(T.$),r.push(T._$),k=a[e[e.length-2]][e[e.length-1]],e.push(k);break;case 3:return!0}}return!0}},w={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:return this.begin("acc_title"),19;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),21;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:case 30:case 34:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 13;case 8:case 9:break;case 10:return 5;case 11:return 40;case 12:return 32;case 13:return 38;case 14:return 42;case 15:return 43;case 16:return 44;case 17:return 45;case 18:return 35;case 19:return 28;case 20:return 29;case 21:return 37;case 22:return 31;case 23:return 34;case 24:return 26;case 25:case 26:return 9;case 27:return 8;case 28:return"CARET";case 29:this.begin("options");break;case 31:return 12;case 32:return 36;case 33:this.begin("string");break;case 35:return 33;case 36:return 30;case 37:return 46;case 38:return 7}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:gitGraph\b)/i,/^(?:commit(?=\s|$))/i,/^(?:id:)/i,/^(?:type:)/i,/^(?:msg:)/i,/^(?:NORMAL\b)/i,/^(?:REVERSE\b)/i,/^(?:HIGHLIGHT\b)/i,/^(?:tag:)/i,/^(?:branch(?=\s|$))/i,/^(?:order:)/i,/^(?:merge(?=\s|$))/i,/^(?:cherry-pick(?=\s|$))/i,/^(?:parent:)/i,/^(?:checkout(?=\s|$))/i,/^(?:LR\b)/i,/^(?:TB\b)/i,/^(?::)/i,/^(?:\^)/i,/^(?:options\r?\n)/i,/^(?:[ \r\n\t]+end\b)/i,/^(?:[\s\S]+(?=[ \r\n\t]+end))/i,/^(?:["]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[0-9]+(?=\s|$))/i,/^(?:\w([-\./\w]*[-\w])?)/i,/^(?:$)/i,/^(?:\s+)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},options:{rules:[30,31],inclusive:!1},string:{rules:[34,35],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,32,33,36,37,38,39],inclusive:!0}}};function v(){this.yy={}}return y.lexer=w,v.prototype=y,y.Parser=v,new v}();tO.parser=tO;const eO=tO;let nO=sg().gitGraph.mainBranchName,iO=sg().gitGraph.mainBranchOrder,rO={},aO=null,oO={};oO[nO]={name:nO,order:iO};let sO={};sO[nO]=aO;let cO=nO,lO="LR",uO=0;function hO(){return ef({length:7})}let fO={};const dO=function(t){if(t=Bc.sanitizeText(t,sg()),void 0===sO[t]){let e=new Error('Trying to checkout branch which is not yet created. (Help try using "branch '+t+'")');throw e.hash={text:"checkout "+t,token:"checkout "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"branch '+t+'"']},e}{cO=t;const e=sO[cO];aO=rO[e]}};function gO(t,e,n){const i=t.indexOf(e);-1===i?t.push(n):t.splice(i,1,n)}function pO(t){const e=t.reduce(((t,e)=>t.seq>e.seq?t:e),t[0]);let n="";t.forEach((function(t){n+=t===e?"\t*":"\t|"}));const i=[n,e.id,e.seq];for(let t in sO)sO[t]===e.id&&i.push(t);if(l.debug(i.join(" ")),e.parents&&2==e.parents.length){const n=rO[e.parents[0]];gO(t,e,n),t.push(rO[e.parents[1]])}else{if(0==e.parents.length)return;{const n=rO[e.parents];gO(t,e,n)}}t=function(t,e){const n=Object.create(null);return t.reduce(((t,e)=>{const i=(t=>t.id)(e);return n[i]||(n[i]=!0,t.push(e)),t}),[])}(t),pO(t)}const bO=function(){const t=Object.keys(rO).map((function(t){return rO[t]}));return t.forEach((function(t){l.debug(t.id)})),t.sort(((t,e)=>t.seq-e.seq)),t},mO={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},yO={getConfig:()=>sg().gitGraph,setDirection:function(t){lO=t},setOptions:function(t){l.debug("options str",t),t=(t=t&&t.trim())||"{}";try{fO=JSON.parse(t)}catch(t){l.error("error while parsing gitGraph options",t.message)}},getOptions:function(){return fO},commit:function(t,e,n,i){l.debug("Entering commit:",t,e,n,i),e=Bc.sanitizeText(e,sg()),t=Bc.sanitizeText(t,sg()),i=Bc.sanitizeText(i,sg());const r={id:e||uO+"-"+hO(),message:t,seq:uO++,type:n||mO.NORMAL,tag:i||"",parents:null==aO?[]:[aO.id],branch:cO};aO=r,rO[r.id]=r,sO[cO]=r.id,l.debug("in pushCommit "+r.id)},branch:function(t,e){if(t=Bc.sanitizeText(t,sg()),void 0!==sO[t]){let e=new Error('Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout '+t+'")');throw e.hash={text:"branch "+t,token:"branch "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+t+'"']},e}sO[t]=null!=aO?aO.id:null,oO[t]={name:t,order:e?parseInt(e,10):null},dO(t),l.debug("in createBranch")},merge:function(t,e,n,i){t=Bc.sanitizeText(t,sg()),e=Bc.sanitizeText(e,sg());const r=rO[sO[cO]],a=rO[sO[t]];if(cO===t){let e=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw e.hash={text:"merge "+t,token:"merge "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},e}if(void 0===r||!r){let e=new Error('Incorrect usage of "merge". Current branch ('+cO+")has no commits");throw e.hash={text:"merge "+t,token:"merge "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["commit"]},e}if(void 0===sO[t]){let e=new Error('Incorrect usage of "merge". Branch to be merged ('+t+") does not exist");throw e.hash={text:"merge "+t,token:"merge "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch "+t]},e}if(void 0===a||!a){let e=new Error('Incorrect usage of "merge". Branch to be merged ('+t+") has no commits");throw e.hash={text:"merge "+t,token:"merge "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"commit"']},e}if(r===a){let e=new Error('Incorrect usage of "merge". Both branches have same head');throw e.hash={text:"merge "+t,token:"merge "+t,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},e}if(e&&void 0!==rO[e]){let r=new Error('Incorrect usage of "merge". Commit with id:'+e+" already exists, use different custom Id");throw r.hash={text:"merge "+t+e+n+i,token:"merge "+t+e+n+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["merge "+t+" "+e+"_UNIQUE "+n+" "+i]},r}const o={id:e||uO+"-"+hO(),message:"merged branch "+t+" into "+cO,seq:uO++,parents:[null==aO?null:aO.id,sO[t]],branch:cO,type:mO.MERGE,customType:n,customId:!!e,tag:i||""};aO=o,rO[o.id]=o,sO[cO]=o.id,l.debug(sO),l.debug("in mergeBranch")},cherryPick:function(t,e,n,i){if(l.debug("Entering cherryPick:",t,e,n),t=Bc.sanitizeText(t,sg()),e=Bc.sanitizeText(e,sg()),n=Bc.sanitizeText(n,sg()),i=Bc.sanitizeText(i,sg()),!t||void 0===rO[t]){let n=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw n.hash={text:"cherryPick "+t+" "+e,token:"cherryPick "+t+" "+e,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},n}let r=rO[t],a=r.branch;if(i&&(!Array.isArray(r.parents)||!r.parents.includes(i)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");if(r.type===mO.MERGE&&!i)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!e||void 0===rO[e]){if(a===cO){let n=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw n.hash={text:"cherryPick "+t+" "+e,token:"cherryPick "+t+" "+e,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},n}const o=rO[sO[cO]];if(void 0===o||!o){let n=new Error('Incorrect usage of "cherry-pick". Current branch ('+cO+")has no commits");throw n.hash={text:"cherryPick "+t+" "+e,token:"cherryPick "+t+" "+e,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},n}const s={id:uO+"-"+hO(),message:"cherry-picked "+r+" into "+cO,seq:uO++,parents:[null==aO?null:aO.id,r.id],branch:cO,type:mO.CHERRY_PICK,tag:n??`cherry-pick:${r.id}${r.type===mO.MERGE?`|parent:${i}`:""}`};aO=s,rO[s.id]=s,sO[cO]=s.id,l.debug(sO),l.debug("in cherryPick")}},checkout:dO,prettyPrint:function(){l.debug(rO),pO([bO()[0]])},clear:function(){rO={},aO=null;let t=sg().gitGraph.mainBranchName,e=sg().gitGraph.mainBranchOrder;sO={},sO[t]=null,oO={},oO[t]={name:t,order:e},cO=t,uO=0,Qd()},getBranchesAsObjArray:function(){return Object.values(oO).map(((t,e)=>null!==t.order?t:{...t,order:parseFloat(`0.${e}`,10)})).sort(((t,e)=>t.order-e.order)).map((({name:t})=>({name:t})))},getBranches:function(){return sO},getCommits:function(){return rO},getCommitsArray:bO,getCurrentBranch:function(){return cO},getDirection:function(){return lO},getHead:function(){return aO},setAccTitle:Zd,getAccTitle:Jd,getAccDescription:eg,setAccDescription:tg,setDiagramTitle:ng,getDiagramTitle:ig,commitType:mO};let wO={};let vO={},xO={},kO=[],_O=0,TO="LR";const EO=t=>{const e=document.createElementNS("http://www.w3.org/2000/svg","text");let n=[];n="string"==typeof t?t.split(/\\n|\n|/gi):Array.isArray(t)?t:[];for(const t of n){const n=document.createElementNS("http://www.w3.org/2000/svg","tspan");n.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),n.setAttribute("dy","1em"),n.setAttribute("x","0"),n.setAttribute("class","row"),n.textContent=t.trim(),e.appendChild(n)}return e},SO=(t,e,n)=>{const i=sg().gitGraph,r=t.append("g").attr("class","commit-bullets"),a=t.append("g").attr("class","commit-labels");let o=0;"TB"===TO&&(o=30);const s=Object.keys(e).sort(((t,n)=>e[t].seq-e[n].seq)),c=i.parallelCommits;s.forEach((t=>{const s=e[t];if(c)if(s.parents.length){const t=(t=>{let e="",n=0;return t.forEach((t=>{const i="TB"===TO?xO[t].y:xO[t].x;i>=n&&(e=t,n=i)})),e||void 0})(s.parents);o="TB"===TO?xO[t].y+40:xO[t].x+40}else o=0,"TB"===TO&&(o=30);const l=o+10,u="TB"===TO?l:vO[s.branch].pos,h="TB"===TO?vO[s.branch].pos:l;if(n){let t,e=void 0!==s.customType&&""!==s.customType?s.customType:s.type;switch(e){case 0:default:t="commit-normal";break;case 1:t="commit-reverse";break;case 2:t="commit-highlight";break;case 3:t="commit-merge";break;case 4:t="commit-cherry-pick"}if(2===e){const e=r.append("rect");e.attr("x",h-10),e.attr("y",u-10),e.attr("height",20),e.attr("width",20),e.attr("class",`commit ${s.id} commit-highlight${vO[s.branch].index%8} ${t}-outer`),r.append("rect").attr("x",h-6).attr("y",u-6).attr("height",12).attr("width",12).attr("class",`commit ${s.id} commit${vO[s.branch].index%8} ${t}-inner`)}else if(4===e)r.append("circle").attr("cx",h).attr("cy",u).attr("r",10).attr("class",`commit ${s.id} ${t}`),r.append("circle").attr("cx",h-3).attr("cy",u+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${s.id} ${t}`),r.append("circle").attr("cx",h+3).attr("cy",u+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${s.id} ${t}`),r.append("line").attr("x1",h+3).attr("y1",u+1).attr("x2",h).attr("y2",u-5).attr("stroke","#fff").attr("class",`commit ${s.id} ${t}`),r.append("line").attr("x1",h-3).attr("y1",u+1).attr("x2",h).attr("y2",u-5).attr("stroke","#fff").attr("class",`commit ${s.id} ${t}`);else{const n=r.append("circle");if(n.attr("cx",h),n.attr("cy",u),n.attr("r",3===s.type?9:10),n.attr("class",`commit ${s.id} commit${vO[s.branch].index%8}`),3===e){const e=r.append("circle");e.attr("cx",h),e.attr("cy",u),e.attr("r",6),e.attr("class",`commit ${t} ${s.id} commit${vO[s.branch].index%8}`)}1===e&&r.append("path").attr("d",`M ${h-5},${u-5}L${h+5},${u+5}M${h-5},${u+5}L${h+5},${u-5}`).attr("class",`commit ${t} ${s.id} commit${vO[s.branch].index%8}`)}}if(xO[s.id]="TB"===TO?{x:h,y:l}:{x:l,y:u},n){if(4!==s.type&&(s.customId&&3===s.type||3!==s.type)&&i.showCommitLabel){const t=a.append("g"),e=t.insert("rect").attr("class","commit-label-bkg"),n=t.append("text").attr("x",o).attr("y",u+25).attr("class","commit-label").text(s.id);let r=n.node().getBBox();if(e.attr("x",l-r.width/2-2).attr("y",u+13.5).attr("width",r.width+4).attr("height",r.height+4),"TB"===TO&&(e.attr("x",h-(r.width+16+5)).attr("y",u-12),n.attr("x",h-(r.width+16)).attr("y",u+r.height-12)),"TB"!==TO&&n.attr("x",l-r.width/2),i.rotateCommitLabel)if("TB"===TO)n.attr("transform","rotate(-45, "+h+", "+u+")"),e.attr("transform","rotate(-45, "+h+", "+u+")");else{let e=-7.5-(r.width+10)/25*9.5,n=10+r.width/25*8.5;t.attr("transform","translate("+e+", "+n+") rotate(-45, "+o+", "+u+")")}}if(s.tag){const t=a.insert("polygon"),e=a.append("circle"),n=a.append("text").attr("y",u-16).attr("class","tag-label").text(s.tag);let i=n.node().getBBox();n.attr("x",l-i.width/2);const r=i.height/2,c=u-19.2;t.attr("class","tag-label-bkg").attr("points",`\n ${o-i.width/2-2},${c+2}\n ${o-i.width/2-2},${c-2}\n ${l-i.width/2-4},${c-r-2}\n ${l+i.width/2+4},${c-r-2}\n ${l+i.width/2+4},${c+r+2}\n ${l-i.width/2-4},${c+r+2}`),e.attr("cx",o-i.width/2+2).attr("cy",c).attr("r",1.5).attr("class","tag-hole"),"TB"===TO&&(t.attr("class","tag-label-bkg").attr("points",`\n ${h},${o+2}\n ${h},${o-2}\n ${h+10},${o-r-2}\n ${h+10+i.width+4},${o-r-2}\n ${h+10+i.width+4},${o+r+2}\n ${h+10},${o+r+2}`).attr("transform","translate(12,12) rotate(45, "+h+","+o+")"),e.attr("cx",h+2).attr("cy",o).attr("transform","translate(12,12) rotate(45, "+h+","+o+")"),n.attr("x",h+5).attr("y",o+3).attr("transform","translate(14,14) rotate(45, "+h+","+o+")"))}}o+=50,o>_O&&(_O=o)}))},CO=(t,e,n=0)=>{const i=t+Math.abs(t-e)/2;if(n>5)return i;if(kO.every((t=>Math.abs(t-i)>=10)))return kO.push(i),i;const r=Math.abs(t-e);return CO(t,e-r/5,n+1)},AO=(t,e)=>{const n=t.append("g").attr("class","commit-arrows");Object.keys(e).forEach((t=>{const i=e[t];i.parents&&i.parents.length>0&&i.parents.forEach((t=>{((t,e,n,i)=>{const r=xO[e.id],a=xO[n.id],o=((t,e,n,i,r)=>{const a=("TB"===TO?n.x(n=>n.seq>t.seq&&n.seqt.branch===a)(n)))})(e,n,r,a,i);let s,c="",l="",u=0,h=0,f=vO[n.branch].index;if(3===n.type&&e.id!==n.parents[0]&&(f=vO[e.branch].index),o){c="A 10 10, 0, 0, 0,",l="A 10 10, 0, 0, 1,",u=10,h=10;const t=r.ya.x&&(c="A 20 20, 0, 0, 0,",l="A 20 20, 0, 0, 1,",u=20,h=20,s=3===n.type&&e.id!==n.parents[0]?`M ${r.x} ${r.y} L ${r.x} ${a.y-u} ${l} ${r.x-h} ${a.y} L ${a.x} ${a.y}`:`M ${r.x} ${r.y} L ${a.x+u} ${r.y} ${c} ${a.x} ${r.y+h} L ${a.x} ${a.y}`),r.x===a.x&&(s=`M ${r.x} ${r.y} L ${a.x} ${a.y}`)):(r.ya.y&&(s=3===n.type&&e.id!==n.parents[0]?`M ${r.x} ${r.y} L ${a.x-u} ${r.y} ${c} ${a.x} ${r.y-h} L ${a.x} ${a.y}`:`M ${r.x} ${r.y} L ${r.x} ${a.y+u} ${l} ${r.x+h} ${a.y} L ${a.x} ${a.y}`),r.y===a.y&&(s=`M ${r.x} ${r.y} L ${a.x} ${a.y}`));t.append("path").attr("d",s).attr("class","arrow arrow"+f%8)})(n,e[t],i,e)}))}))},MO=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:eO,db:yO,renderer:{draw:function(t,e,n,i){vO={},xO={},wO={},_O=0,kO=[],TO="LR";const r=sg(),a=r.gitGraph;l.debug("in gitgraph renderer",t+"\n","id:",e,n),wO=i.db.getCommits();const o=i.db.getBranchesAsObjArray();TO=i.db.getDirection();const s=ee(`[id="${e}"]`);let c=0;o.forEach(((t,e)=>{const n=EO(t.name),i=s.append("g"),r=i.insert("g").attr("class","branchLabel"),o=r.insert("g").attr("class","label branch-label");o.node().appendChild(n);let l=n.getBBox();vO[t.name]={pos:c,index:e},c+=50+(a.rotateCommitLabel?40:0)+("TB"===TO?l.width/2:0),o.remove(),r.remove(),i.remove()})),SO(s,wO,!1),a.showBranches&&((t,e)=>{const n=sg().gitGraph,i=t.append("g");e.forEach(((t,e)=>{const r=e%8,a=vO[t.name].pos,o=i.append("line");o.attr("x1",0),o.attr("y1",a),o.attr("x2",_O),o.attr("y2",a),o.attr("class","branch branch"+r),"TB"===TO&&(o.attr("y1",30),o.attr("x1",a),o.attr("y2",_O),o.attr("x2",a)),kO.push(a);let s=t.name;const c=EO(s),l=i.insert("rect"),u=i.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+r);u.node().appendChild(c);let h=c.getBBox();l.attr("class","branchLabelBkg label"+r).attr("rx",4).attr("ry",4).attr("x",-h.width-4-(!0===n.rotateCommitLabel?30:0)).attr("y",-h.height/2+8).attr("width",h.width+18).attr("height",h.height+4),u.attr("transform","translate("+(-h.width-14-(!0===n.rotateCommitLabel?30:0))+", "+(a-h.height/2-1)+")"),"TB"===TO&&(l.attr("x",a-h.width/2-10).attr("y",0),u.attr("transform","translate("+(a-h.width/2-5)+", 0)")),"TB"!==TO&&l.attr("transform","translate(-19, "+(a-h.height/2)+")")}))})(s,o),AO(s,wO),SO(s,wO,!0),df.insertTitle(s,"gitTitleText",a.titleTopMargin,i.db.getDiagramTitle()),hg(void 0,s,a.diagramPadding,a.useMaxWidth??r.useMaxWidth)}},styles:t=>`\n .commit-id,\n .commit-msg,\n .branch-label {\n fill: lightgrey;\n color: lightgrey;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n ${[0,1,2,3,4,5,6,7].map((e=>`\n .branch-label${e} { fill: ${t["gitBranchLabel"+e]}; }\n .commit${e} { stroke: ${t["git"+e]}; fill: ${t["git"+e]}; }\n .commit-highlight${e} { stroke: ${t["gitInv"+e]}; fill: ${t["gitInv"+e]}; }\n .label${e} { fill: ${t["git"+e]}; }\n .arrow${e} { stroke: ${t["git"+e]}; }\n `)).join("\n")}\n\n .branch {\n stroke-width: 1;\n stroke: ${t.lineColor};\n stroke-dasharray: 2;\n }\n .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};}\n .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelBackground}; opacity: 0.5; }\n .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};}\n .tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; }\n .tag-hole { fill: ${t.textColor}; }\n\n .commit-merge {\n stroke: ${t.primaryColor};\n fill: ${t.primaryColor};\n }\n .commit-reverse {\n stroke: ${t.primaryColor};\n fill: ${t.primaryColor};\n stroke-width: 3;\n }\n .commit-highlight-outer {\n }\n .commit-highlight-inner {\n stroke: ${t.primaryColor};\n fill: ${t.primaryColor};\n }\n\n .arrow { stroke-width: 8; stroke-linecap: round; fill: none}\n .gitTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n }\n`}},Symbol.toStringTag,{value:"Module"}));var LO=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[6,8,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,32,33,35,37],n=[1,25],i=[1,26],r=[1,27],a=[1,28],o=[1,29],s=[1,30],c=[1,31],l=[1,9],u=[1,10],h=[1,11],f=[1,12],d=[1,13],g=[1,14],p=[1,15],b=[1,16],m=[1,18],y=[1,19],w=[1,20],v=[1,21],x=[1,22],k=[1,24],_=[1,32],T={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,dateFormat:19,inclusiveEndDates:20,topAxis:21,axisFormat:22,tickInterval:23,excludes:24,includes:25,todayMarker:26,title:27,acc_title:28,acc_title_value:29,acc_descr:30,acc_descr_value:31,acc_descr_multiline_value:32,section:33,clickStatement:34,taskTxt:35,taskData:36,click:37,callbackname:38,callbackargs:39,href:40,clickStatementDebug:41,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",19:"dateFormat",20:"inclusiveEndDates",21:"topAxis",22:"axisFormat",23:"tickInterval",24:"excludes",25:"includes",26:"todayMarker",27:"title",28:"acc_title",29:"acc_title_value",30:"acc_descr",31:"acc_descr_value",32:"acc_descr_multiline_value",33:"section",35:"taskTxt",36:"taskData",37:"click",38:"callbackname",39:"callbackargs",40:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[34,2],[34,3],[34,3],[34,4],[34,3],[34,4],[34,2],[41,2],[41,3],[41,3],[41,4],[41,3],[41,4],[41,2]],performAction:function(t,e,n,i,r,a,o){var s=a.length-1;switch(r){case 1:return a[s-1];case 2:case 6:case 7:this.$=[];break;case 3:a[s-1].push(a[s]),this.$=a[s-1];break;case 4:case 5:this.$=a[s];break;case 8:i.setWeekday("monday");break;case 9:i.setWeekday("tuesday");break;case 10:i.setWeekday("wednesday");break;case 11:i.setWeekday("thursday");break;case 12:i.setWeekday("friday");break;case 13:i.setWeekday("saturday");break;case 14:i.setWeekday("sunday");break;case 15:i.setDateFormat(a[s].substr(11)),this.$=a[s].substr(11);break;case 16:i.enableInclusiveEndDates(),this.$=a[s].substr(18);break;case 17:i.TopAxis(),this.$=a[s].substr(8);break;case 18:i.setAxisFormat(a[s].substr(11)),this.$=a[s].substr(11);break;case 19:i.setTickInterval(a[s].substr(13)),this.$=a[s].substr(13);break;case 20:i.setExcludes(a[s].substr(9)),this.$=a[s].substr(9);break;case 21:i.setIncludes(a[s].substr(9)),this.$=a[s].substr(9);break;case 22:i.setTodayMarker(a[s].substr(12)),this.$=a[s].substr(12);break;case 24:i.setDiagramTitle(a[s].substr(6)),this.$=a[s].substr(6);break;case 25:this.$=a[s].trim(),i.setAccTitle(this.$);break;case 26:case 27:this.$=a[s].trim(),i.setAccDescription(this.$);break;case 28:i.addSection(a[s].substr(8)),this.$=a[s].substr(8);break;case 30:i.addTask(a[s-1],a[s]),this.$="task";break;case 31:this.$=a[s-1],i.setClickEvent(a[s-1],a[s],null);break;case 32:this.$=a[s-2],i.setClickEvent(a[s-2],a[s-1],a[s]);break;case 33:this.$=a[s-2],i.setClickEvent(a[s-2],a[s-1],null),i.setLink(a[s-2],a[s]);break;case 34:this.$=a[s-3],i.setClickEvent(a[s-3],a[s-2],a[s-1]),i.setLink(a[s-3],a[s]);break;case 35:this.$=a[s-2],i.setClickEvent(a[s-2],a[s],null),i.setLink(a[s-2],a[s-1]);break;case 36:this.$=a[s-3],i.setClickEvent(a[s-3],a[s-1],a[s]),i.setLink(a[s-3],a[s-2]);break;case 37:this.$=a[s-1],i.setLink(a[s-1],a[s]);break;case 38:case 44:this.$=a[s-1]+" "+a[s];break;case 39:case 40:case 42:this.$=a[s-2]+" "+a[s-1]+" "+a[s];break;case 41:case 43:this.$=a[s-3]+" "+a[s-2]+" "+a[s-1]+" "+a[s]}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:n,13:i,14:r,15:a,16:o,17:s,18:c,19:l,20:u,21:h,22:f,23:d,24:g,25:p,26:b,27:m,28:y,30:w,32:v,33:x,34:23,35:k,37:_},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:33,11:17,12:n,13:i,14:r,15:a,16:o,17:s,18:c,19:l,20:u,21:h,22:f,23:d,24:g,25:p,26:b,27:m,28:y,30:w,32:v,33:x,34:23,35:k,37:_},t(e,[2,5]),t(e,[2,6]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),{29:[1,34]},{31:[1,35]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),{36:[1,36]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),{38:[1,37],40:[1,38]},t(e,[2,4]),t(e,[2,25]),t(e,[2,26]),t(e,[2,30]),t(e,[2,31],{39:[1,39],40:[1,40]}),t(e,[2,37],{38:[1,41]}),t(e,[2,32],{40:[1,42]}),t(e,[2,33]),t(e,[2,35],{39:[1,43]}),t(e,[2,34]),t(e,[2,36])],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=[0],n=[],i=[null],r=[],a=this.table,o="",s=0,c=0,l=r.slice.call(arguments,1),u=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);u.setInput(t,h.yy),h.yy.lexer=u,h.yy.parser=this,typeof u.yylloc>"u"&&(u.yylloc={});var d=u.yylloc;r.push(d);var g,p=u.options&&u.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,m,y,w,v,x,k,_,T={};;){if(m=e[e.length-1],this.defaultActions[m]?y=this.defaultActions[m]:((null===b||typeof b>"u")&&(g=void 0,"number"!=typeof(g=n.pop()||u.lex()||1)&&(g instanceof Array&&(g=(n=g).pop()),g=this.symbols_[g]||g),b=g),y=a[m]&&a[m][b]),typeof y>"u"||!y.length||!y[0]){var E;for(v in _=[],a[m])this.terminals_[v]&&v>2&&_.push("'"+this.terminals_[v]+"'");E=u.showPosition?"Parse error on line "+(s+1)+":\n"+u.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(E,{text:u.match,token:this.terminals_[b]||b,line:u.yylineno,loc:d,expected:_})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+b);switch(y[0]){case 1:e.push(b),i.push(u.yytext),r.push(u.yylloc),e.push(y[1]),b=null,c=u.yyleng,o=u.yytext,s=u.yylineno,d=u.yylloc;break;case 2:if(x=this.productions_[y[1]][1],T.$=i[i.length-x],T._$={first_line:r[r.length-(x||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(x||1)].first_column,last_column:r[r.length-1].last_column},p&&(T._$.range=[r[r.length-(x||1)].range[0],r[r.length-1].range[1]]),typeof(w=this.performAction.apply(T,[o,c,s,h.yy,y[1],i,r].concat(l)))<"u")return w;x&&(e=e.slice(0,-1*x*2),i=i.slice(0,-1*x),r=r.slice(0,-1*x)),e.push(this.productions_[y[1]][0]),i.push(T.$),r.push(T._$),k=a[e[e.length-2]][e[e.length-1]],e.push(k);break;case 3:return!0}}return!0}},E={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),28;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),30;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:case 15:case 18:case 21:case 24:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:case 9:case 10:case 12:case 13:break;case 11:return 10;case 14:this.begin("href");break;case 16:return 40;case 17:this.begin("callbackname");break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 38;case 22:return 39;case 23:this.begin("click");break;case 25:return 37;case 26:return 4;case 27:return 19;case 28:return 20;case 29:return 21;case 30:return 22;case 31:return 23;case 32:return 25;case 33:return 24;case 34:return 26;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return"date";case 43:return 27;case 44:return"accDescription";case 45:return 33;case 46:return 35;case 47:return 36;case 48:return":";case 49:return 6;case 50:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],inclusive:!0}}};function S(){this.yy={}}return T.lexer=E,S.prototype=T,T.Parser=S,new S}();LO.parser=LO;const IO=LO;var OO={exports:{}};!function(t,e){var n;t.exports=(n="day",function(t,e,i){var r=function(t){return t.add(4-t.isoWeekday(),n)},a=e.prototype;a.isoWeekYear=function(){return r(this).year()},a.isoWeek=function(t){if(!this.$utils().u(t))return this.add(7*(t-this.isoWeek()),n);var e,a,o,s=r(this),c=(e=this.isoWeekYear(),o=4-(a=(this.$u?i.utc:i)().year(e).startOf("year")).isoWeekday(),a.isoWeekday()>4&&(o+=7),a.add(o,n));return s.diff(c,"week")+1},a.isoWeekday=function(t){return this.$utils().u(t)?this.day()||7:this.day(this.day()%7?t:t-7)};var o=a.startOf;a.startOf=function(t,e){var n=this.$utils(),i=!!n.u(e)||e;return"isoweek"===n.p(t)?i?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):o.bind(this)(t,e)}})}(OO);const NO=r(OO.exports);var DO={exports:{}};!function(t,e){t.exports=function(){var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},e=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d\d/,i=/\d\d?/,r=/\d*[^-_:/,()\s\d]+/,a={},o=function(t){return(t=+t)+(t>68?1900:2e3)},s=function(t){return function(e){this[t]=+e}},c=[/[+-]\d\d:?(\d\d)?|Z/,function(t){(this.zone||(this.zone={})).offset=function(t){if(!t||"Z"===t)return 0;var e=t.match(/([+-]|\d\d)/g),n=60*e[1]+(+e[2]||0);return 0===n?0:"+"===e[0]?-n:n}(t)}],l=function(t){var e=a[t];return e&&(e.indexOf?e:e.s.concat(e.f))},u=function(t,e){var n,i=a.meridiem;if(i){for(var r=1;r<=24;r+=1)if(t.indexOf(i(r,0,e))>-1){n=r>12;break}}else n=t===(e?"pm":"PM");return n},h={A:[r,function(t){this.afternoon=u(t,!1)}],a:[r,function(t){this.afternoon=u(t,!0)}],S:[/\d/,function(t){this.milliseconds=100*+t}],SS:[n,function(t){this.milliseconds=10*+t}],SSS:[/\d{3}/,function(t){this.milliseconds=+t}],s:[i,s("seconds")],ss:[i,s("seconds")],m:[i,s("minutes")],mm:[i,s("minutes")],H:[i,s("hours")],h:[i,s("hours")],HH:[i,s("hours")],hh:[i,s("hours")],D:[i,s("day")],DD:[n,s("day")],Do:[r,function(t){var e=a.ordinal,n=t.match(/\d+/);if(this.day=n[0],e)for(var i=1;i<=31;i+=1)e(i).replace(/\[|\]/g,"")===t&&(this.day=i)}],M:[i,s("month")],MM:[n,s("month")],MMM:[r,function(t){var e=l("months"),n=(l("monthsShort")||e.map((function(t){return t.slice(0,3)}))).indexOf(t)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[r,function(t){var e=l("months").indexOf(t)+1;if(e<1)throw new Error;this.month=e%12||e}],Y:[/[+-]?\d+/,s("year")],YY:[n,function(t){this.year=o(t)}],YYYY:[/\d{4}/,s("year")],Z:c,ZZ:c};return function(n,i,r){r.p.customParseFormat=!0,n&&n.parseTwoDigitYear&&(o=n.parseTwoDigitYear);var s=i.prototype,c=s.parse;s.parse=function(n){var i=n.date,o=n.utc,s=n.args;this.$u=o;var l=s[1];if("string"==typeof l){var u=!0===s[2],f=!0===s[3],d=u||f,g=s[2];f&&(g=s[2]),a=this.$locale(),!u&&g&&(a=r.Ls[g]),this.$d=function(n,i,r){try{if(["x","X"].indexOf(i)>-1)return new Date(("X"===i?1e3:1)*n);var o=function(n){var i,r;i=n,r=a&&a.formats;for(var o=(n=i.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(e,n,i){var a=i&&i.toUpperCase();return n||r[i]||t[i]||r[a].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(t,e,n){return e||n.slice(1)}))}))).match(e),s=o.length,c=0;c0?c-1:b.getMonth());var v=u||0,x=f||0,k=d||0,_=g||0;return p?new Date(Date.UTC(y,w,m,v,x,k,_+60*p.offset*1e3)):r?new Date(Date.UTC(y,w,m,v,x,k,_)):new Date(y,w,m,v,x,k,_)}catch{return new Date("")}}(i,l,o),this.init(),g&&!0!==g&&(this.$L=this.locale(g).$L),d&&i!=this.format(l)&&(this.$d=new Date("")),a={}}else if(l instanceof Array)for(var p=l.length,b=1;b<=p;b+=1){s[1]=l[b-1];var m=r.apply(this,s);if(m.isValid()){this.$d=m.$d,this.$L=m.$L,this.init();break}b===p&&(this.$d=new Date(""))}else c.call(this,n)}}}()}(DO);const PO=r(DO.exports);var BO={exports:{}};!function(t,e){t.exports=function(t,e){var n=e.prototype,i=n.format;n.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return i.bind(this)(t);var r=this.$utils(),a=(t||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(t){switch(t){case"Q":return Math.ceil((e.$M+1)/3);case"Do":return n.ordinal(e.$D);case"gggg":return e.weekYear();case"GGGG":return e.isoWeekYear();case"wo":return n.ordinal(e.week(),"W");case"w":case"ww":return r.s(e.week(),"w"===t?1:2,"0");case"W":case"WW":return r.s(e.isoWeek(),"W"===t?1:2,"0");case"k":case"kk":return r.s(String(0===e.$H?24:e.$H),"k"===t?1:2,"0");case"X":return Math.floor(e.$d.getTime()/1e3);case"x":return e.$d.getTime();case"z":return"["+e.offsetName()+"]";case"zzz":return"["+e.offsetName("long")+"]";default:return t}}));return i.bind(this)(a)}}}(BO);const RO=r(BO.exports);o.extend(NO),o.extend(PO),o.extend(RO);let FO,$O="",jO="",zO="",qO=[],HO=[],UO={},GO=[],KO=[],YO="",VO="";const WO=["active","done","crit","milestone"];let XO=[],QO=!1,ZO=!1,JO="sunday",tN=0;const eN=function(t,e,n,i){return!i.includes(t.format(e.trim()))&&(!!(t.isoWeekday()>=6&&n.includes("weekends")||n.includes(t.format("dddd").toLowerCase()))||n.includes(t.format(e.trim())))},nN=function(t,e,n,i){if(!n.length||t.manualEndTime)return;let r,a;r=t.startTime instanceof Date?o(t.startTime):o(t.startTime,e,!0),r=r.add(1,"d"),a=t.endTime instanceof Date?o(t.endTime):o(t.endTime,e,!0);const[s,c]=iN(r,a,e,n,i);t.endTime=s.toDate(),t.renderEndTime=c},iN=function(t,e,n,i,r){let a=!1,o=null;for(;t<=e;)a||(o=e.toDate()),a=eN(t,n,i,r),a&&(e=e.add(1,"d")),t=t.add(1,"d");return[e,o]},rN=function(t,e,n){n=n.trim();const i=/^after\s+(?[\d\w- ]+)/.exec(n);if(null!==i){let t=null;for(const e of i.groups.ids.split(" ")){let n=dN(e);void 0!==n&&(!t||n.endTime>t.endTime)&&(t=n)}if(t)return t.endTime;const e=new Date;return e.setHours(0,0,0,0),e}let r=o(n,e.trim(),!0);if(r.isValid())return r.toDate();{l.debug("Invalid date:"+n),l.debug("With date format:"+e.trim());const t=new Date(n);if(void 0===t||isNaN(t.getTime())||t.getFullYear()<-1e4||t.getFullYear()>1e4)throw new Error("Invalid date:"+n);return t}},aN=function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return null!==e?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},oN=function(t,e,n,i=!1){n=n.trim();const r=/^until\s+(?[\d\w- ]+)/.exec(n);if(null!==r){let t=null;for(const e of r.groups.ids.split(" ")){let n=dN(e);void 0!==n&&(!t||n.startTimesg().gantt,clear:function(){GO=[],KO=[],YO="",XO=[],sN=0,lN=void 0,uN=void 0,hN=[],$O="",jO="",VO="",FO=void 0,zO="",qO=[],HO=[],QO=!1,ZO=!1,tN=0,UO={},Qd(),JO="sunday"},setDateFormat:function(t){$O=t},getDateFormat:function(){return $O},enableInclusiveEndDates:function(){QO=!0},endDatesAreInclusive:function(){return QO},enableTopAxis:function(){ZO=!0},topAxisEnabled:function(){return ZO},setAxisFormat:function(t){jO=t},getAxisFormat:function(){return jO},setTickInterval:function(t){FO=t},getTickInterval:function(){return FO},setTodayMarker:function(t){zO=t},getTodayMarker:function(){return zO},setAccTitle:Zd,getAccTitle:Jd,setDiagramTitle:ng,getDiagramTitle:ig,setDisplayMode:function(t){VO=t},getDisplayMode:function(){return VO},setAccDescription:tg,getAccDescription:eg,addSection:function(t){YO=t,GO.push(t)},getSections:function(){return GO},getTasks:function(){let t=gN(),e=0;for(;!t&&e<10;)t=gN(),e++;return KO=hN,KO},addTask:function(t,e){const n={section:YO,type:YO,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:e},task:t,classes:[]},i=function(t,e){let n;n=":"===e.substr(0,1)?e.substr(1,e.length):e;const i=n.split(","),r={};yN(i,r,WO);for(let t=0;t{df.runFunc(e,...i)}))}(t,e,n)})),pN(t,"clickable")},setLink:function(t,e){let n=e;"loose"!==sg().securityLevel&&(n=f.sanitizeUrl(e)),t.split(",").forEach((function(t){void 0!==dN(t)&&(bN(t,(()=>{window.open(n,"_self")})),UO[t]=n)})),pN(t,"clickable")},getLinks:function(){return UO},bindFunctions:function(t){XO.forEach((function(e){e(t)}))},parseDuration:aN,isInvalidDate:eN,setWeekday:function(t){JO=t},getWeekday:function(){return JO}};function yN(t,e,n){let i=!0;for(;i;)i=!1,n.forEach((function(n){const r=new RegExp("^\\s*"+n+"\\s*$");t[0].match(r)&&(e[n]=!0,t.shift(1),i=!0)}))}const wN={monday:vr,tuesday:xr,wednesday:kr,thursday:_r,friday:Tr,saturday:Er,sunday:wr},vN=(t,e)=>{let n=[...t].map((()=>-1/0)),i=[...t].sort(((t,e)=>t.startTime-e.startTime||t.order-e.order)),r=0;for(const t of i)for(let i=0;i=n[i]){n[i]=t.endTime,t.order=i+e,i>r&&(r=i);break}return r};let xN;const kN=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:IO,db:mN,renderer:{setConf:function(){l.debug("Something is calling, setConf, remove the call")},draw:function(t,e,n,i){const r=sg().gantt,a=sg().securityLevel;let s;"sandbox"===a&&(s=ee("#i"+e));const c=ee("sandbox"===a?s.nodes()[0].contentDocument.body:"body"),u="sandbox"===a?s.nodes()[0].contentDocument:document,h=u.getElementById(e);xN=h.parentElement.offsetWidth,void 0===xN&&(xN=1200),void 0!==r.useWidth&&(xN=r.useWidth);const f=i.db.getTasks();let d=[];for(const t of f)d.push(t.type);d=function(t){const e={},n=[];for(let i=0,r=t.length;ie.type===t)).length}h.setAttribute("viewBox","0 0 "+xN+" "+p);const b=c.select(`[id="${e}"]`),m=uo().domain([M(f,(function(t){return t.startTime})),A(f,(function(t){return t.endTime}))]).rangeRound([0,xN-r.leftPadding-r.rightPadding]);f.sort((function(t,e){const n=t.startTime,i=e.startTime;let r=0;return n>i?r=1:nd)&&(d=e);if(!f||!d)return;if(o(d).diff(o(f),"year")>5)return void l.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");const g=i.db.getDateFormat(),p=[];let y=null,w=o(f);for(;w.valueOf()<=d;)i.db.isInvalidDate(w,g,u,h)?y?y.end=w:y={start:w,end:w}:y&&(p.push(y),y=null),w=w.add(1,"d");b.append("g").selectAll("rect").data(p).enter().append("rect").attr("id",(function(t){return"exclude-"+t.start.format("YYYY-MM-DD")})).attr("x",(function(t){return m(t.start)+n})).attr("y",r.gridLineStartPadding).attr("width",(function(t){const e=t.end.add(1,"day");return m(e)-m(t.start)})).attr("height",s-e-r.gridLineStartPadding).attr("transform-origin",(function(e,i){return(m(e.start)+n+.5*(m(e.end)-m(e.start))).toString()+"px "+(i*t+.5*s).toString()+"px"})).attr("class","exclude-range")}(c,h,f,0,a,t,i.db.getExcludes(),i.db.getIncludes()),function(t,e,n,a){let o=function(t){return R(3,t)}(m).tickSize(-a+e+r.gridLineStartPadding).tickFormat(Hr(i.db.getAxisFormat()||r.axisFormat||"%Y-%m-%d"));const s=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(i.db.getTickInterval()||r.tickInterval);if(null!==s){const t=s[1],e=s[2],n=i.db.getWeekday()||r.weekday;switch(e){case"millisecond":o.ticks(ar.every(t));break;case"second":o.ticks(dr.every(t));break;case"minute":o.ticks(gr.every(t));break;case"hour":o.ticks(pr.every(t));break;case"day":o.ticks(br.every(t));break;case"week":o.ticks(wN[n].every(t));break;case"month":o.ticks(Dr.every(t))}}if(b.append("g").attr("class","grid").attr("transform","translate("+t+", "+(a-50)+")").call(o).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),i.db.topAxisEnabled()||r.topAxis){let n=function(t){return R(1,t)}(m).tickSize(-a+e+r.gridLineStartPadding).tickFormat(Hr(i.db.getAxisFormat()||r.axisFormat||"%Y-%m-%d"));if(null!==s){const t=s[1],e=s[2],a=i.db.getWeekday()||r.weekday;switch(e){case"millisecond":n.ticks(ar.every(t));break;case"second":n.ticks(dr.every(t));break;case"minute":n.ticks(gr.every(t));break;case"hour":n.ticks(pr.every(t));break;case"day":n.ticks(br.every(t));break;case"week":n.ticks(wN[a].every(t));break;case"month":n.ticks(Dr.every(t))}}b.append("g").attr("class","grid").attr("transform","translate("+t+", "+e+")").call(n).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}(f,h,0,a),function(t,n,a,o,s,c,l){const u=[...new Set(t.map((t=>t.order)))].map((e=>t.find((t=>t.order===e))));b.append("g").selectAll("rect").data(u).enter().append("rect").attr("x",0).attr("y",(function(t,e){return t.order*n+a-2})).attr("width",(function(){return l-r.rightPadding/2})).attr("height",n).attr("class",(function(t){for(const[e,n]of d.entries())if(t.type===n)return"section section"+e%r.numberSectionStyles;return"section section0"}));const h=b.append("g").selectAll("rect").data(t).enter(),f=i.db.getLinks();if(h.append("rect").attr("id",(function(t){return t.id})).attr("rx",3).attr("ry",3).attr("x",(function(t){return t.milestone?m(t.startTime)+o+.5*(m(t.endTime)-m(t.startTime))-.5*s:m(t.startTime)+o})).attr("y",(function(t,e){return t.order*n+a})).attr("width",(function(t){return t.milestone?s:m(t.renderEndTime||t.endTime)-m(t.startTime)})).attr("height",s).attr("transform-origin",(function(t,e){return e=t.order,(m(t.startTime)+o+.5*(m(t.endTime)-m(t.startTime))).toString()+"px "+(e*n+a+.5*s).toString()+"px"})).attr("class",(function(t){let e="";t.classes.length>0&&(e=t.classes.join(" "));let n=0;for(const[e,i]of d.entries())t.type===i&&(n=e%r.numberSectionStyles);let i="";return t.active?t.crit?i+=" activeCrit":i=" active":t.done?i=t.crit?" doneCrit":" done":t.crit&&(i+=" crit"),0===i.length&&(i=" task"),t.milestone&&(i=" milestone "+i),i+=n,i+=" "+e,"task"+i})),h.append("text").attr("id",(function(t){return t.id+"-text"})).text((function(t){return t.task})).attr("font-size",r.fontSize).attr("x",(function(t){let e=m(t.startTime),n=m(t.renderEndTime||t.endTime);t.milestone&&(e+=.5*(m(t.endTime)-m(t.startTime))-.5*s),t.milestone&&(n=e+s);const i=this.getBBox().width;return i>n-e?n+i+1.5*r.leftPadding>l?e+o-5:n+o+5:(n-e)/2+e+o})).attr("y",(function(t,e){return t.order*n+r.barHeight/2+(r.fontSize/2-2)+a})).attr("text-height",s).attr("class",(function(t){const e=m(t.startTime);let n=m(t.endTime);t.milestone&&(n=e+s);const i=this.getBBox().width;let a="";t.classes.length>0&&(a=t.classes.join(" "));let o=0;for(const[e,n]of d.entries())t.type===n&&(o=e%r.numberSectionStyles);let c="";return t.active&&(c=t.crit?"activeCritText"+o:"activeText"+o),t.done?c=t.crit?c+" doneCritText"+o:c+" doneText"+o:t.crit&&(c=c+" critText"+o),t.milestone&&(c+=" milestoneText"),i>n-e?n+i+1.5*r.leftPadding>l?a+" taskTextOutsideLeft taskTextOutside"+o+" "+c:a+" taskTextOutsideRight taskTextOutside"+o+" "+c+" width-"+i:a+" taskText taskText"+o+" "+c+" width-"+i})),"sandbox"===sg().securityLevel){let t;t=ee("#i"+e);const n=t.nodes()[0].contentDocument;h.filter((function(t){return void 0!==f[t.id]})).each((function(t){var e=n.querySelector("#"+t.id),i=n.querySelector("#"+t.id+"-text");const r=e.parentNode;var a=n.createElement("a");a.setAttribute("xlink:href",f[t.id]),a.setAttribute("target","_top"),r.appendChild(a),a.appendChild(e),a.appendChild(i)}))}}(t,c,h,f,s,0,n),function(t,e){let n=0;const i=Object.keys(g).map((t=>[t,g[t]]));b.append("g").selectAll("text").data(i).enter().append((function(t){const e=t[0].split(Bc.lineBreakRegex),n=-(e.length-1)/2,i=u.createElementNS("http://www.w3.org/2000/svg","text");i.setAttribute("dy",n+"em");for(const[t,n]of e.entries()){const e=u.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttribute("alignment-baseline","central"),e.setAttribute("x","10"),t>0&&e.setAttribute("dy","1em"),e.textContent=n,i.appendChild(e)}return i})).attr("x",10).attr("y",(function(r,a){if(!(a>0))return r[1]*t/2+e;for(let o=0;o`\n .mermaid-main-font {\n font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);\n }\n\n .exclude-range {\n fill: ${t.excludeBkgColor};\n }\n\n .section {\n stroke: none;\n opacity: 0.2;\n }\n\n .section0 {\n fill: ${t.sectionBkgColor};\n }\n\n .section2 {\n fill: ${t.sectionBkgColor2};\n }\n\n .section1,\n .section3 {\n fill: ${t.altSectionBkgColor};\n opacity: 0.2;\n }\n\n .sectionTitle0 {\n fill: ${t.titleColor};\n }\n\n .sectionTitle1 {\n fill: ${t.titleColor};\n }\n\n .sectionTitle2 {\n fill: ${t.titleColor};\n }\n\n .sectionTitle3 {\n fill: ${t.titleColor};\n }\n\n .sectionTitle {\n text-anchor: start;\n font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);\n }\n\n\n /* Grid and axis */\n\n .grid .tick {\n stroke: ${t.gridColor};\n opacity: 0.8;\n shape-rendering: crispEdges;\n }\n\n .grid .tick text {\n font-family: ${t.fontFamily};\n fill: ${t.textColor};\n }\n\n .grid path {\n stroke-width: 0;\n }\n\n\n /* Today line */\n\n .today {\n fill: none;\n stroke: ${t.todayLineColor};\n stroke-width: 2px;\n }\n\n\n /* Task styling */\n\n /* Default task */\n\n .task {\n stroke-width: 2;\n }\n\n .taskText {\n text-anchor: middle;\n font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);\n }\n\n .taskTextOutsideRight {\n fill: ${t.taskTextDarkColor};\n text-anchor: start;\n font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);\n }\n\n .taskTextOutsideLeft {\n fill: ${t.taskTextDarkColor};\n text-anchor: end;\n }\n\n\n /* Special case clickable */\n\n .task.clickable {\n cursor: pointer;\n }\n\n .taskText.clickable {\n cursor: pointer;\n fill: ${t.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n .taskTextOutsideLeft.clickable {\n cursor: pointer;\n fill: ${t.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n .taskTextOutsideRight.clickable {\n cursor: pointer;\n fill: ${t.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n\n /* Specific task settings for the sections*/\n\n .taskText0,\n .taskText1,\n .taskText2,\n .taskText3 {\n fill: ${t.taskTextColor};\n }\n\n .task0,\n .task1,\n .task2,\n .task3 {\n fill: ${t.taskBkgColor};\n stroke: ${t.taskBorderColor};\n }\n\n .taskTextOutside0,\n .taskTextOutside2\n {\n fill: ${t.taskTextOutsideColor};\n }\n\n .taskTextOutside1,\n .taskTextOutside3 {\n fill: ${t.taskTextOutsideColor};\n }\n\n\n /* Active task */\n\n .active0,\n .active1,\n .active2,\n .active3 {\n fill: ${t.activeTaskBkgColor};\n stroke: ${t.activeTaskBorderColor};\n }\n\n .activeText0,\n .activeText1,\n .activeText2,\n .activeText3 {\n fill: ${t.taskTextDarkColor} !important;\n }\n\n\n /* Completed task */\n\n .done0,\n .done1,\n .done2,\n .done3 {\n stroke: ${t.doneTaskBorderColor};\n fill: ${t.doneTaskBkgColor};\n stroke-width: 2;\n }\n\n .doneText0,\n .doneText1,\n .doneText2,\n .doneText3 {\n fill: ${t.taskTextDarkColor} !important;\n }\n\n\n /* Tasks on the critical line */\n\n .crit0,\n .crit1,\n .crit2,\n .crit3 {\n stroke: ${t.critBorderColor};\n fill: ${t.critBkgColor};\n stroke-width: 2;\n }\n\n .activeCrit0,\n .activeCrit1,\n .activeCrit2,\n .activeCrit3 {\n stroke: ${t.critBorderColor};\n fill: ${t.activeTaskBkgColor};\n stroke-width: 2;\n }\n\n .doneCrit0,\n .doneCrit1,\n .doneCrit2,\n .doneCrit3 {\n stroke: ${t.critBorderColor};\n fill: ${t.doneTaskBkgColor};\n stroke-width: 2;\n cursor: pointer;\n shape-rendering: crispEdges;\n }\n\n .milestone {\n transform: rotate(45deg) scale(0.8,0.8);\n }\n\n .milestoneText {\n font-style: italic;\n }\n .doneCritText0,\n .doneCritText1,\n .doneCritText2,\n .doneCritText3 {\n fill: ${t.taskTextDarkColor} !important;\n }\n\n .activeCritText0,\n .activeCritText1,\n .activeCritText2,\n .activeCritText3 {\n fill: ${t.taskTextDarkColor} !important;\n }\n\n .titleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.titleColor||t.textColor};\n font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);\n }\n`}},Symbol.toStringTag,{value:"Module"}));var _N=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[6,9,10],n={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(t,e,n,i,r,a,o){switch(a.length,r){case 1:return i;case 4:break;case 6:i.setInfo(!0)}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},t(e,[2,3]),t(e,[2,4]),t(e,[2,5]),t(e,[2,6])],defaultActions:{4:[2,1]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=[0],n=[],i=[null],r=[],a=this.table,o="",s=0,c=0,l=r.slice.call(arguments,1),u=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);u.setInput(t,h.yy),h.yy.lexer=u,h.yy.parser=this,typeof u.yylloc>"u"&&(u.yylloc={});var d=u.yylloc;r.push(d);var g,p=u.options&&u.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,m,y,w,v,x,k,_,T={};;){if(m=e[e.length-1],this.defaultActions[m]?y=this.defaultActions[m]:((null===b||typeof b>"u")&&(g=void 0,"number"!=typeof(g=n.pop()||u.lex()||1)&&(g instanceof Array&&(g=(n=g).pop()),g=this.symbols_[g]||g),b=g),y=a[m]&&a[m][b]),typeof y>"u"||!y.length||!y[0]){var E;for(v in _=[],a[m])this.terminals_[v]&&v>2&&_.push("'"+this.terminals_[v]+"'");E=u.showPosition?"Parse error on line "+(s+1)+":\n"+u.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(E,{text:u.match,token:this.terminals_[b]||b,line:u.yylineno,loc:d,expected:_})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+b);switch(y[0]){case 1:e.push(b),i.push(u.yytext),r.push(u.yylloc),e.push(y[1]),b=null,c=u.yyleng,o=u.yytext,s=u.yylineno,d=u.yylloc;break;case 2:if(x=this.productions_[y[1]][1],T.$=i[i.length-x],T._$={first_line:r[r.length-(x||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(x||1)].first_column,last_column:r[r.length-1].last_column},p&&(T._$.range=[r[r.length-(x||1)].range[0],r[r.length-1].range[1]]),typeof(w=this.performAction.apply(T,[o,c,s,h.yy,y[1],i,r].concat(l)))<"u")return w;x&&(e=e.slice(0,-1*x*2),i=i.slice(0,-1*x),r=r.slice(0,-1*x)),e.push(this.productions_[y[1]][0]),i.push(T.$),r.push(T._$),k=a[e[e.length-2]][e[e.length-1]],e.push(k);break;case 3:return!0}}return!0}},i={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:return 4;case 1:return 9;case 2:return"space";case 3:return 10;case 4:return 6;case 5:return"TXT"}},rules:[/^(?:info\b)/i,/^(?:[\s\n\r]+)/i,/^(?:[\s]+)/i,/^(?:showInfo\b)/i,/^(?:$)/i,/^(?:.)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5],inclusive:!0}}};function r(){this.yy={}}return n.lexer=i,r.prototype=n,n.Parser=r,new r}();_N.parser=_N;const TN=_N;let EN=false;const SN=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:TN,db:{clear:()=>{EN=false},setInfo:t=>{EN=t},getInfo:()=>EN},renderer:{draw:(t,e,n)=>{l.debug("rendering info diagram\n"+t);const i=bg(e);Ud(i,100,400,!0),i.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${n}`)}}}},Symbol.toStringTag,{value:"Module"}));var CN=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[1,3],n=[1,4],i=[1,5],r=[1,6],a=[1,10,12,14,16,18,19,20,21,22],o=[2,4],s=[1,5,10,12,14,16,18,19,20,21,22],c=[20,21,22],l=[2,7],u=[1,12],h=[1,13],f=[1,14],d=[1,15],g=[1,16],p=[1,17],b={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,PIE:5,document:6,showData:7,line:8,statement:9,txt:10,value:11,title:12,title_value:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,section:19,NEWLINE:20,";":21,EOF:22,$accept:0,$end:1},terminals_:{2:"error",5:"PIE",7:"showData",10:"txt",11:"value",12:"title",13:"title_value",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"section",20:"NEWLINE",21:";",22:"EOF"},productions_:[0,[3,2],[3,2],[3,3],[6,0],[6,2],[8,2],[9,0],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[4,1],[4,1],[4,1]],performAction:function(t,e,n,i,r,a,o){var s=a.length-1;switch(r){case 3:i.setShowData(!0);break;case 6:this.$=a[s-1];break;case 8:i.addSection(a[s-1],i.cleanupValue(a[s]));break;case 9:this.$=a[s].trim(),i.setDiagramTitle(this.$);break;case 10:this.$=a[s].trim(),i.setAccTitle(this.$);break;case 11:case 12:this.$=a[s].trim(),i.setAccDescription(this.$);break;case 13:i.addSection(a[s].substr(8)),this.$=a[s].substr(8)}},table:[{3:1,4:2,5:e,20:n,21:i,22:r},{1:[3]},{3:7,4:2,5:e,20:n,21:i,22:r},t(a,o,{6:8,7:[1,9]}),t(s,[2,14]),t(s,[2,15]),t(s,[2,16]),{1:[2,1]},t(c,l,{8:10,9:11,1:[2,2],10:u,12:h,14:f,16:d,18:g,19:p}),t(a,o,{6:18}),t(a,[2,5]),{4:19,20:n,21:i,22:r},{11:[1,20]},{13:[1,21]},{15:[1,22]},{17:[1,23]},t(c,[2,12]),t(c,[2,13]),t(c,l,{8:10,9:11,1:[2,3],10:u,12:h,14:f,16:d,18:g,19:p}),t(a,[2,6]),t(c,[2,8]),t(c,[2,9]),t(c,[2,10]),t(c,[2,11])],defaultActions:{7:[2,1]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=[0],n=[],i=[null],r=[],a=this.table,o="",s=0,c=0,l=r.slice.call(arguments,1),u=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);u.setInput(t,h.yy),h.yy.lexer=u,h.yy.parser=this,typeof u.yylloc>"u"&&(u.yylloc={});var d=u.yylloc;r.push(d);var g,p=u.options&&u.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,m,y,w,v,x,k,_,T={};;){if(m=e[e.length-1],this.defaultActions[m]?y=this.defaultActions[m]:((null===b||typeof b>"u")&&(g=void 0,"number"!=typeof(g=n.pop()||u.lex()||1)&&(g instanceof Array&&(g=(n=g).pop()),g=this.symbols_[g]||g),b=g),y=a[m]&&a[m][b]),typeof y>"u"||!y.length||!y[0]){var E;for(v in _=[],a[m])this.terminals_[v]&&v>2&&_.push("'"+this.terminals_[v]+"'");E=u.showPosition?"Parse error on line "+(s+1)+":\n"+u.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(E,{text:u.match,token:this.terminals_[b]||b,line:u.yylineno,loc:d,expected:_})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+b);switch(y[0]){case 1:e.push(b),i.push(u.yytext),r.push(u.yylloc),e.push(y[1]),b=null,c=u.yyleng,o=u.yytext,s=u.yylineno,d=u.yylloc;break;case 2:if(x=this.productions_[y[1]][1],T.$=i[i.length-x],T._$={first_line:r[r.length-(x||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(x||1)].first_column,last_column:r[r.length-1].last_column},p&&(T._$.range=[r[r.length-(x||1)].range[0],r[r.length-1].range[1]]),typeof(w=this.performAction.apply(T,[o,c,s,h.yy,y[1],i,r].concat(l)))<"u")return w;x&&(e=e.slice(0,-1*x*2),i=i.slice(0,-1*x),r=r.slice(0,-1*x)),e.push(this.productions_[y[1]][0]),i.push(T.$),r.push(T._$),k=a[e[e.length-2]][e[e.length-1]],e.push(k);break;case 3:return!0}}return!0}},m={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:case 1:case 3:case 4:break;case 2:return 20;case 5:return this.begin("title"),12;case 6:return this.popState(),"title_value";case 7:return this.begin("acc_title"),14;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),16;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:case 15:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:this.begin("string");break;case 16:return"txt";case 17:return 5;case 18:return 7;case 19:return"value";case 20:return 22}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[\s]+)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:pie\b)/i,/^(?:showData\b)/i,/^(?::[\s]*[\d]+(?:\.[\d]+)?)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[6],inclusive:!1},string:{rules:[15,16],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,7,9,11,14,17,18,19,20],inclusive:!0}}};function y(){this.yy={}}return b.lexer=m,y.prototype=b,b.Parser=y,new y}();CN.parser=CN;const AN=CN,MN={};let LN=MN,IN=false;const ON=structuredClone(bl.pie),NN={getConfig:()=>structuredClone(ON),clear:()=>{LN=structuredClone(MN),IN=false,Qd()},setDiagramTitle:ng,getDiagramTitle:ig,setAccTitle:Zd,getAccTitle:Jd,setAccDescription:tg,getAccDescription:eg,addSection:(t,e)=>{t=_c(t,sg()),void 0===LN[t]&&(LN[t]=e,l.debug(`added new section: ${t}, with value: ${e}`))},getSections:()=>LN,cleanupValue:t=>(":"===t.substring(0,1)&&(t=t.substring(1).trim()),Number(t.trim())),setShowData:t=>{IN=t},getShowData:()=>IN},DN=t=>{const e=Object.entries(t).map((t=>({label:t[0],value:t[1]}))).sort(((t,e)=>e.value-t.value));return function(){var t=zo,e=jo,n=null,i=fo(0),r=fo(To),a=fo(0);function o(o){var s,c,l,u,h,f=(o=Do(o)).length,d=0,g=new Array(f),p=new Array(f),b=+i.apply(this,arguments),m=Math.min(To,Math.max(-To,r.apply(this,arguments)-b)),y=Math.min(Math.abs(m)/f,a.apply(this,arguments)),w=y*(m<0?-1:1);for(s=0;s0&&(d+=h);for(null!=e?g.sort((function(t,n){return e(p[t],p[n])})):null!=n&&g.sort((function(t,e){return n(o[t],o[e])})),s=0,l=d?(m-f*w)/d:0;s0?h*l:0)+w,p[c]={data:o[c],index:s,value:h,startAngle:b,endAngle:u,padAngle:y};return p}return o.value=function(e){return arguments.length?(t="function"==typeof e?e:fo(+e),o):t},o.sortValues=function(t){return arguments.length?(e=t,n=null,o):e},o.sort=function(t){return arguments.length?(n=t,e=null,o):n},o.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:fo(+t),o):i},o.endAngle=function(t){return arguments.length?(r="function"==typeof t?t:fo(+t),o):r},o.padAngle=function(t){return arguments.length?(a="function"==typeof t?t:fo(+t),o):a},o}().value((t=>t.value))(e)},PN=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:AN,db:NN,renderer:{draw:(t,e,n,i)=>{l.debug("rendering pie chart\n"+t);const r=i.db,a=sg(),o=ff(r.getConfig(),a.pie),s=bg(e),c=s.append("g"),u=r.getSections();c.attr("transform","translate(225,225)");const{themeVariables:h}=a;let[f]=hf(h.pieOuterStrokeWidth);f??(f=2);const d=o.textPosition,g=Math.min(450,450)/2-40,p=No().innerRadius(0).outerRadius(g),b=No().innerRadius(g*d).outerRadius(g*d);c.append("circle").attr("cx",0).attr("cy",0).attr("r",g+f/2).attr("class","pieOuterCircle");const m=DN(u),y=Ui([h.pie1,h.pie2,h.pie3,h.pie4,h.pie5,h.pie6,h.pie7,h.pie8,h.pie9,h.pie10,h.pie11,h.pie12]);c.selectAll("mySlices").data(m).enter().append("path").attr("d",p).attr("fill",(t=>y(t.data.label))).attr("class","pieCircle");let w=0;Object.keys(u).forEach((t=>{w+=u[t]})),c.selectAll("mySlices").data(m).enter().append("text").text((t=>(t.data.value/w*100).toFixed(0)+"%")).attr("transform",(t=>"translate("+b.centroid(t)+")")).style("text-anchor","middle").attr("class","slice"),c.append("text").text(r.getDiagramTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText");const v=c.selectAll(".legend").data(y.domain()).enter().append("g").attr("class","legend").attr("transform",((t,e)=>"translate(216,"+(22*e-22*y.domain().length/2)+")"));v.append("rect").attr("width",18).attr("height",18).style("fill",y).style("stroke",y),v.data(m).append("text").attr("x",22).attr("y",14).text((t=>{const{label:e,value:n}=t.data;return r.getShowData()?`${e} [${n}]`:e}));const x=512+Math.max(...v.selectAll("text").nodes().map((t=>(null==t?void 0:t.getBoundingClientRect().width)??0)));s.attr("viewBox",`0 0 ${x} 450`),Ud(s,450,x,o.useMaxWidth)}},styles:t=>`\n .pieCircle{\n stroke: ${t.pieStrokeColor};\n stroke-width : ${t.pieStrokeWidth};\n opacity : ${t.pieOpacity};\n }\n .pieOuterCircle{\n stroke: ${t.pieOuterStrokeColor};\n stroke-width: ${t.pieOuterStrokeWidth};\n fill: none;\n }\n .pieTitleText {\n text-anchor: middle;\n font-size: ${t.pieTitleTextSize};\n fill: ${t.pieTitleTextColor};\n font-family: ${t.fontFamily};\n }\n .slice {\n font-family: ${t.fontFamily};\n fill: ${t.pieSectionTextColor};\n font-size:${t.pieSectionTextSize};\n // fill: white;\n }\n .legend text {\n fill: ${t.pieLegendTextColor};\n font-family: ${t.fontFamily};\n font-size: ${t.pieLegendTextSize};\n }\n`}},Symbol.toStringTag,{value:"Module"}));var BN=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[1,3],n=[1,4],i=[1,5],r=[1,6],a=[1,7],o=[1,5,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],s=[1,5,6,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],c=[32,33,34],l=[2,7],u=[1,13],h=[1,17],f=[1,18],d=[1,19],g=[1,20],p=[1,21],b=[1,22],m=[1,23],y=[1,24],w=[1,25],v=[1,26],x=[1,27],k=[1,30],_=[1,31],T=[1,32],E=[1,33],S=[1,34],C=[1,35],A=[1,36],M=[1,37],L=[1,38],I=[1,39],O=[1,40],N=[1,41],D=[1,42],P=[1,57],B=[1,58],R=[5,22,26,32,33,34,40,41,42,43,44,45,46,47,48,49,50,51],F={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,SPACE:5,QUADRANT:6,document:7,line:8,statement:9,axisDetails:10,quadrantDetails:11,points:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,text:21,point_start:22,point_x:23,point_y:24,"X-AXIS":25,"AXIS-TEXT-DELIMITER":26,"Y-AXIS":27,QUADRANT_1:28,QUADRANT_2:29,QUADRANT_3:30,QUADRANT_4:31,NEWLINE:32,SEMI:33,EOF:34,alphaNumToken:35,textNoTagsToken:36,STR:37,MD_STR:38,alphaNum:39,PUNCTUATION:40,AMP:41,NUM:42,ALPHA:43,COMMA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,UNDERSCORE:50,MINUS:51,$accept:0,$end:1},terminals_:{2:"error",5:"SPACE",6:"QUADRANT",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",22:"point_start",23:"point_x",24:"point_y",25:"X-AXIS",26:"AXIS-TEXT-DELIMITER",27:"Y-AXIS",28:"QUADRANT_1",29:"QUADRANT_2",30:"QUADRANT_3",31:"QUADRANT_4",32:"NEWLINE",33:"SEMI",34:"EOF",37:"STR",38:"MD_STR",40:"PUNCTUATION",41:"AMP",42:"NUM",43:"ALPHA",44:"COMMA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"UNDERSCORE",51:"MINUS"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[9,0],[9,2],[9,1],[9,1],[9,1],[9,2],[9,2],[9,2],[9,1],[9,1],[12,4],[10,4],[10,3],[10,2],[10,4],[10,3],[10,2],[11,2],[11,2],[11,2],[11,2],[4,1],[4,1],[4,1],[21,1],[21,2],[21,1],[21,1],[39,1],[39,2],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[36,1],[36,1],[36,1]],performAction:function(t,e,n,i,r,a,o){var s=a.length-1;switch(r){case 12:this.$=a[s].trim(),i.setDiagramTitle(this.$);break;case 13:this.$=a[s].trim(),i.setAccTitle(this.$);break;case 14:case 15:this.$=a[s].trim(),i.setAccDescription(this.$);break;case 16:i.addSection(a[s].substr(8)),this.$=a[s].substr(8);break;case 17:i.addPoint(a[s-3],a[s-1],a[s]);break;case 18:i.setXAxisLeftText(a[s-2]),i.setXAxisRightText(a[s]);break;case 19:a[s-1].text+=" ⟶ ",i.setXAxisLeftText(a[s-1]);break;case 20:i.setXAxisLeftText(a[s]);break;case 21:i.setYAxisBottomText(a[s-2]),i.setYAxisTopText(a[s]);break;case 22:a[s-1].text+=" ⟶ ",i.setYAxisBottomText(a[s-1]);break;case 23:i.setYAxisBottomText(a[s]);break;case 24:i.setQuadrant1Text(a[s]);break;case 25:i.setQuadrant2Text(a[s]);break;case 26:i.setQuadrant3Text(a[s]);break;case 27:i.setQuadrant4Text(a[s]);break;case 31:case 33:this.$={text:a[s],type:"text"};break;case 32:this.$={text:a[s-1].text+""+a[s],type:a[s-1].type};break;case 34:this.$={text:a[s],type:"markdown"};break;case 35:this.$=a[s];break;case 36:this.$=a[s-1]+""+a[s]}},table:[{3:1,4:2,5:e,6:n,32:i,33:r,34:a},{1:[3]},{3:8,4:2,5:e,6:n,32:i,33:r,34:a},{3:9,4:2,5:e,6:n,32:i,33:r,34:a},t(o,[2,4],{7:10}),t(s,[2,28]),t(s,[2,29]),t(s,[2,30]),{1:[2,1]},{1:[2,2]},t(c,l,{8:11,9:12,10:14,11:15,12:16,21:28,35:29,1:[2,3],5:u,13:h,15:f,17:d,19:g,20:p,25:b,27:m,28:y,29:w,30:v,31:x,37:k,38:_,40:T,41:E,42:S,43:C,44:A,45:M,46:L,47:I,48:O,49:N,50:D}),t(o,[2,5]),{4:43,32:i,33:r,34:a},t(c,l,{10:14,11:15,12:16,21:28,35:29,9:44,5:u,13:h,15:f,17:d,19:g,20:p,25:b,27:m,28:y,29:w,30:v,31:x,37:k,38:_,40:T,41:E,42:S,43:C,44:A,45:M,46:L,47:I,48:O,49:N,50:D}),t(c,[2,9]),t(c,[2,10]),t(c,[2,11]),{14:[1,45]},{16:[1,46]},{18:[1,47]},t(c,[2,15]),t(c,[2,16]),{21:48,35:29,37:k,38:_,40:T,41:E,42:S,43:C,44:A,45:M,46:L,47:I,48:O,49:N,50:D},{21:49,35:29,37:k,38:_,40:T,41:E,42:S,43:C,44:A,45:M,46:L,47:I,48:O,49:N,50:D},{21:50,35:29,37:k,38:_,40:T,41:E,42:S,43:C,44:A,45:M,46:L,47:I,48:O,49:N,50:D},{21:51,35:29,37:k,38:_,40:T,41:E,42:S,43:C,44:A,45:M,46:L,47:I,48:O,49:N,50:D},{21:52,35:29,37:k,38:_,40:T,41:E,42:S,43:C,44:A,45:M,46:L,47:I,48:O,49:N,50:D},{21:53,35:29,37:k,38:_,40:T,41:E,42:S,43:C,44:A,45:M,46:L,47:I,48:O,49:N,50:D},{5:P,22:[1,54],35:56,36:55,40:T,41:E,42:S,43:C,44:A,45:M,46:L,47:I,48:O,49:N,50:D,51:B},t(R,[2,31]),t(R,[2,33]),t(R,[2,34]),t(R,[2,37]),t(R,[2,38]),t(R,[2,39]),t(R,[2,40]),t(R,[2,41]),t(R,[2,42]),t(R,[2,43]),t(R,[2,44]),t(R,[2,45]),t(R,[2,46]),t(R,[2,47]),t(o,[2,6]),t(c,[2,8]),t(c,[2,12]),t(c,[2,13]),t(c,[2,14]),t(c,[2,20],{36:55,35:56,5:P,26:[1,59],40:T,41:E,42:S,43:C,44:A,45:M,46:L,47:I,48:O,49:N,50:D,51:B}),t(c,[2,23],{36:55,35:56,5:P,26:[1,60],40:T,41:E,42:S,43:C,44:A,45:M,46:L,47:I,48:O,49:N,50:D,51:B}),t(c,[2,24],{36:55,35:56,5:P,40:T,41:E,42:S,43:C,44:A,45:M,46:L,47:I,48:O,49:N,50:D,51:B}),t(c,[2,25],{36:55,35:56,5:P,40:T,41:E,42:S,43:C,44:A,45:M,46:L,47:I,48:O,49:N,50:D,51:B}),t(c,[2,26],{36:55,35:56,5:P,40:T,41:E,42:S,43:C,44:A,45:M,46:L,47:I,48:O,49:N,50:D,51:B}),t(c,[2,27],{36:55,35:56,5:P,40:T,41:E,42:S,43:C,44:A,45:M,46:L,47:I,48:O,49:N,50:D,51:B}),{23:[1,61]},t(R,[2,32]),t(R,[2,48]),t(R,[2,49]),t(R,[2,50]),t(c,[2,19],{35:29,21:62,37:k,38:_,40:T,41:E,42:S,43:C,44:A,45:M,46:L,47:I,48:O,49:N,50:D}),t(c,[2,22],{35:29,21:63,37:k,38:_,40:T,41:E,42:S,43:C,44:A,45:M,46:L,47:I,48:O,49:N,50:D}),{24:[1,64]},t(c,[2,18],{36:55,35:56,5:P,40:T,41:E,42:S,43:C,44:A,45:M,46:L,47:I,48:O,49:N,50:D,51:B}),t(c,[2,21],{36:55,35:56,5:P,40:T,41:E,42:S,43:C,44:A,45:M,46:L,47:I,48:O,49:N,50:D,51:B}),t(c,[2,17])],defaultActions:{8:[2,1],9:[2,2]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=[0],n=[],i=[null],r=[],a=this.table,o="",s=0,c=0,l=r.slice.call(arguments,1),u=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);u.setInput(t,h.yy),h.yy.lexer=u,h.yy.parser=this,typeof u.yylloc>"u"&&(u.yylloc={});var d=u.yylloc;r.push(d);var g,p=u.options&&u.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,m,y,w,v,x,k,_,T={};;){if(m=e[e.length-1],this.defaultActions[m]?y=this.defaultActions[m]:((null===b||typeof b>"u")&&(g=void 0,"number"!=typeof(g=n.pop()||u.lex()||1)&&(g instanceof Array&&(g=(n=g).pop()),g=this.symbols_[g]||g),b=g),y=a[m]&&a[m][b]),typeof y>"u"||!y.length||!y[0]){var E;for(v in _=[],a[m])this.terminals_[v]&&v>2&&_.push("'"+this.terminals_[v]+"'");E=u.showPosition?"Parse error on line "+(s+1)+":\n"+u.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(E,{text:u.match,token:this.terminals_[b]||b,line:u.yylineno,loc:d,expected:_})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+b);switch(y[0]){case 1:e.push(b),i.push(u.yytext),r.push(u.yylloc),e.push(y[1]),b=null,c=u.yyleng,o=u.yytext,s=u.yylineno,d=u.yylloc;break;case 2:if(x=this.productions_[y[1]][1],T.$=i[i.length-x],T._$={first_line:r[r.length-(x||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(x||1)].first_column,last_column:r[r.length-1].last_column},p&&(T._$.range=[r[r.length-(x||1)].range[0],r[r.length-1].range[1]]),typeof(w=this.performAction.apply(T,[o,c,s,h.yy,y[1],i,r].concat(l)))<"u")return w;x&&(e=e.slice(0,-1*x*2),i=i.slice(0,-1*x),r=r.slice(0,-1*x)),e.push(this.productions_[y[1]][0]),i.push(T.$),r.push(T._$),k=a[e[e.length-2]][e[e.length-1]],e.push(k);break;case 3:return!0}}return!0}},$={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:case 1:case 3:break;case 2:return 32;case 4:return this.begin("title"),13;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),15;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),17;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 22:case 24:case 28:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 25;case 14:return 27;case 15:return 26;case 16:return 28;case 17:return 29;case 18:return 30;case 19:return 31;case 20:this.begin("md_string");break;case 21:return"MD_STR";case 23:this.begin("string");break;case 25:return"STR";case 26:return this.begin("point_start"),22;case 27:return this.begin("point_x"),23;case 29:this.popState(),this.begin("point_y");break;case 30:return this.popState(),24;case 31:return 6;case 32:return 43;case 33:return"COLON";case 34:return 45;case 35:return 44;case 36:case 37:return 46;case 38:return 47;case 39:return 49;case 40:return 50;case 41:return 48;case 42:return 41;case 43:return 51;case 44:return 42;case 45:return 5;case 46:return 33;case 47:return 40;case 48:return 34}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{point_y:{rules:[30],inclusive:!1},point_x:{rules:[29],inclusive:!1},point_start:{rules:[27,28],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[21,22],inclusive:!1},string:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,23,26,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],inclusive:!0}}};function j(){this.yy={}}return F.lexer=$,j.prototype=F,F.Parser=j,new j}();BN.parser=BN;const RN=BN,FN=ll(),$N=sg();function jN(t){return _c(t.trim(),$N)}const zN=new class{constructor(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){var t,e,n,i,r,a,o,s,c,l,u,h,f,d,g,p,b,m;return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:(null==(t=bl.quadrantChart)?void 0:t.chartWidth)||500,chartWidth:(null==(e=bl.quadrantChart)?void 0:e.chartHeight)||500,titlePadding:(null==(n=bl.quadrantChart)?void 0:n.titlePadding)||10,titleFontSize:(null==(i=bl.quadrantChart)?void 0:i.titleFontSize)||20,quadrantPadding:(null==(r=bl.quadrantChart)?void 0:r.quadrantPadding)||5,xAxisLabelPadding:(null==(a=bl.quadrantChart)?void 0:a.xAxisLabelPadding)||5,yAxisLabelPadding:(null==(o=bl.quadrantChart)?void 0:o.yAxisLabelPadding)||5,xAxisLabelFontSize:(null==(s=bl.quadrantChart)?void 0:s.xAxisLabelFontSize)||16,yAxisLabelFontSize:(null==(c=bl.quadrantChart)?void 0:c.yAxisLabelFontSize)||16,quadrantLabelFontSize:(null==(l=bl.quadrantChart)?void 0:l.quadrantLabelFontSize)||16,quadrantTextTopPadding:(null==(u=bl.quadrantChart)?void 0:u.quadrantTextTopPadding)||5,pointTextPadding:(null==(h=bl.quadrantChart)?void 0:h.pointTextPadding)||5,pointLabelFontSize:(null==(f=bl.quadrantChart)?void 0:f.pointLabelFontSize)||12,pointRadius:(null==(d=bl.quadrantChart)?void 0:d.pointRadius)||5,xAxisPosition:(null==(g=bl.quadrantChart)?void 0:g.xAxisPosition)||"top",yAxisPosition:(null==(p=bl.quadrantChart)?void 0:p.yAxisPosition)||"left",quadrantInternalBorderStrokeWidth:(null==(b=bl.quadrantChart)?void 0:b.quadrantInternalBorderStrokeWidth)||1,quadrantExternalBorderStrokeWidth:(null==(m=bl.quadrantChart)?void 0:m.quadrantExternalBorderStrokeWidth)||2}}getDefaultThemeConfig(){return{quadrant1Fill:FN.quadrant1Fill,quadrant2Fill:FN.quadrant2Fill,quadrant3Fill:FN.quadrant3Fill,quadrant4Fill:FN.quadrant4Fill,quadrant1TextFill:FN.quadrant1TextFill,quadrant2TextFill:FN.quadrant2TextFill,quadrant3TextFill:FN.quadrant3TextFill,quadrant4TextFill:FN.quadrant4TextFill,quadrantPointFill:FN.quadrantPointFill,quadrantPointTextFill:FN.quadrantPointTextFill,quadrantXAxisTextFill:FN.quadrantXAxisTextFill,quadrantYAxisTextFill:FN.quadrantYAxisTextFill,quadrantTitleFill:FN.quadrantTitleFill,quadrantInternalBorderStrokeFill:FN.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:FN.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),l.info("clear called")}setData(t){this.data={...this.data,...t}}addPoints(t){this.data.points=[...t,...this.data.points]}setConfig(t){l.trace("setConfig called with: ",t),this.config={...this.config,...t}}setThemeConfig(t){l.trace("setThemeConfig called with: ",t),this.themeConfig={...this.themeConfig,...t}}calculateSpace(t,e,n,i){const r=2*this.config.xAxisLabelPadding+this.config.xAxisLabelFontSize,a={top:"top"===t&&e?r:0,bottom:"bottom"===t&&e?r:0},o=2*this.config.yAxisLabelPadding+this.config.yAxisLabelFontSize,s={left:"left"===this.config.yAxisPosition&&n?o:0,right:"right"===this.config.yAxisPosition&&n?o:0},c=this.config.titleFontSize+2*this.config.titlePadding,l={top:i?c:0},u=this.config.quadrantPadding+s.left,h=this.config.quadrantPadding+a.top+l.top,f=this.config.chartWidth-2*this.config.quadrantPadding-s.left-s.right,d=this.config.chartHeight-2*this.config.quadrantPadding-a.top-a.bottom-l.top;return{xAxisSpace:a,yAxisSpace:s,titleSpace:l,quadrantSpace:{quadrantLeft:u,quadrantTop:h,quadrantWidth:f,quadrantHalfWidth:f/2,quadrantHeight:d,quadrantHalfHeight:d/2}}}getAxisLabels(t,e,n,i){const{quadrantSpace:r,titleSpace:a}=i,{quadrantHalfHeight:o,quadrantHeight:s,quadrantLeft:c,quadrantHalfWidth:l,quadrantTop:u,quadrantWidth:h}=r,f=!!this.data.xAxisRightText,d=!!this.data.yAxisTopText,g=[];return this.data.xAxisLeftText&&e&&g.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:c+(f?l/2:0),y:"top"===t?this.config.xAxisLabelPadding+a.top:this.config.xAxisLabelPadding+u+s+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:f?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&e&&g.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:c+l+(f?l/2:0),y:"top"===t?this.config.xAxisLabelPadding+a.top:this.config.xAxisLabelPadding+u+s+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:f?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&n&&g.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+c+h+this.config.quadrantPadding,y:u+s-(d?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:d?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&n&&g.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+c+h+this.config.quadrantPadding,y:u+o-(d?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:d?"center":"left",horizontalPos:"top",rotation:-90}),g}getQuadrants(t){const{quadrantSpace:e}=t,{quadrantHalfHeight:n,quadrantLeft:i,quadrantHalfWidth:r,quadrantTop:a}=e,o=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+r,y:a,width:r,height:n,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:a,width:r,height:n,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:a+n,width:r,height:n,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+r,y:a+n,width:r,height:n,fill:this.themeConfig.quadrant4Fill}];for(const t of o)t.text.x=t.x+t.width/2,0===this.data.points.length?(t.text.y=t.y+t.height/2,t.text.horizontalPos="middle"):(t.text.y=t.y+this.config.quadrantTextTopPadding,t.text.horizontalPos="top");return o}getQuadrantPoints(t){const{quadrantSpace:e}=t,{quadrantHeight:n,quadrantLeft:i,quadrantTop:r,quadrantWidth:a}=e,o=er().domain([0,1]).range([i,a+i]),s=er().domain([0,1]).range([n+r,r]);return this.data.points.map((t=>({x:o(t.x),y:s(t.y),fill:this.themeConfig.quadrantPointFill,radius:this.config.pointRadius,text:{text:t.text,fill:this.themeConfig.quadrantPointTextFill,x:o(t.x),y:s(t.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0}})))}getBorders(t){const e=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:n}=t,{quadrantHalfHeight:i,quadrantHeight:r,quadrantLeft:a,quadrantHalfWidth:o,quadrantTop:s,quadrantWidth:c}=n;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:a-e,y1:s,x2:a+c+e,y2:s},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:a+c,y1:s+e,x2:a+c,y2:s+r-e},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:a-e,y1:s+r,x2:a+c+e,y2:s+r},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:a,y1:s+e,x2:a,y2:s+r-e},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:a+o,y1:s+e,x2:a+o,y2:s+r-e},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:a+e,y1:s+i,x2:a+c-e,y2:s+i}]}getTitle(t){if(t)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const t=this.config.showXAxis&&!(!this.data.xAxisLeftText&&!this.data.xAxisRightText),e=this.config.showYAxis&&!(!this.data.yAxisTopText&&!this.data.yAxisBottomText),n=this.config.showTitle&&!!this.data.titleText,i=this.data.points.length>0?"bottom":this.config.xAxisPosition,r=this.calculateSpace(i,t,e,n);return{points:this.getQuadrantPoints(r),quadrants:this.getQuadrants(r),axisLabels:this.getAxisLabels(i,t,e,r),borderLines:this.getBorders(r),title:this.getTitle(n)}}},qN=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:RN,db:{setWidth:function(t){zN.setConfig({chartWidth:t})},setHeight:function(t){zN.setConfig({chartHeight:t})},setQuadrant1Text:function(t){zN.setData({quadrant1Text:jN(t.text)})},setQuadrant2Text:function(t){zN.setData({quadrant2Text:jN(t.text)})},setQuadrant3Text:function(t){zN.setData({quadrant3Text:jN(t.text)})},setQuadrant4Text:function(t){zN.setData({quadrant4Text:jN(t.text)})},setXAxisLeftText:function(t){zN.setData({xAxisLeftText:jN(t.text)})},setXAxisRightText:function(t){zN.setData({xAxisRightText:jN(t.text)})},setYAxisTopText:function(t){zN.setData({yAxisTopText:jN(t.text)})},setYAxisBottomText:function(t){zN.setData({yAxisBottomText:jN(t.text)})},addPoint:function(t,e,n){zN.addPoints([{x:e,y:n,text:jN(t.text)}])},getQuadrantData:function(){const t=sg(),{themeVariables:e,quadrantChart:n}=t;return n&&zN.setConfig(n),zN.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),zN.setData({titleText:ig()}),zN.build()},clear:function(){zN.clear(),Qd()},setAccTitle:Zd,getAccTitle:Jd,setDiagramTitle:ng,getDiagramTitle:ig,getAccDescription:eg,setAccDescription:tg},renderer:{draw:(t,e,n,i)=>{var r,a,o;function s(t){return"top"===t?"hanging":"middle"}function c(t){return"left"===t?"start":"middle"}function u(t){return`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`}const h=sg();l.debug("Rendering quadrant chart\n"+t);const f=h.securityLevel;let d;"sandbox"===f&&(d=ee("#i"+e));const g=ee("sandbox"===f?d.nodes()[0].contentDocument.body:"body").select(`[id="${e}"]`),p=g.append("g").attr("class","main"),b=(null==(r=h.quadrantChart)?void 0:r.chartWidth)||500,m=(null==(a=h.quadrantChart)?void 0:a.chartHeight)||500;Ud(g,m,b,(null==(o=h.quadrantChart)?void 0:o.useMaxWidth)||!0),g.attr("viewBox","0 0 "+b+" "+m),i.db.setHeight(m),i.db.setWidth(b);const y=i.db.getQuadrantData(),w=p.append("g").attr("class","quadrants"),v=p.append("g").attr("class","border"),x=p.append("g").attr("class","data-points"),k=p.append("g").attr("class","labels"),_=p.append("g").attr("class","title");y.title&&_.append("text").attr("x",0).attr("y",0).attr("fill",y.title.fill).attr("font-size",y.title.fontSize).attr("dominant-baseline",s(y.title.horizontalPos)).attr("text-anchor",c(y.title.verticalPos)).attr("transform",u(y.title)).text(y.title.text),y.borderLines&&v.selectAll("line").data(y.borderLines).enter().append("line").attr("x1",(t=>t.x1)).attr("y1",(t=>t.y1)).attr("x2",(t=>t.x2)).attr("y2",(t=>t.y2)).style("stroke",(t=>t.strokeFill)).style("stroke-width",(t=>t.strokeWidth));const T=w.selectAll("g.quadrant").data(y.quadrants).enter().append("g").attr("class","quadrant");T.append("rect").attr("x",(t=>t.x)).attr("y",(t=>t.y)).attr("width",(t=>t.width)).attr("height",(t=>t.height)).attr("fill",(t=>t.fill)),T.append("text").attr("x",0).attr("y",0).attr("fill",(t=>t.text.fill)).attr("font-size",(t=>t.text.fontSize)).attr("dominant-baseline",(t=>s(t.text.horizontalPos))).attr("text-anchor",(t=>c(t.text.verticalPos))).attr("transform",(t=>u(t.text))).text((t=>t.text.text)),k.selectAll("g.label").data(y.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text((t=>t.text)).attr("fill",(t=>t.fill)).attr("font-size",(t=>t.fontSize)).attr("dominant-baseline",(t=>s(t.horizontalPos))).attr("text-anchor",(t=>c(t.verticalPos))).attr("transform",(t=>u(t)));const E=x.selectAll("g.data-point").data(y.points).enter().append("g").attr("class","data-point");E.append("circle").attr("cx",(t=>t.x)).attr("cy",(t=>t.y)).attr("r",(t=>t.radius)).attr("fill",(t=>t.fill)),E.append("text").attr("x",0).attr("y",0).text((t=>t.text.text)).attr("fill",(t=>t.text.fill)).attr("font-size",(t=>t.text.fontSize)).attr("dominant-baseline",(t=>s(t.text.horizontalPos))).attr("text-anchor",(t=>c(t.text.verticalPos))).attr("transform",(t=>u(t.text)))}},styles:()=>""}},Symbol.toStringTag,{value:"Module"}));var HN=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[1,10,12,14,16,18,19,21,23],n=[2,6],i=[1,3],r=[1,5],a=[1,6],o=[1,7],s=[1,5,10,12,14,16,18,19,21,23,34,35,36],c=[1,25],l=[1,26],u=[1,28],h=[1,29],f=[1,30],d=[1,31],g=[1,32],p=[1,33],b=[1,34],m=[1,35],y=[1,36],w=[1,37],v=[1,43],x=[1,42],k=[1,47],_=[1,50],T=[1,10,12,14,16,18,19,21,23,34,35,36],E=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],S=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],C=[1,64],A={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:function(t,e,n,i,r,a,o){var s=a.length-1;switch(r){case 5:i.setOrientation(a[s]);break;case 9:i.setDiagramTitle(a[s].text.trim());break;case 12:i.setLineData({text:"",type:"text"},a[s]);break;case 13:i.setLineData(a[s-1],a[s]);break;case 14:i.setBarData({text:"",type:"text"},a[s]);break;case 15:i.setBarData(a[s-1],a[s]);break;case 16:this.$=a[s].trim(),i.setAccTitle(this.$);break;case 17:case 18:this.$=a[s].trim(),i.setAccDescription(this.$);break;case 19:case 27:this.$=a[s-1];break;case 20:this.$=[Number(a[s-2]),...a[s]];break;case 21:this.$=[Number(a[s])];break;case 22:i.setXAxisTitle(a[s]);break;case 23:i.setXAxisTitle(a[s-1]);break;case 24:i.setXAxisTitle({type:"text",text:""});break;case 25:i.setXAxisBand(a[s]);break;case 26:i.setXAxisRangeData(Number(a[s-2]),Number(a[s]));break;case 28:this.$=[a[s-2],...a[s]];break;case 29:this.$=[a[s]];break;case 30:i.setYAxisTitle(a[s]);break;case 31:i.setYAxisTitle(a[s-1]);break;case 32:i.setYAxisTitle({type:"text",text:""});break;case 33:i.setYAxisRangeData(Number(a[s-2]),Number(a[s]));break;case 37:case 38:this.$={text:a[s],type:"text"};break;case 39:this.$={text:a[s],type:"markdown"};break;case 40:this.$=a[s];break;case 41:this.$=a[s-1]+""+a[s]}},table:[t(e,n,{3:1,4:2,7:4,5:i,34:r,35:a,36:o}),{1:[3]},t(e,n,{4:2,7:4,3:8,5:i,34:r,35:a,36:o}),t(e,n,{4:2,7:4,6:9,3:10,5:i,8:[1,11],34:r,35:a,36:o}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(s,[2,34]),t(s,[2,35]),t(s,[2,36]),{1:[2,1]},t(e,n,{4:2,7:4,3:21,5:i,34:r,35:a,36:o}),{1:[2,3]},t(s,[2,5]),t(e,[2,7],{4:22,34:r,35:a,36:o}),{11:23,37:24,38:c,39:l,40:27,41:u,42:h,43:f,44:d,45:g,46:p,47:b,48:m,49:y,50:w},{11:39,13:38,24:v,27:x,29:40,30:41,37:24,38:c,39:l,40:27,41:u,42:h,43:f,44:d,45:g,46:p,47:b,48:m,49:y,50:w},{11:45,15:44,27:k,33:46,37:24,38:c,39:l,40:27,41:u,42:h,43:f,44:d,45:g,46:p,47:b,48:m,49:y,50:w},{11:49,17:48,24:_,37:24,38:c,39:l,40:27,41:u,42:h,43:f,44:d,45:g,46:p,47:b,48:m,49:y,50:w},{11:52,17:51,24:_,37:24,38:c,39:l,40:27,41:u,42:h,43:f,44:d,45:g,46:p,47:b,48:m,49:y,50:w},{20:[1,53]},{22:[1,54]},t(T,[2,18]),{1:[2,2]},t(T,[2,8]),t(T,[2,9]),t(E,[2,37],{40:55,41:u,42:h,43:f,44:d,45:g,46:p,47:b,48:m,49:y,50:w}),t(E,[2,38]),t(E,[2,39]),t(S,[2,40]),t(S,[2,42]),t(S,[2,43]),t(S,[2,44]),t(S,[2,45]),t(S,[2,46]),t(S,[2,47]),t(S,[2,48]),t(S,[2,49]),t(S,[2,50]),t(S,[2,51]),t(T,[2,10]),t(T,[2,22],{30:41,29:56,24:v,27:x}),t(T,[2,24]),t(T,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:c,39:l,40:27,41:u,42:h,43:f,44:d,45:g,46:p,47:b,48:m,49:y,50:w},t(T,[2,11]),t(T,[2,30],{33:60,27:k}),t(T,[2,32]),{31:[1,61]},t(T,[2,12]),{17:62,24:_},{25:63,27:C},t(T,[2,14]),{17:65,24:_},t(T,[2,16]),t(T,[2,17]),t(S,[2,41]),t(T,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(T,[2,31]),{27:[1,69]},t(T,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(T,[2,15]),t(T,[2,26]),t(T,[2,27]),{11:59,32:72,37:24,38:c,39:l,40:27,41:u,42:h,43:f,44:d,45:g,46:p,47:b,48:m,49:y,50:w},t(T,[2,33]),t(T,[2,19]),{25:73,27:C},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=[0],n=[],i=[null],r=[],a=this.table,o="",s=0,c=0,l=r.slice.call(arguments,1),u=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);u.setInput(t,h.yy),h.yy.lexer=u,h.yy.parser=this,typeof u.yylloc>"u"&&(u.yylloc={});var d=u.yylloc;r.push(d);var g,p=u.options&&u.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,m,y,w,v,x,k,_,T={};;){if(m=e[e.length-1],this.defaultActions[m]?y=this.defaultActions[m]:((null===b||typeof b>"u")&&(g=void 0,"number"!=typeof(g=n.pop()||u.lex()||1)&&(g instanceof Array&&(g=(n=g).pop()),g=this.symbols_[g]||g),b=g),y=a[m]&&a[m][b]),typeof y>"u"||!y.length||!y[0]){var E;for(v in _=[],a[m])this.terminals_[v]&&v>2&&_.push("'"+this.terminals_[v]+"'");E=u.showPosition?"Parse error on line "+(s+1)+":\n"+u.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(E,{text:u.match,token:this.terminals_[b]||b,line:u.yylineno,loc:d,expected:_})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+b);switch(y[0]){case 1:e.push(b),i.push(u.yytext),r.push(u.yylloc),e.push(y[1]),b=null,c=u.yyleng,o=u.yytext,s=u.yylineno,d=u.yylloc;break;case 2:if(x=this.productions_[y[1]][1],T.$=i[i.length-x],T._$={first_line:r[r.length-(x||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(x||1)].first_column,last_column:r[r.length-1].last_column},p&&(T._$.range=[r[r.length-(x||1)].range[0],r[r.length-1].range[1]]),typeof(w=this.performAction.apply(T,[o,c,s,h.yy,y[1],i,r].concat(l)))<"u")return w;x&&(e=e.slice(0,-1*x*2),i=i.slice(0,-1*x),r=r.slice(0,-1*x)),e.push(this.productions_[y[1]][0]),i.push(T.$),r.push(T._$),k=a[e[e.length-2]][e[e.length-1]],e.push(k);break;case 3:return!0}}return!0}},M={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:case 1:case 5:case 43:break;case 2:case 3:return this.popState(),34;case 4:return 34;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:case 25:case 27:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 26:this.pushState("string");break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 44:return 35;case 45:return 36}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};function L(){this.yy={}}return A.lexer=M,L.prototype=A,A.Parser=L,new L}();HN.parser=HN;const UN=HN;function GN(t){return"bar"===t.type}function KN(t){return"band"===t.type}function YN(t){return"linear"===t.type}class VN{constructor(t){this.parentGroup=t}getMaxDimension(t,e){if(!this.parentGroup)return{width:t.reduce(((t,e)=>Math.max(e.length,t)),0)*e,height:e};const n={width:0,height:0},i=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",e);for(const r of t){const t=ML(i,1,r),a=t?t.width:r.length*e,o=t?t.height:e;n.width=Math.max(n.width,a),n.height=Math.max(n.height,o)}return i.remove(),n}}class WN{constructor(t,e,n,i){this.axisConfig=t,this.title=e,this.textDimensionCalculator=n,this.axisThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(t){this.range=t,"left"===this.axisPosition||"right"===this.axisPosition?this.boundingRect.height=t[1]-t[0]:this.boundingRect.width=t[1]-t[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(t){this.axisPosition=t,this.setRange(this.range)}getTickDistance(){const t=this.getRange();return Math.abs(t[0]-t[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map((t=>t.toString())),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){.7*this.getTickDistance()>2*this.outerPadding&&(this.outerPadding=Math.floor(.7*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(t){let e=t.height;if(this.axisConfig.showAxisLine&&e>this.axisConfig.axisLineWidth&&(e-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=.2*t.width;this.outerPadding=Math.min(n.width/2,i);const r=n.height+2*this.axisConfig.labelPadding;this.labelTextHeight=n.height,r<=e&&(e-=r,this.showLabel=!0)}if(this.axisConfig.showTick&&e>=this.axisConfig.tickLength&&(this.showTick=!0,e-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const t=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),n=t.height+2*this.axisConfig.titlePadding;this.titleTextHeight=t.height,n<=e&&(e-=n,this.showTitle=!0)}this.boundingRect.width=t.width,this.boundingRect.height=t.height-e}calculateSpaceIfDrawnVertical(t){let e=t.width;if(this.axisConfig.showAxisLine&&e>this.axisConfig.axisLineWidth&&(e-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=.2*t.height;this.outerPadding=Math.min(n.height/2,i);const r=n.width+2*this.axisConfig.labelPadding;r<=e&&(e-=r,this.showLabel=!0)}if(this.axisConfig.showTick&&e>=this.axisConfig.tickLength&&(this.showTick=!0,e-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const t=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),n=t.height+2*this.axisConfig.titlePadding;this.titleTextHeight=t.height,n<=e&&(e-=n,this.showTitle=!0)}this.boundingRect.width=t.width-e,this.boundingRect.height=t.height}calculateSpace(t){return"left"===this.axisPosition||"right"===this.axisPosition?this.calculateSpaceIfDrawnVertical(t):this.calculateSpaceIfDrawnHorizontally(t),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}getDrawableElementsForLeftAxis(){const t=[];if(this.showAxisLine){const e=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${e},${this.boundingRect.y} L ${e},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map((t=>({text:t.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(t),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"})))}),this.showTick){const e=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map((t=>({path:`M ${e},${this.getScaleValue(t)} L ${e-this.axisConfig.tickLength},${this.getScaleValue(t)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth})))})}return this.showTitle&&t.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForBottomAxis(){const t=[];if(this.showAxisLine){const e=this.boundingRect.y+this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${e} L ${this.boundingRect.x+this.boundingRect.width},${e}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map((t=>({text:t.toString(),x:this.getScaleValue(t),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"})))}),this.showTick){const e=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map((t=>({path:`M ${this.getScaleValue(t)},${e} L ${this.getScaleValue(t)},${e+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth})))})}return this.showTitle&&t.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForTopAxis(){const t=[];if(this.showAxisLine){const e=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${e} L ${this.boundingRect.x+this.boundingRect.width},${e}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map((t=>({text:t.toString(),x:this.getScaleValue(t),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+2*this.axisConfig.titlePadding:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"})))}),this.showTick){const e=this.boundingRect.y;t.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map((t=>({path:`M ${this.getScaleValue(t)},${e+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(t)},${e+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth})))})}return this.showTitle&&t.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElements(){if("left"===this.axisPosition)return this.getDrawableElementsForLeftAxis();if("right"===this.axisPosition)throw Error("Drawing of right axis is not implemented");return"bottom"===this.axisPosition?this.getDrawableElementsForBottomAxis():"top"===this.axisPosition?this.getDrawableElementsForTopAxis():[]}}class XN extends WN{constructor(t,e,n,i,r){super(t,i,r,e),this.categories=n,this.scale=Gi().domain(this.categories).range(this.getRange())}setRange(t){super.setRange(t)}recalculateScale(){this.scale=Gi().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),l.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(t){return this.scale(t)||this.getRange()[0]}}class QN extends WN{constructor(t,e,n,i,r){super(t,i,r,e),this.domain=n,this.scale=er().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const t=[...this.domain];"left"===this.axisPosition&&t.reverse(),this.scale=er().domain(t).range(this.getRange())}getScaleValue(t){return this.scale(t)}}function ZN(t,e,n,i){const r=new VN(i);return KN(t)?new XN(e,n,t.categories,t.title,r):new QN(e,n,[t.min,t.max],t.title,r)}class JN{constructor(t,e,n,i){this.textDimensionCalculator=t,this.chartConfig=e,this.chartData=n,this.chartThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){const e=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),n=Math.max(e.width,t.width),i=e.height+2*this.chartConfig.titlePadding;return e.width<=n&&e.height<=i&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=n,this.boundingRect.height=i,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const t=[];return this.showChartTitle&&t.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),t}}function tD(t,e,n,i){const r=new VN(i);return new JN(r,t,e,n)}class eD{constructor(t,e,n,i,r){this.plotData=t,this.xAxis=e,this.yAxis=n,this.orientation=i,this.plotIndex=r}getDrawableElement(){const t=this.plotData.data.map((t=>[this.xAxis.getScaleValue(t[0]),this.yAxis.getScaleValue(t[1])]));let e;return e="horizontal"===this.orientation?$o().y((t=>t[0])).x((t=>t[1]))(t):$o().x((t=>t[0])).y((t=>t[1]))(t),e?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:e,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}class nD{constructor(t,e,n,i,r,a){this.barData=t,this.boundingRect=e,this.xAxis=n,this.yAxis=i,this.orientation=r,this.plotIndex=a}getDrawableElement(){const t=this.barData.data.map((t=>[this.xAxis.getScaleValue(t[0]),this.yAxis.getScaleValue(t[1])])),e=.95*Math.min(2*this.xAxis.getAxisOuterPadding(),this.xAxis.getTickDistance()),n=e/2;return"horizontal"===this.orientation?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map((t=>({x:this.boundingRect.x,y:t[0]-n,height:e,width:t[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill})))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map((t=>({x:t[0]-n,y:t[1],width:e,height:this.boundingRect.y+this.boundingRect.height-t[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill})))}]}}class iD{constructor(t,e,n){this.chartConfig=t,this.chartData=e,this.chartThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(t,e){this.xAxis=t,this.yAxis=e}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){return this.boundingRect.width=t.width,this.boundingRect.height=t.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!this.xAxis||!this.yAxis)throw Error("Axes must be passed to render Plots");const t=[];for(const[e,n]of this.chartData.plots.entries())switch(n.type){case"line":{const i=new eD(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,e);t.push(...i.getDrawableElement())}break;case"bar":{const i=new nD(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,e);t.push(...i.getDrawableElement())}}return t}}function rD(t,e,n){return new iD(t,e,n)}class aD{constructor(t,e,n,i){this.chartConfig=t,this.chartData=e,this.componentStore={title:tD(t,e,n,i),plot:rD(t,e,n),xAxis:ZN(e.xAxis,t.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},i),yAxis:ZN(e.yAxis,t.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},i)}}calculateVerticalSpace(){let t=this.chartConfig.width,e=this.chartConfig.height,n=0,i=0,r=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),o=this.componentStore.plot.calculateSpace({width:r,height:a});t-=o.width,e-=o.height,o=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:e}),i=o.height,e-=o.height,this.componentStore.xAxis.setAxisPosition("bottom"),o=this.componentStore.xAxis.calculateSpace({width:t,height:e}),e-=o.height,this.componentStore.yAxis.setAxisPosition("left"),o=this.componentStore.yAxis.calculateSpace({width:t,height:e}),n=o.width,t-=o.width,t>0&&(r+=t,t=0),e>0&&(a+=e,e=0),this.componentStore.plot.calculateSpace({width:r,height:a}),this.componentStore.plot.setBoundingBoxXY({x:n,y:i}),this.componentStore.xAxis.setRange([n,n+r]),this.componentStore.xAxis.setBoundingBoxXY({x:n,y:i+a}),this.componentStore.yAxis.setRange([i,i+a]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some((t=>GN(t)))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let t=this.chartConfig.width,e=this.chartConfig.height,n=0,i=0,r=0,a=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),o=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),s=this.componentStore.plot.calculateSpace({width:a,height:o});t-=s.width,e-=s.height,s=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:e}),n=s.height,e-=s.height,this.componentStore.xAxis.setAxisPosition("left"),s=this.componentStore.xAxis.calculateSpace({width:t,height:e}),t-=s.width,i=s.width,this.componentStore.yAxis.setAxisPosition("top"),s=this.componentStore.yAxis.calculateSpace({width:t,height:e}),e-=s.height,r=n+s.height,t>0&&(a+=t,t=0),e>0&&(o+=e,e=0),this.componentStore.plot.calculateSpace({width:a,height:o}),this.componentStore.plot.setBoundingBoxXY({x:i,y:r}),this.componentStore.yAxis.setRange([i,i+a]),this.componentStore.yAxis.setBoundingBoxXY({x:i,y:n}),this.componentStore.xAxis.setRange([r,r+o]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:r}),this.chartData.plots.some((t=>GN(t)))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){"horizontal"===this.chartConfig.chartOrientation?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const t=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const e of Object.values(this.componentStore))t.push(...e.getDrawableElements());return t}}class oD{static build(t,e,n,i){return new aD(t,e,n,i).getDrawableElement()}}let sD,cD=0,lD=bD(),uD=pD(),hD={yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]},fD=uD.plotColorPalette.split(",").map((t=>t.trim())),dD=!1,gD=!1;function pD(){const t=ll(),e=sd();return ff(t.xyChart,e.themeVariables.xyChart)}function bD(){const t=sd();return ff(bl.xyChart,t.xyChart)}function mD(t){const e=sd();return _c(t.trim(),e)}function yD(t,e){hD.xAxis={type:"linear",title:hD.xAxis.title,min:t,max:e},dD=!0}function wD(t){let e=[];if(0===t.length)return e;if(!dD){const e=YN(hD.xAxis)?hD.xAxis.min:1/0,n=YN(hD.xAxis)?hD.xAxis.max:-1/0;yD(Math.min(e,1),Math.max(n,t.length))}if(gD||function(t){const e=Math.min(...t),n=Math.max(...t),i=YN(hD.yAxis)?hD.yAxis.min:1/0,r=YN(hD.yAxis)?hD.yAxis.max:-1/0;hD.yAxis={type:"linear",title:hD.yAxis.title,min:Math.min(i,e),max:Math.max(r,n)}}(t),KN(hD.xAxis)&&(e=hD.xAxis.categories.map(((e,n)=>[e,t[n]]))),YN(hD.xAxis)){const n=hD.xAxis.min,i=hD.xAxis.max,r=(i-n+1)/t.length,a=[];for(let t=n;t<=i;t+=r)a.push(`${t}`);e=a.map(((e,n)=>[e,t[n]]))}return e}function vD(t){return fD[0===t?0:t%fD.length]}const xD=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:UN,db:{getDrawableElem:function(){if(0===hD.plots.length)throw Error("No Plot to render, please provide a plot with some data");return hD.title=ig(),oD.build(lD,hD,uD,sD)},clear:function(){Qd(),cD=0,lD=bD(),hD={yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]},uD=pD(),fD=uD.plotColorPalette.split(",").map((t=>t.trim())),dD=!1,gD=!1},setAccTitle:Zd,getAccTitle:Jd,setDiagramTitle:ng,getDiagramTitle:ig,getAccDescription:eg,setAccDescription:tg,setOrientation:function(t){lD.chartOrientation="horizontal"===t?"horizontal":"vertical"},setXAxisTitle:function(t){hD.xAxis.title=mD(t.text)},setXAxisRangeData:yD,setXAxisBand:function(t){hD.xAxis={type:"band",title:hD.xAxis.title,categories:t.map((t=>mD(t.text)))},dD=!0},setYAxisTitle:function(t){hD.yAxis.title=mD(t.text)},setYAxisRangeData:function(t,e){hD.yAxis={type:"linear",title:hD.yAxis.title,min:t,max:e},gD=!0},setLineData:function(t,e){const n=wD(e);hD.plots.push({type:"line",strokeFill:vD(cD),strokeWidth:2,data:n}),cD++},setBarData:function(t,e){const n=wD(e);hD.plots.push({type:"bar",fill:vD(cD),data:n}),cD++},setTmpSVGG:function(t){sD=t},getChartThemeConfig:function(){return uD},getChartConfig:function(){return lD}},renderer:{draw:(t,e,n,i)=>{const r=i.db,a=r.getChartThemeConfig(),o=r.getChartConfig();function s(t){return"top"===t?"text-before-edge":"middle"}function c(t){return"left"===t?"start":"right"===t?"end":"middle"}function u(t){return`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`}l.debug("Rendering xychart chart\n"+t);const h=bg(e),f=h.append("g").attr("class","main"),d=f.append("rect").attr("width",o.width).attr("height",o.height).attr("class","background");Ud(h,o.height,o.width,!0),h.attr("viewBox",`0 0 ${o.width} ${o.height}`),d.attr("fill",a.backgroundColor),r.setTmpSVGG(h.append("g").attr("class","mermaid-tmp-group"));const g=r.getDrawableElem(),p={};function b(t){let e=f,n="";for(const[i]of t.entries()){let r=f;i>0&&p[n]&&(r=p[n]),n+=t[i],e=p[n],e||(e=p[n]=r.append("g").attr("class",t[i]))}return e}for(const t of g){if(0===t.data.length)continue;const e=b(t.groupTexts);switch(t.type){case"rect":e.selectAll("rect").data(t.data).enter().append("rect").attr("x",(t=>t.x)).attr("y",(t=>t.y)).attr("width",(t=>t.width)).attr("height",(t=>t.height)).attr("fill",(t=>t.fill)).attr("stroke",(t=>t.strokeFill)).attr("stroke-width",(t=>t.strokeWidth));break;case"text":e.selectAll("text").data(t.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",(t=>t.fill)).attr("font-size",(t=>t.fontSize)).attr("dominant-baseline",(t=>s(t.verticalPos))).attr("text-anchor",(t=>c(t.horizontalPos))).attr("transform",(t=>u(t))).text((t=>t.text));break;case"path":e.selectAll("path").data(t.data).enter().append("path").attr("d",(t=>t.path)).attr("fill",(t=>t.fill?t.fill:"none")).attr("stroke",(t=>t.strokeFill)).attr("stroke-width",(t=>t.strokeWidth))}}}}}},Symbol.toStringTag,{value:"Module"}));var kD=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[1,3],n=[1,4],i=[1,5],r=[1,6],a=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],o=[1,18],s=[2,7],c=[1,22],l=[1,23],u=[1,24],h=[1,25],f=[1,26],d=[1,27],g=[1,20],p=[1,28],b=[1,29],m=[62,63],y=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],w=[1,47],v=[1,48],x=[1,49],k=[1,50],_=[1,51],T=[1,52],E=[1,53],S=[53,54],C=[1,64],A=[1,60],M=[1,61],L=[1,62],I=[1,63],O=[1,65],N=[1,69],D=[1,70],P=[1,67],B=[1,68],R=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],F={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:function(t,e,n,i,r,a,o){var s=a.length-1;switch(r){case 4:this.$=a[s].trim(),i.setAccTitle(this.$);break;case 5:case 6:this.$=a[s].trim(),i.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:i.addRequirement(a[s-3],a[s-4]);break;case 14:i.setNewReqId(a[s-2]);break;case 15:i.setNewReqText(a[s-2]);break;case 16:i.setNewReqRisk(a[s-2]);break;case 17:i.setNewReqVerifyMethod(a[s-2]);break;case 20:this.$=i.RequirementType.REQUIREMENT;break;case 21:this.$=i.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=i.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=i.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=i.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=i.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=i.RiskLevel.LOW_RISK;break;case 27:this.$=i.RiskLevel.MED_RISK;break;case 28:this.$=i.RiskLevel.HIGH_RISK;break;case 29:this.$=i.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=i.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=i.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=i.VerifyType.VERIFY_TEST;break;case 33:i.addElement(a[s-3]);break;case 34:i.setNewElementType(a[s-2]);break;case 35:i.setNewElementDocRef(a[s-2]);break;case 38:i.addRelationship(a[s-2],a[s],a[s-4]);break;case 39:i.addRelationship(a[s-2],a[s-4],a[s]);break;case 40:this.$=i.Relationships.CONTAINS;break;case 41:this.$=i.Relationships.COPIES;break;case 42:this.$=i.Relationships.DERIVES;break;case 43:this.$=i.Relationships.SATISFIES;break;case 44:this.$=i.Relationships.VERIFIES;break;case 45:this.$=i.Relationships.REFINES;break;case 46:this.$=i.Relationships.TRACES}},table:[{3:1,4:2,6:e,9:n,11:i,13:r},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:n,11:i,13:r},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:n,11:i,13:r},{1:[2,2]},{4:17,5:o,7:13,8:s,9:n,11:i,13:r,14:14,15:15,16:16,17:19,23:21,31:c,32:l,33:u,34:h,35:f,36:d,44:g,62:p,63:b},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:o,7:31,8:s,9:n,11:i,13:r,14:14,15:15,16:16,17:19,23:21,31:c,32:l,33:u,34:h,35:f,36:d,44:g,62:p,63:b},{4:17,5:o,7:32,8:s,9:n,11:i,13:r,14:14,15:15,16:16,17:19,23:21,31:c,32:l,33:u,34:h,35:f,36:d,44:g,62:p,63:b},{4:17,5:o,7:33,8:s,9:n,11:i,13:r,14:14,15:15,16:16,17:19,23:21,31:c,32:l,33:u,34:h,35:f,36:d,44:g,62:p,63:b},{4:17,5:o,7:34,8:s,9:n,11:i,13:r,14:14,15:15,16:16,17:19,23:21,31:c,32:l,33:u,34:h,35:f,36:d,44:g,62:p,63:b},{4:17,5:o,7:35,8:s,9:n,11:i,13:r,14:14,15:15,16:16,17:19,23:21,31:c,32:l,33:u,34:h,35:f,36:d,44:g,62:p,63:b},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},t(m,[2,20]),t(m,[2,21]),t(m,[2,22]),t(m,[2,23]),t(m,[2,24]),t(m,[2,25]),t(y,[2,49]),t(y,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:w,56:v,57:x,58:k,59:_,60:T,61:E},{52:54,55:w,56:v,57:x,58:k,59:_,60:T,61:E},{5:[1,55]},{5:[1,56]},{53:[1,57]},t(S,[2,40]),t(S,[2,41]),t(S,[2,42]),t(S,[2,43]),t(S,[2,44]),t(S,[2,45]),t(S,[2,46]),{54:[1,58]},{5:C,20:59,21:A,24:M,26:L,28:I,30:O},{5:N,30:D,46:66,47:P,49:B},{23:71,62:p,63:b},{23:72,62:p,63:b},t(R,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:C,20:77,21:A,24:M,26:L,28:I,30:O},t(R,[2,19]),t(R,[2,33]),{22:[1,78]},{22:[1,79]},{5:N,30:D,46:80,47:P,49:B},t(R,[2,37]),t(R,[2,38]),t(R,[2,39]),{23:81,62:p,63:b},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},t(R,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},t(R,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:C,20:106,21:A,24:M,26:L,28:I,30:O},{5:C,20:107,21:A,24:M,26:L,28:I,30:O},{5:C,20:108,21:A,24:M,26:L,28:I,30:O},{5:C,20:109,21:A,24:M,26:L,28:I,30:O},{5:N,30:D,46:110,47:P,49:B},{5:N,30:D,46:111,47:P,49:B},t(R,[2,14]),t(R,[2,15]),t(R,[2,16]),t(R,[2,17]),t(R,[2,34]),t(R,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=[0],n=[],i=[null],r=[],a=this.table,o="",s=0,c=0,l=r.slice.call(arguments,1),u=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);u.setInput(t,h.yy),h.yy.lexer=u,h.yy.parser=this,typeof u.yylloc>"u"&&(u.yylloc={});var d=u.yylloc;r.push(d);var g,p=u.options&&u.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,m,y,w,v,x,k,_,T={};;){if(m=e[e.length-1],this.defaultActions[m]?y=this.defaultActions[m]:((null===b||typeof b>"u")&&(g=void 0,"number"!=typeof(g=n.pop()||u.lex()||1)&&(g instanceof Array&&(g=(n=g).pop()),g=this.symbols_[g]||g),b=g),y=a[m]&&a[m][b]),typeof y>"u"||!y.length||!y[0]){var E;for(v in _=[],a[m])this.terminals_[v]&&v>2&&_.push("'"+this.terminals_[v]+"'");E=u.showPosition?"Parse error on line "+(s+1)+":\n"+u.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(E,{text:u.match,token:this.terminals_[b]||b,line:u.yylineno,loc:d,expected:_})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+b);switch(y[0]){case 1:e.push(b),i.push(u.yytext),r.push(u.yylloc),e.push(y[1]),b=null,c=u.yyleng,o=u.yytext,s=u.yylineno,d=u.yylloc;break;case 2:if(x=this.productions_[y[1]][1],T.$=i[i.length-x],T._$={first_line:r[r.length-(x||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(x||1)].first_column,last_column:r[r.length-1].last_column},p&&(T._$.range=[r[r.length-(x||1)].range[0],r[r.length-1].range[1]]),typeof(w=this.performAction.apply(T,[o,c,s,h.yy,y[1],i,r].concat(l)))<"u")return w;x&&(e=e.slice(0,-1*x*2),i=i.slice(0,-1*x),r=r.slice(0,-1*x)),e.push(this.productions_[y[1]][0]),i.push(T.$),r.push(T._$),k=a[e[e.length-2]][e[e.length-1]],e.push(k);break;case 3:return!0}}return!0}},$={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:case 48:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 5;case 9:case 10:case 11:break;case 12:return 8;case 13:return 6;case 14:return 19;case 15:return 30;case 16:return 22;case 17:return 21;case 18:return 24;case 19:return 26;case 20:return 28;case 21:return 31;case 22:return 32;case 23:return 33;case 24:return 34;case 25:return 35;case 26:return 36;case 27:return 37;case 28:return 38;case 29:return 39;case 30:return 40;case 31:return 41;case 32:return 42;case 33:return 43;case 34:return 44;case 35:return 55;case 36:return 56;case 37:return 57;case 38:return 58;case 39:return 59;case 40:return 60;case 41:return 61;case 42:return 47;case 43:return 49;case 44:return 51;case 45:return 54;case 46:return 53;case 47:this.begin("string");break;case 49:return"qString";case 50:return e.yytext=e.yytext.trim(),62}},rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[48,49],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,50],inclusive:!0}}};function j(){this.yy={}}return F.lexer=$,j.prototype=F,F.Parser=j,new j}();kD.parser=kD;const _D=kD;let TD=[],ED={},SD={},CD={},AD={};const MD={RequirementType:{REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},RiskLevel:{LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},VerifyType:{VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},Relationships:{CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},getConfig:()=>sg().req,addRequirement:(t,e)=>(void 0===SD[t]&&(SD[t]={name:t,type:e,id:ED.id,text:ED.text,risk:ED.risk,verifyMethod:ED.verifyMethod}),ED={},SD[t]),getRequirements:()=>SD,setNewReqId:t=>{void 0!==ED&&(ED.id=t)},setNewReqText:t=>{void 0!==ED&&(ED.text=t)},setNewReqRisk:t=>{void 0!==ED&&(ED.risk=t)},setNewReqVerifyMethod:t=>{void 0!==ED&&(ED.verifyMethod=t)},setAccTitle:Zd,getAccTitle:Jd,setAccDescription:tg,getAccDescription:eg,addElement:t=>(void 0===AD[t]&&(AD[t]={name:t,type:CD.type,docRef:CD.docRef},l.info("Added new requirement: ",t)),CD={},AD[t]),getElements:()=>AD,setNewElementType:t=>{void 0!==CD&&(CD.type=t)},setNewElementDocRef:t=>{void 0!==CD&&(CD.docRef=t)},addRelationship:(t,e,n)=>{TD.push({type:t,src:e,dst:n})},getRelationships:()=>TD,clear:()=>{TD=[],ED={},SD={},CD={},AD={},Qd()}},LD={CONTAINS:"contains",ARROW:"arrow"},ID=LD;let OD={},ND=0;const DD=(t,e)=>t.insert("rect","#"+e).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",OD.rect_min_width+"px").attr("height",OD.rect_min_height+"px"),PD=(t,e,n)=>{let i=OD.rect_min_width/2,r=t.append("text").attr("class","req reqLabel reqTitle").attr("id",e).attr("x",i).attr("y",OD.rect_padding).attr("dominant-baseline","hanging"),a=0;n.forEach((t=>{0==a?r.append("tspan").attr("text-anchor","middle").attr("x",OD.rect_min_width/2).attr("dy",0).text(t):r.append("tspan").attr("text-anchor","middle").attr("x",OD.rect_min_width/2).attr("dy",.75*OD.line_height).text(t),a++}));let o=1.5*OD.rect_padding+a*OD.line_height*.75;return t.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",OD.rect_min_width).attr("y1",o).attr("y2",o),{titleNode:r,y:o}},BD=(t,e,n,i)=>{let r=t.append("text").attr("class","req reqLabel").attr("id",e).attr("x",OD.rect_padding).attr("y",i).attr("dominant-baseline","hanging"),a=0,o=[];return n.forEach((t=>{let e=t.length;for(;e>30&&a<3;){let n=t.substring(0,30);e=(t=t.substring(30,t.length)).length,o[o.length]=n,a++}if(3==a){let t=o[o.length-1];o[o.length-1]=t.substring(0,t.length-4)+"..."}else o[o.length]=t;a=0})),o.forEach((t=>{r.append("tspan").attr("x",OD.rect_padding).attr("dy",OD.line_height).text(t)})),r},RD=t=>t.replace(/\s/g,"").replace(/\./g,"_"),FD=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:_D,db:MD,renderer:{draw:(t,e,n,i)=>{OD=sg().requirement;const r=OD.securityLevel;let a;"sandbox"===r&&(a=ee("#i"+e));const o=ee("sandbox"===r?a.nodes()[0].contentDocument.body:"body").select(`[id='${e}']`);((t,e)=>{let n=t.append("defs").append("marker").attr("id",LD.CONTAINS+"_line_ending").attr("refX",0).attr("refY",e.line_height/2).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("g");n.append("circle").attr("cx",e.line_height/2).attr("cy",e.line_height/2).attr("r",e.line_height/2).attr("fill","none"),n.append("line").attr("x1",0).attr("x2",e.line_height).attr("y1",e.line_height/2).attr("y2",e.line_height/2).attr("stroke-width",1),n.append("line").attr("y1",0).attr("y2",e.line_height).attr("x1",e.line_height/2).attr("x2",e.line_height/2).attr("stroke-width",1),t.append("defs").append("marker").attr("id",LD.ARROW+"_line_ending").attr("refX",e.line_height).attr("refY",.5*e.line_height).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("path").attr("d",`M0,0\n L${e.line_height},${e.line_height/2}\n M${e.line_height},${e.line_height/2}\n L0,${e.line_height}`).attr("stroke-width",1)})(o,OD);const s=new dC({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:OD.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel((function(){return{}}));let c=i.db.getRequirements(),u=i.db.getElements(),h=i.db.getRelationships();((t,e,n)=>{Object.keys(t).forEach((i=>{let r=t[i];i=RD(i),l.info("Added new requirement: ",i);const a=n.append("g").attr("id",i),o=DD(a,"req-"+i);let s=PD(a,i+"_title",[`<<${r.type}>>`,`${r.name}`]);BD(a,i+"_body",[`Id: ${r.id}`,`Text: ${r.text}`,`Risk: ${r.risk}`,`Verification: ${r.verifyMethod}`],s.y);const c=o.node().getBBox();e.setNode(i,{width:c.width,height:c.height,shape:"rect",id:i})}))})(c,s,o),((t,e,n)=>{Object.keys(t).forEach((i=>{let r=t[i];const a=RD(i),o=n.append("g").attr("id",a),s="element-"+a,c=DD(o,s);let l=PD(o,s+"_title",["<>",`${i}`]);BD(o,s+"_body",[`Type: ${r.type||"Not Specified"}`,`Doc Ref: ${r.docRef||"None"}`],l.y);const u=c.node().getBBox();e.setNode(a,{width:u.width,height:u.height,shape:"rect",id:a})}))})(u,s,o),((t,e)=>{t.forEach((function(t){let n=RD(t.src),i=RD(t.dst);e.setEdge(n,i,{relationship:t})}))})(h,s),bA(s),function(t,e){e.nodes().forEach((function(n){void 0!==n&&void 0!==e.node(n)&&(t.select("#"+n),t.select("#"+n).attr("transform","translate("+(e.node(n).x-e.node(n).width/2)+","+(e.node(n).y-e.node(n).height/2)+" )"))}))}(o,s),h.forEach((function(t){!function(t,e,n,i,r){const a=n.edge(RD(e.src),RD(e.dst)),o=$o().x((function(t){return t.x})).y((function(t){return t.y})),s=t.insert("path","#"+i).attr("class","er relationshipLine").attr("d",o(a.points)).attr("fill","none");e.type==r.db.Relationships.CONTAINS?s.attr("marker-start","url("+Bc.getUrl(OD.arrowMarkerAbsolute)+"#"+e.type+"_line_ending)"):(s.attr("stroke-dasharray","10,7"),s.attr("marker-end","url("+Bc.getUrl(OD.arrowMarkerAbsolute)+"#"+ID.ARROW+"_line_ending)")),((t,e,n,i)=>{const r=e.node().getTotalLength(),a=e.node().getPointAtLength(.5*r),o="rel"+ND;ND++;const s=t.append("text").attr("class","req relationshipLabel").attr("id",o).attr("x",a.x).attr("y",a.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(i).node().getBBox();t.insert("rect","#"+o).attr("class","req reqLabelBox").attr("x",a.x-s.width/2).attr("y",a.y-s.height/2).attr("width",s.width).attr("height",s.height).attr("fill","white").attr("fill-opacity","85%")})(t,s,0,`<<${e.type}>>`)}(o,t,s,e,i)}));const f=OD.rect_padding,d=o.node().getBBox(),g=d.width+2*f,p=d.height+2*f;Ud(o,p,g,OD.useMaxWidth),o.attr("viewBox",`${d.x-f} ${d.y-f} ${g} ${p}`)}},styles:t=>`\n\n marker {\n fill: ${t.relationColor};\n stroke: ${t.relationColor};\n }\n\n marker.cross {\n stroke: ${t.lineColor};\n }\n\n svg {\n font-family: ${t.fontFamily};\n font-size: ${t.fontSize};\n }\n\n .reqBox {\n fill: ${t.requirementBackground};\n fill-opacity: 1.0;\n stroke: ${t.requirementBorderColor};\n stroke-width: ${t.requirementBorderSize};\n }\n \n .reqTitle, .reqLabel{\n fill: ${t.requirementTextColor};\n }\n .reqLabelBox {\n fill: ${t.relationLabelBackground};\n fill-opacity: 1.0;\n }\n\n .req-title-line {\n stroke: ${t.requirementBorderColor};\n stroke-width: ${t.requirementBorderSize};\n }\n .relationshipLine {\n stroke: ${t.relationColor};\n stroke-width: 1;\n }\n .relationshipLabel {\n fill: ${t.relationLabelColor};\n }\n\n`}},Symbol.toStringTag,{value:"Module"}));var $D=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[1,2],n=[1,3],i=[1,4],r=[2,4],a=[1,9],o=[1,11],s=[1,13],c=[1,14],l=[1,16],u=[1,17],h=[1,18],f=[1,24],d=[1,25],g=[1,26],p=[1,27],b=[1,28],m=[1,29],y=[1,30],w=[1,31],v=[1,32],x=[1,33],k=[1,34],_=[1,35],T=[1,36],E=[1,37],S=[1,38],C=[1,39],A=[1,41],M=[1,42],L=[1,43],I=[1,44],O=[1,45],N=[1,46],D=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],P=[4,5,16,50,52,53],B=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],R=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],F=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],$=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],j=[68,69,70],z=[1,120],q={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,DOTTED_ARROW:74,SOLID_CROSS:75,DOTTED_CROSS:76,SOLID_POINT:77,DOTTED_POINT:78,TXT:79,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"DOTTED_ARROW",75:"SOLID_CROSS",76:"DOTTED_CROSS",77:"SOLID_POINT",78:"DOTTED_POINT",79:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:function(t,e,n,i,r,a,o){var s=a.length-1;switch(r){case 3:return i.apply(a[s]),a[s];case 4:case 9:case 8:case 13:this.$=[];break;case 5:case 10:a[s-1].push(a[s]),this.$=a[s-1];break;case 6:case 7:case 11:case 12:case 62:this.$=a[s];break;case 15:a[s].type="createParticipant",this.$=a[s];break;case 16:a[s-1].unshift({type:"boxStart",boxData:i.parseBoxData(a[s-2])}),a[s-1].push({type:"boxEnd",boxText:a[s-2]}),this.$=a[s-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(a[s-2]),sequenceIndexStep:Number(a[s-1]),sequenceVisible:!0,signalType:i.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(a[s-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:i.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:i.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:i.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:i.LINETYPE.ACTIVE_START,actor:a[s-1]};break;case 23:this.$={type:"activeEnd",signalType:i.LINETYPE.ACTIVE_END,actor:a[s-1]};break;case 29:i.setDiagramTitle(a[s].substring(6)),this.$=a[s].substring(6);break;case 30:i.setDiagramTitle(a[s].substring(7)),this.$=a[s].substring(7);break;case 31:this.$=a[s].trim(),i.setAccTitle(this.$);break;case 32:case 33:this.$=a[s].trim(),i.setAccDescription(this.$);break;case 34:a[s-1].unshift({type:"loopStart",loopText:i.parseMessage(a[s-2]),signalType:i.LINETYPE.LOOP_START}),a[s-1].push({type:"loopEnd",loopText:a[s-2],signalType:i.LINETYPE.LOOP_END}),this.$=a[s-1];break;case 35:a[s-1].unshift({type:"rectStart",color:i.parseMessage(a[s-2]),signalType:i.LINETYPE.RECT_START}),a[s-1].push({type:"rectEnd",color:i.parseMessage(a[s-2]),signalType:i.LINETYPE.RECT_END}),this.$=a[s-1];break;case 36:a[s-1].unshift({type:"optStart",optText:i.parseMessage(a[s-2]),signalType:i.LINETYPE.OPT_START}),a[s-1].push({type:"optEnd",optText:i.parseMessage(a[s-2]),signalType:i.LINETYPE.OPT_END}),this.$=a[s-1];break;case 37:a[s-1].unshift({type:"altStart",altText:i.parseMessage(a[s-2]),signalType:i.LINETYPE.ALT_START}),a[s-1].push({type:"altEnd",signalType:i.LINETYPE.ALT_END}),this.$=a[s-1];break;case 38:a[s-1].unshift({type:"parStart",parText:i.parseMessage(a[s-2]),signalType:i.LINETYPE.PAR_START}),a[s-1].push({type:"parEnd",signalType:i.LINETYPE.PAR_END}),this.$=a[s-1];break;case 39:a[s-1].unshift({type:"parStart",parText:i.parseMessage(a[s-2]),signalType:i.LINETYPE.PAR_OVER_START}),a[s-1].push({type:"parEnd",signalType:i.LINETYPE.PAR_END}),this.$=a[s-1];break;case 40:a[s-1].unshift({type:"criticalStart",criticalText:i.parseMessage(a[s-2]),signalType:i.LINETYPE.CRITICAL_START}),a[s-1].push({type:"criticalEnd",signalType:i.LINETYPE.CRITICAL_END}),this.$=a[s-1];break;case 41:a[s-1].unshift({type:"breakStart",breakText:i.parseMessage(a[s-2]),signalType:i.LINETYPE.BREAK_START}),a[s-1].push({type:"breakEnd",optText:i.parseMessage(a[s-2]),signalType:i.LINETYPE.BREAK_END}),this.$=a[s-1];break;case 43:this.$=a[s-3].concat([{type:"option",optionText:i.parseMessage(a[s-1]),signalType:i.LINETYPE.CRITICAL_OPTION},a[s]]);break;case 45:this.$=a[s-3].concat([{type:"and",parText:i.parseMessage(a[s-1]),signalType:i.LINETYPE.PAR_AND},a[s]]);break;case 47:this.$=a[s-3].concat([{type:"else",altText:i.parseMessage(a[s-1]),signalType:i.LINETYPE.ALT_ELSE},a[s]]);break;case 48:a[s-3].draw="participant",a[s-3].type="addParticipant",a[s-3].description=i.parseMessage(a[s-1]),this.$=a[s-3];break;case 49:a[s-1].draw="participant",a[s-1].type="addParticipant",this.$=a[s-1];break;case 50:a[s-3].draw="actor",a[s-3].type="addParticipant",a[s-3].description=i.parseMessage(a[s-1]),this.$=a[s-3];break;case 51:a[s-1].draw="actor",a[s-1].type="addParticipant",this.$=a[s-1];break;case 52:a[s-1].type="destroyParticipant",this.$=a[s-1];break;case 53:this.$=[a[s-1],{type:"addNote",placement:a[s-2],actor:a[s-1].actor,text:a[s]}];break;case 54:a[s-2]=[].concat(a[s-1],a[s-1]).slice(0,2),a[s-2][0]=a[s-2][0].actor,a[s-2][1]=a[s-2][1].actor,this.$=[a[s-1],{type:"addNote",placement:i.PLACEMENT.OVER,actor:a[s-2].slice(0,2),text:a[s]}];break;case 55:this.$=[a[s-1],{type:"addLinks",actor:a[s-1].actor,text:a[s]}];break;case 56:this.$=[a[s-1],{type:"addALink",actor:a[s-1].actor,text:a[s]}];break;case 57:this.$=[a[s-1],{type:"addProperties",actor:a[s-1].actor,text:a[s]}];break;case 58:this.$=[a[s-1],{type:"addDetails",actor:a[s-1].actor,text:a[s]}];break;case 61:this.$=[a[s-2],a[s]];break;case 63:this.$=i.PLACEMENT.LEFTOF;break;case 64:this.$=i.PLACEMENT.RIGHTOF;break;case 65:this.$=[a[s-4],a[s-1],{type:"addMessage",from:a[s-4].actor,to:a[s-1].actor,signalType:a[s-3],msg:a[s],activate:!0},{type:"activeStart",signalType:i.LINETYPE.ACTIVE_START,actor:a[s-1]}];break;case 66:this.$=[a[s-4],a[s-1],{type:"addMessage",from:a[s-4].actor,to:a[s-1].actor,signalType:a[s-3],msg:a[s]},{type:"activeEnd",signalType:i.LINETYPE.ACTIVE_END,actor:a[s-4]}];break;case 67:this.$=[a[s-3],a[s-1],{type:"addMessage",from:a[s-3].actor,to:a[s-1].actor,signalType:a[s-2],msg:a[s]}];break;case 68:this.$={type:"addParticipant",actor:a[s]};break;case 69:this.$=i.LINETYPE.SOLID_OPEN;break;case 70:this.$=i.LINETYPE.DOTTED_OPEN;break;case 71:this.$=i.LINETYPE.SOLID;break;case 72:this.$=i.LINETYPE.DOTTED;break;case 73:this.$=i.LINETYPE.SOLID_CROSS;break;case 74:this.$=i.LINETYPE.DOTTED_CROSS;break;case 75:this.$=i.LINETYPE.SOLID_POINT;break;case 76:this.$=i.LINETYPE.DOTTED_POINT;break;case 77:this.$=i.parseMessage(a[s].trim().substring(1))}},table:[{3:1,4:e,5:n,6:i},{1:[3]},{3:5,4:e,5:n,6:i},{3:6,4:e,5:n,6:i},t([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],r,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:o,8:8,9:10,12:12,13:s,14:c,17:15,18:l,21:u,22:40,23:h,24:19,25:20,26:21,27:22,28:23,29:f,30:d,31:g,33:p,35:b,36:m,37:y,38:w,39:v,41:x,43:k,44:_,46:T,50:E,52:S,53:C,54:A,59:M,60:L,61:I,62:O,70:N},t(D,[2,5]),{9:47,12:12,13:s,14:c,17:15,18:l,21:u,22:40,23:h,24:19,25:20,26:21,27:22,28:23,29:f,30:d,31:g,33:p,35:b,36:m,37:y,38:w,39:v,41:x,43:k,44:_,46:T,50:E,52:S,53:C,54:A,59:M,60:L,61:I,62:O,70:N},t(D,[2,7]),t(D,[2,8]),t(D,[2,14]),{12:48,50:E,52:S,53:C},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:N},{22:55,70:N},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},t(D,[2,29]),t(D,[2,30]),{32:[1,61]},{34:[1,62]},t(D,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:N},{22:72,70:N},{22:73,70:N},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82]},{55:83,57:[1,84],65:[1,85],66:[1,86]},{22:87,70:N},{22:88,70:N},{22:89,70:N},{22:90,70:N},t([5,51,64,71,72,73,74,75,76,77,78,79],[2,68]),t(D,[2,6]),t(D,[2,15]),t(P,[2,9],{10:91}),t(D,[2,17]),{5:[1,93],19:[1,92]},{5:[1,94]},t(D,[2,21]),{5:[1,95]},{5:[1,96]},t(D,[2,24]),t(D,[2,25]),t(D,[2,26]),t(D,[2,27]),t(D,[2,28]),t(D,[2,31]),t(D,[2,32]),t(B,r,{7:97}),t(B,r,{7:98}),t(B,r,{7:99}),t(R,r,{40:100,7:101}),t(F,r,{42:102,7:103}),t(F,r,{7:103,42:104}),t($,r,{45:105,7:106}),t(B,r,{7:107}),{5:[1,109],51:[1,108]},{5:[1,111],51:[1,110]},{5:[1,112]},{22:115,68:[1,113],69:[1,114],70:N},t(j,[2,69]),t(j,[2,70]),t(j,[2,71]),t(j,[2,72]),t(j,[2,73]),t(j,[2,74]),t(j,[2,75]),t(j,[2,76]),{22:116,70:N},{22:118,58:117,70:N},{70:[2,63]},{70:[2,64]},{56:119,79:z},{56:121,79:z},{56:122,79:z},{56:123,79:z},{4:[1,126],5:[1,128],11:125,12:127,16:[1,124],50:E,52:S,53:C},{5:[1,129]},t(D,[2,19]),t(D,[2,20]),t(D,[2,22]),t(D,[2,23]),{4:a,5:o,8:8,9:10,12:12,13:s,14:c,16:[1,130],17:15,18:l,21:u,22:40,23:h,24:19,25:20,26:21,27:22,28:23,29:f,30:d,31:g,33:p,35:b,36:m,37:y,38:w,39:v,41:x,43:k,44:_,46:T,50:E,52:S,53:C,54:A,59:M,60:L,61:I,62:O,70:N},{4:a,5:o,8:8,9:10,12:12,13:s,14:c,16:[1,131],17:15,18:l,21:u,22:40,23:h,24:19,25:20,26:21,27:22,28:23,29:f,30:d,31:g,33:p,35:b,36:m,37:y,38:w,39:v,41:x,43:k,44:_,46:T,50:E,52:S,53:C,54:A,59:M,60:L,61:I,62:O,70:N},{4:a,5:o,8:8,9:10,12:12,13:s,14:c,16:[1,132],17:15,18:l,21:u,22:40,23:h,24:19,25:20,26:21,27:22,28:23,29:f,30:d,31:g,33:p,35:b,36:m,37:y,38:w,39:v,41:x,43:k,44:_,46:T,50:E,52:S,53:C,54:A,59:M,60:L,61:I,62:O,70:N},{16:[1,133]},{4:a,5:o,8:8,9:10,12:12,13:s,14:c,16:[2,46],17:15,18:l,21:u,22:40,23:h,24:19,25:20,26:21,27:22,28:23,29:f,30:d,31:g,33:p,35:b,36:m,37:y,38:w,39:v,41:x,43:k,44:_,46:T,49:[1,134],50:E,52:S,53:C,54:A,59:M,60:L,61:I,62:O,70:N},{16:[1,135]},{4:a,5:o,8:8,9:10,12:12,13:s,14:c,16:[2,44],17:15,18:l,21:u,22:40,23:h,24:19,25:20,26:21,27:22,28:23,29:f,30:d,31:g,33:p,35:b,36:m,37:y,38:w,39:v,41:x,43:k,44:_,46:T,48:[1,136],50:E,52:S,53:C,54:A,59:M,60:L,61:I,62:O,70:N},{16:[1,137]},{16:[1,138]},{4:a,5:o,8:8,9:10,12:12,13:s,14:c,16:[2,42],17:15,18:l,21:u,22:40,23:h,24:19,25:20,26:21,27:22,28:23,29:f,30:d,31:g,33:p,35:b,36:m,37:y,38:w,39:v,41:x,43:k,44:_,46:T,47:[1,139],50:E,52:S,53:C,54:A,59:M,60:L,61:I,62:O,70:N},{4:a,5:o,8:8,9:10,12:12,13:s,14:c,16:[1,140],17:15,18:l,21:u,22:40,23:h,24:19,25:20,26:21,27:22,28:23,29:f,30:d,31:g,33:p,35:b,36:m,37:y,38:w,39:v,41:x,43:k,44:_,46:T,50:E,52:S,53:C,54:A,59:M,60:L,61:I,62:O,70:N},{15:[1,141]},t(D,[2,49]),{15:[1,142]},t(D,[2,51]),t(D,[2,52]),{22:143,70:N},{22:144,70:N},{56:145,79:z},{56:146,79:z},{56:147,79:z},{64:[1,148],79:[2,62]},{5:[2,55]},{5:[2,77]},{5:[2,56]},{5:[2,57]},{5:[2,58]},t(D,[2,16]),t(P,[2,10]),{12:149,50:E,52:S,53:C},t(P,[2,12]),t(P,[2,13]),t(D,[2,18]),t(D,[2,34]),t(D,[2,35]),t(D,[2,36]),t(D,[2,37]),{15:[1,150]},t(D,[2,38]),{15:[1,151]},t(D,[2,39]),t(D,[2,40]),{15:[1,152]},t(D,[2,41]),{5:[1,153]},{5:[1,154]},{56:155,79:z},{56:156,79:z},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:157,70:N},t(P,[2,11]),t(R,r,{7:101,40:158}),t(F,r,{7:103,42:159}),t($,r,{7:106,45:160}),t(D,[2,48]),t(D,[2,50]),{5:[2,65]},{5:[2,66]},{79:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],85:[2,63],86:[2,64],119:[2,55],120:[2,77],121:[2,56],122:[2,57],123:[2,58],145:[2,67],146:[2,53],147:[2,54],155:[2,65],156:[2,66],157:[2,61],158:[2,47],159:[2,45],160:[2,43]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=[0],n=[],i=[null],r=[],a=this.table,o="",s=0,c=0,l=r.slice.call(arguments,1),u=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);u.setInput(t,h.yy),h.yy.lexer=u,h.yy.parser=this,typeof u.yylloc>"u"&&(u.yylloc={});var d=u.yylloc;r.push(d);var g,p=u.options&&u.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,m,y,w,v,x,k,_,T={};;){if(m=e[e.length-1],this.defaultActions[m]?y=this.defaultActions[m]:((null===b||typeof b>"u")&&(g=void 0,"number"!=typeof(g=n.pop()||u.lex()||1)&&(g instanceof Array&&(g=(n=g).pop()),g=this.symbols_[g]||g),b=g),y=a[m]&&a[m][b]),typeof y>"u"||!y.length||!y[0]){var E;for(v in _=[],a[m])this.terminals_[v]&&v>2&&_.push("'"+this.terminals_[v]+"'");E=u.showPosition?"Parse error on line "+(s+1)+":\n"+u.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(E,{text:u.match,token:this.terminals_[b]||b,line:u.yylineno,loc:d,expected:_})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+b);switch(y[0]){case 1:e.push(b),i.push(u.yytext),r.push(u.yylloc),e.push(y[1]),b=null,c=u.yyleng,o=u.yytext,s=u.yylineno,d=u.yylloc;break;case 2:if(x=this.productions_[y[1]][1],T.$=i[i.length-x],T._$={first_line:r[r.length-(x||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(x||1)].first_column,last_column:r[r.length-1].last_column},p&&(T._$.range=[r[r.length-(x||1)].range[0],r[r.length-1].range[1]]),typeof(w=this.performAction.apply(T,[o,c,s,h.yy,y[1],i,r].concat(l)))<"u")return w;x&&(e=e.slice(0,-1*x*2),i=i.slice(0,-1*x),r=r.slice(0,-1*x)),e.push(this.productions_[y[1]][0]),i.push(T.$),r.push(T._$),k=a[e[e.length-2]][e[e.length-1]],e.push(k);break;case 3:return!0}}return!0}},H={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:case 51:case 64:return 5;case 1:case 2:case 3:case 4:case 5:break;case 6:return 19;case 7:return this.begin("LINE"),14;case 8:return this.begin("ID"),50;case 9:return this.begin("ID"),52;case 10:return 13;case 11:return this.begin("ID"),53;case 12:return e.yytext=e.yytext.trim(),this.begin("ALIAS"),70;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;case 14:return this.popState(),this.popState(),5;case 15:return this.begin("LINE"),36;case 16:return this.begin("LINE"),37;case 17:return this.begin("LINE"),38;case 18:return this.begin("LINE"),39;case 19:return this.begin("LINE"),49;case 20:return this.begin("LINE"),41;case 21:return this.begin("LINE"),43;case 22:return this.begin("LINE"),48;case 23:return this.begin("LINE"),44;case 24:return this.begin("LINE"),47;case 25:return this.begin("LINE"),46;case 26:return this.popState(),15;case 27:return 16;case 28:return 65;case 29:return 66;case 30:return 59;case 31:return 60;case 32:return 61;case 33:return 62;case 34:return 57;case 35:return 54;case 36:return this.begin("ID"),21;case 37:return this.begin("ID"),23;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;case 41:return this.popState(),"acc_title_value";case 42:return this.begin("acc_descr"),33;case 43:return this.popState(),"acc_descr_value";case 44:this.begin("acc_descr_multiline");break;case 45:this.popState();break;case 46:return"acc_descr_multiline_value";case 47:return 6;case 48:return 18;case 49:return 20;case 50:return 64;case 52:return e.yytext=e.yytext.trim(),70;case 53:return 73;case 54:return 74;case 55:return 71;case 56:return 72;case 57:return 75;case 58:return 76;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 68;case 63:return 69;case 65:return"INVALID"}},rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^\->:\n,;]+?([\-]*[^\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[45,46],inclusive:!1},acc_descr:{rules:[43],inclusive:!1},acc_title:{rules:[41],inclusive:!1},ID:{rules:[2,3,12],inclusive:!1},ALIAS:{rules:[2,3,13,14],inclusive:!1},LINE:{rules:[2,3,26],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65],inclusive:!0}}};function U(){this.yy={}}return q.lexer=H,U.prototype=q,q.Parser=U,new U}();$D.parser=$D;const jD=$D,zD=new class{constructor(t){this.init=t,this.records=this.init()}reset(){this.records=this.init()}}((()=>({prevActor:void 0,actors:{},createdActors:{},destroyedActors:{},boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0}))),qD=function(t,e,n,i){let r=zD.records.currentBox;const a=zD.records.actors[t];if(a){if(zD.records.currentBox&&a.box&&zD.records.currentBox!==a.box)throw new Error("A same participant should only be defined in one Box: "+a.name+" can't be in '"+a.box.name+"' and in '"+zD.records.currentBox.name+"' at the same time.");if(r=a.box?a.box:zD.records.currentBox,a.box=r,a&&e===a.name&&null==n)return}(null==n||null==n.text)&&(n={text:e,wrap:null,type:i}),(null==i||null==n.text)&&(n={text:e,wrap:null,type:i}),zD.records.actors[t]={box:r,name:e,description:n.text,wrap:void 0===n.wrap&&GD()||!!n.wrap,prevActor:zD.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:i||"participant"},zD.records.prevActor&&zD.records.actors[zD.records.prevActor]&&(zD.records.actors[zD.records.prevActor].nextActor=t),zD.records.currentBox&&zD.records.currentBox.actorKeys.push(t),zD.records.prevActor=t},HD=function(t,e,n={text:void 0,wrap:void 0},i,r=!1){if(i===KD.ACTIVE_END&&(t=>{let e,n=0;for(e=0;e>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},e}return zD.records.messages.push({from:t,to:e,message:n.text,wrap:void 0===n.wrap&&GD()||!!n.wrap,type:i,activate:r}),!0},UD=function(t){return zD.records.actors[t]},GD=()=>void 0!==zD.records.wrapEnabled?zD.records.wrapEnabled:sg().sequence.wrap,KD={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32},YD=function(t,e,n){const i={actor:t,placement:e,message:n.text,wrap:void 0===n.wrap&&GD()||!!n.wrap},r=[].concat(t,t);zD.records.notes.push(i),zD.records.messages.push({from:r[0],to:r[1],message:n.text,wrap:void 0===n.wrap&&GD()||!!n.wrap,type:KD.NOTE,placement:e})},VD=function(t,e){const n=UD(t);try{let t=_c(e.text,sg());t=t.replace(/&/g,"&"),t=t.replace(/=/g,"="),WD(n,JSON.parse(t))}catch(t){l.error("error while parsing actor link text",t)}};function WD(t,e){if(null==t.links)t.links=e;else for(let n in e)t.links[n]=e[n]}const XD=function(t,e){const n=UD(t);try{let t=_c(e.text,sg());QD(n,JSON.parse(t))}catch(t){l.error("error while parsing actor properties text",t)}};function QD(t,e){if(null==t.properties)t.properties=e;else for(let n in e)t.properties[n]=e[n]}const ZD=function(t,e){const n=UD(t),i=document.getElementById(e.text);try{const t=i.innerHTML,e=JSON.parse(t);e.properties&&QD(n,e.properties),e.links&&WD(n,e.links)}catch(t){l.error("error while parsing actor details text",t)}},JD=function(t){if(Array.isArray(t))t.forEach((function(t){JD(t)}));else switch(t.type){case"sequenceIndex":zD.records.messages.push({from:void 0,to:void 0,message:{start:t.sequenceIndex,step:t.sequenceIndexStep,visible:t.sequenceVisible},wrap:!1,type:t.signalType});break;case"addParticipant":qD(t.actor,t.actor,t.description,t.draw);break;case"createParticipant":if(zD.records.actors[t.actor])throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");zD.records.lastCreated=t.actor,qD(t.actor,t.actor,t.description,t.draw),zD.records.createdActors[t.actor]=zD.records.messages.length;break;case"destroyParticipant":zD.records.lastDestroyed=t.actor,zD.records.destroyedActors[t.actor]=zD.records.messages.length;break;case"activeStart":case"activeEnd":HD(t.actor,void 0,void 0,t.signalType);break;case"addNote":YD(t.actor,t.placement,t.text);break;case"addLinks":VD(t.actor,t.text);break;case"addALink":!function(t,e){const n=UD(t);try{const t={};let o=_c(e.text,sg());var i=o.indexOf("@");o=o.replace(/&/g,"&"),o=o.replace(/=/g,"=");var r=o.slice(0,i-1).trim(),a=o.slice(i+1).trim();t[r]=a,WD(n,t)}catch(t){l.error("error while parsing actor link text",t)}}(t.actor,t.text);break;case"addProperties":XD(t.actor,t.text);break;case"addDetails":ZD(t.actor,t.text);break;case"addMessage":if(zD.records.lastCreated){if(t.to!==zD.records.lastCreated)throw new Error("The created participant "+zD.records.lastCreated+" does not have an associated creating message after its declaration. Please check the sequence diagram.");zD.records.lastCreated=void 0}else if(zD.records.lastDestroyed){if(t.to!==zD.records.lastDestroyed&&t.from!==zD.records.lastDestroyed)throw new Error("The destroyed participant "+zD.records.lastDestroyed+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");zD.records.lastDestroyed=void 0}HD(t.from,t.to,t.msg,t.signalType,t.activate);break;case"boxStart":!function(t){zD.records.boxes.push({name:t.text,wrap:void 0===t.wrap&&GD()||!!t.wrap,fill:t.color,actorKeys:[]}),zD.records.currentBox=zD.records.boxes.slice(-1)[0]}(t.boxData);break;case"boxEnd":zD.records.currentBox=void 0;break;case"loopStart":HD(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":case"rectEnd":case"optEnd":case"altEnd":case"parEnd":case"criticalEnd":case"breakEnd":HD(void 0,void 0,void 0,t.signalType);break;case"rectStart":HD(void 0,void 0,t.color,t.signalType);break;case"optStart":HD(void 0,void 0,t.optText,t.signalType);break;case"altStart":case"else":HD(void 0,void 0,t.altText,t.signalType);break;case"setAccTitle":Zd(t.text);break;case"parStart":case"and":HD(void 0,void 0,t.parText,t.signalType);break;case"criticalStart":HD(void 0,void 0,t.criticalText,t.signalType);break;case"option":HD(void 0,void 0,t.optionText,t.signalType);break;case"breakStart":HD(void 0,void 0,t.breakText,t.signalType)}},tP={addActor:qD,addMessage:function(t,e,n,i){zD.records.messages.push({from:t,to:e,message:n.text,wrap:void 0===n.wrap&&GD()||!!n.wrap,answer:i})},addSignal:HD,addLinks:VD,addDetails:ZD,addProperties:XD,autoWrap:GD,setWrap:function(t){zD.records.wrapEnabled=t},enableSequenceNumbers:function(){zD.records.sequenceNumbersEnabled=!0},disableSequenceNumbers:function(){zD.records.sequenceNumbersEnabled=!1},showSequenceNumbers:()=>zD.records.sequenceNumbersEnabled,getMessages:function(){return zD.records.messages},getActors:function(){return zD.records.actors},getCreatedActors:function(){return zD.records.createdActors},getDestroyedActors:function(){return zD.records.destroyedActors},getActor:UD,getActorKeys:function(){return Object.keys(zD.records.actors)},getActorProperty:function(t,e){if(void 0!==t&&void 0!==t.properties)return t.properties[e]},getAccTitle:Jd,getBoxes:function(){return zD.records.boxes},getDiagramTitle:ig,setDiagramTitle:ng,getConfig:()=>sg().sequence,clear:function(){zD.reset(),Qd()},parseMessage:function(t){const e=t.trim(),n={text:e.replace(/^:?(?:no)?wrap:/,"").trim(),wrap:null!==e.match(/^:?wrap:/)||null===e.match(/^:?nowrap:/)&&void 0};return l.debug("parseMessage:",n),n},parseBoxData:function(t){const e=t.match(/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/);let n=null!=e&&e[1]?e[1].trim():"transparent",i=null!=e&&e[2]?e[2].trim():void 0;if(window&&window.CSS)window.CSS.supports("color",n)||(n="transparent",i=t.trim());else{const e=(new Option).style;e.color=n,e.color!==n&&(n="transparent",i=t.trim())}return{color:n,text:void 0!==i?_c(i.replace(/^:?(?:no)?wrap:/,""),sg()):void 0,wrap:void 0!==i?null!==i.match(/^:?wrap:/)||null===i.match(/^:?nowrap:/)&&void 0:void 0}},LINETYPE:KD,ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},addNote:YD,setAccTitle:Zd,apply:JD,setAccDescription:tg,getAccDescription:eg,hasAtLeastOneBox:function(){return zD.records.boxes.length>0},hasAtLeastOneBoxWithTitle:function(){return zD.records.boxes.some((t=>t.name))}},eP="actor-top",nP="actor-bottom",iP=function(t,e){return kk(t,e)},rP=async function(t,e,n=null){let i=t.append("foreignObject");const r=await Pc(e.text,sd()),a=i.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(r).node().getBoundingClientRect();if(i.attr("height",Math.round(a.height)).attr("width",Math.round(a.width)),"noteText"===e.class){const n=t.node().firstChild;n.setAttribute("height",a.height+2*e.textMargin);const r=n.getBBox();i.attr("x",Math.round(r.x+r.width/2-a.width/2)).attr("y",Math.round(r.y+r.height/2-a.height/2))}else if(n){let{startx:t,stopx:r,starty:o}=n;if(t>r){const e=t;t=r,r=e}i.attr("x",Math.round(t+Math.abs(t-r)/2-a.width/2)),"loopText"===e.class?i.attr("y",Math.round(o)):i.attr("y",Math.round(o-a.height))}return[i]},aP=function(t,e){let n=0,i=0;const r=e.text.split(Bc.lineBreakRegex),[a,o]=hf(e.fontSize);let s=[],c=0,l=()=>e.y;if(void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0)switch(e.valign){case"top":case"start":l=()=>Math.round(e.y+e.textMargin);break;case"middle":case"center":l=()=>Math.round(e.y+(n+i+e.textMargin)/2);break;case"bottom":case"end":l=()=>Math.round(e.y+(n+i+2*e.textMargin)-e.textMargin)}if(void 0!==e.anchor&&void 0!==e.textMargin&&void 0!==e.width)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle"}for(let[u,h]of r.entries()){void 0!==e.textMargin&&0===e.textMargin&&void 0!==a&&(c=u*a);const r=t.append("text");r.attr("x",e.x),r.attr("y",l()),void 0!==e.anchor&&r.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),void 0!==e.fontFamily&&r.style("font-family",e.fontFamily),void 0!==o&&r.style("font-size",o),void 0!==e.fontWeight&&r.style("font-weight",e.fontWeight),void 0!==e.fill&&r.attr("fill",e.fill),void 0!==e.class&&r.attr("class",e.class),void 0!==e.dy?r.attr("dy",e.dy):0!==c&&r.attr("dy",c);const f=h||"​";if(e.tspan){const t=r.append("tspan");t.attr("x",e.x),void 0!==e.fill&&t.attr("fill",e.fill),t.text(f)}else r.text(f);void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0&&(i+=(r._groups||r)[0][0].getBBox().height,n=i),s.push(r)}return s},oP=function(t,e){const n=t.append("polygon");return n.attr("points",(i=e.x)+","+(r=e.y)+" "+(i+(a=e.width))+","+r+" "+(i+a)+","+(r+(o=e.height)-7)+" "+(i+a-8.4)+","+(r+o)+" "+i+","+(r+o)),n.attr("class","labelBox"),e.y=e.y+e.height/2,aP(t,e),n;var i,r,a,o};let sP=-1;const cP=(t,e,n,i)=>{t.select&&n.forEach((n=>{const r=e[n],a=t.select("#actor"+r.actorCnt);!i.mirrorActors&&r.stopy?a.attr("y2",r.stopy+r.height/2):i.mirrorActors&&a.attr("y2",r.stopy)}))},lP=function(t,e){((t,e)=>{const n={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};kk(t,n).lower()})(t,e)},uP=function(){function t(t,e,n,i,a,o,s){r(e.append("text").attr("x",n+a/2).attr("y",i+o/2+5).style("text-anchor","middle").text(t),s)}function e(t,e,n,i,a,o,s,c){const{actorFontSize:l,actorFontFamily:u,actorFontWeight:h}=c,[f,d]=hf(l),g=t.split(Bc.lineBreakRegex);for(let t=0;t{const r=t.append("use");r.attr("x",e),r.attr("y",n);const a=f.sanitizeUrl(i);r.attr("xlink:href",`#${a}`)})(c,l.x+l.width-20,l.y+10,t.substr(1)):((t,e,n,i)=>{const r=t.append("image");r.attr("x",e),r.attr("y",n);const a=f.sanitizeUrl(i);r.attr("xlink:href",a)})(c,l.x+l.width-20,l.y+10,t)}await uP(n,Nc(e.description))(e.description,c,l.x,l.y,l.width,l.height,{class:"actor"},n);let d=e.height;if(h.node){const t=h.node().getBBox();e.height=t.height,d=t.height}return d}(t,e,n,i)}},gP=async function(t,e,n){const i=t.append("g");lP(i,e),e.name&&await uP(n)(e.name,i,e.x,e.y+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},n),i.lower()},pP=function(t,e,n,i,r){if(void 0===e.links||null===e.links||0===Object.keys(e.links).length)return{height:0,width:0};const a=e.links,o=e.actorCnt,s=e.rectData;var c="none";r&&(c="block !important");const l=t.append("g");l.attr("id","actor"+o+"_popup"),l.attr("class","actorPopupMenu"),l.attr("display",c);var u="";void 0!==s.class&&(u=" "+s.class);let h=s.width>n?s.width:n;const d=l.append("rect");if(d.attr("class","actorPopupMenuPanel"+u),d.attr("x",s.x),d.attr("y",s.height),d.attr("fill",s.fill),d.attr("stroke",s.stroke),d.attr("width",h),d.attr("height",s.height),d.attr("rx",s.rx),d.attr("ry",s.ry),null!=a){var g=20;for(let t in a){var p=l.append("a"),b=f.sanitizeUrl(a[t]);p.attr("xlink:href",b),p.attr("target","_blank"),hP(i)(t,p,s.x+10,s.height+g,h,20,{class:"actor"},i),g+=30}}return d.attr("height",g),{height:s.height+g,width:h}},bP=function(t){return t.append("g")},mP=function(t,e,n,i,r){const a={x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0},o=e.anchored;a.x=e.startx,a.y=e.starty,a.class="activation"+r%3,a.width=e.stopx-e.startx,a.height=n-e.starty,iP(o,a)},yP=async function(t,e,n,i){const{boxMargin:r,boxTextMargin:a,labelBoxHeight:o,labelBoxWidth:s,messageFontFamily:c,messageFontSize:l,messageFontWeight:u}=i,h=t.append("g"),f=function(t,e,n,i){return h.append("line").attr("x1",t).attr("y1",e).attr("x2",n).attr("y2",i).attr("class","loopLine")};f(e.startx,e.starty,e.stopx,e.starty),f(e.stopx,e.starty,e.stopx,e.stopy),f(e.startx,e.stopy,e.stopx,e.stopy),f(e.startx,e.starty,e.startx,e.stopy),void 0!==e.sections&&e.sections.forEach((function(t){f(e.startx,t.y,e.stopx,t.y).style("stroke-dasharray","3, 3")}));let d={x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0};d.text=n,d.x=e.startx,d.y=e.starty,d.fontFamily=c,d.fontSize=l,d.fontWeight=u,d.anchor="middle",d.valign="middle",d.tspan=!1,d.width=s||50,d.height=o||20,d.textMargin=a,d.class="labelText",oP(h,d),d={x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0},d.text=e.title,d.x=e.startx+s/2+(e.stopx-e.startx)/2,d.y=e.starty+r+a,d.anchor="middle",d.valign="middle",d.textMargin=a,d.class="loopText",d.fontFamily=c,d.fontSize=l,d.fontWeight=u,d.wrap=!0;let g=Nc(d.text)?await rP(h,d,e):aP(h,d);if(void 0!==e.sectionTitles)for(const[t,n]of Object.entries(e.sectionTitles))if(n.message){d.text=n.message,d.x=e.startx+(e.stopx-e.startx)/2,d.y=e.sections[t].y+r+a,d.class="loopText",d.anchor="middle",d.valign="middle",d.tspan=!1,d.fontFamily=c,d.fontSize=l,d.fontWeight=u,d.wrap=e.wrap,Nc(d.text)?(e.starty=e.sections[t].y,await rP(h,d,e)):aP(h,d);let i=Math.round(g.map((t=>(t._groups||t)[0][0].getBBox().height)).reduce(((t,e)=>t+e)));e.sections[t].height+=i-(r+a)}return e.height=Math.round(e.stopy-e.starty),h},wP=lP,vP=function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},xP=function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},kP=function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},_P=function(t){t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},TP=function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},EP=function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},SP=function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")};f.sanitizeUrl;let CP={};const AP={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:function(){return Math.max.apply(null,0===this.actors.length?[0]:this.actors.map((t=>t.height||0)))+(0===this.loops.length?0:this.loops.map((t=>t.height||0)).reduce(((t,e)=>t+e)))+(0===this.messages.length?0:this.messages.map((t=>t.height||0)).reduce(((t,e)=>t+e)))+(0===this.notes.length?0:this.notes.map((t=>t.height||0)).reduce(((t,e)=>t+e)))},clear:function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},addBox:function(t){this.boxes.push(t)},addActor:function(t){this.actors.push(t)},addLoop:function(t){this.loops.push(t)},addMessage:function(t){this.messages.push(t)},addNote:function(t){this.notes.push(t)},lastActor:function(){return this.actors[this.actors.length-1]},lastLoop:function(){return this.loops[this.loops.length-1]},lastMessage:function(){return this.messages[this.messages.length-1]},lastNote:function(){return this.notes[this.notes.length-1]},actors:[],boxes:[],loops:[],messages:[],notes:[]},init:function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,RP(sg())},updateVal:function(t,e,n,i){void 0===t[e]?t[e]=n:t[e]=i(n,t[e])},updateBounds:function(t,e,n,i){const r=this;let a=0;function o(o){return function(s){a++;const c=r.sequenceItems.length-a+1;r.updateVal(s,"starty",e-c*CP.boxMargin,Math.min),r.updateVal(s,"stopy",i+c*CP.boxMargin,Math.max),r.updateVal(AP.data,"startx",t-c*CP.boxMargin,Math.min),r.updateVal(AP.data,"stopx",n+c*CP.boxMargin,Math.max),"activation"!==o&&(r.updateVal(s,"startx",t-c*CP.boxMargin,Math.min),r.updateVal(s,"stopx",n+c*CP.boxMargin,Math.max),r.updateVal(AP.data,"starty",e-c*CP.boxMargin,Math.min),r.updateVal(AP.data,"stopy",i+c*CP.boxMargin,Math.max))}}this.sequenceItems.forEach(o()),this.activations.forEach(o("activation"))},insert:function(t,e,n,i){const r=Bc.getMin(t,n),a=Bc.getMax(t,n),o=Bc.getMin(e,i),s=Bc.getMax(e,i);this.updateVal(AP.data,"startx",r,Math.min),this.updateVal(AP.data,"starty",o,Math.min),this.updateVal(AP.data,"stopx",a,Math.max),this.updateVal(AP.data,"stopy",s,Math.max),this.updateBounds(r,o,a,s)},newActivation:function(t,e,n){const i=n[t.from.actor],r=FP(t.from.actor).length||0,a=i.x+i.width/2+(r-1)*CP.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+CP.activationWidth,stopy:void 0,actor:t.from.actor,anchored:bP(e)})},endActivation:function(t){const e=this.activations.map((function(t){return t.actor})).lastIndexOf(t.from.actor);return this.activations.splice(e,1)[0]},createLoop:function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},newLoop:function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},endLoop:function(){return this.sequenceItems.pop()},isLoopOverlap:function(){return!!this.sequenceItems.length&&this.sequenceItems[this.sequenceItems.length-1].overlap},addSectionToLoop:function(t){const e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:AP.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},saveVerticalPos:function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},resetVerticalPos:function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=Bc.getMax(this.data.stopy,this.verticalPos)},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},MP=async function(t,e){AP.bumpVerticalPos(CP.boxMargin),e.height=CP.boxMargin,e.starty=AP.getVerticalPos();const n={x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0};n.x=e.startx,n.y=e.starty,n.width=e.width||CP.width,n.class="note";const i=t.append("g"),r=fP(i,n),a={x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0};a.x=e.startx,a.y=e.starty,a.width=n.width,a.dy="1em",a.text=e.message,a.class="noteText",a.fontFamily=CP.noteFontFamily,a.fontSize=CP.noteFontSize,a.fontWeight=CP.noteFontWeight,a.anchor=CP.noteAlign,a.textMargin=CP.noteMargin,a.valign="center";const o=Nc(a.text)?await rP(i,a):aP(i,a),s=Math.round(o.map((t=>(t._groups||t)[0][0].getBBox().height)).reduce(((t,e)=>t+e)));r.attr("height",s+2*CP.noteMargin),e.height+=s+2*CP.noteMargin,AP.bumpVerticalPos(s+2*CP.noteMargin),e.stopy=e.starty+s+2*CP.noteMargin,e.stopx=e.startx+n.width,AP.insert(e.startx,e.starty,e.stopx,e.stopy),AP.models.addNote(e)},LP=t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),IP=t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),OP=t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight});async function NP(t,e){AP.bumpVerticalPos(10);const{startx:n,stopx:i,message:r}=e,a=Bc.splitBreaks(r).length,o=Nc(r),s=o?await Dc(r,sg()):df.calculateTextDimensions(r,LP(CP));if(!o){const t=s.height/a;e.height+=t,AP.bumpVerticalPos(t)}let c,l=s.height-10;const u=s.width;if(n===i){c=AP.getVerticalPos()+l,CP.rightAngles||(l+=CP.boxMargin,c=AP.getVerticalPos()+l),l+=30;const t=Bc.getMax(u/2,CP.width/2);AP.insert(n-t,AP.getVerticalPos()-10+l,i+t,AP.getVerticalPos()+30+l)}else l+=CP.boxMargin,c=AP.getVerticalPos()+l,AP.insert(n,c-10,i,c);return AP.bumpVerticalPos(l),e.height+=l,e.stopy=e.starty+e.height,AP.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),c}const DP=async function(t,e,n,i){const{startx:r,stopx:a,starty:o,message:s,type:c,sequenceIndex:l,sequenceVisible:u}=e,h=df.calculateTextDimensions(s,LP(CP)),f={x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0};f.x=r,f.y=o+10,f.width=a-r,f.class="messageText",f.dy="1em",f.text=s,f.fontFamily=CP.messageFontFamily,f.fontSize=CP.messageFontSize,f.fontWeight=CP.messageFontWeight,f.anchor=CP.messageAlign,f.valign="center",f.textMargin=CP.wrapPadding,f.tspan=!1,Nc(f.text)?await rP(t,f,{startx:r,stopx:a,starty:n}):aP(t,f);const d=h.width;let g;r===a?g=CP.rightAngles?t.append("path").attr("d",`M ${r},${n} H ${r+Bc.getMax(CP.width/2,d/2)} V ${n+25} H ${r}`):t.append("path").attr("d","M "+r+","+n+" C "+(r+60)+","+(n-10)+" "+(r+60)+","+(n+30)+" "+r+","+(n+20)):(g=t.append("line"),g.attr("x1",r),g.attr("y1",n),g.attr("x2",a),g.attr("y2",n)),c===i.db.LINETYPE.DOTTED||c===i.db.LINETYPE.DOTTED_CROSS||c===i.db.LINETYPE.DOTTED_POINT||c===i.db.LINETYPE.DOTTED_OPEN?(g.style("stroke-dasharray","3, 3"),g.attr("class","messageLine1")):g.attr("class","messageLine0");let p="";CP.arrowMarkerAbsolute&&(p=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,p=p.replace(/\(/g,"\\("),p=p.replace(/\)/g,"\\)")),g.attr("stroke-width",2),g.attr("stroke","none"),g.style("fill","none"),(c===i.db.LINETYPE.SOLID||c===i.db.LINETYPE.DOTTED)&&g.attr("marker-end","url("+p+"#arrowhead)"),(c===i.db.LINETYPE.SOLID_POINT||c===i.db.LINETYPE.DOTTED_POINT)&&g.attr("marker-end","url("+p+"#filled-head)"),(c===i.db.LINETYPE.SOLID_CROSS||c===i.db.LINETYPE.DOTTED_CROSS)&&g.attr("marker-end","url("+p+"#crosshead)"),(u||CP.showSequenceNumbers)&&(g.attr("marker-start","url("+p+"#sequencenumber)"),t.append("text").attr("x",r).attr("y",n+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(l))},PP=async function(t,e,n,i){if(i){let i=0;AP.bumpVerticalPos(2*CP.boxMargin);for(const r of n){const n=e[r];n.stopy||(n.stopy=AP.getVerticalPos());const a=await dP(t,n,CP,!0);i=Bc.getMax(i,a)}AP.bumpVerticalPos(i+CP.boxMargin)}else for(const i of n){const n=e[i];await dP(t,n,CP,!1)}},BP=function(t,e,n,i){let r=0,a=0;for(const o of n){const n=e[o],s=qP(n),c=pP(t,n,s,CP,CP.forceMenus,i);c.height>r&&(r=c.height),c.width+n.x>a&&(a=c.width+n.x)}return{maxHeight:r,maxWidth:a}},RP=function(t){Al(CP,t),t.fontFamily&&(CP.actorFontFamily=CP.noteFontFamily=CP.messageFontFamily=t.fontFamily),t.fontSize&&(CP.actorFontSize=CP.noteFontSize=CP.messageFontSize=t.fontSize),t.fontWeight&&(CP.actorFontWeight=CP.noteFontWeight=CP.messageFontWeight=t.fontWeight)},FP=function(t){return AP.activations.filter((function(e){return e.actor===t}))},$P=function(t,e){const n=e[t],i=FP(t);return[i.reduce((function(t,e){return Bc.getMin(t,e.startx)}),n.x+n.width/2-1),i.reduce((function(t,e){return Bc.getMax(t,e.stopx)}),n.x+n.width/2+1)]};function jP(t,e,n,i,r){AP.bumpVerticalPos(n);let a=i;if(e.id&&e.message&&t[e.id]){const n=t[e.id].width,r=LP(CP);e.message=df.wrapLabel(`[${e.message}]`,n-2*CP.wrapPadding,r),e.width=n,e.wrap=!0;const o=df.calculateTextDimensions(e.message,r),s=Bc.getMax(o.height,CP.labelBoxHeight);a=i+s,l.debug(`${s} - ${e.message}`)}r(e),AP.bumpVerticalPos(a)}function zP(t,e,n,i,r,a,o){function s(n,i){n.x2,h=t=>s?-t:t;t.from===t.to?l=c:(t.activate&&!u&&(l+=h(CP.activationWidth/2-1)),[n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN].includes(t.type)||(l+=h(3)));const f=[i,r,a,o],d=Math.abs(c-l);t.wrap&&t.message&&(t.message=df.wrapLabel(t.message,Bc.getMax(d+2*CP.wrapPadding,CP.width),LP(CP)));const g=df.calculateTextDimensions(t.message,LP(CP));return{width:Bc.getMax(t.wrap?0:g.width+2*CP.wrapPadding,d+2*CP.wrapPadding,CP.width),height:0,startx:c,stopx:l,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,f),toBounds:Math.max.apply(null,f)}},GP=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:jD,db:tP,renderer:{bounds:AP,drawActors:PP,drawActorsPopup:BP,setConf:RP,draw:async function(t,e,n,i){const{securityLevel:r,sequence:a}=sg();let o;CP=a,"sandbox"===r&&(o=ee("#i"+e));const s=ee("sandbox"===r?o.nodes()[0].contentDocument.body:"body"),c="sandbox"===r?o.nodes()[0].contentDocument:document;AP.init(),l.debug(i.db);const u="sandbox"===r?s.select(`[id="${e}"]`):ee(`[id="${e}"]`),h=i.db.getActors(),f=i.db.getCreatedActors(),d=i.db.getDestroyedActors(),g=i.db.getBoxes();let p=i.db.getActorKeys();const b=i.db.getMessages(),m=i.db.getDiagramTitle(),y=i.db.hasAtLeastOneBox(),w=i.db.hasAtLeastOneBoxWithTitle(),v=await async function(t,e,n){const i={};for(const r of e)if(t[r.to]&&t[r.from]){const e=t[r.to];if(r.placement===n.db.PLACEMENT.LEFTOF&&!e.prevActor||r.placement===n.db.PLACEMENT.RIGHTOF&&!e.nextActor)continue;const a=void 0!==r.placement,o=!a,s=a?IP(CP):LP(CP),c=r.wrap?df.wrapLabel(r.message,CP.width-2*CP.wrapPadding,s):r.message,l=(Nc(c)?await Dc(r.message,sg()):df.calculateTextDimensions(c,s)).width+2*CP.wrapPadding;o&&r.from===e.nextActor?i[r.to]=Bc.getMax(i[r.to]||0,l):o&&r.from===e.prevActor?i[r.from]=Bc.getMax(i[r.from]||0,l):o&&r.from===r.to?(i[r.from]=Bc.getMax(i[r.from]||0,l/2),i[r.to]=Bc.getMax(i[r.to]||0,l/2)):r.placement===n.db.PLACEMENT.RIGHTOF?i[r.from]=Bc.getMax(i[r.from]||0,l):r.placement===n.db.PLACEMENT.LEFTOF?i[e.prevActor]=Bc.getMax(i[e.prevActor]||0,l):r.placement===n.db.PLACEMENT.OVER&&(e.prevActor&&(i[e.prevActor]=Bc.getMax(i[e.prevActor]||0,l/2)),e.nextActor&&(i[r.from]=Bc.getMax(i[r.from]||0,l/2)))}return l.debug("maxMessageWidthPerActor:",i),i}(h,b,i);if(CP.height=await async function(t,e,n){let i=0;for(const e of Object.keys(t)){const n=t[e];n.wrap&&(n.description=df.wrapLabel(n.description,CP.width-2*CP.wrapPadding,OP(CP)));const r=Nc(n.description)?await Dc(n.description,sg()):df.calculateTextDimensions(n.description,OP(CP));n.width=n.wrap?CP.width:Bc.getMax(CP.width,r.width+2*CP.wrapPadding),n.height=n.wrap?Bc.getMax(r.height,CP.height):CP.height,i=Bc.getMax(i,n.height)}for(const n in e){const i=t[n];if(!i)continue;const r=t[i.nextActor];if(!r){const t=e[n]+CP.actorMargin-i.width/2;i.margin=Bc.getMax(t,CP.actorMargin);continue}const a=e[n]+CP.actorMargin-i.width/2-r.width/2;i.margin=Bc.getMax(a,CP.actorMargin)}let r=0;return n.forEach((e=>{const n=LP(CP);let i=e.actorKeys.reduce(((e,n)=>e+(t[n].width+(t[n].margin||0))),0);i-=2*CP.boxTextMargin,e.wrap&&(e.name=df.wrapLabel(e.name,i-2*CP.wrapPadding,n));const a=df.calculateTextDimensions(e.name,n);r=Bc.getMax(a.height,r);const o=Bc.getMax(i,a.width+2*CP.wrapPadding);if(e.margin=CP.boxTextMargin,it.textMaxHeight=r)),Bc.getMax(i,CP.height)}(h,v,g),EP(u),TP(u),SP(u),y&&(AP.bumpVerticalPos(CP.boxMargin),w&&AP.bumpVerticalPos(g[0].textMaxHeight)),!0===CP.hideUnusedParticipants){const t=new Set;b.forEach((e=>{t.add(e.from),t.add(e.to)})),p=p.filter((e=>t.has(e)))}await async function(t,e,n,i,r,a,o){let s,c=0,l=0,u=0;for(const t of i){const i=e[t],r=i.box;s&&s!=r&&(AP.models.addBox(s),l+=CP.boxMargin+s.margin),r&&r!=s&&(r.x=c+l,r.y=0,l+=r.margin),i.width=i.width||CP.width,i.height=Bc.getMax(i.height||CP.height,CP.height),i.margin=i.margin||CP.actorMargin,u=Bc.getMax(u,i.height),n[i.name]&&(l+=i.width/2),i.x=c+l,i.starty=AP.getVerticalPos(),AP.insert(i.x,0,i.x+i.width,i.height),c+=i.width+l,i.box&&(i.box.width=c+r.margin-i.box.x),l=i.margin,s=i.box,AP.models.addActor(i)}s&&AP.models.addBox(s),AP.bumpVerticalPos(u)}(0,h,f,p);const x=await async function(t,e,n,i){const r={},a=[];let o,s,c;for(const n of t){switch(n.id=df.random({length:10}),n.type){case i.db.LINETYPE.LOOP_START:case i.db.LINETYPE.ALT_START:case i.db.LINETYPE.OPT_START:case i.db.LINETYPE.PAR_START:case i.db.LINETYPE.PAR_OVER_START:case i.db.LINETYPE.CRITICAL_START:case i.db.LINETYPE.BREAK_START:a.push({id:n.id,msg:n.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case i.db.LINETYPE.ALT_ELSE:case i.db.LINETYPE.PAR_AND:case i.db.LINETYPE.CRITICAL_OPTION:n.message&&(o=a.pop(),r[o.id]=o,r[n.id]=o,a.push(o));break;case i.db.LINETYPE.LOOP_END:case i.db.LINETYPE.ALT_END:case i.db.LINETYPE.OPT_END:case i.db.LINETYPE.PAR_END:case i.db.LINETYPE.CRITICAL_END:case i.db.LINETYPE.BREAK_END:o=a.pop(),r[o.id]=o;break;case i.db.LINETYPE.ACTIVE_START:{const t=e[n.from?n.from.actor:n.to.actor],i=FP(n.from?n.from.actor:n.to.actor).length,r=t.x+t.width/2+(i-1)*CP.activationWidth/2,a={startx:r,stopx:r+CP.activationWidth,actor:n.from.actor,enabled:!0};AP.activations.push(a)}break;case i.db.LINETYPE.ACTIVE_END:{const t=AP.activations.map((t=>t.actor)).lastIndexOf(n.from.actor);delete AP.activations.splice(t,1)[0]}}void 0!==n.placement?(s=await HP(n,e,i),n.noteModel=s,a.forEach((t=>{o=t,o.from=Bc.getMin(o.from,s.startx),o.to=Bc.getMax(o.to,s.startx+s.width),o.width=Bc.getMax(o.width,Math.abs(o.from-o.to))-CP.labelBoxWidth}))):(c=UP(n,e,i),n.msgModel=c,c.startx&&c.stopx&&a.length>0&&a.forEach((t=>{if(o=t,c.startx===c.stopx){const t=e[n.from],i=e[n.to];o.from=Bc.getMin(t.x-c.width/2,t.x-t.width/2,o.from),o.to=Bc.getMax(i.x+c.width/2,i.x+t.width/2,o.to),o.width=Bc.getMax(o.width,Math.abs(o.to-o.from))-CP.labelBoxWidth}else o.from=Bc.getMin(c.startx,o.from),o.to=Bc.getMax(c.stopx,o.to),o.width=Bc.getMax(o.width,c.width)-CP.labelBoxWidth})))}return AP.activations=[],l.debug("Loop type widths:",r),r}(b,h,0,i);function k(t,e){const n=AP.endActivation(t);n.starty+18>e&&(n.starty=e-6,e+=12),mP(u,n,e,CP,FP(t.from.actor).length),AP.insert(n.startx,e-10,n.stopx,e)}vP(u),_P(u),xP(u),kP(u);let _=1,T=1;const E=[],S=[];let C=0;for(const t of b){let e,n,r;switch(t.type){case i.db.LINETYPE.NOTE:AP.resetVerticalPos(),n=t.noteModel,await MP(u,n);break;case i.db.LINETYPE.ACTIVE_START:AP.newActivation(t,u,h);break;case i.db.LINETYPE.ACTIVE_END:k(t,AP.getVerticalPos());break;case i.db.LINETYPE.LOOP_START:jP(x,t,CP.boxMargin,CP.boxMargin+CP.boxTextMargin,(t=>AP.newLoop(t)));break;case i.db.LINETYPE.LOOP_END:e=AP.endLoop(),await yP(u,e,"loop",CP),AP.bumpVerticalPos(e.stopy-AP.getVerticalPos()),AP.models.addLoop(e);break;case i.db.LINETYPE.RECT_START:jP(x,t,CP.boxMargin,CP.boxMargin,(t=>AP.newLoop(void 0,t.message)));break;case i.db.LINETYPE.RECT_END:e=AP.endLoop(),S.push(e),AP.models.addLoop(e),AP.bumpVerticalPos(e.stopy-AP.getVerticalPos());break;case i.db.LINETYPE.OPT_START:jP(x,t,CP.boxMargin,CP.boxMargin+CP.boxTextMargin,(t=>AP.newLoop(t)));break;case i.db.LINETYPE.OPT_END:e=AP.endLoop(),await yP(u,e,"opt",CP),AP.bumpVerticalPos(e.stopy-AP.getVerticalPos()),AP.models.addLoop(e);break;case i.db.LINETYPE.ALT_START:jP(x,t,CP.boxMargin,CP.boxMargin+CP.boxTextMargin,(t=>AP.newLoop(t)));break;case i.db.LINETYPE.ALT_ELSE:jP(x,t,CP.boxMargin+CP.boxTextMargin,CP.boxMargin,(t=>AP.addSectionToLoop(t)));break;case i.db.LINETYPE.ALT_END:e=AP.endLoop(),await yP(u,e,"alt",CP),AP.bumpVerticalPos(e.stopy-AP.getVerticalPos()),AP.models.addLoop(e);break;case i.db.LINETYPE.PAR_START:case i.db.LINETYPE.PAR_OVER_START:jP(x,t,CP.boxMargin,CP.boxMargin+CP.boxTextMargin,(t=>AP.newLoop(t))),AP.saveVerticalPos();break;case i.db.LINETYPE.PAR_AND:jP(x,t,CP.boxMargin+CP.boxTextMargin,CP.boxMargin,(t=>AP.addSectionToLoop(t)));break;case i.db.LINETYPE.PAR_END:e=AP.endLoop(),await yP(u,e,"par",CP),AP.bumpVerticalPos(e.stopy-AP.getVerticalPos()),AP.models.addLoop(e);break;case i.db.LINETYPE.AUTONUMBER:_=t.message.start||_,T=t.message.step||T,t.message.visible?i.db.enableSequenceNumbers():i.db.disableSequenceNumbers();break;case i.db.LINETYPE.CRITICAL_START:jP(x,t,CP.boxMargin,CP.boxMargin+CP.boxTextMargin,(t=>AP.newLoop(t)));break;case i.db.LINETYPE.CRITICAL_OPTION:jP(x,t,CP.boxMargin+CP.boxTextMargin,CP.boxMargin,(t=>AP.addSectionToLoop(t)));break;case i.db.LINETYPE.CRITICAL_END:e=AP.endLoop(),await yP(u,e,"critical",CP),AP.bumpVerticalPos(e.stopy-AP.getVerticalPos()),AP.models.addLoop(e);break;case i.db.LINETYPE.BREAK_START:jP(x,t,CP.boxMargin,CP.boxMargin+CP.boxTextMargin,(t=>AP.newLoop(t)));break;case i.db.LINETYPE.BREAK_END:e=AP.endLoop(),await yP(u,e,"break",CP),AP.bumpVerticalPos(e.stopy-AP.getVerticalPos()),AP.models.addLoop(e);break;default:try{r=t.msgModel,r.starty=AP.getVerticalPos(),r.sequenceIndex=_,r.sequenceVisible=i.db.showSequenceNumbers();const e=await NP(0,r);zP(t,r,e,C,h,f,d),E.push({messageModel:r,lineStartY:e}),AP.models.addMessage(r)}catch(t){l.error("error while drawing message",t)}}[i.db.LINETYPE.SOLID_OPEN,i.db.LINETYPE.DOTTED_OPEN,i.db.LINETYPE.SOLID,i.db.LINETYPE.DOTTED,i.db.LINETYPE.SOLID_CROSS,i.db.LINETYPE.DOTTED_CROSS,i.db.LINETYPE.SOLID_POINT,i.db.LINETYPE.DOTTED_POINT].includes(t.type)&&(_+=T),C++}l.debug("createdActors",f),l.debug("destroyedActors",d),await PP(u,h,p,!1);for(const t of E)await DP(u,t.messageModel,t.lineStartY,i);CP.mirrorActors&&await PP(u,h,p,!0),S.forEach((t=>wP(u,t))),cP(u,h,p,CP);for(const t of AP.models.boxes)t.height=AP.getVerticalPos()-t.y,AP.insert(t.x,t.y,t.x+t.width,t.height),t.startx=t.x,t.starty=t.y,t.stopx=t.startx+t.width,t.stopy=t.starty+t.height,t.stroke="rgb(0,0,0, 0.5)",await gP(u,t,CP);y&&AP.bumpVerticalPos(CP.boxMargin);const A=BP(u,h,p,c),{bounds:M}=AP.getBounds();let L=M.stopy-M.starty;L`.actor {\n stroke: ${t.actorBorder};\n fill: ${t.actorBkg};\n }\n\n text.actor > tspan {\n fill: ${t.actorTextColor};\n stroke: none;\n }\n\n .actor-line {\n stroke: ${t.actorLineColor};\n }\n\n .messageLine0 {\n stroke-width: 1.5;\n stroke-dasharray: none;\n stroke: ${t.signalColor};\n }\n\n .messageLine1 {\n stroke-width: 1.5;\n stroke-dasharray: 2, 2;\n stroke: ${t.signalColor};\n }\n\n #arrowhead path {\n fill: ${t.signalColor};\n stroke: ${t.signalColor};\n }\n\n .sequenceNumber {\n fill: ${t.sequenceNumberColor};\n }\n\n #sequencenumber {\n fill: ${t.signalColor};\n }\n\n #crosshead path {\n fill: ${t.signalColor};\n stroke: ${t.signalColor};\n }\n\n .messageText {\n fill: ${t.signalTextColor};\n stroke: none;\n }\n\n .labelBox {\n stroke: ${t.labelBoxBorderColor};\n fill: ${t.labelBoxBkgColor};\n }\n\n .labelText, .labelText > tspan {\n fill: ${t.labelTextColor};\n stroke: none;\n }\n\n .loopText, .loopText > tspan {\n fill: ${t.loopTextColor};\n stroke: none;\n }\n\n .loopLine {\n stroke-width: 2px;\n stroke-dasharray: 2, 2;\n stroke: ${t.labelBoxBorderColor};\n fill: ${t.labelBoxBorderColor};\n }\n\n .note {\n //stroke: #decc93;\n stroke: ${t.noteBorderColor};\n fill: ${t.noteBkgColor};\n }\n\n .noteText, .noteText > tspan {\n fill: ${t.noteTextColor};\n stroke: none;\n }\n\n .activation0 {\n fill: ${t.activationBkgColor};\n stroke: ${t.activationBorderColor};\n }\n\n .activation1 {\n fill: ${t.activationBkgColor};\n stroke: ${t.activationBorderColor};\n }\n\n .activation2 {\n fill: ${t.activationBkgColor};\n stroke: ${t.activationBorderColor};\n }\n\n .actorPopupMenu {\n position: absolute;\n }\n\n .actorPopupMenuPanel {\n position: absolute;\n fill: ${t.actorBkg};\n box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);\n filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));\n}\n .actor-man line {\n stroke: ${t.actorBorder};\n fill: ${t.actorBkg};\n }\n .actor-man circle, line {\n stroke: ${t.actorBorder};\n fill: ${t.actorBkg};\n stroke-width: 2px;\n }\n`,init:({wrap:t})=>{tP.setWrap(t)}}},Symbol.toStringTag,{value:"Module"}));var KP=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[1,17],n=[1,18],i=[1,19],r=[1,39],a=[1,40],o=[1,25],s=[1,23],c=[1,24],l=[1,31],u=[1,32],h=[1,33],f=[1,34],d=[1,35],g=[1,36],p=[1,26],b=[1,27],m=[1,28],y=[1,29],w=[1,43],v=[1,30],x=[1,42],k=[1,44],_=[1,41],T=[1,45],E=[1,9],S=[1,8,9],C=[1,56],A=[1,57],M=[1,58],L=[1,59],I=[1,60],O=[1,61],N=[1,62],D=[1,8,9,39],P=[1,74],B=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],R=[1,8,9,12,13,19,21,37,39,42,46,59,60,61,62,63,64,65,70,72,74,80,95,97,98],F=[13,74,80,95,97,98],$=[13,64,65,74,80,95,97,98],j=[13,59,60,61,62,63,74,80,95,97,98],z=[1,93],q=[1,110],H=[1,108],U=[1,102],G=[1,103],K=[1,104],Y=[1,105],V=[1,106],W=[1,107],X=[1,109],Q=[1,8,9,37,39,42],Z=[1,8,9,21],J=[1,8,9,78],tt=[1,8,9,21,73,74,78,80,81,82,83,84,85],et={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,styleStatement:27,cssClassStatement:28,noteStatement:29,direction:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,namespaceIdentifier:36,STRUCT_START:37,classStatements:38,STRUCT_STOP:39,NAMESPACE:40,classIdentifier:41,STYLE_SEPARATOR:42,members:43,CLASS:44,ANNOTATION_START:45,ANNOTATION_END:46,MEMBER:47,SEPARATOR:48,relation:49,NOTE_FOR:50,noteText:51,NOTE:52,direction_tb:53,direction_bt:54,direction_rl:55,direction_lr:56,relationType:57,lineType:58,AGGREGATION:59,EXTENSION:60,COMPOSITION:61,DEPENDENCY:62,LOLLIPOP:63,LINE:64,DOTTED_LINE:65,CALLBACK:66,LINK:67,LINK_TARGET:68,CLICK:69,CALLBACK_NAME:70,CALLBACK_ARGS:71,HREF:72,STYLE:73,ALPHA:74,stylesOpt:75,CSSCLASS:76,style:77,COMMA:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,commentToken:86,textToken:87,graphCodeTokens:88,textNoTagsToken:89,TAGSTART:90,TAGEND:91,"==":92,"--":93,DEFAULT:94,MINUS:95,keywords:96,UNICODE_TEXT:97,BQUOTE_STR:98,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",37:"STRUCT_START",39:"STRUCT_STOP",40:"NAMESPACE",42:"STYLE_SEPARATOR",44:"CLASS",45:"ANNOTATION_START",46:"ANNOTATION_END",47:"MEMBER",48:"SEPARATOR",50:"NOTE_FOR",52:"NOTE",53:"direction_tb",54:"direction_bt",55:"direction_rl",56:"direction_lr",59:"AGGREGATION",60:"EXTENSION",61:"COMPOSITION",62:"DEPENDENCY",63:"LOLLIPOP",64:"LINE",65:"DOTTED_LINE",66:"CALLBACK",67:"LINK",68:"LINK_TARGET",69:"CLICK",70:"CALLBACK_NAME",71:"CALLBACK_ARGS",72:"HREF",73:"STYLE",74:"ALPHA",76:"CSSCLASS",78:"COMMA",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",88:"graphCodeTokens",90:"TAGSTART",91:"TAGEND",92:"==",93:"--",94:"DEFAULT",95:"MINUS",96:"keywords",97:"UNICODE_TEXT",98:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[36,2],[38,1],[38,2],[38,3],[23,1],[23,3],[23,4],[23,6],[41,2],[41,3],[25,4],[43,1],[43,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[29,3],[29,2],[30,1],[30,1],[30,1],[30,1],[49,3],[49,2],[49,2],[49,1],[57,1],[57,1],[57,1],[57,1],[57,1],[58,1],[58,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[28,3],[75,1],[75,3],[77,1],[77,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[86,1],[86,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[89,1],[89,1],[89,1],[89,1],[16,1],[16,1],[16,1],[16,1],[18,1],[51,1]],performAction:function(t,e,n,i,r,a,o){var s=a.length-1;switch(r){case 8:this.$=a[s-1];break;case 9:case 11:case 12:this.$=a[s];break;case 10:case 13:case 89:this.$=a[s-1]+a[s];break;case 14:case 15:this.$=a[s-1]+"~"+a[s]+"~";break;case 16:i.addRelation(a[s]);break;case 17:a[s-1].title=i.cleanupLabel(a[s]),i.addRelation(a[s-1]);break;case 27:this.$=a[s].trim(),i.setAccTitle(this.$);break;case 28:case 29:this.$=a[s].trim(),i.setAccDescription(this.$);break;case 30:i.addClassesToNamespace(a[s-3],a[s-1]);break;case 31:i.addClassesToNamespace(a[s-4],a[s-1]);break;case 32:this.$=a[s],i.addNamespace(a[s]);break;case 33:case 43:case 86:this.$=[a[s]];break;case 34:this.$=[a[s-1]];break;case 35:a[s].unshift(a[s-2]),this.$=a[s];break;case 37:i.setCssClass(a[s-2],a[s]);break;case 38:i.addMembers(a[s-3],a[s-1]);break;case 39:i.setCssClass(a[s-5],a[s-3]),i.addMembers(a[s-5],a[s-1]);break;case 40:this.$=a[s],i.addClass(a[s]);break;case 41:this.$=a[s-1],i.addClass(a[s-1]),i.setClassLabel(a[s-1],a[s]);break;case 42:i.addAnnotation(a[s],a[s-2]);break;case 44:a[s].push(a[s-1]),this.$=a[s];break;case 45:case 47:case 48:break;case 46:i.addMember(a[s-1],i.cleanupLabel(a[s]));break;case 49:this.$={id1:a[s-2],id2:a[s],relation:a[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:a[s-3],id2:a[s],relation:a[s-1],relationTitle1:a[s-2],relationTitle2:"none"};break;case 51:this.$={id1:a[s-3],id2:a[s],relation:a[s-2],relationTitle1:"none",relationTitle2:a[s-1]};break;case 52:this.$={id1:a[s-4],id2:a[s],relation:a[s-2],relationTitle1:a[s-3],relationTitle2:a[s-1]};break;case 53:i.addNote(a[s],a[s-1]);break;case 54:i.addNote(a[s]);break;case 55:i.setDirection("TB");break;case 56:i.setDirection("BT");break;case 57:i.setDirection("RL");break;case 58:i.setDirection("LR");break;case 59:this.$={type1:a[s-2],type2:a[s],lineType:a[s-1]};break;case 60:this.$={type1:"none",type2:a[s],lineType:a[s-1]};break;case 61:this.$={type1:a[s-1],type2:"none",lineType:a[s]};break;case 62:this.$={type1:"none",type2:"none",lineType:a[s]};break;case 63:this.$=i.relationType.AGGREGATION;break;case 64:this.$=i.relationType.EXTENSION;break;case 65:this.$=i.relationType.COMPOSITION;break;case 66:this.$=i.relationType.DEPENDENCY;break;case 67:this.$=i.relationType.LOLLIPOP;break;case 68:this.$=i.lineType.LINE;break;case 69:this.$=i.lineType.DOTTED_LINE;break;case 70:case 76:this.$=a[s-2],i.setClickEvent(a[s-1],a[s]);break;case 71:case 77:this.$=a[s-3],i.setClickEvent(a[s-2],a[s-1]),i.setTooltip(a[s-2],a[s]);break;case 72:this.$=a[s-2],i.setLink(a[s-1],a[s]);break;case 73:this.$=a[s-3],i.setLink(a[s-2],a[s-1],a[s]);break;case 74:this.$=a[s-3],i.setLink(a[s-2],a[s-1]),i.setTooltip(a[s-2],a[s]);break;case 75:this.$=a[s-4],i.setLink(a[s-3],a[s-2],a[s]),i.setTooltip(a[s-3],a[s-1]);break;case 78:this.$=a[s-3],i.setClickEvent(a[s-2],a[s-1],a[s]);break;case 79:this.$=a[s-4],i.setClickEvent(a[s-3],a[s-2],a[s-1]),i.setTooltip(a[s-3],a[s]);break;case 80:this.$=a[s-3],i.setLink(a[s-2],a[s]);break;case 81:this.$=a[s-4],i.setLink(a[s-3],a[s-1],a[s]);break;case 82:this.$=a[s-4],i.setLink(a[s-3],a[s-1]),i.setTooltip(a[s-3],a[s]);break;case 83:this.$=a[s-5],i.setLink(a[s-4],a[s-2],a[s]),i.setTooltip(a[s-4],a[s-1]);break;case 84:this.$=a[s-2],i.setCssStyle(a[s-1],a[s]);break;case 85:i.setCssClass(a[s-1],a[s]);break;case 87:a[s-2].push(a[s]),this.$=a[s-2]}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:e,33:n,35:i,36:21,40:r,41:22,44:a,45:o,47:s,48:c,50:l,52:u,53:h,54:f,55:d,56:g,66:p,67:b,69:m,73:y,74:w,76:v,80:x,95:k,97:_,98:T},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(E,[2,5],{8:[1,46]}),{8:[1,47]},t(S,[2,16],{21:[1,48]}),t(S,[2,18]),t(S,[2,19]),t(S,[2,20]),t(S,[2,21]),t(S,[2,22]),t(S,[2,23]),t(S,[2,24]),t(S,[2,25]),t(S,[2,26]),{32:[1,49]},{34:[1,50]},t(S,[2,29]),t(S,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:C,60:A,61:M,62:L,63:I,64:O,65:N}),{37:[1,63]},t(D,[2,36],{37:[1,65],42:[1,64]}),t(S,[2,47]),t(S,[2,48]),{16:66,74:w,80:x,95:k,97:_},{16:37,17:67,18:38,74:w,80:x,95:k,97:_,98:T},{16:37,17:68,18:38,74:w,80:x,95:k,97:_,98:T},{16:37,17:69,18:38,74:w,80:x,95:k,97:_,98:T},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:w,80:x,95:k,97:_,98:T},{13:P,51:73},t(S,[2,55]),t(S,[2,56]),t(S,[2,57]),t(S,[2,58]),t(B,[2,11],{16:37,18:38,17:75,19:[1,76],74:w,80:x,95:k,97:_,98:T}),t(B,[2,12],{19:[1,77]}),{15:78,16:79,74:w,80:x,95:k,97:_},{16:37,17:80,18:38,74:w,80:x,95:k,97:_,98:T},t(R,[2,112]),t(R,[2,113]),t(R,[2,114]),t(R,[2,115]),t([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),t(E,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,17:20,36:21,41:22,16:37,18:38,5:81,31:e,33:n,35:i,40:r,44:a,45:o,47:s,48:c,50:l,52:u,53:h,54:f,55:d,56:g,66:p,67:b,69:m,73:y,74:w,76:v,80:x,95:k,97:_,98:T}),{5:82,10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:e,33:n,35:i,36:21,40:r,41:22,44:a,45:o,47:s,48:c,50:l,52:u,53:h,54:f,55:d,56:g,66:p,67:b,69:m,73:y,74:w,76:v,80:x,95:k,97:_,98:T},t(S,[2,17]),t(S,[2,27]),t(S,[2,28]),{13:[1,84],16:37,17:83,18:38,74:w,80:x,95:k,97:_,98:T},{49:85,57:54,58:55,59:C,60:A,61:M,62:L,63:I,64:O,65:N},t(S,[2,46]),{58:86,64:O,65:N},t(F,[2,62],{57:87,59:C,60:A,61:M,62:L,63:I}),t($,[2,63]),t($,[2,64]),t($,[2,65]),t($,[2,66]),t($,[2,67]),t(j,[2,68]),t(j,[2,69]),{8:[1,89],23:90,38:88,41:22,44:a},{16:91,74:w,80:x,95:k,97:_},{43:92,47:z},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:q,73:H,74:U,75:99,77:100,79:101,80:G,81:K,82:Y,83:V,84:W,85:X},{74:[1,111]},{13:P,51:112},t(S,[2,54]),t(S,[2,117]),t(B,[2,13]),t(B,[2,14]),t(B,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:w,80:x,95:k,97:_},t(Q,[2,40],{11:114,12:[1,115]}),t(E,[2,7]),{9:[1,116]},t(Z,[2,49]),{16:37,17:117,18:38,74:w,80:x,95:k,97:_,98:T},{13:[1,119],16:37,17:118,18:38,74:w,80:x,95:k,97:_,98:T},t(F,[2,61],{57:120,59:C,60:A,61:M,62:L,63:I}),t(F,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:a},{8:[1,123],39:[2,33]},t(D,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:z},{16:37,17:127,18:38,74:w,80:x,95:k,97:_,98:T},t(S,[2,70],{13:[1,128]}),t(S,[2,72],{13:[1,130],68:[1,129]}),t(S,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},t(S,[2,84],{78:[1,134]}),t(J,[2,86],{79:135,21:q,73:H,74:U,80:G,81:K,82:Y,83:V,84:W,85:X}),t(tt,[2,88]),t(tt,[2,90]),t(tt,[2,91]),t(tt,[2,92]),t(tt,[2,93]),t(tt,[2,94]),t(tt,[2,95]),t(tt,[2,96]),t(tt,[2,97]),t(tt,[2,98]),t(S,[2,85]),t(S,[2,53]),{37:[2,10]},t(Q,[2,41]),{13:[1,136]},{1:[2,4]},t(Z,[2,51]),t(Z,[2,50]),{16:37,17:137,18:38,74:w,80:x,95:k,97:_,98:T},t(F,[2,59]),t(S,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:a},{43:140,47:z},t(D,[2,38]),{39:[2,44]},t(S,[2,42]),t(S,[2,71]),t(S,[2,73]),t(S,[2,74],{68:[1,141]}),t(S,[2,77]),t(S,[2,78],{13:[1,142]}),t(S,[2,80],{13:[1,144],68:[1,143]}),{21:q,73:H,74:U,77:145,79:101,80:G,81:K,82:Y,83:V,84:W,85:X},t(tt,[2,89]),{14:[1,146]},t(Z,[2,52]),t(S,[2,31]),{39:[2,35]},{39:[1,147]},t(S,[2,75]),t(S,[2,79]),t(S,[2,81]),t(S,[2,82],{68:[1,148]}),t(J,[2,87],{79:135,21:q,73:H,74:U,80:G,81:K,82:Y,83:V,84:W,85:X}),t(Q,[2,8]),t(D,[2,39]),t(S,[2,83])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],78:[2,32],113:[2,10],116:[2,4],126:[2,44],139:[2,35]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=[0],n=[],i=[null],r=[],a=this.table,o="",s=0,c=0,l=r.slice.call(arguments,1),u=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);u.setInput(t,h.yy),h.yy.lexer=u,h.yy.parser=this,typeof u.yylloc>"u"&&(u.yylloc={});var d=u.yylloc;r.push(d);var g,p=u.options&&u.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,m,y,w,v,x,k,_,T={};;){if(m=e[e.length-1],this.defaultActions[m]?y=this.defaultActions[m]:((null===b||typeof b>"u")&&(g=void 0,"number"!=typeof(g=n.pop()||u.lex()||1)&&(g instanceof Array&&(g=(n=g).pop()),g=this.symbols_[g]||g),b=g),y=a[m]&&a[m][b]),typeof y>"u"||!y.length||!y[0]){var E;for(v in _=[],a[m])this.terminals_[v]&&v>2&&_.push("'"+this.terminals_[v]+"'");E=u.showPosition?"Parse error on line "+(s+1)+":\n"+u.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(E,{text:u.match,token:this.terminals_[b]||b,line:u.yylineno,loc:d,expected:_})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+b);switch(y[0]){case 1:e.push(b),i.push(u.yytext),r.push(u.yylloc),e.push(y[1]),b=null,c=u.yyleng,o=u.yytext,s=u.yylineno,d=u.yylloc;break;case 2:if(x=this.productions_[y[1]][1],T.$=i[i.length-x],T._$={first_line:r[r.length-(x||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(x||1)].first_column,last_column:r[r.length-1].last_column},p&&(T._$.range=[r[r.length-(x||1)].range[0],r[r.length-1].range[1]]),typeof(w=this.performAction.apply(T,[o,c,s,h.yy,y[1],i,r].concat(l)))<"u")return w;x&&(e=e.slice(0,-1*x*2),i=i.slice(0,-1*x),r=r.slice(0,-1*x)),e.push(this.productions_[y[1]][0]),i.push(T.$),r.push(T._$),k=a[e[e.length-2]][e[e.length-1]],e.push(k);break;case 3:return!0}}return!0}},nt={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,n,i){switch(n){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:case 5:case 14:case 30:case 35:case 39:case 46:break;case 6:return this.begin("acc_title"),31;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),33;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 19:case 22:case 24:case 57:case 60:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 34:return 8;case 15:case 16:return 7;case 17:case 36:case 44:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 70;case 23:return 71;case 25:return"STR";case 26:this.begin("string");break;case 27:return 73;case 28:return this.begin("namespace"),40;case 29:case 38:return this.popState(),8;case 31:return this.begin("namespace-body"),37;case 32:case 42:return this.popState(),39;case 33:case 43:return"EOF_IN_STRUCT";case 37:return this.begin("class"),44;case 40:return this.popState(),this.popState(),39;case 41:return this.begin("class-body"),37;case 45:return"OPEN_IN_STRUCT";case 47:return"MEMBER";case 48:return 76;case 49:return 66;case 50:return 67;case 51:return 69;case 52:return 50;case 53:return 52;case 54:return 45;case 55:return 46;case 56:return 72;case 58:return"GENERICTYPE";case 59:this.begin("generic");break;case 61:return"BQUOTE_STR";case 62:this.begin("bqstring");break;case 63:case 64:case 65:case 66:return 68;case 67:case 68:return 60;case 69:case 70:return 62;case 71:return 61;case 72:return 59;case 73:return 63;case 74:return 64;case 75:return 65;case 76:return 21;case 77:return 42;case 78:return 95;case 79:return"DOT";case 80:return"PLUS";case 81:return 81;case 82:return 78;case 83:case 84:return 84;case 85:return 85;case 86:case 87:return"EQUALS";case 88:return 74;case 89:return 12;case 90:return 14;case 91:return"PUNCTUATION";case 92:return 80;case 93:return 97;case 94:case 95:return 83;case 96:return 9}},rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,32,33,34,35,36,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},namespace:{rules:[26,28,29,30,31,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},"class-body":{rules:[26,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},class:{rules:[26,38,39,40,41,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr:{rules:[9,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_title:{rules:[7,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_args:{rules:[22,23,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_name:{rules:[19,20,21,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},href:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},struct:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},generic:{rules:[26,48,49,50,51,52,53,54,55,56,57,58,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},bqstring:{rules:[26,48,49,50,51,52,53,54,55,56,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},string:{rules:[24,25,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96],inclusive:!0}}};function it(){this.yy={}}return et.lexer=nt,it.prototype=et,et.Parser=it,new it}();KP.parser=KP;const YP=KP,VP=["#","+","~","-",""];class WP{constructor(t,e){this.memberType=e,this.visibility="",this.classifier="";const n=_c(t,sg());this.parseMember(n)}getDisplayDetails(){let t=this.visibility+Cc(this.id);return"method"===this.memberType&&(t+=`(${Cc(this.parameters.trim())})`,this.returnType&&(t+=" : "+Cc(this.returnType))),t=t.trim(),{displayText:t,cssStyle:this.parseClassifier()}}parseMember(t){let e="";if("method"===this.memberType){const n=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/,i=t.match(n);if(i){const t=i[1]?i[1].trim():"";if(VP.includes(t)&&(this.visibility=t),this.id=i[2].trim(),this.parameters=i[3]?i[3].trim():"",e=i[4]?i[4].trim():"",this.returnType=i[5]?i[5].trim():"",""===e){const t=this.returnType.substring(this.returnType.length-1);t.match(/[$*]/)&&(e=t,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const n=t.length,i=t.substring(0,1),r=t.substring(n-1);VP.includes(i)&&(this.visibility=i),r.match(/[$*]/)&&(e=r),this.id=t.substring(""===this.visibility?0:1,""===e?n:n-1)}this.classifier=e}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}const XP="classId-";let QP=[],ZP={},JP=[],tB=0,eB={},nB=0,iB=[];const rB=t=>Bc.sanitizeText(t,sg()),aB=function(t){const e=Bc.sanitizeText(t,sg());let n="",i=e;if(e.indexOf("~")>0){const t=e.split("~");i=rB(t[0]),n=rB(t[1])}return{className:i,type:n}},oB=function(t){const e=Bc.sanitizeText(t,sg()),{className:n,type:i}=aB(e);if(Object.hasOwn(ZP,n))return;const r=Bc.sanitizeText(n,sg());ZP[r]={id:r,type:i,label:r,cssClasses:[],methods:[],members:[],annotations:[],styles:[],domId:XP+r+"-"+tB},tB++},sB=function(t){const e=Bc.sanitizeText(t,sg());if(e in ZP)return ZP[e].domId;throw new Error("Class not found: "+e)},cB=function(t,e){oB(t);const n=aB(t).className,i=ZP[n];if("string"==typeof e){const t=e.trim();t.startsWith("<<")&&t.endsWith(">>")?i.annotations.push(rB(t.substring(2,t.length-2))):t.indexOf(")")>0?i.methods.push(new WP(t,"method")):t&&i.members.push(new WP(t,"attribute"))}},lB=function(t,e){t.split(",").forEach((function(t){let n=t;t[0].match(/\d/)&&(n=XP+n),void 0!==ZP[n]&&ZP[n].cssClasses.push(e)}))},uB=function(t){let e=ee(".mermaidTooltip");null===(e._groups||e)[0][0]&&(e=ee("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),ee(t).select("svg").selectAll("g.node").on("mouseover",(function(){const t=ee(this);if(null===t.attr("title"))return;const n=this.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.text(t.attr("title")).style("left",window.scrollX+n.left+(n.right-n.left)/2+"px").style("top",window.scrollY+n.top-14+document.body.scrollTop+"px"),e.html(e.html().replace(/<br\/>/g,"
")),t.classed("hover",!0)})).on("mouseout",(function(){e.transition().duration(500).style("opacity",0),ee(this).classed("hover",!1)}))};iB.push(uB);let hB="TB";const fB={setAccTitle:Zd,getAccTitle:Jd,getAccDescription:eg,setAccDescription:tg,getConfig:()=>sg().class,addClass:oB,bindFunctions:function(t){iB.forEach((function(e){e(t)}))},clear:function(){QP=[],ZP={},JP=[],iB=[],iB.push(uB),eB={},nB=0,Qd()},getClass:function(t){return ZP[t]},getClasses:function(){return ZP},getNotes:function(){return JP},addAnnotation:function(t,e){const n=aB(t).className;ZP[n].annotations.push(e)},addNote:function(t,e){const n={id:`note${JP.length}`,class:e,text:t};JP.push(n)},getRelations:function(){return QP},addRelation:function(t){l.debug("Adding relation: "+JSON.stringify(t)),oB(t.id1),oB(t.id2),t.id1=aB(t.id1).className,t.id2=aB(t.id2).className,t.relationTitle1=Bc.sanitizeText(t.relationTitle1.trim(),sg()),t.relationTitle2=Bc.sanitizeText(t.relationTitle2.trim(),sg()),QP.push(t)},getDirection:()=>hB,setDirection:t=>{hB=t},addMember:cB,addMembers:function(t,e){Array.isArray(e)&&(e.reverse(),e.forEach((e=>cB(t,e))))},cleanupLabel:function(t){return t.startsWith(":")&&(t=t.substring(1)),rB(t.trim())},lineType:{LINE:0,DOTTED_LINE:1},relationType:{AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},setClickEvent:function(t,e,n){t.split(",").forEach((function(t){(function(t,e,n){const i=Bc.sanitizeText(t,sg());if("loose"!==sg().securityLevel||void 0===e)return;const r=i;if(void 0!==ZP[r]){const t=sB(r);let i=[];if("string"==typeof n){i=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t`g.classGroup text {\n fill: ${t.nodeBorder||t.classText};\n stroke: none;\n font-family: ${t.fontFamily};\n font-size: 10px;\n\n .title {\n font-weight: bolder;\n }\n\n}\n\n.nodeLabel, .edgeLabel {\n color: ${t.classText};\n}\n.edgeLabel .label rect {\n fill: ${t.mainBkg};\n}\n.label text {\n fill: ${t.classText};\n}\n.edgeLabel .label span {\n background: ${t.mainBkg};\n}\n\n.classTitle {\n font-weight: bolder;\n}\n.node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n\n\n.divider {\n stroke: ${t.nodeBorder};\n stroke-width: 1;\n}\n\ng.clickable {\n cursor: pointer;\n}\n\ng.classGroup rect {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n}\n\ng.classGroup line {\n stroke: ${t.nodeBorder};\n stroke-width: 1;\n}\n\n.classLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ${t.mainBkg};\n opacity: 0.5;\n}\n\n.classLabel .label {\n fill: ${t.nodeBorder};\n font-size: 10px;\n}\n\n.relation {\n stroke: ${t.lineColor};\n stroke-width: 1;\n fill: none;\n}\n\n.dashed-line{\n stroke-dasharray: 3;\n}\n\n.dotted-line{\n stroke-dasharray: 1 2;\n}\n\n#compositionStart, .composition {\n fill: ${t.lineColor} !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#compositionEnd, .composition {\n fill: ${t.lineColor} !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ${t.lineColor} !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ${t.lineColor} !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#extensionStart, .extension {\n fill: transparent !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#extensionEnd, .extension {\n fill: transparent !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#aggregationStart, .aggregation {\n fill: transparent !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#aggregationEnd, .aggregation {\n fill: transparent !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#lollipopStart, .lollipop {\n fill: ${t.mainBkg} !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#lollipopEnd, .lollipop {\n fill: ${t.mainBkg} !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n.edgeTerminals {\n font-size: 11px;\n line-height: initial;\n}\n\n.classTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n}\n`;let gB=0;const pB=function(t,e,n,i){const{displayText:r,cssStyle:a}=e.getDisplayDetails(),o=t.append("tspan").attr("x",i.padding).text(r);""!==a&&o.attr("style",e.cssStyle),n||o.attr("dy",i.textHeight)},bB=function(t,e,n,i){l.debug("Rendering class ",e,n);const r=e.id,a={id:r,label:e.id,width:0,height:0},o=t.append("g").attr("id",i.db.lookUpDomId(r)).attr("class","classGroup");let s;s=e.link?o.append("svg:a").attr("xlink:href",e.link).attr("target",e.linkTarget).append("text").attr("y",n.textHeight+n.padding).attr("x",0):o.append("text").attr("y",n.textHeight+n.padding).attr("x",0);let c=!0;e.annotations.forEach((function(t){const e=s.append("tspan").text("«"+t+"»");c||e.attr("dy",n.textHeight),c=!1}));let u=function(t){let e=t.id;return t.type&&(e+="<"+Cc(t.type)+">"),e}(e);const h=s.append("tspan").text(u).attr("class","title");c||h.attr("dy",n.textHeight);const f=s.node().getBBox().height;let d,g,p;if(e.members.length>0){d=o.append("line").attr("x1",0).attr("y1",n.padding+f+n.dividerMargin/2).attr("y2",n.padding+f+n.dividerMargin/2);const t=o.append("text").attr("x",n.padding).attr("y",f+n.dividerMargin+n.textHeight).attr("fill","white").attr("class","classText");c=!0,e.members.forEach((function(e){pB(t,e,c,n),c=!1})),g=t.node().getBBox()}if(e.methods.length>0){p=o.append("line").attr("x1",0).attr("y1",n.padding+f+n.dividerMargin+g.height).attr("y2",n.padding+f+n.dividerMargin+g.height);const t=o.append("text").attr("x",n.padding).attr("y",f+2*n.dividerMargin+g.height+n.textHeight).attr("fill","white").attr("class","classText");c=!0,e.methods.forEach((function(e){pB(t,e,c,n),c=!1}))}const b=o.node().getBBox();var m=" ";e.cssClasses.length>0&&(m+=e.cssClasses.join(" "));const y=o.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",b.width+2*n.padding).attr("height",b.height+n.padding+.5*n.dividerMargin).attr("class",m).node().getBBox().width;return s.node().childNodes.forEach((function(t){t.setAttribute("x",(y-t.getBBox().width)/2)})),e.tooltip&&s.insert("title").text(e.tooltip),d&&d.attr("x2",y),p&&p.attr("x2",y),a.width=y,a.height=b.height+n.padding+.5*n.dividerMargin,a};let mB={};const yB=function(t){const e=Object.entries(mB).find((e=>e[1].label===t));if(e)return e[0]},wB=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:YP,db:fB,renderer:{draw:function(t,e,n,i){const r=sg().class;mB={},l.info("Rendering diagram "+t);const a=sg().securityLevel;let o;"sandbox"===a&&(o=ee("#i"+e));const s=ee("sandbox"===a?o.nodes()[0].contentDocument.body:"body"),c=s.select(`[id='${e}']`);!function(t){t.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")}(c);const u=new dC({multigraph:!0});u.setGraph({isMultiGraph:!0}),u.setDefaultEdgeLabel((function(){return{}}));const h=i.db.getClasses(),f=Object.keys(h);for(const t of f){const e=h[t],n=bB(c,e,r,i);mB[n.id]=n,u.setNode(n.id,n),l.info("Org height: "+n.height)}i.db.getRelations().forEach((function(t){l.info("tjoho"+yB(t.id1)+yB(t.id2)+JSON.stringify(t)),u.setEdge(yB(t.id1),yB(t.id2),{relation:t},t.title||"DEFAULT")})),i.db.getNotes().forEach((function(t){l.debug(`Adding note: ${JSON.stringify(t)}`);const e=function(t,e,n,i){l.debug("Rendering note ",e,n);const r=e.id,a={id:r,text:e.text,width:0,height:0},o=t.append("g").attr("id",r).attr("class","classGroup");let s=o.append("text").attr("y",n.textHeight+n.padding).attr("x",0);const c=JSON.parse(`"${e.text}"`).split("\n");c.forEach((function(t){l.debug(`Adding line: ${t}`),s.append("tspan").text(t).attr("class","title").attr("dy",n.textHeight)}));const u=o.node().getBBox(),h=o.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",u.width+2*n.padding).attr("height",u.height+c.length*n.textHeight+n.padding+.5*n.dividerMargin).node().getBBox().width;return s.node().childNodes.forEach((function(t){t.setAttribute("x",(h-t.getBBox().width)/2)})),a.width=h,a.height=u.height+c.length*n.textHeight+n.padding+.5*n.dividerMargin,a}(c,t,r);mB[e.id]=e,u.setNode(e.id,e),t.class&&t.class in h&&u.setEdge(t.id,yB(t.class),{relation:{id1:t.id,id2:t.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")})),bA(u),u.nodes().forEach((function(t){void 0!==t&&void 0!==u.node(t)&&(l.debug("Node "+t+": "+JSON.stringify(u.node(t))),s.select("#"+(i.db.lookUpDomId(t)||t)).attr("transform","translate("+(u.node(t).x-u.node(t).width/2)+","+(u.node(t).y-u.node(t).height/2)+" )"))})),u.edges().forEach((function(t){void 0!==t&&void 0!==u.edge(t)&&(l.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(u.edge(t))),function(t,e,n,i,r){const a=function(t){switch(t){case r.db.relationType.AGGREGATION:return"aggregation";case r.db.relationType.EXTENSION:return"extension";case r.db.relationType.COMPOSITION:return"composition";case r.db.relationType.DEPENDENCY:return"dependency";case r.db.relationType.LOLLIPOP:return"lollipop"}};e.points=e.points.filter((t=>!Number.isNaN(t.y)));const o=e.points,s=$o().x((function(t){return t.x})).y((function(t){return t.y})).curve(Ko),c=t.append("path").attr("d",s(o)).attr("id","edge"+gB).attr("class","relation");let u,h,f="";i.arrowMarkerAbsolute&&(f=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,f=f.replace(/\(/g,"\\("),f=f.replace(/\)/g,"\\)")),1==n.relation.lineType&&c.attr("class","relation dashed-line"),10==n.relation.lineType&&c.attr("class","relation dotted-line"),"none"!==n.relation.type1&&c.attr("marker-start","url("+f+"#"+a(n.relation.type1)+"Start)"),"none"!==n.relation.type2&&c.attr("marker-end","url("+f+"#"+a(n.relation.type2)+"End)");const d=e.points.length;let g,p,b,m,y=df.calcLabelPosition(e.points);if(u=y.x,h=y.y,d%2!=0&&d>1){let t=df.calcCardinalityPosition("none"!==n.relation.type1,e.points,e.points[0]),i=df.calcCardinalityPosition("none"!==n.relation.type2,e.points,e.points[d-1]);l.debug("cardinality_1_point "+JSON.stringify(t)),l.debug("cardinality_2_point "+JSON.stringify(i)),g=t.x,p=t.y,b=i.x,m=i.y}if(void 0!==n.title){const e=t.append("g").attr("class","classLabel"),r=e.append("text").attr("class","label").attr("x",u).attr("y",h).attr("fill","red").attr("text-anchor","middle").text(n.title);window.label=r;const a=r.node().getBBox();e.insert("rect",":first-child").attr("class","box").attr("x",a.x-i.padding/2).attr("y",a.y-i.padding/2).attr("width",a.width+i.padding).attr("height",a.height+i.padding)}l.info("Rendering relation "+JSON.stringify(n)),void 0!==n.relationTitle1&&"none"!==n.relationTitle1&&t.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",g).attr("y",p).attr("fill","black").attr("font-size","6").text(n.relationTitle1),void 0!==n.relationTitle2&&"none"!==n.relationTitle2&&t.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",b).attr("y",m).attr("fill","black").attr("font-size","6").text(n.relationTitle2),gB++}(c,u.edge(t),u.edge(t).relation,r,i))}));const d=c.node().getBBox(),g=d.width+40,p=d.height+40;Ud(c,p,g,r.useMaxWidth);const b=`${d.x-20} ${d.y-20} ${g} ${p}`;l.debug(`viewBox ${b}`),c.attr("viewBox",b)}},styles:dB,init:t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,fB.clear()}}},Symbol.toStringTag,{value:"Module"})),vB=t=>Bc.sanitizeText(t,sg());let xB={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const kB=function(t,e,n,i,r){const a=Object.keys(t);l.info("keys:",a),l.info(t),a.filter((e=>t[e].parent==r)).forEach((function(n){var a,o;const s=t[n],c=s.cssClasses.join(" "),u=Zh(s.styles),h=s.label??s.id,f={labelStyle:u.labelStyle,shape:"class_box",labelText:vB(h),classData:s,rx:0,ry:0,class:c,style:u.style,id:s.id,domId:s.domId,tooltip:i.db.getTooltip(s.id,r)||"",haveCallback:s.haveCallback,link:s.link,width:"group"===s.type?500:void 0,type:s.type,padding:(null==(a=sg().flowchart)?void 0:a.padding)??(null==(o=sg().class)?void 0:o.padding)};e.setNode(s.id,f),r&&e.setParent(s.id,r),l.info("setNode",f)}))};function _B(t){let e;switch(t){case 0:e="aggregation";break;case 1:e="extension";break;case 2:e="composition";break;case 3:e="dependency";break;case 4:e="lollipop";break;default:e="none"}return e}const TB=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:YP,db:fB,renderer:{setConf:function(t){xB={...xB,...t}},draw:async function(t,e,n,i){l.info("Drawing class - ",e);const r=sg().flowchart??sg().class,a=sg().securityLevel;l.info("config:",r);const o=(null==r?void 0:r.nodeSpacing)??50,s=(null==r?void 0:r.rankSpacing)??50,c=new dC({multigraph:!0,compound:!0}).setGraph({rankdir:i.db.getDirection(),nodesep:o,ranksep:s,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}})),u=i.db.getNamespaces(),h=i.db.getClasses(),f=i.db.getRelations(),d=i.db.getNotes();let g;l.info(f),function(t,e,n,i){const r=Object.keys(t);l.info("keys:",r),l.info(t),r.forEach((function(n){var r,a;const o=t[n],s={shape:"rect",id:o.id,domId:o.domId,labelText:vB(o.id),labelStyle:"",style:"fill: none; stroke: black",padding:(null==(r=sg().flowchart)?void 0:r.padding)??(null==(a=sg().class)?void 0:a.padding)};e.setNode(o.id,s),kB(o.classes,e,0,i,o.id),l.info("setNode",s)}))}(u,c,0,i),kB(h,c,0,i),function(t,e){const n=sg().flowchart;let i=0;t.forEach((function(t){var r;i++;const a={classes:"relation",pattern:1==t.relation.lineType?"dashed":"solid",id:`id_${t.id1}_${t.id2}_${i}`,arrowhead:"arrow_open"===t.type?"none":"normal",startLabelRight:"none"===t.relationTitle1?"":t.relationTitle1,endLabelLeft:"none"===t.relationTitle2?"":t.relationTitle2,arrowTypeStart:_B(t.relation.type1),arrowTypeEnd:_B(t.relation.type2),style:"fill:none",labelStyle:"",curve:Vh(null==n?void 0:n.curve,Bo)};if(l.info(a,t),void 0!==t.style){const e=Zh(t.style);a.style=e.style,a.labelStyle=e.labelStyle}t.text=t.title,void 0===t.text?void 0!==t.style&&(a.arrowheadStyle="fill: #333"):(a.arrowheadStyle="fill: #333",a.labelpos="c",(null==(r=sg().flowchart)?void 0:r.htmlLabels)??sg().htmlLabels?(a.labelType="html",a.label=''+t.text+""):(a.labelType="text",a.label=t.text.replace(Bc.lineBreakRegex,"\n"),void 0===t.style&&(a.style=a.style||"stroke: #333; stroke-width: 1.5px;fill:none"),a.labelStyle=a.labelStyle.replace("color:","fill:"))),e.setEdge(t.id1,t.id2,a,i)}))}(f,c),function(t,e,n,i){l.info(t),t.forEach((function(t,r){var a,o;const s=t,c=s.text,u={labelStyle:"",shape:"note",labelText:vB(c),noteData:s,rx:0,ry:0,class:"",style:"",id:s.id,domId:s.id,tooltip:"",type:"note",padding:(null==(a=sg().flowchart)?void 0:a.padding)??(null==(o=sg().class)?void 0:o.padding)};if(e.setNode(s.id,u),l.info("setNode",u),!s.class||!(s.class in i))return;const h=n+r,f={id:`edgeNote${h}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:Vh(xB.curve,Bo)};e.setEdge(s.id,s.class,f,h)}))}(d,c,f.length+1,h),"sandbox"===a&&(g=ee("#i"+e));const p=ee("sandbox"===a?g.nodes()[0].contentDocument.body:"body"),b=p.select(`[id="${e}"]`),m=p.select("#"+e+" g");if(await EI(m,c,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",e),df.insertTitle(b,"classTitleText",(null==r?void 0:r.titleTopMargin)??5,i.db.getDiagramTitle()),Gd(c,b,null==r?void 0:r.diagramPadding,null==r?void 0:r.useMaxWidth),null==r||!r.htmlLabels){const t="sandbox"===a?g.nodes()[0].contentDocument:document,n=t.querySelectorAll('[id="'+e+'"] .edgeLabel .label');for(const e of n){const n=e.getBBox(),i=t.createElementNS("http://www.w3.org/2000/svg","rect");i.setAttribute("rx",0),i.setAttribute("ry",0),i.setAttribute("width",n.width),i.setAttribute("height",n.height),e.insertBefore(i,e.firstChild)}}}},styles:dB,init:t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,fB.clear()}}},Symbol.toStringTag,{value:"Module"}));var EB=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[1,2],n=[1,3],i=[1,4],r=[2,4],a=[1,9],o=[1,11],s=[1,15],c=[1,16],l=[1,17],u=[1,18],h=[1,30],f=[1,19],d=[1,20],g=[1,21],p=[1,22],b=[1,23],m=[1,25],y=[1,26],w=[1,27],v=[1,28],x=[1,29],k=[1,32],_=[1,33],T=[1,34],E=[1,35],S=[1,31],C=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],A=[1,4,5,13,14,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],M=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],L={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,cssClassStatement:11,idStatement:12,DESCR:13,"--\x3e":14,HIDE_EMPTY:15,scale:16,WIDTH:17,COMPOSIT_STATE:18,STRUCT_START:19,STRUCT_STOP:20,STATE_DESCR:21,AS:22,ID:23,FORK:24,JOIN:25,CHOICE:26,CONCURRENT:27,note:28,notePosition:29,NOTE_TEXT:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,classDef:37,CLASSDEF_ID:38,CLASSDEF_STYLEOPTS:39,DEFAULT:40,class:41,CLASSENTITY_IDS:42,STYLECLASS:43,direction_tb:44,direction_bt:45,direction_rl:46,direction_lr:47,eol:48,";":49,EDGE_STATE:50,STYLE_SEPARATOR:51,left_of:52,right_of:53,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",13:"DESCR",14:"--\x3e",15:"HIDE_EMPTY",16:"scale",17:"WIDTH",18:"COMPOSIT_STATE",19:"STRUCT_START",20:"STRUCT_STOP",21:"STATE_DESCR",22:"AS",23:"ID",24:"FORK",25:"JOIN",26:"CHOICE",27:"CONCURRENT",28:"note",30:"NOTE_TEXT",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"classDef",38:"CLASSDEF_ID",39:"CLASSDEF_STYLEOPTS",40:"DEFAULT",41:"class",42:"CLASSENTITY_IDS",43:"STYLECLASS",44:"direction_tb",45:"direction_bt",46:"direction_rl",47:"direction_lr",49:";",50:"EDGE_STATE",51:"STYLE_SEPARATOR",52:"left_of",53:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[31,1],[31,1],[31,1],[31,1],[48,1],[48,1],[12,1],[12,1],[12,3],[12,3],[29,1],[29,1]],performAction:function(t,e,n,i,r,a,o){var s=a.length-1;switch(r){case 3:return i.setRootDoc(a[s]),a[s];case 4:this.$=[];break;case 5:"nl"!=a[s]&&(a[s-1].push(a[s]),this.$=a[s-1]);break;case 6:case 7:case 11:this.$=a[s];break;case 8:this.$="nl";break;case 12:const t=a[s-1];t.description=i.trimColon(a[s]),this.$=t;break;case 13:this.$={stmt:"relation",state1:a[s-2],state2:a[s]};break;case 14:const e=i.trimColon(a[s]);this.$={stmt:"relation",state1:a[s-3],state2:a[s-1],description:e};break;case 18:this.$={stmt:"state",id:a[s-3],type:"default",description:"",doc:a[s-1]};break;case 19:var c=a[s],l=a[s-2].trim();if(a[s].match(":")){var u=a[s].split(":");c=u[0],l=[l,u[1]]}this.$={stmt:"state",id:c,type:"default",description:l};break;case 20:this.$={stmt:"state",id:a[s-3],type:"default",description:a[s-5],doc:a[s-1]};break;case 21:this.$={stmt:"state",id:a[s],type:"fork"};break;case 22:this.$={stmt:"state",id:a[s],type:"join"};break;case 23:this.$={stmt:"state",id:a[s],type:"choice"};break;case 24:this.$={stmt:"state",id:i.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:a[s-1].trim(),note:{position:a[s-2].trim(),text:a[s].trim()}};break;case 28:this.$=a[s].trim(),i.setAccTitle(this.$);break;case 29:case 30:this.$=a[s].trim(),i.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:a[s-1].trim(),classes:a[s].trim()};break;case 33:this.$={stmt:"applyClass",id:a[s-1].trim(),styleClass:a[s].trim()};break;case 34:i.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:i.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:i.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:i.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:a[s].trim(),type:"default",description:""};break;case 42:case 43:this.$={stmt:"state",id:a[s-2].trim(),classes:[a[s].trim()],type:"default",description:""}}},table:[{3:1,4:e,5:n,6:i},{1:[3]},{3:5,4:e,5:n,6:i},{3:6,4:e,5:n,6:i},t([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],r,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:o,8:8,9:10,10:12,11:13,12:14,15:s,16:c,18:l,21:u,23:h,24:f,25:d,26:g,27:p,28:b,31:24,32:m,34:y,36:w,37:v,41:x,44:k,45:_,46:T,47:E,50:S},t(C,[2,5]),{9:36,10:12,11:13,12:14,15:s,16:c,18:l,21:u,23:h,24:f,25:d,26:g,27:p,28:b,31:24,32:m,34:y,36:w,37:v,41:x,44:k,45:_,46:T,47:E,50:S},t(C,[2,7]),t(C,[2,8]),t(C,[2,9]),t(C,[2,10]),t(C,[2,11],{13:[1,37],14:[1,38]}),t(C,[2,15]),{17:[1,39]},t(C,[2,17],{19:[1,40]}),{22:[1,41]},t(C,[2,21]),t(C,[2,22]),t(C,[2,23]),t(C,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},t(C,[2,27]),{33:[1,46]},{35:[1,47]},t(C,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},t(A,[2,40],{51:[1,51]}),t(A,[2,41],{51:[1,52]}),t(C,[2,34]),t(C,[2,35]),t(C,[2,36]),t(C,[2,37]),t(C,[2,6]),t(C,[2,12]),{12:53,23:h,50:S},t(C,[2,16]),t(M,r,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},t(C,[2,28]),t(C,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},t(C,[2,13],{13:[1,63]}),{4:a,5:o,8:8,9:10,10:12,11:13,12:14,15:s,16:c,18:l,20:[1,64],21:u,23:h,24:f,25:d,26:g,27:p,28:b,31:24,32:m,34:y,36:w,37:v,41:x,44:k,45:_,46:T,47:E,50:S},t(C,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},t(C,[2,31]),t(C,[2,32]),t(C,[2,33]),t(A,[2,42]),t(A,[2,43]),t(C,[2,14]),t(C,[2,18]),t(M,r,{7:68}),t(C,[2,25]),t(C,[2,26]),{4:a,5:o,8:8,9:10,10:12,11:13,12:14,15:s,16:c,18:l,20:[1,69],21:u,23:h,24:f,25:d,26:g,27:p,28:b,31:24,32:m,34:y,36:w,37:v,41:x,44:k,45:_,46:T,47:E,50:S},t(C,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=[0],n=[],i=[null],r=[],a=this.table,o="",s=0,c=0,l=r.slice.call(arguments,1),u=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);u.setInput(t,h.yy),h.yy.lexer=u,h.yy.parser=this,typeof u.yylloc>"u"&&(u.yylloc={});var d=u.yylloc;r.push(d);var g,p=u.options&&u.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,m,y,w,v,x,k,_,T={};;){if(m=e[e.length-1],this.defaultActions[m]?y=this.defaultActions[m]:((null===b||typeof b>"u")&&(g=void 0,"number"!=typeof(g=n.pop()||u.lex()||1)&&(g instanceof Array&&(g=(n=g).pop()),g=this.symbols_[g]||g),b=g),y=a[m]&&a[m][b]),typeof y>"u"||!y.length||!y[0]){var E;for(v in _=[],a[m])this.terminals_[v]&&v>2&&_.push("'"+this.terminals_[v]+"'");E=u.showPosition?"Parse error on line "+(s+1)+":\n"+u.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(E,{text:u.match,token:this.terminals_[b]||b,line:u.yylineno,loc:d,expected:_})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+b);switch(y[0]){case 1:e.push(b),i.push(u.yytext),r.push(u.yylloc),e.push(y[1]),b=null,c=u.yyleng,o=u.yytext,s=u.yylineno,d=u.yylloc;break;case 2:if(x=this.productions_[y[1]][1],T.$=i[i.length-x],T._$={first_line:r[r.length-(x||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(x||1)].first_column,last_column:r[r.length-1].last_column},p&&(T._$.range=[r[r.length-(x||1)].range[0],r[r.length-1].range[1]]),typeof(w=this.performAction.apply(T,[o,c,s,h.yy,y[1],i,r].concat(l)))<"u")return w;x&&(e=e.slice(0,-1*x*2),i=i.slice(0,-1*x),r=r.slice(0,-1*x)),e.push(this.productions_[y[1]][0]),i.push(T.$),r.push(T._$),k=a[e[e.length-2]][e[e.length-1]],e.push(k);break;case 3:return!0}}return!0}},I={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:return 40;case 1:case 39:return 44;case 2:case 40:return 45;case 3:case 41:return 46;case 4:case 42:return 47;case 5:case 6:case 8:case 9:case 10:case 11:case 51:case 53:case 59:break;case 7:case 74:return 5;case 12:case 29:return this.pushState("SCALE"),16;case 13:case 30:return 17;case 14:case 20:case 31:case 46:case 49:this.popState();break;case 15:return this.begin("acc_title"),32;case 16:return this.popState(),"acc_title_value";case 17:return this.begin("acc_descr"),34;case 18:return this.popState(),"acc_descr_value";case 19:this.begin("acc_descr_multiline");break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),37;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 24:return this.popState(),this.pushState("CLASSDEFID"),38;case 25:return this.popState(),39;case 26:return this.pushState("CLASS"),41;case 27:return this.popState(),this.pushState("CLASS_STYLE"),42;case 28:return this.popState(),43;case 32:this.pushState("STATE");break;case 33:case 36:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),24;case 34:case 37:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),25;case 35:case 38:return this.popState(),e.yytext=e.yytext.slice(0,-10).trim(),26;case 43:this.pushState("STATE_STRING");break;case 44:return this.pushState("STATE_ID"),"AS";case 45:case 61:return this.popState(),"ID";case 47:return"STATE_DESCR";case 48:return 18;case 50:return this.popState(),this.pushState("struct"),19;case 52:return this.popState(),20;case 54:return this.begin("NOTE"),28;case 55:return this.popState(),this.pushState("NOTE_ID"),52;case 56:return this.popState(),this.pushState("NOTE_ID"),53;case 57:this.popState(),this.pushState("FLOATING_NOTE");break;case 58:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 60:return"NOTE_TEXT";case 62:return this.popState(),this.pushState("NOTE_TEXT"),23;case 63:return this.popState(),e.yytext=e.yytext.substr(2).trim(),30;case 64:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),30;case 65:case 66:return 6;case 67:return 15;case 68:return 50;case 69:return 23;case 70:return e.yytext=e.yytext.trim(),13;case 71:return 14;case 72:return 27;case 73:return 51;case 75:return"INVALID"}},rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,32,39,40,41,42,51,52,53,54,68,69,70,71,72],inclusive:!1},FLOATING_NOTE_ID:{rules:[61],inclusive:!1},FLOATING_NOTE:{rules:[58,59,60],inclusive:!1},NOTE_TEXT:{rules:[63,64],inclusive:!1},NOTE_ID:{rules:[62],inclusive:!1},NOTE:{rules:[55,56,57],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,30,31],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[45],inclusive:!1},STATE_STRING:{rules:[46,47],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,33,34,35,36,37,38,43,44,48,49,50],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,50,54,65,66,67,68,69,70,71,73,74,75],inclusive:!0}}};function O(){this.yy={}}return L.lexer=I,O.prototype=L,L.Parser=O,new O}();EB.parser=EB;const SB=EB,CB="state",AB="relation",MB="default",LB="divider",IB="[*]",OB="start",NB=IB,DB="color",PB="fill";let BB="LR",RB=[],FB={},$B={root:{relations:[],states:{},documents:{}}},jB=$B.root,zB=0,qB=0;const HB=t=>JSON.parse(JSON.stringify(t)),UB=(t,e,n)=>{if(e.stmt===AB)UB(t,e.state1,!0),UB(t,e.state2,!1);else if(e.stmt===CB&&("[*]"===e.id?(e.id=n?t.id+"_start":t.id+"_end",e.start=n):e.id=e.id.trim()),e.doc){const t=[];let n,i=[];for(n=0;n0&&i.length>0){const n={stmt:CB,id:tf(),type:"divider",doc:HB(i)};t.push(HB(n)),e.doc=t}e.doc.forEach((t=>UB(e,t,!0)))}},GB=function(t,e=MB,n=null,i=null,r=null,a=null,o=null,s=null){const c=null==t?void 0:t.trim();void 0===jB.states[c]?(l.info("Adding state ",c,i),jB.states[c]={id:c,descriptions:[],type:e,doc:n,note:r,classes:[],styles:[],textStyles:[]}):(jB.states[c].doc||(jB.states[c].doc=n),jB.states[c].type||(jB.states[c].type=e)),i&&(l.info("Setting state description",c,i),"string"==typeof i&&QB(c,i.trim()),"object"==typeof i&&i.forEach((t=>QB(c,t.trim())))),r&&(jB.states[c].note=r,jB.states[c].note.text=Bc.sanitizeText(jB.states[c].note.text,sg())),a&&(l.info("Setting state classes",c,a),("string"==typeof a?[a]:a).forEach((t=>JB(c,t.trim())))),o&&(l.info("Setting state styles",c,o),("string"==typeof o?[o]:o).forEach((t=>tR(c,t.trim())))),s&&(l.info("Setting state styles",c,o),("string"==typeof s?[s]:s).forEach((t=>eR(c,t.trim()))))},KB=function(t){$B={root:{relations:[],states:{},documents:{}}},jB=$B.root,zB=0,FB={},t||Qd()},YB=function(t){return jB.states[t]};function VB(t=""){let e=t;return t===IB&&(zB++,e=`${OB}${zB}`),e}function WB(t="",e=MB){return t===IB?OB:e}const XB=function(t,e,n){if("object"==typeof t)!function(t,e,n){let i=VB(t.id.trim()),r=WB(t.id.trim(),t.type),a=VB(e.id.trim()),o=WB(e.id.trim(),e.type);GB(i,r,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),GB(a,o,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),jB.relations.push({id1:i,id2:a,relationTitle:Bc.sanitizeText(n,sg())})}(t,e,n);else{const i=VB(t.trim()),r=WB(t),a=function(t=""){let e=t;return t===NB&&(zB++,e=`end${zB}`),e}(e.trim()),o=function(t="",e=MB){return t===NB?"end":e}(e);GB(i,r),GB(a,o),jB.relations.push({id1:i,id2:a,title:Bc.sanitizeText(n,sg())})}},QB=function(t,e){const n=jB.states[t],i=e.startsWith(":")?e.replace(":","").trim():e;n.descriptions.push(Bc.sanitizeText(i,sg()))},ZB=function(t,e=""){void 0===FB[t]&&(FB[t]={id:t,styles:[],textStyles:[]});const n=FB[t];null!=e&&e.split(",").forEach((t=>{const e=t.replace(/([^;]*);/,"$1").trim();if(t.match(DB)){const t=e.replace(PB,"bgFill").replace(DB,PB);n.textStyles.push(t)}n.styles.push(e)}))},JB=function(t,e){t.split(",").forEach((function(t){let n=YB(t);if(void 0===n){const e=t.trim();GB(e),n=YB(e)}n.classes.push(e)}))},tR=function(t,e){const n=YB(t);void 0!==n&&n.textStyles.push(e)},eR=function(t,e){const n=YB(t);void 0!==n&&n.textStyles.push(e)},nR={getConfig:()=>sg().state,addState:GB,clear:KB,getState:YB,getStates:function(){return jB.states},getRelations:function(){return jB.relations},getClasses:function(){return FB},getDirection:()=>BB,addRelation:XB,getDividerId:()=>(qB++,"divider-id-"+qB),setDirection:t=>{BB=t},cleanupLabel:function(t){return":"===t.substring(0,1)?t.substr(2).trim():t.trim()},lineType:{LINE:0,DOTTED_LINE:1},relationType:{AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},logDocuments:function(){l.info("Documents = ",$B)},getRootDoc:()=>RB,setRootDoc:t=>{l.info("Setting root doc",t),RB=t},getRootDocV2:()=>(UB({id:"root"},{id:"root",doc:RB},!0),{id:"root",doc:RB}),extract:t=>{let e;e=t.doc?t.doc:t,l.info(e),KB(!0),l.info("Extract",e),e.forEach((t=>{switch(t.stmt){case CB:GB(t.id.trim(),t.type,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles);break;case AB:XB(t.state1,t.state2,t.description);break;case"classDef":ZB(t.id.trim(),t.classes);break;case"applyClass":JB(t.id.trim(),t.styleClass)}}))},trimColon:t=>t&&":"===t[0]?t.substr(1).trim():t.trim(),getAccTitle:Jd,setAccTitle:Zd,getAccDescription:eg,setAccDescription:tg,addStyleClass:ZB,setCssClass:JB,addDescription:QB,setDiagramTitle:ng,getDiagramTitle:ig},iR=t=>`\ndefs #statediagram-barbEnd {\n fill: ${t.transitionColor};\n stroke: ${t.transitionColor};\n }\ng.stateGroup text {\n fill: ${t.nodeBorder};\n stroke: none;\n font-size: 10px;\n}\ng.stateGroup text {\n fill: ${t.textColor};\n stroke: none;\n font-size: 10px;\n\n}\ng.stateGroup .state-title {\n font-weight: bolder;\n fill: ${t.stateLabelColor};\n}\n\ng.stateGroup rect {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n}\n\ng.stateGroup line {\n stroke: ${t.lineColor};\n stroke-width: 1;\n}\n\n.transition {\n stroke: ${t.transitionColor};\n stroke-width: 1;\n fill: none;\n}\n\n.stateGroup .composit {\n fill: ${t.background};\n border-bottom: 1px\n}\n\n.stateGroup .alt-composit {\n fill: #e0e0e0;\n border-bottom: 1px\n}\n\n.state-note {\n stroke: ${t.noteBorderColor};\n fill: ${t.noteBkgColor};\n\n text {\n fill: ${t.noteTextColor};\n stroke: none;\n font-size: 10px;\n }\n}\n\n.stateLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ${t.mainBkg};\n opacity: 0.5;\n}\n\n.edgeLabel .label rect {\n fill: ${t.labelBackgroundColor};\n opacity: 0.5;\n}\n.edgeLabel .label text {\n fill: ${t.transitionLabelColor||t.tertiaryTextColor};\n}\n.label div .edgeLabel {\n color: ${t.transitionLabelColor||t.tertiaryTextColor};\n}\n\n.stateLabel text {\n fill: ${t.stateLabelColor};\n font-size: 10px;\n font-weight: bold;\n}\n\n.node circle.state-start {\n fill: ${t.specialStateColor};\n stroke: ${t.specialStateColor};\n}\n\n.node .fork-join {\n fill: ${t.specialStateColor};\n stroke: ${t.specialStateColor};\n}\n\n.node circle.state-end {\n fill: ${t.innerEndBackground};\n stroke: ${t.background};\n stroke-width: 1.5\n}\n.end-state-inner {\n fill: ${t.compositeBackground||t.background};\n // stroke: ${t.background};\n stroke-width: 1.5\n}\n\n.node rect {\n fill: ${t.stateBkg||t.mainBkg};\n stroke: ${t.stateBorder||t.nodeBorder};\n stroke-width: 1px;\n}\n.node polygon {\n fill: ${t.mainBkg};\n stroke: ${t.stateBorder||t.nodeBorder};;\n stroke-width: 1px;\n}\n#statediagram-barbEnd {\n fill: ${t.lineColor};\n}\n\n.statediagram-cluster rect {\n fill: ${t.compositeTitleBackground};\n stroke: ${t.stateBorder||t.nodeBorder};\n stroke-width: 1px;\n}\n\n.cluster-label, .nodeLabel {\n color: ${t.stateLabelColor};\n}\n\n.statediagram-cluster rect.outer {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state .divider {\n stroke: ${t.stateBorder||t.nodeBorder};\n}\n\n.statediagram-state .title-state {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-cluster.statediagram-cluster .inner {\n fill: ${t.compositeBackground||t.background};\n}\n.statediagram-cluster.statediagram-cluster-alt .inner {\n fill: ${t.altBackground?t.altBackground:"#efefef"};\n}\n\n.statediagram-cluster .inner {\n rx:0;\n ry:0;\n}\n\n.statediagram-state rect.basic {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state rect.divider {\n stroke-dasharray: 10,10;\n fill: ${t.altBackground?t.altBackground:"#efefef"};\n}\n\n.note-edge {\n stroke-dasharray: 5;\n}\n\n.statediagram-note rect {\n fill: ${t.noteBkgColor};\n stroke: ${t.noteBorderColor};\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n.statediagram-note rect {\n fill: ${t.noteBkgColor};\n stroke: ${t.noteBorderColor};\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n\n.statediagram-note text {\n fill: ${t.noteTextColor};\n}\n\n.statediagram-note .nodeLabel {\n color: ${t.noteTextColor};\n}\n.statediagram .edgeLabel {\n color: red; // ${t.noteTextColor};\n}\n\n#dependencyStart, #dependencyEnd {\n fill: ${t.lineColor};\n stroke: ${t.lineColor};\n stroke-width: 1;\n}\n\n.statediagramTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n}\n`,rR={},aR=(t,e,n)=>{const i=sg().state.padding,r=2*sg().state.padding,a=t.node().getBBox(),o=a.width,s=a.x,c=t.append("text").attr("x",0).attr("y",sg().state.titleShift).attr("font-size",sg().state.fontSize).attr("class","state-title").text(e.id),l=c.node().getBBox().width+r;let u,h=Math.max(l,o);h===o&&(h+=r);const f=t.node().getBBox();e.doc,u=s-i,l>o&&(u=(o-h)/2+i),Math.abs(s-f.x)o&&(u=s-(l-o)/2);const d=1-sg().state.textHeight;return t.insert("rect",":first-child").attr("x",u).attr("y",d).attr("class",n?"alt-composit":"composit").attr("width",h).attr("height",f.height+sg().state.textHeight+sg().state.titleShift+1).attr("rx","0"),c.attr("x",u+i),l<=o&&c.attr("x",s+(h-r)/2-l/2+i),t.insert("rect",":first-child").attr("x",u).attr("y",sg().state.titleShift-sg().state.textHeight-sg().state.padding).attr("width",h).attr("height",3*sg().state.textHeight).attr("rx",sg().state.radius),t.insert("rect",":first-child").attr("x",u).attr("y",sg().state.titleShift-sg().state.textHeight-sg().state.padding).attr("width",h).attr("height",f.height+3+2*sg().state.textHeight).attr("rx",sg().state.radius),t},oR=function(t,e){const n=e.id,i={id:n,label:e.id,width:0,height:0},r=t.append("g").attr("id",n).attr("class","stateGroup");"start"===e.type&&(t=>{t.append("circle").attr("class","start-state").attr("r",sg().state.sizeUnit).attr("cx",sg().state.padding+sg().state.sizeUnit).attr("cy",sg().state.padding+sg().state.sizeUnit)})(r),"end"===e.type&&(t=>{t.append("circle").attr("class","end-state-outer").attr("r",sg().state.sizeUnit+sg().state.miniPadding).attr("cx",sg().state.padding+sg().state.sizeUnit+sg().state.miniPadding).attr("cy",sg().state.padding+sg().state.sizeUnit+sg().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",sg().state.sizeUnit).attr("cx",sg().state.padding+sg().state.sizeUnit+2).attr("cy",sg().state.padding+sg().state.sizeUnit+2)})(r),("fork"===e.type||"join"===e.type)&&((t,e)=>{let n=sg().state.forkWidth,i=sg().state.forkHeight;if(e.parentId){let t=n;n=i,i=t}t.append("rect").style("stroke","black").style("fill","black").attr("width",n).attr("height",i).attr("x",sg().state.padding).attr("y",sg().state.padding)})(r,e),"note"===e.type&&((t,e)=>{e.attr("class","state-note");const n=e.append("rect").attr("x",0).attr("y",sg().state.padding),i=e.append("g"),{textWidth:r,textHeight:a}=((t,e,n,i)=>{let r=0;const a=i.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let o=t.replace(/\r\n/g,"
");o=o.replace(/\n/g,"
");const s=o.split(Bc.lineBreakRegex);let c=1.25*sg().state.noteMargin;for(const t of s){const e=t.trim();if(e.length>0){const t=a.append("tspan");t.text(e),0===c&&(c+=t.node().getBBox().height),r+=c,t.attr("x",0+sg().state.noteMargin),t.attr("y",0+r+1.25*sg().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:r}})(t,0,0,i);n.attr("height",a+2*sg().state.noteMargin),n.attr("width",r+2*sg().state.noteMargin)})(e.note.text,r),"divider"===e.type&&(t=>{t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",sg().state.textHeight).attr("class","divider").attr("x2",2*sg().state.textHeight).attr("y1",0).attr("y2",0)})(r),"default"===e.type&&0===e.descriptions.length&&((t,e)=>{const n=t.append("text").attr("x",2*sg().state.padding).attr("y",sg().state.textHeight+2*sg().state.padding).attr("font-size",sg().state.fontSize).attr("class","state-title").text(e.id).node().getBBox();t.insert("rect",":first-child").attr("x",sg().state.padding).attr("y",sg().state.padding).attr("width",n.width+2*sg().state.padding).attr("height",n.height+2*sg().state.padding).attr("rx",sg().state.radius)})(r,e),"default"===e.type&&e.descriptions.length>0&&((t,e)=>{const n=t.append("text").attr("x",2*sg().state.padding).attr("y",sg().state.textHeight+1.3*sg().state.padding).attr("font-size",sg().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),i=n.height,r=t.append("text").attr("x",sg().state.padding).attr("y",i+.4*sg().state.padding+sg().state.dividerMargin+sg().state.textHeight).attr("class","state-description");let a=!0,o=!0;e.descriptions.forEach((function(t){a||(function(t,e,n){const i=t.append("tspan").attr("x",2*sg().state.padding).text(e);n||i.attr("dy",sg().state.textHeight)}(r,t,o),o=!1),a=!1}));const s=t.append("line").attr("x1",sg().state.padding).attr("y1",sg().state.padding+i+sg().state.dividerMargin/2).attr("y2",sg().state.padding+i+sg().state.dividerMargin/2).attr("class","descr-divider"),c=r.node().getBBox(),l=Math.max(c.width,n.width);s.attr("x2",l+3*sg().state.padding),t.insert("rect",":first-child").attr("x",sg().state.padding).attr("y",sg().state.padding).attr("width",l+2*sg().state.padding).attr("height",c.height+i+2*sg().state.padding).attr("rx",sg().state.radius)})(r,e);const a=r.node().getBBox();return i.width=a.width+2*sg().state.padding,i.height=a.height+2*sg().state.padding,((t,e)=>{rR[t]=e})(n,i),i};let sR,cR=0;const lR={},uR=t=>t?t.length*sR.fontSizeFactor:1,hR=(t,e,n,i,r,a,o)=>{const s=new dC({compound:!0,multigraph:!0});let c,u=!0;for(c=0;c{const e=t.parentElement;let n=0,i=0;e&&(e.parentElement&&(n=e.parentElement.getBBox().width),i=parseInt(e.getAttribute("data-x-shift"),10),Number.isNaN(i)&&(i=0)),t.setAttribute("x1",0-i+8),t.setAttribute("x2",n-i-8)}))):l.debug("No Node "+t+": "+JSON.stringify(s.node(t)))}));let b=p.getBBox();s.edges().forEach((function(t){void 0!==t&&void 0!==s.edge(t)&&(l.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(s.edge(t))),function(t,e,n){e.points=e.points.filter((t=>!Number.isNaN(t.y)));const i=e.points,r=$o().x((function(t){return t.x})).y((function(t){return t.y})).curve(Ko),a=t.append("path").attr("d",r(i)).attr("id","edge"+cR).attr("class","transition");let o="";if(sg().state.arrowMarkerAbsolute&&(o=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,o=o.replace(/\(/g,"\\("),o=o.replace(/\)/g,"\\)")),a.attr("marker-end","url("+o+"#"+function(t){switch(t){case nR.relationType.AGGREGATION:return"aggregation";case nR.relationType.EXTENSION:return"extension";case nR.relationType.COMPOSITION:return"composition";case nR.relationType.DEPENDENCY:return"dependency"}}(nR.relationType.DEPENDENCY)+"End)"),void 0!==n.title){const i=t.append("g").attr("class","stateLabel"),{x:r,y:a}=df.calcLabelPosition(e.points),o=Bc.getRows(n.title);let s=0;const c=[];let u=0,h=0;for(let t=0;t<=o.length;t++){const e=i.append("text").attr("text-anchor","middle").text(o[t]).attr("x",r).attr("y",a+s),n=e.node().getBBox();u=Math.max(u,n.width),h=Math.min(h,n.x),l.info(n.x,r,a+s),0===s&&(s=e.node().getBBox().height,l.info("Title height",s,a)),c.push(e)}let f=s*o.length;if(o.length>1){const t=(o.length-1)*s*.5;c.forEach(((e,n)=>e.attr("y",a+n*s-t))),f=s*o.length}const d=i.node().getBBox();i.insert("rect",":first-child").attr("class","box").attr("x",r-u/2-sg().state.padding/2).attr("y",a-f/2-sg().state.padding/2-3.5).attr("width",u+sg().state.padding).attr("height",f+sg().state.padding),l.info(d)}cR++}(e,s.edge(t),s.edge(t).relation))})),b=p.getBBox();const m={id:n||"root",label:n||"root",width:0,height:0};return m.width=b.width+2*sR.padding,m.height=b.height+2*sR.padding,l.debug("Doc rendered",m,s),m},fR=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:SB,db:nR,renderer:{setConf:function(){},draw:function(t,e,n,i){sR=sg().state;const r=sg().securityLevel;let a;"sandbox"===r&&(a=ee("#i"+e));const o=ee("sandbox"===r?a.nodes()[0].contentDocument.body:"body"),s="sandbox"===r?a.nodes()[0].contentDocument:document;l.debug("Rendering diagram "+t);const c=o.select(`[id='${e}']`);!function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}(c);const u=i.db.getRootDoc();hR(u,c,void 0,!1,o,s,i);const h=sR.padding,f=c.node().getBBox(),d=f.width+2*h,g=f.height+2*h;Ud(c,g,1.75*d,sR.useMaxWidth),c.attr("viewBox",`${f.x-sR.padding} ${f.y-sR.padding} `+d+" "+g)}},styles:iR,init:t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,nR.clear()}}},Symbol.toStringTag,{value:"Module"})),dR="rect",gR="rectWithTitle",pR="statediagram",bR=`${pR}-state`,mR="transition",yR=`${mR} note-edge`,wR=`${pR}-note`,vR=`${pR}-cluster`,xR=`${pR}-cluster-alt`,kR="parent",_R="note",TR="----",ER=`${TR}${_R}`,SR=`${TR}${kR}`,CR="fill:none",AR="fill: #333",MR="text",LR="normal";let IR={},OR=0;function NR(t="",e=0,n="",i=TR){return`state-${t}${null!==n&&n.length>0?`${i}${n}`:""}-${e}`}const DR=(t,e,n,i,r,a)=>{const o=n.id,s=function(t){return null==t?"":t.classes?t.classes.join(" "):""}(i[o]);if("root"!==o){let e=dR;!0===n.start&&(e="start"),!1===n.start&&(e="end"),n.type!==MB&&(e=n.type),IR[o]||(IR[o]={id:o,shape:e,description:Bc.sanitizeText(o,sg()),classes:`${s} ${bR}`});const i=IR[o];n.description&&(Array.isArray(i.description)?(i.shape=gR,i.description.push(n.description)):i.description.length>0?(i.shape=gR,i.description===o?i.description=[n.description]:i.description=[i.description,n.description]):(i.shape=dR,i.description=n.description),i.description=Bc.sanitizeTextOrArray(i.description,sg())),1===i.description.length&&i.shape===gR&&(i.shape=dR),!i.type&&n.doc&&(l.info("Setting cluster for ",o,BR(n)),i.type="group",i.dir=BR(n),i.shape=n.type===LB?"divider":"roundedWithTitle",i.classes=i.classes+" "+vR+" "+(a?xR:""));const r={labelStyle:"",shape:i.shape,labelText:i.description,classes:i.classes,style:"",id:o,dir:i.dir,domId:NR(o,OR),type:i.type,padding:15,centerLabel:!0};if(n.note){const e={labelStyle:"",shape:"note",labelText:n.note.text,classes:wR,style:"",id:o+ER+"-"+OR,domId:NR(o,OR,_R),type:i.type,padding:15},a={labelStyle:"",shape:"noteGroup",labelText:n.note.text,classes:i.classes,style:"",id:o+SR,domId:NR(o,OR,kR),type:"group",padding:0};OR++;const s=o+SR;t.setNode(s,a),t.setNode(e.id,e),t.setNode(o,r),t.setParent(o,s),t.setParent(e.id,s);let c=o,l=e.id;"left of"===n.note.position&&(c=e.id,l=o),t.setEdge(c,l,{arrowhead:"none",arrowType:"",style:CR,labelStyle:"",classes:yR,arrowheadStyle:AR,labelpos:"c",labelType:MR,thickness:LR})}else t.setNode(o,r)}e&&"root"!==e.id&&(l.trace("Setting node ",o," to be child of its parent ",e.id),t.setParent(o,e.id)),n.doc&&(l.trace("Adding nodes children "),PR(t,n,n.doc,i,r,!a))},PR=(t,e,n,i,r,a)=>{l.trace("items",n),n.forEach((n=>{switch(n.stmt){case CB:case MB:DR(t,e,n,i,r,a);break;case AB:{DR(t,e,n.state1,i,r,a),DR(t,e,n.state2,i,r,a);const o={id:"edge"+OR,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:CR,labelStyle:"",label:Bc.sanitizeText(n.description,sg()),arrowheadStyle:AR,labelpos:"c",labelType:MR,thickness:LR,classes:mR};t.setEdge(n.state1.id,n.state2.id,o,OR),OR++}}}))},BR=(t,e="TB")=>{let n=e;if(t.doc)for(let e=0;e{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,nR.clear()}}},Symbol.toStringTag,{value:"Module"}));var FR=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[6,8,10,11,12,14,16,17,18],n=[1,9],i=[1,10],r=[1,11],a=[1,12],o=[1,13],s=[1,14],c={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:function(t,e,n,i,r,a,o){var s=a.length-1;switch(r){case 1:return a[s-1];case 2:case 6:case 7:this.$=[];break;case 3:a[s-1].push(a[s]),this.$=a[s-1];break;case 4:case 5:this.$=a[s];break;case 8:i.setDiagramTitle(a[s].substr(6)),this.$=a[s].substr(6);break;case 9:this.$=a[s].trim(),i.setAccTitle(this.$);break;case 10:case 11:this.$=a[s].trim(),i.setAccDescription(this.$);break;case 12:i.addSection(a[s].substr(8)),this.$=a[s].substr(8);break;case 13:i.addTask(a[s-1],a[s]),this.$="task"}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:n,12:i,14:r,16:a,17:o,18:s},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:n,12:i,14:r,16:a,17:o,18:s},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=[0],n=[],i=[null],r=[],a=this.table,o="",s=0,c=0,l=r.slice.call(arguments,1),u=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);u.setInput(t,h.yy),h.yy.lexer=u,h.yy.parser=this,typeof u.yylloc>"u"&&(u.yylloc={});var d=u.yylloc;r.push(d);var g,p=u.options&&u.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,m,y,w,v,x,k,_,T={};;){if(m=e[e.length-1],this.defaultActions[m]?y=this.defaultActions[m]:((null===b||typeof b>"u")&&(g=void 0,"number"!=typeof(g=n.pop()||u.lex()||1)&&(g instanceof Array&&(g=(n=g).pop()),g=this.symbols_[g]||g),b=g),y=a[m]&&a[m][b]),typeof y>"u"||!y.length||!y[0]){var E;for(v in _=[],a[m])this.terminals_[v]&&v>2&&_.push("'"+this.terminals_[v]+"'");E=u.showPosition?"Parse error on line "+(s+1)+":\n"+u.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(E,{text:u.match,token:this.terminals_[b]||b,line:u.yylineno,loc:d,expected:_})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+b);switch(y[0]){case 1:e.push(b),i.push(u.yytext),r.push(u.yylloc),e.push(y[1]),b=null,c=u.yyleng,o=u.yytext,s=u.yylineno,d=u.yylloc;break;case 2:if(x=this.productions_[y[1]][1],T.$=i[i.length-x],T._$={first_line:r[r.length-(x||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(x||1)].first_column,last_column:r[r.length-1].last_column},p&&(T._$.range=[r[r.length-(x||1)].range[0],r[r.length-1].range[1]]),typeof(w=this.performAction.apply(T,[o,c,s,h.yy,y[1],i,r].concat(l)))<"u")return w;x&&(e=e.slice(0,-1*x*2),i=i.slice(0,-1*x),r=r.slice(0,-1*x)),e.push(this.productions_[y[1]][0]),i.push(T.$),r.push(T._$),k=a[e[e.length-2]][e[e.length-1]],e.push(k);break;case 3:return!0}}return!0}},l={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:case 1:case 3:case 4:break;case 2:return 10;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};function u(){this.yy={}}return c.lexer=l,u.prototype=c,c.Parser=u,new u}();FR.parser=FR;const $R=FR;let jR="";const zR=[],qR=[],HR=[],UR=function(){const t=function(t){return HR[t].processed};let e=!0;for(const[n,i]of HR.entries())t(n),e=e&&i.processed;return e},GR={getConfig:()=>sg().journey,clear:function(){zR.length=0,qR.length=0,jR="",HR.length=0,Qd()},setDiagramTitle:ng,getDiagramTitle:ig,setAccTitle:Zd,getAccTitle:Jd,setAccDescription:tg,getAccDescription:eg,addSection:function(t){jR=t,zR.push(t)},getSections:function(){return zR},getTasks:function(){let t=UR(),e=0;for(;!t&&e<100;)t=UR(),e++;return qR.push(...HR),qR},addTask:function(t,e){const n=e.substr(1).split(":");let i=0,r=[];1===n.length?(i=Number(n[0]),r=[]):(i=Number(n[0]),r=n[1].split(","));const a=r.map((t=>t.trim())),o={section:jR,type:jR,people:a,task:t,score:i};HR.push(o)},addTaskOrg:function(t){const e={section:jR,type:jR,description:t,task:t,classes:[]};qR.push(e)},getActors:function(){return function(){const t=[];return qR.forEach((e=>{e.people&&t.push(...e.people)})),[...new Set(t)].sort()}()}},KR=function(t,e){return kk(t,e)},YR=function(t,e){const n=t.append("circle");return n.attr("cx",e.cx),n.attr("cy",e.cy),n.attr("class","actor-"+e.pos),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("r",e.r),void 0!==n.class&&n.attr("class",n.class),void 0!==e.title&&n.append("title").text(e.title),n};let VR=-1;const WR=function(){function t(t,e,n,r,a,o,s,c){i(e.append("text").attr("x",n+a/2).attr("y",r+o/2+5).style("font-color",c).style("text-anchor","middle").text(t),s)}function e(t,e,n,r,a,o,s,c,l){const{taskFontSize:u,taskFontFamily:h}=c,f=t.split(//gi);for(let t=0;t{const n=e.text.replace(wc," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.attr("class","legend"),i.style("text-anchor",e.anchor),void 0!==e.class&&i.attr("class",e.class);const r=i.append("tspan");return r.attr("x",e.x+2*e.textMargin),r.text(n),i})(t,e)},JR=function(t,e,n){const i=e.x+n.width/2,r=t.append("g");VR++,r.append("line").attr("id","task"+VR).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),function(t,e){t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible");const n=t.append("g");n.append("circle").attr("cx",e.cx-5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),n.append("circle").attr("cx",e.cx+5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),e.score>3?function(t){const n=No().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(6.8181818181818175);t.append("path").attr("class","mouth").attr("d",n).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}(n):e.score<3?function(t){const n=No().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(6.8181818181818175);t.append("path").attr("class","mouth").attr("d",n).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}(n):n.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}(r,{cx:i,cy:300+30*(5-e.score),score:e.score});const a={x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0};a.x=e.x,a.y=e.y,a.fill=e.fill,a.width=n.width,a.height=n.height,a.class="task task-type-"+e.num,a.rx=3,a.ry=3,KR(r,a);let o=e.x+14;e.people.forEach((t=>{const n=e.actors[t].color,i={cx:o,cy:e.y,r:7,fill:n,stroke:"#000",title:t,pos:e.actors[t].position};YR(r,i),o+=10})),WR(n)(e.task,r,a.x,a.y,a.width,a.height,{class:"task"},n,e.colour)},tF={},eF=sg().journey,nF=eF.leftMargin,iF={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,n,i){void 0===t[e]?t[e]=n:t[e]=i(n,t[e])},updateBounds:function(t,e,n,i){const r=sg().journey,a=this;let o=0;this.sequenceItems.forEach((function(s){o++;const c=a.sequenceItems.length-o+1;a.updateVal(s,"starty",e-c*r.boxMargin,Math.min),a.updateVal(s,"stopy",i+c*r.boxMargin,Math.max),a.updateVal(iF.data,"startx",t-c*r.boxMargin,Math.min),a.updateVal(iF.data,"stopx",n+c*r.boxMargin,Math.max),a.updateVal(s,"startx",t-c*r.boxMargin,Math.min),a.updateVal(s,"stopx",n+c*r.boxMargin,Math.max),a.updateVal(iF.data,"starty",e-c*r.boxMargin,Math.min),a.updateVal(iF.data,"stopy",i+c*r.boxMargin,Math.max)}))},insert:function(t,e,n,i){const r=Math.min(t,n),a=Math.max(t,n),o=Math.min(e,i),s=Math.max(e,i);this.updateVal(iF.data,"startx",r,Math.min),this.updateVal(iF.data,"starty",o,Math.min),this.updateVal(iF.data,"stopx",a,Math.max),this.updateVal(iF.data,"stopy",s,Math.max),this.updateBounds(r,o,a,s)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},rF=eF.sectionFills,aF=eF.sectionColours,oF={setConf:function(t){Object.keys(t).forEach((function(e){eF[e]=t[e]}))},draw:function(t,e,n,i){const r=sg().journey,a=sg().securityLevel;let o;"sandbox"===a&&(o=ee("#i"+e));const s=ee("sandbox"===a?o.nodes()[0].contentDocument.body:"body");iF.init();const c=s.select("#"+e);!function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")}(c);const l=i.db.getTasks(),u=i.db.getDiagramTitle(),h=i.db.getActors();for(const t in tF)delete tF[t];let f=0;h.forEach((t=>{tF[t]={color:r.actorColours[f%r.actorColours.length],position:f},f++})),function(t){const e=sg().journey;let n=60;Object.keys(tF).forEach((i=>{const r=tF[i].color,a={cx:20,cy:n,r:7,fill:r,stroke:"#000",pos:tF[i].position};XR(t,a);const o={x:40,y:n+7,fill:"#666",text:i,textMargin:5|e.boxTextMargin};ZR(t,o),n+=20}))}(c),iF.insert(0,0,nF,50*Object.keys(tF).length),function(t,e,n){const i=sg().journey;let r="";const a=n+(2*i.height+i.diagramMarginY);let o=0,s="#CCC",c="black",l=0;for(const[n,u]of e.entries()){if(r!==u.section){s=rF[o%rF.length],l=o%rF.length,c=aF[o%aF.length];let a=0;const h=u.section;for(let t=n;t(tF[e]&&(t[e]=tF[e]),t)),{});u.x=n*i.taskMargin+n*i.width+nF,u.y=a,u.width=i.diagramMarginX,u.height=i.diagramMarginY,u.colour=c,u.fill=s,u.num=l,u.actors=h,JR(t,u,i),iF.insert(u.x,u.y,u.x+u.width+i.taskMargin,450)}}(c,l,0);const d=iF.getBounds();u&&c.append("text").text(u).attr("x",nF).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);const g=d.stopy-d.starty+2*r.diagramMarginY,p=nF+d.stopx+2*r.diagramMarginX;Ud(c,g,p,r.useMaxWidth),c.append("line").attr("x1",nF).attr("y1",4*r.height).attr("x2",p-nF-4).attr("y2",4*r.height).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const b=u?70:0;c.attr("viewBox",`${d.startx} -25 ${p} ${g+b}`),c.attr("preserveAspectRatio","xMinYMin meet"),c.attr("height",g+b+25)}},sF=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:$R,db:GR,renderer:oF,styles:t=>`.label {\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n color: ${t.textColor};\n }\n .mouth {\n stroke: #666;\n }\n\n line {\n stroke: ${t.textColor}\n }\n\n .legend {\n fill: ${t.textColor};\n }\n\n .label text {\n fill: #333;\n }\n .label {\n color: ${t.textColor}\n }\n\n .face {\n ${t.faceColor?`fill: ${t.faceColor}`:"fill: #FFF8DC"};\n stroke: #999;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${t.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${t.lineColor};\n stroke-width: 1.5px;\n }\n\n .flowchart-link {\n stroke: ${t.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${t.edgeLabelBackground};\n rect {\n opacity: 0.5;\n }\n text-align: center;\n }\n\n .cluster rect {\n }\n\n .cluster text {\n fill: ${t.titleColor};\n }\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n font-size: 12px;\n background: ${t.tertiaryColor};\n border: 1px solid ${t.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .task-type-0, .section-type-0 {\n ${t.fillType0?`fill: ${t.fillType0}`:""};\n }\n .task-type-1, .section-type-1 {\n ${t.fillType0?`fill: ${t.fillType1}`:""};\n }\n .task-type-2, .section-type-2 {\n ${t.fillType0?`fill: ${t.fillType2}`:""};\n }\n .task-type-3, .section-type-3 {\n ${t.fillType0?`fill: ${t.fillType3}`:""};\n }\n .task-type-4, .section-type-4 {\n ${t.fillType0?`fill: ${t.fillType4}`:""};\n }\n .task-type-5, .section-type-5 {\n ${t.fillType0?`fill: ${t.fillType5}`:""};\n }\n .task-type-6, .section-type-6 {\n ${t.fillType0?`fill: ${t.fillType6}`:""};\n }\n .task-type-7, .section-type-7 {\n ${t.fillType0?`fill: ${t.fillType7}`:""};\n }\n\n .actor-0 {\n ${t.actor0?`fill: ${t.actor0}`:""};\n }\n .actor-1 {\n ${t.actor1?`fill: ${t.actor1}`:""};\n }\n .actor-2 {\n ${t.actor2?`fill: ${t.actor2}`:""};\n }\n .actor-3 {\n ${t.actor3?`fill: ${t.actor3}`:""};\n }\n .actor-4 {\n ${t.actor4?`fill: ${t.actor4}`:""};\n }\n .actor-5 {\n ${t.actor5?`fill: ${t.actor5}`:""};\n }\n`,init:t=>{oF.setConf(t.journey),GR.clear()}}},Symbol.toStringTag,{value:"Module"}));function cF(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var lF={exports:{}};!function(t,e){t.exports=function t(e,n,i){function r(o,s){if(!n[o]){if(!e[o]){if(!s&&cF)return cF(o);if(a)return a(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[o]={exports:{}};e[o][0].call(l.exports,(function(t){return r(e[o][1][t]||t)}),l,l.exports,t,e,n,i)}return n[o].exports}for(var a=cF,o=0;o0&&void 0!==arguments[0]?arguments[0]:{},i=n.defaultLayoutOptions,a=void 0===i?{}:i,s=n.algorithms,c=void 0===s?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:s,l=n.workerFactory,u=n.workerUrl;if(r(this,t),this.defaultLayoutOptions=a,this.initialized=!1,typeof u>"u"&&typeof l>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var h=l;typeof u<"u"&&typeof l>"u"&&(h=function(t){return new Worker(t)});var f=h(u);if("function"!=typeof f.postMessage)throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new o(f),this.worker.postMessage({cmd:"register",algorithms:c}).then((function(t){return e.initialized=!0})).catch(console.err)}return i(t,[{key:"layout",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.layoutOptions,i=void 0===n?this.defaultLayoutOptions:n,r=e.logging,a=void 0!==r&&r,o=e.measureExecutionTime,s=void 0!==o&&o;return t?this.worker.postMessage({cmd:"layout",graph:t,layoutOptions:i,options:{logging:a,measureExecutionTime:s}}):Promise.reject(new Error("Missing mandatory parameter 'graph'."))}},{key:"knownLayoutAlgorithms",value:function(){return this.worker.postMessage({cmd:"algorithms"})}},{key:"knownLayoutOptions",value:function(){return this.worker.postMessage({cmd:"options"})}},{key:"knownLayoutCategories",value:function(){return this.worker.postMessage({cmd:"categories"})}},{key:"terminateWorker",value:function(){this.worker.terminate()}}]),t}();n.default=a;var o=function(){function t(e){var n=this;if(r(this,t),void 0===e)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=e,this.worker.onmessage=function(t){setTimeout((function(){n.receive(n,t)}),0)}}return i(t,[{key:"postMessage",value:function(t){var e=this.id||0;this.id=e+1,t.id=e;var n=this;return new Promise((function(i,r){n.resolvers[e]=function(t,e){t?(n.convertGwtStyleError(t),r(t)):i(e)},n.worker.postMessage(t)}))}},{key:"receive",value:function(t,e){var n=e.data,i=t.resolvers[n.id];i&&(delete t.resolvers[n.id],n.error?i(n.error):i(null,n.data))}},{key:"terminate",value:function(){this.worker.terminate&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(t){if(t){var e=t.__java$exception;e&&(e.cause&&e.cause.backingJsObject&&(t.cause=e.cause.backingJsObject,this.convertGwtStyleError(t.cause)),delete t.__java$exception)}}}]),t}()},{}],2:[function(t,e,n){(function(t){(function(){var i;function r(){}function a(){}function o(){}function s(){}function c(){}function l(){}function u(){}function h(){}function f(){}function d(){}function g(){}function p(){}function b(){}function m(){}function y(){}function w(){}function v(){}function x(){}function k(){}function _(){}function T(){}function E(){}function S(){}function C(){}function A(){}function M(){}function L(){}function I(){}function O(){}function N(){}function D(){}function P(){}function B(){}function R(){}function F(){}function $(){}function j(){}function z(){}function q(){}function H(){}function U(){}function G(){}function K(){}function Y(){}function V(){}function W(){}function X(){}function Q(){}function Z(){}function J(){}function tt(){}function et(){}function nt(){}function it(){}function rt(){}function at(){}function ot(){}function st(){}function ct(){}function lt(){}function ut(){}function ht(){}function ft(){}function dt(){}function gt(){}function pt(){}function bt(){}function mt(){}function yt(){}function wt(){}function vt(){}function xt(){}function kt(){}function _t(){}function Tt(){}function Et(){}function St(){}function Ct(){}function At(){}function Mt(){}function Lt(){}function It(){}function Ot(){}function Nt(){}function Dt(){}function Pt(){}function Bt(){}function Rt(){}function Ft(){}function $t(){}function jt(){}function zt(){}function qt(){}function Ht(){}function Ut(){}function Gt(){}function Kt(){}function Yt(){}function Vt(){}function Wt(){}function Xt(){}function Qt(){}function Zt(){}function Jt(){}function te(){}function ee(){}function ne(){}function ie(){}function re(){}function ae(){}function oe(){}function se(){}function ce(){}function le(){}function ue(){}function he(){}function fe(){}function de(){}function ge(){}function pe(){}function be(){}function me(){}function ye(){}function we(){}function ve(){}function xe(){}function ke(){}function _e(){}function Te(){}function Ee(){}function Se(){}function Ce(){}function Ae(){}function Me(){}function Le(){}function Ie(){}function Oe(){}function Ne(){}function De(){}function Pe(){}function Be(){}function Re(){}function Fe(){}function $e(){}function je(){}function ze(){}function qe(){}function He(){}function Ue(){}function Ge(){}function Ke(){}function Ye(){}function Ve(){}function We(){}function Xe(){}function Qe(){}function Ze(){}function Je(){}function tn(){}function en(){}function nn(){}function rn(){}function an(){}function on(){}function sn(){}function cn(){}function ln(){}function un(){}function hn(){}function fn(){}function dn(){}function gn(){}function pn(){}function bn(){}function mn(){}function yn(){}function wn(){}function vn(){}function xn(){}function kn(){}function _n(){}function Tn(){}function En(){}function Sn(){}function Cn(){}function An(){}function Mn(){}function Ln(){}function In(){}function On(){}function Nn(){}function Dn(){}function Pn(){}function Bn(){}function Rn(){}function Fn(){}function $n(){}function jn(){}function zn(){}function qn(){}function Hn(){}function Un(){}function Gn(){}function Kn(){}function Yn(){}function Vn(){}function Wn(){}function Xn(){}function Qn(){}function Zn(){}function Jn(){}function ti(){}function ei(){}function ni(){}function ii(){}function ri(){}function ai(){}function oi(){}function si(){}function ci(){}function li(){}function ui(){}function hi(){}function fi(){}function di(){}function gi(){}function pi(){}function bi(){}function mi(){}function yi(){}function wi(){}function vi(){}function xi(){}function ki(){}function _i(){}function Ti(){}function Ei(){}function Si(){}function Ci(){}function Ai(){}function Mi(){}function Li(){}function Ii(){}function Oi(){}function Ni(){}function Di(){}function Pi(){}function Bi(){}function Ri(){}function Fi(){}function $i(){}function ji(){}function zi(){}function qi(){}function Hi(){}function Ui(){}function Gi(){}function Ki(){}function Yi(){}function Vi(){}function Wi(){}function Xi(){}function Qi(){}function Zi(){}function Ji(){}function tr(){}function er(){}function nr(){}function ir(){}function rr(){}function ar(){}function or(){}function sr(){}function cr(){}function lr(){}function ur(){}function hr(){}function fr(){}function dr(){}function gr(){}function pr(){}function br(){}function mr(){}function yr(){}function wr(){}function vr(){}function xr(){}function kr(){}function _r(){}function Tr(){}function Er(){}function Sr(){}function Cr(){}function Ar(){}function Mr(){}function Lr(){}function Ir(){}function Or(){}function Nr(){}function Dr(){}function Pr(){}function Br(){}function Rr(){}function Fr(){}function $r(){}function jr(){}function zr(){}function qr(){}function Hr(){}function Ur(){}function Gr(){}function Kr(){}function Yr(){}function Vr(){}function Wr(){}function Xr(){}function Qr(){}function Zr(){}function Jr(){}function ta(){}function ea(){}function na(){}function ia(){}function ra(){}function aa(){}function oa(){}function sa(){}function ca(){}function la(){}function ua(){}function ha(){}function fa(){}function da(){}function ga(){}function pa(){}function ba(){}function ma(){}function ya(){}function wa(){}function va(){}function xa(){}function ka(){}function _a(){}function Ta(){}function Ea(){}function Sa(){}function Ca(){}function Aa(){}function Ma(){}function La(){}function Ia(){}function Oa(){}function Na(){}function Da(){}function Pa(){}function Ba(){}function Ra(){}function Fa(){}function $a(){}function ja(){}function za(){}function qa(){}function Ha(){}function Ua(){}function Ga(){}function Ka(){}function Ya(){}function Va(){}function Wa(){}function Xa(){}function Qa(){}function Za(){}function Ja(){}function to(){}function eo(){}function no(){}function io(){}function ro(){}function ao(){}function oo(){}function so(){}function co(){}function lo(){}function uo(){}function ho(){}function fo(){}function go(){}function po(){}function bo(){}function mo(){}function yo(){}function wo(){}function vo(){}function xo(){}function ko(){}function _o(){}function To(){}function Eo(){}function So(){}function Co(){}function Ao(){}function Mo(){}function Lo(){}function Io(){}function Oo(){}function No(){}function Do(){}function Po(){}function Bo(){}function Ro(){}function Fo(){}function $o(){}function jo(){}function zo(){}function qo(){}function Ho(){}function Uo(){}function Go(){}function Ko(){}function Yo(){}function Vo(){}function Wo(){}function Xo(){}function Qo(){}function Zo(){}function Jo(){}function ts(){}function es(){}function ns(){}function is(){}function rs(){}function as(){}function os(){}function ss(){}function cs(){}function ls(){}function us(){}function hs(){}function fs(){}function ds(){}function gs(){}function ps(){}function bs(){}function ms(){}function ys(){}function ws(){}function vs(){}function xs(){}function ks(){}function _s(){}function Ts(){}function Es(){}function Ss(){}function Cs(){}function As(){}function Ms(){}function Ls(){}function Is(){}function Os(){}function Ns(){}function Ds(){}function Ps(){}function Bs(){}function Rs(){}function Fs(){}function $s(){}function js(){}function zs(){}function qs(){}function Hs(){}function Us(){}function Gs(){}function Ks(){}function Ys(){}function Vs(){}function Ws(){}function Xs(){}function Qs(){}function Zs(){}function Js(){}function tc(){}function ec(){}function nc(){}function ic(){}function rc(){}function ac(){}function oc(){}function sc(){}function cc(){}function lc(){}function uc(){}function hc(){}function fc(){}function dc(){}function gc(){}function pc(){}function bc(){}function mc(){}function yc(){}function wc(){}function vc(){}function xc(){}function kc(){}function _c(){}function Tc(){}function Ec(){}function Sc(){}function Cc(){}function Ac(){}function Mc(){}function Lc(){}function Ic(){}function Oc(){}function Nc(){}function Dc(){}function Pc(){}function Bc(){}function Rc(){}function Fc(){}function $c(){}function jc(){}function zc(){}function qc(){}function Hc(){}function Uc(){}function Gc(){}function Kc(){}function Yc(){}function Vc(){}function Wc(){}function Xc(){}function Qc(){}function Zc(){}function Jc(){}function tl(){}function el(){}function nl(){}function il(){}function rl(){}function al(){}function ol(){}function sl(){}function cl(){}function ll(){}function ul(){}function hl(){}function fl(){}function dl(){}function gl(){}function pl(){}function bl(){}function ml(){}function yl(){}function wl(){}function vl(){}function xl(){}function kl(){}function _l(){}function Tl(){}function El(){}function Sl(){}function Cl(){}function Al(){}function Ml(){}function Ll(){}function Il(){}function Ol(){}function Nl(){}function Dl(){}function Pl(){}function Bl(){}function Rl(){}function Fl(){}function $l(){}function jl(){}function zl(){}function ql(){}function Hl(){}function Ul(){}function Gl(){}function Kl(){}function Yl(){}function Vl(){}function Wl(){}function Xl(){}function Ql(){}function Zl(){}function Jl(){}function tu(){}function eu(){}function nu(){}function iu(){}function ru(){}function au(){}function ou(){}function su(){}function cu(){}function lu(){}function uu(){}function hu(){}function fu(){}function du(){}function gu(){}function pu(){}function bu(){}function mu(){}function yu(){}function wu(){}function vu(){}function xu(){}function ku(){}function _u(){}function Tu(){}function Eu(){}function Su(){}function Cu(){}function Au(){}function Mu(){}function Lu(){}function Iu(){}function Ou(){}function Nu(){}function Du(){}function Pu(){}function Bu(){}function Ru(){}function Fu(){}function $u(){}function ju(){}function zu(){}function qu(){}function Hu(){}function Uu(){}function Gu(){}function Ku(){}function Yu(){}function Vu(){}function Wu(){}function Xu(){}function Qu(){}function Zu(){}function Ju(){}function th(){}function eh(){}function nh(){}function ih(){}function rh(){}function ah(){}function oh(){}function sh(){}function ch(){}function lh(){}function uh(){}function hh(){}function fh(){}function dh(){}function gh(){}function ph(){}function bh(){}function mh(){}function yh(){}function wh(){}function vh(){}function xh(){}function kh(){}function _h(){}function Th(){}function Eh(){}function Sh(){}function Ch(){}function Ah(){}function Mh(){}function Lh(){}function Ih(){}function Oh(){}function Nh(){Ev()}function Dh(){pE()}function Ph(){Vst()}function Bh(){Q8()}function Rh(){Hrt()}function Fh(){rht()}function $h(){Evt()}function jh(){ust()}function zh(){Tst()}function qh(){bE()}function Hh(){dR()}function Uh(){mE()}function Gh(){f5()}function Kh(){hZ()}function Yh(){M4()}function Vh(){VK()}function Wh(){I4()}function Xh(){aJ()}function Qh(){KK()}function Zh(){x8()}function Jh(){N4()}function tf(){O4()}function ef(){XV()}function nf(){D4()}function rf(){Mut()}function af(){wE()}function of(){HEt()}function sf(){CEt()}function cf(){P4()}function lf(){g5()}function uf(){WK()}function hf(){gst()}function ff(){QK()}function df(){tvt()}function gf(){Lgt()}function pf(){b2()}function bf(){qtt()}function mf(){axt()}function yf(){SY()}function wf(){p2()}function vf(){Ewt()}function xf(){pht()}function kf(){Cwt()}function _f(){ayt()}function Tf(){but()}function Ef(){Lyt()}function Sf(){qat()}function Cf(){QB()}function Af(){EJ()}function Mf(){mut()}function Lf(){zEt()}function If(){k8()}function Of(){rit()}function Nf(){p5()}function Df(){Jxt()}function Pf(){Fvt()}function Bf(t){yH(t)}function Rf(t){this.a=t}function Ff(t){this.a=t}function $f(t){this.a=t}function jf(t){this.a=t}function zf(t){this.a=t}function qf(t){this.a=t}function Hf(t){this.a=t}function Uf(t){this.a=t}function Gf(t){this.a=t}function Kf(t){this.a=t}function Yf(t){this.a=t}function Vf(t){this.a=t}function Wf(t){this.a=t}function Xf(t){this.a=t}function Qf(t){this.a=t}function Zf(t){this.a=t}function Jf(t){this.a=t}function td(t){this.a=t}function ed(t){this.a=t}function nd(t){this.a=t}function id(t){this.a=t}function rd(t){this.a=t}function ad(t){this.b=t}function od(t){this.c=t}function sd(t){this.a=t}function cd(t){this.a=t}function ld(t){this.a=t}function ud(t){this.a=t}function hd(t){this.a=t}function fd(t){this.a=t}function dd(t){this.a=t}function gd(t){this.a=t}function pd(t){this.a=t}function bd(t){this.a=t}function md(t){this.a=t}function yd(t){this.a=t}function wd(t){this.a=t}function vd(t){this.a=t}function xd(t){this.a=t}function kd(t){this.a=t}function _d(t){this.a=t}function Td(){this.a=[]}function Ed(t,e){t.a=e}function Sd(t,e){t.j=e}function Cd(t,e){t.c=e}function Ad(t,e){t.d=e}function Md(t,e){t.k=e}function Ld(t,e){t.c=e}function Id(t,e){t.a=e}function Od(t,e){t.a=e}function Nd(t,e){t.f=e}function Dd(t,e){t.a=e}function Pd(t,e){t.b=e}function Bd(t,e){t.d=e}function Rd(t,e){t.i=e}function Fd(t,e){t.o=e}function $d(t,e){t.e=e}function jd(t,e){t.g=e}function zd(t,e){t.e=e}function qd(t,e){t.f=e}function Hd(t,e){t.f=e}function Ud(t,e){t.a=e}function Gd(t,e){t.b=e}function Kd(t,e){t.n=e}function Yd(t){t.b=t.a}function Vd(t){t.c=t.d.d}function Wd(t){this.a=t}function Xd(t){this.a=t}function Qd(t){this.a=t}function Zd(t){this.a=t}function Jd(t){this.a=t}function tg(t){this.a=t}function eg(t){this.a=t}function ng(t){this.a=t}function ig(t){this.a=t}function rg(t){this.a=t}function ag(t){this.a=t}function og(t){this.a=t}function sg(t){this.a=t}function cg(t){this.a=t}function lg(t){this.b=t}function ug(t){this.b=t}function hg(t){this.b=t}function fg(t){this.a=t}function dg(t){this.a=t}function gg(t){this.c=t}function pg(t){this.c=t}function bg(t){this.c=t}function mg(t){this.d=t}function yg(t){this.a=t}function wg(t){this.a=t}function vg(t){this.a=t}function xg(t){this.a=t}function kg(t){this.a=t}function _g(t){this.a=t}function Tg(t){this.a=t}function Eg(t){this.a=t}function Sg(t){this.a=t}function Cg(t){this.a=t}function Ag(t){this.a=t}function Mg(t){this.a=t}function Lg(t){this.a=t}function Ig(t){this.a=t}function Og(t){this.a=t}function Ng(t){this.a=t}function Dg(t){this.a=t}function Pg(t){this.a=t}function Bg(t){this.a=t}function Rg(t){this.a=t}function Fg(t){this.a=t}function $g(t){this.a=t}function jg(t){this.a=t}function zg(t){this.a=t}function qg(t){this.a=t}function Hg(t){this.a=t}function Ug(t){this.a=t}function Gg(t){this.a=t}function Kg(t){this.a=t}function Yg(t){this.a=t}function Vg(t){this.a=t}function Wg(t){this.a=t}function Xg(t){this.a=t}function Qg(t){this.a=t}function Zg(t){this.a=t}function Jg(t){this.a=t}function tp(t){this.a=t}function ep(t){this.a=t}function np(t){this.a=t}function ip(t){this.a=t}function rp(t){this.a=t}function ap(t){this.a=t}function op(t){this.a=t}function sp(t){this.a=t}function cp(t){this.a=t}function lp(t){this.a=t}function up(t){this.a=t}function hp(t){this.a=t}function fp(t){this.e=t}function dp(t){this.a=t}function gp(t){this.a=t}function pp(t){this.a=t}function bp(t){this.a=t}function mp(t){this.a=t}function yp(t){this.a=t}function wp(t){this.a=t}function vp(t){this.a=t}function xp(t){this.a=t}function kp(t){this.a=t}function _p(t){this.a=t}function Tp(t){this.a=t}function Ep(t){this.a=t}function Sp(t){this.a=t}function Cp(t){this.a=t}function Ap(t){this.a=t}function Mp(t){this.a=t}function Lp(t){this.a=t}function Ip(t){this.a=t}function Op(t){this.a=t}function Np(t){this.a=t}function Dp(t){this.a=t}function Pp(t){this.a=t}function Bp(t){this.a=t}function Rp(t){this.a=t}function Fp(t){this.a=t}function $p(t){this.a=t}function jp(t){this.a=t}function zp(t){this.a=t}function qp(t){this.a=t}function Hp(t){this.a=t}function Up(t){this.a=t}function Gp(t){this.a=t}function Kp(t){this.a=t}function Yp(t){this.a=t}function Vp(t){this.a=t}function Wp(t){this.a=t}function Xp(t){this.a=t}function Qp(t){this.a=t}function Zp(t){this.a=t}function Jp(t){this.a=t}function tb(t){this.a=t}function eb(t){this.a=t}function nb(t){this.a=t}function ib(t){this.a=t}function rb(t){this.a=t}function ab(t){this.a=t}function ob(t){this.a=t}function sb(t){this.a=t}function cb(t){this.a=t}function lb(t){this.a=t}function ub(t){this.a=t}function hb(t){this.a=t}function fb(t){this.a=t}function db(t){this.c=t}function gb(t){this.b=t}function pb(t){this.a=t}function bb(t){this.a=t}function mb(t){this.a=t}function yb(t){this.a=t}function wb(t){this.a=t}function vb(t){this.a=t}function xb(t){this.a=t}function kb(t){this.a=t}function _b(t){this.a=t}function Tb(t){this.a=t}function Eb(t){this.a=t}function Sb(t){this.a=t}function Cb(t){this.a=t}function Ab(t){this.a=t}function Mb(t){this.a=t}function Lb(t){this.a=t}function Ib(t){this.a=t}function Ob(t){this.a=t}function Nb(t){this.a=t}function Db(t){this.a=t}function Pb(t){this.a=t}function Bb(t){this.a=t}function Rb(t){this.a=t}function Fb(t){this.a=t}function $b(t){this.a=t}function jb(t){this.a=t}function zb(t){this.a=t}function qb(t){this.a=t}function Hb(t){this.a=t}function Ub(t){this.a=t}function Gb(t){this.a=t}function Kb(t){this.a=t}function Yb(t){this.a=t}function Vb(t){this.a=t}function Wb(t){this.a=t}function Xb(t){this.a=t}function Qb(t){this.a=t}function Zb(t){this.a=t}function Jb(t){this.a=t}function tm(t){this.a=t}function em(t){this.a=t}function nm(t){this.a=t}function im(t){this.a=t}function rm(t){this.a=t}function am(t){this.a=t}function om(t){this.a=t}function sm(t){this.a=t}function cm(t){this.a=t}function lm(t){this.a=t}function um(t){this.a=t}function hm(t){this.a=t}function fm(t){this.a=t}function dm(t){this.a=t}function gm(t){this.a=t}function pm(t){this.a=t}function bm(t){this.a=t}function mm(t){this.f=t}function ym(t){this.a=t}function wm(t){this.a=t}function vm(t){this.a=t}function xm(t){this.a=t}function km(t){this.a=t}function _m(t){this.a=t}function Tm(t){this.a=t}function Em(t){this.a=t}function Sm(t){this.a=t}function Cm(t){this.a=t}function Am(t){this.a=t}function Mm(t){this.a=t}function Lm(t){this.a=t}function Im(t){this.a=t}function Om(t){this.a=t}function Nm(t){this.a=t}function Dm(t){this.a=t}function Pm(t){this.a=t}function Bm(t){this.a=t}function Rm(t){this.a=t}function Fm(t){this.a=t}function $m(t){this.a=t}function jm(t){this.a=t}function zm(t){this.a=t}function qm(t){this.a=t}function Hm(t){this.a=t}function Um(t){this.a=t}function Gm(t){this.a=t}function Km(t){this.a=t}function Ym(t){this.a=t}function Vm(t){this.b=t}function Wm(t){this.a=t}function Xm(t){this.a=t}function Qm(t){this.a=t}function Zm(t){this.a=t}function Jm(t){this.a=t}function ty(t){this.a=t}function ey(t){this.a=t}function ny(t){this.b=t}function iy(t){this.a=t}function ry(t){this.a=t}function ay(t){this.a=t}function oy(t){this.a=t}function sy(t){this.c=t}function cy(t){this.e=t}function ly(t){this.a=t}function uy(t){this.a=t}function hy(t){this.a=t}function fy(t){this.d=t}function dy(t){this.a=t}function gy(t){this.a=t}function py(t){this.a=t}function by(t){this.e=t}function my(){_z(this)}function yy(){mI(this)}function wy(){gH(this)}function vy(){}function xy(){this.c=$de}function ky(t,e){t.b+=e}function _y(t){return t.a}function Ty(t){return t.a}function Ey(t){return t.a}function Sy(t){return t.a}function Cy(t){return t.a}function Ay(t){return t.e}function My(){return null}function Ly(){return null}function Iy(t){t.b=new ik}function Oy(t,e){t.b=e-t.b}function Ny(t,e){t.a=e-t.a}function Dy(t,e){t.push(e)}function Py(t,e){t.sort(e)}function By(t,e){e.jd(t.a)}function Ry(t,e){t.e=e,e.b=t}function Fy(t){JB(),this.a=t}function $y(t){JB(),this.a=t}function jy(t){JB(),this.a=t}function zy(t){Sq(),this.a=t}function qy(t){uG(),CHt.le(t)}function Hy(){Hy=E,new my}function Uy(){kN.call(this)}function Gy(){kN.call(this)}function Ky(){Uy.call(this)}function Yy(){Uy.call(this)}function Vy(){Uy.call(this)}function Wy(){Uy.call(this)}function Xy(){Uy.call(this)}function Qy(){Uy.call(this)}function Zy(){Uy.call(this)}function Jy(){Uy.call(this)}function tw(){Uy.call(this)}function ew(){Uy.call(this)}function nw(){Uy.call(this)}function iw(){this.a=this}function rw(){this.Bb|=256}function aw(){this.b=new fL}function ow(t,e){t.length=e}function sw(t,e){SO(t.a,e)}function cw(t,e){Q5(t.e,e)}function lw(t){cgt(t.c,t.b)}function uw(t){this.a=function(t){var e;return(e=Xut(t))>34028234663852886e22?fAt:e<-34028234663852886e22?dAt:e}(t)}function hw(){this.a=new my}function fw(){this.a=new my}function dw(){this.a=new FT}function gw(){this.a=new yy}function pw(){this.a=new yy}function bw(){this.a=new yy}function mw(){this.a=new wt}function yw(){this.a=new YQ}function ww(){this.a=new he}function vw(){this.a=new UK}function xw(){this.a=new KP}function kw(){this.a=new yy}function _w(){this.a=new yy}function Tw(){this.a=new yy}function Ew(){this.a=new yy}function Sw(){this.d=new yy}function Cw(){this.a=new eV}function Aw(){this.a=new hw}function Mw(){this.a=new my}function Lw(){this.b=new my}function Iw(){this.b=new yy}function Ow(){this.e=new yy}function Nw(){this.a=new rf}function Dw(){this.d=new yy}function Pw(){_G.call(this)}function Bw(){_G.call(this)}function Rw(){yy.call(this)}function Fw(){Ky.call(this)}function $w(){gw.call(this)}function jw(){eB.call(this)}function zw(){Ew.call(this)}function qw(){vy.call(this)}function Hw(){qw.call(this)}function Uw(){vy.call(this)}function Gw(){Uw.call(this)}function Kw(){bv.call(this)}function Yw(){bv.call(this)}function Vw(){bv.call(this)}function Ww(){wv.call(this)}function Xw(){Jc.call(this)}function Qw(){Jc.call(this)}function Zw(){jT.call(this)}function Jw(){_v.call(this)}function tv(){_v.call(this)}function ev(){my.call(this)}function nv(){my.call(this)}function iv(){my.call(this)}function rv(){j4.call(this)}function av(){hw.call(this)}function ov(){rw.call(this)}function sv(){jO.call(this)}function cv(){my.call(this)}function lv(){jO.call(this)}function uv(){my.call(this)}function hv(){my.call(this)}function fv(){pl.call(this)}function dv(){fv.call(this)}function gv(){pl.call(this)}function pv(){Lh.call(this)}function bv(){this.a=new hw}function mv(){this.a=new my}function yv(){this.a=new yy}function wv(){this.a=new my}function vv(){this.a=new jT}function xv(){this.j=new yy}function kv(){this.a=new __}function _v(){this.a=new gl}function Tv(){this.a=new Ds}function Ev(){Ev=E,eHt=new a}function Sv(){Sv=E,lHt=new Mv}function Cv(){Cv=E,uHt=new Av}function Av(){Zf.call(this,"")}function Mv(){Zf.call(this,"")}function Lv(t){Z0.call(this,t)}function Iv(t){Z0.call(this,t)}function Ov(t){Gf.call(this,t)}function Nv(t){bT.call(this,t)}function Dv(t){bT.call(this,t)}function Pv(t){Nv.call(this,t)}function Bv(t){Nv.call(this,t)}function Rv(t){Nv.call(this,t)}function Fv(t){lX.call(this,t)}function $v(t){lX.call(this,t)}function jv(t){NB.call(this,t)}function zv(t){vT.call(this,t)}function qv(t){_T.call(this,t)}function Hv(t){_T.call(this,t)}function Uv(t){_T.call(this,t)}function Gv(t){nht.call(this,t)}function Kv(t){Gv.call(this,t)}function Yv(t){Fj.call(this,t)}function Vv(t){Yv.call(this,t)}function Wv(){_d.call(this,{})}function Xv(){Xv=E,PHt=new _}function Qv(){Qv=E,mHt=new hO}function Zv(){Zv=E,kHt=new r}function Jv(){Jv=E,SHt=new m}function tx(){tx=E,MHt=new v}function ex(t){WO(),this.a=t}function nx(t){d5(),this.a=t}function ix(t){sj(),this.f=t}function rx(t){sj(),this.f=t}function ax(t){XB(),this.a=t}function ox(t){t.b=null,t.c=0}function sx(t,e){t.a=e,function(t){var e,n,r;for(function(t){var e,n,r;for(n=new pg(t.a.a.b);n.a0&&(!(tI(t.a.c)&&e.n.d)&&!(eI(t.a.c)&&e.n.b)&&(e.g.d-=i.Math.max(0,r/2-.5)),(!tI(t.a.c)||!e.n.a)&&(!eI(t.a.c)||!e.n.c)&&(e.g.a+=i.Math.max(0,r-1)))}(t),r=new yy,n=new pg(t.a.a.b);n.a0&&(!(tI(t.a.c)&&e.n.d)&&!(eI(t.a.c)&&e.n.b)&&(e.g.d+=i.Math.max(0,r/2-.5)),(!tI(t.a.c)||!e.n.a)&&(!eI(t.a.c)||!e.n.c)&&(e.g.a-=r-1))}(t)}(t)}function cx(t,e,n){t.a[e.g]=n}function lx(t,e,n){!function(t,e,n){var i,r;for(uI(t,t.j+e,t.k+n),r=new zO((!t.a&&(t.a=new AO(zhe,t,5)),t.a));r.e!=r.i.gc();)oI(i=KR(Frt(r),377),i.a+e,i.b+n);lI(t,t.b+e,t.c+n)}(n,t,e)}function ux(t,e){!function(t,e){tI(t.f)?function(t,e){var n,i,r,a,o;for(a=t.g.a,o=t.g.b,i=new pg(t.d);i.a=t.length)return{done:!0};var i=t[n++];return{value:[i,e.get(i)],done:!1}}}},function(){if(!Object.create||!Object.getOwnPropertyNames)return!1;var t="__proto__",e=Object.create(null);return void 0===e[t]&&!(0!=Object.getOwnPropertyNames(e).length||(e[t]=42,42!==e[t])||0==Object.getOwnPropertyNames(e).length)}()||(t.prototype.createObject=function(){return{}},t.prototype.get=function(t){return this.obj[":"+t]},t.prototype.set=function(t,e){this.obj[":"+t]=e},t.prototype[NAt]=function(t){delete this.obj[":"+t]},t.prototype.keys=function(){var t=[];for(var e in this.obj)58==e.charCodeAt(0)&&t.push(e.substring(1));return t}),t}()}()}function Vk(){Vk=E,khe=function(){var t,e;Jxt();try{if(e=KR(Lct(($E(),Qfe),VFt),2113))return e}catch(e){if(!rO(e=j6(e),103))throw Ay(e);t=e,aq((LI(),t))}return new nl}()}function Wk(){var t;Wk=E,_he=tfe?KR(Cpt(($E(),Qfe),VFt),2115):(t=KR(rO(ZG(($E(),Qfe),VFt),569)?ZG(Qfe,VFt):new Igt,569),tfe=!0,function(t){t.q||(t.q=!0,t.p=r6(t,0),t.a=r6(t,1),j3(t.a,0),t.f=r6(t,2),j3(t.f,1),$3(t.f,2),t.n=r6(t,3),$3(t.n,3),$3(t.n,4),$3(t.n,5),$3(t.n,6),t.g=r6(t,4),j3(t.g,7),$3(t.g,8),t.c=r6(t,5),j3(t.c,7),j3(t.c,8),t.i=r6(t,6),j3(t.i,9),j3(t.i,10),j3(t.i,11),j3(t.i,12),$3(t.i,13),t.j=r6(t,7),j3(t.j,9),t.d=r6(t,8),j3(t.d,3),j3(t.d,4),j3(t.d,5),j3(t.d,6),$3(t.d,7),$3(t.d,8),$3(t.d,9),$3(t.d,10),t.b=r6(t,9),$3(t.b,0),$3(t.b,1),t.e=r6(t,10),$3(t.e,1),$3(t.e,2),$3(t.e,3),$3(t.e,4),j3(t.e,5),j3(t.e,6),j3(t.e,7),j3(t.e,8),j3(t.e,9),j3(t.e,10),$3(t.e,11),t.k=r6(t,11),$3(t.k,0),$3(t.k,1),t.o=a6(t,12),t.s=a6(t,13))}(t),function(t){var e,n,i,r,a,o,s;t.r||(t.r=!0,B3(t,"graph"),R3(t,"graph"),F3(t,VFt),P6(t.o,"T"),sJ(PG(t.a),t.p),sJ(PG(t.f),t.a),sJ(PG(t.n),t.f),sJ(PG(t.g),t.n),sJ(PG(t.c),t.n),sJ(PG(t.i),t.c),sJ(PG(t.j),t.c),sJ(PG(t.d),t.f),sJ(PG(t.e),t.a),EV(t.p,dYt,cLt,!0,!0,!1),s=Q6(o=C8(t.p,t.p,"setProperty")),e=IU(t.o),n=new xy,sJ((!e.d&&(e.d=new AO(ede,e,1)),e.d),n),Wct(n,i=OU(s)),Mct(o,e,WFt),Mct(o,e=OU(s),XFt),s=Q6(o=C8(t.p,null,"getProperty")),e=IU(t.o),n=OU(s),sJ((!e.d&&(e.d=new AO(ede,e,1)),e.d),n),Mct(o,e,WFt),(a=Klt(o,e=OU(s),null))&&a.oj(),o=C8(t.p,t.wb.e,"hasProperty"),e=IU(t.o),n=new xy,sJ((!e.d&&(e.d=new AO(ede,e,1)),e.d),n),Mct(o,e,WFt),ost(o=C8(t.p,t.p,"copyProperties"),t.p,QFt),o=C8(t.p,null,"getAllProperties"),e=IU(t.wb.P),n=IU(t.o),sJ((!e.d&&(e.d=new AO(ede,e,1)),e.d),n),i=new xy,sJ((!n.d&&(n.d=new AO(ede,n,1)),n.d),i),n=IU(t.wb.M),sJ((!e.d&&(e.d=new AO(ede,e,1)),e.d),n),(r=Klt(o,e,null))&&r.oj(),EV(t.a,jhe,wFt,!0,!1,!0),ist(KR(l2(iG(t.a),0),19),t.k,null,ZFt,0,-1,jhe,!1,!1,!0,!0,!1,!1,!1),EV(t.f,qhe,xFt,!0,!1,!0),ist(KR(l2(iG(t.f),0),19),t.g,KR(l2(iG(t.g),0),19),"labels",0,-1,qhe,!1,!1,!0,!0,!1,!1,!1),i5(KR(l2(iG(t.f),1),35),t.wb._,JFt,null,0,1,qhe,!1,!1,!0,!1,!0,!1),EV(t.n,Hhe,"ElkShape",!0,!1,!0),i5(KR(l2(iG(t.n),0),35),t.wb.t,t$t,_At,1,1,Hhe,!1,!1,!0,!1,!0,!1),i5(KR(l2(iG(t.n),1),35),t.wb.t,e$t,_At,1,1,Hhe,!1,!1,!0,!1,!0,!1),i5(KR(l2(iG(t.n),2),35),t.wb.t,"x",_At,1,1,Hhe,!1,!1,!0,!1,!0,!1),i5(KR(l2(iG(t.n),3),35),t.wb.t,"y",_At,1,1,Hhe,!1,!1,!0,!1,!0,!1),ost(o=C8(t.n,null,"setDimensions"),t.wb.t,e$t),ost(o,t.wb.t,t$t),ost(o=C8(t.n,null,"setLocation"),t.wb.t,"x"),ost(o,t.wb.t,"y"),EV(t.g,Qhe,CFt,!1,!1,!0),ist(KR(l2(iG(t.g),0),19),t.f,KR(l2(iG(t.f),0),19),n$t,0,1,Qhe,!1,!1,!0,!1,!1,!1,!1),i5(KR(l2(iG(t.g),1),35),t.wb._,i$t,"",0,1,Qhe,!1,!1,!0,!1,!0,!1),EV(t.c,Uhe,kFt,!0,!1,!0),ist(KR(l2(iG(t.c),0),19),t.d,KR(l2(iG(t.d),1),19),"outgoingEdges",0,-1,Uhe,!1,!1,!0,!1,!0,!1,!1),ist(KR(l2(iG(t.c),1),19),t.d,KR(l2(iG(t.d),2),19),"incomingEdges",0,-1,Uhe,!1,!1,!0,!1,!0,!1,!1),EV(t.i,Zhe,AFt,!1,!1,!0),ist(KR(l2(iG(t.i),0),19),t.j,KR(l2(iG(t.j),0),19),"ports",0,-1,Zhe,!1,!1,!0,!0,!1,!1,!1),ist(KR(l2(iG(t.i),1),19),t.i,KR(l2(iG(t.i),2),19),r$t,0,-1,Zhe,!1,!1,!0,!0,!1,!1,!1),ist(KR(l2(iG(t.i),2),19),t.i,KR(l2(iG(t.i),1),19),n$t,0,1,Zhe,!1,!1,!0,!1,!1,!1,!1),ist(KR(l2(iG(t.i),3),19),t.d,KR(l2(iG(t.d),0),19),"containedEdges",0,-1,Zhe,!1,!1,!0,!0,!1,!1,!1),i5(KR(l2(iG(t.i),4),35),t.wb.e,a$t,null,0,1,Zhe,!0,!0,!1,!1,!0,!0),EV(t.j,Jhe,MFt,!1,!1,!0),ist(KR(l2(iG(t.j),0),19),t.i,KR(l2(iG(t.i),0),19),n$t,0,1,Jhe,!1,!1,!0,!1,!1,!1,!1),EV(t.d,Ghe,_Ft,!1,!1,!0),ist(KR(l2(iG(t.d),0),19),t.i,KR(l2(iG(t.i),3),19),"containingNode",0,1,Ghe,!1,!1,!0,!1,!1,!1,!1),ist(KR(l2(iG(t.d),1),19),t.c,KR(l2(iG(t.c),0),19),o$t,0,-1,Ghe,!1,!1,!0,!1,!0,!1,!1),ist(KR(l2(iG(t.d),2),19),t.c,KR(l2(iG(t.c),1),19),s$t,0,-1,Ghe,!1,!1,!0,!1,!0,!1,!1),ist(KR(l2(iG(t.d),3),19),t.e,KR(l2(iG(t.e),5),19),c$t,0,-1,Ghe,!1,!1,!0,!0,!1,!1,!1),i5(KR(l2(iG(t.d),4),35),t.wb.e,"hyperedge",null,0,1,Ghe,!0,!0,!1,!1,!0,!0),i5(KR(l2(iG(t.d),5),35),t.wb.e,a$t,null,0,1,Ghe,!0,!0,!1,!1,!0,!0),i5(KR(l2(iG(t.d),6),35),t.wb.e,"selfloop",null,0,1,Ghe,!0,!0,!1,!1,!0,!0),i5(KR(l2(iG(t.d),7),35),t.wb.e,"connected",null,0,1,Ghe,!0,!0,!1,!1,!0,!0),EV(t.b,zhe,vFt,!1,!1,!0),i5(KR(l2(iG(t.b),0),35),t.wb.t,"x",_At,1,1,zhe,!1,!1,!0,!1,!0,!1),i5(KR(l2(iG(t.b),1),35),t.wb.t,"y",_At,1,1,zhe,!1,!1,!0,!1,!0,!1),ost(o=C8(t.b,null,"set"),t.wb.t,"x"),ost(o,t.wb.t,"y"),EV(t.e,Khe,TFt,!1,!1,!0),i5(KR(l2(iG(t.e),0),35),t.wb.t,"startX",null,0,1,Khe,!1,!1,!0,!1,!0,!1),i5(KR(l2(iG(t.e),1),35),t.wb.t,"startY",null,0,1,Khe,!1,!1,!0,!1,!0,!1),i5(KR(l2(iG(t.e),2),35),t.wb.t,"endX",null,0,1,Khe,!1,!1,!0,!1,!0,!1),i5(KR(l2(iG(t.e),3),35),t.wb.t,"endY",null,0,1,Khe,!1,!1,!0,!1,!0,!1),ist(KR(l2(iG(t.e),4),19),t.b,null,l$t,0,-1,Khe,!1,!1,!0,!0,!1,!1,!1),ist(KR(l2(iG(t.e),5),19),t.d,KR(l2(iG(t.d),3),19),n$t,0,1,Khe,!1,!1,!0,!1,!1,!1,!1),ist(KR(l2(iG(t.e),6),19),t.c,null,u$t,0,1,Khe,!1,!1,!0,!1,!0,!1,!1),ist(KR(l2(iG(t.e),7),19),t.c,null,h$t,0,1,Khe,!1,!1,!0,!1,!0,!1,!1),ist(KR(l2(iG(t.e),8),19),t.e,KR(l2(iG(t.e),9),19),f$t,0,-1,Khe,!1,!1,!0,!1,!0,!1,!1),ist(KR(l2(iG(t.e),9),19),t.e,KR(l2(iG(t.e),8),19),d$t,0,-1,Khe,!1,!1,!0,!1,!0,!1,!1),i5(KR(l2(iG(t.e),10),35),t.wb._,JFt,null,0,1,Khe,!1,!1,!0,!1,!0,!1),ost(o=C8(t.e,null,"setStartLocation"),t.wb.t,"x"),ost(o,t.wb.t,"y"),ost(o=C8(t.e,null,"setEndLocation"),t.wb.t,"x"),ost(o,t.wb.t,"y"),EV(t.k,dHt,"ElkPropertyToValueMapEntry",!1,!1,!1),e=IU(t.o),n=new xy,sJ((!e.d&&(e.d=new AO(ede,e,1)),e.d),n),dgt(KR(l2(iG(t.k),0),35),e,"key",dHt,!1,!1,!0,!1),i5(KR(l2(iG(t.k),1),35),t.s,XFt,null,0,1,dHt,!1,!1,!0,!1,!0,!1),VH(t.o,Yae,"IProperty",!0),VH(t.s,nHt,"PropertyValue",!0),C9(t,VFt))}(t),nst(t),tY(Qfe,VFt,t),t)}function Xk(){Xk=E,yfe=g4()}function Qk(){Qk=E,ode=function(){var t,e;Jxt();try{if(e=KR(Lct(($E(),Qfe),kzt),2040))return e}catch(e){if(!rO(e=j6(e),103))throw Ay(e);t=e,aq((LI(),t))}return new Rl}()}function Zk(){Zk=E,xge=function(){var t,e;BJ();try{if(e=KR(Lct(($E(),Qfe),Jzt),2122))return e}catch(e){if(!rO(e=j6(e),103))throw Ay(e);t=e,aq((LI(),t))}return new Lu}()}function Jk(){var t;Jk=E,kge=ape?KR(Cpt(($E(),Qfe),Jzt),2044):(TL(vge,new Hu),TL(Qge,new th),TL(Zge,new hh),TL(Jge,new kh),TL(fUt,new Sh),TL(rk(qpe,1),new Ch),TL(KHt,new Ah),TL(VHt,new Mh),TL(fUt,new Ou),TL(fUt,new Nu),TL(fUt,new Du),TL(ZHt,new Pu),TL(fUt,new Bu),TL(cHt,new Ru),TL(cHt,new Fu),TL(fUt,new $u),TL(JHt,new zu),TL(fUt,new qu),TL(fUt,new Uu),TL(fUt,new Gu),TL(fUt,new Ku),TL(fUt,new Yu),TL(rk(qpe,1),new Vu),TL(fUt,new Wu),TL(fUt,new Xu),TL(cHt,new Qu),TL(cHt,new Zu),TL(fUt,new Ju),TL(nUt,new eh),TL(fUt,new nh),TL(cUt,new ih),TL(fUt,new rh),TL(fUt,new ah),TL(fUt,new oh),TL(fUt,new sh),TL(cHt,new ch),TL(cHt,new lh),TL(fUt,new uh),TL(fUt,new fh),TL(fUt,new dh),TL(fUt,new gh),TL(fUt,new ph),TL(fUt,new bh),TL(uUt,new mh),TL(fUt,new yh),TL(fUt,new wh),TL(fUt,new vh),TL(uUt,new xh),TL(cUt,new _h),TL(fUt,new Th),TL(nUt,new Eh),t=KR(rO(ZG(($E(),Qfe),Jzt),594)?ZG(Qfe,Jzt):new CH,594),ape=!0,function(t){t.N||(t.N=!0,t.b=r6(t,0),$3(t.b,0),$3(t.b,1),$3(t.b,2),t.bb=r6(t,1),$3(t.bb,0),$3(t.bb,1),t.fb=r6(t,2),$3(t.fb,3),$3(t.fb,4),j3(t.fb,5),t.qb=r6(t,3),$3(t.qb,0),j3(t.qb,1),j3(t.qb,2),$3(t.qb,3),$3(t.qb,4),j3(t.qb,5),$3(t.qb,6),t.a=a6(t,4),t.c=a6(t,5),t.d=a6(t,6),t.e=a6(t,7),t.f=a6(t,8),t.g=a6(t,9),t.i=a6(t,10),t.j=a6(t,11),t.k=a6(t,12),t.n=a6(t,13),t.o=a6(t,14),t.p=a6(t,15),t.q=a6(t,16),t.s=a6(t,17),t.r=a6(t,18),t.t=a6(t,19),t.u=a6(t,20),t.v=a6(t,21),t.w=a6(t,22),t.B=a6(t,23),t.A=a6(t,24),t.C=a6(t,25),t.D=a6(t,26),t.F=a6(t,27),t.G=a6(t,28),t.H=a6(t,29),t.J=a6(t,30),t.I=a6(t,31),t.K=a6(t,32),t.M=a6(t,33),t.L=a6(t,34),t.P=a6(t,35),t.Q=a6(t,36),t.R=a6(t,37),t.S=a6(t,38),t.T=a6(t,39),t.U=a6(t,40),t.V=a6(t,41),t.X=a6(t,42),t.W=a6(t,43),t.Y=a6(t,44),t.Z=a6(t,45),t.$=a6(t,46),t._=a6(t,47),t.ab=a6(t,48),t.cb=a6(t,49),t.db=a6(t,50),t.eb=a6(t,51),t.gb=a6(t,52),t.hb=a6(t,53),t.ib=a6(t,54),t.jb=a6(t,55),t.kb=a6(t,56),t.lb=a6(t,57),t.mb=a6(t,58),t.nb=a6(t,59),t.ob=a6(t,60),t.pb=a6(t,61))}(t),function(t){var e;t.O||(t.O=!0,B3(t,"type"),R3(t,"ecore.xml.type"),F3(t,Jzt),e=KR(Cpt(($E(),Qfe),Jzt),2044),sJ(PG(t.fb),t.b),EV(t.b,vge,"AnyType",!1,!1,!0),i5(KR(l2(iG(t.b),0),35),t.wb.D,hzt,null,0,-1,vge,!1,!1,!0,!1,!1,!1),i5(KR(l2(iG(t.b),1),35),t.wb.D,"any",null,0,-1,vge,!0,!0,!0,!1,!1,!0),i5(KR(l2(iG(t.b),2),35),t.wb.D,"anyAttribute",null,0,-1,vge,!1,!1,!0,!1,!1,!1),EV(t.bb,Qge,rqt,!1,!1,!0),i5(KR(l2(iG(t.bb),0),35),t.gb,"data",null,0,1,Qge,!1,!1,!0,!1,!0,!1),i5(KR(l2(iG(t.bb),1),35),t.gb,T$t,null,1,1,Qge,!1,!1,!0,!1,!0,!1),EV(t.fb,Zge,aqt,!1,!1,!0),i5(KR(l2(iG(t.fb),0),35),e.gb,"rawValue",null,0,1,Zge,!0,!0,!0,!1,!0,!0),i5(KR(l2(iG(t.fb),1),35),e.a,XFt,null,0,1,Zge,!0,!0,!0,!1,!0,!0),ist(KR(l2(iG(t.fb),2),19),t.wb.q,null,"instanceType",1,1,Zge,!1,!1,!0,!1,!1,!1,!1),EV(t.qb,Jge,oqt,!1,!1,!0),i5(KR(l2(iG(t.qb),0),35),t.wb.D,hzt,null,0,-1,null,!1,!1,!0,!1,!1,!1),ist(KR(l2(iG(t.qb),1),19),t.wb.ab,null,"xMLNSPrefixMap",0,-1,null,!0,!1,!0,!0,!1,!1,!1),ist(KR(l2(iG(t.qb),2),19),t.wb.ab,null,"xSISchemaLocation",0,-1,null,!0,!1,!0,!0,!1,!1,!1),i5(KR(l2(iG(t.qb),3),35),t.gb,"cDATA",null,0,-2,null,!0,!0,!0,!1,!1,!0),i5(KR(l2(iG(t.qb),4),35),t.gb,"comment",null,0,-2,null,!0,!0,!0,!1,!1,!0),ist(KR(l2(iG(t.qb),5),19),t.bb,null,Oqt,0,-2,null,!0,!0,!0,!0,!1,!1,!0),i5(KR(l2(iG(t.qb),6),35),t.gb,i$t,null,0,-2,null,!0,!0,!0,!1,!1,!0),VH(t.a,nHt,"AnySimpleType",!0),VH(t.c,fUt,"AnyURI",!0),VH(t.d,rk(qpe,1),"Base64Binary",!0),VH(t.e,jpe,"Boolean",!0),VH(t.f,KHt,"BooleanObject",!0),VH(t.g,qpe,"Byte",!0),VH(t.i,VHt,"ByteObject",!0),VH(t.j,fUt,"Date",!0),VH(t.k,fUt,"DateTime",!0),VH(t.n,xUt,"Decimal",!0),VH(t.o,Hpe,"Double",!0),VH(t.p,ZHt,"DoubleObject",!0),VH(t.q,fUt,"Duration",!0),VH(t.s,cHt,"ENTITIES",!0),VH(t.r,cHt,"ENTITIESBase",!0),VH(t.t,fUt,fqt,!0),VH(t.u,Upe,"Float",!0),VH(t.v,JHt,"FloatObject",!0),VH(t.w,fUt,"GDay",!0),VH(t.B,fUt,"GMonth",!0),VH(t.A,fUt,"GMonthDay",!0),VH(t.C,fUt,"GYear",!0),VH(t.D,fUt,"GYearMonth",!0),VH(t.F,rk(qpe,1),"HexBinary",!0),VH(t.G,fUt,"ID",!0),VH(t.H,fUt,"IDREF",!0),VH(t.J,cHt,"IDREFS",!0),VH(t.I,cHt,"IDREFSBase",!0),VH(t.K,$pe,"Int",!0),VH(t.M,OUt,"Integer",!0),VH(t.L,nUt,"IntObject",!0),VH(t.P,fUt,"Language",!0),VH(t.Q,zpe,"Long",!0),VH(t.R,cUt,"LongObject",!0),VH(t.S,fUt,"Name",!0),VH(t.T,fUt,dqt,!0),VH(t.U,OUt,"NegativeInteger",!0),VH(t.V,fUt,_qt,!0),VH(t.X,cHt,"NMTOKENS",!0),VH(t.W,cHt,"NMTOKENSBase",!0),VH(t.Y,OUt,"NonNegativeInteger",!0),VH(t.Z,OUt,"NonPositiveInteger",!0),VH(t.$,fUt,"NormalizedString",!0),VH(t._,fUt,"NOTATION",!0),VH(t.ab,fUt,"PositiveInteger",!0),VH(t.cb,fUt,"QName",!0),VH(t.db,Gpe,"Short",!0),VH(t.eb,uUt,"ShortObject",!0),VH(t.gb,fUt,yCt,!0),VH(t.hb,fUt,"Time",!0),VH(t.ib,fUt,"Token",!0),VH(t.jb,Gpe,"UnsignedByte",!0),VH(t.kb,uUt,"UnsignedByteObject",!0),VH(t.lb,zpe,"UnsignedInt",!0),VH(t.mb,cUt,"UnsignedIntObject",!0),VH(t.nb,OUt,"UnsignedLong",!0),VH(t.ob,$pe,"UnsignedShort",!0),VH(t.pb,nUt,"UnsignedShortObject",!0),C9(t,Jzt),function(t){Bpt(t.a,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"anySimpleType"])),Bpt(t.b,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"anyType",dzt,hzt])),Bpt(KR(l2(iG(t.b),0),35),fzt,t7(rk(fUt,1),RSt,2,6,[dzt,Kzt,A$t,":mixed"])),Bpt(KR(l2(iG(t.b),1),35),fzt,t7(rk(fUt,1),RSt,2,6,[dzt,Kzt,Zzt,tqt,A$t,":1",lqt,"lax"])),Bpt(KR(l2(iG(t.b),2),35),fzt,t7(rk(fUt,1),RSt,2,6,[dzt,Uzt,Zzt,tqt,A$t,":2",lqt,"lax"])),Bpt(t.c,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"anyURI",Qzt,Yzt])),Bpt(t.d,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"base64Binary",Qzt,Yzt])),Bpt(t.e,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,aSt,Qzt,Yzt])),Bpt(t.f,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"boolean:Object",Ezt,aSt])),Bpt(t.g,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,Jjt])),Bpt(t.i,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"byte:Object",Ezt,Jjt])),Bpt(t.j,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"date",Qzt,Yzt])),Bpt(t.k,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"dateTime",Qzt,Yzt])),Bpt(t.n,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"decimal",Qzt,Yzt])),Bpt(t.o,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,ezt,Qzt,Yzt])),Bpt(t.p,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"double:Object",Ezt,ezt])),Bpt(t.q,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"duration",Qzt,Yzt])),Bpt(t.s,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"ENTITIES",Ezt,uqt,hqt,"1"])),Bpt(t.r,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,uqt,Vzt,fqt])),Bpt(t.t,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,fqt,Ezt,dqt])),Bpt(t.u,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,nzt,Qzt,Yzt])),Bpt(t.v,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"float:Object",Ezt,nzt])),Bpt(t.w,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"gDay",Qzt,Yzt])),Bpt(t.B,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"gMonth",Qzt,Yzt])),Bpt(t.A,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"gMonthDay",Qzt,Yzt])),Bpt(t.C,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"gYear",Qzt,Yzt])),Bpt(t.D,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"gYearMonth",Qzt,Yzt])),Bpt(t.F,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"hexBinary",Qzt,Yzt])),Bpt(t.G,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"ID",Ezt,dqt])),Bpt(t.H,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"IDREF",Ezt,dqt])),Bpt(t.J,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"IDREFS",Ezt,gqt,hqt,"1"])),Bpt(t.I,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,gqt,Vzt,"IDREF"])),Bpt(t.K,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,izt])),Bpt(t.M,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,pqt])),Bpt(t.L,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"int:Object",Ezt,izt])),Bpt(t.P,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"language",Ezt,bqt,mqt,yqt])),Bpt(t.Q,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,rzt])),Bpt(t.R,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"long:Object",Ezt,rzt])),Bpt(t.S,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"Name",Ezt,bqt,mqt,wqt])),Bpt(t.T,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,dqt,Ezt,"Name",mqt,vqt])),Bpt(t.U,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"negativeInteger",Ezt,xqt,kqt,"-1"])),Bpt(t.V,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,_qt,Ezt,bqt,mqt,"\\c+"])),Bpt(t.X,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"NMTOKENS",Ezt,Tqt,hqt,"1"])),Bpt(t.W,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,Tqt,Vzt,_qt])),Bpt(t.Y,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,Eqt,Ezt,pqt,Sqt,"0"])),Bpt(t.Z,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,xqt,Ezt,pqt,kqt,"0"])),Bpt(t.$,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,Cqt,Ezt,sSt,Qzt,"replace"])),Bpt(t._,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"NOTATION",Qzt,Yzt])),Bpt(t.ab,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"positiveInteger",Ezt,Eqt,Sqt,"1"])),Bpt(t.bb,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"processingInstruction_._type",dzt,"empty"])),Bpt(KR(l2(iG(t.bb),0),35),fzt,t7(rk(fUt,1),RSt,2,6,[dzt,Hzt,A$t,"data"])),Bpt(KR(l2(iG(t.bb),1),35),fzt,t7(rk(fUt,1),RSt,2,6,[dzt,Hzt,A$t,T$t])),Bpt(t.cb,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"QName",Qzt,Yzt])),Bpt(t.db,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,azt])),Bpt(t.eb,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"short:Object",Ezt,azt])),Bpt(t.fb,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"simpleAnyType",dzt,qzt])),Bpt(KR(l2(iG(t.fb),0),35),fzt,t7(rk(fUt,1),RSt,2,6,[A$t,":3",dzt,qzt])),Bpt(KR(l2(iG(t.fb),1),35),fzt,t7(rk(fUt,1),RSt,2,6,[A$t,":4",dzt,qzt])),Bpt(KR(l2(iG(t.fb),2),19),fzt,t7(rk(fUt,1),RSt,2,6,[A$t,":5",dzt,qzt])),Bpt(t.gb,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,sSt,Qzt,"preserve"])),Bpt(t.hb,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"time",Qzt,Yzt])),Bpt(t.ib,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,bqt,Ezt,Cqt,Qzt,Yzt])),Bpt(t.jb,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,Aqt,kqt,"255",Sqt,"0"])),Bpt(t.kb,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"unsignedByte:Object",Ezt,Aqt])),Bpt(t.lb,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,Mqt,kqt,"4294967295",Sqt,"0"])),Bpt(t.mb,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"unsignedInt:Object",Ezt,Mqt])),Bpt(t.nb,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"unsignedLong",Ezt,Eqt,kqt,Lqt,Sqt,"0"])),Bpt(t.ob,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,Iqt,kqt,"65535",Sqt,"0"])),Bpt(t.pb,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"unsignedShort:Object",Ezt,Iqt])),Bpt(t.qb,fzt,t7(rk(fUt,1),RSt,2,6,[A$t,"",dzt,hzt])),Bpt(KR(l2(iG(t.qb),0),35),fzt,t7(rk(fUt,1),RSt,2,6,[dzt,Kzt,A$t,":mixed"])),Bpt(KR(l2(iG(t.qb),1),19),fzt,t7(rk(fUt,1),RSt,2,6,[dzt,Hzt,A$t,"xmlns:prefix"])),Bpt(KR(l2(iG(t.qb),2),19),fzt,t7(rk(fUt,1),RSt,2,6,[dzt,Hzt,A$t,"xsi:schemaLocation"])),Bpt(KR(l2(iG(t.qb),3),35),fzt,t7(rk(fUt,1),RSt,2,6,[dzt,Gzt,A$t,"cDATA",Wzt,Xzt])),Bpt(KR(l2(iG(t.qb),4),35),fzt,t7(rk(fUt,1),RSt,2,6,[dzt,Gzt,A$t,"comment",Wzt,Xzt])),Bpt(KR(l2(iG(t.qb),5),19),fzt,t7(rk(fUt,1),RSt,2,6,[dzt,Gzt,A$t,Oqt,Wzt,Xzt])),Bpt(KR(l2(iG(t.qb),6),35),fzt,t7(rk(fUt,1),RSt,2,6,[dzt,Gzt,A$t,i$t,Wzt,Xzt]))}(t))}(t),LH((DE(),ade),t,new Iu),nst(t),tY(Qfe,Jzt,t),t)}function t_(t){return t.e&&t.e()}function e_(t){return t.l|t.m<<22}function n_(t,e){return t.c._b(e)}function i_(t,e){return ott(t.b,e)}function r_(t){return t?t.d:null}function a_(t){return UD(t),t.o}function o_(t,e){return t.a+=e,t}function s_(t,e){return t.a+=e,t}function c_(t,e){return t.a+=e,t}function l_(t,e){return t.a+=e,t}function u_(t,e){for(;t.Bd(e););}function h_(t){this.a=new RT(t)}function f_(){throw Ay(new Zy)}function d_(){throw Ay(new Zy)}function g_(){throw Ay(new Zy)}function p_(){throw Ay(new Zy)}function b_(){throw Ay(new Zy)}function m_(){throw Ay(new Zy)}function y_(t){this.a=new Rj(t)}function w_(){this.a=new Lbt(Fee)}function v_(){this.b=new Lbt($9t)}function x_(){this.a=new Lbt(Zne)}function k_(){this.b=new Lbt(Nre)}function __(){this.b=new Lbt(Nre)}function T_(t){this.a=0,this.b=t}function E_(t){TTt(),function(t,e){var n,i,r,a,o,s,c,l;if(n=0,o=0,a=e.length,s=null,l=new Wx,o1?kV(e.a[0],e.a[1]):kV(e.a[0],0),zV(e.e>0?n:d1(n))))}(t,new pI(c));for(t.d=l.a.length,r=0;r0}(KR(t,27))?ON(i,(Art(),Xae))||ON(i,Qae):ON(i,(Art(),Xae));if(rO(t,326))return ON(i,(Art(),Vae));if(rO(t,193))return ON(i,(Art(),Zae));if(rO(t,366))return ON(i,(Art(),Wae))}return!0}(t,e)}function L_(t,e,n){t.splice(e,n)}function I_(t,e){for(;t.Re(e););}function O_(t){t.c?oyt(t):syt(t)}function N_(){throw Ay(new Zy)}function D_(){throw Ay(new Zy)}function P_(){throw Ay(new Zy)}function B_(){throw Ay(new Zy)}function R_(){throw Ay(new Zy)}function F_(){throw Ay(new Zy)}function $_(){throw Ay(new Zy)}function j_(){throw Ay(new Zy)}function z_(){throw Ay(new Zy)}function q_(){throw Ay(new Zy)}function H_(t){this.a=new U_(t)}function U_(t){!function(t,e,n){var i;t.b=e,t.a=n,i=512==(512&t.a)?new pv:new Lh,t.c=function(t,e,n){var i,r,a;if(t.e=n,t.d=0,t.b=0,t.f=1,t.i=e,16==(16&t.e)&&(t.i=function(t){var e,n,i,r,a;for(i=t.length,e=new Yx,a=0;ae&&e0)){if(a=-1,32==JH(h.c,0)){if(f=u[0],n0(e,u),u[0]>f)continue}else if(IG(e,h.c,u[0])){u[0]+=h.c.length;continue}return 0}if(a<0&&h.a&&(a=l,o=u[0],r=0),a>=0){if(c=h.b,l==a&&0==(c-=r++))return 0;if(!$Tt(e,u,h,c,s)){l=a-1,u[0]=o;continue}}else if(a=-1,!$Tt(e,u,h,0,s))return 0}return function(t,e){var n,r,a,o,s,c;if(0==t.e&&t.p>0&&(t.p=-(t.p-1)),t.p>gCt&&YW(e,t.p-FCt),s=e.q.getDate(),kK(e,1),t.k>=0&&function(t,e){var n;n=t.q.getHours(),t.q.setMonth(e),Ixt(t,n)}(e,t.k),t.c>=0?kK(e,t.c):t.k>=0?(r=35-new B7(e.q.getFullYear()-FCt,e.q.getMonth(),35).q.getDate(),kK(e,i.Math.min(r,s))):kK(e,s),t.f<0&&(t.f=e.q.getHours()),t.b>0&&t.f<12&&(t.f+=12),function(t,e){t.q.setHours(e),Ixt(t,e)}(e,24==t.f&&t.g?0:t.f),t.j>=0&&function(t,e){var n;n=t.q.getHours()+(e/60|0),t.q.setMinutes(e),Ixt(t,n)}(e,t.j),t.n>=0&&function(t,e){var n;n=t.q.getHours()+(e/3600|0),t.q.setSeconds(e),Ixt(t,n)}(e,t.n),t.i>=0&&EL(e,Set(Cet(yct(h6(e.q.getTime()),TCt),TCt),t.i)),t.a&&(YW(a=new TT,a.q.getFullYear()-FCt-80),XE(h6(e.q.getTime()),h6(a.q.getTime()))&&YW(e,a.q.getFullYear()-FCt+100)),t.d>=0)if(-1==t.c)(n=(7+t.d-e.q.getDay())%7)>3&&(n-=7),c=e.q.getMonth(),kK(e,e.q.getDate()+n),e.q.getMonth()!=c&&kK(e,e.q.getDate()+(n>0?-7:7));else if(e.q.getDay()!=t.d)return!1;return t.o>gCt&&(o=e.q.getTimezoneOffset(),EL(e,Set(h6(e.q.getTime()),60*(t.o-o)*TCt))),!0}(s,n)?u[0]:0}(t,e,a=new B7((r=new TT).q.getFullYear()-FCt,r.q.getMonth(),r.q.getDate())))||n0}function XE(t,e){return F9(t,e)<0}function QE(t,e){return q$(t.a,e)}function ZE(t,e){$K.call(this,t,e)}function JE(t){Cq(),NB.call(this,t)}function tS(t,e){Q$(t,t.length,e)}function eS(t,e){Qz(t,t.length,e)}function nS(t,e){return t.a.get(e)}function iS(t,e){return mz(t.e,e)}function rS(t){return yH(t),!1}function aS(t){this.a=KR(kq(t),229)}function oS(t){OY.call(this,t,21)}function sS(t,e){gT.call(this,t,e)}function cS(t,e){gT.call(this,t,e)}function lS(t,e){this.b=t,this.a=e}function uS(t,e){this.d=t,this.e=e}function hS(t,e){this.a=t,this.b=e}function fS(t,e){this.a=t,this.b=e}function dS(t,e){this.a=t,this.b=e}function gS(t,e){this.a=t,this.b=e}function pS(t,e){this.a=t,this.b=e}function bS(t,e){this.b=t,this.a=e}function mS(t,e){this.b=t,this.a=e}function yS(t,e){gT.call(this,t,e)}function wS(t,e){gT.call(this,t,e)}function vS(t,e){gT.call(this,t,e)}function xS(t,e){gT.call(this,t,e)}function kS(t,e){gT.call(this,t,e)}function _S(t,e){gT.call(this,t,e)}function TS(t,e){gT.call(this,t,e)}function ES(t,e){this.b=t,this.a=e}function SS(t,e){gT.call(this,t,e)}function CS(t,e){this.b=t,this.a=e}function AS(t,e){gT.call(this,t,e)}function MS(t,e){this.b=t,this.a=e}function LS(t,e){gT.call(this,t,e)}function IS(t,e){gT.call(this,t,e)}function OS(t,e){gT.call(this,t,e)}function NS(t,e,n){t.splice(e,0,n)}function DS(t,e){gT.call(this,t,e)}function PS(t,e){gT.call(this,t,e)}function BS(t,e){gT.call(this,t,e)}function RS(t,e){gT.call(this,t,e)}function FS(t,e){gT.call(this,t,e)}function $S(t,e){gT.call(this,t,e)}function jS(t,e){this.a=t,this.b=e}function zS(t,e){this.a=t,this.b=e}function qS(t,e){this.a=t,this.b=e}function HS(t,e){this.a=t,this.b=e}function US(t,e){this.a=t,this.b=e}function GS(t,e){this.a=t,this.b=e}function KS(t,e){this.b=t,this.a=e}function YS(t,e){this.b=t,this.a=e}function VS(t,e){this.b=t,this.a=e}function WS(t,e){this.c=t,this.d=e}function XS(t,e){this.e=t,this.d=e}function QS(t,e){this.a=t,this.b=e}function ZS(t,e){this.a=t,this.b=e}function JS(t,e){this.a=t,this.b=e}function tC(t,e){this.b=t,this.a=e}function eC(t,e){this.b=e,this.c=t}function nC(t,e){gT.call(this,t,e)}function iC(t,e){gT.call(this,t,e)}function rC(t,e){gT.call(this,t,e)}function aC(t,e){gT.call(this,t,e)}function oC(t,e){gT.call(this,t,e)}function sC(t,e){gT.call(this,t,e)}function cC(t,e){gT.call(this,t,e)}function lC(t,e){gT.call(this,t,e)}function uC(t,e){gT.call(this,t,e)}function hC(t,e){gT.call(this,t,e)}function fC(t,e){gT.call(this,t,e)}function dC(t,e){gT.call(this,t,e)}function gC(t,e){gT.call(this,t,e)}function pC(t,e){gT.call(this,t,e)}function bC(t,e){gT.call(this,t,e)}function mC(t,e){gT.call(this,t,e)}function yC(t,e){gT.call(this,t,e)}function wC(t,e){gT.call(this,t,e)}function vC(t,e){gT.call(this,t,e)}function xC(t,e){gT.call(this,t,e)}function kC(t,e){gT.call(this,t,e)}function _C(t,e){gT.call(this,t,e)}function TC(t,e){gT.call(this,t,e)}function EC(t,e){gT.call(this,t,e)}function SC(t,e){gT.call(this,t,e)}function CC(t,e){gT.call(this,t,e)}function AC(t,e){gT.call(this,t,e)}function MC(t,e){gT.call(this,t,e)}function LC(t,e){gT.call(this,t,e)}function IC(t,e){gT.call(this,t,e)}function OC(t,e){gT.call(this,t,e)}function NC(t,e){gT.call(this,t,e)}function DC(t,e){gT.call(this,t,e)}function PC(t,e){this.b=t,this.a=e}function BC(t,e){gT.call(this,t,e)}function RC(t,e){this.a=t,this.b=e}function FC(t,e){this.a=t,this.b=e}function $C(t,e){this.a=t,this.b=e}function jC(t,e){gT.call(this,t,e)}function zC(t,e){gT.call(this,t,e)}function qC(t,e){this.a=t,this.b=e}function HC(t){return KD(t.a),t.b}function UC(t){return function(t,e){var n,i,r;for(n=new pg(t.a.a);n.a=0}function GM(t,e){return 0!=F9(t,e)}function KM(t,e){return function(t,e){for(kq(e);t.Ob();)if(!M6(KR(t.Pb(),10)))return!1;return!0}(t.Kc(),e)}function YM(t,e){return t.Rd().Xb(e)}function VM(t){return Xet(t),t.d.gc()}function WM(t){return e$(null==t),t}function XM(t,e){return t.a+=""+e,t}function QM(t,e){return t.a+=""+e,t}function ZM(t,e){return t.a+=""+e,t}function JM(t,e){return t.a+=""+e,t}function tL(t,e){return t.a+=""+e,t}function eL(t,e){return t.a+=""+e,t}function nL(t){_z(this),v5(this,t)}function iL(){YK(),aj.call(this)}function rL(t,e){Bj.call(this,t,e)}function aL(t,e){Bj.call(this,t,e)}function oL(t,e){Bj.call(this,t,e)}function sL(t,e){dX(t,e,t.c.b,t.c)}function cL(t,e){dX(t,e,t.a,t.a.a)}function lL(t){return LY(t,0),null}function uL(){this.b=0,this.a=!1}function hL(){this.b=0,this.a=!1}function fL(){this.b=new RT(R0(12))}function dL(){dL=E,QKt=c9(Ert())}function gL(){gL=E,SQt=c9(Abt())}function pL(){pL=E,J9t=c9(j5())}function bL(){bL=E,Hy(),AHt=new my}function mL(t){return t.a=0,t.b=0,t}function yL(t,e){return t.a=e.g+1,t}function wL(t,e){wB.call(this,t,e)}function vL(t,e){AP.call(this,t,e)}function xL(t,e){PM.call(this,t,e)}function kL(t,e){jN.call(this,t,e)}function _L(t,e){w6.call(this,t,e)}function TL(t,e){jE(),LH(Efe,t,e)}function EL(t,e){t.q.setTime(zV(e))}function SL(t,e){return $M(t)===$M(e)}function CL(t,e){return t.a.a.a.cc(e)}function AL(t,e){return $G(t.a,0,e)}function ML(t){return function(t){return JU(),DK(yut(t))==DK(xut(t))}(KR(t,74))}function LL(t){return oK((yH(t),t))}function IL(t){return zI(t.l,t.m,t.h)}function OL(t,e){return $I(t.a,e.a)}function NL(t,e){return t.indexOf(e)}function DL(t,e){return t==e?0:t?1:-1}function PL(t){return t<10?"0"+t:""+t}function BL(t){return typeof t===oSt}function RL(t,e){return $I(t.g,e.g)}function FL(t){return g1(t.b.b,t,0)}function $L(){_$.call(this,0,0,0,0)}function jL(){xg.call(this,new fX)}function zL(t,e){IJ(t,0,t.length,e)}function qL(t,e){return SO(t.a,e),e}function HL(t,e){return V5(t.a,e),t}function UL(t){this.a=GC(),this.b=t}function GL(t){this.a=GC(),this.b=t}function KL(t){this.a=t.a,this.b=t.b}function YL(t){this.a=t,Nh.call(this)}function VL(t){this.a=t,Nh.call(this)}function WL(){pU.call(this,0,0,0,0)}function XL(t){return V5(new EH,t)}function QL(t){return qH(KR(t,123))}function ZL(t){return t.vh()&&t.wh()}function JL(t){return t!=Wle&&t!=Xle}function tI(t){return t==Fce||t==$ce}function eI(t){return t==zce||t==Rce}function nI(t){return t==e7t||t==t7t}function iI(t,e){return new w6(e,t)}function rI(t){return function(t,e){return kq(t),kq(e),new lT(t,e)}(t.b.Kc(),t.a)}function aI(t,e){K8(t,e),H2(t,t.D)}function oI(t,e,n){$2(t,e),L2(t,n)}function sI(t,e,n){N2(t,e),O2(t,n)}function cI(t,e,n){D2(t,e),P2(t,n)}function lI(t,e,n){I2(t,e),R2(t,n)}function uI(t,e,n){B2(t,e),F2(t,n)}function hI(t,e,n){eP.call(this,t,e,n)}function fI(t){xM.call(this,t,!0)}function dI(){sS.call(this,"Tail",3)}function gI(){sS.call(this,"Head",1)}function pI(t){lwt(),k5.call(this,t)}function bI(t){_$.call(this,t,t,t,t)}function mI(t){t.c=WZ(nHt,pSt,1,0,5,1)}function yI(t){return t.b&&akt(t),t.a}function wI(t){return t.b&&akt(t),t.c}function vI(t,e){AP.call(this,t.b,e)}function xI(t,e,n){Dq(t.c[e.g],e.g,n)}function kI(t,e,n){return Dq(t,e,n),n}function _I(t){V0(t.Sf(),new Xg(t))}function TI(t){return null!=t?N3(t):0}function EI(t){UEt(),by.call(this,t)}function SI(t){this.a=t,FR.call(this,t)}function CI(){CI=E,i.Math.log(2)}function AI(){AI=E,RE(),Hde=Phe}function MI(){MI=E,a9t=new Uet(tle)}function LI(){LI=E,new II,new yy}function II(){new my,new my,new my}function OI(t){this.a=t,kT.call(this,t)}function NI(t){this.a=t,kT.call(this,t)}function DI(t,e){Sq(),this.a=t,this.b=e}function PI(t,e){Y$(t.c,t.c.length,e)}function BI(t){return t.ae?1:0}function jI(t,e){return F9(t,e)>0?t:e}function zI(t,e,n){return{l:t,m:e,h:n}}function qI(t,e){null!=t.a&&SM(e,t.a)}function HI(t,e,n){return pit(e,n,t.c)}function UI(t,e,n){return function(t,e,n){var i,r,a,o,s,c,l,u;for(c=new yy,s=new pg(e.a);s.a0),a=KR(l.a.Xb(l.c=--l.b),18);a!=i&&l.b>0;)t.a[a.p]=!0,t.a[i.p]=!0,KD(l.b>0),a=KR(l.a.Xb(l.c=--l.b),18);l.b>0&&nH(l)}}(t,e,n),n}function GI(t){TG.call(this),this.b=t}function KI(t){GP.call(this),this.a=t}function YI(){sS.call(this,"Range",2)}function VI(t){this.b=t,this.a=new yy}function WI(t){this.b=new te,this.a=t}function XI(t){t.a=new R,t.c=new R}function QI(t){t.a=new my,t.d=new my}function ZI(t){aY(t,null),oY(t,null)}function JI(t,e){return function(t,e,n){var i,r,a,o,s,c,l,u,h;for(!n&&(n=function(t){var e;return(e=new x).a=t,e.b=function(t){var e;return 0==t?"Etc/GMT":(t<0?(t=-t,e="Etc/GMT-"):e="Etc/GMT+",e+X1(t))}(t),e.c=WZ(fUt,RSt,2,2,6,1),e.c[0]=U3(t),e.c[1]=U3(t),e}(e.q.getTimezoneOffset())),r=6e4*(e.q.getTimezoneOffset()-n.a),c=s=new aP(Set(h6(e.q.getTime()),r)),s.q.getTimezoneOffset()!=e.q.getTimezoneOffset()&&(r>0?r-=864e5:r+=864e5,c=new aP(Set(h6(e.q.getTime()),r))),u=new Wx,l=t.a.length,a=0;a=97&&i<=122||i>=65&&i<=90){for(o=a+1;o=l)throw Ay(new Tx("Missing trailing '"));o+11)throw Ay(new Tx(nqt));for(u=Jbt(t.e.Dh(),e),i=KR(t.g,124),o=0;o1||n>1)return 2;return e+n==1?2:0}(e)}function kO(t,e){return null!=t.a.Bc(e)}function _O(t,e){return t.a*e.a+t.b*e.b}function TO(t,e,n){t.a=1502^e,t.b=n^BAt}function EO(t,e){return t.a*=e,t.b*=e,t}function SO(t,e){return Dy(t.c,e),!0}function CO(t,e,n){return Dq(t.g,e,n),n}function AO(t,e,n){bF.call(this,t,e,n)}function MO(t,e,n){AO.call(this,t,e,n)}function LO(t,e,n){mF.call(this,t,e,n)}function IO(t,e,n){mF.call(this,t,e,n)}function OO(t,e,n){LO.call(this,t,e,n)}function NO(t,e,n){AO.call(this,t,e,n)}function DO(t,e,n){MO.call(this,t,e,n)}function PO(t,e,n){bF.call(this,t,e,n)}function BO(t,e,n){bF.call(this,t,e,n)}function RO(t,e,n){PO.call(this,t,e,n)}function FO(t){t.j=WZ(hUt,RSt,319,0,0,1)}function $O(){this.a=WZ(nHt,pSt,1,8,5,1)}function jO(){this.Bb|=256,this.Bb|=512}function zO(t){this.i=t,this.f=this.i.j}function qO(t){this.c=t,this.a=this.c.a}function HO(t,e){this.a=t,kT.call(this,e)}function UO(t,e){return function(t,e,n){try{!function(t,e,n){if(kq(e),n.Ob())for(eL(e,cH(n.Pb()));n.Ob();)eL(e,t.a),eL(e,cH(n.Pb()))}(t,e,n)}catch(t){throw rO(t=j6(t),606)?Ay(new wQ(t)):Ay(t)}return e}(t,new Vx,e).a}function GO(t){if(!t)throw Ay(new Wy)}function KO(t){if(!t)throw Ay(new Xy)}function YO(){(YO=E)(),eGt=new j}function VO(){VO=E,HE(),hge=new Pf}function WO(){WO=E,WUt=new ex(null)}function XO(t){DG(t,L$t),cbt(t,function(t){var e,n,i,r,a;switch(DG(t,L$t),(!t.b&&(t.b=new bB(Uhe,t,4,7)),t.b).i+(!t.c&&(t.c=new bB(Uhe,t,5,8)),t.c).i){case 0:throw Ay(new Tx("The edge must have at least one source or target."));case 1:return 0==(!t.b&&(t.b=new bB(Uhe,t,4,7)),t.b).i?DK(Blt(KR(l2((!t.c&&(t.c=new bB(Uhe,t,5,8)),t.c),0),84))):DK(Blt(KR(l2((!t.b&&(t.b=new bB(Uhe,t,4,7)),t.b),0),84)))}if(1==(!t.b&&(t.b=new bB(Uhe,t,4,7)),t.b).i&&1==(!t.c&&(t.c=new bB(Uhe,t,5,8)),t.c).i){if(r=Blt(KR(l2((!t.b&&(t.b=new bB(Uhe,t,4,7)),t.b),0),84)),a=Blt(KR(l2((!t.c&&(t.c=new bB(Uhe,t,5,8)),t.c),0),84)),DK(r)==DK(a))return DK(r);if(r==DK(a))return r;if(a==DK(r))return a}for(e=Blt(KR(bQ(i=vz(a4(t7(rk(oHt,1),pSt,20,0,[(!t.b&&(t.b=new bB(Uhe,t,4,7)),t.b),(!t.c&&(t.c=new bB(Uhe,t,5,8)),t.c)])))),84));Rgt(i);)if((n=Blt(KR(bQ(i),84)))!=e&&!Y0(n,e))if(DK(n)==DK(e))e=DK(n);else if(!(e=Opt(e,n)))return null;return e}(t))}function QO(t){t.a=KR(i6(t.b.a,4),129)}function ZO(t){t.a=KR(i6(t.b.a,4),129)}function JO(t){t.b.Qb(),--t.d.f.d,j$(t.d)}function tN(t){this.a=t,od.call(this,t.d)}function eN(t,e){this.a=t,nk.call(this,e)}function nN(t,e){this.a=t,nk.call(this,e)}function iN(t,e){this.a=t,nk.call(this,e)}function rN(t,e){this.a=e,nk.call(this,t)}function aN(t,e){this.a=e,lX.call(this,t)}function oN(t,e){this.a=t,lX.call(this,e)}function sN(t,e){this.a=e,_T.call(this,t)}function cN(t,e){this.a=e,_T.call(this,t)}function lN(t,e){return kq(e),new sN(t,e)}function uN(t,e){return new rft(t.a,t.b,e)}function hN(t,e,n){return t.indexOf(e,n)}function fN(t,e){return t.lastIndexOf(e)}function dN(t){return null==t?wSt:Get(t)}function gN(t){tg.call(this,(yH(t),t))}function pN(t){tg.call(this,(yH(t),t))}function bN(t){Zf.call(this,KR(kq(t),34))}function mN(t){Zf.call(this,KR(kq(t),34))}function yN(t){xg.call(this,new iJ(t))}function wN(t){hg.call(this,t),this.a=t}function vN(t){ug.call(this,t),this.a=t}function xN(t){Jx.call(this,t),this.a=t}function kN(){FO(this),PU(this),this.je()}function _N(t){this.a=t,lg.call(this,t)}function TN(t){return KD(null!=t.a),t.a}function EN(t,e){return SO(e.a,t.a),t.a}function SN(t,e){return SO(e.b,t.a),t.a}function CN(t,e){return SO(e.a,t.a),t.a}function AN(t,e,n){return W5(t,e,e,n),t}function MN(t,e){return++t.b,SO(t.a,e)}function LN(t,e){return++t.b,u1(t.a,e)}function IN(t,e){return KR(IQ(t.b,e),15)}function ON(t,e){return!!e&&t.b[e.g]==e}function NN(t){return BI(t.a)||BI(t.b)}function DN(t){return t.$H||(t.$H=++SGt)}function PN(t,e,n){return NW(t,e,n,t.c)}function BN(){yE(),this.b=new Gp(this)}function RN(){RN=E,JKt=new AP(YMt,0)}function FN(){FN=E,HHt=!1,UHt=!0}function $N(t){var e;e=t.a,t.a=t.b,t.b=e}function jN(t,e){zE(),this.a=t,this.b=e}function zN(t,e){qE(),this.b=t,this.c=e}function qN(t,e){sj(),this.f=e,this.d=t}function HN(t,e){DQ(e,t),this.d=t,this.c=e}function UN(t,e){Zit.call(this,t,e,null)}function GN(t,e,n,i){jj.call(this,t,e,n,i)}function KN(t){this.d=t,zO.call(this,t)}function YN(t){this.c=t,zO.call(this,t)}function VN(t){this.c=t,KN.call(this,t)}function WN(t){return E4(t,oCt),new lZ(t)}function XN(t){return uG(),parseInt(t)||-1}function QN(t,e,n){return hN(t,Wlt(e),n)}function ZN(t,e){return new MB(t,t.gc(),e)}function JN(t,e,n){t.fd(e).Rb(n)}function tD(t,e,n){KR(C1(t,e),21).Fc(n)}function eD(t){rO(t,158)&&KR(t,158).pi()}function nD(t){QR.call(this,t,null,null)}function iD(t){HT(),this.b=t,this.a=!0}function rD(t){UT(),this.b=t,this.a=!0}function aD(t){return KD(0!=t.b),t.a.a.c}function oD(t){return KD(0!=t.b),t.c.b.c}function sD(t,e){return W5(t,e,e+1,""),t}function cD(t,e){return!!t.q&&mz(t.q,e)}function lD(t){return t.b=KR(RU(t.a),44)}function uD(t){return null!=t.f?t.f:""+t.g}function hD(t,e){return KR(W1(t.a,e),34)}function fD(t){t.d=new nD(t),t.e=new my}function dD(){this.a=new VG,this.b=new VG}function gD(t){this.c=t,this.a=1,this.b=1}function pD(t){pEt(),Iy(this),this.Ff(t)}function bD(t,e,n){return t.a+=e,t.b+=n,t}function mD(t,e,n){return t.a*=e,t.b*=n,t}function yD(t,e){return t.a=e.a,t.b=e.b,t}function wD(t){return t.a=-t.a,t.b=-t.b,t}function vD(t,e,n){return t.a-=e,t.b-=n,t}function xD(t){jT.call(this),k4(this,t)}function kD(){gT.call(this,"GROW_TREE",0)}function _D(){gT.call(this,"POLYOMINO",0)}function TD(t,e,n){mJ.call(this,t,e,n,2)}function ED(t,e){zE(),jN.call(this,t,e)}function SD(t,e){qE(),zN.call(this,t,e)}function CD(t,e){qE(),SD.call(this,t,e)}function AD(t,e){qE(),zN.call(this,t,e)}function MD(t){this.c=t,D2(t,0),P2(t,0)}function LD(t,e){AI(),P$.call(this,t,e)}function ID(t,e){AI(),LD.call(this,t,e)}function OD(t,e){AI(),LD.call(this,t,e)}function ND(t,e){AI(),P$.call(this,t,e)}function DD(t,e){AI(),OD.call(this,t,e)}function PD(t,e){AI(),ND.call(this,t,e)}function BD(t,e){AI(),P$.call(this,t,e)}function RD(t,e,n){return Ikt(_1(t,e),n)}function FD(t,e){return j9(t.e,KR(e,54))}function $D(t){return null==t?null:function(t){var e,n,i,r,a,o,s,c,l,u,h,f,d,g,p;if(Vvt(),null==t)return null;if(0==(h=8*t.length))return"";for(f=h/24|0,a=null,a=WZ(Fpe,_Ct,28,4*(0!=(s=h%24)?f+1:f),15,1),l=0,u=0,e=0,n=0,i=0,o=0,r=0,c=0;c>24,l=(3&e)<<24>>24,d=-128&e?(e>>2^192)<<24>>24:e>>2<<24>>24,g=-128&n?(n>>4^240)<<24>>24:n>>4<<24>>24,p=-128&(i=t[r++])?(i>>6^252)<<24>>24:i>>6<<24>>24,a[o++]=epe[d],a[o++]=epe[g|l<<4],a[o++]=epe[u<<2|p],a[o++]=epe[63&i];return 8==s?(l=(3&(e=t[r]))<<24>>24,d=-128&e?(e>>2^192)<<24>>24:e>>2<<24>>24,a[o++]=epe[d],a[o++]=epe[l<<4],a[o++]=61,a[o++]=61):16==s&&(e=t[r],u=(15&(n=t[r+1]))<<24>>24,l=(3&e)<<24>>24,d=-128&e?(e>>2^192)<<24>>24:e>>2<<24>>24,g=-128&n?(n>>4^240)<<24>>24:n>>4<<24>>24,a[o++]=epe[d],a[o++]=epe[g|l<<4],a[o++]=epe[u<<2],a[o++]=61),Sit(a,0,a.length)}(t)}function jD(t){return null==t?null:function(t){var e,n,i,r;if(hyt(),null==t)return null;for(i=t.length,e=WZ(Fpe,_Ct,28,2*i,15,1),n=0;n>4],e[2*n+1]=ipe[15&r];return Sit(e,0,e.length)}(t)}function zD(t){return e$(null==t||zM(t)),t}function qD(t){return e$(null==t||qM(t)),t}function HD(t){return e$(null==t||jM(t)),t}function UD(t){null==t.o&&function(t){if(t.ze()){var e=t.c;return e.Ae()?t.o="["+e.n:e.ze()?t.o="["+e.xe():t.o="[L"+e.xe()+";",t.b=e.we()+"[]",void(t.k=e.ye()+"[]")}var n=t.j,i=t.d;i=i.split("/"),t.o=wit(".",[n,wit("$",i)]),t.b=wit(".",[n,wit(".",i)]),t.k=i[i.length-1]}(t)}function GD(t){if(!t)throw Ay(new Wy)}function KD(t){if(!t)throw Ay(new ew)}function YD(t){if(!t)throw Ay(new Xy)}function VD(t){if(!t)throw Ay(new Jy)}function WD(){WD=E,_fe=new Jw,new tv}function XD(){XD=E,Nee=new Vm("root")}function QD(){j4.call(this),this.Bb|=mAt}function ZD(t,e){this.d=t,Vd(this),this.b=e}function JD(t,e){eJ.call(this,t),this.a=e}function tP(t,e){eJ.call(this,t),this.a=e}function eP(t,e,n){rZ.call(this,t,e,n,null)}function nP(t,e,n){rZ.call(this,t,e,n,null)}function iP(t,e){this.c=t,rT.call(this,t,e)}function rP(t,e){this.a=t,iP.call(this,t,e)}function aP(t){this.q=new i.Date(zV(t))}function oP(t){return t>8?0:t+1}function sP(t,e){bGt||SO(t.a,e)}function cP(t,e){return KR(W1(t.b,e),143)}function lP(t,e){return KR(W1(t.c,e),233)}function uP(t){return KR(c$(t.a,t.b),294)}function hP(t){return new IA(t.c,t.d+t.a)}function fP(t){return yH(t),t?1231:1237}function dP(t){return XK(),nI(KR(t,203))}function gP(){gP=E,ZKt=fet((ait(),Fue))}function pP(t,e){e.a?function(t,e){var n,i,r;if(!Mz(t.a,e.b))throw Ay(new Ex("Invalid hitboxes for scanline overlap calculation."));for(r=!1,i=t.a.a.ec().Kc();i.Ob();)if(n=KR(i.Pb(),68),g7(e.b,n))Dk(t.b.a,e.b,n),r=!0;else if(r)break}(t,e):kO(t.a,e.b)}function bP(t,e,n){++t.j,t.tj(),XZ(t,e,n)}function mP(t,e,n){++t.j,t.qj(e,t.Zi(e,n))}function yP(t,e,n){t.fd(e).Rb(n)}function wP(t,e,n){return svt(t,e,6,n)}function vP(t,e,n){return svt(t,e,3,n)}function xP(t,e,n){return svt(t,e,9,n)}function kP(t,e){return DG(e,$Mt),t.f=e,t}function _P(t,e){return(e&lSt)%t.d.length}function TP(t,e,n){return skt(t.c,t.b,e,n)}function EP(t,e){this.c=t,t2.call(this,e)}function SP(t,e){this.a=t,ny.call(this,e)}function CP(t,e){this.a=t,ny.call(this,e)}function AP(t,e){Vm.call(this,t),this.a=e}function MP(t,e){sy.call(this,t),this.a=e}function LP(t,e){sy.call(this,t),this.a=e}function IP(t){Cnt.call(this,0,0),this.f=t}function OP(t,e,n){return t.a+=Sit(e,0,n),t}function NP(t){return!t.a&&(t.a=new k),t.a}function DP(t,e){var n;return n=t.e,t.e=e,n}function PP(t,e){var n;return n=e,!!t.Fe(n)}function BP(t,e){t.a.bd(t.b,e),++t.b,t.c=-1}function RP(t){t.b?RP(t.b):t.f.c.zc(t.e,t.d)}function FP(t){_z(t.e),t.d.b=t.d,t.d.a=t.d}function $P(t,e,n){return Oz(t,KR(e,22),n)}function jP(t,e){return ak(new Array(e),t)}function zP(t){return String.fromCharCode(t)}function qP(t,e){t[NAt].call(t,e)}function HP(t,e,n,i){_$.call(this,t,e,n,i)}function UP(){eB.call(this),this.a=new Hk}function GP(){this.n=new Hk,this.o=new Hk}function KP(){this.b=new Hk,this.c=new yy}function YP(){this.a=new yy,this.b=new yy}function VP(){this.a=new he,this.b=new aw}function WP(){this.b=new fX,this.a=new fX}function XP(){this.b=new hw,this.a=new hw}function QP(){this.b=new my,this.a=new my}function ZP(){this.b=new v_,this.a=new _o}function JP(){this.a=new af,this.b=new sa}function tB(){this.a=new yy,this.d=new yy}function eB(){this.n=new Uw,this.i=new WL}function nB(t){this.a=(E4(t,oCt),new lZ(t))}function iB(t){this.a=(E4(t,oCt),new lZ(t))}function rB(t,e){return null==LH(t.a,e,"")}function aB(t,e){return t.a+=e.a,t.b+=e.b,t}function oB(t,e){return t.a-=e.a,t.b-=e.b,t}function sB(t,e,n){return svt(t,e,11,n)}function cB(t,e,n,i){ez.call(this,t,e,n,i)}function lB(t,e,n,i){ez.call(this,t,e,n,i)}function uB(t,e,n,i){lB.call(this,t,e,n,i)}function hB(t,e,n,i){rz.call(this,t,e,n,i)}function fB(t,e,n,i){rz.call(this,t,e,n,i)}function dB(t,e,n,i){rz.call(this,t,e,n,i)}function gB(t,e,n,i){fB.call(this,t,e,n,i)}function pB(t,e,n,i){fB.call(this,t,e,n,i)}function bB(t,e,n,i){dB.call(this,t,e,n,i)}function mB(t,e,n,i){pB.call(this,t,e,n,i)}function yB(t,e,n,i){uz.call(this,t,e,n,i)}function wB(t,e){vx.call(this,Mjt+t+P$t+e)}function vB(t,e){return t.jk().wi().ri(t,e)}function xB(t,e){return t.jk().wi().ti(t,e)}function kB(t,e){return yH(t),$M(t)===$M(e)}function _B(t,e){return yH(t),$M(t)===$M(e)}function TB(t,e){return t.b.Bd(new gS(t,e))}function EB(t,e,n){return t.lastIndexOf(e,n)}function SB(t){return t.c?g1(t.c.a,t,0):-1}function CB(t){return t==Gle||t==Yle||t==Kle}function AB(t,e){this.c=t,Rz.call(this,t,e)}function MB(t,e,n){this.a=t,HN.call(this,e,n)}function LB(t){this.c=t,oL.call(this,qSt,0)}function IB(t,e,n){this.c=e,this.b=n,this.a=t}function OB(t){bR(),this.d=t,this.a=new $O}function NB(t){JB(),this.a=(QU(),new Jx(t))}function DB(t,e){YR.call(this,t,t.length,e)}function PB(t,e){return rO(e,15)&&byt(t.c,e)}function BB(t,e,n){return KR(t.c,71).Xk(e,n)}function RB(t,e,n){return function(t,e,n){return e.Al(t.e,t.c,n)}(t,KR(e,343),n)}function FB(t,e,n){return function(t,e,n){var i,r,a;return i=e.Lk(),a=e.md(),r=i.Jk()?LG(t,4,i,a,null,Bxt(t,i,a,rO(i,102)&&0!=(KR(i,19).Bb&mAt)),!0):LG(t,i.tk()?2:1,i,a,i.ik(),-1,!0),n?n.nj(r):n=r,n}(t,KR(e,343),n)}function $B(t,e){return null==e?null:ctt(t.b,e)}function jB(t){return qM(t)?(yH(t),t):t.ue()}function zB(t){return!isNaN(t)&&!isFinite(t)}function qB(t){XI(this),FU(this),z3(this,t)}function HB(t){mI(this),JR(this.c,0,t.Pc())}function UB(t,e,n){this.a=t,this.b=e,this.c=n}function GB(t,e,n){this.a=t,this.b=e,this.c=n}function KB(t,e,n){this.d=t,this.b=n,this.a=e}function YB(t){this.a=t,zT(),h6(Date.now())}function VB(t){nH(t.a),QZ(t.c,t.b),t.b=null}function WB(){WB=E,YUt=new F,VUt=new $}function XB(){XB=E,vfe=WZ(nHt,pSt,1,0,5,1)}function QB(){QB=E,Ide=WZ(nHt,pSt,1,0,5,1)}function ZB(){ZB=E,Ode=WZ(nHt,pSt,1,0,5,1)}function JB(){JB=E,new Fy((QU(),QU(),NUt))}function tR(t,e){if(!t)throw Ay(new Tx(e))}function eR(t){if(!t)throw Ay(new Ex(mSt))}function nR(t,e){if(t!=e)throw Ay(new Jy)}function iR(t,e,n){this.a=t,this.b=e,this.c=n}function rR(t,e,n){this.a=t,this.b=e,this.c=n}function aR(t,e,n){this.a=t,this.b=e,this.c=n}function oR(t,e,n){this.b=t,this.a=e,this.c=n}function sR(t,e,n){this.b=t,this.c=e,this.a=n}function cR(t,e,n){this.a=t,this.b=e,this.c=n}function lR(t,e,n){this.e=e,this.b=t,this.d=n}function uR(t,e,n){this.b=t,this.a=e,this.c=n}function hR(t){var e;return(e=new vt).e=t,e}function fR(t){var e;return(e=new Sw).b=t,e}function dR(){dR=E,wXt=new Dn,vXt=new Pn}function gR(){gR=E,RQt=new ci,BQt=new li}function pR(){pR=E,UQt=new yr,GQt=new wr}function bR(){bR=E,MTt(),N8t=Cue,D8t=sue}function mR(){mR=E,ihe=new YF,rhe=new oz}function yR(t){return!t.e&&(t.e=new yy),t.e}function wR(t,e){this.c=t,this.a=e,this.b=e-t}function vR(t,e,n){this.a=t,this.b=e,this.c=n}function xR(t,e,n){this.a=t,this.b=e,this.c=n}function kR(t,e,n){this.a=t,this.b=e,this.c=n}function _R(t,e,n){this.a=t,this.b=e,this.c=n}function TR(t,e,n){this.a=t,this.b=e,this.c=n}function ER(t,e,n){this.a=t,this.b=e,this.c=n}function SR(t,e,n){this.e=t,this.a=e,this.c=n}function CR(t,e,n){AI(),XG.call(this,t,e,n)}function AR(t,e,n){AI(),Zq.call(this,t,e,n)}function MR(t,e,n){AI(),Zq.call(this,t,e,n)}function LR(t,e,n){AI(),Zq.call(this,t,e,n)}function IR(t,e,n){AI(),AR.call(this,t,e,n)}function OR(t,e,n){AI(),AR.call(this,t,e,n)}function NR(t,e,n){AI(),OR.call(this,t,e,n)}function DR(t,e,n){AI(),MR.call(this,t,e,n)}function PR(t,e,n){AI(),LR.call(this,t,e,n)}function BR(t){_$.call(this,t.d,t.c,t.a,t.b)}function RR(t){_$.call(this,t.d,t.c,t.a,t.b)}function FR(t){this.d=t,Vd(this),this.b=function(t){return rO(t,15)?KR(t,15).ed():t.Kc()}(t.d)}function $R(t,e){return kq(t),kq(e),new Z_(t,e)}function jR(t,e){return kq(t),kq(e),new SF(t,e)}function zR(t){return KD(0!=t.b),J0(t,t.a.a)}function qR(t){return KD(0!=t.b),J0(t,t.c.b)}function HR(t){var e;return V1(e=new yy,t),e}function UR(t){var e;return O3(e=new dw,t),e}function GR(t){var e;return O3(e=new jT,t),e}function KR(t,e){return e$(null==t||aat(t,e)),t}function YR(t,e,n){Pj.call(this,e,n),this.a=t}function VR(t,e){this.c=t,this.b=e,this.a=!1}function WR(){this.a=";,;",this.b="",this.c=""}function XR(t,e,n){this.b=t,rL.call(this,e,n)}function QR(t,e,n){this.c=t,uS.call(this,e,n)}function ZR(t,e,n){WS.call(this,t,e),this.b=n}function JR(t,e,n){Zdt(n,0,t,e,n.length,!1)}function tF(t,e,n,i,r){t.b=e,t.c=n,t.d=i,t.a=r}function eF(t,e,n,i,r){t.d=e,t.c=n,t.a=i,t.b=r}function nF(t,e){if(!t)throw Ay(new Tx(e))}function iF(t,e){if(!t)throw Ay(new Ex(e))}function rF(t,e){if(!t)throw Ay(new xx(e))}function aF(t,e){return e&&rH(t,e.d)?e:null}function oF(t){return t6(function(t){return zI(~t.l&eAt,~t.m&eAt,~t.h&nAt)}(BL(t)?d6(t):t))}function sF(t){return new IA(t.c+t.b,t.d+t.a)}function cF(t){return null!=t&&!Jet(t,$fe,jfe)}function lF(t,e){return(_tt(t)<<4|_tt(e))&ECt}function uF(t,e,n,i,r){t.c=e,t.d=n,t.b=i,t.a=r}function hF(t){var e,n;e=t.b,n=t.c,t.b=n,t.c=e}function fF(t){var e,n;n=t.d,e=t.a,t.d=e,t.a=n}function dF(t,e){return t.g=e<0?-1:e,t}function gF(t,e){return function(t){var e;(e=i.Math.sqrt(t.a*t.a+t.b*t.b))>0&&(t.a/=e,t.b/=e)}(t),t.a*=e,t.b*=e,t}function pF(t,e,n){Q0.call(this,e,n),this.d=t}function bF(t,e,n){BM.call(this,t,e),this.c=n}function mF(t,e,n){BM.call(this,t,e),this.c=n}function yF(t){ZB(),pl.call(this),this.ci(t)}function wF(){oZ(),tH.call(this,($E(),Qfe))}function vF(t){return UEt(),new D$(0,t)}function xF(){xF=E,QU(),dge=new fg(tqt)}function kF(){kF=E,new pat((Cv(),uHt),(Sv(),lHt))}function _F(){_F=E,tUt=WZ(nUt,RSt,17,256,0,1)}function TF(){this.b=gx(qD(Rrt((Evt(),CVt))))}function EF(t){this.b=t,this.a=xj(this.b.a).Od()}function SF(t,e){this.b=t,this.a=e,Nh.call(this)}function CF(t,e){this.a=t,this.b=e,Nh.call(this)}function AF(t,e,n){this.a=t,xL.call(this,e,n)}function MF(t,e,n){this.a=t,xL.call(this,e,n)}function LF(t,e,n){I0(t,e,new _q(n))}function IF(t,e,n){var i;return i=t[e],t[e]=n,i}function OF(t){return LJ(t.slice(),t)}function NF(t){var e;return e=t.n,t.a.b+e.d+e.a}function DF(t){var e;return e=t.n,t.e.b+e.d+e.a}function PF(t){var e;return e=t.n,t.e.a+e.b+e.c}function BF(t){t.a.b=t.b,t.b.a=t.a,t.a=t.b=null}function RF(t,e){return dX(t,e,t.c.b,t.c),!0}function FF(t,e){return Jst(t,new WS(e.a,e.b))}function $F(t){return t.b.c.length-t.e.c.length}function jF(t){return t.e.c.length-t.g.c.length}function zF(t){return t.e.c.length+t.g.c.length}function qF(t){return 0==t||isNaN(t)?t:t<0?-1:1}function HF(t,e,n){!function(t,e,n,i,r){var a,o,s,c,l,u,h,f,d,g,p,b;null==(g=Oq(t.e,i))&&(l=KR(g=new Wv,190),c=new _q(e+"_s"+r),I0(l,b$t,c)),zq(n,d=KR(g,190)),aG(b=new Wv,"x",i.j),aG(b,"y",i.k),I0(d,w$t,b),aG(h=new Wv,"x",i.b),aG(h,"y",i.c),I0(d,"endPoint",h),!G_((!i.a&&(i.a=new AO(zhe,i,5)),i.a))&&(a=new Dm(u=new Td),UX((!i.a&&(i.a=new AO(zhe,i,5)),i.a),a),I0(d,l$t,u)),!!Lat(i)&&nut(t.a,d,h$t,ift(t,Lat(i))),!!Iat(i)&&nut(t.a,d,u$t,ift(t,Iat(i))),!(0==(!i.e&&(i.e=new bB(Khe,i,10,9)),i.e).i)&&(o=new yM(t,f=new Td),UX((!i.e&&(i.e=new bB(Khe,i,10,9)),i.e),o),I0(d,d$t,f)),0!=(!i.g&&(i.g=new bB(Khe,i,9,10)),i.g).i&&(s=new wM(t,p=new Td),UX((!i.g&&(i.g=new bB(Khe,i,9,10)),i.g),s),I0(d,f$t,p))}(t.a,t.b,t.c,KR(e,166),n)}function UF(t,e,n,i){Lit.call(this,t,e,n,i,0,0)}function GF(t){ZB(),yF.call(this,t),this.a=-1}function KF(t,e){Pj.call(this,e,1040),this.a=t}function YF(){XA.call(this,"COUNT_CHILDREN",0)}function VF(t,e){DM.call(this,t,e),this.a=this}function WF(t,e){var n;return(n=xq(t,e)).i=2,n}function XF(t,e){return++t.j,t.Cj(e)}function QF(t,e,n){return t.a=-1,tD(t,e.g,n),t}function ZF(t){return p2(),WZ(z9t,RPt,40,t,0,1)}function JF(t){return t.e.Rd().gc()*t.c.Rd().gc()}function t$(t,e,n){return new IB(function(t){return 0>=t?new KT:function(t){return 0>t?new KT:new tP(null,new ZX(t+1,t))}(t-1)}(t)._e(),n,e)}function e$(t){if(!t)throw Ay(new _x(null))}function n$(t){if(t.c.e!=t.a)throw Ay(new Jy)}function i$(t){if(t.e.c!=t.b)throw Ay(new Jy)}function r$(t){for(kq(t);t.Ob();)t.Pb(),t.Qb()}function a$(t){Sq(),this.a=(QU(),new fg(kq(t)))}function o$(t){this.c=t,this.b=this.c.d.vc().Kc()}function s$(t,e){return t.a+=Sit(e,0,e.length),t}function c$(t,e){return LY(e,t.c.length),t.c[e]}function l$(t,e){return LY(e,t.a.length),t.a[e]}function u$(t,e,n,i,r,a){return Oct(t,e,n,i,r,0,a)}function h$(t,e){return function(t,e){return Kit(Set(Kit(t.a).a,e.a))}(KR(t,168),KR(e,168))}function f$(){f$=E,iUt=WZ(cUt,RSt,168,256,0,1)}function d$(){d$=E,lUt=WZ(uUt,RSt,191,256,0,1)}function g$(){g$=E,YHt=WZ(VHt,RSt,222,256,0,1)}function p$(){p$=E,XHt=WZ(QHt,RSt,180,128,0,1)}function b$(){tF(this,!1,!1,!1,!1)}function m$(t){xg.call(this,new fX),z3(this,t)}function y$(t){this.a=new RT(t.gc()),z3(this,t)}function w$(t){this.c=t,this.a=new $T(this.c.a)}function v$(t){this.a=t,this.c=new my,function(t){var e,n,i,r;for(i=0,r=(n=t.a).length;i>>e,r=t.m>>e|n<<22-e,i=t.l>>e|t.m<<22-e):e<44?(a=0,r=n>>>e-22,i=t.m>>e-22|t.h<<44-e):(a=0,r=0,i=n>>>e-44),zI(i&eAt,r&eAt,a&nAt)}(BL(t)?d6(t):t,e))}function Ij(t,e){return function(t,e){return FN(),t==e?0:t?1:-1}((yH(t),t),(yH(e),e))}function Oj(t,e){return cet((yH(t),t),(yH(e),e))}function Nj(t){this.b=new lZ(11),this.a=(XU(),t)}function Dj(t){this.a=(cj(),gHt),this.d=KR(kq(t),51)}function Pj(t,e){this.c=0,this.d=t,this.b=64|e|FSt}function Bj(t,e){this.e=t,this.d=64&e?e|FSt:e}function Rj(t){this.b=null,this.a=(XU(),t||RUt)}function Fj(t){FO(this),this.g=t,PU(this),this.je()}function $j(t){GE(),this.a=0,this.b=t-1,this.c=1}function jj(t,e,n,i){this.a=t,rZ.call(this,t,e,n,i)}function zj(t){t.d||(t.d=t.b.Kc(),t.c=t.b.gc())}function qj(t,e){if(t<0||t>=e)throw Ay(new Fw)}function Hj(t,e){return btt(t,(yH(e),new Ag(e)))}function Uj(t,e){return btt(t,(yH(e),new Mg(e)))}function Gj(t,e,n){return function(t,e,n){var i,r,a,o,s,c,l,u,h,f,d,g,p,b,m,y;if(i=e,c=n,t.b&&i.j==(MTt(),Cue)&&c.j==(MTt(),Cue)&&(y=i,i=c,c=y),mz(t.a,i)){if(NT(KR(Oq(t.a,i),49),c))return 1}else LH(t.a,i,new hw);if(mz(t.a,c)){if(NT(KR(Oq(t.a,c),49),i))return-1}else LH(t.a,c,new hw);if(mz(t.d,i)){if(NT(KR(Oq(t.d,i),49),c))return-1}else LH(t.d,i,new hw);if(mz(t.d,c)){if(NT(KR(Oq(t.a,c),49),i))return 1}else LH(t.d,c,new hw);if(i.j!=c.j)return-1==(m=function(t,e){return $I(t.g,e.g)}(i.j,c.j))?gwt(t,c,i):gwt(t,i,c),m;if(0!=i.e.c.length&&0!=c.e.c.length){if(t.b&&0!=(m=h9(i,c)))return-1==m?gwt(t,c,i):1==m&&gwt(t,i,c),m;if((a=KR(c$(i.e,0),18).c.i)==(u=KR(c$(c.e,0),18).c.i))return(r=KR(fut(KR(c$(i.e,0),18),(jEt(),H1t)),17).a)>(l=KR(fut(KR(c$(c.e,0),18),H1t),17).a)?gwt(t,i,c):gwt(t,c,i),rl?1:0;for(p=0,b=(g=t.c).length;p(l=KR(fut(f,H1t),17).a)?gwt(t,i,c):gwt(t,c,i),rl?1:0):t.b&&0!=(m=h9(i,c))?(-1==m?gwt(t,c,i):1==m&&gwt(t,i,c),m):(o=0,h=0,cD(KR(c$(i.g,0),18),H1t)&&(o=KR(fut(KR(c$(i.g,0),18),H1t),17).a),cD(KR(c$(c.g,0),18),H1t)&&(h=KR(fut(KR(c$(i.g,0),18),H1t),17).a),s&&s==f?dx(zD(fut(KR(c$(i.g,0),18),i0t)))&&!dx(zD(fut(KR(c$(c.g,0),18),i0t)))?(gwt(t,i,c),1):!dx(zD(fut(KR(c$(i.g,0),18),i0t)))&&dx(zD(fut(KR(c$(c.g,0),18),i0t)))?(gwt(t,c,i),-1):(o>h?gwt(t,i,c):gwt(t,c,i),oh?1:0):(t.f&&(t.f._b(s)&&(o=KR(t.f.xc(s),17).a),t.f._b(f)&&(h=KR(t.f.xc(f),17).a)),o>h?gwt(t,i,c):gwt(t,c,i),oh?1:0))):0!=i.e.c.length&&0!=c.g.c.length?(gwt(t,i,c),1):0!=i.g.c.length&&0!=c.e.c.length?(gwt(t,c,i),-1):cD(i,(jEt(),H1t))&&cD(c,H1t)?((r=KR(fut(i,H1t),17).a)>(l=KR(fut(c,H1t),17).a)?gwt(t,i,c):gwt(t,c,i),rl?1:0):(gwt(t,c,i),-1)}(t,KR(e,12),KR(n,12))}function Kj(t){return m5(),0!=KR(t,12).g.c.length}function Yj(t){return m5(),0!=KR(t,12).e.c.length}function Vj(t,e){e.Ug("General 'Rotator",1),function(t){var e,n,r,a,o,s,c,l,u,h,f,d,g;for(f=gx(qD(spt(t,(pht(),One)))),dx(zD(spt(t,Lne)))&&(h=KR(spt(t,(XD(),Nee)),27),o=KR(l2(UH(KR(l2((!h.e&&(h.e=new bB(Ghe,h,7,4)),h.e),(!h.e&&(h.e=new bB(Ghe,h,7,4)),h.e).i-1),74)),0),27),r=KR(l2(UH(KR(l2((!h.e&&(h.e=new bB(Ghe,h,7,4)),h.e),0),74)),0),27),s=new IA(o.i+o.g/2,o.j+o.f/2),a=new IA(r.i+r.g/2,r.j+r.f/2),(n=f)<=0&&(n+=eBt),(d=i.Math.acos((s.a*a.a+s.b*a.b)/(i.Math.sqrt(s.a*s.a+s.b*s.b)*i.Math.sqrt(a.a*a.a+a.b*a.b))))<=0&&(d+=eBt),(e=i.Math.atan2(s.b,s.a))<=0&&(e+=eBt),f=MPt-(e-n+d/2)),l=new zO((!t.a&&(t.a=new ez(Zhe,t,10,11)),t.a));l.e!=l.i.gc();)g=(u=new IA((c=KR(Frt(l),27)).i+c.g/2,c.j+c.f/2)).a*i.Math.cos(f)-u.b*i.Math.sin(f),u.b=u.a*i.Math.sin(f)+u.b*i.Math.cos(f),u.a=g,cI(c,u.a-c.g/2,u.b-c.f/2)}(t)}function Wj(t,e,n){return Ymt(),S5(t,e)&&S5(t,n)}function Xj(t){return cdt(),!t.Hc(eue)&&!t.Hc(iue)}function Qj(t){return t.e?JQ(t.e):null}function Zj(t){return BL(t)?""+t:gyt(t)}function Jj(t){var e;for(e=t;e.f;)e=e.f;return e}function tz(t,e,n,i){var r;(r=t.i).i=e,r.a=n,r.b=i}function ez(t,e,n,i){AO.call(this,t,e,n),this.b=i}function nz(t,e,n,i,r){yJ.call(this,t,e,n,i,r,-1)}function iz(t,e,n,i,r){wJ.call(this,t,e,n,i,r,-1)}function rz(t,e,n,i){bF.call(this,t,e,n),this.b=i}function az(t){xM.call(this,t,!1),this.a=!1}function oz(){XA.call(this,"LOOKAHEAD_LAYOUT",1)}function sz(t){this.b=t,KN.call(this,t),QO(this)}function cz(t){this.b=t,VN.call(this,t),ZO(this)}function lz(t,e,n){this.a=t,cB.call(this,e,n,5,6)}function uz(t,e,n,i){this.b=t,AO.call(this,e,n,i)}function hz(t,e){this.b=t,od.call(this,t.b),this.a=e}function fz(t){this.a=hat(t.a),this.b=new HB(t.b)}function dz(t,e){Sq(),mT.call(this,t,J9(new Dx(e)))}function gz(t,e){return UEt(),new Qq(t,e,0)}function pz(t,e){return UEt(),new Qq(6,t,e)}function bz(t,e){for(yH(e);t.Ob();)e.Cd(t.Pb())}function mz(t,e){return jM(e)?gG(t,e):!!U$(t.f,e)}function yz(t,e){return e.Vh()?j9(t.b,KR(e,54)):e}function wz(t,e){return _B(t.substr(0,e.length),e)}function vz(t){return new Dj(new rN(t.a.length,t.a))}function xz(t){return new IA(t.c+t.b/2,t.d+t.a/2)}function kz(t){return typeof t===rSt||typeof t===cSt}function _z(t){t.f=new UL(t),t.i=new GL(t),++t.g}function Tz(t){if(!t)throw Ay(new ew);return t.d}function Ez(t){var e;return KD(null!=(e=j7(t))),e}function Sz(t){var e;return KD(null!=(e=function(t){var e;return null==(e=t.a[t.c-1&t.a.length-1])?null:(t.c=t.c-1&t.a.length-1,Dq(t.a,t.c,null),e)}(t))),e}function Cz(t,e){var n;return DQ(e,n=t.a.gc()),n-e}function Az(t,e){return null==t.a.zc(e,t)}function Mz(t,e){return null==t.a.zc(e,(FN(),HHt))}function Lz(t){return new k$(null,function(t,e){return function(t,e){if(0>t||t>e)throw Ay(new Qx("fromIndex: 0, toIndex: "+t+jAt+e))}(e,t.length),new KF(t,e)}(t,t.length))}function Iz(t,e,n){return Skt(t,KR(e,42),KR(n,176))}function Oz(t,e,n){return b3(t.a,e),IF(t.b,e.g,n)}function Nz(t,e,n,i){G8(e,n,t.length),function(t,e,n,i){var r;for(r=e;r0?1:0}function Uz(t,e){pO(t,rO(e,160)?e:KR(e,2036).Rl())}function Gz(t,e){if(null==t)throw Ay(new Cx(e))}function Kz(t,e){return!!e&&z3(t,e)}function Yz(t){return 0==t.e?t:new Pz(-t.e,t.d,t.a)}function Vz(t,e){dX(t.d,e,t.b.b,t.b),++t.a,t.c=null}function Wz(t,e){return t.c?Wz(t.c,e):SO(t.b,e),t}function Xz(t,e,n){var i;return i=Q1(t,e),eX(t,e,n),i}function Qz(t,e,n){var i;for(i=0;i0?(krt(t,n,0),n.a+=String.fromCharCode(i),krt(t,n,r=Vit(e,a)),a+=r-1):39==i?a+1=t.g}function Dq(t,e,n){return function(t){if(!t)throw Ay(new Yy)}(null==n||function(t,e){var n;switch(i0(t)){case 6:return jM(e);case 7:return qM(e);case 8:return zM(e);case 3:return Array.isArray(e)&&!((n=i0(e))>=14&&n<=16);case 11:return null!=e&&typeof e===cSt;case 12:return null!=e&&(typeof e===rSt||typeof e==cSt);case 0:return aat(e,t.__elementTypeId$);case 2:return kz(e)&&e.Tm!==T;case 1:return kz(e)&&e.Tm!==T||aat(e,t.__elementTypeId$);default:return!0}}(t,n)),t[e]=n}function Pq(t,e){return IY(e,t.length+1),t.substr(e)}function Bq(t,e){for(yH(e);t.c0;)t=t<<1|(t<0?1:0);return t}function FH(t,e){var n;return n=new $q(t),Dy(e.c,n),n}function $H(t,e){t.u.Hc((cdt(),eue))&&function(t,e){var n,r,a,o;for(n=(o=KR(zH(t.b,e),127)).a,a=KR(KR(IQ(t.r,e),21),87).Kc();a.Ob();)(r=KR(a.Pb(),117)).c&&(n.a=i.Math.max(n.a,PF(r.c)));if(n.a>0)switch(e.g){case 2:o.n.c=t.s;break;case 4:o.n.b=t.s}}(t,e),function(t,e){var n;t.C&&((n=KR(zH(t.b,e),127).n).d=t.C.d,n.a=t.C.a)}(t,e)}function jH(t,e){return $M(t)===$M(e)||null!=t&&wtt(t,e)}function zH(t,e){return q$(t.a,e)?t.b[KR(e,22).g]:null}function qH(t){return!t.n&&(t.n=new ez(Qhe,t,1,7)),t.n}function HH(t){return!t.c&&(t.c=new ez(Jhe,t,9,9)),t.c}function UH(t){return!t.c&&(t.c=new bB(Uhe,t,5,8)),t.c}function GH(t){return t.j.c.length=0,sU(t.c),function(t){ow(t.j.c,0),t.a=-1}(t.a),t}function KH(t){return t.e==eqt&&function(t,e){t.e=e}(t,function(t,e){var n,i;return(n=e.qi(t.a))&&null!=(i=HD(Ynt((!n.b&&(n.b=new TD((KEt(),Cde),Jde,n)),n.b),A$t)))?i:e.xe()}(t.g,t.b)),t.e}function YH(t){return t.f==eqt&&function(t,e){t.f=e}(t,function(t,e){var n,i;return(n=e.qi(t.a))?(i=HD(Ynt((!n.b&&(n.b=new TD((KEt(),Cde),Jde,n)),n.b),Wzt)),_B(Xzt,i)?_j(t,r2(e.qk())):i):null}(t.g,t.b)),t.f}function VH(t,e,n,i){return o6(t,e,n,!1),Stt(t,i),t}function WH(t,e){this.b=t,Rz.call(this,t,e),QO(this)}function XH(t,e){this.b=t,AB.call(this,t,e),ZO(this)}function QH(t){this.d=t,this.a=this.d.b,this.b=this.d.c}function ZH(t,e){this.b=t,this.c=e,this.a=new $T(this.b)}function JH(t,e){return IY(e,t.length),t.charCodeAt(e)}function tU(t,e){wet(t,gx(K2(e,"x")),gx(K2(e,"y")))}function eU(t,e){wet(t,gx(K2(e,"x")),gx(K2(e,"y")))}function nU(t,e){return get(t),new k$(t,new ZJ(e,t.a))}function iU(t,e){return get(t),new k$(t,new qQ(e,t.a))}function rU(t,e){return get(t),new JD(t,new jQ(e,t.a))}function aU(t,e){return get(t),new tP(t,new zQ(e,t.a))}function oU(t,e,n){n.a?P2(t,e.b-t.f/2):D2(t,e.a-t.g/2)}function sU(t){var e;for(e=t.Kc();e.Ob();)e.Pb(),e.Qb()}function cU(t){var e;return!(e=t.b)&&(t.b=e=new Yf(t)),e}function lU(t){return function(t){var e;return rO(e=fut(t,(jEt(),U1t)),167)?wnt(KR(e,167)):null}(t)||null}function uU(t,e){var n,i;return(n=t/e)>(i=oK(n))&&++i,i}function hU(t,e,n){(function(t,e){var n,i,r,a;for(function(t){var e;for(e=0;e0&&oct(this)}function jU(t,e){this.a=t,ZD.call(this,t,KR(t.d,15).fd(e))}function zU(t,e){return t.b=e.b,t.c=e.c,t.d=e.d,t.a=e.a,t}function qU(t,e,n,i){this.b=t,this.c=i,oL.call(this,e,n)}function HU(t){return t.f||(t.f=new rT(t,t.c))}function UU(t,e){return att(t.j,e.s,e.c)+att(e.e,t.s,t.c)}function GU(t,e){t.e&&!t.e.a&&(ky(t.e,e),GU(t.e,e))}function KU(t,e){t.d&&!t.d.a&&(ky(t.d,e),KU(t.d,e))}function YU(){Kut(this,new Df),this.wb=(Aq(),sde),Qk()}function VU(t){this.b=new yy,G6(this.b,this.b),this.a=t}function WU(t,e){new jT,this.a=new Zw,this.b=t,this.c=e}function XU(){XU=E,RUt=new N,FUt=new N,$Ut=new D}function QU(){QU=E,NUt=new A,DUt=new L,PUt=new I}function ZU(){ZU=E,IGt=new gt,NGt=new rj,OGt=new pt}function JU(){JU=E,KYt=new yy,GYt=new my,UYt=new yy}function tG(t,e){if(null==t)throw Ay(new Cx(e));return t}function eG(t){return!t.a&&(t.a=new ez(Zhe,t,10,11)),t.a}function nG(t){return!t.q&&(t.q=new ez(nde,t,11,10)),t.q}function iG(t){return!t.s&&(t.s=new ez(Kfe,t,21,17)),t.s}function rG(t){return kq(t),Jat(new Dj(lN(t.a.Kc(),new u)))}function aG(t,e,n){I0(t,e,new kd(jB(n)))}function oG(t,e,n,i,r,a){wJ.call(this,t,e,n,i,r,a?-2:-1)}function sG(t,e,n,i){BM.call(this,e,n),this.b=t,this.a=i}function cG(t,e){Pv.call(this,new Rj(t)),this.a=t,this.b=e}function lG(t){this.b=t,this.c=t,t.e=null,t.c=null,this.a=1}function uG(){var t,e;uG=E,e=!(Error.stackTraceLimit>0?(i.Error.stackTraceLimit=Error.stackTraceLimit=64,1):"stack"in new Error),t=new w,CHt=e?new y:t}function hG(t){return QU(),rO(t,59)?new ek(t):new wN(t)}function fG(t){return rO(t,16)?new y$(KR(t,16)):function(t){var e;return V1(e=new hw,t),e}(t.Kc())}function dG(t){return t&&t.hashCode?t.hashCode():DN(t)}function gG(t,e){return null==e?!!U$(t.f,null):function(t,e){return void 0!==t.a.get(e)}(t.i,e)}function pG(t,e){var n;return(n=gO(t.a,e))&&(e.d=null),n}function bG(t,e,n){return!!t.f&&t.f.ef(e,n)}function mG(t,e,n,i){Dq(t.c[e.g],n.g,i),Dq(t.c[n.g],e.g,i)}function yG(t,e,n,i){Dq(t.c[e.g],e.g,n),Dq(t.b[e.g],e.g,i)}function wG(t,e){this.g=t,this.d=t7(rk(QWt,1),KIt,10,0,[e])}function vG(t){this.c=t,this.b=new y_(KR(kq(new bt),50))}function xG(t){this.c=t,this.b=new y_(KR(kq(new _e),50))}function kG(t){this.b=t,this.a=new y_(KR(kq(new Jt),50))}function _G(){this.b=new hw,this.d=new jT,this.e=new $w}function TG(){this.c=new Hk,this.d=new Hk,this.e=new Hk}function EG(){this.a=new Zw,this.b=(E4(3,oCt),new lZ(3))}function SG(t,e){this.e=t,this.a=nHt,this.b=Kyt(e),this.c=e}function CG(t){this.c=t.c,this.d=t.d,this.b=t.b,this.a=t.a}function AG(t,e,n,i,r,a){this.a=t,$4.call(this,e,n,i,r,a)}function MG(t,e,n,i,r,a){this.a=t,$4.call(this,e,n,i,r,a)}function LG(t,e,n,i,r,a,o){return new sX(t.e,e,n,i,r,a,o)}function IG(t,e,n){return n>=0&&_B(t.substr(n,e.length),e)}function OG(t,e){return rO(e,149)&&_B(t.b,KR(e,149).Pg())}function NG(t,e){var n;return yX(n=t.b.Qc(e),t.b.gc()),n}function DG(t,e){if(null==t)throw Ay(new Cx(e));return t}function PG(t){return t.u||(aQ(t),t.u=new SP(t,t)),t.u}function BG(t){this.a=(QU(),rO(t,59)?new ek(t):new wN(t))}function RG(t){return KR(i6(t,16),29)||t.ii()}function FG(t,e){var n;return n=a_(t.Rm),null==e?n:n+": "+e}function $G(t,e,n){return tJ(e,n,t.length),t.substr(e,n-e)}function jG(t,e){eB.call(this),h2(this),this.a=t,this.c=e}function zG(t){Gx(),i.setTimeout((function(){throw t}),0)}function qG(t,e,n,i){return n>=0?t.Uh(e,n,i):t.Ch(null,n,i)}function HG(t){return 0==t.b.b?t.a.sf():zR(t.b)}function UG(t){return $M(t.a)===$M((p5(),Pde))&&function(t){var e,n,i,r,a,o,s,c,l,u;for(e=new wl,n=new wl,l=_B(hzt,(r=gvt(t.b,fzt))?HD(Ynt((!r.b&&(r.b=new TD((KEt(),Cde),Jde,r)),r.b),dzt)):null),c=0;c0&&t.b>0&&(t.g=T$(t.c,t.b,t.a))}function KG(t,e){t.c=e,t.c>0&&t.b>0&&(t.g=T$(t.c,t.b,t.a))}function YG(t,e){(function(t,e){t.a=e})(this,new IA(t.a,t.b)),function(t,e){t.b=e}(this,GR(e))}function VG(){Bv.call(this,new RT(R0(12))),GO(!0),this.a=2}function WG(t,e,n){UEt(),by.call(this,t),this.b=e,this.a=n}function XG(t,e,n){AI(),cy.call(this,e),this.a=t,this.b=n}function QG(t){var e;e=t.c.d.b,t.b=e,t.a=t.c.d,e.a=t.c.d.b=t}function ZG(t,e){return null==e?FM(U$(t.f,null)):nS(t.i,e)}function JG(t,e,n,i,r){return new vht(t,(DJ(),oGt),e,n,i,r)}function tK(t,e){return tX(e),function(t,e,n){var r;return r=t.length,Zdt(t,0,e,0,i.Math.min(n,r),!0),e}(t,WZ($pe,$Ct,28,e,15,1),e)}function eK(t,e){return tG(t,"set1"),tG(e,"set2"),new yT(t,e)}function nK(t,e){var n;return U_t(t,e,n=new z),n.d}function iK(t,e,n,i){var r;r=new UP,e.a[n.g]=r,Oz(t.b,i,r)}function rK(t,e){return aB(wD(function(t,e){return oB(tO(KR(Oq(t.g,e),8)),eO(KR(Oq(t.f,e),470).b))}(t.f,e)),t.f.d)}function aK(t){(function(t){var e;for(e=new pg(jot(t));e.a>16!=3?null:KR(t.Cb,27)}function dK(t){return t.Db>>16!=9?null:KR(t.Cb,27)}function gK(t){return t.Db>>16!=6?null:KR(t.Cb,74)}function pK(){pK=E,L9t=new eA(RMt,0),I9t=new eA(FMt,1)}function bK(){bK=E,Z8t=new jC(FMt,0),Q8t=new jC(RMt,1)}function mK(){mK=E,e9t=new zC(WMt,0),n9t=new zC("UP",1)}function yK(){yK=E,yHt=c9((Qv(),t7(rk(wHt,1),sCt,549,0,[mHt])))}function wK(t){var e;return F7(e=new h_(R0(t.length)),t),e}function vK(t,e){return t.b+=e.b,t.c+=e.c,t.d+=e.d,t.a+=e.a,t}function xK(t,e){if(null==e)throw Ay(new Qy);return function(t,e){var n,i=t.a;e=String(e),i.hasOwnProperty(e)&&(n=i[e]);var r=(O7(),BHt)[typeof n];return r?r(n):k9(typeof n)}(t,e)}function kK(t,e){var n;n=t.q.getHours(),t.q.setDate(e),Ixt(t,n)}function _K(t,e,n){var i;(i=t.Ih(e))>=0?t.bi(i,n):Zpt(t,e,n)}function TK(t,e){var n;return(n=t.Ih(e))>=0?t.Wh(n):Adt(t,e)}function EK(t,e){var n;for(kq(e),n=t.a;n;n=n.c)e.Yd(n.g,n.i)}function SK(t,e,n){var i;i=K7(t,e,n),t.b=new A3(i.c.length)}function CK(t,e,n){GK(),t&&LH(mfe,t,e),t&&LH(bfe,t,n)}function AK(t,e){return i.Math.abs(t)>16!=7?null:KR(t.Cb,241)}function OK(t){return t.Db>>16!=6?null:KR(t.Cb,241)}function NK(t){return t.Db>>16!=7?null:KR(t.Cb,167)}function DK(t){return t.Db>>16!=11?null:KR(t.Cb,27)}function PK(t){return t.Db>>16!=17?null:KR(t.Cb,29)}function BK(t){return t.Db>>16!=3?null:KR(t.Cb,155)}function RK(t){return get(t),nU(t,new qg(new hw))}function FK(t,e){var n=t.a=t.a||[];return n[e]||(n[e]=t.ve(e))}function $K(t,e){FO(this),this.f=e,this.g=t,PU(this),this.je()}function jK(t,e){this.a=t,this.c=tO(this.a),this.b=new CG(e)}function zK(t,e,n){this.a=e,this.c=t,this.b=(kq(n),new HB(n))}function qK(t,e,n){this.a=e,this.c=t,this.b=(kq(n),new HB(n))}function HK(t){this.a=t,this.b=WZ(P8t,RSt,2043,t.e.length,0,2)}function UK(){this.a=new jL,this.e=new hw,this.g=0,this.i=0}function GK(){var t,e;GK=E,mfe=new my,bfe=new my,t=HUt,e=new ll,t&&LH(bfe,t,e)}function KK(){KK=E,u8t=dj(new EH,(dut(),gWt),(qEt(),mQt))}function YK(){YK=E,h8t=dj(new EH,(dut(),gWt),(qEt(),mQt))}function VK(){VK=E,d8t=dj(new EH,(dut(),gWt),(qEt(),mQt))}function WK(){WK=E,z8t=QF(new EH,(dut(),gWt),(qEt(),HXt))}function XK(){XK=E,K8t=QF(new EH,(dut(),gWt),(qEt(),HXt))}function QK(){QK=E,W8t=QF(new EH,(dut(),gWt),(qEt(),HXt))}function ZK(){ZK=E,r9t=QF(new EH,(dut(),gWt),(qEt(),HXt))}function JK(t,e,n,i,r,a){return new M1(t.e,e,t.Lj(),n,i,r,a)}function tY(t,e,n){return null==e?_ft(t.f,null,n):pet(t.i,e,n)}function eY(t,e){t.c&&u1(t.c.g,t),t.c=e,t.c&&SO(t.c.g,t)}function nY(t,e){t.c&&u1(t.c.a,t),t.c=e,t.c&&SO(t.c.a,t)}function iY(t,e){t.i&&u1(t.i.j,t),t.i=e,t.i&&SO(t.i.j,t)}function rY(t,e){t.d&&u1(t.d.e,t),t.d=e,t.d&&SO(t.d.e,t)}function aY(t,e){t.a&&u1(t.a.k,t),t.a=e,t.a&&SO(t.a.k,t)}function oY(t,e){t.b&&u1(t.b.f,t),t.b=e,t.b&&SO(t.b.f,t)}function sY(t,e){(function(t,e,n){KR(e.b,68),V0(e.a,new kR(t,n,e))})(t,t.b,t.c),KR(t.b.b,68),e&&KR(e.b,68).b}function cY(t,e){rO(t.Cb,184)&&(KR(t.Cb,184).tb=null),B3(t,e)}function lY(t,e){rO(t.Cb,90)&&jft(aQ(KR(t.Cb,90)),4),B3(t,e)}function uY(t){var e;return Qk(),a2(e=new xy,t),e}function hY(t){var e;return Qk(),a2(e=new xy,t),e}function fY(t){for(var e;;)if(e=t.Pb(),!t.Ob())return e}function dY(t,e,n){return SO(t.a,(NH(),Yat(e,n),new dT(e,n))),t}function gY(t,e){return UE(),G1(e)?new VF(e,t):new DM(e,t)}function pY(t){return lwt(),F9(t,0)>=0?Xnt(t):Yz(Xnt(d1(t)))}function bY(t,e){var n;return(n=KR(ctt(HU(t.a),e),16))?n.gc():0}function mY(t,e,n){var i;xtt(e,n,t.c.length),i=n-e,L_(t.c,e,i)}function yY(t,e,n){xtt(e,n,t.gc()),this.c=t,this.a=e,this.b=n-e}function wY(t){this.c=new jT,this.b=t.b,this.d=t.c,this.a=t.a}function vY(t){this.a=i.Math.cos(t),this.b=i.Math.sin(t)}function xY(t,e,n,i){this.c=t,this.d=i,aY(this,e),oY(this,n)}function kY(t,e){Dv.call(this,new RT(R0(t))),E4(e,BSt),this.a=e}function _Y(t,e,n){return new vht(t,(DJ(),aGt),null,!1,e,n)}function TY(t,e,n){return new vht(t,(DJ(),sGt),e,n,null,!1)}function EY(t){return Y7(t7(rk(doe,1),RSt,8,0,[t.i.n,t.n,t.a]))}function SY(){SY=E,Mee=dj(new EH,(pst(),B9t),(Awt(),H9t))}function CY(){CY=E,Cee=new oA("DFS",0),See=new oA("BFS",1)}function AY(t,e,n){var i;(i=new io).b=e,i.a=n,++e.b,SO(t.d,i)}function MY(t,e){if(t<0||t>e)throw Ay(new vx(tMt+t+eMt+e))}function LY(t,e){if(t<0||t>=e)throw Ay(new vx(tMt+t+eMt+e))}function IY(t,e){if(t<0||t>=e)throw Ay(new Xx(tMt+t+eMt+e))}function OY(t,e){this.b=(yH(t),t),this.a=e&gAt?e:64|e|FSt}function NY(t){return get(t),XU(),XU(),q0(t,FUt)}function DY(t){return kq(t),rO(t,16)?new HB(KR(t,16)):HR(t.Kc())}function PY(t,e){return t&&t.equals?t.equals(e):$M(t)===$M(e)}function BY(t,e){return t6(function(t,e){return zI(t.l&e.l,t.m&e.m,t.h&e.h)}(BL(t)?d6(t):t,BL(e)?d6(e):e))}function RY(t,e){return t6(function(t,e){return zI(t.l|e.l,t.m|e.m,t.h|e.h)}(BL(t)?d6(t):t,BL(e)?d6(e):e))}function FY(t,e){return t6(function(t,e){return zI(t.l^e.l,t.m^e.m,t.h^e.h)}(BL(t)?d6(t):t,BL(e)?d6(e):e))}function $Y(t,e){var n,i;return i=Cz(t,e),n=t.a.fd(i),new pT(t,n)}function jY(t){return KD(t.a0&&0==t.a[--t.d];);0==t.a[t.d++]&&(t.e=0)}function NV(t){return KD(t.b.b!=t.d.a),t.c=t.b=t.b.b,--t.a,t.c.c}function DV(t,e){var n;t.e=new Tv,PI(n=Dmt(e),t.c),nyt(t,n,0)}function PV(t,e,n,i){var r;(r=new gc).a=e,r.b=n,r.c=i,RF(t.a,r)}function BV(t,e,n,i){var r;(r=new gc).a=e,r.b=n,r.c=i,RF(t.b,r)}function RV(t,e,n){if(t<0||en)throw Ay(new vx(function(t,e,n){return t<0||t>n?Mft(t,n,"start index"):e<0||e>n?Mft(e,n,"end index"):Uyt("end index (%s) must not be less than start index (%s)",t7(rk(nHt,1),pSt,1,5,[ttt(e),ttt(t)]))}(t,e,n)))}function FV(t,e){if(t<0||t>=e)throw Ay(new vx(function(t,e){if(t<0)return Uyt(gSt,t7(rk(nHt,1),pSt,1,5,["index",ttt(t)]));if(e<0)throw Ay(new Tx(bSt+e));return Uyt("%s (%s) must be less than size (%s)",t7(rk(nHt,1),pSt,1,5,["index",ttt(t),ttt(e)]))}(t,e)));return t}function $V(t){return yE(),rO(t.g,10)?KR(t.g,10):null}function jV(t){return!cU(t).dc()&&(function(t,e){kq(e),cU(t).Jc(new d)}(t,new g),!0)}function zV(t){var e;return BL(t)?-0==(e=t)?0:e:function(t){return Yst(t,(U1(),zHt))<0?-function(t){return t.l+t.m*rAt+t.h*aAt}(x7(t)):t.l+t.m*rAt+t.h*aAt}(t)}function qV(t,e){return!!rO(e,44)&&bot(t.a,KR(e,44))}function HV(t,e){return!!rO(e,44)&&bot(t.a,KR(e,44))}function UV(t,e){return!!rO(e,44)&&bot(t.a,KR(e,44))}function GV(t){var e;return fH(t),e=new P,I_(t.a,new $g(e)),e}function KV(){var t,e;return t=new xy,SO(ege,e=t),e}function YV(t){var e;return fH(t),e=new B,I_(t.a,new jg(e)),e}function VV(t){t5.call(this,t,(DJ(),rGt),null,!1,null,!1)}function WV(){WV=E,SYt=c9((cE(),t7(rk(YYt,1),sCt,489,0,[EYt])))}function XV(){XV=E,v8t=OH(ttt(1),ttt(4)),w8t=OH(ttt(1),ttt(2))}function QV(t){return new lZ((E4(t,lCt),B0(Set(Set(5,t),t/10|0))))}function ZV(t){return KR(yrt(t,WZ(pXt,YIt,12,t.c.length,0,1)),2042)}function JV(t,e){(function(t,e){var n,r,a,o,s,c,l,u,h,f,d,g,p,b,m,y,w,v,x;if(w=0,0==e.f.a)for(m=new pg(t);m.a2e3&&(IHt=t,OHt=i.setTimeout(Y_,10)),0==LHt++&&(function(t){var e,n;if(t.a){n=null;do{e=t.a,t.a=null,n=Pht(e,n)}while(t.a);t.a=n}}((Jv(),SHt)),!0)}();try{return function(t,e,n){return t.apply(e,n)}(t,e,n)}finally{!function(t){t&&function(t){var e,n;if(t.b){n=null;do{e=t.b,t.b=null,n=Pht(e,n)}while(t.b);t.b=n}}((Jv(),SHt)),--LHt,t&&-1!=OHt&&(function(t){i.clearTimeout(t)}(OHt),OHt=-1)}(r)}}function iW(t,e){var n,i;return i=null,(n=xK(t,e))&&(i=n.pe()),i}function rW(t,e){var n,i;return i=null,(n=xK(t,e))&&(i=n.se()),i}function aW(t,e){var n,i;return i=null,(n=Q1(t,e))&&(i=n.se()),i}function oW(t,e){var n,i;return i=null,(n=xK(t,e))&&(i=Uht(n)),i}function sW(t,e,n){this.d=new hb(this),this.e=t,this.i=e,this.f=n}function cW(t,e,n,i){this.e=null,this.c=t,this.d=e,this.a=n,this.b=i}function lW(t,e,n,i){QI(this),this.c=t,this.e=e,this.f=n,this.b=i}function uW(t,e,n,i){this.d=t,this.n=e,this.g=n,this.o=i,this.p=-1}function hW(t,e,n,i){return rO(n,59)?new GN(t,e,n,i):new jj(t,e,n,i)}function fW(t){return rO(t,16)?KR(t,16).dc():!t.Kc().Ob()}function dW(t){if(t.e.g!=t.b)throw Ay(new Jy);return!!t.c&&t.d>0}function gW(t){return KD(t.b!=t.d.c),t.c=t.b,t.b=t.b.a,++t.a,t.c.c}function pW(t,e){yH(e),Dq(t.a,t.c,e),t.c=t.c+1&t.a.length-1,Vot(t)}function bW(t,e){yH(e),t.b=t.b-1&t.a.length-1,Dq(t.a,t.b,e),Vot(t)}function mW(t){var e;e=t.Gh(),this.a=rO(e,71)?KR(e,71).Ii():e.Kc()}function yW(t){return new OY(function(t,e){var n,i;for(QU(),i=new yy,n=0;n0&&ext(t.g,0,e,0,t.i),e}function OW(t,e){var n;for(n=t.j.c.length;nt.c));o++)r.a>=t.s&&(a<0&&(a=o),s=o);return c=(t.s+t.c)/2,a>=0&&(c=function(t){return(t.c+t.a)/2}((LY(i=function(t,e,n,i){var r,a,o,s,c,l,u,h,f,d,g;if(a=n,n=n&&(i=e,a=(c=(s.c+s.a)/2)-n,s.c<=c-n&&V$(t,i++,new wR(s.c,a)),(o=c+n)<=s.a&&(r=new wR(o,s.a),MY(i,t.c.length),NS(t.c,i,r)))}(e,i,n)),c}(r,n,i))),function(t,e,n){var i,r,a,o;for(a=e.q,o=e.r,new xY((fZ(),x9t),e,a,1),new xY(x9t,a,o,1),r=new pg(n);r.a"+VY(t.d):"e_"+DN(t)}function UX(t,e){var n,i;for(yH(e),i=t.Kc();i.Ob();)n=i.Pb(),e.Cd(n)}function GX(t,e){var n;for(n=e;n;)bD(t,-n.i,-n.j),n=DK(n);return t}function KX(t,e){var n,i;for(n=e,i=0;n>0;)i+=t.a[n],n-=n&-n;return i}function YX(t,e,n){var i;return LY(e,t.c.length),i=t.c[e],t.c[e]=n,i}function VX(t,e,n){t.a.c.length=0,function(t,e,n){var r,a,o,s,c,l,u,h,f;t.c=0,t.b=0,r=2*e.c.a.c.length+1;t:for(u=n.Kc();u.Ob();){if(f=0,s=(l=KR(u.Pb(),12)).j==(MTt(),cue)||l.j==Eue){if(!(h=KR(fut(l,(jEt(),Z1t)),10)))continue;f+=_yt(t,r,l,h)}else{for(c=new pg(l.g);c.a0?(t.f[l.p]=f/(l.e.c.length+l.g.c.length),t.c=i.Math.min(t.c,t.f[l.p]),t.b=i.Math.max(t.b,t.f[l.p])):s&&(t.f[l.p]=f)}}(t,e,n),0==t.a.c.length||function(t,e){var n,i,r,a,o,s,c,l,u,h;for(l=t.e[e.c.p][e.p]+1,c=e.c.a.c.length+1,s=new pg(t.a);s.a0?wmt(t,e):dit(t,-e)}function yQ(t,e){return 0==e||0==t.e?t:e>0?dit(t,e):wmt(t,-e)}function wQ(t){ZE.call(this,null==t?wSt:Get(t),rO(t,82)?KR(t,82):null)}function vQ(t){var e;return t.c||rO(e=t.r,90)&&(t.c=KR(e,29)),t.c}function xQ(t){var e;return p6(e=new EG,t),E7(e,(CEt(),J3t),null),e}function kQ(t){var e,n;return e=t.c.i,n=t.d.i,e.k==(Vut(),JWt)&&n.k==JWt}function _Q(t){return zI(t&eAt,t>>22&eAt,t<0?nAt:0)}function TQ(t,e){var n,i;(n=KR(function(t,e){kq(t);try{return t.Bc(e)}catch(t){if(rO(t=j6(t),212)||rO(t,169))return null;throw Ay(t)}}(t.c,e),16))&&(i=n.gc(),n.$b(),t.d-=i)}function EQ(t,e,n){var i;return(i=t.Ih(e))>=0?t.Lh(i,n,!0):jdt(t,e,n)}function SQ(t,e){t._i(t.i+1),CO(t,t.i,t.Zi(t.i,e)),t.Mi(t.i++,e),t.Ni()}function CQ(t){var e,n;++t.j,e=t.g,n=t.i,t.g=null,t.i=0,t.Oi(n,e),t.Ni()}function AQ(t,e,n){var i;v5(i=new cO(t.a),t.a.a),_ft(i.f,e,n),t.a.a=i}function MQ(t,e,n,i){var r;for(r=0;re)throw Ay(new vx(Mft(t,e,"index")));return t}function PQ(t,e){var n;return LY(e,t.c.length),n=t.c[e],L_(t.c,e,1),n}function BQ(t,e){var n,i;return yH(t),n=t,yH(e),n==(i=e)?0:nt.d[r.p]&&(n+=KX(t.b,i)*KR(o.b,17).a,bW(t.a,ttt(i)));for(;!Rx(t.a);)t0(t.b,KR(Ez(t.a),17).a)}return n}(t,n)}function ZQ(t){var e;return 0==(e=t.b).b?null:KR(Yrt(e,0),65).b}function JQ(t){return t.a?t.e?JQ(t.e):null:t}function tZ(t){var e;return t.a||rO(e=t.r,156)&&(t.a=KR(e,156)),t.a}function eZ(t,e){return!!mz(t.a,e)&&($Q(t.a,e),!0)}function nZ(t,e,n){return FV(e,t.e.Rd().gc()),FV(n,t.c.Rd().gc()),t.a[e][n]}function iZ(t,e,n){this.a=t,this.b=e,this.c=n,SO(t.t,this),SO(e.i,this)}function rZ(t,e,n,i){this.f=t,this.e=e,this.d=n,this.b=i,this.c=i?i.d:null}function aZ(){this.b=new jT,this.a=new jT,this.b=new jT,this.a=new jT}function oZ(){var t,e;oZ=E,Qk(),e=new rw,sge=e,t=new rv,cge=t}function sZ(t){var e;for(fH(t),e=0;t.a.Bd(new lt);)e=Set(e,1);return e}function cZ(t,e){return yH(e),t.c=0,"Initial capacity must not be negative")}function uZ(){uZ=E,uoe=new Vm("org.eclipse.elk.labels.labelManager")}function hZ(){hZ=E,MQt=new AP("separateLayerConnections",(e7(),DQt))}function fZ(){fZ=E,k9t=new tA("REGULAR",0),x9t=new tA("CRITICAL",1)}function dZ(){dZ=E,zre=new xA("FIXED",0),jre=new xA("CENTER_NODE",1)}function gZ(){gZ=E,PZt=new aC("QUADRATIC",0),BZt=new aC("SCANLINE",1)}function pZ(){pZ=E,qZt=c9((A4(),t7(rk(HZt,1),sCt,322,0,[jZt,$Zt,zZt])))}function bZ(){bZ=E,YZt=c9((f4(),t7(rk(VZt,1),sCt,351,0,[UZt,KZt,GZt])))}function mZ(){mZ=E,gZt=c9((u3(),t7(rk(pZt,1),sCt,372,0,[dZt,fZt,hZt])))}function yZ(){yZ=E,lJt=c9((I7(),t7(rk(uJt,1),sCt,460,0,[sJt,oJt,cJt])))}function wZ(){wZ=E,t1t=c9((_6(),t7(rk(e1t,1),sCt,299,0,[ZJt,JJt,QJt])))}function vZ(){vZ=E,a1t=c9((q1(),t7(rk(o1t,1),sCt,311,0,[i1t,r1t,n1t])))}function xZ(){xZ=E,Z6t=c9((K9(),t7(rk(J6t,1),sCt,390,0,[W6t,X6t,Q6t])))}function kZ(){kZ=E,H7t=c9((P5(),t7(rk(U7t,1),sCt,387,0,[j7t,z7t,q7t])))}function _Z(){_Z=E,V7t=c9((w8(),t7(rk(W7t,1),sCt,349,0,[Y7t,G7t,K7t])))}function TZ(){TZ=E,F7t=c9((d4(),t7(rk($7t,1),sCt,463,0,[R7t,P7t,B7t])))}function EZ(){EZ=E,J7t=c9((t9(),t7(rk(t8t,1),sCt,350,0,[X7t,Q7t,Z7t])))}function SZ(){SZ=E,r8t=c9((h4(),t7(rk(a8t,1),sCt,352,0,[i8t,e8t,n8t])))}function CZ(){CZ=E,l8t=c9((r7(),t7(rk(k8t,1),sCt,388,0,[s8t,c8t,o8t])))}function AZ(){AZ=E,rte=c9((v8(),t7(rk(wee,1),sCt,392,0,[ite,nte,ete])))}function MZ(){MZ=E,Jee=c9((J8(),t7(rk(Bne,1),sCt,393,0,[Xee,Qee,Zee])))}function LZ(){LZ=E,Kne=c9((D5(),t7(rk(Yne,1),sCt,300,0,[Une,Gne,Hne])))}function IZ(){IZ=E,Qne=c9((oit(),t7(rk(Zne,1),sCt,445,0,[Vne,Wne,Xne])))}function OZ(){OZ=E,nie=c9((vat(),t7(rk(gie,1),sCt,456,0,[Jne,eie,tie])))}function NZ(){NZ=E,yie=c9((Oet(),t7(rk(ore,1),sCt,394,0,[bie,mie,pie])))}function DZ(){DZ=E,pre=c9((s1(),t7(rk(bre,1),sCt,439,0,[fre,gre,dre])))}function PZ(){PZ=E,L8t=c9((u4(),t7(rk(I8t,1),sCt,464,0,[C8t,A8t,M8t])))}function BZ(){BZ=E,xKt=c9((PJ(),t7(rk(kKt,1),sCt,471,0,[wKt,yKt,vKt])))}function RZ(){RZ=E,gKt=c9((d2(),t7(rk(pKt,1),sCt,237,0,[hKt,fKt,dKt])))}function FZ(){FZ=E,CKt=c9((z1(),t7(rk(AKt,1),sCt,472,0,[SKt,EKt,TKt])))}function $Z(){$Z=E,kGt=c9((e9(),t7(rk(_Gt,1),sCt,108,0,[wGt,vGt,xGt])))}function jZ(){jZ=E,aWt=c9((j1(),t7(rk(lWt,1),sCt,391,0,[iWt,nWt,rWt])))}function zZ(){zZ=E,wle=c9((V9(),t7(rk(vle,1),sCt,346,0,[mle,ble,yle])))}function qZ(){qZ=E,Ore=c9((ztt(),t7(rk(Nre,1),sCt,444,0,[Mre,Lre,Ire])))}function HZ(){HZ=E,Yce=c9((g2(),t7(rk(Vce,1),sCt,278,0,[Uce,Gce,Kce])))}function UZ(){UZ=E,ehe=c9((Y9(),t7(rk(nhe,1),sCt,280,0,[Jue,Zue,the])))}function GZ(t,e){return!t.o&&(t.o=new mJ((hEt(),Ohe),nfe,t,0)),Bnt(t.o,e)}function KZ(t){var e,n,i,r;r=t.d,e=t.a,n=t.b,i=t.c,t.d=n,t.a=i,t.b=r,t.c=e}function YZ(t){return!t.g&&(t.g=new dl),!t.g.c&&(t.g.c=new Jm(t)),t.g.c}function VZ(t,e,n,i){var r;return function(t,e,n,i,r){var a,o;if(a=Set(BY(e[0],kAt),BY(i[0],kAt)),t[0]=bj(a),a=Mj(a,32),n>=r){for(o=1;on||e=0?t.Lh(n,!0,!0):jdt(t,e,!0)}function _J(t){for(;!t.a;)if(!TB(t.c,new zg(t)))return!1;return!0}function TJ(t){return kq(t),rO(t,204)?KR(t,204):new rd(t)}function EJ(){var t,e,n,i;EJ=E,zae=new cc,Hae=new lc,zEt(),t=Zse,e=zae,n=Ise,i=Hae,NH(),qae=new Kv(t7(rk(dHt,1),WSt,44,0,[(Yat(t,e),new dT(t,e)),(Yat(n,i),new dT(n,i))]))}function SJ(){SJ=E,Kee=new lA("LEAF_NUMBER",0),Yee=new lA("NODE_SIZE",1)}function CJ(t){t.a=WZ($pe,$Ct,28,t.b+1,15,1),t.c=WZ($pe,$Ct,28,t.b,15,1),t.d=0}function AJ(t,e){if(null==t.g||e>=t.i)throw Ay(new wL(e,t.i));return t.g[e]}function MJ(t,e,n){if(f8(t,n),null!=n&&!t.fk(n))throw Ay(new Yy);return n}function LJ(t,e){return 10!=i0(e)&&t7(i9(e),e.Sm,e.__elementTypeId$,i0(e),t),t}function IJ(t,e,n,i){XU(),i=i||RUt,Lft(t.slice(e,n),t,e,n,-e,i)}function OJ(t,e,n,i,r){return e<0?jdt(t,n,i):KR(n,69).wk().yk(t,t.hi(),e,i,r)}function NJ(){NJ=E,cGt=c9((DJ(),t7(rk(lGt,1),sCt,304,0,[rGt,aGt,oGt,sGt])))}function DJ(){DJ=E,rGt=new sS("All",0),aGt=new gI,oGt=new YI,sGt=new dI}function PJ(){PJ=E,wKt=new kS(RMt,0),yKt=new kS(DMt,1),vKt=new kS(FMt,2)}function BJ(){BJ=E,Jxt(),Vge=fAt,Yge=dAt,Xge=new ig(fAt),Wge=new ig(dAt)}function RJ(){RJ=E,aYt=c9((k6(),t7(rk(oYt,1),sCt,417,0,[rYt,eYt,nYt,iYt])))}function FJ(){FJ=E,_Yt=c9((Zrt(),t7(rk(TYt,1),sCt,406,0,[vYt,wYt,xYt,kYt])))}function $J(){$J=E,hYt=c9((Jrt(),t7(rk(fYt,1),sCt,332,0,[cYt,sYt,lYt,uYt])))}function jJ(){jJ=E,HWt=c9((Yit(),t7(rk(KWt,1),sCt,389,0,[qWt,jWt,$Wt,zWt])))}function zJ(){zJ=E,LWt=c9((i7(),t7(rk(FWt,1),sCt,416,0,[SWt,MWt,CWt,AWt])))}function qJ(){qJ=E,ZQt=c9((n7(),t7(rk(JQt,1),sCt,421,0,[VQt,WQt,XQt,QQt])))}function HJ(){HJ=E,PQt=c9((e7(),t7(rk(KQt,1),sCt,371,0,[DQt,OQt,NQt,IQt])))}function UJ(){UJ=E,r7t=c9((wat(),t7(rk(a7t,1),sCt,203,0,[n7t,i7t,e7t,t7t])))}function GJ(){GJ=E,M7t=c9((Mit(),t7(rk(L7t,1),sCt,284,0,[S7t,E7t,C7t,A7t])))}function KJ(){KJ=E,vJt=new dC(PIt,0),wJt=new dC("IMPROVE_STRAIGHTNESS",1)}function YJ(t,e){var n,i;return i=e/t.c.Rd().gc()|0,n=e%t.c.Rd().gc(),nZ(t,i,n)}function VJ(t){var e;if(t.nl())for(e=t.i-1;e>=0;--e)l2(t,e);return IW(t)}function WJ(t){var e,n;if(!t.b)return null;for(n=t.b;e=n.a[0];)n=e;return n}function XJ(t){var e,n;if(!t.b)return null;for(n=t.b;e=n.a[1];)n=e;return n}function QJ(t,e){if(e.a)throw Ay(new Yv(sMt));Az(t.a,e),e.a=t,!t.j&&(t.j=e)}function ZJ(t,e){oL.call(this,e.zd(),-16449&e.yd()),yH(t),this.a=t,this.c=e}function JJ(){JJ=E,zne=c9((wot(),t7(rk(qne,1),sCt,354,0,[jne,Fne,$ne,Rne])))}function t1(){t1=E,Tee=c9((Z8(),t7(rk(Eee,1),sCt,353,0,[_ee,xee,kee,vee])))}function e1(){e1=E,F9t=c9((pst(),t7(rk($9t,1),sCt,405,0,[D9t,P9t,B9t,R9t])))}function n1(){n1=E,Jce=c9((Iet(),t7(rk(tle,1),sCt,223,0,[Zce,Xce,Wce,Qce])))}function i1(){i1=E,Ele=c9((bst(),t7(rk(Sle,1),sCt,291,0,[Tle,xle,kle,_le])))}function r1(){r1=E,$ue=c9((ait(),t7(rk(jue,1),sCt,386,0,[Rue,Fue,Bue,Pue])))}function a1(){a1=E,hhe=c9((mnt(),t7(rk(fhe,1),sCt,320,0,[uhe,she,lhe,che])))}function o1(){o1=E,yhe=c9((y8(),t7(rk(xhe,1),sCt,415,0,[phe,bhe,ghe,mhe])))}function s1(){s1=E,fre=new mA(oBt,0),gre=new mA(uPt,1),dre=new mA(PIt,2)}function c1(t,e,n,i,r){return yH(t),yH(e),yH(n),yH(i),yH(r),new Bz(t,e,i)}function l1(t,e){var n;return(n=KR($Q(t.e,e),400))?(BF(n),n.e):null}function u1(t,e){var n;return-1!=(n=g1(t,e,0))&&(PQ(t,n),!0)}function h1(t,e,n){var i;return fH(t),(i=new st).a=e,t.a.Nb(new bS(i,n)),i.a}function f1(t){var e;if(!i3(t))throw Ay(new ew);return t.e=1,e=t.d,t.d=null,e}function d1(t){var e;return BL(t)&&(e=0-t,!isNaN(e))?e:t6(x7(t))}function g1(t,e,n){for(;n=0?uat(t,n,!0,!0):jdt(t,e,!0)}function R1(t){var e;return null==(e=X2(i6(t,32)))&&(jit(t),e=X2(i6(t,32))),e}function F1(t){var e;return t.Oh()||(e=Lq(t.Dh())-t.ji(),t.$h().Mk(e)),t.zh()}function $1(t,e){pYt=new ee,yYt=e,KR((gYt=t).b,68),JZ(gYt,pYt,null),Ykt(gYt)}function j1(){j1=E,iWt=new IS("XY",0),nWt=new IS("X",1),rWt=new IS("Y",2)}function z1(){z1=E,SKt=new _S("TOP",0),EKt=new _S(DMt,1),TKt=new _S(jMt,2)}function q1(){q1=E,i1t=new yC(PIt,0),r1t=new yC("TOP",1),n1t=new yC(jMt,2)}function H1(){H1=E,I7t=new CC("INPUT_ORDER",0),O7t=new CC("PORT_DEGREE",1)}function U1(){U1=E,FHt=zI(eAt,eAt,524287),$Ht=zI(0,0,iAt),jHt=_Q(1),_Q(2),zHt=_Q(0)}function G1(t){var e;return t.d!=t.r&&(e=qst(t),t.e=!!e&&e.lk()==Xjt,t.d=e),t.e}function K1(t,e,n){var i;return i=t.g[e],CO(t,e,t.Zi(e,n)),t.Ri(e,n,i),t.Ni(),i}function Y1(t,e){var n;return(n=t.dd(e))>=0&&(t.gd(n),!0)}function V1(t,e){var n;for(kq(t),kq(e),n=!1;e.Ob();)n|=t.Fc(e.Pb());return n}function W1(t,e){var n;return(n=KR(Oq(t.e,e),400))?(bO(t,n),n.e):null}function X1(t){var e,n;return e=t/60|0,0==(n=t%60)?""+e:e+":"+n}function Q1(t,e){var n=t.a[e],i=(O7(),BHt)[typeof n];return i?i(n):k9(typeof n)}function Z1(t,e){return get(t),new k$(t,new LB(new qQ(e,t.a)))}function J1(t){var e;return null!=(e=0==t.b.c.length?null:c$(t.b,0))&&x3(t,0),e}function t0(t,e){var n;for(++t.d,++t.c[e],n=e+1;n=0;)++e[0]}function i0(t){return null==t.__elementTypeCategory$?10:t.__elementTypeCategory$}function r0(t,e){return e==(WB(),WB(),VUt)?t.toLocaleLowerCase():t.toLowerCase()}function a0(t){if(!t.e)throw Ay(new ew);return t.c=t.a=t.e,t.e=t.e.e,--t.d,t.a.f}function o0(t){if(!t.c)throw Ay(new ew);return t.e=t.a=t.c,t.c=t.c.c,++t.d,t.a.f}function s0(t){var e;for(++t.a,e=t.c.a.length;t.at.a[i]&&(i=n);return i}function l0(t){var e;return!!(e=KR(fut(t,(jEt(),f1t)),313))&&e.a==t}function u0(t){var e;return!!(e=KR(fut(t,(jEt(),f1t)),313))&&e.i==t}function h0(){h0=E,pWt=c9((dut(),t7(rk(yWt,1),sCt,367,0,[uWt,hWt,fWt,dWt,gWt])))}function f0(){f0=E,aZt=c9((elt(),t7(rk(uZt,1),sCt,375,0,[eZt,iZt,rZt,nZt,tZt])))}function d0(){d0=E,tJt=c9((Ait(),t7(rk(eJt,1),sCt,348,0,[XZt,WZt,ZZt,JZt,QZt])))}function g0(){g0=E,h7t=c9((Qrt(),t7(rk(f7t,1),sCt,323,0,[u7t,s7t,c7t,o7t,l7t])))}function p0(){p0=E,v0t=c9((bnt(),t7(rk(R6t,1),sCt,171,0,[w0t,p0t,b0t,m0t,y0t])))}function b0(){b0=E,Uee=c9((Tlt(),t7(rk(Gee,1),sCt,368,0,[qee,$ee,Hee,jee,zee])))}function m0(){m0=E,Cre=c9((mbt(),t7(rk(Are,1),sCt,373,0,[_re,kre,Ere,Tre,Sre])))}function y0(){y0=E,Wre=c9((hht(),t7(rk(Lae,1),sCt,324,0,[Ure,Gre,Vre,Kre,Yre])))}function w0(){w0=E,qce=c9((jtt(),t7(rk(Hce,1),sCt,88,0,[jce,$ce,Fce,Rce,zce])))}function v0(){v0=E,Jae=c9((Art(),t7(rk(toe,1),sCt,170,0,[Qae,Xae,Vae,Zae,Wae])))}function x0(){x0=E,Hle=c9((Drt(),t7(rk(Ule,1),sCt,256,0,[jle,qle,Fle,$le,zle])))}function k0(){k0=E,Aue=c9((MTt(),t7(rk(Due,1),RIt,64,0,[Sue,cue,sue,Eue,Cue])))}function _0(){_0=E,$Gt=new wS("BY_SIZE",0),jGt=new wS("BY_SIZE_AND_SHAPE",1)}function T0(){T0=E,iVt=new LS("EADES",0),rVt=new LS("FRUCHTERMAN_REINGOLD",1)}function E0(){E0=E,nJt=new uC("READING_DIRECTION",0),iJt=new uC("ROTATION",1)}function S0(){S0=E,NWt=new Se,DWt=new Le,IWt=new Ie,OWt=new Me,PWt=new Oe}function C0(t){this.b=new yy,this.a=new yy,this.c=new yy,this.d=new yy,this.e=t}function A0(t){this.g=t,this.f=new yy,this.a=i.Math.min(this.g.c.c,this.g.d.c)}function M0(t,e,n){eB.call(this),h2(this),this.a=t,this.c=n,this.b=e.d,this.f=e.e}function L0(t,e,n){var i;for(i=new pg(n);i.a=0&&e0?lSt:F9(t,gCt)<0?gCt:bj(t)}function R0(t){return t<3?(E4(t,iCt),t+1):t=-.01&&t.a<=HMt&&(t.a=0),t.b>=-.01&&t.b<=HMt&&(t.b=0),t}function G0(t){var e,n;for(Ymt(),n=DPt,e=0;en&&(n=t[e]);return n}function K0(t,e){var n;if(!(n=Bbt(t.Dh(),e)))throw Ay(new Tx(OFt+e+PFt));return n}function Y0(t,e){var n;for(n=t;DK(n);)if((n=DK(n))==e)return!0;return!1}function V0(t,e){var n,i,r,a;for(yH(e),r=0,a=(i=t.c).length;r>16!=6?null:KR(Sgt(t),241)}(t))&&!e.Vh()&&(t.w=e),e)}function a2(t,e){var n,i;i=t.a,n=function(t,e,n){var i,r;return r=t.a,t.a=e,4&t.Db&&!(1&t.Db)&&(i=new nz(t,1,5,r,t.a),n?rlt(n,i):n=i),n}(t,e,null),i!=e&&!t.e&&(n=W_t(t,e,n)),n&&n.oj()}function o2(t,e,n){var i,r;i=e;do{r=gx(t.p[i.p])+n,t.p[i.p]=r,i=t.a[i.p]}while(i!=e)}function s2(t,e,n){var i=function(){return t.apply(i,arguments)};return e.apply(i,n),i}function c2(t){var e;return null==t?null:function(t,e){var n,i,r,a,o;if(null==t)return null;for(o=WZ(Fpe,_Ct,28,2*e,15,1),i=0,r=0;i>4&15,a=15&t[i],o[r++]=Rhe[n],o[r++]=Rhe[a];return Sit(o,0,o.length)}(e=KR(t,195),e.length)}function l2(t,e){if(null==t.g||e>=t.i)throw Ay(new wL(e,t.i));return t.Wi(e,t.g[e])}function u2(t){return get(t),iF(!0,"n may not be negative"),new k$(t,new z4(t.a))}function h2(t){t.b=(PJ(),yKt),t.f=(z1(),EKt),t.d=(E4(2,oCt),new lZ(2)),t.e=new Hk}function f2(t){this.b=(kq(t),new HB(t)),this.a=new yy,this.d=new yy,this.e=new Hk}function d2(){d2=E,hKt=new xS("BEGIN",0),fKt=new xS(DMt,1),dKt=new xS("END",2)}function g2(){g2=E,Uce=new RA(DMt,0),Gce=new RA("HEAD",1),Kce=new RA("TAIL",2)}function p2(){p2=E,Lee=Fit(Fit(Fit(NE(new EH,(pst(),P9t)),(Awt(),Z9t)),G9t),W9t)}function b2(){b2=E,Oee=Fit(Fit(Fit(NE(new EH,(pst(),R9t)),(Awt(),Y9t)),q9t),K9t)}function m2(){m2=E,NZt=c9((Jht(),t7(rk(DZt,1),sCt,232,0,[MZt,IZt,AZt,LZt,OZt,CZt])))}function y2(){y2=E,mJt=c9((Zut(),t7(rk(yJt,1),sCt,283,0,[fJt,hJt,gJt,dJt,bJt,pJt])))}function w2(){w2=E,MJt=c9((Sct(),t7(rk(LJt,1),sCt,281,0,[SJt,EJt,AJt,TJt,CJt,_Jt])))}function v2(){v2=E,RJt=c9((zut(),t7(rk(FJt,1),sCt,282,0,[PJt,OJt,BJt,DJt,NJt,IJt])))}function x2(){x2=E,rXt=c9((Vut(),t7(rk(aXt,1),sCt,273,0,[nXt,eXt,JWt,iXt,tXt,ZWt])))}function k2(){k2=E,xoe=c9((xat(),t7(rk(Doe,1),sCt,255,0,[poe,yoe,woe,voe,boe,moe])))}function _2(){_2=E,zoe=c9((Yct(),t7(rk(Bce,1),sCt,298,0,[joe,$oe,Foe,Boe,Poe,Roe])))}function T2(){T2=E,sle=c9((Qlt(),t7(rk(ple,1),sCt,321,0,[ale,ile,ole,ele,rle,nle])))}function E2(){E2=E,Qle=c9((plt(),t7(rk(Zle,1),sCt,101,0,[Xle,Wle,Vle,Gle,Yle,Kle])))}function S2(){S2=E,aue=c9((cdt(),t7(rk(oue,1),sCt,279,0,[iue,eue,nue,tue,Jle,rue])))}function C2(){C2=E,mKt=(d2(),t7(rk(pKt,1),sCt,237,0,[hKt,fKt,dKt])).length,bKt=mKt}function A2(t,e){return function(t){return t?t.i:null}(Z3(t,e,bj(Cet(tCt,RH(bj(Cet(null==e?0:N3(e),eCt)),15)))))}function M2(t,e){return CI(),p4(dCt),i.Math.abs(t-e)<=dCt||t==e||isNaN(t)&&isNaN(e)}function L2(t,e){var n;n=t.b,t.b=e,4&t.Db&&!(1&t.Db)&&Q5(t,new aX(t,1,n,t.b))}function I2(t,e){var n;n=t.b,t.b=e,4&t.Db&&!(1&t.Db)&&Q5(t,new aX(t,3,n,t.b))}function O2(t,e){var n;n=t.f,t.f=e,4&t.Db&&!(1&t.Db)&&Q5(t,new aX(t,3,n,t.f))}function N2(t,e){var n;n=t.g,t.g=e,4&t.Db&&!(1&t.Db)&&Q5(t,new aX(t,4,n,t.g))}function D2(t,e){var n;n=t.i,t.i=e,4&t.Db&&!(1&t.Db)&&Q5(t,new aX(t,5,n,t.i))}function P2(t,e){var n;n=t.j,t.j=e,4&t.Db&&!(1&t.Db)&&Q5(t,new aX(t,6,n,t.j))}function B2(t,e){var n;n=t.j,t.j=e,4&t.Db&&!(1&t.Db)&&Q5(t,new aX(t,1,n,t.j))}function R2(t,e){var n;n=t.c,t.c=e,4&t.Db&&!(1&t.Db)&&Q5(t,new aX(t,4,n,t.c))}function F2(t,e){var n;n=t.k,t.k=e,4&t.Db&&!(1&t.Db)&&Q5(t,new aX(t,2,n,t.k))}function $2(t,e){var n;n=t.a,t.a=e,4&t.Db&&!(1&t.Db)&&Q5(t,new aX(t,0,n,t.a))}function j2(t,e){var n;n=t.s,t.s=e,4&t.Db&&!(1&t.Db)&&Q5(t,new oX(t,4,n,t.s))}function z2(t,e){var n;n=t.t,t.t=e,4&t.Db&&!(1&t.Db)&&Q5(t,new oX(t,5,n,t.t))}function q2(t,e){var n;n=t.d,t.d=e,4&t.Db&&!(1&t.Db)&&Q5(t,new oX(t,2,n,t.d))}function H2(t,e){var n;n=t.F,t.F=e,4&t.Db&&!(1&t.Db)&&Q5(t,new nz(t,1,5,n,e))}function U2(t,e){var n;return(n=KR(Oq((jE(),Efe),t),57))?n.gk(e):WZ(nHt,pSt,1,e,5,1)}function G2(t,e){var n,i;return Vk(),i=new il,e&&Ibt(i,e),W4(n=i,t),n}function K2(t,e){var n;return e in t.a&&(n=xK(t,e).re())?n.a:null}function Y2(t,e,n){if(f8(t,n),!t.kl()&&null!=n&&!t.fk(n))throw Ay(new Yy);return n}function V2(t,e){return t.n=e,t.n?(t.f=new yy,t.e=new yy):(t.f=null,t.e=null),t}function W2(t,e){if(t){e.n=t;var n=function(t){if(t.Ae())return null;var e=t.n;return JEt[e]}(e);if(!n)return void(JEt[t]=[e]);n.Rm=e}}function X2(t){var e;return e$(null==t||Array.isArray(t)&&!((e=i0(t))>=14&&e<=16)),t}function Q2(t,e){var n;return yH(e),nF(!!(n=t[":"+e]),"Enum constant undefined: "+e),n}function Z2(t,e,n,i,r,a){var o;return W2(n,o=xq(t,e)),o.i=r?8:0,o.f=i,o.e=r,o.g=a,o}function J2(t,e,n,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=1,this.c=t,this.a=n}function t4(t,e,n,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=2,this.c=t,this.a=n}function e4(t,e,n,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=6,this.c=t,this.a=n}function n4(t,e,n,i,r){this.d=e,this.k=i,this.f=r,this.o=-1,this.p=7,this.c=t,this.a=n}function i4(t,e,n,i,r){this.d=e,this.j=i,this.e=r,this.o=-1,this.p=4,this.c=t,this.a=n}function r4(t,e){var n,i,r,a;for(r=0,a=(i=e).length;r=0))throw Ay(new Tx("tolerance ("+t+") must be >= 0"));return t}function b4(t,e){var n;return rO(e,44)?t.c.Mc(e):(n=Bnt(t,e),Nit(t,e),n)}function m4(t,e,n){return g9(t,e),B3(t,n),j2(t,0),z2(t,1),Ctt(t,!0),Ttt(t,!0),t}function y4(t,e){var n;if(n=t.gc(),e<0||e>n)throw Ay(new wB(e,n));return new AB(t,e)}function w4(t,e){t.b=i.Math.max(t.b,e.d),t.e+=e.r+(0==t.a.c.length?0:t.c),SO(t.a,e)}function v4(t){YD(t.c>=0),function(t,e){var n,i,r;return i=t.a.length-1,n=e-t.b&i,r=t.c-e&i,VD(n<(t.c-t.b&i)),n>=r?(function(t,e){var n,i;for(n=t.a.length-1,t.c=t.c-1&n;e!=t.c;)i=e+1&n,Dq(t.a,e,t.a[i]),e=i;Dq(t.a,t.c,null)}(t,e),-1):(function(t,e){var n,i;for(n=t.a.length-1;e!=t.b;)i=e-1&n,Dq(t.a,e,t.a[i]),e=i;Dq(t.a,t.b,null),t.b=t.b+1&n}(t,e),1)}(t.d,t.c)<0&&(t.a=t.a-1&t.d.a.length-1,t.b=t.d.c),t.c=-1}function x4(t){var e;for(e=t.c.Cc().Kc();e.Ob();)KR(e.Pb(),16).$b();t.c.$b(),t.d=0}function k4(t,e){var n,i,r;for(i=0,r=(n=e).length;i0&&t.c0&&0!=t.g&&q4(t.i,e/t.r*t.i.d))}function H4(t,e){var n;n=t.c,t.c=e,4&t.Db&&!(1&t.Db)&&Q5(t,new nz(t,1,1,n,t.c))}function U4(t,e){var n;n=t.c,t.c=e,4&t.Db&&!(1&t.Db)&&Q5(t,new nz(t,1,4,n,t.c))}function G4(t,e){var n;n=t.k,t.k=e,4&t.Db&&!(1&t.Db)&&Q5(t,new nz(t,1,2,n,t.k))}function K4(t,e){var n;n=t.D,t.D=e,4&t.Db&&!(1&t.Db)&&Q5(t,new nz(t,1,2,n,t.D))}function Y4(t,e){var n;n=t.f,t.f=e,4&t.Db&&!(1&t.Db)&&Q5(t,new nz(t,1,8,n,t.f))}function V4(t,e){var n;n=t.i,t.i=e,4&t.Db&&!(1&t.Db)&&Q5(t,new nz(t,1,7,n,t.i))}function W4(t,e){var n;n=t.a,t.a=e,4&t.Db&&!(1&t.Db)&&Q5(t,new nz(t,1,8,n,t.a))}function X4(t,e){var n;n=t.b,t.b=e,4&t.Db&&!(1&t.Db)&&Q5(t,new nz(t,1,0,n,t.b))}function Q4(t,e){var n;n=t.b,t.b=e,4&t.Db&&!(1&t.Db)&&Q5(t,new nz(t,1,0,n,t.b))}function Z4(t,e){var n;n=t.c,t.c=e,4&t.Db&&!(1&t.Db)&&Q5(t,new nz(t,1,1,n,t.c))}function J4(t,e){var n;n=t.d,t.d=e,4&t.Db&&!(1&t.Db)&&Q5(t,new nz(t,1,1,n,t.d))}function t3(t,e){return xmt(t.e,e)?(UE(),G1(e)?new VF(e,t):new DM(e,t)):new IM(e,t)}function e3(t,e){var n,i;return n=t.c,(i=e.e[t.p])>0?KR(c$(n.a,i-1),10):null}function n3(t){var e;return(t=i.Math.max(t,2))>(e=k7(t))?(e<<=1)>0?e:aCt:e}function i3(t){switch(KO(3!=t.e),t.e){case 2:return!1;case 0:return!0}return function(t){return t.e=3,t.d=t.Yb(),2!=t.e&&(t.e=0,!0)}(t)}function r3(t,e){var n;return!!rO(e,8)&&(n=KR(e,8),t.a==n.a&&t.b==n.b)}function a3(t,e){var n,i;for(i=e.vc().Kc();i.Ob();)gct(t,(n=KR(i.Pb(),44)).ld(),n.md())}function o3(t,e){var n;n=t.d,t.d=e,4&t.Db&&!(1&t.Db)&&Q5(t,new nz(t,1,11,n,t.d))}function s3(t,e){var n;n=t.j,t.j=e,4&t.Db&&!(1&t.Db)&&Q5(t,new nz(t,1,13,n,t.j))}function c3(t,e){var n;n=t.b,t.b=e,4&t.Db&&!(1&t.Db)&&Q5(t,new nz(t,1,21,n,t.b))}function l3(t,e){e.Ug("Hierarchical port constraint processing",1),function(t){var e;CB(KR(fut(t,(CEt(),R5t)),101))&&(Gdt((LY(0,(e=t.b).c.length),KR(e.c[0],30))),Gdt(KR(c$(e,e.c.length-1),30)))}(t),function(t){var e,n,i,r,a,o,s,c,l,h,f,d,g,p,b,m,y,w,v,x,k,_,T,E,S,C;if((k=KR(fut(t,(CEt(),R5t)),101))!=(plt(),Wle)&&k!=Xle){for(l=new lZ((E4((d=(g=t.b).c.length)+2,lCt),B0(Set(Set(5,d+2),(d+2)/10|0)))),p=new lZ((E4(d+2,lCt),B0(Set(Set(5,d+2),(d+2)/10|0)))),SO(l,new my),SO(l,new my),SO(p,new yy),SO(p,new yy),x=new yy,e=0;e>5,i=31&e,BY(Lj(t.n[n][r],bj(Aj(i,1))),3)}function v3(t,e,n){var i,r,a;for(a=t.a.length-1,r=t.b,i=0;i0?1:0:(!t.c&&(t.c=pY(h6(t.f))),t.c).e}function K3(t,e){e?null==t.B&&(t.B=t.D,t.D=null):null!=t.B&&(t.D=t.B,t.B=null)}function Y3(t,e){return CI(),p4(HMt),i.Math.abs(0-e)<=HMt||0==e||isNaN(0)&&isNaN(e)?0:t/e}function V3(t,e){return gx(qD(TN(btt(iU(new k$(null,new OY(t.c.b,16)),new ob(t)),e))))}function W3(t,e){return gx(qD(TN(btt(iU(new k$(null,new OY(t.c.b,16)),new ab(t)),e))))}function X3(t,e){e.Ug("General Compactor",1),function(t){switch(t.g){case 1:return new _s;case 2:return new dD;default:throw Ay(new Tx(uBt+(null!=t.f?t.f:""+t.g)))}}(KR(spt(t,(pht(),yne)),393)).Cg(t)}function Q3(t,e,n){var i,r;for(r=Mrt(t,0);r.b!=r.d.c;)(i=KR(gW(r),8)).a+=e,i.b+=n;return t}function Z3(t,e,n){var i;for(i=t.b[n&t.f];i;i=i.b)if(n==i.a&&oH(e,i.g))return i;return null}function J3(t,e,n){var i;for(i=t.c[n&t.f];i;i=i.d)if(n==i.f&&oH(e,i.i))return i;return null}function t5(t,e,n,i,r,a){var o;this.c=t,uot(t,o=new yy,e,t.b,n,i,r,a),this.a=new CV(o,0)}function e5(){this.c=new T_(0),this.b=new T_(MPt),this.d=new T_(APt),this.a=new T_(LLt)}function n5(t,e,n,i,r,a,o){gT.call(this,t,e),this.d=n,this.e=i,this.c=r,this.b=a,this.a=OQ(o)}function i5(t,e,n,i,r,a,o,s,c,l,u,h,f){return Aft(t,e,n,i,r,a,o,s,c,l,u,h,f),xet(t,!1),t}function r5(t){return t.b.c.i.k==(Vut(),JWt)?KR(fut(t.b.c.i,(jEt(),U1t)),12):t.b.c}function a5(t){return t.b.d.i.k==(Vut(),JWt)?KR(fut(t.b.d.i,(jEt(),U1t)),12):t.b.d}function o5(t){var e;return HM((e=YV(t)).a,0)?(UT(),UT(),QUt):(UT(),new rD(e.b))}function s5(t){var e;return HM((e=GV(t)).a,0)?(HT(),HT(),XUt):(HT(),new iD(e.b))}function c5(t){var e;return HM((e=GV(t)).a,0)?(HT(),HT(),XUt):(HT(),new iD(e.c))}function l5(t){switch(t.g){case 2:return MTt(),Cue;case 4:return MTt(),sue;default:return t}}function u5(t){switch(t.g){case 1:return MTt(),Eue;case 3:return MTt(),cue;default:return t}}function h5(t){switch(t.g){case 0:return new Vs;case 1:return new Ws;default:return null}}function f5(){f5=E,AQt=new AP("edgelabelcenterednessanalysis.includelabel",(FN(),HHt))}function d5(){d5=E,E8t=Fit(yL(QF(QF(new EH,(dut(),fWt),(qEt(),sQt)),dWt,QXt),gWt),oQt)}function g5(){g5=E,O8t=Fit(yL(QF(QF(new EH,(dut(),fWt),(qEt(),sQt)),dWt,QXt),gWt),oQt)}function p5(){p5=E,Nde=new av,Pde=t7(rk(Kfe,1),szt,179,0,[]),Dde=t7(rk(nde,1),czt,62,0,[])}function b5(){b5=E,mXt=new RS("TO_INTERNAL_LTR",0),bXt=new RS("TO_INPUT_DIRECTION",1)}function m5(){m5=E,uXt=new je,cXt=new ze,lXt=new qe,sXt=new He,hXt=new Ue,fXt=new Ge}function y5(t,e,n){n.Ug("DFS Treeifying phase",1),function(t,e){var n,i,r;for(r=e.b.b,t.a=new jT,t.b=WZ($pe,$Ct,28,r,15,1),n=0,i=Mrt(e.b,0);i.b!=i.d.c;)KR(gW(i),40).g=n++}(t,e),function(t,e){var n,i,r,a,o;for(o=KR(fut(e,(axt(),cee)),433),a=Mrt(e.b,0);a.b!=a.d.c;)if(r=KR(gW(a),40),0==t.b[r.g]){switch(o.g){case 0:Fat(t,r);break;case 1:Xgt(t,r)}t.b[r.g]=2}for(i=Mrt(t.a,0);i.b!=i.d.c;)ynt((n=KR(gW(i),65)).b.d,n,!0),ynt(n.c.b,n,!0);E7(e,(ETt(),Ste),t.a)}(t,e),t.a=null,t.b=null,n.Vg()}function w5(t,e){return FN(),jM(t)?BQ(t,HD(e)):qM(t)?Oj(t,qD(e)):zM(t)?Ij(t,zD(e)):t.Fd(e)}function v5(t,e){var n,i;for(yH(e),i=e.vc().Kc();i.Ob();)n=KR(i.Pb(),44),t.zc(n.ld(),n.md())}function x5(t){var e;if(-2==t.b){if(0==t.e)e=-1;else for(e=0;0==t.a[e];e++);t.b=e}return t.b}function k5(t){if(yH(t),0==t.length)throw Ay(new Zx("Zero length BigInteger"));!function(t,e){var n,i,r,a,o,s,c,l,u,h,f,d,g,p,b;for(c=d=e.length,IY(0,e.length),45==e.charCodeAt(0)?(h=-1,f=1,--d):(h=1,f=0),r=d/(a=(hkt(),MUt)[10])|0,0!=(b=d%a)&&++r,s=WZ($pe,$Ct,28,r,15,1),n=AUt[8],o=0,g=f+(0==b?a:b),p=f;p0&&(this.g=this.aj(this.i+(this.i/8|0)+1),t.Qc(this.g))}function T5(t,e,n){this.g=t,this.d=e,this.e=n,this.a=new yy,function(t){var e,n,i,r;for(r=ltt(t.d,t.e).Kc();r.Ob();)for(i=KR(r.Pb(),12),n=new pg(t.e==(MTt(),Cue)?i.e:i.g);n.ar&&e.aa&&e.b(r=t.a.length)?n=r:IY(e,n+1),t.a=$G(t.a,0,e)+""+i+Pq(t.a,n)}function X5(t,e){t.a=Set(t.a,1),t.c=i.Math.min(t.c,e),t.b=i.Math.max(t.b,e),t.d=Set(t.d,e)}function Q5(t,e){var n,i,r;if(null!=(n=t.th())&&t.wh())for(i=0,r=n.length;i0||u.j==Cue&&u.e.c.length-u.g.c.length<0)){e=!1;break}for(r=new pg(u.g);r.a1||t.Ob())return++t.a,t.g=0,e=t.i,t.Ob(),e;throw Ay(new ew)}function l6(t){switch(t.a.g){case 1:return new YC;case 3:return new Kot;default:return new df}}function u6(t,e){switch(e){case 1:return!!t.n&&0!=t.n.i;case 2:return null!=t.k}return wV(t,e)}function h6(t){return sAt=0x8000000000000000?(U1(),FHt):(i=!1,t<0&&(i=!0,t=-t),n=0,t>=aAt&&(t-=(n=oK(t/aAt))*aAt),e=0,t>=rAt&&(t-=(e=oK(t/rAt))*rAt),r=zI(oK(t),e,n),i&&Q7(r),r)}(t))}function f6(t){var e;return t<128?(p$(),!(e=XHt[t])&&(e=XHt[t]=new ng(t)),e):new ng(t)}function d6(t){var e,n,i;return n=0,(i=t)<0&&(i+=aAt,n=nAt),e=oK(i/rAt),zI(oK(i-e*rAt),e,n)}function g6(t){var e,n,i;for(i=0,n=new $T(t.a);n.a>22),r=t.h-e.h+(i>>22),zI(n&eAt,i&eAt,r&nAt)}function j6(t){var e;return rO(t,82)?t:((e=t&&t.__java$exception)||qy(e=new w9(t)),e)}function z6(t){if(rO(t,193))return KR(t,123);if(t)return null;throw Ay(new Cx(M$t))}function q6(t){return!!t.a.Ob()||t.a==t.e&&(t.a=new rJ(t.f.f),t.a.Ob())}function H6(t,e){if(null==e)return!1;for(;t.a!=t.b;)if(wtt(e,L9(t)))return!0;return!1}function U6(t,e){return!(!t||!e||t==e)&&yit(t.d.c,e.d.c+e.d.b)&&yit(e.d.c,t.d.c+t.d.b)}function G6(t,e){var n;return 0!=(n=e.Pc()).length&&(JR(t.c,t.c.length,n),!0)}function K6(t){var e,n;for(e=new jT,n=Mrt(t.d,0);n.b!=n.d.c;)RF(e,KR(gW(n),65).c);return e}function Y6(t,e){var n;for(n=new pg(t.b);n.a(i=t.gc()))throw Ay(new wB(e,i));return t.Si()&&(n=LK(t,n)),t.Ei(e,n)}function v7(t,e,n,i,r){var a,o;for(o=n;o<=r;o++)for(a=e;a<=i;a++)hot(t,a,o)||Qyt(t,a,o,!0,!1)}function x7(t){var e,n;return zI(e=1+~t.l&eAt,n=~t.m+(0==e?1:0)&eAt,~t.h+(0==e&&0==n?1:0)&nAt)}function k7(t){var e;if(t<0)return gCt;if(0==t)return 0;for(e=aCt;!(e&t);e>>=1);return e}function _7(t,e,n){return!(t>=128)&&GM(t<64?BY(Aj(1,t),n):BY(Aj(1,t-64),e),0)}function T7(t,e,n){return null==n?(!t.q&&(t.q=new my),$Q(t.q,e)):(!t.q&&(t.q=new my),LH(t.q,e,n)),t}function E7(t,e,n){return null==n?(!t.q&&(t.q=new my),$Q(t.q,e)):(!t.q&&(t.q=new my),LH(t.q,e,n)),t}function S7(t){var e,n;return p6(n=new KQ,t),E7(n,(f3(),PVt),t),function(t,e,n){var r,a,o,s,c;for(r=0,o=new zO((!t.a&&(t.a=new ez(Zhe,t,10,11)),t.a));o.e!=o.i.gc();)s="",0==(!(a=KR(Frt(o),27)).n&&(a.n=new ez(Qhe,a,1,7)),a.n).i||(s=KR(l2((!a.n&&(a.n=new ez(Qhe,a,1,7)),a.n),0),135).a),p6(c=new GI(s),a),E7(c,(f3(),PVt),a),c.a=r++,c.d.a=a.i+a.g/2,c.d.b=a.j+a.f/2,c.e.a=i.Math.max(a.g,1),c.e.b=i.Math.max(a.f,1),SO(e.e,c),_ft(n.f,a,c),KR(spt(a,(Evt(),yVt)),101),plt()}(t,n,e=new my),function(t,e,n){var r,a,o,s,c,l,h,f;for(l=new zO((!t.a&&(t.a=new ez(Zhe,t,10,11)),t.a));l.e!=l.i.gc();)for(a=new Dj(lN(Ypt(c=KR(Frt(l),27)).a.Kc(),new u));Rgt(a);){if(!(r=KR(bQ(a),74)).b&&(r.b=new bB(Uhe,r,4,7)),!(r.b.i<=1&&(!r.c&&(r.c=new bB(Uhe,r,5,8)),r.c.i<=1)))throw Ay(new Lx("Graph must not contain hyperedges."));if(!_gt(r)&&c!=Blt(KR(l2((!r.c&&(r.c=new bB(Uhe,r,5,8)),r.c),0),84)))for(p6(h=new YP,r),E7(h,(f3(),PVt),r),Cd(h,KR(FM(U$(n.f,c)),153)),Ad(h,KR(Oq(n,Blt(KR(l2((!r.c&&(r.c=new bB(Uhe,r,5,8)),r.c),0),84))),153)),SO(e.c,h),s=new zO((!r.n&&(r.n=new ez(Qhe,r,1,7)),r.n));s.e!=s.i.gc();)p6(f=new jW(h,(o=KR(Frt(s),135)).a),o),E7(f,PVt,o),f.e.a=i.Math.max(o.g,1),f.e.b=i.Math.max(o.f,1),Xxt(f),SO(e.d,f)}}(t,n,e),n}function C7(t){var e,n;return e=t.t-t.k[t.o.p]*t.d+t.j[t.o.p]>t.f,n=t.u+t.e[t.o.p]*t.d>t.f*t.s*t.d,e||n}function A7(t,e){var n,i,r;for(n=!1,i=t.a[e].length,r=0;r=0,"Negative initial capacity"),nF(e>=0,"Non-positive load factor"),_z(this)}function F7(t,e){var n,i,r,a,o;for(QU(),o=!1,r=0,a=(i=e).length;r1||e>=0&&t.b<3)}function Q7(t){var e,n,i;e=1+~t.l&eAt,n=~t.m+(0==e?1:0)&eAt,i=~t.h+(0==e&&0==n?1:0)&nAt,t.l=e,t.m=n,t.h=i}function Z7(t){var e,n,i;for(QU(),i=1,n=t.Kc();n.Ob();)i=31*i+(null!=(e=n.Pb())?N3(e):0),i|=0;return i}function J7(t,e,n,i,r){var a;return a=qgt(t,e),n&&Q7(a),r&&(t=function(t,e){var n,i,r;return e<=22?(n=t.l&(1<=t.b.c.length||(M8(t,2*e+1),(n=2*e+2)=0&&t[i]===e[i];i--);return i<0?0:XE(BY(t[i],kAt),BY(e[i],kAt))?-1:1}function I8(t,e,n){var i,r;this.g=t,this.c=e,this.a=this,this.d=this,r=n3(n),i=WZ(xHt,nCt,227,r,0,1),this.b=i}function O8(t,e,n,i,r){var a,o;for(o=n;o<=r;o++)for(a=e;a<=i;a++)if(hot(t,a,o))return!0;return!1}function N8(t,e,n){var i,r,a,o;for(yH(n),o=!1,a=t.fd(e),r=n.Kc();r.Ob();)i=r.Pb(),a.Rb(i),o=!0;return o}function D8(t,e){var n,i;return i=KR(i6(t.a,4),129),n=WZ(xfe,Ljt,424,e,0,1),null!=i&&ext(i,0,n,0,i.length),n}function P8(t,e){var n;return n=new Tyt(0!=(256&t.f),t.i,t.a,t.d,0!=(16&t.f),t.j,t.g,e),null!=t.e||(n.c=t),n}function B8(t,e,n){var i,r;for(r=n.Kc();r.Ob();)if(i=KR(r.Pb(),44),t.Be(e,i.md()))return!0;return!1}function R8(t,e,n){return t.d[e.p][n.p]||(function(t,e,n){if(t.e)switch(t.b){case 1:!function(t,e,n){t.i=0,t.e=0,e!=n&&t8(t,e,n)}(t.c,e,n);break;case 0:!function(t,e,n){t.i=0,t.e=0,e!=n&&e8(t,e,n)}(t.c,e,n)}else RW(t.c,e,n);t.a[e.p][n.p]=t.c.i,t.a[n.p][e.p]=t.c.e}(t,e,n),t.d[e.p][n.p]=!0,t.d[n.p][e.p]=!0),t.a[e.p][n.p]}function F8(t,e){return!(!t||t==e||!cD(e,(jEt(),N1t)))&&KR(fut(e,(jEt(),N1t)),10)!=t}function $8(t){switch(t.i){case 2:return!0;case 1:return!1;case-1:++t.c;default:return t.$l()}}function j8(t){switch(t.i){case-2:return!0;case-1:return!1;case 1:--t.c;default:return t._l()}}function z8(t){$K.call(this,"The given string does not match the expected format for individual spacings.",t)}function q8(t,e,n){var i,r;for(i=new jT,r=Mrt(n,0);r.b!=r.d.c;)RF(i,new KL(KR(gW(r),8)));N8(t,e,i)}function H8(t,e){var n;return n=Set(t,e),XE(FY(t,e),0)|UM(FY(t,n),0)?n:Set(qSt,FY(Lj(n,63),1))}function U8(t){var e;if((e=t.a.c.length)>0)return qj(e-1,t.a.c.length),PQ(t.a,e-1);throw Ay(new tw)}function G8(t,e,n){if(t>e)throw Ay(new Tx(QAt+t+ZAt+e));if(t<0||e>n)throw Ay(new Qx(QAt+t+JAt+e+jAt+n))}function K8(t,e){null==t.D&&null!=t.B&&(t.D=t.B,t.B=null),K4(t,null==e?null:(yH(e),e)),t.C&&t.hl(null)}function Y8(t,e){var n,i;if(0!=(i=t.c[e]))for(t.c[e]=0,t.d-=i,n=e+1;nCPt?t-n>CPt:n-t>CPt)}function T9(t,e){var n;for(n=0;nr&&(jct(e.q,r),i=n!=e.q.d)),i}function S9(t,e){var n,r,a,o,s;return o=e.i,s=e.j,r=o-(n=t.f).i,a=s-n.j,i.Math.sqrt(r*r+a*a)}function C9(t,e){var n;return(n=Hit(t))||(Nkt(),sJ((n=new fy(ppt(e))).El(),t)),n}function A9(t,e){var n,i;return(n=KR(t.c.Bc(e),16))?((i=t.hc()).Gc(n),t.d-=n.gc(),n.$b(),t.mc(i)):t.jc()}function M9(t,e,n,i){var r,a;t.a=e,a=i?0:1,t.f=(r=new Sht(t.c,t.a,n,a),new Cyt(n,t.a,r,t.e,t.b,t.c==(u4(),A8t)))}function L9(t){var e;return KD(t.a!=t.b),e=t.d.a[t.a],VD(t.b==t.d.c&&null!=e),t.c=t.a,t.a=t.a+1&t.d.a.length-1,e}function I9(t){var e;if(0!=t.c)return t.c;for(e=0;e=0?e:-e;i>0;)i%2==0?(n*=n,i=i/2|0):(r*=n,i-=1);return e<0?1/r:r}function j9(t,e){var n,i,r,a;return(a=Nft((i=e,(r=t?Hit(t):null)&&r.Gl(),i)))==e&&(n=Hit(t))&&n.Gl(),a}function z9(t,e,n){var i,r;return r=t.f,t.f=e,4&t.Db&&!(1&t.Db)&&(i=new nz(t,1,0,r,e),n?n.nj(i):n=i),n}function q9(t,e,n){var i,r;return r=t.b,t.b=e,4&t.Db&&!(1&t.Db)&&(i=new nz(t,1,3,r,e),n?n.nj(i):n=i),n}function H9(t,e,n){var i,r;return r=t.a,t.a=e,4&t.Db&&!(1&t.Db)&&(i=new nz(t,1,1,r,e),n?n.nj(i):n=i),n}function U9(t){var e,n;if(null!=t)for(n=0;n-129&&t<128?(_F(),!(n=tUt[e=t+128])&&(n=tUt[e]=new Wd(t)),n):new Wd(t)}function ett(t){var e,n;return t>-129&&t<128?(d$(),!(n=lUt[e=t+128])&&(n=lUt[e]=new Qd(t)),n):new Qd(t)}function ntt(t,e){t.a.c.length>0&&E8(KR(c$(t.a,t.a.c.length-1),579),e)||SO(t.a,new JX(e))}function itt(t){var e;return(e=new Vx).a+="VerticalSegment ",JM(e,t.e),e.a+=" ",tL(e,UO(new zx,new pg(t.k))),e.a}function rtt(t,e){var n,i;for(n=0,i=Met(t,e).Kc();i.Ob();)n+=null!=fut(KR(i.Pb(),12),(jEt(),Z1t))?1:0;return n}function att(t,e,n){var i,r,a;for(i=0,a=Mrt(t,0);a.b!=a.d.c&&!((r=gx(qD(gW(a))))>n);)r>=e&&++i;return i}function ott(t,e){kq(t);try{return t._b(e)}catch(t){if(rO(t=j6(t),212)||rO(t,169))return!1;throw Ay(t)}}function stt(t,e){kq(t);try{return t.Hc(e)}catch(t){if(rO(t=j6(t),212)||rO(t,169))return!1;throw Ay(t)}}function ctt(t,e){kq(t);try{return t.xc(e)}catch(t){if(rO(t=j6(t),212)||rO(t,169))return null;throw Ay(t)}}function ltt(t,e){switch(e.g){case 2:case 1:return Met(t,e);case 3:case 4:return ant(Met(t,e))}return QU(),QU(),NUt}function utt(t){var e;return 64&t.Db?_pt(t):((e=new gN(_pt(t))).a+=" (name: ",QM(e,t.zb),e.a+=")",e.a)}function htt(t){var e;return(e=KR(W1(t.c.c,""),233))||(e=new wY(Ek(Tk(new dc,""),"Other")),Trt(t.c.c,"",e)),e}function ftt(t,e,n){var i,r;return r=t.sb,t.sb=e,4&t.Db&&!(1&t.Db)&&(i=new nz(t,1,4,r,e),n?n.nj(i):n=i),n}function dtt(t,e,n){var i,r;return r=t.r,t.r=e,4&t.Db&&!(1&t.Db)&&(i=new nz(t,1,8,r,t.r),n?n.nj(i):n=i),n}function gtt(t,e){var n,i;return!(i=(n=KR(e,691)).el())&&n.fl(i=rO(e,90)?new OM(t,KR(e,29)):new gV(t,KR(e,156))),i}function ptt(t,e,n){var i;t._i(t.i+1),i=t.Zi(e,n),e!=t.i&&ext(t.g,e,t.g,e+1,t.i-e),Dq(t.g,e,i),++t.i,t.Mi(e,n),t.Ni()}function btt(t,e){var n;return n=new st,t.a.Bd(n)?(WO(),new ex(yH(h1(t,n.a,e)))):(fH(t),WO(),WO(),WUt)}function mtt(t,e){var n;0!=t.c.length&&(zL(n=KR(yrt(t,WZ(QWt,KIt,10,t.c.length,0,1)),199),new Ln),Fdt(n,e))}function ytt(t,e){var n;0!=t.c.length&&(zL(n=KR(yrt(t,WZ(QWt,KIt,10,t.c.length,0,1)),199),new In),Fdt(n,e))}function wtt(t,e){return jM(t)?_B(t,e):qM(t)?kB(t,e):zM(t)?(yH(t),$M(t)===$M(e)):Sj(t)?t.Fb(e):z$(t)?SL(t,e):PY(t,e)}function vtt(t,e,n){if(e<0)edt(t,n);else{if(!n.rk())throw Ay(new Tx(OFt+n.xe()+NFt));KR(n,69).wk().Ek(t,t.hi(),e)}}function xtt(t,e,n){if(t<0||e>n)throw Ay(new vx(QAt+t+JAt+e+", size: "+n));if(t>e)throw Ay(new Tx(QAt+t+ZAt+e))}function ktt(t){var e;return 64&t.Db?_pt(t):((e=new gN(_pt(t))).a+=" (source: ",QM(e,t.d),e.a+=")",e.a)}function _tt(t){return t>=65&&t<=70?t-65+10:t>=97&&t<=102?t-97+10:t>=48&&t<=57?t-48:0}function Ttt(t,e){var n;n=0!=(256&t.Bb),e?t.Bb|=256:t.Bb&=-257,4&t.Db&&!(1&t.Db)&&Q5(t,new cQ(t,1,2,n,e))}function Ett(t,e){var n;n=0!=(256&t.Bb),e?t.Bb|=256:t.Bb&=-257,4&t.Db&&!(1&t.Db)&&Q5(t,new cQ(t,1,8,n,e))}function Stt(t,e){var n;n=0!=(256&t.Bb),e?t.Bb|=256:t.Bb&=-257,4&t.Db&&!(1&t.Db)&&Q5(t,new cQ(t,1,8,n,e))}function Ctt(t,e){var n;n=0!=(512&t.Bb),e?t.Bb|=512:t.Bb&=-513,4&t.Db&&!(1&t.Db)&&Q5(t,new cQ(t,1,3,n,e))}function Att(t,e){var n;n=0!=(512&t.Bb),e?t.Bb|=512:t.Bb&=-513,4&t.Db&&!(1&t.Db)&&Q5(t,new cQ(t,1,9,n,e))}function Mtt(t,e){var n;return-1==t.b&&t.a&&(n=t.a.pk(),t.b=n?t.c.Hh(t.a.Lj(),n):knt(t.c.Dh(),t.a)),t.c.yh(t.b,e)}function Ltt(t,e){var n,i;for(i=new zO(t);i.e!=i.i.gc();)if(n=KR(Frt(i),29),$M(e)===$M(n))return!0;return!1}function Itt(t){var e;return t.k==(Vut(),JWt)&&((e=KR(fut(t,(jEt(),E1t)),64))==(MTt(),cue)||e==Eue)}function Ott(t){var e;return HM((e=GV(t)).a,0)?(HT(),HT(),XUt):(HT(),new iD(WE(e.a,0)?RQ(e)/zV(e.a):0))}function Ntt(t,e){this.e=e,this.a=O6(t),this.a<54?this.f=zV(t):this.c=(lwt(),F9(t,0)>=0?Xnt(t):Yz(Xnt(d1(t))))}function Dtt(t,e,n,i,r,a){this.e=new yy,this.f=(d4(),R7t),SO(this.e,t),this.d=e,this.a=n,this.b=i,this.f=r,this.c=a}function Ptt(t){return t=((t=((t-=t>>1&1431655765)>>2&858993459)+(858993459&t))>>4)+t&252645135,63&(t+=t>>8)+(t>>16)}function Btt(t,e){var n,i;for(i=new zO(t);i.e!=i.i.gc();)if(n=KR(Frt(i),142),$M(e)===$M(n))return!0;return!1}function Rtt(t,e,n){var i,r;return(r=Cpt(t.b,e))&&(i=KR(Ikt(_1(t,r),""),29))?mpt(t,i,e,n):null}function Ftt(t,e){var n;if(rO(n=Bbt(t,e),331))return KR(n,35);throw Ay(new Tx(OFt+e+"' is not a valid attribute"))}function $tt(t,e,n){var i;if(e>(i=t.gc()))throw Ay(new wB(e,i));if(t.Si()&&t.Hc(n))throw Ay(new Tx(N$t));t.Gi(e,n)}function jtt(){jtt=E,jce=new BA(qMt,0),$ce=new BA(FMt,1),Fce=new BA(RMt,2),Rce=new BA(WMt,3),zce=new BA("UP",4)}function ztt(){ztt=E,Mre=new vA("P1_STRUCTURE",0),Lre=new vA("P2_PROCESSING_ORDER",1),Ire=new vA("P3_EXECUTION",2)}function qtt(){qtt=E,Iee=Fit(Fit(NE(Fit(Fit(NE(QF(new EH,(pst(),P9t),(Awt(),Z9t)),B9t),V9t),X9t),R9t),U9t),Q9t)}function Htt(t){switch(KR(fut(t,(jEt(),O1t)),311).g){case 1:E7(t,O1t,(q1(),n1t));break;case 2:E7(t,O1t,(q1(),r1t))}}function Utt(t){switch(t.g){case 2:return $ce;case 1:return Fce;case 4:return Rce;case 3:return zce;default:return jce}}function Gtt(t,e){switch(t.b.g){case 0:case 1:return e;case 2:case 3:return new pU(e.d,0,e.a,e.b);default:return null}}function Ktt(t){switch(t.g){case 1:return Cue;case 2:return cue;case 3:return sue;case 4:return Eue;default:return Sue}}function Ytt(t){switch(t.g){case 1:return Eue;case 2:return Cue;case 3:return cue;case 4:return sue;default:return Sue}}function Vtt(t){switch(t.g){case 1:return sue;case 2:return Eue;case 3:return Cue;case 4:return cue;default:return Sue}}function Wtt(t,e,n,i){switch(e){case 1:return!t.n&&(t.n=new ez(Qhe,t,1,7)),t.n;case 2:return t.k}return est(t,e,n,i)}function Xtt(t,e,n){var i,r;return t.Pj()?(r=t.Qj(),i=Odt(t,e,n),t.Jj(t.Ij(7,ttt(n),i,e,r)),i):Odt(t,e,n)}function Qtt(t,e){var n,i,r;null==t.d?(++t.e,--t.f):(r=e.ld(),function(t,e,n){++t.e,--t.f,KR(t.d[e].gd(n),136).md()}(t,i=((n=e.Bi())&lSt)%t.d.length,Spt(t,i,n,r)))}function Ztt(t,e){var n;n=0!=(t.Bb&rCt),e?t.Bb|=rCt:t.Bb&=-1025,4&t.Db&&!(1&t.Db)&&Q5(t,new cQ(t,1,10,n,e))}function Jtt(t,e){var n;n=0!=(t.Bb&gAt),e?t.Bb|=gAt:t.Bb&=-4097,4&t.Db&&!(1&t.Db)&&Q5(t,new cQ(t,1,12,n,e))}function tet(t,e){var n;n=0!=(t.Bb&Qjt),e?t.Bb|=Qjt:t.Bb&=-8193,4&t.Db&&!(1&t.Db)&&Q5(t,new cQ(t,1,15,n,e))}function eet(t,e){var n;n=0!=(t.Bb&Zjt),e?t.Bb|=Zjt:t.Bb&=-2049,4&t.Db&&!(1&t.Db)&&Q5(t,new cQ(t,1,11,n,e))}function net(t){var e;t.g&&(_mt((e=t.c.kg()?t.f:t.a).a,t.o,!0),_mt(e.a,t.o,!1),E7(t.o,(CEt(),R5t),(plt(),Gle)))}function iet(t){var e;if(!t.a)throw Ay(new Ex("Cannot offset an unassigned cut."));e=t.c-t.b,t.b+=e,KU(t,e),GU(t,e)}function ret(t){var e,n;for(n=ypt(r2(t)).Kc();n.Ob();)if(gvt(t,e=HD(n.Pb())))return gX((FE(),Hfe),e);return null}function aet(t){var e,n;for(n=t.p.a.ec().Kc();n.Ob();)if((e=KR(n.Pb(),218)).f&&t.b[e.c]<-1e-10)return e;return null}function oet(t){var e,n,i;for(e=new yy,i=new pg(t.b);i.ae?1:t==e?0==t?cet(1/t,1/e):0:isNaN(t)?isNaN(e)?0:1:-1}function uet(t,e,n){var i;if(t.c)sut(t.c,e,n);else for(i=new pg(t.b);i.a=1?$ce:Rce:e}function get(t){if(t.c)get(t.c);else if(t.d)throw Ay(new Ex("Stream already terminated, can't be modified or used"))}function pet(t,e,n){var i;return i=t.a.get(e),t.a.set(e,void 0===n?null:n),void 0===i?(++t.c,++t.b.g):++t.d,i}function bet(t,e,n){var i,r;for(r=t.a.ec().Kc();r.Ob();)if(i=KR(r.Pb(),10),F6(n,KR(c$(e,i.p),16)))return i;return null}function met(t,e,n){var i;return i=0,e&&(eI(t.a)?i+=e.f.a/2:i+=e.f.b/2),n&&(eI(t.a)?i+=n.f.a/2:i+=n.f.b/2),i}function yet(t,e,n){var r;!(r=n)&&(r=dF(new vv,0)),r.Ug(AIt,2),mat(t.b,e,r.eh(1)),function(t,e,n){var i,r,a,o,s,c,l,u,h,f,d;for(UX(c=function(t){var e,n,i,r,a;for(e=new $O,n=new $O,bW(e,t),bW(n,t);n.b!=n.c;)for(a=new pg(KR(Ez(n),36).a);a.aGLt,S=i.Math.abs(d.b-p.b)>GLt,(!n&&E&&S||n&&(E||S))&&RF(m.a,x)),z3(m.a,r),0==r.b?d=x:(KD(0!=r.b),d=KR(r.c.b.c,8)),L6(g,f,b),a5(a)==T&&(uH(T.i)!=a.a&&Qht(b=new Hk,uH(T.i),w),E7(m,f0t,b)),aht(g,m,w),h.a.zc(g,h);eY(m,k),rY(m,T)}for(u=h.a.ec().Kc();u.Ob();)eY(l=KR(u.Pb(),18),null),rY(l,null);e.Vg()}(e,r.eh(1)),r.Vg()}function wet(t,e,n){var i;return Vk(),$2(i=new Zc,e),L2(i,n),t&&sJ((!t.a&&(t.a=new AO(zhe,t,5)),t.a),i),i}function vet(t){var e;return 64&t.Db?_pt(t):((e=new gN(_pt(t))).a+=" (identifier: ",QM(e,t.k),e.a+=")",e.a)}function xet(t,e){var n;n=0!=(t.Bb&FFt),e?t.Bb|=FFt:t.Bb&=-32769,4&t.Db&&!(1&t.Db)&&Q5(t,new cQ(t,1,18,n,e))}function ket(t,e){var n;n=0!=(t.Bb&FFt),e?t.Bb|=FFt:t.Bb&=-32769,4&t.Db&&!(1&t.Db)&&Q5(t,new cQ(t,1,18,n,e))}function _et(t,e){var n;n=0!=(t.Bb&FSt),e?t.Bb|=FSt:t.Bb&=-16385,4&t.Db&&!(1&t.Db)&&Q5(t,new cQ(t,1,16,n,e))}function Tet(t,e){var n;n=0!=(t.Bb&mAt),e?t.Bb|=mAt:t.Bb&=-65537,4&t.Db&&!(1&t.Db)&&Q5(t,new cQ(t,1,20,n,e))}function Eet(t){var e;return e=WZ(Fpe,_Ct,28,2,15,1),t-=mAt,e[0]=(t>>10)+yAt&ECt,e[1]=56320+(1023&t)&ECt,Sit(e,0,e.length)}function Set(t,e){var n;return BL(t)&&BL(e)&&sAt<(n=t+e)&&n>22),r=t.h+e.h+(i>>22),zI(n&eAt,i&eAt,r&nAt)}(BL(t)?d6(t):t,BL(e)?d6(e):e))}function Cet(t,e){var n;return BL(t)&&BL(e)&&sAt<(n=t*e)&&n>13|(15&t.m)<<9,r=t.m>>4&8191,a=t.m>>17|(255&t.h)<<5,o=(1048320&t.h)>>8,b=i*(s=8191&e.l),m=r*s,y=a*s,w=o*s,0!=(c=e.l>>13|(15&e.m)<<9)&&(b+=n*c,m+=i*c,y+=r*c,w+=a*c),0!=(l=e.m>>4&8191)&&(m+=n*l,y+=i*l,w+=r*l),0!=(u=e.m>>17|(255&e.h)<<5)&&(y+=n*u,w+=i*u),0!=(h=(1048320&e.h)>>8)&&(w+=n*h),d=((p=n*s)>>22)+(b>>9)+((262143&m)<<4)+((31&y)<<17),g=(m>>18)+(y>>5)+((4095&w)<<8),g+=(d+=(f=(p&eAt)+((511&b)<<13))>>22)>>22,zI(f&=eAt,d&=eAt,g&=nAt)}(BL(t)?d6(t):t,BL(e)?d6(e):e))}function Aet(t,e){var n;return BL(t)&&BL(e)&&sAt<(n=t-e)&&ne?1:DL(isNaN(t),isNaN(e))}function Iet(){Iet=E,Zce=new FA(qMt,0),Xce=new FA("POLYLINE",1),Wce=new FA("ORTHOGONAL",2),Qce=new FA("SPLINES",3)}function Oet(){Oet=E,bie=new pA("ASPECT_RATIO_DRIVEN",0),mie=new pA("MAX_SCALE_DRIVEN",1),pie=new pA("AREA_DRIVEN",2)}function Net(t){var e,n;for(e=new yy,n=new pg(t.j);n.ae){NV(n);break}}Vz(n,e)}function qet(t,e,n){n.Ug("Straight Line Edge Routing",1),n.dh(e,nBt),kkt(t,KR(spt(e,(XD(),Nee)),27)),n.dh(e,rBt)}function Het(t,e){0==t.n.c.length&&SO(t.n,new uK(t.s,t.t,t.i)),SO(t.b,e),oot(KR(c$(t.n,t.n.c.length-1),209),e),cxt(t,e)}function Uet(t){var e;this.a=new UB(e=KR(t.e&&t.e(),9),KR(jP(e,e.length),9),0),this.b=WZ(nHt,pSt,1,this.a.a.length,5,1)}function Get(t){return Array.isArray(t)&&t.Tm===T?a_(i9(t))+"@"+(N3(t)>>>0).toString(16):t.toString()}function Ket(t,e){switch(e.g){case 2:return t.b;case 1:return t.c;case 4:return t.d;case 3:return t.a;default:return!1}}function Yet(t,e,n,i){switch(e){case 3:return t.f;case 4:return t.g;case 5:return t.i;case 6:return t.j}return Wtt(t,e,n,i)}function Vet(t,e){if(e==t.d)return t.e;if(e==t.e)return t.d;throw Ay(new Tx("Node "+e+" not part of edge "+t))}function Wet(t,e,n,i){if(e<0)Zpt(t,n,i);else{if(!n.rk())throw Ay(new Tx(OFt+n.xe()+NFt));KR(n,69).wk().Ck(t,t.hi(),e,i)}}function Xet(t){var e;if(t.b){if(Xet(t.b),t.b.d!=t.c)throw Ay(new Jy)}else t.d.dc()&&(e=KR(t.f.c.xc(t.e),16))&&(t.d=e)}function Qet(t){var e,n,i;for(this.a=new jL,i=new pg(t);i.a=a)return e.c+n;return e.c+e.b.gc()}function Jet(t,e,n){var i,r;for(i=0,r=t.length;i0&&(i+=r,++n);return n>1&&(i+=t.d*(n-1)),i}function int(t){var e,n,i;for((i=new Kx).a+="[",e=0,n=t.gc();e=0&&t.a[n]===e[n];n--);return n<0}(t,n.a))}function snt(t){switch(MTt(),t.g){case 4:return cue;case 1:return sue;case 3:return Eue;case 2:return Cue;default:return Sue}}function cnt(t){var e,n;for(n=gx(qD(t.a.of((zEt(),yce)))),e=new pg(t.a.Sf());e.a=0;r--)if(_B(t[r].d,e)||_B(t[r].d,n)){t.length>=r+1&&t.splice(0,r+1);break}return t}(CHt.me(t)))),e=0,n=t.j.length;ec.d&&(h=c.d+c.a+u));n.c.d=h,e.a.zc(n,e),l=i.Math.max(l,n.c.d+n.c.a)}return l}(t),VT(new k$(null,new OY(t.d,16)),new Jg(t)),e}function Ent(t){Mnt(),this.c=OQ(t7(rk(Uae,1),pSt,845,0,[D6t])),this.b=new my,this.a=t,LH(this.b,P6t,1),V0(B6t,new fm(this))}function Snt(t,e,n){C2(),jw.call(this),this.a=u$(uKt,[RSt,BMt],[603,217],0,[mKt,bKt],2),this.c=new WL,this.g=t,this.f=e,this.d=n}function Cnt(t,e){this.n=u$(zpe,[RSt,pAt],[376,28],14,[e,oK(i.Math.ceil(t/32))],2),this.o=t,this.p=e,this.j=t-1>>1,this.k=e-1>>1}function Ant(t){var e,n;e=t.d==(Jht(),AZt),n=tlt(t),E7(t.a,(CEt(),J4t),e&&!n||!e&&n?(xat(),woe):(xat(),yoe))}function Mnt(){Mnt=E,vE(),CEt(),P6t=h6t,B6t=OQ(t7(rk(Yae,1),cPt,149,0,[t6t,e6t,i6t,r6t,s6t,c6t,l6t,u6t,d6t,p6t,n6t,a6t,f6t]))}function Lnt(t,e){var n,i;if((i=new Cg(t.a.ad(e,!0))).a.gc()<=1)throw Ay(new Qy);return(n=i.a.ec().Kc()).Pb(),KR(n.Pb(),40)}function Int(t,e){return t.i>0&&(e.lengtht.i&&Dq(e,t.i,null),e}function Ont(t){var e;return 64&t.Db?utt(t):((e=new gN(utt(t))).a+=" (instanceClassName: ",QM(e,t.D),e.a+=")",e.a)}function Nnt(t){var e,n,i,r;for(r=0,n=0,i=t.length;n0&&(t._j(),-1!=Spt(t,((n=null==e?0:N3(e))&lSt)%t.d.length,n,e))}function Rnt(t,e){var n,r;t.a=Set(t.a,1),t.c=i.Math.min(t.c,e),t.b=i.Math.max(t.b,e),t.d+=e,n=e-t.f,r=t.e+n,t.f=r-t.e-n,t.e=r}function Fnt(t,e){switch(e){case 3:return void O2(t,0);case 4:return void N2(t,0);case 5:return void D2(t,0);case 6:return void P2(t,0)}W9(t,e)}function $nt(t,e){switch(e.g){case 1:return jR(t.j,(m5(),cXt));case 2:return jR(t.j,(m5(),uXt));default:return QU(),QU(),NUt}}function jnt(t){var e;switch(Sq(),(e=t.Pc()).length){case 0:return hHt;case 1:return new a$(kq(e[0]));default:return new BG(function(t){var e,n;for(e=0,n=t.length;e0&&(t._j(),n=zdt(t,((i=null==e?0:N3(e))&lSt)%t.d.length,i,e))?n.md():null}function Vnt(t,e,n){var i,r,a;return t.Pj()?(i=t.i,a=t.Qj(),ptt(t,i,e),r=t.Ij(3,null,e,i,a),n?n.nj(r):n=r):ptt(t,t.i,e),n}function Wnt(t){var e;return gP(),e=new KL(KR(t.e.of((zEt(),Mse)),8)),t.B.Hc((Vwt(),Hue))&&(e.a<=0&&(e.a=20),e.b<=0&&(e.b=20)),e}function Xnt(t){var e,n;return lwt(),n=bj(t),0!=(e=bj(Lj(t,32)))?new qY(n,e):n>10||n<0?new iX(1,n):TUt[n]}function Qnt(t,e){var n;return BL(t)&&BL(e)&&sAt<(n=t%e)&&n=0?a=a.a[1]:(r=a,a=a.a[0])}return r}function lit(t,e,n){var i,r,a;for(r=null,a=t.b;a;){if(i=t.a.Ne(e,a.d),n&&0==i)return a;i<=0?a=a.a[0]:(r=a,a=a.a[1])}return r}function uit(t,e,n,i){var r,a,o;return r=!1,function(t,e,n){var i,r,a,o,s,c,l,u,h,f,d,g,p,b,m,y,w,v,x,k;return f=t.c[e],d=t.c[n],!((g=KR(fut(f,(jEt(),D1t)),15))&&0!=g.gc()&&g.Hc(d)||(p=f.k!=(Vut(),eXt)&&d.k!=eXt,b=KR(fut(f,N1t),10),m=KR(fut(d,N1t),10),y=b!=m,w=!!b&&b!=f||!!m&&m!=d,v=rot(f,(MTt(),cue)),x=rot(d,Eue),w|=rot(f,Eue)||rot(d,cue),k=w&&y||v||x,p&&k)||f.k==(Vut(),iXt)&&d.k==nXt||d.k==(Vut(),iXt)&&f.k==nXt)&&(u=t.c[e],a=t.c[n],r=hct(t.e,u,a,(MTt(),Cue)),c=hct(t.i,u,a,sue),function(t,e,n){t.d=0,t.b=0,e.k==(Vut(),iXt)&&n.k==iXt&&KR(fut(e,(jEt(),U1t)),10)==KR(fut(n,U1t),10)&&(p1(e).j==(MTt(),cue)?Npt(t,e,n):Npt(t,n,e)),e.k==iXt&&n.k==eXt?p1(e).j==(MTt(),cue)?t.d=1:t.b=1:n.k==iXt&&e.k==eXt&&(p1(n).j==(MTt(),cue)?t.b=1:t.d=1),function(t,e,n){e.k==(Vut(),nXt)&&n.k==eXt&&(t.d=rtt(e,(MTt(),Eue)),t.b=rtt(e,cue)),n.k==nXt&&e.k==eXt&&(t.d=rtt(n,(MTt(),cue)),t.b=rtt(n,Eue))}(t,e,n)}(t.f,u,a),l=R8(t.b,u,a)+KR(r.a,17).a+KR(c.a,17).a+t.f.d,s=R8(t.b,a,u)+KR(r.b,17).a+KR(c.b,17).a+t.f.b,t.a&&(h=KR(fut(u,U1t),12),o=KR(fut(a,U1t),12),l+=KR((i=dst(t.g,h,o)).a,17).a,s+=KR(i.b,17).a),l>s)}(t.f,n,i)&&(function(t,e,n){var i,r;out(t.e,e,n,(MTt(),Cue)),out(t.i,e,n,sue),t.a&&(r=KR(fut(e,(jEt(),U1t)),12),i=KR(fut(n,U1t),12),ZY(t.g,r,i))}(t.f,t.a[e][n],t.a[e][i]),o=(a=t.a[e])[i],a[i]=a[n],a[n]=o,r=!0),r}function hit(t,e,n){var i,r,a;for(r=KR(Oq(t.b,n),183),i=0,a=new pg(e.j);a.a>5,e&=31,r=t.d+n+(0==e?0:1),function(t,e,n,i){var r,a,o;if(0==i)ext(e,0,t,n,t.length-n);else for(o=32-i,t[t.length-1]=0,a=t.length-1;a>n;a--)t[a]|=e[a-n-1]>>>o,t[a-1]=e[a-n-1]<e?1:DL(isNaN(t),isNaN(e)))>0}function mit(t,e){return CI(),CI(),p4(dCt),(i.Math.abs(t-e)<=dCt||t==e||isNaN(t)&&isNaN(e)?0:te?1:DL(isNaN(t),isNaN(e)))<0}function yit(t,e){return CI(),CI(),p4(dCt),(i.Math.abs(t-e)<=dCt||t==e||isNaN(t)&&isNaN(e)?0:te?1:DL(isNaN(t),isNaN(e)))<=0}function wit(t,e){for(var n=0;!e[n]||""==e[n];)n++;for(var i=e[n++];n0&&this.b>0&&(this.g=T$(this.c,this.b,this.a))}function Iit(t){if(!(b$t in t.a))throw Ay(new Ix("Every element must have an id."));return gdt(xK(t,b$t))}function Oit(t){var e,n;for(n=Dht(t),e=null;2==t.c;)AEt(t),e||(UEt(),UEt(),Ukt(e=new EI(2),n),n=e),n.Jm(Dht(t));return n}function Nit(t,e){var n,i;return t._j(),(n=zdt(t,((i=null==e?0:N3(e))&lSt)%t.d.length,i,e))?(b4(t,n),n.md()):null}function Dit(t,e){return t.e>e.e?1:t.ee.d?t.e:t.d=48&&t<48+i.Math.min(10,10)?t-48:t>=97&&t<97?t-97+10:t>=65&&t<65?t-65+10:-1}function Bit(t,e){if(e.c==t)return e.d;if(e.d==t)return e.c;throw Ay(new Tx("Input edge is not connected to the input port."))}function Rit(t){switch(typeof t){case sSt:return d8(t);case oSt:return LL(t);case aSt:return fP(t);default:return null==t?0:DN(t)}}function Fit(t,e){if(t.a<0)throw Ay(new Ex("Did not call before(...) or after(...) before calling add(...)."));return tD(t,t.a,e),t}function $it(t){return GK(),rO(t,162)?KR(Oq(bfe,HUt),295).Rg(t):mz(bfe,i9(t))?KR(Oq(bfe,i9(t)),295).Rg(t):null}function jit(t){var e;return 32&t.Db||0!=(e=Lq(KR(i6(t,16),29)||t.ii())-Lq(t.ii()))&&zit(t,32,WZ(nHt,pSt,1,e,5,1)),t}function zit(t,e,n){var i;t.Db&e?null==n?function(t,e){var n,i,r,a,o,s,c;if(1==(i=Ptt(254&t.Db)))t.Eb=null;else if(a=X2(t.Eb),2==i)r=Cot(t,e),t.Eb=a[0==r?1:0];else{for(o=WZ(nHt,pSt,1,i-1,5,1),n=2,s=0,c=0;n<=128;n<<=1)n==e?++s:t.Db&n&&(o[c++]=a[s++]);t.Eb=o}t.Db&=~e}(t,e):-1==(i=Cot(t,e))?t.Eb=n:Dq(X2(t.Eb),i,n):null!=n&&function(t,e,n){var i,r,a,o,s,c;if(0==(r=Ptt(254&t.Db)))t.Eb=n;else{if(1==r)o=WZ(nHt,pSt,1,2,5,1),0==Cot(t,e)?(o[0]=n,o[1]=t.Eb):(o[0]=t.Eb,o[1]=n);else for(o=WZ(nHt,pSt,1,r+1,5,1),a=X2(t.Eb),i=2,s=0,c=0;i<=128;i<<=1)i==e?o[c++]=n:t.Db&i&&(o[c++]=a[s++]);t.Eb=o}t.Db|=e}(t,e,n)}function qit(t,e,n,i){var r;0!=e.c.length&&(r=function(t,e){var n,i,r,a,o;for(n=new yy,r=Z1(new k$(null,new OY(t,16)),new po),a=Z1(new k$(null,new OY(t,16)),new bo),o=function(t){var e;return fH(t),e=WZ(Hpe,wAt,28,0,15,1),I_(t.a,new Fg(e)),e}(function(t){return get(t),new JD(t,new XR(t,t.a.e,4|t.a.d))}(rU(function(t){var e,n,i,r,a,o,s,c;for(e=336,n=0,r=new nB(t.length),s=0,c=(o=t).length;s=2*e&&SO(n,new wR(o[i-1]+e,o[i]-e));return n}(n,i),VT(q0(new k$(null,new OY(function(t){var e,n,i,r,a,o,s;for(a=new jL,n=new pg(t);n.a2&&s.e.b+s.j.b<=2&&(r=s,i=o),a.a.zc(r,a),r.q=i);return a}(e),1)),new go),new bU(t,n,r,i)))}function Hit(t){var e,n,i;if(!(i=t.Jh()))for(e=0,n=t.Ph();n;n=n.Ph()){if(++e>vAt)return n.Qh();if((i=n.Jh())||n==t)break}return i}function Uit(t,e){var n;return $M(e)===$M(t)||!(!rO(e,21)||(n=KR(e,21),n.gc()!=t.gc()))&&t.Ic(n)}function Git(t,e){return yH(t),null!=e&&(!!_B(t,e)||t.length==e.length&&_B(t.toLowerCase(),e.toLowerCase()))}function Kit(t){var e,n;return F9(t,-129)>0&&F9(t,128)<0?(f$(),e=bj(t)+128,!(n=iUt[e])&&(n=iUt[e]=new Xd(t)),n):new Xd(t)}function Yit(){Yit=E,qWt=new PS(PIt,0),jWt=new PS("INSIDE_PORT_SIDE_GROUPS",1),$Wt=new PS("GROUP_MODEL_ORDER",2),zWt=new PS(BIt,3)}function Vit(t,e){var n,i;for(IY(e,t.length),n=t.charCodeAt(e),i=e+1;i_&&(p.c=_-p.b),SO(s.d,new nj(p,Gtt(s,p))),w=e==cue?i.Math.max(w,b.b+u.b.Mf().b):i.Math.min(w,b.b));for(w+=e==cue?t.t:-t.t,(v=Tnt((s.e=w,s)))>0&&(KR(zH(t.b,e),127).a.b=v),h=d.Kc();h.Ob();)(u=KR(h.Pb(),117)).c&&!(u.c.d.c.length<=0)&&((p=u.c.i).c-=u.e.a,p.d-=u.e.b)}else kTt(t,e)}(t,e):kTt(t,e):t.u.Hc(iue)&&(n?function(t,e){var n,r,a,o,s,c,l,u,h,f,d,g,p,b,m,y;if((h=KR(KR(IQ(t.r,e),21),87)).gc()<=2||e==(MTt(),sue)||e==(MTt(),Cue))VTt(t,e);else{for(b=t.u.Hc((cdt(),rue)),n=e==(MTt(),cue)?(k6(),rYt):(k6(),eYt),y=e==cue?(z1(),TKt):(z1(),SKt),r=dk(fR(n),t.s),m=e==cue?fAt:dAt,u=h.Kc();u.Ob();)(c=KR(u.Pb(),117)).c&&!(c.c.d.c.length<=0)&&(p=c.b.Mf(),g=c.e,(d=(f=c.c).i).b=(o=f.n,f.e.a+o.b+o.c),d.a=(s=f.n,f.e.b+s.d+s.a),b?(d.c=g.a-(a=f.n,f.e.a+a.b+a.c)-t.s,b=!1):d.c=g.a+p.a+t.s,DG(y,$Mt),f.f=y,cJ(f,(PJ(),vKt)),SO(r.d,new nj(d,Gtt(r,d))),m=e==cue?i.Math.min(m,g.b):i.Math.max(m,g.b+c.b.Mf().b));for(m+=e==cue?-t.t:t.t,Tnt((r.e=m,r)),l=h.Kc();l.Ob();)(c=KR(l.Pb(),117)).c&&!(c.c.d.c.length<=0)&&((d=c.c.i).c-=c.e.a,d.d-=c.e.b)}}(t,e):VTt(t,e))}function urt(t){var e;$M(spt(t,(zEt(),hse)))===$M((V9(),mle))&&(DK(t)?(e=KR(spt(DK(t),hse),346),nat(t,hse,e)):nat(t,hse,yle))}function hrt(t,e,n){return new pU(i.Math.min(t.a,e.a)-n/2,i.Math.min(t.b,e.b)-n/2,i.Math.abs(t.a-e.a)+n,i.Math.abs(t.b-e.b)+n)}function frt(t){var e;this.d=new yy,this.j=new Hk,this.g=new Hk,e=t.g.b,this.f=KR(fut(uH(e),(CEt(),C3t)),88),this.e=gx(qD(zrt(e,s6t)))}function drt(t){this.d=new yy,this.e=new fX,this.c=WZ($pe,$Ct,28,(MTt(),t7(rk(Due,1),RIt,64,0,[Sue,cue,sue,Eue,Cue])).length,15,1),this.b=t}function grt(t,e,n){var i;switch(i=n[t.g][e],t.g){case 1:case 3:return new IA(0,i);case 2:case 4:return new IA(i,0);default:return null}}function prt(t,e,n){var i;i=KR(HG(e.f),205);try{i.rf(t,n),bH(e.f,i)}catch(t){throw rO(t=j6(t),103),Ay(t)}}function brt(t,e,n){var i,r,a,o;return i=null,(a=T_t(g4(),e))&&(r=null,null!=(o=f_t(a,n))&&(r=t.qf(a,o)),i=r),i}function mrt(t,e,n,i){var r;if(e>=(r=t.length))return r;for(e=e>0?e:0;ei&&Dq(e,i,null),e}function wrt(t,e){var n,i;for(i=t.a.length,e.lengthi&&Dq(e,i,null),e}function vrt(t,e){var n,i;++t.j,null!=e&&function(t,e){var n,i,r;if($M(t)===$M(e))return!0;if(null==t||null==e||t.length!=e.length)return!1;for(n=0;n>24}return n}(gkt(t,!0))))throw Ay(new Ox("Invalid hexBinary value: '"+t+"'"));return e}function krt(t,e,n){var i;e.a.length>0&&(SO(t.b,new VR(e.a,n)),0<(i=e.a.length)?e.a=$G(e.a,0,0):0>i&&(e.a+=dO(WZ(Fpe,_Ct,28,-i,15,1))))}function _rt(t,e,n){var i;if(!n[e.d])for(n[e.d]=!0,i=new pg(r9(e));i.a=t.b>>1)for(i=t.c,n=t.b;n>e;--n)i=i.b;else for(i=t.a.a,n=0;n=0?t.Wh(r):Adt(t,i):n<0?Adt(t,i):KR(i,69).wk().Bk(t,t.hi(),n)}function Brt(t){var e,n;for(!t.o&&(t.o=new mJ((hEt(),Ohe),nfe,t,0)),e=(n=t.o).c.Kc();e.e!=e.i.gc();)KR(e.Yj(),44).md();return YZ(n)}function Rrt(t){var e;if(rO(t.a,4)){if(null==(e=$it(t.a)))throw Ay(new Ex(IRt+t.b+"'. "+CRt+(UD(wfe),wfe.k)+ARt));return e}return t.a}function Frt(t){var e;try{return e=t.i.Xb(t.e),t.Xj(),t.g=t.e++,e}catch(e){throw rO(e=j6(e),77)?(t.Xj(),Ay(new ew)):Ay(e)}}function $rt(t){var e;try{return e=t.c.Vi(t.e),t.Xj(),t.g=t.e++,e}catch(e){throw rO(e=j6(e),77)?(t.Xj(),Ay(new ew)):Ay(e)}}function jrt(t){var e,n,i,r;for(r=0,n=0,i=t.length;n=64&&e<128&&(r=RY(r,Aj(1,e-64)));return r}function zrt(t,e){var n,i;return i=null,cD(t,(zEt(),bce))&&(n=KR(fut(t,bce),96)).pf(e)&&(i=n.of(e)),null==i&&uH(t)&&(i=fut(uH(t),e)),i}function qrt(t,e){var n;return n=KR(fut(t,(CEt(),J3t)),75),aO(e,GWt)?n?FU(n):(n=new Zw,E7(t,J3t,n)):n&&E7(t,J3t,null),n}function Hrt(){Hrt=E,zEt(),HYt=fce,RYt=cse,OYt=Goe,FYt=Pse,Vst(),zYt=GGt,jYt=HGt,qYt=YGt,$Yt=qGt,Q8(),DYt=AYt,NYt=CYt,PYt=LYt,BYt=IYt}function Urt(t){switch(fE(),this.c=new yy,this.d=t,t.g){case 0:case 2:this.a=IH(BWt),this.b=fAt;break;case 3:case 1:this.a=BWt,this.b=dAt}}function Grt(t,e,n){var i;if(t.c)D2(t.c,t.c.i+e),P2(t.c,t.c.j+n);else for(i=new pg(t.b);i.a>4)<<24>>24,h[f++]=((15&n)<<4|i>>2&15)<<24>>24,h[f++]=(i<<6|r)<<24>>24}return K_(o=a[u++])&&K_(s=a[u++])?(e=tpe[o],n=tpe[s],c=a[u++],l=a[u++],-1==tpe[c]||-1==tpe[l]?61==c&&61==l?15&n?null:(ext(h,0,b=WZ(qpe,KFt,28,3*d+1,15,1),0,3*d),b[f]=(e<<2|n>>4)<<24>>24,b):61!=c&&61==l?3&(i=tpe[c])?null:(ext(h,0,b=WZ(qpe,KFt,28,3*d+2,15,1),0,3*d),b[f++]=(e<<2|n>>4)<<24>>24,b[f]=((15&n)<<4|i>>2&15)<<24>>24,b):null:(i=tpe[c],r=tpe[l],h[f++]=(e<<2|n>>4)<<24>>24,h[f++]=((15&n)<<4|i>>2&15)<<24>>24,h[f++]=(i<<6|r)<<24>>24,h)):null}(gkt(t,!0))))throw Ay(new Ox("Invalid base64Binary value: '"+t+"'"));return e}function Yrt(t,e){var n;n=t.fd(e);try{return n.Pb()}catch(t){throw rO(t=j6(t),112)?Ay(new vx("Can't get element "+e)):Ay(t)}}function Vrt(t,e){var n,i,r;for(n=t.o,r=KR(KR(IQ(t.r,e),21),87).Kc();r.Ob();)(i=KR(r.Pb(),117)).e.a=Wot(i,n.a),i.e.b=n.b*gx(qD(i.b.of(JKt)))}function Wrt(t){var e;return(e=new Vx).a+="n",t.k!=(Vut(),nXt)&&tL(tL((e.a+="(",e),uD(t.k).toLowerCase()),")"),tL((e.a+="_",e),Xot(t)),e.a}function Xrt(t,e){var n;switch(n=KR(zH(t.b,e),127).n,e.g){case 1:t.t>=0&&(n.d=t.t);break;case 3:t.t>=0&&(n.a=t.t)}t.C&&(n.b=t.C.b,n.c=t.C.c)}function Qrt(){Qrt=E,u7t=new TC(uPt,0),s7t=new TC(EOt,1),c7t=new TC("LINEAR_SEGMENTS",2),o7t=new TC("BRANDES_KOEPF",3),l7t=new TC(lPt,4)}function Zrt(){Zrt=E,vYt=new AS(QMt,0),wYt=new AS(ZMt,1),xYt=new AS(JMt,2),kYt=new AS(tLt,3),vYt.a=!1,wYt.a=!0,xYt.a=!1,kYt.a=!0}function Jrt(){Jrt=E,cYt=new SS(QMt,0),sYt=new SS(ZMt,1),lYt=new SS(JMt,2),uYt=new SS(tLt,3),cYt.a=!1,sYt.a=!0,lYt.a=!1,uYt.a=!0}function tat(t,e,n,i){var r;return n>=0?t.Sh(e,n,i):(t.Ph()&&(i=(r=t.Fh())>=0?t.Ah(i):t.Ph().Th(t,-1-r,null,i)),t.Ch(e,n,i))}function eat(t,e){switch(e){case 7:return!t.e&&(t.e=new bB(Ghe,t,7,4)),void Vkt(t.e);case 8:return!t.d&&(t.d=new bB(Ghe,t,8,5)),void Vkt(t.d)}Fnt(t,e)}function nat(t,e,n){return null==n?(!t.o&&(t.o=new mJ((hEt(),Ohe),nfe,t,0)),Nit(t.o,e)):(!t.o&&(t.o=new mJ((hEt(),Ohe),nfe,t,0)),gct(t.o,e,n)),t}function iat(t,e){var n,i,r,a;for(QU(),n=t,a=e,rO(t,21)&&!rO(e,21)&&(n=e,a=t),r=n.Kc();r.Ob();)if(i=r.Pb(),a.Hc(i))return!1;return!0}function rat(t,e,n,i){if(e.an.b)return!0}return!1}function aat(t,e){return jM(t)?!!iSt[e]:t.Sm?!!t.Sm[e]:qM(t)?!!nSt[e]:!!zM(t)&&!!eSt[e]}function oat(t,e){var n,r,a;for(a=t,r=new Dj(lN(Det(e).a.Kc(),new u));Rgt(r);)(n=KR(bQ(r),18)).c.i.c&&(a=i.Math.max(a,n.c.i.c.p));return a}function sat(t){var e,n,i;if(n=0,0==(i=Dmt(t)).c.length)return 1;for(e=new pg(i);e.a=0?t.Lh(o,n,!0):jdt(t,a,n):KR(a,69).wk().yk(t,t.hi(),r,n,i)}function hat(t){var e,n;if(null==t)return null;for(n=WZ(QWt,RSt,199,t.length,0,2),e=0;e=0)return i;if(t.ol())for(n=0;n=(r=t.gc()))throw Ay(new wB(e,r));if(t.Si()&&(i=t.dd(n))>=0&&i!=e)throw Ay(new Tx(N$t));return t.Xi(e,n)}function pat(t,e){if(this.a=KR(kq(t),253),this.b=KR(kq(e),253),t.Ed(e)>0||t==(Sv(),lHt)||e==(Cv(),uHt))throw Ay(new Tx("Invalid range: "+qW(t,e)))}function bat(t){var e,n;for(this.b=new yy,this.c=t,this.a=!1,n=new pg(t.a);n.a0)for(i=new HB(KR(IQ(t.a,a),21)),QU(),PI(i,new up(e)),r=new CV(a.b,0);r.b0),(e&-e)==e)return oK(e*Xpt(t,31)*4.656612873077393e-10);do{i=(n=Xpt(t,31))%e}while(n-i+(e-1)<0);return oK(i)}function Eat(t,e,n,i){var r,a;for(r=e;r1&&(r=function(t,e){var n,i,r;for(n=CN(new yw,t),r=new pg(e);r.a(c=null==t.d?0:t.d.length)){for(u=t.d,t.d=WZ(gfe,Ojt,66,2*c+4,0,1),a=0;a102?-1:t<=57?t-48:t<65?-1:t<=70?t-65+10:t<97?-1:t-97+10}function Yat(t,e){if(null==t)throw Ay(new Cx("null key in entry: null="+e));if(null==e)throw Ay(new Cx("null value in entry: "+t+"=null"))}function Vat(t,e){var n;return n=t7(rk(Hpe,1),wAt,28,15,[l9(t.a[0],e),l9(t.a[1],e),l9(t.a[2],e)]),t.d&&(n[0]=i.Math.max(n[0],n[2]),n[2]=n[0]),n}function Wat(t,e){var n;return n=t7(rk(Hpe,1),wAt,28,15,[u9(t.a[0],e),u9(t.a[1],e),u9(t.a[2],e)]),t.d&&(n[0]=i.Math.max(n[0],n[2]),n[2]=n[0]),n}function Xat(t,e,n){CB(KR(fut(e,(CEt(),R5t)),101))||(VX(t,e,fht(e,n)),VX(t,e,fht(e,(MTt(),Eue))),VX(t,e,fht(e,cue)),QU(),PI(e.j,new ub(t)))}function Qat(t){var e,n;for(t.c||function(t){var e,n,r,a,o,s;if(a=new CV(t.e,0),r=new CV(t.a,0),t.d)for(n=0;nTPt;){for(o=e,s=0;i.Math.abs(e-o)0),a.a.Xb(a.c=--a.b),ixt(t,t.b-s,o,r,a),KD(a.b0),r.a.Xb(r.c=--r.b)}if(!t.d)for(n=0;n=0){for(c=null,s=new CV(u.a,l+1);s.b0&&l[r]&&(p=HI(t.b,l[r],a)),b=i.Math.max(b,a.c.c.b+p);for(o=new pg(h.e);o.ax)?(l=2,s=lSt):0==l?(l=1,s=_):(l=0,s=_):(d=_>=s||s-_0?(h=KR(c$(f.c.a,o-1),10),T=HI(t.b,f,h),b=f.n.b-f.d.d-(h.n.b+h.o.b+h.d.a+T)):b=f.n.b-f.d.d,l=i.Math.min(b,l),oa&&Dq(e,a,null),e}function bot(t,e){var n,i,r;return n=e.ld(),r=e.md(),i=t.xc(n),!(!($M(r)===$M(i)||null!=r&&wtt(r,i))||null==i&&!t._b(n))}function mot(t,e,n,i){var r,a;this.a=e,this.c=i,function(t,e){t.b=e}(this,new IA(-(r=t.a).c,-r.d)),aB(this.b,n),a=i/2,e.a?vD(this.b,0,a):vD(this.b,a,0),SO(t.c,this)}function yot(t,e,n,i){var r;this.c=t,this.d=e,dX(r=new jT,n,r.c.b,r.c),this.a=r,this.b=KR(fut(i,(axt(),Gte)),88),this.e=gx(qD(fut(i,uee))),REt(this)}function wot(){wot=E,jne=new hA(PIt,0),Fne=new hA(AOt,1),$ne=new hA("EDGE_LENGTH_BY_POSITION",2),Rne=new hA("CROSSING_MINIMIZATION_BY_POSITION",3)}function vot(t,e){var n,i;if(n=KR(A2(t.g,e),27))return n;if(i=KR(A2(t.j,e),123))return i;throw Ay(new Ix("Referenced shape does not exist: "+e))}function xot(t,e){var n;if(rO(e,253)){n=KR(e,253);try{return 0==t.Ed(n)}catch(t){if(rO(t=j6(t),212))return!1;throw Ay(t)}}return!1}function kot(t,e){if(t.c==e)return t.d;if(t.d==e)return t.c;throw Ay(new Tx("Node 'one' must be either source or target of edge 'edge'."))}function _ot(t,e){if(t.c.i==e)return t.d.i;if(t.d.i==e)return t.c.i;throw Ay(new Tx("Node "+e+" is neither source nor target of edge "+t))}function Tot(t,e){var n;switch(e.g){case 2:case 4:n=t.a,t.c.d.n.b0&&(c+=r),l[u]=o,o+=s*(c+i)}function Sot(t){var e,n,i;for(i=t.f,t.n=WZ(Hpe,wAt,28,i,15,1),t.d=WZ(Hpe,wAt,28,i,15,1),e=0;e0?t.c:0),++a;t.b=r,t.d=o}function Dot(t,e){var n;return n=t7(rk(Hpe,1),wAt,28,15,[_at(t,(d2(),hKt),e),_at(t,fKt,e),_at(t,dKt,e)]),t.f&&(n[0]=i.Math.max(n[0],n[2]),n[2]=n[0]),n}function Pot(t,e,n){try{Qyt(t,e+t.j,n+t.k,!1,!0)}catch(t){throw rO(t=j6(t),77)?Ay(new vx(t.g+oLt+e+dSt+n+").")):Ay(t)}}function Bot(t,e,n){try{Qyt(t,e+t.j,n+t.k,!0,!1)}catch(t){throw rO(t=j6(t),77)?Ay(new vx(t.g+oLt+e+dSt+n+").")):Ay(t)}}function Rot(t){var e;cD(t,(CEt(),d5t))&&((e=KR(fut(t,d5t),21)).Hc((cpt(),Ale))?(e.Mc(Ale),e.Fc(Lle)):e.Hc(Lle)&&(e.Mc(Lle),e.Fc(Ale)))}function Fot(t){var e;cD(t,(CEt(),d5t))&&((e=KR(fut(t,d5t),21)).Hc((cpt(),Ple))?(e.Mc(Ple),e.Fc(Nle)):e.Hc(Nle)&&(e.Mc(Nle),e.Fc(Ple)))}function $ot(t,e,n,i){var r,a,o;return null==t.a&&function(t,e){var n,i,r,a;for(a=e.b.j,t.a=WZ($pe,$Ct,28,a.c.length,15,1),r=0,i=0;i0&&(a.b+=e),a}function Hot(t,e){var n,r,a;for(a=new Hk,r=t.Kc();r.Ob();)awt(n=KR(r.Pb(),36),0,a.b),a.b+=n.f.b+e,a.a=i.Math.max(a.a,n.f.a);return a.a>0&&(a.a+=e),a}function Uot(t){var e,n,r;for(r=lSt,n=new pg(t.a);n.a>16==6?t.Cb.Th(t,5,Xhe,e):(n=Oat(KR(N0(KR(i6(t,16),29)||t.ii(),t.Db>>16),19)),t.Cb.Th(t,n.n,n.f,e))}function Vot(t){var e,n,r;t.b==t.c&&(r=t.a.length,n=k7(i.Math.max(8,r))<<1,0!=t.b?(v3(t,e=jP(t.a,n),r),t.a=e,t.b=0):ow(t.a,n),t.c=r)}function Wot(t,e){var n;return(n=t.b).pf((zEt(),Vse))?n.ag()==(MTt(),Cue)?-n.Mf().a-gx(qD(n.of(Vse))):e+gx(qD(n.of(Vse))):n.ag()==(MTt(),Cue)?-n.Mf().a:e}function Xot(t){return 0!=t.b.c.length&&KR(c$(t.b,0),72).a?KR(c$(t.b,0),72).a:lU(t)??""+(t.c?g1(t.c.a,t,0):-1)}function Qot(t){return 0!=t.f.c.length&&KR(c$(t.f,0),72).a?KR(c$(t.f,0),72).a:lU(t)??""+(t.i?g1(t.i.j,t,0):-1)}function Zot(t,e){var n,i;if(e<0||e>=t.gc())return null;for(n=e;n0?t.c:0),a=i.Math.max(a,e.d),++r;t.e=o,t.b=a}function est(t,e,n,i){return 0==e?i?(!t.o&&(t.o=new mJ((hEt(),Ohe),nfe,t,0)),t.o):(!t.o&&(t.o=new mJ((hEt(),Ohe),nfe,t,0)),YZ(t.o)):uat(t,e,n,i)}function nst(t){var e,n;if(t.rb)for(e=0,n=t.rb.i;e>22),r+=i>>22,r<0)||(t.l=n&eAt,t.m=i&eAt,t.h=r&nAt,0))}function ast(t,e,n,i,r,a,o){var s,c;return!(e.Te()&&(c=t.a.Ne(n,i),c<0||!r&&0==c)||e.Ue()&&(s=t.a.Ne(n,a),s>0||!o&&0==s))}function ost(t,e,n){var i,r;return g9(r=new lv,e),B3(r,n),sJ((!t.c&&(t.c=new ez(ide,t,12,10)),t.c),r),j2(i=r,0),z2(i,1),Ctt(i,!0),Ttt(i,!0),i}function sst(t,e){var n,i;if(e>=t.i)throw Ay(new wL(e,t.i));return++t.j,n=t.g[e],(i=t.i-e-1)>0&&ext(t.g,e+1,t.g,e,i),Dq(t.g,--t.i,null),t.Qi(e,n),t.Ni(),n}function cst(t,e){var n;return t.Db>>16==17?t.Cb.Th(t,21,Wfe,e):(n=Oat(KR(N0(KR(i6(t,16),29)||t.ii(),t.Db>>16),19)),t.Cb.Th(t,n.n,n.f,e))}function lst(t){var e,n,i,r,a;for(r=lSt,a=null,i=new pg(t.d);i.an.a.c.length))throw Ay(new Tx("index must be >= 0 and <= layer node count"));t.c&&u1(t.c.a,t),t.c=n,n&&V$(n.a,e,t)}function wst(t,e){var n,i,r;for(i=new Dj(lN(Net(t).a.Kc(),new u));Rgt(i);)return n=KR(bQ(i),18),new Ff(kq((r=KR(e.Kb(n),10)).n.b+r.o.b/2));return Ev(),Ev(),eHt}function vst(t,e){this.c=new my,this.a=t,this.b=e,this.d=KR(fut(t,(jEt(),o0t)),312),$M(fut(t,(CEt(),g5t)))===$M((KJ(),wJt))?this.e=new Bw:this.e=new Pw}function xst(t,e){var n,i;return i=null,t.pf((zEt(),bce))&&(n=KR(t.of(bce),96)).pf(e)&&(i=n.of(e)),null==i&&t.Tf()&&(i=t.Tf().of(e)),null==i&&(i=Rrt(e)),i}function kst(t,e){var n,i;n=t.fd(e);try{return i=n.Pb(),n.Qb(),i}catch(t){throw rO(t=j6(t),112)?Ay(new vx("Can't remove element "+e)):Ay(t)}}function _st(t,e){var n,i,r;for(yH(e),GD(e!=t),r=t.b.c.length,i=e.Kc();i.Ob();)n=i.Pb(),SO(t.b,yH(n));return r!=t.b.c.length&&(M8(t,0),!0)}function Tst(){Tst=E,zEt(),YVt=bse,new vI(ise,(FN(),!0)),XVt=Sse,QVt=Mse,ZVt=Ise,WVt=Tse,JVt=Dse,tWt=Jse,ust(),KVt=zVt,UVt=FVt,GVt=jVt,VVt=qVt,HVt=RVt}function Est(t,e,n,i){var r,a,o;for(nY(e,KR(i.Xb(0),30)),o=i.kd(1,i.gc()),a=KR(n.Kb(e),20).Kc();a.Ob();)Est(t,(r=KR(a.Pb(),18)).c.i==e?r.d.i:r.c.i,n,o)}function Sst(t){var e;return e=new my,cD(t,(jEt(),h0t))?KR(fut(t,h0t),85):(VT(nU(new k$(null,new OY(t.j,16)),new er),new zp(e)),E7(t,h0t,e),e)}function Cst(t,e){var n,r,a,o,s;for(r=0,a=0,n=0,s=new pg(t);s.a0?e:0),++n;return new IA(r,a)}function Ast(t,e){var n;return t.Db>>16==6?t.Cb.Th(t,6,Ghe,e):(n=Oat(KR(N0(KR(i6(t,16),29)||(hEt(),Che),t.Db>>16),19)),t.Cb.Th(t,n.n,n.f,e))}function Mst(t,e){var n;return t.Db>>16==7?t.Cb.Th(t,1,qhe,e):(n=Oat(KR(N0(KR(i6(t,16),29)||(hEt(),Mhe),t.Db>>16),19)),t.Cb.Th(t,n.n,n.f,e))}function Lst(t,e){var n;return t.Db>>16==9?t.Cb.Th(t,9,Zhe,e):(n=Oat(KR(N0(KR(i6(t,16),29)||(hEt(),Ihe),t.Db>>16),19)),t.Cb.Th(t,n.n,n.f,e))}function Ist(t,e){var n;return t.Db>>16==5?t.Cb.Th(t,9,Jfe,e):(n=Oat(KR(N0(KR(i6(t,16),29)||(KEt(),pde),t.Db>>16),19)),t.Cb.Th(t,n.n,n.f,e))}function Ost(t,e){var n;return t.Db>>16==7?t.Cb.Th(t,6,Xhe,e):(n=Oat(KR(N0(KR(i6(t,16),29)||(KEt(),Tde),t.Db>>16),19)),t.Cb.Th(t,n.n,n.f,e))}function Nst(t,e){var n;return t.Db>>16==3?t.Cb.Th(t,0,Yhe,e):(n=Oat(KR(N0(KR(i6(t,16),29)||(KEt(),cde),t.Db>>16),19)),t.Cb.Th(t,n.n,n.f,e))}function Dst(){this.a=new sl,this.g=new Pat,this.j=new Pat,this.b=new my,this.d=new Pat,this.i=new Pat,this.k=new my,this.c=new my,this.e=new my,this.f=new my}function Pst(t,e,n){var i,r,a;for(n<0&&(n=0),a=t.i,r=n;rvAt)return Bst(t,i);if(i==t)return!0}}return!1}function Rst(t,e){var n,r,a;for(u1(t.a,e),t.e-=e.r+(0==t.a.c.length?0:t.c),a=iBt,r=new pg(t.a);r.a>16==3?t.Cb.Th(t,12,Zhe,e):(n=Oat(KR(N0(KR(i6(t,16),29)||(hEt(),She),t.Db>>16),19)),t.Cb.Th(t,n.n,n.f,e))}function $st(t,e){var n;return t.Db>>16==11?t.Cb.Th(t,10,Zhe,e):(n=Oat(KR(N0(KR(i6(t,16),29)||(hEt(),Lhe),t.Db>>16),19)),t.Cb.Th(t,n.n,n.f,e))}function jst(t,e){var n;return t.Db>>16==10?t.Cb.Th(t,11,Wfe,e):(n=Oat(KR(N0(KR(i6(t,16),29)||(KEt(),kde),t.Db>>16),19)),t.Cb.Th(t,n.n,n.f,e))}function zst(t,e){var n;return t.Db>>16==10?t.Cb.Th(t,12,nde,e):(n=Oat(KR(N0(KR(i6(t,16),29)||(KEt(),Ede),t.Db>>16),19)),t.Cb.Th(t,n.n,n.f,e))}function qst(t){var e;return!(1&t.Bb)&&t.r&&t.r.Vh()&&(e=KR(t.r,54),t.r=KR(j9(t,e),142),t.r!=e&&4&t.Db&&!(1&t.Db)&&Q5(t,new nz(t,9,8,e,t.r))),t.r}function Hst(t,e,n){var r;return r=t7(rk(Hpe,1),wAt,28,15,[Jlt(t,(d2(),hKt),e,n),Jlt(t,fKt,e,n),Jlt(t,dKt,e,n)]),t.f&&(r[0]=i.Math.max(r[0],r[2]),r[2]=r[0]),r}function Ust(t,e){var n,i,r;if(0!=(r=function(t,e){var n,i,r;for(r=new lZ(e.gc()),i=e.Kc();i.Ob();)(n=KR(i.Pb(),293)).c==n.f?Bht(t,n,n.c):Lht(t,n)||Dy(r.c,n);return r}(t,e)).c.length)for(PI(r,new ei),n=r.c.length,i=0;i>19)!=(s=e.h>>19)?s-o:(i=t.h)!=(a=e.h)?i-a:(n=t.m)!=(r=e.m)?n-r:t.l-e.l}function Vst(){Vst=E,vyt(),YGt=new vL(TMt,VGt=iKt),_0(),GGt=new vL(EMt,KGt=jGt),Lrt(),HGt=new vL(SMt,UGt=BGt),qGt=new vL(CMt,(FN(),!0))}function Wst(t,e,n){var i,r;i=e*n,rO(t.g,154)?(r=_W(t)).f.d?r.f.a||(t.d.a+=i+HMt):(t.d.d-=i+HMt,t.d.a+=i+HMt):rO(t.g,10)&&(t.d.d-=i,t.d.a+=2*i)}function Xst(t,e,n){var r,a,o,s,c;for(a=t[n.g],c=new pg(e.d);c.a0?t.b:0),++n;e.b=r,e.e=a}function Zst(t){var e,n,i;if(i=t.b,DT(t.i,i.length)){for(n=2*i.length,t.b=WZ(pHt,nCt,303,n,0,1),t.c=WZ(pHt,nCt,303,n,0,1),t.f=n-1,t.i=0,e=t.a;e;e=e.c)Qft(t,e,e);++t.g}}function Jst(t,e){return t.b.a=i.Math.min(t.b.a,e.c),t.b.b=i.Math.min(t.b.b,e.d),t.a.a=i.Math.max(t.a.a,e.c),t.a.b=i.Math.max(t.a.b,e.d),Dy(t.c,e),!0}function tct(t,e,n){var i;(i=e.c.i).k==(Vut(),eXt)?(E7(t,(jEt(),$1t),KR(fut(i,$1t),12)),E7(t,j1t,KR(fut(i,j1t),12))):(E7(t,(jEt(),$1t),e.c),E7(t,j1t,n.d))}function ect(t,e,n){var r,a,o,s,c,l;return Ymt(),s=e/2,o=n/2,c=1,l=1,(r=i.Math.abs(t.a))>s&&(c=s/r),(a=i.Math.abs(t.b))>o&&(l=o/a),EO(t,i.Math.min(c,l)),t}function nct(){TT.call(this),this.e=-1,this.a=!1,this.p=gCt,this.k=-1,this.c=-1,this.b=-1,this.g=!1,this.f=-1,this.j=-1,this.n=-1,this.i=-1,this.d=-1,this.o=gCt}function ict(){ict=E,oWt=dj(QF(QF(QF(new EH,(dut(),dWt),(qEt(),VXt)),dWt,ZXt),gWt,aQt),gWt,BXt),cWt=QF(QF(new EH,dWt,SXt),dWt,RXt),sWt=dj(new EH,gWt,$Xt)}function rct(t,e){var n,i,r,a;for(a=new my,e.e=null,e.f=null,i=new pg(e.i);i.a0)try{i=evt(e,gCt,lSt)}catch(t){throw rO(t=j6(t),130)?Ay(new y1(t)):Ay(t)}return!t.a&&(t.a=new hy(t)),i<(n=t.a).i&&i>=0?KR(l2(n,i),58):null}(t,0==(r=e.c.length)?"":(LY(0,e.c.length),HD(e.c[0]))),i=1;i0&&(r=zdt(t,(a&lSt)%t.d.length,a,e))?r.nd(n):(i=t.ck(a,e,n),t.c.Fc(i),null)}function pct(t,e){var n,i,r,a;switch(gtt(t,e).Kl()){case 3:case 2:for(r=0,a=(n=okt(e)).i;r=0?e:-e;i>0;)i%2==0?(n*=n,i=i/2|0):(r*=n,i-=1);return e<0?1/r:r}(t,t)/$9(2.718281828459045,t))}function mct(t,e){var n;if(t.Yi()&&null!=e){for(n=0;n0&&(t.b+=2,t.a+=r):(t.b+=1,t.a+=i.Math.min(r,a))}function _ct(t){var e;e=KR(fut(KR(Yrt(t.b,0),40),(axt(),iee)),107),E7(t,(ETt(),ote),new IA(0,0)),Gwt(new aZ,t,e.b+e.c-gx(qD(fut(t,dte))),e.d+e.a-gx(qD(fut(t,pte))))}function Tct(t,e){var n;if(n=!1,jM(e)&&(n=!0,zq(t,new _q(HD(e)))),n||rO(e,242)&&(n=!0,zq(t,new kd(jB(KR(e,242))))),!n)throw Ay(new kx(p$t))}function Ect(t){var e,n;switch(KR(fut(uH(t),(CEt(),Z3t)),429).g){case 0:return e=t.n,n=t.o,new IA(e.a+n.a/2,e.b+n.b/2);case 1:return new KL(t.n);default:return null}}function Sct(){Sct=E,SJt=new gC(PIt,0),EJt=new gC("LEFTUP",1),AJt=new gC("RIGHTUP",2),TJt=new gC("LEFTDOWN",3),CJt=new gC("RIGHTDOWN",4),_Jt=new gC("BALANCED",5)}function Cct(t,e,n){switch(e){case 1:return!t.n&&(t.n=new ez(Qhe,t,1,7)),Vkt(t.n),!t.n&&(t.n=new ez(Qhe,t,1,7)),void nq(t.n,KR(n,16));case 2:return void G4(t,HD(n))}l8(t,e,n)}function Act(t,e,n){switch(e){case 3:return void O2(t,gx(qD(n)));case 4:return void N2(t,gx(qD(n)));case 5:return void D2(t,gx(qD(n)));case 6:return void P2(t,gx(qD(n)))}Cct(t,e,n)}function Mct(t,e,n){var i,r;(i=Klt(r=new lv,e,null))&&i.oj(),B3(r,n),sJ((!t.c&&(t.c=new ez(ide,t,12,10)),t.c),r),j2(r,0),z2(r,1),Ctt(r,!0),Ttt(r,!0)}function Lct(t,e){var n,i;return rO(n=nS(t.i,e),241)?((i=KR(n,241)).zi(),i.wi()):rO(n,507)?i=KR(n,2037).b:null}function Ict(t,e,n,i){var r,a;return kq(e),kq(n),A1(!!(a=KR($B(t.d,e),17)),"Row %s not in %s",e,t.e),A1(!!(r=KR($B(t.b,n),17)),"Column %s not in %s",n,t.c),J6(t,a.a,r.a,i)}function Oct(t,e,n,i,r,a,o){var s,c,l,u,h;if(h=Lot(s=(l=a==o-1)?i:0,u=r[a]),10!=i&&t7(rk(t,o-a),e[a],n[a],s,h),!l)for(++a,c=0;c1||-1==s?(a=KR(c,15),r.Wb(function(t,e){var n,i,r;for(i=new lZ(e.gc()),n=e.Kc();n.Ob();)(r=Wwt(t,KR(n.Pb(),58)))&&Dy(i.c,r);return i}(t,a))):r.Wb(Wwt(t,KR(c,58))))}function Uct(t,e){var n,i,r;for(r=new rg(new Zd(t.b).a.vc().Kc());r.a.Ob();)if(n=KR(r.a.Pb(),44),i=KR(n.ld(),34),OL(e,KR(i,17))<0)return!1;return!0}function Gct(t,e){var n,i,r;for(r=new rg(new Zd(t.b).a.vc().Kc());r.a.Ob();)if(n=KR(r.a.Pb(),44),i=KR(n.ld(),34),OL(e,KR(i,17))>0)return!1;return!0}function Kct(t){switch(KR(fut(t.b,(CEt(),R3t)),387).g){case 1:VT(iU(Z1(new k$(null,new OY(t.d,16)),new Vr),new Wr),new Xr);break;case 2:!function(t){var e,n,i,r,a,o,s;for(i=0,s=0,o=new pg(t.d);o.a=t.f)break;Dy(a.c,n)}return a}function ilt(t,e){var n,i,r;for(i=new pg(e.a);i.a0&&hst(this,this.c-1,(MTt(),sue)),this.c0&&t[0].length>0&&(this.c=dx(zD(fut(uH(t[0][0]),(jEt(),P1t))))),this.a=WZ(_8t,RSt,2117,t.length,0,2),this.b=WZ(S8t,RSt,2118,t.length,0,2),this.d=new x9}function dlt(t){return 0!=t.c.length&&((LY(0,t.c.length),KR(t.c[0],18)).c.i.k==(Vut(),eXt)||nQ(iU(new k$(null,new OY(t,16)),new Ba),new Ra))}function glt(t,e){var n,r,a,o,s,c;for(s=Dmt(e),a=e.f,c=e.g,o=i.Math.sqrt(a*a+c*c),r=0,n=new pg(s);n.a=0?(n=yct(t,oAt),i=Qnt(t,oAt)):(n=yct(e=Lj(t,1),5e8),i=Set(Aj(i=Qnt(e,5e8),1),BY(t,1))),RY(Aj(i,32),BY(n,kAt))}function Clt(t,e,n){var i;switch(KD(0!=e.b),i=KR(J0(e,e.a.a),8),n.g){case 0:i.b=0;break;case 2:i.b=t.f;break;case 3:i.a=0;break;default:i.a=t.g}return Vz(Mrt(e,0),i),e}function Alt(t,e,n,i){var r,a,o,s,c;switch(c=t.b,s=grt(o=(a=e.d).j,c.d[o.g],n),r=aB(tO(a.n),a.a),a.j.g){case 1:case 3:s.a+=r.a;break;case 2:case 4:s.b+=r.b}dX(i,s,i.c.b,i.c)}function Mlt(t,e,n){var i,r,a,o;for(o=g1(t.e,e,0),(a=new Ow).b=n,i=new CV(t.e,o);i.b=0;e--)tGt[e]=i,i*=.5;for(n=1,t=24;t>=0;t--)JUt[t]=n,n*=.5}function Ilt(t){var e,n;if(dx(zD(spt(t,(CEt(),W3t)))))for(n=new Dj(lN(Ypt(t).a.Kc(),new u));Rgt(n);)if(Idt(e=KR(bQ(n),74))&&dx(zD(spt(e,X3t))))return!0;return!1}function Olt(t,e){var n,i,r;Az(t.f,e)&&(e.b=t,i=e.c,-1!=g1(t.j,i,0)||SO(t.j,i),r=e.d,-1!=g1(t.j,r,0)||SO(t.j,r),0!=(n=e.a.b).c.length&&(!t.i&&(t.i=new frt(t)),function(t,e){var n,i;for(i=new pg(e);i.a=0&&_B(t.substr(e,3),"GMT")||e>=0&&_B(t.substr(e,3),"UTC"))&&(n[0]=e+3),function(t,e,n){var i,r,a,o;if(e[0]>=t.length)return n.o=0,!0;switch(JH(t,e[0])){case 43:r=1;break;case 45:r=-1;break;default:return n.o=0,!0}if(++e[0],a=e[0],0==(o=Mdt(t,e))&&e[0]==a)return!1;if(e[0]0&&ext(t.g,e,t.g,e+i,s),o=n.Kc(),t.i+=i,r=0;r=mAt?(e=yAt+(t-mAt>>10&1023)&ECt,n=56320+(t-mAt&1023)&ECt,String.fromCharCode(e)+""+String.fromCharCode(n)):String.fromCharCode(t&ECt)}function Xlt(t,e,n,i,r){var a,o,s;for(a=Bmt(t,e,n,i,r),s=!1;!a;)vpt(t,r,!0),s=!0,a=Bmt(t,e,n,i,r);s&&vpt(t,r,!1),0!=(o=c7(r)).c.length&&(t.d&&t.d.Gg(o),Xlt(t,r,n,i,o))}function Qlt(){Qlt=E,ale=new $A(PIt,0),ile=new $A("DIRECTED",1),ole=new $A("UNDIRECTED",2),ele=new $A("ASSOCIATION",3),rle=new $A("GENERALIZATION",4),nle=new $A("DEPENDENCY",5)}function Zlt(t,e){var n,i;for(yH(e),i=t.b.c.length,SO(t.b,e);i>0;){if(n=i,i=(i-1)/2|0,t.a.Ne(c$(t.b,i),e)<=0)return YX(t.b,n,e),!0;YX(t.b,n,c$(t.b,i))}return YX(t.b,i,e),!0}function Jlt(t,e,n,r){var a,o;if(a=0,n)a=u9(t.a[n.g][e.g],r);else for(o=0;o=o)}function eut(t){switch(t.g){case 0:return new qs;case 1:return new Us;default:throw Ay(new Tx("No implementation is available for the width approximator "+(null!=t.f?t.f:""+t.g)))}}function nut(t,e,n,i){var r;if(r=!1,jM(i)&&(r=!0,LF(e,n,HD(i))),r||zM(i)&&(r=!0,nut(t,e,n,i)),r||rO(i,242)&&(r=!0,aG(e,n,KR(i,242))),!r)throw Ay(new kx(p$t))}function iut(t,e){var n,i,r,a;if(yH(e),(a=t.a.gc())=TCt?"error":"warn",t.a),t.b&&Rbt(e,n,t.b,"Exception: ",!0))}function fut(t,e){var n;return!t.q&&(t.q=new my),Oq(t.q,e)??(rO(n=e.Sg(),4)&&(null==n?(!t.q&&(t.q=new my),$Q(t.q,e)):(!t.q&&(t.q=new my),LH(t.q,e,n))),n)}function dut(){dut=E,uWt=new OS("P1_CYCLE_BREAKING",0),hWt=new OS("P2_LAYERING",1),fWt=new OS("P3_NODE_ORDERING",2),dWt=new OS("P4_NODE_PLACEMENT",3),gWt=new OS("P5_EDGE_ROUTING",4)}function gut(t,e){var n;if(S0(),t.c==e.c){if(t.b==e.b||function(t,e){return i7(),t==SWt&&e==MWt||t==MWt&&e==SWt||t==AWt&&e==CWt||t==CWt&&e==AWt}(t.b,e.b)){if(n=function(t){return t==SWt||t==MWt}(t.b)?1:-1,t.a&&!e.a)return n;if(!t.a&&e.a)return-n}return $I(t.b.g,e.b.g)}return cet(t.c,e.c)}function put(t,e){var n,i;if(Eut(t,e))return!0;for(i=new pg(e);i.a=(r=t.Ej())||e<0)throw Ay(new vx(D$t+e+P$t+r));if(n>=r||n<0)throw Ay(new vx(B$t+n+P$t+r));return e!=n?(a=t.Cj(n),t.qj(e,a),i=a):i=t.xj(n),i}function _ut(t){var e,n,i;if(i=t,t)for(e=0,n=t.Eh();n;n=n.Eh()){if(++e>vAt)return _ut(n);if(i=n,n==t)throw Ay(new Ex("There is a cycle in the containment hierarchy of "+t))}return i}function Tut(t){var e,n,i;for(i=new y6(dSt,"[","]"),n=t.Kc();n.Ob();)FQ(i,$M(e=n.Pb())===$M(t)?"(this Collection)":null==e?wSt:Get(e));return i.a?0==i.e.length?i.a.a:i.a.a+""+i.e:i.c}function Eut(t,e){var n,i;if(i=!1,e.gc()<2)return!1;for(n=0;n1&&(t.j.b+=t.e)):(t.j.a+=n.a,t.j.b=i.Math.max(t.j.b,n.b),t.d.c.length>1&&(t.j.a+=t.e))}function Mut(){Mut=E,sZt=t7(rk(Due,1),RIt,64,0,[(MTt(),cue),sue,Eue]),oZt=t7(rk(Due,1),RIt,64,0,[sue,Eue,Cue]),cZt=t7(rk(Due,1),RIt,64,0,[Eue,Cue,cue]),lZt=t7(rk(Due,1),RIt,64,0,[Cue,cue,sue])}function Lut(t,e,n,i){var r,a,o,s,c;if(a=t.c.d,o=t.d.d,a.j!=o.j)for(c=t.b,r=a.j,s=null;r!=o.j;)s=0==e?Vtt(r):Ktt(r),RF(i,aB(grt(r,c.d[r.g],n),grt(s,c.d[s.g],n))),r=s}function Iut(t,e,n,i){var r,a,o,s,c;return s=KR((o=dst(t.a,e,n)).a,17).a,a=KR(o.b,17).a,i&&(c=KR(fut(e,(jEt(),Z1t)),10),r=KR(fut(n,Z1t),10),c&&r&&(RW(t.b,c,r),s+=t.b.i,a+=t.b.e)),s>a}function Out(t){var e,n,i,r,a,o,s,c;for(this.a=hat(t),this.b=new yy,i=0,r=(n=t).length;i0&&(t.a[H.p]=Z++)}for(it=0,D=0,R=(I=n).length;D0;){for(KD(Y.b>0),K=0,c=new pg((H=KR(Y.a.Xb(Y.c=--Y.b),12)).e);c.a0&&(H.j==(MTt(),cue)?(t.a[H.p]=it,++it):(t.a[H.p]=it+F+j,++j))}it+=j}for(G=new my,p=new jL,O=0,P=(M=e).length;Ou.b&&(u.b=V)):H.i.c==Q&&(Vu.c&&(u.c=V));for(IJ(b,0,b.length,null),nt=WZ($pe,$Ct,28,b.length,15,1),r=WZ($pe,$Ct,28,it+1,15,1),y=0;y0;)T%2>0&&(a+=ot[T+1]),++ot[T=(T-1)/2|0];for(S=WZ(R8t,pSt,374,2*b.length,0,1),x=0;xuP(t.d).c?(t.i+=t.g.c,tit(t.d)):uP(t.d).c>uP(t.g).c?(t.e+=t.d.c,tit(t.g)):(t.i+=A$(t.g),t.e+=A$(t.d),tit(t.g),tit(t.d))}function Rut(t,e,n,r){t.a.d=i.Math.min(e,n),t.a.a=i.Math.max(e,r)-t.a.d,ec&&(l=c/r),(a=i.Math.abs(e.b-t.b))>o&&(u=o/a),s=i.Math.min(l,u),t.a+=s*(e.a-t.a),t.b+=s*(e.b-t.b)}function Hut(t,e,n,i,r){var a,o;for(o=!1,a=KR(c$(n.b,0),27);Axt(t,e,a,i,r)&&(o=!0,$ct(n,a),0!=n.b.c.length);)a=KR(c$(n.b,0),27);return 0==n.b.c.length&&Rst(n.j,n),o&&Not(e.q),o}function Uut(t,e){var n,i,r,a;if(Ymt(),e.b<2)return!1;for(i=n=KR(gW(a=Mrt(e,0)),8);a.b!=a.d.c;){if(wbt(t,i,r=KR(gW(a),8)))return!0;i=r}return!!wbt(t,i,n)}function Gut(t,e,n,i){return 0==n?(!t.o&&(t.o=new mJ((hEt(),Ohe),nfe,t,0)),BB(t.o,e,i)):KR(N0(KR(i6(t,16),29)||t.ii(),n),69).wk().Ak(t,jit(t),n-Lq(t.ii()),e,i)}function Kut(t,e){var n;e!=t.sb?(n=null,t.sb&&(n=KR(t.sb,54).Th(t,1,Vhe,n)),e&&(n=KR(e,54).Rh(t,1,Vhe,n)),(n=ftt(t,e,n))&&n.oj()):4&t.Db&&!(1&t.Db)&&Q5(t,new nz(t,1,4,e,e))}function Yut(t,e){var n,i;i=KR(fut(e,(CEt(),R5t)),101),E7(e,(jEt(),W1t),i),(n=e.e)&&(VT(new k$(null,new OY(n.a,16)),new cp(t)),VT(Z1(new k$(null,new OY(n.b,16)),new ge),new lp(t)))}function Vut(){Vut=E,nXt=new BS("NORMAL",0),eXt=new BS("LONG_EDGE",1),JWt=new BS("EXTERNAL_PORT",2),iXt=new BS("NORTH_SOUTH_PORT",3),tXt=new BS("LABEL",4),ZWt=new BS("BREAKING_POINT",5)}function Wut(t,e){var n,i,r;return(e&=63)<22?(n=t.l<>22-e,r=t.h<>22-e):e<44?(n=0,i=t.l<>44-e):(n=0,i=0,r=t.l<t)throw Ay(new Tx("k must be smaller than n"));return 0==e||e==t?1:0==t?0:bct(t)/(bct(e)*bct(t-e))}function tht(t,e){var n,i,r,a;for(n=new fI(t);null!=n.g||n.c?null==n.g||0!=n.i&&KR(n.g[n.i-1],51).Ob():MK(n);)if(rO(a=KR(zpt(n),58),167))for(i=KR(a,167),r=0;r0&&dwt(t,n,e),r):function(t,e,n){var i,r,a;return i=t.c[e.c.p][e.p],r=t.c[n.c.p][n.p],null!=i.a&&null!=r.a?((a=Oj(i.a,r.a))<0?dwt(t,e,n):a>0&&dwt(t,n,e),a):null!=i.a?(dwt(t,e,n),-1):null!=r.a?(dwt(t,n,e),1):0}(t,e,n)}function pht(){pht=E,zEt(),Cne=rce,Dne=xce,vne=Sse,xne=Mse,kne=Ise,wne=Tse,_ne=Dse,Sne=Jse,Ewt(),mne=ene,yne=nne,Mne=cne,One=hne,Lne=lne,Ine=une,Tne=rne,Ene=one,Ane=sne,Nne=fne,Pne=gne,bne=tne}function bht(t,e){var n,i,r,a,o;if(t.e<=e||function(t,e,n){var i;return(i=rkt(t,e,!1)).b<=e&&i.a<=n}(t,t.g,e))return t.g;for(a=t.r,i=t.g,o=t.r,r=(a-i)/2+i;i+11&&(t.e.b+=t.a)):(t.e.a+=n.a,t.e.b=i.Math.max(t.e.b,n.b),t.d.c.length>1&&(t.e.a+=t.a))}function kht(t){var e,n,i,r;switch(e=(r=t.i).b,i=r.j,n=r.g,r.a.g){case 0:n.a=(t.g.b.o.a-i.a)/2;break;case 1:n.a=e.d.n.a+e.d.a.a;break;case 2:n.a=e.d.n.a+e.d.a.a-i.a;break;case 3:n.b=e.d.n.b+e.d.a.b}}function _ht(t,e,n,i,r){if(ii&&(t.a=i),t.br&&(t.b=r),t}function Tht(t){if(rO(t,143))return function(t){var e,n,i,r,a;return a=$lt(t),null!=t.a&&LF(a,"category",t.a),!G_(new Zd(t.d))&&(I0(a,"knownOptions",i=new Td),e=new qm(i),UX(new Zd(t.d),e)),!G_(t.g)&&(I0(a,"supportedFeatures",r=new Td),n=new Hm(r),UX(t.g,n)),a}(KR(t,143));if(rO(t,233))return function(t){var e,n,i;return i=$lt(t),!G_(t.c)&&(I0(i,"knownLayouters",n=new Td),e=new Um(n),UX(t.c,e)),i}(KR(t,233));if(rO(t,23))return function(t){var e,n,i;return i=$lt(t),null!=t.e&&LF(i,C$t,t.e),!!t.k&&LF(i,"type",uD(t.k)),!G_(t.j)&&(n=new Td,I0(i,s$t,n),e=new Gm(n),UX(t.j,e)),i}(KR(t,23));throw Ay(new Tx(y$t+Tut(new Dx(t7(rk(nHt,1),pSt,1,5,[t])))))}function Eht(t,e,n,i){var r,a;if(e.k==(Vut(),eXt))for(a=new Dj(lN(Det(e).a.Kc(),new u));Rgt(a);)if((r=KR(bQ(a),18)).c.i.k==eXt&&t.c.a[r.c.i.c.p]==i&&t.c.a[e.c.p]==n)return!0;return!1}function Sht(t,e,n,i){var r;this.b=i,this.e=t==(u4(),A8t),r=e[n],this.d=u$(jpe,[RSt,IMt],[183,28],16,[r.length,r.length],2),this.a=u$($pe,[RSt,$Ct],[53,28],15,[r.length,r.length],2),this.c=new hlt(e,n)}function Cht(t){var e,n,i;for(t.k=new kY((MTt(),t7(rk(Due,1),RIt,64,0,[Sue,cue,sue,Eue,Cue])).length,t.j.c.length),i=new pg(t.j);i.a=n)return Bht(t,e,i.p),!0;return!1}function Iht(t,e,n,i){var r,a,o,s,c,l;for(o=n.length,a=0,r=-1,l=r0((IY(e,t.length+1),t.substr(e)),(WB(),YUt)),s=0;sa&&wz(l,r0(n[s],YUt))&&(r=s,a=c);return r>=0&&(i[0]=e+a),r}function Oht(t){var e;return 64&t.Db?eht(t):(e=new pN(CFt),!t.a||tL(tL((e.a+=' "',e),t.a),'"'),tL(l_(tL(l_(tL(l_(tL(l_((e.a+=" (",e),t.i),","),t.j)," | "),t.g),","),t.f),")"),e.a)}function Nht(t,e,n){var i,r,a,o,s;for(s=Jbt(t.e.Dh(),e),r=KR(t.g,124),i=0,o=0;o0&&Fht(t,a,n));e.p=0}function $ht(t){var e;this.c=new jT,this.f=t.e,this.e=t.d,this.i=t.g,this.d=t.c,this.b=t.b,this.k=t.j,this.a=t.a,t.i?this.j=t.i:this.j=new UB(e=KR(t_(toe),9),KR(jP(e,e.length),9),0),this.g=t.f}function jht(t,e,n){var i,r,a;if(!(n<=e+2))for(r=(n-e)/2|0,i=0;i=0?t.ki(r):edt(t,i)}else vtt(t,n,i)}function Uht(t){var e,n;if(n=null,e=!1,rO(t,211)&&(e=!0,n=KR(t,211).a),e||rO(t,263)&&(e=!0,n=""+KR(t,263).a),e||rO(t,493)&&(e=!0,n=""+KR(t,493).a),!e)throw Ay(new kx(p$t));return n}function Ght(t,e,n){var i,r,a,o,s,c;for(c=Jbt(t.e.Dh(),e),i=0,s=t.i,r=KR(t.g,124),o=0;o=t.d.b.c.length&&((e=new $q(t.d)).p=i.p-1,SO(t.d.b,e),(n=new $q(t.d)).p=i.p,SO(t.d.b,n)),nY(i,KR(c$(t.d.b,i.p),30))}function eft(t,e,n){var i,r,a;if(!t.b[e.g]){for(t.b[e.g]=!0,!(i=n)&&(i=new aZ),RF(i.b,e),a=t.a[e.g].Kc();a.Ob();)(r=KR(a.Pb(),65)).b!=e&&eft(t,r.b,i),r.c!=e&&eft(t,r.c,i),RF(i.a,r);return i}return null}function nft(t,e){var n;return 0!=t.c.length&&(n=Unt((LY(0,t.c.length),KR(t.c[0],18)).c.i),XK(),n==(wat(),e7t)||n==t7t||nQ(iU(new k$(null,new OY(t,16)),new Fa),new Ab(e)))}function ift(t,e){if(rO(e,207))return function(t,e){return S4(bq(t.g),e)}(t,KR(e,27));if(rO(e,193))return function(t,e){return S4(bq(t.j),e)}(t,KR(e,123));if(rO(e,452))return function(t,e){return S4(bq(t.d),e)}(t,KR(e,166));throw Ay(new Tx(y$t+Tut(new Dx(t7(rk(nHt,1),pSt,1,5,[e])))))}function rft(t,e,n){var i,r;if(this.f=t,DQ(n,r=(i=KR(Oq(t.b,e),260))?i.a:0),n>=(r/2|0))for(this.e=i?i.c:null,this.d=r;n++0;)o0(this);this.b=e,this.a=null}function aft(t,e){var n,i;e.a?function(t,e){var n;if(!Mz(t.b,e.b))throw Ay(new Ex("Invalid hitboxes for scanline constraint calculation."));(U6(e.b,KR(function(t,e){return t.a.Yc(e)}(t.b,e.b),60))||U6(e.b,KR(function(t,e){return t.a.Xc(e)}(t.b,e.b),60)))&&(zT(),String.fromCharCode(10)),t.a[e.b.f]=KR(XT(t.b,e.b),60),(n=KR(WT(t.b,e.b),60))&&(t.a[n.f]=e.b)}(t,e):((n=KR(XT(t.b,e.b),60))&&n==t.a[e.b.f]&&n.a&&n.a!=e.b.a&&n.c.Fc(e.b),(i=KR(WT(t.b,e.b),60))&&t.a[i.f]==e.b&&i.a&&i.a!=e.b.a&&e.b.c.Fc(i),kO(t.b,e.b))}function oft(t,e){var n,i;if(n=KR(zH(t.b,e),127),KR(KR(IQ(t.r,e),21),87).dc())return n.n.b=0,void(n.n.c=0);n.n.b=t.C.b,n.n.c=t.C.c,t.A.Hc((ait(),Fue))&&Fyt(t,e),i=function(t,e){var n,i,r;for(r=0,i=KR(KR(IQ(t.r,e),21),87).Kc();i.Ob();)r+=(n=KR(i.Pb(),117)).d.b+n.b.Mf().a+n.d.c,i.Ob()&&(r+=t.w);return r}(t,e),eyt(t,e)==(Drt(),jle)&&(i+=2*t.w),n.a.a=i}function sft(t,e){var n,i;if(n=KR(zH(t.b,e),127),KR(KR(IQ(t.r,e),21),87).dc())return n.n.d=0,void(n.n.a=0);n.n.d=t.C.d,n.n.a=t.C.a,t.A.Hc((ait(),Fue))&&$yt(t,e),i=function(t,e){var n,i,r;for(r=0,i=KR(KR(IQ(t.r,e),21),87).Kc();i.Ob();)r+=(n=KR(i.Pb(),117)).d.d+n.b.Mf().b+n.d.a,i.Ob()&&(r+=t.w);return r}(t,e),eyt(t,e)==(Drt(),jle)&&(i+=2*t.w),n.a.b=i}function cft(t,e){var n,i,r,a;for(a=new yy,i=new pg(e);i.ai&&(IY(e-1,t.length),t.charCodeAt(e-1)<=32);)--e;return i>0||en.a&&(i.Hc((Yct(),Poe))?r=(e.a-n.a)/2:i.Hc(Roe)&&(r=e.a-n.a)),e.b>n.b&&(i.Hc((Yct(),$oe))?a=(e.b-n.b)/2:i.Hc(Foe)&&(a=e.b-n.b)),sut(t,r,a)}function Aft(t,e,n,i,r,a,o,s,c,l,u,h,f){rO(t.Cb,90)&&jft(aQ(KR(t.Cb,90)),4),B3(t,n),t.f=o,Jtt(t,s),eet(t,c),Ztt(t,l),tet(t,u),Ctt(t,h),_et(t,f),Ttt(t,!0),j2(t,r),t.Zk(a),g9(t,e),null!=i&&(t.i=null,s3(t,i))}function Mft(t,e,n){if(t<0)return Uyt(gSt,t7(rk(nHt,1),pSt,1,5,[n,ttt(t)]));if(e<0)throw Ay(new Tx(bSt+e));return Uyt("%s (%s) must not be greater than size (%s)",t7(rk(nHt,1),pSt,1,5,[n,ttt(t),ttt(e)]))}function Lft(t,e,n,i,r,a){var o,s,c;if(i-n<7)!function(t,e,n,i){var r,a,o;for(r=e+1;re&&i.Ne(t[a-1],t[a])>0;--a)o=t[a],Dq(t,a,t[a-1]),Dq(t,a-1,o)}(e,n,i,a);else if(Lft(e,t,s=n+r,c=s+((o=i+r)-s>>1),-r,a),Lft(e,t,c,o,-r,a),a.Ne(t[c-1],t[c])<=0)for(;n=i||e=0?t.bi(a,n):Zpt(t,r,n)}else Wet(t,i,r,n)}function Oft(t){var e,n;if(t.f){for(;t.n>0;){if(rO(n=(e=KR(t.k.Xb(t.n-1),76)).Lk(),102)&&KR(n,19).Bb&FFt&&(!t.e||n.pk()!=jhe||0!=n.Lj())&&null!=e.md())return!0;--t.n}return!1}return t.n>0}function Nft(t){var e,n,i,r;if(n=KR(t,54)._h())try{if(i=null,(e=Cpt(($E(),Qfe),cvt(function(t){return null==t.e?t:(!t.c&&(t.c=new Tyt(0!=(256&t.f),t.i,t.a,t.d,0!=(16&t.f),t.j,t.g,null)),t.c)}(n))))&&(r=e.ai())&&(i=r.Fl(function(t){return yH(t),t}(n.e))),i&&i!=t)return Nft(i)}catch(t){if(!rO(t=j6(t),63))throw Ay(t)}return t}function Dft(t,e,n){var i,r;n.Ug("Remove overlaps",1),n.dh(e,nBt),i=KR(spt(e,(XD(),Nee)),27),t.f=i,t.a=Sat(KR(spt(e,(pht(),Nne)),300)),jd(t,(yH(r=qD(spt(e,(zEt(),xce)))),r)),nTt(t,e,Dmt(i),n),n.dh(e,rBt)}function Pft(t){if(!t)return Xv(),PHt;var e=t.valueOf?t.valueOf():t;if(e!==t){var n=BHt[typeof e];return n?n(e):k9(typeof e)}return t instanceof Array||t instanceof i.Array?new vd(t):new _d(t)}function Bft(t,e,n){var r,a,o;switch(o=t.o,(a=(r=KR(zH(t.p,n),252)).i).b=mdt(r),a.a=bdt(r),a.b=i.Math.max(a.b,o.a),a.b>o.a&&!e&&(a.b=o.a),a.c=-(a.b-o.a)/2,n.g){case 1:a.d=-a.a;break;case 3:a.d=o.b}oxt(r),hxt(r)}function Rft(t,e,n){var r,a,o;switch(o=t.o,(a=(r=KR(zH(t.p,n),252)).i).b=mdt(r),a.a=bdt(r),a.a=i.Math.max(a.a,o.b),a.a>o.b&&!e&&(a.a=o.b),a.d=-(a.a-o.b)/2,n.g){case 4:a.c=-a.b;break;case 2:a.c=o.a}oxt(r),hxt(r)}function Fft(t,e){var n,i,r,a;if(Ymt(),e.b<2)return!1;for(i=n=KR(gW(a=Mrt(e,0)),8);a.b!=a.d.c;){if(r=KR(gW(a),8),!S5(t,i)||!S5(t,r))return!1;i=r}return!(!S5(t,i)||!S5(t,n))}function $ft(t,e){var n,i,r,a,o;return n=K2(o=t,"x"),function(t,e){D2(t,null==e||zB((yH(e),e))||isNaN((yH(e),e))?0:(yH(e),e))}(new Mm(e).a,n),i=K2(o,"y"),function(t,e){P2(t,null==e||zB((yH(e),e))||isNaN((yH(e),e))?0:(yH(e),e))}(new Lm(e).a,i),r=K2(o,e$t),function(t,e){N2(t,null==e||zB((yH(e),e))||isNaN((yH(e),e))?0:(yH(e),e))}(new Im(e).a,r),a=K2(o,t$t),function(t,e){O2(t,null==e||zB((yH(e),e))||isNaN((yH(e),e))?0:(yH(e),e))}(new Om(e).a,a),a}function jft(t,e){Pyt(t,e),1&t.b&&(t.a.a=null),2&t.b&&(t.a.f=null),4&t.b&&(t.a.g=null,t.a.i=null),16&t.b&&(t.a.d=null,t.a.e=null),8&t.b&&(t.a.b=null),32&t.b&&(t.a.j=null,t.a.c=null)}function zft(t){var e,n,i,r,a;if(null==t)return wSt;for(a=new y6(dSt,"[","]"),i=0,r=(n=t).length;i(LY(a+1,e.c.length),KR(e.c[a+1],17)).a-i&&++s,SO(r,(LY(a+s,e.c.length),KR(e.c[a+s],17))),o+=(LY(a+s,e.c.length),KR(e.c[a+s],17)).a-i,++n;n=0?t.Lh(n,!0,!0):jdt(t,r,!0),160),KR(i,220).Zl(e)}function ndt(t){var e,n;return t>-0x800000000000&&t<0x800000000000?0==t?0:((e=t<0)&&(t=-t),n=oK(i.Math.floor(i.Math.log(t)/.6931471805599453)),(!e||t!=i.Math.pow(2,n))&&++n,n):O6(h6(t))}function idt(t,e,n){n.Ug("Eades radial",1),n.dh(e,rBt),t.d=KR(spt(e,(XD(),Nee)),27),t.c=gx(qD(spt(e,(pht(),Ane)))),t.e=Sat(KR(spt(e,Nne),300)),t.a=function(t){switch(t.g){case 0:return new Is;case 1:return new Os;default:throw Ay(new Tx(uBt+(null!=t.f?t.f:""+t.g)))}}(KR(spt(e,Pne),434)),t.b=function(t){switch(t.g){case 1:return new Es;case 2:return new Ss;case 3:return new Ts;case 0:return null;default:throw Ay(new Tx(uBt+(null!=t.f?t.f:""+t.g)))}}(KR(spt(e,Tne),354)),function(t){var e,n,i,r,a;if(i=0,r=ILt,t.b)for(e=0;e<360;e++)n=.017453292519943295*e,qwt(t,t.d,0,0,eBt,n),(a=t.b.Dg(t.d))=(a=o.gc()))o.$b();else for(r=o.Kc(),i=0;i0&&(o+=n,++e);e>1&&(o+=t.c*(e-1))}else o=ok(s5(rU(nU(Lz(t.a),new _t),new Tt)));return o>0?o+t.n.d+t.n.a:0}function mdt(t){var e,n,i,r,a,o;if(o=0,0==t.b)o=ok(s5(rU(nU(Lz(t.a),new xt),new kt)));else{for(e=0,r=0,a=(i=Wat(t,!0)).length;r0&&(o+=n,++e);e>1&&(o+=t.c*(e-1))}return o>0?o+t.n.b+t.n.c:0}function ydt(t){var e,n;if(2!=t.c.length)throw Ay(new Ex("Order only allowed for two paths."));LY(0,t.c.length),e=KR(t.c[0],18),LY(1,t.c.length),n=KR(t.c[1],18),e.d.i!=n.c.i&&(t.c.length=0,Dy(t.c,n),Dy(t.c,e))}function wdt(t,e,n){var i;for(sI(n,e.g,e.f),cI(n,e.i,e.j),i=0;i<(!e.a&&(e.a=new ez(Zhe,e,10,11)),e.a).i;i++)wdt(t,KR(l2((!e.a&&(e.a=new ez(Zhe,e,10,11)),e.a),i),27),KR(l2((!n.a&&(n.a=new ez(Zhe,n,10,11)),n.a),i),27))}function vdt(t){var e,n;return(n=new Vx).a+="e_",null!=(e=function(t){return 0!=t.b.c.length&&KR(c$(t.b,0),72).a?KR(c$(t.b,0),72).a:lU(t)}(t))&&(n.a+=""+e),t.c&&t.d&&(tL((n.a+=" ",n),Qot(t.c)),tL(JM((n.a+="[",n),t.c.i),"]"),tL((n.a+=qIt,n),Qot(t.d)),tL(JM((n.a+="[",n),t.d.i),"]")),n.a}function xdt(t){switch(t.g){case 0:return new yf;case 1:return new wf;case 2:return new bf;case 3:return new pf;default:throw Ay(new Tx("No implementation is available for the layout phase "+(null!=t.f?t.f:""+t.g)))}}function kdt(t,e,n,r,a){var o;switch(o=0,a.g){case 1:o=i.Math.max(0,e.b+t.b-(n.b+r));break;case 3:o=i.Math.max(0,-t.b-r);break;case 2:o=i.Math.max(0,-t.a-r);break;case 4:o=i.Math.max(0,e.a+t.a-(n.a+r))}return o}function _dt(t){var e,n;switch(t.b){case-1:return!0;case 0:return(n=t.t)>1||-1==n||(e=qst(t))&&(UE(),e.lk()==Xjt)?(t.b=-1,!0):(t.b=1,!1);default:return!1}}function Tdt(t,e){var n,i,r,a;if(AEt(t),0!=t.c||123!=t.a)throw Ay(new Nx(XEt((LI(),tjt))));if(a=112==e,i=t.d,(n=QN(t.i,125,i))<0)throw Ay(new Nx(XEt((LI(),ejt))));return r=$G(t.i,i,n),t.d=n+1,lJ(r,a,512==(512&t.e))}function Edt(t){var e,n,i,r,a,o,s;if((i=t.a.c.length)>0)for(o=t.c.d,r=EO(oB(new IA((s=t.d.d).a,s.b),o),1/(i+1)),a=new IA(o.a,o.b),n=new pg(t.a);n.a=0&&i=0?t.Lh(n,!0,!0):jdt(t,r,!0),160),KR(i,220).Wl(e);throw Ay(new Tx(OFt+e.xe()+PFt))}function Mdt(t,e){var n,i,r;if(r=0,(i=e[0])>=t.length)return-1;for(IY(i,t.length),n=t.charCodeAt(i);n>=48&&n<=57&&(r=10*r+(n-48),!(++i>=t.length));)IY(i,t.length),n=t.charCodeAt(i);return i>e[0]?e[0]=i:r=-1,r}function Ldt(t,e,n){var i,r,a,o;a=t.c,o=t.d,r=(Y7(t7(rk(doe,1),RSt,8,0,[a.i.n,a.n,a.a])).b+Y7(t7(rk(doe,1),RSt,8,0,[o.i.n,o.n,o.a])).b)/2,i=a.j==(MTt(),sue)?new IA(e+a.i.c.c.a+n,r):new IA(e-n,r),JN(t.a,0,i)}function Idt(t){var e,n,i;for(e=null,n=vz(a4(t7(rk(oHt,1),pSt,20,0,[(!t.b&&(t.b=new bB(Uhe,t,4,7)),t.b),(!t.c&&(t.c=new bB(Uhe,t,5,8)),t.c)])));Rgt(n);)if(i=Blt(KR(bQ(n),84)),e){if(e!=i)return!1}else e=i;return!0}function Odt(t,e,n){var i;if(++t.j,e>=t.i)throw Ay(new vx(D$t+e+P$t+t.i));if(n>=t.i)throw Ay(new vx(B$t+n+P$t+t.i));return i=t.g[n],e!=n&&(e>16)>>16&16),n+=e=(t>>=e)-256>>16&8,n+=e=(t<<=e)-gAt>>16&4,(n+=e=(t<<=e)-FSt>>16&2)+2-(e=(i=(t<<=e)>>14)&~(i>>1)))}function Pdt(t){var e,n,i,r;for(JU(),KYt=new yy,GYt=new my,UYt=new yy,!t.a&&(t.a=new ez(Zhe,t,10,11)),function(t){var e,n,i,r,a,o,s,c,l,h;for(e=new my,o=new zO(t);o.e!=o.i.gc();){for(a=KR(Frt(o),27),n=new hw,LH(GYt,a,n),h=new ae,i=KR(bX(new k$(null,new oq(new Dj(lN(Kpt(a).a.Kc(),new u)))),K$(h,bJ(new V,new Y,new nt,t7(rk(_Gt,1),sCt,108,0,[(e9(),vGt)])))),85),l4(n,KR(i.xc((FN(),!0)),16),new oe),r=KR(bX(nU(KR(i.xc(!1),15).Lc(),new se),bJ(new V,new Y,new nt,t7(rk(_Gt,1),sCt,108,0,[vGt]))),15).Kc();r.Ob();)(l=wut(KR(r.Pb(),74)))&&((s=KR(FM(U$(e.f,l)),21))||(s=vmt(l),_ft(e.f,l,s)),z3(n,s));for(i=KR(bX(new k$(null,new oq(new Dj(lN(Ypt(a).a.Kc(),new u)))),K$(h,bJ(new V,new Y,new nt,t7(rk(_Gt,1),sCt,108,0,[vGt])))),85),l4(n,KR(i.xc(!0),16),new ce),c=KR(bX(nU(KR(i.xc(!1),15).Lc(),new le),bJ(new V,new Y,new nt,t7(rk(_Gt,1),sCt,108,0,[vGt]))),15).Kc();c.Ob();)(l=vut(KR(c.Pb(),74)))&&((s=KR(FM(U$(e.f,l)),21))||(s=vmt(l),_ft(e.f,l,s)),z3(n,s))}}(e=t.a),r=new zO(e);r.e!=r.i.gc();)i=KR(Frt(r),27),-1==g1(KYt,i,0)&&(n=new yy,SO(UYt,n),ort(i,n));return UYt}function Bdt(t,e){var n,i,r;for(r=new yy,i=Mrt(e.a,0);i.b!=i.d.c;)(n=KR(gW(i),65)).c.g==t.g&&$M(fut(n.b,(axt(),mee)))!==$M(fut(n.c,mee))&&!nQ(new k$(null,new OY(r,16)),new jb(n))&&Dy(r.c,n);return PI(r,new Eo),r}function Rdt(t,e,n){var i,r,a,o;return rO(e,153)&&rO(n,153)?(a=KR(e,153),o=KR(n,153),t.a[a.a][o.a]+t.a[o.a][a.a]):rO(e,250)&&rO(n,250)&&(i=KR(e,250),r=KR(n,250),i.a==r.a)?KR(fut(r.a,(Evt(),vVt)),17).a:0}function Fdt(t,e){var n,r,a,o,s,c,l,u;for(u=gx(qD(fut(e,(CEt(),p6t)))),l=t[0].n.a+t[0].o.a+t[0].d.c+u,c=1;c0?1:DL(isNaN(r),isNaN(0)))>=0^(p4(wPt),(i.Math.abs(c)<=wPt||0==c||isNaN(c)&&isNaN(0)?0:c<0?-1:c>0?1:DL(isNaN(c),isNaN(0)))>=0)?i.Math.max(c,r):(p4(wPt),(i.Math.abs(r)<=wPt||0==r||isNaN(r)&&isNaN(0)?0:r<0?-1:r>0?1:DL(isNaN(r),isNaN(0)))>0?i.Math.sqrt(c*c+r*r):-i.Math.sqrt(c*c+r*r))}(o=r.b,s=a.b))>=0?n:(c=iH(oB(new IA(s.c+s.b/2,s.d+s.a/2),new IA(o.c+o.b/2,o.d+o.a/2))),-(Svt(o,s)-1)*c)}function jdt(t,e,n){var i,r,a;if(a=s_t((Xht(),age),t.Dh(),e))return UE(),KR(a,69).xk()||(a=KY(T1(age,a))),r=KR((i=t.Ih(a))>=0?t.Lh(i,!0,!0):jdt(t,a,!0),160),KR(r,220).Sl(e,n);throw Ay(new Tx(OFt+e.xe()+PFt))}function zdt(t,e,n,i){var r,a,o,s,c;if(r=t.d[e])if(a=r.g,c=r.i,null!=i){for(s=0;s>5),15,1))[n]=1<1;e>>=1)1&e&&(i=PW(i,n)),n=1==n.d?PW(n,n):new trt(uvt(n.a,n.d,WZ($pe,$Ct,28,n.d<<1,15,1)));return PW(i,n)}(t,e)}function Hdt(t){var e,n,i;for(hE(),this.b=kWt,this.c=(jtt(),jce),this.f=(uE(),mWt),this.a=t,gk(this,new ke),Cbt(this),i=new pg(t.b);i.a=null.Um()?(zpt(t),Ydt(t)):e.Ob()}function Vdt(t){if(this.a=t,t.c.i.k==(Vut(),JWt))this.c=t.c,this.d=KR(fut(t.c.i,(jEt(),E1t)),64);else{if(t.d.i.k!=JWt)throw Ay(new Tx("Edge "+t+" is not an external edge."));this.c=t.d,this.d=KR(fut(t.d.i,(jEt(),E1t)),64)}}function Wdt(t,e){var n,i;i=t.b,t.b=e,4&t.Db&&!(1&t.Db)&&Q5(t,new nz(t,1,3,i,t.b)),e?e!=t&&(B3(t,e.zb),q2(t,e.d),U4(t,null==(n=e.c??e.zb)||_B(n,e.zb)?null:n)):(B3(t,null),q2(t,0),U4(t,null))}function Xdt(t,e){var n;this.e=(Sq(),kq(t),Sq(),jnt(t)),this.c=(kq(e),jnt(e)),GO(this.e.Rd().dc()==this.c.Rd().dc()),this.d=Fet(this.e),this.b=Fet(this.c),n=u$(nHt,[RSt,pSt],[5,1],5,[this.e.Rd().gc(),this.c.Rd().gc()],2),this.a=n,function(t){var e,n,i,r;for(i=0,r=(n=t.a).length;i0?snt(n):Ytt(snt(n)),nat(e,q5t,r)}function agt(t,e){var n,i,r,a,o;for(o=t.j,e.a!=e.b&&PI(o,new Zr),r=o.c.length/2|0,i=0;i=0;)i=n[a],o.am(i.Lk())&&sJ(r,i);!QTt(t,r)&&ZL(t.e)&&cw(t,e.Jk()?LG(t,6,e,(QU(),NUt),null,-1,!1):LG(t,e.tk()?2:1,e,null,null,-1,!1))}function lgt(t,e){var n,i,r,a,o;return t.a==(zut(),PJt)||(a=e.a.c,n=e.a.c+e.a.b,!(e.j&&(i=e.A,o=i.c.c.a-i.o.a/2,r=a-(i.n.a+i.o.a),r>o)||e.q&&(i=e.C,o=i.c.c.a-i.o.a/2,r=i.n.a-n,r>o)))}function ugt(t){var e,n,i,r,a,o;for(ZK(),n=new fX,i=new pg(t.e.b);i.a1?t.e*=gx(t.a):t.f/=gx(t.a),function(t){var e,n;for(e=t.b.a.a.ec().Kc();e.Ob();)n=new Rpt(KR(e.Pb(),567),t.e,t.f),SO(t.g,n)}(t),Wit(t),function(t){var e,n,r,a,o,s,c,l,u,h;for(n=function(t){var e,n,r,a,o,s,c,l,u,h;for(n=t.o,e=t.p,s=lSt,a=gCt,c=lSt,o=gCt,u=0;u=0?t.Ah(null):t.Ph().Th(t,-1-e,null,null),t.Bh(KR(r,54),n),i&&i.oj(),t.vh()&&t.wh()&&n>-1&&Q5(t,new nz(t,9,n,a,r)),r):a}function Cgt(t,e){var n,i,r,a;for(r=t.b.Ce(e),n=t.a.get(r)??WZ(nHt,pSt,1,0,5,1),a=0;a>5)>=t.d)return t.e<0;if(n=t.a[r],e=1<<(31&e),t.e<0){if(r<(i=x5(t)))return!1;n=i==r?-n:~n}return 0!=(n&e)}function Pgt(t,e){var n,i,r,a,o,s,c;if(a=e.e)for(n=Sgt(a),i=KR(t.g,689),o=0;o>16)),15).dd(a))>e,a=t.m>>e|n<<22-e,r=t.l>>e|t.m<<22-e):e<44?(o=i?nAt:0,a=n>>e-22,r=t.m>>e-22|n<<44-e):(o=i?nAt:0,a=i?eAt:0,r=n>>e-44),zI(r&eAt,a&eAt,o&nAt)}function Hgt(t){var e,n,r,a,o,s;for(this.c=new yy,this.d=t,r=fAt,a=fAt,e=dAt,n=dAt,s=Mrt(t,0);s.b!=s.d.c;)o=KR(gW(s),8),r=i.Math.min(r,o.a),a=i.Math.min(a,o.b),e=i.Math.max(e,o.a),n=i.Math.max(n,o.b);this.a=new pU(r,a,e-r,n-a)}function Ugt(t,e){var n,i,r,a;for(i=new pg(t.b);i.a0&&rO(e,44)&&(t.a._j(),a=null==(c=(l=KR(e,44)).ld())?0:N3(c),o=_P(t.a,a),n=t.a.d[o]))for(i=KR(n.g,379),u=n.i,s=0;s=2)for(e=qD((n=a.Kc()).Pb());n.Ob();)o=e,e=qD(n.Pb()),r=i.Math.min(r,(yH(e),e-(yH(o),o)));return r}function tpt(t,e){var n,i,r;for(r=new yy,i=Mrt(e.a,0);i.b!=i.d.c;)(n=KR(gW(i),65)).b.g==t.g&&!_B(n.b.c,OPt)&&$M(fut(n.b,(axt(),mee)))!==$M(fut(n.c,mee))&&!nQ(new k$(null,new OY(r,16)),new zb(n))&&Dy(r.c,n);return PI(r,new Mo),r}function ept(t,e){var n,i,r;if($M(e)===$M(kq(t)))return!0;if(!rO(e,15)||(i=KR(e,15),(r=t.gc())!=i.gc()))return!1;if(rO(i,59)){for(n=0;ne.a&&(i.Hc((Yct(),Poe))?t.c.a+=(n.a-e.a)/2:i.Hc(Roe)&&(t.c.a+=n.a-e.a)),n.b>e.b&&(i.Hc((Yct(),$oe))?t.c.b+=(n.b-e.b)/2:i.Hc(Foe)&&(t.c.b+=n.b-e.b)),KR(fut(t,(jEt(),A1t)),21).Hc((Hmt(),qJt))&&(n.a>e.a||n.b>e.b))for(s=new pg(t.a);s.a0&&(r=n),o=new pg(t.f.e);o.a0&&a0):a<0&&-a0)}function dpt(t,e,n,i){var r,a,o,s,c,l;for(r=(e-t.d)/t.c.c.length,a=0,t.a+=n,t.d=e,l=new pg(t.c);l.a=0&&_B(t.substr(s,2),"//")?(tJ(s+=2,c=mrt(t,s,$fe,jfe),t.length),i=t.substr(s,c-s),s=c):null!=h&&(s==t.length||(IY(s,t.length),47!=t.charCodeAt(s)))&&(o=!1,-1==(c=hN(t,Wlt(35),s))&&(c=t.length),tJ(s,c,t.length),i=t.substr(s,c-s),s=c);if(!n&&s0&&58==JH(u,u.length-1)&&(r=u,s=c)),s0&&(IY(0,n.length),47!=n.charCodeAt(0))))throw Ay(new Tx("invalid opaquePart: "+n));if(t&&(null==e||!CT(Afe,e.toLowerCase()))&&null!=n&&Jet(n,$fe,jfe))throw Ay(new Tx(Pjt+n));if(t&&null!=e&&CT(Afe,e.toLowerCase())&&!function(t){if(null!=t&&t.length>0&&33==JH(t,t.length-1))try{return null==ppt($G(t,0,t.length-1)).e}catch(t){if(!rO(t=j6(t),33))throw Ay(t)}return!1}(n))throw Ay(new Tx(Pjt+n));if(!function(t){var e;return null==t||(e=t.length)>0&&(IY(e-1,t.length),58==t.charCodeAt(e-1))&&!Jet(t,$fe,jfe)}(i))throw Ay(new Tx("invalid device: "+i));if(!function(t){var e,n;if(null==t)return!1;for(e=0,n=t.length;e=0;e-=2)for(n=0;n<=e;n+=2)(t.b[n]>t.b[n+2]||t.b[n]===t.b[n+2]&&t.b[n+1]>t.b[n+3])&&(i=t.b[n+2],t.b[n+2]=t.b[n],t.b[n]=i,i=t.b[n+3],t.b[n+3]=t.b[n+1],t.b[n+1]=i);t.c=!0}}function kpt(t,e){var n,i,r,a,o,s,c,l,u;for(l=-1,u=0,s=0,c=(o=t).length;s0&&++u;++l}return u}function _pt(t){var e;return(e=new pN(a_(t.Rm))).a+="@",tL(e,(N3(t)>>>0).toString(16)),t.Vh()?(e.a+=" (eProxyURI: ",JM(e,t._h()),t.Kh()&&(e.a+=" eClass: ",JM(e,t.Kh())),e.a+=")"):t.Kh()&&(e.a+=" (eClass: ",JM(e,t.Kh()),e.a+=")"),e.a}function Tpt(t){var e,n,i;if(t.e)throw Ay(new Ex((UD(DGt),lMt+DGt.k+uMt)));for(t.d==(jtt(),jce)&&aTt(t,Fce),n=new pg(t.a.a);n.a=0)return r;for(a=1,o=new pg(e.j);o.a=0)return r;for(a=1,o=new pg(e.j);o.a0&&e.Ne((LY(r-1,t.c.length),KR(t.c[r-1],10)),a)>0;)YX(t,r,(LY(r-1,t.c.length),KR(t.c[r-1],10))),--r;LY(r,t.c.length),t.c[r]=a}n.a=new my,n.b=new my}function Ipt(t,e,n){var i;if(2==(t.c-t.b&t.a.length-1))e==(MTt(),cue)||e==sue?(z0(KR(j7(t),15),(bst(),xle)),z0(KR(j7(t),15),kle)):(z0(KR(j7(t),15),(bst(),kle)),z0(KR(j7(t),15),xle));else for(i=new QH(t);i.a!=i.b;)z0(KR(L9(i),15),n)}function Opt(t,e){var n,i,r,a,o,s;for(o=new CV(i=HR(new Ym(t)),i.c.length),s=new CV(r=HR(new Ym(e)),r.c.length),a=null;o.b>0&&s.b>0&&(KD(o.b>0),n=KR(o.a.Xb(o.c=--o.b),27),KD(s.b>0),n==KR(s.a.Xb(s.c=--s.b),27));)a=n;return a}function Npt(t,e,n){var i,r,a,o;QY(t,e)>QY(t,n)?(i=Met(n,(MTt(),sue)),t.d=i.dc()?0:zF(KR(i.Xb(0),12)),o=Met(e,Cue),t.b=o.dc()?0:zF(KR(o.Xb(0),12))):(r=Met(n,(MTt(),Cue)),t.d=r.dc()?0:zF(KR(r.Xb(0),12)),a=Met(e,sue),t.b=a.dc()?0:zF(KR(a.Xb(0),12)))}function Dpt(t,e){var n,i,r,a;for(n=t.o.a,a=KR(KR(IQ(t.r,e),21),87).Kc();a.Ob();)(r=KR(a.Pb(),117)).e.a=n*gx(qD(r.b.of(JKt))),r.e.b=(i=r.b).pf((zEt(),Vse))?i.ag()==(MTt(),cue)?-i.Mf().b-gx(qD(i.of(Vse))):gx(qD(i.of(Vse))):i.ag()==(MTt(),cue)?-i.Mf().b:0}function Ppt(t){var e,n,i,r,a,o,s,c;e=!0,r=null,a=null;t:for(c=new pg(t.a);c.a>1,t.k=n-1>>1}(this,this.d,this.c),function(t){var e,n,i,r,a,o,s;for(n=wI(t.e),a=EO(vD(tO(yI(t.e)),t.d*t.a,t.c*t.b),-.5),e=n.a-a.a,r=n.b-a.b,s=0;s0&&o_t(this,a)}function Fpt(t,e,n,i,r,a){var o,s,c;if(!r[e.a]){for(r[e.a]=!0,!(o=i)&&(o=new KQ),SO(o.e,e),c=a[e.a].Kc();c.Ob();)(s=KR(c.Pb(),290)).d!=n&&s.c!=n&&(s.c!=e&&Fpt(t,s.c,e,o,r,a),s.d!=e&&Fpt(t,s.d,e,o,r,a),SO(o.c,s),G6(o.d,s.b));return o}return null}function $pt(t){var e,n,i;for(e=0,n=new pg(t.e);n.a=2}function jpt(t,e,n){var i,r,a;for(a=new pg(t.t);a.a0&&(i.b.n-=i.c,i.b.n<=0&&i.b.u>0&&RF(e,i.b));for(r=new pg(t.i);r.a0&&(i.a.u-=i.c,i.a.u<=0&&i.a.n>0&&RF(n,i.a))}function zpt(t){var e,n,i;if(null==t.g&&(t.d=t.bj(t.f),sJ(t,t.d),t.c))return t.f;if(i=(e=KR(t.g[t.i-1],51)).Pb(),t.e=e,(n=t.bj(i)).Ob())t.d=n,sJ(t,n);else for(t.d=null;!e.Ob()&&(Dq(t.g,--t.i,null),0!=t.i);)e=KR(t.g[t.i-1],51);return i}function qpt(t,e,n,r){var a,o,s;for(Md(a=new Bat(t),(Vut(),tXt)),E7(a,(jEt(),U1t),e),E7(a,n0t,r),E7(a,(CEt(),R5t),(plt(),Kle)),E7(a,$1t,e.c),E7(a,j1t,e.d),Mmt(e,a),s=i.Math.floor(n/2),o=new pg(a.j);o.a=2147483648&&(r-=4294967296),r)}function Qpt(t,e,n){var i,r,a,o,s,c,l;for(a=new yy,function(t,e,n,i){var r,a,o,s,c,l,u;for(s=-1,u=new pg(t);u.a0&&g.a<=0){c.c.length=0,Dy(c.c,g);break}(d=g.i-g.d)>=s&&(d>s&&(c.c.length=0,s=d),Dy(c.c,g))}0!=c.c.length&&(o=KR(c$(c,Tat(r,c.c.length)),118),w.a.Bc(o),o.g=u++,txt(o,e,n,i),c.c.length=0)}for(b=t.c.length+1,f=new pg(t);f.ai.b.g&&Dy(a.c,i);return a}function Zpt(t,e,n){var i,r,a;if(!(a=s_t((Xht(),age),t.Dh(),e)))throw Ay(new Tx(OFt+e.xe()+NFt));if(UE(),!KR(a,69).xk()&&!(a=KY(T1(age,a))))throw Ay(new Tx(OFt+e.xe()+NFt));r=KR((i=t.Ih(a))>=0?t.Lh(i,!0,!0):jdt(t,a,!0),160),KR(r,220).Xl(e,n)}function Jpt(t,e){var n,i,r,a;if(e){for(a=!(r=rO(t.Cb,90)||rO(t.Cb,102))&&rO(t.Cb,331),n=new zO((!e.a&&(e.a=new B$(e,ede,e)),e.a));n.e!=n.i.gc();)if(i=$vt(KR(Frt(n),89)),r?rO(i,90):a?rO(i,156):i)return i;return r?(KEt(),xde):(KEt(),yde)}return null}function tbt(t,e){var n,r,a;for(e.Ug("Resize child graph to fit parent.",1),r=new pg(t.b);r.ae.a&&(i.Hc((Yct(),Poe))?t.c.a+=(n.a-e.a)/2:i.Hc(Roe)&&(t.c.a+=n.a-e.a)),n.b>e.b&&(i.Hc((Yct(),$oe))?t.c.b+=(n.b-e.b)/2:i.Hc(Foe)&&(t.c.b+=n.b-e.b)),KR(fut(t,(jEt(),A1t)),21).Hc((Hmt(),qJt))&&(n.a>e.a||n.b>e.b))for(o=new pg(t.a);o.a0),a.a.Xb(a.c=--a.b),BP(a,r),KD(a.b0);n++);if(n>0&&n0);e++);return e>0&&n>16!=6&&e){if(Bst(t,e))throw Ay(new Tx(qFt+hgt(t)));i=null,t.Cb&&(i=(n=t.Db>>16)>=0?Ast(t,i):t.Cb.Th(t,-1-n,null,i)),e&&(i=tat(e,t,6,i)),(i=wP(t,e,i))&&i.oj()}else 4&t.Db&&!(1&t.Db)&&Q5(t,new nz(t,1,6,e,e))}function cbt(t,e){var n,i;if(e!=t.Cb||t.Db>>16!=3&&e){if(Bst(t,e))throw Ay(new Tx(qFt+ykt(t)));i=null,t.Cb&&(i=(n=t.Db>>16)>=0?Fst(t,i):t.Cb.Th(t,-1-n,null,i)),e&&(i=tat(e,t,12,i)),(i=vP(t,e,i))&&i.oj()}else 4&t.Db&&!(1&t.Db)&&Q5(t,new nz(t,1,3,e,e))}function lbt(t,e){var n,i;if(e!=t.Cb||t.Db>>16!=9&&e){if(Bst(t,e))throw Ay(new Tx(qFt+twt(t)));i=null,t.Cb&&(i=(n=t.Db>>16)>=0?Lst(t,i):t.Cb.Th(t,-1-n,null,i)),e&&(i=tat(e,t,9,i)),(i=xP(t,e,i))&&i.oj()}else 4&t.Db&&!(1&t.Db)&&Q5(t,new nz(t,1,9,e,e))}function ubt(t){var e,n,i,r,a;if(i=qst(t),null==(a=t.j)&&i)return t.Jk()?null:i.ik();if(rO(i,156)){if((n=i.jk())&&(r=n.wi())!=t.i){if((e=KR(i,156)).nk())try{t.g=r.ti(e,a)}catch(e){if(!rO(e=j6(e),82))throw Ay(e);t.g=null}t.i=r}return t.g}return null}function hbt(t){var e;return SO(e=new yy,new pS(new IA(t.c,t.d),new IA(t.c+t.b,t.d))),SO(e,new pS(new IA(t.c,t.d),new IA(t.c,t.d+t.a))),SO(e,new pS(new IA(t.c+t.b,t.d+t.a),new IA(t.c+t.b,t.d))),SO(e,new pS(new IA(t.c+t.b,t.d+t.a),new IA(t.c,t.d+t.a))),e}function fbt(t){var e,n;if(null==t)return wSt;try{return Get(t)}catch(i){if(rO(i=j6(i),103))return e=i,n=a_(i9(t))+"@"+(zT(),(Rit(t)>>>0).toString(16)),crt(N6(),(GT(),"Exception during lenientFormat for "+n),e),"<"+n+" threw "+a_(e.Rm)+">";throw Ay(i)}}function dbt(t,e,n){var i,r;for(r=e.a.ec().Kc();r.Ob();)i=KR(r.Pb(),74),!KR(Oq(t.b,i),272)&&(DK(yut(i))==DK(xut(i))?tmt(t,i,n):yut(i)==DK(xut(i))?null==Oq(t.c,i)&&null!=Oq(t.b,xut(i))&&H_t(t,i,n,!1):null==Oq(t.d,i)&&null!=Oq(t.b,yut(i))&&H_t(t,i,n,!0))}function gbt(t,e){var n,i,r,a,o,s,c;for(r=t.Kc();r.Ob();)for(i=KR(r.Pb(),10),iY(s=new sht,i),Vft(s,(MTt(),sue)),E7(s,(jEt(),Q1t),(FN(),!0)),o=e.Kc();o.Ob();)a=KR(o.Pb(),10),iY(c=new sht,a),Vft(c,Cue),E7(c,Q1t,!0),E7(n=new EG,Q1t,!0),eY(n,s),rY(n,c)}function pbt(t,e,n,i){var r,a,o,s;r=hit(t,e,n),a=hit(t,n,e),o=KR(Oq(t.c,e),118),s=KR(Oq(t.c,n),118),r>16!=11&&e){if(Bst(t,e))throw Ay(new Tx(qFt+Jyt(t)));i=null,t.Cb&&(i=(n=t.Db>>16)>=0?$st(t,i):t.Cb.Th(t,-1-n,null,i)),e&&(i=tat(e,t,10,i)),(i=sB(t,e,i))&&i.oj()}else 4&t.Db&&!(1&t.Db)&&Q5(t,new nz(t,1,11,e,e))}function wbt(t,e,n){return Ymt(),(!S5(t,e)||!S5(t,n))&&(iTt(new IA(t.c,t.d),new IA(t.c+t.b,t.d),e,n)||iTt(new IA(t.c+t.b,t.d),new IA(t.c+t.b,t.d+t.a),e,n)||iTt(new IA(t.c+t.b,t.d+t.a),new IA(t.c,t.d+t.a),e,n)||iTt(new IA(t.c,t.d+t.a),new IA(t.c,t.d),e,n))}function vbt(t,e){var n,i,r,a;if(!t.dc())for(n=0,i=t.gc();n>16!=7&&e){if(Bst(t,e))throw Ay(new Tx(qFt+Oht(t)));i=null,t.Cb&&(i=(n=t.Db>>16)>=0?Mst(t,i):t.Cb.Th(t,-1-n,null,i)),e&&(i=KR(e,54).Rh(t,1,qhe,i)),(i=gj(t,e,i))&&i.oj()}else 4&t.Db&&!(1&t.Db)&&Q5(t,new nz(t,1,7,e,e))}function Obt(t,e){var n,i;if(e!=t.Cb||t.Db>>16!=3&&e){if(Bst(t,e))throw Ay(new Tx(qFt+ktt(t)));i=null,t.Cb&&(i=(n=t.Db>>16)>=0?Nst(t,i):t.Cb.Th(t,-1-n,null,i)),e&&(i=KR(e,54).Rh(t,0,Yhe,i)),(i=pj(t,e,i))&&i.oj()}else 4&t.Db&&!(1&t.Db)&&Q5(t,new nz(t,1,3,e,e))}function Nbt(t,e){var n,i,r,a,o,s,c,l,u;return Vmt(),e.d>t.d&&(s=t,t=e,e=s),e.d<63?function(t,e){var n,i,r,a,o,s,c,l,u;return a=(n=t.d)+(i=e.d),o=t.e!=e.e?-1:1,2==a?(u=bj(c=Cet(BY(t.a[0],kAt),BY(e.a[0],kAt))),0==(l=bj(Lj(c,32)))?new iX(o,u):new Pz(o,2,t7(rk($pe,1),$Ct,28,15,[u,l]))):(G9(t.a,n,e.a,i,r=WZ($pe,$Ct,28,a,15,1)),OV(s=new Pz(o,a,r)),s)}(t,e):(l=mQ(t,o=(-2&t.d)<<4),u=mQ(e,o),i=fkt(t,yQ(l,o)),r=fkt(e,yQ(u,o)),c=Nbt(l,u),n=Nbt(i,r),a=yQ(a=r_t(r_t(a=Nbt(fkt(l,i),fkt(r,u)),c),n),o),r_t(r_t(c=yQ(c,o<<1),a),n))}function Dbt(){Dbt=E,G6t=new xC(lPt,0),q6t=new xC("LONGEST_PATH",1),H6t=new xC("LONGEST_PATH_SOURCE",2),$6t=new xC("COFFMAN_GRAHAM",3),z6t=new xC(EOt,4),K6t=new xC("STRETCH_WIDTH",5),U6t=new xC("MIN_WIDTH",6),F6t=new xC("BF_MODEL_ORDER",7),j6t=new xC("DF_MODEL_ORDER",8)}function Pbt(t,e,n){var i,r,a,o,s;for(o=ltt(t,n),s=WZ(QWt,KIt,10,e.length,0,1),i=0,a=o.Kc();a.Ob();)dx(zD(fut(r=KR(a.Pb(),12),(jEt(),I1t))))&&(s[i++]=KR(fut(r,Z1t),10));if(i=0;r+=n?1:-1)a|=e.c.lg(s,r,n,i&&!dx(zD(fut(e.j,(jEt(),C1t))))&&!dx(zD(fut(e.j,(jEt(),r0t))))),a|=e.q.ug(s,r,n),a|=Byt(t,s[r],n,i);return Az(t.c,e),a}function $bt(t,e,n){var i,r,a,o,s,c,l,u;for(l=0,u=(c=ZV(t.j)).length;l1&&(t.a=!0),ej(KR(n.b,68),aB(tO(KR(e.b,68).c),EO(oB(tO(KR(n.b,68).a),KR(e.b,68).a),r))),sY(t,e),qbt(t,n)}function Hbt(t){var e,n,i,r,a,o;for(r=new pg(t.a.a);r.a0&&a>0?e++:i>0?n++:a>0?r++:n++}QU(),PI(t.j,new di)}function Gbt(t,e){var n,i,r,a,o,s,c,l,u;for(s=e.j,o=e.g,c=KR(c$(s,s.c.length-1),113),LY(0,s.c.length),l=$ot(t,o,c,u=KR(s.c[0],113)),a=1;al&&(c=n,u=r,l=i);e.a=u,e.c=c}function Kbt(t){if(!t.a.d||!t.a.e)throw Ay(new Ex((UD(cKt),cKt.k+" must have a source and target "+(UD(lKt),lKt.k+" specified."))));if(t.a.d==t.a.e)throw Ay(new Ex("Network simplex does not support self-loops: "+t.a+" "+t.a.d+" "+t.a.e));return MN(t.a.d.g,t.a),MN(t.a.e.b,t.a),t.a}function Ybt(t,e,n){var i,r,a,o,s,c;if(i=0,0!=e.b&&0!=n.b){a=Mrt(e,0),o=Mrt(n,0),s=gx(qD(gW(a))),c=gx(qD(gW(o))),r=!0;do{if(s>c-t.b&&sc-t.a&&s0&&(a+=(o=KR(c$(this.b,0),176)).o,r+=o.p),a*=2,r*=2,e>1?a=oK(i.Math.ceil(a*e)):r=oK(i.Math.ceil(r/e)),this.a=new Cnt(a,r)}function dmt(t,e,n,r,a,o){var s,c,l,u,h,f,d,g,p,b;for(u=r,e.j&&e.o?(p=(d=KR(Oq(t.f,e.A),60)).d.c+d.d.b,--u):p=e.a.c+e.a.b,h=a,n.q&&n.o?(l=(d=KR(Oq(t.f,n.C),60)).d.c,++h):l=n.a.c,g=p+(c=(l-p)/i.Math.max(2,h-u)),f=u;f=0;o+=r?1:-1){for(s=e[o],c=i==(MTt(),sue)?r?Met(s,i):ant(Met(s,i)):r?ant(Met(s,i)):Met(s,i),a&&(t.c[s.p]=c.gc()),h=c.Kc();h.Ob();)u=KR(h.Pb(),12),t.d[u.p]=l++;G6(n,c)}}function bmt(t,e,n){var i,r,a,o,s,c,l,u;for(a=gx(qD(t.b.Kc().Pb())),l=gx(qD(function(t){var e;if(t){if((e=t).dc())throw Ay(new ew);return e.Xb(e.gc()-1)}return fY(t.Kc())}(e.b))),i=EO(tO(t.a),l-n),r=EO(tO(e.a),n-a),EO(u=aB(i,r),1/(l-a)),this.a=u,this.b=new yy,s=!0,(o=t.b.Kc()).Pb();o.Ob();)c=gx(qD(o.Pb())),s&&c-n>TPt&&(this.b.Fc(n),s=!1),this.b.Fc(c);s&&this.b.Fc(n)}function mmt(t){var e,n,r,a;if(function(t,e){var n,r,a,o,s,c,l;for(a=WZ($pe,$Ct,28,t.e.a.c.length,15,1),s=new pg(t.e.a);s.a0){for(Bx(t.c);Fgt(t,KR(jY(new pg(t.e.a)),125))>5,e&=31,i>=t.d)return t.e<0?(lwt(),kUt):(lwt(),CUt);if(a=t.d-i,function(t,e,n,i,r){var a,o,s;for(a=!0,o=0;o>>r|n[o+i+1]<>>r,++o}}(r=WZ($pe,$Ct,28,a+1,15,1),a,t.a,i,e),t.e<0){for(n=0;n0&&t.a[n]<<32-e){for(n=0;n=0)&&(!(n=s_t((Xht(),age),r,e))||((i=n.Ik())>1||-1==i)&&3!=vH(T1(age,n))))}function kmt(t,e,n,i){var r,a,o,s,c;return s=Blt(KR(l2((!e.b&&(e.b=new bB(Uhe,e,4,7)),e.b),0),84)),c=Blt(KR(l2((!e.c&&(e.c=new bB(Uhe,e,5,8)),e.c),0),84)),DK(s)==DK(c)||Y0(c,s)?null:(o=fK(e))==n?i:(a=KR(Oq(t.a,o),10))&&(r=a.e)?r:null}function _mt(t,e,n){var i,r,a,o,s;if((a=t[function(t,e){return t?e-1:0}(n,t.length)])[r=bk(n,a.length)].k==(Vut(),JWt))for(s=e.j,i=0;i>24}(t));break;case 2:t.g=f6(function(t){if(2!=t.p)throw Ay(new Xy);return bj(t.f)&ECt}(t));break;case 3:t.g=function(t){if(3!=t.p)throw Ay(new Xy);return t.e}(t);break;case 4:t.g=new ig(function(t){if(4!=t.p)throw Ay(new Xy);return t.e}(t));break;case 6:t.g=Kit(function(t){if(6!=t.p)throw Ay(new Xy);return t.f}(t));break;case 5:t.g=ttt(function(t){if(5!=t.p)throw Ay(new Xy);return bj(t.f)}(t));break;case 7:t.g=ett(function(t){if(7!=t.p)throw Ay(new Xy);return bj(t.f)<<16>>16}(t))}return t.g}function Smt(t){if(null==t.n)switch(t.p){case 0:t.n=function(t){if(0!=t.p)throw Ay(new Xy);return GM(t.k,0)}(t)?(FN(),UHt):(FN(),HHt);break;case 1:t.n=O1(function(t){if(1!=t.p)throw Ay(new Xy);return bj(t.k)<<24>>24}(t));break;case 2:t.n=f6(function(t){if(2!=t.p)throw Ay(new Xy);return bj(t.k)&ECt}(t));break;case 3:t.n=function(t){if(3!=t.p)throw Ay(new Xy);return t.j}(t);break;case 4:t.n=new ig(function(t){if(4!=t.p)throw Ay(new Xy);return t.j}(t));break;case 6:t.n=Kit(function(t){if(6!=t.p)throw Ay(new Xy);return t.k}(t));break;case 5:t.n=ttt(function(t){if(5!=t.p)throw Ay(new Xy);return bj(t.k)}(t));break;case 7:t.n=ett(function(t){if(7!=t.p)throw Ay(new Xy);return bj(t.k)<<16>>16}(t))}return t.n}function Cmt(t,e,n,i){var r,a,o,s,c;if(UE(),s=KR(e,69).xk(),xmt(t.e,e)){if(e.Si()&&fxt(t,e,i,rO(e,102)&&0!=(KR(e,19).Bb&mAt)))throw Ay(new Tx(N$t))}else for(c=Jbt(t.e.Dh(),e),r=KR(t.g,124),o=0;o0&&(n[0]+=t.d,s-=n[0]),n[2]>0&&(n[2]+=t.d,s-=n[2]),o=i.Math.max(0,s),n[1]=i.Math.max(n[1],s),MQ(t,fKt,a.c+r.b+n[0]-(n[1]-s)/2,n),e==fKt&&(t.c.b=o,t.c.c=a.c+r.b+(o-s)/2)}function Omt(){this.c=WZ(Hpe,wAt,28,(MTt(),t7(rk(Due,1),RIt,64,0,[Sue,cue,sue,Eue,Cue])).length,15,1),this.b=WZ(Hpe,wAt,28,t7(rk(Due,1),RIt,64,0,[Sue,cue,sue,Eue,Cue]).length,15,1),this.a=WZ(Hpe,wAt,28,t7(rk(Due,1),RIt,64,0,[Sue,cue,sue,Eue,Cue]).length,15,1),tS(this.c,fAt),tS(this.b,dAt),tS(this.a,dAt)}function Nmt(t,e,n){var i,r,a,o;if(e<=n?(r=e,a=n):(r=n,a=e),i=0,null==t.b)t.b=WZ($pe,$Ct,28,2,15,1),t.b[0]=r,t.b[1]=a,t.c=!0;else{if(i=t.b.length,t.b[i-1]+1==r)return void(t.b[i-1]=a);o=WZ($pe,$Ct,28,i+2,15,1),ext(t.b,0,o,0,i),t.b=o,t.b[i-1]>=r&&(t.c=!1,t.a=!1),t.b[i++]=r,t.b[i]=a,t.c||xpt(t)}}function Dmt(t){var e,n,i,r,a;for(r=new yy,e=new y$((!t.a&&(t.a=new ez(Zhe,t,10,11)),t.a)),i=new Dj(lN(Ypt(t).a.Kc(),new u));Rgt(i);)rO(l2((!(n=KR(bQ(i),74)).b&&(n.b=new bB(Uhe,n,4,7)),n.b),0),193)||(a=Blt(KR(l2((!n.c&&(n.c=new bB(Uhe,n,5,8)),n.c),0),84)),e.a._b(a)||Dy(r.c,a));return r}function Pmt(t,e){var n,r,a,o,s,c,l;for(n=dAt,Vut(),c=nXt,a=new pg(e.a);a.a1;)qmt(r,r.i-1);return i}function $mt(t,e){var n,i,r,a,o,s;for(n=new $O,r=new pg(t.b);r.at.d[o.p]&&(n+=KX(t.b,a),bW(t.a,ttt(a)));for(;!Rx(t.a);)t0(t.b,KR(Ez(t.a),17).a)}return n}function zmt(t,e,n){var i,r,a,o;for(a=(!e.a&&(e.a=new ez(Zhe,e,10,11)),e.a).i,r=new zO((!e.a&&(e.a=new ez(Zhe,e,10,11)),e.a));r.e!=r.i.gc();)0==(!(i=KR(Frt(r),27)).a&&(i.a=new ez(Zhe,i,10,11)),i.a).i||(a+=zmt(t,i,!1));if(n)for(o=DK(e);o;)a+=(!o.a&&(o.a=new ez(Zhe,o,10,11)),o.a).i,o=DK(o);return a}function qmt(t,e){var n,i,r,a;return t.Pj()?(i=null,r=t.Qj(),t.Tj()&&(i=t.Vj(t.$i(e),null)),n=t.Ij(4,a=sst(t,e),null,e,r),t.Mj()&&null!=a&&(i=t.Oj(a,i)),i?(i.nj(n),i.oj()):t.Jj(n),a):(a=sst(t,e),t.Mj()&&null!=a&&(i=t.Oj(a,null))&&i.oj(),a)}function Hmt(){Hmt=E,jJt=new bC("COMMENTS",0),qJt=new bC("EXTERNAL_PORTS",1),HJt=new bC("HYPEREDGES",2),UJt=new bC("HYPERNODES",3),GJt=new bC("NON_FREE_PORTS",4),KJt=new bC("NORTH_SOUTH_PORTS",5),VJt=new bC(MOt,6),$Jt=new bC("CENTER_LABELS",7),zJt=new bC("END_LABELS",8),YJt=new bC("PARTITIONS",9)}function Umt(t,e){var n,r,a;DK(t)&&(a=KR(fut(e,(CEt(),x5t)),181),$M(spt(t,R5t))===$M((plt(),Xle))&&nat(t,R5t,Wle),BE(),r=gTt(new ix(DK(t)),new qN(DK(t)?new ix(DK(t)):null,t),!1,!0),b3(a,(ait(),Pue)),(n=KR(fut(e,_5t),8)).a=i.Math.max(r.a,n.a),n.b=i.Math.max(r.b,n.b))}function Gmt(){Gmt=E,mZt=new vU(QMt,0,(MTt(),cue),cue),vZt=new vU(JMt,1,Eue,Eue),bZt=new vU(ZMt,2,sue,sue),_Zt=new vU(tLt,3,Cue,Cue),wZt=new vU("NORTH_WEST_CORNER",4,Cue,cue),yZt=new vU("NORTH_EAST_CORNER",5,cue,sue),kZt=new vU("SOUTH_WEST_CORNER",6,Eue,Cue),xZt=new vU("SOUTH_EAST_CORNER",7,sue,Eue)}function Kmt(t){var e,n,i,r,a;for(r=new hw,e=new y$((!t.a&&(t.a=new ez(Zhe,t,10,11)),t.a)),i=new Dj(lN(Ypt(t).a.Kc(),new u));Rgt(i);)rO(l2((!(n=KR(bQ(i),74)).b&&(n.b=new bB(Uhe,n,4,7)),n.b),0),193)||(a=Blt(KR(l2((!n.c&&(n.c=new bB(Uhe,n,5,8)),n.c),0),84)),e.a._b(a)||r.a.zc(a,r));return r}function Ymt(){Ymt=E,hoe=t7(rk(zpe,1),pAt,28,14,[1,1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600,6227020800,87178291200,1307674368e3,{l:3506176,m:794077,h:1},{l:884736,m:916411,h:20},{l:3342336,m:3912489,h:363},{l:589824,m:3034138,h:6914},{l:3407872,m:1962506,h:138294}]),i.Math.pow(2,-65)}function Vmt(){var t,e;for(Vmt=E,LUt=WZ(OUt,RSt,92,32,0,1),IUt=WZ(OUt,RSt,92,32,0,1),t=1,e=0;e<=18;e++)LUt[e]=(lwt(),F9(t,0)>=0?Xnt(t):Yz(Xnt(d1(t)))),IUt[e]=UM(Aj(t,e),0)?Xnt(Aj(t,e)):Yz(Xnt(d1(Aj(t,e)))),t=Cet(t,5);for(;e=u&&(l=r);l&&(h=i.Math.max(h,l.a.o.a)),h>d&&(f=u,d=h)}return f}function tyt(t,e,n){var i,r,a,o,s;if(!fW(e)){for((s=n.eh((rO(e,16)?KR(e,16).gc():GW(e.Kc()))/t.a|0)).Ug(FPt,1),o=new Vo,a=null,r=e.Kc();r.Ob();)i=KR(r.Pb(),40),o=a4(t7(rk(oHt,1),pSt,20,0,[o,new qb(i)])),a&&(E7(a,(ETt(),Cte),i),E7(i,mte,a),ZQ(i)==ZQ(a)&&(E7(a,Ate,i),E7(i,yte,a))),a=i;s.Vg(),tyt(t,o,n)}}function eyt(t,e){var n;switch(n=null,e.g){case 1:t.e.pf((zEt(),Use))&&(n=KR(t.e.of(Use),256));break;case 3:t.e.pf((zEt(),Gse))&&(n=KR(t.e.of(Gse),256));break;case 2:t.e.pf((zEt(),Hse))&&(n=KR(t.e.of(Hse),256));break;case 4:t.e.pf((zEt(),Kse))&&(n=KR(t.e.of(Kse),256))}return!n&&(n=KR(t.e.of((zEt(),zse)),256)),n}function nyt(t,e,n){var r,a,o,s,c,l;for(a=n,o=0,c=new pg(e);c.aMBt?PI(l,t.b):r<=MBt&&r>LBt?PI(l,t.d):r<=LBt&&r>IBt?PI(l,t.c):r<=IBt&&PI(l,t.a),o=nyt(t,l,o);return a}function iyt(t,e,n,i){var r,a,o,s,c;for(r=(i.c+i.a)/2,FU(e.j),RF(e.j,r),FU(n.e),RF(n.e,r),c=new Uk,o=new pg(t.f);o.a1&&(i=new IA(r,n.b),RF(e.a,i)),k4(e.a,t7(rk(doe,1),RSt,8,0,[h,u]))}function lyt(t,e,n){var i,r;for(e=48;n--)npe[n]=n-48<<24>>24;for(i=70;i>=65;i--)npe[i]=i-65+10<<24>>24;for(r=102;r>=97;r--)npe[r]=r-97+10<<24>>24;for(a=0;a<10;a++)ipe[a]=48+a&ECt;for(t=10;t<=15;t++)ipe[t]=65+t-10&ECt}function fyt(t){var e,n,i,r,a;if(!t.c){if(a=new yl,null==(e=Nde).a.zc(t,e)){for(i=new zO(JW(t));i.e!=i.i.gc();)rO(r=$vt(n=KR(Frt(i),89)),90)&&nq(a,fyt(KR(r,29))),sJ(a,n);e.a.Bc(t),e.a.gc()}(function(t){var e,n,i,r;for(n=KR(t.g,689),i=t.i-1;i>=0;--i)for(e=n[i],r=0;r>19)return"-"+gyt(x7(t));for(n=t,i="";0!=n.l||0!=n.m||0!=n.h;){if(n=i_t(n,_Q(oAt),!0),e=""+e_(RHt),0!=n.l||0!=n.m||0!=n.h)for(r=9-e.length;r>0;r--)e="0"+e;i=e+i}return i}function pyt(t,e,n,r){var a,o,s,c;if(GW((dR(),new Dj(lN(Net(e).a.Kc(),new u))))>=t.a||!wlt(e,n))return-1;if(fW(KR(r.Kb(e),20)))return 1;for(a=0,s=KR(r.Kb(e),20).Kc();s.Ob();)if(-1==(c=pyt(t,(o=KR(s.Pb(),18)).c.i==e?o.d.i:o.c.i,n,r))||(a=i.Math.max(a,c))>t.c-1)return-1;return a+1}function byt(t,e){var n,i,r,a,o,s;if($M(e)===$M(t))return!0;if(!rO(e,15)||(i=KR(e,15),s=t.gc(),i.gc()!=s))return!1;if(o=i.Kc(),t.Yi()){for(n=0;n0)if(t._j(),null!=e){for(a=0;a0&&(t.a=s+(f-1)*r,e.c.b+=t.a,e.f.b+=t.a),0!=d.a.gc()&&(f=P_t(new sq(1,r),e,d,g,e.f.b+s-e.c.b))>0&&(e.f.b+=s+(f-1)*r)}(t,e,r),function(t){var e,n,i,r,a,o,s,c,l,u,h,f,d,g,p,b,m,y,w,v,x,k,_,T;for(w=new yy,h=new pg(t.b);h.a>24;case 97:case 98:case 99:case 100:case 101:case 102:return t-97+10<<24>>24;case 65:case 66:case 67:case 68:case 69:case 70:return t-65+10<<24>>24;default:throw Ay(new Zx("Invalid hexadecimal"))}}function vyt(){vyt=E,aKt=new vS("SPIRAL",0),tKt=new vS("LINE_BY_LINE",1),eKt=new vS("MANHATTAN",2),JGt=new vS("JITTER",3),iKt=new vS("QUADRANTS_LINE_BY_LINE",4),rKt=new vS("QUADRANTS_MANHATTAN",5),nKt=new vS("QUADRANTS_JITTER",6),ZGt=new vS("COMBINE_LINE_BY_LINE_MANHATTAN",7),QGt=new vS("COMBINE_JITTER_MANHATTAN",8)}function xyt(t,e,n,i){var r,a,o,s,c,l;for(c=vct(t,n),l=vct(e,n),r=!1;c&&l&&(i||Jot(c,l,n));)o=vct(c,n),s=vct(l,n),v1(e),v1(t),a=c.c,h_t(c,!1),h_t(l,!1),n?(yst(e,l.p,a),e.p=l.p,yst(t,c.p+1,a),t.p=c.p):(yst(t,c.p,a),t.p=c.p,yst(e,l.p+1,a),e.p=l.p),nY(c,null),nY(l,null),c=o,l=s,r=!0;return r}function kyt(t){switch(t.g){case 0:return new nf;case 1:return new tf;case 3:return new TE;case 4:return new Sa;case 5:return new XP;case 6:return new ef;case 2:return new Jh;case 7:return new Yh;case 8:return new Wh;default:throw Ay(new Tx("No implementation is available for the layerer "+(null!=t.f?t.f:""+t.g)))}}function _yt(t,e,n,i){var r,a,o,s,c;for(r=!1,a=!1,s=new pg(i.j);s.a=e.length)throw Ay(new vx("Greedy SwitchDecider: Free layer not in graph."));this.c=e[t],this.e=new OB(i),T3(this.e,this.c,(MTt(),Cue)),this.i=new OB(i),T3(this.i,this.c,sue),this.f=new v$(this.c),this.a=!a&&r.i&&!r.s&&this.c[0].k==(Vut(),JWt),this.a&&function(t,e,n){var i,r,a,o,s,c,l;s=(a=t.d.p).e,c=a.r,t.g=new OB(c),i=(o=t.d.o.c.p)>0?s[o-1]:WZ(QWt,KIt,10,0,0,1),r=s[o],l=or.d.d+r.d.a?h.f.d=!0:(h.f.d=!0,h.f.a=!0))),i.b!=i.d.c&&(e=n);h&&(a=KR(Oq(t.f,o.d.i),60),e.ba.d.d+a.d.a?h.f.d=!0:(h.f.d=!0,h.f.a=!0))}for(s=new Dj(lN(Det(d).a.Kc(),new u));Rgt(s);)0!=(o=KR(bQ(s),18)).a.b&&(e=KR(oD(o.a),8),o.d.j==(MTt(),cue)&&((b=new Hxt(e,new IA(e.a,r.d.d),r,o)).f.a=!0,b.a=o.d,Dy(p.c,b)),o.d.j==Eue&&((b=new Hxt(e,new IA(e.a,r.d.d+r.d.a),r,o)).f.d=!0,b.a=o.d,Dy(p.c,b)))}return p}(t);break;case 3:r=new yy,VT(nU(iU(Z1(Z1(new k$(null,new OY(t.d.b,16)),new Lr),new Ir),new Or),new mr),new Jp(r)),n=r;break;default:throw Ay(new Ex("Compaction not supported for "+e+" edges."))}(function(t,e){var n,r,a,o,s,c,l;if(0!=e.c.length){for(QU(),Y$(e.c,e.c.length,null),r=KR(jY(a=new pg(e)),154);a.a0&&e0?a.a?n>(s=a.b.Mf().a)&&(r=(n-s)/2,a.d.b=r,a.d.c=r):a.d.c=t.s+n:Xj(t.u)&&((i=Hlt(a.b)).c<0&&(a.d.b=-i.c),i.c+i.b>a.b.Mf().a&&(a.d.c=i.c+i.b-a.b.Mf().a))}(t,e),a=null,l=null,c){for(l=a=KR((o=s.Kc()).Pb(),117);o.Ob();)l=KR(o.Pb(),117);a.d.b=0,l.d.c=0,h&&!a.a&&(a.d.c=0)}f&&(function(t){var e,n,r,a,o;for(e=0,n=0,o=t.Kc();o.Ob();)r=KR(o.Pb(),117),e=i.Math.max(e,r.d.b),n=i.Math.max(n,r.d.c);for(a=t.Kc();a.Ob();)(r=KR(a.Pb(),117)).d.b=e,r.d.c=n}(s),c&&(a.d.b=0,l.d.c=0))}function $yt(t,e){var n,r,a,o,s,c,l,u,h,f;if(s=KR(KR(IQ(t.r,e),21),87),c=t.u.Hc((cdt(),iue)),n=t.u.Hc(tue),r=t.u.Hc(Jle),l=t.u.Hc(rue),f=t.B.Hc((Vwt(),Wue)),u=!n&&!r&&(l||2==s.gc()),function(t,e){var n,r,a,o,s,c,l;for(c=KR(KR(IQ(t.r,e),21),87).Kc();c.Ob();)(r=(s=KR(c.Pb(),117)).c?DF(s.c):0)>0?s.a?r>(l=s.b.Mf().b)&&(t.v||1==s.c.d.c.length?(o=(r-l)/2,s.d.d=o,s.d.a=o):(n=(KR(c$(s.c.d,0),187).Mf().b-l)/2,s.d.d=i.Math.max(0,n),s.d.a=r-n-l)):s.d.a=t.t+r:Xj(t.u)&&((a=Hlt(s.b)).d<0&&(s.d.d=-a.d),a.d+a.a>s.b.Mf().b&&(s.d.a=a.d+a.a-s.b.Mf().b))}(t,e),h=null,a=null,c){for(a=h=KR((o=s.Kc()).Pb(),117);o.Ob();)a=KR(o.Pb(),117);h.d.d=0,a.d.a=0,u&&!h.a&&(h.d.a=0)}f&&(function(t){var e,n,r,a,o;for(n=0,e=0,o=t.Kc();o.Ob();)r=KR(o.Pb(),117),n=i.Math.max(n,r.d.d),e=i.Math.max(e,r.d.a);for(a=t.Kc();a.Ob();)(r=KR(a.Pb(),117)).d.d=n,r.d.a=e}(s),c&&(h.d.d=0,a.d.a=0))}function jyt(t,e,n){var i,r,a,o,s;if(i=e.k,e.p>=0)return!1;if(e.p=n.b,SO(n.e,e),i==(Vut(),eXt)||i==iXt)for(r=new pg(e.j);r.at.d[s.p]&&(n+=KX(t.b,a),bW(t.a,ttt(a))):++o;for(n+=t.b.d*o;!Rx(t.a);)t0(t.b,KR(Ez(t.a),17).a)}return n}function Kyt(t){var e,n,i,r,a,o;return a=0,(e=qst(t)).kk()&&(a|=4),t.Bb&Qjt&&(a|=2),rO(t,102)?(r=Oat(n=KR(t,19)),n.Bb&FFt&&(a|=32),r&&(Lq(PK(r)),a|=8,((o=r.t)>1||-1==o)&&(a|=16),r.Bb&FFt&&(a|=64)),n.Bb&mAt&&(a|=Zjt),a|=rCt):rO(e,469)?a|=512:(i=e.kk())&&1&i.i&&(a|=256),512&t.Bb&&(a|=128),a}function Yyt(t){var e,n,i,r,a,o,s,c,l,u,h,f;for(h=-1,f=0,l=0,u=(c=t).length;l0&&++f;++h}return f}function Vyt(t){var e,n,i,r,a,o,s;for(s=new my,i=new pg(t.a.b);i.a=t.o)throw Ay(new Fw);o=e>>5,a=Aj(1,bj(Aj(31&e,1))),t.n[n][o]=r?RY(t.n[n][o],a):BY(t.n[n][o],oF(a)),a=Aj(a,1),t.n[n][o]=i?RY(t.n[n][o],a):BY(t.n[n][o],oF(a))}catch(i){throw rO(i=j6(i),333)?Ay(new vx(iLt+t.o+"*"+t.p+rLt+e+dSt+n+aLt)):Ay(i)}}function Zyt(t,e,n,r){var a,o;e&&(a=gx(qD(fut(e,(ETt(),Ete))))+r,o=n+gx(qD(fut(e,wte)))/2,E7(e,Lte,ttt(bj(h6(i.Math.round(a))))),E7(e,Ite,ttt(bj(h6(i.Math.round(o))))),0==e.d.b||Zyt(t,KR(oO(new Hb(Mrt(new qb(e).a.d,0))),40),n+gx(qD(fut(e,wte)))+t.b,r+gx(qD(fut(e,kte)))),null!=fut(e,Ate)&&Zyt(t,KR(fut(e,Ate),40),n,r))}function Jyt(t){var e,n,i;return 64&t.Db?eht(t):(e=new pN(AFt),(n=t.k)?tL(tL((e.a+=' "',e),n),'"'):(!t.n&&(t.n=new ez(Qhe,t,1,7)),t.n.i>0&&(!(i=(!t.n&&(t.n=new ez(Qhe,t,1,7)),KR(l2(t.n,0),135)).a)||tL(tL((e.a+=' "',e),i),'"'))),tL(l_(tL(l_(tL(l_(tL(l_((e.a+=" (",e),t.i),","),t.j)," | "),t.g),","),t.f),")"),e.a)}function twt(t){var e,n,i;return 64&t.Db?eht(t):(e=new pN(MFt),(n=t.k)?tL(tL((e.a+=' "',e),n),'"'):(!t.n&&(t.n=new ez(Qhe,t,1,7)),t.n.i>0&&(!(i=(!t.n&&(t.n=new ez(Qhe,t,1,7)),KR(l2(t.n,0),135)).a)||tL(tL((e.a+=' "',e),i),'"'))),tL(l_(tL(l_(tL(l_(tL(l_((e.a+=" (",e),t.i),","),t.j)," | "),t.g),","),t.f),")"),e.a)}function ewt(t,e){var n,i,r,a,o,s;if(null==e||0==e.length)return null;if(!(r=KR(ZG(t.a,e),143))){for(i=new og(new ag(t.b).a.vc().Kc());i.a.Ob();)if(a=KR(i.a.Pb(),44),o=(n=KR(a.md(),143)).c,s=e.length,_B(o.substr(o.length-s,s),e)&&(e.length==o.length||46==JH(o,o.length-e.length-1))){if(r)return null;r=n}r&&tY(t.a,e,r)}return r}function nwt(t){var e,n,i;cD(t,(CEt(),d5t))&&!(i=KR(fut(t,d5t),21)).dc()&&(n=new UB(e=KR(t_(Rle),9),KR(jP(e,e.length),9),0),i.Hc((cpt(),Ile))?b3(n,Ile):b3(n,Ole),i.Hc(Mle)||b3(n,Mle),i.Hc(Ale)?b3(n,Ple):i.Hc(Cle)?b3(n,Dle):i.Hc(Lle)&&b3(n,Nle),i.Hc(Ple)?b3(n,Ale):i.Hc(Dle)?b3(n,Cle):i.Hc(Nle)&&b3(n,Lle),E7(t,d5t,n))}function iwt(t){var e,n,i,r,a,o,s;for(r=KR(fut(t,(jEt(),N1t)),10),LY(0,(i=t.j).c.length),n=KR(i.c[0],12),o=new pg(r.j);o.ar.p?(Vft(a,Eue),a.d&&(s=a.o.b,e=a.a.b,a.a.b=s-e)):a.j==Eue&&r.p>t.p&&(Vft(a,cue),a.d&&(s=a.o.b,e=a.a.b,a.a.b=-(s-e)));break}return r}function rwt(t,e,n,i,r){var a,o,s,c,l,u,h;if(!(rO(e,207)||rO(e,366)||rO(e,193)))throw Ay(new Tx("Method only works for ElkNode-, ElkLabel and ElkPort-objects."));return o=t.a/2,c=e.i+i-o,u=e.j+r-o,l=c+e.g+t.a,h=u+e.f+t.a,RF(a=new Zw,new IA(c,u)),RF(a,new IA(c,h)),RF(a,new IA(l,h)),RF(a,new IA(l,u)),p6(s=new Hgt(a),e),n&&LH(t.b,e,s),s}function awt(t,e,n){var i,r,a,o,s,c,l,u;for(a=new IA(e,n),l=new pg(t.a);l.a1)for(s=C+1;sc.b.e.b*(1-b)+c.c.e.b*b));d++);if(x.gc()>0&&(A=0==c.a.b?tO(c.b.e):KR(oD(c.a),8),y=aB(tO(KR(x.Xb(x.gc()-1),40).e),KR(x.Xb(x.gc()-1),40).f),h=aB(tO(KR(x.Xb(0),40).e),KR(x.Xb(0),40).f),d>=x.gc()-1&&A.b>y.b&&c.c.e.b>y.b||d<=0&&A.bc.b.e.a*(1-b)+c.c.e.a*b));d++);if(x.gc()>0&&(A=0==c.a.b?tO(c.b.e):KR(oD(c.a),8),y=aB(tO(KR(x.Xb(x.gc()-1),40).e),KR(x.Xb(x.gc()-1),40).f),h=aB(tO(KR(x.Xb(0),40).e),KR(x.Xb(0),40).f),d>=x.gc()-1&&A.a>y.a&&c.c.e.a>y.a||d<=0&&A.a=gx(qD(fut(t,(ETt(),gte))))&&++E):(f.f&&f.d.e.a<=gx(qD(fut(t,(ETt(),dte))))&&++T,f.g&&f.c.e.a+f.c.f.a>=gx(qD(fut(t,(ETt(),fte))))&&++E)}else 0==w?ddt(c):w<0&&(++_[C],++p[M],T=KR((S=NEt(c,e,t,new rM(ttt(T),ttt(E)),n,i,new rM(ttt(p[M]),ttt(_[C])))).a,17).a,E=KR(S.b,17).a)}(t,c,o,s),function(t,e,n,r){var a,o,s,c,l,u,h,f,d,g,p;for(f=Mrt(t.b,0);f.b!=f.d.c;)if(!_B((h=KR(gW(f),40)).c,OPt))for(o=KR(bX(new k$(null,new OY(Bdt(h,t),16)),bJ(new V,new Y,new nt,t7(rk(_Gt,1),sCt,108,0,[(e9(),vGt)]))),15),e==(jtt(),Fce)||e==$ce?o.jd(new cs):o.jd(new ls),p=o.gc(),a=0;a0&&(c=KR(oD(KR(o.Xb(a),65).a),8).a,d=h.e.a+h.f.a/2,l=KR(oD(KR(o.Xb(a),65).a),8).b,g=h.e.b+h.f.b/2,r>0&&i.Math.abs(l-g)/(i.Math.abs(c-d)/40)>50&&sL(KR(o.Xb(a),65).a,new IA(h.e.a+h.f.a+r/5.3,g>l?h.e.b+h.f.b*s-r/2:h.e.b+h.f.b*s+r/2))),sL(KR(o.Xb(a),65).a,new IA(h.e.a+h.f.a,h.e.b+h.f.b*s))):e==$ce?(u=gx(qD(fut(h,(ETt(),xte)))),h.e.a-r>u?sL(KR(o.Xb(a),65).a,new IA(u-n,h.e.b+h.f.b*s)):KR(o.Xb(a),65).a.b>0&&(c=KR(oD(KR(o.Xb(a),65).a),8).a,d=h.e.a+h.f.a/2,l=KR(oD(KR(o.Xb(a),65).a),8).b,g=h.e.b+h.f.b/2,r>0&&i.Math.abs(l-g)/(i.Math.abs(c-d)/40)>50&&sL(KR(o.Xb(a),65).a,new IA(h.e.a-r/5.3,g>l?h.e.b+h.f.b*s-r/2:h.e.b+h.f.b*s+r/2))),sL(KR(o.Xb(a),65).a,new IA(h.e.a,h.e.b+h.f.b*s))):e==zce?(u=gx(qD(fut(h,(ETt(),vte)))),h.e.b+h.f.b+r0&&(c=KR(oD(KR(o.Xb(a),65).a),8).a,d=h.e.a+h.f.a/2,l=KR(oD(KR(o.Xb(a),65).a),8).b,g=h.e.b+h.f.b/2,r>0&&i.Math.abs(c-d)/(i.Math.abs(l-g)/40)>50&&sL(KR(o.Xb(a),65).a,new IA(d>c?h.e.a+h.f.a*s-r/2:h.e.a+h.f.a*s+r/2,h.e.b+r/5.3+h.f.b))),sL(KR(o.Xb(a),65).a,new IA(h.e.a+h.f.a*s,h.e.b+h.f.b))):(u=gx(qD(fut(h,(ETt(),xte)))),a8(KR(o.Xb(a),65),t)?sL(KR(o.Xb(a),65).a,new IA(h.e.a+h.f.a*s,KR(oD(KR(o.Xb(a),65).a),8).b)):h.e.b-r>u?sL(KR(o.Xb(a),65).a,new IA(h.e.a+h.f.a*s,u-n)):KR(o.Xb(a),65).a.b>0&&(c=KR(oD(KR(o.Xb(a),65).a),8).a,d=h.e.a+h.f.a/2,l=KR(oD(KR(o.Xb(a),65).a),8).b,g=h.e.b+h.f.b/2,r>0&&i.Math.abs(c-d)/(i.Math.abs(l-g)/40)>50&&sL(KR(o.Xb(a),65).a,new IA(d>c?h.e.a+h.f.a*s-r/2:h.e.a+h.f.a*s+r/2,h.e.b-r/5.3))),sL(KR(o.Xb(a),65).a,new IA(h.e.a+h.f.a*s,h.e.b)))}(t,c,o,s),r=Mrt(t.a,0);r.b!=r.d.c;)(n=KR(gW(r),65)).a.b<2&&ddt(n);e.Vg()}function ywt(t){switch(t.d){case 9:case 8:return!0;case 3:case 5:case 4:case 6:return!1;case 7:return KR(Smt(t),17).a==t.o;case 1:case 2:if(-2==t.o)return!1;switch(t.p){case 0:case 1:case 2:case 6:case 5:case 7:return HM(t.k,t.f);case 3:case 4:return t.j==t.e;default:return null==t.n?null==t.g:wtt(t.n,t.g)}default:return!1}}function wwt(t,e){var n,r,a;switch(e.Ug("Breaking Point Insertion",1),r=new zgt(t),KR(fut(t,(CEt(),C6t)),351).g){case 2:a=new va;break;case 0:a=new ua;break;default:a=new xa}if(n=a.og(t,r),dx(zD(fut(t,M6t)))&&(n=function(t,e){var n,r,a,o,s,c,l,h,f,d,g,p,b,m,y,w,v,x;for(d=new yy,a=new yy,b=null,s=e.Kc();s.Ob();)o=new gb(KR(s.Pb(),17).a),Dy(a.c,o),b&&(o.d=b,b.e=o),b=o;for(v=function(t){var e,n,i,r,a,o,s,c,l;for(l=WZ($pe,$Ct,28,t.b.c.length+1,15,1),c=new hw,i=0,a=new pg(t.b);a.a1&&(i=new IA(r,n.b),RF(e.a,i)),k4(e.a,t7(rk(doe,1),RSt,8,0,[h,u]))}function Twt(){Twt=E,x7t=new EC(PIt,0),b7t=new EC("NIKOLOV",1),w7t=new EC("NIKOLOV_PIXEL",2),m7t=new EC("NIKOLOV_IMPROVED",3),y7t=new EC("NIKOLOV_IMPROVED_PIXEL",4),d7t=new EC("DUMMYNODE_PERCENTAGE",5),v7t=new EC("NODECOUNT_PERCENTAGE",6),k7t=new EC("NO_BOUNDARY",7),g7t=new EC("MODEL_ORDER_LEFT_TO_RIGHT",8),p7t=new EC("MODEL_ORDER_RIGHT_TO_LEFT",9)}function Ewt(){Ewt=E,tne=new vL(fBt,(FN(),!1)),one=new vL(dBt,ttt(0)),sne=new vL(gBt,0),cne=new vL(pBt,!1),J8(),nne=new vL(bBt,ine=Xee),ttt(0),ene=new vL(mBt,ttt(1)),D5(),fne=new vL(yBt,dne=Une),SJ(),gne=new vL(wBt,pne=Yee),wot(),rne=new vL(vBt,ane=jne),hne=new vL(xBt,0),lne=new vL(kBt,!1),une=new vL(_Bt,!1)}function Swt(t,e,n){var i,r,a,o,s,c;if(e){if(n<=-1){if(rO(i=N0(e.Dh(),-1-n),102))return KR(i,19);for(s=0,c=(o=KR(e.Mh(i),160)).gc();s=40)&&function(t){var e,n,i,r,a,o,s;for(t.o=new $O,i=new jT,o=new pg(t.e.a);o.a0,s=Vet(e,a),LN(n?s.b:s.g,e),1==r9(s).c.length&&dX(i,s,i.c.b,i.c),r=new rM(a,e),bW(t.o,r),u1(t.e.a,a))}(t),function(t){var e,n,i,r,a,o,s,c,l,u;for(l=t.e.a.c.length,a=new pg(t.e.a);a.a0&&RF(t.f,a)):(t.c[o]-=l+1,t.c[o]<=0&&t.a[o]>0&&RF(t.e,a))))}function Gwt(t,e,n,i){var r,a,o,s,c,l,u;for(oB(c=new IA(n,i),KR(fut(e,(ETt(),ote)),8)),u=Mrt(e.b,0);u.b!=u.d.c;)aB((l=KR(gW(u),40)).e,c),RF(t.b,l);for(s=KR(bX(RK(new k$(null,new OY(e.a,16))),bJ(new V,new Y,new nt,t7(rk(_Gt,1),sCt,108,0,[(e9(),vGt)]))),15).Kc();s.Ob();){for(a=Mrt((o=KR(s.Pb(),65)).a,0);a.b!=a.d.c;)(r=KR(gW(a),8)).a+=c.a,r.b+=c.b;RF(t.a,o)}}function Kwt(t,e){var n,i,r,a;if(0<(rO(t,16)?KR(t,16).gc():GW(t.Kc()))){if(1<(r=e)){for(--r,a=new So,i=t.Kc();i.Ob();)n=KR(i.Pb(),40),a=a4(t7(rk(oHt,1),pSt,20,0,[a,new qb(n)]));return Kwt(a,r)}if(r<0){for(a=new Co,i=t.Kc();i.Ob();)n=KR(i.Pb(),40),a=a4(t7(rk(oHt,1),pSt,20,0,[a,new qb(n)]));if(0<(rO(a,16)?KR(a,16).gc():GW(a.Kc())))return Kwt(a,r)}}return KR(oO(t.Kc()),40)}function Ywt(t,e,n){var i,r,a,o;for(n.Ug("Processor order nodes",2),t.b=gx(qD(fut(e,(axt(),hee)))),t.a=KR(fut(e,Gte),88),t.a==(jtt(),jce)&&(t.a=Rce,E7(e,Gte,t.a)),r=new jT,o=Mrt(e.b,0);o.b!=o.d.c;)dx(zD(fut(a=KR(gW(o),40),(ETt(),Mte))))&&dX(r,a,r.c.b,r.c);KD(0!=r.b),Pkt(t,i=KR(r.a.a.c,40)),n.fh(1),Zyt(t,i,0-gx(qD(fut(i,(ETt(),wte))))/2,0),n.fh(1),n.Vg()}function Vwt(){Vwt=E,Hue=new VA("DEFAULT_MINIMUM_SIZE",0),Gue=new VA("MINIMUM_SIZE_ACCOUNTS_FOR_PADDING",1),que=new VA("COMPUTE_PADDING",2),Kue=new VA("OUTSIDE_NODE_LABELS_OVERHANG",3),Yue=new VA("PORTS_OVERHANG",4),Wue=new VA("UNIFORM_PORT_SPACING",5),Vue=new VA("SPACE_EFFICIENT_PORT_LABELS",6),Uue=new VA("FORCE_TABULAR_NODE_LABELS",7),zue=new VA("ASYMMETRICAL",8)}function Wwt(t,e){var n,i,r,a,o,s,c,l;if(e){if(n=(a=e.Dh())?r2(a).wi().si(a):null){for(Trt(t,e,n),c=0,l=(null==(r=e.Dh()).i&&uxt(r),r.i).length;c=0&&c0&&(IY(0,t.length),45==t.charCodeAt(0)||(IY(0,t.length),43==t.charCodeAt(0)))?1:0;in)throw Ay(new Zx(hAt+t+'"'));return o}function nvt(t){switch(t){case 100:return VEt(Bqt,!0);case 68:return VEt(Bqt,!1);case 119:return VEt(Rqt,!0);case 87:return VEt(Rqt,!1);case 115:return VEt(Fqt,!0);case 83:return VEt(Fqt,!1);case 99:return VEt($qt,!0);case 67:return VEt($qt,!1);case 105:return VEt(jqt,!0);case 73:return VEt(jqt,!1);default:throw Ay(new Yv(Pqt+t.toString(16)))}}function ivt(t,e,n,i,r){n&&(!i||(t.c-t.b&t.a.length-1)>1)&&1==e&&KR(t.a[t.b],10).k==(Vut(),tXt)?Uxt(KR(t.a[t.b],10),(bst(),xle)):i&&(!n||(t.c-t.b&t.a.length-1)>1)&&1==e&&KR(t.a[t.c-1&t.a.length-1],10).k==(Vut(),tXt)?Uxt(KR(t.a[t.c-1&t.a.length-1],10),(bst(),kle)):2==(t.c-t.b&t.a.length-1)?(Uxt(KR(j7(t),10),(bst(),xle)),Uxt(KR(j7(t),10),kle)):function(t,e){var n,i,r,a,o,s,c,l,u;for(c=WN(t.c-t.b&t.a.length-1),l=null,u=null,a=new QH(t);a.a!=a.b;)r=KR(L9(a),10),n=(s=KR(fut(r,(jEt(),$1t)),12))?s.i:null,i=(o=KR(fut(r,j1t),12))?o.i:null,(l!=n||u!=i)&&(ygt(c,e),l=n,u=i),Dy(c.c,r);ygt(c,e)}(t,r),QW(t)}function rvt(t){var e,n,i,r,a,o,s;for(r=new yy,i=new Dj(lN(Pet(t.b).a.Kc(),new u));Rgt(i);)iQ(n=KR(bQ(i),18))&&SO(r,new WQ(n,pJ(t,n.c),pJ(t,n.d)));for(s=new og(new ag(t.e).a.vc().Kc());s.a.Ob();)e=KR(s.a.Pb(),44),(a=KR(e.md(),113)).d.p=0;for(o=new og(new ag(t.e).a.vc().Kc());o.a.Ob();)e=KR(o.a.Pb(),44),0==(a=KR(e.md(),113)).d.p&&SO(t.d,Pwt(t,a))}function avt(t,e){var n,i,r,a,o,s,c;if(null==(c=zD(fut(e,(axt(),lee))))||(yH(c),c)){for(function(t,e){var n,i,r,a,o;for(r=e.b.b,t.a=WZ(cHt,OLt,15,r,0,1),t.b=WZ(jpe,IMt,28,r,16,1),o=Mrt(e.b,0);o.b!=o.d.c;)a=KR(gW(o),40),t.a[a.g]=new jT;for(i=Mrt(e.a,0);i.b!=i.d.c;)n=KR(gW(i),65),t.a[n.b.g].Fc(n),t.a[n.c.g].Fc(n)}(t,e),r=new yy,s=Mrt(e.b,0);s.b!=s.d.c;)(n=eft(t,KR(gW(s),40),null))&&(p6(n,e),Dy(r.c,n));if(t.a=null,t.b=null,r.c.length>1)for(i=new pg(r);i.a0&&(e.Cd(n),n.i&&net(n))}(r=rmt(t,e),(o=KR(Yrt(r,0),219)).c.kg()?o.c.eg()?new mb(t):new yb(t):new bb(t)),function(t){var e,n,i;for(i=new pg(t.b);i.a=0&&s!=n&&(a=new nz(t,1,s,o,null),i?i.nj(a):i=a),n>=0&&(a=new nz(t,1,n,s==n?o:null,e),i?i.nj(a):i=a)),i}function cvt(t){var e,n,i;if(null==t.b){if(i=new Kx,null!=t.i&&(QM(i,t.i),i.a+=":"),256&t.f){for(256&t.f&&null!=t.a&&(function(t){return null!=t&&CT(Afe,t.toLowerCase())}(t.i)||(i.a+="//"),QM(i,t.a)),null!=t.d&&(i.a+="/",QM(i,t.d)),16&t.f&&(i.a+="/"),e=0,n=t.j.length;e>>31;0!=i&&(t[n]=i)}(n,n,e<<1),i=0,r=0,o=0;rl)&&(c+s+rkt(i,l,!1).a<=e.b&&(vJ(n,a-n.s),n.c=!0,vJ(i,a-n.s),Cat(i,n.s,n.t+n.d+s),i.k=!0,E5(n.q,i),u=!0,r&&(w4(e,i),i.j=e,t.c.length>o&&(Rst((LY(o,t.c.length),KR(t.c[o],186)),i),0==(LY(o,t.c.length),KR(t.c[o],186)).a.c.length&&PQ(t,o)))),u)}function dvt(t,e,n){var i,r,a,o,s;if(0==e.p){for(e.p=1,(r=n)||(r=new rM(new yy,new UB(i=KR(t_(Due),9),KR(jP(i,i.length),9),0))),KR(r.a,15).Fc(e),e.k==(Vut(),JWt)&&KR(r.b,21).Fc(KR(fut(e,(jEt(),E1t)),64)),o=new pg(e.j);o.a0)if(r=KR(t.Ab.g,2033),null==e){for(a=0;an.s&&c=0&&l>=0&&co)return MTt(),sue;break;case 4:case 3:if(u<0)return MTt(),cue;if(u+n>a)return MTt(),Eue}return(c=(l+s/2)/o)+(i=(u+n/2)/a)<=1&&c-i<=0?(MTt(),Cue):c+i>=1&&c-i>=0?(MTt(),sue):i<.5?(MTt(),cue):(MTt(),Eue)}function _vt(t,e){var n,i,r,a,o,s,c,l,u,h,f,d;for(n=!1,c=gx(qD(fut(e,(CEt(),h6t)))),f=dCt*c,r=new pg(e.b);r.ao.n.b-o.d.d+u.a+f&&(d=l.g+u.g,u.a=(u.g*u.a+l.g*l.a)/d,u.g=d,l.f=u,n=!0)),a=o,l=u;return n}function Tvt(t,e,n,i,r,a,o){var s,c,l,u,h;for(h=new WL,c=e.Kc();c.Ob();)for(u=new pg(KR(c.Pb(),853).Rf());u.at.b/2+e.b/2||(a=i.Math.abs(t.d+t.a/2-(e.d+e.a/2)))>t.a/2+e.a/2?1:0==n&&0==a?0:0==n?o/a+1:0==a?r/n+1:i.Math.min(r/n,o/a)+1}function Cvt(t,e){var n,i,r,a,o,s,c;for(a=0,s=0,c=0,r=new pg(t.f.e);r.a0&&t.d!=(j1(),rWt)&&(s+=o*(i.d.a+t.a[e.a][i.a]*(e.d.a-i.d.a)/n)),n>0&&t.d!=(j1(),nWt)&&(c+=o*(i.d.b+t.a[e.a][i.a]*(e.d.b-i.d.b)/n)));switch(t.d.g){case 1:return new IA(s/a,e.d.b);case 2:return new IA(e.d.a,c/a);default:return new IA(s/a,c/a)}}function Avt(t){var e,n,i,r,a;for(SO(a=new lZ((!t.a&&(t.a=new AO(zhe,t,5)),t.a).i+2),new IA(t.j,t.k)),VT(new k$(null,(!t.a&&(t.a=new AO(zhe,t,5)),new OY(t.a,16))),new gm(a)),SO(a,new IA(t.b,t.c)),e=1;e0&&(m7(c,!1,(jtt(),Fce)),m7(c,!0,$ce)),V0(e.g,new JS(t,n)),LH(t.g,e,n)}function Ivt(){var t;for(Ivt=E,rUt=t7(rk($pe,1),$Ct,28,15,[-1,-1,30,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5]),aUt=WZ($pe,$Ct,28,37,15,1),oUt=t7(rk($pe,1),$Ct,28,15,[-1,-1,63,40,32,28,25,23,21,20,19,19,18,18,17,17,16,16,16,15,15,15,15,14,14,14,14,14,14,13,13,13,13,13,13,13,13]),sUt=WZ(zpe,pAt,28,37,14,1),t=2;t<=36;t++)aUt[t]=oK(i.Math.pow(t,rUt[t])),sUt[t]=yct(qSt,aUt[t])}function Ovt(t){var e;if(1!=(!t.a&&(t.a=new ez(Khe,t,6,6)),t.a).i)throw Ay(new Tx(pFt+(!t.a&&(t.a=new ez(Khe,t,6,6)),t.a).i));return e=new Zw,z6(KR(l2((!t.b&&(t.b=new bB(Uhe,t,4,7)),t.b),0),84))&&z3(e,kEt(t,z6(KR(l2((!t.b&&(t.b=new bB(Uhe,t,4,7)),t.b),0),84)),!1)),z6(KR(l2((!t.c&&(t.c=new bB(Uhe,t,5,8)),t.c),0),84))&&z3(e,kEt(t,z6(KR(l2((!t.c&&(t.c=new bB(Uhe,t,5,8)),t.c),0),84)),!0)),e}function Nvt(t,e){var n,i,r;for(r=!1,i=new Dj(lN((e.d?t.a.c==(bK(),Z8t)?Det(e.b):Pet(e.b):t.a.c==(bK(),Q8t)?Det(e.b):Pet(e.b)).a.Kc(),new u));Rgt(i);)if(n=KR(bQ(i),18),(dx(t.a.f[t.a.g[e.b.p].p])||iQ(n)||n.c.i.c!=n.d.i.c)&&!dx(t.a.n[t.a.g[e.b.p].p])&&!dx(t.a.n[t.a.g[e.b.p].p])&&(r=!0,NT(t.b,t.a.g[_ot(n,e.b).p])))return e.c=!0,e.a=n,e;return e.c=r,e.a=null,e}function Dvt(t,e,n){var i,r,a,o,s,c,l;if(0==(i=n.gc()))return!1;if(t.Pj())if(c=t.Qj(),xnt(t,e,n),o=1==i?t.Ij(3,null,n.Kc().Pb(),e,c):t.Ij(5,null,n,e,c),t.Mj()){for(s=i<100?null:new $k(i),a=e+i,r=e;r0){for(s=0;s>16==-15&&t.Cb.Yh()&&w1(new yJ(t.Cb,9,13,n,t.c,dat(k1(KR(t.Cb,62)),t))):rO(t.Cb,90)&&t.Db>>16==-23&&t.Cb.Yh()&&(rO(e=t.c,90)||(KEt(),e=xde),rO(n,90)||(KEt(),n=xde),w1(new yJ(t.Cb,9,10,n,e,dat(JW(KR(t.Cb,29)),t)))))),t.c}function jvt(t,e,n){var i,r,a,o,s,c,l,u;for(n.Ug("Hyperedge merging",1),function(t,e){var n,i,r,a;for((a=KR(bX(Z1(Z1(new k$(null,new OY(e.b,16)),new Rn),new Fn),bJ(new V,new Y,new nt,t7(rk(_Gt,1),sCt,108,0,[(e9(),vGt)]))),15)).Jc(new $n),n=0,r=a.Kc();r.Ob();)-1==(i=KR(r.Pb(),12)).p&&Zgt(t,i,n++)}(t,e),s=new CV(e.b,0);s.b0&&(d.d+=h.n.d,d.d+=h.d),d.a>0&&(d.a+=h.n.a,d.a+=h.d),d.b>0&&(d.b+=h.n.b,d.b+=h.d),d.c>0&&(d.c+=h.n.c,d.c+=h.d),d}((DK(t)&&(BE(),new ix(DK(t))),BE(),new qN(DK(t)?new ix(DK(t)):null,t)),$ce),o=KR(fut(r,S5t),107),vK(n=r.d,o),vK(n,a),r}function Gvt(t,e){var n,r,a,o;return r=i.Math.abs(xz(t.b).a-xz(e.b).a),o=i.Math.abs(xz(t.b).b-xz(e.b).b),n=1,a=1,r>t.b.b/2+e.b.b/2&&(n=1-i.Math.min(i.Math.abs(t.b.c-(e.b.c+e.b.b)),i.Math.abs(t.b.c+t.b.b-e.b.c))/r),o>t.b.a/2+e.b.a/2&&(a=1-i.Math.min(i.Math.abs(t.b.d-(e.b.d+e.b.a)),i.Math.abs(t.b.d+t.b.a-e.b.d))/o),(1-i.Math.min(n,a))*i.Math.sqrt(r*r+o*o)}function Kvt(t){var e,n,r;for(bTt(t,t.e,t.f,(pK(),L9t),!0,t.c,t.i),bTt(t,t.e,t.f,L9t,!1,t.c,t.i),bTt(t,t.e,t.f,I9t,!0,t.c,t.i),bTt(t,t.e,t.f,I9t,!1,t.c,t.i),function(t,e,n,i,r){var a,o,s,c,l,u,h;for(o=new pg(e);o.a=g&&(y>g&&(d.c.length=0,g=y),Dy(d.c,o));0!=d.c.length&&(f=KR(c$(d,Tat(e,d.c.length)),131),C.a.Bc(f),f.s=p++,jpt(f,E,k),d.c.length=0)}for(v=t.c.length+1,s=new pg(t);s.aS.s&&(nH(n),u1(S.i,i),i.c>0&&(i.a=S,SO(S.t,i),i.b=_,SO(_.i,i)))})(t.i,KR(fut(t.d,(jEt(),e0t)),234)),function(t){var e,n,r,a,o,s,c,l,u;for(l=new jT,s=new jT,a=new pg(t);a.a-1){for(r=Mrt(s,0);r.b!=r.d.c;)(n=KR(gW(r),131)).v=o;for(;0!=s.b;)for(e=new pg((n=KR(kst(s,0),131)).i);e.a=65;n--)tpe[n]=n-65<<24>>24;for(i=122;i>=97;i--)tpe[i]=i-97+26<<24>>24;for(r=57;r>=48;r--)tpe[r]=r-48+52<<24>>24;for(tpe[43]=62,tpe[47]=63,a=0;a<=25;a++)epe[a]=65+a&ECt;for(o=26,c=0;o<=51;++o,c++)epe[o]=97+c&ECt;for(t=52,s=0;t<=61;++t,s++)epe[t]=48+s&ECt;epe[62]=43,epe[63]=47}function Wvt(t,e){var n,r,a,o,s,c;return(a=G3(t))==(c=G3(e))?t.e==e.e&&t.a<54&&e.a<54?t.fe.f?1:0:(r=t.e-e.e,(n=(t.d>0?t.d:i.Math.floor((t.a-1)*xAt)+1)-(e.d>0?e.d:i.Math.floor((e.a-1)*xAt)+1))>r+1?a:n0&&(s=PW(s,zxt(r))),Dit(o,s))):aa)return MTt(),sue;break;case 4:case 3:if(c<0)return MTt(),cue;if(c+t.f>r)return MTt(),Eue}return(o=(s+t.g/2)/a)+(n=(c+t.f/2)/r)<=1&&o-n<=0?(MTt(),Cue):o+n>=1&&o-n>=0?(MTt(),sue):n<.5?(MTt(),cue):(MTt(),Eue)}function Zvt(t){var e,n,i,r,a,o;if(UEt(),4!=t.e&&5!=t.e)throw Ay(new Tx("Token#complementRanges(): must be RANGE: "+t.e));for(xpt(a=t),$kt(a),i=a.b.length+2,0==a.b[0]&&(i-=2),(n=a.b[a.b.length-1])==Dqt&&(i-=2),(r=new UY(4)).b=WZ($pe,$Ct,28,i,15,1),o=0,a.b[0]>0&&(r.b[o++]=0,r.b[o++]=a.b[0]-1),e=1;e0&&(Bd(c,c.d-r.d),r.c==(fZ(),x9t)&&Dd(c,c.a-r.d),c.d<=0&&c.i>0&&dX(e,c,e.c.b,e.c));for(a=new pg(t.f);a.a0&&(Rd(s,s.i-r.d),r.c==(fZ(),x9t)&&Pd(s,s.b-r.d),s.i<=0&&s.d>0&&dX(n,s,n.c.b,n.c))}function ext(t,e,n,i,r){var a,o,s,c,l,u,h;if(zT(),Gz(t,"src"),Gz(n,"dest"),h=i9(t),c=i9(n),rF(0!=(4&h.i),"srcType is not an array"),rF(0!=(4&c.i),"destType is not an array"),u=h.c,o=c.c,rF(1&u.i?u==o:0==(1&o.i),"Array types don't match"),function(t,e,n,i,r){var a,o;if(o=t.length,a=n.length,e<0||i<0||r<0||e+r>o||i+r>a)throw Ay(new Ky)}(t,e,n,i,r),1&u.i||h==c)Zdt(t,e,n,i,r,!0);else if(l=X2(t),a=X2(n),$M(t)===$M(n)&&ei;)Dq(a,s,l[--e]);else for(s=i+r;ig&&(o&&(sL(k,d),sL(T,ttt(u.b-1))),M=n.b,L+=d+e,d=0,h=i.Math.max(h,n.b+n.c+A)),D2(c,M),P2(c,L),h=i.Math.max(h,M+A+n.c),d=i.Math.max(d,f),M+=A+e;if(h=i.Math.max(h,r),(C=L+d+n.a)2*a?(u=new f2(h),l=L$(o)/M$(o),c=iEt(u,e,new Uw,n,i,r,l),aB(mL(u.e),c),h.c.length=0,a=0,Dy(h.c,u),Dy(h.c,o),a=L$(u)*M$(u)+L$(o)*M$(o)):(Dy(h.c,o),a+=L$(o)*M$(o));return h}(s,e,h.a,h.b,(l=r,yH(a),l));break;case 1:g=function(t,e,n,i,r){var a,o,s,c,l,u,h,f,d;for(QU(),PI(t,new $c),o=GR(t),d=new yy,f=new yy,s=null,c=0;0!=o.b;)a=KR(0==o.b?null:(KD(0!=o.b),J0(o,o.a.a)),163),!s||L$(s)*M$(s)/21&&(c>L$(s)*M$(s)/2||0==o.b)&&(h=new f2(f),u=L$(s)/M$(s),l=iEt(h,e,new Uw,n,i,r,u),aB(mL(h.e),l),s=h,Dy(d.c,h),c=0,f.c.length=0));return G6(d,f),d}(s,e,h.a,h.b,(u=r,yH(a),u));break;default:g=function(t,e,n,i,r){var a,o,s,c,l,u,h,f,d;for(s=WZ(Hpe,wAt,28,t.c.length,15,1),_st(f=new Nj(new jc),t),l=0,d=new yy;0!=f.b.c.length;)if(o=KR(0==f.b.c.length?null:c$(f.b,0),163),l>1&&L$(o)*M$(o)/2>s[0]){for(a=0;as[a];)++a;h=new f2(new yY(d,0,a+1)),u=L$(o)/M$(o),c=iEt(h,e,new Uw,n,i,r,u),aB(mL(h.e),c),iF(Zlt(f,h),EAt),_st(f,new yY(d,a+1,d.c.length)),d.c.length=0,l=0,Q$(s,s.length,0)}else null!=(0==f.b.c.length?null:c$(f.b,0))&&x3(f,0),l>0&&(s[l]=s[l-1]),s[l]+=L$(o)*M$(o),++l,Dy(d.c,o);return d}(s,e,h.a,h.b,(c=r,yH(a),c))}DTt(t,(d=iEt(new f2(g),e,n,h.a,h.b,r,(yH(a),a))).a,d.b,!1,!0)}(t,a,o,n),e.Vg()}function ixt(t,e,n,i,r){var a,o,s,c,l,u,h,f,d;for(h=function(t,e){var n,i,r;for(r=new CV(t.e,0),n=0;r.bTPt)return n;i>-1e-6&&++n}return n}(t,n),s=0;s0),i.a.Xb(i.c=--i.b),u>h+s&&nH(i);for(a=new pg(f);a.a0),i.a.Xb(i.c=--i.b)}}function rxt(t,e){var n,i,r,a,o,s,c,l;for(n=new RegExp(e,"g"),c=WZ(fUt,RSt,2,0,6,1),i=0,l=t,a=null;;){if(null==(s=n.exec(l))||""==l){c[i]=l;break}o=s.index,c[i]=(tJ(0,o,l.length),l.substr(0,o)),l=$G(l,o+s[0].length,l.length),n.lastIndex=0,a==l&&(c[i]=(tJ(0,1,l.length),l.substr(0,1)),IY(1,l.length+1),l=l.substr(1)),a=l,++i}if(t.length>0){for(r=c.length;r>0&&""==c[r-1];)--r;r0&&(f-=r[0]+t.c,r[0]+=t.c),r[2]>0&&(f-=r[2]+t.c),r[1]=i.Math.max(r[1],f),W$(t.a[1],n.c+e.b+r[0]-(r[1]-f)/2,r[1]);for(c=0,u=(o=t.a).length;co&&(o=r,l.c.length=0),r==o&&SO(l,new rM(n.c.i,n)));QU(),PI(l,t.c),V$(t.b,s.p,l)}}(f,t),f.f=WN(f.d),function(t,e){var n,i,r,a,o,s,c,l;for(a=new pg(e.b);a.ao&&(o=r,l.c.length=0),r==o&&SO(l,new rM(n.d.i,n)));QU(),PI(l,t.c),V$(t.f,s.p,l)}}(f,t),f}function cxt(t,e){var n,r,a;for(a=KR(c$(t.n,t.n.c.length-1),209).d,t.p=i.Math.min(t.p,e.g),t.r=i.Math.max(t.r,a),t.g=i.Math.max(t.g,e.g+(1==t.b.c.length?0:t.i)),t.o=i.Math.min(t.o,e.f),t.e+=e.f+(1==t.b.c.length?0:t.i),t.f=i.Math.max(t.f,e.f),r=t.n.c.length>0?(t.n.c.length-1)*t.i:0,n=new pg(t.n);n.a1)for(i=Mrt(r,0);i.b!=i.d.c;)for(a=0,s=new pg((n=KR(gW(i),235)).e);s.a0&&(e[0]+=t.c,f-=e[0]),e[2]>0&&(f-=e[2]+t.c),e[1]=i.Math.max(e[1],f),X$(t.a[1],r.d+n.d+e[0]-(e[1]-f)/2,e[1]);else for(g=r.d+n.d,d=r.a-n.d-n.a,l=0,h=(s=t.a).length;l0||0==Let(a.b.d,t.b.d+t.b.a)&&r.b<0||0==Let(a.b.d+a.b.a,t.b.d)&&r.b>0){c=0;break}}else c=i.Math.min(c,Yft(t,a,r));c=i.Math.min(c,dxt(t,o,c,r))}return c}function gxt(t,e){var n,i,r,a,o,s;if(t.b<2)throw Ay(new Tx("The vector chain must contain at least a source and a target point."));for(KD(0!=t.b),uI(e,(i=KR(t.a.a.c,8)).a,i.b),s=new KN((!e.a&&(e.a=new AO(zhe,e,5)),e.a)),a=Mrt(t,1);a.a=0&&a!=n)throw Ay(new Tx(N$t));for(r=0,c=0;cgx(vO(o.g,o.d[0]).a)?(KD(c.b>0),c.a.Xb(c.c=--c.b),BP(c,o),r=!0):s.e&&s.e.gc()>0&&(a=(!s.e&&(s.e=new yy),s.e).Mc(e),l=(!s.e&&(s.e=new yy),s.e).Mc(n),(a||l)&&((!s.e&&(s.e=new yy),s.e).Fc(o),++o.c));r||Dy(i.c,o)}function yxt(t,e,n){var i,r,a,o,s,c,l,u,h,f;return u=t.a.i+t.a.g/2,h=t.a.i+t.a.g/2,o=new IA(e.i+e.g/2,e.j+e.f/2),(c=KR(spt(e,(zEt(),rce)),8)).a=c.a+u,c.b=c.b+h,r=(o.b-c.b)/(o.a-c.a),i=o.b-r*o.a,s=new IA(n.i+n.g/2,n.j+n.f/2),(l=KR(spt(n,rce),8)).a=l.a+u,l.b=l.b+h,a=(s.b-l.b)/(s.a-l.a),f=(i-(s.b-a*s.a))/(a-r),!(c.a>>0).toString(16),e.length-2,e.length):t>=mAt?"\\v"+$G(e="0"+(t>>>0).toString(16),e.length-6,e.length):""+String.fromCharCode(t&ECt)}return n}function Ext(t){var e,n,i;if(JL(KR(fut(t,(CEt(),R5t)),101)))for(n=new pg(t.j);n.a=e.o&&n.f<=e.f||.5*e.a<=n.f&&1.5*e.a>=n.f){if((a=KR(c$(e.n,e.n.c.length-1),209)).e+a.d+n.g+r<=i&&(KR(c$(e.n,e.n.c.length-1),209).f-t.f+n.f<=t.b||1==t.a.c.length))return Het(e,n),!0;if(e.s+n.g<=i&&(e.t+e.d+n.f+r<=t.b||1==t.a.c.length))return SO(e.b,n),o=KR(c$(e.n,e.n.c.length-1),209),SO(e.n,new uK(e.s,o.f+o.a+e.i,e.i)),oot(KR(c$(e.n,e.n.c.length-1),209),n),cxt(e,n),!0}return!1}function Mxt(t,e,n){var i,r,a,o;return t.Pj()?(r=null,a=t.Qj(),i=t.Ij(1,o=K1(t,e,n),n,e,a),t.Mj()&&!(t.Yi()&&null!=o?wtt(o,n):$M(o)===$M(n))?(null!=o&&(r=t.Oj(o,r)),r=t.Nj(n,r),t.Tj()&&(r=t.Wj(o,n,r)),r?(r.nj(i),r.oj()):t.Jj(i)):(t.Tj()&&(r=t.Wj(o,n,r)),r?(r.nj(i),r.oj()):t.Jj(i)),o):(o=K1(t,e,n),t.Mj()&&!(t.Yi()&&null!=o?wtt(o,n):$M(o)===$M(n))&&(r=null,null!=o&&(r=t.Oj(o,null)),(r=t.Nj(n,r))&&r.oj()),o)}function Lxt(t,e){var n,i,r,a;if(e.Ug("Path-Like Graph Wrapping",1),0!=t.b.c.length)if(null==(r=new zgt(t)).i&&(r.i=W3(r,new ma)),n=gx(r.i)*r.f/(null==r.i&&(r.i=W3(r,new ma)),gx(r.i)),r.b>n)e.Vg();else{switch(KR(fut(t,(CEt(),C6t)),351).g){case 2:a=new va;break;case 0:a=new ua;break;default:a=new xa}if(i=a.og(t,r),!a.pg())switch(KR(fut(t,N6t),352).g){case 2:i=Wft(r,i);break;case 1:i=nlt(r,i)}(function(t,e,n){var i,r,a,o,s,c,l,u,h,f,d;if(!n.dc()){for(o=0,u=0,f=KR((i=n.Kc()).Pb(),17).a;o0&&(c=s/60|0,l=s%60,r=t.q.getDate(),t.q.getHours()+c>=24&&++r,a=new i.Date(t.q.getFullYear(),t.q.getMonth(),r,e+c,t.q.getMinutes()+l,t.q.getSeconds(),t.q.getMilliseconds()),t.q.setTime(a.getTime()))),o=t.q.getTime(),t.q.setTime(o+36e5),t.q.getHours()!=e&&t.q.setTime(o)}function Oxt(t,e){var n,i,r,a;if(function(t,e){TO(t,bj(BY(Mj(e,24),$At)),bj(BY(e,$At)))}(t.d,t.e),t.c.a.$b(),0!=gx(qD(fut(e.j,(CEt(),s3t))))||0!=gx(qD(fut(e.j,s3t))))for(n=ILt,$M(fut(e.j,f3t))!==$M((Mit(),S7t))&&E7(e.j,(jEt(),C1t),(FN(),!0)),a=KR(fut(e.j,b6t),17).a,r=0;r=b&&t.e[l.p]>g*t.b||w>=n*b)&&(Dy(f.c,c),c=new yy,z3(s,o),o.a.$b(),u-=h,d=i.Math.max(d,u*t.b+p),u+=w,y=w,w=0,h=0,p=0);return new rM(d,f)}function Pxt(t){var e,n,i,r,a;if(!t.d){if(a=new kl,null==(e=Nde).a.zc(t,e)){for(n=new zO(PG(t));n.e!=n.i.gc();)nq(a,Pxt(KR(Frt(n),29)));e.a.Bc(t),e.a.gc()}for(r=a.i,!t.q&&(t.q=new ez(nde,t,11,10)),i=new zO(t.q);i.e!=i.i.gc();++r)KR(Frt(i),411);nq(a,(!t.q&&(t.q=new ez(nde,t,11,10)),t.q)),V8(a),t.d=new xL((KR(l2(iG((Aq(),sde).o),9),19),a.i),a.g),t.e=KR(a.g,688),null==t.e&&(t.e=Dde),aQ(t).b&=-17}return t.d}function Bxt(t,e,n,i){var r,a,o,s,c,l;if(l=Jbt(t.e.Dh(),e),c=0,r=KR(t.g,124),UE(),KR(e,69).xk()){for(o=0;o1||-1==g)if(h=KR(p,71),f=KR(u,71),h.dc())f.$b();else for(o=!!Oat(e),a=0,s=t.a?h.Kc():h.Ii();s.Ob();)l=KR(s.Pb(),58),(r=KR(W1(t,l),58))?(o?-1==(c=f.dd(r))?f.Gi(a,r):a!=c&&f.Ui(a,r):f.Gi(a,r),++a):t.b&&!o&&(f.Gi(a,l),++a);else null==p?u.Wb(null):null==(r=W1(t,p))?t.b&&!Oat(e)&&u.Wb(p):u.Wb(r)}function Fxt(t,e){var n,r,a,o,s,c,l,h;for(n=new Nn,a=new Dj(lN(Det(e).a.Kc(),new u));Rgt(a);)if(!iQ(r=KR(bQ(a),18))&&wlt(c=r.c.i,vXt)){if(-1==(h=pyt(t,c,vXt,wXt)))continue;n.b=i.Math.max(n.b,h),!n.a&&(n.a=new yy),SO(n.a,c)}for(s=new Dj(lN(Pet(e).a.Kc(),new u));Rgt(s);)if(!iQ(o=KR(bQ(s),18))&&wlt(l=o.d.i,wXt)){if(-1==(h=pyt(t,l,wXt,vXt)))continue;n.d=i.Math.max(n.d,h),!n.c&&(n.c=new yy),SO(n.c,l)}return n}function $xt(t,e,n,i){var r,a,o,s,c,l,u;if(n.d.i!=e.i){for(Md(r=new Bat(t),(Vut(),eXt)),E7(r,(jEt(),U1t),n),E7(r,(CEt(),R5t),(plt(),Kle)),Dy(i.c,r),iY(o=new sht,r),Vft(o,(MTt(),Cue)),iY(s=new sht,r),Vft(s,sue),u=n.d,rY(n,o),p6(a=new EG,n),E7(a,J3t,null),eY(a,s),rY(a,u),l=new CV(n.b,0);l.b1e6)throw Ay(new wx("power of ten too big"));if(t<=lSt)return yQ(qdt(LUt[1],e),e);for(r=i=qdt(LUt[1],lSt),n=h6(t-lSt),e=oK(t%lSt);F9(n,lSt)>0;)r=PW(r,i),n=Aet(n,lSt);for(r=yQ(r=PW(r,qdt(LUt[1],e)),lSt),n=h6(t-lSt);F9(n,lSt)>0;)r=yQ(r,lSt),n=Aet(n,lSt);return yQ(r,e)}function qxt(t){var e,n,i,r,a,o,s,c;for(o=new pg(t.a);o.al&&i>l)){r=!1,n._g()&&n.bh("bk node placement breaks on "+s+" which should have been after "+u);break}u=s,l=gx(e.p[s.p])+gx(e.d[s.p])+s.o.b+s.d.a}if(!r)break}return n._g()&&n.bh(e+" is feasible: "+r),r}function Kxt(t,e,n,i){var r,a,o,s,c,l,u;if(Md(a=new Bat(t),(Vut(),iXt)),E7(a,(CEt(),R5t),(plt(),Kle)),r=0,e){for(E7(o=new sht,(jEt(),U1t),e),E7(a,U1t,e.i),Vft(o,(MTt(),Cue)),iY(o,a),l=0,u=(c=LV(e.e)).length;l=0&&!hot(t,u,h);)--h;r[u]=h}for(d=0;d=0&&!hot(t,s,g);)--s;a[g]=s}for(c=0;ce[f]&&fi[c]&&Qyt(t,c,f,!1,!0)}function Xxt(t){var e,n,i,r,a,o,s,c;n=dx(zD(fut(t,(Evt(),sVt)))),a=t.a.c.d,s=t.a.d.d,n?(o=EO(oB(new IA(s.a,s.b),a),.5),c=EO(tO(t.e),.5),e=oB(aB(new IA(a.a,a.b),o),c),yD(t.d,e)):(r=gx(qD(fut(t.a,EVt))),i=t.d,a.a>=s.a?a.b>=s.b?(i.a=s.a+(a.a-s.a)/2+r,i.b=s.b+(a.b-s.b)/2-r-t.e.b):(i.a=s.a+(a.a-s.a)/2+r,i.b=a.b+(s.b-a.b)/2+r):a.b>=s.b?(i.a=a.a+(s.a-a.a)/2+r,i.b=s.b+(a.b-s.b)/2+r):(i.a=a.a+(s.a-a.a)/2+r,i.b=a.b+(s.b-a.b)/2-r-t.e.b))}function Qxt(t){var e,n,i,r,a,o;if(!t.f){if(o=new vl,a=new vl,null==(e=Nde).a.zc(t,e)){for(r=new zO(PG(t));r.e!=r.i.gc();)nq(o,Qxt(KR(Frt(r),29)));e.a.Bc(t),e.a.gc()}for(!t.s&&(t.s=new ez(Kfe,t,21,17)),i=new zO(t.s);i.e!=i.i.gc();)rO(n=KR(Frt(i),179),102)&&sJ(a,KR(n,19));V8(a),t.r=new AF(t,(KR(l2(iG((Aq(),sde).o),6),19),a.i),a.g),nq(o,t.r),V8(o),t.f=new xL((KR(l2(iG(sde.o),5),19),o.i),o.g),aQ(t).b&=-3}return t.f}function Zxt(t){IE(t,new Dlt(xk(mk(vk(wk(new hc,TLt),"ELK DisCo"),"Layouter for arranging unconnected subgraphs. The subgraphs themselves are, by default, not laid out."),new re))),BV(t,TLt,ELt,Rrt(HYt)),BV(t,TLt,SLt,Rrt(RYt)),BV(t,TLt,CLt,Rrt(OYt)),BV(t,TLt,ALt,Rrt(FYt)),BV(t,TLt,EMt,Rrt(zYt)),BV(t,TLt,SMt,Rrt(jYt)),BV(t,TLt,TMt,Rrt(qYt)),BV(t,TLt,CMt,Rrt($Yt)),BV(t,TLt,wLt,Rrt(DYt)),BV(t,TLt,vLt,Rrt(NYt)),BV(t,TLt,xLt,Rrt(PYt)),BV(t,TLt,kLt,Rrt(BYt))}function Jxt(){Jxt=E,Rhe=t7(rk(Fpe,1),_Ct,28,15,[48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70]),Fhe=new RegExp("[ \t\n\r\f]+");try{Bhe=t7(rk(qde,1),pSt,2114,0,[new ry((bL(),Hnt("yyyy-MM-dd'T'HH:mm:ss'.'SSSZ",NP((tx(),tx(),MHt))))),new ry(Hnt("yyyy-MM-dd'T'HH:mm:ss'.'SSS",NP(MHt))),new ry(Hnt("yyyy-MM-dd'T'HH:mm:ss",NP(MHt))),new ry(Hnt("yyyy-MM-dd'T'HH:mm",NP(MHt))),new ry(Hnt("yyyy-MM-dd",NP(MHt)))])}catch(t){if(!rO(t=j6(t),82))throw Ay(t)}}function tkt(t,e){var n,i,r;if(i=0!=Xpt(t.d,1),0==cwt(t,e)&&dx(zD(fut(e.j,(jEt(),C1t)))))return 0;!dx(zD(fut(e.j,(jEt(),C1t))))&&!dx(zD(fut(e.j,r0t)))||$M(fut(e.j,(CEt(),f3t)))===$M((Mit(),S7t))?e.c.mg(e.e,i):i=dx(zD(fut(e.j,C1t))),Fbt(t,e,i,!0),dx(zD(fut(e.j,r0t)))&&E7(e.j,r0t,(FN(),!1)),dx(zD(fut(e.j,C1t)))&&(E7(e.j,C1t,(FN(),!1)),E7(e.j,r0t,!0)),n=cwt(t,e);do{if(P3(t),0==n)return 0;r=n,Fbt(t,e,i=!i,!1),n=cwt(t,e)}while(r>n);return r}function ekt(t,e){var n,i,r;if(i=0!=Xpt(t.d,1),0==wft(t,e)&&dx(zD(fut(e.j,(jEt(),C1t)))))return 0;!dx(zD(fut(e.j,(jEt(),C1t))))&&!dx(zD(fut(e.j,r0t)))||$M(fut(e.j,(CEt(),f3t)))===$M((Mit(),S7t))?e.c.mg(e.e,i):i=dx(zD(fut(e.j,C1t))),Fbt(t,e,i,!0),dx(zD(fut(e.j,r0t)))&&E7(e.j,r0t,(FN(),!1)),dx(zD(fut(e.j,C1t)))&&(E7(e.j,C1t,(FN(),!1)),E7(e.j,r0t,!0)),n=wft(t,e);do{if(P3(t),0==n)return 0;r=n,Fbt(t,e,i=!i,!1),n=wft(t,e)}while(r>n);return r}function nkt(t,e,n,r){var a,o,s,c,l,u,h,f,d;return u=(l=oB(new IA(n.a,n.b),t)).a*e.b-l.b*e.a,h=e.a*r.b-e.b*r.a,f=(l.a*r.b-l.b*r.a)/h,d=u/h,0==h?0==u?(o=fJ(t,a=aB(new IA(n.a,n.b),EO(new IA(r.a,r.b),.5))),s=fJ(aB(new IA(t.a,t.b),e),a),c=.5*i.Math.sqrt(r.a*r.a+r.b*r.b),o=0&&f<=1&&d>=0&&d<=1?aB(new IA(t.a,t.b),EO(new IA(e.a,e.b),f)):null}function ikt(t){var e,n,r,a,o,s,c,l,u,h;for(l=new rg(new Zd(ugt(t)).a.vc().Kc());l.a.Ob();){for(r=KR(l.a.Pb(),44),u=0,h=0,u=(c=KR(r.ld(),10)).d.d,h=c.o.b+c.d.a,t.d[c.p]=0,e=c;(a=t.a[e.p])!=c;)n=rrt(e,a),0,s=t.c==(bK(),Q8t)?n.d.n.b+n.d.a.b-n.c.n.b-n.c.a.b:n.c.n.b+n.c.a.b-n.d.n.b-n.d.a.b,o=gx(t.d[e.p])+s,t.d[a.p]=o,u=i.Math.max(u,a.d.d-o),h=i.Math.max(h,o+a.o.b+a.d.a),e=a;e=c;do{t.d[e.p]=gx(t.d[e.p])+u,e=t.a[e.p]}while(e!=c);t.b[c.p]=u+h}}function rkt(t,e,n){var r,a,o,s,c,l,u,h,f,d;for(o=0,s=t.t,a=0,r=0,l=0,d=0,f=0,n&&(t.n.c.length=0,SO(t.n,new uK(t.s,t.t,t.i))),c=0,h=new pg(t.b);h.a0?t.i:0)>e&&l>0&&(o=0,s+=l+t.i,a=i.Math.max(a,d),r+=l+t.i,l=0,d=0,n&&(++f,SO(t.n,new uK(t.s,s,t.i))),c=0),d+=u.g+(c>0?t.i:0),l=i.Math.max(l,u.f),n&&oot(KR(c$(t.n,f),209),u),o+=u.g+(c>0?t.i:0),++c;return a=i.Math.max(a,d),r+=l,n&&(t.r=a,t.d=r,tst(t.j)),new pU(t.s,t.t,a,r)}function akt(t){var e,n,r,a,o,s,c,l,u,h,f;for(t.b=!1,h=fAt,c=dAt,f=fAt,l=dAt,n=t.e.a.ec().Kc();n.Ob();)for(r=(e=KR(n.Pb(),272)).a,h=i.Math.min(h,r.c),c=i.Math.max(c,r.c+r.b),f=i.Math.min(f,r.d),l=i.Math.max(l,r.d+r.a),o=new pg(e.c);o.as?1:-1:L8(t.a,e.a,a)))h=-c,u=o==c?NQ(e.a,s,t.a,a):VZ(e.a,s,t.a,a);else if(h=o,o==c){if(0==r)return lwt(),CUt;u=NQ(t.a,a,e.a,s)}else u=VZ(t.a,a,e.a,s);return OV(l=new Pz(h,u.length,u)),l}function dkt(t,e){var n,i,r;if(r=Uvt(e),!e.c&&(e.c=new ez(Jhe,e,9,9)),VT(new k$(null,(!e.c&&(e.c=new ez(Jhe,e,9,9)),new OY(e.c,16))),new mp(r)),function(t,e){var n,i,r,a,o,s,c,l,u,h,f;for(o=dx(zD(spt(t,(CEt(),W3t)))),f=KR(spt(t,j5t),21),c=!1,l=!1,h=new zO((!t.c&&(t.c=new ez(Jhe,t,9,9)),t.c));!(h.e==h.i.gc()||c&&l);){for(a=KR(Frt(h),123),s=0,r=vz(a4(t7(rk(oHt,1),pSt,20,0,[(!a.d&&(a.d=new bB(Ghe,a,8,5)),a.d),(!a.e&&(a.e=new bB(Ghe,a,7,4)),a.e)])));Rgt(r)&&(i=KR(bQ(r),74),u=o&&Idt(i)&&dx(zD(spt(i,X3t))),n=Qkt((!i.b&&(i.b=new bB(Uhe,i,4,7)),i.b),a)?t==DK(Blt(KR(l2((!i.c&&(i.c=new bB(Uhe,i,5,8)),i.c),0),84))):t==DK(Blt(KR(l2((!i.b&&(i.b=new bB(Uhe,i,4,7)),i.b),0),84))),!((u||n)&&(++s,s>1))););(s>0||f.Hc((cdt(),eue))&&(!a.n&&(a.n=new ez(Qhe,a,1,7)),a.n).i>0)&&(c=!0),s>1&&(l=!0)}c&&e.Fc((Hmt(),qJt)),l&&e.Fc((Hmt(),HJt))}(e,i=KR(fut(r,(jEt(),A1t)),21)),i.Hc((Hmt(),qJt)))for(n=new zO((!e.c&&(e.c=new ez(Jhe,e,9,9)),e.c));n.e!=n.i.gc();)yTt(t,e,r,KR(Frt(n),123));return 0!=KR(spt(e,(CEt(),x5t)),181).gc()&&Umt(e,r),dx(zD(fut(r,A5t)))&&i.Fc(YJt),cD(r,Q5t)&&hx(new Ent(gx(qD(fut(r,Q5t)))),r),$M(spt(e,U3t))===$M((V9(),ble))?function(t,e,n){var i,r,a,o,s,c,l,u,h,f,d,g,p,b,m,y,w,v,x,k,_,T,E;for(o=new jT,w=KR(fut(n,(CEt(),C3t)),88),p=0,z3(o,(!e.a&&(e.a=new ez(Zhe,e,10,11)),e.a));0!=o.b;)($M(spt(l=DK(u=KR(0==o.b?null:(KD(0!=o.b),J0(o,o.a.a)),27)),f3t))!==$M((Mit(),S7t))||$M(spt(l,E3t))===$M((Ait(),JZt))||$M(spt(l,E3t))===$M((Ait(),QZt))||dx(zD(spt(l,g3t)))||$M(spt(l,o3t))!==$M((Yit(),qWt))||$M(spt(l,s5t))===$M((Twt(),g7t))||$M(spt(l,s5t))===$M((Twt(),p7t))||$M(spt(l,c5t))===$M((Dbt(),F6t))||$M(spt(l,c5t))===$M((Dbt(),j6t)))&&!dx(zD(spt(u,u3t)))&&nat(u,(jEt(),H1t),ttt(p++)),!dx(zD(spt(u,E5t)))&&(f=0!=(!u.a&&(u.a=new ez(Zhe,u,10,11)),u.a).i,g=Ilt(u),d=$M(spt(u,U3t))===$M((V9(),ble)),m=null,(E=!GZ(u,(zEt(),qoe))||pQ(HD(spt(u,qoe))))&&d&&(f||g)&&(E7(m=Uvt(u),C3t,w),cD(m,Q5t)&&hx(new Ent(gx(qD(fut(m,Q5t)))),m),0!=KR(spt(u,x5t),181).gc()&&(h=m,VT(new k$(null,(!u.c&&(u.c=new ez(Jhe,u,9,9)),new OY(u.c,16))),new yp(h)),Umt(u,m))),v=n,(x=KR(Oq(t.a,DK(u)),10))&&(v=x.e),b=nEt(t,u,v),m&&(b.e=m,m.e=b,z3(o,(!u.a&&(u.a=new ez(Zhe,u,10,11)),u.a))));for(p=0,dX(o,e,o.c.b,o.c);0!=o.b;){for(c=new zO((!(a=KR(0==o.b?null:(KD(0!=o.b),J0(o,o.a.a)),27)).b&&(a.b=new ez(Ghe,a,12,3)),a.b));c.e!=c.i.gc();)swt(s=KR(Frt(c),74)),($M(spt(e,f3t))!==$M((Mit(),S7t))||$M(spt(e,E3t))===$M((Ait(),JZt))||$M(spt(e,E3t))===$M((Ait(),QZt))||dx(zD(spt(e,g3t)))||$M(spt(e,o3t))!==$M((Yit(),qWt))||$M(spt(e,s5t))===$M((Twt(),g7t))||$M(spt(e,s5t))===$M((Twt(),p7t))||$M(spt(e,c5t))===$M((Dbt(),F6t))||$M(spt(e,c5t))===$M((Dbt(),j6t)))&&nat(s,(jEt(),H1t),ttt(p++)),_=Blt(KR(l2((!s.b&&(s.b=new bB(Uhe,s,4,7)),s.b),0),84)),T=Blt(KR(l2((!s.c&&(s.c=new bB(Uhe,s,5,8)),s.c),0),84)),!(dx(zD(spt(s,E5t)))||dx(zD(spt(_,E5t)))||dx(zD(spt(T,E5t))))&&(y=a,Idt(s)&&dx(zD(spt(_,W3t)))&&dx(zD(spt(s,X3t)))||Y0(T,_)?y=_:Y0(_,T)&&(y=T),v=n,(x=KR(Oq(t.a,y),10))&&(v=x.e),E7($Et(t,s,y,v),(jEt(),p1t),kmt(t,s,e,n)));if(d=$M(spt(a,U3t))===$M((V9(),ble)))for(r=new zO((!a.a&&(a.a=new ez(Zhe,a,10,11)),a.a));r.e!=r.i.gc();)E=!GZ(i=KR(Frt(r),27),(zEt(),qoe))||pQ(HD(spt(i,qoe))),k=$M(spt(i,U3t))===$M(ble),E&&k&&dX(o,i,o.c.b,o.c)}}(t,e,r):function(t,e,n){var i,r,a,o,s,c,l,u,h,f,d,g,p,b;for(f=0,r=new zO((!e.a&&(e.a=new ez(Zhe,e,10,11)),e.a));r.e!=r.i.gc();)dx(zD(spt(i=KR(Frt(r),27),(CEt(),E5t))))||(($M(spt(u=DK(i),f3t))!==$M((Mit(),S7t))||$M(spt(u,E3t))===$M((Ait(),JZt))||$M(spt(u,E3t))===$M((Ait(),QZt))||dx(zD(spt(u,g3t)))||$M(spt(u,o3t))!==$M((Yit(),qWt))||$M(spt(u,s5t))===$M((Twt(),g7t))||$M(spt(u,s5t))===$M((Twt(),p7t))||$M(spt(u,c5t))===$M((Dbt(),F6t))||$M(spt(u,c5t))===$M((Dbt(),j6t)))&&!dx(zD(spt(i,u3t)))&&(nat(i,(jEt(),H1t),ttt(f)),++f),nEt(t,i,n));for(f=0,l=new zO((!e.b&&(e.b=new ez(Ghe,e,12,3)),e.b));l.e!=l.i.gc();)s=KR(Frt(l),74),($M(spt(e,(CEt(),f3t)))!==$M((Mit(),S7t))||$M(spt(e,E3t))===$M((Ait(),JZt))||$M(spt(e,E3t))===$M((Ait(),QZt))||dx(zD(spt(e,g3t)))||$M(spt(e,o3t))!==$M((Yit(),qWt))||$M(spt(e,s5t))===$M((Twt(),g7t))||$M(spt(e,s5t))===$M((Twt(),p7t))||$M(spt(e,c5t))===$M((Dbt(),F6t))||$M(spt(e,c5t))===$M((Dbt(),j6t)))&&(nat(s,(jEt(),H1t),ttt(f)),++f),p=yut(s),b=xut(s),h=dx(zD(spt(p,W3t))),g=!dx(zD(spt(s,E5t))),d=h&&Idt(s)&&dx(zD(spt(s,X3t))),a=DK(p)==e&&DK(p)==DK(b),o=(DK(p)==e&&b==e)^(DK(b)==e&&p==e),g&&!d&&(o||a)&&$Et(t,s,e,n);if(DK(e))for(c=new zO(NU(DK(e)));c.e!=c.i.gc();)(p=yut(s=KR(Frt(c),74)))==e&&Idt(s)&&(d=dx(zD(spt(p,(CEt(),W3t))))&&dx(zD(spt(s,X3t))))&&$Et(t,s,e,n)}(t,e,r),r}function gkt(t,e){var n,i,r,a,o,s,c;if(null==t)return null;if(0==(a=t.length))return"";for(c=WZ(Fpe,_Ct,28,a,15,1),tJ(0,a,t.length),tJ(0,a,c.length),Zz(t,0,a,c,0),n=null,s=e,r=0,o=0;r0?$G(n.a,0,a-1):"":(tJ(0,a-1,t.length),t.substr(0,a-1)):n?n.a:t}function pkt(t,e){var n,i,r,a,o;if(o=KR(e,138),xpt(t),xpt(o),null!=o.b){if(t.c=!0,null==t.b)return t.b=WZ($pe,$Ct,28,o.b.length,15,1),void ext(o.b,0,t.b,0,o.b.length);for(a=WZ($pe,$Ct,28,t.b.length+o.b.length,15,1),n=0,i=0,r=0;n=t.b.length?(a[r++]=o.b[i++],a[r++]=o.b[i++]):i>=o.b.length?(a[r++]=t.b[n++],a[r++]=t.b[n++]):o.b[i]0?t.i:0)),++e;for(het(t.n,l),t.d=n,t.r=r,t.g=0,t.f=0,t.e=0,t.o=fAt,t.p=fAt,o=new pg(t.b);o.a0&&(!(r=(!t.n&&(t.n=new ez(Qhe,t,1,7)),KR(l2(t.n,0),135)).a)||tL(tL((e.a+=' "',e),r),'"'))),!t.b&&(t.b=new bB(Uhe,t,4,7)),n=!(t.b.i<=1&&(!t.c&&(t.c=new bB(Uhe,t,5,8)),t.c.i<=1)),e.a+=n?" [":" ",tL(e,UO(new zx,new zO(t.b))),n&&(e.a+="]"),e.a+=qIt,n&&(e.a+="["),tL(e,UO(new zx,new zO(t.c))),n&&(e.a+="]"),e.a)}function wkt(t,e,n){var r,a,o,s,c,l,u;return i.Math.abs(e.s-e.c)u?new xY((fZ(),k9t),n,e,l-u):l>0&&u>0&&(new xY((fZ(),k9t),e,n,0),new xY(k9t,n,e,0))),o)}function vkt(t,e,n,i){var r,a,o,s,c,l;if(a=det(i),!dx(zD(fut(i,(CEt(),u5t))))&&!dx(zD(fut(t,V3t)))||JL(KR(fut(t,R5t),101)))switch(s=new sht,iY(s,t),e?(l=s.n,l.a=e.a-t.n.a,l.b=e.b-t.n.b,_ht(l,0,0,t.o.a,t.o.b),Vft(s,kvt(s,a))):(r=snt(a),Vft(s,n==(d4(),B7t)?r:Ytt(r))),o=KR(fut(i,(jEt(),A1t)),21),c=s.j,a.g){case 2:case 1:(c==(MTt(),cue)||c==Eue)&&o.Fc((Hmt(),KJt));break;case 4:case 3:(c==(MTt(),sue)||c==Cue)&&o.Fc((Hmt(),KJt))}else r=snt(a),s=bvt(t,n,n==(d4(),B7t)?r:Ytt(r));return s}function xkt(t,e){var n,r,a,o,s;for(s=new G5(new Jd(t.f.b).a);s.b;){if(a=KR((o=d3(s)).ld(),602),1==e){if(a.Af()!=(jtt(),zce)&&a.Af()!=Rce)continue}else if(a.Af()!=(jtt(),Fce)&&a.Af()!=$ce)continue;switch(r=KR(KR(o.md(),42).b,86),n=KR(KR(o.md(),42).a,194).c,a.Af().g){case 2:r.g.c=t.e.a,r.g.b=i.Math.max(1,r.g.b+n);break;case 1:r.g.c=r.g.c+n,r.g.b=i.Math.max(1,r.g.b-n);break;case 4:r.g.d=t.e.b,r.g.a=i.Math.max(1,r.g.a+n);break;case 3:r.g.d=r.g.d+n,r.g.a=i.Math.max(1,r.g.a-n)}}}function kkt(t,e){var n,i,r,a,o,s,c,l,h,f,d;for(i=new Dj(lN(Ypt(e).a.Kc(),new u));Rgt(i);)rO(l2((!(n=KR(bQ(i),74)).b&&(n.b=new bB(Uhe,n,4,7)),n.b),0),193)||(c=Blt(KR(l2((!n.c&&(n.c=new bB(Uhe,n,5,8)),n.c),0),84)),_gt(n)||(o=e.i+e.g/2,s=e.j+e.f/2,h=c.i+c.g/2,f=c.j+c.f/2,(d=new Hk).a=h-o,d.b=f-s,ect(a=new IA(d.a,d.b),e.g,e.f),d.a-=a.a,d.b-=a.b,o=h-d.a,s=f-d.b,ect(l=new IA(d.a,d.b),c.g,c.f),d.a-=l.a,d.b-=l.b,h=o+d.a,f=s+d.b,B2(r=Fmt(n,!0,!0),o),F2(r,s),I2(r,h),R2(r,f),kkt(t,c)))}function _kt(t){IE(t,new Dlt(xk(mk(vk(wk(new hc,aRt),"ELK SPOrE Compaction"),"ShrinkTree is a compaction algorithm that maintains the topology of a layout. The relocation of diagram elements is based on contracting a spanning tree."),new Qs))),BV(t,aRt,oRt,Rrt(sae)),BV(t,aRt,sRt,Rrt(rae)),BV(t,aRt,cRt,Rrt(iae)),BV(t,aRt,lRt,Rrt(eae)),BV(t,aRt,uRt,Rrt(nae)),BV(t,aRt,ALt,tae),BV(t,aRt,QLt,8),BV(t,aRt,hRt,Rrt(oae)),BV(t,aRt,fRt,Rrt(Xre)),BV(t,aRt,dRt,Rrt(Qre)),BV(t,aRt,PDt,(FN(),!1))}function Tkt(t,e,n){var i,r,a,o,s,c,l,u;return i=t.a.o==(mK(),n9t)?fAt:dAt,!(s=Nvt(t,new WC(e,n))).a&&s.c?(RF(t.d,s),i):s.a?(r=s.a.c,c=s.a.d,n?(l=t.a.c==(bK(),Z8t)?c:r,a=t.a.c==Z8t?r:c,o=t.a.g[a.i.p],u=gx(t.a.p[o.p])+gx(t.a.d[a.i.p])+a.n.b+a.a.b-gx(t.a.d[l.i.p])-l.n.b-l.a.b):(l=t.a.c==(bK(),Q8t)?c:r,a=t.a.c==Q8t?r:c,u=gx(t.a.p[t.a.g[a.i.p].p])+gx(t.a.d[a.i.p])+a.n.b+a.a.b-gx(t.a.d[l.i.p])-l.n.b-l.a.b),t.a.n[t.a.g[r.i.p].p]=(FN(),!0),t.a.n[t.a.g[c.i.p].p]=!0,u):i}function Ekt(t,e,n){var i,r,a,o,s,c,l;if(xmt(t.e,e))UE(),cgt((s=KR(e,69).xk()?new VF(e,t):new DM(e,t)).c,s.b),iO(s,KR(n,16));else{for(l=Jbt(t.e.Dh(),e),i=KR(t.g,124),a=0;a"}null!=c&&(e.a+=""+c)}else t.e?null!=(s=t.e.zb)&&(e.a+=""+s):(e.a+="?",t.b?(e.a+=" super ",Mkt(t.b,e)):t.f&&(e.a+=" extends ",Mkt(t.f,e)))}function Lkt(t){var e,n,i,r,a,o,s,c,l;return!(t.k!=(Vut(),nXt)||t.j.c.length<=1||(a=KR(fut(t,(CEt(),R5t)),101),a==(plt(),Kle))||(wat(),i=(t.q?t.q:(QU(),QU(),DUt))._b(y5t)?KR(fut(t,y5t),203):KR(fut(uH(t),w5t),203),r=i,r==n7t)||r!=e7t&&r!=t7t&&(o=gx(qD(Gnt(t,p6t))),e=KR(fut(t,g6t),140),!e&&(e=new HP(o,o,o,o)),l=Met(t,(MTt(),Cue)),c=e.d+e.a+(l.gc()-1)*o,c>t.o.b||(n=Met(t,sue),s=e.d+e.a+(n.gc()-1)*o,s>t.o.b)))}function Ikt(t,e){var n,i,r,a,o,s,c,l,u,h;if(u=null,t.d&&(u=KR(ZG(t.d,e),142)),!u){if(h=(a=t.a.vi()).i,!t.d||PT(t.d)!=h){for(c=new my,t.d&&v5(c,t.d),s=l=c.f.c+c.i.c;se||dx(zD(spt(s,(ayt(),jie)))))&&(r=0,a+=l.b+n,Dy(u.c,l),w4(l=new tV(a,n),i=new h8(0,l.f,l,n)),r=0),0==i.b.c.length||!dx(zD(spt(DK(s),(ayt(),Vie))))&&(s.f>=i.o&&s.f<=i.f||.5*i.a<=s.f&&1.5*i.a>=s.f)?Het(i,s):(w4(l,o=new h8(i.s+i.r+n,l.f,l,n)),Het(o,s)),r=s.i+s.g;return Dy(u.c,l),u}function $kt(t){var e,n,i,r;if(!(null==t.b||t.b.length<=2||t.a)){for(e=0,r=0;r=t.b[r+1])r+=2;else{if(!(n0&&F9(r,-6)>=0){if(F9(r,0)>=0){for(a=n+bj(r),s=u-1;s>=a;s--)h[s+1]=h[s];return h[++a]=46,c&&(h[--n]=45),Sit(h,n,u-n+1)}for(o=2;XE(o,Set(d1(r),1));o++)h[--n]=48;return h[--n]=46,h[--n]=48,c&&(h[--n]=45),Sit(h,n,u-n)}return g=n+1,i=u,f=new Wx,c&&(f.a+="-"),i-g>=1?(Vq(f,h[n]),f.a+=".",f.a+=Sit(h,n+1,u-n-1)):f.a+=Sit(h,n,u-n),f.a+="E",F9(r,0)>0&&(f.a+="+"),f.a+=""+Zj(r),f.a}(h6(t.f),oK(t.e)),t.g):(r=vEt((!t.c&&(t.c=pY(h6(t.f))),t.c),0),0==t.e?r:(e=(!t.c&&(t.c=pY(h6(t.f))),t.c).e<0?2:1,n=r.length,i=-t.e+n-e,(a=new Vx).a+=""+r,t.e>0&&i>=-6?i>=0?AN(a,n-oK(t.e),String.fromCharCode(46)):(W5(a,e-1,e-1,"0."),AN(a,e+1,Sit(gUt,0,-oK(i)-1))):(n-e>=1&&(AN(a,e,String.fromCharCode(46)),++n),AN(a,n,String.fromCharCode(69)),i>0&&AN(a,++n,String.fromCharCode(43)),AN(a,++n,""+Zj(h6(i)))),t.g=a.a,t.g))}function Hkt(t,e,n){var i,r,a,o,s,c,l,u,h,f,d,g;for(g=new my,a=t.a.ec().Kc();a.Ob();)LH(g,i=KR(a.Pb(),177),n.af(i));for(kq(t),PI(o=t?new HB(t):HR(t.a.ec().Kc()),new Vg(g)),s=wX(o),c=new VI(e),_ft((d=new my).f,e,c);0!=s.a.gc();){for(l=null,u=null,h=null,r=s.a.ec().Kc();r.Ob();)if(i=KR(r.Pb(),177),gx(qD(FM(U$(g.f,i))))<=fAt){if(mz(d,i.a)&&!mz(d,i.b)){u=i.b,h=i.a,l=i;break}if(mz(d,i.b)&&!mz(d,i.a)){u=i.a,h=i.b,l=i;break}}if(!l)break;f=new VI(u),SO(KR(FM(U$(d.f,h)),225).a,f),_ft(d.f,u,f),s.a.Bc(l)}return c}function Ukt(t,e){var n,i,r,a,o;if(e){if(!t.a&&(t.a=new gw),2==t.e)return void sw(t.a,e);if(1==e.e){for(r=0;r=mAt?QM(n,Eet(i)):Yq(n,i&ECt),a=new WG(10,null,0),function(t,e,n){qj(n,t.a.c.length),YX(t.a,n,e)}(t.a,a,o-1)):(a.Mm().length,QM(n=new Yx,a.Mm())),0==e.e?(i=e.Km())>=mAt?QM(n,Eet(i)):Yq(n,i&ECt):QM(n,e.Mm()),KR(a,530).b=n.a}}function Gkt(t,e,n){var r,a,o;if((a=KR(fut(e,(CEt(),a3t)),282))!=(zut(),PJt)){switch(1===(n.Ug("Horizontal Compaction",1),t.a=e,function(t,e){t.g=e}(r=new Jdt(((o=new m1).d=e,o.c=KR(fut(o.d,D3t),223),function(t){var e,n,i,r,a,o,s;for(e=!1,n=0,r=new pg(t.d.b);r.a0&&m7(c,!0,(jtt(),$ce)),o.k==(Vut(),JWt)&&gH(c),LH(t.f,o,e)):((l=(i=KR(rG(Net(o)),18)).c.i)==o&&(l=i.d.i),h=new rM(l,oB(tO(o.n),l.n)),LH(t.b,o,h))}(o),Myt(o),o.a)),t.b),KR(fut(e,r3t),431).g)?ck(r,new I3(t.a)):ck(r,(ZU(),OGt)),a.g){case 1:Tpt(r);break;case 2:Tpt(aTt(r,(jtt(),$ce)));break;case 3:Tpt(lk(aTt(Tpt(r),(jtt(),$ce)),new br));break;case 4:Tpt(lk(aTt(Tpt(r),(jtt(),$ce)),new Kp(o)));break;case 5:Tpt(function(t,e){return t.b=e,t}(r,HQt))}aTt(r,(jtt(),Fce)),r.e=!0,function(t){var e,n,r,a;for(VT(nU(new k$(null,new OY(t.a.b,16)),new vr),new xr),function(t){var e,n,i,r,a;for(i=new G5(new Jd(t.b).a);i.b;)e=KR((n=d3(i)).ld(),10),a=KR(KR(n.md(),42).a,10),r=KR(KR(n.md(),42).b,8),aB(mL(e.n),aB(tO(a.n),r))}(t),VT(nU(new k$(null,new OY(t.a.b,16)),new kr),new _r),t.c==(Iet(),Qce)&&(VT(nU(Z1(new k$(null,new OY(new Zd(t.f),1)),new Tr),new Er),new Xp(t)),VT(nU(iU(Z1(Z1(new k$(null,new OY(t.d.b,16)),new Sr),new Cr),new Ar),new Mr),new Zp(t))),a=new IA(fAt,fAt),e=new IA(dAt,dAt),r=new pg(t.a.b);r.a1&&(l=u.Hg(l,t.a,c));return 1==l.c.length?KR(c$(l,l.c.length-1),238):2==l.c.length?function(t,e,n,r){var a,o,s,c,l,u,h,f,d,g,p,b,m;return o=t.f,h=e.f,s=o==(mbt(),kre)||o==Tre,c=o==_re||o==kre,f=h==_re||h==kre,!s||h!=kre&&h!=Tre?o!=_re&&o!=Ere||h!=_re&&h!=Ere?c&&f?(o==_re?(u=t,l=e):(u=e,l=t),d=n.j+n.f,g=u.e+r.f,p=i.Math.max(d,g)-i.Math.min(n.j,u.e),a=(u.d+r.g-n.i)*p,b=n.i+n.g,m=l.d+r.g,a<=(i.Math.max(b,m)-i.Math.min(n.i,l.d))*(l.e+r.f-n.j)?t.f==_re?t:e:t.f==kre?t:e):t:t.f==Ere?t:e:t.f==Tre?t:e}((LY(0,l.c.length),KR(l.c[0],238)),(LY(1,l.c.length),KR(l.c[1],238)),s,o):null}function Ykt(t){var e,n,r,a,o,s;for(V0(t.a,new Zt),n=new pg(t.a);n.a=i.Math.abs(r.b)?(r.b=0,o.d+o.a>s.d&&o.ds.c&&o.c0){if(e=new PM(t.i,t.g),a=(n=t.i)<100?null:new $k(n),t.Tj())for(i=0;i0){for(s=t.g,l=t.i,CQ(t),a=l<100?null:new $k(l),i=0;i4){if(!t.fk(e))return!1;if(t.al()){if(s=(n=(i=KR(e,54)).Eh())==t.e&&(t.ml()?i.yh(i.Fh(),t.il())==t.jl():-1-i.Fh()==t.Lj()),t.nl()&&!s&&!n&&i.Jh())for(r=0;r0)if(e=new _5(t.pj()),a=(n=u)<100?null:new $k(n),bP(t,n,e.g),r=1==n?t.Ij(4,l2(e,0),null,0,c):t.Ij(6,e,null,-1,c),t.Mj()){for(i=new zO(e);i.e!=i.i.gc();)a=t.Oj(Frt(i),a);a?(a.nj(r),a.oj()):t.Jj(r)}else a?(a.nj(r),a.oj()):t.Jj(r);else bP(t,t.Ej(),t.Fj()),t.Jj(t.Ij(6,(QU(),NUt),null,-1,c));else if(t.Mj())if((u=t.Ej())>0){for(s=t.Fj(),l=u,bP(t,u,s),a=l<100?null:new $k(l),i=0;i.5?m-=2*o*(g-.5):g<.5&&(m+=2*a*(.5-g)),m<(r=s.d.b)&&(m=r),p=s.d.c,m>b.a-p-u&&(m=b.a-p-u),s.n.a=e+m}}function n_t(t,e){var n,i,r,a,o,s,c,l,u,h,f,d,g;if(t.e&&t.c.c>19&&(e=x7(e),c=!c),o=function(t){var e,n,i;return(n=t.l)&n-1||(i=t.m)&i-1||(e=t.h)&e-1||0==e&&0==i&&0==n?-1:0==e&&0==i&&0!=n?T4(n):0==e&&0!=i&&0==n?T4(i)+22:0!=e&&0==i&&0==n?T4(e)+44:-1}(e),a=!1,r=!1,i=!1,t.h==iAt&&0==t.m&&0==t.l){if(r=!0,a=!0,-1!=o)return s=qgt(t,o),c&&Q7(s),n&&(RHt=zI(0,0,0)),s;t=IL((U1(),FHt)),i=!0,c=!c}else t.h>>19&&(a=!0,t=x7(t),i=!0,c=!c);return-1!=o?J7(t,o,c,a,n):Yst(t,e)<0?(n&&(RHt=a?x7(t):zI(t.l,t.m,t.h)),zI(0,0,0)):function(t,e,n,i,r,a){var o,s,c,l,u,h;for(o=Wut(e,c=z7(e)-z7(t)),s=zI(0,0,0);c>=0&&(!rst(t,o)||(c<22?s.l|=1<>>1,o.m=l>>>1|(1&u)<<21,o.l=h>>>1|(1&l)<<21,--c;return n&&Q7(s),a&&(i?(RHt=x7(t),r&&(RHt=$6(RHt,(U1(),jHt)))):RHt=zI(t.l,t.m,t.h)),s}(i?t:zI(t.l,t.m,t.h),e,c,a,r,n)}function r_t(t,e){var n,i,r,a,o,s,c,l,u,h,f,d,g;if(o=t.e,c=e.e,0==o)return e;if(0==c)return t;if((a=t.d)+(s=e.d)==2)return n=BY(t.a[0],kAt),i=BY(e.a[0],kAt),o==c?(g=bj(u=Set(n,i)),0==(d=bj(Lj(u,32)))?new iX(o,g):new Pz(o,2,t7(rk($pe,1),$Ct,28,15,[g,d]))):(lwt(),UM(o<0?Aet(i,n):Aet(n,i),0)?Xnt(o<0?Aet(i,n):Aet(n,i)):Yz(Xnt(d1(o<0?Aet(i,n):Aet(n,i)))));if(o==c)f=o,h=a>=s?VZ(t.a,a,e.a,s):VZ(e.a,s,t.a,a);else{if(0==(r=a!=s?a>s?1:-1:L8(t.a,e.a,a)))return lwt(),CUt;1==r?(f=o,h=NQ(t.a,a,e.a,s)):(f=c,h=NQ(e.a,s,t.a,a))}return OV(l=new Pz(f,h.length,h)),l}function a_t(t,e){var n,i,r,a,o,s,c;if(!(t.g>e.f||e.g>t.f)){for(n=0,i=0,o=t.w.a.ec().Kc();o.Ob();)r=KR(o.Pb(),12),_9(Y7(t7(rk(doe,1),RSt,8,0,[r.i.n,r.n,r.a])).b,e.g,e.f)&&++n;for(s=t.r.a.ec().Kc();s.Ob();)r=KR(s.Pb(),12),_9(Y7(t7(rk(doe,1),RSt,8,0,[r.i.n,r.n,r.a])).b,e.g,e.f)&&--n;for(c=e.w.a.ec().Kc();c.Ob();)r=KR(c.Pb(),12),_9(Y7(t7(rk(doe,1),RSt,8,0,[r.i.n,r.n,r.a])).b,t.g,t.f)&&++i;for(a=e.r.a.ec().Kc();a.Ob();)r=KR(a.Pb(),12),_9(Y7(t7(rk(doe,1),RSt,8,0,[r.i.n,r.n,r.a])).b,t.g,t.f)&&--i;n=0)return n;switch(vH(T1(t,n))){case 2:if(_B("",gtt(t,n.qk()).xe())){if(c=bpt(t,e,s=YH(T1(t,n)),KH(T1(t,n))))return c;for(o=0,l=(r=Mwt(t,e)).gc();o1,u=new GQ(d.b);BI(u.a)||BI(u.b);)f=(l=KR(BI(u.a)?jY(u.a):jY(u.b),18)).c==d?l.d:l.c,i.Math.abs(Y7(t7(rk(doe,1),RSt,8,0,[f.i.n,f.n,f.a])).b-s.b)>1&&lmt(t,l,s,o,d)}}function l_t(){l_t=E,_ge=(Jk(),kge).b,Sge=KR(l2(iG(kge.b),0),35),Tge=KR(l2(iG(kge.b),1),35),Ege=KR(l2(iG(kge.b),2),35),Bge=kge.bb,KR(l2(iG(kge.bb),0),35),KR(l2(iG(kge.bb),1),35),Fge=kge.fb,$ge=KR(l2(iG(kge.fb),0),35),KR(l2(iG(kge.fb),1),35),KR(l2(iG(kge.fb),2),19),zge=kge.qb,Uge=KR(l2(iG(kge.qb),0),35),KR(l2(iG(kge.qb),1),19),KR(l2(iG(kge.qb),2),19),qge=KR(l2(iG(kge.qb),3),35),Hge=KR(l2(iG(kge.qb),4),35),Kge=KR(l2(iG(kge.qb),6),35),Gge=KR(l2(iG(kge.qb),5),19),Cge=kge.j,Age=kge.k,Mge=kge.q,Lge=kge.w,Ige=kge.B,Oge=kge.A,Nge=kge.C,Dge=kge.D,Pge=kge._,Rge=kge.cb,jge=kge.hb}function u_t(t,e,n){var r,a,o,s,c,l,u,h,f,d,g,p,b,m,y,w,v,x;for(h=gx(qD(fut(t,(CEt(),r6t)))),r=gx(qD(fut(t,_6t))),E7(d=new Vc,r6t,h+r),y=(u=e).d,b=u.c.i,w=u.d.i,m=FL(b.c),v=FL(w.c),a=new yy,f=m;f<=v;f++)Md(c=new Bat(t),(Vut(),eXt)),E7(c,(jEt(),U1t),u),E7(c,R5t,(plt(),Kle)),E7(c,o6t,d),g=KR(c$(t.b,f),30),f==m?yst(c,g.a.c.length-n,g):nY(c,g),(x=gx(qD(fut(u,z3t))))<0&&E7(u,z3t,x=0),c.o.b=x,p=i.Math.floor(x/2),Vft(s=new sht,(MTt(),Cue)),iY(s,c),s.n.b=p,Vft(l=new sht,sue),iY(l,c),l.n.b=p,rY(u,s),p6(o=new EG,u),E7(o,J3t,null),eY(o,l),rY(o,y),tct(c,u,o),Dy(a.c,o),u=o;return a}function h_t(t,e){var n,i,r,a,o,s,c,l,u,h,f,d,g,p,b;for(s=KR(fht(t,(MTt(),Cue)).Kc().Pb(),12).e,h=KR(fht(t,sue).Kc().Pb(),12).g,o=s.c.length,b=EY(KR(c$(t.j,0),12));o-- >0;){for(LY(0,s.c.length),d=KR(s.c[0],18),LY(0,h.c.length),r=g1((i=KR(h.c[0],18)).d.e,i,0),eW(d,i.d,r),eY(i,null),rY(i,null),f=d.a,e&&RF(f,new KL(b)),n=Mrt(i.a,0);n.b!=n.d.c;)RF(f,new KL(KR(gW(n),8)));for(p=d.b,u=new pg(i.b);u.a-2;default:return!1}switch(e=t.Rj(),t.p){case 0:return null!=e&&dx(zD(e))!=GM(t.k,0);case 1:return null!=e&&KR(e,222).a!=bj(t.k)<<24>>24;case 2:return null!=e&&KR(e,180).a!=(bj(t.k)&ECt);case 6:return null!=e&&GM(KR(e,168).a,t.k);case 5:return null!=e&&KR(e,17).a!=bj(t.k);case 7:return null!=e&&KR(e,191).a!=bj(t.k)<<16>>16;case 3:return null!=e&&gx(qD(e))!=t.j;case 4:return null!=e&&KR(e,161).a!=t.j;default:return null==e?null!=t.n:!wtt(e,t.n)}}function g_t(t,e,n){var i,r,a,o;return t.ol()&&t.nl()&&$M(o=yz(t,KR(n,58)))!==$M(n)?(t.xj(e),t.Dj(e,MJ(t,0,o)),t.al()&&(r=KR(n,54),a=t.ml()?t.kl()?r.Th(t.b,Oat(KR(N0(RG(t.b),t.Lj()),19)).n,KR(N0(RG(t.b),t.Lj()).Hk(),29).kk(),null):r.Th(t.b,knt(r.Dh(),Oat(KR(N0(RG(t.b),t.Lj()),19))),null,null):r.Th(t.b,-1-t.Lj(),null,null),!KR(o,54).Ph()&&(i=KR(o,54),a=t.ml()?t.kl()?i.Rh(t.b,Oat(KR(N0(RG(t.b),t.Lj()),19)).n,KR(N0(RG(t.b),t.Lj()).Hk(),29).kk(),a):i.Rh(t.b,knt(i.Dh(),Oat(KR(N0(RG(t.b),t.Lj()),19))),null,a):i.Rh(t.b,-1-t.Lj(),null,a)),a&&a.oj()),ZL(t.b)&&t.Jj(t.Ij(9,n,o,e,!1)),o):n}function p_t(t){var e,n,i,r,a,o,s,c,l,u;for(i=new yy,o=new pg(t.e.a);o.a0&&(s=i.Math.max(s,Y3(t.C.b+r.d.b,a))),h=r,f=a,d=o;t.C&&t.C.c>0&&(g=d+t.C.c,u&&(g+=h.d.c),s=i.Math.max(s,(CI(),p4(HMt),i.Math.abs(f-1)<=HMt||1==f||isNaN(f)&&isNaN(1)?0:g/(1-f)))),n.n.b=0,n.a.a=s}function m_t(t,e){var n,r,a,o,s,c,l,u,h,f,d,g;if(n=KR(zH(t.b,e),127),(l=KR(KR(IQ(t.r,e),21),87)).dc())return n.n.d=0,void(n.n.a=0);for(u=t.u.Hc((cdt(),eue)),s=0,t.A.Hc((ait(),Fue))&&$yt(t,e),c=l.Kc(),h=null,d=0,f=0;c.Ob();)o=gx(qD((r=KR(c.Pb(),117)).b.of((RN(),JKt)))),a=r.b.Mf().b,h?(g=f+h.d.a+t.w+r.d.d,s=i.Math.max(s,(CI(),p4(HMt),i.Math.abs(d-o)<=HMt||d==o||isNaN(d)&&isNaN(o)?0:g/(o-d)))):t.C&&t.C.d>0&&(s=i.Math.max(s,Y3(t.C.d+r.d.d,o))),h=r,d=o,f=a;t.C&&t.C.a>0&&(g=f+t.C.a,u&&(g+=h.d.a),s=i.Math.max(s,(CI(),p4(HMt),i.Math.abs(d-1)<=HMt||1==d||isNaN(d)&&isNaN(1)?0:g/(1-d)))),n.n.d=0,n.a.b=s}function y_t(t,e,n,i,r,a,o,s){var c,l,u,h,f,d,g,p;if(d=!1,c=Tbt(n.q,e.f+e.b-n.q.f),f=i.f>e.b&&s,u=rkt(i,p=r-(n.q.e+c-o),!1).a,f&&u>i.f)return!1;if(f){for(h=0,g=new pg(e.d);g.a=(LY(a,t.c.length),KR(t.c[a],186)).e,!f&&u>e.b&&!l))&&((l||f||u<=e.b)&&(l&&u>e.b?(n.d=u,vJ(n,bht(n,u))):(jct(n.q,c),n.c=!0),vJ(i,r-(n.s+n.r)),Cat(i,n.q.e+n.q.d,e.f),w4(e,i),t.c.length>a&&(Rst((LY(a,t.c.length),KR(t.c[a],186)),i),0==(LY(a,t.c.length),KR(t.c[a],186)).a.c.length&&PQ(t,a)),d=!0),d)}function w_t(t,e,n){var i,r,a,o,s,c;for(this.g=t,s=e.d.length,c=n.d.length,this.d=WZ(QWt,KIt,10,s+c,0,1),o=0;o0?n2(this,this.f/this.a):null!=vO(e.g,e.d[0]).a&&null!=vO(n.g,n.d[0]).a?n2(this,(gx(vO(e.g,e.d[0]).a)+gx(vO(n.g,n.d[0]).a))/2):null!=vO(e.g,e.d[0]).a?n2(this,vO(e.g,e.d[0]).a):null!=vO(n.g,n.d[0]).a&&n2(this,vO(n.g,n.d[0]).a)}function v_t(t,e){var n,i,r,a,o,s,c,l,u;for(t.a=new jq(function(t){var e,n;return n=(e=KR(t.e&&t.e(),9)).slice(),new UB(e,KR(LJ(n,e),9),e.length)}(Hce)),i=new pg(e.a);i.a=1&&(b-o>0&&h>=0?(c.n.a+=p,c.n.b+=a*o):b-o<0&&u>=0&&(c.n.a+=p*b,c.n.b+=a));t.o.a=e.a,t.o.b=e.b,E7(t,(CEt(),x5t),(ait(),new UB(i=KR(t_(jue),9),KR(jP(i,i.length),9),0)))}function __t(t,e,n){var r,a,o,s,c,l,u,h,f,d,g,p,b,m;if(n.Ug("Network simplex layering",1),t.b=e,m=4*KR(fut(e,(CEt(),b6t)),17).a,(b=t.b.a).c.length<1)n.Vg();else{for(p=null,a=Mrt(o=function(t,e){var n,i,r,a,o;for(null==t.c||t.c.length1)for(p=WZ($pe,$Ct,28,t.b.b.c.length,15,1),h=0,u=new pg(t.b.b);u.a=n}(this.k)}function S_t(t){var e,n,r,a,o,s,c;for(e=0,o=new pg(t.b.a);o.adAt||e.o==e9t&&u=s&&r<=c)s<=r&&a<=c?(n[u++]=r,n[u++]=a,i+=2):s<=r?(n[u++]=r,n[u++]=c,t.b[i]=c+1,o+=2):a<=c?(n[u++]=s,n[u++]=a,i+=2):(n[u++]=s,n[u++]=c,t.b[i]=c+1);else{if(!(cdCt)&&c<10);gk(t.c,new ve),S_t(t),function(t){oTt(t,(jtt(),Fce)),t.d=!0}(t.c),function(t){var e,n,r,a,o,s,c,l;for(o=new pg(t.a.b);o.a=2){for(o=KR(gW(c=Mrt(n,0)),8),s=KR(gW(c),8);s.a=t.j?(++t.j,SO(t.b,ttt(1)),SO(t.c,l)):(i=t.d[e.p][1],YX(t.b,c,ttt(KR(c$(t.b,c),17).a+1-i)),YX(t.c,c,gx(qD(c$(t.c,c)))+l-i*t.f)),(t.r==(Twt(),b7t)&&(KR(c$(t.b,c),17).a>t.k||KR(c$(t.b,c-1),17).a>t.k)||t.r==w7t&&(gx(qD(c$(t.c,c)))>t.n||gx(qD(c$(t.c,c-1)))>t.n))&&(s=!1),a=new Dj(lN(Det(e).a.Kc(),new u));Rgt(a);)o=KR(bQ(a),18).c.i,t.g[o.p]==c&&(r+=KR((h=N_t(t,o)).a,17).a,s=s&&dx(zD(h.b)));return t.g[e.p]=c,new rM(ttt(r+=t.d[e.p][0]),(FN(),!!s))}function D_t(t,e){var n,i;gx(qD(fut(e,(CEt(),e6t))))<2&&E7(e,e6t,2),KR(fut(e,C3t),88)==(jtt(),jce)&&E7(e,C3t,det(e)),0==(n=KR(fut(e,W5t),17)).a?E7(e,(jEt(),e0t),new pnt):E7(e,(jEt(),e0t),new vX(n.a)),null==zD(fut(e,b5t))&&E7(e,b5t,(FN(),$M(fut(e,D3t))===$M((Iet(),Wce)))),VT(new k$(null,new OY(e.a,16)),new cp(t)),VT(Z1(new k$(null,new OY(e.b,16)),new ge),new lp(t)),i=new x_t(e),E7(e,(jEt(),o0t),i),GH(t.a),Fz(t.a,(dut(),uWt),KR(fut(e,E3t),188)),Fz(t.a,hWt,KR(fut(e,c5t),188)),Fz(t.a,fWt,KR(fut(e,T3t),188)),Fz(t.a,dWt,KR(fut(e,v5t),188)),Fz(t.a,gWt,function(t){var e;return MI(),QE(a9t,t)||((e=new ao).a=t,$P(a9t,t,e)),KR(zH(a9t,t),645)}(KR(fut(e,D3t),223))),HL(t.a,function(t){var e,n,i;switch(n=KR(fut(t,(jEt(),A1t)),21),e=XL(oWt),KR(fut(t,(CEt(),U3t)),346)==(V9(),ble)&&V5(e,sWt),dx(zD(fut(t,q3t)))?QF(e,(dut(),uWt),(qEt(),bQt)):QF(e,(dut(),fWt),(qEt(),bQt)),null!=fut(t,(uZ(),uoe))&&V5(e,cWt),(dx(zD(fut(t,Q3t)))||dx(zD(fut(t,H3t))))&&dj(e,(dut(),gWt),(qEt(),LXt)),KR(fut(t,C3t),88).g){case 2:case 3:case 4:dj(QF(e,(dut(),uWt),(qEt(),OXt)),gWt,IXt)}switch(n.Hc((Hmt(),jJt))&&dj(QF(QF(e,(dut(),uWt),(qEt(),MXt)),dWt,CXt),gWt,AXt),$M(fut(t,s5t))!==$M((Twt(),x7t))&&QF(e,(dut(),fWt),(qEt(),cQt)),n.Hc(YJt)&&(QF(e,(dut(),uWt),(qEt(),gQt)),QF(e,hWt,fQt),QF(e,fWt,dQt)),$M(fut(t,a3t))!==$M((zut(),PJt))&&$M(fut(t,D3t))!==$M((Iet(),Xce))&&dj(e,(dut(),gWt),(qEt(),GXt)),dx(zD(fut(t,K3t)))&&QF(e,(dut(),fWt),(qEt(),UXt)),dx(zD(fut(t,_3t)))&&QF(e,(dut(),fWt),(qEt(),kQt)),function(t){var e,n,i,r;return $M(fut(t,(CEt(),U3t)))===$M((V9(),ble))?!t.e&&$M(fut(t,b3t))!==$M((_6(),QJt)):(i=KR(fut(t,m3t),299),r=dx(zD(fut(t,_3t)))||$M(fut(t,T3t))===$M((A4(),$Zt)),e=KR(fut(t,p3t),17).a,n=t.a.c.length,!r&&i!=(_6(),QJt)&&(0==e||e>n))}(t)&&(i=($M(fut(t,U3t))===$M(ble)?KR(fut(t,b3t),299):KR(fut(t,m3t),299))==(_6(),ZJt)?(qEt(),hQt):(qEt(),EQt),QF(e,(dut(),dWt),i)),KR(fut(t,I6t),388).g){case 1:QF(e,(dut(),dWt),(qEt(),_Qt));break;case 2:dj(QF(QF(e,(dut(),fWt),(qEt(),_Xt)),dWt,TXt),gWt,EXt)}return $M(fut(t,f3t))!==$M((Mit(),S7t))&&QF(e,(dut(),fWt),(qEt(),TQt)),e}(e)),E7(e,t0t,n_t(t.a,e))}function P_t(t,e,n,r,a){var o,s,c,l,u,h,f,d,g,p,b,m,y;for(f=new my,s=new yy,vft(t,n,t.d.Ag(),s,f),vft(t,r,t.d.Bg(),s,f),t.b=.2*(b=Jgt(Z1(new k$(null,new OY(s,16)),new yo)),m=Jgt(Z1(new k$(null,new OY(s,16)),new wo)),i.Math.min(b,m)),o=0,c=0;c=2&&(y=Qpt(s,!0,d),!t.e&&(t.e=new Rb(t)),qit(t.e,y,s,t.b)),vlt(s,d),function(t){var e,n,r,a,o,s,c,l,u;for(l=new yy,s=new yy,o=new pg(t);o.a-1){for(a=new pg(s);a.a0)&&(Fd(c,i.Math.min(c.o,r.o-1)),Rd(c,c.i-1),0==c.i&&Dy(s.c,c))}}(s),g=-1,h=new pg(s);h.a0&&0==n.c&&(!e&&(e=new yy),Dy(e.c,n));if(e)for(;0!=e.c.length;){if((n=KR(PQ(e,0),239)).b&&n.b.c.length>0)for(!n.b&&(n.b=new yy),a=new pg(n.b);a.ag1(t,n,0))return new rM(r,n)}else if(gx(vO(r.g,r.d[0]).a)>gx(vO(n.g,n.d[0]).a))return new rM(r,n);for(s=(!n.e&&(n.e=new yy),n.e).Kc();s.Ob();)!(o=KR(s.Pb(),239)).b&&(o.b=new yy),MY(0,(c=o.b).c.length),NS(c.c,0,n),o.c==c.c.length&&Dy(e.c,o)}return null}function q_t(t,e){var n,i,r,a,o,s,c,l,u;if(5!=e.e){if(null!=(l=e).b&&null!=t.b){for(xpt(t),$kt(t),xpt(l),$kt(l),n=WZ($pe,$Ct,28,t.b.length+l.b.length,15,1),u=0,i=0,o=0;i=s&&r<=c)s<=r&&a<=c?i+=2:s<=r?(t.b[i]=c+1,o+=2):a<=c?(n[u++]=r,n[u++]=s-1,i+=2):(n[u++]=r,n[u++]=s-1,t.b[i]=c+1,o+=2);else{if(!(c2?(G6(l=new yy,new yY(g,1,g.b)),p6(p=new Hgt(TEt(l,b+t.a)),e),Dy(n.c,p)):p=KR(Oq(t.b,r?yut(e):xut(e)),272),s=yut(e),r&&(s=xut(e)),o=function(t,e){var n,r,a;return a=ILt,Zrt(),r=vYt,a=i.Math.abs(t.b),(n=i.Math.abs(e.f-t.b))0?1:0;a.a[r]!=n;)a=a.a[r],r=t.a.Ne(n.d,a.d)>0?1:0;a.a[r]=i,i.b=n.b,i.a[0]=n.a[0],i.a[1]=n.a[1],n.a[0]=null,n.a[1]=null}(t,c,o,u=new nJ(h.d,h.e)),f==o&&(f=u)),f.a[f.a[1]==h?1:0]=h.a[h.a[0]?0:1],--t.c),t.b=c.a[1],t.b&&(t.b.b=!1),n.b}function G_t(t,e,n){var r,a,o,s,c,l,u,h,f,d;if(n)for(r=-1,h=new CV(e,0);h.b=14&&s<=16?rO(i,183)?FQ(n,Uft(KR(i,183))):rO(i,195)?FQ(n,blt(KR(i,195))):rO(i,201)?FQ(n,iht(KR(i,201))):rO(i,2111)?FQ(n,mlt(KR(i,2111))):rO(i,53)?FQ(n,Hft(KR(i,53))):rO(i,376)?FQ(n,udt(KR(i,376))):rO(i,846)?FQ(n,qft(KR(i,846))):rO(i,109)&&FQ(n,zft(KR(i,109))):e.a._b(i)?(n.a?tL(n.a,n.b):n.a=new pN(n.d),ZM(n.a,"[...]")):FQ(n,K_t(X2(i),new y$(e))):FQ(n,null==i?wSt:Get(i));return n.a?0==n.e.length?n.a.a:n.a.a+""+n.e:n.c}function Y_t(t,e){var n,i,r,a;a=t.F,null==e?(t.F=null,K8(t,null)):(t.F=(yH(e),e),-1!=(i=NL(e,Wlt(60)))?(tJ(0,i,e.length),r=e.substr(0,i),-1==NL(e,Wlt(46))&&!_B(r,aSt)&&!_B(r,Jjt)&&!_B(r,tzt)&&!_B(r,ezt)&&!_B(r,nzt)&&!_B(r,izt)&&!_B(r,rzt)&&!_B(r,azt)&&(r=ozt),-1!=(n=fN(e,Wlt(62)))&&(r+=""+(IY(n+1,e.length+1),e.substr(n+1))),K8(t,r)):(r=e,-1==NL(e,Wlt(46))&&(-1!=(i=NL(e,Wlt(91)))&&(tJ(0,i,e.length),r=e.substr(0,i)),_B(r,aSt)||_B(r,Jjt)||_B(r,tzt)||_B(r,ezt)||_B(r,nzt)||_B(r,izt)||_B(r,rzt)||_B(r,azt)?r=e:(r=ozt,-1!=i&&(r+=""+(IY(i,e.length+1),e.substr(i))))),K8(t,r),r==e&&(t.F=t.D))),4&t.Db&&!(1&t.Db)&&Q5(t,new nz(t,1,5,a,e))}function V_t(t,e){var n,i,r,a,o,s,c,l;if(IY(s=e.length-1,e.length),93==(o=e.charCodeAt(s))){if((a=NL(e,Wlt(91)))>=0)return r=function(t,e){var n;if(rO(n=Bbt(t.Dh(),e),102))return KR(n,19);throw Ay(new Tx(OFt+e+"' is not a valid reference"))}(t,(tJ(1,a,e.length),e.substr(1,a-1))),tJ(a+1,s,e.length),function(t,e,n){var i,r,a,o,s,c,l,u,h,f;for(c=new yy,h=e.length,o=q7(n),l=0;l=0?t.Lh(l,!1,!0):jdt(t,n,!1),61).Kc();a.Ob();){for(r=KR(a.Pb(),58),u=0;u=0){i=KR(EQ(t,K0(t,(tJ(1,n,e.length),e.substr(1,n-1))),!1),61),c=0;try{c=evt((IY(n+1,e.length+1),e.substr(n+1)),gCt,lSt)}catch(t){throw rO(t=j6(t),130)?Ay(new y1(t)):Ay(t)}if(c>16==-10?n=KR(t.Cb,292).Yk(e,n):t.Db>>16==-15&&(!e&&(KEt(),e=yde),!s&&(KEt(),s=yde),t.Cb.Yh()&&(o=new M1(t.Cb,1,13,s,e,dat(k1(KR(t.Cb,62)),t),!1),n?n.nj(o):n=o));else if(rO(t.Cb,90))t.Db>>16==-23&&(rO(e,90)||(KEt(),e=xde),rO(s,90)||(KEt(),s=xde),t.Cb.Yh()&&(o=new M1(t.Cb,1,10,s,e,dat(JW(KR(t.Cb,29)),t),!1),n?n.nj(o):n=o));else if(rO(t.Cb,457))for(!(a=KR(t.Cb,850)).b&&(a.b=new ly(new uv)),r=new uy(new G5(new Jd(a.b.a).a));r.a.b;)n=W_t(i=KR(d3(r.a).ld(),89),Jpt(i,a),n);return n}function X_t(t){var e,n,r,a,o,s,c,l,u,h,f,d;if((d=KR(spt(t,(zEt(),Sse)),21)).dc())return null;if(c=0,s=0,d.Hc((ait(),Rue))){for(h=KR(spt(t,Wse),101),r=2,n=2,a=2,o=2,e=DK(t)?KR(spt(DK(t),ese),88):KR(spt(t,ese),88),u=new zO((!t.c&&(t.c=new ez(Jhe,t,9,9)),t.c));u.e!=u.i.gc();)if(l=KR(Frt(u),123),(f=KR(spt(l,nce),64))==(MTt(),Sue)&&(f=Qvt(l,e),nat(l,nce,f)),h==(plt(),Kle))switch(f.g){case 1:r=i.Math.max(r,l.i+l.g);break;case 2:n=i.Math.max(n,l.j+l.f);break;case 3:a=i.Math.max(a,l.i+l.g);break;case 4:o=i.Math.max(o,l.j+l.f)}else switch(f.g){case 1:r+=l.g+2;break;case 2:n+=l.f+2;break;case 3:a+=l.g+2;break;case 4:o+=l.f+2}c=i.Math.max(r,a),s=i.Math.max(n,o)}return DTt(t,c,s,!0,!0)}function Q_t(t,e,n,r,a){var o,s,c,l,u,h,f,d,g,p,b,m,y,w,v,x;for(w=KR(bX(q0(nU(new k$(null,new OY(e.d,16)),new ib(n)),new rb(n)),bJ(new V,new Y,new nt,t7(rk(_Gt,1),sCt,108,0,[(e9(),vGt)]))),15),f=lSt,h=gCt,l=new pg(e.b.j);l.a0)?l&&(u=p.p,o?++u:--u,h=!(wbt(i=d7(KR(c$(p.c.a,u),10)),v,n[0])||Wj(i,v,n[0]))):h=!0),f=!1,(w=e.D.i)&&w.c&&s.e&&(o&&w.p>0||!o&&w.po?1:DL(isNaN(0),isNaN(o)))<0&&(p4(wPt),(i.Math.abs(o-1)<=wPt||1==o||isNaN(o)&&isNaN(1)?0:o<1?-1:o>1?1:DL(isNaN(o),isNaN(1)))<0)&&(p4(wPt),(i.Math.abs(0-s)<=wPt||0==s||isNaN(0)&&isNaN(s)?0:0s?1:DL(isNaN(0),isNaN(s)))<0)&&(p4(wPt),(i.Math.abs(s-1)<=wPt||1==s||isNaN(s)&&isNaN(1)?0:s<1?-1:s>1?1:DL(isNaN(s),isNaN(1)))<0))}function rTt(t,e,n){var r;if(n.Ug("StretchWidth layering",1),0!=e.a.c.length){for(t.c=e,t.t=0,t.u=0,t.i=fAt,t.g=dAt,t.d=gx(qD(fut(e,(CEt(),e6t)))),function(t){var e,n,i;for(i=t.c.a,t.p=(kq(i),new HB(i)),n=new pg(i);n.a0&&(e.a+=dSt),sTt(KR(Frt(o),167),e);for(e.a+=qIt,s=new KN((!i.c&&(i.c=new bB(Uhe,i,5,8)),i.c));s.e!=s.i.gc();)s.e>0&&(e.a+=dSt),sTt(KR(Frt(s),167),e);e.a+=")"}}}function cTt(t,e,n){var r,a,o,s,c,l,h,f;switch(n.Ug("Node promotion heuristic",1),t.i=e,t.r=KR(fut(e,(CEt(),s5t)),243),t.r!=(Twt(),g7t)&&t.r!=p7t?function(t){var e,n,r,a,o,s,c,l,h,f,d,g,p,b,m;for(t.o=gx(qD(fut(t.i,(CEt(),h6t)))),t.f=gx(qD(fut(t.i,a6t))),t.j=t.i.b.c.length,c=t.j-1,g=0,t.k=0,t.n=0,t.b=OQ(WZ(nUt,RSt,17,t.j,0,1)),t.c=OQ(WZ(ZHt,RSt,345,t.j,7,1)),s=new pg(t.i.b);s.a0&&SO(t.q,f),SO(t.p,f);p=l+(e-=r),h+=e*t.f,YX(t.b,c,ttt(p)),YX(t.c,c,h),t.k=i.Math.max(t.k,p),t.n=i.Math.max(t.n,h),t.e+=e,e+=m}}(t):function(t){var e,n,i,r,a,o,s;for(t.a=new WP,s=0,r=0,i=new pg(t.i.b);i.at.k&&(t.r=b7t,Dkt(t,o));break;case 4:for(t.r=k7t,Dkt(t,o),h=0,a=new pg(t.c);a.at.n&&(t.r=w7t,Dkt(t,o));break;case 6:Dkt(t,new Fp(oK(i.Math.ceil(t.g.length*f/100))));break;case 5:Dkt(t,new $p(oK(i.Math.ceil(t.e*f/100))));break;case 8:OEt(t,!0);break;case 9:OEt(t,!1)}t.r!=g7t&&t.r!=p7t?function(t,e){var n,i,r,a,o,s;for(r=new yy,n=0;n<=t.j;n++)(i=new $q(e)).p=t.j-n,Dy(r.c,i);for(s=new pg(t.p);s.a0&&(t.c[e.c.p][e.p].d+=Xpt(t.i,24)*RAt*.07000000029802322-.03500000014901161,t.c[e.c.p][e.p].a=t.c[e.c.p][e.p].d/t.c[e.c.p][e.p].b)}}function fTt(t,e){var n,i,r,a,o,s,c,l,u;return l="",0==e.length?t.ne(kCt,vCt,-1,-1):(_B((u=bft(e)).substr(0,3),"at ")&&(IY(3,u.length+1),u=u.substr(3)),-1==(o=(u=u.replace(/\[.*?\]/g,"")).indexOf("("))?-1==(o=u.indexOf("@"))?(l=u,u=""):(l=bft((IY(o+1,u.length+1),u.substr(o+1))),u=bft((tJ(0,o,u.length),u.substr(0,o)))):(tJ(o+1,n=u.indexOf(")",o),u.length),l=u.substr(o+1,n-(o+1)),u=bft((tJ(0,o,u.length),u.substr(0,o)))),-1!=(o=NL(u,Wlt(46)))&&(IY(o+1,u.length+1),u=u.substr(o+1)),(0==u.length||_B(u,"Anonymous function"))&&(u=vCt),s=fN(l,Wlt(58)),r=EB(l,Wlt(58),s-1),c=-1,i=-1,a=kCt,-1!=s&&-1!=r&&(tJ(0,r,l.length),a=l.substr(0,r),c=XN((tJ(r+1,s,l.length),l.substr(r+1,s-(r+1)))),i=XN((IY(s+1,l.length+1),l.substr(s+1)))),t.ne(a,u,c,i))}function dTt(t,e,n,r,a){var o,s,c,l,u,h,f,d,g,p,b,m,y,w,v,x,k,_;for(_=0,g=0,f=new pg(e.e);f.a=u&&k>=m&&(d+=p.n.b+b.n.b+b.a.b-x,++c));if(n)for(s=new pg(w.e);s.a=u&&k>=m&&(d+=p.n.b+b.n.b+b.a.b-x,++c))}c>0&&(_+=d/c,++g)}g>0?(e.a=a*_/g,e.g=g):(e.a=0,e.g=0)}function gTt(t,e,n,r){var a,o,s,c,l;return function(t,e){var n,i,r,a;for(n=!e||!t.u.Hc((cdt(),eue)),a=0,r=new pg(t.e.Xf());r.ar.d,r.d=i.Math.max(r.d,e),c&&n&&(r.d=i.Math.max(r.d,r.a),r.a=r.d+a);break;case 3:n=e>r.a,r.a=i.Math.max(r.a,e),c&&n&&(r.a=i.Math.max(r.a,r.d),r.d=r.a+a);break;case 2:n=e>r.c,r.c=i.Math.max(r.c,e),c&&n&&(r.c=i.Math.max(r.b,r.c),r.b=r.c+a);break;case 4:n=e>r.b,r.b=i.Math.max(r.b,e),c&&n&&(r.b=i.Math.max(r.b,r.c),r.c=r.b+a)}}}(c),function(t){switch(t.q.g){case 5:lct(t,(MTt(),cue)),lct(t,Eue);break;case 4:b_t(t,(MTt(),cue)),b_t(t,Eue);break;default:oft(t,(MTt(),cue)),oft(t,Eue)}}(c),function(t){switch(t.q.g){case 5:uct(t,(MTt(),sue)),uct(t,Cue);break;case 4:m_t(t,(MTt(),sue)),m_t(t,Cue);break;default:sft(t,(MTt(),sue)),sft(t,Cue)}}(c),function(t){var e,n,i,r,a,o,s;if(!t.A.dc()){if(t.A.Hc((ait(),Rue))&&(KR(zH(t.b,(MTt(),cue)),127).k=!0,KR(zH(t.b,Eue),127).k=!0,e=t.q!=(plt(),Yle)&&t.q!=Kle,Sd(KR(zH(t.b,sue),127),e),Sd(KR(zH(t.b,Cue),127),e),Sd(t.g,e),t.A.Hc(Fue)&&(KR(zH(t.b,cue),127).j=!0,KR(zH(t.b,Eue),127).j=!0,KR(zH(t.b,sue),127).k=!0,KR(zH(t.b,Cue),127).k=!0,t.g.k=!0)),t.A.Hc(Bue))for(t.a.j=!0,t.a.k=!0,t.g.j=!0,t.g.k=!0,s=t.B.Hc((Vwt(),Kue)),a=0,o=(r=Ert()).length;a1)for(UX(w,new XC(t,d=new Wkt(g,w,r))),Dy(s.c,d),h=w.a.ec().Kc();h.Ob();)u1(o,KR(h.Pb(),42).b);if(c.a.gc()>1)for(UX(c,new QC(t,d=new Wkt(g,c,r))),Dy(s.c,d),h=c.a.ec().Kc();h.Ob();)u1(o,KR(h.Pb(),42).b)}}function mTt(t,e,n){var r,a,o,s,c,l,u,h,f,d,g,p,b,m,y;if(b=t.n,m=t.o,d=t.d,f=gx(qD(Gnt(t,(CEt(),Z5t)))),e){for(h=f*(e.gc()-1),g=0,l=e.Kc();l.Ob();)h+=(s=KR(l.Pb(),10)).o.a,g=i.Math.max(g,s.o.b);for(y=b.a-(h-m.a)/2,o=b.b-d.d+g,a=r=m.a/(e.gc()+1),c=e.Kc();c.Ob();)(s=KR(c.Pb(),10)).n.a=y,s.n.b=o-s.o.b,y+=s.o.a+f,(u=rbt(s)).n.a=s.o.a/2-u.a.a,u.n.b=s.o.b,(p=KR(fut(s,(jEt(),d1t)),12)).e.c.length+p.g.c.length==1&&(p.n.a=a-p.a.a,p.n.b=0,iY(p,t)),a+=r}if(n){for(h=f*(n.gc()-1),g=0,l=n.Kc();l.Ob();)h+=(s=KR(l.Pb(),10)).o.a,g=i.Math.max(g,s.o.b);for(y=b.a-(h-m.a)/2,o=b.b+m.b+d.a-g,a=r=m.a/(n.gc()+1),c=n.Kc();c.Ob();)(s=KR(c.Pb(),10)).n.a=y,s.n.b=o,y+=s.o.a+f,(u=rbt(s)).n.a=s.o.a/2-u.a.a,u.n.b=0,(p=KR(fut(s,(jEt(),d1t)),12)).e.c.length+p.g.c.length==1&&(p.n.a=a-p.a.a,p.n.b=m.b,iY(p,t)),a+=r}}function yTt(t,e,n,i){var r,a,o,s,c,l,u,h,f,d,g,p;for(c=new IA(i.i+i.g/2,i.j+i.f/2),f=jkt(i),d=KR(spt(e,(CEt(),R5t)),101),p=KR(spt(i,q5t),64),_M(Brt(i),B5t)||(g=0==i.i&&0==i.j?0:function(t,e){var n;if(!dK(t))throw Ay(new Ex(gFt));switch(n=dK(t),e.g){case 1:return-(t.j+t.f);case 2:return t.i-n.g;case 3:return t.j-n.f;case 4:return-(t.i+t.g)}return 0}(i,p),nat(i,B5t,g)),E7(r=eEt(i,d,p,f,new IA(e.g,e.f),c,new IA(i.g,i.f),KR(fut(n,C3t),88),n),(jEt(),U1t),i),function(t,e){t.c=e}(a=KR(c$(r.j,0),12),function(t){var e,n,i,r,a;for(a=dK(t),r=new zO((!t.e&&(t.e=new bB(Ghe,t,7,4)),t.e));r.e!=r.i.gc();)if(i=KR(Frt(r),74),!Y0(Blt(KR(l2((!i.c&&(i.c=new bB(Uhe,i,5,8)),i.c),0),84)),a))return!0;for(n=new zO((!t.d&&(t.d=new bB(Ghe,t,8,5)),t.d));n.e!=n.i.gc();)if(e=KR(Frt(n),74),!Y0(Blt(KR(l2((!e.b&&(e.b=new bB(Uhe,e,4,7)),e.b),0),84)),a))return!0;return!1}(i)),E7(r,j5t,(cdt(),fet(iue))),u=KR(spt(e,j5t),181).Hc(eue),s=new zO((!i.n&&(i.n=new ez(Qhe,i,1,7)),i.n));s.e!=s.i.gc();)if(!dx(zD(spt(o=KR(Frt(s),135),E5t)))&&o.a&&(h=O9(o),SO(a.f,h),!u))switch(l=0,Xj(KR(spt(e,j5t),21))&&(l=kdt(new IA(o.i,o.j),new IA(o.g,o.f),new IA(i.g,i.f),0,p)),p.g){case 2:case 4:h.o.a=l;break;case 1:case 3:h.o.b=l}E7(r,l6t,qD(spt(DK(e),l6t))),E7(r,u6t,qD(spt(DK(e),u6t))),E7(r,s6t,qD(spt(DK(e),s6t))),SO(n.a,r),LH(t.a,i,r)}function wTt(t,e,n,i,r,a){var o,s,c,l,u,h;for(p6(l=new sht,e),Vft(l,KR(spt(e,(CEt(),q5t)),64)),E7(l,(jEt(),U1t),e),iY(l,n),(h=l.o).a=e.g,h.b=e.f,(u=l.n).a=e.i,u.b=e.j,LH(t.a,e,l),(o=nQ(iU(Z1(new k$(null,(!e.e&&(e.e=new bB(Ghe,e,7,4)),new OY(e.e,16))),new Ve),new Ke),new wp(e)))||(o=nQ(iU(Z1(new k$(null,(!e.d&&(e.d=new bB(Ghe,e,8,5)),new OY(e.d,16))),new We),new Ye),new vp(e))),o||(o=nQ(new k$(null,(!e.e&&(e.e=new bB(Ghe,e,7,4)),new OY(e.e,16))),new Xe)),E7(l,I1t,(FN(),!!o)),function(t,e,n,i){var r,a,o,s,c,l;if((s=t.j)==(MTt(),Sue)&&e!=(plt(),Wle)&&e!=(plt(),Xle)&&(Vft(t,s=kvt(t,n)),!(t.q?t.q:(QU(),QU(),DUt))._b((CEt(),B5t))&&s!=Sue&&(0!=t.n.a||0!=t.n.b)&&E7(t,B5t,function(t,e){var n;switch(n=t.i,e.g){case 1:return-(t.n.b+t.o.b);case 2:return t.n.a-n.o.a;case 3:return t.n.b-n.o.b;case 4:return-(t.n.a+t.o.a)}return 0}(t,s))),e==(plt(),Yle)){switch(l=0,s.g){case 1:case 3:(a=t.i.o.a)>0&&(l=t.n.a/a);break;case 2:case 4:(r=t.i.o.b)>0&&(l=t.n.b/r)}E7(t,(jEt(),J1t),l)}if(c=t.o,o=t.a,i)o.a=i.a,o.b=i.b,t.d=!0;else if(e!=Wle&&e!=Xle&&s!=Sue)switch(s.g){case 1:o.a=c.a/2;break;case 2:o.a=c.a,o.b=c.b/2;break;case 3:o.a=c.a/2,o.b=c.b;break;case 4:o.b=c.b/2}else o.a=c.a/2,o.b=c.b/2}(l,a,r,KR(spt(e,P5t),8)),c=new zO((!e.n&&(e.n=new ez(Qhe,e,1,7)),e.n));c.e!=c.i.gc();)!dx(zD(spt(s=KR(Frt(c),135),E5t)))&&s.a&&SO(l.f,O9(s));switch(r.g){case 2:case 1:(l.j==(MTt(),cue)||l.j==Eue)&&i.Fc((Hmt(),KJt));break;case 4:case 3:(l.j==(MTt(),sue)||l.j==Cue)&&i.Fc((Hmt(),KJt))}return l}function vTt(t){var e;if(this.r=function(t,e){return new cG(KR(kq(t),50),KR(kq(e),50))}(new Et,new St),this.b=new Uet(KR(kq(Due),297)),this.p=new Uet(KR(kq(Due),297)),this.i=new Uet(KR(kq(tYt),297)),this.e=t,this.o=new KL(t.Mf()),this.D=t.Yf()||dx(zD(t.of((zEt(),gse)))),this.A=KR(t.of((zEt(),Sse)),21),this.B=KR(t.of(Ise),21),this.q=KR(t.of(Wse),101),this.u=KR(t.of(Jse),21),!function(t){var e;return cdt(),!(g6(eK(Z$(eue,t7(rk(oue,1),sCt,279,0,[iue])),t))>1||(e=Z$(tue,t7(rk(oue,1),sCt,279,0,[Jle,rue])),g6(eK(e,t))>1))}(this.u))throw Ay(new Mx("Invalid port label placement: "+this.u));if(this.v=dx(zD(t.of(ece))),this.j=KR(t.of(Tse),21),!function(t){var e,n;return cpt(),!(g6(eK(Z$(Ile,t7(rk(Rle,1),sCt,95,0,[Ole])),t))>1||(e=Z$(Ale,t7(rk(Rle,1),sCt,95,0,[Cle,Lle])),g6(eK(e,t))>1)||(n=Z$(Ple,t7(rk(Rle,1),sCt,95,0,[Dle,Nle])),g6(eK(n,t))>1))}(this.j))throw Ay(new Mx("Invalid node label placement: "+this.j));this.n=KR(xst(t,kse),107),this.k=gx(qD(xst(t,yce))),this.d=gx(qD(xst(t,mce))),this.w=gx(qD(xst(t,Ece))),this.s=gx(qD(xst(t,wce))),this.t=gx(qD(xst(t,vce))),this.C=KR(xst(t,_ce),140),this.c=2*this.d,e=!this.B.Hc((Vwt(),zue)),this.f=new ert(0,e,0),this.g=new ert(1,e,0),cx(this.f,(d2(),fKt),this.g)}function xTt(t,e){var n,i,r,a,o,s,c;if(xF(),this.a=new cO(this),this.b=t,this.c=e,this.f=$z(T1((Xht(),age),e)),this.f.dc())if((s=pct(age,t))==e)for(this.e=!0,this.d=new yy,this.f=new ol,this.f.Fc(Jzt),KR(Ikt(_1(age,r2(t)),""),29)==t&&this.f.Fc(_j(age,r2(t))),r=Lwt(age,t).Kc();r.Ob();)switch(i=KR(r.Pb(),179),vH(T1(age,i))){case 4:this.d.Fc(i);break;case 5:this.f.Gc($z(T1(age,i)))}else if(UE(),KR(e,69).xk())for(this.e=!0,this.f=null,this.d=new yy,o=0,c=(null==t.i&&uxt(t),t.i).length;o=0&&o0&&(KR(zH(t.b,e),127).a.b=n)}function _Tt(t,e){var n,i,r,a,o,s,c,l,u,h,f,d,g;switch(u=new Zw,t.a.g){case 3:f=KR(fut(e.e,(jEt(),l0t)),15),d=KR(fut(e.j,l0t),15),g=KR(fut(e.f,l0t),15),n=KR(fut(e.e,s0t),15),i=KR(fut(e.j,s0t),15),r=KR(fut(e.f,s0t),15),G6(o=new yy,f),d.Jc(new ba),G6(o,ant(d)),G6(o,g),G6(a=new yy,n),G6(a,ant(i)),G6(a,r),E7(e.f,l0t,o),E7(e.f,s0t,a),E7(e.f,u0t,e.f),E7(e.e,l0t,null),E7(e.e,s0t,null),E7(e.j,l0t,null),E7(e.j,s0t,null);break;case 1:z3(u,e.e.a),RF(u,e.i.n),z3(u,ant(e.j.a)),RF(u,e.a.n),z3(u,e.f.a);break;default:z3(u,e.e.a),z3(u,ant(e.j.a)),z3(u,e.f.a)}FU(e.f.a),z3(e.f.a,u),eY(e.f,e.e.c),s=KR(fut(e.e,(CEt(),J3t)),75),l=KR(fut(e.j,J3t),75),c=KR(fut(e.f,J3t),75),(s||l||c)&&(Kz(h=new Zw,c),Kz(h,l),Kz(h,s),E7(e.f,J3t,h)),eY(e.j,null),rY(e.j,null),eY(e.e,null),rY(e.e,null),nY(e.a,null),nY(e.i,null),e.g&&_Tt(t,e.g)}function TTt(){var t,e,n;for(TTt=E,new Ntt(1,0),new Ntt(10,0),new Ntt(0,0),dUt=WZ(xUt,RSt,247,11,0,1),gUt=WZ(Fpe,_Ct,28,100,15,1),pUt=t7(rk(Hpe,1),wAt,28,15,[1,5,25,125,625,3125,15625,78125,390625,1953125,9765625,48828125,244140625,1220703125,6103515625,30517578125,152587890625,762939453125,3814697265625,19073486328125,95367431640625,476837158203125,0x878678326eac9]),bUt=WZ($pe,$Ct,28,pUt.length,15,1),mUt=t7(rk(Hpe,1),wAt,28,15,[1,10,100,TCt,1e4,vAt,1e6,1e7,1e8,oAt,1e10,1e11,1e12,1e13,1e14,1e15,1e16]),yUt=WZ($pe,$Ct,28,mUt.length,15,1),wUt=WZ(xUt,RSt,247,11,0,1),t=0;t0&&(IY(0,e.length),64!=(s=e.charCodeAt(0)))){if(37==s&&(c=!1,0!=(u=e.lastIndexOf("%"))&&(u==h-1||(IY(u+1,e.length),c=46==e.charCodeAt(u+1))))){if(tJ(1,u,e.length),y=_B("%",o=e.substr(1,u-1))?null:RTt(o),i=0,c)try{i=evt((IY(u+2,e.length+1),e.substr(u+2)),gCt,lSt)}catch(t){throw rO(t=j6(t),130)?Ay(new y1(t)):Ay(t)}for(p=g3(t.Gh());p.Ob();)if(rO(d=c6(p),519)&&(m=(r=KR(d,598)).d,(null==y?null==m:_B(y,m))&&0==i--))return r;return null}if(f=-1==(l=e.lastIndexOf("."))?e:(tJ(0,l,e.length),e.substr(0,l)),n=0,-1!=l)try{n=evt((IY(l+1,e.length+1),e.substr(l+1)),gCt,lSt)}catch(t){if(!rO(t=j6(t),130))throw Ay(t);f=e}for(f=_B("%",f)?null:RTt(f),g=g3(t.Gh());g.Ob();)if(rO(d=c6(g),197)&&(b=(a=KR(d,197)).xe(),(null==f?null==b:_B(f,b))&&0==n--))return a;return null}return V_t(t,e)}function DTt(t,e,n,r,a){var o,s,c,l,u,h,f,d,g,p,b,m,y,w,v,x,k,_;if(m=new IA(t.g,t.f),(b=gft(t)).a=i.Math.max(b.a,e),b.b=i.Math.max(b.b,n),_=b.a/m.a,h=b.b/m.b,x=b.a-m.a,l=b.b-m.b,r)for(s=DK(t)?KR(spt(DK(t),(zEt(),ese)),88):KR(spt(t,(zEt(),ese)),88),c=$M(spt(t,(zEt(),Wse)))===$M((plt(),Kle)),w=new zO((!t.c&&(t.c=new ez(Jhe,t,9,9)),t.c));w.e!=w.i.gc();)switch(y=KR(Frt(w),123),v=KR(spt(y,nce),64),v==(MTt(),Sue)&&(v=Qvt(y,s),nat(y,nce,v)),v.g){case 1:c||D2(y,y.i*_);break;case 2:D2(y,y.i+x),c||P2(y,y.j*h);break;case 3:c||D2(y,y.i*_),P2(y,y.j+l);break;case 4:c||P2(y,y.j*h)}if(sI(t,b.a,b.b),a)for(d=new zO((!t.n&&(t.n=new ez(Qhe,t,1,7)),t.n));d.e!=d.i.gc();)g=(f=KR(Frt(d),135)).i+f.g/2,p=f.j+f.f/2,(k=g/m.a)+(u=p/m.b)>=1&&(k-u>0&&p>=0?(D2(f,f.i+x),P2(f,f.j+l*u)):k-u<0&&g>=0&&(D2(f,f.i+x*k),P2(f,f.j+l)));return nat(t,(zEt(),Sse),(ait(),new UB(o=KR(t_(jue),9),KR(jP(o,o.length),9),0))),new IA(_,h)}function PTt(t){IE(t,new Dlt(yk(xk(mk(vk(wk(new hc,SBt),"ELK Radial"),'A radial layout provider which is based on the algorithm of Peter Eades published in "Drawing free trees.", published by International Institute for Advanced Study of Social Information Science, Fujitsu Limited in 1991. The radial layouter takes a tree and places the nodes in radial order around the root. The nodes of the same tree level are placed on the same radius.'),new Ms),SBt))),BV(t,SBt,iPt,Rrt(Cne)),BV(t,SBt,QLt,Rrt(Dne)),BV(t,SBt,sIt,Rrt(vne)),BV(t,SBt,SIt,Rrt(xne)),BV(t,SBt,oIt,Rrt(kne)),BV(t,SBt,cIt,Rrt(wne)),BV(t,SBt,rIt,Rrt(_ne)),BV(t,SBt,lIt,Rrt(Sne)),BV(t,SBt,mBt,Rrt(mne)),BV(t,SBt,bBt,Rrt(yne)),BV(t,SBt,pBt,Rrt(Mne)),BV(t,SBt,xBt,Rrt(One)),BV(t,SBt,kBt,Rrt(Lne)),BV(t,SBt,_Bt,Rrt(Ine)),BV(t,SBt,vBt,Rrt(Tne)),BV(t,SBt,dBt,Rrt(Ene)),BV(t,SBt,gBt,Rrt(Ane)),BV(t,SBt,yBt,Rrt(Nne)),BV(t,SBt,wBt,Rrt(Pne)),BV(t,SBt,fBt,Rrt(bne))}function BTt(t){var e,n,i,r,a,o,s,c,l,u,h;if(null==t)throw Ay(new Zx(wSt));if(l=t,c=!1,(a=t.length)>0&&(IY(0,t.length),(45==(e=t.charCodeAt(0))||43==e)&&(IY(1,t.length+1),t=t.substr(1),--a,c=45==e)),0==a)throw Ay(new Zx(hAt+l+'"'));for(;t.length>0&&(IY(0,t.length),48==t.charCodeAt(0));)IY(1,t.length+1),t=t.substr(1),--a;if(a>(Ivt(),oUt)[10])throw Ay(new Zx(hAt+l+'"'));for(r=0;r0&&(h=-parseInt((tJ(0,i,t.length),t.substr(0,i)),10),IY(i,t.length+1),t=t.substr(i),a-=i,n=!1);a>=o;){if(i=parseInt((tJ(0,o,t.length),t.substr(0,o)),10),IY(o,t.length+1),t=t.substr(o),a-=o,n)n=!1;else{if(F9(h,s)<0)throw Ay(new Zx(hAt+l+'"'));h=Cet(h,u)}h=Aet(h,i)}if(F9(h,0)>0)throw Ay(new Zx(hAt+l+'"'));if(!c&&F9(h=d1(h),0)<0)throw Ay(new Zx(hAt+l+'"'));return h}function RTt(t){var e,n,i,r,a,o,s,c;if(Nkt(),null==t)return null;if((r=NL(t,Wlt(37)))<0)return t;for(c=new pN((tJ(0,r,t.length),t.substr(0,r))),e=WZ(qpe,KFt,28,4,15,1),s=0,i=0,o=t.length;rr+2&&_7((IY(r+1,t.length),t.charCodeAt(r+1)),Pfe,Bfe)&&_7((IY(r+2,t.length),t.charCodeAt(r+2)),Pfe,Bfe))if(n=lF((IY(r+1,t.length),t.charCodeAt(r+1)),(IY(r+2,t.length),t.charCodeAt(r+2))),r+=2,i>0?128==(192&n)?e[s++]=n<<24>>24:i=0:n>=128&&(192==(224&n)?(e[s++]=n<<24>>24,i=2):224==(240&n)?(e[s++]=n<<24>>24,i=3):240==(248&n)&&(e[s++]=n<<24>>24,i=4)),i>0){if(s==i){switch(s){case 2:Vq(c,((31&e[0])<<6|63&e[1])&ECt);break;case 3:Vq(c,((15&e[0])<<12|(63&e[1])<<6|63&e[2])&ECt)}s=0,i=0}}else{for(a=0;a=2){if(0==(!t.a&&(t.a=new ez(Khe,t,6,6)),t.a).i)Vk(),n=new el,sJ((!t.a&&(t.a=new ez(Khe,t,6,6)),t.a),n);else if((!t.a&&(t.a=new ez(Khe,t,6,6)),t.a).i>1)for(f=new KN((!t.a&&(t.a=new ez(Khe,t,6,6)),t.a));f.e!=f.i.gc();)Nct(f);gxt(e,KR(l2((!t.a&&(t.a=new ez(Khe,t,6,6)),t.a),0),166))}if(h)for(r=new zO((!t.a&&(t.a=new ez(Khe,t,6,6)),t.a));r.e!=r.i.gc();)for(l=new zO((!(n=KR(Frt(r),166)).a&&(n.a=new AO(zhe,n,5)),n.a));l.e!=l.i.gc();)c=KR(Frt(l),377),s.a=i.Math.max(s.a,c.a),s.b=i.Math.max(s.b,c.b);for(o=new zO((!t.n&&(t.n=new ez(Qhe,t,1,7)),t.n));o.e!=o.i.gc();)a=KR(Frt(o),135),(u=KR(spt(a,gle),8))&&cI(a,u.a,u.b),h&&(s.a=i.Math.max(s.a,a.i+a.g),s.b=i.Math.max(s.b,a.j+a.f));return s}function $Tt(t,e,n,i,r){var a,o,s;if(n0(t,e),o=e[0],a=JH(n.c,0),s=-1,X7(n))if(i>0){if(o+i>t.length)return!1;s=Mdt((tJ(0,o+i,t.length),t.substr(0,o+i)),e)}else s=Mdt(t,e);switch(a){case 71:return s=Iht(t,o,t7(rk(fUt,1),RSt,2,6,[jCt,zCt]),e),r.e=s,!0;case 77:case 76:return function(t,e,n,i,r){return i<0?((i=Iht(t,r,t7(rk(fUt,1),RSt,2,6,[SCt,CCt,ACt,MCt,LCt,ICt,OCt,NCt,DCt,PCt,BCt,RCt]),e))<0&&(i=Iht(t,r,t7(rk(fUt,1),RSt,2,6,["Jan","Feb","Mar","Apr",LCt,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),e)),!(i<0||(n.k=i,0))):i>0&&(n.k=i-1,!0)}(t,e,r,s,o);case 69:case 99:return function(t,e,n,i){var r;return(r=Iht(t,n,t7(rk(fUt,1),RSt,2,6,[qCt,HCt,UCt,GCt,KCt,YCt,VCt]),e))<0&&(r=Iht(t,n,t7(rk(fUt,1),RSt,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]),e)),!(r<0||(i.d=r,0))}(t,e,o,r);case 97:return s=Iht(t,o,t7(rk(fUt,1),RSt,2,6,["AM","PM"]),e),r.b=s,!0;case 121:return function(t,e,n,i,r,a){var o,s,c;if(s=32,i<0){if(e[0]>=t.length||43!=(s=JH(t,e[0]))&&45!=s||(++e[0],(i=Mdt(t,e))<0))return!1;45==s&&(i=-i)}return 32==s&&e[0]-n==2&&2==r.b&&(o=(c=(new TT).q.getFullYear()-FCt+FCt-80)%100,a.a=i==o,i+=100*(c/100|0)+(i3;)r*=10,--a;t=(t+(r>>1))/r|0}return i.i=t,!0}(s,o,e[0],r);case 104:12==s&&(s=0);case 75:case 72:return!(s<0||(r.f=s,r.g=!1,0));case 107:return!(s<0||(r.f=s,r.g=!0,0));case 109:return!(s<0||(r.j=s,0));case 115:return!(s<0||(r.n=s,0));case 90:if(oc&&(v=0,x+=s+y,s=0),Hwt(b,n,v,x),e=i.Math.max(e,v+m.a),s=i.Math.max(s,m.b),v+=m.a+y;return b}function qTt(t,e,n){var r,a,o,s,c,l,u,h,f,d,g,p,b,m,y,w,v,x;for(s=new pg(t.a.b);s.a0)if(r=h.gc(),l=oK(i.Math.floor((r+1)/2))-1,a=oK(i.Math.ceil((r+1)/2))-1,e.o==n9t)for(u=a;u>=l;u--)e.a[v.p]==v&&(p=KR(h.Xb(u),42),g=KR(p.a,10),!NT(n,p.b)&&d>t.b.e[g.p]&&(e.a[g.p]=v,e.g[v.p]=e.g[g.p],e.a[v.p]=e.g[v.p],e.f[e.g[v.p].p]=(FN(),!!(dx(e.f[e.g[v.p].p])&v.k==(Vut(),eXt))),d=t.b.e[g.p]));else for(u=l;u<=a;u++)e.a[v.p]==v&&(m=KR(h.Xb(u),42),b=KR(m.a,10),!NT(n,m.b)&&d0&&(a=KR(c$(m.c.a,_-1),10),s=t.i[a.p],E=i.Math.ceil(HI(t.n,a,m)),o=k.a.e-m.d.d-(s.a.e+a.o.b+a.d.a)-E),u=fAt,_0&&T.a.e.e-T.a.a-(T.b.e.e-T.b.a)<0,p=v.a.e.e-v.a.a-(v.b.e.e-v.b.a)<0&&T.a.e.e-T.a.a-(T.b.e.e-T.b.a)>0,g=v.a.e.e+v.b.aT.b.e.e+T.a.a,x=0,!b&&!p&&(d?o+f>0?x=f:u-r>0&&(x=r):g&&(o+c>0?x=c:u-w>0&&(x=w))),k.a.e+=x,k.b&&(k.d.e+=x),1)))}function UTt(t,e,n){var r,a,o,s,c,l,u,h,f,d;if(r=new pU(e.Lf().a,e.Lf().b,e.Mf().a,e.Mf().b),a=new WL,t.c)for(s=new pg(e.Rf());s.al&&(i.a+=dO(WZ(Fpe,_Ct,28,-l,15,1))),i.a+="Is",NL(c,Wlt(32))>=0)for(r=0;r=2&&(i=KR(r.Kc().Pb(),117),n=t.u.Hc((cdt(),tue)),a=t.u.Hc(rue),!i.a&&!n&&(2==r.gc()||a))}(t,e),n=t.u.Hc((cdt(),Jle)),c=l.Kc();c.Ob();)if((s=KR(c.Pb(),117)).c&&!(s.c.d.c.length<=0)){switch(f=s.b.Mf(),(h=(u=s.c).i).b=(a=u.n,u.e.a+a.b+a.c),h.a=(r=u.n,u.e.b+r.d+r.a),e.g){case 1:s.a?(h.c=(f.a-h.b)/2,cJ(u,(PJ(),yKt))):o||n?(h.c=-h.b-t.s,cJ(u,(PJ(),vKt))):(h.c=f.a+t.s,cJ(u,(PJ(),wKt))),h.d=-h.a-t.t,kP(u,(z1(),TKt));break;case 3:s.a?(h.c=(f.a-h.b)/2,cJ(u,(PJ(),yKt))):o||n?(h.c=-h.b-t.s,cJ(u,(PJ(),vKt))):(h.c=f.a+t.s,cJ(u,(PJ(),wKt))),h.d=f.b+t.t,kP(u,(z1(),SKt));break;case 2:s.a?(i=t.v?h.a:KR(c$(u.d,0),187).Mf().b,h.d=(f.b-i)/2,kP(u,(z1(),EKt))):o||n?(h.d=-h.a-t.t,kP(u,(z1(),TKt))):(h.d=f.b+t.t,kP(u,(z1(),SKt))),h.c=f.a+t.s,cJ(u,(PJ(),wKt));break;case 4:s.a?(i=t.v?h.a:KR(c$(u.d,0),187).Mf().b,h.d=(f.b-i)/2,kP(u,(z1(),EKt))):o||n?(h.d=-h.a-t.t,kP(u,(z1(),TKt))):(h.d=f.b+t.t,kP(u,(z1(),SKt))),h.c=-h.b-t.s,cJ(u,(PJ(),vKt))}o=!1}}function WTt(t,e,n,i){var r,a,o,s,c,l,u,h,f,d,g,p,b,m,y;if(f=!1,h=!1,JL(KR(fut(i,(CEt(),R5t)),101))){o=!1,s=!1;t:for(g=new pg(i.j);g.a=i.o.b/2}y?(m=KR(fut(i,(jEt(),d0t)),15))?f?a=m:(r=KR(fut(i,h1t),15))?a=m.gc()<=r.gc()?m:r:(a=new yy,E7(i,h1t,a)):(a=new yy,E7(i,d0t,a)):(r=KR(fut(i,(jEt(),h1t)),15))?h?a=r:(m=KR(fut(i,d0t),15))?a=r.gc()<=m.gc()?r:m:(a=new yy,E7(i,d0t,a)):(a=new yy,E7(i,h1t,a)),a.Fc(t),E7(t,(jEt(),d1t),n),e.d==n?(rY(e,null),n.e.c.length+n.g.c.length==0&&iY(n,null),function(t){var e,n;(e=KR(fut(t,(jEt(),Z1t)),10))&&(u1((n=e.c).a,e),0==n.a.c.length&&u1(uH(e).b,n))}(n)):(eY(e,null),n.e.c.length+n.g.c.length==0&&iY(n,null)),FU(e.a)}function XTt(t,e,n){var r,a,o,s,c,l,h,f,d,g,p,b,m,y,w,v,x,k,_,T,E,S,C,A,M,L,I,O;for(n.Ug("MinWidth layering",1),p=e.b,E=e.a,O=KR(fut(e,(CEt(),r5t)),17).a,c=KR(fut(e,a5t),17).a,t.b=gx(qD(fut(e,e6t))),t.d=fAt,k=new pg(E);k.a0){for(f=u<100?null:new $k(u),g=new _5(e).g,b=WZ($pe,$Ct,28,u,15,1),i=0,w=new t2(u),r=0;r=0;)if(null!=d?wtt(d,g[c]):$M(d)===$M(g[c])){b.length<=i&&ext(b,0,b=WZ($pe,$Ct,28,2*b.length,15,1),0,i),b[i++]=r,sJ(w,g[c]);break t}if($M(d)===$M(s))break}}if(l=w,g=w.g,u=i,i>b.length&&ext(b,0,b=WZ($pe,$Ct,28,i,15,1),0,i),i>0){for(y=!0,a=0;a=0;)sst(t,b[o]);if(i!=u){for(r=u;--r>=i;)sst(l,r);ext(b,0,b=WZ($pe,$Ct,28,i,15,1),0,i)}e=l}}}else for(e=function(t,e){var n,i,r;if(e.dc())return WD(),WD(),_fe;for(n=new EP(t,e.gc()),r=new zO(t);r.e!=r.i.gc();)i=Frt(r),e.Hc(i)&&sJ(n,i);return n}(t,e),r=t.i;--r>=0;)e.Hc(t.g[r])&&(sst(t,r),y=!0);if(y){if(null!=b){for(h=1==(n=e.gc())?JK(t,4,e.Kc().Pb(),null,b[0],p):JK(t,6,e,b,b[0],p),f=n<100?null:new $k(n),r=e.Kc();r.Ob();)f=RB(t,KR(d=r.Pb(),76),f);f?(f.nj(h),f.oj()):Q5(t.e,h)}else{for(f=function(t){return t<100?null:new $k(t)}(e.gc()),r=e.Kc();r.Ob();)f=RB(t,KR(d=r.Pb(),76),f);f&&f.oj()}return!0}return!1}function ZTt(t,e){var n,r,a,o,s,c,l,h,f,d,g,p,b,m,y,w,v;for((n=new bat(e)).a||function(t){var e,n,r,a,o;switch(a=KR(c$(t.a,0),10),e=new Bat(t),SO(t.a,e),e.o.a=i.Math.max(1,a.o.a),e.o.b=i.Math.max(1,a.o.b),e.n.a=a.n.a,e.n.b=a.n.b,KR(fut(a,(jEt(),E1t)),64).g){case 4:e.n.a+=2;break;case 1:e.n.b+=2;break;case 2:e.n.a-=2;break;case 3:e.n.b-=2}iY(r=new sht,e),eY(n=new EG,o=KR(c$(a.j,0),12)),rY(n,r),aB(mL(r.n),o.n),aB(mL(r.a),o.a)}(e),h=function(t){var e,n,i,r,a,o,s;for(s=new tQ,o=new pg(t.a);o.a=s.b.c)&&(s.b=e),(!s.c||e.c<=s.c.c)&&(s.d=s.c,s.c=e),(!s.e||e.d>=s.e.d)&&(s.e=e),(!s.f||e.d<=s.f.d)&&(s.f=e);return i=new Urt((i7(),SWt)),TV(t,DWt,new Dx(t7(rk(TWt,1),pSt,382,0,[i]))),o=new Urt(MWt),TV(t,NWt,new Dx(t7(rk(TWt,1),pSt,382,0,[o]))),r=new Urt(CWt),TV(t,OWt,new Dx(t7(rk(TWt,1),pSt,382,0,[r]))),a=new Urt(AWt),TV(t,IWt,new Dx(t7(rk(TWt,1),pSt,382,0,[a]))),ibt(i.c,SWt),ibt(r.c,CWt),ibt(a.c,AWt),ibt(o.c,MWt),s.a.c.length=0,G6(s.a,i.c),G6(s.a,ant(r.c)),G6(s.a,a.c),G6(s.a,ant(o.c)),s}(h)),n}function JTt(t,e,n){var r,a,o,s,c,l,u,h,f,d,g,p;if(null==n.p[e.p]){c=!0,n.p[e.p]=0,s=e,p=n.o==(mK(),e9t)?dAt:fAt;do{a=t.b.e[s.p],o=s.c.a.c.length,n.o==e9t&&a>0||n.o==n9t&&a1&&(s=i.Math.min(s,i.Math.abs(KR(Yrt(c.a,1),8).b-h.b)))));else for(p=new pg(e.j);p.aa&&(o=d.a-a,s=lSt,r.c.length=0,a=d.a),d.a>=a&&(Dy(r.c,c),c.a.b>1&&(s=i.Math.min(s,i.Math.abs(KR(Yrt(c.a,c.a.b-2),8).b-d.b)))));if(0!=r.c.length&&o>e.o.a/2&&s>e.o.b/2){for(iY(g=new sht,e),Vft(g,(MTt(),cue)),g.n.a=e.o.a/2,iY(b=new sht,e),Vft(b,Eue),b.n.a=e.o.a/2,b.n.b=e.o.b,l=new pg(r);l.a=u.b?eY(c,b):eY(c,g)):(u=KR(qR(c.a),8),(0==c.a.b?EY(c.c):KR(oD(c.a),8)).b>=u.b?rY(c,b):rY(c,g)),(f=KR(fut(c,(CEt(),J3t)),75))&&ynt(f,u,!0);e.n.a=a-e.o.a/2}}function eEt(t,e,n,i,r,a,o,s,c){var l,u,h,f,d,g,p;switch(d=n,Md(u=new Bat(c),(Vut(),JWt)),E7(u,(jEt(),S1t),o),E7(u,(CEt(),R5t),(plt(),Kle)),p=gx(qD(t.of(B5t))),E7(u,B5t,p),iY(h=new sht,u),e!=Wle&&e!=Xle||(d=i>=0?snt(s):Ytt(snt(s)),t.qf(q5t,d)),l=new Hk,f=!1,t.pf(P5t)?(yD(l,KR(t.of(P5t),8)),f=!0):function(t,e,n){t.a=e,t.b=n}(l,o.a/2,o.b/2),d.g){case 4:E7(u,n5t,(bnt(),b0t)),E7(u,w1t,(I7(),cJt)),u.o.b=o.b,p<0&&(u.o.a=-p),Vft(h,(MTt(),sue)),f||(l.a=o.a),l.a-=o.a;break;case 2:E7(u,n5t,(bnt(),y0t)),E7(u,w1t,(I7(),oJt)),u.o.b=o.b,p<0&&(u.o.a=-p),Vft(h,(MTt(),Cue)),f||(l.a=0);break;case 1:E7(u,O1t,(q1(),r1t)),u.o.a=o.a,p<0&&(u.o.b=-p),Vft(h,(MTt(),Eue)),f||(l.b=o.b),l.b-=o.b;break;case 3:E7(u,O1t,(q1(),n1t)),u.o.a=o.a,p<0&&(u.o.b=-p),Vft(h,(MTt(),cue)),f||(l.b=0)}if(yD(h.n,l),E7(u,P5t,l),e==Gle||e==Yle||e==Kle){if(g=0,e==Gle&&t.pf(F5t))switch(d.g){case 1:case 2:g=KR(t.of(F5t),17).a;break;case 3:case 4:g=-KR(t.of(F5t),17).a}else switch(d.g){case 4:case 2:g=a.b,e==Yle&&(g/=r.b);break;case 1:case 3:g=a.a,e==Yle&&(g/=r.a)}E7(u,J1t,g)}return E7(u,E1t,d),u}function nEt(t,e,n){var i,r,a,o,s,c,l,u,h,f;for(p6(u=new Bat(n),e),E7(u,(jEt(),U1t),e),u.o.a=e.g,u.o.b=e.f,u.n.a=e.i,u.n.b=e.j,SO(n.a,u),LH(t.a,e,u),(0!=(!e.a&&(e.a=new ez(Zhe,e,10,11)),e.a).i||dx(zD(spt(e,(CEt(),W3t)))))&&E7(u,g1t,(FN(),!0)),l=KR(fut(n,A1t),21),(h=KR(fut(u,(CEt(),R5t)),101))==(plt(),Xle)?E7(u,R5t,Wle):h!=Wle&&l.Fc((Hmt(),GJt)),f=0,i=KR(fut(n,C3t),88),c=new zO((!e.c&&(e.c=new ez(Jhe,e,9,9)),e.c));c.e!=c.i.gc();)s=KR(Frt(c),123),($M(spt(r=DK(e),f3t))!==$M((Mit(),S7t))||$M(spt(r,E3t))===$M((Ait(),JZt))||$M(spt(r,E3t))===$M((Ait(),QZt))||dx(zD(spt(r,g3t)))||$M(spt(r,o3t))!==$M((Yit(),qWt))||$M(spt(r,s5t))===$M((Twt(),g7t))||$M(spt(r,s5t))===$M((Twt(),p7t))||$M(spt(r,c5t))===$M((Dbt(),F6t))||$M(spt(r,c5t))===$M((Dbt(),j6t)))&&!dx(zD(spt(e,u3t)))&&nat(s,H1t,ttt(f++)),dx(zD(spt(s,E5t)))||wTt(t,s,u,l,i,h);for(o=new zO((!e.n&&(e.n=new ez(Qhe,e,1,7)),e.n));o.e!=o.i.gc();)!dx(zD(spt(a=KR(Frt(o),135),E5t)))&&a.a&&SO(u.b,O9(a));return dx(zD(fut(u,n3t)))&&l.Fc((Hmt(),jJt)),dx(zD(fut(u,V3t)))&&(l.Fc((Hmt(),UJt)),l.Fc(HJt),E7(u,R5t,Wle)),u}function iEt(t,e,n,r,a,o,s){var c,l,u,h,f,d,g,p,b,m,y,w,v,x,k,_,T,E,S,C,A,M,L,I;for(b=0,C=0,u=new pg(t.b);u.ab&&(o&&(sL(_,g),sL(E,ttt(h.b-1)),SO(t.d,p),c.c.length=0),L=n.b,I+=g+e,g=0,f=i.Math.max(f,n.b+n.c+M)),Dy(c.c,l),Grt(l,L,I),f=i.Math.max(f,L+M+n.c),g=i.Math.max(g,d),L+=M+e,p=l;if(G6(t.a,c),SO(t.d,KR(c$(c,c.c.length-1),163)),f=i.Math.max(f,r),(A=I+g+n.a)0,b=w.g.c.length>0,l&&b?Dy(f.c,w):l?Dy(g.c,w):b&&Dy(y.c,w);for(d=new pg(g);d.aw.nh()-u.b&&(d=w.nh()-u.b),g>w.oh()-u.d&&(g=w.oh()-u.d),h=l.c.c.length?VW((Vut(),nXt),eXt):VW((Vut(),eXt),eXt),u*=2,a=n.a.g,n.a.g=i.Math.max(a,a+(u-a)),o=n.b.g,n.b.g=i.Math.max(o,o+(u-o)),r=e}}(t),o.Vg()),Aat(t.f),a=KR(fut(e,b6t),17).a*t.f.a.c.length,zwt(uk(hk(hR(t.f),a),!1),n.eh(1)),0!=t.d.a.gc()){for((o=n.eh(1)).Ug("Flexible Where Space Processing",1),s=KR(TN(Uj(iU(new k$(null,new OY(t.f.a,16)),new za),new Da)),17).a,c=KR(TN(Hj(iU(new k$(null,new OY(t.f.a,16)),new qa),new Pa)),17).a-s,l=CN(new yw,t.f),h=CN(new yw,t.f),Kbt(rE(iE(nE(aE(new mw,2e4),c),l),h)),VT(nU(nU(Lz(t.i),new Ha),new Ua),new gU(s,l,c,h)),r=t.d.a.ec().Kc();r.Ob();)KR(r.Pb(),218).g=1;zwt(uk(hk(hR(t.f),a),!1),o.eh(1)),o.Vg()}dx(zD(fut(e,b5t)))&&((o=n.eh(1)).Ug("Straight Edges Post-Processing",1),function(t){var e,n,i;for(z3(n=new jT,t.o),i=new $w;0!=n.b;)HTt(t,e=KR(0==n.b?null:(KD(0!=n.b),J0(n,n.a.a)),515),!0)&&SO(i.a,e);for(;0!=i.a.c.length;)HTt(t,e=KR(U8(i),515),!1)}(t),o.Vg()),function(t){var e,n,i,r,a,o,s,c,l,u,h,f,d,g,p;for(n=new pg(t.e.b);n.al&&(f=0,d+=c+e,c=0),awt(o,f,d),n=i.Math.max(n,f+u.a),c=i.Math.max(c,u.b),f+=u.a+e;return new IA(n+e,d+c+e)}(IN(t,(MTt(),due)),e),p=qot(IN(t,gue),e),x=qot(IN(t,kue),e),E=Hot(IN(t,Tue),e),d=Hot(IN(t,lue),e),w=qot(IN(t,xue),e),b=qot(IN(t,pue),e),_=qot(IN(t,_ue),e),k=qot(IN(t,uue),e),S=Hot(IN(t,fue),e),y=qot(IN(t,wue),e),v=qot(IN(t,yue),e),T=qot(IN(t,hue),e),C=Hot(IN(t,vue),e),g=Hot(IN(t,bue),e),m=qot(IN(t,mue),e),n=G0(t7(rk(Hpe,1),wAt,28,15,[w.a,E.a,_.a,C.a])),r=G0(t7(rk(Hpe,1),wAt,28,15,[p.a,f.a,x.a,m.a])),a=y.a,o=G0(t7(rk(Hpe,1),wAt,28,15,[b.a,d.a,k.a,g.a])),u=G0(t7(rk(Hpe,1),wAt,28,15,[w.b,p.b,b.b,v.b])),l=G0(t7(rk(Hpe,1),wAt,28,15,[E.b,f.b,d.b,m.b])),h=S.b,c=G0(t7(rk(Hpe,1),wAt,28,15,[_.b,x.b,k.b,T.b])),gJ(IN(t,due),n+a,u+h),gJ(IN(t,mue),n+a,u+h),gJ(IN(t,gue),n+a,0),gJ(IN(t,kue),n+a,u+h+l),gJ(IN(t,Tue),0,u+h),gJ(IN(t,lue),n+a+r,u+h),gJ(IN(t,pue),n+a+r,0),gJ(IN(t,_ue),0,u+h+l),gJ(IN(t,uue),n+a+r,u+h+l),gJ(IN(t,fue),0,u),gJ(IN(t,wue),n,0),gJ(IN(t,hue),0,u+h+l),gJ(IN(t,bue),n+a+r,0),(s=new Hk).a=G0(t7(rk(Hpe,1),wAt,28,15,[n+r+a+o,S.a,v.a,T.a])),s.b=G0(t7(rk(Hpe,1),wAt,28,15,[u+l+h+c,y.b,C.b,g.b])),s}function uEt(t){var e,n,r,a,o,s,c,l,u,h,f,d,g,p,b,m,y,w,v,x,k,_;for(p=new IA(fAt,fAt),e=new IA(dAt,dAt),x=new pg(t);x.a=48&&e<=57))throw Ay(new Nx(XEt((LI(),vjt))));for(i=e-48;r=48&&e<=57;)if((i=10*i+e-48)<0)throw Ay(new Nx(XEt((LI(),Tjt))));if(n=i,44==e){if(r>=t.j)throw Ay(new Nx(XEt((LI(),kjt))));if((e=JH(t.i,r++))>=48&&e<=57){for(n=e-48;r=48&&e<=57;)if((n=10*n+e-48)<0)throw Ay(new Nx(XEt((LI(),Tjt))));if(i>n)throw Ay(new Nx(XEt((LI(),_jt))))}else n=-1}if(125!=e)throw Ay(new Nx(XEt((LI(),xjt))));t.bm(r)?(UEt(),UEt(),a=new rX(9,a),t.d=r+1):(UEt(),UEt(),a=new rX(3,a),t.d=r),a.Om(i),a.Nm(n),AEt(t)}}return a}function dEt(t,e,n){var i,r,a,o,s,c,l,u,h,f,d,g,p,b,m,y,w;if(mz(t.a,e)){if(NT(KR(Oq(t.a,e),49),n))return 1}else LH(t.a,e,new hw);if(mz(t.a,n)){if(NT(KR(Oq(t.a,n),49),e))return-1}else LH(t.a,n,new hw);if(mz(t.e,e)){if(NT(KR(Oq(t.e,e),49),n))return-1}else LH(t.e,e,new hw);if(mz(t.e,n)){if(NT(KR(Oq(t.a,n),49),e))return 1}else LH(t.e,n,new hw);if(t.c==(Mit(),C7t)||!cD(e,(jEt(),H1t))||!cD(n,(jEt(),H1t))){for(h=null,l=new pg(e.j);l.a(o=Fct(t,n))?fwt(t,e,n):fwt(t,n,e),ro?1:0}return(i=KR(fut(e,(jEt(),H1t)),17).a)>(a=KR(fut(n,H1t),17).a)?fwt(t,e,n):fwt(t,n,e),ia?1:0}function gEt(t,e,n){var i,r,a,o,s,c,l,u,h,f,d,g,p;if(null==n)return null;if(t.a!=e.jk())throw Ay(new Tx(HFt+e.xe()+UFt));if(rO(e,469)){if(!(p=function(t,e){var n,i;if(null==e){for(!t.a&&(t.a=new ez(tde,t,9,5)),i=new zO(t.a);i.e!=i.i.gc();)if(null==((n=KR(Frt(i),694)).c??n.zb))return n}else for(!t.a&&(t.a=new ez(tde,t,9,5)),i=new zO(t.a);i.e!=i.i.gc();)if(_B(e,(n=KR(Frt(i),694)).c??n.zb))return n;return null}(KR(e,685),n)))throw Ay(new Tx(GFt+n+"' is not a valid enumerator of '"+e.xe()+"'"));return p}switch(gtt((Xht(),age),e).Nl()){case 2:n=gkt(n,!1);break;case 3:n=gkt(n,!0)}if(i=gtt(age,e).Jl())return i.jk().wi().ti(i,n);if(h=gtt(age,e).Ll()){for(p=new yy,l=0,u=(c=A8(n)).length;l1)for(d=new KN((!t.a&&(t.a=new ez(Khe,t,6,6)),t.a));d.e!=d.i.gc();)Nct(d);for(p=A,A>v+w?p=v+w:Ax+g?b=x+g:Mv-w&&px-g&&bA+C?_=A+C:vM+k?T=M+k:xA-C&&_M-k&&Tn&&(h=n-1),(f=N+Xpt(e,24)*RAt*u-u/2)<0?f=1:f>r&&(f=r-1),Vk(),$2(a=new Zc,h),L2(a,f),sJ((!s.a&&(s.a=new AO(zhe,s,5)),s.a),a)}function wEt(t){IE(t,new Dlt(xk(mk(vk(wk(new hc,XBt),"ELK Rectangle Packing"),"Algorithm for packing of unconnected boxes, i.e. graphs without edges. The given order of the boxes is always preserved and the main reading direction of the boxes is left to right. The algorithm is divided into two phases. One phase approximates the width in which the rectangles can be placed. The next phase places the rectangles in rows using the previously calculated width as bounding width and bundles rectangles with a similar height in blocks. A compaction step reduces the size of the drawing. Finally, the rectangles are expanded to fill their bounding box and eliminate empty unused spaces."),new $s))),BV(t,XBt,CLt,1.3),BV(t,XBt,aIt,(FN(),!1)),BV(t,XBt,ALt,Qie),BV(t,XBt,QLt,15),BV(t,XBt,VDt,Rrt(Pie)),BV(t,XBt,sIt,Rrt(qie)),BV(t,XBt,SIt,Rrt(Uie)),BV(t,XBt,oIt,Rrt(Gie)),BV(t,XBt,cIt,Rrt(zie)),BV(t,XBt,rIt,Rrt(Kie)),BV(t,XBt,lIt,Rrt(Zie)),BV(t,XBt,zBt,Rrt(ire)),BV(t,XBt,qBt,Rrt(nre)),BV(t,XBt,jBt,Rrt(are)),BV(t,XBt,$Bt,Rrt(rre)),BV(t,XBt,HBt,Rrt(Wie)),BV(t,XBt,UBt,Rrt(Vie)),BV(t,XBt,GBt,Rrt(Yie)),BV(t,XBt,KBt,Rrt(ere)),BV(t,XBt,eIt,Rrt(Fie)),BV(t,XBt,oPt,Rrt($ie)),BV(t,XBt,RBt,Rrt(Rie)),BV(t,XBt,BBt,Rrt(Bie)),BV(t,XBt,FBt,Rrt(jie)),BV(t,XBt,PBt,Rrt(tre))}function vEt(t,e){var n,i,r,a,o,s,c,l,u,h,f,d,g,p,b,m,y,w,v,x,k,_,T,E,S,C,A;if(hkt(),T=t.e,g=t.d,r=t.a,0==T)switch(e){case 0:return"0";case 1:return _At;case 2:return"0.00";case 3:return"0.000";case 4:return"0.0000";case 5:return"0.00000";case 6:return"0.000000";default:return(k=new Vx).a+=e<0?"0E+":"0E",k.a+=-e,k.a}if(v=WZ(Fpe,_Ct,28,1+(w=10*g+1+7),15,1),n=w,1==g)if((s=r[0])<0){A=BY(s,kAt);do{p=A,A=yct(A,10),v[--n]=48+bj(Aet(p,Cet(A,10)))&ECt}while(0!=F9(A,0))}else{A=s;do{p=A,A=A/10|0,v[--n]=p-10*A+48&ECt}while(0!=A)}else{ext(r,0,S=WZ($pe,$Ct,28,g,15,1),0,C=g);t:for(;;){for(_=0,l=C-1;l>=0;l--)m=Slt(Set(Aj(_,32),BY(S[l],kAt))),S[l]=bj(m),_=bj(Mj(m,32));y=bj(_),b=n;do{v[--n]=48+y%10&ECt}while(0!=(y=y/10|0)&&0!=n);for(i=9-b+n,c=0;c0;c++)v[--n]=48;for(h=C-1;0==S[h];h--)if(0==h)break t;C=h+1}for(;48==v[n];)++n}if(d=T<0,o=w-n-e-1,0==e)return d&&(v[--n]=45),Sit(v,n,w-n);if(e>0&&o>=-6){if(o>=0){for(u=n+o,f=w-1;f>=u;f--)v[f+1]=v[f];return v[++u]=46,d&&(v[--n]=45),Sit(v,n,w-n+1)}for(h=2;h<1-o;h++)v[--n]=48;return v[--n]=46,v[--n]=48,d&&(v[--n]=45),Sit(v,n,w-n)}return E=n+1,a=w,x=new Wx,d&&(x.a+="-"),a-E>=1?(Vq(x,v[n]),x.a+=".",x.a+=Sit(v,n+1,w-n-1)):x.a+=Sit(v,n,w-n),x.a+="E",o>0&&(x.a+="+"),x.a+=""+o,x.a}function xEt(t,e){var n,r,a,o,s,c,l,u,h,f,d,g,p,b,m,y,w,v,x;switch(t.c=e,t.g=new my,BE(),cnt(new Qg(new ix(t.c))),y=HD(spt(t.c,(but(),eae))),s=KR(spt(t.c,iae),324),v=KR(spt(t.c,rae),437),a=KR(spt(t.c,Xre),490),w=KR(spt(t.c,nae),438),t.j=gx(qD(spt(t.c,aae))),o=t.a,s.g){case 0:o=t.a;break;case 1:o=t.b;break;case 2:o=t.i;break;case 3:o=t.e;break;case 4:o=t.f;break;default:throw Ay(new Tx(nRt+(null!=s.f?s.f:""+s.g)))}if(t.d=new cK(o,v,a),E7(t.d,(B5(),bYt),zD(spt(t.c,Zre))),t.d.c=dx(zD(spt(t.c,Qre))),0==eG(t.c).i)return t.d;for(u=new zO(eG(t.c));u.e!=u.i.gc();){for(f=(l=KR(Frt(u),27)).g/2,h=l.f/2,x=new IA(l.i+f,l.j+h);mz(t.g,x);)bD(x,(i.Math.random()-.5)*GLt,(i.Math.random()-.5)*GLt);g=KR(spt(l,(zEt(),vse)),140),p=new jK(x,new pU(x.a-f-t.j/2-g.b,x.b-h-t.j/2-g.d,l.g+t.j+(g.b+g.c),l.f+t.j+(g.d+g.a))),SO(t.d.i,p),LH(t.g,x,new rM(p,l))}switch(w.g){case 0:if(null==y)t.d.d=KR(c$(t.d.i,0),68);else for(m=new pg(t.d.i);m.a1&&dX(h,y,h.c.b,h.c),H0(a)));y=w}return h}function _Et(t,e,n){var i,r,a,o,s,c,l,u,h,f,d,g,p,b,m,y,w,v,x,k,_,T,E,S;for(n.Ug(QPt,1),S=KR(bX(nU(new k$(null,new OY(e,16)),new gs),bJ(new V,new Y,new nt,t7(rk(_Gt,1),sCt,108,0,[(e9(),vGt)]))),15),u=KR(bX(nU(new k$(null,new OY(e,16)),new Zb(e)),bJ(new V,new Y,new nt,t7(rk(_Gt,1),sCt,108,0,[vGt]))),15),g=KR(bX(nU(new k$(null,new OY(e,16)),new Qb(e)),bJ(new V,new Y,new nt,t7(rk(_Gt,1),sCt,108,0,[vGt]))),15),p=WZ(z9t,RPt,40,e.gc(),0,1),o=0;o=0&&E=0&&!p[d]){p[d]=r,u.gd(s),--s;break}if((d=E-f)=0&&!p[d]){p[d]=r,u.gd(s),--s;break}}for(g.jd(new ps),c=p.length-1;c>=0;c--)!p[c]&&!g.dc()&&(p[c]=KR(g.Xb(0),40),g.gd(0));for(l=0;l=0;c--)RF(n,(LY(c,o.c.length),KR(o.c[c],8)));return n}function EEt(t,e,n){var r,a,o,s,c,l,u,h,f,d,g,p,b,m,y,w,v;for(w=gx(qD(spt(e,(Dyt(),die)))),d=gx(qD(spt(e,hie))),f=gx(qD(spt(e,cie))),S3((!e.a&&(e.a=new ez(Zhe,e,10,11)),e.a)),m=Fkt((!e.a&&(e.a=new ez(Zhe,e,10,11)),e.a),w,t.b),b=0;bf&&Rst((LY(f,e.c.length),KR(e.c[f],186)),u),u=null;e.c.length>f&&0==(LY(f,e.c.length),KR(e.c[f],186)).a.c.length;)u1(e,(LY(f,e.c.length),e.c[f]));if(!u){--o;continue}if(!dx(zD(KR(c$(u.b,0),27).of((ayt(),jie))))&&fvt(e,g,a,u,b,n,f,i)){p=!0;continue}if(b){if(d=g.b,h=u.f,!dx(zD(KR(c$(u.b,0),27).of(jie)))&&y_t(e,g,a,u,n,f,i,r)){if(p=!0,d=t.j)return t.a=-1,void(t.c=1);if(e=JH(t.i,t.d++),t.a=e,1!=t.b){switch(e){case 124:i=2;break;case 42:i=3;break;case 43:i=4;break;case 63:i=5;break;case 41:i=7;break;case 46:i=8;break;case 91:i=9;break;case 94:i=11;break;case 36:i=12;break;case 40:if(i=6,t.d>=t.j||63!=JH(t.i,t.d))break;if(++t.d>=t.j)throw Ay(new Nx(XEt((LI(),U$t))));switch(e=JH(t.i,t.d++)){case 58:i=13;break;case 61:i=14;break;case 33:i=15;break;case 91:i=19;break;case 62:i=18;break;case 60:if(t.d>=t.j)throw Ay(new Nx(XEt((LI(),U$t))));if(61==(e=JH(t.i,t.d++)))i=16;else{if(33!=e)throw Ay(new Nx(XEt((LI(),G$t))));i=17}break;case 35:for(;t.d=t.j)throw Ay(new Nx(XEt((LI(),H$t))));t.a=JH(t.i,t.d++);break;default:i=0}t.c=i}else{switch(e){case 92:if(i=10,t.d>=t.j)throw Ay(new Nx(XEt((LI(),H$t))));t.a=JH(t.i,t.d++);break;case 45:512==(512&t.e)&&t.dt.a.c.length-1;)SO(t.a,new rM(ILt,DPt));i=KR(fut(r,mee),17).a,n==(jtt(),Fce)||n==$ce?(r.e.agx(qD(KR(c$(t.a,i),42).b))&&Gd(KR(c$(t.a,i),42),r.e.a+r.f.a)):(r.e.bgx(qD(KR(c$(t.a,i),42).b))&&Gd(KR(c$(t.a,i),42),r.e.b+r.f.b))}}(t,e,r),function(t,e){var n,i,r,a,o,s,c,l,u,h,f;for(u=(r=KR(fut(t,(axt(),Gte)),88))==(jtt(),Fce)||r==$ce?Rce:$ce,n=KR(bX(nU(new k$(null,new OY(t.b,16)),new Po),bJ(new V,new Y,new nt,t7(rk(_Gt,1),sCt,108,0,[(e9(),vGt)]))),15),(c=KR(bX(iU(n.Oc(),new Yb(e)),bJ(new V,new Y,new nt,t7(rk(_Gt,1),sCt,108,0,[vGt]))),15)).Gc(KR(bX(iU(n.Oc(),new Vb(e)),bJ(new V,new Y,new nt,t7(rk(_Gt,1),sCt,108,0,[vGt]))),16)),c.jd(new Wb(u)),f=new y_(new Xb(r)),i=new my,s=c.Kc();s.Ob();)o=KR(s.Pb(),240),l=KR(o.a,40),dx(zD(o.c))?(f.a.zc(l,(FN(),HHt)),new Cg(f.a.Zc(l,!1)).a.gc()>0&&LH(i,l,KR(new Cg(f.a.Zc(l,!1)).a.Vc(),40)),new Cg(f.a.ad(l,!0)).a.gc()>1&&LH(i,Lnt(f,l),l)):(new Cg(f.a.Zc(l,!1)).a.gc()>0&&$M(a=KR(new Cg(f.a.Zc(l,!1)).a.Vc(),40))===$M(FM(U$(i.f,l)))&&KR(fut(l,(ETt(),ste)),15).Fc(a),new Cg(f.a.ad(l,!0)).a.gc()>1&&(h=Lnt(f,l),$M(FM(U$(i.f,h)))===$M(l)&&KR(fut(h,(ETt(),ste)),15).Fc(l)),f.a.Bc(l))}(e,d/2/2),E3(g=e.b,new Ub(r)),l=Mrt(g,0);l.b!=l.d.c;)if(!dx(zD(fut(c=KR(gW(l),40),(ETt(),Mte))))){if(i=Oyt(c,r),p=kxt(c,e),h=0,f=0,i)switch(b=i.e,r.g){case 2:h=b.a-d-c.f.a,p.e.a-d-c.f.ah&&(h=p.e.a+p.f.a+d),f=h+c.f.a;break;case 4:h=b.b-d-c.f.b,p.e.b-d-c.f.bh&&(h=p.e.b+p.f.b+d),f=h+c.f.b}else if(p)switch(r.g){case 2:f=(h=p.e.a-d-c.f.a)+c.f.a;break;case 1:f=(h=p.e.a+p.f.a+d)+c.f.a;break;case 4:f=(h=p.e.b-d-c.f.b)+c.f.b;break;case 3:f=(h=p.e.b+p.f.b+d)+c.f.b}$M(fut(e,Vte))===$M((v8(),ete))?(a=h,o=f,null!=(s=c8(nU(new k$(null,new OY(t.a,16)),new JC(a,o)))).a?r==(jtt(),Fce)||r==$ce?c.e.a=h:c.e.b=h:null!=(s=r==(jtt(),Fce)||r==zce?c8(nU(u2(new k$(null,new OY(t.a,16))),new Gb(a))):c8(nU(u2(new k$(null,new OY(t.a,16))),new Kb(a)))).a&&(r==Fce||r==$ce?c.e.a=gx(qD((KD(null!=s.a),KR(s.a,42)).a)):c.e.b=gx(qD((KD(null!=s.a),KR(s.a,42)).a))),null!=s.a&&(u=g1(t.a,(KD(null!=s.a),s.a),0))>0&&u!=KR(fut(c,mee),17).a&&(E7(c,cte,(FN(),!0)),E7(c,mee,ttt(u)))):r==(jtt(),Fce)||r==$ce?c.e.a=h:c.e.b=h}n.Vg()}}function LEt(t){var e,n,i,r,a,o,s,c;for(t.b=1,AEt(t),e=null,0==t.c&&94==t.a?(AEt(t),UEt(),UEt(),Nmt(e=new UY(4),0,Dqt),o=new UY(4)):(UEt(),UEt(),o=new UY(4)),r=!0;1!=(c=t.c);){if(0==c&&93==t.a&&!r){e&&(q_t(e,o),o=e);break}if(n=t.a,i=!1,10==c)switch(n){case 100:case 68:case 119:case 87:case 115:case 83:pkt(o,nvt(n)),i=!0;break;case 105:case 73:case 99:case 67:pkt(o,nvt(n)),(n=-1)<0&&(i=!0);break;case 112:case 80:if(!(s=Tdt(t,n)))throw Ay(new Nx(XEt((LI(),ijt))));pkt(o,s),i=!0;break;default:n=dyt(t)}else if(24==c&&!r){if(e&&(q_t(e,o),o=e),q_t(o,LEt(t)),0!=t.c||93!=t.a)throw Ay(new Nx(XEt((LI(),sjt))));break}if(AEt(t),!i){if(0==c){if(91==n)throw Ay(new Nx(XEt((LI(),cjt))));if(93==n)throw Ay(new Nx(XEt((LI(),ljt))));if(45==n&&!r&&93!=t.a)throw Ay(new Nx(XEt((LI(),ujt))))}if(0!=t.c||45!=t.a||45==n&&r)Nmt(o,n,n);else{if(AEt(t),1==(c=t.c))throw Ay(new Nx(XEt((LI(),ajt))));if(0==c&&93==t.a)Nmt(o,n,n),Nmt(o,45,45);else{if(0==c&&93==t.a||24==c)throw Ay(new Nx(XEt((LI(),ujt))));if(a=t.a,0==c){if(91==a)throw Ay(new Nx(XEt((LI(),cjt))));if(93==a)throw Ay(new Nx(XEt((LI(),ljt))));if(45==a)throw Ay(new Nx(XEt((LI(),ujt))))}else 10==c&&(a=dyt(t));if(AEt(t),n>a)throw Ay(new Nx(XEt((LI(),djt))));Nmt(o,n,a)}}}r=!1}if(1==t.c)throw Ay(new Nx(XEt((LI(),ajt))));return xpt(o),$kt(o),t.b=0,AEt(t),o}function IEt(t,e,n){var i,r,a,o,s,c,l,h,f,d,g,p,b,m,y,w,v,x,k;if(n.Ug("Coffman-Graham Layering",1),0!=e.a.c.length){for(k=KR(fut(e,(CEt(),t5t)),17).a,c=0,o=0,d=new pg(e.a);d.a=k||!git(y,i))&&(i=FH(e,h)),nY(y,i),a=new Dj(lN(Det(y).a.Kc(),new u));Rgt(a);)r=KR(bQ(a),18),!t.a[r.p]&&(b=r.c.i,--t.e[b.p],0==t.e[b.p]&&iF(Zlt(g,b),EAt));for(l=h.c.length-1;l>=0;--l)SO(e.b,(LY(l,h.c.length),KR(h.c[l],30)));e.a.c.length=0,n.Vg()}else n.Vg()}function OEt(t,e){var n,i,r,a,o,s,c,l,h,f,d,g,p,b,m,y,w,v;v=!1;do{for(v=!1,a=e?new Zd(t.a.b).a.gc()-2:1;e?a>=0:aKR(fut(b,H1t),17).a)&&(w=!1);if(w){for(s=e?a+1:a-1,o=!1,y=!0,i=!1,l=Mrt(kW(t.a,ttt(s)),0);l.b!=l.d.c;)cD(c=KR(gW(l),10),H1t)?c.p!=h.p&&(o|=e?KR(fut(c,H1t),17).aKR(fut(h,H1t),17).a,y=!1):!o&&y&&c.k==(Vut(),tXt)&&(i=!0,(f=e?KR(bQ(new Dj(lN(Det(c).a.Kc(),new u))),18).c.i:KR(bQ(new Dj(lN(Pet(c).a.Kc(),new u))),18).d.i)==h&&(n=e?KR(bQ(new Dj(lN(Pet(c).a.Kc(),new u))),18).d.i:KR(bQ(new Dj(lN(Det(c).a.Kc(),new u))),18).c.i,(e?KR(hD(t.a,n),17).a-KR(hD(t.a,f),17).a:KR(hD(t.a,f),17).a-KR(hD(t.a,n),17).a)<=2&&(y=!1)));if(i&&y&&(n=e?KR(bQ(new Dj(lN(Pet(h).a.Kc(),new u))),18).d.i:KR(bQ(new Dj(lN(Det(h).a.Kc(),new u))),18).c.i,(e?KR(hD(t.a,n),17).a-KR(hD(t.a,h),17).a:KR(hD(t.a,h),17).a-KR(hD(t.a,n),17).a)<=2&&n.k==(Vut(),nXt)&&(y=!1)),o||y){for(p=abt(t,h,e);0!=p.a.gc();)g=KR(p.a.ec().Kc().Pb(),10),p.a.Bc(g),z3(p,abt(t,g,e));--d,v=!0}}}}while(v)}function NEt(t,e,n,i,r,a,o){var s,c,l,u,h,f,d,g;return f=KR(i.a,17).a,d=KR(i.b,17).a,h=t.b,g=t.c,s=0,u=0,e==(jtt(),Fce)||e==$ce?(u=HC(Ott(rU(iU(new k$(null,new OY(n.b,16)),new ms),new Jo))),h.e.b+h.f.b/2>u?(l=++d,s=gx(qD(TN(Hj(iU(new k$(null,new OY(n.b,16)),new SA(r,l)),new ts))))):(c=++f,s=gx(qD(TN(Uj(iU(new k$(null,new OY(n.b,16)),new CA(r,c)),new es)))))):(u=HC(Ott(rU(iU(new k$(null,new OY(n.b,16)),new as),new Zo))),h.e.a+h.f.a/2>u?(l=++d,s=gx(qD(TN(Hj(iU(new k$(null,new OY(n.b,16)),new TA(r,l)),new ns))))):(c=++f,s=gx(qD(TN(Uj(iU(new k$(null,new OY(n.b,16)),new EA(r,c)),new is)))))),e==Fce?(sL(t.a,new IA(gx(qD(fut(h,(ETt(),xte))))-r,s)),sL(t.a,new IA(g.e.a+g.f.a+r+a,s)),sL(t.a,new IA(g.e.a+g.f.a+r+a,g.e.b+g.f.b/2)),sL(t.a,new IA(g.e.a+g.f.a,g.e.b+g.f.b/2))):e==$ce?(sL(t.a,new IA(gx(qD(fut(h,(ETt(),vte))))+r,h.e.b+h.f.b/2)),sL(t.a,new IA(h.e.a+h.f.a+r,s)),sL(t.a,new IA(g.e.a-r-a,s)),sL(t.a,new IA(g.e.a-r-a,g.e.b+g.f.b/2)),sL(t.a,new IA(g.e.a,g.e.b+g.f.b/2))):e==zce?(sL(t.a,new IA(s,gx(qD(fut(h,(ETt(),xte))))-r)),sL(t.a,new IA(s,g.e.b+g.f.b+r+a)),sL(t.a,new IA(g.e.a+g.f.a/2,g.e.b+g.f.b+r+a)),sL(t.a,new IA(g.e.a+g.f.a/2,g.e.b+g.f.b+r))):(0==t.a.b||(KR(oD(t.a),8).b=gx(qD(fut(h,(ETt(),vte))))+r*KR(o.b,17).a),sL(t.a,new IA(s,gx(qD(fut(h,(ETt(),vte))))+r*KR(o.b,17).a)),sL(t.a,new IA(s,g.e.b-r*KR(o.a,17).a-a))),new rM(ttt(f),ttt(d))}function DEt(){DEt=E,pEt(),Ndt(UWt=new VG,(MTt(),gue),due),Ndt(UWt,Tue,due),Ndt(UWt,pue,due),Ndt(UWt,xue,due),Ndt(UWt,vue,due),Ndt(UWt,yue,due),Ndt(UWt,xue,gue),Ndt(UWt,due,lue),Ndt(UWt,gue,lue),Ndt(UWt,Tue,lue),Ndt(UWt,pue,lue),Ndt(UWt,wue,lue),Ndt(UWt,xue,lue),Ndt(UWt,vue,lue),Ndt(UWt,yue,lue),Ndt(UWt,fue,lue),Ndt(UWt,due,kue),Ndt(UWt,gue,kue),Ndt(UWt,lue,kue),Ndt(UWt,Tue,kue),Ndt(UWt,pue,kue),Ndt(UWt,wue,kue),Ndt(UWt,xue,kue),Ndt(UWt,fue,kue),Ndt(UWt,_ue,kue),Ndt(UWt,vue,kue),Ndt(UWt,bue,kue),Ndt(UWt,yue,kue),Ndt(UWt,gue,Tue),Ndt(UWt,pue,Tue),Ndt(UWt,xue,Tue),Ndt(UWt,yue,Tue),Ndt(UWt,gue,pue),Ndt(UWt,Tue,pue),Ndt(UWt,xue,pue),Ndt(UWt,pue,pue),Ndt(UWt,vue,pue),Ndt(UWt,due,uue),Ndt(UWt,gue,uue),Ndt(UWt,lue,uue),Ndt(UWt,kue,uue),Ndt(UWt,Tue,uue),Ndt(UWt,pue,uue),Ndt(UWt,wue,uue),Ndt(UWt,xue,uue),Ndt(UWt,_ue,uue),Ndt(UWt,fue,uue),Ndt(UWt,yue,uue),Ndt(UWt,vue,uue),Ndt(UWt,mue,uue),Ndt(UWt,due,_ue),Ndt(UWt,gue,_ue),Ndt(UWt,lue,_ue),Ndt(UWt,Tue,_ue),Ndt(UWt,pue,_ue),Ndt(UWt,wue,_ue),Ndt(UWt,xue,_ue),Ndt(UWt,fue,_ue),Ndt(UWt,yue,_ue),Ndt(UWt,bue,_ue),Ndt(UWt,mue,_ue),Ndt(UWt,gue,fue),Ndt(UWt,Tue,fue),Ndt(UWt,pue,fue),Ndt(UWt,xue,fue),Ndt(UWt,_ue,fue),Ndt(UWt,yue,fue),Ndt(UWt,vue,fue),Ndt(UWt,due,hue),Ndt(UWt,gue,hue),Ndt(UWt,lue,hue),Ndt(UWt,Tue,hue),Ndt(UWt,pue,hue),Ndt(UWt,wue,hue),Ndt(UWt,xue,hue),Ndt(UWt,fue,hue),Ndt(UWt,yue,hue),Ndt(UWt,gue,vue),Ndt(UWt,lue,vue),Ndt(UWt,kue,vue),Ndt(UWt,pue,vue),Ndt(UWt,due,bue),Ndt(UWt,gue,bue),Ndt(UWt,kue,bue),Ndt(UWt,Tue,bue),Ndt(UWt,pue,bue),Ndt(UWt,wue,bue),Ndt(UWt,xue,bue),Ndt(UWt,xue,mue),Ndt(UWt,pue,mue),Ndt(UWt,fue,due),Ndt(UWt,fue,Tue),Ndt(UWt,fue,lue),Ndt(UWt,wue,due),Ndt(UWt,wue,gue),Ndt(UWt,wue,kue)}function PEt(t,e,n){var r,a,o,s,c,l,u,h,f,d,g,p,b,m,y,w,v,x,k;switch(n.Ug("Brandes & Koepf node placement",1),t.a=e,t.c=sxt(e),r=KR(fut(e,(CEt(),p5t)),281),g=dx(zD(fut(e,b5t))),t.d=r==(Sct(),SJt)&&!g||r==_Jt,function(t,e){var n,i,r,a,o,s,c,l,u,h,f,d,g,p,b,m,y,w;if(!((p=e.b.c.length)<3)){for(d=WZ($pe,$Ct,28,p,15,1),h=0,u=new pg(e.b);u.ao)&&Az(t.b,KR(b.b,18));++s}a=o}}}(t,e),x=null,k=null,m=null,y=null,E4(4,oCt),b=new lZ(4),KR(fut(e,p5t),281).g){case 3:m=new Fwt(e,t.c.d,(mK(),e9t),(bK(),Q8t)),Dy(b.c,m);break;case 1:y=new Fwt(e,t.c.d,(mK(),n9t),(bK(),Q8t)),Dy(b.c,y);break;case 4:x=new Fwt(e,t.c.d,(mK(),e9t),(bK(),Z8t)),Dy(b.c,x);break;case 2:k=new Fwt(e,t.c.d,(mK(),n9t),(bK(),Z8t)),Dy(b.c,k);break;default:m=new Fwt(e,t.c.d,(mK(),e9t),(bK(),Q8t)),y=new Fwt(e,t.c.d,n9t,Q8t),x=new Fwt(e,t.c.d,e9t,Z8t),k=new Fwt(e,t.c.d,n9t,Z8t),Dy(b.c,x),Dy(b.c,k),Dy(b.c,m),Dy(b.c,y)}for(a=new qC(e,t.c),c=new pg(b);c.a_[l]&&(p=l),h=new pg(t.a.b);h.agpt(o))&&(f=o);for(!f&&(LY(0,b.c.length),f=KR(b.c[0],185)),p=new pg(e.b);p.a=-1900?1:0,tL(t,n>=4?t7(rk(fUt,1),RSt,2,6,[jCt,zCt])[s]:t7(rk(fUt,1),RSt,2,6,["BC","AD"])[s]);break;case 121:!function(t,e,n){var i;switch((i=n.q.getFullYear()-FCt+FCt)<0&&(i=-i),e){case 1:t.a+=i;break;case 2:L1(t,i%100,2);break;default:L1(t,i,e)}}(t,n,r);break;case 77:!function(t,e,n){var i;switch(i=n.q.getMonth(),e){case 5:tL(t,t7(rk(fUt,1),RSt,2,6,["J","F","M","A","M","J","J","A","S","O","N","D"])[i]);break;case 4:tL(t,t7(rk(fUt,1),RSt,2,6,[SCt,CCt,ACt,MCt,LCt,ICt,OCt,NCt,DCt,PCt,BCt,RCt])[i]);break;case 3:tL(t,t7(rk(fUt,1),RSt,2,6,["Jan","Feb","Mar","Apr",LCt,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])[i]);break;default:L1(t,i+1,e)}}(t,n,r);break;case 107:L1(t,0==(c=a.q.getHours())?24:c,n);break;case 83:!function(t,e,n){var r,a;F9(r=h6(n.q.getTime()),0)<0?(a=TCt-bj(Qnt(d1(r),TCt)))==TCt&&(a=0):a=bj(Qnt(r,TCt)),1==e?Vq(t,48+(a=i.Math.min((a+50)/100|0,9))&ECt):2==e?L1(t,a=i.Math.min((a+5)/10|0,99),2):(L1(t,a,3),e>3&&L1(t,0,e-3))}(t,n,a);break;case 69:l=r.q.getDay(),tL(t,5==n?t7(rk(fUt,1),RSt,2,6,["S","M","T","W","T","F","S"])[l]:4==n?t7(rk(fUt,1),RSt,2,6,[qCt,HCt,UCt,GCt,KCt,YCt,VCt])[l]:t7(rk(fUt,1),RSt,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[l]);break;case 97:a.q.getHours()>=12&&a.q.getHours()<24?tL(t,t7(rk(fUt,1),RSt,2,6,["AM","PM"])[1]):tL(t,t7(rk(fUt,1),RSt,2,6,["AM","PM"])[0]);break;case 104:L1(t,0==(u=a.q.getHours()%12)?12:u,n);break;case 75:L1(t,a.q.getHours()%12,n);break;case 72:L1(t,a.q.getHours(),n);break;case 99:h=r.q.getDay(),5==n?tL(t,t7(rk(fUt,1),RSt,2,6,["S","M","T","W","T","F","S"])[h]):4==n?tL(t,t7(rk(fUt,1),RSt,2,6,[qCt,HCt,UCt,GCt,KCt,YCt,VCt])[h]):3==n?tL(t,t7(rk(fUt,1),RSt,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[h]):L1(t,h,1);break;case 76:f=r.q.getMonth(),5==n?tL(t,t7(rk(fUt,1),RSt,2,6,["J","F","M","A","M","J","J","A","S","O","N","D"])[f]):4==n?tL(t,t7(rk(fUt,1),RSt,2,6,[SCt,CCt,ACt,MCt,LCt,ICt,OCt,NCt,DCt,PCt,BCt,RCt])[f]):3==n?tL(t,t7(rk(fUt,1),RSt,2,6,["Jan","Feb","Mar","Apr",LCt,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])[f]):L1(t,f+1,n);break;case 81:d=r.q.getMonth()/3|0,tL(t,n<4?t7(rk(fUt,1),RSt,2,6,["Q1","Q2","Q3","Q4"])[d]:t7(rk(fUt,1),RSt,2,6,["1st quarter","2nd quarter","3rd quarter","4th quarter"])[d]);break;case 100:L1(t,r.q.getDate(),n);break;case 109:L1(t,a.q.getMinutes(),n);break;case 115:L1(t,a.q.getSeconds(),n);break;case 122:tL(t,n<4?o.c[0]:o.c[1]);break;case 118:tL(t,o.b);break;case 90:tL(t,n<3?function(t){var e,n;return n=-t.a,e=t7(rk(Fpe,1),_Ct,28,15,[43,48,48,48,48]),n<0&&(e[0]=45,n=-n),e[1]=e[1]+((n/60|0)/10|0)&ECt,e[2]=e[2]+(n/60|0)%10&ECt,e[3]=e[3]+(n%60/10|0)&ECt,e[4]=e[4]+n%10&ECt,Sit(e,0,e.length)}(o):3==n?function(t){var e,n;return n=-t.a,e=t7(rk(Fpe,1),_Ct,28,15,[43,48,48,58,48,48]),n<0&&(e[0]=45,n=-n),e[1]=e[1]+((n/60|0)/10|0)&ECt,e[2]=e[2]+(n/60|0)%10&ECt,e[4]=e[4]+(n%60/10|0)&ECt,e[5]=e[5]+n%10&ECt,Sit(e,0,e.length)}(o):function(t){var e;return e=t7(rk(Fpe,1),_Ct,28,15,[71,77,84,45,48,48,58,48,48]),t<=0&&(e[3]=43,t=-t),e[4]=e[4]+((t/60|0)/10|0)&ECt,e[5]=e[5]+(t/60|0)%10&ECt,e[7]=e[7]+(t%60/10|0)&ECt,e[8]=e[8]+t%10&ECt,Sit(e,0,e.length)}(o.a));break;default:return!1}return!0}function $Et(t,e,n,i){var r,a,o,s,c,l,u,h,f,d,g,p,b,m,y,w,v,x,k,_,T,E,S,C,A;if(swt(e),c=KR(l2((!e.b&&(e.b=new bB(Uhe,e,4,7)),e.b),0),84),u=KR(l2((!e.c&&(e.c=new bB(Uhe,e,5,8)),e.c),0),84),s=Blt(c),l=Blt(u),o=0==(!e.a&&(e.a=new ez(Khe,e,6,6)),e.a).i?null:KR(l2((!e.a&&(e.a=new ez(Khe,e,6,6)),e.a),0),166),k=KR(Oq(t.a,s),10),S=KR(Oq(t.a,l),10),_=null,C=null,rO(c,193)&&(rO(x=KR(Oq(t.a,c),305),12)?_=KR(x,12):rO(x,10)&&(k=KR(x,10),_=KR(c$(k.j,0),12))),rO(u,193)&&(rO(E=KR(Oq(t.a,u),305),12)?C=KR(E,12):rO(E,10)&&(S=KR(E,10),C=KR(c$(S.j,0),12))),!k||!S)throw Ay(new Lx("The source or the target of edge "+e+" could not be found. This usually happens when an edge connects a node laid out by ELK Layered to a node in another level of hierarchy laid out by either another instance of ELK Layered or another layout algorithm alltogether. The former can be solved by setting the hierarchyHandling option to INCLUDE_CHILDREN."));for(p6(p=new EG,e),E7(p,(jEt(),U1t),e),E7(p,(CEt(),J3t),null),d=KR(fut(i,A1t),21),k==S&&d.Fc((Hmt(),VJt)),_||(d4(),v=B7t,T=null,o&&JL(KR(fut(k,R5t),101))&&(HW(T=new IA(o.j,o.k),fK(e)),GX(T,n),Y0(l,s)&&(v=P7t,aB(T,k.n))),_=vkt(k,T,v,i)),C||(d4(),v=P7t,A=null,o&&JL(KR(fut(S,R5t),101))&&(HW(A=new IA(o.b,o.c),fK(e)),GX(A,n)),C=vkt(S,A,v,uH(S))),eY(p,_),rY(p,C),(_.e.c.length>1||_.g.c.length>1||C.e.c.length>1||C.g.c.length>1)&&d.Fc((Hmt(),HJt)),f=new zO((!e.n&&(e.n=new ez(Qhe,e,1,7)),e.n));f.e!=f.i.gc();)if(!dx(zD(spt(h=KR(Frt(f),135),E5t)))&&h.a)switch(b=O9(h),SO(p.b,b),KR(fut(b,O3t),278).g){case 1:case 2:d.Fc((Hmt(),zJt));break;case 0:d.Fc((Hmt(),$Jt)),E7(b,O3t,(g2(),Uce))}if(a=KR(fut(i,T3t),322),m=KR(fut(i,v5t),323),r=a==(A4(),$Zt)||m==(Qrt(),s7t),o&&0!=(!o.a&&(o.a=new AO(zhe,o,5)),o.a).i&&r){for(y=yht(o),g=new Zw,w=Mrt(y,0);w.b!=w.d.c;)RF(g,new KL(KR(gW(w),8)));E7(p,G1t,g)}return p}function jEt(){var t,e;jEt=E,U1t=new Vm(pIt),p1t=new Vm("coordinateOrigin"),t0t=new Vm("processors"),g1t=new AP("compoundNode",(FN(),!1)),I1t=new AP("insideConnections",!1),G1t=new Vm("originalBendpoints"),K1t=new Vm("originalDummyNodePosition"),Y1t=new Vm("originalLabelEdge"),n0t=new Vm("representedLabels"),v1t=new Vm("endLabels"),x1t=new Vm("endLabel.origin"),B1t=new AP("labelSide",(bst(),Tle)),q1t=new AP("maxEdgeThickness",0),i0t=new AP("reversed",!1),e0t=new Vm(bIt),$1t=new AP("longEdgeSource",null),j1t=new AP("longEdgeTarget",null),F1t=new AP("longEdgeHasLabelDummies",!1),R1t=new AP("longEdgeBeforeLabelDummy",!1),w1t=new AP("edgeConstraint",(I7(),sJt)),N1t=new Vm("inLayerLayoutUnit"),O1t=new AP("inLayerConstraint",(q1(),i1t)),D1t=new AP("inLayerSuccessorConstraint",new yy),P1t=new AP("inLayerSuccessorConstraintBetweenNonDummies",!1),Z1t=new Vm("portDummy"),b1t=new AP("crossingHint",ttt(0)),A1t=new AP("graphProperties",new UB(e=KR(t_(XJt),9),KR(jP(e,e.length),9),0)),E1t=new AP("externalPortSide",(MTt(),Sue)),S1t=new AP("externalPortSize",new Hk),_1t=new Vm("externalPortReplacedDummies"),T1t=new Vm("externalPortReplacedDummy"),k1t=new AP("externalPortConnections",new UB(t=KR(t_(Due),9),KR(jP(t,t.length),9),0)),J1t=new AP(YMt,0),u1t=new Vm("barycenterAssociates"),d0t=new Vm("TopSideComments"),h1t=new Vm("BottomSideComments"),d1t=new Vm("CommentConnectionPort"),L1t=new AP("inputCollect",!1),X1t=new AP("outputCollect",!1),y1t=new AP("cyclic",!1),m1t=new Vm("crossHierarchyMap"),f0t=new Vm("targetOffset"),new AP("splineLabelSize",new Hk),o0t=new Vm("spacings"),Q1t=new AP("partitionConstraint",!1),f1t=new Vm("breakingPoint.info"),u0t=new Vm("splines.survivingEdge"),l0t=new Vm("splines.route.start"),s0t=new Vm("splines.edgeChain"),W1t=new Vm("originalPortConstraints"),a0t=new Vm("selfLoopHolder"),c0t=new Vm("splines.nsPortY"),H1t=new Vm("modelOrder"),z1t=new Vm("longEdgeTargetNode"),C1t=new AP(LOt,!1),r0t=new AP(LOt,!1),M1t=new Vm("layerConstraints.hiddenNodes"),V1t=new Vm("layerConstraints.opposidePort"),h0t=new Vm("targetNode.modelOrder")}function zEt(){var t,e;zEt=E,qoe=new Vm(FRt),sce=new Vm($Rt),xat(),Hoe=new vL(BDt,Uoe=poe),Goe=new vL(CLt,null),Koe=new Vm(jRt),Yct(),Joe=Z$(joe,t7(rk(Bce,1),sCt,298,0,[Boe])),Zoe=new vL(VDt,Joe),tse=new vL(PDt,(FN(),!1)),jtt(),ese=new vL($Dt,nse=jce),Iet(),ose=new vL(cDt,sse=Zce),use=new vL(BRt,!1),V9(),hse=new vL(iDt,fse=mle),Bse=new bI(12),Pse=new vL(ALt,Bse),bse=new vL(eIt,!1),mse=new vL(oPt,!1),Dse=new vL(rIt,!1),plt(),Wse=new vL(nIt,Xse=Xle),rce=new Vm(iPt),ace=new Vm(XLt),oce=new Vm(JLt),lce=new Vm(tIt),wse=new Zw,yse=new vL(WDt,wse),Qoe=new vL(ZDt,!1),dse=new vL(JDt,!1),xse=new qw,vse=new vL(rPt,xse),Nse=new vL(NDt,!1),cce=new vL(zRt,1),Xoe=new Vm(qRt),Woe=new Vm(HRt),Ace=new vL(uIt,!1),new vL(URt,!0),ttt(0),new vL(GRt,ttt(100)),new vL(KRt,!1),ttt(0),new vL(YRt,ttt(4e3)),ttt(0),new vL(VRt,ttt(400)),new vL(WRt,!1),new vL(XRt,!1),new vL(QRt,!0),new vL(ZRt,!1),mnt(),Yoe=new vL(RRt,Voe=uhe),uce=new vL(xDt,10),hce=new vL(kDt,10),fce=new vL(ELt,20),dce=new vL(_Dt,10),gce=new vL(ZLt,2),pce=new vL(TDt,10),mce=new vL(EDt,0),yce=new vL(ADt,5),wce=new vL(SDt,1),vce=new vL(CDt,1),xce=new vL(QLt,20),kce=new vL(MDt,10),Ece=new vL(LDt,10),bce=new Vm(IDt),Tce=new $L,_ce=new vL(aPt,Tce),$se=new Vm(nPt),Rse=new vL(ePt,Fse=!1),_se=new bI(5),kse=new vL(jDt,_se),cpt(),e=KR(t_(Rle),9),Ese=new UB(e,KR(jP(e,e.length),9),0),Tse=new vL(cIt,Ese),Drt(),zse=new vL(HDt,qse=jle),Use=new Vm(UDt),Gse=new Vm(GDt),Kse=new Vm(KDt),Hse=new Vm(YDt),t=KR(t_(jue),9),Cse=new UB(t,KR(jP(t,t.length),9),0),Sse=new vL(sIt,Cse),Ose=fet((Vwt(),Hue)),Ise=new vL(oIt,Ose),Lse=new IA(0,0),Mse=new vL(SIt,Lse),Ase=new vL(aIt,!1),g2(),rse=new vL(XDt,ase=Uce),ise=new vL(iIt,!1),ttt(1),new vL(JRt,null),Yse=new Vm(tPt),Qse=new Vm(QDt),MTt(),nce=new vL(DDt,ice=Sue),Vse=new Vm(ODt),cdt(),tce=fet(iue),Jse=new vL(lIt,tce),Zse=new vL(zDt,!1),ece=new vL(qDt,!0),Oce=new vL(hIt,1),Dce=new vL(tFt,null),Cce=new vL(fIt,150),Sce=new vL(dIt,1.414),Mce=new vL(gIt,null),Lce=new vL(eFt,1),gse=new vL(RDt,!1),pse=new vL(FDt,!1),cse=new vL(SLt,1),Qlt(),new vL(nFt,lse=ale),jse=!0,Y9(),Nce=Zue,Pce=Zue,Ice=Zue}function qEt(){qEt=E,OXt=new FS("DIRECTION_PREPROCESSOR",0),MXt=new FS("COMMENT_PREPROCESSOR",1),NXt=new FS("EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER",2),WXt=new FS("INTERACTIVE_EXTERNAL_PORT_POSITIONER",3),gQt=new FS("PARTITION_PREPROCESSOR",4),JXt=new FS("LABEL_DUMMY_INSERTER",5),vQt=new FS("SELF_LOOP_PREPROCESSOR",6),rQt=new FS("LAYER_CONSTRAINT_PREPROCESSOR",7),fQt=new FS("PARTITION_MIDPROCESSOR",8),UXt=new FS("HIGH_DEGREE_NODE_LAYER_PROCESSOR",9),cQt=new FS("NODE_PROMOTION",10),iQt=new FS("LAYER_CONSTRAINT_POSTPROCESSOR",11),dQt=new FS("PARTITION_POSTPROCESSOR",12),jXt=new FS("HIERARCHICAL_PORT_CONSTRAINT_PROCESSOR",13),kQt=new FS("SEMI_INTERACTIVE_CROSSMIN_PROCESSOR",14),_Xt=new FS("BREAKING_POINT_INSERTER",15),sQt=new FS("LONG_EDGE_SPLITTER",16),bQt=new FS("PORT_SIDE_PROCESSOR",17),XXt=new FS("INVERTED_PORT_PROCESSOR",18),pQt=new FS("PORT_LIST_SORTER",19),TQt=new FS("SORT_BY_INPUT_ORDER_OF_MODEL",20),uQt=new FS("NORTH_SOUTH_PORT_PREPROCESSOR",21),TXt=new FS("BREAKING_POINT_PROCESSOR",22),hQt=new FS(sOt,23),EQt=new FS(cOt,24),yQt=new FS("SELF_LOOP_PORT_RESTORER",25),_Qt=new FS("SINGLE_EDGE_GRAPH_WRAPPER",26),QXt=new FS("IN_LAYER_CONSTRAINT_PROCESSOR",27),RXt=new FS("END_NODE_PORT_LABEL_MANAGEMENT_PROCESSOR",28),ZXt=new FS("LABEL_AND_NODE_SIZE_PROCESSOR",29),VXt=new FS("INNERMOST_NODE_MARGIN_CALCULATOR",30),xQt=new FS("SELF_LOOP_ROUTER",31),CXt=new FS("COMMENT_NODE_MARGIN_CALCULATOR",32),PXt=new FS("END_LABEL_PREPROCESSOR",33),eQt=new FS("LABEL_DUMMY_SWITCHER",34),SXt=new FS("CENTER_LABEL_MANAGEMENT_PROCESSOR",35),nQt=new FS("LABEL_SIDE_SELECTOR",36),KXt=new FS("HYPEREDGE_DUMMY_MERGER",37),zXt=new FS("HIERARCHICAL_PORT_DUMMY_SIZE_PROCESSOR",38),aQt=new FS("LAYER_SIZE_AND_GRAPH_HEIGHT_CALCULATOR",39),HXt=new FS("HIERARCHICAL_PORT_POSITION_PROCESSOR",40),LXt=new FS("CONSTRAINTS_POSTPROCESSOR",41),AXt=new FS("COMMENT_POSTPROCESSOR",42),YXt=new FS("HYPERNODE_PROCESSOR",43),qXt=new FS("HIERARCHICAL_PORT_ORTHOGONAL_EDGE_ROUTER",44),oQt=new FS("LONG_EDGE_JOINER",45),wQt=new FS("SELF_LOOP_POSTPROCESSOR",46),EXt=new FS("BREAKING_POINT_REMOVER",47),lQt=new FS("NORTH_SOUTH_PORT_POSTPROCESSOR",48),GXt=new FS("HORIZONTAL_COMPACTOR",49),tQt=new FS("LABEL_DUMMY_REMOVER",50),FXt=new FS("FINAL_SPLINE_BENDPOINTS_CALCULATOR",51),BXt=new FS("END_LABEL_SORTER",52),mQt=new FS("REVERSED_EDGE_RESTORER",53),DXt=new FS("END_LABEL_POSTPROCESSOR",54),$Xt=new FS("HIERARCHICAL_NODE_RESIZER",55),IXt=new FS("DIRECTION_POSTPROCESSOR",56)}function HEt(){HEt=E,E0(),r2t=new vL(IOt,a2t=nJt),k2t=new vL(OOt,(FN(),!1)),TW(),C2t=new vL(NOt,A2t=s1t),K2t=new vL(DOt,!1),Y2t=new vL(POt,!0),x0t=new vL(BOt,!1),H1(),f4t=new vL(ROt,d4t=I7t),ttt(1),x4t=new vL(FOt,ttt(7)),k4t=new vL($Ot,!1),_2t=new vL(jOt,!1),Ait(),n2t=new vL(zOt,i2t=XZt),Dbt(),U2t=new vL(qOt,G2t=G6t),bnt(),D2t=new vL(HOt,P2t=w0t),ttt(-1),N2t=new vL(UOt,null),ttt(-1),B2t=new vL(GOt,ttt(-1)),ttt(-1),R2t=new vL(KOt,ttt(4)),ttt(-1),$2t=new vL(YOt,ttt(2)),Twt(),q2t=new vL(VOt,H2t=x7t),ttt(0),z2t=new vL(WOt,ttt(0)),I2t=new vL(XOt,ttt(lSt)),A4(),t2t=new vL(QOt,e2t=jZt),R0t=new vL(ZOt,!1),K0t=new vL(JOt,.1),Z0t=new vL(tNt,!1),V0t=new vL(eNt,null),W0t=new vL(nNt,null),ttt(-1),X0t=new vL(iNt,null),ttt(-1),Q0t=new vL(rNt,ttt(-1)),ttt(0),F0t=new vL(aNt,ttt(40)),_6(),H0t=new vL(oNt,U0t=JJt),$0t=new vL(sNt,j0t=QJt),Qrt(),u4t=new vL(cNt,h4t=o7t),t4t=new Vm(lNt),KJ(),V2t=new vL(uNt,W2t=wJt),Sct(),Q2t=new vL(hNt,Z2t=SJt),i4t=new vL(fNt,.3),a4t=new Vm(dNt),wat(),o4t=new vL(gNt,s4t=n7t),P5(),f2t=new vL(pNt,d2t=z7t),w8(),g2t=new vL(bNt,p2t=Y7t),t9(),b2t=new vL(mNt,m2t=Z7t),w2t=new vL(yNt,.2),u2t=new vL(wNt,2),m4t=new vL(vNt,null),w4t=new vL(xNt,10),y4t=new vL(kNt,10),v4t=new vL(_Nt,20),ttt(0),g4t=new vL(TNt,ttt(0)),ttt(0),p4t=new vL(ENt,ttt(0)),ttt(0),b4t=new vL(SNt,ttt(0)),k0t=new vL(CNt,!1),zut(),E0t=new vL(ANt,S0t=PJt),gZ(),_0t=new vL(MNt,T0t=BZt),E2t=new vL(LNt,!1),ttt(0),T2t=new vL(INt,ttt(16)),ttt(0),S2t=new vL(ONt,ttt(5)),r7(),U4t=new vL(NNt,G4t=s8t),_4t=new vL(DNt,10),S4t=new vL(PNt,1),f4(),D4t=new vL(BNt,P4t=KZt),M4t=new Vm(RNt),O4t=ttt(1),ttt(0),I4t=new vL(FNt,O4t),h4(),W4t=new vL($Nt,X4t=e8t),K4t=new Vm(jNt),j4t=new vL(zNt,!0),F4t=new vL(qNt,2),q4t=new vL(HNt,!0),Zut(),c2t=new vL(UNt,l2t=pJt),Jht(),o2t=new vL(GNt,s2t=MZt),Mit(),P0t=new vL(KNt,B0t=S7t),D0t=new vL(YNt,!1),N0t=new vL(VNt,!1),Yit(),C0t=new vL(WNt,A0t=qWt),K9(),I0t=new vL(XNt,O0t=W6t),M0t=new vL(QNt,0),L0t=new vL(ZNt,0),L2t=ZZt,M2t=$Zt,F2t=U6t,j2t=U6t,O2t=$6t,V9(),Y0t=ble,J0t=jZt,G0t=jZt,z0t=jZt,q0t=ble,e4t=l7t,n4t=o7t,X2t=o7t,J2t=o7t,r4t=c7t,l4t=l7t,c4t=l7t,Iet(),y2t=Qce,v2t=Qce,x2t=Z7t,h2t=Xce,T4t=c8t,E4t=o8t,C4t=c8t,A4t=o8t,B4t=c8t,R4t=o8t,L4t=GZt,N4t=KZt,Q4t=c8t,Z4t=o8t,Y4t=c8t,V4t=o8t,z4t=o8t,$4t=o8t,H4t=o8t}function UEt(){UEt=E,ppe=new by(7),bpe=new D$(8,94),new D$(8,64),mpe=new D$(8,36),_pe=new D$(8,65),Tpe=new D$(8,122),Epe=new D$(8,90),Ape=new D$(8,98),xpe=new D$(8,66),Spe=new D$(8,60),Mpe=new D$(8,62),gpe=new by(11),Nmt(dpe=new UY(4),48,57),Nmt(Cpe=new UY(4),48,57),Nmt(Cpe,65,90),Nmt(Cpe,95,95),Nmt(Cpe,97,122),Nmt(kpe=new UY(4),9,9),Nmt(kpe,10,10),Nmt(kpe,12,12),Nmt(kpe,13,13),Nmt(kpe,32,32),ype=Zvt(dpe),vpe=Zvt(Cpe),wpe=Zvt(kpe),lpe=new my,upe=new my,hpe=t7(rk(fUt,1),RSt,2,6,["Cn","Lu","Ll","Lt","Lm","Lo","Mn","Me","Mc","Nd","Nl","No","Zs","Zl","Zp","Cc","Cf",null,"Co","Cs","Pd","Ps","Pe","Pc","Po","Sm","Sc","Sk","So","Pi","Pf","L","M","N","Z","C","P","S"]),cpe=t7(rk(fUt,1),RSt,2,6,["Basic Latin","Latin-1 Supplement","Latin Extended-A","Latin Extended-B","IPA Extensions","Spacing Modifier Letters","Combining Diacritical Marks","Greek","Cyrillic","Armenian","Hebrew","Arabic","Syriac","Thaana","Devanagari","Bengali","Gurmukhi","Gujarati","Oriya","Tamil","Telugu","Kannada","Malayalam","Sinhala","Thai","Lao","Tibetan","Myanmar","Georgian","Hangul Jamo","Ethiopic","Cherokee","Unified Canadian Aboriginal Syllabics","Ogham","Runic","Khmer","Mongolian","Latin Extended Additional","Greek Extended","General Punctuation","Superscripts and Subscripts","Currency Symbols","Combining Marks for Symbols","Letterlike Symbols","Number Forms","Arrows","Mathematical Operators","Miscellaneous Technical","Control Pictures","Optical Character Recognition","Enclosed Alphanumerics","Box Drawing","Block Elements","Geometric Shapes","Miscellaneous Symbols","Dingbats","Braille Patterns","CJK Radicals Supplement","Kangxi Radicals","Ideographic Description Characters","CJK Symbols and Punctuation","Hiragana","Katakana","Bopomofo","Hangul Compatibility Jamo","Kanbun","Bopomofo Extended","Enclosed CJK Letters and Months","CJK Compatibility","CJK Unified Ideographs Extension A","CJK Unified Ideographs","Yi Syllables","Yi Radicals","Hangul Syllables",Hqt,"CJK Compatibility Ideographs","Alphabetic Presentation Forms","Arabic Presentation Forms-A","Combining Half Marks","CJK Compatibility Forms","Small Form Variants","Arabic Presentation Forms-B","Specials","Halfwidth and Fullwidth Forms","Old Italic","Gothic","Deseret","Byzantine Musical Symbols","Musical Symbols","Mathematical Alphanumeric Symbols","CJK Unified Ideographs Extension B","CJK Compatibility Ideographs Supplement","Tags"]),fpe=t7(rk($pe,1),$Ct,28,15,[66304,66351,66352,66383,66560,66639,118784,119039,119040,119295,119808,120831,131072,173782,194560,195103,917504,917631])}function GEt(){GEt=E,VKt=new n5("OUT_T_L",0,(PJ(),wKt),(z1(),TKt),(d2(),hKt),hKt,t7(rk(sHt,1),pSt,21,0,[Z$((cpt(),Ole),t7(rk(Rle,1),sCt,95,0,[Ple,Ale]))])),YKt=new n5("OUT_T_C",1,yKt,TKt,hKt,fKt,t7(rk(sHt,1),pSt,21,0,[Z$(Ole,t7(rk(Rle,1),sCt,95,0,[Ple,Cle])),Z$(Ole,t7(rk(Rle,1),sCt,95,0,[Ple,Cle,Mle]))])),WKt=new n5("OUT_T_R",2,vKt,TKt,hKt,dKt,t7(rk(sHt,1),pSt,21,0,[Z$(Ole,t7(rk(Rle,1),sCt,95,0,[Ple,Lle]))])),$Kt=new n5("OUT_B_L",3,wKt,SKt,dKt,hKt,t7(rk(sHt,1),pSt,21,0,[Z$(Ole,t7(rk(Rle,1),sCt,95,0,[Nle,Ale]))])),FKt=new n5("OUT_B_C",4,yKt,SKt,dKt,fKt,t7(rk(sHt,1),pSt,21,0,[Z$(Ole,t7(rk(Rle,1),sCt,95,0,[Nle,Cle])),Z$(Ole,t7(rk(Rle,1),sCt,95,0,[Nle,Cle,Mle]))])),jKt=new n5("OUT_B_R",5,vKt,SKt,dKt,dKt,t7(rk(sHt,1),pSt,21,0,[Z$(Ole,t7(rk(Rle,1),sCt,95,0,[Nle,Lle]))])),HKt=new n5("OUT_L_T",6,vKt,SKt,hKt,hKt,t7(rk(sHt,1),pSt,21,0,[Z$(Ole,t7(rk(Rle,1),sCt,95,0,[Ale,Ple,Mle]))])),qKt=new n5("OUT_L_C",7,vKt,EKt,fKt,hKt,t7(rk(sHt,1),pSt,21,0,[Z$(Ole,t7(rk(Rle,1),sCt,95,0,[Ale,Dle])),Z$(Ole,t7(rk(Rle,1),sCt,95,0,[Ale,Dle,Mle]))])),zKt=new n5("OUT_L_B",8,vKt,TKt,dKt,hKt,t7(rk(sHt,1),pSt,21,0,[Z$(Ole,t7(rk(Rle,1),sCt,95,0,[Ale,Nle,Mle]))])),KKt=new n5("OUT_R_T",9,wKt,SKt,hKt,dKt,t7(rk(sHt,1),pSt,21,0,[Z$(Ole,t7(rk(Rle,1),sCt,95,0,[Lle,Ple,Mle]))])),GKt=new n5("OUT_R_C",10,wKt,EKt,fKt,dKt,t7(rk(sHt,1),pSt,21,0,[Z$(Ole,t7(rk(Rle,1),sCt,95,0,[Lle,Dle])),Z$(Ole,t7(rk(Rle,1),sCt,95,0,[Lle,Dle,Mle]))])),UKt=new n5("OUT_R_B",11,wKt,TKt,dKt,dKt,t7(rk(sHt,1),pSt,21,0,[Z$(Ole,t7(rk(Rle,1),sCt,95,0,[Lle,Nle,Mle]))])),BKt=new n5("IN_T_L",12,wKt,SKt,hKt,hKt,t7(rk(sHt,1),pSt,21,0,[Z$(Ile,t7(rk(Rle,1),sCt,95,0,[Ple,Ale])),Z$(Ile,t7(rk(Rle,1),sCt,95,0,[Ple,Ale,Mle]))])),PKt=new n5("IN_T_C",13,yKt,SKt,hKt,fKt,t7(rk(sHt,1),pSt,21,0,[Z$(Ile,t7(rk(Rle,1),sCt,95,0,[Ple,Cle])),Z$(Ile,t7(rk(Rle,1),sCt,95,0,[Ple,Cle,Mle]))])),RKt=new n5("IN_T_R",14,vKt,SKt,hKt,dKt,t7(rk(sHt,1),pSt,21,0,[Z$(Ile,t7(rk(Rle,1),sCt,95,0,[Ple,Lle])),Z$(Ile,t7(rk(Rle,1),sCt,95,0,[Ple,Lle,Mle]))])),NKt=new n5("IN_C_L",15,wKt,EKt,fKt,hKt,t7(rk(sHt,1),pSt,21,0,[Z$(Ile,t7(rk(Rle,1),sCt,95,0,[Dle,Ale])),Z$(Ile,t7(rk(Rle,1),sCt,95,0,[Dle,Ale,Mle]))])),OKt=new n5("IN_C_C",16,yKt,EKt,fKt,fKt,t7(rk(sHt,1),pSt,21,0,[Z$(Ile,t7(rk(Rle,1),sCt,95,0,[Dle,Cle])),Z$(Ile,t7(rk(Rle,1),sCt,95,0,[Dle,Cle,Mle]))])),DKt=new n5("IN_C_R",17,vKt,EKt,fKt,dKt,t7(rk(sHt,1),pSt,21,0,[Z$(Ile,t7(rk(Rle,1),sCt,95,0,[Dle,Lle])),Z$(Ile,t7(rk(Rle,1),sCt,95,0,[Dle,Lle,Mle]))])),LKt=new n5("IN_B_L",18,wKt,TKt,dKt,hKt,t7(rk(sHt,1),pSt,21,0,[Z$(Ile,t7(rk(Rle,1),sCt,95,0,[Nle,Ale])),Z$(Ile,t7(rk(Rle,1),sCt,95,0,[Nle,Ale,Mle]))])),MKt=new n5("IN_B_C",19,yKt,TKt,dKt,fKt,t7(rk(sHt,1),pSt,21,0,[Z$(Ile,t7(rk(Rle,1),sCt,95,0,[Nle,Cle])),Z$(Ile,t7(rk(Rle,1),sCt,95,0,[Nle,Cle,Mle]))])),IKt=new n5("IN_B_R",20,vKt,TKt,dKt,dKt,t7(rk(sHt,1),pSt,21,0,[Z$(Ile,t7(rk(Rle,1),sCt,95,0,[Nle,Lle])),Z$(Ile,t7(rk(Rle,1),sCt,95,0,[Nle,Lle,Mle]))])),XKt=new n5(qMt,21,null,null,null,null,t7(rk(sHt,1),pSt,21,0,[]))}function KEt(){KEt=E,lde=(Aq(),sde).b,KR(l2(iG(sde.b),0),35),KR(l2(iG(sde.b),1),19),cde=sde.a,KR(l2(iG(sde.a),0),35),KR(l2(iG(sde.a),1),19),KR(l2(iG(sde.a),2),19),KR(l2(iG(sde.a),3),19),KR(l2(iG(sde.a),4),19),ude=sde.o,KR(l2(iG(sde.o),0),35),KR(l2(iG(sde.o),1),35),fde=KR(l2(iG(sde.o),2),19),KR(l2(iG(sde.o),3),19),KR(l2(iG(sde.o),4),19),KR(l2(iG(sde.o),5),19),KR(l2(iG(sde.o),6),19),KR(l2(iG(sde.o),7),19),KR(l2(iG(sde.o),8),19),KR(l2(iG(sde.o),9),19),KR(l2(iG(sde.o),10),19),KR(l2(iG(sde.o),11),19),KR(l2(iG(sde.o),12),19),KR(l2(iG(sde.o),13),19),KR(l2(iG(sde.o),14),19),KR(l2(iG(sde.o),15),19),KR(l2(nG(sde.o),0),62),KR(l2(nG(sde.o),1),62),KR(l2(nG(sde.o),2),62),KR(l2(nG(sde.o),3),62),KR(l2(nG(sde.o),4),62),KR(l2(nG(sde.o),5),62),KR(l2(nG(sde.o),6),62),KR(l2(nG(sde.o),7),62),KR(l2(nG(sde.o),8),62),KR(l2(nG(sde.o),9),62),hde=sde.p,KR(l2(iG(sde.p),0),35),KR(l2(iG(sde.p),1),35),KR(l2(iG(sde.p),2),35),KR(l2(iG(sde.p),3),35),KR(l2(iG(sde.p),4),19),KR(l2(iG(sde.p),5),19),KR(l2(nG(sde.p),0),62),KR(l2(nG(sde.p),1),62),dde=sde.q,KR(l2(iG(sde.q),0),35),gde=sde.v,KR(l2(iG(sde.v),0),19),KR(l2(nG(sde.v),0),62),KR(l2(nG(sde.v),1),62),KR(l2(nG(sde.v),2),62),pde=sde.w,KR(l2(iG(sde.w),0),35),KR(l2(iG(sde.w),1),35),KR(l2(iG(sde.w),2),35),KR(l2(iG(sde.w),3),19),bde=sde.B,KR(l2(iG(sde.B),0),19),KR(l2(nG(sde.B),0),62),KR(l2(nG(sde.B),1),62),KR(l2(nG(sde.B),2),62),wde=sde.Q,KR(l2(iG(sde.Q),0),19),KR(l2(nG(sde.Q),0),62),vde=sde.R,KR(l2(iG(sde.R),0),35),xde=sde.S,KR(l2(nG(sde.S),0),62),KR(l2(nG(sde.S),1),62),KR(l2(nG(sde.S),2),62),KR(l2(nG(sde.S),3),62),KR(l2(nG(sde.S),4),62),KR(l2(nG(sde.S),5),62),KR(l2(nG(sde.S),6),62),KR(l2(nG(sde.S),7),62),KR(l2(nG(sde.S),8),62),KR(l2(nG(sde.S),9),62),KR(l2(nG(sde.S),10),62),KR(l2(nG(sde.S),11),62),KR(l2(nG(sde.S),12),62),KR(l2(nG(sde.S),13),62),KR(l2(nG(sde.S),14),62),kde=sde.T,KR(l2(iG(sde.T),0),19),KR(l2(iG(sde.T),2),19),_de=KR(l2(iG(sde.T),3),19),KR(l2(iG(sde.T),4),19),KR(l2(nG(sde.T),0),62),KR(l2(nG(sde.T),1),62),KR(l2(iG(sde.T),1),19),Tde=sde.U,KR(l2(iG(sde.U),0),35),KR(l2(iG(sde.U),1),35),KR(l2(iG(sde.U),2),19),KR(l2(iG(sde.U),3),19),KR(l2(iG(sde.U),4),19),KR(l2(iG(sde.U),5),19),KR(l2(nG(sde.U),0),62),Ede=sde.V,KR(l2(iG(sde.V),0),19),Sde=sde.W,KR(l2(iG(sde.W),0),35),KR(l2(iG(sde.W),1),35),KR(l2(iG(sde.W),2),35),KR(l2(iG(sde.W),3),19),KR(l2(iG(sde.W),4),19),KR(l2(iG(sde.W),5),19),Ade=sde.bb,KR(l2(iG(sde.bb),0),35),KR(l2(iG(sde.bb),1),35),KR(l2(iG(sde.bb),2),35),KR(l2(iG(sde.bb),3),35),KR(l2(iG(sde.bb),4),35),KR(l2(iG(sde.bb),5),35),KR(l2(iG(sde.bb),6),35),KR(l2(iG(sde.bb),7),19),KR(l2(nG(sde.bb),0),62),KR(l2(nG(sde.bb),1),62),Mde=sde.eb,KR(l2(iG(sde.eb),0),35),KR(l2(iG(sde.eb),1),35),KR(l2(iG(sde.eb),2),35),KR(l2(iG(sde.eb),3),35),KR(l2(iG(sde.eb),4),35),KR(l2(iG(sde.eb),5),35),KR(l2(iG(sde.eb),6),19),KR(l2(iG(sde.eb),7),19),Cde=sde.ab,KR(l2(iG(sde.ab),0),35),KR(l2(iG(sde.ab),1),35),mde=sde.H,KR(l2(iG(sde.H),0),19),KR(l2(iG(sde.H),1),19),KR(l2(iG(sde.H),2),19),KR(l2(iG(sde.H),3),19),KR(l2(iG(sde.H),4),19),KR(l2(iG(sde.H),5),19),KR(l2(nG(sde.H),0),62),Lde=sde.db,KR(l2(iG(sde.db),0),19),yde=sde.M}function YEt(t,e,n,r){var a,o,s,c,l,h,f,d,g,p,b,m,y,w,v,x,k,_,T,E,S,C,A,M,L,I,O,N,D,P,B,R,F,$,j,z,q,H,U,G,K,Y;if(r.$g()||dx(zD(spt(e,(zEt(),Nse)))))return QU(),QU(),NUt;if(_=0!=(!e.a&&(e.a=new ez(Zhe,e,10,11)),e.a).i,T=!(E=function(t){var e,n,i;if(dx(zD(spt(t,(zEt(),gse))))){for(i=new yy,n=new Dj(lN(Ypt(t).a.Kc(),new u));Rgt(n);)Idt(e=KR(bQ(n),74))&&dx(zD(spt(e,pse)))&&Dy(i.c,e);return i}return QU(),QU(),NUt}(e)).dc(),_||T){if(!(a=KR(spt(e,sce),143)))throw Ay(new Mx("Resolved algorithm is not set; apply a LayoutAlgorithmResolver before computing layout."));if(U=kM(a,(Ogt(),sfe)),urt(e),!_&&T&&!U)return QU(),QU(),NUt;if(w=new yy,$M(spt(e,hse))===$M((V9(),ble))&&(kM(a,rfe)||kM(a,ife))){if(dx(zD(spt(e,Ace))))throw Ay(new Mx("Topdown layout cannot be used together with hierarchy handling."));for(D=Ryt(t,e),z3(P=new jT,(!e.a&&(e.a=new ez(Zhe,e,10,11)),e.a));0!=P.b;)urt(O=KR(0==P.b?null:(KD(0!=P.b),J0(P,P.a.a)),27)),$M(spt(O,hse))===$M(yle)||GZ(O,qoe)&&!rQ(a,spt(O,sce))?(G6(w,YEt(t,O,n,r)),nat(O,hse,yle),Bwt(O)):z3(P,(!O.a&&(O.a=new ez(Zhe,O,10,11)),O.a))}else{if(D=(!e.a&&(e.a=new ez(Zhe,e,10,11)),e.a).i,dx(zD(spt(e,Ace)))){if((G=r.eh(1)).Ug(kRt,1),null==spt(e,Mce))throw Ay(new Mx(e.k+" has not been assigned a top-down node type."));if(KR(spt(e,Mce),280)==(Y9(),Zue)||KR(spt(e,Mce),280)==the)for(y=new zO((!e.a&&(e.a=new ez(Zhe,e,10,11)),e.a));y.e!=y.i.gc();)m=KR(Frt(y),27),I=KR(spt(m,sce),143),(!m.a&&(m.a=new ez(Zhe,m,10,11)),m.a).i>0&&HG(I.f),null!=spt(m,Dce)&&(H=KR(spt(m,Dce),347).Tg(m),sI(m,i.Math.max(m.g,H.a),i.Math.max(m.f,H.b)));if(B=KR(spt(e,Pse),107),g=e.g-(B.b+B.c),d=e.f-(B.d+B.a),G.bh("Available Child Area: ("+g+"|"+d+")"),nat(e,Goe,g/d),prt(e,a,r.eh(D)),KR(spt(e,Mce),280)==the&&(aEt(e),sI(e,B.b+gx(qD(spt(e,Xoe)))+B.c,B.d+gx(qD(spt(e,Woe)))+B.a)),G.bh("Executed layout algorithm: "+HD(spt(e,qoe))+" on node "+e.k),KR(spt(e,Mce),280)==Zue){if(g<0||d<0)throw Ay(new Mx("The size defined by the parent parallel node is too small for the space provided by the paddings of the child hierarchical node. "+e.k));for(GZ(e,Xoe)||GZ(e,Woe)||aEt(e),b=gx(qD(spt(e,Xoe))),p=gx(qD(spt(e,Woe))),G.bh("Desired Child Area: ("+b+"|"+p+")"),F=g/b,$=d/p,R=i.Math.min(F,i.Math.min($,gx(qD(spt(e,Lce))))),nat(e,Oce,R),G.bh(e.k+" -- Local Scale Factor (X|Y): ("+F+"|"+$+")"),v=KR(spt(e,Zoe),21),o=0,s=0,R'?":_B(G$t,t)?"'(?<' or '(? toIndex: ",JAt=", toIndex: ",tMt="Index: ",eMt=", Size: ",nMt="org.eclipse.elk.alg.common",iMt={50:1},rMt="org.eclipse.elk.alg.common.compaction",aMt="Scanline/EventHandler",oMt="org.eclipse.elk.alg.common.compaction.oned",sMt="CNode belongs to another CGroup.",cMt="ISpacingsHandler/1",lMt="The ",uMt=" instance has been finished already.",hMt="The direction ",fMt=" is not supported by the CGraph instance.",dMt="OneDimensionalCompactor",gMt="OneDimensionalCompactor/lambda$0$Type",pMt="Quadruplet",bMt="ScanlineConstraintCalculator",mMt="ScanlineConstraintCalculator/ConstraintsScanlineHandler",yMt="ScanlineConstraintCalculator/ConstraintsScanlineHandler/lambda$0$Type",wMt="ScanlineConstraintCalculator/Timestamp",vMt="ScanlineConstraintCalculator/lambda$0$Type",xMt={178:1,46:1},kMt="org.eclipse.elk.alg.common.compaction.options",_Mt="org.eclipse.elk.core.data",TMt="org.eclipse.elk.polyomino.traversalStrategy",EMt="org.eclipse.elk.polyomino.lowLevelSort",SMt="org.eclipse.elk.polyomino.highLevelSort",CMt="org.eclipse.elk.polyomino.fill",AMt={134:1},MMt="polyomino",LMt="org.eclipse.elk.alg.common.networksimplex",IMt={183:1,3:1,4:1},OMt="org.eclipse.elk.alg.common.nodespacing",NMt="org.eclipse.elk.alg.common.nodespacing.cellsystem",DMt="CENTER",PMt={217:1,336:1},BMt={3:1,4:1,5:1,603:1},RMt="LEFT",FMt="RIGHT",$Mt="Vertical alignment cannot be null",jMt="BOTTOM",zMt="org.eclipse.elk.alg.common.nodespacing.internal",qMt="UNDEFINED",HMt=.01,UMt="org.eclipse.elk.alg.common.nodespacing.internal.algorithm",GMt="LabelPlacer/lambda$0$Type",KMt="LabelPlacer/lambda$1$Type",YMt="portRatioOrPosition",VMt="org.eclipse.elk.alg.common.overlaps",WMt="DOWN",XMt="org.eclipse.elk.alg.common.polyomino",QMt="NORTH",ZMt="EAST",JMt="SOUTH",tLt="WEST",eLt="org.eclipse.elk.alg.common.polyomino.structures",nLt="Direction",iLt="Grid is only of size ",rLt=". Requested point (",aLt=") is out of bounds.",oLt=" Given center based coordinates were (",sLt="org.eclipse.elk.graph.properties",cLt="IPropertyHolder",lLt={3:1,96:1,137:1},uLt="org.eclipse.elk.alg.common.spore",hLt="org.eclipse.elk.alg.common.utils",fLt={205:1},dLt="org.eclipse.elk.core",gLt="Connected Components Compaction",pLt="org.eclipse.elk.alg.disco",bLt="org.eclipse.elk.alg.disco.graph",mLt="org.eclipse.elk.alg.disco.options",yLt="CompactionStrategy",wLt="org.eclipse.elk.disco.componentCompaction.strategy",vLt="org.eclipse.elk.disco.componentCompaction.componentLayoutAlgorithm",xLt="org.eclipse.elk.disco.debug.discoGraph",kLt="org.eclipse.elk.disco.debug.discoPolys",_Lt="componentCompaction",TLt="org.eclipse.elk.disco",ELt="org.eclipse.elk.spacing.componentComponent",SLt="org.eclipse.elk.edge.thickness",CLt="org.eclipse.elk.aspectRatio",ALt="org.eclipse.elk.padding",MLt="org.eclipse.elk.alg.disco.transform",LLt=1.5707963267948966,ILt=17976931348623157e292,OLt={3:1,4:1,5:1,198:1},NLt={3:1,6:1,4:1,5:1,100:1,115:1},DLt="org.eclipse.elk.alg.force",PLt="ComponentsProcessor",BLt="ComponentsProcessor/1",RLt="ElkGraphImporter/lambda$0$Type",FLt="org.eclipse.elk.alg.force.graph",$Lt="Component Layout",jLt="org.eclipse.elk.alg.force.model",zLt="org.eclipse.elk.force.model",qLt="org.eclipse.elk.force.iterations",HLt="org.eclipse.elk.force.repulsivePower",ULt="org.eclipse.elk.force.temperature",GLt=.001,KLt="org.eclipse.elk.force.repulsion",YLt="org.eclipse.elk.alg.force.options",VLt=1.600000023841858,WLt="org.eclipse.elk.force",XLt="org.eclipse.elk.priority",QLt="org.eclipse.elk.spacing.nodeNode",ZLt="org.eclipse.elk.spacing.edgeLabel",JLt="org.eclipse.elk.randomSeed",tIt="org.eclipse.elk.separateConnectedComponents",eIt="org.eclipse.elk.interactive",nIt="org.eclipse.elk.portConstraints",iIt="org.eclipse.elk.edgeLabels.inline",rIt="org.eclipse.elk.omitNodeMicroLayout",aIt="org.eclipse.elk.nodeSize.fixedGraphSize",oIt="org.eclipse.elk.nodeSize.options",sIt="org.eclipse.elk.nodeSize.constraints",cIt="org.eclipse.elk.nodeLabels.placement",lIt="org.eclipse.elk.portLabels.placement",uIt="org.eclipse.elk.topdownLayout",hIt="org.eclipse.elk.topdown.scaleFactor",fIt="org.eclipse.elk.topdown.hierarchicalNodeWidth",dIt="org.eclipse.elk.topdown.hierarchicalNodeAspectRatio",gIt="org.eclipse.elk.topdown.nodeType",pIt="origin",bIt="random",mIt="boundingBox.upLeft",yIt="boundingBox.lowRight",wIt="org.eclipse.elk.stress.fixed",vIt="org.eclipse.elk.stress.desiredEdgeLength",xIt="org.eclipse.elk.stress.dimension",kIt="org.eclipse.elk.stress.epsilon",_It="org.eclipse.elk.stress.iterationLimit",TIt="org.eclipse.elk.stress",EIt="ELK Stress",SIt="org.eclipse.elk.nodeSize.minimum",CIt="org.eclipse.elk.alg.force.stress",AIt="Layered layout",MIt="org.eclipse.elk.alg.layered",LIt="org.eclipse.elk.alg.layered.compaction.components",IIt="org.eclipse.elk.alg.layered.compaction.oned",OIt="org.eclipse.elk.alg.layered.compaction.oned.algs",NIt="org.eclipse.elk.alg.layered.compaction.recthull",DIt="org.eclipse.elk.alg.layered.components",PIt="NONE",BIt="MODEL_ORDER",RIt={3:1,6:1,4:1,9:1,5:1,126:1},FIt={3:1,6:1,4:1,5:1,150:1,100:1,115:1},$It="org.eclipse.elk.alg.layered.compound",jIt={47:1},zIt="org.eclipse.elk.alg.layered.graph",qIt=" -> ",HIt="Not supported by LGraph",UIt="Port side is undefined",GIt={3:1,6:1,4:1,5:1,483:1,150:1,100:1,115:1},KIt={3:1,6:1,4:1,5:1,150:1,199:1,210:1,100:1,115:1},YIt={3:1,6:1,4:1,5:1,150:1,2042:1,210:1,100:1,115:1},VIt="([{\"' \t\r\n",WIt=")]}\"' \t\r\n",XIt="The given string contains parts that cannot be parsed as numbers.",QIt="org.eclipse.elk.core.math",ZIt={3:1,4:1,140:1,214:1,423:1},JIt={3:1,4:1,107:1,214:1,423:1},tOt="org.eclipse.elk.alg.layered.graph.transform",eOt="ElkGraphImporter",nOt="ElkGraphImporter/lambda$1$Type",iOt="ElkGraphImporter/lambda$2$Type",rOt="ElkGraphImporter/lambda$4$Type",aOt="org.eclipse.elk.alg.layered.intermediate",oOt="Node margin calculation",sOt="ONE_SIDED_GREEDY_SWITCH",cOt="TWO_SIDED_GREEDY_SWITCH",lOt="No implementation is available for the layout processor ",uOt="IntermediateProcessorStrategy",hOt="Node '",fOt="FIRST_SEPARATE",dOt="LAST_SEPARATE",gOt="Odd port side processing",pOt="org.eclipse.elk.alg.layered.intermediate.compaction",bOt="org.eclipse.elk.alg.layered.intermediate.greedyswitch",mOt="org.eclipse.elk.alg.layered.p3order.counting",yOt={230:1},wOt="org.eclipse.elk.alg.layered.intermediate.loops",vOt="org.eclipse.elk.alg.layered.intermediate.loops.ordering",xOt="org.eclipse.elk.alg.layered.intermediate.loops.routing",kOt="org.eclipse.elk.alg.layered.intermediate.preserveorder",_Ot="org.eclipse.elk.alg.layered.intermediate.wrapping",TOt="org.eclipse.elk.alg.layered.options",EOt="INTERACTIVE",SOt="GREEDY",COt="DEPTH_FIRST",AOt="EDGE_LENGTH",MOt="SELF_LOOPS",LOt="firstTryWithInitialOrder",IOt="org.eclipse.elk.layered.directionCongruency",OOt="org.eclipse.elk.layered.feedbackEdges",NOt="org.eclipse.elk.layered.interactiveReferencePoint",DOt="org.eclipse.elk.layered.mergeEdges",POt="org.eclipse.elk.layered.mergeHierarchyEdges",BOt="org.eclipse.elk.layered.allowNonFlowPortsToSwitchSides",ROt="org.eclipse.elk.layered.portSortingStrategy",FOt="org.eclipse.elk.layered.thoroughness",$Ot="org.eclipse.elk.layered.unnecessaryBendpoints",jOt="org.eclipse.elk.layered.generatePositionAndLayerIds",zOt="org.eclipse.elk.layered.cycleBreaking.strategy",qOt="org.eclipse.elk.layered.layering.strategy",HOt="org.eclipse.elk.layered.layering.layerConstraint",UOt="org.eclipse.elk.layered.layering.layerChoiceConstraint",GOt="org.eclipse.elk.layered.layering.layerId",KOt="org.eclipse.elk.layered.layering.minWidth.upperBoundOnWidth",YOt="org.eclipse.elk.layered.layering.minWidth.upperLayerEstimationScalingFactor",VOt="org.eclipse.elk.layered.layering.nodePromotion.strategy",WOt="org.eclipse.elk.layered.layering.nodePromotion.maxIterations",XOt="org.eclipse.elk.layered.layering.coffmanGraham.layerBound",QOt="org.eclipse.elk.layered.crossingMinimization.strategy",ZOt="org.eclipse.elk.layered.crossingMinimization.forceNodeModelOrder",JOt="org.eclipse.elk.layered.crossingMinimization.hierarchicalSweepiness",tNt="org.eclipse.elk.layered.crossingMinimization.semiInteractive",eNt="org.eclipse.elk.layered.crossingMinimization.inLayerPredOf",nNt="org.eclipse.elk.layered.crossingMinimization.inLayerSuccOf",iNt="org.eclipse.elk.layered.crossingMinimization.positionChoiceConstraint",rNt="org.eclipse.elk.layered.crossingMinimization.positionId",aNt="org.eclipse.elk.layered.crossingMinimization.greedySwitch.activationThreshold",oNt="org.eclipse.elk.layered.crossingMinimization.greedySwitch.type",sNt="org.eclipse.elk.layered.crossingMinimization.greedySwitchHierarchical.type",cNt="org.eclipse.elk.layered.nodePlacement.strategy",lNt="org.eclipse.elk.layered.nodePlacement.favorStraightEdges",uNt="org.eclipse.elk.layered.nodePlacement.bk.edgeStraightening",hNt="org.eclipse.elk.layered.nodePlacement.bk.fixedAlignment",fNt="org.eclipse.elk.layered.nodePlacement.linearSegments.deflectionDampening",dNt="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility",gNt="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility.default",pNt="org.eclipse.elk.layered.edgeRouting.selfLoopDistribution",bNt="org.eclipse.elk.layered.edgeRouting.selfLoopOrdering",mNt="org.eclipse.elk.layered.edgeRouting.splines.mode",yNt="org.eclipse.elk.layered.edgeRouting.splines.sloppy.layerSpacingFactor",wNt="org.eclipse.elk.layered.edgeRouting.polyline.slopedEdgeZoneWidth",vNt="org.eclipse.elk.layered.spacing.baseValue",xNt="org.eclipse.elk.layered.spacing.edgeNodeBetweenLayers",kNt="org.eclipse.elk.layered.spacing.edgeEdgeBetweenLayers",_Nt="org.eclipse.elk.layered.spacing.nodeNodeBetweenLayers",TNt="org.eclipse.elk.layered.priority.direction",ENt="org.eclipse.elk.layered.priority.shortness",SNt="org.eclipse.elk.layered.priority.straightness",CNt="org.eclipse.elk.layered.compaction.connectedComponents",ANt="org.eclipse.elk.layered.compaction.postCompaction.strategy",MNt="org.eclipse.elk.layered.compaction.postCompaction.constraints",LNt="org.eclipse.elk.layered.highDegreeNodes.treatment",INt="org.eclipse.elk.layered.highDegreeNodes.threshold",ONt="org.eclipse.elk.layered.highDegreeNodes.treeHeight",NNt="org.eclipse.elk.layered.wrapping.strategy",DNt="org.eclipse.elk.layered.wrapping.additionalEdgeSpacing",PNt="org.eclipse.elk.layered.wrapping.correctionFactor",BNt="org.eclipse.elk.layered.wrapping.cutting.strategy",RNt="org.eclipse.elk.layered.wrapping.cutting.cuts",FNt="org.eclipse.elk.layered.wrapping.cutting.msd.freedom",$Nt="org.eclipse.elk.layered.wrapping.validify.strategy",jNt="org.eclipse.elk.layered.wrapping.validify.forbiddenIndices",zNt="org.eclipse.elk.layered.wrapping.multiEdge.improveCuts",qNt="org.eclipse.elk.layered.wrapping.multiEdge.distancePenalty",HNt="org.eclipse.elk.layered.wrapping.multiEdge.improveWrappedEdges",UNt="org.eclipse.elk.layered.edgeLabels.sideSelection",GNt="org.eclipse.elk.layered.edgeLabels.centerLabelPlacementStrategy",KNt="org.eclipse.elk.layered.considerModelOrder.strategy",YNt="org.eclipse.elk.layered.considerModelOrder.portModelOrder",VNt="org.eclipse.elk.layered.considerModelOrder.noModelOrder",WNt="org.eclipse.elk.layered.considerModelOrder.components",XNt="org.eclipse.elk.layered.considerModelOrder.longEdgeStrategy",QNt="org.eclipse.elk.layered.considerModelOrder.crossingCounterNodeInfluence",ZNt="org.eclipse.elk.layered.considerModelOrder.crossingCounterPortInfluence",JNt="layering",tDt="layering.minWidth",eDt="layering.nodePromotion",nDt="crossingMinimization",iDt="org.eclipse.elk.hierarchyHandling",rDt="crossingMinimization.greedySwitch",aDt="nodePlacement",oDt="nodePlacement.bk",sDt="edgeRouting",cDt="org.eclipse.elk.edgeRouting",lDt="spacing",uDt="priority",hDt="compaction",fDt="compaction.postCompaction",dDt="Specifies whether and how post-process compaction is applied.",gDt="highDegreeNodes",pDt="wrapping",bDt="wrapping.cutting",mDt="wrapping.validify",yDt="wrapping.multiEdge",wDt="edgeLabels",vDt="considerModelOrder",xDt="org.eclipse.elk.spacing.commentComment",kDt="org.eclipse.elk.spacing.commentNode",_Dt="org.eclipse.elk.spacing.edgeEdge",TDt="org.eclipse.elk.spacing.edgeNode",EDt="org.eclipse.elk.spacing.labelLabel",SDt="org.eclipse.elk.spacing.labelPortHorizontal",CDt="org.eclipse.elk.spacing.labelPortVertical",ADt="org.eclipse.elk.spacing.labelNode",MDt="org.eclipse.elk.spacing.nodeSelfLoop",LDt="org.eclipse.elk.spacing.portPort",IDt="org.eclipse.elk.spacing.individual",ODt="org.eclipse.elk.port.borderOffset",NDt="org.eclipse.elk.noLayout",DDt="org.eclipse.elk.port.side",PDt="org.eclipse.elk.debugMode",BDt="org.eclipse.elk.alignment",RDt="org.eclipse.elk.insideSelfLoops.activate",FDt="org.eclipse.elk.insideSelfLoops.yo",$Dt="org.eclipse.elk.direction",jDt="org.eclipse.elk.nodeLabels.padding",zDt="org.eclipse.elk.portLabels.nextToPortIfPossible",qDt="org.eclipse.elk.portLabels.treatAsGroup",HDt="org.eclipse.elk.portAlignment.default",UDt="org.eclipse.elk.portAlignment.north",GDt="org.eclipse.elk.portAlignment.south",KDt="org.eclipse.elk.portAlignment.west",YDt="org.eclipse.elk.portAlignment.east",VDt="org.eclipse.elk.contentAlignment",WDt="org.eclipse.elk.junctionPoints",XDt="org.eclipse.elk.edgeLabels.placement",QDt="org.eclipse.elk.port.index",ZDt="org.eclipse.elk.commentBox",JDt="org.eclipse.elk.hypernode",tPt="org.eclipse.elk.port.anchor",ePt="org.eclipse.elk.partitioning.activate",nPt="org.eclipse.elk.partitioning.partition",iPt="org.eclipse.elk.position",rPt="org.eclipse.elk.margins",aPt="org.eclipse.elk.spacing.portsSurrounding",oPt="org.eclipse.elk.interactiveLayout",sPt="org.eclipse.elk.core.util",cPt={3:1,4:1,5:1,601:1},lPt="NETWORK_SIMPLEX",uPt="SIMPLE",hPt={106:1,47:1},fPt="org.eclipse.elk.alg.layered.p1cycles",dPt="org.eclipse.elk.alg.layered.p2layers",gPt={413:1,230:1},pPt={846:1,3:1,4:1},bPt="org.eclipse.elk.alg.layered.p3order",mPt="org.eclipse.elk.alg.layered.p4nodes",yPt={3:1,4:1,5:1,854:1},wPt=1e-5,vPt="org.eclipse.elk.alg.layered.p4nodes.bk",xPt="org.eclipse.elk.alg.layered.p5edges",kPt="org.eclipse.elk.alg.layered.p5edges.orthogonal",_Pt="org.eclipse.elk.alg.layered.p5edges.orthogonal.direction",TPt=1e-6,EPt="org.eclipse.elk.alg.layered.p5edges.splines",SPt=.09999999999999998,CPt=1e-8,APt=4.71238898038469,MPt=3.141592653589793,LPt="org.eclipse.elk.alg.mrtree",IPt=.10000000149011612,OPt="SUPER_ROOT",NPt="org.eclipse.elk.alg.mrtree.graph",DPt=-17976931348623157e292,PPt="org.eclipse.elk.alg.mrtree.intermediate",BPt="Processor compute fanout",RPt={3:1,6:1,4:1,5:1,534:1,100:1,115:1},FPt="Set neighbors in level",$Pt="org.eclipse.elk.alg.mrtree.options",jPt="DESCENDANTS",zPt="org.eclipse.elk.mrtree.compaction",qPt="org.eclipse.elk.mrtree.edgeEndTextureLength",HPt="org.eclipse.elk.mrtree.treeLevel",UPt="org.eclipse.elk.mrtree.positionConstraint",GPt="org.eclipse.elk.mrtree.weighting",KPt="org.eclipse.elk.mrtree.edgeRoutingMode",YPt="org.eclipse.elk.mrtree.searchOrder",VPt="Position Constraint",WPt="org.eclipse.elk.mrtree",XPt="org.eclipse.elk.tree",QPt="Processor arrange level",ZPt="org.eclipse.elk.alg.mrtree.p2order",JPt="org.eclipse.elk.alg.mrtree.p4route",tBt="org.eclipse.elk.alg.radial",eBt=6.283185307179586,nBt="Before",iBt=5e-324,rBt="After",aBt="org.eclipse.elk.alg.radial.intermediate",oBt="COMPACTION",sBt="org.eclipse.elk.alg.radial.intermediate.compaction",cBt={3:1,4:1,5:1,100:1},lBt="org.eclipse.elk.alg.radial.intermediate.optimization",uBt="No implementation is available for the layout option ",hBt="org.eclipse.elk.alg.radial.options",fBt="org.eclipse.elk.radial.centerOnRoot",dBt="org.eclipse.elk.radial.orderId",gBt="org.eclipse.elk.radial.radius",pBt="org.eclipse.elk.radial.rotate",bBt="org.eclipse.elk.radial.compactor",mBt="org.eclipse.elk.radial.compactionStepSize",yBt="org.eclipse.elk.radial.sorter",wBt="org.eclipse.elk.radial.wedgeCriteria",vBt="org.eclipse.elk.radial.optimizationCriteria",xBt="org.eclipse.elk.radial.rotation.targetAngle",kBt="org.eclipse.elk.radial.rotation.computeAdditionalWedgeSpace",_Bt="org.eclipse.elk.radial.rotation.outgoingEdgeAngles",TBt="Compaction",EBt="rotation",SBt="org.eclipse.elk.radial",CBt="org.eclipse.elk.alg.radial.p1position.wedge",ABt="org.eclipse.elk.alg.radial.sorting",MBt=5.497787143782138,LBt=3.9269908169872414,IBt=2.356194490192345,OBt="org.eclipse.elk.alg.rectpacking",NBt="org.eclipse.elk.alg.rectpacking.intermediate",DBt="org.eclipse.elk.alg.rectpacking.options",PBt="org.eclipse.elk.rectpacking.trybox",BBt="org.eclipse.elk.rectpacking.currentPosition",RBt="org.eclipse.elk.rectpacking.desiredPosition",FBt="org.eclipse.elk.rectpacking.inNewRow",$Bt="org.eclipse.elk.rectpacking.widthApproximation.strategy",jBt="org.eclipse.elk.rectpacking.widthApproximation.targetWidth",zBt="org.eclipse.elk.rectpacking.widthApproximation.optimizationGoal",qBt="org.eclipse.elk.rectpacking.widthApproximation.lastPlaceShift",HBt="org.eclipse.elk.rectpacking.packing.strategy",UBt="org.eclipse.elk.rectpacking.packing.compaction.rowHeightReevaluation",GBt="org.eclipse.elk.rectpacking.packing.compaction.iterations",KBt="org.eclipse.elk.rectpacking.whiteSpaceElimination.strategy",YBt="widthApproximation",VBt="Compaction Strategy",WBt="packing.compaction",XBt="org.eclipse.elk.rectpacking",QBt="org.eclipse.elk.alg.rectpacking.p1widthapproximation",ZBt="org.eclipse.elk.alg.rectpacking.p2packing",JBt="No Compaction",tRt="org.eclipse.elk.alg.rectpacking.p3whitespaceelimination",eRt="org.eclipse.elk.alg.rectpacking.util",nRt="No implementation available for ",iRt="org.eclipse.elk.alg.spore",rRt="org.eclipse.elk.alg.spore.options",aRt="org.eclipse.elk.sporeCompaction",oRt="org.eclipse.elk.underlyingLayoutAlgorithm",sRt="org.eclipse.elk.processingOrder.treeConstruction",cRt="org.eclipse.elk.processingOrder.spanningTreeCostFunction",lRt="org.eclipse.elk.processingOrder.preferredRoot",uRt="org.eclipse.elk.processingOrder.rootSelection",hRt="org.eclipse.elk.structure.structureExtractionStrategy",fRt="org.eclipse.elk.compaction.compactionStrategy",dRt="org.eclipse.elk.compaction.orthogonal",gRt="org.eclipse.elk.overlapRemoval.maxIterations",pRt="org.eclipse.elk.overlapRemoval.runScanline",bRt="processingOrder",mRt="overlapRemoval",yRt="org.eclipse.elk.sporeOverlap",wRt="org.eclipse.elk.alg.spore.p1structure",vRt="org.eclipse.elk.alg.spore.p2processingorder",xRt="org.eclipse.elk.alg.spore.p3execution",kRt="Topdown Layout",_Rt="Invalid index: ",TRt="org.eclipse.elk.core.alg",ERt={341:1},SRt={295:1},CRt="Make sure its type is registered with the ",ARt=" utility class.",MRt="true",LRt="false",IRt="Couldn't clone property '",ORt=.05,NRt="org.eclipse.elk.core.options",DRt=1.2999999523162842,PRt="org.eclipse.elk.box",BRt="org.eclipse.elk.expandNodes",RRt="org.eclipse.elk.box.packingMode",FRt="org.eclipse.elk.algorithm",$Rt="org.eclipse.elk.resolvedAlgorithm",jRt="org.eclipse.elk.bendPoints",zRt="org.eclipse.elk.scaleFactor",qRt="org.eclipse.elk.childAreaWidth",HRt="org.eclipse.elk.childAreaHeight",URt="org.eclipse.elk.animate",GRt="org.eclipse.elk.animTimeFactor",KRt="org.eclipse.elk.layoutAncestors",YRt="org.eclipse.elk.maxAnimTime",VRt="org.eclipse.elk.minAnimTime",WRt="org.eclipse.elk.progressBar",XRt="org.eclipse.elk.validateGraph",QRt="org.eclipse.elk.validateOptions",ZRt="org.eclipse.elk.zoomToFit",JRt="org.eclipse.elk.font.size",tFt="org.eclipse.elk.topdown.sizeApproximator",eFt="org.eclipse.elk.topdown.scaleCap",nFt="org.eclipse.elk.edge.type",iFt="partitioning",rFt="nodeLabels",aFt="portAlignment",oFt="nodeSize",sFt="port",cFt="portLabels",lFt="topdown",uFt="insideSelfLoops",hFt="org.eclipse.elk.fixed",fFt="org.eclipse.elk.random",dFt={3:1,34:1,22:1,347:1},gFt="port must have a parent node to calculate the port side",pFt="The edge needs to have exactly one edge section. Found: ",bFt="org.eclipse.elk.core.util.adapters",mFt="org.eclipse.emf.ecore",yFt="org.eclipse.elk.graph",wFt="EMapPropertyHolder",vFt="ElkBendPoint",xFt="ElkGraphElement",kFt="ElkConnectableShape",_Ft="ElkEdge",TFt="ElkEdgeSection",EFt="EModelElement",SFt="ENamedElement",CFt="ElkLabel",AFt="ElkNode",MFt="ElkPort",LFt={94:1,93:1},IFt="org.eclipse.emf.common.notify.impl",OFt="The feature '",NFt="' is not a valid changeable feature",DFt="Expecting null",PFt="' is not a valid feature",BFt="The feature ID",RFt=" is not a valid feature ID",FFt=32768,$Ft={110:1,94:1,93:1,58:1,54:1,99:1},jFt="org.eclipse.emf.ecore.impl",zFt="org.eclipse.elk.graph.impl",qFt="Recursive containment not allowed for ",HFt="The datatype '",UFt="' is not a valid classifier",GFt="The value '",KFt={195:1,3:1,4:1},YFt="The class '",VFt="http://www.eclipse.org/elk/ElkGraph",WFt="property",XFt="value",QFt="source",ZFt="properties",JFt="identifier",t$t="height",e$t="width",n$t="parent",i$t="text",r$t="children",a$t="hierarchical",o$t="sources",s$t="targets",c$t="sections",l$t="bendPoints",u$t="outgoingShape",h$t="incomingShape",f$t="outgoingSections",d$t="incomingSections",g$t="org.eclipse.emf.common.util",p$t="Severe implementation error in the Json to ElkGraph importer.",b$t="id",m$t="org.eclipse.elk.graph.json",y$t="Unhandled parameter types: ",w$t="startPoint",v$t="An edge must have at least one source and one target (edge id: '",x$t="').",k$t="Referenced edge section does not exist: ",_$t=" (edge id: '",T$t="target",E$t="sourcePoint",S$t="targetPoint",C$t="group",A$t="name",M$t="connectableShape cannot be null",L$t="edge cannot be null",I$t="Passed edge is not 'simple'.",O$t="org.eclipse.elk.graph.util",N$t="The 'no duplicates' constraint is violated",D$t="targetIndex=",P$t=", size=",B$t="sourceIndex=",R$t={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1},F$t={3:1,4:1,20:1,31:1,56:1,16:1,51:1,15:1,59:1,70:1,66:1,61:1,596:1},$$t="logging",j$t="measureExecutionTime",z$t="parser.parse.1",q$t="parser.parse.2",H$t="parser.next.1",U$t="parser.next.2",G$t="parser.next.3",K$t="parser.next.4",Y$t="parser.factor.1",V$t="parser.factor.2",W$t="parser.factor.3",X$t="parser.factor.4",Q$t="parser.factor.5",Z$t="parser.factor.6",J$t="parser.atom.1",tjt="parser.atom.2",ejt="parser.atom.3",njt="parser.atom.4",ijt="parser.atom.5",rjt="parser.cc.1",ajt="parser.cc.2",ojt="parser.cc.3",sjt="parser.cc.5",cjt="parser.cc.6",ljt="parser.cc.7",ujt="parser.cc.8",hjt="parser.ope.1",fjt="parser.ope.2",djt="parser.ope.3",gjt="parser.descape.1",pjt="parser.descape.2",bjt="parser.descape.3",mjt="parser.descape.4",yjt="parser.descape.5",wjt="parser.process.1",vjt="parser.quantifier.1",xjt="parser.quantifier.2",kjt="parser.quantifier.3",_jt="parser.quantifier.4",Tjt="parser.quantifier.5",Ejt="org.eclipse.emf.common.notify",Sjt={424:1,686:1},Cjt={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1},Ajt={378:1,152:1},Mjt="index=",Ljt={3:1,4:1,5:1,129:1},Ijt={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,61:1},Ojt={3:1,6:1,4:1,5:1,198:1},Njt={3:1,4:1,5:1,173:1,379:1},Djt=";/?:@&=+$,",Pjt="invalid authority: ",Bjt="EAnnotation",Rjt="ETypedElement",Fjt="EStructuralFeature",$jt="EAttribute",jjt="EClassifier",zjt="EEnumLiteral",qjt="EGenericType",Hjt="EOperation",Ujt="EParameter",Gjt="EReference",Kjt="ETypeParameter",Yjt="org.eclipse.emf.ecore.util",Vjt={79:1},Wjt={3:1,20:1,16:1,15:1,61:1,597:1,79:1,71:1,97:1},Xjt="org.eclipse.emf.ecore.util.FeatureMap$Entry",Qjt=8192,Zjt=2048,Jjt="byte",tzt="char",ezt="double",nzt="float",izt="int",rzt="long",azt="short",ozt="java.lang.Object",szt={3:1,4:1,5:1,254:1},czt={3:1,4:1,5:1,688:1},lzt={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,71:1},uzt={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,79:1,71:1,97:1},hzt="mixed",fzt="http:///org/eclipse/emf/ecore/util/ExtendedMetaData",dzt="kind",gzt={3:1,4:1,5:1,689:1},pzt={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1,79:1,71:1,97:1},bzt={20:1,31:1,56:1,16:1,15:1,61:1,71:1},mzt={51:1,128:1,287:1},yzt={76:1,343:1},wzt="The value of type '",vzt="' must be of type '",xzt=1352,kzt="http://www.eclipse.org/emf/2002/Ecore",_zt=-32768,Tzt="constraints",Ezt="baseType",Szt="getEStructuralFeature",Czt="getFeatureID",Azt="feature",Mzt="getOperationID",Lzt="operation",Izt="defaultValue",Ozt="eTypeParameters",Nzt="isInstance",Dzt="getEEnumLiteral",Pzt="eContainingClass",Bzt={57:1},Rzt={3:1,4:1,5:1,124:1},Fzt="org.eclipse.emf.ecore.resource",$zt={94:1,93:1,599:1,2034:1},jzt="org.eclipse.emf.ecore.resource.impl",zzt="unspecified",qzt="simple",Hzt="attribute",Uzt="attributeWildcard",Gzt="element",Kzt="elementWildcard",Yzt="collapse",Vzt="itemType",Wzt="namespace",Xzt="##targetNamespace",Qzt="whiteSpace",Zzt="wildcards",Jzt="http://www.eclipse.org/emf/2003/XMLType",tqt="##any",eqt="uninitialized",nqt="The multiplicity constraint is violated",iqt="org.eclipse.emf.ecore.xml.type",rqt="ProcessingInstruction",aqt="SimpleAnyType",oqt="XMLTypeDocumentRoot",sqt="org.eclipse.emf.ecore.xml.type.impl",cqt="INF",lqt="processing",uqt="ENTITIES_._base",hqt="minLength",fqt="ENTITY",dqt="NCName",gqt="IDREFS_._base",pqt="integer",bqt="token",mqt="pattern",yqt="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",wqt="\\i\\c*",vqt="[\\i-[:]][\\c-[:]]*",xqt="nonPositiveInteger",kqt="maxInclusive",_qt="NMTOKEN",Tqt="NMTOKENS_._base",Eqt="nonNegativeInteger",Sqt="minInclusive",Cqt="normalizedString",Aqt="unsignedByte",Mqt="unsignedInt",Lqt="18446744073709551615",Iqt="unsignedShort",Oqt="processingInstruction",Nqt="org.eclipse.emf.ecore.xml.type.internal",Dqt=1114111,Pqt="Internal Error: shorthands: \\u",Bqt="xml:isDigit",Rqt="xml:isWord",Fqt="xml:isSpace",$qt="xml:isNameChar",jqt="xml:isInitialNameChar",zqt="09٠٩۰۹०९০৯੦੯૦૯୦୯௧௯౦౯೦೯൦൯๐๙໐໙༠༩",qqt="AZazÀÖØöøıĴľŁňŊžƀǃǍǰǴǵǺȗɐʨʻˁΆΆΈΊΌΌΎΡΣώϐϖϚϚϜϜϞϞϠϠϢϳЁЌЎяёќўҁҐӄӇӈӋӌӐӫӮӵӸӹԱՖՙՙաֆאתװײءغفيٱڷںھۀێېۓەەۥۦअहऽऽक़ॡঅঌএঐওনপরললশহড়ঢ়য়ৡৰৱਅਊਏਐਓਨਪਰਲਲ਼ਵਸ਼ਸਹਖ਼ੜਫ਼ਫ਼ੲੴઅઋઍઍએઑઓનપરલળવહઽઽૠૠଅଌଏଐଓନପରଲଳଶହଽଽଡ଼ଢ଼ୟୡஅஊஎஐஒகஙசஜஜஞடணதநபமவஷஹఅఌఎఐఒనపళవహౠౡಅಌಎಐಒನಪಳವಹೞೞೠೡഅഌഎഐഒനപഹൠൡกฮะะาำเๅກຂຄຄງຈຊຊຍຍດທນຟມຣລລວວສຫອຮະະາຳຽຽເໄཀཇཉཀྵႠჅაჶᄀᄀᄂᄃᄅᄇᄉᄉᄋᄌᄎᄒᄼᄼᄾᄾᅀᅀᅌᅌᅎᅎᅐᅐᅔᅕᅙᅙᅟᅡᅣᅣᅥᅥᅧᅧᅩᅩᅭᅮᅲᅳᅵᅵᆞᆞᆨᆨᆫᆫᆮᆯᆷᆸᆺᆺᆼᇂᇫᇫᇰᇰᇹᇹḀẛẠỹἀἕἘἝἠὅὈὍὐὗὙὙὛὛὝὝὟώᾀᾴᾶᾼιιῂῄῆῌῐΐῖΊῠῬῲῴῶῼΩΩKÅ℮℮ↀↂ〇〇〡〩ぁゔァヺㄅㄬ一龥가힣",Hqt="Private Use",Uqt="ASSIGNED",Gqt="\0€ÿĀſƀɏɐʯʰ˿̀ͯͰϿЀӿ԰֏֐׿؀ۿ܀ݏހ޿ऀॿঀ৿਀੿઀૿଀୿஀௿ఀ౿ಀ೿ഀൿ඀෿฀๿຀໿ༀ࿿က႟Ⴀჿᄀᇿሀ፿Ꭰ᏿᐀ᙿ ᚟ᚠ᛿ក៿᠀᢯Ḁỿἀ῿ ⁰₟₠⃏⃐⃿℀⅏⅐↏←⇿∀⋿⌀⏿␀␿⑀⑟①⓿─╿▀▟■◿☀⛿✀➿⠀⣿⺀⻿⼀⿟⿰⿿ 〿぀ゟ゠ヿ㄀ㄯ㄰㆏㆐㆟ㆠㆿ㈀㋿㌀㏿㐀䶵一鿿ꀀ꒏꒐꓏가힣豈﫿ffﭏﭐ﷿︠︯︰﹏﹐﹯ﹰ﻾\ufeff\ufeff＀￯",Kqt="UNASSIGNED",Yqt={3:1,122:1},Vqt="org.eclipse.emf.ecore.xml.type.util",Wqt={3:1,4:1,5:1,381:1},Xqt="org.eclipse.xtext.xbase.lib",Qqt="Cannot add elements to a Range",Zqt="Cannot set elements in a Range",Jqt="Cannot remove elements from a Range",tHt="user.agent";i.goog=i.goog||{},i.goog.global=i.goog.global||i,JEt={},Bgt(1,null,{},r),ZEt.Fb=function(t){return SL(this,t)},ZEt.Gb=function(){return this.Rm},ZEt.Hb=function(){return DN(this)},ZEt.Ib=function(){return a_(i9(this))+"@"+(N3(this)>>>0).toString(16)},ZEt.equals=function(t){return this.Fb(t)},ZEt.hashCode=function(){return this.Hb()},ZEt.toString=function(){return this.Ib()},Bgt(297,1,{297:1,2124:1},N7),ZEt.ve=function(t){var e;return(e=new N7).i=4,e.c=t>1?FK(this,t-1):this,e},ZEt.we=function(){return UD(this),this.b},ZEt.xe=function(){return a_(this)},ZEt.ye=function(){return UD(this),this.k},ZEt.ze=function(){return 0!=(4&this.i)},ZEt.Ae=function(){return 0!=(1&this.i)},ZEt.Ib=function(){return P0(this)},ZEt.i=0;var eHt,nHt=vq(uSt,"Object",1),iHt=vq(uSt,"Class",297);Bgt(2096,1,hSt),vq(fSt,"Optional",2096),Bgt(1191,2096,hSt,a),ZEt.Fb=function(t){return t===this},ZEt.Hb=function(){return 2040732332},ZEt.Ib=function(){return"Optional.absent()"},ZEt.Jb=function(t){return kq(t),Ev(),eHt},vq(fSt,"Absent",1191),Bgt(636,1,{},zx),vq(fSt,"Joiner",636);var rHt=WF(fSt,"Predicate");Bgt(589,1,{178:1,589:1,3:1,46:1},Rf),ZEt.Mb=function(t){return W7(this,t)},ZEt.Lb=function(t){return W7(this,t)},ZEt.Fb=function(t){var e;return!!rO(t,589)&&(e=KR(t,589),Ygt(this.a,e.a))},ZEt.Hb=function(){return Z7(this.a)+306654252},ZEt.Ib=function(){return function(t){var e,n,i,r;for(e=Vq(tL(new pN("Predicates."),"and"),40),n=!0,r=new mg(t);r.b0},ZEt.Pb=function(){if(this.c>=this.d)throw Ay(new ew);return this.Xb(this.c++)},ZEt.Tb=function(){return this.c},ZEt.Ub=function(){if(this.c<=0)throw Ay(new ew);return this.Xb(--this.c)},ZEt.Vb=function(){return this.c-1},ZEt.c=0,ZEt.d=0,vq(xSt,"AbstractIndexedListIterator",399),Bgt(713,204,vSt),ZEt.Ob=function(){return i3(this)},ZEt.Pb=function(){return f1(this)},ZEt.e=1,vq(xSt,"AbstractIterator",713),Bgt(2084,1,{229:1}),ZEt.Zb=function(){return this.f||(this.f=this.ac())},ZEt.Fb=function(t){return T8(this,t)},ZEt.Hb=function(){return N3(this.Zb())},ZEt.dc=function(){return 0==this.gc()},ZEt.ec=function(){return wj(this)},ZEt.Ib=function(){return Get(this.Zb())},vq(xSt,"AbstractMultimap",2084),Bgt(742,2084,_St),ZEt.$b=function(){x4(this)},ZEt._b=function(t){return n_(this,t)},ZEt.ac=function(){return new rT(this,this.c)},ZEt.ic=function(t){return this.hc()},ZEt.bc=function(){return new HO(this,this.c)},ZEt.jc=function(){return this.mc(this.hc())},ZEt.kc=function(){return new Iv(this)},ZEt.lc=function(){return Ylt(this.c.vc().Nc(),new s,64,this.d)},ZEt.cc=function(t){return IQ(this,t)},ZEt.fc=function(t){return A9(this,t)},ZEt.gc=function(){return this.d},ZEt.mc=function(t){return QU(),new hg(t)},ZEt.nc=function(){return new Lv(this)},ZEt.oc=function(){return Ylt(this.c.Cc().Nc(),new o,64,this.d)},ZEt.pc=function(t,e){return new rZ(this,t,e,null)},ZEt.d=0,vq(xSt,"AbstractMapBasedMultimap",742),Bgt(1696,742,_St),ZEt.hc=function(){return new lZ(this.a)},ZEt.jc=function(){return QU(),QU(),NUt},ZEt.cc=function(t){return KR(IQ(this,t),15)},ZEt.fc=function(t){return KR(A9(this,t),15)},ZEt.Zb=function(){return HU(this)},ZEt.Fb=function(t){return T8(this,t)},ZEt.qc=function(t){return KR(IQ(this,t),15)},ZEt.rc=function(t){return KR(A9(this,t),15)},ZEt.mc=function(t){return hG(KR(t,15))},ZEt.pc=function(t,e){return hW(this,t,KR(e,15),null)},vq(xSt,"AbstractListMultimap",1696),Bgt(748,1,TSt),ZEt.Nb=function(t){bz(this,t)},ZEt.Ob=function(){return this.c.Ob()||this.e.Ob()},ZEt.Pb=function(){var t;return this.e.Ob()||(t=KR(this.c.Pb(),44),this.b=t.ld(),this.a=KR(t.md(),16),this.e=this.a.Kc()),this.sc(this.b,this.e.Pb())},ZEt.Qb=function(){this.e.Qb(),KR(mH(this.a),16).dc()&&this.c.Qb(),--this.d.d},vq(xSt,"AbstractMapBasedMultimap/Itr",748),Bgt(1129,748,TSt,Lv),ZEt.sc=function(t,e){return e},vq(xSt,"AbstractMapBasedMultimap/1",1129),Bgt(1130,1,{},o),ZEt.Kb=function(t){return KR(t,16).Nc()},vq(xSt,"AbstractMapBasedMultimap/1methodref$spliterator$Type",1130),Bgt(1131,748,TSt,Iv),ZEt.sc=function(t,e){return new dT(t,e)},vq(xSt,"AbstractMapBasedMultimap/2",1131);var aHt=WF(ESt,"Map");Bgt(2065,1,SSt),ZEt.wc=function(t){I5(this,t)},ZEt.yc=function(t,e,n){return $et(this,t,e,n)},ZEt.$b=function(){this.vc().$b()},ZEt.tc=function(t){return bot(this,t)},ZEt._b=function(t){return!!olt(this,t,!1)},ZEt.uc=function(t){var e,n;for(e=this.vc().Kc();e.Ob();)if(n=KR(e.Pb(),44).md(),$M(t)===$M(n)||null!=t&&wtt(t,n))return!0;return!1},ZEt.Fb=function(t){var e,n,i;if(t===this)return!0;if(!rO(t,85)||(i=KR(t,85),this.gc()!=i.gc()))return!1;for(n=i.vc().Kc();n.Ob();)if(e=KR(n.Pb(),44),!this.tc(e))return!1;return!0},ZEt.xc=function(t){return FM(olt(this,t,!1))},ZEt.Hb=function(){return h7(this.vc())},ZEt.dc=function(){return 0==this.gc()},ZEt.ec=function(){return new Zd(this)},ZEt.zc=function(t,e){throw Ay(new Ax("Put not supported on this map"))},ZEt.Ac=function(t){v5(this,t)},ZEt.Bc=function(t){return FM(olt(this,t,!0))},ZEt.gc=function(){return this.vc().gc()},ZEt.Ib=function(){return ylt(this)},ZEt.Cc=function(){return new ag(this)},vq(ESt,"AbstractMap",2065),Bgt(2085,2065,SSt),ZEt.bc=function(){return new kT(this)},ZEt.vc=function(){return yj(this)},ZEt.ec=function(){return this.g||(this.g=this.bc())},ZEt.Cc=function(){return this.i||(this.i=new xT(this))},vq(xSt,"Maps/ViewCachingAbstractMap",2085),Bgt(402,2085,SSt,rT),ZEt.xc=function(t){return function(t,e){var n,i;return(n=KR(ctt(t.d,e),16))?(i=e,t.e.pc(i,n)):null}(this,t)},ZEt.Bc=function(t){return function(t,e){var n,i;return(n=KR(t.d.Bc(e),16))?((i=t.e.hc()).Gc(n),t.e.d-=n.gc(),n.$b(),i):null}(this,t)},ZEt.$b=function(){this.d==this.e.c?this.e.$b():r$(new o$(this))},ZEt._b=function(t){return ott(this.d,t)},ZEt.Ec=function(){return new $f(this)},ZEt.Dc=function(){return this.Ec()},ZEt.Fb=function(t){return this===t||wtt(this.d,t)},ZEt.Hb=function(){return N3(this.d)},ZEt.ec=function(){return this.e.ec()},ZEt.gc=function(){return this.d.gc()},ZEt.Ib=function(){return Get(this.d)},vq(xSt,"AbstractMapBasedMultimap/AsMap",402);var oHt=WF(uSt,"Iterable");Bgt(31,1,CSt),ZEt.Jc=function(t){UX(this,t)},ZEt.Lc=function(){return this.Oc()},ZEt.Nc=function(){return new OY(this,0)},ZEt.Oc=function(){return new k$(null,this.Nc())},ZEt.Fc=function(t){throw Ay(new Ax("Add not supported on this collection"))},ZEt.Gc=function(t){return z3(this,t)},ZEt.$b=function(){sU(this)},ZEt.Hc=function(t){return ynt(this,t,!1)},ZEt.Ic=function(t){return F6(this,t)},ZEt.dc=function(){return 0==this.gc()},ZEt.Mc=function(t){return ynt(this,t,!0)},ZEt.Pc=function(){return Tj(this)},ZEt.Qc=function(t){return pot(this,t)},ZEt.Ib=function(){return Tut(this)},vq(ESt,"AbstractCollection",31);var sHt=WF(ESt,"Set");Bgt(ASt,31,MSt),ZEt.Nc=function(){return new OY(this,1)},ZEt.Fb=function(t){return Uit(this,t)},ZEt.Hb=function(){return h7(this)},vq(ESt,"AbstractSet",ASt),Bgt(2068,ASt,MSt),vq(xSt,"Sets/ImprovedAbstractSet",2068),Bgt(2069,2068,MSt),ZEt.$b=function(){this.Rc().$b()},ZEt.Hc=function(t){return Knt(this,t)},ZEt.dc=function(){return this.Rc().dc()},ZEt.Mc=function(t){var e;return!(!this.Hc(t)||!rO(t,44))&&(e=KR(t,44),this.Rc().ec().Mc(e.ld()))},ZEt.gc=function(){return this.Rc().gc()},vq(xSt,"Maps/EntrySet",2069),Bgt(1127,2069,MSt,$f),ZEt.Hc=function(t){return stt(this.a.d.vc(),t)},ZEt.Kc=function(){return new o$(this.a)},ZEt.Rc=function(){return this.a},ZEt.Mc=function(t){var e;return!!stt(this.a.d.vc(),t)&&(e=KR(mH(KR(t,44)),44),TQ(this.a.e,e.ld()),!0)},ZEt.Nc=function(){return $R(this.a.d.vc().Nc(),new jf(this.a))},vq(xSt,"AbstractMapBasedMultimap/AsMap/AsMapEntries",1127),Bgt(1128,1,{},jf),ZEt.Kb=function(t){return gQ(this.a,KR(t,44))},vq(xSt,"AbstractMapBasedMultimap/AsMap/AsMapEntries/0methodref$wrapEntry$Type",1128),Bgt(746,1,TSt,o$),ZEt.Nb=function(t){bz(this,t)},ZEt.Pb=function(){var t;return t=KR(this.b.Pb(),44),this.a=KR(t.md(),16),gQ(this.c,t)},ZEt.Ob=function(){return this.b.Ob()},ZEt.Qb=function(){eR(!!this.a),this.b.Qb(),this.c.e.d-=this.a.gc(),this.a.$b(),this.a=null},vq(xSt,"AbstractMapBasedMultimap/AsMap/AsMapIterator",746),Bgt(542,2068,MSt,kT),ZEt.$b=function(){this.b.$b()},ZEt.Hc=function(t){return this.b._b(t)},ZEt.Jc=function(t){kq(t),this.b.wc(new ud(t))},ZEt.dc=function(){return this.b.dc()},ZEt.Kc=function(){return new qv(this.b.vc().Kc())},ZEt.Mc=function(t){return!!this.b._b(t)&&(this.b.Bc(t),!0)},ZEt.gc=function(){return this.b.gc()},vq(xSt,"Maps/KeySet",542),Bgt(327,542,MSt,HO),ZEt.$b=function(){r$(new aT(this,this.b.vc().Kc()))},ZEt.Ic=function(t){return this.b.ec().Ic(t)},ZEt.Fb=function(t){return this===t||wtt(this.b.ec(),t)},ZEt.Hb=function(){return N3(this.b.ec())},ZEt.Kc=function(){return new aT(this,this.b.vc().Kc())},ZEt.Mc=function(t){var e,n;return n=0,(e=KR(this.b.Bc(t),16))&&(n=e.gc(),e.$b(),this.a.d-=n),n>0},ZEt.Nc=function(){return this.b.ec().Nc()},vq(xSt,"AbstractMapBasedMultimap/KeySet",327),Bgt(747,1,TSt,aT),ZEt.Nb=function(t){bz(this,t)},ZEt.Ob=function(){return this.c.Ob()},ZEt.Pb=function(){return this.a=KR(this.c.Pb(),44),this.a.ld()},ZEt.Qb=function(){var t;eR(!!this.a),t=KR(this.a.md(),16),this.c.Qb(),this.b.a.d-=t.gc(),t.$b(),this.a=null},vq(xSt,"AbstractMapBasedMultimap/KeySet/1",747),Bgt(503,402,{85:1,133:1},iP),ZEt.bc=function(){return this.Sc()},ZEt.ec=function(){return this.Uc()},ZEt.Sc=function(){return new W_(this.c,this.Wc())},ZEt.Tc=function(){return this.Wc().Tc()},ZEt.Uc=function(){return this.b||(this.b=this.Sc())},ZEt.Vc=function(){return this.Wc().Vc()},ZEt.Wc=function(){return KR(this.d,133)},vq(xSt,"AbstractMapBasedMultimap/SortedAsMap",503),Bgt(446,503,LSt,rP),ZEt.bc=function(){return new X_(this.a,KR(KR(this.d,133),139))},ZEt.Sc=function(){return new X_(this.a,KR(KR(this.d,133),139))},ZEt.ec=function(){return KR(this.b||(this.b=new X_(this.a,KR(KR(this.d,133),139))),277)},ZEt.Uc=function(){return KR(this.b||(this.b=new X_(this.a,KR(KR(this.d,133),139))),277)},ZEt.Wc=function(){return KR(KR(this.d,133),139)},ZEt.Xc=function(t){return KR(KR(this.d,133),139).Xc(t)},ZEt.Yc=function(t){return KR(KR(this.d,133),139).Yc(t)},ZEt.Zc=function(t,e){return new rP(this.a,KR(KR(this.d,133),139).Zc(t,e))},ZEt.$c=function(t){return KR(KR(this.d,133),139).$c(t)},ZEt._c=function(t){return KR(KR(this.d,133),139)._c(t)},ZEt.ad=function(t,e){return new rP(this.a,KR(KR(this.d,133),139).ad(t,e))},vq(xSt,"AbstractMapBasedMultimap/NavigableAsMap",446),Bgt(502,327,ISt,W_),ZEt.Nc=function(){return this.b.ec().Nc()},vq(xSt,"AbstractMapBasedMultimap/SortedKeySet",502),Bgt(401,502,OSt,X_),vq(xSt,"AbstractMapBasedMultimap/NavigableKeySet",401),Bgt(551,31,CSt,rZ),ZEt.Fc=function(t){var e,n;return Xet(this),n=this.d.dc(),(e=this.d.Fc(t))&&(++this.f.d,n&&RP(this)),e},ZEt.Gc=function(t){var e,n,i;return!t.dc()&&(Xet(this),i=this.d.gc(),(e=this.d.Gc(t))&&(n=this.d.gc(),this.f.d+=n-i,0==i&&RP(this)),e)},ZEt.$b=function(){var t;Xet(this),0!=(t=this.d.gc())&&(this.d.$b(),this.f.d-=t,j$(this))},ZEt.Hc=function(t){return Xet(this),this.d.Hc(t)},ZEt.Ic=function(t){return Xet(this),this.d.Ic(t)},ZEt.Fb=function(t){return t===this||(Xet(this),wtt(this.d,t))},ZEt.Hb=function(){return Xet(this),N3(this.d)},ZEt.Kc=function(){return Xet(this),new FR(this)},ZEt.Mc=function(t){var e;return Xet(this),(e=this.d.Mc(t))&&(--this.f.d,j$(this)),e},ZEt.gc=function(){return VM(this)},ZEt.Nc=function(){return Xet(this),this.d.Nc()},ZEt.Ib=function(){return Xet(this),Get(this.d)},vq(xSt,"AbstractMapBasedMultimap/WrappedCollection",551);var cHt=WF(ESt,"List");Bgt(744,551,{20:1,31:1,16:1,15:1},jj),ZEt.jd=function(t){E3(this,t)},ZEt.Nc=function(){return Xet(this),this.d.Nc()},ZEt.bd=function(t,e){var n;Xet(this),n=this.d.dc(),KR(this.d,15).bd(t,e),++this.a.d,n&&RP(this)},ZEt.cd=function(t,e){var n,i,r;return!e.dc()&&(Xet(this),r=this.d.gc(),(n=KR(this.d,15).cd(t,e))&&(i=this.d.gc(),this.a.d+=i-r,0==r&&RP(this)),n)},ZEt.Xb=function(t){return Xet(this),KR(this.d,15).Xb(t)},ZEt.dd=function(t){return Xet(this),KR(this.d,15).dd(t)},ZEt.ed=function(){return Xet(this),new SI(this)},ZEt.fd=function(t){return Xet(this),new jU(this,t)},ZEt.gd=function(t){var e;return Xet(this),e=KR(this.d,15).gd(t),--this.a.d,j$(this),e},ZEt.hd=function(t,e){return Xet(this),KR(this.d,15).hd(t,e)},ZEt.kd=function(t,e){return Xet(this),hW(this.a,this.e,KR(this.d,15).kd(t,e),this.b?this.b:this)},vq(xSt,"AbstractMapBasedMultimap/WrappedList",744),Bgt(1126,744,{20:1,31:1,16:1,15:1,59:1},GN),vq(xSt,"AbstractMapBasedMultimap/RandomAccessWrappedList",1126),Bgt(628,1,TSt,FR),ZEt.Nb=function(t){bz(this,t)},ZEt.Ob=function(){return BU(this),this.b.Ob()},ZEt.Pb=function(){return BU(this),this.b.Pb()},ZEt.Qb=function(){JO(this)},vq(xSt,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",628),Bgt(745,628,NSt,SI,jU),ZEt.Qb=function(){JO(this)},ZEt.Rb=function(t){var e;e=0==VM(this.a),(BU(this),KR(this.b,128)).Rb(t),++this.a.a.d,e&&RP(this.a)},ZEt.Sb=function(){return(BU(this),KR(this.b,128)).Sb()},ZEt.Tb=function(){return(BU(this),KR(this.b,128)).Tb()},ZEt.Ub=function(){return(BU(this),KR(this.b,128)).Ub()},ZEt.Vb=function(){return(BU(this),KR(this.b,128)).Vb()},ZEt.Wb=function(t){(BU(this),KR(this.b,128)).Wb(t)},vq(xSt,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",745),Bgt(743,551,ISt,eP),ZEt.Nc=function(){return Xet(this),this.d.Nc()},vq(xSt,"AbstractMapBasedMultimap/WrappedSortedSet",743),Bgt(1125,743,OSt,hI),vq(xSt,"AbstractMapBasedMultimap/WrappedNavigableSet",1125),Bgt(1124,551,MSt,nP),ZEt.Nc=function(){return Xet(this),this.d.Nc()},vq(xSt,"AbstractMapBasedMultimap/WrappedSet",1124),Bgt(1133,1,{},s),ZEt.Kb=function(t){return function(t){var e;return e=t.ld(),$R(KR(t.md(),16).Nc(),new Uf(e))}(KR(t,44))},vq(xSt,"AbstractMapBasedMultimap/lambda$1$Type",1133),Bgt(1132,1,{},Uf),ZEt.Kb=function(t){return new dT(this.a,t)},vq(xSt,"AbstractMapBasedMultimap/lambda$2$Type",1132);var lHt,uHt,hHt,fHt,dHt=WF(ESt,"Map/Entry");Bgt(358,1,DSt),ZEt.Fb=function(t){var e;return!!rO(t,44)&&(e=KR(t,44),oH(this.ld(),e.ld())&&oH(this.md(),e.md()))},ZEt.Hb=function(){var t,e;return t=this.ld(),e=this.md(),(null==t?0:N3(t))^(null==e?0:N3(e))},ZEt.nd=function(t){throw Ay(new Zy)},ZEt.Ib=function(){return this.ld()+"="+this.md()},vq(xSt,PSt,358),Bgt(2086,31,CSt),ZEt.$b=function(){this.od().$b()},ZEt.Hc=function(t){var e;return!!rO(t,44)&&(e=KR(t,44),function(t,e,n){var i;return!!(i=KR(t.Zb().xc(e),16))&&i.Hc(n)}(this.od(),e.ld(),e.md()))},ZEt.Mc=function(t){var e;return!!rO(t,44)&&(e=KR(t,44),vV(this.od(),e.ld(),e.md()))},ZEt.gc=function(){return this.od().d},vq(xSt,"Multimaps/Entries",2086),Bgt(749,2086,CSt,Gf),ZEt.Kc=function(){return this.a.kc()},ZEt.od=function(){return this.a},ZEt.Nc=function(){return this.a.lc()},vq(xSt,"AbstractMultimap/Entries",749),Bgt(750,749,MSt,Ov),ZEt.Nc=function(){return this.a.lc()},ZEt.Fb=function(t){return wht(this,t)},ZEt.Hb=function(){return q3(this)},vq(xSt,"AbstractMultimap/EntrySet",750),Bgt(751,31,CSt,Kf),ZEt.$b=function(){this.a.$b()},ZEt.Hc=function(t){return function(t,e){var n;for(n=t.Zb().Cc().Kc();n.Ob();)if(KR(n.Pb(),16).Hc(e))return!0;return!1}(this.a,t)},ZEt.Kc=function(){return this.a.nc()},ZEt.gc=function(){return this.a.d},ZEt.Nc=function(){return this.a.oc()},vq(xSt,"AbstractMultimap/Values",751),Bgt(2087,31,{849:1,20:1,31:1,16:1}),ZEt.Jc=function(t){kq(t),cU(this).Jc(new bd(t))},ZEt.Nc=function(){var t;return Ylt(t=cU(this).Nc(),new p,64|1296&t.yd(),this.a.d)},ZEt.Fc=function(t){return Hx(),!0},ZEt.Gc=function(t){return kq(this),kq(t),rO(t,552)?jV(KR(t,849)):!t.dc()&&V1(this,t.Kc())},ZEt.Hc=function(t){var e;return((e=KR(ctt(HU(this.a),t),16))?e.gc():0)>0},ZEt.Fb=function(t){return function(t,e){var n,i,r;if(e===t)return!0;if(rO(e,552)){if(r=KR(e,849),t.a.d!=r.a.d||cU(t).gc()!=cU(r).gc())return!1;for(i=cU(r).Kc();i.Ob();)if(bY(t,(n=KR(i.Pb(),425)).a.ld())!=KR(n.a.md(),16).gc())return!1;return!0}return!1}(this,t)},ZEt.Hb=function(){return N3(cU(this))},ZEt.dc=function(){return cU(this).dc()},ZEt.Mc=function(t){return pdt(this,t,1)>0},ZEt.Ib=function(){return Get(cU(this))},vq(xSt,"AbstractMultiset",2087),Bgt(2089,2068,MSt),ZEt.$b=function(){x4(this.a.a)},ZEt.Hc=function(t){var e;return!(!rO(t,504)||(e=KR(t,425),KR(e.a.md(),16).gc()<=0||bY(this.a,e.a.ld())!=KR(e.a.md(),16).gc()))},ZEt.Mc=function(t){var e,n,i;return!(!rO(t,504)||(n=KR(t,425),e=n.a.ld(),i=KR(n.a.md(),16).gc(),0==i))&&function(t,e,n){var i,r,a;return E4(n,"oldCount"),E4(0,"newCount"),((i=KR(ctt(HU(t.a),e),16))?i.gc():0)==n&&(E4(0,"count"),(a=-((r=KR(ctt(HU(t.a),e),16))?r.gc():0))>0?Hx():a<0&&pdt(t,e,-a),!0)}(this.a,e,i)},vq(xSt,"Multisets/EntrySet",2089),Bgt(1139,2089,MSt,Yf),ZEt.Kc=function(){return new Uv(yj(HU(this.a.a)).Kc())},ZEt.gc=function(){return HU(this.a.a).gc()},vq(xSt,"AbstractMultiset/EntrySet",1139),Bgt(627,742,_St),ZEt.hc=function(){return this.pd()},ZEt.jc=function(){return this.qd()},ZEt.cc=function(t){return this.rd(t)},ZEt.fc=function(t){return this.sd(t)},ZEt.Zb=function(){return this.f||(this.f=this.ac())},ZEt.qd=function(){return QU(),QU(),PUt},ZEt.Fb=function(t){return T8(this,t)},ZEt.rd=function(t){return KR(IQ(this,t),21)},ZEt.sd=function(t){return KR(A9(this,t),21)},ZEt.mc=function(t){return QU(),new Jx(KR(t,21))},ZEt.pc=function(t,e){return new nP(this,t,KR(e,21))},vq(xSt,"AbstractSetMultimap",627),Bgt(1723,627,_St),ZEt.hc=function(){return new y_(this.b)},ZEt.pd=function(){return new y_(this.b)},ZEt.jc=function(){return hH(new y_(this.b))},ZEt.qd=function(){return hH(new y_(this.b))},ZEt.cc=function(t){return KR(KR(IQ(this,t),21),87)},ZEt.rd=function(t){return KR(KR(IQ(this,t),21),87)},ZEt.fc=function(t){return KR(KR(A9(this,t),21),87)},ZEt.sd=function(t){return KR(KR(A9(this,t),21),87)},ZEt.mc=function(t){return rO(t,277)?hH(KR(t,277)):(QU(),new xN(KR(t,87)))},ZEt.Zb=function(){return this.f||(this.f=rO(this.c,139)?new rP(this,KR(this.c,139)):rO(this.c,133)?new iP(this,KR(this.c,133)):new rT(this,this.c))},ZEt.pc=function(t,e){return rO(e,277)?new hI(this,t,KR(e,277)):new eP(this,t,KR(e,87))},vq(xSt,"AbstractSortedSetMultimap",1723),Bgt(1724,1723,_St),ZEt.Zb=function(){return KR(KR(this.f||(this.f=rO(this.c,139)?new rP(this,KR(this.c,139)):rO(this.c,133)?new iP(this,KR(this.c,133)):new rT(this,this.c)),133),139)},ZEt.ec=function(){return KR(KR(this.i||(this.i=rO(this.c,139)?new X_(this,KR(this.c,139)):rO(this.c,133)?new W_(this,KR(this.c,133)):new HO(this,this.c)),87),277)},ZEt.bc=function(){return rO(this.c,139)?new X_(this,KR(this.c,139)):rO(this.c,133)?new W_(this,KR(this.c,133)):new HO(this,this.c)},vq(xSt,"AbstractSortedKeySortedSetMultimap",1724),Bgt(2109,1,{2046:1}),ZEt.Fb=function(t){return function(t,e){var n;return e===t||!!rO(e,678)&&(n=KR(e,2046),Uit(t.g||(t.g=new Wf(t)),n.g||(n.g=new Wf(n))))}(this,t)},ZEt.Hb=function(){return h7(this.g||(this.g=new Wf(this)))},ZEt.Ib=function(){return ylt(this.f||(this.f=new tN(this)))},vq(xSt,"AbstractTable",2109),Bgt(679,ASt,MSt,Wf),ZEt.$b=function(){Ux()},ZEt.Hc=function(t){var e,n;return!!rO(t,479)&&(e=KR(t,697),!!(n=KR(ctt(gq(this.a),YM(e.c.e,e.b)),85))&&stt(n.vc(),new dT(YM(e.c.c,e.a),nZ(e.c,e.b,e.a))))},ZEt.Kc=function(){return new eN(t=this.a,t.e.Rd().gc()*t.c.Rd().gc());var t},ZEt.Mc=function(t){var e,n;return!!rO(t,479)&&(e=KR(t,697),!!(n=KR(ctt(gq(this.a),YM(e.c.e,e.b)),85))&&function(t,e){kq(t);try{return t.Mc(e)}catch(t){if(rO(t=j6(t),212)||rO(t,169))return!1;throw Ay(t)}}(n.vc(),new dT(YM(e.c.c,e.a),nZ(e.c,e.b,e.a))))},ZEt.gc=function(){return JF(this.a)},ZEt.Nc=function(){return t$((t=this.a).e.Rd().gc()*t.c.Rd().gc(),273,new zf(t));var t},vq(xSt,"AbstractTable/CellSet",679),Bgt(2025,31,CSt,Xf),ZEt.$b=function(){Ux()},ZEt.Hc=function(t){return function(t,e){var n,i,r,a,o,s,c;for(s=0,c=(o=t.a).length;s=0?"+":"")+(n/60|0),e=PL(i.Math.abs(n)%60),(uut(),jUt)[this.q.getDay()]+" "+zUt[this.q.getMonth()]+" "+PL(this.q.getDate())+" "+PL(this.q.getHours())+":"+PL(this.q.getMinutes())+":"+PL(this.q.getSeconds())+" GMT"+t+e+" "+this.q.getFullYear()};var NHt,DHt,PHt,BHt,RHt,FHt,$Ht,jHt,zHt,qHt=vq(ESt,"Date",206);Bgt(2015,206,JCt,nct),ZEt.a=!1,ZEt.b=0,ZEt.c=0,ZEt.d=0,ZEt.e=0,ZEt.f=0,ZEt.g=!1,ZEt.i=0,ZEt.j=0,ZEt.k=0,ZEt.n=0,ZEt.o=0,ZEt.p=0,vq("com.google.gwt.i18n.shared.impl","DateRecord",2015),Bgt(2064,1,{}),ZEt.pe=function(){return null},ZEt.qe=function(){return null},ZEt.re=function(){return null},ZEt.se=function(){return null},ZEt.te=function(){return null},vq(tAt,"JSONValue",2064),Bgt(221,2064,{221:1},Td,vd),ZEt.Fb=function(t){return!!rO(t,221)&&PY(this.a,KR(t,221).a)},ZEt.oe=function(){return Sy},ZEt.Hb=function(){return dG(this.a)},ZEt.pe=function(){return this},ZEt.Ib=function(){var t,e,n;for(n=new pN("["),e=0,t=this.a.length;e0&&(n.a+=","),JM(n,Q1(this,e));return n.a+="]",n.a},vq(tAt,"JSONArray",221),Bgt(493,2064,{493:1},xd),ZEt.oe=function(){return Cy},ZEt.qe=function(){return this},ZEt.Ib=function(){return FN(),""+this.a},ZEt.a=!1,vq(tAt,"JSONBoolean",493),Bgt(997,63,bCt,Vv),vq(tAt,"JSONException",997),Bgt(1036,2064,{},_),ZEt.oe=function(){return My},ZEt.Ib=function(){return wSt},vq(tAt,"JSONNull",1036),Bgt(263,2064,{263:1},kd),ZEt.Fb=function(t){return!!rO(t,263)&&this.a==KR(t,263).a},ZEt.oe=function(){return Ty},ZEt.Hb=function(){return LL(this.a)},ZEt.re=function(){return this},ZEt.Ib=function(){return this.a+""},ZEt.a=0,vq(tAt,"JSONNumber",263),Bgt(190,2064,{190:1},Wv,_d),ZEt.Fb=function(t){return!!rO(t,190)&&PY(this.a,KR(t,190).a)},ZEt.oe=function(){return Ey},ZEt.Hb=function(){return dG(this.a)},ZEt.se=function(){return this},ZEt.Ib=function(){var t,e,n,i,r,a;for(a=new pN("{"),t=!0,i=0,r=(n=H3(this,WZ(fUt,RSt,2,0,6,1))).length;i=0?":"+this.c:"")+")"},ZEt.c=0;var hUt=vq(uSt,"StackTraceElement",319);iSt={3:1,484:1,34:1,2:1};var fUt=vq(uSt,yCt,2);Bgt(111,427,{484:1},Kx,Yx,gN),vq(uSt,"StringBuffer",111),Bgt(104,427,{484:1},Vx,Wx,pN),vq(uSt,"StringBuilder",104),Bgt(702,77,lAt,Xx),vq(uSt,"StringIndexOutOfBoundsException",702),Bgt(2145,1,{}),Bgt(48,63,{3:1,103:1,63:1,82:1,48:1},Zy,Ax),vq(uSt,"UnsupportedOperationException",48),Bgt(247,242,{3:1,34:1,242:1,247:1},Ntt,E_),ZEt.Fd=function(t){return Wvt(this,KR(t,247))},ZEt.ue=function(){return Xut(qkt(this))},ZEt.Fb=function(t){var e;return this===t||!!rO(t,247)&&(e=KR(t,247),this.e==e.e&&0==Wvt(this,e))},ZEt.Hb=function(){var t;return 0!=this.b?this.b:this.a<54?(t=h6(this.f),this.b=bj(BY(t,-1)),this.b=33*this.b+bj(BY(Mj(t,32),-1)),this.b=17*this.b+oK(this.e),this.b):(this.b=17*I9(this.c)+oK(this.e),this.b)},ZEt.Ib=function(){return qkt(this)},ZEt.a=0,ZEt.b=0,ZEt.d=0,ZEt.e=0,ZEt.f=0;var dUt,gUt,pUt,bUt,mUt,yUt,wUt,vUt,xUt=vq("java.math","BigDecimal",247);Bgt(92,242,{3:1,34:1,242:1,92:1},iX,qY,Pz,trt,pI),ZEt.Fd=function(t){return Dit(this,KR(t,92))},ZEt.ue=function(){return Xut(vEt(this,0))},ZEt.Fb=function(t){return ont(this,t)},ZEt.Hb=function(){return I9(this)},ZEt.Ib=function(){return vEt(this,0)},ZEt.b=-2,ZEt.c=0,ZEt.d=0,ZEt.e=0;var kUt,_Ut,TUt,EUt,SUt,CUt,AUt,MUt,LUt,IUt,OUt=vq("java.math","BigInteger",92);Bgt(498,2065,SSt),ZEt.$b=function(){_z(this)},ZEt._b=function(t){return mz(this,t)},ZEt.uc=function(t){return B8(this,t,this.i)||B8(this,t,this.f)},ZEt.vc=function(){return new Jd(this)},ZEt.xc=function(t){return Oq(this,t)},ZEt.zc=function(t,e){return LH(this,t,e)},ZEt.Bc=function(t){return $Q(this,t)},ZEt.gc=function(){return PT(this)},ZEt.g=0,vq(ESt,"AbstractHashMap",498),Bgt(267,ASt,MSt,Jd),ZEt.$b=function(){this.a.$b()},ZEt.Hc=function(t){return qV(this,t)},ZEt.Kc=function(){return new G5(this.a)},ZEt.Mc=function(t){var e;return!!qV(this,t)&&(e=KR(t,44).ld(),this.a.Bc(e),!0)},ZEt.gc=function(){return this.a.gc()},vq(ESt,"AbstractHashMap/EntrySet",267),Bgt(268,1,TSt,G5),ZEt.Nb=function(t){bz(this,t)},ZEt.Pb=function(){return d3(this)},ZEt.Ob=function(){return this.b},ZEt.Qb=function(){x1(this)},ZEt.b=!1,ZEt.d=0,vq(ESt,"AbstractHashMap/EntrySetIterator",268),Bgt(426,1,TSt,mg),ZEt.Nb=function(t){bz(this,t)},ZEt.Ob=function(){return VE(this)},ZEt.Pb=function(){return RU(this)},ZEt.Qb=function(){nH(this)},ZEt.b=0,ZEt.c=-1,vq(ESt,"AbstractList/IteratorImpl",426),Bgt(98,426,NSt,CV),ZEt.Qb=function(){nH(this)},ZEt.Rb=function(t){BP(this,t)},ZEt.Sb=function(){return this.b>0},ZEt.Tb=function(){return this.b},ZEt.Ub=function(){return KD(this.b>0),this.a.Xb(this.c=--this.b)},ZEt.Vb=function(){return this.b-1},ZEt.Wb=function(t){YD(-1!=this.c),this.a.hd(this.c,t)},vq(ESt,"AbstractList/ListIteratorImpl",98),Bgt(244,56,cCt,yY),ZEt.bd=function(t,e){MY(t,this.b),this.c.bd(this.a+t,e),++this.b},ZEt.Xb=function(t){return LY(t,this.b),this.c.Xb(this.a+t)},ZEt.gd=function(t){var e;return LY(t,this.b),e=this.c.gd(this.a+t),--this.b,e},ZEt.hd=function(t,e){return LY(t,this.b),this.c.hd(this.a+t,e)},ZEt.gc=function(){return this.b},ZEt.a=0,ZEt.b=0,vq(ESt,"AbstractList/SubList",244),Bgt(266,ASt,MSt,Zd),ZEt.$b=function(){this.a.$b()},ZEt.Hc=function(t){return this.a._b(t)},ZEt.Kc=function(){return new rg(this.a.vc().Kc())},ZEt.Mc=function(t){return!!this.a._b(t)&&(this.a.Bc(t),!0)},ZEt.gc=function(){return this.a.gc()},vq(ESt,"AbstractMap/1",266),Bgt(541,1,TSt,rg),ZEt.Nb=function(t){bz(this,t)},ZEt.Ob=function(){return this.a.Ob()},ZEt.Pb=function(){return KR(this.a.Pb(),44).ld()},ZEt.Qb=function(){this.a.Qb()},vq(ESt,"AbstractMap/1/1",541),Bgt(231,31,CSt,ag),ZEt.$b=function(){this.a.$b()},ZEt.Hc=function(t){return this.a.uc(t)},ZEt.Kc=function(){return new og(this.a.vc().Kc())},ZEt.gc=function(){return this.a.gc()},vq(ESt,"AbstractMap/2",231),Bgt(301,1,TSt,og),ZEt.Nb=function(t){bz(this,t)},ZEt.Ob=function(){return this.a.Ob()},ZEt.Pb=function(){return KR(this.a.Pb(),44).md()},ZEt.Qb=function(){this.a.Qb()},vq(ESt,"AbstractMap/2/1",301),Bgt(494,1,{494:1,44:1}),ZEt.Fb=function(t){var e;return!!rO(t,44)&&(e=KR(t,44),jH(this.d,e.ld())&&jH(this.e,e.md()))},ZEt.ld=function(){return this.d},ZEt.md=function(){return this.e},ZEt.Hb=function(){return TI(this.d)^TI(this.e)},ZEt.nd=function(t){return DP(this,t)},ZEt.Ib=function(){return this.d+"="+this.e},vq(ESt,"AbstractMap/AbstractEntry",494),Bgt(397,494,{494:1,397:1,44:1},uS),vq(ESt,"AbstractMap/SimpleEntry",397),Bgt(2082,1,TAt),ZEt.Fb=function(t){var e;return!!rO(t,44)&&(e=KR(t,44),jH(this.ld(),e.ld())&&jH(this.md(),e.md()))},ZEt.Hb=function(){return TI(this.ld())^TI(this.md())},ZEt.Ib=function(){return this.ld()+"="+this.md()},vq(ESt,PSt,2082),Bgt(2090,2065,LSt),ZEt.Xc=function(t){return r_(this.Ee(t))},ZEt.tc=function(t){return dQ(this,t)},ZEt._b=function(t){return PP(this,t)},ZEt.vc=function(){return new lg(this)},ZEt.Tc=function(){return Tz(this.Ge())},ZEt.Yc=function(t){return r_(this.He(t))},ZEt.xc=function(t){var e;return e=t,FM(this.Fe(e))},ZEt.$c=function(t){return r_(this.Ie(t))},ZEt.ec=function(){return new sg(this)},ZEt.Vc=function(){return Tz(this.Je())},ZEt._c=function(t){return r_(this.Ke(t))},vq(ESt,"AbstractNavigableMap",2090),Bgt(629,ASt,MSt,lg),ZEt.Hc=function(t){return rO(t,44)&&dQ(this.b,KR(t,44))},ZEt.Kc=function(){return this.b.De()},ZEt.Mc=function(t){var e;return!!rO(t,44)&&(e=KR(t,44),this.b.Le(e))},ZEt.gc=function(){return this.b.gc()},vq(ESt,"AbstractNavigableMap/EntrySet",629),Bgt(1146,ASt,OSt,sg),ZEt.Nc=function(){return new oS(this)},ZEt.$b=function(){this.a.$b()},ZEt.Hc=function(t){return PP(this.a,t)},ZEt.Kc=function(){return new cg(this.a.vc().b.De())},ZEt.Mc=function(t){return!!PP(this.a,t)&&(this.a.Bc(t),!0)},ZEt.gc=function(){return this.a.gc()},vq(ESt,"AbstractNavigableMap/NavigableKeySet",1146),Bgt(1147,1,TSt,cg),ZEt.Nb=function(t){bz(this,t)},ZEt.Ob=function(){return VE(this.a.a)},ZEt.Pb=function(){return lD(this.a).ld()},ZEt.Qb=function(){VB(this.a)},vq(ESt,"AbstractNavigableMap/NavigableKeySet/1",1147),Bgt(2103,31,CSt),ZEt.Fc=function(t){return iF(Zlt(this,t),EAt),!0},ZEt.Gc=function(t){return yH(t),nF(t!=this,"Can't add a queue to itself"),z3(this,t)},ZEt.$b=function(){for(;null!=J1(this););},vq(ESt,"AbstractQueue",2103),Bgt(310,31,{4:1,20:1,31:1,16:1},$O,AV),ZEt.Fc=function(t){return pW(this,t),!0},ZEt.$b=function(){QW(this)},ZEt.Hc=function(t){return H6(new QH(this),t)},ZEt.dc=function(){return Rx(this)},ZEt.Kc=function(){return new QH(this)},ZEt.Mc=function(t){return function(t,e){return!!H6(t,e)&&(v4(t),!0)}(new QH(this),t)},ZEt.gc=function(){return this.c-this.b&this.a.length-1},ZEt.Nc=function(){return new OY(this,272)},ZEt.Qc=function(t){var e;return e=this.c-this.b&this.a.length-1,t.lengthe&&Dq(t,e,null),t},ZEt.b=0,ZEt.c=0,vq(ESt,"ArrayDeque",310),Bgt(459,1,TSt,QH),ZEt.Nb=function(t){bz(this,t)},ZEt.Ob=function(){return this.a!=this.b},ZEt.Pb=function(){return L9(this)},ZEt.Qb=function(){v4(this)},ZEt.a=0,ZEt.b=0,ZEt.c=-1,vq(ESt,"ArrayDeque/IteratorImpl",459),Bgt(13,56,SAt,yy,lZ,HB),ZEt.bd=function(t,e){V$(this,t,e)},ZEt.Fc=function(t){return SO(this,t)},ZEt.cd=function(t,e){return a9(this,t,e)},ZEt.Gc=function(t){return G6(this,t)},ZEt.$b=function(){ow(this.c,0)},ZEt.Hc=function(t){return-1!=g1(this,t,0)},ZEt.Jc=function(t){V0(this,t)},ZEt.Xb=function(t){return c$(this,t)},ZEt.dd=function(t){return g1(this,t,0)},ZEt.dc=function(){return 0==this.c.length},ZEt.Kc=function(){return new pg(this)},ZEt.gd=function(t){return PQ(this,t)},ZEt.Mc=function(t){return u1(this,t)},ZEt.ce=function(t,e){mY(this,t,e)},ZEt.hd=function(t,e){return YX(this,t,e)},ZEt.gc=function(){return this.c.length},ZEt.jd=function(t){PI(this,t)},ZEt.Pc=function(){return OF(this.c)},ZEt.Qc=function(t){return yrt(this,t)};var NUt,DUt,PUt,BUt,RUt,FUt,$Ut,jUt,zUt,qUt=vq(ESt,"ArrayList",13);Bgt(7,1,TSt,pg),ZEt.Nb=function(t){bz(this,t)},ZEt.Ob=function(){return BI(this)},ZEt.Pb=function(){return jY(this)},ZEt.Qb=function(){zz(this)},ZEt.a=0,ZEt.b=-1,vq(ESt,"ArrayList/1",7),Bgt(2112,i.Function,{},C),ZEt.Me=function(t,e){return cet(t,e)},Bgt(151,56,CAt,Dx),ZEt.Hc=function(t){return-1!=_4(this,t)},ZEt.Jc=function(t){var e,n,i,r;for(yH(t),i=0,r=(n=this.a).length;i0)throw Ay(new Tx(qAt+t+" greater than "+this.e));return this.f.Te()?JG(this.c,this.b,this.a,t,e):_Y(this.c,t,e)},ZEt.zc=function(t,e){if(!ast(this.c,this.f,t,this.b,this.a,this.e,this.d))throw Ay(new Tx(t+" outside the range "+this.b+" to "+this.e));return $7(this.c,t,e)},ZEt.Bc=function(t){var e;return e=t,ast(this.c,this.f,e,this.b,this.a,this.e,this.d)?nK(this.c,e):null},ZEt.Le=function(t){return rH(this,t.ld())&&QZ(this.c,t)},ZEt.gc=function(){var t,e,n;if(!((e=this.f.Te()?this.a?cit(this.c,this.b,!0):cit(this.c,this.b,!1):WJ(this.c))&&rH(this,e.d)&&e))return 0;for(t=0,n=new t5(this.c,this.f,this.b,this.a,this.e,this.d);VE(n.a);n.b=KR(RU(n.a),44))++t;return t},ZEt.ad=function(t,e){if(this.f.Te()&&this.c.a.Ne(t,this.b)<0)throw Ay(new Tx(qAt+t+HAt+this.b));return this.f.Ue()?JG(this.c,t,e,this.e,this.d):TY(this.c,t,e)},ZEt.a=!1,ZEt.d=!1,vq(ESt,"TreeMap/SubMap",631),Bgt(304,22,UAt,sS),ZEt.Te=function(){return!1},ZEt.Ue=function(){return!1};var rGt,aGt,oGt,sGt,cGt,lGt=Z2(ESt,"TreeMap/SubMapType",304,bHt,(function(){return DJ(),t7(rk(lGt,1),sCt,304,0,[rGt,aGt,oGt,sGt])}),(function(t){return DJ(),Q2((NJ(),cGt),t)}));Bgt(1143,304,UAt,gI),ZEt.Ue=function(){return!0},Z2(ESt,"TreeMap/SubMapType/1",1143,lGt,null,null),Bgt(1144,304,UAt,YI),ZEt.Te=function(){return!0},ZEt.Ue=function(){return!0},Z2(ESt,"TreeMap/SubMapType/2",1144,lGt,null,null),Bgt(1145,304,UAt,dI),ZEt.Te=function(){return!0},Z2(ESt,"TreeMap/SubMapType/3",1145,lGt,null,null),Bgt(157,ASt,{3:1,20:1,31:1,16:1,277:1,21:1,87:1,157:1},dw,y_,Cg),ZEt.Nc=function(){return new oS(this)},ZEt.Fc=function(t){return Mz(this,t)},ZEt.$b=function(){this.a.$b()},ZEt.Hc=function(t){return this.a._b(t)},ZEt.Kc=function(){return this.a.ec().Kc()},ZEt.Mc=function(t){return kO(this,t)},ZEt.gc=function(){return this.a.gc()};var uGt=vq(ESt,"TreeSet",157);Bgt(1082,1,{},Ag),ZEt.Ve=function(t,e){return function(t,e,n){return t.Ne(e,n)<=0?n:e}(this.a,t,e)},vq(GAt,"BinaryOperator/lambda$0$Type",1082),Bgt(1083,1,{},Mg),ZEt.Ve=function(t,e){return function(t,e,n){return t.Ne(e,n)<=0?e:n}(this.a,t,e)},vq(GAt,"BinaryOperator/lambda$1$Type",1083),Bgt(952,1,{},q),ZEt.Kb=function(t){return t},vq(GAt,"Function/lambda$0$Type",952),Bgt(395,1,hCt,Lg),ZEt.Mb=function(t){return!this.a.Mb(t)},vq(GAt,"Predicate/lambda$2$Type",395),Bgt(581,1,{581:1});var hGt,fGt,dGt=vq(KAt,"Handler",581);Bgt(2107,1,hSt),ZEt.xe=function(){return"DUMMY"},ZEt.Ib=function(){return this.xe()},vq(KAt,"Level",2107),Bgt(1706,2107,hSt,H),ZEt.xe=function(){return"INFO"},vq(KAt,"Level/LevelInfo",1706),Bgt(1843,1,{},fw),vq(KAt,"LogManager",1843),Bgt(1896,1,hSt,YB),ZEt.b=null,vq(KAt,"LogRecord",1896),Bgt(525,1,{525:1},QX),ZEt.e=!1;var gGt=!1,pGt=!1,bGt=!1,mGt=!1,yGt=!1;vq(KAt,"Logger",525),Bgt(835,581,{581:1},U),vq(KAt,"SimpleConsoleLogHandler",835),Bgt(108,22,{3:1,34:1,22:1,108:1},cS);var wGt,vGt,xGt,kGt,_Gt=Z2(WAt,"Collector/Characteristics",108,bHt,(function(){return e9(),t7(rk(_Gt,1),sCt,108,0,[wGt,vGt,xGt])}),(function(t){return e9(),Q2(($Z(),kGt),t)}));Bgt(758,1,{},Bz),vq(WAt,"CollectorImpl",758),Bgt(1074,1,{},G),ZEt.Ve=function(t,e){return function(t,e){var n;return e.a&&(n=e.a.a.length,t.a?tL(t.a,t.b):t.a=new pN(t.d),SV(t.a,e.a,e.d.length,n)),t}(KR(t,213),KR(e,213))},vq(WAt,"Collectors/10methodref$merge$Type",1074),Bgt(1075,1,{},K),ZEt.Kb=function(t){return IV(KR(t,213))},vq(WAt,"Collectors/11methodref$toString$Type",1075),Bgt(1076,1,{},Ig),ZEt.Kb=function(t){return FN(),!!ML(t)},vq(WAt,"Collectors/12methodref$test$Type",1076),Bgt(144,1,{},Y),ZEt.Yd=function(t,e){KR(t,16).Fc(e)},vq(WAt,"Collectors/20methodref$add$Type",144),Bgt(146,1,{},V),ZEt.Xe=function(){return new yy},vq(WAt,"Collectors/21methodref$ctor$Type",146),Bgt(359,1,{},W),ZEt.Xe=function(){return new hw},vq(WAt,"Collectors/23methodref$ctor$Type",359),Bgt(360,1,{},X),ZEt.Yd=function(t,e){Az(KR(t,49),e)},vq(WAt,"Collectors/24methodref$add$Type",360),Bgt(1069,1,{},Q),ZEt.Ve=function(t,e){return QT(KR(t,15),KR(e,16))},vq(WAt,"Collectors/4methodref$addAll$Type",1069),Bgt(1073,1,{},Z),ZEt.Yd=function(t,e){FQ(KR(t,213),KR(e,484))},vq(WAt,"Collectors/9methodref$add$Type",1073),Bgt(1072,1,{},WR),ZEt.Xe=function(){return new y6(this.a,this.b,this.c)},vq(WAt,"Collectors/lambda$15$Type",1072),Bgt(1077,1,{},J),ZEt.Xe=function(){var t;return Trt(t=new fX,(FN(),!1),new yy),Trt(t,!0,new yy),t},vq(WAt,"Collectors/lambda$22$Type",1077),Bgt(1078,1,{},Og),ZEt.Xe=function(){return t7(rk(nHt,1),pSt,1,5,[this.a])},vq(WAt,"Collectors/lambda$25$Type",1078),Bgt(1079,1,{},Ng),ZEt.Yd=function(t,e){!function(t,e){Dq(e,0,h$(e[0],Kit(1)))}(this.a,X2(t))},vq(WAt,"Collectors/lambda$26$Type",1079),Bgt(1080,1,{},Dg),ZEt.Ve=function(t,e){return function(t,e,n){return Dq(e,0,h$(e[0],n[0])),e}(this.a,X2(t),X2(e))},vq(WAt,"Collectors/lambda$27$Type",1080),Bgt(1081,1,{},tt),ZEt.Kb=function(t){return X2(t)[0]},vq(WAt,"Collectors/lambda$28$Type",1081),Bgt(728,1,{},et),ZEt.Ve=function(t,e){return h$(t,e)},vq(WAt,"Collectors/lambda$4$Type",728),Bgt(145,1,{},nt),ZEt.Ve=function(t,e){return function(t,e){return t.Gc(e),t}(KR(t,16),KR(e,16))},vq(WAt,"Collectors/lambda$42$Type",145),Bgt(361,1,{},it),ZEt.Ve=function(t,e){return function(t,e){return z3(t,e),t}(KR(t,49),KR(e,49))},vq(WAt,"Collectors/lambda$50$Type",361),Bgt(362,1,{},rt),ZEt.Kb=function(t){return KR(t,49)},vq(WAt,"Collectors/lambda$51$Type",362),Bgt(1068,1,{},Pg),ZEt.Yd=function(t,e){!function(t,e,n){var i,r;FN(),i=!!ML(n),(r=KR(e.xc(i),15))||(r=new yy,e.zc(i,r)),r.Fc(n)}(this.a,KR(t,85),e)},vq(WAt,"Collectors/lambda$7$Type",1068),Bgt(1070,1,{},at),ZEt.Ve=function(t,e){return function(t,e,n){var i,r;for(r=e.vc().Kc();r.Ob();)i=KR(r.Pb(),44),t.yc(i.ld(),i.md(),n);return t}(KR(t,85),KR(e,85),new Q)},vq(WAt,"Collectors/lambda$8$Type",1070),Bgt(1071,1,{},Bg),ZEt.Kb=function(t){return function(t,e){var n,i,r;for(r=new my,i=e.vc().Kc();i.Ob();)LH(r,(n=KR(i.Pb(),44)).ld(),Z5(t,KR(n.md(),15)));return r}(this.a,KR(t,85))},vq(WAt,"Collectors/lambda$9$Type",1071),Bgt(550,1,{}),ZEt.$e=function(){dH(this)},ZEt.d=!1,vq(WAt,"TerminatableStream",550),Bgt(827,550,XAt,JD),ZEt.$e=function(){dH(this)},vq(WAt,"DoubleStreamImpl",827),Bgt(1847,736,$St,XR),ZEt.Re=function(t){return function(t,e){var n;return t.a||(n=WZ(Hpe,wAt,28,0,15,1),I_(t.b.a,new Rg(n)),Py(n,s2(C.prototype.Me,C,[])),t.a=new DB(n,t.d)),cZ(t.a,e)}(this,KR(t,189))},ZEt.a=null,vq(WAt,"DoubleStreamImpl/2",1847),Bgt(1848,1,LAt,Rg),ZEt.Pe=function(t){!function(t,e){t[t.length]=e}(this.a,t)},vq(WAt,"DoubleStreamImpl/2/lambda$0$Type",1848),Bgt(1845,1,LAt,Fg),ZEt.Pe=function(t){!function(t,e){t[t.length]=e}(this.a,t)},vq(WAt,"DoubleStreamImpl/lambda$0$Type",1845),Bgt(1846,1,LAt,$g),ZEt.Pe=function(t){Rnt(this.a,t)},vq(WAt,"DoubleStreamImpl/lambda$2$Type",1846),Bgt(1397,735,$St,ZX),ZEt.Re=function(t){return function(t,e){return t.a<=t.b&&(e.Dd(t.a++),!0)}(this,KR(t,202))},ZEt.a=0,ZEt.b=0,ZEt.c=0,vq(WAt,"IntStream/5",1397),Bgt(806,550,XAt,tP),ZEt.$e=function(){dH(this)},ZEt._e=function(){return fH(this),this.a},vq(WAt,"IntStreamImpl",806),Bgt(807,550,XAt,KT),ZEt.$e=function(){dH(this)},ZEt._e=function(){return fH(this),YO(),eGt},vq(WAt,"IntStreamImpl/Empty",807),Bgt(1687,1,zSt,jg),ZEt.Dd=function(t){X5(this.a,t)},vq(WAt,"IntStreamImpl/lambda$4$Type",1687);var TGt,EGt=WF(WAt,"Stream");Bgt(26,550,{533:1,687:1,848:1},k$),ZEt.$e=function(){dH(this)},vq(WAt,"StreamImpl",26),Bgt(1102,500,$St,LB),ZEt.Bd=function(t){for(;_J(this);){if(this.a.Bd(t))return!0;dH(this.b),this.b=null,this.a=null}return!1},vq(WAt,"StreamImpl/1",1102),Bgt(1103,1,jSt,zg),ZEt.Cd=function(t){!function(t,e){e&&(t.b=e,t.a=(fH(e),e.a))}(this.a,KR(t,848))},vq(WAt,"StreamImpl/1/lambda$0$Type",1103),Bgt(1104,1,hCt,qg),ZEt.Mb=function(t){return Az(this.a,t)},vq(WAt,"StreamImpl/1methodref$add$Type",1104),Bgt(1105,500,$St,qU),ZEt.Bd=function(t){var e;return this.a||(e=new yy,this.b.a.Nb(new Hg(e)),QU(),PI(e,this.c),this.a=new OY(e,16)),F0(this.a,t)},ZEt.a=null,vq(WAt,"StreamImpl/5",1105),Bgt(1106,1,jSt,Hg),ZEt.Cd=function(t){SO(this.a,t)},vq(WAt,"StreamImpl/5/2methodref$add$Type",1106),Bgt(737,500,$St,ZJ),ZEt.Bd=function(t){for(this.b=!1;!this.b&&this.c.Bd(new hS(this,t)););return this.b},ZEt.b=!1,vq(WAt,"StreamImpl/FilterSpliterator",737),Bgt(1096,1,jSt,hS),ZEt.Cd=function(t){!function(t,e,n){t.a.Mb(n)&&(t.b=!0,e.Cd(n))}(this.a,this.b,t)},vq(WAt,"StreamImpl/FilterSpliterator/lambda$0$Type",1096),Bgt(1091,736,$St,jQ),ZEt.Re=function(t){return function(t,e){return t.b.Bd(new fS(t,e))}(this,KR(t,189))},vq(WAt,"StreamImpl/MapToDoubleSpliterator",1091),Bgt(1095,1,jSt,fS),ZEt.Cd=function(t){!function(t,e,n){e.Pe(t.a.Ye(n))}(this.a,this.b,t)},vq(WAt,"StreamImpl/MapToDoubleSpliterator/lambda$0$Type",1095),Bgt(1090,735,$St,zQ),ZEt.Re=function(t){return function(t,e){return t.b.Bd(new dS(t,e))}(this,KR(t,202))},vq(WAt,"StreamImpl/MapToIntSpliterator",1090),Bgt(1094,1,jSt,dS),ZEt.Cd=function(t){!function(t,e,n){e.Dd(t.a.Ze(n))}(this.a,this.b,t)},vq(WAt,"StreamImpl/MapToIntSpliterator/lambda$0$Type",1094),Bgt(734,500,$St,qQ),ZEt.Bd=function(t){return TB(this,t)},vq(WAt,"StreamImpl/MapToObjSpliterator",734),Bgt(1093,1,jSt,gS),ZEt.Cd=function(t){!function(t,e,n){e.Cd(t.a.Kb(n))}(this.a,this.b,t)},vq(WAt,"StreamImpl/MapToObjSpliterator/lambda$0$Type",1093),Bgt(1092,500,$St,z4),ZEt.Bd=function(t){for(;WE(this.b,0);){if(!this.a.Bd(new ot))return!1;this.b=Aet(this.b,1)}return this.a.Bd(t)},ZEt.b=0,vq(WAt,"StreamImpl/SkipSpliterator",1092),Bgt(1097,1,jSt,ot),ZEt.Cd=function(t){},vq(WAt,"StreamImpl/SkipSpliterator/lambda$0$Type",1097),Bgt(626,1,jSt,st),ZEt.Cd=function(t){Ed(this,t)},vq(WAt,"StreamImpl/ValueConsumer",626),Bgt(1098,1,jSt,ct),ZEt.Cd=function(t){YT()},vq(WAt,"StreamImpl/lambda$0$Type",1098),Bgt(1099,1,jSt,lt),ZEt.Cd=function(t){YT()},vq(WAt,"StreamImpl/lambda$1$Type",1099),Bgt(1100,1,{},Ug),ZEt.Ve=function(t,e){return function(t,e,n){return YT(),t.a.Yd(e,n),e}(this.a,t,e)},vq(WAt,"StreamImpl/lambda$4$Type",1100),Bgt(1101,1,jSt,bS),ZEt.Cd=function(t){!function(t,e,n){YT(),Ed(t,e.Ve(t.a,n))}(this.b,this.a,t)},vq(WAt,"StreamImpl/lambda$5$Type",1101),Bgt(1107,1,jSt,Gg),ZEt.Cd=function(t){!function(t,e){var n;try{e.de()}catch(e){if(!rO(e=j6(e),82))throw Ay(e);n=e,Dy(t.c,n)}}(this.a,KR(t,380))},vq(WAt,"TerminatableStream/lambda$0$Type",1107),Bgt(2142,1,{}),Bgt(2014,1,{},ut),vq("javaemul.internal","ConsoleLogger",2014);var SGt=0;Bgt(2134,1,{}),Bgt(1830,1,jSt,ht),ZEt.Cd=function(t){KR(t,317)},vq(nMt,"BowyerWatsonTriangulation/lambda$0$Type",1830),Bgt(1831,1,jSt,Yg),ZEt.Cd=function(t){z3(this.a,KR(t,317).e)},vq(nMt,"BowyerWatsonTriangulation/lambda$1$Type",1831),Bgt(1832,1,jSt,ft),ZEt.Cd=function(t){KR(t,177)},vq(nMt,"BowyerWatsonTriangulation/lambda$2$Type",1832),Bgt(1827,1,iMt,Vg),ZEt.Ne=function(t,e){return function(t,e,n){return Oj(qD(FM(U$(t.f,e))),qD(FM(U$(t.f,n))))}(this.a,KR(t,177),KR(e,177))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(nMt,"NaiveMinST/lambda$0$Type",1827),Bgt(449,1,{},Kg),vq(nMt,"NodeMicroLayout",449),Bgt(177,1,{177:1},pS),ZEt.Fb=function(t){var e;return!!rO(t,177)&&(e=KR(t,177),jH(this.a,e.a)&&jH(this.b,e.b)||jH(this.a,e.b)&&jH(this.b,e.a))},ZEt.Hb=function(){return TI(this.a)+TI(this.b)};var CGt=vq(nMt,"TEdge",177);Bgt(317,1,{317:1},vxt),ZEt.Fb=function(t){var e;return!!rO(t,317)&&S1(this,(e=KR(t,317)).a)&&S1(this,e.b)&&S1(this,e.c)},ZEt.Hb=function(){return TI(this.a)+TI(this.b)+TI(this.c)},vq(nMt,"TTriangle",317),Bgt(225,1,{225:1},VI),vq(nMt,"Tree",225),Bgt(1218,1,{},zK),vq(rMt,"Scanline",1218);var AGt=WF(rMt,aMt);Bgt(1758,1,{},C0),vq(oMt,"CGraph",1758),Bgt(316,1,{316:1},UK),ZEt.b=0,ZEt.c=0,ZEt.d=0,ZEt.g=0,ZEt.i=0,ZEt.k=dAt,vq(oMt,"CGroup",316),Bgt(830,1,{},vw),vq(oMt,"CGroup/CGroupBuilder",830),Bgt(60,1,{60:1},KP),ZEt.Ib=function(){return this.j?HD(this.j.Kb(this)):(UD(LGt),LGt.o+"@"+(DN(this)>>>0).toString(16))},ZEt.f=0,ZEt.i=dAt;var MGt,LGt=vq(oMt,"CNode",60);Bgt(829,1,{},xw),vq(oMt,"CNode/CNodeBuilder",829),Bgt(1590,1,{},dt),ZEt.ff=function(t,e){return 0},ZEt.gf=function(t,e){return 0},vq(oMt,cMt,1590),Bgt(1853,1,{},gt),ZEt.cf=function(t){var e,n,r,a,o,s,c,l,u,h,f,d,g,p,b;for(u=fAt,r=new pg(t.a.b);r.an.d.c||n.d.c==r.d.c&&n.d.b0?t+this.n.d+this.n.a:0},ZEt.kf=function(){var t,e,n,r,a;if(a=0,this.e)this.b?a=this.b.a:this.a[1][1]&&(a=this.a[1][1].kf());else if(this.g)a=nnt(this,Hst(this,null,!0));else for(d2(),n=0,r=(e=t7(rk(pKt,1),sCt,237,0,[hKt,fKt,dKt])).length;n0?a+this.n.b+this.n.c:0},ZEt.lf=function(){var t,e,n,i,r;if(this.g)for(t=Hst(this,null,!1),d2(),i=0,r=(n=t7(rk(pKt,1),sCt,237,0,[hKt,fKt,dKt])).length;i0&&(r[0]+=this.d,n-=r[0]),r[2]>0&&(r[2]+=this.d,n-=r[2]),this.c.a=i.Math.max(0,n),this.c.d=e.d+t.d+(this.c.a-n)/2,r[1]=i.Math.max(r[1],n),LQ(this,fKt,e.d+t.d+r[0]-(r[1]-n)/2,r)},ZEt.b=null,ZEt.d=0,ZEt.e=!1,ZEt.f=!1,ZEt.g=!1;var bKt=0,mKt=0;vq(NMt,"GridContainerCell",1538),Bgt(471,22,{3:1,34:1,22:1,471:1},kS);var yKt,wKt,vKt,xKt,kKt=Z2(NMt,"HorizontalLabelAlignment",471,bHt,(function(){return PJ(),t7(rk(kKt,1),sCt,471,0,[wKt,yKt,vKt])}),(function(t){return PJ(),Q2((BZ(),xKt),t)}));Bgt(314,217,{217:1,314:1},hK,M0,jG),ZEt.jf=function(){return DF(this)},ZEt.kf=function(){return PF(this)},ZEt.a=0,ZEt.c=!1;var _Kt=vq(NMt,"LabelCell",314);Bgt(252,336,{217:1,336:1,252:1},ert),ZEt.jf=function(){return bdt(this)},ZEt.kf=function(){return mdt(this)},ZEt.lf=function(){oxt(this)},ZEt.mf=function(){hxt(this)},ZEt.b=0,ZEt.c=0,ZEt.d=!1,vq(NMt,"StripContainerCell",252),Bgt(1691,1,hCt,xt),ZEt.Mb=function(t){return!!(e=KR(t,217))&&e.k;var e},vq(NMt,"StripContainerCell/lambda$0$Type",1691),Bgt(1692,1,{},kt),ZEt.Ye=function(t){return KR(t,217).kf()},vq(NMt,"StripContainerCell/lambda$1$Type",1692),Bgt(1693,1,hCt,_t),ZEt.Mb=function(t){return!!(e=KR(t,217))&&e.j;var e},vq(NMt,"StripContainerCell/lambda$2$Type",1693),Bgt(1694,1,{},Tt),ZEt.Ye=function(t){return KR(t,217).jf()},vq(NMt,"StripContainerCell/lambda$3$Type",1694),Bgt(472,22,{3:1,34:1,22:1,472:1},_S);var TKt,EKt,SKt,CKt,AKt=Z2(NMt,"VerticalLabelAlignment",472,bHt,(function(){return z1(),t7(rk(AKt,1),sCt,472,0,[SKt,EKt,TKt])}),(function(t){return z1(),Q2((FZ(),CKt),t)}));Bgt(800,1,{},vTt),ZEt.c=0,ZEt.d=0,ZEt.k=0,ZEt.s=0,ZEt.t=0,ZEt.v=!1,ZEt.w=0,ZEt.D=!1,vq(zMt,"NodeContext",800),Bgt(1536,1,iMt,Et),ZEt.Ne=function(t,e){return RL(KR(t,64),KR(e,64))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(zMt,"NodeContext/0methodref$comparePortSides$Type",1536),Bgt(1537,1,iMt,St),ZEt.Ne=function(t,e){return function(t,e){var n;if(0!=(n=RL(t.b.ag(),e.b.ag())))return n;switch(t.b.ag().g){case 1:case 2:return $I(t.b.Nf(),e.b.Nf());case 3:case 4:return $I(e.b.Nf(),t.b.Nf())}return 0}(KR(t,117),KR(e,117))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(zMt,"NodeContext/1methodref$comparePortContexts$Type",1537),Bgt(164,22,{3:1,34:1,22:1,164:1},n5);var MKt,LKt,IKt,OKt,NKt,DKt,PKt,BKt,RKt,FKt,$Kt,jKt,zKt,qKt,HKt,UKt,GKt,KKt,YKt,VKt,WKt,XKt,QKt,ZKt,JKt,tYt=Z2(zMt,"NodeLabelLocation",164,bHt,Ert,(function(t){return GEt(),Q2((dL(),QKt),t)}));Bgt(117,1,{117:1},ngt),ZEt.a=!1,vq(zMt,"PortContext",117),Bgt(1541,1,jSt,Ct),ZEt.Cd=function(t){O_(KR(t,314))},vq(UMt,GMt,1541),Bgt(1542,1,hCt,At),ZEt.Mb=function(t){return!!KR(t,117).c},vq(UMt,KMt,1542),Bgt(1543,1,jSt,Mt),ZEt.Cd=function(t){O_(KR(t,117).c)},vq(UMt,"LabelPlacer/lambda$2$Type",1543),Bgt(1540,1,jSt,Lt),ZEt.Cd=function(t){var e;gP(),(e=KR(t,117)).b.Of(e.e)},vq(UMt,"NodeLabelAndSizeUtilities/lambda$0$Type",1540),Bgt(801,1,jSt,sR),ZEt.Cd=function(t){CE(this.b,this.c,this.a,KR(t,187))},ZEt.a=!1,ZEt.c=!1,vq(UMt,"NodeLabelCellCreator/lambda$0$Type",801),Bgt(1539,1,jSt,Zg),ZEt.Cd=function(t){!function(t,e){xht(t.c,e)}(this.a,KR(t,187))},vq(UMt,"PortContextCreator/lambda$0$Type",1539),Bgt(1902,1,{},It),vq(VMt,"GreedyRectangleStripOverlapRemover",1902),Bgt(1903,1,iMt,Ot),ZEt.Ne=function(t,e){return function(t,e){return cet(t.c.d,e.c.d)}(KR(t,226),KR(e,226))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(VMt,"GreedyRectangleStripOverlapRemover/0methodref$compareByYCoordinate$Type",1903),Bgt(1849,1,{},Sw),ZEt.a=5,ZEt.e=0,vq(VMt,"RectangleStripOverlapRemover",1849),Bgt(1850,1,iMt,Nt),ZEt.Ne=function(t,e){return function(t,e){return cet(t.c.c,e.c.c)}(KR(t,226),KR(e,226))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(VMt,"RectangleStripOverlapRemover/0methodref$compareLeftRectangleBorders$Type",1850),Bgt(1852,1,iMt,Dt),ZEt.Ne=function(t,e){return function(t,e){return cet(t.c.c+t.c.b,e.c.c+e.c.b)}(KR(t,226),KR(e,226))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(VMt,"RectangleStripOverlapRemover/1methodref$compareRightRectangleBorders$Type",1852),Bgt(417,22,{3:1,34:1,22:1,417:1},TS);var eYt,nYt,iYt,rYt,aYt,oYt=Z2(VMt,"RectangleStripOverlapRemover/OverlapRemovalDirection",417,bHt,(function(){return k6(),t7(rk(oYt,1),sCt,417,0,[rYt,eYt,nYt,iYt])}),(function(t){return k6(),Q2((RJ(),aYt),t)}));Bgt(226,1,{226:1},nj),vq(VMt,"RectangleStripOverlapRemover/RectangleNode",226),Bgt(1851,1,jSt,Jg),ZEt.Cd=function(t){!function(t,e){var n,i;switch(i=e.c,n=e.a,t.b.g){case 0:n.d=t.e-i.a-i.d;break;case 1:n.d+=t.e;break;case 2:n.c=t.e-i.a-i.d;break;case 3:n.c=t.e+i.d}}(this.a,KR(t,226))},vq(VMt,"RectangleStripOverlapRemover/lambda$1$Type",1851),Bgt(1323,1,iMt,Pt),ZEt.Ne=function(t,e){return function(t,e){var n,i,r,a;return n=new Bt,1==(r=2==(r=(i=KR(bX(iU(new k$(null,new OY(t.f,16)),n),c1(new W,new X,new it,new rt,t7(rk(_Gt,1),sCt,108,0,[(e9(),xGt),vGt]))),21)).gc())?1:0)&&HM(Qnt(KR(bX(nU(i.Lc(),new Rt),N5(Kit(0),new et)),168).a,2),0)&&(r=0),1==(a=2==(a=(i=KR(bX(iU(new k$(null,new OY(e.f,16)),n),c1(new W,new X,new it,new rt,t7(rk(_Gt,1),sCt,108,0,[xGt,vGt]))),21)).gc())?1:0)&&HM(Qnt(KR(bX(nU(i.Lc(),new Ft),N5(Kit(0),new et)),168).a,2),0)&&(a=0),r0?Iz(t.a,e,n):Iz(t.b,e,n)}(this,KR(t,42),KR(e,176))},vq(XMt,"SuccessorCombination",782),Bgt(649,1,{},Kt),ZEt.Ve=function(t,e){var n;return function(t){var e,n,r,a,o;return n=a=KR(t.a,17).a,r=o=KR(t.b,17).a,e=i.Math.max(i.Math.abs(a),i.Math.abs(o)),a<=0&&a==o?(n=0,r=o-1):a==-e&&o!=e?(n=o,r=a,o>=0&&++n):(n=-o,r=a),new rM(ttt(n),ttt(r))}((n=KR(t,42),KR(e,176),n))},vq(XMt,"SuccessorJitter",649),Bgt(648,1,{},Yt),ZEt.Ve=function(t,e){var n;return function(t){var e,n;if(e=KR(t.a,17).a,n=KR(t.b,17).a,e>=0){if(e==n)return new rM(ttt(-e-1),ttt(-e-1));if(e==-n)return new rM(ttt(-e),ttt(n+1))}return i.Math.abs(e)>i.Math.abs(n)?new rM(ttt(-e),ttt(e<0?n:n+1)):new rM(ttt(e+1),ttt(n))}((n=KR(t,42),KR(e,176),n))},vq(XMt,"SuccessorLineByLine",648),Bgt(573,1,{},Vt),ZEt.Ve=function(t,e){var n;return function(t){var e,n,i,r;return e=i=KR(t.a,17).a,n=r=KR(t.b,17).a,0==i&&0==r?n-=1:-1==i&&r<=0?(e=0,n-=2):i<=0&&r>0?(e-=1,n-=1):i>=0&&r<0?(e+=1,n+=1):i>0&&r>=0?(e-=1,n+=1):(e+=1,n-=1),new rM(ttt(e),ttt(n))}((n=KR(t,42),KR(e,176),n))},vq(XMt,"SuccessorManhattan",573),Bgt(1344,1,{},Wt),ZEt.Ve=function(t,e){var n;return function(t){var e,n,r;return n=KR(t.a,17).a,r=KR(t.b,17).a,n<(e=i.Math.max(i.Math.abs(n),i.Math.abs(r)))&&r==-e?new rM(ttt(n+1),ttt(r)):n==e&&r=-e&&r==e?new rM(ttt(n-1),ttt(r)):new rM(ttt(n),ttt(r-1))}((n=KR(t,42),KR(e,176),n))},vq(XMt,"SuccessorMaxNormWindingInMathPosSense",1344),Bgt(409,1,{},tp),ZEt.Ve=function(t,e){return Iz(this,t,e)},ZEt.c=!1,ZEt.d=!1,ZEt.e=!1,ZEt.f=!1,vq(XMt,"SuccessorQuadrantsGeneric",409),Bgt(1345,1,{},Xt),ZEt.Kb=function(t){return KR(t,334).a},vq(XMt,"SuccessorQuadrantsGeneric/lambda$0$Type",1345),Bgt(332,22,{3:1,34:1,22:1,332:1},SS),ZEt.a=!1;var sYt,cYt,lYt,uYt,hYt,fYt=Z2(eLt,nLt,332,bHt,(function(){return Jrt(),t7(rk(fYt,1),sCt,332,0,[cYt,sYt,lYt,uYt])}),(function(t){return Jrt(),Q2(($J(),hYt),t)}));Bgt(1317,1,{}),ZEt.Ib=function(){var t,e,n,i,r,a;for(n=" ",t=ttt(0),r=0;r0&&D2(m,v*k),x>0&&P2(m,x*_);for(I5(t.b,new ue),e=new yy,s=new G5(new Jd(t.c).a);s.b;)i=KR((o=d3(s)).ld(),74),n=KR(o.md(),407).a,r=Fmt(i,!1,!1),gxt(h=Clt(yut(i),yht(r),n),r),(w=wut(i))&&-1==g1(e,w,0)&&(Dy(e.c,w),oU(w,(KD(0!=h.b),KR(h.a.a.c,8)),n));for(b=new G5(new Jd(t.d).a);b.b;)i=KR((p=d3(b)).ld(),74),n=KR(p.md(),407).a,r=Fmt(i,!1,!1),h=Clt(xut(i),s8(yht(r)),n),gxt(h=s8(h),r),(w=vut(i))&&-1==g1(e,w,0)&&(Dy(e.c,w),oU(w,(KD(0!=h.b),KR(h.c.b.c,8)),n))}(r),nat(t,PYt,this.b),e.Vg()},ZEt.a=0,vq(pLt,"DisCoLayoutProvider",1114),Bgt(1208,1,{},ie),ZEt.c=!1,ZEt.e=0,ZEt.f=0,vq(pLt,"DisCoPolyominoCompactor",1208),Bgt(567,1,{567:1},x$),ZEt.b=!0,vq(bLt,"DCComponent",567),Bgt(406,22,{3:1,34:1,22:1,406:1},AS),ZEt.a=!1;var wYt,vYt,xYt,kYt,_Yt,TYt=Z2(bLt,"DCDirection",406,bHt,(function(){return Zrt(),t7(rk(TYt,1),sCt,406,0,[vYt,wYt,xYt,kYt])}),(function(t){return Zrt(),Q2((FJ(),_Yt),t)}));Bgt(272,137,{3:1,272:1,96:1,137:1},Hgt),vq(bLt,"DCElement",272),Bgt(407,1,{407:1},mot),ZEt.c=0,vq(bLt,"DCExtension",407),Bgt(762,137,lLt,Bk),vq(bLt,"DCGraph",762),Bgt(489,22,{3:1,34:1,22:1,489:1},_D);var EYt,SYt,CYt,AYt,MYt,LYt,IYt,OYt,NYt,DYt,PYt,BYt,RYt,FYt,$Yt,jYt,zYt,qYt,HYt,UYt,GYt,KYt,YYt=Z2(mLt,yLt,489,bHt,(function(){return cE(),t7(rk(YYt,1),sCt,489,0,[EYt])}),(function(t){return cE(),Q2((WV(),SYt),t)}));Bgt(865,1,AMt,Bh),ZEt.hf=function(t){jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,wLt),_Lt),"Connected Components Compaction Strategy"),"Strategy for packing different connected components in order to save space and enhance readability of a graph."),MYt),(Kht(),ioe)),YYt),fet((Art(),Qae))))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,vLt),_Lt),"Connected Components Layout Algorithm"),"A layout algorithm that is to be applied to each connected component before the components themselves are compacted. If unspecified, the positions of the components' nodes are not altered."),soe),fUt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,xLt),"debug"),"DCGraph"),"Access to the DCGraph is intended for the debug view,"),ooe),nHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,kLt),"debug"),"List of Polyominoes"),"Access to the polyominoes is intended for the debug view,"),ooe),nHt),fet(Qae)))),Zxt((new Rh,t))},vq(mLt,"DisCoMetaDataProvider",865),Bgt(1010,1,AMt,Rh),ZEt.hf=function(t){Zxt(t)},vq(mLt,"DisCoOptions",1010),Bgt(1011,1,{},re),ZEt.sf=function(){return new ne},ZEt.tf=function(t){},vq(mLt,"DisCoOptions/DiscoFactory",1011),Bgt(568,176,{330:1,176:1,568:1},Rpt),ZEt.a=0,ZEt.b=0,ZEt.c=0,ZEt.d=0,vq("org.eclipse.elk.alg.disco.structures","DCPolyomino",568),Bgt(1286,1,hCt,ae),ZEt.Mb=function(t){return ML(t)},vq(MLt,"ElkGraphComponentsProcessor/lambda$0$Type",1286),Bgt(1287,1,{},oe),ZEt.Kb=function(t){return JU(),yut(KR(t,74))},vq(MLt,"ElkGraphComponentsProcessor/lambda$1$Type",1287),Bgt(1288,1,hCt,se),ZEt.Mb=function(t){return e=KR(t,74),JU(),yut(e)==DK(xut(e));var e},vq(MLt,"ElkGraphComponentsProcessor/lambda$2$Type",1288),Bgt(1289,1,{},ce),ZEt.Kb=function(t){return JU(),xut(KR(t,74))},vq(MLt,"ElkGraphComponentsProcessor/lambda$3$Type",1289),Bgt(1290,1,hCt,le),ZEt.Mb=function(t){return e=KR(t,74),JU(),xut(e)==DK(yut(e));var e},vq(MLt,"ElkGraphComponentsProcessor/lambda$4$Type",1290),Bgt(1291,1,hCt,np),ZEt.Mb=function(t){return function(t,e){return JU(),t==DK(yut(e))||t==DK(xut(e))}(this.a,KR(t,74))},vq(MLt,"ElkGraphComponentsProcessor/lambda$5$Type",1291),Bgt(1292,1,{},ip),ZEt.Kb=function(t){return function(t,e){return JU(),t==yut(e)?xut(e):yut(e)}(this.a,KR(t,74))},vq(MLt,"ElkGraphComponentsProcessor/lambda$6$Type",1292),Bgt(1205,1,{},zW),ZEt.a=0,vq(MLt,"ElkGraphTransformer",1205),Bgt(1206,1,{},ue),ZEt.Yd=function(t,e){!function(t,e,n){var i,r,a,o;t.a=n.b.d,rO(e,326)?(UX(a=yht(r=Fmt(KR(e,74),!1,!1)),i=new rp(t)),gxt(a,r),null!=e.of((zEt(),yse))&&UX(KR(e.of(yse),75),i)):((o=KR(e,422)).rh(o.nh()+t.a.a),o.sh(o.oh()+t.a.b))}(this,KR(t,167),KR(e,272))},vq(MLt,"ElkGraphTransformer/OffsetApplier",1206),Bgt(1207,1,jSt,rp),ZEt.Cd=function(t){!function(t,e){bD(e,t.a.a.a,t.a.a.b)}(this,KR(t,8))},vq(MLt,"ElkGraphTransformer/OffsetApplier/OffSetToChainApplier",1207),Bgt(760,1,{},he),vq(DLt,PLt,760),Bgt(1195,1,iMt,fe),ZEt.Ne=function(t,e){return function(t,e){var n,i,r;return 0==(n=KR(fut(e,(Evt(),vVt)),17).a-KR(fut(t,vVt),17).a)?(i=oB(tO(KR(fut(t,(f3(),NVt)),8)),KR(fut(t,DVt),8)),r=oB(tO(KR(fut(e,NVt),8)),KR(fut(e,DVt),8)),cet(i.a*i.b,r.a*r.b)):n}(KR(t,235),KR(e,235))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(DLt,BLt,1195),Bgt(1196,1,jSt,MS),ZEt.Cd=function(t){!function(t,e,n){var i;aB(i=new KL(n.d),t),wet(e,i.a,i.b)}(this.b,this.a,KR(t,250))},vq(DLt,RLt,1196),Bgt(738,205,fLt,ww),ZEt.rf=function(t,e){Upt(this,t,e)},vq(DLt,"ForceLayoutProvider",738),Bgt(309,137,{3:1,309:1,96:1,137:1}),vq(FLt,"FParticle",309),Bgt(250,309,{3:1,250:1,309:1,96:1,137:1},cq),ZEt.Ib=function(){var t;return this.a?(t=g1(this.a.a,this,0))>=0?"b"+t+"["+HX(this.a)+"]":"b["+HX(this.a)+"]":"b_"+DN(this)},vq(FLt,"FBendpoint",250),Bgt(290,137,{3:1,290:1,96:1,137:1},YP),ZEt.Ib=function(){return HX(this)},vq(FLt,"FEdge",290),Bgt(235,137,{3:1,235:1,96:1,137:1},KQ);var VYt,WYt,XYt,QYt,ZYt,JYt,tVt,eVt,nVt=vq(FLt,"FGraph",235);Bgt(454,309,{3:1,454:1,309:1,96:1,137:1},jW),ZEt.Ib=function(){return null==this.b||0==this.b.length?"l["+HX(this.a)+"]":"l_"+this.b},vq(FLt,"FLabel",454),Bgt(153,309,{3:1,153:1,309:1,96:1,137:1},GI),ZEt.Ib=function(){return VY(this)},ZEt.a=0,vq(FLt,"FNode",153),Bgt(2100,1,{}),ZEt.vf=function(t){Bvt(this,t)},ZEt.wf=function(){Oot(this)},ZEt.d=0,vq(jLt,"AbstractForceModel",2100),Bgt(641,2100,{641:1},U5),ZEt.uf=function(t,e){var n,r,a,o;return t_t(this.f,t,e),a=oB(tO(e.d),t.d),o=i.Math.sqrt(a.a*a.a+a.b*a.b),r=i.Math.max(0,o-iH(t.e)/2-iH(e.e)/2),EO(a,((n=Rdt(this.e,t,e))>0?-function(t,e){return t>0?i.Math.log(t/e):-100}(r,this.c)*n:function(t,e){return t>0?e/(t*t):100*e}(r,this.b)*KR(fut(t,(Evt(),vVt)),17).a)/o),a},ZEt.vf=function(t){Bvt(this,t),this.a=KR(fut(t,(Evt(),lVt)),17).a,this.c=gx(qD(fut(t,SVt))),this.b=gx(qD(fut(t,kVt)))},ZEt.xf=function(t){return t0?e*e/t:e*e*100}(r=i.Math.max(0,s-iH(t.e)/2-iH(e.e)/2),this.a)*KR(fut(t,(Evt(),vVt)),17).a,(n=Rdt(this.e,t,e))>0&&(o-=function(t,e){return t*t/e}(r,this.a)*n),EO(a,o*this.b/s),a},ZEt.vf=function(t){var e,n,r,a,o,s,c;for(Bvt(this,t),this.b=gx(qD(fut(t,(Evt(),CVt)))),this.c=this.b/KR(fut(t,lVt),17).a,r=t.e.c.length,o=0,a=0,c=new pg(t.e);c.a0},ZEt.a=0,ZEt.b=0,ZEt.c=0,vq(jLt,"FruchtermanReingoldModel",642),Bgt(860,1,AMt,Fh),ZEt.hf=function(t){jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,zLt),""),"Force Model"),"Determines the model for force calculation."),XYt),(Kht(),ioe)),eWt),fet((Art(),Qae))))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,qLt),""),"Iterations"),"The number of iterations on the force model."),ttt(300)),aoe),nUt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,HLt),""),"Repulsive Power"),"Determines how many bend points are added to the edge; such bend points are regarded as repelling particles in the force model"),ttt(0)),aoe),nUt),fet(Vae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,ULt),""),"FR Temperature"),"The temperature is used as a scaling factor for particle displacements."),GLt),noe),ZHt),fet(Qae)))),PV(t,ULt,zLt,eVt),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,KLt),""),"Eades Repulsion"),"Factor for repulsive forces in Eades' model."),5),noe),ZHt),fet(Qae)))),PV(t,KLt,zLt,ZYt),GTt((new $h,t))},vq(YLt,"ForceMetaDataProvider",860),Bgt(432,22,{3:1,34:1,22:1,432:1},LS);var iVt,rVt,aVt,oVt,sVt,cVt,lVt,uVt,hVt,fVt,dVt,gVt,pVt,bVt,mVt,yVt,wVt,vVt,xVt,kVt,_Vt,TVt,EVt,SVt,CVt,AVt,MVt,LVt,IVt,OVt,NVt,DVt,PVt,BVt,RVt,FVt,$Vt,jVt,zVt,qVt,HVt,UVt,GVt,KVt,YVt,VVt,WVt,XVt,QVt,ZVt,JVt,tWt,eWt=Z2(YLt,"ForceModelStrategy",432,bHt,(function(){return T0(),t7(rk(eWt,1),sCt,432,0,[iVt,rVt])}),(function(t){return T0(),Q2((_X(),aVt),t)}));Bgt(TCt,1,AMt,$h),ZEt.hf=function(t){GTt(t)},vq(YLt,"ForceOptions",TCt),Bgt(1001,1,{},me),ZEt.sf=function(){return new ww},ZEt.tf=function(t){},vq(YLt,"ForceOptions/ForceFactory",1001),Bgt(861,1,AMt,jh),ZEt.hf=function(t){jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,wIt),""),"Fixed Position"),"Prevent that the node is moved by the layout algorithm."),(FN(),!1)),(Kht(),eoe)),KHt),fet((Art(),Xae))))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,vIt),""),"Desired Edge Length"),"Either specified for parent nodes or for individual edges, where the latter takes higher precedence."),100),noe),ZHt),Z$(Qae,t7(rk(toe,1),sCt,170,0,[Vae]))))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,xIt),""),"Layout Dimension"),"Dimensions that are permitted to be altered during layout."),$Vt),ioe),lWt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,kIt),""),"Stress Epsilon"),"Termination criterion for the iterative process."),GLt),noe),ZHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,_It),""),"Iteration Limit"),"Maximum number of performed iterations. Takes higher precedence than 'epsilon'."),ttt(lSt)),aoe),nUt),fet(Qae)))),j_t((new zh,t))},vq(YLt,"StressMetaDataProvider",861),Bgt(1004,1,AMt,zh),ZEt.hf=function(t){j_t(t)},vq(YLt,"StressOptions",1004),Bgt(1005,1,{},pe),ZEt.sf=function(){return new VP},ZEt.tf=function(t){},vq(YLt,"StressOptions/StressFactory",1005),Bgt(1110,205,fLt,VP),ZEt.rf=function(t,e){var n,i,r,a;for(e.Ug(EIt,1),dx(zD(spt(t,(Tst(),YVt))))?dx(zD(spt(t,JVt)))||aK(new Kg((BE(),new ix(t)))):Upt(new ww,t,e.eh(1)),i=S7(t),a=(n=lxt(this.a,i)).Kc();a.Ob();)!((r=KR(a.Pb(),235)).e.c.length<=1)&&(Bkt(this.b,r),upt(this.b),V0(r.d,new be));cEt(i=zTt(n)),e.Vg()},vq(CIt,"StressLayoutProvider",1110),Bgt(1111,1,jSt,be),ZEt.Cd=function(t){Xxt(KR(t,454))},vq(CIt,"StressLayoutProvider/lambda$0$Type",1111),Bgt(1002,1,{},aw),ZEt.c=0,ZEt.e=0,ZEt.g=0,vq(CIt,"StressMajorization",1002),Bgt(391,22,{3:1,34:1,22:1,391:1},IS);var nWt,iWt,rWt,aWt,oWt,sWt,cWt,lWt=Z2(CIt,"StressMajorization/Dimension",391,bHt,(function(){return j1(),t7(rk(lWt,1),sCt,391,0,[iWt,nWt,rWt])}),(function(t){return j1(),Q2((jZ(),aWt),t)}));Bgt(1003,1,iMt,ap),ZEt.Ne=function(t,e){return function(t,e,n){return cet(t[e.a],t[n.a])}(this.a,KR(t,153),KR(e,153))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(CIt,"StressMajorization/lambda$0$Type",1003),Bgt(1192,1,{},eV),vq(MIt,"ElkLayered",1192),Bgt(1193,1,jSt,op),ZEt.Cd=function(t){!function(t,e){var n;if((n=KR(fut(e,(CEt(),T3t)),322))!=t)throw Ay(new Lx("The hierarchy aware processor "+n+" in child node "+e+" is only allowed if the root node specifies the same hierarchical processor."))}(this.a,KR(t,36))},vq(MIt,"ElkLayered/lambda$0$Type",1193),Bgt(1194,1,jSt,sp),ZEt.Cd=function(t){!function(t,e){E7(e,(CEt(),b3t),t)}(this.a,KR(t,36))},vq(MIt,"ElkLayered/lambda$1$Type",1194),Bgt(1281,1,{},fO),vq(MIt,"GraphConfigurator",1281),Bgt(770,1,jSt,cp),ZEt.Cd=function(t){Yut(this.a,KR(t,10))},vq(MIt,"GraphConfigurator/lambda$0$Type",770),Bgt(771,1,{},ge),ZEt.Kb=function(t){return ict(),new k$(null,new OY(KR(t,30).a,16))},vq(MIt,"GraphConfigurator/lambda$1$Type",771),Bgt(772,1,jSt,lp),ZEt.Cd=function(t){Yut(this.a,KR(t,10))},vq(MIt,"GraphConfigurator/lambda$2$Type",772),Bgt(1109,205,fLt,Cw),ZEt.rf=function(t,e){var n;n=dkt(new Mw,t),$M(spt(t,(CEt(),U3t)))===$M((V9(),ble))?yet(this.a,n,e):ipt(this.a,n,e),e.$g()||STt(new qh,n)},vq(MIt,"LayeredLayoutProvider",1109),Bgt(367,22,{3:1,34:1,22:1,367:1},OS);var uWt,hWt,fWt,dWt,gWt,pWt,bWt,mWt,yWt=Z2(MIt,"LayeredPhases",367,bHt,(function(){return dut(),t7(rk(yWt,1),sCt,367,0,[uWt,hWt,fWt,dWt,gWt])}),(function(t){return dut(),Q2((h0(),pWt),t)}));Bgt(1717,1,{},B4),ZEt.i=0,vq(LIt,"ComponentsToCGraphTransformer",1717),Bgt(1718,1,{},de),ZEt.yf=function(t,e){return i.Math.min(null!=t.a?gx(t.a):t.c.i,null!=e.a?gx(e.a):e.c.i)},ZEt.zf=function(t,e){return i.Math.min(null!=t.a?gx(t.a):t.c.i,null!=e.a?gx(e.a):e.c.i)},vq(LIt,"ComponentsToCGraphTransformer/1",1718),Bgt(86,1,{86:1}),ZEt.i=0,ZEt.k=!0,ZEt.o=dAt;var wWt,vWt,xWt=vq(IIt,"CNode",86);Bgt(470,86,{470:1,86:1},UN,Zit),ZEt.Ib=function(){return""},vq(LIt,"ComponentsToCGraphTransformer/CRectNode",470),Bgt(1688,1,{},ye),vq(LIt,"OneDimensionalComponentsCompaction",1688),Bgt(1689,1,{},we),ZEt.Kb=function(t){return e=KR(t,42),n9(),FN(),0!=KR(e.a,86).d.e;var e},ZEt.Fb=function(t){return this===t},vq(LIt,"OneDimensionalComponentsCompaction/lambda$0$Type",1689),Bgt(1690,1,{},ve),ZEt.Kb=function(t){return e=KR(t,42),n9(),FN(),!!(Ket(KR(e.a,86).j,KR(e.b,88))||0!=KR(e.a,86).d.e&&Ket(KR(e.a,86).j,KR(e.b,88)));var e},ZEt.Fb=function(t){return this===t},vq(LIt,"OneDimensionalComponentsCompaction/lambda$1$Type",1690),Bgt(1720,1,{},jq),vq(IIt,"CGraph",1720),Bgt(194,1,{194:1},Jit),ZEt.b=0,ZEt.c=0,ZEt.e=0,ZEt.g=!0,ZEt.i=dAt,vq(IIt,"CGroup",194),Bgt(1719,1,{},xe),ZEt.yf=function(t,e){return i.Math.max(null!=t.a?gx(t.a):t.c.i,null!=e.a?gx(e.a):e.c.i)},ZEt.zf=function(t,e){return i.Math.max(null!=t.a?gx(t.a):t.c.i,null!=e.a?gx(e.a):e.c.i)},vq(IIt,cMt,1719),Bgt(1721,1,{},Hdt),ZEt.d=!1;var kWt,_Wt=vq(IIt,dMt,1721);Bgt(1722,1,{},ke),ZEt.Kb=function(t){return hE(),FN(),0!=KR(KR(t,42).a,86).d.e},ZEt.Fb=function(t){return this===t},vq(IIt,gMt,1722),Bgt(833,1,{},b$),ZEt.a=!1,ZEt.b=!1,ZEt.c=!1,ZEt.d=!1,vq(IIt,pMt,833),Bgt(1898,1,{},ij),vq(OIt,bMt,1898);var TWt=WF(NIt,aMt);Bgt(1899,1,{382:1},xG),ZEt.bf=function(t){!function(t,e){var n,i,r;e.a?(Mz(t.b,e.b),t.a[e.b.i]=KR(XT(t.b,e.b),86),(n=KR(WT(t.b,e.b),86))&&(t.a[n.i]=e.b)):((i=KR(XT(t.b,e.b),86))&&i==t.a[e.b.i]&&i.d&&i.d!=e.b.d&&i.f.Fc(e.b),(r=KR(WT(t.b,e.b),86))&&t.a[r.i]==e.b&&r.d&&r.d!=e.b.d&&e.b.f.Fc(r),kO(t.b,e.b))}(this,KR(t,476))},vq(OIt,mMt,1899),Bgt(FCt,1,iMt,_e),ZEt.Ne=function(t,e){return function(t,e){return cet(t.g.c+t.g.b/2,e.g.c+e.g.b/2)}(KR(t,86),KR(e,86))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(OIt,yMt,FCt),Bgt(476,1,{476:1},VS),ZEt.a=!1,vq(OIt,wMt,476),Bgt(1901,1,iMt,Te),ZEt.Ne=function(t,e){return function(t,e){var n,i,r;if(i=t.b.g.d,t.a||(i+=t.b.g.a),r=e.b.g.d,e.a||(r+=e.b.g.a),0==(n=cet(i,r))){if(!t.a&&e.a)return-1;if(!e.a&&t.a)return 1}return n}(KR(t,476),KR(e,476))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(OIt,vMt,1901),Bgt(148,1,{148:1},WS,ZR),ZEt.Fb=function(t){var e;return null!=t&&EWt==i9(t)&&(e=KR(t,148),jH(this.c,e.c)&&jH(this.d,e.d))},ZEt.Hb=function(){return s9(t7(rk(nHt,1),pSt,1,5,[this.c,this.d]))},ZEt.Ib=function(){return"("+this.c+dSt+this.d+(this.a?"cx":"")+this.b+")"},ZEt.a=!0,ZEt.c=0,ZEt.d=0;var EWt=vq(NIt,"Point",148);Bgt(416,22,{3:1,34:1,22:1,416:1},DS);var SWt,CWt,AWt,MWt,LWt,IWt,OWt,NWt,DWt,PWt,BWt,RWt,FWt=Z2(NIt,"Point/Quadrant",416,bHt,(function(){return i7(),t7(rk(FWt,1),sCt,416,0,[SWt,MWt,CWt,AWt])}),(function(t){return i7(),Q2((zJ(),LWt),t)}));Bgt(1708,1,{},Tw),ZEt.b=null,ZEt.c=null,ZEt.d=null,ZEt.e=null,ZEt.f=null,vq(NIt,"RectilinearConvexHull",1708),Bgt(583,1,{382:1},Urt),ZEt.bf=function(t){!function(t,e){t.a.Ne(e.d,t.b)>0&&(SO(t.c,new ZR(e.c,e.d,t.d)),t.b=e.d)}(this,KR(t,148))},ZEt.b=0,vq(NIt,"RectilinearConvexHull/MaximalElementsEventHandler",583),Bgt(1710,1,iMt,Ee),ZEt.Ne=function(t,e){return function(t,e){return fE(),cet((yH(t),t),(yH(e),e))}(qD(t),qD(e))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(NIt,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",1710),Bgt(1709,1,{382:1},A0),ZEt.bf=function(t){Mbt(this,KR(t,148))},ZEt.a=0,ZEt.b=null,ZEt.c=null,ZEt.d=null,ZEt.e=null,vq(NIt,"RectilinearConvexHull/RectangleEventHandler",1709),Bgt(1711,1,iMt,Se),ZEt.Ne=function(t,e){return function(t,e){return S0(),t.c==e.c?cet(e.d,t.d):cet(t.c,e.c)}(KR(t,148),KR(e,148))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(NIt,"RectilinearConvexHull/lambda$0$Type",1711),Bgt(1712,1,iMt,Le),ZEt.Ne=function(t,e){return function(t,e){return S0(),t.c==e.c?cet(t.d,e.d):cet(t.c,e.c)}(KR(t,148),KR(e,148))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(NIt,"RectilinearConvexHull/lambda$1$Type",1712),Bgt(1713,1,iMt,Ie),ZEt.Ne=function(t,e){return function(t,e){return S0(),t.c==e.c?cet(e.d,t.d):cet(e.c,t.c)}(KR(t,148),KR(e,148))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(NIt,"RectilinearConvexHull/lambda$2$Type",1713),Bgt(1714,1,iMt,Me),ZEt.Ne=function(t,e){return function(t,e){return S0(),t.c==e.c?cet(t.d,e.d):cet(e.c,t.c)}(KR(t,148),KR(e,148))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(NIt,"RectilinearConvexHull/lambda$3$Type",1714),Bgt(1715,1,iMt,Oe),ZEt.Ne=function(t,e){return gut(KR(t,148),KR(e,148))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(NIt,"RectilinearConvexHull/lambda$4$Type",1715),Bgt(1716,1,{},qK),vq(NIt,"Scanline",1716),Bgt(2104,1,{}),vq(DIt,"AbstractGraphPlacer",2104),Bgt(335,1,{335:1},pD),ZEt.Ff=function(t){return!!this.Gf(t)&&(Ndt(this.b,KR(fut(t,(jEt(),k1t)),21),t),!0)},ZEt.Gf=function(t){var e,n,i;for(e=KR(fut(t,(jEt(),k1t)),21),i=KR(IQ(RWt,e),21).Kc();i.Ob();)if(n=KR(i.Pb(),21),!KR(IQ(this.b,n),15).dc())return!1;return!0},vq(DIt,"ComponentGroup",335),Bgt(779,2104,{},Ew),ZEt.Hf=function(t){var e;for(e=new pg(this.a);e.ai?1:0}(KR(t,36),KR(e,36))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(DIt,"ComponentsProcessor/lambda$0$Type",1283),Bgt(579,335,{335:1,579:1},JX),ZEt.Ff=function(t){return E8(this,t)},ZEt.Gf=function(t){return _bt(this,t)},vq(DIt,"ModelOrderComponentGroup",579),Bgt(1310,2104,{},De),ZEt.Ef=function(t,e){var n,r,a,o,s,c,l,u,h;if(1!=t.gc()){if(t.dc())return e.a.c.length=0,e.f.a=0,void(e.f.b=0);for(this.Jf(t,e),a=KR(t.Xb(0),36),e.a.c.length=0,p6(e,a),c=0,h=0,o=t.Kc();o.Ob();)l=KR(o.Pb(),36).f,c=i.Math.max(c,l.a),h+=l.a*l.b;if(c=i.Math.max(c,i.Math.sqrt(h)*gx(qD(fut(e,(CEt(),e3t))))),r=gx(qD(fut(e,t6t))),this.If(t,e,c,r),dx(zD(fut(a,i3t)))){for(bEt(n=new Ae,t,r),s=t.Kc();s.Ob();)aB(mL(KR(s.Pb(),36).c),n.e);aB(mL(e.f),n.a)}dJ(e,t)}else(u=KR(t.Xb(0),36))!=e&&(e.a.c.length=0,Nwt(e,u,0,0),p6(e,u),zU(e.d,u.d),e.f.a=u.f.a,e.f.b=u.f.b)},ZEt.If=function(t,e,n,r){var a,o,s,c,l,u,h,f;for(h=0,f=0,c=0,a=r,s=t.Kc();s.Ob();)h+(u=(o=KR(s.Pb(),36)).f).a>n&&(h=0,f+=c+r,c=0),awt(o,h+(l=o.c).a,f+l.b),mL(l),a=i.Math.max(a,h+u.a),c=i.Math.max(c,u.b),h+=u.a+r;e.f.a=a,e.f.b=f+c},ZEt.Jf=function(t,e){var n,i,r,a,o;if($M(fut(e,(CEt(),o3t)))===$M((Yit(),qWt))){for(i=t.Kc();i.Ob();){for(o=0,a=new pg((n=KR(i.Pb(),36)).a);a.an&&!KR(fut(o,(jEt(),k1t)),21).Hc((MTt(),cue))||l&&KR(fut(l,(jEt(),k1t)),21).Hc((MTt(),sue))||KR(fut(o,(jEt(),k1t)),21).Hc((MTt(),Cue)))&&(d=f,g+=c+r,c=0),u=o.c,KR(fut(o,(jEt(),k1t)),21).Hc((MTt(),cue))&&(d=a+r),awt(o,d+u.a,g+u.b),a=i.Math.max(a,d+h.a),KR(fut(o,k1t),21).Hc(Eue)&&(f=i.Math.max(f,d+h.a+r)),mL(u),c=i.Math.max(c,h.b),d+=h.a+r,l=o;e.f.a=a,e.f.b=g+c},ZEt.Jf=function(t,e){},vq(DIt,"ModelOrderRowGraphPlacer",1313),Bgt(1311,1,iMt,Pe),ZEt.Ne=function(t,e){return function(t,e){var n;return 0==(n=e.p-t.p)?cet(t.f.a*t.f.b,e.f.a*e.f.b):n}(KR(t,36),KR(e,36))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(DIt,"SimpleRowGraphPlacer/1",1311),Bgt(1280,1,xMt,Be),ZEt.Lb=function(t){var e;return!!(e=KR(fut(KR(t,249).b,(CEt(),J3t)),75))&&0!=e.b},ZEt.Fb=function(t){return this===t},ZEt.Mb=function(t){var e;return!!(e=KR(fut(KR(t,249).b,(CEt(),J3t)),75))&&0!=e.b},vq($It,"CompoundGraphPostprocessor/1",1280),Bgt(1279,1,jIt,Lw),ZEt.Kf=function(t,e){mat(this,KR(t,36),e)},vq($It,"CompoundGraphPreprocessor",1279),Bgt(453,1,{453:1},Dtt),ZEt.c=!1,vq($It,"CompoundGraphPreprocessor/ExternalPort",453),Bgt(249,1,{249:1},oR),ZEt.Ib=function(){return uD(this.c)+":"+vdt(this.b)},vq($It,"CrossHierarchyEdge",249),Bgt(777,1,iMt,up),ZEt.Ne=function(t,e){return function(t,e,n){var i,r;return e.c==(d4(),B7t)&&n.c==P7t?-1:e.c==P7t&&n.c==B7t?1:(i=p9(e.a,t.a),r=p9(n.a,t.a),e.c==B7t?r-i:i-r)}(this,KR(t,249),KR(e,249))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq($It,"CrossHierarchyEdgeComparator",777),Bgt(305,137,{3:1,305:1,96:1,137:1}),ZEt.p=0,vq(zIt,"LGraphElement",305),Bgt(18,305,{3:1,18:1,305:1,96:1,137:1},EG),ZEt.Ib=function(){return vdt(this)};var YWt=vq(zIt,"LEdge",18);Bgt(36,305,{3:1,20:1,36:1,305:1,96:1,137:1},R4),ZEt.Jc=function(t){UX(this,t)},ZEt.Kc=function(){return new pg(this.b)},ZEt.Ib=function(){return 0==this.b.c.length?"G-unlayered"+Tut(this.a):0==this.a.c.length?"G-layered"+Tut(this.b):"G[layerless"+Tut(this.a)+", layers"+Tut(this.b)+"]"};var VWt,WWt=vq(zIt,"LGraph",36);Bgt(666,1,{}),ZEt.Lf=function(){return this.e.n},ZEt.of=function(t){return fut(this.e,t)},ZEt.Mf=function(){return this.e.o},ZEt.Nf=function(){return this.e.p},ZEt.pf=function(t){return cD(this.e,t)},ZEt.Of=function(t){this.e.n.a=t.a,this.e.n.b=t.b},ZEt.Pf=function(t){this.e.o.a=t.a,this.e.o.b=t.b},ZEt.Qf=function(t){this.e.p=t},vq(zIt,"LGraphAdapters/AbstractLShapeAdapter",666),Bgt(474,1,{853:1},hp),ZEt.Rf=function(){var t,e;if(!this.b)for(this.b=WN(this.a.b.c.length),e=new pg(this.a.b);e.a0&&b9((IY(e-1,t.length),t.charCodeAt(e-1)),WIt);)--e;if(r> ",t),Qot(n)),tL(JM((t.a+="[",t),n.i),"]")),t.a},ZEt.c=!0,ZEt.d=!1;var sXt,cXt,lXt,uXt,hXt,fXt,dXt,gXt,pXt=vq(zIt,"LPort",12);Bgt(408,1,GSt,dp),ZEt.Jc=function(t){UX(this,t)},ZEt.Kc=function(){return new gp(new pg(this.a.e))},vq(zIt,"LPort/1",408),Bgt(1309,1,TSt,gp),ZEt.Nb=function(t){bz(this,t)},ZEt.Pb=function(){return KR(jY(this.a),18).c},ZEt.Ob=function(){return BI(this.a)},ZEt.Qb=function(){zz(this.a)},vq(zIt,"LPort/1/1",1309),Bgt(369,1,GSt,pp),ZEt.Jc=function(t){UX(this,t)},ZEt.Kc=function(){return new bp(new pg(this.a.g))},vq(zIt,"LPort/2",369),Bgt(776,1,TSt,bp),ZEt.Nb=function(t){bz(this,t)},ZEt.Pb=function(){return KR(jY(this.a),18).d},ZEt.Ob=function(){return BI(this.a)},ZEt.Qb=function(){zz(this.a)},vq(zIt,"LPort/2/1",776),Bgt(1302,1,GSt,qS),ZEt.Jc=function(t){UX(this,t)},ZEt.Kc=function(){return new GQ(this)},vq(zIt,"LPort/CombineIter",1302),Bgt(208,1,TSt,GQ),ZEt.Nb=function(t){bz(this,t)},ZEt.Qb=function(){f_()},ZEt.Ob=function(){return NN(this)},ZEt.Pb=function(){return BI(this.a)?jY(this.a):jY(this.b)},vq(zIt,"LPort/CombineIter/1",208),Bgt(1303,1,xMt,je),ZEt.Lb=function(t){return Kj(t)},ZEt.Fb=function(t){return this===t},ZEt.Mb=function(t){return m5(),0!=KR(t,12).g.c.length},vq(zIt,"LPort/lambda$0$Type",1303),Bgt(1304,1,xMt,ze),ZEt.Lb=function(t){return Yj(t)},ZEt.Fb=function(t){return this===t},ZEt.Mb=function(t){return m5(),0!=KR(t,12).e.c.length},vq(zIt,"LPort/lambda$1$Type",1304),Bgt(1305,1,xMt,qe),ZEt.Lb=function(t){return m5(),KR(t,12).j==(MTt(),cue)},ZEt.Fb=function(t){return this===t},ZEt.Mb=function(t){return m5(),KR(t,12).j==(MTt(),cue)},vq(zIt,"LPort/lambda$2$Type",1305),Bgt(1306,1,xMt,He),ZEt.Lb=function(t){return m5(),KR(t,12).j==(MTt(),sue)},ZEt.Fb=function(t){return this===t},ZEt.Mb=function(t){return m5(),KR(t,12).j==(MTt(),sue)},vq(zIt,"LPort/lambda$3$Type",1306),Bgt(1307,1,xMt,Ue),ZEt.Lb=function(t){return m5(),KR(t,12).j==(MTt(),Eue)},ZEt.Fb=function(t){return this===t},ZEt.Mb=function(t){return m5(),KR(t,12).j==(MTt(),Eue)},vq(zIt,"LPort/lambda$4$Type",1307),Bgt(1308,1,xMt,Ge),ZEt.Lb=function(t){return m5(),KR(t,12).j==(MTt(),Cue)},ZEt.Fb=function(t){return this===t},ZEt.Mb=function(t){return m5(),KR(t,12).j==(MTt(),Cue)},vq(zIt,"LPort/lambda$5$Type",1308),Bgt(30,305,{3:1,20:1,305:1,30:1,96:1,137:1},$q),ZEt.Jc=function(t){UX(this,t)},ZEt.Kc=function(){return new pg(this.a)},ZEt.Ib=function(){return"L_"+g1(this.b.b,this,0)+Tut(this.a)},vq(zIt,"Layer",30),Bgt(1330,1,{},Mw),vq(tOt,eOt,1330),Bgt(1334,1,{},Ke),ZEt.Kb=function(t){return Blt(KR(t,84))},vq(tOt,"ElkGraphImporter/0methodref$connectableShapeToNode$Type",1334),Bgt(1337,1,{},Ye),ZEt.Kb=function(t){return Blt(KR(t,84))},vq(tOt,"ElkGraphImporter/1methodref$connectableShapeToNode$Type",1337),Bgt(1331,1,jSt,mp),ZEt.Cd=function(t){rgt(this.a,KR(t,123))},vq(tOt,RLt,1331),Bgt(1332,1,jSt,yp),ZEt.Cd=function(t){rgt(this.a,KR(t,123))},vq(tOt,nOt,1332),Bgt(1333,1,{},Ve),ZEt.Kb=function(t){return new k$(null,new OY(UH(KR(t,74)),16))},vq(tOt,iOt,1333),Bgt(1335,1,hCt,wp),ZEt.Mb=function(t){return function(t,e){return Y0(e,dK(t))}(this.a,KR(t,27))},vq(tOt,rOt,1335),Bgt(1336,1,{},We),ZEt.Kb=function(t){return new k$(null,new OY((!(e=KR(t,74)).b&&(e.b=new bB(Uhe,e,4,7)),e.b),16));var e},vq(tOt,"ElkGraphImporter/lambda$5$Type",1336),Bgt(1338,1,hCt,vp),ZEt.Mb=function(t){return function(t,e){return Y0(e,dK(t))}(this.a,KR(t,27))},vq(tOt,"ElkGraphImporter/lambda$7$Type",1338),Bgt(1339,1,hCt,Xe),ZEt.Mb=function(t){return Idt(e=KR(t,74))&&dx(zD(spt(e,(CEt(),X3t))));var e},vq(tOt,"ElkGraphImporter/lambda$8$Type",1339),Bgt(1297,1,{},qh),vq(tOt,"ElkGraphLayoutTransferrer",1297),Bgt(1298,1,hCt,xp),ZEt.Mb=function(t){return function(t,e){return bE(),!J5(e.d.i,t)}(this.a,KR(t,18))},vq(tOt,"ElkGraphLayoutTransferrer/lambda$0$Type",1298),Bgt(1299,1,jSt,kp),ZEt.Cd=function(t){bE(),SO(this.a,KR(t,18))},vq(tOt,"ElkGraphLayoutTransferrer/lambda$1$Type",1299),Bgt(1300,1,hCt,_p),ZEt.Mb=function(t){return function(t,e){return bE(),J5(e.d.i,t)}(this.a,KR(t,18))},vq(tOt,"ElkGraphLayoutTransferrer/lambda$2$Type",1300),Bgt(1301,1,jSt,Tp),ZEt.Cd=function(t){bE(),SO(this.a,KR(t,18))},vq(tOt,"ElkGraphLayoutTransferrer/lambda$3$Type",1301),Bgt(819,1,{},WP),vq(aOt,"BiLinkedHashMultiMap",819),Bgt(1550,1,jIt,Qe),ZEt.Kf=function(t,e){!function(t,e){e.Ug(oOt,1),VT(Z1(new k$(null,new OY(t.b,16)),new Ze),new Je),e.Vg()}(KR(t,36),e)},vq(aOt,"CommentNodeMarginCalculator",1550),Bgt(1551,1,{},Ze),ZEt.Kb=function(t){return new k$(null,new OY(KR(t,30).a,16))},vq(aOt,"CommentNodeMarginCalculator/lambda$0$Type",1551),Bgt(1552,1,jSt,Je),ZEt.Cd=function(t){!function(t){var e,n,r,a,o,s,c,l,u,h,f,d;if(c=t.d,f=KR(fut(t,(jEt(),d0t)),15),e=KR(fut(t,h1t),15),f||e){if(o=gx(qD(Gnt(t,(CEt(),Z5t)))),s=gx(qD(Gnt(t,J5t))),d=0,f){for(u=0,a=f.Kc();a.Ob();)r=KR(a.Pb(),10),u=i.Math.max(u,r.o.b),d+=r.o.a;d+=o*(f.gc()-1),c.d+=u+s}if(n=0,e){for(u=0,a=e.Kc();a.Ob();)r=KR(a.Pb(),10),u=i.Math.max(u,r.o.b),n+=r.o.a;n+=o*(e.gc()-1),c.a+=u+s}(l=i.Math.max(d,n))>t.o.a&&(h=(l-t.o.a)/2,c.b=i.Math.max(c.b,h),c.c=i.Math.max(c.c,h))}}(KR(t,10))},vq(aOt,"CommentNodeMarginCalculator/lambda$1$Type",1552),Bgt(1553,1,jIt,tn),ZEt.Kf=function(t,e){!function(t,e){var n,i,r,a,o,s,c;for(e.Ug("Comment post-processing",1),a=new pg(t.b);a.a0&&Zwt((LY(0,n.c.length),KR(n.c[0],30)),t),n.c.length>1&&Zwt(KR(c$(n,n.c.length-1),30),t),e.Vg()}(KR(t,36),e)},vq(aOt,"HierarchicalPortPositionProcessor",1582),Bgt(1583,1,jIt,Hh),ZEt.Kf=function(t,e){!function(t,e){var n,r,a,o,s,c,l,h,f,d,g,p,b,m,y,w,v,x,k,_,T,E;for(t.b=e,t.a=KR(fut(e,(CEt(),G3t)),17).a,t.c=KR(fut(e,Y3t),17).a,0==t.c&&(t.c=lSt),b=new CV(e.b,0);b.b=t.a&&(r=Fxt(t,y),f=i.Math.max(f,r.b),v=i.Math.max(v,r.d),SO(c,new rM(y,r)));for(_=new yy,h=0;h0),b.a.Xb(b.c=--b.b),BP(b,T=new $q(t.b)),KD(b.b=2){for(d=!0,n=KR(jY(u=new pg(r.j)),12),h=null;u.a0)}(KR(t,18))},vq(aOt,"PartitionPreprocessor/lambda$2$Type",1643),Bgt(1644,1,jSt,xi),ZEt.Cd=function(t){!function(t){var e;xxt(t,!0),e=TCt,cD(t,(CEt(),K5t))&&(e+=KR(fut(t,K5t),17).a),E7(t,K5t,ttt(e))}(KR(t,18))},vq(aOt,"PartitionPreprocessor/lambda$3$Type",1644),Bgt(1645,1,jIt,Zh),ZEt.Kf=function(t,e){!function(t,e){var n,i,r,a,o,s;for(e.Ug("Port order processing",1),s=KR(fut(t,(CEt(),H5t)),430),n=new pg(t.b);n.ae.d.c){if((d=t.c[e.a.d])==(b=t.c[h.a.d]))continue;Kbt(rE(iE(aE(nE(new mw,1),100),d),b))}}}(this),function(t){var e,n,i,r,a,o,s;for(a=new jT,r=new pg(t.d.a);r.a1)for(e=CN((n=new yw,++t.b,n),t.d),s=Mrt(a,0);s.b!=s.d.c;)o=KR(gW(s),125),Kbt(rE(iE(aE(nE(new mw,1),0),e),o))}(this),zwt(hR(this.d),new vv),a=new pg(this.a.a.b);a.a=b&&(SO(o,ttt(h)),w=i.Math.max(w,v[h-1]-f),c+=p,m+=v[h-1]-m,f=v[h-1],p=l[h]),p=i.Math.max(p,l[h]),++h;c+=p}(g=i.Math.min(1/w,1/e.b/c))>r&&(r=g,n=o)}return n},ZEt.pg=function(){return!1},vq(_Ot,"MSDCutIndexHeuristic",816),Bgt(1683,1,jIt,ka),ZEt.Kf=function(t,e){Lxt(KR(t,36),e)},vq(_Ot,"SingleEdgeGraphWrapper",1683),Bgt(232,22,{3:1,34:1,22:1,232:1},oC);var CZt,AZt,MZt,LZt,IZt,OZt,NZt,DZt=Z2(TOt,"CenterEdgeLabelPlacementStrategy",232,bHt,(function(){return Jht(),t7(rk(DZt,1),sCt,232,0,[MZt,IZt,AZt,LZt,OZt,CZt])}),(function(t){return Jht(),Q2((m2(),NZt),t)}));Bgt(431,22,{3:1,34:1,22:1,431:1},aC);var PZt,BZt,RZt,FZt=Z2(TOt,"ConstraintCalculationStrategy",431,bHt,(function(){return gZ(),t7(rk(FZt,1),sCt,431,0,[PZt,BZt])}),(function(t){return gZ(),Q2((LX(),RZt),t)}));Bgt(322,22,{3:1,34:1,22:1,322:1,188:1,196:1},sC),ZEt.dg=function(){return adt(this)},ZEt.qg=function(){return adt(this)};var $Zt,jZt,zZt,qZt,HZt=Z2(TOt,"CrossingMinimizationStrategy",322,bHt,(function(){return A4(),t7(rk(HZt,1),sCt,322,0,[jZt,$Zt,zZt])}),(function(t){return A4(),Q2((pZ(),qZt),t)}));Bgt(351,22,{3:1,34:1,22:1,351:1},cC);var UZt,GZt,KZt,YZt,VZt=Z2(TOt,"CuttingStrategy",351,bHt,(function(){return f4(),t7(rk(VZt,1),sCt,351,0,[UZt,KZt,GZt])}),(function(t){return f4(),Q2((bZ(),YZt),t)}));Bgt(348,22,{3:1,34:1,22:1,348:1,188:1,196:1},lC),ZEt.dg=function(){return Wgt(this)},ZEt.qg=function(){return Wgt(this)};var WZt,XZt,QZt,ZZt,JZt,tJt,eJt=Z2(TOt,"CycleBreakingStrategy",348,bHt,(function(){return Ait(),t7(rk(eJt,1),sCt,348,0,[XZt,WZt,ZZt,JZt,QZt])}),(function(t){return Ait(),Q2((d0(),tJt),t)}));Bgt(428,22,{3:1,34:1,22:1,428:1},uC);var nJt,iJt,rJt,aJt=Z2(TOt,"DirectionCongruency",428,bHt,(function(){return E0(),t7(rk(aJt,1),sCt,428,0,[nJt,iJt])}),(function(t){return E0(),Q2((SX(),rJt),t)}));Bgt(460,22,{3:1,34:1,22:1,460:1},hC);var oJt,sJt,cJt,lJt,uJt=Z2(TOt,"EdgeConstraint",460,bHt,(function(){return I7(),t7(rk(uJt,1),sCt,460,0,[sJt,oJt,cJt])}),(function(t){return I7(),Q2((yZ(),lJt),t)}));Bgt(283,22,{3:1,34:1,22:1,283:1},fC);var hJt,fJt,dJt,gJt,pJt,bJt,mJt,yJt=Z2(TOt,"EdgeLabelSideSelection",283,bHt,(function(){return Zut(),t7(rk(yJt,1),sCt,283,0,[fJt,hJt,gJt,dJt,bJt,pJt])}),(function(t){return Zut(),Q2((y2(),mJt),t)}));Bgt(488,22,{3:1,34:1,22:1,488:1},dC);var wJt,vJt,xJt,kJt=Z2(TOt,"EdgeStraighteningStrategy",488,bHt,(function(){return KJ(),t7(rk(kJt,1),sCt,488,0,[vJt,wJt])}),(function(t){return KJ(),Q2((CX(),xJt),t)}));Bgt(281,22,{3:1,34:1,22:1,281:1},gC);var _Jt,TJt,EJt,SJt,CJt,AJt,MJt,LJt=Z2(TOt,"FixedAlignment",281,bHt,(function(){return Sct(),t7(rk(LJt,1),sCt,281,0,[SJt,EJt,AJt,TJt,CJt,_Jt])}),(function(t){return Sct(),Q2((w2(),MJt),t)}));Bgt(282,22,{3:1,34:1,22:1,282:1},pC);var IJt,OJt,NJt,DJt,PJt,BJt,RJt,FJt=Z2(TOt,"GraphCompactionStrategy",282,bHt,(function(){return zut(),t7(rk(FJt,1),sCt,282,0,[PJt,OJt,BJt,DJt,NJt,IJt])}),(function(t){return zut(),Q2((v2(),RJt),t)}));Bgt(259,22,{3:1,34:1,22:1,259:1},bC);var $Jt,jJt,zJt,qJt,HJt,UJt,GJt,KJt,YJt,VJt,WJt,XJt=Z2(TOt,"GraphProperties",259,bHt,(function(){return Hmt(),t7(rk(XJt,1),sCt,259,0,[jJt,qJt,HJt,UJt,GJt,KJt,VJt,$Jt,zJt,YJt])}),(function(t){return Hmt(),Q2((M7(),WJt),t)}));Bgt(299,22,{3:1,34:1,22:1,299:1},mC);var QJt,ZJt,JJt,t1t,e1t=Z2(TOt,"GreedySwitchType",299,bHt,(function(){return _6(),t7(rk(e1t,1),sCt,299,0,[ZJt,JJt,QJt])}),(function(t){return _6(),Q2((wZ(),t1t),t)}));Bgt(311,22,{3:1,34:1,22:1,311:1},yC);var n1t,i1t,r1t,a1t,o1t=Z2(TOt,"InLayerConstraint",311,bHt,(function(){return q1(),t7(rk(o1t,1),sCt,311,0,[i1t,r1t,n1t])}),(function(t){return q1(),Q2((vZ(),a1t),t)}));Bgt(429,22,{3:1,34:1,22:1,429:1},wC);var s1t,c1t,l1t,u1t,h1t,f1t,d1t,g1t,p1t,b1t,m1t,y1t,w1t,v1t,x1t,k1t,_1t,T1t,E1t,S1t,C1t,A1t,M1t,L1t,I1t,O1t,N1t,D1t,P1t,B1t,R1t,F1t,$1t,j1t,z1t,q1t,H1t,U1t,G1t,K1t,Y1t,V1t,W1t,X1t,Q1t,Z1t,J1t,t0t,e0t,n0t,i0t,r0t,a0t,o0t,s0t,c0t,l0t,u0t,h0t,f0t,d0t,g0t=Z2(TOt,"InteractiveReferencePoint",429,bHt,(function(){return TW(),t7(rk(g0t,1),sCt,429,0,[s1t,c1t])}),(function(t){return TW(),Q2((EX(),l1t),t)}));Bgt(171,22,{3:1,34:1,22:1,171:1},vC);var p0t,b0t,m0t,y0t,w0t,v0t,x0t,k0t,_0t,T0t,E0t,S0t,C0t,A0t,M0t,L0t,I0t,O0t,N0t,D0t,P0t,B0t,R0t,F0t,$0t,j0t,z0t,q0t,H0t,U0t,G0t,K0t,Y0t,V0t,W0t,X0t,Q0t,Z0t,J0t,t2t,e2t,n2t,i2t,r2t,a2t,o2t,s2t,c2t,l2t,u2t,h2t,f2t,d2t,g2t,p2t,b2t,m2t,y2t,w2t,v2t,x2t,k2t,_2t,T2t,E2t,S2t,C2t,A2t,M2t,L2t,I2t,O2t,N2t,D2t,P2t,B2t,R2t,F2t,$2t,j2t,z2t,q2t,H2t,U2t,G2t,K2t,Y2t,V2t,W2t,X2t,Q2t,Z2t,J2t,t4t,e4t,n4t,i4t,r4t,a4t,o4t,s4t,c4t,l4t,u4t,h4t,f4t,d4t,g4t,p4t,b4t,m4t,y4t,w4t,v4t,x4t,k4t,_4t,T4t,E4t,S4t,C4t,A4t,M4t,L4t,I4t,O4t,N4t,D4t,P4t,B4t,R4t,F4t,$4t,j4t,z4t,q4t,H4t,U4t,G4t,K4t,Y4t,V4t,W4t,X4t,Q4t,Z4t,J4t,t3t,e3t,n3t,i3t,r3t,a3t,o3t,s3t,c3t,l3t,u3t,h3t,f3t,d3t,g3t,p3t,b3t,m3t,y3t,w3t,v3t,x3t,k3t,_3t,T3t,E3t,S3t,C3t,A3t,M3t,L3t,I3t,O3t,N3t,D3t,P3t,B3t,R3t,F3t,$3t,j3t,z3t,q3t,H3t,U3t,G3t,K3t,Y3t,V3t,W3t,X3t,Q3t,Z3t,J3t,t5t,e5t,n5t,i5t,r5t,a5t,o5t,s5t,c5t,l5t,u5t,h5t,f5t,d5t,g5t,p5t,b5t,m5t,y5t,w5t,v5t,x5t,k5t,_5t,T5t,E5t,S5t,C5t,A5t,M5t,L5t,I5t,O5t,N5t,D5t,P5t,B5t,R5t,F5t,$5t,j5t,z5t,q5t,H5t,U5t,G5t,K5t,Y5t,V5t,W5t,X5t,Q5t,Z5t,J5t,t6t,e6t,n6t,i6t,r6t,a6t,o6t,s6t,c6t,l6t,u6t,h6t,f6t,d6t,g6t,p6t,b6t,m6t,y6t,w6t,v6t,x6t,k6t,_6t,T6t,E6t,S6t,C6t,A6t,M6t,L6t,I6t,O6t,N6t,D6t,P6t,B6t,R6t=Z2(TOt,"LayerConstraint",171,bHt,(function(){return bnt(),t7(rk(R6t,1),sCt,171,0,[w0t,p0t,b0t,m0t,y0t])}),(function(t){return bnt(),Q2((p0(),v0t),t)}));Bgt(859,1,AMt,of),ZEt.hf=function(t){jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,IOt),""),"Direction Congruency"),"Specifies how drawings of the same graph with different layout directions compare to each other: either a natural reading direction is preserved or the drawings are rotated versions of each other."),a2t),(Kht(),ioe)),aJt),fet((Art(),Qae))))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,OOt),""),"Feedback Edges"),"Whether feedback edges should be highlighted by routing around the nodes."),(FN(),!1)),eoe),KHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,NOt),""),"Interactive Reference Point"),"Determines which point of a node is considered by interactive layout phases."),A2t),ioe),g0t),fet(Qae)))),PV(t,NOt,zOt,L2t),PV(t,NOt,QOt,M2t),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,DOt),""),"Merge Edges"),"Edges that have no ports are merged so they touch the connected nodes at the same points. When this option is disabled, one port is created for each edge directly connected to a node. When it is enabled, all such incoming edges share an input port, and all outgoing edges share an output port."),!1),eoe),KHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,POt),""),"Merge Hierarchy-Crossing Edges"),"If hierarchical layout is active, hierarchy-crossing edges use as few hierarchical ports as possible. They are broken by the algorithm, with hierarchical ports inserted as required. Usually, one such port is created for each edge at each hierarchy crossing point. With this option set to true, we try to create as few hierarchical ports as possible in the process. In particular, all edges that form a hyperedge can share a port."),!0),eoe),KHt),fet(Qae)))),jet(t,new $ht(function(t,e){return t.f=e,t}(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,BOt),""),"Allow Non-Flow Ports To Switch Sides"),"Specifies whether non-flow ports may switch sides if their node's port constraints are either FIXED_SIDE or FIXED_ORDER. A non-flow port is a port on a side that is not part of the currently configured layout flow. For instance, given a left-to-right layout direction, north and south ports would be considered non-flow ports. Further note that the underlying criterium whether to switch sides or not solely relies on the minimization of edge crossings. Hence, edge length and other aesthetics criteria are not addressed."),!1),eoe),KHt),fet(Zae)),t7(rk(fUt,1),RSt,2,6,["org.eclipse.elk.layered.northOrSouthPort"])))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,ROt),""),"Port Sorting Strategy"),"Only relevant for nodes with FIXED_SIDE port constraints. Determines the way a node's ports are distributed on the sides of a node if their order is not prescribed. The option is set on parent nodes."),d4t),ioe),D7t),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,FOt),""),"Thoroughness"),"How much effort should be spent to produce a nice layout."),ttt(7)),aoe),nUt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,$Ot),""),"Add Unnecessary Bendpoints"),"Adds bend points even if an edge does not change direction. If true, each long edge dummy will contribute a bend point to its edges and hierarchy-crossing edges will always get a bend point where they cross hierarchy boundaries. By default, bend points are only added where an edge changes direction."),!1),eoe),KHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,jOt),""),"Generate Position and Layer IDs"),"If enabled position id and layer id are generated, which are usually only used internally when setting the interactiveLayout option. This option should be specified on the root node."),!1),eoe),KHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,zOt),"cycleBreaking"),"Cycle Breaking Strategy"),"Strategy for cycle breaking. Cycle breaking looks for cycles in the graph and determines which edges to reverse to break the cycles. Reversed edges will end up pointing to the opposite direction of regular edges (that is, reversed edges will point left if edges usually point right)."),i2t),ioe),eJt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,qOt),JNt),"Node Layering Strategy"),"Strategy for node layering."),G2t),ioe),V6t),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,HOt),JNt),"Layer Constraint"),"Determines a constraint on the placement of the node regarding the layering."),P2t),ioe),R6t),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,UOt),JNt),"Layer Choice Constraint"),"Allows to set a constraint regarding the layer placement of a node. Let i be the value of teh constraint. Assumed the drawing has n layers and i < n. If set to i, it expresses that the node should be placed in i-th layer. Should i>=n be true then the node is placed in the last layer of the drawing. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),null),aoe),nUt),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,GOt),JNt),"Layer ID"),"Layer identifier that was calculated by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),ttt(-1)),aoe),nUt),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,KOt),tDt),"Upper Bound On Width [MinWidth Layerer]"),"Defines a loose upper bound on the width of the MinWidth layerer. If set to '-1' multiple values are tested and the best result is selected."),ttt(4)),aoe),nUt),fet(Qae)))),PV(t,KOt,qOt,F2t),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,YOt),tDt),"Upper Layer Estimation Scaling Factor [MinWidth Layerer]"),"Multiplied with Upper Bound On Width for defining an upper bound on the width of layers which haven't been determined yet, but whose maximum width had been (roughly) estimated by the MinWidth algorithm. Compensates for too high estimations. If set to '-1' multiple values are tested and the best result is selected."),ttt(2)),aoe),nUt),fet(Qae)))),PV(t,YOt,qOt,j2t),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,VOt),eDt),"Node Promotion Strategy"),"Reduces number of dummy nodes after layering phase (if possible)."),H2t),ioe),T7t),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,WOt),eDt),"Max Node Promotion Iterations"),"Limits the number of iterations for node promotion."),ttt(0)),aoe),nUt),fet(Qae)))),PV(t,WOt,VOt,null),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,XOt),"layering.coffmanGraham"),"Layer Bound"),"The maximum number of nodes allowed per layer."),ttt(lSt)),aoe),nUt),fet(Qae)))),PV(t,XOt,qOt,O2t),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,QOt),nDt),"Crossing Minimization Strategy"),"Strategy for crossing minimization."),e2t),ioe),HZt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,ZOt),nDt),"Force Node Model Order"),"The node order given by the model does not change to produce a better layout. E.g. if node A is before node B in the model this is not changed during crossing minimization. This assumes that the node model order is already respected before crossing minimization. This can be achieved by setting considerModelOrder.strategy to NODES_AND_EDGES."),!1),eoe),KHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,JOt),nDt),"Hierarchical Sweepiness"),"How likely it is to use cross-hierarchy (1) vs bottom-up (-1)."),.1),noe),ZHt),fet(Qae)))),PV(t,JOt,iDt,Y0t),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,tNt),nDt),"Semi-Interactive Crossing Minimization"),"Preserves the order of nodes within a layer but still minimizes crossings between edges connecting long edge dummies. Derives the desired order from positions specified by the 'org.eclipse.elk.position' layout option. Requires a crossing minimization strategy that is able to process 'in-layer' constraints."),!1),eoe),KHt),fet(Qae)))),PV(t,tNt,QOt,J0t),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,eNt),nDt),"In Layer Predecessor of"),"Allows to set a constraint which specifies of which node the current node is the predecessor. If set to 's' then the node is the predecessor of 's' and is in the same layer"),null),soe),fUt),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,nNt),nDt),"In Layer Successor of"),"Allows to set a constraint which specifies of which node the current node is the successor. If set to 's' then the node is the successor of 's' and is in the same layer"),null),soe),fUt),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,iNt),nDt),"Position Choice Constraint"),"Allows to set a constraint regarding the position placement of a node in a layer. Assumed the layer in which the node placed includes n other nodes and i < n. If set to i, it expresses that the node should be placed at the i-th position. Should i>=n be true then the node is placed at the last position in the layer. Note that this option is not part of any of ELK Layered's default configurations but is only evaluated as part of the `InteractiveLayeredGraphVisitor`, which must be applied manually or used via the `DiagramLayoutEngine."),null),aoe),nUt),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,rNt),nDt),"Position ID"),"Position within a layer that was determined by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),ttt(-1)),aoe),nUt),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,aNt),rDt),"Greedy Switch Activation Threshold"),"By default it is decided automatically if the greedy switch is activated or not. The decision is based on whether the size of the input graph (without dummy nodes) is smaller than the value of this option. A '0' enforces the activation."),ttt(40)),aoe),nUt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,oNt),rDt),"Greedy Switch Crossing Minimization"),"Greedy Switch strategy for crossing minimization. The greedy switch heuristic is executed after the regular crossing minimization as a post-processor. Note that if 'hierarchyHandling' is set to 'INCLUDE_CHILDREN', the 'greedySwitchHierarchical.type' option must be used."),U0t),ioe),e1t),fet(Qae)))),PV(t,oNt,QOt,G0t),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,sNt),"crossingMinimization.greedySwitchHierarchical"),"Greedy Switch Crossing Minimization (hierarchical)"),"Activates the greedy switch heuristic in case hierarchical layout is used. The differences to the non-hierarchical case (see 'greedySwitch.type') are: 1) greedy switch is inactive by default, 3) only the option value set on the node at which hierarchical layout starts is relevant, and 2) if it's activated by the user, it properly addresses hierarchy-crossing edges."),j0t),ioe),e1t),fet(Qae)))),PV(t,sNt,QOt,z0t),PV(t,sNt,iDt,q0t),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,cNt),aDt),"Node Placement Strategy"),"Strategy for node placement."),h4t),ioe),f7t),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,lNt),aDt),"Favor Straight Edges Over Balancing"),"Favor straight edges over a balanced node placement. The default behavior is determined automatically based on the used 'edgeRouting'. For an orthogonal style it is set to true, for all other styles to false."),eoe),KHt),fet(Qae)))),PV(t,lNt,cNt,e4t),PV(t,lNt,cNt,n4t),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,uNt),oDt),"BK Edge Straightening"),"Specifies whether the Brandes Koepf node placer tries to increase the number of straight edges at the expense of diagram size. There is a subtle difference to the 'favorStraightEdges' option, which decides whether a balanced placement of the nodes is desired, or not. In bk terms this means combining the four alignments into a single balanced one, or not. This option on the other hand tries to straighten additional edges during the creation of each of the four alignments."),W2t),ioe),kJt),fet(Qae)))),PV(t,uNt,cNt,X2t),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,hNt),oDt),"BK Fixed Alignment"),"Tells the BK node placer to use a certain alignment (out of its four) instead of the one producing the smallest height, or the combination of all four."),Z2t),ioe),LJt),fet(Qae)))),PV(t,hNt,cNt,J2t),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,fNt),"nodePlacement.linearSegments"),"Linear Segments Deflection Dampening"),"Dampens the movement of nodes to keep the diagram from getting too large."),.3),noe),ZHt),fet(Qae)))),PV(t,fNt,cNt,r4t),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,dNt),"nodePlacement.networkSimplex"),"Node Flexibility"),"Aims at shorter and straighter edges. Two configurations are possible: (a) allow ports to move freely on the side they are assigned to (the order is always defined beforehand), (b) additionally allow to enlarge a node wherever it helps. If this option is not configured for a node, the 'nodeFlexibility.default' value is used, which is specified for the node's parent."),ioe),a7t),fet(Xae)))),PV(t,dNt,cNt,l4t),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,gNt),"nodePlacement.networkSimplex.nodeFlexibility"),"Node Flexibility Default"),"Default value of the 'nodeFlexibility' option for the children of a hierarchical node."),s4t),ioe),a7t),fet(Qae)))),PV(t,gNt,cNt,c4t),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,pNt),sDt),"Self-Loop Distribution"),"Alter the distribution of the loops around the node. It only takes effect for PortConstraints.FREE."),d2t),ioe),U7t),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,bNt),sDt),"Self-Loop Ordering"),"Alter the ordering of the loops they can either be stacked or sequenced. It only takes effect for PortConstraints.FREE."),p2t),ioe),W7t),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,mNt),"edgeRouting.splines"),"Spline Routing Mode"),"Specifies the way control points are assembled for each individual edge. CONSERVATIVE ensures that edges are properly routed around the nodes but feels rather orthogonal at times. SLOPPY uses fewer control points to obtain curvier edge routes but may result in edges overlapping nodes."),m2t),ioe),t8t),fet(Qae)))),PV(t,mNt,cDt,y2t),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,yNt),"edgeRouting.splines.sloppy"),"Sloppy Spline Layer Spacing Factor"),"Spacing factor for routing area between layers when using sloppy spline routing."),.2),noe),ZHt),fet(Qae)))),PV(t,yNt,cDt,v2t),PV(t,yNt,mNt,x2t),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,wNt),"edgeRouting.polyline"),"Sloped Edge Zone Width"),"Width of the strip to the left and to the right of each layer where the polyline edge router is allowed to refrain from ensuring that edges are routed horizontally. This prevents awkward bend points for nodes that extent almost to the edge of their layer."),2),noe),ZHt),fet(Qae)))),PV(t,wNt,cDt,h2t),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,vNt),lDt),"Spacing Base Value"),"An optional base value for all other layout options of the 'spacing' group. It can be used to conveniently alter the overall 'spaciousness' of the drawing. Whenever an explicit value is set for the other layout options, this base value will have no effect. The base value is not inherited, i.e. it must be set for each hierarchical node."),noe),ZHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,xNt),lDt),"Edge Node Between Layers Spacing"),"The spacing to be preserved between nodes and edges that are routed next to the node's layer. For the spacing between nodes and edges that cross the node's layer 'spacing.edgeNode' is used."),10),noe),ZHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,kNt),lDt),"Edge Edge Between Layer Spacing"),"Spacing to be preserved between pairs of edges that are routed between the same pair of layers. Note that 'spacing.edgeEdge' is used for the spacing between pairs of edges crossing the same layer."),10),noe),ZHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,_Nt),lDt),"Node Node Between Layers Spacing"),"The spacing to be preserved between any pair of nodes of two adjacent layers. Note that 'spacing.nodeNode' is used for the spacing between nodes within the layer itself."),20),noe),ZHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,TNt),uDt),"Direction Priority"),"Defines how important it is to have a certain edge point into the direction of the overall layout. This option is evaluated during the cycle breaking phase."),ttt(0)),aoe),nUt),fet(Vae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,ENt),uDt),"Shortness Priority"),"Defines how important it is to keep an edge as short as possible. This option is evaluated during the layering phase."),ttt(0)),aoe),nUt),fet(Vae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,SNt),uDt),"Straightness Priority"),"Defines how important it is to keep an edge straight, i.e. aligned with one of the two axes. This option is evaluated during node placement."),ttt(0)),aoe),nUt),fet(Vae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,CNt),hDt),gLt),"Tries to further compact components (disconnected sub-graphs)."),!1),eoe),KHt),fet(Qae)))),PV(t,CNt,tIt,!0),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,ANt),fDt),"Post Compaction Strategy"),dDt),S0t),ioe),FJt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,MNt),fDt),"Post Compaction Constraint Calculation"),dDt),T0t),ioe),FZt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,LNt),gDt),"High Degree Node Treatment"),"Makes room around high degree nodes to place leafs and trees."),!1),eoe),KHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,INt),gDt),"High Degree Node Threshold"),"Whether a node is considered to have a high degree."),ttt(16)),aoe),nUt),fet(Qae)))),PV(t,INt,LNt,!0),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,ONt),gDt),"High Degree Node Maximum Tree Height"),"Maximum height of a subtree connected to a high degree node to be moved to separate layers."),ttt(5)),aoe),nUt),fet(Qae)))),PV(t,ONt,LNt,!0),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,NNt),pDt),"Graph Wrapping Strategy"),"For certain graphs and certain prescribed drawing areas it may be desirable to split the laid out graph into chunks that are placed side by side. The edges that connect different chunks are 'wrapped' around from the end of one chunk to the start of the other chunk. The points between the chunks are referred to as 'cuts'."),G4t),ioe),k8t),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,DNt),pDt),"Additional Wrapped Edges Spacing"),"To visually separate edges that are wrapped from regularly routed edges an additional spacing value can be specified in form of this layout option. The spacing is added to the regular edgeNode spacing."),10),noe),ZHt),fet(Qae)))),PV(t,DNt,NNt,T4t),PV(t,DNt,NNt,E4t),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,PNt),pDt),"Correction Factor for Wrapping"),"At times and for certain types of graphs the executed wrapping may produce results that are consistently biased in the same fashion: either wrapping to often or to rarely. This factor can be used to correct the bias. Internally, it is simply multiplied with the 'aspect ratio' layout option."),1),noe),ZHt),fet(Qae)))),PV(t,PNt,NNt,C4t),PV(t,PNt,NNt,A4t),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,BNt),bDt),"Cutting Strategy"),"The strategy by which the layer indexes are determined at which the layering crumbles into chunks."),P4t),ioe),VZt),fet(Qae)))),PV(t,BNt,NNt,B4t),PV(t,BNt,NNt,R4t),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,RNt),bDt),"Manually Specified Cuts"),"Allows the user to specify her own cuts for a certain graph."),ooe),cHt),fet(Qae)))),PV(t,RNt,BNt,L4t),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,FNt),"wrapping.cutting.msd"),"MSD Freedom"),"The MSD cutting strategy starts with an initial guess on the number of chunks the graph should be split into. The freedom specifies how much the strategy may deviate from this guess. E.g. if an initial number of 3 is computed, a freedom of 1 allows 2, 3, and 4 cuts."),O4t),aoe),nUt),fet(Qae)))),PV(t,FNt,BNt,N4t),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,$Nt),mDt),"Validification Strategy"),"When wrapping graphs, one can specify indices that are not allowed as split points. The validification strategy makes sure every computed split point is allowed."),X4t),ioe),a8t),fet(Qae)))),PV(t,$Nt,NNt,Q4t),PV(t,$Nt,NNt,Z4t),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,jNt),mDt),"Valid Indices for Wrapping"),null),ooe),cHt),fet(Qae)))),PV(t,jNt,NNt,Y4t),PV(t,jNt,NNt,V4t),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,zNt),yDt),"Improve Cuts"),"For general graphs it is important that not too many edges wrap backwards. Thus a compromise between evenly-distributed cuts and the total number of cut edges is sought."),!0),eoe),KHt),fet(Qae)))),PV(t,zNt,NNt,z4t),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,qNt),yDt),"Distance Penalty When Improving Cuts"),null),2),noe),ZHt),fet(Qae)))),PV(t,qNt,NNt,$4t),PV(t,qNt,zNt,!0),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,HNt),yDt),"Improve Wrapped Edges"),"The initial wrapping is performed in a very simple way. As a consequence, edges that wrap from one chunk to another may be unnecessarily long. Activating this option tries to shorten such edges."),!0),eoe),KHt),fet(Qae)))),PV(t,HNt,NNt,H4t),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,UNt),wDt),"Edge Label Side Selection"),"Method to decide on edge label sides."),l2t),ioe),yJt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,GNt),wDt),"Edge Center Label Placement Strategy"),"Determines in which layer center labels of long edges should be placed."),s2t),ioe),DZt),Z$(Qae,t7(rk(toe,1),sCt,170,0,[Wae]))))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,KNt),vDt),"Consider Model Order"),"Preserves the order of nodes and edges in the model file if this does not lead to additional edge crossings. Depending on the strategy this is not always possible since the node and edge order might be conflicting."),B0t),ioe),L7t),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,YNt),vDt),"Consider Port Order"),"If disabled the port order of output ports is derived from the edge order and input ports are ordered by their incoming connections. If enabled all ports are ordered by the port model order."),!1),eoe),KHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,VNt),vDt),"No Model Order"),"Set on a node to not set a model order for this node even though it is a real node."),!1),eoe),KHt),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,WNt),vDt),"Consider Model Order for Components"),"If set to NONE the usual ordering strategy (by cumulative node priority and size of nodes) is used. INSIDE_PORT_SIDES orders the components with external ports only inside the groups with the same port side. FORCE_MODEL_ORDER enforces the mode order on components. This option might produce bad alignments and sub optimal drawings in terms of used area since the ordering should be respected."),A0t),ioe),KWt),fet(Qae)))),PV(t,WNt,tIt,null),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,XNt),vDt),"Long Edge Ordering Strategy"),"Indicates whether long edges are sorted under, over, or equal to nodes that have no connection to a previous layer in a left-to-right or right-to-left layout. Under and over changes to right and left in a vertical layout."),O0t),ioe),J6t),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,QNt),vDt),"Crossing Counter Node Order Influence"),"Indicates with what percentage (1 for 100%) violations of the node model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal node order. Defaults to no influence (0)."),0),noe),ZHt),fet(Qae)))),PV(t,QNt,KNt,null),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,ZNt),vDt),"Crossing Counter Port Order Influence"),"Indicates with what percentage (1 for 100%) violations of the port model order are weighted against the crossings e.g. a value of 0.5 means two model order violations are as important as on edge crossing. This allows some edge crossings in favor of preserving the model order. It is advised to set this value to a very small positive value (e.g. 0.001) to have minimal crossing and a optimal port order. Defaults to no influence (0)."),0),noe),ZHt),fet(Qae)))),PV(t,ZNt,KNt,null),WEt((new sf,t))},vq(TOt,"LayeredMetaDataProvider",859),Bgt(998,1,AMt,sf),ZEt.hf=function(t){WEt(t)},vq(TOt,"LayeredOptions",998),Bgt(999,1,{},_a),ZEt.sf=function(){return new Cw},ZEt.tf=function(t){},vq(TOt,"LayeredOptions/LayeredFactory",999),Bgt(1391,1,{}),ZEt.a=0,vq(sPt,"ElkSpacings/AbstractSpacingsBuilder",1391),Bgt(792,1391,{},Ent),vq(TOt,"LayeredSpacings/LayeredSpacingsBuilder",792),Bgt(265,22,{3:1,34:1,22:1,265:1,188:1,196:1},xC),ZEt.dg=function(){return kyt(this)},ZEt.qg=function(){return kyt(this)};var F6t,$6t,j6t,z6t,q6t,H6t,U6t,G6t,K6t,Y6t,V6t=Z2(TOt,"LayeringStrategy",265,bHt,(function(){return Dbt(),t7(rk(V6t,1),sCt,265,0,[G6t,q6t,H6t,$6t,z6t,K6t,U6t,F6t,j6t])}),(function(t){return Dbt(),Q2((E6(),Y6t),t)}));Bgt(390,22,{3:1,34:1,22:1,390:1},kC);var W6t,X6t,Q6t,Z6t,J6t=Z2(TOt,"LongEdgeOrderingStrategy",390,bHt,(function(){return K9(),t7(rk(J6t,1),sCt,390,0,[W6t,X6t,Q6t])}),(function(t){return K9(),Q2((xZ(),Z6t),t)}));Bgt(203,22,{3:1,34:1,22:1,203:1},_C);var t7t,e7t,n7t,i7t,r7t,a7t=Z2(TOt,"NodeFlexibility",203,bHt,(function(){return wat(),t7(rk(a7t,1),sCt,203,0,[n7t,i7t,e7t,t7t])}),(function(t){return wat(),Q2((UJ(),r7t),t)}));Bgt(323,22,{3:1,34:1,22:1,323:1,188:1,196:1},TC),ZEt.dg=function(){return Vgt(this)},ZEt.qg=function(){return Vgt(this)};var o7t,s7t,c7t,l7t,u7t,h7t,f7t=Z2(TOt,"NodePlacementStrategy",323,bHt,(function(){return Qrt(),t7(rk(f7t,1),sCt,323,0,[u7t,s7t,c7t,o7t,l7t])}),(function(t){return Qrt(),Q2((g0(),h7t),t)}));Bgt(243,22,{3:1,34:1,22:1,243:1},EC);var d7t,g7t,p7t,b7t,m7t,y7t,w7t,v7t,x7t,k7t,_7t,T7t=Z2(TOt,"NodePromotionStrategy",243,bHt,(function(){return Twt(),t7(rk(T7t,1),sCt,243,0,[x7t,b7t,w7t,m7t,y7t,d7t,v7t,k7t,g7t,p7t])}),(function(t){return Twt(),Q2((L7(),_7t),t)}));Bgt(284,22,{3:1,34:1,22:1,284:1},SC);var E7t,S7t,C7t,A7t,M7t,L7t=Z2(TOt,"OrderingStrategy",284,bHt,(function(){return Mit(),t7(rk(L7t,1),sCt,284,0,[S7t,E7t,C7t,A7t])}),(function(t){return Mit(),Q2((GJ(),M7t),t)}));Bgt(430,22,{3:1,34:1,22:1,430:1},CC);var I7t,O7t,N7t,D7t=Z2(TOt,"PortSortingStrategy",430,bHt,(function(){return H1(),t7(rk(D7t,1),sCt,430,0,[I7t,O7t])}),(function(t){return H1(),Q2((AX(),N7t),t)}));Bgt(463,22,{3:1,34:1,22:1,463:1},AC);var P7t,B7t,R7t,F7t,$7t=Z2(TOt,"PortType",463,bHt,(function(){return d4(),t7(rk($7t,1),sCt,463,0,[R7t,P7t,B7t])}),(function(t){return d4(),Q2((TZ(),F7t),t)}));Bgt(387,22,{3:1,34:1,22:1,387:1},MC);var j7t,z7t,q7t,H7t,U7t=Z2(TOt,"SelfLoopDistributionStrategy",387,bHt,(function(){return P5(),t7(rk(U7t,1),sCt,387,0,[j7t,z7t,q7t])}),(function(t){return P5(),Q2((kZ(),H7t),t)}));Bgt(349,22,{3:1,34:1,22:1,349:1},LC);var G7t,K7t,Y7t,V7t,W7t=Z2(TOt,"SelfLoopOrderingStrategy",349,bHt,(function(){return w8(),t7(rk(W7t,1),sCt,349,0,[Y7t,G7t,K7t])}),(function(t){return w8(),Q2((_Z(),V7t),t)}));Bgt(312,1,{312:1},x_t),vq(TOt,"Spacings",312),Bgt(350,22,{3:1,34:1,22:1,350:1},IC);var X7t,Q7t,Z7t,J7t,t8t=Z2(TOt,"SplineRoutingMode",350,bHt,(function(){return t9(),t7(rk(t8t,1),sCt,350,0,[X7t,Q7t,Z7t])}),(function(t){return t9(),Q2((EZ(),J7t),t)}));Bgt(352,22,{3:1,34:1,22:1,352:1},OC);var e8t,n8t,i8t,r8t,a8t=Z2(TOt,"ValidifyStrategy",352,bHt,(function(){return h4(),t7(rk(a8t,1),sCt,352,0,[i8t,e8t,n8t])}),(function(t){return h4(),Q2((SZ(),r8t),t)}));Bgt(388,22,{3:1,34:1,22:1,388:1},NC);var o8t,s8t,c8t,l8t,u8t,h8t,f8t,d8t,g8t,p8t,b8t,m8t,y8t,w8t,v8t,x8t,k8t=Z2(TOt,"WrappingStrategy",388,bHt,(function(){return r7(),t7(rk(k8t,1),sCt,388,0,[s8t,c8t,o8t])}),(function(t){return r7(),Q2((CZ(),l8t),t)}));Bgt(1398,1,hPt,Qh),ZEt.rg=function(t){return KR(t,36),u8t},ZEt.Kf=function(t,e){!function(t,e,n){var i,r,a,o,s,c,l,u;for(n.Ug("Depth-first cycle removal",1),c=(l=e.a).c.length,t.c=new yy,t.d=WZ(jpe,IMt,28,c,16,1),t.a=WZ(jpe,IMt,28,c,16,1),t.b=new yy,a=0,s=new pg(l);s.a0?S+1:1);for(o=new pg(x.g);o.a0?S+1:1)}0==t.c[l]?RF(t.e,p):0==t.a[l]&&RF(t.f,p),++l}for(g=-1,d=1,h=new yy,t.d=KR(fut(e,(jEt(),e0t)),234);I>0;){for(;0!=t.e.b;)A=KR(zR(t.e),10),t.b[A.p]=g--,Uwt(t,A),--I;for(;0!=t.f.b;)M=KR(zR(t.f),10),t.b[M.p]=d++,Uwt(t,M),--I;if(I>0){for(f=gCt,y=new pg(w);y.a=f&&(v>f&&(h.c.length=0,f=v),Dy(h.c,p));u=t.sg(h),t.b[u.p]=d++,Uwt(t,u),--I}}for(C=w.c.length+1,l=0;lt.b[L]&&(xxt(i,!0),E7(e,y1t,(FN(),!0)));t.a=null,t.c=null,t.b=null,FU(t.f),FU(t.e),n.Vg()}(this,KR(t,36),e)},ZEt.sg=function(t){return KR(c$(t,Tat(this.d,t.c.length)),10)},vq(fPt,"GreedyCycleBreaker",793),Bgt(1401,793,hPt,iL),ZEt.sg=function(t){var e,n,i,r;for(r=null,e=lSt,i=new pg(t);i.a0&&Fht(t,s,u);for(r=new pg(u);r.a0){for(v=Mrt(t.f,0);v.b!=v.d.c;)KR(gW(v),10).p+=g-t.e;tft(t),FU(t.f),lyt(t,r,p)}else{for(RF(t.f,p),p.p=r,t.e=i.Math.max(t.e,r),o=new Dj(lN(Det(p).a.Kc(),new u));Rgt(o);)!(a=KR(bQ(o),18)).c.i.c&&a.c.i.k==(Vut(),tXt)&&(RF(t.f,a.c.i),a.c.i.p=r-1);t.c=r}else tft(t),FU(t.f),r=0,Rgt(new Dj(lN(Det(p).a.Kc(),new u)))?lyt(t,r=(g=oat(g=0,p))+2,p):(RF(t.f,p),p.p=0,t.e=i.Math.max(t.e,0),t.b=KR(c$(t.d.b,0),30),t.c=0);for(0==t.f.b||tft(t),t.d.a.c.length=0,w=new yy,h=new pg(t.d.b);h.a=c){KD(w.b>0),w.a.Xb(w.c=--w.b);break}m.a>l&&(r?(G6(r.b,m.b),r.a=i.Math.max(r.a,m.a),nH(w)):(SO(m.b,h),m.c=i.Math.min(m.c,l),m.a=i.Math.max(m.a,c),r=m))}r||((r=new Iw).c=l,r.a=c,BP(w,r),SO(r.b,h))}for(s=t.b,u=0,y=new pg(n);y.ae.p?-1:0}(KR(t,10),KR(e,10))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(dPt,"StretchWidthLayerer/1",1409),Bgt(413,1,gPt),ZEt.gg=function(t,e,n,i,r,a){},ZEt.ug=function(t,e,n){return Qwt(this,t,e,n)},ZEt.fg=function(){this.g=WZ(Upe,pPt,28,this.d,15,1),this.f=WZ(Upe,pPt,28,this.d,15,1)},ZEt.hg=function(t,e){this.e[t]=WZ($pe,$Ct,28,e[t].length,15,1)},ZEt.ig=function(t,e,n){n[t][e].p=e,this.e[t][e]=e},ZEt.jg=function(t,e,n,i){KR(c$(i[t][e].j,n),12).p=this.d++},ZEt.b=0,ZEt.c=0,ZEt.d=0,vq(bPt,"AbstractBarycenterPortDistributor",413),Bgt(1698,1,iMt,ub),ZEt.Ne=function(t,e){return function(t,e,n){var i,r,a,o;return(a=e.j)!=(o=n.j)?a.g-o.g:(i=t.f[e.p],r=t.f[n.p],0==i&&0==r?0:0==i?-1:0==r?1:cet(i,r))}(this.a,KR(t,12),KR(e,12))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(bPt,"AbstractBarycenterPortDistributor/lambda$0$Type",1698),Bgt(832,1,yOt,sW),ZEt.gg=function(t,e,n,i,r,a){},ZEt.ig=function(t,e,n){},ZEt.jg=function(t,e,n,i){},ZEt.eg=function(){return!1},ZEt.fg=function(){this.c=this.e.a,this.g=this.f.g},ZEt.hg=function(t,e){e[t][0].c.p=t},ZEt.kg=function(){return!1},ZEt.vg=function(t,e,n,i){n?cct(this,t):(xct(this,t,i),G_t(this,t,e)),t.c.length>1&&(dx(zD(fut(uH((LY(0,t.c.length),KR(t.c[0],10))),(CEt(),g3t))))?Lpt(t,this.d,KR(this,669)):(QU(),PI(t,this.d)),s6(this.e,t))},ZEt.lg=function(t,e,n,i){var r,a,o,s,c,l,u;for(e!=E$(n,t.length)&&(a=t[e-(n?1:-1)],XQ(this.f,a,n?(d4(),B7t):(d4(),P7t))),r=t[e][0],u=!i||r.k==(Vut(),JWt),l=OQ(t[e]),this.vg(l,u,!1,n),o=0,c=new pg(l);c.a"),t0?SK(this.a,t[e-1],t[e]):!n&&e0&&(n+=c.n.a+c.o.a/2,++h),d=new pg(c.j);d.a0&&(n/=h),b=WZ(Hpe,wAt,28,i.a.c.length,15,1),s=0,l=new pg(i.a);l.a1&&(dx(zD(fut(uH((LY(0,t.c.length),KR(t.c[0],10))),(CEt(),g3t))))?Lpt(t,this.d,this):(QU(),PI(t,this.d)),dx(zD(fut(uH((LY(0,t.c.length),KR(t.c[0],10))),g3t)))||s6(this.e,t))},vq(bPt,"ModelOrderBarycenterHeuristic",669),Bgt(1866,1,iMt,wb),ZEt.Ne=function(t,e){return ght(this.a,KR(t,10),KR(e,10))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(bPt,"ModelOrderBarycenterHeuristic/lambda$0$Type",1866),Bgt(1423,1,hPt,lf),ZEt.rg=function(t){var e;return KR(t,36),QF(e=XL(O8t),(dut(),fWt),(qEt(),pQt)),e},ZEt.Kf=function(t,e){var n;KR(t,36),(n=e).Ug("No crossing minimization",1),n.Vg()},vq(bPt,"NoCrossingMinimizer",1423),Bgt(809,413,gPt,Fk),ZEt.tg=function(t,e,n){var i,r,a,o,s,c,l,u,h,f,d;switch(h=this.g,n.g){case 1:for(r=0,a=0,u=new pg(t.j);u.a1&&(r.j==(MTt(),sue)?this.b[t]=!0:r.j==Cue&&t>0&&(this.b[t-1]=!0))},ZEt.f=0,vq(mOt,"AllCrossingsCounter",1861),Bgt(595,1,{},A3),ZEt.b=0,ZEt.d=0,vq(mOt,"BinaryIndexedTree",595),Bgt(532,1,{},OB),vq(mOt,"CrossingsCounter",532),Bgt(1950,1,iMt,vb),ZEt.Ne=function(t,e){return function(t,e,n){return $I(t.d[e.p],t.d[n.p])}(this.a,KR(t,12),KR(e,12))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(mOt,"CrossingsCounter/lambda$0$Type",1950),Bgt(1951,1,iMt,xb),ZEt.Ne=function(t,e){return function(t,e,n){return $I(t.d[e.p],t.d[n.p])}(this.a,KR(t,12),KR(e,12))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(mOt,"CrossingsCounter/lambda$1$Type",1951),Bgt(1952,1,iMt,kb),ZEt.Ne=function(t,e){return function(t,e,n){return $I(t.d[e.p],t.d[n.p])}(this.a,KR(t,12),KR(e,12))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(mOt,"CrossingsCounter/lambda$2$Type",1952),Bgt(1953,1,iMt,_b),ZEt.Ne=function(t,e){return function(t,e,n){return $I(t.d[e.p],t.d[n.p])}(this.a,KR(t,12),KR(e,12))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(mOt,"CrossingsCounter/lambda$3$Type",1953),Bgt(1954,1,jSt,Tb),ZEt.Cd=function(t){!function(t,e){bR(),SO(t,new rM(e,ttt(e.e.c.length+e.g.c.length)))}(this.a,KR(t,12))},vq(mOt,"CrossingsCounter/lambda$4$Type",1954),Bgt(1955,1,hCt,Eb),ZEt.Mb=function(t){return function(t,e){return bR(),e!=t}(this.a,KR(t,12))},vq(mOt,"CrossingsCounter/lambda$5$Type",1955),Bgt(1956,1,jSt,Sb),ZEt.Cd=function(t){SM(this,t)},vq(mOt,"CrossingsCounter/lambda$6$Type",1956),Bgt(1957,1,jSt,PC),ZEt.Cd=function(t){var e;bR(),bW(this.b,(e=this.a,KR(t,12),e))},vq(mOt,"CrossingsCounter/lambda$7$Type",1957),Bgt(839,1,xMt,Na),ZEt.Lb=function(t){return bR(),cD(KR(t,12),(jEt(),Z1t))},ZEt.Fb=function(t){return this===t},ZEt.Mb=function(t){return bR(),cD(KR(t,12),(jEt(),Z1t))},vq(mOt,"CrossingsCounter/lambda$8$Type",839),Bgt(1949,1,{},Cb),vq(mOt,"HyperedgeCrossingsCounter",1949),Bgt(478,1,{34:1,478:1},tB),ZEt.Fd=function(t){return function(t,e){return t.ee.e?1:t.fe.f?1:N3(t)-N3(e)}(this,KR(t,478))},ZEt.b=0,ZEt.c=0,ZEt.e=0,ZEt.f=0;var B8t=vq(mOt,"HyperedgeCrossingsCounter/Hyperedge",478);Bgt(374,1,{34:1,374:1},fU),ZEt.Fd=function(t){return function(t,e){return t.ce.c?1:t.be.b?1:t.a!=e.a?N3(t.a)-N3(e.a):t.d==(EW(),$8t)&&e.d==F8t?-1:t.d==F8t&&e.d==$8t?1:0}(this,KR(t,374))},ZEt.b=0,ZEt.c=0;var R8t=vq(mOt,"HyperedgeCrossingsCounter/HyperedgeCorner",374);Bgt(531,22,{3:1,34:1,22:1,531:1},BC);var F8t,$8t,j8t,z8t,q8t,H8t,U8t,G8t=Z2(mOt,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",531,bHt,(function(){return EW(),t7(rk(G8t,1),sCt,531,0,[$8t,F8t])}),(function(t){return EW(),Q2((MX(),j8t),t)}));Bgt(1425,1,hPt,uf),ZEt.rg=function(t){return KR(fut(KR(t,36),(jEt(),A1t)),21).Hc((Hmt(),qJt))?z8t:null},ZEt.Kf=function(t,e){!function(t,e,n){var i;for(n.Ug("Interactive node placement",1),t.a=KR(fut(e,(jEt(),o0t)),312),i=new pg(e.b);i.a1},vq(mPt,"NetworkSimplexPlacer/lambda$18$Type",1451),Bgt(1452,1,jSt,gU),ZEt.Cd=function(t){!function(t,e,n,i,r){XK(),Kbt(rE(iE(nE(aE(new mw,0),r.d.e-t),e),r.d)),Kbt(rE(iE(nE(aE(new mw,0),n-r.a.e),r.a),i))}(this.c,this.b,this.d,this.a,KR(t,412))},ZEt.c=0,ZEt.d=0,vq(mPt,"NetworkSimplexPlacer/lambda$19$Type",1452),Bgt(1435,1,{},Ga),ZEt.Kb=function(t){return XK(),new k$(null,new OY(KR(t,30).a,16))},vq(mPt,"NetworkSimplexPlacer/lambda$2$Type",1435),Bgt(1453,1,jSt,Ib),ZEt.Cd=function(t){!function(t,e){XK(),e.n.b+=t}(this.a,KR(t,12))},ZEt.a=0,vq(mPt,"NetworkSimplexPlacer/lambda$20$Type",1453),Bgt(1454,1,{},Ka),ZEt.Kb=function(t){return XK(),new k$(null,new OY(KR(t,30).a,16))},vq(mPt,"NetworkSimplexPlacer/lambda$21$Type",1454),Bgt(1455,1,jSt,Ob),ZEt.Cd=function(t){xO(this.a,KR(t,10))},vq(mPt,"NetworkSimplexPlacer/lambda$22$Type",1455),Bgt(1456,1,hCt,Ya),ZEt.Mb=function(t){return dP(t)},vq(mPt,"NetworkSimplexPlacer/lambda$23$Type",1456),Bgt(1457,1,{},Va),ZEt.Kb=function(t){return XK(),new k$(null,new OY(KR(t,30).a,16))},vq(mPt,"NetworkSimplexPlacer/lambda$24$Type",1457),Bgt(1458,1,hCt,Nb),ZEt.Mb=function(t){return function(t,e){return 2==t.j[e.p]}(this.a,KR(t,10))},vq(mPt,"NetworkSimplexPlacer/lambda$25$Type",1458),Bgt(1459,1,jSt,$C),ZEt.Cd=function(t){!function(t,e,n){var i,r,a;for(r=new Dj(lN(Net(n).a.Kc(),new u));Rgt(r);)!iQ(i=KR(bQ(r),18))&&(iQ(i)||i.c.i.c!=i.d.i.c)&&(a=Wpt(t,i,n,new Rw)).c.length>1&&Dy(e.c,a)}(this.a,this.b,KR(t,10))},vq(mPt,"NetworkSimplexPlacer/lambda$26$Type",1459),Bgt(1460,1,hCt,Wa),ZEt.Mb=function(t){return XK(),!iQ(KR(t,18))},vq(mPt,"NetworkSimplexPlacer/lambda$27$Type",1460),Bgt(1461,1,hCt,Xa),ZEt.Mb=function(t){return XK(),!iQ(KR(t,18))},vq(mPt,"NetworkSimplexPlacer/lambda$28$Type",1461),Bgt(1462,1,{},Db),ZEt.Ve=function(t,e){return UI(this.a,KR(t,30),KR(e,30))},vq(mPt,"NetworkSimplexPlacer/lambda$29$Type",1462),Bgt(1436,1,{},Qa),ZEt.Kb=function(t){return XK(),new k$(null,new oq(new Dj(lN(Pet(KR(t,10)).a.Kc(),new u))))},vq(mPt,"NetworkSimplexPlacer/lambda$3$Type",1436),Bgt(1437,1,hCt,Za),ZEt.Mb=function(t){return XK(),e=KR(t,18),XK(),!(iQ(e)||!iQ(e)&&e.c.i.c==e.d.i.c);var e},vq(mPt,"NetworkSimplexPlacer/lambda$4$Type",1437),Bgt(1438,1,jSt,Pb),ZEt.Cd=function(t){!function(t,e){var n,r,a,o,s,c,l,u,h,f,d;n=CN(new yw,t.f),c=t.i[e.c.i.p],f=t.i[e.d.i.p],s=e.c,h=e.d,o=s.a.b,u=h.a.b,c.b||(o+=s.n.b),f.b||(u+=h.n.b),l=oK(i.Math.max(0,o-u)),a=oK(i.Math.max(0,u-o)),d=i.Math.max(1,KR(fut(e,(CEt(),V5t)),17).a)*VW(e.c.i.k,e.d.i.k),r=new RC(Kbt(rE(iE(nE(aE(new mw,d),a),n),KR(Oq(t.k,e.c),125))),Kbt(rE(iE(nE(aE(new mw,d),l),n),KR(Oq(t.k,e.d),125)))),t.c[e.p]=r}(this.a,KR(t,18))},vq(mPt,"NetworkSimplexPlacer/lambda$5$Type",1438),Bgt(1439,1,{},Ja),ZEt.Kb=function(t){return XK(),new k$(null,new OY(KR(t,30).a,16))},vq(mPt,"NetworkSimplexPlacer/lambda$6$Type",1439),Bgt(1440,1,hCt,to),ZEt.Mb=function(t){return XK(),KR(t,10).k==(Vut(),nXt)},vq(mPt,"NetworkSimplexPlacer/lambda$7$Type",1440),Bgt(1441,1,{},eo),ZEt.Kb=function(t){return XK(),new k$(null,new oq(new Dj(lN(Net(KR(t,10)).a.Kc(),new u))))},vq(mPt,"NetworkSimplexPlacer/lambda$8$Type",1441),Bgt(1442,1,hCt,no),ZEt.Mb=function(t){return XK(),!iQ(e=KR(t,18))&&e.c.i.c==e.d.i.c;var e},vq(mPt,"NetworkSimplexPlacer/lambda$9$Type",1442),Bgt(1424,1,hPt,ff),ZEt.rg=function(t){return KR(fut(KR(t,36),(jEt(),A1t)),21).Hc((Hmt(),qJt))?W8t:null},ZEt.Kf=function(t,e){!function(t,e){var n,r,a,o,s,c,l,u,h,f;for(e.Ug("Simple node placement",1),f=KR(fut(t,(jEt(),o0t)),312),c=0,o=new pg(t.b);o.a0?(d=(g-1)*n,s&&(d+=i),u&&(d+=i),d0&&(x-=p),e_t(s,x),f=0,g=new pg(s.a);g.a0),c.a.Xb(c.c=--c.b)),l=.4*r*f,!o&&c.b"+this.b+" ("+((null!=(t=this.c).f?t.f:""+t.g)+")");var t},ZEt.d=0,vq(kPt,"HyperEdgeSegmentDependency",132),Bgt(528,22,{3:1,34:1,22:1,528:1},tA);var x9t,k9t,_9t,T9t,E9t,S9t,C9t,A9t,M9t=Z2(kPt,"HyperEdgeSegmentDependency/DependencyType",528,bHt,(function(){return fZ(),t7(rk(M9t,1),sCt,528,0,[k9t,x9t])}),(function(t){return fZ(),Q2((PX(),_9t),t)}));Bgt(1878,1,{},Rb),vq(kPt,"HyperEdgeSegmentSplitter",1878),Bgt(1879,1,{},Uk),ZEt.a=0,ZEt.b=0,vq(kPt,"HyperEdgeSegmentSplitter/AreaRating",1879),Bgt(339,1,{339:1},wR),ZEt.a=0,ZEt.b=0,ZEt.c=0,vq(kPt,"HyperEdgeSegmentSplitter/FreeArea",339),Bgt(1880,1,iMt,go),ZEt.Ne=function(t,e){return function(t,e){return cet(t.c-t.s,e.c-e.s)}(KR(t,118),KR(e,118))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(kPt,"HyperEdgeSegmentSplitter/lambda$0$Type",1880),Bgt(1881,1,jSt,bU),ZEt.Cd=function(t){FW(this.a,this.d,this.c,this.b,KR(t,118))},ZEt.b=0,vq(kPt,"HyperEdgeSegmentSplitter/lambda$1$Type",1881),Bgt(1882,1,{},po),ZEt.Kb=function(t){return new k$(null,new OY(KR(t,118).e,16))},vq(kPt,"HyperEdgeSegmentSplitter/lambda$2$Type",1882),Bgt(1883,1,{},bo),ZEt.Kb=function(t){return new k$(null,new OY(KR(t,118).j,16))},vq(kPt,"HyperEdgeSegmentSplitter/lambda$3$Type",1883),Bgt(1884,1,{},mo),ZEt.Ye=function(t){return gx(qD(t))},vq(kPt,"HyperEdgeSegmentSplitter/lambda$4$Type",1884),Bgt(664,1,{},sq),ZEt.a=0,ZEt.b=0,ZEt.c=0,vq(kPt,"OrthogonalRoutingGenerator",664),Bgt(1703,1,{},yo),ZEt.Kb=function(t){return new k$(null,new OY(KR(t,118).e,16))},vq(kPt,"OrthogonalRoutingGenerator/lambda$0$Type",1703),Bgt(1704,1,{},wo),ZEt.Kb=function(t){return new k$(null,new OY(KR(t,118).j,16))},vq(kPt,"OrthogonalRoutingGenerator/lambda$1$Type",1704),Bgt(670,1,{}),vq(_Pt,"BaseRoutingDirectionStrategy",670),Bgt(1870,670,{},Kw),ZEt.yg=function(t,e,n){var r,a,o,s,c,l,u,h,f,d,g,p,b;if(!t.r||t.q)for(h=e+t.o*n,u=new pg(t.n);u.aGLt&&(a=t,r=new IA(f,o=h),RF(s.a,r),yvt(this,s,a,r,!1),(d=t.r)&&(r=new IA(g=gx(qD(Yrt(d.e,0))),o),RF(s.a,r),yvt(this,s,a,r,!1),a=d,r=new IA(g,o=e+d.o*n),RF(s.a,r),yvt(this,s,a,r,!1)),r=new IA(b,o),RF(s.a,r),yvt(this,s,a,r,!1)))},ZEt.zg=function(t){return t.i.n.a+t.n.a+t.a.a},ZEt.Ag=function(){return MTt(),Eue},ZEt.Bg=function(){return MTt(),cue},vq(_Pt,"NorthToSouthRoutingStrategy",1870),Bgt(1871,670,{},Yw),ZEt.yg=function(t,e,n){var r,a,o,s,c,l,u,h,f,d,g,p,b;if(!t.r||t.q)for(h=e-t.o*n,u=new pg(t.n);u.aGLt&&(a=t,r=new IA(f,o=h),RF(s.a,r),yvt(this,s,a,r,!1),(d=t.r)&&(r=new IA(g=gx(qD(Yrt(d.e,0))),o),RF(s.a,r),yvt(this,s,a,r,!1),a=d,r=new IA(g,o=e-d.o*n),RF(s.a,r),yvt(this,s,a,r,!1)),r=new IA(b,o),RF(s.a,r),yvt(this,s,a,r,!1)))},ZEt.zg=function(t){return t.i.n.a+t.n.a+t.a.a},ZEt.Ag=function(){return MTt(),cue},ZEt.Bg=function(){return MTt(),Eue},vq(_Pt,"SouthToNorthRoutingStrategy",1871),Bgt(1869,670,{},Vw),ZEt.yg=function(t,e,n){var r,a,o,s,c,l,u,h,f,d,g,p,b;if(!t.r||t.q)for(h=e+t.o*n,u=new pg(t.n);u.aGLt&&(a=t,r=new IA(o=h,f),RF(s.a,r),yvt(this,s,a,r,!0),(d=t.r)&&(r=new IA(o,g=gx(qD(Yrt(d.e,0)))),RF(s.a,r),yvt(this,s,a,r,!0),a=d,r=new IA(o=e+d.o*n,g),RF(s.a,r),yvt(this,s,a,r,!0)),r=new IA(o,b),RF(s.a,r),yvt(this,s,a,r,!0)))},ZEt.zg=function(t){return t.i.n.b+t.n.b+t.a.b},ZEt.Ag=function(){return MTt(),sue},ZEt.Bg=function(){return MTt(),Cue},vq(_Pt,"WestToEastRoutingStrategy",1869),Bgt(828,1,{},Sxt),ZEt.Ib=function(){return Tut(this.a)},ZEt.b=0,ZEt.c=!1,ZEt.d=!1,ZEt.f=0,vq(EPt,"NubSpline",828),Bgt(418,1,{418:1},bmt,YG),vq(EPt,"NubSpline/PolarCP",418),Bgt(1480,1,hPt,Kot),ZEt.rg=function(t){return function(t){var e,n;return V5(e=new EH,T9t),(n=KR(fut(t,(jEt(),A1t)),21)).Hc((Hmt(),VJt))&&V5(e,A9t),n.Hc($Jt)&&V5(e,E9t),n.Hc(KJt)&&V5(e,C9t),n.Hc(zJt)&&V5(e,S9t),e}(KR(t,36))},ZEt.Kf=function(t,e){!function(t,e,n){var r,a,o,s,c,l,u,h,f,d,g,p,b,m,y,w,v,x,k,_,T,E,S,C,A;if(n.Ug("Spline edge routing",1),0==e.b.c.length)return e.f.a=0,void n.Vg();y=gx(qD(fut(e,(CEt(),f6t)))),c=gx(qD(fut(e,a6t))),s=gx(qD(fut(e,n6t))),T=KR(fut(e,$3t),350)==(t9(),Z7t),_=gx(qD(fut(e,j3t))),t.d=e,t.j.c.length=0,t.a.c.length=0,_z(t.k),h=KM((l=KR(c$(e.b,0),30)).a,(smt(),y9t)),f=KM((p=KR(c$(e.b,e.b.c.length-1),30)).a,y9t),b=new pg(e.b),m=null,A=0;do{for(OTt(t,m,w=b.a0?(u=0,m&&(u+=c),u+=(E-1)*s,w&&(u+=c),T&&w&&(u=i.Math.max(u,Xbt(w,s,y,_))),u("+this.c+") "+this.b},ZEt.c=0,vq(EPt,"SplineEdgeRouter/Dependency",274),Bgt(465,22,{3:1,34:1,22:1,465:1},eA);var L9t,I9t,O9t,N9t=Z2(EPt,"SplineEdgeRouter/SideToProcess",465,bHt,(function(){return pK(),t7(rk(N9t,1),sCt,465,0,[L9t,I9t])}),(function(t){return pK(),Q2((BX(),O9t),t)}));Bgt(1481,1,hCt,vo),ZEt.Mb=function(t){return cmt(),!KR(t,131).o},vq(EPt,"SplineEdgeRouter/lambda$0$Type",1481),Bgt(1482,1,{},xo),ZEt.Ze=function(t){return cmt(),KR(t,131).v+1},vq(EPt,"SplineEdgeRouter/lambda$1$Type",1482),Bgt(1483,1,jSt,XC),ZEt.Cd=function(t){!function(t,e,n){LH(t.b,KR(n.b,18),e)}(this.a,this.b,KR(t,42))},vq(EPt,"SplineEdgeRouter/lambda$2$Type",1483),Bgt(1484,1,jSt,QC),ZEt.Cd=function(t){!function(t,e,n){LH(t.b,KR(n.b,18),e)}(this.a,this.b,KR(t,42))},vq(EPt,"SplineEdgeRouter/lambda$3$Type",1484),Bgt(131,1,{34:1,131:1},xft,Wkt),ZEt.Fd=function(t){return function(t,e){return t.s-e.s}(this,KR(t,131))},ZEt.b=0,ZEt.e=!1,ZEt.f=0,ZEt.g=0,ZEt.j=!1,ZEt.k=!1,ZEt.n=0,ZEt.o=!1,ZEt.p=!1,ZEt.q=!1,ZEt.s=0,ZEt.u=0,ZEt.v=0,ZEt.F=0,vq(EPt,"SplineSegment",131),Bgt(468,1,{468:1},ko),ZEt.a=0,ZEt.b=!1,ZEt.c=!1,ZEt.d=!1,ZEt.e=!1,ZEt.f=0,vq(EPt,"SplineSegment/EdgeInformation",468),Bgt(1198,1,{},_o),vq(LPt,PLt,1198),Bgt(1199,1,iMt,To),ZEt.Ne=function(t,e){return function(t,e){var n,i,r;return 0==(n=KR(fut(e,(axt(),see)),17).a-KR(fut(t,see),17).a)?(i=oB(tO(KR(fut(t,(ETt(),ate)),8)),KR(fut(t,ote),8)),r=oB(tO(KR(fut(e,ate),8)),KR(fut(e,ote),8)),cet(i.a*i.b,r.a*r.b)):n}(KR(t,121),KR(e,121))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(LPt,BLt,1199),Bgt(1197,1,{},v_),vq(LPt,"MrTree",1197),Bgt(405,22,{3:1,34:1,22:1,405:1,188:1,196:1},nA),ZEt.dg=function(){return xdt(this)},ZEt.qg=function(){return xdt(this)};var D9t,P9t,B9t,R9t,F9t,$9t=Z2(LPt,"TreeLayoutPhases",405,bHt,(function(){return pst(),t7(rk($9t,1),sCt,405,0,[D9t,P9t,B9t,R9t])}),(function(t){return pst(),Q2((e1(),F9t),t)}));Bgt(1112,205,fLt,ZP),ZEt.rf=function(t,e){var n,r,a,o,s,c,l;for(dx(zD(spt(t,(axt(),nee))))||aK(new Kg((BE(),new ix(t)))),(o=e.eh(IPt)).Ug("build tGraph",1),p6(c=new aZ,t),E7(c,(ETt(),_te),t),function(t,e,n){var r,a,o,s,c;for(o=0,a=new zO((!t.a&&(t.a=new ez(Zhe,t,10,11)),t.a));a.e!=a.i.gc();)s="",0==(!(r=KR(Frt(a),27)).n&&(r.n=new ez(Qhe,r,1,7)),r.n).i||(s=KR(l2((!r.n&&(r.n=new ez(Qhe,r,1,7)),r.n),0),135).a),p6(c=new u8(o++,e,s),r),E7(c,(ETt(),_te),r),c.e.b=r.j+r.f/2,c.f.a=i.Math.max(r.g,1),c.e.a=r.i+r.g/2,c.f.b=i.Math.max(r.f,1),RF(e.b,c),_ft(n.f,r,c)}(t,c,l=new my),function(t,e,n){var i,r,a,o,s,c,l;for(o=new zO((!t.a&&(t.a=new ez(Zhe,t,10,11)),t.a));o.e!=o.i.gc();)for(r=new Dj(lN(Ypt(a=KR(Frt(o),27)).a.Kc(),new u));Rgt(r);)!_gt(i=KR(bQ(r),74))&&!_gt(i)&&!Idt(i)&&(c=KR(FM(U$(n.f,a)),40),l=KR(Oq(n,Blt(KR(l2((!i.c&&(i.c=new bB(Uhe,i,5,8)),i.c),0),84))),40),c&&l&&(E7(s=new WU(c,l),(ETt(),_te),i),p6(s,i),RF(c.d,s),RF(l.b,s),RF(e.a,s)))}(t,c,l),s=c,o.Vg(),(o=e.eh(IPt)).Ug("Split graph",1),a=avt(this.a,s),o.Vg(),r=new pg(a);r.af&&(C=0,A+=h+_,h=0),Gwt(x,s,C,A),e=i.Math.max(e,C+k.a),h=i.Math.max(h,k.b),C+=k.a+_;for(v=new my,n=new my,E=new pg(t);E.a"+WY(e.c):"e_"+N3(e),t.b&&t.c?WY(t.b)+"->"+WY(t.c):"e_"+N3(t))}(this.a,KR(t,65))},vq(LPt,"TreeUtil/lambda$3$Type",1886),Bgt(1887,1,iMt,Eo),ZEt.Ne=function(t,e){return function(t,e){return cet(t.b.e.a,e.b.e.a)}(KR(t,65),KR(e,65))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(LPt,"TreeUtil/lambda$4$Type",1887),Bgt(1888,1,hCt,zb),ZEt.Mb=function(t){return function(t,e){return _B(e.b&&e.c?WY(e.b)+"->"+WY(e.c):"e_"+N3(e),t.b&&t.c?WY(t.b)+"->"+WY(t.c):"e_"+N3(t))}(this.a,KR(t,65))},vq(LPt,"TreeUtil/lambda$7$Type",1888),Bgt(1889,1,iMt,Mo),ZEt.Ne=function(t,e){return function(t,e){return cet(t.c.e.a,e.c.e.a)}(KR(t,65),KR(e,65))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(LPt,"TreeUtil/lambda$8$Type",1889),Bgt(1890,1,{},Lo),ZEt.Kb=function(t){return KR(t,65).b},vq(LPt,"TreeUtil/lambda$9$Type",1890),Bgt(508,137,{3:1,508:1,96:1,137:1}),ZEt.g=0,vq(NPt,"TGraphElement",508),Bgt(65,508,{3:1,65:1,508:1,96:1,137:1},WU),ZEt.Ib=function(){return this.b&&this.c?WY(this.b)+"->"+WY(this.c):"e_"+N3(this)},vq(NPt,"TEdge",65),Bgt(121,137,{3:1,121:1,96:1,137:1},aZ),ZEt.Ib=function(){var t,e,n,i,r;for(r=null,i=Mrt(this.b,0);i.b!=i.d.c;)r+=(null==(n=KR(gW(i),40)).c||0==n.c.length?"n_"+n.g:"n_"+n.c)+"\n";for(e=Mrt(this.a,0);e.b!=e.d.c;)r+=((t=KR(gW(e),65)).b&&t.c?WY(t.b)+"->"+WY(t.c):"e_"+N3(t))+"\n";return r};var j9t=vq(NPt,"TGraph",121);Bgt(643,508,{3:1,508:1,643:1,96:1,137:1}),vq(NPt,"TShape",643),Bgt(40,643,{3:1,508:1,40:1,643:1,96:1,137:1},u8),ZEt.Ib=function(){return WY(this)};var z9t=vq(NPt,"TNode",40);Bgt(236,1,GSt,qb),ZEt.Jc=function(t){UX(this,t)},ZEt.Kc=function(){return new Hb(Mrt(this.a.d,0))},vq(NPt,"TNode/2",236),Bgt(329,1,TSt,Hb),ZEt.Nb=function(t){bz(this,t)},ZEt.Pb=function(){return KR(gW(this.a),65).c},ZEt.Ob=function(){return C_(this.a)},ZEt.Qb=function(){H0(this.a)},vq(NPt,"TNode/2/1",329),Bgt(1923,1,jIt,Io),ZEt.Kf=function(t,e){MEt(this,KR(t,121),e)},vq(PPt,"CompactionProcessor",1923),Bgt(1924,1,iMt,Ub),ZEt.Ne=function(t,e){return function(t,e,n){return cet(_O(Srt(t),new IA(e.e.a,e.e.b)),_O(Srt(t),new IA(n.e.a,n.e.b)))}(this.a,KR(t,40),KR(e,40))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(PPt,"CompactionProcessor/lambda$0$Type",1924),Bgt(1925,1,hCt,JC),ZEt.Mb=function(t){return function(t,e,n){return gx(qD(n.a))<=t&&gx(qD(n.b))>=e}(this.b,this.a,KR(t,42))},ZEt.a=0,ZEt.b=0,vq(PPt,"CompactionProcessor/lambda$1$Type",1925),Bgt(1934,1,iMt,Oo),ZEt.Ne=function(t,e){return function(t,e){return cet(t.e.a+t.f.a,e.e.a+e.f.a)}(KR(t,40),KR(e,40))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(PPt,"CompactionProcessor/lambda$10$Type",1934),Bgt(1935,1,iMt,No),ZEt.Ne=function(t,e){return function(t,e){return cet(t.e.b,e.e.b)}(KR(t,40),KR(e,40))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(PPt,"CompactionProcessor/lambda$11$Type",1935),Bgt(1936,1,iMt,Do),ZEt.Ne=function(t,e){return function(t,e){return cet(t.e.b+t.f.b,e.e.b+e.f.b)}(KR(t,40),KR(e,40))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(PPt,"CompactionProcessor/lambda$12$Type",1936),Bgt(1926,1,hCt,Gb),ZEt.Mb=function(t){return function(t,e){return gx(qD(e.a))<=t}(this.a,KR(t,42))},ZEt.a=0,vq(PPt,"CompactionProcessor/lambda$2$Type",1926),Bgt(1927,1,hCt,Kb),ZEt.Mb=function(t){return function(t,e){return gx(qD(e.a))>=t}(this.a,KR(t,42))},ZEt.a=0,vq(PPt,"CompactionProcessor/lambda$3$Type",1927),Bgt(1928,1,hCt,Po),ZEt.Mb=function(t){return-1==KR(t,40).c.indexOf(OPt)},vq(PPt,"CompactionProcessor/lambda$4$Type",1928),Bgt(1929,1,{},Yb),ZEt.Kb=function(t){return function(t,e){return new xR(e,vD(tO(e.e),t,t),(FN(),!0))}(this.a,KR(t,40))},ZEt.a=0,vq(PPt,"CompactionProcessor/lambda$5$Type",1929),Bgt(1930,1,{},Vb),ZEt.Kb=function(t){return function(t,e){return new xR(e,bD(tO(e.e),e.f.a+t,e.f.b+t),(FN(),!1))}(this.a,KR(t,40))},ZEt.a=0,vq(PPt,"CompactionProcessor/lambda$6$Type",1930),Bgt(1931,1,iMt,Wb),ZEt.Ne=function(t,e){return function(t,e,n){return cet(_O(Srt(t),tO(e.b)),_O(Srt(t),tO(n.b)))}(this.a,KR(t,240),KR(e,240))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(PPt,"CompactionProcessor/lambda$7$Type",1931),Bgt(1932,1,iMt,Xb),ZEt.Ne=function(t,e){return function(t,e,n){return cet(_O(Srt(t),tO(e.e)),_O(Srt(t),tO(n.e)))}(this.a,KR(t,40),KR(e,40))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(PPt,"CompactionProcessor/lambda$8$Type",1932),Bgt(1933,1,iMt,Bo),ZEt.Ne=function(t,e){return function(t,e){return cet(t.e.a,e.e.a)}(KR(t,40),KR(e,40))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(PPt,"CompactionProcessor/lambda$9$Type",1933),Bgt(1921,1,jIt,Ro),ZEt.Kf=function(t,e){!function(t,e){var n,i,r,a,o,s,c;if(e.Ug("Process directions",1),(n=KR(fut(t,(axt(),Gte)),88))!=(jtt(),Rce))for(r=Mrt(t.b,0);r.b!=r.d.c;){switch(i=KR(gW(r),40),s=KR(fut(i,(ETt(),Lte)),17).a,c=KR(fut(i,Ite),17).a,n.g){case 4:c*=-1;break;case 1:a=s,s=c,c=a;break;case 2:o=s,s=-c,c=o}E7(i,Lte,ttt(s)),E7(i,Ite,ttt(c))}e.Vg()}(KR(t,121),e)},vq(PPt,"DirectionProcessor",1921),Bgt(1913,1,jIt,QP),ZEt.Kf=function(t,e){vvt(this,KR(t,121),e)},vq(PPt,"FanProcessor",1913),Bgt(1937,1,jIt,Fo),ZEt.Kf=function(t,e){!function(t,e){e.Ug("Process graph bounds",1),E7(t,(ETt(),dte),HC(c5(rU(new k$(null,new OY(t.b,16)),new $o)))),E7(t,pte,HC(c5(rU(new k$(null,new OY(t.b,16)),new jo)))),E7(t,fte,HC(s5(rU(new k$(null,new OY(t.b,16)),new zo)))),E7(t,gte,HC(s5(rU(new k$(null,new OY(t.b,16)),new qo)))),e.Vg()}(KR(t,121),e)},vq(PPt,"GraphBoundsProcessor",1937),Bgt(1938,1,{},$o),ZEt.Ye=function(t){return KR(t,40).e.a},vq(PPt,"GraphBoundsProcessor/lambda$0$Type",1938),Bgt(1939,1,{},jo),ZEt.Ye=function(t){return KR(t,40).e.b},vq(PPt,"GraphBoundsProcessor/lambda$1$Type",1939),Bgt(1940,1,{},zo),ZEt.Ye=function(t){return(e=KR(t,40)).e.a+e.f.a;var e},vq(PPt,"GraphBoundsProcessor/lambda$2$Type",1940),Bgt(1941,1,{},qo),ZEt.Ye=function(t){return(e=KR(t,40)).e.b+e.f.b;var e},vq(PPt,"GraphBoundsProcessor/lambda$3$Type",1941),Bgt(262,22,{3:1,34:1,22:1,262:1,196:1},iA),ZEt.dg=function(){switch(this.g){case 0:return new yv;case 1:return new QP;case 2:return new mv;case 3:return new Yo;case 4:return new Uo;case 8:return new Ho;case 5:return new Ro;case 6:return new Wo;case 7:return new Io;case 9:return new Fo;case 10:return new Xo;default:throw Ay(new Tx(lOt+(null!=this.f?this.f:""+this.g)))}};var q9t,H9t,U9t,G9t,K9t,Y9t,V9t,W9t,X9t,Q9t,Z9t,J9t,tte=Z2(PPt,uOt,262,bHt,j5,(function(t){return Awt(),Q2((pL(),J9t),t)}));Bgt(1920,1,jIt,Ho),ZEt.Kf=function(t,e){!function(t,e){var n,i,r,a,o;for(e.Ug("Processor determine the coords for each level",1),i=new yy,o=Mrt(t.b,0);o.b!=o.d.c;){for(r=KR(gW(o),40);KR(fut(r,(axt(),mee)),17).a>i.c.length-1;)SO(i,new rM(ILt,DPt));n=KR(fut(r,mee),17).a,tI(KR(fut(t,Gte),88))?(r.e.agx(qD((LY(n,i.c.length),KR(i.c[n],42)).b))&&Gd((LY(n,i.c.length),KR(i.c[n],42)),r.e.a+r.f.a)):(r.e.bgx(qD((LY(n,i.c.length),KR(i.c[n],42)).b))&&Gd((LY(n,i.c.length),KR(i.c[n],42)),r.e.b+r.f.b))}for(a=Mrt(t.b,0);a.b!=a.d.c;)r=KR(gW(a),40),n=KR(fut(r,(axt(),mee)),17).a,E7(r,(ETt(),xte),qD((LY(n,i.c.length),KR(i.c[n],42)).a)),E7(r,vte,qD((LY(n,i.c.length),KR(i.c[n],42)).b));e.Vg()}(KR(t,121),e)},vq(PPt,"LevelCoordinatesProcessor",1920),Bgt(1918,1,jIt,Uo),ZEt.Kf=function(t,e){xbt(this,KR(t,121),e)},ZEt.a=0,vq(PPt,"LevelHeightProcessor",1918),Bgt(1919,1,GSt,Go),ZEt.Jc=function(t){UX(this,t)},ZEt.Kc=function(){return QU(),qT(),BUt},vq(PPt,"LevelHeightProcessor/1",1919),Bgt(1914,1,jIt,mv),ZEt.Kf=function(t,e){Qmt(this,KR(t,121),e)},vq(PPt,"LevelProcessor",1914),Bgt(1915,1,hCt,Ko),ZEt.Mb=function(t){return dx(zD(fut(KR(t,40),(ETt(),Mte))))},vq(PPt,"LevelProcessor/lambda$0$Type",1915),Bgt(1916,1,jIt,Yo),ZEt.Kf=function(t,e){dft(this,KR(t,121),e)},ZEt.a=0,vq(PPt,"NeighborsProcessor",1916),Bgt(1917,1,GSt,Vo),ZEt.Jc=function(t){UX(this,t)},ZEt.Kc=function(){return QU(),qT(),BUt},vq(PPt,"NeighborsProcessor/1",1917),Bgt(1922,1,jIt,Wo),ZEt.Kf=function(t,e){!function(t,e,n){var i,r,a,o,s,c,l,u,h;for(n.Ug("Processor set coordinates",1),t.a=0==e.b.b?1:e.b.b,l=null,i=Mrt(e.b,0);!l&&i.b!=i.d.c;)dx(zD(fut(h=KR(gW(i),40),(ETt(),Mte))))&&(l=h,(c=h.e).a=KR(fut(h,Lte),17).a,c.b=KR(fut(h,Ite),17).a);s=K6(l),u=1;do{u=(s=Fut((r=s,n.eh(u),r))).b/t.a|0}while(0!=s.b);for(o=Mrt(e.b,0);o.b!=o.d.c;)oB((a=KR(gW(o),40)).e,new IA(a.f.a/2,a.f.b/2));n.Vg()}(this,KR(t,121),e)},ZEt.a=0,vq(PPt,"NodePositionProcessor",1922),Bgt(1912,1,jIt,yv),ZEt.Kf=function(t,e){!function(t,e,n){var i,r,a,o,s,c,l;for(n.Ug("Find roots",1),t.a.c.length=0,r=Mrt(e.b,0);r.b!=r.d.c;)0==(i=KR(gW(r),40)).b.b&&(E7(i,(ETt(),Mte),(FN(),!0)),SO(t.a,i));switch(t.a.c.length){case 0:E7(a=new u8(0,e,"DUMMY_ROOT"),(ETt(),Mte),(FN(),!0)),E7(a,ute,!0),RF(e.b,a);break;case 1:break;default:for(o=new u8(0,e,OPt),c=new pg(t.a);c.a=0}(this.a,KR(t,40))},vq(ZPt,"NodeOrderer/lambda$2$Type",1490),Bgt(1491,1,hCt,Qb),ZEt.Mb=function(t){return function(t,e){return p2(),KR(fut(e,(axt(),oee)),17).a>=t.gc()}(this.a,KR(t,40))},vq(ZPt,"NodeOrderer/lambda$3$Type",1491),Bgt(1492,1,iMt,ps),ZEt.Ne=function(t,e){return function(t,e){return p2(),-$I(KR(fut(t,(axt(),oee)),17).a,KR(fut(e,oee),17).a)}(KR(t,40),KR(e,40))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(ZPt,"NodeOrderer/lambda$4$Type",1492),Bgt(1493,1,hCt,bs),ZEt.Mb=function(t){return p2(),0!=KR(fut(KR(t,40),(ETt(),hte)),17).a},vq(ZPt,"NodeOrderer/lambda$5$Type",1493),Bgt(1495,1,hPt,bf),ZEt.rg=function(t){return KR(t,121),Iee},ZEt.Kf=function(t,e){Ywt(this,KR(t,121),e)},ZEt.b=0,vq("org.eclipse.elk.alg.mrtree.p3place","NodePlacer",1495),Bgt(1496,1,hPt,pf),ZEt.rg=function(t){return KR(t,121),Oee},ZEt.Kf=function(t,e){mwt(KR(t,121),e)},vq(JPt,"EdgeRouter",1496),Bgt(1498,1,iMt,fs),ZEt.Ne=function(t,e){return $I(KR(t,17).a,KR(e,17).a)},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(JPt,"EdgeRouter/0methodref$compare$Type",1498),Bgt(1503,1,{},Jo),ZEt.Ye=function(t){return gx(qD(t))},vq(JPt,"EdgeRouter/1methodref$doubleValue$Type",1503),Bgt(1505,1,iMt,ts),ZEt.Ne=function(t,e){return cet(gx(qD(t)),gx(qD(e)))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(JPt,"EdgeRouter/2methodref$compare$Type",1505),Bgt(1507,1,iMt,es),ZEt.Ne=function(t,e){return cet(gx(qD(t)),gx(qD(e)))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(JPt,"EdgeRouter/3methodref$compare$Type",1507),Bgt(1509,1,{},Zo),ZEt.Ye=function(t){return gx(qD(t))},vq(JPt,"EdgeRouter/4methodref$doubleValue$Type",1509),Bgt(1511,1,iMt,ns),ZEt.Ne=function(t,e){return cet(gx(qD(t)),gx(qD(e)))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(JPt,"EdgeRouter/5methodref$compare$Type",1511),Bgt(1513,1,iMt,is),ZEt.Ne=function(t,e){return cet(gx(qD(t)),gx(qD(e)))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(JPt,"EdgeRouter/6methodref$compare$Type",1513),Bgt(1497,1,{},rs),ZEt.Kb=function(t){return b2(),KR(fut(KR(t,40),(axt(),mee)),17)},vq(JPt,"EdgeRouter/lambda$0$Type",1497),Bgt(1508,1,{},as),ZEt.Kb=function(t){return e=KR(t,40),b2(),e.e.a+e.f.a/2;var e},vq(JPt,"EdgeRouter/lambda$11$Type",1508),Bgt(1510,1,{},TA),ZEt.Kb=function(t){return function(t,e,n){return b2(),n.e.a+n.f.a+t*e}(this.b,this.a,KR(t,40))},ZEt.a=0,ZEt.b=0,vq(JPt,"EdgeRouter/lambda$13$Type",1510),Bgt(1512,1,{},EA),ZEt.Kb=function(t){return function(t,e,n){return b2(),n.e.a-t*e}(this.b,this.a,KR(t,40))},ZEt.a=0,ZEt.b=0,vq(JPt,"EdgeRouter/lambda$15$Type",1512),Bgt(1514,1,iMt,os),ZEt.Ne=function(t,e){return function(t,e){return b2(),cet((0==t.a.b?new IA(t.c.e.a,t.c.e.b):KR(aD(t.a),8)).b,(0==e.a.b?new IA(e.c.e.a,e.c.e.b):KR(aD(e.a),8)).b)}(KR(t,65),KR(e,65))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(JPt,"EdgeRouter/lambda$17$Type",1514),Bgt(1515,1,iMt,ss),ZEt.Ne=function(t,e){return function(t,e){return b2(),cet((0==t.a.b?new IA(t.c.e.a,t.c.e.b):KR(aD(t.a),8)).a,(0==e.a.b?new IA(e.c.e.a,e.c.e.b):KR(aD(e.a),8)).a)}(KR(t,65),KR(e,65))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(JPt,"EdgeRouter/lambda$18$Type",1515),Bgt(1516,1,iMt,cs),ZEt.Ne=function(t,e){return function(t,e){return b2(),cet((0==t.a.b?new IA(t.b.e.a,t.b.e.b):KR(oD(t.a),8)).b,(0==e.a.b?new IA(e.b.e.a,e.b.e.b):KR(oD(e.a),8)).b)}(KR(t,65),KR(e,65))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(JPt,"EdgeRouter/lambda$19$Type",1516),Bgt(1499,1,hCt,Jb),ZEt.Mb=function(t){return function(t,e){return b2(),KR(fut(e,(axt(),mee)),17).a==t}(this.a,KR(t,40))},ZEt.a=0,vq(JPt,"EdgeRouter/lambda$2$Type",1499),Bgt(1517,1,iMt,ls),ZEt.Ne=function(t,e){return function(t,e){return b2(),cet((0==t.a.b?new IA(t.b.e.a,t.b.e.b):KR(oD(t.a),8)).a,(0==e.a.b?new IA(e.b.e.a,e.b.e.b):KR(oD(e.a),8)).a)}(KR(t,65),KR(e,65))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(JPt,"EdgeRouter/lambda$20$Type",1517),Bgt(1500,1,iMt,us),ZEt.Ne=function(t,e){return function(t,e){return b2(),cet(t.e.b,e.e.b)}(KR(t,40),KR(e,40))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(JPt,"EdgeRouter/lambda$3$Type",1500),Bgt(1501,1,iMt,hs),ZEt.Ne=function(t,e){return function(t,e){return b2(),cet(t.e.a,e.e.a)}(KR(t,40),KR(e,40))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(JPt,"EdgeRouter/lambda$4$Type",1501),Bgt(1502,1,{},ms),ZEt.Kb=function(t){return e=KR(t,40),b2(),e.e.b+e.f.b/2;var e},vq(JPt,"EdgeRouter/lambda$5$Type",1502),Bgt(1504,1,{},SA),ZEt.Kb=function(t){return function(t,e,n){return b2(),n.e.b+n.f.b+t*e}(this.b,this.a,KR(t,40))},ZEt.a=0,ZEt.b=0,vq(JPt,"EdgeRouter/lambda$7$Type",1504),Bgt(1506,1,{},CA),ZEt.Kb=function(t){return function(t,e,n){return b2(),n.e.b-t*e}(this.b,this.a,KR(t,40))},ZEt.a=0,ZEt.b=0,vq(JPt,"EdgeRouter/lambda$9$Type",1506),Bgt(675,1,{675:1},yot),ZEt.e=0,ZEt.f=!1,ZEt.g=!1,vq(JPt,"MultiLevelEdgeNodeNodeGap",675),Bgt(1943,1,iMt,ys),ZEt.Ne=function(t,e){return function(t,e){return cet(KR(t.c,65).c.e.b,KR(e.c,65).c.e.b)}(KR(t,240),KR(e,240))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(JPt,"MultiLevelEdgeNodeNodeGap/lambda$0$Type",1943),Bgt(1944,1,iMt,ws),ZEt.Ne=function(t,e){return function(t,e){return cet(KR(t.c,65).c.e.a,KR(e.c,65).c.e.a)}(KR(t,240),KR(e,240))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(JPt,"MultiLevelEdgeNodeNodeGap/lambda$1$Type",1944),Bgt(501,22,{3:1,34:1,22:1,501:1,188:1,196:1},sA),ZEt.dg=function(){return dnt(this)},ZEt.qg=function(){return dnt(this)};var Pee,Bee,Ree,Fee=Z2(tBt,"RadialLayoutPhases",501,bHt,(function(){return h3(),t7(rk(Fee,1),sCt,501,0,[Pee,Bee])}),(function(t){return h3(),Q2((OX(),Ree),t)}));Bgt(1113,205,fLt,w_),ZEt.rf=function(t,e){var n,i,r,a;if(n=Vbt(this,t),e.Ug("Radial layout",n.c.length),dx(zD(spt(t,(pht(),_ne))))||aK(new Kg((BE(),new ix(t)))),a=function(t){var e,n;for(n=new zO((!t.a&&(t.a=new ez(Zhe,t,10,11)),t.a));n.e!=n.i.gc();)if(!Rgt(new Dj(lN(Kpt(e=KR(Frt(n),27)).a.Kc(),new u))))return e;return null}(t),nat(t,(XD(),Nee),a),!a)throw Ay(new Tx("The given graph is not a tree!"));for(0==(i=gx(qD(spt(t,Ane))))&&(i=sdt(t)),nat(t,Ane,i),r=new pg(Vbt(this,t));r.aeBt&&(a-=eBt),u=(c=KR(spt(r,rce),8)).a,f=c.b+t,(o=i.Math.atan2(f,u))<0&&(o+=eBt),(o+=e)>eBt&&(o-=eBt),CI(),p4(1e-10),i.Math.abs(a-o)<=1e-10||a==o||isNaN(a)&&isNaN(o)?0:ao?1:DL(isNaN(a),isNaN(o))}(this.a,this.b,KR(t,27),KR(e,27))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},ZEt.a=0,ZEt.b=0,vq(tBt,"RadialUtil/lambda$0$Type",556),Bgt(1395,1,jIt,vs),ZEt.Kf=function(t,e){!function(t,e){var n,r,a,o,s,c,l,u,h,f,d,g,p,b,m,y,w,v,x,k,_,T,E,S;for(e.Ug("Calculate Graph Size",1),e.dh(t,nBt),f=ILt,d=ILt,u=iBt,h=iBt,b=new zO((!t.a&&(t.a=new ez(Zhe,t,10,11)),t.a));b.e!=b.i.gc();)w=(g=KR(Frt(b),27)).i,v=g.j,S=g.g,c=g.f,l=KR(spt(g,(zEt(),vse)),140),f=i.Math.min(f,w-l.b),d=i.Math.min(d,v-l.d),u=i.Math.max(u,w+S+l.c),h=i.Math.max(h,v+c+l.a);for(m=new IA(f-(y=KR(spt(t,(zEt(),Pse)),107)).b,d-y.d),E=u-f+(y.b+y.c),s=h-d+(y.d+y.a),dx(zD(spt(t,(pht(),bne))))&&(x=KR(spt(t,(XD(),Nee)),27),k=KR(spt(x,vse),140),_=x.i+x.g/2+(k.b+k.c)/2-m.a,o=s-(T=x.j+x.f/2+(k.d+k.a)/2-m.b),(a=E-_)=3)for(w=KR(l2(m,0),27),v=KR(l2(m,1),27),r=0;r+2=w.f+v.f+c||v.f>=y.f+w.f+c){x=!0;break}++r}else x=!0;if(!x){for(u=m.i,a=new zO(m);a.e!=a.i.gc();)nat(KR(Frt(a),27),(zEt(),ace),ttt(u)),--u;return nxt(t,new vv),void e.Vg()}for(GH(this.a),Fz(this.a,(oit(),Vne),KR(spt(t,rre),188)),Fz(this.a,Wne,KR(spt(t,Wie),188)),Fz(this.a,Xne,KR(spt(t,ere),188)),HL(this.a,(QF(_=new EH,Vne,(vat(),eie)),QF(_,Wne,tie),dx(zD(spt(t,Fie)))&&QF(_,Vne,Jne),_)),s=1/(n=n_t(this.a,t)).c.length,f=new pg(n);f.ai?1:0}(KR(t,27),KR(e,27))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(NBt,"InteractiveNodeReorderer/lambda$0$Type",1519),Bgt(456,22,{3:1,34:1,22:1,456:1,196:1},gA),ZEt.dg=function(){switch(this.g){case 0:return new Ps;case 1:return new Fs;case 2:return new Rs}return null};var Jne,tie,eie,nie,iie,rie,aie,oie,sie,cie,lie,uie,hie,fie,die,gie=Z2(NBt,uOt,456,bHt,(function(){return vat(),t7(rk(gie,1),sCt,456,0,[Jne,eie,tie])}),(function(t){return vat(),Q2((OZ(),nie),t)}));Bgt(1521,1,jIt,Rs),ZEt.Kf=function(t,e){!function(t,e){e.Ug("Min Size Postprocessing",1),nat(t,(Dyt(),die),i.Math.max(gx(qD(spt(t,die))),gx(qD(spt(t,hie))))),e.Vg()}(KR(t,27),e)},vq(NBt,"MinSizePostProcessor",1521),Bgt(1520,1,jIt,Fs),ZEt.Kf=function(t,e){!function(t,e){var n;e.Ug("Min Size Preprocessing",1),n=gft(t),nat(t,(Dyt(),hie),n.a),nat(t,cie,n.b),e.Vg()}(KR(t,27),e)},vq(NBt,"MinSizePreProcessor",1520),Bgt(394,22,{3:1,34:1,22:1,394:1},pA);var pie,bie,mie,yie,wie,vie,xie,kie,_ie,Tie,Eie,Sie,Cie,Aie,Mie,Lie,Iie,Oie,Nie,Die,Pie,Bie,Rie,Fie,$ie,jie,zie,qie,Hie,Uie,Gie,Kie,Yie,Vie,Wie,Xie,Qie,Zie,Jie,tre,ere,nre,ire,rre,are,ore=Z2(DBt,"OptimizationGoal",394,bHt,(function(){return Oet(),t7(rk(ore,1),sCt,394,0,[bie,mie,pie])}),(function(t){return Oet(),Q2((NZ(),yie),t)}));Bgt(867,1,AMt,kf),ZEt.hf=function(t){jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,PBt),""),"Try box layout first"),"Whether one should check whether the regions are stackable to see whether box layout would do the job. For example, nodes with the same height are not stackable inside a row. Therefore, box layout will perform better and faster."),(FN(),!1)),(Kht(),eoe)),KHt),fet((Art(),Qae))))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,BBt),""),"Current position of a node in the order of nodes"),"The rectangles are ordered. Normally according to their definition the the model. This option specifies the current position of a node."),ttt(-1)),aoe),nUt),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,RBt),""),"Desired index of node"),"The rectangles are ordered. Normally according to their definition the the model. This option allows to specify a desired position that has preference over the original position."),ttt(-1)),aoe),nUt),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,FBt),""),"In new Row"),"If set to true this node begins in a new row. Consequently this node cannot be moved in a previous layer during compaction. Width approximation does does not take this into account."),!1),eoe),KHt),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,$Bt),YBt),"Width Approximation Strategy"),"Strategy for finding an initial width of the drawing."),Oie),ioe),hre),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,jBt),YBt),"Target Width"),"Option to place the rectangles in the given target width instead of approximating the width using the desired aspect ratio. The padding is not included in this. Meaning a drawing will have width of targetwidth + horizontal padding."),-1),noe),ZHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,zBt),YBt),"Optimization Goal"),"Optimization goal for approximation of the bounding box given by the first iteration. Determines whether layout is sorted by the maximum scaling, aspect ratio, or area. Depending on the strategy the aspect ratio might be nearly ignored."),Lie),ioe),ore),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,qBt),YBt),"Shift Last Placed."),"When placing a rectangle behind or below the last placed rectangle in the first iteration, it is sometimes possible to shift the rectangle further to the left or right, resulting in less whitespace. True (default) enables the shift and false disables it. Disabling the shift produces a greater approximated area by the first iteration and a layout, when using ONLY the first iteration (default not the case), where it is sometimes impossible to implement a size transformation of rectangles that will fill the bounding box and eliminate empty spaces."),!0),eoe),KHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,HBt),"packing"),VBt),"Strategy for finding an initial placement on nodes."),Eie),ioe),bre),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,UBt),WBt),"Row Height Reevaluation"),"During the compaction step the height of a row is normally not changed. If this options is set, the blocks of other rows might be added if they exceed the row height. If this is the case the whole row has to be packed again to be optimal regarding the new row height. This option should, therefore, be used with care since it might be computation heavy."),!1),eoe),KHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,GBt),WBt),"Compaction iterations"),"Defines the number of compaction iterations. E.g. if set to 2 the width is initially approximated, then the drawing is compacted and based on the resulting drawing the target width is decreased or increased and a second compaction step is executed and the result compared to the first one. The best run is used based on the scale measure."),ttt(1)),aoe),nUt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,KBt),"whiteSpaceElimination"),"White Space Approximation Strategy"),"Strategy for expanding nodes such that whitespace in the parent is eliminated."),ioe),vre),fet(Qae)))),wEt((new _f,t))},vq(DBt,"RectPackingMetaDataProvider",867),Bgt(1016,1,AMt,_f),ZEt.hf=function(t){wEt(t)},vq(DBt,"RectPackingOptions",1016),Bgt(1017,1,{},$s),ZEt.sf=function(){return new x_},ZEt.tf=function(t){},vq(DBt,"RectPackingOptions/RectpackingFactory",1017),Bgt(1705,1,{},vR),ZEt.a=0,ZEt.c=!1,vq(QBt,"AreaApproximation",1705);var sre=WF(QBt,"BestCandidateFilter");Bgt(673,1,{535:1},js),ZEt.Hg=function(t,e,n){var r,a,o,s,c,l;for(l=new yy,o=fAt,c=new pg(t);c.a1;){if(a=kbt(e),f=o.g,p=KR(spt(e,Xie),107),b=gx(qD(spt(e,Die))),(!e.a&&(e.a=new ez(Zhe,e,10,11)),e.a).i>1&&gx(qD(spt(e,(Dyt(),uie))))!=fAt&&(o.c+(p.b+p.c))/(o.b+(p.d+p.a))1&&gx(qD(spt(e,(Dyt(),lie))))!=fAt&&(o.c+(p.b+p.c))/(o.b+(p.d+p.a))>b&&nat(a,(Dyt(),die),i.Math.max(gx(qD(spt(e,hie))),gx(qD(spt(a,die)))-gx(qD(spt(e,lie))))),(u=(l=EEt(g=new AA(r,h),a,d)).g)>=f&&u==u){for(s=0;s<(!a.a&&(a.a=new ez(Zhe,a,10,11)),a.a).i;s++)wdt(t,KR(l2((!a.a&&(a.a=new ez(Zhe,a,10,11)),a.a),s),27),KR(l2((!e.a&&(e.a=new ez(Zhe,e,10,11)),e.a),s),27));X0(e,g),KG(o,l.c),GG(o,l.b)}--c}nat(e,(Dyt(),rie),o.b),nat(e,aie,o.c),n.Vg()}(this,KR(t,27),e)},vq(ZBt,"Compactor",1471),Bgt(1473,1,hPt,Ks),ZEt.rg=function(t){return KR(t,27),null},ZEt.Kf=function(t,e){Zbt(KR(t,27),e)},vq(ZBt,"NoPlacement",1473),Bgt(439,22,{3:1,34:1,22:1,439:1,188:1,196:1},mA),ZEt.dg=function(){return X9(this)},ZEt.qg=function(){return X9(this)};var fre,dre,gre,pre,bre=Z2(ZBt,"PackingStrategy",439,bHt,(function(){return s1(),t7(rk(bre,1),sCt,439,0,[fre,gre,dre])}),(function(t){return s1(),Q2((DZ(),pre),t)}));Bgt(810,1,{},AA),ZEt.a=0,ZEt.b=0,ZEt.c=0,ZEt.d=fAt,ZEt.e=0,ZEt.f=fAt,vq(ZBt,"RowFillingAndCompaction",810),Bgt(1472,1,hPt,Ys),ZEt.rg=function(t){return KR(t,27),null},ZEt.Kf=function(t,e){!function(t,e){var n,r,a,o,s,c,l,u,h,f,d,g,p;for(e.Ug(JBt,1),g=gx(qD(spt(t,(Dyt(),die)))),s=gx(qD(spt(t,(ayt(),Jie)))),c=KR(spt(t,Xie),107),S3((!t.a&&(t.a=new ez(Zhe,t,10,11)),t.a)),h=Fkt((!t.a&&(t.a=new ez(Zhe,t,10,11)),t.a),g,s),!t.a&&(t.a=new ez(Zhe,t,10,11)),u=new pg(h);u.a1)for(i=new pg(t.a);i.a>>28]|e[t>>24&15]<<4|e[t>>20&15]<<8|e[t>>16&15]<<12|e[t>>12&15]<<16|e[t>>8&15]<<20|e[t>>4&15]<<24|e[15&t]<<28);var t,e},ZEt.cg=function(t){var e,n,i;for(n=0;n0&&T9((IY(e-1,t.length),t.charCodeAt(e-1)),WIt);)--e;if(n>=e)throw Ay(new Tx("The given string does not contain any numbers."));if(2!=(i=rxt((tJ(n,e,t.length),t.substr(n,e-n)),",|;|\r|\n")).length)throw Ay(new Tx("Exactly two numbers are expected, "+i.length+" were found."));try{this.a=Xut(bft(i[0])),this.b=Xut(bft(i[1]))}catch(t){throw rO(t=j6(t),130)?Ay(new Tx(XIt+t)):Ay(t)}},ZEt.Ib=function(){return"("+this.a+","+this.b+")"},ZEt.a=0,ZEt.b=0;var doe=vq(QIt,"KVector",8);Bgt(75,67,{3:1,4:1,20:1,31:1,56:1,16:1,67:1,15:1,75:1,423:1},Zw,Pk,xD),ZEt.Pc=function(){return function(t){var e,n,i;for(e=0,i=WZ(doe,RSt,8,t.b,0,1),n=Mrt(t,0);n.b!=n.d.c;)i[e++]=KR(gW(n),8);return i}(this)},ZEt.cg=function(t){var e,n,i,r,a;n=rxt(t,",|;|\\(|\\)|\\[|\\]|\\{|\\}| |\t|\n"),FU(this);try{for(e=0,r=0,i=0,a=0;e0&&(r%2==0?i=Xut(n[e]):a=Xut(n[e]),r>0&&r%2!=0&&RF(this,new IA(i,a)),++r),++e}catch(t){throw rO(t=j6(t),130)?Ay(new Tx("The given string does not match the expected format for vectors."+t)):Ay(t)}},ZEt.Ib=function(){var t,e,n;for(t=new pN("("),e=Mrt(this,0);e.b!=e.d.c;)tL(t,(n=KR(gW(e),8)).a+","+n.b),e.b!=e.d.c&&(t.a+="; ");return(t.a+=")",t).a};var goe=vq(QIt,"KVectorChain",75);Bgt(255,22,{3:1,34:1,22:1,255:1},OA);var poe,boe,moe,yoe,woe,voe,xoe,koe,_oe,Toe,Eoe,Soe,Coe,Aoe,Moe,Loe,Ioe,Ooe,Noe,Doe=Z2(NRt,"Alignment",255,bHt,(function(){return xat(),t7(rk(Doe,1),sCt,255,0,[poe,yoe,woe,voe,boe,moe])}),(function(t){return xat(),Q2((k2(),xoe),t)}));Bgt(991,1,AMt,Mf),ZEt.hf=function(t){xvt(t)},vq(NRt,"BoxLayouterOptions",991),Bgt(992,1,{},Pc),ZEt.sf=function(){return new Fc},ZEt.tf=function(t){},vq(NRt,"BoxLayouterOptions/BoxFactory",992),Bgt(298,22,{3:1,34:1,22:1,298:1},PA);var Poe,Boe,Roe,Foe,$oe,joe,zoe,qoe,Hoe,Uoe,Goe,Koe,Yoe,Voe,Woe,Xoe,Qoe,Zoe,Joe,tse,ese,nse,ise,rse,ase,ose,sse,cse,lse,use,hse,fse,dse,gse,pse,bse,mse,yse,wse,vse,xse,kse,_se,Tse,Ese,Sse,Cse,Ase,Mse,Lse,Ise,Ose,Nse,Dse,Pse,Bse,Rse,Fse,$se,jse,zse,qse,Hse,Use,Gse,Kse,Yse,Vse,Wse,Xse,Qse,Zse,Jse,tce,ece,nce,ice,rce,ace,oce,sce,cce,lce,uce,hce,fce,dce,gce,pce,bce,mce,yce,wce,vce,xce,kce,_ce,Tce,Ece,Sce,Cce,Ace,Mce,Lce,Ice,Oce,Nce,Dce,Pce,Bce=Z2(NRt,"ContentAlignment",298,bHt,(function(){return Yct(),t7(rk(Bce,1),sCt,298,0,[joe,$oe,Foe,Boe,Poe,Roe])}),(function(t){return Yct(),Q2((_2(),zoe),t)}));Bgt(699,1,AMt,Lf),ZEt.hf=function(t){jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,FRt),""),"Layout Algorithm"),"Select a specific layout algorithm."),(Kht(),soe)),fUt),fet((Art(),Qae))))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,$Rt),""),"Resolved Layout Algorithm"),"Meta data associated with the selected algorithm."),ooe),Kae),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,BDt),""),"Alignment"),"Alignment of the selected node relative to other nodes; the exact meaning depends on the used algorithm."),Uoe),ioe),Doe),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,CLt),""),"Aspect Ratio"),"The desired aspect ratio of the drawing, that is the quotient of width by height."),noe),ZHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,jRt),""),"Bend Points"),"A fixed list of bend points for the edge. This is used by the 'Fixed Layout' algorithm to specify a pre-defined routing for an edge. The vector chain must include the source point, any bend points, and the target point, so it must have at least two points."),ooe),goe),fet(Vae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,VDt),""),"Content Alignment"),"Specifies how the content of a node are aligned. Each node can individually control the alignment of its contents. I.e. if a node should be aligned top left in its parent node, the parent node should specify that option."),Joe),roe),Bce),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,PDt),""),"Debug Mode"),"Whether additional debug information shall be generated."),(FN(),!1)),eoe),KHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,$Dt),""),nLt),"Overall direction of edges: horizontal (right / left) or vertical (down / up)."),nse),ioe),Hce),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,cDt),""),"Edge Routing"),"What kind of edge routing style should be applied for the content of a parent node. Algorithms may also set this option to single edges in order to mark them as splines. The bend point list of edges with this option set to SPLINES must be interpreted as control points for a piecewise cubic spline."),sse),ioe),tle),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,BRt),""),"Expand Nodes"),"If active, nodes are expanded to fill the area of their parent."),!1),eoe),KHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,iDt),""),"Hierarchy Handling"),"Determines whether separate layout runs are triggered for different compound nodes in a hierarchical graph. Setting a node's hierarchy handling to `INCLUDE_CHILDREN` will lay out that node and all of its descendants in a single layout run, until a descendant is encountered which has its hierarchy handling set to `SEPARATE_CHILDREN`. In general, `SEPARATE_CHILDREN` will ensure that a new layout run is triggered for a node with that setting. Including multiple levels of hierarchy in a single layout run may allow cross-hierarchical edges to be laid out properly. If the root node is set to `INHERIT` (or not set at all), the default behavior is `SEPARATE_CHILDREN`."),fse),ioe),vle),Z$(Qae,t7(rk(toe,1),sCt,170,0,[Xae]))))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,ALt),""),"Padding"),"The padding to be left to a parent element's border when placing child elements. This can also serve as an output option of a layout algorithm if node size calculation is setup appropriately."),Bse),ooe),oXt),Z$(Qae,t7(rk(toe,1),sCt,170,0,[Xae]))))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,eIt),""),"Interactive"),"Whether the algorithm should be run in interactive mode for the content of a parent node. What this means exactly depends on how the specific algorithm interprets this option. Usually in the interactive mode algorithms try to modify the current layout as little as possible."),!1),eoe),KHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,oPt),""),"interactive Layout"),"Whether the graph should be changeable interactively and by setting constraints"),!1),eoe),KHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,rIt),""),"Omit Node Micro Layout"),"Node micro layout comprises the computation of node dimensions (if requested), the placement of ports and their labels, and the placement of node labels. The functionality is implemented independent of any specific layout algorithm and shouldn't have any negative impact on the layout algorithm's performance itself. Yet, if any unforeseen behavior occurs, this option allows to deactivate the micro layout."),!1),eoe),KHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,nIt),""),"Port Constraints"),"Defines constraints of the position of the ports of a node."),Xse),ioe),Zle),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,iPt),""),"Position"),"The position of a node, port, or label. This is used by the 'Fixed Layout' algorithm to specify a pre-defined position."),ooe),doe),Z$(Xae,t7(rk(toe,1),sCt,170,0,[Zae,Wae]))))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,XLt),""),"Priority"),"Defines the priority of an object; its meaning depends on the specific layout algorithm and the context where it is used."),aoe),nUt),Z$(Xae,t7(rk(toe,1),sCt,170,0,[Vae]))))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,JLt),""),"Randomization Seed"),"Seed used for pseudo-random number generators to control the layout algorithm. If the value is 0, the seed shall be determined pseudo-randomly (e.g. from the system time)."),aoe),nUt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,tIt),""),"Separate Connected Components"),"Whether each connected component should be processed separately."),eoe),KHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,WDt),""),"Junction Points"),"This option is not used as option, but as output of the layout algorithms. It is attached to edges and determines the points where junction symbols should be drawn in order to represent hyperedges with orthogonal routing. Whether such points are computed depends on the chosen layout algorithm and edge routing style. The points are put into the vector chain with no specific order."),wse),ooe),goe),fet(Vae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,ZDt),""),"Comment Box"),"Whether the node should be regarded as a comment box instead of a regular node. In that case its placement should be similar to how labels are handled. Any edges incident to a comment box specify to which graph elements the comment is related."),!1),eoe),KHt),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,JDt),""),"Hypernode"),"Whether the node should be handled as a hypernode."),!1),eoe),KHt),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,"org.eclipse.elk.labelManager"),""),"Label Manager"),"Label managers can shorten labels upon a layout algorithm's request."),ooe),Kpe),Z$(Qae,t7(rk(toe,1),sCt,170,0,[Wae]))))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,rPt),""),"Margins"),"Margins define additional space around the actual bounds of a graph element. For instance, ports or labels being placed on the outside of a node's border might introduce such a margin. The margin is used to guarantee non-overlap of other graph elements with those ports or labels."),xse),ooe),XWt),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,NDt),""),"No Layout"),"No layout is done for the associated element. This is used to mark parts of a diagram to avoid their inclusion in the layout graph, or to mark parts of the layout graph to prevent layout engines from processing them. If you wish to exclude the contents of a compound node from automatic layout, while the node itself is still considered on its own layer, use the 'Fixed Layout' algorithm for that node."),!1),eoe),KHt),Z$(Xae,t7(rk(toe,1),sCt,170,0,[Vae,Zae,Wae]))))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,zRt),""),"Scale Factor"),"The scaling factor to be applied to the corresponding node in recursive layout. It causes the corresponding node's size to be adjusted, and its ports and labels to be sized and placed accordingly after the layout of that node has been determined (and before the node itself and its siblings are arranged). The scaling is not reverted afterwards, so the resulting layout graph contains the adjusted size and position data. This option is currently not supported if 'Layout Hierarchy' is set."),1),noe),ZHt),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,qRt),""),"Child Area Width"),"The width of the area occupied by the laid out children of a node."),noe),ZHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,HRt),""),"Child Area Height"),"The height of the area occupied by the laid out children of a node."),noe),ZHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,uIt),""),kRt),"Turns topdown layout on and off. If this option is enabled, hierarchical layout will be computed first for the root node and then for its children recursively. Layouts are then scaled down to fit the area provided by their parents. Graphs must follow a certain structure for topdown layout to work properly. {@link TopdownNodeTypes.PARALLEL_NODE} nodes must have children of type {@link TopdownNodeTypes.HIERARCHICAL_NODE} and must define {@link topdown.hierarchicalNodeWidth} and {@link topdown.hierarchicalNodeAspectRatio} for their children. Furthermore they need to be laid out using an algorithm that is a {@link TopdownLayoutProvider}. Hierarchical nodes can also be parents of other hierarchical nodes and can optionally use a {@link TopdownSizeApproximator} to dynamically set sizes during topdown layout. In this case {@link topdown.hierarchicalNodeWidth} and {@link topdown.hierarchicalNodeAspectRatio} should be set on the node itself rather than the parent. The values are then used by the size approximator as base values. Hierarchical nodes require the layout option {@link nodeSize.fixedGraphSize} to be true to prevent the algorithm used there from resizing the hierarchical node. This option is not supported if 'Hierarchy Handling' is set to 'INCLUDE_CHILDREN'"),!1),eoe),KHt),fet(Qae)))),PV(t,uIt,gIt,null),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,URt),""),"Animate"),"Whether the shift from the old layout to the new computed layout shall be animated."),!0),eoe),KHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,GRt),""),"Animation Time Factor"),"Factor for computation of animation time. The higher the value, the longer the animation time. If the value is 0, the resulting time is always equal to the minimum defined by 'Minimal Animation Time'."),ttt(100)),aoe),nUt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,KRt),""),"Layout Ancestors"),"Whether the hierarchy levels on the path from the selected element to the root of the diagram shall be included in the layout process."),!1),eoe),KHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,YRt),""),"Maximal Animation Time"),"The maximal time for animations, in milliseconds."),ttt(4e3)),aoe),nUt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,VRt),""),"Minimal Animation Time"),"The minimal time for animations, in milliseconds."),ttt(400)),aoe),nUt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,WRt),""),"Progress Bar"),"Whether a progress bar shall be displayed during layout computations."),!1),eoe),KHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,XRt),""),"Validate Graph"),"Whether the graph shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!1),eoe),KHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,QRt),""),"Validate Options"),"Whether layout options shall be validated before any layout algorithm is applied. If this option is enabled and at least one error is found, the layout process is aborted and a message is shown to the user."),!0),eoe),KHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,ZRt),""),"Zoom to Fit"),"Whether the zoom level shall be set to view the whole diagram after layout."),!1),eoe),KHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,RRt),"box"),"Box Layout Mode"),"Configures the packing mode used by the {@link BoxLayoutProvider}. If SIMPLE is not required (neither priorities are used nor the interactive mode), GROUP_DEC can improve the packing and decrease the area. GROUP_MIXED and GROUP_INC may, in very specific scenarios, work better."),Voe),ioe),fhe),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,xDt),lDt),"Comment Comment Spacing"),"Spacing to be preserved between a comment box and other comment boxes connected to the same node. The space left between comment boxes of different nodes is controlled by the node-node spacing."),10),noe),ZHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,kDt),lDt),"Comment Node Spacing"),"Spacing to be preserved between a node and its connected comment boxes. The space left between a node and the comments of another node is controlled by the node-node spacing."),10),noe),ZHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,ELt),lDt),"Components Spacing"),"Spacing to be preserved between pairs of connected components. This option is only relevant if 'separateConnectedComponents' is activated."),20),noe),ZHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,_Dt),lDt),"Edge Spacing"),"Spacing to be preserved between any two edges. Note that while this can somewhat easily be satisfied for the segments of orthogonally drawn edges, it is harder for general polylines or splines."),10),noe),ZHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,ZLt),lDt),"Edge Label Spacing"),"The minimal distance to be preserved between a label and the edge it is associated with. Note that the placement of a label is influenced by the 'edgelabels.placement' option."),2),noe),ZHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,TDt),lDt),"Edge Node Spacing"),"Spacing to be preserved between nodes and edges."),10),noe),ZHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,EDt),lDt),"Label Spacing"),"Determines the amount of space to be left between two labels of the same graph element."),0),noe),ZHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,ADt),lDt),"Label Node Spacing"),"Spacing to be preserved between labels and the border of node they are associated with. Note that the placement of a label is influenced by the 'nodelabels.placement' option."),5),noe),ZHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,SDt),lDt),"Horizontal spacing between Label and Port"),"Horizontal spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),noe),ZHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,CDt),lDt),"Vertical spacing between Label and Port"),"Vertical spacing to be preserved between labels and the ports they are associated with. Note that the placement of a label is influenced by the 'portlabels.placement' option."),1),noe),ZHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,QLt),lDt),"Node Spacing"),"The minimal distance to be preserved between each two nodes."),20),noe),ZHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,MDt),lDt),"Node Self Loop Spacing"),"Spacing to be preserved between a node and its self loops."),10),noe),ZHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,LDt),lDt),"Port Spacing"),"Spacing between pairs of ports of the same node."),10),noe),ZHt),Z$(Qae,t7(rk(toe,1),sCt,170,0,[Xae]))))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,IDt),lDt),"Individual Spacing"),"Allows to specify individual spacing values for graph elements that shall be different from the value specified for the element's parent."),ooe),dhe),Z$(Xae,t7(rk(toe,1),sCt,170,0,[Vae,Zae,Wae]))))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,aPt),lDt),"Additional Port Space"),"Additional space around the sets of ports on each node side. For each side of a node, this option can reserve additional space before and after the ports on each side. For example, a top spacing of 20 makes sure that the first port on the western and eastern side is 20 units away from the northern border."),Tce),ooe),XWt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,nPt),iFt),"Layout Partition"),"Partition to which the node belongs. This requires Layout Partitioning to be active. Nodes with lower partition IDs will appear to the left of nodes with higher partition IDs (assuming a left-to-right layout direction)."),aoe),nUt),Z$(Qae,t7(rk(toe,1),sCt,170,0,[Xae]))))),PV(t,nPt,ePt,jse),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,ePt),iFt),"Layout Partitioning"),"Whether to activate partitioned layout. This will allow to group nodes through the Layout Partition option. a pair of nodes with different partition indices is then placed such that the node with lower index is placed to the left of the other node (with left-to-right layout direction). Depending on the layout algorithm, this may only be guaranteed to work if all nodes have a layout partition configured, or at least if edges that cross partitions are not part of a partition-crossing cycle."),Fse),eoe),KHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,jDt),rFt),"Node Label Padding"),"Define padding for node labels that are placed inside of a node."),_se),ooe),oXt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,cIt),rFt),"Node Label Placement"),"Hints for where node labels are to be placed; if empty, the node label's position is not modified."),Ese),roe),Rle),Z$(Xae,t7(rk(toe,1),sCt,170,0,[Wae]))))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,HDt),aFt),"Port Alignment"),"Defines the default port distribution for a node. May be overridden for each side individually."),qse),ioe),Ule),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,UDt),aFt),"Port Alignment (North)"),"Defines how ports on the northern side are placed, overriding the node's general port alignment."),ioe),Ule),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,GDt),aFt),"Port Alignment (South)"),"Defines how ports on the southern side are placed, overriding the node's general port alignment."),ioe),Ule),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,KDt),aFt),"Port Alignment (West)"),"Defines how ports on the western side are placed, overriding the node's general port alignment."),ioe),Ule),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,YDt),aFt),"Port Alignment (East)"),"Defines how ports on the eastern side are placed, overriding the node's general port alignment."),ioe),Ule),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,sIt),oFt),"Node Size Constraints"),"What should be taken into account when calculating a node's size. Empty size constraints specify that a node's size is already fixed and should not be changed."),Cse),roe),jue),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,oIt),oFt),"Node Size Options"),"Options modifying the behavior of the size constraints set on a node. Each member of the set specifies something that should be taken into account when calculating node sizes. The empty set corresponds to no further modifications."),Ose),roe),Que),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,SIt),oFt),"Node Size Minimum"),"The minimal size to which a node can be reduced."),Lse),ooe),doe),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,aIt),oFt),"Fixed Graph Size"),"By default, the fixed layout provider will enlarge a graph until it is large enough to contain its children. If this option is set, it won't do so."),!1),eoe),KHt),fet(Qae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,XDt),wDt),"Edge Label Placement"),"Gives a hint on where to put edge labels."),ase),ioe),Vce),fet(Wae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,iIt),wDt),"Inline Edge Labels"),"If true, an edge label is placed directly on its edge. May only apply to center edge labels. This kind of label placement is only advisable if the label's rendering is such that it is not crossed by its edge and thus stays legible."),!1),eoe),KHt),fet(Wae)))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,"org.eclipse.elk.font.name"),"font"),"Font Name"),"Font name used for a label."),soe),fUt),fet(Wae)))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,JRt),"font"),"Font Size"),"Font size used for a label."),aoe),nUt),fet(Wae)))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,tPt),sFt),"Port Anchor Offset"),"The offset to the port position where connections shall be attached."),ooe),doe),fet(Zae)))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,QDt),sFt),"Port Index"),"The index of a port in the fixed order around a node. The order is assumed as clockwise, starting with the leftmost port on the top side. This option must be set if 'Port Constraints' is set to FIXED_ORDER and no specific positions are given for the ports. Additionally, the option 'Port Side' must be defined in this case."),aoe),nUt),fet(Zae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,DDt),sFt),"Port Side"),"The side of a node on which a port is situated. This option must be set if 'Port Constraints' is set to FIXED_SIDE or FIXED_ORDER and no specific positions are given for the ports."),ice),ioe),Due),fet(Zae)))),jet(t,new $ht(Ok(Ik(Nk(Sk(Lk(Ak(Mk(new Dc,ODt),sFt),"Port Border Offset"),"The offset of ports on the node border. With a positive offset the port is moved outside of the node, while with a negative offset the port is moved towards the inside. An offset of 0 means that the port is placed directly on the node border, i.e. if the port side is north, the port's south border touches the nodes's north border; if the port side is east, the port's west border touches the nodes's east border; if the port side is south, the port's north border touches the node's south border; if the port side is west, the port's east border touches the node's west border."),noe),ZHt),fet(Zae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,lIt),cFt),"Port Label Placement"),"Decides on a placement method for port labels; if empty, the node label's position is not modified."),tce),roe),oue),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,zDt),cFt),"Port Labels Next to Port"),"Use 'portLabels.placement': NEXT_TO_PORT_OF_POSSIBLE."),!1),eoe),KHt),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,qDt),cFt),"Treat Port Labels as Group"),"If this option is true (default), the labels of a port will be treated as a group when it comes to centering them next to their port. If this option is false, only the first label will be centered next to the port, with the others being placed below. This only applies to labels of eastern and western ports and will have no effect if labels are not placed next to their port."),!0),eoe),KHt),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,hIt),lFt),"Topdown Scale Factor"),"The scaling factor to be applied to the nodes laid out within the node in recursive topdown layout. The difference to 'Scale Factor' is that the node itself is not scaled. This value has to be set on hierarchical nodes."),1),noe),ZHt),fet(Qae)))),PV(t,hIt,gIt,Nce),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,tFt),lFt),"Topdown Size Approximator"),"The size approximator to be used to set sizes of hierarchical nodes during topdown layout. The default value is null, which results in nodes keeping whatever size is defined for them e.g. through parent parallel node or by manually setting the size."),null),ioe),ohe),fet(Xae)))),PV(t,tFt,gIt,Pce),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,fIt),lFt),"Topdown Hierarchical Node Width"),"The fixed size of a hierarchical node when using topdown layout. If this value is set on a parallel node it applies to its children, when set on a hierarchical node it applies to the node itself."),150),noe),ZHt),Z$(Qae,t7(rk(toe,1),sCt,170,0,[Xae]))))),PV(t,fIt,gIt,null),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,dIt),lFt),"Topdown Hierarchical Node Aspect Ratio"),"The fixed aspect ratio of a hierarchical node when using topdown layout. Default is 1/sqrt(2). If this value is set on a parallel node it applies to its children, when set on a hierarchical node it applies to the node itself."),1.414),noe),ZHt),Z$(Qae,t7(rk(toe,1),sCt,170,0,[Xae]))))),PV(t,dIt,gIt,null),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,gIt),lFt),"Topdown Node Type"),"The different node types used for topdown layout. If the node type is set to {@link TopdownNodeTypes.PARALLEL_NODE} the algorithm must be set to a {@link TopdownLayoutProvider} such as {@link TopdownPacking}. The {@link nodeSize.fixedGraphSize} option is technically only required for hierarchical nodes."),null),ioe),nhe),fet(Xae)))),PV(t,gIt,aIt,null),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,eFt),lFt),"Topdown Scale Cap"),"Determines the upper limit for the topdown scale factor. The default value is 1.0 which ensures that nested children never end up appearing larger than their parents in terms of unit sizes such as the font size. If the limit is larger, nodes will fully utilize the available space, but it is counteriniuitive for inner nodes to have a larger scale than outer nodes."),1),noe),ZHt),fet(Qae)))),PV(t,eFt,gIt,Ice),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,RDt),uFt),"Activate Inside Self Loops"),"Whether this node allows to route self loops inside of it instead of around it. If set to true, this will make the node a compound node if it isn't already, and will require the layout algorithm to support compound nodes with hierarchical ports."),!1),eoe),KHt),fet(Xae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,FDt),uFt),"Inside Self Loop"),"Whether a self loop should be routed inside a node instead of around that node."),!1),eoe),KHt),fet(Vae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,SLt),"edge"),"Edge Thickness"),"The thickness of an edge. This is a hint on the line width used to draw an edge, possibly requiring more space to be reserved for it."),1),noe),ZHt),fet(Vae)))),jet(t,new $ht(Ok(Ik(Nk(Ck(Sk(Lk(Ak(Mk(new Dc,nFt),"edge"),"Edge Type"),"The type of an edge. This is usually used for UML class diagrams, where associations must be handled differently from generalizations."),lse),ioe),ple),fet(Vae)))),LE(t,new wY(_k(Ek(Tk(new dc,bAt),"Layered"),'The layer-based method was introduced by Sugiyama, Tagawa and Toda in 1981. It emphasizes the direction of edges by pointing as many edges as possible into the same direction. The nodes are arranged in layers, which are sometimes called "hierarchies", and then reordered such that the number of edge crossings is minimized. Afterwards, concrete coordinates are computed for the nodes and edge bend points.'))),LE(t,new wY(_k(Ek(Tk(new dc,"org.eclipse.elk.orthogonal"),"Orthogonal"),'Orthogonal methods that follow the "topology-shape-metrics" approach by Batini, Nardelli and Tamassia \'86. The first phase determines the topology of the drawing by applying a planarization technique, which results in a planar representation of the graph. The orthogonal shape is computed in the second phase, which aims at minimizing the number of edge bends, and is called orthogonalization. The third phase leads to concrete coordinates for nodes and edge bend points by applying a compaction method, thus defining the metrics.'))),LE(t,new wY(_k(Ek(Tk(new dc,WLt),"Force"),"Layout algorithms that follow physical analogies by simulating a system of attractive and repulsive forces. The first successful method of this kind was proposed by Eades in 1984."))),LE(t,new wY(_k(Ek(Tk(new dc,"org.eclipse.elk.circle"),"Circle"),"Circular layout algorithms emphasize cycles or biconnected components of a graph by arranging them in circles. This is useful if a drawing is desired where such components are clearly grouped, or where cycles are shown as prominent OPTIONS of the graph."))),LE(t,new wY(_k(Ek(Tk(new dc,XPt),"Tree"),"Specialized layout methods for trees, i.e. acyclic graphs. The regular structure of graphs that have no undirected cycles can be emphasized using an algorithm of this type."))),LE(t,new wY(_k(Ek(Tk(new dc,"org.eclipse.elk.planar"),"Planar"),"Algorithms that require a planar or upward planar graph. Most of these algorithms are theoretically interesting, but not practically usable."))),LE(t,new wY(_k(Ek(Tk(new dc,SBt),"Radial"),"Radial layout algorithms usually position the nodes of the graph on concentric circles."))),xwt((new If,t)),xvt((new Mf,t)),uyt((new Of,t))},vq(NRt,"CoreOptions",699),Bgt(88,22,{3:1,34:1,22:1,88:1},BA);var Rce,Fce,$ce,jce,zce,qce,Hce=Z2(NRt,nLt,88,bHt,(function(){return jtt(),t7(rk(Hce,1),sCt,88,0,[jce,$ce,Fce,Rce,zce])}),(function(t){return jtt(),Q2((w0(),qce),t)}));Bgt(278,22,{3:1,34:1,22:1,278:1},RA);var Uce,Gce,Kce,Yce,Vce=Z2(NRt,"EdgeLabelPlacement",278,bHt,(function(){return g2(),t7(rk(Vce,1),sCt,278,0,[Uce,Gce,Kce])}),(function(t){return g2(),Q2((HZ(),Yce),t)}));Bgt(223,22,{3:1,34:1,22:1,223:1},FA);var Wce,Xce,Qce,Zce,Jce,tle=Z2(NRt,"EdgeRouting",223,bHt,(function(){return Iet(),t7(rk(tle,1),sCt,223,0,[Zce,Xce,Wce,Qce])}),(function(t){return Iet(),Q2((n1(),Jce),t)}));Bgt(321,22,{3:1,34:1,22:1,321:1},$A);var ele,nle,ile,rle,ale,ole,sle,cle,lle,ule,hle,fle,dle,gle,ple=Z2(NRt,"EdgeType",321,bHt,(function(){return Qlt(),t7(rk(ple,1),sCt,321,0,[ale,ile,ole,ele,rle,nle])}),(function(t){return Qlt(),Q2((T2(),sle),t)}));Bgt(989,1,AMt,If),ZEt.hf=function(t){xwt(t)},vq(NRt,"FixedLayouterOptions",989),Bgt(990,1,{},Bc),ZEt.sf=function(){return new Yc},ZEt.tf=function(t){},vq(NRt,"FixedLayouterOptions/FixedFactory",990),Bgt(346,22,{3:1,34:1,22:1,346:1},jA);var ble,mle,yle,wle,vle=Z2(NRt,"HierarchyHandling",346,bHt,(function(){return V9(),t7(rk(vle,1),sCt,346,0,[mle,ble,yle])}),(function(t){return V9(),Q2((zZ(),wle),t)}));Bgt(291,22,{3:1,34:1,22:1,291:1},zA);var xle,kle,_le,Tle,Ele,Sle=Z2(NRt,"LabelSide",291,bHt,(function(){return bst(),t7(rk(Sle,1),sCt,291,0,[Tle,xle,kle,_le])}),(function(t){return bst(),Q2((i1(),Ele),t)}));Bgt(95,22,{3:1,34:1,22:1,95:1},qA);var Cle,Ale,Mle,Lle,Ile,Ole,Nle,Dle,Ple,Ble,Rle=Z2(NRt,"NodeLabelPlacement",95,bHt,(function(){return cpt(),t7(rk(Rle,1),sCt,95,0,[Ale,Cle,Lle,Ple,Dle,Nle,Ile,Ole,Mle])}),(function(t){return cpt(),Q2((C6(),Ble),t)}));Bgt(256,22,{3:1,34:1,22:1,256:1},HA);var Fle,$le,jle,zle,qle,Hle,Ule=Z2(NRt,"PortAlignment",256,bHt,(function(){return Drt(),t7(rk(Ule,1),sCt,256,0,[jle,qle,Fle,$le,zle])}),(function(t){return Drt(),Q2((x0(),Hle),t)}));Bgt(101,22,{3:1,34:1,22:1,101:1},UA);var Gle,Kle,Yle,Vle,Wle,Xle,Qle,Zle=Z2(NRt,"PortConstraints",101,bHt,(function(){return plt(),t7(rk(Zle,1),sCt,101,0,[Xle,Wle,Vle,Gle,Yle,Kle])}),(function(t){return plt(),Q2((E2(),Qle),t)}));Bgt(279,22,{3:1,34:1,22:1,279:1},GA);var Jle,tue,eue,nue,iue,rue,aue,oue=Z2(NRt,"PortLabelPlacement",279,bHt,(function(){return cdt(),t7(rk(oue,1),sCt,279,0,[iue,eue,nue,tue,Jle,rue])}),(function(t){return cdt(),Q2((S2(),aue),t)}));Bgt(64,22,{3:1,34:1,22:1,64:1},KA);var sue,cue,lue,uue,hue,fue,due,gue,pue,bue,mue,yue,wue,vue,xue,kue,_ue,Tue,Eue,Sue,Cue,Aue,Mue,Lue,Iue,Oue,Nue,Due=Z2(NRt,"PortSide",64,bHt,(function(){return MTt(),t7(rk(Due,1),RIt,64,0,[Sue,cue,sue,Eue,Cue])}),(function(t){return MTt(),Q2((k0(),Aue),t)}));Bgt(993,1,AMt,Of),ZEt.hf=function(t){uyt(t)},vq(NRt,"RandomLayouterOptions",993),Bgt(994,1,{},Rc),ZEt.sf=function(){return new Uc},ZEt.tf=function(t){},vq(NRt,"RandomLayouterOptions/RandomFactory",994),Bgt(386,22,{3:1,34:1,22:1,386:1},YA);var Pue,Bue,Rue,Fue,$ue,jue=Z2(NRt,"SizeConstraint",386,bHt,(function(){return ait(),t7(rk(jue,1),sCt,386,0,[Rue,Fue,Bue,Pue])}),(function(t){return ait(),Q2((r1(),$ue),t)}));Bgt(264,22,{3:1,34:1,22:1,264:1},VA);var zue,que,Hue,Uue,Gue,Kue,Yue,Vue,Wue,Xue,Que=Z2(NRt,"SizeOptions",264,bHt,(function(){return Vwt(),t7(rk(Que,1),sCt,264,0,[Hue,Gue,que,Kue,Yue,Wue,Vue,Uue,zue])}),(function(t){return Vwt(),Q2((S6(),Xue),t)}));Bgt(280,22,{3:1,34:1,22:1,280:1},WA);var Zue,Jue,the,ehe,nhe=Z2(NRt,"TopdownNodeTypes",280,bHt,(function(){return Y9(),t7(rk(nhe,1),sCt,280,0,[Jue,Zue,the])}),(function(t){return Y9(),Q2((UZ(),ehe),t)}));Bgt(347,22,dFt);var ihe,rhe,ahe,ohe=Z2(NRt,"TopdownSizeApproximator",347,bHt,(function(){return mR(),t7(rk(ohe,1),sCt,347,0,[ihe,rhe])}),(function(t){return mR(),Q2((qX(),ahe),t)}));Bgt(987,347,dFt,YF),ZEt.Tg=function(t){return Mat(t)},Z2(NRt,"TopdownSizeApproximator/1",987,ohe,null,null),Bgt(988,347,dFt,oz),ZEt.Tg=function(t){var e,n,r,a,o,s,c,l,u,h,f,d,g,p,b,m,y,w,v;for(e=KR(spt(t,(zEt(),sce)),143),Vk(),Ebt(m=new Xw,t),y=new my,o=new zO((!t.a&&(t.a=new ez(Zhe,t,10,11)),t.a));o.e!=o.i.gc();)r=KR(Frt(o),27),ybt(d=new Xw,m),Ebt(d,r),v=Mat(r),sI(d,i.Math.max(r.g,v.a),i.Math.max(r.f,v.b)),_ft(y.f,r,d);for(a=new zO((!t.a&&(t.a=new ez(Zhe,t,10,11)),t.a));a.e!=a.i.gc();)for(l=new zO((!(r=KR(Frt(a),27)).e&&(r.e=new bB(Ghe,r,7,4)),r.e));l.e!=l.i.gc();)c=KR(Frt(l),74),p=KR(FM(U$(y.f,r)),27),b=KR(Oq(y,l2((!c.c&&(c.c=new bB(Uhe,c,5,8)),c.c),0)),27),sJ((!(g=new tl).b&&(g.b=new bB(Uhe,g,4,7)),g.b),p),sJ((!g.c&&(g.c=new bB(Uhe,g,5,8)),g.c),b),cbt(g,DK(p)),Ebt(g,c);u=KR(HG(e.f),205);try{u.rf(m,new Qc),bH(e.f,u)}catch(t){throw rO(t=j6(t),103),Ay(t)}return GZ(m,Xoe)||GZ(m,Woe)||aEt(m),s=gx(qD(spt(m,Xoe)))/gx(qD(spt(m,Woe))),n=gx(qD(spt(m,Cce)))*i.Math.sqrt((!m.a&&(m.a=new ez(Zhe,m,10,11)),m.a).i),f=(w=KR(spt(m,Pse),107)).b+w.c+1,h=w.d+w.a+1,new IA(i.Math.max(f,n),i.Math.max(h,n/s))},Z2(NRt,"TopdownSizeApproximator/2",988,ohe,null,null),Bgt(344,1,{871:1},vv),ZEt.Ug=function(t,e){return Flt(this,t,e)},ZEt.Vg=function(){mht(this)},ZEt.Wg=function(){return this.q},ZEt.Xg=function(){return this.f?hG(this.f):null},ZEt.Yg=function(){return hG(this.a)},ZEt.Zg=function(){return this.p},ZEt.$g=function(){return!1},ZEt._g=function(){return this.n},ZEt.ah=function(){return null!=this.p&&!this.b},ZEt.bh=function(t){var e;this.n&&(e=t,SO(this.f,e))},ZEt.dh=function(t,e){var n,i;this.n&&t&&function(t,e,n){var i;t.n&&e&&n&&(i=new Xc,SO(t.e,i))}(this,(i=Wwt(n=new lq,t),function(t){var e,n,i,r,a,o,s,c,l,u,h,f,d,g,p,b,m,y,w,v,x,k;for(h=new Rq(new Sg(t));h.c!=h.d.a.d;)for(s=KR((u=N1(h)).d,58),e=KR(u.e,58),p=0,v=(null==(o=s.Dh()).i&&uxt(o),o.i).length;p=0&&p0?e-1:e,Kk(function(t,e){return t.j=e,t}(V2(dF(new vv,n),t.n),t.j),t.k)}(this,this.g),RF(this.a,e),e.i=this,this.d=t,e)},ZEt.fh=function(t){t>0&&!this.b&&q4(this,t)},ZEt.b=!1,ZEt.c=0,ZEt.d=-1,ZEt.e=null,ZEt.f=null,ZEt.g=-1,ZEt.j=!1,ZEt.k=!1,ZEt.n=!1,ZEt.o=0,ZEt.q=0,ZEt.r=0,vq(sPt,"BasicProgressMonitor",344),Bgt(717,205,fLt,Fc),ZEt.rf=function(t,e){nxt(t,e)},vq(sPt,"BoxLayoutProvider",717),Bgt(983,1,iMt,hm),ZEt.Ne=function(t,e){return function(t,e,n){var i,r,a;return!(r=KR(spt(e,(mut(),Ooe)),17))&&(r=ttt(0)),!(a=KR(spt(n,Ooe),17))&&(a=ttt(0)),r.a>a.a?-1:r.a0&&p.b>0&&DTt(b,p.a,p.b,!0,!0)),d=i.Math.max(d,b.i+b.g),g=i.Math.max(g,b.j+b.f),h=new zO((!b.n&&(b.n=new ez(Qhe,b,1,7)),b.n));h.e!=h.i.gc();)c=KR(Frt(h),135),(T=KR(spt(c,gle),8))&&cI(c,T.a,T.b),d=i.Math.max(d,b.i+c.i+c.g),g=i.Math.max(g,b.j+c.j+c.f);for(x=new zO((!b.c&&(b.c=new ez(Jhe,b,9,9)),b.c));x.e!=x.i.gc();)for(v=KR(Frt(x),123),(T=KR(spt(v,gle),8))&&cI(v,T.a,T.b),k=b.i+v.i,_=b.j+v.j,d=i.Math.max(d,k+v.g),g=i.Math.max(g,_+v.f),l=new zO((!v.n&&(v.n=new ez(Qhe,v,1,7)),v.n));l.e!=l.i.gc();)c=KR(Frt(l),135),(T=KR(spt(c,gle),8))&&cI(c,T.a,T.b),d=i.Math.max(d,k+c.i+c.g),g=i.Math.max(g,_+c.j+c.f);for(a=new Dj(lN(Ypt(b).a.Kc(),new u));Rgt(a);)f=FTt(n=KR(bQ(a),74)),d=i.Math.max(d,f.a),g=i.Math.max(g,f.b);for(r=new Dj(lN(Kpt(b).a.Kc(),new u));Rgt(r);)DK(yut(n=KR(bQ(r),74)))!=t&&(f=FTt(n),d=i.Math.max(d,f.a),g=i.Math.max(g,f.b))}if(o==(Iet(),Wce))for(m=new zO((!t.a&&(t.a=new ez(Zhe,t,10,11)),t.a));m.e!=m.i.gc();)for(r=new Dj(lN(Ypt(b=KR(Frt(m),27)).a.Kc(),new u));Rgt(r);)0==(s=Ovt(n=KR(bQ(r),74))).b?nat(n,yse,null):nat(n,yse,s);dx(zD(spt(t,(k8(),ule))))||DTt(t,d+(w=KR(spt(t,fle),107)).b+w.c,g+w.d+w.a,!0,!0),e.Vg()},vq(sPt,"FixedLayoutProvider",1119),Bgt(385,137,{3:1,423:1,385:1,96:1,137:1},Vc,D1),ZEt.cg=function(t){var e,n,i,r,a,o,s;if(t)try{for(o=rxt(t,";,;"),r=0,a=(i=o).length;r>16&ECt|t^(n&ECt)<<16},ZEt.Kc=function(){return new pm(this)},ZEt.Ib=function(){return null==this.a&&null==this.b?"pair(null,null)":null==this.a?"pair(null,"+Get(this.b)+")":null==this.b?"pair("+Get(this.a)+",null)":"pair("+Get(this.a)+","+Get(this.b)+")"},vq(sPt,"Pair",42),Bgt(995,1,TSt,pm),ZEt.Nb=function(t){bz(this,t)},ZEt.Ob=function(){return!this.c&&(!this.b&&null!=this.a.a||null!=this.a.b)},ZEt.Pb=function(){if(!this.c&&!this.b&&null!=this.a.a)return this.b=!0,this.a.a;if(!this.c&&null!=this.a.b)return this.c=!0,this.a.b;throw Ay(new ew)},ZEt.Qb=function(){throw this.c&&null!=this.a.b?this.a.b=null:this.b&&null!=this.a.a&&(this.a.a=null),Ay(new Xy)},ZEt.b=!1,ZEt.c=!1,vq(sPt,"Pair/1",995),Bgt(455,1,{455:1},yU),ZEt.Fb=function(t){return jH(this.a,KR(t,455).a)&&jH(this.c,KR(t,455).c)&&jH(this.d,KR(t,455).d)&&jH(this.b,KR(t,455).b)},ZEt.Hb=function(){return s9(t7(rk(nHt,1),pSt,1,5,[this.a,this.c,this.d,this.b]))},ZEt.Ib=function(){return"("+this.a+dSt+this.c+dSt+this.d+dSt+this.b+")"},vq(sPt,"Quadruple",455),Bgt(1108,205,fLt,Uc),ZEt.rf=function(t,e){var n;e.Ug("Random Layout",1),0!=(!t.a&&(t.a=new ez(Zhe,t,10,11)),t.a).i?(function(t,e,n,r,a){var o,s,c,l,h,f,d,g,p,b,m,y,w,v,x,k,_,T,E,S;for(v=0,b=0,p=0,g=1,w=new zO((!t.a&&(t.a=new ez(Zhe,t,10,11)),t.a));w.e!=w.i.gc();)g+=GW(new Dj(lN(Ypt(m=KR(Frt(w),27)).a.Kc(),new u))),T=m.g,b=i.Math.max(b,T),d=m.f,p=i.Math.max(p,d),v+=T*d;for(s=v+2*r*r*g*(!t.a&&(t.a=new ez(Zhe,t,10,11)),t.a).i,o=i.Math.sqrt(s),l=i.Math.max(o*n,b),c=i.Math.max(o/n,p),y=new zO((!t.a&&(t.a=new ez(Zhe,t,10,11)),t.a));y.e!=y.i.gc();)m=KR(Frt(y),27),E=a.b+(Xpt(e,26)*DAt+Xpt(e,27)*PAt)*(l-m.g),S=a.b+(Xpt(e,26)*DAt+Xpt(e,27)*PAt)*(c-m.f),D2(m,E),P2(m,S);for(_=l+(a.b+a.c),k=c+(a.d+a.a),x=new zO((!t.a&&(t.a=new ez(Zhe,t,10,11)),t.a));x.e!=x.i.gc();)for(f=new Dj(lN(Ypt(KR(Frt(x),27)).a.Kc(),new u));Rgt(f);)_gt(h=KR(bQ(f),74))||yEt(h,e,_,k);DTt(t,_+=a.b+a.c,k+=a.d+a.a,!1,!0)}(t,(n=KR(spt(t,(rit(),Oue)),17))&&0!=n.a?new vX(n.a):new pnt,px(qD(spt(t,Mue))),px(qD(spt(t,Nue))),KR(spt(t,Lue),107)),e.Vg()):e.Vg()},vq(sPt,"RandomLayoutProvider",1108),Bgt(240,1,{240:1},xR),ZEt.Fb=function(t){return jH(this.a,KR(t,240).a)&&jH(this.b,KR(t,240).b)&&jH(this.c,KR(t,240).c)},ZEt.Hb=function(){return s9(t7(rk(nHt,1),pSt,1,5,[this.a,this.b,this.c]))},ZEt.Ib=function(){return"("+this.a+dSt+this.b+dSt+this.c+")"},vq(sPt,"Triple",240),Bgt(562,1,{}),ZEt.Lf=function(){return new IA(this.f.i,this.f.j)},ZEt.of=function(t){return OG(t,(zEt(),Vse))?spt(this.f,vhe):spt(this.f,t)},ZEt.Mf=function(){return new IA(this.f.g,this.f.f)},ZEt.Nf=function(){return this.g},ZEt.pf=function(t){return GZ(this.f,t)},ZEt.Of=function(t){D2(this.f,t.a),P2(this.f,t.b)},ZEt.Pf=function(t){N2(this.f,t.a),O2(this.f,t.b)},ZEt.Qf=function(t){this.g=t},ZEt.g=0,vq(bFt,"ElkGraphAdapters/AbstractElkGraphElementAdapter",562),Bgt(563,1,{853:1},bm),ZEt.Rf=function(){var t,e;if(!this.b)for(this.b=QV(qH(this.a).i),e=new zO(qH(this.a));e.e!=e.i.gc();)t=KR(Frt(e),135),SO(this.b,new rx(t));return this.b},ZEt.b=null,vq(bFt,"ElkGraphAdapters/ElkEdgeAdapter",563),Bgt(289,562,{},ix),ZEt.Sf=function(){return jot(this)},ZEt.a=null,vq(bFt,"ElkGraphAdapters/ElkGraphAdapter",289),Bgt(640,562,{187:1},rx),vq(bFt,"ElkGraphAdapters/ElkLabelAdapter",640),Bgt(639,562,{695:1},qN),ZEt.Rf=function(){return function(t){var e,n;if(!t.b)for(t.b=QV(KR(t.f,27).kh().i),n=new zO(KR(t.f,27).kh());n.e!=n.i.gc();)e=KR(Frt(n),135),SO(t.b,new rx(e));return t.b}(this)},ZEt.Vf=function(){var t;return!(t=KR(spt(this.f,(zEt(),vse)),140))&&(t=new qw),t},ZEt.Xf=function(){return function(t){var e,n;if(!t.e)for(t.e=QV(HH(KR(t.f,27)).i),n=new zO(HH(KR(t.f,27)));n.e!=n.i.gc();)e=KR(Frt(n),123),SO(t.e,new mm(e));return t.e}(this)},ZEt.Zf=function(t){var e;e=new BR(t),nat(this.f,(zEt(),vse),e)},ZEt.$f=function(t){nat(this.f,(zEt(),Pse),new RR(t))},ZEt.Tf=function(){return this.d},ZEt.Uf=function(){var t,e;if(!this.a)for(this.a=new yy,e=new Dj(lN(Kpt(KR(this.f,27)).a.Kc(),new u));Rgt(e);)t=KR(bQ(e),74),SO(this.a,new bm(t));return this.a},ZEt.Wf=function(){var t,e;if(!this.c)for(this.c=new yy,e=new Dj(lN(Ypt(KR(this.f,27)).a.Kc(),new u));Rgt(e);)t=KR(bQ(e),74),SO(this.c,new bm(t));return this.c},ZEt.Yf=function(){return 0!=eG(KR(this.f,27)).i||dx(zD(KR(this.f,27).of((zEt(),gse))))},ZEt._f=function(){P1(this,(BE(),whe))},ZEt.a=null,ZEt.b=null,ZEt.c=null,ZEt.d=null,ZEt.e=null,vq(bFt,"ElkGraphAdapters/ElkNodeAdapter",639),Bgt(1284,562,{852:1},mm),ZEt.Rf=function(){return function(t){var e,n;if(!t.b)for(t.b=QV(KR(t.f,123).kh().i),n=new zO(KR(t.f,123).kh());n.e!=n.i.gc();)e=KR(Frt(n),135),SO(t.b,new rx(e));return t.b}(this)},ZEt.Uf=function(){var t,e;if(!this.a)for(this.a=WN(KR(this.f,123).hh().i),e=new zO(KR(this.f,123).hh());e.e!=e.i.gc();)t=KR(Frt(e),74),SO(this.a,new bm(t));return this.a},ZEt.Wf=function(){var t,e;if(!this.c)for(this.c=WN(KR(this.f,123).ih().i),e=new zO(KR(this.f,123).ih());e.e!=e.i.gc();)t=KR(Frt(e),74),SO(this.c,new bm(t));return this.c},ZEt.ag=function(){return KR(KR(this.f,123).of((zEt(),nce)),64)},ZEt.bg=function(){var t,e,n,i,r,a,o;for(i=dK(KR(this.f,123)),n=new zO(KR(this.f,123).ih());n.e!=n.i.gc();)for(o=new zO((!(t=KR(Frt(n),74)).c&&(t.c=new bB(Uhe,t,5,8)),t.c));o.e!=o.i.gc();){if(Y0(Blt(a=KR(Frt(o),84)),i))return!0;if(Blt(a)==i&&dx(zD(spt(t,(zEt(),pse)))))return!0}for(e=new zO(KR(this.f,123).hh());e.e!=e.i.gc();)for(r=new zO((!(t=KR(Frt(e),74)).b&&(t.b=new bB(Uhe,t,4,7)),t.b));r.e!=r.i.gc();)if(Y0(Blt(KR(Frt(r),84)),i))return!0;return!1},ZEt.a=null,ZEt.b=null,ZEt.c=null,vq(bFt,"ElkGraphAdapters/ElkPortAdapter",1284),Bgt(1285,1,iMt,Hc),ZEt.Ne=function(t,e){return function(t,e){var n,i,r,a;if(0!=(a=KR(spt(t,(zEt(),nce)),64).g-KR(spt(e,nce),64).g))return a;if(n=KR(spt(t,Qse),17),i=KR(spt(e,Qse),17),n&&i&&0!=(r=n.a-i.a))return r;switch(KR(spt(t,nce),64).g){case 1:return cet(t.i,e.i);case 2:return cet(t.j,e.j);case 3:return cet(e.i,t.i);case 4:return cet(e.j,t.j);default:throw Ay(new Ex(UIt))}}(KR(t,123),KR(e,123))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(bFt,"ElkGraphAdapters/PortComparator",1285);var khe,_he,The,Ehe,She,Che,Ahe,Mhe,Lhe,Ihe,Ohe,Nhe,Dhe,Phe,Bhe,Rhe,Fhe,$he=WF(mFt,"EObject"),jhe=WF(yFt,wFt),zhe=WF(yFt,vFt),qhe=WF(yFt,xFt),Hhe=WF(yFt,"ElkShape"),Uhe=WF(yFt,kFt),Ghe=WF(yFt,_Ft),Khe=WF(yFt,TFt),Yhe=WF(mFt,EFt),Vhe=WF(mFt,"EFactory"),Whe=WF(mFt,SFt),Xhe=WF(mFt,"EPackage"),Qhe=WF(yFt,CFt),Zhe=WF(yFt,AFt),Jhe=WF(yFt,MFt);Bgt(93,1,LFt),ZEt.th=function(){return this.uh(),null},ZEt.uh=function(){return null},ZEt.vh=function(){return this.uh(),!1},ZEt.wh=function(){return!1},ZEt.xh=function(t){Q5(this,t)},vq(IFt,"BasicNotifierImpl",93),Bgt(99,93,$Ft),ZEt.Yh=function(){return ZL(this)},ZEt.yh=function(t,e){return t},ZEt.zh=function(){throw Ay(new Zy)},ZEt.Ah=function(t){var e;return e=Oat(KR(N0(this.Dh(),this.Fh()),19)),this.Ph().Th(this,e.n,e.f,t)},ZEt.Bh=function(t,e){throw Ay(new Zy)},ZEt.Ch=function(t,e,n){return svt(this,t,e,n)},ZEt.Dh=function(){var t;return this.zh()&&(t=this.zh().Nk())?t:this.ii()},ZEt.Eh=function(){return Sgt(this)},ZEt.Fh=function(){throw Ay(new Zy)},ZEt.Gh=function(){var t,e;return!(e=this.$h().Ok())&&this.zh().Tk((zE(),e=null==(t=UG(uxt(this.Dh())))?jde:new jN(this,t))),e},ZEt.Hh=function(t,e){return t},ZEt.Ih=function(t){return t.pk()?t.Lj():knt(this.Dh(),t)},ZEt.Jh=function(){var t;return(t=this.zh())?t.Qk():null},ZEt.Kh=function(){return this.zh()?this.zh().Nk():null},ZEt.Lh=function(t,e,n){return uat(this,t,e,n)},ZEt.Mh=function(t){return kJ(this,t)},ZEt.Nh=function(t,e){return EQ(this,t,e)},ZEt.Oh=function(){var t;return!!(t=this.zh())&&t.Rk()},ZEt.Ph=function(){throw Ay(new Zy)},ZEt.Qh=function(){return Hit(this)},ZEt.Rh=function(t,e,n,i){return tat(this,t,e,i)},ZEt.Sh=function(t,e,n){return KR(N0(this.Dh(),e),69).wk().zk(this,this.hi(),e-this.ji(),t,n)},ZEt.Th=function(t,e,n,i){return qG(this,t,e,i)},ZEt.Uh=function(t,e,n){return KR(N0(this.Dh(),e),69).wk().Ak(this,this.hi(),e-this.ji(),t,n)},ZEt.Vh=function(){return!!this.zh()&&!!this.zh().Pk()},ZEt.Wh=function(t){return Prt(this,t)},ZEt.Xh=function(t){return TK(this,t)},ZEt.Zh=function(t){return V_t(this,t)},ZEt.$h=function(){throw Ay(new Zy)},ZEt._h=function(){return this.zh()?this.zh().Pk():null},ZEt.ai=function(){return Hit(this)},ZEt.bi=function(t,e){Ift(this,t,e)},ZEt.ci=function(t){this.$h().Sk(t)},ZEt.di=function(t){this.$h().Vk(t)},ZEt.ei=function(t){this.$h().Uk(t)},ZEt.fi=function(t,e){var n,i,r,a;return(a=this.Jh())&&t&&(e=cat(a.El(),this,e),a.Il(this)),(i=this.Ph())&&(Swt(this,this.Ph(),this.Fh()).Bb&mAt?(r=i.Qh())&&(t?!a&&r.Il(this):r.Hl(this)):(e=(n=this.Fh())>=0?this.Ah(e):this.Ph().Th(this,-1-n,null,e),e=this.Ch(null,-1,e))),this.di(t),e},ZEt.gi=function(t){var e,n,i,r,a,o,s;if((a=knt(n=this.Dh(),t))>=(e=this.ji()))return KR(t,69).wk().Dk(this,this.hi(),a-e);if(a<=-1){if(!(o=s_t((Xht(),age),n,t)))throw Ay(new Tx(OFt+t.xe()+PFt));if(UE(),KR(o,69).xk()||(o=KY(T1(age,o))),r=KR((i=this.Ih(o))>=0?this.Lh(i,!0,!0):jdt(this,o,!0),160),(s=o.Ik())>1||-1==s)return KR(KR(r,220).Sl(t,!1),79)}else if(t.Jk())return KR((i=this.Ih(t))>=0?this.Lh(i,!1,!0):jdt(this,t,!1),79);return new AM(this,t)},ZEt.hi=function(){return F1(this)},ZEt.ii=function(){return(Aq(),sde).S},ZEt.ji=function(){return Lq(this.ii())},ZEt.ki=function(t){Hht(this,t)},ZEt.Ib=function(){return _pt(this)},vq(jFt,"BasicEObjectImpl",99),Bgt(119,99,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1}),ZEt.li=function(t){return R1(this)[t]},ZEt.mi=function(t,e){Dq(R1(this),t,e)},ZEt.ni=function(t){Dq(R1(this),t,null)},ZEt.th=function(){return KR(i6(this,4),129)},ZEt.uh=function(){throw Ay(new Zy)},ZEt.vh=function(){return 0!=(4&this.Db)},ZEt.zh=function(){throw Ay(new Zy)},ZEt.oi=function(t){zit(this,2,t)},ZEt.Bh=function(t,e){this.Db=e<<16|255&this.Db,this.oi(t)},ZEt.Dh=function(){return RG(this)},ZEt.Fh=function(){return this.Db>>16},ZEt.Gh=function(){var t;return zE(),null==(t=UG(uxt(KR(i6(this,16),29)||this.ii())))?jde:new jN(this,t)},ZEt.wh=function(){return 0==(1&this.Db)},ZEt.Jh=function(){return KR(i6(this,128),2034)},ZEt.Kh=function(){return KR(i6(this,16),29)},ZEt.Oh=function(){return 0!=(32&this.Db)},ZEt.Ph=function(){return KR(i6(this,2),54)},ZEt.Vh=function(){return 0!=(64&this.Db)},ZEt.$h=function(){throw Ay(new Zy)},ZEt._h=function(){return KR(i6(this,64),288)},ZEt.ci=function(t){zit(this,16,t)},ZEt.di=function(t){zit(this,128,t)},ZEt.ei=function(t){zit(this,64,t)},ZEt.hi=function(){return jit(this)},ZEt.Db=0,vq(jFt,"MinimalEObjectImpl",119),Bgt(120,119,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),ZEt.oi=function(t){this.Cb=t},ZEt.Ph=function(){return this.Cb},vq(jFt,"MinimalEObjectImpl/Container",120),Bgt(2083,120,{110:1,342:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),ZEt.Lh=function(t,e,n){return est(this,t,e,n)},ZEt.Uh=function(t,e,n){return Gut(this,t,e,n)},ZEt.Wh=function(t){return wV(this,t)},ZEt.bi=function(t,e){l8(this,t,e)},ZEt.ii=function(){return hEt(),Dhe},ZEt.ki=function(t){y7(this,t)},ZEt.nf=function(){return Brt(this)},ZEt.gh=function(){return!this.o&&(this.o=new mJ((hEt(),Ohe),nfe,this,0)),this.o},ZEt.of=function(t){return spt(this,t)},ZEt.pf=function(t){return GZ(this,t)},ZEt.qf=function(t,e){return nat(this,t,e)},vq(zFt,"EMapPropertyHolderImpl",2083),Bgt(572,120,{110:1,377:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},Zc),ZEt.Lh=function(t,e,n){switch(t){case 0:return this.a;case 1:return this.b}return uat(this,t,e,n)},ZEt.Wh=function(t){switch(t){case 0:return 0!=this.a;case 1:return 0!=this.b}return Prt(this,t)},ZEt.bi=function(t,e){switch(t){case 0:return void $2(this,gx(qD(e)));case 1:return void L2(this,gx(qD(e)))}Ift(this,t,e)},ZEt.ii=function(){return hEt(),The},ZEt.ki=function(t){switch(t){case 0:return void $2(this,0);case 1:return void L2(this,0)}Hht(this,t)},ZEt.Ib=function(){var t;return 64&this.Db?_pt(this):((t=new gN(_pt(this))).a+=" (x: ",o_(t,this.a),t.a+=", y: ",o_(t,this.b),t.a+=")",t.a)},ZEt.a=0,ZEt.b=0,vq(zFt,"ElkBendPointImpl",572),Bgt(739,2083,{110:1,342:1,167:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),ZEt.Lh=function(t,e,n){return Wtt(this,t,e,n)},ZEt.Sh=function(t,e,n){return Ult(this,t,e,n)},ZEt.Uh=function(t,e,n){return D6(this,t,e,n)},ZEt.Wh=function(t){return u6(this,t)},ZEt.bi=function(t,e){Cct(this,t,e)},ZEt.ii=function(){return hEt(),Ahe},ZEt.ki=function(t){W9(this,t)},ZEt.jh=function(){return this.k},ZEt.kh=function(){return qH(this)},ZEt.Ib=function(){return vet(this)},ZEt.k=null,vq(zFt,"ElkGraphElementImpl",739),Bgt(740,739,{110:1,342:1,167:1,422:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),ZEt.Lh=function(t,e,n){return Yet(this,t,e,n)},ZEt.Wh=function(t){return fnt(this,t)},ZEt.bi=function(t,e){Act(this,t,e)},ZEt.ii=function(){return hEt(),Nhe},ZEt.ki=function(t){Fnt(this,t)},ZEt.lh=function(){return this.f},ZEt.mh=function(){return this.g},ZEt.nh=function(){return this.i},ZEt.oh=function(){return this.j},ZEt.ph=function(t,e){sI(this,t,e)},ZEt.qh=function(t,e){cI(this,t,e)},ZEt.rh=function(t){D2(this,t)},ZEt.sh=function(t){P2(this,t)},ZEt.Ib=function(){return eht(this)},ZEt.f=0,ZEt.g=0,ZEt.i=0,ZEt.j=0,vq(zFt,"ElkShapeImpl",740),Bgt(741,740,{110:1,342:1,84:1,167:1,422:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),ZEt.Lh=function(t,e,n){return Uat(this,t,e,n)},ZEt.Sh=function(t,e,n){return fct(this,t,e,n)},ZEt.Uh=function(t,e,n){return dct(this,t,e,n)},ZEt.Wh=function(t){return n8(this,t)},ZEt.bi=function(t,e){Kgt(this,t,e)},ZEt.ii=function(){return hEt(),Ehe},ZEt.ki=function(t){eat(this,t)},ZEt.hh=function(){return!this.d&&(this.d=new bB(Ghe,this,8,5)),this.d},ZEt.ih=function(){return!this.e&&(this.e=new bB(Ghe,this,7,4)),this.e},vq(zFt,"ElkConnectableShapeImpl",741),Bgt(326,739,{110:1,342:1,74:1,167:1,326:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},tl),ZEt.Ah=function(t){return Fst(this,t)},ZEt.Lh=function(t,e,n){switch(t){case 3:return fK(this);case 4:return!this.b&&(this.b=new bB(Uhe,this,4,7)),this.b;case 5:return!this.c&&(this.c=new bB(Uhe,this,5,8)),this.c;case 6:return!this.a&&(this.a=new ez(Khe,this,6,6)),this.a;case 7:return FN(),!this.b&&(this.b=new bB(Uhe,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new bB(Uhe,this,5,8)),this.c.i<=1));case 8:return FN(),!!_gt(this);case 9:return FN(),!!Idt(this);case 10:return FN(),!this.b&&(this.b=new bB(Uhe,this,4,7)),0!=this.b.i&&(!this.c&&(this.c=new bB(Uhe,this,5,8)),0!=this.c.i)}return Wtt(this,t,e,n)},ZEt.Sh=function(t,e,n){var i;switch(e){case 3:return this.Cb&&(n=(i=this.Db>>16)>=0?Fst(this,n):this.Cb.Th(this,-1-i,null,n)),vP(this,KR(t,27),n);case 4:return!this.b&&(this.b=new bB(Uhe,this,4,7)),Vnt(this.b,t,n);case 5:return!this.c&&(this.c=new bB(Uhe,this,5,8)),Vnt(this.c,t,n);case 6:return!this.a&&(this.a=new ez(Khe,this,6,6)),Vnt(this.a,t,n)}return Ult(this,t,e,n)},ZEt.Uh=function(t,e,n){switch(e){case 3:return vP(this,null,n);case 4:return!this.b&&(this.b=new bB(Uhe,this,4,7)),cat(this.b,t,n);case 5:return!this.c&&(this.c=new bB(Uhe,this,5,8)),cat(this.c,t,n);case 6:return!this.a&&(this.a=new ez(Khe,this,6,6)),cat(this.a,t,n)}return D6(this,t,e,n)},ZEt.Wh=function(t){switch(t){case 3:return!!fK(this);case 4:return!!this.b&&0!=this.b.i;case 5:return!!this.c&&0!=this.c.i;case 6:return!!this.a&&0!=this.a.i;case 7:return!this.b&&(this.b=new bB(Uhe,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new bB(Uhe,this,5,8)),this.c.i<=1));case 8:return _gt(this);case 9:return Idt(this);case 10:return!this.b&&(this.b=new bB(Uhe,this,4,7)),0!=this.b.i&&(!this.c&&(this.c=new bB(Uhe,this,5,8)),0!=this.c.i)}return u6(this,t)},ZEt.bi=function(t,e){switch(t){case 3:return void cbt(this,KR(e,27));case 4:return!this.b&&(this.b=new bB(Uhe,this,4,7)),Vkt(this.b),!this.b&&(this.b=new bB(Uhe,this,4,7)),void nq(this.b,KR(e,16));case 5:return!this.c&&(this.c=new bB(Uhe,this,5,8)),Vkt(this.c),!this.c&&(this.c=new bB(Uhe,this,5,8)),void nq(this.c,KR(e,16));case 6:return!this.a&&(this.a=new ez(Khe,this,6,6)),Vkt(this.a),!this.a&&(this.a=new ez(Khe,this,6,6)),void nq(this.a,KR(e,16))}Cct(this,t,e)},ZEt.ii=function(){return hEt(),She},ZEt.ki=function(t){switch(t){case 3:return void cbt(this,null);case 4:return!this.b&&(this.b=new bB(Uhe,this,4,7)),void Vkt(this.b);case 5:return!this.c&&(this.c=new bB(Uhe,this,5,8)),void Vkt(this.c);case 6:return!this.a&&(this.a=new ez(Khe,this,6,6)),void Vkt(this.a)}W9(this,t)},ZEt.Ib=function(){return ykt(this)},vq(zFt,"ElkEdgeImpl",326),Bgt(452,2083,{110:1,342:1,166:1,452:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},el),ZEt.Ah=function(t){return Ast(this,t)},ZEt.Lh=function(t,e,n){switch(t){case 1:return this.j;case 2:return this.k;case 3:return this.b;case 4:return this.c;case 5:return!this.a&&(this.a=new AO(zhe,this,5)),this.a;case 6:return gK(this);case 7:return e?Iat(this):this.i;case 8:return e?Lat(this):this.f;case 9:return!this.g&&(this.g=new bB(Khe,this,9,10)),this.g;case 10:return!this.e&&(this.e=new bB(Khe,this,10,9)),this.e;case 11:return this.d}return est(this,t,e,n)},ZEt.Sh=function(t,e,n){var i;switch(e){case 6:return this.Cb&&(n=(i=this.Db>>16)>=0?Ast(this,n):this.Cb.Th(this,-1-i,null,n)),wP(this,KR(t,74),n);case 9:return!this.g&&(this.g=new bB(Khe,this,9,10)),Vnt(this.g,t,n);case 10:return!this.e&&(this.e=new bB(Khe,this,10,9)),Vnt(this.e,t,n)}return KR(N0(KR(i6(this,16),29)||(hEt(),Che),e),69).wk().zk(this,jit(this),e-Lq((hEt(),Che)),t,n)},ZEt.Uh=function(t,e,n){switch(e){case 5:return!this.a&&(this.a=new AO(zhe,this,5)),cat(this.a,t,n);case 6:return wP(this,null,n);case 9:return!this.g&&(this.g=new bB(Khe,this,9,10)),cat(this.g,t,n);case 10:return!this.e&&(this.e=new bB(Khe,this,10,9)),cat(this.e,t,n)}return Gut(this,t,e,n)},ZEt.Wh=function(t){switch(t){case 1:return 0!=this.j;case 2:return 0!=this.k;case 3:return 0!=this.b;case 4:return 0!=this.c;case 5:return!!this.a&&0!=this.a.i;case 6:return!!gK(this);case 7:return!!this.i;case 8:return!!this.f;case 9:return!!this.g&&0!=this.g.i;case 10:return!!this.e&&0!=this.e.i;case 11:return null!=this.d}return wV(this,t)},ZEt.bi=function(t,e){switch(t){case 1:return void B2(this,gx(qD(e)));case 2:return void F2(this,gx(qD(e)));case 3:return void I2(this,gx(qD(e)));case 4:return void R2(this,gx(qD(e)));case 5:return!this.a&&(this.a=new AO(zhe,this,5)),Vkt(this.a),!this.a&&(this.a=new AO(zhe,this,5)),void nq(this.a,KR(e,16));case 6:return void sbt(this,KR(e,74));case 7:return void V4(this,KR(e,84));case 8:return void Y4(this,KR(e,84));case 9:return!this.g&&(this.g=new bB(Khe,this,9,10)),Vkt(this.g),!this.g&&(this.g=new bB(Khe,this,9,10)),void nq(this.g,KR(e,16));case 10:return!this.e&&(this.e=new bB(Khe,this,10,9)),Vkt(this.e),!this.e&&(this.e=new bB(Khe,this,10,9)),void nq(this.e,KR(e,16));case 11:return void o3(this,HD(e))}l8(this,t,e)},ZEt.ii=function(){return hEt(),Che},ZEt.ki=function(t){switch(t){case 1:return void B2(this,0);case 2:return void F2(this,0);case 3:return void I2(this,0);case 4:return void R2(this,0);case 5:return!this.a&&(this.a=new AO(zhe,this,5)),void Vkt(this.a);case 6:return void sbt(this,null);case 7:return void V4(this,null);case 8:return void Y4(this,null);case 9:return!this.g&&(this.g=new bB(Khe,this,9,10)),void Vkt(this.g);case 10:return!this.e&&(this.e=new bB(Khe,this,10,9)),void Vkt(this.e);case 11:return void o3(this,null)}y7(this,t)},ZEt.Ib=function(){return hgt(this)},ZEt.b=0,ZEt.c=0,ZEt.d=null,ZEt.j=0,ZEt.k=0,vq(zFt,"ElkEdgeSectionImpl",452),Bgt(158,120,{110:1,94:1,93:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1}),ZEt.Lh=function(t,e,n){return 0==t?(!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),this.Ab):OJ(this,t-Lq(this.ii()),N0(KR(i6(this,16),29)||this.ii(),t),e,n)},ZEt.Sh=function(t,e,n){return 0==e?(!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),Vnt(this.Ab,t,n)):KR(N0(KR(i6(this,16),29)||this.ii(),e),69).wk().zk(this,jit(this),e-Lq(this.ii()),t,n)},ZEt.Uh=function(t,e,n){return 0==e?(!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),cat(this.Ab,t,n)):KR(N0(KR(i6(this,16),29)||this.ii(),e),69).wk().Ak(this,jit(this),e-Lq(this.ii()),t,n)},ZEt.Wh=function(t){return 0==t?!!this.Ab&&0!=this.Ab.i:AW(this,t-Lq(this.ii()),N0(KR(i6(this,16),29)||this.ii(),t))},ZEt.Zh=function(t){return NTt(this,t)},ZEt.bi=function(t,e){if(0===t)return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),Vkt(this.Ab),!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void nq(this.Ab,KR(e,16));Wet(this,t-Lq(this.ii()),N0(KR(i6(this,16),29)||this.ii(),t),e)},ZEt.di=function(t){zit(this,128,t)},ZEt.ii=function(){return KEt(),wde},ZEt.ki=function(t){if(0===t)return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void Vkt(this.Ab);vtt(this,t-Lq(this.ii()),N0(KR(i6(this,16),29)||this.ii(),t))},ZEt.pi=function(){this.Bb|=1},ZEt.qi=function(t){return gvt(this,t)},ZEt.Bb=0,vq(jFt,"EModelElementImpl",158),Bgt(720,158,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1},Df),ZEt.ri=function(t,e){return F_t(this,t,e)},ZEt.si=function(t){var e,n,i,r;if(this.a!=r2(t)||256&t.Bb)throw Ay(new Tx(YFt+t.zb+UFt));for(n=PG(t);0!=JW(n.a).i;){if(zot(e=KR(g_t(n,0,rO(r=KR(l2(JW(n.a),0),89).c,90)?KR(r,29):(KEt(),xde)),29)))return KR(i=r2(e).wi().si(e),54).ci(t),i;n=PG(e)}return"java.util.Map$Entry"==(null!=t.D?t.D:t.B)?new GF(t):new yF(t)},ZEt.ti=function(t,e){return gEt(this,t,e)},ZEt.Lh=function(t,e,n){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),this.Ab;case 1:return this.a}return OJ(this,t-Lq((KEt(),bde)),N0(KR(i6(this,16),29)||bde,t),e,n)},ZEt.Sh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),Vnt(this.Ab,t,n);case 1:return this.a&&(n=KR(this.a,54).Th(this,4,Xhe,n)),H9(this,KR(t,241),n)}return KR(N0(KR(i6(this,16),29)||(KEt(),bde),e),69).wk().zk(this,jit(this),e-Lq((KEt(),bde)),t,n)},ZEt.Uh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),cat(this.Ab,t,n);case 1:return H9(this,null,n)}return KR(N0(KR(i6(this,16),29)||(KEt(),bde),e),69).wk().Ak(this,jit(this),e-Lq((KEt(),bde)),t,n)},ZEt.Wh=function(t){switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return!!this.a}return AW(this,t-Lq((KEt(),bde)),N0(KR(i6(this,16),29)||bde,t))},ZEt.bi=function(t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),Vkt(this.Ab),!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void nq(this.Ab,KR(e,16));case 1:return void Sut(this,KR(e,241))}Wet(this,t-Lq((KEt(),bde)),N0(KR(i6(this,16),29)||bde,t),e)},ZEt.ii=function(){return KEt(),bde},ZEt.ki=function(t){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void Vkt(this.Ab);case 1:return void Sut(this,null)}vtt(this,t-Lq((KEt(),bde)),N0(KR(i6(this,16),29)||bde,t))},vq(jFt,"EFactoryImpl",720),Bgt(1037,720,{110:1,2113:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1},nl),ZEt.ri=function(t,e){switch(t.hk()){case 12:return KR(e,149).Pg();case 13:return Get(e);default:throw Ay(new Tx(HFt+t.xe()+UFt))}},ZEt.si=function(t){var e;switch(-1==t.G&&(t.G=(e=r2(t))?dat(e.vi(),t):-1),t.G){case 4:return new il;case 6:return new Xw;case 7:return new Qw;case 8:return new tl;case 9:return new Zc;case 10:return new el;case 11:return new rl;default:throw Ay(new Tx(YFt+t.zb+UFt))}},ZEt.ti=function(t,e){switch(t.hk()){case 13:case 12:return null;default:throw Ay(new Tx(HFt+t.xe()+UFt))}},vq(zFt,"ElkGraphFactoryImpl",1037),Bgt(448,158,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1}),ZEt.Gh=function(){var t;return null==(t=UG(uxt(KR(i6(this,16),29)||this.ii())))?(zE(),zE(),jde):new ED(this,t)},ZEt.Lh=function(t,e,n){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),this.Ab;case 1:return this.xe()}return OJ(this,t-Lq(this.ii()),N0(KR(i6(this,16),29)||this.ii(),t),e,n)},ZEt.Wh=function(t){switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb}return AW(this,t-Lq(this.ii()),N0(KR(i6(this,16),29)||this.ii(),t))},ZEt.bi=function(t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),Vkt(this.Ab),!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void nq(this.Ab,KR(e,16));case 1:return void this.ui(HD(e))}Wet(this,t-Lq(this.ii()),N0(KR(i6(this,16),29)||this.ii(),t),e)},ZEt.ii=function(){return KEt(),vde},ZEt.ki=function(t){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void Vkt(this.Ab);case 1:return void this.ui(null)}vtt(this,t-Lq(this.ii()),N0(KR(i6(this,16),29)||this.ii(),t))},ZEt.xe=function(){return this.zb},ZEt.ui=function(t){B3(this,t)},ZEt.Ib=function(){return utt(this)},ZEt.zb=null,vq(jFt,"ENamedElementImpl",448),Bgt(184,448,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1},YU),ZEt.Ah=function(t){return Ost(this,t)},ZEt.Lh=function(t,e,n){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.yb;case 3:return this.xb;case 4:return this.sb;case 5:return!this.rb&&(this.rb=new lz(this,Vfe,this)),this.rb;case 6:return!this.vb&&(this.vb=new cB(Xhe,this,6,7)),this.vb;case 7:return e?this.Db>>16==7?KR(this.Cb,241):null:IK(this)}return OJ(this,t-Lq((KEt(),Tde)),N0(KR(i6(this,16),29)||Tde,t),e,n)},ZEt.Sh=function(t,e,n){var i;switch(e){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),Vnt(this.Ab,t,n);case 4:return this.sb&&(n=KR(this.sb,54).Th(this,1,Vhe,n)),ftt(this,KR(t,480),n);case 5:return!this.rb&&(this.rb=new lz(this,Vfe,this)),Vnt(this.rb,t,n);case 6:return!this.vb&&(this.vb=new cB(Xhe,this,6,7)),Vnt(this.vb,t,n);case 7:return this.Cb&&(n=(i=this.Db>>16)>=0?Ost(this,n):this.Cb.Th(this,-1-i,null,n)),svt(this,t,7,n)}return KR(N0(KR(i6(this,16),29)||(KEt(),Tde),e),69).wk().zk(this,jit(this),e-Lq((KEt(),Tde)),t,n)},ZEt.Uh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),cat(this.Ab,t,n);case 4:return ftt(this,null,n);case 5:return!this.rb&&(this.rb=new lz(this,Vfe,this)),cat(this.rb,t,n);case 6:return!this.vb&&(this.vb=new cB(Xhe,this,6,7)),cat(this.vb,t,n);case 7:return svt(this,null,7,n)}return KR(N0(KR(i6(this,16),29)||(KEt(),Tde),e),69).wk().Ak(this,jit(this),e-Lq((KEt(),Tde)),t,n)},ZEt.Wh=function(t){switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.yb;case 3:return null!=this.xb;case 4:return!!this.sb;case 5:return!!this.rb&&0!=this.rb.i;case 6:return!!this.vb&&0!=this.vb.i;case 7:return!!IK(this)}return AW(this,t-Lq((KEt(),Tde)),N0(KR(i6(this,16),29)||Tde,t))},ZEt.Zh=function(t){return function(t,e){var n,i,r,a,o,s;if(!t.tb){for(!t.rb&&(t.rb=new lz(t,Vfe,t)),s=new RT((a=t.rb).i),r=new zO(a);r.e!=r.i.gc();)i=KR(Frt(r),142),(n=KR(null==(o=i.xe())?_ft(s.f,null,i):pet(s.i,o,i),142))&&(null==o?_ft(s.f,null,n):pet(s.i,o,n));t.tb=s}return KR(ZG(t.tb,e),142)}(this,t)||NTt(this,t)},ZEt.bi=function(t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),Vkt(this.Ab),!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void nq(this.Ab,KR(e,16));case 1:return void B3(this,HD(e));case 2:return void F3(this,HD(e));case 3:return void R3(this,HD(e));case 4:return void Kut(this,KR(e,480));case 5:return!this.rb&&(this.rb=new lz(this,Vfe,this)),Vkt(this.rb),!this.rb&&(this.rb=new lz(this,Vfe,this)),void nq(this.rb,KR(e,16));case 6:return!this.vb&&(this.vb=new cB(Xhe,this,6,7)),Vkt(this.vb),!this.vb&&(this.vb=new cB(Xhe,this,6,7)),void nq(this.vb,KR(e,16))}Wet(this,t-Lq((KEt(),Tde)),N0(KR(i6(this,16),29)||Tde,t),e)},ZEt.ei=function(t){var e,n;if(t&&this.rb)for(n=new zO(this.rb);n.e!=n.i.gc();)rO(e=Frt(n),364)&&(KR(e,364).w=null);zit(this,64,t)},ZEt.ii=function(){return KEt(),Tde},ZEt.ki=function(t){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void Vkt(this.Ab);case 1:return void B3(this,null);case 2:return void F3(this,null);case 3:return void R3(this,null);case 4:return void Kut(this,null);case 5:return!this.rb&&(this.rb=new lz(this,Vfe,this)),void Vkt(this.rb);case 6:return!this.vb&&(this.vb=new cB(Xhe,this,6,7)),void Vkt(this.vb)}vtt(this,t-Lq((KEt(),Tde)),N0(KR(i6(this,16),29)||Tde,t))},ZEt.pi=function(){nst(this)},ZEt.vi=function(){return!this.rb&&(this.rb=new lz(this,Vfe,this)),this.rb},ZEt.wi=function(){return this.sb},ZEt.xi=function(){return this.ub},ZEt.yi=function(){return this.xb},ZEt.zi=function(){return this.yb},ZEt.Ai=function(t){this.ub=t},ZEt.Ib=function(){var t;return 64&this.Db?utt(this):((t=new gN(utt(this))).a+=" (nsURI: ",QM(t,this.yb),t.a+=", nsPrefix: ",QM(t,this.xb),t.a+=")",t.a)},ZEt.xb=null,ZEt.yb=null,vq(jFt,"EPackageImpl",184),Bgt(569,184,{110:1,2115:1,569:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1},Igt),ZEt.q=!1,ZEt.r=!1;var tfe=!1;vq(zFt,"ElkGraphPackageImpl",569),Bgt(366,740,{110:1,342:1,167:1,135:1,422:1,366:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},il),ZEt.Ah=function(t){return Mst(this,t)},ZEt.Lh=function(t,e,n){switch(t){case 7:return NK(this);case 8:return this.a}return Yet(this,t,e,n)},ZEt.Sh=function(t,e,n){var i;return 7===e?(this.Cb&&(n=(i=this.Db>>16)>=0?Mst(this,n):this.Cb.Th(this,-1-i,null,n)),gj(this,KR(t,167),n)):Ult(this,t,e,n)},ZEt.Uh=function(t,e,n){return 7==e?gj(this,null,n):D6(this,t,e,n)},ZEt.Wh=function(t){switch(t){case 7:return!!NK(this);case 8:return!_B("",this.a)}return fnt(this,t)},ZEt.bi=function(t,e){switch(t){case 7:return void Ibt(this,KR(e,167));case 8:return void W4(this,HD(e))}Act(this,t,e)},ZEt.ii=function(){return hEt(),Mhe},ZEt.ki=function(t){switch(t){case 7:return void Ibt(this,null);case 8:return void W4(this,"")}Fnt(this,t)},ZEt.Ib=function(){return Oht(this)},ZEt.a="",vq(zFt,"ElkLabelImpl",366),Bgt(207,741,{110:1,342:1,84:1,167:1,27:1,422:1,207:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},Xw),ZEt.Ah=function(t){return $st(this,t)},ZEt.Lh=function(t,e,n){switch(t){case 9:return!this.c&&(this.c=new ez(Jhe,this,9,9)),this.c;case 10:return!this.a&&(this.a=new ez(Zhe,this,10,11)),this.a;case 11:return DK(this);case 12:return!this.b&&(this.b=new ez(Ghe,this,12,3)),this.b;case 13:return FN(),!this.a&&(this.a=new ez(Zhe,this,10,11)),this.a.i>0}return Uat(this,t,e,n)},ZEt.Sh=function(t,e,n){var i;switch(e){case 9:return!this.c&&(this.c=new ez(Jhe,this,9,9)),Vnt(this.c,t,n);case 10:return!this.a&&(this.a=new ez(Zhe,this,10,11)),Vnt(this.a,t,n);case 11:return this.Cb&&(n=(i=this.Db>>16)>=0?$st(this,n):this.Cb.Th(this,-1-i,null,n)),sB(this,KR(t,27),n);case 12:return!this.b&&(this.b=new ez(Ghe,this,12,3)),Vnt(this.b,t,n)}return fct(this,t,e,n)},ZEt.Uh=function(t,e,n){switch(e){case 9:return!this.c&&(this.c=new ez(Jhe,this,9,9)),cat(this.c,t,n);case 10:return!this.a&&(this.a=new ez(Zhe,this,10,11)),cat(this.a,t,n);case 11:return sB(this,null,n);case 12:return!this.b&&(this.b=new ez(Ghe,this,12,3)),cat(this.b,t,n)}return dct(this,t,e,n)},ZEt.Wh=function(t){switch(t){case 9:return!!this.c&&0!=this.c.i;case 10:return!!this.a&&0!=this.a.i;case 11:return!!DK(this);case 12:return!!this.b&&0!=this.b.i;case 13:return!this.a&&(this.a=new ez(Zhe,this,10,11)),this.a.i>0}return n8(this,t)},ZEt.bi=function(t,e){switch(t){case 9:return!this.c&&(this.c=new ez(Jhe,this,9,9)),Vkt(this.c),!this.c&&(this.c=new ez(Jhe,this,9,9)),void nq(this.c,KR(e,16));case 10:return!this.a&&(this.a=new ez(Zhe,this,10,11)),Vkt(this.a),!this.a&&(this.a=new ez(Zhe,this,10,11)),void nq(this.a,KR(e,16));case 11:return void ybt(this,KR(e,27));case 12:return!this.b&&(this.b=new ez(Ghe,this,12,3)),Vkt(this.b),!this.b&&(this.b=new ez(Ghe,this,12,3)),void nq(this.b,KR(e,16))}Kgt(this,t,e)},ZEt.ii=function(){return hEt(),Lhe},ZEt.ki=function(t){switch(t){case 9:return!this.c&&(this.c=new ez(Jhe,this,9,9)),void Vkt(this.c);case 10:return!this.a&&(this.a=new ez(Zhe,this,10,11)),void Vkt(this.a);case 11:return void ybt(this,null);case 12:return!this.b&&(this.b=new ez(Ghe,this,12,3)),void Vkt(this.b)}eat(this,t)},ZEt.Ib=function(){return Jyt(this)},vq(zFt,"ElkNodeImpl",207),Bgt(193,741,{110:1,342:1,84:1,167:1,123:1,422:1,193:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},Qw),ZEt.Ah=function(t){return Lst(this,t)},ZEt.Lh=function(t,e,n){return 9==t?dK(this):Uat(this,t,e,n)},ZEt.Sh=function(t,e,n){var i;return 9===e?(this.Cb&&(n=(i=this.Db>>16)>=0?Lst(this,n):this.Cb.Th(this,-1-i,null,n)),xP(this,KR(t,27),n)):fct(this,t,e,n)},ZEt.Uh=function(t,e,n){return 9==e?xP(this,null,n):dct(this,t,e,n)},ZEt.Wh=function(t){return 9==t?!!dK(this):n8(this,t)},ZEt.bi=function(t,e){9!==t?Kgt(this,t,e):lbt(this,KR(e,27))},ZEt.ii=function(){return hEt(),Ihe},ZEt.ki=function(t){9!==t?eat(this,t):lbt(this,null)},ZEt.Ib=function(){return twt(this)},vq(zFt,"ElkPortImpl",193);var efe=WF(g$t,"BasicEMap/Entry");Bgt(1122,120,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1,119:1,120:1},rl),ZEt.Fb=function(t){return this===t},ZEt.ld=function(){return this.b},ZEt.Hb=function(){return DN(this)},ZEt.Di=function(t){X4(this,KR(t,149))},ZEt.Lh=function(t,e,n){switch(t){case 0:return this.b;case 1:return this.c}return uat(this,t,e,n)},ZEt.Wh=function(t){switch(t){case 0:return!!this.b;case 1:return null!=this.c}return Prt(this,t)},ZEt.bi=function(t,e){switch(t){case 0:return void X4(this,KR(e,149));case 1:return void H4(this,e)}Ift(this,t,e)},ZEt.ii=function(){return hEt(),Ohe},ZEt.ki=function(t){switch(t){case 0:return void X4(this,null);case 1:return void H4(this,null)}Hht(this,t)},ZEt.Bi=function(){var t;return-1==this.a&&(t=this.b,this.a=t?N3(t):0),this.a},ZEt.md=function(){return this.c},ZEt.Ci=function(t){this.a=t},ZEt.nd=function(t){var e;return e=this.c,H4(this,t),e},ZEt.Ib=function(){var t;return 64&this.Db?_pt(this):(tL(tL(tL(t=new Vx,this.b?this.b.Pg():wSt),qIt),dN(this.c)),t.a)},ZEt.a=-1,ZEt.c=null;var nfe=vq(zFt,"ElkPropertyToValueMapEntryImpl",1122);Bgt(996,1,{},sl),vq(m$t,"JsonAdapter",996),Bgt(216,63,bCt,Ix),vq(m$t,"JsonImportException",216),Bgt(868,1,{},Dst),vq(m$t,"JsonImporter",868),Bgt(903,1,{},aM),vq(m$t,"JsonImporter/lambda$0$Type",903),Bgt(904,1,{},oM),vq(m$t,"JsonImporter/lambda$1$Type",904),Bgt(912,1,{},ym),vq(m$t,"JsonImporter/lambda$10$Type",912),Bgt(914,1,{},sM),vq(m$t,"JsonImporter/lambda$11$Type",914),Bgt(915,1,{},cM),vq(m$t,"JsonImporter/lambda$12$Type",915),Bgt(921,1,{},TU),vq(m$t,"JsonImporter/lambda$13$Type",921),Bgt(920,1,{},EU),vq(m$t,"JsonImporter/lambda$14$Type",920),Bgt(916,1,{},lM),vq(m$t,"JsonImporter/lambda$15$Type",916),Bgt(917,1,{},uM),vq(m$t,"JsonImporter/lambda$16$Type",917),Bgt(918,1,{},hM),vq(m$t,"JsonImporter/lambda$17$Type",918),Bgt(919,1,{},fM),vq(m$t,"JsonImporter/lambda$18$Type",919),Bgt(924,1,{},wm),vq(m$t,"JsonImporter/lambda$19$Type",924),Bgt(905,1,{},vm),vq(m$t,"JsonImporter/lambda$2$Type",905),Bgt(922,1,{},xm),vq(m$t,"JsonImporter/lambda$20$Type",922),Bgt(923,1,{},km),vq(m$t,"JsonImporter/lambda$21$Type",923),Bgt(927,1,{},_m),vq(m$t,"JsonImporter/lambda$22$Type",927),Bgt(925,1,{},Tm),vq(m$t,"JsonImporter/lambda$23$Type",925),Bgt(926,1,{},Em),vq(m$t,"JsonImporter/lambda$24$Type",926),Bgt(929,1,{},Sm),vq(m$t,"JsonImporter/lambda$25$Type",929),Bgt(928,1,{},Cm),vq(m$t,"JsonImporter/lambda$26$Type",928),Bgt(930,1,jSt,dM),ZEt.Cd=function(t){!function(t,e,n){var i,r;r=null,(i=xK(t,n))&&(r=Uht(i)),brt(e,n,r)}(this.b,this.a,HD(t))},vq(m$t,"JsonImporter/lambda$27$Type",930),Bgt(931,1,jSt,gM),ZEt.Cd=function(t){!function(t,e,n){var i,r;r=null,(i=xK(t,n))&&(r=Uht(i)),brt(e,n,r)}(this.b,this.a,HD(t))},vq(m$t,"JsonImporter/lambda$28$Type",931),Bgt(932,1,{},pM),vq(m$t,"JsonImporter/lambda$29$Type",932),Bgt(908,1,{},Am),vq(m$t,"JsonImporter/lambda$3$Type",908),Bgt(933,1,{},bM),vq(m$t,"JsonImporter/lambda$30$Type",933),Bgt(934,1,{},Mm),vq(m$t,"JsonImporter/lambda$31$Type",934),Bgt(935,1,{},Lm),vq(m$t,"JsonImporter/lambda$32$Type",935),Bgt(936,1,{},Im),vq(m$t,"JsonImporter/lambda$33$Type",936),Bgt(937,1,{},Om),vq(m$t,"JsonImporter/lambda$34$Type",937),Bgt(870,1,{},Nm),vq(m$t,"JsonImporter/lambda$35$Type",870),Bgt(941,1,{},TR),vq(m$t,"JsonImporter/lambda$36$Type",941),Bgt(938,1,jSt,Dm),ZEt.Cd=function(t){!function(t,e){var n;aG(n=new Wv,"x",e.a),aG(n,"y",e.b),zq(t,n)}(this.a,KR(t,377))},vq(m$t,"JsonImporter/lambda$37$Type",938),Bgt(939,1,jSt,yM),ZEt.Cd=function(t){!function(t,e,n){Tct(e,ift(t,n))}(this.a,this.b,KR(t,166))},vq(m$t,"JsonImporter/lambda$38$Type",939),Bgt(940,1,jSt,wM),ZEt.Cd=function(t){!function(t,e,n){Tct(e,ift(t,n))}(this.a,this.b,KR(t,166))},vq(m$t,"JsonImporter/lambda$39$Type",940),Bgt(906,1,{},Pm),vq(m$t,"JsonImporter/lambda$4$Type",906),Bgt(942,1,jSt,Bm),ZEt.Cd=function(t){!function(t,e){var n;aG(n=new Wv,"x",e.a),aG(n,"y",e.b),zq(t,n)}(this.a,KR(t,8))},vq(m$t,"JsonImporter/lambda$40$Type",942),Bgt(907,1,{},Rm),vq(m$t,"JsonImporter/lambda$5$Type",907),Bgt(911,1,{},Fm),vq(m$t,"JsonImporter/lambda$6$Type",911),Bgt(909,1,{},$m),vq(m$t,"JsonImporter/lambda$7$Type",909),Bgt(910,1,{},jm),vq(m$t,"JsonImporter/lambda$8$Type",910),Bgt(913,1,{},zm),vq(m$t,"JsonImporter/lambda$9$Type",913),Bgt(961,1,jSt,qm),ZEt.Cd=function(t){zq(this.a,new _q(HD(t)))},vq(m$t,"JsonMetaDataConverter/lambda$0$Type",961),Bgt(962,1,jSt,Hm),ZEt.Cd=function(t){!function(t,e){zq(t,new _q(null!=e.f?e.f:""+e.g))}(this.a,KR(t,245))},vq(m$t,"JsonMetaDataConverter/lambda$1$Type",962),Bgt(963,1,jSt,Um),ZEt.Cd=function(t){!function(t,e){null!=e.c&&zq(t,new _q(e.c))}(this.a,KR(t,143))},vq(m$t,"JsonMetaDataConverter/lambda$2$Type",963),Bgt(964,1,jSt,Gm),ZEt.Cd=function(t){!function(t,e){zq(t,new _q(null!=e.f?e.f:""+e.g))}(this.a,KR(t,170))},vq(m$t,"JsonMetaDataConverter/lambda$3$Type",964),Bgt(245,22,{3:1,34:1,22:1,245:1},vM);var ife,rfe,afe,ofe,sfe,cfe,lfe,ufe,hfe,ffe=Z2(sLt,"GraphFeature",245,bHt,(function(){return Ogt(),t7(rk(ffe,1),sCt,245,0,[ufe,sfe,cfe,ofe,lfe,rfe,ife,afe])}),(function(t){return Ogt(),Q2((F5(),hfe),t)}));Bgt(11,1,{34:1,149:1},Vm,AP,vL,vI),ZEt.Fd=function(t){return function(t,e){return BQ(t.b,e.Pg())}(this,KR(t,149))},ZEt.Fb=function(t){return OG(this,t)},ZEt.Sg=function(){return Rrt(this)},ZEt.Pg=function(){return this.b},ZEt.Hb=function(){return d8(this.b)},ZEt.Ib=function(){return this.b},vq(sLt,"Property",11),Bgt(671,1,iMt,Km),ZEt.Ne=function(t,e){return function(t,e,n){var i,r;return i=KR(e.of(t.a),34),r=KR(n.of(t.a),34),null!=i&&null!=r?w5(i,r):null!=i?-1:null!=r?1:0}(this,KR(t,96),KR(e,96))},ZEt.Fb=function(t){return this===t},ZEt.Oe=function(){return new wg(this)},vq(sLt,"PropertyHolderComparator",671),Bgt(709,1,TSt,Ym),ZEt.Nb=function(t){bz(this,t)},ZEt.Pb=function(){return function(t){var e;if(!t.a)throw Ay(new _U);return e=t.a,t.a=DK(t.a),e}(this)},ZEt.Qb=function(){f_()},ZEt.Ob=function(){return!!this.a},vq(O$t,"ElkGraphUtil/AncestorIterator",709);var dfe=WF(g$t,"EList");Bgt(70,56,{20:1,31:1,56:1,16:1,15:1,70:1,61:1}),ZEt.bd=function(t,e){$tt(this,t,e)},ZEt.Fc=function(t){return sJ(this,t)},ZEt.cd=function(t,e){return w7(this,t,e)},ZEt.Gc=function(t){return nq(this,t)},ZEt.Ii=function(){return new YN(this)},ZEt.Ji=function(){return new VN(this)},ZEt.Ki=function(t){return y4(this,t)},ZEt.Li=function(){return!0},ZEt.Mi=function(t,e){},ZEt.Ni=function(){},ZEt.Oi=function(t,e){XZ(this,t,e)},ZEt.Pi=function(t,e,n){},ZEt.Qi=function(t,e){},ZEt.Ri=function(t,e,n){},ZEt.Fb=function(t){return byt(this,t)},ZEt.Hb=function(){return Z6(this)},ZEt.Si=function(){return!1},ZEt.Kc=function(){return new zO(this)},ZEt.ed=function(){return new KN(this)},ZEt.fd=function(t){var e;if(e=this.gc(),t<0||t>e)throw Ay(new wB(t,e));return new Rz(this,t)},ZEt.Ui=function(t,e){this.Ti(t,this.dd(e))},ZEt.Mc=function(t){return Y1(this,t)},ZEt.Wi=function(t,e){return e},ZEt.hd=function(t,e){return gat(this,t,e)},ZEt.Ib=function(){return int(this)},ZEt.Yi=function(){return!0},ZEt.Zi=function(t,e){return f8(this,e)},vq(g$t,"AbstractEList",70),Bgt(66,70,R$t,ul,t2,_5),ZEt.Ei=function(t,e){return Glt(this,t,e)},ZEt.Fi=function(t){return lot(this,t)},ZEt.Gi=function(t,e){ptt(this,t,e)},ZEt.Hi=function(t){SQ(this,t)},ZEt.$i=function(t){return AJ(this,t)},ZEt.$b=function(){CQ(this)},ZEt.Hc=function(t){return mct(this,t)},ZEt.Xb=function(t){return l2(this,t)},ZEt._i=function(t){var e,n,i;++this.j,t>(n=null==this.g?0:this.g.length)&&(i=this.g,(e=n+(n/2|0)+4)=0&&(this.gd(e),!0)},ZEt.Xi=function(t,e){return this.Dj(t,this.Zi(t,e))},ZEt.gc=function(){return this.Ej()},ZEt.Pc=function(){return this.Fj()},ZEt.Qc=function(t){return this.Gj(t)},ZEt.Ib=function(){return this.Hj()},vq(g$t,"DelegatingEList",2093),Bgt(2094,2093,Cjt),ZEt.Ei=function(t,e){return Dvt(this,t,e)},ZEt.Fi=function(t){return this.Ei(this.Ej(),t)},ZEt.Gi=function(t,e){Ngt(this,t,e)},ZEt.Hi=function(t){ogt(this,t)},ZEt.Li=function(){return!this.Mj()},ZEt.$b=function(){Jkt(this)},ZEt.Ij=function(t,e,n,i,r){return new MG(this,t,e,n,i,r)},ZEt.Jj=function(t){Q5(this.jj(),t)},ZEt.Kj=function(){return null},ZEt.Lj=function(){return-1},ZEt.jj=function(){return null},ZEt.Mj=function(){return!1},ZEt.Nj=function(t,e){return e},ZEt.Oj=function(t,e){return e},ZEt.Pj=function(){return!1},ZEt.Qj=function(){return!this.Aj()},ZEt.Ti=function(t,e){var n,i;return this.Pj()?(i=this.Qj(),n=kut(this,t,e),this.Jj(this.Ij(7,ttt(e),n,t,i)),n):kut(this,t,e)},ZEt.gd=function(t){var e,n,i,r;return this.Pj()?(n=null,i=this.Qj(),e=this.Ij(4,r=XF(this,t),null,t,i),this.Mj()&&r?(n=this.Oj(r,n))?(n.nj(e),n.oj()):this.Jj(e):n?(n.nj(e),n.oj()):this.Jj(e),r):(r=XF(this,t),this.Mj()&&r&&(n=this.Oj(r,null))&&n.oj(),r)},ZEt.Xi=function(t,e){return Pvt(this,t,e)},vq(IFt,"DelegatingNotifyingListImpl",2094),Bgt(152,1,Ajt),ZEt.nj=function(t){return rlt(this,t)},ZEt.oj=function(){w1(this)},ZEt.gj=function(){return this.d},ZEt.Kj=function(){return null},ZEt.Rj=function(){return null},ZEt.hj=function(t){return-1},ZEt.ij=function(){return Emt(this)},ZEt.jj=function(){return null},ZEt.kj=function(){return Smt(this)},ZEt.lj=function(){return this.o<0?this.o<-2?-2-this.o-1:-1:this.o},ZEt.Sj=function(){return!1},ZEt.mj=function(t){var e,n,i,r,a,o,s,c;switch(this.d){case 1:case 2:switch(t.gj()){case 1:case 2:if($M(t.jj())===$M(this.jj())&&this.hj(null)==t.hj(null))return this.g=t.ij(),1==t.gj()&&(this.d=1),!0}case 4:if(4===t.gj()&&$M(t.jj())===$M(this.jj())&&this.hj(null)==t.hj(null))return o=d_t(this),a=this.o<0?this.o<-2?-2-this.o-1:-1:this.o,i=t.lj(),this.d=6,c=new t2(2),a<=i?(sJ(c,this.n),sJ(c,t.kj()),this.g=t7(rk($pe,1),$Ct,28,15,[this.o=a,i+1])):(sJ(c,t.kj()),sJ(c,this.n),this.g=t7(rk($pe,1),$Ct,28,15,[this.o=i,a])),this.n=c,o||(this.o=-2-this.o-1),!0;break;case 6:if(4===t.gj()&&$M(t.jj())===$M(this.jj())&&this.hj(null)==t.hj(null)){for(o=d_t(this),i=t.lj(),s=KR(this.g,53),n=WZ($pe,$Ct,28,s.length+1,15,1),e=0;e>>0).toString(16))).a+=" (eventType: ",this.d){case 1:n.a+="SET";break;case 2:n.a+="UNSET";break;case 3:n.a+="ADD";break;case 5:n.a+="ADD_MANY";break;case 4:n.a+="REMOVE";break;case 6:n.a+="REMOVE_MANY";break;case 7:n.a+="MOVE";break;case 8:n.a+="REMOVING_ADAPTER";break;case 9:n.a+="RESOLVE";break;default:s_(n,this.d)}if(ywt(this)&&(n.a+=", touch: true"),n.a+=", position: ",s_(n,this.o<0?this.o<-2?-2-this.o-1:-1:this.o),n.a+=", notifier: ",XM(n,this.jj()),n.a+=", feature: ",XM(n,this.Kj()),n.a+=", oldValue: ",XM(n,Smt(this)),n.a+=", newValue: ",6==this.d&&rO(this.g,53)){for(e=KR(this.g,53),n.a+="[",t=0;t10?((!this.b||this.c.j!=this.a)&&(this.b=new y$(this),this.a=this.j),NT(this.b,t)):mct(this,t)},ZEt.Yi=function(){return!0},ZEt.a=0,vq(g$t,"AbstractEList/1",966),Bgt(302,77,lAt,wB),vq(g$t,"AbstractEList/BasicIndexOutOfBoundsException",302),Bgt(37,1,TSt,zO),ZEt.Nb=function(t){bz(this,t)},ZEt.Xj=function(){if(this.i.j!=this.f)throw Ay(new Jy)},ZEt.Yj=function(){return Frt(this)},ZEt.Ob=function(){return this.e!=this.i.gc()},ZEt.Pb=function(){return this.Yj()},ZEt.Qb=function(){Nct(this)},ZEt.e=0,ZEt.f=0,ZEt.g=-1,vq(g$t,"AbstractEList/EIterator",37),Bgt(286,37,NSt,KN,Rz),ZEt.Qb=function(){Nct(this)},ZEt.Rb=function(t){znt(this,t)},ZEt.Zj=function(){var t;try{return t=this.d.Xb(--this.e),this.Xj(),this.g=this.e,t}catch(t){throw rO(t=j6(t),77)?(this.Xj(),Ay(new ew)):Ay(t)}},ZEt.$j=function(t){got(this,t)},ZEt.Sb=function(){return 0!=this.e},ZEt.Tb=function(){return this.e},ZEt.Ub=function(){return this.Zj()},ZEt.Vb=function(){return this.e-1},ZEt.Wb=function(t){this.$j(t)},vq(g$t,"AbstractEList/EListIterator",286),Bgt(355,37,TSt,YN),ZEt.Yj=function(){return $rt(this)},ZEt.Qb=function(){throw Ay(new Zy)},vq(g$t,"AbstractEList/NonResolvingEIterator",355),Bgt(398,286,NSt,VN,AB),ZEt.Rb=function(t){throw Ay(new Zy)},ZEt.Yj=function(){var t;try{return t=this.c.Vi(this.e),this.Xj(),this.g=this.e++,t}catch(t){throw rO(t=j6(t),77)?(this.Xj(),Ay(new ew)):Ay(t)}},ZEt.Zj=function(){var t;try{return t=this.c.Vi(--this.e),this.Xj(),this.g=this.e,t}catch(t){throw rO(t=j6(t),77)?(this.Xj(),Ay(new ew)):Ay(t)}},ZEt.Qb=function(){throw Ay(new Zy)},ZEt.Wb=function(t){throw Ay(new Zy)},vq(g$t,"AbstractEList/NonResolvingEListIterator",398),Bgt(2080,70,Ijt),ZEt.Ei=function(t,e){var n,i,r,a,o,s,c,l,u;if(0!=(i=e.gc())){for(n=D8(this,(l=null==(c=KR(i6(this.a,4),129))?0:c.length)+i),(u=l-t)>0&&ext(c,t,n,t+i,u),s=e.Kc(),a=0;an)throw Ay(new wB(t,n));return new XH(this,t)},ZEt.$b=function(){var t,e;++this.j,e=null==(t=KR(i6(this.a,4),129))?0:t.length,vrt(this,null),XZ(this,e,t)},ZEt.Hc=function(t){var e,n,i,r;if(null!=(e=KR(i6(this.a,4),129)))if(null!=t){for(i=0,r=(n=e).length;i=(n=null==(e=KR(i6(this.a,4),129))?0:e.length))throw Ay(new wB(t,n));return e[t]},ZEt.dd=function(t){var e,n,i;if(null!=(e=KR(i6(this.a,4),129)))if(null!=t){for(n=0,i=e.length;nn)throw Ay(new wB(t,n));return new WH(this,t)},ZEt.Ti=function(t,e){var n,i,r;if(t>=(r=null==(n=vit(this))?0:n.length))throw Ay(new vx(D$t+t+P$t+r));if(e>=r)throw Ay(new vx(B$t+e+P$t+r));return i=n[e],t!=e&&(t=(o=null==(n=KR(i6(t.a,4),129))?0:n.length))throw Ay(new wB(e,o));return r=n[e],1==o?i=null:(ext(n,0,i=WZ(xfe,Ljt,424,o-1,0,1),0,e),(a=o-e-1)>0&&ext(n,e+1,i,e,a)),vrt(t,i),kft(t,e,r),r}(this,t)},ZEt.Xi=function(t,e){var n,i;return i=(n=vit(this))[t],kI(n,t,f8(this,e)),vrt(this,n),i},ZEt.gc=function(){var t;return null==(t=KR(i6(this.a,4),129))?0:t.length},ZEt.Pc=function(){var t,e,n;return n=null==(t=KR(i6(this.a,4),129))?0:t.length,e=WZ(xfe,Ljt,424,n,0,1),n>0&&ext(t,0,e,0,n),e},ZEt.Qc=function(t){var e,n;return(n=null==(e=KR(i6(this.a,4),129))?0:e.length)>0&&(t.lengthn&&Dq(t,n,null),t},vq(g$t,"ArrayDelegatingEList",2080),Bgt(1051,37,TSt,oQ),ZEt.Xj=function(){if(this.b.j!=this.f||$M(KR(i6(this.b.a,4),129))!==$M(this.a))throw Ay(new Jy)},ZEt.Qb=function(){Nct(this),this.a=KR(i6(this.b.a,4),129)},vq(g$t,"ArrayDelegatingEList/EIterator",1051),Bgt(722,286,NSt,sz,WH),ZEt.Xj=function(){if(this.b.j!=this.f||$M(KR(i6(this.b.a,4),129))!==$M(this.a))throw Ay(new Jy)},ZEt.$j=function(t){got(this,t),this.a=KR(i6(this.b.a,4),129)},ZEt.Qb=function(){Nct(this),this.a=KR(i6(this.b.a,4),129)},vq(g$t,"ArrayDelegatingEList/EListIterator",722),Bgt(1052,355,TSt,sQ),ZEt.Xj=function(){if(this.b.j!=this.f||$M(KR(i6(this.b.a,4),129))!==$M(this.a))throw Ay(new Jy)},vq(g$t,"ArrayDelegatingEList/NonResolvingEIterator",1052),Bgt(723,398,NSt,cz,XH),ZEt.Xj=function(){if(this.b.j!=this.f||$M(KR(i6(this.b.a,4),129))!==$M(this.a))throw Ay(new Jy)},vq(g$t,"ArrayDelegatingEList/NonResolvingEListIterator",723),Bgt(615,302,lAt,wL),vq(g$t,"BasicEList/BasicIndexOutOfBoundsException",615),Bgt(710,66,R$t,PM),ZEt.bd=function(t,e){throw Ay(new Zy)},ZEt.Fc=function(t){throw Ay(new Zy)},ZEt.cd=function(t,e){throw Ay(new Zy)},ZEt.Gc=function(t){throw Ay(new Zy)},ZEt.$b=function(){throw Ay(new Zy)},ZEt._i=function(t){throw Ay(new Zy)},ZEt.Kc=function(){return this.Ii()},ZEt.ed=function(){return this.Ji()},ZEt.fd=function(t){return this.Ki(t)},ZEt.Ti=function(t,e){throw Ay(new Zy)},ZEt.Ui=function(t,e){throw Ay(new Zy)},ZEt.gd=function(t){throw Ay(new Zy)},ZEt.Mc=function(t){throw Ay(new Zy)},ZEt.hd=function(t,e){throw Ay(new Zy)},vq(g$t,"BasicEList/UnmodifiableEList",710),Bgt(721,1,{3:1,20:1,16:1,15:1,61:1,597:1}),ZEt.bd=function(t,e){!function(t,e,n){t.c.bd(e,KR(n,136))}(this,t,KR(e,44))},ZEt.Fc=function(t){return function(t,e){return t.c.Fc(KR(e,136))}(this,KR(t,44))},ZEt.Jc=function(t){UX(this,t)},ZEt.Xb=function(t){return KR(l2(this.c,t),136)},ZEt.Ti=function(t,e){return KR(this.c.Ti(t,e),44)},ZEt.Ui=function(t,e){!function(t,e,n){t.c.Ui(e,KR(n,136))}(this,t,KR(e,44))},ZEt.Lc=function(){return new k$(null,new OY(this,16))},ZEt.gd=function(t){return KR(this.c.gd(t),44)},ZEt.hd=function(t,e){return function(t,e,n){return KR(t.c.hd(e,KR(n,136)),44)}(this,t,KR(e,44))},ZEt.jd=function(t){E3(this,t)},ZEt.Nc=function(){return new OY(this,16)},ZEt.Oc=function(){return new k$(null,new OY(this,16))},ZEt.cd=function(t,e){return this.c.cd(t,e)},ZEt.Gc=function(t){return this.c.Gc(t)},ZEt.$b=function(){this.c.$b()},ZEt.Hc=function(t){return this.c.Hc(t)},ZEt.Ic=function(t){return F6(this.c,t)},ZEt._j=function(){var t,e;if(null==this.d){for(this.d=WZ(gfe,Ojt,66,2*this.f+1,0,1),e=this.e,this.f=0,t=this.c.Kc();t.e!=t.i.gc();)Nat(this,KR(t.Yj(),136));this.e=e}},ZEt.Fb=function(t){return PB(this,t)},ZEt.Hb=function(){return Z6(this.c)},ZEt.dd=function(t){return this.c.dd(t)},ZEt.ak=function(){this.c=new Wm(this)},ZEt.dc=function(){return 0==this.f},ZEt.Kc=function(){return this.c.Kc()},ZEt.ed=function(){return this.c.ed()},ZEt.fd=function(t){return this.c.fd(t)},ZEt.bk=function(){return YZ(this)},ZEt.ck=function(t,e,n){return new ER(t,e,n)},ZEt.dk=function(){return new fl},ZEt.Mc=function(t){return b4(this,t)},ZEt.gc=function(){return this.f},ZEt.kd=function(t,e){return new yY(this.c,t,e)},ZEt.Pc=function(){return this.c.Pc()},ZEt.Qc=function(t){return this.c.Qc(t)},ZEt.Ib=function(){return int(this.c)},ZEt.e=0,ZEt.f=0,vq(g$t,"BasicEMap",721),Bgt(1046,66,R$t,Wm),ZEt.Mi=function(t,e){!function(t,e){Nat(t.a,e)}(this,KR(e,136))},ZEt.Pi=function(t,e,n){++(this,KR(e,136),this).a.e},ZEt.Qi=function(t,e){!function(t,e){Qtt(t.a,e)}(this,KR(e,136))},ZEt.Ri=function(t,e,n){!function(t,e,n){Qtt(t.a,n),Nat(t.a,e)}(this,KR(e,136),KR(n,136))},ZEt.Oi=function(t,e){n6(this.a)},vq(g$t,"BasicEMap/1",1046),Bgt(1047,66,R$t,fl),ZEt.aj=function(t){return WZ(Tfe,Njt,621,t,0,1)},vq(g$t,"BasicEMap/2",1047),Bgt(1048,ASt,MSt,Xm),ZEt.$b=function(){this.a.c.$b()},ZEt.Hc=function(t){return Bnt(this.a,t)},ZEt.Kc=function(){return 0==this.a.f?(WD(),_fe.a):new jk(this.a)},ZEt.Mc=function(t){var e;return e=this.a.f,Nit(this.a,t),this.a.f!=e},ZEt.gc=function(){return this.a.f},vq(g$t,"BasicEMap/3",1048),Bgt(1049,31,CSt,Qm),ZEt.$b=function(){this.a.c.$b()},ZEt.Hc=function(t){return myt(this.a,t)},ZEt.Kc=function(){return 0==this.a.f?(WD(),_fe.a):new zk(this.a)},ZEt.gc=function(){return this.a.f},vq(g$t,"BasicEMap/4",1049),Bgt(1050,ASt,MSt,Zm),ZEt.$b=function(){this.a.c.$b()},ZEt.Hc=function(t){var e,n,i,r,a,o,s,c,l;if(this.a.f>0&&rO(t,44)&&(this.a._j(),r=null==(s=(c=KR(t,44)).ld())?0:N3(s),a=_P(this.a,r),e=this.a.d[a]))for(n=KR(e.g,379),l=e.i,o=0;o"+this.c},ZEt.a=0;var _fe,Tfe=vq(g$t,"BasicEMap/EntryImpl",621);Bgt(546,1,{},dl),vq(g$t,"BasicEMap/View",546),Bgt(783,1,{}),ZEt.Fb=function(t){return Ygt((QU(),NUt),t)},ZEt.Hb=function(){return Z7((QU(),NUt))},ZEt.Ib=function(){return Tut((QU(),NUt))},vq(g$t,"ECollections/BasicEmptyUnmodifiableEList",783),Bgt(1348,1,NSt,gl),ZEt.Nb=function(t){bz(this,t)},ZEt.Rb=function(t){throw Ay(new Zy)},ZEt.Ob=function(){return!1},ZEt.Sb=function(){return!1},ZEt.Pb=function(){throw Ay(new ew)},ZEt.Tb=function(){return 0},ZEt.Ub=function(){throw Ay(new ew)},ZEt.Vb=function(){return-1},ZEt.Qb=function(){throw Ay(new Zy)},ZEt.Wb=function(t){throw Ay(new Zy)},vq(g$t,"ECollections/BasicEmptyUnmodifiableEList/1",1348),Bgt(1346,783,{20:1,16:1,15:1,61:1},Jw),ZEt.bd=function(t,e){N_()},ZEt.Fc=function(t){return D_()},ZEt.cd=function(t,e){return P_()},ZEt.Gc=function(t){return B_()},ZEt.$b=function(){R_()},ZEt.Hc=function(t){return!1},ZEt.Ic=function(t){return!1},ZEt.Jc=function(t){UX(this,t)},ZEt.Xb=function(t){return lL((QU(),t)),null},ZEt.dd=function(t){return-1},ZEt.dc=function(){return!0},ZEt.Kc=function(){return this.a},ZEt.ed=function(){return this.a},ZEt.fd=function(t){return this.a},ZEt.Ti=function(t,e){return F_()},ZEt.Ui=function(t,e){$_()},ZEt.Lc=function(){return new k$(null,new OY(this,16))},ZEt.gd=function(t){return j_()},ZEt.Mc=function(t){return z_()},ZEt.hd=function(t,e){return q_()},ZEt.gc=function(){return 0},ZEt.jd=function(t){E3(this,t)},ZEt.Nc=function(){return new OY(this,16)},ZEt.Oc=function(){return new k$(null,new OY(this,16))},ZEt.kd=function(t,e){return QU(),new yY(NUt,t,e)},ZEt.Pc=function(){return Tj((QU(),NUt))},ZEt.Qc=function(t){return QU(),pot(NUt,t)},vq(g$t,"ECollections/EmptyUnmodifiableEList",1346),Bgt(1347,783,{20:1,16:1,15:1,61:1,597:1},tv),ZEt.bd=function(t,e){N_()},ZEt.Fc=function(t){return D_()},ZEt.cd=function(t,e){return P_()},ZEt.Gc=function(t){return B_()},ZEt.$b=function(){R_()},ZEt.Hc=function(t){return!1},ZEt.Ic=function(t){return!1},ZEt.Jc=function(t){UX(this,t)},ZEt.Xb=function(t){return lL((QU(),t)),null},ZEt.dd=function(t){return-1},ZEt.dc=function(){return!0},ZEt.Kc=function(){return this.a},ZEt.ed=function(){return this.a},ZEt.fd=function(t){return this.a},ZEt.Ti=function(t,e){return F_()},ZEt.Ui=function(t,e){$_()},ZEt.Lc=function(){return new k$(null,new OY(this,16))},ZEt.gd=function(t){return j_()},ZEt.Mc=function(t){return z_()},ZEt.hd=function(t,e){return q_()},ZEt.gc=function(){return 0},ZEt.jd=function(t){E3(this,t)},ZEt.Nc=function(){return new OY(this,16)},ZEt.Oc=function(){return new k$(null,new OY(this,16))},ZEt.kd=function(t,e){return QU(),new yY(NUt,t,e)},ZEt.Pc=function(){return Tj((QU(),NUt))},ZEt.Qc=function(t){return QU(),pot(NUt,t)},ZEt.bk=function(){return QU(),QU(),DUt},vq(g$t,"ECollections/EmptyUnmodifiableEMap",1347);var Efe,Sfe=WF(g$t,"Enumerator");Bgt(288,1,{288:1},Tyt),ZEt.Fb=function(t){var e;return this===t||!!rO(t,288)&&(e=KR(t,288),this.f==e.f&&function(t,e){return null==t?null==e:Git(t,e)}(this.i,e.i)&&S$(this.a,256&this.f?256&e.f?e.a:null:256&e.f?null:e.a)&&S$(this.d,e.d)&&S$(this.g,e.g)&&S$(this.e,e.e)&&function(t,e){var n,i;if(t.j.length!=e.j.length)return!1;for(n=0,i=t.j.length;n=0?t.ki(n):edt(t,e)},vq(jFt,"BasicEObjectImpl/4",1040),Bgt(2081,1,{114:1}),ZEt.Mk=function(t){this.e=0==t?Ide:WZ(nHt,pSt,1,t,5,1)},ZEt.li=function(t){return this.e[t]},ZEt.mi=function(t,e){this.e[t]=e},ZEt.ni=function(t){this.e[t]=null},ZEt.Nk=function(){return this.c},ZEt.Ok=function(){throw Ay(new Zy)},ZEt.Pk=function(){throw Ay(new Zy)},ZEt.Qk=function(){return this.d},ZEt.Rk=function(){return null!=this.e},ZEt.Sk=function(t){this.c=t},ZEt.Tk=function(t){throw Ay(new Zy)},ZEt.Uk=function(t){throw Ay(new Zy)},ZEt.Vk=function(t){this.d=t},vq(jFt,"BasicEObjectImpl/EPropertiesHolderBaseImpl",2081),Bgt(192,2081,{114:1},Cf),ZEt.Ok=function(){return this.a},ZEt.Pk=function(){return this.b},ZEt.Tk=function(t){this.a=t},ZEt.Uk=function(t){this.b=t},vq(jFt,"BasicEObjectImpl/EPropertiesHolderImpl",192),Bgt(516,99,$Ft,pl),ZEt.uh=function(){return this.f},ZEt.zh=function(){return this.k},ZEt.Bh=function(t,e){this.g=t,this.i=e},ZEt.Dh=function(){return 2&this.j?this.$h().Nk():this.ii()},ZEt.Fh=function(){return this.i},ZEt.wh=function(){return 0!=(1&this.j)},ZEt.Ph=function(){return this.g},ZEt.Vh=function(){return 0!=(4&this.j)},ZEt.$h=function(){return!this.k&&(this.k=new Cf),this.k},ZEt.ci=function(t){this.$h().Sk(t),t?this.j|=2:this.j&=-3},ZEt.ei=function(t){this.$h().Uk(t),t?this.j|=4:this.j&=-5},ZEt.ii=function(){return(Aq(),sde).S},ZEt.i=0,ZEt.j=1,vq(jFt,"EObjectImpl",516),Bgt(798,516,{110:1,94:1,93:1,58:1,114:1,54:1,99:1},yF),ZEt.li=function(t){return this.e[t]},ZEt.mi=function(t,e){this.e[t]=e},ZEt.ni=function(t){this.e[t]=null},ZEt.Dh=function(){return this.d},ZEt.Ih=function(t){return knt(this.d,t)},ZEt.Kh=function(){return this.d},ZEt.Oh=function(){return null!=this.e},ZEt.$h=function(){return!this.k&&(this.k=new bl),this.k},ZEt.ci=function(t){this.d=t},ZEt.hi=function(){var t;return null==this.e&&(t=Lq(this.d),this.e=0==t?Ode:WZ(nHt,pSt,1,t,5,1)),this},ZEt.ji=function(){return 0},vq(jFt,"DynamicEObjectImpl",798),Bgt(1522,798,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1},GF),ZEt.Fb=function(t){return this===t},ZEt.Hb=function(){return DN(this)},ZEt.ci=function(t){this.d=t,this.b=Bbt(t,"key"),this.c=Bbt(t,XFt)},ZEt.Bi=function(){var t;return-1==this.a&&(t=B1(this,this.b),this.a=null==t?0:N3(t)),this.a},ZEt.ld=function(){return B1(this,this.b)},ZEt.md=function(){return B1(this,this.c)},ZEt.Ci=function(t){this.a=t},ZEt.Di=function(t){_K(this,this.b,t)},ZEt.nd=function(t){var e;return e=B1(this,this.c),_K(this,this.c,t),e},ZEt.a=0,vq(jFt,"DynamicEObjectImpl/BasicEMapEntry",1522),Bgt(1523,1,{114:1},bl),ZEt.Mk=function(t){throw Ay(new Zy)},ZEt.li=function(t){throw Ay(new Zy)},ZEt.mi=function(t,e){throw Ay(new Zy)},ZEt.ni=function(t){throw Ay(new Zy)},ZEt.Nk=function(){throw Ay(new Zy)},ZEt.Ok=function(){return this.a},ZEt.Pk=function(){return this.b},ZEt.Qk=function(){return this.c},ZEt.Rk=function(){throw Ay(new Zy)},ZEt.Sk=function(t){throw Ay(new Zy)},ZEt.Tk=function(t){this.a=t},ZEt.Uk=function(t){this.b=t},ZEt.Vk=function(t){this.c=t},vq(jFt,"DynamicEObjectImpl/DynamicEPropertiesHolderImpl",1523),Bgt(519,158,{110:1,94:1,93:1,598:1,155:1,58:1,114:1,54:1,99:1,519:1,158:1,119:1,120:1},ml),ZEt.Ah=function(t){return Nst(this,t)},ZEt.Lh=function(t,e,n){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),this.Ab;case 1:return this.d;case 2:return n?(!this.b&&(this.b=new TD((KEt(),Cde),Jde,this)),this.b):(!this.b&&(this.b=new TD((KEt(),Cde),Jde,this)),YZ(this.b));case 3:return BK(this);case 4:return!this.a&&(this.a=new AO($he,this,4)),this.a;case 5:return!this.c&&(this.c=new BO($he,this,5)),this.c}return OJ(this,t-Lq((KEt(),cde)),N0(KR(i6(this,16),29)||cde,t),e,n)},ZEt.Sh=function(t,e,n){var i;switch(e){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),Vnt(this.Ab,t,n);case 3:return this.Cb&&(n=(i=this.Db>>16)>=0?Nst(this,n):this.Cb.Th(this,-1-i,null,n)),pj(this,KR(t,155),n)}return KR(N0(KR(i6(this,16),29)||(KEt(),cde),e),69).wk().zk(this,jit(this),e-Lq((KEt(),cde)),t,n)},ZEt.Uh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),cat(this.Ab,t,n);case 2:return!this.b&&(this.b=new TD((KEt(),Cde),Jde,this)),BB(this.b,t,n);case 3:return pj(this,null,n);case 4:return!this.a&&(this.a=new AO($he,this,4)),cat(this.a,t,n)}return KR(N0(KR(i6(this,16),29)||(KEt(),cde),e),69).wk().Ak(this,jit(this),e-Lq((KEt(),cde)),t,n)},ZEt.Wh=function(t){switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.d;case 2:return!!this.b&&0!=this.b.f;case 3:return!!BK(this);case 4:return!!this.a&&0!=this.a.i;case 5:return!!this.c&&0!=this.c.i}return AW(this,t-Lq((KEt(),cde)),N0(KR(i6(this,16),29)||cde,t))},ZEt.bi=function(t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),Vkt(this.Ab),!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void nq(this.Ab,KR(e,16));case 1:return void function(t,e){J4(t,null==e?null:(yH(e),e))}(this,HD(e));case 2:return!this.b&&(this.b=new TD((KEt(),Cde),Jde,this)),void L5(this.b,e);case 3:return void Obt(this,KR(e,155));case 4:return!this.a&&(this.a=new AO($he,this,4)),Vkt(this.a),!this.a&&(this.a=new AO($he,this,4)),void nq(this.a,KR(e,16));case 5:return!this.c&&(this.c=new BO($he,this,5)),Vkt(this.c),!this.c&&(this.c=new BO($he,this,5)),void nq(this.c,KR(e,16))}Wet(this,t-Lq((KEt(),cde)),N0(KR(i6(this,16),29)||cde,t),e)},ZEt.ii=function(){return KEt(),cde},ZEt.ki=function(t){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void Vkt(this.Ab);case 1:return void J4(this,null);case 2:return!this.b&&(this.b=new TD((KEt(),Cde),Jde,this)),void this.b.c.$b();case 3:return void Obt(this,null);case 4:return!this.a&&(this.a=new AO($he,this,4)),void Vkt(this.a);case 5:return!this.c&&(this.c=new BO($he,this,5)),void Vkt(this.c)}vtt(this,t-Lq((KEt(),cde)),N0(KR(i6(this,16),29)||cde,t))},ZEt.Ib=function(){return ktt(this)},ZEt.d=null,vq(jFt,"EAnnotationImpl",519),Bgt(141,721,Wjt,mJ),ZEt.Gi=function(t,e){!function(t,e,n){KR(t.c,71).Gi(e,n)}(this,t,KR(e,44))},ZEt.Wk=function(t,e){return function(t,e,n){return KR(t.c,71).Wk(e,n)}(this,KR(t,44),e)},ZEt.$i=function(t){return KR(KR(this.c,71).$i(t),136)},ZEt.Ii=function(){return KR(this.c,71).Ii()},ZEt.Ji=function(){return KR(this.c,71).Ji()},ZEt.Ki=function(t){return KR(this.c,71).Ki(t)},ZEt.Xk=function(t,e){return BB(this,t,e)},ZEt.Fk=function(t){return KR(this.c,79).Fk(t)},ZEt.ak=function(){},ZEt.Qj=function(){return KR(this.c,79).Qj()},ZEt.ck=function(t,e,n){var i;return(i=KR(r2(this.b).wi().si(this.b),136)).Ci(t),i.Di(e),i.nd(n),i},ZEt.dk=function(){return new gy(this)},ZEt.Wb=function(t){L5(this,t)},ZEt.Gk=function(){KR(this.c,79).Gk()},vq(Yjt,"EcoreEMap",141),Bgt(165,141,Wjt,TD),ZEt._j=function(){var t,e,n,i,r;if(null==this.d){for(r=WZ(gfe,Ojt,66,2*this.f+1,0,1),n=this.c.Kc();n.e!=n.i.gc();)!(t=r[i=((e=KR(n.Yj(),136)).Bi()&lSt)%r.length])&&(t=r[i]=new gy(this)),t.Fc(e);this.d=r}},vq(jFt,"EAnnotationImpl/1",165),Bgt(292,448,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,481:1,54:1,99:1,158:1,292:1,119:1,120:1}),ZEt.Lh=function(t,e,n){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),this.Ab;case 1:return this.zb;case 2:return FN(),!!(256&this.Bb);case 3:return FN(),!!(512&this.Bb);case 4:return ttt(this.s);case 5:return ttt(this.t);case 6:return FN(),!!this.Jk();case 7:return FN(),this.s>=1;case 8:return e?qst(this):this.r;case 9:return this.q}return OJ(this,t-Lq(this.ii()),N0(KR(i6(this,16),29)||this.ii(),t),e,n)},ZEt.Uh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),cat(this.Ab,t,n);case 9:return iq(this,n)}return KR(N0(KR(i6(this,16),29)||this.ii(),e),69).wk().Ak(this,jit(this),e-Lq(this.ii()),t,n)},ZEt.Wh=function(t){switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return 0==(256&this.Bb);case 3:return 0==(512&this.Bb);case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return this.Jk();case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==Gq(this.q).i;case 9:return!(!this.q||this.r&&!this.q.e&&0==Gq(this.q).i)}return AW(this,t-Lq(this.ii()),N0(KR(i6(this,16),29)||this.ii(),t))},ZEt.bi=function(t,e){var n;switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),Vkt(this.Ab),!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void nq(this.Ab,KR(e,16));case 1:return void this.ui(HD(e));case 2:return void Ttt(this,dx(zD(e)));case 3:return void Ctt(this,dx(zD(e)));case 4:return void j2(this,KR(e,17).a);case 5:return void this.Zk(KR(e,17).a);case 8:return void g9(this,KR(e,142));case 9:return void((n=Klt(this,KR(e,89),null))&&n.oj())}Wet(this,t-Lq(this.ii()),N0(KR(i6(this,16),29)||this.ii(),t),e)},ZEt.ii=function(){return KEt(),Mde},ZEt.ki=function(t){var e;switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void Vkt(this.Ab);case 1:return void this.ui(null);case 2:return void Ttt(this,!0);case 3:return void Ctt(this,!0);case 4:return void j2(this,0);case 5:return void this.Zk(1);case 8:return void g9(this,null);case 9:return void((e=Klt(this,null,null))&&e.oj())}vtt(this,t-Lq(this.ii()),N0(KR(i6(this,16),29)||this.ii(),t))},ZEt.pi=function(){qst(this),this.Bb|=1},ZEt.Hk=function(){return qst(this)},ZEt.Ik=function(){return this.t},ZEt.Jk=function(){var t;return(t=this.t)>1||-1==t},ZEt.Si=function(){return 0!=(512&this.Bb)},ZEt.Yk=function(t,e){return dtt(this,t,e)},ZEt.Zk=function(t){z2(this,t)},ZEt.Ib=function(){return fgt(this)},ZEt.s=0,ZEt.t=1,vq(jFt,"ETypedElementImpl",292),Bgt(462,292,{110:1,94:1,93:1,155:1,197:1,58:1,179:1,69:1,114:1,481:1,54:1,99:1,158:1,462:1,292:1,119:1,120:1,692:1}),ZEt.Ah=function(t){return cst(this,t)},ZEt.Lh=function(t,e,n){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),this.Ab;case 1:return this.zb;case 2:return FN(),!!(256&this.Bb);case 3:return FN(),!!(512&this.Bb);case 4:return ttt(this.s);case 5:return ttt(this.t);case 6:return FN(),!!this.Jk();case 7:return FN(),this.s>=1;case 8:return e?qst(this):this.r;case 9:return this.q;case 10:return FN(),!!(this.Bb&rCt);case 11:return FN(),!!(this.Bb&Zjt);case 12:return FN(),!!(this.Bb&gAt);case 13:return this.j;case 14:return ubt(this);case 15:return FN(),!!(this.Bb&Qjt);case 16:return FN(),!!(this.Bb&FSt);case 17:return PK(this)}return OJ(this,t-Lq(this.ii()),N0(KR(i6(this,16),29)||this.ii(),t),e,n)},ZEt.Sh=function(t,e,n){var i;switch(e){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),Vnt(this.Ab,t,n);case 17:return this.Cb&&(n=(i=this.Db>>16)>=0?cst(this,n):this.Cb.Th(this,-1-i,null,n)),svt(this,t,17,n)}return KR(N0(KR(i6(this,16),29)||this.ii(),e),69).wk().zk(this,jit(this),e-Lq(this.ii()),t,n)},ZEt.Uh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),cat(this.Ab,t,n);case 9:return iq(this,n);case 17:return svt(this,null,17,n)}return KR(N0(KR(i6(this,16),29)||this.ii(),e),69).wk().Ak(this,jit(this),e-Lq(this.ii()),t,n)},ZEt.Wh=function(t){switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return 0==(256&this.Bb);case 3:return 0==(512&this.Bb);case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return this.Jk();case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==Gq(this.q).i;case 9:return!(!this.q||this.r&&!this.q.e&&0==Gq(this.q).i);case 10:return 0==(this.Bb&rCt);case 11:return 0!=(this.Bb&Zjt);case 12:return 0!=(this.Bb&gAt);case 13:return null!=this.j;case 14:return null!=ubt(this);case 15:return 0!=(this.Bb&Qjt);case 16:return 0!=(this.Bb&FSt);case 17:return!!PK(this)}return AW(this,t-Lq(this.ii()),N0(KR(i6(this,16),29)||this.ii(),t))},ZEt.bi=function(t,e){var n;switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),Vkt(this.Ab),!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void nq(this.Ab,KR(e,16));case 1:return void lY(this,HD(e));case 2:return void Ttt(this,dx(zD(e)));case 3:return void Ctt(this,dx(zD(e)));case 4:return void j2(this,KR(e,17).a);case 5:return void this.Zk(KR(e,17).a);case 8:return void g9(this,KR(e,142));case 9:return void((n=Klt(this,KR(e,89),null))&&n.oj());case 10:return void Ztt(this,dx(zD(e)));case 11:return void eet(this,dx(zD(e)));case 12:return void Jtt(this,dx(zD(e)));case 13:return void TM(this,HD(e));case 15:return void tet(this,dx(zD(e)));case 16:return void _et(this,dx(zD(e)))}Wet(this,t-Lq(this.ii()),N0(KR(i6(this,16),29)||this.ii(),t),e)},ZEt.ii=function(){return KEt(),Ade},ZEt.ki=function(t){var e;switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void Vkt(this.Ab);case 1:return rO(this.Cb,90)&&jft(aQ(KR(this.Cb,90)),4),void B3(this,null);case 2:return void Ttt(this,!0);case 3:return void Ctt(this,!0);case 4:return void j2(this,0);case 5:return void this.Zk(1);case 8:return void g9(this,null);case 9:return void((e=Klt(this,null,null))&&e.oj());case 10:return void Ztt(this,!0);case 11:return void eet(this,!1);case 12:return void Jtt(this,!1);case 13:return this.i=null,void s3(this,null);case 15:return void tet(this,!1);case 16:return void _et(this,!1)}vtt(this,t-Lq(this.ii()),N0(KR(i6(this,16),29)||this.ii(),t))},ZEt.pi=function(){KH(T1((Xht(),age),this)),qst(this),this.Bb|=1},ZEt.pk=function(){return this.f},ZEt.ik=function(){return ubt(this)},ZEt.qk=function(){return PK(this)},ZEt.uk=function(){return null},ZEt.$k=function(){return this.k},ZEt.Lj=function(){return this.n},ZEt.vk=function(){return qct(this)},ZEt.wk=function(){var t,e,n,i,r,a,o,s,c;return this.p||((null==(n=PK(this)).i&&uxt(n),n.i).length,(i=this.uk())&&Lq(PK(i)),t=(o=(r=qst(this)).kk())?1&o.i?o==jpe?KHt:o==$pe?nUt:o==Upe?JHt:o==Hpe?ZHt:o==zpe?cUt:o==Gpe?uUt:o==qpe?VHt:QHt:o:null,e=ubt(this),s=r.ik(),Bet(this),this.Bb&FSt&&((a=pct((Xht(),age),n))&&a!=this||(a=KY(T1(age,this))))?this.p=new LM(this,a):this.Jk()?this.al()?i?this.Bb&Qjt?t?this.bl()?this.p=new SU(47,t,this,i):this.p=new SU(5,t,this,i):this.bl()?this.p=new cX(46,this,i):this.p=new cX(4,this,i):t?this.bl()?this.p=new SU(49,t,this,i):this.p=new SU(7,t,this,i):this.bl()?this.p=new cX(48,this,i):this.p=new cX(6,this,i):this.Bb&Qjt?t?t==dHt?this.p=new SR(50,efe,this):this.bl()?this.p=new SR(43,t,this):this.p=new SR(1,t,this):this.bl()?this.p=new SG(42,this):this.p=new SG(0,this):t?t==dHt?this.p=new SR(41,efe,this):this.bl()?this.p=new SR(45,t,this):this.p=new SR(3,t,this):this.bl()?this.p=new SG(44,this):this.p=new SG(2,this):rO(r,156)?t==Fde?this.p=new SG(40,this):512&this.Bb?this.Bb&Qjt?this.p=t?new SR(9,t,this):new SG(8,this):this.p=t?new SR(11,t,this):new SG(10,this):this.Bb&Qjt?this.p=t?new SR(13,t,this):new SG(12,this):this.p=t?new SR(15,t,this):new SG(14,this):i?(c=i.t)>1||-1==c?this.bl()?this.Bb&Qjt?this.p=t?new SU(25,t,this,i):new cX(24,this,i):this.p=t?new SU(27,t,this,i):new cX(26,this,i):this.Bb&Qjt?this.p=t?new SU(29,t,this,i):new cX(28,this,i):this.p=t?new SU(31,t,this,i):new cX(30,this,i):this.bl()?this.Bb&Qjt?this.p=t?new SU(33,t,this,i):new cX(32,this,i):this.p=t?new SU(35,t,this,i):new cX(34,this,i):this.Bb&Qjt?this.p=t?new SU(37,t,this,i):new cX(36,this,i):this.p=t?new SU(39,t,this,i):new cX(38,this,i):this.bl()?this.Bb&Qjt?this.p=t?new SR(17,t,this):new SG(16,this):this.p=t?new SR(19,t,this):new SG(18,this):this.Bb&Qjt?this.p=t?new SR(21,t,this):new SG(20,this):this.p=t?new SR(23,t,this):new SG(22,this):this._k()?this.bl()?this.p=new CR(KR(r,29),this,i):this.p=new XG(KR(r,29),this,i):rO(r,156)?t==Fde?this.p=new SG(40,this):this.Bb&Qjt?this.p=t?new fj(e,s,this,(qnt(),o==$pe?Wde:o==jpe?Ude:o==zpe?Xde:o==Upe?Vde:o==Hpe?Yde:o==Gpe?Zde:o==qpe?Gde:o==Fpe?Kde:Qde)):new MU(KR(r,156),e,s,this):this.p=t?new hj(e,s,this,(qnt(),o==$pe?Wde:o==jpe?Ude:o==zpe?Xde:o==Upe?Vde:o==Hpe?Yde:o==Gpe?Zde:o==qpe?Gde:o==Fpe?Kde:Qde)):new AU(KR(r,156),e,s,this):this.al()?i?this.Bb&Qjt?this.bl()?this.p=new NR(KR(r,29),this,i):this.p=new OR(KR(r,29),this,i):this.bl()?this.p=new IR(KR(r,29),this,i):this.p=new AR(KR(r,29),this,i):this.Bb&Qjt?this.bl()?this.p=new DD(KR(r,29),this):this.p=new OD(KR(r,29),this):this.bl()?this.p=new ID(KR(r,29),this):this.p=new LD(KR(r,29),this):this.bl()?i?this.Bb&Qjt?this.p=new DR(KR(r,29),this,i):this.p=new MR(KR(r,29),this,i):this.Bb&Qjt?this.p=new PD(KR(r,29),this):this.p=new ND(KR(r,29),this):i?this.Bb&Qjt?this.p=new PR(KR(r,29),this,i):this.p=new LR(KR(r,29),this,i):this.Bb&Qjt?this.p=new BD(KR(r,29),this):this.p=new P$(KR(r,29),this)),this.p},ZEt.rk=function(){return 0!=(this.Bb&rCt)},ZEt._k=function(){return!1},ZEt.al=function(){return!1},ZEt.sk=function(){return 0!=(this.Bb&FSt)},ZEt.xk=function(){return G1(this)},ZEt.bl=function(){return!1},ZEt.tk=function(){return 0!=(this.Bb&Qjt)},ZEt.cl=function(t){this.k=t},ZEt.ui=function(t){lY(this,t)},ZEt.Ib=function(){return zyt(this)},ZEt.e=!1,ZEt.n=0,vq(jFt,"EStructuralFeatureImpl",462),Bgt(331,462,{110:1,94:1,93:1,35:1,155:1,197:1,58:1,179:1,69:1,114:1,481:1,54:1,99:1,331:1,158:1,462:1,292:1,119:1,120:1,692:1},rv),ZEt.Lh=function(t,e,n){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),this.Ab;case 1:return this.zb;case 2:return FN(),!!(256&this.Bb);case 3:return FN(),!!(512&this.Bb);case 4:return ttt(this.s);case 5:return ttt(this.t);case 6:return FN(),!!_dt(this);case 7:return FN(),this.s>=1;case 8:return e?qst(this):this.r;case 9:return this.q;case 10:return FN(),!!(this.Bb&rCt);case 11:return FN(),!!(this.Bb&Zjt);case 12:return FN(),!!(this.Bb&gAt);case 13:return this.j;case 14:return ubt(this);case 15:return FN(),!!(this.Bb&Qjt);case 16:return FN(),!!(this.Bb&FSt);case 17:return PK(this);case 18:return FN(),!!(this.Bb&FFt);case 19:return e?R6(this):tZ(this)}return OJ(this,t-Lq((KEt(),lde)),N0(KR(i6(this,16),29)||lde,t),e,n)},ZEt.Wh=function(t){switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return 0==(256&this.Bb);case 3:return 0==(512&this.Bb);case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return _dt(this);case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==Gq(this.q).i;case 9:return!(!this.q||this.r&&!this.q.e&&0==Gq(this.q).i);case 10:return 0==(this.Bb&rCt);case 11:return 0!=(this.Bb&Zjt);case 12:return 0!=(this.Bb&gAt);case 13:return null!=this.j;case 14:return null!=ubt(this);case 15:return 0!=(this.Bb&Qjt);case 16:return 0!=(this.Bb&FSt);case 17:return!!PK(this);case 18:return 0!=(this.Bb&FFt);case 19:return!!tZ(this)}return AW(this,t-Lq((KEt(),lde)),N0(KR(i6(this,16),29)||lde,t))},ZEt.bi=function(t,e){var n;switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),Vkt(this.Ab),!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void nq(this.Ab,KR(e,16));case 1:return void lY(this,HD(e));case 2:return void Ttt(this,dx(zD(e)));case 3:return void Ctt(this,dx(zD(e)));case 4:return void j2(this,KR(e,17).a);case 5:return void Gk(this,KR(e,17).a);case 8:return void g9(this,KR(e,142));case 9:return void((n=Klt(this,KR(e,89),null))&&n.oj());case 10:return void Ztt(this,dx(zD(e)));case 11:return void eet(this,dx(zD(e)));case 12:return void Jtt(this,dx(zD(e)));case 13:return void TM(this,HD(e));case 15:return void tet(this,dx(zD(e)));case 16:return void _et(this,dx(zD(e)));case 18:return void xet(this,dx(zD(e)))}Wet(this,t-Lq((KEt(),lde)),N0(KR(i6(this,16),29)||lde,t),e)},ZEt.ii=function(){return KEt(),lde},ZEt.ki=function(t){var e;switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void Vkt(this.Ab);case 1:return rO(this.Cb,90)&&jft(aQ(KR(this.Cb,90)),4),void B3(this,null);case 2:return void Ttt(this,!0);case 3:return void Ctt(this,!0);case 4:return void j2(this,0);case 5:return this.b=0,void z2(this,1);case 8:return void g9(this,null);case 9:return void((e=Klt(this,null,null))&&e.oj());case 10:return void Ztt(this,!0);case 11:return void eet(this,!1);case 12:return void Jtt(this,!1);case 13:return this.i=null,void s3(this,null);case 15:return void tet(this,!1);case 16:return void _et(this,!1);case 18:return void xet(this,!1)}vtt(this,t-Lq((KEt(),lde)),N0(KR(i6(this,16),29)||lde,t))},ZEt.pi=function(){R6(this),KH(T1((Xht(),age),this)),qst(this),this.Bb|=1},ZEt.Jk=function(){return _dt(this)},ZEt.Yk=function(t,e){return this.b=0,this.a=null,dtt(this,t,e)},ZEt.Zk=function(t){Gk(this,t)},ZEt.Ib=function(){var t;return 64&this.Db?zyt(this):((t=new gN(zyt(this))).a+=" (iD: ",c_(t,0!=(this.Bb&FFt)),t.a+=")",t.a)},ZEt.b=0,vq(jFt,"EAttributeImpl",331),Bgt(364,448,{110:1,94:1,93:1,142:1,155:1,197:1,58:1,114:1,54:1,99:1,364:1,158:1,119:1,120:1,691:1}),ZEt.dl=function(t){return t.Dh()==this},ZEt.Ah=function(t){return Yot(this,t)},ZEt.Bh=function(t,e){this.w=null,this.Db=e<<16|255&this.Db,this.Cb=t},ZEt.Lh=function(t,e,n){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),this.Ab;case 1:return this.zb;case 2:return null!=this.D?this.D:this.B;case 3:return zot(this);case 4:return this.ik();case 5:return this.F;case 6:return e?r2(this):OK(this);case 7:return!this.A&&(this.A=new NO(Bde,this,7)),this.A}return OJ(this,t-Lq(this.ii()),N0(KR(i6(this,16),29)||this.ii(),t),e,n)},ZEt.Sh=function(t,e,n){var i;switch(e){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),Vnt(this.Ab,t,n);case 6:return this.Cb&&(n=(i=this.Db>>16)>=0?Yot(this,n):this.Cb.Th(this,-1-i,null,n)),svt(this,t,6,n)}return KR(N0(KR(i6(this,16),29)||this.ii(),e),69).wk().zk(this,jit(this),e-Lq(this.ii()),t,n)},ZEt.Uh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),cat(this.Ab,t,n);case 6:return svt(this,null,6,n);case 7:return!this.A&&(this.A=new NO(Bde,this,7)),cat(this.A,t,n)}return KR(N0(KR(i6(this,16),29)||this.ii(),e),69).wk().Ak(this,jit(this),e-Lq(this.ii()),t,n)},ZEt.Wh=function(t){switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.D&&this.D==this.F;case 3:return!!zot(this);case 4:return null!=this.ik();case 5:return null!=this.F&&this.F!=this.D&&this.F!=this.B;case 6:return!!OK(this);case 7:return!!this.A&&0!=this.A.i}return AW(this,t-Lq(this.ii()),N0(KR(i6(this,16),29)||this.ii(),t))},ZEt.bi=function(t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),Vkt(this.Ab),!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void nq(this.Ab,KR(e,16));case 1:return void cY(this,HD(e));case 2:return void aI(this,HD(e));case 5:return void Y_t(this,HD(e));case 7:return!this.A&&(this.A=new NO(Bde,this,7)),Vkt(this.A),!this.A&&(this.A=new NO(Bde,this,7)),void nq(this.A,KR(e,16))}Wet(this,t-Lq(this.ii()),N0(KR(i6(this,16),29)||this.ii(),t),e)},ZEt.ii=function(){return KEt(),hde},ZEt.ki=function(t){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void Vkt(this.Ab);case 1:return rO(this.Cb,184)&&(KR(this.Cb,184).tb=null),void B3(this,null);case 2:return K8(this,null),void H2(this,this.D);case 5:return void Y_t(this,null);case 7:return!this.A&&(this.A=new NO(Bde,this,7)),void Vkt(this.A)}vtt(this,t-Lq(this.ii()),N0(KR(i6(this,16),29)||this.ii(),t))},ZEt.hk=function(){var t;return-1==this.G&&(this.G=(t=r2(this))?dat(t.vi(),this):-1),this.G},ZEt.ik=function(){return null},ZEt.jk=function(){return r2(this)},ZEt.el=function(){return this.v},ZEt.kk=function(){return zot(this)},ZEt.lk=function(){return null!=this.D?this.D:this.B},ZEt.mk=function(){return this.F},ZEt.fk=function(t){return Yvt(this,t)},ZEt.fl=function(t){this.v=t},ZEt.gl=function(t){K3(this,t)},ZEt.hl=function(t){this.C=t},ZEt.ui=function(t){cY(this,t)},ZEt.Ib=function(){return Ont(this)},ZEt.C=null,ZEt.D=null,ZEt.G=-1,vq(jFt,"EClassifierImpl",364),Bgt(90,364,{110:1,94:1,93:1,29:1,142:1,155:1,197:1,58:1,114:1,54:1,99:1,90:1,364:1,158:1,482:1,119:1,120:1,691:1},Nf),ZEt.dl=function(t){return function(t,e){return e==t||mct(ebt(e),t)}(this,t.Dh())},ZEt.Lh=function(t,e,n){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),this.Ab;case 1:return this.zb;case 2:return null!=this.D?this.D:this.B;case 3:return zot(this);case 4:return null;case 5:return this.F;case 6:return e?r2(this):OK(this);case 7:return!this.A&&(this.A=new NO(Bde,this,7)),this.A;case 8:return FN(),!!(256&this.Bb);case 9:return FN(),!!(512&this.Bb);case 10:return PG(this);case 11:return!this.q&&(this.q=new ez(nde,this,11,10)),this.q;case 12:return okt(this);case 13:return Qxt(this);case 14:return Qxt(this),this.r;case 15:return okt(this),this.k;case 16:return pft(this);case 17:return Pxt(this);case 18:return uxt(this);case 19:return ebt(this);case 20:return okt(this),this.o;case 21:return!this.s&&(this.s=new ez(Kfe,this,21,17)),this.s;case 22:return JW(this);case 23:return fyt(this)}return OJ(this,t-Lq((KEt(),ude)),N0(KR(i6(this,16),29)||ude,t),e,n)},ZEt.Sh=function(t,e,n){var i;switch(e){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),Vnt(this.Ab,t,n);case 6:return this.Cb&&(n=(i=this.Db>>16)>=0?Yot(this,n):this.Cb.Th(this,-1-i,null,n)),svt(this,t,6,n);case 11:return!this.q&&(this.q=new ez(nde,this,11,10)),Vnt(this.q,t,n);case 21:return!this.s&&(this.s=new ez(Kfe,this,21,17)),Vnt(this.s,t,n)}return KR(N0(KR(i6(this,16),29)||(KEt(),ude),e),69).wk().zk(this,jit(this),e-Lq((KEt(),ude)),t,n)},ZEt.Uh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),cat(this.Ab,t,n);case 6:return svt(this,null,6,n);case 7:return!this.A&&(this.A=new NO(Bde,this,7)),cat(this.A,t,n);case 11:return!this.q&&(this.q=new ez(nde,this,11,10)),cat(this.q,t,n);case 21:return!this.s&&(this.s=new ez(Kfe,this,21,17)),cat(this.s,t,n);case 22:return cat(JW(this),t,n)}return KR(N0(KR(i6(this,16),29)||(KEt(),ude),e),69).wk().Ak(this,jit(this),e-Lq((KEt(),ude)),t,n)},ZEt.Wh=function(t){switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.D&&this.D==this.F;case 3:return!!zot(this);case 4:return!1;case 5:return null!=this.F&&this.F!=this.D&&this.F!=this.B;case 6:return!!OK(this);case 7:return!!this.A&&0!=this.A.i;case 8:return 0!=(256&this.Bb);case 9:return 0!=(512&this.Bb);case 10:return!(!this.u||0==JW(this.u.a).i||this.n&&jat(this.n));case 11:return!!this.q&&0!=this.q.i;case 12:return 0!=okt(this).i;case 13:return 0!=Qxt(this).i;case 14:return Qxt(this),0!=this.r.i;case 15:return okt(this),0!=this.k.i;case 16:return 0!=pft(this).i;case 17:return 0!=Pxt(this).i;case 18:return 0!=uxt(this).i;case 19:return 0!=ebt(this).i;case 20:return okt(this),!!this.o;case 21:return!!this.s&&0!=this.s.i;case 22:return!!this.n&&jat(this.n);case 23:return 0!=fyt(this).i}return AW(this,t-Lq((KEt(),ude)),N0(KR(i6(this,16),29)||ude,t))},ZEt.Zh=function(t){return(null==this.i||this.q&&0!=this.q.i?null:Bbt(this,t))||NTt(this,t)},ZEt.bi=function(t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),Vkt(this.Ab),!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void nq(this.Ab,KR(e,16));case 1:return void cY(this,HD(e));case 2:return void aI(this,HD(e));case 5:return void Y_t(this,HD(e));case 7:return!this.A&&(this.A=new NO(Bde,this,7)),Vkt(this.A),!this.A&&(this.A=new NO(Bde,this,7)),void nq(this.A,KR(e,16));case 8:return void Ett(this,dx(zD(e)));case 9:return void Att(this,dx(zD(e)));case 10:return Jkt(PG(this)),void nq(PG(this),KR(e,16));case 11:return!this.q&&(this.q=new ez(nde,this,11,10)),Vkt(this.q),!this.q&&(this.q=new ez(nde,this,11,10)),void nq(this.q,KR(e,16));case 21:return!this.s&&(this.s=new ez(Kfe,this,21,17)),Vkt(this.s),!this.s&&(this.s=new ez(Kfe,this,21,17)),void nq(this.s,KR(e,16));case 22:return Vkt(JW(this)),void nq(JW(this),KR(e,16))}Wet(this,t-Lq((KEt(),ude)),N0(KR(i6(this,16),29)||ude,t),e)},ZEt.ii=function(){return KEt(),ude},ZEt.ki=function(t){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void Vkt(this.Ab);case 1:return rO(this.Cb,184)&&(KR(this.Cb,184).tb=null),void B3(this,null);case 2:return K8(this,null),void H2(this,this.D);case 5:return void Y_t(this,null);case 7:return!this.A&&(this.A=new NO(Bde,this,7)),void Vkt(this.A);case 8:return void Ett(this,!1);case 9:return void Att(this,!1);case 10:return void(this.u&&Jkt(this.u));case 11:return!this.q&&(this.q=new ez(nde,this,11,10)),void Vkt(this.q);case 21:return!this.s&&(this.s=new ez(Kfe,this,21,17)),void Vkt(this.s);case 22:return void(this.n&&Vkt(this.n))}vtt(this,t-Lq((KEt(),ude)),N0(KR(i6(this,16),29)||ude,t))},ZEt.pi=function(){var t,e,n;if(okt(this),Qxt(this),pft(this),Pxt(this),uxt(this),ebt(this),fyt(this),CQ((!(n=aQ(this)).c&&(n.c=new Pl),n.c)),this.s)for(t=0,e=this.s.i;t=0;--e)l2(this,e);return Int(this,t)},ZEt.Gk=function(){Vkt(this)},ZEt.Zi=function(t,e){return Y2(this,0,e)},vq(Yjt,"EcoreEList",632),Bgt(505,632,uzt,bF),ZEt.Li=function(){return!1},ZEt.Lj=function(){return this.c},ZEt.Mj=function(){return!1},ZEt.ol=function(){return!0},ZEt.Si=function(){return!0},ZEt.Wi=function(t,e){return e},ZEt.Yi=function(){return!1},ZEt.c=0,vq(Yjt,"EObjectEList",505),Bgt(83,505,uzt,AO),ZEt.Mj=function(){return!0},ZEt.ml=function(){return!1},ZEt.al=function(){return!0},vq(Yjt,"EObjectContainmentEList",83),Bgt(555,83,uzt,MO),ZEt.Ni=function(){this.b=!0},ZEt.Qj=function(){return this.b},ZEt.Gk=function(){var t;Vkt(this),ZL(this.e)?(t=this.b,this.b=!1,Q5(this.e,new cQ(this.e,2,this.c,t,!1))):this.b=!1},ZEt.b=!1,vq(Yjt,"EObjectContainmentEList/Unsettable",555),Bgt(1161,555,uzt,lj),ZEt.Ti=function(t,e){var n,i;return n=KR(Xtt(this,t,e),89),ZL(this.e)&&cw(this,new wJ(this.a,7,(KEt(),fde),ttt(e),rO(i=n.c,90)?KR(i,29):xde,t)),n},ZEt.Uj=function(t,e){return function(t,e,n){var i,r;return i=new M1(t.e,3,10,null,rO(r=e.c,90)?KR(r,29):(KEt(),xde),dat(t,e),!1),n?n.nj(i):n=i,n}(this,KR(t,89),e)},ZEt.Vj=function(t,e){return function(t,e,n){var i,r;return i=new M1(t.e,4,10,rO(r=e.c,90)?KR(r,29):(KEt(),xde),null,dat(t,e),!1),n?n.nj(i):n=i,n}(this,KR(t,89),e)},ZEt.Wj=function(t,e,n){return function(t,e,n,i){var r,a,o;return r=new M1(t.e,1,10,rO(o=e.c,90)?KR(o,29):(KEt(),xde),rO(a=n.c,90)?KR(a,29):(KEt(),xde),dat(t,e),!1),i?i.nj(r):i=r,i}(this,KR(t,89),KR(e,89),n)},ZEt.Ij=function(t,e,n,i,r){switch(t){case 3:return JK(this,t,e,n,i,this.i>1);case 5:return JK(this,t,e,n,i,this.i-KR(n,15).gc()>0);default:return new M1(this.e,t,this.c,e,n,i,!0)}},ZEt.Tj=function(){return!0},ZEt.Qj=function(){return jat(this)},ZEt.Gk=function(){Vkt(this)},vq(jFt,"EClassImpl/1",1161),Bgt(1175,1174,Sjt),ZEt.dj=function(t){var e,n,i,r,a,o,s;if(8!=(n=t.gj())){if(0==(i=function(t){switch(t.hj(null)){case 10:return 0;case 15:return 1;case 14:return 2;case 11:return 3;case 21:return 4}return-1}(t)))switch(n){case 1:case 9:null!=(s=t.kj())&&(!(e=aQ(KR(s,482))).c&&(e.c=new Pl),Y1(e.c,t.jj())),null!=(o=t.ij())&&(1&(r=KR(o,482)).Bb||(!(e=aQ(r)).c&&(e.c=new Pl),sJ(e.c,KR(t.jj(),29))));break;case 3:null!=(o=t.ij())&&(1&(r=KR(o,482)).Bb||(!(e=aQ(r)).c&&(e.c=new Pl),sJ(e.c,KR(t.jj(),29))));break;case 5:if(null!=(o=t.ij()))for(a=KR(o,16).Kc();a.Ob();)1&(r=KR(a.Pb(),482)).Bb||(!(e=aQ(r)).c&&(e.c=new Pl),sJ(e.c,KR(t.jj(),29)));break;case 4:null!=(s=t.kj())&&(1&(r=KR(s,482)).Bb||(!(e=aQ(r)).c&&(e.c=new Pl),Y1(e.c,t.jj())));break;case 6:if(null!=(s=t.kj()))for(a=KR(s,16).Kc();a.Ob();)1&(r=KR(a.Pb(),482)).Bb||(!(e=aQ(r)).c&&(e.c=new Pl),Y1(e.c,t.jj()))}this.ql(i)}},ZEt.ql=function(t){Pyt(this,t)},ZEt.b=63,vq(jFt,"ESuperAdapter",1175),Bgt(1176,1175,Sjt,ty),ZEt.ql=function(t){jft(this,t)},vq(jFt,"EClassImpl/10",1176),Bgt(1165,710,uzt),ZEt.Ei=function(t,e){return Glt(this,t,e)},ZEt.Fi=function(t){return lot(this,t)},ZEt.Gi=function(t,e){ptt(this,t,e)},ZEt.Hi=function(t){SQ(this,t)},ZEt.$i=function(t){return AJ(this,t)},ZEt.Xi=function(t,e){return K1(this,t,e)},ZEt.Wk=function(t,e){throw Ay(new Zy)},ZEt.Ii=function(){return new YN(this)},ZEt.Ji=function(){return new VN(this)},ZEt.Ki=function(t){return y4(this,t)},ZEt.Xk=function(t,e){throw Ay(new Zy)},ZEt.Fk=function(t){return this},ZEt.Qj=function(){return 0!=this.i},ZEt.Wb=function(t){throw Ay(new Zy)},ZEt.Gk=function(){throw Ay(new Zy)},vq(Yjt,"EcoreEList/UnmodifiableEList",1165),Bgt(328,1165,uzt,xL),ZEt.Yi=function(){return!1},vq(Yjt,"EcoreEList/UnmodifiableEList/FastCompare",328),Bgt(1168,328,uzt,P7),ZEt.dd=function(t){var e,n;if(rO(t,179)&&-1!=(e=KR(t,179).Lj()))for(n=this.i;e4){if(!this.fk(t))return!1;if(this.al()){if(o=(e=(n=KR(t,54)).Eh())==this.b&&(this.ml()?n.yh(n.Fh(),KR(N0(RG(this.b),this.Lj()).Hk(),29).kk())==Oat(KR(N0(RG(this.b),this.Lj()),19)).n:-1-n.Fh()==this.Lj()),this.nl()&&!o&&!e&&n.Jh())for(i=0;i1||-1==n)},ZEt.ml=function(){var t;return!!rO(t=N0(RG(this.b),this.Lj()),102)&&!!Oat(KR(t,19))},ZEt.nl=function(){var t;return!!rO(t=N0(RG(this.b),this.Lj()),102)&&0!=(KR(t,19).Bb&mAt)},ZEt.dd=function(t){var e,n,i;if((n=this.zj(t))>=0)return n;if(this.ol())for(e=0,i=this.Ej();e=0;--t)g_t(this,t,this.xj(t));return this.Fj()},ZEt.Qc=function(t){var e;if(this.nl())for(e=this.Ej()-1;e>=0;--e)g_t(this,e,this.xj(e));return this.Gj(t)},ZEt.Gk=function(){Jkt(this)},ZEt.Zi=function(t,e){return MJ(this,0,e)},vq(Yjt,"DelegatingEcoreEList",756),Bgt(1171,756,pzt,SP),ZEt.qj=function(t,e){!function(t,e,n){$tt(JW(t.a),e,uY(n))}(this,t,KR(e,29))},ZEt.rj=function(t){!function(t,e){sJ(JW(t.a),uY(e))}(this,KR(t,29))},ZEt.xj=function(t){var e;return rO(e=KR(l2(JW(this.a),t),89).c,90)?KR(e,29):(KEt(),xde)},ZEt.Cj=function(t){var e;return rO(e=KR(qmt(JW(this.a),t),89).c,90)?KR(e,29):(KEt(),xde)},ZEt.Dj=function(t,e){return function(t,e,n){var i,r,a;return(64&(a=rO(r=(i=KR(l2(JW(t.a),e),89)).c,90)?KR(r,29):(KEt(),xde)).Db?j9(t.b,a):a)==n?$vt(i):a2(i,n),a}(this,t,KR(e,29))},ZEt.Li=function(){return!1},ZEt.Ij=function(t,e,n,i,r){return null},ZEt.sj=function(){return new iy(this)},ZEt.tj=function(){Vkt(JW(this.a))},ZEt.uj=function(t){return Ltt(this,t)},ZEt.vj=function(t){var e;for(e=t.Kc();e.Ob();)if(!Ltt(this,e.Pb()))return!1;return!0},ZEt.wj=function(t){var e,n,i;if(rO(t,15)&&(i=KR(t,15)).gc()==JW(this.a).i){for(e=i.Kc(),n=new zO(this);e.Ob();)if($M(e.Pb())!==$M(Frt(n)))return!1;return!0}return!1},ZEt.yj=function(){var t,e,n,i;for(e=1,t=new zO(JW(this.a));t.e!=t.i.gc();)e=31*e+((n=rO(i=KR(Frt(t),89).c,90)?KR(i,29):(KEt(),xde))?DN(n):0);return e},ZEt.zj=function(t){var e,n,i,r;for(i=0,n=new zO(JW(this.a));n.e!=n.i.gc();){if(e=KR(Frt(n),89),$M(t)===$M(rO(r=e.c,90)?KR(r,29):(KEt(),xde)))return i;++i}return-1},ZEt.Aj=function(){return 0==JW(this.a).i},ZEt.Bj=function(){return null},ZEt.Ej=function(){return JW(this.a).i},ZEt.Fj=function(){var t,e,n,i,r,a;for(a=JW(this.a).i,r=WZ(nHt,pSt,1,a,5,1),n=0,e=new zO(JW(this.a));e.e!=e.i.gc();)t=KR(Frt(e),89),r[n++]=rO(i=t.c,90)?KR(i,29):(KEt(),xde);return r},ZEt.Gj=function(t){var e,n,i,r;for(r=JW(this.a).i,t.lengthr&&Dq(t,r,null),n=0,e=new zO(JW(this.a));e.e!=e.i.gc();)Dq(t,n++,rO(i=KR(Frt(e),89).c,90)?KR(i,29):(KEt(),xde));return t},ZEt.Hj=function(){var t,e,n,i,r;for((r=new Kx).a+="[",t=JW(this.a),e=0,i=JW(this.a).i;e>16)>=0?Yot(this,n):this.Cb.Th(this,-1-i,null,n)),svt(this,t,6,n);case 9:return!this.a&&(this.a=new ez(tde,this,9,5)),Vnt(this.a,t,n)}return KR(N0(KR(i6(this,16),29)||(KEt(),gde),e),69).wk().zk(this,jit(this),e-Lq((KEt(),gde)),t,n)},ZEt.Uh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),cat(this.Ab,t,n);case 6:return svt(this,null,6,n);case 7:return!this.A&&(this.A=new NO(Bde,this,7)),cat(this.A,t,n);case 9:return!this.a&&(this.a=new ez(tde,this,9,5)),cat(this.a,t,n)}return KR(N0(KR(i6(this,16),29)||(KEt(),gde),e),69).wk().Ak(this,jit(this),e-Lq((KEt(),gde)),t,n)},ZEt.Wh=function(t){switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return null!=this.D&&this.D==this.F;case 3:return!!zot(this);case 4:return!!X8(this);case 5:return null!=this.F&&this.F!=this.D&&this.F!=this.B;case 6:return!!OK(this);case 7:return!!this.A&&0!=this.A.i;case 8:return 0==(256&this.Bb);case 9:return!!this.a&&0!=this.a.i}return AW(this,t-Lq((KEt(),gde)),N0(KR(i6(this,16),29)||gde,t))},ZEt.bi=function(t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),Vkt(this.Ab),!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void nq(this.Ab,KR(e,16));case 1:return void cY(this,HD(e));case 2:return void aI(this,HD(e));case 5:return void Y_t(this,HD(e));case 7:return!this.A&&(this.A=new NO(Bde,this,7)),Vkt(this.A),!this.A&&(this.A=new NO(Bde,this,7)),void nq(this.A,KR(e,16));case 8:return void Stt(this,dx(zD(e)));case 9:return!this.a&&(this.a=new ez(tde,this,9,5)),Vkt(this.a),!this.a&&(this.a=new ez(tde,this,9,5)),void nq(this.a,KR(e,16))}Wet(this,t-Lq((KEt(),gde)),N0(KR(i6(this,16),29)||gde,t),e)},ZEt.ii=function(){return KEt(),gde},ZEt.ki=function(t){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void Vkt(this.Ab);case 1:return rO(this.Cb,184)&&(KR(this.Cb,184).tb=null),void B3(this,null);case 2:return K8(this,null),void H2(this,this.D);case 5:return void Y_t(this,null);case 7:return!this.A&&(this.A=new NO(Bde,this,7)),void Vkt(this.A);case 8:return void Stt(this,!0);case 9:return!this.a&&(this.a=new ez(tde,this,9,5)),void Vkt(this.a)}vtt(this,t-Lq((KEt(),gde)),N0(KR(i6(this,16),29)||gde,t))},ZEt.pi=function(){var t,e;if(this.a)for(t=0,e=this.a.i;t>16==5?KR(this.Cb,685):null}return OJ(this,t-Lq((KEt(),pde)),N0(KR(i6(this,16),29)||pde,t),e,n)},ZEt.Sh=function(t,e,n){var i;switch(e){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),Vnt(this.Ab,t,n);case 5:return this.Cb&&(n=(i=this.Db>>16)>=0?Ist(this,n):this.Cb.Th(this,-1-i,null,n)),svt(this,t,5,n)}return KR(N0(KR(i6(this,16),29)||(KEt(),pde),e),69).wk().zk(this,jit(this),e-Lq((KEt(),pde)),t,n)},ZEt.Uh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),cat(this.Ab,t,n);case 5:return svt(this,null,5,n)}return KR(N0(KR(i6(this,16),29)||(KEt(),pde),e),69).wk().Ak(this,jit(this),e-Lq((KEt(),pde)),t,n)},ZEt.Wh=function(t){switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return 0!=this.d;case 3:return!!this.b;case 4:return null!=this.c;case 5:return!(this.Db>>16!=5||!KR(this.Cb,685))}return AW(this,t-Lq((KEt(),pde)),N0(KR(i6(this,16),29)||pde,t))},ZEt.bi=function(t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),Vkt(this.Ab),!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void nq(this.Ab,KR(e,16));case 1:return void B3(this,HD(e));case 2:return void q2(this,KR(e,17).a);case 3:return void Wdt(this,KR(e,2039));case 4:return void U4(this,HD(e))}Wet(this,t-Lq((KEt(),pde)),N0(KR(i6(this,16),29)||pde,t),e)},ZEt.ii=function(){return KEt(),pde},ZEt.ki=function(t){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void Vkt(this.Ab);case 1:return void B3(this,null);case 2:return void q2(this,0);case 3:return void Wdt(this,null);case 4:return void U4(this,null)}vtt(this,t-Lq((KEt(),pde)),N0(KR(i6(this,16),29)||pde,t))},ZEt.Ib=function(){return this.c??this.zb},ZEt.b=null,ZEt.c=null,ZEt.d=0,vq(jFt,"EEnumLiteralImpl",582);var $de,jde,zde,qde=WF(jFt,"EFactoryImpl/InternalEDateTimeFormat");Bgt(499,1,{2114:1},ry),vq(jFt,"EFactoryImpl/1ClientInternalEDateTimeFormat",499),Bgt(248,120,{110:1,94:1,93:1,89:1,58:1,114:1,54:1,99:1,248:1,119:1,120:1},xy),ZEt.Ch=function(t,e,n){var i;return n=svt(this,t,e,n),this.e&&rO(t,179)&&(i=Jpt(this,this.e))!=this.c&&(n=W_t(this,i,n)),n},ZEt.Lh=function(t,e,n){switch(t){case 0:return this.f;case 1:return!this.d&&(this.d=new AO(ede,this,1)),this.d;case 2:return e?$vt(this):this.c;case 3:return this.b;case 4:return this.e;case 5:return e?Gat(this):this.a}return OJ(this,t-Lq((KEt(),mde)),N0(KR(i6(this,16),29)||mde,t),e,n)},ZEt.Uh=function(t,e,n){switch(e){case 0:return z9(this,null,n);case 1:return!this.d&&(this.d=new AO(ede,this,1)),cat(this.d,t,n);case 3:return q9(this,null,n)}return KR(N0(KR(i6(this,16),29)||(KEt(),mde),e),69).wk().Ak(this,jit(this),e-Lq((KEt(),mde)),t,n)},ZEt.Wh=function(t){switch(t){case 0:return!!this.f;case 1:return!!this.d&&0!=this.d.i;case 2:return!!this.c;case 3:return!!this.b;case 4:return!!this.e;case 5:return!!this.a}return AW(this,t-Lq((KEt(),mde)),N0(KR(i6(this,16),29)||mde,t))},ZEt.bi=function(t,e){switch(t){case 0:return void Xct(this,KR(e,89));case 1:return!this.d&&(this.d=new AO(ede,this,1)),Vkt(this.d),!this.d&&(this.d=new AO(ede,this,1)),void nq(this.d,KR(e,16));case 3:return void Wct(this,KR(e,89));case 4:return void Cut(this,KR(e,850));case 5:return void a2(this,KR(e,142))}Wet(this,t-Lq((KEt(),mde)),N0(KR(i6(this,16),29)||mde,t),e)},ZEt.ii=function(){return KEt(),mde},ZEt.ki=function(t){switch(t){case 0:return void Xct(this,null);case 1:return!this.d&&(this.d=new AO(ede,this,1)),void Vkt(this.d);case 3:return void Wct(this,null);case 4:return void Cut(this,null);case 5:return void a2(this,null)}vtt(this,t-Lq((KEt(),mde)),N0(KR(i6(this,16),29)||mde,t))},ZEt.Ib=function(){var t;return(t=new pN(_pt(this))).a+=" (expression: ",Mkt(this,t),t.a+=")",t.a},vq(jFt,"EGenericTypeImpl",248),Bgt(2067,2062,bzt),ZEt.Gi=function(t,e){yP(this,t,e)},ZEt.Wk=function(t,e){return yP(this,this.gc(),t),e},ZEt.$i=function(t){return Yrt(this.pj(),t)},ZEt.Ii=function(){return this.Ji()},ZEt.pj=function(){return new dy(this)},ZEt.Ji=function(){return this.Ki(0)},ZEt.Ki=function(t){return this.pj().fd(t)},ZEt.Xk=function(t,e){return ynt(this,t,!0),e},ZEt.Ti=function(t,e){var n;return n=kst(this,e),this.fd(t).Rb(n),n},ZEt.Ui=function(t,e){ynt(this,e,!0),this.fd(t).Rb(e)},vq(Yjt,"AbstractSequentialInternalEList",2067),Bgt(496,2067,bzt,jN),ZEt.$i=function(t){return Yrt(this.pj(),t)},ZEt.Ii=function(){return null==this.b?(qE(),qE(),zde):this.sl()},ZEt.pj=function(){return new kL(this.a,this.b)},ZEt.Ji=function(){return null==this.b?(qE(),qE(),zde):this.sl()},ZEt.Ki=function(t){var e,n;if(null==this.b){if(t<0||t>1)throw Ay(new vx(Mjt+t+", size=0"));return qE(),qE(),zde}for(n=this.sl(),e=0;e0;)if(e=this.c[--this.d],(!this.e||e.pk()!=jhe||0!=e.Lj())&&(!this.vl()||this.b.Xh(e)))if(a=this.b.Nh(e,this.ul()),this.f=(UE(),KR(e,69).xk()),this.f||e.Jk()){if(this.ul()?(i=KR(a,15),this.k=i):(i=KR(a,71),this.k=this.j=i),rO(this.k,59)?(this.o=this.k.gc(),this.n=this.o):this.p=this.j?this.j.Ki(this.k.gc()):this.k.fd(this.k.gc()),this.p?Wht(this,this.p):Oft(this))return r=this.p?this.p.Ub():this.j?this.j.$i(--this.n):this.k.Xb(--this.n),this.f?((t=KR(r,76)).Lk(),n=t.md(),this.i=n):(n=r,this.i=n),this.g=-3,!0}else if(null!=a)return this.k=null,this.p=null,n=a,this.i=n,this.g=-2,!0;return this.k=null,this.p=null,this.g=-1,!1}},ZEt.Pb=function(){return c6(this)},ZEt.Tb=function(){return this.a},ZEt.Ub=function(){var t;if(this.g<-1||this.Sb())return--this.a,this.g=0,t=this.i,this.Sb(),t;throw Ay(new ew)},ZEt.Vb=function(){return this.a-1},ZEt.Qb=function(){throw Ay(new Zy)},ZEt.ul=function(){return!1},ZEt.Wb=function(t){throw Ay(new Zy)},ZEt.vl=function(){return!0},ZEt.a=0,ZEt.d=0,ZEt.f=!1,ZEt.g=0,ZEt.n=0,ZEt.o=0,vq(Yjt,"EContentsEList/FeatureIteratorImpl",287),Bgt(711,287,mzt,SD),ZEt.ul=function(){return!0},vq(Yjt,"EContentsEList/ResolvingFeatureIteratorImpl",711),Bgt(1178,711,mzt,CD),ZEt.vl=function(){return!1},vq(jFt,"ENamedElementImpl/1/1",1178),Bgt(1179,287,mzt,AD),ZEt.vl=function(){return!1},vq(jFt,"ENamedElementImpl/1/2",1179),Bgt(39,152,Ajt,aX,oX,nz,yJ,M1,cQ,J2,aV,t4,oV,lQ,sV,i4,cV,uQ,lV,e4,uV,iz,wJ,oG,n4,hV,hQ,fV),ZEt.Kj=function(){return oJ(this)},ZEt.Rj=function(){var t;return(t=oJ(this))?t.ik():null},ZEt.hj=function(t){return-1==this.b&&this.a&&(this.b=this.c.Hh(this.a.Lj(),this.a.pk())),this.c.yh(this.b,t)},ZEt.jj=function(){return this.c},ZEt.Sj=function(){var t;return!!(t=oJ(this))&&t.tk()},ZEt.b=-1,vq(jFt,"ENotificationImpl",39),Bgt(411,292,{110:1,94:1,93:1,155:1,197:1,58:1,62:1,114:1,481:1,54:1,99:1,158:1,411:1,292:1,119:1,120:1},sv),ZEt.Ah=function(t){return jst(this,t)},ZEt.Lh=function(t,e,n){var i;switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),this.Ab;case 1:return this.zb;case 2:return FN(),!!(256&this.Bb);case 3:return FN(),!!(512&this.Bb);case 4:return ttt(this.s);case 5:return ttt(this.t);case 6:return FN(),(i=this.t)>1||-1==i;case 7:return FN(),this.s>=1;case 8:return e?qst(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?KR(this.Cb,29):null;case 11:return!this.d&&(this.d=new NO(Bde,this,11)),this.d;case 12:return!this.c&&(this.c=new ez(ide,this,12,10)),this.c;case 13:return!this.a&&(this.a=new CP(this,this)),this.a;case 14:return k1(this)}return OJ(this,t-Lq((KEt(),kde)),N0(KR(i6(this,16),29)||kde,t),e,n)},ZEt.Sh=function(t,e,n){var i;switch(e){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),Vnt(this.Ab,t,n);case 10:return this.Cb&&(n=(i=this.Db>>16)>=0?jst(this,n):this.Cb.Th(this,-1-i,null,n)),svt(this,t,10,n);case 12:return!this.c&&(this.c=new ez(ide,this,12,10)),Vnt(this.c,t,n)}return KR(N0(KR(i6(this,16),29)||(KEt(),kde),e),69).wk().zk(this,jit(this),e-Lq((KEt(),kde)),t,n)},ZEt.Uh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),cat(this.Ab,t,n);case 9:return iq(this,n);case 10:return svt(this,null,10,n);case 11:return!this.d&&(this.d=new NO(Bde,this,11)),cat(this.d,t,n);case 12:return!this.c&&(this.c=new ez(ide,this,12,10)),cat(this.c,t,n);case 14:return cat(k1(this),t,n)}return KR(N0(KR(i6(this,16),29)||(KEt(),kde),e),69).wk().Ak(this,jit(this),e-Lq((KEt(),kde)),t,n)},ZEt.Wh=function(t){var e;switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return 0==(256&this.Bb);case 3:return 0==(512&this.Bb);case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return(e=this.t)>1||-1==e;case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==Gq(this.q).i;case 9:return!(!this.q||this.r&&!this.q.e&&0==Gq(this.q).i);case 10:return!(this.Db>>16!=10||!KR(this.Cb,29));case 11:return!!this.d&&0!=this.d.i;case 12:return!!this.c&&0!=this.c.i;case 13:return!(!this.a||0==k1(this.a.a).i||this.b&&zat(this.b));case 14:return!!this.b&&zat(this.b)}return AW(this,t-Lq((KEt(),kde)),N0(KR(i6(this,16),29)||kde,t))},ZEt.bi=function(t,e){var n;switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),Vkt(this.Ab),!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void nq(this.Ab,KR(e,16));case 1:return void B3(this,HD(e));case 2:return void Ttt(this,dx(zD(e)));case 3:return void Ctt(this,dx(zD(e)));case 4:return void j2(this,KR(e,17).a);case 5:return void z2(this,KR(e,17).a);case 8:return void g9(this,KR(e,142));case 9:return void((n=Klt(this,KR(e,89),null))&&n.oj());case 11:return!this.d&&(this.d=new NO(Bde,this,11)),Vkt(this.d),!this.d&&(this.d=new NO(Bde,this,11)),void nq(this.d,KR(e,16));case 12:return!this.c&&(this.c=new ez(ide,this,12,10)),Vkt(this.c),!this.c&&(this.c=new ez(ide,this,12,10)),void nq(this.c,KR(e,16));case 13:return!this.a&&(this.a=new CP(this,this)),Jkt(this.a),!this.a&&(this.a=new CP(this,this)),void nq(this.a,KR(e,16));case 14:return Vkt(k1(this)),void nq(k1(this),KR(e,16))}Wet(this,t-Lq((KEt(),kde)),N0(KR(i6(this,16),29)||kde,t),e)},ZEt.ii=function(){return KEt(),kde},ZEt.ki=function(t){var e;switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void Vkt(this.Ab);case 1:return void B3(this,null);case 2:return void Ttt(this,!0);case 3:return void Ctt(this,!0);case 4:return void j2(this,0);case 5:return void z2(this,1);case 8:return void g9(this,null);case 9:return void((e=Klt(this,null,null))&&e.oj());case 11:return!this.d&&(this.d=new NO(Bde,this,11)),void Vkt(this.d);case 12:return!this.c&&(this.c=new ez(ide,this,12,10)),void Vkt(this.c);case 13:return void(this.a&&Jkt(this.a));case 14:return void(this.b&&Vkt(this.b))}vtt(this,t-Lq((KEt(),kde)),N0(KR(i6(this,16),29)||kde,t))},ZEt.pi=function(){var t,e;if(this.c)for(t=0,e=this.c.i;ti&&Dq(t,i,null),n=0,e=new zO(k1(this.a));e.e!=e.i.gc();)Dq(t,n++,KR(Frt(e),89).c||(KEt(),yde));return t},ZEt.Hj=function(){var t,e,n,i;for((i=new Kx).a+="[",t=k1(this.a),e=0,n=k1(this.a).i;e1);case 5:return JK(this,t,e,n,i,this.i-KR(n,15).gc()>0);default:return new M1(this.e,t,this.c,e,n,i,!0)}},ZEt.Tj=function(){return!0},ZEt.Qj=function(){return zat(this)},ZEt.Gk=function(){Vkt(this)},vq(jFt,"EOperationImpl/2",1377),Bgt(507,1,{2037:1,507:1},MM),vq(jFt,"EPackageImpl/1",507),Bgt(14,83,uzt,ez),ZEt.il=function(){return this.d},ZEt.jl=function(){return this.b},ZEt.ml=function(){return!0},ZEt.b=0,vq(Yjt,"EObjectContainmentWithInverseEList",14),Bgt(365,14,uzt,cB),ZEt.nl=function(){return!0},ZEt.Wi=function(t,e){return mgt(this,t,KR(e,58))},vq(Yjt,"EObjectContainmentWithInverseEList/Resolving",365),Bgt(308,365,uzt,lz),ZEt.Ni=function(){this.a.tb=null},vq(jFt,"EPackageImpl/2",308),Bgt(1278,1,{},(function(){})),vq(jFt,"EPackageImpl/3",1278),Bgt(733,45,IAt,cv),ZEt._b=function(t){return jM(t)?gG(this,t):!!U$(this.f,t)},vq(jFt,"EPackageRegistryImpl",733),Bgt(518,292,{110:1,94:1,93:1,155:1,197:1,58:1,2116:1,114:1,481:1,54:1,99:1,158:1,518:1,292:1,119:1,120:1},lv),ZEt.Ah=function(t){return zst(this,t)},ZEt.Lh=function(t,e,n){var i;switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),this.Ab;case 1:return this.zb;case 2:return FN(),!!(256&this.Bb);case 3:return FN(),!!(512&this.Bb);case 4:return ttt(this.s);case 5:return ttt(this.t);case 6:return FN(),(i=this.t)>1||-1==i;case 7:return FN(),this.s>=1;case 8:return e?qst(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?KR(this.Cb,62):null}return OJ(this,t-Lq((KEt(),Ede)),N0(KR(i6(this,16),29)||Ede,t),e,n)},ZEt.Sh=function(t,e,n){var i;switch(e){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),Vnt(this.Ab,t,n);case 10:return this.Cb&&(n=(i=this.Db>>16)>=0?zst(this,n):this.Cb.Th(this,-1-i,null,n)),svt(this,t,10,n)}return KR(N0(KR(i6(this,16),29)||(KEt(),Ede),e),69).wk().zk(this,jit(this),e-Lq((KEt(),Ede)),t,n)},ZEt.Uh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),cat(this.Ab,t,n);case 9:return iq(this,n);case 10:return svt(this,null,10,n)}return KR(N0(KR(i6(this,16),29)||(KEt(),Ede),e),69).wk().Ak(this,jit(this),e-Lq((KEt(),Ede)),t,n)},ZEt.Wh=function(t){var e;switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return 0==(256&this.Bb);case 3:return 0==(512&this.Bb);case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return(e=this.t)>1||-1==e;case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==Gq(this.q).i;case 9:return!(!this.q||this.r&&!this.q.e&&0==Gq(this.q).i);case 10:return!(this.Db>>16!=10||!KR(this.Cb,62))}return AW(this,t-Lq((KEt(),Ede)),N0(KR(i6(this,16),29)||Ede,t))},ZEt.ii=function(){return KEt(),Ede},vq(jFt,"EParameterImpl",518),Bgt(102,462,{110:1,94:1,93:1,155:1,197:1,58:1,19:1,179:1,69:1,114:1,481:1,54:1,99:1,158:1,102:1,462:1,292:1,119:1,120:1,692:1},QD),ZEt.Lh=function(t,e,n){var i,r;switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),this.Ab;case 1:return this.zb;case 2:return FN(),!!(256&this.Bb);case 3:return FN(),!!(512&this.Bb);case 4:return ttt(this.s);case 5:return ttt(this.t);case 6:return FN(),(r=this.t)>1||-1==r;case 7:return FN(),this.s>=1;case 8:return e?qst(this):this.r;case 9:return this.q;case 10:return FN(),!!(this.Bb&rCt);case 11:return FN(),!!(this.Bb&Zjt);case 12:return FN(),!!(this.Bb&gAt);case 13:return this.j;case 14:return ubt(this);case 15:return FN(),!!(this.Bb&Qjt);case 16:return FN(),!!(this.Bb&FSt);case 17:return PK(this);case 18:return FN(),!!(this.Bb&FFt);case 19:return FN(),!!((i=Oat(this))&&i.Bb&FFt);case 20:return FN(),!!(this.Bb&mAt);case 21:return e?Oat(this):this.b;case 22:return e?q7(this):vQ(this);case 23:return!this.a&&(this.a=new BO(Yfe,this,23)),this.a}return OJ(this,t-Lq((KEt(),Sde)),N0(KR(i6(this,16),29)||Sde,t),e,n)},ZEt.Wh=function(t){var e,n;switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return 0==(256&this.Bb);case 3:return 0==(512&this.Bb);case 4:return 0!=this.s;case 5:return 1!=this.t;case 6:return(n=this.t)>1||-1==n;case 7:return this.s>=1;case 8:return!!this.r&&!this.q.e&&0==Gq(this.q).i;case 9:return!(!this.q||this.r&&!this.q.e&&0==Gq(this.q).i);case 10:return 0==(this.Bb&rCt);case 11:return 0!=(this.Bb&Zjt);case 12:return 0!=(this.Bb&gAt);case 13:return null!=this.j;case 14:return null!=ubt(this);case 15:return 0!=(this.Bb&Qjt);case 16:return 0!=(this.Bb&FSt);case 17:return!!PK(this);case 18:return 0!=(this.Bb&FFt);case 19:return!!(e=Oat(this))&&0!=(e.Bb&FFt);case 20:return 0==(this.Bb&mAt);case 21:return!!this.b;case 22:return!!vQ(this);case 23:return!!this.a&&0!=this.a.i}return AW(this,t-Lq((KEt(),Sde)),N0(KR(i6(this,16),29)||Sde,t))},ZEt.bi=function(t,e){var n;switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),Vkt(this.Ab),!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void nq(this.Ab,KR(e,16));case 1:return void lY(this,HD(e));case 2:return void Ttt(this,dx(zD(e)));case 3:return void Ctt(this,dx(zD(e)));case 4:return void j2(this,KR(e,17).a);case 5:return void z2(this,KR(e,17).a);case 8:return void g9(this,KR(e,142));case 9:return void((n=Klt(this,KR(e,89),null))&&n.oj());case 10:return void Ztt(this,dx(zD(e)));case 11:return void eet(this,dx(zD(e)));case 12:return void Jtt(this,dx(zD(e)));case 13:return void TM(this,HD(e));case 15:return void tet(this,dx(zD(e)));case 16:return void _et(this,dx(zD(e)));case 18:return void function(t,e){ket(t,e),rO(t.Cb,90)&&jft(aQ(KR(t.Cb,90)),2)}(this,dx(zD(e)));case 20:return void Tet(this,dx(zD(e)));case 21:return void c3(this,KR(e,19));case 23:return!this.a&&(this.a=new BO(Yfe,this,23)),Vkt(this.a),!this.a&&(this.a=new BO(Yfe,this,23)),void nq(this.a,KR(e,16))}Wet(this,t-Lq((KEt(),Sde)),N0(KR(i6(this,16),29)||Sde,t),e)},ZEt.ii=function(){return KEt(),Sde},ZEt.ki=function(t){var e;switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void Vkt(this.Ab);case 1:return rO(this.Cb,90)&&jft(aQ(KR(this.Cb,90)),4),void B3(this,null);case 2:return void Ttt(this,!0);case 3:return void Ctt(this,!0);case 4:return void j2(this,0);case 5:return void z2(this,1);case 8:return void g9(this,null);case 9:return void((e=Klt(this,null,null))&&e.oj());case 10:return void Ztt(this,!0);case 11:return void eet(this,!1);case 12:return void Jtt(this,!1);case 13:return this.i=null,void s3(this,null);case 15:return void tet(this,!1);case 16:return void _et(this,!1);case 18:return ket(this,!1),void(rO(this.Cb,90)&&jft(aQ(KR(this.Cb,90)),2));case 20:return void Tet(this,!0);case 21:return void c3(this,null);case 23:return!this.a&&(this.a=new BO(Yfe,this,23)),void Vkt(this.a)}vtt(this,t-Lq((KEt(),Sde)),N0(KR(i6(this,16),29)||Sde,t))},ZEt.pi=function(){q7(this),KH(T1((Xht(),age),this)),qst(this),this.Bb|=1},ZEt.uk=function(){return Oat(this)},ZEt._k=function(){var t;return!!(t=Oat(this))&&0!=(t.Bb&FFt)},ZEt.al=function(){return 0!=(this.Bb&FFt)},ZEt.bl=function(){return 0!=(this.Bb&mAt)},ZEt.Yk=function(t,e){return this.c=null,dtt(this,t,e)},ZEt.Ib=function(){var t;return 64&this.Db?zyt(this):((t=new gN(zyt(this))).a+=" (containment: ",c_(t,0!=(this.Bb&FFt)),t.a+=", resolveProxies: ",c_(t,0!=(this.Bb&mAt)),t.a+=")",t.a)},vq(jFt,"EReferenceImpl",102),Bgt(561,120,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1,561:1,119:1,120:1},El),ZEt.Fb=function(t){return this===t},ZEt.ld=function(){return this.b},ZEt.md=function(){return this.c},ZEt.Hb=function(){return DN(this)},ZEt.Di=function(t){!function(t,e){Q4(t,null==e?null:(yH(e),e))}(this,HD(t))},ZEt.nd=function(t){return function(t,e){var n;return n=t.c,Z4(t,e),n}(this,HD(t))},ZEt.Lh=function(t,e,n){switch(t){case 0:return this.b;case 1:return this.c}return OJ(this,t-Lq((KEt(),Cde)),N0(KR(i6(this,16),29)||Cde,t),e,n)},ZEt.Wh=function(t){switch(t){case 0:return null!=this.b;case 1:return null!=this.c}return AW(this,t-Lq((KEt(),Cde)),N0(KR(i6(this,16),29)||Cde,t))},ZEt.bi=function(t,e){switch(t){case 0:return void function(t,e){Q4(t,null==e?null:(yH(e),e))}(this,HD(e));case 1:return void Z4(this,HD(e))}Wet(this,t-Lq((KEt(),Cde)),N0(KR(i6(this,16),29)||Cde,t),e)},ZEt.ii=function(){return KEt(),Cde},ZEt.ki=function(t){switch(t){case 0:return void Q4(this,null);case 1:return void Z4(this,null)}vtt(this,t-Lq((KEt(),Cde)),N0(KR(i6(this,16),29)||Cde,t))},ZEt.Bi=function(){var t;return-1==this.a&&(t=this.b,this.a=null==t?0:d8(t)),this.a},ZEt.Ci=function(t){this.a=t},ZEt.Ib=function(){var t;return 64&this.Db?_pt(this):((t=new gN(_pt(this))).a+=" (key: ",QM(t,this.b),t.a+=", value: ",QM(t,this.c),t.a+=")",t.a)},ZEt.a=-1,ZEt.b=null,ZEt.c=null;var Hde,Ude,Gde,Kde,Yde,Vde,Wde,Xde,Qde,Zde,Jde=vq(jFt,"EStringToStringMapEntryImpl",561),tge=WF(Yjt,"FeatureMap/Entry/Internal");Bgt(576,1,yzt),ZEt.xl=function(t){return this.yl(KR(t,54))},ZEt.yl=function(t){return this.xl(t)},ZEt.Fb=function(t){var e,n;return this===t||!!rO(t,76)&&(e=KR(t,76)).Lk()==this.c&&(null==(n=this.md())?null==e.md():wtt(n,e.md()))},ZEt.Lk=function(){return this.c},ZEt.Hb=function(){var t;return t=this.md(),N3(this.c)^(null==t?0:N3(t))},ZEt.Ib=function(){var t,e;return e=r2((t=this.c).qk()).yi(),t.xe(),(null!=e&&0!=e.length?e+":"+t.xe():t.xe())+"="+this.md()},vq(jFt,"EStructuralFeatureImpl/BasicFeatureMapEntry",576),Bgt(791,576,yzt,MP),ZEt.yl=function(t){return new MP(this.c,t)},ZEt.md=function(){return this.a},ZEt.zl=function(t,e,n){return function(t,e,n,i,r){var a;return n&&(a=knt(e.Dh(),t.c),r=n.Rh(e,-1-(-1==a?i:a),null,r)),r}(this,t,this.a,e,n)},ZEt.Al=function(t,e,n){return function(t,e,n,i,r){var a;return n&&(a=knt(e.Dh(),t.c),r=n.Th(e,-1-(-1==a?i:a),null,r)),r}(this,t,this.a,e,n)},vq(jFt,"EStructuralFeatureImpl/ContainmentUpdatingFeatureMapEntry",791),Bgt(1350,1,{},LM),ZEt.yk=function(t,e,n,i,r){return KR(kJ(t,this.b),220).Yl(this.a).Fk(i)},ZEt.zk=function(t,e,n,i,r){return KR(kJ(t,this.b),220).Pl(this.a,i,r)},ZEt.Ak=function(t,e,n,i,r){return KR(kJ(t,this.b),220).Ql(this.a,i,r)},ZEt.Bk=function(t,e,n){return KR(kJ(t,this.b),220).Yl(this.a).Qj()},ZEt.Ck=function(t,e,n,i){KR(kJ(t,this.b),220).Yl(this.a).Wb(i)},ZEt.Dk=function(t,e,n){return KR(kJ(t,this.b),220).Yl(this.a)},ZEt.Ek=function(t,e,n){KR(kJ(t,this.b),220).Yl(this.a).Gk()},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateFeatureMapDelegator",1350),Bgt(91,1,{},SR,SU,SG,cX),ZEt.yk=function(t,e,n,i,r){var a;if(null==(a=e.li(n))&&e.mi(n,a=BEt(this,t)),!r)switch(this.e){case 50:case 41:return KR(a,597).bk();case 40:return KR(a,220).Vl()}return a},ZEt.zk=function(t,e,n,i,r){var a;return null==(a=e.li(n))&&e.mi(n,a=BEt(this,t)),KR(a,71).Wk(i,r)},ZEt.Ak=function(t,e,n,i,r){var a;return null!=(a=e.li(n))&&(r=KR(a,71).Xk(i,r)),r},ZEt.Bk=function(t,e,n){var i;return null!=(i=e.li(n))&&KR(i,79).Qj()},ZEt.Ck=function(t,e,n,i){var r;!(r=KR(e.li(n),79))&&e.mi(n,r=BEt(this,t)),r.Wb(i)},ZEt.Dk=function(t,e,n){var i;return null==(i=e.li(n))&&e.mi(n,i=BEt(this,t)),rO(i,79)?KR(i,79):new oy(KR(e.li(n),15))},ZEt.Ek=function(t,e,n){var i;!(i=KR(e.li(n),79))&&e.mi(n,i=BEt(this,t)),i.Gk()},ZEt.b=0,ZEt.e=0,vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateMany",91),Bgt(512,1,{}),ZEt.zk=function(t,e,n,i,r){throw Ay(new Zy)},ZEt.Ak=function(t,e,n,i,r){throw Ay(new Zy)},ZEt.Dk=function(t,e,n){return new CU(this,t,e,n)},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingle",512),Bgt(1367,1,Vjt,CU),ZEt.Fk=function(t){return this.a.yk(this.c,this.d,this.b,t,!0)},ZEt.Qj=function(){return this.a.Bk(this.c,this.d,this.b)},ZEt.Wb=function(t){this.a.Ck(this.c,this.d,this.b,t)},ZEt.Gk=function(){this.a.Ek(this.c,this.d,this.b)},ZEt.b=0,vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingle/1",1367),Bgt(784,512,{},XG),ZEt.yk=function(t,e,n,i,r){return Swt(t,t.Ph(),t.Fh())==this.b?this.bl()&&i?Sgt(t):t.Ph():null},ZEt.zk=function(t,e,n,i,r){var a,o;return t.Ph()&&(r=(a=t.Fh())>=0?t.Ah(r):t.Ph().Th(t,-1-a,null,r)),o=knt(t.Dh(),this.e),t.Ch(i,o,r)},ZEt.Ak=function(t,e,n,i,r){var a;return a=knt(t.Dh(),this.e),t.Ch(null,a,r)},ZEt.Bk=function(t,e,n){var i;return i=knt(t.Dh(),this.e),!!t.Ph()&&t.Fh()==i},ZEt.Ck=function(t,e,n,i){var r,a,o,s,c;if(null!=i&&!Yvt(this.a,i))throw Ay(new _x(wzt+(rO(i,58)?Vct(KR(i,58).Dh()):P0(i9(i)))+vzt+this.a+"'"));if(r=t.Ph(),o=knt(t.Dh(),this.e),$M(i)!==$M(r)||t.Fh()!=o&&null!=i){if(Bst(t,KR(i,58)))throw Ay(new Tx(qFt+t.Ib()));c=null,r&&(c=(a=t.Fh())>=0?t.Ah(c):t.Ph().Th(t,-1-a,null,c)),(s=KR(i,54))&&(c=s.Rh(t,knt(s.Dh(),this.b),null,c)),(c=t.Ch(s,o,c))&&c.oj()}else t.vh()&&t.wh()&&Q5(t,new nz(t,1,o,i,i))},ZEt.Ek=function(t,e,n){var i,r,a;t.Ph()?(a=(i=t.Fh())>=0?t.Ah(null):t.Ph().Th(t,-1-i,null,null),r=knt(t.Dh(),this.e),(a=t.Ch(null,r,a))&&a.oj()):t.vh()&&t.wh()&&Q5(t,new iz(t,1,this.e,null,null))},ZEt.bl=function(){return!1},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainer",784),Bgt(1351,784,{},CR),ZEt.bl=function(){return!0},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainerResolving",1351),Bgt(574,512,{}),ZEt.yk=function(t,e,n,i,r){var a;return null==(a=e.li(n))?this.b:$M(a)===$M(Hde)?null:a},ZEt.Bk=function(t,e,n){var i;return null!=(i=e.li(n))&&($M(i)===$M(Hde)||!wtt(i,this.b))},ZEt.Ck=function(t,e,n,i){var r,a;t.vh()&&t.wh()?(r=null==(a=e.li(n))?this.b:$M(a)===$M(Hde)?null:a,null==i?null!=this.c?(e.mi(n,null),i=this.b):null!=this.b?e.mi(n,Hde):e.mi(n,null):(this.Bl(i),e.mi(n,i)),Q5(t,this.d.Cl(t,1,this.e,r,i))):null==i?null!=this.c?e.mi(n,null):null!=this.b?e.mi(n,Hde):e.mi(n,null):(this.Bl(i),e.mi(n,i))},ZEt.Ek=function(t,e,n){var i,r;t.vh()&&t.wh()?(i=null==(r=e.li(n))?this.b:$M(r)===$M(Hde)?null:r,e.ni(n),Q5(t,this.d.Cl(t,1,this.e,i,this.b))):e.ni(n)},ZEt.Bl=function(t){throw Ay(new Vy)},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleData",574),Bgt(xzt,1,{},Sl),ZEt.Cl=function(t,e,n,i,r){return new iz(t,e,n,i,r)},ZEt.Dl=function(t,e,n,i,r,a){return new oG(t,e,n,i,r,a)},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator",xzt),Bgt(1368,xzt,{},Cl),ZEt.Cl=function(t,e,n,i,r){return new hQ(t,e,n,dx(zD(i)),dx(zD(r)))},ZEt.Dl=function(t,e,n,i,r,a){return new fV(t,e,n,dx(zD(i)),dx(zD(r)),a)},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/1",1368),Bgt(1369,xzt,{},Al),ZEt.Cl=function(t,e,n,i,r){return new J2(t,e,n,KR(i,222).a,KR(r,222).a)},ZEt.Dl=function(t,e,n,i,r,a){return new aV(t,e,n,KR(i,222).a,KR(r,222).a,a)},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/2",1369),Bgt(1370,xzt,{},Ml),ZEt.Cl=function(t,e,n,i,r){return new t4(t,e,n,KR(i,180).a,KR(r,180).a)},ZEt.Dl=function(t,e,n,i,r,a){return new oV(t,e,n,KR(i,180).a,KR(r,180).a,a)},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/3",1370),Bgt(1371,xzt,{},Ll),ZEt.Cl=function(t,e,n,i,r){return new lQ(t,e,n,gx(qD(i)),gx(qD(r)))},ZEt.Dl=function(t,e,n,i,r,a){return new sV(t,e,n,gx(qD(i)),gx(qD(r)),a)},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/4",1371),Bgt(1372,xzt,{},Il),ZEt.Cl=function(t,e,n,i,r){return new i4(t,e,n,KR(i,161).a,KR(r,161).a)},ZEt.Dl=function(t,e,n,i,r,a){return new cV(t,e,n,KR(i,161).a,KR(r,161).a,a)},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/5",1372),Bgt(1373,xzt,{},Ol),ZEt.Cl=function(t,e,n,i,r){return new uQ(t,e,n,KR(i,17).a,KR(r,17).a)},ZEt.Dl=function(t,e,n,i,r,a){return new lV(t,e,n,KR(i,17).a,KR(r,17).a,a)},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/6",1373),Bgt(1374,xzt,{},Nl),ZEt.Cl=function(t,e,n,i,r){return new e4(t,e,n,KR(i,168).a,KR(r,168).a)},ZEt.Dl=function(t,e,n,i,r,a){return new uV(t,e,n,KR(i,168).a,KR(r,168).a,a)},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/7",1374),Bgt(1375,xzt,{},Dl),ZEt.Cl=function(t,e,n,i,r){return new n4(t,e,n,KR(i,191).a,KR(r,191).a)},ZEt.Dl=function(t,e,n,i,r,a){return new hV(t,e,n,KR(i,191).a,KR(r,191).a,a)},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/8",1375),Bgt(1353,574,{},AU),ZEt.Bl=function(t){if(!this.a.fk(t))throw Ay(new _x(wzt+i9(t)+vzt+this.a+"'"))},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataDynamic",1353),Bgt(1354,574,{},hj),ZEt.Bl=function(t){},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataStatic",1354),Bgt(785,574,{}),ZEt.Bk=function(t,e,n){return null!=e.li(n)},ZEt.Ck=function(t,e,n,i){var r,a;t.vh()&&t.wh()?(r=!0,null==(a=e.li(n))?(r=!1,a=this.b):$M(a)===$M(Hde)&&(a=null),null==i?null!=this.c?(e.mi(n,null),i=this.b):e.mi(n,Hde):(this.Bl(i),e.mi(n,i)),Q5(t,this.d.Dl(t,1,this.e,a,i,!r))):null==i?null!=this.c?e.mi(n,null):e.mi(n,Hde):(this.Bl(i),e.mi(n,i))},ZEt.Ek=function(t,e,n){var i,r;t.vh()&&t.wh()?(i=!0,null==(r=e.li(n))?(i=!1,r=this.b):$M(r)===$M(Hde)&&(r=null),e.ni(n),Q5(t,this.d.Dl(t,2,this.e,r,this.b,i))):e.ni(n)},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettable",785),Bgt(1355,785,{},MU),ZEt.Bl=function(t){if(!this.a.fk(t))throw Ay(new _x(wzt+i9(t)+vzt+this.a+"'"))},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableDynamic",1355),Bgt(1356,785,{},fj),ZEt.Bl=function(t){},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableStatic",1356),Bgt(410,512,{},P$),ZEt.yk=function(t,e,n,i,r){var a,o,s,c,l;if(l=e.li(n),this.tk()&&$M(l)===$M(Hde))return null;if(this.bl()&&i&&null!=l){if((s=KR(l,54)).Vh()&&s!=(c=j9(t,s))){if(!Yvt(this.a,c))throw Ay(new _x(wzt+i9(c)+vzt+this.a+"'"));e.mi(n,l=c),this.al()&&(a=KR(c,54),o=s.Th(t,this.b?knt(s.Dh(),this.b):-1-knt(t.Dh(),this.e),null,null),!a.Ph()&&(o=a.Rh(t,this.b?knt(a.Dh(),this.b):-1-knt(t.Dh(),this.e),null,o)),o&&o.oj()),t.vh()&&t.wh()&&Q5(t,new iz(t,9,this.e,s,c))}return l}return l},ZEt.zk=function(t,e,n,i,r){var a,o;return $M(o=e.li(n))===$M(Hde)&&(o=null),e.mi(n,i),this.Mj()?$M(o)!==$M(i)&&null!=o&&(r=(a=KR(o,54)).Th(t,knt(a.Dh(),this.b),null,r)):this.al()&&null!=o&&(r=KR(o,54).Th(t,-1-knt(t.Dh(),this.e),null,r)),t.vh()&&t.wh()&&(!r&&(r=new $k(4)),r.nj(new iz(t,1,this.e,o,i))),r},ZEt.Ak=function(t,e,n,i,r){var a;return $M(a=e.li(n))===$M(Hde)&&(a=null),e.ni(n),t.vh()&&t.wh()&&(!r&&(r=new $k(4)),this.tk()?r.nj(new iz(t,2,this.e,a,null)):r.nj(new iz(t,1,this.e,a,null))),r},ZEt.Bk=function(t,e,n){return null!=e.li(n)},ZEt.Ck=function(t,e,n,i){var r,a,o,s,c;if(null!=i&&!Yvt(this.a,i))throw Ay(new _x(wzt+(rO(i,58)?Vct(KR(i,58).Dh()):P0(i9(i)))+vzt+this.a+"'"));s=null!=(c=e.li(n)),this.tk()&&$M(c)===$M(Hde)&&(c=null),o=null,this.Mj()?$M(c)!==$M(i)&&(null!=c&&(o=(r=KR(c,54)).Th(t,knt(r.Dh(),this.b),null,o)),null!=i&&(o=(r=KR(i,54)).Rh(t,knt(r.Dh(),this.b),null,o))):this.al()&&$M(c)!==$M(i)&&(null!=c&&(o=KR(c,54).Th(t,-1-knt(t.Dh(),this.e),null,o)),null!=i&&(o=KR(i,54).Rh(t,-1-knt(t.Dh(),this.e),null,o))),null==i&&this.tk()?e.mi(n,Hde):e.mi(n,i),t.vh()&&t.wh()?(a=new oG(t,1,this.e,c,i,this.tk()&&!s),o?(o.nj(a),o.oj()):Q5(t,a)):o&&o.oj()},ZEt.Ek=function(t,e,n){var i,r,a,o,s;o=null!=(s=e.li(n)),this.tk()&&$M(s)===$M(Hde)&&(s=null),a=null,null!=s&&(this.Mj()?a=(i=KR(s,54)).Th(t,knt(i.Dh(),this.b),null,a):this.al()&&(a=KR(s,54).Th(t,-1-knt(t.Dh(),this.e),null,a))),e.ni(n),t.vh()&&t.wh()?(r=new oG(t,this.tk()?2:1,this.e,s,null,o),a?(a.nj(r),a.oj()):Q5(t,r)):a&&a.oj()},ZEt.Mj=function(){return!1},ZEt.al=function(){return!1},ZEt.bl=function(){return!1},ZEt.tk=function(){return!1},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObject",410),Bgt(575,410,{},LD),ZEt.al=function(){return!0},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainment",575),Bgt(1359,575,{},ID),ZEt.bl=function(){return!0},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentResolving",1359),Bgt(787,575,{},OD),ZEt.tk=function(){return!0},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettable",787),Bgt(1361,787,{},DD),ZEt.bl=function(){return!0},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettableResolving",1361),Bgt(650,575,{},AR),ZEt.Mj=function(){return!0},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverse",650),Bgt(1360,650,{},IR),ZEt.bl=function(){return!0},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseResolving",1360),Bgt(788,650,{},OR),ZEt.tk=function(){return!0},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettable",788),Bgt(1362,788,{},NR),ZEt.bl=function(){return!0},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettableResolving",1362),Bgt(651,410,{},ND),ZEt.bl=function(){return!0},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolving",651),Bgt(1363,651,{},PD),ZEt.tk=function(){return!0},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingUnsettable",1363),Bgt(789,651,{},MR),ZEt.Mj=function(){return!0},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverse",789),Bgt(1364,789,{},DR),ZEt.tk=function(){return!0},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverseUnsettable",1364),Bgt(1357,410,{},BD),ZEt.tk=function(){return!0},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectUnsettable",1357),Bgt(786,410,{},LR),ZEt.Mj=function(){return!0},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverse",786),Bgt(1358,786,{},PR),ZEt.tk=function(){return!0},vq(jFt,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverseUnsettable",1358),Bgt(790,576,yzt,Wq),ZEt.yl=function(t){return new Wq(this.a,this.c,t)},ZEt.md=function(){return this.b},ZEt.zl=function(t,e,n){return function(t,e,n,i){return n&&(i=n.Rh(e,knt(n.Dh(),t.c.uk()),null,i)),i}(this,t,this.b,n)},ZEt.Al=function(t,e,n){return function(t,e,n,i){return n&&(i=n.Th(e,knt(n.Dh(),t.c.uk()),null,i)),i}(this,t,this.b,n)},vq(jFt,"EStructuralFeatureImpl/InverseUpdatingFeatureMapEntry",790),Bgt(1365,1,Vjt,oy),ZEt.Fk=function(t){return this.a},ZEt.Qj=function(){return rO(this.a,97)?KR(this.a,97).Qj():!this.a.dc()},ZEt.Wb=function(t){this.a.$b(),this.a.Gc(KR(t,15))},ZEt.Gk=function(){rO(this.a,97)?KR(this.a,97).Gk():this.a.$b()},vq(jFt,"EStructuralFeatureImpl/SettingMany",1365),Bgt(1366,576,yzt,hX),ZEt.xl=function(t){return new LP((l_t(),Kge),this.b.ri(this.a,t))},ZEt.md=function(){return null},ZEt.zl=function(t,e,n){return n},ZEt.Al=function(t,e,n){return n},vq(jFt,"EStructuralFeatureImpl/SimpleContentFeatureMapEntry",1366),Bgt(652,576,yzt,LP),ZEt.xl=function(t){return new LP(this.c,t)},ZEt.md=function(){return this.a},ZEt.zl=function(t,e,n){return n},ZEt.Al=function(t,e,n){return n},vq(jFt,"EStructuralFeatureImpl/SimpleFeatureMapEntry",652),Bgt(403,506,R$t,Pl),ZEt.aj=function(t){return WZ(Wfe,pSt,29,t,0,1)},ZEt.Yi=function(){return!1},vq(jFt,"ESuperAdapter/1",403),Bgt(457,448,{110:1,94:1,93:1,155:1,197:1,58:1,114:1,850:1,54:1,99:1,158:1,457:1,119:1,120:1},Bl),ZEt.Lh=function(t,e,n){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),this.Ab;case 1:return this.zb;case 2:return!this.a&&(this.a=new B$(this,ede,this)),this.a}return OJ(this,t-Lq((KEt(),Lde)),N0(KR(i6(this,16),29)||Lde,t),e,n)},ZEt.Uh=function(t,e,n){switch(e){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),cat(this.Ab,t,n);case 2:return!this.a&&(this.a=new B$(this,ede,this)),cat(this.a,t,n)}return KR(N0(KR(i6(this,16),29)||(KEt(),Lde),e),69).wk().Ak(this,jit(this),e-Lq((KEt(),Lde)),t,n)},ZEt.Wh=function(t){switch(t){case 0:return!!this.Ab&&0!=this.Ab.i;case 1:return null!=this.zb;case 2:return!!this.a&&0!=this.a.i}return AW(this,t-Lq((KEt(),Lde)),N0(KR(i6(this,16),29)||Lde,t))},ZEt.bi=function(t,e){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),Vkt(this.Ab),!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void nq(this.Ab,KR(e,16));case 1:return void B3(this,HD(e));case 2:return!this.a&&(this.a=new B$(this,ede,this)),Vkt(this.a),!this.a&&(this.a=new B$(this,ede,this)),void nq(this.a,KR(e,16))}Wet(this,t-Lq((KEt(),Lde)),N0(KR(i6(this,16),29)||Lde,t),e)},ZEt.ii=function(){return KEt(),Lde},ZEt.ki=function(t){switch(t){case 0:return!this.Ab&&(this.Ab=new ez(Ufe,this,0,3)),void Vkt(this.Ab);case 1:return void B3(this,null);case 2:return!this.a&&(this.a=new B$(this,ede,this)),void Vkt(this.a)}vtt(this,t-Lq((KEt(),Lde)),N0(KR(i6(this,16),29)||Lde,t))},vq(jFt,"ETypeParameterImpl",457),Bgt(458,83,uzt,B$),ZEt.Nj=function(t,e){return function(t,e,n){var i,r;for(n=tat(e,t.e,-1-t.c,n),r=new uy(new G5(new Jd(wH(t.a).a).a));r.a.b;)n=W_t(i=KR(d3(r.a).ld(),89),Jpt(i,t.a),n);return n}(this,KR(t,89),e)},ZEt.Oj=function(t,e){return function(t,e,n){var i,r;for(n=qG(e,t.e,-1-t.c,n),r=new uy(new G5(new Jd(wH(t.a).a).a));r.a.b;)n=W_t(i=KR(d3(r.a).ld(),89),Jpt(i,t.a),n);return n}(this,KR(t,89),e)},vq(jFt,"ETypeParameterImpl/1",458),Bgt(647,45,IAt,uv),ZEt.ec=function(){return new ly(this)},vq(jFt,"ETypeParameterImpl/2",647),Bgt(570,ASt,MSt,ly),ZEt.Fc=function(t){return rB(this,KR(t,89))},ZEt.Gc=function(t){var e,n,i;for(i=!1,n=t.Kc();n.Ob();)e=KR(n.Pb(),89),null==LH(this.a,e,"")&&(i=!0);return i},ZEt.$b=function(){_z(this.a)},ZEt.Hc=function(t){return mz(this.a,t)},ZEt.Kc=function(){return new uy(new G5(new Jd(this.a).a))},ZEt.Mc=function(t){return eZ(this,t)},ZEt.gc=function(){return PT(this.a)},vq(jFt,"ETypeParameterImpl/2/1",570),Bgt(571,1,TSt,uy),ZEt.Nb=function(t){bz(this,t)},ZEt.Pb=function(){return KR(d3(this.a).ld(),89)},ZEt.Ob=function(){return this.a.b},ZEt.Qb=function(){x1(this.a)},vq(jFt,"ETypeParameterImpl/2/1/1",571),Bgt(1329,45,IAt,hv),ZEt._b=function(t){return jM(t)?gG(this,t):!!U$(this.f,t)},ZEt.xc=function(t){var e;return rO(e=jM(t)?ZG(this,t):FM(U$(this.f,t)),851)?(e=KR(e,851).Kk(),LH(this,KR(t,241),e),e):e??(null==t?(HE(),uge):null)},vq(jFt,"EValidatorRegistryImpl",1329),Bgt(1349,720,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,2040:1,54:1,99:1,158:1,119:1,120:1},Rl),ZEt.ri=function(t,e){switch(t.hk()){case 21:case 22:case 23:case 24:case 26:case 31:case 32:case 37:case 38:case 39:case 40:case 43:case 44:case 48:case 49:case 20:return null==e?null:Get(e);case 25:return c2(e);case 27:return rO(n=e,180)?""+KR(n,180).a:null==n?null:Get(n);case 28:return function(t){return rO(t,180)?""+KR(t,180).a:null==t?null:Get(t)}(e);case 29:return null==e?null:JI(Bhe[0],KR(e,206));case 41:return null==e?"":a_(KR(e,297));case 42:return Get(e);case 50:return HD(e);default:throw Ay(new Tx(HFt+t.xe()+UFt))}var n},ZEt.si=function(t){var e;switch(-1==t.G&&(t.G=(e=r2(t))?dat(e.vi(),t):-1),t.G){case 0:return new rv;case 1:return new ml;case 2:return new Nf;case 4:return new rw;case 5:return new ov;case 6:return new iw;case 7:return new Df;case 10:return new pl;case 11:return new sv;case 12:return new YU;case 13:return new lv;case 14:return new QD;case 17:return new El;case 18:return new xy;case 19:return new Bl;default:throw Ay(new Tx(YFt+t.zb+UFt))}},ZEt.ti=function(t,e){switch(t.hk()){case 20:return null==e?null:new E_(e);case 21:return null==e?null:new pI(e);case 23:case 22:return null==e?null:function(t){if(Git(MRt,t))return FN(),UHt;if(Git(LRt,t))return FN(),HHt;throw Ay(new Tx("Expecting true or false"))}(e);case 26:case 24:return null==e?null:O1(evt(e,-128,127)<<24>>24);case 25:return function(t){var e,n,i,r,a,o,s;if(null==t)return null;for(s=t.length,o=WZ(qpe,KFt,28,r=(s+1)/2|0,15,1),s%2!=0&&(o[--r]=wyt((IY(s-1,t.length),t.charCodeAt(s-1)))),n=0,i=0;n>24;return o}(e);case 27:return function(t){var e;if(null==t)return null;e=0;try{e=evt(t,gCt,lSt)&ECt}catch(n){if(!rO(n=j6(n),130))throw Ay(n);e=I1(t)[0]}return f6(e)}(e);case 28:return function(t){var e;if(null==t)return null;e=0;try{e=evt(t,gCt,lSt)&ECt}catch(n){if(!rO(n=j6(n),130))throw Ay(n);e=I1(t)[0]}return f6(e)}(e);case 29:return function(t){var e,n;if(null==t)return null;for(e=null,n=0;n>16);case 50:return e;default:throw Ay(new Tx(HFt+t.xe()+UFt))}},vq(jFt,"EcoreFactoryImpl",1349),Bgt(560,184,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,2038:1,54:1,99:1,158:1,184:1,560:1,119:1,120:1,690:1},SH),ZEt.gb=!1,ZEt.hb=!1;var ege,nge=!1;vq(jFt,"EcorePackageImpl",560),Bgt(1234,1,{851:1},Fl),ZEt.Kk=function(){return VO(),hge},vq(jFt,"EcorePackageImpl/1",1234),Bgt(1243,1,Bzt,$l),ZEt.fk=function(t){return rO(t,155)},ZEt.gk=function(t){return WZ(Yhe,pSt,155,t,0,1)},vq(jFt,"EcorePackageImpl/10",1243),Bgt(1244,1,Bzt,jl),ZEt.fk=function(t){return rO(t,197)},ZEt.gk=function(t){return WZ(Whe,pSt,197,t,0,1)},vq(jFt,"EcorePackageImpl/11",1244),Bgt(1245,1,Bzt,zl),ZEt.fk=function(t){return rO(t,58)},ZEt.gk=function(t){return WZ($he,pSt,58,t,0,1)},vq(jFt,"EcorePackageImpl/12",1245),Bgt(1246,1,Bzt,ql),ZEt.fk=function(t){return rO(t,411)},ZEt.gk=function(t){return WZ(nde,czt,62,t,0,1)},vq(jFt,"EcorePackageImpl/13",1246),Bgt(1247,1,Bzt,Hl),ZEt.fk=function(t){return rO(t,241)},ZEt.gk=function(t){return WZ(Xhe,pSt,241,t,0,1)},vq(jFt,"EcorePackageImpl/14",1247),Bgt(1248,1,Bzt,Ul),ZEt.fk=function(t){return rO(t,518)},ZEt.gk=function(t){return WZ(ide,pSt,2116,t,0,1)},vq(jFt,"EcorePackageImpl/15",1248),Bgt(1249,1,Bzt,Gl),ZEt.fk=function(t){return rO(t,102)},ZEt.gk=function(t){return WZ(rde,szt,19,t,0,1)},vq(jFt,"EcorePackageImpl/16",1249),Bgt(1250,1,Bzt,Kl),ZEt.fk=function(t){return rO(t,179)},ZEt.gk=function(t){return WZ(Kfe,szt,179,t,0,1)},vq(jFt,"EcorePackageImpl/17",1250),Bgt(1251,1,Bzt,Yl),ZEt.fk=function(t){return rO(t,481)},ZEt.gk=function(t){return WZ(Gfe,pSt,481,t,0,1)},vq(jFt,"EcorePackageImpl/18",1251),Bgt(1252,1,Bzt,Vl),ZEt.fk=function(t){return rO(t,561)},ZEt.gk=function(t){return WZ(Jde,Njt,561,t,0,1)},vq(jFt,"EcorePackageImpl/19",1252),Bgt(1235,1,Bzt,Wl),ZEt.fk=function(t){return rO(t,331)},ZEt.gk=function(t){return WZ(Yfe,szt,35,t,0,1)},vq(jFt,"EcorePackageImpl/2",1235),Bgt(1253,1,Bzt,Xl),ZEt.fk=function(t){return rO(t,248)},ZEt.gk=function(t){return WZ(ede,gzt,89,t,0,1)},vq(jFt,"EcorePackageImpl/20",1253),Bgt(1254,1,Bzt,Ql),ZEt.fk=function(t){return rO(t,457)},ZEt.gk=function(t){return WZ(Bde,pSt,850,t,0,1)},vq(jFt,"EcorePackageImpl/21",1254),Bgt(1255,1,Bzt,Zl),ZEt.fk=function(t){return zM(t)},ZEt.gk=function(t){return WZ(KHt,RSt,485,t,8,1)},vq(jFt,"EcorePackageImpl/22",1255),Bgt(1256,1,Bzt,Jl),ZEt.fk=function(t){return rO(t,195)},ZEt.gk=function(t){return WZ(qpe,RSt,195,t,0,2)},vq(jFt,"EcorePackageImpl/23",1256),Bgt(1257,1,Bzt,tu),ZEt.fk=function(t){return rO(t,222)},ZEt.gk=function(t){return WZ(VHt,RSt,222,t,0,1)},vq(jFt,"EcorePackageImpl/24",1257),Bgt(1258,1,Bzt,eu),ZEt.fk=function(t){return rO(t,180)},ZEt.gk=function(t){return WZ(QHt,RSt,180,t,0,1)},vq(jFt,"EcorePackageImpl/25",1258),Bgt(1259,1,Bzt,nu),ZEt.fk=function(t){return rO(t,206)},ZEt.gk=function(t){return WZ(qHt,RSt,206,t,0,1)},vq(jFt,"EcorePackageImpl/26",1259),Bgt(1260,1,Bzt,iu),ZEt.fk=function(t){return!1},ZEt.gk=function(t){return WZ(Ype,pSt,2215,t,0,1)},vq(jFt,"EcorePackageImpl/27",1260),Bgt(1261,1,Bzt,ru),ZEt.fk=function(t){return qM(t)},ZEt.gk=function(t){return WZ(ZHt,RSt,345,t,7,1)},vq(jFt,"EcorePackageImpl/28",1261),Bgt(1262,1,Bzt,au),ZEt.fk=function(t){return rO(t,61)},ZEt.gk=function(t){return WZ(dfe,OLt,61,t,0,1)},vq(jFt,"EcorePackageImpl/29",1262),Bgt(1236,1,Bzt,ou),ZEt.fk=function(t){return rO(t,519)},ZEt.gk=function(t){return WZ(Ufe,{3:1,4:1,5:1,2033:1},598,t,0,1)},vq(jFt,"EcorePackageImpl/3",1236),Bgt(1263,1,Bzt,su),ZEt.fk=function(t){return rO(t,582)},ZEt.gk=function(t){return WZ(Sfe,pSt,2039,t,0,1)},vq(jFt,"EcorePackageImpl/30",1263),Bgt(1264,1,Bzt,cu),ZEt.fk=function(t){return rO(t,160)},ZEt.gk=function(t){return WZ(gge,OLt,160,t,0,1)},vq(jFt,"EcorePackageImpl/31",1264),Bgt(1265,1,Bzt,lu),ZEt.fk=function(t){return rO(t,76)},ZEt.gk=function(t){return WZ(Fde,Rzt,76,t,0,1)},vq(jFt,"EcorePackageImpl/32",1265),Bgt(1266,1,Bzt,uu),ZEt.fk=function(t){return rO(t,161)},ZEt.gk=function(t){return WZ(JHt,RSt,161,t,0,1)},vq(jFt,"EcorePackageImpl/33",1266),Bgt(1267,1,Bzt,hu),ZEt.fk=function(t){return rO(t,17)},ZEt.gk=function(t){return WZ(nUt,RSt,17,t,0,1)},vq(jFt,"EcorePackageImpl/34",1267),Bgt(1268,1,Bzt,fu),ZEt.fk=function(t){return rO(t,297)},ZEt.gk=function(t){return WZ(iHt,pSt,297,t,0,1)},vq(jFt,"EcorePackageImpl/35",1268),Bgt(1269,1,Bzt,du),ZEt.fk=function(t){return rO(t,168)},ZEt.gk=function(t){return WZ(cUt,RSt,168,t,0,1)},vq(jFt,"EcorePackageImpl/36",1269),Bgt(1270,1,Bzt,gu),ZEt.fk=function(t){return rO(t,85)},ZEt.gk=function(t){return WZ(aHt,pSt,85,t,0,1)},vq(jFt,"EcorePackageImpl/37",1270),Bgt(1271,1,Bzt,pu),ZEt.fk=function(t){return rO(t,599)},ZEt.gk=function(t){return WZ(lge,pSt,599,t,0,1)},vq(jFt,"EcorePackageImpl/38",1271),Bgt(1272,1,Bzt,bu),ZEt.fk=function(t){return!1},ZEt.gk=function(t){return WZ(Vpe,pSt,2216,t,0,1)},vq(jFt,"EcorePackageImpl/39",1272),Bgt(1237,1,Bzt,mu),ZEt.fk=function(t){return rO(t,90)},ZEt.gk=function(t){return WZ(Wfe,pSt,29,t,0,1)},vq(jFt,"EcorePackageImpl/4",1237),Bgt(1273,1,Bzt,yu),ZEt.fk=function(t){return rO(t,191)},ZEt.gk=function(t){return WZ(uUt,RSt,191,t,0,1)},vq(jFt,"EcorePackageImpl/40",1273),Bgt(1274,1,Bzt,wu),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(jFt,"EcorePackageImpl/41",1274),Bgt(1275,1,Bzt,vu),ZEt.fk=function(t){return rO(t,596)},ZEt.gk=function(t){return WZ(pfe,pSt,596,t,0,1)},vq(jFt,"EcorePackageImpl/42",1275),Bgt(1276,1,Bzt,xu),ZEt.fk=function(t){return!1},ZEt.gk=function(t){return WZ(Wpe,RSt,2217,t,0,1)},vq(jFt,"EcorePackageImpl/43",1276),Bgt(1277,1,Bzt,ku),ZEt.fk=function(t){return rO(t,44)},ZEt.gk=function(t){return WZ(dHt,WSt,44,t,0,1)},vq(jFt,"EcorePackageImpl/44",1277),Bgt(1238,1,Bzt,_u),ZEt.fk=function(t){return rO(t,142)},ZEt.gk=function(t){return WZ(Vfe,pSt,142,t,0,1)},vq(jFt,"EcorePackageImpl/5",1238),Bgt(1239,1,Bzt,Tu),ZEt.fk=function(t){return rO(t,156)},ZEt.gk=function(t){return WZ(Xfe,pSt,156,t,0,1)},vq(jFt,"EcorePackageImpl/6",1239),Bgt(1240,1,Bzt,Eu),ZEt.fk=function(t){return rO(t,469)},ZEt.gk=function(t){return WZ(Jfe,pSt,685,t,0,1)},vq(jFt,"EcorePackageImpl/7",1240),Bgt(1241,1,Bzt,Su),ZEt.fk=function(t){return rO(t,582)},ZEt.gk=function(t){return WZ(tde,pSt,694,t,0,1)},vq(jFt,"EcorePackageImpl/8",1241),Bgt(1242,1,Bzt,Cu),ZEt.fk=function(t){return rO(t,480)},ZEt.gk=function(t){return WZ(Vhe,pSt,480,t,0,1)},vq(jFt,"EcorePackageImpl/9",1242),Bgt(1038,2080,Ijt,ax),ZEt.Mi=function(t,e){!function(t,e){var n,i,r;if(e.ej(t.a),null!=(r=KR(i6(t.a,8),2035)))for(n=0,i=r.length;n0){if(IY(0,t.length),47==t.charCodeAt(0)){for(a=new lZ(4),r=1,e=1;e0&&(tJ(0,n,t.length),t=t.substr(0,n))}return function(t,e){var n,i,r,a,o,s;for(a=null,r=new az((!t.a&&(t.a=new hy(t)),t.a));Ydt(r);)if(okt(o=(n=KR(zpt(r),58)).Dh()),null!=(i=(s=o.o)&&n.Xh(s)?vB(R6(s),n.Mh(s)):null)&&_B(i,e)){a=n;break}return a}(this,t)},ZEt.Gl=function(){return this.c},ZEt.Ib=function(){return a_(this.Rm)+"@"+(N3(this)>>>0).toString(16)+" uri='"+this.d+"'"},ZEt.b=!1,vq(jzt,"ResourceImpl",799),Bgt(1525,799,$zt,fy),vq(jzt,"BinaryResourceImpl",1525),Bgt(1190,708,F$t),ZEt.bj=function(t){return rO(t,58)?function(t,e){return t.a?e.Gh().Kc():KR(e.Gh(),71).Ii()}(this,KR(t,58)):rO(t,599)?new zO(KR(t,599).El()):$M(t)===$M(this.f)?KR(t,16).Kc():(WD(),_fe.a)},ZEt.Ob=function(){return Ydt(this)},ZEt.a=!1,vq(Yjt,"EcoreUtil/ContentTreeIterator",1190),Bgt(1526,1190,F$t,az),ZEt.bj=function(t){return $M(t)===$M(this.f)?KR(t,15).Kc():new mW(KR(t,58))},vq(jzt,"ResourceImpl/5",1526),Bgt(658,2092,lzt,hy),ZEt.Hc=function(t){return this.i<=4?mct(this,t):rO(t,54)&&KR(t,54).Jh()==this.a},ZEt.Mi=function(t,e){t==this.i-1&&(this.a.b||(this.a.b=!0))},ZEt.Oi=function(t,e){0==t?this.a.b||(this.a.b=!0):XZ(this,t,e)},ZEt.Qi=function(t,e){},ZEt.Ri=function(t,e,n){},ZEt.Lj=function(){return 2},ZEt.jj=function(){return this.a},ZEt.Mj=function(){return!0},ZEt.Nj=function(t,e){return KR(t,54).fi(this.a,e)},ZEt.Oj=function(t,e){return KR(t,54).fi(null,e)},ZEt.Pj=function(){return!1},ZEt.Si=function(){return!0},ZEt.aj=function(t){return WZ($he,pSt,58,t,0,1)},ZEt.Yi=function(){return!1},vq(jzt,"ResourceImpl/ContentsEList",658),Bgt(970,2062,cCt,dy),ZEt.fd=function(t){return this.a.Ki(t)},ZEt.gc=function(){return this.a.gc()},vq(Yjt,"AbstractSequentialInternalEList/1",970),Bgt(634,1,{},wF),vq(Yjt,"BasicExtendedMetaData",634),Bgt(1181,1,{},OM),ZEt.Jl=function(){return null},ZEt.Kl=function(){return-2==this.a&&(t=this,e=function(t,e){var n,i,r;if((n=e.qi(t.a))&&null!=(r=Ynt((!n.b&&(n.b=new TD((KEt(),Cde),Jde,n)),n.b),dzt)))for(i=1;i<(Xht(),ige).length;++i)if(_B(ige[i],r))return i;return 0}(this.d,this.b),t.a=e),this.a;var t,e},ZEt.Ll=function(){return null},ZEt.Ml=function(){return QU(),QU(),NUt},ZEt.xe=function(){return this.c==eqt&&(t=this,e=art(this.d,this.b),t.c=e),this.c;var t,e},ZEt.Nl=function(){return 0},ZEt.a=-2,ZEt.c=eqt,vq(Yjt,"BasicExtendedMetaData/EClassExtendedMetaDataImpl",1181),Bgt(1182,1,{},gV),ZEt.Jl=function(){return this.a==(oZ(),sge)&&function(t,e){t.a=e}(this,(t=this.f,e=this.b,(i=e.qi(t.a))&&(!i.b&&(i.b=new TD((KEt(),Cde),Jde,i)),null!=(n=HD(Ynt(i.b,Ezt)))&&rO(a=-1==(r=n.lastIndexOf("#"))?RD(t,e.jk(),n):0==r?xJ(t,null,(IY(1,n.length+1),n.substr(1))):xJ(t,(tJ(0,r,n.length),n.substr(0,r)),(IY(r+1,n.length+1),n.substr(r+1))),156))?KR(a,156):null)),this.a;var t,e,n,i,r,a},ZEt.Kl=function(){return 0},ZEt.Ll=function(){return this.c==(oZ(),sge)&&function(t,e){t.c=e}(this,(t=this.f,e=this.b,(n=e.qi(t.a))&&(!n.b&&(n.b=new TD((KEt(),Cde),Jde,n)),null!=(r=HD(Ynt(n.b,Vzt)))&&rO(a=-1==(i=r.lastIndexOf("#"))?RD(t,e.jk(),r):0==i?xJ(t,null,(IY(1,r.length+1),r.substr(1))):xJ(t,(tJ(0,i,r.length),r.substr(0,i)),(IY(i+1,r.length+1),r.substr(i+1))),156))?KR(a,156):null)),this.c;var t,e,n,i,r,a},ZEt.Ml=function(){return!this.d&&(t=this,e=function(t,e){var n,i,r,a,o,s,c,l,u;if((n=e.qi(t.a))&&null!=(c=HD(Ynt((!n.b&&(n.b=new TD((KEt(),Cde),Jde,n)),n.b),"memberTypes")))){for(l=new yy,o=0,s=(a=rxt(c,"\\w")).length;on?e:n;l<=h;++l)l==n?s=i++:(a=r[l],u=g.am(a.Lk()),l==e&&(c=l!=h||u?i:i-1),u&&++i);return f=KR(Xtt(t,e,n),76),s!=c&&cw(t,new wJ(t.e,7,o,ttt(s),d.md(),c)),f}return KR(Xtt(t,e,n),76)}(this,t,e)},ZEt.Wi=function(t,e){return function(t,e,n){var i,r,a,o,s,c,l,u,h,f,d,g,p,b;if(rO(o=n.Lk(),102)&&KR(o,19).Bb&mAt&&(f=KR(n.md(),54),(p=j9(t.e,f))!=f)){if(CO(t,e,Elt(t,0,u=KW(o,p))),h=null,ZL(t.e)&&(i=s_t((Xht(),age),t.e.Dh(),o))!=N0(t.e.Dh(),t.c)){for(b=Jbt(t.e.Dh(),o),s=0,a=KR(t.g,124),c=0;c=0;)if(e=t[this.c],this.k.am(e.Lk()))return this.j=this.f?e:e.md(),this.i=-2,!0;return this.i=-1,this.g=-1,!1},vq(Yjt,"BasicFeatureMap/FeatureEIterator",420),Bgt(676,420,NSt,_L),ZEt.ul=function(){return!0},vq(Yjt,"BasicFeatureMap/ResolvingFeatureEIterator",676),Bgt(968,496,bzt,lO),ZEt.pj=function(){return this},vq(Yjt,"EContentsEList/1",968),Bgt(969,496,bzt,kL),ZEt.ul=function(){return!1},vq(Yjt,"EContentsEList/2",969),Bgt(967,287,mzt,uO),ZEt.wl=function(t){},ZEt.Ob=function(){return!1},ZEt.Sb=function(){return!1},vq(Yjt,"EContentsEList/FeatureIteratorImpl/1",967),Bgt(840,593,uzt,LO),ZEt.Ni=function(){this.a=!0},ZEt.Qj=function(){return this.a},ZEt.Gk=function(){var t;Vkt(this),ZL(this.e)?(t=this.a,this.a=!1,Q5(this.e,new cQ(this.e,2,this.c,t,!1))):this.a=!1},ZEt.a=!1,vq(Yjt,"EDataTypeEList/Unsettable",840),Bgt(1958,593,uzt,IO),ZEt.Si=function(){return!0},vq(Yjt,"EDataTypeUniqueEList",1958),Bgt(1959,840,uzt,OO),ZEt.Si=function(){return!0},vq(Yjt,"EDataTypeUniqueEList/Unsettable",1959),Bgt(147,83,uzt,NO),ZEt.nl=function(){return!0},ZEt.Wi=function(t,e){return mgt(this,t,KR(e,58))},vq(Yjt,"EObjectContainmentEList/Resolving",147),Bgt(1184,555,uzt,DO),ZEt.nl=function(){return!0},ZEt.Wi=function(t,e){return mgt(this,t,KR(e,58))},vq(Yjt,"EObjectContainmentEList/Unsettable/Resolving",1184),Bgt(766,14,uzt,lB),ZEt.Ni=function(){this.a=!0},ZEt.Qj=function(){return this.a},ZEt.Gk=function(){var t;Vkt(this),ZL(this.e)?(t=this.a,this.a=!1,Q5(this.e,new cQ(this.e,2,this.c,t,!1))):this.a=!1},ZEt.a=!1,vq(Yjt,"EObjectContainmentWithInverseEList/Unsettable",766),Bgt(1222,766,uzt,uB),ZEt.nl=function(){return!0},ZEt.Wi=function(t,e){return mgt(this,t,KR(e,58))},vq(Yjt,"EObjectContainmentWithInverseEList/Unsettable/Resolving",1222),Bgt(757,505,uzt,PO),ZEt.Ni=function(){this.a=!0},ZEt.Qj=function(){return this.a},ZEt.Gk=function(){var t;Vkt(this),ZL(this.e)?(t=this.a,this.a=!1,Q5(this.e,new cQ(this.e,2,this.c,t,!1))):this.a=!1},ZEt.a=!1,vq(Yjt,"EObjectEList/Unsettable",757),Bgt(338,505,uzt,BO),ZEt.nl=function(){return!0},ZEt.Wi=function(t,e){return mgt(this,t,KR(e,58))},vq(Yjt,"EObjectResolvingEList",338),Bgt(1844,757,uzt,RO),ZEt.nl=function(){return!0},ZEt.Wi=function(t,e){return mgt(this,t,KR(e,58))},vq(Yjt,"EObjectResolvingEList/Unsettable",1844),Bgt(1527,1,{},Au),vq(Yjt,"EObjectValidator",1527),Bgt(559,505,uzt,rz),ZEt.il=function(){return this.d},ZEt.jl=function(){return this.b},ZEt.Mj=function(){return!0},ZEt.ml=function(){return!0},ZEt.b=0,vq(Yjt,"EObjectWithInverseEList",559),Bgt(1225,559,uzt,hB),ZEt.ll=function(){return!0},vq(Yjt,"EObjectWithInverseEList/ManyInverse",1225),Bgt(635,559,uzt,fB),ZEt.Ni=function(){this.a=!0},ZEt.Qj=function(){return this.a},ZEt.Gk=function(){var t;Vkt(this),ZL(this.e)?(t=this.a,this.a=!1,Q5(this.e,new cQ(this.e,2,this.c,t,!1))):this.a=!1},ZEt.a=!1,vq(Yjt,"EObjectWithInverseEList/Unsettable",635),Bgt(1224,635,uzt,gB),ZEt.ll=function(){return!0},vq(Yjt,"EObjectWithInverseEList/Unsettable/ManyInverse",1224),Bgt(767,559,uzt,dB),ZEt.nl=function(){return!0},ZEt.Wi=function(t,e){return mgt(this,t,KR(e,58))},vq(Yjt,"EObjectWithInverseResolvingEList",767),Bgt(32,767,uzt,bB),ZEt.ll=function(){return!0},vq(Yjt,"EObjectWithInverseResolvingEList/ManyInverse",32),Bgt(768,635,uzt,pB),ZEt.nl=function(){return!0},ZEt.Wi=function(t,e){return mgt(this,t,KR(e,58))},vq(Yjt,"EObjectWithInverseResolvingEList/Unsettable",768),Bgt(1223,768,uzt,mB),ZEt.ll=function(){return!0},vq(Yjt,"EObjectWithInverseResolvingEList/Unsettable/ManyInverse",1223),Bgt(1185,632,uzt),ZEt.Li=function(){return 0==(1792&this.b)},ZEt.Ni=function(){this.b|=1},ZEt.kl=function(){return 0!=(4&this.b)},ZEt.Mj=function(){return 0!=(40&this.b)},ZEt.ll=function(){return 0!=(16&this.b)},ZEt.ml=function(){return 0!=(8&this.b)},ZEt.nl=function(){return 0!=(this.b&Zjt)},ZEt.al=function(){return 0!=(32&this.b)},ZEt.ol=function(){return 0!=(this.b&rCt)},ZEt.fk=function(t){return this.d?DW(this.d,t):this.Lk().Hk().fk(t)},ZEt.Qj=function(){return 2&this.b?0!=(1&this.b):0!=this.i},ZEt.Si=function(){return 0!=(128&this.b)},ZEt.Gk=function(){var t;Vkt(this),2&this.b&&(ZL(this.e)?(t=0!=(1&this.b),this.b&=-2,cw(this,new cQ(this.e,2,knt(this.e.Dh(),this.Lk()),t,!1))):this.b&=-2)},ZEt.Yi=function(){return 0==(1536&this.b)},ZEt.b=0,vq(Yjt,"EcoreEList/Generic",1185),Bgt(1186,1185,uzt,sG),ZEt.Lk=function(){return this.a},vq(Yjt,"EcoreEList/Dynamic",1186),Bgt(765,66,R$t,gy),ZEt.aj=function(t){return U2(this.a.a,t)},vq(Yjt,"EcoreEMap/1",765),Bgt(764,83,uzt,uz),ZEt.Mi=function(t,e){Nat(this.b,KR(e,136))},ZEt.Oi=function(t,e){n6(this.b)},ZEt.Pi=function(t,e,n){var i;++(i=this.b,KR(e,136),i).e},ZEt.Qi=function(t,e){Qtt(this.b,KR(e,136))},ZEt.Ri=function(t,e,n){var i;Qtt(this.b,KR(n,136)),$M(n)===$M(e)&&KR(n,136).Ci(null==(i=KR(e,136).ld())?0:N3(i)),Nat(this.b,KR(e,136))},vq(Yjt,"EcoreEMap/DelegateEObjectContainmentEList",764),Bgt(1220,141,Wjt,F4),vq(Yjt,"EcoreEMap/Unsettable",1220),Bgt(1221,764,uzt,yB),ZEt.Ni=function(){this.a=!0},ZEt.Qj=function(){return this.a},ZEt.Gk=function(){var t;Vkt(this),ZL(this.e)?(t=this.a,this.a=!1,Q5(this.e,new cQ(this.e,2,this.c,t,!1))):this.a=!1},ZEt.a=!1,vq(Yjt,"EcoreEMap/Unsettable/UnsettableDelegateEObjectContainmentEList",1221),Bgt(1189,215,IAt,lq),ZEt.a=!1,ZEt.b=!1,vq(Yjt,"EcoreUtil/Copier",1189),Bgt(759,1,TSt,mW),ZEt.Nb=function(t){bz(this,t)},ZEt.Ob=function(){return sit(this)},ZEt.Pb=function(){var t;return sit(this),t=this.b,this.b=null,t},ZEt.Qb=function(){this.a.Qb()},vq(Yjt,"EcoreUtil/ProperContentIterator",759),Bgt(1528,1527,{},Pf),vq(Yjt,"EcoreValidator",1528),WF(Yjt,"FeatureMapUtil/Validator"),Bgt(1295,1,{2041:1},Mu),ZEt.am=function(t){return!0},vq(Yjt,"FeatureMapUtil/1",1295),Bgt(773,1,{2041:1},xTt),ZEt.am=function(t){var e;return this.c==t||(null==(e=zD(Oq(this.a,t)))?function(t,e){var n;return t.f==dge?(n=vH(T1((Xht(),age),e)),t.e?4==n&&e!=(egt(),yge)&&e!=(egt(),pge)&&e!=(egt(),bge)&&e!=(egt(),mge):2==n):!(!t.d||!(t.d.Hc(e)||t.d.Hc(KY(T1((Xht(),age),e)))||t.d.Hc(s_t((Xht(),age),t.b,e))))||!(!t.f||!vbt((Xht(),t.f),YH(T1(age,e))))&&(n=vH(T1(age,e)),t.e?4==n:2==n)}(this,t)?(AQ(this.a,t,(FN(),UHt)),!0):(AQ(this.a,t,(FN(),HHt)),!1):e==(FN(),UHt))},ZEt.e=!1,vq(Yjt,"FeatureMapUtil/BasicValidator",773),Bgt(774,45,IAt,cO),vq(Yjt,"FeatureMapUtil/BasicValidator/Cache",774),Bgt(509,56,{20:1,31:1,56:1,16:1,15:1,61:1,79:1,71:1,97:1},DM),ZEt.bd=function(t,e){Cmt(this.c,this.b,t,e)},ZEt.Fc=function(t){return Rwt(this.c,this.b,t)},ZEt.cd=function(t,e){return function(t,e,n,i){var r,a,o,s,c,l,u,h;if(0==i.gc())return!1;if(UE(),o=(c=KR(e,69).xk())?i:new t2(i.gc()),xmt(t.e,e)){if(e.Si())for(u=i.Kc();u.Ob();)fxt(t,e,l=u.Pb(),rO(e,102)&&0!=(KR(e,19).Bb&mAt))||(a=KW(e,l),o.Fc(a));else if(!c)for(u=i.Kc();u.Ob();)a=KW(e,l=u.Pb()),o.Fc(a)}else{for(h=Jbt(t.e.Dh(),e),r=KR(t.g,124),s=0;s1)throw Ay(new Tx(nqt));c||(a=KW(e,i.Kc().Pb()),o.Fc(a))}return w7(t,Ght(t,e,n),o)}(this.c,this.b,t,e)},ZEt.Gc=function(t){return iO(this,t)},ZEt.Gi=function(t,e){!function(t,e,n,i){t.j=-1,sgt(t,Ght(t,e,n),(UE(),KR(e,69).vk().xl(i)))}(this.c,this.b,t,e)},ZEt.Wk=function(t,e){return qyt(this.c,this.b,t,e)},ZEt.$i=function(t){return ukt(this.c,this.b,t,!1)},ZEt.Ii=function(){return iI(this.c,this.b)},ZEt.Ji=function(){return t=this.c,new w6(this.b,t);var t},ZEt.Ki=function(t){return function(t,e,n){var i,r;for(r=new w6(e,t),i=0;i0)if((n-=r.length-e)>=0){for(a.a+="0.";n>gUt.length;n-=gUt.length)s$(a,gUt);OP(a,gUt,oK(n)),tL(a,(IY(e,r.length+1),r.substr(e)))}else tL(a,$G(r,e,oK(n=e-n))),a.a+=".",tL(a,Pq(r,oK(n)));else{for(tL(a,(IY(e,r.length+1),r.substr(e)));n<-gUt.length;n+=gUt.length)s$(a,gUt);OP(a,gUt,oK(-n))}return a.a}(KR(e,247));case 15:case 14:return null==e?null:(n=gx(qD(e)))==fAt?cqt:n==dAt?"-INF":""+n;case 17:return Qct((l_t(),e));case 18:return Qct(e);case 21:case 20:return null==e?null:function(t){return t==fAt?cqt:t==dAt?"-INF":""+t}(KR(e,161).a);case 27:return jD(KR(e,195));case 30:return Mot((l_t(),KR(e,15)));case 31:return Mot(KR(e,15));case 40:case 59:case 48:return function(t){return null==t?null:Get(t)}((l_t(),e));case 42:return Zct((l_t(),e));case 43:return Zct(e);default:throw Ay(new Tx(HFt+t.xe()+UFt))}var n},ZEt.si=function(t){var e;switch(-1==t.G&&(t.G=(e=r2(t))?dat(e.vi(),t):-1),t.G){case 0:return new fv;case 1:return new ju;case 2:return new dv;case 3:return new gv;default:throw Ay(new Tx(YFt+t.zb+UFt))}},ZEt.ti=function(t,e){var n,i,r,a,o,s,c,l,u,h,f,d,g,p,b,m;switch(t.hk()){case 5:case 52:case 4:return e;case 6:return Krt(e);case 8:case 7:return null==e?null:function(t){if(t=gkt(t,!0),_B(MRt,t)||_B("1",t))return FN(),UHt;if(_B(LRt,t)||_B("0",t))return FN(),HHt;throw Ay(new Ox("Invalid boolean value: '"+t+"'"))}(e);case 9:return null==e?null:O1(evt((i=gkt(e,!0)).length>0&&(IY(0,i.length),43==i.charCodeAt(0))?(IY(1,i.length+1),i.substr(1)):i,-128,127)<<24>>24);case 10:return null==e?null:O1(evt((r=gkt(e,!0)).length>0&&(IY(0,r.length),43==r.charCodeAt(0))?(IY(1,r.length+1),r.substr(1)):r,-128,127)<<24>>24);case 11:return HD(gEt(this,(l_t(),Cge),e));case 12:return HD(gEt(this,(l_t(),Age),e));case 13:return null==e?null:new E_(gkt(e,!0));case 15:case 14:return function(t){var e,n,i,r;if(null==t)return null;if(i=gkt(t,!0),r=cqt.length,_B(i.substr(i.length-r,r),cqt))if(4==(n=i.length)){if(IY(0,i.length),43==(e=i.charCodeAt(0)))return Vge;if(45==e)return Yge}else if(3==n)return Vge;return Xut(i)}(e);case 16:return HD(gEt(this,(l_t(),Mge),e));case 17:return xit((l_t(),e));case 18:return xit(e);case 28:case 29:case 35:case 38:case 39:case 41:case 54:case 19:return gkt(e,!0);case 21:case 20:return function(t){var e,n,i,r;if(null==t)return null;if(i=gkt(t,!0),r=cqt.length,_B(i.substr(i.length-r,r),cqt))if(4==(n=i.length)){if(IY(0,i.length),43==(e=i.charCodeAt(0)))return Xge;if(45==e)return Wge}else if(3==n)return Xge;return new uw(i)}(e);case 22:return HD(gEt(this,(l_t(),Lge),e));case 23:return HD(gEt(this,(l_t(),Ige),e));case 24:return HD(gEt(this,(l_t(),Oge),e));case 25:return HD(gEt(this,(l_t(),Nge),e));case 26:return HD(gEt(this,(l_t(),Dge),e));case 27:return xrt(e);case 30:return kit((l_t(),e));case 31:return kit(e);case 32:return null==e?null:ttt(evt((u=gkt(e,!0)).length>0&&(IY(0,u.length),43==u.charCodeAt(0))?(IY(1,u.length+1),u.substr(1)):u,gCt,lSt));case 33:return null==e?null:new pI((h=gkt(e,!0)).length>0&&(IY(0,h.length),43==h.charCodeAt(0))?(IY(1,h.length+1),h.substr(1)):h);case 34:return null==e?null:ttt(evt((f=gkt(e,!0)).length>0&&(IY(0,f.length),43==f.charCodeAt(0))?(IY(1,f.length+1),f.substr(1)):f,gCt,lSt));case 36:return null==e?null:Kit(BTt((d=gkt(e,!0)).length>0&&(IY(0,d.length),43==d.charCodeAt(0))?(IY(1,d.length+1),d.substr(1)):d));case 37:return null==e?null:Kit(BTt((g=gkt(e,!0)).length>0&&(IY(0,g.length),43==g.charCodeAt(0))?(IY(1,g.length+1),g.substr(1)):g));case 40:case 59:case 48:return function(t){var e;return null==t?null:new pI((e=gkt(t,!0)).length>0&&(IY(0,e.length),43==e.charCodeAt(0))?(IY(1,e.length+1),e.substr(1)):e)}((l_t(),e));case 42:return _it((l_t(),e));case 43:return _it(e);case 44:return null==e?null:new pI((p=gkt(e,!0)).length>0&&(IY(0,p.length),43==p.charCodeAt(0))?(IY(1,p.length+1),p.substr(1)):p);case 45:return null==e?null:new pI((b=gkt(e,!0)).length>0&&(IY(0,b.length),43==b.charCodeAt(0))?(IY(1,b.length+1),b.substr(1)):b);case 46:return gkt(e,!1);case 47:return HD(gEt(this,(l_t(),Pge),e));case 49:return HD(gEt(this,(l_t(),Rge),e));case 50:return null==e?null:ett(evt((m=gkt(e,!0)).length>0&&(IY(0,m.length),43==m.charCodeAt(0))?(IY(1,m.length+1),m.substr(1)):m,_zt,32767)<<16>>16);case 51:return null==e?null:ett(evt((a=gkt(e,!0)).length>0&&(IY(0,a.length),43==a.charCodeAt(0))?(IY(1,a.length+1),a.substr(1)):a,_zt,32767)<<16>>16);case 53:return HD(gEt(this,(l_t(),jge),e));case 55:return null==e?null:ett(evt((o=gkt(e,!0)).length>0&&(IY(0,o.length),43==o.charCodeAt(0))?(IY(1,o.length+1),o.substr(1)):o,_zt,32767)<<16>>16);case 56:return null==e?null:ett(evt((s=gkt(e,!0)).length>0&&(IY(0,s.length),43==s.charCodeAt(0))?(IY(1,s.length+1),s.substr(1)):s,_zt,32767)<<16>>16);case 57:return null==e?null:Kit(BTt((c=gkt(e,!0)).length>0&&(IY(0,c.length),43==c.charCodeAt(0))?(IY(1,c.length+1),c.substr(1)):c));case 58:return null==e?null:Kit(BTt((l=gkt(e,!0)).length>0&&(IY(0,l.length),43==l.charCodeAt(0))?(IY(1,l.length+1),l.substr(1)):l));case 60:return null==e?null:ttt(evt((n=gkt(e,!0)).length>0&&(IY(0,n.length),43==n.charCodeAt(0))?(IY(1,n.length+1),n.substr(1)):n,gCt,lSt));case 61:return null==e?null:ttt(evt(gkt(e,!0),gCt,lSt));default:throw Ay(new Tx(HFt+t.xe()+UFt))}},vq(sqt,"XMLTypeFactoryImpl",2028),Bgt(594,184,{110:1,94:1,93:1,155:1,197:1,58:1,241:1,114:1,54:1,99:1,158:1,184:1,119:1,120:1,690:1,2044:1,594:1},CH),ZEt.N=!1,ZEt.O=!1;var tpe,epe,npe,ipe,rpe,ape=!1;vq(sqt,"XMLTypePackageImpl",594),Bgt(1961,1,{851:1},Iu),ZEt.Kk=function(){return Fvt(),Lpe},vq(sqt,"XMLTypePackageImpl/1",1961),Bgt(1970,1,Bzt,Ou),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/10",1970),Bgt(1971,1,Bzt,Nu),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/11",1971),Bgt(1972,1,Bzt,Du),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/12",1972),Bgt(1973,1,Bzt,Pu),ZEt.fk=function(t){return qM(t)},ZEt.gk=function(t){return WZ(ZHt,RSt,345,t,7,1)},vq(sqt,"XMLTypePackageImpl/13",1973),Bgt(1974,1,Bzt,Bu),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/14",1974),Bgt(1975,1,Bzt,Ru),ZEt.fk=function(t){return rO(t,15)},ZEt.gk=function(t){return WZ(cHt,OLt,15,t,0,1)},vq(sqt,"XMLTypePackageImpl/15",1975),Bgt(1976,1,Bzt,Fu),ZEt.fk=function(t){return rO(t,15)},ZEt.gk=function(t){return WZ(cHt,OLt,15,t,0,1)},vq(sqt,"XMLTypePackageImpl/16",1976),Bgt(1977,1,Bzt,$u),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/17",1977),Bgt(1978,1,Bzt,zu),ZEt.fk=function(t){return rO(t,161)},ZEt.gk=function(t){return WZ(JHt,RSt,161,t,0,1)},vq(sqt,"XMLTypePackageImpl/18",1978),Bgt(1979,1,Bzt,qu),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/19",1979),Bgt(1962,1,Bzt,Hu),ZEt.fk=function(t){return rO(t,857)},ZEt.gk=function(t){return WZ(vge,pSt,857,t,0,1)},vq(sqt,"XMLTypePackageImpl/2",1962),Bgt(1980,1,Bzt,Uu),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/20",1980),Bgt(1981,1,Bzt,Gu),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/21",1981),Bgt(1982,1,Bzt,Ku),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/22",1982),Bgt(1983,1,Bzt,Yu),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/23",1983),Bgt(1984,1,Bzt,Vu),ZEt.fk=function(t){return rO(t,195)},ZEt.gk=function(t){return WZ(qpe,RSt,195,t,0,2)},vq(sqt,"XMLTypePackageImpl/24",1984),Bgt(1985,1,Bzt,Wu),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/25",1985),Bgt(1986,1,Bzt,Xu),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/26",1986),Bgt(1987,1,Bzt,Qu),ZEt.fk=function(t){return rO(t,15)},ZEt.gk=function(t){return WZ(cHt,OLt,15,t,0,1)},vq(sqt,"XMLTypePackageImpl/27",1987),Bgt(1988,1,Bzt,Zu),ZEt.fk=function(t){return rO(t,15)},ZEt.gk=function(t){return WZ(cHt,OLt,15,t,0,1)},vq(sqt,"XMLTypePackageImpl/28",1988),Bgt(1989,1,Bzt,Ju),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/29",1989),Bgt(1963,1,Bzt,th),ZEt.fk=function(t){return rO(t,681)},ZEt.gk=function(t){return WZ(Qge,pSt,2119,t,0,1)},vq(sqt,"XMLTypePackageImpl/3",1963),Bgt(1990,1,Bzt,eh),ZEt.fk=function(t){return rO(t,17)},ZEt.gk=function(t){return WZ(nUt,RSt,17,t,0,1)},vq(sqt,"XMLTypePackageImpl/30",1990),Bgt(1991,1,Bzt,nh),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/31",1991),Bgt(1992,1,Bzt,ih),ZEt.fk=function(t){return rO(t,168)},ZEt.gk=function(t){return WZ(cUt,RSt,168,t,0,1)},vq(sqt,"XMLTypePackageImpl/32",1992),Bgt(1993,1,Bzt,rh),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/33",1993),Bgt(1994,1,Bzt,ah),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/34",1994),Bgt(1995,1,Bzt,oh),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/35",1995),Bgt(1996,1,Bzt,sh),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/36",1996),Bgt(1997,1,Bzt,ch),ZEt.fk=function(t){return rO(t,15)},ZEt.gk=function(t){return WZ(cHt,OLt,15,t,0,1)},vq(sqt,"XMLTypePackageImpl/37",1997),Bgt(1998,1,Bzt,lh),ZEt.fk=function(t){return rO(t,15)},ZEt.gk=function(t){return WZ(cHt,OLt,15,t,0,1)},vq(sqt,"XMLTypePackageImpl/38",1998),Bgt(1999,1,Bzt,uh),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/39",1999),Bgt(1964,1,Bzt,hh),ZEt.fk=function(t){return rO(t,682)},ZEt.gk=function(t){return WZ(Zge,pSt,2120,t,0,1)},vq(sqt,"XMLTypePackageImpl/4",1964),Bgt(2e3,1,Bzt,fh),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/40",2e3),Bgt(2001,1,Bzt,dh),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/41",2001),Bgt(2002,1,Bzt,gh),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/42",2002),Bgt(2003,1,Bzt,ph),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/43",2003),Bgt(2004,1,Bzt,bh),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/44",2004),Bgt(2005,1,Bzt,mh),ZEt.fk=function(t){return rO(t,191)},ZEt.gk=function(t){return WZ(uUt,RSt,191,t,0,1)},vq(sqt,"XMLTypePackageImpl/45",2005),Bgt(2006,1,Bzt,yh),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/46",2006),Bgt(2007,1,Bzt,wh),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/47",2007),Bgt(2008,1,Bzt,vh),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/48",2008),Bgt(2009,1,Bzt,xh),ZEt.fk=function(t){return rO(t,191)},ZEt.gk=function(t){return WZ(uUt,RSt,191,t,0,1)},vq(sqt,"XMLTypePackageImpl/49",2009),Bgt(1965,1,Bzt,kh),ZEt.fk=function(t){return rO(t,683)},ZEt.gk=function(t){return WZ(Jge,pSt,2121,t,0,1)},vq(sqt,"XMLTypePackageImpl/5",1965),Bgt(2010,1,Bzt,_h),ZEt.fk=function(t){return rO(t,168)},ZEt.gk=function(t){return WZ(cUt,RSt,168,t,0,1)},vq(sqt,"XMLTypePackageImpl/50",2010),Bgt(2011,1,Bzt,Th),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/51",2011),Bgt(2012,1,Bzt,Eh),ZEt.fk=function(t){return rO(t,17)},ZEt.gk=function(t){return WZ(nUt,RSt,17,t,0,1)},vq(sqt,"XMLTypePackageImpl/52",2012),Bgt(1966,1,Bzt,Sh),ZEt.fk=function(t){return jM(t)},ZEt.gk=function(t){return WZ(fUt,RSt,2,t,6,1)},vq(sqt,"XMLTypePackageImpl/6",1966),Bgt(1967,1,Bzt,Ch),ZEt.fk=function(t){return rO(t,195)},ZEt.gk=function(t){return WZ(qpe,RSt,195,t,0,2)},vq(sqt,"XMLTypePackageImpl/7",1967),Bgt(1968,1,Bzt,Ah),ZEt.fk=function(t){return zM(t)},ZEt.gk=function(t){return WZ(KHt,RSt,485,t,8,1)},vq(sqt,"XMLTypePackageImpl/8",1968),Bgt(1969,1,Bzt,Mh),ZEt.fk=function(t){return rO(t,222)},ZEt.gk=function(t){return WZ(VHt,RSt,222,t,0,1)},vq(sqt,"XMLTypePackageImpl/9",1969),Bgt(55,63,bCt,Nx),vq(Nqt,"RegEx/ParseException",55),Bgt(836,1,{},Lh),ZEt.bm=function(t){return t16*n)throw Ay(new Nx(XEt((LI(),pjt))));n=16*n+r}if(125!=this.a)throw Ay(new Nx(XEt((LI(),bjt))));if(n>Dqt)throw Ay(new Nx(XEt((LI(),mjt))));t=n}else{if(r=0,0!=this.c||(r=Kat(this.a))<0)throw Ay(new Nx(XEt((LI(),gjt))));if(n=r,AEt(this),0!=this.c||(r=Kat(this.a))<0)throw Ay(new Nx(XEt((LI(),gjt))));t=n=16*n+r}break;case 117:if(i=0,AEt(this),0!=this.c||(i=Kat(this.a))<0)throw Ay(new Nx(XEt((LI(),gjt))));if(e=i,AEt(this),0!=this.c||(i=Kat(this.a))<0)throw Ay(new Nx(XEt((LI(),gjt))));if(e=16*e+i,AEt(this),0!=this.c||(i=Kat(this.a))<0)throw Ay(new Nx(XEt((LI(),gjt))));if(e=16*e+i,AEt(this),0!=this.c||(i=Kat(this.a))<0)throw Ay(new Nx(XEt((LI(),gjt))));t=e=16*e+i;break;case 118:if(AEt(this),0!=this.c||(i=Kat(this.a))<0)throw Ay(new Nx(XEt((LI(),gjt))));if(e=i,AEt(this),0!=this.c||(i=Kat(this.a))<0)throw Ay(new Nx(XEt((LI(),gjt))));if(e=16*e+i,AEt(this),0!=this.c||(i=Kat(this.a))<0)throw Ay(new Nx(XEt((LI(),gjt))));if(e=16*e+i,AEt(this),0!=this.c||(i=Kat(this.a))<0)throw Ay(new Nx(XEt((LI(),gjt))));if(e=16*e+i,AEt(this),0!=this.c||(i=Kat(this.a))<0)throw Ay(new Nx(XEt((LI(),gjt))));if(e=16*e+i,AEt(this),0!=this.c||(i=Kat(this.a))<0)throw Ay(new Nx(XEt((LI(),gjt))));if((e=16*e+i)>Dqt)throw Ay(new Nx(XEt((LI(),"parser.descappe.4"))));t=e;break;case 65:case 90:case 122:throw Ay(new Nx(XEt((LI(),yjt))))}return t},ZEt.dm=function(t){var e;switch(t){case 100:e=32==(32&this.e)?KTt("Nd",!0):(UEt(),dpe);break;case 68:e=32==(32&this.e)?KTt("Nd",!1):(UEt(),ype);break;case 119:e=32==(32&this.e)?KTt("IsWord",!0):(UEt(),Cpe);break;case 87:e=32==(32&this.e)?KTt("IsWord",!1):(UEt(),vpe);break;case 115:e=32==(32&this.e)?KTt("IsSpace",!0):(UEt(),kpe);break;case 83:e=32==(32&this.e)?KTt("IsSpace",!1):(UEt(),wpe);break;default:throw Ay(new Yv(Pqt+t.toString(16)))}return e},ZEt.em=function(t){var e,n,i,r,a,o,s,c,l,u,h;for(this.b=1,AEt(this),e=null,0==this.c&&94==this.a?(AEt(this),t?(UEt(),UEt(),l=new UY(5)):(UEt(),UEt(),Nmt(e=new UY(4),0,Dqt),l=new UY(4))):(UEt(),UEt(),l=new UY(4)),r=!0;1!=(h=this.c)&&(0!=h||93!=this.a||r);){if(r=!1,n=this.a,i=!1,10==h)switch(n){case 100:case 68:case 119:case 87:case 115:case 83:pkt(l,this.dm(n)),i=!0;break;case 105:case 73:case 99:case 67:(n=this.um(l,n))<0&&(i=!0);break;case 112:case 80:if(!(u=Tdt(this,n)))throw Ay(new Nx(XEt((LI(),ijt))));pkt(l,u),i=!0;break;default:n=this.cm()}else if(20==h){if((a=QN(this.i,58,this.d))<0)throw Ay(new Nx(XEt((LI(),rjt))));if(o=!0,94==JH(this.i,this.d)&&(++this.d,o=!1),!(s=lJ($G(this.i,this.d,a),o,512==(512&this.e))))throw Ay(new Nx(XEt((LI(),ojt))));if(pkt(l,s),i=!0,a+1>=this.j||93!=JH(this.i,a+1))throw Ay(new Nx(XEt((LI(),rjt))));this.d=a+2}if(AEt(this),!i)if(0!=this.c||45!=this.a)Nmt(l,n,n);else{if(AEt(this),1==(h=this.c))throw Ay(new Nx(XEt((LI(),ajt))));0==h&&93==this.a?(Nmt(l,n,n),Nmt(l,45,45)):(c=this.a,10==h&&(c=this.cm()),AEt(this),Nmt(l,n,c))}(this.e&rCt)==rCt&&0==this.c&&44==this.a&&AEt(this)}if(1==this.c)throw Ay(new Nx(XEt((LI(),ajt))));return e&&(q_t(e,l),l=e),xpt(l),$kt(l),this.b=0,AEt(this),l},ZEt.fm=function(){var t,e,n,i;for(n=this.em(!1);7!=(i=this.c);){if(t=this.a,(0!=i||45!=t&&38!=t)&&4!=i)throw Ay(new Nx(XEt((LI(),fjt))));if(AEt(this),9!=this.c)throw Ay(new Nx(XEt((LI(),hjt))));if(e=this.em(!1),4==i)pkt(n,e);else if(45==t)q_t(n,e);else{if(38!=t)throw Ay(new Yv("ASSERT"));L_t(n,e)}}return AEt(this),n},ZEt.gm=function(){var t,e;return t=this.a-48,UEt(),UEt(),e=new WG(12,null,t),!this.g&&(this.g=new gw),sw(this.g,new py(t)),AEt(this),e},ZEt.hm=function(){return AEt(this),UEt(),_pe},ZEt.im=function(){return AEt(this),UEt(),xpe},ZEt.jm=function(){throw Ay(new Nx(XEt((LI(),wjt))))},ZEt.km=function(){throw Ay(new Nx(XEt((LI(),wjt))))},ZEt.lm=function(){return AEt(this),m8()},ZEt.mm=function(){return AEt(this),UEt(),Epe},ZEt.nm=function(){return AEt(this),UEt(),Ape},ZEt.om=function(){var t;if(this.d>=this.j||64!=(65504&(t=JH(this.i,this.d++))))throw Ay(new Nx(XEt((LI(),J$t))));return AEt(this),UEt(),UEt(),new D$(0,t-64)},ZEt.pm=function(){return AEt(this),function(){var t,e,n,i,r,a;if(UEt(),Dpe)return Dpe;for(pkt(t=new UY(4),KTt(Uqt,!0)),q_t(t,KTt("M",!0)),q_t(t,KTt("C",!0)),a=new UY(4),i=0;i<11;i++)Nmt(a,i,i);return pkt(e=new UY(4),KTt("M",!0)),Nmt(e,4448,4607),Nmt(e,65438,65439),Ukt(r=new EI(2),t),Ukt(r,ppe),(n=new EI(2)).Jm(N$(a,KTt("L",!0))),n.Jm(e),n=new qz(r,n=new rX(3,n)),Dpe=n}()},ZEt.qm=function(){return AEt(this),UEt(),Mpe},ZEt.rm=function(){var t;return UEt(),UEt(),t=new D$(0,105),AEt(this),t},ZEt.sm=function(){return AEt(this),UEt(),Spe},ZEt.tm=function(){return AEt(this),UEt(),Tpe},ZEt.um=function(t,e){return this.cm()},ZEt.vm=function(){return AEt(this),UEt(),bpe},ZEt.wm=function(){var t,e,n,i,r;if(this.d+1>=this.j)throw Ay(new Nx(XEt((LI(),X$t))));if(i=-1,e=null,49<=(t=JH(this.i,this.d))&&t<=57){if(i=t-48,!this.g&&(this.g=new gw),sw(this.g,new py(i)),++this.d,41!=JH(this.i,this.d))throw Ay(new Nx(XEt((LI(),Y$t))));++this.d}else switch(63==t&&--this.d,AEt(this),e=fEt(this),e.e){case 20:case 21:case 22:case 23:break;case 8:if(7!=this.c)throw Ay(new Nx(XEt((LI(),Y$t))));break;default:throw Ay(new Nx(XEt((LI(),Q$t))))}if(AEt(this),n=null,2==(r=Oit(this)).e){if(2!=r.Pm())throw Ay(new Nx(XEt((LI(),Z$t))));n=r.Lm(1),r=r.Lm(0)}if(7!=this.c)throw Ay(new Nx(XEt((LI(),Y$t))));return AEt(this),UEt(),UEt(),new e0(i,e,r,n)},ZEt.xm=function(){return AEt(this),UEt(),mpe},ZEt.ym=function(){var t;if(AEt(this),t=gz(24,Oit(this)),7!=this.c)throw Ay(new Nx(XEt((LI(),Y$t))));return AEt(this),t},ZEt.zm=function(){var t;if(AEt(this),t=gz(20,Oit(this)),7!=this.c)throw Ay(new Nx(XEt((LI(),Y$t))));return AEt(this),t},ZEt.Am=function(){var t;if(AEt(this),t=gz(22,Oit(this)),7!=this.c)throw Ay(new Nx(XEt((LI(),Y$t))));return AEt(this),t},ZEt.Bm=function(){var t,e,n,i,r;for(t=0,n=0,e=-1;this.d=this.j)throw Ay(new Nx(XEt((LI(),V$t))));if(45==e){for(++this.d;this.d=this.j)throw Ay(new Nx(XEt((LI(),V$t))))}if(58==e){if(++this.d,AEt(this),i=mq(Oit(this),t,n),7!=this.c)throw Ay(new Nx(XEt((LI(),Y$t))));AEt(this)}else{if(41!=e)throw Ay(new Nx(XEt((LI(),W$t))));++this.d,AEt(this),i=mq(Oit(this),t,n)}return i},ZEt.Cm=function(){var t;if(AEt(this),t=gz(21,Oit(this)),7!=this.c)throw Ay(new Nx(XEt((LI(),Y$t))));return AEt(this),t},ZEt.Dm=function(){var t;if(AEt(this),t=gz(23,Oit(this)),7!=this.c)throw Ay(new Nx(XEt((LI(),Y$t))));return AEt(this),t},ZEt.Em=function(){var t,e;if(AEt(this),t=this.f++,e=pz(Oit(this),t),7!=this.c)throw Ay(new Nx(XEt((LI(),Y$t))));return AEt(this),e},ZEt.Fm=function(){var t;if(AEt(this),t=pz(Oit(this),0),7!=this.c)throw Ay(new Nx(XEt((LI(),Y$t))));return AEt(this),t},ZEt.Gm=function(t){return AEt(this),5==this.c?(AEt(this),N$(t,(UEt(),UEt(),new rX(9,t)))):N$(t,(UEt(),UEt(),new rX(3,t)))},ZEt.Hm=function(t){var e;return AEt(this),UEt(),UEt(),e=new EI(2),5==this.c?(AEt(this),Ukt(e,ppe),Ukt(e,t)):(Ukt(e,t),Ukt(e,ppe)),e},ZEt.Im=function(t){return AEt(this),5==this.c?(AEt(this),UEt(),UEt(),new rX(9,t)):(UEt(),UEt(),new rX(3,t))},ZEt.a=0,ZEt.b=0,ZEt.c=0,ZEt.d=0,ZEt.e=0,ZEt.f=1,ZEt.g=null,ZEt.j=0,vq(Nqt,"RegEx/RegexParser",836),Bgt(1947,836,{},pv),ZEt.bm=function(t){return!1},ZEt.cm=function(){return dyt(this)},ZEt.dm=function(t){return nvt(t)},ZEt.em=function(t){return LEt(this)},ZEt.fm=function(){throw Ay(new Nx(XEt((LI(),wjt))))},ZEt.gm=function(){throw Ay(new Nx(XEt((LI(),wjt))))},ZEt.hm=function(){throw Ay(new Nx(XEt((LI(),wjt))))},ZEt.im=function(){throw Ay(new Nx(XEt((LI(),wjt))))},ZEt.jm=function(){return AEt(this),nvt(67)},ZEt.km=function(){return AEt(this),nvt(73)},ZEt.lm=function(){throw Ay(new Nx(XEt((LI(),wjt))))},ZEt.mm=function(){throw Ay(new Nx(XEt((LI(),wjt))))},ZEt.nm=function(){throw Ay(new Nx(XEt((LI(),wjt))))},ZEt.om=function(){return AEt(this),nvt(99)},ZEt.pm=function(){throw Ay(new Nx(XEt((LI(),wjt))))},ZEt.qm=function(){throw Ay(new Nx(XEt((LI(),wjt))))},ZEt.rm=function(){return AEt(this),nvt(105)},ZEt.sm=function(){throw Ay(new Nx(XEt((LI(),wjt))))},ZEt.tm=function(){throw Ay(new Nx(XEt((LI(),wjt))))},ZEt.um=function(t,e){return pkt(t,nvt(e)),-1},ZEt.vm=function(){return AEt(this),UEt(),UEt(),new D$(0,94)},ZEt.wm=function(){throw Ay(new Nx(XEt((LI(),wjt))))},ZEt.xm=function(){return AEt(this),UEt(),UEt(),new D$(0,36)},ZEt.ym=function(){throw Ay(new Nx(XEt((LI(),wjt))))},ZEt.zm=function(){throw Ay(new Nx(XEt((LI(),wjt))))},ZEt.Am=function(){throw Ay(new Nx(XEt((LI(),wjt))))},ZEt.Bm=function(){throw Ay(new Nx(XEt((LI(),wjt))))},ZEt.Cm=function(){throw Ay(new Nx(XEt((LI(),wjt))))},ZEt.Dm=function(){throw Ay(new Nx(XEt((LI(),wjt))))},ZEt.Em=function(){var t;if(AEt(this),t=pz(Oit(this),0),7!=this.c)throw Ay(new Nx(XEt((LI(),Y$t))));return AEt(this),t},ZEt.Fm=function(){throw Ay(new Nx(XEt((LI(),wjt))))},ZEt.Gm=function(t){return AEt(this),N$(t,(UEt(),UEt(),new rX(3,t)))},ZEt.Hm=function(t){var e;return AEt(this),UEt(),UEt(),Ukt(e=new EI(2),t),Ukt(e,ppe),e},ZEt.Im=function(t){return AEt(this),UEt(),UEt(),new rX(3,t)};var ope=null,spe=null;vq(Nqt,"RegEx/ParserForXMLSchema",1947),Bgt(122,1,Yqt,by),ZEt.Jm=function(t){throw Ay(new Yv("Not supported."))},ZEt.Km=function(){return-1},ZEt.Lm=function(t){return null},ZEt.Mm=function(){return null},ZEt.Nm=function(t){},ZEt.Om=function(t){},ZEt.Pm=function(){return 0},ZEt.Ib=function(){return this.Qm(0)},ZEt.Qm=function(t){return 11==this.e?".":""},ZEt.e=0;var cpe,lpe,upe,hpe,fpe,dpe,gpe,ppe,bpe,mpe,ype,wpe,vpe,xpe,kpe,_pe,Tpe,Epe,Spe,Cpe,Ape,Mpe,Lpe,Ipe,Ope=null,Npe=null,Dpe=null,Ppe=vq(Nqt,"RegEx/Token",122);Bgt(138,122,{3:1,138:1,122:1},UY),ZEt.Qm=function(t){var e,n,i;if(4==this.e)if(this==gpe)n=".";else if(this==dpe)n="\\d";else if(this==Cpe)n="\\w";else if(this==kpe)n="\\s";else{for((i=new Kx).a+="[",e=0;e0&&(i.a+=","),this.b[e]===this.b[e+1]?QM(i,Txt(this.b[e])):(QM(i,Txt(this.b[e])),i.a+="-",QM(i,Txt(this.b[e+1])));i.a+="]",n=i.a}else if(this==ype)n="\\D";else if(this==vpe)n="\\W";else if(this==wpe)n="\\S";else{for((i=new Kx).a+="[^",e=0;e0&&(i.a+=","),this.b[e]===this.b[e+1]?QM(i,Txt(this.b[e])):(QM(i,Txt(this.b[e])),i.a+="-",QM(i,Txt(this.b[e+1])));i.a+="]",n=i.a}return n},ZEt.a=!1,ZEt.c=!1,vq(Nqt,"RegEx/RangeToken",138),Bgt(592,1,{592:1},py),ZEt.a=0,vq(Nqt,"RegEx/RegexParser/ReferencePosition",592),Bgt(591,1,{3:1,591:1},U_),ZEt.Fb=function(t){var e;return!(null==t||!rO(t,591))&&(e=KR(t,591),_B(this.b,e.b)&&this.a==e.a)},ZEt.Hb=function(){return d8(this.b+"/"+Qbt(this.a))},ZEt.Ib=function(){return this.c.Qm(this.a)},ZEt.a=0,vq(Nqt,"RegEx/RegularExpression",591),Bgt(228,122,Yqt,D$),ZEt.Km=function(){return this.a},ZEt.Qm=function(t){var e,n;switch(this.e){case 0:switch(this.a){case 124:case 42:case 43:case 63:case 40:case 41:case 46:case 91:case 123:case 92:n="\\"+zP(this.a&ECt);break;case 12:n="\\f";break;case 10:n="\\n";break;case 13:n="\\r";break;case 9:n="\\t";break;case 27:n="\\e";break;default:n=this.a>=mAt?"\\v"+$G(e="0"+(this.a>>>0).toString(16),e.length-6,e.length):""+zP(this.a&ECt)}break;case 8:n=this==bpe||this==mpe?""+zP(this.a&ECt):"\\"+zP(this.a&ECt);break;default:n=null}return n},ZEt.a=0,vq(Nqt,"RegEx/Token/CharToken",228),Bgt(318,122,Yqt,rX),ZEt.Lm=function(t){return this.a},ZEt.Nm=function(t){this.b=t},ZEt.Om=function(t){this.c=t},ZEt.Pm=function(){return 1},ZEt.Qm=function(t){var e;if(3==this.e)if(this.c<0&&this.b<0)e=this.a.Qm(t)+"*";else if(this.c==this.b)e=this.a.Qm(t)+"{"+this.c+"}";else if(this.c>=0&&this.b>=0)e=this.a.Qm(t)+"{"+this.c+","+this.b+"}";else{if(!(this.c>=0&&this.b<0))throw Ay(new Yv("Token#toString(): CLOSURE "+this.c+dSt+this.b));e=this.a.Qm(t)+"{"+this.c+",}"}else if(this.c<0&&this.b<0)e=this.a.Qm(t)+"*?";else if(this.c==this.b)e=this.a.Qm(t)+"{"+this.c+"}?";else if(this.c>=0&&this.b>=0)e=this.a.Qm(t)+"{"+this.c+","+this.b+"}?";else{if(!(this.c>=0&&this.b<0))throw Ay(new Yv("Token#toString(): NONGREEDYCLOSURE "+this.c+dSt+this.b));e=this.a.Qm(t)+"{"+this.c+",}?"}return e},ZEt.b=0,ZEt.c=0,vq(Nqt,"RegEx/Token/ClosureToken",318),Bgt(837,122,Yqt,qz),ZEt.Lm=function(t){return 0==t?this.a:this.b},ZEt.Pm=function(){return 2},ZEt.Qm=function(t){return 3==this.b.e&&this.b.Lm(0)==this.a?this.a.Qm(t)+"+":9==this.b.e&&this.b.Lm(0)==this.a?this.a.Qm(t)+"+?":this.a.Qm(t)+""+this.b.Qm(t)},vq(Nqt,"RegEx/Token/ConcatToken",837),Bgt(1945,122,Yqt,e0),ZEt.Lm=function(t){if(0==t)return this.d;if(1==t)return this.b;throw Ay(new Yv("Internal Error: "+t))},ZEt.Pm=function(){return this.b?2:1},ZEt.Qm=function(t){var e;return e=this.c>0?"(?("+this.c+")":8==this.a.e?"(?("+this.a+")":"(?"+this.a,this.b?e+=this.d+"|"+this.b+")":e+=this.d+")",e},ZEt.c=0,vq(Nqt,"RegEx/Token/ConditionToken",1945),Bgt(1946,122,Yqt,HY),ZEt.Lm=function(t){return this.b},ZEt.Pm=function(){return 1},ZEt.Qm=function(t){return"(?"+(0==this.a?"":Qbt(this.a))+(0==this.c?"":Qbt(this.c))+":"+this.b.Qm(t)+")"},ZEt.a=0,ZEt.c=0,vq(Nqt,"RegEx/Token/ModifierToken",1946),Bgt(838,122,Yqt,Qq),ZEt.Lm=function(t){return this.a},ZEt.Pm=function(){return 1},ZEt.Qm=function(t){var e;switch(e=null,this.e){case 6:e=0==this.b?"(?:"+this.a.Qm(t)+")":"("+this.a.Qm(t)+")";break;case 20:e="(?="+this.a.Qm(t)+")";break;case 21:e="(?!"+this.a.Qm(t)+")";break;case 22:e="(?<="+this.a.Qm(t)+")";break;case 23:e="(?"+this.a.Qm(t)+")"}return e},ZEt.b=0,vq(Nqt,"RegEx/Token/ParenToken",838),Bgt(530,122,{3:1,122:1,530:1},WG),ZEt.Mm=function(){return this.b},ZEt.Qm=function(t){return 12==this.e?"\\"+this.a:function(t){var e,n,i,r;for(r=t.length,e=null,i=0;i=0?(e||(e=new Yx,i>0&&QM(e,(tJ(0,i,t.length),t.substr(0,i)))),e.a+="\\",Yq(e,n&ECt)):e&&Yq(e,n&ECt);return e?e.a:t}(this.b)},ZEt.a=0,vq(Nqt,"RegEx/Token/StringToken",530),Bgt(477,122,Yqt,EI),ZEt.Jm=function(t){Ukt(this,t)},ZEt.Lm=function(t){return KR(aH(this.a,t),122)},ZEt.Pm=function(){return this.a?this.a.a.c.length:0},ZEt.Qm=function(t){var e,n,i,r,a;if(1==this.e){if(2==this.a.a.c.length)e=KR(aH(this.a,0),122),r=3==(n=KR(aH(this.a,1),122)).e&&n.Lm(0)==e?e.Qm(t)+"+":9==n.e&&n.Lm(0)==e?e.Qm(t)+"+?":e.Qm(t)+""+n.Qm(t);else{for(a=new Kx,i=0;i=t.c.b:t.a<=t.c.b))throw Ay(new ew);return e=t.a,t.a+=t.c.c,++t.b,ttt(e)}(this)},ZEt.Ub=function(){return function(t){if(t.b<=0)throw Ay(new ew);return--t.b,t.a-=t.c.c,ttt(t.a)}(this)},ZEt.Wb=function(t){KR(t,17),function(){throw Ay(new Ax(Zqt))}()},ZEt.Ob=function(){return this.c.c<0?this.a>=this.c.b:this.a<=this.c.b},ZEt.Sb=function(){return this.b>0},ZEt.Tb=function(){return this.b},ZEt.Vb=function(){return this.b-1},ZEt.Qb=function(){throw Ay(new Ax(Jqt))},ZEt.a=0,ZEt.b=0,vq(Xqt,"ExclusiveRange/RangeIterator",258);var Bpe,Rpe,Fpe=xH(tzt,"C"),$pe=xH(izt,"I"),jpe=xH(aSt,"Z"),zpe=xH(rzt,"J"),qpe=xH(Jjt,"B"),Hpe=xH(ezt,"D"),Upe=xH(nzt,"F"),Gpe=xH(azt,"S"),Kpe=WF("org.eclipse.elk.core.labels","ILabelManager"),Ype=WF(g$t,"DiagnosticChain"),Vpe=WF(Fzt,"ResourceSet"),Wpe=vq(g$t,"InvocationTargetException",null),Xpe=(Gx(),function(t){return Gx(),function(){return nW(t,this,arguments)}}),Qpe=Qpe=function(t,e,n,i){V_();var r=tSt;function a(){for(var t=0;t0&&void 0!==arguments[0]?arguments[0]:{};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,n);var i=Object.assign({},e),r=!1;try{t.resolve("web-worker"),r=!0}catch{}if(e.workerUrl)if(r){var a=t("web-worker");i.workerFactory=function(t){return new a(t)}}else console.warn("Web worker requested but 'web-worker' package not installed. \nConsider installing the package or pass your own 'workerFactory' to ELK's constructor.\n... Falling back to non-web worker version.");if(!i.workerFactory){var o=t("./elk-worker.min.js").Worker;i.workerFactory=function(t){return new o(t)}}return function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,i))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(n,e),n}(t("./elk-api.js").default);Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports=i,i.default=i},{"./elk-api.js":1,"./elk-worker.min.js":2,"web-worker":4}],4:[function(t,e,n){e.exports=Worker},{}]},{},[3])(3)}(lF);const uF=new(r(lF.exports));let hF={};const fF={};let dF={};const gF=(t,e,n)=>{const i={TB:{in:{north:"north"},out:{south:"west",west:"east",east:"south"}},LR:{in:{west:"west"},out:{east:"south",south:"north",north:"east"}},RL:{in:{east:"east"},out:{west:"north",north:"south",south:"west"}},BT:{in:{south:"south"},out:{north:"east",east:"west",west:"north"}}};return i.TD=i.TB,i[n][e][t]},pF=(t,e,n)=>{if(l.info("getNextPort",{node:t,edgeDirection:e,graphDirection:n}),!hF[t])switch(n){case"TB":case"TD":hF[t]={inPosition:"north",outPosition:"south"};break;case"BT":hF[t]={inPosition:"south",outPosition:"north"};break;case"RL":hF[t]={inPosition:"east",outPosition:"west"};break;case"LR":hF[t]={inPosition:"west",outPosition:"east"}}const i="in"===e?hF[t].inPosition:hF[t].outPosition;return"in"===e?hF[t].inPosition=gF(hF[t].inPosition,e,n):hF[t].outPosition=gF(hF[t].outPosition,e,n),i},bF=function(t,e,n,i,r,a){const o=function(t,e,n){const i=((t,e,n)=>{const{parentById:i}=n,r=new Set;let a=t;for(;a;){if(r.add(a),a===e)return a;a=i[a]}for(a=e;a;){if(r.has(a))return a;a=i[a]}return"root"})(t,e,n);if(void 0===i||"root"===i)return{x:0,y:0};const r=dF[i].offset;return{x:r.posX,y:r.posY}}(e.sourceId,e.targetId,r),s=e.sections[0].startPoint,c=e.sections[0].endPoint,l=(e.sections[0].bendPoints?e.sections[0].bendPoints:[]).map((t=>[t.x+o.x,t.y+o.y])),u=[[s.x+o.x,s.y+o.y],...l,[c.x+o.x,c.y+o.y]],{x:h,y:f}=dI(e.edgeData),d=$o().x(h).y(f).curve(Bo),g=t.insert("path").attr("d",d(u)).attr("class","path "+n.classes).attr("fill","none"),p=t.insert("g").attr("class","edgeLabel"),b=ee(p.node().appendChild(e.labelEl)),m=b.node().firstChild.getBoundingClientRect();b.attr("width",m.width),b.attr("height",m.height),p.attr("transform",`translate(${e.labels[0].x+o.x}, ${e.labels[0].y+o.y})`),function(t,e,n,i,r){let a="";i&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replace(/\(/g,"\\("),a=a.replace(/\)/g,"\\)")),gI(t,e,a,r,n)}(g,n,i.type,i.arrowMarkerAbsolute,a)},mF=(t,e)=>{t.forEach((t=>{t.children||(t.children=[]);const n=e.childrenById[t.id];n&&n.forEach((e=>{t.children.push(dF[e])})),mF(t.children,e)}))},yF=(t,e,n,i,r,a,o)=>{n.forEach((function(n){if(n)if(dF[n.id].offset={posX:n.x+t,posY:n.y+e,x:t,y:e,depth:o,width:n.width,height:n.height},"group"===n.type){const i=r.insert("g").attr("class","subgraph");i.insert("rect").attr("class","subgraph subgraph-lvl-"+o%5+" node").attr("x",n.x+t).attr("y",n.y+e).attr("width",n.width).attr("height",n.height);const a=i.insert("g").attr("class","label"),s=sd().flowchart.htmlLabels?n.labelData.width/2:0;a.attr("transform",`translate(${n.labels[0].x+t+n.x+s}, ${n.labels[0].y+e+n.y+3})`),a.node().appendChild(n.labelData.labelNode),l.info("Id (UGH)= ",n.type,n.labels)}else l.info("Id (UGH)= ",n.id),n.el.attr("transform",`translate(${n.x+t+n.width/2}, ${n.y+e+n.height/2})`)})),n.forEach((function(n){n&&"group"===n.type&&yF(t+n.x,e+n.y,n.children,i,r,a,o+1)}))},wF={getClasses:function(t,e){return l.info("Extracting classes"),e.db.getClasses()},draw:async function(t,e,n,i){var r;i.db.clear(),dF={},hF={},i.db.setGen("gen-2"),i.parser.parse(t);const a=ee("body").append("div").attr("style","height:400px").attr("id","cy");let o={id:"root",layoutOptions:{"elk.hierarchyHandling":"INCLUDE_CHILDREN","org.eclipse.elk.padding":"[top=100, left=100, bottom=110, right=110]","elk.layered.spacing.edgeNodeBetweenLayers":"30","elk.direction":"DOWN"},children:[],edges:[]};switch(l.info("Drawing flowchart using v3 renderer",uF),i.db.getDirection()){case"BT":o.layoutOptions["elk.direction"]="UP";break;case"TB":o.layoutOptions["elk.direction"]="DOWN";break;case"LR":o.layoutOptions["elk.direction"]="RIGHT";break;case"RL":o.layoutOptions["elk.direction"]="LEFT"}const{securityLevel:s,flowchart:c}=sd();let u;"sandbox"===s&&(u=ee("#i"+e));const h=ee("sandbox"===s?u.nodes()[0].contentDocument.body:"body"),f="sandbox"===s?u.nodes()[0].contentDocument:document,d=h.select(`[id="${e}"]`);NA(d,["point","circle","cross"],i.type,e);const g=i.db.getVertices();let p;const b=i.db.getSubGraphs();l.info("Subgraphs - ",b);for(let t=b.length-1;t>=0;t--)p=b[t],i.db.addVertex(p.id,{text:p.title,type:p.labelType},"group",void 0,p.classes,p.dir);const m=d.insert("g").attr("class","subgraphs"),y=function(t){const e={parentById:{},childrenById:{}},n=t.getSubGraphs();return l.info("Subgraphs - ",n),n.forEach((function(t){t.nodes.forEach((function(n){e.parentById[n]=t.id,void 0===e.childrenById[t.id]&&(e.childrenById[t.id]=[]),e.childrenById[t.id].push(n)}))})),n.forEach((function(t){t.id,void 0!==e.parentById[t.id]&&e.parentById[t.id]})),e}(i.db);o=await async function(t,e,n,i,r,a,o){const s=n.select(`[id="${e}"]`).insert("g").attr("class","nodes"),c=Object.keys(t);return await Promise.all(c.map((async function(e){const n=t[e];let o="default";n.classes.length>0&&(o=n.classes.join(" ")),o+=" flowchart-label";const c=Zh(n.styles);let l=void 0!==n.text?n.text:n.id;const u={width:0,height:0},h=[{id:n.id+"-west",layoutOptions:{"port.side":"WEST"}},{id:n.id+"-east",layoutOptions:{"port.side":"EAST"}},{id:n.id+"-south",layoutOptions:{"port.side":"SOUTH"}},{id:n.id+"-north",layoutOptions:{"port.side":"NORTH"}}];let f=0,d="",g={};switch(n.type){case"round":f=5,d="rect";break;case"square":case"group":default:d="rect";break;case"diamond":d="question",g={portConstraints:"FIXED_SIDE"};break;case"hexagon":d="hexagon";break;case"odd":case"odd_right":d="rect_left_inv_arrow";break;case"lean_right":d="lean_right";break;case"lean_left":d="lean_left";break;case"trapezoid":d="trapezoid";break;case"inv_trapezoid":d="inv_trapezoid";break;case"circle":d="circle";break;case"ellipse":d="ellipse";break;case"stadium":d="stadium";break;case"subroutine":d="subroutine";break;case"cylinder":d="cylinder";break;case"doublecircle":d="doublecircle"}const p={labelStyle:c.labelStyle,shape:d,labelText:l,labelType:n.labelType,rx:f,ry:f,class:o,style:c.style,id:n.id,link:n.link,linkTarget:n.linkTarget,tooltip:r.db.getTooltip(n.id)||"",domId:r.db.lookUpDomId(n.id),haveCallback:n.haveCallback,width:"group"===n.type?500:void 0,dir:n.dir,type:n.type,props:n.props,padding:sd().flowchart.padding};let b,m;if("group"!==p.type)m=await aI(s,p,n.dir),b=m.node().getBBox();else{i.createElementNS("http://www.w3.org/2000/svg","text");const{shapeSvg:t,bbox:e}=await OL(s,p,void 0,!0);u.width=e.width,u.wrappingWidth=sd().flowchart.wrappingWidth,u.height=e.height,u.labelNode=t.node(),p.labelData=u}const y={id:n.id,ports:"diamond"===n.type?h:[],layoutOptions:g,labelText:l,labelData:u,domId:r.db.lookUpDomId(n.id),width:null==b?void 0:b.width,height:null==b?void 0:b.height,type:n.type,el:m,parent:a.parentById[n.id]};dF[p.id]=y}))),o}(g,e,h,f,i,y,o);const w=d.insert("g").attr("class","edges edgePath"),v=i.db.getEdges();o=function(t,e,n,i){l.info("abc78 edges = ",t);const r=i.insert("g").attr("class","edgeLabels");let a,o,s={},c=e.db.getDirection();if(void 0!==t.defaultStyle){const e=Zh(t.defaultStyle);a=e.style,o=e.labelStyle}return t.forEach((function(e){const i="L-"+e.start+"-"+e.end;void 0===s[i]?(s[i]=0,l.info("abc78 new entry",i,s[i])):(s[i]++,l.info("abc78 new entry",i,s[i]));let u=i+"-"+s[i];l.info("abc78 new link id to be used is",i,u,s[i]);const h="LS-"+e.start,f="LE-"+e.end,d={style:"",labelStyle:""};switch(d.minlen=e.length||1,"arrow_open"===e.type?d.arrowhead="none":d.arrowhead="normal",d.arrowTypeStart="arrow_open",d.arrowTypeEnd="arrow_open",e.type){case"double_arrow_cross":d.arrowTypeStart="arrow_cross";case"arrow_cross":d.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":d.arrowTypeStart="arrow_point";case"arrow_point":d.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":d.arrowTypeStart="arrow_circle";case"arrow_circle":d.arrowTypeEnd="arrow_circle"}let g="",p="";switch(e.stroke){case"normal":g="fill:none;",void 0!==a&&(g=a),void 0!==o&&(p=o),d.thickness="normal",d.pattern="solid";break;case"dotted":d.thickness="normal",d.pattern="dotted",d.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":d.thickness="thick",d.pattern="solid",d.style="stroke-width: 3.5px;fill:none;"}if(void 0!==e.style){const t=Zh(e.style);g=t.style,p=t.labelStyle}d.style=d.style+=g,d.labelStyle=d.labelStyle+=p,void 0!==e.interpolate?d.curve=Vh(e.interpolate,Bo):void 0!==t.defaultInterpolate?d.curve=Vh(t.defaultInterpolate,Bo):d.curve=Vh(fF.curve,Bo),void 0===e.text?void 0!==e.style&&(d.arrowheadStyle="fill: #333"):(d.arrowheadStyle="fill: #333",d.labelpos="c"),d.labelType=e.labelType,d.label=e.text.replace(Bc.lineBreakRegex,"\n"),void 0===e.style&&(d.style=d.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),d.labelStyle=d.labelStyle.replace("color:","fill:"),d.id=u,d.classes="flowchart-link "+h+" "+f;const b=wI(r,d),{source:m,target:y,sourceId:w,targetId:v}=((t,e)=>{let n=t.start,i=t.end;const r=n,a=i,o=dF[n],s=dF[i];return o&&s?("diamond"===o.type&&(n=`${n}-${pF(n,"out",e)}`),"diamond"===s.type&&(i=`${i}-${pF(i,"in",e)}`),{source:n,target:i,sourceId:r,targetId:a}):{source:n,target:i}})(e,c);l.debug("abc78 source and target",m,y),n.edges.push({id:"e"+e.start+e.end,sources:[m],targets:[y],sourceId:w,targetId:v,labelEl:b,labels:[{width:d.width,height:d.height,orgWidth:d.width,orgHeight:d.height,text:d.label,layoutOptions:{"edgeLabels.inline":"true","edgeLabels.placement":"CENTER"}}],edgeData:d})})),n}(v,i,o,d),Object.keys(dF).forEach((t=>{const e=dF[t];e.parent||o.children.push(e),void 0!==y.childrenById[t]&&(e.labels=[{text:e.labelText,layoutOptions:{"nodeLabels.placement":"[H_CENTER, V_TOP, INSIDE]"},width:e.labelData.width,height:e.labelData.height}],delete e.x,delete e.y,delete e.width,delete e.height)})),mF(o.children,y),l.info("after layout",JSON.stringify(o,null,2));const x=await uF.layout(o);yF(0,0,x.children,d,m,i,0),l.info("after layout",x),null==(r=x.edges)||r.map((t=>{bF(w,t,t.edgeData,i,y,e)})),Gd({},d,c.diagramPadding,c.useMaxWidth),a.remove()}},vF=Object.freeze(Object.defineProperty({__proto__:null,diagram:{db:q_,renderer:wF,parser:Kk,styles:t=>`.label {\n font-family: ${t.fontFamily};\n color: ${t.nodeTextColor||t.textColor};\n }\n .cluster-label text {\n fill: ${t.titleColor};\n }\n .cluster-label span {\n color: ${t.titleColor};\n }\n\n .label text,span {\n fill: ${t.nodeTextColor||t.textColor};\n color: ${t.nodeTextColor||t.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${t.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${t.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${t.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${t.edgeLabelBackground};\n rect {\n opacity: 0.85;\n background-color: ${t.edgeLabelBackground};\n fill: ${t.edgeLabelBackground};\n }\n text-align: center;\n }\n\n .cluster rect {\n fill: ${t.clusterBkg};\n stroke: ${t.clusterBorder};\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${t.titleColor};\n }\n\n .cluster span {\n color: ${t.titleColor};\n }\n /* .cluster div {\n color: ${t.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${t.fontFamily};\n font-size: 12px;\n background: ${t.tertiaryColor};\n border: 1px solid ${t.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n }\n .subgraph {\n stroke-width:2;\n rx:3;\n }\n // .subgraph-lvl-1 {\n // fill:#ccc;\n // // stroke:black;\n // }\n\n .flowchart-label text {\n text-anchor: middle;\n }\n\n ${(t=>{let e="";for(let n=0;n<5;n++)e+=`\n .subgraph-lvl-${n} {\n fill: ${t[`surface${n}`]};\n stroke: ${t[`surfacePeer${n}`]};\n }\n `;return e})(t)}\n`}},Symbol.toStringTag,{value:"Module"}));var xF=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[6,8,10,11,12,14,16,17,20,21],n=[1,9],i=[1,10],r=[1,11],a=[1,12],o=[1,13],s=[1,16],c=[1,17],l={trace:function(){},yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:function(t,e,n,i,r,a,o){var s=a.length-1;switch(r){case 1:return a[s-1];case 2:case 6:case 7:this.$=[];break;case 3:a[s-1].push(a[s]),this.$=a[s-1];break;case 4:case 5:this.$=a[s];break;case 8:i.getCommonDb().setDiagramTitle(a[s].substr(6)),this.$=a[s].substr(6);break;case 9:this.$=a[s].trim(),i.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=a[s].trim(),i.getCommonDb().setAccDescription(this.$);break;case 12:i.addSection(a[s].substr(8)),this.$=a[s].substr(8);break;case 15:i.addTask(a[s],0,""),this.$=a[s];break;case 16:i.addEvent(a[s].substr(2)),this.$=a[s]}},table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:n,12:i,14:r,16:a,17:o,18:14,19:15,20:s,21:c},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:18,11:n,12:i,14:r,16:a,17:o,18:14,19:15,20:s,21:c},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,19]},{15:[1,20]},t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,4]),t(e,[2,9]),t(e,[2,10])],defaultActions:{},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=[0],n=[],i=[null],r=[],a=this.table,o="",s=0,c=0,l=r.slice.call(arguments,1),u=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);u.setInput(t,h.yy),h.yy.lexer=u,h.yy.parser=this,typeof u.yylloc>"u"&&(u.yylloc={});var d=u.yylloc;r.push(d);var g,p=u.options&&u.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,m,y,w,v,x,k,_,T={};;){if(m=e[e.length-1],this.defaultActions[m]?y=this.defaultActions[m]:((null===b||typeof b>"u")&&(g=void 0,"number"!=typeof(g=n.pop()||u.lex()||1)&&(g instanceof Array&&(g=(n=g).pop()),g=this.symbols_[g]||g),b=g),y=a[m]&&a[m][b]),typeof y>"u"||!y.length||!y[0]){var E;for(v in _=[],a[m])this.terminals_[v]&&v>2&&_.push("'"+this.terminals_[v]+"'");E=u.showPosition?"Parse error on line "+(s+1)+":\n"+u.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(E,{text:u.match,token:this.terminals_[b]||b,line:u.yylineno,loc:d,expected:_})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+b);switch(y[0]){case 1:e.push(b),i.push(u.yytext),r.push(u.yylloc),e.push(y[1]),b=null,c=u.yyleng,o=u.yytext,s=u.yylineno,d=u.yylloc;break;case 2:if(x=this.productions_[y[1]][1],T.$=i[i.length-x],T._$={first_line:r[r.length-(x||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(x||1)].first_column,last_column:r[r.length-1].last_column},p&&(T._$.range=[r[r.length-(x||1)].range[0],r[r.length-1].range[1]]),typeof(w=this.performAction.apply(T,[o,c,s,h.yy,y[1],i,r].concat(l)))<"u")return w;x&&(e=e.slice(0,-1*x*2),i=i.slice(0,-1*x),r=r.slice(0,-1*x)),e.push(this.productions_[y[1]][0]),i.push(T.$),r.push(T._$),k=a[e[e.length-2]][e[e.length-1]],e.push(k);break;case 3:return!0}}return!0}},u={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:case 1:case 3:case 4:break;case 2:return 10;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?::\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}};function h(){this.yy={}}return l.lexer=u,h.prototype=l,l.Parser=h,new h}();xF.parser=xF;const kF=xF;let _F="",TF=0;const EF=[],SF=[],CF=[],AF=()=>rg,MF=function(){EF.length=0,SF.length=0,_F="",CF.length=0,Qd()},LF=function(t){_F=t,EF.push(t)},IF=function(){return EF},OF=function(){let t=BF(),e=0;for(;!t&&e<100;)t=BF(),e++;return SF.push(...CF),SF},NF=function(t,e,n){const i={id:TF++,section:_F,type:_F,task:t,score:e||0,events:n?[n]:[]};CF.push(i)},DF=function(t){CF.find((t=>t.id===TF-1)).events.push(t)},PF=function(t){const e={section:_F,type:_F,description:t,task:t,classes:[]};SF.push(e)},BF=function(){const t=function(t){return CF[t].processed};let e=!0;for(const[n,i]of CF.entries())t(n),e=e&&i.processed;return e},RF=Object.freeze(Object.defineProperty({__proto__:null,addEvent:DF,addSection:LF,addTask:NF,addTaskOrg:PF,clear:MF,default:{clear:MF,getCommonDb:AF,addSection:LF,getSections:IF,getTasks:OF,addTask:NF,addTaskOrg:PF,addEvent:DF},getCommonDb:AF,getSections:IF,getTasks:OF},Symbol.toStringTag,{value:"Module"}));function FF(t,e){t.each((function(){var t,n=ee(this),i=n.text().split(/(\s+|
)/).reverse(),r=[],a=n.attr("y"),o=parseFloat(n.attr("dy")),s=n.text(null).append("tspan").attr("x",0).attr("y",a).attr("dy",o+"em");for(let o=0;oe||"
"===t)&&(r.pop(),s.text(r.join(" ").trim()),r="
"===t?[""]:[t],s=n.append("tspan").attr("x",0).attr("y",a).attr("dy","1.1em").text(t))}))}const $F=function(t,e,n,i){const r=n%12-1,a=t.append("g");e.section=r,a.attr("class",(e.class?e.class+" ":"")+"timeline-node section-"+r);const o=a.append("g"),s=a.append("g"),c=s.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(FF,e.width).node().getBBox(),l=i.fontSize&&i.fontSize.replace?i.fontSize.replace("px",""):i.fontSize;return e.height=c.height+1.1*l*.5+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,s.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),function(t,e,n){t.append("path").attr("id","node-"+e.id).attr("class","node-bkg node-"+e.type).attr("d",`M0 ${e.height-5} v${10-e.height} q0,-5 5,-5 h${e.width-10} q5,0 5,5 v${e.height-5} H0 Z`),t.append("line").attr("class","node-line-"+n).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)}(o,e,r),e},jF=function(t,e,n){const i=t.append("g"),r=i.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(FF,e.width).node().getBBox(),a=n.fontSize&&n.fontSize.replace?n.fontSize.replace("px",""):n.fontSize;return i.remove(),r.height+1.1*a*.5+e.padding},zF=function(t,e,n,i,r,a,o,s,c,u,h){var f;for(const s of e){const e={descr:s.task,section:n,number:n,width:150,padding:20,maxHeight:a};l.debug("taskNode",e);const d=t.append("g").attr("class","taskWrapper"),g=$F(d,e,n,o).height;if(l.debug("taskHeight after draw",g),d.attr("transform",`translate(${i}, ${r})`),a=Math.max(a,g),s.events){const e=t.append("g").attr("class","lineWrapper");let l=a;r+=100,l+=qF(t,s.events,n,i,r,o),r-=100,e.append("line").attr("x1",i+95).attr("y1",r+a).attr("x2",i+95).attr("y2",r+a+(h?a:u)+c+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}i+=200,h&&(null==(f=o.timeline)||!f.disableMulticolor)&&n++}r-=10},qF=function(t,e,n,i,r,a){let o=0;const s=r;r+=100;for(const s of e){const e={descr:s,section:n,number:n,width:150,padding:20,maxHeight:50};l.debug("eventNode",e);const c=t.append("g").attr("class","eventWrapper"),u=$F(c,e,n,a).height;o+=u,c.attr("transform",`translate(${i}, ${r})`),r=r+10+u}return r=s,o},HF={setConf:()=>{},draw:function(t,e,n,i){var r,a;const o=sg(),s=o.leftMargin??50;l.debug("timeline",i.db);const c=o.securityLevel;let u;"sandbox"===c&&(u=ee("#i"+e));const h=ee("sandbox"===c?u.nodes()[0].contentDocument.body:"body").select("#"+e);h.append("g");const f=i.db.getTasks(),d=i.db.getCommonDb().getDiagramTitle();l.debug("task",f),function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")}(h);const g=i.db.getSections();l.debug("sections",g);let p=0,b=0,m=0,y=0,w=50+s,v=50;y=50;let x=0,k=!0;g.forEach((function(t){const e=jF(h,{number:x,descr:t,section:x,width:150,padding:20,maxHeight:p},o);l.debug("sectionHeight before draw",e),p=Math.max(p,e+20)}));let _=0,T=0;l.debug("tasks.length",f.length);for(const[t,e]of f.entries()){const n={number:t,descr:e,section:e.section,width:150,padding:20,maxHeight:b},i=jF(h,n,o);l.debug("taskHeight before draw",i),b=Math.max(b,i+20),_=Math.max(_,e.events.length);let r=0;for(let t=0;t0?g.forEach((t=>{const e=f.filter((e=>e.section===t)),n={number:x,descr:t,section:x,width:200*Math.max(e.length,1)-50,padding:20,maxHeight:p};l.debug("sectionNode",n);const i=h.append("g"),r=$F(i,n,x,o);l.debug("sectionNode output",r),i.attr("transform",`translate(${w}, 50)`),v+=p+50,e.length>0&&zF(h,e,x,w,v,b,o,0,T,p,!1),w+=200*Math.max(e.length,1),v=50,x++})):(k=!1,zF(h,f,x,w,v,b,o,0,T,p,!0));const E=h.node().getBBox();l.debug("bounds",E),d&&h.append("text").text(d).attr("x",E.width/2-s).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),m=k?p+b+150:b+100,h.append("g").attr("class","lineWrapper").append("line").attr("x1",s).attr("y1",m).attr("x2",E.width+3*s).attr("y2",m).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),Gd(void 0,h,(null==(r=o.timeline)?void 0:r.padding)??50,(null==(a=o.timeline)?void 0:a.useMaxWidth)??!1)}},UF=Object.freeze(Object.defineProperty({__proto__:null,diagram:{db:RF,renderer:HF,parser:kF,styles:t=>`\n .edge {\n stroke-width: 3;\n }\n ${(t=>{let e="";for(let e=0;e"u"&&(u.yylloc={});var d=u.yylloc;r.push(d);var g,p=u.options&&u.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,m,y,w,v,x,k,_,T={};;){if(m=e[e.length-1],this.defaultActions[m]?y=this.defaultActions[m]:((null===b||typeof b>"u")&&(g=void 0,"number"!=typeof(g=n.pop()||u.lex()||1)&&(g instanceof Array&&(g=(n=g).pop()),g=this.symbols_[g]||g),b=g),y=a[m]&&a[m][b]),typeof y>"u"||!y.length||!y[0]){var E;for(v in _=[],a[m])this.terminals_[v]&&v>2&&_.push("'"+this.terminals_[v]+"'");E=u.showPosition?"Parse error on line "+(s+1)+":\n"+u.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(E,{text:u.match,token:this.terminals_[b]||b,line:u.yylineno,loc:d,expected:_})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+b);switch(y[0]){case 1:e.push(b),i.push(u.yytext),r.push(u.yylloc),e.push(y[1]),b=null,c=u.yyleng,o=u.yytext,s=u.yylineno,d=u.yylloc;break;case 2:if(x=this.productions_[y[1]][1],T.$=i[i.length-x],T._$={first_line:r[r.length-(x||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(x||1)].first_column,last_column:r[r.length-1].last_column},p&&(T._$.range=[r[r.length-(x||1)].range[0],r[r.length-1].range[1]]),typeof(w=this.performAction.apply(T,[o,c,s,h.yy,y[1],i,r].concat(l)))<"u")return w;x&&(e=e.slice(0,-1*x*2),i=i.slice(0,-1*x),r=r.slice(0,-1*x)),e.push(this.productions_[y[1]][0]),i.push(T.$),r.push(T._$),k=a[e[e.length-2]][e[e.length-1]],e.push(k);break;case 3:return!0}}return!0}},y={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:return t.getLogger().trace("Found comment",e.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:case 23:case 26:this.popState();break;case 5:t.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return t.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:t.getLogger().trace("end icon"),this.popState();break;case 10:return t.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return t.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return t.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return t.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:case 15:case 16:case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 24:t.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return t.getLogger().trace("description:",e.yytext),"NODE_DESCR";case 27:return this.popState(),t.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),t.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),t.getLogger().trace("node end ...",e.yytext),"NODE_DEND";case 30:case 33:case 34:return this.popState(),t.getLogger().trace("node end (("),"NODE_DEND";case 31:case 32:return this.popState(),t.getLogger().trace("node end (-"),"NODE_DEND";case 35:case 36:return t.getLogger().trace("Long description:",e.yytext),20}},rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};function w(){this.yy={}}return m.lexer=y,w.prototype=m,m.Parser=w,new w}();GF.parser=GF;const KF=GF;let YF=[],VF=0,WF={};const XF={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},QF={clear:()=>{YF=[],VF=0,WF={}},addNode:(t,e,n,i)=>{var r,a;l.info("addNode",t,e,n,i);const o=sg();let s=(null==(r=o.mindmap)?void 0:r.padding)??bl.mindmap.padding;switch(i){case XF.ROUNDED_RECT:case XF.RECT:case XF.HEXAGON:s*=2}const c={id:VF++,nodeId:_c(e,o),level:t,descr:_c(n,o),type:i,children:[],width:(null==(a=o.mindmap)?void 0:a.maxNodeWidth)??bl.mindmap.maxNodeWidth,padding:s},u=function(t){for(let e=YF.length-1;e>=0;e--)if(YF[e].levelYF.length>0?YF[0]:null,nodeType:XF,getType:(t,e)=>{switch(l.debug("In get type",t,e),t){case"[":return XF.RECT;case"(":return")"===e?XF.ROUNDED_RECT:XF.CLOUD;case"((":return XF.CIRCLE;case")":return XF.CLOUD;case"))":return XF.BANG;case"{{":return XF.HEXAGON;default:return XF.DEFAULT}},setElementForId:(t,e)=>{WF[t]=e},decorateNode:t=>{if(!t)return;const e=sg(),n=YF[YF.length-1];t.icon&&(n.icon=_c(t.icon,e)),t.class&&(n.class=_c(t.class,e))},type2Str:t=>{switch(t){case XF.DEFAULT:return"no-border";case XF.RECT:return"rect";case XF.ROUNDED_RECT:return"rounded-rect";case XF.CIRCLE:return"circle";case XF.CLOUD:return"cloud";case XF.BANG:return"bang";case XF.HEXAGON:return"hexgon";default:return"no-border"}},getLogger:()=>l,getElementById:t=>WF[t]};var ZF={exports:{}};!function(t,e){t.exports=function(){function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(e)}function e(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,i=new Array(e);n"u"?null:window,l=c?c.navigator:null;c&&c.document;var u=t(""),h=t({}),f=t((function(){})),d=typeof HTMLElement>"u"?"undefined":t(HTMLElement),g=function(t){return t&&t.instanceString&&b(t.instanceString)?t.instanceString():null},p=function(e){return null!=e&&t(e)==u},b=function(e){return null!=e&&t(e)===f},m=function(t){return!x(t)&&(Array.isArray?Array.isArray(t):null!=t&&t instanceof Array)},y=function(e){return null!=e&&t(e)===h&&!m(e)&&e.constructor===Object},w=function(e){return null!=e&&t(e)===t(1)&&!isNaN(e)},v=function(t){if("undefined"!==d)return null!=t&&t instanceof HTMLElement},x=function(t){return k(t)||_(t)},k=function(t){return"collection"===g(t)&&t._private.single},_=function(t){return"collection"===g(t)&&!t._private.single},T=function(t){return"core"===g(t)},E=function(t){return"stylesheet"===g(t)},S=function(t){return null==t||!(""!==t&&!t.match(/^\s+$/))},C=function(e){return function(e){return null!=e&&t(e)===h}(e)&&b(e.then)},A=function(t,e){e||(e=function(){if(1===arguments.length)return arguments[0];if(0===arguments.length)return"undefined";for(var t=[],e=0;ee?1:0},$=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments,n=1;n255)return;e.push(Math.floor(a))}var o=i[1]||i[2]||i[3],s=i[1]&&i[2]&&i[3];if(o&&!s)return;var c=n[4];if(void 0!==c){if((c=parseFloat(c))<0||c>1)return;e.push(c)}}return e}(t)||function(t){var e,n,i,r,a,o,s,c;function l(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t}var u=new RegExp("^"+B+"$").exec(t);if(u){if((n=parseInt(u[1]))<0?n=(360- -1*n%360)%360:n>360&&(n%=360),n/=360,(i=parseFloat(u[2]))<0||i>100||(i/=100,(r=parseFloat(u[3]))<0||r>100)||(r/=100,void 0!==(a=u[4])&&((a=parseFloat(a))<0||a>1)))return;if(0===i)o=s=c=Math.round(255*r);else{var h=r<.5?r*(1+i):r+i-r*i,f=2*r-h;o=Math.round(255*l(f,h,n+1/3)),s=Math.round(255*l(f,h,n)),c=Math.round(255*l(f,h,n-1/3))}e=[o,s,c,a]}return e}(t)},z={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},q=function(t){for(var e=t.map,n=t.keys,i=n.length,r=0;r=e||n<0||h&&t-l>=a}function p(){var t=W();if(g(t))return b(t);s=setTimeout(p,function(t){var n=e-(t-c);return h?yt(n,a-(t-l)):n}(t))}function b(t){return s=void 0,f&&i?d(t):(i=r=void 0,o)}function m(){var t=W(),n=g(t);if(i=arguments,r=this,c=t,n){if(void 0===s)return function(t){return l=t,s=setTimeout(p,e),u?d(t):o}(c);if(h)return clearTimeout(s),s=setTimeout(p,e),d(c)}return void 0===s&&(s=setTimeout(p,e)),o}return e=bt(e)||0,U(n)&&(u=!!n.leading,a=(h="maxWait"in n)?mt(bt(n.maxWait)||0,e):a,f="trailing"in n?!!n.trailing:f),m.cancel=function(){void 0!==s&&clearTimeout(s),l=0,i=c=r=s=void 0},m.flush=function(){return void 0===s?o:b(W())},m},vt=c?c.performance:null,xt=vt&&vt.now?function(){return vt.now()}:function(){return Date.now()},kt=function(){if(c){if(c.requestAnimationFrame)return function(t){c.requestAnimationFrame(t)};if(c.mozRequestAnimationFrame)return function(t){c.mozRequestAnimationFrame(t)};if(c.webkitRequestAnimationFrame)return function(t){c.webkitRequestAnimationFrame(t)};if(c.msRequestAnimationFrame)return function(t){c.msRequestAnimationFrame(t)}}return function(t){t&&setTimeout((function(){t(xt())}),1e3/60)}}(),_t=function(t){return kt(t)},Tt=xt,Et=9261,St=5381,Ct=function(t){for(var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Et;!(e=t.next()).done;)n=65599*n+e.value|0;return n},At=function(t){return 65599*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:Et)+t|0},Mt=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:St;return(e<<5)+e+t|0},Lt=function(t){return 2097152*t[0]+t[1]},It=function(t,e){return[At(t[0],e[0]),Mt(t[1],e[1])]},Ot=function(t,e){var n={value:0,done:!1},i=0,r=t.length;return Ct({next:function(){return i=0&&(t[i]!==e||(t.splice(i,1),!n));i--);},Zt=function(t){t.splice(0,t.length)},Jt=function(t,e,n){return n&&(e=I(n,e)),t[e]},te=function(t,e,n,i){n&&(e=I(n,e)),t[e]=i},ee=function(){function t(){e(this,t),this._obj={}}return r(t,[{key:"set",value:function(t,e){return this._obj[t]=e,this}},{key:"delete",value:function(t){return this._obj[t]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(t){return void 0!==this._obj[t]}},{key:"get",value:function(t){return this._obj[t]}}]),t}(),ne=typeof Map<"u"?Map:ee,ie=function(){function t(n){if(e(this,t),this._obj=Object.create(null),this.size=0,null!=n){var i;i=null!=n.instanceString&&n.instanceString()===this.instanceString()?n.toArray():n;for(var r=0;r"u"?"undefined":t(Set))?Set:ie,ae=function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0!==t&&void 0!==e&&T(t)){var i=e.group;if(null==i&&(i=e.data&&null!=e.data.source&&null!=e.data.target?"edges":"nodes"),"nodes"===i||"edges"===i){this.length=1,this[0]=this;var r=this._private={cy:t,single:!0,data:e.data||{},position:e.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:i,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!e.selected,selectable:void 0===e.selectable||!!e.selectable,locked:!!e.locked,grabbed:!1,grabbable:void 0===e.grabbable||!!e.grabbable,pannable:void 0===e.pannable?"edges"===i:!!e.pannable,active:!1,classes:new re,animation:{current:[],queue:[]},rscratch:{},scratch:e.scratch||{},edges:[],children:[],parent:e.parent&&e.parent.isNode()?e.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==r.position.x&&(r.position.x=0),null==r.position.y&&(r.position.y=0),e.renderedPosition){var a=e.renderedPosition,o=t.pan(),s=t.zoom();r.position={x:(a.x-o.x)/s,y:(a.y-o.y)/s}}var c=[];m(e.classes)?c=e.classes:p(e.classes)&&(c=e.classes.split(/\s+/));for(var l=0,u=c.length;le?1:0},l=function(t,e,r,a,o){var s;if(null==r&&(r=0),null==o&&(o=n),r<0)throw new Error("lo must be non-negative");for(null==a&&(a=t.length);rn;0<=n?e++:e--)l.push(e);return l}.apply(this).reverse()).length;ap;0<=p?++f:--f)b.push(a(t,i));return b},g=function(t,e,i,r){var a,o,s;for(null==r&&(r=n),a=t[i];i>e&&r(a,o=t[s=i-1>>1])<0;)t[i]=o,i=s;return t[i]=a},p=function(t,e,i){var r,a,o,s,c;for(null==i&&(i=n),a=t.length,c=e,o=t[e],r=2*e+1;r0;){var T=v.pop(),E=w(T),S=T.id();if(d[S]=E,E!==1/0)for(var C=T.neighborhood().intersect(b),A=0;A0)for(n.unshift(e);f[r];){var a=f[r];n.unshift(a.edge),n.unshift(a.node),r=(i=a.node).id()}return c.spawn(n)}}}},he={kruskal:function(t){t=t||function(t){return 1};for(var e=this.byGroup(),n=e.nodes,i=e.edges,r=n.length,a=new Array(r),o=n,s=function(t){for(var e=0;e0;){if(c=b.pop(),l=c.id(),m.delete(l),x++,l===f){for(var k=[],_=r,T=f,E=w[T];k.unshift(_),null!=E&&k.unshift(E),null!=(_=y[T]);)E=w[T=_.id()];return{found:!0,distance:d[l],path:this.spawn(k),steps:x}}p[l]=!0;for(var S=c._private.edges,C=0;CC&&(d[S]=C,y[S]=E,w[S]=x),!r){var A=E*l+T;!r&&d[A]>C&&(d[A]=C,y[A]=T,w[A]=x)}}}for(var M=0;M1&&void 0!==arguments[1]?arguments[1]:a,i=[],r=w(t);;){if(null==r)return e.spawn();var o=y(r),c=o.edge,l=o.pred;if(i.unshift(r[0]),r.same(n)&&i.length>0)break;null!=c&&i.unshift(c),r=l}return s.spawn(i)},hasNegativeWeightCycle:g,negativeWeightCycles:b}}},ye=Math.sqrt(2),we=function(t,e,n){0===n.length&&Ht("Karger-Stein must be run on a connected (sub)graph");for(var i=n[t],r=i[1],a=i[2],o=e[r],s=e[a],c=n,l=c.length-1;l>=0;l--){var u=c[l],h=u[1],f=u[2];(e[h]===o&&e[f]===s||e[h]===s&&e[f]===o)&&c.splice(l,1)}for(var d=0;di;){var r=Math.floor(Math.random()*e.length);e=we(r,t,e),n--}return e},xe={kargerStein:function(){var t=this,e=this.byGroup(),n=e.nodes,i=e.edges;i.unmergeBy((function(t){return t.isLoop()}));var r=n.length,a=i.length,o=Math.ceil(Math.pow(Math.log(r)/Math.LN2,2)),s=Math.floor(r/ye);if(!(r<2)){for(var c=[],l=0;l0?1:t<0?-1:0},Ae=function(t,e){return Math.sqrt(Me(t,e))},Me=function(t,e){var n=e.x-t.x,i=e.y-t.y;return n*n+i*i},Le=function(t){for(var e=t.length,n=0,i=0;i=t.x1&&t.y2>=t.y1)return{x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2,w:t.x2-t.x1,h:t.y2-t.y1};if(null!=t.w&&null!=t.h&&t.w>=0&&t.h>=0)return{x1:t.x1,y1:t.y1,x2:t.x1+t.w,y2:t.y1+t.h,w:t.w,h:t.h}}},Pe=function(t,e){t.x1=Math.min(t.x1,e.x1),t.x2=Math.max(t.x2,e.x2),t.w=t.x2-t.x1,t.y1=Math.min(t.y1,e.y1),t.y2=Math.max(t.y2,e.y2),t.h=t.y2-t.y1},Be=function(t,e,n){t.x1=Math.min(t.x1,e),t.x2=Math.max(t.x2,e),t.w=t.x2-t.x1,t.y1=Math.min(t.y1,n),t.y2=Math.max(t.y2,n),t.h=t.y2-t.y1},Re=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t.x1-=e,t.x2+=e,t.y1-=e,t.y2+=e,t.w=t.x2-t.x1,t.h=t.y2-t.y1,t},Fe=function(t){var e,n,i,r,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===a.length)e=n=i=r=a[0];else if(2===a.length)e=i=a[0],r=n=a[1];else if(4===a.length){var s=o(a,4);e=s[0],n=s[1],i=s[2],r=s[3]}return t.x1-=r,t.x2+=n,t.y1-=e,t.y2+=i,t.w=t.x2-t.x1,t.h=t.y2-t.y1,t},$e=function(t,e){t.x1=e.x1,t.y1=e.y1,t.x2=e.x2,t.y2=e.y2,t.w=t.x2-t.x1,t.h=t.y2-t.y1},je=function(t,e){return!(t.x1>e.x2||e.x1>t.x2||t.x2e.y2||e.y1>t.y2)},ze=function(t,e,n){return t.x1<=e&&e<=t.x2&&t.y1<=n&&n<=t.y2},qe=function(t,e){return ze(t,e.x,e.y)},He=function(t,e){return ze(t,e.x1,e.y1)&&ze(t,e.x2,e.y2)},Ue=function(t,e,n,i,r,a,o){var s,c=ln(r,a),l=r/2,u=a/2,h=i-u-o;if((s=nn(t,e,n,i,n-l+c-o,h,n+l-c+o,h,!1)).length>0)return s;var f=n+l+o;if((s=nn(t,e,n,i,f,i-u+c-o,f,i+u-c+o,!1)).length>0)return s;var d=i+u+o;if((s=nn(t,e,n,i,n-l+c-o,d,n+l-c+o,d,!1)).length>0)return s;var g,p=n-l-o;if((s=nn(t,e,n,i,p,i-u+c-o,p,i+u-c+o,!1)).length>0)return s;var b=n-l+c,m=i-u+c;if((g=tn(t,e,n,i,b,m,c+o)).length>0&&g[0]<=b&&g[1]<=m)return[g[0],g[1]];var y=n+l-c,w=i-u+c;if((g=tn(t,e,n,i,y,w,c+o)).length>0&&g[0]>=y&&g[1]<=w)return[g[0],g[1]];var v=n+l-c,x=i+u-c;if((g=tn(t,e,n,i,v,x,c+o)).length>0&&g[0]>=v&&g[1]>=x)return[g[0],g[1]];var k=n-l+c,_=i+u-c;return(g=tn(t,e,n,i,k,_,c+o)).length>0&&g[0]<=k&&g[1]>=_?[g[0],g[1]]:[]},Ge=function(t,e,n,i,r,a,o){var s=o,c=Math.min(n,r),l=Math.max(n,r),u=Math.min(i,a),h=Math.max(i,a);return c-s<=t&&t<=l+s&&u-s<=e&&e<=h+s},Ke=function(t,e,n,i,r,a,o,s,c){var l=Math.min(n,o,r)-c,u=Math.max(n,o,r)+c,h=Math.min(i,s,a)-c,f=Math.max(i,s,a)+c;return!(tu||ef)},Ye=function(t,e,n,i,r,a,o,s){var c=[];!function(t,e,n,i,r){var a,o,s,c,l,u,h,f;0===t&&(t=1e-5),s=-27*(i/=t)+(e/=t)*(9*(n/=t)-e*e*2),a=(o=(3*n-e*e)/9)*o*o+(s/=54)*s,r[1]=0,h=e/3,a>0?(l=(l=s+Math.sqrt(a))<0?-Math.pow(-l,1/3):Math.pow(l,1/3),u=(u=s-Math.sqrt(a))<0?-Math.pow(-u,1/3):Math.pow(u,1/3),r[0]=-h+l+u,h+=(l+u)/2,r[4]=r[2]=-h,h=Math.sqrt(3)*(-u+l)/2,r[3]=h,r[5]=-h):(r[5]=r[3]=0,0===a?(f=s<0?-Math.pow(-s,1/3):Math.pow(s,1/3),r[0]=2*f-h,r[4]=r[2]=-(f+h)):(c=(o=-o)*o*o,c=Math.acos(s/Math.sqrt(c)),f=2*Math.sqrt(o),r[0]=-h+f*Math.cos(c/3),r[2]=-h+f*Math.cos((c+2*Math.PI)/3),r[4]=-h+f*Math.cos((c+4*Math.PI)/3)))}(1*n*n-4*n*r+2*n*o+4*r*r-4*r*o+o*o+i*i-4*i*a+2*i*s+4*a*a-4*a*s+s*s,9*n*r-3*n*n-3*n*o-6*r*r+3*r*o+9*i*a-3*i*i-3*i*s-6*a*a+3*a*s,3*n*n-6*n*r+n*o-n*t+2*r*r+2*r*t-o*t+3*i*i-6*i*a+i*s-i*e+2*a*a+2*a*e-s*e,1*n*r-n*n+n*t-r*t+i*a-i*i+i*e-a*e,c);for(var l=[],u=0;u<6;u+=2)Math.abs(c[u+1])<1e-7&&c[u]>=0&&c[u]<=1&&l.push(c[u]);l.push(1),l.push(0);for(var h,f,d,g=-1,p=0;p=0?dc?(t-r)*(t-r)+(e-a)*(e-a):l-h},We=function(t,e,n){for(var i,r,a,o,s=0,c=0;c=t&&t>=a||i<=t&&t<=a))continue;(t-i)/(a-i)*(o-r)+r>e&&s++}return s%2!=0},Xe=function(t,e,n,i,r,a,o,s,c){var l,u,h=new Array(n.length);null!=s[0]?(l=Math.atan(s[1]/s[0]),s[0]<0?l+=Math.PI/2:l=-l-Math.PI/2):l=s;for(var f=Math.cos(-l),d=Math.sin(-l),g=0;g0){var p=Ze(h,-c);u=Qe(p)}else u=h;return We(t,e,u)},Qe=function(t){for(var e,n,i,r,a,o,s,c,l=new Array(t.length/2),u=0;u=0&&g<=1&&b.push(g),p>=0&&p<=1&&b.push(p),0===b.length)return[];var m=b[0]*s[0]+t,y=b[0]*s[1]+e;return b.length>1?b[0]==b[1]?[m,y]:[m,y,b[1]*s[0]+t,b[1]*s[1]+e]:[m,y]},en=function(t,e,n){return e<=t&&t<=n||n<=t&&t<=e?t:t<=e&&e<=n||n<=e&&e<=t?e:n},nn=function(t,e,n,i,r,a,o,s,c){var l=t-r,u=n-t,h=o-r,f=e-a,d=i-e,g=s-a,p=h*f-g*l,b=u*f-d*l,m=g*u-h*d;if(0!==m){var y=p/m,w=b/m,v=-.001;return v<=y&&y<=1.001&&v<=w&&w<=1.001||c?[t+y*u,e+y*d]:[]}return 0===p||0===b?en(t,n,o)===o?[o,s]:en(t,n,r)===r?[r,a]:en(r,o,n)===n?[n,i]:[]:[]},rn=function(t,e,n,i,r,a,o,s){var c,l,u=[],h=new Array(n.length),f=!0;if(null==a&&(f=!1),f){for(var d=0;d0){var g=Ze(h,-s);l=Qe(g)}else l=h}else l=n;for(var p,b,m,y,w=0;wl&&(l=e)},get:function(t){return c[t]}},h=0;h0?w.edgesTo(y)[0]:y.edgesTo(w)[0];var v=i(m);y=y.id(),h[y]>h[p]+v&&(h[y]=h[p]+v,f.nodes.indexOf(y)<0?f.push(y):f.updateItem(y),l[y]=0,c[y]=[]),h[y]==h[p]+v&&(l[y]=l[y]+l[p],c[y].push(p))}else for(var x=0;x0;){for(var E=n.pop(),S=0;S0&&o.push(n[s]);0!==o.length&&r.push(i.collection(o))}return r}(u,c,e,i);return function(t){for(var e=0;e5&&void 0!==arguments[5]?arguments[5]:Ln,o=i,s=0;s=2?Bn(t,e,n,0,Nn,Dn):Bn(t,e,n,0,On)},squaredEuclidean:function(t,e,n){return Bn(t,e,n,0,Nn)},manhattan:function(t,e,n){return Bn(t,e,n,0,On)},max:function(t,e,n){return Bn(t,e,n,-1/0,Pn)}};function Fn(t,e,n,i,r,a){var o;return o=b(t)?t:Rn[t]||Rn.euclidean,0===e&&b(t)?o(r,a):o(e,n,i,r,a)}Rn["squared-euclidean"]=Rn.squaredEuclidean,Rn.squaredeuclidean=Rn.squaredEuclidean;var $n=Xt({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),jn=function(t){return $n(t)},zn=function(t,e,n,i,r){var a="kMedoids"!==r?function(t){return n[t]}:function(t){return i[t](n)},o=n,s=e;return Fn(t,i.length,a,(function(t){return i[t](e)}),o,s)},qn=function(t,e,n){for(var i=n.length,r=new Array(i),a=new Array(i),o=new Array(e),s=null,c=0;cn)return!1;return!0},Yn=function(t,e,n){for(var i=0;io&&(o=e[c][l],s=l);r[s].push(t[c])}for(var u=0;u=r.threshold||"dendrogram"===r.mode&&1===t.length)return!1;var d,g=e[o],p=e[i[o]];d="dendrogram"===r.mode?{left:g,right:p,key:g.key}:{value:g.value.concat(p.value),key:g.key},t[g.index]=d,t.splice(p.index,1),e[g.key]=d;for(var b=0;bn[p.key][m.key]&&(a=n[p.key][m.key])):"max"===r.linkage?(a=n[g.key][m.key],n[g.key][m.key]1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?(n0&&t.splice(0,e)):t=t.slice(e,n);for(var a=0,o=t.length-1;o>=0;o--){var s=t[o];r?isFinite(s)||(t[o]=-1/0,a++):t.splice(o,1)}i&&t.sort((function(t,e){return t-e}));var c=t.length,l=Math.floor(c/2);return c%2!=0?t[l+1+a]:(t[l-1+a]+t[l+a])/2}(t):"mean"===e?function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,i=0,r=0,a=e;a1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,i=1/0,r=e;r1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,i=-1/0,r=e;ro&&(a=c,o=e[r*t+c])}a>0&&i.push(a)}for(var l=0;l=C?(A=C,C=L,M=I):L>A&&(A=L);for(var O=0;O0?1:0;T[f%i.minIterations*o+F]=$,R+=$}if(R>0&&(f>=i.minIterations-1||f==i.maxIterations-1)){for(var j=0,z=0;z0&&i.push(r);return i}(o,u,h),U=function(t,e,n){for(var i=fi(t,e,n),r=0;rc&&(s=l,c=u)}n[r]=a[s]}return fi(t,e,n)}(o,c,H),G={},K=0;K1||o>1)&&(l=!0),u[e]=[],t.outgoers().forEach((function(t){t.isEdge()&&u[e].push(t.id())}))}else h[e]=[void 0,t.target().id()]})):c.forEach((function(t){var e=t.id();t.isNode()?(t.degree(!0)%2&&(n?i?l=!0:i=e:n=e),u[e]=[],t.connectedEdges().forEach((function(t){return u[e].push(t.id())}))):h[e]=[t.source().id(),t.target().id()]}));var f={found:!1,trail:void 0};if(l)return f;if(i&&n)if(s){if(r&&i!=r)return f;r=i}else{if(r&&i!=r&&n!=r)return f;r||(r=i)}else r||(r=c[0].id());var d=function(t){for(var e,n,i,r=t,a=[t];u[r].length;)e=u[r].shift(),n=h[e][0],r!=(i=h[e][1])?(u[i]=u[i].filter((function(t){return t!=e})),r=i):!s&&r!=n&&(u[n]=u[n].filter((function(t){return t!=e})),r=n),a.unshift(e),a.unshift(r);return a},g=[],b=[];for(b=d(r);1!=b.length;)0==u[b[0]].length?(g.unshift(c.getElementById(b.shift())),g.unshift(c.getElementById(b.shift()))):b=d(b.shift()).concat(b);for(var m in g.unshift(c.getElementById(b.shift())),u)if(u[m].length)return f;return f.found=!0,f.trail=this.spawn(g,!0),f}},mi=function(){var t=this,e={},n=0,i=0,r=[],a=[],o={},s=function s(c,l,u){c===u&&(i+=1),e[l]={id:n,low:n++,cutVertex:!1};var h,f,d,g,p=t.getElementById(l).connectedEdges().intersection(t);0===p.size()?r.push(t.spawn(t.getElementById(l))):p.forEach((function(n){h=n.source().id(),f=n.target().id(),(d=h===l?f:h)!==u&&(g=n.id(),o[g]||(o[g]=!0,a.push({x:l,y:d,edge:n})),d in e?e[l].low=Math.min(e[l].low,e[d].id):(s(c,d,l),e[l].low=Math.min(e[l].low,e[d].low),e[l].id<=e[d].low&&(e[l].cutVertex=!0,function(n,i){for(var o=a.length-1,s=[],c=t.spawn();a[o].x!=n||a[o].y!=i;)s.push(a.pop().edge),o--;s.push(a.pop().edge),s.forEach((function(n){var i=n.connectedNodes().intersection(t);c.merge(n),i.forEach((function(n){var i=n.id(),r=n.connectedEdges().intersection(t);c.merge(n),e[i].cutVertex?c.merge(r.filter((function(t){return t.isLoop()}))):c.merge(r)}))})),r.push(c)}(l,d))))}))};t.forEach((function(t){if(t.isNode()){var n=t.id();n in e||(i=0,s(n,n),e[n].cutVertex=i>1)}}));var c=Object.keys(e).filter((function(t){return e[t].cutVertex})).map((function(e){return t.getElementById(e)}));return{cut:t.spawn(c),components:r}},yi=function(){var t=this,e={},n=0,i=[],r=[],a=t.spawn(t),o=function o(s){if(r.push(s),e[s]={index:n,low:n++,explored:!1},t.getElementById(s).connectedEdges().intersection(t).forEach((function(t){var n=t.target().id();n!==s&&(n in e||o(n),e[n].explored||(e[s].low=Math.min(e[s].low,e[n].low)))})),e[s].index===e[s].low){for(var c=t.spawn();;){var l=r.pop();if(c.merge(t.getElementById(l)),e[l].low=e[s].index,e[l].explored=!0,l===s)break}var u=c.edgesWith(c),h=c.merge(u);i.push(h),a=a.difference(h)}};return t.forEach((function(t){if(t.isNode()){var n=t.id();n in e||o(n)}})),{cut:a,components:i}},wi={};[se,ue,he,de,pe,me,xe,dn,pn,mn,wn,Mn,ti,ci,gi,bi,{hopcroftTarjanBiconnected:mi,htbc:mi,htb:mi,hopcroftTarjanBiconnectedComponents:mi},{tarjanStronglyConnected:yi,tsc:yi,tscc:yi,tarjanStronglyConnectedComponents:yi}].forEach((function(t){$(wi,t)}));var vi=function t(e){if(!(this instanceof t))return new t(e);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof e&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))};vi.prototype={fulfill:function(t){return xi(this,1,"fulfillValue",t)},reject:function(t){return xi(this,2,"rejectReason",t)},then:function(t,e){var n=this,i=new vi;return n.onFulfilled.push(Ti(t,i,"fulfill")),n.onRejected.push(Ti(e,i,"reject")),ki(n),i.proxy}};var xi=function(t,e,n,i){return 0===t.state&&(t.state=e,t[n]=i,ki(t)),t},ki=function(t){1===t.state?_i(t,"onFulfilled",t.fulfillValue):2===t.state&&_i(t,"onRejected",t.rejectReason)},_i=function(t,e,n){if(0!==t[e].length){var i=t[e];t[e]=[];var r=function(){for(var t=0;t0:void 0}},clearQueue:function(){return function(){var t=this,e=void 0!==t.length?t:[t];if(!(this._private.cy||this).styleEnabled())return this;for(var n=0;n-1};var dr=function(t,e){var n=this.__data__,i=cr(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this};function gr(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e-1&&t%1==0&&t0&&this.spawn(i).updateStyle().emit("class"),e},addClass:function(t){return this.toggleClass(t,!0)},hasClass:function(t){var e=this[0];return null!=e&&e._private.classes.has(t)},toggleClass:function(t,e){m(t)||(t=t.match(/\S+/g)||[]);for(var n=this,i=void 0===e,r=[],a=0,o=n.length;a0&&this.spawn(r).updateStyle().emit("class"),n},removeClass:function(t){return this.toggleClass(t,!1)},flashClass:function(t,e){var n=this;if(null==e)e=250;else if(0===e)return n;return n.addClass(t),setTimeout((function(){n.removeClass(t)}),e),n}};Jr.className=Jr.classNames=Jr.classes;var ta={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:N,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};ta.variable="(?:[\\w-.]|(?:\\\\"+ta.metaChar+"))+",ta.className="(?:[\\w-]|(?:\\\\"+ta.metaChar+"))+",ta.value=ta.string+"|"+ta.number,ta.id=ta.variable,function(){var t,e,n;for(t=ta.comparatorOp.split("|"),n=0;n=0)&&"="!==e&&(ta.comparatorOp+="|\\!"+e)}();var ea=0,na=1,ia=2,ra=3,aa=4,oa=5,sa=6,ca=7,la=8,ua=9,ha=10,fa=11,da=12,ga=13,pa=14,ba=15,ma=16,ya=17,wa=18,va=19,xa=20,ka=[{selector:":selected",matches:function(t){return t.selected()}},{selector:":unselected",matches:function(t){return!t.selected()}},{selector:":selectable",matches:function(t){return t.selectable()}},{selector:":unselectable",matches:function(t){return!t.selectable()}},{selector:":locked",matches:function(t){return t.locked()}},{selector:":unlocked",matches:function(t){return!t.locked()}},{selector:":visible",matches:function(t){return t.visible()}},{selector:":hidden",matches:function(t){return!t.visible()}},{selector:":transparent",matches:function(t){return t.transparent()}},{selector:":grabbed",matches:function(t){return t.grabbed()}},{selector:":free",matches:function(t){return!t.grabbed()}},{selector:":removed",matches:function(t){return t.removed()}},{selector:":inside",matches:function(t){return!t.removed()}},{selector:":grabbable",matches:function(t){return t.grabbable()}},{selector:":ungrabbable",matches:function(t){return!t.grabbable()}},{selector:":animated",matches:function(t){return t.animated()}},{selector:":unanimated",matches:function(t){return!t.animated()}},{selector:":parent",matches:function(t){return t.isParent()}},{selector:":childless",matches:function(t){return t.isChildless()}},{selector:":child",matches:function(t){return t.isChild()}},{selector:":orphan",matches:function(t){return t.isOrphan()}},{selector:":nonorphan",matches:function(t){return t.isChild()}},{selector:":compound",matches:function(t){return t.isNode()?t.isParent():t.source().isParent()||t.target().isParent()}},{selector:":loop",matches:function(t){return t.isLoop()}},{selector:":simple",matches:function(t){return t.isSimple()}},{selector:":active",matches:function(t){return t.active()}},{selector:":inactive",matches:function(t){return!t.active()}},{selector:":backgrounding",matches:function(t){return t.backgrounding()}},{selector:":nonbackgrounding",matches:function(t){return!t.backgrounding()}}].sort((function(t,e){return function(t,e){return-1*F(t,e)}(t.selector,e.selector)})),_a=function(){for(var t,e={},n=0;n0&&l.edgeCount>0)return Gt("The selector `"+t+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(l.edgeCount>1)return Gt("The selector `"+t+"` is invalid because it uses multiple edge selectors"),!1;1===l.edgeCount&&Gt("The selector `"+t+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var t=function(t){return t??""},e=function(e){return p(e)?'"'+e+'"':t(e)},n=function(t){return" "+t+" "},i=function(r,a){return r.checks.reduce((function(o,s,c){return o+(a===r&&0===c?"$":"")+function(r,a){var o=r.type,s=r.value;switch(o){case ea:var c=t(s);return c.substring(0,c.length-1);case ra:var l=r.field,u=r.operator;return"["+l+n(t(u))+e(s)+"]";case oa:var h=r.operator,f=r.field;return"["+t(h)+f+"]";case aa:return"["+r.field+"]";case sa:var d=r.operator;return"[["+r.field+n(t(d))+e(s)+"]]";case ca:return s;case la:return"#"+s;case ua:return"."+s;case ya:case ba:return i(r.parent,a)+n(">")+i(r.child,a);case wa:case ma:return i(r.ancestor,a)+" "+i(r.descendant,a);case va:var g=i(r.left,a),p=i(r.subject,a),b=i(r.right,a);return g+(g.length>0?" ":"")+p+b;case xa:return""}}(s,a)}),"")},r="",a=0;a1&&a=0&&(e=e.replace("!",""),u=!0),e.indexOf("@")>=0&&(e=e.replace("@",""),l=!0),(o||c||l)&&(r=o||s?""+t:"",a=""+n),l&&(t=r=r.toLowerCase(),n=a=a.toLowerCase()),e){case"*=":i=r.indexOf(a)>=0;break;case"$=":i=r.indexOf(a,r.length-a.length)>=0;break;case"^=":i=0===r.indexOf(a);break;case"=":i=t===n;break;case">":h=!0,i=t>n;break;case">=":h=!0,i=t>=n;break;case"<":h=!0,i=t0;){var l=r.shift();e(l),a.add(l.id()),o&&i(r,a,l)}return t}function Ha(t,e,n){if(n.isParent())for(var i=n._private.children,r=0;r1&&void 0!==arguments[1])||arguments[1],Ha)},za.forEachUp=function(t){return qa(this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Ua)},za.forEachUpAndDown=function(t){return qa(this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Ga)},za.ancestors=za.parents,(Fa=$a={data:Qr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:Qr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:Qr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Qr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:Qr.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:Qr.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var t=this[0];if(t)return t._private.data.id}}).attr=Fa.data,Fa.removeAttr=Fa.removeData;var Ka=$a,Ya={};function Va(t){return function(e){var n=this;if(void 0===e&&(e=!0),0===n.length);else if(n.isNode()&&!n.removed()){for(var i=0,r=n[0],a=r._private.edges,o=0;oe})),minIndegree:Wa("indegree",(function(t,e){return te})),minOutdegree:Wa("outdegree",(function(t,e){return te}))}),$(Ya,{totalDegree:function(t){for(var e=0,n=this.nodes(),i=0;i0,u=l;l&&(c=c[0]);var h=u?c.position():{x:0,y:0};return r={x:s.x-h.x,y:s.y-h.y},void 0===t?r:r[t]}for(var f=0;f0,m=b;b&&(g=g[0]);var w=m?g.position():{x:0,y:0};void 0!==e?d.position(t,e+w[t]):void 0!==r&&d.position({x:r.x+w.x,y:r.y+w.y})}}else if(!a)return;return this}}).modelPosition=Xa.point=Xa.position,Xa.modelPositions=Xa.points=Xa.positions,Xa.renderedPoint=Xa.renderedPosition,Xa.relativePoint=Xa.relativePosition;var to,eo,no=Qa;to=eo={},eo.renderedBoundingBox=function(t){var e=this.boundingBox(t),n=this.cy(),i=n.zoom(),r=n.pan(),a=e.x1*i+r.x,o=e.x2*i+r.x,s=e.y1*i+r.y,c=e.y2*i+r.y;return{x1:a,x2:o,y1:s,y2:c,w:o-a,h:c-s}},eo.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.cy();return e.styleEnabled()&&e.hasCompoundNodes()?(this.forEachUp((function(e){if(e.isParent()){var n=e._private;n.compoundBoundsClean=!1,n.bbCache=null,t||e.emitAndNotify("bounds")}})),this):this},eo.updateCompoundBounds=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function n(t){if(t.isParent()){var e=t._private,n=t.children(),i="include"===t.pstyle("compound-sizing-wrt-labels").value,r={width:{val:t.pstyle("min-width").pfValue,left:t.pstyle("min-width-bias-left"),right:t.pstyle("min-width-bias-right")},height:{val:t.pstyle("min-height").pfValue,top:t.pstyle("min-height-bias-top"),bottom:t.pstyle("min-height-bias-bottom")}},a=n.boundingBox({includeLabels:i,includeOverlays:!1,useCache:!1}),o=e.position;(0===a.w||0===a.h)&&((a={w:t.pstyle("width").pfValue,h:t.pstyle("height").pfValue}).x1=o.x-a.w/2,a.x2=o.x+a.w/2,a.y1=o.y-a.h/2,a.y2=o.y+a.h/2);var s=r.width.left.value;"px"===r.width.left.units&&r.width.val>0&&(s=100*s/r.width.val);var c=r.width.right.value;"px"===r.width.right.units&&r.width.val>0&&(c=100*c/r.width.val);var l=r.height.top.value;"px"===r.height.top.units&&r.height.val>0&&(l=100*l/r.height.val);var u=r.height.bottom.value;"px"===r.height.bottom.units&&r.height.val>0&&(u=100*u/r.height.val);var h=m(r.width.val-a.w,s,c),f=h.biasDiff,d=h.biasComplementDiff,g=m(r.height.val-a.h,l,u),p=g.biasDiff,b=g.biasComplementDiff;e.autoPadding=function(t,e,n,i){if("%"!==n.units)return"px"===n.units?n.pfValue:0;switch(i){case"width":return t>0?n.pfValue*t:0;case"height":return e>0?n.pfValue*e:0;case"average":return t>0&&e>0?n.pfValue*(t+e)/2:0;case"min":return t>0&&e>0?t>e?n.pfValue*e:n.pfValue*t:0;case"max":return t>0&&e>0?t>e?n.pfValue*t:n.pfValue*e:0;default:return 0}}(a.w,a.h,t.pstyle("padding"),t.pstyle("padding-relative-to").value),e.autoWidth=Math.max(a.w,r.width.val),o.x=(-f+a.x1+a.x2+d)/2,e.autoHeight=Math.max(a.h,r.height.val),o.y=(-p+a.y1+a.y2+b)/2}function m(t,e,n){var i=0,r=0,a=e+n;return t>0&&a>0&&(i=e/a*t,r=n/a*t),{biasDiff:i,biasComplementDiff:r}}}for(var i=0;it.x2?i:t.x2,t.y1=nt.y2?r:t.y2,t.w=t.x2-t.x1,t.h=t.y2-t.y1)},ao=function(t,e){return null==e?t:ro(t,e.x1,e.y1,e.x2,e.y2)},oo=function(t,e,n){return Jt(t,e,n)},so=function(t,e,n){if(!e.cy().headless()){var i,r,a=e._private,o=a.rstyle,s=o.arrowWidth/2;if("none"!==e.pstyle(n+"-arrow-shape").value){"source"===n?(i=o.srcX,r=o.srcY):"target"===n?(i=o.tgtX,r=o.tgtY):(i=o.midX,r=o.midY);var c=a.arrowBounds=a.arrowBounds||{},l=c[n]=c[n]||{};l.x1=i-s,l.y1=r-s,l.x2=i+s,l.y2=r+s,l.w=l.x2-l.x1,l.h=l.y2-l.y1,Re(l,1),ro(t,l.x1,l.y1,l.x2,l.y2)}}},co=function(t,e,n){if(!e.cy().headless()){var i;i=n?n+"-":"";var r=e._private,a=r.rstyle;if(e.pstyle(i+"label").strValue){var o,s,c,l,u=e.pstyle("text-halign"),h=e.pstyle("text-valign"),f=oo(a,"labelWidth",n),d=oo(a,"labelHeight",n),g=oo(a,"labelX",n),p=oo(a,"labelY",n),b=e.pstyle(i+"text-margin-x").pfValue,m=e.pstyle(i+"text-margin-y").pfValue,y=e.isEdge(),w=e.pstyle(i+"text-rotation"),v=e.pstyle("text-outline-width").pfValue,x=e.pstyle("text-border-width").pfValue/2,k=e.pstyle("text-background-padding").pfValue,_=d,T=f,E=T/2,S=_/2;if(y)o=g-E,s=g+E,c=p-S,l=p+S;else{switch(u.value){case"left":o=g-T,s=g;break;case"center":o=g-E,s=g+E;break;case"right":o=g,s=g+T}switch(h.value){case"top":c=p-_,l=p;break;case"center":c=p-S,l=p+S;break;case"bottom":c=p,l=p+_}}o+=b-Math.max(v,x)-k-2,s+=b+Math.max(v,x)+k+2,c+=m-Math.max(v,x)-k-2,l+=m+Math.max(v,x)+k+2;var C=n||"main",A=r.labelBounds,M=A[C]=A[C]||{};M.x1=o,M.y1=c,M.x2=s,M.y2=l,M.w=s-o,M.h=l-c;var L=y&&"autorotate"===w.strValue,I=null!=w.pfValue&&0!==w.pfValue;if(L||I){var O=L?oo(r.rstyle,"labelAngle",n):w.pfValue,N=Math.cos(O),D=Math.sin(O),P=(o+s)/2,B=(c+l)/2;if(!y){switch(u.value){case"left":P=s;break;case"right":P=o}switch(h.value){case"top":B=l;break;case"bottom":B=c}}var R=function(t,e){return{x:(t-=P)*N-(e-=B)*D+P,y:t*D+e*N+B}},F=R(o,c),$=R(o,l),j=R(s,c),z=R(s,l);o=Math.min(F.x,$.x,j.x,z.x),s=Math.max(F.x,$.x,j.x,z.x),c=Math.min(F.y,$.y,j.y,z.y),l=Math.max(F.y,$.y,j.y,z.y)}var q=C+"Rot",H=A[q]=A[q]||{};H.x1=o,H.y1=c,H.x2=s,H.y2=l,H.w=s-o,H.h=l-c,ro(t,o,c,s,l),ro(r.labelBounds.all,o,c,s,l)}return t}},lo=function(t,e){var n,i,r,a,o,s,c=t._private.cy,l=c.styleEnabled(),u=c.headless(),h=De(),f=t._private,d=t.isNode(),g=t.isEdge(),p=f.rstyle,b=d&&l?t.pstyle("bounds-expansion").pfValue:[0],m=function(t){return"none"!==t.pstyle("display").value},y=!l||m(t)&&(!g||m(t.source())&&m(t.target()));if(y){var w=0;l&&e.includeOverlays&&0!==t.pstyle("overlay-opacity").value&&(w=t.pstyle("overlay-padding").value);var v=0;l&&e.includeUnderlays&&0!==t.pstyle("underlay-opacity").value&&(v=t.pstyle("underlay-padding").value);var x=Math.max(w,v),k=0;if(l&&(k=t.pstyle("width").pfValue/2),d&&e.includeNodes){var _=t.position();o=_.x,s=_.y;var T=t.outerWidth()/2,E=t.outerHeight()/2;ro(h,n=o-T,r=s-E,i=o+T,a=s+E),l&&e.includeOutlines&&function(t,e){if(!e.cy().headless()){var n=e.pstyle("outline-opacity").value,i=e.pstyle("outline-width").value;if(n>0&&i>0){var r=e.pstyle("outline-offset").value,a=e.pstyle("shape").value,o=i+r,s=(t.w+2*o)/t.w,c=(t.h+2*o)/t.h,l=0;["diamond","pentagon","round-triangle"].includes(a)?(s=(t.w+2.4*o)/t.w,l=-o/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(a)?s=(t.w+2.4*o)/t.w:"star"===a?(s=(t.w+2.8*o)/t.w,c=(t.h+2.6*o)/t.h,l=-o/3.8):"triangle"===a?(s=(t.w+2.8*o)/t.w,c=(t.h+2.4*o)/t.h,l=-o/1.4):"vee"===a&&(s=(t.w+4.4*o)/t.w,c=(t.h+3.8*o)/t.h,l=.5*-o);var u=t.h*c-t.h,h=t.w*s-t.w;if(Fe(t,[Math.ceil(u/2),Math.ceil(h/2)]),0!==l){var f=function(t,e,n){return{x1:t.x1+e,x2:t.x2+e,y1:t.y1+n,y2:t.y2+n,w:t.w,h:t.h}}(t,0,l);Pe(t,f)}}}}(h,t)}else if(g&&e.includeEdges)if(l&&!u){var S=t.pstyle("curve-style").strValue;if(n=Math.min(p.srcX,p.midX,p.tgtX),i=Math.max(p.srcX,p.midX,p.tgtX),r=Math.min(p.srcY,p.midY,p.tgtY),a=Math.max(p.srcY,p.midY,p.tgtY),ro(h,n-=k,r-=k,i+=k,a+=k),"haystack"===S){var C=p.haystackPts;if(C&&2===C.length){if(n=C[0].x,r=C[0].y,n>(i=C[1].x)){var A=n;n=i,i=A}if(r>(a=C[1].y)){var M=r;r=a,a=M}ro(h,n-k,r-k,i+k,a+k)}}else if("bezier"===S||"unbundled-bezier"===S||"segments"===S||"taxi"===S){var L;switch(S){case"bezier":case"unbundled-bezier":L=p.bezierPts;break;case"segments":case"taxi":L=p.linePts}if(null!=L)for(var I=0;I(i=D.x)){var P=n;n=i,i=P}if((r=N.y)>(a=D.y)){var B=r;r=a,a=B}ro(h,n-=k,r-=k,i+=k,a+=k)}if(l&&e.includeEdges&&g&&(so(h,t,"mid-source"),so(h,t,"mid-target"),so(h,t,"source"),so(h,t,"target")),l&&"yes"===t.pstyle("ghost").value){var R=t.pstyle("ghost-offset-x").pfValue,F=t.pstyle("ghost-offset-y").pfValue;ro(h,h.x1+R,h.y1+F,h.x2+R,h.y2+F)}var $=f.bodyBounds=f.bodyBounds||{};$e($,h),Fe($,b),Re($,1),l&&(n=h.x1,i=h.x2,r=h.y1,a=h.y2,ro(h,n-x,r-x,i+x,a+x));var j=f.overlayBounds=f.overlayBounds||{};$e(j,h),Fe(j,b),Re(j,1);var z=f.labelBounds=f.labelBounds||{};null!=z.all?function(t){t.x1=1/0,t.y1=1/0,t.x2=-1/0,t.y2=-1/0,t.w=0,t.h=0}(z.all):z.all=De(),l&&e.includeLabels&&(e.includeMainLabels&&co(h,t,null),g&&(e.includeSourceLabels&&co(h,t,"source"),e.includeTargetLabels&&co(h,t,"target")))}return h.x1=io(h.x1),h.y1=io(h.y1),h.x2=io(h.x2),h.y2=io(h.y2),h.w=io(h.x2-h.x1),h.h=io(h.y2-h.y1),h.w>0&&h.h>0&&y&&(Fe(h,b),Re(h,1)),h},uo=function(t){var e=0,n=function(t){return(t?1:0)<0&&void 0!==arguments[0]?arguments[0]:Io,e=arguments.length>1?arguments[1]:void 0,n=0;n=0;s--)o(s);return this},No.removeAllListeners=function(){return this.removeListener("*")},No.emit=No.trigger=function(t,e,n){var i=this.listeners,r=i.length;return this.emitting++,m(e)||(e=[e]),Bo(this,(function(t,a){null!=n&&(i=[{event:a.event,type:a.type,namespace:a.namespace,callback:n}],r=i.length);for(var o=function(n){var r=i[n];if(r.type===a.type&&(!r.namespace||r.namespace===a.namespace||".*"===r.namespace)&&t.eventMatches(t.context,r,a)){var o=[a];null!=e&&function(t,e){for(var n=0;n1&&!i){var r=this.length-1,a=this[r],o=a._private.data.id;this[r]=void 0,this[t]=a,n.set(o,{ele:a,index:t})}return this.length--,this},unmergeOne:function(t){t=t[0];var e=this._private,n=t._private.data.id,i=e.map.get(n);if(!i)return this;var r=i.index;return this.unmergeAt(r),this},unmerge:function(t){var e=this._private.cy;if(!t)return this;if(t&&p(t)){var n=t;t=e.mutableElements().filter(n)}for(var i=0;i=0;e--)t(this[e])&&this.unmergeAt(e);return this},map:function(t,e){for(var n=[],i=this,r=0;ri&&(i=s,n=o)}return{value:i,ele:n}},min:function(t,e){for(var n,i=1/0,r=this,a=0;a=0&&r"u"?"undefined":t(Symbol))!=Uo&&t(Symbol.iterator)!=Uo&&(Ho[Symbol.iterator]=function(){var t=this,e={value:void 0,done:!1},n=0,i=this.length;return a({next:function(){return n1&&void 0!==arguments[1])||arguments[1],n=this[0],i=n.cy();if(i.styleEnabled()&&n)return this.cleanStyle(),n._private.style[t]??(e?i.style().getDefaultProperty(t):null)},numericStyle:function(t){var e=this[0];if(e.cy().styleEnabled()&&e){var n=e.pstyle(t);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(t){var e=this[0];if(e.cy().styleEnabled()&&e)return e.pstyle(t).units},renderedStyle:function(t){var e=this.cy();if(!e.styleEnabled())return this;var n=this[0];return n?e.style().getRenderedStyle(n,t):void 0},style:function(t,e){var n=this.cy();if(!n.styleEnabled())return this;var i=n.style();if(y(t)){var r=t;i.applyBypass(this,r,false),this.emitAndNotify("style")}else if(p(t)){if(void 0===e){var a=this[0];return a?i.getStylePropertyValue(a,t):void 0}i.applyBypass(this,t,e,false),this.emitAndNotify("style")}else if(void 0===t){var o=this[0];return o?i.getRawStyle(o):void 0}return this},removeStyle:function(t){var e=this.cy();if(!e.styleEnabled())return this;var n=e.style(),i=this;if(void 0===t)for(var r=0;r0&&e.push(u[0]),e.push(s[0])}return this.spawn(e,!0).filter(t)}),"neighborhood"),closedNeighborhood:function(t){return this.neighborhood().add(this).filter(t)},openNeighborhood:function(t){return this.neighborhood(t)}}),ss.neighbourhood=ss.neighborhood,ss.closedNeighbourhood=ss.closedNeighborhood,ss.openNeighbourhood=ss.openNeighborhood,$(ss,{source:ja((function(t){var e,n=this[0];return n&&(e=n._private.source||n.cy().collection()),e&&t?e.filter(t):e}),"source"),target:ja((function(t){var e,n=this[0];return n&&(e=n._private.target||n.cy().collection()),e&&t?e.filter(t):e}),"target"),sources:hs({attr:"source"}),targets:hs({attr:"target"})}),$(ss,{edgesWith:ja(fs(),"edgesWith"),edgesTo:ja(fs({thisIsSrc:!0}),"edgesTo")}),$(ss,{connectedEdges:ja((function(t){for(var e=[],n=0;n0);return a},component:function(){var t=this[0];return t.cy().mutableElements().components(t)[0]}}),ss.componentsOf=ss.components;var gs=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0!==t){var r=new ne,a=!1;if(e){if(e.length>0&&y(e[0])&&!k(e[0])){a=!0;for(var o=[],s=new re,c=0,l=e.length;c0&&void 0!==arguments[0])||arguments[0],n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this,r=i.cy(),a=r._private,o=[],s=[],c=0,l=i.length;c0){for(var R=t.length===i.length?i:new gs(r,t),F=0;F0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,i=[],r={},a=n._private.cy;function o(t){var n=r[t.id()];e&&t.removed()||n||(r[t.id()]=!0,t.isNode()?(i.push(t),function(t){for(var e=t._private.edges,n=0;n0&&(t?k.emitAndNotify("remove"):e&&k.emit("remove"));for(var _=0;_=.001?function(e,i){for(var a=0;a0?r=c:i=c}while(Math.abs(s)>a&&++lh&&Math.abs(s.v)>h;);return a?function(t){return l[t*(l.length-1)|0]}:u}}(),ws=function(t,e,n,i){var r=ms(t,e,n,i);return function(t,e,n){return t+(e-t)*r(n)}},vs={linear:function(t,e,n){return t+(e-t)*n},ease:ws(.25,.1,.25,1),"ease-in":ws(.42,0,1,1),"ease-out":ws(0,0,.58,1),"ease-in-out":ws(.42,0,.58,1),"ease-in-sine":ws(.47,0,.745,.715),"ease-out-sine":ws(.39,.575,.565,1),"ease-in-out-sine":ws(.445,.05,.55,.95),"ease-in-quad":ws(.55,.085,.68,.53),"ease-out-quad":ws(.25,.46,.45,.94),"ease-in-out-quad":ws(.455,.03,.515,.955),"ease-in-cubic":ws(.55,.055,.675,.19),"ease-out-cubic":ws(.215,.61,.355,1),"ease-in-out-cubic":ws(.645,.045,.355,1),"ease-in-quart":ws(.895,.03,.685,.22),"ease-out-quart":ws(.165,.84,.44,1),"ease-in-out-quart":ws(.77,0,.175,1),"ease-in-quint":ws(.755,.05,.855,.06),"ease-out-quint":ws(.23,1,.32,1),"ease-in-out-quint":ws(.86,0,.07,1),"ease-in-expo":ws(.95,.05,.795,.035),"ease-out-expo":ws(.19,1,.22,1),"ease-in-out-expo":ws(1,0,0,1),"ease-in-circ":ws(.6,.04,.98,.335),"ease-out-circ":ws(.075,.82,.165,1),"ease-in-out-circ":ws(.785,.135,.15,.86),spring:function(t,e,n){if(0===n)return vs.linear;var i=ys(t,e,n);return function(t,e,n){return t+(e-t)*i(n)}},"cubic-bezier":ws};function xs(t,e,n,i,r){if(1===i||e===n)return n;var a=r(e,n,i);return null==t||((t.roundValue||t.color)&&(a=Math.round(a)),void 0!==t.min&&(a=Math.max(a,t.min)),void 0!==t.max&&(a=Math.min(a,t.max))),a}function ks(t,e){return null!=t.pfValue||null!=t.value?null==t.pfValue||null!=e&&"%"===e.type.units?t.value:t.pfValue:t}function _s(t,e,n,i,r){var a=null!=r?r.type:null;n<0?n=0:n>1&&(n=1);var o=ks(t,r),s=ks(e,r);if(w(o)&&w(s))return xs(a,o,s,n,i);if(m(o)&&m(s)){for(var c=[],l=0;l0?("spring"===h&&f.push(o.duration),o.easingImpl=vs[h].apply(null,f)):o.easingImpl=vs[h]}var d,g=o.easingImpl;if(d=0===o.duration?1:(n-c)/o.duration,o.applying&&(d=o.progress),d<0?d=0:d>1&&(d=1),null==o.delay){var b=o.startPosition,m=o.position;if(m&&r&&!t.locked()){var y={};Es(b.x,m.x)&&(y.x=_s(b.x,m.x,d,g)),Es(b.y,m.y)&&(y.y=_s(b.y,m.y,d,g)),t.position(y)}var w=o.startPan,v=o.pan,x=a.pan,k=null!=v&&i;k&&(Es(w.x,v.x)&&(x.x=_s(w.x,v.x,d,g)),Es(w.y,v.y)&&(x.y=_s(w.y,v.y,d,g)),t.emit("pan"));var _=o.startZoom,T=o.zoom,E=null!=T&&i;E&&(Es(_,T)&&(a.zoom=Ne(a.minZoom,_s(_,T,d,g),a.maxZoom)),t.emit("zoom")),(k||E)&&t.emit("viewport");var S=o.style;if(S&&S.length>0&&r){for(var C=0;C=0;e--)(0,t[e])();t.splice(0,t.length)},u=a.length-1;u>=0;u--){var h=a[u],f=h._private;f.stopped?(a.splice(u,1),f.hooked=!1,f.playing=!1,f.started=!1,l(f.frames)):!f.playing&&!f.applying||(f.playing&&f.applying&&(f.applying=!1),f.started||Ss(0,h,t),Ts(e,h,t,n),f.applying&&(f.applying=!1),l(f.frames),null!=f.step&&f.step(t),h.completed()&&(a.splice(u,1),f.hooked=!1,f.playing=!1,f.started=!1,l(f.completes)),s=!0)}return!n&&0===a.length&&0===o.length&&i.push(e),s}for(var a=!1,o=0;o0?e.notify("draw",n):e.notify("draw")),n.unmerge(i),e.emit("step")}var As={animate:Qr.animate(),animation:Qr.animation(),animated:Qr.animated(),clearQueue:Qr.clearQueue(),delay:Qr.delay(),delayAnimation:Qr.delayAnimation(),stop:Qr.stop(),addToAnimationPool:function(t){this.styleEnabled()&&this._private.aniEles.merge(t)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var t=this;if(t._private.animationsRunning=!0,t.styleEnabled()){var e=t.renderer();e&&e.beforeRender?e.beforeRender((function(e,n){Cs(n,t)}),e.beforeRenderPriorities.animations):function e(){t._private.animationsRunning&&_t((function(n){Cs(n,t),e()}))}()}}},Ms={qualifierCompare:function(t,e){return null==t||null==e?null==t&&null==e:t.sameText(e)},eventMatches:function(t,e,n){var i=e.qualifier;return null==i||t!==n.target&&k(n.target)&&i.matches(n.target)},addEventFields:function(t,e){e.cy=t,e.target=t},callbackContext:function(t,e,n){return null!=e.qualifier?n.target:t}},Ls=function(t){return p(t)?new Pa(t):t},Is={createEmitter:function(){var t=this._private;return t.emitter||(t.emitter=new Oo(Ms,this)),this},emitter:function(){return this._private.emitter},on:function(t,e,n){return this.emitter().on(t,Ls(e),n),this},removeListener:function(t,e,n){return this.emitter().removeListener(t,Ls(e),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(t,e,n){return this.emitter().one(t,Ls(e),n),this},once:function(t,e,n){return this.emitter().one(t,Ls(e),n),this},emit:function(t,e){return this.emitter().emit(t,e),this},emitAndNotify:function(t,e){return this.emit(t),this.notify(t,e),this}};Qr.eventAliasesOn(Is);var Os={png:function(t){return t=t||{},this._private.renderer.png(t)},jpg:function(t){var e=this._private.renderer;return(t=t||{}).bg=t.bg||"#fff",e.jpg(t)}};Os.jpeg=Os.jpg;var Ns={layout:function(t){var e=this;if(null!=t)if(null!=t.name){var n,i=t.name,r=e.extension("layout",i);if(null!=r)return n=p(t.eles)?e.$(t.eles):null!=t.eles?t.eles:e.$(),new r($({},t,{cy:e,eles:n}));Ht("No such layout `"+i+"` found. Did you forget to import it and `cytoscape.use()` it?")}else Ht("A `name` must be specified to make a layout");else Ht("Layout options must be specified to make a layout")}};Ns.createLayout=Ns.makeLayout=Ns.layout;var Ds={notify:function(t,e){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var i=n.batchNotifications[t]=n.batchNotifications[t]||this.collection();null!=e&&i.merge(e)}else if(n.notificationsEnabled){var r=this.renderer();this.destroyed()||!r||r.notify(t,e)}},notifications:function(t){var e=this._private;return void 0===t?e.notificationsEnabled:(e.notificationsEnabled=!!t,this)},noNotifications:function(t){this.notifications(!1),t(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var t=this._private;return null==t.batchCount&&(t.batchCount=0),0===t.batchCount&&(t.batchStyleEles=this.collection(),t.batchNotifications={}),t.batchCount++,this},endBatch:function(){var t=this._private;if(0===t.batchCount)return this;if(t.batchCount--,0===t.batchCount){t.batchStyleEles.updateStyle();var e=this.renderer();Object.keys(t.batchNotifications).forEach((function(n){var i=t.batchNotifications[n];i.empty()?e.notify(n):e.notify(n,i)}))}return this},batch:function(t){return this.startBatch(),t(),this.endBatch(),this},batchData:function(t){var e=this;return this.batch((function(){for(var n=Object.keys(t),i=0;i0;)e.removeChild(e.childNodes[0]);t._private.renderer=null,t.mutableElements().forEach((function(t){var e=t._private;e.rscratch={},e.rstyle={},e.animation.current=[],e.animation.queue=[]}))},onRender:function(t){return this.on("render",t)},offRender:function(t){return this.off("render",t)}};Bs.invalidateDimensions=Bs.resize;var Rs={collection:function(t,e){return p(t)?this.$(t):x(t)?t.collection():m(t)?(e||(e={}),new gs(this,t,e.unique,e.removed)):new gs(this)},nodes:function(t){var e=this.$((function(t){return t.isNode()}));return t?e.filter(t):e},edges:function(t){var e=this.$((function(t){return t.isEdge()}));return t?e.filter(t):e},$:function(t){var e=this._private.elements;return t?e.filter(t):e.spawnSelf()},mutableElements:function(){return this._private.elements}};Rs.elements=Rs.filter=Rs.$;var Fs={},$s="t";Fs.apply=function(t){for(var e=this,n=e._private.cy.collection(),i=0;i0;if(f||h&&d){var g=void 0;f&&d||f?g=l.properties:d&&(g=l.mappedProperties);for(var p=0;p1&&(v=1),s.color){var k=r.valueMin[0],_=r.valueMax[0],T=r.valueMin[1],E=r.valueMax[1],S=r.valueMin[2],C=r.valueMax[2],A=null==r.valueMin[3]?1:r.valueMin[3],M=null==r.valueMax[3]?1:r.valueMax[3],L=[Math.round(k+(_-k)*v),Math.round(T+(E-T)*v),Math.round(S+(C-S)*v),Math.round(A+(M-A)*v)];n={bypass:r.bypass,name:r.name,value:L,strValue:"rgb("+L[0]+", "+L[1]+", "+L[2]+")"}}else{if(!s.number)return!1;var I=r.valueMin+(r.valueMax-r.valueMin)*v;n=this.parse(r.name,I,r.bypass,f)}if(!n)return p(),!1;n.mapping=r,r=n;break;case o.data:for(var O=r.field.split("."),N=h.data,D=0;D0&&a>0){for(var s={},c=!1,l=0;l0?t.delayAnimation(o).play().promise().then(e):e()})).then((function(){return t.animation({style:s,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){n.removeBypasses(t,r),t.emitAndNotify("style"),i.transitioning=!1}))}else i.transitioning&&(this.removeBypasses(t,r),t.emitAndNotify("style"),i.transitioning=!1)},Fs.checkTrigger=function(t,e,n,i,r,a){var o=this.properties[e],s=r(o);null!=s&&s(n,i)&&a(o)},Fs.checkZOrderTrigger=function(t,e,n,i){var r=this;this.checkTrigger(t,e,n,i,(function(t){return t.triggersZOrder}),(function(){r._private.cy.notify("zorder",t)}))},Fs.checkBoundsTrigger=function(t,e,n,i){this.checkTrigger(t,e,n,i,(function(t){return t.triggersBounds}),(function(r){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache(),r.triggersBoundsOfParallelBeziers&&"curve-style"===e&&("bezier"===n||"bezier"===i)&&t.parallelEdges().forEach((function(t){t.isBundledBezier()&&t.dirtyBoundingBoxCache()})),r.triggersBoundsOfConnectedEdges&&"display"===e&&("none"===n||"none"===i)&&t.connectedEdges().forEach((function(t){t.dirtyBoundingBoxCache()}))}))},Fs.checkTriggers=function(t,e,n,i){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,n,i),this.checkBoundsTrigger(t,e,n,i)};var js={applyBypass:function(t,e,n,i){var r=[];if("*"===e||"**"===e){if(void 0!==n)for(var a=0;ae.length?a.substr(e.length):""}function s(){n=n.length>i.length?n.substr(i.length):""}for(a=a.replace(/[/][*](\s|.)+?[*][/]/g,"");!a.match(/^\s*$/);){var c=a.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!c){Gt("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+a);break}e=c[0];var l=c[1];if("core"!==l&&new Pa(l).invalid)Gt("Skipping parsing of block: Invalid selector found in string stylesheet: "+l),o();else{var u=c[2],h=!1;n=u;for(var f=[];!n.match(/^\s*$/);){var d=n.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!d){Gt("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+u),h=!0;break}i=d[0];var g=d[1],p=d[2];this.properties[g]?r.parse(g,p)?(f.push({name:g,val:p}),s()):(Gt("Skipping property: Invalid property definition in: "+i),s()):(Gt("Skipping property: Invalid property name in: "+i),s())}if(h){o();break}r.selector(l);for(var b=0;b=7&&"d"===e[0]&&(l=new RegExp(s.data.regex).exec(e))){if(n)return!1;var f=s.data;return{name:t,value:l,strValue:""+e,mapped:f,field:l[1],bypass:n}}if(e.length>=10&&"m"===e[0]&&(u=new RegExp(s.mapData.regex).exec(e))){if(n||h.multiple)return!1;var d=s.mapData;if(!h.color&&!h.number)return!1;var g=this.parse(t,u[4]);if(!g||g.mapped)return!1;var y=this.parse(t,u[5]);if(!y||y.mapped)return!1;if(g.pfValue===y.pfValue||g.strValue===y.strValue)return Gt("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+g.strValue+"`"),this.parse(t,g.strValue);if(h.color){var v=g.value,x=y.value;if(!(v[0]!==x[0]||v[1]!==x[1]||v[2]!==x[2]||v[3]!==x[3]&&(null!=v[3]&&1!==v[3]||null!=x[3]&&1!==x[3])))return!1}return{name:t,value:u,strValue:""+e,mapped:d,field:u[1],fieldMin:parseFloat(u[2]),fieldMax:parseFloat(u[3]),valueMin:g.value,valueMax:y.value,bypass:n}}}if(h.multiple&&"multiple"!==i){var k;if(k=c?e.split(/\s+/):m(e)?e:[e],h.evenMultiple&&k.length%2!=0)return null;for(var _=[],T=[],E=[],S="",C=!1,A=0;A0?" ":"")+L.strValue}return h.validate&&!h.validate(_,T)?null:h.singleEnum&&C?1===_.length&&p(_[0])?{name:t,value:_[0],strValue:_[0],bypass:n}:null:{name:t,value:_,pfValue:E,strValue:S,bypass:n,units:T}}var I=function(){for(var i=0;ih.max||h.strictMax&&e===h.max))return null;var R={name:t,value:e,strValue:""+e+(O||""),units:O,bypass:n};return h.unitless||"px"!==O&&"em"!==O?R.pfValue=e:R.pfValue="px"!==O&&O?this.getEmSizeInPixels()*e:e,("ms"===O||"s"===O)&&(R.pfValue="ms"===O?e:1e3*e),("deg"===O||"rad"===O)&&(R.pfValue="rad"===O?e:function(t){return Math.PI*t/180}(e)),"%"===O&&(R.pfValue=e/100),R}if(h.propList){var F=[],$=""+e;if("none"!==$){for(var z=$.split(/\s*,\s*|\s+/),q=0;q0&&s>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:a=(a=(a=Math.min((o-2*e)/n.w,(s-2*e)/n.h))>this._private.maxZoom?this._private.maxZoom:a)=n.minZoom&&(n.maxZoom=e),this},minZoom:function(t){return void 0===t?this._private.minZoom:this.zoomRange({min:t})},maxZoom:function(t){return void 0===t?this._private.maxZoom:this.zoomRange({max:t})},getZoomedViewport:function(t){var e,n,i=this._private,r=i.pan,a=i.zoom,o=!1;if(i.zoomingEnabled||(o=!0),w(t)?n=t:y(t)&&(n=t.level,null!=t.position?e=ke(t.position,a,r):null!=t.renderedPosition&&(e=t.renderedPosition),null!=e&&!i.panningEnabled&&(o=!0)),n=(n=n>i.maxZoom?i.maxZoom:n)e.maxZoom||!e.zoomingEnabled?a=!0:(e.zoom=s,r.push("zoom"))}if(i&&(!a||!t.cancelOnFailedZoom)&&e.panningEnabled){var c=t.pan;w(c.x)&&(e.pan.x=c.x,o=!1),w(c.y)&&(e.pan.y=c.y,o=!1),o||r.push("pan")}return r.length>0&&(r.push("viewport"),this.emit(r.join(" ")),this.notify("viewport")),this},center:function(t){var e=this.getCenterPan(t);return e&&(this._private.pan=e,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(t,e){if(this._private.panningEnabled){if(p(t)){var n=t;t=this.mutableElements().filter(n)}else x(t)||(t=this.mutableElements());if(0!==t.length){var i=t.boundingBox(),r=this.width(),a=this.height();return{x:(r-(e=void 0===e?this._private.zoom:e)*(i.x1+i.x2))/2,y:(a-e*(i.y1+i.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var t,e,n=this._private,i=n.container;return n.sizeCache=n.sizeCache||(i?(t=this.window().getComputedStyle(i),e=function(e){return parseFloat(t.getPropertyValue(e))},{width:i.clientWidth-e("padding-left")-e("padding-right"),height:i.clientHeight-e("padding-top")-e("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var t=this._private.pan,e=this._private.zoom,n=this.renderedExtent(),i={x1:(n.x1-t.x)/e,x2:(n.x2-t.x)/e,y1:(n.y1-t.y)/e,y2:(n.y2-t.y)/e};return i.w=i.x2-i.x1,i.h=i.y2-i.y1,i},renderedExtent:function(){var t=this.width(),e=this.height();return{x1:0,y1:0,x2:t,y2:e,w:t,h:e}},multiClickDebounceTime:function(t){return t?(this._private.multiClickDebounceTime=t,this):this._private.multiClickDebounceTime}};Xs.centre=Xs.center,Xs.autolockNodes=Xs.autolock,Xs.autoungrabifyNodes=Xs.autoungrabify;var Qs={data:Qr.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:Qr.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:Qr.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Qr.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Qs.attr=Qs.data,Qs.removeAttr=Qs.removeData;var Zs=function(t){var e=this,n=(t=$({},t)).container;n&&!v(n)&&v(n[0])&&(n=n[0]);var i=n?n._cyreg:null;(i=i||{})&&i.cy&&(i.cy.destroy(),i={});var r=i.readies=i.readies||[];n&&(n._cyreg=i),i.cy=e;var a=void 0!==c&&void 0!==n&&!t.headless,o=t;o.layout=$({name:a?"grid":"null"},o.layout),o.renderer=$({name:a?"canvas":"null"},o.renderer);var s=function(t,e,n){return void 0!==e?e:void 0!==n?n:t},l=this._private={container:n,ready:!1,options:o,elements:new gs(this),listeners:[],aniEles:new gs(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:s(!0,o.zoomingEnabled),userZoomingEnabled:s(!0,o.userZoomingEnabled),panningEnabled:s(!0,o.panningEnabled),userPanningEnabled:s(!0,o.userPanningEnabled),boxSelectionEnabled:s(!0,o.boxSelectionEnabled),autolock:s(!1,o.autolock,o.autolockNodes),autoungrabify:s(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:s(!1,o.autounselectify),styleEnabled:void 0===o.styleEnabled?a:o.styleEnabled,zoom:w(o.zoom)?o.zoom:1,pan:{x:y(o.pan)&&w(o.pan.x)?o.pan.x:0,y:y(o.pan)&&w(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:s(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});l.styleEnabled&&e.setStyle([]);var u=$({},o,o.renderer);e.initRenderer(u);!function(t,e){if(t.some(C))return Si.all(t).then(e);e(t)}([o.style,o.elements],(function(t){var n=t[0],a=t[1];l.styleEnabled&&e.style().append(n),function(t,n,i){e.notifications(!1);var r=e.mutableElements();r.length>0&&r.remove(),null!=t&&(y(t)||m(t))&&e.add(t),e.one("layoutready",(function(t){e.notifications(!0),e.emit(t),e.one("load",n),e.emitAndNotify("load")})).one("layoutstop",(function(){e.one("done",i),e.emit("done")}));var a=$({},e._private.options.layout);a.eles=e.elements(),e.layout(a).run()}(a,(function(){e.startAnimationLoop(),l.ready=!0,b(o.ready)&&e.on("ready",o.ready);for(var t=0;t0,l=De(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:i.width(),h:i.height()});if(x(n.roots))t=n.roots;else if(m(n.roots)){for(var u=[],h=0;h0;){var O=M.shift(),N=A(O,L);if(N)O.outgoers().filter((function(t){return t.isNode()&&r.has(t)})).forEach(I);else if(null===N){Gt("Detected double maximal shift for node `"+O.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}C();var D=0;if(n.avoidOverlap)for(var P=0;P0&&w[0].length<=3?c/2:0),h=2*Math.PI/w[i].length*r;return 0===i&&1===w[0].length&&(u=1),{x:V+u*Math.cos(h),y:W+u*Math.sin(h)}}return{x:V+(r+1-(a+1)/2)*o,y:(i+1)*s}})),this};var ac={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function oc(t){this.options=$({},ac,t)}oc.prototype.run=function(){var t=this.options,e=t,n=t.cy,i=e.eles,r=void 0!==e.counterclockwise?!e.counterclockwise:e.clockwise,a=i.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var o,s=De(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),c={x:s.x1+s.w/2,y:s.y1+s.h/2},l=(void 0===e.sweep?2*Math.PI-2*Math.PI/a.length:e.sweep)/Math.max(1,a.length-1),u=0,h=0;h1&&e.avoidOverlap){u*=1.75;var p=Math.cos(l)-Math.cos(0),b=Math.sin(l)-Math.sin(0),m=Math.sqrt(u*u/(p*p+b*b));o=Math.max(m,o)}return i.nodes().layoutPositions(this,e,(function(t,n){var i=e.startAngle+n*l*(r?1:-1),a=o*Math.cos(i),s=o*Math.sin(i);return{x:c.x+a,y:c.y+s}})),this};var sc={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(t){return t.degree()},levelWidth:function(t){return t.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function cc(t){this.options=$({},sc,t)}cc.prototype.run=function(){for(var t=this.options,e=t,n=void 0!==e.counterclockwise?!e.counterclockwise:e.clockwise,i=t.cy,r=e.eles,a=r.nodes().not(":parent"),o=De(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:i.width(),h:i.height()}),s={x:o.x1+o.w/2,y:o.y1+o.h/2},c=[],l=0,u=0;u0&&Math.abs(m[0].value-w.value)>=p&&(m=[],b.push(m)),m.push(w)}var v=l+e.minNodeSpacing;if(!e.avoidOverlap){var x=b.length>0&&b[0].length>1,k=(Math.min(o.w,o.h)/2-v)/(b.length+x?1:0);v=Math.min(v,k)}for(var _=0,T=0;T1&&e.avoidOverlap){var A=Math.cos(C)-Math.cos(0),M=Math.sin(C)-Math.sin(0),L=Math.sqrt(v*v/(A*A+M*M));_=Math.max(L,_)}E.r=_,_+=v}if(e.equidistant){for(var I=0,O=0,N=0;N=t.numIter||(yc(i,t),i.temperature=i.temperature*t.coolingFactor,i.temperature=t.animationThreshold&&a(),_t(e)):(Lc(i,t),s())}();else{for(;l;)l=o(c),c++;Lc(i,t),s()}return this},hc.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},hc.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var fc=function(t,e,n){for(var i=n.eles.edges(),r=n.eles.nodes(),a=De(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()}),o={isCompound:t.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:r.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:i.size(),temperature:n.initialTemp,clientWidth:a.w,clientHeight:a.h,boundingBox:a},s=n.eles.components(),c={},l=0;l0)for(o.graphSet.push(k),l=0;li.count?0:i.graph},gc=function t(e,n,i,r){var a=r.graphSet[i];if(-10)var s=(l=i.nodeOverlap*o)*r/(p=Math.sqrt(r*r+a*a)),c=l*a/p;else{var l,u=_c(t,r,a),h=_c(e,-1*r,-1*a),f=h.x-u.x,d=h.y-u.y,g=f*f+d*d,p=Math.sqrt(g);s=(l=(t.nodeRepulsion+e.nodeRepulsion)/g)*f/p,c=l*d/p}t.isLocked||(t.offsetX-=s,t.offsetY-=c),e.isLocked||(e.offsetX+=s,e.offsetY+=c)}},kc=function(t,e,n,i){if(n>0)var r=t.maxX-e.minX;else r=e.maxX-t.minX;if(i>0)var a=t.maxY-e.minY;else a=e.maxY-t.minY;return r>=0&&a>=0?Math.sqrt(r*r+a*a):0},_c=function(t,e,n){var i=t.positionX,r=t.positionY,a=t.height||1,o=t.width||1,s=n/e,c=a/o,l={};return 0===e&&0n?(l.x=i,l.y=r+a/2,l):0e&&-1*c<=s&&s<=c?(l.x=i-o/2,l.y=r-o*n/2/e,l):0=c)?(l.x=i+a*e/2/n,l.y=r+a/2,l):(0>n&&(s<=-1*c||s>=c)&&(l.x=i-a*e/2/n,l.y=r-a/2),l)},Tc=function(t,e){for(var n=0;n1){var g=e.gravity*h/d,p=e.gravity*f/d;u.offsetX+=g,u.offsetY+=p}}}}},Sc=function(t,e){var n=[],i=0,r=-1;for(n.push.apply(n,t.graphSet[0]),r+=t.graphSet[0].length;i<=r;){var a=n[i++],o=t.idToIndex[a],s=t.layoutNodes[o],c=s.children;if(0n)var r={x:n*t/i,y:n*e/i};else r={x:t,y:e};return r},Mc=function t(e,n){var i=e.parentId;if(null!=i){var r=n.layoutNodes[n.idToIndex[i]],a=!1;if((null==r.maxX||e.maxX+r.padRight>r.maxX)&&(r.maxX=e.maxX+r.padRight,a=!0),(null==r.minX||e.minX-r.padLeftr.maxY)&&(r.maxY=e.maxY+r.padBottom,a=!0),(null==r.minY||e.minY-r.padTopg&&(h+=d+e.componentSpacing,u=0,f=0,d=0)}}},Ic={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(t){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,e){return!0},ready:void 0,stop:void 0,transform:function(t,e){return e}};function Oc(t){this.options=$({},Ic,t)}Oc.prototype.run=function(){var t=this.options,e=t,n=t.cy,i=e.eles,r=i.nodes().not(":parent");e.sort&&(r=r.sort(e.sort));var a=De(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(0===a.h||0===a.w)i.nodes().layoutPositions(this,e,(function(t){return{x:a.x1,y:a.y1}}));else{var o=r.size(),s=Math.sqrt(o*a.h/a.w),c=Math.round(s),l=Math.round(a.w/a.h*s),u=function(t){if(null==t)return Math.min(c,l);Math.min(c,l)==c?c=t:l=t},h=function(t){if(null==t)return Math.max(c,l);Math.max(c,l)==c?c=t:l=t},f=e.rows,d=null!=e.cols?e.cols:e.columns;if(null!=f&&null!=d)c=f,l=d;else if(null!=f&&null==d)c=f,l=Math.ceil(o/c);else if(null==f&&null!=d)l=d,c=Math.ceil(o/l);else if(l*c>o){var g=u(),p=h();(g-1)*p>=o?u(g-1):(p-1)*g>=o&&h(p-1)}else for(;l*c=o?h(m+1):u(b+1)}var y=a.w/l,w=a.h/c;if(e.condense&&(y=0,w=0),e.avoidOverlap)for(var v=0;v=l&&(I=0,L++)},N={},D=0;D(i=Ve(t,e,v[x],v[x+1],v[x+2],v[x+3])))return b(n,i),!0}else if("bezier"===a.edgeType||"multibezier"===a.edgeType||"self"===a.edgeType||"compound"===a.edgeType)for(v=a.allpts,x=0;x+5(i=Ye(t,e,v[x],v[x+1],v[x+2],v[x+3],v[x+4],v[x+5])))return b(n,i),!0;y=y||r.source,w=w||r.target;var k=o.getArrowWidth(c,u),_=[{name:"source",x:a.arrowStartX,y:a.arrowStartY,angle:a.srcArrowAngle},{name:"target",x:a.arrowEndX,y:a.arrowEndY,angle:a.tgtArrowAngle},{name:"mid-source",x:a.midX,y:a.midY,angle:a.midsrcArrowAngle},{name:"mid-target",x:a.midX,y:a.midY,angle:a.midtgtArrowAngle}];for(x=0;x<_.length;x++){var T=_[x],E=s.arrowShapes[n.pstyle(T.name+"-arrow-shape").value],S=n.pstyle("width").pfValue;if(E.roughCollide(t,e,k,T.angle,{x:T.x,y:T.y},S,f)&&E.collide(t,e,k,T.angle,{x:T.x,y:T.y},S,f))return b(n),!0}h&&l.length>0&&(m(y),m(w))}function w(t,e,n){return Jt(t,e,n)}function v(n,i){var r,a=n._private,o=g;r=i?i+"-":"",n.boundingBox();var s=a.labelBounds[i||"main"],c=n.pstyle(r+"label").value;if("yes"===n.pstyle("text-events").strValue&&c){var l=w(a.rscratch,"labelX",i),u=w(a.rscratch,"labelY",i),h=w(a.rscratch,"labelAngle",i),f=n.pstyle(r+"text-margin-x").pfValue,d=n.pstyle(r+"text-margin-y").pfValue,p=s.x1-o-f,m=s.x2+o-f,y=s.y1-o-d,v=s.y2+o-d;if(h){var x=Math.cos(h),k=Math.sin(h),_=function(t,e){return{x:(t-=l)*x-(e-=u)*k+l,y:t*k+e*x+u}},T=_(p,y),E=_(p,v),S=_(m,y),C=_(m,v),A=[T.x+f,T.y+d,S.x+f,S.y+d,C.x+f,C.y+d,E.x+f,E.y+d];if(We(t,e,A))return b(n),!0}else if(ze(s,t,e))return b(n),!0}}n&&(c=c.interactive);for(var x=c.length-1;x>=0;x--){var k=c[x];k.isNode()?m(k)||v(k):y(k)||v(k)||v(k,"source")||v(k,"target")}return l},getAllInBox:function(t,e,n,i){for(var r=this.getCachedZSortedEles().interactive,a=[],o=Math.min(t,n),s=Math.max(t,n),c=Math.min(e,i),l=Math.max(e,i),u=De({x1:t=o,y1:e=c,x2:n=s,y2:i=l}),h=0;h0?Math.max(t-e,0):Math.min(t+e,0)},C=S(T,k),A=S(E,_),M=!1;"auto"===b?p=Math.abs(C)>Math.abs(A)?r:i:b===c||b===s?(p=i,M=!0):(b===a||b===o)&&(p=r,M=!0);var L,I=p===i,O=I?A:C,N=I?E:T,D=Ce(N),P=!1;(!M||!y&&!v)&&(b===s&&N<0||b===c&&N>0||b===a&&N>0||b===o&&N<0)&&(O=(D*=-1)*Math.abs(O),P=!0);var B=function(t){return Math.abs(t)=Math.abs(O)},R=B(L=y?(w<0?1+w:w)*O:(w<0?O:0)+w*D),F=B(Math.abs(O)-Math.abs(L));if(!R&&!F||P)if(I){var $=l.y1+L+(g?h/2*D:0),j=l.x1,z=l.x2;n.segpts=[j,$,z,$]}else{var q=l.x1+L+(g?u/2*D:0),H=l.y1,U=l.y2;n.segpts=[q,H,q,U]}else if(I){var G=Math.abs(N)<=h/2,K=Math.abs(T)<=f/2;if(G){var Y=(l.x1+l.x2)/2,V=l.y1,W=l.y2;n.segpts=[Y,V,Y,W]}else if(K){var X=(l.y1+l.y2)/2,Q=l.x1,Z=l.x2;n.segpts=[Q,X,Z,X]}else n.segpts=[l.x1,l.y2]}else{var J=Math.abs(N)<=u/2,tt=Math.abs(E)<=d/2;if(J){var et=(l.y1+l.y2)/2,nt=l.x1,it=l.x2;n.segpts=[nt,et,it,et]}else if(tt){var rt=(l.x1+l.x2)/2,at=l.y1,ot=l.y2;n.segpts=[rt,at,rt,ot]}else n.segpts=[l.x2,l.y1]}},Kc.tryToCorrectInvalidPoints=function(t,e){var n=t._private.rscratch;if("bezier"===n.edgeType){var i=e.srcPos,r=e.tgtPos,a=e.srcW,o=e.srcH,s=e.tgtW,c=e.tgtH,l=e.srcShape,u=e.tgtShape,h=!w(n.startX)||!w(n.startY),f=!w(n.arrowStartX)||!w(n.arrowStartY),d=!w(n.endX)||!w(n.endY),g=!w(n.arrowEndX)||!w(n.arrowEndY),p=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth*3,b=Ae({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),m=bf.poolIndex()){var d=h;h=f,f=d}var g=s.srcPos=h.position(),p=s.tgtPos=f.position(),b=s.srcW=h.outerWidth(),m=s.srcH=h.outerHeight(),y=s.tgtW=f.outerWidth(),v=s.tgtH=f.outerHeight(),x=s.srcShape=n.nodeShapes[e.getNodeShape(h)],k=s.tgtShape=n.nodeShapes[e.getNodeShape(f)];s.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var _=0;_0){var q=l,H=Me(q,Te(e)),U=Me(q,Te(z)),G=H;U2&&Me(q,{x:z[2],y:z[3]})0){var rt=u,at=Me(rt,Te(e)),ot=Me(rt,Te(it)),st=at;ot2&&Me(rt,{x:it[2],y:it[3]})=l||y){u={cp:p,segment:m};break}}if(u)break}var w=u.cp,v=u.segment,x=(l-f)/v.length,k=v.t1-v.t0,_=s?v.t0+k*x:v.t1-k*x;_=Ne(0,_,1),e=Oe(w.p0,w.p1,w.p2,_),r=function(t,e,n,i){var r=Ne(0,i-.001,1),a=Ne(0,i+.001,1),o=Oe(t,e,n,r),s=Oe(t,e,n,a);return Jc(o,s)}(w.p0,w.p1,w.p2,_);break;case"straight":case"segments":case"haystack":for(var T,E,S,C,A=0,M=i.allpts.length,L=0;L+3=l));L+=2);var I=(l-E)/T;I=Ne(0,I,1),e=function(t,e,n,i){var r=e.x-t.x,a=e.y-t.y,o=Ae(t,e),s=r/o,c=a/o;return n=n??0,i=i??n*o,{x:t.x+s*i,y:t.y+c*i}}(S,C,I),r=Jc(S,C)}o("labelX",n,e.x),o("labelY",n,e.y),o("labelAutoAngle",n,r)}};l("source"),l("target"),this.applyLabelDimensions(t)}},Qc.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))},Qc.applyPrefixedLabelDimensions=function(t,e){var n=t._private,i=this.getLabelText(t,e),r=this.calculateLabelDimensions(t,i),a=t.pstyle("line-height").pfValue,o=t.pstyle("text-wrap").strValue,s=Jt(n.rscratch,"labelWrapCachedLines",e)||[],c="wrap"!==o?1:Math.max(s.length,1),l=r.height/c,u=l*a,h=r.width,f=r.height+(c-1)*(a-1)*l;te(n.rstyle,"labelWidth",e,h),te(n.rscratch,"labelWidth",e,h),te(n.rstyle,"labelHeight",e,f),te(n.rscratch,"labelHeight",e,f),te(n.rscratch,"labelLineHeight",e,u)},Qc.getLabelText=function(t,e){var n=t._private,i=e?e+"-":"",r=t.pstyle(i+"label").strValue,a=t.pstyle("text-transform").value,o=function(t,i){return i?(te(n.rscratch,t,e,i),i):Jt(n.rscratch,t,e)};if(!r)return"";"none"==a||("uppercase"==a?r=r.toUpperCase():"lowercase"==a&&(r=r.toLowerCase()));var s=t.pstyle("text-wrap").value;if("wrap"===s){var c=o("labelKey");if(null!=c&&o("labelWrapKey")===c)return o("labelWrapCachedText");for(var l=r.split("\n"),u=t.pstyle("text-max-width").pfValue,h="anywhere"===t.pstyle("text-overflow-wrap").value,f=[],d=/[\s\u200b]+/,g=h?"":" ",p=0;pu){for(var w=b.split(d),v="",x=0;xT);C++)E+=r[C],C===r.length-1&&(S=!0);return S||(E+="…"),E}return r},Qc.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,n=t.pstyle("text-halign").strValue;if("auto"!==e)return e;if(!t.isNode())return"center";switch(n){case"left":return"right";case"right":return"left";default:return"center"}},Qc.calculateLabelDimensions=function(t,e){var n=Ot(e,t._private.labelDimsKey),i=this.labelDimCache||(this.labelDimCache=[]),r=i[n];if(null!=r)return r;var a=t.pstyle("font-style").strValue,o=t.pstyle("font-size").pfValue,s=t.pstyle("font-family").strValue,c=t.pstyle("font-weight").strValue,l=this.labelCalcCanvas,u=this.labelCalcCanvasContext;if(!l){l=this.labelCalcCanvas=document.createElement("canvas"),u=this.labelCalcCanvasContext=l.getContext("2d");var h=l.style;h.position="absolute",h.left="-9999px",h.top="-9999px",h.zIndex="-1",h.visibility="hidden",h.pointerEvents="none"}u.font="".concat(a," ").concat(c," ").concat(o,"px ").concat(s);for(var f=0,d=0,g=e.split("\n"),p=0;p1&&void 0!==arguments[1])||arguments[1];if(e.merge(t),n)for(var i=0;i"u")&&t instanceof HTMLElement}(t);if(null==e.supportsPassiveEvents){var r=!1;try{var a=Object.defineProperty({},"passive",{get:function(){return r=!0,!0}});n.addEventListener("test",null,a)}catch{}e.supportsPassiveEvents=r}var o=function(n,r,a){var o=Array.prototype.slice.call(arguments);return i&&e.supportsPassiveEvents&&(o[2]={capture:a??!1,passive:!1,once:!1}),e.bindings.push({target:t,args:o}),(t.addEventListener||t.on).apply(t,o),this};return{on:o,addEventListener:o,addListener:o,bind:o}},nodeIsDraggable:function(t){return t&&t.isNode()&&!t.locked()&&t.grabbable()},nodeIsGrabbable:function(t){return this.nodeIsDraggable(t)&&t.interactive()},load:function(){var t=this,e=t.cy.window(),n=function(t){return t.selected()},i=function(e,n,i,r){null==e&&(e=t.cy);for(var a=0;a=t.desktopTapThreshold2}var C=r(e);b&&(t.hoverData.tapholdCancelled=!0);n=!0,i(p,["mousemove","vmousemove","tapdrag"],e,{x:u[0],y:u[1]});var A=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||o.emit({originalEvent:e,type:"boxstart",position:{x:u[0],y:u[1]}}),g[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(3===t.hoverData.which){if(b){var M={originalEvent:e,type:"cxtdrag",position:{x:u[0],y:u[1]}};y?y.emit(M):o.emit(M),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||p!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit({originalEvent:e,type:"cxtdragout",position:{x:u[0],y:u[1]}}),t.hoverData.cxtOver=p,p&&p.emit({originalEvent:e,type:"cxtdragover",position:{x:u[0],y:u[1]}}))}}else if(t.hoverData.dragging){if(n=!0,o.panningEnabled()&&o.userPanningEnabled()){var L;if(t.hoverData.justStartedPan){var I=t.hoverData.mdownPos;L={x:(u[0]-I[0])*s,y:(u[1]-I[1])*s},t.hoverData.justStartedPan=!1}else L={x:v[0]*s,y:v[1]*s};o.panBy(L),o.emit("dragpan"),t.hoverData.dragged=!0}u=t.projectIntoViewport(e.clientX,e.clientY)}else if(1!=g[4]||null!=y&&!y.pannable()){if(y&&y.pannable()&&y.active()&&y.unactivate(),(!y||!y.grabbed())&&p!=m&&(m&&i(m,["mouseout","tapdragout"],e,{x:u[0],y:u[1]}),p&&i(p,["mouseover","tapdragover"],e,{x:u[0],y:u[1]}),t.hoverData.last=p),y)if(b){if(o.boxSelectionEnabled()&&C)y&&y.grabbed()&&(h(x),y.emit("freeon"),x.emit("free"),t.dragData.didDrag&&(y.emit("dragfreeon"),x.emit("dragfree"))),A();else if(y&&y.grabbed()&&t.nodeIsDraggable(y)){var O=!t.dragData.didDrag;O&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||l(x,{inDragLayer:!0});var N={x:0,y:0};if(w(v[0])&&w(v[1])&&(N.x+=v[0],N.y+=v[1],O)){var D=t.hoverData.dragDelta;D&&w(D[0])&&w(D[1])&&(N.x+=D[0],N.y+=D[1])}t.hoverData.draggingEles=!0,x.silentShift(N).emit("position drag"),t.redrawHint("drag",!0),t.redraw()}}else 0===(P=t.hoverData.dragDelta=t.hoverData.dragDelta||[]).length?(P.push(v[0]),P.push(v[1])):(P[0]+=v[0],P[1]+=v[1]);n=!0}else b&&(t.hoverData.dragging||!o.boxSelectionEnabled()||!C&&o.panningEnabled()&&o.userPanningEnabled()?!t.hoverData.selecting&&o.panningEnabled()&&o.userPanningEnabled()&&a(y,t.hoverData.downs)&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,g[4]=0,t.data.bgActivePosistion=Te(f),t.redrawHint("select",!0),t.redraw()):A(),y&&y.pannable()&&y.active()&&y.unactivate());if(g[2]=u[0],g[3]=u[1],n)return e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),!1}var P}),!1),t.registerBinding(e,"mouseup",(function(e){if(t.hoverData.capture){t.hoverData.capture=!1;var a=t.cy,o=t.projectIntoViewport(e.clientX,e.clientY),s=t.selection,c=t.findNearestElement(o[0],o[1],!0,!1),l=t.dragData.possibleDragElements,u=t.hoverData.down,f=r(e);if(t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,u&&u.unactivate(),3===t.hoverData.which){var d={originalEvent:e,type:"cxttapend",position:{x:o[0],y:o[1]}};if(u?u.emit(d):a.emit(d),!t.hoverData.cxtDragged){var g={originalEvent:e,type:"cxttap",position:{x:o[0],y:o[1]}};u?u.emit(g):a.emit(g)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(1===t.hoverData.which){if(i(c,["mouseup","tapend","vmouseup"],e,{x:o[0],y:o[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(i(u,["click","tap","vclick"],e,{x:o[0],y:o[1]}),v=!1,e.timeStamp-x<=a.multiClickDebounceTime()?(y&&clearTimeout(y),v=!0,x=null,i(u,["dblclick","dbltap","vdblclick"],e,{x:o[0],y:o[1]})):(y=setTimeout((function(){v||i(u,["oneclick","onetap","voneclick"],e,{x:o[0],y:o[1]})}),a.multiClickDebounceTime()),x=e.timeStamp)),null==u&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!r(e)&&(a.$(n).unselect(["tapunselect"]),l.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=l=a.collection()),c==u&&!t.dragData.didDrag&&!t.hoverData.selecting&&null!=c&&c._private.selectable&&(t.hoverData.dragging||("additive"===a.selectionType()||f?c.selected()?c.unselect(["tapunselect"]):c.select(["tapselect"]):f||(a.$(n).unmerge(c).unselect(["tapunselect"]),c.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var p=a.collection(t.getAllInBox(s[0],s[1],s[2],s[3]));t.redrawHint("select",!0),p.length>0&&t.redrawHint("eles",!0),a.emit({type:"boxend",originalEvent:e,position:{x:o[0],y:o[1]}});"additive"===a.selectionType()||f||a.$(n).unmerge(p).unselect(),p.emit("box").stdFilter((function(t){return t.selectable()&&!t.selected()})).select().emit("boxselect"),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!s[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var b=u&&u.grabbed();h(l),b&&(u.emit("freeon"),l.emit("free"),t.dragData.didDrag&&(u.emit("dragfreeon"),l.emit("dragfree")))}}s[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null}}),!1);var _=function(e){if(!t.scrollingPage){var n=t.cy,i=n.zoom(),r=n.pan(),a=t.projectIntoViewport(e.clientX,e.clientY),o=[a[0]*i+r.x,a[1]*i+r.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||0!==t.selection[4])return void e.preventDefault();if(n.panningEnabled()&&n.userPanningEnabled()&&n.zoomingEnabled()&&n.userZoomingEnabled()){var s;e.preventDefault(),t.data.wheelZooming=!0,clearTimeout(t.data.wheelTimeout),t.data.wheelTimeout=setTimeout((function(){t.data.wheelZooming=!1,t.redrawHint("eles",!0),t.redraw()}),150),s=null!=e.deltaY?e.deltaY/-250:null!=e.wheelDeltaY?e.wheelDeltaY/1e3:e.wheelDelta/1e3,s*=t.wheelSensitivity,1===e.deltaMode&&(s*=33);var c=n.zoom()*Math.pow(10,s);"gesturechange"===e.type&&(c=t.gestureStartZoom*e.scale),n.zoom({level:c,renderedPosition:{x:o[0],y:o[1]}}),n.emit("gesturechange"===e.type?"pinchzoom":"scrollzoom")}}};t.registerBinding(t.container,"wheel",_,!0),t.registerBinding(e,"scroll",(function(e){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout((function(){t.scrollingPage=!1}),250)}),!0),t.registerBinding(t.container,"gesturestart",(function(e){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||e.preventDefault()}),!0),t.registerBinding(t.container,"gesturechange",(function(e){t.hasTouchStarted||_(e)}),!0),t.registerBinding(t.container,"mouseout",(function(e){var n=t.projectIntoViewport(e.clientX,e.clientY);t.cy.emit({originalEvent:e,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),t.registerBinding(t.container,"mouseover",(function(e){var n=t.projectIntoViewport(e.clientX,e.clientY);t.cy.emit({originalEvent:e,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var T,E,S,C,A,M,L,I,O,N,D,P,B,R,F,$,j,z,q,H,U=function(t,e,n,i){return Math.sqrt((n-t)*(n-t)+(i-e)*(i-e))},G=function(t,e,n,i){return(n-t)*(n-t)+(i-e)*(i-e)};if(t.registerBinding(t.container,"touchstart",R=function(e){if(t.hasTouchStarted=!0,k(e)){d(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var n=t.cy,r=t.touchData.now,a=t.touchData.earlier;if(e.touches[0]){var o=t.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);r[0]=o[0],r[1]=o[1]}if(e.touches[1]&&(o=t.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY),r[2]=o[0],r[3]=o[1]),e.touches[2]&&(o=t.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY),r[4]=o[0],r[5]=o[1]),e.touches[1]){t.touchData.singleTouchMoved=!0,h(t.dragData.touchDragEles);var c=t.findContainerClientCoords();O=c[0],N=c[1],D=c[2],P=c[3],T=e.touches[0].clientX-O,E=e.touches[0].clientY-N,S=e.touches[1].clientX-O,C=e.touches[1].clientY-N,B=0<=T&&T<=D&&0<=S&&S<=D&&0<=E&&E<=P&&0<=C&&C<=P;var f=n.pan(),g=n.zoom();A=U(T,E,S,C),M=G(T,E,S,C),I=[((L=[(T+S)/2,(E+C)/2])[0]-f.x)/g,(L[1]-f.y)/g];if(M<4e4&&!e.touches[2]){var p=t.findNearestElement(r[0],r[1],!0,!0),b=t.findNearestElement(r[2],r[3],!0,!0);return p&&p.isNode()?(p.activate().emit({originalEvent:e,type:"cxttapstart",position:{x:r[0],y:r[1]}}),t.touchData.start=p):b&&b.isNode()?(b.activate().emit({originalEvent:e,type:"cxttapstart",position:{x:r[0],y:r[1]}}),t.touchData.start=b):n.emit({originalEvent:e,type:"cxttapstart",position:{x:r[0],y:r[1]}}),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!0,t.touchData.cxtDragged=!1,t.data.bgActivePosistion=void 0,void t.redraw()}}if(e.touches[2])n.boxSelectionEnabled()&&e.preventDefault();else if(!e.touches[1]&&e.touches[0]){var m=t.findNearestElements(r[0],r[1],!0,!0),y=m[0];if(null!=y&&(y.activate(),t.touchData.start=y,t.touchData.starts=m,t.nodeIsGrabbable(y))){var w=t.dragData.touchDragEles=n.collection(),v=null;t.redrawHint("eles",!0),t.redrawHint("drag",!0),y.selected()?(v=n.$((function(e){return e.selected()&&t.nodeIsGrabbable(e)})),l(v,{addToList:w})):u(y,{addToList:w}),s(y);var x=function(t){return{originalEvent:e,type:t,position:{x:r[0],y:r[1]}}};y.emit(x("grabon")),v?v.forEach((function(t){t.emit(x("grab"))})):y.emit(x("grab"))}i(y,["touchstart","tapstart","vmousedown"],e,{x:r[0],y:r[1]}),null==y&&(t.data.bgActivePosistion={x:o[0],y:o[1]},t.redrawHint("select",!0),t.redraw()),t.touchData.singleTouchMoved=!1,t.touchData.singleTouchStartTime=+new Date,clearTimeout(t.touchData.tapholdTimeout),t.touchData.tapholdTimeout=setTimeout((function(){!1===t.touchData.singleTouchMoved&&!t.pinching&&!t.touchData.selecting&&i(t.touchData.start,["taphold"],e,{x:r[0],y:r[1]})}),t.tapholdDuration)}if(e.touches.length>=1){for(var _=t.touchData.startPosition=[null,null,null,null,null,null],R=0;R=t.touchTapThreshold2}if(n&&t.touchData.cxt){e.preventDefault();var x=e.touches[0].clientX-O,_=e.touches[0].clientY-N,L=e.touches[1].clientX-O,D=e.touches[1].clientY-N,P=G(x,_,L,D);if(P/M>=2.25||P>=22500){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var R={originalEvent:e,type:"cxttapend",position:{x:s[0],y:s[1]}};t.touchData.start?(t.touchData.start.unactivate().emit(R),t.touchData.start=null):o.emit(R)}}if(n&&t.touchData.cxt){R={originalEvent:e,type:"cxtdrag",position:{x:s[0],y:s[1]}},t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(R):o.emit(R),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var F=t.findNearestElement(s[0],s[1],!0,!0);(!t.touchData.cxtOver||F!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit({originalEvent:e,type:"cxtdragout",position:{x:s[0],y:s[1]}}),t.touchData.cxtOver=F,F&&F.emit({originalEvent:e,type:"cxtdragover",position:{x:s[0],y:s[1]}}))}else if(n&&e.touches[2]&&o.boxSelectionEnabled())e.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||o.emit({originalEvent:e,type:"boxstart",position:{x:s[0],y:s[1]}}),t.touchData.selecting=!0,t.touchData.didSelect=!0,r[4]=1,r&&0!==r.length&&void 0!==r[0]?(r[2]=(s[0]+s[2]+s[4])/3,r[3]=(s[1]+s[3]+s[5])/3):(r[0]=(s[0]+s[2]+s[4])/3,r[1]=(s[1]+s[3]+s[5])/3,r[2]=(s[0]+s[2]+s[4])/3+1,r[3]=(s[1]+s[3]+s[5])/3+1),t.redrawHint("select",!0),t.redraw();else if(n&&e.touches[1]&&!t.touchData.didSelect&&o.zoomingEnabled()&&o.panningEnabled()&&o.userZoomingEnabled()&&o.userPanningEnabled()){if(e.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),tt=t.dragData.touchDragEles){t.redrawHint("drag",!0);for(var $=0;$0&&!t.hoverData.draggingEles&&!t.swipePanning&&null!=t.data.bgActivePosistion&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1),t.registerBinding(e,"touchcancel",$=function(e){var n=t.touchData.start;t.touchData.capture=!1,n&&n.unactivate()}),t.registerBinding(e,"touchend",j=function(e){var r=t.touchData.start;if(t.touchData.capture){0===e.touches.length&&(t.touchData.capture=!1),e.preventDefault();var a=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var o,s=t.cy,c=s.zoom(),l=t.touchData.now,u=t.touchData.earlier;if(e.touches[0]){var f=t.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);l[0]=f[0],l[1]=f[1]}if(e.touches[1]&&(f=t.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY),l[2]=f[0],l[3]=f[1]),e.touches[2]&&(f=t.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY),l[4]=f[0],l[5]=f[1]),r&&r.unactivate(),t.touchData.cxt){if(o={originalEvent:e,type:"cxttapend",position:{x:l[0],y:l[1]}},r?r.emit(o):s.emit(o),!t.touchData.cxtDragged){var d={originalEvent:e,type:"cxttap",position:{x:l[0],y:l[1]}};r?r.emit(d):s.emit(d)}return t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,void t.redraw()}if(!e.touches[2]&&s.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var g=s.collection(t.getAllInBox(a[0],a[1],a[2],a[3]));a[0]=void 0,a[1]=void 0,a[2]=void 0,a[3]=void 0,a[4]=0,t.redrawHint("select",!0),s.emit({type:"boxend",originalEvent:e,position:{x:l[0],y:l[1]}});g.emit("box").stdFilter((function(t){return t.selectable()&&!t.selected()})).select().emit("boxselect"),g.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(null!=r&&r.unactivate(),e.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!e.touches[1]&&!e.touches[0]&&!e.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var p=t.dragData.touchDragEles;if(null!=r){var b=r._private.grabbed;h(p),t.redrawHint("drag",!0),t.redrawHint("eles",!0),b&&(r.emit("freeon"),p.emit("free"),t.dragData.didDrag&&(r.emit("dragfreeon"),p.emit("dragfree"))),i(r,["touchend","tapend","vmouseup","tapdragout"],e,{x:l[0],y:l[1]}),r.unactivate(),t.touchData.start=null}else{var m=t.findNearestElement(l[0],l[1],!0,!0);i(m,["touchend","tapend","vmouseup","tapdragout"],e,{x:l[0],y:l[1]})}var y=t.touchData.startPosition[0]-l[0],w=y*y,v=t.touchData.startPosition[1]-l[1],x=(w+v*v)*c*c;t.touchData.singleTouchMoved||(r||s.$(":selected").unselect(["tapunselect"]),i(r,["tap","vclick"],e,{x:l[0],y:l[1]}),z=!1,e.timeStamp-H<=s.multiClickDebounceTime()?(q&&clearTimeout(q),z=!0,H=null,i(r,["dbltap","vdblclick"],e,{x:l[0],y:l[1]})):(q=setTimeout((function(){z||i(r,["onetap","voneclick"],e,{x:l[0],y:l[1]})}),s.multiClickDebounceTime()),H=e.timeStamp)),null!=r&&!t.dragData.didDrag&&r._private.selectable&&x"u"){var K=[],Y=function(t){return{clientX:t.clientX,clientY:t.clientY,force:1,identifier:t.pointerId,pageX:t.pageX,pageY:t.pageY,radiusX:t.width/2,radiusY:t.height/2,screenX:t.screenX,screenY:t.screenY,target:t.target}},V=function(t){K.push(function(t){return{event:t,touch:Y(t)}}(t))},W=function(t){for(var e=0;e2){for(var A=[l[0],l[1]],M=Math.pow(A[0]-t,2)+Math.pow(A[1]-e,2),L=1;L0)return d[0]}return null},f=Object.keys(u),d=0;d0?c:Ue(r,a,t,e,n,i,o)},checkPoint:function(t,e,n,i,r,a,o){var s=ln(i,r),c=2*s;if(Xe(t,e,this.points,a,o,i,r-c,[0,-1],n)||Xe(t,e,this.points,a,o,i-c,r,[0,-1],n))return!0;var l=i/2+2*n,u=r/2+2*n;return!!(We(t,e,[a-l,o-u,a-l,o,a+l,o,a+l,o-u])||Je(t,e,c,c,a+i/2-s,o+r/2-s,n)||Je(t,e,c,c,a-i/2+s,o+r/2-s,n))}}},registerNodeShapes:function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",on(3,0)),this.generateRoundPolygon("round-triangle",on(3,0)),this.generatePolygon("rectangle",on(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n),this.generatePolygon("pentagon",on(5,0)),this.generateRoundPolygon("round-pentagon",on(5,0)),this.generatePolygon("hexagon",on(6,0)),this.generateRoundPolygon("round-hexagon",on(6,0)),this.generatePolygon("heptagon",on(7,0)),this.generateRoundPolygon("round-heptagon",on(7,0)),this.generatePolygon("octagon",on(8,0)),this.generateRoundPolygon("round-octagon",on(8,0));var i=new Array(20),r=cn(5,0),a=cn(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var s=0;s=t.deqFastCost*p)break}else if(r){if(d>=t.deqCost*c||d>=t.deqAvgCost*s)break}else if(g>=t.deqNoDrawCost*hl)break;var b=t.deq(e,h,u);if(!(b.length>0))break;for(var m=0;m0&&(t.onDeqd(e,l),!r&&t.shouldRedraw(e,l,h,u)&&i())}),r(e))}}},dl=function(){function t(n){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:jt;e(this,t),this.idsByKey=new ne,this.keyForId=new ne,this.cachesByLvl=new ne,this.lvls=[],this.getKey=n,this.doesEleInvalidateKey=i}return r(t,[{key:"getIdsFor",value:function(t){null==t&&Ht("Can not get id list for null key");var e=this.idsByKey,n=this.idsByKey.get(t);return n||(n=new re,e.set(t,n)),n}},{key:"addIdForKey",value:function(t,e){null!=t&&this.getIdsFor(t).add(e)}},{key:"deleteIdForKey",value:function(t,e){null!=t&&this.getIdsFor(t).delete(e)}},{key:"getNumberOfIdsForKey",value:function(t){return null==t?0:this.getIdsFor(t).size}},{key:"updateKeyMappingFor",value:function(t){var e=t.id(),n=this.keyForId.get(e),i=this.getKey(t);this.deleteIdForKey(n,e),this.addIdForKey(i,e),this.keyForId.set(e,i)}},{key:"deleteKeyMappingFor",value:function(t){var e=t.id(),n=this.keyForId.get(e);this.deleteIdForKey(n,e),this.keyForId.delete(e)}},{key:"keyHasChangedFor",value:function(t){var e=t.id();return this.keyForId.get(e)!==this.getKey(t)}},{key:"isInvalid",value:function(t){return this.keyHasChangedFor(t)||this.doesEleInvalidateKey(t)}},{key:"getCachesAt",value:function(t){var e=this.cachesByLvl,n=this.lvls,i=e.get(t);return i||(i=new ne,e.set(t,i),n.push(t)),i}},{key:"getCache",value:function(t,e){return this.getCachesAt(e).get(t)}},{key:"get",value:function(t,e){var n=this.getKey(t),i=this.getCache(n,e);return null!=i&&this.updateKeyMappingFor(t),i}},{key:"getForCachedKey",value:function(t,e){var n=this.keyForId.get(t.id());return this.getCache(n,e)}},{key:"hasCache",value:function(t,e){return this.getCachesAt(e).has(t)}},{key:"has",value:function(t,e){var n=this.getKey(t);return this.hasCache(n,e)}},{key:"setCache",value:function(t,e,n){n.key=t,this.getCachesAt(e).set(t,n)}},{key:"set",value:function(t,e,n){var i=this.getKey(t);this.setCache(i,e,n),this.updateKeyMappingFor(t)}},{key:"deleteCache",value:function(t,e){this.getCachesAt(e).delete(t)}},{key:"delete",value:function(t,e){var n=this.getKey(t);this.deleteCache(n,e)}},{key:"invalidateKey",value:function(t){var e=this;this.lvls.forEach((function(n){return e.deleteCache(t,n)}))}},{key:"invalidate",value:function(t){var e=t.id(),n=this.keyForId.get(e);this.deleteKeyMappingFor(t);var i=this.doesEleInvalidateKey(t);return i&&this.invalidateKey(n),i||0===this.getNumberOfIdsForKey(n)}}]),t}(),gl={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},pl=Xt({getKey:null,doesEleInvalidateKey:jt,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:$t,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),bl=function(t,e){var n=this;n.renderer=t,n.onDequeues=[];var i=pl(e);$(n,i),n.lookup=new dl(i.getKey,i.doesEleInvalidateKey),n.setupDequeueing()},ml=bl.prototype;ml.reasons=gl,ml.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]},ml.getRetiredTextureQueue=function(t){var e=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return e[t]=e[t]||[]},ml.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new ce((function(t,e){return e.reqs-t.reqs}))},ml.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},ml.getElement=function(t,e,n,i,r){var a=this,o=this.renderer,s=o.cy.zoom(),c=this.lookup;if(!e||0===e.w||0===e.h||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(null==i&&(i=Math.ceil(Se(s*n))),i<-4)i=-4;else if(s>=7.99||i>3)return null;var l=Math.pow(2,i),u=e.h*l,h=e.w*l,f=o.eleTextBiggerThanMin(t,l);if(!this.isVisible(t,f))return null;var d,g=c.get(t,i);if(g&&g.invalidated&&(g.invalidated=!1,g.texture.invalidatedWidth-=g.width),g)return g;if(d=u<=25?25:u<=50?50:50*Math.ceil(u/50),u>1024||h>1024)return null;var p=a.getTextureQueue(d),b=p[p.length-2],m=function(){return a.recycleTexture(d,h)||a.addTexture(d,h)};b||(b=p[p.length-1]),b||(b=m()),b.width-b.usedWidthi;C--)E=a.getElement(t,e,n,C,gl.downscale);S()}else{var A;if(!v&&!x&&!k)for(var M=i-1;M>=-4;M--){var L=c.get(t,M);if(L){A=L;break}}if(w(A))return a.queueElement(t,i),A;b.context.translate(b.usedWidth,0),b.context.scale(l,l),this.drawElement(b.context,t,e,f,!1),b.context.scale(1/l,1/l),b.context.translate(-b.usedWidth,0)}return g={x:b.usedWidth,texture:b,level:i,scale:l,width:h,height:u,scaledLabelShown:f},b.usedWidth+=Math.ceil(h+8),b.eleCaches.push(g),c.set(t,i,g),a.checkTextureFullness(b),g},ml.invalidateElements=function(t){for(var e=0;e=.2*t.width&&this.retireTexture(t)},ml.checkTextureFullness=function(t){var e=this.getTextureQueue(t.height);t.usedWidth/t.width>.8&&t.fullnessChecks>=10?Qt(e,t):t.fullnessChecks++},ml.retireTexture=function(t){var e=t.height,n=this.getTextureQueue(e),i=this.lookup;Qt(n,t),t.retired=!0;for(var r=t.eleCaches,a=0;a=e)return a.retired=!1,a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,Zt(a.eleCaches),a.context.setTransform(1,0,0,1,0,0),a.context.clearRect(0,0,a.width,a.height),Qt(i,a),n.push(a),a}},ml.queueElement=function(t,e){var n=this.getElementQueue(),i=this.getElementKeyToQueue(),r=this.getKey(t),a=i[r];if(a)a.level=Math.max(a.level,e),a.eles.merge(t),a.reqs++,n.updateItem(a);else{var o={eles:t.spawn().merge(t),level:e,reqs:1,key:r};n.push(o),i[r]=o}},ml.dequeue=function(t){for(var e=this,n=e.getElementQueue(),i=e.getElementKeyToQueue(),r=[],a=e.lookup,o=0;o<1&&n.size()>0;o++){var s=n.pop(),c=s.key,l=s.eles[0],u=a.hasCache(l,s.level);if(i[c]=null,!u){r.push(s);var h=e.getBoundingBox(l);e.getElement(l,h,t,s.level,gl.dequeue)}}return r},ml.removeFromQueue=function(t){var e=this.getElementQueue(),n=this.getElementKeyToQueue(),i=this.getKey(t),r=n[i];null!=r&&(1===r.eles.length?(r.reqs=Ft,e.updateItem(r),e.pop(),n[i]=null):r.eles.unmerge(t))},ml.onDequeue=function(t){this.onDequeues.push(t)},ml.offDequeue=function(t){Qt(this.onDequeues,t)},ml.setupDequeueing=fl({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(t,e,n){return t.dequeue(e,n)},onDeqd:function(t,e){for(var n=0;n=3.99||n>2)return null;i.validateLayersElesOrdering(n,t);var o,s,c=i.layersByLevel,l=Math.pow(2,n),u=c[n]=c[n]||[];if(i.levelIsComplete(n,t))return u;!function(){var e=function(e){if(i.validateLayersElesOrdering(e,t),i.levelIsComplete(e,t))return s=c[e],!0},r=function(t){if(!s)for(var i=n+t;-4<=i&&i<=2&&!e(i);i+=t);};r(1),r(-1);for(var a=u.length-1;a>=0;a--){var o=u[a];o.invalid&&Qt(u,o)}}();var h=function(e){var r=(e=e||{}).after;if(function(){if(!o){o=De();for(var e=0;e16e6)return null;var a=i.makeLayer(o,n);if(null!=r){var s=u.indexOf(r)+1;u.splice(s,0,a)}else(void 0===e.insert||e.insert)&&u.unshift(a);return a};if(i.skipping&&!a)return null;for(var f=null,d=t.length/1,g=!a,p=0;p=d||!He(f.bb,b.boundingBox()))&&!(f=h({insert:!0,after:f})))return null;s||g?i.queueLayer(f,b):i.drawEleInLayer(f,b,n,e),f.eles.push(b),y[n]=f}}return s||(g?null:u)},wl.getEleLevelForLayerLevel=function(t,e){return t},wl.drawEleInLayer=function(t,e,n,i){var r=this.renderer,a=t.context,o=e.boundingBox();0===o.w||0===o.h||!e.visible()||(n=this.getEleLevelForLayerLevel(n,i),r.setImgSmoothing(a,!1),r.drawCachedElement(a,e,null,null,n,true),r.setImgSmoothing(a,!0))},wl.levelIsComplete=function(t,e){var n=this.layersByLevel[t];if(!n||0===n.length)return!1;for(var i=0,r=0;r0||a.invalid)return!1;i+=a.eles.length}return i===e.length},wl.validateLayersElesOrdering=function(t,e){var n=this.layersByLevel[t];if(n)for(var i=0;i0){t=!0;break}}return t},wl.invalidateElements=function(t){var e=this;0!==t.length&&(e.lastInvalidationTime=Tt(),0!==t.length&&e.haveLayers()&&e.updateElementsInLayers(t,(function(t,n,i){e.invalidateLayer(t)})))},wl.invalidateLayer=function(t){if(this.lastInvalidationTime=Tt(),!t.invalid){var e=t.level,n=t.eles,i=this.layersByLevel[e];Qt(i,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var r=0;r3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=this,s=e._private.rscratch;if((!a||e.visible())&&!s.badLine&&null!=s.allpts&&!isNaN(s.allpts[0])){var c;n&&(c=n,t.translate(-c.x1,-c.y1));var l=a?e.pstyle("opacity").value:1,u=a?e.pstyle("line-opacity").value:1,h=e.pstyle("curve-style").value,f=e.pstyle("line-style").value,d=e.pstyle("width").pfValue,g=e.pstyle("line-cap").value,p=l*u,b=l*u,m=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p;"straight-triangle"===h?(o.eleStrokeStyle(t,e,n),o.drawEdgeTrianglePath(e,t,s.allpts)):(t.lineWidth=d,t.lineCap=g,o.eleStrokeStyle(t,e,n),o.drawEdgePath(e,t,s.allpts,f),t.lineCap="butt")},y=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:b;o.drawArrowheads(t,e,n)};if(t.lineJoin="round","yes"===e.pstyle("ghost").value){var w=e.pstyle("ghost-offset-x").pfValue,v=e.pstyle("ghost-offset-y").pfValue,x=e.pstyle("ghost-opacity").value,k=p*x;t.translate(w,v),m(k),y(k),t.translate(-w,-v)}r&&o.drawEdgeUnderlay(t,e),m(),y(),r&&o.drawEdgeOverlay(t,e),o.drawElementText(t,e,null,i),n&&t.translate(c.x1,c.y1)}}},Rl=function(t){if(!["overlay","underlay"].includes(t))throw new Error("Invalid state");return function(e,n){if(n.visible()){var i=n.pstyle("".concat(t,"-opacity")).value;if(0!==i){var r=this,a=r.usePaths(),o=n._private.rscratch,s=2*n.pstyle("".concat(t,"-padding")).pfValue,c=n.pstyle("".concat(t,"-color")).value;e.lineWidth=s,"self"!==o.edgeType||a?e.lineCap="round":e.lineCap="butt",r.colorStrokeStyle(e,c[0],c[1],c[2],i),r.drawEdgePath(n,e,o.allpts,"solid")}}}};Bl.drawEdgeOverlay=Rl("overlay"),Bl.drawEdgeUnderlay=Rl("underlay"),Bl.drawEdgePath=function(t,e,n,i){var r,a=t._private.rscratch,o=e,s=!1,c=this.usePaths(),l=t.pstyle("line-dash-pattern").pfValue,u=t.pstyle("line-dash-offset").pfValue;if(c){var h=n.join("$");a.pathCacheKey&&a.pathCacheKey===h?(r=e=a.pathCache,s=!0):(r=e=new Path2D,a.pathCacheKey=h,a.pathCache=r)}if(o.setLineDash)switch(i){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash(l),o.lineDashOffset=u;break;case"solid":o.setLineDash([])}if(!s&&!a.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(n[0],n[1]),a.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var f=2;f+35&&void 0!==arguments[5]?arguments[5]:5,o=arguments.length>6?arguments[6]:void 0;t.beginPath(),t.moveTo(e+a,n),t.lineTo(e+i-a,n),t.quadraticCurveTo(e+i,n,e+i,n+a),t.lineTo(e+i,n+r-a),t.quadraticCurveTo(e+i,n+r,e+i-a,n+r),t.lineTo(e+a,n+r),t.quadraticCurveTo(e,n+r,e,n+r-a),t.lineTo(e,n+a),t.quadraticCurveTo(e,n,e+a,n),t.closePath(),o?t.stroke():t.fill()}$l.eleTextBiggerThanMin=function(t,e){if(!e){var n=t.cy().zoom(),i=this.getPixelRatio(),r=Math.ceil(Se(n*i));e=Math.pow(2,r)}return!(t.pstyle("font-size").pfValue*e5&&void 0!==arguments[5])||arguments[5],o=this;if(null==i){if(a&&!o.eleTextBiggerThanMin(e))return}else if(!1===i)return;if(e.isNode()){var s=e.pstyle("label");if(!s||!s.value)return;var c=o.getLabelJustification(e);t.textAlign=c,t.textBaseline="bottom"}else{var l=e.element()._private.rscratch.badLine,u=e.pstyle("label"),h=e.pstyle("source-label"),f=e.pstyle("target-label");if(l||(!u||!u.value)&&(!h||!h.value)&&(!f||!f.value))return;t.textAlign="center",t.textBaseline="bottom"}var d,g=!n;n&&(d=n,t.translate(-d.x1,-d.y1)),null==r?(o.drawText(t,e,null,g,a),e.isEdge()&&(o.drawText(t,e,"source",g,a),o.drawText(t,e,"target",g,a))):o.drawText(t,e,r,g,a),n&&t.translate(d.x1,d.y1)},$l.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var n=0;n2&&void 0!==arguments[2])||arguments[2],i=e.pstyle("font-style").strValue,r=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,o=e.pstyle("font-weight").strValue,s=n?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,c=e.pstyle("text-outline-opacity").value*s,l=e.pstyle("color").value,u=e.pstyle("text-outline-color").value;t.font=i+" "+o+" "+r+" "+a,t.lineJoin="round",this.colorFillStyle(t,l[0],l[1],l[2],s),this.colorStrokeStyle(t,u[0],u[1],u[2],c)},$l.getTextAngle=function(t,e){var n=t._private.rscratch,i=e?e+"-":"",r=t.pstyle(i+"text-rotation"),a=Jt(n,"labelAngle",e);return"autorotate"===r.strValue?t.isEdge()?a:0:"none"===r.strValue?0:r.pfValue},$l.drawText=function(t,e,n){var i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=e._private.rscratch,o=r?e.effectiveOpacity():1;if(!r||0!==o&&0!==e.pstyle("text-opacity").value){"main"===n&&(n=null);var s,c,l=Jt(a,"labelX",n),u=Jt(a,"labelY",n),h=this.getLabelText(e,n);if(null!=h&&""!==h&&!isNaN(l)&&!isNaN(u)){this.setupTextStyle(t,e,r);var f,d=n?n+"-":"",g=Jt(a,"labelWidth",n),p=Jt(a,"labelHeight",n),b=e.pstyle(d+"text-margin-x").pfValue,m=e.pstyle(d+"text-margin-y").pfValue,y=e.isEdge(),w=e.pstyle("text-halign").value,v=e.pstyle("text-valign").value;switch(y&&(w="center",v="center"),l+=b,u+=m,0!==(f=i?this.getTextAngle(e,n):0)&&(s=l,c=u,t.translate(s,c),t.rotate(f),l=0,u=0),v){case"top":break;case"center":u+=p/2;break;case"bottom":u+=p}var x=e.pstyle("text-background-opacity").value,k=e.pstyle("text-border-opacity").value,_=e.pstyle("text-border-width").pfValue,T=e.pstyle("text-background-padding").pfValue,E=0===e.pstyle("text-background-shape").strValue.indexOf("round");if(x>0||_>0&&k>0){var S=l-T;switch(w){case"left":S-=g;break;case"center":S-=g/2}var C=u-p-T,A=g+2*T,M=p+2*T;if(x>0){var L=t.fillStyle,I=e.pstyle("text-background-color").value;t.fillStyle="rgba("+I[0]+","+I[1]+","+I[2]+","+x*o+")",E?jl(t,S,C,A,M,2):t.fillRect(S,C,A,M),t.fillStyle=L}if(_>0&&k>0){var O=t.strokeStyle,N=t.lineWidth,D=e.pstyle("text-border-color").value,P=e.pstyle("text-border-style").value;if(t.strokeStyle="rgba("+D[0]+","+D[1]+","+D[2]+","+k*o+")",t.lineWidth=_,t.setLineDash)switch(P){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=_/4,t.setLineDash([]);break;case"solid":t.setLineDash([])}if(E?jl(t,S,C,A,M,2,"stroke"):t.strokeRect(S,C,A,M),"double"===P){var B=_/2;E?jl(t,S+B,C+B,A-2*B,M-2*B,2,"stroke"):t.strokeRect(S+B,C+B,A-2*B,M-2*B)}t.setLineDash&&t.setLineDash([]),t.lineWidth=N,t.strokeStyle=O}}var R=2*e.pstyle("text-outline-width").pfValue;if(R>0&&(t.lineWidth=R),"wrap"===e.pstyle("text-wrap").value){var F=Jt(a,"labelWrapCachedLines",n),$=Jt(a,"labelLineHeight",n),j=g/2,z=this.getLabelJustification(e);switch("auto"===z||("left"===w?"left"===z?l+=-g:"center"===z&&(l+=-j):"center"===w?"left"===z?l+=-j:"right"===z&&(l+=j):"right"===w&&("center"===z?l+=j:"right"===z&&(l+=g))),v){case"top":case"center":case"bottom":u-=(F.length-1)*$}for(var q=0;q0&&t.strokeText(F[q],l,u),t.fillText(F[q],l,u),u+=$}else R>0&&t.strokeText(h,l,u),t.fillText(h,l,u);0!==f&&(t.rotate(-f),t.translate(-s,-c))}}};var zl={drawNode:function(t,e,n){var i,r,a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],c=this,l=e._private,u=l.rscratch,h=e.position();if(w(h.x)&&w(h.y)&&(!s||e.visible())){var f,d,g=s?e.effectiveOpacity():1,p=c.usePaths(),b=!1,m=e.padding();i=e.width()+2*m,r=e.height()+2*m,n&&(d=n,t.translate(-d.x1,-d.y1));for(var y=e.pstyle("background-image").value,v=new Array(y.length),x=new Array(y.length),k=0,_=0;_0&&void 0!==arguments[0]?arguments[0]:A;c.eleFillStyle(t,e,n)},F=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:I;c.colorStrokeStyle(t,M[0],M[1],M[2],e)},$=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:P;c.colorStrokeStyle(t,N[0],N[1],N[2],e)},j=function(t,e,n,i){var r,a=c.nodePathCache=c.nodePathCache||[],o=Nt("polygon"===n?n+","+i.join(","):n,""+e,""+t),s=a[o],l=!1;return null!=s?(r=s,l=!0,u.pathCache=r):(r=new Path2D,a[o]=u.pathCache=r),{path:r,cacheHit:l}},z=e.pstyle("shape").strValue,q=e.pstyle("shape-polygon-points").pfValue;if(p){t.translate(h.x,h.y);var H=j(i,r,z,q);f=H.path,b=H.cacheHit}var U=function(){if(!b){var n=h;p&&(n={x:0,y:0}),c.nodeShapes[c.getNodeShape(e)].draw(f||t,n.x,n.y,i,r)}p?t.fill(f):t.fill()},G=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g,i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=l.backgrounding,a=0,o=0;o0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:g;c.hasPie(e)&&(c.drawPie(t,e,a),n&&(p||c.nodeShapes[c.getNodeShape(e)].draw(t,h.x,h.y,i,r)))},Y=function(){var e=(S>0?S:-S)*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:g),n=S>0?0:255;0!==S&&(c.colorFillStyle(t,n,n,n,e),p?t.fill(f):t.fill())},V=function(){if(C>0){if(t.lineWidth=C,t.lineCap="butt",t.setLineDash)switch(L){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([])}if(p?t.stroke(f):t.stroke(),"double"===L){t.lineWidth=C/3;var e=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",p?t.stroke(f):t.stroke(),t.globalCompositeOperation=e}t.setLineDash&&t.setLineDash([])}},W=function(){if(O>0){if(t.lineWidth=O,t.lineCap="butt",t.setLineDash)switch(D){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([])}var n=h;p&&(n={x:0,y:0});var a,o=c.getNodeShape(e),s=(i+C+(O+B))/i,l=(r+C+(O+B))/r,u=i*s,f=r*l,d=c.nodeShapes[o].points;if(p&&(a=j(u,f,o,d).path),"ellipse"===o)c.drawEllipsePath(a||t,n.x,n.y,u,f);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(o)){var g=0,b=0,m=0;"round-diamond"===o?g=1.4*(C+B+O):"round-heptagon"===o?(g=1.075*(C+B+O),m=-(C/2+B+O)/35):"round-hexagon"===o?g=1.12*(C+B+O):"round-pentagon"===o?(g=1.13*(C+B+O),m=-(C/2+B+O)/15):"round-tag"===o?(g=1.12*(C+B+O),b=.07*(C/2+O+B)):"round-triangle"===o&&(g=(C+B+O)*(Math.PI/2),m=-(C+B/2+O)/Math.PI),0!==g&&(s=(i+g)/i,l=(r+g)/r),c.drawRoundPolygonPath(a||t,n.x+b,n.y+m,i*s,r*l,d)}else["roundrectangle","round-rectangle"].includes(o)?c.drawRoundRectanglePath(a||t,n.x,n.y,u,f):["cutrectangle","cut-rectangle"].includes(o)?c.drawCutRectanglePath(a||t,n.x,n.y,u,f):["bottomroundrectangle","bottom-round-rectangle"].includes(o)?c.drawBottomRoundRectanglePath(a||t,n.x,n.y,u,f):"barrel"===o?c.drawBarrelPath(a||t,n.x,n.y,u,f):o.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(o)?(d=Qe(Ze(d,(C+O+B)/i)),c.drawPolygonPath(a||t,n.x,n.y,i,r,d)):(d=Qe(Ze(d,-(C+O+B)/i)),c.drawPolygonPath(a||t,n.x,n.y,i,r,d));if(p?t.stroke(a):t.stroke(),"double"===D){t.lineWidth=C/3;var y=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",p?t.stroke(a):t.stroke(),t.globalCompositeOperation=y}t.setLineDash&&t.setLineDash([])}};if("yes"===e.pstyle("ghost").value){var X=e.pstyle("ghost-offset-x").pfValue,Q=e.pstyle("ghost-offset-y").pfValue,Z=e.pstyle("ghost-opacity").value,J=Z*g;t.translate(X,Q),$(),W(),R(Z*A),U(),G(J,!0),F(Z*I),V(),K(0!==S||0!==C),G(J,!1),Y(J),t.translate(-X,-Q)}p&&t.translate(-h.x,-h.y),o&&c.drawNodeUnderlay(t,e,h,i,r),p&&t.translate(h.x,h.y),$(),W(),R(),U(),G(g,!0),F(),V(),K(0!==S||0!==C),G(g,!1),Y(),p&&t.translate(-h.x,-h.y),c.drawElementText(t,e,null,a),o&&c.drawNodeOverlay(t,e,h,i,r),n&&t.translate(d.x1,d.y1)}}},ql=function(t){if(!["overlay","underlay"].includes(t))throw new Error("Invalid state");return function(e,n,i,r,a){if(n.visible()){var o=n.pstyle("".concat(t,"-padding")).pfValue,s=n.pstyle("".concat(t,"-opacity")).value,c=n.pstyle("".concat(t,"-color")).value,l=n.pstyle("".concat(t,"-shape")).value;if(s>0){if(i=i||n.position(),null==r||null==a){var u=n.padding();r=n.width()+2*u,a=n.height()+2*u}this.colorFillStyle(e,c[0],c[1],c[2],s),this.nodeShapes[l].draw(e,i.x,i.y,r+2*o,a+2*o),e.fill()}}}};zl.drawNodeOverlay=ql("overlay"),zl.drawNodeUnderlay=ql("underlay"),zl.hasPie=function(t){return(t=t[0])._private.hasPie},zl.drawPie=function(t,e,n,i){e=e[0],i=i||e.position();var r=e.cy().style(),a=e.pstyle("pie-size"),o=i.x,s=i.y,c=e.width(),l=e.height(),u=Math.min(c,l)/2,h=0;this.usePaths()&&(o=0,s=0),"%"===a.units?u*=a.pfValue:void 0!==a.pfValue&&(u=a.pfValue/2);for(var f=1;f<=r.pieBackgroundN;f++){var d=e.pstyle("pie-"+f+"-background-size").value,g=e.pstyle("pie-"+f+"-background-color").value,p=e.pstyle("pie-"+f+"-background-opacity").value*n,b=d/100;b+h>1&&(b=1-h);var m=1.5*Math.PI+2*Math.PI*h,y=m+2*Math.PI*b;0===d||h>=1||h+b>1||(t.beginPath(),t.moveTo(o,s),t.arc(o,s,u,m,y),t.closePath(),this.colorFillStyle(t,g[0],g[1],g[2],p),t.fill(),h+=b)}};var Hl={};Hl.getPixelRatio=function(){var t=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var e=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/e},Hl.paintCache=function(t){for(var e,n=this.paintCaches=this.paintCaches||[],i=!0,r=0;ro.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!h&&(u[o.NODE]=!0,u[o.SELECT_BOX]=!0);var y=c.style(),w=c.zoom(),v=void 0!==r?r:w,x=c.pan(),k={x:x.x,y:x.y},_={zoom:w,pan:{x:x.x,y:x.y}},T=o.prevViewport;!(void 0===T||_.zoom!==T.zoom||_.pan.x!==T.pan.x||_.pan.y!==T.pan.y)&&!(p&&!g)&&(o.motionBlurPxRatio=1),a&&(k=a),v*=s,k.x*=s,k.y*=s;var E=o.getCachedZSortedEles();function S(t,e,n,i,r){var a=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",o.colorFillStyle(t,255,255,255,o.motionBlurTransparency),t.fillRect(e,n,i,r),t.globalCompositeOperation=a}function C(t,i){var s,c,u,h;o.clearingMotionBlur||t!==l.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]&&t!==l.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]?(s=k,c=v,u=o.canvasWidth,h=o.canvasHeight):(s={x:x.x*d,y:x.y*d},c=w*d,u=o.canvasWidth*d,h=o.canvasHeight*d),t.setTransform(1,0,0,1,0,0),"motionBlur"===i?S(t,0,0,u,h):!e&&(void 0===i||i)&&t.clearRect(0,0,u,h),n||(t.translate(s.x,s.y),t.scale(c,c)),a&&t.translate(a.x,a.y),r&&t.scale(r,r)}if(h||(o.textureDrawLastFrame=!1),h){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=c.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var A=o.data.bufferContexts[o.TEXTURE_BUFFER];A.setTransform(1,0,0,1,0,0),A.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:A,drawOnlyNodeLayer:!0,forcedPxRatio:s*o.textureMult}),(_=o.textureCache.viewport={zoom:c.zoom(),pan:c.pan(),width:o.canvasWidth,height:o.canvasHeight}).mpan={x:(0-_.pan.x)/_.zoom,y:(0-_.pan.y)/_.zoom}}u[o.DRAG]=!1,u[o.NODE]=!1;var M=l.contexts[o.NODE],L=o.textureCache.texture;_=o.textureCache.viewport,M.setTransform(1,0,0,1,0,0),f?S(M,0,0,_.width,_.height):M.clearRect(0,0,_.width,_.height);var I=y.core("outside-texture-bg-color").value,O=y.core("outside-texture-bg-opacity").value;o.colorFillStyle(M,I[0],I[1],I[2],O),M.fillRect(0,0,_.width,_.height),w=c.zoom(),C(M,!1),M.clearRect(_.mpan.x,_.mpan.y,_.width/_.zoom/s,_.height/_.zoom/s),M.drawImage(L,_.mpan.x,_.mpan.y,_.width/_.zoom/s,_.height/_.zoom/s)}else o.textureOnViewport&&!e&&(o.textureCache=null);var N=c.extent(),D=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),P=o.hideEdgesOnViewport&&D,B=[];if(B[o.NODE]=!u[o.NODE]&&f&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,B[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),B[o.DRAG]=!u[o.DRAG]&&f&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,B[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),u[o.NODE]||n||i||B[o.NODE]){var R=f&&!B[o.NODE]&&1!==d;C(M=e||(R?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:l.contexts[o.NODE]),f&&!R?"motionBlur":void 0),P?o.drawCachedNodes(M,E.nondrag,s,N):o.drawLayeredElements(M,E.nondrag,s,N),o.debug&&o.drawDebugPoints(M,E.nondrag),!n&&!f&&(u[o.NODE]=!1)}if(!i&&(u[o.DRAG]||n||B[o.DRAG])&&(R=f&&!B[o.DRAG]&&1!==d,C(M=e||(R?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:l.contexts[o.DRAG]),f&&!R?"motionBlur":void 0),P?o.drawCachedNodes(M,E.drag,s,N):o.drawCachedElements(M,E.drag,s,N),o.debug&&o.drawDebugPoints(M,E.drag),!n&&!f&&(u[o.DRAG]=!1)),o.showFps||!i&&u[o.SELECT_BOX]&&!n){if(C(M=e||l.contexts[o.SELECT_BOX]),1==o.selection[4]&&(o.hoverData.selecting||o.touchData.selecting)){w=o.cy.zoom();var F=y.core("selection-box-border-width").value/w;M.lineWidth=F,M.fillStyle="rgba("+y.core("selection-box-color").value[0]+","+y.core("selection-box-color").value[1]+","+y.core("selection-box-color").value[2]+","+y.core("selection-box-opacity").value+")",M.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),F>0&&(M.strokeStyle="rgba("+y.core("selection-box-border-color").value[0]+","+y.core("selection-box-border-color").value[1]+","+y.core("selection-box-border-color").value[2]+","+y.core("selection-box-opacity").value+")",M.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(l.bgActivePosistion&&!o.hoverData.selecting){w=o.cy.zoom();var $=l.bgActivePosistion;M.fillStyle="rgba("+y.core("active-bg-color").value[0]+","+y.core("active-bg-color").value[1]+","+y.core("active-bg-color").value[2]+","+y.core("active-bg-opacity").value+")",M.beginPath(),M.arc($.x,$.y,y.core("active-bg-size").pfValue/w,0,2*Math.PI),M.fill()}var j=o.lastRedrawTime;if(o.showFps&&j){j=Math.round(j);var z=Math.round(1e3/j);M.setTransform(1,0,0,1,0,0),M.fillStyle="rgba(255, 0, 0, 0.75)",M.strokeStyle="rgba(255, 0, 0, 0.75)",M.lineWidth=1,M.fillText("1 frame = "+j+" ms = "+z+" fps",0,20);M.strokeRect(0,30,250,20),M.fillRect(0,30,250*Math.min(z/60,1),20)}n||(u[o.SELECT_BOX]=!1)}if(f&&1!==d){var q=l.contexts[o.NODE],H=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],U=l.contexts[o.DRAG],G=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],K=function(t,e,n){t.setTransform(1,0,0,1,0,0),n||!m?t.clearRect(0,0,o.canvasWidth,o.canvasHeight):S(t,0,0,o.canvasWidth,o.canvasHeight);var i=d;t.drawImage(e,0,0,o.canvasWidth*i,o.canvasHeight*i,0,0,o.canvasWidth,o.canvasHeight)};(u[o.NODE]||B[o.NODE])&&(K(q,H,B[o.NODE]),u[o.NODE]=!1),(u[o.DRAG]||B[o.DRAG])&&(K(U,G,B[o.DRAG]),u[o.DRAG]=!1)}o.prevViewport=_,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),f&&(o.motionBlurTimeout=setTimeout((function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!h,o.mbFrames=0,u[o.NODE]=!0,u[o.DRAG]=!0,o.redraw()}),100)),e||c.emit("render")};for(var Ul={drawPolygonPath:function(t,e,n,i,r,a){var o=i/2,s=r/2;t.beginPath&&t.beginPath(),t.moveTo(e+o*a[0],n+s*a[1]);for(var c=1;c0&&a>0){f.clearRect(0,0,r,a),f.globalCompositeOperation="source-over";var d=this.getCachedZSortedEles();if(t.full)f.translate(-n.x1*c,-n.y1*c),f.scale(c,c),this.drawElements(f,d),f.scale(1/c,1/c),f.translate(n.x1*c,n.y1*c);else{var g=e.pan(),p={x:g.x*c,y:g.y*c};c*=e.zoom(),f.translate(p.x,p.y),f.scale(c,c),this.drawElements(f,d),f.scale(1/c,1/c),f.translate(-p.x,-p.y)}t.bg&&(f.globalCompositeOperation="destination-over",f.fillStyle=t.bg,f.rect(0,0,r,a),f.fill())}return h},Ql.png=function(t){return Jl(t,this.bufferCanvasImage(t),"image/png")},Ql.jpg=function(t){return Jl(t,this.bufferCanvasImage(t),"image/jpeg")};var tu=nu,eu=nu.prototype;function nu(t){var e=this;e.data={canvases:new Array(eu.CANVAS_LAYERS),contexts:new Array(eu.CANVAS_LAYERS),canvasNeedsRedraw:new Array(eu.CANVAS_LAYERS),bufferCanvases:new Array(eu.BUFFER_COUNT),bufferContexts:new Array(eu.CANVAS_LAYERS)};var n="-webkit-tap-highlight-color",i="rgba(0,0,0,0)";e.data.canvasContainer=document.createElement("div");var r=e.data.canvasContainer.style;e.data.canvasContainer.style[n]=i,r.position="relative",r.zIndex="0",r.overflow="hidden";var a=t.cy.container();a.appendChild(e.data.canvasContainer),a.style[n]=i;var o={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};l&&l.userAgent.match(/msie|trident|edge/i)&&(o["-ms-touch-action"]="none",o["touch-action"]="none");for(var s=0;s"u"?"undefined":t(OffscreenCanvas))?i=new OffscreenCanvas(e,n):((i=document.createElement("canvas")).width=e,i.height=n),i},[_l,Ml,Bl,Fl,$l,zl,Hl,Ul,Ql,{nodeShapeImpl:function(t,e,n,i,r,a,o){switch(t){case"ellipse":return this.drawEllipsePath(e,n,i,r,a);case"polygon":return this.drawPolygonPath(e,n,i,r,a,o);case"round-polygon":return this.drawRoundPolygonPath(e,n,i,r,a,o);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(e,n,i,r,a);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(e,n,i,r,a);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(e,n,i,r,a);case"barrel":return this.drawBarrelPath(e,n,i,r,a)}}}].forEach((function(t){$(eu,t)}));var ru=[{type:"layout",extensions:$c},{type:"renderer",extensions:[{name:"null",impl:jc},{name:"base",impl:ll},{name:"canvas",impl:tu}]}],au={},ou={};function su(t,e,n){var i=n,r=function(n){Gt("Can not register `"+e+"` for `"+t+"` since `"+n+"` already exists in the prototype and can not be overridden")};if("core"===t){if(Zs.prototype[e])return r(e);Zs.prototype[e]=n}else if("collection"===t){if(gs.prototype[e])return r(e);gs.prototype[e]=n}else if("layout"===t){for(var a=function(t){this.options=t,n.call(this,t),y(this._private)||(this._private={}),this._private.cy=t.cy,this._private.listeners=[],this.createEmitter()},o=a.prototype=Object.create(n.prototype),s=[],c=0;ce&&(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)),this.labelHeight>n&&("center"==this.labelPos?this.rect.y-=(this.labelHeight-n)/2:"top"==this.labelPos&&(this.rect.y-=this.labelHeight-n),this.setHeight(this.labelHeight))}}},l.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==r.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},l.prototype.transform=function(t){var e=this.rect.x;e>o.WORLD_BOUNDARY?e=o.WORLD_BOUNDARY:e<-o.WORLD_BOUNDARY&&(e=-o.WORLD_BOUNDARY);var n=this.rect.y;n>o.WORLD_BOUNDARY?n=o.WORLD_BOUNDARY:n<-o.WORLD_BOUNDARY&&(n=-o.WORLD_BOUNDARY);var i=new c(e,n),r=t.inverseTransformPoint(i);this.setLocation(r.x,r.y)},l.prototype.getLeft=function(){return this.rect.x},l.prototype.getRight=function(){return this.rect.x+this.rect.width},l.prototype.getTop=function(){return this.rect.y},l.prototype.getBottom=function(){return this.rect.y+this.rect.height},l.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=l},function(t,e,n){function i(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}i.prototype.getX=function(){return this.x},i.prototype.getY=function(){return this.y},i.prototype.setX=function(t){this.x=t},i.prototype.setY=function(t){this.y=t},i.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},i.prototype.getCopy=function(){return new i(this.x,this.y)},i.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=i},function(t,e,n){var i=n(2),r=n(10),a=n(0),o=n(6),s=n(3),c=n(1),l=n(13),u=n(12),h=n(11);function f(t,e,n){i.call(this,n),this.estimatedSize=r.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof o?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var d in f.prototype=Object.create(i.prototype),i)f[d]=i[d];f.prototype.getNodes=function(){return this.nodes},f.prototype.getEdges=function(){return this.edges},f.prototype.getGraphManager=function(){return this.graphManager},f.prototype.getParent=function(){return this.parent},f.prototype.getLeft=function(){return this.left},f.prototype.getRight=function(){return this.right},f.prototype.getTop=function(){return this.top},f.prototype.getBottom=function(){return this.bottom},f.prototype.isConnected=function(){return this.isConnected},f.prototype.add=function(t,e,n){if(null==e&&null==n){var i=t;if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(i)>-1)throw"Node already in graph!";return i.owner=this,this.getNodes().push(i),i}var r=t;if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(n)>-1))throw"Source or target not in graph!";if(e.owner!=n.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=n.owner?null:(r.source=e,r.target=n,r.isInterGraph=!1,this.getEdges().push(r),e.edges.push(r),n!=e&&n.edges.push(r),r)},f.prototype.remove=function(t){var e=t;if(t instanceof s){if(null==e)throw"Node is null!";if(null==e.owner||e.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var n=e.edges.slice(),i=n.length,r=0;r-1&&u>-1))throw"Source and/or target doesn't know this edge!";if(a.source.edges.splice(l,1),a.target!=a.source&&a.target.edges.splice(u,1),-1==(o=a.source.owner.getEdges().indexOf(a)))throw"Not in owner's edge list!";a.source.owner.getEdges().splice(o,1)}},f.prototype.updateLeftTop=function(){for(var t,e,n,i=r.MAX_VALUE,a=r.MAX_VALUE,o=this.getNodes(),s=o.length,c=0;c(t=l.getTop())&&(i=t),a>(e=l.getLeft())&&(a=e)}return i==r.MAX_VALUE?null:(n=null!=o[0].getParent().paddingLeft?o[0].getParent().paddingLeft:this.margin,this.left=a-n,this.top=i-n,new u(this.left,this.top))},f.prototype.updateBounds=function(t){for(var e,n,i,a,o,s=r.MAX_VALUE,c=-r.MAX_VALUE,u=r.MAX_VALUE,h=-r.MAX_VALUE,f=this.nodes,d=f.length,g=0;g(e=p.getLeft())&&(s=e),c<(n=p.getRight())&&(c=n),u>(i=p.getTop())&&(u=i),h<(a=p.getBottom())&&(h=a)}var b=new l(s,u,c-s,h-u);s==r.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),o=null!=f[0].getParent().paddingLeft?f[0].getParent().paddingLeft:this.margin,this.left=b.x-o,this.right=b.x+b.width+o,this.top=b.y-o,this.bottom=b.y+b.height+o},f.calculateBounds=function(t){for(var e,n,i,a,o=r.MAX_VALUE,s=-r.MAX_VALUE,c=r.MAX_VALUE,u=-r.MAX_VALUE,h=t.length,f=0;f(e=d.getLeft())&&(o=e),s<(n=d.getRight())&&(s=n),c>(i=d.getTop())&&(c=i),u<(a=d.getBottom())&&(u=a)}return new l(o,c,s-o,u-c)},f.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},f.prototype.getEstimatedSize=function(){if(this.estimatedSize==r.MIN_VALUE)throw"assert failed";return this.estimatedSize},f.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,n=e.length,i=0;i=this.nodes.length){var c=0;r.forEach((function(e){e.owner==t&&c++})),c==this.nodes.length&&(this.isConnected=!0)}}else this.isConnected=!0},t.exports=f},function(t,e,n){var i,r=n(1);function a(t){i=n(5),this.layout=t,this.graphs=[],this.edges=[]}a.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),n=this.add(t,e);return this.setRootGraph(n),this.rootGraph},a.prototype.add=function(t,e,n,i,r){if(null==n&&null==i&&null==r){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}r=n,n=t;var a=(i=e).getOwner(),o=r.getOwner();if(null==a||a.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==o||o.getGraphManager()!=this)throw"Target not in this graph mgr!";if(a==o)return n.isInterGraph=!1,a.add(n,i,r);if(n.isInterGraph=!0,n.source=i,n.target=r,this.edges.indexOf(n)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(n),null==n.source||null==n.target)throw"Edge source and/or target is null!";if(-1!=n.source.edges.indexOf(n)||-1!=n.target.edges.indexOf(n))throw"Edge already in source and/or target incidency list!";return n.source.edges.push(n),n.target.edges.push(n),n},a.prototype.remove=function(t){if(t instanceof i){var e=t;if(e.getGraphManager()!=this)throw"Graph not in this graph mgr";if(e!=this.rootGraph&&(null==e.parent||e.parent.graphManager!=this))throw"Invalid parent node!";for(var n,a=[],o=(a=a.concat(e.getEdges())).length,s=0;s=e.getRight()?n[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(n[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?n[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(n[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var a=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(a=1);var o=a*n[0],s=n[1]/a;n[0]o)return n[0]=i,n[1]=c,n[2]=a,n[3]=w,!1;if(ra)return n[0]=s,n[1]=r,n[2]=m,n[3]=o,!1;if(ia?(n[0]=u,n[1]=h,_=!0):(n[0]=l,n[1]=c,_=!0):E===C&&(i>a?(n[0]=s,n[1]=c,_=!0):(n[0]=f,n[1]=h,_=!0)),-S===C?a>i?(n[2]=y,n[3]=w,T=!0):(n[2]=m,n[3]=b,T=!0):S===C&&(a>i?(n[2]=p,n[3]=b,T=!0):(n[2]=v,n[3]=w,T=!0)),_&&T)return!1;if(i>a?r>o?(A=this.getCardinalDirection(E,C,4),M=this.getCardinalDirection(S,C,2)):(A=this.getCardinalDirection(-E,C,3),M=this.getCardinalDirection(-S,C,1)):r>o?(A=this.getCardinalDirection(-E,C,1),M=this.getCardinalDirection(-S,C,3)):(A=this.getCardinalDirection(E,C,2),M=this.getCardinalDirection(S,C,4)),!_)switch(A){case 1:I=c,L=i+-g/C,n[0]=L,n[1]=I;break;case 2:L=f,I=r+d*C,n[0]=L,n[1]=I;break;case 3:I=h,L=i+g/C,n[0]=L,n[1]=I;break;case 4:L=u,I=r+-d*C,n[0]=L,n[1]=I}if(!T)switch(M){case 1:N=b,O=a+-k/C,n[2]=O,n[3]=N;break;case 2:O=v,N=o+x*C,n[2]=O,n[3]=N;break;case 3:N=w,O=a+k/C,n[2]=O,n[3]=N;break;case 4:O=y,N=o+-x*C,n[2]=O,n[3]=N}}return!1},r.getCardinalDirection=function(t,e,n){return t>e?n:1+n%4},r.getIntersection=function(t,e,n,r){if(null==r)return this.getIntersection2(t,e,n);var a,o,s,c,l,u,h,f=t.x,d=t.y,g=e.x,p=e.y,b=n.x,m=n.y,y=r.x,w=r.y;return l=g*d-f*p,u=y*m-b*w,0==(h=(a=p-d)*(c=b-y)-(o=w-m)*(s=f-g))?null:new i((s*u-c*l)/h,(o*l-a*u)/h)},r.angleOfVector=function(t,e,n,i){var r=void 0;return t!==n?(r=Math.atan((i-e)/(n-t)),n0?1:t<0?-1:0},i.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},i.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=i},function(t,e,n){function i(){}i.MAX_VALUE=2147483647,i.MIN_VALUE=-2147483648,t.exports=i},function(t,e,n){var i=function(){function t(t,e){for(var n=0;n"u"?"undefined":i(t);return null==t||"object"!=e&&"function"!=e},t.exports=r},function(t,e,n){function i(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e0&&e;){for(s.push(l[0]);s.length>0&&e;){var u=s[0];s.splice(0,1),o.add(u);var h=u.getEdges();for(a=0;a-1&&l.splice(p,1)}o=new Set,c=new Map}else t=[]}return t},f.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],n=t.source,i=this.graphManager.calcLowestCommonAncestor(t.source,t.target),r=0;r0){for(var r=this.edgeToDummyNodes.get(n),a=0;a=0&&e.splice(h,1),u.getNeighborsList().forEach((function(t){if(n.indexOf(t)<0){var e=i.get(t)-1;1==e&&c.push(t),i.set(t,e)}}))}n=n.concat(c),(1==e.length||2==e.length)&&(r=!0,a=e[0])}return a},f.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=f},function(t,e,n){function i(){}i.seed=1,i.x=0,i.nextDouble=function(){return i.x=1e4*Math.sin(i.seed++),i.x-Math.floor(i.x)},t.exports=i},function(t,e,n){var i=n(4);function r(t,e){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}r.prototype.getWorldOrgX=function(){return this.lworldOrgX},r.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},r.prototype.getWorldOrgY=function(){return this.lworldOrgY},r.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},r.prototype.getWorldExtX=function(){return this.lworldExtX},r.prototype.setWorldExtX=function(t){this.lworldExtX=t},r.prototype.getWorldExtY=function(){return this.lworldExtY},r.prototype.setWorldExtY=function(t){this.lworldExtY=t},r.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},r.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},r.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},r.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},r.prototype.getDeviceExtX=function(){return this.ldeviceExtX},r.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},r.prototype.getDeviceExtY=function(){return this.ldeviceExtY},r.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},r.prototype.transformX=function(t){var e=0,n=this.lworldExtX;return 0!=n&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/n),e},r.prototype.transformY=function(t){var e=0,n=this.lworldExtY;return 0!=n&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/n),e},r.prototype.inverseTransformX=function(t){var e=0,n=this.ldeviceExtX;return 0!=n&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/n),e},r.prototype.inverseTransformY=function(t){var e=0,n=this.ldeviceExtY;return 0!=n&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/n),e},r.prototype.inverseTransformPoint=function(t){return new i(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=r},function(t,e,n){var i=n(15),r=n(7),a=n(0),o=n(8),s=n(9);function c(){i.call(this),this.useSmartIdealEdgeLengthCalculation=r.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.idealEdgeLength=r.DEFAULT_EDGE_LENGTH,this.springConstant=r.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=r.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=r.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=r.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=r.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=r.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*r.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=r.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=r.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=r.MAX_ITERATIONS}for(var l in c.prototype=Object.create(i.prototype),i)c[l]=i[l];c.prototype.initParameters=function(){i.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=r.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},c.prototype.calcIdealEdgeLengths=function(){for(var t,e,n,i,o,s,c=this.getGraphManager().getAllEdges(),l=0;lr.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*r.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-r.ADAPTATION_LOWER_NODE_LIMIT)/(r.ADAPTATION_UPPER_NODE_LIMIT-r.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-r.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=r.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>r.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(r.COOLING_ADAPTATION_FACTOR,1-(t-r.ADAPTATION_LOWER_NODE_LIMIT)/(r.ADAPTATION_UPPER_NODE_LIMIT-r.ADAPTATION_LOWER_NODE_LIMIT)*(1-r.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=r.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},c.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),n=0;n0&&void 0!==arguments[0])||arguments[0],s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],c=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%r.GRID_CALCULATION_CHECK_PERIOD==1&&o&&this.updateGrid(),a=new Set,t=0;t(c=e.getEstimatedSize()*this.gravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*r,t.gravitationForceY=-this.gravityConstant*a):(o>(c=e.getEstimatedSize()*this.compoundGravityRangeFactor)||s>c)&&(t.gravitationForceX=-this.gravityConstant*r*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*a*this.compoundGravityConstant)},c.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=s.length||l>=s[0].length))for(var u=0;ut}}]),t}();t.exports=a},function(t,e,n){var i=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),this.sequence1=e,this.sequence2=n,this.match_score=i,this.mismatch_penalty=r,this.gap_penalty=a,this.iMax=e.length+1,this.jMax=n.length+1,this.grid=new Array(this.iMax);for(var o=0;o=0;n--){var i=this.listeners[n];i.event===t&&i.callback===e&&this.listeners.splice(n,1)}},r.emit=function(t,e){for(var n=0;nt.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*r.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*r.sign(this.displacementY)),null==this.child||0==this.child.getNodes().length?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),t.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},a.prototype.propogateDisplacementToChildren=function(t,e){for(var n,i=this.getChild().getNodes(),r=0;r0?this.positionNodesRadially(n):(this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation(),t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter((function(e){return t.has(e)})),this.graphManager.setAllNodesToApplyGravitation(e),this.positionNodesRandomly())}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},y.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%l.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter((function(e){return t.has(e)}));this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var n=!this.isTreeGrowing&&!this.isGrowthFinished,i=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(n,i),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},y.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},n=0;n1)for(s=0;si&&(i=Math.floor(o.y)),a=Math.floor(o.x+c.DEFAULT_COMPONENT_SEPERATION)}this.transform(new f(u.WORLD_CENTER_X-o.x/2,u.WORLD_CENTER_Y-o.y/2))},y.radialLayout=function(t,e,n){var i=Math.max(this.maxDiagonalInTree(t),c.DEFAULT_RADIAL_SEPARATION);y.branchRadialLayout(e,null,0,359,0,i);var r=b.calculateBounds(t),a=new m;a.setDeviceOrgX(r.getMinX()),a.setDeviceOrgY(r.getMinY()),a.setWorldOrgX(n.x),a.setWorldOrgY(n.y);for(var o=0;o1;){var m=b[0];b.splice(0,1);var w=u.indexOf(m);w>=0&&u.splice(w,1),g--,h--}f=null!=e?(u.indexOf(b[0])+1)%g:0;for(var v=Math.abs(i-n)/h,x=f;d!=h;x=++x%g){var k=u[x].getOtherEnd(t);if(k!=e){var _=(n+d*v)%360,T=(_+v)%360;y.branchRadialLayout(k,t,_,T,r+a,a),d++}}},y.maxDiagonalInTree=function(t){for(var e=g.MIN_VALUE,n=0;ne&&(e=i)}return e},y.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},y.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var n=[],i=this.graphManager.getAllNodes(),r=0;r"u"&&(e[c]=[]),e[c]=e[c].concat(s)}Object.keys(e).forEach((function(n){if(e[n].length>1){var i="DummyCompound_"+n;t.memberGroups[i]=e[n];var r=e[n][0].getParent(),a=new o(t.graphManager);a.id=i,a.paddingLeft=r.paddingLeft||0,a.paddingRight=r.paddingRight||0,a.paddingBottom=r.paddingBottom||0,a.paddingTop=r.paddingTop||0,t.idToDummyNode[i]=a;var s=t.getGraphManager().add(t.newGraph(),a),c=r.getChild();c.add(a);for(var l=0;l=0;t--){var e=this.compoundOrder[t],n=e.id,i=e.paddingLeft,r=e.paddingTop;this.adjustLocations(this.tiledMemberPack[n],e.rect.x,e.rect.y,i,r)}},y.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach((function(n){var i=t.idToDummyNode[n],r=i.paddingLeft,a=i.paddingTop;t.adjustLocations(e[n],i.rect.x,i.rect.y,r,a)}))},y.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var n=t.getChild();if(null==n)return this.toBeTiled[e]=!1,!1;for(var i=n.getNodes(),r=0;r0)return this.toBeTiled[e]=!1,!1;if(null!=a.getChild()){if(!this.getToBeTiled(a))return this.toBeTiled[e]=!1,!1}else this.toBeTiled[a.id]=!1}return this.toBeTiled[e]=!0,!0},y.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),n=0,i=0;ic&&(c=u.rect.height)}n+=c+t.verticalPadding}},y.prototype.tileCompoundMembers=function(t,e){var n=this;this.tiledMemberPack=[],Object.keys(t).forEach((function(i){var r=e[i];n.tiledMemberPack[i]=n.tileNodes(t[i],r.paddingLeft+r.paddingRight),r.rect.width=n.tiledMemberPack[i].width,r.rect.height=n.tiledMemberPack[i].height}))},y.prototype.tileNodes=function(t,e){var n={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:c.TILING_PADDING_VERTICAL,horizontalPadding:c.TILING_PADDING_HORIZONTAL};t.sort((function(t,e){return t.rect.width*t.rect.height>e.rect.width*e.rect.height?-1:t.rect.width*t.rect.height0&&(a+=t.horizontalPadding),t.rowWidth[n]=a,t.width0&&(o+=t.verticalPadding);var s=0;o>t.rowHeight[n]&&(s=t.rowHeight[n],t.rowHeight[n]=o,s=t.rowHeight[n]-s),t.height+=s,t.rows[n].push(e)},y.prototype.getShortestRowIndex=function(t){for(var e=-1,n=Number.MAX_VALUE,i=0;in&&(e=i,n=t.rowWidth[i]);return e},y.prototype.canAddHorizontal=function(t,e,n){var i=this.getShortestRowIndex(t);if(i<0)return!0;var r=t.rowWidth[i];if(r+t.horizontalPadding+e<=t.width)return!0;var a,o,s=0;return t.rowHeight[i]0&&(s=n+t.verticalPadding-t.rowHeight[i]),a=t.width-r>=e+t.horizontalPadding?(t.height+s)/(r+e+t.horizontalPadding):(t.height+s)/t.width,s=n+t.verticalPadding,(o=t.widtha&&e!=n){i.splice(-1,1),t.rows[n].push(r),t.rowWidth[e]=t.rowWidth[e]-a,t.rowWidth[n]=t.rowWidth[n]+a,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var o=Number.MIN_VALUE,s=0;so&&(o=i[s].height);e>0&&(o+=t.verticalPadding);var c=t.rowHeight[e]+t.rowHeight[n];t.rowHeight[e]=o,t.rowHeight[n]0)for(var u=r;u<=a;u++)c[0]+=this.grid[u][o-1].length+this.grid[u][o].length-1;if(a0)for(u=o;u<=s;u++)c[3]+=this.grid[r-1][u].length+this.grid[r][u].length-1;for(var h,f,d=g.MAX_VALUE,p=0;p0&&(o=n.getGraphManager().add(n.newGraph(),a),this.processChildrenList(o,h,n))}},h.prototype.stop=function(){return this.stopped=!0,this};var d=function(t){t("layout","cose-bilkent",h)};typeof cytoscape<"u"&&d(cytoscape),t.exports=d}]))}(n$);const o$=r(n$.exports);function s$(t,e,n,i,r){(function(t,e,n,i,r){const a=r.htmlLabels,o=i%11,s=e.append("g");n.section=o;let c="section-"+o;o<0&&(c+=" section-root"),s.attr("class",(n.class?n.class+" ":"")+"mindmap-node "+c);const l=s.append("g"),u=s.append("g"),h=n.descr.replace(/()/g,"\n");IL(u,h,{useHtmlLabels:a,width:n.width,classes:"mindmap-node-label"}),a||u.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");const f=u.node().getBBox(),[d]=hf(r.fontSize);if(n.height=f.height+1.1*d*.5+n.padding,n.width=f.width+2*n.padding,n.icon)if(n.type===t.nodeType.CIRCLE)n.height+=50,n.width+=50,s.append("foreignObject").attr("height","50px").attr("width",n.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+o+" "+n.icon),u.attr("transform","translate("+n.width/2+", "+(n.height/2-1.5*n.padding)+")");else{n.width+=50;const t=n.height;n.height=Math.max(t,60);const e=Math.abs(n.height-t);s.append("foreignObject").attr("width","60px").attr("height",n.height).attr("style","text-align: center;margin-top:"+e/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+o+" "+n.icon),u.attr("transform","translate("+(25+n.width/2)+", "+(e/2+n.padding/2)+")")}else if(a){const t=(n.width-f.width)/2,e=(n.height-f.height)/2;u.attr("transform","translate("+t+", "+e+")")}else{const t=n.width/2,e=n.padding/2;u.attr("transform","translate("+t+", "+e+")")}switch(n.type){case t.nodeType.DEFAULT:!function(t,e,n,i){e.append("path").attr("id","node-"+n.id).attr("class","node-bkg node-"+t.type2Str(n.type)).attr("d",`M0 ${n.height-5} v${10-n.height} q0,-5 5,-5 h${n.width-10} q5,0 5,5 v${n.height-5} H0 Z`),e.append("line").attr("class","node-line-"+i).attr("x1",0).attr("y1",n.height).attr("x2",n.width).attr("y2",n.height)}(t,l,n,o);break;case t.nodeType.ROUNDED_RECT:!function(t,e,n){e.append("rect").attr("id","node-"+n.id).attr("class","node-bkg node-"+t.type2Str(n.type)).attr("height",n.height).attr("rx",n.padding).attr("ry",n.padding).attr("width",n.width)}(t,l,n);break;case t.nodeType.RECT:!function(t,e,n){e.append("rect").attr("id","node-"+n.id).attr("class","node-bkg node-"+t.type2Str(n.type)).attr("height",n.height).attr("width",n.width)}(t,l,n);break;case t.nodeType.CIRCLE:l.attr("transform","translate("+n.width/2+", "+ +n.height/2+")"),function(t,e,n){e.append("circle").attr("id","node-"+n.id).attr("class","node-bkg node-"+t.type2Str(n.type)).attr("r",n.width/2)}(t,l,n);break;case t.nodeType.CLOUD:!function(t,e,n){const i=n.width,r=n.height,a=.15*i,o=.25*i,s=.35*i,c=.2*i;e.append("path").attr("id","node-"+n.id).attr("class","node-bkg node-"+t.type2Str(n.type)).attr("d",`M0 0 a${a},${a} 0 0,1 ${.25*i},${-1*i*.1}\n a${s},${s} 1 0,1 ${.4*i},${-1*i*.1}\n a${o},${o} 1 0,1 ${.35*i},${1*i*.2}\n\n a${a},${a} 1 0,1 ${.15*i},${1*r*.35}\n a${c},${c} 1 0,1 ${-1*i*.15},${1*r*.65}\n\n a${o},${a} 1 0,1 ${-1*i*.25},${.15*i}\n a${s},${s} 1 0,1 ${-1*i*.5},0\n a${a},${a} 1 0,1 ${-1*i*.25},${-1*i*.15}\n\n a${a},${a} 1 0,1 ${-1*i*.1},${-1*r*.35}\n a${c},${c} 1 0,1 ${.1*i},${-1*r*.65}\n\n H0 V0 Z`)}(t,l,n);break;case t.nodeType.BANG:!function(t,e,n){const i=n.width,r=n.height,a=.15*i;e.append("path").attr("id","node-"+n.id).attr("class","node-bkg node-"+t.type2Str(n.type)).attr("d",`M0 0 a${a},${a} 1 0,0 ${.25*i},${-1*r*.1}\n a${a},${a} 1 0,0 ${.25*i},0\n a${a},${a} 1 0,0 ${.25*i},0\n a${a},${a} 1 0,0 ${.25*i},${1*r*.1}\n\n a${a},${a} 1 0,0 ${.15*i},${1*r*.33}\n a${.8*a},${.8*a} 1 0,0 0,${1*r*.34}\n a${a},${a} 1 0,0 ${-1*i*.15},${1*r*.33}\n\n a${a},${a} 1 0,0 ${-1*i*.25},${.15*r}\n a${a},${a} 1 0,0 ${-1*i*.25},0\n a${a},${a} 1 0,0 ${-1*i*.25},0\n a${a},${a} 1 0,0 ${-1*i*.25},${-1*r*.15}\n\n a${a},${a} 1 0,0 ${-1*i*.1},${-1*r*.33}\n a${.8*a},${.8*a} 1 0,0 0,${-1*r*.34}\n a${a},${a} 1 0,0 ${.1*i},${-1*r*.33}\n\n H0 V0 Z`)}(t,l,n);break;case t.nodeType.HEXAGON:!function(t,e,n){const i=n.height,r=i/4,a=n.width-n.padding+2*r;!function(t,e,n,i,r){t.insert("polygon",":first-child").attr("points",i.map((function(t){return t.x+","+t.y})).join(" ")).attr("transform","translate("+(r.width-e)/2+", "+n+")")}(e,a,i,[{x:r,y:0},{x:a-r,y:0},{x:a,y:-i/2},{x:a-r,y:-i},{x:r,y:-i},{x:0,y:-i/2}],n)}(0,l,n)}t.setElementForId(n.id,s),n.height})(t,e,n,i,r),n.children&&n.children.forEach(((n,a)=>{s$(t,e,n,i<0?a:i,r)}))}function c$(t,e,n,i){e.add({group:"nodes",data:{id:t.id.toString(),labelText:t.descr,height:t.height,width:t.width,level:i,nodeId:t.id,padding:t.padding,type:t.type},position:{x:t.x,y:t.y}}),t.children&&t.children.forEach((r=>{c$(r,e,n,i+1),e.add({group:"edges",data:{id:`${t.id}_${r.id}`,source:t.id,target:r.id,depth:i,section:r.section}})}))}function l$(t,e){return new Promise((n=>{const i=ee("body").append("div").attr("id","cy").attr("style","display:none"),r=JF({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});i.remove(),c$(t,r,e,0),r.nodes().forEach((function(t){t.layoutDimensions=()=>{const e=t.data();return{w:e.width,h:e.height}}})),r.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),r.ready((t=>{l.info("Ready",t),n(r)}))}))}JF.use(o$);const u$={draw:async(t,e,n,i)=>{var r,a;l.debug("Rendering mindmap diagram\n"+t);const o=i.db,s=o.getMindmap();if(!s)return;const c=sg();c.htmlLabels=!1;const u=bg(e),h=u.append("g");h.attr("class","mindmap-edges");const f=u.append("g");f.attr("class","mindmap-nodes"),s$(o,f,s,-1,c);const d=await l$(s,c);(function(t,e){e.edges().map(((e,n)=>{const i=e.data();if(e[0]._private.bodyBounds){const r=e[0]._private.rscratch;l.trace("Edge: ",n,i),t.insert("path").attr("d",`M ${r.startX},${r.startY} L ${r.midX},${r.midY} L${r.endX},${r.endY} `).attr("class","edge section-edge-"+i.section+" edge-depth-"+i.depth)}}))})(h,d),function(t,e){e.nodes().map(((e,n)=>{const i=e.data();i.x=e.position().x,i.y=e.position().y,function(t,e){const n=t.getElementById(e.id),i=e.x||0,r=e.y||0;n.attr("transform","translate("+i+","+r+")")}(t,i);const r=t.getElementById(i.nodeId);l.info("Id:",n,"Position: (",e.position().x,", ",e.position().y,")",i),r.attr("transform",`translate(${e.position().x-i.width/2}, ${e.position().y-i.height/2})`),r.attr("attr",`apa-${n})`)}))}(o,d),Gd(void 0,u,(null==(r=c.mindmap)?void 0:r.padding)??bl.mindmap.padding,(null==(a=c.mindmap)?void 0:a.useMaxWidth)??bl.mindmap.useMaxWidth)}},h$=Object.freeze(Object.defineProperty({__proto__:null,diagram:{db:QF,renderer:u$,parser:KF,styles:t=>`\n .edge {\n stroke-width: 3;\n }\n ${(t=>{let e="";for(let e=0;e"u"&&(u.yylloc={});var d=u.yylloc;r.push(d);var g,p=u.options&&u.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,m,y,w,v,x,k,_,T={};;){if(m=e[e.length-1],this.defaultActions[m]?y=this.defaultActions[m]:((null===b||typeof b>"u")&&(g=void 0,"number"!=typeof(g=n.pop()||u.lex()||1)&&(g instanceof Array&&(g=(n=g).pop()),g=this.symbols_[g]||g),b=g),y=a[m]&&a[m][b]),typeof y>"u"||!y.length||!y[0]){var E;for(v in _=[],a[m])this.terminals_[v]&&v>2&&_.push("'"+this.terminals_[v]+"'");E=u.showPosition?"Parse error on line "+(s+1)+":\n"+u.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(E,{text:u.match,token:this.terminals_[b]||b,line:u.yylineno,loc:d,expected:_})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+b);switch(y[0]){case 1:e.push(b),i.push(u.yytext),r.push(u.yylloc),e.push(y[1]),b=null,c=u.yyleng,o=u.yytext,s=u.yylineno,d=u.yylloc;break;case 2:if(x=this.productions_[y[1]][1],T.$=i[i.length-x],T._$={first_line:r[r.length-(x||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(x||1)].first_column,last_column:r[r.length-1].last_column},p&&(T._$.range=[r[r.length-(x||1)].range[0],r[r.length-1].range[1]]),typeof(w=this.performAction.apply(T,[o,c,s,h.yy,y[1],i,r].concat(l)))<"u")return w;x&&(e=e.slice(0,-1*x*2),i=i.slice(0,-1*x),r=r.slice(0,-1*x)),e.push(this.productions_[y[1]][0]),i.push(T.$),r.push(T._$),k=a[e[e.length-2]][e[e.length-1]],e.push(k);break;case 3:return!0}}return!0}},a={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}},rules:[/^(?:sankey-beta\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};function o(){this.yy={}}return r.lexer=a,o.prototype=r,r.Parser=o,new o}();f$.parser=f$;const d$=f$;let g$=[],p$=[],b$={};class m${constructor(t,e,n=0){this.source=t,this.target=e,this.value=n}}class y${constructor(t){this.ID=t}}const w$={nodesMap:b$,getConfig:()=>sg().sankey,getNodes:()=>p$,getLinks:()=>g$,getGraph:()=>({nodes:p$.map((t=>({id:t.ID}))),links:g$.map((t=>({source:t.source.ID,target:t.target.ID,value:t.value})))}),addLink:(t,e,n)=>{g$.push(new m$(t,e,n))},findOrCreateNode:t=>(t=Bc.sanitizeText(t,sg()),b$[t]||(b$[t]=new y$(t),p$.push(b$[t])),b$[t]),getAccTitle:Jd,setAccTitle:Zd,getAccDescription:eg,setAccDescription:tg,getDiagramTitle:ig,setDiagramTitle:ng,clear:()=>{g$=[],p$=[],b$={},Qd()}};function v$(t,e){let n;if(void 0===e)for(const e of t)null!=e&&(n=e)&&(n=e);else{let i=-1;for(let r of t)null!=(r=e(r,++i,t))&&(n=r)&&(n=r)}return n}function x$(t,e){let n;if(void 0===e)for(const e of t)null!=e&&(n>e||void 0===n&&e>=e)&&(n=e);else{let i=-1;for(let r of t)null!=(r=e(r,++i,t))&&(n>r||void 0===n&&r>=r)&&(n=r)}return n}function k$(t,e){let n=0;if(void 0===e)for(let e of t)(e=+e)&&(n+=e);else{let i=-1;for(let r of t)(r=+e(r,++i,t))&&(n+=r)}return n}function _$(t){return t.target.depth}function T$(t,e){return t.sourceLinks.length?t.depth:e-1}function E$(t){return function(){return t}}function S$(t,e){return A$(t.source,e.source)||t.index-e.index}function C$(t,e){return A$(t.target,e.target)||t.index-e.index}function A$(t,e){return t.y0-e.y0}function M$(t){return t.value}function L$(t){return t.index}function I$(t){return t.nodes}function O$(t){return t.links}function N$(t,e){const n=t.get(e);if(!n)throw new Error("missing: "+e);return n}function D$({nodes:t}){for(const e of t){let t=e.y0,n=t;for(const n of e.sourceLinks)n.y0=t+n.width/2,t+=n.width;for(const t of e.targetLinks)t.y1=n+t.width/2,n+=t.width}}var P$=Math.PI,B$=2*P$,R$=1e-6,F$=B$-R$;function $$(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function j$(){return new $$}function z$(t){return function(){return t}}function q$(t){return t[0]}function H$(t){return t[1]}$$.prototype=j$.prototype={constructor:$$,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,n,i){this._+="Q"+ +t+","+ +e+","+(this._x1=+n)+","+(this._y1=+i)},bezierCurveTo:function(t,e,n,i,r,a){this._+="C"+ +t+","+ +e+","+ +n+","+ +i+","+(this._x1=+r)+","+(this._y1=+a)},arcTo:function(t,e,n,i,r){t=+t,e=+e,n=+n,i=+i,r=+r;var a=this._x1,o=this._y1,s=n-t,c=i-e,l=a-t,u=o-e,h=l*l+u*u;if(r<0)throw new Error("negative radius: "+r);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(h>R$)if(Math.abs(u*s-c*l)>R$&&r){var f=n-a,d=i-o,g=s*s+c*c,p=f*f+d*d,b=Math.sqrt(g),m=Math.sqrt(h),y=r*Math.tan((P$-Math.acos((g+h-p)/(2*b*m)))/2),w=y/m,v=y/b;Math.abs(w-1)>R$&&(this._+="L"+(t+w*l)+","+(e+w*u)),this._+="A"+r+","+r+",0,0,"+ +(u*f>l*d)+","+(this._x1=t+v*s)+","+(this._y1=e+v*c)}else this._+="L"+(this._x1=t)+","+(this._y1=e)},arc:function(t,e,n,i,r,a){t=+t,e=+e,a=!!a;var o=(n=+n)*Math.cos(i),s=n*Math.sin(i),c=t+o,l=e+s,u=1^a,h=a?i-r:r-i;if(n<0)throw new Error("negative radius: "+n);null===this._x1?this._+="M"+c+","+l:(Math.abs(this._x1-c)>R$||Math.abs(this._y1-l)>R$)&&(this._+="L"+c+","+l),n&&(h<0&&(h=h%B$+B$),h>F$?this._+="A"+n+","+n+",0,1,"+u+","+(t-o)+","+(e-s)+"A"+n+","+n+",0,1,"+u+","+(this._x1=c)+","+(this._y1=l):h>R$&&(this._+="A"+n+","+n+",0,"+ +(h>=P$)+","+u+","+(this._x1=t+n*Math.cos(r))+","+(this._y1=e+n*Math.sin(r))))},rect:function(t,e,n,i){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +i+"h"+-n+"Z"},toString:function(){return this._}};var U$=Array.prototype.slice;function G$(t){return t.source}function K$(t){return t.target}function Y$(t,e,n,i,r){t.moveTo(e,n),t.bezierCurveTo(e=(e+i)/2,n,e,r,i,r)}function V$(t){return[t.source.x1,t.y0]}function W$(t){return[t.target.x0,t.y1]}const X$=class t{static next(e){return new t(e+ ++t.count)}constructor(t){this.id=t,this.href=`#${t}`}toString(){return"url("+this.href+")"}};X$.count=0;let Q$=X$;const Z$={left:function(t){return t.depth},right:function(t,e){return e-1-t.height},center:function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?x$(t.sourceLinks,_$)-1:0},justify:T$},J$={draw:function(t,e,n,i){const{securityLevel:r,sankey:a}=sg(),o=lg.sankey;let s;"sandbox"===r&&(s=ee("#i"+e));const c=ee("sandbox"===r?s.nodes()[0].contentDocument.body:"body"),l="sandbox"===r?c.select(`[id="${e}"]`):ee(`[id="${e}"]`),u=(null==a?void 0:a.width)??o.width,h=(null==a?void 0:a.height)??o.width,f=(null==a?void 0:a.useMaxWidth)??o.useMaxWidth,d=(null==a?void 0:a.nodeAlignment)??o.nodeAlignment,g=(null==a?void 0:a.prefix)??o.prefix,p=(null==a?void 0:a.suffix)??o.suffix,b=(null==a?void 0:a.showValues)??o.showValues,m=i.db.getGraph(),y=Z$[d];(function(){let t,e,n,i=0,r=0,a=1,o=1,s=24,c=8,l=L$,u=T$,h=I$,f=O$,d=6;function g(){const g={nodes:h.apply(null,arguments),links:f.apply(null,arguments)};return function({nodes:t,links:e}){for(const[e,n]of t.entries())n.index=e,n.sourceLinks=[],n.targetLinks=[];const i=new Map(t.map(((e,n)=>[l(e,n,t),e])));for(const[t,n]of e.entries()){n.index=t;let{source:e,target:r}=n;"object"!=typeof e&&(e=n.source=N$(i,e)),"object"!=typeof r&&(r=n.target=N$(i,r)),e.sourceLinks.push(n),r.targetLinks.push(n)}if(null!=n)for(const{sourceLinks:e,targetLinks:i}of t)e.sort(n),i.sort(n)}(g),function({nodes:t}){for(const e of t)e.value=void 0===e.fixedValue?Math.max(k$(e.sourceLinks,M$),k$(e.targetLinks,M$)):e.fixedValue}(g),function({nodes:t}){const e=t.length;let n=new Set(t),i=new Set,r=0;for(;n.size;){for(const t of n){t.depth=r;for(const{target:e}of t.sourceLinks)i.add(e)}if(++r>e)throw new Error("circular link");n=i,i=new Set}}(g),function({nodes:t}){const e=t.length;let n=new Set(t),i=new Set,r=0;for(;n.size;){for(const t of n){t.height=r;for(const{source:e}of t.targetLinks)i.add(e)}if(++r>e)throw new Error("circular link");n=i,i=new Set}}(g),function(n){const l=function({nodes:t}){const n=v$(t,(t=>t.depth))+1,r=(a-i-s)/(n-1),o=new Array(n);for(const e of t){const t=Math.max(0,Math.min(n-1,Math.floor(u.call(null,e,n))));e.layer=t,e.x0=i+t*r,e.x1=e.x0+s,o[t]?o[t].push(e):o[t]=[e]}if(e)for(const t of o)t.sort(e);return o}(n);t=Math.min(c,(o-r)/(v$(l,(t=>t.length))-1)),function(e){const n=x$(e,(e=>(o-r-(e.length-1)*t)/k$(e,M$)));for(const i of e){let e=r;for(const r of i){r.y0=e,r.y1=e+r.value*n,e=r.y1+t;for(const t of r.sourceLinks)t.width=t.value*n}e=(o-e+t)/(i.length+1);for(let t=0;t0))continue;let r=(e/i-t.y0)*n;t.y0+=r,t.y1+=r,v(t)}void 0===e&&a.sort(A$),m(a,i)}}function b(t,n,i){for(let r=t.length-2;r>=0;--r){const a=t[r];for(const t of a){let e=0,i=0;for(const{target:n,value:r}of t.sourceLinks){let a=r*(n.layer-t.layer);e+=_(t,n)*a,i+=a}if(!(i>0))continue;let r=(e/i-t.y0)*n;t.y0+=r,t.y1+=r,v(t)}void 0===e&&a.sort(A$),m(a,i)}}function m(e,n){const i=e.length>>1,a=e[i];w(e,a.y0-t,i-1,n),y(e,a.y1+t,i+1,n),w(e,o,e.length-1,n),y(e,r,0,n)}function y(e,n,i,r){for(;i1e-6&&(a.y0+=o,a.y1+=o),n=a.y1+t}}function w(e,n,i,r){for(;i>=0;--i){const a=e[i],o=(a.y1-n)*r;o>1e-6&&(a.y0-=o,a.y1-=o),n=a.y0-t}}function v({sourceLinks:t,targetLinks:e}){if(void 0===n){for(const{source:{sourceLinks:t}}of e)t.sort(C$);for(const{target:{targetLinks:e}}of t)e.sort(S$)}}function x(t){if(void 0===n)for(const{sourceLinks:e,targetLinks:n}of t)e.sort(C$),n.sort(S$)}function k(e,n){let i=e.y0-(e.sourceLinks.length-1)*t/2;for(const{target:r,width:a}of e.sourceLinks){if(r===n)break;i+=a+t}for(const{source:t,width:r}of n.targetLinks){if(t===e)break;i-=r}return i}function _(e,n){let i=n.y0-(n.targetLinks.length-1)*t/2;for(const{source:r,width:a}of n.targetLinks){if(r===e)break;i+=a+t}for(const{target:t,width:r}of e.sourceLinks){if(t===n)break;i-=r}return i}return g.update=function(t){return D$(t),t},g.nodeId=function(t){return arguments.length?(l="function"==typeof t?t:E$(t),g):l},g.nodeAlign=function(t){return arguments.length?(u="function"==typeof t?t:E$(t),g):u},g.nodeSort=function(t){return arguments.length?(e=t,g):e},g.nodeWidth=function(t){return arguments.length?(s=+t,g):s},g.nodePadding=function(e){return arguments.length?(c=t=+e,g):c},g.nodes=function(t){return arguments.length?(h="function"==typeof t?t:E$(t),g):h},g.links=function(t){return arguments.length?(f="function"==typeof t?t:E$(t),g):f},g.linkSort=function(t){return arguments.length?(n=t,g):n},g.size=function(t){return arguments.length?(i=r=0,a=+t[0],o=+t[1],g):[a-i,o-r]},g.extent=function(t){return arguments.length?(i=+t[0][0],a=+t[1][0],r=+t[0][1],o=+t[1][1],g):[[i,r],[a,o]]},g.iterations=function(t){return arguments.length?(d=+t,g):d},g})().nodeId((t=>t.id)).nodeWidth(10).nodePadding(10+(b?15:0)).nodeAlign(y).extent([[0,0],[u,h]])(m);const w=Ui(ho);l.append("g").attr("class","nodes").selectAll(".node").data(m.nodes).join("g").attr("class","node").attr("id",(t=>(t.uid=Q$.next("node-")).id)).attr("transform",(function(t){return"translate("+t.x0+","+t.y0+")"})).attr("x",(t=>t.x0)).attr("y",(t=>t.y0)).append("rect").attr("height",(t=>t.y1-t.y0)).attr("width",(t=>t.x1-t.x0)).attr("fill",(t=>w(t.id))),l.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(m.nodes).join("text").attr("x",(t=>t.x0(t.y1+t.y0)/2)).attr("dy",(b?"0":"0.35")+"em").attr("text-anchor",(t=>t.x0b?`${t}\n${g}${Math.round(100*e)/100}${p}`:t));const v=l.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(m.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),x=(null==a?void 0:a.linkColor)||"gradient";if("gradient"===x){const t=v.append("linearGradient").attr("id",(t=>(t.uid=Q$.next("linearGradient-")).id)).attr("gradientUnits","userSpaceOnUse").attr("x1",(t=>t.source.x1)).attr("x2",(t=>t.target.x0));t.append("stop").attr("offset","0%").attr("stop-color",(t=>w(t.source.id))),t.append("stop").attr("offset","100%").attr("stop-color",(t=>w(t.target.id)))}let k;switch(x){case"gradient":k=t=>t.uid;break;case"source":k=t=>w(t.source.id);break;case"target":k=t=>w(t.target.id);break;default:k=x}v.append("path").attr("d",function(t){var e=G$,n=K$,i=q$,r=H$,a=null;function o(){var o,s=U$.call(arguments),c=e.apply(this,s),l=n.apply(this,s);if(a||(a=o=j$()),t(a,+i.apply(this,(s[0]=c,s)),+r.apply(this,s),+i.apply(this,(s[0]=l,s)),+r.apply(this,s)),o)return a=null,o+""||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(n=t,o):n},o.x=function(t){return arguments.length?(i="function"==typeof t?t:z$(+t),o):i},o.y=function(t){return arguments.length?(r="function"==typeof t?t:z$(+t),o):r},o.context=function(t){return arguments.length?(a=t??null,o):a},o}(Y$).source(V$).target(W$)).attr("stroke",k).attr("stroke-width",(t=>Math.max(1,t.width))),Gd(void 0,l,0,f)}},tj=d$.parse.bind(d$);d$.parse=t=>tj((t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,"\n").trim())(t));const ej=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:d$,db:w$,renderer:J$}},Symbol.toStringTag,{value:"Module"}));var nj=function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[1,7],n=[1,13],i=[1,14],r=[1,15],a=[1,19],o=[1,16],s=[1,17],c=[1,18],l=[8,30],u=[8,21,28,29,30,31,32,40,44,47],h=[1,23],f=[1,24],d=[8,15,16,21,28,29,30,31,32,40,44,47],g=[8,15,16,21,27,28,29,30,31,32,40,44,47],p=[1,49],b={trace:function(){},yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:function(t,e,n,i,r,a,o){var s=a.length-1;switch(r){case 4:i.getLogger().debug("Rule: separator (NL) ");break;case 5:i.getLogger().debug("Rule: separator (Space) ");break;case 6:i.getLogger().debug("Rule: separator (EOF) ");break;case 7:i.getLogger().debug("Rule: hierarchy: ",a[s-1]),i.setHierarchy(a[s-1]);break;case 8:i.getLogger().debug("Stop NL ");break;case 9:i.getLogger().debug("Stop EOF ");break;case 10:i.getLogger().debug("Stop NL2 ");break;case 11:i.getLogger().debug("Stop EOF2 ");break;case 12:i.getLogger().debug("Rule: statement: ",a[s]),"number"==typeof a[s].length?this.$=a[s]:this.$=[a[s]];break;case 13:i.getLogger().debug("Rule: statement #2: ",a[s-1]),this.$=[a[s-1]].concat(a[s]);break;case 14:i.getLogger().debug("Rule: link: ",a[s],t),this.$={edgeTypeStr:a[s],label:""};break;case 15:i.getLogger().debug("Rule: LABEL link: ",a[s-3],a[s-1],a[s]),this.$={edgeTypeStr:a[s],label:a[s-1]};break;case 18:const e=parseInt(a[s]),n=i.generateId();this.$={id:n,type:"space",label:"",width:e,children:[]};break;case 23:i.getLogger().debug("Rule: (nodeStatement link node) ",a[s-2],a[s-1],a[s]," typestr: ",a[s-1].edgeTypeStr);const r=i.edgeStrToEdgeData(a[s-1].edgeTypeStr);this.$=[{id:a[s-2].id,label:a[s-2].label,type:a[s-2].type,directions:a[s-2].directions},{id:a[s-2].id+"-"+a[s].id,start:a[s-2].id,end:a[s].id,label:a[s-1].label,type:"edge",directions:a[s].directions,arrowTypeEnd:r,arrowTypeStart:"arrow_open"},{id:a[s].id,label:a[s].label,type:i.typeStr2Type(a[s].typeStr),directions:a[s].directions}];break;case 24:i.getLogger().debug("Rule: nodeStatement (abc88 node size) ",a[s-1],a[s]),this.$={id:a[s-1].id,label:a[s-1].label,type:i.typeStr2Type(a[s-1].typeStr),directions:a[s-1].directions,widthInColumns:parseInt(a[s],10)};break;case 25:i.getLogger().debug("Rule: nodeStatement (node) ",a[s]),this.$={id:a[s].id,label:a[s].label,type:i.typeStr2Type(a[s].typeStr),directions:a[s].directions,widthInColumns:1};break;case 26:i.getLogger().debug("APA123",this?this:"na"),i.getLogger().debug("COLUMNS: ",a[s]),this.$={type:"column-setting",columns:"auto"===a[s]?-1:parseInt(a[s])};break;case 27:i.getLogger().debug("Rule: id-block statement : ",a[s-2],a[s-1]),i.generateId(),this.$={...a[s-2],type:"composite",children:a[s-1]};break;case 28:i.getLogger().debug("Rule: blockStatement : ",a[s-2],a[s-1],a[s]);const o=i.generateId();this.$={id:o,type:"composite",label:"",children:a[s-1]};break;case 29:i.getLogger().debug("Rule: node (NODE_ID separator): ",a[s]),this.$={id:a[s]};break;case 30:i.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",a[s-1],a[s]),this.$={id:a[s-1],label:a[s].label,typeStr:a[s].typeStr,directions:a[s].directions};break;case 31:i.getLogger().debug("Rule: dirList: ",a[s]),this.$=[a[s]];break;case 32:i.getLogger().debug("Rule: dirList: ",a[s-1],a[s]),this.$=[a[s-1]].concat(a[s]);break;case 33:i.getLogger().debug("Rule: nodeShapeNLabel: ",a[s-2],a[s-1],a[s]),this.$={typeStr:a[s-2]+a[s],label:a[s-1]};break;case 34:i.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",a[s-3],a[s-2]," #3:",a[s-1],a[s]),this.$={typeStr:a[s-3]+a[s],label:a[s-2],directions:a[s-1]};break;case 35:case 36:this.$={type:"classDef",id:a[s-1].trim(),css:a[s].trim()};break;case 37:this.$={type:"applyClass",id:a[s-1].trim(),styleClass:a[s].trim()};break;case 38:this.$={type:"applyStyles",id:a[s-1].trim(),stylesStr:a[s].trim()}}},table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:r,32:a,40:o,44:s,47:c},{8:[1,20]},t(l,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:e,28:n,29:i,31:r,32:a,40:o,44:s,47:c}),t(u,[2,16],{14:22,15:h,16:f}),t(u,[2,17]),t(u,[2,18]),t(u,[2,19]),t(u,[2,20]),t(u,[2,21]),t(u,[2,22]),t(d,[2,25],{27:[1,25]}),t(u,[2,26]),{19:26,26:12,32:a},{11:27,13:4,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:r,32:a,40:o,44:s,47:c},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},t(g,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},t(l,[2,13]),{26:35,32:a},{32:[2,14]},{17:[1,36]},t(d,[2,24]),{11:37,13:4,14:22,15:h,16:f,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:r,32:a,40:o,44:s,47:c},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},t(g,[2,30]),{18:[1,43]},{18:[1,44]},t(d,[2,23]),{18:[1,45]},{30:[1,46]},t(u,[2,28]),t(u,[2,35]),t(u,[2,36]),t(u,[2,37]),t(u,[2,38]),{37:[1,47]},{34:48,35:p},{15:[1,50]},t(u,[2,27]),t(g,[2,33]),{39:[1,51]},{34:52,35:p,39:[2,31]},{32:[2,15]},t(g,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=[0],n=[],i=[null],r=[],a=this.table,o="",s=0,c=0,l=r.slice.call(arguments,1),u=Object.create(this.lexer),h={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(h.yy[f]=this.yy[f]);u.setInput(t,h.yy),h.yy.lexer=u,h.yy.parser=this,typeof u.yylloc>"u"&&(u.yylloc={});var d=u.yylloc;r.push(d);var g,p=u.options&&u.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var b,m,y,w,v,x,k,_,T={};;){if(m=e[e.length-1],this.defaultActions[m]?y=this.defaultActions[m]:((null===b||typeof b>"u")&&(g=void 0,"number"!=typeof(g=n.pop()||u.lex()||1)&&(g instanceof Array&&(g=(n=g).pop()),g=this.symbols_[g]||g),b=g),y=a[m]&&a[m][b]),typeof y>"u"||!y.length||!y[0]){var E;for(v in _=[],a[m])this.terminals_[v]&&v>2&&_.push("'"+this.terminals_[v]+"'");E=u.showPosition?"Parse error on line "+(s+1)+":\n"+u.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(s+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(E,{text:u.match,token:this.terminals_[b]||b,line:u.yylineno,loc:d,expected:_})}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+m+", token: "+b);switch(y[0]){case 1:e.push(b),i.push(u.yytext),r.push(u.yylloc),e.push(y[1]),b=null,c=u.yyleng,o=u.yytext,s=u.yylineno,d=u.yylloc;break;case 2:if(x=this.productions_[y[1]][1],T.$=i[i.length-x],T._$={first_line:r[r.length-(x||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(x||1)].first_column,last_column:r[r.length-1].last_column},p&&(T._$.range=[r[r.length-(x||1)].range[0],r[r.length-1].range[1]]),typeof(w=this.performAction.apply(T,[o,c,s,h.yy,y[1],i,r].concat(l)))<"u")return w;x&&(e=e.slice(0,-1*x*2),i=i.slice(0,-1*x),r=r.slice(0,-1*x)),e.push(this.productions_[y[1]][0]),i.push(T.$),r.push(T._$),k=a[e[e.length-2]][e[e.length-1]],e.push(k);break;case 3:return!0}}return!0}},m={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;ae[0].length)){if(e=n,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(t,e,n,i){switch(n){case 0:return 10;case 1:return t.getLogger().debug("Found space-block"),31;case 2:return t.getLogger().debug("Found nl-block"),31;case 3:return t.getLogger().debug("Found space-block"),29;case 4:t.getLogger().debug(".",e.yytext);break;case 5:t.getLogger().debug("_",e.yytext);break;case 6:return 5;case 7:return e.yytext=-1,28;case 8:return e.yytext=e.yytext.replace(/columns\s+/,""),t.getLogger().debug("COLUMNS (LEX)",e.yytext),28;case 9:case 77:case 78:case 100:this.pushState("md_string");break;case 10:return"MD_STR";case 11:case 35:case 80:this.popState();break;case 12:this.pushState("string");break;case 13:t.getLogger().debug("LEX: POPPING STR:",e.yytext),this.popState();break;case 14:return t.getLogger().debug("LEX: STR end:",e.yytext),"STR";case 15:return e.yytext=e.yytext.replace(/space\:/,""),t.getLogger().debug("SPACE NUM (LEX)",e.yytext),21;case 16:return e.yytext="1",t.getLogger().debug("COLUMNS (LEX)",e.yytext),21;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 22:return this.popState(),this.pushState("CLASSDEFID"),41;case 23:return this.popState(),42;case 24:return this.pushState("CLASS"),44;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;case 26:return this.popState(),46;case 27:return this.pushState("STYLE_STMNT"),47;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;case 29:return this.popState(),49;case 30:return this.pushState("acc_title"),"acc_title";case 31:return this.popState(),"acc_title_value";case 32:return this.pushState("acc_descr"),"acc_descr";case 33:return this.popState(),"acc_descr_value";case 34:this.pushState("acc_descr_multiline");break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:case 39:case 41:case 42:case 45:return this.popState(),t.getLogger().debug("Lex: (("),"NODE_DEND";case 40:return this.popState(),t.getLogger().debug("Lex: ))"),"NODE_DEND";case 43:return this.popState(),t.getLogger().debug("Lex: (-"),"NODE_DEND";case 44:return this.popState(),t.getLogger().debug("Lex: -)"),"NODE_DEND";case 46:return this.popState(),t.getLogger().debug("Lex: ]]"),"NODE_DEND";case 47:return this.popState(),t.getLogger().debug("Lex: ("),"NODE_DEND";case 48:return this.popState(),t.getLogger().debug("Lex: ])"),"NODE_DEND";case 49:case 50:return this.popState(),t.getLogger().debug("Lex: /]"),"NODE_DEND";case 51:return this.popState(),t.getLogger().debug("Lex: )]"),"NODE_DEND";case 52:return this.popState(),t.getLogger().debug("Lex: )"),"NODE_DEND";case 53:return this.popState(),t.getLogger().debug("Lex: ]>"),"NODE_DEND";case 54:return this.popState(),t.getLogger().debug("Lex: ]"),"NODE_DEND";case 55:return t.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;case 56:return t.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;case 57:return t.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;case 58:case 60:case 61:case 62:case 65:return t.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 59:return t.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;case 63:return t.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;case 64:return t.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;case 66:case 67:case 68:case 69:case 70:case 71:case 72:return this.pushState("NODE"),36;case 73:return t.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;case 74:return this.pushState("BLOCK_ARROW"),t.getLogger().debug("LEX ARR START"),38;case 75:return t.getLogger().debug("Lex: NODE_ID",e.yytext),32;case 76:return t.getLogger().debug("Lex: EOF",e.yytext),8;case 79:return"NODE_DESCR";case 81:t.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:t.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 83:return t.getLogger().debug("LEX: NODE_DESCR:",e.yytext),"NODE_DESCR";case 84:t.getLogger().debug("LEX POPPING"),this.popState();break;case 85:t.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 86:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (right): dir:",e.yytext),"DIR";case 87:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (left):",e.yytext),"DIR";case 88:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (x):",e.yytext),"DIR";case 89:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (y):",e.yytext),"DIR";case 90:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (up):",e.yytext),"DIR";case 91:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (down):",e.yytext),"DIR";case 92:return e.yytext="]>",t.getLogger().debug("Lex (ARROW_DIR end):",e.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 93:return t.getLogger().debug("Lex: LINK","#"+e.yytext+"#"),15;case 94:case 95:case 96:return t.getLogger().debug("Lex: LINK",e.yytext),15;case 97:case 98:case 99:return t.getLogger().debug("Lex: START_LINK",e.yytext),this.pushState("LLABEL"),16;case 101:return t.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 102:return this.popState(),t.getLogger().debug("Lex: LINK","#"+e.yytext+"#"),15;case 103:case 104:return this.popState(),t.getLogger().debug("Lex: LINK",e.yytext),15;case 105:return t.getLogger().debug("Lex: COLON",e.yytext),e.yytext=e.yytext.slice(1),27}},rules:[/^(?:block-beta\b)/,/^(?:block\s+)/,/^(?:block\n+)/,/^(?:block:)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[29],inclusive:!1},STYLE_STMNT:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[23],inclusive:!1},CLASSDEF:{rules:[21,22],inclusive:!1},CLASS_STYLE:{rules:[26],inclusive:!1},CLASS:{rules:[25],inclusive:!1},LLABEL:{rules:[100,101,102,103,104],inclusive:!1},ARROW_DIR:{rules:[86,87,88,89,90,91,92],inclusive:!1},BLOCK_ARROW:{rules:[77,82,85],inclusive:!1},NODE:{rules:[38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,78,81],inclusive:!1},md_string:{rules:[10,11,79,80],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[13,14,83,84],inclusive:!1},acc_descr_multiline:{rules:[35,36],inclusive:!1},acc_descr:{rules:[33],inclusive:!1},acc_title:{rules:[31],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,12,15,16,17,18,19,20,24,27,30,32,34,37,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,93,94,95,96,97,98,99,105],inclusive:!0}}};function y(){this.yy={}}return b.lexer=m,y.prototype=b,b.Parser=y,new y}();nj.parser=nj;const ij=nj;let rj={},aj=[],oj={};const sj="color",cj="fill",lj=sg();let uj={};const hj=t=>Bc.sanitizeText(t,lj),fj=function(t,e=""){void 0===uj[t]&&(uj[t]={id:t,styles:[],textStyles:[]});const n=uj[t];null!=e&&e.split(",").forEach((t=>{const e=t.replace(/([^;]*);/,"$1").trim();if(t.match(sj)){const t=e.replace(cj,"bgFill").replace(sj,cj);n.textStyles.push(t)}n.styles.push(e)}))},dj=function(t,e=""){const n=rj[t];null!=e&&(n.styles=e.split(","))},gj=function(t,e){t.split(",").forEach((function(t){let n=rj[t];if(void 0===n){const e=t.trim();rj[e]={id:e,type:"na",children:[]},n=rj[e]}n.classes||(n.classes=[]),n.classes.push(e)}))},pj=(t,e)=>{const n=t.flat(),i=[];for(const t of n)if(t.label&&(t.label=hj(t.label)),"classDef"!==t.type)if("applyClass"!==t.type)if("applyStyles"!==t.type)if("column-setting"===t.type)e.columns=t.columns||-1;else if("edge"===t.type)oj[t.id]?oj[t.id]++:oj[t.id]=1,t.id=oj[t.id]+"-"+t.id,aj.push(t);else{t.label||("composite"===t.type?t.label="":t.label=t.id);const e=!rj[t.id];if(e?rj[t.id]=t:("na"!==t.type&&(rj[t.id].type=t.type),t.label!==t.id&&(rj[t.id].label=t.label)),t.children&&pj(t.children,t),"space"===t.type){const e=t.width||1;for(let n=0;nsd().block,typeStr2Type:function(t){switch(l.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return l.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}},edgeTypeStr2Type:function(t){return"=="===(l.debug("typeStr2Type",t),t)?"thick":"normal"},edgeStrToEdgeData:function(t){switch(t.trim()){case"--x":return"arrow_cross";case"--o":return"arrow_circle";default:return"arrow_point"}},getLogger:()=>console,getBlocksFlat:()=>[...Object.values(rj)],getBlocks:()=>bj||[],getEdges:()=>aj,setHierarchy:t=>{mj.children=t,pj(t,mj),bj=mj.children},getBlock:t=>rj[t],setBlock:t=>{rj[t.id]=t},getColumns:t=>{const e=rj[t];return e?e.columns?e.columns:e.children?e.children.length:-1:-1},getClasses:function(){return uj},clear:()=>{l.debug("Clear called"),Qd(),mj={id:"root",type:"composite",children:[],columns:-1},rj={root:mj},bj=[],uj={},aj=[],oj={}},generateId:()=>(yj++,"id-"+Math.random().toString(36).substr(2,12)+"-"+yj)},vj=(t,e)=>{const n=Jc,i=n(t,"r"),r=n(t,"g"),a=n(t,"b");return Zc(i,r,a,e)};function xj(t,e,n=!1){var i,r,a;const o=t;let s="default";((null==(i=null==o?void 0:o.classes)?void 0:i.length)||0)>0&&(s=((null==o?void 0:o.classes)||[]).join(" ")),s+=" flowchart-label";let c,l=0,u="";switch(o.type){case"round":l=5,u="rect";break;case"composite":l=0,u="composite",c=0;break;case"square":case"group":default:u="rect";break;case"diamond":u="question";break;case"hexagon":u="hexagon";break;case"block_arrow":u="block_arrow";break;case"odd":case"rect_left_inv_arrow":u="rect_left_inv_arrow";break;case"lean_right":u="lean_right";break;case"lean_left":u="lean_left";break;case"trapezoid":u="trapezoid";break;case"inv_trapezoid":u="inv_trapezoid";break;case"circle":u="circle";break;case"ellipse":u="ellipse";break;case"stadium":u="stadium";break;case"subroutine":u="subroutine";break;case"cylinder":u="cylinder";break;case"doublecircle":u="doublecircle"}const h=Zh((null==o?void 0:o.styles)||[]),f=o.label,d=o.size||{width:0,height:0,x:0,y:0};return{labelStyle:h.labelStyle,shape:u,labelText:f,rx:l,ry:l,class:s,style:h.style,id:o.id,directions:o.directions,width:d.width,height:d.height,x:d.x,y:d.y,positioned:n,intersect:void 0,type:o.type,padding:c??((null==(a=null==(r=sd())?void 0:r.block)?void 0:a.padding)||0)}}async function kj(t,e,n){const i=xj(e,0,!1);if("group"===i.type)return;const r=await aI(t,i),a=r.node().getBBox(),o=n.getBlock(i.id);o.size={width:a.width,height:a.height,x:0,y:0,node:r},n.setBlock(o),r.remove()}async function _j(t,e,n){const i=xj(e,0,!0);"space"!==n.getBlock(i.id).type&&(await aI(t,i),e.intersect=null==i?void 0:i.intersect,oI(i))}async function Tj(t,e,n,i){for(const r of e)await i(t,r,n),r.children&&await Tj(t,r.children,n,i)}const Ej=(null==(e=null==(t=sg())?void 0:t.block)?void 0:e.padding)||8;function Sj(t,e){if(0===t||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);return t<0?{px:e,py:0}:1===t?{px:0,py:e}:{px:e%t,py:Math.floor(e/t)}}const Cj=t=>{let e=0,n=0;for(const i of t.children){const{width:r,height:a,x:o,y:s}=i.size||{width:0,height:0,x:0,y:0};l.debug("getMaxChildSize abc95 child:",i.id,"width:",r,"height:",a,"x:",o,"y:",s,i.type),"space"!==i.type&&(r>e&&(e=r/(t.widthInColumns||1)),a>n&&(n=a))}return{width:e,height:n}};function Aj(t,e,n=0,i=0){var r,a,o,s,c,u,h,f,d,g,p;l.debug("setBlockSizes abc95 (start)",t.id,null==(r=null==t?void 0:t.size)?void 0:r.x,"block width =",null==t?void 0:t.size,"sieblingWidth",n),null!=(a=null==t?void 0:t.size)&&a.width||(t.size={width:n,height:i,x:0,y:0});let b=0,m=0;if((null==(o=t.children)?void 0:o.length)>0){for(const n of t.children)Aj(n,e);const r=Cj(t);b=r.width,m=r.height,l.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",b,m);for(const e of t.children)e.size&&(l.debug(`abc95 Setting size of children of ${t.id} id=${e.id} ${b} ${m} ${e.size}`),e.size.width=b*(e.widthInColumns||1)+Ej*((e.widthInColumns||1)-1),e.size.height=m,e.size.x=0,e.size.y=0,l.debug(`abc95 updating size of ${t.id} children child:${e.id} maxWidth:${b} maxHeight:${m}`));for(const n of t.children)Aj(n,e,b,m);const a=t.columns||-1;let o=0;for(const e of t.children)o+=e.widthInColumns||1;let f=t.children.length;a>0&&a0?Math.min(t.children.length,a):t.children.length;if(e>0){const n=(g-e*Ej-Ej)/e;l.debug("abc95 (growing to fit) width",t.id,g,null==(h=t.size)?void 0:h.width,n);for(const e of t.children)e.size&&(e.size.width=n)}}t.size={width:g,height:p,x:0,y:0}}l.debug("setBlockSizes abc94 (done)",t.id,null==(f=null==t?void 0:t.size)?void 0:f.x,null==(d=null==t?void 0:t.size)?void 0:d.width,null==(g=null==t?void 0:t.size)?void 0:g.y,null==(p=null==t?void 0:t.size)?void 0:p.height)}function Mj(t,e){var n,i,r,a,o,s,c,u,h,f,d,g,p,b,m,y,w;l.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${null==(n=null==t?void 0:t.size)?void 0:n.x} y: ${null==(i=null==t?void 0:t.size)?void 0:i.y} width: ${null==(r=null==t?void 0:t.size)?void 0:r.width}`);const v=t.columns||-1;if(l.debug("layoutBlocks columns abc95",t.id,"=>",v,t),t.children&&t.children.length>0){const e=(null==(o=null==(a=null==t?void 0:t.children[0])?void 0:a.size)?void 0:o.width)||0,n=t.children.length*e+(t.children.length-1)*Ej;l.debug("widthOfChildren 88",n,"posX");let i=0;l.debug("abc91 block?.size?.x",t.id,null==(s=null==t?void 0:t.size)?void 0:s.x);let r=null!=(c=null==t?void 0:t.size)&&c.x?(null==(u=null==t?void 0:t.size)?void 0:u.x)+(-(null==(h=null==t?void 0:t.size)?void 0:h.width)/2||0):-Ej,m=0;for(const e of t.children){const n=t;if(!e.size)continue;const{width:a,height:o}=e.size,{px:s,py:c}=Sj(v,i);if(c!=m&&(m=c,r=null!=(f=null==t?void 0:t.size)&&f.x?(null==(d=null==t?void 0:t.size)?void 0:d.x)+(-(null==(g=null==t?void 0:t.size)?void 0:g.width)/2||0):-Ej,l.debug("New row in layout for block",t.id," and child ",e.id,m)),l.debug(`abc89 layout blocks (child) id: ${e.id} Pos: ${i} (px, py) ${s},${c} (${null==(p=null==n?void 0:n.size)?void 0:p.x},${null==(b=null==n?void 0:n.size)?void 0:b.y}) parent: ${n.id} width: ${a}${Ej}`),n.size){const t=a/2;e.size.x=r+Ej+t,l.debug(`abc91 layout blocks (calc) px, pyid:${e.id} startingPos=X${r} new startingPosX${e.size.x} ${t} padding=${Ej} width=${a} halfWidth=${t} => x:${e.size.x} y:${e.size.y} ${e.widthInColumns} (width * (child?.w || 1)) / 2 ${a*((null==e?void 0:e.widthInColumns)||1)/2}`),r=e.size.x+t,e.size.y=n.size.y-n.size.height/2+c*(o+Ej)+o/2+Ej,l.debug(`abc88 layout blocks (calc) px, pyid:${e.id}startingPosX${r}${Ej}${t}=>x:${e.size.x}y:${e.size.y}${e.widthInColumns}(width * (child?.w || 1)) / 2${a*((null==e?void 0:e.widthInColumns)||1)/2}`)}e.children&&Mj(e),i+=(null==e?void 0:e.widthInColumns)||1,l.debug("abc88 columnsPos",e,i)}}l.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${null==(m=null==t?void 0:t.size)?void 0:m.x} y: ${null==(y=null==t?void 0:t.size)?void 0:y.y} width: ${null==(w=null==t?void 0:t.size)?void 0:w.width}`)}function Lj(t,{minX:e,minY:n,maxX:i,maxY:r}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&"root"!==t.id){const{x:a,y:o,width:s,height:c}=t.size;a-s/2i&&(i=a+s/2),o+c/2>r&&(r=o+c/2)}if(t.children)for(const a of t.children)({minX:e,minY:n,maxX:i,maxY:r}=Lj(a,{minX:e,minY:n,maxX:i,maxY:r}));return{minX:e,minY:n,maxX:i,maxY:r}}function Ij(t){const e=t.getBlock("root");if(!e)return;Aj(e,t,0,0),Mj(e),l.debug("getBlocks",JSON.stringify(e,null,2));const{minX:n,minY:i,maxX:r,maxY:a}=Lj(e);return{x:n,y:i,width:r-n,height:a-i}}const Oj=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:ij,db:wj,renderer:{draw:async function(t,e,n,i){const{securityLevel:r,block:a}=sd(),o=i.db;let s;"sandbox"===r&&(s=ee("#i"+e));const c=ee("sandbox"===r?s.nodes()[0].contentDocument.body:"body"),u="sandbox"===r?c.select(`[id="${e}"]`):ee(`[id="${e}"]`);NA(u,["point","circle","cross"],i.type,e);const h=o.getBlocks(),f=o.getBlocksFlat(),d=o.getEdges(),g=u.insert("g").attr("class","block");await async function(t,e,n){await Tj(t,e,n,kj)}(g,h,o);const p=Ij(o);if(await async function(t,e,n){await Tj(t,e,n,_j)}(g,h,o),await async function(t,e,n,i,r){const a=new dC({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const t of n)t.size&&a.setNode(t.id,{width:t.size.width,height:t.size.height,intersect:t.intersect});for(const n of e)if(n.start&&n.end){const e=i.getBlock(n.start),o=i.getBlock(n.end);if(null!=e&&e.size&&null!=o&&o.size){const i=e.size,s=o.size,c=[{x:i.x,y:i.y},{x:i.x+(s.x-i.x)/2,y:i.y+(s.y-i.y)/2},{x:s.x,y:s.y}];await _I(t,{v:n.start,w:n.end,name:n.id},{...n,arrowTypeEnd:n.arrowTypeEnd,arrowTypeStart:n.arrowTypeStart,points:c,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,r),n.label&&(await wI(t,{...n,label:n.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:n.arrowTypeEnd,arrowTypeStart:n.arrowTypeStart,points:c,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),await xI({...n,x:c[1].x,y:c[1].y},{originalPath:c}))}}}(g,d,f,o,e),p){const t=p,e=Math.max(1,Math.round(t.width/t.height*.125)),n=t.height+e+10,i=t.width+10,{useMaxWidth:r}=a;Ud(u,n,i,!!r),l.debug("Here Bounds",p,t),u.attr("viewBox",`${t.x-5} ${t.y-5} ${t.width+10} ${t.height+10}`)}Ui(ho)},getClasses:function(t,e){return e.db.getClasses()}},styles:t=>`.label {\n font-family: ${t.fontFamily};\n color: ${t.nodeTextColor||t.textColor};\n }\n .cluster-label text {\n fill: ${t.titleColor};\n }\n .cluster-label span,p {\n color: ${t.titleColor};\n }\n\n\n\n .label text,span,p {\n fill: ${t.nodeTextColor||t.textColor};\n color: ${t.nodeTextColor||t.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n .flowchart-label text {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\n // }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${t.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${t.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${t.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${t.edgeLabelBackground};\n rect {\n opacity: 0.5;\n background-color: ${t.edgeLabelBackground};\n fill: ${t.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${vj(t.edgeLabelBackground,.5)};\n // background-color:\n }\n\n .node .cluster {\n // fill: ${vj(t.mainBkg,.5)};\n fill: ${vj(t.clusterBkg,.5)};\n stroke: ${vj(t.clusterBorder,.2)};\n box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${t.titleColor};\n }\n\n .cluster span,p {\n color: ${t.titleColor};\n }\n /* .cluster div {\n color: ${t.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${t.fontFamily};\n font-size: 12px;\n background: ${t.tertiaryColor};\n border: 1px solid ${t.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n }\n`}},Symbol.toStringTag,{value:"Module"}));return am})); \ No newline at end of file +"use strict";var __esbuild_esm_mermaid=(()=>{var t,e,r,n,i,a,o,s,l,h,u,d,p,f,g=Object.create,m=Object.defineProperty,y=Object.getOwnPropertyDescriptor,v=Object.getOwnPropertyNames,x=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty,w=(t,e)=>m(t,"name",{value:e,configurable:!0}),k=(t,e)=>()=>(t&&(e=t(t=0)),e),T=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),E=(t,e)=>{for(var r in e)m(t,r,{get:e[r],enumerable:!0})},_=(t,e,r,n)=>{if(e&&"object"==typeof e||"function"==typeof e)for(let i of v(e))!b.call(t,i)&&i!==r&&m(t,i,{get:()=>e[i],enumerable:!(n=y(e,i))||n.enumerable});return t},C=(t,e,r)=>(_(t,e,"default"),r&&_(r,e,"default")),S=(t,e,r)=>(r=null!=t?g(x(t)):{},_(!e&&t&&t.__esModule?r:m(r,"default",{value:t,enumerable:!0}),t)),A=T(((t,e)=>{var r,n;r=t,n=function(){var t=6e4,e=36e5,r="millisecond",n="second",i="minute",a="hour",o="day",s="week",l="month",c="quarter",h="year",u="date",d="Invalid Date",p=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,f=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:w((function(t){var e=["th","st","nd","rd"],r=t%100;return"["+t+(e[(r-20)%10]||e[r]||e[0])+"]"}),"ordinal")},m=w((function(t,e,r){var n=String(t);return!n||n.length>=e?t:""+Array(e+1-n.length).join(r)+t}),"m"),y={s:m,z:w((function(t){var e=-t.utcOffset(),r=Math.abs(e),n=Math.floor(r/60),i=r%60;return(e<=0?"+":"-")+m(n,2,"0")+":"+m(i,2,"0")}),"z"),m:w((function t(e,r){if(e.date()1)return t(o[0])}else{var s=e.name;x[s]=e,i=s}return!n&&i&&(v=i),i||!n&&v}),"t"),E=w((function(t,e){if(k(t))return t.clone();var r="object"==typeof e?e:{};return r.date=t,r.args=arguments,new C(r)}),"O"),_=y;_.l=T,_.i=k,_.w=function(t,e){return E(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var C=function(){function g(t){this.$L=T(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[b]=!0}w(g,"M");var m=g.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,r=t.utc;if(null===e)return new Date(NaN);if(_.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var n=e.match(p);if(n){var i=n[2]-1||0,a=(n[7]||"0").substring(0,3);return r?new Date(Date.UTC(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,a)):new Date(n[1],i,n[3]||1,n[4]||0,n[5]||0,n[6]||0,a)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return _},m.isValid=function(){return this.$d.toString()!==d},m.isSame=function(t,e){var r=E(t);return this.startOf(e)<=r&&r<=this.endOf(e)},m.isAfter=function(t,e){return E(t){t=S(A(),1),e={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},r={trace:w(((...t)=>{}),"trace"),debug:w(((...t)=>{}),"debug"),info:w(((...t)=>{}),"info"),warn:w(((...t)=>{}),"warn"),error:w(((...t)=>{}),"error"),fatal:w(((...t)=>{}),"fatal")},n=w((function(t="fatal"){let n=e.fatal;"string"==typeof t?t.toLowerCase()in e&&(n=e[t]):"number"==typeof t&&(n=t),r.trace=()=>{},r.debug=()=>{},r.info=()=>{},r.warn=()=>{},r.error=()=>{},r.fatal=()=>{},n<=e.fatal&&(r.fatal=console.error?console.error.bind(console,i("FATAL"),"color: orange"):console.log.bind(console,"",i("FATAL"))),n<=e.error&&(r.error=console.error?console.error.bind(console,i("ERROR"),"color: orange"):console.log.bind(console,"",i("ERROR"))),n<=e.warn&&(r.warn=console.warn?console.warn.bind(console,i("WARN"),"color: orange"):console.log.bind(console,"",i("WARN"))),n<=e.info&&(r.info=console.info?console.info.bind(console,i("INFO"),"color: lightblue"):console.log.bind(console,"",i("INFO"))),n<=e.debug&&(r.debug=console.debug?console.debug.bind(console,i("DEBUG"),"color: lightgreen"):console.log.bind(console,"",i("DEBUG"))),n<=e.trace&&(r.trace=console.debug?console.debug.bind(console,i("TRACE"),"color: lightgreen"):console.log.bind(console,"",i("TRACE")))}),"setLogLevel"),i=w((e=>`%c${(0,t.default)().format("ss.SSS")} : ${e} : `),"format")})),N=k((()=>{a=Object.freeze({left:0,top:0,width:16,height:16}),o=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),s=Object.freeze({...a,...o}),l=Object.freeze({...s,body:"",hidden:!1})})),I=k((()=>{N(),h=Object.freeze({width:null,height:null}),u=Object.freeze({...h,...o})})),M=k((()=>{d=/^[a-z0-9]+(-[a-z0-9]+)*$/,p=w(((t,e,r,n="")=>{let i=t.split(":");if("@"===t.slice(0,1)){if(i.length<2||i.length>3)return null;n=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){let t=i.pop(),r=i.pop(),a={provider:i.length>0?i[0]:n,prefix:r,name:t};return e&&!f(a)?null:a}let a=i[0],o=a.split("-");if(o.length>1){let t={provider:n,prefix:o.shift(),name:o.join("-")};return e&&!f(t)?null:t}if(r&&""===n){let t={provider:n,prefix:"",name:a};return e&&!f(t,r)?null:t}return null}),"stringToIcon"),f=w(((t,e)=>!!t&&!(""!==t.provider&&!t.provider.match(d)||!(e&&""===t.prefix||t.prefix.match(d))||!t.name.match(d))),"validateIconName")}));function R(t,e){let r={};!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0);let n=((t.rotate||0)+(e.rotate||0))%4;return n&&(r.rotate=n),r}var D=k((()=>{w(R,"mergeIconTransformations")}));function O(t,e){let r=R(t,e);for(let n in l)n in o?n in t&&!(n in r)&&(r[n]=o[n]):n in e?r[n]=e[n]:n in t&&(r[n]=t[n]);return r}var P=k((()=>{N(),D(),w(O,"mergeIconData")}));function B(t,e){let r=t.icons,n=t.aliases||Object.create(null),i=Object.create(null);function a(t){if(r[t])return i[t]=[];if(!(t in i)){i[t]=null;let e=n[t]&&n[t].parent,r=e&&a(e);r&&(i[t]=[e].concat(r))}return i[t]}return w(a,"resolve"),(e||Object.keys(r).concat(Object.keys(n))).forEach(a),i}var F=k((()=>{w(B,"getIconsTree")}));function $(t,e,r){let n=t.icons,i=t.aliases||Object.create(null),a={};function o(t){a=O(n[t]||i[t],a)}return w(o,"parse"),o(e),r.forEach(o),O(t,a)}function z(t,e){if(t.icons[e])return $(t,e,[]);let r=B(t,[e])[e];return r?$(t,e,r):null}var U=k((()=>{P(),F(),w($,"internalGetIconData"),w(z,"getIconData")}));function G(t,e,r){if(1===e)return t;if(r=r||100,"number"==typeof t)return Math.ceil(t*e*r)/r;if("string"!=typeof t)return t;let n=t.split(q);if(null===n||!n.length)return t;let i=[],a=n.shift(),o=Y.test(a);for(;;){if(o){let t=parseFloat(a);isNaN(t)?i.push(a):i.push(Math.ceil(t*e*r)/r)}else i.push(a);if(a=n.shift(),void 0===a)return i.join("");o=!o}}var q,Y,j=k((()=>{q=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Y=/^-?[0-9.]*[0-9]+[0-9.]*$/g,w(G,"calculateSize")}));function H(t,e="defs"){let r="",n=t.indexOf("<"+e);for(;n>=0;){let i=t.indexOf(">",n),a=t.indexOf("",a);if(-1===o)break;r+=t.slice(i+1,a).trim(),t=t.slice(0,n).trim()+t.slice(o+1)}return{defs:r,content:t}}function W(t,e){return t?""+t+""+e:e}function V(t,e,r){let n=H(t);return W(n.defs,e+n.content+r)}var X=k((()=>{w(H,"splitSVGDefs"),w(W,"mergeDefsAndContent"),w(V,"wrapSVGContent")}));function K(t,e){let r={...s,...t},n={...u,...e},i={left:r.left,top:r.top,width:r.width,height:r.height},a=r.body;[r,n].forEach((t=>{let e,r=[],n=t.hFlip,o=t.vFlip,s=t.rotate;switch(n?o?s+=2:(r.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),r.push("scale(-1 1)"),i.top=i.left=0):o&&(r.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),r.push("scale(1 -1)"),i.top=i.left=0),s<0&&(s-=4*Math.floor(s/4)),s%=4,s){case 1:e=i.height/2+i.top,r.unshift("rotate(90 "+e.toString()+" "+e.toString()+")");break;case 2:r.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:e=i.width/2+i.left,r.unshift("rotate(-90 "+e.toString()+" "+e.toString()+")")}s%2==1&&(i.left!==i.top&&(e=i.left,i.left=i.top,i.top=e),i.width!==i.height&&(e=i.width,i.width=i.height,i.height=e)),r.length&&(a=V(a,'',""))}));let o,l,c=n.width,h=n.height,d=i.width,p=i.height;null===c?(l=null===h?"1em":"auto"===h?p:h,o=G(l,d/p)):(o="auto"===c?d:c,l=null===h?G(o,p/d):"auto"===h?p:h);let f={},g=w(((t,e)=>{Z(e)||(f[t]=e.toString())}),"setAttr");g("width",o),g("height",l);let m=[i.left,i.top,d,p];return f.viewBox=m.join(" "),{attributes:f,viewBox:m,body:a}}var Z,Q=k((()=>{N(),I(),j(),X(),Z=w((t=>"unset"===t||"undefined"===t||"none"===t),"isUnsetKeyword"),w(K,"iconToSVG")}));function J(t,e=et){let r,n=[];for(;r=tt.exec(t);)n.push(r[1]);if(!n.length)return t;let i="suffix"+(16777216*Math.random()|Date.now()).toString(16);return n.forEach((r=>{let n="function"==typeof e?e(r):e+(rt++).toString(),a=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+a+')([")]|\\.[a-z])',"g"),"$1"+n+i+"$3")})),t=t.replace(new RegExp(i,"g"),"")}var tt,et,rt,nt=k((()=>{tt=/\sid="(\S+)"/g,et="IconifyId"+Date.now().toString(16)+(16777216*Math.random()|0).toString(16),rt=0,w(J,"replaceIDs")}));function it(t,e){let r=-1===t.indexOf("xlink:")?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(let t in e)r+=" "+t+'="'+e[t]+'"';return'"+t+""}var at,ot,st,lt,ct,ht,ut=k((()=>{w(it,"iconToHTML")})),dt=T(((t,e)=>{var r=1e3,n=6e4,i=60*n,a=24*i,o=7*a;function s(t){if(!((t=String(t)).length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var s=parseFloat(e[1]);switch((e[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*s;case"weeks":case"week":case"w":return s*o;case"days":case"day":case"d":return s*a;case"hours":case"hour":case"hrs":case"hr":case"h":return s*i;case"minutes":case"minute":case"mins":case"min":case"m":return s*n;case"seconds":case"second":case"secs":case"sec":case"s":return s*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return s;default:return}}}}function l(t){var e=Math.abs(t);return e>=a?Math.round(t/a)+"d":e>=i?Math.round(t/i)+"h":e>=n?Math.round(t/n)+"m":e>=r?Math.round(t/r)+"s":t+"ms"}function c(t){var e=Math.abs(t);return e>=a?h(t,e,a,"day"):e>=i?h(t,e,i,"hour"):e>=n?h(t,e,n,"minute"):e>=r?h(t,e,r,"second"):t+" ms"}function h(t,e,r,n){var i=e>=1.5*r;return Math.round(t/r)+" "+n+(i?"s":"")}e.exports=function(t,e){e=e||{};var r=typeof t;if("string"===r&&t.length>0)return s(t);if("number"===r&&isFinite(t))return e.long?c(t):l(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))},w(s,"parse"),w(l,"fmtShort"),w(c,"fmtLong"),w(h,"plural")})),pt=T(((t,e)=>{function r(t){function e(t){let e=0;for(let r=0;r{if("%%"===e)return"%";o++;let a=r.formatters[i];if("function"==typeof a){let r=t[o];e=a.call(n,r),t.splice(o,1),o--}return e})),r.formatArgs.call(n,t),(n.log||r.log).apply(n,t)}return w(s,"debug"),s.namespace=t,s.useColors=r.useColors(),s.color=r.selectColor(t),s.extend=n,s.destroy=r.destroy,Object.defineProperty(s,"enabled",{enumerable:!0,configurable:!1,get:w((()=>null!==o?o:(i!==r.namespaces&&(i=r.namespaces,a=r.enabled(t)),a)),"get"),set:w((t=>{o=t}),"set")}),"function"==typeof r.init&&r.init(s),s}function n(t,e){let n=r(this.namespace+(typeof e>"u"?":":e)+t);return n.log=this.log,n}function i(t){r.save(t),r.namespaces=t,r.names=[],r.skips=[];let e,n=("string"==typeof t?t:"").split(/[\s,]+/),i=n.length;for(e=0;e"-"+t))].join(",");return r.enable(""),t}function o(t){if("*"===t[t.length-1])return!0;let e,n;for(e=0,n=r.skips.length;e{r[e]=t[e]})),r.names=[],r.skips=[],r.formatters={},w(e,"selectColor"),r.selectColor=e,w(r,"createDebug"),w(n,"extend"),w(i,"enable"),w(a,"disable"),w(o,"enabled"),w(s,"toNamespace"),w(l,"coerce"),w(c,"destroy"),r.enable(r.load()),r}w(r,"setup"),e.exports=r})),ft=T(((t,e)=>{function r(){if(typeof window<"u"&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function n(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;let r="color: "+this.color;t.splice(1,0,r,"color: inherit");let n=0,i=0;t[0].replace(/%[a-zA-Z%]/g,(t=>{"%%"!==t&&(n++,"%c"===t&&(i=n))})),t.splice(i,0,r)}function i(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch{}}function a(){let e;try{e=t.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function o(){try{return localStorage}catch{}}t.formatArgs=n,t.save=i,t.load=a,t.useColors=r,t.storage=o(),t.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],w(r,"useColors"),w(n,"formatArgs"),t.log=console.debug||console.log||(()=>{}),w(i,"save"),w(a,"load"),w(o,"localstorage"),e.exports=pt()(t);var{formatters:s}=e.exports;s.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}})),gt=k((()=>{M(),U(),Q(),nt(),ut(),S(ft(),1)})),mt=k((()=>{L(),gt(),at={body:'?',height:80,width:80},ot=new Map,st=new Map,lt=w((t=>{for(let e of t){if(!e.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(r.debug("Registering icon pack:",e.name),"loader"in e)st.set(e.name,e.loader);else{if(!("icons"in e))throw r.error("Invalid icon loader:",e),new Error('Invalid icon loader. Must have either "icons" or "loader" property.');ot.set(e.name,e.icons)}}}),"registerIconPacks"),ct=w((async(t,e)=>{let n=p(t,!0,void 0!==e);if(!n)throw new Error(`Invalid icon name: ${t}`);let i=n.prefix||e;if(!i)throw new Error(`Icon name must contain a prefix: ${t}`);let a=ot.get(i);if(!a){let t=st.get(i);if(!t)throw new Error(`Icon set not found: ${n.prefix}`);try{a={...await t(),prefix:i},ot.set(i,a)}catch(t){throw r.error(t),new Error(`Failed to load icon set: ${n.prefix}`)}}let o=z(a,n.name);if(!o)throw new Error(`Icon not found: ${t}`);return o}),"getRegisteredIconData"),ht=w((async(t,e)=>{let n;try{n=await ct(t,e?.fallbackPrefix)}catch(t){r.error(t),n=at}let i=K(n,e);return it(J(i.body),i.attributes)}),"getIconSVG")}));function yt(t){for(var e=[],r=1;r{w(yt,"dedent")})),pr=k((()=>{vt=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,xt=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,bt=/\s*%%.*\n/gm})),fr=k((()=>{wt=class extends Error{static{w(this,"UnknownDiagramError")}constructor(t){super(t),this.name="UnknownDiagramError"}}})),gr=k((()=>{L(),pr(),fr(),kt={},Tt=w((function(t,e){t=t.replace(vt,"").replace(xt,"").replace(bt,"\n");for(let[r,{detector:n}]of Object.entries(kt))if(n(t,e))return r;throw new wt(`No diagram type detected matching given configuration for text: ${t}`)}),"detectType"),Et=w(((...t)=>{for(let{id:e,detector:r,loader:n}of t)_t(e,r,n)}),"registerLazyLoadedDiagrams"),_t=w(((t,e,n)=>{kt[t]&&r.warn(`Detector with key ${t} already exists. Overwriting.`),kt[t]={detector:e,loader:n},r.debug(`Detector with key ${t} added${n?" with loader":""}`)}),"addDetector"),Ct=w((t=>kt[t].loader),"getDiagramLoader")})),mr=k((()=>{(St=function(){var t=w((function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r}),"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],o=[1,63],s=[1,64],l=[1,65],h=[1,66],u=[1,67],d=[1,68],p=[1,69],f=[1,29],g=[1,30],m=[1,31],y=[1,32],v=[1,33],x=[1,34],b=[1,35],k=[1,36],T=[1,37],E=[1,38],_=[1,39],C=[1,40],S=[1,41],A=[1,42],L=[1,43],N=[1,44],I=[1,45],M=[1,46],R=[1,47],D=[1,48],O=[1,50],P=[1,51],B=[1,52],F=[1,53],$=[1,54],z=[1,55],U=[1,56],G=[1,57],q=[1,58],Y=[1,59],j=[1,60],H=[14,42],W=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],V=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],X=[1,82],K=[1,83],Z=[1,84],Q=[1,85],J=[12,14,42],tt=[12,14,33,42],et=[12,14,33,42,76,77,79,80],rt=[12,33],nt=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],it={trace:w((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:w((function(t,e,r,n,i,a,o){var s=a.length-1;switch(i){case 3:n.setDirection("TB");break;case 4:n.setDirection("BT");break;case 5:n.setDirection("RL");break;case 6:n.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:n.setC4Type(a[s-3]);break;case 19:n.setTitle(a[s].substring(6)),this.$=a[s].substring(6);break;case 20:n.setAccDescription(a[s].substring(15)),this.$=a[s].substring(15);break;case 21:this.$=a[s].trim(),n.setTitle(this.$);break;case 22:case 23:this.$=a[s].trim(),n.setAccDescription(this.$);break;case 28:a[s].splice(2,0,"ENTERPRISE"),n.addPersonOrSystemBoundary(...a[s]),this.$=a[s];break;case 29:a[s].splice(2,0,"SYSTEM"),n.addPersonOrSystemBoundary(...a[s]),this.$=a[s];break;case 30:n.addPersonOrSystemBoundary(...a[s]),this.$=a[s];break;case 31:a[s].splice(2,0,"CONTAINER"),n.addContainerBoundary(...a[s]),this.$=a[s];break;case 32:n.addDeploymentNode("node",...a[s]),this.$=a[s];break;case 33:n.addDeploymentNode("nodeL",...a[s]),this.$=a[s];break;case 34:n.addDeploymentNode("nodeR",...a[s]),this.$=a[s];break;case 35:n.popBoundaryParseStack();break;case 39:n.addPersonOrSystem("person",...a[s]),this.$=a[s];break;case 40:n.addPersonOrSystem("external_person",...a[s]),this.$=a[s];break;case 41:n.addPersonOrSystem("system",...a[s]),this.$=a[s];break;case 42:n.addPersonOrSystem("system_db",...a[s]),this.$=a[s];break;case 43:n.addPersonOrSystem("system_queue",...a[s]),this.$=a[s];break;case 44:n.addPersonOrSystem("external_system",...a[s]),this.$=a[s];break;case 45:n.addPersonOrSystem("external_system_db",...a[s]),this.$=a[s];break;case 46:n.addPersonOrSystem("external_system_queue",...a[s]),this.$=a[s];break;case 47:n.addContainer("container",...a[s]),this.$=a[s];break;case 48:n.addContainer("container_db",...a[s]),this.$=a[s];break;case 49:n.addContainer("container_queue",...a[s]),this.$=a[s];break;case 50:n.addContainer("external_container",...a[s]),this.$=a[s];break;case 51:n.addContainer("external_container_db",...a[s]),this.$=a[s];break;case 52:n.addContainer("external_container_queue",...a[s]),this.$=a[s];break;case 53:n.addComponent("component",...a[s]),this.$=a[s];break;case 54:n.addComponent("component_db",...a[s]),this.$=a[s];break;case 55:n.addComponent("component_queue",...a[s]),this.$=a[s];break;case 56:n.addComponent("external_component",...a[s]),this.$=a[s];break;case 57:n.addComponent("external_component_db",...a[s]),this.$=a[s];break;case 58:n.addComponent("external_component_queue",...a[s]),this.$=a[s];break;case 60:n.addRel("rel",...a[s]),this.$=a[s];break;case 61:n.addRel("birel",...a[s]),this.$=a[s];break;case 62:n.addRel("rel_u",...a[s]),this.$=a[s];break;case 63:n.addRel("rel_d",...a[s]),this.$=a[s];break;case 64:n.addRel("rel_l",...a[s]),this.$=a[s];break;case 65:n.addRel("rel_r",...a[s]),this.$=a[s];break;case 66:n.addRel("rel_b",...a[s]),this.$=a[s];break;case 67:a[s].splice(0,1),n.addRel("rel",...a[s]),this.$=a[s];break;case 68:n.updateElStyle("update_el_style",...a[s]),this.$=a[s];break;case 69:n.updateRelStyle("update_rel_style",...a[s]),this.$=a[s];break;case 70:n.updateLayoutConfig("update_layout_config",...a[s]),this.$=a[s];break;case 71:this.$=[a[s]];break;case 72:a[s].unshift(a[s-1]),this.$=a[s];break;case 73:case 75:this.$=a[s].trim();break;case 74:let t={};t[a[s-1].trim()]=a[s].trim(),this.$=t;break;case 76:this.$=""}}),"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:o,36:s,37:l,38:h,39:u,40:d,41:p,43:23,44:f,45:g,46:m,47:y,48:v,49:x,50:b,51:k,52:T,53:E,54:_,55:C,56:S,57:A,58:L,59:N,60:I,61:M,62:R,63:D,64:O,65:P,66:B,67:F,68:$,69:z,70:U,71:G,72:q,73:Y,74:j},{13:70,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:o,36:s,37:l,38:h,39:u,40:d,41:p,43:23,44:f,45:g,46:m,47:y,48:v,49:x,50:b,51:k,52:T,53:E,54:_,55:C,56:S,57:A,58:L,59:N,60:I,61:M,62:R,63:D,64:O,65:P,66:B,67:F,68:$,69:z,70:U,71:G,72:q,73:Y,74:j},{13:71,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:o,36:s,37:l,38:h,39:u,40:d,41:p,43:23,44:f,45:g,46:m,47:y,48:v,49:x,50:b,51:k,52:T,53:E,54:_,55:C,56:S,57:A,58:L,59:N,60:I,61:M,62:R,63:D,64:O,65:P,66:B,67:F,68:$,69:z,70:U,71:G,72:q,73:Y,74:j},{13:72,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:o,36:s,37:l,38:h,39:u,40:d,41:p,43:23,44:f,45:g,46:m,47:y,48:v,49:x,50:b,51:k,52:T,53:E,54:_,55:C,56:S,57:A,58:L,59:N,60:I,61:M,62:R,63:D,64:O,65:P,66:B,67:F,68:$,69:z,70:U,71:G,72:q,73:Y,74:j},{13:73,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:o,36:s,37:l,38:h,39:u,40:d,41:p,43:23,44:f,45:g,46:m,47:y,48:v,49:x,50:b,51:k,52:T,53:E,54:_,55:C,56:S,57:A,58:L,59:N,60:I,61:M,62:R,63:D,64:O,65:P,66:B,67:F,68:$,69:z,70:U,71:G,72:q,73:Y,74:j},{14:[1,74]},t(H,[2,13],{43:23,29:49,30:61,32:62,20:75,34:o,36:s,37:l,38:h,39:u,40:d,41:p,44:f,45:g,46:m,47:y,48:v,49:x,50:b,51:k,52:T,53:E,54:_,55:C,56:S,57:A,58:L,59:N,60:I,61:M,62:R,63:D,64:O,65:P,66:B,67:F,68:$,69:z,70:U,71:G,72:q,73:Y,74:j}),t(H,[2,14]),t(W,[2,16],{12:[1,76]}),t(H,[2,36],{12:[1,77]}),t(V,[2,19]),t(V,[2,20]),{25:[1,78]},{27:[1,79]},t(V,[2,23]),{35:80,75:81,76:X,77:K,79:Z,80:Q},{35:86,75:81,76:X,77:K,79:Z,80:Q},{35:87,75:81,76:X,77:K,79:Z,80:Q},{35:88,75:81,76:X,77:K,79:Z,80:Q},{35:89,75:81,76:X,77:K,79:Z,80:Q},{35:90,75:81,76:X,77:K,79:Z,80:Q},{35:91,75:81,76:X,77:K,79:Z,80:Q},{35:92,75:81,76:X,77:K,79:Z,80:Q},{35:93,75:81,76:X,77:K,79:Z,80:Q},{35:94,75:81,76:X,77:K,79:Z,80:Q},{35:95,75:81,76:X,77:K,79:Z,80:Q},{35:96,75:81,76:X,77:K,79:Z,80:Q},{35:97,75:81,76:X,77:K,79:Z,80:Q},{35:98,75:81,76:X,77:K,79:Z,80:Q},{35:99,75:81,76:X,77:K,79:Z,80:Q},{35:100,75:81,76:X,77:K,79:Z,80:Q},{35:101,75:81,76:X,77:K,79:Z,80:Q},{35:102,75:81,76:X,77:K,79:Z,80:Q},{35:103,75:81,76:X,77:K,79:Z,80:Q},{35:104,75:81,76:X,77:K,79:Z,80:Q},t(J,[2,59]),{35:105,75:81,76:X,77:K,79:Z,80:Q},{35:106,75:81,76:X,77:K,79:Z,80:Q},{35:107,75:81,76:X,77:K,79:Z,80:Q},{35:108,75:81,76:X,77:K,79:Z,80:Q},{35:109,75:81,76:X,77:K,79:Z,80:Q},{35:110,75:81,76:X,77:K,79:Z,80:Q},{35:111,75:81,76:X,77:K,79:Z,80:Q},{35:112,75:81,76:X,77:K,79:Z,80:Q},{35:113,75:81,76:X,77:K,79:Z,80:Q},{35:114,75:81,76:X,77:K,79:Z,80:Q},{35:115,75:81,76:X,77:K,79:Z,80:Q},{20:116,29:49,30:61,32:62,34:o,36:s,37:l,38:h,39:u,40:d,41:p,43:23,44:f,45:g,46:m,47:y,48:v,49:x,50:b,51:k,52:T,53:E,54:_,55:C,56:S,57:A,58:L,59:N,60:I,61:M,62:R,63:D,64:O,65:P,66:B,67:F,68:$,69:z,70:U,71:G,72:q,73:Y,74:j},{12:[1,118],33:[1,117]},{35:119,75:81,76:X,77:K,79:Z,80:Q},{35:120,75:81,76:X,77:K,79:Z,80:Q},{35:121,75:81,76:X,77:K,79:Z,80:Q},{35:122,75:81,76:X,77:K,79:Z,80:Q},{35:123,75:81,76:X,77:K,79:Z,80:Q},{35:124,75:81,76:X,77:K,79:Z,80:Q},{35:125,75:81,76:X,77:K,79:Z,80:Q},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(H,[2,15]),t(W,[2,17],{21:22,19:130,22:e,23:r,24:n,26:i,28:a}),t(H,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:r,24:n,26:i,28:a,34:o,36:s,37:l,38:h,39:u,40:d,41:p,44:f,45:g,46:m,47:y,48:v,49:x,50:b,51:k,52:T,53:E,54:_,55:C,56:S,57:A,58:L,59:N,60:I,61:M,62:R,63:D,64:O,65:P,66:B,67:F,68:$,69:z,70:U,71:G,72:q,73:Y,74:j}),t(V,[2,21]),t(V,[2,22]),t(J,[2,39]),t(tt,[2,71],{75:81,35:132,76:X,77:K,79:Z,80:Q}),t(et,[2,73]),{78:[1,133]},t(et,[2,75]),t(et,[2,76]),t(J,[2,40]),t(J,[2,41]),t(J,[2,42]),t(J,[2,43]),t(J,[2,44]),t(J,[2,45]),t(J,[2,46]),t(J,[2,47]),t(J,[2,48]),t(J,[2,49]),t(J,[2,50]),t(J,[2,51]),t(J,[2,52]),t(J,[2,53]),t(J,[2,54]),t(J,[2,55]),t(J,[2,56]),t(J,[2,57]),t(J,[2,58]),t(J,[2,60]),t(J,[2,61]),t(J,[2,62]),t(J,[2,63]),t(J,[2,64]),t(J,[2,65]),t(J,[2,66]),t(J,[2,67]),t(J,[2,68]),t(J,[2,69]),t(J,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(rt,[2,28]),t(rt,[2,29]),t(rt,[2,30]),t(rt,[2,31]),t(rt,[2,32]),t(rt,[2,33]),t(rt,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(W,[2,18]),t(H,[2,38]),t(tt,[2,72]),t(et,[2,74]),t(J,[2,24]),t(J,[2,35]),t(nt,[2,25]),t(nt,[2,26],{12:[1,138]}),t(nt,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:w((function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)}),"parseError"),parse:w((function(t){var e=this,r=[0],n=[],i=[null],a=[],o=this.table,s="",l=0,c=0,h=0,u=a.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,typeof d.yylloc>"u"&&(d.yylloc={});var g=d.yylloc;a.push(g);var m=d.options&&d.options.ranges;function y(){var t;return"number"!=typeof(t=n.pop()||d.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,w((function(t){r.length=r.length-2*t,i.length=i.length-t,a.length=a.length-t}),"popStack"),w(y,"lex");for(var v,x,b,k,T,E,_,C,S,A={};;){if(b=r[r.length-1],this.defaultActions[b]?k=this.defaultActions[b]:((null===v||typeof v>"u")&&(v=y()),k=o[b]&&o[b][v]),typeof k>"u"||!k.length||!k[0]){var L;for(E in S=[],o[b])this.terminals_[E]&&E>2&&S.push("'"+this.terminals_[E]+"'");L=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==v?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(L,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:g,expected:S})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(k[0]){case 1:r.push(v),i.push(d.yytext),a.push(d.yylloc),r.push(k[1]),v=null,x?(v=x,x=null):(c=d.yyleng,s=d.yytext,l=d.yylineno,g=d.yylloc,h>0&&h--);break;case 2:if(_=this.productions_[k[1]][1],A.$=i[i.length-_],A._$={first_line:a[a.length-(_||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(_||1)].first_column,last_column:a[a.length-1].last_column},m&&(A._$.range=[a[a.length-(_||1)].range[0],a[a.length-1].range[1]]),typeof(T=this.performAction.apply(A,[s,c,l,p.yy,k[1],i,a].concat(u)))<"u")return T;_&&(r=r.slice(0,-1*_*2),i=i.slice(0,-1*_),a=a.slice(0,-1*_)),r.push(this.productions_[k[1]][0]),i.push(A.$),a.push(A._$),C=o[r[r.length-2]][r[r.length-1]],r.push(C);break;case 3:return!0}}return!0}),"parse")},at={EOF:1,parseError:w((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:w((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:w((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:w((function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:w((function(){return this._more=!0,this}),"more"),reject:w((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:w((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:w((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:w((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:w((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:w((function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:w((function(){if(this.done)return this.EOF;var t,e,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:w((function(){return this.next()||this.lex()}),"lex"),begin:w((function(t){this.conditionStack.push(t)}),"begin"),popState:w((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:w((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:w((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:w((function(t){this.begin(t)}),"pushState"),stateStackSize:w((function(){return this.conditionStack.length}),"stateStackSize"),options:{},performAction:w((function(t,e,r,n){switch(r){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 73:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 16:case 70:break;case 14:c;break;case 15:return 12;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:case 53:return this.begin("rel_u"),66;case 54:case 55:return this.begin("rel_d"),67;case 56:case 57:return this.begin("rel_l"),68;case 58:case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:case 79:this.popState(),this.popState();break;case 69:case 71:return 80;case 72:this.begin("string");break;case 74:case 80:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}}),"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};function ot(){this.yy={}}return it.lexer=at,w(ot,"Parser"),ot.prototype=it,it.Parser=ot,new ot}()).parser=St,At=St})),yr=k((()=>{Lt=w(((t,e,{depth:r=2,clobber:n=!1}={})=>{let i={depth:r,clobber:n};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach((e=>Lt(t,e,i))),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach((e=>{t.includes(e)||t.push(e)})),t):void 0===t||r<=0?null!=t&&"object"==typeof t&&"object"==typeof e?Object.assign(t,e):e:(void 0!==e&&"object"==typeof t&&"object"==typeof e&&Object.keys(e).forEach((i=>{"object"!=typeof e[i]||void 0!==t[i]&&"object"!=typeof t[i]?(n||"object"!=typeof t[i]&&"object"!=typeof e[i])&&(t[i]=e[i]):(void 0===t[i]&&(t[i]=Array.isArray(e[i])?[]:{}),t[i]=Lt(t[i],e[i],{depth:r-1,clobber:n}))})),t)}),"assignWithDepth"),Nt=Lt})),vr=k((()=>{It={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:w((t=>t>=255?255:t<0?0:t),"r"),g:w((t=>t>=255?255:t<0?0:t),"g"),b:w((t=>t>=255?255:t<0?0:t),"b"),h:w((t=>t%360),"h"),s:w((t=>t>=100?100:t<0?0:t),"s"),l:w((t=>t>=100?100:t<0?0:t),"l"),a:w((t=>t>=1?1:t<0?0:t),"a")},toLinear:w((t=>{let e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92}),"toLinear"),hue2rgb:w(((t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<.16666666666666666?t+6*(e-t)*r:r<.5?e:r<.6666666666666666?t+(e-t)*(.6666666666666666-r)*6:t)),"hue2rgb"),hsl2rgb:w((({h:t,s:e,l:r},n)=>{if(!e)return 2.55*r;t/=360,e/=100;let i=(r/=100)<.5?r*(1+e):r+e-r*e,a=2*r-i;switch(n){case"r":return 255*It.hue2rgb(a,i,t+.3333333333333333);case"g":return 255*It.hue2rgb(a,i,t);case"b":return 255*It.hue2rgb(a,i,t-.3333333333333333)}}),"hsl2rgb"),rgb2hsl:w((({r:t,g:e,b:r},n)=>{t/=255,e/=255,r/=255;let i=Math.max(t,e,r),a=Math.min(t,e,r),o=(i+a)/2;if("l"===n)return 100*o;if(i===a)return 0;let s=i-a;if("s"===n)return 100*(o>.5?s/(2-i-a):s/(i+a));switch(i){case t:return 60*((e-r)/s+(e{Rt={clamp:w(((t,e,r)=>e>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t))),"clamp"),round:w((t=>Math.round(1e10*t)/1e10),"round")},Dt=Rt})),br=k((()=>{Ot={dec2hex:w((t=>{let e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}),"dec2hex")},Pt=Ot})),wr=k((()=>{vr(),xr(),br(),Bt={channel:Mt,lang:Dt,unit:Pt}})),kr=k((()=>{wr(),Ft={};for(let t=0;t<=255;t++)Ft[t]=Bt.unit.dec2hex(t);$t={ALL:0,RGB:1,HSL:2}})),Tr=k((()=>{kr(),zt=class{static{w(this,"Type")}constructor(){this.type=$t.ALL}get(){return this.type}set(t){if(this.type&&this.type!==t)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=t}reset(){this.type=$t.ALL}is(t){return this.type===t}},Ut=zt})),Er=k((()=>{wr(),Tr(),kr(),Gt=class{static{w(this,"Channels")}constructor(t,e){this.color=e,this.changed=!1,this.data=t,this.type=new Ut}set(t,e){return this.color=e,this.changed=!1,this.data=t,this.type.type=$t.ALL,this}_ensureHSL(){let t=this.data,{h:e,s:r,l:n}=t;void 0===e&&(t.h=Bt.channel.rgb2hsl(t,"h")),void 0===r&&(t.s=Bt.channel.rgb2hsl(t,"s")),void 0===n&&(t.l=Bt.channel.rgb2hsl(t,"l"))}_ensureRGB(){let t=this.data,{r:e,g:r,b:n}=t;void 0===e&&(t.r=Bt.channel.hsl2rgb(t,"r")),void 0===r&&(t.g=Bt.channel.hsl2rgb(t,"g")),void 0===n&&(t.b=Bt.channel.hsl2rgb(t,"b"))}get r(){let t=this.data,e=t.r;return this.type.is($t.HSL)||void 0===e?(this._ensureHSL(),Bt.channel.hsl2rgb(t,"r")):e}get g(){let t=this.data,e=t.g;return this.type.is($t.HSL)||void 0===e?(this._ensureHSL(),Bt.channel.hsl2rgb(t,"g")):e}get b(){let t=this.data,e=t.b;return this.type.is($t.HSL)||void 0===e?(this._ensureHSL(),Bt.channel.hsl2rgb(t,"b")):e}get h(){let t=this.data,e=t.h;return this.type.is($t.RGB)||void 0===e?(this._ensureRGB(),Bt.channel.rgb2hsl(t,"h")):e}get s(){let t=this.data,e=t.s;return this.type.is($t.RGB)||void 0===e?(this._ensureRGB(),Bt.channel.rgb2hsl(t,"s")):e}get l(){let t=this.data,e=t.l;return this.type.is($t.RGB)||void 0===e?(this._ensureRGB(),Bt.channel.rgb2hsl(t,"l")):e}get a(){return this.data.a}set r(t){this.type.set($t.RGB),this.changed=!0,this.data.r=t}set g(t){this.type.set($t.RGB),this.changed=!0,this.data.g=t}set b(t){this.type.set($t.RGB),this.changed=!0,this.data.b=t}set h(t){this.type.set($t.HSL),this.changed=!0,this.data.h=t}set s(t){this.type.set($t.HSL),this.changed=!0,this.data.s=t}set l(t){this.type.set($t.HSL),this.changed=!0,this.data.l=t}set a(t){this.changed=!0,this.data.a=t}},qt=Gt})),_r=k((()=>{Er(),Yt=new qt({r:0,g:0,b:0,a:0},"transparent"),jt=Yt})),Cr=k((()=>{_r(),kr(),Ht={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:w((t=>{if(35!==t.charCodeAt(0))return;let e=t.match(Ht.re);if(!e)return;let r=e[1],n=parseInt(r,16),i=r.length,a=i%4==0,o=i>4,s=o?1:17,l=o?8:4,c=a?0:-1,h=o?255:15;return jt.set({r:(n>>l*(c+3)&h)*s,g:(n>>l*(c+2)&h)*s,b:(n>>l*(c+1)&h)*s,a:a?(n&h)*s/255:1},t)}),"parse"),stringify:w((t=>{let{r:e,g:r,b:n,a:i}=t;return i<1?`#${Ft[Math.round(e)]}${Ft[Math.round(r)]}${Ft[Math.round(n)]}${Ft[Math.round(255*i)]}`:`#${Ft[Math.round(e)]}${Ft[Math.round(r)]}${Ft[Math.round(n)]}`}),"stringify")},Wt=Ht})),Sr=k((()=>{wr(),_r(),Vt={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:w((t=>{let e=t.match(Vt.hueRe);if(e){let[,t,r]=e;switch(r){case"grad":return Bt.channel.clamp.h(.9*parseFloat(t));case"rad":return Bt.channel.clamp.h(180*parseFloat(t)/Math.PI);case"turn":return Bt.channel.clamp.h(360*parseFloat(t))}}return Bt.channel.clamp.h(parseFloat(t))}),"_hue2deg"),parse:w((t=>{let e=t.charCodeAt(0);if(104!==e&&72!==e)return;let r=t.match(Vt.re);if(!r)return;let[,n,i,a,o,s]=r;return jt.set({h:Vt._hue2deg(n),s:Bt.channel.clamp.s(parseFloat(i)),l:Bt.channel.clamp.l(parseFloat(a)),a:o?Bt.channel.clamp.a(s?parseFloat(o)/100:parseFloat(o)):1},t)}),"parse"),stringify:w((t=>{let{h:e,s:r,l:n,a:i}=t;return i<1?`hsla(${Bt.lang.round(e)}, ${Bt.lang.round(r)}%, ${Bt.lang.round(n)}%, ${i})`:`hsl(${Bt.lang.round(e)}, ${Bt.lang.round(r)}%, ${Bt.lang.round(n)}%)`}),"stringify")},Xt=Vt})),Ar=k((()=>{Cr(),Kt={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:w((t=>{t=t.toLowerCase();let e=Kt.colors[t];if(e)return Wt.parse(e)}),"parse"),stringify:w((t=>{let e=Wt.stringify(t);for(let t in Kt.colors)if(Kt.colors[t]===e)return t}),"stringify")},Zt=Kt})),Lr=k((()=>{wr(),_r(),Qt={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:w((t=>{let e=t.charCodeAt(0);if(114!==e&&82!==e)return;let r=t.match(Qt.re);if(!r)return;let[,n,i,a,o,s,l,c,h]=r;return jt.set({r:Bt.channel.clamp.r(i?2.55*parseFloat(n):parseFloat(n)),g:Bt.channel.clamp.g(o?2.55*parseFloat(a):parseFloat(a)),b:Bt.channel.clamp.b(l?2.55*parseFloat(s):parseFloat(s)),a:c?Bt.channel.clamp.a(h?parseFloat(c)/100:parseFloat(c)):1},t)}),"parse"),stringify:w((t=>{let{r:e,g:r,b:n,a:i}=t;return i<1?`rgba(${Bt.lang.round(e)}, ${Bt.lang.round(r)}, ${Bt.lang.round(n)}, ${Bt.lang.round(i)})`:`rgb(${Bt.lang.round(e)}, ${Bt.lang.round(r)}, ${Bt.lang.round(n)})`}),"stringify")},Jt=Qt})),Nr=k((()=>{Cr(),Sr(),Ar(),Lr(),kr(),te={format:{keyword:Zt,hex:Wt,rgb:Jt,rgba:Jt,hsl:Xt,hsla:Xt},parse:w((t=>{if("string"!=typeof t)return t;let e=Wt.parse(t)||Jt.parse(t)||Xt.parse(t)||Zt.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)}),"parse"),stringify:w((t=>!t.changed&&t.color?t.color:t.type.is($t.HSL)||void 0===t.data.r?Xt.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?Jt.stringify(t):Wt.stringify(t)),"stringify")},ee=te})),Ir=k((()=>{wr(),Nr(),re=w(((t,e)=>{let r=ee.parse(t);for(let t in e)r[t]=Bt.channel.clamp[t](e[t]);return ee.stringify(r)}),"change"),ne=re})),Mr=k((()=>{wr(),_r(),Nr(),Ir(),ie=w(((t,e,r=0,n=1)=>{if("number"!=typeof t)return ne(t,{a:e});let i=jt.set({r:Bt.channel.clamp.r(t),g:Bt.channel.clamp.g(e),b:Bt.channel.clamp.b(r),a:Bt.channel.clamp.a(n)});return ee.stringify(i)}),"rgba"),ae=ie})),Rr=k((()=>{wr(),Nr(),oe=w(((t,e)=>Bt.lang.round(ee.parse(t)[e])),"channel"),se=oe})),Dr=k((()=>{wr(),Nr(),le=w((t=>{let{r:e,g:r,b:n}=ee.parse(t),i=.2126*Bt.channel.toLinear(e)+.7152*Bt.channel.toLinear(r)+.0722*Bt.channel.toLinear(n);return Bt.lang.round(i)}),"luminance"),ce=le})),Or=k((()=>{Dr(),he=w((t=>ce(t)>=.5),"isLight"),ue=he})),Pr=k((()=>{Or(),de=w((t=>!ue(t)),"isDark"),pe=de})),Br=k((()=>{wr(),Nr(),fe=w(((t,e,r)=>{let n=ee.parse(t),i=n[e],a=Bt.channel.clamp[e](i+r);return i!==a&&(n[e]=a),ee.stringify(n)}),"adjustChannel"),ge=fe})),Fr=k((()=>{Br(),me=w(((t,e)=>ge(t,"l",e)),"lighten"),ye=me})),$r=k((()=>{Br(),ve=w(((t,e)=>ge(t,"l",-e)),"darken"),xe=ve})),zr=k((()=>{Nr(),Ir(),be=w(((t,e)=>{let r=ee.parse(t),n={};for(let t in e)e[t]&&(n[t]=r[t]+e[t]);return ne(t,n)}),"adjust"),we=be})),Ur=k((()=>{Nr(),Mr(),ke=w(((t,e,r=50)=>{let{r:n,g:i,b:a,a:o}=ee.parse(t),{r:s,g:l,b:c,a:h}=ee.parse(e),u=r/100,d=2*u-1,p=o-h,f=((d*p==-1?d:(d+p)/(1+d*p))+1)/2,g=1-f;return ae(n*f+s*g,i*f+l*g,a*f+c*g,o*u+h*(1-u))}),"mix"),Te=ke})),Gr=k((()=>{Nr(),Ur(),Ee=w(((t,e=100)=>{let r=ee.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,Te(r,t,e)}),"invert"),_e=Ee})),qr=k((()=>{Mr(),Rr(),Pr(),Fr(),$r(),zr(),Gr()})),Yr=k((()=>{qr()})),jr=k((()=>{Ce="#ffffff",Se="#f2f2f2"})),Hr=k((()=>{Yr(),Ae=w(((t,e)=>we(t,e?{s:-40,l:10}:{s:-40,l:-10})),"mkBorder")})),Wr=k((()=>{Yr(),jr(),Hr(),Le=class{static{w(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||we(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||we(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Ae(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Ae(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Ae(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Ae(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||_e(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||_e(this.tertiaryColor),this.lineColor=this.lineColor||_e(this.background),this.arrowheadColor=this.arrowheadColor||_e(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?xe(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||xe(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||_e(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||ye(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||we(this.primaryColor,{h:30}),this.cScale4=this.cScale4||we(this.primaryColor,{h:60}),this.cScale5=this.cScale5||we(this.primaryColor,{h:90}),this.cScale6=this.cScale6||we(this.primaryColor,{h:120}),this.cScale7=this.cScale7||we(this.primaryColor,{h:150}),this.cScale8=this.cScale8||we(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||we(this.primaryColor,{h:270}),this.cScale10=this.cScale10||we(this.primaryColor,{h:300}),this.cScale11=this.cScale11||we(this.primaryColor,{h:330}),this.darkMode)for(let t=0;t{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}},Ne=w((t=>{let e=new Le;return e.calculate(t),e}),"getThemeVariables")})),Vr=k((()=>{Yr(),Hr(),Ie=class{static{w(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=ye(this.primaryColor,16),this.tertiaryColor=we(this.primaryColor,{h:-160}),this.primaryBorderColor=_e(this.background),this.secondaryBorderColor=Ae(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Ae(this.tertiaryColor,this.darkMode),this.primaryTextColor=_e(this.primaryColor),this.secondaryTextColor=_e(this.secondaryColor),this.tertiaryTextColor=_e(this.tertiaryColor),this.lineColor=_e(this.background),this.textColor=_e(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=ye(_e("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=ae(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=xe("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=xe(this.sectionBkgColor,10),this.taskBorderColor=ae(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=ae(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){this.secondBkg=ye(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=ye(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=ye(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=we(this.primaryColor,{h:64}),this.fillType3=we(this.secondaryColor,{h:64}),this.fillType4=we(this.primaryColor,{h:-64}),this.fillType5=we(this.secondaryColor,{h:-64}),this.fillType6=we(this.primaryColor,{h:128}),this.fillType7=we(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||we(this.primaryColor,{h:30}),this.cScale4=this.cScale4||we(this.primaryColor,{h:60}),this.cScale5=this.cScale5||we(this.primaryColor,{h:90}),this.cScale6=this.cScale6||we(this.primaryColor,{h:120}),this.cScale7=this.cScale7||we(this.primaryColor,{h:150}),this.cScale8=this.cScale8||we(this.primaryColor,{h:210}),this.cScale9=this.cScale9||we(this.primaryColor,{h:270}),this.cScale10=this.cScale10||we(this.primaryColor,{h:300}),this.cScale11=this.cScale11||we(this.primaryColor,{h:330});for(let t=0;t{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}},Me=w((t=>{let e=new Ie;return e.calculate(t),e}),"getThemeVariables")})),Xr=k((()=>{Yr(),Hr(),jr(),Re=class{static{w(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=we(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=we(this.primaryColor,{h:-160}),this.primaryBorderColor=Ae(this.primaryColor,this.darkMode),this.secondaryBorderColor=Ae(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Ae(this.tertiaryColor,this.darkMode),this.primaryTextColor=_e(this.primaryColor),this.secondaryTextColor=_e(this.secondaryColor),this.tertiaryTextColor=_e(this.tertiaryColor),this.lineColor=_e(this.background),this.textColor=_e(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.sectionBkgColor=ae(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||we(this.primaryColor,{h:30}),this.cScale4=this.cScale4||we(this.primaryColor,{h:60}),this.cScale5=this.cScale5||we(this.primaryColor,{h:90}),this.cScale6=this.cScale6||we(this.primaryColor,{h:120}),this.cScale7=this.cScale7||we(this.primaryColor,{h:150}),this.cScale8=this.cScale8||we(this.primaryColor,{h:210}),this.cScale9=this.cScale9||we(this.primaryColor,{h:270}),this.cScale10=this.cScale10||we(this.primaryColor,{h:300}),this.cScale11=this.cScale11||we(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||xe(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||xe(this.tertiaryColor,40);for(let t=0;t{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}},De=w((t=>{let e=new Re;return e.calculate(t),e}),"getThemeVariables")})),Kr=k((()=>{Yr(),jr(),Hr(),Oe=class{static{w(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=ye("#cde498",10),this.primaryBorderColor=Ae(this.primaryColor,this.darkMode),this.secondaryBorderColor=Ae(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Ae(this.tertiaryColor,this.darkMode),this.primaryTextColor=_e(this.primaryColor),this.secondaryTextColor=_e(this.secondaryColor),this.tertiaryTextColor=_e(this.primaryColor),this.lineColor=_e(this.background),this.textColor=_e(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.actorBorder=xe(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||we(this.primaryColor,{h:30}),this.cScale4=this.cScale4||we(this.primaryColor,{h:60}),this.cScale5=this.cScale5||we(this.primaryColor,{h:90}),this.cScale6=this.cScale6||we(this.primaryColor,{h:120}),this.cScale7=this.cScale7||we(this.primaryColor,{h:150}),this.cScale8=this.cScale8||we(this.primaryColor,{h:210}),this.cScale9=this.cScale9||we(this.primaryColor,{h:270}),this.cScale10=this.cScale10||we(this.primaryColor,{h:300}),this.cScale11=this.cScale11||we(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||xe(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||xe(this.tertiaryColor,40);for(let t=0;t{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}},Pe=w((t=>{let e=new Oe;return e.calculate(t),e}),"getThemeVariables")})),Zr=k((()=>{Yr(),Hr(),jr(),Be=class{static{w(this,"Theme")}constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=ye(this.contrast,55),this.background="#ffffff",this.tertiaryColor=we(this.primaryColor,{h:-160}),this.primaryBorderColor=Ae(this.primaryColor,this.darkMode),this.secondaryBorderColor=Ae(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Ae(this.tertiaryColor,this.darkMode),this.primaryTextColor=_e(this.primaryColor),this.secondaryTextColor=_e(this.secondaryColor),this.tertiaryTextColor=_e(this.tertiaryColor),this.lineColor=_e(this.background),this.textColor=_e(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.secondBkg=ye(this.contrast,55),this.border2=this.contrast,this.actorBorder=ye(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let t=0;t{this[e]=t[e]})),this.updateColors(),e.forEach((e=>{this[e]=t[e]}))}},Fe=w((t=>{let e=new Be;return e.calculate(t),e}),"getThemeVariables")})),Qr=k((()=>{Wr(),Vr(),Xr(),Kr(),Zr(),$e={base:{getThemeVariables:Ne},dark:{getThemeVariables:Me},default:{getThemeVariables:De},forest:{getThemeVariables:Pe},neutral:{getThemeVariables:Fe}}})),Jr=k((()=>{ze={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"]},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1}})),tn=k((()=>{Qr(),Jr(),Ue={...ze,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"SIMPLE"},themeCSS:void 0,themeVariables:$e.default.getThemeVariables(),sequence:{...ze.sequence,messageFont:w((function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}}),"messageFont"),noteFont:w((function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}}),"noteFont"),actorFont:w((function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}}),"actorFont")},gantt:{...ze.gantt,tickInterval:void 0,useWidth:void 0},c4:{...ze.c4,useWidth:void 0,personFont:w((function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}}),"personFont"),external_personFont:w((function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}}),"external_personFont"),systemFont:w((function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}}),"systemFont"),external_systemFont:w((function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}}),"external_systemFont"),system_dbFont:w((function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}}),"system_dbFont"),external_system_dbFont:w((function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}}),"external_system_dbFont"),system_queueFont:w((function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}}),"system_queueFont"),external_system_queueFont:w((function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}}),"external_system_queueFont"),containerFont:w((function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}}),"containerFont"),external_containerFont:w((function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}}),"external_containerFont"),container_dbFont:w((function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}}),"container_dbFont"),external_container_dbFont:w((function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}}),"external_container_dbFont"),container_queueFont:w((function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}}),"container_queueFont"),external_container_queueFont:w((function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}}),"external_container_queueFont"),componentFont:w((function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}}),"componentFont"),external_componentFont:w((function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}}),"external_componentFont"),component_dbFont:w((function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}}),"component_dbFont"),external_component_dbFont:w((function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}}),"external_component_dbFont"),component_queueFont:w((function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}}),"component_queueFont"),external_component_queueFont:w((function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}}),"external_component_queueFont"),boundaryFont:w((function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}}),"boundaryFont"),messageFont:w((function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}}),"messageFont")},pie:{...ze.pie,useWidth:984},xyChart:{...ze.xyChart,useWidth:void 0},requirement:{...ze.requirement,useWidth:void 0},packet:{...ze.packet}},Ge=w(((t,e="")=>Object.keys(t).reduce(((r,n)=>Array.isArray(t[n])?r:"object"==typeof t[n]&&null!==t[n]?[...r,e+n,...Ge(t[n],"")]:[...r,e+n]),[])),"keyify"),qe=new Set(Ge(Ue,"")),Ye=Ue})),en=k((()=>{tn(),L(),je=w((t=>{if(r.debug("sanitizeDirective called with",t),"object"==typeof t&&null!=t){if(Array.isArray(t))return void t.forEach((t=>je(t)));for(let e of Object.keys(t)){if(r.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!qe.has(e)||null==t[e]){r.debug("sanitize deleting key: ",e),delete t[e];continue}if("object"==typeof t[e]){r.debug("sanitizing object",e),je(t[e]);continue}let n=["themeCSS","fontFamily","altFontFamily"];for(let i of n)e.includes(i)&&(r.debug("sanitizing css option",e),t[e]=He(t[e]))}if(t.themeVariables)for(let e of Object.keys(t.themeVariables)){let r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}r.debug("After sanitization",t)}}),"sanitizeDirective"),He=w((t=>{let e=0,r=0;for(let n of t){if(e{yr(),L(),Qr(),tn(),en(),We=Object.freeze(Ye),Ve=Nt({},We),Ke=[],Ze=Nt({},We),Qe=w(((t,e)=>{let r=Nt({},t),n={};for(let t of e)ar(t),n=Nt(n,t);if(r=Nt(r,n),n.theme&&n.theme in $e){let t=Nt({},Xe),e=Nt(t.themeVariables||{},n.themeVariables);r.theme&&r.theme in $e&&(r.themeVariables=$e[r.theme].getThemeVariables(e))}return ur(Ze=r),Ze}),"updateCurrentConfig"),Je=w((t=>(Ve=Nt({},We),Ve=Nt(Ve,t),t.theme&&$e[t.theme]&&(Ve.themeVariables=$e[t.theme].getThemeVariables(t.themeVariables)),Qe(Ve,Ke),Ve)),"setSiteConfig"),tr=w((t=>{Xe=Nt({},t)}),"saveConfigFromInitialize"),er=w((t=>(Ve=Nt(Ve,t),Qe(Ve,Ke),Ve)),"updateSiteConfig"),rr=w((()=>Nt({},Ve)),"getSiteConfig"),nr=w((t=>(ur(t),Nt(Ze,t),ir())),"setConfig"),ir=w((()=>Nt({},Ze)),"getConfig"),ar=w((t=>{t&&(["secure",...Ve.secure??[]].forEach((e=>{Object.hasOwn(t,e)&&(r.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])})),Object.keys(t).forEach((e=>{e.startsWith("__")&&delete t[e]})),Object.keys(t).forEach((e=>{"string"==typeof t[e]&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],"object"==typeof t[e]&&ar(t[e])})))}),"sanitize"),or=w((t=>{je(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),Ke.push(t),Qe(Ve,Ke)}),"addDirective"),sr=w(((t=Ve)=>{Qe(t,Ke=[])}),"reset"),lr={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},cr={},hr=w((t=>{cr[t]||(r.warn(lr[t]),cr[t]=!0)}),"issueWarning"),ur=w((t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&hr("LAZY_LOAD_DEPRECATED")}),"checkConfig")})),nn=T(((t,e)=>{var r,n;r=t,n=function(){let{entries:t,setPrototypeOf:e,isFrozen:r,getPrototypeOf:n,getOwnPropertyDescriptor:i}=Object,{freeze:a,seal:o,create:s}=Object,{apply:l,construct:c}=typeof Reflect<"u"&&Reflect;a||(a=w((function(t){return t}),"freeze")),o||(o=w((function(t){return t}),"seal")),l||(l=w((function(t,e,r){return t.apply(e,r)}),"apply")),c||(c=w((function(t,e){return new t(...e)}),"construct"));let h=T(Array.prototype.forEach),u=T(Array.prototype.pop),d=T(Array.prototype.push),p=T(String.prototype.toLowerCase),f=T(String.prototype.toString),g=T(String.prototype.match),m=T(String.prototype.replace),y=T(String.prototype.indexOf),v=T(String.prototype.trim),x=T(Object.prototype.hasOwnProperty),b=T(RegExp.prototype.test),k=E(TypeError);function T(t){return function(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i2&&void 0!==arguments[2]?arguments[2]:p;e&&e(t,null);let a=n.length;for(;a--;){let e=n[a];if("string"==typeof e){let t=i(e);t!==e&&(r(n)||(n[a]=t),e=t)}t[e]=!0}return t}function C(t){for(let e=0;e/gm),G=o(/\${[\w\W]*}/gm),q=o(/^data-[\-\w.\u00B7-\uFFFF]/),Y=o(/^aria-[\-\w]+$/),j=o(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),H=o(/^(?:\w+script|data):/i),W=o(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),V=o(/^html$/i),X=o(/^[a-z][.\w]*(-[.\w]+)+$/i);var K=Object.freeze({__proto__:null,MUSTACHE_EXPR:z,ERB_EXPR:U,TMPLIT_EXPR:G,DATA_ATTR:q,ARIA_ATTR:Y,IS_ALLOWED_URI:j,IS_SCRIPT_OR_DATA:H,ATTR_WHITESPACE:W,DOCTYPE_NAME:V,CUSTOM_ELEMENT:X});let Z=w((function(){return typeof window>"u"?null:window}),"getGlobal"),Q=w((function(t,e){if("object"!=typeof t||"function"!=typeof t.createPolicy)return null;let r=null,n="data-tt-policy-suffix";e&&e.hasAttribute(n)&&(r=e.getAttribute(n));let i="dompurify"+(r?"#"+r:"");try{return t.createPolicy(i,{createHTML:t=>t,createScriptURL:t=>t})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}}),"_createTrustedTypesPolicy");function J(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Z(),r=w((t=>J(t)),"DOMPurify");if(r.version="3.1.6",r.removed=[],!e||!e.document||9!==e.document.nodeType)return r.isSupported=!1,r;let{document:n}=e,i=n,o=i.currentScript,{DocumentFragment:l,HTMLTemplateElement:c,Node:T,Element:E,NodeFilter:C,NamedNodeMap:z=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:U,DOMParser:G,trustedTypes:q}=e,Y=E.prototype,H=A(Y,"cloneNode"),W=A(Y,"remove"),X=A(Y,"nextSibling"),tt=A(Y,"childNodes"),et=A(Y,"parentNode");if("function"==typeof c){let t=n.createElement("template");t.content&&t.content.ownerDocument&&(n=t.content.ownerDocument)}let rt,nt="",{implementation:it,createNodeIterator:at,createDocumentFragment:ot,getElementsByTagName:st}=n,{importNode:lt}=i,ct={};r.isSupported="function"==typeof t&&"function"==typeof et&&it&&void 0!==it.createHTMLDocument;let{MUSTACHE_EXPR:ht,ERB_EXPR:ut,TMPLIT_EXPR:dt,DATA_ATTR:pt,ARIA_ATTR:ft,IS_SCRIPT_OR_DATA:gt,ATTR_WHITESPACE:mt,CUSTOM_ELEMENT:yt}=K,{IS_ALLOWED_URI:vt}=K,xt=null,bt=_({},[...L,...N,...I,...R,...O]),wt=null,kt=_({},[...P,...B,...F,...$]),Tt=Object.seal(s(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Et=null,_t=null,Ct=!0,St=!0,At=!1,Lt=!0,Nt=!1,It=!0,Mt=!1,Rt=!1,Dt=!1,Ot=!1,Pt=!1,Bt=!1,Ft=!0,$t=!1,zt=!0,Ut=!1,Gt={},qt=null,Yt=_({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),jt=null,Ht=_({},["audio","video","img","source","image","track"]),Wt=null,Vt=_({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Xt="http://www.w3.org/1998/Math/MathML",Kt="http://www.w3.org/2000/svg",Zt="http://www.w3.org/1999/xhtml",Qt=Zt,Jt=!1,te=null,ee=_({},[Xt,Kt,Zt],f),re=null,ne=["application/xhtml+xml","text/html"],ie=null,ae=null,oe=n.createElement("form"),se=w((function(t){return t instanceof RegExp||t instanceof Function}),"isRegexOrFunction"),le=w((function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!ae||ae!==t){if((!t||"object"!=typeof t)&&(t={}),t=S(t),re=-1===ne.indexOf(t.PARSER_MEDIA_TYPE)?"text/html":t.PARSER_MEDIA_TYPE,ie="application/xhtml+xml"===re?f:p,xt=x(t,"ALLOWED_TAGS")?_({},t.ALLOWED_TAGS,ie):bt,wt=x(t,"ALLOWED_ATTR")?_({},t.ALLOWED_ATTR,ie):kt,te=x(t,"ALLOWED_NAMESPACES")?_({},t.ALLOWED_NAMESPACES,f):ee,Wt=x(t,"ADD_URI_SAFE_ATTR")?_(S(Vt),t.ADD_URI_SAFE_ATTR,ie):Vt,jt=x(t,"ADD_DATA_URI_TAGS")?_(S(Ht),t.ADD_DATA_URI_TAGS,ie):Ht,qt=x(t,"FORBID_CONTENTS")?_({},t.FORBID_CONTENTS,ie):Yt,Et=x(t,"FORBID_TAGS")?_({},t.FORBID_TAGS,ie):{},_t=x(t,"FORBID_ATTR")?_({},t.FORBID_ATTR,ie):{},Gt=!!x(t,"USE_PROFILES")&&t.USE_PROFILES,Ct=!1!==t.ALLOW_ARIA_ATTR,St=!1!==t.ALLOW_DATA_ATTR,At=t.ALLOW_UNKNOWN_PROTOCOLS||!1,Lt=!1!==t.ALLOW_SELF_CLOSE_IN_ATTR,Nt=t.SAFE_FOR_TEMPLATES||!1,It=!1!==t.SAFE_FOR_XML,Mt=t.WHOLE_DOCUMENT||!1,Ot=t.RETURN_DOM||!1,Pt=t.RETURN_DOM_FRAGMENT||!1,Bt=t.RETURN_TRUSTED_TYPE||!1,Dt=t.FORCE_BODY||!1,Ft=!1!==t.SANITIZE_DOM,$t=t.SANITIZE_NAMED_PROPS||!1,zt=!1!==t.KEEP_CONTENT,Ut=t.IN_PLACE||!1,vt=t.ALLOWED_URI_REGEXP||j,Qt=t.NAMESPACE||Zt,Tt=t.CUSTOM_ELEMENT_HANDLING||{},t.CUSTOM_ELEMENT_HANDLING&&se(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Tt.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&se(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Tt.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(Tt.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Nt&&(St=!1),Pt&&(Ot=!0),Gt&&(xt=_({},O),wt=[],!0===Gt.html&&(_(xt,L),_(wt,P)),!0===Gt.svg&&(_(xt,N),_(wt,B),_(wt,$)),!0===Gt.svgFilters&&(_(xt,I),_(wt,B),_(wt,$)),!0===Gt.mathMl&&(_(xt,R),_(wt,F),_(wt,$))),t.ADD_TAGS&&(xt===bt&&(xt=S(xt)),_(xt,t.ADD_TAGS,ie)),t.ADD_ATTR&&(wt===kt&&(wt=S(wt)),_(wt,t.ADD_ATTR,ie)),t.ADD_URI_SAFE_ATTR&&_(Wt,t.ADD_URI_SAFE_ATTR,ie),t.FORBID_CONTENTS&&(qt===Yt&&(qt=S(qt)),_(qt,t.FORBID_CONTENTS,ie)),zt&&(xt["#text"]=!0),Mt&&_(xt,["html","head","body"]),xt.table&&(_(xt,["tbody"]),delete Et.tbody),t.TRUSTED_TYPES_POLICY){if("function"!=typeof t.TRUSTED_TYPES_POLICY.createHTML)throw k('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof t.TRUSTED_TYPES_POLICY.createScriptURL)throw k('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');rt=t.TRUSTED_TYPES_POLICY,nt=rt.createHTML("")}else void 0===rt&&(rt=Q(q,o)),null!==rt&&"string"==typeof nt&&(nt=rt.createHTML(""));a&&a(t),ae=t}}),"_parseConfig"),ce=_({},["mi","mo","mn","ms","mtext"]),he=_({},["foreignobject","annotation-xml"]),ue=_({},["title","style","font","a","script"]),de=_({},[...N,...I,...M]),pe=_({},[...R,...D]),fe=w((function(t){let e=et(t);(!e||!e.tagName)&&(e={namespaceURI:Qt,tagName:"template"});let r=p(t.tagName),n=p(e.tagName);return!!te[t.namespaceURI]&&(t.namespaceURI===Kt?e.namespaceURI===Zt?"svg"===r:e.namespaceURI===Xt?"svg"===r&&("annotation-xml"===n||ce[n]):!!de[r]:t.namespaceURI===Xt?e.namespaceURI===Zt?"math"===r:e.namespaceURI===Kt?"math"===r&&he[n]:!!pe[r]:t.namespaceURI===Zt?!(e.namespaceURI===Kt&&!he[n]||e.namespaceURI===Xt&&!ce[n])&&!pe[r]&&(ue[r]||!de[r]):!("application/xhtml+xml"!==re||!te[t.namespaceURI]))}),"_checkValidNamespace"),ge=w((function(t){d(r.removed,{element:t});try{et(t).removeChild(t)}catch{W(t)}}),"_forceRemove"),me=w((function(t,e){try{d(r.removed,{attribute:e.getAttributeNode(t),from:e})}catch{d(r.removed,{attribute:null,from:e})}if(e.removeAttribute(t),"is"===t&&!wt[t])if(Ot||Pt)try{ge(e)}catch{}else try{e.setAttribute(t,"")}catch{}}),"_removeAttribute"),ye=w((function(t){let e=null,r=null;if(Dt)t=""+t;else{let e=g(t,/^[\r\n\t ]+/);r=e&&e[0]}"application/xhtml+xml"===re&&Qt===Zt&&(t=''+t+"");let i=rt?rt.createHTML(t):t;if(Qt===Zt)try{e=(new G).parseFromString(i,re)}catch{}if(!e||!e.documentElement){e=it.createDocument(Qt,"template",null);try{e.documentElement.innerHTML=Jt?nt:i}catch{}}let a=e.body||e.documentElement;return t&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),Qt===Zt?st.call(e,Mt?"html":"body")[0]:Mt?e.documentElement:a}),"_initDocument"),ve=w((function(t){return at.call(t.ownerDocument||t,t,C.SHOW_ELEMENT|C.SHOW_COMMENT|C.SHOW_TEXT|C.SHOW_PROCESSING_INSTRUCTION|C.SHOW_CDATA_SECTION,null)}),"_createNodeIterator"),xe=w((function(t){return t instanceof U&&("string"!=typeof t.nodeName||"string"!=typeof t.textContent||"function"!=typeof t.removeChild||!(t.attributes instanceof z)||"function"!=typeof t.removeAttribute||"function"!=typeof t.setAttribute||"string"!=typeof t.namespaceURI||"function"!=typeof t.insertBefore||"function"!=typeof t.hasChildNodes)}),"_isClobbered"),be=w((function(t){return"function"==typeof T&&t instanceof T}),"_isNode"),we=w((function(t,e,n){ct[t]&&h(ct[t],(t=>{t.call(r,e,n,ae)}))}),"_executeHook"),ke=w((function(t){let e=null;if(we("beforeSanitizeElements",t,null),xe(t))return ge(t),!0;let n=ie(t.nodeName);if(we("uponSanitizeElement",t,{tagName:n,allowedTags:xt}),t.hasChildNodes()&&!be(t.firstElementChild)&&b(/<[/\w]/g,t.innerHTML)&&b(/<[/\w]/g,t.textContent)||7===t.nodeType||It&&8===t.nodeType&&b(/<[/\w]/g,t.data))return ge(t),!0;if(!xt[n]||Et[n]){if(!Et[n]&&Ee(n)&&(Tt.tagNameCheck instanceof RegExp&&b(Tt.tagNameCheck,n)||Tt.tagNameCheck instanceof Function&&Tt.tagNameCheck(n)))return!1;if(zt&&!qt[n]){let e=et(t)||t.parentNode,r=tt(t)||t.childNodes;if(r&&e)for(let n=r.length-1;n>=0;--n){let i=H(r[n],!0);i.__removalCount=(t.__removalCount||0)+1,e.insertBefore(i,X(t))}}return ge(t),!0}return t instanceof E&&!fe(t)||("noscript"===n||"noembed"===n||"noframes"===n)&&b(/<\/no(script|embed|frames)/i,t.innerHTML)?(ge(t),!0):(Nt&&3===t.nodeType&&(e=t.textContent,h([ht,ut,dt],(t=>{e=m(e,t," ")})),t.textContent!==e&&(d(r.removed,{element:t.cloneNode()}),t.textContent=e)),we("afterSanitizeElements",t,null),!1)}),"_sanitizeElements"),Te=w((function(t,e,r){if(Ft&&("id"===e||"name"===e)&&(r in n||r in oe))return!1;if((!St||_t[e]||!b(pt,e))&&(!Ct||!b(ft,e)))if(!wt[e]||_t[e]){if(!(Ee(t)&&(Tt.tagNameCheck instanceof RegExp&&b(Tt.tagNameCheck,t)||Tt.tagNameCheck instanceof Function&&Tt.tagNameCheck(t))&&(Tt.attributeNameCheck instanceof RegExp&&b(Tt.attributeNameCheck,e)||Tt.attributeNameCheck instanceof Function&&Tt.attributeNameCheck(e))||"is"===e&&Tt.allowCustomizedBuiltInElements&&(Tt.tagNameCheck instanceof RegExp&&b(Tt.tagNameCheck,r)||Tt.tagNameCheck instanceof Function&&Tt.tagNameCheck(r))))return!1}else if(!Wt[e]&&!b(vt,m(r,mt,""))&&("src"!==e&&"xlink:href"!==e&&"href"!==e||"script"===t||0!==y(r,"data:")||!jt[t])&&(!At||b(gt,m(r,mt,"")))&&r)return!1;return!0}),"_isValidAttribute"),Ee=w((function(t){return"annotation-xml"!==t&&g(t,yt)}),"_isBasicCustomElement"),_e=w((function(t){we("beforeSanitizeAttributes",t,null);let{attributes:e}=t;if(!e)return;let n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:wt},i=e.length;for(;i--;){let a=e[i],{name:o,namespaceURI:s,value:l}=a,c=ie(o),d="value"===o?l:v(l);if(n.attrName=c,n.attrValue=d,n.keepAttr=!0,n.forceKeepAttr=void 0,we("uponSanitizeAttribute",t,n),d=n.attrValue,It&&b(/((--!?|])>)|<\/(style|title)/i,d)){me(o,t);continue}if(n.forceKeepAttr||(me(o,t),!n.keepAttr))continue;if(!Lt&&b(/\/>/i,d)){me(o,t);continue}Nt&&h([ht,ut,dt],(t=>{d=m(d,t," ")}));let p=ie(t.nodeName);if(Te(p,c,d)){if($t&&("id"===c||"name"===c)&&(me(o,t),d="user-content-"+d),rt&&"object"==typeof q&&"function"==typeof q.getAttributeType&&!s)switch(q.getAttributeType(p,c)){case"TrustedHTML":d=rt.createHTML(d);break;case"TrustedScriptURL":d=rt.createScriptURL(d)}try{s?t.setAttributeNS(s,o,d):t.setAttribute(o,d),xe(t)?ge(t):u(r.removed)}catch{}}}we("afterSanitizeAttributes",t,null)}),"_sanitizeAttributes"),Ce=w((function t(e){let r=null,n=ve(e);for(we("beforeSanitizeShadowDOM",e,null);r=n.nextNode();)we("uponSanitizeShadowNode",r,null),!ke(r)&&(r.content instanceof l&&t(r.content),_e(r));we("afterSanitizeShadowDOM",e,null)}),"_sanitizeShadowDOM");return r.sanitize=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null,a=null,o=null,s=null;if(Jt=!t,Jt&&(t="\x3c!--\x3e"),"string"!=typeof t&&!be(t)){if("function"!=typeof t.toString)throw k("toString is not a function");if("string"!=typeof(t=t.toString()))throw k("dirty is not a string, aborting")}if(!r.isSupported)return t;if(Rt||le(e),r.removed=[],"string"==typeof t&&(Ut=!1),Ut){if(t.nodeName){let e=ie(t.nodeName);if(!xt[e]||Et[e])throw k("root node is forbidden and cannot be sanitized in-place")}}else if(t instanceof T)n=ye("\x3c!----\x3e"),a=n.ownerDocument.importNode(t,!0),1===a.nodeType&&"BODY"===a.nodeName||"HTML"===a.nodeName?n=a:n.appendChild(a);else{if(!Ot&&!Nt&&!Mt&&-1===t.indexOf("<"))return rt&&Bt?rt.createHTML(t):t;if(n=ye(t),!n)return Ot?null:Bt?nt:""}n&&Dt&&ge(n.firstChild);let c=ve(Ut?t:n);for(;o=c.nextNode();)ke(o)||(o.content instanceof l&&Ce(o.content),_e(o));if(Ut)return t;if(Ot){if(Pt)for(s=ot.call(n.ownerDocument);n.firstChild;)s.appendChild(n.firstChild);else s=n;return(wt.shadowroot||wt.shadowrootmode)&&(s=lt.call(i,s,!0)),s}let u=Mt?n.outerHTML:n.innerHTML;return Mt&&xt["!doctype"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&b(V,n.ownerDocument.doctype.name)&&(u="\n"+u),Nt&&h([ht,ut,dt],(t=>{u=m(u,t," ")})),rt&&Bt?rt.createHTML(u):u},r.setConfig=function(){le(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Rt=!0},r.clearConfig=function(){ae=null,Rt=!1},r.isValidAttribute=function(t,e,r){ae||le({});let n=ie(t),i=ie(e);return Te(n,i,r)},r.addHook=function(t,e){"function"==typeof e&&(ct[t]=ct[t]||[],d(ct[t],e))},r.removeHook=function(t){if(ct[t])return u(ct[t])},r.removeHooks=function(t){ct[t]&&(ct[t]=[])},r.removeAllHooks=function(){ct={}},r}return w(J,"createDOMPurify"),J()},"object"==typeof t&&typeof e<"u"?e.exports=n():"function"==typeof define&&define.amd?define(n):(r=typeof globalThis<"u"?globalThis:r||self).DOMPurify=n()})),an={};function on(t){return String(t).replace(Hn,(t=>jn[t]))}function sn(t){if(t.default)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if("string"!=typeof r)return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}function ln(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}function cn(t){for(var e=0;e=hi[e]&&t<=hi[e+1])return!0;return!1}function hn(t,e){Ei[t]=e}function un(t,e,r){if(!Ei[e])throw new Error("Font metrics not found for font: "+e+".");var n=t.charCodeAt(0),i=Ei[e][n];if(!i&&t[0]in Ci&&(n=Ci[t[0]].charCodeAt(0),i=Ei[e][n]),!i&&"text"===r&&cn(n)&&(i=Ei[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}function dn(t){var e;if(!Si[e=t>=5?0:t>=3?1:2]){var r=Si[e]={cssEmPerMu:_i.quad[e]/18};for(var n in _i)_i.hasOwnProperty(n)&&(r[n]=_i[n][e])}return Si[e]}function pn(t){if(t instanceof ji)return t;throw new Error("Expected symbolNode but got "+String(t)+".")}function fn(t){if(t instanceof Ui)return t;throw new Error("Expected span but got "+String(t)+".")}function gn(t,e,r,n,i,a){Zi[t][i]={font:e,group:r,replace:n},a&&n&&(Zi[t][n]=Zi[t][i])}function mn(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:o}=t,s={type:e,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:void 0===n.allowedInMath||n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},l=0;l0&&(o.push(vn(s,e)),s=[]),o.push(a[l]));s.length>0&&o.push(vn(s,e)),r?((i=vn(go(r,e,!0))).classes=["tag"],o.push(i)):n&&o.push(n);var h=co(["katex-html"],o);if(h.setAttribute("aria-hidden","true"),i){var u=i.children[0];u.style.height=Pi(h.height+h.depth),h.depth&&(u.style.verticalAlign=Pi(-h.depth))}return h}function bn(t){return new Ti(t)}function wn(t,e,r,n,i){var a,o=Lo(t,r);a=1===o.length&&o[0]instanceof ko&&Zn.contains(["mrow","mtable"],o[0].type)?o[0]:new _o.MathNode("mrow",o);var s=new _o.MathNode("annotation",[new _o.TextNode(e)]);s.setAttribute("encoding","application/x-tex");var l=new _o.MathNode("semantics",[a,s]),c=new _o.MathNode("math",[l]);c.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&c.setAttribute("display","block");var h=i?"katex":"katex-mathml";return Qa.makeSpan([h],[c])}function kn(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function Tn(t){var e=En(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function En(t){return t&&("atom"===t.type||Ki.hasOwnProperty(t.type))?t:null}function _n(t,e){var r=go(t.body,e,!0);return Wo([t.mclass],r,e)}function Cn(t,e){var r,n=Lo(t.body,e);return"minner"===t.mclass?r=new _o.MathNode("mpadded",n):"mord"===t.mclass?t.isCharacterBox?(r=n[0]).type="mi":r=new _o.MathNode("mi",n):(t.isCharacterBox?(r=n[0]).type="mo":r=new _o.MathNode("mo",n),"mbin"===t.mclass?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):"mpunct"===t.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):"mopen"===t.mclass||"mclose"===t.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0em"):"minner"===t.mclass&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}function Sn(t,e,r){var n=Xo[t];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":var i={type:"atom",text:n,mode:"math",family:"rel"},a={type:"ordgroup",mode:"math",body:[r.callFunction("\\\\cdleft",[e[0]],[]),r.callFunction("\\Big",[i],[]),r.callFunction("\\\\cdright",[e[1]],[])]};return r.callFunction("\\\\cdparent",[a],[]);case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":return r.callFunction("\\Big",[{type:"textord",text:"\\Vert",mode:"math"}],[]);default:return{type:"textord",text:" ",mode:"math"}}}function An(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var r=t.fetch().text;if("&"!==r&&"\\\\"!==r){if("\\end"===r){0===e[e.length-1].length&&e.pop();break}throw new zn("Expected \\\\ or \\cr or \\end",t.nextToken)}t.consume()}for(var n=[],i=[n],a=0;a-1)){if(!("<>AV".indexOf(c)>-1))throw new zn('Expected one of "<>AV=|." after @',o[l]);for(var u=0;u<2;u++){for(var d=!0,p=l+1;p1||!h)&&g.pop(),y.lengthQl});var Fn,$n,zn,Un,Gn,qn,Yn,jn,Hn,Wn,Vn,Xn,Kn,Zn,Qn,Jn,ti,ei,ri,ni,ii,ai,oi,si,li,ci,hi,ui,di,pi,fi,gi,mi,yi,vi,xi,bi,wi,ki,Ti,Ei,_i,Ci,Si,Ai,Li,Ni,Ii,Mi,Ri,Di,Oi,Pi,Bi,Fi,$i,zi,Ui,Gi,qi,Yi,ji,Hi,Wi,Vi,Xi,Ki,Zi,Qi,Ji,ta,ea,ra,na,ia,aa,oa,sa,la,ca,ha,ua,da,pa,fa,ga,ma,ya,va,xa,ba,wa,ka,Ta,Ea,_a,Ca,Sa,Aa,La,Na,Ia,Ma,Ra,Da,Oa,Pa,Ba,Fa,$a,za,Ua,Ga,qa,Ya,ja,Ha,Wa,Va,Xa,Ka,Za,Qa,Ja,to,eo,ro,no,io,ao,oo,so,lo,co,ho,uo,po,fo,go,mo,yo,vo,xo,bo,wo,ko,To,Eo,_o,Co,So,Ao,Lo,No,Io,Mo,Ro,Do,Oo,Po,Bo,Fo,$o,zo,Uo,Go,qo,Yo,jo,Ho,Wo,Vo,Xo,Ko,Zo,Qo,Jo,ts,es,rs,ns,is,as,os,ss,ls,cs,hs,us,ds,ps,fs,gs,ms,ys,vs,xs,bs,ws,ks,Ts,Es,_s,Cs,Ss,As,Ls,Ns,Is,Ms,Rs,Ds,Os,Ps,Bs,Fs,$s,zs,Us,Gs,qs,Ys,js,Hs,Ws,Vs,Xs,Ks,Zs,Qs,Js,tl,el,rl,nl,il,al,ol,sl,ll,cl,hl,ul,dl,pl,fl,gl,ml,yl,vl,xl,bl,wl,kl,Tl,El,_l,Cl,Sl,Al,Ll,Nl,Il,Ml,Rl,Dl,Ol,Pl,Bl,Fl,$l,zl,Ul,Gl,ql,Yl,jl,Hl,Wl,Vl,Xl,Kl,Zl,Ql,Jl=k((()=>{for(Fn=class t{static{w(this,"SourceLocation")}constructor(t,e,r){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=t,this.start=e,this.end=r}static range(e,r){return r?e&&e.loc&&r.loc&&e.loc.lexer===r.loc.lexer?new t(e.loc.lexer,e.loc.start,r.loc.end):null:e&&e.loc}},$n=class t{static{w(this,"Token")}constructor(t,e){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=t,this.loc=e}range(e,r){return new t(r,Fn.range(this,e))}},(zn=class t{static{w(this,"ParseError")}constructor(e,r){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var n,i,a="KaTeX parse error: "+e,o=r&&r.loc;if(o&&o.start<=o.end){var s=o.lexer.input;n=o.start,i=o.end,n===s.length?a+=" at end of input: ":a+=" at position "+(n+1)+": ";var l=s.slice(n,i).replace(/[^]/g,"$&̲");a+=(n>15?"…"+s.slice(n-15,n):s.slice(0,n))+l+(i+15":">","<":"<",'"':""","'":"'"},Hn=/[&><"']/g,w(on,"escape"),Wn=w((function t(e){return"ordgroup"===e.type||"color"===e.type?1===e.body.length?t(e.body[0]):e:"font"===e.type?t(e.body):e}),"getBaseElem"),Vn=w((function(t){var e=Wn(t);return"mathord"===e.type||"textord"===e.type||"atom"===e.type}),"isCharacterBox"),Xn=w((function(t){if(!t)throw new Error("Expected non-null, but got "+String(t));return t}),"assert"),Kn=w((function(t){var e=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(t);return e?":"===e[2]&&/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?e[1].toLowerCase():null:"_relative"}),"protocolFromUrl"),Zn={contains:Un,deflt:Gn,escape:on,hyphenate:Yn,getBaseElem:Wn,isCharacterBox:Vn,protocolFromUrl:Kn},Qn={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:w((t=>"#"+t),"cliProcessor")},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:w(((t,e)=>(e.push(t),e)),"cliProcessor")},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:w((t=>Math.max(0,t)),"processor"),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:w((t=>Math.max(0,t)),"processor"),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:w((t=>Math.max(0,t)),"processor"),cli:"-e, --max-expand ",cliProcessor:w((t=>"Infinity"===t?1/0:parseInt(t)),"cliProcessor")},globalGroup:{type:"boolean",cli:!1}},w(sn,"getDefaultValue"),Jn=class{static{w(this,"Settings")}constructor(t){for(var e in this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,t=t||{},Qn)if(Qn.hasOwnProperty(e)){var r=Qn[e];this[e]=void 0!==t[e]?r.processor?r.processor(t[e]):t[e]:sn(r)}}reportNonstrict(t,e,r){var n=this.strict;if("function"==typeof n&&(n=n(t,e,r)),n&&"ignore"!==n){if(!0===n||"error"===n)throw new zn("LaTeX-incompatible input and strict mode is set to 'error': "+e+" ["+t+"]",r);"warn"===n?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+e+" ["+t+"]"):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+n+"': "+e+" ["+t+"]")}}useStrictBehavior(t,e,r){var n=this.strict;if("function"==typeof n)try{n=n(t,e,r)}catch{n="error"}return!(!n||"ignore"===n||!0!==n&&"error"!==n&&("warn"===n?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+e+" ["+t+"]"),1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+n+"': "+e+" ["+t+"]"),1)))}isTrusted(t){if(t.url&&!t.protocol){var e=Zn.protocolFromUrl(t.url);if(null==e)return!1;t.protocol=e}return!!("function"==typeof this.trust?this.trust(t):this.trust)}},ti=class{static{w(this,"Style")}constructor(t,e,r){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=t,this.size=e,this.cramped=r}sup(){return ei[ri[this.id]]}sub(){return ei[ni[this.id]]}fracNum(){return ei[ii[this.id]]}fracDen(){return ei[ai[this.id]]}cramp(){return ei[oi[this.id]]}text(){return ei[si[this.id]]}isTight(){return this.size>=2}},ei=[new ti(0,0,!1),new ti(1,0,!0),new ti(2,1,!1),new ti(3,1,!0),new ti(4,2,!1),new ti(5,2,!0),new ti(6,3,!1),new ti(7,3,!0)],ri=[4,5,4,5,6,7,6,7],ni=[5,5,5,5,7,7,7,7],ii=[2,3,4,5,6,7,6,7],ai=[3,3,5,5,7,7,7,7],oi=[1,1,3,3,5,5,7,7],si=[0,1,2,3,2,3,2,3],li={DISPLAY:ei[0],TEXT:ei[2],SCRIPT:ei[4],SCRIPTSCRIPT:ei[6]},ci=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}],w(ln,"scriptFromCodepoint"),hi=[],ci.forEach((t=>t.blocks.forEach((t=>hi.push(...t))))),w(cn,"supportedCodepoint"),ui=80,di=w((function(t,e){return"M95,"+(622+t+e)+"\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl"+t/2.075+" -"+t+"\nc5.3,-9.3,12,-14,20,-14\nH400000v"+(40+t)+"H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM"+(834+t)+" "+e+"h400000v"+(40+t)+"h-400000z"}),"sqrtMain"),pi=w((function(t,e){return"M263,"+(601+t+e)+"c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl"+t/2.084+" -"+t+"\nc4.7,-7.3,11,-11,19,-11\nH40000v"+(40+t)+"H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM"+(1001+t)+" "+e+"h400000v"+(40+t)+"h-400000z"}),"sqrtSize1"),fi=w((function(t,e){return"M983 "+(10+t+e)+"\nl"+t/3.13+" -"+t+"\nc4,-6.7,10,-10,18,-10 H400000v"+(40+t)+"\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM"+(1001+t)+" "+e+"h400000v"+(40+t)+"h-400000z"}),"sqrtSize2"),gi=w((function(t,e){return"M424,"+(2398+t+e)+"\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl"+t/4.223+" -"+t+"c4,-6.7,10,-10,18,-10 H400000\nv"+(40+t)+"H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M"+(1001+t)+" "+e+"\nh400000v"+(40+t)+"h-400000z"}),"sqrtSize3"),mi=w((function(t,e){return"M473,"+(2713+t+e)+"\nc339.3,-1799.3,509.3,-2700,510,-2702 l"+t/5.298+" -"+t+"\nc3.3,-7.3,9.3,-11,18,-11 H400000v"+(40+t)+"H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM"+(1001+t)+" "+e+"h400000v"+(40+t)+"H1017.7z"}),"sqrtSize4"),yi=w((function(t){return"M400000 "+t+" H0 L"+t/2+" 0 l65 45 L145 "+(t-80)+" H400000z"}),"phasePath"),vi=w((function(t,e,r){return"M702 "+(t+e)+"H400000"+(40+t)+"\nH742v"+(r-54-e-t)+"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 "+e+"H400000v"+(40+t)+"H742z"}),"sqrtTall"),xi=w((function(t,e,r){e*=1e3;var n="";switch(t){case"sqrtMain":n=di(e,ui);break;case"sqrtSize1":n=pi(e,ui);break;case"sqrtSize2":n=fi(e,ui);break;case"sqrtSize3":n=gi(e,ui);break;case"sqrtSize4":n=mi(e,ui);break;case"sqrtTall":n=vi(e,ui,r)}return n}),"sqrtPath"),bi=w((function(t,e){switch(t){case"⎜":return"M291 0 H417 V"+e+" H291z M291 0 H417 V"+e+" H291z";case"∣":return"M145 0 H188 V"+e+" H145z M145 0 H188 V"+e+" H145z";case"∥":return"M145 0 H188 V"+e+" H145z M145 0 H188 V"+e+" H145zM367 0 H410 V"+e+" H367z M367 0 H410 V"+e+" H367z";case"⎟":return"M457 0 H583 V"+e+" H457z M457 0 H583 V"+e+" H457z";case"⎢":return"M319 0 H403 V"+e+" H319z M319 0 H403 V"+e+" H319z";case"⎥":return"M263 0 H347 V"+e+" H263z M263 0 H347 V"+e+" H263z";case"⎪":return"M384 0 H504 V"+e+" H384z M384 0 H504 V"+e+" H384z";case"⏐":return"M312 0 H355 V"+e+" H312z M312 0 H355 V"+e+" H312z";case"‖":return"M257 0 H300 V"+e+" H257z M257 0 H300 V"+e+" H257zM478 0 H521 V"+e+" H478z M478 0 H521 V"+e+" H478z";default:return""}}),"innerPath"),wi={doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:"M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",leftmapsto:"M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z",leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:"M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z",midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"},ki=w((function(t,e){switch(t){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+e+" v1759 h347 v-84\nH403z M403 1759 V0 H319 V1759 v"+e+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+e+" v1759 H0 v84 H347z\nM347 1759 V0 H263 V1759 v"+e+" v1759 h84z";case"vert":return"M145 15 v585 v"+e+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-e+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+e+" v585 h43z";case"doublevert":return"M145 15 v585 v"+e+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-e+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+e+" v585 h43z\nM367 15 v585 v"+e+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-e+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v"+e+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+e+" v1715 h263 v84 H319z\nMM319 602 V0 H403 V602 v"+e+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+e+" v1799 H0 v-84 H319z\nMM319 602 V0 H403 V602 v"+e+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+e+" v602 h84z\nM403 1759 V0 H319 V1759 v"+e+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+e+" v602 h84z\nM347 1759 V0 h-84 V1759 v"+e+" v602 h84z";case"lparen":return"M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\n-36,557 l0,"+(e+84)+"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\nl0,-"+(e+92)+"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z";case"rparen":return"M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,"+(e+9)+"\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\nc0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\nl0,-"+(e+144)+"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z";default:throw new Error("Unknown stretchy delimiter.")}}),"tallDelim"),Ti=class{static{w(this,"DocumentFragment")}constructor(t){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=t,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(t){return Zn.contains(this.classes,t)}toNode(){for(var t=document.createDocumentFragment(),e=0;et.toText()),"toText");return this.children.map(t).join("")}},Ei={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},_i={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Ci={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"},w(hn,"setFontMetrics"),w(un,"getCharacterMetrics"),Si={},w(dn,"getGlobalMetrics"),Ai=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],Li=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],Ni=w((function(t,e){return e.size<2?t:Ai[t-1][e.size-1]}),"sizeAtStyle"),(Ii=class t{static{w(this,"Options")}constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||t.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=Li[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var n in e)e.hasOwnProperty(n)&&(r[n]=e[n]);return new t(r)}havingStyle(t){return this.style===t?this:this.extend({style:t,size:Ni(this.textSize,t)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(t){return this.size===t&&this.textSize===t?this:this.extend({style:this.style.text(),size:t,textSize:t,sizeMultiplier:Li[t-1]})}havingBaseStyle(e){e=e||this.style.text();var r=Ni(t.BASESIZE,e);return this.size===r&&this.textSize===t.BASESIZE&&this.style===e?this:this.extend({style:e,size:r})}havingBaseSizing(){var t;switch(this.style.id){case 4:case 5:t=3;break;case 6:case 7:t=1;break;default:t=6}return this.extend({style:this.style.text(),size:t})}withColor(t){return this.extend({color:t})}withPhantom(){return this.extend({phantom:!0})}withFont(t){return this.extend({font:t})}withTextFontFamily(t){return this.extend({fontFamily:t,font:""})}withTextFontWeight(t){return this.extend({fontWeight:t,font:""})}withTextFontShape(t){return this.extend({fontShape:t,font:""})}sizingClasses(t){return t.size!==this.size?["sizing","reset-size"+t.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==t.BASESIZE?["sizing","reset-size"+this.size,"size"+t.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=dn(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}).BASESIZE=6,Mi={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:1.00375,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:1.00375},Ri={ex:!0,em:!0,mu:!0},Di=w((function(t){return"string"!=typeof t&&(t=t.unit),t in Mi||t in Ri||"ex"===t}),"validUnit"),Oi=w((function(t,e){var r;if(t.unit in Mi)r=Mi[t.unit]/e.fontMetrics().ptPerEm/e.sizeMultiplier;else if("mu"===t.unit)r=e.fontMetrics().cssEmPerMu;else{var n;if(n=e.style.isTight()?e.havingStyle(e.style.text()):e,"ex"===t.unit)r=n.fontMetrics().xHeight;else{if("em"!==t.unit)throw new zn("Invalid unit: '"+t.unit+"'");r=n.fontMetrics().quad}n!==e&&(r*=n.sizeMultiplier/e.sizeMultiplier)}return Math.min(t.number*r,e.maxSize)}),"calculateSize"),Pi=w((function(t){return+t.toFixed(4)+"em"}),"makeEm"),Bi=w((function(t){return t.filter((t=>t)).join(" ")}),"createClass"),Fi=w((function(t,e,r){if(this.classes=t||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=r||{},e){e.style.isTight()&&this.classes.push("mtight");var n=e.getColor();n&&(this.style.color=n)}}),"initNode"),$i=w((function(t){var e=document.createElement(t);for(var r in e.className=Bi(this.classes),this.style)this.style.hasOwnProperty(r)&&(e.style[r]=this.style[r]);for(var n in this.attributes)this.attributes.hasOwnProperty(n)&&e.setAttribute(n,this.attributes[n]);for(var i=0;i"}),"toMarkup"),Ui=class{static{w(this,"Span")}constructor(t,e,r,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,Fi.call(this,t,r,n),this.children=e||[]}setAttribute(t,e){this.attributes[t]=e}hasClass(t){return Zn.contains(this.classes,t)}toNode(){return $i.call(this,"span")}toMarkup(){return zi.call(this,"span")}},Gi=class{static{w(this,"Anchor")}constructor(t,e,r,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,Fi.call(this,e,n),this.children=r||[],this.setAttribute("href",t)}setAttribute(t,e){this.attributes[t]=e}hasClass(t){return Zn.contains(this.classes,t)}toNode(){return $i.call(this,"a")}toMarkup(){return zi.call(this,"a")}},qi=class{static{w(this,"Img")}constructor(t,e,r){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=e,this.src=t,this.classes=["mord"],this.style=r}hasClass(t){return Zn.contains(this.classes,t)}toNode(){var t=document.createElement("img");for(var e in t.src=this.src,t.alt=this.alt,t.className="mord",this.style)this.style.hasOwnProperty(e)&&(t.style[e]=this.style[e]);return t}toMarkup(){var t=''+Zn.escape(this.alt)+'"}},Yi={î:"ı̂",ï:"ı̈",í:"ı́",ì:"ı̀"},ji=class{static{w(this,"SymbolNode")}constructor(t,e,r,n,i,a,o,s){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=t,this.height=e||0,this.depth=r||0,this.italic=n||0,this.skew=i||0,this.width=a||0,this.classes=o||[],this.style=s||{},this.maxFontSize=0;var l=ln(this.text.charCodeAt(0));l&&this.classes.push(l+"_fallback"),/[îïíì]/.test(this.text)&&(this.text=Yi[this.text])}hasClass(t){return Zn.contains(this.classes,t)}toNode(){var t=document.createTextNode(this.text),e=null;for(var r in this.italic>0&&((e=document.createElement("span")).style.marginRight=Pi(this.italic)),this.classes.length>0&&((e=e||document.createElement("span")).className=Bi(this.classes)),this.style)this.style.hasOwnProperty(r)&&((e=e||document.createElement("span")).style[r]=this.style[r]);return e?(e.appendChild(t),e):t}toMarkup(){var t=!1,e="0&&(r+="margin-right:"+this.italic+"em;"),this.style)this.style.hasOwnProperty(n)&&(r+=Zn.hyphenate(n)+":"+this.style[n]+";");r&&(t=!0,e+=' style="'+Zn.escape(r)+'"');var i=Zn.escape(this.text);return t?(e+=">",e+=i,e+=""):i}},Hi=class{static{w(this,"SvgNode")}constructor(t,e){this.children=void 0,this.attributes=void 0,this.children=t||[],this.attributes=e||{}}toNode(){var t=document.createElementNS("http://www.w3.org/2000/svg","svg");for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);for(var r=0;r"}},Wi=class{static{w(this,"PathNode")}constructor(t,e){this.pathName=void 0,this.alternate=void 0,this.pathName=t,this.alternate=e}toNode(){var t=document.createElementNS("http://www.w3.org/2000/svg","path");return this.alternate?t.setAttribute("d",this.alternate):t.setAttribute("d",wi[this.pathName]),t}toMarkup(){return this.alternate?'':''}},Vi=class{static{w(this,"LineNode")}constructor(t){this.attributes=void 0,this.attributes=t||{}}toNode(){var t=document.createElementNS("http://www.w3.org/2000/svg","line");for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);return t}toMarkup(){var t=""}},w(pn,"assertSymbolDomNode"),w(fn,"assertSpan"),Xi={bin:1,close:1,inner:1,open:1,punct:1,rel:1},Ki={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},Zi={math:{},text:{}},w(gn,"defineSymbol"),Ji="text",ea="ams",ra="accent-token",na="bin",ia="close",aa="inner",oa="mathord",sa="op-token",la="open",ca="punct",ua="spacing",da="textord",gn(Qi="math",ta="main",ha="rel","≡","\\equiv",!0),gn(Qi,ta,ha,"≺","\\prec",!0),gn(Qi,ta,ha,"≻","\\succ",!0),gn(Qi,ta,ha,"∼","\\sim",!0),gn(Qi,ta,ha,"⊥","\\perp"),gn(Qi,ta,ha,"⪯","\\preceq",!0),gn(Qi,ta,ha,"⪰","\\succeq",!0),gn(Qi,ta,ha,"≃","\\simeq",!0),gn(Qi,ta,ha,"∣","\\mid",!0),gn(Qi,ta,ha,"≪","\\ll",!0),gn(Qi,ta,ha,"≫","\\gg",!0),gn(Qi,ta,ha,"≍","\\asymp",!0),gn(Qi,ta,ha,"∥","\\parallel"),gn(Qi,ta,ha,"⋈","\\bowtie",!0),gn(Qi,ta,ha,"⌣","\\smile",!0),gn(Qi,ta,ha,"⊑","\\sqsubseteq",!0),gn(Qi,ta,ha,"⊒","\\sqsupseteq",!0),gn(Qi,ta,ha,"≐","\\doteq",!0),gn(Qi,ta,ha,"⌢","\\frown",!0),gn(Qi,ta,ha,"∋","\\ni",!0),gn(Qi,ta,ha,"∝","\\propto",!0),gn(Qi,ta,ha,"⊢","\\vdash",!0),gn(Qi,ta,ha,"⊣","\\dashv",!0),gn(Qi,ta,ha,"∋","\\owns"),gn(Qi,ta,ca,".","\\ldotp"),gn(Qi,ta,ca,"⋅","\\cdotp"),gn(Qi,ta,da,"#","\\#"),gn(Ji,ta,da,"#","\\#"),gn(Qi,ta,da,"&","\\&"),gn(Ji,ta,da,"&","\\&"),gn(Qi,ta,da,"ℵ","\\aleph",!0),gn(Qi,ta,da,"∀","\\forall",!0),gn(Qi,ta,da,"ℏ","\\hbar",!0),gn(Qi,ta,da,"∃","\\exists",!0),gn(Qi,ta,da,"∇","\\nabla",!0),gn(Qi,ta,da,"♭","\\flat",!0),gn(Qi,ta,da,"ℓ","\\ell",!0),gn(Qi,ta,da,"♮","\\natural",!0),gn(Qi,ta,da,"♣","\\clubsuit",!0),gn(Qi,ta,da,"℘","\\wp",!0),gn(Qi,ta,da,"♯","\\sharp",!0),gn(Qi,ta,da,"♢","\\diamondsuit",!0),gn(Qi,ta,da,"ℜ","\\Re",!0),gn(Qi,ta,da,"♡","\\heartsuit",!0),gn(Qi,ta,da,"ℑ","\\Im",!0),gn(Qi,ta,da,"♠","\\spadesuit",!0),gn(Qi,ta,da,"§","\\S",!0),gn(Ji,ta,da,"§","\\S"),gn(Qi,ta,da,"¶","\\P",!0),gn(Ji,ta,da,"¶","\\P"),gn(Qi,ta,da,"†","\\dag"),gn(Ji,ta,da,"†","\\dag"),gn(Ji,ta,da,"†","\\textdagger"),gn(Qi,ta,da,"‡","\\ddag"),gn(Ji,ta,da,"‡","\\ddag"),gn(Ji,ta,da,"‡","\\textdaggerdbl"),gn(Qi,ta,ia,"⎱","\\rmoustache",!0),gn(Qi,ta,la,"⎰","\\lmoustache",!0),gn(Qi,ta,ia,"⟯","\\rgroup",!0),gn(Qi,ta,la,"⟮","\\lgroup",!0),gn(Qi,ta,na,"∓","\\mp",!0),gn(Qi,ta,na,"⊖","\\ominus",!0),gn(Qi,ta,na,"⊎","\\uplus",!0),gn(Qi,ta,na,"⊓","\\sqcap",!0),gn(Qi,ta,na,"∗","\\ast"),gn(Qi,ta,na,"⊔","\\sqcup",!0),gn(Qi,ta,na,"◯","\\bigcirc",!0),gn(Qi,ta,na,"∙","\\bullet",!0),gn(Qi,ta,na,"‡","\\ddagger"),gn(Qi,ta,na,"≀","\\wr",!0),gn(Qi,ta,na,"⨿","\\amalg"),gn(Qi,ta,na,"&","\\And"),gn(Qi,ta,ha,"⟵","\\longleftarrow",!0),gn(Qi,ta,ha,"⇐","\\Leftarrow",!0),gn(Qi,ta,ha,"⟸","\\Longleftarrow",!0),gn(Qi,ta,ha,"⟶","\\longrightarrow",!0),gn(Qi,ta,ha,"⇒","\\Rightarrow",!0),gn(Qi,ta,ha,"⟹","\\Longrightarrow",!0),gn(Qi,ta,ha,"↔","\\leftrightarrow",!0),gn(Qi,ta,ha,"⟷","\\longleftrightarrow",!0),gn(Qi,ta,ha,"⇔","\\Leftrightarrow",!0),gn(Qi,ta,ha,"⟺","\\Longleftrightarrow",!0),gn(Qi,ta,ha,"↦","\\mapsto",!0),gn(Qi,ta,ha,"⟼","\\longmapsto",!0),gn(Qi,ta,ha,"↗","\\nearrow",!0),gn(Qi,ta,ha,"↩","\\hookleftarrow",!0),gn(Qi,ta,ha,"↪","\\hookrightarrow",!0),gn(Qi,ta,ha,"↘","\\searrow",!0),gn(Qi,ta,ha,"↼","\\leftharpoonup",!0),gn(Qi,ta,ha,"⇀","\\rightharpoonup",!0),gn(Qi,ta,ha,"↙","\\swarrow",!0),gn(Qi,ta,ha,"↽","\\leftharpoondown",!0),gn(Qi,ta,ha,"⇁","\\rightharpoondown",!0),gn(Qi,ta,ha,"↖","\\nwarrow",!0),gn(Qi,ta,ha,"⇌","\\rightleftharpoons",!0),gn(Qi,ea,ha,"≮","\\nless",!0),gn(Qi,ea,ha,"","\\@nleqslant"),gn(Qi,ea,ha,"","\\@nleqq"),gn(Qi,ea,ha,"⪇","\\lneq",!0),gn(Qi,ea,ha,"≨","\\lneqq",!0),gn(Qi,ea,ha,"","\\@lvertneqq"),gn(Qi,ea,ha,"⋦","\\lnsim",!0),gn(Qi,ea,ha,"⪉","\\lnapprox",!0),gn(Qi,ea,ha,"⊀","\\nprec",!0),gn(Qi,ea,ha,"⋠","\\npreceq",!0),gn(Qi,ea,ha,"⋨","\\precnsim",!0),gn(Qi,ea,ha,"⪹","\\precnapprox",!0),gn(Qi,ea,ha,"≁","\\nsim",!0),gn(Qi,ea,ha,"","\\@nshortmid"),gn(Qi,ea,ha,"∤","\\nmid",!0),gn(Qi,ea,ha,"⊬","\\nvdash",!0),gn(Qi,ea,ha,"⊭","\\nvDash",!0),gn(Qi,ea,ha,"⋪","\\ntriangleleft"),gn(Qi,ea,ha,"⋬","\\ntrianglelefteq",!0),gn(Qi,ea,ha,"⊊","\\subsetneq",!0),gn(Qi,ea,ha,"","\\@varsubsetneq"),gn(Qi,ea,ha,"⫋","\\subsetneqq",!0),gn(Qi,ea,ha,"","\\@varsubsetneqq"),gn(Qi,ea,ha,"≯","\\ngtr",!0),gn(Qi,ea,ha,"","\\@ngeqslant"),gn(Qi,ea,ha,"","\\@ngeqq"),gn(Qi,ea,ha,"⪈","\\gneq",!0),gn(Qi,ea,ha,"≩","\\gneqq",!0),gn(Qi,ea,ha,"","\\@gvertneqq"),gn(Qi,ea,ha,"⋧","\\gnsim",!0),gn(Qi,ea,ha,"⪊","\\gnapprox",!0),gn(Qi,ea,ha,"⊁","\\nsucc",!0),gn(Qi,ea,ha,"⋡","\\nsucceq",!0),gn(Qi,ea,ha,"⋩","\\succnsim",!0),gn(Qi,ea,ha,"⪺","\\succnapprox",!0),gn(Qi,ea,ha,"≆","\\ncong",!0),gn(Qi,ea,ha,"","\\@nshortparallel"),gn(Qi,ea,ha,"∦","\\nparallel",!0),gn(Qi,ea,ha,"⊯","\\nVDash",!0),gn(Qi,ea,ha,"⋫","\\ntriangleright"),gn(Qi,ea,ha,"⋭","\\ntrianglerighteq",!0),gn(Qi,ea,ha,"","\\@nsupseteqq"),gn(Qi,ea,ha,"⊋","\\supsetneq",!0),gn(Qi,ea,ha,"","\\@varsupsetneq"),gn(Qi,ea,ha,"⫌","\\supsetneqq",!0),gn(Qi,ea,ha,"","\\@varsupsetneqq"),gn(Qi,ea,ha,"⊮","\\nVdash",!0),gn(Qi,ea,ha,"⪵","\\precneqq",!0),gn(Qi,ea,ha,"⪶","\\succneqq",!0),gn(Qi,ea,ha,"","\\@nsubseteqq"),gn(Qi,ea,na,"⊴","\\unlhd"),gn(Qi,ea,na,"⊵","\\unrhd"),gn(Qi,ea,ha,"↚","\\nleftarrow",!0),gn(Qi,ea,ha,"↛","\\nrightarrow",!0),gn(Qi,ea,ha,"⇍","\\nLeftarrow",!0),gn(Qi,ea,ha,"⇏","\\nRightarrow",!0),gn(Qi,ea,ha,"↮","\\nleftrightarrow",!0),gn(Qi,ea,ha,"⇎","\\nLeftrightarrow",!0),gn(Qi,ea,ha,"△","\\vartriangle"),gn(Qi,ea,da,"ℏ","\\hslash"),gn(Qi,ea,da,"▽","\\triangledown"),gn(Qi,ea,da,"◊","\\lozenge"),gn(Qi,ea,da,"Ⓢ","\\circledS"),gn(Qi,ea,da,"®","\\circledR"),gn(Ji,ea,da,"®","\\circledR"),gn(Qi,ea,da,"∡","\\measuredangle",!0),gn(Qi,ea,da,"∄","\\nexists"),gn(Qi,ea,da,"℧","\\mho"),gn(Qi,ea,da,"Ⅎ","\\Finv",!0),gn(Qi,ea,da,"⅁","\\Game",!0),gn(Qi,ea,da,"‵","\\backprime"),gn(Qi,ea,da,"▲","\\blacktriangle"),gn(Qi,ea,da,"▼","\\blacktriangledown"),gn(Qi,ea,da,"■","\\blacksquare"),gn(Qi,ea,da,"⧫","\\blacklozenge"),gn(Qi,ea,da,"★","\\bigstar"),gn(Qi,ea,da,"∢","\\sphericalangle",!0),gn(Qi,ea,da,"∁","\\complement",!0),gn(Qi,ea,da,"ð","\\eth",!0),gn(Ji,ta,da,"ð","ð"),gn(Qi,ea,da,"╱","\\diagup"),gn(Qi,ea,da,"╲","\\diagdown"),gn(Qi,ea,da,"□","\\square"),gn(Qi,ea,da,"□","\\Box"),gn(Qi,ea,da,"◊","\\Diamond"),gn(Qi,ea,da,"¥","\\yen",!0),gn(Ji,ea,da,"¥","\\yen",!0),gn(Qi,ea,da,"✓","\\checkmark",!0),gn(Ji,ea,da,"✓","\\checkmark"),gn(Qi,ea,da,"ℶ","\\beth",!0),gn(Qi,ea,da,"ℸ","\\daleth",!0),gn(Qi,ea,da,"ℷ","\\gimel",!0),gn(Qi,ea,da,"ϝ","\\digamma",!0),gn(Qi,ea,da,"ϰ","\\varkappa"),gn(Qi,ea,la,"┌","\\@ulcorner",!0),gn(Qi,ea,ia,"┐","\\@urcorner",!0),gn(Qi,ea,la,"└","\\@llcorner",!0),gn(Qi,ea,ia,"┘","\\@lrcorner",!0),gn(Qi,ea,ha,"≦","\\leqq",!0),gn(Qi,ea,ha,"⩽","\\leqslant",!0),gn(Qi,ea,ha,"⪕","\\eqslantless",!0),gn(Qi,ea,ha,"≲","\\lesssim",!0),gn(Qi,ea,ha,"⪅","\\lessapprox",!0),gn(Qi,ea,ha,"≊","\\approxeq",!0),gn(Qi,ea,na,"⋖","\\lessdot"),gn(Qi,ea,ha,"⋘","\\lll",!0),gn(Qi,ea,ha,"≶","\\lessgtr",!0),gn(Qi,ea,ha,"⋚","\\lesseqgtr",!0),gn(Qi,ea,ha,"⪋","\\lesseqqgtr",!0),gn(Qi,ea,ha,"≑","\\doteqdot"),gn(Qi,ea,ha,"≓","\\risingdotseq",!0),gn(Qi,ea,ha,"≒","\\fallingdotseq",!0),gn(Qi,ea,ha,"∽","\\backsim",!0),gn(Qi,ea,ha,"⋍","\\backsimeq",!0),gn(Qi,ea,ha,"⫅","\\subseteqq",!0),gn(Qi,ea,ha,"⋐","\\Subset",!0),gn(Qi,ea,ha,"⊏","\\sqsubset",!0),gn(Qi,ea,ha,"≼","\\preccurlyeq",!0),gn(Qi,ea,ha,"⋞","\\curlyeqprec",!0),gn(Qi,ea,ha,"≾","\\precsim",!0),gn(Qi,ea,ha,"⪷","\\precapprox",!0),gn(Qi,ea,ha,"⊲","\\vartriangleleft"),gn(Qi,ea,ha,"⊴","\\trianglelefteq"),gn(Qi,ea,ha,"⊨","\\vDash",!0),gn(Qi,ea,ha,"⊪","\\Vvdash",!0),gn(Qi,ea,ha,"⌣","\\smallsmile"),gn(Qi,ea,ha,"⌢","\\smallfrown"),gn(Qi,ea,ha,"≏","\\bumpeq",!0),gn(Qi,ea,ha,"≎","\\Bumpeq",!0),gn(Qi,ea,ha,"≧","\\geqq",!0),gn(Qi,ea,ha,"⩾","\\geqslant",!0),gn(Qi,ea,ha,"⪖","\\eqslantgtr",!0),gn(Qi,ea,ha,"≳","\\gtrsim",!0),gn(Qi,ea,ha,"⪆","\\gtrapprox",!0),gn(Qi,ea,na,"⋗","\\gtrdot"),gn(Qi,ea,ha,"⋙","\\ggg",!0),gn(Qi,ea,ha,"≷","\\gtrless",!0),gn(Qi,ea,ha,"⋛","\\gtreqless",!0),gn(Qi,ea,ha,"⪌","\\gtreqqless",!0),gn(Qi,ea,ha,"≖","\\eqcirc",!0),gn(Qi,ea,ha,"≗","\\circeq",!0),gn(Qi,ea,ha,"≜","\\triangleq",!0),gn(Qi,ea,ha,"∼","\\thicksim"),gn(Qi,ea,ha,"≈","\\thickapprox"),gn(Qi,ea,ha,"⫆","\\supseteqq",!0),gn(Qi,ea,ha,"⋑","\\Supset",!0),gn(Qi,ea,ha,"⊐","\\sqsupset",!0),gn(Qi,ea,ha,"≽","\\succcurlyeq",!0),gn(Qi,ea,ha,"⋟","\\curlyeqsucc",!0),gn(Qi,ea,ha,"≿","\\succsim",!0),gn(Qi,ea,ha,"⪸","\\succapprox",!0),gn(Qi,ea,ha,"⊳","\\vartriangleright"),gn(Qi,ea,ha,"⊵","\\trianglerighteq"),gn(Qi,ea,ha,"⊩","\\Vdash",!0),gn(Qi,ea,ha,"∣","\\shortmid"),gn(Qi,ea,ha,"∥","\\shortparallel"),gn(Qi,ea,ha,"≬","\\between",!0),gn(Qi,ea,ha,"⋔","\\pitchfork",!0),gn(Qi,ea,ha,"∝","\\varpropto"),gn(Qi,ea,ha,"◀","\\blacktriangleleft"),gn(Qi,ea,ha,"∴","\\therefore",!0),gn(Qi,ea,ha,"∍","\\backepsilon"),gn(Qi,ea,ha,"▶","\\blacktriangleright"),gn(Qi,ea,ha,"∵","\\because",!0),gn(Qi,ea,ha,"⋘","\\llless"),gn(Qi,ea,ha,"⋙","\\gggtr"),gn(Qi,ea,na,"⊲","\\lhd"),gn(Qi,ea,na,"⊳","\\rhd"),gn(Qi,ea,ha,"≂","\\eqsim",!0),gn(Qi,ta,ha,"⋈","\\Join"),gn(Qi,ea,ha,"≑","\\Doteq",!0),gn(Qi,ea,na,"∔","\\dotplus",!0),gn(Qi,ea,na,"∖","\\smallsetminus"),gn(Qi,ea,na,"⋒","\\Cap",!0),gn(Qi,ea,na,"⋓","\\Cup",!0),gn(Qi,ea,na,"⩞","\\doublebarwedge",!0),gn(Qi,ea,na,"⊟","\\boxminus",!0),gn(Qi,ea,na,"⊞","\\boxplus",!0),gn(Qi,ea,na,"⋇","\\divideontimes",!0),gn(Qi,ea,na,"⋉","\\ltimes",!0),gn(Qi,ea,na,"⋊","\\rtimes",!0),gn(Qi,ea,na,"⋋","\\leftthreetimes",!0),gn(Qi,ea,na,"⋌","\\rightthreetimes",!0),gn(Qi,ea,na,"⋏","\\curlywedge",!0),gn(Qi,ea,na,"⋎","\\curlyvee",!0),gn(Qi,ea,na,"⊝","\\circleddash",!0),gn(Qi,ea,na,"⊛","\\circledast",!0),gn(Qi,ea,na,"⋅","\\centerdot"),gn(Qi,ea,na,"⊺","\\intercal",!0),gn(Qi,ea,na,"⋒","\\doublecap"),gn(Qi,ea,na,"⋓","\\doublecup"),gn(Qi,ea,na,"⊠","\\boxtimes",!0),gn(Qi,ea,ha,"⇢","\\dashrightarrow",!0),gn(Qi,ea,ha,"⇠","\\dashleftarrow",!0),gn(Qi,ea,ha,"⇇","\\leftleftarrows",!0),gn(Qi,ea,ha,"⇆","\\leftrightarrows",!0),gn(Qi,ea,ha,"⇚","\\Lleftarrow",!0),gn(Qi,ea,ha,"↞","\\twoheadleftarrow",!0),gn(Qi,ea,ha,"↢","\\leftarrowtail",!0),gn(Qi,ea,ha,"↫","\\looparrowleft",!0),gn(Qi,ea,ha,"⇋","\\leftrightharpoons",!0),gn(Qi,ea,ha,"↶","\\curvearrowleft",!0),gn(Qi,ea,ha,"↺","\\circlearrowleft",!0),gn(Qi,ea,ha,"↰","\\Lsh",!0),gn(Qi,ea,ha,"⇈","\\upuparrows",!0),gn(Qi,ea,ha,"↿","\\upharpoonleft",!0),gn(Qi,ea,ha,"⇃","\\downharpoonleft",!0),gn(Qi,ta,ha,"⊶","\\origof",!0),gn(Qi,ta,ha,"⊷","\\imageof",!0),gn(Qi,ea,ha,"⊸","\\multimap",!0),gn(Qi,ea,ha,"↭","\\leftrightsquigarrow",!0),gn(Qi,ea,ha,"⇉","\\rightrightarrows",!0),gn(Qi,ea,ha,"⇄","\\rightleftarrows",!0),gn(Qi,ea,ha,"↠","\\twoheadrightarrow",!0),gn(Qi,ea,ha,"↣","\\rightarrowtail",!0),gn(Qi,ea,ha,"↬","\\looparrowright",!0),gn(Qi,ea,ha,"↷","\\curvearrowright",!0),gn(Qi,ea,ha,"↻","\\circlearrowright",!0),gn(Qi,ea,ha,"↱","\\Rsh",!0),gn(Qi,ea,ha,"⇊","\\downdownarrows",!0),gn(Qi,ea,ha,"↾","\\upharpoonright",!0),gn(Qi,ea,ha,"⇂","\\downharpoonright",!0),gn(Qi,ea,ha,"⇝","\\rightsquigarrow",!0),gn(Qi,ea,ha,"⇝","\\leadsto"),gn(Qi,ea,ha,"⇛","\\Rrightarrow",!0),gn(Qi,ea,ha,"↾","\\restriction"),gn(Qi,ta,da,"‘","`"),gn(Qi,ta,da,"$","\\$"),gn(Ji,ta,da,"$","\\$"),gn(Ji,ta,da,"$","\\textdollar"),gn(Qi,ta,da,"%","\\%"),gn(Ji,ta,da,"%","\\%"),gn(Qi,ta,da,"_","\\_"),gn(Ji,ta,da,"_","\\_"),gn(Ji,ta,da,"_","\\textunderscore"),gn(Qi,ta,da,"∠","\\angle",!0),gn(Qi,ta,da,"∞","\\infty",!0),gn(Qi,ta,da,"′","\\prime"),gn(Qi,ta,da,"△","\\triangle"),gn(Qi,ta,da,"Γ","\\Gamma",!0),gn(Qi,ta,da,"Δ","\\Delta",!0),gn(Qi,ta,da,"Θ","\\Theta",!0),gn(Qi,ta,da,"Λ","\\Lambda",!0),gn(Qi,ta,da,"Ξ","\\Xi",!0),gn(Qi,ta,da,"Π","\\Pi",!0),gn(Qi,ta,da,"Σ","\\Sigma",!0),gn(Qi,ta,da,"Υ","\\Upsilon",!0),gn(Qi,ta,da,"Φ","\\Phi",!0),gn(Qi,ta,da,"Ψ","\\Psi",!0),gn(Qi,ta,da,"Ω","\\Omega",!0),gn(Qi,ta,da,"A","Α"),gn(Qi,ta,da,"B","Β"),gn(Qi,ta,da,"E","Ε"),gn(Qi,ta,da,"Z","Ζ"),gn(Qi,ta,da,"H","Η"),gn(Qi,ta,da,"I","Ι"),gn(Qi,ta,da,"K","Κ"),gn(Qi,ta,da,"M","Μ"),gn(Qi,ta,da,"N","Ν"),gn(Qi,ta,da,"O","Ο"),gn(Qi,ta,da,"P","Ρ"),gn(Qi,ta,da,"T","Τ"),gn(Qi,ta,da,"X","Χ"),gn(Qi,ta,da,"¬","\\neg",!0),gn(Qi,ta,da,"¬","\\lnot"),gn(Qi,ta,da,"⊤","\\top"),gn(Qi,ta,da,"⊥","\\bot"),gn(Qi,ta,da,"∅","\\emptyset"),gn(Qi,ea,da,"∅","\\varnothing"),gn(Qi,ta,oa,"α","\\alpha",!0),gn(Qi,ta,oa,"β","\\beta",!0),gn(Qi,ta,oa,"γ","\\gamma",!0),gn(Qi,ta,oa,"δ","\\delta",!0),gn(Qi,ta,oa,"ϵ","\\epsilon",!0),gn(Qi,ta,oa,"ζ","\\zeta",!0),gn(Qi,ta,oa,"η","\\eta",!0),gn(Qi,ta,oa,"θ","\\theta",!0),gn(Qi,ta,oa,"ι","\\iota",!0),gn(Qi,ta,oa,"κ","\\kappa",!0),gn(Qi,ta,oa,"λ","\\lambda",!0),gn(Qi,ta,oa,"μ","\\mu",!0),gn(Qi,ta,oa,"ν","\\nu",!0),gn(Qi,ta,oa,"ξ","\\xi",!0),gn(Qi,ta,oa,"ο","\\omicron",!0),gn(Qi,ta,oa,"π","\\pi",!0),gn(Qi,ta,oa,"ρ","\\rho",!0),gn(Qi,ta,oa,"σ","\\sigma",!0),gn(Qi,ta,oa,"τ","\\tau",!0),gn(Qi,ta,oa,"υ","\\upsilon",!0),gn(Qi,ta,oa,"ϕ","\\phi",!0),gn(Qi,ta,oa,"χ","\\chi",!0),gn(Qi,ta,oa,"ψ","\\psi",!0),gn(Qi,ta,oa,"ω","\\omega",!0),gn(Qi,ta,oa,"ε","\\varepsilon",!0),gn(Qi,ta,oa,"ϑ","\\vartheta",!0),gn(Qi,ta,oa,"ϖ","\\varpi",!0),gn(Qi,ta,oa,"ϱ","\\varrho",!0),gn(Qi,ta,oa,"ς","\\varsigma",!0),gn(Qi,ta,oa,"φ","\\varphi",!0),gn(Qi,ta,na,"∗","*",!0),gn(Qi,ta,na,"+","+"),gn(Qi,ta,na,"−","-",!0),gn(Qi,ta,na,"⋅","\\cdot",!0),gn(Qi,ta,na,"∘","\\circ",!0),gn(Qi,ta,na,"÷","\\div",!0),gn(Qi,ta,na,"±","\\pm",!0),gn(Qi,ta,na,"×","\\times",!0),gn(Qi,ta,na,"∩","\\cap",!0),gn(Qi,ta,na,"∪","\\cup",!0),gn(Qi,ta,na,"∖","\\setminus",!0),gn(Qi,ta,na,"∧","\\land"),gn(Qi,ta,na,"∨","\\lor"),gn(Qi,ta,na,"∧","\\wedge",!0),gn(Qi,ta,na,"∨","\\vee",!0),gn(Qi,ta,da,"√","\\surd"),gn(Qi,ta,la,"⟨","\\langle",!0),gn(Qi,ta,la,"∣","\\lvert"),gn(Qi,ta,la,"∥","\\lVert"),gn(Qi,ta,ia,"?","?"),gn(Qi,ta,ia,"!","!"),gn(Qi,ta,ia,"⟩","\\rangle",!0),gn(Qi,ta,ia,"∣","\\rvert"),gn(Qi,ta,ia,"∥","\\rVert"),gn(Qi,ta,ha,"=","="),gn(Qi,ta,ha,":",":"),gn(Qi,ta,ha,"≈","\\approx",!0),gn(Qi,ta,ha,"≅","\\cong",!0),gn(Qi,ta,ha,"≥","\\ge"),gn(Qi,ta,ha,"≥","\\geq",!0),gn(Qi,ta,ha,"←","\\gets"),gn(Qi,ta,ha,">","\\gt",!0),gn(Qi,ta,ha,"∈","\\in",!0),gn(Qi,ta,ha,"","\\@not"),gn(Qi,ta,ha,"⊂","\\subset",!0),gn(Qi,ta,ha,"⊃","\\supset",!0),gn(Qi,ta,ha,"⊆","\\subseteq",!0),gn(Qi,ta,ha,"⊇","\\supseteq",!0),gn(Qi,ea,ha,"⊈","\\nsubseteq",!0),gn(Qi,ea,ha,"⊉","\\nsupseteq",!0),gn(Qi,ta,ha,"⊨","\\models"),gn(Qi,ta,ha,"←","\\leftarrow",!0),gn(Qi,ta,ha,"≤","\\le"),gn(Qi,ta,ha,"≤","\\leq",!0),gn(Qi,ta,ha,"<","\\lt",!0),gn(Qi,ta,ha,"→","\\rightarrow",!0),gn(Qi,ta,ha,"→","\\to"),gn(Qi,ea,ha,"≱","\\ngeq",!0),gn(Qi,ea,ha,"≰","\\nleq",!0),gn(Qi,ta,ua," ","\\ "),gn(Qi,ta,ua," ","\\space"),gn(Qi,ta,ua," ","\\nobreakspace"),gn(Ji,ta,ua," ","\\ "),gn(Ji,ta,ua," "," "),gn(Ji,ta,ua," ","\\space"),gn(Ji,ta,ua," ","\\nobreakspace"),gn(Qi,ta,ua,null,"\\nobreak"),gn(Qi,ta,ua,null,"\\allowbreak"),gn(Qi,ta,ca,",",","),gn(Qi,ta,ca,";",";"),gn(Qi,ea,na,"⊼","\\barwedge",!0),gn(Qi,ea,na,"⊻","\\veebar",!0),gn(Qi,ta,na,"⊙","\\odot",!0),gn(Qi,ta,na,"⊕","\\oplus",!0),gn(Qi,ta,na,"⊗","\\otimes",!0),gn(Qi,ta,da,"∂","\\partial",!0),gn(Qi,ta,na,"⊘","\\oslash",!0),gn(Qi,ea,na,"⊚","\\circledcirc",!0),gn(Qi,ea,na,"⊡","\\boxdot",!0),gn(Qi,ta,na,"△","\\bigtriangleup"),gn(Qi,ta,na,"▽","\\bigtriangledown"),gn(Qi,ta,na,"†","\\dagger"),gn(Qi,ta,na,"⋄","\\diamond"),gn(Qi,ta,na,"⋆","\\star"),gn(Qi,ta,na,"◃","\\triangleleft"),gn(Qi,ta,na,"▹","\\triangleright"),gn(Qi,ta,la,"{","\\{"),gn(Ji,ta,da,"{","\\{"),gn(Ji,ta,da,"{","\\textbraceleft"),gn(Qi,ta,ia,"}","\\}"),gn(Ji,ta,da,"}","\\}"),gn(Ji,ta,da,"}","\\textbraceright"),gn(Qi,ta,la,"{","\\lbrace"),gn(Qi,ta,ia,"}","\\rbrace"),gn(Qi,ta,la,"[","\\lbrack",!0),gn(Ji,ta,da,"[","\\lbrack",!0),gn(Qi,ta,ia,"]","\\rbrack",!0),gn(Ji,ta,da,"]","\\rbrack",!0),gn(Qi,ta,la,"(","\\lparen",!0),gn(Qi,ta,ia,")","\\rparen",!0),gn(Ji,ta,da,"<","\\textless",!0),gn(Ji,ta,da,">","\\textgreater",!0),gn(Qi,ta,la,"⌊","\\lfloor",!0),gn(Qi,ta,ia,"⌋","\\rfloor",!0),gn(Qi,ta,la,"⌈","\\lceil",!0),gn(Qi,ta,ia,"⌉","\\rceil",!0),gn(Qi,ta,da,"\\","\\backslash"),gn(Qi,ta,da,"∣","|"),gn(Qi,ta,da,"∣","\\vert"),gn(Ji,ta,da,"|","\\textbar",!0),gn(Qi,ta,da,"∥","\\|"),gn(Qi,ta,da,"∥","\\Vert"),gn(Ji,ta,da,"∥","\\textbardbl"),gn(Ji,ta,da,"~","\\textasciitilde"),gn(Ji,ta,da,"\\","\\textbackslash"),gn(Ji,ta,da,"^","\\textasciicircum"),gn(Qi,ta,ha,"↑","\\uparrow",!0),gn(Qi,ta,ha,"⇑","\\Uparrow",!0),gn(Qi,ta,ha,"↓","\\downarrow",!0),gn(Qi,ta,ha,"⇓","\\Downarrow",!0),gn(Qi,ta,ha,"↕","\\updownarrow",!0),gn(Qi,ta,ha,"⇕","\\Updownarrow",!0),gn(Qi,ta,sa,"∐","\\coprod"),gn(Qi,ta,sa,"⋁","\\bigvee"),gn(Qi,ta,sa,"⋀","\\bigwedge"),gn(Qi,ta,sa,"⨄","\\biguplus"),gn(Qi,ta,sa,"⋂","\\bigcap"),gn(Qi,ta,sa,"⋃","\\bigcup"),gn(Qi,ta,sa,"∫","\\int"),gn(Qi,ta,sa,"∫","\\intop"),gn(Qi,ta,sa,"∬","\\iint"),gn(Qi,ta,sa,"∭","\\iiint"),gn(Qi,ta,sa,"∏","\\prod"),gn(Qi,ta,sa,"∑","\\sum"),gn(Qi,ta,sa,"⨂","\\bigotimes"),gn(Qi,ta,sa,"⨁","\\bigoplus"),gn(Qi,ta,sa,"⨀","\\bigodot"),gn(Qi,ta,sa,"∮","\\oint"),gn(Qi,ta,sa,"∯","\\oiint"),gn(Qi,ta,sa,"∰","\\oiiint"),gn(Qi,ta,sa,"⨆","\\bigsqcup"),gn(Qi,ta,sa,"∫","\\smallint"),gn(Ji,ta,aa,"…","\\textellipsis"),gn(Qi,ta,aa,"…","\\mathellipsis"),gn(Ji,ta,aa,"…","\\ldots",!0),gn(Qi,ta,aa,"…","\\ldots",!0),gn(Qi,ta,aa,"⋯","\\@cdots",!0),gn(Qi,ta,aa,"⋱","\\ddots",!0),gn(Qi,ta,da,"⋮","\\varvdots"),gn(Qi,ta,ra,"ˊ","\\acute"),gn(Qi,ta,ra,"ˋ","\\grave"),gn(Qi,ta,ra,"¨","\\ddot"),gn(Qi,ta,ra,"~","\\tilde"),gn(Qi,ta,ra,"ˉ","\\bar"),gn(Qi,ta,ra,"˘","\\breve"),gn(Qi,ta,ra,"ˇ","\\check"),gn(Qi,ta,ra,"^","\\hat"),gn(Qi,ta,ra,"⃗","\\vec"),gn(Qi,ta,ra,"˙","\\dot"),gn(Qi,ta,ra,"˚","\\mathring"),gn(Qi,ta,oa,"","\\@imath"),gn(Qi,ta,oa,"","\\@jmath"),gn(Qi,ta,da,"ı","ı"),gn(Qi,ta,da,"ȷ","ȷ"),gn(Ji,ta,da,"ı","\\i",!0),gn(Ji,ta,da,"ȷ","\\j",!0),gn(Ji,ta,da,"ß","\\ss",!0),gn(Ji,ta,da,"æ","\\ae",!0),gn(Ji,ta,da,"œ","\\oe",!0),gn(Ji,ta,da,"ø","\\o",!0),gn(Ji,ta,da,"Æ","\\AE",!0),gn(Ji,ta,da,"Œ","\\OE",!0),gn(Ji,ta,da,"Ø","\\O",!0),gn(Ji,ta,ra,"ˊ","\\'"),gn(Ji,ta,ra,"ˋ","\\`"),gn(Ji,ta,ra,"ˆ","\\^"),gn(Ji,ta,ra,"˜","\\~"),gn(Ji,ta,ra,"ˉ","\\="),gn(Ji,ta,ra,"˘","\\u"),gn(Ji,ta,ra,"˙","\\."),gn(Ji,ta,ra,"¸","\\c"),gn(Ji,ta,ra,"˚","\\r"),gn(Ji,ta,ra,"ˇ","\\v"),gn(Ji,ta,ra,"¨",'\\"'),gn(Ji,ta,ra,"˝","\\H"),gn(Ji,ta,ra,"◯","\\textcircled"),pa={"--":!0,"---":!0,"``":!0,"''":!0},gn(Ji,ta,da,"–","--",!0),gn(Ji,ta,da,"–","\\textendash"),gn(Ji,ta,da,"—","---",!0),gn(Ji,ta,da,"—","\\textemdash"),gn(Ji,ta,da,"‘","`",!0),gn(Ji,ta,da,"‘","\\textquoteleft"),gn(Ji,ta,da,"’","'",!0),gn(Ji,ta,da,"’","\\textquoteright"),gn(Ji,ta,da,"“","``",!0),gn(Ji,ta,da,"“","\\textquotedblleft"),gn(Ji,ta,da,"”","''",!0),gn(Ji,ta,da,"”","\\textquotedblright"),gn(Qi,ta,da,"°","\\degree",!0),gn(Ji,ta,da,"°","\\degree"),gn(Ji,ta,da,"°","\\textdegree",!0),gn(Qi,ta,da,"£","\\pounds"),gn(Qi,ta,da,"£","\\mathsterling",!0),gn(Ji,ta,da,"£","\\pounds"),gn(Ji,ta,da,"£","\\textsterling",!0),gn(Qi,ea,da,"✠","\\maltese"),gn(Ji,ea,da,"✠","\\maltese"),ga=0;ga<14;ga++)fa='0123456789/@."'.charAt(ga),gn(Qi,ta,da,fa,fa);for(ya=0;ya<25;ya++)ma='0123456789!@*()-=+";:?/.,'.charAt(ya),gn(Ji,ta,da,ma,ma);for(va="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",ba=0;ba<52;ba++)xa=va.charAt(ba),gn(Qi,ta,oa,xa,xa),gn(Ji,ta,da,xa,xa);for(gn(Qi,ea,da,"C","ℂ"),gn(Ji,ea,da,"C","ℂ"),gn(Qi,ea,da,"H","ℍ"),gn(Ji,ea,da,"H","ℍ"),gn(Qi,ea,da,"N","ℕ"),gn(Ji,ea,da,"N","ℕ"),gn(Qi,ea,da,"P","ℙ"),gn(Ji,ea,da,"P","ℙ"),gn(Qi,ea,da,"Q","ℚ"),gn(Ji,ea,da,"Q","ℚ"),gn(Qi,ea,da,"R","ℝ"),gn(Ji,ea,da,"R","ℝ"),gn(Qi,ea,da,"Z","ℤ"),gn(Ji,ea,da,"Z","ℤ"),gn(Qi,ta,oa,"h","ℎ"),gn(Ji,ta,oa,"h","ℎ"),wa="",Ta=0;Ta<52;Ta++)ka=va.charAt(Ta),wa=String.fromCharCode(55349,56320+Ta),gn(Qi,ta,oa,ka,wa),gn(Ji,ta,da,ka,wa),wa=String.fromCharCode(55349,56372+Ta),gn(Qi,ta,oa,ka,wa),gn(Ji,ta,da,ka,wa),wa=String.fromCharCode(55349,56424+Ta),gn(Qi,ta,oa,ka,wa),gn(Ji,ta,da,ka,wa),wa=String.fromCharCode(55349,56580+Ta),gn(Qi,ta,oa,ka,wa),gn(Ji,ta,da,ka,wa),wa=String.fromCharCode(55349,56684+Ta),gn(Qi,ta,oa,ka,wa),gn(Ji,ta,da,ka,wa),wa=String.fromCharCode(55349,56736+Ta),gn(Qi,ta,oa,ka,wa),gn(Ji,ta,da,ka,wa),wa=String.fromCharCode(55349,56788+Ta),gn(Qi,ta,oa,ka,wa),gn(Ji,ta,da,ka,wa),wa=String.fromCharCode(55349,56840+Ta),gn(Qi,ta,oa,ka,wa),gn(Ji,ta,da,ka,wa),wa=String.fromCharCode(55349,56944+Ta),gn(Qi,ta,oa,ka,wa),gn(Ji,ta,da,ka,wa),Ta<26&&(wa=String.fromCharCode(55349,56632+Ta),gn(Qi,ta,oa,ka,wa),gn(Ji,ta,da,ka,wa),wa=String.fromCharCode(55349,56476+Ta),gn(Qi,ta,oa,ka,wa),gn(Ji,ta,da,ka,wa));for(gn(Qi,ta,oa,"k",wa="𝕜"),gn(Ji,ta,da,"k",wa),_a=0;_a<10;_a++)Ea=_a.toString(),wa=String.fromCharCode(55349,57294+_a),gn(Qi,ta,oa,Ea,wa),gn(Ji,ta,da,Ea,wa),wa=String.fromCharCode(55349,57314+_a),gn(Qi,ta,oa,Ea,wa),gn(Ji,ta,da,Ea,wa),wa=String.fromCharCode(55349,57324+_a),gn(Qi,ta,oa,Ea,wa),gn(Ji,ta,da,Ea,wa),wa=String.fromCharCode(55349,57334+_a),gn(Qi,ta,oa,Ea,wa),gn(Ji,ta,da,Ea,wa);for(Sa=0;Sa<3;Sa++)Ca="ÐÞþ".charAt(Sa),gn(Qi,ta,oa,Ca,Ca),gn(Ji,ta,da,Ca,Ca);Aa=[["mathbf","textbf","Main-Bold"],["mathbf","textbf","Main-Bold"],["mathnormal","textit","Math-Italic"],["mathnormal","textit","Math-Italic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["mathscr","textscr","Script-Regular"],["","",""],["","",""],["","",""],["mathfrak","textfrak","Fraktur-Regular"],["mathfrak","textfrak","Fraktur-Regular"],["mathbb","textbb","AMS-Regular"],["mathbb","textbb","AMS-Regular"],["mathboldfrak","textboldfrak","Fraktur-Regular"],["mathboldfrak","textboldfrak","Fraktur-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathitsf","textitsf","SansSerif-Italic"],["mathitsf","textitsf","SansSerif-Italic"],["","",""],["","",""],["mathtt","texttt","Typewriter-Regular"],["mathtt","texttt","Typewriter-Regular"]],La=[["mathbf","textbf","Main-Bold"],["","",""],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathtt","texttt","Typewriter-Regular"]],Na=w((function(t,e){var r=1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536,n="math"===e?0:1;if(119808<=r&&r<120484){var i=Math.floor((r-119808)/26);return[Aa[i][2],Aa[i][n]]}if(120782<=r&&r<=120831){var a=Math.floor((r-120782)/10);return[La[a][2],La[a][n]]}if(120485===r||120486===r)return[Aa[0][2],Aa[0][n]];if(1204860)return Ma(i,l,n,e,a.concat(c));if(s){var h,u;if("boldsymbol"===s){var d=Da(i,n,e,a,r);h=d.fontName,u=[d.fontClass]}else o?(h=Xa[s].fontName,u=[s]):(h=Va(s,e.fontWeight,e.fontShape),u=[s,e.fontWeight,e.fontShape]);if(Ia(i,h,n).metrics)return Ma(i,h,n,e,a.concat(u));if(pa.hasOwnProperty(i)&&"Typewriter"===h.slice(0,10)){for(var p=[],f=0;f{if(Bi(t.classes)!==Bi(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize)return!1;if(1===t.classes.length){var r=t.classes[0];if("mbin"===r||"mord"===r)return!1}for(var n in t.style)if(t.style.hasOwnProperty(n)&&t.style[n]!==e.style[n])return!1;for(var i in e.style)if(e.style.hasOwnProperty(i)&&t.style[i]!==e.style[i])return!1;return!0}),"canCombine"),Ba=w((t=>{for(var e=0;ee&&(e=a.height),a.depth>r&&(r=a.depth),a.maxFontSize>n&&(n=a.maxFontSize)}t.height=e,t.depth=r,t.maxFontSize=n}),"sizeElementFromChildren"),$a=w((function(t,e,r,n){var i=new Ui(t,e,r,n);return Fa(i),i}),"makeSpan"),za=w(((t,e,r,n)=>new Ui(t,e,r,n)),"makeSvgSpan"),Ua=w((function(t,e,r){var n=$a([t],[],e);return n.height=Math.max(r||e.fontMetrics().defaultRuleThickness,e.minRuleThickness),n.style.borderBottomWidth=Pi(n.height),n.maxFontSize=1,n}),"makeLineSpan"),Ga=w((function(t,e,r,n){var i=new Gi(t,e,r,n);return Fa(i),i}),"makeAnchor"),qa=w((function(t){var e=new Ti(t);return Fa(e),e}),"makeFragment"),Ya=w((function(t,e){return t instanceof Ti?$a([],[t],e):t}),"wrapFragment"),ja=w((function(t){if("individualShift"===t.positionType){for(var e=t.children,r=[e[0]],n=-e[0].shift-e[0].elem.depth,i=n,a=1;a{var r=$a(["mspace"],[],e),n=Oi(t,e);return r.style.marginRight=Pi(n),r}),"makeGlue"),Va=w((function(t,e,r){var n="";switch(t){case"amsrm":n="AMS";break;case"textrm":n="Main";break;case"textsf":n="SansSerif";break;case"texttt":n="Typewriter";break;default:n=t}return n+"-"+("textbf"===e&&"textit"===r?"BoldItalic":"textbf"===e?"Bold":"textit"===e?"Italic":"Regular")}),"retrieveTextFontName"),Xa={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},Ka={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},Za=w((function(t,e){var[r,n,i]=Ka[t],a=new Wi(r),o=new Hi([a],{width:Pi(n),height:Pi(i),style:"width:"+Pi(n),viewBox:"0 0 "+1e3*n+" "+1e3*i,preserveAspectRatio:"xMinYMin"}),s=za(["overlay"],[o],e);return s.height=i,s.style.height=Pi(i),s.style.width=Pi(n),s}),"staticSvg"),Qa={fontMap:Xa,makeSymbol:Ma,mathsym:Ra,makeSpan:$a,makeSvgSpan:za,makeLineSpan:Ua,makeAnchor:Ga,makeFragment:qa,wrapFragment:Ya,makeVList:Ha,makeOrd:Oa,makeGlue:Wa,staticSvg:Za,svgData:Ka,tryCombineChars:Ba},ro={mord:{mop:Ja={number:3,unit:"mu"},mbin:to={number:4,unit:"mu"},mrel:eo={number:5,unit:"mu"},minner:Ja},mop:{mord:Ja,mop:Ja,mrel:eo,minner:Ja},mbin:{mord:to,mop:to,mopen:to,minner:to},mrel:{mord:eo,mop:eo,mopen:eo,minner:eo},mopen:{},mclose:{mop:Ja,mbin:to,mrel:eo,minner:Ja},mpunct:{mord:Ja,mop:Ja,mrel:eo,mopen:Ja,mclose:Ja,mpunct:Ja,minner:Ja},minner:{mord:Ja,mop:Ja,mbin:to,mrel:eo,mopen:Ja,mpunct:Ja,minner:Ja}},no={mord:{mop:Ja},mop:{mord:Ja,mop:Ja},mbin:{},mrel:{},mopen:{},mclose:{mop:Ja},mpunct:{},minner:{mop:Ja}},io={},ao={},oo={},w(mn,"defineFunction"),w(yn,"defineFunctionBuilders"),so=w((function(t){return"ordgroup"===t.type&&1===t.body.length?t.body[0]:t}),"normalizeArgument"),lo=w((function(t){return"ordgroup"===t.type?t.body:[t]}),"ordargument"),co=Qa.makeSpan,ho=["leftmost","mbin","mopen","mrel","mop","mpunct"],uo=["rightmost","mrel","mclose","mpunct"],po={display:li.DISPLAY,text:li.TEXT,script:li.SCRIPT,scriptscript:li.SCRIPTSCRIPT},fo={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},go=w((function(t,e,r,n){void 0===n&&(n=[null,null]);for(var i=[],a=0;a{var r=e.classes[0],n=t.classes[0];"mbin"===r&&Zn.contains(uo,n)?e.classes[0]="mord":"mbin"===n&&Zn.contains(ho,r)&&(t.classes[0]="mord")}),{node:h},u,d),mo(i,((t,e)=>{var r=xo(e),n=xo(t),i=r&&n?t.hasClass("mtight")?no[r][n]:ro[r][n]:null;if(i)return Qa.makeGlue(i,l)}),{node:h},u,d),i}),"buildExpression"),mo=w((function t(e,r,n,i,a){i&&e.push(i);for(var o=0;or=>{e.splice(t+1,0,r),o++})(o)}}i&&e.pop()}),"traverseNonSpaceNodes"),yo=w((function(t){return t instanceof Ti||t instanceof Gi||t instanceof Ui&&t.hasClass("enclosing")?t:null}),"checkPartialGroup"),vo=w((function t(e,r){var n=yo(e);if(n){var i=n.children;if(i.length){if("right"===r)return t(i[i.length-1],"right");if("left"===r)return t(i[0],"left")}}return e}),"getOutermostNode"),xo=w((function(t,e){return t?(e&&(t=vo(t,e)),fo[t.classes[0]]||null):null}),"getTypeOfDomTree"),bo=w((function(t,e){var r=["nulldelimiter"].concat(t.baseSizingClasses());return co(e.concat(r))}),"makeNullDelimiter"),wo=w((function(t,e,r){if(!t)return co();if(ao[t.type]){var n=ao[t.type](t,e);if(r&&e.size!==r.size){n=co(e.sizingClasses(r),[n],e);var i=e.sizeMultiplier/r.sizeMultiplier;n.height*=i,n.depth*=i}return n}throw new zn("Got group of unknown type: '"+t.type+"'")}),"buildGroup"),w(vn,"buildHTMLUnbreakable"),w(xn,"buildHTML"),w(bn,"newDocumentFragment"),ko=class{static{w(this,"MathNode")}constructor(t,e,r){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=t,this.attributes={},this.children=e||[],this.classes=r||[]}setAttribute(t,e){this.attributes[t]=e}getAttribute(t){return this.attributes[t]}toNode(){var t=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&t.setAttribute(e,this.attributes[e]);this.classes.length>0&&(t.className=Bi(this.classes));for(var r=0;r0&&(t+=' class ="'+Zn.escape(Bi(this.classes))+'"'),t+=">";for(var r=0;r"}toText(){return this.children.map((t=>t.toText())).join("")}},To=class{static{w(this,"TextNode")}constructor(t){this.text=void 0,this.text=t}toNode(){return document.createTextNode(this.text)}toMarkup(){return Zn.escape(this.toText())}toText(){return this.text}},Eo=class{static{w(this,"SpaceNode")}constructor(t){this.width=void 0,this.character=void 0,this.width=t,this.character=t>=.05555&&t<=.05556?" ":t>=.1666&&t<=.1667?" ":t>=.2222&&t<=.2223?" ":t>=.2777&&t<=.2778?"  ":t>=-.05556&&t<=-.05555?" ⁣":t>=-.1667&&t<=-.1666?" ⁣":t>=-.2223&&t<=-.2222?" ⁣":t>=-.2778&&t<=-.2777?" ⁣":null}toNode(){if(this.character)return document.createTextNode(this.character);var t=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return t.setAttribute("width",Pi(this.width)),t}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}},_o={MathNode:ko,TextNode:To,SpaceNode:Eo,newDocumentFragment:bn},Co=w((function(t,e,r){return Zi[e][t]&&Zi[e][t].replace&&55349!==t.charCodeAt(0)&&!(pa.hasOwnProperty(t)&&r&&(r.fontFamily&&"tt"===r.fontFamily.slice(4,6)||r.font&&"tt"===r.font.slice(4,6)))&&(t=Zi[e][t].replace),new _o.TextNode(t)}),"makeText"),So=w((function(t){return 1===t.length?t[0]:new _o.MathNode("mrow",t)}),"makeRow"),Ao=w((function(t,e){if("texttt"===e.fontFamily)return"monospace";if("textsf"===e.fontFamily)return"textit"===e.fontShape&&"textbf"===e.fontWeight?"sans-serif-bold-italic":"textit"===e.fontShape?"sans-serif-italic":"textbf"===e.fontWeight?"bold-sans-serif":"sans-serif";if("textit"===e.fontShape&&"textbf"===e.fontWeight)return"bold-italic";if("textit"===e.fontShape)return"italic";if("textbf"===e.fontWeight)return"bold";var r=e.font;if(!r||"mathnormal"===r)return null;var n=t.mode;if("mathit"===r)return"italic";if("boldsymbol"===r)return"textord"===t.type?"bold":"bold-italic";if("mathbf"===r)return"bold";if("mathbb"===r)return"double-struck";if("mathfrak"===r)return"fraktur";if("mathscr"===r||"mathcal"===r)return"script";if("mathsf"===r)return"sans-serif";if("mathtt"===r)return"monospace";var i=t.text;return Zn.contains(["\\imath","\\jmath"],i)?null:(Zi[n][i]&&Zi[n][i].replace&&(i=Zi[n][i].replace),un(i,Qa.fontMap[r].fontName,n)?Qa.fontMap[r].variant:null)}),"getVariant"),Lo=w((function(t,e,r){if(1===t.length){var n=Io(t[0],e);return r&&n instanceof ko&&"mo"===n.type&&(n.setAttribute("lspace","0em"),n.setAttribute("rspace","0em")),[n]}for(var i,a=[],o=0;o0&&(h.text=h.text.slice(0,1)+"̸"+h.text.slice(1),a.pop())}}}a.push(s),i=s}return a}),"buildExpression"),No=w((function(t,e,r){return So(Lo(t,e,r))}),"buildExpressionRow"),Io=w((function(t,e){if(!t)return new _o.MathNode("mrow");if(oo[t.type])return oo[t.type](t,e);throw new zn("Got group of unknown type: '"+t.type+"'")}),"buildGroup"),w(wn,"buildMathML"),Mo=w((function(t){return new Ii({style:t.displayMode?li.DISPLAY:li.TEXT,maxSize:t.maxSize,minRuleThickness:t.minRuleThickness})}),"optionsFromSettings"),Ro=w((function(t,e){if(e.displayMode){var r=["katex-display"];e.leqno&&r.push("leqno"),e.fleqn&&r.push("fleqn"),t=Qa.makeSpan(r,[t])}return t}),"displayWrap"),Do=w((function(t,e,r){var n,i=Mo(r);if("mathml"===r.output)return wn(t,e,i,r.displayMode,!0);if("html"===r.output){var a=xn(t,i);n=Qa.makeSpan(["katex"],[a])}else{var o=wn(t,e,i,r.displayMode,!1),s=xn(t,i);n=Qa.makeSpan(["katex"],[o,s])}return Ro(n,r)}),"buildTree"),Oo=w((function(t,e,r){var n=xn(t,Mo(r)),i=Qa.makeSpan(["katex"],[n]);return Ro(i,r)}),"buildHTMLTree"),Po={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},Bo=w((function(t){var e=new _o.MathNode("mo",[new _o.TextNode(Po[t.replace(/^\\/,"")])]);return e.setAttribute("stretchy","true"),e}),"mathMLnode"),Fo={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},$o=w((function(t){return"ordgroup"===t.type?t.body.length:1}),"groupLength"),zo=w((function(t,e){function r(){var r=4e5,n=t.label.slice(1);if(Zn.contains(["widehat","widecheck","widetilde","utilde"],n)){var i,a,o,s=$o(t.base);if(s>5)"widehat"===n||"widecheck"===n?(i=420,r=2364,o=.42,a=n+"4"):(i=312,r=2340,o=.34,a="tilde4");else{var l=[1,1,2,2,3,3][s];"widehat"===n||"widecheck"===n?(r=[0,1062,2364,2364,2364][l],i=[0,239,300,360,420][l],o=[0,.24,.3,.3,.36,.42][l],a=n+l):(r=[0,600,1033,2339,2340][l],i=[0,260,286,306,312][l],o=[0,.26,.286,.3,.306,.34][l],a="tilde"+l)}var c=new Wi(a),h=new Hi([c],{width:"100%",height:Pi(o),viewBox:"0 0 "+r+" "+i,preserveAspectRatio:"none"});return{span:Qa.makeSvgSpan([],[h],e),minWidth:0,height:o}}var u,d,p=[],f=Fo[n],[g,m,y]=f,v=y/1e3,x=g.length;if(1===x)u=["hide-tail"],d=[f[3]];else if(2===x)u=["halfarrow-left","halfarrow-right"],d=["xMinYMin","xMaxYMin"];else{if(3!==x)throw new Error("Correct katexImagesData or update code here to support\n "+x+" children.");u=["brace-left","brace-center","brace-right"],d=["xMinYMin","xMidYMin","xMaxYMin"]}for(var b=0;b0&&(n.style.minWidth=Pi(i)),n}),"svgSpan"),Uo=w((function(t,e,r,n,i){var a,o=t.height+t.depth+r+n;if(/fbox|color|angl/.test(e)){if(a=Qa.makeSpan(["stretchy",e],[],i),"fbox"===e){var s=i.color&&i.getColor();s&&(a.style.borderColor=s)}}else{var l=[];/^[bx]cancel$/.test(e)&&l.push(new Vi({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(e)&&l.push(new Vi({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var c=new Hi(l,{width:"100%",height:Pi(o)});a=Qa.makeSvgSpan([],[c],i)}return a.height=o,a.style.height=Pi(o),a}),"encloseSpan"),Go={encloseSpan:Uo,mathMLnode:Bo,svgSpan:zo},w(kn,"assertNodeType"),w(Tn,"assertSymbolNodeType"),w(En,"checkSymbolNodeType"),qo=w(((t,e)=>{var r,n,i;t&&"supsub"===t.type?(r=(n=kn(t.base,"accent")).base,t.base=r,i=fn(wo(t,e)),t.base=n):r=(n=kn(t,"accent")).base;var a=wo(r,e.havingCrampedStyle()),o=0;if(n.isShifty&&Zn.isCharacterBox(r)){var s=Zn.getBaseElem(r);o=pn(wo(s,e.havingCrampedStyle())).skew}var l,c="\\c"===n.label,h=c?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight);if(n.isStretchy)l=Go.svgSpan(n,e),l=Qa.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:l,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+Pi(2*o)+")",marginLeft:Pi(2*o)}:void 0}]},e);else{var u,d;"\\vec"===n.label?(u=Qa.staticSvg("vec",e),d=Qa.svgData.vec[1]):((u=pn(u=Qa.makeOrd({mode:n.mode,text:n.label},e,"textord"))).italic=0,d=u.width,c&&(h+=u.depth)),l=Qa.makeSpan(["accent-body"],[u]);var p="\\textcircled"===n.label;p&&(l.classes.push("accent-full"),h=a.height);var f=o;p||(f-=d/2),l.style.left=Pi(f),"\\textcircled"===n.label&&(l.style.top=".2em"),l=Qa.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-h},{type:"elem",elem:l}]},e)}var g=Qa.makeSpan(["mord","accent"],[l],e);return i?(i.children[0]=g,i.height=Math.max(g.height,i.height),i.classes[0]="mord",i):g}),"htmlBuilder$a"),Yo=w(((t,e)=>{var r=t.isStretchy?Go.mathMLnode(t.label):new _o.MathNode("mo",[Co(t.label,t.mode)]),n=new _o.MathNode("mover",[Io(t.base,e),r]);return n.setAttribute("accent","true"),n}),"mathmlBuilder$9"),jo=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map((t=>"\\"+t)).join("|")),mn({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:w(((t,e)=>{var r=so(e[0]),n=!jo.test(t.funcName),i=!n||"\\widehat"===t.funcName||"\\widetilde"===t.funcName||"\\widecheck"===t.funcName;return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:n,isShifty:i,base:r}}),"handler"),htmlBuilder:qo,mathmlBuilder:Yo}),mn({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:w(((t,e)=>{var r=e[0],n=t.parser.mode;return"math"===n&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}}),"handler"),htmlBuilder:qo,mathmlBuilder:Yo}),mn({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:w(((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"accentUnder",mode:r.mode,label:n,base:i}}),"handler"),htmlBuilder:w(((t,e)=>{var r=wo(t.base,e),n=Go.svgSpan(t,e),i="\\utilde"===t.label?.12:0,a=Qa.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:r}]},e);return Qa.makeSpan(["mord","accentunder"],[a],e)}),"htmlBuilder"),mathmlBuilder:w(((t,e)=>{var r=Go.mathMLnode(t.label),n=new _o.MathNode("munder",[Io(t.base,e),r]);return n.setAttribute("accentunder","true"),n}),"mathmlBuilder")}),Ho=w((t=>{var e=new _o.MathNode("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e}),"paddedNode"),mn({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n,funcName:i}=t;return{type:"xArrow",mode:n.mode,label:i,body:e[0],below:r[0]}},htmlBuilder(t,e){var r,n=e.style,i=e.havingStyle(n.sup()),a=Qa.wrapFragment(wo(t.body,i,e),e),o="\\x"===t.label.slice(0,2)?"x":"cd";a.classes.push(o+"-arrow-pad"),t.below&&(i=e.havingStyle(n.sub()),(r=Qa.wrapFragment(wo(t.below,i,e),e)).classes.push(o+"-arrow-pad"));var s,l=Go.svgSpan(t,e),c=-e.fontMetrics().axisHeight+.5*l.height,h=-e.fontMetrics().axisHeight-.5*l.height-.111;if((a.depth>.25||"\\xleftequilibrium"===t.label)&&(h-=a.depth),r){var u=-e.fontMetrics().axisHeight+r.height+.5*l.height+.111;s=Qa.makeVList({positionType:"individualShift",children:[{type:"elem",elem:a,shift:h},{type:"elem",elem:l,shift:c},{type:"elem",elem:r,shift:u}]},e)}else s=Qa.makeVList({positionType:"individualShift",children:[{type:"elem",elem:a,shift:h},{type:"elem",elem:l,shift:c}]},e);return s.children[0].children[0].children[1].classes.push("svg-align"),Qa.makeSpan(["mrel","x-arrow"],[s],e)},mathmlBuilder(t,e){var r,n=Go.mathMLnode(t.label);if(n.setAttribute("minsize","x"===t.label.charAt(0)?"1.75em":"3.0em"),t.body){var i=Ho(Io(t.body,e));if(t.below){var a=Ho(Io(t.below,e));r=new _o.MathNode("munderover",[n,a,i])}else r=new _o.MathNode("mover",[n,i])}else if(t.below){var o=Ho(Io(t.below,e));r=new _o.MathNode("munder",[n,o])}else r=Ho(),r=new _o.MathNode("mover",[n,r]);return r}}),Wo=Qa.makeSpan,w(_n,"htmlBuilder$9"),w(Cn,"mathmlBuilder$8"),mn({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:lo(i),isCharacterBox:Zn.isCharacterBox(i)}},htmlBuilder:_n,mathmlBuilder:Cn}),Vo=w((t=>{var e="ordgroup"===t.type&&t.body.length?t.body[0]:t;return"atom"!==e.type||"bin"!==e.family&&"rel"!==e.family?"mord":"m"+e.family}),"binrelClass"),mn({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:r}=t;return{type:"mclass",mode:r.mode,mclass:Vo(e[0]),body:lo(e[1]),isCharacterBox:Zn.isCharacterBox(e[1])}}}),mn({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var r,{parser:n,funcName:i}=t,a=e[1],o=e[0];r="\\stackrel"!==i?Vo(a):"mrel";var s={type:"op",mode:a.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:"\\stackrel"!==i,body:lo(a)},l={type:"supsub",mode:o.mode,base:s,sup:"\\underset"===i?null:o,sub:"\\underset"===i?o:null};return{type:"mclass",mode:n.mode,mclass:r,body:[l],isCharacterBox:Zn.isCharacterBox(l)}},htmlBuilder:_n,mathmlBuilder:Cn}),mn({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"pmb",mode:r.mode,mclass:Vo(e[0]),body:lo(e[0])}},htmlBuilder(t,e){var r=go(t.body,e,!0),n=Qa.makeSpan([t.mclass],r,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(t,e){var r=Lo(t.body,e),n=new _o.MathNode("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}}),Xo={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},Ko=w((()=>({type:"styling",body:[],mode:"math",style:"display"})),"newCell"),Zo=w((t=>"textord"===t.type&&"@"===t.text),"isStartOfArrow"),Qo=w(((t,e)=>("mathord"===t.type||"atom"===t.type)&&t.text===e),"isLabelEnd"),w(Sn,"cdArrow"),w(An,"parseCD"),mn({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:e[0]}},htmlBuilder(t,e){var r=e.havingStyle(e.style.sup()),n=Qa.wrapFragment(wo(t.label,r,e),e);return n.classes.push("cd-label-"+t.side),n.style.bottom=Pi(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(t,e){var r=new _o.MathNode("mrow",[Io(t.label,e)]);return(r=new _o.MathNode("mpadded",[r])).setAttribute("width","0"),"left"===t.side&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),(r=new _o.MathNode("mstyle",[r])).setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}}),mn({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:r}=t;return{type:"cdlabelparent",mode:r.mode,fragment:e[0]}},htmlBuilder(t,e){var r=Qa.wrapFragment(wo(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder:(t,e)=>new _o.MathNode("mrow",[Io(t.fragment,e)])}),mn({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:r}=t,n=kn(e[0],"ordgroup").body,i="",a=0;a=1114111)throw new zn("\\@char with invalid code point "+i);return s<=65535?o=String.fromCharCode(s):(s-=65536,o=String.fromCharCode(55296+(s>>10),56320+(1023&s))),{type:"textord",mode:r.mode,text:o}}}),Jo=w(((t,e)=>{var r=go(t.body,e.withColor(t.color),!1);return Qa.makeFragment(r)}),"htmlBuilder$8"),ts=w(((t,e)=>{var r=Lo(t.body,e.withColor(t.color)),n=new _o.MathNode("mstyle",r);return n.setAttribute("mathcolor",t.color),n}),"mathmlBuilder$7"),mn({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:r}=t,n=kn(e[0],"color-token").color,i=e[1];return{type:"color",mode:r.mode,color:n,body:lo(i)}},htmlBuilder:Jo,mathmlBuilder:ts}),mn({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:r,breakOnTokenText:n}=t,i=kn(e[0],"color-token").color;r.gullet.macros.set("\\current@color",i);var a=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:i,body:a}},htmlBuilder:Jo,mathmlBuilder:ts}),mn({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,r){var{parser:n}=t,i="["===n.gullet.future().text?n.parseSizeGroup(!0):null,a=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:a,size:i&&kn(i,"size").value}},htmlBuilder(t,e){var r=Qa.makeSpan(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=Pi(Oi(t.size,e)))),r},mathmlBuilder(t,e){var r=new _o.MathNode("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",Pi(Oi(t.size,e)))),r}}),es={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},rs=w((t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new zn("Expected a control sequence",t);return e}),"checkControlSequence"),ns=w((t=>{var e=t.gullet.popToken();return"="===e.text&&" "===(e=t.gullet.popToken()).text&&(e=t.gullet.popToken()),e}),"getRHS"),is=w(((t,e,r,n)=>{var i=t.gullet.macros.get(r.text);null==i&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!t.gullet.isExpandable(r.text)}),t.gullet.macros.set(e,i,n)}),"letCommand"),mn({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:r}=t;e.consumeSpaces();var n=e.fetch();if(es[n.text])return("\\global"===r||"\\\\globallong"===r)&&(n.text=es[n.text]),kn(e.parseFunction(),"internal");throw new zn("Invalid token after macro prefix",n)}}),mn({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=e.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new zn("Expected a control sequence",n);for(var a,o=0,s=[[]];"{"!==e.gullet.future().text;)if("#"===(n=e.gullet.popToken()).text){if("{"===e.gullet.future().text){a=e.gullet.future(),s[o].push("{");break}if(n=e.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new zn('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==o+1)throw new zn('Argument number "'+n.text+'" out of order');o++,s.push([])}else{if("EOF"===n.text)throw new zn("Expected a macro definition");s[o].push(n.text)}var{tokens:l}=e.gullet.consumeArg();return a&&l.unshift(a),("\\edef"===r||"\\xdef"===r)&&(l=e.gullet.expandTokens(l)).reverse(),e.gullet.macros.set(i,{tokens:l,numArgs:o,delimiters:s},r===es[r]),{type:"internal",mode:e.mode}}}),mn({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=rs(e.gullet.popToken());e.gullet.consumeSpaces();var i=ns(e);return is(e,n,i,"\\\\globallet"===r),{type:"internal",mode:e.mode}}}),mn({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=rs(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return is(e,n,a,"\\\\globalfuture"===r),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}}),as=w((function(t,e,r){var n=un(Zi.math[t]&&Zi.math[t].replace||t,e,r);if(!n)throw new Error("Unsupported symbol "+t+" and font size "+e+".");return n}),"getMetrics"),os=w((function(t,e,r,n){var i=r.havingBaseStyle(e),a=Qa.makeSpan(n.concat(i.sizingClasses(r)),[t],r),o=i.sizeMultiplier/r.sizeMultiplier;return a.height*=o,a.depth*=o,a.maxFontSize=i.sizeMultiplier,a}),"styleWrap"),ss=w((function(t,e,r){var n=e.havingBaseStyle(r),i=(1-e.sizeMultiplier/n.sizeMultiplier)*e.fontMetrics().axisHeight;t.classes.push("delimcenter"),t.style.top=Pi(i),t.height-=i,t.depth+=i}),"centerSpan"),ls=w((function(t,e,r,n,i,a){var o=Qa.makeSymbol(t,"Main-Regular",i,n),s=os(o,e,n,a);return r&&ss(s,n,e),s}),"makeSmallDelim"),cs=w((function(t,e,r,n){return Qa.makeSymbol(t,"Size"+e+"-Regular",r,n)}),"mathrmSize"),hs=w((function(t,e,r,n,i,a){var o=cs(t,e,i,n),s=os(Qa.makeSpan(["delimsizing","size"+e],[o],n),li.TEXT,n,a);return r&&ss(s,n,li.TEXT),s}),"makeLargeDelim"),us=w((function(t,e,r){var n;return n="Size1-Regular"===e?"delim-size1":"delim-size4",{type:"elem",elem:Qa.makeSpan(["delimsizinginner",n],[Qa.makeSpan([],[Qa.makeSymbol(t,e,r)])])}}),"makeGlyphSpan"),ds=w((function(t,e,r){var n=Ei["Size4-Regular"][t.charCodeAt(0)]?Ei["Size4-Regular"][t.charCodeAt(0)][4]:Ei["Size1-Regular"][t.charCodeAt(0)][4],i=new Wi("inner",bi(t,Math.round(1e3*e))),a=new Hi([i],{width:Pi(n),height:Pi(e),style:"width:"+Pi(n),viewBox:"0 0 "+1e3*n+" "+Math.round(1e3*e),preserveAspectRatio:"xMinYMin"}),o=Qa.makeSvgSpan([],[a],r);return o.height=e,o.style.height=Pi(e),o.style.width=Pi(n),{type:"elem",elem:o}}),"makeInner"),ps={type:"kern",size:-1*.008},fs=["|","\\lvert","\\rvert","\\vert"],gs=["\\|","\\lVert","\\rVert","\\Vert"],ms=w((function(t,e,r,n,i,a){var o,s,l,c,h="",u=0;o=l=c=t,s=null;var d="Size1-Regular";"\\uparrow"===t?l=c="⏐":"\\Uparrow"===t?l=c="‖":"\\downarrow"===t?o=l="⏐":"\\Downarrow"===t?o=l="‖":"\\updownarrow"===t?(o="\\uparrow",l="⏐",c="\\downarrow"):"\\Updownarrow"===t?(o="\\Uparrow",l="‖",c="\\Downarrow"):Zn.contains(fs,t)?(l="∣",h="vert",u=333):Zn.contains(gs,t)?(l="∥",h="doublevert",u=556):"["===t||"\\lbrack"===t?(o="⎡",l="⎢",c="⎣",d="Size4-Regular",h="lbrack",u=667):"]"===t||"\\rbrack"===t?(o="⎤",l="⎥",c="⎦",d="Size4-Regular",h="rbrack",u=667):"\\lfloor"===t||"⌊"===t?(l=o="⎢",c="⎣",d="Size4-Regular",h="lfloor",u=667):"\\lceil"===t||"⌈"===t?(o="⎡",l=c="⎢",d="Size4-Regular",h="lceil",u=667):"\\rfloor"===t||"⌋"===t?(l=o="⎥",c="⎦",d="Size4-Regular",h="rfloor",u=667):"\\rceil"===t||"⌉"===t?(o="⎤",l=c="⎥",d="Size4-Regular",h="rceil",u=667):"("===t||"\\lparen"===t?(o="⎛",l="⎜",c="⎝",d="Size4-Regular",h="lparen",u=875):")"===t||"\\rparen"===t?(o="⎞",l="⎟",c="⎠",d="Size4-Regular",h="rparen",u=875):"\\{"===t||"\\lbrace"===t?(o="⎧",s="⎨",c="⎩",l="⎪",d="Size4-Regular"):"\\}"===t||"\\rbrace"===t?(o="⎫",s="⎬",c="⎭",l="⎪",d="Size4-Regular"):"\\lgroup"===t||"⟮"===t?(o="⎧",c="⎩",l="⎪",d="Size4-Regular"):"\\rgroup"===t||"⟯"===t?(o="⎫",c="⎭",l="⎪",d="Size4-Regular"):"\\lmoustache"===t||"⎰"===t?(o="⎧",c="⎭",l="⎪",d="Size4-Regular"):("\\rmoustache"===t||"⎱"===t)&&(o="⎫",c="⎩",l="⎪",d="Size4-Regular");var p=as(o,d,i),f=p.height+p.depth,g=as(l,d,i),m=g.height+g.depth,y=as(c,d,i),v=y.height+y.depth,x=0,b=1;if(null!==s){var w=as(s,d,i);x=w.height+w.depth,b=2}var k=f+v+x,T=k+Math.max(0,Math.ceil((e-k)/(b*m)))*b*m,E=n.fontMetrics().axisHeight;r&&(E*=n.sizeMultiplier);var _=T/2-E,C=[];if(h.length>0){var S=T-f-v,A=Math.round(1e3*T),L=ki(h,Math.round(1e3*S)),N=new Wi(h,L),I=(u/1e3).toFixed(3)+"em",M=(A/1e3).toFixed(3)+"em",R=new Hi([N],{width:I,height:M,viewBox:"0 0 "+u+" "+A}),D=Qa.makeSvgSpan([],[R],n);D.height=A/1e3,D.style.width=I,D.style.height=M,C.push({type:"elem",elem:D})}else{if(C.push(us(c,d,i)),C.push(ps),null===s){var O=T-f-v+.016;C.push(ds(l,O,n))}else{var P=(T-f-v-x)/2+.016;C.push(ds(l,P,n)),C.push(ps),C.push(us(s,d,i)),C.push(ps),C.push(ds(l,P,n))}C.push(ps),C.push(us(o,d,i))}var B=n.havingBaseStyle(li.TEXT),F=Qa.makeVList({positionType:"bottom",positionData:_,children:C},B);return os(Qa.makeSpan(["delimsizing","mult"],[F],B),li.TEXT,n,a)}),"makeStackedDelim"),ys=.08,vs=w((function(t,e,r,n,i){var a=xi(t,n,r),o=new Wi(t,a),s=new Hi([o],{width:"400em",height:Pi(e),viewBox:"0 0 400000 "+r,preserveAspectRatio:"xMinYMin slice"});return Qa.makeSvgSpan(["hide-tail"],[s],i)}),"sqrtSvg"),xs=w((function(t,e){var r,n,i=e.havingBaseSizing(),a=Ls("\\surd",t*i.sizeMultiplier,Ss,i),o=i.sizeMultiplier,s=Math.max(0,e.minRuleThickness-e.fontMetrics().sqrtRuleThickness),l=0,c=0,h=0;return"small"===a.type?(t<1?o=1:t<1.4&&(o=.7),c=(1+s)/o,(r=vs("sqrtMain",l=(1+s+ys)/o,h=1e3+1e3*s+80,s,e)).style.minWidth="0.853em",n=.833/o):"large"===a.type?(h=1080*Ts[a.size],c=(Ts[a.size]+s)/o,l=(Ts[a.size]+s+ys)/o,(r=vs("sqrtSize"+a.size,l,h,s,e)).style.minWidth="1.02em",n=1/o):(l=t+s+ys,c=t+s,h=Math.floor(1e3*t+s)+80,(r=vs("sqrtTall",l,h,s,e)).style.minWidth="0.742em",n=1.056),r.height=c,r.style.height=Pi(l),{span:r,advanceWidth:n,ruleWidth:(e.fontMetrics().sqrtRuleThickness+s)*o}}),"makeSqrtImage"),bs=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"],ws=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"],ks=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],Ts=[0,1.2,1.8,2.4,3],Es=w((function(t,e,r,n,i){if("<"===t||"\\lt"===t||"⟨"===t?t="\\langle":(">"===t||"\\gt"===t||"⟩"===t)&&(t="\\rangle"),Zn.contains(bs,t)||Zn.contains(ks,t))return hs(t,e,!1,r,n,i);if(Zn.contains(ws,t))return ms(t,Ts[e],!1,r,n,i);throw new zn("Illegal delimiter: '"+t+"'")}),"makeSizedDelim"),_s=[{type:"small",style:li.SCRIPTSCRIPT},{type:"small",style:li.SCRIPT},{type:"small",style:li.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],Cs=[{type:"small",style:li.SCRIPTSCRIPT},{type:"small",style:li.SCRIPT},{type:"small",style:li.TEXT},{type:"stack"}],Ss=[{type:"small",style:li.SCRIPTSCRIPT},{type:"small",style:li.SCRIPT},{type:"small",style:li.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],As=w((function(t){if("small"===t.type)return"Main-Regular";if("large"===t.type)return"Size"+t.size+"-Regular";if("stack"===t.type)return"Size4-Regular";throw new Error("Add support for delim type '"+t.type+"' here.")}),"delimTypeToFont"),Ls=w((function(t,e,r,n){for(var i=Math.min(2,3-n.style.size);ie)return r[i]}return r[r.length-1]}),"traverseSequence"),Ns=w((function(t,e,r,n,i,a){var o;"<"===t||"\\lt"===t||"⟨"===t?t="\\langle":(">"===t||"\\gt"===t||"⟩"===t)&&(t="\\rangle"),o=Zn.contains(ks,t)?_s:Zn.contains(bs,t)?Ss:Cs;var s=Ls(t,e,o,n);return"small"===s.type?ls(t,s.style,r,n,i,a):"large"===s.type?hs(t,s.size,r,n,i,a):ms(t,e,r,n,i,a)}),"makeCustomSizedDelim"),Is=w((function(t,e,r,n,i,a){var o=n.fontMetrics().axisHeight*n.sizeMultiplier,s=5/n.fontMetrics().ptPerEm,l=Math.max(e-o,r+o),c=Math.max(l/500*901,2*l-s);return Ns(t,c,!0,n,i,a)}),"makeLeftRightDelim"),Ms={sqrtImage:xs,sizedDelim:Es,sizeToMaxHeight:Ts,customSizedDelim:Ns,leftRightDelim:Is},Rs={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},Ds=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."],w(Ln,"checkDelimiter"),mn({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:w(((t,e)=>{var r=Ln(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:Rs[t.funcName].size,mclass:Rs[t.funcName].mclass,delim:r.text}}),"handler"),htmlBuilder:w(((t,e)=>"."===t.delim?Qa.makeSpan([t.mclass]):Ms.sizedDelim(t.delim,t.size,e,t.mode,[t.mclass])),"htmlBuilder"),mathmlBuilder:w((t=>{var e=[];"."!==t.delim&&e.push(Co(t.delim,t.mode));var r=new _o.MathNode("mo",e);"mopen"===t.mclass||"mclose"===t.mclass?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=Pi(Ms.sizeToMaxHeight[t.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r}),"mathmlBuilder")}),w(Nn,"assertParsed"),mn({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:w(((t,e)=>{var r=t.parser.gullet.macros.get("\\current@color");if(r&&"string"!=typeof r)throw new zn("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:Ln(e[0],t).text,color:r}}),"handler")}),mn({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:w(((t,e)=>{var r=Ln(e[0],t),n=t.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var a=kn(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:r.text,right:a.delim,rightColor:a.color}}),"handler"),htmlBuilder:w(((t,e)=>{Nn(t);for(var r=go(t.body,e,!0,["mopen","mclose"]),n=0,i=0,a=!1,o=0;o{Nn(t);var r=Lo(t.body,e);if("."!==t.left){var n=new _o.MathNode("mo",[Co(t.left,t.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if("."!==t.right){var i=new _o.MathNode("mo",[Co(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),r.push(i)}return So(r)}),"mathmlBuilder")}),mn({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:w(((t,e)=>{var r=Ln(e[0],t);if(!t.parser.leftrightDepth)throw new zn("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}}),"handler"),htmlBuilder:w(((t,e)=>{var r;if("."===t.delim)r=bo(e,[]);else{r=Ms.sizedDelim(t.delim,1,e,t.mode,[]);var n={delim:t.delim,options:e};r.isMiddle=n}return r}),"htmlBuilder"),mathmlBuilder:w(((t,e)=>{var r="\\vert"===t.delim||"|"===t.delim?Co("|","text"):Co(t.delim,t.mode),n=new _o.MathNode("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n}),"mathmlBuilder")}),Os=w(((t,e)=>{var r,n,i=Qa.wrapFragment(wo(t.body,e),e),a=t.label.slice(1),o=e.sizeMultiplier,s=0,l=Zn.isCharacterBox(t.body);if("sout"===a)(r=Qa.makeSpan(["stretchy","sout"])).height=e.fontMetrics().defaultRuleThickness/o,s=-.5*e.fontMetrics().xHeight;else if("phase"===a){var c=Oi({number:.6,unit:"pt"},e),h=Oi({number:.35,unit:"ex"},e);o/=e.havingBaseSizing().sizeMultiplier;var u=i.height+i.depth+c+h;i.style.paddingLeft=Pi(u/2+c);var d=Math.floor(1e3*u*o),p=yi(d),f=new Hi([new Wi("phase",p)],{width:"400em",height:Pi(d/1e3),viewBox:"0 0 400000 "+d,preserveAspectRatio:"xMinYMin slice"});(r=Qa.makeSvgSpan(["hide-tail"],[f],e)).style.height=Pi(u),s=i.depth+c+h}else{/cancel/.test(a)?l||i.classes.push("cancel-pad"):"angl"===a?i.classes.push("anglpad"):i.classes.push("boxpad");var g=0,m=0,y=0;/box/.test(a)?(y=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),m=g=e.fontMetrics().fboxsep+("colorbox"===a?0:y)):"angl"===a?(g=4*(y=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness)),m=Math.max(0,.25-i.depth)):m=g=l?.2:0,r=Go.encloseSpan(i,a,g,m,e),/fbox|boxed|fcolorbox/.test(a)?(r.style.borderStyle="solid",r.style.borderWidth=Pi(y)):"angl"===a&&.049!==y&&(r.style.borderTopWidth=Pi(y),r.style.borderRightWidth=Pi(y)),s=i.depth+m,t.backgroundColor&&(r.style.backgroundColor=t.backgroundColor,t.borderColor&&(r.style.borderColor=t.borderColor))}if(t.backgroundColor)n=Qa.makeVList({positionType:"individualShift",children:[{type:"elem",elem:r,shift:s},{type:"elem",elem:i,shift:0}]},e);else{var v=/cancel|phase/.test(a)?["svg-align"]:[];n=Qa.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:0},{type:"elem",elem:r,shift:s,wrapperClasses:v}]},e)}return/cancel/.test(a)&&(n.height=i.height,n.depth=i.depth),/cancel/.test(a)&&!l?Qa.makeSpan(["mord","cancel-lap"],[n],e):Qa.makeSpan(["mord"],[n],e)}),"htmlBuilder$7"),Ps=w(((t,e)=>{var r=0,n=new _o.MathNode(t.label.indexOf("colorbox")>-1?"mpadded":"menclose",[Io(t.body,e)]);switch(t.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),"\\fcolorbox"===t.label){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);n.setAttribute("style","border: "+i+"em solid "+String(t.borderColor))}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike")}return t.backgroundColor&&n.setAttribute("mathbackground",t.backgroundColor),n}),"mathmlBuilder$6"),mn({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=kn(e[0],"color-token").color,o=e[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,body:o}},htmlBuilder:Os,mathmlBuilder:Ps}),mn({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=kn(e[0],"color-token").color,o=kn(e[1],"color-token").color,s=e[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:o,borderColor:a,body:s}},htmlBuilder:Os,mathmlBuilder:Ps}),mn({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\fbox",body:e[0]}}}),mn({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:Os,mathmlBuilder:Ps}),mn({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\angl",body:e[0]}}}),Bs={},w(In,"defineEnvironment"),Fs={},w(Mn,"defineMacro"),w(Rn,"getHLines"),$s=w((t=>{if(!t.parser.settings.displayMode)throw new zn("{"+t.envName+"} can be used only in display mode.")}),"validateAmsEnvironmentContext"),w(Dn,"getAutoTag"),w(On,"parseArray"),w(Pn,"dCellStyle"),zs=w((function(t,e){var r,n,i=t.body.length,a=t.hLinesBeforeRow,o=0,s=new Array(i),l=[],c=Math.max(e.fontMetrics().arrayRuleWidth,e.minRuleThickness),h=1/e.fontMetrics().ptPerEm,u=5*h;t.colSeparationType&&"small"===t.colSeparationType&&(u=e.havingStyle(li.SCRIPT).sizeMultiplier/e.sizeMultiplier*.2778);var d="CD"===t.colSeparationType?Oi({number:3,unit:"ex"},e):12*h,p=3*h,f=t.arraystretch*d,g=.7*f,m=.3*f,y=0;function v(t){for(var e=0;e0&&(y+=.25),l.push({pos:y,isDashed:t[e]})}for(w(v,"setHLinePos"),v(a[0]),r=0;r0&&(k<(C+=m)&&(k=C),C=0),t.addJot&&(k+=p),T.height=b,T.depth=k,y+=b,T.pos=y,y+=k+C,s[r]=T,v(a[r+1])}var S,A,L=y/2+e.fontMetrics().axisHeight,N=t.cols||[],I=[],M=[];if(t.tags&&t.tags.some((t=>t)))for(r=0;r=o)){var G=void 0;(n>0||t.hskipBeforeAndAfter)&&0!==(G=Zn.deflt(B.pregap,u))&&((S=Qa.makeSpan(["arraycolsep"],[])).style.width=Pi(G),I.push(S));var q=[];for(r=0;r0){for(var W=Qa.makeLineSpan("hline",e,c),V=Qa.makeLineSpan("hdashline",e,c),X=[{type:"elem",elem:s,shift:0}];l.length>0;){var K=l.pop(),Z=K.pos-L;K.isDashed?X.push({type:"elem",elem:V,shift:Z}):X.push({type:"elem",elem:W,shift:Z})}s=Qa.makeVList({positionType:"individualShift",children:X},e)}if(0===M.length)return Qa.makeSpan(["mord"],[s],e);var Q=Qa.makeVList({positionType:"individualShift",children:M},e);return Q=Qa.makeSpan(["tag"],[Q],e),Qa.makeFragment([s,Q])}),"htmlBuilder"),Us={c:"center ",l:"left ",r:"right "},Gs=w((function(t,e){for(var r=[],n=new _o.MathNode("mtd",[],["mtr-glue"]),i=new _o.MathNode("mtd",[],["mml-eqn-num"]),a=0;a0){var p=t.cols,f="",g=!1,m=0,y=p.length;"separator"===p[0].type&&(u+="top ",m=1),"separator"===p[p.length-1].type&&(u+="bottom ",y-=1);for(var v=m;v0?"left ":"",u+=T[T.length-1].length>0?"right ":"";for(var E=1;E-1?"alignat":"align",a="split"===t.envName,o=On(t.parser,{cols:n,addJot:!0,autoTag:a?void 0:Dn(t.envName),emptySingleRow:!0,colSeparationType:i,maxNumCols:a?2:void 0,leqno:t.parser.settings.leqno},"display"),s=0,l={type:"ordgroup",mode:t.mode,body:[]};if(e[0]&&"ordgroup"===e[0].type){for(var c="",h=0;h0&&u&&(f=1),n[d]={type:"align",align:p,pregap:f,postgap:0}}return o.colSeparationType=u?"align":"alignat",o}),"alignedHandler"),In({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=(En(e[0])?[e[0]]:kn(e[0],"ordgroup").body).map((function(t){var e=Tn(t).text;if(-1!=="lcr".indexOf(e))return{type:"align",align:e};if("|"===e)return{type:"separator",separator:"|"};if(":"===e)return{type:"separator",separator:":"};throw new zn("Unknown column alignment: "+e,t)})),n={cols:r,hskipBeforeAndAfter:!0,maxNumCols:r.length};return On(t.parser,n,Pn(t.envName))},htmlBuilder:zs,mathmlBuilder:Gs}),In({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if("*"===t.envName.charAt(t.envName.length-1)){var i=t.parser;if(i.consumeSpaces(),"["===i.fetch().text){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,-1==="lcr".indexOf(r))throw new zn("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var a=On(t.parser,n,Pn(t.envName)),o=Math.max(0,...a.body.map((t=>t.length)));return a.cols=new Array(o).fill({type:"align",align:r}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:zs,mathmlBuilder:Gs}),In({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e=On(t.parser,{arraystretch:.5},"script");return e.colSeparationType="small",e},htmlBuilder:zs,mathmlBuilder:Gs}),In({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=(En(e[0])?[e[0]]:kn(e[0],"ordgroup").body).map((function(t){var e=Tn(t).text;if(-1!=="lc".indexOf(e))return{type:"align",align:e};throw new zn("Unknown column alignment: "+e,t)}));if(r.length>1)throw new zn("{subarray} can contain only one column");var n={cols:r,hskipBeforeAndAfter:!1,arraystretch:.5};if((n=On(t.parser,n,"script")).body.length>0&&n.body[0].length>1)throw new zn("{subarray} can contain only one column");return n},htmlBuilder:zs,mathmlBuilder:Gs}),In({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e=On(t.parser,{arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},Pn(t.envName));return{type:"leftright",mode:t.mode,body:[e],left:t.envName.indexOf("r")>-1?".":"\\{",right:t.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:zs,mathmlBuilder:Gs}),In({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:qs,htmlBuilder:zs,mathmlBuilder:Gs}),In({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){Zn.contains(["gather","gather*"],t.envName)&&$s(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Dn(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return On(t.parser,e,"display")},htmlBuilder:zs,mathmlBuilder:Gs}),In({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:qs,htmlBuilder:zs,mathmlBuilder:Gs}),In({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){$s(t);var e={autoTag:Dn(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return On(t.parser,e,"display")},htmlBuilder:zs,mathmlBuilder:Gs}),In({type:"array",names:["CD"],props:{numArgs:0},handler:t=>($s(t),An(t.parser)),htmlBuilder:zs,mathmlBuilder:Gs}),Mn("\\nonumber","\\gdef\\@eqnsw{0}"),Mn("\\notag","\\nonumber"),mn({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new zn(t.funcName+" valid only within array environment")}}),Ys=Bs,mn({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];if("ordgroup"!==i.type)throw new zn("Invalid environment name",i);for(var a="",o=0;o{var r=t.font,n=e.withFont(r);return wo(t.body,n)}),"htmlBuilder$5"),Hs=w(((t,e)=>{var r=t.font,n=e.withFont(r);return Io(t.body,n)}),"mathmlBuilder$4"),Ws={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"},mn({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:w(((t,e)=>{var{parser:r,funcName:n}=t,i=so(e[0]),a=n;return a in Ws&&(a=Ws[a]),{type:"font",mode:r.mode,font:a.slice(1),body:i}}),"handler"),htmlBuilder:js,mathmlBuilder:Hs}),mn({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:w(((t,e)=>{var{parser:r}=t,n=e[0],i=Zn.isCharacterBox(n);return{type:"mclass",mode:r.mode,mclass:Vo(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:i}}),"handler")}),mn({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:w(((t,e)=>{var{parser:r,funcName:n,breakOnTokenText:i}=t,{mode:a}=r,o=r.parseExpression(!0,i);return{type:"font",mode:a,font:"math"+n.slice(1),body:{type:"ordgroup",mode:r.mode,body:o}}}),"handler"),htmlBuilder:js,mathmlBuilder:Hs}),Vs=w(((t,e)=>{var r=e;return"display"===t?r=r.id>=li.SCRIPT.id?r.text():li.DISPLAY:"text"===t&&r.size===li.DISPLAY.size?r=li.TEXT:"script"===t?r=li.SCRIPT:"scriptscript"===t&&(r=li.SCRIPTSCRIPT),r}),"adjustStyle"),Xs=w(((t,e)=>{var r,n=Vs(t.size,e.style),i=n.fracNum(),a=n.fracDen();r=e.havingStyle(i);var o=wo(t.numer,r,e);if(t.continued){var s=8.5/e.fontMetrics().ptPerEm,l=3.5/e.fontMetrics().ptPerEm;o.height=o.height0?3*u:7*u,f=e.fontMetrics().denom1):(h>0?(d=e.fontMetrics().num2,p=u):(d=e.fontMetrics().num3,p=3*u),f=e.fontMetrics().denom2),c){var b=e.fontMetrics().axisHeight;d-o.depth-(b+.5*h){var r=new _o.MathNode("mfrac",[Io(t.numer,e),Io(t.denom,e)]);if(t.hasBarLine){if(t.barSize){var n=Oi(t.barSize,e);r.setAttribute("linethickness",Pi(n))}}else r.setAttribute("linethickness","0px");var i=Vs(t.size,e.style);if(i.size!==e.style.size){r=new _o.MathNode("mstyle",[r]);var a=i.size===li.DISPLAY.size?"true":"false";r.setAttribute("displaystyle",a),r.setAttribute("scriptlevel","0")}if(null!=t.leftDelim||null!=t.rightDelim){var o=[];if(null!=t.leftDelim){var s=new _o.MathNode("mo",[new _o.TextNode(t.leftDelim.replace("\\",""))]);s.setAttribute("fence","true"),o.push(s)}if(o.push(r),null!=t.rightDelim){var l=new _o.MathNode("mo",[new _o.TextNode(t.rightDelim.replace("\\",""))]);l.setAttribute("fence","true"),o.push(l)}return So(o)}return r}),"mathmlBuilder$3"),mn({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:w(((t,e)=>{var r,{parser:n,funcName:i}=t,a=e[0],o=e[1],s=null,l=null,c="auto";switch(i){case"\\dfrac":case"\\frac":case"\\tfrac":r=!0;break;case"\\\\atopfrac":r=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":r=!1,s="(",l=")";break;case"\\\\bracefrac":r=!1,s="\\{",l="\\}";break;case"\\\\brackfrac":r=!1,s="[",l="]";break;default:throw new Error("Unrecognized genfrac command")}switch(i){case"\\dfrac":case"\\dbinom":c="display";break;case"\\tfrac":case"\\tbinom":c="text"}return{type:"genfrac",mode:n.mode,continued:!1,numer:a,denom:o,hasBarLine:r,leftDelim:s,rightDelim:l,size:c,barSize:null}}),"handler"),htmlBuilder:Xs,mathmlBuilder:Ks}),mn({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:w(((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1];return{type:"genfrac",mode:r.mode,continued:!0,numer:i,denom:a,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}}),"handler")}),mn({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var e,{parser:r,funcName:n,token:i}=t;switch(n){case"\\over":e="\\frac";break;case"\\choose":e="\\binom";break;case"\\atop":e="\\\\atopfrac";break;case"\\brace":e="\\\\bracefrac";break;case"\\brack":e="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:r.mode,replaceWith:e,token:i}}}),Zs=["display","text","script","scriptscript"],Qs=w((function(t){var e=null;return t.length>0&&(e="."===(e=t)?null:e),e}),"delimFromValue"),mn({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var r,{parser:n}=t,i=e[4],a=e[5],o=so(e[0]),s="atom"===o.type&&"open"===o.family?Qs(o.text):null,l=so(e[1]),c="atom"===l.type&&"close"===l.family?Qs(l.text):null,h=kn(e[2],"size"),u=null;r=!!h.isBlank||(u=h.value).number>0;var d="auto",p=e[3];if("ordgroup"===p.type){if(p.body.length>0){var f=kn(p.body[0],"textord");d=Zs[Number(f.text)]}}else p=kn(p,"textord"),d=Zs[Number(p.text)];return{type:"genfrac",mode:n.mode,numer:i,denom:a,continued:!1,hasBarLine:r,barSize:u,leftDelim:s,rightDelim:c,size:d}},htmlBuilder:Xs,mathmlBuilder:Ks}),mn({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:r,funcName:n,token:i}=t;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:kn(e[0],"size").value,token:i}}}),mn({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:w(((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=Xn(kn(e[1],"infix").size),o=e[2],s=a.number>0;return{type:"genfrac",mode:r.mode,numer:i,denom:o,continued:!1,hasBarLine:s,barSize:a,leftDelim:null,rightDelim:null,size:"auto"}}),"handler"),htmlBuilder:Xs,mathmlBuilder:Ks}),Js=w(((t,e)=>{var r,n,i=e.style;"supsub"===t.type?(r=t.sup?wo(t.sup,e.havingStyle(i.sup()),e):wo(t.sub,e.havingStyle(i.sub()),e),n=kn(t.base,"horizBrace")):n=kn(t,"horizBrace");var a,o=wo(n.base,e.havingBaseStyle(li.DISPLAY)),s=Go.svgSpan(n,e);if(n.isOver?(a=Qa.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"kern",size:.1},{type:"elem",elem:s}]},e)).children[0].children[0].children[1].classes.push("svg-align"):(a=Qa.makeVList({positionType:"bottom",positionData:o.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:o}]},e)).children[0].children[0].children[0].classes.push("svg-align"),r){var l=Qa.makeSpan(["mord",n.isOver?"mover":"munder"],[a],e);a=n.isOver?Qa.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:r}]},e):Qa.makeVList({positionType:"bottom",positionData:l.depth+.2+r.height+r.depth,children:[{type:"elem",elem:r},{type:"kern",size:.2},{type:"elem",elem:l}]},e)}return Qa.makeSpan(["mord",n.isOver?"mover":"munder"],[a],e)}),"htmlBuilder$3"),tl=w(((t,e)=>{var r=Go.mathMLnode(t.label);return new _o.MathNode(t.isOver?"mover":"munder",[Io(t.base,e),r])}),"mathmlBuilder$2"),mn({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"horizBrace",mode:r.mode,label:n,isOver:/^\\over/.test(n),base:e[0]}},htmlBuilder:Js,mathmlBuilder:tl}),mn({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:w(((t,e)=>{var{parser:r}=t,n=e[1],i=kn(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:r.mode,href:i,body:lo(n)}:r.formatUnsupportedCmd("\\href")}),"handler"),htmlBuilder:w(((t,e)=>{var r=go(t.body,e,!1);return Qa.makeAnchor(t.href,[],r,e)}),"htmlBuilder"),mathmlBuilder:w(((t,e)=>{var r=No(t.body,e);return r instanceof ko||(r=new ko("mrow",[r])),r.setAttribute("href",t.href),r}),"mathmlBuilder")}),mn({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:w(((t,e)=>{var{parser:r}=t,n=kn(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var i=[],a=0;anew _o.MathNode("mrow",Lo(t.body,e))}),mn({type:"html",names:["\\htmlClass","\\htmlId","\\htmlStyle","\\htmlData"],props:{numArgs:2,argTypes:["raw","original"],allowedInText:!0},handler:w(((t,e)=>{var{parser:r,funcName:n,token:i}=t,a=kn(e[0],"raw").string,o=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var s,l={};switch(n){case"\\htmlClass":l.class=a,s={command:"\\htmlClass",class:a};break;case"\\htmlId":l.id=a,s={command:"\\htmlId",id:a};break;case"\\htmlStyle":l.style=a,s={command:"\\htmlStyle",style:a};break;case"\\htmlData":for(var c=a.split(","),h=0;h{var r=go(t.body,e,!1),n=["enclosing"];t.attributes.class&&n.push(...t.attributes.class.trim().split(/\s+/));var i=Qa.makeSpan(n,r,e);for(var a in t.attributes)"class"!==a&&t.attributes.hasOwnProperty(a)&&i.setAttribute(a,t.attributes[a]);return i}),"htmlBuilder"),mathmlBuilder:w(((t,e)=>No(t.body,e)),"mathmlBuilder")}),mn({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:w(((t,e)=>{var{parser:r}=t;return{type:"htmlmathml",mode:r.mode,html:lo(e[0]),mathml:lo(e[1])}}),"handler"),htmlBuilder:w(((t,e)=>{var r=go(t.html,e,!1);return Qa.makeFragment(r)}),"htmlBuilder"),mathmlBuilder:w(((t,e)=>No(t.mathml,e)),"mathmlBuilder")}),el=w((function(t){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(t))return{number:+t,unit:"bp"};var e=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t);if(!e)throw new zn("Invalid size: '"+t+"' in \\includegraphics");var r={number:+(e[1]+e[2]),unit:e[3]};if(!Di(r))throw new zn("Invalid unit: '"+r.unit+"' in \\includegraphics.");return r}),"sizeData"),mn({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:w(((t,e,r)=>{var{parser:n}=t,i={number:0,unit:"em"},a={number:.9,unit:"em"},o={number:0,unit:"em"},s="";if(r[0])for(var l=kn(r[0],"raw").string.split(","),c=0;c{var r=Oi(t.height,e),n=0;t.totalheight.number>0&&(n=Oi(t.totalheight,e)-r);var i=0;t.width.number>0&&(i=Oi(t.width,e));var a={height:Pi(r+n)};i>0&&(a.width=Pi(i)),n>0&&(a.verticalAlign=Pi(-n));var o=new qi(t.src,t.alt,a);return o.height=r,o.depth=n,o}),"htmlBuilder"),mathmlBuilder:w(((t,e)=>{var r=new _o.MathNode("mglyph",[]);r.setAttribute("alt",t.alt);var n=Oi(t.height,e),i=0;if(t.totalheight.number>0&&(i=Oi(t.totalheight,e)-n,r.setAttribute("valign",Pi(-i))),r.setAttribute("height",Pi(n+i)),t.width.number>0){var a=Oi(t.width,e);r.setAttribute("width",Pi(a))}return r.setAttribute("src",t.src),r}),"mathmlBuilder")}),mn({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=kn(e[0],"size");if(r.settings.strict){var a="m"===n[1],o="mu"===i.value.unit;a?(o||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, not "+i.value.unit+" units"),"math"!==r.mode&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):o&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:i.value}},htmlBuilder:(t,e)=>Qa.makeGlue(t.dimension,e),mathmlBuilder(t,e){var r=Oi(t.dimension,e);return new _o.SpaceNode(r)}}),mn({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:w(((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:i}}),"handler"),htmlBuilder:w(((t,e)=>{var r;"clap"===t.alignment?(r=Qa.makeSpan([],[wo(t.body,e)]),r=Qa.makeSpan(["inner"],[r],e)):r=Qa.makeSpan(["inner"],[wo(t.body,e)]);var n=Qa.makeSpan(["fix"],[]),i=Qa.makeSpan([t.alignment],[r,n],e),a=Qa.makeSpan(["strut"]);return a.style.height=Pi(i.height+i.depth),i.depth&&(a.style.verticalAlign=Pi(-i.depth)),i.children.unshift(a),i=Qa.makeSpan(["thinbox"],[i],e),Qa.makeSpan(["mord","vbox"],[i],e)}),"htmlBuilder"),mathmlBuilder:w(((t,e)=>{var r=new _o.MathNode("mpadded",[Io(t.body,e)]);if("rlap"!==t.alignment){var n="llap"===t.alignment?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r}),"mathmlBuilder")}),mn({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:r,parser:n}=t,i=n.mode;n.switchMode("math");var a="\\("===r?"\\)":"$",o=n.parseExpression(!1,a);return n.expect(a),n.switchMode(i),{type:"styling",mode:n.mode,style:"text",body:o}}}),mn({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new zn("Mismatched "+t.funcName)}}),rl=w(((t,e)=>{switch(e.style.size){case li.DISPLAY.size:return t.display;case li.TEXT.size:return t.text;case li.SCRIPT.size:return t.script;case li.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}}),"chooseMathStyle"),mn({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:w(((t,e)=>{var{parser:r}=t;return{type:"mathchoice",mode:r.mode,display:lo(e[0]),text:lo(e[1]),script:lo(e[2]),scriptscript:lo(e[3])}}),"handler"),htmlBuilder:w(((t,e)=>{var r=rl(t,e),n=go(r,e,!1);return Qa.makeFragment(n)}),"htmlBuilder"),mathmlBuilder:w(((t,e)=>{var r=rl(t,e);return No(r,e)}),"mathmlBuilder")}),nl=w(((t,e,r,n,i,a,o)=>{t=Qa.makeSpan([],[t]);var s,l,c,h=r&&Zn.isCharacterBox(r);if(e){var u=wo(e,n.havingStyle(i.sup()),n);l={elem:u,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-u.depth)}}if(r){var d=wo(r,n.havingStyle(i.sub()),n);s={elem:d,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-d.height)}}if(l&&s){var p=n.fontMetrics().bigOpSpacing5+s.elem.height+s.elem.depth+s.kern+t.depth+o;c=Qa.makeVList({positionType:"bottom",positionData:p,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:Pi(-a)},{type:"kern",size:s.kern},{type:"elem",elem:t},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:Pi(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else if(s){var f=t.height-o;c=Qa.makeVList({positionType:"top",positionData:f,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:Pi(-a)},{type:"kern",size:s.kern},{type:"elem",elem:t}]},n)}else{if(!l)return t;var g=t.depth+o;c=Qa.makeVList({positionType:"bottom",positionData:g,children:[{type:"elem",elem:t},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:Pi(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}var m=[c];if(s&&0!==a&&!h){var y=Qa.makeSpan(["mspace"],[],n);y.style.marginRight=Pi(a),m.unshift(y)}return Qa.makeSpan(["mop","op-limits"],m,n)}),"assembleSupSub"),il=["\\smallint"],al=w(((t,e)=>{var r,n,i,a=!1;"supsub"===t.type?(r=t.sup,n=t.sub,i=kn(t.base,"op"),a=!0):i=kn(t,"op");var o,s=e.style,l=!1;if(s.size===li.DISPLAY.size&&i.symbol&&!Zn.contains(il,i.name)&&(l=!0),i.symbol){var c=l?"Size2-Regular":"Size1-Regular",h="";if(("\\oiint"===i.name||"\\oiiint"===i.name)&&(h=i.name.slice(1),i.name="oiint"===h?"\\iint":"\\iiint"),o=Qa.makeSymbol(i.name,c,"math",e,["mop","op-symbol",l?"large-op":"small-op"]),h.length>0){var u=o.italic,d=Qa.staticSvg(h+"Size"+(l?"2":"1"),e);o=Qa.makeVList({positionType:"individualShift",children:[{type:"elem",elem:o,shift:0},{type:"elem",elem:d,shift:l?.08:0}]},e),i.name="\\"+h,o.classes.unshift("mop"),o.italic=u}}else if(i.body){var p=go(i.body,e,!0);1===p.length&&p[0]instanceof ji?(o=p[0]).classes[0]="mop":o=Qa.makeSpan(["mop"],p,e)}else{for(var f=[],g=1;g{var r;if(t.symbol)r=new ko("mo",[Co(t.name,t.mode)]),Zn.contains(il,t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new ko("mo",Lo(t.body,e));else{r=new ko("mi",[new To(t.name.slice(1))]);var n=new ko("mo",[Co("⁡","text")]);r=t.parentIsSupSub?new ko("mrow",[r,n]):bn([r,n])}return r}),"mathmlBuilder$1"),sl={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"},mn({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:w(((t,e)=>{var{parser:r,funcName:n}=t,i=n;return 1===i.length&&(i=sl[i]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}}),"handler"),htmlBuilder:al,mathmlBuilder:ol}),mn({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:w(((t,e)=>{var{parser:r}=t,n=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:lo(n)}}),"handler"),htmlBuilder:al,mathmlBuilder:ol}),ll={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"},mn({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:al,mathmlBuilder:ol}),mn({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:al,mathmlBuilder:ol}),mn({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t,n=r;return 1===n.length&&(n=ll[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:al,mathmlBuilder:ol}),cl=w(((t,e)=>{var r,n,i,a,o=!1;if("supsub"===t.type?(r=t.sup,n=t.sub,i=kn(t.base,"operatorname"),o=!0):i=kn(t,"operatorname"),i.body.length>0){for(var s=i.body.map((t=>{var e=t.text;return"string"==typeof e?{type:"textord",mode:t.mode,text:e}:t})),l=go(s,e.withFont("mathrm"),!0),c=0;c{for(var r=Lo(t.body,e.withFont("mathrm")),n=!0,i=0;it.toText())).join("");r=[new _o.TextNode(s)]}var l=new _o.MathNode("mi",r);l.setAttribute("mathvariant","normal");var c=new _o.MathNode("mo",[Co("⁡","text")]);return t.parentIsSupSub?new _o.MathNode("mrow",[l,c]):_o.newDocumentFragment([l,c])}),"mathmlBuilder"),mn({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:w(((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"operatorname",mode:r.mode,body:lo(i),alwaysHandleSupSub:"\\operatornamewithlimits"===n,limits:!1,parentIsSupSub:!1}}),"handler"),htmlBuilder:cl,mathmlBuilder:hl}),Mn("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@"),yn({type:"ordgroup",htmlBuilder:(t,e)=>t.semisimple?Qa.makeFragment(go(t.body,e,!1)):Qa.makeSpan(["mord"],go(t.body,e,!0),e),mathmlBuilder:(t,e)=>No(t.body,e,!0)}),mn({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:r}=t,n=e[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(t,e){var r=wo(t.body,e.havingCrampedStyle()),n=Qa.makeLineSpan("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=Qa.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]},e);return Qa.makeSpan(["mord","overline"],[a],e)},mathmlBuilder(t,e){var r=new _o.MathNode("mo",[new _o.TextNode("‾")]);r.setAttribute("stretchy","true");var n=new _o.MathNode("mover",[Io(t.body,e),r]);return n.setAttribute("accent","true"),n}}),mn({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:w(((t,e)=>{var{parser:r}=t,n=e[0];return{type:"phantom",mode:r.mode,body:lo(n)}}),"handler"),htmlBuilder:w(((t,e)=>{var r=go(t.body,e.withPhantom(),!1);return Qa.makeFragment(r)}),"htmlBuilder"),mathmlBuilder:w(((t,e)=>{var r=Lo(t.body,e);return new _o.MathNode("mphantom",r)}),"mathmlBuilder")}),mn({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:w(((t,e)=>{var{parser:r}=t,n=e[0];return{type:"hphantom",mode:r.mode,body:n}}),"handler"),htmlBuilder:w(((t,e)=>{var r=Qa.makeSpan([],[wo(t.body,e.withPhantom())]);if(r.height=0,r.depth=0,r.children)for(var n=0;n{var r=Lo(lo(t.body),e),n=new _o.MathNode("mphantom",r),i=new _o.MathNode("mpadded",[n]);return i.setAttribute("height","0px"),i.setAttribute("depth","0px"),i}),"mathmlBuilder")}),mn({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:w(((t,e)=>{var{parser:r}=t,n=e[0];return{type:"vphantom",mode:r.mode,body:n}}),"handler"),htmlBuilder:w(((t,e)=>{var r=Qa.makeSpan(["inner"],[wo(t.body,e.withPhantom())]),n=Qa.makeSpan(["fix"],[]);return Qa.makeSpan(["mord","rlap"],[r,n],e)}),"htmlBuilder"),mathmlBuilder:w(((t,e)=>{var r=Lo(lo(t.body),e),n=new _o.MathNode("mphantom",r),i=new _o.MathNode("mpadded",[n]);return i.setAttribute("width","0px"),i}),"mathmlBuilder")}),mn({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t,n=kn(e[0],"size").value,i=e[1];return{type:"raisebox",mode:r.mode,dy:n,body:i}},htmlBuilder(t,e){var r=wo(t.body,e),n=Oi(t.dy,e);return Qa.makeVList({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]},e)},mathmlBuilder(t,e){var r=new _o.MathNode("mpadded",[Io(t.body,e)]),n=t.dy.number+t.dy.unit;return r.setAttribute("voffset",n),r}}),mn({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}}),mn({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,argTypes:["size","size","size"]},handler(t,e,r){var{parser:n}=t,i=r[0],a=kn(e[0],"size"),o=kn(e[1],"size");return{type:"rule",mode:n.mode,shift:i&&kn(i,"size").value,width:a.value,height:o.value}},htmlBuilder(t,e){var r=Qa.makeSpan(["mord","rule"],[],e),n=Oi(t.width,e),i=Oi(t.height,e),a=t.shift?Oi(t.shift,e):0;return r.style.borderRightWidth=Pi(n),r.style.borderTopWidth=Pi(i),r.style.bottom=Pi(a),r.width=n,r.height=i+a,r.depth=-a,r.maxFontSize=1.125*i*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=Oi(t.width,e),n=Oi(t.height,e),i=t.shift?Oi(t.shift,e):0,a=e.color&&e.getColor()||"black",o=new _o.MathNode("mspace");o.setAttribute("mathbackground",a),o.setAttribute("width",Pi(r)),o.setAttribute("height",Pi(n));var s=new _o.MathNode("mpadded",[o]);return i>=0?s.setAttribute("height",Pi(i)):(s.setAttribute("height",Pi(i)),s.setAttribute("depth",Pi(-i))),s.setAttribute("voffset",Pi(i)),s}}),w(Bn,"sizingGroup"),ul=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],dl=w(((t,e)=>{var r=e.havingSize(t.size);return Bn(t.body,r,e)}),"htmlBuilder"),mn({type:"sizing",names:ul,props:{numArgs:0,allowedInText:!0},handler:w(((t,e)=>{var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!1,r);return{type:"sizing",mode:i.mode,size:ul.indexOf(n)+1,body:a}}),"handler"),htmlBuilder:dl,mathmlBuilder:w(((t,e)=>{var r=e.havingSize(t.size),n=Lo(t.body,r),i=new _o.MathNode("mstyle",n);return i.setAttribute("mathsize",Pi(r.sizeMultiplier)),i}),"mathmlBuilder")}),mn({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:w(((t,e,r)=>{var{parser:n}=t,i=!1,a=!1,o=r[0]&&kn(r[0],"ordgroup");if(o)for(var s="",l=0;l{var r=Qa.makeSpan([],[wo(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0,r.children))for(var n=0;n{var r=new _o.MathNode("mpadded",[Io(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r}),"mathmlBuilder")}),mn({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n}=t,i=r[0],a=e[0];return{type:"sqrt",mode:n.mode,body:a,index:i}},htmlBuilder(t,e){var r=wo(t.body,e.havingCrampedStyle());0===r.height&&(r.height=e.fontMetrics().xHeight),r=Qa.wrapFragment(r,e);var n=e.fontMetrics().defaultRuleThickness,i=n;e.style.idr.height+r.depth+a&&(a=(a+h-r.height-r.depth)/2);var u=s.height-r.height-a-l;r.style.paddingLeft=Pi(c);var d=Qa.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+u)},{type:"elem",elem:s},{type:"kern",size:l}]},e);if(t.index){var p=e.havingStyle(li.SCRIPTSCRIPT),f=wo(t.index,p,e),g=.6*(d.height-d.depth),m=Qa.makeVList({positionType:"shift",positionData:-g,children:[{type:"elem",elem:f}]},e),y=Qa.makeSpan(["root"],[m]);return Qa.makeSpan(["mord","sqrt"],[y,d],e)}return Qa.makeSpan(["mord","sqrt"],[d],e)},mathmlBuilder(t,e){var{body:r,index:n}=t;return n?new _o.MathNode("mroot",[Io(r,e),Io(n,e)]):new _o.MathNode("msqrt",[Io(r,e)])}}),pl={display:li.DISPLAY,text:li.TEXT,script:li.SCRIPT,scriptscript:li.SCRIPTSCRIPT},mn({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!0,r),o=n.slice(1,n.length-5);return{type:"styling",mode:i.mode,style:o,body:a}},htmlBuilder(t,e){var r=pl[t.style],n=e.havingStyle(r).withFont("");return Bn(t.body,n,e)},mathmlBuilder(t,e){var r=pl[t.style],n=e.havingStyle(r),i=Lo(t.body,n),a=new _o.MathNode("mstyle",i),o={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[t.style];return a.setAttribute("scriptlevel",o[0]),a.setAttribute("displaystyle",o[1]),a}}),fl=w((function(t,e){var r=t.base;return r?"op"===r.type?r.limits&&(e.style.size===li.DISPLAY.size||r.alwaysHandleSupSub)?al:null:"operatorname"===r.type?r.alwaysHandleSupSub&&(e.style.size===li.DISPLAY.size||r.limits)?cl:null:"accent"===r.type?Zn.isCharacterBox(r.base)?qo:null:"horizBrace"===r.type&&!t.sub===r.isOver?Js:null:null}),"htmlBuilderDelegate"),yn({type:"supsub",htmlBuilder(t,e){var r=fl(t,e);if(r)return r(t,e);var n,i,a,{base:o,sup:s,sub:l}=t,c=wo(o,e),h=e.fontMetrics(),u=0,d=0,p=o&&Zn.isCharacterBox(o);if(s){var f=e.havingStyle(e.style.sup());n=wo(s,f,e),p||(u=c.height-f.fontMetrics().supDrop*f.sizeMultiplier/e.sizeMultiplier)}if(l){var g=e.havingStyle(e.style.sub());i=wo(l,g,e),p||(d=c.depth+g.fontMetrics().subDrop*g.sizeMultiplier/e.sizeMultiplier)}a=e.style===li.DISPLAY?h.sup1:e.style.cramped?h.sup3:h.sup2;var m,y=e.sizeMultiplier,v=Pi(.5/h.ptPerEm/y),x=null;if(i){var b=t.base&&"op"===t.base.type&&t.base.name&&("\\oiint"===t.base.name||"\\oiiint"===t.base.name);(c instanceof ji||b)&&(x=Pi(-c.italic))}if(n&&i){u=Math.max(u,a,n.depth+.25*h.xHeight),d=Math.max(d,h.sub2);var w=4*h.defaultRuleThickness;if(u-n.depth-(i.height-d)0&&(u+=k,d-=k)}var T=[{type:"elem",elem:i,shift:d,marginRight:v,marginLeft:x},{type:"elem",elem:n,shift:-u,marginRight:v}];m=Qa.makeVList({positionType:"individualShift",children:T},e)}else if(i){d=Math.max(d,h.sub1,i.height-.8*h.xHeight);var E=[{type:"elem",elem:i,marginLeft:x,marginRight:v}];m=Qa.makeVList({positionType:"shift",positionData:d,children:E},e)}else{if(!n)throw new Error("supsub must have either sup or sub.");u=Math.max(u,a,n.depth+.25*h.xHeight),m=Qa.makeVList({positionType:"shift",positionData:-u,children:[{type:"elem",elem:n,marginRight:v}]},e)}var _=xo(c,"right")||"mord";return Qa.makeSpan([_],[c,Qa.makeSpan(["msupsub"],[m])],e)},mathmlBuilder(t,e){var r,n=!1;t.base&&"horizBrace"===t.base.type&&!!t.sup===t.base.isOver&&(n=!0,r=t.base.isOver),t.base&&("op"===t.base.type||"operatorname"===t.base.type)&&(t.base.parentIsSupSub=!0);var i,a=[Io(t.base,e)];if(t.sub&&a.push(Io(t.sub,e)),t.sup&&a.push(Io(t.sup,e)),n)i=r?"mover":"munder";else if(t.sub)if(t.sup){var o=t.base;i=o&&"op"===o.type&&o.limits&&e.style===li.DISPLAY||o&&"operatorname"===o.type&&o.alwaysHandleSupSub&&(e.style===li.DISPLAY||o.limits)?"munderover":"msubsup"}else{var s=t.base;i=s&&"op"===s.type&&s.limits&&(e.style===li.DISPLAY||s.alwaysHandleSupSub)||s&&"operatorname"===s.type&&s.alwaysHandleSupSub&&(s.limits||e.style===li.DISPLAY)?"munder":"msub"}else{var l=t.base;i=l&&"op"===l.type&&l.limits&&(e.style===li.DISPLAY||l.alwaysHandleSupSub)||l&&"operatorname"===l.type&&l.alwaysHandleSupSub&&(l.limits||e.style===li.DISPLAY)?"mover":"msup"}return new _o.MathNode(i,a)}}),yn({type:"atom",htmlBuilder:(t,e)=>Qa.mathsym(t.text,t.mode,e,["m"+t.family]),mathmlBuilder(t,e){var r=new _o.MathNode("mo",[Co(t.text,t.mode)]);if("bin"===t.family){var n=Ao(t,e);"bold-italic"===n&&r.setAttribute("mathvariant",n)}else"punct"===t.family?r.setAttribute("separator","true"):("open"===t.family||"close"===t.family)&&r.setAttribute("stretchy","false");return r}}),gl={mi:"italic",mn:"normal",mtext:"normal"},yn({type:"mathord",htmlBuilder:(t,e)=>Qa.makeOrd(t,e,"mathord"),mathmlBuilder(t,e){var r=new _o.MathNode("mi",[Co(t.text,t.mode,e)]),n=Ao(t,e)||"italic";return n!==gl[r.type]&&r.setAttribute("mathvariant",n),r}}),yn({type:"textord",htmlBuilder:(t,e)=>Qa.makeOrd(t,e,"textord"),mathmlBuilder(t,e){var r,n=Co(t.text,t.mode,e),i=Ao(t,e)||"normal";return r="text"===t.mode?new _o.MathNode("mtext",[n]):/[0-9]/.test(t.text)?new _o.MathNode("mn",[n]):"\\prime"===t.text?new _o.MathNode("mo",[n]):new _o.MathNode("mi",[n]),i!==gl[r.type]&&r.setAttribute("mathvariant",i),r}}),ml={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},yl={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}},yn({type:"spacing",htmlBuilder(t,e){if(yl.hasOwnProperty(t.text)){var r=yl[t.text].className||"";if("text"===t.mode){var n=Qa.makeOrd(t,e,"textord");return n.classes.push(r),n}return Qa.makeSpan(["mspace",r],[Qa.mathsym(t.text,t.mode,e)],e)}if(ml.hasOwnProperty(t.text))return Qa.makeSpan(["mspace",ml[t.text]],[],e);throw new zn('Unknown type of space "'+t.text+'"')},mathmlBuilder(t,e){if(!yl.hasOwnProperty(t.text)){if(ml.hasOwnProperty(t.text))return new _o.MathNode("mspace");throw new zn('Unknown type of space "'+t.text+'"')}return new _o.MathNode("mtext",[new _o.TextNode(" ")])}}),vl=w((()=>{var t=new _o.MathNode("mtd",[]);return t.setAttribute("width","50%"),t}),"pad"),yn({type:"tag",mathmlBuilder(t,e){var r=new _o.MathNode("mtable",[new _o.MathNode("mtr",[vl(),new _o.MathNode("mtd",[No(t.body,e)]),vl(),new _o.MathNode("mtd",[No(t.tag,e)])])]);return r.setAttribute("width","100%"),r}}),xl={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},bl={"\\textbf":"textbf","\\textmd":"textmd"},wl={"\\textit":"textit","\\textup":"textup"},kl=w(((t,e)=>{var r=t.font;return r?xl[r]?e.withTextFontFamily(xl[r]):bl[r]?e.withTextFontWeight(bl[r]):"\\emph"===r?"textit"===e.fontShape?e.withTextFontShape("textup"):e.withTextFontShape("textit"):e.withTextFontShape(wl[r]):e}),"optionsWithFont"),mn({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"text",mode:r.mode,body:lo(i),font:n}},htmlBuilder(t,e){var r=kl(t,e),n=go(t.body,r,!0);return Qa.makeSpan(["mord","text"],n,r)},mathmlBuilder(t,e){var r=kl(t,e);return No(t.body,r)}}),mn({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"underline",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=wo(t.body,e),n=Qa.makeLineSpan("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=Qa.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r}]},e);return Qa.makeSpan(["mord","underline"],[a],e)},mathmlBuilder(t,e){var r=new _o.MathNode("mo",[new _o.TextNode("‾")]);r.setAttribute("stretchy","true");var n=new _o.MathNode("munder",[Io(t.body,e),r]);return n.setAttribute("accentunder","true"),n}}),mn({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"vcenter",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=wo(t.body,e),n=e.fontMetrics().axisHeight,i=.5*(r.height-n-(r.depth+n));return Qa.makeVList({positionType:"shift",positionData:i,children:[{type:"elem",elem:r}]},e)},mathmlBuilder:(t,e)=>new _o.MathNode("mpadded",[Io(t.body,e)],["vcenter"])}),mn({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,r){throw new zn("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var r=Tl(t),n=[],i=e.havingStyle(e.style.text()),a=0;at.body.replace(/ /g,t.star?"␣":" ")),"makeVerb"),El=io,_l="(\\\\[a-zA-Z@]+)"+"[ \r\n\t]"+"*",Cl="[̀-ͯ]",Sl=new RegExp(Cl+"+$"),Al="([ \r\n\t]+)|\\\\(\n|[ \r\t]+\n?)[ \r\t]*|([!-\\[\\]-‧‪-퟿豈-￿][̀-ͯ]*|[\ud800-\udbff][\udc00-\udfff][̀-ͯ]*|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5|"+_l+"|\\\\[^\ud800-\udfff])",Ll=class{static{w(this,"Lexer")}constructor(t,e){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=t,this.settings=e,this.tokenRegex=new RegExp(Al,"g"),this.catcodes={"%":14,"~":13}}setCatcode(t,e){this.catcodes[t]=e}lex(){var t=this.input,e=this.tokenRegex.lastIndex;if(e===t.length)return new $n("EOF",new Fn(this,e,e));var r=this.tokenRegex.exec(t);if(null===r||r.index!==e)throw new zn("Unexpected character: '"+t[e]+"'",new $n(t[e],new Fn(this,e,e+1)));var n=r[6]||r[3]||(r[2]?"\\ ":" ");if(14===this.catcodes[n]){var i=t.indexOf("\n",this.tokenRegex.lastIndex);return-1===i?(this.tokenRegex.lastIndex=t.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=i+1,this.lex()}return new $n(n,new Fn(this,e,this.tokenRegex.lastIndex))}},Nl=class{static{w(this,"Namespace")}constructor(t,e){void 0===t&&(t={}),void 0===e&&(e={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=e,this.builtins=t,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(0===this.undefStack.length)throw new zn("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var t=this.undefStack.pop();for(var e in t)t.hasOwnProperty(e)&&(null==t[e]?delete this.current[e]:this.current[e]=t[e])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(t){return this.current.hasOwnProperty(t)||this.builtins.hasOwnProperty(t)}get(t){return this.current.hasOwnProperty(t)?this.current[t]:this.builtins[t]}set(t,e,r){if(void 0===r&&(r=!1),r){for(var n=0;n0&&(this.undefStack[this.undefStack.length-1][t]=e)}else{var i=this.undefStack[this.undefStack.length-1];i&&!i.hasOwnProperty(t)&&(i[t]=this.current[t])}null==e?delete this.current[t]:this.current[t]=e}},Il=Fs,Mn("\\noexpand",(function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}})),Mn("\\expandafter",(function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}})),Mn("\\@firstoftwo",(function(t){return{tokens:t.consumeArgs(2)[0],numArgs:0}})),Mn("\\@secondoftwo",(function(t){return{tokens:t.consumeArgs(2)[1],numArgs:0}})),Mn("\\@ifnextchar",(function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return 1===e[0].length&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}})),Mn("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),Mn("\\TextOrMath",(function(t){var e=t.consumeArgs(2);return"text"===t.mode?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}})),Ml={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15},Mn("\\char",(function(t){var e,r=t.popToken(),n="";if("'"===r.text)e=8,r=t.popToken();else if('"'===r.text)e=16,r=t.popToken();else if("`"===r.text)if("\\"===(r=t.popToken()).text[0])n=r.text.charCodeAt(1);else{if("EOF"===r.text)throw new zn("\\char` missing argument");n=r.text.charCodeAt(0)}else e=10;if(e){if(null==(n=Ml[r.text])||n>=e)throw new zn("Invalid base-"+e+" digit "+r.text);for(var i;null!=(i=Ml[t.future().text])&&i{var n=t.consumeArg().tokens;if(1!==n.length)throw new zn("\\newcommand's first argument must be a macro name");var i=n[0].text,a=t.isDefined(i);if(a&&!e)throw new zn("\\newcommand{"+i+"} attempting to redefine "+i+"; use \\renewcommand");if(!a&&!r)throw new zn("\\renewcommand{"+i+"} when command "+i+" does not yet exist; use \\newcommand");var o=0;if(1===(n=t.consumeArg().tokens).length&&"["===n[0].text){for(var s="",l=t.expandNextToken();"]"!==l.text&&"EOF"!==l.text;)s+=l.text,l=t.expandNextToken();if(!s.match(/^\s*[0-9]+\s*$/))throw new zn("Invalid number of arguments: "+s);o=parseInt(s),n=t.consumeArg().tokens}return t.macros.set(i,{tokens:n,numArgs:o}),""}),"newcommand"),Mn("\\newcommand",(t=>Rl(t,!1,!0))),Mn("\\renewcommand",(t=>Rl(t,!0,!1))),Mn("\\providecommand",(t=>Rl(t,!0,!0))),Mn("\\message",(t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map((t=>t.text)).join("")),""})),Mn("\\errmessage",(t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map((t=>t.text)).join("")),""})),Mn("\\show",(t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),El[r],Zi.math[r],Zi.text[r]),""})),Mn("\\bgroup","{"),Mn("\\egroup","}"),Mn("~","\\nobreakspace"),Mn("\\lq","`"),Mn("\\rq","'"),Mn("\\aa","\\r a"),Mn("\\AA","\\r A"),Mn("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}"),Mn("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),Mn("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),Mn("ℬ","\\mathscr{B}"),Mn("ℰ","\\mathscr{E}"),Mn("ℱ","\\mathscr{F}"),Mn("ℋ","\\mathscr{H}"),Mn("ℐ","\\mathscr{I}"),Mn("ℒ","\\mathscr{L}"),Mn("ℳ","\\mathscr{M}"),Mn("ℛ","\\mathscr{R}"),Mn("ℭ","\\mathfrak{C}"),Mn("ℌ","\\mathfrak{H}"),Mn("ℨ","\\mathfrak{Z}"),Mn("\\Bbbk","\\Bbb{k}"),Mn("·","\\cdotp"),Mn("\\llap","\\mathllap{\\textrm{#1}}"),Mn("\\rlap","\\mathrlap{\\textrm{#1}}"),Mn("\\clap","\\mathclap{\\textrm{#1}}"),Mn("\\mathstrut","\\vphantom{(}"),Mn("\\underbar","\\underline{\\text{#1}}"),Mn("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'),Mn("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),Mn("\\ne","\\neq"),Mn("≠","\\neq"),Mn("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),Mn("∉","\\notin"),Mn("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}"),Mn("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}"),Mn("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}"),Mn("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}"),Mn("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}"),Mn("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}"),Mn("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}"),Mn("⟂","\\perp"),Mn("‼","\\mathclose{!\\mkern-0.8mu!}"),Mn("∌","\\notni"),Mn("⌜","\\ulcorner"),Mn("⌝","\\urcorner"),Mn("⌞","\\llcorner"),Mn("⌟","\\lrcorner"),Mn("©","\\copyright"),Mn("®","\\textregistered"),Mn("️","\\textregistered"),Mn("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),Mn("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),Mn("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),Mn("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),Mn("\\vdots","\\mathord{\\varvdots\\rule{0pt}{15pt}}"),Mn("⋮","\\vdots"),Mn("\\varGamma","\\mathit{\\Gamma}"),Mn("\\varDelta","\\mathit{\\Delta}"),Mn("\\varTheta","\\mathit{\\Theta}"),Mn("\\varLambda","\\mathit{\\Lambda}"),Mn("\\varXi","\\mathit{\\Xi}"),Mn("\\varPi","\\mathit{\\Pi}"),Mn("\\varSigma","\\mathit{\\Sigma}"),Mn("\\varUpsilon","\\mathit{\\Upsilon}"),Mn("\\varPhi","\\mathit{\\Phi}"),Mn("\\varPsi","\\mathit{\\Psi}"),Mn("\\varOmega","\\mathit{\\Omega}"),Mn("\\substack","\\begin{subarray}{c}#1\\end{subarray}"),Mn("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax"),Mn("\\boxed","\\fbox{$\\displaystyle{#1}$}"),Mn("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;"),Mn("\\implies","\\DOTSB\\;\\Longrightarrow\\;"),Mn("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;"),Dl={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},Mn("\\dots",(function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in Dl?e=Dl[r]:("\\not"===r.slice(0,4)||r in Zi.math&&Zn.contains(["bin","rel"],Zi.math[r].group))&&(e="\\dotsb"),e})),Ol={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0},Mn("\\dotso",(function(t){return t.future().text in Ol?"\\ldots\\,":"\\ldots"})),Mn("\\dotsc",(function(t){var e=t.future().text;return e in Ol&&","!==e?"\\ldots\\,":"\\ldots"})),Mn("\\cdots",(function(t){return t.future().text in Ol?"\\@cdots\\,":"\\@cdots"})),Mn("\\dotsb","\\cdots"),Mn("\\dotsm","\\cdots"),Mn("\\dotsi","\\!\\cdots"),Mn("\\dotsx","\\ldots\\,"),Mn("\\DOTSI","\\relax"),Mn("\\DOTSB","\\relax"),Mn("\\DOTSX","\\relax"),Mn("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),Mn("\\,","\\tmspace+{3mu}{.1667em}"),Mn("\\thinspace","\\,"),Mn("\\>","\\mskip{4mu}"),Mn("\\:","\\tmspace+{4mu}{.2222em}"),Mn("\\medspace","\\:"),Mn("\\;","\\tmspace+{5mu}{.2777em}"),Mn("\\thickspace","\\;"),Mn("\\!","\\tmspace-{3mu}{.1667em}"),Mn("\\negthinspace","\\!"),Mn("\\negmedspace","\\tmspace-{4mu}{.2222em}"),Mn("\\negthickspace","\\tmspace-{5mu}{.277em}"),Mn("\\enspace","\\kern.5em "),Mn("\\enskip","\\hskip.5em\\relax"),Mn("\\quad","\\hskip1em\\relax"),Mn("\\qquad","\\hskip2em\\relax"),Mn("\\tag","\\@ifstar\\tag@literal\\tag@paren"),Mn("\\tag@paren","\\tag@literal{({#1})}"),Mn("\\tag@literal",(t=>{if(t.macros.get("\\df@tag"))throw new zn("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"})),Mn("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),Mn("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),Mn("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),Mn("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),Mn("\\newline","\\\\\\relax"),Mn("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}"),Mn("\\LaTeX","\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+(Pl=Pi(Ei["Main-Regular"][84][1]-.7*Ei["Main-Regular"][65][1]))+"}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}"),Mn("\\KaTeX","\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+Pl+"}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}"),Mn("\\hspace","\\@ifstar\\@hspacer\\@hspace"),Mn("\\@hspace","\\hskip #1\\relax"),Mn("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),Mn("\\ordinarycolon",":"),Mn("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),Mn("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),Mn("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),Mn("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),Mn("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),Mn("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),Mn("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),Mn("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),Mn("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),Mn("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),Mn("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),Mn("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),Mn("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),Mn("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),Mn("∷","\\dblcolon"),Mn("∹","\\eqcolon"),Mn("≔","\\coloneqq"),Mn("≕","\\eqqcolon"),Mn("⩴","\\Coloneqq"),Mn("\\ratio","\\vcentcolon"),Mn("\\coloncolon","\\dblcolon"),Mn("\\colonequals","\\coloneqq"),Mn("\\coloncolonequals","\\Coloneqq"),Mn("\\equalscolon","\\eqqcolon"),Mn("\\equalscoloncolon","\\Eqqcolon"),Mn("\\colonminus","\\coloneq"),Mn("\\coloncolonminus","\\Coloneq"),Mn("\\minuscolon","\\eqcolon"),Mn("\\minuscoloncolon","\\Eqcolon"),Mn("\\coloncolonapprox","\\Colonapprox"),Mn("\\coloncolonsim","\\Colonsim"),Mn("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Mn("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Mn("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Mn("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Mn("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),Mn("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),Mn("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),Mn("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),Mn("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),Mn("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),Mn("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),Mn("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),Mn("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),Mn("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}"),Mn("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}"),Mn("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}"),Mn("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}"),Mn("\\nleqq","\\html@mathml{\\@nleqq}{≰}"),Mn("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}"),Mn("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}"),Mn("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}"),Mn("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}"),Mn("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}"),Mn("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}"),Mn("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}"),Mn("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}"),Mn("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}"),Mn("\\imath","\\html@mathml{\\@imath}{ı}"),Mn("\\jmath","\\html@mathml{\\@jmath}{ȷ}"),Mn("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),Mn("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),Mn("⟦","\\llbracket"),Mn("⟧","\\rrbracket"),Mn("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),Mn("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),Mn("⦃","\\lBrace"),Mn("⦄","\\rBrace"),Mn("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),Mn("⦵","\\minuso"),Mn("\\darr","\\downarrow"),Mn("\\dArr","\\Downarrow"),Mn("\\Darr","\\Downarrow"),Mn("\\lang","\\langle"),Mn("\\rang","\\rangle"),Mn("\\uarr","\\uparrow"),Mn("\\uArr","\\Uparrow"),Mn("\\Uarr","\\Uparrow"),Mn("\\N","\\mathbb{N}"),Mn("\\R","\\mathbb{R}"),Mn("\\Z","\\mathbb{Z}"),Mn("\\alef","\\aleph"),Mn("\\alefsym","\\aleph"),Mn("\\Alpha","\\mathrm{A}"),Mn("\\Beta","\\mathrm{B}"),Mn("\\bull","\\bullet"),Mn("\\Chi","\\mathrm{X}"),Mn("\\clubs","\\clubsuit"),Mn("\\cnums","\\mathbb{C}"),Mn("\\Complex","\\mathbb{C}"),Mn("\\Dagger","\\ddagger"),Mn("\\diamonds","\\diamondsuit"),Mn("\\empty","\\emptyset"),Mn("\\Epsilon","\\mathrm{E}"),Mn("\\Eta","\\mathrm{H}"),Mn("\\exist","\\exists"),Mn("\\harr","\\leftrightarrow"),Mn("\\hArr","\\Leftrightarrow"),Mn("\\Harr","\\Leftrightarrow"),Mn("\\hearts","\\heartsuit"),Mn("\\image","\\Im"),Mn("\\infin","\\infty"),Mn("\\Iota","\\mathrm{I}"),Mn("\\isin","\\in"),Mn("\\Kappa","\\mathrm{K}"),Mn("\\larr","\\leftarrow"),Mn("\\lArr","\\Leftarrow"),Mn("\\Larr","\\Leftarrow"),Mn("\\lrarr","\\leftrightarrow"),Mn("\\lrArr","\\Leftrightarrow"),Mn("\\Lrarr","\\Leftrightarrow"),Mn("\\Mu","\\mathrm{M}"),Mn("\\natnums","\\mathbb{N}"),Mn("\\Nu","\\mathrm{N}"),Mn("\\Omicron","\\mathrm{O}"),Mn("\\plusmn","\\pm"),Mn("\\rarr","\\rightarrow"),Mn("\\rArr","\\Rightarrow"),Mn("\\Rarr","\\Rightarrow"),Mn("\\real","\\Re"),Mn("\\reals","\\mathbb{R}"),Mn("\\Reals","\\mathbb{R}"),Mn("\\Rho","\\mathrm{P}"),Mn("\\sdot","\\cdot"),Mn("\\sect","\\S"),Mn("\\spades","\\spadesuit"),Mn("\\sub","\\subset"),Mn("\\sube","\\subseteq"),Mn("\\supe","\\supseteq"),Mn("\\Tau","\\mathrm{T}"),Mn("\\thetasym","\\vartheta"),Mn("\\weierp","\\wp"),Mn("\\Zeta","\\mathrm{Z}"),Mn("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),Mn("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),Mn("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),Mn("\\bra","\\mathinner{\\langle{#1}|}"),Mn("\\ket","\\mathinner{|{#1}\\rangle}"),Mn("\\braket","\\mathinner{\\langle{#1}\\rangle}"),Mn("\\Bra","\\left\\langle#1\\right|"),Mn("\\Ket","\\left|#1\\right\\rangle"),Mn("\\bra@ket",(Bl=w((t=>e=>{var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,o=e.macros.get("|"),s=e.macros.get("\\|");e.macros.beginGroup();var l=w((e=>r=>{t&&(r.macros.set("|",o),i.length&&r.macros.set("\\|",s));var a=e;return!e&&i.length&&"|"===r.future().text&&(r.popToken(),a=!0),{tokens:a?i:n,numArgs:0}}),"midMacro");e.macros.set("|",l(!1)),i.length&&e.macros.set("\\|",l(!0));var c=e.consumeArg().tokens,h=e.expandTokens([...a,...c,...r]);return e.macros.endGroup(),{tokens:h.reverse(),numArgs:0}}),"braketHelper"))(!1)),Mn("\\bra@set",Bl(!0)),Mn("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),Mn("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),Mn("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),Mn("\\angln","{\\angl n}"),Mn("\\blue","\\textcolor{##6495ed}{#1}"),Mn("\\orange","\\textcolor{##ffa500}{#1}"),Mn("\\pink","\\textcolor{##ff00af}{#1}"),Mn("\\red","\\textcolor{##df0030}{#1}"),Mn("\\green","\\textcolor{##28ae7b}{#1}"),Mn("\\gray","\\textcolor{gray}{#1}"),Mn("\\purple","\\textcolor{##9d38bd}{#1}"),Mn("\\blueA","\\textcolor{##ccfaff}{#1}"),Mn("\\blueB","\\textcolor{##80f6ff}{#1}"),Mn("\\blueC","\\textcolor{##63d9ea}{#1}"),Mn("\\blueD","\\textcolor{##11accd}{#1}"),Mn("\\blueE","\\textcolor{##0c7f99}{#1}"),Mn("\\tealA","\\textcolor{##94fff5}{#1}"),Mn("\\tealB","\\textcolor{##26edd5}{#1}"),Mn("\\tealC","\\textcolor{##01d1c1}{#1}"),Mn("\\tealD","\\textcolor{##01a995}{#1}"),Mn("\\tealE","\\textcolor{##208170}{#1}"),Mn("\\greenA","\\textcolor{##b6ffb0}{#1}"),Mn("\\greenB","\\textcolor{##8af281}{#1}"),Mn("\\greenC","\\textcolor{##74cf70}{#1}"),Mn("\\greenD","\\textcolor{##1fab54}{#1}"),Mn("\\greenE","\\textcolor{##0d923f}{#1}"),Mn("\\goldA","\\textcolor{##ffd0a9}{#1}"),Mn("\\goldB","\\textcolor{##ffbb71}{#1}"),Mn("\\goldC","\\textcolor{##ff9c39}{#1}"),Mn("\\goldD","\\textcolor{##e07d10}{#1}"),Mn("\\goldE","\\textcolor{##a75a05}{#1}"),Mn("\\redA","\\textcolor{##fca9a9}{#1}"),Mn("\\redB","\\textcolor{##ff8482}{#1}"),Mn("\\redC","\\textcolor{##f9685d}{#1}"),Mn("\\redD","\\textcolor{##e84d39}{#1}"),Mn("\\redE","\\textcolor{##bc2612}{#1}"),Mn("\\maroonA","\\textcolor{##ffbde0}{#1}"),Mn("\\maroonB","\\textcolor{##ff92c6}{#1}"),Mn("\\maroonC","\\textcolor{##ed5fa6}{#1}"),Mn("\\maroonD","\\textcolor{##ca337c}{#1}"),Mn("\\maroonE","\\textcolor{##9e034e}{#1}"),Mn("\\purpleA","\\textcolor{##ddd7ff}{#1}"),Mn("\\purpleB","\\textcolor{##c6b9fc}{#1}"),Mn("\\purpleC","\\textcolor{##aa87ff}{#1}"),Mn("\\purpleD","\\textcolor{##7854ab}{#1}"),Mn("\\purpleE","\\textcolor{##543b78}{#1}"),Mn("\\mintA","\\textcolor{##f5f9e8}{#1}"),Mn("\\mintB","\\textcolor{##edf2df}{#1}"),Mn("\\mintC","\\textcolor{##e0e5cc}{#1}"),Mn("\\grayA","\\textcolor{##f6f7f7}{#1}"),Mn("\\grayB","\\textcolor{##f0f1f2}{#1}"),Mn("\\grayC","\\textcolor{##e3e5e6}{#1}"),Mn("\\grayD","\\textcolor{##d6d8da}{#1}"),Mn("\\grayE","\\textcolor{##babec2}{#1}"),Mn("\\grayF","\\textcolor{##888d93}{#1}"),Mn("\\grayG","\\textcolor{##626569}{#1}"),Mn("\\grayH","\\textcolor{##3b3e40}{#1}"),Mn("\\grayI","\\textcolor{##21242c}{#1}"),Mn("\\kaBlue","\\textcolor{##314453}{#1}"),Mn("\\kaGreen","\\textcolor{##71B307}{#1}"),Fl={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},$l=class{static{w(this,"MacroExpander")}constructor(t,e,r){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=e,this.expansionCount=0,this.feed(t),this.macros=new Nl(Il,e.macros),this.mode=r,this.stack=[]}feed(t){this.lexer=new Ll(t,this.settings)}switchMode(t){this.mode=t}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(t){this.stack.push(t)}pushTokens(t){this.stack.push(...t)}scanArgument(t){var e,r,n;if(t){if(this.consumeSpaces(),"["!==this.future().text)return null;e=this.popToken(),({tokens:n,end:r}=this.consumeArg(["]"]))}else({tokens:n,start:e,end:r}=this.consumeArg());return this.pushToken(new $n("EOF",r.loc)),this.pushTokens(n),e.range(r,"")}consumeSpaces(){for(;" "===this.future().text;)this.stack.pop()}consumeArg(t){var e=[],r=t&&t.length>0;r||this.consumeSpaces();var n,i=this.future(),a=0,o=0;do{if(n=this.popToken(),e.push(n),"{"===n.text)++a;else if("}"===n.text){if(-1==--a)throw new zn("Extra }",n)}else if("EOF"===n.text)throw new zn("Unexpected end of input in a macro argument, expected '"+(t&&r?t[o]:"}")+"'",n);if(t&&r)if((0===a||1===a&&"{"===t[o])&&n.text===t[o]){if(++o===t.length){e.splice(-o,o);break}}else o=0}while(0!==a||r);return"{"===i.text&&"}"===e[e.length-1].text&&(e.pop(),e.shift()),e.reverse(),{tokens:e,start:i,end:n}}consumeArgs(t,e){if(e){if(e.length!==t+1)throw new zn("The length of delimiters doesn't match the number of args!");for(var r=e[0],n=0;nthis.settings.maxExpand)throw new zn("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(t){var e=this.popToken(),r=e.text,n=e.noexpand?null:this._getExpansion(r);if(null==n||t&&n.unexpandable){if(t&&null==n&&"\\"===r[0]&&!this.isDefined(r))throw new zn("Undefined control sequence: "+r);return this.pushToken(e),!1}this.countExpansion(1);var i=n.tokens,a=this.consumeArgs(n.numArgs,n.delimiters);if(n.numArgs)for(var o=(i=i.slice()).length-1;o>=0;--o){var s=i[o];if("#"===s.text){if(0===o)throw new zn("Incomplete placeholder at end of macro body",s);if("#"===(s=i[--o]).text)i.splice(o+1,1);else{if(!/^[1-9]$/.test(s.text))throw new zn("Not a valid argument number",s);i.splice(o,2,...a[+s.text-1])}}}return this.pushTokens(i),i.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(!1===this.expandOnce()){var t=this.stack.pop();return t.treatAsRelax&&(t.text="\\relax"),t}throw new Error}expandMacro(t){return this.macros.has(t)?this.expandTokens([new $n(t)]):void 0}expandTokens(t){var e=[],r=this.stack.length;for(this.pushTokens(t);this.stack.length>r;)if(!1===this.expandOnce(!0)){var n=this.stack.pop();n.treatAsRelax&&(n.noexpand=!1,n.treatAsRelax=!1),e.push(n)}return this.countExpansion(e.length),e}expandMacroAsText(t){var e=this.expandMacro(t);return e&&e.map((t=>t.text)).join("")}_getExpansion(t){var e=this.macros.get(t);if(null==e)return e;if(1===t.length){var r=this.lexer.catcodes[t];if(null!=r&&13!==r)return}var n="function"==typeof e?e(this):e;if("string"==typeof n){var i=0;if(-1!==n.indexOf("#"))for(var a=n.replace(/##/g,"");-1!==a.indexOf("#"+(i+1));)++i;for(var o=new Ll(n,this.settings),s=[],l=o.lex();"EOF"!==l.text;)s.push(l),l=o.lex();return s.reverse(),{tokens:s,numArgs:i}}return n}isDefined(t){return this.macros.has(t)||El.hasOwnProperty(t)||Zi.math.hasOwnProperty(t)||Zi.text.hasOwnProperty(t)||Fl.hasOwnProperty(t)}isExpandable(t){var e=this.macros.get(t);return null!=e?"string"==typeof e||"function"==typeof e||!e.unexpandable:El.hasOwnProperty(t)&&!El[t].primitive}},zl=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,Ul=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9",ₐ:"a",ₑ:"e",ₕ:"h",ᵢ:"i",ⱼ:"j",ₖ:"k",ₗ:"l",ₘ:"m",ₙ:"n",ₒ:"o",ₚ:"p",ᵣ:"r",ₛ:"s",ₜ:"t",ᵤ:"u",ᵥ:"v",ₓ:"x",ᵦ:"β",ᵧ:"γ",ᵨ:"ρ",ᵩ:"ϕ",ᵪ:"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9",ᴬ:"A",ᴮ:"B",ᴰ:"D",ᴱ:"E",ᴳ:"G",ᴴ:"H",ᴵ:"I",ᴶ:"J",ᴷ:"K",ᴸ:"L",ᴹ:"M",ᴺ:"N",ᴼ:"O",ᴾ:"P",ᴿ:"R",ᵀ:"T",ᵁ:"U",ⱽ:"V",ᵂ:"W",ᵃ:"a",ᵇ:"b",ᶜ:"c",ᵈ:"d",ᵉ:"e",ᶠ:"f",ᵍ:"g",ʰ:"h",ⁱ:"i",ʲ:"j",ᵏ:"k",ˡ:"l",ᵐ:"m",ⁿ:"n",ᵒ:"o",ᵖ:"p",ʳ:"r",ˢ:"s",ᵗ:"t",ᵘ:"u",ᵛ:"v",ʷ:"w",ˣ:"x",ʸ:"y",ᶻ:"z",ᵝ:"β",ᵞ:"γ",ᵟ:"δ",ᵠ:"ϕ",ᵡ:"χ",ᶿ:"θ"}),Gl={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},ql={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"},(Yl=class t{static{w(this,"Parser")}constructor(t,e){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new $l(t,e,this.mode),this.settings=e,this.leftrightDepth=0}expect(t,e){if(void 0===e&&(e=!0),this.fetch().text!==t)throw new zn("Expected '"+t+"', got '"+this.fetch().text+"'",this.fetch());e&&this.consume()}consume(){this.nextToken=null}fetch(){return null==this.nextToken&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(t){this.mode=t,this.gullet.switchMode(t)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var t=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),t}finally{this.gullet.endGroups()}}subparse(t){var e=this.nextToken;this.consume(),this.gullet.pushToken(new $n("}")),this.gullet.pushTokens(t);var r=this.parseExpression(!1);return this.expect("}"),this.nextToken=e,r}parseExpression(e,r){for(var n=[];;){"math"===this.mode&&this.consumeSpaces();var i=this.fetch();if(-1!==t.endOfExpression.indexOf(i.text)||r&&i.text===r||e&&El[i.text]&&El[i.text].infix)break;var a=this.parseAtom(r);if(!a)break;"internal"!==a.type&&n.push(a)}return"text"===this.mode&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(t){for(var e,r=-1,n=0;n=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+e[0]+'" used in math mode',t);var o,s=Zi[this.mode][e].group,l=Fn.range(t);if(Xi.hasOwnProperty(s)){var c=s;o={type:"atom",mode:this.mode,family:c,loc:l,text:e}}else o={type:s,mode:this.mode,loc:l,text:e};i=o}else{if(!(e.charCodeAt(0)>=128))return null;this.settings.strict&&(cn(e.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+e[0]+'" used in math mode',t):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+e[0]+'" ('+e.charCodeAt(0)+")",t)),i={type:"textord",mode:"text",loc:Fn.range(t),text:e}}if(this.consume(),a)for(var h=0;h{"A"===e.tagName&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")})),ec.default.addHook("afterSanitizeAttributes",(e=>{"A"===e.tagName&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),"_blank"===e.getAttribute("target")&&e.setAttribute("rel","noopener"))}))}var ec,rc,nc,ic,ac,oc,sc,lc,cc,hc,uc,dc,pc,fc,gc,mc,yc,vc,xc,bc,wc,kc,Tc,Ec,_c,Cc,Sc,Ac,Lc,Nc,Ic,Mc,Rc,Dc,Oc=k((()=>{ec=S(nn(),1),rc=//gi,nc=w((t=>t?dc(t).replace(/\\n/g,"#br#").split("#br#"):[""]),"getRows"),ic=(()=>{let t=!1;return()=>{t||(tc(),t=!0)}})(),w(tc,"setupDompurifyHooks"),ac=w((t=>(ic(),ec.default.sanitize(t))),"removeScript"),oc=w(((t,e)=>{if(!1!==e.flowchart?.htmlLabels){let r=e.securityLevel;"antiscript"===r||"strict"===r?t=ac(t):"loose"!==r&&(t=(t=(t=dc(t)).replace(//g,">")).replace(/=/g,"="),t=uc(t))}return t}),"sanitizeMore"),sc=w(((t,e)=>t&&(e.dompurifyConfig?ec.default.sanitize(oc(t,e),e.dompurifyConfig).toString():ec.default.sanitize(oc(t,e),{FORBID_TAGS:["style"]}).toString())),"sanitizeText"),lc=w(((t,e)=>"string"==typeof t?sc(t,e):t.flat().map((t=>sc(t,e)))),"sanitizeTextOrArray"),cc=w((t=>rc.test(t)),"hasBreaks"),hc=w((t=>t.split(rc)),"splitBreaks"),uc=w((t=>t.replace(/#br#/g,"
")),"placeholderToBreak"),dc=w((t=>t.replace(rc,"#br#")),"breakToPlaceholder"),pc=w((t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=e.replaceAll(/\(/g,"\\("),e=e.replaceAll(/\)/g,"\\)")),e}),"getUrl"),fc=w((t=>!(!1===t||["false","null","0"].includes(String(t).trim().toLowerCase()))),"evaluate"),gc=w((function(...t){let e=t.filter((t=>!isNaN(t)));return Math.max(...e)}),"getMax"),mc=w((function(...t){let e=t.filter((t=>!isNaN(t)));return Math.min(...e)}),"getMin"),yc=w((function(t){let e=t.split(/(,)/),r=[];for(let t=0;t0&&t+1Math.max(0,t.split(e).length-1)),"countOccurrence"),xc=w(((t,e)=>{let r=vc(t,"~"),n=vc(e,"~");return 1===r&&1===n}),"shouldCombineSets"),bc=w((t=>{let e=vc(t,"~"),r=!1;if(e<=1)return t;e%2!=0&&t.startsWith("~")&&(t=t.substring(1),r=!0);let n=[...t],i=n.indexOf("~"),a=n.lastIndexOf("~");for(;-1!==i&&-1!==a&&i!==a;)n[i]="<",n[a]=">",i=n.indexOf("~"),a=n.lastIndexOf("~");return r&&n.unshift("~"),n.join("")}),"processSet"),wc=w((()=>void 0!==window.MathMLElement),"isMathMLSupported"),kc=/\$\$(.*)\$\$/g,Tc=w((t=>(t.match(kc)?.length??0)>0),"hasKatex"),Ec=w((async(t,e)=>{t=await _c(t,e);let r=document.createElement("div");r.innerHTML=t,r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",document.querySelector("body")?.insertAdjacentElement("beforeend",r);let n={width:r.clientWidth,height:r.clientHeight};return r.remove(),n}),"calculateMathMLDimensions"),_c=w((async(t,e)=>{if(!Tc(t))return t;if(!(wc()||e.legacyMathML||e.forceLegacyMathML))return t.replace(kc,"MathML is unsupported in this environment.");let{default:r}=await Promise.resolve().then((()=>(Jl(),an))),n=e.forceLegacyMathML||!wc()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(rc).map((t=>Tc(t)?`
${t}
`:`
${t}
`)).join("").replace(kc,((t,e)=>r.renderToString(e,{throwOnError:!0,displayMode:!0,output:n}).replace(/\n/g," ").replace(//g,"")))}),"renderKatex"),Cc={getRows:nc,sanitizeText:sc,sanitizeTextOrArray:lc,hasBreaks:cc,splitBreaks:hc,lineBreakRegex:rc,removeScript:ac,getUrl:pc,evaluate:fc,getMax:gc,getMin:mc}})),Pc=k((()=>{L(),Sc=w((function(t,e){for(let r of e)t.attr(r[0],r[1])}),"d3Attrs"),Ac=w((function(t,e,r){let n=new Map;return r?(n.set("width","100%"),n.set("style",`max-width: ${e}px;`)):(n.set("height",t),n.set("width",e)),n}),"calculateSvgSizeAttrs"),Lc=w((function(t,e,r,n){let i=Ac(e,r,n);Sc(t,i)}),"configureSvgSize"),Nc=w((function(t,e,n,i){let a=e.node().getBBox(),o=a.width,s=a.height;r.info(`SVG bounds: ${o}x${s}`,a);let l=0,c=0;r.info(`Graph bounds: ${l}x${c}`,t),l=o+2*n,c=s+2*n,r.info(`Calculated bounds: ${l}x${c}`),Lc(e,c,l,i);let h=`${a.x-n} ${a.y-n} ${a.width+2*n} ${a.height+2*n}`;e.attr("viewBox",h)}),"setupGraphViewbox")})),Bc=k((()=>{L(),Ic={},Mc=w(((t,e,n)=>{let i="";return t in Ic&&Ic[t]?i=Ic[t](n):r.warn(`No theme found for ${t}`),` & {\n font-family: ${n.fontFamily};\n font-size: ${n.fontSize};\n fill: ${n.textColor}\n }\n\n /* Classes common for multiple diagrams */\n\n & .error-icon {\n fill: ${n.errorBkgColor};\n }\n & .error-text {\n fill: ${n.errorTextColor};\n stroke: ${n.errorTextColor};\n }\n\n & .edge-thickness-normal {\n stroke-width: 1px;\n }\n & .edge-thickness-thick {\n stroke-width: 3.5px\n }\n & .edge-pattern-solid {\n stroke-dasharray: 0;\n }\n & .edge-thickness-invisible {\n stroke-width: 0;\n fill: none;\n }\n & .edge-pattern-dashed{\n stroke-dasharray: 3;\n }\n .edge-pattern-dotted {\n stroke-dasharray: 2;\n }\n\n & .marker {\n fill: ${n.lineColor};\n stroke: ${n.lineColor};\n }\n & .marker.cross {\n stroke: ${n.lineColor};\n }\n\n & svg {\n font-family: ${n.fontFamily};\n font-size: ${n.fontSize};\n }\n & p {\n margin: 0\n }\n\n ${i}\n\n ${e}\n`}),"getStyles"),Rc=w(((t,e)=>{void 0!==e&&(Ic[t]=e)}),"addStylesForDiagram"),Dc=Mc})),Fc={};E(Fc,{clear:()=>qc,getAccDescription:()=>Wc,getAccTitle:()=>jc,getDiagramTitle:()=>Xc,setAccDescription:()=>Hc,setAccTitle:()=>Yc,setDiagramTitle:()=>Vc});var $c,zc,Uc,Gc,qc,Yc,jc,Hc,Wc,Vc,Xc,Kc,Zc,Qc,Jc,th,eh,rh,nh,ih,ah,oh,sh,lh,ch,hh,uh,dh,ph,fh,gh,mh,yh,vh,xh,bh,wh,kh,Th,Eh,_h,Ch,Sh,Ah,Lh,Nh,Ih,Mh,Rh,Dh,Oh,Ph,Bh,Fh,$h,zh,Uh,Gh,qh,Yh,jh,Hh,Wh,Vh,Xh,Kh,Zh=k((()=>{Oc(),rn(),$c="",zc="",Uc="",Gc=w((t=>sc(t,ir())),"sanitizeText"),qc=w((()=>{$c="",Uc="",zc=""}),"clear"),Yc=w((t=>{$c=Gc(t).replace(/^\s+/g,"")}),"setAccTitle"),jc=w((()=>$c),"getAccTitle"),Hc=w((t=>{Uc=Gc(t).replace(/\n\s+/g,"\n")}),"setAccDescription"),Wc=w((()=>Uc),"getAccDescription"),Vc=w((t=>{zc=Gc(t)}),"setDiagramTitle"),Xc=w((()=>zc),"getDiagramTitle")})),Qh=k((()=>{gr(),L(),rn(),Oc(),Pc(),Bc(),Zh(),Kc=r,Zc=n,Qc=ir,Jc=nr,th=We,eh=w((t=>sc(t,Qc())),"sanitizeText"),rh=Nc,nh=w((()=>Fc),"getCommonDb"),ih={},ah=w(((t,e,r)=>{ih[t]&&Kc.warn(`Diagram with id ${t} already registered. Overwriting.`),ih[t]=e,r&&_t(t,r),Rc(t,e.styles),e.injectUtils?.(Kc,Zc,Qc,eh,rh,nh(),(()=>{}))}),"registerDiagram"),oh=w((t=>{if(t in ih)return ih[t];throw new sh(t)}),"getDiagram"),sh=class extends Error{static{w(this,"DiagramNotFoundError")}constructor(t){super(`Diagram ${t} not found.`)}}})),Jh=k((()=>{Qh(),Oc(),Zh(),lh=[],ch=[""],hh="global",uh="",dh=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],ph=[],fh="",gh=!1,mh=4,yh=2,xh=w((function(){return vh}),"getC4Type"),bh=w((function(t){vh=sc(t,Qc())}),"setC4Type"),wh=w((function(t,e,r,n,i,a,o,s,l){if(null==t||null==e||null==r||null==n)return;let c={},h=ph.find((t=>t.from===e&&t.to===r));if(h?c=h:ph.push(c),c.type=t,c.from=e,c.to=r,c.label={text:n},null==i)c.techn={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];c[t]={text:e}}else c.techn={text:i};if(null==a)c.descr={text:""};else if("object"==typeof a){let[t,e]=Object.entries(a)[0];c[t]={text:e}}else c.descr={text:a};if("object"==typeof o){let[t,e]=Object.entries(o)[0];c[t]=e}else c.sprite=o;if("object"==typeof s){let[t,e]=Object.entries(s)[0];c[t]=e}else c.tags=s;if("object"==typeof l){let[t,e]=Object.entries(l)[0];c[t]=e}else c.link=l;c.wrap=Yh()}),"addRel"),kh=w((function(t,e,r,n,i,a,o){if(null===e||null===r)return;let s={},l=lh.find((t=>t.alias===e));if(l&&e===l.alias?s=l:(s.alias=e,lh.push(s)),s.label=null==r?{text:""}:{text:r},null==n)s.descr={text:""};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];s[t]={text:e}}else s.descr={text:n};if("object"==typeof i){let[t,e]=Object.entries(i)[0];s[t]=e}else s.sprite=i;if("object"==typeof a){let[t,e]=Object.entries(a)[0];s[t]=e}else s.tags=a;if("object"==typeof o){let[t,e]=Object.entries(o)[0];s[t]=e}else s.link=o;s.typeC4Shape={text:t},s.parentBoundary=hh,s.wrap=Yh()}),"addPersonOrSystem"),Th=w((function(t,e,r,n,i,a,o,s){if(null===e||null===r)return;let l={},c=lh.find((t=>t.alias===e));if(c&&e===c.alias?l=c:(l.alias=e,lh.push(l)),l.label=null==r?{text:""}:{text:r},null==n)l.techn={text:""};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];l[t]={text:e}}else l.techn={text:n};if(null==i)l.descr={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];l[t]={text:e}}else l.descr={text:i};if("object"==typeof a){let[t,e]=Object.entries(a)[0];l[t]=e}else l.sprite=a;if("object"==typeof o){let[t,e]=Object.entries(o)[0];l[t]=e}else l.tags=o;if("object"==typeof s){let[t,e]=Object.entries(s)[0];l[t]=e}else l.link=s;l.wrap=Yh(),l.typeC4Shape={text:t},l.parentBoundary=hh}),"addContainer"),Eh=w((function(t,e,r,n,i,a,o,s){if(null===e||null===r)return;let l={},c=lh.find((t=>t.alias===e));if(c&&e===c.alias?l=c:(l.alias=e,lh.push(l)),l.label=null==r?{text:""}:{text:r},null==n)l.techn={text:""};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];l[t]={text:e}}else l.techn={text:n};if(null==i)l.descr={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];l[t]={text:e}}else l.descr={text:i};if("object"==typeof a){let[t,e]=Object.entries(a)[0];l[t]=e}else l.sprite=a;if("object"==typeof o){let[t,e]=Object.entries(o)[0];l[t]=e}else l.tags=o;if("object"==typeof s){let[t,e]=Object.entries(s)[0];l[t]=e}else l.link=s;l.wrap=Yh(),l.typeC4Shape={text:t},l.parentBoundary=hh}),"addComponent"),_h=w((function(t,e,r,n,i){if(null===t||null===e)return;let a={},o=dh.find((e=>e.alias===t));if(o&&t===o.alias?a=o:(a.alias=t,dh.push(a)),a.label=null==e?{text:""}:{text:e},null==r)a.type={text:"system"};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];a[t]={text:e}}else a.type={text:r};if("object"==typeof n){let[t,e]=Object.entries(n)[0];a[t]=e}else a.tags=n;if("object"==typeof i){let[t,e]=Object.entries(i)[0];a[t]=e}else a.link=i;a.parentBoundary=hh,a.wrap=Yh(),uh=hh,hh=t,ch.push(uh)}),"addPersonOrSystemBoundary"),Ch=w((function(t,e,r,n,i){if(null===t||null===e)return;let a={},o=dh.find((e=>e.alias===t));if(o&&t===o.alias?a=o:(a.alias=t,dh.push(a)),a.label=null==e?{text:""}:{text:e},null==r)a.type={text:"container"};else if("object"==typeof r){let[t,e]=Object.entries(r)[0];a[t]={text:e}}else a.type={text:r};if("object"==typeof n){let[t,e]=Object.entries(n)[0];a[t]=e}else a.tags=n;if("object"==typeof i){let[t,e]=Object.entries(i)[0];a[t]=e}else a.link=i;a.parentBoundary=hh,a.wrap=Yh(),uh=hh,hh=t,ch.push(uh)}),"addContainerBoundary"),Sh=w((function(t,e,r,n,i,a,o,s){if(null===e||null===r)return;let l={},c=dh.find((t=>t.alias===e));if(c&&e===c.alias?l=c:(l.alias=e,dh.push(l)),l.label=null==r?{text:""}:{text:r},null==n)l.type={text:"node"};else if("object"==typeof n){let[t,e]=Object.entries(n)[0];l[t]={text:e}}else l.type={text:n};if(null==i)l.descr={text:""};else if("object"==typeof i){let[t,e]=Object.entries(i)[0];l[t]={text:e}}else l.descr={text:i};if("object"==typeof o){let[t,e]=Object.entries(o)[0];l[t]=e}else l.tags=o;if("object"==typeof s){let[t,e]=Object.entries(s)[0];l[t]=e}else l.link=s;l.nodeType=t,l.parentBoundary=hh,l.wrap=Yh(),uh=hh,hh=e,ch.push(uh)}),"addDeploymentNode"),Ah=w((function(){hh=uh,ch.pop(),uh=ch.pop(),ch.push(uh)}),"popBoundaryParseStack"),Lh=w((function(t,e,r,n,i,a,o,s,l,c,h){let u=lh.find((t=>t.alias===e));if(void 0!==u||(u=dh.find((t=>t.alias===e)),void 0!==u)){if(null!=r)if("object"==typeof r){let[t,e]=Object.entries(r)[0];u[t]=e}else u.bgColor=r;if(null!=n)if("object"==typeof n){let[t,e]=Object.entries(n)[0];u[t]=e}else u.fontColor=n;if(null!=i)if("object"==typeof i){let[t,e]=Object.entries(i)[0];u[t]=e}else u.borderColor=i;if(null!=a)if("object"==typeof a){let[t,e]=Object.entries(a)[0];u[t]=e}else u.shadowing=a;if(null!=o)if("object"==typeof o){let[t,e]=Object.entries(o)[0];u[t]=e}else u.shape=o;if(null!=s)if("object"==typeof s){let[t,e]=Object.entries(s)[0];u[t]=e}else u.sprite=s;if(null!=l)if("object"==typeof l){let[t,e]=Object.entries(l)[0];u[t]=e}else u.techn=l;if(null!=c)if("object"==typeof c){let[t,e]=Object.entries(c)[0];u[t]=e}else u.legendText=c;if(null!=h)if("object"==typeof h){let[t,e]=Object.entries(h)[0];u[t]=e}else u.legendSprite=h}}),"updateElStyle"),Nh=w((function(t,e,r,n,i,a,o){let s=ph.find((t=>t.from===e&&t.to===r));if(void 0!==s){if(null!=n)if("object"==typeof n){let[t,e]=Object.entries(n)[0];s[t]=e}else s.textColor=n;if(null!=i)if("object"==typeof i){let[t,e]=Object.entries(i)[0];s[t]=e}else s.lineColor=i;if(null!=a)if("object"==typeof a){let[t,e]=Object.entries(a)[0];s[t]=parseInt(e)}else s.offsetX=parseInt(a);if(null!=o)if("object"==typeof o){let[t,e]=Object.entries(o)[0];s[t]=parseInt(e)}else s.offsetY=parseInt(o)}}),"updateRelStyle"),Ih=w((function(t,e,r){let n=mh,i=yh;if("object"==typeof e){let t=Object.values(e)[0];n=parseInt(t)}else n=parseInt(e);if("object"==typeof r){let t=Object.values(r)[0];i=parseInt(t)}else i=parseInt(r);n>=1&&(mh=n),i>=1&&(yh=i)}),"updateLayoutConfig"),Mh=w((function(){return mh}),"getC4ShapeInRow"),Rh=w((function(){return yh}),"getC4BoundaryInRow"),Dh=w((function(){return hh}),"getCurrentBoundaryParse"),Oh=w((function(){return uh}),"getParentBoundaryParse"),Ph=w((function(t){return null==t?lh:lh.filter((e=>e.parentBoundary===t))}),"getC4ShapeArray"),Bh=w((function(t){return lh.find((e=>e.alias===t))}),"getC4Shape"),Fh=w((function(t){return Object.keys(Ph(t))}),"getC4ShapeKeys"),$h=w((function(t){return null==t?dh:dh.filter((e=>e.parentBoundary===t))}),"getBoundaries"),zh=$h,Uh=w((function(){return ph}),"getRels"),Gh=w((function(){return fh}),"getTitle"),qh=w((function(t){gh=t}),"setWrap"),Yh=w((function(){return gh}),"autoWrap"),jh=w((function(){lh=[],dh=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],uh="",hh="global",ch=[""],ph=[],ch=[""],fh="",gh=!1,mh=4,yh=2}),"clear"),Hh={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},Wh={FILLED:0,OPEN:1},Vh={LEFTOF:0,RIGHTOF:1,OVER:2},Xh=w((function(t){fh=sc(t,Qc())}),"setTitle"),Kh={addPersonOrSystem:kh,addPersonOrSystemBoundary:_h,addContainer:Th,addContainerBoundary:Ch,addComponent:Eh,addDeploymentNode:Sh,popBoundaryParseStack:Ah,addRel:wh,updateElStyle:Lh,updateRelStyle:Nh,updateLayoutConfig:Ih,autoWrap:Yh,setWrap:qh,getC4ShapeArray:Ph,getC4Shape:Bh,getC4ShapeKeys:Fh,getBoundaries:$h,getBoundarys:zh,getCurrentBoundaryParse:Dh,getParentBoundaryParse:Oh,getRels:Uh,getTitle:Gh,getC4Type:xh,getC4ShapeInRow:Mh,getC4BoundaryInRow:Rh,setAccTitle:Yc,getAccTitle:jc,getAccDescription:Wc,setAccDescription:Hc,getConfig:w((()=>Qc().c4),"getConfig"),clear:jh,LINETYPE:Hh,ARROWTYPE:Wh,PLACEMENT:Vh,setTitle:Xh,setC4Type:bh}}));function tu(t,e){return null==t||null==e?NaN:te?1:t>=e?0:NaN}var eu=k((()=>{w(tu,"ascending")}));function ru(t,e){return null==t||null==e?NaN:et?1:e>=t?0:NaN}var nu=k((()=>{w(ru,"descending")}));function iu(t){let e,r,n;function i(t,n,i=0,a=t.length){if(i>>1;r(t[e],n)<0?i=e+1:a=e}while(i>>1;r(t[e],n)<=0?i=e+1:a=e}while(ir&&n(t[o-1],e)>-n(t[o],e)?o-1:o}return 2!==t.length?(e=tu,r=w(((e,r)=>tu(t(e),r)),"compare2"),n=w(((e,r)=>t(e)-r),"delta")):(e=t===tu||t===ru?t:au,r=t,n=t),w(i,"left"),w(a,"right"),w(o,"center"),{left:i,center:o,right:a}}function au(){return 0}var ou=k((()=>{eu(),nu(),w(iu,"bisector"),w(au,"zero")}));function su(t){return null===t?NaN:+t}var lu,cu,hu,uu=k((()=>{w(su,"number")})),du=k((()=>{eu(),ou(),uu(),lu=iu(tu),cu=lu.right,lu.left,iu(su).center,hu=cu}));function pu({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):r}function fu({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function gu({_intern:t,_key:e},r){let n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function mu(t){return null!==t&&"object"==typeof t?t.valueOf():t}var yu,vu=k((()=>{yu=class extends Map{static{w(this,"InternMap")}constructor(t,e=mu){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:e}}),null!=t)for(let[e,r]of t)this.set(e,r)}get(t){return super.get(pu(this,t))}has(t){return super.has(pu(this,t))}set(t,e){return super.set(fu(this,t),e)}delete(t){return super.delete(gu(this,t))}},w(pu,"intern_get"),w(fu,"intern_set"),w(gu,"intern_delete"),w(mu,"keyof")}));function xu(t,e,r){let n,i,a,o=(e-t)/Math.max(0,r),s=Math.floor(Math.log10(o)),l=o/Math.pow(10,s),c=l>=Tu?10:l>=Eu?5:l>=_u?2:1;return s<0?(a=Math.pow(10,-s)/c,n=Math.round(t*a),i=Math.round(e*a),n/ae&&--i,a=-a):(a=Math.pow(10,s)*c,n=Math.round(t/a),i=Math.round(e/a),n*ae&&--i),i0))return[];if((t=+t)==(e=+e))return[t];let n=e=i))return[];let s=a-i+1,l=new Array(s);if(n)if(o<0)for(let t=0;t{Tu=Math.sqrt(50),Eu=Math.sqrt(10),_u=Math.sqrt(2),w(xu,"tickSpec"),w(bu,"ticks"),w(wu,"tickIncrement"),w(ku,"tickStep")}));function Su(t,e){let r;if(void 0===e)for(let e of t)null!=e&&(r=e)&&(r=e);else{let n=-1;for(let i of t)null!=(i=e(i,++n,t))&&(r=i)&&(r=i)}return r}var Au=k((()=>{w(Su,"max")}));function Lu(t,e){let r;if(void 0===e)for(let e of t)null!=e&&(r>e||void 0===r&&e>=e)&&(r=e);else{let n=-1;for(let i of t)null!=(i=e(i,++n,t))&&(r>i||void 0===r&&i>=i)&&(r=i)}return r}var Nu=k((()=>{w(Lu,"min")}));function Iu(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n{w(Iu,"range")})),Ru=k((()=>{du(),ou(),Au(),Nu(),Mu(),Cu(),vu()}));function Du(t){return t}var Ou=k((()=>{w(Du,"default")}));function Pu(t){return"translate("+t+",0)"}function Bu(t){return"translate(0,"+t+")"}function Fu(t){return e=>+t(e)}function $u(t,e){return e=Math.max(0,t.bandwidth()-2*e)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function zu(){return!this.__axis}function Uu(t,e){var r=[],n=null,i=null,a=6,o=6,s=3,l=typeof window<"u"&&window.devicePixelRatio>1?0:.5,c=t===Yu||t===Wu?-1:1,h=t===Wu||t===ju?"x":"y",u=t===Yu||t===Hu?Pu:Bu;function d(d){var p=n??(e.ticks?e.ticks.apply(e,r):e.domain()),f=i??(e.tickFormat?e.tickFormat.apply(e,r):Du),g=Math.max(a,0)+s,m=e.range(),y=+m[0]+l,v=+m[m.length-1]+l,x=(e.bandwidth?$u:Fu)(e.copy(),l),b=d.selection?d.selection():d,w=b.selectAll(".domain").data([null]),k=b.selectAll(".tick").data(p,e).order(),T=k.exit(),E=k.enter().append("g").attr("class","tick"),_=k.select("line"),C=k.select("text");w=w.merge(w.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),k=k.merge(E),_=_.merge(E.append("line").attr("stroke","currentColor").attr(h+"2",c*a)),C=C.merge(E.append("text").attr("fill","currentColor").attr(h,c*g).attr("dy",t===Yu?"0em":t===Hu?"0.71em":"0.32em")),d!==b&&(w=w.transition(d),k=k.transition(d),_=_.transition(d),C=C.transition(d),T=T.transition(d).attr("opacity",Vu).attr("transform",(function(t){return isFinite(t=x(t))?u(t+l):this.getAttribute("transform")})),E.attr("opacity",Vu).attr("transform",(function(t){var e=this.parentNode.__axis;return u((e&&isFinite(e=e(t))?e:x(t))+l)}))),T.remove(),w.attr("d",t===Wu||t===ju?o?"M"+c*o+","+y+"H"+l+"V"+v+"H"+c*o:"M"+l+","+y+"V"+v:o?"M"+y+","+c*o+"V"+l+"H"+v+"V"+c*o:"M"+y+","+l+"H"+v),k.attr("opacity",1).attr("transform",(function(t){return u(x(t)+l)})),_.attr(h+"2",c*a),C.attr(h,c*g).text(f),b.filter(zu).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===ju?"start":t===Wu?"end":"middle"),b.each((function(){this.__axis=x}))}return w(d,"axis"),d.scale=function(t){return arguments.length?(e=t,d):e},d.ticks=function(){return r=Array.from(arguments),d},d.tickArguments=function(t){return arguments.length?(r=null==t?[]:Array.from(t),d):r.slice()},d.tickValues=function(t){return arguments.length?(n=null==t?null:Array.from(t),d):n&&n.slice()},d.tickFormat=function(t){return arguments.length?(i=t,d):i},d.tickSize=function(t){return arguments.length?(a=o=+t,d):a},d.tickSizeInner=function(t){return arguments.length?(a=+t,d):a},d.tickSizeOuter=function(t){return arguments.length?(o=+t,d):o},d.tickPadding=function(t){return arguments.length?(s=+t,d):s},d.offset=function(t){return arguments.length?(l=+t,d):l},d}function Gu(t){return Uu(Yu,t)}function qu(t){return Uu(Hu,t)}var Yu,ju,Hu,Wu,Vu,Xu=k((()=>{Ou(),Yu=1,ju=2,Hu=3,Wu=4,Vu=1e-6,w(Pu,"translateX"),w(Bu,"translateY"),w(Fu,"number"),w($u,"center"),w(zu,"entering"),w(Uu,"axis"),w(Gu,"axisTop"),w(qu,"axisBottom")})),Ku=k((()=>{Xu()}));function Zu(){for(var t,e=0,r=arguments.length,n={};e=0&&(r=t.slice(n+1),t=t.slice(0,n)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:r}}))}function td(t,e){for(var r,n=0,i=t.length;n{rd={value:w((()=>{}),"value")},w(Zu,"dispatch"),w(Qu,"Dispatch"),w(Ju,"parseTypenames"),Qu.prototype=Zu.prototype={constructor:Qu,on:w((function(t,e){var r,n=this._,i=Ju(t+"",n),a=-1,o=i.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++a0)for(var r,n,i=new Array(r),a=0;a{od()})),ld=k((()=>{ad={svg:"http://www.w3.org/2000/svg",xhtml:id="http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"}}));function cd(t){var e=t+="",r=e.indexOf(":");return r>=0&&"xmlns"!==(e=t.slice(0,r))&&(t=t.slice(r+1)),ad.hasOwnProperty(e)?{space:ad[e],local:t}:t}var hd=k((()=>{ld(),w(cd,"default")}));function ud(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===id&&e.documentElement.namespaceURI===id?e.createElement(t):e.createElementNS(r,t)}}function dd(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function pd(t){var e=cd(t);return(e.local?dd:ud)(e)}var fd=k((()=>{hd(),ld(),w(ud,"creatorInherit"),w(dd,"creatorFixed"),w(pd,"default")}));function gd(){}function md(t){return null==t?gd:function(){return this.querySelector(t)}}var yd=k((()=>{w(gd,"none"),w(md,"default")}));function vd(t){"function"!=typeof t&&(t=md(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{Zf(),yd(),w(vd,"default")}));function bd(t){return null==t?[]:Array.isArray(t)?t:Array.from(t)}var wd=k((()=>{w(bd,"array")}));function kd(){return[]}function Td(t){return null==t?kd:function(){return this.querySelectorAll(t)}}var Ed=k((()=>{w(kd,"empty"),w(Td,"default")}));function _d(t){return function(){return bd(t.apply(this,arguments))}}function Cd(t){t="function"==typeof t?_d(t):Td(t);for(var e=this._groups,r=e.length,n=[],i=[],a=0;a{Zf(),wd(),Ed(),w(_d,"arrayAll"),w(Cd,"default")}));function Ad(t){return function(){return this.matches(t)}}function Ld(t){return function(e){return e.matches(t)}}var Nd=k((()=>{w(Ad,"default"),w(Ld,"childMatcher")}));function Id(t){return function(){return Dd.call(this.children,t)}}function Md(){return this.firstElementChild}function Rd(t){return this.select(null==t?Md:Id("function"==typeof t?t:Ld(t)))}var Dd,Od=k((()=>{Nd(),Dd=Array.prototype.find,w(Id,"childFind"),w(Md,"childFirst"),w(Rd,"default")}));function Pd(){return Array.from(this.children)}function Bd(t){return function(){return $d.call(this.children,t)}}function Fd(t){return this.selectAll(null==t?Pd:Bd("function"==typeof t?t:Ld(t)))}var $d,zd=k((()=>{Nd(),$d=Array.prototype.filter,w(Pd,"children"),w(Bd,"childrenFilter"),w(Fd,"default")}));function Ud(t){"function"!=typeof t&&(t=Ad(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{Zf(),Nd(),w(Ud,"default")}));function qd(t){return new Array(t.length)}var Yd=k((()=>{w(qd,"default")}));function jd(){return new Hf(this._enter||this._groups.map(qd),this._parents)}function Hd(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}var Wd=k((()=>{Yd(),Zf(),w(jd,"default"),w(Hd,"EnterNode"),Hd.prototype={constructor:Hd,appendChild:w((function(t){return this._parent.insertBefore(t,this._next)}),"appendChild"),insertBefore:w((function(t,e){return this._parent.insertBefore(t,e)}),"insertBefore"),querySelector:w((function(t){return this._parent.querySelector(t)}),"querySelector"),querySelectorAll:w((function(t){return this._parent.querySelectorAll(t)}),"querySelectorAll")}}));function Vd(t){return function(){return t}}var Xd=k((()=>{w(Vd,"default")}));function Kd(t,e,r,n,i,a){for(var o,s=0,l=e.length,c=a.length;s=b&&(b=x+1);!(v=m[b])&&++b{Zf(),Wd(),Xd(),w(Kd,"bindIndex"),w(Zd,"bindKey"),w(Qd,"datum"),w(Jd,"default"),w(tp,"arraylike")}));function rp(){return new Hf(this._exit||this._groups.map(qd),this._parents)}var np=k((()=>{Yd(),Zf(),w(rp,"default")}));function ip(t,e,r){var n=this.enter(),i=this,a=this.exit();return"function"==typeof t?(n=t(n))&&(n=n.selection()):n=n.append(t+""),null!=e&&(i=e(i))&&(i=i.selection()),null==r?a.remove():r(a),n&&i?n.merge(i).order():i}var ap=k((()=>{w(ip,"default")}));function op(t){for(var e=t.selection?t.selection():t,r=this._groups,n=e._groups,i=r.length,a=n.length,o=Math.min(i,a),s=new Array(i),l=0;l{Zf(),w(op,"default")}));function lp(){for(var t=this._groups,e=-1,r=t.length;++e=0;)(n=i[a])&&(o&&4^n.compareDocumentPosition(o)&&o.parentNode.insertBefore(n,o),o=n);return this}var cp=k((()=>{w(lp,"default")}));function hp(t){function e(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}t||(t=up),w(e,"compareNode");for(var r=this._groups,n=r.length,i=new Array(n),a=0;ae?1:t>=e?0:NaN}var dp=k((()=>{Zf(),w(hp,"default"),w(up,"ascending")}));function pp(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}var fp=k((()=>{w(pp,"default")}));function gp(){return Array.from(this)}var mp=k((()=>{w(gp,"default")}));function yp(){for(var t=this._groups,e=0,r=t.length;e{w(yp,"default")}));function xp(){let t=0;for(let e of this)++t;return t}var bp=k((()=>{w(xp,"default")}));function wp(){return!this.node()}var kp=k((()=>{w(wp,"default")}));function Tp(t){for(var e=this._groups,r=0,n=e.length;r{w(Tp,"default")}));function _p(t){return function(){this.removeAttribute(t)}}function Cp(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Sp(t,e){return function(){this.setAttribute(t,e)}}function Ap(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function Lp(t,e){return function(){var r=e.apply(this,arguments);null==r?this.removeAttribute(t):this.setAttribute(t,r)}}function Np(t,e){return function(){var r=e.apply(this,arguments);null==r?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}}function Ip(t,e){var r=cd(t);if(arguments.length<2){var n=this.node();return r.local?n.getAttributeNS(r.space,r.local):n.getAttribute(r)}return this.each((null==e?r.local?Cp:_p:"function"==typeof e?r.local?Np:Lp:r.local?Ap:Sp)(r,e))}var Mp=k((()=>{hd(),w(_p,"attrRemove"),w(Cp,"attrRemoveNS"),w(Sp,"attrConstant"),w(Ap,"attrConstantNS"),w(Lp,"attrFunction"),w(Np,"attrFunctionNS"),w(Ip,"default")}));function Rp(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}var Dp=k((()=>{w(Rp,"default")}));function Op(t){return function(){this.style.removeProperty(t)}}function Pp(t,e,r){return function(){this.style.setProperty(t,e,r)}}function Bp(t,e,r){return function(){var n=e.apply(this,arguments);null==n?this.style.removeProperty(t):this.style.setProperty(t,n,r)}}function Fp(t,e,r){return arguments.length>1?this.each((null==e?Op:"function"==typeof e?Bp:Pp)(t,e,r??"")):$p(this.node(),t)}function $p(t,e){return t.style.getPropertyValue(e)||Rp(t).getComputedStyle(t,null).getPropertyValue(e)}var zp=k((()=>{Dp(),w(Op,"styleRemove"),w(Pp,"styleConstant"),w(Bp,"styleFunction"),w(Fp,"default"),w($p,"styleValue")}));function Up(t){return function(){delete this[t]}}function Gp(t,e){return function(){this[t]=e}}function qp(t,e){return function(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}}function Yp(t,e){return arguments.length>1?this.each((null==e?Up:"function"==typeof e?qp:Gp)(t,e)):this.node()[t]}var jp=k((()=>{w(Up,"propertyRemove"),w(Gp,"propertyConstant"),w(qp,"propertyFunction"),w(Yp,"default")}));function Hp(t){return t.trim().split(/^|\s+/)}function Wp(t){return t.classList||new Vp(t)}function Vp(t){this._node=t,this._names=Hp(t.getAttribute("class")||"")}function Xp(t,e){for(var r=Wp(t),n=-1,i=e.length;++n{w(Hp,"classArray"),w(Wp,"classList"),w(Vp,"ClassList"),Vp.prototype={add:w((function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))}),"add"),remove:w((function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))}),"remove"),contains:w((function(t){return this._names.indexOf(t)>=0}),"contains")},w(Xp,"classedAdd"),w(Kp,"classedRemove"),w(Zp,"classedTrue"),w(Qp,"classedFalse"),w(Jp,"classedFunction"),w(tf,"default")}));function rf(){this.textContent=""}function nf(t){return function(){this.textContent=t}}function af(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function of(t){return arguments.length?this.each(null==t?rf:("function"==typeof t?af:nf)(t)):this.node().textContent}var sf=k((()=>{w(rf,"textRemove"),w(nf,"textConstant"),w(af,"textFunction"),w(of,"default")}));function lf(){this.innerHTML=""}function cf(t){return function(){this.innerHTML=t}}function hf(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function uf(t){return arguments.length?this.each(null==t?lf:("function"==typeof t?hf:cf)(t)):this.node().innerHTML}var df=k((()=>{w(lf,"htmlRemove"),w(cf,"htmlConstant"),w(hf,"htmlFunction"),w(uf,"default")}));function pf(){this.nextSibling&&this.parentNode.appendChild(this)}function ff(){return this.each(pf)}var gf=k((()=>{w(pf,"raise"),w(ff,"default")}));function mf(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function yf(){return this.each(mf)}var vf=k((()=>{w(mf,"lower"),w(yf,"default")}));function xf(t){var e="function"==typeof t?t:pd(t);return this.select((function(){return this.appendChild(e.apply(this,arguments))}))}var bf=k((()=>{fd(),w(xf,"default")}));function wf(){return null}function kf(t,e){var r="function"==typeof t?t:pd(t),n=null==e?wf:"function"==typeof e?e:md(e);return this.select((function(){return this.insertBefore(r.apply(this,arguments),n.apply(this,arguments)||null)}))}var Tf=k((()=>{fd(),yd(),w(wf,"constantNull"),w(kf,"default")}));function Ef(){var t=this.parentNode;t&&t.removeChild(this)}function _f(){return this.each(Ef)}var Cf=k((()=>{w(Ef,"remove"),w(_f,"default")}));function Sf(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function Af(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function Lf(t){return this.select(t?Af:Sf)}var Nf=k((()=>{w(Sf,"selection_cloneShallow"),w(Af,"selection_cloneDeep"),w(Lf,"default")}));function If(t){return arguments.length?this.property("__data__",t):this.node().__data__}var Mf=k((()=>{w(If,"default")}));function Rf(t){return function(e){t.call(this,e,this.__data__)}}function Df(t){return t.trim().split(/^|\s+/).map((function(t){var e="",r=t.indexOf(".");return r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),{type:t,name:e}}))}function Of(t){return function(){var e=this.__on;if(e){for(var r,n=0,i=-1,a=e.length;n{w(Rf,"contextListener"),w(Df,"parseTypenames"),w(Of,"onRemove"),w(Pf,"onAdd"),w(Bf,"default")}));function $f(t,e,r){var n=Rp(t),i=n.CustomEvent;"function"==typeof i?i=new i(e,r):(i=n.document.createEvent("Event"),r?(i.initEvent(e,r.bubbles,r.cancelable),i.detail=r.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}function zf(t,e){return function(){return $f(this,t,e)}}function Uf(t,e){return function(){return $f(this,t,e.apply(this,arguments))}}function Gf(t,e){return this.each(("function"==typeof e?Uf:zf)(t,e))}var qf=k((()=>{Dp(),w($f,"dispatchEvent"),w(zf,"dispatchConstant"),w(Uf,"dispatchFunction"),w(Gf,"default")}));function*Yf(){for(var t=this._groups,e=0,r=t.length;e{w(Yf,"default")}));function Hf(t,e){this._groups=t,this._parents=e}function Wf(){return new Hf([[document.documentElement]],Xf)}function Vf(){return this}var Xf,Kf,Zf=k((()=>{xd(),Sd(),Od(),zd(),Gd(),ep(),Wd(),np(),ap(),sp(),cp(),dp(),fp(),mp(),vp(),bp(),kp(),Ep(),Mp(),zp(),jp(),ef(),sf(),df(),gf(),vf(),bf(),Tf(),Cf(),Nf(),Mf(),Ff(),qf(),jf(),Xf=[null],w(Hf,"Selection"),w(Wf,"selection"),w(Vf,"selection_selection"),Hf.prototype=Wf.prototype={constructor:Hf,select:vd,selectAll:Cd,selectChild:Rd,selectChildren:Fd,filter:Ud,data:Jd,enter:jd,exit:rp,join:ip,merge:op,selection:Vf,order:lp,sort:hp,call:pp,nodes:gp,node:yp,size:xp,empty:wp,each:Tp,attr:Ip,style:Fp,property:Yp,classed:tf,text:of,html:uf,raise:ff,lower:yf,append:xf,insert:kf,remove:_f,clone:Lf,datum:If,on:Bf,dispatch:Gf,[Symbol.iterator]:Yf},Kf=Wf}));function Qf(t){return"string"==typeof t?new Hf([[document.querySelector(t)]],[document.documentElement]):new Hf([[t]],Xf)}var Jf=k((()=>{Zf(),w(Qf,"default")})),tg=k((()=>{Nd(),hd(),Jf(),Zf(),yd(),Ed(),zp()})),eg=k((()=>{}));function rg(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function ng(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}var ig=k((()=>{w(rg,"default"),w(ng,"extend")}));function ag(){}function og(){return this.rgb().formatHex()}function sg(){return this.rgb().formatHex8()}function lg(){return Tg(this).formatHsl()}function cg(){return this.rgb().formatRgb()}function hg(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=Dg.exec(t))?(r=e[1].length,e=parseInt(e[1],16),6===r?ug(e):3===r?new gg(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===r?dg(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?dg(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=Og.exec(t))?new gg(e[1],e[2],e[3],1):(e=Pg.exec(t))?new gg(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=Bg.exec(t))?dg(e[1],e[2],e[3],e[4]):(e=Fg.exec(t))?dg(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=$g.exec(t))?kg(e[1],e[2]/100,e[3]/100,1):(e=zg.exec(t))?kg(e[1],e[2]/100,e[3]/100,e[4]):Ug.hasOwnProperty(t)?ug(Ug[t]):"transparent"===t?new gg(NaN,NaN,NaN,0):null}function ug(t){return new gg(t>>16&255,t>>8&255,255&t,1)}function dg(t,e,r,n){return n<=0&&(t=e=r=NaN),new gg(t,e,r,n)}function pg(t){return t instanceof ag||(t=hg(t)),t?new gg((t=t.rgb()).r,t.g,t.b,t.opacity):new gg}function fg(t,e,r,n){return 1===arguments.length?pg(t):new gg(t,e,r,n??1)}function gg(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function mg(){return`#${wg(this.r)}${wg(this.g)}${wg(this.b)}`}function yg(){return`#${wg(this.r)}${wg(this.g)}${wg(this.b)}${wg(255*(isNaN(this.opacity)?1:this.opacity))}`}function vg(){let t=xg(this.opacity);return`${1===t?"rgb(":"rgba("}${bg(this.r)}, ${bg(this.g)}, ${bg(this.b)}${1===t?")":`, ${t})`}`}function xg(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function bg(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function wg(t){return((t=bg(t))<16?"0":"")+t.toString(16)}function kg(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new _g(t,e,r,n)}function Tg(t){if(t instanceof _g)return new _g(t.h,t.s,t.l,t.opacity);if(t instanceof ag||(t=hg(t)),!t)return new _g;if(t instanceof _g)return t;var e=(t=t.rgb()).r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),a=Math.max(e,r,n),o=NaN,s=a-i,l=(a+i)/2;return s?(o=e===a?(r-n)/s+6*(r0&&l<1?0:o,new _g(o,s,l,t.opacity)}function Eg(t,e,r,n){return 1===arguments.length?Tg(t):new _g(t,e,r,n??1)}function _g(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function Cg(t){return(t=(t||0)%360)<0?t+360:t}function Sg(t){return Math.max(0,Math.min(1,t||0))}function Ag(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}var Lg,Ng,Ig,Mg,Rg,Dg,Og,Pg,Bg,Fg,$g,zg,Ug,Gg,qg,Yg=k((()=>{ig(),w(ag,"Color"),Ng=1/(Lg=.7),Ig="\\s*([+-]?\\d+)\\s*",Mg="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Rg="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Dg=/^#([0-9a-f]{3,8})$/,Og=new RegExp(`^rgb\\(${Ig},${Ig},${Ig}\\)$`),Pg=new RegExp(`^rgb\\(${Rg},${Rg},${Rg}\\)$`),Bg=new RegExp(`^rgba\\(${Ig},${Ig},${Ig},${Mg}\\)$`),Fg=new RegExp(`^rgba\\(${Rg},${Rg},${Rg},${Mg}\\)$`),$g=new RegExp(`^hsl\\(${Mg},${Rg},${Rg}\\)$`),zg=new RegExp(`^hsla\\(${Mg},${Rg},${Rg},${Mg}\\)$`),Ug={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},rg(ag,hg,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:og,formatHex:og,formatHex8:sg,formatHsl:lg,formatRgb:cg,toString:cg}),w(og,"color_formatHex"),w(sg,"color_formatHex8"),w(lg,"color_formatHsl"),w(cg,"color_formatRgb"),w(hg,"color"),w(ug,"rgbn"),w(dg,"rgba"),w(pg,"rgbConvert"),w(fg,"rgb"),w(gg,"Rgb"),rg(gg,fg,ng(ag,{brighter(t){return t=null==t?Ng:Math.pow(Ng,t),new gg(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?Lg:Math.pow(Lg,t),new gg(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new gg(bg(this.r),bg(this.g),bg(this.b),xg(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:mg,formatHex:mg,formatHex8:yg,formatRgb:vg,toString:vg})),w(mg,"rgb_formatHex"),w(yg,"rgb_formatHex8"),w(vg,"rgb_formatRgb"),w(xg,"clampa"),w(bg,"clampi"),w(wg,"hex"),w(kg,"hsla"),w(Tg,"hslConvert"),w(Eg,"hsl"),w(_g,"Hsl"),rg(_g,Eg,ng(ag,{brighter(t){return t=null==t?Ng:Math.pow(Ng,t),new _g(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?Lg:Math.pow(Lg,t),new _g(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new gg(Ag(t>=240?t-240:t+120,i,n),Ag(t,i,n),Ag(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new _g(Cg(this.h),Sg(this.s),Sg(this.l),xg(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=xg(this.opacity);return`${1===t?"hsl(":"hsla("}${Cg(this.h)}, ${100*Sg(this.s)}%, ${100*Sg(this.l)}%${1===t?")":`, ${t})`}`}})),w(Cg,"clamph"),w(Sg,"clampt"),w(Ag,"hsl2rgb")})),jg=k((()=>{Gg=Math.PI/180,qg=180/Math.PI}));function Hg(t){if(t instanceof Vg)return new Vg(t.l,t.a,t.b,t.opacity);if(t instanceof em)return rm(t);t instanceof gg||(t=pg(t));var e,r,n=Qg(t.r),i=Qg(t.g),a=Qg(t.b),o=Xg((.2225045*n+.7168786*i+.0606169*a)/im);return n===i&&i===a?e=r=o:(e=Xg((.4360747*n+.3850649*i+.1430804*a)/nm),r=Xg((.0139322*n+.0971045*i+.7141733*a)/am)),new Vg(116*o-16,500*(e-o),200*(o-r),t.opacity)}function Wg(t,e,r,n){return 1===arguments.length?Hg(t):new Vg(t,e,r,n??1)}function Vg(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function Xg(t){return t>cm?Math.pow(t,1/3):t/lm+om}function Kg(t){return t>sm?t*t*t:lm*(t-om)}function Zg(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Qg(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Jg(t){if(t instanceof em)return new em(t.h,t.c,t.l,t.opacity);if(t instanceof Vg||(t=Hg(t)),0===t.a&&0===t.b)return new em(NaN,0{ig(),Yg(),jg(),nm=.96422,im=1,am=.82521,om=4/29,lm=3*(sm=6/29)*sm,cm=sm*sm*sm,w(Hg,"labConvert"),w(Wg,"lab"),w(Vg,"Lab"),rg(Vg,Wg,ng(ag,{brighter(t){return new Vg(this.l+18*(t??1),this.a,this.b,this.opacity)},darker(t){return new Vg(this.l-18*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return new gg(Zg(3.1338561*(e=nm*Kg(e))-1.6168667*(t=im*Kg(t))-.4906146*(r=am*Kg(r))),Zg(-.9787684*e+1.9161415*t+.033454*r),Zg(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}})),w(Xg,"xyz2lab"),w(Kg,"lab2xyz"),w(Zg,"lrgb2rgb"),w(Qg,"rgb2lrgb"),w(Jg,"hclConvert"),w(tm,"hcl"),w(em,"Hcl"),w(rm,"hcl2lab"),rg(em,tm,ng(ag,{brighter(t){return new em(this.h,this.c,this.l+18*(t??1),this.opacity)},darker(t){return new em(this.h,this.c,this.l-18*(t??1),this.opacity)},rgb(){return rm(this).rgb()}}))})),um=k((()=>{Yg(),hm()}));function dm(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}function pm(t){var e=t.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],o=n>0?t[n-1]:2*i-a,s=n{w(dm,"basis"),w(pm,"default")}));function gm(t){var e=t.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*e),i=t[(n+e-1)%e],a=t[n%e],o=t[(n+1)%e],s=t[(n+2)%e];return dm((r-n/e)*e,i,a,o,s)}}var mm,ym=k((()=>{fm(),w(gm,"default")})),vm=k((()=>{mm=w((t=>()=>t),"default")}));function xm(t,e){return function(r){return t+r*e}}function bm(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function wm(t,e){var r=e-t;return r?xm(t,r>180||r<-180?r-360*Math.round(r/360):r):mm(isNaN(t)?e:t)}function km(t){return 1==(t=+t)?Tm:function(e,r){return r-e?bm(e,r,t):mm(isNaN(e)?r:e)}}function Tm(t,e){var r=e-t;return r?xm(t,r):mm(isNaN(t)?e:t)}var Em=k((()=>{vm(),w(xm,"linear"),w(bm,"exponential"),w(wm,"hue"),w(km,"gamma"),w(Tm,"nogamma")}));function _m(t){return function(e){var r,n,i=e.length,a=new Array(i),o=new Array(i),s=new Array(i);for(r=0;r{um(),fm(),ym(),Em(),Cm=w((function t(e){var r=km(e);function n(t,e){var n=r((t=fg(t)).r,(e=fg(e)).r),i=r(t.g,e.g),a=r(t.b,e.b),o=Tm(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=i(e),t.b=a(e),t.opacity=o(e),t+""}}return w(n,"rgb"),n.gamma=t,n}),"rgbGamma")(1),w(_m,"rgbSpline"),_m(pm),_m(gm)}));function Am(t,e){e||(e=[]);var r,n=t?Math.min(e.length,t.length):0,i=e.slice();return function(a){for(r=0;r{w(Am,"default"),w(Lm,"isNumberArray")}));function Im(t,e){var r,n=e?e.length:0,i=t?Math.min(n,t.length):0,a=new Array(i),o=new Array(n);for(r=0;r{Hm(),w(Im,"genericArray")}));function Rm(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}var Dm=k((()=>{w(Rm,"default")}));function Om(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}var Pm=k((()=>{w(Om,"default")}));function Bm(t,e){var r,n={},i={};for(r in(null===t||"object"!=typeof t)&&(t={}),(null===e||"object"!=typeof e)&&(e={}),e)r in t?n[r]=jm(t[r],e[r]):i[r]=e[r];return function(t){for(r in n)i[r]=n[r](t);return i}}var Fm=k((()=>{Hm(),w(Bm,"default")}));function $m(t){return function(){return t}}function zm(t){return function(e){return t(e)+""}}function Um(t,e){var r,n,i,a=Gm.lastIndex=qm.lastIndex=0,o=-1,s=[],l=[];for(t+="",e+="";(r=Gm.exec(t))&&(n=qm.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:Om(r,n)})),a=qm.lastIndex;return a{Pm(),Gm=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,qm=new RegExp(Gm.source,"g"),w($m,"zero"),w(zm,"one"),w(Um,"default")}));function jm(t,e){var r,n=typeof e;return null==e||"boolean"===n?mm(e):("number"===n?Om:"string"===n?(r=hg(e))?(e=r,Cm):Um:e instanceof hg?Cm:e instanceof Date?Rm:Lm(e)?Am:Array.isArray(e)?Im:"function"!=typeof e.valueOf&&"function"!=typeof e.toString||isNaN(e)?Bm:Om)(t,e)}var Hm=k((()=>{um(),Sm(),Mm(),Dm(),Pm(),Fm(),Ym(),vm(),Nm(),w(jm,"default")}));function Wm(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}var Vm=k((()=>{w(Wm,"default")}));function Xm(t,e,r,n,i,a){var o,s,l;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(l=t*r+e*n)&&(r-=t*l,n-=e*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),t*n{Km=180/Math.PI,Zm={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},w(Xm,"default")}));function Jm(t){let e=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?Zm:Xm(e.a,e.b,e.c,e.d,e.e,e.f)}function ty(t){return null==t?Zm:(ey||(ey=document.createElementNS("http://www.w3.org/2000/svg","g")),ey.setAttribute("transform",t),(t=ey.transform.baseVal.consolidate())?Xm((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):Zm)}var ey,ry=k((()=>{Qm(),w(Jm,"parseCss"),w(ty,"parseSvg")}));function ny(t,e,r,n){function i(t){return t.length?t.pop()+" ":""}function a(t,n,i,a,o,s){if(t!==i||n!==a){var l=o.push("translate(",null,e,null,r);s.push({i:l-4,x:Om(t,i)},{i:l-2,x:Om(n,a)})}else(i||a)&&o.push("translate("+i+e+a+r)}function o(t,e,r,a){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),a.push({i:r.push(i(r)+"rotate(",null,n)-2,x:Om(t,e)})):e&&r.push(i(r)+"rotate("+e+n)}function s(t,e,r,a){t!==e?a.push({i:r.push(i(r)+"skewX(",null,n)-2,x:Om(t,e)}):e&&r.push(i(r)+"skewX("+e+n)}function l(t,e,r,n,a,o){if(t!==r||e!==n){var s=a.push(i(a)+"scale(",null,",",null,")");o.push({i:s-4,x:Om(t,r)},{i:s-2,x:Om(e,n)})}else(1!==r||1!==n)&&a.push(i(a)+"scale("+r+","+n+")")}return w(i,"pop"),w(a,"translate"),w(o,"rotate"),w(s,"skewX"),w(l,"scale"),function(e,r){var n=[],i=[];return e=t(e),r=t(r),a(e.translateX,e.translateY,r.translateX,r.translateY,n,i),o(e.rotate,r.rotate,n,i),s(e.skewX,r.skewX,n,i),l(e.scaleX,e.scaleY,r.scaleX,r.scaleY,n,i),e=r=null,function(t){for(var e,r=-1,a=i.length;++r{Pm(),ry(),w(ny,"interpolateTransform"),iy=ny(Jm,"px, ","px)","deg)"),ay=ny(ty,", ",")",")")}));function sy(t){return function(e,r){var n=t((e=tm(e)).h,(r=tm(r)).h),i=Tm(e.c,r.c),a=Tm(e.l,r.l),o=Tm(e.opacity,r.opacity);return function(t){return e.h=n(t),e.c=i(t),e.l=a(t),e.opacity=o(t),e+""}}}var ly,cy=k((()=>{um(),Em(),w(sy,"hcl"),ly=sy(wm),sy(Tm)})),hy=k((()=>{Hm(),Pm(),Vm(),Ym(),oy(),Sm(),cy()}));function uy(){return Sy||(Ny(dy),Sy=Ly.now()+Ay)}function dy(){Sy=0}function py(){this._call=this._time=this._next=null}function fy(t,e,r){var n=new py;return n.restart(t,e,r),n}function gy(){uy(),++by;for(var t,e=Ey;e;)(t=Sy-e._time)>=0&&e._call.call(void 0,t),e=e._next;--by}function my(){Sy=(Cy=Ly.now())+Ay,by=wy=0;try{gy()}finally{by=0,vy(),Sy=0}}function yy(){var t=Ly.now(),e=t-Cy;e>Ty&&(Ay-=e,Cy=t)}function vy(){for(var t,e,r=Ey,n=1/0;r;)r._call?(n>r._time&&(n=r._time),t=r,r=r._next):(e=r._next,r._next=null,r=t?t._next=e:Ey=e);_y=t,xy(n)}function xy(t){by||(wy&&(wy=clearTimeout(wy)),t-Sy>24?(t<1/0&&(wy=setTimeout(my,t-Ly.now()-Ay)),ky&&(ky=clearInterval(ky))):(ky||(Cy=Ly.now(),ky=setInterval(yy,Ty)),by=1,Ny(my)))}var by,wy,ky,Ty,Ey,_y,Cy,Sy,Ay,Ly,Ny,Iy=k((()=>{by=0,wy=0,ky=0,Ty=1e3,Cy=0,Sy=0,Ay=0,Ly="object"==typeof performance&&performance.now?performance:Date,Ny="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)},w(uy,"now"),w(dy,"clearNow"),w(py,"Timer"),py.prototype=fy.prototype={constructor:py,restart:w((function(t,e,r){if("function"!=typeof t)throw new TypeError("callback is not a function");r=(null==r?uy():+r)+(null==e?0:+e),!this._next&&_y!==this&&(_y?_y._next=this:Ey=this,_y=this),this._call=t,this._time=r,xy()}),"restart"),stop:w((function(){this._call&&(this._call=null,this._time=1/0,xy())}),"stop")},w(fy,"timer"),w(gy,"timerFlush"),w(my,"wake"),w(yy,"poke"),w(vy,"nap"),w(xy,"sleep")}));function My(t,e,r){var n=new py;return e=null==e?0:+e,n.restart((r=>{n.stop(),t(r+e)}),e,r),n}var Ry=k((()=>{Iy(),w(My,"default")})),Dy=k((()=>{Iy(),Ry()}));function Oy(t,e,r,n,i,a){var o=t.__transition;if(o){if(r in o)return}else t.__transition={};$y(t,r,{name:e,index:n,group:i,on:zy,tween:Uy,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:Gy})}function Py(t,e){var r=Fy(t,e);if(r.state>Gy)throw new Error("too late; already scheduled");return r}function By(t,e){var r=Fy(t,e);if(r.state>jy)throw new Error("too late; already running");return r}function Fy(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function $y(t,e,r){var n,i=t.__transition;function a(t){r.state=qy,r.timer.restart(o,r.delay,r.time),r.delay<=t&&o(t-r.delay)}function o(a){var c,h,u,d;if(r.state!==qy)return l();for(c in i)if((d=i[c]).name===r.name){if(d.state===jy)return My(o);d.state===Hy?(d.state=Vy,d.timer.stop(),d.on.call("interrupt",t,t.__data__,d.index,d.group),delete i[c]):+c{sd(),Dy(),zy=nd("start","end","cancel","interrupt"),Uy=[],Gy=0,qy=1,Yy=2,jy=3,Hy=4,Wy=5,Vy=6,w(Oy,"default"),w(Py,"init"),w(By,"set"),w(Fy,"get"),w($y,"create")}));function Ky(t,e){var r,n,i,a=t.__transition,o=!0;if(a){for(i in e=null==e?null:e+"",a)(r=a[i]).name===e?(n=r.state>Yy&&r.state{Xy(),w(Ky,"default")}));function Qy(t){return this.each((function(){Ky(this,t)}))}var Jy=k((()=>{Zy(),w(Qy,"default")}));function tv(t,e){var r,n;return function(){var i=By(this,t),a=i.tween;if(a!==r)for(var o=0,s=(n=r=a).length;o{Xy(),w(tv,"tweenRemove"),w(ev,"tweenFunction"),w(rv,"default"),w(nv,"tweenValue")}));function av(t,e){var r;return("number"==typeof e?Om:e instanceof hg?Cm:(r=hg(e))?(e=r,Cm):Um)(t,e)}var ov=k((()=>{um(),hy(),w(av,"default")}));function sv(t){return function(){this.removeAttribute(t)}}function lv(t){return function(){this.removeAttributeNS(t.space,t.local)}}function cv(t,e,r){var n,i,a=r+"";return function(){var o=this.getAttribute(t);return o===a?null:o===n?i:i=e(n=o,r)}}function hv(t,e,r){var n,i,a=r+"";return function(){var o=this.getAttributeNS(t.space,t.local);return o===a?null:o===n?i:i=e(n=o,r)}}function uv(t,e,r){var n,i,a;return function(){var o,s,l=r(this);return null==l?void this.removeAttribute(t):(o=this.getAttribute(t))===(s=l+"")?null:o===n&&s===i?a:(i=s,a=e(n=o,l))}}function dv(t,e,r){var n,i,a;return function(){var o,s,l=r(this);return null==l?void this.removeAttributeNS(t.space,t.local):(o=this.getAttributeNS(t.space,t.local))===(s=l+"")?null:o===n&&s===i?a:(i=s,a=e(n=o,l))}}function pv(t,e){var r=cd(t),n="transform"===r?ay:av;return this.attrTween(t,"function"==typeof e?(r.local?dv:uv)(r,n,nv(this,"attr."+t,e)):null==e?(r.local?lv:sv)(r):(r.local?hv:cv)(r,n,e))}var fv=k((()=>{hy(),tg(),iv(),ov(),w(sv,"attrRemove"),w(lv,"attrRemoveNS"),w(cv,"attrConstant"),w(hv,"attrConstantNS"),w(uv,"attrFunction"),w(dv,"attrFunctionNS"),w(pv,"default")}));function gv(t,e){return function(r){this.setAttribute(t,e.call(this,r))}}function mv(t,e){return function(r){this.setAttributeNS(t.space,t.local,e.call(this,r))}}function yv(t,e){var r,n;function i(){var i=e.apply(this,arguments);return i!==n&&(r=(n=i)&&mv(t,i)),r}return w(i,"tween"),i._value=e,i}function vv(t,e){var r,n;function i(){var i=e.apply(this,arguments);return i!==n&&(r=(n=i)&&gv(t,i)),r}return w(i,"tween"),i._value=e,i}function xv(t,e){var r="attr."+t;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw new Error;var n=cd(t);return this.tween(r,(n.local?yv:vv)(n,e))}var bv=k((()=>{tg(),w(gv,"attrInterpolate"),w(mv,"attrInterpolateNS"),w(yv,"attrTweenNS"),w(vv,"attrTween"),w(xv,"default")}));function wv(t,e){return function(){Py(this,t).delay=+e.apply(this,arguments)}}function kv(t,e){return e=+e,function(){Py(this,t).delay=e}}function Tv(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?wv:kv)(e,t)):Fy(this.node(),e).delay}var Ev=k((()=>{Xy(),w(wv,"delayFunction"),w(kv,"delayConstant"),w(Tv,"default")}));function _v(t,e){return function(){By(this,t).duration=+e.apply(this,arguments)}}function Cv(t,e){return e=+e,function(){By(this,t).duration=e}}function Sv(t){var e=this._id;return arguments.length?this.each(("function"==typeof t?_v:Cv)(e,t)):Fy(this.node(),e).duration}var Av=k((()=>{Xy(),w(_v,"durationFunction"),w(Cv,"durationConstant"),w(Sv,"default")}));function Lv(t,e){if("function"!=typeof e)throw new Error;return function(){By(this,t).ease=e}}function Nv(t){var e=this._id;return arguments.length?this.each(Lv(e,t)):Fy(this.node(),e).ease}var Iv=k((()=>{Xy(),w(Lv,"easeConstant"),w(Nv,"default")}));function Mv(t,e){return function(){var r=e.apply(this,arguments);if("function"!=typeof r)throw new Error;By(this,t).ease=r}}function Rv(t){if("function"!=typeof t)throw new Error;return this.each(Mv(this._id,t))}var Dv=k((()=>{Xy(),w(Mv,"easeVarying"),w(Rv,"default")}));function Ov(t){"function"!=typeof t&&(t=Ad(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{tg(),Sx(),w(Ov,"default")}));function Bv(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,r=t._groups,n=e.length,i=r.length,a=Math.min(n,i),o=new Array(n),s=0;s{Sx(),w(Bv,"default")}));function $v(t){return(t+"").trim().split(/^|\s+/).every((function(t){var e=t.indexOf(".");return e>=0&&(t=t.slice(0,e)),!t||"start"===t}))}function zv(t,e,r){var n,i,a=$v(e)?Py:By;return function(){var o=a(this,t),s=o.on;s!==n&&(i=(n=s).copy()).on(e,r),o.on=i}}function Uv(t,e){var r=this._id;return arguments.length<2?Fy(this.node(),r).on.on(t):this.each(zv(r,t,e))}var Gv=k((()=>{Xy(),w($v,"start"),w(zv,"onFunction"),w(Uv,"default")}));function qv(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function Yv(){return this.on("end.remove",qv(this._id))}var jv=k((()=>{w(qv,"removeFunction"),w(Yv,"default")}));function Hv(t){var e=this._name,r=this._id;"function"!=typeof t&&(t=md(t));for(var n=this._groups,i=n.length,a=new Array(i),o=0;o{tg(),Sx(),Xy(),w(Hv,"default")}));function Vv(t){var e=this._name,r=this._id;"function"!=typeof t&&(t=Td(t));for(var n=this._groups,i=n.length,a=[],o=[],s=0;s{tg(),Sx(),Xy(),w(Vv,"default")}));function Kv(){return new Zv(this._groups,this._parents)}var Zv,Qv=k((()=>{tg(),Zv=Kf.prototype.constructor,w(Kv,"default")}));function Jv(t,e){var r,n,i;return function(){var a=$p(this,t),o=(this.style.removeProperty(t),$p(this,t));return a===o?null:a===r&&o===n?i:i=e(r=a,n=o)}}function tx(t){return function(){this.style.removeProperty(t)}}function ex(t,e,r){var n,i,a=r+"";return function(){var o=$p(this,t);return o===a?null:o===n?i:i=e(n=o,r)}}function rx(t,e,r){var n,i,a;return function(){var o=$p(this,t),s=r(this),l=s+"";return null==s&&(this.style.removeProperty(t),l=s=$p(this,t)),o===l?null:o===n&&l===i?a:(i=l,a=e(n=o,s))}}function nx(t,e){var r,n,i,a,o="style."+e,s="end."+o;return function(){var l=By(this,t),c=l.on,h=null==l.value[o]?a||(a=tx(e)):void 0;(c!==r||i!==h)&&(n=(r=c).copy()).on(s,i=h),l.on=n}}function ix(t,e,r){var n="transform"==(t+="")?iy:av;return null==e?this.styleTween(t,Jv(t,n)).on("end.style."+t,tx(t)):"function"==typeof e?this.styleTween(t,rx(t,n,nv(this,"style."+t,e))).each(nx(this._id,t)):this.styleTween(t,ex(t,n,e),r).on("end.style."+t,null)}var ax=k((()=>{hy(),tg(),Xy(),iv(),ov(),w(Jv,"styleNull"),w(tx,"styleRemove"),w(ex,"styleConstant"),w(rx,"styleFunction"),w(nx,"styleMaybeRemove"),w(ix,"default")}));function ox(t,e,r){return function(n){this.style.setProperty(t,e.call(this,n),r)}}function sx(t,e,r){var n,i;function a(){var a=e.apply(this,arguments);return a!==i&&(n=(i=a)&&ox(t,a,r)),n}return w(a,"tween"),a._value=e,a}function lx(t,e,r){var n="style."+(t+="");if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw new Error;return this.tween(n,sx(t,e,r??""))}var cx=k((()=>{w(ox,"styleInterpolate"),w(sx,"styleTween"),w(lx,"default")}));function hx(t){return function(){this.textContent=t}}function ux(t){return function(){var e=t(this);this.textContent=e??""}}function dx(t){return this.tween("text","function"==typeof t?ux(nv(this,"text",t)):hx(null==t?"":t+""))}var px=k((()=>{iv(),w(hx,"textConstant"),w(ux,"textFunction"),w(dx,"default")}));function fx(t){return function(e){this.textContent=t.call(this,e)}}function gx(t){var e,r;function n(){var n=t.apply(this,arguments);return n!==r&&(e=(r=n)&&fx(n)),e}return w(n,"tween"),n._value=t,n}function mx(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(null==t)return this.tween(e,null);if("function"!=typeof t)throw new Error;return this.tween(e,gx(t))}var yx=k((()=>{w(fx,"textInterpolate"),w(gx,"textTween"),w(mx,"default")}));function vx(){for(var t=this._name,e=this._id,r=Ex(),n=this._groups,i=n.length,a=0;a{Sx(),Xy(),w(vx,"default")}));function bx(){var t,e,r=this,n=r._id,i=r.size();return new Promise((function(a,o){var s={value:o},l={value:w((function(){0==--i&&a()}),"value")};r.each((function(){var r=By(this,n),i=r.on;i!==t&&((e=(t=i).copy())._.cancel.push(s),e._.interrupt.push(s),e._.end.push(l)),r.on=e})),0===i&&a()}))}var wx=k((()=>{Xy(),w(bx,"default")}));function kx(t,e,r,n){this._groups=t,this._parents=e,this._name=r,this._id=n}function Tx(t){return Kf().transition(t)}function Ex(){return++_x}var _x,Cx,Sx=k((()=>{tg(),fv(),bv(),Ev(),Av(),Iv(),Dv(),Pv(),Fv(),Gv(),jv(),Wv(),Xv(),Qv(),ax(),cx(),px(),yx(),xx(),iv(),wx(),_x=0,w(kx,"Transition"),w(Tx,"transition"),w(Ex,"newId"),Cx=Kf.prototype,kx.prototype=Tx.prototype={constructor:kx,select:Hv,selectAll:Vv,selectChild:Cx.selectChild,selectChildren:Cx.selectChildren,filter:Ov,merge:Bv,selection:Kv,transition:vx,call:Cx.call,nodes:Cx.nodes,node:Cx.node,size:Cx.size,empty:Cx.empty,each:Cx.each,on:Uv,attr:pv,attrTween:xv,style:ix,styleTween:lx,text:dx,textTween:mx,remove:Yv,tween:rv,delay:Tv,duration:Sv,ease:Nv,easeVarying:Rv,end:bx,[Symbol.iterator]:Cx[Symbol.iterator]}}));function Ax(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var Lx=k((()=>{w(Ax,"cubicInOut")})),Nx=k((()=>{Lx()}));function Ix(t,e){for(var r;!(r=t.__transition)||!(r=r[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return r}function Mx(t){var e,r;t instanceof kx?(e=t._id,t=t._name):(e=Ex(),(r=Rx).time=uy(),t=null==t?null:t+"");for(var n=this._groups,i=n.length,a=0;a{Sx(),Xy(),Nx(),Dy(),Rx={time:null,delay:0,duration:250,ease:Ax},w(Ix,"inherit"),w(Mx,"default")})),Ox=k((()=>{tg(),Jy(),Dx(),Kf.prototype.interrupt=Qy,Kf.prototype.transition=Mx})),Px=k((()=>{Ox()})),Bx=k((()=>{})),Fx=k((()=>{})),$x=k((()=>{}));function zx(t){return[+t[0],+t[1]]}function Ux(t){return[zx(t[0]),zx(t[1])]}function Gx(t){return{type:t}}var qx,Yx,jx,Hx=k((()=>{Px(),Bx(),Fx(),$x(),({abs:qx,max:Yx,min:jx}=Math),w(zx,"number1"),w(Ux,"number2"),["w","e"].map(Gx),w((function(t,e){return null==t?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]}),"input"),w((function(t){return t&&[t[0][0],t[1][0]]}),"output"),["n","s"].map(Gx),w((function(t,e){return null==t?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]}),"input"),w((function(t){return t&&[t[0][1],t[1][1]]}),"output"),["n","w","e","s","nw","ne","sw","se"].map(Gx),w((function(t){return null==t?null:Ux(t)}),"input"),w((function(t){return t}),"output"),w(Gx,"type")})),Wx=k((()=>{Hx()}));function Vx(t){this._+=t[0];for(let e=1,r=t.length;e=0))throw new Error(`invalid digits: ${t}`);if(e>15)return Vx;let r=10**e;return function(t){this._+=t[0];for(let e=1,n=t.length;e{Zx=Math.PI,tb=(Qx=2*Zx)-(Jx=1e-6),w(Vx,"append"),w(Xx,"appendRound"),eb=class{static{w(this,"Path")}constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=null==t?Vx:Xx(t)}moveTo(t,e){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,e){this._append`L${this._x1=+t},${this._y1=+e}`}quadraticCurveTo(t,e,r,n){this._append`Q${+t},${+e},${this._x1=+r},${this._y1=+n}`}bezierCurveTo(t,e,r,n,i,a){this._append`C${+t},${+e},${+r},${+n},${this._x1=+i},${this._y1=+a}`}arcTo(t,e,r,n,i){if(t=+t,e=+e,r=+r,n=+n,(i=+i)<0)throw new Error(`negative radius: ${i}`);let a=this._x1,o=this._y1,s=r-t,l=n-e,c=a-t,h=o-e,u=c*c+h*h;if(null===this._x1)this._append`M${this._x1=t},${this._y1=e}`;else if(u>Jx)if(Math.abs(h*s-l*c)>Jx&&i){let d=r-a,p=n-o,f=s*s+l*l,g=d*d+p*p,m=Math.sqrt(f),y=Math.sqrt(u),v=i*Math.tan((Zx-Math.acos((f+u-g)/(2*m*y)))/2),x=v/y,b=v/m;Math.abs(x-1)>Jx&&this._append`L${t+x*c},${e+x*h}`,this._append`A${i},${i},0,0,${+(h*d>c*p)},${this._x1=t+b*s},${this._y1=e+b*l}`}else this._append`L${this._x1=t},${this._y1=e}`}arc(t,e,r,n,i,a){if(t=+t,e=+e,a=!!a,(r=+r)<0)throw new Error(`negative radius: ${r}`);let o=r*Math.cos(n),s=r*Math.sin(n),l=t+o,c=e+s,h=1^a,u=a?n-i:i-n;null===this._x1?this._append`M${l},${c}`:(Math.abs(this._x1-l)>Jx||Math.abs(this._y1-c)>Jx)&&this._append`L${l},${c}`,r&&(u<0&&(u=u%Qx+Qx),u>tb?this._append`A${r},${r},0,1,${h},${t-o},${e-s}A${r},${r},0,1,${h},${this._x1=l},${this._y1=c}`:u>Jx&&this._append`A${r},${r},0,${+(u>=Zx)},${h},${this._x1=t+r*Math.cos(i)},${this._y1=e+r*Math.sin(i)}`)}rect(t,e,r,n){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}h${r=+r}v${+n}h${-r}Z`}toString(){return this._}},w(Kx,"path"),Kx.prototype=eb.prototype})),nb=k((()=>{rb()})),ib=k((()=>{})),ab=k((()=>{})),ob=k((()=>{})),sb=k((()=>{})),lb=k((()=>{})),cb=k((()=>{})),hb=k((()=>{}));function ub(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function db(t,e){if((r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var r,n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}var pb=k((()=>{w(ub,"default"),w(db,"formatDecimalParts")}));function fb(t){return(t=db(Math.abs(t)))?t[1]:NaN}var gb=k((()=>{pb(),w(fb,"default")}));function mb(t,e){return function(r,n){for(var i=r.length,a=[],o=0,s=t[0],l=0;i>0&&s>0&&(l+s+1>n&&(s=Math.max(1,n-l)),a.push(r.substring(i-=s,i+s)),!((l+=s+1)>n));)s=t[o=(o+1)%t.length];return a.reverse().join(e)}}var yb=k((()=>{w(mb,"default")}));function vb(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}var xb=k((()=>{w(vb,"default")}));function bb(t){if(!(e=kb.exec(t)))throw new Error("invalid format: "+t);var e;return new wb({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function wb(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}var kb,Tb=k((()=>{kb=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i,w(bb,"formatSpecifier"),bb.prototype=wb.prototype,w(wb,"FormatSpecifier"),wb.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type}}));function Eb(t){t:for(var e,r=t.length,n=1,i=-1;n0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}var _b=k((()=>{w(Eb,"default")}));function Cb(t,e){var r=db(t,e);if(!r)return t+"";var n=r[0],i=r[1],a=i-(Sb=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,o=n.length;return a===o?n:a>o?n+new Array(a-o+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+db(t,Math.max(0,e+a-1))[0]}var Sb,Ab=k((()=>{pb(),w(Cb,"default")}));function Lb(t,e){var r=db(t,e);if(!r)return t+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}var Nb,Ib=k((()=>{pb(),w(Lb,"default")})),Mb=k((()=>{pb(),Ab(),Ib(),Nb={"%":w(((t,e)=>(100*t).toFixed(e)),"%"),b:w((t=>Math.round(t).toString(2)),"b"),c:w((t=>t+""),"c"),d:ub,e:w(((t,e)=>t.toExponential(e)),"e"),f:w(((t,e)=>t.toFixed(e)),"f"),g:w(((t,e)=>t.toPrecision(e)),"g"),o:w((t=>Math.round(t).toString(8)),"o"),p:w(((t,e)=>Lb(100*t,e)),"p"),r:Lb,s:Cb,X:w((t=>Math.round(t).toString(16).toUpperCase()),"X"),x:w((t=>Math.round(t).toString(16)),"x")}}));function Rb(t){return t}var Db=k((()=>{w(Rb,"default")}));function Ob(t){var e=void 0===t.grouping||void 0===t.thousands?Rb:mb(Pb.call(t.grouping,Number),t.thousands+""),r=void 0===t.currency?"":t.currency[0]+"",n=void 0===t.currency?"":t.currency[1]+"",i=void 0===t.decimal?".":t.decimal+"",a=void 0===t.numerals?Rb:vb(Pb.call(t.numerals,String)),o=void 0===t.percent?"%":t.percent+"",s=void 0===t.minus?"−":t.minus+"",l=void 0===t.nan?"NaN":t.nan+"";function c(t){var c=(t=bb(t)).fill,h=t.align,u=t.sign,d=t.symbol,p=t.zero,f=t.width,g=t.comma,m=t.precision,y=t.trim,v=t.type;"n"===v?(g=!0,v="g"):Nb[v]||(void 0===m&&(m=12),y=!0,v="g"),(p||"0"===c&&"="===h)&&(p=!0,c="0",h="=");var x="$"===d?r:"#"===d&&/[boxX]/.test(v)?"0"+v.toLowerCase():"",b="$"===d?n:/[%p]/.test(v)?o:"",k=Nb[v],T=/[defgprs%]/.test(v);function E(t){var r,n,o,d=x,w=b;if("c"===v)w=k(t)+w,t="";else{var E=(t=+t)<0||1/t<0;if(t=isNaN(t)?l:k(Math.abs(t),m),y&&(t=Eb(t)),E&&0==+t&&"+"!==u&&(E=!1),d=(E?"("===u?u:s:"-"===u||"("===u?"":u)+d,w=("s"===v?Bb[8+Sb/3]:"")+w+(E&&"("===u?")":""),T)for(r=-1,n=t.length;++r(o=t.charCodeAt(r))||o>57){w=(46===o?i+t.slice(r+1):t.slice(r))+w,t=t.slice(0,r);break}}g&&!p&&(t=e(t,1/0));var _=d.length+t.length+w.length,C=_>1)+d+t+w+C.slice(_);break;default:t=C+d+t+w}return a(t)}return m=void 0===m?6:/[gprs]/.test(v)?Math.max(1,Math.min(21,m)):Math.max(0,Math.min(20,m)),w(E,"format"),E.toString=function(){return t+""},E}function h(t,e){var r=c(((t=bb(t)).type="f",t)),n=3*Math.max(-8,Math.min(8,Math.floor(fb(e)/3))),i=Math.pow(10,-n),a=Bb[8+n/3];return function(t){return r(i*t)+a}}return w(c,"newFormat"),w(h,"formatPrefix"),{format:c,formatPrefix:h}}var Pb,Bb,Fb=k((()=>{gb(),yb(),xb(),Tb(),_b(),Mb(),Ab(),Db(),Pb=Array.prototype.map,Bb=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"],w(Ob,"default")}));function $b(t){return zb=Ob(t),Ub=zb.format,Gb=zb.formatPrefix,zb}var zb,Ub,Gb,qb=k((()=>{Fb(),$b({thousands:",",grouping:[3],currency:["$",""]}),w($b,"defaultLocale")}));function Yb(t){return Math.max(0,-fb(Math.abs(t)))}var jb=k((()=>{gb(),w(Yb,"default")}));function Hb(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(fb(e)/3)))-fb(Math.abs(t)))}var Wb=k((()=>{gb(),w(Hb,"default")}));function Vb(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,fb(e)-fb(t))+1}var Xb=k((()=>{gb(),w(Vb,"default")})),Kb=k((()=>{qb(),Tb(),jb(),Wb(),Xb()})),Zb=k((()=>{})),Qb=k((()=>{})),Jb=k((()=>{})),tw=k((()=>{}));function ew(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t)}return this}var rw=k((()=>{w(ew,"initRange")}));function nw(){var t=new yu,e=[],r=[],n=iw;function i(i){let a=t.get(i);if(void 0===a){if(n!==iw)return n;t.set(i,a=e.push(i)-1)}return r[a%r.length]}return w(i,"scale"),i.domain=function(r){if(!arguments.length)return e.slice();e=[],t=new yu;for(let n of r)t.has(n)||t.set(n,e.push(n)-1);return i},i.range=function(t){return arguments.length?(r=Array.from(t),i):r.slice()},i.unknown=function(t){return arguments.length?(n=t,i):n},i.copy=function(){return nw(e,r).unknown(n)},ew.apply(i,arguments),i}var iw,aw=k((()=>{Ru(),rw(),iw=Symbol("implicit"),w(nw,"ordinal")}));function ow(){var t,e,r=nw().unknown(void 0),n=r.domain,i=r.range,a=0,o=1,s=!1,l=0,c=0,h=.5;function u(){var r=n().length,u=o{Ru(),rw(),aw(),w(ow,"band")}));function lw(t){return function(){return t}}var cw=k((()=>{w(lw,"constants")}));function hw(t){return+t}var uw=k((()=>{w(hw,"number")}));function dw(t){return t}function pw(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:lw(isNaN(e)?NaN:.5)}function fw(t,e){var r;return t>e&&(r=t,t=e,e=r),function(r){return Math.max(t,Math.min(e,r))}}function gw(t,e,r){var n=t[0],i=t[1],a=e[0],o=e[1];return i2?mw:gw,i=a=null,u}function u(e){return null==e||isNaN(e=+e)?r:(i||(i=n(o.map(t),s,l)))(t(c(e)))}return w(h,"rescale"),w(u,"scale"),u.invert=function(r){return c(e((a||(a=n(s,o.map(t),Om)))(r)))},u.domain=function(t){return arguments.length?(o=Array.from(t,hw),h()):o.slice()},u.range=function(t){return arguments.length?(s=Array.from(t),h()):s.slice()},u.rangeRound=function(t){return s=Array.from(t),l=Wm,h()},u.clamp=function(t){return arguments.length?(c=!!t||dw,h()):c!==dw},u.interpolate=function(t){return arguments.length?(l=t,h()):l},u.unknown=function(t){return arguments.length?(r=t,u):r},function(r,n){return t=r,e=n,h()}}function xw(){return vw()(dw,dw)}var bw,ww=k((()=>{Ru(),hy(),cw(),uw(),bw=[0,1],w(dw,"identity"),w(pw,"normalize"),w(fw,"clamper"),w(gw,"bimap"),w(mw,"polymap"),w(yw,"copy"),w(vw,"transformer"),w(xw,"continuous")}));function kw(t,e,r,n){var i,a=ku(t,e,r);switch((n=bb(n??",f")).type){case"s":var o=Math.max(Math.abs(t),Math.abs(e));return null==n.precision&&!isNaN(i=Hb(a,o))&&(n.precision=i),Gb(n,o);case"":case"e":case"g":case"p":case"r":null==n.precision&&!isNaN(i=Vb(a,Math.max(Math.abs(t),Math.abs(e))))&&(n.precision=i-("e"===n.type));break;case"f":case"%":null==n.precision&&!isNaN(i=Yb(a))&&(n.precision=i-2*("%"===n.type))}return Ub(n)}var Tw=k((()=>{Ru(),Kb(),w(kw,"tickFormat")}));function Ew(t){var e=t.domain;return t.ticks=function(t){var r=e();return bu(r[0],r[r.length-1],t??10)},t.tickFormat=function(t,r){var n=e();return kw(n[0],n[n.length-1],t??10,r)},t.nice=function(r){null==r&&(r=10);var n,i,a=e(),o=0,s=a.length-1,l=a[o],c=a[s],h=10;for(c0;){if((i=wu(l,c,r))===n)return a[o]=l,a[s]=c,e(a);if(i>0)l=Math.floor(l/i)*i,c=Math.ceil(c/i)*i;else{if(!(i<0))break;l=Math.ceil(l*i)/i,c=Math.floor(c*i)/i}n=i}return t},t}function _w(){var t=xw();return t.copy=function(){return yw(t,_w())},ew.apply(t,arguments),Ew(t)}var Cw=k((()=>{Ru(),ww(),rw(),Tw(),w(Ew,"linearish"),w(_w,"linear")}));function Sw(t,e){var r,n=0,i=(t=t.slice()).length-1,a=t[n],o=t[i];return o{w(Sw,"nice")}));function Lw(t,e,r,n){function i(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return w(i,"interval"),i.floor=e=>(t(e=new Date(+e)),e),i.ceil=r=>(t(r=new Date(r-1)),e(r,1),t(r),r),i.round=t=>{let e=i(t),r=i.ceil(t);return t-e(e(t=new Date(+t),null==r?1:Math.floor(r)),t),i.range=(r,n,a)=>{let o,s=[];if(r=i.ceil(r),a=null==a?1:Math.floor(a),!(r0))return s;do{s.push(o=new Date(+r)),e(r,a),t(r)}while(oLw((e=>{if(e>=e)for(;t(e),!r(e);)e.setTime(e-1)}),((t,n)=>{if(t>=t)if(n<0)for(;++n<=0;)for(;e(t,-1),!r(t););else for(;--n>=0;)for(;e(t,1),!r(t););})),r&&(i.count=(e,n)=>(Nw.setTime(+e),Iw.setTime(+n),t(Nw),t(Iw),Math.floor(r(Nw,Iw))),i.every=t=>(t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(n?e=>n(e)%t==0:e=>i.count(0,e)%t==0):i:null)),i}var Nw,Iw,Mw,Rw,Dw,Ow,Pw,Bw,Fw,$w,zw,Uw=k((()=>{Nw=new Date,Iw=new Date,w(Lw,"timeInterval")})),Gw=k((()=>{Uw(),(Mw=Lw((()=>{}),((t,e)=>{t.setTime(+t+e)}),((t,e)=>e-t))).every=t=>(t=Math.floor(t),isFinite(t)&&t>0?t>1?Lw((e=>{e.setTime(Math.floor(e/t)*t)}),((e,r)=>{e.setTime(+e+r*t)}),((e,r)=>(r-e)/t)):Mw:null),Mw.range})),qw=k((()=>{Uw(),Rw=Lw((t=>{t.setTime(t-t.getMilliseconds())}),((t,e)=>{t.setTime(+t+1e3*e)}),((t,e)=>(e-t)/1e3),(t=>t.getUTCSeconds())),Rw.range})),Yw=k((()=>{Uw(),Dw=Lw((t=>{t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())}),((t,e)=>{t.setTime(+t+6e4*e)}),((t,e)=>(e-t)/6e4),(t=>t.getMinutes())),Dw.range,Ow=Lw((t=>{t.setUTCSeconds(0,0)}),((t,e)=>{t.setTime(+t+6e4*e)}),((t,e)=>(e-t)/6e4),(t=>t.getUTCMinutes())),Ow.range})),jw=k((()=>{Uw(),Pw=Lw((t=>{t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-6e4*t.getMinutes())}),((t,e)=>{t.setTime(+t+36e5*e)}),((t,e)=>(e-t)/36e5),(t=>t.getHours())),Pw.range,Bw=Lw((t=>{t.setUTCMinutes(0,0,0)}),((t,e)=>{t.setTime(+t+36e5*e)}),((t,e)=>(e-t)/36e5),(t=>t.getUTCHours())),Bw.range})),Hw=k((()=>{Uw(),Fw=Lw((t=>t.setHours(0,0,0,0)),((t,e)=>t.setDate(t.getDate()+e)),((t,e)=>(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/864e5),(t=>t.getDate()-1)),Fw.range,$w=Lw((t=>{t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+e)}),((t,e)=>(e-t)/864e5),(t=>t.getUTCDate()-1)),$w.range,zw=Lw((t=>{t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+e)}),((t,e)=>(e-t)/864e5),(t=>Math.floor(t/864e5))),zw.range}));function Ww(t){return Lw((e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),((t,e)=>{t.setDate(t.getDate()+7*e)}),((t,e)=>(e-t-6e4*(e.getTimezoneOffset()-t.getTimezoneOffset()))/6048e5))}function Vw(t){return Lw((e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+7*e)}),((t,e)=>(e-t)/6048e5))}var Xw,Kw,Zw,Qw,Jw,tk,ek,rk,nk,ik,ak,ok,sk,lk,ck,hk,uk,dk,pk=k((()=>{Uw(),w(Ww,"timeWeekday"),Xw=Ww(0),Kw=Ww(1),Zw=Ww(2),Qw=Ww(3),Jw=Ww(4),tk=Ww(5),ek=Ww(6),Xw.range,Kw.range,Zw.range,Qw.range,Jw.range,tk.range,ek.range,w(Vw,"utcWeekday"),rk=Vw(0),nk=Vw(1),ik=Vw(2),ak=Vw(3),ok=Vw(4),sk=Vw(5),lk=Vw(6),rk.range,nk.range,ik.range,ak.range,ok.range,sk.range,lk.range})),fk=k((()=>{Uw(),ck=Lw((t=>{t.setDate(1),t.setHours(0,0,0,0)}),((t,e)=>{t.setMonth(t.getMonth()+e)}),((t,e)=>e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())),(t=>t.getMonth())),ck.range,hk=Lw((t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)}),((t,e)=>e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())),(t=>t.getUTCMonth())),hk.range})),gk=k((()=>{Uw(),(uk=Lw((t=>{t.setMonth(0,1),t.setHours(0,0,0,0)}),((t,e)=>{t.setFullYear(t.getFullYear()+e)}),((t,e)=>e.getFullYear()-t.getFullYear()),(t=>t.getFullYear()))).every=t=>isFinite(t=Math.floor(t))&&t>0?Lw((e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),((e,r)=>{e.setFullYear(e.getFullYear()+r*t)})):null,uk.range,(dk=Lw((t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)}),((t,e)=>e.getUTCFullYear()-t.getUTCFullYear()),(t=>t.getUTCFullYear()))).every=t=>isFinite(t=Math.floor(t))&&t>0?Lw((e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),((e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)})):null,dk.range}));function mk(t,e,r,n,i,a){let o=[[Rw,1,1e3],[Rw,5,5e3],[Rw,15,15e3],[Rw,30,3e4],[a,1,6e4],[a,5,3e5],[a,15,9e5],[a,30,18e5],[i,1,36e5],[i,3,108e5],[i,6,216e5],[i,12,432e5],[n,1,864e5],[n,2,1728e5],[r,1,6048e5],[e,1,2592e6],[e,3,7776e6],[t,1,31536e6]];function s(t,e,r){let n=et)).right(o,i);if(a===o.length)return t.every(ku(e/31536e6,r/31536e6,n));if(0===a)return Mw.every(Math.max(ku(e,r,n),1));let[s,l]=o[i/o[a-1][2]{Ru(),Gw(),qw(),Yw(),jw(),Hw(),pk(),fk(),gk(),w(mk,"ticker"),[yk,vk]=mk(dk,hk,rk,zw,Bw,Ow),[xk,bk]=mk(uk,ck,Xw,Fw,Pw,Dw)})),kk=k((()=>{Gw(),qw(),Yw(),jw(),Hw(),pk(),fk(),gk(),wk()}));function Tk(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function Ek(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function _k(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function Ck(t){var e=t.dateTime,r=t.date,n=t.time,i=t.periods,a=t.days,o=t.shortDays,s=t.months,l=t.shortMonths,c=Lk(i),h=Nk(i),u=Lk(a),d=Nk(a),p=Lk(o),f=Nk(o),g=Lk(s),m=Nk(s),y=Lk(l),v=Nk(l),x={a:D,A:O,b:P,B,c:null,d:Zk,e:Zk,f:rT,g:pT,G:gT,H:Qk,I:Jk,j:tT,L:eT,m:nT,M:iT,p:F,q:$,Q:FT,s:$T,S:aT,u:oT,U:sT,V:cT,w:hT,W:uT,x:null,X:null,y:dT,Y:fT,Z:mT,"%":BT},b={a:z,A:U,b:G,B:q,c:null,d:yT,e:yT,f:kT,g:RT,G:OT,H:vT,I:xT,j:bT,L:wT,m:TT,M:ET,p:Y,q:j,Q:FT,s:$T,S:_T,u:CT,U:ST,V:LT,w:NT,W:IT,x:null,X:null,y:MT,Y:DT,Z:PT,"%":BT},k={a:S,A,b:L,B:N,c:I,d:Uk,e:Uk,f:Wk,g:Bk,G:Pk,H:qk,I:qk,j:Gk,L:Hk,m:zk,M:Yk,p:C,q:$k,Q:Xk,s:Kk,S:jk,u:Mk,U:Rk,V:Dk,w:Ik,W:Ok,x:M,X:R,y:Bk,Y:Pk,Z:Fk,"%":Vk};function T(t,e){return function(r){var n,i,a,o=[],s=-1,l=0,c=t.length;for(r instanceof Date||(r=new Date(+r));++s53)return null;"w"in a||(a.w=1),"Z"in a?(i=(n=Ek(_k(a.y,0,1))).getUTCDay(),n=i>4||0===i?nk.ceil(n):nk(n),n=$w.offset(n,7*(a.V-1)),a.y=n.getUTCFullYear(),a.m=n.getUTCMonth(),a.d=n.getUTCDate()+(a.w+6)%7):(i=(n=Tk(_k(a.y,0,1))).getDay(),n=i>4||0===i?Kw.ceil(n):Kw(n),n=Fw.offset(n,7*(a.V-1)),a.y=n.getFullYear(),a.m=n.getMonth(),a.d=n.getDate()+(a.w+6)%7)}else("W"in a||"U"in a)&&("w"in a||(a.w="u"in a?a.u%7:"W"in a?1:0),i="Z"in a?Ek(_k(a.y,0,1)).getUTCDay():Tk(_k(a.y,0,1)).getDay(),a.m=0,a.d="W"in a?(a.w+6)%7+7*a.W-(i+5)%7:a.w+7*a.U-(i+6)%7);return"Z"in a?(a.H+=a.Z/100|0,a.M+=a.Z%100,Ek(a)):Tk(a)}}function _(t,e,r,n){for(var i,a,o=0,s=e.length,l=r.length;o=l)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=k[i in zT?e.charAt(o++):i])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}function C(t,e,r){var n=c.exec(e.slice(r));return n?(t.p=h.get(n[0].toLowerCase()),r+n[0].length):-1}function S(t,e,r){var n=p.exec(e.slice(r));return n?(t.w=f.get(n[0].toLowerCase()),r+n[0].length):-1}function A(t,e,r){var n=u.exec(e.slice(r));return n?(t.w=d.get(n[0].toLowerCase()),r+n[0].length):-1}function L(t,e,r){var n=y.exec(e.slice(r));return n?(t.m=v.get(n[0].toLowerCase()),r+n[0].length):-1}function N(t,e,r){var n=g.exec(e.slice(r));return n?(t.m=m.get(n[0].toLowerCase()),r+n[0].length):-1}function I(t,r,n){return _(t,e,r,n)}function M(t,e,n){return _(t,r,e,n)}function R(t,e,r){return _(t,n,e,r)}function D(t){return o[t.getDay()]}function O(t){return a[t.getDay()]}function P(t){return l[t.getMonth()]}function B(t){return s[t.getMonth()]}function F(t){return i[+(t.getHours()>=12)]}function $(t){return 1+~~(t.getMonth()/3)}function z(t){return o[t.getUTCDay()]}function U(t){return a[t.getUTCDay()]}function G(t){return l[t.getUTCMonth()]}function q(t){return s[t.getUTCMonth()]}function Y(t){return i[+(t.getUTCHours()>=12)]}function j(t){return 1+~~(t.getUTCMonth()/3)}return x.x=T(r,x),x.X=T(n,x),x.c=T(e,x),b.x=T(r,b),b.X=T(n,b),b.c=T(e,b),w(T,"newFormat"),w(E,"newParse"),w(_,"parseSpecifier"),w(C,"parsePeriod"),w(S,"parseShortWeekday"),w(A,"parseWeekday"),w(L,"parseShortMonth"),w(N,"parseMonth"),w(I,"parseLocaleDateTime"),w(M,"parseLocaleDate"),w(R,"parseLocaleTime"),w(D,"formatShortWeekday"),w(O,"formatWeekday"),w(P,"formatShortMonth"),w(B,"formatMonth"),w(F,"formatPeriod"),w($,"formatQuarter"),w(z,"formatUTCShortWeekday"),w(U,"formatUTCWeekday"),w(G,"formatUTCShortMonth"),w(q,"formatUTCMonth"),w(Y,"formatUTCPeriod"),w(j,"formatUTCQuarter"),{format:w((function(t){var e=T(t+="",x);return e.toString=function(){return t},e}),"format"),parse:w((function(t){var e=E(t+="",!1);return e.toString=function(){return t},e}),"parse"),utcFormat:w((function(t){var e=T(t+="",b);return e.toString=function(){return t},e}),"utcFormat"),utcParse:w((function(t){var e=E(t+="",!0);return e.toString=function(){return t},e}),"utcParse")}}function Sk(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a[t.toLowerCase(),e])))}function Ik(t,e,r){var n=UT.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Mk(t,e,r){var n=UT.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function Rk(t,e,r){var n=UT.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function Dk(t,e,r){var n=UT.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function Ok(t,e,r){var n=UT.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function Pk(t,e,r){var n=UT.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function Bk(t,e,r){var n=UT.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function Fk(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function $k(t,e,r){var n=UT.exec(e.slice(r,r+1));return n?(t.q=3*n[0]-3,r+n[0].length):-1}function zk(t,e,r){var n=UT.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function Uk(t,e,r){var n=UT.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function Gk(t,e,r){var n=UT.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function qk(t,e,r){var n=UT.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function Yk(t,e,r){var n=UT.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function jk(t,e,r){var n=UT.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function Hk(t,e,r){var n=UT.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function Wk(t,e,r){var n=UT.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function Vk(t,e,r){var n=GT.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function Xk(t,e,r){var n=UT.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function Kk(t,e,r){var n=UT.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function Zk(t,e){return Sk(t.getDate(),e,2)}function Qk(t,e){return Sk(t.getHours(),e,2)}function Jk(t,e){return Sk(t.getHours()%12||12,e,2)}function tT(t,e){return Sk(1+Fw.count(uk(t),t),e,3)}function eT(t,e){return Sk(t.getMilliseconds(),e,3)}function rT(t,e){return eT(t,e)+"000"}function nT(t,e){return Sk(t.getMonth()+1,e,2)}function iT(t,e){return Sk(t.getMinutes(),e,2)}function aT(t,e){return Sk(t.getSeconds(),e,2)}function oT(t){var e=t.getDay();return 0===e?7:e}function sT(t,e){return Sk(Xw.count(uk(t)-1,t),e,2)}function lT(t){var e=t.getDay();return e>=4||0===e?Jw(t):Jw.ceil(t)}function cT(t,e){return t=lT(t),Sk(Jw.count(uk(t),t)+(4===uk(t).getDay()),e,2)}function hT(t){return t.getDay()}function uT(t,e){return Sk(Kw.count(uk(t)-1,t),e,2)}function dT(t,e){return Sk(t.getFullYear()%100,e,2)}function pT(t,e){return Sk((t=lT(t)).getFullYear()%100,e,2)}function fT(t,e){return Sk(t.getFullYear()%1e4,e,4)}function gT(t,e){var r=t.getDay();return Sk((t=r>=4||0===r?Jw(t):Jw.ceil(t)).getFullYear()%1e4,e,4)}function mT(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Sk(e/60|0,"0",2)+Sk(e%60,"0",2)}function yT(t,e){return Sk(t.getUTCDate(),e,2)}function vT(t,e){return Sk(t.getUTCHours(),e,2)}function xT(t,e){return Sk(t.getUTCHours()%12||12,e,2)}function bT(t,e){return Sk(1+$w.count(dk(t),t),e,3)}function wT(t,e){return Sk(t.getUTCMilliseconds(),e,3)}function kT(t,e){return wT(t,e)+"000"}function TT(t,e){return Sk(t.getUTCMonth()+1,e,2)}function ET(t,e){return Sk(t.getUTCMinutes(),e,2)}function _T(t,e){return Sk(t.getUTCSeconds(),e,2)}function CT(t){var e=t.getUTCDay();return 0===e?7:e}function ST(t,e){return Sk(rk.count(dk(t)-1,t),e,2)}function AT(t){var e=t.getUTCDay();return e>=4||0===e?ok(t):ok.ceil(t)}function LT(t,e){return t=AT(t),Sk(ok.count(dk(t),t)+(4===dk(t).getUTCDay()),e,2)}function NT(t){return t.getUTCDay()}function IT(t,e){return Sk(nk.count(dk(t)-1,t),e,2)}function MT(t,e){return Sk(t.getUTCFullYear()%100,e,2)}function RT(t,e){return Sk((t=AT(t)).getUTCFullYear()%100,e,2)}function DT(t,e){return Sk(t.getUTCFullYear()%1e4,e,4)}function OT(t,e){var r=t.getUTCDay();return Sk((t=r>=4||0===r?ok(t):ok.ceil(t)).getUTCFullYear()%1e4,e,4)}function PT(){return"+0000"}function BT(){return"%"}function FT(t){return+t}function $T(t){return Math.floor(+t/1e3)}var zT,UT,GT,qT,YT=k((()=>{kk(),w(Tk,"localDate"),w(Ek,"utcDate"),w(_k,"newDate"),w(Ck,"formatLocale"),zT={"-":"",_:" ",0:"0"},UT=/^\s*\d+/,GT=/^%/,qT=/[\\^$*+?|[\]().{}]/g,w(Sk,"pad"),w(Ak,"requote"),w(Lk,"formatRe"),w(Nk,"formatLookup"),w(Ik,"parseWeekdayNumberSunday"),w(Mk,"parseWeekdayNumberMonday"),w(Rk,"parseWeekNumberSunday"),w(Dk,"parseWeekNumberISO"),w(Ok,"parseWeekNumberMonday"),w(Pk,"parseFullYear"),w(Bk,"parseYear"),w(Fk,"parseZone"),w($k,"parseQuarter"),w(zk,"parseMonthNumber"),w(Uk,"parseDayOfMonth"),w(Gk,"parseDayOfYear"),w(qk,"parseHour24"),w(Yk,"parseMinutes"),w(jk,"parseSeconds"),w(Hk,"parseMilliseconds"),w(Wk,"parseMicroseconds"),w(Vk,"parseLiteralPercent"),w(Xk,"parseUnixTimestamp"),w(Kk,"parseUnixTimestampSeconds"),w(Zk,"formatDayOfMonth"),w(Qk,"formatHour24"),w(Jk,"formatHour12"),w(tT,"formatDayOfYear"),w(eT,"formatMilliseconds"),w(rT,"formatMicroseconds"),w(nT,"formatMonthNumber"),w(iT,"formatMinutes"),w(aT,"formatSeconds"),w(oT,"formatWeekdayNumberMonday"),w(sT,"formatWeekNumberSunday"),w(lT,"dISO"),w(cT,"formatWeekNumberISO"),w(hT,"formatWeekdayNumberSunday"),w(uT,"formatWeekNumberMonday"),w(dT,"formatYear"),w(pT,"formatYearISO"),w(fT,"formatFullYear"),w(gT,"formatFullYearISO"),w(mT,"formatZone"),w(yT,"formatUTCDayOfMonth"),w(vT,"formatUTCHour24"),w(xT,"formatUTCHour12"),w(bT,"formatUTCDayOfYear"),w(wT,"formatUTCMilliseconds"),w(kT,"formatUTCMicroseconds"),w(TT,"formatUTCMonthNumber"),w(ET,"formatUTCMinutes"),w(_T,"formatUTCSeconds"),w(CT,"formatUTCWeekdayNumberMonday"),w(ST,"formatUTCWeekNumberSunday"),w(AT,"UTCdISO"),w(LT,"formatUTCWeekNumberISO"),w(NT,"formatUTCWeekdayNumberSunday"),w(IT,"formatUTCWeekNumberMonday"),w(MT,"formatUTCYear"),w(RT,"formatUTCYearISO"),w(DT,"formatUTCFullYear"),w(OT,"formatUTCFullYearISO"),w(PT,"formatUTCZone"),w(BT,"formatLiteralPercent"),w(FT,"formatUnixTimestamp"),w($T,"formatUnixTimestampSeconds")}));function jT(t){return HT=Ck(t),WT=HT.format,HT.parse,HT.utcFormat,HT.utcParse,HT}var HT,WT,VT=k((()=>{YT(),jT({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),w(jT,"defaultLocale")})),XT=k((()=>{VT()}));function KT(t){return new Date(t)}function ZT(t){return t instanceof Date?+t:+new Date(+t)}function QT(t,e,r,n,i,a,o,s,l,c){var h=xw(),u=h.invert,d=h.domain,p=c(".%L"),f=c(":%S"),g=c("%I:%M"),m=c("%I %p"),y=c("%a %d"),v=c("%b %d"),x=c("%B"),b=c("%Y");function k(t){return(l(t){kk(),XT(),ww(),rw(),Aw(),w(KT,"date"),w(ZT,"number"),w(QT,"calendar"),w(JT,"time")})),eE=k((()=>{sw(),Cw(),aw(),tE()}));function rE(t){for(var e=t.length/6|0,r=new Array(e),n=0;n{w(rE,"default")})),aE=k((()=>{iE(),nE=rE("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab")})),oE=k((()=>{aE()}));function sE(t){return w((function(){return t}),"constant")}var lE=k((()=>{w(sE,"default")}));function cE(t){return t>1?0:t<-1?xE:Math.acos(t)}function hE(t){return t>=1?bE:t<=-1?-bE:Math.asin(t)}var uE,dE,pE,fE,gE,mE,yE,vE,xE,bE,wE,kE=k((()=>{uE=Math.abs,dE=Math.atan2,pE=Math.cos,fE=Math.max,gE=Math.min,mE=Math.sin,yE=Math.sqrt,vE=1e-12,xE=Math.PI,bE=xE/2,wE=2*xE,w(cE,"acos"),w(hE,"asin")}));function TE(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(null==r)e=null;else{let t=Math.floor(r);if(!(t>=0))throw new RangeError(`invalid digits: ${r}`);e=t}return t},()=>new eb(e)}var EE=k((()=>{nb(),w(TE,"withPath")}));function _E(t){return t.innerRadius}function CE(t){return t.outerRadius}function SE(t){return t.startAngle}function AE(t){return t.endAngle}function LE(t){return t&&t.padAngle}function NE(t,e,r,n,i,a,o,s){var l=r-t,c=n-e,h=o-i,u=s-a,d=u*l-h*c;if(!(d*dN*N+I*I&&(E=C,_=S),{cx:E,cy:_,x01:-h,y01:-u,x11:E*(i/w-1),y11:_*(i/w-1)}}function ME(){var t=_E,e=CE,r=sE(0),n=null,i=SE,a=AE,o=LE,s=null,l=TE(c);function c(){var c,h,u=+t.apply(this,arguments),d=+e.apply(this,arguments),p=i.apply(this,arguments)-bE,f=a.apply(this,arguments)-bE,g=uE(f-p),m=f>p;if(s||(s=c=l()),dvE)if(g>wE-vE)s.moveTo(d*pE(p),d*mE(p)),s.arc(0,0,d,p,f,!m),u>vE&&(s.moveTo(u*pE(f),u*mE(f)),s.arc(0,0,u,f,p,m));else{var y,v,x=p,b=f,w=p,k=f,T=g,E=g,_=o.apply(this,arguments)/2,C=_>vE&&(n?+n.apply(this,arguments):yE(u*u+d*d)),S=gE(uE(d-u)/2,+r.apply(this,arguments)),A=S,L=S;if(C>vE){var N=hE(C/u*mE(_)),I=hE(C/d*mE(_));(T-=2*N)>vE?(w+=N*=m?1:-1,k-=N):(T=0,w=k=(p+f)/2),(E-=2*I)>vE?(x+=I*=m?1:-1,b-=I):(E=0,x=b=(p+f)/2)}var M=d*pE(x),R=d*mE(x),D=u*pE(k),O=u*mE(k);if(S>vE){var P,B=d*pE(b),F=d*mE(b),$=u*pE(w),z=u*mE(w);if(gvE?L>vE?(y=IE($,z,M,R,d,L,m),v=IE(B,F,D,O,d,L,m),s.moveTo(y.cx+y.x01,y.cy+y.y01),LvE&&T>vE?A>vE?(y=IE(D,O,B,F,u,-A,m),v=IE(M,R,$,z,u,-A,m),s.lineTo(y.cx+y.x01,y.cy+y.y01),A{lE(),kE(),EE(),w(_E,"arcInnerRadius"),w(CE,"arcOuterRadius"),w(SE,"arcStartAngle"),w(AE,"arcEndAngle"),w(LE,"arcPadAngle"),w(NE,"intersect"),w(IE,"cornerTangents"),w(ME,"default")}));function DE(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}var OE=k((()=>{Array.prototype.slice,w(DE,"default")}));function PE(t){this._context=t}function BE(t){return new PE(t)}var FE=k((()=>{w(PE,"Linear"),PE.prototype={areaStart:w((function(){this._line=0}),"areaStart"),areaEnd:w((function(){this._line=NaN}),"areaEnd"),lineStart:w((function(){this._point=0}),"lineStart"),lineEnd:w((function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}),"lineEnd"),point:w((function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}),"point")},w(BE,"default")}));function $E(t){return t[0]}function zE(t){return t[1]}var UE=k((()=>{w($E,"x"),w(zE,"y")}));function GE(t,e){var r=sE(!0),n=null,i=BE,a=null,o=TE(s);function s(s){var l,c,h,u=(s=DE(s)).length,d=!1;for(null==n&&(a=i(h=o())),l=0;l<=u;++l)!(l{OE(),lE(),FE(),EE(),UE(),w(GE,"default")}));function YE(t,e){return et?1:e>=t?0:NaN}var jE=k((()=>{w(YE,"default")}));function HE(t){return t}var WE=k((()=>{w(HE,"default")}));function VE(){var t=HE,e=YE,r=null,n=sE(0),i=sE(wE),a=sE(0);function o(o){var s,l,c,h,u,d=(o=DE(o)).length,p=0,f=new Array(d),g=new Array(d),m=+n.apply(this,arguments),y=Math.min(wE,Math.max(-wE,i.apply(this,arguments)-m)),v=Math.min(Math.abs(y)/d,a.apply(this,arguments)),x=v*(y<0?-1:1);for(s=0;s0&&(p+=u);for(null!=e?f.sort((function(t,r){return e(g[t],g[r])})):null!=r&&f.sort((function(t,e){return r(o[t],o[e])})),s=0,c=p?(y-d*x)/p:0;s0?u*c:0)+x,g[l]={data:o[l],index:s,value:u,startAngle:m,endAngle:h,padAngle:v};return g}return w(o,"pie"),o.value=function(e){return arguments.length?(t="function"==typeof e?e:sE(+e),o):t},o.sortValues=function(t){return arguments.length?(e=t,r=null,o):e},o.sort=function(t){return arguments.length?(r=t,e=null,o):r},o.startAngle=function(t){return arguments.length?(n="function"==typeof t?t:sE(+t),o):n},o.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:sE(+t),o):i},o.padAngle=function(t){return arguments.length?(a="function"==typeof t?t:sE(+t),o):a},o}var XE=k((()=>{OE(),lE(),jE(),WE(),kE(),w(VE,"default")}));function KE(t){return new QE(t,!0)}function ZE(t){return new QE(t,!1)}var QE,JE=k((()=>{QE=class{static{w(this,"Bump")}constructor(t,e){this._context=t,this._x=e}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,e,t,e):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+e)/2,t,this._y0,t,e)}this._x0=t,this._y0=e}},w(KE,"bumpX"),w(ZE,"bumpY")}));function t_(){}var e_=k((()=>{w(t_,"default")}));function r_(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function n_(t){this._context=t}function i_(t){return new n_(t)}var a_=k((()=>{w(r_,"point"),w(n_,"Basis"),n_.prototype={areaStart:w((function(){this._line=0}),"areaStart"),areaEnd:w((function(){this._line=NaN}),"areaEnd"),lineStart:w((function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0}),"lineStart"),lineEnd:w((function(){switch(this._point){case 3:r_(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}),"lineEnd"),point:w((function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:r_(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}),"point")},w(i_,"default")}));function o_(t){this._context=t}function s_(t){return new o_(t)}var l_=k((()=>{e_(),a_(),w(o_,"BasisClosed"),o_.prototype={areaStart:t_,areaEnd:t_,lineStart:w((function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0}),"lineStart"),lineEnd:w((function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}}),"lineEnd"),point:w((function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:r_(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}),"point")},w(s_,"default")}));function c_(t){this._context=t}function h_(t){return new c_(t)}var u_=k((()=>{a_(),w(c_,"BasisOpen"),c_.prototype={areaStart:w((function(){this._line=0}),"areaStart"),areaEnd:w((function(){this._line=NaN}),"areaEnd"),lineStart:w((function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0}),"lineStart"),lineEnd:w((function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line}),"lineEnd"),point:w((function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:r_(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}),"point")},w(h_,"default")}));function d_(t,e){this._basis=new n_(t),this._beta=e}var p_,f_=k((()=>{a_(),w(d_,"Bundle"),d_.prototype={lineStart:w((function(){this._x=[],this._y=[],this._basis.lineStart()}),"lineStart"),lineEnd:w((function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n,i=t[0],a=e[0],o=t[r]-i,s=e[r]-a,l=-1;++l<=r;)n=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(i+n*o),this._beta*e[l]+(1-this._beta)*(a+n*s));this._x=this._y=null,this._basis.lineEnd()}),"lineEnd"),point:w((function(t,e){this._x.push(+t),this._y.push(+e)}),"point")},p_=w((function t(e){function r(t){return 1===e?new n_(t):new d_(t,e)}return w(r,"bundle"),r.beta=function(e){return t(+e)},r}),"custom")(.85)}));function g_(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function m_(t,e){this._context=t,this._k=(1-e)/6}var y_,v_=k((()=>{w(g_,"point"),w(m_,"Cardinal"),m_.prototype={areaStart:w((function(){this._line=0}),"areaStart"),areaEnd:w((function(){this._line=NaN}),"areaEnd"),lineStart:w((function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0}),"lineStart"),lineEnd:w((function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:g_(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}),"lineEnd"),point:w((function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:g_(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}),"point")},y_=w((function t(e){function r(t){return new m_(t,e)}return w(r,"cardinal"),r.tension=function(e){return t(+e)},r}),"custom")(0)}));function x_(t,e){this._context=t,this._k=(1-e)/6}var b_,w_=k((()=>{e_(),v_(),w(x_,"CardinalClosed"),x_.prototype={areaStart:t_,areaEnd:t_,lineStart:w((function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0}),"lineStart"),lineEnd:w((function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}}),"lineEnd"),point:w((function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:g_(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}),"point")},b_=w((function t(e){function r(t){return new x_(t,e)}return w(r,"cardinal"),r.tension=function(e){return t(+e)},r}),"custom")(0)}));function k_(t,e){this._context=t,this._k=(1-e)/6}var T_,E_=k((()=>{v_(),w(k_,"CardinalOpen"),k_.prototype={areaStart:w((function(){this._line=0}),"areaStart"),areaEnd:w((function(){this._line=NaN}),"areaEnd"),lineStart:w((function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0}),"lineStart"),lineEnd:w((function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line}),"lineEnd"),point:w((function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:g_(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}),"point")},T_=w((function t(e){function r(t){return new k_(t,e)}return w(r,"cardinal"),r.tension=function(e){return t(+e)},r}),"custom")(0)}));function __(t,e,r){var n=t._x1,i=t._y1,a=t._x2,o=t._y2;if(t._l01_a>vE){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,i=(i*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>vE){var c=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,h=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*c+t._x1*t._l23_2a-e*t._l12_2a)/h,o=(o*c+t._y1*t._l23_2a-r*t._l12_2a)/h}t._context.bezierCurveTo(n,i,a,o,t._x2,t._y2)}function C_(t,e){this._context=t,this._alpha=e}var S_,A_=k((()=>{kE(),v_(),w(__,"point"),w(C_,"CatmullRom"),C_.prototype={areaStart:w((function(){this._line=0}),"areaStart"),areaEnd:w((function(){this._line=NaN}),"areaEnd"),lineStart:w((function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0}),"lineStart"),lineEnd:w((function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}),"lineEnd"),point:w((function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:__(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}),"point")},S_=w((function t(e){function r(t){return e?new C_(t,e):new m_(t,0)}return w(r,"catmullRom"),r.alpha=function(e){return t(+e)},r}),"custom")(.5)}));function L_(t,e){this._context=t,this._alpha=e}var N_,I_=k((()=>{w_(),e_(),A_(),w(L_,"CatmullRomClosed"),L_.prototype={areaStart:t_,areaEnd:t_,lineStart:w((function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0}),"lineStart"),lineEnd:w((function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}}),"lineEnd"),point:w((function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:__(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}),"point")},N_=w((function t(e){function r(t){return e?new L_(t,e):new x_(t,0)}return w(r,"catmullRom"),r.alpha=function(e){return t(+e)},r}),"custom")(.5)}));function M_(t,e){this._context=t,this._alpha=e}var R_,D_=k((()=>{E_(),A_(),w(M_,"CatmullRomOpen"),M_.prototype={areaStart:w((function(){this._line=0}),"areaStart"),areaEnd:w((function(){this._line=NaN}),"areaEnd"),lineStart:w((function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0}),"lineStart"),lineEnd:w((function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line}),"lineEnd"),point:w((function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:__(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}),"point")},R_=w((function t(e){function r(t){return e?new M_(t,e):new k_(t,0)}return w(r,"catmullRom"),r.alpha=function(e){return t(+e)},r}),"custom")(.5)}));function O_(t){this._context=t}function P_(t){return new O_(t)}var B_=k((()=>{e_(),w(O_,"LinearClosed"),O_.prototype={areaStart:t_,areaEnd:t_,lineStart:w((function(){this._point=0}),"lineStart"),lineEnd:w((function(){this._point&&this._context.closePath()}),"lineEnd"),point:w((function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}),"point")},w(P_,"default")}));function F_(t){return t<0?-1:1}function $_(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),o=(r-t._y1)/(i||n<0&&-0),s=(a*i+o*n)/(n+i);return(F_(a)+F_(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function z_(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function U_(t,e,r){var n=t._x0,i=t._y0,a=t._x1,o=t._y1,s=(a-n)/3;t._context.bezierCurveTo(n+s,i+s*e,a-s,o-s*r,a,o)}function G_(t){this._context=t}function q_(t){this._context=new Y_(t)}function Y_(t){this._context=t}function j_(t){return new G_(t)}function H_(t){return new q_(t)}var W_=k((()=>{w(F_,"sign"),w($_,"slope3"),w(z_,"slope2"),w(U_,"point"),w(G_,"MonotoneX"),G_.prototype={areaStart:w((function(){this._line=0}),"areaStart"),areaEnd:w((function(){this._line=NaN}),"areaEnd"),lineStart:w((function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0}),"lineStart"),lineEnd:w((function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:U_(this,this._t0,z_(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}),"lineEnd"),point:w((function(t,e){var r=NaN;if(e=+e,(t=+t)!==this._x1||e!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,U_(this,z_(this,r=$_(this,t,e)),r);break;default:U_(this,this._t0,r=$_(this,t,e))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}),"point")},w(q_,"MonotoneY"),(q_.prototype=Object.create(G_.prototype)).point=function(t,e){G_.prototype.point.call(this,e,t)},w(Y_,"ReflectContext"),Y_.prototype={moveTo:w((function(t,e){this._context.moveTo(e,t)}),"moveTo"),closePath:w((function(){this._context.closePath()}),"closePath"),lineTo:w((function(t,e){this._context.lineTo(e,t)}),"lineTo"),bezierCurveTo:w((function(t,e,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)}),"bezierCurveTo")},w(j_,"monotoneX"),w(H_,"monotoneY")}));function V_(t){this._context=t}function X_(t){var e,r,n=t.length-1,i=new Array(n),a=new Array(n),o=new Array(n);for(i[0]=0,a[0]=2,o[0]=t[0]+2*t[1],e=1;e=0;--e)i[e]=(o[e]-i[e+1])/a[e];for(a[n-1]=(t[n]+i[n-1])/2,e=0;e{w(V_,"Natural"),V_.prototype={areaStart:w((function(){this._line=0}),"areaStart"),areaEnd:w((function(){this._line=NaN}),"areaEnd"),lineStart:w((function(){this._x=[],this._y=[]}),"lineStart"),lineEnd:w((function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),2===r)this._context.lineTo(t[1],e[1]);else for(var n=X_(t),i=X_(e),a=0,o=1;o{w(Q_,"Step"),Q_.prototype={areaStart:w((function(){this._line=0}),"areaStart"),areaEnd:w((function(){this._line=NaN}),"areaEnd"),lineStart:w((function(){this._x=this._y=NaN,this._point=0}),"lineStart"),lineEnd:w((function(){0=0&&(this._t=1-this._t,this._line=1-this._line)}),"lineEnd"),point:w((function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}}this._x=t,this._y=e}),"point")},w(J_,"default"),w(tC,"stepBefore"),w(eC,"stepAfter")})),nC=k((()=>{RE(),qE(),XE(),l_(),u_(),a_(),JE(),f_(),w_(),E_(),v_(),I_(),D_(),A_(),B_(),FE(),W_(),Z_(),rC()})),iC=k((()=>{})),aC=k((()=>{}));function oC(t,e,r){this.k=t,this.x=e,this.y=r}function sC(t){for(;!t.__zoom;)if(!(t=t.parentNode))return lC;return t.__zoom}var lC,cC,hC,uC,dC,pC,fC,gC,mC,yC,vC,xC,bC,wC,kC,TC,EC,_C,CC,SC,AC,LC,NC,IC,MC,RC,DC,OC,PC,BC,FC,$C,zC,UC=k((()=>{w(oC,"Transform"),oC.prototype={constructor:oC,scale:w((function(t){return 1===t?this:new oC(this.k*t,this.x,this.y)}),"scale"),translate:w((function(t,e){return 0===t&0===e?this:new oC(this.k,this.x+this.k*t,this.y+this.k*e)}),"translate"),apply:w((function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]}),"apply"),applyX:w((function(t){return t*this.k+this.x}),"applyX"),applyY:w((function(t){return t*this.k+this.y}),"applyY"),invert:w((function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]}),"invert"),invertX:w((function(t){return(t-this.x)/this.k}),"invertX"),invertY:w((function(t){return(t-this.y)/this.k}),"invertY"),rescaleX:w((function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))}),"rescaleX"),rescaleY:w((function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))}),"rescaleY"),toString:w((function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}),"toString")},lC=new oC(1,0,0),sC.prototype=oC.prototype,w(sC,"transform")})),GC=k((()=>{})),qC=k((()=>{Px(),iC(),aC(),UC(),GC()})),YC=k((()=>{qC(),UC()})),jC=k((()=>{Ru(),Ku(),Wx(),ib(),um(),ab(),ob(),sd(),eg(),sb(),Nx(),lb(),hb(),Kb(),Zb(),Qb(),hy(),nb(),Jb(),cb(),tw(),eE(),oE(),tg(),nC(),kk(),XT(),Dy(),Px(),YC()})),HC=T((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BLANK_URL=t.relativeFirstCharacters=t.whitespaceEscapeCharsRegex=t.urlSchemeRegex=t.ctrlCharactersRegex=t.htmlCtrlEntityRegex=t.htmlEntitiesRegex=t.invalidProtocolRegex=void 0,t.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im,t.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g,t.htmlCtrlEntityRegex=/&(newline|tab);/gi,t.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,t.urlSchemeRegex=/^.+(:|:)/gim,t.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g,t.relativeFirstCharacters=[".","/"],t.BLANK_URL="about:blank"})),WC=T((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.sanitizeUrl=void 0;var e=HC();function r(t){return e.relativeFirstCharacters.indexOf(t[0])>-1}function n(t){return t.replace(e.ctrlCharactersRegex,"").replace(e.htmlEntitiesRegex,(function(t,e){return String.fromCharCode(e)}))}function i(t){return URL.canParse(t)}function a(t){try{return decodeURIComponent(t)}catch{return t}}function o(t){if(!t)return e.BLANK_URL;var o,s=a(t.trim());do{o=(s=a(s=n(s).replace(e.htmlCtrlEntityRegex,"").replace(e.ctrlCharactersRegex,"").replace(e.whitespaceEscapeCharsRegex,"").trim())).match(e.ctrlCharactersRegex)||s.match(e.htmlEntitiesRegex)||s.match(e.htmlCtrlEntityRegex)||s.match(e.whitespaceEscapeCharsRegex)}while(o&&o.length>0);var l=s;if(!l)return e.BLANK_URL;if(r(l))return l;var c=l.trimStart(),h=c.match(e.urlSchemeRegex);if(!h)return l;var u=h[0].toLowerCase().trim();if(e.invalidProtocolRegex.test(u))return e.BLANK_URL;var d=c.replace(/\\/g,"/");if("mailto:"===u||u.includes("://"))return d;if("http:"===u||"https:"===u){if(!i(d))return e.BLANK_URL;var p=new URL(d);return p.protocol=p.protocol.toLowerCase(),p.hostname=p.hostname.toLowerCase(),p.toString()}return d}w(r,"isRelativeUrlWithoutProtocol"),w(n,"decodeHtmlCharacters"),w(i,"isValidUrl"),w(a,"decodeURI"),w(o,"sanitizeUrl"),t.sanitizeUrl=o})),VC=k((()=>{cC=S(WC(),1),Oc(),hC=w(((t,e)=>{let r=t.append("rect");if(r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),void 0!==e.attrs)for(let t in e.attrs)r.attr(t,e.attrs[t]);return e.class&&r.attr("class",e.class),r}),"drawRect"),uC=w(((t,e)=>{let r={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};hC(t,r).lower()}),"drawBackgroundRect"),dC=w(((t,e)=>{let r=e.text.replace(rc," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class&&n.attr("class",e.class);let i=n.append("tspan");return i.attr("x",e.x+2*e.textMargin),i.text(r),n}),"drawText"),pC=w(((t,e,r,n)=>{let i=t.append("image");i.attr("x",e),i.attr("y",r);let a=(0,cC.sanitizeUrl)(n);i.attr("xlink:href",a)}),"drawImage"),fC=w(((t,e,r,n)=>{let i=t.append("use");i.attr("x",e),i.attr("y",r);let a=(0,cC.sanitizeUrl)(n);i.attr("xlink:href",`#${a}`)}),"drawEmbeddedImage"),gC=w((()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0})),"getNoteRect"),mC=w((()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0})),"getTextObj")})),XC=k((()=>{Oc(),VC(),yC=S(WC(),1),vC=w((function(t,e){return hC(t,e)}),"drawRect"),xC=w((function(t,e,r,n,i,a){let o=t.append("image");o.attr("width",e),o.attr("height",r),o.attr("x",n),o.attr("y",i);let s=a.startsWith("data:image/png;base64")?a:(0,yC.sanitizeUrl)(a);o.attr("xlink:href",s)}),"drawImage"),bC=w(((t,e,r)=>{let n=t.append("g"),i=0;for(let t of e){let e=t.textColor?t.textColor:"#444444",a=t.lineColor?t.lineColor:"#444444",o=t.offsetX?parseInt(t.offsetX):0,s=t.offsetY?parseInt(t.offsetY):0,l="";if(0===i){let e=n.append("line");e.attr("x1",t.startPoint.x),e.attr("y1",t.startPoint.y),e.attr("x2",t.endPoint.x),e.attr("y2",t.endPoint.y),e.attr("stroke-width","1"),e.attr("stroke",a),e.style("fill","none"),"rel_b"!==t.type&&e.attr("marker-end","url("+l+"#arrowhead)"),("birel"===t.type||"rel_b"===t.type)&&e.attr("marker-start","url("+l+"#arrowend)"),i=-1}else{let e=n.append("path");e.attr("fill","none").attr("stroke-width","1").attr("stroke",a).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",t.startPoint.x).replaceAll("starty",t.startPoint.y).replaceAll("controlx",t.startPoint.x+(t.endPoint.x-t.startPoint.x)/2-(t.endPoint.x-t.startPoint.x)/4).replaceAll("controly",t.startPoint.y+(t.endPoint.y-t.startPoint.y)/2).replaceAll("stopx",t.endPoint.x).replaceAll("stopy",t.endPoint.y)),"rel_b"!==t.type&&e.attr("marker-end","url("+l+"#arrowhead)"),("birel"===t.type||"rel_b"===t.type)&&e.attr("marker-start","url("+l+"#arrowend)")}let c=r.messageFont();MC(r)(t.label.text,n,Math.min(t.startPoint.x,t.endPoint.x)+Math.abs(t.endPoint.x-t.startPoint.x)/2+o,Math.min(t.startPoint.y,t.endPoint.y)+Math.abs(t.endPoint.y-t.startPoint.y)/2+s,t.label.width,t.label.height,{fill:e},c),t.techn&&""!==t.techn.text&&(c=r.messageFont(),MC(r)("["+t.techn.text+"]",n,Math.min(t.startPoint.x,t.endPoint.x)+Math.abs(t.endPoint.x-t.startPoint.x)/2+o,Math.min(t.startPoint.y,t.endPoint.y)+Math.abs(t.endPoint.y-t.startPoint.y)/2+r.messageFontSize+5+s,Math.max(t.label.width,t.techn.width),t.techn.height,{fill:e,"font-style":"italic"},c))}}),"drawRels"),wC=w((function(t,e,r){let n=t.append("g"),i=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",o=e.fontColor?e.fontColor:"black",s={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(s={"stroke-width":1});let l={x:e.x,y:e.y,fill:i,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:s};vC(n,l);let c=r.boundaryFont();c.fontWeight="bold",c.fontSize=c.fontSize+2,c.fontColor=o,MC(r)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},c),e.type&&""!==e.type.text&&(c=r.boundaryFont(),c.fontColor=o,MC(r)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},c)),e.descr&&""!==e.descr.text&&(c=r.boundaryFont(),c.fontSize=c.fontSize-2,c.fontColor=o,MC(r)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},c))}),"drawBoundary"),kC=w((function(t,e,r){let n=e.bgColor?e.bgColor:r[e.typeC4Shape.text+"_bg_color"],i=e.borderColor?e.borderColor:r[e.typeC4Shape.text+"_border_color"],a=e.fontColor?e.fontColor:"#FFFFFF",o="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":o="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":o="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII="}let s=t.append("g");s.attr("class","person-man");let l=gC();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":l.x=e.x,l.y=e.y,l.fill=n,l.width=e.width,l.height=e.height,l.stroke=i,l.rx=2.5,l.ry=2.5,l.attrs={"stroke-width":.5},vC(s,l);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":s.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),s.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":s.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),s.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2))}let c=IC(r,e.typeC4Shape.text);switch(s.append("text").attr("fill",a).attr("font-family",c.fontFamily).attr("font-size",c.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":xC(s,48,48,e.x+e.width/2-24,e.y+e.image.Y,o)}let h=r[e.typeC4Shape.text+"Font"]();return h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=a,MC(r)(e.label.text,s,e.x,e.y+e.label.Y,e.width,e.height,{fill:a},h),h=r[e.typeC4Shape.text+"Font"](),h.fontColor=a,e.techn&&""!==e.techn?.text?MC(r)(e.techn.text,s,e.x,e.y+e.techn.Y,e.width,e.height,{fill:a,"font-style":"italic"},h):e.type&&""!==e.type.text&&MC(r)(e.type.text,s,e.x,e.y+e.type.Y,e.width,e.height,{fill:a,"font-style":"italic"},h),e.descr&&""!==e.descr.text&&(h=r.personFont(),h.fontColor=a,MC(r)(e.descr.text,s,e.x,e.y+e.descr.Y,e.width,e.height,{fill:a},h)),e.height}),"drawC4Shape"),TC=w((function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")}),"insertDatabaseIcon"),EC=w((function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")}),"insertComputerIcon"),_C=w((function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")}),"insertClockIcon"),CC=w((function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")}),"insertArrowHead"),SC=w((function(t){t.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")}),"insertArrowEnd"),AC=w((function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")}),"insertArrowFilledHead"),LC=w((function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)}),"insertDynamicNumber"),NC=w((function(t){let e=t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);e.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),e.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")}),"insertArrowCrossHead"),IC=w(((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]})),"getC4ShapeFont"),MC=function(){function t(t,e,r,i,a,o,s){n(e.append("text").attr("x",r+a/2).attr("y",i+o/2+5).style("text-anchor","middle").text(t),s)}function e(t,e,r,i,a,o,s,l){let{fontSize:c,fontFamily:h,fontWeight:u}=l,d=t.split(Cc.lineBreakRegex);for(let t=0;t{DC="object"==typeof global&&global&&global.Object===Object&&global,OC=DC})),ZC=k((()=>{KC(),PC="object"==typeof self&&self&&self.Object===Object&&self,BC=OC||PC||Function("return this")(),FC=BC})),QC=k((()=>{ZC(),$C=FC.Symbol,zC=$C}));function JC(t){var e=eS.call(t,nS),r=t[nS];try{t[nS]=void 0;var n=!0}catch{}var i=rS.call(t);return n&&(e?t[nS]=r:delete t[nS]),i}var tS,eS,rS,nS,iS,aS=k((()=>{QC(),tS=Object.prototype,eS=tS.hasOwnProperty,rS=tS.toString,nS=zC?zC.toStringTag:void 0,w(JC,"getRawTag"),iS=JC}));function oS(t){return lS.call(t)}var sS,lS,cS,hS=k((()=>{sS=Object.prototype,lS=sS.toString,w(oS,"objectToString"),cS=oS}));function uS(t){return null==t?void 0===t?pS:dS:fS&&fS in Object(t)?iS(t):cS(t)}var dS,pS,fS,gS,mS=k((()=>{QC(),aS(),hS(),dS="[object Null]",pS="[object Undefined]",fS=zC?zC.toStringTag:void 0,w(uS,"baseGetTag"),gS=uS}));function yS(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}var vS,xS=k((()=>{w(yS,"isObject"),vS=yS}));function bS(t){if(!vS(t))return!1;var e=gS(t);return e==kS||e==TS||e==wS||e==ES}var wS,kS,TS,ES,_S,CS,SS,AS=k((()=>{mS(),xS(),wS="[object AsyncFunction]",kS="[object Function]",TS="[object GeneratorFunction]",ES="[object Proxy]",w(bS,"isFunction"),_S=bS})),LS=k((()=>{ZC(),CS=FC["__core-js_shared__"],SS=CS}));function NS(t){return!!IS&&IS in t}var IS,MS,RS=k((()=>{var t;LS(),t=/[^.]+$/.exec(SS&&SS.keys&&SS.keys.IE_PROTO||""),IS=t?"Symbol(src)_1."+t:"",w(NS,"isMasked"),MS=NS}));function DS(t){if(null!=t){try{return PS.call(t)}catch{}try{return t+""}catch{}}return""}var OS,PS,BS,FS=k((()=>{OS=Function.prototype,PS=OS.toString,w(DS,"toSource"),BS=DS}));function $S(t){return!(!vS(t)||MS(t))&&(_S(t)?HS:US).test(BS(t))}var zS,US,GS,qS,YS,jS,HS,WS,VS=k((()=>{AS(),RS(),xS(),FS(),zS=/[\\^$.*+?()[\]{}|]/g,US=/^\[object .+?Constructor\]$/,GS=Function.prototype,qS=Object.prototype,YS=GS.toString,jS=qS.hasOwnProperty,HS=RegExp("^"+YS.call(jS).replace(zS,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),w($S,"baseIsNative"),WS=$S}));function XS(t,e){return t?.[e]}var KS,ZS=k((()=>{w(XS,"getValue"),KS=XS}));function QS(t,e){var r=KS(t,e);return WS(r)?r:void 0}var JS,tA,eA,rA=k((()=>{VS(),ZS(),w(QS,"getNative"),JS=QS})),nA=k((()=>{rA(),tA=JS(Object,"create"),eA=tA}));function iA(){this.__data__=eA?eA(null):{},this.size=0}var aA,oA=k((()=>{nA(),w(iA,"hashClear"),aA=iA}));function sA(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var lA,cA=k((()=>{w(sA,"hashDelete"),lA=sA}));function hA(t){var e=this.__data__;if(eA){var r=e[t];return r===uA?void 0:r}return pA.call(e,t)?e[t]:void 0}var uA,dA,pA,fA,gA=k((()=>{nA(),uA="__lodash_hash_undefined__",dA=Object.prototype,pA=dA.hasOwnProperty,w(hA,"hashGet"),fA=hA}));function mA(t){var e=this.__data__;return eA?void 0!==e[t]:vA.call(e,t)}var yA,vA,xA,bA=k((()=>{nA(),yA=Object.prototype,vA=yA.hasOwnProperty,w(mA,"hashHas"),xA=mA}));function wA(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=eA&&void 0===e?kA:e,this}var kA,TA,EA=k((()=>{nA(),kA="__lodash_hash_undefined__",w(wA,"hashSet"),TA=wA}));function _A(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e{oA(),cA(),gA(),bA(),EA(),w(_A,"Hash"),_A.prototype.clear=aA,_A.prototype.delete=lA,_A.prototype.get=fA,_A.prototype.has=xA,_A.prototype.set=TA,CA=_A}));function AA(){this.__data__=[],this.size=0}var LA,NA=k((()=>{w(AA,"listCacheClear"),LA=AA}));function IA(t,e){return t===e||t!=t&&e!=e}var MA,RA=k((()=>{w(IA,"eq"),MA=IA}));function DA(t,e){for(var r=t.length;r--;)if(MA(t[r][0],e))return r;return-1}var OA,PA=k((()=>{RA(),w(DA,"assocIndexOf"),OA=DA}));function BA(t){var e=this.__data__,r=OA(e,t);return!(r<0||(r==e.length-1?e.pop():$A.call(e,r,1),--this.size,0))}var FA,$A,zA,UA=k((()=>{PA(),FA=Array.prototype,$A=FA.splice,w(BA,"listCacheDelete"),zA=BA}));function GA(t){var e=this.__data__,r=OA(e,t);return r<0?void 0:e[r][1]}var qA,YA=k((()=>{PA(),w(GA,"listCacheGet"),qA=GA}));function jA(t){return OA(this.__data__,t)>-1}var HA,WA=k((()=>{PA(),w(jA,"listCacheHas"),HA=jA}));function VA(t,e){var r=this.__data__,n=OA(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var XA,KA=k((()=>{PA(),w(VA,"listCacheSet"),XA=VA}));function ZA(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e{NA(),UA(),YA(),WA(),KA(),w(ZA,"ListCache"),ZA.prototype.clear=LA,ZA.prototype.delete=zA,ZA.prototype.get=qA,ZA.prototype.has=HA,ZA.prototype.set=XA,QA=ZA})),rL=k((()=>{rA(),ZC(),JA=JS(FC,"Map"),tL=JA}));function nL(){this.size=0,this.__data__={hash:new CA,map:new(tL||QA),string:new CA}}var iL,aL=k((()=>{SA(),eL(),rL(),w(nL,"mapCacheClear"),iL=nL}));function oL(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}var sL,lL=k((()=>{w(oL,"isKeyable"),sL=oL}));function cL(t,e){var r=t.__data__;return sL(e)?r["string"==typeof e?"string":"hash"]:r.map}var hL,uL=k((()=>{lL(),w(cL,"getMapData"),hL=cL}));function dL(t){var e=hL(this,t).delete(t);return this.size-=e?1:0,e}var pL,fL=k((()=>{uL(),w(dL,"mapCacheDelete"),pL=dL}));function gL(t){return hL(this,t).get(t)}var mL,yL=k((()=>{uL(),w(gL,"mapCacheGet"),mL=gL}));function vL(t){return hL(this,t).has(t)}var xL,bL=k((()=>{uL(),w(vL,"mapCacheHas"),xL=vL}));function wL(t,e){var r=hL(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}var kL,TL=k((()=>{uL(),w(wL,"mapCacheSet"),kL=wL}));function EL(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e{aL(),fL(),yL(),bL(),TL(),w(EL,"MapCache"),EL.prototype.clear=iL,EL.prototype.delete=pL,EL.prototype.get=mL,EL.prototype.has=xL,EL.prototype.set=kL,_L=EL}));function SL(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError(AL);var r=w((function(){var n=arguments,i=e?e.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var o=t.apply(this,n);return r.cache=a.set(i,o)||a,o}),"memoized");return r.cache=new(SL.Cache||_L),r}var AL,LL,NL=k((()=>{CL(),AL="Expected a function",w(SL,"memoize"),SL.Cache=_L,LL=SL}));function IL(){this.__data__=new QA,this.size=0}var ML,RL=k((()=>{eL(),w(IL,"stackClear"),ML=IL}));function DL(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var OL,PL=k((()=>{w(DL,"stackDelete"),OL=DL}));function BL(t){return this.__data__.get(t)}var FL,$L=k((()=>{w(BL,"stackGet"),FL=BL}));function zL(t){return this.__data__.has(t)}var UL,GL=k((()=>{w(zL,"stackHas"),UL=zL}));function qL(t,e){var r=this.__data__;if(r instanceof QA){var n=r.__data__;if(!tL||n.length{eL(),rL(),CL(),YL=200,w(qL,"stackSet"),jL=qL}));function WL(t){var e=this.__data__=new QA(t);this.size=e.size}var VL,XL,KL,ZL=k((()=>{eL(),RL(),PL(),$L(),GL(),HL(),w(WL,"Stack"),WL.prototype.clear=ML,WL.prototype.delete=OL,WL.prototype.get=FL,WL.prototype.has=UL,WL.prototype.set=jL,VL=WL})),QL=k((()=>{rA(),XL=function(){try{var t=JS(Object,"defineProperty");return t({},"",{}),t}catch{}}(),KL=XL}));function JL(t,e,r){"__proto__"==e&&KL?KL(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var tN,eN=k((()=>{QL(),w(JL,"baseAssignValue"),tN=JL}));function rN(t,e,r){(void 0!==r&&!MA(t[e],r)||void 0===r&&!(e in t))&&tN(t,e,r)}var nN,iN=k((()=>{eN(),RA(),w(rN,"assignMergeValue"),nN=rN}));function aN(t){return function(e,r,n){for(var i=-1,a=Object(e),o=n(e),s=o.length;s--;){var l=o[t?s:++i];if(!1===r(a[l],l,a))break}return e}}var oN,sN,lN,cN=k((()=>{w(aN,"createBaseFor"),oN=aN})),hN=k((()=>{cN(),sN=oN(),lN=sN}));function uN(t,e){if(e)return t.slice();var r=t.length,n=mN?mN(r):new t.constructor(r);return t.copy(n),n}var dN,pN,fN,gN,mN,yN,vN,xN,bN=k((()=>{ZC(),dN="object"==typeof exports&&exports&&!exports.nodeType&&exports,pN=dN&&"object"==typeof module&&module&&!module.nodeType&&module,fN=pN&&pN.exports===dN,gN=fN?FC.Buffer:void 0,mN=gN?gN.allocUnsafe:void 0,w(uN,"cloneBuffer"),yN=uN})),wN=k((()=>{ZC(),vN=FC.Uint8Array,xN=vN}));function kN(t){var e=new t.constructor(t.byteLength);return new xN(e).set(new xN(t)),e}var TN,EN=k((()=>{wN(),w(kN,"cloneArrayBuffer"),TN=kN}));function _N(t,e){var r=e?TN(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var CN,SN=k((()=>{EN(),w(_N,"cloneTypedArray"),CN=_N}));function AN(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r{w(AN,"copyArray"),LN=AN})),DN=k((()=>{xS(),NN=Object.create,IN=function(){function t(){}return w(t,"object"),function(e){if(!vS(e))return{};if(NN)return NN(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}(),MN=IN}));function ON(t,e){return function(r){return t(e(r))}}var PN,BN,FN,$N=k((()=>{w(ON,"overArg"),PN=ON})),zN=k((()=>{$N(),BN=PN(Object.getPrototypeOf,Object),FN=BN}));function UN(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||GN)}var GN,qN,YN=k((()=>{GN=Object.prototype,w(UN,"isPrototype"),qN=UN}));function jN(t){return"function"!=typeof t.constructor||qN(t)?{}:MN(FN(t))}var HN,WN=k((()=>{DN(),zN(),YN(),w(jN,"initCloneObject"),HN=jN}));function VN(t){return null!=t&&"object"==typeof t}var XN,KN=k((()=>{w(VN,"isObjectLike"),XN=VN}));function ZN(t){return XN(t)&&gS(t)==QN}var QN,JN,tI,eI,rI,nI,iI,aI,oI,sI=k((()=>{mS(),KN(),QN="[object Arguments]",w(ZN,"baseIsArguments"),JN=ZN})),lI=k((()=>{sI(),KN(),tI=Object.prototype,eI=tI.hasOwnProperty,rI=tI.propertyIsEnumerable,nI=JN(function(){return arguments}())?JN:function(t){return XN(t)&&eI.call(t,"callee")&&!rI.call(t,"callee")},iI=nI})),cI=k((()=>{aI=Array.isArray,oI=aI}));function hI(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=uI}var uI,dI,pI=k((()=>{uI=9007199254740991,w(hI,"isLength"),dI=hI}));function fI(t){return null!=t&&dI(t.length)&&!_S(t)}var gI,mI=k((()=>{AS(),pI(),w(fI,"isArrayLike"),gI=fI}));function yI(t){return XN(t)&&gI(t)}var vI,xI=k((()=>{mI(),KN(),w(yI,"isArrayLikeObject"),vI=yI}));function bI(){return!1}var wI,kI,TI,EI,_I,CI,SI,AI=k((()=>{w(bI,"stubFalse"),wI=bI})),LI=k((()=>{ZC(),AI(),kI="object"==typeof exports&&exports&&!exports.nodeType&&exports,TI=kI&&"object"==typeof module&&module&&!module.nodeType&&module,EI=TI&&TI.exports===kI,_I=EI?FC.Buffer:void 0,CI=_I?_I.isBuffer:void 0,SI=CI||wI}));function NI(t){if(!XN(t)||gS(t)!=II)return!1;var e=FN(t);if(null===e)return!0;var r=OI.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&DI.call(r)==PI}var II,MI,RI,DI,OI,PI,BI,FI=k((()=>{mS(),zN(),KN(),II="[object Object]",MI=Function.prototype,RI=Object.prototype,DI=MI.toString,OI=RI.hasOwnProperty,PI=DI.call(Object),w(NI,"isPlainObject"),BI=NI}));function $I(t){return XN(t)&&dI(t.length)&&!!zI[gS(t)]}var zI,UI,GI=k((()=>{mS(),pI(),KN(),(zI={})["[object Float32Array]"]=zI["[object Float64Array]"]=zI["[object Int8Array]"]=zI["[object Int16Array]"]=zI["[object Int32Array]"]=zI["[object Uint8Array]"]=zI["[object Uint8ClampedArray]"]=zI["[object Uint16Array]"]=zI["[object Uint32Array]"]=!0,zI["[object Arguments]"]=zI["[object Array]"]=zI["[object ArrayBuffer]"]=zI["[object Boolean]"]=zI["[object DataView]"]=zI["[object Date]"]=zI["[object Error]"]=zI["[object Function]"]=zI["[object Map]"]=zI["[object Number]"]=zI["[object Object]"]=zI["[object RegExp]"]=zI["[object Set]"]=zI["[object String]"]=zI["[object WeakMap]"]=!1,w($I,"baseIsTypedArray"),UI=$I}));function qI(t){return function(e){return t(e)}}var YI,jI,HI,WI,VI,XI,KI,ZI,QI,JI,tM=k((()=>{w(qI,"baseUnary"),YI=qI})),eM=k((()=>{KC(),jI="object"==typeof exports&&exports&&!exports.nodeType&&exports,HI=jI&&"object"==typeof module&&module&&!module.nodeType&&module,WI=HI&&HI.exports===jI,VI=WI&&OC.process,XI=function(){try{return HI&&HI.require&&HI.require("util").types||VI&&VI.binding&&VI.binding("util")}catch{}}(),KI=XI})),rM=k((()=>{GI(),tM(),eM(),ZI=KI&&KI.isTypedArray,QI=ZI?YI(ZI):UI,JI=QI}));function nM(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}var iM,aM=k((()=>{w(nM,"safeGet"),iM=nM}));function oM(t,e,r){var n=t[e];(!lM.call(t,e)||!MA(n,r)||void 0===r&&!(e in t))&&tN(t,e,r)}var sM,lM,cM,hM=k((()=>{eN(),RA(),sM=Object.prototype,lM=sM.hasOwnProperty,w(oM,"assignValue"),cM=oM}));function uM(t,e,r,n){var i=!r;r||(r={});for(var a=-1,o=e.length;++a{hM(),eN(),w(uM,"copyObject"),dM=uM}));function fM(t,e){for(var r=-1,n=Array(t);++r{w(fM,"baseTimes"),gM=fM}));function yM(t,e){var r=typeof t;return!!(e=e??vM)&&("number"==r||"symbol"!=r&&xM.test(t))&&t>-1&&t%1==0&&t{vM=9007199254740991,xM=/^(?:0|[1-9]\d*)$/,w(yM,"isIndex"),bM=yM}));function kM(t,e){var r=oI(t),n=!r&&iI(t),i=!r&&!n&&SI(t),a=!r&&!n&&!i&&JI(t),o=r||n||i||a,s=o?gM(t.length,String):[],l=s.length;for(var c in t)(e||EM.call(t,c))&&(!o||!("length"==c||i&&("offset"==c||"parent"==c)||a&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||bM(c,l)))&&s.push(c);return s}var TM,EM,_M,CM=k((()=>{mM(),lI(),cI(),LI(),wM(),rM(),TM=Object.prototype,EM=TM.hasOwnProperty,w(kM,"arrayLikeKeys"),_M=kM}));function SM(t){var e=[];if(null!=t)for(var r in Object(t))e.push(r);return e}var AM,LM=k((()=>{w(SM,"nativeKeysIn"),AM=SM}));function NM(t){if(!vS(t))return AM(t);var e=qN(t),r=[];for(var n in t)"constructor"==n&&(e||!MM.call(t,n))||r.push(n);return r}var IM,MM,RM,DM=k((()=>{xS(),YN(),LM(),IM=Object.prototype,MM=IM.hasOwnProperty,w(NM,"baseKeysIn"),RM=NM}));function OM(t){return gI(t)?_M(t,!0):RM(t)}var PM,BM=k((()=>{CM(),DM(),mI(),w(OM,"keysIn"),PM=OM}));function FM(t){return dM(t,PM(t))}var $M,zM=k((()=>{pM(),BM(),w(FM,"toPlainObject"),$M=FM}));function UM(t,e,r,n,i,a,o){var s=iM(t,r),l=iM(e,r),c=o.get(l);if(c)nN(t,r,c);else{var h=a?a(s,l,r+"",t,e,o):void 0,u=void 0===h;if(u){var d=oI(l),p=!d&&SI(l),f=!d&&!p&&JI(l);h=l,d||p||f?oI(s)?h=s:vI(s)?h=LN(s):p?(u=!1,h=yN(l,!0)):f?(u=!1,h=CN(l,!0)):h=[]:BI(l)||iI(l)?(h=s,iI(s)?h=$M(s):(!vS(s)||_S(s))&&(h=HN(l))):u=!1}u&&(o.set(l,h),i(h,l,n,a,o),o.delete(l)),nN(t,r,h)}}var GM,qM=k((()=>{iN(),bN(),SN(),RN(),WN(),lI(),cI(),xI(),LI(),AS(),xS(),FI(),rM(),aM(),zM(),w(UM,"baseMergeDeep"),GM=UM}));function YM(t,e,r,n,i){t!==e&&lN(e,(function(a,o){if(i||(i=new VL),vS(a))GM(t,e,o,r,YM,n,i);else{var s=n?n(iM(t,o),a,o+"",t,e,i):void 0;void 0===s&&(s=a),nN(t,o,s)}}),PM)}var jM,HM=k((()=>{ZL(),iN(),hN(),qM(),xS(),BM(),aM(),w(YM,"baseMerge"),jM=YM}));function WM(t){return t}var VM,XM=k((()=>{w(WM,"identity"),VM=WM}));function KM(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}var ZM,QM=k((()=>{w(KM,"apply"),ZM=KM}));function JM(t,e,r){return e=tR(void 0===e?t.length-1:e,0),function(){for(var n=arguments,i=-1,a=tR(n.length-e,0),o=Array(a);++i{QM(),tR=Math.max,w(JM,"overRest"),eR=JM}));function nR(t){return function(){return t}}var iR,aR,oR=k((()=>{w(nR,"constant"),iR=nR})),sR=k((()=>{oR(),QL(),XM(),aR=KL?function(t,e){return KL(t,"toString",{configurable:!0,enumerable:!1,value:iR(e),writable:!0})}:VM}));function lR(t){var e=0,r=0;return function(){var n=uR(),i=hR-(n-r);if(r=n,i>0){if(++e>=cR)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var cR,hR,uR,dR,pR,fR,gR=k((()=>{cR=800,hR=16,uR=Date.now,w(lR,"shortOut"),dR=lR})),mR=k((()=>{sR(),gR(),pR=dR(aR),fR=pR}));function yR(t,e){return fR(eR(t,e,VM),t+"")}var vR,xR=k((()=>{XM(),rR(),mR(),w(yR,"baseRest"),vR=yR}));function bR(t,e,r){if(!vS(r))return!1;var n=typeof e;return!!("number"==n?gI(r)&&bM(e,r.length):"string"==n&&e in r)&&MA(r[e],t)}var wR,kR=k((()=>{RA(),mI(),wM(),xS(),w(bR,"isIterateeCall"),wR=bR}));function TR(t){return vR((function(e,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,o=i>2?r[2]:void 0;for(a=t.length>3&&"function"==typeof a?(i--,a):void 0,o&&wR(r[0],r[1],o)&&(a=i<3?void 0:a,i=1),e=Object(e);++n{xR(),kR(),w(TR,"createAssigner"),ER=TR})),AR=k((()=>{HM(),SR(),_R=ER((function(t,e,r){jM(t,e,r)})),CR=_R}));function LR(t,e){if(!t)return e;let r=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return qR[r]??e}function NR(t,e){let r=t.trim();if(r)return"loose"!==e.securityLevel?(0,UR.sanitizeUrl)(r):r}function IR(t,e){return t&&e?Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)):0}function MR(t){let e,r=0;return t.forEach((t=>{r+=IR(t,e),e=t})),ZR(t,r/2)}function RR(t){return 1===t.length?t[0]:MR(t)}function DR(t,e,n){let i=structuredClone(n);r.info("our points",i),"start_left"!==e&&"start_right"!==e&&i.reverse();let a=ZR(i,25+t),o=10+.5*t,s=Math.atan2(i[0].y-a.y,i[0].x-a.x),l={x:0,y:0};return"start_left"===e?(l.x=Math.sin(s+Math.PI)*o+(i[0].x+a.x)/2,l.y=-Math.cos(s+Math.PI)*o+(i[0].y+a.y)/2):"end_right"===e?(l.x=Math.sin(s-Math.PI)*o+(i[0].x+a.x)/2-5,l.y=-Math.cos(s-Math.PI)*o+(i[0].y+a.y)/2-5):"end_left"===e?(l.x=Math.sin(s)*o+(i[0].x+a.x)/2-5,l.y=-Math.cos(s)*o+(i[0].y+a.y)/2-5):(l.x=Math.sin(s)*o+(i[0].x+a.x)/2,l.y=-Math.cos(s)*o+(i[0].y+a.y)/2),l}function OR(t){let e="",r="";for(let n of t)void 0!==n&&(n.startsWith("color:")||n.startsWith("text-align:")?r=r+n+";":e=e+n+";");return{style:e,labelStyle:r}}function PR(t){let e="";for(let r=0;r{UR=S(WC(),1),jC(),Oc(),en(),L(),gr(),yr(),NL(),AR(),pr(),GR="​",qR={curveBasis:i_,curveBasisClosed:s_,curveBasisOpen:h_,curveBumpX:KE,curveBumpY:ZE,curveBundle:p_,curveCardinalClosed:b_,curveCardinalOpen:T_,curveCardinal:y_,curveCatmullRomClosed:N_,curveCatmullRomOpen:R_,curveCatmullRom:S_,curveLinear:BE,curveLinearClosed:P_,curveMonotoneX:j_,curveMonotoneY:H_,curveNatural:K_,curveStep:J_,curveStepAfter:eC,curveStepBefore:tC},YR=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,jR=w((function(t,e){let r=HR(t,/(?:init\b)|(?:initialize\b)/),n={};if(Array.isArray(r)){let t=r.map((t=>t.args));je(t),n=Nt(n,[...t])}else n=r.args;if(!n)return;let i=Tt(t,e),a="config";return void 0!==n[a]&&("flowchart-v2"===i&&(i="flowchart"),n[i]=n[a],delete n[a]),n}),"detectInit"),HR=w((function(t,e=null){try{let n=new RegExp(`[%]{2}(?![{]${YR.source})(?=[}][%]{2}).*\n`,"ig");t=t.trim().replace(n,"").replace(/'/gm,'"'),r.debug(`Detecting diagram directive${null!==e?" type:"+e:""} based on the text:${t}`);let i,a=[];for(;null!==(i=xt.exec(t));)if(i.index===xt.lastIndex&&xt.lastIndex++,i&&!e||e&&i[1]?.match(e)||e&&i[2]?.match(e)){let t=i[1]?i[1]:i[2],e=i[3]?i[3].trim():i[4]?JSON.parse(i[4].trim()):null;a.push({type:t,args:e})}return 0===a.length?{type:t,args:null}:1===a.length?a[0]:a}catch(n){return r.error(`ERROR: ${n.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}}),"detectDirective"),WR=w((function(t){return t.replace(xt,"")}),"removeDirectives"),VR=w((function(t,e){for(let[r,n]of e.entries())if(n.match(t))return r;return-1}),"isSubstringInArray"),w(LR,"interpolateToCurve"),w(NR,"formatUrl"),XR=w(((t,...e)=>{let n=t.split("."),i=n.length-1,a=n[i],o=window;for(let e=0;e{let r=Math.pow(10,e);return Math.round(t*r)/r}),"roundNumber"),ZR=w(((t,e)=>{let r,n=e;for(let e of t){if(r){let t=IR(e,r);if(t=1)return{x:e.x,y:e.y};if(i>0&&i<1)return{x:KR((1-i)*r.x+i*e.x,5),y:KR((1-i)*r.y+i*e.y,5)}}}r=e}throw new Error("Could not find a suitable point for the given distance")}),"calculatePoint"),QR=w(((t,e,n)=>{r.info(`our points ${JSON.stringify(e)}`),e[0]!==n&&(e=e.reverse());let i=ZR(e,25),a=t?10:5,o=Math.atan2(e[0].y-i.y,e[0].x-i.x),s={x:0,y:0};return s.x=Math.sin(o)*a+(e[0].x+i.x)/2,s.y=-Math.cos(o)*a+(e[0].y+i.y)/2,s}),"calcCardinalityPosition"),w(DR,"calcTerminalLabelPosition"),w(OR,"getStylesFromArray"),JR=0,tD=w((()=>(JR++,"id-"+Math.random().toString(36).substr(2,12)+"-"+JR)),"generateId"),w(PR,"makeRandomHex"),eD=w((t=>PR(t.length)),"random"),rD=w((function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}}),"getTextObj"),nD=w((function(t,e){let r=e.text.replace(Cc.lineBreakRegex," "),[,n]=uD(e.fontSize),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.style("font-family",e.fontFamily),i.style("font-size",n),i.style("font-weight",e.fontWeight),i.attr("fill",e.fill),void 0!==e.class&&i.attr("class",e.class);let a=i.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.attr("fill",e.fill),a.text(r),i}),"drawSimpleText"),iD=LL(((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
"},r),Cc.lineBreakRegex.test(t)))return t;let n=t.split(" ").filter(Boolean),i=[],a="";return n.forEach(((t,o)=>{let s=FR(`${t} `,r),l=FR(a,r);if(s>e){let{hyphenatedStrings:n,remainingWord:o}=aD(t,e,"-",r);i.push(a,...n),a=o}else l+s>=e?(i.push(a),a=t):a=[a,t].filter(Boolean).join(" ");o+1===n.length&&i.push(a)})),i.filter((t=>""!==t)).join(r.joinWith)}),((t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`)),aD=LL(((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);let i=[...t],a=[],o="";return i.forEach(((t,s)=>{let l=`${o}${t}`;if(FR(l,n)>=e){let t=s+1,e=i.length===t,n=`${l}${r}`;a.push(e?l:n),o=""}else o=l})),{hyphenatedStrings:a,remainingWord:o}}),((t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`)),w(BR,"calculateTextHeight"),w(FR,"calculateTextWidth"),oD=LL(((t,e)=>{let{fontSize:r=12,fontFamily:n="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};let[,a]=uD(r),o=["sans-serif",n],s=t.split(Cc.lineBreakRegex),l=[],c=Qf("body");if(!c.remove)return{width:0,height:0,lineHeight:0};let h=c.append("svg");for(let t of o){let e=0,r={width:0,height:0,lineHeight:0};for(let n of s){let o=rD();o.text=n||GR;let s=nD(h,o).style("font-size",a).style("font-weight",i).style("font-family",t),l=(s._groups||s)[0][0].getBBox();if(0===l.width&&0===l.height)throw new Error("svg element not in render tree");r.width=Math.round(Math.max(r.width,l.width)),e=Math.round(l.height),r.height+=e,r.lineHeight=Math.round(Math.max(r.lineHeight,e))}l.push(r)}return h.remove(),l[isNaN(l[1].height)||isNaN(l[1].width)||isNaN(l[1].lineHeight)||l[0].height>l[1].height&&l[0].width>l[1].width&&l[0].lineHeight>l[1].lineHeight?0:1]}),((t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`)),sD=class{constructor(t=!1,e){this.count=0,this.count=e?e.length:0,this.next=t?()=>this.count++:()=>Date.now()}static{w(this,"InitIDGenerator")}},cD=w((function(t){return lD=lD||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),lD.innerHTML=t,unescape(lD.textContent)}),"entityDecode"),w($R,"isDetailedError"),hD=w(((t,e,r,n)=>{if(!n)return;let i=t.node()?.getBBox();i&&t.append("text").text(n).attr("x",i.x+i.width/2).attr("y",-r).attr("class",e)}),"insertTitle"),uD=w((t=>{if("number"==typeof t)return[t,t+"px"];let e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]}),"parseFontSize"),w(zR,"cleanAndMerge"),dD={assignWithDepth:Nt,wrapLabel:iD,calculateTextHeight:BR,calculateTextWidth:FR,calculateTextDimensions:oD,cleanAndMerge:zR,detectInit:jR,detectDirective:HR,isSubstringInArray:VR,interpolateToCurve:LR,calcLabelPosition:RR,calcCardinalityPosition:QR,calcTerminalLabelPosition:DR,formatUrl:NR,getStylesFromArray:OR,generateId:tD,random:eD,runFunc:XR,entityDecode:cD,insertTitle:hD,parseFontSize:uD,InitIDGenerator:sD},pD=w((function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,(function(t){return t.substring(0,t.length-1)})),e=e.replace(/classDef.*:\S*#.*;/g,(function(t){return t.substring(0,t.length-1)})),e=e.replace(/#\w+;/g,(function(t){let e=t.substring(1,t.length-1);return/^\+?\d+$/.test(e)?"fl°°"+e+"¶ß":"fl°"+e+"¶ß"})),e}),"encodeEntities"),fD=w((function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")}),"decodeEntities"),gD=w(((t,e,{counter:r=0,prefix:n,suffix:i})=>`${n?`${n}_`:""}${t}_${e}_${r}${i?`_${i}`:""}`),"getEdgeId")}));function yD(t,e,r,n,i){if(!e[t].width)if(r)e[t].text=iD(e[t].text,i,n),e[t].textLines=e[t].text.split(Cc.lineBreakRegex).length,e[t].width=i,e[t].height=BR(e[t].text,n);else{let r=e[t].text.split(Cc.lineBreakRegex);e[t].textLines=r.length;let i=0;e[t].height=0,e[t].width=0;for(let a of r)e[t].width=Math.max(FR(a,n),e[t].width),i=BR(a,n),e[t].height=e[t].height+i}}function vD(t,e,r,n,i){let a=new ED(i);a.data.widthLimit=r.data.widthLimit/Math.min(kD,n.length);for(let[o,s]of n.entries()){let n=0;s.image={width:0,height:0,Y:0},s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=n,n=s.image.Y+s.image.height);let l=s.wrap&&TD.wrap,c=SD(TD);if(c.fontSize=c.fontSize+2,c.fontWeight="bold",yD("label",s,l,c,a.data.widthLimit),s.label.Y=n+8,n=s.label.Y+s.label.height,s.type&&""!==s.type.text&&(s.type.text="["+s.type.text+"]",yD("type",s,l,SD(TD),a.data.widthLimit),s.type.Y=n+5,n=s.type.Y+s.type.height),s.descr&&""!==s.descr.text){let t=SD(TD);t.fontSize=t.fontSize-2,yD("descr",s,l,t,a.data.widthLimit),s.descr.Y=n+20,n=s.descr.Y+s.descr.height}if(0==o||o%kD==0){let t=r.data.startx+TD.diagramMarginX,e=r.data.stopy+TD.diagramMarginY+n;a.setData(t,t,e,e)}else{let t=a.data.stopx!==a.data.startx?a.data.stopx+TD.diagramMarginX:a.data.startx,e=a.data.starty;a.setData(t,t,e,e)}a.name=s.alias;let h=i.db.getC4ShapeArray(s.alias),u=i.db.getC4ShapeKeys(s.alias);u.length>0&&ND(a,t,h,u),e=s.alias;let d=i.db.getBoundarys(e);d.length>0&&vD(t,e,a,d,i),"global"!==s.alias&&LD(t,s,a),r.data.stopy=Math.max(a.data.stopy+TD.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(a.data.stopx+TD.c4ShapeMargin,r.data.stopx),xD=Math.max(xD,r.data.stopx),bD=Math.max(bD,r.data.stopy)}}var xD,bD,wD,kD,TD,ED,_D,CD,SD,AD,LD,ND,ID,MD,RD,DD,OD,PD,BD,FD,$D=k((()=>{jC(),XC(),L(),mr(),Oc(),Jh(),Qh(),yr(),mD(),Pc(),xD=0,bD=0,wD=4,kD=2,St.yy=Kh,TD={},ED=class{static{w(this,"Bounds")}constructor(t){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,_D(t.db.getConfig())}setData(t,e,r,n){this.nextData.startx=this.data.startx=t,this.nextData.stopx=this.data.stopx=e,this.nextData.starty=this.data.starty=r,this.nextData.stopy=this.data.stopy=n}updateVal(t,e,r,n){void 0===t[e]?t[e]=r:t[e]=n(r,t[e])}insert(t){this.nextData.cnt=this.nextData.cnt+1;let e=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+t.margin:this.nextData.stopx+2*t.margin,r=e+t.width,n=this.nextData.starty+2*t.margin,i=n+t.height;(e>=this.data.widthLimit||r>=this.data.widthLimit||this.nextData.cnt>wD)&&(e=this.nextData.startx+t.margin+TD.nextLinePaddingX,n=this.nextData.stopy+2*t.margin,this.nextData.stopx=r=e+t.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=i=n+t.height,this.nextData.cnt=1),t.x=e,t.y=n,this.updateVal(this.data,"startx",e,Math.min),this.updateVal(this.data,"starty",n,Math.min),this.updateVal(this.data,"stopx",r,Math.max),this.updateVal(this.data,"stopy",i,Math.max),this.updateVal(this.nextData,"startx",e,Math.min),this.updateVal(this.nextData,"starty",n,Math.min),this.updateVal(this.nextData,"stopx",r,Math.max),this.updateVal(this.nextData,"stopy",i,Math.max)}init(t){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},_D(t.db.getConfig())}bumpLastMargin(t){this.data.stopx+=t,this.data.stopy+=t}},_D=w((function(t){Nt(TD,t),t.fontFamily&&(TD.personFontFamily=TD.systemFontFamily=TD.messageFontFamily=t.fontFamily),t.fontSize&&(TD.personFontSize=TD.systemFontSize=TD.messageFontSize=t.fontSize),t.fontWeight&&(TD.personFontWeight=TD.systemFontWeight=TD.messageFontWeight=t.fontWeight)}),"setConf"),CD=w(((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]})),"c4ShapeFont"),SD=w((t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight})),"boundaryFont"),AD=w((t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight})),"messageFont"),w(yD,"calcC4ShapeTextWH"),LD=w((function(t,e,r){e.x=r.data.startx,e.y=r.data.starty,e.width=r.data.stopx-r.data.startx,e.height=r.data.stopy-r.data.starty,e.label.y=TD.c4ShapeMargin-35;let n=e.wrap&&TD.wrap,i=SD(TD);i.fontSize=i.fontSize+2,i.fontWeight="bold",yD("label",e,n,i,FR(e.label.text,i)),RC.drawBoundary(t,e,TD)}),"drawBoundary"),ND=w((function(t,e,r,n){let i=0;for(let a of n){i=0;let n=r[a],o=CD(TD,n.typeC4Shape.text);switch(o.fontSize=o.fontSize-2,n.typeC4Shape.width=FR("«"+n.typeC4Shape.text+"»",o),n.typeC4Shape.height=o.fontSize+2,n.typeC4Shape.Y=TD.c4ShapePadding,i=n.typeC4Shape.Y+n.typeC4Shape.height-4,n.image={width:0,height:0,Y:0},n.typeC4Shape.text){case"person":case"external_person":n.image.width=48,n.image.height=48,n.image.Y=i,i=n.image.Y+n.image.height}n.sprite&&(n.image.width=48,n.image.height=48,n.image.Y=i,i=n.image.Y+n.image.height);let s=n.wrap&&TD.wrap,l=TD.width-2*TD.c4ShapePadding,c=CD(TD,n.typeC4Shape.text);c.fontSize=c.fontSize+2,c.fontWeight="bold",yD("label",n,s,c,l),n.label.Y=i+8,i=n.label.Y+n.label.height,n.type&&""!==n.type.text?(n.type.text="["+n.type.text+"]",yD("type",n,s,CD(TD,n.typeC4Shape.text),l),n.type.Y=i+5,i=n.type.Y+n.type.height):n.techn&&""!==n.techn.text&&(n.techn.text="["+n.techn.text+"]",yD("techn",n,s,CD(TD,n.techn.text),l),n.techn.Y=i+5,i=n.techn.Y+n.techn.height);let h=i,u=n.label.width;n.descr&&""!==n.descr.text&&(yD("descr",n,s,CD(TD,n.typeC4Shape.text),l),n.descr.Y=i+20,i=n.descr.Y+n.descr.height,u=Math.max(n.label.width,n.descr.width),h=i-5*n.descr.textLines),u+=TD.c4ShapePadding,n.width=Math.max(n.width||TD.width,u,TD.width),n.height=Math.max(n.height||TD.height,h,TD.height),n.margin=n.margin||TD.c4ShapeMargin,t.insert(n),RC.drawC4Shape(e,n,TD)}t.bumpLastMargin(TD.c4ShapeMargin)}),"drawC4ShapeArray"),ID=class{static{w(this,"Point")}constructor(t,e){this.x=t,this.y=e}},MD=w((function(t,e){let r=t.x,n=t.y,i=e.x,a=e.y,o=r+t.width/2,s=n+t.height/2,l=Math.abs(r-i),c=Math.abs(n-a),h=c/l,u=t.height/t.width,d=null;return n==a&&ri?d=new ID(r,s):r==i&&na&&(d=new ID(o,n)),r>i&&n=h?new ID(r,s+h*t.width/2):new ID(o-l/c*t.height/2,n+t.height):r=h?new ID(r+t.width,s+h*t.width/2):new ID(o+l/c*t.height/2,n+t.height):ra?d=u>=h?new ID(r+t.width,s-h*t.width/2):new ID(o+t.height/2*l/c,n):r>i&&n>a&&(d=u>=h?new ID(r,s-t.width/2*h):new ID(o-t.height/2*l/c,n)),d}),"getIntersectPoint"),RD=w((function(t,e){let r={x:0,y:0};r.x=e.x+e.width/2,r.y=e.y+e.height/2;let n=MD(t,r);return r.x=t.x+t.width/2,r.y=t.y+t.height/2,{startPoint:n,endPoint:MD(e,r)}}),"getIntersectPoints"),DD=w((function(t,e,r,n){let i=0;for(let t of e){i+=1;let e=t.wrap&&TD.wrap,a=AD(TD);"C4Dynamic"===n.db.getC4Type()&&(t.label.text=i+": "+t.label.text);let o=FR(t.label.text,a);yD("label",t,e,a,o),t.techn&&""!==t.techn.text&&(o=FR(t.techn.text,a),yD("techn",t,e,a,o)),t.descr&&""!==t.descr.text&&(o=FR(t.descr.text,a),yD("descr",t,e,a,o));let s=r(t.from),l=r(t.to),c=RD(s,l);t.startPoint=c.startPoint,t.endPoint=c.endPoint}RC.drawRels(t,e,TD)}),"drawRels"),w(vD,"drawInsideBoundary"),OD=w((function(t,e,n,i){TD=Qc().c4;let a,o=Qc().securityLevel;"sandbox"===o&&(a=Qf("#i"+e));let s=Qf("sandbox"===o?a.nodes()[0].contentDocument.body:"body"),l=i.db;i.db.setWrap(TD.wrap),wD=l.getC4ShapeInRow(),kD=l.getC4BoundaryInRow(),r.debug(`C:${JSON.stringify(TD,null,2)}`);let c="sandbox"===o?s.select(`[id="${e}"]`):Qf(`[id="${e}"]`);RC.insertComputerIcon(c),RC.insertDatabaseIcon(c),RC.insertClockIcon(c);let h=new ED(i);h.setData(TD.diagramMarginX,TD.diagramMarginX,TD.diagramMarginY,TD.diagramMarginY),h.data.widthLimit=screen.availWidth,xD=TD.diagramMarginX,bD=TD.diagramMarginY;let u=i.db.getTitle();vD(c,"",h,i.db.getBoundarys(""),i),RC.insertArrowHead(c),RC.insertArrowEnd(c),RC.insertArrowCrossHead(c),RC.insertArrowFilledHead(c),DD(c,i.db.getRels(),i.db.getC4Shape,i),h.data.stopx=xD,h.data.stopy=bD;let d=h.data,p=d.stopy-d.starty+2*TD.diagramMarginY,f=d.stopx-d.startx+2*TD.diagramMarginX;u&&c.append("text").text(u).attr("x",(d.stopx-d.startx)/2-4*TD.diagramMarginX).attr("y",d.starty+TD.diagramMarginY),Lc(c,p,f,TD.useMaxWidth);let g=u?60:0;c.attr("viewBox",d.startx-TD.diagramMarginX+" -"+(TD.diagramMarginY+g)+" "+f+" "+(p+g)),r.debug("models:",d)}),"draw"),PD={drawPersonOrSystemArray:ND,drawBoundary:LD,setConf:_D,draw:OD}})),zD=k((()=>{BD=w((t=>`.person {\n stroke: ${t.personBorder};\n fill: ${t.personBkg};\n }\n`),"getStyles"),FD=BD})),UD={};E(UD,{diagram:()=>GD});var GD,qD=k((()=>{mr(),Jh(),$D(),zD(),GD={parser:At,db:Kh,renderer:PD,styles:FD,init:w((({c4:t,wrap:e})=>{PD.setConf(t),Kh.setWrap(e)}),"init")}}));function YD(t){let e=[];for(let r of t){let t=XD.get(r);t?.styles&&(e=[...e,...t.styles??[]].map((t=>t.trim()))),t?.textStyles&&(e=[...e,...t.textStyles??[]].map((t=>t.trim())))}return e}var jD,HD,WD,VD,XD,KD,ZD,QD,JD,tO,eO,rO,nO,iO,aO,oO,sO,lO,cO,hO,uO,dO,pO,fO,gO,mO,yO,vO,xO,bO,wO,kO,TO,EO,_O,CO,SO,AO,LO,NO,IO,MO,RO,DO,OO,PO,BO,FO,$O,zO,UO,GO,qO,YO,jO,HO,WO,VO,XO,KO,ZO,QO=k((()=>{jC(),mD(),Qh(),Oc(),L(),Zh(),jD=0,HD=Qc(),WD=new Map,VD=[],XD=new Map,KD=[],ZD=new Map,QD=new Map,JD=0,tO=!0,nO=[],iO=w((t=>Cc.sanitizeText(t,HD)),"sanitizeText"),aO=w((function(t){for(let e of WD.values())if(e.id===t)return e.domId;return t}),"lookUpDomId"),oO=w((function(t,e,r,n,i,a,o={}){if(!t||0===t.trim().length)return;let s,l=WD.get(t);void 0===l&&(l={id:t,labelType:"text",domId:"flowchart-"+t+"-"+jD,styles:[],classes:[]},WD.set(t,l)),jD++,void 0!==e?(HD=Qc(),s=iO(e.text.trim()),l.labelType=e.type,s.startsWith('"')&&s.endsWith('"')&&(s=s.substring(1,s.length-1)),l.text=s):void 0===l.text&&(l.text=t),void 0!==r&&(l.type=r),n?.forEach((function(t){l.styles.push(t)})),i?.forEach((function(t){l.classes.push(t)})),void 0!==a&&(l.dir=a),void 0===l.props?l.props=o:void 0!==o&&Object.assign(l.props,o)}),"addVertex"),sO=w((function(t,e,n){let i={start:t,end:e,type:void 0,text:"",labelType:"text"};r.info("abc78 Got edge...",i);let a=n.text;if(void 0!==a&&(i.text=iO(a.text.trim()),i.text.startsWith('"')&&i.text.endsWith('"')&&(i.text=i.text.substring(1,i.text.length-1)),i.labelType=a.type),void 0!==n&&(i.type=n.type,i.stroke=n.stroke,i.length=n.length>10?10:n.length),!(VD.length<(HD.maxEdges??500)))throw new Error(`Edge limit exceeded. ${VD.length} edges found, but the limit is ${HD.maxEdges}.\n\nInitialize mermaid with maxEdges set to a higher number to allow more edges.\nYou cannot set this config via configuration inside the diagram as it is a secure config.\nYou have to call mermaid.initialize.`);r.info("Pushing edge..."),VD.push(i)}),"addSingleLink"),lO=w((function(t,e,n){r.info("addLink",t,e,n);for(let r of t)for(let t of e)sO(r,t,n)}),"addLink"),cO=w((function(t,e){t.forEach((function(t){"default"===t?VD.defaultInterpolate=e:VD[t].interpolate=e}))}),"updateLinkInterpolate"),hO=w((function(t,e){t.forEach((function(t){if("number"==typeof t&&t>=VD.length)throw new Error(`The index ${t} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${VD.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);"default"===t?VD.defaultStyle=e:(VD[t].style=e,(VD[t]?.style?.length??0)>0&&!VD[t]?.style?.some((t=>t?.startsWith("fill")))&&VD[t]?.style?.push("fill:none"))}))}),"updateLink"),uO=w((function(t,e){t.split(",").forEach((function(t){let r=XD.get(t);void 0===r&&(r={id:t,styles:[],textStyles:[]},XD.set(t,r)),e?.forEach((function(t){if(/color/.exec(t)){let e=t.replace("fill","bgFill");r.textStyles.push(e)}r.styles.push(t)}))}))}),"addClass"),dO=w((function(t){/.*/.exec(eO)&&(eO="LR"),/.*v/.exec(eO)&&(eO="TB"),"TD"===eO&&(eO="TB")}),"setDirection"),pO=w((function(t,e){for(let r of t.split(",")){let t=WD.get(r);t&&t.classes.push(e);let n=ZD.get(r);n&&n.classes.push(e)}}),"setClass"),fO=w((function(t,e){if(void 0!==e){e=iO(e);for(let r of t.split(","))QD.set("gen-1"===rO?aO(r):r,e)}}),"setTooltip"),gO=w((function(t,e,r){let n=aO(t);if("loose"!==Qc().securityLevel||void 0===e)return;let i=[];if("string"==typeof r){i=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t")),t.classed("hover",!0)})).on("mouseout",(function(){e.transition().duration(500).style("opacity",0),Qf(this).classed("hover",!1)}))}),"setupToolTips"),nO.push(EO),_O=w((function(t="gen-1"){WD=new Map,XD=new Map,VD=[],nO=[EO],KD=[],ZD=new Map,JD=0,QD=new Map,tO=!0,rO=t,HD=Qc(),qc()}),"clear"),CO=w((t=>{rO=t||"gen-2"}),"setGen"),SO=w((function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}),"defaultStyle"),AO=w((function(t,e,n){let i=t.text.trim(),a=n.text;function o(t){let e,r={boolean:{},number:{},string:{}},n=[];return{nodeList:t.filter((function(t){let i=typeof t;return t.stmt&&"dir"===t.stmt?(e=t.value,!1):""!==t.trim()&&(i in r?!r[i].hasOwnProperty(t)&&(r[i][t]=!0):!n.includes(t)&&n.push(t))})),dir:e}}t===n&&/\s/.exec(n.text)&&(i=void 0),w(o,"uniq");let{nodeList:s,dir:l}=o(e.flat());if("gen-1"===rO)for(let t=0;t2e3)return{result:!1,count:0};if(IO[NO]=e,KD[e].id===t)return{result:!0,count:0};let n=0,i=1;for(;n=0){let r=MO(t,e);if(r.result)return{result:!0,count:i+r.count};i+=r.count}n+=1}return{result:!1,count:i}}),"indexNodes2"),RO=w((function(t){return IO[t]}),"getDepthFirstPos"),DO=w((function(){NO=-1,KD.length>0&&MO("none",KD.length-1)}),"indexNodes"),OO=w((function(){return KD}),"getSubGraphs"),PO=w((()=>!!tO&&(tO=!1,!0)),"firstGraph"),BO=w((t=>{let e=t.trim(),r="arrow_open";switch(e[0]){case"<":r="arrow_point",e=e.slice(1);break;case"x":r="arrow_cross",e=e.slice(1);break;case"o":r="arrow_circle",e=e.slice(1)}let n="normal";return e.includes("=")&&(n="thick"),e.includes(".")&&(n="dotted"),{type:r,stroke:n}}),"destructStartLink"),FO=w(((t,e)=>{let r=e.length,n=0;for(let i=0;i{let e=t.trim(),r=e.slice(0,-1),n="arrow_open";switch(e.slice(-1)){case"x":n="arrow_cross",e.startsWith("x")&&(n="double_"+n,r=r.slice(1));break;case">":n="arrow_point",e.startsWith("<")&&(n="double_"+n,r=r.slice(1));break;case"o":n="arrow_circle",e.startsWith("o")&&(n="double_"+n,r=r.slice(1))}let i="normal",a=r.length-1;r.startsWith("=")&&(i="thick"),r.startsWith("~")&&(i="invisible");let o=FO(".",r);return o&&(i="dotted",a=o),{type:n,stroke:i,length:a}}),"destructEndLink"),zO=w(((t,e)=>{let r,n=$O(t);if(e){if(r=BO(e),r.stroke!==n.stroke)return{type:"INVALID",stroke:"INVALID"};if("arrow_open"===r.type)r.type=n.type;else{if(r.type!==n.type)return{type:"INVALID",stroke:"INVALID"};r.type="double_"+r.type}return"double_arrow"===r.type&&(r.type="double_arrow_point"),r.length=n.length,r}return n}),"destructLink"),UO=w(((t,e)=>{for(let r of t)if(r.nodes.includes(e))return!0;return!1}),"exists"),GO=w(((t,e)=>{let r=[];return t.nodes.forEach(((n,i)=>{UO(e,n)||r.push(t.nodes[i])})),{nodes:r}}),"makeUniq"),qO={firstGraph:PO},YO=w((t=>"square"===t.type?"squareRect":"round"===t.type?"roundedRect":t.type??"squareRect"),"getTypeFromVertex"),jO=w(((t,e)=>t.find((t=>t.id===e))),"findNode"),HO=w((t=>{let e="none",r="arrow_point";switch(t){case"arrow_point":case"arrow_circle":case"arrow_cross":r=t;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":e=t.replace("double_",""),r=e}return{arrowTypeStart:e,arrowTypeEnd:r}}),"destructEdgeType"),WO=w(((t,e,r,n,i,a)=>{let o=r.get(t.id),s=n.get(t.id)??!1,l=jO(e,t.id);l?(l.cssStyles=t.styles,l.cssCompiledStyles=YD(t.classes),l.cssClasses=t.classes.join(" ")):e.push({id:t.id,label:t.text,labelStyle:"",parentId:o,padding:i.flowchart?.padding||8,cssStyles:t.styles,cssCompiledStyles:YD(["default","node",...t.classes]),cssClasses:"default "+t.classes.join(" "),shape:YO(t),dir:t.dir,domId:t.domId,isGroup:s,look:a,link:t.link,linkTarget:t.linkTarget,tooltip:yO(t.id)})}),"addNodeFromVertex"),w(YD,"getCompiledStyles"),VO=w((()=>{let t=Qc(),e=[],r=[],n=OO(),i=new Map,a=new Map;for(let t=n.length-1;t>=0;t--){let e=n[t];e.nodes.length>0&&a.set(e.id,!0);for(let t of e.nodes)i.set(t,e.id)}for(let r=n.length-1;r>=0;r--){let a=n[r];e.push({id:a.id,label:a.title,labelStyle:"",parentId:i.get(a.id),padding:8,cssCompiledStyles:YD(a.classes),cssClasses:a.classes.join(" "),shape:"rect",dir:a.dir,isGroup:!0,look:t.look})}wO().forEach((r=>{WO(r,e,i,a,t,t.look||"classic")}));let o=kO();return o.forEach(((e,n)=>{let{arrowTypeStart:i,arrowTypeEnd:a}=HO(e.type),s=[...o.defaultStyle??[]];e.style&&s.push(...e.style);let l={id:gD(e.start,e.end,{counter:n,prefix:"L"}),start:e.start,end:e.end,type:e.type??"normal",label:e.text,labelpos:"c",thickness:e.stroke,minlen:e.length,classes:"invisible"===e?.stroke?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:"invisible"===e?.stroke?"none":i,arrowTypeEnd:"invisible"===e?.stroke?"none":a,arrowheadStyle:"fill: #333",labelStyle:s,style:s,pattern:e.stroke,look:t.look};r.push(l)})),{nodes:e,edges:r,other:{},config:t}}),"getData"),XO={defaultConfig:w((()=>th.flowchart),"defaultConfig"),setAccTitle:Yc,getAccTitle:jc,getAccDescription:Wc,getData:VO,setAccDescription:Hc,addVertex:oO,lookUpDomId:aO,addLink:lO,updateLinkInterpolate:cO,updateLink:hO,addClass:uO,setDirection:dO,setClass:pO,setTooltip:fO,getTooltip:yO,setClickEvent:vO,setLink:mO,bindFunctions:xO,getDirection:bO,getVertices:wO,getEdges:kO,getClasses:TO,clear:_O,setGen:CO,defaultStyle:SO,addSubGraph:AO,getDepthFirstPos:RO,indexNodes:DO,getSubGraphs:OO,destructLink:zO,lex:qO,exists:UO,makeUniq:GO,setDiagramTitle:Vc,getDiagramTitle:Xc}})),JO=k((()=>{KO=w((t=>{let e=new Set;for(let r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r)}return e}),"expandAndDeduplicateDirections"),ZO=w(((t,e,r)=>{let n=KO(t),i=e.height+2*r.padding,a=i/2,o=e.width+2*a+r.padding,s=r.padding/2;return n.has("right")&&n.has("left")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:a,y:0},{x:o/2,y:2*s},{x:o-a,y:0},{x:o,y:0},{x:o,y:-i/3},{x:o+2*s,y:-i/2},{x:o,y:-2*i/3},{x:o,y:-i},{x:o-a,y:-i},{x:o/2,y:-i-2*s},{x:a,y:-i},{x:0,y:-i},{x:0,y:-2*i/3},{x:-2*s,y:-i/2},{x:0,y:-i/3}]:n.has("right")&&n.has("left")&&n.has("up")?[{x:a,y:0},{x:o-a,y:0},{x:o,y:-i/2},{x:o-a,y:-i},{x:a,y:-i},{x:0,y:-i/2}]:n.has("right")&&n.has("left")&&n.has("down")?[{x:0,y:0},{x:a,y:-i},{x:o-a,y:-i},{x:o,y:0}]:n.has("right")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:o,y:-a},{x:o,y:-i+a},{x:0,y:-i}]:n.has("left")&&n.has("up")&&n.has("down")?[{x:o,y:0},{x:0,y:-a},{x:0,y:-i+a},{x:o,y:-i}]:n.has("right")&&n.has("left")?[{x:a,y:0},{x:a,y:-s},{x:o-a,y:-s},{x:o-a,y:0},{x:o,y:-i/2},{x:o-a,y:-i},{x:o-a,y:-i+s},{x:a,y:-i+s},{x:a,y:-i},{x:0,y:-i/2}]:n.has("up")&&n.has("down")?[{x:o/2,y:0},{x:0,y:-s},{x:a,y:-s},{x:a,y:-i+s},{x:0,y:-i+s},{x:o/2,y:-i},{x:o,y:-i+s},{x:o-a,y:-i+s},{x:o-a,y:-s},{x:o,y:-s}]:n.has("right")&&n.has("up")?[{x:0,y:0},{x:o,y:-a},{x:0,y:-i}]:n.has("right")&&n.has("down")?[{x:0,y:0},{x:o,y:0},{x:0,y:-i}]:n.has("left")&&n.has("up")?[{x:o,y:0},{x:0,y:-a},{x:o,y:-i}]:n.has("left")&&n.has("down")?[{x:o,y:0},{x:0,y:0},{x:o,y:-i}]:n.has("right")?[{x:a,y:-s},{x:a,y:-s},{x:o-a,y:-s},{x:o-a,y:0},{x:o,y:-i/2},{x:o-a,y:-i},{x:o-a,y:-i+s},{x:a,y:-i+s},{x:a,y:-i+s}]:n.has("left")?[{x:a,y:0},{x:a,y:-s},{x:o-a,y:-s},{x:o-a,y:-i+s},{x:a,y:-i+s},{x:a,y:-i},{x:0,y:-i/2}]:n.has("up")?[{x:a,y:-s},{x:a,y:-i+s},{x:0,y:-i+s},{x:o/2,y:-i},{x:o,y:-i+s},{x:o-a,y:-i+s},{x:o-a,y:-s}]:n.has("down")?[{x:o/2,y:0},{x:0,y:-s},{x:a,y:-s},{x:a,y:-i+s},{x:o-a,y:-i+s},{x:o-a,y:-s},{x:o,y:-s}]:[{x:0,y:0}]}),"getArrowPoints")}));function tP(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function eP(t){dP=t}function rP(t,e){if(e){if(pP.test(t))return t.replace(fP,vP)}else if(gP.test(t))return t.replace(mP,vP);return t}function nP(t){return t.replace(xP,((t,e)=>"colon"===(e=e.toLowerCase())?":":"#"===e.charAt(0)?"x"===e.charAt(1)?String.fromCharCode(parseInt(e.substring(2),16)):String.fromCharCode(+e.substring(1)):""))}function iP(t,e){let r="string"==typeof t?t:t.source;e=e||"";let n={replace:w(((t,e)=>{let i="string"==typeof e?e:e.source;return i=i.replace(bP,"$1"),r=r.replace(t,i),n}),"replace"),getRegex:w((()=>new RegExp(r,e)),"getRegex")};return n}function aP(t){try{t=encodeURI(t).replace(/%25/g,"%")}catch{return null}return t}function oP(t,e){let r=t.replace(/\|/g,((t,e,r)=>{let n=!1,i=e;for(;--i>=0&&"\\"===r[i];)n=!n;return n?"|":" |"})).split(/ \|/),n=0;if(r[0].trim()||r.shift(),r.length>0&&!r[r.length-1].trim()&&r.pop(),e)if(r.length>e)r.splice(e);else for(;r.length{let e=t.match(/^\s+/);if(null===e)return t;let[r]=e;return r.length>=n.length?t.slice(n.length):t})).join("\n")}function uP(t,e){return wB.parse(t,e)}var dP,pP,fP,gP,mP,yP,vP,xP,bP,wP,kP,TP,EP,_P,CP,SP,AP,LP,NP,IP,MP,RP,DP,OP,PP,BP,FP,$P,zP,UP,GP,qP,YP,jP,HP,WP,VP,XP,KP,ZP,QP,JP,tB,eB,rB,nB,iB,aB,oB,sB,lB,cB,hB,uB,dB,pB,fB,gB,mB,yB,vB,xB,bB,wB,kB=k((()=>{w(tP,"_getDefaults"),dP={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null},w(eP,"changeDefaults"),pP=/[&<>"']/,fP=new RegExp(pP.source,"g"),gP=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,mP=new RegExp(gP.source,"g"),yP={"&":"&","<":"<",">":">",'"':""","'":"'"},vP=w((t=>yP[t]),"getEscapeReplacement"),w(rP,"escape$1"),xP=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,w(nP,"unescape"),bP=/(^|[^\[])\^/g,w(iP,"edit"),w(aP,"cleanUrl"),wP={exec:w((()=>null),"exec")},w(oP,"splitCells"),w(sP,"rtrim"),w(lP,"findClosingBracket"),w(cP,"outputLink"),w(hP,"indentCodeCompensation"),kP=class{static{w(this,"_Tokenizer")}options;rules;lexer;constructor(t){this.options=t||dP}space(t){let e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){let e=this.rules.block.code.exec(t);if(e){let t=e[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?t:sP(t,"\n")}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let t=e[0],r=hP(t,e[3]||"");return{type:"code",raw:t,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:r}}}heading(t){let e=this.rules.block.heading.exec(t);if(e){let t=e[2].trim();if(/#$/.test(t)){let e=sP(t,"#");(this.options.pedantic||!e||/ $/.test(e))&&(t=e.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:t,tokens:this.lexer.inline(t)}}}hr(t){let e=this.rules.block.hr.exec(t);if(e)return{type:"hr",raw:sP(e[0],"\n")}}blockquote(t){let e=this.rules.block.blockquote.exec(t);if(e){let t=sP(e[0],"\n").split("\n"),r="",n="",i=[];for(;t.length>0;){let e,a=!1,o=[];for(e=0;e/.test(t[e]))o.push(t[e]),a=!0;else{if(a)break;o.push(t[e])}t=t.slice(e);let s=o.join("\n"),l=s.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,"\n $1").replace(/^ {0,3}>[ \t]?/gm,"");r=r?`${r}\n${s}`:s,n=n?`${n}\n${l}`:l;let c=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(l,i,!0),this.lexer.state.top=c,0===t.length)break;let h=i[i.length-1];if("code"===h?.type)break;if("blockquote"===h?.type){let e=h,a=e.raw+"\n"+t.join("\n"),o=this.blockquote(a);i[i.length-1]=o,r=r.substring(0,r.length-e.raw.length)+o.raw,n=n.substring(0,n.length-e.text.length)+o.text;break}if("list"!==h?.type);else{let e=h,a=e.raw+"\n"+t.join("\n"),o=this.list(a);i[i.length-1]=o,r=r.substring(0,r.length-h.raw.length)+o.raw,n=n.substring(0,n.length-e.raw.length)+o.raw,t=a.substring(i[i.length-1].raw.length).split("\n")}}return{type:"blockquote",raw:r,tokens:i,text:n}}}list(t){let e=this.rules.block.list.exec(t);if(e){let r=e[1].trim(),n=r.length>1,i={type:"list",raw:"",ordered:n,start:n?+r.slice(0,-1):"",loose:!1,items:[]};r=n?`\\d{1,9}\\${r.slice(-1)}`:`\\${r}`,this.options.pedantic&&(r=n?r:"[*+-]");let a=new RegExp(`^( {0,3}${r})((?:[\t ][^\\n]*)?(?:\\n|$))`),o=!1;for(;t;){let r=!1,n="",s="";if(!(e=a.exec(t))||this.rules.block.hr.test(t))break;n=e[0],t=t.substring(n.length);let l=e[2].split("\n",1)[0].replace(/^\t+/,(t=>" ".repeat(3*t.length))),c=t.split("\n",1)[0],h=!l.trim(),u=0;if(this.options.pedantic?(u=2,s=l.trimStart()):h?u=e[1].length+1:(u=e[2].search(/[^ ]/),u=u>4?1:u,s=l.slice(u),u+=e[1].length),h&&/^ *$/.test(c)&&(n+=c+"\n",t=t.substring(c.length+1),r=!0),!r){let e=new RegExp(`^ {0,${Math.min(3,u-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),r=new RegExp(`^ {0,${Math.min(3,u-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),i=new RegExp(`^ {0,${Math.min(3,u-1)}}(?:\`\`\`|~~~)`),a=new RegExp(`^ {0,${Math.min(3,u-1)}}#`);for(;t;){let o=t.split("\n",1)[0];if(c=o,this.options.pedantic&&(c=c.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),i.test(c)||a.test(c)||e.test(c)||r.test(t))break;if(c.search(/[^ ]/)>=u||!c.trim())s+="\n"+c.slice(u);else{if(h||l.search(/[^ ]/)>=4||i.test(l)||a.test(l)||r.test(l))break;s+="\n"+c}!h&&!c.trim()&&(h=!0),n+=o+"\n",t=t.substring(o.length+1),l=c.slice(u)}}i.loose||(o?i.loose=!0:/\n *\n *$/.test(n)&&(o=!0));let d,p=null;this.options.gfm&&(p=/^\[[ xX]\] /.exec(s),p&&(d="[ ] "!==p[0],s=s.replace(/^\[[ xX]\] +/,""))),i.items.push({type:"list_item",raw:n,task:!!p,checked:d,loose:!1,text:s,tokens:[]}),i.raw+=n}i.items[i.items.length-1].raw=i.items[i.items.length-1].raw.trimEnd(),i.items[i.items.length-1].text=i.items[i.items.length-1].text.trimEnd(),i.raw=i.raw.trimEnd();for(let t=0;t"space"===t.type)),r=e.length>0&&e.some((t=>/\n.*\n/.test(t.raw)));i.loose=r}if(i.loose)for(let t=0;t$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",n=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:t,raw:e[0],href:r,title:n}}}table(t){let e=this.rules.block.table.exec(t);if(!e||!/[:|]/.test(e[2]))return;let r=oP(e[1]),n=e[2].replace(/^\||\| *$/g,"").split("|"),i=e[3]&&e[3].trim()?e[3].replace(/\n[ \t]*$/,"").split("\n"):[],a={type:"table",raw:e[0],header:[],align:[],rows:[]};if(r.length===n.length){for(let t of n)/^ *-+: *$/.test(t)?a.align.push("right"):/^ *:-+: *$/.test(t)?a.align.push("center"):/^ *:-+ *$/.test(t)?a.align.push("left"):a.align.push(null);for(let t=0;t({text:t,tokens:this.lexer.inline(t),header:!1,align:a.align[e]}))));return a}}lheading(t){let e=this.rules.block.lheading.exec(t);if(e)return{type:"heading",raw:e[0],depth:"="===e[2].charAt(0)?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(t){let e=this.rules.block.paragraph.exec(t);if(e){let t="\n"===e[1].charAt(e[1].length-1)?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:rP(e[1])}}tag(t){let e=this.rules.inline.tag.exec(t);if(e)return!this.lexer.state.inLink&&/^/i.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(t){let e=this.rules.inline.link.exec(t);if(e){let t=e[2].trim();if(!this.options.pedantic&&/^$/.test(t))return;let e=sP(t.slice(0,-1),"\\");if((t.length-e.length)%2==0)return}else{let t=lP(e[2],"()");if(t>-1){let r=(0===e[0].indexOf("!")?5:4)+e[1].length+t;e[2]=e[2].substring(0,t),e[0]=e[0].substring(0,r).trim(),e[3]=""}}let r=e[2],n="";if(this.options.pedantic){let t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r);t&&(r=t[1],n=t[3])}else n=e[3]?e[3].slice(1,-1):"";return r=r.trim(),/^$/.test(t)?r.slice(1):r.slice(1,-1)),cP(e,{href:r&&r.replace(this.rules.inline.anyPunctuation,"$1"),title:n&&n.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer)}}reflink(t,e){let r;if((r=this.rules.inline.reflink.exec(t))||(r=this.rules.inline.nolink.exec(t))){let t=e[(r[2]||r[1]).replace(/\s+/g," ").toLowerCase()];if(!t){let t=r[0].charAt(0);return{type:"text",raw:t,text:t}}return cP(r,t,r[0],this.lexer)}}emStrong(t,e,r=""){let n=this.rules.inline.emStrongLDelim.exec(t);if(!(!n||n[3]&&r.match(/[\p{L}\p{N}]/u))&&(!n[1]&&!n[2]||!r||this.rules.inline.punctuation.exec(r))){let r,i,a=[...n[0]].length-1,o=a,s=0,l="*"===n[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(l.lastIndex=0,e=e.slice(-1*t.length+a);null!=(n=l.exec(e));){if(r=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!r)continue;if(i=[...r].length,n[3]||n[4]){o+=i;continue}if((n[5]||n[6])&&a%3&&!((a+i)%3)){s+=i;continue}if(o-=i,o>0)continue;i=Math.min(i,i+o+s);let e=[...n[0]][0].length,l=t.slice(0,a+n.index+e+i);if(Math.min(a,i)%2){let t=l.slice(1,-1);return{type:"em",raw:l,text:t,tokens:this.lexer.inlineTokens(t)}}let c=l.slice(2,-2);return{type:"strong",raw:l,text:c,tokens:this.lexer.inlineTokens(c)}}}}codespan(t){let e=this.rules.inline.code.exec(t);if(e){let t=e[2].replace(/\n/g," "),r=/[^ ]/.test(t),n=/^ /.test(t)&&/ $/.test(t);return r&&n&&(t=t.substring(1,t.length-1)),t=rP(t,!0),{type:"codespan",raw:e[0],text:t}}}br(t){let e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}}del(t){let e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(t){let e=this.rules.inline.autolink.exec(t);if(e){let t,r;return"@"===e[2]?(t=rP(e[1]),r="mailto:"+t):(t=rP(e[1]),r=t),{type:"link",raw:e[0],text:t,href:r,tokens:[{type:"text",raw:t,text:t}]}}}url(t){let e;if(e=this.rules.inline.url.exec(t)){let t,r;if("@"===e[2])t=rP(e[0]),r="mailto:"+t;else{let n;do{n=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??""}while(n!==e[0]);t=rP(e[0]),r="www."===e[1]?"http://"+e[0]:e[0]}return{type:"link",raw:e[0],text:t,href:r,tokens:[{type:"text",raw:t,text:t}]}}}inlineText(t){let e=this.rules.inline.text.exec(t);if(e){let t;return t=this.lexer.state.inRawBlock?e[0]:rP(e[0]),{type:"text",raw:e[0],text:t}}}},TP=/^(?: *(?:\n|$))+/,EP=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,_P=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,CP=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,SP=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,AP=/(?:[*+-]|\d{1,9}[.)])/,LP=iP(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,AP).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),NP=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,IP=/^[^\n]+/,MP=/(?!\s*\])(?:\\.|[^\[\]\\])+/,RP=iP(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",MP).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),DP=iP(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,AP).getRegex(),OP="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",PP=/|$))/,BP=iP("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",PP).replace("tag",OP).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),FP=iP(NP).replace("hr",CP).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",OP).getRegex(),$P=iP(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",FP).getRegex(),zP={blockquote:$P,code:EP,def:RP,fences:_P,heading:SP,hr:CP,html:BP,lheading:LP,list:DP,newline:TP,paragraph:FP,table:wP,text:IP},UP=iP("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",CP).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",OP).getRegex(),GP={...zP,table:UP,paragraph:iP(NP).replace("hr",CP).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",UP).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",OP).getRegex()},qP={...zP,html:iP("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",PP).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:wP,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:iP(NP).replace("hr",CP).replace("heading"," *#{1,6} *[^\n]").replace("lheading",LP).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},YP=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,jP=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,HP=/^( {2,}|\\)\n(?!\s*$)/,WP=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,ZP=iP(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,VP).getRegex(),QP=iP("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,VP).getRegex(),JP=iP("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,VP).getRegex(),tB=iP(/\\([punct])/,"gu").replace(/punct/g,VP).getRegex(),eB=iP(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),rB=iP(PP).replace("(?:--\x3e|$)","--\x3e").getRegex(),nB=iP("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",rB).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),iB=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,aB=iP(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",iB).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),oB=iP(/^!?\[(label)\]\[(ref)\]/).replace("label",iB).replace("ref",MP).getRegex(),sB=iP(/^!?\[(ref)\](?:\[\])?/).replace("ref",MP).getRegex(),lB=iP("reflink|nolink(?!\\()","g").replace("reflink",oB).replace("nolink",sB).getRegex(),cB={_backpedal:wP,anyPunctuation:tB,autolink:eB,blockSkip:KP,br:HP,code:jP,del:wP,emStrongLDelim:ZP,emStrongRDelimAst:QP,emStrongRDelimUnd:JP,escape:YP,link:aB,nolink:sB,punctuation:XP,reflink:oB,reflinkSearch:lB,tag:nB,text:WP,url:wP},hB={...cB,link:iP(/^!?\[(label)\]\((.*?)\)/).replace("label",iB).getRegex(),reflink:iP(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",iB).getRegex()},uB={...cB,escape:iP(YP).replace("])","~|])").getRegex(),url:iP(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\e+" ".repeat(r.length)));t;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((r=>!!(n=r.call({lexer:this},t,e))&&(t=t.substring(n.raw.length),e.push(n),!0))))){if(n=this.tokenizer.space(t)){t=t.substring(n.raw.length),1===n.raw.length&&e.length>0?e[e.length-1].raw+="\n":e.push(n);continue}if(n=this.tokenizer.code(t)){t=t.substring(n.raw.length),i=e[e.length-1],!i||"paragraph"!==i.type&&"text"!==i.type?e.push(n):(i.raw+="\n"+n.raw,i.text+="\n"+n.text,this.inlineQueue[this.inlineQueue.length-1].src=i.text);continue}if(n=this.tokenizer.fences(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.heading(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.hr(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.blockquote(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.list(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.html(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.def(t)){t=t.substring(n.raw.length),i=e[e.length-1],!i||"paragraph"!==i.type&&"text"!==i.type?this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title}):(i.raw+="\n"+n.raw,i.text+="\n"+n.raw,this.inlineQueue[this.inlineQueue.length-1].src=i.text);continue}if(n=this.tokenizer.table(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.lheading(t)){t=t.substring(n.raw.length),e.push(n);continue}if(a=t,this.options.extensions&&this.options.extensions.startBlock){let e,r=1/0,n=t.slice(1);this.options.extensions.startBlock.forEach((t=>{e=t.call({lexer:this},n),"number"==typeof e&&e>=0&&(r=Math.min(r,e))})),r<1/0&&r>=0&&(a=t.substring(0,r+1))}if(this.state.top&&(n=this.tokenizer.paragraph(a))){i=e[e.length-1],r&&"paragraph"===i?.type?(i.raw+="\n"+n.raw,i.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):e.push(n),r=a.length!==t.length,t=t.substring(n.raw.length);continue}if(n=this.tokenizer.text(t)){t=t.substring(n.raw.length),i=e[e.length-1],i&&"text"===i.type?(i.raw+="\n"+n.raw,i.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):e.push(n);continue}if(t){let e="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(e);break}throw new Error(e)}}return this.state.top=!0,e}inline(t,e=[]){return this.inlineQueue.push({src:t,tokens:e}),e}inlineTokens(t,e=[]){let r,n,i,a,o,s,l=t;if(this.tokens.links){let t=Object.keys(this.tokens.links);if(t.length>0)for(;null!=(a=this.tokenizer.rules.inline.reflinkSearch.exec(l));)t.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(l=l.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(a=this.tokenizer.rules.inline.blockSkip.exec(l));)l=l.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(a=this.tokenizer.rules.inline.anyPunctuation.exec(l));)l=l.slice(0,a.index)+"++"+l.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;t;)if(o||(s=""),o=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((n=>!!(r=n.call({lexer:this},t,e))&&(t=t.substring(r.raw.length),e.push(r),!0))))){if(r=this.tokenizer.escape(t)){t=t.substring(r.raw.length),e.push(r);continue}if(r=this.tokenizer.tag(t)){t=t.substring(r.raw.length),n=e[e.length-1],n&&"text"===r.type&&"text"===n.type?(n.raw+=r.raw,n.text+=r.text):e.push(r);continue}if(r=this.tokenizer.link(t)){t=t.substring(r.raw.length),e.push(r);continue}if(r=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(r.raw.length),n=e[e.length-1],n&&"text"===r.type&&"text"===n.type?(n.raw+=r.raw,n.text+=r.text):e.push(r);continue}if(r=this.tokenizer.emStrong(t,l,s)){t=t.substring(r.raw.length),e.push(r);continue}if(r=this.tokenizer.codespan(t)){t=t.substring(r.raw.length),e.push(r);continue}if(r=this.tokenizer.br(t)){t=t.substring(r.raw.length),e.push(r);continue}if(r=this.tokenizer.del(t)){t=t.substring(r.raw.length),e.push(r);continue}if(r=this.tokenizer.autolink(t)){t=t.substring(r.raw.length),e.push(r);continue}if(!this.state.inLink&&(r=this.tokenizer.url(t))){t=t.substring(r.raw.length),e.push(r);continue}if(i=t,this.options.extensions&&this.options.extensions.startInline){let e,r=1/0,n=t.slice(1);this.options.extensions.startInline.forEach((t=>{e=t.call({lexer:this},n),"number"==typeof e&&e>=0&&(r=Math.min(r,e))})),r<1/0&&r>=0&&(i=t.substring(0,r+1))}if(r=this.tokenizer.inlineText(i)){t=t.substring(r.raw.length),"_"!==r.raw.slice(-1)&&(s=r.raw.slice(-1)),o=!0,n=e[e.length-1],n&&"text"===n.type?(n.raw+=r.raw,n.text+=r.text):e.push(r);continue}if(t){let e="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(e);break}throw new Error(e)}}return e}},mB=class{static{w(this,"_Renderer")}options;parser;constructor(t){this.options=t||dP}space(t){return""}code({text:t,lang:e,escaped:r}){let n=(e||"").match(/^\S*/)?.[0],i=t.replace(/\n$/,"")+"\n";return n?'
'+(r?i:rP(i,!0))+"
\n":"
"+(r?i:rP(i,!0))+"
\n"}blockquote({tokens:t}){return`
\n${this.parser.parse(t)}
\n`}html({text:t}){return t}heading({tokens:t,depth:e}){return`${this.parser.parseInline(t)}\n`}hr(t){return"
\n"}list(t){let e=t.ordered,r=t.start,n="";for(let e=0;e\n"+n+"\n"}listitem(t){let e="";if(t.task){let r=this.checkbox({checked:!!t.checked});t.loose?t.tokens.length>0&&"paragraph"===t.tokens[0].type?(t.tokens[0].text=r+" "+t.tokens[0].text,t.tokens[0].tokens&&t.tokens[0].tokens.length>0&&"text"===t.tokens[0].tokens[0].type&&(t.tokens[0].tokens[0].text=r+" "+t.tokens[0].tokens[0].text)):t.tokens.unshift({type:"text",raw:r+" ",text:r+" "}):e+=r+" "}return e+=this.parser.parse(t.tokens,!!t.loose),`
  • ${e}
  • \n`}checkbox({checked:t}){return"'}paragraph({tokens:t}){return`

    ${this.parser.parseInline(t)}

    \n`}table(t){let e="",r="";for(let e=0;e${n}`),"\n\n"+e+"\n"+n+"
    \n"}tablerow({text:t}){return`\n${t}\n`}tablecell(t){let e=this.parser.parseInline(t.tokens),r=t.header?"th":"td";return(t.align?`<${r} align="${t.align}">`:`<${r}>`)+e+`\n`}strong({tokens:t}){return`${this.parser.parseInline(t)}`}em({tokens:t}){return`${this.parser.parseInline(t)}`}codespan({text:t}){return`${t}`}br(t){return"
    "}del({tokens:t}){return`${this.parser.parseInline(t)}`}link({href:t,title:e,tokens:r}){let n=this.parser.parseInline(r),i=aP(t);if(null===i)return n;let a='
    ",a}image({href:t,title:e,text:r}){let n=aP(t);if(null===n)return r;let i=`${r}{let i=t[n].flat(1/0);r=r.concat(this.walkTokens(i,e))})):t.tokens&&(r=r.concat(this.walkTokens(t.tokens,e)))}}return r}use(...t){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach((t=>{let r={...t};if(r.async=this.defaults.async||r.async||!1,t.extensions&&(t.extensions.forEach((t=>{if(!t.name)throw new Error("extension name required");if("renderer"in t){let r=e.renderers[t.name];e.renderers[t.name]=r?function(...e){let n=t.renderer.apply(this,e);return!1===n&&(n=r.apply(this,e)),n}:t.renderer}if("tokenizer"in t){if(!t.level||"block"!==t.level&&"inline"!==t.level)throw new Error("extension level must be 'block' or 'inline'");let r=e[t.level];r?r.unshift(t.tokenizer):e[t.level]=[t.tokenizer],t.start&&("block"===t.level?e.startBlock?e.startBlock.push(t.start):e.startBlock=[t.start]:"inline"===t.level&&(e.startInline?e.startInline.push(t.start):e.startInline=[t.start]))}"childTokens"in t&&t.childTokens&&(e.childTokens[t.name]=t.childTokens)})),r.extensions=e),t.renderer){let e=this.defaults.renderer||new mB(this.defaults);for(let r in t.renderer){if(!(r in e))throw new Error(`renderer '${r}' does not exist`);if(["options","parser"].includes(r))continue;let n=r,i=t.renderer[n];t.useNewRenderer||(i=this.#e(i,n,e));let a=e[n];e[n]=(...t)=>{let r=i.apply(e,t);return!1===r&&(r=a.apply(e,t)),r||""}}r.renderer=e}if(t.tokenizer){let e=this.defaults.tokenizer||new kP(this.defaults);for(let r in t.tokenizer){if(!(r in e))throw new Error(`tokenizer '${r}' does not exist`);if(["options","rules","lexer"].includes(r))continue;let n=r,i=t.tokenizer[n],a=e[n];e[n]=(...t)=>{let r=i.apply(e,t);return!1===r&&(r=a.apply(e,t)),r}}r.tokenizer=e}if(t.hooks){let e=this.defaults.hooks||new xB;for(let r in t.hooks){if(!(r in e))throw new Error(`hook '${r}' does not exist`);if("options"===r)continue;let n=r,i=t.hooks[n],a=e[n];xB.passThroughHooks.has(r)?e[n]=t=>{if(this.defaults.async)return Promise.resolve(i.call(e,t)).then((t=>a.call(e,t)));let r=i.call(e,t);return a.call(e,r)}:e[n]=(...t)=>{let r=i.apply(e,t);return!1===r&&(r=a.apply(e,t)),r}}r.hooks=e}if(t.walkTokens){let e=this.defaults.walkTokens,n=t.walkTokens;r.walkTokens=function(t){let r=[];return r.push(n.call(this,t)),e&&(r=r.concat(e.call(this,t))),r}}this.defaults={...this.defaults,...r}})),this}#e(t,e,r){switch(e){case"heading":return function(n){return n.type&&n.type===e?t.call(this,r.parser.parseInline(n.tokens),n.depth,nP(r.parser.parseInline(n.tokens,r.parser.textRenderer))):t.apply(this,arguments)};case"code":return function(r){return r.type&&r.type===e?t.call(this,r.text,r.lang,!!r.escaped):t.apply(this,arguments)};case"table":return function(r){if(!r.type||r.type!==e)return t.apply(this,arguments);let n="",i="";for(let t=0;t0&&"paragraph"===e.tokens[0].type?(e.tokens[0].text=t+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&"text"===e.tokens[0].tokens[0].type&&(e.tokens[0].tokens[0].text=t+" "+e.tokens[0].tokens[0].text)):e.tokens.unshift({type:"text",text:t+" "}):s+=t+" "}s+=this.parser.parse(e.tokens,a),o+=this.listitem({type:"list_item",raw:s,text:s,task:i,checked:!!n,loose:a,tokens:e.tokens})}return t.call(this,o,n,i)};case"html":return function(r){return r.type&&r.type===e?t.call(this,r.text,r.block):t.apply(this,arguments)};case"paragraph":case"strong":case"em":case"del":return function(r){return r.type&&r.type===e?t.call(this,this.parser.parseInline(r.tokens)):t.apply(this,arguments)};case"escape":case"codespan":case"text":return function(r){return r.type&&r.type===e?t.call(this,r.text):t.apply(this,arguments)};case"link":return function(r){return r.type&&r.type===e?t.call(this,r.href,r.title,this.parser.parseInline(r.tokens)):t.apply(this,arguments)};case"image":return function(r){return r.type&&r.type===e?t.call(this,r.href,r.title,r.text):t.apply(this,arguments)}}return t}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,e){return gB.lex(t,e??this.defaults)}parser(t,e){return vB.parse(t,e??this.defaults)}#t(t,e){return(r,n)=>{let i={...n},a={...this.defaults,...i};!0===this.defaults.async&&!1===i.async&&(a.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),a.async=!0);let o=this.#r(!!a.silent,!!a.async);if(typeof r>"u"||null===r)return o(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof r)return o(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(r)+", string expected"));if(a.hooks&&(a.hooks.options=a),a.async)return Promise.resolve(a.hooks?a.hooks.preprocess(r):r).then((e=>t(e,a))).then((t=>a.hooks?a.hooks.processAllTokens(t):t)).then((t=>a.walkTokens?Promise.all(this.walkTokens(t,a.walkTokens)).then((()=>t)):t)).then((t=>e(t,a))).then((t=>a.hooks?a.hooks.postprocess(t):t)).catch(o);try{a.hooks&&(r=a.hooks.preprocess(r));let n=t(r,a);a.hooks&&(n=a.hooks.processAllTokens(n)),a.walkTokens&&this.walkTokens(n,a.walkTokens);let i=e(n,a);return a.hooks&&(i=a.hooks.postprocess(i)),i}catch(t){return o(t)}}}#r(t,e){return r=>{if(r.message+="\nPlease report this to https://github.com/markedjs/marked.",t){let t="

    An error occurred:

    "+rP(r.message+"",!0)+"
    ";return e?Promise.resolve(t):t}if(e)return Promise.reject(r);throw r}}},wB=new bB,w(uP,"marked"),uP.options=uP.setOptions=function(t){return wB.setOptions(t),uP.defaults=wB.defaults,eP(uP.defaults),uP},uP.getDefaults=tP,uP.defaults=dP,uP.use=function(...t){return wB.use(...t),uP.defaults=wB.defaults,eP(uP.defaults),uP},uP.walkTokens=function(t,e){return wB.walkTokens(t,e)},uP.parseInline=wB.parseInline,uP.Parser=vB,uP.parser=vB.parse,uP.Renderer=mB,uP.TextRenderer=yB,uP.Lexer=gB,uP.lexer=gB.lex,uP.Tokenizer=kP,uP.Hooks=xB,uP.parse=uP,uP.options,uP.setOptions,uP.use,uP.walkTokens,uP.parseInline,vB.parse,gB.lex}));function TB(t,{markdownAutoWrap:e}){let r=yt(t.replace(//g,"\n").replace(/\n{2,}/g,"\n"));return!1===e?r.replace(/ /g," "):r}function EB(t,e={}){let r=TB(t,e),n=uP.lexer(r),i=[[]],a=0;function o(t,e="normal"){"text"===t.type?t.text.split("\n").forEach(((t,r)=>{0!==r&&(a++,i.push([])),t.split(" ").forEach((t=>{t&&i[a].push({content:t,type:e})}))})):"strong"===t.type||"em"===t.type?t.tokens.forEach((e=>{o(e,t.type)})):"html"===t.type&&i[a].push({content:t.text,type:"normal"})}return w(o,"processNode"),n.forEach((t=>{"paragraph"===t.type?t.tokens?.forEach((t=>{o(t)})):"html"===t.type&&i[a].push({content:t.text,type:"normal"})})),i}function _B(t,{markdownAutoWrap:e}={}){let r=uP.lexer(t);function n(t){return"text"===t.type?!1===e?t.text.replace(/\n */g,"
    ").replace(/ /g," "):t.text.replace(/\n */g,"
    "):"strong"===t.type?`${t.tokens?.map(n).join("")}`:"em"===t.type?`${t.tokens?.map(n).join("")}`:"paragraph"===t.type?`

    ${t.tokens?.map(n).join("")}

    `:"space"===t.type?"":"html"===t.type?`${t.text}`:`Unsupported markdown: ${t.type}`}return w(n,"output"),r.map(n).join("")}var CB=k((()=>{kB(),dr(),w(TB,"preprocessMarkdown"),w(EB,"markdownToLines"),w(_B,"markdownToHTML")}));function SB(t){return Intl.Segmenter?[...(new Intl.Segmenter).segment(t)].map((t=>t.segment)):[...t]}function AB(t,e){return LB(t,[],SB(e.content),e.type)}function LB(t,e,r,n){if(0===r.length)return[{content:e.join(""),type:n},{content:"",type:n}];let[i,...a]=r,o=[...e,i];return t([{content:o.join(""),type:n}])?LB(t,o,a,n):(0===e.length&&i&&(e.push(i),r.shift()),[{content:e.join(""),type:n},{content:r.join(""),type:n}])}function NB(t,e){if(t.some((({content:t})=>t.includes("\n"))))throw new Error("splitLineToFitWidth does not support newlines in the line");return IB(t,e)}function IB(t,e,r=[],n=[]){if(0===t.length)return n.length>0&&r.push(n),r.length>0?r:[];let i="";" "===t[0].content&&(i=" ",t.shift());let a=t.shift()??{content:" ",type:"normal"},o=[...n];if(""!==i&&o.push({content:i,type:"normal"}),o.push(a),e(o))return IB(t,e,r,o);if(n.length>0)r.push(n),t.unshift(a);else if(a.content){let[n,i]=AB(e,a);r.push([n]),i.content&&t.unshift(i)}return IB(t,e,r)}var MB=k((()=>{w(SB,"splitTextToChars"),w(AB,"splitWordToFitWidth"),w(LB,"splitWordToFitWidthRecursion"),w(NB,"splitLineToFitWidth"),w(IB,"splitLineToFitWidthRecursion")}));function RB(t,e){e&&t.attr("style",e)}async function DB(t,e,r,n,i=!1){let a=t.append("foreignObject");a.attr("width",10*r+"px"),a.attr("height",10*r+"px");let o=a.append("xhtml:div"),s=e.label;e.label&&Tc(e.label)&&(s=await _c(e.label.replace(Cc.lineBreakRegex,"\n"),Qc()));let l=e.isNode?"nodeLabel":"edgeLabel",c=o.append("span");c.html(s),RB(c,e.labelStyle),c.attr("class",`${l} ${n}`),RB(o,e.labelStyle),o.style("display","table-cell"),o.style("white-space","nowrap"),o.style("line-height","1.5"),o.style("max-width",r+"px"),o.style("text-align","center"),o.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&o.attr("class","labelBkg");let h=o.node().getBoundingClientRect();return h.width===r&&(o.style("display","table"),o.style("white-space","break-spaces"),o.style("width",r+"px"),h=o.node().getBoundingClientRect()),a.node()}function OB(t,e,r){return t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em")}function PB(t,e,r){let n=t.append("text"),i=OB(n,1,e);$B(i,r);let a=i.node().getComputedTextLength();return n.remove(),a}function BB(t,e,r){let n=t.append("text"),i=OB(n,1,e);$B(i,[{content:r,type:"normal"}]);let a=i.node()?.getBoundingClientRect();return a&&n.remove(),a}function FB(t,e,r,n=!1){let i=e.append("g"),a=i.insert("rect").attr("class","background").attr("style","stroke: none"),o=i.append("text").attr("y","-10.1"),s=0;for(let e of r){let r=w((e=>PB(i,1.1,e)<=t),"checkWidth"),n=r(e)?[e]:NB(e,r);for(let t of n)$B(OB(o,s,1.1),t),s++}if(n){let t=o.node().getBBox(),e=2;return a.attr("x",-e).attr("y",-e).attr("width",t.width+2*e).attr("height",t.height+2*e),i.node()}return o.node()}function $B(t,e){t.text(""),e.forEach(((e,r)=>{let n=t.append("tspan").attr("font-style","em"===e.type?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight","strong"===e.type?"bold":"normal");0===r?n.text(e.content):n.text(" "+e.content)}))}function zB(t){return t.replace(/fa[bklrs]?:fa-[\w-]+/g,(t=>``))}var UB,GB=k((()=>{Qh(),Oc(),jC(),L(),CB(),mD(),MB(),w(RB,"applyStyle"),w(DB,"addHtmlSpan"),w(OB,"createTspan"),w(PB,"computeWidthOfText"),w(BB,"computeDimensionOfText"),w(FB,"createFormattedText"),w($B,"updateTextContentAndStyles"),w(zB,"replaceIconSubstring"),UB=w((async(t,e="",{style:n="",isTitle:i=!1,classes:a="",useHtmlLabels:o=!0,isNode:s=!0,width:l=200,addSvgBackground:c=!1}={},h)=>{if(r.debug("XYZ createText",e,n,i,a,o,s,"addSvgBackground: ",c),o){let r=_B(e,h),i=zB(fD(r)),o=e.replace(/\\\\/g,"\\"),u={isNode:s,label:Tc(e)?o:i,labelStyle:n.replace("fill:","color:")};return await DB(t,u,l,a,c)}{let r=FB(l,t,EB(e.replace(//g,"
    ").replace("
    ","
    "),h),!!e&&c);if(s){/stroke:/.exec(n)&&(n=n.replace("stroke:","lineColor:"));let t=n.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");Qf(r).attr("style",t)}else{let t=n.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");Qf(r).select("rect").attr("style",t.replace(/background:/g,"fill:"));let e=n.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");Qf(r).select("text").attr("style",e)}return r}}),"createText")}));function qB(t,e){e&&t.attr("style",e)}function YB(t){let e=Qf(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),r=e.append("xhtml:div"),n=t.label,i=t.isNode?"nodeLabel":"edgeLabel",a=r.append("span");return a.html(n),qB(a,t.labelStyle),a.attr("class",i),qB(r,t.labelStyle),r.style("display","inline-block"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}var jB,HB,WB=k((()=>{jC(),L(),Qh(),Oc(),mD(),GB(),w(qB,"applyStyle"),w(YB,"addHtmlLabel"),jB=w(((t,e,n,i)=>{let a=t||"";if("object"==typeof a&&(a=a[0]),fc(Qc().flowchart.htmlLabels))return a=a.replace(/\\n|\n/g,"
    "),r.debug("vertexText"+a),YB({isNode:i,label:zB(fD(a)),labelStyle:e.replace("fill:","color:")});{let t=document.createElementNS("http://www.w3.org/2000/svg","text");t.setAttribute("style",e.replace("color:","fill:"));let r=[];r="string"==typeof a?a.split(/\\n|\n|/gi):Array.isArray(a)?a:[];for(let e of r){let r=document.createElementNS("http://www.w3.org/2000/svg","tspan");r.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),r.setAttribute("dy","1em"),r.setAttribute("x","0"),n?r.setAttribute("class","title-row"):r.setAttribute("class","row"),r.textContent=e.trim(),t.appendChild(r)}return t}}),"createLabel"),HB=jB}));function VB(t,e){return t.intersect(e)}var XB,KB=k((()=>{w(VB,"intersectNode"),XB=VB}));function ZB(t,e,r,n){var i=t.x,a=t.y,o=i-n.x,s=a-n.y,l=Math.sqrt(e*e*s*s+r*r*o*o),c=Math.abs(e*r*o/l);n.x{w(ZB,"intersectEllipse"),QB=ZB}));function tF(t,e,r){return QB(t,e,e,r)}var eF,rF=k((()=>{JB(),w(tF,"intersectCircle"),eF=tF}));function nF(t,e,r,n){var i,a,o,s,l,c,h,u,d,p,f,g,m;if(i=e.y-t.y,o=t.x-e.x,l=e.x*t.y-t.x*e.y,d=i*r.x+o*r.y+l,p=i*n.x+o*n.y+l,!(0!==d&&0!==p&&iF(d,p)||(a=n.y-r.y,s=r.x-n.x,c=n.x*r.y-r.x*n.y,h=a*t.x+s*t.y+c,u=a*e.x+s*e.y+c,0!==h&&0!==u&&iF(h,u)||(f=i*s-a*o,0===f))))return g=Math.abs(f/2),{x:(m=o*c-s*l)<0?(m-g)/f:(m+g)/f,y:(m=a*l-i*c)<0?(m-g)/f:(m+g)/f}}function iF(t,e){return t*e>0}var aF,oF=k((()=>{w(nF,"intersectLine"),w(iF,"sameSign"),aF=nF}));function sF(t,e,r){var n=t.x,i=t.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;"function"==typeof e.forEach?e.forEach((function(t){o=Math.min(o,t.x),s=Math.min(s,t.y)})):(o=Math.min(o,e.x),s=Math.min(s,e.y));for(var l=n-t.width/2-o,c=i-t.height/2-s,h=0;h1&&a.sort((function(t,e){var n=t.x-r.x,i=t.y-r.y,a=Math.sqrt(n*n+i*i),o=e.x-r.x,s=e.y-r.y,l=Math.sqrt(o*o+s*s);return a{oF(),lF=sF,w(sF,"intersectPolygon")})),pF=k((()=>{cF=w(((t,e)=>{var r,n,i=t.x,a=t.y,o=e.x-i,s=e.y-a,l=t.width/2,c=t.height/2;return Math.abs(s)*l>Math.abs(o)*c?(s<0&&(c=-c),r=0===s?0:c*o/s,n=c):(o<0&&(l=-l),r=l,n=0===o?0:l*s/o),{x:i+r,y:a+n}}),"intersectRect"),hF=cF})),fF=k((()=>{KB(),rF(),JB(),dF(),pF(),uF={node:XB,circle:eF,ellipse:QB,polygon:lF,rect:hF}}));function gF(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map((function(t){return t.x+","+t.y})).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}var mF,yF,vF,xF,bF=k((()=>{WB(),GB(),Qh(),jC(),Oc(),mD(),mF=w((async(t,e,r,n)=>{let i,a=Qc(),o=e.useHtmlLabels||fc(a.flowchart.htmlLabels);i=r||"node default";let s,l=t.insert("g").attr("class",i).attr("id",e.domId||e.id),c=l.insert("g").attr("class","label").attr("style",e.labelStyle);s=void 0===e.labelText?"":"string"==typeof e.labelText?e.labelText:e.labelText[0];let h,u=c.node();h="markdown"===e.labelType?UB(c,sc(fD(s),a),{useHtmlLabels:o,width:e.width||a.flowchart.wrappingWidth,classes:"markdown-node-label"},a):u.appendChild(HB(sc(fD(s),a),e.labelStyle,!1,n));let d=h.getBBox(),p=e.padding/2;if(fc(a.flowchart.htmlLabels)){let t=h.children[0],e=Qf(h),r=t.getElementsByTagName("img");if(r){let t=""===s.replace(/]*>/g,"").trim();await Promise.all([...r].map((e=>new Promise((r=>{function n(){if(e.style.display="flex",e.style.flexDirection="column",t){let t=a.fontSize?a.fontSize:window.getComputedStyle(document.body).fontSize,r=5*parseInt(t,10)+"px";e.style.minWidth=r,e.style.maxWidth=r}else e.style.width="100%";r(e)}w(n,"setupImage"),setTimeout((()=>{e.complete&&n()})),e.addEventListener("error",n),e.addEventListener("load",n)})))))}d=t.getBoundingClientRect(),e.attr("width",d.width),e.attr("height",d.height)}return o?c.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"):c.attr("transform","translate(0, "+-d.height/2+")"),e.centerLabel&&c.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),c.insert("rect",":first-child"),{shapeSvg:l,bbox:d,halfPadding:p,label:c}}),"labelHelper"),yF=w(((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height}),"updateNodeBounds"),w(gF,"insertPolygonShape")})),wF=k((()=>{bF(),L(),Qh(),fF(),vF=w((async(t,e)=>{e.useHtmlLabels||Qc().flowchart.htmlLabels||(e.centerLabel=!0);let{shapeSvg:n,bbox:i,halfPadding:a}=await mF(t,e,"node "+e.classes,!0);r.info("Classes = ",e.classes);let o=n.insert("rect",":first-child");return o.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),yF(e,o),e.intersect=function(t){return uF.rect(e,t)},n}),"note"),xF=vF}));function kF(t,e,n,i){let a=[],o=w((t=>{a.push(t,0)}),"addBorder"),s=w((t=>{a.push(0,t)}),"skipBorder");e.includes("t")?(r.debug("add top border"),o(n)):s(n),e.includes("r")?(r.debug("add right border"),o(i)):s(i),e.includes("b")?(r.debug("add bottom border"),o(n)):s(n),e.includes("l")?(r.debug("add left border"),o(i)):s(i),t.attr("stroke-dasharray",a.join(" "))}var TF,EF,_F,CF,SF,AF,LF,NF,IF,MF,RF,DF,OF,PF,BF,FF,$F,zF,UF,GF,qF,YF,jF,HF,WF,VF,XF,KF,ZF,QF,JF,t$,e$,r$=k((()=>{jC(),Qh(),Oc(),L(),JO(),WB(),fF(),wF(),bF(),TF=w((t=>t?" "+t:""),"formatClass"),EF=w(((t,e)=>`${e||"node default"}${TF(t.classes)} ${TF(t.class)}`),"getClassesFromNode"),_F=w((async(t,e)=>{let{shapeSvg:n,bbox:i}=await mF(t,e,EF(e,void 0),!0),a=i.width+e.padding+(i.height+e.padding),o=[{x:a/2,y:0},{x:a,y:-a/2},{x:a/2,y:-a},{x:0,y:-a/2}];r.info("Question main (Circle)");let s=gF(n,a,a,o);return s.attr("style",e.style),yF(e,s),e.intersect=function(t){return r.warn("Intersect called"),uF.polygon(e,o,t)},n}),"question"),CF=w(((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);return r.insert("polygon",":first-child").attr("points",[{x:0,y:14},{x:14,y:0},{x:0,y:-14},{x:-14,y:0}].map((function(t){return t.x+","+t.y})).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(t){return uF.circle(e,14,t)},r}),"choice"),SF=w((async(t,e)=>{let{shapeSvg:r,bbox:n}=await mF(t,e,EF(e,void 0),!0),i=n.height+e.padding,a=i/4,o=n.width+2*a+e.padding,s=[{x:a,y:0},{x:o-a,y:0},{x:o,y:-i/2},{x:o-a,y:-i},{x:a,y:-i},{x:0,y:-i/2}],l=gF(r,o,i,s);return l.attr("style",e.style),yF(e,l),e.intersect=function(t){return uF.polygon(e,s,t)},r}),"hexagon"),AF=w((async(t,e)=>{let{shapeSvg:r,bbox:n}=await mF(t,e,void 0,!0),i=n.height+2*e.padding,a=i/2,o=n.width+2*a+e.padding,s=ZO(e.directions,n,e),l=gF(r,o,i,s);return l.attr("style",e.style),yF(e,l),e.intersect=function(t){return uF.polygon(e,s,t)},r}),"block_arrow"),LF=w((async(t,e)=>{let{shapeSvg:r,bbox:n}=await mF(t,e,EF(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,o=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return gF(r,i,a,o).attr("style",e.style),e.width=i+a,e.height=a,e.intersect=function(t){return uF.polygon(e,o,t)},r}),"rect_left_inv_arrow"),NF=w((async(t,e)=>{let{shapeSvg:r,bbox:n}=await mF(t,e,EF(e),!0),i=n.width+e.padding,a=n.height+e.padding,o=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],s=gF(r,i,a,o);return s.attr("style",e.style),yF(e,s),e.intersect=function(t){return uF.polygon(e,o,t)},r}),"lean_right"),IF=w((async(t,e)=>{let{shapeSvg:r,bbox:n}=await mF(t,e,EF(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,o=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],s=gF(r,i,a,o);return s.attr("style",e.style),yF(e,s),e.intersect=function(t){return uF.polygon(e,o,t)},r}),"lean_left"),MF=w((async(t,e)=>{let{shapeSvg:r,bbox:n}=await mF(t,e,EF(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,o=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],s=gF(r,i,a,o);return s.attr("style",e.style),yF(e,s),e.intersect=function(t){return uF.polygon(e,o,t)},r}),"trapezoid"),RF=w((async(t,e)=>{let{shapeSvg:r,bbox:n}=await mF(t,e,EF(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,o=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],s=gF(r,i,a,o);return s.attr("style",e.style),yF(e,s),e.intersect=function(t){return uF.polygon(e,o,t)},r}),"inv_trapezoid"),DF=w((async(t,e)=>{let{shapeSvg:r,bbox:n}=await mF(t,e,EF(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,o=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],s=gF(r,i,a,o);return s.attr("style",e.style),yF(e,s),e.intersect=function(t){return uF.polygon(e,o,t)},r}),"rect_right_inv_arrow"),OF=w((async(t,e)=>{let{shapeSvg:r,bbox:n}=await mF(t,e,EF(e,void 0),!0),i=n.width+e.padding,a=i/2,o=a/(2.5+i/50),s=n.height+o+e.padding,l="M 0,"+o+" a "+a+","+o+" 0,0,0 "+i+" 0 a "+a+","+o+" 0,0,0 "+-i+" 0 l 0,"+s+" a "+a+","+o+" 0,0,0 "+i+" 0 l 0,"+-s,c=r.attr("label-offset-y",o).insert("path",":first-child").attr("style",e.style).attr("d",l).attr("transform","translate("+-i/2+","+-(s/2+o)+")");return yF(e,c),e.intersect=function(t){let r=uF.rect(e,t),n=r.x-e.x;if(0!=a&&(Math.abs(n)e.height/2-o)){let i=o*o*(1-n*n/(a*a));0!=i&&(i=Math.sqrt(i)),i=o-i,t.y-e.y>0&&(i=-i),r.y+=i}return r},r}),"cylinder"),PF=w((async(t,e)=>{let{shapeSvg:n,bbox:i,halfPadding:a}=await mF(t,e,"node "+e.classes+" "+e.class,!0),o=n.insert("rect",":first-child"),s=e.positioned?e.width:i.width+e.padding,l=e.positioned?e.height:i.height+e.padding,c=e.positioned?-s/2:-i.width/2-a,h=e.positioned?-l/2:-i.height/2-a;if(o.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",c).attr("y",h).attr("width",s).attr("height",l),e.props){let t=new Set(Object.keys(e.props));e.props.borders&&(kF(o,e.props.borders,s,l),t.delete("borders")),t.forEach((t=>{r.warn(`Unknown node property ${t}`)}))}return yF(e,o),e.intersect=function(t){return uF.rect(e,t)},n}),"rect"),BF=w((async(t,e)=>{let{shapeSvg:n,bbox:i,halfPadding:a}=await mF(t,e,"node "+e.classes,!0),o=n.insert("rect",":first-child"),s=e.positioned?e.width:i.width+e.padding,l=e.positioned?e.height:i.height+e.padding,c=e.positioned?-s/2:-i.width/2-a,h=e.positioned?-l/2:-i.height/2-a;if(o.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",c).attr("y",h).attr("width",s).attr("height",l),e.props){let t=new Set(Object.keys(e.props));e.props.borders&&(kF(o,e.props.borders,s,l),t.delete("borders")),t.forEach((t=>{r.warn(`Unknown node property ${t}`)}))}return yF(e,o),e.intersect=function(t){return uF.rect(e,t)},n}),"composite"),FF=w((async(t,e)=>{let{shapeSvg:n}=await mF(t,e,"label",!0);r.trace("Classes = ",e.class);let i=n.insert("rect",":first-child");if(i.attr("width",0).attr("height",0),n.attr("class","label edgeLabel"),e.props){let t=new Set(Object.keys(e.props));e.props.borders&&(kF(i,e.props.borders,0,0),t.delete("borders")),t.forEach((t=>{r.warn(`Unknown node property ${t}`)}))}return yF(e,i),e.intersect=function(t){return uF.rect(e,t)},n}),"labelRect"),w(kF,"applyNodePropertyBorders"),$F=w(((t,e)=>{let n;n=e.classes?"node "+e.classes:"node default";let i=t.insert("g").attr("class",n).attr("id",e.domId||e.id),a=i.insert("rect",":first-child"),o=i.insert("line"),s=i.insert("g").attr("class","label"),l=e.labelText.flat?e.labelText.flat():e.labelText,c="";c="object"==typeof l?l[0]:l,r.info("Label text abc79",c,l,"object"==typeof l);let h=s.node().appendChild(HB(c,e.labelStyle,!0,!0)),u={width:0,height:0};if(fc(Qc().flowchart.htmlLabels)){let t=h.children[0],e=Qf(h);u=t.getBoundingClientRect(),e.attr("width",u.width),e.attr("height",u.height)}r.info("Text 2",l);let d=l.slice(1,l.length),p=h.getBBox(),f=s.node().appendChild(HB(d.join?d.join("
    "):d,e.labelStyle,!0,!0));if(fc(Qc().flowchart.htmlLabels)){let t=f.children[0],e=Qf(f);u=t.getBoundingClientRect(),e.attr("width",u.width),e.attr("height",u.height)}let g=e.padding/2;return Qf(f).attr("transform","translate( "+(u.width>p.width?0:(p.width-u.width)/2)+", "+(p.height+g+5)+")"),Qf(h).attr("transform","translate( "+(u.width{let{shapeSvg:r,bbox:n}=await mF(t,e,EF(e,void 0),!0),i=n.height+e.padding,a=n.width+i/4+e.padding,o=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-a/2).attr("y",-i/2).attr("width",a).attr("height",i);return yF(e,o),e.intersect=function(t){return uF.rect(e,t)},r}),"stadium"),UF=w((async(t,e)=>{let{shapeSvg:n,bbox:i,halfPadding:a}=await mF(t,e,EF(e,void 0),!0),o=n.insert("circle",":first-child");return o.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",i.width/2+a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),r.info("Circle main"),yF(e,o),e.intersect=function(t){return r.info("Circle intersect",e,i.width/2+a,t),uF.circle(e,i.width/2+a,t)},n}),"circle"),GF=w((async(t,e)=>{let{shapeSvg:n,bbox:i,halfPadding:a}=await mF(t,e,EF(e,void 0),!0),o=n.insert("g",":first-child"),s=o.insert("circle"),l=o.insert("circle");return o.attr("class",e.class),s.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",i.width/2+a+5).attr("width",i.width+e.padding+10).attr("height",i.height+e.padding+10),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",i.width/2+a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),r.info("DoubleCircle main"),yF(e,s),e.intersect=function(t){return r.info("DoubleCircle intersect",e,i.width/2+a+5,t),uF.circle(e,i.width/2+a+5,t)},n}),"doublecircle"),qF=w((async(t,e)=>{let{shapeSvg:r,bbox:n}=await mF(t,e,EF(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,o=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],s=gF(r,i,a,o);return s.attr("style",e.style),yF(e,s),e.intersect=function(t){return uF.polygon(e,o,t)},r}),"subroutine"),YF=w(((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),yF(e,n),e.intersect=function(t){return uF.circle(e,7,t)},r}),"start"),jF=w(((t,e,r)=>{let n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),i=70,a=10;"LR"===r&&(i=10,a=70);let o=n.append("rect").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return yF(e,o),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(t){return uF.rect(e,t)},n}),"forkJoin"),HF=w(((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child"),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),yF(e,i),e.intersect=function(t){return uF.circle(e,7,t)},r}),"end"),WF=w(((t,e)=>{let r,n=e.padding/2;r=e.classes?"node "+e.classes:"node default";let i=t.insert("g").attr("class",r).attr("id",e.domId||e.id),a=i.insert("rect",":first-child"),o=i.insert("line"),s=i.insert("line"),l=0,c=4,h=i.insert("g").attr("class","label"),u=0,d=e.classData.annotations?.[0],p=e.classData.annotations[0]?"«"+e.classData.annotations[0]+"»":"",f=h.node().appendChild(HB(p,e.labelStyle,!0,!0)),g=f.getBBox();if(fc(Qc().flowchart.htmlLabels)){let t=f.children[0],e=Qf(f);g=t.getBoundingClientRect(),e.attr("width",g.width),e.attr("height",g.height)}e.classData.annotations[0]&&(c+=g.height+4,l+=g.width);let m=e.classData.label;void 0!==e.classData.type&&""!==e.classData.type&&(Qc().flowchart.htmlLabels?m+="<"+e.classData.type+">":m+="<"+e.classData.type+">");let y=h.node().appendChild(HB(m,e.labelStyle,!0,!0));Qf(y).attr("class","classTitle");let v=y.getBBox();if(fc(Qc().flowchart.htmlLabels)){let t=y.children[0],e=Qf(y);v=t.getBoundingClientRect(),e.attr("width",v.width),e.attr("height",v.height)}c+=v.height+4,v.width>l&&(l=v.width);let x=[];e.classData.members.forEach((t=>{let r=t.getDisplayDetails(),n=r.displayText;Qc().flowchart.htmlLabels&&(n=n.replace(//g,">"));let i=h.node().appendChild(HB(n,r.cssStyle?r.cssStyle:e.labelStyle,!0,!0)),a=i.getBBox();if(fc(Qc().flowchart.htmlLabels)){let t=i.children[0],e=Qf(i);a=t.getBoundingClientRect(),e.attr("width",a.width),e.attr("height",a.height)}a.width>l&&(l=a.width),c+=a.height+4,x.push(i)})),c+=8;let b=[];if(e.classData.methods.forEach((t=>{let r=t.getDisplayDetails(),n=r.displayText;Qc().flowchart.htmlLabels&&(n=n.replace(//g,">"));let i=h.node().appendChild(HB(n,r.cssStyle?r.cssStyle:e.labelStyle,!0,!0)),a=i.getBBox();if(fc(Qc().flowchart.htmlLabels)){let t=i.children[0],e=Qf(i);a=t.getBoundingClientRect(),e.attr("width",a.width),e.attr("height",a.height)}a.width>l&&(l=a.width),c+=a.height+4,b.push(i)})),c+=8,d){let t=(l-g.width)/2;Qf(f).attr("transform","translate( "+(-1*l/2+t)+", "+-1*c/2+")"),u=g.height+4}let w=(l-v.width)/2;return Qf(y).attr("transform","translate( "+(-1*l/2+w)+", "+(-1*c/2+u)+")"),u+=v.height+4,o.attr("class","divider").attr("x1",-l/2-n).attr("x2",l/2+n).attr("y1",-c/2-n+8+u).attr("y2",-c/2-n+8+u),u+=8,x.forEach((t=>{Qf(t).attr("transform","translate( "+-l/2+", "+(-1*c/2+u+4)+")");let e=t?.getBBox();u+=(e?.height??0)+4})),u+=8,s.attr("class","divider").attr("x1",-l/2-n).attr("x2",l/2+n).attr("y1",-c/2-n+8+u).attr("y2",-c/2-n+8+u),u+=8,b.forEach((t=>{Qf(t).attr("transform","translate( "+-l/2+", "+(-1*c/2+u)+")");let e=t?.getBBox();u+=(e?.height??0)+4})),a.attr("style",e.style).attr("class","outer title-state").attr("x",-l/2-n).attr("y",-c/2-n).attr("width",l+e.padding).attr("height",c+e.padding),yF(e,a),e.intersect=function(t){return uF.rect(e,t)},i}),"class_box"),VF={rhombus:_F,composite:BF,question:_F,rect:PF,labelRect:FF,rectWithTitle:$F,choice:CF,circle:UF,doublecircle:GF,stadium:zF,hexagon:SF,block_arrow:AF,rect_left_inv_arrow:LF,lean_right:NF,lean_left:IF,trapezoid:MF,inv_trapezoid:RF,rect_right_inv_arrow:DF,cylinder:OF,start:YF,end:HF,note:xF,subroutine:qF,fork:jF,join:jF,class_box:WF},XF={},KF=w((async(t,e,r)=>{let n,i;if(e.link){let a;"sandbox"===Qc().securityLevel?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await VF[e.shape](n,e,r)}else i=await VF[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),XF[e.id]=n,e.haveCallback&&XF[e.id].attr("class",XF[e.id].attr("class")+" clickable"),n}),"insertNode"),ZF=w(((t,e)=>{XF[e.id]=t}),"setNodeElem"),QF=w((()=>{XF={}}),"clear"),JF=w((t=>{let e=XF[t.id];r.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-8)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n}),"positionNode")})),n$=k((()=>{jC(),r$(),t$=w(((t,e)=>{let r;return"sandbox"===e&&(r=Qf("#i"+t)),Qf("sandbox"===e?r.nodes()[0].contentDocument.body:"body").select(`[id="${t}"]`)}),"getDiagramElement")})),i$=k((()=>{e$=w((({flowchart:t})=>{let e=t?.subGraphTitleMargin?.top??0,r=t?.subGraphTitleMargin?.bottom??0;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:e+r}}),"getSubGraphTitleMargins")}));function a$(t,e,r){if(t&&t.length){let[n,i]=e,a=Math.PI/180*r,o=Math.cos(a),s=Math.sin(a);for(let e of t){let[t,r]=e;e[0]=(t-n)*o-(r-i)*s+n,e[1]=(t-n)*s+(r-i)*o+i}}}function o$(t,e){return t[0]===e[0]&&t[1]===e[1]}function s$(t,e,r,n=1){let i=r,a=Math.max(e,.1),o=t[0]&&t[0][0]&&"number"==typeof t[0][0]?[t]:t,s=[0,0];if(i)for(let t of o)a$(t,s,i);let l=function(t,e,r){let n=[];for(let e of t){let t=[...e];o$(t[0],t[t.length-1])||t.push([t[0][0],t[0][1]]),t.length>2&&n.push(t)}let i=[];e=Math.max(e,.1);let a=[];for(let t of n)for(let e=0;et.ymine.ymin?1:t.xe.x?1:t.ymax===e.ymax?0:(t.ymax-e.ymax)/Math.abs(t.ymax-e.ymax))),!a.length)return i;let o=[],s=a[0].ymin,l=0;for(;o.length||a.length;){if(a.length){let t=-1;for(let e=0;es);e++)t=e;a.splice(0,t+1).forEach((t=>{o.push({s,edge:t})}))}if(o=o.filter((t=>!(t.edge.ymax<=s))),o.sort(((t,e)=>t.edge.x===e.edge.x?0:(t.edge.x-e.edge.x)/Math.abs(t.edge.x-e.edge.x))),(1!==r||l%e==0)&&o.length>1)for(let t=0;t=o.length)break;let r=o[t].edge,n=o[e].edge;i.push([[Math.round(r.x),s],[Math.round(n.x),s]])}s+=r,o.forEach((t=>{t.edge.x=t.edge.x+r*t.edge.islope})),l++}return i}(o,a,n);if(i){for(let t of o)a$(t,s,-i);!function(t,e,r){let n=[];t.forEach((t=>n.push(...t))),a$(n,e,r)}(l,s,-i)}return l}function l$(t,e){var r;let n=e.hachureAngle+90,i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.round(Math.max(i,.1));let a=1;return e.roughness>=1&&((null===(r=e.randomizer)||void 0===r?void 0:r.next())||Math.random())>.7&&(a=i),s$(t,i,n,a||1)}function c$(t){let e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}function h$(t,e){return t.type===e}function u$(t){let e=[],r=function(t){let e=new Array;for(;""!==t;)if(t.match(/^([ \t\r\n,]+)/))t=t.substr(RegExp.$1.length);else if(t.match(/^([aAcChHlLmMqQsStTvVzZ])/))e[e.length]={type:tz,text:RegExp.$1},t=t.substr(RegExp.$1.length);else{if(!t.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];e[e.length]={type:ez,text:`${parseFloat(RegExp.$1)}`},t=t.substr(RegExp.$1.length)}return e[e.length]={type:rz,text:""},e}(t),n="BOD",i=0,a=r[i];for(;!h$(a,rz);){let o=0,s=[];if("BOD"===n){if("M"!==a.text&&"m"!==a.text)return u$("M0,0"+t);i++,o=nz[a.text],n=a.text}else h$(a,ez)?o=nz[n]:(i++,o=nz[a.text],n=a.text);if(!(i+on%2?t+r:t+e));a.push({key:"C",data:t}),e=t[4],r=t[5];break}case"Q":a.push({key:"Q",data:[...s]}),e=s[2],r=s[3];break;case"q":{let t=s.map(((t,n)=>n%2?t+r:t+e));a.push({key:"Q",data:t}),e=t[2],r=t[3];break}case"A":a.push({key:"A",data:[...s]}),e=s[5],r=s[6];break;case"a":e+=s[5],r+=s[6],a.push({key:"A",data:[s[0],s[1],s[2],s[3],s[4],e,r]});break;case"H":a.push({key:"H",data:[...s]}),e=s[0];break;case"h":e+=s[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...s]}),r=s[0];break;case"v":r+=s[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...s]}),e=s[2],r=s[3];break;case"s":{let t=s.map(((t,n)=>n%2?t+r:t+e));a.push({key:"S",data:t}),e=t[2],r=t[3];break}case"T":a.push({key:"T",data:[...s]}),e=s[0],r=s[1];break;case"t":e+=s[0],r+=s[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=n,r=i}return a}function p$(t){let e=[],r="",n=0,i=0,a=0,o=0,s=0,l=0;for(let{key:c,data:h}of t){switch(c){case"M":e.push({key:"M",data:[...h]}),[n,i]=h,[a,o]=h;break;case"C":e.push({key:"C",data:[...h]}),n=h[4],i=h[5],s=h[2],l=h[3];break;case"L":e.push({key:"L",data:[...h]}),[n,i]=h;break;case"H":n=h[0],e.push({key:"L",data:[n,i]});break;case"V":i=h[0],e.push({key:"L",data:[n,i]});break;case"S":{let t=0,a=0;"C"===r||"S"===r?(t=n+(n-s),a=i+(i-l)):(t=n,a=i),e.push({key:"C",data:[t,a,...h]}),s=h[0],l=h[1],n=h[2],i=h[3];break}case"T":{let[t,a]=h,o=0,c=0;"Q"===r||"T"===r?(o=n+(n-s),c=i+(i-l)):(o=n,c=i);let u=n+2*(o-n)/3,d=i+2*(c-i)/3,p=t+2*(o-t)/3,f=a+2*(c-a)/3;e.push({key:"C",data:[u,d,p,f,t,a]}),s=o,l=c,n=t,i=a;break}case"Q":{let[t,r,a,o]=h,c=n+2*(t-n)/3,u=i+2*(r-i)/3,d=a+2*(t-a)/3,p=o+2*(r-o)/3;e.push({key:"C",data:[c,u,d,p,a,o]}),s=t,l=r,n=a,i=o;break}case"A":{let t=Math.abs(h[0]),r=Math.abs(h[1]),a=h[2],o=h[3],s=h[4],l=h[5],c=h[6];0===t||0===r?(e.push({key:"C",data:[n,i,l,c,l,c]}),n=l,i=c):(n!==l||i!==c)&&(g$(n,i,l,c,t,r,a,o,s).forEach((function(t){e.push({key:"C",data:t})})),n=l,i=c);break}case"Z":e.push({key:"Z",data:[]}),n=a,i=o}r=c}return e}function f$(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function g$(t,e,r,n,i,a,o,s,l,c){let h=(u=o,Math.PI*u/180);var u;let d=[],p=0,f=0,g=0,m=0;if(c)[p,f,g,m]=c;else{[t,e]=f$(t,e,-h),[r,n]=f$(r,n,-h);let o=(t-r)/2,c=(e-n)/2,u=o*o/(i*i)+c*c/(a*a);u>1&&(u=Math.sqrt(u),i*=u,a*=u);let d=i*i,y=a*a,v=d*y-d*c*c-y*o*o,x=d*c*c+y*o*o,b=(s===l?-1:1)*Math.sqrt(Math.abs(v/x));g=b*i*c/a+(t+r)/2,m=b*-a*o/i+(e+n)/2,p=Math.asin(parseFloat(((e-m)/a).toFixed(9))),f=Math.asin(parseFloat(((n-m)/a).toFixed(9))),tf&&(p-=2*Math.PI),!l&&f>p&&(f-=2*Math.PI)}let y=f-p;if(Math.abs(y)>120*Math.PI/180){let t=f,e=r,s=n;f=l&&f>p?p+120*Math.PI/180*1:p+120*Math.PI/180*-1,d=g$(r=g+i*Math.cos(f),n=m+a*Math.sin(f),e,s,i,a,o,0,l,[f,t,g,m])}y=f-p;let v=Math.cos(p),x=Math.sin(p),b=Math.cos(f),w=Math.sin(f),k=Math.tan(y/4),T=4/3*i*k,E=4/3*a*k,_=[t,e],C=[t+T*x,e-E*v],S=[r+T*w,n-E*b],A=[r,n];if(C[0]=2*_[0]-C[0],C[1]=2*_[1]-C[1],c)return[C,S,A].concat(d);{d=[C,S,A].concat(d);let t=[];for(let e=0;e2){let i=[];for(let e=0;e2*Math.PI&&(p=0,f=2*Math.PI);let g=2*Math.PI/l.curveStepCount,m=Math.min(g/2,(f-p)/2),y=O$(m,c,h,u,d,p,f,1,l);if(!l.disableMultiStroke){let t=O$(m,c,h,u,d,p,f,1.5,l);y.push(...t)}return o&&(s?y.push(...N$(c,h,c+u*Math.cos(p),h+d*Math.sin(p),l),...N$(c,h,c+u*Math.cos(f),h+d*Math.sin(f),l)):y.push({op:"lineTo",data:[c,h]},{op:"lineTo",data:[c+u*Math.cos(p),h+d*Math.sin(p)]})),{type:"path",ops:y}}function T$(t,e){let r=p$(d$(u$(t))),n=[],i=[0,0],a=[0,0];for(let{key:t,data:o}of r)switch(t){case"M":a=[o[0],o[1]],i=[o[0],o[1]];break;case"L":n.push(...N$(a[0],a[1],o[0],o[1],e)),a=[o[0],o[1]];break;case"C":{let[t,r,i,s,l,c]=o;n.push(...P$(t,r,i,s,l,c,a,e)),a=[l,c];break}case"Z":n.push(...N$(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:n}}function E$(t,e){let r=[];for(let n of t)if(n.length){let t=e.maxRandomnessOffset||0,i=n.length;if(i>2){r.push({op:"move",data:[n[0][0]+L$(t,e),n[0][1]+L$(t,e)]});for(let a=1;a500?.4:-.0016668*l+1.233334;let h=i.maxRandomnessOffset||0;h*h*100>s&&(h=l/10);let u=h/2,d=.2+.2*S$(i),p=i.bowing*i.maxRandomnessOffset*(n-e)/200,f=i.bowing*i.maxRandomnessOffset*(t-r)/200;p=L$(p,i,c),f=L$(f,i,c);let g=[],m=w((()=>L$(u,i,c)),"M"),y=w((()=>L$(h,i,c)),"k"),v=i.preserveVertices;return a&&(o?g.push({op:"move",data:[t+(v?0:m()),e+(v?0:m())]}):g.push({op:"move",data:[t+(v?0:L$(h,i,c)),e+(v?0:L$(h,i,c))]})),o?g.push({op:"bcurveTo",data:[p+t+(r-t)*d+m(),f+e+(n-e)*d+m(),p+t+2*(r-t)*d+m(),f+e+2*(n-e)*d+m(),r+(v?0:m()),n+(v?0:m())]}):g.push({op:"bcurveTo",data:[p+t+(r-t)*d+y(),f+e+(n-e)*d+y(),p+t+2*(r-t)*d+y(),f+e+2*(n-e)*d+y(),r+(v?0:y()),n+(v?0:y())]}),g}function M$(t,e,r){if(!t.length)return[];let n=[];n.push([t[0][0]+L$(e,r),t[0][1]+L$(e,r)]),n.push([t[0][0]+L$(e,r),t[0][1]+L$(e,r)]);for(let i=1;i3){let a=[],o=1-r.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let e=1;e+21&&i.push(r)):i.push(r),i.push(t[e+3])}else{let n=t[e+0],a=t[e+1],o=t[e+2],s=t[e+3],l=U$(n,a,.5),c=U$(a,o,.5),h=U$(o,s,.5),u=U$(l,c,.5),d=U$(c,h,.5),p=U$(u,d,.5);G$([n,l,u,p],0,r,i),G$([p,d,h,s],0,r,i)}var a,o;return i}function q$(t,e){return Y$(t,0,t.length,e)}function Y$(t,e,r,n,i){let a=i||[],o=t[e],s=t[r-1],l=0,c=1;for(let n=e+1;nl&&(l=e,c=n)}return Math.sqrt(l)>n?(Y$(t,e,c+1,n,a),Y$(t,c,r,n,a)):(a.length||a.push(o),a.push(s)),a}function j$(t,e=.15,r){let n=[],i=(t.length-1)/3;for(let r=0;r0?Y$(n,0,n.length,r):n}var H$,W$,V$,X$,K$,Z$,Q$,J$,tz,ez,rz,nz,iz,az,oz,sz,lz,cz,hz,uz,dz,pz=k((()=>{w(a$,"t"),w(o$,"e"),w(s$,"s"),w(l$,"n"),H$=class{static{w(this,"o")}constructor(t){this.helper=t}fillPolygons(t,e){return this._fillPolygons(t,e)}_fillPolygons(t,e){let r=l$(t,e);return{type:"fillSketch",ops:this.renderLines(r,e)}}renderLines(t,e){let r=[];for(let n of t)r.push(...this.helper.doubleLineOps(n[0][0],n[0][1],n[1][0],n[1][1],e));return r}},w(c$,"a"),W$=class extends H${static{w(this,"h")}fillPolygons(t,e){let r=e.hachureGap;r<0&&(r=4*e.strokeWidth),r=Math.max(r,.1);let n=l$(t,Object.assign({},e,{hachureGap:r})),i=Math.PI/180*e.hachureAngle,a=[],o=.5*r*Math.cos(i),s=.5*r*Math.sin(i);for(let[t,e]of n)c$([t,e])&&a.push([[t[0]-o,t[1]+s],[...e]],[[t[0]+o,t[1]-s],[...e]]);return{type:"fillSketch",ops:this.renderLines(a,e)}}},V$=class extends H${static{w(this,"r")}fillPolygons(t,e){let r=this._fillPolygons(t,e),n=Object.assign({},e,{hachureAngle:e.hachureAngle+90}),i=this._fillPolygons(t,n);return r.ops=r.ops.concat(i.ops),r}},X$=class{static{w(this,"i")}constructor(t){this.helper=t}fillPolygons(t,e){let r=l$(t,e=Object.assign({},e,{hachureAngle:0}));return this.dotsOnLines(r,e)}dotsOnLines(t,e){let r=[],n=e.hachureGap;n<0&&(n=4*e.strokeWidth),n=Math.max(n,.1);let i=e.fillWeight;i<0&&(i=e.strokeWidth/2);let a=n/4;for(let o of t){let t=c$(o),s=t/n,l=Math.ceil(s)-1,c=t-l*n,h=(o[0][0]+o[1][0])/2-n/4,u=Math.min(o[0][1],o[1][1]);for(let t=0;t{let a=c$(t),o=Math.floor(a/(r+n)),s=(a+n-o*(r+n))/2,l=t[0],c=t[1];l[0]>c[0]&&(l=t[1],c=t[0]);let h=Math.atan((c[1]-l[1])/(c[0]-l[0]));for(let t=0;t{let i=c$(t),a=Math.round(i/(2*e)),o=t[0],s=t[1];o[0]>s[0]&&(o=t[1],s=t[0]);let l=Math.atan((s[1]-o[1])/(s[0]-o[0]));for(let t=0;t2*Math.PI&&(u=0,d=2*Math.PI);let p=(d-u)/o.curveStepCount,f=[];for(let t=u;t<=d;t+=p)f.push([s+c*Math.cos(t),l+h*Math.sin(t)]);return f.push([s+c*Math.cos(d),l+h*Math.sin(d)]),f.push([s,l]),_$([f],o)}(t,e,r,n,i,a,l));return l.stroke!==az&&c.push(h),this._d("arc",c,l)}curve(t,e){let r=this._o(e),n=[],i=x$(t,r);if(r.fill&&r.fill!==az)if("solid"===r.fillStyle){let e=x$(t,Object.assign(Object.assign({},r),{disableMultiStroke:!0,roughness:r.roughness?r.roughness+r.fillShapeRoughnessGain:0}));n.push({type:"fillPath",ops:this._mergedShape(e.ops)})}else{let e=[],i=t;if(i.length){let t="number"==typeof i[0][0]?[i]:i;for(let n of t)n.length<3?e.push(...n):3===n.length?e.push(...j$(F$([n[0],n[0],n[1],n[2]]),10,(1+r.roughness)/2)):e.push(...j$(F$(n),10,(1+r.roughness)/2))}e.length&&n.push(_$([e],r))}return r.stroke!==az&&n.push(i),this._d("curve",n,r)}polygon(t,e){let r=this._o(e),n=[],i=y$(t,!0,r);return r.fill&&("solid"===r.fillStyle?n.push(E$([t],r)):n.push(_$([t],r))),r.stroke!==az&&n.push(i),this._d("polygon",n,r)}path(t,e){let r=this._o(e),n=[];if(!t)return this._d("path",n,r);t=(t||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");let i=r.fill&&"transparent"!==r.fill&&r.fill!==az,a=r.stroke!==az,o=!!(r.simplification&&r.simplification<1),s=function(t,e,r){let n=p$(d$(u$(t))),i=[],a=[],o=[0,0],s=[],l=w((()=>{s.length>=4&&a.push(...j$(s,1)),s=[]}),"i"),c=w((()=>{l(),a.length&&(i.push(a),a=[])}),"c");for(let{key:t,data:e}of n)switch(t){case"M":c(),o=[e[0],e[1]],a.push(o);break;case"L":l(),a.push([e[0],e[1]]);break;case"C":if(!s.length){let t=a.length?a[a.length-1]:o;s.push([t[0],t[1]])}s.push([e[0],e[1]]),s.push([e[2],e[3]]),s.push([e[4],e[5]]);break;case"Z":l(),a.push([o[0],o[1]])}if(c(),!r)return i;let h=[];for(let t of i){let e=q$(t,r);e.length&&h.push(e)}return h}(t,0,o?4-4*(r.simplification||1):(1+r.roughness)/2),l=T$(t,r);if(i)if("solid"===r.fillStyle)if(1===s.length){let e=T$(t,Object.assign(Object.assign({},r),{disableMultiStroke:!0,roughness:r.roughness?r.roughness+r.fillShapeRoughnessGain:0}));n.push({type:"fillPath",ops:this._mergedShape(e.ops)})}else n.push(E$(s,r));else n.push(_$(s,r));return a&&(o?s.forEach((t=>{n.push(y$(t,!1,r))})):n.push(l)),this._d("path",n,r)}opsToPath(t,e){let r="";for(let n of t.ops){let t="number"==typeof e&&e>=0?n.data.map((t=>+t.toFixed(e))):n.data;switch(n.op){case"move":r+=`M${t[0]} ${t[1]} `;break;case"bcurveTo":r+=`C${t[0]} ${t[1]}, ${t[2]} ${t[3]}, ${t[4]} ${t[5]} `;break;case"lineTo":r+=`L${t[0]} ${t[1]} `}}return r.trim()}toPaths(t){let e=t.sets||[],r=t.options||this.defaultOptions,n=[];for(let t of e){let e=null;switch(t.type){case"path":e={d:this.opsToPath(t),stroke:r.stroke,strokeWidth:r.strokeWidth,fill:az};break;case"fillPath":e={d:this.opsToPath(t),stroke:az,strokeWidth:0,fill:r.fill||az};break;case"fillSketch":e=this.fillSketch(t,r)}e&&n.push(e)}return n}fillSketch(t,e){let r=e.fillWeight;return r<0&&(r=e.strokeWidth/2),{d:this.opsToPath(t),stroke:e.fill||az,strokeWidth:r,fill:az}}_mergedShape(t){return t.filter(((t,e)=>0===e||"move"!==t.op))}},sz=class{static{w(this,"st")}constructor(t,e){this.canvas=t,this.ctx=this.canvas.getContext("2d"),this.gen=new oz(e)}draw(t){let e=t.sets||[],r=t.options||this.getDefaultOptions(),n=this.ctx,i=t.options.fixedDecimalPlaceDigits;for(let a of e)switch(a.type){case"path":n.save(),n.strokeStyle="none"===r.stroke?"transparent":r.stroke,n.lineWidth=r.strokeWidth,r.strokeLineDash&&n.setLineDash(r.strokeLineDash),r.strokeLineDashOffset&&(n.lineDashOffset=r.strokeLineDashOffset),this._drawToContext(n,a,i),n.restore();break;case"fillPath":{n.save(),n.fillStyle=r.fill||"";let e="curve"===t.shape||"polygon"===t.shape||"path"===t.shape?"evenodd":"nonzero";this._drawToContext(n,a,i,e),n.restore();break}case"fillSketch":this.fillSketch(n,a,r)}}fillSketch(t,e,r){let n=r.fillWeight;n<0&&(n=r.strokeWidth/2),t.save(),r.fillLineDash&&t.setLineDash(r.fillLineDash),r.fillLineDashOffset&&(t.lineDashOffset=r.fillLineDashOffset),t.strokeStyle=r.fill||"",t.lineWidth=n,this._drawToContext(t,e,r.fixedDecimalPlaceDigits),t.restore()}_drawToContext(t,e,r,n="nonzero"){t.beginPath();for(let n of e.ops){let e="number"==typeof r&&r>=0?n.data.map((t=>+t.toFixed(r))):n.data;switch(n.op){case"move":t.moveTo(e[0],e[1]);break;case"bcurveTo":t.bezierCurveTo(e[0],e[1],e[2],e[3],e[4],e[5]);break;case"lineTo":t.lineTo(e[0],e[1])}}"fillPath"===e.type?t.fill(n):t.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(t,e,r,n,i){let a=this.gen.line(t,e,r,n,i);return this.draw(a),a}rectangle(t,e,r,n,i){let a=this.gen.rectangle(t,e,r,n,i);return this.draw(a),a}ellipse(t,e,r,n,i){let a=this.gen.ellipse(t,e,r,n,i);return this.draw(a),a}circle(t,e,r,n){let i=this.gen.circle(t,e,r,n);return this.draw(i),i}linearPath(t,e){let r=this.gen.linearPath(t,e);return this.draw(r),r}polygon(t,e){let r=this.gen.polygon(t,e);return this.draw(r),r}arc(t,e,r,n,i,a,o=!1,s){let l=this.gen.arc(t,e,r,n,i,a,o,s);return this.draw(l),l}curve(t,e){let r=this.gen.curve(t,e);return this.draw(r),r}path(t,e){let r=this.gen.path(t,e);return this.draw(r),r}},lz="http://www.w3.org/2000/svg",cz=class{static{w(this,"ot")}constructor(t,e){this.svg=t,this.gen=new oz(e)}draw(t){let e=t.sets||[],r=t.options||this.getDefaultOptions(),n=this.svg.ownerDocument||window.document,i=n.createElementNS(lz,"g"),a=t.options.fixedDecimalPlaceDigits;for(let o of e){let e=null;switch(o.type){case"path":e=n.createElementNS(lz,"path"),e.setAttribute("d",this.opsToPath(o,a)),e.setAttribute("stroke",r.stroke),e.setAttribute("stroke-width",r.strokeWidth+""),e.setAttribute("fill","none"),r.strokeLineDash&&e.setAttribute("stroke-dasharray",r.strokeLineDash.join(" ").trim()),r.strokeLineDashOffset&&e.setAttribute("stroke-dashoffset",`${r.strokeLineDashOffset}`);break;case"fillPath":e=n.createElementNS(lz,"path"),e.setAttribute("d",this.opsToPath(o,a)),e.setAttribute("stroke","none"),e.setAttribute("stroke-width","0"),e.setAttribute("fill",r.fill||""),"curve"!==t.shape&&"polygon"!==t.shape||e.setAttribute("fill-rule","evenodd");break;case"fillSketch":e=this.fillSketch(n,o,r)}e&&i.appendChild(e)}return i}fillSketch(t,e,r){let n=r.fillWeight;n<0&&(n=r.strokeWidth/2);let i=t.createElementNS(lz,"path");return i.setAttribute("d",this.opsToPath(e,r.fixedDecimalPlaceDigits)),i.setAttribute("stroke",r.fill||""),i.setAttribute("stroke-width",n+""),i.setAttribute("fill","none"),r.fillLineDash&&i.setAttribute("stroke-dasharray",r.fillLineDash.join(" ").trim()),r.fillLineDashOffset&&i.setAttribute("stroke-dashoffset",`${r.fillLineDashOffset}`),i}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(t,e){return this.gen.opsToPath(t,e)}line(t,e,r,n,i){let a=this.gen.line(t,e,r,n,i);return this.draw(a)}rectangle(t,e,r,n,i){let a=this.gen.rectangle(t,e,r,n,i);return this.draw(a)}ellipse(t,e,r,n,i){let a=this.gen.ellipse(t,e,r,n,i);return this.draw(a)}circle(t,e,r,n){let i=this.gen.circle(t,e,r,n);return this.draw(i)}linearPath(t,e){let r=this.gen.linearPath(t,e);return this.draw(r)}polygon(t,e){let r=this.gen.polygon(t,e);return this.draw(r)}arc(t,e,r,n,i,a,o=!1,s){let l=this.gen.arc(t,e,r,n,i,a,o,s);return this.draw(l)}curve(t,e){let r=this.gen.curve(t,e);return this.draw(r)}path(t,e){let r=this.gen.path(t,e);return this.draw(r)}},hz={canvas:w(((t,e)=>new sz(t,e)),"canvas"),svg:w(((t,e)=>new cz(t,e)),"svg"),generator:w((t=>new oz(t)),"generator"),newSeed:w((()=>oz.newSeed()),"newSeed")}})),fz=k((()=>{uz=w(((t,e)=>{var r,n,i=t.x,a=t.y,o=e.x-i,s=e.y-a,l=t.width/2,c=t.height/2;return Math.abs(s)*l>Math.abs(o)*c?(s<0&&(c=-c),r=0===s?0:c*o/s,n=c):(o<0&&(l=-l),r=l,n=0===o?0:l*s/o),{x:i+r,y:a+n}}),"intersectRect"),dz=uz}));function gz(t,e){e&&t.attr("style",e)}async function mz(t){let e=Qf(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),r=e.append("xhtml:div"),n=t.label;t.label&&Tc(t.label)&&(n=await _c(t.label.replace(Cc.lineBreakRegex,"\n"),Qc()));let i=t.isNode?"nodeLabel":"edgeLabel";return r.html('"+n+""),gz(r,t.labelStyle),r.style("display","inline-block"),r.style("padding-right","1px"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}var yz,vz,xz,bz,wz,kz,Tz,Ez,_z,Cz,Sz,Az,Lz,Nz,Iz,Mz,Rz=k((()=>{jC(),L(),Qh(),Oc(),mD(),w(gz,"applyStyle"),w(mz,"addHtmlLabel"),yz=w((async(t,e,n,i)=>{let a=t||"";if("object"==typeof a&&(a=a[0]),fc(Qc().flowchart.htmlLabels)){a=a.replace(/\\n|\n/g,"
    "),r.info("vertexText"+a);let t={isNode:i,label:fD(a).replace(/fa[blrs]?:fa-[\w-]+/g,(t=>``)),labelStyle:e&&e.replace("fill:","color:")};return await mz(t)}{let t=document.createElementNS("http://www.w3.org/2000/svg","text");t.setAttribute("style",e.replace("color:","fill:"));let r=[];r="string"==typeof a?a.split(/\\n|\n|/gi):Array.isArray(a)?a:[];for(let e of r){let r=document.createElementNS("http://www.w3.org/2000/svg","tspan");r.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),r.setAttribute("dy","1em"),r.setAttribute("x","0"),n?r.setAttribute("class","title-row"):r.setAttribute("class","row"),r.textContent=e.trim(),t.appendChild(r)}return t}}),"createLabel"),vz=yz})),Dz=k((()=>{xz=w(((t,e,r,n,i)=>["M",t+i,e,"H",t+r-i,"A",i,i,0,0,1,t+r,e+i,"V",e+n-i,"A",i,i,0,0,1,t+r-i,e+n,"H",t+i,"A",i,i,0,0,1,t,e+n-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" ")),"createRoundedRectPathD")})),Oz=k((()=>{Qh(),bz=w((t=>{let{handDrawnSeed:e}=Qc();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}}),"solidStateFill"),wz=w((t=>{let e=kz([...t.cssCompiledStyles||[],...t.cssStyles||[]]);return{stylesMap:e,stylesArray:[...e]}}),"compileStyles"),kz=w((t=>{let e=new Map;return t.forEach((t=>{let[r,n]=t.split(":");e.set(r.trim(),n?.trim())})),e}),"styles2Map"),Tz=w((t=>{let{stylesArray:e}=wz(t),r=[],n=[],i=[],a=[];return e.forEach((t=>{let e=t[0];"color"===e||"font-size"===e||"font-family"===e||"font-weight"===e||"font-style"===e||"text-decoration"===e||"text-align"===e||"text-transform"===e||"line-height"===e||"letter-spacing"===e||"word-spacing"===e||"text-shadow"===e||"text-overflow"===e||"white-space"===e||"word-wrap"===e||"word-break"===e||"overflow-wrap"===e||"hyphens"===e?r.push(t.join(":")+" !important"):(n.push(t.join(":")+" !important"),e.includes("stroke")&&i.push(t.join(":")+" !important"),"fill"===e&&a.push(t.join(":")+" !important"))})),{labelStyles:r.join(";"),nodeStyles:n.join(";"),stylesArray:e,borderStyles:i,backgroundStyles:a}}),"styles2String"),Ez=w(((t,e)=>{let{themeVariables:r,handDrawnSeed:n}=Qc(),{nodeBorder:i,mainBkg:a}=r,{stylesMap:o}=wz(t);return Object.assign({roughness:.7,fill:o.get("fill")||a,fillStyle:"hachure",fillWeight:4,stroke:o.get("stroke")||i,seed:n,strokeWidth:1.3},e)}),"userNodeOverrides")})),Pz=k((()=>{Qh(),Oc(),L(),i$(),jC(),pz(),GB(),fz(),Rz(),Dz(),Oz(),_z=w((async(t,e)=>{r.info("Creating subgraph rect for ",e.id,e);let n=Qc(),{themeVariables:i,handDrawnSeed:a}=n,{clusterBkg:o,clusterBorder:s}=i,{labelStyles:l,nodeStyles:c,borderStyles:h,backgroundStyles:u}=Tz(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.id).attr("data-look",e.look),p=fc(n.flowchart.htmlLabels),f=d.insert("g").attr("class","cluster-label "),g=await UB(f,e.label,{style:e.labelStyle,useHtmlLabels:p,isNode:!0}),m=g.getBBox();if(fc(n.flowchart.htmlLabels)){let t=g.children[0],e=Qf(g);m=t.getBoundingClientRect(),e.attr("width",m.width),e.attr("height",m.height)}let y=e.width<=m.width+e.padding?m.width+e.padding:e.width;e.width<=m.width+e.padding?e.diff=(y-e.width)/2-e.padding:e.diff=-e.padding;let v,x=e.height,b=e.x-y/2,w=e.y-x/2;if(r.trace("Data ",e,JSON.stringify(e)),"handDrawn"===e.look){let t=hz.svg(d),n=Ez(e,{roughness:.7,fill:o,stroke:s,fillWeight:3,seed:a}),i=t.path(xz(b,w,y,x,0),n);v=d.insert((()=>(r.debug("Rough node insert CXC",i),i)),":first-child"),v.select("path:nth-child(2)").attr("style",h.join(";")),v.select("path").attr("style",u.join(";").replace("fill","stroke"))}else v=d.insert("rect",":first-child"),v.attr("style",c).attr("rx",e.rx).attr("ry",e.ry).attr("x",b).attr("y",w).attr("width",y).attr("height",x);let{subGraphTitleTopMargin:k}=e$(n);if(f.attr("transform",`translate(${e.x-m.width/2}, ${e.y-e.height/2+k})`),l){let t=f.select("span");t&&t.attr("style",l)}let T=v.node().getBBox();return e.offsetX=0,e.width=T.width,e.height=T.height,e.offsetY=m.height-e.padding/2,e.intersect=function(t){return dz(e,t)},{cluster:d,labelBBox:m}}),"rect"),Cz=w(((t,e)=>{let r=t.insert("g").attr("class","note-cluster").attr("id",e.id),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");let o=n.node().getBBox();return e.width=o.width,e.height=o.height,e.intersect=function(t){return dz(e,t)},{cluster:r,labelBBox:{width:0,height:0}}}),"noteGroup"),Sz=w((async(t,e)=>{let r=Qc(),{themeVariables:n,handDrawnSeed:i}=r,{altBackground:a,compositeBackground:o,compositeTitleBackground:s,nodeBorder:l}=n,c=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-id",e.id).attr("data-look",e.look),h=c.insert("g",":first-child"),u=c.insert("g").attr("class","cluster-label"),d=c.append("rect"),p=u.node().appendChild(await vz(e.label,e.labelStyle,void 0,!0)),f=p.getBBox();if(fc(r.flowchart.htmlLabels)){let t=p.children[0],e=Qf(p);f=t.getBoundingClientRect(),e.attr("width",f.width),e.attr("height",f.height)}let g=0*e.padding,m=g/2,y=(e.width<=f.width+e.padding?f.width+e.padding:e.width)+g;e.width<=f.width+e.padding?e.diff=(y-e.width)/2-e.padding:e.diff=-e.padding;let v=e.height+g,x=e.height+g-f.height-6,b=e.x-y/2,w=e.y-v/2;e.width=y;let k,T=e.y-e.height/2-m+f.height+2;if("handDrawn"===e.look){let t=e.cssClasses.includes("statediagram-cluster-alt"),r=hz.svg(c),n=e.rx||e.ry?r.path(xz(b,w,y,v,10),{roughness:.7,fill:s,fillStyle:"solid",stroke:l,seed:i}):r.rectangle(b,w,y,v,{seed:i});k=c.insert((()=>n),":first-child");let h=r.rectangle(b,T,y,x,{fill:t?a:o,fillStyle:t?"hachure":"solid",stroke:l,seed:i});k=c.insert((()=>n),":first-child"),d=c.insert((()=>h))}else k=h.insert("rect",":first-child"),k.attr("class","outer").attr("x",b).attr("y",w).attr("width",y).attr("height",v).attr("data-look",e.look),d.attr("class","inner").attr("x",b).attr("y",T).attr("width",y).attr("height",x);u.attr("transform",`translate(${e.x-f.width/2}, ${w+1-(fc(r.flowchart.htmlLabels)?0:3)})`);let E=k.node().getBBox();return e.height=E.height,e.offsetX=0,e.offsetY=f.height-e.padding/2,e.labelBBox=f,e.intersect=function(t){return dz(e,t)},{cluster:c,labelBBox:f}}),"roundedWithTitle"),Az=w(((t,e)=>{let r=Qc(),{themeVariables:n,handDrawnSeed:i}=r,{nodeBorder:a}=n,o=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-look",e.look),s=o.insert("g",":first-child"),l=0*e.padding,c=e.width+l;e.diff=-e.padding;let h,u=e.height+l,d=e.x-c/2,p=e.y-u/2;if(e.width=c,"handDrawn"===e.look){let t=hz.svg(o).rectangle(d,p,c,u,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});h=o.insert((()=>t),":first-child")}else h=s.insert("rect",":first-child"),h.attr("class","divider").attr("x",d).attr("y",p).attr("width",c).attr("height",u).attr("data-look",e.look);let f=h.node().getBBox();return e.height=f.height,e.offsetX=0,e.offsetY=0,e.intersect=function(t){return dz(e,t)},{cluster:o,labelBBox:{}}}),"divider"),Lz={rect:_z,squareRect:_z,roundedWithTitle:Sz,noteGroup:Cz,divider:Az},Nz=new Map,Iz=w((async(t,e)=>{let r=e.shape||"rect",n=await Lz[r](t,e);return Nz.set(e.id,n),n}),"insertCluster"),Mz=w((()=>{Nz=new Map}),"clear")}));function Bz(t,e){if(void 0===t||void 0===e)return{angle:0,deltaX:0,deltaY:0};t=$z(t),e=$z(e);let[r,n]=[t.x,t.y],[i,a]=[e.x,e.y],o=i-r,s=a-n;return{angle:Math.atan(s/o),deltaX:o,deltaY:s}}var Fz,$z,zz,Uz,Gz,qz,Yz=k((()=>{Fz={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:4},w(Bz,"calculateDeltaAndAngle"),$z=w((t=>Array.isArray(t)?{x:t[0],y:t[1]}:t),"pointTransformer"),zz=w((t=>({x:w((function(e,r,n){let i=0;if(0===r&&Object.hasOwn(Fz,t.arrowTypeStart)){let{angle:e,deltaX:r}=Bz(n[0],n[1]);i=Fz[t.arrowTypeStart]*Math.cos(e)*(r>=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Fz,t.arrowTypeEnd)){let{angle:e,deltaX:r}=Bz(n[n.length-1],n[n.length-2]);i=Fz[t.arrowTypeEnd]*Math.cos(e)*(r>=0?1:-1)}return $z(e).x+i}),"x"),y:w((function(e,r,n){let i=0;if(0===r&&Object.hasOwn(Fz,t.arrowTypeStart)){let{angle:e,deltaY:r}=Bz(n[0],n[1]);i=Fz[t.arrowTypeStart]*Math.abs(Math.sin(e))*(r>=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Fz,t.arrowTypeEnd)){let{angle:e,deltaY:r}=Bz(n[n.length-1],n[n.length-2]);i=Fz[t.arrowTypeEnd]*Math.abs(Math.sin(e))*(r>=0?1:-1)}return $z(e).y+i}),"y")})),"getLineFunctionsWithOffset")})),jz=k((()=>{L(),Uz=w(((t,e,r,n,i)=>{e.arrowTypeStart&&qz(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&qz(t,"end",e.arrowTypeEnd,r,n,i)}),"addEdgeMarkers"),Gz={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},qz=w(((t,e,n,i,a,o)=>{let s=Gz[n];if(!s)return void r.warn(`Unknown arrow type: ${n}`);let l="start"===e?"Start":"End";t.attr(`marker-${e}`,`url(${i}#${a}_${o}-${s}${l})`)}),"addEdgeMarker")}));function Hz(t,e){Qc().flowchart.htmlLabels&&t&&(t.style.width=9*e.length+"px",t.style.height="12px")}function Wz(t){let e=[],r=[];for(let n=1;n5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===o.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-o.y)>5)&&(e.push(a),r.push(n))}return{cornerPoints:e,cornerPointPositions:r}}var Vz,Xz,Kz,Zz,Qz,Jz,tU,eU,rU,nU,iU,aU,oU,sU,lU,cU,hU,uU,dU,pU,fU,gU,mU,yU,vU,xU,bU,wU=k((()=>{Qh(),Oc(),L(),GB(),mD(),Yz(),i$(),jC(),pz(),Rz(),jz(),Vz=new Map,Xz=new Map,Kz=w((()=>{Vz.clear(),Xz.clear()}),"clear"),Zz=w((t=>t?t.reduce(((t,e)=>t+";"+e),""):""),"getLabelStyles"),Qz=w((async(t,e)=>{let n=fc(Qc().flowchart.htmlLabels),i=await UB(t,e.label,{style:Zz(e.labelStyle),useHtmlLabels:n,addSvgBackground:!0,isNode:!1});r.info("abc82",e,e.labelType);let a=t.insert("g").attr("class","edgeLabel"),o=a.insert("g").attr("class","label");o.node().appendChild(i);let s,l=i.getBBox();if(n){let t=i.children[0],e=Qf(i);l=t.getBoundingClientRect(),e.attr("width",l.width),e.attr("height",l.height)}if(o.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),Vz.set(e.id,a),e.width=l.width,e.height=l.height,e.startLabelLeft){let r=await vz(e.startLabelLeft,Zz(e.labelStyle)),n=t.insert("g").attr("class","edgeTerminals"),i=n.insert("g").attr("class","inner");s=i.node().appendChild(r);let a=r.getBBox();i.attr("transform","translate("+-a.width/2+", "+-a.height/2+")"),Xz.get(e.id)||Xz.set(e.id,{}),Xz.get(e.id).startLeft=n,Hz(s,e.startLabelLeft)}if(e.startLabelRight){let r=await vz(e.startLabelRight,Zz(e.labelStyle)),n=t.insert("g").attr("class","edgeTerminals"),i=n.insert("g").attr("class","inner");s=n.node().appendChild(r),i.node().appendChild(r);let a=r.getBBox();i.attr("transform","translate("+-a.width/2+", "+-a.height/2+")"),Xz.get(e.id)||Xz.set(e.id,{}),Xz.get(e.id).startRight=n,Hz(s,e.startLabelRight)}if(e.endLabelLeft){let r=await vz(e.endLabelLeft,Zz(e.labelStyle)),n=t.insert("g").attr("class","edgeTerminals"),i=n.insert("g").attr("class","inner");s=i.node().appendChild(r);let a=r.getBBox();i.attr("transform","translate("+-a.width/2+", "+-a.height/2+")"),n.node().appendChild(r),Xz.get(e.id)||Xz.set(e.id,{}),Xz.get(e.id).endLeft=n,Hz(s,e.endLabelLeft)}if(e.endLabelRight){let r=await vz(e.endLabelRight,Zz(e.labelStyle)),n=t.insert("g").attr("class","edgeTerminals"),i=n.insert("g").attr("class","inner");s=i.node().appendChild(r);let a=r.getBBox();i.attr("transform","translate("+-a.width/2+", "+-a.height/2+")"),n.node().appendChild(r),Xz.get(e.id)||Xz.set(e.id,{}),Xz.get(e.id).endRight=n,Hz(s,e.endLabelRight)}return i}),"insertEdgeLabel"),w(Hz,"setTerminalWidth"),Jz=w(((t,e)=>{r.debug("Moving label abc88 ",t.id,t.label,Vz.get(t.id),e);let n=e.updatedPath?e.updatedPath:e.originalPath,i=Qc(),{subGraphTitleTotalMargin:a}=e$(i);if(t.label){let i=Vz.get(t.id),o=t.x,s=t.y;if(n){let i=dD.calcLabelPosition(n);r.debug("Moving label "+t.label+" from (",o,",",s,") to (",i.x,",",i.y,") abc88"),e.updatedPath&&(o=i.x,s=i.y)}i.attr("transform",`translate(${o}, ${s+a/2})`)}if(t.startLabelLeft){let e=Xz.get(t.id).startLeft,r=t.x,i=t.y;if(n){let e=dD.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",n);r=e.x,i=e.y}e.attr("transform",`translate(${r}, ${i})`)}if(t.startLabelRight){let e=Xz.get(t.id).startRight,r=t.x,i=t.y;if(n){let e=dD.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",n);r=e.x,i=e.y}e.attr("transform",`translate(${r}, ${i})`)}if(t.endLabelLeft){let e=Xz.get(t.id).endLeft,r=t.x,i=t.y;if(n){let e=dD.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",n);r=e.x,i=e.y}e.attr("transform",`translate(${r}, ${i})`)}if(t.endLabelRight){let e=Xz.get(t.id).endRight,r=t.x,i=t.y;if(n){let e=dD.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",n);r=e.x,i=e.y}e.attr("transform",`translate(${r}, ${i})`)}}),"positionEdgeLabel"),tU=w(((t,e)=>{let r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),o=t.width/2,s=t.height/2;return i>=o||a>=s}),"outsideNode"),eU=w(((t,e,n)=>{r.debug(`intersection calc abc89:\n outsidePoint: ${JSON.stringify(e)}\n insidePoint : ${JSON.stringify(n)}\n node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let i=t.x,a=t.y,o=Math.abs(i-n.x),s=t.width/2,l=n.xMath.abs(i-e.x)*c){let t=n.y{r.warn("abc88 cutPathAtIntersect",t,e);let n=[],i=t[0],a=!1;return t.forEach((t=>{if(r.info("abc88 checking point",t,e),tU(e,t)||a)r.warn("abc88 outside",t,i),i=t,a||n.push(t);else{let o=eU(e,i,t);r.debug("abc88 inside",t,i,o),r.debug("abc88 intersection",o,e);let s=!1;n.forEach((t=>{s=s||t.x===o.x&&t.y===o.y})),n.some((t=>t.x===o.x&&t.y===o.y))?r.warn("abc88 no intersect",o,n):n.push(o),a=!0}})),r.debug("returning points",n),n}),"cutPathAtIntersect"),w(Wz,"extractCornerPoints"),nU=w((function(t,e,r){let n=e.x-t.x,i=e.y-t.y,a=r/Math.sqrt(n*n+i*i);return{x:e.x-a*n,y:e.y-a*i}}),"findAdjacentPoint"),iU=w((function(t){let{cornerPointPositions:e}=Wz(t),n=[];for(let i=0;i10&&Math.abs(a.y-e.y)>=10){r.debug("Corner point fixing",Math.abs(a.x-e.x),Math.abs(a.y-e.y));let t=5;d=o.x===s.x?{x:c<0?s.x-t+u:s.x+t-u,y:h<0?s.y-u:s.y+u}:{x:c<0?s.x-u:s.x+u,y:h<0?s.y-t+u:s.y+t-u}}else r.debug("Corner point skipping fixing",Math.abs(a.x-e.x),Math.abs(a.y-e.y));n.push(d,l)}else n.push(t[i]);return n}),"fixCorners"),aU=w((function(t,e,n,i,a,o,s){let{handDrawnSeed:l}=Qc(),c=e.points,h=!1,u=a;var d=o;d.intersect&&u.intersect&&(c=c.slice(1,e.points.length-1),c.unshift(u.intersect(c[0])),r.debug("Last point APA12",e.start,"--\x3e",e.end,c[c.length-1],d,d.intersect(c[c.length-1])),c.push(d.intersect(c[c.length-1]))),e.toCluster&&(r.info("to cluster abc88",n.get(e.toCluster)),c=rU(e.points,n.get(e.toCluster).node),h=!0),e.fromCluster&&(r.debug("from cluster abc88",n.get(e.fromCluster),JSON.stringify(c,null,2)),c=rU(c.reverse(),n.get(e.fromCluster).node).reverse(),h=!0);let p=c.filter((t=>!Number.isNaN(t.y)));p=iU(p);let f=p[p.length-1];if(p.length>1){f=p[p.length-1];let t=p[p.length-2],e=(f.x-t.x)/2,r=(f.y-t.y)/2,n={x:t.x+e,y:t.y+r};p.splice(-1,0,n)}let g=i_;e.curve&&(g=e.curve);let m,{x:y,y:v}=zz(e),x=GE().x(y).y(v).curve(g);switch(e.thickness){case"normal":default:m="edge-thickness-normal";break;case"thick":m="edge-thickness-thick";break;case"invisible":m="edge-thickness-invisible"}switch(e.pattern){case"solid":default:m+=" edge-pattern-solid";break;case"dotted":m+=" edge-pattern-dotted";break;case"dashed":m+=" edge-pattern-dashed"}let b,w=x(p),k=Array.isArray(e.style)?e.style:[e.style];if("handDrawn"===e.look){let r=hz.svg(t);Object.assign([],p),m+=" transition",b=Qf(r.path(w,{roughness:.3,seed:l})).select("path").attr("id",e.id).attr("class"," "+m+(e.classes?" "+e.classes:"")).attr("style",k?k.reduce(((t,e)=>t+";"+e),""):"");let n=b.attr("d");b.attr("d",n),t.node().appendChild(b.node())}else b=t.append("path").attr("d",w).attr("id",e.id).attr("class"," "+m+(e.classes?" "+e.classes:"")).attr("style",k?k.reduce(((t,e)=>t+";"+e),""):"");let T="";(Qc().flowchart.arrowMarkerAbsolute||Qc().state.arrowMarkerAbsolute)&&(T=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,T=T.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),r.info("arrowTypeStart",e.arrowTypeStart),r.info("arrowTypeEnd",e.arrowTypeEnd),Uz(b,e,T,s,i);let E={};return h&&(E.updatedPath=c),E.originalPath=e.points,E}),"insertEdge")})),kU=k((()=>{L(),oU=w(((t,e,r,n)=>{e.forEach((e=>{mU[e](t,r,n)}))}),"insertMarkers"),sU=w(((t,e,n)=>{r.trace("Making markers for ",n),t.append("defs").append("marker").attr("id",n+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",n+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")}),"extension"),lU=w(((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")}),"composition"),cU=w(((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")}),"aggregation"),hU=w(((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")}),"dependency"),uU=w(((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)}),"lollipop"),dU=w(((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")}),"point"),pU=w(((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")}),"circle"),fU=w(((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")}),"cross"),gU=w(((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}),"barb"),mU={extension:sU,composition:lU,aggregation:cU,dependency:hU,lollipop:uU,point:dU,circle:pU,cross:fU,barb:gU},yU=oU})),TU=k((()=>{GB(),Qh(),jC(),Oc(),mD(),vU=w((async(t,e,r)=>{let n,i=e.useHtmlLabels||fc(Qc().flowchart.htmlLabels);n=r||"node default";let a,o,s=t.insert("g").attr("class",n).attr("id",e.domId||e.id),l=s.insert("g").attr("class","label").attr("style",e.labelStyle);a=void 0===e.label?"":"string"==typeof e.label?e.label:e.label[0],o=await UB(l,sc(fD(a),Qc()),{useHtmlLabels:i,width:e.width||Qc().flowchart.wrappingWidth,cssClasses:"markdown-node-label",style:e.labelStyle});let c=o.getBBox(),h=e.padding/2;if(fc(Qc().flowchart.htmlLabels)){let t=o.children[0],e=Qf(o),r=t.getElementsByTagName("img");if(r){let t=""===a.replace(/]*>/g,"").trim();await Promise.all([...r].map((e=>new Promise((r=>{function n(){if(e.style.display="flex",e.style.flexDirection="column",t){let t=Qc().fontSize?Qc().fontSize:window.getComputedStyle(document.body).fontSize,r=5*parseInt(t,10)+"px";e.style.minWidth=r,e.style.maxWidth=r}else e.style.width="100%";r(e)}w(n,"setupImage"),setTimeout((()=>{e.complete&&n()})),e.addEventListener("error",n),e.addEventListener("load",n)})))))}c=t.getBoundingClientRect(),e.attr("width",c.width),e.attr("height",c.height)}return i?l.attr("transform","translate("+-c.width/2+", "+-c.height/2+")"):l.attr("transform","translate(0, "+-c.height/2+")"),e.centerLabel&&l.attr("transform","translate("+-c.width/2+", "+-c.height/2+")"),l.insert("rect",":first-child"),{shapeSvg:s,bbox:c,halfPadding:h,label:l}}),"labelHelper"),xU=w(((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height}),"updateNodeBounds"),bU=w(((t,e)=>("handDrawn"===t.look?"rough-node":"node")+" "+t.cssClasses+" "+(e||"")),"getNodeClasses")}));function EU(t,e){return t.intersect(e)}var _U,CU=k((()=>{w(EU,"intersectNode"),_U=EU}));function SU(t,e,r,n){var i=t.x,a=t.y,o=i-n.x,s=a-n.y,l=Math.sqrt(e*e*s*s+r*r*o*o),c=Math.abs(e*r*o/l);n.x{w(SU,"intersectEllipse"),AU=SU}));function NU(t,e,r){return AU(t,e,e,r)}var IU,MU=k((()=>{LU(),w(NU,"intersectCircle"),IU=NU}));function RU(t,e,r,n){var i,a,o,s,l,c,h,u,d,p,f,g,m;if(i=e.y-t.y,o=t.x-e.x,l=e.x*t.y-t.x*e.y,d=i*r.x+o*r.y+l,p=i*n.x+o*n.y+l,!(0!==d&&0!==p&&DU(d,p)||(a=n.y-r.y,s=r.x-n.x,c=n.x*r.y-r.x*n.y,h=a*t.x+s*t.y+c,u=a*e.x+s*e.y+c,0!==h&&0!==u&&DU(h,u)||(f=i*s-a*o,0===f))))return g=Math.abs(f/2),{x:(m=o*c-s*l)<0?(m-g)/f:(m+g)/f,y:(m=a*l-i*c)<0?(m-g)/f:(m+g)/f}}function DU(t,e){return t*e>0}var OU,PU=k((()=>{w(RU,"intersectLine"),w(DU,"sameSign"),OU=RU}));function BU(t,e,r){let n=t.x,i=t.y,a=[],o=Number.POSITIVE_INFINITY,s=Number.POSITIVE_INFINITY;"function"==typeof e.forEach?e.forEach((function(t){o=Math.min(o,t.x),s=Math.min(s,t.y)})):(o=Math.min(o,e.x),s=Math.min(s,e.y));let l=n-t.width/2-o,c=i-t.height/2-s;for(let n=0;n1&&a.sort((function(t,e){let n=t.x-r.x,i=t.y-r.y,a=Math.sqrt(n*n+i*i),o=e.x-r.x,s=e.y-r.y,l=Math.sqrt(o*o+s*s);return a{PU(),w(BU,"intersectPolygon"),FU=BU})),QU=k((()=>{CU(),MU(),LU(),ZU(),fz(),$U={node:_U,circle:IU,ellipse:AU,polygon:FU,rect:dz}})),JU=k((()=>{TU(),QU(),Dz(),Oz(),pz(),zU=w((async(t,e,r)=>{let{labelStyles:n,nodeStyles:i}=Tz(e);e.labelStyle=n;let a,{shapeSvg:o,bbox:s}=await vU(t,e,bU(e)),l=Math.max(s.width+2*r.labelPaddingX,e?.width||0),c=Math.max(s.height+2*r.labelPaddingY,e?.height||0),h=-l/2,u=-c/2,{rx:d,ry:p}=e,{cssStyles:f}=e;if(r?.rx&&r.ry&&(d=r.rx,p=r.ry),"handDrawn"===e.look){let t=hz.svg(o),r=Ez(e,{}),n=d||p?t.path(xz(h,u,l,c,d||0),r):t.rectangle(h,u,l,c,r);a=o.insert((()=>n),":first-child"),a.attr("class","basic label-container").attr("style",f)}else a=o.insert("rect",":first-child"),a.attr("class","basic label-container").attr("style",i).attr("rx",d).attr("data-id","abc").attr("data-et","node").attr("ry",p).attr("x",h).attr("y",u).attr("width",l).attr("height",c);return xU(e,a),e.intersect=function(t){return $U.rect(e,t)},o}),"drawRect")})),tG=k((()=>{JU(),UU=w((async(t,e)=>zU(t,e,{rx:5,ry:5,classes:"flowchart-node"})),"state")})),eG=k((()=>{JU(),GU=w((async(t,e)=>zU(t,e,{rx:5,ry:5,classes:"",labelPaddingX:1*(e?.padding||0),labelPaddingY:1*(e?.padding||0)})),"roundedRect")})),rG=k((()=>{JU(),qU=w((async(t,e)=>zU(t,e,{rx:0,ry:0,classes:"",labelPaddingX:2*(e?.padding||0),labelPaddingY:1*(e?.padding||0)})),"squareRect")})),nG=k((()=>{TU(),QU(),pz(),Oz(),Qh(),YU=w(((t,e)=>{let r,{themeVariables:n}=Qc(),{lineColor:i}=n,a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);if("handDrawn"===e.look){let t=hz.svg(a).circle(0,0,14,bz(i));r=a.insert((()=>t))}else r=a.insert("circle",":first-child");return r.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),xU(e,r),e.intersect=function(t){return $U.circle(e,7,t)},a}),"stateStart")})),iG=k((()=>{TU(),QU(),pz(),Oz(),Qh(),jU=w(((t,e)=>{let r,n,{themeVariables:i}=Qc(),{lineColor:a}=i,o=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);if("handDrawn"===e.look){let t=hz.svg(o),e=t.circle(0,0,14,{...bz(a),roughness:.5}),i=t.circle(0,0,5,{...bz(a),fillStyle:"solid"});r=o.insert((()=>e)),n=o.insert((()=>i))}else n=o.insert("circle",":first-child"),r=o.insert("circle",":first-child"),r.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10);return xU(e,r),e.intersect=function(t){return $U.circle(e,7,t)},o}),"stateEnd")})),aG=k((()=>{TU(),QU(),pz(),Oz(),Qh(),HU=w(((t,e,r)=>{let{themeVariables:n}=Qc(),{lineColor:i}=n,a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),o=70,s=10;"LR"===r&&(o=10,s=70);let l,c=-1*o/2,h=-1*s/2;if("handDrawn"===e.look){let t=hz.svg(a).rectangle(c,h,o,s,bz(i));l=a.insert((()=>t))}else l=a.append("rect").attr("x",c).attr("y",h).attr("width",o).attr("height",s).attr("class","fork-join");xU(e,l);let u=0,d=0,p=10;return e.height&&(u=e.height),e.width&&(d=e.width),e.padding&&(p=e.padding),e.height=u+p/2,e.width=d+p/2,e.intersect=function(t){return $U.rect(e,t)},a}),"forkJoin")})),oG=k((()=>{QU(),pz(),Oz(),Qh(),WU=w(((t,e)=>{let{labelStyles:r,nodeStyles:n}=Tz(e);e.labelStyle=r;let i,{themeVariables:a}=Qc(),{lineColor:o}=a,s=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),l=[{x:0,y:14},{x:14,y:0},{x:0,y:-14},{x:-14,y:0}];if("handDrawn"===e.look){let t=hz.svg(s),e=l.map((function(t){return[t.x,t.y]})),r=t.polygon(e,bz(o));i=s.insert((()=>r))}else i=s.insert("polygon",":first-child").attr("points",l.map((function(t){return t.x+","+t.y})).join(" "));return i.attr("class","state-start").attr("r",7).attr("width",28).attr("height",28).attr("style",n),e.width=28,e.height=28,e.intersect=function(t){return $U.circle(e,14,t)},s}),"choice")})),sG=k((()=>{L(),TU(),QU(),Qh(),pz(),VU=w((async(t,e)=>{let{themeVariables:n,handDrawnSeed:i}=Qc(),{noteBorderColor:a,noteBkgColor:o}=n;e.useHtmlLabels||(e.centerLabel=!0);let{shapeSvg:s,bbox:l}=await vU(t,e,"node "+e.cssClasses);r.info("Classes = ",e.cssClasses);let c,{cssStyles:h}=e,u=l.width+e.padding,d=l.height+e.padding,p=-u/2,f=-d/2;if("handDrawn"===e.look){let t=hz.svg(s).rectangle(p,f,u,d,{roughness:.7,fill:o,fillWeight:3,seed:i,stroke:a});c=s.insert((()=>t),":first-child"),c.attr("class","basic label-container").attr("style",h)}else c=s.insert("rect",":first-child"),c.attr("rx",e.rx).attr("ry",e.ry).attr("x",p).attr("y",f).attr("width",u).attr("height",d);return xU(e,c),e.intersect=function(t){return $U.rect(e,t)},s}),"note")})),lG=k((()=>{TU(),QU(),Oz(),pz(),Dz(),XU=w((async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Tz(e);e.labelStyle=r;let i,{shapeSvg:a,bbox:o}=await vU(t,e,bU(e)),s=o.height+e.padding,l=o.width+s/4+e.padding,{cssStyles:c}=e;if("handDrawn"===e.look){let t=hz.svg(a),r=Ez(e,{}),n=xz(-l/2,-s/2,l,s,s/2),o=t.path(n,r);i=a.insert((()=>o),":first-child"),i.attr("class","basic label-container").attr("style",c)}else i=a.insert("rect",":first-child"),i.attr("class","basic label-container").attr("style",n).attr("rx",s/2).attr("ry",s/2).attr("x",-l/2).attr("y",-s/2).attr("width",l).attr("height",s);return xU(e,i),e.intersect=function(t){return $U.rect(e,t)},a}),"stadium")})),cG=k((()=>{jC(),Oc(),TU(),Rz(),QU(),Oz(),pz(),Qh(),Dz(),L(),KU=w((async(t,e)=>{let n,{labelStyles:i,nodeStyles:a}=Tz(e);e.labelStyle=i,n=e.cssClasses?"node "+e.cssClasses:"node default";let o=t.insert("g").attr("class",n).attr("id",e.domId||e.id),s=o.insert("g"),l=o.insert("g").attr("class","label").attr("style",a),c=e.description,h=e.label,u=l.node().appendChild(await vz(h,e.labelStyle,!0,!0)),d={width:0,height:0};if(fc(Qc()?.flowchart?.htmlLabels)){let t=u.children[0],e=Qf(u);d=t.getBoundingClientRect(),e.attr("width",d.width),e.attr("height",d.height)}r.info("Text 2",c);let p=c||[],f=u.getBBox(),g=l.node().appendChild(await vz(p.join?p.join("
    "):p,e.labelStyle,!0,!0)),m=g.children[0],y=Qf(g);d=m.getBoundingClientRect(),y.attr("width",d.width),y.attr("height",d.height);let v=(e.padding||0)/2;Qf(g).attr("transform","translate( "+(d.width>f.width?0:(f.width-d.width)/2)+", "+(f.height+v+5)+")"),Qf(u).attr("transform","translate( "+(d.width(r.debug("Rough node insert CXC",i),a)),":first-child"),x=o.insert((()=>(r.debug("Rough node insert CXC",i),i)),":first-child")}else x=s.insert("rect",":first-child"),b=s.insert("line"),x.attr("class","outer title-state").attr("style",a).attr("x",-d.width/2-v).attr("y",-d.height/2-v).attr("width",d.width+(e.padding||0)).attr("height",d.height+(e.padding||0)),b.attr("class","divider").attr("x1",-d.width/2-v).attr("x2",d.width/2+v).attr("y1",-d.height/2-v+f.height+v).attr("y2",-d.height/2-v+f.height+v);return xU(e,x),e.intersect=function(t){return $U.rect(e,t)},o}),"rectWithTitle")}));function hG(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map((function(t){return t.x+","+t.y})).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}var uG,dG,pG,fG,gG,mG,yG,vG,xG,bG,wG,kG,TG,EG,_G,CG,SG,AG,LG,NG,IG,MG,RG,DG,OG,PG,BG,FG,$G,zG=k((()=>{w(hG,"insertPolygonShape")})),UG=k((()=>{TU(),QU(),Oz(),pz(),zG(),uG=w((async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Tz(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await vU(t,e,bU(e)),o=(e?.padding||0)/2,s=a.width+e.padding,l=a.height+e.padding,c=-a.width/2-o,h=-a.height/2-o,u=[{x:0,y:0},{x:s,y:0},{x:s,y:-l},{x:0,y:-l},{x:0,y:0},{x:-8,y:0},{x:s+8,y:0},{x:s+8,y:-l},{x:-8,y:-l},{x:-8,y:0}];if("handDrawn"===e.look){let t=hz.svg(i),r=Ez(e,{}),n=t.rectangle(c-8,h,s+16,l,r),a=t.line(c,h,c,h+l,r),o=t.line(c+s,h,c+s,h+l,r);i.insert((()=>a),":first-child"),i.insert((()=>o),":first-child");let u=i.insert((()=>n),":first-child"),{cssStyles:d}=e;u.attr("class","basic label-container").attr("style",d),xU(e,u)}else{let t=hG(i,s,l,u);n&&t.attr("style",n),xU(e,t)}return e.intersect=function(t){return $U.polygon(e,u,t)},i}),"subroutine")})),GG=k((()=>{TU(),QU(),Oz(),pz(),dG=w(((t,e,r,n,i,a)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,"l0,"+-n].join(" ")),"createCylinderPathD"),pG=w(((t,e,r,n,i,a)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,"l0,"+-n].join(" ")),"createOuterCylinderPathD"),fG=w(((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" ")),"createInnerCylinderPathD"),gG=w((async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Tz(e);e.labelStyle=r;let i,{shapeSvg:a,bbox:o}=await vU(t,e,bU(e)),s=o.width+e.padding,l=s/2,c=l/(2.5+s/50),h=o.height+c+e.padding,{cssStyles:u}=e;if("handDrawn"===e.look){let t=hz.svg(a),r=pG(0,0,s,h,l,c),n=fG(0,c,s,h,l,c),o=t.path(r,Ez(e,{})),d=t.path(n,Ez(e,{fill:"none"}));i=a.insert((()=>d),":first-child"),i=a.insert((()=>o),":first-child"),i.attr("class","basic label-container"),u&&i.attr("style",u)}else{let t=dG(0,0,s,h,l,c);i=a.insert("path",":first-child").attr("d",t).attr("class","basic label-container").attr("style",u).attr("style",n)}return i.attr("label-offset-y",c),i.attr("transform",`translate(${-s/2}, ${-(h/2+c)})`),xU(e,i),e.intersect=function(t){let r=$U.rect(e,t),n=r.x-(e.x??0);if(0!=l&&(Math.abs(n)<(e.width??0)/2||Math.abs(n)==(e.width??0)/2&&Math.abs(r.y-(e.y??0))>(e.height??0)/2-c)){let i=c*c*(1-n*n/(l*l));i>0&&(i=Math.sqrt(i)),i=c-i,t.y-(e.y??0)>0&&(i=-i),r.y+=i}return r},a}),"cylinder")})),qG=k((()=>{L(),TU(),QU(),Oz(),pz(),mG=w((async(t,e)=>{let{labelStyles:n,nodeStyles:i}=Tz(e);e.labelStyle=n;let a,{shapeSvg:o,bbox:s,halfPadding:l}=await vU(t,e,bU(e)),c=s.width/2+l,{cssStyles:h}=e;if("handDrawn"===e.look){let t=hz.svg(o),r=Ez(e,{}),n=t.circle(0,0,2*c,r);a=o.insert((()=>n),":first-child"),a.attr("class","basic label-container").attr("style",h)}else a=o.insert("circle",":first-child").attr("class","basic label-container").attr("style",i).attr("r",c).attr("cx",0).attr("cy",0);return xU(e,a),e.intersect=function(t){return r.info("Circle intersect",e,c,t),$U.circle(e,c,t)},o}),"circle")})),YG=k((()=>{L(),TU(),QU(),Oz(),pz(),yG=w((async(t,e)=>{let{labelStyles:n,nodeStyles:i}=Tz(e);e.labelStyle=n;let a,{shapeSvg:o,bbox:s,halfPadding:l}=await vU(t,e,bU(e)),c=s.width/2+l+5,h=s.width/2+l,{cssStyles:u}=e;if("handDrawn"===e.look){let t=hz.svg(o),r=Ez(e,{roughness:.2,strokeWidth:2.5}),n=Ez(e,{roughness:.2,strokeWidth:1.5}),i=t.circle(0,0,2*c,r),s=t.circle(0,0,2*h,n);a=o.insert("g",":first-child"),a.attr("class",e.cssClasses).attr("style",u),a.node()?.appendChild(i),a.node()?.appendChild(s)}else{a=o.insert("g",":first-child");let t=a.insert("circle",":first-child"),e=a.insert("circle");a.attr("class","basic label-container").attr("style",i),t.attr("class","outer-circle").attr("style",i).attr("r",c).attr("cx",0).attr("cy",0),e.attr("class","inner-circle").attr("style",i).attr("r",h).attr("cx",0).attr("cy",0)}return xU(e,a),e.intersect=function(t){return r.info("DoubleCircle intersect",e,c,t),$U.circle(e,c,t)},o}),"doublecircle")})),jG=k((()=>{TU(),QU(),Oz(),pz(),zG(),vG=w(((t,e,r,n)=>[`M${t-n/2},${e}`,`L${t+r},${e}`,`L${t+r},${e-n}`,`L${t-n/2},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" ")),"createPolygonPathD"),xG=w((async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Tz(e);e.labelStyle=r;let i,{shapeSvg:a,bbox:o}=await vU(t,e,bU(e)),s=o.width+e.padding,l=o.height+e.padding,c=[{x:-l/2,y:0},{x:s,y:0},{x:s,y:-l},{x:-l/2,y:-l},{x:0,y:-l/2}],{cssStyles:h}=e;if("handDrawn"===e.look){let t=hz.svg(a),r=Ez(e,{}),n=vG(0,0,s,l),o=t.path(n,r);i=a.insert((()=>o),":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),h&&i.attr("style",h)}else i=hG(a,s,l,c);return n&&i.attr("style",n),e.width=s+l,e.height=l,xU(e,i),e.intersect=function(t){return $U.polygon(e,c,t)},a}),"rect_left_inv_arrow")})),HG=k((()=>{L(),TU(),QU(),Oz(),pz(),zG(),bG=w(((t,e,r)=>[`M${t+r/2},${e}`,`L${t+r},${e-r/2}`,`L${t+r/2},${e-r}`,`L${t},${e-r/2}`,"Z"].join(" ")),"createDecisionBoxPathD"),wG=w((async(t,e)=>{let{labelStyles:n,nodeStyles:i}=Tz(e);e.labelStyle=n;let a,{shapeSvg:o,bbox:s}=await vU(t,e,bU(e)),l=s.width+e.padding+(s.height+e.padding),c=[{x:l/2,y:0},{x:l,y:-l/2},{x:l/2,y:-l},{x:0,y:-l/2}],{cssStyles:h}=e;if("handDrawn"===e.look){let t=hz.svg(o),r=Ez(e,{}),n=bG(0,0,l),i=t.path(n,r);a=o.insert((()=>i),":first-child").attr("transform",`translate(${-l/2}, ${l/2})`),h&&a.attr("style",h)}else a=hG(o,l,l,c);return i&&a.attr("style",i),xU(e,a),e.intersect=function(t){return r.debug("APA12 Intersect called SPLIT\npoint:",t,"\nnode:\n",e,"\nres:",$U.polygon(e,c,t)),$U.polygon(e,c,t)},o}),"question")})),WG=k((()=>{TU(),QU(),Oz(),pz(),zG(),kG=w(((t,e,r,n,i)=>[`M${t+i},${e}`,`L${t+r-i},${e}`,`L${t+r},${e-n/2}`,`L${t+r-i},${e-n}`,`L${t+i},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" ")),"createHexagonPathD"),TG=w((async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Tz(e);e.labelStyle=r;let i,{shapeSvg:a,bbox:o}=await vU(t,e,bU(e)),s=o.height+e.padding,l=s/4,c=o.width+2*l+e.padding,h=[{x:l,y:0},{x:c-l,y:0},{x:c,y:-s/2},{x:c-l,y:-s},{x:l,y:-s},{x:0,y:-s/2}],{cssStyles:u}=e;if("handDrawn"===e.look){let t=hz.svg(a),r=Ez(e,{}),n=kG(0,0,c,s,l),o=t.path(n,r);i=a.insert((()=>o),":first-child").attr("transform",`translate(${-c/2}, ${s/2})`),u&&i.attr("style",u)}else i=hG(a,c,s,h);return n&&i.attr("style",n),e.width=c,e.height=s,xU(e,i),e.intersect=function(t){return $U.polygon(e,h,t)},a}),"hexagon")})),VG=k((()=>{TU(),QU(),Oz(),pz(),zG(),EG=w(((t,e,r,n)=>[`M${t-2*n/6},${e}`,`L${t+r-n/6},${e}`,`L${t+r+2*n/6},${e-n}`,`L${t+n/6},${e-n}`,"Z"].join(" ")),"createLeanRightPathD"),_G=w((async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Tz(e);e.labelStyle=r;let i,{shapeSvg:a,bbox:o}=await vU(t,e,bU(e)),s=o.width+e.padding,l=o.height+e.padding,c=[{x:-2*l/6,y:0},{x:s-l/6,y:0},{x:s+2*l/6,y:-l},{x:l/6,y:-l}],{cssStyles:h}=e;if("handDrawn"===e.look){let t=hz.svg(a),r=Ez(e,{}),n=EG(0,0,s,l),o=t.path(n,r);i=a.insert((()=>o),":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),h&&i.attr("style",h)}else i=hG(a,s,l,c);return n&&i.attr("style",n),e.width=s,e.height=l,xU(e,i),e.intersect=function(t){return $U.polygon(e,c,t)},a}),"lean_right")})),XG=k((()=>{TU(),QU(),Oz(),pz(),zG(),CG=w(((t,e,r,n)=>[`M${t+2*n/6},${e}`,`L${t+r+n/6},${e}`,`L${t+r-2*n/6},${e-n}`,`L${t-n/6},${e-n}`,"Z"].join(" ")),"createLeanLeftPathD"),SG=w((async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Tz(e);e.labelStyle=r;let i,{shapeSvg:a,bbox:o}=await vU(t,e,bU(e)),s=o.width+e.padding,l=o.height+e.padding,c=[{x:2*l/6,y:0},{x:s+l/6,y:0},{x:s-2*l/6,y:-l},{x:-l/6,y:-l}],{cssStyles:h}=e;if("handDrawn"===e.look){let t=hz.svg(a),r=Ez(e,{}),n=CG(0,0,s,l),o=t.path(n,r);i=a.insert((()=>o),":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),h&&i.attr("style",h)}else i=hG(a,s,l,c);return n&&i.attr("style",n),e.width=s,e.height=l,xU(e,i),e.intersect=function(t){return $U.polygon(e,c,t)},a}),"lean_left")})),KG=k((()=>{TU(),QU(),Oz(),pz(),zG(),AG=w(((t,e,r,n)=>[`M${t-2*n/6},${e}`,`L${t+r+2*n/6},${e}`,`L${t+r-n/6},${e-n}`,`L${t+n/6},${e-n}`,"Z"].join(" ")),"createTrapezoidPathD"),LG=w((async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Tz(e);e.labelStyle=r;let i,{shapeSvg:a,bbox:o}=await vU(t,e,bU(e)),s=o.width+e.padding,l=o.height+e.padding,c=[{x:-2*l/6,y:0},{x:s+2*l/6,y:0},{x:s-l/6,y:-l},{x:l/6,y:-l}],{cssStyles:h}=e;if("handDrawn"===e.look){let t=hz.svg(a),r=Ez(e,{}),n=AG(0,0,s,l),o=t.path(n,r);i=a.insert((()=>o),":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),h&&i.attr("style",h)}else i=hG(a,s,l,c);return n&&i.attr("style",n),e.width=s,e.height=l,xU(e,i),e.intersect=function(t){return $U.polygon(e,c,t)},a}),"trapezoid")})),ZG=k((()=>{TU(),QU(),Oz(),pz(),zG(),NG=w(((t,e,r,n)=>[`M${t+n/6},${e}`,`L${t+r-n/6},${e}`,`L${t+r+2*n/6},${e-n}`,`L${t-2*n/6},${e-n}`,"Z"].join(" ")),"createInvertedTrapezoidPathD"),IG=w((async(t,e)=>{let{labelStyles:r,nodeStyles:n}=Tz(e);e.labelStyle=r;let i,{shapeSvg:a,bbox:o}=await vU(t,e,bU(e)),s=o.width+e.padding,l=o.height+e.padding,c=[{x:l/6,y:0},{x:s-l/6,y:0},{x:s+2*l/6,y:-l},{x:-2*l/6,y:-l}],{cssStyles:h}=e;if("handDrawn"===e.look){let t=hz.svg(a),r=Ez(e,{}),n=NG(0,0,s,l),o=t.path(n,r);i=a.insert((()=>o),":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),h&&i.attr("style",h)}else i=hG(a,s,l,c);return n&&i.attr("style",n),e.width=s,e.height=l,xU(e,i),e.intersect=function(t){return $U.polygon(e,c,t)},a}),"inv_trapezoid")})),QG=k((()=>{JU(),TU(),QU(),MG=w((async(t,e)=>{let{shapeSvg:r}=await vU(t,e,"label"),n=r.insert("rect",":first-child");return n.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),xU(e,n),e.intersect=function(t){return $U.rect(e,t)},r}),"labelRect")})),JG=k((()=>{L(),tG(),eG(),rG(),nG(),iG(),aG(),oG(),sG(),lG(),cG(),Qh(),UG(),GG(),qG(),YG(),jG(),HG(),WG(),VG(),XG(),KG(),ZG(),QG(),RG={state:UU,stateStart:YU,stateEnd:jU,fork:HU,join:HU,choice:WU,note:VU,roundedRect:GU,rectWithTitle:KU,squareRect:qU,stadium:XU,subroutine:uG,cylinder:gG,circle:mG,doublecircle:yG,odd:xG,diamond:wG,hexagon:TG,lean_right:_G,lean_left:SG,trapezoid:LG,inv_trapezoid:IG,labelRect:MG},DG=new Map,OG=w((async(t,e,r)=>{let n,i;if("rect"===e.shape&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect"),e.link){let a;"sandbox"===Qc().securityLevel?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await RG[e.shape](n,e,r)}else i=await RG[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),DG.set(e.id,n),e.haveCallback&&DG.get(e.id).attr("class",DG.get(e.id).attr("class")+" clickable"),n}),"insertNode"),PG=w(((t,e)=>{DG.set(e.id,t)}),"setNodeElem"),BG=w((()=>{DG.clear()}),"clear"),FG=w((t=>{let e=DG.get(t.id);r.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-8)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n}),"positionNode")})),tq=k((()=>{rn(),Oc(),L(),Pz(),wU(),kU(),JG(),TU(),mD(),$G={common:Cc,getConfig:ir,insertCluster:Iz,insertEdge:aU,insertEdgeLabel:Qz,insertMarkers:yU,insertNode:OG,interpolateToCurve:LR,labelHelper:vU,log:r,positionEdgeLabel:Jz}}));function eq(t){return"symbol"==typeof t||XN(t)&&gS(t)==rq}var rq,nq,iq=k((()=>{mS(),KN(),rq="[object Symbol]",w(eq,"isSymbol"),nq=eq}));function aq(t,e){for(var r=-1,n=null==t?0:t.length,i=Array(n);++r{w(aq,"arrayMap"),oq=aq}));function lq(t){if("string"==typeof t)return t;if(oI(t))return oq(t,lq)+"";if(nq(t))return uq?uq.call(t):"";var e=t+"";return"0"==e&&1/t==-cq?"-0":e}var cq,hq,uq,dq,pq=k((()=>{QC(),sq(),cI(),iq(),cq=1/0,hq=zC?zC.prototype:void 0,uq=hq?hq.toString:void 0,w(lq,"baseToString"),dq=lq}));function fq(t){for(var e=t.length;e--&&gq.test(t.charAt(e)););return e}var gq,mq,yq=k((()=>{gq=/\s/,w(fq,"trimmedEndIndex"),mq=fq}));function vq(t){return t&&t.slice(0,mq(t)+1).replace(xq,"")}var xq,bq,wq=k((()=>{yq(),xq=/^\s+/,w(vq,"baseTrim"),bq=vq}));function kq(t){if("number"==typeof t)return t;if(nq(t))return Tq;if(vS(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=vS(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=bq(t);var r=_q.test(t);return r||Cq.test(t)?Sq(t.slice(2),r?2:8):Eq.test(t)?Tq:+t}var Tq,Eq,_q,Cq,Sq,Aq,Lq=k((()=>{wq(),xS(),iq(),Tq=NaN,Eq=/^[-+]0x[0-9a-f]+$/i,_q=/^0b[01]+$/i,Cq=/^0o[0-7]+$/i,Sq=parseInt,w(kq,"toNumber"),Aq=kq}));function Nq(t){return t?(t=Aq(t))===Iq||t===-Iq?(t<0?-1:1)*Mq:t==t?t:0:0===t?t:0}var Iq,Mq,Rq,Dq=k((()=>{Lq(),Iq=1/0,Mq=17976931348623157e292,w(Nq,"toFinite"),Rq=Nq}));function Oq(t){var e=Rq(t),r=e%1;return e==e?r?e-r:e:0}var Pq,Bq,Fq,$q=k((()=>{Dq(),w(Oq,"toInteger"),Pq=Oq})),zq=k((()=>{rA(),ZC(),Bq=JS(FC,"WeakMap"),Fq=Bq}));function Uq(){}var Gq,qq=k((()=>{w(Uq,"noop"),Gq=Uq}));function Yq(t,e){for(var r=-1,n=null==t?0:t.length;++r{w(Yq,"arrayEach"),jq=Yq}));function Wq(t,e,r,n){for(var i=t.length,a=r+(n?1:-1);n?a--:++a{w(Wq,"baseFindIndex"),Vq=Wq}));function Kq(t){return t!=t}var Zq,Qq=k((()=>{w(Kq,"baseIsNaN"),Zq=Kq}));function Jq(t,e,r){for(var n=r-1,i=t.length;++n{w(Jq,"strictIndexOf"),tY=Jq}));function rY(t,e,r){return e==e?tY(t,e,r):Vq(t,Zq,r)}var nY,iY=k((()=>{Xq(),Qq(),eY(),w(rY,"baseIndexOf"),nY=rY}));function aY(t,e){return!(null==t||!t.length)&&nY(t,e,0)>-1}var oY,sY,lY,cY=k((()=>{iY(),w(aY,"arrayIncludes"),oY=aY})),hY=k((()=>{$N(),sY=PN(Object.keys,Object),lY=sY}));function uY(t){if(!qN(t))return lY(t);var e=[];for(var r in Object(t))pY.call(t,r)&&"constructor"!=r&&e.push(r);return e}var dY,pY,fY,gY=k((()=>{YN(),hY(),dY=Object.prototype,pY=dY.hasOwnProperty,w(uY,"baseKeys"),fY=uY}));function mY(t){return gI(t)?_M(t):fY(t)}var yY,vY,xY,bY,wY,kY=k((()=>{CM(),gY(),mI(),w(mY,"keys"),yY=mY})),TY=k((()=>{hM(),pM(),SR(),mI(),YN(),kY(),vY=Object.prototype,xY=vY.hasOwnProperty,bY=ER((function(t,e){if(qN(e)||gI(e))dM(e,yY(e),t);else for(var r in e)xY.call(e,r)&&cM(t,r,e[r])})),wY=bY}));function EY(t,e){if(oI(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!nq(t))||CY.test(t)||!_Y.test(t)||null!=e&&t in Object(e)}var _Y,CY,SY,AY=k((()=>{cI(),iq(),_Y=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,CY=/^\w*$/,w(EY,"isKey"),SY=EY}));function LY(t){var e=LL(t,(function(t){return r.size===NY&&r.clear(),t})),r=e.cache;return e}var NY,IY,MY,RY,DY,OY,PY=k((()=>{NL(),NY=500,w(LY,"memoizeCapped"),IY=LY})),BY=k((()=>{PY(),MY=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,RY=/\\(\\)?/g,DY=IY((function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(MY,(function(t,r,n,i){e.push(n?i.replace(RY,"$1"):r||t)})),e})),OY=DY}));function FY(t){return null==t?"":dq(t)}var $Y,zY=k((()=>{pq(),w(FY,"toString"),$Y=FY}));function UY(t,e){return oI(t)?t:SY(t,e)?[t]:OY($Y(t))}var GY,qY=k((()=>{cI(),AY(),BY(),zY(),w(UY,"castPath"),GY=UY}));function YY(t){if("string"==typeof t||nq(t))return t;var e=t+"";return"0"==e&&1/t==-jY?"-0":e}var jY,HY,WY=k((()=>{iq(),jY=1/0,w(YY,"toKey"),HY=YY}));function VY(t,e){for(var r=0,n=(e=GY(e,t)).length;null!=t&&r{qY(),WY(),w(VY,"baseGet"),XY=VY}));function ZY(t,e,r){var n=null==t?void 0:XY(t,e);return void 0===n?r:n}var QY,JY=k((()=>{KY(),w(ZY,"get"),QY=ZY}));function tj(t,e){for(var r=-1,n=e.length,i=t.length;++r{w(tj,"arrayPush"),ej=tj}));function nj(t){return oI(t)||iI(t)||!!(ij&&t&&t[ij])}var ij,aj,oj=k((()=>{QC(),lI(),cI(),ij=zC?zC.isConcatSpreadable:void 0,w(nj,"isFlattenable"),aj=nj}));function sj(t,e,r,n,i){var a=-1,o=t.length;for(r||(r=aj),i||(i=[]);++a0&&r(s)?e>1?sj(s,e-1,r,n,i):ej(i,s):n||(i[i.length]=s)}return i}var lj,cj=k((()=>{rj(),oj(),w(sj,"baseFlatten"),lj=sj}));function hj(t){return null!=t&&t.length?lj(t,1):[]}var uj,dj=k((()=>{cj(),w(hj,"flatten"),uj=hj}));function pj(t){return fR(eR(t,void 0,uj),t+"")}var fj,gj=k((()=>{dj(),rR(),mR(),w(pj,"flatRest"),fj=pj}));function mj(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),(r=r>i?i:r)<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(i);++n{w(mj,"baseSlice"),yj=mj}));function xj(t){return bj.test(t)}var bj,wj,kj=k((()=>{bj=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"),w(xj,"hasUnicode"),wj=xj}));function Tj(t,e,r,n){var i=-1,a=null==t?0:t.length;for(n&&a&&(r=t[++i]);++i{w(Tj,"arrayReduce"),Ej=Tj}));function Cj(t,e){return t&&dM(e,yY(e),t)}var Sj,Aj=k((()=>{pM(),kY(),w(Cj,"baseAssign"),Sj=Cj}));function Lj(t,e){return t&&dM(e,PM(e),t)}var Nj,Ij=k((()=>{pM(),BM(),w(Lj,"baseAssignIn"),Nj=Lj}));function Mj(t,e){for(var r=-1,n=null==t?0:t.length,i=0,a=[];++r{w(Mj,"arrayFilter"),Rj=Mj}));function Oj(){return[]}var Pj,Bj,Fj,$j,zj,Uj=k((()=>{w(Oj,"stubArray"),Pj=Oj})),Gj=k((()=>{Dj(),Uj(),Bj=Object.prototype,Fj=Bj.propertyIsEnumerable,$j=Object.getOwnPropertySymbols,zj=$j?function(t){return null==t?[]:(t=Object(t),Rj($j(t),(function(e){return Fj.call(t,e)})))}:Pj}));function qj(t,e){return dM(t,zj(t),e)}var Yj,jj,Hj,Wj=k((()=>{pM(),Gj(),w(qj,"copySymbols"),Yj=qj})),Vj=k((()=>{rj(),zN(),Gj(),Uj(),jj=Object.getOwnPropertySymbols,Hj=jj?function(t){for(var e=[];t;)ej(e,zj(t)),t=FN(t);return e}:Pj}));function Xj(t,e){return dM(t,Hj(t),e)}var Kj,Zj=k((()=>{pM(),Vj(),w(Xj,"copySymbolsIn"),Kj=Xj}));function Qj(t,e,r){var n=e(t);return oI(t)?n:ej(n,r(t))}var Jj,tH=k((()=>{rj(),cI(),w(Qj,"baseGetAllKeys"),Jj=Qj}));function eH(t){return Jj(t,yY,zj)}var rH,nH=k((()=>{tH(),Gj(),kY(),w(eH,"getAllKeys"),rH=eH}));function iH(t){return Jj(t,PM,Hj)}var aH,oH,sH,lH,cH,hH,uH,dH,pH,fH,gH,mH,yH,vH,xH,bH,wH,kH,TH,EH=k((()=>{tH(),Vj(),BM(),w(iH,"getAllKeysIn"),aH=iH})),_H=k((()=>{rA(),ZC(),oH=JS(FC,"DataView"),sH=oH})),CH=k((()=>{rA(),ZC(),lH=JS(FC,"Promise"),cH=lH})),SH=k((()=>{rA(),ZC(),hH=JS(FC,"Set"),uH=hH})),AH=k((()=>{_H(),rL(),CH(),SH(),zq(),mS(),FS(),dH="[object Map]",pH="[object Promise]",fH="[object Set]",gH="[object WeakMap]",mH="[object DataView]",yH=BS(sH),vH=BS(tL),xH=BS(cH),bH=BS(uH),wH=BS(Fq),kH=gS,(sH&&kH(new sH(new ArrayBuffer(1)))!=mH||tL&&kH(new tL)!=dH||cH&&kH(cH.resolve())!=pH||uH&&kH(new uH)!=fH||Fq&&kH(new Fq)!=gH)&&(kH=w((function(t){var e=gS(t),r="[object Object]"==e?t.constructor:void 0,n=r?BS(r):"";if(n)switch(n){case yH:return mH;case vH:return dH;case xH:return pH;case bH:return fH;case wH:return gH}return e}),"getTag")),TH=kH}));function LH(t){var e=t.length,r=new t.constructor(e);return e&&"string"==typeof t[0]&&IH.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var NH,IH,MH,RH=k((()=>{NH=Object.prototype,IH=NH.hasOwnProperty,w(LH,"initCloneArray"),MH=LH}));function DH(t,e){var r=e?TN(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var OH,PH=k((()=>{EN(),w(DH,"cloneDataView"),OH=DH}));function BH(t){var e=new t.constructor(t.source,FH.exec(t));return e.lastIndex=t.lastIndex,e}var FH,$H,zH=k((()=>{FH=/\w*$/,w(BH,"cloneRegExp"),$H=BH}));function UH(t){return qH?Object(qH.call(t)):{}}var GH,qH,YH,jH=k((()=>{QC(),GH=zC?zC.prototype:void 0,qH=GH?GH.valueOf:void 0,w(UH,"cloneSymbol"),YH=UH}));function HH(t,e,r){var n=t.constructor;switch(e){case eW:return TN(t);case WH:case VH:return new n(+t);case rW:return OH(t,r);case nW:case iW:case aW:case oW:case sW:case lW:case cW:case hW:case uW:return CN(t,r);case XH:return new n;case KH:case JH:return new n(t);case ZH:return $H(t);case QH:return new n;case tW:return YH(t)}}var WH,VH,XH,KH,ZH,QH,JH,tW,eW,rW,nW,iW,aW,oW,sW,lW,cW,hW,uW,dW,pW=k((()=>{EN(),PH(),zH(),jH(),SN(),WH="[object Boolean]",VH="[object Date]",XH="[object Map]",KH="[object Number]",ZH="[object RegExp]",QH="[object Set]",JH="[object String]",tW="[object Symbol]",eW="[object ArrayBuffer]",rW="[object DataView]",nW="[object Float32Array]",iW="[object Float64Array]",aW="[object Int8Array]",oW="[object Int16Array]",sW="[object Int32Array]",lW="[object Uint8Array]",cW="[object Uint8ClampedArray]",hW="[object Uint16Array]",uW="[object Uint32Array]",w(HH,"initCloneByTag"),dW=HH}));function fW(t){return XN(t)&&TH(t)==gW}var gW,mW,yW,vW,xW,bW=k((()=>{AH(),KN(),gW="[object Map]",w(fW,"baseIsMap"),mW=fW})),wW=k((()=>{bW(),tM(),eM(),yW=KI&&KI.isMap,vW=yW?YI(yW):mW,xW=vW}));function kW(t){return XN(t)&&TH(t)==TW}var TW,EW,_W,CW,SW,AW=k((()=>{AH(),KN(),TW="[object Set]",w(kW,"baseIsSet"),EW=kW})),LW=k((()=>{AW(),tM(),eM(),_W=KI&&KI.isSet,CW=_W?YI(_W):EW,SW=CW}));function NW(t,e,r,n,i,a){var o,s=e&IW,l=e&MW,c=e&RW;if(r&&(o=i?r(t,n,i,a):r(t)),void 0!==o)return o;if(!vS(t))return t;var h=oI(t);if(h){if(o=MH(t),!s)return LN(t,o)}else{var u=TH(t),d=u==OW||u==PW;if(SI(t))return yN(t,s);if(u==BW||u==DW||d&&!i){if(o=l||d?{}:HN(t),!s)return l?Kj(t,Nj(o,t)):Yj(t,Sj(o,t))}else{if(!FW[u])return i?t:{};o=dW(t,u,s)}}a||(a=new VL);var p=a.get(t);if(p)return p;a.set(t,o),SW(t)?t.forEach((function(n){o.add(NW(n,e,r,n,t,a))})):xW(t)&&t.forEach((function(n,i){o.set(i,NW(n,e,r,i,t,a))}));var f=h?void 0:(c?l?aH:rH:l?PM:yY)(t);return jq(f||t,(function(n,i){f&&(n=t[i=n]),cM(o,i,NW(n,e,r,i,t,a))})),o}var IW,MW,RW,DW,OW,PW,BW,FW,$W,zW=k((()=>{ZL(),Hq(),hM(),Aj(),Ij(),bN(),RN(),Wj(),Zj(),nH(),EH(),AH(),RH(),pW(),WN(),cI(),LI(),wW(),xS(),LW(),kY(),BM(),IW=1,MW=2,RW=4,OW="[object Function]",PW="[object GeneratorFunction]",BW="[object Object]",(FW={})[DW="[object Arguments]"]=FW["[object Array]"]=FW["[object ArrayBuffer]"]=FW["[object DataView]"]=FW["[object Boolean]"]=FW["[object Date]"]=FW["[object Float32Array]"]=FW["[object Float64Array]"]=FW["[object Int8Array]"]=FW["[object Int16Array]"]=FW["[object Int32Array]"]=FW["[object Map]"]=FW["[object Number]"]=FW[BW]=FW["[object RegExp]"]=FW["[object Set]"]=FW["[object String]"]=FW["[object Symbol]"]=FW["[object Uint8Array]"]=FW["[object Uint8ClampedArray]"]=FW["[object Uint16Array]"]=FW["[object Uint32Array]"]=!0,FW["[object Error]"]=FW[OW]=FW["[object WeakMap]"]=!1,w(NW,"baseClone"),$W=NW}));function UW(t){return $W(t,GW)}var GW,qW,YW=k((()=>{zW(),GW=4,w(UW,"clone"),qW=UW}));function jW(t){return $W(t,HW|WW)}var HW,WW,VW,XW=k((()=>{zW(),HW=1,WW=4,w(jW,"cloneDeep"),VW=jW}));function KW(t){for(var e=-1,r=null==t?0:t.length,n=0,i=[];++e{w(KW,"compact"),ZW=KW}));function JW(t){return this.__data__.set(t,tV),this}var tV,eV,rV=k((()=>{tV="__lodash_hash_undefined__",w(JW,"setCacheAdd"),eV=JW}));function nV(t){return this.__data__.has(t)}var iV,aV=k((()=>{w(nV,"setCacheHas"),iV=nV}));function oV(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new _L;++e{CL(),rV(),aV(),w(oV,"SetCache"),oV.prototype.add=oV.prototype.push=eV,oV.prototype.has=iV,sV=oV}));function cV(t,e){for(var r=-1,n=null==t?0:t.length;++r{w(cV,"arraySome"),hV=cV}));function dV(t,e){return t.has(e)}var pV,fV=k((()=>{w(dV,"cacheHas"),pV=dV}));function gV(t,e,r,n,i,a){var o=r&mV,s=t.length,l=e.length;if(s!=l&&!(o&&l>s))return!1;var c=a.get(t),h=a.get(e);if(c&&h)return c==e&&h==t;var u=-1,d=!0,p=r&yV?new sV:void 0;for(a.set(t,e),a.set(e,t);++u{lV(),uV(),fV(),mV=1,yV=2,w(gV,"equalArrays"),vV=gV}));function bV(t){var e=-1,r=Array(t.size);return t.forEach((function(t,n){r[++e]=[n,t]})),r}var wV,kV=k((()=>{w(bV,"mapToArray"),wV=bV}));function TV(t){var e=-1,r=Array(t.size);return t.forEach((function(t){r[++e]=t})),r}var EV,_V=k((()=>{w(TV,"setToArray"),EV=TV}));function CV(t,e,r,n,i,a,o){switch(r){case $V:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case FV:return!(t.byteLength!=e.byteLength||!a(new xN(t),new xN(e)));case LV:case NV:case RV:return MA(+t,+e);case IV:return t.name==e.name&&t.message==e.message;case DV:case PV:return t==e+"";case MV:var s=wV;case OV:var l=n&SV;if(s||(s=EV),t.size!=e.size&&!l)return!1;var c=o.get(t);if(c)return c==e;n|=AV,o.set(t,e);var h=vV(s(t),s(e),n,i,a,o);return o.delete(t),h;case BV:if(UV)return UV.call(t)==UV.call(e)}return!1}var SV,AV,LV,NV,IV,MV,RV,DV,OV,PV,BV,FV,$V,zV,UV,GV,qV=k((()=>{QC(),wN(),RA(),xV(),kV(),_V(),SV=1,AV=2,LV="[object Boolean]",NV="[object Date]",IV="[object Error]",MV="[object Map]",RV="[object Number]",DV="[object RegExp]",OV="[object Set]",PV="[object String]",BV="[object Symbol]",FV="[object ArrayBuffer]",$V="[object DataView]",zV=zC?zC.prototype:void 0,UV=zV?zV.valueOf:void 0,w(CV,"equalByTag"),GV=CV}));function YV(t,e,r,n,i,a){var o=r&jV,s=rH(t),l=s.length;if(l!=rH(e).length&&!o)return!1;for(var c=l;c--;){var h=s[c];if(!(o?h in e:WV.call(e,h)))return!1}var u=a.get(t),d=a.get(e);if(u&&d)return u==e&&d==t;var p=!0;a.set(t,e),a.set(e,t);for(var f=o;++c{nH(),jV=1,HV=Object.prototype,WV=HV.hasOwnProperty,w(YV,"equalObjects"),VV=YV}));function KV(t,e,r,n,i,a){var o=oI(t),s=oI(e),l=o?JV:TH(t),c=s?JV:TH(e),h=(l=l==QV?tX:l)==tX,u=(c=c==QV?tX:c)==tX,d=l==c;if(d&&SI(t)){if(!SI(e))return!1;o=!0,h=!1}if(d&&!h)return a||(a=new VL),o||JI(t)?vV(t,e,r,n,i,a):GV(t,e,l,r,n,i,a);if(!(r&ZV)){var p=h&&rX.call(t,"__wrapped__"),f=u&&rX.call(e,"__wrapped__");if(p||f){var g=p?t.value():t,m=f?e.value():e;return a||(a=new VL),i(g,m,r,n,a)}}return!!d&&(a||(a=new VL),VV(t,e,r,n,i,a))}var ZV,QV,JV,tX,eX,rX,nX,iX=k((()=>{ZL(),xV(),qV(),XV(),AH(),cI(),LI(),rM(),ZV=1,QV="[object Arguments]",JV="[object Array]",tX="[object Object]",eX=Object.prototype,rX=eX.hasOwnProperty,w(KV,"baseIsEqualDeep"),nX=KV}));function aX(t,e,r,n,i){return t===e||(null==t||null==e||!XN(t)&&!XN(e)?t!=t&&e!=e:nX(t,e,r,n,aX,i))}var oX,sX=k((()=>{iX(),KN(),w(aX,"baseIsEqual"),oX=aX}));function lX(t,e,r,n){var i=r.length,a=i,o=!n;if(null==t)return!a;for(t=Object(t);i--;){var s=r[i];if(o&&s[2]?s[1]!==t[s[0]]:!(s[0]in t))return!1}for(;++i{ZL(),sX(),cX=1,hX=2,w(lX,"baseIsMatch"),uX=lX}));function pX(t){return t==t&&!vS(t)}var fX,gX=k((()=>{xS(),w(pX,"isStrictComparable"),fX=pX}));function mX(t){for(var e=yY(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,fX(i)]}return e}var yX,vX=k((()=>{gX(),kY(),w(mX,"getMatchData"),yX=mX}));function xX(t,e){return function(r){return null!=r&&r[t]===e&&(void 0!==e||t in Object(r))}}var bX,wX=k((()=>{w(xX,"matchesStrictComparable"),bX=xX}));function kX(t){var e=yX(t);return 1==e.length&&e[0][2]?bX(e[0][0],e[0][1]):function(r){return r===t||uX(r,t,e)}}var TX,EX=k((()=>{dX(),vX(),wX(),w(kX,"baseMatches"),TX=kX}));function _X(t,e){return null!=t&&e in Object(t)}var CX,SX=k((()=>{w(_X,"baseHasIn"),CX=_X}));function AX(t,e,r){for(var n=-1,i=(e=GY(e,t)).length,a=!1;++n{qY(),lI(),cI(),wM(),pI(),WY(),w(AX,"hasPath"),LX=AX}));function IX(t,e){return null!=t&&LX(t,e,CX)}var MX,RX=k((()=>{SX(),NX(),w(IX,"hasIn"),MX=IX}));function DX(t,e){return SY(t)&&fX(e)?bX(HY(t),e):function(r){var n=QY(r,t);return void 0===n&&n===e?MX(r,t):oX(e,n,OX|PX)}}var OX,PX,BX,FX=k((()=>{sX(),JY(),RX(),AY(),gX(),wX(),WY(),OX=1,PX=2,w(DX,"baseMatchesProperty"),BX=DX}));function $X(t){return function(e){return e?.[t]}}var zX,UX=k((()=>{w($X,"baseProperty"),zX=$X}));function GX(t){return function(e){return XY(e,t)}}var qX,YX=k((()=>{KY(),w(GX,"basePropertyDeep"),qX=GX}));function jX(t){return SY(t)?zX(HY(t)):qX(t)}var HX,WX=k((()=>{UX(),YX(),AY(),WY(),w(jX,"property"),HX=jX}));function VX(t){return"function"==typeof t?t:null==t?VM:"object"==typeof t?oI(t)?BX(t[0],t[1]):TX(t):HX(t)}var XX,KX=k((()=>{EX(),FX(),XM(),cI(),WX(),w(VX,"baseIteratee"),XX=VX}));function ZX(t,e,r,n){for(var i=-1,a=null==t?0:t.length;++i{w(ZX,"arrayAggregator"),QX=ZX}));function tK(t,e){return t&&lN(t,e,yY)}var eK,rK=k((()=>{hN(),kY(),w(tK,"baseForOwn"),eK=tK}));function nK(t,e){return function(r,n){if(null==r)return r;if(!gI(r))return t(r,n);for(var i=r.length,a=e?i:-1,o=Object(r);(e?a--:++a{mI(),w(nK,"createBaseEach"),iK=nK})),lK=k((()=>{rK(),sK(),aK=iK(eK),oK=aK}));function cK(t,e,r,n){return oK(t,(function(t,i,a){e(n,t,r(t),a)})),n}var hK,uK=k((()=>{lK(),w(cK,"baseAggregator"),hK=cK}));function dK(t,e){return function(r,n){var i=oI(r)?QX:hK,a=e?e():{};return i(r,t,XX(n,2),a)}}var pK,fK,gK,mK,yK,vK,xK,bK=k((()=>{JX(),uK(),KX(),cI(),w(dK,"createAggregator"),pK=dK})),wK=k((()=>{ZC(),fK=w((function(){return FC.Date.now()}),"now"),gK=fK})),kK=k((()=>{xR(),RA(),kR(),BM(),mK=Object.prototype,yK=mK.hasOwnProperty,vK=vR((function(t,e){t=Object(t);var r=-1,n=e.length,i=n>2?e[2]:void 0;for(i&&wR(e[0],e[1],i)&&(n=1);++r{w(TK,"arrayIncludesWith"),EK=TK}));function CK(t,e,r,n){var i=-1,a=oY,o=!0,s=t.length,l=[],c=e.length;if(!s)return l;r&&(e=oq(e,YI(r))),n?(a=EK,o=!1):e.length>=SK&&(a=pV,o=!1,e=new sV(e));t:for(;++i{lV(),cY(),_K(),sq(),tM(),fV(),SK=200,w(CK,"baseDifference"),AK=CK})),MK=k((()=>{IK(),cj(),xR(),xI(),LK=vR((function(t,e){return vI(t)?AK(t,lj(e,1,vI,!0)):[]})),NK=LK}));function RK(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}var DK,OK=k((()=>{w(RK,"last"),DK=RK}));function PK(t,e,r){var n=null==t?0:t.length;return n?(e=r||void 0===e?1:Pq(e),yj(t,e<0?0:e,n)):[]}var BK,FK=k((()=>{vj(),$q(),w(PK,"drop"),BK=PK}));function $K(t,e,r){var n=null==t?0:t.length;return n?(e=r||void 0===e?1:Pq(e),yj(t,0,(e=n-e)<0?0:e)):[]}var zK,UK=k((()=>{vj(),$q(),w($K,"dropRight"),zK=$K}));function GK(t){return"function"==typeof t?t:VM}var qK,YK=k((()=>{XM(),w(GK,"castFunction"),qK=GK}));function jK(t,e){return(oI(t)?jq:oK)(t,qK(e))}var HK,WK=k((()=>{Hq(),lK(),YK(),cI(),w(jK,"forEach"),HK=jK})),VK=k((()=>{WK()}));function XK(t,e){for(var r=-1,n=null==t?0:t.length;++r{w(XK,"arrayEvery"),KK=XK}));function QK(t,e){var r=!0;return oK(t,(function(t,n,i){return r=!!e(t,n,i)})),r}var JK,tZ=k((()=>{lK(),w(QK,"baseEvery"),JK=QK}));function eZ(t,e,r){var n=oI(t)?KK:JK;return r&&wR(t,e,r)&&(e=void 0),n(t,XX(e,3))}var rZ,nZ=k((()=>{ZK(),tZ(),KX(),cI(),kR(),w(eZ,"every"),rZ=eZ}));function iZ(t,e){var r=[];return oK(t,(function(t,n,i){e(t,n,i)&&r.push(t)})),r}var aZ,oZ=k((()=>{lK(),w(iZ,"baseFilter"),aZ=iZ}));function sZ(t,e){return(oI(t)?Rj:aZ)(t,XX(e,3))}var lZ,cZ=k((()=>{Dj(),oZ(),KX(),cI(),w(sZ,"filter"),lZ=sZ}));function hZ(t){return function(e,r,n){var i=Object(e);if(!gI(e)){var a=XX(r,3);e=yY(e),r=w((function(t){return a(i[t],t,i)}),"predicate")}var o=t(e,r,n);return o>-1?i[a?e[o]:o]:void 0}}var uZ,dZ=k((()=>{KX(),mI(),kY(),w(hZ,"createFind"),uZ=hZ}));function pZ(t,e,r){var n=null==t?0:t.length;if(!n)return-1;var i=null==r?0:Pq(r);return i<0&&(i=fZ(n+i,0)),Vq(t,XX(e,3),i)}var fZ,gZ,mZ,yZ,vZ=k((()=>{Xq(),KX(),$q(),fZ=Math.max,w(pZ,"findIndex"),gZ=pZ})),xZ=k((()=>{dZ(),vZ(),mZ=uZ(gZ),yZ=mZ}));function bZ(t){return t&&t.length?t[0]:void 0}var wZ,kZ=k((()=>{w(bZ,"head"),wZ=bZ})),TZ=k((()=>{kZ()}));function EZ(t,e){var r=-1,n=gI(t)?Array(t.length):[];return oK(t,(function(t,i,a){n[++r]=e(t,i,a)})),n}var _Z,CZ=k((()=>{lK(),mI(),w(EZ,"baseMap"),_Z=EZ}));function SZ(t,e){return(oI(t)?oq:_Z)(t,XX(e,3))}var AZ,LZ=k((()=>{sq(),KX(),CZ(),cI(),w(SZ,"map"),AZ=SZ}));function NZ(t,e){return lj(AZ(t,e),1)}var IZ,MZ=k((()=>{cj(),LZ(),w(NZ,"flatMap"),IZ=NZ}));function RZ(t,e){return null==t?t:lN(t,qK(e),PM)}var DZ,OZ=k((()=>{hN(),YK(),BM(),w(RZ,"forIn"),DZ=RZ}));function PZ(t,e){return t&&eK(t,qK(e))}var BZ,FZ,$Z,zZ,UZ,GZ=k((()=>{rK(),YK(),w(PZ,"forOwn"),BZ=PZ})),qZ=k((()=>{eN(),bK(),FZ=Object.prototype,$Z=FZ.hasOwnProperty,zZ=pK((function(t,e,r){$Z.call(t,r)?t[r].push(e):tN(t,r,[e])})),UZ=zZ}));function YZ(t,e){return t>e}var jZ,HZ=k((()=>{w(YZ,"baseGt"),jZ=YZ}));function WZ(t,e){return null!=t&&XZ.call(t,e)}var VZ,XZ,KZ,ZZ=k((()=>{VZ=Object.prototype,XZ=VZ.hasOwnProperty,w(WZ,"baseHas"),KZ=WZ}));function QZ(t,e){return null!=t&&LX(t,e,KZ)}var JZ,tQ=k((()=>{ZZ(),NX(),w(QZ,"has"),JZ=QZ}));function eQ(t){return"string"==typeof t||!oI(t)&&XN(t)&&gS(t)==rQ}var rQ,nQ,iQ=k((()=>{mS(),cI(),KN(),rQ="[object String]",w(eQ,"isString"),nQ=eQ}));function aQ(t,e){return oq(e,(function(e){return t[e]}))}var oQ,sQ=k((()=>{sq(),w(aQ,"baseValues"),oQ=aQ}));function lQ(t){return null==t?[]:oQ(t,yY(t))}var cQ,hQ=k((()=>{sQ(),kY(),w(lQ,"values"),cQ=lQ}));function uQ(t,e,r,n){t=gI(t)?t:cQ(t),r=r&&!n?Pq(r):0;var i=t.length;return r<0&&(r=dQ(i+r,0)),nQ(t)?r<=i&&t.indexOf(e,r)>-1:!!i&&nY(t,e,r)>-1}var dQ,pQ,fQ=k((()=>{iY(),mI(),iQ(),$q(),hQ(),dQ=Math.max,w(uQ,"includes"),pQ=uQ}));function gQ(t,e,r){var n=null==t?0:t.length;if(!n)return-1;var i=null==r?0:Pq(r);return i<0&&(i=mQ(n+i,0)),nY(t,e,i)}var mQ,yQ,vQ=k((()=>{iY(),$q(),mQ=Math.max,w(gQ,"indexOf"),yQ=gQ}));function xQ(t){if(null==t)return!0;if(gI(t)&&(oI(t)||"string"==typeof t||"function"==typeof t.splice||SI(t)||JI(t)||iI(t)))return!t.length;var e=TH(t);if(e==bQ||e==wQ)return!t.size;if(qN(t))return!fY(t).length;for(var r in t)if(TQ.call(t,r))return!1;return!0}var bQ,wQ,kQ,TQ,EQ,_Q=k((()=>{gY(),AH(),lI(),cI(),mI(),LI(),YN(),rM(),bQ="[object Map]",wQ="[object Set]",kQ=Object.prototype,TQ=kQ.hasOwnProperty,w(xQ,"isEmpty"),EQ=xQ}));function CQ(t){return XN(t)&&gS(t)==SQ}var SQ,AQ,LQ,NQ,IQ,MQ=k((()=>{mS(),KN(),SQ="[object RegExp]",w(CQ,"baseIsRegExp"),AQ=CQ})),RQ=k((()=>{MQ(),tM(),eM(),LQ=KI&&KI.isRegExp,NQ=LQ?YI(LQ):AQ,IQ=NQ}));function DQ(t){return void 0===t}var OQ,PQ=k((()=>{w(DQ,"isUndefined"),OQ=DQ}));function BQ(t,e){return t{w(BQ,"baseLt"),FQ=BQ}));function zQ(t,e){var r={};return e=XX(e,3),eK(t,(function(t,n,i){tN(r,n,e(t,n,i))})),r}var UQ,GQ=k((()=>{eN(),rK(),KX(),w(zQ,"mapValues"),UQ=zQ}));function qQ(t,e,r){for(var n=-1,i=t.length;++n{iq(),w(qQ,"baseExtremum"),YQ=qQ}));function HQ(t){return t&&t.length?YQ(t,VM,jZ):void 0}var WQ,VQ=k((()=>{jQ(),HZ(),XM(),w(HQ,"max"),WQ=HQ}));function XQ(t){return t&&t.length?YQ(t,VM,FQ):void 0}var KQ,ZQ=k((()=>{jQ(),$Q(),XM(),w(XQ,"min"),KQ=XQ}));function QQ(t,e){return t&&t.length?YQ(t,XX(e,2),FQ):void 0}var JQ,tJ=k((()=>{jQ(),KX(),$Q(),w(QQ,"minBy"),JQ=QQ}));function eJ(t){if("function"!=typeof t)throw new TypeError(rJ);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}var rJ,nJ,iJ=k((()=>{rJ="Expected a function",w(eJ,"negate"),nJ=eJ}));function aJ(t,e,r,n){if(!vS(t))return t;for(var i=-1,a=(e=GY(e,t)).length,o=a-1,s=t;null!=s&&++i{hM(),qY(),wM(),xS(),WY(),w(aJ,"baseSet"),oJ=aJ}));function lJ(t,e,r){for(var n=-1,i=e.length,a={};++n{KY(),sJ(),qY(),w(lJ,"basePickBy"),cJ=lJ}));function uJ(t,e){if(null==t)return{};var r=oq(aH(t),(function(t){return[t]}));return e=XX(e),cJ(t,r,(function(t,r){return e(t,r[0])}))}var dJ,pJ=k((()=>{sq(),KX(),hJ(),EH(),w(uJ,"pickBy"),dJ=uJ}));function fJ(t,e){var r=t.length;for(t.sort(e);r--;)t[r]=t[r].value;return t}var gJ,mJ=k((()=>{w(fJ,"baseSortBy"),gJ=fJ}));function yJ(t,e){if(t!==e){var r=void 0!==t,n=null===t,i=t==t,a=nq(t),o=void 0!==e,s=null===e,l=e==e,c=nq(e);if(!s&&!c&&!a&&t>e||a&&o&&l&&!s&&!c||n&&o&&l||!r&&l||!i)return 1;if(!n&&!a&&!c&&t{iq(),w(yJ,"compareAscending"),vJ=yJ}));function bJ(t,e,r){for(var n=-1,i=t.criteria,a=e.criteria,o=i.length,s=r.length;++n=s?l:l*("desc"==r[n]?-1:1)}return t.index-e.index}var wJ,kJ=k((()=>{xJ(),w(bJ,"compareMultiple"),wJ=bJ}));function TJ(t,e,r){e=e.length?oq(e,(function(t){return oI(t)?function(e){return XY(e,1===t.length?t[0]:t)}:t})):[VM];var n=-1;e=oq(e,YI(XX));var i=_Z(t,(function(t,r,i){return{criteria:oq(e,(function(e){return e(t)})),index:++n,value:t}}));return gJ(i,(function(t,e){return wJ(t,e,r)}))}var EJ,_J,CJ,SJ=k((()=>{sq(),KY(),KX(),CZ(),mJ(),tM(),kJ(),XM(),cI(),w(TJ,"baseOrderBy"),EJ=TJ})),AJ=k((()=>{UX(),_J=zX("length"),CJ=_J}));function LJ(t){for(var e=UJ.lastIndex=0;UJ.test(t);)++e;return e}var NJ,IJ,MJ,RJ,DJ,OJ,PJ,BJ,FJ,$J,zJ,UJ,GJ,qJ=k((()=>{NJ="["+"\\ud800-\\udfff"+"]",PJ="(?:"+(IJ="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]")+"|"+(MJ="\\ud83c[\\udffb-\\udfff]")+")?",BJ="[\\ufe0e\\ufe0f]?",FJ="(?:\\u200d(?:"+[RJ="[^\\ud800-\\udfff]",DJ="(?:\\ud83c[\\udde6-\\uddff]){2}",OJ="[\\ud800-\\udbff][\\udc00-\\udfff]"].join("|")+")"+BJ+PJ+")*",$J=BJ+PJ+FJ,zJ="(?:"+[RJ+IJ+"?",IJ,DJ,OJ,NJ].join("|")+")",UJ=RegExp(MJ+"(?="+MJ+")|"+zJ+$J,"g"),w(LJ,"unicodeSize"),GJ=LJ}));function YJ(t){return wj(t)?GJ(t):CJ(t)}var jJ,HJ=k((()=>{AJ(),kj(),qJ(),w(YJ,"stringSize"),jJ=YJ}));function WJ(t,e){return cJ(t,e,(function(e,r){return MX(t,r)}))}var VJ,XJ,KJ,ZJ=k((()=>{hJ(),RX(),w(WJ,"basePick"),VJ=WJ})),QJ=k((()=>{ZJ(),gj(),XJ=fj((function(t,e){return null==t?{}:VJ(t,e)})),KJ=XJ}));function JJ(t,e,r,n){for(var i=-1,a=e0(t0((e-t)/(r||1)),0),o=Array(a);a--;)o[n?a:++i]=t,t+=r;return o}var t0,e0,r0,n0=k((()=>{t0=Math.ceil,e0=Math.max,w(JJ,"baseRange"),r0=JJ}));function i0(t){return function(e,r,n){return n&&"number"!=typeof n&&wR(e,r,n)&&(r=n=void 0),e=Rq(e),void 0===r?(r=e,e=0):r=Rq(r),n=void 0===n?e{n0(),kR(),Dq(),w(i0,"createRange"),a0=i0})),c0=k((()=>{l0(),o0=a0(),s0=o0}));function h0(t,e,r,n,i){return i(t,(function(t,i,a){r=n?(n=!1,t):e(r,t,i,a)})),r}var u0,d0=k((()=>{w(h0,"baseReduce"),u0=h0}));function p0(t,e,r){var n=oI(t)?Ej:u0,i=arguments.length<3;return n(t,XX(e,4),r,i,oK)}var f0,g0=k((()=>{_j(),lK(),KX(),d0(),cI(),w(p0,"reduce"),f0=p0}));function m0(t,e){return(oI(t)?Rj:aZ)(t,nJ(XX(e,3)))}var y0,v0=k((()=>{Dj(),oZ(),KX(),cI(),iJ(),w(m0,"reject"),y0=m0}));function x0(t){if(null==t)return 0;if(gI(t))return nQ(t)?jJ(t):t.length;var e=TH(t);return e==b0||e==w0?t.size:fY(t).length}var b0,w0,k0,T0=k((()=>{gY(),AH(),mI(),iQ(),HJ(),b0="[object Map]",w0="[object Set]",w(x0,"size"),k0=x0}));function E0(t,e){var r;return oK(t,(function(t,n,i){return!(r=e(t,n,i))})),!!r}var _0,C0=k((()=>{lK(),w(E0,"baseSome"),_0=E0}));function S0(t,e,r){var n=oI(t)?hV:_0;return r&&wR(t,e,r)&&(e=void 0),n(t,XX(e,3))}var A0,L0,N0,I0,M0,R0,D0=k((()=>{uV(),KX(),C0(),cI(),kR(),w(S0,"some"),A0=S0})),O0=k((()=>{cj(),SJ(),xR(),kR(),L0=vR((function(t,e){if(null==t)return[];var r=e.length;return r>1&&wR(t,e[0],e[1])?e=[]:r>2&&wR(e[0],e[1],e[2])&&(e=[e[0]]),EJ(t,lj(e,1),[])})),N0=L0})),P0=k((()=>{SH(),qq(),_V(),I0=1/0,M0=uH&&1/EV(new uH([,-0]))[1]==I0?function(t){return new uH(t)}:Gq,R0=M0}));function B0(t,e,r){var n=-1,i=oY,a=t.length,o=!0,s=[],l=s;if(r)o=!1,i=EK;else if(a>=F0){var c=e?null:R0(t);if(c)return EV(c);o=!1,i=pV,l=new sV}else l=e?[]:s;t:for(;++n{lV(),cY(),_K(),fV(),P0(),_V(),F0=200,w(B0,"baseUniq"),$0=B0})),q0=k((()=>{cj(),xR(),G0(),xI(),z0=vR((function(t){return $0(lj(t,1,vI,!0))})),U0=z0}));function Y0(t){return t&&t.length?$0(t):[]}var j0,H0=k((()=>{G0(),w(Y0,"uniq"),j0=Y0}));function W0(t,e){return t&&t.length?$0(t,XX(e,2)):[]}var V0,X0=k((()=>{KX(),G0(),w(W0,"uniqBy"),V0=W0}));function K0(t){var e=++Z0;return $Y(t)+e}var Z0,Q0,J0=k((()=>{zY(),Z0=0,w(K0,"uniqueId"),Q0=K0}));function t1(t,e,r){for(var n=-1,i=t.length,a=e.length,o={};++n{w(t1,"baseZipObject"),e1=t1}));function n1(t,e){return e1(t||[],e||[],cM)}var i1,a1=k((()=>{hM(),r1(),w(n1,"zipObject"),i1=n1})),o1=k((()=>{TY(),YW(),XW(),QW(),oR(),kK(),MK(),FK(),UK(),VK(),nZ(),cZ(),xZ(),TZ(),MZ(),dj(),WK(),OZ(),GZ(),qZ(),tQ(),XM(),fQ(),vQ(),cI(),_Q(),AS(),xS(),RQ(),iQ(),PQ(),kY(),OK(),LZ(),GQ(),VQ(),AR(),ZQ(),tJ(),qq(),wK(),QJ(),pJ(),c0(),g0(),v0(),T0(),D0(),O0(),q0(),H0(),J0(),hQ(),a1()}));function s1(t,e){t[e]?t[e]++:t[e]=1}function l1(t,e){--t[e]||delete t[e]}function c1(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var o=i;i=a,a=o}return i+f1+a+f1+(OQ(n)?d1:n)}function h1(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var o=i;i=a,a=o}var s={v:i,w:a};return n&&(s.name=n),s}function u1(t,e){return c1(t,e.v,e.w,e.name)}var d1,p1,f1,g1,m1=k((()=>{o1(),d1="\0",p1="\0",f1="",(g1=class{static{w(this,"Graph")}constructor(t={}){this._isDirected=!JZ(t,"directed")||t.directed,this._isMultigraph=!!JZ(t,"multigraph")&&t.multigraph,this._isCompound=!!JZ(t,"compound")&&t.compound,this._label=void 0,this._defaultNodeLabelFn=iR(void 0),this._defaultEdgeLabelFn=iR(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[p1]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return _S(t)||(t=iR(t)),this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return yY(this._nodes)}sources(){var t=this;return lZ(this.nodes(),(function(e){return EQ(t._in[e])}))}sinks(){var t=this;return lZ(this.nodes(),(function(e){return EQ(t._out[e])}))}setNodes(t,e){var r=arguments,n=this;return HK(t,(function(t){r.length>1?n.setNode(t,e):n.setNode(t)})),this}setNode(t,e){return JZ(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=p1,this._children[t]={},this._children[p1][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return JZ(this._nodes,t)}removeNode(t){var e=this;if(JZ(this._nodes,t)){var r=w((function(t){e.removeEdge(e._edgeObjs[t])}),"removeEdge");delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],HK(this.children(t),(function(t){e.setParent(t)})),delete this._children[t]),HK(yY(this._in[t]),r),delete this._in[t],delete this._preds[t],HK(yY(this._out[t]),r),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(OQ(e))e=p1;else{for(var r=e+="";!OQ(r);r=this.parent(r))if(r===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}parent(t){if(this._isCompound){var e=this._parent[t];if(e!==p1)return e}}children(t){if(OQ(t)&&(t=p1),this._isCompound){var e=this._children[t];if(e)return yY(e)}else{if(t===p1)return this.nodes();if(this.hasNode(t))return[]}}predecessors(t){var e=this._preds[t];if(e)return yY(e)}successors(t){var e=this._sucs[t];if(e)return yY(e)}neighbors(t){var e=this.predecessors(t);if(e)return U0(e,this.successors(t))}isLeaf(t){return 0===(this.isDirected()?this.successors(t):this.neighbors(t)).length}filterNodes(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var r=this;HK(this._nodes,(function(r,n){t(n)&&e.setNode(n,r)})),HK(this._edgeObjs,(function(t){e.hasNode(t.v)&&e.hasNode(t.w)&&e.setEdge(t,r.edge(t))}));var n={};function i(t){var a=r.parent(t);return void 0===a||e.hasNode(a)?(n[t]=a,a):a in n?n[a]:i(a)}return w(i,"findParent"),this._isCompound&&HK(e.nodes(),(function(t){e.setParent(t,i(t))})),e}setDefaultEdgeLabel(t){return _S(t)||(t=iR(t)),this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return cQ(this._edgeObjs)}setPath(t,e){var r=this,n=arguments;return f0(t,(function(t,i){return n.length>1?r.setEdge(t,i,e):r.setEdge(t,i),i})),this}setEdge(){var t,e,r,n,i=!1,a=arguments[0];"object"==typeof a&&null!==a&&"v"in a?(t=a.v,e=a.w,r=a.name,2===arguments.length&&(n=arguments[1],i=!0)):(t=a,e=arguments[1],r=arguments[3],arguments.length>2&&(n=arguments[2],i=!0)),t=""+t,e=""+e,OQ(r)||(r=""+r);var o=c1(this._isDirected,t,e,r);if(JZ(this._edgeLabels,o))return i&&(this._edgeLabels[o]=n),this;if(!OQ(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[o]=i?n:this._defaultEdgeLabelFn(t,e,r);var s=h1(this._isDirected,t,e,r);return t=s.v,e=s.w,Object.freeze(s),this._edgeObjs[o]=s,s1(this._preds[e],t),s1(this._sucs[t],e),this._in[e][o]=s,this._out[t][o]=s,this._edgeCount++,this}edge(t,e,r){var n=1===arguments.length?u1(this._isDirected,arguments[0]):c1(this._isDirected,t,e,r);return this._edgeLabels[n]}hasEdge(t,e,r){var n=1===arguments.length?u1(this._isDirected,arguments[0]):c1(this._isDirected,t,e,r);return JZ(this._edgeLabels,n)}removeEdge(t,e,r){var n=1===arguments.length?u1(this._isDirected,arguments[0]):c1(this._isDirected,t,e,r),i=this._edgeObjs[n];return i&&(t=i.v,e=i.w,delete this._edgeLabels[n],delete this._edgeObjs[n],l1(this._preds[e],t),l1(this._sucs[t],e),delete this._in[e][n],delete this._out[t][n],this._edgeCount--),this}inEdges(t,e){var r=this._in[t];if(r){var n=cQ(r);return e?lZ(n,(function(t){return t.v===e})):n}}outEdges(t,e){var r=this._out[t];if(r){var n=cQ(r);return e?lZ(n,(function(t){return t.w===e})):n}}nodeEdges(t,e){var r=this.inEdges(t,e);if(r)return r.concat(this.outEdges(t,e))}}).prototype._nodeCount=0,g1.prototype._edgeCount=0,w(s1,"incrementOrInitEntry"),w(l1,"decrementOrRemoveEntry"),w(c1,"edgeArgsToId"),w(h1,"edgeArgsToObj"),w(u1,"edgeObjToId")})),y1=k((()=>{m1()}));function v1(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function x1(t,e){if("_next"!==t&&"_prev"!==t)return e}var b1,w1=k((()=>{b1=class{static{w(this,"List")}constructor(){var t={};t._next=t._prev=t,this._sentinel=t}dequeue(){var t=this._sentinel,e=t._prev;if(e!==t)return v1(e),e}enqueue(t){var e=this._sentinel;t._prev&&t._next&&v1(t),t._next=e._next,e._next._prev=t,e._next=t,t._prev=e}toString(){for(var t=[],e=this._sentinel,r=e._prev;r!==e;)t.push(JSON.stringify(r,x1)),r=r._prev;return"["+t.join(", ")+"]"}},w(v1,"unlink"),w(x1,"filterOutLinks")}));function k1(t,e){if(t.nodeCount()<=1)return[];var r=_1(t,e||S1),n=T1(r.graph,r.buckets,r.zeroIdx);return uj(AZ(n,(function(e){return t.outEdges(e.v,e.w)})))}function T1(t,e,r){for(var n,i=[],a=e[e.length-1],o=e[0];t.nodeCount();){for(;n=o.dequeue();)E1(t,e,r,n);for(;n=a.dequeue();)E1(t,e,r,n);if(t.nodeCount())for(var s=e.length-2;s>0;--s)if(n=e[s].dequeue()){i=i.concat(E1(t,e,r,n,!0));break}}return i}function E1(t,e,r,n,i){var a=i?[]:void 0;return HK(t.inEdges(n.v),(function(n){var o=t.edge(n),s=t.node(n.v);i&&a.push({v:n.v,w:n.w}),s.out-=o,C1(e,r,s)})),HK(t.outEdges(n.v),(function(n){var i=t.edge(n),a=n.w,o=t.node(a);o.in-=i,C1(e,r,o)})),t.removeNode(n.v),a}function _1(t,e){var r=new g1,n=0,i=0;HK(t.nodes(),(function(t){r.setNode(t,{v:t,in:0,out:0})})),HK(t.edges(),(function(t){var a=r.edge(t.v,t.w)||0,o=e(t),s=a+o;r.setEdge(t.v,t.w,s),i=Math.max(i,r.node(t.v).out+=o),n=Math.max(n,r.node(t.w).in+=o)}));var a=s0(i+n+3).map((function(){return new b1})),o=n+1;return HK(r.nodes(),(function(t){C1(a,o,r.node(t))})),{graph:r,buckets:a,zeroIdx:o}}function C1(t,e,r){r.out?r.in?t[r.out-r.in+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}var S1,A1=k((()=>{o1(),y1(),w1(),S1=iR(1),w(k1,"greedyFAS"),w(T1,"doGreedyFAS"),w(E1,"removeNode"),w(_1,"buildState"),w(C1,"assignBucket")}));function L1(t){var e="greedy"===t.graph().acyclicer?k1(t,r(t)):N1(t);function r(t){return function(e){return t.edge(e).weight}}HK(e,(function(e){var r=t.edge(e);t.removeEdge(e),r.forwardName=e.name,r.reversed=!0,t.setEdge(e.w,e.v,r,Q0("rev"))})),w(r,"weightFn")}function N1(t){var e=[],r={},n={};function i(a){JZ(n,a)||(n[a]=!0,r[a]=!0,HK(t.outEdges(a),(function(t){JZ(r,t.w)?e.push(t):i(t.w)})),delete r[a])}return w(i,"dfs"),HK(t.nodes(),i),e}function I1(t){HK(t.edges(),(function(e){var r=t.edge(e);if(r.reversed){t.removeEdge(e);var n=r.forwardName;delete r.reversed,delete r.forwardName,t.setEdge(e.w,e.v,r,n)}}))}var M1=k((()=>{o1(),A1(),w(L1,"run"),w(N1,"dfsFAS"),w(I1,"undo")}));function R1(t,e,r,n){var i;do{i=Q0(n)}while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function D1(t){var e=(new g1).setGraph(t.graph());return HK(t.nodes(),(function(r){e.setNode(r,t.node(r))})),HK(t.edges(),(function(r){var n=e.edge(r.v,r.w)||{weight:0,minlen:1},i=t.edge(r);e.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})})),e}function O1(t){var e=new g1({multigraph:t.isMultigraph()}).setGraph(t.graph());return HK(t.nodes(),(function(r){t.children(r).length||e.setNode(r,t.node(r))})),HK(t.edges(),(function(r){e.setEdge(r,t.edge(r))})),e}function P1(t,e){var r,n,i=t.x,a=t.y,o=e.x-i,s=e.y-a,l=t.width/2,c=t.height/2;if(!o&&!s)throw new Error("Not possible to find intersection inside of the rectangle");return Math.abs(s)*l>Math.abs(o)*c?(s<0&&(c=-c),r=c*o/s,n=c):(o<0&&(l=-l),r=l,n=l*s/o),{x:i+r,y:a+n}}function B1(t){var e=AZ(s0(U1(t)+1),(function(){return[]}));return HK(t.nodes(),(function(r){var n=t.node(r),i=n.rank;OQ(i)||(e[i][n.order]=r)})),e}function F1(t){var e=KQ(AZ(t.nodes(),(function(e){return t.node(e).rank})));HK(t.nodes(),(function(r){var n=t.node(r);JZ(n,"rank")&&(n.rank-=e)}))}function $1(t){var e=KQ(AZ(t.nodes(),(function(e){return t.node(e).rank}))),r=[];HK(t.nodes(),(function(n){var i=t.node(n).rank-e;r[i]||(r[i]=[]),r[i].push(n)}));var n=0,i=t.graph().nodeRankFactor;HK(r,(function(e,r){OQ(e)&&r%i!=0?--n:n&&HK(e,(function(e){t.node(e).rank+=n}))}))}function z1(t,e,r,n){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=n),R1(t,"border",i,e)}function U1(t){return WQ(AZ(t.nodes(),(function(e){var r=t.node(e).rank;if(!OQ(r))return r})))}function G1(t,e){var r={lhs:[],rhs:[]};return HK(t,(function(t){e(t)?r.lhs.push(t):r.rhs.push(t)})),r}function q1(t,e){var r=gK();try{return e()}finally{console.log(t+" time: "+(gK()-r)+"ms")}}function Y1(t,e){return e()}var j1=k((()=>{o1(),y1(),w(R1,"addDummyNode"),w(D1,"simplify"),w(O1,"asNonCompoundGraph"),w(P1,"intersectRect"),w(B1,"buildLayerMatrix"),w(F1,"normalizeRanks"),w($1,"removeEmptyRanks"),w(z1,"addBorderNode"),w(U1,"maxRank"),w(G1,"partition"),w(q1,"time"),w(Y1,"notime")}));function H1(t){function e(r){var n=t.children(r),i=t.node(r);if(n.length&&HK(n,e),JZ(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,o=i.maxRank+1;a{o1(),j1(),w(H1,"addBorderSegments"),w(W1,"addBorderNode")}));function X1(t){var e=t.graph().rankdir.toLowerCase();("lr"===e||"rl"===e)&&Z1(t)}function K1(t){var e=t.graph().rankdir.toLowerCase();("bt"===e||"rl"===e)&&J1(t),("lr"===e||"rl"===e)&&(e2(t),Z1(t))}function Z1(t){HK(t.nodes(),(function(e){Q1(t.node(e))})),HK(t.edges(),(function(e){Q1(t.edge(e))}))}function Q1(t){var e=t.width;t.width=t.height,t.height=e}function J1(t){HK(t.nodes(),(function(e){t2(t.node(e))})),HK(t.edges(),(function(e){var r=t.edge(e);HK(r.points,t2),JZ(r,"y")&&t2(r)}))}function t2(t){t.y=-t.y}function e2(t){HK(t.nodes(),(function(e){r2(t.node(e))})),HK(t.edges(),(function(e){var r=t.edge(e);HK(r.points,r2),JZ(r,"x")&&r2(r)}))}function r2(t){var e=t.x;t.x=t.y,t.y=e}var n2=k((()=>{o1(),w(X1,"adjust"),w(K1,"undo"),w(Z1,"swapWidthHeight"),w(Q1,"swapWidthHeightOne"),w(J1,"reverseY"),w(t2,"reverseYOne"),w(e2,"swapXY"),w(r2,"swapXYOne")}));function i2(t){t.graph().dummyChains=[],HK(t.edges(),(function(e){a2(t,e)}))}function a2(t,e){var r=e.v,n=t.node(r).rank,i=e.w,a=t.node(i).rank,o=e.name,s=t.edge(e),l=s.labelRank;if(a!==n+1){var c,h,u;for(t.removeEdge(e),u=0,++n;n{o1(),j1(),w(i2,"run"),w(a2,"normalizeEdge"),w(o2,"undo")}));function l2(t){var e={};function r(n){var i=t.node(n);if(JZ(e,n))return i.rank;e[n]=!0;var a=KQ(AZ(t.outEdges(n),(function(e){return r(e.w)-t.edge(e).minlen})));return(a===Number.POSITIVE_INFINITY||null==a)&&(a=0),i.rank=a}w(r,"dfs"),HK(t.sources(),r)}function c2(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}var h2=k((()=>{o1(),w(l2,"longestPath"),w(c2,"slack")}));function u2(t){var e,r,n=new g1({directed:!1}),i=t.nodes()[0],a=t.nodeCount();for(n.setNode(i,{});d2(n,t){o1(),y1(),h2(),w(u2,"feasibleTree"),w(d2,"tightTree"),w(p2,"findMinSlackEdge"),w(f2,"shiftRanks")})),m2=k((()=>{})),y2=k((()=>{})),v2=k((()=>{o1(),y2(),iR(1)})),x2=k((()=>{v2()})),b2=k((()=>{})),w2=k((()=>{b2()})),k2=k((()=>{o1(),iR(1)}));function T2(t){var e={},r={},n=[];function i(a){if(JZ(r,a))throw new E2;JZ(e,a)||(r[a]=!0,e[a]=!0,HK(t.predecessors(a),i),delete r[a],n.push(a))}if(w(i,"visit"),HK(t.sinks(),i),k0(e)!==t.nodeCount())throw new E2;return n}function E2(){}var _2=k((()=>{o1(),T2.CycleException=E2,w(T2,"topsort"),w(E2,"CycleException"),E2.prototype=new Error})),C2=k((()=>{_2()}));function S2(t,e,r){oI(e)||(e=[e]);var n=(t.isDirected()?t.successors:t.neighbors).bind(t),i=[],a={};return HK(e,(function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);A2(t,e,"post"===r,a,n,i)})),i}function A2(t,e,r,n,i,a){JZ(n,e)||(n[e]=!0,r||a.push(e),HK(i(e),(function(e){A2(t,e,r,n,i,a)})),r&&a.push(e))}var L2=k((()=>{o1(),w(S2,"dfs"),w(A2,"doDfs")}));function N2(t,e){return S2(t,e,"post")}var I2=k((()=>{L2(),w(N2,"postorder")}));function M2(t,e){return S2(t,e,"pre")}var R2=k((()=>{L2(),w(M2,"preorder")})),D2=k((()=>{y2(),m1()})),O2=k((()=>{m2(),v2(),x2(),w2(),k2(),C2(),I2(),R2(),D2(),b2(),_2()}));function P2(t){l2(t=D1(t));var e,r=u2(t);for(z2(r),B2(r,t);e=G2(r);)Y2(r,t,e,q2(r,t,e))}function B2(t,e){var r=N2(t,t.nodes());r=r.slice(0,r.length-1),HK(r,(function(r){F2(t,e,r)}))}function F2(t,e,r){var n=t.node(r).parent;t.edge(r,n).cutvalue=$2(t,e,r)}function $2(t,e,r){var n=t.node(r).parent,i=!0,a=e.edge(r,n),o=0;return a||(i=!1,a=e.edge(n,r)),o=a.weight,HK(e.nodeEdges(r),(function(a){var s=a.v===r,l=s?a.w:a.v;if(l!==n){var c=s===i,h=e.edge(a).weight;if(o+=c?h:-h,H2(t,r,l)){var u=t.edge(r,l).cutvalue;o+=c?-u:u}}})),o}function z2(t,e){arguments.length<2&&(e=t.nodes()[0]),U2(t,{},1,e)}function U2(t,e,r,n,i){var a=r,o=t.node(n);return e[n]=!0,HK(t.neighbors(n),(function(i){JZ(e,i)||(r=U2(t,e,r,i,n))})),o.low=a,o.lim=r++,i?o.parent=i:delete o.parent,r}function G2(t){return yZ(t.edges(),(function(e){return t.edge(e).cutvalue<0}))}function q2(t,e,r){var n=r.v,i=r.w;e.hasEdge(n,i)||(n=r.w,i=r.v);var a=t.node(n),o=t.node(i),s=a,l=!1;a.lim>o.lim&&(s=o,l=!0);var c=lZ(e.edges(),(function(e){return l===W2(0,t.node(e.v),s)&&l!==W2(0,t.node(e.w),s)}));return JQ(c,(function(t){return c2(e,t)}))}function Y2(t,e,r,n){var i=r.v,a=r.w;t.removeEdge(i,a),t.setEdge(n.v,n.w,{}),z2(t),B2(t,e),j2(t,e)}function j2(t,e){var r=yZ(t.nodes(),(function(t){return!e.node(t).parent})),n=M2(t,r);n=n.slice(1),HK(n,(function(r){var n=t.node(r).parent,i=e.edge(r,n),a=!1;i||(i=e.edge(n,r),a=!0),e.node(r).rank=e.node(n).rank+(a?i.minlen:-i.minlen)}))}function H2(t,e,r){return t.hasEdge(e,r)}function W2(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}var V2=k((()=>{o1(),O2(),j1(),g2(),h2(),P2.initLowLimValues=z2,P2.initCutValues=B2,P2.calcCutValue=$2,P2.leaveEdge=G2,P2.enterEdge=q2,P2.exchangeEdges=Y2,w(P2,"networkSimplex"),w(B2,"initCutValues"),w(F2,"assignCutValue"),w($2,"calcCutValue"),w(z2,"initLowLimValues"),w(U2,"dfsAssignLowLim"),w(G2,"leaveEdge"),w(q2,"enterEdge"),w(Y2,"exchangeEdges"),w(j2,"updateRanks"),w(H2,"isTreeEdge"),w(W2,"isDescendant")}));function X2(t){switch(t.graph().ranker){case"network-simplex":default:Z2(t);break;case"tight-tree":K2(t);break;case"longest-path":Q2(t)}}function K2(t){l2(t),u2(t)}function Z2(t){P2(t)}var Q2,J2=k((()=>{g2(),V2(),h2(),w(X2,"rank"),Q2=l2,w(K2,"tightTreeRanker"),w(Z2,"networkSimplexRanker")}));function t4(t){var e=R1(t,"root",{},"_root"),r=r4(t),n=WQ(cQ(r))-1,i=2*n+1;t.graph().nestingRoot=e,HK(t.edges(),(function(e){t.edge(e).minlen*=i}));var a=n4(t)+1;HK(t.children(),(function(o){e4(t,e,i,a,n,r,o)})),t.graph().nodeRankFactor=i}function e4(t,e,r,n,i,a,o){var s=t.children(o);if(s.length){var l=z1(t,"_bt"),c=z1(t,"_bb"),h=t.node(o);t.setParent(l,o),h.borderTop=l,t.setParent(c,o),h.borderBottom=c,HK(s,(function(s){e4(t,e,r,n,i,a,s);var h=t.node(s),u=h.borderTop?h.borderTop:s,d=h.borderBottom?h.borderBottom:s,p=h.borderTop?n:2*n,f=u!==d?1:i-a[o]+1;t.setEdge(l,u,{weight:p,minlen:f,nestingEdge:!0}),t.setEdge(d,c,{weight:p,minlen:f,nestingEdge:!0})})),t.parent(o)||t.setEdge(e,l,{weight:0,minlen:i+a[o]})}else o!==e&&t.setEdge(e,o,{weight:0,minlen:r})}function r4(t){var e={};function r(n,i){var a=t.children(n);a&&a.length&&HK(a,(function(t){r(t,i+1)})),e[n]=i}return w(r,"dfs"),HK(t.children(),(function(t){r(t,1)})),e}function n4(t){return f0(t.edges(),(function(e,r){return e+t.edge(r).weight}),0)}function i4(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,HK(t.edges(),(function(e){t.edge(e).nestingEdge&&t.removeEdge(e)}))}var a4=k((()=>{o1(),j1(),w(t4,"run"),w(e4,"dfs"),w(r4,"treeDepths"),w(n4,"sumWeights"),w(i4,"cleanup")}));function o4(t,e,r){var n,i={};HK(r,(function(r){for(var a,o,s=t.parent(r);s;){if((a=t.parent(s))?(o=i[a],i[a]=s):(o=n,n=s),o&&o!==s)return void e.setEdge(o,s);s=a}}))}var s4=k((()=>{o1(),w(o4,"addSubgraphConstraints")}));function l4(t,e,r){var n=c4(t),i=new g1({compound:!0}).setGraph({root:n}).setDefaultNodeLabel((function(e){return t.node(e)}));return HK(t.nodes(),(function(a){var o=t.node(a),s=t.parent(a);(o.rank===e||o.minRank<=e&&e<=o.maxRank)&&(i.setNode(a),i.setParent(a,s||n),HK(t[r](a),(function(e){var r=e.v===a?e.w:e.v,n=i.edge(r,a),o=OQ(n)?0:n.weight;i.setEdge(r,a,{weight:t.edge(e).weight+o})})),JZ(o,"minRank")&&i.setNode(a,{borderLeft:o.borderLeft[e],borderRight:o.borderRight[e]}))})),i}function c4(t){for(var e;t.hasNode(e=Q0("_root")););return e}var h4=k((()=>{o1(),y1(),w(l4,"buildLayerGraph"),w(c4,"createRootNode")}));function u4(t,e){for(var r=0,n=1;n0;)e%2&&(r+=s[e+1]),s[e=e-1>>1]+=t.weight;l+=t.weight*r}))),l}var p4=k((()=>{o1(),w(u4,"crossCount"),w(d4,"twoLayerCrossCount")}));function f4(t){var e={},r=lZ(t.nodes(),(function(e){return!t.children(e).length})),n=WQ(AZ(r,(function(e){return t.node(e).rank}))),i=AZ(s0(n+1),(function(){return[]}));function a(r){if(!JZ(e,r)){e[r]=!0;var n=t.node(r);i[n.rank].push(r),HK(t.successors(r),a)}}w(a,"dfs");var o=N0(r,(function(e){return t.node(e).rank}));return HK(o,a),i}var g4=k((()=>{o1(),w(f4,"initOrder")}));function m4(t,e){return AZ(e,(function(e){var r=t.inEdges(e);if(r.length){var n=f0(r,(function(e,r){var n=t.edge(r),i=t.node(r.v);return{sum:e.sum+n.weight*i.order,weight:e.weight+n.weight}}),{sum:0,weight:0});return{v:e,barycenter:n.sum/n.weight,weight:n.weight}}return{v:e}}))}var y4=k((()=>{o1(),w(m4,"barycenter")}));function v4(t,e){var r={};return HK(t,(function(t,e){var n=r[t.v]={indegree:0,in:[],out:[],vs:[t.v],i:e};OQ(t.barycenter)||(n.barycenter=t.barycenter,n.weight=t.weight)})),HK(e.edges(),(function(t){var e=r[t.v],n=r[t.w];!OQ(e)&&!OQ(n)&&(n.indegree++,e.out.push(r[t.w]))})),x4(lZ(r,(function(t){return!t.indegree})))}function x4(t){var e=[];function r(t){return function(e){e.merged||(OQ(e.barycenter)||OQ(t.barycenter)||e.barycenter>=t.barycenter)&&b4(t,e)}}function n(e){return function(r){r.in.push(e),0==--r.indegree&&t.push(r)}}for(w(r,"handleIn"),w(n,"handleOut");t.length;){var i=t.pop();e.push(i),HK(i.in.reverse(),r(i)),HK(i.out,n(i))}return AZ(lZ(e,(function(t){return!t.merged})),(function(t){return KJ(t,["vs","i","barycenter","weight"])}))}function b4(t,e){var r=0,n=0;t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/n,t.weight=n,t.i=Math.min(e.i,t.i),e.merged=!0}var w4=k((()=>{o1(),w(v4,"resolveConflicts"),w(x4,"doResolveConflicts"),w(b4,"mergeEntries")}));function k4(t,e){var r=G1(t,(function(t){return JZ(t,"barycenter")})),n=r.lhs,i=N0(r.rhs,(function(t){return-t.i})),a=[],o=0,s=0,l=0;n.sort(E4(!!e)),l=T4(a,i,l),HK(n,(function(t){l+=t.vs.length,a.push(t.vs),o+=t.barycenter*t.weight,s+=t.weight,l=T4(a,i,l)}));var c={vs:uj(a)};return s&&(c.barycenter=o/s,c.weight=s),c}function T4(t,e,r){for(var n;e.length&&(n=DK(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function E4(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}var _4=k((()=>{o1(),j1(),w(k4,"sort"),w(T4,"consumeUnsortable"),w(E4,"compareWithBias")}));function C4(t,e,r,n){var i=t.children(e),a=t.node(e),o=a?a.borderLeft:void 0,s=a?a.borderRight:void 0,l={};o&&(i=lZ(i,(function(t){return t!==o&&t!==s})));var c=m4(t,i);HK(c,(function(e){if(t.children(e.v).length){var i=C4(t,e.v,r,n);l[e.v]=i,JZ(i,"barycenter")&&A4(e,i)}}));var h=v4(c,r);S4(h,l);var u=k4(h,n);if(o&&(u.vs=uj([o,u.vs,s]),t.predecessors(o).length)){var d=t.node(t.predecessors(o)[0]),p=t.node(t.predecessors(s)[0]);JZ(u,"barycenter")||(u.barycenter=0,u.weight=0),u.barycenter=(u.barycenter*u.weight+d.order+p.order)/(u.weight+2),u.weight+=2}return u}function S4(t,e){HK(t,(function(t){t.vs=uj(t.vs.map((function(t){return e[t]?e[t].vs:t})))}))}function A4(t,e){OQ(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}var L4=k((()=>{o1(),y4(),w4(),_4(),w(C4,"sortSubgraph"),w(S4,"expandSubgraphs"),w(A4,"mergeBarycenters")}));function N4(t){var e=U1(t),r=I4(t,s0(1,e+1),"inEdges"),n=I4(t,s0(e-1,-1,-1),"outEdges"),i=f4(t);R4(t,i);for(var a,o=Number.POSITIVE_INFINITY,s=0,l=0;l<4;++s,++l){M4(s%2?r:n,s%4>=2);var c=u4(t,i=B1(t));c{o1(),y1(),j1(),s4(),h4(),p4(),g4(),L4(),w(N4,"order"),w(I4,"buildLayerGraphs"),w(M4,"sweepLayerGraphs"),w(R4,"assignOrder")}));function O4(t){var e=B4(t);HK(t.graph().dummyChains,(function(r){for(var n=t.node(r),i=n.edgeObj,a=P4(t,e,i.v,i.w),o=a.path,s=a.lca,l=0,c=o[l],h=!0;r!==i.w;){if(n=t.node(r),h){for(;(c=o[l])!==s&&t.node(c).maxRankl||c>e[i].lim));for(a=i,i=n;(i=t.parent(i))!==a;)s.push(i);return{path:o.concat(s.reverse()),lca:a}}function B4(t){var e={},r=0;function n(i){var a=r;HK(t.children(i),n),e[i]={low:a,lim:r++}}return w(n,"dfs"),HK(t.children(),n),e}var F4=k((()=>{o1(),w(O4,"parentDummyChains"),w(P4,"findPath"),w(B4,"postorder")}));function $4(t,e){var r={};function n(e,n){var i=0,a=0,o=e.length,s=DK(n);return HK(n,(function(e,l){var c=U4(t,e),h=c?t.node(c).order:o;(c||e===s)&&(HK(n.slice(a,l+1),(function(e){HK(t.predecessors(e),(function(n){var a=t.node(n),o=a.order;(oo)&&G4(r,e,s)}))}))}function i(e,r){var i,a=-1,o=0;return HK(r,(function(s,l){if("border"===t.node(s).dummy){var c=t.predecessors(s);c.length&&(i=t.node(c[0]).order,n(r,o,l,a,i),o=l,a=i)}n(r,o,r.length,i,e.length)})),r}return w(n,"scan"),w(i,"visitLayer"),f0(e,i),r}function U4(t,e){if(t.node(e).dummy)return yZ(t.predecessors(e),(function(e){return t.node(e).dummy}))}function G4(t,e,r){if(e>r){var n=e;e=r,r=n}var i=t[e];i||(t[e]=i={}),i[r]=!0}function q4(t,e,r){if(e>r){var n=e;e=r,r=n}return JZ(t[e],r)}function Y4(t,e,r,n){var i={},a={},o={};return HK(e,(function(t){HK(t,(function(t,e){i[t]=t,a[t]=t,o[t]=e}))})),HK(e,(function(t){var e=-1;HK(t,(function(t){var s=n(t);if(s.length)for(var l=((s=N0(s,(function(t){return o[t]}))).length-1)/2,c=Math.floor(l),h=Math.ceil(l);c<=h;++c){var u=s[c];a[t]===t&&e{o1(),y1(),j1(),w($4,"findType1Conflicts"),w(z4,"findType2Conflicts"),w(U4,"findOtherInnerSegmentNode"),w(G4,"addConflict"),w(q4,"hasConflict"),w(Y4,"verticalAlignment"),w(j4,"horizontalCompaction"),w(H4,"buildBlockGraph"),w(W4,"findSmallestWidthAlignment"),w(V4,"alignCoordinates"),w(X4,"balance"),w(K4,"positionX"),w(Z4,"sep"),w(Q4,"width")}));function t3(t){e3(t=O1(t)),BZ(K4(t),(function(e,r){t.node(r).x=e}))}function e3(t){var e=B1(t),r=t.graph().ranksep,n=0;HK(e,(function(e){var i=WQ(AZ(e,(function(e){return t.node(e).height})));HK(e,(function(e){t.node(e).y=n+i/2})),n+=i+r}))}var r3=k((()=>{o1(),j1(),J4(),w(t3,"position"),w(e3,"positionY")}));function n3(t,e){var r=e&&e.debugTiming?q1:Y1;r("layout",(function(){var e=r(" buildLayoutGraph",(function(){return o3(t)}));r(" runLayout",(function(){i3(e,r)})),r(" updateInputGraph",(function(){a3(t,e)}))}))}function i3(t,e){e(" makeSpaceForEdgeLabels",(function(){s3(t)})),e(" removeSelfEdges",(function(){m3(t)})),e(" acyclic",(function(){L1(t)})),e(" nestingGraph.run",(function(){t4(t)})),e(" rank",(function(){X2(O1(t))})),e(" injectEdgeLabelProxies",(function(){l3(t)})),e(" removeEmptyRanks",(function(){$1(t)})),e(" nestingGraph.cleanup",(function(){i4(t)})),e(" normalizeRanks",(function(){F1(t)})),e(" assignRankMinMax",(function(){c3(t)})),e(" removeEdgeLabelProxies",(function(){h3(t)})),e(" normalize.run",(function(){i2(t)})),e(" parentDummyChains",(function(){O4(t)})),e(" addBorderSegments",(function(){H1(t)})),e(" order",(function(){N4(t)})),e(" insertSelfEdges",(function(){y3(t)})),e(" adjustCoordinateSystem",(function(){X1(t)})),e(" position",(function(){t3(t)})),e(" positionSelfEdges",(function(){v3(t)})),e(" removeBorderNodes",(function(){g3(t)})),e(" normalize.undo",(function(){o2(t)})),e(" fixupEdgeLabelCoords",(function(){p3(t)})),e(" undoCoordinateSystem",(function(){K1(t)})),e(" translateGraph",(function(){u3(t)})),e(" assignNodeIntersects",(function(){d3(t)})),e(" reversePoints",(function(){f3(t)})),e(" acyclic.undo",(function(){I1(t)}))}function a3(t,e){HK(t.nodes(),(function(r){var n=t.node(r),i=e.node(r);n&&(n.x=i.x,n.y=i.y,e.children(r).length&&(n.width=i.width,n.height=i.height))})),HK(t.edges(),(function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,JZ(i,"x")&&(n.x=i.x,n.y=i.y)})),t.graph().width=e.graph().width,t.graph().height=e.graph().height}function o3(t){var e=new g1({multigraph:!0,compound:!0}),r=b3(t.graph());return e.setGraph(CR({},k3,x3(r,w3),KJ(r,T3))),HK(t.nodes(),(function(r){var n=b3(t.node(r));e.setNode(r,xK(x3(n,E3),_3)),e.setParent(r,t.parent(r))})),HK(t.edges(),(function(r){var n=b3(t.edge(r));e.setEdge(r,CR({},S3,x3(n,C3),KJ(n,A3)))})),e}function s3(t){var e=t.graph();e.ranksep/=2,HK(t.edges(),(function(r){var n=t.edge(r);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===e.rankdir||"BT"===e.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)}))}function l3(t){HK(t.edges(),(function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),i={rank:(t.node(e.w).rank-n.rank)/2+n.rank,e};R1(t,"edge-proxy",i,"_ep")}}))}function c3(t){var e=0;HK(t.nodes(),(function(r){var n=t.node(r);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,e=WQ(e,n.maxRank))})),t.graph().maxRank=e}function h3(t){HK(t.nodes(),(function(e){var r=t.node(e);"edge-proxy"===r.dummy&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))}))}function u3(t){var e=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,i=0,a=t.graph(),o=a.marginx||0,s=a.marginy||0;function l(t){var a=t.x,o=t.y,s=t.width,l=t.height;e=Math.min(e,a-s/2),r=Math.max(r,a+s/2),n=Math.min(n,o-l/2),i=Math.max(i,o+l/2)}w(l,"getExtremes"),HK(t.nodes(),(function(e){l(t.node(e))})),HK(t.edges(),(function(e){var r=t.edge(e);JZ(r,"x")&&l(r)})),e-=o,n-=s,HK(t.nodes(),(function(r){var i=t.node(r);i.x-=e,i.y-=n})),HK(t.edges(),(function(r){var i=t.edge(r);HK(i.points,(function(t){t.x-=e,t.y-=n})),JZ(i,"x")&&(i.x-=e),JZ(i,"y")&&(i.y-=n)})),a.width=r-e+o,a.height=i-n+s}function d3(t){HK(t.edges(),(function(e){var r,n,i=t.edge(e),a=t.node(e.v),o=t.node(e.w);i.points?(r=i.points[0],n=i.points[i.points.length-1]):(i.points=[],r=o,n=a),i.points.unshift(P1(a,r)),i.points.push(P1(o,n))}))}function p3(t){HK(t.edges(),(function(e){var r=t.edge(e);if(JZ(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}}))}function f3(t){HK(t.edges(),(function(e){var r=t.edge(e);r.reversed&&r.points.reverse()}))}function g3(t){HK(t.nodes(),(function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(DK(r.borderLeft)),o=t.node(DK(r.borderRight));r.width=Math.abs(o.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}})),HK(t.nodes(),(function(e){"border"===t.node(e).dummy&&t.removeNode(e)}))}function m3(t){HK(t.edges(),(function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}}))}function y3(t){var e=B1(t);HK(e,(function(e){var r=0;HK(e,(function(e,n){var i=t.node(e);i.order=n+r,HK(i.selfEdges,(function(e){R1(t,"selfedge",{width:e.label.width,height:e.label.height,rank:i.rank,order:n+ ++r,e:e.e,label:e.label},"_se")})),delete i.selfEdges}))}))}function v3(t){HK(t.nodes(),(function(e){var r=t.node(e);if("selfedge"===r.dummy){var n=t.node(r.e.v),i=n.x+n.width/2,a=n.y,o=r.x-i,s=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*o/3,y:a-s},{x:i+5*o/6,y:a-s},{x:i+o,y:a},{x:i+5*o/6,y:a+s},{x:i+2*o/3,y:a+s}],r.label.x=r.x,r.label.y=r.y}}))}function x3(t,e){return UQ(KJ(t,e),Number)}function b3(t){var e={};return HK(t,(function(t,r){e[r.toLowerCase()]=t})),e}var w3,k3,T3,E3,_3,C3,S3,A3,L3=k((()=>{o1(),y1(),V1(),n2(),M1(),s2(),J2(),a4(),D4(),F4(),r3(),j1(),w(n3,"layout"),w(i3,"runLayout"),w(a3,"updateInputGraph"),w3=["nodesep","edgesep","ranksep","marginx","marginy"],k3={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},T3=["acyclicer","ranker","rankdir","align"],E3=["width","height"],_3={width:0,height:0},C3=["minlen","weight","width","height","labeloffset"],S3={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},A3=["labelpos"],w(o3,"buildLayoutGraph"),w(s3,"makeSpaceForEdgeLabels"),w(l3,"injectEdgeLabelProxies"),w(c3,"assignRankMinMax"),w(h3,"removeEdgeLabelProxies"),w(u3,"translateGraph"),w(d3,"assignNodeIntersects"),w(p3,"fixupEdgeLabelCoords"),w(f3,"reversePointsForReversedEdges"),w(g3,"removeBorderNodes"),w(m3,"removeSelfEdges"),w(y3,"insertSelfEdges"),w(v3,"positionSelfEdges"),w(x3,"selectNumberAttrs"),w(b3,"canonicalize")})),N3=k((()=>{M1(),L3(),s2(),J2()}));function I3(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:M3(t),edges:R3(t)};return OQ(t.graph())||(e.value=qW(t.graph())),e}function M3(t){return AZ(t.nodes(),(function(e){var r=t.node(e),n=t.parent(e),i={v:e};return OQ(r)||(i.value=r),OQ(n)||(i.parent=n),i}))}function R3(t){return AZ(t.edges(),(function(e){var r=t.edge(e),n={v:e.v,w:e.w};return OQ(e.name)||(n.name=e.name),OQ(r)||(n.value=r),n}))}var D3,O3,P3,B3,F3,$3,z3,U3,G3,q3,Y3,j3,H3,W3,V3,X3=k((()=>{o1(),m1(),w(I3,"write"),w(M3,"writeNodes"),w(R3,"writeEdges")})),K3=k((()=>{L(),y1(),X3(),D3=new Map,O3=new Map,P3=new Map,B3=w((()=>{O3.clear(),P3.clear(),D3.clear()}),"clear"),F3=w(((t,e)=>{let n=O3.get(e)||[];return r.trace("In isDescendant",e," ",t," = ",n.includes(t)),n.includes(t)}),"isDescendant"),$3=w(((t,e)=>{let n=O3.get(e)||[];return r.info("Descendants of ",e," is ",n),r.info("Edge is ",t),t.v!==e&&t.w!==e&&(n?n.includes(t.v)||F3(t.v,e)||F3(t.w,e)||n.includes(t.w):(r.debug("Tilt, ",e,",not in descendants"),!1))}),"edgeInCluster"),z3=w(((t,e,n,i)=>{r.warn("Copying children of ",t,"root",i,"data",e.node(t),i);let a=e.children(t)||[];t!==i&&a.push(t),r.warn("Copying (nodes) clusterId",t,"nodes",a),a.forEach((a=>{if(e.children(a).length>0)z3(a,e,n,i);else{let o=e.node(a);r.info("cp ",a," to ",i," with parent ",t),n.setNode(a,o),i!==e.parent(a)&&(r.warn("Setting parent",a,e.parent(a)),n.setParent(a,e.parent(a))),t!==i&&a!==t?(r.debug("Setting parent",a,t),n.setParent(a,t)):(r.info("In copy ",t,"root",i,"data",e.node(t),i),r.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==i,"node!==clusterId",a!==t));let s=e.edges(a);r.debug("Copying Edges",s),s.forEach((a=>{r.info("Edge",a);let o=e.edge(a.v,a.w,a.name);r.info("Edge data",o,i);try{$3(a,i)?(r.info("Copying as ",a.v,a.w,o,a.name),n.setEdge(a.v,a.w,o,a.name),r.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):r.info("Skipping copy of edge ",a.v,"--\x3e",a.w," rootId: ",i," clusterId:",t)}catch(t){r.error(t)}}))}r.debug("Removing node",a),e.removeNode(a)}))}),"copy"),U3=w(((t,e)=>{let r=e.children(t),n=[...r];for(let i of r)P3.set(i,t),n=[...n,...U3(i,e)];return n}),"extractDescendants"),G3=w(((t,e,r)=>{let n=t.edges().filter((t=>t.v===e||t.w===e)),i=t.edges().filter((t=>t.v===r||t.w===r)),a=n.map((t=>({v:t.v===e?r:t.v,w:t.w===e?e:t.w}))),o=i.map((t=>({v:t.v,w:t.w})));return a.filter((t=>o.some((e=>t.v===e.v&&t.w===e.w))))}),"findCommonEdges"),q3=w(((t,e,n)=>{let i,a=e.children(t);if(r.trace("Searching children of id ",t,a),a.length<1)return t;for(let t of a){let r=q3(t,e,n),a=G3(e,n,r);if(r){if(!(a.length>0))return r;i=r}}return i}),"findNonClusterChild"),Y3=w((t=>D3.has(t)&&D3.get(t).externalConnections&&D3.has(t)?D3.get(t).id:t),"getAnchorId"),j3=w(((t,e)=>{if(!t||e>10)r.debug("Opting out, no graph ");else{r.debug("Opting in, graph "),t.nodes().forEach((function(e){t.children(e).length>0&&(r.warn("Cluster identified",e," Replacement id in edges: ",q3(e,t,e)),O3.set(e,U3(e,t)),D3.set(e,{id:q3(e,t,e),clusterData:t.node(e)}))})),t.nodes().forEach((function(e){let n=t.children(e),i=t.edges();n.length>0?(r.debug("Cluster identified",e,O3),i.forEach((t=>{F3(t.v,e)^F3(t.w,e)&&(r.warn("Edge: ",t," leaves cluster ",e),r.warn("Descendants of XXX ",e,": ",O3.get(e)),D3.get(e).externalConnections=!0)}))):r.debug("Not a cluster ",e,O3)}));for(let e of D3.keys()){let r=D3.get(e).id,n=t.parent(r);n!==e&&D3.has(n)&&!D3.get(n).externalConnections&&(D3.get(e).id=n)}t.edges().forEach((function(e){let n=t.edge(e);r.warn("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),r.warn("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(t.edge(e)));let i=e.v,a=e.w;if(r.warn("Fix XXX",D3,"ids:",e.v,e.w,"Translating: ",D3.get(e.v)," --- ",D3.get(e.w)),D3.get(e.v)||D3.get(e.w)){if(r.warn("Fixing and trying - removing XXX",e.v,e.w,e.name),i=Y3(e.v),a=Y3(e.w),t.removeEdge(e.v,e.w,e.name),i!==e.v){let r=t.parent(i);D3.get(r).externalConnections=!0,n.fromCluster=e.v}if(a!==e.w){let r=t.parent(a);D3.get(r).externalConnections=!0,n.toCluster=e.w}r.warn("Fix Replacing with XXX",i,a,e.name),t.setEdge(i,a,n,e.name)}})),r.warn("Adjusted Graph",I3(t)),H3(t,0),r.trace(D3)}}),"adjustClustersAndEdges"),H3=w(((t,e)=>{if(r.warn("extractor - ",e,I3(t),t.children("D")),e>10)return void r.error("Bailing out");let n=t.nodes(),i=!1;for(let e of n){let r=t.children(e);i=i||r.length>0}if(i){r.debug("Nodes = ",n,e);for(let i of n)if(r.debug("Extracting node",i,D3,D3.has(i)&&!D3.get(i).externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),D3.has(i))if(!D3.get(i).externalConnections&&t.children(i)&&t.children(i).length>0){r.warn("Cluster without external connections, without a parent and with children",i,e);let n="TB"===t.graph().rankdir?"LR":"TB";D3.get(i)?.clusterData?.dir&&(n=D3.get(i).clusterData.dir,r.warn("Fixing dir",D3.get(i).clusterData.dir,n));let a=new g1({multigraph:!0,compound:!0}).setGraph({rankdir:n,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}}));r.warn("Old graph before copy",I3(t)),z3(i,t,a,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:D3.get(i).clusterData,label:D3.get(i).label,graph:a}),r.warn("New graph after copy node: (",i,")",I3(a)),r.debug("Old graph after copy",I3(t))}else r.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!D3.get(i).externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),r.debug(D3);else r.debug("Not a cluster",i,e);n=t.nodes(),r.warn("New list of nodes",n);for(let i of n){let n=t.node(i);r.warn(" Now next level",i,n),n?.clusterNode&&H3(n.graph,e+1)}}else r.debug("Done, no node has children",t.nodes())}),"extractor"),W3=w(((t,e)=>{if(0===e.length)return[];let r=Object.assign([],e);return e.forEach((e=>{let n=t.children(e),i=W3(t,n);r=[...r,...i]})),r}),"sorter"),V3=w((t=>W3(t,t.children())),"sortNodesByHierarchy")})),Z3={};E(Z3,{render:()=>J3});var Q3,J3,t5,e5,r5,n5,i5,a5,o5,s5,l5,c5,h5,u5,d5,p5,f5,g5=k((()=>{N3(),X3(),y1(),kU(),TU(),K3(),JG(),Pz(),wU(),L(),i$(),Qh(),Q3=w((async(t,e,n,i,a,o)=>{r.warn("Graph in recursive render:XAX",I3(e),a);let s=e.graph().rankdir;r.trace("Dir in recursive render - dir:",s);let l=t.insert("g").attr("class","root");e.nodes()?r.info("Recursive render XXX",e.nodes()):r.info("No nodes found for",e),e.edges().length>0&&r.info("Recursive edges",e.edge(e.edges()[0]));let c=l.insert("g").attr("class","clusters"),h=l.insert("g").attr("class","edgePaths"),u=l.insert("g").attr("class","edgeLabels"),d=l.insert("g").attr("class","nodes");await Promise.all(e.nodes().map((async function(t){let l=e.node(t);if(void 0!==a){let n=JSON.parse(JSON.stringify(a.clusterData));r.trace("Setting data for parent cluster XXX\n Node.id = ",t,"\n data=",n.height,"\nParent cluster",a.height),e.setNode(a.id,n),e.parent(t)||(r.trace("Setting parent",t,a.id),e.setParent(t,a.id,n))}if(r.info("(Insert) Node XXX"+t+": "+JSON.stringify(e.node(t))),l?.clusterNode){r.info("Cluster identified XBX",t,l.width,e.node(t));let{ranksep:a,nodesep:s}=e.graph();l.graph.setGraph({...l.graph.graph(),ranksep:a+25,nodesep:s});let c=await Q3(d,l.graph,n,i,e.node(t),o),h=c.elem;xU(l,h),l.diff=c.diff||0,r.info("New compound node after recursive render XAX",t,"width",l.width,"height",l.height),PG(h,l)}else e.children(t).length>0?(r.trace("Cluster - the non recursive path XBX",t,l.id,l,l.width,"Graph:",e),r.trace(q3(l.id,e)),D3.set(l.id,{id:q3(l.id,e),node:l})):(r.trace("Node - the non recursive path XAX",t,d,e.node(t),s),await OG(d,e.node(t),s))}))),await w((async()=>{let t=e.edges().map((async function(t){let n=e.edge(t.v,t.w,t.name);r.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),r.info("Edge "+t.v+" -> "+t.w+": ",t," ",JSON.stringify(e.edge(t))),r.info("Fix",D3,"ids:",t.v,t.w,"Translating: ",D3.get(t.v),D3.get(t.w)),await Qz(u,n)}));await Promise.all(t)}),"processEdges")(),r.info("Graph before layout:",JSON.stringify(I3(e))),r.info("############################################# XXX"),r.info("### Layout ### XXX"),r.info("############################################# XXX"),n3(e),r.info("Graph after layout:",JSON.stringify(I3(e)));let p=0,{subGraphTitleTotalMargin:f}=e$(o);return await Promise.all(V3(e).map((async function(t){let n=e.node(t);if(r.info("Position XBX => "+t+": ("+n.x,","+n.y,") width: ",n.width," height: ",n.height),n?.clusterNode)n.y+=f,r.info("A tainted cluster node XBX1",t,n.id,n.width,n.height,n.x,n.y,e.parent(t)),D3.get(n.id).node=n,FG(n);else if(e.children(t).length>0){r.info("A pure cluster node XBX1",t,n.id,n.x,n.y,n.width,n.height,e.parent(t)),n.height+=f,e.node(n.parentId);let i=n?.padding/2||0,a=n?.labelBBox?.height||0,o=a-i||0;r.debug("OffsetY",o,"labelHeight",a,"halfPadding",i),await Iz(c,n),D3.get(n.id).node=n}else{let t=e.node(n.parentId);n.y+=f/2,r.info("A regular node XBX1 - using the padding",n.id,"parent",n.parentId,n.width,n.height,n.x,n.y,"offsetY",n.offsetY,"parent",t,t?.offsetY,n),FG(n)}}))),e.edges().forEach((function(t){let a=e.edge(t);r.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(a),a),a.points.forEach((t=>t.y+=f/2));let o=e.node(t.v);var s=e.node(t.w);let l=aU(h,a,D3,n,o,s,i);Jz(a,l)})),e.nodes().forEach((function(t){let n=e.node(t);r.info(t,n.type,n.diff),n.isGroup&&(p=n.diff)})),r.warn("Returning from recursive render XAX",l,p),{elem:l,diff:p}}),"recursiveRender"),J3=w((async(t,e)=>{let n=new g1({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}})),i=e.select("g");yU(i,t.markers,t.type,t.diagramId),BG(),Kz(),Mz(),B3(),t.nodes.forEach((t=>{n.setNode(t.id,{...t}),t.parentId&&n.setParent(t.id,t.parentId)})),r.debug("Edges:",t.edges),t.edges.forEach((t=>{if(t.start===t.end){let e=t.start,r=e+"---"+e+"---1",i=e+"---"+e+"---2",a=n.node(e);n.setNode(r,{domId:r,id:r,parentId:a.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),n.setParent(r,a.parentId),n.setNode(i,{domId:i,id:i,parentId:a.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),n.setParent(i,a.parentId);let o=structuredClone(t),s=structuredClone(t),l=structuredClone(t);o.label="",o.arrowTypeEnd="none",o.id=e+"-cyclic-special-1",s.arrowTypeEnd="none",s.id=e+"-cyclic-special-mid",l.label="",a.isGroup&&(o.fromCluster=e,l.toCluster=e),l.id=e+"-cyclic-special-2",n.setEdge(e,r,o,e+"-cyclic-special-0"),n.setEdge(r,i,s,e+"-cyclic-special-1"),n.setEdge(i,e,l,e+"-cyc{tq(),L(),t5={},e5=w((t=>{for(let e of t)t5[e.name]=e}),"registerLayoutLoaders"),w((()=>{e5([{name:"dagre",loader:w((async()=>await Promise.resolve().then((()=>(g5(),Z3)))),"loader")}])}),"registerDefaultLayoutLoaders")(),r5=w((async(t,e)=>{if(!(t.layoutAlgorithm in t5))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);let r=t5[t.layoutAlgorithm];return(await r.loader()).render(t,e,$G,{algorithm:r.algorithm})}),"render"),n5=w(((t="",{fallback:e="dagre"}={})=>{if(t in t5)return t;if(e in t5)return r.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)}),"getRegisteredLayoutAlgorithm")})),y5=k((()=>{Pc(),L(),i5=w(((t,e,n,i)=>{t.attr("class",n);let{width:a,height:o,x:s,y:l}=a5(t,e);Lc(t,o,a,i);let c=o5(s,l,a,o,e);t.attr("viewBox",c),r.debug(`viewBox configured: ${c} with padding: ${e}`)}),"setupViewPortForSVG"),a5=w(((t,e)=>{let r=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:r.width+2*e,height:r.height+2*e,x:r.x,y:r.y}}),"calculateDimensionsWithPadding"),o5=w(((t,e,r,n,i)=>`${t-i} ${e-i} ${r} ${n}`),"createViewBox")})),v5=k((()=>{jC(),Qh(),L(),n$(),m5(),y5(),mD(),QO(),s5=w((function(t,e){return e.db.getClasses()}),"getClasses"),l5=w((async function(t,e,n,i){r.info("REF0:"),r.info("Drawing state diagram (v2)",e);let a,{securityLevel:o,flowchart:s,layout:l}=Qc();"sandbox"===o&&(a=Qf("#i"+e));let c="sandbox"===o?a.nodes()[0].contentDocument:document;r.debug("Before getData: ");let h=i.db.getData();r.debug("Data: ",h);let u=t$(e,o),d=bO();h.type=i.type,h.layoutAlgorithm=n5(l),"dagre"===h.layoutAlgorithm&&"elk"===l&&r.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),h.direction=d,h.nodeSpacing=s?.nodeSpacing||50,h.rankSpacing=s?.rankSpacing||50,h.markers=["point","circle","cross"],h.diagramId=e,r.debug("REF1:",h),await r5(h,u);let p=h.config.flowchart?.diagramPadding??8;dD.insertTitle(u,"flowchartTitleText",s?.titleTopMargin||0,i.db.getDiagramTitle()),i5(u,p,"flowchart",s?.useMaxWidth||!1);for(let t of h.nodes){let r=Qf(`#${e} [id="${t.id}"]`);if(!r||!t.link)continue;let n=c.createElementNS("http://www.w3.org/2000/svg","a");n.setAttributeNS("http://www.w3.org/2000/svg","class",t.cssClasses),n.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),"sandbox"===o?n.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):t.linkTarget&&n.setAttributeNS("http://www.w3.org/2000/svg","target",t.linkTarget);let i=r.insert((function(){return n}),":first-child"),a=r.select(".label-container");a&&i.append((function(){return a.node()}));let s=r.select(".label");s&&i.append((function(){return s.node()}))}}),"draw"),c5={getClasses:s5,draw:l5}})),x5=k((()=>{(h5=function(){var t=w((function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r}),"o"),e=[1,4],r=[1,3],n=[1,5],i=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],a=[2,2],o=[1,13],s=[1,14],l=[1,15],c=[1,16],h=[1,23],u=[1,25],d=[1,26],p=[1,27],f=[1,49],g=[1,48],m=[1,29],y=[1,30],v=[1,31],x=[1,32],b=[1,33],k=[1,44],T=[1,46],E=[1,42],_=[1,47],C=[1,43],S=[1,50],A=[1,45],L=[1,51],N=[1,52],I=[1,34],M=[1,35],R=[1,36],D=[1,37],O=[1,57],P=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],B=[1,61],F=[1,60],$=[1,62],z=[8,9,11,73,75],U=[1,88],G=[1,93],q=[1,92],Y=[1,89],j=[1,85],H=[1,91],W=[1,87],V=[1,94],X=[1,90],K=[1,95],Z=[1,86],Q=[8,9,10,11,73,75],J=[8,9,10,11,44,73,75],tt=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],et=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],rt=[42,58,86,99,102,103,106,108,111,112,113],nt=[1,121],it=[1,120],at=[1,128],ot=[1,142],st=[1,143],lt=[1,144],ct=[1,145],ht=[1,130],ut=[1,132],dt=[1,136],pt=[1,137],ft=[1,138],gt=[1,139],mt=[1,140],yt=[1,141],vt=[1,146],xt=[1,147],bt=[1,126],wt=[1,127],kt=[1,134],Tt=[1,129],Et=[1,133],_t=[1,131],Ct=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],St=[1,149],At=[8,9,11],Lt=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],Nt=[1,169],It=[1,165],Mt=[1,166],Rt=[1,170],Dt=[1,167],Ot=[1,168],Pt=[75,113,116],Bt=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],Ft=[10,103],$t=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],zt=[1,235],Ut=[1,233],Gt=[1,237],qt=[1,231],Yt=[1,232],jt=[1,234],Ht=[1,236],Wt=[1,238],Vt=[1,255],Xt=[8,9,11,103],Kt=[8,9,10,11,58,81,102,103,106,107,108,109],Zt={trace:w((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:w((function(t,e,r,n,i,a,o){var s=a.length-1;switch(i){case 2:case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 3:(!Array.isArray(a[s])||a[s].length>0)&&a[s-1].push(a[s]),this.$=a[s-1];break;case 4:case 176:case 49:case 71:case 174:this.$=a[s];break;case 11:n.setDirection("TB"),this.$="TB";break;case 12:n.setDirection(a[s-1]),this.$=a[s-1];break;case 27:this.$=a[s-1].nodes;break;case 33:this.$=n.addSubGraph(a[s-6],a[s-1],a[s-4]);break;case 34:this.$=n.addSubGraph(a[s-3],a[s-1],a[s-3]);break;case 35:this.$=n.addSubGraph(void 0,a[s-1],void 0);break;case 37:this.$=a[s].trim(),n.setAccTitle(this.$);break;case 38:case 39:this.$=a[s].trim(),n.setAccDescription(this.$);break;case 43:n.addLink(a[s-2].stmt,a[s],a[s-1]),this.$={stmt:a[s],nodes:a[s].concat(a[s-2].nodes)};break;case 44:n.addLink(a[s-3].stmt,a[s-1],a[s-2]),this.$={stmt:a[s-1],nodes:a[s-1].concat(a[s-3].nodes)};break;case 45:this.$={stmt:a[s-1],nodes:a[s-1]};break;case 46:this.$={stmt:a[s],nodes:a[s]};break;case 47:case 121:case 123:this.$=[a[s]];break;case 48:this.$=a[s-4].concat(a[s]);break;case 50:this.$=a[s-2],n.setClass(a[s-2],a[s]);break;case 51:this.$=a[s-3],n.addVertex(a[s-3],a[s-1],"square");break;case 52:this.$=a[s-3],n.addVertex(a[s-3],a[s-1],"doublecircle");break;case 53:this.$=a[s-5],n.addVertex(a[s-5],a[s-2],"circle");break;case 54:this.$=a[s-3],n.addVertex(a[s-3],a[s-1],"ellipse");break;case 55:this.$=a[s-3],n.addVertex(a[s-3],a[s-1],"stadium");break;case 56:this.$=a[s-3],n.addVertex(a[s-3],a[s-1],"subroutine");break;case 57:this.$=a[s-7],n.addVertex(a[s-7],a[s-1],"rect",void 0,void 0,void 0,Object.fromEntries([[a[s-5],a[s-3]]]));break;case 58:this.$=a[s-3],n.addVertex(a[s-3],a[s-1],"cylinder");break;case 59:this.$=a[s-3],n.addVertex(a[s-3],a[s-1],"round");break;case 60:this.$=a[s-3],n.addVertex(a[s-3],a[s-1],"diamond");break;case 61:this.$=a[s-5],n.addVertex(a[s-5],a[s-2],"hexagon");break;case 62:this.$=a[s-3],n.addVertex(a[s-3],a[s-1],"odd");break;case 63:this.$=a[s-3],n.addVertex(a[s-3],a[s-1],"trapezoid");break;case 64:this.$=a[s-3],n.addVertex(a[s-3],a[s-1],"inv_trapezoid");break;case 65:this.$=a[s-3],n.addVertex(a[s-3],a[s-1],"lean_right");break;case 66:this.$=a[s-3],n.addVertex(a[s-3],a[s-1],"lean_left");break;case 67:this.$=a[s],n.addVertex(a[s]);break;case 68:a[s-1].text=a[s],this.$=a[s-1];break;case 69:case 70:a[s-2].text=a[s-1],this.$=a[s-2];break;case 72:var l=n.destructLink(a[s],a[s-2]);this.$={type:l.type,stroke:l.stroke,length:l.length,text:a[s-1]};break;case 73:case 79:case 94:case 96:this.$={text:a[s],type:"text"};break;case 74:case 80:case 95:this.$={text:a[s-1].text+""+a[s],type:a[s-1].type};break;case 75:case 81:this.$={text:a[s],type:"string"};break;case 76:case 82:case 97:this.$={text:a[s],type:"markdown"};break;case 77:l=n.destructLink(a[s]),this.$={type:l.type,stroke:l.stroke,length:l.length};break;case 78:this.$=a[s-1];break;case 98:this.$=a[s-4],n.addClass(a[s-2],a[s]);break;case 99:this.$=a[s-4],n.setClass(a[s-2],a[s]);break;case 100:case 108:this.$=a[s-1],n.setClickEvent(a[s-1],a[s]);break;case 101:case 109:this.$=a[s-3],n.setClickEvent(a[s-3],a[s-2]),n.setTooltip(a[s-3],a[s]);break;case 102:this.$=a[s-2],n.setClickEvent(a[s-2],a[s-1],a[s]);break;case 103:this.$=a[s-4],n.setClickEvent(a[s-4],a[s-3],a[s-2]),n.setTooltip(a[s-4],a[s]);break;case 104:this.$=a[s-2],n.setLink(a[s-2],a[s]);break;case 105:this.$=a[s-4],n.setLink(a[s-4],a[s-2]),n.setTooltip(a[s-4],a[s]);break;case 106:this.$=a[s-4],n.setLink(a[s-4],a[s-2],a[s]);break;case 107:this.$=a[s-6],n.setLink(a[s-6],a[s-4],a[s]),n.setTooltip(a[s-6],a[s-2]);break;case 110:this.$=a[s-1],n.setLink(a[s-1],a[s]);break;case 111:this.$=a[s-3],n.setLink(a[s-3],a[s-2]),n.setTooltip(a[s-3],a[s]);break;case 112:this.$=a[s-3],n.setLink(a[s-3],a[s-2],a[s]);break;case 113:this.$=a[s-5],n.setLink(a[s-5],a[s-4],a[s]),n.setTooltip(a[s-5],a[s-2]);break;case 114:this.$=a[s-4],n.addVertex(a[s-2],void 0,void 0,a[s]);break;case 115:this.$=a[s-4],n.updateLink([a[s-2]],a[s]);break;case 116:this.$=a[s-4],n.updateLink(a[s-2],a[s]);break;case 117:this.$=a[s-8],n.updateLinkInterpolate([a[s-6]],a[s-2]),n.updateLink([a[s-6]],a[s]);break;case 118:this.$=a[s-8],n.updateLinkInterpolate(a[s-6],a[s-2]),n.updateLink(a[s-6],a[s]);break;case 119:this.$=a[s-6],n.updateLinkInterpolate([a[s-4]],a[s]);break;case 120:this.$=a[s-6],n.updateLinkInterpolate(a[s-4],a[s]);break;case 122:case 124:a[s-2].push(a[s]),this.$=a[s-2];break;case 126:this.$=a[s-1]+a[s];break;case 175:case 177:this.$=a[s-1]+""+a[s];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"}}}),"anonymous"),table:[{3:1,4:2,9:e,10:r,12:n},{1:[3]},t(i,a,{5:6}),{4:7,9:e,10:r,12:n},{4:8,9:e,10:r,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:o,9:s,10:l,11:c,20:17,22:18,23:19,24:20,25:21,26:22,27:h,33:24,34:u,36:d,38:p,40:28,41:38,42:f,43:39,45:40,58:g,81:m,82:y,83:v,84:x,85:b,86:k,99:T,102:E,103:_,106:C,108:S,110:41,111:A,112:L,113:N,118:I,119:M,120:R,121:D},t(i,[2,9]),t(i,[2,10]),t(i,[2,11]),{8:[1,54],9:[1,55],10:O,15:53,18:56},t(P,[2,3]),t(P,[2,4]),t(P,[2,5]),t(P,[2,6]),t(P,[2,7]),t(P,[2,8]),{8:B,9:F,11:$,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:B,9:F,11:$,21:66},{8:B,9:F,11:$,21:67},{8:B,9:F,11:$,21:68},{8:B,9:F,11:$,21:69},{8:B,9:F,11:$,21:70},{8:B,9:F,10:[1,71],11:$,21:72},t(P,[2,36]),{35:[1,73]},{37:[1,74]},t(P,[2,39]),t(z,[2,46],{18:75,10:O}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:U,42:G,58:q,77:[1,83],86:Y,92:[1,80],94:[1,81],98:82,102:j,103:H,106:W,108:V,111:X,112:K,113:Z,117:84},t(P,[2,178]),t(P,[2,179]),t(P,[2,180]),t(P,[2,181]),t(Q,[2,47]),t(Q,[2,49],{44:[1,96]}),t(J,[2,67],{110:109,29:[1,97],42:f,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:g,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:k,99:T,102:E,103:_,106:C,108:S,111:A,112:L,113:N}),t(tt,[2,174]),t(tt,[2,135]),t(tt,[2,136]),t(tt,[2,137]),t(tt,[2,138]),t(tt,[2,139]),t(tt,[2,140]),t(tt,[2,141]),t(tt,[2,142]),t(tt,[2,143]),t(tt,[2,144]),t(tt,[2,145]),t(i,[2,12]),t(i,[2,18]),t(i,[2,19]),{9:[1,110]},t(et,[2,26],{18:111,10:O}),t(P,[2,27]),{40:112,41:38,42:f,43:39,45:40,58:g,86:k,99:T,102:E,103:_,106:C,108:S,110:41,111:A,112:L,113:N},t(P,[2,40]),t(P,[2,41]),t(P,[2,42]),t(rt,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:nt,116:it},t([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),t(P,[2,28]),t(P,[2,29]),t(P,[2,30]),t(P,[2,31]),t(P,[2,32]),{10:at,12:ot,14:st,27:lt,28:122,32:ct,42:ht,58:ut,73:dt,77:[1,124],78:[1,125],80:135,81:pt,82:ft,83:gt,84:mt,85:yt,86:vt,87:xt,88:123,102:bt,106:wt,108:kt,111:Tt,112:Et,113:_t},t(Ct,a,{5:148}),t(P,[2,37]),t(P,[2,38]),t(z,[2,45],{42:St}),{42:f,45:150,58:g,86:k,99:T,102:E,103:_,106:C,108:S,110:41,111:A,112:L,113:N},{99:[1,151],100:152,102:[1,153]},{42:f,45:154,58:g,86:k,99:T,102:E,103:_,106:C,108:S,110:41,111:A,112:L,113:N},{42:f,45:155,58:g,86:k,99:T,102:E,103:_,106:C,108:S,110:41,111:A,112:L,113:N},t(At,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},t(At,[2,108],{117:160,10:[1,159],14:U,42:G,58:q,86:Y,102:j,103:H,106:W,108:V,111:X,112:K,113:Z}),t(At,[2,110],{10:[1,161]}),t(Lt,[2,176]),t(Lt,[2,163]),t(Lt,[2,164]),t(Lt,[2,165]),t(Lt,[2,166]),t(Lt,[2,167]),t(Lt,[2,168]),t(Lt,[2,169]),t(Lt,[2,170]),t(Lt,[2,171]),t(Lt,[2,172]),t(Lt,[2,173]),{42:f,45:162,58:g,86:k,99:T,102:E,103:_,106:C,108:S,110:41,111:A,112:L,113:N},{30:163,65:Nt,77:It,78:Mt,79:164,113:Rt,114:Dt,115:Ot},{30:171,65:Nt,77:It,78:Mt,79:164,113:Rt,114:Dt,115:Ot},{30:173,48:[1,172],65:Nt,77:It,78:Mt,79:164,113:Rt,114:Dt,115:Ot},{30:174,65:Nt,77:It,78:Mt,79:164,113:Rt,114:Dt,115:Ot},{30:175,65:Nt,77:It,78:Mt,79:164,113:Rt,114:Dt,115:Ot},{30:176,65:Nt,77:It,78:Mt,79:164,113:Rt,114:Dt,115:Ot},{106:[1,177]},{30:178,65:Nt,77:It,78:Mt,79:164,113:Rt,114:Dt,115:Ot},{30:179,63:[1,180],65:Nt,77:It,78:Mt,79:164,113:Rt,114:Dt,115:Ot},{30:181,65:Nt,77:It,78:Mt,79:164,113:Rt,114:Dt,115:Ot},{30:182,65:Nt,77:It,78:Mt,79:164,113:Rt,114:Dt,115:Ot},{30:183,65:Nt,77:It,78:Mt,79:164,113:Rt,114:Dt,115:Ot},t(tt,[2,175]),t(i,[2,20]),t(et,[2,25]),t(z,[2,43],{18:184,10:O}),t(rt,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:Nt,77:It,78:Mt,79:164,113:Rt,114:Dt,115:Ot},{75:[1,188],76:189,113:nt,116:it},t(Pt,[2,73]),t(Pt,[2,75]),t(Pt,[2,76]),t(Pt,[2,161]),t(Pt,[2,162]),{8:B,9:F,10:at,11:$,12:ot,14:st,21:191,27:lt,29:[1,190],32:ct,42:ht,58:ut,73:dt,80:135,81:pt,82:ft,83:gt,84:mt,85:yt,86:vt,87:xt,88:192,102:bt,106:wt,108:kt,111:Tt,112:Et,113:_t},t(Bt,[2,94]),t(Bt,[2,96]),t(Bt,[2,97]),t(Bt,[2,150]),t(Bt,[2,151]),t(Bt,[2,152]),t(Bt,[2,153]),t(Bt,[2,154]),t(Bt,[2,155]),t(Bt,[2,156]),t(Bt,[2,157]),t(Bt,[2,158]),t(Bt,[2,159]),t(Bt,[2,160]),t(Bt,[2,83]),t(Bt,[2,84]),t(Bt,[2,85]),t(Bt,[2,86]),t(Bt,[2,87]),t(Bt,[2,88]),t(Bt,[2,89]),t(Bt,[2,90]),t(Bt,[2,91]),t(Bt,[2,92]),t(Bt,[2,93]),{6:11,7:12,8:o,9:s,10:l,11:c,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,193],33:24,34:u,36:d,38:p,40:28,41:38,42:f,43:39,45:40,58:g,81:m,82:y,83:v,84:x,85:b,86:k,99:T,102:E,103:_,106:C,108:S,110:41,111:A,112:L,113:N,118:I,119:M,120:R,121:D},{10:O,18:194},{10:[1,195],42:f,58:g,86:k,99:T,102:E,103:_,106:C,108:S,110:109,111:A,112:L,113:N},{10:[1,196]},{10:[1,197],103:[1,198]},t(Ft,[2,121]),{10:[1,199],42:f,58:g,86:k,99:T,102:E,103:_,106:C,108:S,110:109,111:A,112:L,113:N},{10:[1,200],42:f,58:g,86:k,99:T,102:E,103:_,106:C,108:S,110:109,111:A,112:L,113:N},{77:[1,201]},t(At,[2,102],{10:[1,202]}),t(At,[2,104],{10:[1,203]}),{77:[1,204]},t(Lt,[2,177]),{77:[1,205],95:[1,206]},t(Q,[2,50],{110:109,42:f,58:g,86:k,99:T,102:E,103:_,106:C,108:S,111:A,112:L,113:N}),{31:[1,207],65:Nt,79:208,113:Rt,114:Dt,115:Ot},t($t,[2,79]),t($t,[2,81]),t($t,[2,82]),t($t,[2,146]),t($t,[2,147]),t($t,[2,148]),t($t,[2,149]),{47:[1,209],65:Nt,79:208,113:Rt,114:Dt,115:Ot},{30:210,65:Nt,77:It,78:Mt,79:164,113:Rt,114:Dt,115:Ot},{49:[1,211],65:Nt,79:208,113:Rt,114:Dt,115:Ot},{51:[1,212],65:Nt,79:208,113:Rt,114:Dt,115:Ot},{53:[1,213],65:Nt,79:208,113:Rt,114:Dt,115:Ot},{55:[1,214],65:Nt,79:208,113:Rt,114:Dt,115:Ot},{58:[1,215]},{62:[1,216],65:Nt,79:208,113:Rt,114:Dt,115:Ot},{64:[1,217],65:Nt,79:208,113:Rt,114:Dt,115:Ot},{30:218,65:Nt,77:It,78:Mt,79:164,113:Rt,114:Dt,115:Ot},{31:[1,219],65:Nt,79:208,113:Rt,114:Dt,115:Ot},{65:Nt,67:[1,220],69:[1,221],79:208,113:Rt,114:Dt,115:Ot},{65:Nt,67:[1,223],69:[1,222],79:208,113:Rt,114:Dt,115:Ot},t(z,[2,44],{42:St}),t(rt,[2,70]),t(rt,[2,69]),{60:[1,224],65:Nt,79:208,113:Rt,114:Dt,115:Ot},t(rt,[2,72]),t(Pt,[2,74]),{30:225,65:Nt,77:It,78:Mt,79:164,113:Rt,114:Dt,115:Ot},t(Ct,a,{5:226}),t(Bt,[2,95]),t(P,[2,35]),{41:227,42:f,43:39,45:40,58:g,86:k,99:T,102:E,103:_,106:C,108:S,110:41,111:A,112:L,113:N},{10:zt,58:Ut,81:Gt,89:228,102:qt,104:229,105:230,106:Yt,107:jt,108:Ht,109:Wt},{10:zt,58:Ut,81:Gt,89:239,101:[1,240],102:qt,104:229,105:230,106:Yt,107:jt,108:Ht,109:Wt},{10:zt,58:Ut,81:Gt,89:241,101:[1,242],102:qt,104:229,105:230,106:Yt,107:jt,108:Ht,109:Wt},{102:[1,243]},{10:zt,58:Ut,81:Gt,89:244,102:qt,104:229,105:230,106:Yt,107:jt,108:Ht,109:Wt},{42:f,45:245,58:g,86:k,99:T,102:E,103:_,106:C,108:S,110:41,111:A,112:L,113:N},t(At,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},t(At,[2,109]),t(At,[2,111],{10:[1,249]}),t(At,[2,112]),t(J,[2,51]),t($t,[2,80]),t(J,[2,52]),{49:[1,250],65:Nt,79:208,113:Rt,114:Dt,115:Ot},t(J,[2,59]),t(J,[2,54]),t(J,[2,55]),t(J,[2,56]),{106:[1,251]},t(J,[2,58]),t(J,[2,60]),{64:[1,252],65:Nt,79:208,113:Rt,114:Dt,115:Ot},t(J,[2,62]),t(J,[2,63]),t(J,[2,65]),t(J,[2,64]),t(J,[2,66]),t([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:Nt,79:208,113:Rt,114:Dt,115:Ot},{6:11,7:12,8:o,9:s,10:l,11:c,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,254],33:24,34:u,36:d,38:p,40:28,41:38,42:f,43:39,45:40,58:g,81:m,82:y,83:v,84:x,85:b,86:k,99:T,102:E,103:_,106:C,108:S,110:41,111:A,112:L,113:N,118:I,119:M,120:R,121:D},t(Q,[2,48]),t(At,[2,114],{103:Vt}),t(Xt,[2,123],{105:256,10:zt,58:Ut,81:Gt,102:qt,106:Yt,107:jt,108:Ht,109:Wt}),t(Kt,[2,125]),t(Kt,[2,127]),t(Kt,[2,128]),t(Kt,[2,129]),t(Kt,[2,130]),t(Kt,[2,131]),t(Kt,[2,132]),t(Kt,[2,133]),t(Kt,[2,134]),t(At,[2,115],{103:Vt}),{10:[1,257]},t(At,[2,116],{103:Vt}),{10:[1,258]},t(Ft,[2,122]),t(At,[2,98],{103:Vt}),t(At,[2,99],{110:109,42:f,58:g,86:k,99:T,102:E,103:_,106:C,108:S,111:A,112:L,113:N}),t(At,[2,103]),t(At,[2,105],{10:[1,259]}),t(At,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:B,9:F,11:$,21:264},t(P,[2,34]),{10:zt,58:Ut,81:Gt,102:qt,104:265,105:230,106:Yt,107:jt,108:Ht,109:Wt},t(Kt,[2,126]),{14:U,42:G,58:q,86:Y,98:266,102:j,103:H,106:W,108:V,111:X,112:K,113:Z,117:84},{14:U,42:G,58:q,86:Y,98:267,102:j,103:H,106:W,108:V,111:X,112:K,113:Z,117:84},{95:[1,268]},t(At,[2,113]),t(J,[2,53]),{30:269,65:Nt,77:It,78:Mt,79:164,113:Rt,114:Dt,115:Ot},t(J,[2,61]),t(Ct,a,{5:270}),t(Xt,[2,124],{105:256,10:zt,58:Ut,81:Gt,102:qt,106:Yt,107:jt,108:Ht,109:Wt}),t(At,[2,119],{117:160,10:[1,271],14:U,42:G,58:q,86:Y,102:j,103:H,106:W,108:V,111:X,112:K,113:Z}),t(At,[2,120],{117:160,10:[1,272],14:U,42:G,58:q,86:Y,102:j,103:H,106:W,108:V,111:X,112:K,113:Z}),t(At,[2,107]),{31:[1,273],65:Nt,79:208,113:Rt,114:Dt,115:Ot},{6:11,7:12,8:o,9:s,10:l,11:c,20:17,22:18,23:19,24:20,25:21,26:22,27:h,32:[1,274],33:24,34:u,36:d,38:p,40:28,41:38,42:f,43:39,45:40,58:g,81:m,82:y,83:v,84:x,85:b,86:k,99:T,102:E,103:_,106:C,108:S,110:41,111:A,112:L,113:N,118:I,119:M,120:R,121:D},{10:zt,58:Ut,81:Gt,89:275,102:qt,104:229,105:230,106:Yt,107:jt,108:Ht,109:Wt},{10:zt,58:Ut,81:Gt,89:276,102:qt,104:229,105:230,106:Yt,107:jt,108:Ht,109:Wt},t(J,[2,57]),t(P,[2,33]),t(At,[2,117],{103:Vt}),t(At,[2,118],{103:Vt})],defaultActions:{},parseError:w((function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)}),"parseError"),parse:w((function(t){var e=this,r=[0],n=[],i=[null],a=[],o=this.table,s="",l=0,c=0,h=0,u=a.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,typeof d.yylloc>"u"&&(d.yylloc={});var g=d.yylloc;a.push(g);var m=d.options&&d.options.ranges;function y(){var t;return"number"!=typeof(t=n.pop()||d.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,w((function(t){r.length=r.length-2*t,i.length=i.length-t,a.length=a.length-t}),"popStack"),w(y,"lex");for(var v,x,b,k,T,E,_,C,S,A={};;){if(b=r[r.length-1],this.defaultActions[b]?k=this.defaultActions[b]:((null===v||typeof v>"u")&&(v=y()),k=o[b]&&o[b][v]),typeof k>"u"||!k.length||!k[0]){var L;for(E in S=[],o[b])this.terminals_[E]&&E>2&&S.push("'"+this.terminals_[E]+"'");L=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==v?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(L,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:g,expected:S})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(k[0]){case 1:r.push(v),i.push(d.yytext),a.push(d.yylloc),r.push(k[1]),v=null,x?(v=x,x=null):(c=d.yyleng,s=d.yytext,l=d.yylineno,g=d.yylloc,h>0&&h--);break;case 2:if(_=this.productions_[k[1]][1],A.$=i[i.length-_],A._$={first_line:a[a.length-(_||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(_||1)].first_column,last_column:a[a.length-1].last_column},m&&(A._$.range=[a[a.length-(_||1)].range[0],a[a.length-1].range[1]]),typeof(T=this.performAction.apply(A,[s,c,l,p.yy,k[1],i,a].concat(u)))<"u")return T;_&&(r=r.slice(0,-1*_*2),i=i.slice(0,-1*_),a=a.slice(0,-1*_)),r.push(this.productions_[k[1]][0]),i.push(A.$),a.push(A._$),C=o[r[r.length-2]][r[r.length-1]],r.push(C);break;case 3:return!0}}return!0}),"parse")},Qt={EOF:1,parseError:w((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:w((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:w((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:w((function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:w((function(){return this._more=!0,this}),"more"),reject:w((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:w((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:w((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:w((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:w((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:w((function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:w((function(){if(this.done)return this.EOF;var t,e,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:w((function(){return this.next()||this.lex()}),"lex"),begin:w((function(t){this.conditionStack.push(t)}),"begin"),popState:w((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:w((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:w((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:w((function(t){this.begin(t)}),"pushState"),stateStackSize:w((function(){return this.conditionStack.length}),"stateStackSize"),options:{},performAction:w((function(t,e,r,n){switch(r){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:case 8:case 11:case 14:case 17:case 27:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:this.begin("callbackname");break;case 9:this.popState(),this.begin("callbackargs");break;case 10:return 92;case 12:return 93;case 13:return"MD_STR";case 15:this.begin("md_string");break;case 16:return"STR";case 18:this.pushState("string");break;case 19:return 81;case 20:return 99;case 21:return 82;case 22:return 101;case 23:return 83;case 24:return 84;case 25:return 94;case 26:this.begin("click");break;case 28:return 85;case 29:case 30:case 31:return t.lex.firstGraph()&&this.begin("dir"),12;case 32:return 27;case 33:return 32;case 34:case 35:case 36:case 37:return 95;case 38:return this.popState(),13;case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:return this.popState(),14;case 49:return 118;case 50:return 119;case 51:return 120;case 52:return 121;case 53:return 102;case 54:case 95:return 108;case 55:return 44;case 56:return 58;case 57:case 96:return 42;case 58:return 8;case 59:return 103;case 60:case 94:return 112;case 61:case 64:case 67:return this.popState(),75;case 62:return this.pushState("edgeText"),73;case 63:case 66:case 69:return 116;case 65:return this.pushState("thickEdgeText"),73;case 68:return this.pushState("dottedEdgeText"),73;case 70:return 75;case 71:return this.popState(),51;case 72:case 108:return"TEXT";case 73:return this.pushState("ellipseText"),50;case 74:return this.popState(),53;case 75:return this.pushState("text"),52;case 76:return this.popState(),55;case 77:return this.pushState("text"),54;case 78:return 56;case 79:return this.pushState("text"),65;case 80:return this.popState(),62;case 81:return this.pushState("text"),61;case 82:return this.popState(),47;case 83:return this.pushState("text"),46;case 84:return this.popState(),67;case 85:return this.popState(),69;case 86:return 114;case 87:return this.pushState("trapText"),66;case 88:return this.pushState("trapText"),68;case 89:return 115;case 90:return 65;case 91:return 87;case 92:return"SEP";case 93:return 86;case 97:return 106;case 98:return 111;case 99:return 113;case 100:return this.popState(),60;case 101:return this.pushState("text"),60;case 102:return this.popState(),49;case 103:return this.pushState("text"),48;case 104:return this.popState(),31;case 105:return this.pushState("text"),29;case 106:return this.popState(),64;case 107:return this.pushState("text"),63;case 109:return"QUOTE";case 110:return 9;case 111:return 10;case 112:return 11}}),"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{callbackargs:{rules:[11,12,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},callbackname:{rules:[8,9,10,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},href:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},click:{rules:[15,18,27,28,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dottedEdgeText:{rules:[15,18,67,69,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},thickEdgeText:{rules:[15,18,64,66,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},edgeText:{rules:[15,18,61,63,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},trapText:{rules:[15,18,70,73,75,77,81,83,84,85,86,87,88,101,103,105,107],inclusive:!1},ellipseText:{rules:[15,18,70,71,72,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},text:{rules:[15,18,70,73,74,75,76,77,80,81,82,83,87,88,100,101,102,103,104,105,106,107,108],inclusive:!1},vertex:{rules:[15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},dir:{rules:[15,18,38,39,40,41,42,43,44,45,46,47,48,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr_multiline:{rules:[5,6,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_descr:{rules:[3,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},acc_title:{rules:[1,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},md_string:{rules:[13,14,15,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},string:{rules:[15,16,17,18,70,73,75,77,81,83,87,88,101,103,105,107],inclusive:!1},INITIAL:{rules:[0,2,4,7,15,18,19,20,21,22,23,24,25,26,29,30,31,32,33,34,35,36,37,49,50,51,52,53,54,55,56,57,58,59,60,61,62,64,65,67,68,70,73,75,77,78,79,81,83,87,88,89,90,91,92,93,94,95,96,97,98,99,101,103,105,107,109,110,111,112],inclusive:!0}}};function Jt(){this.yy={}}return Zt.lexer=Qt,w(Jt,"Parser"),Jt.prototype=Zt,Zt.Parser=Jt,new Jt}()).parser=h5,u5=h5})),b5=k((()=>{Yr(),d5=w(((t,e)=>{let r=se,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return ae(n,i,a,e)}),"fade"),p5=w((t=>`.label {\n font-family: ${t.fontFamily};\n color: ${t.nodeTextColor||t.textColor};\n }\n .cluster-label text {\n fill: ${t.titleColor};\n }\n .cluster-label span {\n color: ${t.titleColor};\n }\n .cluster-label span p {\n background-color: transparent;\n }\n\n .label text,span {\n fill: ${t.nodeTextColor||t.textColor};\n color: ${t.nodeTextColor||t.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n .rough-node .label text , .node .label text {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\n // }\n\n .node .katex path {\n fill: #000;\n stroke: #000;\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${t.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${t.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${t.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${t.edgeLabelBackground};\n p {\n background-color: ${t.edgeLabelBackground};\n }\n rect {\n opacity: 0.5;\n background-color: ${t.edgeLabelBackground};\n fill: ${t.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${d5(t.edgeLabelBackground,.5)};\n // background-color:\n }\n\n .cluster rect {\n fill: ${t.clusterBkg};\n stroke: ${t.clusterBorder};\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${t.titleColor};\n }\n\n .cluster span {\n color: ${t.titleColor};\n }\n /* .cluster div {\n color: ${t.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${t.fontFamily};\n font-size: 12px;\n background: ${t.tertiaryColor};\n border: 1px solid ${t.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n }\n`),"getStyles"),f5=p5})),w5={};E(w5,{diagram:()=>k5});var k5,T5,E5,_5,C5,S5,A5,L5,N5,I5,M5,R5,D5,O5,P5,B5,F5,$5,z5=k((()=>{Qh(),QO(),v5(),x5(),b5(),k5={parser:u5,db:XO,renderer:c5,styles:f5,init:w((t=>{t.flowchart||(t.flowchart={}),t.layout&&Jc({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,Jc({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}}),XO.clear(),XO.setGen("gen-2")}),"init")}})),U5=k((()=>{(T5=function(){var t=w((function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r}),"o"),e=[6,8,10,20,22,24,26,27,28],r=[1,10],n=[1,11],i=[1,12],a=[1,13],o=[1,14],s=[1,15],l=[1,21],c=[1,22],h=[1,23],u=[1,24],d=[1,25],p=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],f=[1,34],g=[27,28,46,47],m=[41,42,43,44,45],y=[17,34],v=[1,54],x=[1,53],b=[17,34,36,38],k={trace:w((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:w((function(t,e,r,n,i,a,o){var s=a.length-1;switch(i){case 1:break;case 2:case 6:case 7:this.$=[];break;case 3:a[s-1].push(a[s]),this.$=a[s-1];break;case 4:case 5:case 19:case 43:case 27:case 28:case 31:this.$=a[s];break;case 8:n.addEntity(a[s-4]),n.addEntity(a[s-2]),n.addRelationship(a[s-4],a[s],a[s-2],a[s-3]);break;case 9:n.addEntity(a[s-3]),n.addAttributes(a[s-3],a[s-1]);break;case 10:n.addEntity(a[s-2]);break;case 11:n.addEntity(a[s]);break;case 12:n.addEntity(a[s-6],a[s-4]),n.addAttributes(a[s-6],a[s-1]);break;case 13:n.addEntity(a[s-5],a[s-3]);break;case 14:n.addEntity(a[s-3],a[s-1]);break;case 15:case 16:this.$=a[s].trim(),n.setAccTitle(this.$);break;case 17:case 18:this.$=a[s].trim(),n.setAccDescription(this.$);break;case 20:case 41:case 42:case 32:this.$=a[s].replace(/"/g,"");break;case 21:case 29:this.$=[a[s]];break;case 22:a[s].push(a[s-1]),this.$=a[s];break;case 23:this.$={attributeType:a[s-1],attributeName:a[s]};break;case 24:this.$={attributeType:a[s-2],attributeName:a[s-1],attributeKeyTypeList:a[s]};break;case 25:this.$={attributeType:a[s-2],attributeName:a[s-1],attributeComment:a[s]};break;case 26:this.$={attributeType:a[s-3],attributeName:a[s-2],attributeKeyTypeList:a[s-1],attributeComment:a[s]};break;case 30:a[s-2].push(a[s]),this.$=a[s-2];break;case 33:this.$={cardA:a[s],relType:a[s-1],cardB:a[s-2]};break;case 34:this.$=n.Cardinality.ZERO_OR_ONE;break;case 35:this.$=n.Cardinality.ZERO_OR_MORE;break;case 36:this.$=n.Cardinality.ONE_OR_MORE;break;case 37:this.$=n.Cardinality.ONLY_ONE;break;case 38:this.$=n.Cardinality.MD_PARENT;break;case 39:this.$=n.Identification.NON_IDENTIFYING;break;case 40:this.$=n.Identification.IDENTIFYING}}),"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:r,22:n,24:i,26:a,27:o,28:s},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:16,11:9,20:r,22:n,24:i,26:a,27:o,28:s},t(e,[2,5]),t(e,[2,6]),t(e,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:l,42:c,43:h,44:u,45:d}),{21:[1,26]},{23:[1,27]},{25:[1,28]},t(e,[2,18]),t(p,[2,19]),t(p,[2,20]),t(e,[2,4]),{11:29,27:o,28:s},{16:30,17:[1,31],29:32,30:33,34:f},{11:35,27:o,28:s},{40:36,46:[1,37],47:[1,38]},t(g,[2,34]),t(g,[2,35]),t(g,[2,36]),t(g,[2,37]),t(g,[2,38]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),{13:[1,39]},{17:[1,40]},t(e,[2,10]),{16:41,17:[2,21],29:32,30:33,34:f},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:l,42:c,43:h,44:u,45:d},t(m,[2,39]),t(m,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},t(e,[2,9]),{17:[2,22]},t(y,[2,23],{32:50,33:51,35:52,37:v,38:x}),t([17,34,37,38],[2,28]),t(e,[2,14],{15:[1,55]}),t([27,28],[2,33]),t(e,[2,8]),t(e,[2,41]),t(e,[2,42]),t(e,[2,43]),t(y,[2,24],{33:56,36:[1,57],38:x}),t(y,[2,25]),t(b,[2,29]),t(y,[2,32]),t(b,[2,31]),{16:58,17:[1,59],29:32,30:33,34:f},t(y,[2,26]),{35:60,37:v},{17:[1,61]},t(e,[2,13]),t(b,[2,30]),t(e,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:w((function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)}),"parseError"),parse:w((function(t){var e=this,r=[0],n=[],i=[null],a=[],o=this.table,s="",l=0,c=0,h=0,u=a.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,typeof d.yylloc>"u"&&(d.yylloc={});var g=d.yylloc;a.push(g);var m=d.options&&d.options.ranges;function y(){var t;return"number"!=typeof(t=n.pop()||d.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,w((function(t){r.length=r.length-2*t,i.length=i.length-t,a.length=a.length-t}),"popStack"),w(y,"lex");for(var v,x,b,k,T,E,_,C,S,A={};;){if(b=r[r.length-1],this.defaultActions[b]?k=this.defaultActions[b]:((null===v||typeof v>"u")&&(v=y()),k=o[b]&&o[b][v]),typeof k>"u"||!k.length||!k[0]){var L;for(E in S=[],o[b])this.terminals_[E]&&E>2&&S.push("'"+this.terminals_[E]+"'");L=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==v?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(L,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:g,expected:S})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(k[0]){case 1:r.push(v),i.push(d.yytext),a.push(d.yylloc),r.push(k[1]),v=null,x?(v=x,x=null):(c=d.yyleng,s=d.yytext,l=d.yylineno,g=d.yylloc,h>0&&h--);break;case 2:if(_=this.productions_[k[1]][1],A.$=i[i.length-_],A._$={first_line:a[a.length-(_||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(_||1)].first_column,last_column:a[a.length-1].last_column},m&&(A._$.range=[a[a.length-(_||1)].range[0],a[a.length-1].range[1]]),typeof(T=this.performAction.apply(A,[s,c,l,p.yy,k[1],i,a].concat(u)))<"u")return T;_&&(r=r.slice(0,-1*_*2),i=i.slice(0,-1*_),a=a.slice(0,-1*_)),r.push(this.productions_[k[1]][0]),i.push(A.$),a.push(A._$),C=o[r[r.length-2]][r[r.length-1]],r.push(C);break;case 3:return!0}}return!0}),"parse")},T={EOF:1,parseError:w((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:w((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:w((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:w((function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:w((function(){return this._more=!0,this}),"more"),reject:w((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:w((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:w((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:w((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:w((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:w((function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:w((function(){if(this.done)return this.EOF;var t,e,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:w((function(){return this.next()||this.lex()}),"lex"),begin:w((function(t){this.conditionStack.push(t)}),"begin"),popState:w((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:w((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:w((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:w((function(t){this.begin(t)}),"pushState"),stateStackSize:w((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:w((function(t,e,r,n){switch(r){case 0:return this.begin("acc_title"),22;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),24;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 10;case 8:case 15:case 20:break;case 9:return 8;case 10:return 28;case 11:return 48;case 12:return 4;case 13:return this.begin("block"),15;case 14:return 36;case 16:return 37;case 17:case 18:return 34;case 19:return 38;case 21:return this.popState(),17;case 22:case 54:return e.yytext[0];case 23:return 18;case 24:return 19;case 25:case 29:case 30:case 43:return 41;case 26:case 27:case 28:case 36:case 38:case 45:return 43;case 31:case 32:case 33:case 34:case 35:case 37:case 44:return 42;case 39:case 40:case 41:case 42:return 44;case 46:return 45;case 47:case 50:case 51:case 52:return 46;case 48:case 49:return 47;case 53:return 27;case 55:return 6}}),"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:,)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:(.*?)[~](.*?)*[~])/i,/^(?:[\*A-Za-z_][A-Za-z0-9\-_\[\]\(\)]*)/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:.)/i,/^(?:$)/i],conditions:{acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[14,15,16,17,18,19,20,21,22],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55],inclusive:!0}}};function E(){this.yy={}}return k.lexer=T,w(E,"Parser"),E.prototype=k,k.Parser=E,new E}()).parser=T5,E5=T5})),G5=k((()=>{L(),Qh(),Zh(),_5=new Map,C5=[],S5={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},A5={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},L5=w((function(t,e=void 0){return _5.has(t)?!_5.get(t).alias&&e&&(_5.get(t).alias=e,r.info(`Add alias '${e}' to entity '${t}'`)):(_5.set(t,{attributes:[],alias:e}),r.info("Added new entity :",t)),_5.get(t)}),"addEntity"),N5=w((()=>_5),"getEntities"),I5=w((function(t,e){let n,i=L5(t);for(n=e.length-1;n>=0;n--)i.attributes.push(e[n]),r.debug("Added attribute ",e[n].attributeName)}),"addAttributes"),M5=w((function(t,e,n,i){let a={entityA:t,roleA:e,entityB:n,relSpec:i};C5.push(a),r.debug("Added new relationship :",a)}),"addRelationship"),R5=w((()=>C5),"getRelationships"),D5=w((function(){_5=new Map,C5=[],qc()}),"clear"),O5={Cardinality:S5,Identification:A5,getConfig:w((()=>Qc().er),"getConfig"),addEntity:L5,addAttributes:I5,getEntities:N5,addRelationship:M5,getRelationships:R5,clear:D5,setAccTitle:Yc,getAccTitle:jc,setAccDescription:Hc,getAccDescription:Wc,setDiagramTitle:Vc,getDiagramTitle:Xc}})),q5=k((()=>{P5={ONLY_ONE_START:"ONLY_ONE_START",ONLY_ONE_END:"ONLY_ONE_END",ZERO_OR_ONE_START:"ZERO_OR_ONE_START",ZERO_OR_ONE_END:"ZERO_OR_ONE_END",ONE_OR_MORE_START:"ONE_OR_MORE_START",ONE_OR_MORE_END:"ONE_OR_MORE_END",ZERO_OR_MORE_START:"ZERO_OR_MORE_START",ZERO_OR_MORE_END:"ZERO_OR_MORE_END",MD_PARENT_END:"MD_PARENT_END",MD_PARENT_START:"MD_PARENT_START"},B5=w((function(t,e){let r;t.append("defs").append("marker").attr("id",P5.MD_PARENT_START).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",P5.MD_PARENT_END).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",P5.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",P5.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),r=t.append("defs").append("marker").attr("id",P5.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18"),r=t.append("defs").append("marker").attr("id",P5.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,0 L21,18"),t.append("defs").append("marker").attr("id",P5.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",P5.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),r=t.append("defs").append("marker").attr("id",P5.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),r=t.append("defs").append("marker").attr("id",P5.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")}),"insertMarkers"),F5={ERMarkers:P5,insertMarkers:B5}})),Y5=k((()=>{$5=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i}));function j5(t){return"string"==typeof t&&$5.test(t)}var H5,W5=k((()=>{Y5(),w(j5,"validate"),H5=j5}));function V5(t,e=0){return X5[t[e+0]]+X5[t[e+1]]+X5[t[e+2]]+X5[t[e+3]]+"-"+X5[t[e+4]]+X5[t[e+5]]+"-"+X5[t[e+6]]+X5[t[e+7]]+"-"+X5[t[e+8]]+X5[t[e+9]]+"-"+X5[t[e+10]]+X5[t[e+11]]+X5[t[e+12]]+X5[t[e+13]]+X5[t[e+14]]+X5[t[e+15]]}var X5,K5=k((()=>{X5=[];for(let t=0;t<256;++t)X5.push((t+256).toString(16).slice(1));w(V5,"unsafeStringify")}));function Z5(t){if(!H5(t))throw TypeError("Invalid UUID");let e,r=new Uint8Array(16);return r[0]=(e=parseInt(t.slice(0,8),16))>>>24,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=255&e,r[4]=(e=parseInt(t.slice(9,13),16))>>>8,r[5]=255&e,r[6]=(e=parseInt(t.slice(14,18),16))>>>8,r[7]=255&e,r[8]=(e=parseInt(t.slice(19,23),16))>>>8,r[9]=255&e,r[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,r[11]=e/4294967296&255,r[12]=e>>>24&255,r[13]=e>>>16&255,r[14]=e>>>8&255,r[15]=255&e,r}var Q5,J5=k((()=>{W5(),w(Z5,"parse"),Q5=Z5}));function t6(t){t=unescape(encodeURIComponent(t));let e=[];for(let r=0;r{K5(),J5(),w(t6,"stringToBytes"),r6="6ba7b810-9dad-11d1-80b4-00c04fd430c8",n6="6ba7b811-9dad-11d1-80b4-00c04fd430c8",w(e6,"v35")}));function a6(t,e,r,n){switch(t){case 0:return e&r^~e&n;case 1:case 3:return e^r^n;case 2:return e&r^e&n^r&n}}function o6(t,e){return t<>>32-e}function s6(t){let e=[1518500249,1859775393,2400959708,3395469782],r=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof t){let e=unescape(encodeURIComponent(t));t=[];for(let r=0;r>>0;c=l,l=s,s=o6(o,30)>>>0,o=i,i=a}r[0]=r[0]+i>>>0,r[1]=r[1]+o>>>0,r[2]=r[2]+s>>>0,r[3]=r[3]+l>>>0,r[4]=r[4]+c>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,255&r[0],r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,255&r[1],r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,255&r[2],r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,255&r[3],r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,255&r[4]]}var l6,c6,h6,u6=k((()=>{w(a6,"f"),w(o6,"ROTL"),w(s6,"sha1"),l6=s6})),d6=k((()=>{i6(),u6(),c6=e6("v5",80,l6),h6=c6})),p6=k((()=>{d6()}));function f6(t="",e=""){let r=t.replace(m6,"");return`${g6(e)}${g6(r)}${h6(t,A6)}`}function g6(t=""){return t.length>0?`${t}-`:""}var m6,y6,v6,x6,b6,w6,k6,T6,E6,_6,C6,S6,A6,L6,N6,I6,M6=k((()=>{y1(),jC(),N3(),Qh(),L(),mD(),q5(),Pc(),Oc(),p6(),m6=/[^\dA-Za-z](\W)*/g,y6={},v6=new Map,x6=w((function(t){let e=Object.keys(t);for(let r of e)y6[r]=t[r]}),"setConf"),b6=w(((t,e,r)=>{let n=y6.entityPadding/3,i=y6.entityPadding/3,a=.85*y6.fontSize,o=e.node().getBBox(),s=[],l=!1,c=!1,h=0,u=0,d=0,p=0,f=o.height+2*n,g=1;r.forEach((t=>{void 0!==t.attributeKeyTypeList&&t.attributeKeyTypeList.length>0&&(l=!0),void 0!==t.attributeComment&&(c=!0)})),r.forEach((r=>{let i=`${e.node().id}-attr-${g}`,o=0,m=yc(r.attributeType),y=t.append("text").classed("er entityLabel",!0).attr("id",`${i}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Qc().fontFamily).style("font-size",a+"px").text(m),v=t.append("text").classed("er entityLabel",!0).attr("id",`${i}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Qc().fontFamily).style("font-size",a+"px").text(r.attributeName),x={};x.tn=y,x.nn=v;let b=y.node().getBBox(),w=v.node().getBBox();if(h=Math.max(h,b.width),u=Math.max(u,w.width),o=Math.max(b.height,w.height),l){let e=void 0!==r.attributeKeyTypeList?r.attributeKeyTypeList.join(","):"",n=t.append("text").classed("er entityLabel",!0).attr("id",`${i}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Qc().fontFamily).style("font-size",a+"px").text(e);x.kn=n;let s=n.node().getBBox();d=Math.max(d,s.width),o=Math.max(o,s.height)}if(c){let e=t.append("text").classed("er entityLabel",!0).attr("id",`${i}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",Qc().fontFamily).style("font-size",a+"px").text(r.attributeComment||"");x.cn=e;let n=e.node().getBBox();p=Math.max(p,n.width),o=Math.max(o,n.height)}x.height=o,s.push(x),f+=o+2*n,g+=1}));let m=4;l&&(m+=2),c&&(m+=2);let y=h+u+d+p,v={width:Math.max(y6.minEntityWidth,Math.max(o.width+2*y6.entityPadding,y+i*m)),height:r.length>0?f:Math.max(y6.minEntityHeight,o.height+2*y6.entityPadding)};if(r.length>0){let r=Math.max(0,(v.width-y-i*m)/(m/2));e.attr("transform","translate("+v.width/2+","+(n+o.height/2)+")");let a=o.height+2*n,f="attributeBoxOdd";s.forEach((e=>{let o=a+n+e.height/2;e.tn.attr("transform","translate("+i+","+o+")");let s=t.insert("rect","#"+e.tn.node().id).classed(`er ${f}`,!0).attr("x",0).attr("y",a).attr("width",h+2*i+r).attr("height",e.height+2*n),g=parseFloat(s.attr("x"))+parseFloat(s.attr("width"));e.nn.attr("transform","translate("+(g+i)+","+o+")");let m=t.insert("rect","#"+e.nn.node().id).classed(`er ${f}`,!0).attr("x",g).attr("y",a).attr("width",u+2*i+r).attr("height",e.height+2*n),y=parseFloat(m.attr("x"))+parseFloat(m.attr("width"));if(l){e.kn.attr("transform","translate("+(y+i)+","+o+")");let s=t.insert("rect","#"+e.kn.node().id).classed(`er ${f}`,!0).attr("x",y).attr("y",a).attr("width",d+2*i+r).attr("height",e.height+2*n);y=parseFloat(s.attr("x"))+parseFloat(s.attr("width"))}c&&(e.cn.attr("transform","translate("+(y+i)+","+o+")"),t.insert("rect","#"+e.cn.node().id).classed(`er ${f}`,"true").attr("x",y).attr("y",a).attr("width",p+2*i+r).attr("height",e.height+2*n)),a+=e.height+2*n,f="attributeBoxOdd"===f?"attributeBoxEven":"attributeBoxOdd"}))}else v.height=Math.max(y6.minEntityHeight,f),e.attr("transform","translate("+v.width/2+","+v.height/2+")");return v}),"drawAttributes"),w6=w((function(t,e,r){let n;return[...e.keys()].forEach((function(i){let a=f6(i,"entity");v6.set(i,a);let o=t.append("g").attr("id",a);n=void 0===n?a:n;let s="text-"+a,l=o.append("text").classed("er entityLabel",!0).attr("id",s).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",Qc().fontFamily).style("font-size",y6.fontSize+"px").text(e.get(i).alias??i),{width:c,height:h}=b6(o,l,e.get(i).attributes),u=o.insert("rect","#"+s).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",c).attr("height",h).node().getBBox();r.setNode(a,{width:u.width,height:u.height,shape:"rect",id:a})})),n}),"drawEntities"),k6=w((function(t,e){e.nodes().forEach((function(r){void 0!==r&&void 0!==e.node(r)&&t.select("#"+r).attr("transform","translate("+(e.node(r).x-e.node(r).width/2)+","+(e.node(r).y-e.node(r).height/2)+" )")}))}),"adjustEntities"),T6=w((function(t){return(t.entityA+t.roleA+t.entityB).replace(/\s/g,"")}),"getEdgeName"),E6=w((function(t,e){return t.forEach((function(t){e.setEdge(v6.get(t.entityA),v6.get(t.entityB),{relationship:t},T6(t))})),t}),"addRelationships"),_6=0,C6=w((function(t,e,r,n,i){_6++;let a=r.edge(v6.get(e.entityA),v6.get(e.entityB),T6(e)),o=GE().x((function(t){return t.x})).y((function(t){return t.y})).curve(i_),s=t.insert("path","#"+n).classed("er relationshipLine",!0).attr("d",o(a.points)).style("stroke",y6.stroke).style("fill","none");e.relSpec.relType===i.db.Identification.NON_IDENTIFYING&&s.attr("stroke-dasharray","8,8");let l="";switch(y6.arrowMarkerAbsolute&&(l=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,l=l.replace(/\(/g,"\\("),l=l.replace(/\)/g,"\\)")),e.relSpec.cardA){case i.db.Cardinality.ZERO_OR_ONE:s.attr("marker-end","url("+l+"#"+F5.ERMarkers.ZERO_OR_ONE_END+")");break;case i.db.Cardinality.ZERO_OR_MORE:s.attr("marker-end","url("+l+"#"+F5.ERMarkers.ZERO_OR_MORE_END+")");break;case i.db.Cardinality.ONE_OR_MORE:s.attr("marker-end","url("+l+"#"+F5.ERMarkers.ONE_OR_MORE_END+")");break;case i.db.Cardinality.ONLY_ONE:s.attr("marker-end","url("+l+"#"+F5.ERMarkers.ONLY_ONE_END+")");break;case i.db.Cardinality.MD_PARENT:s.attr("marker-end","url("+l+"#"+F5.ERMarkers.MD_PARENT_END+")")}switch(e.relSpec.cardB){case i.db.Cardinality.ZERO_OR_ONE:s.attr("marker-start","url("+l+"#"+F5.ERMarkers.ZERO_OR_ONE_START+")");break;case i.db.Cardinality.ZERO_OR_MORE:s.attr("marker-start","url("+l+"#"+F5.ERMarkers.ZERO_OR_MORE_START+")");break;case i.db.Cardinality.ONE_OR_MORE:s.attr("marker-start","url("+l+"#"+F5.ERMarkers.ONE_OR_MORE_START+")");break;case i.db.Cardinality.ONLY_ONE:s.attr("marker-start","url("+l+"#"+F5.ERMarkers.ONLY_ONE_START+")");break;case i.db.Cardinality.MD_PARENT:s.attr("marker-start","url("+l+"#"+F5.ERMarkers.MD_PARENT_START+")")}let c=s.node().getTotalLength(),h=s.node().getPointAtLength(.5*c),u="rel"+_6,d=e.roleA.split(/
    /g),p=t.append("text").classed("er relationshipLabel",!0).attr("id",u).attr("x",h.x).attr("y",h.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",Qc().fontFamily).style("font-size",y6.fontSize+"px");if(1==d.length)p.text(e.roleA);else{let t=.5*-(d.length-1);d.forEach(((e,r)=>{p.append("tspan").attr("x",h.x).attr("dy",`${0===r?t:1}em`).text(e)}))}let f=p.node().getBBox();t.insert("rect","#"+u).classed("er relationshipLabelBox",!0).attr("x",h.x-f.width/2).attr("y",h.y-f.height/2).attr("width",f.width).attr("height",f.height)}),"drawRelationshipFromLayout"),S6=w((function(t,e,n,i){y6=Qc().er,r.info("Drawing ER diagram");let a,o=Qc().securityLevel;"sandbox"===o&&(a=Qf("#i"+e));let s,l=Qf("sandbox"===o?a.nodes()[0].contentDocument.body:"body").select(`[id='${e}']`);F5.insertMarkers(l,y6),s=new g1({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:y6.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel((function(){return{}}));let c=w6(l,i.db.getEntities(),s),h=E6(i.db.getRelationships(),s);n3(s),k6(l,s),h.forEach((function(t){C6(l,t,s,c,i)}));let u=y6.diagramPadding;dD.insertTitle(l,"entityTitleText",y6.titleTopMargin,i.db.getDiagramTitle());let d=l.node().getBBox(),p=d.width+2*u,f=d.height+2*u;Lc(l,f,p,y6.useMaxWidth),l.attr("viewBox",`${d.x-u} ${d.y-u} ${p} ${f}`)}),"draw"),A6="28e9f9db-3c8d-5aa5-9faf-44286ae5937c",w(f6,"generateId"),w(g6,"strWithHyphen"),L6={setConf:x6,draw:S6}})),R6=k((()=>{N6=w((t=>`\n .entityBox {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n }\n\n .attributeBoxOdd {\n fill: ${t.attributeBackgroundColorOdd};\n stroke: ${t.nodeBorder};\n }\n\n .attributeBoxEven {\n fill: ${t.attributeBackgroundColorEven};\n stroke: ${t.nodeBorder};\n }\n\n .relationshipLabelBox {\n fill: ${t.tertiaryColor};\n opacity: 0.7;\n background-color: ${t.tertiaryColor};\n rect {\n opacity: 0.5;\n }\n }\n\n .relationshipLine {\n stroke: ${t.lineColor};\n }\n\n .entityTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n } \n #MD_PARENT_START {\n fill: #f5f5f5 !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n }\n #MD_PARENT_END {\n fill: #f5f5f5 !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n }\n \n`),"getStyles"),I6=N6})),D6={};E(D6,{diagram:()=>O6});var O6,P6=k((()=>{U5(),G5(),M6(),R6(),O6={parser:E5,db:O5,renderer:L6,styles:I6}}));function B6(t){return"object"==typeof t&&null!==t&&"string"==typeof t.$type}function F6(t){return"object"==typeof t&&null!==t&&"string"==typeof t.$refText}function $6(t){return"object"==typeof t&&null!==t&&"string"==typeof t.name&&"string"==typeof t.type&&"string"==typeof t.path}function z6(t){return"object"==typeof t&&null!==t&&B6(t.container)&&F6(t.reference)&&"string"==typeof t.message}function U6(t){return"object"==typeof t&&null!==t&&Array.isArray(t.content)}function G6(t){return"object"==typeof t&&null!==t&&"object"==typeof t.tokenType}function q6(t){return U6(t)&&"string"==typeof t.fullText}var Y6,j6=k((()=>{w(B6,"isAstNode"),w(F6,"isReference"),w($6,"isAstNodeDescription"),w(z6,"isLinkingError"),Y6=class{static{w(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}isInstance(t,e){return B6(t)&&this.isSubtype(t.$type,e)}isSubtype(t,e){if(t===e)return!0;let r=this.subtypes[t];r||(r=this.subtypes[t]={});let n=r[e];if(void 0!==n)return n;{let n=this.computeIsSubtype(t,e);return r[e]=n,n}}getAllSubTypes(t){let e=this.allSubtypes[t];if(e)return e;{let e=this.getAllTypes(),r=[];for(let n of e)this.isSubtype(n,t)&&r.push(n);return this.allSubtypes[t]=r,r}}},w(U6,"isCompositeCstNode"),w(G6,"isLeafCstNode"),w(q6,"isRootCstNode")}));function H6(t){return"string"==typeof t?t:typeof t>"u"?"undefined":"function"==typeof t.toString?t.toString():Object.prototype.toString.call(t)}function W6(t){return!!t&&"function"==typeof t[Symbol.iterator]}function V6(...t){if(1===t.length){let e=t[0];if(e instanceof X6)return e;if(W6(e))return new X6((()=>e[Symbol.iterator]()),(t=>t.next()));if("number"==typeof e.length)return new X6((()=>({index:0})),(t=>t.index1?new X6((()=>({collIndex:0,arrIndex:0})),(e=>{do{if(e.iterator){let t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}if(e.array){if(e.arrIndex{X6=class t{static{w(this,"StreamImpl")}constructor(t,e){this.startFn=t,this.nextFn=e}iterator(){let t={state:this.startFn(),next:w((()=>this.nextFn(t.state)),"next"),[Symbol.iterator]:()=>t};return t}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let t=this.iterator(),e=0,r=t.next();for(;!r.done;)e++,r=t.next();return e}toArray(){let t,e=[],r=this.iterator();do{t=r.next(),void 0!==t.value&&e.push(t.value)}while(!t.done);return e}toSet(){return new Set(this)}toMap(t,e){let r=this.map((r=>[t?t(r):r,e?e(r):r]));return new Map(r)}toString(){return this.join()}concat(e){let r=e[Symbol.iterator]();return new t((()=>({first:this.startFn(),firstDone:!1})),(t=>{let e;if(!t.firstDone){do{if(e=this.nextFn(t.first),!e.done)return e}while(!e.done);t.firstDone=!0}do{if(e=r.next(),!e.done)return e}while(!e.done);return Z6}))}join(t=","){let e,r=this.iterator(),n="",i=!1;do{e=r.next(),e.done||(i&&(n+=t),n+=H6(e.value)),i=!0}while(!e.done);return n}indexOf(t,e=0){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(n>=e&&i.value===t)return n;i=r.next(),n++}return-1}every(t){let e=this.iterator(),r=e.next();for(;!r.done;){if(!t(r.value))return!1;r=e.next()}return!0}some(t){let e=this.iterator(),r=e.next();for(;!r.done;){if(t(r.value))return!0;r=e.next()}return!1}forEach(t){let e=this.iterator(),r=0,n=e.next();for(;!n.done;)t(n.value,r),n=e.next(),r++}map(e){return new t(this.startFn,(t=>{let{done:r,value:n}=this.nextFn(t);return r?Z6:{done:!1,value:e(n)}}))}filter(e){return new t(this.startFn,(t=>{let r;do{if(r=this.nextFn(t),!r.done&&e(r.value))return r}while(!r.done);return Z6}))}nonNullable(){return this.filter((t=>null!=t))}reduce(t,e){let r=this.iterator(),n=e,i=r.next();for(;!i.done;)n=void 0===n?i.value:t(n,i.value),i=r.next();return n}reduceRight(t,e){return this.recursiveReduce(this.iterator(),t,e)}recursiveReduce(t,e,r){let n=t.next();if(n.done)return r;let i=this.recursiveReduce(t,e,r);return void 0===i?n.value:e(i,n.value)}find(t){let e=this.iterator(),r=e.next();for(;!r.done;){if(t(r.value))return r.value;r=e.next()}}findIndex(t){let e=this.iterator(),r=0,n=e.next();for(;!n.done;){if(t(n.value))return r;n=e.next(),r++}return-1}includes(t){let e=this.iterator(),r=e.next();for(;!r.done;){if(r.value===t)return!0;r=e.next()}return!1}flatMap(e){return new t((()=>({this:this.startFn()})),(t=>{do{if(t.iterator){let e=t.iterator.next();if(!e.done)return e;t.iterator=void 0}let{done:r,value:n}=this.nextFn(t.this);if(!r){let r=e(n);if(!W6(r))return{done:!1,value:r};t.iterator=r[Symbol.iterator]()}}while(t.iterator);return Z6}))}flat(e){if(void 0===e&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t((()=>({this:r.startFn()})),(t=>{do{if(t.iterator){let e=t.iterator.next();if(!e.done)return e;t.iterator=void 0}let{done:e,value:n}=r.nextFn(t.this);if(!e){if(!W6(n))return{done:!1,value:n};t.iterator=n[Symbol.iterator]()}}while(t.iterator);return Z6}))}head(){let t=this.iterator().next();if(!t.done)return t.value}tail(e=1){return new t((()=>{let t=this.startFn();for(let r=0;r({size:0,state:this.startFn()})),(t=>(t.size++,t.size>e?Z6:this.nextFn(t.state))))}distinct(t){let e=new Set;return this.filter((r=>{let n=t?t(r):r;return!e.has(n)&&(e.add(n),!0)}))}exclude(t,e){let r=new Set;for(let n of t){let t=e?e(n):n;r.add(t)}return this.filter((t=>{let n=e?e(t):t;return!r.has(n)}))}},w(H6,"toString"),w(W6,"isIterable"),K6=new X6((()=>{}),(()=>Z6)),Z6=Object.freeze({done:!0,value:void 0}),w(V6,"stream"),Q6=class extends X6{static{w(this,"TreeStreamImpl")}constructor(t,e,r){super((()=>({iterators:r?.includeRoot?[[t][Symbol.iterator]()]:[e(t)[Symbol.iterator]()],pruned:!1})),(t=>{for(t.pruned&&(t.iterators.pop(),t.pruned=!1);t.iterators.length>0;){let r=t.iterators[t.iterators.length-1].next();if(!r.done)return t.iterators.push(e(r.value)[Symbol.iterator]()),r;t.iterators.pop()}return Z6}))}iterator(){let t={state:this.startFn(),next:w((()=>this.nextFn(t.state)),"next"),prune:w((()=>{t.state.pruned=!0}),"prune"),[Symbol.iterator]:()=>t};return t}},function(t){function e(t){return t.reduce(((t,e)=>t+e),0)}function r(t){return t.reduce(((t,e)=>t*e),0)}function n(t){return t.reduce(((t,e)=>Math.min(t,e)))}function i(t){return t.reduce(((t,e)=>Math.max(t,e)))}w(e,"sum"),t.sum=e,w(r,"product"),t.product=r,w(n,"min"),t.min=n,w(i,"max"),t.max=i}(J6||(J6={}))})),e7={};function r7(t){return new Q6(t,(t=>U6(t)?t.content:[]),{includeRoot:!0})}function n7(t){return r7(t).filter(G6)}function i7(t,e){for(;t.container;)if((t=t.container)===e)return!0;return!1}function a7(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function o7(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}function s7(t,e){if(t.end.linee.end.line||t.start.line===e.end.line&&t.start.character>e.end.character)return w7.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.linew7.After}function c7(t,e,r=k7){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return d7(t,e)}}function h7(t,e){if(t){let r=g7(t,!0);if(r&&u7(r,e))return r;if(q6(t)){let r=t.content.findIndex((t=>!t.hidden));for(let n=r-1;n>=0;n--){let r=t.content[n];if(u7(r,e))return r}}}}function u7(t,e){return G6(t)&&e.includes(t.tokenType.name)}function d7(t,e){if(G6(t))return t;if(U6(t)){let r=f7(t,e,!1);if(r)return d7(r,e)}}function p7(t,e){if(G6(t))return t;if(U6(t)){let r=f7(t,e,!0);if(r)return p7(r,e)}}function f7(t,e,r){let n,i=0,a=t.content.length-1;for(;i<=a;){let o=Math.floor((i+a)/2),s=t.content[o];if(s.offset<=e&&s.end>e)return s;s.end<=e?(n=r?s:void 0,i=o+1):a=o-1}return n}function g7(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t);for(;n>0;){n--;let t=r.content[n];if(e||!t.hidden)return t}t=r}}function m7(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t),i=r.content.length-1;for(;nk7,RangeComparison:()=>w7,compareRange:()=>s7,findCommentNode:()=>h7,findDeclarationNodeAtOffset:()=>c7,findLeafNodeAtOffset:()=>d7,findLeafNodeBeforeOffset:()=>p7,flattenCst:()=>n7,getInteriorNodes:()=>v7,getNextNode:()=>m7,getPreviousNode:()=>g7,getStartlineNode:()=>y7,inRange:()=>l7,isChildNode:()=>i7,isCommentNode:()=>u7,streamCst:()=>r7,toDocumentSegment:()=>o7,tokenToRange:()=>a7});var w7,k7,T7=k((()=>{var t;j6(),t7(),w(r7,"streamCst"),w(n7,"flattenCst"),w(i7,"isChildNode"),w(a7,"tokenToRange"),w(o7,"toDocumentSegment"),(t=w7||(w7={}))[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",w(s7,"compareRange"),w(l7,"inRange"),k7=/^[\w\p{L}]$/u,w(c7,"findDeclarationNodeAtOffset"),w(h7,"findCommentNode"),w(u7,"isCommentNode"),w(d7,"findLeafNodeAtOffset"),w(p7,"findLeafNodeBeforeOffset"),w(f7,"binarySearch"),w(g7,"getPreviousNode"),w(m7,"getNextNode"),w(y7,"getStartlineNode"),w(v7,"getInteriorNodes"),w(x7,"getCommonParent"),w(b7,"getParentChain")}));function E7(t){throw new Error("Error! The input value was not handled.")}var _7,C7=k((()=>{_7=class extends Error{static{w(this,"ErrorWithLocation")}constructor(t,e){super(t?`${e} at ${t.range.start.line}:${t.range.start.character}`:e)}},w(E7,"assertUnreachable")})),S7={};function A7(t){return m9.isInstance(t,T8)}function L7(t){return m9.isInstance(t,E8)}function N7(t){return m9.isInstance(t,_8)}function I7(t){return M7(t)||"current"===t||"entry"===t||"extends"===t||"false"===t||"fragment"===t||"grammar"===t||"hidden"===t||"import"===t||"interface"===t||"returns"===t||"terminal"===t||"true"===t||"type"===t||"infer"===t||"infers"===t||"with"===t||"string"==typeof t&&/\^?[_a-zA-Z][\w_]*/.test(t)}function M7(t){return"string"===t||"number"===t||"boolean"===t||"Date"===t||"bigint"===t}function R7(t){return m9.isInstance(t,C8)}function D7(t){return m9.isInstance(t,S8)}function O7(t){return m9.isInstance(t,A8)}function P7(t){return m9.isInstance(t,L8)}function B7(t){return m9.isInstance(t,N8)}function F7(t){return m9.isInstance(t,I8)}function $7(t){return m9.isInstance(t,M8)}function z7(t){return m9.isInstance(t,R8)}function U7(t){return m9.isInstance(t,D8)}function G7(t){return m9.isInstance(t,O8)}function q7(t){return m9.isInstance(t,P8)}function Y7(t){return m9.isInstance(t,B8)}function j7(t){return m9.isInstance(t,F8)}function H7(t){return m9.isInstance(t,$8)}function W7(t){return m9.isInstance(t,z8)}function V7(t){return m9.isInstance(t,U8)}function X7(t){return m9.isInstance(t,G8)}function K7(t){return m9.isInstance(t,q8)}function Z7(t){return m9.isInstance(t,Y8)}function Q7(t){return m9.isInstance(t,j8)}function J7(t){return m9.isInstance(t,H8)}function t8(t){return m9.isInstance(t,W8)}function e8(t){return m9.isInstance(t,V8)}function r8(t){return m9.isInstance(t,X8)}function n8(t){return m9.isInstance(t,K8)}function i8(t){return m9.isInstance(t,Z8)}function a8(t){return m9.isInstance(t,Q8)}function o8(t){return m9.isInstance(t,J8)}function s8(t){return m9.isInstance(t,t9)}function l8(t){return m9.isInstance(t,e9)}function c8(t){return m9.isInstance(t,r9)}function h8(t){return m9.isInstance(t,n9)}function u8(t){return m9.isInstance(t,i9)}function d8(t){return m9.isInstance(t,a9)}function p8(t){return m9.isInstance(t,o9)}function f8(t){return m9.isInstance(t,s9)}function g8(t){return m9.isInstance(t,l9)}function m8(t){return m9.isInstance(t,c9)}function y8(t){return m9.isInstance(t,h9)}function v8(t){return m9.isInstance(t,u9)}function x8(t){return m9.isInstance(t,d9)}function b8(t){return m9.isInstance(t,p9)}function w8(t){return m9.isInstance(t,f9)}E(S7,{AbstractElement:()=>A8,AbstractRule:()=>T8,AbstractType:()=>E8,Action:()=>Q8,Alternatives:()=>J8,ArrayLiteral:()=>L8,ArrayType:()=>N8,Assignment:()=>t9,BooleanLiteral:()=>I8,CharacterRange:()=>e9,Condition:()=>_8,Conjunction:()=>M8,CrossReference:()=>r9,Disjunction:()=>R8,EndOfFile:()=>n9,Grammar:()=>D8,GrammarImport:()=>O8,Group:()=>i9,InferredType:()=>P8,Interface:()=>B8,Keyword:()=>a9,LangiumGrammarAstReflection:()=>g9,LangiumGrammarTerminals:()=>k8,NamedArgument:()=>F8,NegatedToken:()=>o9,Negation:()=>$8,NumberLiteral:()=>z8,Parameter:()=>U8,ParameterReference:()=>G8,ParserRule:()=>q8,ReferenceType:()=>Y8,RegexToken:()=>s9,ReturnType:()=>j8,RuleCall:()=>l9,SimpleType:()=>H8,StringLiteral:()=>W8,TerminalAlternatives:()=>c9,TerminalGroup:()=>h9,TerminalRule:()=>V8,TerminalRuleCall:()=>u9,Type:()=>X8,TypeAttribute:()=>K8,TypeDefinition:()=>C8,UnionType:()=>Z8,UnorderedGroup:()=>d9,UntilToken:()=>p9,ValueLiteral:()=>S8,Wildcard:()=>f9,isAbstractElement:()=>O7,isAbstractRule:()=>A7,isAbstractType:()=>L7,isAction:()=>a8,isAlternatives:()=>o8,isArrayLiteral:()=>P7,isArrayType:()=>B7,isAssignment:()=>s8,isBooleanLiteral:()=>F7,isCharacterRange:()=>l8,isCondition:()=>N7,isConjunction:()=>$7,isCrossReference:()=>c8,isDisjunction:()=>z7,isEndOfFile:()=>h8,isFeatureName:()=>I7,isGrammar:()=>U7,isGrammarImport:()=>G7,isGroup:()=>u8,isInferredType:()=>q7,isInterface:()=>Y7,isKeyword:()=>d8,isNamedArgument:()=>j7,isNegatedToken:()=>p8,isNegation:()=>H7,isNumberLiteral:()=>W7,isParameter:()=>V7,isParameterReference:()=>X7,isParserRule:()=>K7,isPrimitiveType:()=>M7,isReferenceType:()=>Z7,isRegexToken:()=>f8,isReturnType:()=>Q7,isRuleCall:()=>g8,isSimpleType:()=>J7,isStringLiteral:()=>t8,isTerminalAlternatives:()=>m8,isTerminalGroup:()=>y8,isTerminalRule:()=>e8,isTerminalRuleCall:()=>v8,isType:()=>r8,isTypeAttribute:()=>n8,isTypeDefinition:()=>R7,isUnionType:()=>i8,isUnorderedGroup:()=>x8,isUntilToken:()=>b8,isValueLiteral:()=>D7,isWildcard:()=>w8,reflection:()=>m9});var k8,T8,E8,_8,C8,S8,A8,L8,N8,I8,M8,R8,D8,O8,P8,B8,F8,$8,z8,U8,G8,q8,Y8,j8,H8,W8,V8,X8,K8,Z8,Q8,J8,t9,e9,r9,n9,i9,a9,o9,s9,l9,c9,h9,u9,d9,p9,f9,g9,m9,y9=k((()=>{j6(),k8={ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/},T8="AbstractRule",w(A7,"isAbstractRule"),E8="AbstractType",w(L7,"isAbstractType"),_8="Condition",w(N7,"isCondition"),w(I7,"isFeatureName"),w(M7,"isPrimitiveType"),C8="TypeDefinition",w(R7,"isTypeDefinition"),S8="ValueLiteral",w(D7,"isValueLiteral"),A8="AbstractElement",w(O7,"isAbstractElement"),L8="ArrayLiteral",w(P7,"isArrayLiteral"),N8="ArrayType",w(B7,"isArrayType"),I8="BooleanLiteral",w(F7,"isBooleanLiteral"),M8="Conjunction",w($7,"isConjunction"),R8="Disjunction",w(z7,"isDisjunction"),D8="Grammar",w(U7,"isGrammar"),O8="GrammarImport",w(G7,"isGrammarImport"),P8="InferredType",w(q7,"isInferredType"),B8="Interface",w(Y7,"isInterface"),F8="NamedArgument",w(j7,"isNamedArgument"),$8="Negation",w(H7,"isNegation"),z8="NumberLiteral",w(W7,"isNumberLiteral"),U8="Parameter",w(V7,"isParameter"),G8="ParameterReference",w(X7,"isParameterReference"),q8="ParserRule",w(K7,"isParserRule"),Y8="ReferenceType",w(Z7,"isReferenceType"),j8="ReturnType",w(Q7,"isReturnType"),H8="SimpleType",w(J7,"isSimpleType"),W8="StringLiteral",w(t8,"isStringLiteral"),V8="TerminalRule",w(e8,"isTerminalRule"),X8="Type",w(r8,"isType"),K8="TypeAttribute",w(n8,"isTypeAttribute"),Z8="UnionType",w(i8,"isUnionType"),Q8="Action",w(a8,"isAction"),J8="Alternatives",w(o8,"isAlternatives"),t9="Assignment",w(s8,"isAssignment"),e9="CharacterRange",w(l8,"isCharacterRange"),r9="CrossReference",w(c8,"isCrossReference"),n9="EndOfFile",w(h8,"isEndOfFile"),i9="Group",w(u8,"isGroup"),a9="Keyword",w(d8,"isKeyword"),o9="NegatedToken",w(p8,"isNegatedToken"),s9="RegexToken",w(f8,"isRegexToken"),l9="RuleCall",w(g8,"isRuleCall"),c9="TerminalAlternatives",w(m8,"isTerminalAlternatives"),h9="TerminalGroup",w(y8,"isTerminalGroup"),u9="TerminalRuleCall",w(v8,"isTerminalRuleCall"),d9="UnorderedGroup",w(x8,"isUnorderedGroup"),p9="UntilToken",w(b8,"isUntilToken"),f9="Wildcard",w(w8,"isWildcard"),g9=class extends Y6{static{w(this,"LangiumGrammarAstReflection")}getAllTypes(){return["AbstractElement","AbstractRule","AbstractType","Action","Alternatives","ArrayLiteral","ArrayType","Assignment","BooleanLiteral","CharacterRange","Condition","Conjunction","CrossReference","Disjunction","EndOfFile","Grammar","GrammarImport","Group","InferredType","Interface","Keyword","NamedArgument","NegatedToken","Negation","NumberLiteral","Parameter","ParameterReference","ParserRule","ReferenceType","RegexToken","ReturnType","RuleCall","SimpleType","StringLiteral","TerminalAlternatives","TerminalGroup","TerminalRule","TerminalRuleCall","Type","TypeAttribute","TypeDefinition","UnionType","UnorderedGroup","UntilToken","ValueLiteral","Wildcard"]}computeIsSubtype(t,e){switch(t){case Q8:case J8:case t9:case e9:case r9:case n9:case i9:case a9:case o9:case s9:case l9:case c9:case h9:case u9:case d9:case p9:case f9:return this.isSubtype(A8,e);case L8:case z8:case W8:return this.isSubtype(S8,e);case N8:case Y8:case H8:case Z8:return this.isSubtype(C8,e);case I8:return this.isSubtype(_8,e)||this.isSubtype(S8,e);case M8:case R8:case $8:case G8:return this.isSubtype(_8,e);case P8:case B8:case X8:return this.isSubtype(E8,e);case q8:return this.isSubtype(T8,e)||this.isSubtype(E8,e);case V8:return this.isSubtype(T8,e);default:return!1}}getReferenceType(t){let e=`${t.container.$type}:${t.property}`;switch(e){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return E8;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return T8;case"Grammar:usedGrammars":return D8;case"NamedArgument:parameter":case"ParameterReference:parameter":return U8;case"TerminalRuleCall:rule":return V8;default:throw new Error(`${e} is not a valid reference id.`)}}getTypeMetaData(t){switch(t){case"AbstractElement":return{name:"AbstractElement",properties:[{name:"cardinality"},{name:"lookahead"}]};case"ArrayLiteral":return{name:"ArrayLiteral",properties:[{name:"elements",defaultValue:[]}]};case"ArrayType":return{name:"ArrayType",properties:[{name:"elementType"}]};case"BooleanLiteral":return{name:"BooleanLiteral",properties:[{name:"true",defaultValue:!1}]};case"Conjunction":return{name:"Conjunction",properties:[{name:"left"},{name:"right"}]};case"Disjunction":return{name:"Disjunction",properties:[{name:"left"},{name:"right"}]};case"Grammar":return{name:"Grammar",properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case"GrammarImport":return{name:"GrammarImport",properties:[{name:"path"}]};case"InferredType":return{name:"InferredType",properties:[{name:"name"}]};case"Interface":return{name:"Interface",properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case"NamedArgument":return{name:"NamedArgument",properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case"Negation":return{name:"Negation",properties:[{name:"value"}]};case"NumberLiteral":return{name:"NumberLiteral",properties:[{name:"value"}]};case"Parameter":return{name:"Parameter",properties:[{name:"name"}]};case"ParameterReference":return{name:"ParameterReference",properties:[{name:"parameter"}]};case"ParserRule":return{name:"ParserRule",properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case"ReferenceType":return{name:"ReferenceType",properties:[{name:"referenceType"}]};case"ReturnType":return{name:"ReturnType",properties:[{name:"name"}]};case"SimpleType":return{name:"SimpleType",properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case"StringLiteral":return{name:"StringLiteral",properties:[{name:"value"}]};case"TerminalRule":return{name:"TerminalRule",properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case"Type":return{name:"Type",properties:[{name:"name"},{name:"type"}]};case"TypeAttribute":return{name:"TypeAttribute",properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case"UnionType":return{name:"UnionType",properties:[{name:"types",defaultValue:[]}]};case"Action":return{name:"Action",properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case"Alternatives":return{name:"Alternatives",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"Assignment":return{name:"Assignment",properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case"CharacterRange":return{name:"CharacterRange",properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case"CrossReference":return{name:"CrossReference",properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case"EndOfFile":return{name:"EndOfFile",properties:[{name:"cardinality"},{name:"lookahead"}]};case"Group":return{name:"Group",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case"Keyword":return{name:"Keyword",properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case"NegatedToken":return{name:"NegatedToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case"RegexToken":return{name:"RegexToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case"RuleCall":return{name:"RuleCall",properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case"TerminalAlternatives":return{name:"TerminalAlternatives",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"TerminalGroup":return{name:"TerminalGroup",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"TerminalRuleCall":return{name:"TerminalRuleCall",properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case"UnorderedGroup":return{name:"UnorderedGroup",properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case"UntilToken":return{name:"UntilToken",properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case"Wildcard":return{name:"Wildcard",properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:t,properties:[]}}}},m9=new g9})),v9={};function x9(t){for(let[e,r]of Object.entries(t))e.startsWith("$")||(Array.isArray(r)?r.forEach(((r,n)=>{B6(r)&&(r.$container=t,r.$containerProperty=e,r.$containerIndex=n)})):B6(r)&&(r.$container=t,r.$containerProperty=e))}function b9(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function w9(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}function k9(t){let e=T9(t).$document;if(!e)throw new Error("AST node has no document.");return e}function T9(t){for(;t.$container;)t=t.$container;return t}function E9(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new X6((()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0})),(e=>{for(;e.keyIndexE9(t,e)))}function C9(t,e){if(!t)throw new Error("Root node must be an AstNode.");return e?.range&&!S9(t,e.range)?new Q6(t,(()=>[])):new Q6(t,(t=>E9(t,e)),{includeRoot:!0})}function S9(t,e){var r;if(!e)return!0;let n=null===(r=t.$cstNode)||void 0===r?void 0:r.range;return!!n&&l7(n,e)}function A9(t){return new X6((()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0})),(e=>{for(;e.keyIndex{A9(e).forEach((e=>{e.reference.ref===t&&r.push(e.reference)}))})),V6(r)}function N9(t,e){let r=t.getTypeMetaData(e.$type),n=e;for(let t of r.properties)void 0!==t.defaultValue&&void 0===n[t.name]&&(n[t.name]=I9(t.defaultValue))}function I9(t){return Array.isArray(t)?[...t.map(I9)]:t}function M9(t,e){let r={$type:t.$type};for(let[n,i]of Object.entries(t))if(!n.startsWith("$"))if(B6(i))r[n]=M9(i,e);else if(F6(i))r[n]=e(r,n,i.$refNode,i.$refText);else if(Array.isArray(i)){let t=[];for(let a of i)B6(a)?t.push(M9(a,e)):F6(a)?t.push(e(r,n,a.$refNode,a.$refText)):t.push(a);r[n]=t}else r[n]=i;return x9(r),r}E(v9,{assignMandatoryProperties:()=>N9,copyAstNode:()=>M9,findLocalReferences:()=>L9,findRootNode:()=>T9,getContainerOfType:()=>b9,getDocument:()=>k9,hasContainerOfType:()=>w9,linkContentToContainer:()=>x9,streamAllContents:()=>_9,streamAst:()=>C9,streamContents:()=>E9,streamReferences:()=>A9});var R9=k((()=>{j6(),t7(),T7(),w(x9,"linkContentToContainer"),w(b9,"getContainerOfType"),w(w9,"hasContainerOfType"),w(k9,"getDocument"),w(T9,"findRootNode"),w(E9,"streamContents"),w(_9,"streamAllContents"),w(C9,"streamAst"),w(S9,"isAstNodeInRange"),w(A9,"streamReferences"),w(L9,"findLocalReferences"),w(N9,"assignMandatoryProperties"),w(I9,"copyDefaultValue"),w(M9,"copyAstNode")}));function D9(t){return t.charCodeAt(0)}function O9(t,e){Array.isArray(t)?t.forEach((function(t){e.push(t)})):e.push(t)}function P9(t,e){if(!0===t[e])throw"duplicate flag "+e;t[e],t[e]=!0}function B9(t){if(void 0===t)throw Error("Internal Error - Should never get here!");return!0}function F9(){throw Error("Internal Error - Should never get here!")}function $9(t){return"Character"===t.type}var z9,U9,G9,q9,Y9,j9,H9,W9,V9=k((()=>{w(D9,"cc"),w(O9,"insertToSet"),w(P9,"addFlag"),w(B9,"ASSERT_EXISTS"),w(F9,"ASSERT_NEVER_REACH_HERE"),w($9,"isCharacter")})),X9=k((()=>{V9(),z9=[];for(let t=D9("0");t<=D9("9");t++)z9.push(t);U9=[D9("_")].concat(z9);for(let t=D9("a");t<=D9("z");t++)U9.push(t);for(let t=D9("A");t<=D9("Z");t++)U9.push(t);G9=[D9(" "),D9("\f"),D9("\n"),D9("\r"),D9("\t"),D9("\v"),D9("\t"),D9(" "),D9(" "),D9(" "),D9(" "),D9(" "),D9(" "),D9(" "),D9(" "),D9(" "),D9(" "),D9(" "),D9(" "),D9(" "),D9("\u2028"),D9("\u2029"),D9(" "),D9(" "),D9(" "),D9("\ufeff")]})),K9=k((()=>{V9(),X9(),q9=/[0-9a-fA-F]/,Y9=/[0-9]/,j9=/[1-9]/,H9=class{static{w(this,"RegExpParser")}constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(t){this.idx=t.idx,this.input=t.input,this.groupIdx=t.groupIdx}pattern(t){this.idx=0,this.input=t,this.groupIdx=0,this.consumeChar("/");let e=this.disjunction();this.consumeChar("/");let r={type:"Flags",loc:{begin:this.idx,end:t.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":P9(r,"global");break;case"i":P9(r,"ignoreCase");break;case"m":P9(r,"multiLine");break;case"u":P9(r,"unicode");break;case"y":P9(r,"sticky")}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:e,loc:this.loc(0)}}disjunction(){let t=[],e=this.idx;for(t.push(this.alternative());"|"===this.peekChar();)this.consumeChar("|"),t.push(this.alternative());return{type:"Disjunction",value:t,loc:this.loc(e)}}alternative(){let t=[],e=this.idx;for(;this.isTerm();)t.push(this.term());return{type:"Alternative",value:t,loc:this.loc(e)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let t=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(t)};case"$":return{type:"EndAnchor",loc:this.loc(t)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(t)};case"B":return{type:"NonWordBoundary",loc:this.loc(t)}}throw Error("Invalid Assertion Escape");case"(":let e;switch(this.consumeChar("?"),this.popChar()){case"=":e="Lookahead";break;case"!":e="NegativeLookahead"}B9(e);let r=this.disjunction();return this.consumeChar(")"),{type:e,value:r,loc:this.loc(t)}}return F9()}quantifier(t=!1){let e,r=this.idx;switch(this.popChar()){case"*":e={atLeast:0,atMost:1/0};break;case"+":e={atLeast:1,atMost:1/0};break;case"?":e={atLeast:0,atMost:1};break;case"{":let r=this.integerIncludingZero();switch(this.popChar()){case"}":e={atLeast:r,atMost:r};break;case",":let t;this.isDigit()?(t=this.integerIncludingZero(),e={atLeast:r,atMost:t}):e={atLeast:r,atMost:1/0},this.consumeChar("}")}if(!0===t&&void 0===e)return;B9(e)}if((!0!==t||void 0!==e)&&B9(e))return"?"===this.peekChar(0)?(this.consumeChar("?"),e.greedy=!1):e.greedy=!0,e.type="Quantifier",e.loc=this.loc(r),e}atom(){let t,e=this.idx;switch(this.peekChar()){case".":t=this.dotAll();break;case"\\":t=this.atomEscape();break;case"[":t=this.characterClass();break;case"(":t=this.group()}return void 0===t&&this.isPatternCharacter()&&(t=this.patternCharacter()),B9(t)?(t.loc=this.loc(e),this.isQuantifier()&&(t.quantifier=this.quantifier()),t):F9()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[D9("\n"),D9("\r"),D9("\u2028"),D9("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let t,e=!1;switch(this.popChar()){case"d":t=z9;break;case"D":t=z9,e=!0;break;case"s":t=G9;break;case"S":t=G9,e=!0;break;case"w":t=U9;break;case"W":t=U9,e=!0}return B9(t)?{type:"Set",value:t,complement:e}:F9()}controlEscapeAtom(){let t;switch(this.popChar()){case"f":t=D9("\f");break;case"n":t=D9("\n");break;case"r":t=D9("\r");break;case"t":t=D9("\t");break;case"v":t=D9("\v")}return B9(t)?{type:"Character",value:t}:F9()}controlLetterEscapeAtom(){this.consumeChar("c");let t=this.popChar();if(!1===/[a-zA-Z]/.test(t))throw Error("Invalid ");return{type:"Character",value:t.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:D9("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){return{type:"Character",value:D9(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case"\n":case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:return{type:"Character",value:D9(this.popChar())}}}characterClass(){let t=[],e=!1;for(this.consumeChar("["),"^"===this.peekChar(0)&&(this.consumeChar("^"),e=!0);this.isClassAtom();){let e=this.classAtom();if(e.type,$9(e)&&this.isRangeDash()){this.consumeChar("-");let r=this.classAtom();if(r.type,$9(r)){if(r.value=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(t){return{begin:t,end:this.idx}}}})),Z9=k((()=>{W9=class{static{w(this,"BaseRegExpVisitor")}visitChildren(t){for(let e in t){let r=t[e];t.hasOwnProperty(e)&&(void 0!==r.type?this.visit(r):Array.isArray(r)&&r.forEach((t=>{this.visit(t)}),this))}}visit(t){switch(t.type){case"Pattern":this.visitPattern(t);break;case"Flags":this.visitFlags(t);break;case"Disjunction":this.visitDisjunction(t);break;case"Alternative":this.visitAlternative(t);break;case"StartAnchor":this.visitStartAnchor(t);break;case"EndAnchor":this.visitEndAnchor(t);break;case"WordBoundary":this.visitWordBoundary(t);break;case"NonWordBoundary":this.visitNonWordBoundary(t);break;case"Lookahead":this.visitLookahead(t);break;case"NegativeLookahead":this.visitNegativeLookahead(t);break;case"Character":this.visitCharacter(t);break;case"Set":this.visitSet(t);break;case"Group":this.visitGroup(t);break;case"GroupBackReference":this.visitGroupBackReference(t);break;case"Quantifier":this.visitQuantifier(t)}this.visitChildren(t)}visitPattern(t){}visitFlags(t){}visitDisjunction(t){}visitAlternative(t){}visitStartAnchor(t){}visitEndAnchor(t){}visitWordBoundary(t){}visitNonWordBoundary(t){}visitLookahead(t){}visitNegativeLookahead(t){}visitCharacter(t){}visitSet(t){}visitGroup(t){}visitGroupBackReference(t){}visitQuantifier(t){}}})),Q9=k((()=>{K9(),Z9()})),J9={};function ttt(t){try{"string"!=typeof t&&(t=t.source),t=`/${t}/`;let e=ltt.pattern(t),r=[];for(let n of e.value.value)htt.reset(t),htt.visit(n),r.push({start:htt.startRegexp,end:htt.endRegex});return r}catch{return[]}}function ett(t){try{return"string"==typeof t&&(t=new RegExp(t)),t=t.toString(),htt.reset(t),htt.visit(ltt.pattern(t)),htt.multiline}catch{return!1}}function rtt(t){return("string"==typeof t?new RegExp(t):t).test(" ")}function ntt(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function itt(t){return Array.prototype.map.call(t,(t=>/\w/.test(t)?`[${t.toLowerCase()}${t.toUpperCase()}]`:ntt(t))).join("")}function att(t,e){let r=ott(t),n=e.match(r);return!!n&&n[0].length>0}function ott(t){"string"==typeof t&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let t,a="";function o(t){a+=r.substr(n,t),n+=t}function s(t){a+="(?:"+r.substr(n,t)+"|$)",n+=t}for(w(o,"appendRaw"),w(s,"appendOptional");n",n)-n+1);break;default:s(2)}break;case"[":t=/\[(?:\\.|.)*?\]/g,t.lastIndex=n,t=t.exec(r)||[],s(t[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":t=/\{\d+,?\d*\}/g,t.lastIndex=n,t=t.exec(r),t?o(t[0].length):s(1);break;case"(":if("?"===r[n+1])switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":t=n,n+=3,i(),a+=r.substr(t,n-t);break;case"<":switch(r[n+3]){case"=":case"!":t=n,n+=4,i(),a+=r.substr(t,n-t);break;default:o(r.indexOf(">",n)-n+1),a+=i()+"|$)"}}else o(1),a+=i()+"|$)";break;case")":return++n,a;default:s(1)}return a}return w(i,"process"),new RegExp(i(),t.flags)}E(J9,{NEWLINE_REGEXP:()=>stt,escapeRegExp:()=>ntt,getCaseInsensitivePattern:()=>itt,getTerminalParts:()=>ttt,isMultilineComment:()=>ett,isWhitespace:()=>rtt,partialMatches:()=>att,partialRegExp:()=>ott});var stt,ltt,ctt,htt,utt=k((()=>{Q9(),stt=/\r?\n/gm,ltt=new H9,ctt=class extends W9{static{w(this,"TerminalRegExpVisitor")}constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(t){this.multiline=!1,this.regex=t,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(t){t.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(t){let e=String.fromCharCode(t.value);if(!this.multiline&&"\n"===e&&(this.multiline=!0),t.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let t=ntt(e);this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t)}}visitSet(t){if(!this.multiline){let e=this.regex.substring(t.loc.begin,t.loc.end),r=new RegExp(e);this.multiline=!!"\n".match(r)}if(t.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let e=this.regex.substring(t.loc.begin,t.loc.end);this.endRegexpStack.push(e),this.isStarting&&(this.startRegexp+=e)}}visitChildren(t){"Group"===t.type&&t.quantifier||super.visitChildren(t)}},htt=new ctt,w(ttt,"getTerminalParts"),w(ett,"isMultilineComment"),w(rtt,"isWhitespace"),w(ntt,"escapeRegExp"),w(itt,"getCaseInsensitivePattern"),w(att,"partialMatches"),w(ott,"partialRegExp")})),dtt={};function ptt(t){return t.rules.find((t=>K7(t)&&t.entry))}function ftt(t){return t.rules.filter((t=>e8(t)&&t.hidden))}function gtt(t,e){let r=new Set,n=ptt(t);if(!n)return new Set(t.rules);let i=[n].concat(ftt(t));for(let t of i)mtt(t,r,e);let a=new Set;for(let e of t.rules)(r.has(e.name)||e8(e)&&e.hidden)&&a.add(e);return a}function mtt(t,e,r){e.add(t.name),_9(t).forEach((t=>{if(g8(t)||r&&v8(t)){let n=t.rule.ref;n&&!e.has(n.name)&&mtt(n,e,r)}}))}function ytt(t){if(t.terminal)return t.terminal;if(t.type.ref){let e=Ctt(t.type.ref);return e?.terminal}}function vtt(t){return t.hidden&&!ztt(t).test(" ")}function xtt(t,e){return t&&e?wtt(t,e,t.astNode,!0):[]}function btt(t,e,r){if(!t||!e)return;let n=wtt(t,e,t.astNode,!0);return 0!==n.length?n[r=void 0!==r?Math.max(0,Math.min(r,n.length-1)):0]:void 0}function wtt(t,e,r,n){if(!n){let r=b9(t.grammarSource,s8);if(r&&r.feature===e)return[t]}return U6(t)&&t.astNode===r?t.content.flatMap((t=>wtt(t,e,r,!1))):[]}function ktt(t,e){return t?Ett(t,e,t?.astNode):[]}function Ttt(t,e,r){if(!t)return;let n=Ett(t,e,t?.astNode);return 0!==n.length?n[r=void 0!==r?Math.max(0,Math.min(r,n.length-1)):0]:void 0}function Ett(t,e,r){if(t.astNode!==r)return[];if(d8(t.grammarSource)&&t.grammarSource.value===e)return[t];let n,i=r7(t).iterator(),a=[];do{if(n=i.next(),!n.done){let t=n.value;t.astNode===r?d8(t.grammarSource)&&t.grammarSource.value===e&&a.push(t):i.prune()}}while(!n.done);return a}function _tt(t){var e;let r=t.astNode;for(;r===(null===(e=t.container)||void 0===e?void 0:e.astNode);){let e=b9(t.grammarSource,s8);if(e)return e;t=t.container}}function Ctt(t){let e=t;return q7(e)&&(a8(e.$container)?e=e.$container.$container:K7(e.$container)?e=e.$container:E7(e.$container)),Stt(t,e,new Map)}function Stt(t,e,r){var n;function i(e,n){let i;return b9(e,s8)||(i=Stt(n,n,r)),r.set(t,i),i}if(w(i,"go"),r.has(t))return r.get(t);r.set(t,void 0);for(let a of _9(e)){if(s8(a)&&"name"===a.feature.toLowerCase())return r.set(t,a),a;if(g8(a)&&K7(a.rule.ref))return i(a,a.rule.ref);if(J7(a)&&null!==(n=a.typeRef)&&void 0!==n&&n.ref)return i(a,a.typeRef.ref)}}function Att(t){let e=t.$container;if(u8(e)){let r=e.elements;for(let e=r.indexOf(t)-1;e>=0;e--){let t=r[e];if(a8(t))return t;{let t=_9(r[e]).find(a8);if(t)return t}}}if(O7(e))return Att(e)}function Ltt(t,e){return"?"===t||"*"===t||u8(e)&&!!e.guardCondition}function Ntt(t){return"*"===t||"+"===t}function Itt(t){return"+="===t}function Mtt(t){return Rtt(t,new Set)}function Rtt(t,e){if(e.has(t))return!0;e.add(t);for(let r of _9(t))if(g8(r)){if(!r.rule.ref||K7(r.rule.ref)&&!Rtt(r.rule.ref,e))return!1}else{if(s8(r))return!1;if(a8(r))return!1}return!!t.definition}function Dtt(t){return Ott(t.type,new Set)}function Ott(t,e){if(e.has(t))return!0;if(e.add(t),B7(t))return!1;if(Z7(t))return!1;if(i8(t))return t.types.every((t=>Ott(t,e)));if(J7(t)){if(void 0!==t.primitiveType)return!0;if(void 0!==t.stringType)return!0;if(void 0!==t.typeRef){let r=t.typeRef.ref;return!!r8(r)&&Ott(r.type,e)}return!1}return!1}function Ptt(t){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e){if(K7(e))return e.name;if(Y7(e)||r8(e))return e.name}}}function Btt(t){var e;if(K7(t))return Mtt(t)?t.name:null!==(e=Ptt(t))&&void 0!==e?e:t.name;if(Y7(t)||r8(t)||Q7(t))return t.name;if(a8(t)){let e=Ftt(t);if(e)return e}else if(q7(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function Ftt(t){var e;return t.inferredType?t.inferredType.name:null!==(e=t.type)&&void 0!==e&&e.ref?Btt(t.type.ref):void 0}function $tt(t){var e,r,n;return e8(t)?null!==(r=null===(e=t.type)||void 0===e?void 0:e.name)&&void 0!==r?r:"string":Mtt(t)?t.name:null!==(n=Ptt(t))&&void 0!==n?n:t.name}function ztt(t){let e={s:!1,i:!1,u:!1},r=Utt(t.definition,e),n=Object.entries(e).filter((([,t])=>t)).map((([t])=>t)).join("");return new RegExp(r,n)}function Utt(t,e){if(m8(t))return Gtt(t);if(y8(t))return qtt(t);if(l8(t))return Htt(t);if(v8(t)){let e=t.rule.ref;if(!e)throw new Error("Missing rule reference.");return Vtt(Utt(e.definition),{cardinality:t.cardinality,lookahead:t.lookahead})}if(p8(t))return jtt(t);if(b8(t))return Ytt(t);if(f8(t)){let r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),Vtt(n,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}if(w8(t))return Vtt(Xtt,{cardinality:t.cardinality,lookahead:t.lookahead});throw new Error(`Invalid terminal element: ${t?.$type}`)}function Gtt(t){return Vtt(t.elements.map((t=>Utt(t))).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead})}function qtt(t){return Vtt(t.elements.map((t=>Utt(t))).join(""),{cardinality:t.cardinality,lookahead:t.lookahead})}function Ytt(t){return Vtt(`${Xtt}*?${Utt(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead})}function jtt(t){return Vtt(`(?!${Utt(t.terminal)})${Xtt}*?`,{cardinality:t.cardinality,lookahead:t.lookahead})}function Htt(t){return t.right?Vtt(`[${Wtt(t.left)}-${Wtt(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1}):Vtt(Wtt(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}function Wtt(t){return ntt(t.value)}function Vtt(t,e){var r;return(!1!==e.wrap||e.lookahead)&&(t=`(${null!==(r=e.lookahead)&&void 0!==r?r:""}${t})`),e.cardinality?`${t}${e.cardinality}`:t}E(dtt,{findAssignment:()=>_tt,findNameAssignment:()=>Ctt,findNodeForKeyword:()=>Ttt,findNodeForProperty:()=>btt,findNodesForKeyword:()=>ktt,findNodesForKeywordInternal:()=>Ett,findNodesForProperty:()=>xtt,getActionAtElement:()=>Att,getActionType:()=>Ftt,getAllReachableRules:()=>gtt,getCrossReferenceTerminal:()=>ytt,getEntryRule:()=>ptt,getExplicitRuleType:()=>Ptt,getHiddenRules:()=>ftt,getRuleType:()=>$tt,getTypeName:()=>Btt,isArrayCardinality:()=>Ntt,isArrayOperator:()=>Itt,isCommentTerminal:()=>vtt,isDataType:()=>Dtt,isDataTypeRule:()=>Mtt,isOptionalCardinality:()=>Ltt,terminalRegex:()=>ztt});var Xtt,Ktt=k((()=>{C7(),y9(),j6(),R9(),T7(),utt(),w(ptt,"getEntryRule"),w(ftt,"getHiddenRules"),w(gtt,"getAllReachableRules"),w(mtt,"ruleDfs"),w(ytt,"getCrossReferenceTerminal"),w(vtt,"isCommentTerminal"),w(xtt,"findNodesForProperty"),w(btt,"findNodeForProperty"),w(wtt,"findNodesForPropertyInternal"),w(ktt,"findNodesForKeyword"),w(Ttt,"findNodeForKeyword"),w(Ett,"findNodesForKeywordInternal"),w(_tt,"findAssignment"),w(Ctt,"findNameAssignment"),w(Stt,"findNameAssignmentInternal"),w(Att,"getActionAtElement"),w(Ltt,"isOptionalCardinality"),w(Ntt,"isArrayCardinality"),w(Itt,"isArrayOperator"),w(Mtt,"isDataTypeRule"),w(Rtt,"isDataTypeRuleInternal"),w(Dtt,"isDataType"),w(Ott,"isDataTypeInternal"),w(Ptt,"getExplicitRuleType"),w(Btt,"getTypeName"),w(Ftt,"getActionType"),w($tt,"getRuleType"),w(ztt,"terminalRegex"),Xtt=/[\s\S]/.source,w(Utt,"abstractElementToRegex"),w(Gtt,"terminalAlternativesToRegex"),w(qtt,"terminalGroupToRegex"),w(Ytt,"untilTokenToRegex"),w(jtt,"negateTokenToRegex"),w(Htt,"characterRangeToRegex"),w(Wtt,"keywordToRegex"),w(Vtt,"withCardinality")}));function Ztt(t){let e=[],r=t.Grammar;for(let t of r.rules)e8(t)&&vtt(t)&&ett(ztt(t))&&e.push(t.name);return{multilineCommentRules:e,nameRegexp:k7}}var Qtt=k((()=>{T7(),Ktt(),utt(),y9(),w(Ztt,"createGrammarConfig")})),Jtt=k((()=>{}));function tet(t){console&&console.error&&console.error(`Error: ${t}`)}function eet(t){console&&console.warn&&console.warn(`Warning: ${t}`)}var ret=k((()=>{w(tet,"PRINT_ERROR"),w(eet,"PRINT_WARNING")}));function net(t){let e=(new Date).getTime(),r=t();return{time:(new Date).getTime()-e,value:r}}var iet=k((()=>{w(net,"timer")}));function aet(t){function e(){}w(e,"FakeConstructor"),e.prototype=t;let r=new e;function n(){return typeof r.bar}return w(n,"fakeAccess"),n(),n(),t}var oet=k((()=>{w(aet,"toFastProperties")})),set=k((()=>{ret(),iet(),oet()}));function cet(t){return het(t)?t.LABEL:t.name}function het(t){return nQ(t.LABEL)&&""!==t.LABEL}function uet(t){return AZ(t,det)}function det(t){function e(t){return AZ(t,det)}if(w(e,"convertDefinition"),t instanceof fet){let e={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return nQ(t.label)&&(e.label=t.label),e}if(t instanceof met)return{type:"Alternative",definition:e(t.definition)};if(t instanceof yet)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof vet)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof xet)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:det(new Tet({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof wet)return{type:"RepetitionWithSeparator",idx:t.idx,separator:det(new Tet({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof bet)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof ket)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof Tet){let e={type:"Terminal",name:t.terminalType.name,label:cet(t.terminalType),idx:t.idx};nQ(t.label)&&(e.terminalLabel=t.label);let r=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(e.pattern=IQ(r)?r.source:r),e}if(t instanceof get)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}var pet,fet,get,met,yet,vet,xet,bet,wet,ket,Tet,Eet,_et=k((()=>{o1(),w(cet,"tokenLabel"),w(het,"hasTokenLabel"),pet=class{static{w(this,"AbstractProduction")}get definition(){return this._definition}set definition(t){this._definition=t}constructor(t){this._definition=t}accept(t){t.visit(this),HK(this.definition,(e=>{e.accept(t)}))}},fet=class extends pet{static{w(this,"NonTerminal")}constructor(t){super([]),this.idx=1,wY(this,dJ(t,(t=>void 0!==t)))}set definition(t){}get definition(){return void 0!==this.referencedRule?this.referencedRule.definition:[]}accept(t){t.visit(this)}},get=class extends pet{static{w(this,"Rule")}constructor(t){super(t.definition),this.orgText="",wY(this,dJ(t,(t=>void 0!==t)))}},met=class extends pet{static{w(this,"Alternative")}constructor(t){super(t.definition),this.ignoreAmbiguities=!1,wY(this,dJ(t,(t=>void 0!==t)))}},yet=class extends pet{static{w(this,"Option")}constructor(t){super(t.definition),this.idx=1,wY(this,dJ(t,(t=>void 0!==t)))}},vet=class extends pet{static{w(this,"RepetitionMandatory")}constructor(t){super(t.definition),this.idx=1,wY(this,dJ(t,(t=>void 0!==t)))}},xet=class extends pet{static{w(this,"RepetitionMandatoryWithSeparator")}constructor(t){super(t.definition),this.idx=1,wY(this,dJ(t,(t=>void 0!==t)))}},bet=class extends pet{static{w(this,"Repetition")}constructor(t){super(t.definition),this.idx=1,wY(this,dJ(t,(t=>void 0!==t)))}},wet=class extends pet{static{w(this,"RepetitionWithSeparator")}constructor(t){super(t.definition),this.idx=1,wY(this,dJ(t,(t=>void 0!==t)))}},ket=class extends pet{static{w(this,"Alternation")}get definition(){return this._definition}set definition(t){this._definition=t}constructor(t){super(t.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,wY(this,dJ(t,(t=>void 0!==t)))}},Tet=class{static{w(this,"Terminal")}constructor(t){this.idx=1,wY(this,dJ(t,(t=>void 0!==t)))}accept(t){t.visit(this)}},w(uet,"serializeGrammar"),w(det,"serializeProduction")})),Cet=k((()=>{_et(),Eet=class{static{w(this,"GAstVisitor")}visit(t){let e=t;switch(e.constructor){case fet:return this.visitNonTerminal(e);case met:return this.visitAlternative(e);case yet:return this.visitOption(e);case vet:return this.visitRepetitionMandatory(e);case xet:return this.visitRepetitionMandatoryWithSeparator(e);case wet:return this.visitRepetitionWithSeparator(e);case bet:return this.visitRepetition(e);case ket:return this.visitAlternation(e);case Tet:return this.visitTerminal(e);case get:return this.visitRule(e);default:throw Error("non exhaustive match")}}visitNonTerminal(t){}visitAlternative(t){}visitOption(t){}visitRepetition(t){}visitRepetitionMandatory(t){}visitRepetitionMandatoryWithSeparator(t){}visitRepetitionWithSeparator(t){}visitAlternation(t){}visitTerminal(t){}visitRule(t){}}}));function Aet(t){return t instanceof met||t instanceof yet||t instanceof bet||t instanceof vet||t instanceof xet||t instanceof wet||t instanceof Tet||t instanceof get}function Let(t,e=[]){return t instanceof yet||t instanceof bet||t instanceof wet||(t instanceof ket?A0(t.definition,(t=>Let(t,e))):!(t instanceof fet&&pQ(e,t))&&t instanceof pet&&(t instanceof fet&&e.push(t),rZ(t.definition,(t=>Let(t,e)))))}function Net(t){return t instanceof ket}function Iet(t){if(t instanceof fet)return"SUBRULE";if(t instanceof yet)return"OPTION";if(t instanceof ket)return"OR";if(t instanceof vet)return"AT_LEAST_ONE";if(t instanceof xet)return"AT_LEAST_ONE_SEP";if(t instanceof wet)return"MANY_SEP";if(t instanceof bet)return"MANY";if(t instanceof Tet)return"CONSUME";throw Error("non exhaustive match")}var Met=k((()=>{o1(),_et(),w(Aet,"isSequenceProd"),w(Let,"isOptionalProd"),w(Net,"isBranchingProd"),w(Iet,"getProductionDslName")})),Ret=k((()=>{_et(),Cet(),Met()}));function Det(t,e,r){return[new yet({definition:[new Tet({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}var Oet,Pet=k((()=>{o1(),Ret(),Oet=class{static{w(this,"RestWalker")}walk(t,e=[]){HK(t.definition,((r,n)=>{let i=BK(t.definition,n+1);if(r instanceof fet)this.walkProdRef(r,i,e);else if(r instanceof Tet)this.walkTerminal(r,i,e);else if(r instanceof met)this.walkFlat(r,i,e);else if(r instanceof yet)this.walkOption(r,i,e);else if(r instanceof vet)this.walkAtLeastOne(r,i,e);else if(r instanceof xet)this.walkAtLeastOneSep(r,i,e);else if(r instanceof wet)this.walkManySep(r,i,e);else if(r instanceof bet)this.walkMany(r,i,e);else{if(!(r instanceof ket))throw Error("non exhaustive match");this.walkOr(r,i,e)}}))}walkTerminal(t,e,r){}walkProdRef(t,e,r){}walkFlat(t,e,r){let n=e.concat(r);this.walk(t,n)}walkOption(t,e,r){let n=e.concat(r);this.walk(t,n)}walkAtLeastOne(t,e,r){let n=[new yet({definition:t.definition})].concat(e,r);this.walk(t,n)}walkAtLeastOneSep(t,e,r){let n=Det(t,e,r);this.walk(t,n)}walkMany(t,e,r){let n=[new yet({definition:t.definition})].concat(e,r);this.walk(t,n)}walkManySep(t,e,r){let n=Det(t,e,r);this.walk(t,n)}walkOr(t,e,r){let n=e.concat(r);HK(t.definition,(t=>{let e=new met({definition:[t]});this.walk(e,n)}))}},w(Det,"restForRepetitionWithSeparator")}));function Bet(t){if(t instanceof fet)return Bet(t.referencedRule);if(t instanceof Tet)return zet(t);if(Aet(t))return Fet(t);if(Net(t))return $et(t);throw Error("non exhaustive match")}function Fet(t){let e,r=[],n=t.definition,i=0,a=n.length>i,o=!0;for(;a&&o;)e=n[i],o=Let(e),r=r.concat(Bet(e)),i+=1,a=n.length>i;return j0(r)}function $et(t){let e=AZ(t.definition,(t=>Bet(t)));return j0(uj(e))}function zet(t){return[t.terminalType]}var Uet,Get=k((()=>{o1(),Ret(),w(Bet,"first"),w(Fet,"firstForSequence"),w($et,"firstForBranching"),w(zet,"firstForTerminal")})),qet=k((()=>{Uet="_~IN~_"}));function Yet(t){let e={};return HK(t,(t=>{let r=new Het(t).startWalking();wY(e,r)})),e}function jet(t,e){return t.name+e+Uet}var Het,Wet=k((()=>{Pet(),Get(),o1(),qet(),Ret(),Het=class extends Oet{static{w(this,"ResyncFollowsWalker")}constructor(t){super(),this.topProd=t,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(t,e,r){}walkProdRef(t,e,r){let n=jet(t.referencedRule,t.idx)+this.topProd.name,i=e.concat(r),a=Bet(new met({definition:i}));this.follows[n]=a}},w(Yet,"computeAllProdsFollows"),w(jet,"buildBetweenProdsFollowPrefix")}));function Vet(t){let e=t.toString();if(Ket.hasOwnProperty(e))return Ket[e];{let t=Zet.pattern(e);return Ket[e]=t,t}}function Xet(){Ket={}}var Ket,Zet,Qet=k((()=>{Q9(),Ket={},Zet=new H9,w(Vet,"getRegExpAst"),w(Xet,"clearRegExpParserCache")}));function Jet(t,e=!1){try{let e=Vet(t);return trt(e.value,{},e.flags.ignoreCase)}catch(r){if(r.message===ort)e&&eet(`${srt}\tUnable to optimize: < ${t.toString()} >\n\tComplement Sets cannot be automatically optimized.\n\tThis will disable the lexer's first char optimizations.\n\tSee: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let r="";e&&(r="\n\tThis will disable the lexer's first char optimizations.\n\tSee: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details."),tet(`${srt}\n\tFailed parsing: < ${t.toString()} >\n\tUsing the @chevrotain/regexp-to-ast library\n\tPlease open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}function trt(t,e,r){switch(t.type){case"Disjunction":for(let n=0;n{if("number"==typeof t)ert(t,e,r);else{let n=t;if(!0===r)for(let t=n.from;t<=n.to;t++)ert(t,e,r);else{for(let t=n.from;t<=n.to&&t=jrt){let t=n.from>=jrt?n.from:jrt,r=n.to,i=Prt(t),a=Prt(r);for(let t=i;t<=a;t++)e[t]=t}}}}));break;case"Group":trt(a.value,e,r);break;default:throw Error("Non Exhaustive Match")}let o=void 0!==a.quantifier&&0===a.quantifier.atLeast;if("Group"===a.type&&!1===irt(a)||"Group"!==a.type&&!1===o)break}break;default:throw Error("non exhaustive match!")}return cQ(e)}function ert(t,e,r){let n=Prt(t);e[n]=n,!0===r&&rrt(t,e)}function rrt(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let t=Prt(n.charCodeAt(0));e[t]=t}else{let t=r.toLowerCase();if(t!==r){let r=Prt(t.charCodeAt(0));e[r]=r}}}function nrt(t,e){return yZ(t.value,(t=>{if("number"==typeof t)return pQ(e,t);{let r=t;return void 0!==yZ(e,(t=>r.from<=t&&t<=r.to))}}))}function irt(t){let e=t.quantifier;return!(!e||0!==e.atLeast)||!!t.value&&(oI(t.value)?rZ(t.value,irt):irt(t.value))}function art(t,e){if(e instanceof RegExp){let r=Vet(e),n=new lrt(t);return n.visit(r),n.found}return void 0!==yZ(e,(e=>pQ(t,e.charCodeAt(0))))}var ort,srt,lrt,crt=k((()=>{Q9(),o1(),set(),Qet(),Wrt(),ort="Complement Sets are not supported for first char optimization",srt='Unable to use "first char" lexer optimizations:\n',w(Jet,"getOptimizedStartCodesIndices"),w(trt,"firstCharOptimizedIndices"),w(ert,"addOptimizedIdxToResult"),w(rrt,"handleIgnoreCase"),w(nrt,"findCode"),w(irt,"isWholeOptional"),lrt=class extends W9{static{w(this,"CharCodeFinder")}constructor(t){super(),this.targetCharCodes=t,this.found=!1}visitChildren(t){if(!0!==this.found){switch(t.type){case"Lookahead":return void this.visitLookahead(t);case"NegativeLookahead":return void this.visitNegativeLookahead(t)}super.visitChildren(t)}}visitCharacter(t){pQ(this.targetCharCodes,t.value)&&(this.found=!0)}visitSet(t){t.complement?void 0===nrt(t,this.targetCharCodes)&&(this.found=!0):void 0!==nrt(t,this.targetCharCodes)&&(this.found=!0)}},w(art,"canMatchCharCode")}));function hrt(t,e){let r,n=(e=xK(e,{useSticky:Urt,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r","\n"],tracer:w(((t,e)=>e()),"tracer")})).tracer;n("initCharCodeToOptimizedIndexMap",(()=>{Brt()})),n("Reject Lexer.NA",(()=>{r=y0(t,(t=>t[Frt]===dnt.NA))}));let i,a,o,s,l,c,h,u,d,p,f,g=!1;n("Transform Patterns",(()=>{g=!1,i=AZ(r,(t=>{let r=t[Frt];if(IQ(r)){let t=r.source;return 1!==t.length||"^"===t||"$"===t||"."===t||r.ignoreCase?2!==t.length||"\\"!==t[0]||pQ(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],t[1])?e.useSticky?Crt(r):_rt(r):t[1]:t}if(_S(r))return g=!0,{exec:r};if("object"==typeof r)return g=!0,r;if("string"==typeof r){if(1===r.length)return r;{let t=r.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),n=new RegExp(t);return e.useSticky?Crt(n):_rt(n)}}throw Error("non exhaustive match")}))})),n("misc mapping",(()=>{a=AZ(r,(t=>t.tokenTypeIdx)),o=AZ(r,(t=>{let e=t.GROUP;if(e!==dnt.SKIPPED){if(nQ(e))return e;if(OQ(e))return!1;throw Error("non exhaustive match")}})),s=AZ(r,(t=>{let e=t.LONGER_ALT;if(e)return oI(e)?AZ(e,(t=>yQ(r,t))):[yQ(r,e)]})),l=AZ(r,(t=>t.PUSH_MODE)),c=AZ(r,(t=>JZ(t,"POP_MODE")))})),n("Line Terminator Handling",(()=>{let t=Drt(e.lineTerminatorCharacters);h=AZ(r,(t=>!1)),"onlyOffset"!==e.positionTracking&&(h=AZ(r,(e=>JZ(e,"LINE_BREAKS")?!!e.LINE_BREAKS:!1===Mrt(e,t)&&art(t,e.PATTERN))))})),n("Misc Mapping #2",(()=>{u=AZ(r,Nrt),d=AZ(i,Irt),p=f0(r,((t,e)=>{let r=e.GROUP;return nQ(r)&&r!==dnt.SKIPPED&&(t[r]=[]),t}),{}),f=AZ(i,((t,e)=>({pattern:i[e],longerAlt:s[e],canLineTerminator:h[e],isCustom:u[e],short:d[e],group:o[e],push:l[e],pop:c[e],tokenTypeIdx:a[e],tokenType:r[e]})))}));let m=!0,y=[];return e.safeMode||n("First Char Optimization",(()=>{y=f0(r,((t,r,n)=>{if("string"==typeof r.PATTERN){let e=Prt(r.PATTERN.charCodeAt(0));Ort(t,e,f[n])}else if(oI(r.START_CHARS_HINT)){let e;HK(r.START_CHARS_HINT,(r=>{let i=Prt("string"==typeof r?r.charCodeAt(0):r);e!==i&&(e=i,Ort(t,i,f[n]))}))}else if(IQ(r.PATTERN))if(r.PATTERN.unicode)m=!1,e.ensureOptimizations&&tet(`${srt}\tUnable to analyze < ${r.PATTERN.toString()} > pattern.\n\tThe regexp unicode flag is not currently supported by the regexp-to-ast library.\n\tThis will disable the lexer's first char optimizations.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let i=Jet(r.PATTERN,e.ensureOptimizations);EQ(i)&&(m=!1),HK(i,(e=>{Ort(t,e,f[n])}))}else e.ensureOptimizations&&tet(`${srt}\tTokenType: <${r.name}> is using a custom token pattern without providing parameter.\n\tThis will disable the lexer's first char optimizations.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),m=!1;return t}),[])})),{emptyGroups:p,patternIdxToConfig:f,charCodeToPatternIdxToConfig:y,hasCustom:g,canBeOptimized:m}}function urt(t,e){let r=[],n=prt(t);r=r.concat(n.errors);let i=frt(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat(drt(a)),r=r.concat(brt(a)),r=r.concat(wrt(a,e)),r=r.concat(krt(a)),r}function drt(t){let e=[],r=lZ(t,(t=>IQ(t[Frt])));return e=e.concat(grt(r)),e=e.concat(yrt(r)),e=e.concat(vrt(r)),e=e.concat(xrt(r)),e=e.concat(mrt(r)),e}function prt(t){let e=lZ(t,(t=>!JZ(t,Frt)));return{errors:AZ(e,(t=>({message:"Token Type: ->"+t.name+"<- missing static 'PATTERN' property",type:hnt.MISSING_PATTERN,tokenTypes:[t]}))),valid:NK(t,e)}}function frt(t){let e=lZ(t,(t=>{let e=t[Frt];return!(IQ(e)||_S(e)||JZ(e,"exec")||nQ(e))}));return{errors:AZ(e,(t=>({message:"Token Type: ->"+t.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:hnt.INVALID_PATTERN,tokenTypes:[t]}))),valid:NK(t,e)}}function grt(t){class e extends W9{static{w(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(t){this.found=!0}}let r=lZ(t,(t=>{let r=t.PATTERN;try{let t=Vet(r),n=new e;return n.visit(t),n.found}catch{return Grt.test(r.source)}}));return AZ(r,(t=>({message:"Unexpected RegExp Anchor Error:\n\tToken Type: ->"+t.name+"<- static 'PATTERN' cannot contain end of input anchor '$'\n\tSee chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS\tfor details.",type:hnt.EOI_ANCHOR_FOUND,tokenTypes:[t]})))}function mrt(t){let e=lZ(t,(t=>t.PATTERN.test("")));return AZ(e,(t=>({message:"Token Type: ->"+t.name+"<- static 'PATTERN' must not match an empty string",type:hnt.EMPTY_MATCH_PATTERN,tokenTypes:[t]})))}function yrt(t){class e extends W9{static{w(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(t){this.found=!0}}let r=lZ(t,(t=>{let r=t.PATTERN;try{let t=Vet(r),n=new e;return n.visit(t),n.found}catch{return qrt.test(r.source)}}));return AZ(r,(t=>({message:"Unexpected RegExp Anchor Error:\n\tToken Type: ->"+t.name+"<- static 'PATTERN' cannot contain start of input anchor '^'\n\tSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS\tfor details.",type:hnt.SOI_ANCHOR_FOUND,tokenTypes:[t]})))}function vrt(t){let e=lZ(t,(t=>{let e=t[Frt];return e instanceof RegExp&&(e.multiline||e.global)}));return AZ(e,(t=>({message:"Token Type: ->"+t.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:hnt.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[t]})))}function xrt(t){let e=[],r=AZ(t,(r=>f0(t,((t,n)=>(r.PATTERN.source===n.PATTERN.source&&!pQ(e,n)&&n.PATTERN!==dnt.NA&&(e.push(n),t.push(n)),t)),[])));r=ZW(r);let n=lZ(r,(t=>t.length>1));return AZ(n,(t=>{let e=AZ(t,(t=>t.name));return{message:`The same RegExp pattern ->${wZ(t).PATTERN}<-has been used in all of the following Token Types: ${e.join(", ")} <-`,type:hnt.DUPLICATE_PATTERNS_FOUND,tokenTypes:t}}))}function brt(t){let e=lZ(t,(t=>{if(!JZ(t,"GROUP"))return!1;let e=t.GROUP;return e!==dnt.SKIPPED&&e!==dnt.NA&&!nQ(e)}));return AZ(e,(t=>({message:"Token Type: ->"+t.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:hnt.INVALID_GROUP_TYPE_FOUND,tokenTypes:[t]})))}function wrt(t,e){let r=lZ(t,(t=>void 0!==t.PUSH_MODE&&!pQ(e,t.PUSH_MODE)));return AZ(r,(t=>({message:`Token Type: ->${t.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${t.PUSH_MODE}<-which does not exist`,type:hnt.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[t]})))}function krt(t){let e=[],r=f0(t,((t,e,r)=>{let n=e.PATTERN;return n===dnt.NA||(nQ(n)?t.push({str:n,idx:r,tokenType:e}):IQ(n)&&Ert(n)&&t.push({str:n.source,idx:r,tokenType:e})),t}),[]);return HK(t,((t,n)=>{HK(r,(({str:r,idx:i,tokenType:a})=>{if(n${a.name}<- can never be matched.\nBecause it appears AFTER the Token Type ->${t.name}<-in the lexer's definition.\nSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:r,type:hnt.UNREACHABLE_PATTERN,tokenTypes:[t,a]})}}))})),e}function Trt(t,e){if(IQ(e)){let r=e.exec(t);return null!==r&&0===r.index}if(_S(e))return e(t,0,[],{});if(JZ(e,"exec"))return e.exec(t,0,[],{});if("string"==typeof e)return e===t;throw Error("non exhaustive match")}function Ert(t){return void 0===yZ([".","\\","[","]","|","^","$","(",")","?","*","+","{"],(e=>-1!==t.source.indexOf(e)))}function _rt(t){let e=t.ignoreCase?"i":"";return new RegExp(`^(?:${t.source})`,e)}function Crt(t){let e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function Srt(t,e,r){let n=[];return JZ(t,$rt)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+$rt+"> property in its definition\n",type:hnt.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),JZ(t,zrt)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+zrt+"> property in its definition\n",type:hnt.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),JZ(t,zrt)&&JZ(t,$rt)&&!JZ(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${$rt}: <${t.defaultMode}>which does not exist\n`,type:hnt.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),JZ(t,zrt)&&HK(t.modes,((t,e)=>{HK(t,((r,i)=>{if(OQ(r))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${e}> at index: <${i}>\n`,type:hnt.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(JZ(r,"LONGER_ALT")){let i=oI(r.LONGER_ALT)?r.LONGER_ALT:[r.LONGER_ALT];HK(i,(i=>{!OQ(i)&&!pQ(t,i)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${i.name}> on token <${r.name}> outside of mode <${e}>\n`,type:hnt.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})}))}}))})),n}function Art(t,e,r){let n=[],i=!1,a=ZW(uj(cQ(t.modes))),o=y0(a,(t=>t[Frt]===dnt.NA)),s=Drt(r);return e&&HK(o,(t=>{let e=Mrt(t,s);if(!1!==e){let r={message:Rrt(t,e),type:e.issue,tokenType:t};n.push(r)}else JZ(t,"LINE_BREAKS")?!0===t.LINE_BREAKS&&(i=!0):art(s,t.PATTERN)&&(i=!0)})),e&&!i&&n.push({message:"Warning: No LINE_BREAKS Found.\n\tThis Lexer has been defined to track line and column information,\n\tBut none of the Token Types can be identified as matching a line terminator.\n\tSee https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS \n\tfor details.",type:hnt.NO_LINE_BREAKS_FLAGS}),n}function Lrt(t){let e={},r=yY(t);return HK(r,(r=>{let n=t[r];if(!oI(n))throw Error("non exhaustive match");e[r]=[]})),e}function Nrt(t){let e=t.PATTERN;if(IQ(e))return!1;if(_S(e))return!0;if(JZ(e,"exec"))return!0;if(nQ(e))return!1;throw Error("non exhaustive match")}function Irt(t){return!(!nQ(t)||1!==t.length)&&t.charCodeAt(0)}function Mrt(t,e){if(JZ(t,"LINE_BREAKS"))return!1;if(IQ(t.PATTERN)){try{art(e,t.PATTERN)}catch(t){return{issue:hnt.IDENTIFY_TERMINATOR,errMsg:t.message}}return!1}if(nQ(t.PATTERN))return!1;if(Nrt(t))return{issue:hnt.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}function Rrt(t,e){if(e.issue===hnt.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.\n\tThe problem is in the <${t.name}> Token Type\n\t Root cause: ${e.errMsg}.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===hnt.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option.\n\tThe problem is in the <${t.name}> Token Type\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function Drt(t){return AZ(t,(t=>nQ(t)?t.charCodeAt(0):t))}function Ort(t,e,r){void 0===t[e]?t[e]=[r]:t[e].push(r)}function Prt(t){return t255?255+~~(t/255):t}}var Frt,$rt,zrt,Urt,Grt,qrt,Yrt,jrt,Hrt,Wrt=k((()=>{Q9(),gnt(),o1(),set(),crt(),Qet(),Frt="PATTERN",$rt="defaultMode",zrt="modes",Urt="boolean"==typeof new RegExp("(?:)").sticky,w(hrt,"analyzeTokenTypes"),w(urt,"validatePatterns"),w(drt,"validateRegExpPattern"),w(prt,"findMissingPatterns"),w(frt,"findInvalidPatterns"),Grt=/[^\\][$]/,w(grt,"findEndOfInputAnchor"),w(mrt,"findEmptyMatchRegExps"),qrt=/[^\\[][\^]|^\^/,w(yrt,"findStartOfInputAnchor"),w(vrt,"findUnsupportedFlags"),w(xrt,"findDuplicatePatterns"),w(brt,"findInvalidGroupType"),w(wrt,"findModesThatDoNotExist"),w(krt,"findUnreachablePatterns"),w(Trt,"testTokenType"),w(Ert,"noMetaChar"),w(_rt,"addStartOfInput"),w(Crt,"addStickyFlag"),w(Srt,"performRuntimeChecks"),w(Art,"performWarningRuntimeChecks"),w(Lrt,"cloneEmptyGroups"),w(Nrt,"isCustomPattern"),w(Irt,"isShortPattern"),Yrt={test:w((function(t){let e=t.length;for(let r=this.lastIndex;r{t.isParent=t.categoryMatches.length>0}))}function Zrt(t){let e=qW(t),r=t,n=!0;for(;n;){r=ZW(uj(AZ(r,(t=>t.CATEGORIES))));let t=NK(r,e);e=e.concat(t),EQ(t)?n=!1:r=t}return e}function Qrt(t){HK(t,(t=>{rnt(t)||(lnt[snt]=t,t.tokenTypeIdx=snt++),nnt(t)&&!oI(t.CATEGORIES)&&(t.CATEGORIES=[t.CATEGORIES]),nnt(t)||(t.CATEGORIES=[]),int(t)||(t.categoryMatches=[]),ant(t)||(t.categoryMatchesMap={})}))}function Jrt(t){HK(t,(t=>{t.categoryMatches=[],HK(t.categoryMatchesMap,((e,r)=>{t.categoryMatches.push(lnt[r].tokenTypeIdx)}))}))}function tnt(t){HK(t,(t=>{ent([],t)}))}function ent(t,e){HK(t,(t=>{e.categoryMatchesMap[t.tokenTypeIdx]=!0})),HK(e.CATEGORIES,(r=>{let n=t.concat(e);pQ(n,r)||ent(n,r)}))}function rnt(t){return JZ(t,"tokenTypeIdx")}function nnt(t){return JZ(t,"CATEGORIES")}function int(t){return JZ(t,"categoryMatches")}function ant(t){return JZ(t,"categoryMatchesMap")}function ont(t){return JZ(t,"tokenTypeIdx")}var snt,lnt,cnt,hnt,unt,dnt,pnt=k((()=>{o1(),w(Vrt,"tokenStructuredMatcher"),w(Xrt,"tokenStructuredMatcherNoCategories"),snt=1,lnt={},w(Krt,"augmentTokenTypes"),w(Zrt,"expandCategories"),w(Qrt,"assignTokenDefaultProps"),w(Jrt,"assignCategoriesTokensProp"),w(tnt,"assignCategoriesMapProp"),w(ent,"singleAssignCategoriesToksMap"),w(rnt,"hasShortKeyProperty"),w(nnt,"hasCategoriesProperty"),w(int,"hasExtendingTokensTypesProperty"),w(ant,"hasExtendingTokensTypesMapProperty"),w(ont,"isTokenType")})),fnt=k((()=>{cnt={buildUnableToPopLexerModeMessage:t=>`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`,buildUnexpectedCharactersMessage:(t,e,r,n,i)=>`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}})),gnt=k((()=>{var t;Wrt(),o1(),set(),pnt(),fnt(),Qet(),(t=hnt||(hnt={}))[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE",unt={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:["\n","\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:cnt,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0},Object.freeze(unt),(dnt=class{static{w(this,"Lexer")}constructor(t,e=unt){if(this.lexerDefinition=t,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(t,e)=>{if(!0===this.traceInitPerf){this.traceInitIndent++;let r=new Array(this.traceInitIndent+1).join("\t");this.traceInitIndent`);let{time:n,value:i}=net(e),a=n>10?console.warn:console.log;return this.traceInitIndent time: ${n}ms`),this.traceInitIndent--,i}return e()},"boolean"==typeof e)throw Error("The second argument to the Lexer constructor is now an ILexerConfig Object.\na boolean 2nd argument is no longer supported");this.config=wY({},unt,e);let r=this.config.traceInitPerf;!0===r?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):"number"==typeof r&&(this.traceInitMaxIdent=r,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",(()=>{let r,n=!0;this.TRACE_INIT("Lexer Config handling",(()=>{if(this.config.lineTerminatorsPattern===unt.lineTerminatorsPattern)this.config.lineTerminatorsPattern=Yrt;else if(this.config.lineTerminatorCharacters===unt.lineTerminatorCharacters)throw Error("Error: Missing property on the Lexer config.\n\tFor details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS");if(e.safeMode&&e.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),oI(t)?r={modes:{defaultMode:qW(t)},defaultMode:$rt}:(n=!1,r=qW(t))})),!1===this.config.skipValidations&&(this.TRACE_INIT("performRuntimeChecks",(()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Srt(r,this.trackStartLines,this.config.lineTerminatorCharacters))})),this.TRACE_INIT("performWarningRuntimeChecks",(()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(Art(r,this.trackStartLines,this.config.lineTerminatorCharacters))}))),r.modes=r.modes?r.modes:{},HK(r.modes,((t,e)=>{r.modes[e]=y0(t,(t=>OQ(t)))}));let i=yY(r.modes);if(HK(r.modes,((t,r)=>{this.TRACE_INIT(`Mode: <${r}> processing`,(()=>{if(this.modes.push(r),!1===this.config.skipValidations&&this.TRACE_INIT("validatePatterns",(()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(urt(t,i))})),EQ(this.lexerDefinitionErrors)){let n;Krt(t),this.TRACE_INIT("analyzeTokenTypes",(()=>{n=hrt(t,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:e.positionTracking,ensureOptimizations:e.ensureOptimizations,safeMode:e.safeMode,tracer:this.TRACE_INIT})})),this.patternIdxToConfig[r]=n.patternIdxToConfig,this.charCodeToPatternIdxToConfig[r]=n.charCodeToPatternIdxToConfig,this.emptyGroups=wY({},this.emptyGroups,n.emptyGroups),this.hasCustom=n.hasCustom||this.hasCustom,this.canModeBeOptimized[r]=n.canBeOptimized}}))})),this.defaultMode=r.defaultMode,!EQ(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let t=AZ(this.lexerDefinitionErrors,(t=>t.message)).join("-----------------------\n");throw new Error("Errors detected in definition of Lexer:\n"+t)}HK(this.lexerDefinitionWarning,(t=>{eet(t.message)})),this.TRACE_INIT("Choosing sub-methods implementations",(()=>{if(Urt?(this.chopInput=VM,this.match=this.matchWithTest):(this.updateLastIndex=Gq,this.match=this.matchWithExec),n&&(this.handleModes=Gq),!1===this.trackStartLines&&(this.computeNewColumn=VM),!1===this.trackEndLines&&(this.updateTokenEndLineColumnLocation=Gq),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else{if(!/onlyOffset/i.test(this.config.positionTracking))throw Error(`Invalid config option: "${this.config.positionTracking}"`);this.createTokenInstance=this.createOffsetOnlyToken}this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)})),this.TRACE_INIT("Failed Optimization Warnings",(()=>{let t=f0(this.canModeBeOptimized,((t,e,r)=>(!1===e&&t.push(r),t)),[]);if(e.ensureOptimizations&&!EQ(t))throw Error(`Lexer Modes: < ${t.join(", ")} > cannot be optimized.\n\t Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.\n\t Or inspect the console log for details on how to resolve these issues.`)})),this.TRACE_INIT("clearRegExpParserCache",(()=>{Xet()})),this.TRACE_INIT("toFastProperties",(()=>{aet(this)}))}))}tokenize(t,e=this.defaultMode){if(!EQ(this.lexerDefinitionErrors)){let t=AZ(this.lexerDefinitionErrors,(t=>t.message)).join("-----------------------\n");throw new Error("Unable to Tokenize because Errors detected in definition of Lexer:\n"+t)}return this.tokenizeInternal(t,e)}tokenizeInternal(t,e){let r,n,i,a,o,s,l,c,h,u,d,p,f,g,m,y,v=t,x=v.length,b=0,k=0,T=this.hasCustom?0:Math.floor(t.length/10),E=new Array(T),_=[],C=this.trackStartLines?1:void 0,S=this.trackStartLines?1:void 0,A=Lrt(this.emptyGroups),L=this.trackStartLines,N=this.config.lineTerminatorsPattern,I=0,M=[],R=[],D=[],O=[];function P(){return M}function B(t){let e=Prt(t),r=R[e];return void 0===r?O:r}Object.freeze(O),w(P,"getPossiblePatternsSlow"),w(B,"getPossiblePatternsOptimized");let F=w((t=>{if(1===D.length&&void 0===t.tokenType.PUSH_MODE){let e=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(t);_.push({offset:t.startOffset,line:t.startLine,column:t.startColumn,length:t.image.length,message:e})}else{D.pop();let t=DK(D);M=this.patternIdxToConfig[t],R=this.charCodeToPatternIdxToConfig[t],I=M.length;let e=this.canModeBeOptimized[t]&&!1===this.config.safeMode;y=R&&e?B:P}}),"pop_mode");function $(t){D.push(t),R=this.charCodeToPatternIdxToConfig[t],M=this.patternIdxToConfig[t],I=M.length,I=M.length;let e=this.canModeBeOptimized[t]&&!1===this.config.safeMode;y=R&&e?B:P}w($,"push_mode"),$.call(this,e);let z,U=this.config.recoveryEnabled;for(;bs.length){s=a,l=c,z=e;break}}}break}}if(null!==s){if(h=s.length,u=z.group,void 0!==u&&(d=z.tokenTypeIdx,p=this.createTokenInstance(s,b,d,z.tokenType,C,S,h),this.handlePayload(p,l),!1===u?k=this.addToken(E,k,p):A[u].push(p)),t=this.chopInput(t,h),b+=h,S=this.computeNewColumn(S,h),!0===L&&!0===z.canLineTerminator){let t,e,r=0;N.lastIndex=0;do{t=N.test(s),!0===t&&(e=N.lastIndex-1,r++)}while(!0===t);0!==r&&(C+=r,S=h-e,this.updateTokenEndLineColumnLocation(p,u,e,r,C,S,h))}this.handleModes(z,F,$,p)}else{let e=b,r=C,i=S,a=!1===U;for(;!1===a&&b{o1(),gnt(),pnt(),w(mnt,"tokenLabel"),w(ynt,"hasTokenLabel"),knt="parent",Tnt="categories",Ent="label",_nt="group",Cnt="push_mode",Snt="pop_mode",Ant="longer_alt",Lnt="line_breaks",Nnt="start_chars_hint",w(vnt,"createToken"),w(xnt,"createTokenInternal"),Krt([Int=vnt({name:"EOF",pattern:dnt.NA})]),w(bnt,"createTokenInstance"),w(wnt,"tokenMatcher")})),Pnt=k((()=>{Ont(),o1(),Ret(),Mnt={buildMismatchTokenMessage:({expected:t,actual:e,previous:r,ruleName:n})=>`Expecting ${ynt(t)?`--\x3e ${mnt(t)} <--`:`token of type --\x3e ${t.name} <--`} but found --\x3e '${e.image}' <--`,buildNotAllInputParsedMessage:({firstRedundant:t,ruleName:e})=>"Redundant input, expecting EOF but found: "+t.image,buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){let a="Expecting: ",o="\nbut found: '"+wZ(e).image+"'";if(n)return a+n+o;{let e=f0(t,((t,e)=>t.concat(e)),[]),r=AZ(e,(t=>`[${AZ(t,(t=>mnt(t))).join(", ")}]`));return a+`one of these possible Token sequences:\n${AZ(r,((t,e)=>` ${e+1}. ${t}`)).join("\n")}`+o}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){let i="Expecting: ",a="\nbut found: '"+wZ(e).image+"'";return r?i+r+a:i+`expecting at least one iteration which starts with one of these possible Token sequences::\n <${AZ(t,(t=>`[${AZ(t,(t=>mnt(t))).join(",")}]`)).join(" ,")}>`+a}},Object.freeze(Mnt),Rnt={buildRuleNotFoundError:(t,e)=>"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+"<-\ninside top level rule: ->"+t.name+"<-"},Dnt={buildDuplicateFoundError(t,e){function r(t){return t instanceof Tet?t.terminalType.name:t instanceof fet?t.nonTerminalName:""}w(r,"getExtraProductionArgument");let n=t.name,i=wZ(e),a=i.idx,o=Iet(i),s=r(i),l=`->${o}${a>0?a:""}<- ${s?`with argument: ->${s}<-`:""}\n appears more than once (${e.length} times) in the top level rule: ->${n}<-. \n For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES \n `;return l=l.replace(/[ \t]+/g," "),l=l.replace(/\s\s+/g,"\n"),l},buildNamespaceConflictError:t=>`Namespace conflict found in grammar.\nThe grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.\nTo resolve this make sure each Terminal and Non-Terminal names are unique\nThis is easy to accomplish by using the convention that Terminal names start with an uppercase letter\nand Non-Terminal names start with a lower case letter.`,buildAlternationPrefixAmbiguityError(t){let e=AZ(t.prefixPath,(t=>mnt(t))).join(", "),r=0===t.alternation.idx?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix\nin inside <${t.topLevelRule.name}> Rule,\n<${e}> may appears as a prefix path in all these alternatives.\nSee: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX\nFor Further details.`},buildAlternationAmbiguityError(t){let e=AZ(t.prefixPath,(t=>mnt(t))).join(", "),r=0===t.alternation.idx?"":t.alternation.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in inside <${t.topLevelRule.name}> Rule,\n<${e}> may appears as a prefix path in all these alternatives.\n`;return n+="See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES\nFor Further details.",n},buildEmptyRepetitionError(t){let e=Iet(t.repetition);return 0!==t.repetition.idx&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.\nThis could lead to an infinite loop.`},buildTokenNameError:t=>"deprecated",buildEmptyAlternationError:t=>`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in inside <${t.topLevelRule.name}> Rule.\nOnly the last alternative may be an empty alternative.`,buildTooManyAlternativesError:t=>`An Alternation cannot have more than 256 alternatives:\n inside <${t.topLevelRule.name}> Rule.\n has ${t.alternation.definition.length+1} alternatives.`,buildLeftRecursionError(t){let e=t.topLevelRule.name;return`Left Recursion found in grammar.\nrule: <${e}> can be invoked from itself (directly or indirectly)\nwithout consuming any Tokens. The grammar path that causes this is: \n ${e} --\x3e ${AZ(t.leftRecursionPath,(t=>t.name)).concat([e]).join(" --\x3e ")}\n To fix this refactor your grammar to remove the left recursion.\nsee: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError:t=>"deprecated",buildDuplicateRuleNameError(t){let e;return e=t.topLevelRule instanceof get?t.topLevelRule.name:t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}}}));function Bnt(t,e){let r=new Fnt(t,e);return r.resolveRefs(),r.errors}var Fnt,$nt=k((()=>{iot(),o1(),Ret(),w(Bnt,"resolveGrammar"),Fnt=class extends Eet{static{w(this,"GastRefResolverVisitor")}constructor(t,e){super(),this.nameToTopRule=t,this.errMsgProvider=e,this.errors=[]}resolveRefs(){HK(cQ(this.nameToTopRule),(t=>{this.currTopLevel=t,t.accept(this)}))}visitNonTerminal(t){let e=this.nameToTopRule[t.nonTerminalName];if(e)t.referencedRule=e;else{let e=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,t);this.errors.push({message:e,type:eot.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:t.nonTerminalName})}}}}));function znt(t,e,r=[]){r=qW(r);let n=[],i=0;function a(e){return e.concat(BK(t,i+1))}function o(t){let i=znt(a(t),e,r);return n.concat(i)}for(w(a,"remainingPathWith"),w(o,"getAlternativesForProd");r.length{!1===EQ(t.definition)&&(n=o(t.definition))})),n;if(!(e instanceof Tet))throw Error("non exhaustive match");r.push(e.terminalType)}}i++}return n.push({partialPath:r,suffixDef:BK(t,i)}),n}function Unt(t,e,r,n){let i="EXIT_NONE_TERMINAL",a=[i],o="EXIT_ALTERNATIVE",s=!1,l=e.length,c=l-n-1,h=[],u=[];for(u.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!EQ(u);){let t=u.pop();if(t===o){s&&DK(u).idx<=c&&u.pop();continue}let n=t.def,d=t.idx,p=t.ruleStack,f=t.occurrenceStack;if(EQ(n))continue;let g=n[0];if(g===i){let t={idx:d,def:BK(n),ruleStack:zK(p),occurrenceStack:zK(f)};u.push(t)}else if(g instanceof Tet)if(d=0;t--){let e={idx:d,def:g.definition[t].definition.concat(BK(n)),ruleStack:p,occurrenceStack:f};u.push(e),u.push(o)}else if(g instanceof met)u.push({idx:d,def:g.definition.concat(BK(n)),ruleStack:p,occurrenceStack:f});else{if(!(g instanceof get))throw Error("non exhaustive match");u.push(Gnt(g,d,p,f))}}return h}function Gnt(t,e,r,n){let i=qW(r);i.push(t.name);let a=qW(n);return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}var qnt,Ynt,jnt,Hnt,Wnt,Vnt,Xnt,Knt=k((()=>{o1(),Get(),Pet(),Ret(),qnt=class extends Oet{static{w(this,"AbstractNextPossibleTokensWalker")}constructor(t,e){super(),this.topProd=t,this.path=e,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=qW(this.path.ruleStack).reverse(),this.occurrenceStack=qW(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(t,e=[]){this.found||super.walk(t,e)}walkProdRef(t,e,r){if(t.referencedRule.name===this.nextProductionName&&t.idx===this.nextProductionOccurrence){let n=e.concat(r);this.updateExpectedNext(),this.walk(t.referencedRule,n)}}updateExpectedNext(){EQ(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},Ynt=class extends qnt{static{w(this,"NextAfterTokenWalker")}constructor(t,e){super(t,e),this.path=e,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(t,e,r){if(this.isAtEndOfPath&&t.terminalType.name===this.nextTerminalName&&t.idx===this.nextTerminalOccurrence&&!this.found){let t=e.concat(r),n=new met({definition:t});this.possibleTokTypes=Bet(n),this.found=!0}}},jnt=class extends Oet{static{w(this,"AbstractNextTerminalAfterProductionWalker")}constructor(t,e){super(),this.topRule=t,this.occurrence=e,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},Hnt=class extends jnt{static{w(this,"NextTerminalAfterManyWalker")}walkMany(t,e,r){if(t.idx===this.occurrence){let t=wZ(e.concat(r));this.result.isEndOfRule=void 0===t,t instanceof Tet&&(this.result.token=t.terminalType,this.result.occurrence=t.idx)}else super.walkMany(t,e,r)}},Wnt=class extends jnt{static{w(this,"NextTerminalAfterManySepWalker")}walkManySep(t,e,r){if(t.idx===this.occurrence){let t=wZ(e.concat(r));this.result.isEndOfRule=void 0===t,t instanceof Tet&&(this.result.token=t.terminalType,this.result.occurrence=t.idx)}else super.walkManySep(t,e,r)}},Vnt=class extends jnt{static{w(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(t,e,r){if(t.idx===this.occurrence){let t=wZ(e.concat(r));this.result.isEndOfRule=void 0===t,t instanceof Tet&&(this.result.token=t.terminalType,this.result.occurrence=t.idx)}else super.walkAtLeastOne(t,e,r)}},Xnt=class extends jnt{static{w(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(t,e,r){if(t.idx===this.occurrence){let t=wZ(e.concat(r));this.result.isEndOfRule=void 0===t,t instanceof Tet&&(this.result.token=t.terminalType,this.result.occurrence=t.idx)}else super.walkAtLeastOneSep(t,e,r)}},w(znt,"possiblePathsFrom"),w(Unt,"nextPossibleTokensAfter"),w(Gnt,"expandTopLevelRule")}));function Znt(t){if(t instanceof yet||"Option"===t)return dit.OPTION;if(t instanceof bet||"Repetition"===t)return dit.REPETITION;if(t instanceof vet||"RepetitionMandatory"===t)return dit.REPETITION_MANDATORY;if(t instanceof xet||"RepetitionMandatoryWithSeparator"===t)return dit.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof wet||"RepetitionWithSeparator"===t)return dit.REPETITION_WITH_SEPARATOR;if(t instanceof ket||"Alternation"===t)return dit.ALTERNATION;throw Error("non exhaustive match")}function Qnt(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=Znt(n);return a===dit.ALTERNATION?sit(e,r,i):lit(e,r,a,i)}function Jnt(t,e,r,n,i,a){let o=sit(t,e,r);return a(o,n,uit(o)?Xrt:Vrt,i)}function tit(t,e,r,n,i,a){let o=lit(t,e,i,r),s=uit(o)?Xrt:Vrt;return a(o[0],s,n)}function eit(t,e,r,n){let i=t.length,a=rZ(t,(t=>rZ(t,(t=>1===t.length))));if(e)return function(e){let n=AZ(e,(t=>t.GATE));for(let e=0;euj(t))),r=f0(e,((t,e,r)=>(HK(e,(e=>{JZ(t,e.tokenTypeIdx)||(t[e.tokenTypeIdx]=r),HK(e.categoryMatches,(e=>{JZ(t,e)||(t[e]=r)}))})),t)),{});return function(){let t=this.LA(1);return r[t.tokenTypeIdx]}}return function(){for(let e=0;e1===t.length)),i=t.length;if(n&&!r){let e=uj(t);if(1===e.length&&EQ(e[0].categoryMatches)){let t=e[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===t}}{let t=f0(e,((t,e,r)=>(t[e.tokenTypeIdx]=!0,HK(e.categoryMatches,(e=>{t[e]=!0})),t)),[]);return function(){let e=this.LA(1);return!0===t[e.tokenTypeIdx]}}}return function(){t:for(let r=0;rznt([t],1))),n=nit(r.length),i=AZ(r,(t=>{let e={};return HK(t,(t=>{let r=iit(t.partialPath);HK(r,(t=>{e[t]=!0}))})),e})),a=r;for(let t=1;t<=e;t++){let r=a;a=nit(r.length);for(let o=0;o{let e=iit(t.partialPath);HK(e,(t=>{i[o][t]=!0}))}))}}}}return n}function sit(t,e,r,n){let i=new fit(t,dit.ALTERNATION,n);return e.accept(i),oit(i.result,r)}function lit(t,e,r,n){let i=new fit(t,r);e.accept(i);let a=i.result,o=new pit(e,t,r).startWalking();return oit([new met({definition:a}),new met({definition:o})],n)}function cit(t,e){t:for(let r=0;r{let n=e[r];return t===n||n.categoryMatchesMap[t.tokenTypeIdx]}))}function uit(t){return rZ(t,(t=>rZ(t,(t=>rZ(t,(t=>EQ(t.categoryMatches)))))))}var dit,pit,fit,git=k((()=>{var t;o1(),Knt(),Pet(),pnt(),Ret(),(t=dit||(dit={}))[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION",w(Znt,"getProdType"),w(Qnt,"getLookaheadPaths"),w(Jnt,"buildLookaheadFuncForOr"),w(tit,"buildLookaheadFuncForOptionalProd"),w(eit,"buildAlternativesLookAheadFunc"),w(rit,"buildSingleAlternativeLookaheadFunction"),pit=class extends Oet{static{w(this,"RestDefinitionFinderWalker")}constructor(t,e,r){super(),this.topProd=t,this.targetOccurrence=e,this.targetProdType=r}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(t,e,r,n){return t.idx===this.targetOccurrence&&this.targetProdType===e&&(this.restDef=r.concat(n),!0)}walkOption(t,e,r){this.checkIsTarget(t,dit.OPTION,e,r)||super.walkOption(t,e,r)}walkAtLeastOne(t,e,r){this.checkIsTarget(t,dit.REPETITION_MANDATORY,e,r)||super.walkOption(t,e,r)}walkAtLeastOneSep(t,e,r){this.checkIsTarget(t,dit.REPETITION_MANDATORY_WITH_SEPARATOR,e,r)||super.walkOption(t,e,r)}walkMany(t,e,r){this.checkIsTarget(t,dit.REPETITION,e,r)||super.walkOption(t,e,r)}walkManySep(t,e,r){this.checkIsTarget(t,dit.REPETITION_WITH_SEPARATOR,e,r)||super.walkOption(t,e,r)}},fit=class extends Eet{static{w(this,"InsideDefinitionFinderVisitor")}constructor(t,e,r){super(),this.targetOccurrence=t,this.targetProdType=e,this.targetRef=r,this.result=[]}checkIsTarget(t,e){t.idx===this.targetOccurrence&&this.targetProdType===e&&(void 0===this.targetRef||t===this.targetRef)&&(this.result=t.definition)}visitOption(t){this.checkIsTarget(t,dit.OPTION)}visitRepetition(t){this.checkIsTarget(t,dit.REPETITION)}visitRepetitionMandatory(t){this.checkIsTarget(t,dit.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(t){this.checkIsTarget(t,dit.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(t){this.checkIsTarget(t,dit.REPETITION_WITH_SEPARATOR)}visitAlternation(t){this.checkIsTarget(t,dit.ALTERNATION)}},w(nit,"initializeArrayOfArrays"),w(iit,"pathToHashKeys"),w(ait,"isUniquePrefixHash"),w(oit,"lookAheadSequenceFromAlternatives"),w(sit,"getLookaheadPathsForOr"),w(lit,"getLookaheadPathsForOptionalProd"),w(cit,"containsPath"),w(hit,"isStrictPrefixOfPath"),w(uit,"areTokenCategoriesNotUsed")}));function mit(t){let e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return AZ(e,(t=>Object.assign({type:eot.CUSTOM_LOOKAHEAD_VALIDATION},t)))}function yit(t,e,r,n){let i=IZ(t,(t=>vit(t,r))),a=Iit(t,e,r),o=IZ(t,(t=>Sit(t,r))),s=IZ(t,(e=>wit(e,t,n,r)));return i.concat(a,o,s)}function vit(t,e){let r=new Mit;t.accept(r);let n=r.allProductions,i=UZ(n,xit),a=dJ(i,(t=>t.length>1));return AZ(cQ(a),(r=>{let n=wZ(r),i=e.buildDuplicateFoundError(t,r),a=Iet(n),o={message:i,type:eot.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:a,occurrence:n.idx},s=bit(n);return s&&(o.parameter=s),o}))}function xit(t){return`${Iet(t)}_#_${t.idx}_#_${bit(t)}`}function bit(t){return t instanceof Tet?t.terminalType.name:t instanceof fet?t.nonTerminalName:""}function wit(t,e,r,n){let i=[];if(f0(e,((e,r)=>r.name===t.name?e+1:e),0)>1){let e=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:e,type:eot.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function kit(t,e,r){let n,i=[];return pQ(e,t)||(n=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,i.push({message:n,type:eot.INVALID_RULE_OVERRIDE,ruleName:t})),i}function Tit(t,e,r,n=[]){let i=[],a=Eit(e.definition);if(EQ(a))return[];{let e=t.name;pQ(a,t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:eot.LEFT_RECURSION,ruleName:e});let o=NK(a,n.concat([t])),s=IZ(o,(e=>{let i=qW(n);return i.push(e),Tit(t,e,r,i)}));return i.concat(s)}}function Eit(t){let e=[];if(EQ(t))return e;let r=wZ(t);if(r instanceof fet)e.push(r.referencedRule);else if(r instanceof met||r instanceof yet||r instanceof vet||r instanceof xet||r instanceof wet||r instanceof bet)e=e.concat(Eit(r.definition));else if(r instanceof ket)e=uj(AZ(r.definition,(t=>Eit(t.definition))));else if(!(r instanceof Tet))throw Error("non exhaustive match");let n=Let(r),i=t.length>1;if(n&&i){let r=BK(t);return e.concat(Eit(r))}return e}function _it(t,e){let r=new Rit;t.accept(r);let n=r.alternations;return IZ(n,(r=>{let n=zK(r.definition);return IZ(n,((n,i)=>{let a=Unt([n],[],Vrt,1);return EQ(a)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:r,emptyChoiceIdx:i}),type:eot.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:r.idx,alternative:i+1}]:[]}))}))}function Cit(t,e,r){let n=new Rit;t.accept(n);let i=n.alternations;return i=y0(i,(t=>!0===t.ignoreAmbiguities)),IZ(i,(n=>{let i=n.idx,a=n.maxLookahead||e,o=sit(i,t,a,n),s=Lit(o,n,t,r),l=Nit(o,n,t,r);return s.concat(l)}))}function Sit(t,e){let r=new Rit;t.accept(r);let n=r.alternations;return IZ(n,(r=>r.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:r}),type:eot.TOO_MANY_ALTS,ruleName:t.name,occurrence:r.idx}]:[]))}function Ait(t,e,r){let n=[];return HK(t,(t=>{let i=new Dit;t.accept(i);let a=i.allProductions;HK(a,(i=>{let a=Znt(i),o=i.maxLookahead||e,s=lit(i.idx,t,a,o)[0];if(EQ(uj(s))){let e=r.buildEmptyRepetitionError({topLevelRule:t,repetition:i});n.push({message:e,type:eot.NO_NON_EMPTY_LOOKAHEAD,ruleName:t.name})}}))})),n}function Lit(t,e,r,n){let i=[],a=f0(t,((r,n,a)=>(!0===e.definition[a].ignoreAmbiguities||HK(n,(n=>{let o=[a];HK(t,((t,r)=>{a!==r&&cit(t,n)&&!0!==e.definition[r].ignoreAmbiguities&&o.push(r)})),o.length>1&&!cit(i,n)&&(i.push(n),r.push({alts:o,path:n}))})),r)),[]);return AZ(a,(t=>{let i=AZ(t.alts,(t=>t+1));return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:i,prefixPath:t.path}),type:eot.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:t.alts}}))}function Nit(t,e,r,n){let i=f0(t,((t,e,r)=>{let n=AZ(e,(t=>({idx:r,path:t})));return t.concat(n)}),[]);return ZW(IZ(i,(t=>{if(!0===e.definition[t.idx].ignoreAmbiguities)return[];let a=t.idx,o=t.path,s=lZ(i,(t=>!0!==e.definition[t.idx].ignoreAmbiguities&&t.idx{let i=[t.idx+1,a+1],o=0===e.idx?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:i,prefixPath:t.path}),type:eot.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:o,alternatives:i}}))})))}function Iit(t,e,r){let n=[],i=AZ(e,(t=>t.name));return HK(t,(t=>{let e=t.name;if(pQ(i,e)){let i=r.buildNamespaceConflictError(t);n.push({message:i,type:eot.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:e})}})),n}var Mit,Rit,Dit,Oit=k((()=>{o1(),iot(),Ret(),git(),Knt(),pnt(),w(mit,"validateLookahead"),w(yit,"validateGrammar"),w(vit,"validateDuplicateProductions"),w(xit,"identifyProductionForDuplicates"),w(bit,"getExtraProductionArgument"),Mit=class extends Eet{static{w(this,"OccurrenceValidationCollector")}constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(t){this.allProductions.push(t)}visitOption(t){this.allProductions.push(t)}visitRepetitionWithSeparator(t){this.allProductions.push(t)}visitRepetitionMandatory(t){this.allProductions.push(t)}visitRepetitionMandatoryWithSeparator(t){this.allProductions.push(t)}visitRepetition(t){this.allProductions.push(t)}visitAlternation(t){this.allProductions.push(t)}visitTerminal(t){this.allProductions.push(t)}},w(wit,"validateRuleDoesNotAlreadyExist"),w(kit,"validateRuleIsOverridden"),w(Tit,"validateNoLeftRecursion"),w(Eit,"getFirstNoneTerminal"),Rit=class extends Eet{static{w(this,"OrCollector")}constructor(){super(...arguments),this.alternations=[]}visitAlternation(t){this.alternations.push(t)}},w(_it,"validateEmptyOrAlternative"),w(Cit,"validateAmbiguousAlternationAlternatives"),Dit=class extends Eet{static{w(this,"RepetitionCollector")}constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(t){this.allProductions.push(t)}visitRepetitionMandatory(t){this.allProductions.push(t)}visitRepetitionMandatoryWithSeparator(t){this.allProductions.push(t)}visitRepetition(t){this.allProductions.push(t)}},w(Sit,"validateTooManyAlts"),w(Ait,"validateSomeNonEmptyLookaheadPath"),w(Lit,"checkAlternativesAmbiguities"),w(Nit,"checkPrefixAlternativesAmbiguities"),w(Iit,"checkTerminalAndNoneTerminalsNameSpace")}));function Pit(t){let e=xK(t,{errMsgProvider:Rnt}),r={};return HK(t.rules,(t=>{r[t.name]=t})),Bnt(r,e.errMsgProvider)}function Bit(t){return yit((t=xK(t,{errMsgProvider:Dnt})).rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}var Fit=k((()=>{o1(),$nt(),Oit(),Pnt(),w(Pit,"resolveGrammar"),w(Bit,"validateGrammar")}));function $it(t){return pQ(zit,t.name)}var zit,Uit,Git,qit,Yit,jit,Hit=k((()=>{o1(),zit=["MismatchedTokenException","NoViableAltException","EarlyExitException","NotAllInputParsedException"],Object.freeze(zit),w($it,"isRecognitionException"),Uit=class extends Error{static{w(this,"RecognitionException")}constructor(t,e){super(t),this.token=e,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},Git=class extends Uit{static{w(this,"MismatchedTokenException")}constructor(t,e,r){super(t,e),this.previousToken=r,this.name="MismatchedTokenException"}},qit=class extends Uit{static{w(this,"NoViableAltException")}constructor(t,e,r){super(t,e),this.previousToken=r,this.name="NoViableAltException"}},Yit=class extends Uit{static{w(this,"NotAllInputParsedException")}constructor(t,e){super(t,e),this.name="NotAllInputParsedException"}},jit=class extends Uit{static{w(this,"EarlyExitException")}constructor(t,e,r){super(t,e),this.previousToken=r,this.name="EarlyExitException"}}}));function Wit(t,e,r,n,i,a,o){let s=this.getKeyForAutomaticLookahead(n,i),l=this.firstAfterRepMap[s];if(void 0===l){let t=this.getCurrRuleFullName();l=new a(this.getGAstProductions()[t],i).startWalking(),this.firstAfterRepMap[s]=l}let c=l.token,h=l.occurrence,u=l.isEndOfRule;1===this.RULE_STACK.length&&u&&void 0===c&&(c=Int,h=1),void 0!==c&&void 0!==h&&this.shouldInRepetitionRecoveryBeTried(c,h,o)&&this.tryInRepetitionRecovery(t,e,r,c)}var Vit,Xit,Kit,Zit,Qit=k((()=>{Ont(),o1(),Hit(),qet(),iot(),Vit={},Xit="InRuleRecoveryException",Kit=class extends Error{static{w(this,"InRuleRecoveryException")}constructor(t){super(t),this.name=Xit}},Zit=class{static{w(this,"Recoverable")}initRecoverable(t){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=JZ(t,"recoveryEnabled")?t.recoveryEnabled:Jat.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=Wit)}getTokenToInsert(t){let e=bnt(t,"",NaN,NaN,NaN,NaN,NaN,NaN);return e.isInsertedInRecovery=!0,e}canTokenTypeBeInsertedInRecovery(t){return!0}canTokenTypeBeDeletedInRecovery(t){return!0}tryInRepetitionRecovery(t,e,r,n){let i=this.findReSyncTokenType(),a=this.exportLexerState(),o=[],s=!1,l=this.LA(1),c=this.LA(1),h=w((()=>{let t=this.LA(0),e=this.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:l,previous:t,ruleName:this.getCurrRuleFullName()}),r=new Git(e,l,this.LA(0));r.resyncedTokens=zK(o),this.SAVE_ERROR(r)}),"generateErrorMessage");for(;!s;){if(this.tokenMatcher(c,n))return void h();if(r.call(this))return h(),void t.apply(this,e);this.tokenMatcher(c,i)?s=!0:(c=this.SKIP_TOKEN(),this.addToResyncTokens(c,o))}this.importLexerState(a)}shouldInRepetitionRecoveryBeTried(t,e,r){return!(!1===r||this.tokenMatcher(this.LA(1),t)||this.isBackTracking()||this.canPerformInRuleRecovery(t,this.getFollowsForInRuleRecovery(t,e)))}getFollowsForInRuleRecovery(t,e){let r=this.getCurrentGrammarPath(t,e);return this.getNextPossibleTokenTypes(r)}tryInRuleRecovery(t,e){if(this.canRecoverWithSingleTokenInsertion(t,e))return this.getTokenToInsert(t);if(this.canRecoverWithSingleTokenDeletion(t)){let t=this.SKIP_TOKEN();return this.consumeToken(),t}throw new Kit("sad sad panda")}canPerformInRuleRecovery(t,e){return this.canRecoverWithSingleTokenInsertion(t,e)||this.canRecoverWithSingleTokenDeletion(t)}canRecoverWithSingleTokenInsertion(t,e){if(!this.canTokenTypeBeInsertedInRecovery(t)||EQ(e))return!1;let r=this.LA(1);return void 0!==yZ(e,(t=>this.tokenMatcher(r,t)))}canRecoverWithSingleTokenDeletion(t){return!!this.canTokenTypeBeDeletedInRecovery(t)&&this.tokenMatcher(this.LA(2),t)}isInCurrentRuleReSyncSet(t){let e=this.getCurrFollowKey(),r=this.getFollowSetFromFollowKey(e);return pQ(r,t)}findReSyncTokenType(){let t=this.flattenFollowSet(),e=this.LA(1),r=2;for(;;){let n=yZ(t,(t=>wnt(e,t)));if(void 0!==n)return n;e=this.LA(r),r++}}getCurrFollowKey(){if(1===this.RULE_STACK.length)return Vit;let t=this.getLastExplicitRuleShortName(),e=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(t),idxInCallingRule:e,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){let t=this.RULE_STACK,e=this.RULE_OCCURRENCE_STACK;return AZ(t,((r,n)=>0===n?Vit:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:e[n],inRule:this.shortRuleNameToFullName(t[n-1])}))}flattenFollowSet(){let t=AZ(this.buildFullFollowKeyStack(),(t=>this.getFollowSetFromFollowKey(t)));return uj(t)}getFollowSetFromFollowKey(t){if(t===Vit)return[Int];let e=t.ruleName+t.idxInCallingRule+Uet+t.inRule;return this.resyncFollows[e]}addToResyncTokens(t,e){return this.tokenMatcher(t,Int)||e.push(t),e}reSyncTo(t){let e=[],r=this.LA(1);for(;!1===this.tokenMatcher(r,t);)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,e);return zK(e)}attemptInRepetitionRecovery(t,e,r,n,i,a,o){}getCurrentGrammarPath(t,e){return{ruleStack:this.getHumanReadableRuleStack(),occurrenceStack:qW(this.RULE_OCCURRENCE_STACK),lastTok:t,lastTokOccurrence:e}}getHumanReadableRuleStack(){return AZ(this.RULE_STACK,(t=>this.shortRuleNameToFullName(t)))}},w(Wit,"attemptInRepetitionRecovery")}));function Jit(t,e,r){return r|e|t}var tat,eat=k((()=>{w(Jit,"getKeyForAutomaticLookahead")})),rat=k((()=>{o1(),Pnt(),iot(),Oit(),git(),tat=class{static{w(this,"LLkLookaheadStrategy")}constructor(t){var e;this.maxLookahead=null!==(e=t?.maxLookahead)&&void 0!==e?e:Jat.maxLookahead}validate(t){let e=this.validateNoLeftRecursion(t.rules);if(EQ(e)){let r=this.validateEmptyOrAlternatives(t.rules),n=this.validateAmbiguousAlternationAlternatives(t.rules,this.maxLookahead),i=this.validateSomeNonEmptyLookaheadPath(t.rules,this.maxLookahead);return[...e,...r,...n,...i]}return e}validateNoLeftRecursion(t){return IZ(t,(t=>Tit(t,t,Dnt)))}validateEmptyOrAlternatives(t){return IZ(t,(t=>_it(t,Dnt)))}validateAmbiguousAlternationAlternatives(t,e){return IZ(t,(t=>Cit(t,e,Dnt)))}validateSomeNonEmptyLookaheadPath(t,e){return Ait(t,e,Dnt)}buildLookaheadForAlternation(t){return Jnt(t.prodOccurrence,t.rule,t.maxLookahead,t.hasPredicates,t.dynamicTokensEnabled,eit)}buildLookaheadForOptional(t){return tit(t.prodOccurrence,t.rule,t.maxLookahead,t.dynamicTokensEnabled,Znt(t.prodType),rit)}}}));function nat(t){oat.reset(),t.accept(oat);let e=oat.dslMethods;return oat.reset(),e}var iat,aat,oat,sat=k((()=>{o1(),iot(),eat(),Ret(),rat(),iat=class{static{w(this,"LooksAhead")}initLooksAhead(t){this.dynamicTokensEnabled=JZ(t,"dynamicTokensEnabled")?t.dynamicTokensEnabled:Jat.dynamicTokensEnabled,this.maxLookahead=JZ(t,"maxLookahead")?t.maxLookahead:Jat.maxLookahead,this.lookaheadStrategy=JZ(t,"lookaheadStrategy")?t.lookaheadStrategy:new tat({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(t){HK(t,(t=>{this.TRACE_INIT(`${t.name} Rule Lookahead`,(()=>{let{alternation:e,repetition:r,option:n,repetitionMandatory:i,repetitionMandatoryWithSeparator:a,repetitionWithSeparator:o}=nat(t);HK(e,(e=>{let r=0===e.idx?"":e.idx;this.TRACE_INIT(`${Iet(e)}${r}`,(()=>{let r=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:e.idx,rule:t,maxLookahead:e.maxLookahead||this.maxLookahead,hasPredicates:e.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),n=Jit(this.fullRuleNameToShort[t.name],256,e.idx);this.setLaFuncCache(n,r)}))})),HK(r,(e=>{this.computeLookaheadFunc(t,e.idx,768,"Repetition",e.maxLookahead,Iet(e))})),HK(n,(e=>{this.computeLookaheadFunc(t,e.idx,512,"Option",e.maxLookahead,Iet(e))})),HK(i,(e=>{this.computeLookaheadFunc(t,e.idx,1024,"RepetitionMandatory",e.maxLookahead,Iet(e))})),HK(a,(e=>{this.computeLookaheadFunc(t,e.idx,1536,"RepetitionMandatoryWithSeparator",e.maxLookahead,Iet(e))})),HK(o,(e=>{this.computeLookaheadFunc(t,e.idx,1280,"RepetitionWithSeparator",e.maxLookahead,Iet(e))}))}))}))}computeLookaheadFunc(t,e,r,n,i,a){this.TRACE_INIT(`${a}${0===e?"":e}`,(()=>{let a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:e,rule:t,maxLookahead:i||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:n}),o=Jit(this.fullRuleNameToShort[t.name],r,e);this.setLaFuncCache(o,a)}))}getKeyForAutomaticLookahead(t,e){return Jit(this.getLastExplicitRuleShortName(),t,e)}getLaFuncFromCache(t){return this.lookAheadFuncsCache.get(t)}setLaFuncCache(t,e){this.lookAheadFuncsCache.set(t,e)}},aat=class extends Eet{static{w(this,"DslMethodsCollectorVisitor")}constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(t){this.dslMethods.option.push(t)}visitRepetitionWithSeparator(t){this.dslMethods.repetitionWithSeparator.push(t)}visitRepetitionMandatory(t){this.dslMethods.repetitionMandatory.push(t)}visitRepetitionMandatoryWithSeparator(t){this.dslMethods.repetitionMandatoryWithSeparator.push(t)}visitRepetition(t){this.dslMethods.repetition.push(t)}visitAlternation(t){this.dslMethods.alternation.push(t)}},oat=new aat,w(nat,"collectMethods")}));function lat(t,e){!0===isNaN(t.startOffset)?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset{w(lat,"setNodeLocationOnlyOffset"),w(cat,"setNodeLocationFull"),w(hat,"addTerminalToCst"),w(uat,"addNoneTerminalToCst")}));function pat(t,e){Object.defineProperty(t,fat,{enumerable:!1,configurable:!0,writable:!1,value:e})}var fat,gat=k((()=>{fat="name",w(pat,"defineNameProp")}));function mat(t,e){let r=yY(t),n=r.length;for(let i=0;it.msg));throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:\n\t${e.join("\n\n").replace(/\n/g,"\n\t")}`)}}),"validateVisitor")};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function vat(t,e,r){let n=w((function(){}),"derivedConstructor");pat(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return HK(e,(t=>{i[t]=mat})),n.prototype=i,n.prototype.constructor=n,n}function xat(t,e){return bat(t,e)}function bat(t,e){let r=lZ(e,(e=>!1===_S(t[e]))),n=AZ(r,(e=>({msg:`Missing visitor method: <${e}> on ${t.constructor.name} CST Visitor.`,type:wat.MISSING_METHOD,methodName:e})));return ZW(n)}var wat,kat,Tat,Eat,_at,Cat,Sat,Aat=k((()=>{var t;o1(),gat(),w(mat,"defaultVisit"),w(yat,"createBaseSemanticVisitorConstructor"),w(vat,"createBaseVisitorConstructorWithDefaults"),(t=wat||(wat={}))[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD",w(xat,"validateVisitor"),w(bat,"validateMissingCstMethods")})),Lat=k((()=>{dat(),o1(),Aat(),iot(),kat=class{static{w(this,"TreeBuilder")}initTreeBuilder(t){if(this.CST_STACK=[],this.outputCst=t.outputCst,this.nodeLocationTracking=JZ(t,"nodeLocationTracking")?t.nodeLocationTracking:Jat.nodeLocationTracking,this.outputCst)if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=cat,this.setNodeLocationFromNode=cat,this.cstPostRule=Gq,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=Gq,this.setNodeLocationFromNode=Gq,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=lat,this.setNodeLocationFromNode=lat,this.cstPostRule=Gq,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=Gq,this.setNodeLocationFromNode=Gq,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else{if(!/none/i.test(this.nodeLocationTracking))throw Error(`Invalid config option: "${t.nodeLocationTracking}"`);this.setNodeLocationFromToken=Gq,this.setNodeLocationFromNode=Gq,this.cstPostRule=Gq,this.setInitialNodeLocation=Gq}else this.cstInvocationStateUpdate=Gq,this.cstFinallyStateUpdate=Gq,this.cstPostTerminal=Gq,this.cstPostNonTerminal=Gq,this.cstPostRule=Gq}setInitialNodeLocationOnlyOffsetRecovery(t){t.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(t){t.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(t){t.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(t){let e=this.LA(1);t.location={startOffset:e.startOffset,startLine:e.startLine,startColumn:e.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(t){let e={name:t,children:Object.create(null)};this.setInitialNodeLocation(e),this.CST_STACK.push(e)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(t){let e=this.LA(0),r=t.location;r.startOffset<=e.startOffset?(r.endOffset=e.endOffset,r.endLine=e.endLine,r.endColumn=e.endColumn):(r.startOffset=NaN,r.startLine=NaN,r.startColumn=NaN)}cstPostRuleOnlyOffset(t){let e=this.LA(0),r=t.location;r.startOffset<=e.startOffset?r.endOffset=e.endOffset:r.startOffset=NaN}cstPostTerminal(t,e){let r=this.CST_STACK[this.CST_STACK.length-1];hat(r,e,t),this.setNodeLocationFromToken(r.location,e)}cstPostNonTerminal(t,e){let r=this.CST_STACK[this.CST_STACK.length-1];uat(r,e,t),this.setNodeLocationFromNode(r.location,t.location)}getBaseCstVisitorConstructor(){if(OQ(this.baseCstVisitorConstructor)){let t=yat(this.className,yY(this.gastProductionsCache));return this.baseCstVisitorConstructor=t,t}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(OQ(this.baseCstVisitorWithDefaultsConstructor)){let t=vat(this.className,yY(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=t,t}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let t=this.RULE_STACK;return t[t.length-1]}getPreviousExplicitRuleShortName(){let t=this.RULE_STACK;return t[t.length-2]}getLastExplicitRuleOccurrenceIndex(){let t=this.RULE_OCCURRENCE_STACK;return t[t.length-1]}}})),Nat=k((()=>{iot(),Tat=class{static{w(this,"LexerAdapter")}initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(t){if(!0!==this.selfAnalysisDone)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=t,this.tokVectorLength=t.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Qat}LA(t){let e=this.currIdx+t;return e<0||this.tokVectorLength<=e?Qat:this.tokVector[e]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(t){this.currIdx=t}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}})),Iat=k((()=>{o1(),Hit(),iot(),Pnt(),Oit(),Ret(),Eat=class{static{w(this,"RecognizerApi")}ACTION(t){return t.call(this)}consume(t,e,r){return this.consumeInternal(e,t,r)}subrule(t,e,r){return this.subruleInternal(e,t,r)}option(t,e){return this.optionInternal(e,t)}or(t,e){return this.orInternal(e,t)}many(t,e){return this.manyInternal(t,e)}atLeastOne(t,e){return this.atLeastOneInternal(t,e)}CONSUME(t,e){return this.consumeInternal(t,0,e)}CONSUME1(t,e){return this.consumeInternal(t,1,e)}CONSUME2(t,e){return this.consumeInternal(t,2,e)}CONSUME3(t,e){return this.consumeInternal(t,3,e)}CONSUME4(t,e){return this.consumeInternal(t,4,e)}CONSUME5(t,e){return this.consumeInternal(t,5,e)}CONSUME6(t,e){return this.consumeInternal(t,6,e)}CONSUME7(t,e){return this.consumeInternal(t,7,e)}CONSUME8(t,e){return this.consumeInternal(t,8,e)}CONSUME9(t,e){return this.consumeInternal(t,9,e)}SUBRULE(t,e){return this.subruleInternal(t,0,e)}SUBRULE1(t,e){return this.subruleInternal(t,1,e)}SUBRULE2(t,e){return this.subruleInternal(t,2,e)}SUBRULE3(t,e){return this.subruleInternal(t,3,e)}SUBRULE4(t,e){return this.subruleInternal(t,4,e)}SUBRULE5(t,e){return this.subruleInternal(t,5,e)}SUBRULE6(t,e){return this.subruleInternal(t,6,e)}SUBRULE7(t,e){return this.subruleInternal(t,7,e)}SUBRULE8(t,e){return this.subruleInternal(t,8,e)}SUBRULE9(t,e){return this.subruleInternal(t,9,e)}OPTION(t){return this.optionInternal(t,0)}OPTION1(t){return this.optionInternal(t,1)}OPTION2(t){return this.optionInternal(t,2)}OPTION3(t){return this.optionInternal(t,3)}OPTION4(t){return this.optionInternal(t,4)}OPTION5(t){return this.optionInternal(t,5)}OPTION6(t){return this.optionInternal(t,6)}OPTION7(t){return this.optionInternal(t,7)}OPTION8(t){return this.optionInternal(t,8)}OPTION9(t){return this.optionInternal(t,9)}OR(t){return this.orInternal(t,0)}OR1(t){return this.orInternal(t,1)}OR2(t){return this.orInternal(t,2)}OR3(t){return this.orInternal(t,3)}OR4(t){return this.orInternal(t,4)}OR5(t){return this.orInternal(t,5)}OR6(t){return this.orInternal(t,6)}OR7(t){return this.orInternal(t,7)}OR8(t){return this.orInternal(t,8)}OR9(t){return this.orInternal(t,9)}MANY(t){this.manyInternal(0,t)}MANY1(t){this.manyInternal(1,t)}MANY2(t){this.manyInternal(2,t)}MANY3(t){this.manyInternal(3,t)}MANY4(t){this.manyInternal(4,t)}MANY5(t){this.manyInternal(5,t)}MANY6(t){this.manyInternal(6,t)}MANY7(t){this.manyInternal(7,t)}MANY8(t){this.manyInternal(8,t)}MANY9(t){this.manyInternal(9,t)}MANY_SEP(t){this.manySepFirstInternal(0,t)}MANY_SEP1(t){this.manySepFirstInternal(1,t)}MANY_SEP2(t){this.manySepFirstInternal(2,t)}MANY_SEP3(t){this.manySepFirstInternal(3,t)}MANY_SEP4(t){this.manySepFirstInternal(4,t)}MANY_SEP5(t){this.manySepFirstInternal(5,t)}MANY_SEP6(t){this.manySepFirstInternal(6,t)}MANY_SEP7(t){this.manySepFirstInternal(7,t)}MANY_SEP8(t){this.manySepFirstInternal(8,t)}MANY_SEP9(t){this.manySepFirstInternal(9,t)}AT_LEAST_ONE(t){this.atLeastOneInternal(0,t)}AT_LEAST_ONE1(t){return this.atLeastOneInternal(1,t)}AT_LEAST_ONE2(t){this.atLeastOneInternal(2,t)}AT_LEAST_ONE3(t){this.atLeastOneInternal(3,t)}AT_LEAST_ONE4(t){this.atLeastOneInternal(4,t)}AT_LEAST_ONE5(t){this.atLeastOneInternal(5,t)}AT_LEAST_ONE6(t){this.atLeastOneInternal(6,t)}AT_LEAST_ONE7(t){this.atLeastOneInternal(7,t)}AT_LEAST_ONE8(t){this.atLeastOneInternal(8,t)}AT_LEAST_ONE9(t){this.atLeastOneInternal(9,t)}AT_LEAST_ONE_SEP(t){this.atLeastOneSepFirstInternal(0,t)}AT_LEAST_ONE_SEP1(t){this.atLeastOneSepFirstInternal(1,t)}AT_LEAST_ONE_SEP2(t){this.atLeastOneSepFirstInternal(2,t)}AT_LEAST_ONE_SEP3(t){this.atLeastOneSepFirstInternal(3,t)}AT_LEAST_ONE_SEP4(t){this.atLeastOneSepFirstInternal(4,t)}AT_LEAST_ONE_SEP5(t){this.atLeastOneSepFirstInternal(5,t)}AT_LEAST_ONE_SEP6(t){this.atLeastOneSepFirstInternal(6,t)}AT_LEAST_ONE_SEP7(t){this.atLeastOneSepFirstInternal(7,t)}AT_LEAST_ONE_SEP8(t){this.atLeastOneSepFirstInternal(8,t)}AT_LEAST_ONE_SEP9(t){this.atLeastOneSepFirstInternal(9,t)}RULE(t,e,r=tot){if(pQ(this.definedRulesNames,t)){let e={message:Dnt.buildDuplicateRuleNameError({topLevelRule:t,grammarName:this.className}),type:eot.DUPLICATE_RULE_NAME,ruleName:t};this.definitionErrors.push(e)}this.definedRulesNames.push(t);let n=this.defineRule(t,e,r);return this[t]=n,n}OVERRIDE_RULE(t,e,r=tot){let n=kit(t,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(n);let i=this.defineRule(t,e,r);return this[t]=i,i}BACKTRACK(t,e){return function(){this.isBackTrackingStack.push(1);let r=this.saveRecogState();try{return t.apply(this,e),!0}catch(t){if($it(t))return!1;throw t}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return uet(cQ(this.gastProductionsCache))}}})),Mat=k((()=>{o1(),eat(),Hit(),git(),Knt(),iot(),Qit(),Ont(),pnt(),_at=class{static{w(this,"RecognizerEngine")}initRecognizerEngine(t,e){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Xrt,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},JZ(e,"serializedGrammar"))throw Error("The Parser's configuration can no longer contain a property.\n\tSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0\n\tFor Further details.");if(oI(t)){if(EQ(t))throw Error("A Token Vocabulary cannot be empty.\n\tNote that the first argument for the parser constructor\n\tis no longer a Token vector (since v4.0).");if("number"==typeof t[0].startOffset)throw Error("The Parser constructor no longer accepts a token vector as the first argument.\n\tSee: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0\n\tFor Further details.")}if(oI(t))this.tokensMap=f0(t,((t,e)=>(t[e.name]=e,t)),{});else if(JZ(t,"modes")&&rZ(uj(cQ(t.modes)),ont)){let e=uj(cQ(t.modes)),r=j0(e);this.tokensMap=f0(r,((t,e)=>(t[e.name]=e,t)),{})}else{if(!vS(t))throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap=qW(t)}this.tokensMap.EOF=Int;let r=JZ(t,"modes")?uj(cQ(t.modes)):cQ(t),n=rZ(r,(t=>EQ(t.categoryMatches)));this.tokenMatcher=n?Xrt:Vrt,Krt(cQ(this.tokensMap))}defineRule(t,e,r){if(this.selfAnalysisDone)throw Error(`Grammar rule <${t}> may not be defined after the 'performSelfAnalysis' method has been called'\nMake sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let n,i=JZ(r,"resyncEnabled")?r.resyncEnabled:tot.resyncEnabled,a=JZ(r,"recoveryValueFunc")?r.recoveryValueFunc:tot.recoveryValueFunc,o=this.ruleShortNameIdx<<12;return this.ruleShortNameIdx++,this.shortRuleNameToFull[o]=t,this.fullRuleNameToShort[t]=o,n=!0===this.outputCst?w((function(...r){try{this.ruleInvocationStateUpdate(o,t,this.subruleIdx),e.apply(this,r);let n=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(n),n}catch(t){return this.invokeRuleCatch(t,i,a)}finally{this.ruleFinallyStateUpdate()}}),"invokeRuleWithTry"):w((function(...r){try{return this.ruleInvocationStateUpdate(o,t,this.subruleIdx),e.apply(this,r)}catch(t){return this.invokeRuleCatch(t,i,a)}finally{this.ruleFinallyStateUpdate()}}),"invokeRuleWithTryCst"),Object.assign(n,{ruleName:t,originalGrammarAction:e})}invokeRuleCatch(t,e,r){let n=1===this.RULE_STACK.length,i=e&&!this.isBackTracking()&&this.recoveryEnabled;if($it(t)){let e=t;if(i){let n=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(n)){if(e.resyncedTokens=this.reSyncTo(n),this.outputCst){let t=this.CST_STACK[this.CST_STACK.length-1];return t.recoveredNode=!0,t}return r(t)}if(this.outputCst){let t=this.CST_STACK[this.CST_STACK.length-1];t.recoveredNode=!0,e.partialCstResult=t}throw e}if(n)return this.moveToTerminatedState(),r(t);throw e}throw t}optionInternal(t,e){let r=this.getKeyForAutomaticLookahead(512,e);return this.optionInternalLogic(t,e,r)}optionInternalLogic(t,e,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof t){n=t.DEF;let e=t.GATE;if(void 0!==e){let t=i;i=w((()=>e.call(this)&&t.call(this)),"lookAheadFunc")}}else n=t;if(!0===i.call(this))return n.call(this)}atLeastOneInternal(t,e){let r=this.getKeyForAutomaticLookahead(1024,t);return this.atLeastOneInternalLogic(t,e,r)}atLeastOneInternalLogic(t,e,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof e){n=e.DEF;let t=e.GATE;if(void 0!==t){let e=i;i=w((()=>t.call(this)&&e.call(this)),"lookAheadFunc")}}else n=e;if(!0!==i.call(this))throw this.raiseEarlyExitException(t,dit.REPETITION_MANDATORY,e.ERR_MSG);{let t=this.doSingleRepetition(n);for(;!0===i.call(this)&&!0===t;)t=this.doSingleRepetition(n)}this.attemptInRepetitionRecovery(this.atLeastOneInternal,[t,e],i,1024,t,Vnt)}atLeastOneSepFirstInternal(t,e){let r=this.getKeyForAutomaticLookahead(1536,t);this.atLeastOneSepFirstInternalLogic(t,e,r)}atLeastOneSepFirstInternalLogic(t,e,r){let n=e.DEF,i=e.SEP;if(!0!==this.getLaFuncFromCache(r).call(this))throw this.raiseEarlyExitException(t,dit.REPETITION_MANDATORY_WITH_SEPARATOR,e.ERR_MSG);{n.call(this);let e=w((()=>this.tokenMatcher(this.LA(1),i)),"separatorLookAheadFunc");for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[t,i,e,n,Xnt],e,1536,t,Xnt)}}manyInternal(t,e){let r=this.getKeyForAutomaticLookahead(768,t);return this.manyInternalLogic(t,e,r)}manyInternalLogic(t,e,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof e){n=e.DEF;let t=e.GATE;if(void 0!==t){let e=i;i=w((()=>t.call(this)&&e.call(this)),"lookaheadFunction")}}else n=e;let a=!0;for(;!0===i.call(this)&&!0===a;)a=this.doSingleRepetition(n);this.attemptInRepetitionRecovery(this.manyInternal,[t,e],i,768,t,Hnt,a)}manySepFirstInternal(t,e){let r=this.getKeyForAutomaticLookahead(1280,t);this.manySepFirstInternalLogic(t,e,r)}manySepFirstInternalLogic(t,e,r){let n=e.DEF,i=e.SEP;if(!0===this.getLaFuncFromCache(r).call(this)){n.call(this);let e=w((()=>this.tokenMatcher(this.LA(1),i)),"separatorLookAheadFunc");for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[t,i,e,n,Wnt],e,1280,t,Wnt)}}repetitionSepSecondInternal(t,e,r,n,i){for(;r();)this.CONSUME(e),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[t,e,r,n,i],r,1536,t,i)}doSingleRepetition(t){let e=this.getLexerPosition();return t.call(this),this.getLexerPosition()>e}orInternal(t,e){let r=this.getKeyForAutomaticLookahead(256,e),n=oI(t)?t:t.DEF,i=this.getLaFuncFromCache(r).call(this,n);if(void 0!==i)return n[i].ALT.call(this);this.raiseNoAltException(e,t.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),0===this.RULE_STACK.length&&!1===this.isAtEndOfInput()){let t=this.LA(1),e=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:t,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new Yit(e,t))}}subruleInternal(t,e,r){let n;try{let i=void 0!==r?r.ARGS:void 0;return this.subruleIdx=e,n=t.apply(this,i),this.cstPostNonTerminal(n,void 0!==r&&void 0!==r.LABEL?r.LABEL:t.ruleName),n}catch(e){throw this.subruleInternalError(e,r,t.ruleName)}}subruleInternalError(t,e,r){throw $it(t)&&void 0!==t.partialCstResult&&(this.cstPostNonTerminal(t.partialCstResult,void 0!==e&&void 0!==e.LABEL?e.LABEL:r),delete t.partialCstResult),t}consumeInternal(t,e,r){let n;try{let e=this.LA(1);!0===this.tokenMatcher(e,t)?(this.consumeToken(),n=e):this.consumeInternalError(t,e,r)}catch(r){n=this.consumeInternalRecovery(t,e,r)}return this.cstPostTerminal(void 0!==r&&void 0!==r.LABEL?r.LABEL:t.name,n),n}consumeInternalError(t,e,r){let n,i=this.LA(0);throw n=void 0!==r&&r.ERR_MSG?r.ERR_MSG:this.errorMessageProvider.buildMismatchTokenMessage({expected:t,actual:e,previous:i,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Git(n,e,i))}consumeInternalRecovery(t,e,r){if(!this.recoveryEnabled||"MismatchedTokenException"!==r.name||this.isBackTracking())throw r;{let n=this.getFollowsForInRuleRecovery(t,e);try{return this.tryInRuleRecovery(t,n)}catch(t){throw t.name===Xit?r:t}}}saveRecogState(){let t=this.errors,e=qW(this.RULE_STACK);return{errors:t,lexerState:this.exportLexerState(),RULE_STACK:e,CST_STACK:this.CST_STACK}}reloadRecogState(t){this.errors=t.errors,this.importLexerState(t.lexerState),this.RULE_STACK=t.RULE_STACK}ruleInvocationStateUpdate(t,e,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(t),this.cstInvocationStateUpdate(e)}isBackTracking(){return 0!==this.isBackTrackingStack.length}getCurrRuleFullName(){let t=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[t]}shortRuleNameToFullName(t){return this.shortRuleNameToFull[t]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),Int)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}})),Rat=k((()=>{Hit(),o1(),git(),iot(),Cat=class{static{w(this,"ErrorHandler")}initErrorHandler(t){this._errors=[],this.errorMessageProvider=JZ(t,"errorMessageProvider")?t.errorMessageProvider:Jat.errorMessageProvider}SAVE_ERROR(t){if($it(t))return t.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:qW(this.RULE_OCCURRENCE_STACK)},this._errors.push(t),t;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return qW(this._errors)}set errors(t){this._errors=t}raiseEarlyExitException(t,e,r){let n=this.getCurrRuleFullName(),i=lit(t,this.getGAstProductions()[n],e,this.maxLookahead)[0],a=[];for(let t=1;t<=this.maxLookahead;t++)a.push(this.LA(t));let o=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:i,actual:a,previous:this.LA(0),customUserDescription:r,ruleName:n});throw this.SAVE_ERROR(new jit(o,this.LA(1),this.LA(0)))}raiseNoAltException(t,e){let r=this.getCurrRuleFullName(),n=sit(t,this.getGAstProductions()[r],this.maxLookahead),i=[];for(let t=1;t<=this.maxLookahead;t++)i.push(this.LA(t));let a=this.LA(0),o=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:n,actual:i,previous:a,customUserDescription:e,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new qit(o,this.LA(1),a))}}})),Dat=k((()=>{Knt(),o1(),Sat=class{static{w(this,"ContentAssist")}initContentAssist(){}computeContentAssist(t,e){let r=this.gastProductionsCache[t];if(OQ(r))throw Error(`Rule ->${t}<- does not exist in this grammar.`);return Unt([r],e,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(t){let e=wZ(t.ruleStack),r=this.getGAstProductions()[e];return new Ynt(r,t).startWalking()}}}));function Oat(t,e,r,n=!1){Fat(r);let i=DK(this.recordingProdStack),a=_S(e)?e:e.DEF,o=new t({definition:[],idx:r});return n&&(o.separator=e.SEP),JZ(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),a.call(this),i.definition.push(o),this.recordingProdStack.pop(),$at}function Pat(t,e){Fat(e);let r=DK(this.recordingProdStack),n=!1===oI(t),i=!1===n?t:t.DEF,a=new ket({definition:[],idx:e,ignoreAmbiguities:n&&!0===t.IGNORE_AMBIGUITIES});JZ(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);let o=A0(i,(t=>_S(t.GATE)));return a.hasPredicates=o,r.definition.push(a),HK(i,(t=>{let e=new met({definition:[]});a.definition.push(e),JZ(t,"IGNORE_AMBIGUITIES")?e.ignoreAmbiguities=t.IGNORE_AMBIGUITIES:JZ(t,"GATE")&&(e.ignoreAmbiguities=!0),this.recordingProdStack.push(e),t.ALT.call(this),this.recordingProdStack.pop()})),$at}function Bat(t){return 0===t?"":`${t}`}function Fat(t){if(t<0||t>Uat){let e=new Error(`Invalid DSL Method idx value: <${t}>\n\tIdx value must be a none negative value smaller than ${Uat+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}var $at,zat,Uat,Gat,qat,Yat,jat,Hat,Wat=k((()=>{o1(),Ret(),gnt(),pnt(),Ont(),iot(),eat(),$at={description:"This Object indicates the Parser is during Recording Phase"},Object.freeze($at),zat=!0,Uat=Math.pow(2,8)-1,Krt([Gat=vnt({name:"RECORDING_PHASE_TOKEN",pattern:dnt.NA})]),qat=bnt(Gat,"This IToken indicates the Parser is in Recording Phase\n\tSee: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",-1,-1,-1,-1,-1,-1),Object.freeze(qat),Yat={name:"This CSTNode indicates the Parser is in Recording Phase\n\tSee: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",children:{}},jat=class{static{w(this,"GastRecorder")}initGastRecorder(t){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",(()=>{for(let t=0;t<10;t++){let e=t>0?t:"";this[`CONSUME${e}`]=function(e,r){return this.consumeInternalRecord(e,t,r)},this[`SUBRULE${e}`]=function(e,r){return this.subruleInternalRecord(e,t,r)},this[`OPTION${e}`]=function(e){return this.optionInternalRecord(e,t)},this[`OR${e}`]=function(e){return this.orInternalRecord(e,t)},this[`MANY${e}`]=function(e){this.manyInternalRecord(t,e)},this[`MANY_SEP${e}`]=function(e){this.manySepFirstInternalRecord(t,e)},this[`AT_LEAST_ONE${e}`]=function(e){this.atLeastOneInternalRecord(t,e)},this[`AT_LEAST_ONE_SEP${e}`]=function(e){this.atLeastOneSepFirstInternalRecord(t,e)}}this.consume=function(t,e,r){return this.consumeInternalRecord(e,t,r)},this.subrule=function(t,e,r){return this.subruleInternalRecord(e,t,r)},this.option=function(t,e){return this.optionInternalRecord(e,t)},this.or=function(t,e){return this.orInternalRecord(e,t)},this.many=function(t,e){this.manyInternalRecord(t,e)},this.atLeastOne=function(t,e){this.atLeastOneInternalRecord(t,e)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD}))}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",(()=>{let t=this;for(let e=0;e<10;e++){let r=e>0?e:"";delete t[`CONSUME${r}`],delete t[`SUBRULE${r}`],delete t[`OPTION${r}`],delete t[`OR${r}`],delete t[`MANY${r}`],delete t[`MANY_SEP${r}`],delete t[`AT_LEAST_ONE${r}`],delete t[`AT_LEAST_ONE_SEP${r}`]}delete t.consume,delete t.subrule,delete t.option,delete t.or,delete t.many,delete t.atLeastOne,delete t.ACTION,delete t.BACKTRACK,delete t.LA}))}ACTION_RECORD(t){}BACKTRACK_RECORD(t,e){return()=>!0}LA_RECORD(t){return Qat}topLevelRuleRecord(t,e){try{let r=new get({definition:[],name:t});return r.name=t,this.recordingProdStack.push(r),e.call(this),this.recordingProdStack.pop(),r}catch(t){if(!0!==t.KNOWN_RECORDER_ERROR)try{t.message=t.message+'\n\t This error was thrown during the "grammar recording phase" For more info see:\n\thttps://chevrotain.io/docs/guide/internals.html#grammar-recording'}catch{throw t}throw t}}optionInternalRecord(t,e){return Oat.call(this,yet,t,e)}atLeastOneInternalRecord(t,e){Oat.call(this,vet,e,t)}atLeastOneSepFirstInternalRecord(t,e){Oat.call(this,xet,e,t,zat)}manyInternalRecord(t,e){Oat.call(this,bet,e,t)}manySepFirstInternalRecord(t,e){Oat.call(this,wet,e,t,zat)}orInternalRecord(t,e){return Pat.call(this,t,e)}subruleInternalRecord(t,e,r){if(Fat(e),!t||!1===JZ(t,"ruleName")){let r=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(t)}>\n inside top level rule: <${this.recordingProdStack[0].name}>`);throw r.KNOWN_RECORDER_ERROR=!0,r}let n=DK(this.recordingProdStack),i=t.ruleName,a=new fet({idx:e,nonTerminalName:i,label:r?.LABEL,referencedRule:void 0});return n.definition.push(a),this.outputCst?Yat:$at}consumeInternalRecord(t,e,r){if(Fat(e),!rnt(t)){let r=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(t)}>\n inside top level rule: <${this.recordingProdStack[0].name}>`);throw r.KNOWN_RECORDER_ERROR=!0,r}let n=DK(this.recordingProdStack),i=new Tet({idx:e,terminalType:t,label:r?.LABEL});return n.definition.push(i),qat}},w(Oat,"recordProd"),w(Pat,"recordOrProd"),w(Bat,"getIdxSuffix"),w(Fat,"assertMethodIdxIsValid")})),Vat=k((()=>{o1(),set(),iot(),Hat=class{static{w(this,"PerformanceTracer")}initPerformanceTracer(t){if(JZ(t,"traceInitPerf")){let e=t.traceInitPerf,r="number"==typeof e;this.traceInitMaxIdent=r?e:1/0,this.traceInitPerf=r?e>0:e}else this.traceInitMaxIdent=0,this.traceInitPerf=Jat.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(t,e){if(!0===this.traceInitPerf){this.traceInitIndent++;let r=new Array(this.traceInitIndent+1).join("\t");this.traceInitIndent`);let{time:n,value:i}=net(e),a=n>10?console.warn:console.log;return this.traceInitIndent time: ${n}ms`),this.traceInitIndent--,i}return e()}}}));function Xat(t,e){e.forEach((e=>{let r=e.prototype;Object.getOwnPropertyNames(r).forEach((n=>{if("constructor"===n)return;let i=Object.getOwnPropertyDescriptor(r,n);i&&(i.get||i.set)?Object.defineProperty(t.prototype,n,i):t.prototype[n]=e.prototype[n]}))}))}var Kat=k((()=>{w(Xat,"applyMixins")}));function Zat(t=void 0){return function(){return t}}var Qat,Jat,tot,eot,rot,not,iot=k((()=>{var t;o1(),set(),Wet(),Ont(),Pnt(),Fit(),Qit(),sat(),Lat(),Nat(),Iat(),Mat(),Rat(),Dat(),Wat(),Vat(),Kat(),Oit(),Qat=bnt(Int,"",NaN,NaN,NaN,NaN,NaN,NaN),Object.freeze(Qat),Jat=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Mnt,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),tot=Object.freeze({recoveryValueFunc:w((()=>{}),"recoveryValueFunc"),resyncEnabled:!0}),(t=eot||(eot={}))[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION",w(Zat,"EMPTY_ALT"),rot=class t{static{w(this,"Parser")}static performSelfAnalysis(t){throw Error("The **static** `performSelfAnalysis` method has been deprecated.\t\nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",(()=>{let e;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",(()=>{aet(this)})),this.TRACE_INIT("Grammar Recording",(()=>{try{this.enableRecording(),HK(this.definedRulesNames,(t=>{let e,r=this[t].originalGrammarAction;this.TRACE_INIT(`${t} Rule`,(()=>{e=this.topLevelRuleRecord(t,r)})),this.gastProductionsCache[t]=e}))}finally{this.disableRecording()}}));let n=[];if(this.TRACE_INIT("Grammar Resolving",(()=>{n=Pit({rules:cQ(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)})),this.TRACE_INIT("Grammar Validations",(()=>{if(EQ(n)&&!1===this.skipValidations){let t=Bit({rules:cQ(this.gastProductionsCache),tokenTypes:cQ(this.tokensMap),errMsgProvider:Dnt,grammarName:r}),e=mit({lookaheadStrategy:this.lookaheadStrategy,rules:cQ(this.gastProductionsCache),tokenTypes:cQ(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(t,e)}})),EQ(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",(()=>{let t=Yet(cQ(this.gastProductionsCache));this.resyncFollows=t})),this.TRACE_INIT("ComputeLookaheadFunctions",(()=>{var t,e;null===(e=(t=this.lookaheadStrategy).initialize)||void 0===e||e.call(t,{rules:cQ(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(cQ(this.gastProductionsCache))}))),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!EQ(this.definitionErrors))throw e=AZ(this.definitionErrors,(t=>t.message)),new Error(`Parser Definition Errors detected:\n ${e.join("\n-------------------------------\n")}`)}))}constructor(t,e){this.definitionErrors=[],this.selfAnalysisDone=!1;let r=this;if(r.initErrorHandler(e),r.initLexerAdapter(),r.initLooksAhead(e),r.initRecognizerEngine(t,e),r.initRecoverable(e),r.initTreeBuilder(e),r.initContentAssist(),r.initGastRecorder(e),r.initPerformanceTracer(e),JZ(e,"ignoredIssues"))throw new Error("The IParserConfig property has been deprecated.\n\tPlease use the flag on the relevant DSL method instead.\n\tSee: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES\n\tFor further details.");this.skipValidations=JZ(e,"skipValidations")?e.skipValidations:Jat.skipValidations}},rot.DEFER_DEFINITION_ERRORS_HANDLING=!1,Xat(rot,[Zit,iat,kat,Tat,_at,Eat,Cat,Sat,jat,Hat]),not=class extends rot{static{w(this,"EmbeddedActionsParser")}constructor(t,e=Jat){let r=qW(e);r.outputCst=!1,super(t,r)}}})),aot=k((()=>{Ret()})),oot=k((()=>{})),sot=k((()=>{aot(),oot()})),lot=k((()=>{Jtt()})),cot=k((()=>{Jtt(),iot(),gnt(),Ont(),git(),rat(),Pnt(),Hit(),fnt(),Ret(),Ret(),sot(),lot()}));function hot(t,e,r){return`${t.name}_${e}_${r}`}function uot(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};dot(e,t);let r=t.length;for(let n=0;npot(t,e,r)));return _ot(t,e,n,r,...i)}function xot(t,e,r){let n=Mot(t,e,r,{type:Oot});return Eot(t,n),Tot(t,e,r,_ot(t,e,n,r,bot(t,e,r)))}function bot(t,e,r){let n=lZ(AZ(r.definition,(r=>pot(t,e,r))),(t=>void 0!==t));return 1===n.length?n[0]:0===n.length?void 0:Sot(t,n)}function wot(t,e,r,n,i){let a=n.left,o=n.right,s=Mot(t,e,r,{type:qot});Eot(t,s);let l=Mot(t,e,r,{type:Yot});return a.loopback=s,l.loopback=s,t.decisionMap[hot(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=s,Iot(o,s),void 0===i?(Iot(s,a),Iot(s,l)):(Iot(s,l),Iot(s,i.left),Iot(i.right,a)),{left:a,right:l}}function kot(t,e,r,n,i){let a=n.left,o=n.right,s=Mot(t,e,r,{type:Got});Eot(t,s);let l=Mot(t,e,r,{type:Yot}),c=Mot(t,e,r,{type:Uot});return s.loopback=c,l.loopback=c,Iot(s,a),Iot(s,l),Iot(o,c),void 0!==i?(Iot(c,l),Iot(c,i.left),Iot(i.right,a)):Iot(c,s),t.decisionMap[hot(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=s,{left:s,right:l}}function Tot(t,e,r,n){let i=n.left;return Iot(i,n.right),t.decisionMap[hot(e,"Option",r.idx)]=i,n}function Eot(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function _ot(t,e,r,n,...i){let a=Mot(t,e,n,{type:zot,start:r});r.end=a;for(let t of i)void 0!==t?(Iot(r,t.left),Iot(t.right,a)):Iot(r,a);let o={left:r,right:a};return t.decisionMap[hot(e,Cot(n),n.idx)]=r,o}function Cot(t){if(t instanceof ket)return"Alternation";if(t instanceof yet)return"Option";if(t instanceof bet)return"Repetition";if(t instanceof wet)return"RepetitionWithSeparator";if(t instanceof vet)return"RepetitionMandatory";if(t instanceof xet)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function Sot(t,e){let r=e.length;for(let n=0;n{LZ(),cZ(),cot(),w(hot,"buildATNKey"),Oot=1,Pot=2,Bot=4,Fot=5,$ot=7,zot=8,Uot=9,Got=10,qot=11,Yot=12,jot=class{static{w(this,"AbstractTransition")}constructor(t){this.target=t}isEpsilon(){return!1}},Hot=class extends jot{static{w(this,"AtomTransition")}constructor(t,e){super(t),this.tokenType=e}},Wot=class extends jot{static{w(this,"EpsilonTransition")}constructor(t){super(t)}isEpsilon(){return!0}},Vot=class extends jot{static{w(this,"RuleTransition")}constructor(t,e,r){super(t),this.rule=e,this.followState=r}isEpsilon(){return!0}},w(uot,"createATN"),w(dot,"createRuleStartAndStopATNStates"),w(pot,"atom"),w(fot,"repetition"),w(got,"repetitionSep"),w(mot,"repetitionMandatory"),w(yot,"repetitionMandatorySep"),w(vot,"alternation"),w(xot,"option"),w(bot,"block"),w(wot,"plus"),w(kot,"star"),w(Tot,"optional"),w(Eot,"defineDecisionState"),w(_ot,"makeAlts"),w(Cot,"getProdType"),w(Sot,"makeBlock"),w(Aot,"tokenRef"),w(Lot,"ruleRef"),w(Not,"buildRuleHandle"),w(Iot,"epsilon"),w(Mot,"newState"),w(Rot,"addTransition"),w(Dot,"removeState")}));function Kot(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map((t=>t.stateNumber.toString())).join("_")}`}var Zot,Qot,Jot=k((()=>{LZ(),Zot={},Qot=class{static{w(this,"ATNConfigSet")}constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(t){let e=Kot(t);e in this.map||(this.map[e]=this.configs.length,this.configs.push(t))}get elements(){return this.configs}get alts(){return AZ(this.configs,(t=>t.alt))}get key(){let t="";for(let e in this.map)t+=e+":";return t}},w(Kot,"getATNConfigKey")}));function tst(t,e){let r={};return n=>{let i=n.toString(),a=r[i];return void 0!==a||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}function est(t,e=!0){let r=new Set;for(let n of t){let t=new Set;for(let i of n){if(void 0===i){if(e)break;return!1}let n=[i.tokenTypeIdx].concat(i.categoryMatches);for(let e of n)if(r.has(e)){if(!t.has(e))return!1}else r.add(e),t.add(e)}}return!0}function rst(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;nmnt(t))).join(", "),r=0===t.production.idx?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${lst(t.production)}${r}> inside <${t.topLevelRule.name}> Rule,\n<${e}> may appears as a prefix path in all these alternatives.\n`;return n+="See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES\nFor Further details.",n}function lst(t){if(t instanceof fet)return"SUBRULE";if(t instanceof yet)return"OPTION";if(t instanceof ket)return"OR";if(t instanceof vet)return"AT_LEAST_ONE";if(t instanceof xet)return"AT_LEAST_ONE_SEP";if(t instanceof wet)return"MANY_SEP";if(t instanceof bet)return"MANY";if(t instanceof Tet)return"CONSUME";throw Error("non exhaustive match")}function cst(t,e,r){let n=IZ(e.configs.elements,(t=>t.state.transitions));return{actualToken:r,possibleTokenTypes:V0(n.filter((t=>t instanceof Hot)).map((t=>t.tokenType)),(t=>t.tokenTypeIdx)),tokenPath:t}}function hst(t,e){return t.edges[e.tokenTypeIdx]}function ust(t,e,r){let n,i=new Qot,a=[];for(let n of t.elements){if(!1===r.is(n.alt))continue;if(n.state.type===$ot){a.push(n);continue}let t=n.state.transitions.length;for(let r=0;r0&&!bst(n))for(let t of a)n.add(t);return n}function dst(t,e){if(t instanceof Hot&&wnt(e,t.tokenType))return t.target}function pst(t,e){let r;for(let n of t.elements)if(!0===e.is(n.alt))if(void 0===r)r=n.alt;else if(r!==n.alt)return;return r}function fst(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function gst(t,e,r,n){return n=mst(t,n),e.edges[r.tokenTypeIdx]=n,n}function mst(t,e){if(e===Zot)return e;let r=e.configs.key,n=t.states[r];return void 0!==n?n:(e.configs.finalize(),t.states[r]=e,e)}function yst(t){let e=new Qot,r=t.transitions.length;for(let n=0;n0){let r=[...t.stack];vst({state:r.pop(),alt:t.alt,stack:r},e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i1)return!0;return!1}function _st(t){for(let e of Array.from(t.values()))if(1===Object.keys(e).length)return!0;return!1}var Cst,Sst,Ast,Lst,Nst,Ist,Mst,Rst,Dst,Ost,Pst,Bst,Fst,$st,zst,Ust,Gst,qst,Yst,jst,Hst,Wst,Vst,Xst,Kst,Zst,Qst,Jst,tlt,elt,rlt,nlt,ilt,alt,olt,slt,llt,clt,hlt,ult,dlt,plt,flt,glt,mlt,ylt,vlt,xlt,blt,wlt,klt,Tlt,Elt,_lt,Clt,Slt,Alt,Llt,Nlt,Ilt,Mlt,Rlt,Dlt,Olt,Plt,Blt,Flt,$lt,zlt,Ult,Glt,qlt,Ylt,jlt,Hlt,Wlt,Vlt,Xlt,Klt,Zlt,Qlt,Jlt,tct,ect,rct,nct,ict,act,oct,sct,lct=k((()=>{cot(),Xot(),Jot(),ZQ(),MZ(),X0(),LZ(),dj(),WK(),_Q(),g0(),w(tst,"createDFACache"),Cst=class{static{w(this,"PredicateSet")}constructor(){this.predicates=[]}is(t){return t>=this.predicates.length||this.predicates[t]}set(t,e){this.predicates[t]=e}toString(){let t="",e=this.predicates.length;for(let r=0;rconsole.log(t)}initialize(t){this.atn=uot(t.rules),this.dfas=rst(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(t){let{prodOccurrence:e,rule:r,hasPredicates:n,dynamicTokensEnabled:i}=t,a=this.dfas,o=this.logging,s=hot(r,"Alternation",e),l=this.atn.decisionMap[s].decision,c=AZ(Qnt({maxLookahead:1,occurrence:e,prodType:"Alternation",rule:r}),(t=>AZ(t,(t=>t[0]))));if(est(c,!1)&&!i){let t=f0(c,((t,e,r)=>(HK(e,(e=>{e&&(t[e.tokenTypeIdx]=r,HK(e.categoryMatches,(e=>{t[e]=r})))})),t)),{});return n?function(e){var r;let n=this.LA(1),i=t[n.tokenTypeIdx];if(void 0!==e&&void 0!==i){let t=null===(r=e[i])||void 0===r?void 0:r.GATE;if(void 0!==t&&!1===t.call(this))return}return i}:function(){let e=this.LA(1);return t[e.tokenTypeIdx]}}return n?function(t){let e=new Cst,r=void 0===t?0:t.length;for(let n=0;nAZ(t,(t=>t[0]))));if(est(c)&&c[0][0]&&!i){let t=c[0],e=uj(t);if(1===e.length&&EQ(e[0].categoryMatches)){let t=e[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===t}}{let t=f0(e,((t,e)=>(void 0!==e&&(t[e.tokenTypeIdx]=!0,HK(e.categoryMatches,(e=>{t[e]=!0}))),t)),{});return function(){let e=this.LA(1);return!0===t[e.tokenTypeIdx]}}}return function(){let t=nst.call(this,a,l,Sst,o);return"object"!=typeof t&&0===t}}},w(est,"isLL1Sequence"),w(rst,"initATNSimulator"),w(nst,"adaptivePredict"),w(ist,"performLookahead"),w(ast,"computeLookaheadTarget"),w(ost,"reportLookaheadAmbiguity"),w(sst,"buildAmbiguityError"),w(lst,"getProductionDslName"),w(cst,"buildAdaptivePredictError"),w(hst,"getExistingTargetState"),w(ust,"computeReachSet"),w(dst,"getReachableTarget"),w(pst,"getUniqueAlt"),w(fst,"newDFAState"),w(gst,"addDFAEdge"),w(mst,"addDFAState"),w(yst,"computeStartState"),w(vst,"closure"),w(xst,"getEpsilonTarget"),w(bst,"hasConfigInRuleStopState"),w(wst,"allConfigsInRuleStopStates"),w(kst,"hasConflictTerminatingPrediction"),w(Tst,"getConflictingAltSets"),w(Est,"hasConflictingAltSet"),w(_st,"hasStateAssociatedWithOneAlt")})),cct=k((()=>{lct()})),hct=k((()=>{var t;!function(t){function e(t){return"string"==typeof t}w(e,"is"),t.is=e}(Lst||(Lst={})),function(t){function e(t){return"string"==typeof t}w(e,"is"),t.is=e}(Nst||(Nst={})),function(t){function e(e){return"number"==typeof e&&t.MIN_VALUE<=e&&e<=t.MAX_VALUE}t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647,w(e,"is"),t.is=e}(Ist||(Ist={})),function(t){function e(e){return"number"==typeof e&&t.MIN_VALUE<=e&&e<=t.MAX_VALUE}t.MIN_VALUE=0,t.MAX_VALUE=2147483647,w(e,"is"),t.is=e}(Mst||(Mst={})),function(t){function e(t,e){return t===Number.MAX_VALUE&&(t=Mst.MAX_VALUE),e===Number.MAX_VALUE&&(e=Mst.MAX_VALUE),{line:t,character:e}}function r(t){let e=t;return ect.objectLiteral(e)&&ect.uinteger(e.line)&&ect.uinteger(e.character)}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(Rst||(Rst={})),function(t){function e(t,e,r,n){if(ect.uinteger(t)&&ect.uinteger(e)&&ect.uinteger(r)&&ect.uinteger(n))return{start:Rst.create(t,e),end:Rst.create(r,n)};if(Rst.is(t)&&Rst.is(e))return{start:t,end:e};throw new Error(`Range#create called with invalid arguments[${t}, ${e}, ${r}, ${n}]`)}function r(t){let e=t;return ect.objectLiteral(e)&&Rst.is(e.start)&&Rst.is(e.end)}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(Dst||(Dst={})),function(t){function e(t,e){return{uri:t,range:e}}function r(t){let e=t;return ect.objectLiteral(e)&&Dst.is(e.range)&&(ect.string(e.uri)||ect.undefined(e.uri))}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(Ost||(Ost={})),function(t){function e(t,e,r,n){return{targetUri:t,targetRange:e,targetSelectionRange:r,originSelectionRange:n}}function r(t){let e=t;return ect.objectLiteral(e)&&Dst.is(e.targetRange)&&ect.string(e.targetUri)&&Dst.is(e.targetSelectionRange)&&(Dst.is(e.originSelectionRange)||ect.undefined(e.originSelectionRange))}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(Pst||(Pst={})),function(t){function e(t,e,r,n){return{red:t,green:e,blue:r,alpha:n}}function r(t){let e=t;return ect.objectLiteral(e)&&ect.numberRange(e.red,0,1)&&ect.numberRange(e.green,0,1)&&ect.numberRange(e.blue,0,1)&&ect.numberRange(e.alpha,0,1)}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(Bst||(Bst={})),function(t){function e(t,e){return{range:t,color:e}}function r(t){let e=t;return ect.objectLiteral(e)&&Dst.is(e.range)&&Bst.is(e.color)}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(Fst||(Fst={})),function(t){function e(t,e,r){return{label:t,textEdit:e,additionalTextEdits:r}}function r(t){let e=t;return ect.objectLiteral(e)&&ect.string(e.label)&&(ect.undefined(e.textEdit)||Vst.is(e))&&(ect.undefined(e.additionalTextEdits)||ect.typedArray(e.additionalTextEdits,Vst.is))}w(e,"create"),t.create=e,w(r,"is"),t.is=r}($st||($st={})),(t=zst||(zst={})).Comment="comment",t.Imports="imports",t.Region="region",function(t){function e(t,e,r,n,i,a){let o={startLine:t,endLine:e};return ect.defined(r)&&(o.startCharacter=r),ect.defined(n)&&(o.endCharacter=n),ect.defined(i)&&(o.kind=i),ect.defined(a)&&(o.collapsedText=a),o}function r(t){let e=t;return ect.objectLiteral(e)&&ect.uinteger(e.startLine)&&ect.uinteger(e.startLine)&&(ect.undefined(e.startCharacter)||ect.uinteger(e.startCharacter))&&(ect.undefined(e.endCharacter)||ect.uinteger(e.endCharacter))&&(ect.undefined(e.kind)||ect.string(e.kind))}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(Ust||(Ust={})),function(t){function e(t,e){return{location:t,message:e}}function r(t){let e=t;return ect.defined(e)&&Ost.is(e.location)&&ect.string(e.message)}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(Gst||(Gst={})),function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4}(qst||(qst={})),function(t){t.Unnecessary=1,t.Deprecated=2}(Yst||(Yst={})),function(t){function e(t){let e=t;return ect.objectLiteral(e)&&ect.string(e.href)}w(e,"is"),t.is=e}(jst||(jst={})),function(t){function e(t,e,r,n,i,a){let o={range:t,message:e};return ect.defined(r)&&(o.severity=r),ect.defined(n)&&(o.code=n),ect.defined(i)&&(o.source=i),ect.defined(a)&&(o.relatedInformation=a),o}function r(t){var e;let r=t;return ect.defined(r)&&Dst.is(r.range)&&ect.string(r.message)&&(ect.number(r.severity)||ect.undefined(r.severity))&&(ect.integer(r.code)||ect.string(r.code)||ect.undefined(r.code))&&(ect.undefined(r.codeDescription)||ect.string(null===(e=r.codeDescription)||void 0===e?void 0:e.href))&&(ect.string(r.source)||ect.undefined(r.source))&&(ect.undefined(r.relatedInformation)||ect.typedArray(r.relatedInformation,Gst.is))}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(Hst||(Hst={})),function(t){function e(t,e,...r){let n={title:t,command:e};return ect.defined(r)&&r.length>0&&(n.arguments=r),n}function r(t){let e=t;return ect.defined(e)&&ect.string(e.title)&&ect.string(e.command)}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(Wst||(Wst={})),function(t){function e(t,e){return{range:t,newText:e}}function r(t,e){return{range:{start:t,end:t},newText:e}}function n(t){return{range:t,newText:""}}function i(t){let e=t;return ect.objectLiteral(e)&&ect.string(e.newText)&&Dst.is(e.range)}w(e,"replace"),t.replace=e,w(r,"insert"),t.insert=r,w(n,"del"),t.del=n,w(i,"is"),t.is=i}(Vst||(Vst={})),function(t){function e(t,e,r){let n={label:t};return void 0!==e&&(n.needsConfirmation=e),void 0!==r&&(n.description=r),n}function r(t){let e=t;return ect.objectLiteral(e)&&ect.string(e.label)&&(ect.boolean(e.needsConfirmation)||void 0===e.needsConfirmation)&&(ect.string(e.description)||void 0===e.description)}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(Xst||(Xst={})),function(t){function e(t){let e=t;return ect.string(e)}w(e,"is"),t.is=e}(Kst||(Kst={})),function(t){function e(t,e,r){return{range:t,newText:e,annotationId:r}}function r(t,e,r){return{range:{start:t,end:t},newText:e,annotationId:r}}function n(t,e){return{range:t,newText:"",annotationId:e}}function i(t){let e=t;return Vst.is(e)&&(Xst.is(e.annotationId)||Kst.is(e.annotationId))}w(e,"replace"),t.replace=e,w(r,"insert"),t.insert=r,w(n,"del"),t.del=n,w(i,"is"),t.is=i}(Zst||(Zst={})),function(t){function e(t,e){return{textDocument:t,edits:e}}function r(t){let e=t;return ect.defined(e)&&alt.is(e.textDocument)&&Array.isArray(e.edits)}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(Qst||(Qst={})),function(t){function e(t,e,r){let n={kind:"create",uri:t};return void 0!==e&&(void 0!==e.overwrite||void 0!==e.ignoreIfExists)&&(n.options=e),void 0!==r&&(n.annotationId=r),n}function r(t){let e=t;return e&&"create"===e.kind&&ect.string(e.uri)&&(void 0===e.options||(void 0===e.options.overwrite||ect.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||ect.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||Kst.is(e.annotationId))}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(Jst||(Jst={})),function(t){function e(t,e,r,n){let i={kind:"rename",oldUri:t,newUri:e};return void 0!==r&&(void 0!==r.overwrite||void 0!==r.ignoreIfExists)&&(i.options=r),void 0!==n&&(i.annotationId=n),i}function r(t){let e=t;return e&&"rename"===e.kind&&ect.string(e.oldUri)&&ect.string(e.newUri)&&(void 0===e.options||(void 0===e.options.overwrite||ect.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||ect.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||Kst.is(e.annotationId))}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(tlt||(tlt={})),function(t){function e(t,e,r){let n={kind:"delete",uri:t};return void 0!==e&&(void 0!==e.recursive||void 0!==e.ignoreIfNotExists)&&(n.options=e),void 0!==r&&(n.annotationId=r),n}function r(t){let e=t;return e&&"delete"===e.kind&&ect.string(e.uri)&&(void 0===e.options||(void 0===e.options.recursive||ect.boolean(e.options.recursive))&&(void 0===e.options.ignoreIfNotExists||ect.boolean(e.options.ignoreIfNotExists)))&&(void 0===e.annotationId||Kst.is(e.annotationId))}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(elt||(elt={})),function(t){function e(t){let e=t;return e&&(void 0!==e.changes||void 0!==e.documentChanges)&&(void 0===e.documentChanges||e.documentChanges.every((t=>ect.string(t.kind)?Jst.is(t)||tlt.is(t)||elt.is(t):Qst.is(t))))}w(e,"is"),t.is=e}(rlt||(rlt={})),function(t){function e(t){return{uri:t}}function r(t){let e=t;return ect.defined(e)&&ect.string(e.uri)}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(nlt||(nlt={})),function(t){function e(t,e){return{uri:t,version:e}}function r(t){let e=t;return ect.defined(e)&&ect.string(e.uri)&&ect.integer(e.version)}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(ilt||(ilt={})),function(t){function e(t,e){return{uri:t,version:e}}function r(t){let e=t;return ect.defined(e)&&ect.string(e.uri)&&(null===e.version||ect.integer(e.version))}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(alt||(alt={})),function(t){function e(t,e,r,n){return{uri:t,languageId:e,version:r,text:n}}function r(t){let e=t;return ect.defined(e)&&ect.string(e.uri)&&ect.string(e.languageId)&&ect.integer(e.version)&&ect.string(e.text)}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(olt||(olt={})),function(t){function e(e){let r=e;return r===t.PlainText||r===t.Markdown}t.PlainText="plaintext",t.Markdown="markdown",w(e,"is"),t.is=e}(slt||(slt={})),function(t){function e(t){let e=t;return ect.objectLiteral(t)&&slt.is(e.kind)&&ect.string(e.value)}w(e,"is"),t.is=e}(llt||(llt={})),function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25}(clt||(clt={})),function(t){t.PlainText=1,t.Snippet=2}(hlt||(hlt={})),function(t){t.Deprecated=1}(ult||(ult={})),function(t){function e(t,e,r){return{newText:t,insert:e,replace:r}}function r(t){let e=t;return e&&ect.string(e.newText)&&Dst.is(e.insert)&&Dst.is(e.replace)}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(dlt||(dlt={})),function(t){t.asIs=1,t.adjustIndentation=2}(plt||(plt={})),function(t){function e(t){let e=t;return e&&(ect.string(e.detail)||void 0===e.detail)&&(ect.string(e.description)||void 0===e.description)}w(e,"is"),t.is=e}(flt||(flt={})),function(t){function e(t){return{label:t}}w(e,"create"),t.create=e}(glt||(glt={})),function(t){function e(t,e){return{items:t||[],isIncomplete:!!e}}w(e,"create"),t.create=e}(mlt||(mlt={})),function(t){function e(t){return t.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}function r(t){let e=t;return ect.string(e)||ect.objectLiteral(e)&&ect.string(e.language)&&ect.string(e.value)}w(e,"fromPlainText"),t.fromPlainText=e,w(r,"is"),t.is=r}(ylt||(ylt={})),function(t){function e(t){let e=t;return!!e&&ect.objectLiteral(e)&&(llt.is(e.contents)||ylt.is(e.contents)||ect.typedArray(e.contents,ylt.is))&&(void 0===t.range||Dst.is(t.range))}w(e,"is"),t.is=e}(vlt||(vlt={})),function(t){function e(t,e){return e?{label:t,documentation:e}:{label:t}}w(e,"create"),t.create=e}(xlt||(xlt={})),function(t){function e(t,e,...r){let n={label:t};return ect.defined(e)&&(n.documentation=e),ect.defined(r)?n.parameters=r:n.parameters=[],n}w(e,"create"),t.create=e}(blt||(blt={})),function(t){t.Text=1,t.Read=2,t.Write=3}(wlt||(wlt={})),function(t){function e(t,e){let r={range:t};return ect.number(e)&&(r.kind=e),r}w(e,"create"),t.create=e}(klt||(klt={})),function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26}(Tlt||(Tlt={})),function(t){t.Deprecated=1}(Elt||(Elt={})),function(t){function e(t,e,r,n,i){let a={name:t,kind:e,location:{uri:n,range:r}};return i&&(a.containerName=i),a}w(e,"create"),t.create=e}(_lt||(_lt={})),function(t){function e(t,e,r,n){return void 0!==n?{name:t,kind:e,location:{uri:r,range:n}}:{name:t,kind:e,location:{uri:r}}}w(e,"create"),t.create=e}(Clt||(Clt={})),function(t){function e(t,e,r,n,i,a){let o={name:t,detail:e,kind:r,range:n,selectionRange:i};return void 0!==a&&(o.children=a),o}function r(t){let e=t;return e&&ect.string(e.name)&&ect.number(e.kind)&&Dst.is(e.range)&&Dst.is(e.selectionRange)&&(void 0===e.detail||ect.string(e.detail))&&(void 0===e.deprecated||ect.boolean(e.deprecated))&&(void 0===e.children||Array.isArray(e.children))&&(void 0===e.tags||Array.isArray(e.tags))}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(Slt||(Slt={})),function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"}(Alt||(Alt={})),function(t){t.Invoked=1,t.Automatic=2}(Llt||(Llt={})),function(t){function e(t,e,r){let n={diagnostics:t};return null!=e&&(n.only=e),null!=r&&(n.triggerKind=r),n}function r(t){let e=t;return ect.defined(e)&&ect.typedArray(e.diagnostics,Hst.is)&&(void 0===e.only||ect.typedArray(e.only,ect.string))&&(void 0===e.triggerKind||e.triggerKind===Llt.Invoked||e.triggerKind===Llt.Automatic)}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(Nlt||(Nlt={})),function(t){function e(t,e,r){let n={title:t},i=!0;return"string"==typeof e?(i=!1,n.kind=e):Wst.is(e)?n.command=e:n.edit=e,i&&void 0!==r&&(n.kind=r),n}function r(t){let e=t;return e&&ect.string(e.title)&&(void 0===e.diagnostics||ect.typedArray(e.diagnostics,Hst.is))&&(void 0===e.kind||ect.string(e.kind))&&(void 0!==e.edit||void 0!==e.command)&&(void 0===e.command||Wst.is(e.command))&&(void 0===e.isPreferred||ect.boolean(e.isPreferred))&&(void 0===e.edit||rlt.is(e.edit))}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(Ilt||(Ilt={})),function(t){function e(t,e){let r={range:t};return ect.defined(e)&&(r.data=e),r}function r(t){let e=t;return ect.defined(e)&&Dst.is(e.range)&&(ect.undefined(e.command)||Wst.is(e.command))}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(Mlt||(Mlt={})),function(t){function e(t,e){return{tabSize:t,insertSpaces:e}}function r(t){let e=t;return ect.defined(e)&&ect.uinteger(e.tabSize)&&ect.boolean(e.insertSpaces)}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(Rlt||(Rlt={})),function(t){function e(t,e,r){return{range:t,target:e,data:r}}function r(t){let e=t;return ect.defined(e)&&Dst.is(e.range)&&(ect.undefined(e.target)||ect.string(e.target))}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(Dlt||(Dlt={})),function(t){function e(t,e){return{range:t,parent:e}}function r(e){let r=e;return ect.objectLiteral(r)&&Dst.is(r.range)&&(void 0===r.parent||t.is(r.parent))}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(Olt||(Olt={})),function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"}(Plt||(Plt={})),function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"}(Blt||(Blt={})),function(t){function e(t){let e=t;return ect.objectLiteral(e)&&(void 0===e.resultId||"string"==typeof e.resultId)&&Array.isArray(e.data)&&(0===e.data.length||"number"==typeof e.data[0])}w(e,"is"),t.is=e}(Flt||(Flt={})),function(t){function e(t,e){return{range:t,text:e}}function r(t){let e=t;return null!=e&&Dst.is(e.range)&&ect.string(e.text)}w(e,"create"),t.create=e,w(r,"is"),t.is=r}($lt||($lt={})),function(t){function e(t,e,r){return{range:t,variableName:e,caseSensitiveLookup:r}}function r(t){let e=t;return null!=e&&Dst.is(e.range)&&ect.boolean(e.caseSensitiveLookup)&&(ect.string(e.variableName)||void 0===e.variableName)}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(zlt||(zlt={})),function(t){function e(t,e){return{range:t,expression:e}}function r(t){let e=t;return null!=e&&Dst.is(e.range)&&(ect.string(e.expression)||void 0===e.expression)}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(Ult||(Ult={})),function(t){function e(t,e){return{frameId:t,stoppedLocation:e}}function r(t){let e=t;return ect.defined(e)&&Dst.is(t.stoppedLocation)}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(Glt||(Glt={})),function(t){function e(t){return 1===t||2===t}t.Type=1,t.Parameter=2,w(e,"is"),t.is=e}(qlt||(qlt={})),function(t){function e(t){return{value:t}}function r(t){let e=t;return ect.objectLiteral(e)&&(void 0===e.tooltip||ect.string(e.tooltip)||llt.is(e.tooltip))&&(void 0===e.location||Ost.is(e.location))&&(void 0===e.command||Wst.is(e.command))}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(Ylt||(Ylt={})),function(t){function e(t,e,r){let n={position:t,label:e};return void 0!==r&&(n.kind=r),n}function r(t){let e=t;return ect.objectLiteral(e)&&Rst.is(e.position)&&(ect.string(e.label)||ect.typedArray(e.label,Ylt.is))&&(void 0===e.kind||qlt.is(e.kind))&&void 0===e.textEdits||ect.typedArray(e.textEdits,Vst.is)&&(void 0===e.tooltip||ect.string(e.tooltip)||llt.is(e.tooltip))&&(void 0===e.paddingLeft||ect.boolean(e.paddingLeft))&&(void 0===e.paddingRight||ect.boolean(e.paddingRight))}w(e,"create"),t.create=e,w(r,"is"),t.is=r}(jlt||(jlt={})),function(t){function e(t){return{kind:"snippet",value:t}}w(e,"createSnippet"),t.createSnippet=e}(Hlt||(Hlt={})),function(t){function e(t,e,r,n){return{insertText:t,filterText:e,range:r,command:n}}w(e,"create"),t.create=e}(Wlt||(Wlt={})),function(t){function e(t){return{items:t}}w(e,"create"),t.create=e}(Vlt||(Vlt={})),function(t){t.Invoked=0,t.Automatic=1}(Xlt||(Xlt={})),function(t){function e(t,e){return{range:t,text:e}}w(e,"create"),t.create=e}(Klt||(Klt={})),function(t){function e(t,e){return{triggerKind:t,selectedCompletionInfo:e}}w(e,"create"),t.create=e}(Zlt||(Zlt={})),function(t){function e(t){let e=t;return ect.objectLiteral(e)&&Nst.is(e.uri)&&ect.string(e.name)}w(e,"is"),t.is=e}(Qlt||(Qlt={})),function(t){function e(t,e,r,n){return new tct(t,e,r,n)}function r(t){let e=t;return!!(ect.defined(e)&&ect.string(e.uri)&&(ect.undefined(e.languageId)||ect.string(e.languageId))&&ect.uinteger(e.lineCount)&&ect.func(e.getText)&&ect.func(e.positionAt)&&ect.func(e.offsetAt))}function n(t,e){let r=t.getText(),n=i(e,((t,e)=>{let r=t.range.start.line-e.range.start.line;return 0===r?t.range.start.character-e.range.start.character:r})),a=r.length;for(let e=n.length-1;e>=0;e--){let i=n[e],o=t.offsetAt(i.range.start),s=t.offsetAt(i.range.end);if(!(s<=a))throw new Error("Overlapping edit");r=r.substring(0,o)+i.newText+r.substring(s,r.length),a=o}return r}function i(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),a=t.slice(r);i(n,e),i(a,e);let o=0,s=0,l=0;for(;o0&&t.push(e.length),this._lineOffsets=t}return this._lineOffsets}positionAt(t){t=Math.max(Math.min(t,this._content.length),0);let e=this.getLineOffsets(),r=0,n=e.length;if(0===n)return Rst.create(0,t);for(;rt?n=i:r=i+1}let i=r-1;return Rst.create(i,t-e[i])}offsetAt(t){let e=this.getLineOffsets();if(t.line>=e.length)return this._content.length;if(t.line<0)return 0;let r=e[t.line],n=t.line+1"u"}function i(t){return!0===t||!1===t}function a(t){return"[object String]"===e.call(t)}function o(t){return"[object Number]"===e.call(t)}function s(t,r,n){return"[object Number]"===e.call(t)&&r<=t&&t<=n}function l(t){return"[object Number]"===e.call(t)&&-2147483648<=t&&t<=2147483647}function c(t){return"[object Number]"===e.call(t)&&0<=t&&t<=2147483647}function h(t){return"[object Function]"===e.call(t)}function u(t){return null!==t&&"object"==typeof t}function d(t,e){return Array.isArray(t)&&t.every(e)}w(r,"defined"),t.defined=r,w(n,"undefined"),t.undefined=n,w(i,"boolean"),t.boolean=i,w(a,"string"),t.string=a,w(o,"number"),t.number=o,w(s,"numberRange"),t.numberRange=s,w(l,"integer"),t.integer=l,w(c,"uinteger"),t.uinteger=c,w(h,"func"),t.func=h,w(u,"objectLiteral"),t.objectLiteral=u,w(d,"typedArray"),t.typedArray=d}(ect||(ect={}))})),uct=k((()=>{hct(),j6(),T7(),rct=class{static{w(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]}buildRootNode(t){return this.rootNode=new sct(t),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(t){let e=new act;return e.grammarSource=t,e.root=this.rootNode,this.current.content.push(e),this.nodeStack.push(e),e}buildLeafNode(t,e){let r=new ict(t.startOffset,t.image.length,a7(t),t.tokenType,!1);return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),r}removeNode(t){let e=t.container;if(e){let r=e.content.indexOf(t);r>=0&&e.content.splice(r,1)}}construct(t){let e=this.current;"string"==typeof t.$type&&(this.current.astNode=t),t.$cstNode=e;let r=this.nodeStack.pop();0===r?.content.length&&this.removeNode(r)}addHiddenTokens(t){for(let e of t){let t=new ict(e.startOffset,e.image.length,a7(e),e.tokenType,!0);t.root=this.rootNode,this.addHiddenToken(this.rootNode,t)}}addHiddenToken(t,e){let{offset:r,end:n}=e;for(let i=0;io&&n=0;t--){let e=this.content[t];if(!e.hidden)return e}return this.content[this.content.length-1]}},oct=class t extends Array{static{w(this,"CstNodeContainer")}constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...t){return this.addParents(t),super.push(...t)}unshift(...t){return this.addParents(t),super.unshift(...t)}splice(t,e,...r){return this.addParents(r),super.splice(t,e,...r)}addParents(t){for(let e of t)e.container=this.parent}},sct=class extends act{static{w(this,"RootCstNodeImpl")}get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(t){super(),this._text="",this._text=t??""}}}));function dct(t){return t.$type===pct}var pct,fct,gct,mct,yct,vct,xct,bct,wct,kct=k((()=>{cot(),cct(),y9(),Ktt(),R9(),uct(),pct=Symbol("Datatype"),w(dct,"isDataTypeNode"),fct=w((t=>t.endsWith("​")?t:t+"​"),"withRuleSuffix"),gct=class{static{w(this,"AbstractLangiumParser")}constructor(t){this._unorderedGroups=new Map,this.lexer=t.parser.Lexer;let e=this.lexer.definition;this.wrapper=new wct(e,Object.assign(Object.assign({},t.parser.ParserConfig),{errorMessageProvider:t.parser.ParserErrorMessageProvider}))}alternatives(t,e){this.wrapper.wrapOr(t,e)}optional(t,e){this.wrapper.wrapOption(t,e)}many(t,e){this.wrapper.wrapMany(t,e)}atLeastOne(t,e){this.wrapper.wrapAtLeastOne(t,e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},mct=class extends gct{static{w(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(t){super(t),this.nodeBuilder=new rct,this.stack=[],this.assignmentMap=new Map,this.linker=t.references.Linker,this.converter=t.parser.ValueConverter,this.astReflection=t.shared.AstReflection}rule(t,e){let r=t.fragment?void 0:Mtt(t)?pct:Btt(t),n=this.wrapper.DEFINE_RULE(fct(t.name),this.startImplementation(r,e).bind(this));return t.entry&&(this.mainRule=n),n}parse(t){this.nodeBuilder.buildRootNode(t);let e=this.lexer.tokenize(t);this.wrapper.input=e.tokens;let r=this.mainRule.call(this.wrapper,{});return this.nodeBuilder.addHiddenTokens(e.hidden),this.unorderedGroups.clear(),{value:r,lexerErrors:e.errors,parserErrors:this.wrapper.errors}}startImplementation(t,e){return r=>{if(!this.isRecording()){let e={$type:t};this.stack.push(e),t===pct&&(e.value="")}let n;try{n=e(r)}catch{n=void 0}return!this.isRecording()&&void 0===n&&(n=this.construct()),n}}consume(t,e,r){let n=this.wrapper.wrapConsume(t,e);if(!this.isRecording()&&this.isValidToken(n)){let t=this.nodeBuilder.buildLeafNode(n,r),{assignment:e,isCrossRef:i}=this.getAssignment(r),a=this.current;if(e){let a=d8(r)?n.image:this.converter.convert(n.image,t);this.assign(e.operator,e.feature,a,t,i)}else if(dct(a)){let e=n.image;d8(r)||(e=this.converter.convert(e,t).toString()),a.value+=e}}}isValidToken(t){return!t.isInsertedInRecovery&&!isNaN(t.startOffset)&&"number"==typeof t.endOffset&&!isNaN(t.endOffset)}subrule(t,e,r,n){let i;this.isRecording()||(i=this.nodeBuilder.buildCompositeNode(r));let a=this.wrapper.wrapSubrule(t,e,n);!this.isRecording()&&i&&i.length>0&&this.performSubruleAssignment(a,r,i)}performSubruleAssignment(t,e,r){let{assignment:n,isCrossRef:i}=this.getAssignment(e);if(n)this.assign(n.operator,n.feature,t,r,i);else if(!n){let e=this.current;if(dct(e))e.value+=t.toString();else if("object"==typeof t&&t){let r=t.$type,n=this.assignWithoutOverride(t,e);r&&(n.$type=r);let i=n;this.stack.pop(),this.stack.push(i)}}}action(t,e){if(!this.isRecording()){let r=this.current;if(!r.$cstNode&&e.feature&&e.operator){r=this.construct(!1);let t=r.$cstNode.feature;this.nodeBuilder.buildCompositeNode(t)}let n={$type:t};this.stack.pop(),this.stack.push(n),e.feature&&e.operator&&this.assign(e.operator,e.feature,r,r.$cstNode,!1)}}construct(t=!0){if(this.isRecording())return;let e=this.current;return x9(e),this.nodeBuilder.construct(e),t&&this.stack.pop(),dct(e)?this.converter.convert(e.value,e.$cstNode):(N9(this.astReflection,e),e)}getAssignment(t){if(!this.assignmentMap.has(t)){let e=b9(t,s8);this.assignmentMap.set(t,{assignment:e,isCrossRef:!!e&&c8(e.terminal)})}return this.assignmentMap.get(t)}assign(t,e,r,n,i){let a,o=this.current;switch(a=i&&"string"==typeof r?this.linker.buildReference(o,e,n,r):r,t){case"=":o[e]=a;break;case"?=":o[e]=!0;break;case"+=":Array.isArray(o[e])||(o[e]=[]),o[e].push(a)}}assignWithoutOverride(t,e){for(let[r,n]of Object.entries(e)){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)&&Array.isArray(n)&&(n.push(...e),t[r]=n)}return t}get definitionErrors(){return this.wrapper.definitionErrors}},yct=class{static{w(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(t){return Mnt.buildMismatchTokenMessage(t)}buildNotAllInputParsedMessage(t){return Mnt.buildNotAllInputParsedMessage(t)}buildNoViableAltMessage(t){return Mnt.buildNoViableAltMessage(t)}buildEarlyExitMessage(t){return Mnt.buildEarlyExitMessage(t)}},vct=class extends yct{static{w(this,"LangiumParserErrorMessageProvider")}buildMismatchTokenMessage({expected:t,actual:e}){return`Expecting ${t.LABEL?"`"+t.LABEL+"`":t.name.endsWith(":KW")?`keyword '${t.name.substring(0,t.name.length-3)}'`:`token of type '${t.name}'`} but found \`${e.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:t}){return`Expecting end of file but found \`${t.image}\`.`}},xct=class extends gct{static{w(this,"LangiumCompletionParser")}constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(t){this.resetState();let e=this.lexer.tokenize(t);return this.tokens=e.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(t,e){let r=this.wrapper.DEFINE_RULE(fct(t.name),this.startImplementation(e).bind(this));return t.entry&&(this.mainRule=r),r}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(t){return e=>{let r=this.keepStackSize();try{t(e)}finally{this.resetStackSize(r)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let t=this.elementStack.length;return this.stackSize=t,t}resetStackSize(t){this.removeUnexpectedElements(),this.stackSize=t}consume(t,e,r){this.wrapper.wrapConsume(t,e),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(t,e,r,n){this.before(r),this.wrapper.wrapSubrule(t,e,n),this.after(r)}before(t){this.isRecording()||this.elementStack.push(t)}after(t){if(!this.isRecording()){let e=this.elementStack.lastIndexOf(t);e>=0&&this.elementStack.splice(e)}}get currIdx(){return this.wrapper.currIdx}},bct={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new vct},wct=class extends not{static{w(this,"ChevrotainWrapper")}constructor(t,e){let r=e&&"maxLookahead"in e;super(t,Object.assign(Object.assign(Object.assign({},bct),{lookaheadStrategy:r?new tat({maxLookahead:e.maxLookahead}):new Ast}),e))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(t,e){return this.RULE(t,e)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(t,e){return this.consume(t,e)}wrapSubrule(t,e,r){return this.subrule(t,e,{ARGS:[r]})}wrapOr(t,e){this.or(t,e)}wrapOption(t,e){this.option(t,e)}wrapMany(t,e){this.many(t,e)}wrapAtLeastOne(t,e){this.atLeastOne(t,e)}}}));function Tct(t,e,r){return Ect({parser:e,tokens:r,rules:new Map,ruleNames:new Map},t),e}function Ect(t,e){let r=gtt(e,!1),n=V6(e.rules).filter(K7).filter((t=>r.has(t)));for(let e of n){let r=Object.assign(Object.assign({},t),{consume:1,optional:1,subrule:1,many:1,or:1});r.rules.set(e.name,t.parser.rule(e,_ct(r,e.definition)))}}function _ct(t,e,r=!1){let n;if(d8(e))n=Oct(t,e);else if(a8(e))n=Cct(t,e);else if(s8(e))n=_ct(t,e.terminal);else if(c8(e))n=Dct(t,e);else if(g8(e))n=Sct(t,e);else if(o8(e))n=Nct(t,e);else if(x8(e))n=Ict(t,e);else if(u8(e))n=Mct(t,e);else{if(!h8(e))throw new _7(e.$cstNode,`Unexpected element type: ${e.$type}`);{let r=t.consume++;n=w((()=>t.parser.consume(r,Int,e)),"method")}}return Pct(t,r?void 0:Rct(e),n,e.cardinality)}function Cct(t,e){let r=Btt(e);return()=>t.parser.action(r,e)}function Sct(t,e){let r=e.rule.ref;if(K7(r)){let n=t.subrule++,i=e.arguments.length>0?Act(r,e.arguments):()=>({});return a=>t.parser.subrule(n,Bct(t,r),e,i(a))}if(e8(r)){let n=t.consume++,i=$ct(t,r.name);return()=>t.parser.consume(n,i,e)}if(!r)throw new _7(e.$cstNode,`Undefined rule type: ${e.$type}`);E7()}function Act(t,e){let r=e.map((t=>Lct(t.value)));return e=>{let n={};for(let i=0;ie(t)||r(t)}if($7(t)){let e=Lct(t.left),r=Lct(t.right);return t=>e(t)&&r(t)}if(H7(t)){let e=Lct(t.value);return t=>!e(t)}if(X7(t)){let e=t.parameter.ref.name;return t=>void 0!==t&&!0===t[e]}if(F7(t)){let e=!!t.true;return()=>e}E7()}function Nct(t,e){if(1===e.elements.length)return _ct(t,e.elements[0]);{let r=[];for(let n of e.elements){let e={ALT:_ct(t,n,!0)},i=Rct(n);i&&(e.GATE=Lct(i)),r.push(e)}let n=t.or++;return e=>t.parser.alternatives(n,r.map((t=>{let r={ALT:w((()=>t.ALT(e)),"ALT")},n=t.GATE;return n&&(r.GATE=()=>n(e)),r})))}}function Ict(t,e){if(1===e.elements.length)return _ct(t,e.elements[0]);let r=[];for(let n of e.elements){let e={ALT:_ct(t,n,!0)},i=Rct(n);i&&(e.GATE=Lct(i)),r.push(e)}let n=t.or++,i=w(((t,e)=>`uGroup_${t}_${e.getRuleStack().join("-")}`),"idFunc"),a=w((e=>t.parser.alternatives(n,r.map(((r,a)=>{let o={ALT:w((()=>!0),"ALT")},s=t.parser;o.ALT=()=>{if(r.ALT(e),!s.isRecording()){let t=i(n,s);s.unorderedGroups.get(t)||s.unorderedGroups.set(t,[]);let e=s.unorderedGroups.get(t);typeof e?.[a]>"u"&&(e[a]=!0)}};let l=r.GATE;return o.GATE=l?()=>l(e):()=>{let t=s.unorderedGroups.get(i(n,s));return!t?.[a]},o})))),"alternatives"),o=Pct(t,Rct(e),a,"*");return e=>{o(e),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function Mct(t,e){let r=e.elements.map((e=>_ct(t,e)));return t=>r.forEach((e=>e(t)))}function Rct(t){if(u8(t))return t.guardCondition}function Dct(t,e,r=e.terminal){if(r){if(g8(r)&&K7(r.rule.ref)){let n=t.subrule++;return i=>t.parser.subrule(n,Bct(t,r.rule.ref),e,i)}if(g8(r)&&e8(r.rule.ref)){let n=t.consume++,i=$ct(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}if(d8(r)){let n=t.consume++,i=$ct(t,r.value);return()=>t.parser.consume(n,i,e)}throw new Error("Could not build cross reference parser")}{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let r=Ctt(e.type.ref),n=r?.terminal;if(!n)throw new Error("Could not find name assignment for type: "+Btt(e.type.ref));return Dct(t,e,n)}}function Oct(t,e){let r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function Pct(t,e,r,n){let i=e&&Lct(e);if(!n){if(i){let e=t.or++;return n=>t.parser.alternatives(e,[{ALT:w((()=>r(n)),"ALT"),GATE:w((()=>i(n)),"GATE")},{ALT:Zat(),GATE:w((()=>!i(n)),"GATE")}])}return r}if("*"===n){let e=t.many++;return n=>t.parser.many(e,{DEF:w((()=>r(n)),"DEF"),GATE:i?()=>i(n):void 0})}if("+"===n){let e=t.many++;if(i){let n=t.or++;return a=>t.parser.alternatives(n,[{ALT:w((()=>t.parser.atLeastOne(e,{DEF:w((()=>r(a)),"DEF")})),"ALT"),GATE:w((()=>i(a)),"GATE")},{ALT:Zat(),GATE:w((()=>!i(a)),"GATE")}])}return n=>t.parser.atLeastOne(e,{DEF:w((()=>r(n)),"DEF")})}if("?"===n){let e=t.optional++;return n=>t.parser.optional(e,{DEF:w((()=>r(n)),"DEF"),GATE:i?()=>i(n):void 0})}E7()}function Bct(t,e){let r=Fct(t,e),n=t.rules.get(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function Fct(t,e){if(K7(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!K7(n);)(u8(n)||o8(n)||x8(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function $ct(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}var zct=k((()=>{cot(),y9(),C7(),t7(),Ktt(),w(Tct,"createParser"),w(Ect,"buildRules"),w(_ct,"buildElement"),w(Cct,"buildAction"),w(Sct,"buildRuleCall"),w(Act,"buildRuleCallPredicate"),w(Lct,"buildPredicate"),w(Nct,"buildAlternatives"),w(Ict,"buildUnorderedGroup"),w(Mct,"buildGroup"),w(Rct,"getGuardCondition"),w(Dct,"buildCrossReference"),w(Oct,"buildKeyword"),w(Pct,"wrap"),w(Bct,"getRule"),w(Fct,"getRuleName"),w($ct,"getToken")}));function Uct(t){let e=t.Grammar,r=t.parser.Lexer,n=new xct(t);return Tct(e,n,r.definition),n.finalize(),n}var Gct=k((()=>{kct(),zct(),w(Uct,"createCompletionParser")}));function qct(t){let e=Yct(t);return e.finalize(),e}function Yct(t){let e=t.Grammar,r=t.parser.Lexer;return Tct(e,new mct(t),r.definition)}var jct,Hct,Wct,Vct=k((()=>{kct(),zct(),w(qct,"createLangiumParser"),w(Yct,"prepareLangiumParser")})),Xct=k((()=>{cot(),y9(),R9(),Ktt(),utt(),t7(),jct=class{static{w(this,"DefaultTokenBuilder")}buildTokens(t,e){let r=V6(gtt(t,!1)),n=this.buildTerminalTokens(r),i=this.buildKeywordTokens(r,n,e);return n.forEach((t=>{let e=t.PATTERN;"object"==typeof e&&e&&"test"in e&&rtt(e)?i.unshift(t):i.push(t)})),i}buildTerminalTokens(t){return t.filter(e8).filter((t=>!t.fragment)).map((t=>this.buildTerminalToken(t))).toArray()}buildTerminalToken(t){let e=ztt(t),r=this.requiresCustomPattern(e)?this.regexPatternFunction(e):e,n={name:t.name,PATTERN:r,LINE_BREAKS:!0};return t.hidden&&(n.GROUP=rtt(e)?dnt.SKIPPED:"hidden"),n}requiresCustomPattern(t){return!!t.flags.includes("u")||!(!t.source.includes("?<=")&&!t.source.includes("?(e.lastIndex=r,e.exec(t))}buildKeywordTokens(t,e,r){return t.filter(K7).flatMap((t=>_9(t).filter(d8))).distinct((t=>t.value)).toArray().sort(((t,e)=>e.value.length-t.value.length)).map((t=>this.buildKeywordToken(t,e,!!r?.caseInsensitive)))}buildKeywordToken(t,e,r){return{name:t.value,PATTERN:this.buildKeywordPattern(t,r),LONGER_ALT:this.findLongerAlt(t,e)}}buildKeywordPattern(t,e){return e?new RegExp(itt(t.value)):t.value}findLongerAlt(t,e){return e.reduce(((e,r)=>{let n=r?.PATTERN;return n?.source&&att("^"+n.source+"$",t.value)&&e.push(r),e}),[])}}})),Kct=k((()=>{y9(),Ktt(),Hct=class{static{w(this,"DefaultValueConverter")}convert(t,e){let r=e.grammarSource;if(c8(r)&&(r=ytt(r)),g8(r)){let n=r.rule.ref;if(!n)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(n,t,e)}return t}runConverter(t,e,r){var n;switch(t.name.toUpperCase()){case"INT":return Wct.convertInt(e);case"STRING":return Wct.convertString(e);case"ID":return Wct.convertID(e)}switch(null===(n=$tt(t))||void 0===n?void 0:n.toLowerCase()){case"number":return Wct.convertNumber(e);case"boolean":return Wct.convertBoolean(e);case"bigint":return Wct.convertBigint(e);case"date":return Wct.convertDate(e);default:return e}}},function(t){function e(t){let e="";for(let n=1;n{var e;function r(){if(void 0===e)throw new Error("No runtime abstraction layer installed");return e}Object.defineProperty(t,"__esModule",{value:!0}),w(r,"RAL"),function(t){function r(t){if(void 0===t)throw new Error("No runtime abstraction layer provided");e=t}w(r,"install"),t.install=r}(r||(r={})),t.default=r})),Qct=T((t=>{function e(t){return!0===t||!1===t}function r(t){return"string"==typeof t||t instanceof String}function n(t){return"number"==typeof t||t instanceof Number}function i(t){return t instanceof Error}function a(t){return"function"==typeof t}function o(t){return Array.isArray(t)}function s(t){return o(t)&&t.every((t=>r(t)))}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,w(e,"boolean"),t.boolean=e,w(r,"string"),t.string=r,w(n,"number"),t.number=n,w(i,"error"),t.error=i,w(a,"func"),t.func=a,w(o,"array"),t.array=o,w(s,"stringArray"),t.stringArray=s})),Jct=T((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;var e,r=Zct();!function(t){let e={dispose(){}};t.None=function(){return e}}(e||(t.Event=e={}));var n=class{static{w(this,"CallbackList")}add(t,e=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(t),this._contexts.push(e),Array.isArray(r)&&r.push({dispose:w((()=>this.remove(t,e)),"dispose")})}remove(t,e=null){if(!this._callbacks)return;let r=!1;for(let n=0,i=this._callbacks.length;n{this._callbacks||(this._callbacks=new n),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let a={dispose:w((()=>{this._callbacks&&(this._callbacks.remove(e,r),a.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}),"dispose")};return Array.isArray(i)&&i.push(a),a}),this._event}fire(t){this._callbacks&&this._callbacks.invoke.call(this._callbacks,t)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};t.Emitter=i,i._noop=function(){}})),tht=T((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;var e,r=Zct(),n=Qct(),i=Jct();!function(t){function e(e){let r=e;return r&&(r===t.None||r===t.Cancelled||n.boolean(r.isCancellationRequested)&&!!r.onCancellationRequested)}t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:i.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:i.Event.None}),w(e,"is"),t.is=e}(e||(t.CancellationToken=e={}));var a=Object.freeze((function(t,e){let n=(0,r.default)().timer.setTimeout(t.bind(e),0);return{dispose(){n.dispose()}}})),o=class{static{w(this,"MutableToken")}constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new i.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},s=class{static{w(this,"CancellationTokenSource")}get token(){return this._token||(this._token=new o),this._token}cancel(){this._token?this._token.cancel():this._token=e.Cancelled}dispose(){this._token?this._token instanceof o&&this._token.dispose():this._token=e.None}};t.CancellationTokenSource=s})),eht={},rht=k((()=>{C(eht,S(tht(),1))}));function nht(){return new Promise((t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)}))}function iht(){return lht=Date.now(),new eht.CancellationTokenSource}function aht(t){cht=t}function oht(t){return t===hht}async function sht(t){if(t===eht.CancellationToken.None)return;let e=Date.now();if(e-lht>=cht&&(lht=e,await nht()),t.isCancellationRequested)throw hht}var lht,cht,hht,uht,dht=k((()=>{rht(),w(nht,"delayNextTick"),lht=0,cht=10,w(iht,"startCancelableOperation"),w(aht,"setInterruptionPeriod"),hht=Symbol("OperationCancelled"),w(oht,"isOperationCancelled"),w(sht,"interruptAndCheck"),uht=class{static{w(this,"Deferred")}constructor(){this.promise=new Promise(((t,e)=>{this.resolve=e=>(t(e),this),this.reject=t=>(e(t),this)}))}}}));function pht(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);pht(n,e),pht(i,e);let a=0,o=0,s=0;for(;ar.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function yht(t){let e=mht(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var vht,xht,bht,wht,kht,Tht,Eht,_ht,Cht,Sht,Aht=k((()=>{vht=class t{static{w(this,"FullTextDocument")}constructor(t,e,r,n){this._uri=t,this._languageId=e,this._version=r,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(t){if(t){let e=this.offsetAt(t.start),r=this.offsetAt(t.end);return this._content.substring(e,r)}return this._content}update(e,r){for(let r of e)if(t.isIncremental(r)){let t=mht(r.range),e=this.offsetAt(t.start),n=this.offsetAt(t.end);this._content=this._content.substring(0,e)+r.text+this._content.substring(n,this._content.length);let i=Math.max(t.start.line,0),a=Math.max(t.end.line,0),o=this._lineOffsets,s=fht(r.text,!1,e);if(a-i===s.length)for(let t=0,e=s.length;tt?n=i:r=i+1}let i=r-1;return{line:i,character:(t=this.ensureBeforeEOL(t,e[i]))-e[i]}}offsetAt(t){let e=this.getLineOffsets();if(t.line>=e.length)return this._content.length;if(t.line<0)return 0;let r=e[t.line];if(t.character<=0)return r;let n=t.line+1e&&ght(this._content.charCodeAt(t-1));)t--;return t}get lineCount(){return this.getLineOffsets().length}static isIncremental(t){let e=t;return null!=e&&"string"==typeof e.text&&void 0!==e.range&&(void 0===e.rangeLength||"number"==typeof e.rangeLength)}static isFull(t){let e=t;return null!=e&&"string"==typeof e.text&&void 0===e.range&&void 0===e.rangeLength}},function(t){function e(t,e,r,n){return new vht(t,e,r,n)}function r(t,e,r){if(t instanceof vht)return t.update(e,r),t;throw new Error("TextDocument.update: document must be created by TextDocument.create")}function n(t,e){let r=t.getText(),n=pht(e.map(yht),((t,e)=>{let r=t.range.start.line-e.range.start.line;return 0===r?t.range.start.character-e.range.start.character:r})),i=0,a=[];for(let e of n){let n=t.offsetAt(e.range.start);if(ni&&a.push(r.substring(i,n)),e.newText.length&&a.push(e.newText),i=t.offsetAt(e.range.end)}return a.push(r.substr(i)),a.join("")}w(e,"create"),t.create=e,w(r,"update"),t.update=r,w(n,"applyEdits"),t.applyEdits=n}(xht||(xht={})),w(pht,"mergeSort"),w(fht,"computeLineOffsets"),w(ght,"isEOL"),w(mht,"getWellformedRange"),w(yht,"getWellformedEdit")})),Lht=k((()=>{(()=>{var t={470:t=>{function e(t){if("string"!=typeof t)throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}function r(t,e){for(var r,n="",i=0,a=-1,o=0,s=0;s<=t.length;++s){if(s2){var l=n.lastIndexOf("/");if(l!==n.length-1){-1===l?(n="",i=0):i=(n=n.slice(0,l)).length-1-n.lastIndexOf("/"),a=s,o=0;continue}}else if(2===n.length||1===n.length){n="",i=0,a=s,o=0;continue}e&&(n.length>0?n+="/..":n="..",i=2)}else n.length>0?n+="/"+t.slice(a+1,s):n=t.slice(a+1,s),i=s-a-1;a=s,o=0}else 46===r&&-1!==o?++o:o=-1}return n}w(e,"e"),w(r,"r");var n={resolve:w((function(){for(var t,n="",i=!1,a=arguments.length-1;a>=-1&&!i;a--){var o;a>=0?o=arguments[a]:(void 0===t&&(t=process.cwd()),o=t),e(o),0!==o.length&&(n=o+"/"+n,i=47===o.charCodeAt(0))}return n=r(n,!i),i?n.length>0?"/"+n:"/":n.length>0?n:"."}),"resolve"),normalize:w((function(t){if(e(t),0===t.length)return".";var n=47===t.charCodeAt(0),i=47===t.charCodeAt(t.length-1);return 0!==(t=r(t,!n)).length||n||(t="."),t.length>0&&i&&(t+="/"),n?"/"+t:t}),"normalize"),isAbsolute:w((function(t){return e(t),t.length>0&&47===t.charCodeAt(0)}),"isAbsolute"),join:w((function(){if(0===arguments.length)return".";for(var t,r=0;r0&&(void 0===t?t=i:t+="/"+i)}return void 0===t?".":n.normalize(t)}),"join"),relative:w((function(t,r){if(e(t),e(r),t===r||(t=n.resolve(t))===(r=n.resolve(r)))return"";for(var i=1;ic){if(47===r.charCodeAt(s+u))return r.slice(s+u+1);if(0===u)return r.slice(s+u)}else o>c&&(47===t.charCodeAt(i+u)?h=u:0===u&&(h=0));break}var d=t.charCodeAt(i+u);if(d!==r.charCodeAt(s+u))break;47===d&&(h=u)}var p="";for(u=i+h+1;u<=a;++u)u!==a&&47!==t.charCodeAt(u)||(0===p.length?p+="..":p+="/..");return p.length>0?p+r.slice(s+h):(s+=h,47===r.charCodeAt(s)&&++s,r.slice(s))}),"relative"),_makeLong:w((function(t){return t}),"_makeLong"),dirname:w((function(t){if(e(t),0===t.length)return".";for(var r=t.charCodeAt(0),n=47===r,i=-1,a=!0,o=t.length-1;o>=1;--o)if(47===(r=t.charCodeAt(o))){if(!a){i=o;break}}else a=!1;return-1===i?n?"/":".":n&&1===i?"//":t.slice(0,i)}),"dirname"),basename:w((function(t,r){if(void 0!==r&&"string"!=typeof r)throw new TypeError('"ext" argument must be a string');e(t);var n,i=0,a=-1,o=!0;if(void 0!==r&&r.length>0&&r.length<=t.length){if(r.length===t.length&&r===t)return"";var s=r.length-1,l=-1;for(n=t.length-1;n>=0;--n){var c=t.charCodeAt(n);if(47===c){if(!o){i=n+1;break}}else-1===l&&(o=!1,l=n+1),s>=0&&(c===r.charCodeAt(s)?-1==--s&&(a=n):(s=-1,a=l))}return i===a?a=l:-1===a&&(a=t.length),t.slice(i,a)}for(n=t.length-1;n>=0;--n)if(47===t.charCodeAt(n)){if(!o){i=n+1;break}}else-1===a&&(o=!1,a=n+1);return-1===a?"":t.slice(i,a)}),"basename"),extname:w((function(t){e(t);for(var r=-1,n=0,i=-1,a=!0,o=0,s=t.length-1;s>=0;--s){var l=t.charCodeAt(s);if(47!==l)-1===i&&(a=!1,i=s+1),46===l?-1===r?r=s:1!==o&&(o=1):-1!==r&&(o=-1);else if(!a){n=s+1;break}}return-1===r||-1===i||0===o||1===o&&r===i-1&&r===n+1?"":t.slice(r,i)}),"extname"),format:w((function(t){if(null===t||"object"!=typeof t)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof t);return r=(e=t).dir||e.root,n=e.base||(e.name||"")+(e.ext||""),r?r===e.root?r+n:r+"/"+n:n;var e,r,n}),"format"),parse:w((function(t){e(t);var r={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return r;var n,i=t.charCodeAt(0),a=47===i;a?(r.root="/",n=1):n=0;for(var o=-1,s=0,l=-1,c=!0,h=t.length-1,u=0;h>=n;--h)if(47!==(i=t.charCodeAt(h)))-1===l&&(c=!1,l=h+1),46===i?-1===o?o=h:1!==u&&(u=1):-1!==o&&(u=-1);else if(!c){s=h+1;break}return-1===o||-1===l||0===u||1===u&&o===l-1&&o===s+1?-1!==l&&(r.base=r.name=0===s&&a?t.slice(1,l):t.slice(s,l)):(0===s&&a?(r.name=t.slice(1,o),r.base=t.slice(1,l)):(r.name=t.slice(s,o),r.base=t.slice(s,l)),r.ext=t.slice(o,l)),s>0?r.dir=t.slice(0,s-1):a&&(r.dir="/"),r}),"parse"),sep:"/",delimiter:":",win32:null,posix:null};n.posix=n,t.exports=n}},e={};function r(n){var i=e[n];if(void 0!==i)return i.exports;var a=e[n]={exports:{}};return t[n](a,a.exports,r),a.exports}w(r,"r"),r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};(()=>{let t;r.r(n),r.d(n,{URI:w((()=>h),"URI"),Utils:w((()=>_),"Utils")}),"object"==typeof process?t="win32"===process.platform:"object"==typeof navigator&&(t=navigator.userAgent.indexOf("Windows")>=0);let e=/^\w[\w\d+.-]*$/,i=/^\//,a=/^\/\//;function o(t,r){if(!t.scheme&&r)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${t.authority}", path: "${t.path}", query: "${t.query}", fragment: "${t.fragment}"}`);if(t.scheme&&!e.test(t.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(t.path)if(t.authority){if(!i.test(t.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(a.test(t.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}w(o,"s");let s="",l="/",c=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class h{static{w(this,"f")}static isUri(t){return t instanceof h||!!t&&"string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"string"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString}scheme;authority;path;query;fragment;constructor(t,e,r,n,i,a=!1){var c;"object"==typeof t?(this.scheme=t.scheme||s,this.authority=t.authority||s,this.path=t.path||s,this.query=t.query||s,this.fragment=t.fragment||s):(this.scheme=(c=t)||a?c:"file",this.authority=e||s,this.path=function(t,e){switch(t){case"https":case"http":case"file":e?e[0]!==l&&(e=l+e):e=l}return e}(this.scheme,r||s),this.query=n||s,this.fragment=i||s,o(this,a))}get fsPath(){return m(this,!1)}with(t){if(!t)return this;let{scheme:e,authority:r,path:n,query:i,fragment:a}=t;return void 0===e?e=this.scheme:null===e&&(e=s),void 0===r?r=this.authority:null===r&&(r=s),void 0===n?n=this.path:null===n&&(n=s),void 0===i?i=this.query:null===i&&(i=s),void 0===a?a=this.fragment:null===a&&(a=s),e===this.scheme&&r===this.authority&&n===this.path&&i===this.query&&a===this.fragment?this:new d(e,r,n,i,a)}static parse(t,e=!1){let r=c.exec(t);return r?new d(r[2]||s,b(r[4]||s),b(r[5]||s),b(r[7]||s),b(r[9]||s),e):new d(s,s,s,s,s)}static file(e){let r=s;if(t&&(e=e.replace(/\\/g,l)),e[0]===l&&e[1]===l){let t=e.indexOf(l,2);-1===t?(r=e.substring(2),e=l):(r=e.substring(2,t),e=e.substring(t)||l)}return new d("file",r,e,s,s)}static from(t){let e=new d(t.scheme,t.authority,t.path,t.query,t.fragment);return o(e,!0),e}toString(t=!1){return y(this,t)}toJSON(){return this}static revive(t){if(t){if(t instanceof h)return t;{let e=new d(t);return e._formatted=t.external,e._fsPath=t._sep===u?t.fsPath:null,e}}return t}}let u=t?1:void 0;class d extends h{static{w(this,"l")}_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=m(this,!1)),this._fsPath}toString(t=!1){return t?y(this,!0):(this._formatted||(this._formatted=y(this,!1)),this._formatted)}toJSON(){let t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=u),this._formatted&&(t.external=this._formatted),this.path&&(t.path=this.path),this.scheme&&(t.scheme=this.scheme),this.authority&&(t.authority=this.authority),this.query&&(t.query=this.query),this.fragment&&(t.fragment=this.fragment),t}}let p={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function f(t,e,r){let n,i=-1;for(let a=0;a=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||45===o||46===o||95===o||126===o||e&&47===o||r&&91===o||r&&93===o||r&&58===o)-1!==i&&(n+=encodeURIComponent(t.substring(i,a)),i=-1),void 0!==n&&(n+=t.charAt(a));else{void 0===n&&(n=t.substr(0,a));let e=p[o];void 0!==e?(-1!==i&&(n+=encodeURIComponent(t.substring(i,a)),i=-1),n+=e):-1===i&&(i=a)}}return-1!==i&&(n+=encodeURIComponent(t.substring(i))),void 0!==n?n:t}function g(t){let e;for(let r=0;r1&&"file"===e.scheme?`//${e.authority}${e.path}`:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?r?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,t&&(n=n.replace(/\//g,"\\")),n}function y(t,e){let r=e?g:f,n="",{scheme:i,authority:a,path:o,query:s,fragment:c}=t;if(i&&(n+=i,n+=":"),(a||"file"===i)&&(n+=l,n+=l),a){let t=a.indexOf("@");if(-1!==t){let e=a.substr(0,t);a=a.substr(t+1),t=e.lastIndexOf(":"),-1===t?n+=r(e,!1,!1):(n+=r(e.substr(0,t),!1,!1),n+=":",n+=r(e.substr(t+1),!1,!0)),n+="@"}a=a.toLowerCase(),t=a.lastIndexOf(":"),-1===t?n+=r(a,!1,!0):(n+=r(a.substr(0,t),!1,!0),n+=a.substr(t))}if(o){if(o.length>=3&&47===o.charCodeAt(0)&&58===o.charCodeAt(2)){let t=o.charCodeAt(1);t>=65&&t<=90&&(o=`/${String.fromCharCode(t+32)}:${o.substr(3)}`)}else if(o.length>=2&&58===o.charCodeAt(1)){let t=o.charCodeAt(0);t>=65&&t<=90&&(o=`${String.fromCharCode(t+32)}:${o.substr(2)}`)}n+=r(o,!0,!1)}return s&&(n+="?",n+=r(s,!1,!1)),c&&(n+="#",n+=e?c:f(c,!1,!1)),n}function v(t){try{return decodeURIComponent(t)}catch{return t.length>3?t.substr(0,3)+v(t.substr(3)):t}}w(f,"d"),w(g,"p"),w(m,"m"),w(y,"y"),w(v,"v");let x=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function b(t){return t.match(x)?t.replace(x,(t=>v(t))):t}w(b,"C");var k=r(470);let T=k.posix||k,E="/";var _,C;(C=_||(_={})).joinPath=function(t,...e){return t.with({path:T.join(t.path,...e)})},C.resolvePath=function(t,...e){let r=t.path,n=!1;r[0]!==E&&(r=E+r,n=!0);let i=T.resolve(r,...e);return n&&i[0]===E&&!t.authority&&(i=i.substring(1)),t.with({path:i})},C.dirname=function(t){if(0===t.path.length||t.path===E)return t;let e=T.dirname(t.path);return 1===e.length&&46===e.charCodeAt(0)&&(e=""),t.with({path:e})},C.basename=function(t){return T.basename(t.path)},C.extname=function(t){return T.extname(t.path)}})(),bht=n})(),({URI:wht,Utils:kht}=bht)})),Nht=k((()=>{Lht(),function(t){function e(t,e){return t?.toString()===e?.toString()}function r(t,e){let r="string"==typeof t?t:t.path,n="string"==typeof e?e:e.path,i=r.split("/").filter((t=>t.length>0)),a=n.split("/").filter((t=>t.length>0)),o=0;for(;o{var t;Aht(),Iht(),rht(),t7(),Nht(),(t=Eht||(Eht={}))[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated",_ht=class{static{w(this,"DefaultLangiumDocumentFactory")}constructor(t){this.serviceRegistry=t.ServiceRegistry,this.textDocuments=t.workspace.TextDocuments,this.fileSystemProvider=t.workspace.FileSystemProvider}async fromUri(t,e=eht.CancellationToken.None){let r=await this.fileSystemProvider.readFile(t);return this.createAsync(t,r,e)}fromTextDocument(t,e,r){return e=e??wht.parse(t.uri),r?this.createAsync(e,t,r):this.create(e,t)}fromString(t,e,r){return r?this.createAsync(e,t,r):this.create(e,t)}fromModel(t,e){return this.create(e,{$model:t})}create(t,e){if("string"==typeof e){let r=this.parse(t,e);return this.createLangiumDocument(r,t,void 0,e)}if("$model"in e){let r={value:e.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(r,t)}{let r=this.parse(t,e.getText());return this.createLangiumDocument(r,t,e)}}async createAsync(t,e,r){if("string"==typeof e){let n=await this.parseAsync(t,e,r);return this.createLangiumDocument(n,t,void 0,e)}{let n=await this.parseAsync(t,e.getText(),r);return this.createLangiumDocument(n,t,e)}}createLangiumDocument(t,e,r,n){let i;if(r)i={parseResult:t,uri:e,state:Eht.Parsed,references:[],textDocument:r};else{let r=this.createTextDocumentGetter(e,n);i={parseResult:t,uri:e,state:Eht.Parsed,references:[],get textDocument(){return r()}}}return t.value.$document=i,i}async update(t,e){var r,n;let i=null===(r=t.parseResult.value.$cstNode)||void 0===r?void 0:r.root.fullText,a=null===(n=this.textDocuments)||void 0===n?void 0:n.get(t.uri.toString()),o=a?a.getText():await this.fileSystemProvider.readFile(t.uri);if(a)Object.defineProperty(t,"textDocument",{value:a});else{let e=this.createTextDocumentGetter(t.uri,o);Object.defineProperty(t,"textDocument",{get:e})}return i!==o&&(t.parseResult=await this.parseAsync(t.uri,o,e),t.parseResult.value.$document=t),t.state=Eht.Parsed,t}parse(t,e){return this.serviceRegistry.getServices(t).parser.LangiumParser.parse(e)}parseAsync(t,e,r){return this.serviceRegistry.getServices(t).parser.AsyncParser.parse(e,r)}createTextDocumentGetter(t,e){let r,n=this.serviceRegistry;return()=>r??(r=xht.create(t.toString(),n.getServices(t).LanguageMetaData.languageId,0,e??""))}},Cht=class{static{w(this,"DefaultLangiumDocuments")}constructor(t){this.documentMap=new Map,this.langiumDocumentFactory=t.workspace.LangiumDocumentFactory}get all(){return V6(this.documentMap.values())}addDocument(t){let e=t.uri.toString();if(this.documentMap.has(e))throw new Error(`A document with the URI '${e}' is already present.`);this.documentMap.set(e,t)}getDocument(t){let e=t.toString();return this.documentMap.get(e)}async getOrCreateDocument(t,e){let r=this.getDocument(t);return r||(r=await this.langiumDocumentFactory.fromUri(t,e),this.addDocument(r),r)}createDocument(t,e,r){if(r)return this.langiumDocumentFactory.fromString(e,t,r).then((t=>(this.addDocument(t),t)));{let r=this.langiumDocumentFactory.fromString(e,t);return this.addDocument(r),r}}hasDocument(t){return this.documentMap.has(t.toString())}invalidateDocument(t){let e=t.toString(),r=this.documentMap.get(e);return r&&(r.state=Eht.Changed,r.precomputedScopes=void 0,r.references=[],r.diagnostics=void 0),r}deleteDocument(t){let e=t.toString(),r=this.documentMap.get(e);return r&&(r.state=Eht.Changed,this.documentMap.delete(e)),r}}})),Mht=k((()=>{rht(),j6(),R9(),dht(),Iht(),Sht=class{static{w(this,"DefaultLinker")}constructor(t){this.reflection=t.shared.AstReflection,this.langiumDocuments=()=>t.shared.workspace.LangiumDocuments,this.scopeProvider=t.references.ScopeProvider,this.astNodeLocator=t.workspace.AstNodeLocator}async link(t,e=eht.CancellationToken.None){for(let r of C9(t.parseResult.value))await sht(e),A9(r).forEach((e=>this.doLink(e,t)))}doLink(t,e){let r=t.reference;if(void 0===r._ref)try{let e=this.getCandidate(t);if(z6(e))r._ref=e;else if(r._nodeDescription=e,this.langiumDocuments().hasDocument(e.documentUri)){let n=this.loadAstNode(e);r._ref=n??this.createLinkingError(t,e)}}catch(e){r._ref=Object.assign(Object.assign({},t),{message:`An error occurred while resolving reference to '${r.$refText}': ${e}`})}e.references.push(r)}unlink(t){for(let e of t.references)delete e._ref,delete e._nodeDescription;t.references=[]}getCandidate(t){return this.scopeProvider.getScope(t).getElement(t.reference.$refText)??this.createLinkingError(t)}buildReference(t,e,r,n){let i=this,a={$refNode:r,$refText:n,get ref(){var r;if(B6(this._ref))return this._ref;if($6(this._nodeDescription)){let r=i.loadAstNode(this._nodeDescription);this._ref=r??i.createLinkingError({reference:a,container:t,property:e},this._nodeDescription)}else if(void 0===this._ref){let n=i.getLinkedNode({reference:a,container:t,property:e});if(n.error&&k9(t).state{Ktt(),w(Rht,"isNamed"),Dht=class{static{w(this,"DefaultNameProvider")}getName(t){if(Rht(t))return t.name}getNameNode(t){return btt(t.$cstNode,"name")}}})),Xht=k((()=>{Ktt(),j6(),R9(),T7(),t7(),Nht(),Oht=class{static{w(this,"DefaultReferences")}constructor(t){this.nameProvider=t.references.NameProvider,this.index=t.shared.workspace.IndexManager,this.nodeLocator=t.workspace.AstNodeLocator}findDeclaration(t){if(t){let e=_tt(t),r=t.astNode;if(e&&r){let n=r[e.feature];if(F6(n))return n.ref;if(Array.isArray(n))for(let e of n)if(F6(e)&&e.$refNode&&e.$refNode.offset<=t.offset&&e.$refNode.end>=t.end)return e.ref}if(r){let e=this.nameProvider.getNameNode(r);if(e&&(e===t||i7(t,e)))return r}}}findDeclarationNode(t){let e=this.findDeclaration(t);if(e?.$cstNode)return this.nameProvider.getNameNode(e)??e.$cstNode}findReferences(t,e){let r=[];if(e.includeDeclaration){let e=this.getReferenceToSelf(t);e&&r.push(e)}let n=this.index.findAllReferences(t,this.nodeLocator.getAstNodePath(t));return e.documentUri&&(n=n.filter((t=>Tht.equals(t.sourceUri,e.documentUri)))),r.push(...n),V6(r)}getReferenceToSelf(t){let e=this.nameProvider.getNameNode(t);if(e){let r=k9(t),n=this.nodeLocator.getAstNodePath(t);return{sourceUri:r.uri,sourcePath:n,targetUri:r.uri,targetPath:n,segment:o7(e),local:!0}}}}})),Kht=k((()=>{t7(),Pht=class{static{w(this,"MultiMap")}constructor(t){if(this.map=new Map,t)for(let[e,r]of t)this.add(e,r)}get size(){return J6.sum(V6(this.map.values()).map((t=>t.length)))}clear(){this.map.clear()}delete(t,e){if(void 0===e)return this.map.delete(t);{let r=this.map.get(t);if(r){let n=r.indexOf(e);if(n>=0)return 1===r.length?this.map.delete(t):r.splice(n,1),!0}return!1}}get(t){var e;return null!==(e=this.map.get(t))&&void 0!==e?e:[]}has(t,e){if(void 0===e)return this.map.has(t);{let r=this.map.get(t);return!!r&&r.indexOf(e)>=0}}add(t,e){return this.map.has(t)?this.map.get(t).push(e):this.map.set(t,[e]),this}addAll(t,e){return this.map.has(t)?this.map.get(t).push(...e):this.map.set(t,Array.from(e)),this}forEach(t){this.map.forEach(((e,r)=>e.forEach((e=>t(e,r,this)))))}[Symbol.iterator](){return this.entries().iterator()}entries(){return V6(this.map.entries()).flatMap((([t,e])=>e.map((e=>[t,e]))))}keys(){return V6(this.map.keys())}values(){return V6(this.map.values()).flat()}entriesGroupedByKey(){return V6(this.map.entries())}},Bht=class{static{w(this,"BiMap")}get size(){return this.map.size}constructor(t){if(this.map=new Map,this.inverse=new Map,t)for(let[e,r]of t)this.set(e,r)}clear(){this.map.clear(),this.inverse.clear()}set(t,e){return this.map.set(t,e),this.inverse.set(e,t),this}get(t){return this.map.get(t)}getKey(t){return this.inverse.get(t)}delete(t){let e=this.map.get(t);return void 0!==e&&(this.map.delete(t),this.inverse.delete(e),!0)}}})),Zht=k((()=>{rht(),R9(),Kht(),dht(),Fht=class{static{w(this,"DefaultScopeComputation")}constructor(t){this.nameProvider=t.references.NameProvider,this.descriptions=t.workspace.AstNodeDescriptionProvider}async computeExports(t,e=eht.CancellationToken.None){return this.computeExportsForNode(t.parseResult.value,t,void 0,e)}async computeExportsForNode(t,e,r=E9,n=eht.CancellationToken.None){let i=[];this.exportNode(t,i,e);for(let a of r(t))await sht(n),this.exportNode(a,i,e);return i}exportNode(t,e,r){let n=this.nameProvider.getName(t);n&&e.push(this.descriptions.createDescription(t,n,r))}async computeLocalScopes(t,e=eht.CancellationToken.None){let r=t.parseResult.value,n=new Pht;for(let i of _9(r))await sht(e),this.processNode(i,t,n);return n}processNode(t,e,r){let n=t.$container;if(n){let i=this.nameProvider.getName(t);i&&r.add(n,this.descriptions.createDescription(t,i,e))}}}})),Qht=k((()=>{t7(),$ht=class{static{w(this,"StreamScope")}constructor(t,e,r){var n;this.elements=t,this.outerScope=e,this.caseInsensitive=null!==(n=r?.caseInsensitive)&&void 0!==n&&n}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(t){return(this.caseInsensitive?this.elements.find((e=>e.name.toLowerCase()===t.toLowerCase())):this.elements.find((e=>e.name===t)))||(this.outerScope?this.outerScope.getElement(t):void 0)}},zht=class{static{w(this,"MapScope")}constructor(t,e,r){var n;this.elements=new Map,this.caseInsensitive=null!==(n=r?.caseInsensitive)&&void 0!==n&&n;for(let e of t){let t=this.caseInsensitive?e.name.toLowerCase():e.name;this.elements.set(t,e)}this.outerScope=e}getElement(t){let e=this.caseInsensitive?t.toLowerCase():t;return this.elements.get(e)||(this.outerScope?this.outerScope.getElement(t):void 0)}getAllElements(){let t=V6(this.elements.values());return this.outerScope&&(t=t.concat(this.outerScope.getAllElements())),t}},Uht={getElement(){},getAllElements:()=>K6}})),Jht=k((()=>{Ght=class{static{w(this,"DisposableCache")}constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(t){this.toDispose.push(t)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach((t=>t.dispose()))}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}},qht=class extends Ght{static{w(this,"SimpleCache")}constructor(){super(...arguments),this.cache=new Map}has(t){return this.throwIfDisposed(),this.cache.has(t)}set(t,e){this.throwIfDisposed(),this.cache.set(t,e)}get(t,e){if(this.throwIfDisposed(),this.cache.has(t))return this.cache.get(t);if(e){let r=e();return this.cache.set(t,r),r}}delete(t){return this.throwIfDisposed(),this.cache.delete(t)}clear(){this.throwIfDisposed(),this.cache.clear()}},Yht=class extends Ght{static{w(this,"ContextCache")}constructor(t){super(),this.cache=new Map,this.converter=t??(t=>t)}has(t,e){return this.throwIfDisposed(),this.cacheForContext(t).has(e)}set(t,e,r){this.throwIfDisposed(),this.cacheForContext(t).set(e,r)}get(t,e,r){this.throwIfDisposed();let n=this.cacheForContext(t);if(n.has(e))return n.get(e);if(r){let t=r();return n.set(e,t),t}}delete(t,e){return this.throwIfDisposed(),this.cacheForContext(t).delete(e)}clear(t){if(this.throwIfDisposed(),t){let e=this.converter(t);this.cache.delete(e)}else this.cache.clear()}cacheForContext(t){let e=this.converter(t),r=this.cache.get(e);return r||(r=new Map,this.cache.set(e,r)),r}},jht=class extends Yht{static{w(this,"DocumentCache")}constructor(t){super((t=>t.toString())),this.onDispose(t.workspace.DocumentBuilder.onUpdate(((t,e)=>{let r=t.concat(e);for(let t of r)this.clear(t)})))}},Hht=class extends qht{static{w(this,"WorkspaceCache")}constructor(t){super(),this.onDispose(t.workspace.DocumentBuilder.onUpdate((()=>{this.clear()})))}}})),tut=k((()=>{Qht(),R9(),t7(),Jht(),Wht=class{static{w(this,"DefaultScopeProvider")}constructor(t){this.reflection=t.shared.AstReflection,this.nameProvider=t.references.NameProvider,this.descriptions=t.workspace.AstNodeDescriptionProvider,this.indexManager=t.shared.workspace.IndexManager,this.globalScopeCache=new Hht(t.shared)}getScope(t){let e=[],r=this.reflection.getReferenceType(t),n=k9(t.container).precomputedScopes;if(n){let i=t.container;do{let t=n.get(i);t.length>0&&e.push(V6(t).filter((t=>this.reflection.isSubtype(t.type,r)))),i=i.$container}while(i)}let i=this.getGlobalScope(r,t);for(let t=e.length-1;t>=0;t--)i=this.createScope(e[t],i);return i}createScope(t,e,r){return new $ht(V6(t),e,r)}createScopeForNodes(t,e,r){let n=V6(t).map((t=>{let e=this.nameProvider.getName(t);if(e)return this.descriptions.createDescription(t,e)})).nonNullable();return new $ht(n,e,r)}getGlobalScope(t,e){return this.globalScopeCache.get(t,(()=>new zht(this.indexManager.allElements(t))))}}}));function eut(t){return"string"==typeof t.$comment}function rut(t){return"object"==typeof t&&!!t&&("$ref"in t||"$error"in t)}var nut,iut,aut=k((()=>{Lht(),j6(),R9(),Ktt(),w(eut,"isAstNodeWithComment"),w(rut,"isIntermediateReference"),nut=class{static{w(this,"DefaultJsonSerializer")}constructor(t){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=t.shared.workspace.LangiumDocuments,this.astNodeLocator=t.workspace.AstNodeLocator,this.nameProvider=t.references.NameProvider,this.commentProvider=t.documentation.CommentProvider}serialize(t,e={}){let r=e?.replacer,n=w(((t,r)=>this.replacer(t,r,e)),"defaultReplacer"),i=r?(t,e)=>r(t,e,n):n;try{return this.currentDocument=k9(t),JSON.stringify(t,i,e?.space)}finally{this.currentDocument=void 0}}deserialize(t,e={}){let r=JSON.parse(t);return this.linkNode(r,r,e),r}replacer(t,e,{refText:r,sourceText:n,textRegions:i,comments:a,uriConverter:o}){var s,l,c,h;if(!this.ignoreProperties.has(t)){if(F6(e)){let t=e.ref,n=r?e.$refText:void 0;if(t){let r=k9(t),i="";return this.currentDocument&&this.currentDocument!==r&&(i=o?o(r.uri,e):r.uri.toString()),{$ref:`${i}#${this.astNodeLocator.getAstNodePath(t)}`,$refText:n}}return{$error:null!==(l=null===(s=e.error)||void 0===s?void 0:s.message)&&void 0!==l?l:"Could not resolve reference",$refText:n}}if(B6(e)){let r;if(i&&(r=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},e)),(!t||e.$document)&&r?.$textRegion&&(r.$textRegion.documentURI=null===(c=this.currentDocument)||void 0===c?void 0:c.uri.toString())),n&&!t&&(r??(r=Object.assign({},e)),r.$sourceText=null===(h=e.$cstNode)||void 0===h?void 0:h.text),a){r??(r=Object.assign({},e));let t=this.commentProvider.getComment(e);t&&(r.$comment=t.replace(/\r/g,""))}return r??e}return e}}addAstNodeRegionWithAssignmentsTo(t){let e=w((t=>({offset:t.offset,end:t.end,length:t.length,range:t.range})),"createDocumentSegment");if(t.$cstNode){let r=(t.$textRegion=e(t.$cstNode)).assignments={};return Object.keys(t).filter((t=>!t.startsWith("$"))).forEach((n=>{let i=xtt(t.$cstNode,n).map(e);0!==i.length&&(r[n]=i)})),t}}linkNode(t,e,r,n,i,a){for(let[n,i]of Object.entries(t))if(Array.isArray(i))for(let a=0;a{Nht(),iut=class{static{w(this,"DefaultServiceRegistry")}register(t){if(this.singleton||this.map){if(!this.map&&(this.map={},this.singleton)){for(let t of this.singleton.LanguageMetaData.fileExtensions)this.map[t]=this.singleton;this.singleton=void 0}for(let e of t.LanguageMetaData.fileExtensions)void 0!==this.map[e]&&this.map[e]!==t&&console.warn(`The file extension ${e} is used by multiple languages. It is now assigned to '${t.LanguageMetaData.languageId}'.`),this.map[e]=t}else this.singleton=t}getServices(t){if(void 0!==this.singleton)return this.singleton;if(void 0===this.map)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let e=Tht.extname(t),r=this.map[e];if(!r)throw new Error(`The service registry contains no services for the extension '${e}'.`);return r}get all(){return void 0!==this.singleton?[this.singleton]:void 0!==this.map?Object.values(this.map):[]}}}));function sut(t){return{code:t}}var lut,cut,hut=k((()=>{Kht(),dht(),t7(),w(sut,"diagnosticData"),(lut||(lut={})).all=["fast","slow","built-in"],cut=class{static{w(this,"ValidationRegistry")}constructor(t){this.entries=new Pht,this.reflection=t.shared.AstReflection}register(t,e=this,r="fast"){if("built-in"===r)throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(let[n,i]of Object.entries(t)){let t=i;if(Array.isArray(t))for(let i of t){let t={check:this.wrapValidationException(i,e),category:r};this.addEntry(n,t)}else if("function"==typeof t){let i={check:this.wrapValidationException(t,e),category:r};this.addEntry(n,i)}}}wrapValidationException(t,e){return async(r,n,i)=>{try{await t.call(e,r,n,i)}catch(t){if(oht(t))throw t;console.error("An error occurred during validation:",t);let e=t instanceof Error?t.message:String(t);t instanceof Error&&t.stack&&console.error(t.stack),n("error","An error occurred during validation: "+e,{node:r})}}}addEntry(t,e){if("AstNode"!==t)for(let r of this.reflection.getAllSubTypes(t))this.entries.add(r,e);else this.entries.add("AstNode",e)}getChecks(t,e){let r=V6(this.entries.get(t)).concat(this.entries.get("AstNode"));return e&&(r=r.filter((t=>e.includes(t.category)))),r.map((t=>t.check))}}}));function uut(t){if(t.range)return t.range;let e;return"string"==typeof t.property?e=btt(t.node.$cstNode,t.property,t.index):"string"==typeof t.keyword&&(e=Ttt(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function dut(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}var put,fut,gut,mut,yut,vut,xut,but,wut,kut,Tut=k((()=>{var t;rht(),Ktt(),R9(),T7(),dht(),hut(),put=class{static{w(this,"DefaultDocumentValidator")}constructor(t){this.validationRegistry=t.validation.ValidationRegistry,this.metadata=t.LanguageMetaData}async validateDocument(t,e={},r=eht.CancellationToken.None){let n=t.parseResult,i=[];if(await sht(r),(!e.categories||e.categories.includes("built-in"))&&(this.processLexingErrors(n,i,e),e.stopAfterLexingErrors&&i.some((t=>{var e;return(null===(e=t.data)||void 0===e?void 0:e.code)===fut.LexingError}))||(this.processParsingErrors(n,i,e),e.stopAfterParsingErrors&&i.some((t=>{var e;return(null===(e=t.data)||void 0===e?void 0:e.code)===fut.ParsingError})))||(this.processLinkingErrors(t,i,e),e.stopAfterLinkingErrors&&i.some((t=>{var e;return(null===(e=t.data)||void 0===e?void 0:e.code)===fut.LinkingError})))))return i;try{i.push(...await this.validateAst(n.value,e,r))}catch(t){if(oht(t))throw t;console.error("An error occurred during validation:",t)}return await sht(r),i}processLexingErrors(t,e,r){for(let r of t.lexerErrors){let t={severity:dut("error"),range:{start:{line:r.line-1,character:r.column-1},end:{line:r.line-1,character:r.column+r.length-1}},message:r.message,data:sut(fut.LexingError),source:this.getSource()};e.push(t)}}processParsingErrors(t,e,r){for(let r of t.parserErrors){let t;if(isNaN(r.token.startOffset)){if("previousToken"in r){let e=r.previousToken;if(isNaN(e.startOffset)){let e={line:0,character:0};t={start:e,end:e}}else{let r={line:e.endLine-1,character:e.endColumn};t={start:r,end:r}}}}else t=a7(r.token);if(t){let n={severity:dut("error"),range:t,message:r.message,data:sut(fut.ParsingError),source:this.getSource()};e.push(n)}}}processLinkingErrors(t,e,r){for(let r of t.references){let t=r.error;if(t){let r={node:t.container,property:t.property,index:t.index,data:{code:fut.LinkingError,containerType:t.container.$type,property:t.property,refText:t.reference.$refText}};e.push(this.toDiagnostic("error",t.message,r))}}}async validateAst(t,e,r=eht.CancellationToken.None){let n=[],i=w(((t,e,r)=>{n.push(this.toDiagnostic(t,e,r))}),"acceptor");return await Promise.all(C9(t).map((async t=>{await sht(r);let n=this.validationRegistry.getChecks(t.$type,e.categories);for(let e of n)await e(t,i,r)}))),n}toDiagnostic(t,e,r){return{message:e,range:uut(r),severity:dut(t),code:r.code,codeDescription:r.codeDescription,tags:r.tags,relatedInformation:r.relatedInformation,data:r.data,source:this.getSource()}}getSource(){return this.metadata.languageId}},w(uut,"getDiagnosticRange"),w(dut,"toDiagnosticSeverity"),(t=fut||(fut={})).LexingError="lexing-error",t.ParsingError="parsing-error",t.LinkingError="linking-error"})),Eut=k((()=>{rht(),j6(),R9(),T7(),dht(),Nht(),gut=class{static{w(this,"DefaultAstNodeDescriptionProvider")}constructor(t){this.astNodeLocator=t.workspace.AstNodeLocator,this.nameProvider=t.references.NameProvider}createDescription(t,e,r=k9(t)){e??(e=this.nameProvider.getName(t));let n=this.astNodeLocator.getAstNodePath(t);if(!e)throw new Error(`Node at path ${n} has no name.`);let i,a=w((()=>{var e;return i??(i=o7(null!==(e=this.nameProvider.getNameNode(t))&&void 0!==e?e:t.$cstNode))}),"nameSegmentGetter");return{node:t,name:e,get nameSegment(){return a()},selectionSegment:o7(t.$cstNode),type:t.$type,documentUri:r.uri,path:n}}},mut=class{static{w(this,"DefaultReferenceDescriptionProvider")}constructor(t){this.nodeLocator=t.workspace.AstNodeLocator}async createDescriptions(t,e=eht.CancellationToken.None){let r=[],n=t.parseResult.value;for(let t of C9(n))await sht(e),A9(t).filter((t=>!z6(t))).forEach((t=>{let e=this.createDescription(t);e&&r.push(e)}));return r}createDescription(t){let e=t.reference.$nodeDescription,r=t.reference.$refNode;if(!e||!r)return;let n=k9(t.container).uri;return{sourceUri:n,sourcePath:this.nodeLocator.getAstNodePath(t.container),targetUri:e.documentUri,targetPath:e.path,segment:o7(r),local:Tht.equals(e.documentUri,n)}}}})),_ut=k((()=>{yut=class{static{w(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(t){if(t.$container){let e=this.getAstNodePath(t.$container),r=this.getPathSegment(t);return e+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:t,$containerIndex:e}){if(!t)throw new Error("Missing '$containerProperty' in AST node.");return void 0!==e?t+this.indexSeparator+e:t}getAstNode(t,e){return e.split(this.segmentSeparator).reduce(((t,e)=>{if(!t||0===e.length)return t;let r=e.indexOf(this.indexSeparator);if(r>0){let n=e.substring(0,r),i=parseInt(e.substring(r+1)),a=t[n];return a?.[i]}return t[e]}),t)}}})),Cut=k((()=>{dht(),vut=class{static{w(this,"DefaultConfigurationProvider")}constructor(t){this._ready=new uht,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=t.ServiceRegistry}get ready(){return this._ready.promise}initialize(t){var e,r;this.workspaceConfig=null!==(r=null===(e=t.capabilities.workspace)||void 0===e?void 0:e.configuration)&&void 0!==r&&r}async initialized(t){if(this.workspaceConfig){if(t.register){let e=this.serviceRegistry.all;t.register({section:e.map((t=>this.toSectionName(t.LanguageMetaData.languageId)))})}if(t.fetchConfiguration){let e=this.serviceRegistry.all.map((t=>({section:this.toSectionName(t.LanguageMetaData.languageId)}))),r=await t.fetchConfiguration(e);e.forEach(((t,e)=>{this.updateSectionConfiguration(t.section,r[e])}))}}this._ready.resolve()}updateConfiguration(t){t.settings&&Object.keys(t.settings).forEach((e=>{this.updateSectionConfiguration(e,t.settings[e])}))}updateSectionConfiguration(t,e){this.settings[t]=e}async getConfiguration(t,e){await this.ready;let r=this.toSectionName(t);if(this.settings[r])return this.settings[r][e]}toSectionName(t){return`${t}`}}})),Sut=k((()=>{!function(t){function e(t){return{dispose:w((async()=>await t()),"dispose")}}w(e,"create"),t.create=e}(xut||(xut={}))})),Aut=k((()=>{rht(),Sut(),Kht(),dht(),t7(),hut(),Iht(),but=class{static{w(this,"DefaultDocumentBuilder")}constructor(t){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Pht,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=Eht.Changed,this.langiumDocuments=t.workspace.LangiumDocuments,this.langiumDocumentFactory=t.workspace.LangiumDocumentFactory,this.indexManager=t.workspace.IndexManager,this.serviceRegistry=t.ServiceRegistry}async build(t,e={},r=eht.CancellationToken.None){var n,i;for(let r of t){let t=r.uri.toString();if(r.state===Eht.Validated){if("boolean"==typeof e.validation&&e.validation)r.state=Eht.IndexedReferences,r.diagnostics=void 0,this.buildState.delete(t);else if("object"==typeof e.validation){let a=this.buildState.get(t),o=null===(n=a?.result)||void 0===n?void 0:n.validationChecks;if(o){let n=(null!==(i=e.validation.categories)&&void 0!==i?i:lut.all).filter((t=>!o.includes(t)));n.length>0&&(this.buildState.set(t,{completed:!1,options:{validation:Object.assign(Object.assign({},e.validation),{categories:n})},result:a.result}),r.state=Eht.IndexedReferences)}}}else this.buildState.delete(t)}this.currentState=Eht.Changed,await this.emitUpdate(t.map((t=>t.uri)),[]),await this.buildDocuments(t,e,r)}async update(t,e,r=eht.CancellationToken.None){this.currentState=Eht.Changed;for(let t of e)this.langiumDocuments.deleteDocument(t),this.buildState.delete(t.toString()),this.indexManager.remove(t);for(let e of t){if(!this.langiumDocuments.invalidateDocument(e)){let t=this.langiumDocumentFactory.fromModel({$type:"INVALID"},e);t.state=Eht.Changed,this.langiumDocuments.addDocument(t)}this.buildState.delete(e.toString())}let n=V6(t).concat(e).map((t=>t.toString())).toSet();this.langiumDocuments.all.filter((t=>!n.has(t.uri.toString())&&this.shouldRelink(t,n))).forEach((t=>{this.serviceRegistry.getServices(t.uri).references.Linker.unlink(t),t.state=Math.min(t.state,Eht.ComputedScopes),t.diagnostics=void 0})),await this.emitUpdate(t,e),await sht(r);let i=this.langiumDocuments.all.filter((t=>{var e;return t.stater(t,e))))}shouldRelink(t,e){return!!t.references.some((t=>void 0!==t.error))||this.indexManager.isAffected(t,e)}onUpdate(t){return this.updateListeners.push(t),xut.create((()=>{let e=this.updateListeners.indexOf(t);e>=0&&this.updateListeners.splice(e,1)}))}async buildDocuments(t,e,r){this.prepareBuild(t,e),await this.runCancelable(t,Eht.Parsed,r,(t=>this.langiumDocumentFactory.update(t,r))),await this.runCancelable(t,Eht.IndexedContent,r,(t=>this.indexManager.updateContent(t,r))),await this.runCancelable(t,Eht.ComputedScopes,r,(async t=>{let e=this.serviceRegistry.getServices(t.uri).references.ScopeComputation;t.precomputedScopes=await e.computeLocalScopes(t,r)})),await this.runCancelable(t,Eht.Linked,r,(t=>this.serviceRegistry.getServices(t.uri).references.Linker.link(t,r))),await this.runCancelable(t,Eht.IndexedReferences,r,(t=>this.indexManager.updateReferences(t,r)));let n=t.filter((t=>this.shouldValidate(t)));await this.runCancelable(n,Eht.Validated,r,(t=>this.validate(t,r)));for(let e of t){let t=this.buildState.get(e.uri.toString());t&&(t.completed=!0)}}prepareBuild(t,e){for(let r of t){let t=r.uri.toString(),n=this.buildState.get(t);(!n||n.completed)&&this.buildState.set(t,{completed:!1,options:e,result:n?.result})}}async runCancelable(t,e,r,n){let i=t.filter((t=>t.state{this.buildPhaseListeners.delete(t,e)}))}waitUntil(t,e,r){let n;if(e&&"path"in e?n=e:r=e,r??(r=eht.CancellationToken.None),n){let e=this.langiumDocuments.getDocument(n);if(e&&e.state>t)return Promise.resolve(n)}return this.currentState>=t?Promise.resolve(void 0):r.isCancellationRequested?Promise.reject(hht):new Promise(((e,i)=>{let a=this.onBuildPhase(t,(()=>{if(a.dispose(),o.dispose(),n){let t=this.langiumDocuments.getDocument(n);e(t?.uri)}else e(void 0)})),o=r.onCancellationRequested((()=>{a.dispose(),o.dispose(),i(hht)}))}))}async notifyBuildPhase(t,e,r){if(0===t.length)return;let n=this.buildPhaseListeners.get(e);for(let e of n)await sht(r),await e(t,r)}shouldValidate(t){return!!this.getBuildOptions(t).validation}async validate(t,e){var r,n;let i=this.serviceRegistry.getServices(t.uri).validation.DocumentValidator,a=this.getBuildOptions(t).validation,o="object"==typeof a?a:void 0,s=await i.validateDocument(t,o,e);t.diagnostics?t.diagnostics.push(...s):t.diagnostics=s;let l=this.buildState.get(t.uri.toString());if(l){null!==(r=l.result)&&void 0!==r||(l.result={});let t=null!==(n=o?.categories)&&void 0!==n?n:lut.all;l.result.validationChecks?l.result.validationChecks.push(...t):l.result.validationChecks=[...t]}}getBuildOptions(t){var e,r;return null!==(r=null===(e=this.buildState.get(t.uri.toString()))||void 0===e?void 0:e.options)&&void 0!==r?r:{}}}})),Lut=k((()=>{R9(),Jht(),rht(),t7(),Nht(),wut=class{static{w(this,"DefaultIndexManager")}constructor(t){this.symbolIndex=new Map,this.symbolByTypeIndex=new Yht,this.referenceIndex=new Map,this.documents=t.workspace.LangiumDocuments,this.serviceRegistry=t.ServiceRegistry,this.astReflection=t.AstReflection}findAllReferences(t,e){let r=k9(t).uri,n=[];return this.referenceIndex.forEach((t=>{t.forEach((t=>{Tht.equals(t.targetUri,r)&&t.targetPath===e&&n.push(t)}))})),V6(n)}allElements(t,e){let r=V6(this.symbolIndex.keys());return e&&(r=r.filter((t=>!e||e.has(t)))),r.map((e=>this.getFileDescriptions(e,t))).flat()}getFileDescriptions(t,e){var r;return e?this.symbolByTypeIndex.get(t,e,(()=>{var r;return(null!==(r=this.symbolIndex.get(t))&&void 0!==r?r:[]).filter((t=>this.astReflection.isSubtype(t.type,e)))})):null!==(r=this.symbolIndex.get(t))&&void 0!==r?r:[]}remove(t){let e=t.toString();this.symbolIndex.delete(e),this.symbolByTypeIndex.clear(e),this.referenceIndex.delete(e)}async updateContent(t,e=eht.CancellationToken.None){let r=await this.serviceRegistry.getServices(t.uri).references.ScopeComputation.computeExports(t,e),n=t.uri.toString();this.symbolIndex.set(n,r),this.symbolByTypeIndex.clear(n)}async updateReferences(t,e=eht.CancellationToken.None){let r=await this.serviceRegistry.getServices(t.uri).workspace.ReferenceDescriptionProvider.createDescriptions(t,e);this.referenceIndex.set(t.uri.toString(),r)}isAffected(t,e){let r=this.referenceIndex.get(t.uri.toString());return!!r&&r.some((t=>!t.local&&e.has(t.targetUri.toString())))}}})),Nut=k((()=>{rht(),dht(),Nht(),kut=class{static{w(this,"DefaultWorkspaceManager")}constructor(t){this.initialBuildOptions={},this._ready=new uht,this.serviceRegistry=t.ServiceRegistry,this.langiumDocuments=t.workspace.LangiumDocuments,this.documentBuilder=t.workspace.DocumentBuilder,this.fileSystemProvider=t.workspace.FileSystemProvider,this.mutex=t.workspace.WorkspaceLock}get ready(){return this._ready.promise}initialize(t){var e;this.folders=null!==(e=t.workspaceFolders)&&void 0!==e?e:void 0}initialized(t){return this.mutex.write((t=>{var e;return this.initializeWorkspace(null!==(e=this.folders)&&void 0!==e?e:[],t)}))}async initializeWorkspace(t,e=eht.CancellationToken.None){let r=await this.performStartup(t);await sht(e),await this.documentBuilder.build(r,this.initialBuildOptions,e)}async performStartup(t){let e=this.serviceRegistry.all.flatMap((t=>t.LanguageMetaData.fileExtensions)),r=[],n=w((t=>{r.push(t),this.langiumDocuments.hasDocument(t.uri)||this.langiumDocuments.addDocument(t)}),"collector");return await this.loadAdditionalDocuments(t,n),await Promise.all(t.map((t=>[t,this.getRootFolder(t)])).map((async t=>this.traverseFolder(...t,e,n)))),this._ready.resolve(),r}loadAdditionalDocuments(t,e){return Promise.resolve()}getRootFolder(t){return wht.parse(t.uri)}async traverseFolder(t,e,r,n){let i=await this.fileSystemProvider.readDirectory(e);await Promise.all(i.map((async e=>{if(this.includeEntry(t,e,r))if(e.isDirectory)await this.traverseFolder(t,e.uri,r,n);else if(e.isFile){let t=await this.langiumDocuments.getOrCreateDocument(e.uri);n(t)}})))}includeEntry(t,e,r){let n=Tht.basename(e.uri);if(n.startsWith("."))return!1;if(e.isDirectory)return"node_modules"!==n&&"out"!==n;if(e.isFile){let t=Tht.extname(e.uri);return r.includes(t)}return!1}}}));function Iut(t){return Array.isArray(t)&&(0===t.length||"name"in t[0])}function Mut(t){return t&&"modes"in t&&"defaultMode"in t}function Rut(t){return!Iut(t)&&!Mut(t)}var Dut,Out=k((()=>{cot(),Dut=class{static{w(this,"DefaultLexer")}constructor(t){let e=t.parser.TokenBuilder.buildTokens(t.Grammar,{caseInsensitive:t.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(e);let r=Rut(e)?Object.values(e):e;this.chevrotainLexer=new dnt(r,{positionTracking:"full"})}get definition(){return this.tokenTypes}tokenize(t){var e;let r=this.chevrotainLexer.tokenize(t);return{tokens:r.tokens,errors:r.errors,hidden:null!==(e=r.groups.hidden)&&void 0!==e?e:[]}}toTokenTypeDictionary(t){if(Rut(t))return t;let e=Mut(t)?Object.values(t.modes).flat():t,r={};return e.forEach((t=>r[t.name]=t)),r}},w(Iut,"isTokenTypeArray"),w(Mut,"isIMultiModeLexerDefinition"),w(Rut,"isTokenTypeDictionary")}));function Put(t,e,r){let n,i;return"string"==typeof t?(i=e,n=r):(i=t.range.start,n=e),i||(i=Rst.create(0,0)),qut({index:0,tokens:$ut({lines:Fut(t),position:i,options:Kut(n)}),position:i})}function But(t,e){let r=Kut(e),n=Fut(t);if(0===n.length)return!1;let i=n[0],a=n[n.length-1],o=r.start,s=r.end;return!!o?.exec(i)&&!!s?.exec(a)}function Fut(t){let e="";return e="string"==typeof t?t:t.text,e.split(stt)}function $ut(t){var e,r,n;let i=[],a=t.position.line,o=t.position.character;for(let s=0;s=h.length){if(i.length>0){let t=Rst.create(a,o);i.push({type:"break",content:"",range:Dst.create(t,t)})}}else{edt.lastIndex=u;let t=edt.exec(h);if(t){let e=t[0],r=t[1],n=Rst.create(a,o+u),s=Rst.create(a,o+u+e.length);i.push({type:"tag",content:r,range:Dst.create(n,s)}),u+=e.length,u=Uut(h,u)}if(u0&&"break"===i[i.length-1].type?i.slice(0,-1):i}function zut(t,e,r,n){let i=[];if(0===t.length){let t=Rst.create(r,n),a=Rst.create(r,n+e.length);i.push({type:"text",content:e,range:Dst.create(t,a)})}else{let a=0;for(let o of t){let t=o.index,s=e.substring(a,t);s.length>0&&i.push({type:"text",content:e.substring(a,t),range:Dst.create(Rst.create(r,a+n),Rst.create(r,t+n))});let l=s.length+1,c=o[1];if(i.push({type:"inline-tag",content:c,range:Dst.create(Rst.create(r,a+l+n),Rst.create(r,a+l+c.length+n))}),l+=c.length,4===o.length){l+=o[2].length;let t=o[3];i.push({type:"text",content:t,range:Dst.create(Rst.create(r,a+l+n),Rst.create(r,a+l+t.length+n))})}else i.push({type:"text",content:"",range:Dst.create(Rst.create(r,a+l+n),Rst.create(r,a+l+n))});a=t+o[0].length}let o=e.substring(a);o.length>0&&i.push({type:"text",content:o,range:Dst.create(Rst.create(r,a+n),Rst.create(r,a+n+o.length))})}return i}function Uut(t,e){let r=t.substring(e).match(ndt);return r?e+r.index:t.length}function Gut(t){let e=t.match(idt);if(e&&"number"==typeof e.index)return e.index}function qut(t){var e,r,n,i;let a=Rst.create(t.position.line,t.position.character);if(0===t.tokens.length)return new adt([],Dst.create(a,a));let o=[];for(;t.index0){let t=Uut(e,a);o=e.substring(t),e=e.substring(0,a)}return("linkcode"===t||"link"===t&&"code"===r.link)&&(o=`\`${o}\``),null!==(i=null===(n=r.renderLink)||void 0===n?void 0:n.call(r,e,o))&&void 0!==i?i:Jut(e,o)}}function Jut(t,e){try{return wht.parse(t,!0),`[${e}](${t})`}catch{return t}}function tdt(t){return t.endsWith("\n")?"\n":"\n\n"}var edt,rdt,ndt,idt,adt,odt,sdt,ldt,cdt,hdt,udt,ddt,pdt,fdt,gdt,mdt=k((()=>{hct(),utt(),Nht(),w(Put,"parseJSDoc"),w(But,"isJSDoc"),w(Fut,"getLines"),edt=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,rdt=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu,w($ut,"tokenize"),w(zut,"buildInlineTokens"),ndt=/\S/,idt=/\s*$/,w(Uut,"skipWhitespace"),w(Gut,"lastCharacter"),w(qut,"parseJSDocComment"),w(Yut,"parseJSDocElement"),w(jut,"appendEmptyLine"),w(Hut,"parseJSDocText"),w(Wut,"parseJSDocInline"),w(Vut,"parseJSDocTag"),w(Xut,"parseJSDocLine"),w(Kut,"normalizeOptions"),w(Zut,"normalizeOption"),adt=class{static{w(this,"JSDocCommentImpl")}constructor(t,e){this.elements=t,this.range=e}getTag(t){return this.getAllTags().find((e=>e.name===t))}getTags(t){return this.getAllTags().filter((e=>e.name===t))}getAllTags(){return this.elements.filter((t=>"name"in t))}toString(){let t="";for(let e of this.elements)if(0===t.length)t=e.toString();else{let r=e.toString();t+=tdt(t)+r}return t.trim()}toMarkdown(t){let e="";for(let r of this.elements)if(0===e.length)e=r.toMarkdown(t);else{let n=r.toMarkdown(t);e+=tdt(e)+n}return e.trim()}},odt=class{static{w(this,"JSDocTagImpl")}constructor(t,e,r,n){this.name=t,this.content=e,this.inline=r,this.range=n}toString(){let t=`@${this.name}`,e=this.content.toString();return 1===this.content.inlines.length?t=`${t} ${e}`:this.content.inlines.length>1&&(t=`${t}\n${e}`),this.inline?`{${t}}`:t}toMarkdown(t){var e,r;return null!==(r=null===(e=t?.renderTag)||void 0===e?void 0:e.call(t,this))&&void 0!==r?r:this.toMarkdownDefault(t)}toMarkdownDefault(t){let e=this.content.toMarkdown(t);if(this.inline){let r=Qut(this.name,e,t??{});if("string"==typeof r)return r}let r="";"italic"===t?.tag||void 0===t?.tag?r="*":"bold"===t?.tag?r="**":"bold-italic"===t?.tag&&(r="***");let n=`${r}@${this.name}${r}`;return 1===this.content.inlines.length?n=`${n} — ${e}`:this.content.inlines.length>1&&(n=`${n}\n${e}`),this.inline?`{${n}}`:n}},w(Qut,"renderInlineTag"),w(Jut,"renderLinkDefault"),sdt=class{static{w(this,"JSDocTextImpl")}constructor(t,e){this.inlines=t,this.range=e}toString(){let t="";for(let e=0;er.range.start.line&&(t+="\n")}return t}toMarkdown(t){let e="";for(let r=0;rn.range.start.line&&(e+="\n")}return e}},ldt=class{static{w(this,"JSDocLineImpl")}constructor(t,e){this.text=t,this.range=e}toString(){return this.text}toMarkdown(){return this.text}},w(tdt,"fillNewlines")})),ydt=k((()=>{R9(),mdt(),cdt=class{static{w(this,"JSDocDocumentationProvider")}constructor(t){this.indexManager=t.shared.workspace.IndexManager,this.commentProvider=t.documentation.CommentProvider}getDocumentation(t){let e=this.commentProvider.getComment(t);if(e&&But(e))return Put(e).toMarkdown({renderLink:w(((e,r)=>this.documentationLinkRenderer(t,e,r)),"renderLink"),renderTag:w((e=>this.documentationTagRenderer(t,e)),"renderTag")})}documentationLinkRenderer(t,e,r){var n;let i=null!==(n=this.findNameInPrecomputedScopes(t,e))&&void 0!==n?n:this.findNameInGlobalScope(t,e);if(i&&i.nameSegment){let t=i.nameSegment.range.start.line+1,e=i.nameSegment.range.start.character+1;return`[${r}](${i.documentUri.with({fragment:`L${t},${e}`}).toString()})`}}documentationTagRenderer(t,e){}findNameInPrecomputedScopes(t,e){let r=k9(t).precomputedScopes;if(!r)return;let n=t;do{let t=r.get(n).find((t=>t.name===e));if(t)return t;n=n.$container}while(n)}findNameInGlobalScope(t,e){return this.indexManager.allElements().find((t=>t.name===e))}}})),vdt=k((()=>{aut(),T7(),hdt=class{static{w(this,"DefaultCommentProvider")}constructor(t){this.grammarConfig=()=>t.parser.GrammarConfig}getComment(t){var e;return eut(t)?t.$comment:null===(e=h7(t.$cstNode,this.grammarConfig().multilineCommentRules))||void 0===e?void 0:e.text}}})),xdt={},bdt=k((()=>{C(xdt,S(Jct(),1))})),wdt=k((()=>{dht(),bdt(),udt=class{static{w(this,"DefaultAsyncParser")}constructor(t){this.syncParser=t.parser.LangiumParser}parse(t){return Promise.resolve(this.syncParser.parse(t))}},ddt=class{static{w(this,"AbstractThreadedAsyncParser")}constructor(t){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=t.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length{if(this.queue.length>0){let e=this.queue.shift();e&&(t.lock(),e.resolve(t))}})),this.workerPool.push(t)}}async parse(t,e){let r,n=await this.acquireParserWorker(e),i=new uht,a=e.onCancellationRequested((()=>{r=setTimeout((()=>{this.terminateWorker(n)}),this.terminationDelay)}));return n.parse(t).then((t=>{let e=this.hydrator.hydrate(t);i.resolve(e)})).catch((t=>{i.reject(t)})).finally((()=>{a.dispose(),clearTimeout(r)})),i.promise}terminateWorker(t){t.terminate();let e=this.workerPool.indexOf(t);e>=0&&this.workerPool.splice(e,1)}async acquireParserWorker(t){this.initializeWorkers();for(let t of this.workerPool)if(t.ready)return t.lock(),t;let e=new uht;return t.onCancellationRequested((()=>{let t=this.queue.indexOf(e);t>=0&&this.queue.splice(t,1),e.reject(hht)})),this.queue.push(e),e.promise}},pdt=class{static{w(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(t,e,r,n){this.onReadyEmitter=new xdt.Emitter,this.deferred=new uht,this._ready=!0,this._parsing=!1,this.sendMessage=t,this._terminate=n,e((t=>{let e=t;this.deferred.resolve(e),this.unlock()})),r((t=>{this.deferred.reject(t),this.unlock()}))}terminate(){this.deferred.reject(hht),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(t){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new uht,this.sendMessage(t),this.deferred.promise}}})),kdt=k((()=>{rht(),dht(),fdt=class{static{w(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new eht.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(t){this.cancelWrite();let e=new eht.CancellationTokenSource;return this.previousTokenSource=e,this.enqueue(this.writeQueue,t,e.token)}read(t){return this.enqueue(this.readQueue,t)}enqueue(t,e,r){let n=new uht,i={action:e,deferred:n,cancellationToken:r??eht.CancellationToken.None};return t.push(i),this.performNextOperation(),n.promise}async performNextOperation(){if(!this.done)return;let t=[];if(this.writeQueue.length>0)t.push(this.writeQueue.shift());else{if(!(this.readQueue.length>0))return;t.push(...this.readQueue.splice(0,this.readQueue.length))}this.done=!1,await Promise.all(t.map((async({action:t,deferred:e,cancellationToken:r})=>{try{let n=await Promise.resolve().then((()=>t(r)));e.resolve(n)}catch(t){oht(t)?e.resolve(void 0):e.reject(t)}}))),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}})),Tdt=k((()=>{uct(),y9(),j6(),R9(),Kht(),T7(),gdt=class{static{w(this,"DefaultHydrator")}constructor(t){this.grammarElementIdMap=new Bht,this.tokenTypeIdMap=new Bht,this.grammar=t.Grammar,this.lexer=t.parser.Lexer,this.linker=t.references.Linker}dehydrate(t){return{lexerErrors:t.lexerErrors.map((t=>Object.assign({},t))),parserErrors:t.parserErrors.map((t=>Object.assign({},t))),value:this.dehydrateAstNode(t.value,this.createDehyrationContext(t.value))}}createDehyrationContext(t){let e=new Map,r=new Map;for(let r of C9(t))e.set(r,{});if(t.$cstNode)for(let e of r7(t.$cstNode))r.set(e,{});return{astNodes:e,cstNodes:r}}dehydrateAstNode(t,e){let r=e.astNodes.get(t);r.$type=t.$type,r.$containerIndex=t.$containerIndex,r.$containerProperty=t.$containerProperty,void 0!==t.$cstNode&&(r.$cstNode=this.dehydrateCstNode(t.$cstNode,e));for(let[n,i]of Object.entries(t))if(!n.startsWith("$"))if(Array.isArray(i)){let t=[];r[n]=t;for(let r of i)B6(r)?t.push(this.dehydrateAstNode(r,e)):F6(r)?t.push(this.dehydrateReference(r,e)):t.push(r)}else B6(i)?r[n]=this.dehydrateAstNode(i,e):F6(i)?r[n]=this.dehydrateReference(i,e):void 0!==i&&(r[n]=i);return r}dehydrateReference(t,e){let r={};return r.$refText=t.$refText,t.$refNode&&(r.$refNode=e.cstNodes.get(t.$refNode)),r}dehydrateCstNode(t,e){let r=e.cstNodes.get(t);return q6(t)?r.fullText=t.fullText:r.grammarSource=this.getGrammarElementId(t.grammarSource),r.hidden=t.hidden,r.astNode=e.astNodes.get(t.astNode),U6(t)?r.content=t.content.map((t=>this.dehydrateCstNode(t,e))):G6(t)&&(r.tokenType=t.tokenType.name,r.offset=t.offset,r.length=t.length,r.startLine=t.range.start.line,r.startColumn=t.range.start.character,r.endLine=t.range.end.line,r.endColumn=t.range.end.character),r}hydrate(t){let e=t.value,r=this.createHydrationContext(e);return"$cstNode"in e&&this.hydrateCstNode(e.$cstNode,r),{lexerErrors:t.lexerErrors,parserErrors:t.parserErrors,value:this.hydrateAstNode(e,r)}}createHydrationContext(t){let e,r=new Map,n=new Map;for(let e of C9(t))r.set(e,{});if(t.$cstNode)for(let r of r7(t.$cstNode)){let t;"fullText"in r?(t=new sct(r.fullText),e=t):"content"in r?t=new act:"tokenType"in r&&(t=this.hydrateCstLeafNode(r)),t&&(n.set(r,t),t.root=e)}return{astNodes:r,cstNodes:n}}hydrateAstNode(t,e){let r=e.astNodes.get(t);r.$type=t.$type,r.$containerIndex=t.$containerIndex,r.$containerProperty=t.$containerProperty,t.$cstNode&&(r.$cstNode=e.cstNodes.get(t.$cstNode));for(let[n,i]of Object.entries(t))if(!n.startsWith("$"))if(Array.isArray(i)){let t=[];r[n]=t;for(let a of i)B6(a)?t.push(this.setParent(this.hydrateAstNode(a,e),r)):F6(a)?t.push(this.hydrateReference(a,r,n,e)):t.push(a)}else B6(i)?r[n]=this.setParent(this.hydrateAstNode(i,e),r):F6(i)?r[n]=this.hydrateReference(i,r,n,e):void 0!==i&&(r[n]=i);return r}setParent(t,e){return t.$container=e,t}hydrateReference(t,e,r,n){return this.linker.buildReference(e,r,n.cstNodes.get(t.$refNode),t.$refText)}hydrateCstNode(t,e,r=0){let n=e.cstNodes.get(t);if("number"==typeof t.grammarSource&&(n.grammarSource=this.getGrammarElement(t.grammarSource)),n.astNode=e.astNodes.get(t.astNode),U6(n))for(let i of t.content){let t=this.hydrateCstNode(i,e,r++);n.content.push(t)}return n}hydrateCstLeafNode(t){let e=this.getTokenType(t.tokenType),r=t.offset,n=t.length,i=t.startLine,a=t.startColumn,o=t.endLine,s=t.endColumn,l=t.hidden;return new ict(r,n,{start:{line:i,character:a},end:{line:o,character:s}},e,l)}getTokenType(t){return this.lexer.definition[t]}getGrammarElementId(t){return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(t)}getGrammarElement(t){0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap();let e=this.grammarElementIdMap.getKey(t);if(e)return e;throw new Error("Invalid grammar element id: "+t)}createGrammarElementIdMap(){let t=0;for(let e of C9(this.grammar))O7(e)&&this.grammarElementIdMap.set(e,t++)}}}));function Edt(t){return{documentation:{CommentProvider:w((t=>new hdt(t)),"CommentProvider"),DocumentationProvider:w((t=>new cdt(t)),"DocumentationProvider")},parser:{AsyncParser:w((t=>new udt(t)),"AsyncParser"),GrammarConfig:w((t=>Ztt(t)),"GrammarConfig"),LangiumParser:w((t=>qct(t)),"LangiumParser"),CompletionParser:w((t=>Uct(t)),"CompletionParser"),ValueConverter:w((()=>new Hct),"ValueConverter"),TokenBuilder:w((()=>new jct),"TokenBuilder"),Lexer:w((t=>new Dut(t)),"Lexer"),ParserErrorMessageProvider:w((()=>new vct),"ParserErrorMessageProvider")},workspace:{AstNodeLocator:w((()=>new yut),"AstNodeLocator"),AstNodeDescriptionProvider:w((t=>new gut(t)),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:w((t=>new mut(t)),"ReferenceDescriptionProvider")},references:{Linker:w((t=>new Sht(t)),"Linker"),NameProvider:w((()=>new Dht),"NameProvider"),ScopeProvider:w((t=>new Wht(t)),"ScopeProvider"),ScopeComputation:w((t=>new Fht(t)),"ScopeComputation"),References:w((t=>new Oht(t)),"References")},serializer:{Hydrator:w((t=>new gdt(t)),"Hydrator"),JsonSerializer:w((t=>new nut(t)),"JsonSerializer")},validation:{DocumentValidator:w((t=>new put(t)),"DocumentValidator"),ValidationRegistry:w((t=>new cut(t)),"ValidationRegistry")},shared:w((()=>t.shared),"shared")}}function _dt(t){return{ServiceRegistry:w((()=>new iut),"ServiceRegistry"),workspace:{LangiumDocuments:w((t=>new Cht(t)),"LangiumDocuments"),LangiumDocumentFactory:w((t=>new _ht(t)),"LangiumDocumentFactory"),DocumentBuilder:w((t=>new but(t)),"DocumentBuilder"),IndexManager:w((t=>new wut(t)),"IndexManager"),WorkspaceManager:w((t=>new kut(t)),"WorkspaceManager"),FileSystemProvider:w((e=>t.fileSystemProvider(e)),"FileSystemProvider"),WorkspaceLock:w((()=>new fdt),"WorkspaceLock"),ConfigurationProvider:w((t=>new vut(t)),"ConfigurationProvider")}}}var Cdt=k((()=>{Qtt(),Gct(),Vct(),Xct(),Kct(),Mht(),Vht(),Xht(),Zht(),tut(),aut(),out(),Tut(),hut(),Eut(),_ut(),Cut(),Aut(),Iht(),Lut(),Nut(),Out(),ydt(),vdt(),kct(),wdt(),kdt(),Tdt(),w(Edt,"createDefaultCoreModule"),w(_dt,"createDefaultSharedCoreModule")}));function Sdt(t,e,r,n,i,a,o,s,l){return Ldt([t,e,r,n,i,a,o,s,l].reduce(Idt,{}))}function Adt(t){if(t&&t[Rdt])for(let e of Object.values(t))Adt(e);return t}function Ldt(t,e){let r=new Proxy({},{deleteProperty:w((()=>!1),"deleteProperty"),get:w(((n,i)=>Ndt(n,i,t,e||r)),"get"),getOwnPropertyDescriptor:w(((n,i)=>(Ndt(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i))),"getOwnPropertyDescriptor"),has:w(((e,r)=>r in t),"has"),ownKeys:w((()=>[...Reflect.ownKeys(t),Rdt]),"ownKeys")});return r[Rdt]=!0,r}function Ndt(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:t[e]});if(t[e]===Ddt)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. See https://langium.org/docs/configuration-services/#resolving-cyclic-dependencies');return t[e]}if(e in r){let i=r[e];t[e]=Ddt;try{t[e]="function"==typeof i?i(n):Ldt(i,n)}catch(r){throw t[e]=r instanceof Error?r:void 0,r}return t[e]}}function Idt(t,e){if(e)for(let[r,n]of Object.entries(e))if(void 0!==n){let e=t[r];t[r]=null!==e&&null!==n&&"object"==typeof e&&"object"==typeof n?Idt(e,n):n}return t}var Mdt,Rdt,Ddt,Odt,Pdt,Bdt=k((()=>{(Mdt||(Mdt={})).merge=(t,e)=>Idt(Idt({},t),e),w(Sdt,"inject"),Rdt=Symbol("isProxy"),w(Adt,"eagerLoad"),w(Ldt,"_inject"),Ddt=Symbol(),w(Ndt,"_resolve"),w(Idt,"_merge")})),Fdt=k((()=>{})),$dt=k((()=>{vdt(),ydt(),mdt()})),zdt=k((()=>{})),Udt=k((()=>{Qtt(),zdt()})),Gdt=k((()=>{})),qdt=k((()=>{wdt(),Gct(),uct(),Vct(),kct(),Out(),Gdt(),Xct(),Kct()})),Ydt=k((()=>{Mht(),Vht(),Xht(),Qht(),Zht(),tut()})),jdt=k((()=>{Tdt(),aut()})),Hdt=k((()=>{Odt=class{static{w(this,"EmptyFileSystemProvider")}readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}},Pdt={fileSystemProvider:w((()=>new Odt),"fileSystemProvider")}}));function Wdt(){let t=Sdt(_dt(Pdt),Kdt),e=Sdt(Edt({shared:t}),Xdt);return t.ServiceRegistry.register(e),e}function Vdt(t){var e;let r=Wdt(),n=r.serializer.JsonSerializer.deserialize(t);return r.shared.workspace.LangiumDocumentFactory.fromModel(n,wht.parse(`memory://${null!==(e=n.name)&&void 0!==e?e:"grammar"}.langium`)),n}var Xdt,Kdt,Zdt=k((()=>{Cdt(),Bdt(),y9(),Hdt(),Nht(),Xdt={Grammar:w((()=>{}),"Grammar"),LanguageMetaData:w((()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})),"LanguageMetaData")},Kdt={AstReflection:w((()=>new g9),"AstReflection")},w(Wdt,"createMinimalGrammarServices"),w(Vdt,"loadGrammarFromJson")})),Qdt={};E(Qdt,{AstUtils:()=>v9,BiMap:()=>Bht,Cancellation:()=>eht,ContextCache:()=>Yht,CstUtils:()=>e7,DONE_RESULT:()=>Z6,Deferred:()=>uht,Disposable:()=>xut,DisposableCache:()=>Ght,DocumentCache:()=>jht,EMPTY_STREAM:()=>K6,ErrorWithLocation:()=>_7,GrammarUtils:()=>dtt,MultiMap:()=>Pht,OperationCancelled:()=>hht,Reduction:()=>J6,RegExpUtils:()=>J9,SimpleCache:()=>qht,StreamImpl:()=>X6,TreeStreamImpl:()=>Q6,URI:()=>wht,UriUtils:()=>Tht,WorkspaceCache:()=>Hht,assertUnreachable:()=>E7,delayNextTick:()=>nht,interruptAndCheck:()=>sht,isOperationCancelled:()=>oht,loadGrammarFromJson:()=>Vdt,setInterruptionPeriod:()=>aht,startCancelableOperation:()=>iht,stream:()=>V6});var Jdt=k((()=>{Jht(),bdt(),C(Qdt,xdt),Kht(),Sut(),C7(),Zdt(),dht(),t7(),Nht(),R9(),rht(),T7(),Ktt(),utt()})),tpt=k((()=>{Tut(),hut()})),ept=k((()=>{Eut(),_ut(),Cut(),Aut(),Iht(),Hdt(),Lut(),kdt(),Nut()})),rpt={};E(rpt,{AbstractAstReflection:()=>Y6,AbstractCstNode:()=>nct,AbstractLangiumParser:()=>gct,AbstractParserErrorMessageProvider:()=>yct,AbstractThreadedAsyncParser:()=>ddt,AstUtils:()=>v9,BiMap:()=>Bht,Cancellation:()=>eht,CompositeCstNodeImpl:()=>act,ContextCache:()=>Yht,CstNodeBuilder:()=>rct,CstUtils:()=>e7,DONE_RESULT:()=>Z6,DatatypeSymbol:()=>pct,DefaultAstNodeDescriptionProvider:()=>gut,DefaultAstNodeLocator:()=>yut,DefaultAsyncParser:()=>udt,DefaultCommentProvider:()=>hdt,DefaultConfigurationProvider:()=>vut,DefaultDocumentBuilder:()=>but,DefaultDocumentValidator:()=>put,DefaultHydrator:()=>gdt,DefaultIndexManager:()=>wut,DefaultJsonSerializer:()=>nut,DefaultLangiumDocumentFactory:()=>_ht,DefaultLangiumDocuments:()=>Cht,DefaultLexer:()=>Dut,DefaultLinker:()=>Sht,DefaultNameProvider:()=>Dht,DefaultReferenceDescriptionProvider:()=>mut,DefaultReferences:()=>Oht,DefaultScopeComputation:()=>Fht,DefaultScopeProvider:()=>Wht,DefaultServiceRegistry:()=>iut,DefaultTokenBuilder:()=>jct,DefaultValueConverter:()=>Hct,DefaultWorkspaceLock:()=>fdt,DefaultWorkspaceManager:()=>kut,Deferred:()=>uht,Disposable:()=>xut,DisposableCache:()=>Ght,DocumentCache:()=>jht,DocumentState:()=>Eht,DocumentValidator:()=>fut,EMPTY_SCOPE:()=>Uht,EMPTY_STREAM:()=>K6,EmptyFileSystem:()=>Pdt,EmptyFileSystemProvider:()=>Odt,ErrorWithLocation:()=>_7,GrammarAST:()=>S7,GrammarUtils:()=>dtt,JSDocDocumentationProvider:()=>cdt,LangiumCompletionParser:()=>xct,LangiumParser:()=>mct,LangiumParserErrorMessageProvider:()=>vct,LeafCstNodeImpl:()=>ict,MapScope:()=>zht,Module:()=>Mdt,MultiMap:()=>Pht,OperationCancelled:()=>hht,ParserWorker:()=>pdt,Reduction:()=>J6,RegExpUtils:()=>J9,RootCstNodeImpl:()=>sct,SimpleCache:()=>qht,StreamImpl:()=>X6,StreamScope:()=>$ht,TextDocument:()=>xht,TreeStreamImpl:()=>Q6,URI:()=>wht,UriUtils:()=>Tht,ValidationCategory:()=>lut,ValidationRegistry:()=>cut,ValueConverter:()=>Wct,WorkspaceCache:()=>Hht,assertUnreachable:()=>E7,createCompletionParser:()=>Uct,createDefaultCoreModule:()=>Edt,createDefaultSharedCoreModule:()=>_dt,createGrammarConfig:()=>Ztt,createLangiumParser:()=>qct,delayNextTick:()=>nht,diagnosticData:()=>sut,eagerLoad:()=>Adt,getDiagnosticRange:()=>uut,inject:()=>Sdt,interruptAndCheck:()=>sht,isAstNode:()=>B6,isAstNodeDescription:()=>$6,isAstNodeWithComment:()=>eut,isCompositeCstNode:()=>U6,isIMultiModeLexerDefinition:()=>Mut,isJSDoc:()=>But,isLeafCstNode:()=>G6,isLinkingError:()=>z6,isNamed:()=>Rht,isOperationCancelled:()=>oht,isReference:()=>F6,isRootCstNode:()=>q6,isTokenTypeArray:()=>Iut,isTokenTypeDictionary:()=>Rut,loadGrammarFromJson:()=>Vdt,parseJSDoc:()=>Put,prepareLangiumParser:()=>Yct,setInterruptionPeriod:()=>aht,startCancelableOperation:()=>iht,stream:()=>V6,toDiagnosticSeverity:()=>dut});var npt=k((()=>{Cdt(),Bdt(),out(),Fdt(),j6(),$dt(),Udt(),qdt(),Ydt(),jdt(),Jdt(),C(rpt,Qdt),tpt(),ept(),y9()}));function ipt(t){return Lpt.isInstance(t,ypt)}function apt(t){return Lpt.isInstance(t,vpt)}function opt(t){return Lpt.isInstance(t,xpt)}function spt(t){return Lpt.isInstance(t,bpt)}function lpt(t){return Lpt.isInstance(t,wpt)}function cpt(t){return Lpt.isInstance(t,kpt)}function hpt(t){return Lpt.isInstance(t,Tpt)}function upt(t){return Lpt.isInstance(t,Ept)}function dpt(t){return Lpt.isInstance(t,_pt)}function ppt(t){return Lpt.isInstance(t,Cpt)}function fpt(t){return Lpt.isInstance(t,Spt)}var gpt,mpt,ypt,vpt,xpt,bpt,wpt,kpt,Tpt,Ept,_pt,Cpt,Spt,Apt,Lpt,Npt,Ipt,Mpt,Rpt,Dpt,Opt,Ppt,Bpt,Fpt,$pt,zpt,Upt,Gpt,qpt,Ypt,jpt,Hpt,Wpt,Vpt,Xpt,Kpt,Zpt,Qpt,Jpt,tft,eft=k((()=>{npt(),npt(),npt(),npt(),gpt=Object.defineProperty,mpt=w(((t,e)=>gpt(t,"name",{value:e,configurable:!0})),"__name"),ypt="Architecture",w(ipt,"isArchitecture"),mpt(ipt,"isArchitecture"),vpt="Branch",w(apt,"isBranch"),mpt(apt,"isBranch"),xpt="Commit",w(opt,"isCommit"),mpt(opt,"isCommit"),bpt="Common",w(spt,"isCommon"),mpt(spt,"isCommon"),wpt="GitGraph",w(lpt,"isGitGraph"),mpt(lpt,"isGitGraph"),kpt="Info",w(cpt,"isInfo"),mpt(cpt,"isInfo"),Tpt="Merge",w(hpt,"isMerge"),mpt(hpt,"isMerge"),Ept="Packet",w(upt,"isPacket"),mpt(upt,"isPacket"),_pt="PacketBlock",w(dpt,"isPacketBlock"),mpt(dpt,"isPacketBlock"),Cpt="Pie",w(ppt,"isPie"),mpt(ppt,"isPie"),Spt="PieSection",w(fpt,"isPieSection"),mpt(fpt,"isPieSection"),Apt=class extends Y6{static{w(this,"MermaidAstReflection")}static{mpt(this,"MermaidAstReflection")}getAllTypes(){return["Architecture","Branch","Checkout","CherryPicking","Commit","Common","Direction","Edge","GitGraph","Group","Info","Junction","Merge","Packet","PacketBlock","Pie","PieSection","Service","Statement"]}computeIsSubtype(t,e){switch(t){case vpt:case"Checkout":case"CherryPicking":case xpt:case Tpt:return this.isSubtype("Statement",e);case"Direction":return this.isSubtype(wpt,e);default:return!1}}getReferenceType(t){let e=`${t.container.$type}:${t.property}`;throw new Error(`${e} is not a valid reference id.`)}getTypeMetaData(t){switch(t){case"Architecture":return{name:"Architecture",properties:[{name:"accDescr"},{name:"accTitle"},{name:"edges",defaultValue:[]},{name:"groups",defaultValue:[]},{name:"junctions",defaultValue:[]},{name:"services",defaultValue:[]},{name:"title"}]};case"Branch":return{name:"Branch",properties:[{name:"name"},{name:"order"}]};case"Checkout":return{name:"Checkout",properties:[{name:"branch"}]};case"CherryPicking":return{name:"CherryPicking",properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case"Commit":return{name:"Commit",properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case"Common":return{name:"Common",properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case"Edge":return{name:"Edge",properties:[{name:"lhsDir"},{name:"lhsGroup",defaultValue:!1},{name:"lhsId"},{name:"lhsInto",defaultValue:!1},{name:"rhsDir"},{name:"rhsGroup",defaultValue:!1},{name:"rhsId"},{name:"rhsInto",defaultValue:!1},{name:"title"}]};case"GitGraph":return{name:"GitGraph",properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case"Group":return{name:"Group",properties:[{name:"icon"},{name:"id"},{name:"in"},{name:"title"}]};case"Info":return{name:"Info",properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case"Junction":return{name:"Junction",properties:[{name:"id"},{name:"in"}]};case"Merge":return{name:"Merge",properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case"Packet":return{name:"Packet",properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case"PacketBlock":return{name:"PacketBlock",properties:[{name:"end"},{name:"label"},{name:"start"}]};case"Pie":return{name:"Pie",properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case"PieSection":return{name:"PieSection",properties:[{name:"label"},{name:"value"}]};case"Service":return{name:"Service",properties:[{name:"icon"},{name:"iconText"},{name:"id"},{name:"in"},{name:"title"}]};case"Direction":return{name:"Direction",properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};default:return{name:t,properties:[]}}}},Lpt=new Apt,Ipt=mpt((()=>Npt??(Npt=Vdt('{"$type":"Grammar","isDeclared":true,"name":"Info","imports":[],"rules":[{"$type":"ParserRule","name":"Info","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}'))),"InfoGrammar"),Rpt=mpt((()=>Mpt??(Mpt=Vdt('{"$type":"Grammar","isDeclared":true,"name":"Packet","imports":[],"rules":[{"$type":"ParserRule","name":"Packet","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"packet-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"?"},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|\'[^\']*\'/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}'))),"PacketGrammar"),Opt=mpt((()=>Dpt??(Dpt=Vdt('{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","name":"Pie","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},"cardinality":"+"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"PIE_SECTION_LABEL","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]+\\"/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PIE_SECTION_VALUE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/(0|[1-9][0-9]*)(\\\\.[0-9]+)?/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}'))),"PieGrammar"),Bpt=mpt((()=>Ppt??(Ppt=Vdt('{"$type":"Grammar","isDeclared":true,"name":"Architecture","imports":[],"rules":[{"$type":"ParserRule","name":"Architecture","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","fragment":true,"definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"LeftPort","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"RightPort","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Arrow","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ID","definition":{"$type":"RegexToken","regex":"/[\\\\w]+/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TEXT_ICON","definition":{"$type":"RegexToken","regex":"/\\\\(\\"[^\\"]+\\"\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"types":[],"usedGrammars":[]}'))),"ArchitectureGrammar"),$pt=mpt((()=>Fpt??(Fpt=Vdt('{"$type":"Grammar","isDeclared":true,"name":"GitGraph","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","name":"TitleAndAccessibilities","fragment":true,"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"EOL","fragment":true,"dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"ParserRule","name":"GitGraph","entry":true,"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"*"}]}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+(?=\\\\s)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|\'[^\']*\'/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[]}'))),"GitGraphGrammar"),zpt={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},Upt={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},Gpt={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},qpt={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},Ypt={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1},jpt={AstReflection:mpt((()=>new Apt),"AstReflection")},Hpt={Grammar:mpt((()=>Ipt()),"Grammar"),LanguageMetaData:mpt((()=>zpt),"LanguageMetaData"),parser:{}},Wpt={Grammar:mpt((()=>Rpt()),"Grammar"),LanguageMetaData:mpt((()=>Upt),"LanguageMetaData"),parser:{}},Vpt={Grammar:mpt((()=>Opt()),"Grammar"),LanguageMetaData:mpt((()=>Gpt),"LanguageMetaData"),parser:{}},Xpt={Grammar:mpt((()=>Bpt()),"Grammar"),LanguageMetaData:mpt((()=>qpt),"LanguageMetaData"),parser:{}},Kpt={Grammar:mpt((()=>$pt()),"Grammar"),LanguageMetaData:mpt((()=>Ypt),"LanguageMetaData"),parser:{}},Zpt={ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/accTitle[\t ]*:([^\n\r]*)/,TITLE:/title([\t ][^\n\r]*|)/},Qpt=class extends Hct{static{w(this,"AbstractMermaidValueConverter")}static{mpt(this,"AbstractMermaidValueConverter")}runConverter(t,e,r){let n=this.runCommonConverter(t,e,r);return void 0===n&&(n=this.runCustomConverter(t,e,r)),void 0===n?super.runConverter(t,e,r):n}runCommonConverter(t,e,r){let n=Zpt[t.name];if(void 0===n)return;let i=n.exec(e);if(null!==i){if(void 0!==i[1])return i[1].trim().replace(/[\t ]{2,}/gm," ");if(void 0!==i[2])return i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,"\n")}}},Jpt=class extends Qpt{static{w(this,"CommonValueConverter")}static{mpt(this,"CommonValueConverter")}runCustomConverter(t,e,r){}},tft=class extends jct{static{w(this,"AbstractMermaidTokenBuilder")}static{mpt(this,"AbstractMermaidTokenBuilder")}constructor(t){super(),this.keywords=new Set(t)}buildKeywordTokens(t,e,r){let n=super.buildKeywordTokens(t,e,r);return n.forEach((t=>{this.keywords.has(t.name)&&void 0!==t.PATTERN&&(t.PATTERN=new RegExp(t.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))})),n}},class extends tft{static{w(this,"CommonTokenBuilder")}static{mpt(this,"CommonTokenBuilder")}}}));function rft(t=Pdt){let e=Sdt(_dt(t),jpt),r=Sdt(Edt({shared:e}),Kpt,ift);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}var nft,ift,aft=k((()=>{eft(),npt(),nft=class extends tft{static{w(this,"GitGraphTokenBuilder")}static{mpt(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},ift={parser:{TokenBuilder:mpt((()=>new nft),"TokenBuilder"),ValueConverter:mpt((()=>new Jpt),"ValueConverter")}},w(rft,"createGitGraphServices"),mpt(rft,"createGitGraphServices")}));function oft(t=Pdt){let e=Sdt(_dt(t),jpt),r=Sdt(Edt({shared:e}),Hpt,lft);return e.ServiceRegistry.register(r),{shared:e,Info:r}}var sft,lft,cft=k((()=>{eft(),npt(),sft=class extends tft{static{w(this,"InfoTokenBuilder")}static{mpt(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},lft={parser:{TokenBuilder:mpt((()=>new sft),"TokenBuilder"),ValueConverter:mpt((()=>new Jpt),"ValueConverter")}},w(oft,"createInfoServices"),mpt(oft,"createInfoServices")}));function hft(t=Pdt){let e=Sdt(_dt(t),jpt),r=Sdt(Edt({shared:e}),Wpt,dft);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}var uft,dft,pft=k((()=>{eft(),npt(),uft=class extends tft{static{w(this,"PacketTokenBuilder")}static{mpt(this,"PacketTokenBuilder")}constructor(){super(["packet-beta"])}},dft={parser:{TokenBuilder:mpt((()=>new uft),"TokenBuilder"),ValueConverter:mpt((()=>new Jpt),"ValueConverter")}},w(hft,"createPacketServices"),mpt(hft,"createPacketServices")}));function fft(t=Pdt){let e=Sdt(_dt(t),jpt),r=Sdt(Edt({shared:e}),Vpt,yft);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}var gft,mft,yft,vft=k((()=>{eft(),npt(),gft=class extends tft{static{w(this,"PieTokenBuilder")}static{mpt(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},mft=class extends Qpt{static{w(this,"PieValueConverter")}static{mpt(this,"PieValueConverter")}runCustomConverter(t,e,r){if("PIE_SECTION_LABEL"===t.name)return e.replace(/"/g,"").trim()}},yft={parser:{TokenBuilder:mpt((()=>new gft),"TokenBuilder"),ValueConverter:mpt((()=>new mft),"ValueConverter")}},w(fft,"createPieServices"),mpt(fft,"createPieServices")}));function xft(t=Pdt){let e=Sdt(_dt(t),jpt),r=Sdt(Edt({shared:e}),Xpt,kft);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}var bft,wft,kft,Tft=k((()=>{eft(),npt(),bft=class extends tft{static{w(this,"ArchitectureTokenBuilder")}static{mpt(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},wft=class extends Qpt{static{w(this,"ArchitectureValueConverter")}static{mpt(this,"ArchitectureValueConverter")}runCustomConverter(t,e,r){return"ARCH_ICON"===t.name?e.replace(/[()]/g,"").trim():"ARCH_TEXT_ICON"===t.name?e.replace(/["()]/g,""):"ARCH_TITLE"===t.name?e.replace(/[[\]]/g,"").trim():void 0}},kft={parser:{TokenBuilder:mpt((()=>new bft),"TokenBuilder"),ValueConverter:mpt((()=>new wft),"ValueConverter")}},w(xft,"createArchitectureServices"),mpt(xft,"createArchitectureServices")})),Eft={};E(Eft,{InfoModule:()=>lft,createInfoServices:()=>oft});var _ft=k((()=>{cft(),eft()})),Cft={};E(Cft,{PacketModule:()=>dft,createPacketServices:()=>hft});var Sft=k((()=>{pft(),eft()})),Aft={};E(Aft,{PieModule:()=>yft,createPieServices:()=>fft});var Lft=k((()=>{vft(),eft()})),Nft={};E(Nft,{ArchitectureModule:()=>kft,createArchitectureServices:()=>xft});var Ift=k((()=>{Tft(),eft()})),Mft={};E(Mft,{GitGraphModule:()=>ift,createGitGraphServices:()=>rft});var Rft=k((()=>{aft(),eft()}));async function Dft(t,e){let r=Pft[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);Oft[t]||await r();let n=Oft[t].parse(e);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new Bft(n);return n.value}var Oft,Pft,Bft,Fft=k((()=>{aft(),cft(),pft(),vft(),Tft(),eft(),Oft={},Pft={info:mpt((async()=>{let{createInfoServices:t}=await Promise.resolve().then((()=>(_ft(),Eft))),e=t().Info.parser.LangiumParser;Oft.info=e}),"info"),packet:mpt((async()=>{let{createPacketServices:t}=await Promise.resolve().then((()=>(Sft(),Cft))),e=t().Packet.parser.LangiumParser;Oft.packet=e}),"packet"),pie:mpt((async()=>{let{createPieServices:t}=await Promise.resolve().then((()=>(Lft(),Aft))),e=t().Pie.parser.LangiumParser;Oft.pie=e}),"pie"),architecture:mpt((async()=>{let{createArchitectureServices:t}=await Promise.resolve().then((()=>(Ift(),Nft))),e=t().Architecture.parser.LangiumParser;Oft.architecture=e}),"architecture"),gitGraph:mpt((async()=>{let{createGitGraphServices:t}=await Promise.resolve().then((()=>(Rft(),Mft))),e=t().GitGraph.parser.LangiumParser;Oft.gitGraph=e}),"gitGraph")},w(Dft,"parse"),mpt(Dft,"parse"),Bft=class extends Error{static{w(this,"MermaidParseError")}constructor(t){super(`Parsing failed: ${t.lexerErrors.map((t=>t.message)).join("\n")} ${t.parserErrors.map((t=>t.message)).join("\n")}`),this.result=t}static{mpt(this,"MermaidParseError")}}}));function $ft(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}var zft,Uft,Gft=k((()=>{w($ft,"populateCommonDb")})),qft=k((()=>{zft={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4}})),Yft=k((()=>{Uft=class{constructor(t){this.init=t,this.records=this.init()}static{w(this,"ImperativeState")}reset(){this.records=this.init()}}}));function jft(){return eD({length:7})}function Hft(t,e){let r=Object.create(null);return t.reduce(((t,n)=>{let i=e(n);return r[i]||(r[i]=!0,t.push(n)),t}),[])}function Wft(t,e,r){let n=t.indexOf(e);-1===n?t.push(r):t.splice(n,1,r)}function Vft(t){let e=t.reduce(((t,e)=>t.seq>e.seq?t:e),t[0]),n="";t.forEach((function(t){n+=t===e?"\t*":"\t|"}));let i=[n,e.id,e.seq];for(let t in Zft.records.branches)Zft.records.branches.get(t)===e.id&&i.push(t);if(r.debug(i.join(" ")),e.parents&&2==e.parents.length&&e.parents[0]&&e.parents[1]){let r=Zft.records.commits.get(e.parents[0]);Wft(t,e,r),e.parents[1]&&t.push(Zft.records.commits.get(e.parents[1]))}else{if(0==e.parents.length)return;if(e.parents[0]){let r=Zft.records.commits.get(e.parents[0]);Wft(t,e,r)}}Vft(t=Hft(t,(t=>t.id)))}var Xft,Kft,Zft,Qft,Jft,tgt,egt,rgt,ngt,igt,agt,ogt,sgt,lgt,cgt,hgt,ugt,dgt,pgt,fgt,ggt,mgt,ygt,vgt,xgt,bgt,wgt,kgt,Tgt,Egt,_gt,Cgt,Sgt,Agt,Lgt,Ngt,Igt,Mgt,Rgt,Dgt,Ogt,Pgt,Bgt,Fgt,$gt,zgt,Ugt,Ggt,qgt,Ygt,jgt,Hgt,Wgt,Vgt,Xgt,Kgt,Zgt,Qgt,Jgt,tmt,emt,rmt,nmt,imt,amt,omt=k((()=>{L(),mD(),rn(),Oc(),Zh(),qft(),Yft(),tn(),Xft=Ye.gitGraph,Kft=w((()=>zR({...Xft,...ir().gitGraph})),"getConfig"),Zft=new Uft((()=>{let t=Kft(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}})),w(jft,"getID"),w(Hft,"uniqBy"),Qft=w((function(t){Zft.records.direction=t}),"setDirection"),Jft=w((function(t){r.debug("options str",t),t=t?.trim(),t=t||"{}";try{Zft.records.options=JSON.parse(t)}catch(t){r.error("error while parsing gitGraph options",t.message)}}),"setOptions"),tgt=w((function(){return Zft.records.options}),"getOptions"),egt=w((function(t){let e=t.msg,n=t.id,i=t.type,a=t.tags;r.info("commit",e,n,i,a),r.debug("Entering commit:",e,n,i,a);let o=Kft();n=Cc.sanitizeText(n,o),e=Cc.sanitizeText(e,o),a=a?.map((t=>Cc.sanitizeText(t,o)));let s={id:n||Zft.records.seq+"-"+jft(),message:e,seq:Zft.records.seq++,type:i??zft.NORMAL,tags:a??[],parents:null==Zft.records.head?[]:[Zft.records.head.id],branch:Zft.records.currBranch};Zft.records.head=s,r.info("main branch",o.mainBranchName),Zft.records.commits.set(s.id,s),Zft.records.branches.set(Zft.records.currBranch,s.id),r.debug("in pushCommit "+s.id)}),"commit"),rgt=w((function(t){let e=t.name,n=t.order;if(e=Cc.sanitizeText(e,Kft()),Zft.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);Zft.records.branches.set(e,null!=Zft.records.head?Zft.records.head.id:null),Zft.records.branchConfig.set(e,{name:e,order:n}),agt(e),r.debug("in createBranch")}),"branch"),ngt=w((t=>{let e=t.branch,n=t.id,i=t.type,a=t.tags,o=Kft();e=Cc.sanitizeText(e,o),n&&(n=Cc.sanitizeText(n,o));let s=Zft.records.branches.get(Zft.records.currBranch),l=Zft.records.branches.get(e),c=s?Zft.records.commits.get(s):void 0,h=l?Zft.records.commits.get(l):void 0;if(c&&h&&c.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(Zft.records.currBranch===e){let t=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},t}if(void 0===c||!c){let t=new Error(`Incorrect usage of "merge". Current branch (${Zft.records.currBranch})has no commits`);throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},t}if(!Zft.records.branches.has(e)){let t=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},t}if(void 0===h||!h){let t=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},t}if(c===h){let t=new Error('Incorrect usage of "merge". Both branches have same head');throw t.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},t}if(n&&Zft.records.commits.has(n)){let t=new Error('Incorrect usage of "merge". Commit with id:'+n+" already exists, use different custom Id");throw t.hash={text:`merge ${e} ${n} ${i} ${a?.join(" ")}`,token:`merge ${e} ${n} ${i} ${a?.join(" ")}`,expected:[`merge ${e} ${n}_UNIQUE ${i} ${a?.join(" ")}`]},t}let u=l||"",d={id:n||`${Zft.records.seq}-${jft()}`,message:`merged branch ${e} into ${Zft.records.currBranch}`,seq:Zft.records.seq++,parents:null==Zft.records.head?[]:[Zft.records.head.id,u],branch:Zft.records.currBranch,type:zft.MERGE,customType:i,customId:!!n,tags:a??[]};Zft.records.head=d,Zft.records.commits.set(d.id,d),Zft.records.branches.set(Zft.records.currBranch,d.id),r.debug(Zft.records.branches),r.debug("in mergeBranch")}),"merge"),igt=w((function(t){let e=t.id,n=t.targetId,i=t.tags,a=t.parent;r.debug("Entering cherryPick:",e,n,i);let o=Kft();if(e=Cc.sanitizeText(e,o),n=Cc.sanitizeText(n,o),i=i?.map((t=>Cc.sanitizeText(t,o))),a=Cc.sanitizeText(a,o),!e||!Zft.records.commits.has(e)){let t=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw t.hash={text:`cherryPick ${e} ${n}`,token:`cherryPick ${e} ${n}`,expected:["cherry-pick abc"]},t}let s=Zft.records.commits.get(e);if(void 0===s||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(a&&(!Array.isArray(s.parents)||!s.parents.includes(a)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");let l=s.branch;if(s.type===zft.MERGE&&!a)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!n||!Zft.records.commits.has(n)){if(l===Zft.records.currBranch){let t=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw t.hash={text:`cherryPick ${e} ${n}`,token:`cherryPick ${e} ${n}`,expected:["cherry-pick abc"]},t}let t=Zft.records.branches.get(Zft.records.currBranch);if(void 0===t||!t){let t=new Error(`Incorrect usage of "cherry-pick". Current branch (${Zft.records.currBranch})has no commits`);throw t.hash={text:`cherryPick ${e} ${n}`,token:`cherryPick ${e} ${n}`,expected:["cherry-pick abc"]},t}let o=Zft.records.commits.get(t);if(void 0===o||!o){let t=new Error(`Incorrect usage of "cherry-pick". Current branch (${Zft.records.currBranch})has no commits`);throw t.hash={text:`cherryPick ${e} ${n}`,token:`cherryPick ${e} ${n}`,expected:["cherry-pick abc"]},t}let c={id:Zft.records.seq+"-"+jft(),message:`cherry-picked ${s?.message} into ${Zft.records.currBranch}`,seq:Zft.records.seq++,parents:null==Zft.records.head?[]:[Zft.records.head.id,s.id],branch:Zft.records.currBranch,type:zft.CHERRY_PICK,tags:i?i.filter(Boolean):[`cherry-pick:${s.id}${s.type===zft.MERGE?`|parent:${a}`:""}`]};Zft.records.head=c,Zft.records.commits.set(c.id,c),Zft.records.branches.set(Zft.records.currBranch,c.id),r.debug(Zft.records.branches),r.debug("in cherryPick")}}),"cherryPick"),agt=w((function(t){if(t=Cc.sanitizeText(t,Kft()),!Zft.records.branches.has(t)){let e=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}{Zft.records.currBranch=t;let e=Zft.records.branches.get(Zft.records.currBranch);Zft.records.head=void 0!==e&&e?Zft.records.commits.get(e)??null:null}}),"checkout"),w(Wft,"upsert"),w(Vft,"prettyPrintCommitHistory"),ogt=w((function(){r.debug(Zft.records.commits),Vft([ugt()[0]])}),"prettyPrint"),sgt=w((function(){Zft.reset(),qc()}),"clear"),lgt=w((function(){return[...Zft.records.branchConfig.values()].map(((t,e)=>null!==t.order&&void 0!==t.order?t:{...t,order:parseFloat(`0.${e}`)})).sort(((t,e)=>(t.order??0)-(e.order??0))).map((({name:t})=>({name:t})))}),"getBranchesAsObjArray"),cgt=w((function(){return Zft.records.branches}),"getBranches"),hgt=w((function(){return Zft.records.commits}),"getCommits"),ugt=w((function(){let t=[...Zft.records.commits.values()];return t.forEach((function(t){r.debug(t.id)})),t.sort(((t,e)=>t.seq-e.seq)),t}),"getCommitsArray"),dgt=w((function(){return Zft.records.currBranch}),"getCurrentBranch"),pgt=w((function(){return Zft.records.direction}),"getDirection"),fgt=w((function(){return Zft.records.head}),"getHead"),ggt={commitType:zft,getConfig:Kft,setDirection:Qft,setOptions:Jft,getOptions:tgt,commit:egt,branch:rgt,merge:ngt,cherryPick:igt,checkout:agt,prettyPrint:ogt,clear:sgt,getBranchesAsObjArray:lgt,getBranches:cgt,getCommits:hgt,getCommitsArray:ugt,getCurrentBranch:dgt,getDirection:pgt,getHead:fgt,setAccTitle:Yc,getAccTitle:jc,getAccDescription:Wc,setAccDescription:Hc,setDiagramTitle:Vc,getDiagramTitle:Xc}})),smt=k((()=>{Fft(),L(),Gft(),omt(),qft(),mgt=w(((t,e)=>{$ft(t,e),t.dir&&e.setDirection(t.dir);for(let r of t.statements)ygt(r,e)}),"populate"),ygt=w(((t,e)=>{let n={Commit:w((t=>e.commit(vgt(t))),"Commit"),Branch:w((t=>e.branch(xgt(t))),"Branch"),Merge:w((t=>e.merge(bgt(t))),"Merge"),Checkout:w((t=>e.checkout(wgt(t))),"Checkout"),CherryPicking:w((t=>e.cherryPick(kgt(t))),"CherryPicking")}[t.$type];n?n(t):r.error(`Unknown statement type: ${t.$type}`)}),"parseStatement"),vgt=w((t=>({id:t.id,msg:t.message??"",type:void 0!==t.type?zft[t.type]:zft.NORMAL,tags:t.tags??void 0})),"parseCommit"),xgt=w((t=>({name:t.name,order:t.order??0})),"parseBranch"),bgt=w((t=>({branch:t.branch,id:t.id??"",type:void 0!==t.type?zft[t.type]:void 0,tags:t.tags??void 0})),"parseMerge"),wgt=w((t=>t.branch),"parseCheckout"),kgt=w((t=>({id:t.id,targetId:"",tags:0===t.tags?.length?void 0:t.tags,parent:t.parent})),"parseCherryPicking"),Tgt={parse:w((async t=>{let e=await Dft("gitGraph",t);r.debug(e),mgt(e,ggt)}),"parse")}})),lmt=k((()=>{jC(),Qh(),L(),mD(),qft(),Egt=Qc(),_gt=Egt?.gitGraph,Cgt=10,Sgt=40,Agt=new Map,Lgt=new Map,Ngt=new Map,Igt=[],Mgt=0,Rgt="LR",Dgt=w((()=>{Agt.clear(),Lgt.clear(),Ngt.clear(),Mgt=0,Igt=[],Rgt="LR"}),"clear"),Ogt=w((t=>{let e=document.createElementNS("http://www.w3.org/2000/svg","text");return("string"==typeof t?t.split(/\\n|\n|/gi):t).forEach((t=>{let r=document.createElementNS("http://www.w3.org/2000/svg","tspan");r.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),r.setAttribute("dy","1em"),r.setAttribute("x","0"),r.setAttribute("class","row"),r.textContent=t.trim(),e.appendChild(r)})),e}),"drawText"),Pgt=w((t=>{let e,r,n;return"BT"===Rgt?(r=w(((t,e)=>t<=e),"comparisonFunc"),n=1/0):(r=w(((t,e)=>t>=e),"comparisonFunc"),n=0),t.forEach((t=>{let i="TB"===Rgt||"BT"==Rgt?Lgt.get(t)?.y:Lgt.get(t)?.x;void 0!==i&&r(i,n)&&(e=t,n=i)})),e}),"findClosestParent"),Bgt=w((t=>{let e="",r=1/0;return t.forEach((t=>{let n=Lgt.get(t).y;n<=r&&(e=t,r=n)})),e||void 0}),"findClosestParentBT"),Fgt=w(((t,e,r)=>{let n=r,i=r,a=[];t.forEach((t=>{let r=e.get(t);if(!r)throw new Error(`Commit not found for key ${t}`);r.parents.length?(n=zgt(r),i=Math.max(n,i)):a.push(r),Ugt(r,n)})),n=i,a.forEach((t=>{Ggt(t,n,r)})),t.forEach((t=>{let r=e.get(t);if(r?.parents.length){let t=Bgt(r.parents);n=Lgt.get(t).y-Sgt,n<=i&&(i=n);let e=Agt.get(r.branch).pos,a=n-Cgt;Lgt.set(r.id,{x:e,y:a})}}))}),"setParallelBTPos"),$gt=w((t=>{let e=Pgt(t.parents.filter((t=>null!==t)));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);let r=Lgt.get(e)?.y;if(void 0===r)throw new Error(`Closest parent position not found for commit ${t.id}`);return r}),"findClosestParentPos"),zgt=w((t=>$gt(t)+Sgt),"calculateCommitPosition"),Ugt=w(((t,e)=>{let r=Agt.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);let n=r.pos,i=e+Cgt;return Lgt.set(t.id,{x:n,y:i}),{x:n,y:i}}),"setCommitPosition"),Ggt=w(((t,e,r)=>{let n=Agt.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);let i=e+r,a=n.pos;Lgt.set(t.id,{x:a,y:i})}),"setRootPosition"),qgt=w(((t,e,r,n,i,a)=>{if(a===zft.HIGHLIGHT)t.append("rect").attr("x",r.x-10).attr("y",r.y-10).attr("width",20).attr("height",20).attr("class",`commit ${e.id} commit-highlight${i%8} ${n}-outer`),t.append("rect").attr("x",r.x-6).attr("y",r.y-6).attr("width",12).attr("height",12).attr("class",`commit ${e.id} commit${i%8} ${n}-inner`);else if(a===zft.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",10).attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${n}`);else{let o=t.append("circle");if(o.attr("cx",r.x),o.attr("cy",r.y),o.attr("r",e.type===zft.MERGE?9:10),o.attr("class",`commit ${e.id} commit${i%8}`),a===zft.MERGE){let a=t.append("circle");a.attr("cx",r.x),a.attr("cy",r.y),a.attr("r",6),a.attr("class",`commit ${n} ${e.id} commit${i%8}`)}a===zft.REVERSE&&t.append("path").attr("d",`M ${r.x-5},${r.y-5}L${r.x+5},${r.y+5}M${r.x-5},${r.y+5}L${r.x+5},${r.y-5}`).attr("class",`commit ${n} ${e.id} commit${i%8}`)}}),"drawCommitBullet"),Ygt=w(((t,e,r,n)=>{if(e.type!==zft.CHERRY_PICK&&(e.customId&&e.type===zft.MERGE||e.type!==zft.MERGE)&&_gt?.showCommitLabel){let i=t.append("g"),a=i.insert("rect").attr("class","commit-label-bkg"),o=i.append("text").attr("x",n).attr("y",r.y+25).attr("class","commit-label").text(e.id),s=o.node()?.getBBox();if(s&&(a.attr("x",r.posWithOffset-s.width/2-2).attr("y",r.y+13.5).attr("width",s.width+4).attr("height",s.height+4),"TB"===Rgt||"BT"===Rgt?(a.attr("x",r.x-(s.width+16+5)).attr("y",r.y-12),o.attr("x",r.x-(s.width+16)).attr("y",r.y+s.height-12)):o.attr("x",r.posWithOffset-s.width/2),_gt.rotateCommitLabel))if("TB"===Rgt||"BT"===Rgt)o.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),a.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{let t=-7.5-(s.width+10)/25*9.5,e=10+s.width/25*8.5;i.attr("transform","translate("+t+", "+e+") rotate(-45, "+n+", "+r.y+")")}}}),"drawCommitLabel"),jgt=w(((t,e,r,n)=>{if(e.tags.length>0){let i=0,a=0,o=0,s=[];for(let n of e.tags.reverse()){let e=t.insert("polygon"),l=t.append("circle"),c=t.append("text").attr("y",r.y-16-i).attr("class","tag-label").text(n),h=c.node()?.getBBox();if(!h)throw new Error("Tag bbox not found");a=Math.max(a,h.width),o=Math.max(o,h.height),c.attr("x",r.posWithOffset-h.width/2),s.push({tag:c,hole:l,rect:e,yOffset:i}),i+=20}for(let{tag:t,hole:e,rect:i,yOffset:l}of s){let s=o/2,c=r.y-19.2-l;if(i.attr("class","tag-label-bkg").attr("points",`\n ${n-a/2-2},${c+2} \n ${n-a/2-2},${c-2}\n ${r.posWithOffset-a/2-4},${c-s-2}\n ${r.posWithOffset+a/2+4},${c-s-2}\n ${r.posWithOffset+a/2+4},${c+s+2}\n ${r.posWithOffset-a/2-4},${c+s+2}`),e.attr("cy",c).attr("cx",n-a/2+2).attr("r",1.5).attr("class","tag-hole"),"TB"===Rgt||"BT"===Rgt){let o=n+l;i.attr("class","tag-label-bkg").attr("points",`\n ${r.x},${o+2}\n ${r.x},${o-2}\n ${r.x+Cgt},${o-s-2}\n ${r.x+Cgt+a+4},${o-s-2}\n ${r.x+Cgt+a+4},${o+s+2}\n ${r.x+Cgt},${o+s+2}`).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),e.attr("cx",r.x+2).attr("cy",o).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),t.attr("x",r.x+5).attr("y",o+3).attr("transform","translate(14,14) rotate(45, "+r.x+","+n+")")}}}}),"drawCommitTags"),Hgt=w((t=>{switch(t.customType??t.type){case zft.NORMAL:return"commit-normal";case zft.REVERSE:return"commit-reverse";case zft.HIGHLIGHT:return"commit-highlight";case zft.MERGE:return"commit-merge";case zft.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}}),"getCommitClassType"),Wgt=w(((t,e,r,n)=>{let i={x:0,y:0};if(!(t.parents.length>0))return"TB"===e?30:"BT"===e?(n.get(t.id)??i).y-Sgt:0;{let r=Pgt(t.parents);if(r){let a=n.get(r)??i;return"TB"===e?a.y+Sgt:"BT"===e?(n.get(t.id)??i).y-Sgt:a.x+Sgt}}return 0}),"calculatePosition"),Vgt=w(((t,e,r)=>{let n="BT"===Rgt&&r?e:e+Cgt,i="TB"===Rgt||"BT"===Rgt?n:Agt.get(t.branch)?.pos,a="TB"===Rgt||"BT"===Rgt?Agt.get(t.branch)?.pos:n;if(void 0===a||void 0===i)throw new Error(`Position were undefined for commit ${t.id}`);return{x:a,y:i,posWithOffset:n}}),"getCommitPosition"),Xgt=w(((t,e,r)=>{if(!_gt)throw new Error("GitGraph config not found");let n=t.append("g").attr("class","commit-bullets"),i=t.append("g").attr("class","commit-labels"),a="TB"===Rgt||"BT"===Rgt?30:0,o=[...e.keys()],s=_gt?.parallelCommits??!1,l=w(((t,r)=>{let n=e.get(t)?.seq,i=e.get(r)?.seq;return void 0!==n&&void 0!==i?n-i:0}),"sortKeys"),c=o.sort(l);"BT"===Rgt&&(s&&Fgt(c,e,a),c=c.reverse()),c.forEach((t=>{let o=e.get(t);if(!o)throw new Error(`Commit not found for key ${t}`);s&&(a=Wgt(o,Rgt,a,Lgt));let l=Vgt(o,a,s);if(r){let t=Hgt(o),e=o.customType??o.type,r=Agt.get(o.branch)?.index??0;qgt(n,o,l,t,r,e),Ygt(i,o,l,a),jgt(i,o,l,a)}"TB"===Rgt||"BT"===Rgt?Lgt.set(o.id,{x:l.x,y:l.posWithOffset}):Lgt.set(o.id,{x:l.posWithOffset,y:l.y}),a="BT"===Rgt&&s?a+Sgt:a+Sgt+Cgt,a>Mgt&&(Mgt=a)}))}),"drawCommits"),Kgt=w(((t,e,r,n,i)=>{let a=("TB"===Rgt||"BT"===Rgt?r.xt.branch===a),"isOnBranchToGetCurve"),s=w((r=>r.seq>t.seq&&r.seqs(t)&&o(t)))}),"shouldRerouteArrow"),Zgt=w(((t,e,r=0)=>{let n=t+Math.abs(t-e)/2;if(r>5)return n;if(Igt.every((t=>Math.abs(t-n)>=10)))return Igt.push(n),n;let i=Math.abs(t-e);return Zgt(t,e-i/5,r+1)}),"findLane"),Qgt=w(((t,e,r,n)=>{let i=Lgt.get(e.id),a=Lgt.get(r.id);if(void 0===i||void 0===a)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);let o,s=Kgt(e,r,i,a,n),l="",c="",h=0,u=0,d=Agt.get(r.branch)?.index;if(r.type===zft.MERGE&&e.id!==r.parents[0]&&(d=Agt.get(e.branch)?.index),s){l="A 10 10, 0, 0, 0,",c="A 10 10, 0, 0, 1,",h=10,u=10;let t=i.ya.x&&(l="A 20 20, 0, 0, 0,",c="A 20 20, 0, 0, 1,",h=20,u=20,o=r.type===zft.MERGE&&e.id!==r.parents[0]?`M ${i.x} ${i.y} L ${i.x} ${a.y-h} ${c} ${i.x-u} ${a.y} L ${a.x} ${a.y}`:`M ${i.x} ${i.y} L ${a.x+h} ${i.y} ${l} ${a.x} ${i.y+u} L ${a.x} ${a.y}`),i.x===a.x&&(o=`M ${i.x} ${i.y} L ${a.x} ${a.y}`)):"BT"===Rgt?(i.xa.x&&(l="A 20 20, 0, 0, 0,",c="A 20 20, 0, 0, 1,",h=20,u=20,o=r.type===zft.MERGE&&e.id!==r.parents[0]?`M ${i.x} ${i.y} L ${i.x} ${a.y+h} ${l} ${i.x-u} ${a.y} L ${a.x} ${a.y}`:`M ${i.x} ${i.y} L ${a.x-h} ${i.y} ${l} ${a.x} ${i.y-u} L ${a.x} ${a.y}`),i.x===a.x&&(o=`M ${i.x} ${i.y} L ${a.x} ${a.y}`)):(i.ya.y&&(o=r.type===zft.MERGE&&e.id!==r.parents[0]?`M ${i.x} ${i.y} L ${a.x-h} ${i.y} ${l} ${a.x} ${i.y-u} L ${a.x} ${a.y}`:`M ${i.x} ${i.y} L ${i.x} ${a.y+h} ${c} ${i.x+u} ${a.y} L ${a.x} ${a.y}`),i.y===a.y&&(o=`M ${i.x} ${i.y} L ${a.x} ${a.y}`));if(void 0===o)throw new Error("Line definition not found");t.append("path").attr("d",o).attr("class","arrow arrow"+d%8)}),"drawArrow"),Jgt=w(((t,e)=>{let r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach((t=>{let n=e.get(t);n.parents&&n.parents.length>0&&n.parents.forEach((t=>{Qgt(r,e.get(t),n,e)}))}))}),"drawArrows"),tmt=w(((t,e)=>{let r=t.append("g");e.forEach(((t,e)=>{let n=e%8,i=Agt.get(t.name)?.pos;if(void 0===i)throw new Error(`Position not found for branch ${t.name}`);let a=r.append("line");a.attr("x1",0),a.attr("y1",i),a.attr("x2",Mgt),a.attr("y2",i),a.attr("class","branch branch"+n),"TB"===Rgt?(a.attr("y1",30),a.attr("x1",i),a.attr("y2",Mgt),a.attr("x2",i)):"BT"===Rgt&&(a.attr("y1",Mgt),a.attr("x1",i),a.attr("y2",30),a.attr("x2",i)),Igt.push(i);let o=t.name,s=Ogt(o),l=r.insert("rect"),c=r.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+n);c.node().appendChild(s);let h=s.getBBox();l.attr("class","branchLabelBkg label"+n).attr("rx",4).attr("ry",4).attr("x",-h.width-4-(!0===_gt?.rotateCommitLabel?30:0)).attr("y",-h.height/2+8).attr("width",h.width+18).attr("height",h.height+4),c.attr("transform","translate("+(-h.width-14-(!0===_gt?.rotateCommitLabel?30:0))+", "+(i-h.height/2-1)+")"),"TB"===Rgt?(l.attr("x",i-h.width/2-10).attr("y",0),c.attr("transform","translate("+(i-h.width/2-5)+", 0)")):"BT"===Rgt?(l.attr("x",i-h.width/2-10).attr("y",Mgt),c.attr("transform","translate("+(i-h.width/2-5)+", "+Mgt+")")):l.attr("transform","translate(-19, "+(i-h.height/2)+")")}))}),"drawBranches"),emt=w((function(t,e,r,n,i){return Agt.set(t,{pos:e,index:r}),e+(50+(i?40:0)+("TB"===Rgt||"BT"===Rgt?n.width/2:0))}),"setBranchPosition"),rmt=w((function(t,e,n,i){if(Dgt(),r.debug("in gitgraph renderer",t+"\n","id:",e,n),!_gt)throw new Error("GitGraph config not found");let a=_gt.rotateCommitLabel??!1,o=i.db;Ngt=o.getCommits();let s=o.getBranchesAsObjArray();Rgt=o.getDirection();let l=Qf(`[id="${e}"]`),c=0;s.forEach(((t,e)=>{let r=Ogt(t.name),n=l.append("g"),i=n.insert("g").attr("class","branchLabel"),o=i.insert("g").attr("class","label branch-label");o.node()?.appendChild(r);let s=r.getBBox();c=emt(t.name,c,e,s,a),o.remove(),i.remove(),n.remove()})),Xgt(l,Ngt,!1),_gt.showBranches&&tmt(l,s),Jgt(l,Ngt),Xgt(l,Ngt,!0),dD.insertTitle(l,"gitTitleText",_gt.titleTopMargin??0,o.getDiagramTitle()),rh(void 0,l,_gt.diagramPadding,_gt.useMaxWidth)}),"draw"),nmt={draw:rmt}})),cmt=k((()=>{imt=w((t=>`\n .commit-id,\n .commit-msg,\n .branch-label {\n fill: lightgrey;\n color: lightgrey;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n ${[0,1,2,3,4,5,6,7].map((e=>`\n .branch-label${e} { fill: ${t["gitBranchLabel"+e]}; }\n .commit${e} { stroke: ${t["git"+e]}; fill: ${t["git"+e]}; }\n .commit-highlight${e} { stroke: ${t["gitInv"+e]}; fill: ${t["gitInv"+e]}; }\n .label${e} { fill: ${t["git"+e]}; }\n .arrow${e} { stroke: ${t["git"+e]}; }\n `)).join("\n")}\n\n .branch {\n stroke-width: 1;\n stroke: ${t.lineColor};\n stroke-dasharray: 2;\n }\n .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};}\n .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelBackground}; opacity: 0.5; }\n .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};}\n .tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; }\n .tag-hole { fill: ${t.textColor}; }\n\n .commit-merge {\n stroke: ${t.primaryColor};\n fill: ${t.primaryColor};\n }\n .commit-reverse {\n stroke: ${t.primaryColor};\n fill: ${t.primaryColor};\n stroke-width: 3;\n }\n .commit-highlight-outer {\n }\n .commit-highlight-inner {\n stroke: ${t.primaryColor};\n fill: ${t.primaryColor};\n }\n\n .arrow { stroke-width: 8; stroke-linecap: round; fill: none}\n .gitTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n }\n`),"getStyles"),amt=imt})),hmt={};E(hmt,{diagram:()=>umt});var umt,dmt,pmt,fmt=k((()=>{smt(),omt(),lmt(),cmt(),umt={parser:Tgt,db:ggt,renderer:nmt,styles:amt}})),gmt=k((()=>{(dmt=function(){var t=w((function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r}),"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],r=[1,26],n=[1,27],i=[1,28],a=[1,29],o=[1,30],s=[1,31],l=[1,32],c=[1,33],h=[1,34],u=[1,9],d=[1,10],p=[1,11],f=[1,12],g=[1,13],m=[1,14],y=[1,15],v=[1,16],x=[1,19],b=[1,20],k=[1,21],T=[1,22],E=[1,23],_=[1,25],C=[1,35],S={trace:w((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:w((function(t,e,r,n,i,a,o){var s=a.length-1;switch(i){case 1:return a[s-1];case 2:case 6:case 7:this.$=[];break;case 3:a[s-1].push(a[s]),this.$=a[s-1];break;case 4:case 5:this.$=a[s];break;case 8:n.setWeekday("monday");break;case 9:n.setWeekday("tuesday");break;case 10:n.setWeekday("wednesday");break;case 11:n.setWeekday("thursday");break;case 12:n.setWeekday("friday");break;case 13:n.setWeekday("saturday");break;case 14:n.setWeekday("sunday");break;case 15:n.setWeekend("friday");break;case 16:n.setWeekend("saturday");break;case 17:n.setDateFormat(a[s].substr(11)),this.$=a[s].substr(11);break;case 18:n.enableInclusiveEndDates(),this.$=a[s].substr(18);break;case 19:n.TopAxis(),this.$=a[s].substr(8);break;case 20:n.setAxisFormat(a[s].substr(11)),this.$=a[s].substr(11);break;case 21:n.setTickInterval(a[s].substr(13)),this.$=a[s].substr(13);break;case 22:n.setExcludes(a[s].substr(9)),this.$=a[s].substr(9);break;case 23:n.setIncludes(a[s].substr(9)),this.$=a[s].substr(9);break;case 24:n.setTodayMarker(a[s].substr(12)),this.$=a[s].substr(12);break;case 27:n.setDiagramTitle(a[s].substr(6)),this.$=a[s].substr(6);break;case 28:this.$=a[s].trim(),n.setAccTitle(this.$);break;case 29:case 30:this.$=a[s].trim(),n.setAccDescription(this.$);break;case 31:n.addSection(a[s].substr(8)),this.$=a[s].substr(8);break;case 33:n.addTask(a[s-1],a[s]),this.$="task";break;case 34:this.$=a[s-1],n.setClickEvent(a[s-1],a[s],null);break;case 35:this.$=a[s-2],n.setClickEvent(a[s-2],a[s-1],a[s]);break;case 36:this.$=a[s-2],n.setClickEvent(a[s-2],a[s-1],null),n.setLink(a[s-2],a[s]);break;case 37:this.$=a[s-3],n.setClickEvent(a[s-3],a[s-2],a[s-1]),n.setLink(a[s-3],a[s]);break;case 38:this.$=a[s-2],n.setClickEvent(a[s-2],a[s],null),n.setLink(a[s-2],a[s-1]);break;case 39:this.$=a[s-3],n.setClickEvent(a[s-3],a[s-1],a[s]),n.setLink(a[s-3],a[s-2]);break;case 40:this.$=a[s-1],n.setLink(a[s-1],a[s]);break;case 41:case 47:this.$=a[s-1]+" "+a[s];break;case 42:case 43:case 45:this.$=a[s-2]+" "+a[s-1]+" "+a[s];break;case 44:case 46:this.$=a[s-3]+" "+a[s-2]+" "+a[s-1]+" "+a[s]}}),"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:r,13:n,14:i,15:a,16:o,17:s,18:l,19:18,20:c,21:h,22:u,23:d,24:p,25:f,26:g,27:m,28:y,29:v,30:x,31:b,33:k,35:T,36:E,37:24,38:_,40:C},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:r,13:n,14:i,15:a,16:o,17:s,18:l,19:18,20:c,21:h,22:u,23:d,24:p,25:f,26:g,27:m,28:y,29:v,30:x,31:b,33:k,35:T,36:E,37:24,38:_,40:C},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:w((function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)}),"parseError"),parse:w((function(t){var e=this,r=[0],n=[],i=[null],a=[],o=this.table,s="",l=0,c=0,h=0,u=a.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,typeof d.yylloc>"u"&&(d.yylloc={});var g=d.yylloc;a.push(g);var m=d.options&&d.options.ranges;function y(){var t;return"number"!=typeof(t=n.pop()||d.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,w((function(t){r.length=r.length-2*t,i.length=i.length-t,a.length=a.length-t}),"popStack"),w(y,"lex");for(var v,x,b,k,T,E,_,C,S,A={};;){if(b=r[r.length-1],this.defaultActions[b]?k=this.defaultActions[b]:((null===v||typeof v>"u")&&(v=y()),k=o[b]&&o[b][v]),typeof k>"u"||!k.length||!k[0]){var L;for(E in S=[],o[b])this.terminals_[E]&&E>2&&S.push("'"+this.terminals_[E]+"'");L=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==v?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(L,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:g,expected:S})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(k[0]){case 1:r.push(v),i.push(d.yytext),a.push(d.yylloc),r.push(k[1]),v=null,x?(v=x,x=null):(c=d.yyleng,s=d.yytext,l=d.yylineno,g=d.yylloc,h>0&&h--);break;case 2:if(_=this.productions_[k[1]][1],A.$=i[i.length-_],A._$={first_line:a[a.length-(_||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(_||1)].first_column,last_column:a[a.length-1].last_column},m&&(A._$.range=[a[a.length-(_||1)].range[0],a[a.length-1].range[1]]),typeof(T=this.performAction.apply(A,[s,c,l,p.yy,k[1],i,a].concat(u)))<"u")return T;_&&(r=r.slice(0,-1*_*2),i=i.slice(0,-1*_),a=a.slice(0,-1*_)),r.push(this.productions_[k[1]][0]),i.push(A.$),a.push(A._$),C=o[r[r.length-2]][r[r.length-1]],r.push(C);break;case 3:return!0}}return!0}),"parse")},A={EOF:1,parseError:w((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:w((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:w((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:w((function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:w((function(){return this._more=!0,this}),"more"),reject:w((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:w((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:w((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:w((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:w((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:w((function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:w((function(){if(this.done)return this.EOF;var t,e,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:w((function(){return this.next()||this.lex()}),"lex"),begin:w((function(t){this.conditionStack.push(t)}),"begin"),popState:w((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:w((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:w((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:w((function(t){this.begin(t)}),"pushState"),stateStackSize:w((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:w((function(t,e,r,n){switch(r){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:case 15:case 18:case 21:case 24:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:case 9:case 10:case 12:case 13:break;case 11:return 10;case 14:this.begin("href");break;case 16:return 43;case 17:this.begin("callbackname");break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 22:return 42;case 23:this.begin("click");break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}}),"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};function L(){this.yy={}}return S.lexer=A,w(L,"Parser"),L.prototype=S,S.Parser=L,new L}()).parser=dmt,pmt=dmt})),mmt=T(((t,e)=>{var r,n;r=t,n=function(){var t="day";return function(e,r,n){var i=w((function(e){return e.add(4-e.isoWeekday(),t)}),"a"),a=r.prototype;a.isoWeekYear=function(){return i(this).year()},a.isoWeek=function(e){if(!this.$utils().u(e))return this.add(7*(e-this.isoWeek()),t);var r,a,o,s=i(this),l=(r=this.isoWeekYear(),o=4-(a=(this.$u?n.utc:n)().year(r).startOf("year")).isoWeekday(),a.isoWeekday()>4&&(o+=7),a.add(o,t));return s.diff(l,"week")+1},a.isoWeekday=function(t){return this.$utils().u(t)?this.day()||7:this.day(this.day()%7?t:t-7)};var o=a.startOf;a.startOf=function(t,e){var r=this.$utils(),n=!!r.u(e)||e;return"isoweek"===r.p(t)?n?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):o.bind(this)(t,e)}}},"object"==typeof t&&typeof e<"u"?e.exports=n():"function"==typeof define&&define.amd?define(n):(r=typeof globalThis<"u"?globalThis:r||self).dayjs_plugin_isoWeek=n()})),ymt=T(((t,e)=>{var r,n;r=t,n=function(){var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},e=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,r=/\d/,n=/\d\d/,i=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,o={},s=w((function(t){return(t=+t)+(t>68?1900:2e3)}),"a"),l=w((function(t){return function(e){this[t]=+e}}),"f"),c=[/[+-]\d\d:?(\d\d)?|Z/,function(t){(this.zone||(this.zone={})).offset=function(t){if(!t||"Z"===t)return 0;var e=t.match(/([+-]|\d\d)/g),r=60*e[1]+(+e[2]||0);return 0===r?0:"+"===e[0]?-r:r}(t)}],h=w((function(t){var e=o[t];return e&&(e.indexOf?e:e.s.concat(e.f))}),"u"),u=w((function(t,e){var r,n=o.meridiem;if(n){for(var i=1;i<=24;i+=1)if(t.indexOf(n(i,0,e))>-1){r=i>12;break}}else r=t===(e?"pm":"PM");return r}),"d"),d={A:[a,function(t){this.afternoon=u(t,!1)}],a:[a,function(t){this.afternoon=u(t,!0)}],Q:[r,function(t){this.month=3*(t-1)+1}],S:[r,function(t){this.milliseconds=100*+t}],SS:[n,function(t){this.milliseconds=10*+t}],SSS:[/\d{3}/,function(t){this.milliseconds=+t}],s:[i,l("seconds")],ss:[i,l("seconds")],m:[i,l("minutes")],mm:[i,l("minutes")],H:[i,l("hours")],h:[i,l("hours")],HH:[i,l("hours")],hh:[i,l("hours")],D:[i,l("day")],DD:[n,l("day")],Do:[a,function(t){var e=o.ordinal,r=t.match(/\d+/);if(this.day=r[0],e)for(var n=1;n<=31;n+=1)e(n).replace(/\[|\]/g,"")===t&&(this.day=n)}],w:[i,l("week")],ww:[n,l("week")],M:[i,l("month")],MM:[n,l("month")],MMM:[a,function(t){var e=h("months"),r=(h("monthsShort")||e.map((function(t){return t.slice(0,3)}))).indexOf(t)+1;if(r<1)throw new Error;this.month=r%12||r}],MMMM:[a,function(t){var e=h("months").indexOf(t)+1;if(e<1)throw new Error;this.month=e%12||e}],Y:[/[+-]?\d+/,l("year")],YY:[n,function(t){this.year=s(t)}],YYYY:[/\d{4}/,l("year")],Z:c,ZZ:c};function p(r){var n,i;n=r,i=o&&o.formats;for(var a=(r=n.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(e,r,n){var a=n&&n.toUpperCase();return r||i[n]||t[n]||i[a].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(t,e,r){return e||r.slice(1)}))}))).match(e),s=a.length,l=0;l-1)return new Date(("X"===e?1e3:1)*t);var i=p(e)(t),a=i.year,o=i.month,s=i.day,l=i.hours,c=i.minutes,h=i.seconds,u=i.milliseconds,d=i.zone,f=i.week,g=new Date,m=s||(a||o?1:g.getDate()),y=a||g.getFullYear(),v=0;a&&!o||(v=o>0?o-1:g.getMonth());var x,b=l||0,w=c||0,k=h||0,T=u||0;return d?new Date(Date.UTC(y,v,m,b,w,k,T+60*d.offset*1e3)):r?new Date(Date.UTC(y,v,m,b,w,k,T)):(x=new Date(y,v,m,b,w,k,T),f&&(x=n(x).week(f).toDate()),x)}catch{return new Date("")}}(e,s,n,r),this.init(),u&&!0!==u&&(this.$L=this.locale(u).$L),h&&e!=this.format(s)&&(this.$d=new Date("")),o={}}else if(s instanceof Array)for(var d=s.length,f=1;f<=d;f+=1){a[1]=s[f-1];var g=r.apply(this,a);if(g.isValid()){this.$d=g.$d,this.$L=g.$L,this.init();break}f===d&&(this.$d=new Date(""))}else i.call(this,t)}}},"object"==typeof t&&typeof e<"u"?e.exports=n():"function"==typeof define&&define.amd?define(n):(r=typeof globalThis<"u"?globalThis:r||self).dayjs_plugin_customParseFormat=n()})),vmt=T(((t,e)=>{var r,n;r=t,n=function(){return function(t,e){var r=e.prototype,n=r.format;r.format=function(t){var e=this,r=this.$locale();if(!this.isValid())return n.bind(this)(t);var i=this.$utils(),a=(t||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(t){switch(t){case"Q":return Math.ceil((e.$M+1)/3);case"Do":return r.ordinal(e.$D);case"gggg":return e.weekYear();case"GGGG":return e.isoWeekYear();case"wo":return r.ordinal(e.week(),"W");case"w":case"ww":return i.s(e.week(),"w"===t?1:2,"0");case"W":case"WW":return i.s(e.isoWeek(),"W"===t?1:2,"0");case"k":case"kk":return i.s(String(0===e.$H?24:e.$H),"k"===t?1:2,"0");case"X":return Math.floor(e.$d.getTime()/1e3);case"x":return e.$d.getTime();case"z":return"["+e.offsetName()+"]";case"zzz":return"["+e.offsetName("long")+"]";default:return t}}));return n.bind(this)(a)}}},"object"==typeof t&&typeof e<"u"?e.exports=n():"function"==typeof define&&define.amd?define(n):(r=typeof globalThis<"u"?globalThis:r||self).dayjs_plugin_advancedFormat=n()}));function xmt(t,e,r){let n=!0;for(;n;)n=!1,r.forEach((function(r){let i=new RegExp("^\\s*"+r+"\\s*$");t[0].match(i)&&(e[r]=!0,t.shift(1),n=!0)}))}var bmt,wmt,kmt,Tmt,Emt,_mt,Cmt,Smt,Amt,Lmt,Nmt,Imt,Mmt,Rmt,Dmt,Omt,Pmt,Bmt,Fmt,$mt,zmt,Umt,Gmt,qmt,Ymt,jmt,Hmt,Wmt,Vmt,Xmt,Kmt,Zmt,Qmt,Jmt,tyt,eyt,ryt,nyt,iyt,ayt,oyt,syt,lyt,cyt,hyt,uyt,dyt,pyt,fyt,gyt,myt,yyt,vyt,xyt,byt,wyt,kyt,Tyt,Eyt,_yt,Cyt,Syt,Ayt,Lyt,Nyt,Iyt,Myt,Ryt,Dyt,Oyt,Pyt,Byt,Fyt,$yt,zyt,Uyt,Gyt,qyt,Yyt,jyt,Hyt,Wyt,Vyt,Xyt,Kyt=k((()=>{bmt=S(WC(),1),wmt=S(A(),1),kmt=S(mmt(),1),Tmt=S(ymt(),1),Emt=S(vmt(),1),L(),Qh(),mD(),Zh(),wmt.default.extend(kmt.default),wmt.default.extend(Tmt.default),wmt.default.extend(Emt.default),_mt={friday:5,saturday:6},Cmt="",Smt="",Lmt="",Nmt=[],Imt=[],Mmt=new Map,Rmt=[],Dmt=[],Omt="",Pmt="",Bmt=["active","done","crit","milestone"],Fmt=[],$mt=!1,zmt=!1,Umt="sunday",Gmt="saturday",qmt=0,Ymt=w((function(){Rmt=[],Dmt=[],Omt="",Fmt=[],kyt=0,Cyt=void 0,Syt=void 0,Ayt=[],Cmt="",Smt="",Pmt="",Amt=void 0,Lmt="",Nmt=[],Imt=[],$mt=!1,zmt=!1,qmt=0,Mmt=new Map,qc(),Umt="sunday",Gmt="saturday"}),"clear"),jmt=w((function(t){Smt=t}),"setAxisFormat"),Hmt=w((function(){return Smt}),"getAxisFormat"),Wmt=w((function(t){Amt=t}),"setTickInterval"),Vmt=w((function(){return Amt}),"getTickInterval"),Xmt=w((function(t){Lmt=t}),"setTodayMarker"),Kmt=w((function(){return Lmt}),"getTodayMarker"),Zmt=w((function(t){Cmt=t}),"setDateFormat"),Qmt=w((function(){$mt=!0}),"enableInclusiveEndDates"),Jmt=w((function(){return $mt}),"endDatesAreInclusive"),tyt=w((function(){zmt=!0}),"enableTopAxis"),eyt=w((function(){return zmt}),"topAxisEnabled"),ryt=w((function(t){Pmt=t}),"setDisplayMode"),nyt=w((function(){return Pmt}),"getDisplayMode"),iyt=w((function(){return Cmt}),"getDateFormat"),ayt=w((function(t){Nmt=t.toLowerCase().split(/[\s,]+/)}),"setIncludes"),oyt=w((function(){return Nmt}),"getIncludes"),syt=w((function(t){Imt=t.toLowerCase().split(/[\s,]+/)}),"setExcludes"),lyt=w((function(){return Imt}),"getExcludes"),cyt=w((function(){return Mmt}),"getLinks"),hyt=w((function(t){Omt=t,Rmt.push(t)}),"addSection"),uyt=w((function(){return Rmt}),"getSections"),dyt=w((function(){let t=Ryt(),e=0;for(;!t&&e<10;)t=Ryt(),e++;return Dmt=Ayt}),"getTasks"),pyt=w((function(t,e,r,n){return!n.includes(t.format(e.trim()))&&(!((!r.includes("weekends")||t.isoWeekday()!==_mt[Gmt]&&t.isoWeekday()!==_mt[Gmt]+1)&&!r.includes(t.format("dddd").toLowerCase()))||r.includes(t.format(e.trim())))}),"isInvalidDate"),fyt=w((function(t){Umt=t}),"setWeekday"),gyt=w((function(){return Umt}),"getWeekday"),myt=w((function(t){Gmt=t}),"setWeekend"),yyt=w((function(t,e,r,n){if(!r.length||t.manualEndTime)return;let i,a;i=t.startTime instanceof Date?(0,wmt.default)(t.startTime):(0,wmt.default)(t.startTime,e,!0),i=i.add(1,"d"),a=t.endTime instanceof Date?(0,wmt.default)(t.endTime):(0,wmt.default)(t.endTime,e,!0);let[o,s]=vyt(i,a,e,r,n);t.endTime=o.toDate(),t.renderEndTime=s}),"checkTaskDates"),vyt=w((function(t,e,r,n,i){let a=!1,o=null;for(;t<=e;)a||(o=e.toDate()),a=pyt(t,r,n,i),a&&(e=e.add(1,"d")),t=t.add(1,"d");return[e,o]}),"fixTaskDates"),xyt=w((function(t,e,n){n=n.trim();let i=/^after\s+(?[\d\w- ]+)/.exec(n);if(null!==i){let t=null;for(let e of i.groups.ids.split(" ")){let r=Iyt(e);void 0!==r&&(!t||r.endTime>t.endTime)&&(t=r)}if(t)return t.endTime;let e=new Date;return e.setHours(0,0,0,0),e}let a=(0,wmt.default)(n,e.trim(),!0);if(a.isValid())return a.toDate();{r.debug("Invalid date:"+n),r.debug("With date format:"+e.trim());let t=new Date(n);if(void 0===t||isNaN(t.getTime())||t.getFullYear()<-1e4||t.getFullYear()>1e4)throw new Error("Invalid date:"+n);return t}}),"getStartDate"),byt=w((function(t){let e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return null!==e?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]}),"parseDuration"),wyt=w((function(t,e,r,n=!1){r=r.trim();let i=/^until\s+(?[\d\w- ]+)/.exec(r);if(null!==i){let t=null;for(let e of i.groups.ids.split(" ")){let r=Iyt(e);void 0!==r&&(!t||r.startTime{window.open(r,"_self")})),Mmt.set(t,r))})),Oyt(t,"clickable")}),"setLink"),Oyt=w((function(t,e){t.split(",").forEach((function(t){let r=Iyt(t);void 0!==r&&r.classes.push(e)}))}),"setClass"),Pyt=w((function(t,e,r){if("loose"!==Qc().securityLevel||void 0===e)return;let n=[];if("string"==typeof r){n=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t{dD.runFunc(e,...n)}))}),"setClickFun"),Byt=w((function(t,e){Fmt.push((function(){let r=document.querySelector(`[id="${t}"]`);null!==r&&r.addEventListener("click",(function(){e()}))}),(function(){let r=document.querySelector(`[id="${t}-text"]`);null!==r&&r.addEventListener("click",(function(){e()}))}))}),"pushFun"),Fyt=w((function(t,e,r){t.split(",").forEach((function(t){Pyt(t,e,r)})),Oyt(t,"clickable")}),"setClickEvent"),$yt=w((function(t){Fmt.forEach((function(e){e(t)}))}),"bindFunctions"),zyt={getConfig:w((()=>Qc().gantt),"getConfig"),clear:Ymt,setDateFormat:Zmt,getDateFormat:iyt,enableInclusiveEndDates:Qmt,endDatesAreInclusive:Jmt,enableTopAxis:tyt,topAxisEnabled:eyt,setAxisFormat:jmt,getAxisFormat:Hmt,setTickInterval:Wmt,getTickInterval:Vmt,setTodayMarker:Xmt,getTodayMarker:Kmt,setAccTitle:Yc,getAccTitle:jc,setDiagramTitle:Vc,getDiagramTitle:Xc,setDisplayMode:ryt,getDisplayMode:nyt,setAccDescription:Hc,getAccDescription:Wc,addSection:hyt,getSections:uyt,getTasks:dyt,addTask:Nyt,findTaskById:Iyt,addTaskOrg:Myt,setIncludes:ayt,getIncludes:oyt,setExcludes:syt,getExcludes:lyt,setClickEvent:Fyt,setLink:Dyt,getLinks:cyt,bindFunctions:$yt,parseDuration:byt,isInvalidDate:pyt,setWeekday:fyt,getWeekday:gyt,setWeekend:myt},w(xmt,"getTaskTags")})),Zyt=k((()=>{Uyt=S(A(),1),L(),jC(),Oc(),Qh(),Pc(),Gyt=w((function(){r.debug("Something is calling, setConf, remove the call")}),"setConf"),qyt={monday:Kw,tuesday:Zw,wednesday:Qw,thursday:Jw,friday:tk,saturday:ek,sunday:Xw},Yyt=w(((t,e)=>{let r=[...t].map((()=>-1/0)),n=[...t].sort(((t,e)=>t.startTime-e.startTime||t.order-e.order)),i=0;for(let t of n)for(let n=0;n=r[n]){r[n]=t.endTime,t.order=n+e,n>i&&(i=n);break}return i}),"getMaxIntersections"),Hyt=w((function(t,e,n,i){let a,o=Qc().gantt,s=Qc().securityLevel;"sandbox"===s&&(a=Qf("#i"+e));let l=Qf("sandbox"===s?a.nodes()[0].contentDocument.body:"body"),c="sandbox"===s?a.nodes()[0].contentDocument:document,h=c.getElementById(e);void 0===(jyt=h.parentElement.offsetWidth)&&(jyt=1200),void 0!==o.useWidth&&(jyt=o.useWidth);let u=i.db.getTasks(),d=[];for(let t of u)d.push(t.type);d=_(d);let p={},f=2*o.topPadding;if("compact"===i.db.getDisplayMode()||"compact"===o.displayMode){let t={};for(let e of u)void 0===t[e.section]?t[e.section]=[e]:t[e.section].push(e);let e=0;for(let r of Object.keys(t)){let n=Yyt(t[r],e)+1;e+=n,f+=n*(o.barHeight+o.barGap),p[r]=n}}else{f+=u.length*(o.barHeight+o.barGap);for(let t of d)p[t]=u.filter((e=>e.type===t)).length}h.setAttribute("viewBox","0 0 "+jyt+" "+f);let g=l.select(`[id="${e}"]`),m=JT().domain([Lu(u,(function(t){return t.startTime})),Su(u,(function(t){return t.endTime}))]).rangeRound([0,jyt-o.leftPadding-o.rightPadding]);function y(t,e){let r=t.startTime,n=e.startTime,i=0;return r>n?i=1:rt.order)))].map((e=>t.find((t=>t.order===e))));g.append("g").selectAll("rect").data(h).enter().append("rect").attr("x",0).attr("y",(function(t,e){return t.order*r+n-2})).attr("width",(function(){return c-o.rightPadding/2})).attr("height",r).attr("class",(function(t){for(let[e,r]of d.entries())if(t.type===r)return"section section"+e%o.numberSectionStyles;return"section section0"}));let u=g.append("g").selectAll("rect").data(t).enter(),p=i.db.getLinks();if(u.append("rect").attr("id",(function(t){return t.id})).attr("rx",3).attr("ry",3).attr("x",(function(t){return t.milestone?m(t.startTime)+a+.5*(m(t.endTime)-m(t.startTime))-.5*s:m(t.startTime)+a})).attr("y",(function(t,e){return t.order*r+n})).attr("width",(function(t){return t.milestone?s:m(t.renderEndTime||t.endTime)-m(t.startTime)})).attr("height",s).attr("transform-origin",(function(t,e){return e=t.order,(m(t.startTime)+a+.5*(m(t.endTime)-m(t.startTime))).toString()+"px "+(e*r+n+.5*s).toString()+"px"})).attr("class",(function(t){let e="";t.classes.length>0&&(e=t.classes.join(" "));let r=0;for(let[e,n]of d.entries())t.type===n&&(r=e%o.numberSectionStyles);let n="";return t.active?t.crit?n+=" activeCrit":n=" active":t.done?n=t.crit?" doneCrit":" done":t.crit&&(n+=" crit"),0===n.length&&(n=" task"),t.milestone&&(n=" milestone "+n),n+=r,n+=" "+e,"task"+n})),u.append("text").attr("id",(function(t){return t.id+"-text"})).text((function(t){return t.task})).attr("font-size",o.fontSize).attr("x",(function(t){let e=m(t.startTime),r=m(t.renderEndTime||t.endTime);t.milestone&&(e+=.5*(m(t.endTime)-m(t.startTime))-.5*s),t.milestone&&(r=e+s);let n=this.getBBox().width;return n>r-e?r+n+1.5*o.leftPadding>c?e+a-5:r+a+5:(r-e)/2+e+a})).attr("y",(function(t,e){return t.order*r+o.barHeight/2+(o.fontSize/2-2)+n})).attr("text-height",s).attr("class",(function(t){let e=m(t.startTime),r=m(t.endTime);t.milestone&&(r=e+s);let n=this.getBBox().width,i="";t.classes.length>0&&(i=t.classes.join(" "));let a=0;for(let[e,r]of d.entries())t.type===r&&(a=e%o.numberSectionStyles);let l="";return t.active&&(l=t.crit?"activeCritText"+a:"activeText"+a),t.done?l=t.crit?l+" doneCritText"+a:l+" doneText"+a:t.crit&&(l=l+" critText"+a),t.milestone&&(l+=" milestoneText"),n>r-e?r+n+1.5*o.leftPadding>c?i+" taskTextOutsideLeft taskTextOutside"+a+" "+l:i+" taskTextOutsideRight taskTextOutside"+a+" "+l+" width-"+n:i+" taskText taskText"+a+" "+l+" width-"+n})),"sandbox"===Qc().securityLevel){let t;t=Qf("#i"+e);let r=t.nodes()[0].contentDocument;u.filter((function(t){return p.has(t.id)})).each((function(t){var e=r.querySelector("#"+t.id),n=r.querySelector("#"+t.id+"-text");let i=e.parentNode;var a=r.createElement("a");a.setAttribute("xlink:href",p.get(t.id)),a.setAttribute("target","_top"),i.appendChild(a),a.appendChild(e),a.appendChild(n)}))}}function b(t,e,n,a,s,l,c,h){if(0===c.length&&0===h.length)return;let u,d;for(let{startTime:t,endTime:e}of l)(void 0===u||td)&&(d=e);if(!u||!d)return;if((0,Uyt.default)(d).diff((0,Uyt.default)(u),"year")>5)return void r.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");let p=i.db.getDateFormat(),f=[],y=null,v=(0,Uyt.default)(u);for(;v.valueOf()<=d;)i.db.isInvalidDate(v,p,c,h)?y?y.end=v:y={start:v,end:v}:y&&(f.push(y),y=null),v=v.add(1,"d");g.append("g").selectAll("rect").data(f).enter().append("rect").attr("id",(function(t){return"exclude-"+t.start.format("YYYY-MM-DD")})).attr("x",(function(t){return m(t.start)+n})).attr("y",o.gridLineStartPadding).attr("width",(function(t){let e=t.end.add(1,"day");return m(e)-m(t.start)})).attr("height",s-e-o.gridLineStartPadding).attr("transform-origin",(function(e,r){return(m(e.start)+n+.5*(m(e.end)-m(e.start))).toString()+"px "+(r*t+.5*s).toString()+"px"})).attr("class","exclude-range")}function k(t,e,r,n){let a=qu(m).tickSize(-n+e+o.gridLineStartPadding).tickFormat(WT(i.db.getAxisFormat()||o.axisFormat||"%Y-%m-%d")),s=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(i.db.getTickInterval()||o.tickInterval);if(null!==s){let t=s[1],e=s[2],r=i.db.getWeekday()||o.weekday;switch(e){case"millisecond":a.ticks(Mw.every(t));break;case"second":a.ticks(Rw.every(t));break;case"minute":a.ticks(Dw.every(t));break;case"hour":a.ticks(Pw.every(t));break;case"day":a.ticks(Fw.every(t));break;case"week":a.ticks(qyt[r].every(t));break;case"month":a.ticks(ck.every(t))}}if(g.append("g").attr("class","grid").attr("transform","translate("+t+", "+(n-50)+")").call(a).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),i.db.topAxisEnabled()||o.topAxis){let r=Gu(m).tickSize(-n+e+o.gridLineStartPadding).tickFormat(WT(i.db.getAxisFormat()||o.axisFormat||"%Y-%m-%d"));if(null!==s){let t=s[1],e=s[2],n=i.db.getWeekday()||o.weekday;switch(e){case"millisecond":r.ticks(Mw.every(t));break;case"second":r.ticks(Rw.every(t));break;case"minute":r.ticks(Dw.every(t));break;case"hour":r.ticks(Pw.every(t));break;case"day":r.ticks(Fw.every(t));break;case"week":r.ticks(qyt[n].every(t));break;case"month":r.ticks(ck.every(t))}}g.append("g").attr("class","grid").attr("transform","translate("+t+", "+e+")").call(r).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}function T(t,e){let r=0,n=Object.keys(p).map((t=>[t,p[t]]));g.append("g").selectAll("text").data(n).enter().append((function(t){let e=t[0].split(Cc.lineBreakRegex),r=-(e.length-1)/2,n=c.createElementNS("http://www.w3.org/2000/svg","text");n.setAttribute("dy",r+"em");for(let[t,r]of e.entries()){let e=c.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttribute("alignment-baseline","central"),e.setAttribute("x","10"),t>0&&e.setAttribute("dy","1em"),e.textContent=r,n.appendChild(e)}return n})).attr("x",10).attr("y",(function(i,a){if(!(a>0))return i[1]*t/2+e;for(let o=0;o{Vyt=w((t=>`\n .mermaid-main-font {\n font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);\n }\n\n .exclude-range {\n fill: ${t.excludeBkgColor};\n }\n\n .section {\n stroke: none;\n opacity: 0.2;\n }\n\n .section0 {\n fill: ${t.sectionBkgColor};\n }\n\n .section2 {\n fill: ${t.sectionBkgColor2};\n }\n\n .section1,\n .section3 {\n fill: ${t.altSectionBkgColor};\n opacity: 0.2;\n }\n\n .sectionTitle0 {\n fill: ${t.titleColor};\n }\n\n .sectionTitle1 {\n fill: ${t.titleColor};\n }\n\n .sectionTitle2 {\n fill: ${t.titleColor};\n }\n\n .sectionTitle3 {\n fill: ${t.titleColor};\n }\n\n .sectionTitle {\n text-anchor: start;\n font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);\n }\n\n\n /* Grid and axis */\n\n .grid .tick {\n stroke: ${t.gridColor};\n opacity: 0.8;\n shape-rendering: crispEdges;\n }\n\n .grid .tick text {\n font-family: ${t.fontFamily};\n fill: ${t.textColor};\n }\n\n .grid path {\n stroke-width: 0;\n }\n\n\n /* Today line */\n\n .today {\n fill: none;\n stroke: ${t.todayLineColor};\n stroke-width: 2px;\n }\n\n\n /* Task styling */\n\n /* Default task */\n\n .task {\n stroke-width: 2;\n }\n\n .taskText {\n text-anchor: middle;\n font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);\n }\n\n .taskTextOutsideRight {\n fill: ${t.taskTextDarkColor};\n text-anchor: start;\n font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);\n }\n\n .taskTextOutsideLeft {\n fill: ${t.taskTextDarkColor};\n text-anchor: end;\n }\n\n\n /* Special case clickable */\n\n .task.clickable {\n cursor: pointer;\n }\n\n .taskText.clickable {\n cursor: pointer;\n fill: ${t.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n .taskTextOutsideLeft.clickable {\n cursor: pointer;\n fill: ${t.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n .taskTextOutsideRight.clickable {\n cursor: pointer;\n fill: ${t.taskTextClickableColor} !important;\n font-weight: bold;\n }\n\n\n /* Specific task settings for the sections*/\n\n .taskText0,\n .taskText1,\n .taskText2,\n .taskText3 {\n fill: ${t.taskTextColor};\n }\n\n .task0,\n .task1,\n .task2,\n .task3 {\n fill: ${t.taskBkgColor};\n stroke: ${t.taskBorderColor};\n }\n\n .taskTextOutside0,\n .taskTextOutside2\n {\n fill: ${t.taskTextOutsideColor};\n }\n\n .taskTextOutside1,\n .taskTextOutside3 {\n fill: ${t.taskTextOutsideColor};\n }\n\n\n /* Active task */\n\n .active0,\n .active1,\n .active2,\n .active3 {\n fill: ${t.activeTaskBkgColor};\n stroke: ${t.activeTaskBorderColor};\n }\n\n .activeText0,\n .activeText1,\n .activeText2,\n .activeText3 {\n fill: ${t.taskTextDarkColor} !important;\n }\n\n\n /* Completed task */\n\n .done0,\n .done1,\n .done2,\n .done3 {\n stroke: ${t.doneTaskBorderColor};\n fill: ${t.doneTaskBkgColor};\n stroke-width: 2;\n }\n\n .doneText0,\n .doneText1,\n .doneText2,\n .doneText3 {\n fill: ${t.taskTextDarkColor} !important;\n }\n\n\n /* Tasks on the critical line */\n\n .crit0,\n .crit1,\n .crit2,\n .crit3 {\n stroke: ${t.critBorderColor};\n fill: ${t.critBkgColor};\n stroke-width: 2;\n }\n\n .activeCrit0,\n .activeCrit1,\n .activeCrit2,\n .activeCrit3 {\n stroke: ${t.critBorderColor};\n fill: ${t.activeTaskBkgColor};\n stroke-width: 2;\n }\n\n .doneCrit0,\n .doneCrit1,\n .doneCrit2,\n .doneCrit3 {\n stroke: ${t.critBorderColor};\n fill: ${t.doneTaskBkgColor};\n stroke-width: 2;\n cursor: pointer;\n shape-rendering: crispEdges;\n }\n\n .milestone {\n transform: rotate(45deg) scale(0.8,0.8);\n }\n\n .milestoneText {\n font-style: italic;\n }\n .doneCritText0,\n .doneCritText1,\n .doneCritText2,\n .doneCritText3 {\n fill: ${t.taskTextDarkColor} !important;\n }\n\n .activeCritText0,\n .activeCritText1,\n .activeCritText2,\n .activeCritText3 {\n fill: ${t.taskTextDarkColor} !important;\n }\n\n .titleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.titleColor||t.textColor};\n font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);\n }\n`),"getStyles"),Xyt=Vyt})),Jyt={};E(Jyt,{diagram:()=>tvt});var tvt,evt,rvt,nvt,ivt,avt,ovt,svt,lvt,cvt=k((()=>{gmt(),Kyt(),Zyt(),Qyt(),tvt={parser:pmt,db:zyt,renderer:Wyt,styles:Xyt}})),hvt=k((()=>{Fft(),L(),evt={parse:w((async t=>{let e=await Dft("info",t);r.debug(e)}),"parse")}})),uvt=k((()=>{rvt="11.2.1"})),dvt=k((()=>{uvt(),nvt={version:rvt},ivt=w((()=>nvt.version),"getVersion"),avt={getVersion:ivt}})),pvt=k((()=>{jC(),Qh(),ovt=w((t=>{let{securityLevel:e}=Qc(),r=Qf("body");if("sandbox"===e){let e=Qf(`#i${t}`).node()?.contentDocument??document;r=Qf(e.body)}return r.select(`#${t}`)}),"selectSvgElement")})),fvt=k((()=>{L(),pvt(),Pc(),svt=w(((t,e,n)=>{r.debug("rendering info diagram\n"+t);let i=ovt(e);Lc(i,100,400,!0),i.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${n}`)}),"draw"),lvt={draw:svt}})),gvt={};E(gvt,{diagram:()=>mvt});var mvt,yvt,vvt,xvt,bvt,wvt,kvt,Tvt,Evt,_vt,Cvt,Svt,Avt,Lvt,Nvt,Ivt,Mvt,Rvt,Dvt,Ovt,Pvt=k((()=>{hvt(),dvt(),fvt(),mvt={parser:evt,db:avt,renderer:lvt}})),Bvt=k((()=>{L(),Zh(),tn(),yvt=Ye.pie,vvt={sections:new Map,showData:!1,config:yvt},xvt=vvt.sections,bvt=vvt.showData,wvt=structuredClone(yvt),kvt=w((()=>structuredClone(wvt)),"getConfig"),Tvt=w((()=>{xvt=new Map,bvt=vvt.showData,qc()}),"clear"),Evt=w((({label:t,value:e})=>{xvt.has(t)||(xvt.set(t,e),r.debug(`added new section: ${t}, with value: ${e}`))}),"addSection"),_vt=w((()=>xvt),"getSections"),Cvt=w((t=>{bvt=t}),"setShowData"),Svt=w((()=>bvt),"getShowData"),Avt={getConfig:kvt,clear:Tvt,setDiagramTitle:Vc,getDiagramTitle:Xc,setAccTitle:Yc,getAccTitle:jc,setAccDescription:Hc,getAccDescription:Wc,addSection:Evt,getSections:_vt,setShowData:Cvt,getShowData:Svt}})),Fvt=k((()=>{Fft(),L(),Gft(),Bvt(),Lvt=w(((t,e)=>{$ft(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)}),"populateDb"),Nvt={parse:w((async t=>{let e=await Dft("pie",t);r.debug(e),Lvt(e,Avt)}),"parse")}})),$vt=k((()=>{Ivt=w((t=>`\n .pieCircle{\n stroke: ${t.pieStrokeColor};\n stroke-width : ${t.pieStrokeWidth};\n opacity : ${t.pieOpacity};\n }\n .pieOuterCircle{\n stroke: ${t.pieOuterStrokeColor};\n stroke-width: ${t.pieOuterStrokeWidth};\n fill: none;\n }\n .pieTitleText {\n text-anchor: middle;\n font-size: ${t.pieTitleTextSize};\n fill: ${t.pieTitleTextColor};\n font-family: ${t.fontFamily};\n }\n .slice {\n font-family: ${t.fontFamily};\n fill: ${t.pieSectionTextColor};\n font-size:${t.pieSectionTextSize};\n // fill: white;\n }\n .legend text {\n fill: ${t.pieLegendTextColor};\n font-family: ${t.fontFamily};\n font-size: ${t.pieLegendTextSize};\n }\n`),"getStyles"),Mvt=Ivt})),zvt=k((()=>{jC(),Qh(),L(),pvt(),Pc(),mD(),Rvt=w((t=>{let e=[...t.entries()].map((t=>({label:t[0],value:t[1]}))).sort(((t,e)=>e.value-t.value));return VE().value((t=>t.value))(e)}),"createPieArcs"),Dvt=w(((t,e,n,i)=>{r.debug("rendering pie chart\n"+t);let a=i.db,o=Qc(),s=zR(a.getConfig(),o.pie),l=ovt(e),c=l.append("g");c.attr("transform","translate(225,225)");let{themeVariables:h}=o,[u]=uD(h.pieOuterStrokeWidth);u??=2;let d=s.textPosition,p=Math.min(450,450)/2-40,f=ME().innerRadius(0).outerRadius(p),g=ME().innerRadius(p*d).outerRadius(p*d);c.append("circle").attr("cx",0).attr("cy",0).attr("r",p+u/2).attr("class","pieOuterCircle");let m=a.getSections(),y=Rvt(m),v=nw([h.pie1,h.pie2,h.pie3,h.pie4,h.pie5,h.pie6,h.pie7,h.pie8,h.pie9,h.pie10,h.pie11,h.pie12]);c.selectAll("mySlices").data(y).enter().append("path").attr("d",f).attr("fill",(t=>v(t.data.label))).attr("class","pieCircle");let x=0;m.forEach((t=>{x+=t})),c.selectAll("mySlices").data(y).enter().append("text").text((t=>(t.data.value/x*100).toFixed(0)+"%")).attr("transform",(t=>"translate("+g.centroid(t)+")")).style("text-anchor","middle").attr("class","slice"),c.append("text").text(a.getDiagramTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText");let b=c.selectAll(".legend").data(v.domain()).enter().append("g").attr("class","legend").attr("transform",((t,e)=>"translate(216,"+(22*e-22*v.domain().length/2)+")"));b.append("rect").attr("width",18).attr("height",18).style("fill",v).style("stroke",v),b.data(y).append("text").attr("x",22).attr("y",14).text((t=>{let{label:e,value:r}=t.data;return a.getShowData()?`${e} [${r}]`:e}));let w=512+Math.max(...b.selectAll("text").nodes().map((t=>t?.getBoundingClientRect().width??0)));l.attr("viewBox",`0 0 ${w} 450`),Lc(l,450,w,s.useMaxWidth)}),"draw"),Ovt={draw:Dvt}})),Uvt={};E(Uvt,{diagram:()=>Gvt});var Gvt,qvt,Yvt,jvt,Hvt,Wvt=k((()=>{Fvt(),Bvt(),$vt(),zvt(),Gvt={parser:Nvt,db:Avt,renderer:Ovt,styles:Mvt}})),Vvt=k((()=>{(qvt=function(){var t=w((function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r}),"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[1,7],o=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],s=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[55,56,57],c=[2,36],h=[1,37],u=[1,36],d=[1,38],p=[1,35],f=[1,43],g=[1,41],m=[1,14],y=[1,23],v=[1,18],x=[1,19],b=[1,20],k=[1,21],T=[1,22],E=[1,24],_=[1,25],C=[1,26],S=[1,27],A=[1,28],L=[1,29],N=[1,32],I=[1,33],M=[1,34],R=[1,39],D=[1,40],O=[1,42],P=[1,44],B=[1,62],F=[1,61],$=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],z=[1,65],U=[1,66],G=[1,67],q=[1,68],Y=[1,69],j=[1,70],H=[1,71],W=[1,72],V=[1,73],X=[1,74],K=[1,75],Z=[1,76],Q=[4,5,6,7,8,9,10,11,12,13,14,15,18],J=[1,90],tt=[1,91],et=[1,92],rt=[1,99],nt=[1,93],it=[1,96],at=[1,94],ot=[1,95],st=[1,97],lt=[1,98],ct=[1,102],ht=[10,55,56,57],ut=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],dt={trace:w((function(){}),"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:w((function(t,e,r,n,i,a,o){var s=a.length-1;switch(i){case 23:case 68:this.$=a[s];break;case 24:case 69:this.$=a[s-1]+""+a[s];break;case 26:this.$=a[s-1]+a[s];break;case 27:this.$=[a[s].trim()];break;case 28:a[s-2].push(a[s].trim()),this.$=a[s-2];break;case 29:this.$=a[s-4],n.addClass(a[s-2],a[s]);break;case 37:this.$=[];break;case 42:this.$=a[s].trim(),n.setDiagramTitle(this.$);break;case 43:this.$=a[s].trim(),n.setAccTitle(this.$);break;case 44:case 45:this.$=a[s].trim(),n.setAccDescription(this.$);break;case 46:n.addSection(a[s].substr(8)),this.$=a[s].substr(8);break;case 47:n.addPoint(a[s-3],"",a[s-1],a[s],[]);break;case 48:n.addPoint(a[s-4],a[s-3],a[s-1],a[s],[]);break;case 49:n.addPoint(a[s-4],"",a[s-2],a[s-1],a[s]);break;case 50:n.addPoint(a[s-5],a[s-4],a[s-2],a[s-1],a[s]);break;case 51:n.setXAxisLeftText(a[s-2]),n.setXAxisRightText(a[s]);break;case 52:a[s-1].text+=" ⟶ ",n.setXAxisLeftText(a[s-1]);break;case 53:n.setXAxisLeftText(a[s]);break;case 54:n.setYAxisBottomText(a[s-2]),n.setYAxisTopText(a[s]);break;case 55:a[s-1].text+=" ⟶ ",n.setYAxisBottomText(a[s-1]);break;case 56:n.setYAxisBottomText(a[s]);break;case 57:n.setQuadrant1Text(a[s]);break;case 58:n.setQuadrant2Text(a[s]);break;case 59:n.setQuadrant3Text(a[s]);break;case 60:n.setQuadrant4Text(a[s]);break;case 64:case 66:this.$={text:a[s],type:"text"};break;case 65:this.$={text:a[s-1].text+""+a[s],type:a[s-1].type};break;case 67:this.$={text:a[s],type:"markdown"}}}),"anonymous"),table:[{18:e,26:1,27:2,28:r,55:n,56:i,57:a},{1:[3]},{18:e,26:8,27:2,28:r,55:n,56:i,57:a},{18:e,26:9,27:2,28:r,55:n,56:i,57:a},t(o,[2,33],{29:10}),t(s,[2,61]),t(s,[2,62]),t(s,[2,63]),{1:[2,30]},{1:[2,31]},t(l,c,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:h,5:u,10:d,12:p,13:f,14:g,18:m,25:y,35:v,37:x,39:b,41:k,42:T,48:E,50:_,51:C,52:S,53:A,54:L,60:N,61:I,63:M,64:R,65:D,66:O,67:P}),t(o,[2,34]),{27:45,55:n,56:i,57:a},t(l,[2,37]),t(l,c,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:h,5:u,10:d,12:p,13:f,14:g,18:m,25:y,35:v,37:x,39:b,41:k,42:T,48:E,50:_,51:C,52:S,53:A,54:L,60:N,61:I,63:M,64:R,65:D,66:O,67:P}),t(l,[2,39]),t(l,[2,40]),t(l,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(l,[2,45]),t(l,[2,46]),{18:[1,50]},{4:h,5:u,10:d,12:p,13:f,14:g,43:51,58:31,60:N,61:I,63:M,64:R,65:D,66:O,67:P},{4:h,5:u,10:d,12:p,13:f,14:g,43:52,58:31,60:N,61:I,63:M,64:R,65:D,66:O,67:P},{4:h,5:u,10:d,12:p,13:f,14:g,43:53,58:31,60:N,61:I,63:M,64:R,65:D,66:O,67:P},{4:h,5:u,10:d,12:p,13:f,14:g,43:54,58:31,60:N,61:I,63:M,64:R,65:D,66:O,67:P},{4:h,5:u,10:d,12:p,13:f,14:g,43:55,58:31,60:N,61:I,63:M,64:R,65:D,66:O,67:P},{4:h,5:u,10:d,12:p,13:f,14:g,43:56,58:31,60:N,61:I,63:M,64:R,65:D,66:O,67:P},{4:h,5:u,8:B,10:d,12:p,13:f,14:g,18:F,44:[1,57],47:[1,58],58:60,59:59,63:M,64:R,65:D,66:O,67:P},t($,[2,64]),t($,[2,66]),t($,[2,67]),t($,[2,70]),t($,[2,71]),t($,[2,72]),t($,[2,73]),t($,[2,74]),t($,[2,75]),t($,[2,76]),t($,[2,77]),t($,[2,78]),t($,[2,79]),t($,[2,80]),t(o,[2,35]),t(l,[2,38]),t(l,[2,42]),t(l,[2,43]),t(l,[2,44]),{3:64,4:z,5:U,6:G,7:q,8:Y,9:j,10:H,11:W,12:V,13:X,14:K,15:Z,21:63},t(l,[2,53],{59:59,58:60,4:h,5:u,8:B,10:d,12:p,13:f,14:g,18:F,49:[1,77],63:M,64:R,65:D,66:O,67:P}),t(l,[2,56],{59:59,58:60,4:h,5:u,8:B,10:d,12:p,13:f,14:g,18:F,49:[1,78],63:M,64:R,65:D,66:O,67:P}),t(l,[2,57],{59:59,58:60,4:h,5:u,8:B,10:d,12:p,13:f,14:g,18:F,63:M,64:R,65:D,66:O,67:P}),t(l,[2,58],{59:59,58:60,4:h,5:u,8:B,10:d,12:p,13:f,14:g,18:F,63:M,64:R,65:D,66:O,67:P}),t(l,[2,59],{59:59,58:60,4:h,5:u,8:B,10:d,12:p,13:f,14:g,18:F,63:M,64:R,65:D,66:O,67:P}),t(l,[2,60],{59:59,58:60,4:h,5:u,8:B,10:d,12:p,13:f,14:g,18:F,63:M,64:R,65:D,66:O,67:P}),{45:[1,79]},{44:[1,80]},t($,[2,65]),t($,[2,81]),t($,[2,82]),t($,[2,83]),{3:82,4:z,5:U,6:G,7:q,8:Y,9:j,10:H,11:W,12:V,13:X,14:K,15:Z,18:[1,81]},t(Q,[2,23]),t(Q,[2,1]),t(Q,[2,2]),t(Q,[2,3]),t(Q,[2,4]),t(Q,[2,5]),t(Q,[2,6]),t(Q,[2,7]),t(Q,[2,8]),t(Q,[2,9]),t(Q,[2,10]),t(Q,[2,11]),t(Q,[2,12]),t(l,[2,52],{58:31,43:83,4:h,5:u,10:d,12:p,13:f,14:g,60:N,61:I,63:M,64:R,65:D,66:O,67:P}),t(l,[2,55],{58:31,43:84,4:h,5:u,10:d,12:p,13:f,14:g,60:N,61:I,63:M,64:R,65:D,66:O,67:P}),{46:[1,85]},{45:[1,86]},{4:J,5:tt,6:et,8:rt,11:nt,13:it,16:89,17:at,18:ot,19:st,20:lt,22:88,23:87},t(Q,[2,24]),t(l,[2,51],{59:59,58:60,4:h,5:u,8:B,10:d,12:p,13:f,14:g,18:F,63:M,64:R,65:D,66:O,67:P}),t(l,[2,54],{59:59,58:60,4:h,5:u,8:B,10:d,12:p,13:f,14:g,18:F,63:M,64:R,65:D,66:O,67:P}),t(l,[2,47],{22:88,16:89,23:100,4:J,5:tt,6:et,8:rt,11:nt,13:it,17:at,18:ot,19:st,20:lt}),{46:[1,101]},t(l,[2,29],{10:ct}),t(ht,[2,27],{16:103,4:J,5:tt,6:et,8:rt,11:nt,13:it,17:at,18:ot,19:st,20:lt}),t(ut,[2,25]),t(ut,[2,13]),t(ut,[2,14]),t(ut,[2,15]),t(ut,[2,16]),t(ut,[2,17]),t(ut,[2,18]),t(ut,[2,19]),t(ut,[2,20]),t(ut,[2,21]),t(ut,[2,22]),t(l,[2,49],{10:ct}),t(l,[2,48],{22:88,16:89,23:104,4:J,5:tt,6:et,8:rt,11:nt,13:it,17:at,18:ot,19:st,20:lt}),{4:J,5:tt,6:et,8:rt,11:nt,13:it,16:89,17:at,18:ot,19:st,20:lt,22:105},t(ut,[2,26]),t(l,[2,50],{10:ct}),t(ht,[2,28],{16:103,4:J,5:tt,6:et,8:rt,11:nt,13:it,17:at,18:ot,19:st,20:lt})],defaultActions:{8:[2,30],9:[2,31]},parseError:w((function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)}),"parseError"),parse:w((function(t){var e=this,r=[0],n=[],i=[null],a=[],o=this.table,s="",l=0,c=0,h=0,u=a.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,typeof d.yylloc>"u"&&(d.yylloc={});var g=d.yylloc;a.push(g);var m=d.options&&d.options.ranges;function y(){var t;return"number"!=typeof(t=n.pop()||d.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,w((function(t){r.length=r.length-2*t,i.length=i.length-t,a.length=a.length-t}),"popStack"),w(y,"lex");for(var v,x,b,k,T,E,_,C,S,A={};;){if(b=r[r.length-1],this.defaultActions[b]?k=this.defaultActions[b]:((null===v||typeof v>"u")&&(v=y()),k=o[b]&&o[b][v]),typeof k>"u"||!k.length||!k[0]){var L;for(E in S=[],o[b])this.terminals_[E]&&E>2&&S.push("'"+this.terminals_[E]+"'");L=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==v?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(L,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:g,expected:S})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(k[0]){case 1:r.push(v),i.push(d.yytext),a.push(d.yylloc),r.push(k[1]),v=null,x?(v=x,x=null):(c=d.yyleng,s=d.yytext,l=d.yylineno,g=d.yylloc,h>0&&h--);break;case 2:if(_=this.productions_[k[1]][1],A.$=i[i.length-_],A._$={first_line:a[a.length-(_||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(_||1)].first_column,last_column:a[a.length-1].last_column},m&&(A._$.range=[a[a.length-(_||1)].range[0],a[a.length-1].range[1]]),typeof(T=this.performAction.apply(A,[s,c,l,p.yy,k[1],i,a].concat(u)))<"u")return T;_&&(r=r.slice(0,-1*_*2),i=i.slice(0,-1*_),a=a.slice(0,-1*_)),r.push(this.productions_[k[1]][0]),i.push(A.$),a.push(A._$),C=o[r[r.length-2]][r[r.length-1]],r.push(C);break;case 3:return!0}}return!0}),"parse")},pt={EOF:1,parseError:w((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:w((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:w((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:w((function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:w((function(){return this._more=!0,this}),"more"),reject:w((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:w((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:w((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:w((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:w((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:w((function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:w((function(){if(this.done)return this.EOF;var t,e,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:w((function(){return this.next()||this.lex()}),"lex"),begin:w((function(t){this.conditionStack.push(t)}),"begin"),popState:w((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:w((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:w((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:w((function(t){this.begin(t)}),"pushState"),stateStackSize:w((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:w((function(t,e,r,n){switch(r){case 0:case 1:case 3:break;case 2:return 55;case 4:return this.begin("title"),35;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),37;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),39;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 23:case 25:case 31:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 24:this.begin("string");break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;case 29:return this.begin("point_start"),44;case 30:return this.begin("point_x"),45;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}}),"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};function ft(){this.yy={}}return dt.lexer=pt,w(ft,"Parser"),ft.prototype=dt,dt.Parser=ft,new ft}()).parser=qvt,Yvt=qvt})),Xvt=k((()=>{jC(),tn(),L(),Xr(),jvt=De(),Hvt=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{w(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:Ye.quadrantChart?.chartWidth||500,chartWidth:Ye.quadrantChart?.chartHeight||500,titlePadding:Ye.quadrantChart?.titlePadding||10,titleFontSize:Ye.quadrantChart?.titleFontSize||20,quadrantPadding:Ye.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:Ye.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:Ye.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:Ye.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:Ye.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:Ye.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:Ye.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:Ye.quadrantChart?.pointTextPadding||5,pointLabelFontSize:Ye.quadrantChart?.pointLabelFontSize||12,pointRadius:Ye.quadrantChart?.pointRadius||5,xAxisPosition:Ye.quadrantChart?.xAxisPosition||"top",yAxisPosition:Ye.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:Ye.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:Ye.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:jvt.quadrant1Fill,quadrant2Fill:jvt.quadrant2Fill,quadrant3Fill:jvt.quadrant3Fill,quadrant4Fill:jvt.quadrant4Fill,quadrant1TextFill:jvt.quadrant1TextFill,quadrant2TextFill:jvt.quadrant2TextFill,quadrant3TextFill:jvt.quadrant3TextFill,quadrant4TextFill:jvt.quadrant4TextFill,quadrantPointFill:jvt.quadrantPointFill,quadrantPointTextFill:jvt.quadrantPointTextFill,quadrantXAxisTextFill:jvt.quadrantXAxisTextFill,quadrantYAxisTextFill:jvt.quadrantYAxisTextFill,quadrantTitleFill:jvt.quadrantTitleFill,quadrantInternalBorderStrokeFill:jvt.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:jvt.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,r.info("clear called")}setData(t){this.data={...this.data,...t}}addPoints(t){this.data.points=[...t,...this.data.points]}addClass(t,e){this.classes.set(t,e)}setConfig(t){r.trace("setConfig called with: ",t),this.config={...this.config,...t}}setThemeConfig(t){r.trace("setThemeConfig called with: ",t),this.themeConfig={...this.themeConfig,...t}}calculateSpace(t,e,r,n){let i=2*this.config.xAxisLabelPadding+this.config.xAxisLabelFontSize,a={top:"top"===t&&e?i:0,bottom:"bottom"===t&&e?i:0},o=2*this.config.yAxisLabelPadding+this.config.yAxisLabelFontSize,s={left:"left"===this.config.yAxisPosition&&r?o:0,right:"right"===this.config.yAxisPosition&&r?o:0},l=this.config.titleFontSize+2*this.config.titlePadding,c={top:n?l:0},h=this.config.quadrantPadding+s.left,u=this.config.quadrantPadding+a.top+c.top,d=this.config.chartWidth-2*this.config.quadrantPadding-s.left-s.right,p=this.config.chartHeight-2*this.config.quadrantPadding-a.top-a.bottom-c.top;return{xAxisSpace:a,yAxisSpace:s,titleSpace:c,quadrantSpace:{quadrantLeft:h,quadrantTop:u,quadrantWidth:d,quadrantHalfWidth:d/2,quadrantHeight:p,quadrantHalfHeight:p/2}}}getAxisLabels(t,e,r,n){let{quadrantSpace:i,titleSpace:a}=n,{quadrantHalfHeight:o,quadrantHeight:s,quadrantLeft:l,quadrantHalfWidth:c,quadrantTop:h,quadrantWidth:u}=i,d=!!this.data.xAxisRightText,p=!!this.data.yAxisTopText,f=[];return this.data.xAxisLeftText&&e&&f.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:l+(d?c/2:0),y:"top"===t?this.config.xAxisLabelPadding+a.top:this.config.xAxisLabelPadding+h+s+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:d?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&e&&f.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:l+c+(d?c/2:0),y:"top"===t?this.config.xAxisLabelPadding+a.top:this.config.xAxisLabelPadding+h+s+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:d?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&r&&f.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+l+u+this.config.quadrantPadding,y:h+s-(p?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&r&&f.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+l+u+this.config.quadrantPadding,y:h+o-(p?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:-90}),f}getQuadrants(t){let{quadrantSpace:e}=t,{quadrantHalfHeight:r,quadrantLeft:n,quadrantHalfWidth:i,quadrantTop:a}=e,o=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:n+i,y:a,width:i,height:r,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:n,y:a,width:i,height:r,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:n,y:a+r,width:i,height:r,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:n+i,y:a+r,width:i,height:r,fill:this.themeConfig.quadrant4Fill}];for(let t of o)t.text.x=t.x+t.width/2,0===this.data.points.length?(t.text.y=t.y+t.height/2,t.text.horizontalPos="middle"):(t.text.y=t.y+this.config.quadrantTextTopPadding,t.text.horizontalPos="top");return o}getQuadrantPoints(t){let{quadrantSpace:e}=t,{quadrantHeight:r,quadrantLeft:n,quadrantTop:i,quadrantWidth:a}=e,o=_w().domain([0,1]).range([n,a+n]),s=_w().domain([0,1]).range([r+i,i]);return this.data.points.map((t=>{let e=this.classes.get(t.className);return e&&(t={...e,...t}),{x:o(t.x),y:s(t.y),fill:t.color??this.themeConfig.quadrantPointFill,radius:t.radius??this.config.pointRadius,text:{text:t.text,fill:this.themeConfig.quadrantPointTextFill,x:o(t.x),y:s(t.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:t.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:t.strokeWidth??"0px"}}))}getBorders(t){let e=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:r}=t,{quadrantHalfHeight:n,quadrantHeight:i,quadrantLeft:a,quadrantHalfWidth:o,quadrantTop:s,quadrantWidth:l}=r;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:a-e,y1:s,x2:a+l+e,y2:s},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:a+l,y1:s+e,x2:a+l,y2:s+i-e},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:a-e,y1:s+i,x2:a+l+e,y2:s+i},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:a,y1:s+e,x2:a,y2:s+i-e},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:a+o,y1:s+e,x2:a+o,y2:s+i-e},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:a+e,y1:s+n,x2:a+l-e,y2:s+n}]}getTitle(t){if(t)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){let t=this.config.showXAxis&&!(!this.data.xAxisLeftText&&!this.data.xAxisRightText),e=this.config.showYAxis&&!(!this.data.yAxisTopText&&!this.data.yAxisBottomText),r=this.config.showTitle&&!!this.data.titleText,n=this.data.points.length>0?"bottom":this.config.xAxisPosition,i=this.calculateSpace(n,t,e,r);return{points:this.getQuadrantPoints(i),quadrants:this.getQuadrants(i),axisLabels:this.getAxisLabels(n,t,e,i),borderLines:this.getBorders(i),title:this.getTitle(r)}}}}));function Kvt(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}function Zvt(t){return!/^\d+$/.test(t)}function Qvt(t){return!/^\d+px$/.test(t)}var Jvt,txt=k((()=>{Jvt=class extends Error{static{w(this,"InvalidStyleError")}constructor(t,e,r){super(`value for ${t} ${e} is invalid, please use a valid ${r}`),this.name="InvalidStyleError"}},w(Kvt,"validateHexCode"),w(Zvt,"validateNumber"),w(Qvt,"validateSizeInPixels")}));function ext(t){return sc(t.trim(),mxt)}function rxt(t){yxt.setData({quadrant1Text:ext(t.text)})}function nxt(t){yxt.setData({quadrant2Text:ext(t.text)})}function ixt(t){yxt.setData({quadrant3Text:ext(t.text)})}function axt(t){yxt.setData({quadrant4Text:ext(t.text)})}function oxt(t){yxt.setData({xAxisLeftText:ext(t.text)})}function sxt(t){yxt.setData({xAxisRightText:ext(t.text)})}function lxt(t){yxt.setData({yAxisTopText:ext(t.text)})}function cxt(t){yxt.setData({yAxisBottomText:ext(t.text)})}function hxt(t){let e={};for(let r of t){let[t,n]=r.trim().split(/\s*:\s*/);if("radius"===t){if(Zvt(n))throw new Jvt(t,n,"number");e.radius=parseInt(n)}else if("color"===t){if(Kvt(n))throw new Jvt(t,n,"hex code");e.color=n}else if("stroke-color"===t){if(Kvt(n))throw new Jvt(t,n,"hex code");e.strokeColor=n}else{if("stroke-width"!==t)throw new Error(`style named ${t} is not supported.`);if(Qvt(n))throw new Jvt(t,n,"number of pixels (eg. 10px)");e.strokeWidth=n}}return e}function uxt(t,e,r,n,i){let a=hxt(i);yxt.addPoints([{x:r,y:n,text:ext(t.text),className:e,...a}])}function dxt(t,e){yxt.addClass(t,hxt(e))}function pxt(t){yxt.setConfig({chartWidth:t})}function fxt(t){yxt.setConfig({chartHeight:t})}function gxt(){let t=Qc(),{themeVariables:e,quadrantChart:r}=t;return r&&yxt.setConfig(r),yxt.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),yxt.setData({titleText:Xc()}),yxt.build()}var mxt,yxt,vxt,xxt,bxt,wxt,kxt=k((()=>{Qh(),Oc(),Zh(),Xvt(),txt(),mxt=Qc(),w(ext,"textSanitizer"),yxt=new Hvt,w(rxt,"setQuadrant1Text"),w(nxt,"setQuadrant2Text"),w(ixt,"setQuadrant3Text"),w(axt,"setQuadrant4Text"),w(oxt,"setXAxisLeftText"),w(sxt,"setXAxisRightText"),w(lxt,"setYAxisTopText"),w(cxt,"setYAxisBottomText"),w(hxt,"parseStyles"),w(uxt,"addPoint"),w(dxt,"addClass"),w(pxt,"setWidth"),w(fxt,"setHeight"),w(gxt,"getQuadrantData"),vxt=w((function(){yxt.clear(),qc()}),"clear"),xxt={setWidth:pxt,setHeight:fxt,setQuadrant1Text:rxt,setQuadrant2Text:nxt,setQuadrant3Text:ixt,setQuadrant4Text:axt,setXAxisLeftText:oxt,setXAxisRightText:sxt,setYAxisTopText:lxt,setYAxisBottomText:cxt,parseStyles:hxt,addPoint:uxt,addClass:dxt,getQuadrantData:gxt,clear:vxt,setAccTitle:Yc,getAccTitle:jc,setDiagramTitle:Vc,getDiagramTitle:Xc,getAccDescription:Wc,setAccDescription:Hc}})),Txt=k((()=>{jC(),Qh(),L(),Pc(),bxt=w(((t,e,n,i)=>{function a(t){return"top"===t?"hanging":"middle"}function o(t){return"left"===t?"start":"middle"}function s(t){return`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`}w(a,"getDominantBaseLine"),w(o,"getTextAnchor"),w(s,"getTransformation");let l=Qc();r.debug("Rendering quadrant chart\n"+t);let c,h=l.securityLevel;"sandbox"===h&&(c=Qf("#i"+e));let u=Qf("sandbox"===h?c.nodes()[0].contentDocument.body:"body").select(`[id="${e}"]`),d=u.append("g").attr("class","main"),p=l.quadrantChart?.chartWidth??500,f=l.quadrantChart?.chartHeight??500;Lc(u,f,p,l.quadrantChart?.useMaxWidth??!0),u.attr("viewBox","0 0 "+p+" "+f),i.db.setHeight(f),i.db.setWidth(p);let g=i.db.getQuadrantData(),m=d.append("g").attr("class","quadrants"),y=d.append("g").attr("class","border"),v=d.append("g").attr("class","data-points"),x=d.append("g").attr("class","labels"),b=d.append("g").attr("class","title");g.title&&b.append("text").attr("x",0).attr("y",0).attr("fill",g.title.fill).attr("font-size",g.title.fontSize).attr("dominant-baseline",a(g.title.horizontalPos)).attr("text-anchor",o(g.title.verticalPos)).attr("transform",s(g.title)).text(g.title.text),g.borderLines&&y.selectAll("line").data(g.borderLines).enter().append("line").attr("x1",(t=>t.x1)).attr("y1",(t=>t.y1)).attr("x2",(t=>t.x2)).attr("y2",(t=>t.y2)).style("stroke",(t=>t.strokeFill)).style("stroke-width",(t=>t.strokeWidth));let k=m.selectAll("g.quadrant").data(g.quadrants).enter().append("g").attr("class","quadrant");k.append("rect").attr("x",(t=>t.x)).attr("y",(t=>t.y)).attr("width",(t=>t.width)).attr("height",(t=>t.height)).attr("fill",(t=>t.fill)),k.append("text").attr("x",0).attr("y",0).attr("fill",(t=>t.text.fill)).attr("font-size",(t=>t.text.fontSize)).attr("dominant-baseline",(t=>a(t.text.horizontalPos))).attr("text-anchor",(t=>o(t.text.verticalPos))).attr("transform",(t=>s(t.text))).text((t=>t.text.text)),x.selectAll("g.label").data(g.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text((t=>t.text)).attr("fill",(t=>t.fill)).attr("font-size",(t=>t.fontSize)).attr("dominant-baseline",(t=>a(t.horizontalPos))).attr("text-anchor",(t=>o(t.verticalPos))).attr("transform",(t=>s(t)));let T=v.selectAll("g.data-point").data(g.points).enter().append("g").attr("class","data-point");T.append("circle").attr("cx",(t=>t.x)).attr("cy",(t=>t.y)).attr("r",(t=>t.radius)).attr("fill",(t=>t.fill)).attr("stroke",(t=>t.strokeColor)).attr("stroke-width",(t=>t.strokeWidth)),T.append("text").attr("x",0).attr("y",0).text((t=>t.text.text)).attr("fill",(t=>t.text.fill)).attr("font-size",(t=>t.text.fontSize)).attr("dominant-baseline",(t=>a(t.text.horizontalPos))).attr("text-anchor",(t=>o(t.text.verticalPos))).attr("transform",(t=>s(t.text)))}),"draw"),wxt={draw:bxt}})),Ext={};E(Ext,{diagram:()=>_xt});var _xt,Cxt,Sxt,Axt=k((()=>{Vvt(),kxt(),Txt(),_xt={parser:Yvt,db:xxt,renderer:wxt,styles:w((()=>""),"styles")}})),Lxt=k((()=>{(Cxt=function(){var t=w((function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r}),"o"),e=[1,10,12,14,16,18,19,21,23],r=[2,6],n=[1,3],i=[1,5],a=[1,6],o=[1,7],s=[1,5,10,12,14,16,18,19,21,23,34,35,36],l=[1,25],c=[1,26],h=[1,28],u=[1,29],d=[1,30],p=[1,31],f=[1,32],g=[1,33],m=[1,34],y=[1,35],v=[1,36],x=[1,37],b=[1,43],k=[1,42],T=[1,47],E=[1,50],_=[1,10,12,14,16,18,19,21,23,34,35,36],C=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],S=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],A=[1,64],L={trace:w((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:w((function(t,e,r,n,i,a,o){var s=a.length-1;switch(i){case 5:n.setOrientation(a[s]);break;case 9:n.setDiagramTitle(a[s].text.trim());break;case 12:n.setLineData({text:"",type:"text"},a[s]);break;case 13:n.setLineData(a[s-1],a[s]);break;case 14:n.setBarData({text:"",type:"text"},a[s]);break;case 15:n.setBarData(a[s-1],a[s]);break;case 16:this.$=a[s].trim(),n.setAccTitle(this.$);break;case 17:case 18:this.$=a[s].trim(),n.setAccDescription(this.$);break;case 19:case 27:this.$=a[s-1];break;case 20:this.$=[Number(a[s-2]),...a[s]];break;case 21:this.$=[Number(a[s])];break;case 22:n.setXAxisTitle(a[s]);break;case 23:n.setXAxisTitle(a[s-1]);break;case 24:n.setXAxisTitle({type:"text",text:""});break;case 25:n.setXAxisBand(a[s]);break;case 26:n.setXAxisRangeData(Number(a[s-2]),Number(a[s]));break;case 28:this.$=[a[s-2],...a[s]];break;case 29:this.$=[a[s]];break;case 30:n.setYAxisTitle(a[s]);break;case 31:n.setYAxisTitle(a[s-1]);break;case 32:n.setYAxisTitle({type:"text",text:""});break;case 33:n.setYAxisRangeData(Number(a[s-2]),Number(a[s]));break;case 37:case 38:this.$={text:a[s],type:"text"};break;case 39:this.$={text:a[s],type:"markdown"};break;case 40:this.$=a[s];break;case 41:this.$=a[s-1]+""+a[s]}}),"anonymous"),table:[t(e,r,{3:1,4:2,7:4,5:n,34:i,35:a,36:o}),{1:[3]},t(e,r,{4:2,7:4,3:8,5:n,34:i,35:a,36:o}),t(e,r,{4:2,7:4,6:9,3:10,5:n,8:[1,11],34:i,35:a,36:o}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(s,[2,34]),t(s,[2,35]),t(s,[2,36]),{1:[2,1]},t(e,r,{4:2,7:4,3:21,5:n,34:i,35:a,36:o}),{1:[2,3]},t(s,[2,5]),t(e,[2,7],{4:22,34:i,35:a,36:o}),{11:23,37:24,38:l,39:c,40:27,41:h,42:u,43:d,44:p,45:f,46:g,47:m,48:y,49:v,50:x},{11:39,13:38,24:b,27:k,29:40,30:41,37:24,38:l,39:c,40:27,41:h,42:u,43:d,44:p,45:f,46:g,47:m,48:y,49:v,50:x},{11:45,15:44,27:T,33:46,37:24,38:l,39:c,40:27,41:h,42:u,43:d,44:p,45:f,46:g,47:m,48:y,49:v,50:x},{11:49,17:48,24:E,37:24,38:l,39:c,40:27,41:h,42:u,43:d,44:p,45:f,46:g,47:m,48:y,49:v,50:x},{11:52,17:51,24:E,37:24,38:l,39:c,40:27,41:h,42:u,43:d,44:p,45:f,46:g,47:m,48:y,49:v,50:x},{20:[1,53]},{22:[1,54]},t(_,[2,18]),{1:[2,2]},t(_,[2,8]),t(_,[2,9]),t(C,[2,37],{40:55,41:h,42:u,43:d,44:p,45:f,46:g,47:m,48:y,49:v,50:x}),t(C,[2,38]),t(C,[2,39]),t(S,[2,40]),t(S,[2,42]),t(S,[2,43]),t(S,[2,44]),t(S,[2,45]),t(S,[2,46]),t(S,[2,47]),t(S,[2,48]),t(S,[2,49]),t(S,[2,50]),t(S,[2,51]),t(_,[2,10]),t(_,[2,22],{30:41,29:56,24:b,27:k}),t(_,[2,24]),t(_,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:l,39:c,40:27,41:h,42:u,43:d,44:p,45:f,46:g,47:m,48:y,49:v,50:x},t(_,[2,11]),t(_,[2,30],{33:60,27:T}),t(_,[2,32]),{31:[1,61]},t(_,[2,12]),{17:62,24:E},{25:63,27:A},t(_,[2,14]),{17:65,24:E},t(_,[2,16]),t(_,[2,17]),t(S,[2,41]),t(_,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(_,[2,31]),{27:[1,69]},t(_,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(_,[2,15]),t(_,[2,26]),t(_,[2,27]),{11:59,32:72,37:24,38:l,39:c,40:27,41:h,42:u,43:d,44:p,45:f,46:g,47:m,48:y,49:v,50:x},t(_,[2,33]),t(_,[2,19]),{25:73,27:A},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:w((function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)}),"parseError"),parse:w((function(t){var e=this,r=[0],n=[],i=[null],a=[],o=this.table,s="",l=0,c=0,h=0,u=a.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,typeof d.yylloc>"u"&&(d.yylloc={});var g=d.yylloc;a.push(g);var m=d.options&&d.options.ranges;function y(){var t;return"number"!=typeof(t=n.pop()||d.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,w((function(t){r.length=r.length-2*t,i.length=i.length-t,a.length=a.length-t}),"popStack"),w(y,"lex");for(var v,x,b,k,T,E,_,C,S,A={};;){if(b=r[r.length-1],this.defaultActions[b]?k=this.defaultActions[b]:((null===v||typeof v>"u")&&(v=y()),k=o[b]&&o[b][v]),typeof k>"u"||!k.length||!k[0]){var L;for(E in S=[],o[b])this.terminals_[E]&&E>2&&S.push("'"+this.terminals_[E]+"'");L=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==v?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(L,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:g,expected:S})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(k[0]){case 1:r.push(v),i.push(d.yytext),a.push(d.yylloc),r.push(k[1]),v=null,x?(v=x,x=null):(c=d.yyleng,s=d.yytext,l=d.yylineno,g=d.yylloc,h>0&&h--);break;case 2:if(_=this.productions_[k[1]][1],A.$=i[i.length-_],A._$={first_line:a[a.length-(_||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(_||1)].first_column,last_column:a[a.length-1].last_column},m&&(A._$.range=[a[a.length-(_||1)].range[0],a[a.length-1].range[1]]),typeof(T=this.performAction.apply(A,[s,c,l,p.yy,k[1],i,a].concat(u)))<"u")return T;_&&(r=r.slice(0,-1*_*2),i=i.slice(0,-1*_),a=a.slice(0,-1*_)),r.push(this.productions_[k[1]][0]),i.push(A.$),a.push(A._$),C=o[r[r.length-2]][r[r.length-1]],r.push(C);break;case 3:return!0}}return!0}),"parse")},N={EOF:1,parseError:w((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:w((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:w((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:w((function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:w((function(){return this._more=!0,this}),"more"),reject:w((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:w((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:w((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:w((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:w((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:w((function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:w((function(){if(this.done)return this.EOF;var t,e,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:w((function(){return this.next()||this.lex()}),"lex"),begin:w((function(t){this.conditionStack.push(t)}),"begin"),popState:w((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:w((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:w((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:w((function(t){this.begin(t)}),"pushState"),stateStackSize:w((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:w((function(t,e,r,n){switch(r){case 0:case 1:case 5:case 43:break;case 2:case 3:return this.popState(),34;case 4:return 34;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:case 25:case 27:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 26:this.pushState("string");break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 44:return 35;case 45:return 36}}),"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};function I(){this.yy={}}return L.lexer=N,w(I,"Parser"),I.prototype=L,L.Parser=I,new I}()).parser=Cxt,Sxt=Cxt}));function Nxt(t){return"bar"===t.type}function Ixt(t){return"band"===t.type}function Mxt(t){return"linear"===t.type}var Rxt,Dxt,Oxt,Pxt,Bxt=k((()=>{w(Nxt,"isBarPlot"),w(Ixt,"isBandAxisData"),w(Mxt,"isLinearAxisData")})),Fxt=k((()=>{GB(),Rxt=class{constructor(t){this.parentGroup=t}static{w(this,"TextDimensionCalculatorWithFont")}getMaxDimension(t,e){if(!this.parentGroup)return{width:t.reduce(((t,e)=>Math.max(e.length,t)),0)*e,height:e};let r={width:0,height:0},n=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",e);for(let i of t){let t=BB(n,1,i),a=t?t.width:i.length*e,o=t?t.height:e;r.width=Math.max(r.width,a),r.height=Math.max(r.height,o)}return n.remove(),r}}})),$xt=k((()=>{Dxt=class{constructor(t,e,r,n){this.axisConfig=t,this.title=e,this.textDimensionCalculator=r,this.axisThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}static{w(this,"BaseAxis")}setRange(t){this.range=t,"left"===this.axisPosition||"right"===this.axisPosition?this.boundingRect.height=t[1]-t[0]:this.boundingRect.width=t[1]-t[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(t){this.axisPosition=t,this.setRange(this.range)}getTickDistance(){let t=this.getRange();return Math.abs(t[0]-t[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map((t=>t.toString())),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){.7*this.getTickDistance()>2*this.outerPadding&&(this.outerPadding=Math.floor(.7*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(t){let e=t.height;if(this.axisConfig.showAxisLine&&e>this.axisConfig.axisLineWidth&&(e-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let r=this.getLabelDimension(),n=.2*t.width;this.outerPadding=Math.min(r.width/2,n);let i=r.height+2*this.axisConfig.labelPadding;this.labelTextHeight=r.height,i<=e&&(e-=i,this.showLabel=!0)}if(this.axisConfig.showTick&&e>=this.axisConfig.tickLength&&(this.showTick=!0,e-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let t=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),r=t.height+2*this.axisConfig.titlePadding;this.titleTextHeight=t.height,r<=e&&(e-=r,this.showTitle=!0)}this.boundingRect.width=t.width,this.boundingRect.height=t.height-e}calculateSpaceIfDrawnVertical(t){let e=t.width;if(this.axisConfig.showAxisLine&&e>this.axisConfig.axisLineWidth&&(e-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let r=this.getLabelDimension(),n=.2*t.height;this.outerPadding=Math.min(r.height/2,n);let i=r.width+2*this.axisConfig.labelPadding;i<=e&&(e-=i,this.showLabel=!0)}if(this.axisConfig.showTick&&e>=this.axisConfig.tickLength&&(this.showTick=!0,e-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let t=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),r=t.height+2*this.axisConfig.titlePadding;this.titleTextHeight=t.height,r<=e&&(e-=r,this.showTitle=!0)}this.boundingRect.width=t.width-e,this.boundingRect.height=t.height}calculateSpace(t){return"left"===this.axisPosition||"right"===this.axisPosition?this.calculateSpaceIfDrawnVertical(t):this.calculateSpaceIfDrawnHorizontally(t),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}getDrawableElementsForLeftAxis(){let t=[];if(this.showAxisLine){let e=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${e},${this.boundingRect.y} L ${e},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map((t=>({text:t.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(t),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"})))}),this.showTick){let e=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map((t=>({path:`M ${e},${this.getScaleValue(t)} L ${e-this.axisConfig.tickLength},${this.getScaleValue(t)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth})))})}return this.showTitle&&t.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForBottomAxis(){let t=[];if(this.showAxisLine){let e=this.boundingRect.y+this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${e} L ${this.boundingRect.x+this.boundingRect.width},${e}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map((t=>({text:t.toString(),x:this.getScaleValue(t),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"})))}),this.showTick){let e=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map((t=>({path:`M ${this.getScaleValue(t)},${e} L ${this.getScaleValue(t)},${e+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth})))})}return this.showTitle&&t.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForTopAxis(){let t=[];if(this.showAxisLine){let e=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${e} L ${this.boundingRect.x+this.boundingRect.width},${e}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map((t=>({text:t.toString(),x:this.getScaleValue(t),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+2*this.axisConfig.titlePadding:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"})))}),this.showTick){let e=this.boundingRect.y;t.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map((t=>({path:`M ${this.getScaleValue(t)},${e+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(t)},${e+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth})))})}return this.showTitle&&t.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElements(){if("left"===this.axisPosition)return this.getDrawableElementsForLeftAxis();if("right"===this.axisPosition)throw Error("Drawing of right axis is not implemented");return"bottom"===this.axisPosition?this.getDrawableElementsForBottomAxis():"top"===this.axisPosition?this.getDrawableElementsForTopAxis():[]}}})),zxt=k((()=>{jC(),L(),$xt(),Oxt=class extends Dxt{static{w(this,"BandAxis")}constructor(t,e,r,n,i){super(t,n,i,e),this.categories=r,this.scale=ow().domain(this.categories).range(this.getRange())}setRange(t){super.setRange(t)}recalculateScale(){this.scale=ow().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),r.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(t){return this.scale(t)??this.getRange()[0]}}})),Uxt=k((()=>{jC(),$xt(),Pxt=class extends Dxt{static{w(this,"LinearAxis")}constructor(t,e,r,n,i){super(t,n,i,e),this.domain=r,this.scale=_w().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){let t=[...this.domain];"left"===this.axisPosition&&t.reverse(),this.scale=_w().domain(t).range(this.getRange())}getScaleValue(t){return this.scale(t)}}}));function Gxt(t,e,r,n){let i=new Rxt(n);return Ixt(t)?new Oxt(e,r,t.categories,t.title,i):new Pxt(e,r,[t.min,t.max],t.title,i)}var qxt=k((()=>{Bxt(),Fxt(),zxt(),Uxt(),w(Gxt,"getAxis")}));function Yxt(t,e,r,n){let i=new Rxt(n);return new jxt(i,t,e,r)}var jxt,Hxt,Wxt,Vxt=k((()=>{Fxt(),jxt=class{constructor(t,e,r,n){this.textDimensionCalculator=t,this.chartConfig=e,this.chartData=r,this.chartThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}static{w(this,"ChartTitle")}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){let e=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),r=Math.max(e.width,t.width),n=e.height+2*this.chartConfig.titlePadding;return e.width<=r&&e.height<=n&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=r,this.boundingRect.height=n,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){let t=[];return this.showChartTitle&&t.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),t}},w(Yxt,"getChartTitleComponent")})),Xxt=k((()=>{jC(),Hxt=class{constructor(t,e,r,n,i){this.plotData=t,this.xAxis=e,this.yAxis=r,this.orientation=n,this.plotIndex=i}static{w(this,"LinePlot")}getDrawableElement(){let t,e=this.plotData.data.map((t=>[this.xAxis.getScaleValue(t[0]),this.yAxis.getScaleValue(t[1])]));return t="horizontal"===this.orientation?GE().y((t=>t[0])).x((t=>t[1]))(e):GE().x((t=>t[0])).y((t=>t[1]))(e),t?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:t,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}})),Kxt=k((()=>{Wxt=class{constructor(t,e,r,n,i,a){this.barData=t,this.boundingRect=e,this.xAxis=r,this.yAxis=n,this.orientation=i,this.plotIndex=a}static{w(this,"BarPlot")}getDrawableElement(){let t=this.barData.data.map((t=>[this.xAxis.getScaleValue(t[0]),this.yAxis.getScaleValue(t[1])])),e=.95*Math.min(2*this.xAxis.getAxisOuterPadding(),this.xAxis.getTickDistance()),r=e/2;return"horizontal"===this.orientation?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map((t=>({x:this.boundingRect.x,y:t[0]-r,height:e,width:t[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill})))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map((t=>({x:t[0]-r,y:t[1],width:e,height:this.boundingRect.y+this.boundingRect.height-t[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill})))}]}}}));function Zxt(t,e,r){return new Qxt(t,e,r)}var Qxt,Jxt,tbt,ebt=k((()=>{Xxt(),Kxt(),Qxt=class{constructor(t,e,r){this.chartConfig=t,this.chartData=e,this.chartThemeConfig=r,this.boundingRect={x:0,y:0,width:0,height:0}}static{w(this,"BasePlot")}setAxes(t,e){this.xAxis=t,this.yAxis=e}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){return this.boundingRect.width=t.width,this.boundingRect.height=t.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!this.xAxis||!this.yAxis)throw Error("Axes must be passed to render Plots");let t=[];for(let[e,r]of this.chartData.plots.entries())switch(r.type){case"line":{let n=new Hxt(r,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,e);t.push(...n.getDrawableElement())}break;case"bar":{let n=new Wxt(r,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,e);t.push(...n.getDrawableElement())}}return t}},w(Zxt,"getPlotComponent")})),rbt=k((()=>{qxt(),Vxt(),ebt(),Bxt(),Jxt=class{constructor(t,e,r,n){this.chartConfig=t,this.chartData=e,this.componentStore={title:Yxt(t,e,r,n),plot:Zxt(t,e,r),xAxis:Gxt(e.xAxis,t.xAxis,{titleColor:r.xAxisTitleColor,labelColor:r.xAxisLabelColor,tickColor:r.xAxisTickColor,axisLineColor:r.xAxisLineColor},n),yAxis:Gxt(e.yAxis,t.yAxis,{titleColor:r.yAxisTitleColor,labelColor:r.yAxisLabelColor,tickColor:r.yAxisTickColor,axisLineColor:r.yAxisLineColor},n)}}static{w(this,"Orchestrator")}calculateVerticalSpace(){let t=this.chartConfig.width,e=this.chartConfig.height,r=0,n=0,i=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),o=this.componentStore.plot.calculateSpace({width:i,height:a});t-=o.width,e-=o.height,o=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:e}),n=o.height,e-=o.height,this.componentStore.xAxis.setAxisPosition("bottom"),o=this.componentStore.xAxis.calculateSpace({width:t,height:e}),e-=o.height,this.componentStore.yAxis.setAxisPosition("left"),o=this.componentStore.yAxis.calculateSpace({width:t,height:e}),r=o.width,t-=o.width,t>0&&(i+=t,t=0),e>0&&(a+=e,e=0),this.componentStore.plot.calculateSpace({width:i,height:a}),this.componentStore.plot.setBoundingBoxXY({x:r,y:n}),this.componentStore.xAxis.setRange([r,r+i]),this.componentStore.xAxis.setBoundingBoxXY({x:r,y:n+a}),this.componentStore.yAxis.setRange([n,n+a]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:n}),this.chartData.plots.some((t=>Nxt(t)))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let t=this.chartConfig.width,e=this.chartConfig.height,r=0,n=0,i=0,a=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),o=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),s=this.componentStore.plot.calculateSpace({width:a,height:o});t-=s.width,e-=s.height,s=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:e}),r=s.height,e-=s.height,this.componentStore.xAxis.setAxisPosition("left"),s=this.componentStore.xAxis.calculateSpace({width:t,height:e}),t-=s.width,n=s.width,this.componentStore.yAxis.setAxisPosition("top"),s=this.componentStore.yAxis.calculateSpace({width:t,height:e}),e-=s.height,i=r+s.height,t>0&&(a+=t,t=0),e>0&&(o+=e,e=0),this.componentStore.plot.calculateSpace({width:a,height:o}),this.componentStore.plot.setBoundingBoxXY({x:n,y:i}),this.componentStore.yAxis.setRange([n,n+a]),this.componentStore.yAxis.setBoundingBoxXY({x:n,y:r}),this.componentStore.xAxis.setRange([i,i+o]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some((t=>Nxt(t)))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){"horizontal"===this.chartConfig.chartOrientation?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();let t=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(let e of Object.values(this.componentStore))t.push(...e.getDrawableElements());return t}}})),nbt=k((()=>{rbt(),tbt=class{static{w(this,"XYChartBuilder")}static build(t,e,r,n){return new Jxt(t,e,r,n).getDrawableElement()}}}));function ibt(){let t=De(),e=ir();return zR(t.xyChart,e.themeVariables.xyChart)}function abt(){let t=ir();return zR(Ye.xyChart,t.xyChart)}function obt(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function sbt(t){let e=ir();return sc(t.trim(),e)}function lbt(t){Ebt=t}function cbt(t){_bt.chartOrientation="horizontal"===t?"horizontal":"vertical"}function hbt(t){Sbt.xAxis.title=sbt(t.text)}function ubt(t,e){Sbt.xAxis={type:"linear",title:Sbt.xAxis.title,min:t,max:e},Lbt=!0}function dbt(t){Sbt.xAxis={type:"band",title:Sbt.xAxis.title,categories:t.map((t=>sbt(t.text)))},Lbt=!0}function pbt(t){Sbt.yAxis.title=sbt(t.text)}function fbt(t,e){Sbt.yAxis={type:"linear",title:Sbt.yAxis.title,min:t,max:e},Nbt=!0}function gbt(t){let e=Math.min(...t),r=Math.max(...t),n=Mxt(Sbt.yAxis)?Sbt.yAxis.min:1/0,i=Mxt(Sbt.yAxis)?Sbt.yAxis.max:-1/0;Sbt.yAxis={type:"linear",title:Sbt.yAxis.title,min:Math.min(n,e),max:Math.max(i,r)}}function mbt(t){let e=[];if(0===t.length)return e;if(!Lbt){let e=Mxt(Sbt.xAxis)?Sbt.xAxis.min:1/0,r=Mxt(Sbt.xAxis)?Sbt.xAxis.max:-1/0;ubt(Math.min(e,1),Math.max(r,t.length))}if(Nbt||gbt(t),Ixt(Sbt.xAxis)&&(e=Sbt.xAxis.categories.map(((e,r)=>[e,t[r]]))),Mxt(Sbt.xAxis)){let r=Sbt.xAxis.min,n=Sbt.xAxis.max,i=(n-r)/(t.length-1),a=[];for(let t=r;t<=n;t+=i)a.push(`${t}`);e=a.map(((e,r)=>[e,t[r]]))}return e}function ybt(t){return Abt[0===t?0:t%Abt.length]}function vbt(t,e){let r=mbt(e);Sbt.plots.push({type:"line",strokeFill:ybt(Tbt),strokeWidth:2,data:r}),Tbt++}function xbt(t,e){let r=mbt(e);Sbt.plots.push({type:"bar",fill:ybt(Tbt),data:r}),Tbt++}function bbt(){if(0===Sbt.plots.length)throw Error("No Plot to render, please provide a plot with some data");return Sbt.title=Xc(),tbt.build(_bt,Sbt,Cbt,Ebt)}function wbt(){return Cbt}function kbt(){return _bt}var Tbt,Ebt,_bt,Cbt,Sbt,Abt,Lbt,Nbt,Ibt,Mbt,Rbt,Dbt,Obt=k((()=>{rn(),tn(),Xr(),mD(),Oc(),Zh(),nbt(),Bxt(),Tbt=0,_bt=abt(),Cbt=ibt(),Sbt={yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]},Abt=Cbt.plotColorPalette.split(",").map((t=>t.trim())),Lbt=!1,Nbt=!1,w(ibt,"getChartDefaultThemeConfig"),w(abt,"getChartDefaultConfig"),w(obt,"getChartDefaultData"),w(sbt,"textSanitizer"),w(lbt,"setTmpSVGG"),w(cbt,"setOrientation"),w(hbt,"setXAxisTitle"),w(ubt,"setXAxisRangeData"),w(dbt,"setXAxisBand"),w(pbt,"setYAxisTitle"),w(fbt,"setYAxisRangeData"),w(gbt,"setYAxisRangeFromPlotData"),w(mbt,"transformDataWithoutCategory"),w(ybt,"getPlotColorFromPalette"),w(vbt,"setLineData"),w(xbt,"setBarData"),w(bbt,"getDrawableElem"),w(wbt,"getChartThemeConfig"),w(kbt,"getChartConfig"),Ibt=w((function(){qc(),Tbt=0,_bt=abt(),Sbt={yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]},Cbt=ibt(),Abt=Cbt.plotColorPalette.split(",").map((t=>t.trim())),Lbt=!1,Nbt=!1}),"clear"),Mbt={getDrawableElem:bbt,clear:Ibt,setAccTitle:Yc,getAccTitle:jc,setDiagramTitle:Vc,getDiagramTitle:Xc,getAccDescription:Wc,setAccDescription:Hc,setOrientation:cbt,setXAxisTitle:hbt,setXAxisRangeData:ubt,setXAxisBand:dbt,setYAxisTitle:pbt,setYAxisRangeData:fbt,setLineData:vbt,setBarData:xbt,setTmpSVGG:lbt,getChartThemeConfig:wbt,getChartConfig:kbt}})),Pbt=k((()=>{L(),pvt(),Pc(),Rbt=w(((t,e,n,i)=>{let a=i.db,o=a.getChartThemeConfig(),s=a.getChartConfig();function l(t){return"top"===t?"text-before-edge":"middle"}function c(t){return"left"===t?"start":"right"===t?"end":"middle"}function h(t){return`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`}w(l,"getDominantBaseLine"),w(c,"getTextAnchor"),w(h,"getTextTransformation"),r.debug("Rendering xychart chart\n"+t);let u=ovt(e),d=u.append("g").attr("class","main"),p=d.append("rect").attr("width",s.width).attr("height",s.height).attr("class","background");Lc(u,s.height,s.width,!0),u.attr("viewBox",`0 0 ${s.width} ${s.height}`),p.attr("fill",o.backgroundColor),a.setTmpSVGG(u.append("g").attr("class","mermaid-tmp-group"));let f=a.getDrawableElem(),g={};function m(t){let e=d,r="";for(let[n]of t.entries()){let i=d;n>0&&g[r]&&(i=g[r]),r+=t[n],e=g[r],e||(e=g[r]=i.append("g").attr("class",t[n]))}return e}w(m,"getGroup");for(let t of f){if(0===t.data.length)continue;let e=m(t.groupTexts);switch(t.type){case"rect":e.selectAll("rect").data(t.data).enter().append("rect").attr("x",(t=>t.x)).attr("y",(t=>t.y)).attr("width",(t=>t.width)).attr("height",(t=>t.height)).attr("fill",(t=>t.fill)).attr("stroke",(t=>t.strokeFill)).attr("stroke-width",(t=>t.strokeWidth));break;case"text":e.selectAll("text").data(t.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",(t=>t.fill)).attr("font-size",(t=>t.fontSize)).attr("dominant-baseline",(t=>l(t.verticalPos))).attr("text-anchor",(t=>c(t.horizontalPos))).attr("transform",(t=>h(t))).text((t=>t.text));break;case"path":e.selectAll("path").data(t.data).enter().append("path").attr("d",(t=>t.path)).attr("fill",(t=>t.fill?t.fill:"none")).attr("stroke",(t=>t.strokeFill)).attr("stroke-width",(t=>t.strokeWidth))}}}),"draw"),Dbt={draw:Rbt}})),Bbt={};E(Bbt,{diagram:()=>Fbt});var Fbt,$bt,zbt,Ubt,Gbt,qbt,Ybt,jbt,Hbt,Wbt,Vbt,Xbt,Kbt,Zbt,Qbt,Jbt,twt,ewt,rwt,nwt,iwt,awt,owt,swt,lwt,cwt,hwt,uwt,dwt,pwt,fwt,gwt,mwt,ywt,vwt,xwt,bwt,wwt,kwt,Twt,Ewt,_wt,Cwt,Swt,Awt,Lwt=k((()=>{Lxt(),Obt(),Pbt(),Fbt={parser:Sxt,db:Mbt,renderer:Dbt}})),Nwt=k((()=>{($bt=function(){var t=w((function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r}),"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],o=[1,18],s=[2,7],l=[1,22],c=[1,23],h=[1,24],u=[1,25],d=[1,26],p=[1,27],f=[1,20],g=[1,28],m=[1,29],y=[62,63],v=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],x=[1,47],b=[1,48],k=[1,49],T=[1,50],E=[1,51],_=[1,52],C=[1,53],S=[53,54],A=[1,64],L=[1,60],N=[1,61],I=[1,62],M=[1,63],R=[1,65],D=[1,69],O=[1,70],P=[1,67],B=[1,68],F=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],$={trace:w((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:w((function(t,e,r,n,i,a,o){var s=a.length-1;switch(i){case 4:this.$=a[s].trim(),n.setAccTitle(this.$);break;case 5:case 6:this.$=a[s].trim(),n.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:n.addRequirement(a[s-3],a[s-4]);break;case 14:n.setNewReqId(a[s-2]);break;case 15:n.setNewReqText(a[s-2]);break;case 16:n.setNewReqRisk(a[s-2]);break;case 17:n.setNewReqVerifyMethod(a[s-2]);break;case 20:this.$=n.RequirementType.REQUIREMENT;break;case 21:this.$=n.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=n.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=n.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=n.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=n.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=n.RiskLevel.LOW_RISK;break;case 27:this.$=n.RiskLevel.MED_RISK;break;case 28:this.$=n.RiskLevel.HIGH_RISK;break;case 29:this.$=n.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=n.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=n.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=n.VerifyType.VERIFY_TEST;break;case 33:n.addElement(a[s-3]);break;case 34:n.setNewElementType(a[s-2]);break;case 35:n.setNewElementDocRef(a[s-2]);break;case 38:n.addRelationship(a[s-2],a[s],a[s-4]);break;case 39:n.addRelationship(a[s-2],a[s-4],a[s]);break;case 40:this.$=n.Relationships.CONTAINS;break;case 41:this.$=n.Relationships.COPIES;break;case 42:this.$=n.Relationships.DERIVES;break;case 43:this.$=n.Relationships.SATISFIES;break;case 44:this.$=n.Relationships.VERIFIES;break;case 45:this.$=n.Relationships.REFINES;break;case 46:this.$=n.Relationships.TRACES}}),"anonymous"),table:[{3:1,4:2,6:e,9:r,11:n,13:i},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:r,11:n,13:i},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:r,11:n,13:i},{1:[2,2]},{4:17,5:o,7:13,8:s,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:l,32:c,33:h,34:u,35:d,36:p,44:f,62:g,63:m},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:o,7:31,8:s,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:l,32:c,33:h,34:u,35:d,36:p,44:f,62:g,63:m},{4:17,5:o,7:32,8:s,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:l,32:c,33:h,34:u,35:d,36:p,44:f,62:g,63:m},{4:17,5:o,7:33,8:s,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:l,32:c,33:h,34:u,35:d,36:p,44:f,62:g,63:m},{4:17,5:o,7:34,8:s,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:l,32:c,33:h,34:u,35:d,36:p,44:f,62:g,63:m},{4:17,5:o,7:35,8:s,9:r,11:n,13:i,14:14,15:15,16:16,17:19,23:21,31:l,32:c,33:h,34:u,35:d,36:p,44:f,62:g,63:m},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},t(y,[2,20]),t(y,[2,21]),t(y,[2,22]),t(y,[2,23]),t(y,[2,24]),t(y,[2,25]),t(v,[2,49]),t(v,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:x,56:b,57:k,58:T,59:E,60:_,61:C},{52:54,55:x,56:b,57:k,58:T,59:E,60:_,61:C},{5:[1,55]},{5:[1,56]},{53:[1,57]},t(S,[2,40]),t(S,[2,41]),t(S,[2,42]),t(S,[2,43]),t(S,[2,44]),t(S,[2,45]),t(S,[2,46]),{54:[1,58]},{5:A,20:59,21:L,24:N,26:I,28:M,30:R},{5:D,30:O,46:66,47:P,49:B},{23:71,62:g,63:m},{23:72,62:g,63:m},t(F,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:A,20:77,21:L,24:N,26:I,28:M,30:R},t(F,[2,19]),t(F,[2,33]),{22:[1,78]},{22:[1,79]},{5:D,30:O,46:80,47:P,49:B},t(F,[2,37]),t(F,[2,38]),t(F,[2,39]),{23:81,62:g,63:m},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},t(F,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},t(F,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:A,20:106,21:L,24:N,26:I,28:M,30:R},{5:A,20:107,21:L,24:N,26:I,28:M,30:R},{5:A,20:108,21:L,24:N,26:I,28:M,30:R},{5:A,20:109,21:L,24:N,26:I,28:M,30:R},{5:D,30:O,46:110,47:P,49:B},{5:D,30:O,46:111,47:P,49:B},t(F,[2,14]),t(F,[2,15]),t(F,[2,16]),t(F,[2,17]),t(F,[2,34]),t(F,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:w((function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)}),"parseError"),parse:w((function(t){var e=this,r=[0],n=[],i=[null],a=[],o=this.table,s="",l=0,c=0,h=0,u=a.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,typeof d.yylloc>"u"&&(d.yylloc={});var g=d.yylloc;a.push(g);var m=d.options&&d.options.ranges;function y(){var t;return"number"!=typeof(t=n.pop()||d.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,w((function(t){r.length=r.length-2*t,i.length=i.length-t,a.length=a.length-t}),"popStack"),w(y,"lex");for(var v,x,b,k,T,E,_,C,S,A={};;){if(b=r[r.length-1],this.defaultActions[b]?k=this.defaultActions[b]:((null===v||typeof v>"u")&&(v=y()),k=o[b]&&o[b][v]),typeof k>"u"||!k.length||!k[0]){var L;for(E in S=[],o[b])this.terminals_[E]&&E>2&&S.push("'"+this.terminals_[E]+"'");L=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==v?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(L,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:g,expected:S})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(k[0]){case 1:r.push(v),i.push(d.yytext),a.push(d.yylloc),r.push(k[1]),v=null,x?(v=x,x=null):(c=d.yyleng,s=d.yytext,l=d.yylineno,g=d.yylloc,h>0&&h--);break;case 2:if(_=this.productions_[k[1]][1],A.$=i[i.length-_],A._$={first_line:a[a.length-(_||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(_||1)].first_column,last_column:a[a.length-1].last_column},m&&(A._$.range=[a[a.length-(_||1)].range[0],a[a.length-1].range[1]]),typeof(T=this.performAction.apply(A,[s,c,l,p.yy,k[1],i,a].concat(u)))<"u")return T;_&&(r=r.slice(0,-1*_*2),i=i.slice(0,-1*_),a=a.slice(0,-1*_)),r.push(this.productions_[k[1]][0]),i.push(A.$),a.push(A._$),C=o[r[r.length-2]][r[r.length-1]],r.push(C);break;case 3:return!0}}return!0}),"parse")},z={EOF:1,parseError:w((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:w((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:w((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:w((function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:w((function(){return this._more=!0,this}),"more"),reject:w((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:w((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:w((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:w((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:w((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:w((function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:w((function(){if(this.done)return this.EOF;var t,e,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:w((function(){return this.next()||this.lex()}),"lex"),begin:w((function(t){this.conditionStack.push(t)}),"begin"),popState:w((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:w((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:w((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:w((function(t){this.begin(t)}),"pushState"),stateStackSize:w((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:w((function(t,e,r,n){switch(r){case 0:return"title";case 1:return this.begin("acc_title"),9;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),11;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:case 48:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 5;case 9:case 10:case 11:break;case 12:return 8;case 13:return 6;case 14:return 19;case 15:return 30;case 16:return 22;case 17:return 21;case 18:return 24;case 19:return 26;case 20:return 28;case 21:return 31;case 22:return 32;case 23:return 33;case 24:return 34;case 25:return 35;case 26:return 36;case 27:return 37;case 28:return 38;case 29:return 39;case 30:return 40;case 31:return 41;case 32:return 42;case 33:return 43;case 34:return 44;case 35:return 55;case 36:return 56;case 37:return 57;case 38:return 58;case 39:return 59;case 40:return 60;case 41:return 61;case 42:return 47;case 43:return 49;case 44:return 51;case 45:return 54;case 46:return 53;case 47:this.begin("string");break;case 49:return"qString";case 50:return e.yytext=e.yytext.trim(),62}}),"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^\r\n\{\<\>\-\=]*)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[48,49],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,50],inclusive:!0}}};function U(){this.yy={}}return $.lexer=z,w(U,"Parser"),U.prototype=$,$.Parser=U,new U}()).parser=$bt,zbt=$bt})),Iwt=k((()=>{Qh(),L(),Zh(),Ubt=[],Gbt={},qbt=new Map,Ybt={},jbt=new Map,Hbt={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},Wbt={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},Vbt={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},Xbt={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},Kbt=w(((t,e)=>(qbt.has(t)||qbt.set(t,{name:t,type:e,id:Gbt.id,text:Gbt.text,risk:Gbt.risk,verifyMethod:Gbt.verifyMethod}),Gbt={},qbt.get(t))),"addRequirement"),Zbt=w((()=>qbt),"getRequirements"),Qbt=w((t=>{void 0!==Gbt&&(Gbt.id=t)}),"setNewReqId"),Jbt=w((t=>{void 0!==Gbt&&(Gbt.text=t)}),"setNewReqText"),twt=w((t=>{void 0!==Gbt&&(Gbt.risk=t)}),"setNewReqRisk"),ewt=w((t=>{void 0!==Gbt&&(Gbt.verifyMethod=t)}),"setNewReqVerifyMethod"),rwt=w((t=>(jbt.has(t)||(jbt.set(t,{name:t,type:Ybt.type,docRef:Ybt.docRef}),r.info("Added new requirement: ",t)),Ybt={},jbt.get(t))),"addElement"),nwt=w((()=>jbt),"getElements"),iwt=w((t=>{void 0!==Ybt&&(Ybt.type=t)}),"setNewElementType"),awt=w((t=>{void 0!==Ybt&&(Ybt.docRef=t)}),"setNewElementDocRef"),owt=w(((t,e,r)=>{Ubt.push({type:t,src:e,dst:r})}),"addRelationship"),swt=w((()=>Ubt),"getRelationships"),lwt=w((()=>{Ubt=[],Gbt={},qbt=new Map,Ybt={},jbt=new Map,qc()}),"clear"),cwt={RequirementType:Hbt,RiskLevel:Wbt,VerifyType:Vbt,Relationships:Xbt,getConfig:w((()=>Qc().req),"getConfig"),addRequirement:Kbt,getRequirements:Zbt,setNewReqId:Qbt,setNewReqText:Jbt,setNewReqRisk:twt,setNewReqVerifyMethod:ewt,setAccTitle:Yc,getAccTitle:jc,setAccDescription:Hc,getAccDescription:Wc,addElement:rwt,getElements:nwt,setNewElementType:iwt,setNewElementDocRef:awt,addRelationship:owt,getRelationships:swt,clear:lwt}})),Mwt=k((()=>{hwt=w((t=>`\n\n marker {\n fill: ${t.relationColor};\n stroke: ${t.relationColor};\n }\n\n marker.cross {\n stroke: ${t.lineColor};\n }\n\n svg {\n font-family: ${t.fontFamily};\n font-size: ${t.fontSize};\n }\n\n .reqBox {\n fill: ${t.requirementBackground};\n fill-opacity: 1.0;\n stroke: ${t.requirementBorderColor};\n stroke-width: ${t.requirementBorderSize};\n }\n \n .reqTitle, .reqLabel{\n fill: ${t.requirementTextColor};\n }\n .reqLabelBox {\n fill: ${t.relationLabelBackground};\n fill-opacity: 1.0;\n }\n\n .req-title-line {\n stroke: ${t.requirementBorderColor};\n stroke-width: ${t.requirementBorderSize};\n }\n .relationshipLine {\n stroke: ${t.relationColor};\n stroke-width: 1;\n }\n .relationshipLabel {\n fill: ${t.relationLabelColor};\n }\n\n`),"getStyles"),uwt=hwt})),Rwt=k((()=>{dwt={CONTAINS:"contains",ARROW:"arrow"},pwt=w(((t,e)=>{let r=t.append("defs").append("marker").attr("id",dwt.CONTAINS+"_line_ending").attr("refX",0).attr("refY",e.line_height/2).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("g");r.append("circle").attr("cx",e.line_height/2).attr("cy",e.line_height/2).attr("r",e.line_height/2).attr("fill","none"),r.append("line").attr("x1",0).attr("x2",e.line_height).attr("y1",e.line_height/2).attr("y2",e.line_height/2).attr("stroke-width",1),r.append("line").attr("y1",0).attr("y2",e.line_height).attr("x1",e.line_height/2).attr("x2",e.line_height/2).attr("stroke-width",1),t.append("defs").append("marker").attr("id",dwt.ARROW+"_line_ending").attr("refX",e.line_height).attr("refY",.5*e.line_height).attr("markerWidth",e.line_height).attr("markerHeight",e.line_height).attr("orient","auto").append("path").attr("d",`M0,0\n L${e.line_height},${e.line_height/2}\n M${e.line_height},${e.line_height/2}\n L0,${e.line_height}`).attr("stroke-width",1)}),"insertLineEndings"),fwt={ReqMarkers:dwt,insertLineEndings:pwt}})),Dwt=k((()=>{jC(),N3(),y1(),Qh(),L(),Pc(),Oc(),Rwt(),gwt={},mwt=0,ywt=w(((t,e)=>t.insert("rect","#"+e).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",gwt.rect_min_width+"px").attr("height",gwt.rect_min_height+"px")),"newRectNode"),vwt=w(((t,e,r)=>{let n=gwt.rect_min_width/2,i=t.append("text").attr("class","req reqLabel reqTitle").attr("id",e).attr("x",n).attr("y",gwt.rect_padding).attr("dominant-baseline","hanging"),a=0;r.forEach((t=>{0==a?i.append("tspan").attr("text-anchor","middle").attr("x",gwt.rect_min_width/2).attr("dy",0).text(t):i.append("tspan").attr("text-anchor","middle").attr("x",gwt.rect_min_width/2).attr("dy",.75*gwt.line_height).text(t),a++}));let o=1.5*gwt.rect_padding+a*gwt.line_height*.75;return t.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",gwt.rect_min_width).attr("y1",o).attr("y2",o),{titleNode:i,y:o}}),"newTitleNode"),xwt=w(((t,e,r,n)=>{let i=t.append("text").attr("class","req reqLabel").attr("id",e).attr("x",gwt.rect_padding).attr("y",n).attr("dominant-baseline","hanging"),a=0,o=[];return r.forEach((t=>{let e=t.length;for(;e>30&&a<3;){let r=t.substring(0,30);e=(t=t.substring(30,t.length)).length,o[o.length]=r,a++}if(3==a){let t=o[o.length-1];o[o.length-1]=t.substring(0,t.length-4)+"..."}else o[o.length]=t;a=0})),o.forEach((t=>{i.append("tspan").attr("x",gwt.rect_padding).attr("dy",gwt.line_height).text(t)})),i}),"newBodyNode"),bwt=w(((t,e,r,n)=>{let i=e.node().getTotalLength(),a=e.node().getPointAtLength(.5*i),o="rel"+mwt;mwt++;let s=t.append("text").attr("class","req relationshipLabel").attr("id",o).attr("x",a.x).attr("y",a.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(n).node().getBBox();t.insert("rect","#"+o).attr("class","req reqLabelBox").attr("x",a.x-s.width/2).attr("y",a.y-s.height/2).attr("width",s.width).attr("height",s.height).attr("fill","white").attr("fill-opacity","85%")}),"addEdgeLabel"),wwt=w((function(t,e,r,n,i){let a=r.edge(Cwt(e.src),Cwt(e.dst)),o=GE().x((function(t){return t.x})).y((function(t){return t.y})),s=t.insert("path","#"+n).attr("class","er relationshipLine").attr("d",o(a.points)).attr("fill","none");e.type==i.db.Relationships.CONTAINS?s.attr("marker-start","url("+Cc.getUrl(gwt.arrowMarkerAbsolute)+"#"+e.type+"_line_ending)"):(s.attr("stroke-dasharray","10,7"),s.attr("marker-end","url("+Cc.getUrl(gwt.arrowMarkerAbsolute)+"#"+fwt.ReqMarkers.ARROW+"_line_ending)")),bwt(t,s,gwt,`<<${e.type}>>`)}),"drawRelationshipFromLayout"),kwt=w(((t,e,n)=>{t.forEach(((t,i)=>{i=Cwt(i),r.info("Added new requirement: ",i);let a=n.append("g").attr("id",i),o=ywt(a,"req-"+i),s=[],l=vwt(a,i+"_title",[`<<${t.type}>>`,`${t.name}`]);s.push(l.titleNode);let c=xwt(a,i+"_body",[`Id: ${t.id}`,`Text: ${t.text}`,`Risk: ${t.risk}`,`Verification: ${t.verifyMethod}`],l.y);s.push(c);let h=o.node().getBBox();e.setNode(i,{width:h.width,height:h.height,shape:"rect",id:i})}))}),"drawReqs"),Twt=w(((t,e,r)=>{t.forEach(((t,n)=>{let i=Cwt(n),a=r.append("g").attr("id",i),o="element-"+i,s=ywt(a,o),l=[],c=vwt(a,o+"_title",["<>",`${n}`]);l.push(c.titleNode);let h=xwt(a,o+"_body",[`Type: ${t.type||"Not Specified"}`,`Doc Ref: ${t.docRef||"None"}`],c.y);l.push(h);let u=s.node().getBBox();e.setNode(i,{width:u.width,height:u.height,shape:"rect",id:i})}))}),"drawElements"),Ewt=w(((t,e)=>(t.forEach((function(t){let r=Cwt(t.src),n=Cwt(t.dst);e.setEdge(r,n,{relationship:t})})),t)),"addRelationships"),_wt=w((function(t,e){e.nodes().forEach((function(r){void 0!==r&&void 0!==e.node(r)&&(t.select("#"+r),t.select("#"+r).attr("transform","translate("+(e.node(r).x-e.node(r).width/2)+","+(e.node(r).y-e.node(r).height/2)+" )"))}))}),"adjustEntities"),Cwt=w((t=>t.replace(/\s/g,"").replace(/\./g,"_")),"elementString"),Swt=w(((t,e,r,n)=>{let i,a=(gwt=Qc().requirement).securityLevel;"sandbox"===a&&(i=Qf("#i"+e));let o=Qf("sandbox"===a?i.nodes()[0].contentDocument.body:"body").select(`[id='${e}']`);fwt.insertLineEndings(o,gwt);let s=new g1({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:gwt.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel((function(){return{}})),l=n.db.getRequirements(),c=n.db.getElements(),h=n.db.getRelationships();kwt(l,s,o),Twt(c,s,o),Ewt(h,s),n3(s),_wt(o,s),h.forEach((function(t){wwt(o,t,s,e,n)}));let u=gwt.rect_padding,d=o.node().getBBox(),p=d.width+2*u,f=d.height+2*u;Lc(o,f,p,gwt.useMaxWidth),o.attr("viewBox",`${d.x-u} ${d.y-u} ${p} ${f}`)}),"draw"),Awt={draw:Swt}})),Owt={};E(Owt,{diagram:()=>Pwt});var Pwt,Bwt,Fwt,$wt=k((()=>{Nwt(),Iwt(),Mwt(),Dwt(),Pwt={parser:zbt,db:cwt,renderer:Awt,styles:uwt}})),zwt=k((()=>{(Bwt=function(){var t=w((function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r}),"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],o=[1,11],s=[1,13],l=[1,14],c=[1,16],h=[1,17],u=[1,18],d=[1,24],p=[1,25],f=[1,26],g=[1,27],m=[1,28],y=[1,29],v=[1,30],x=[1,31],b=[1,32],k=[1,33],T=[1,34],E=[1,35],_=[1,36],C=[1,37],S=[1,38],A=[1,39],L=[1,41],N=[1,42],I=[1,43],M=[1,44],R=[1,45],D=[1,46],O=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],P=[4,5,16,50,52,53],B=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],F=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],$=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],z=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],U=[68,69,70],G=[1,122],q={trace:w((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,BIDIRECTIONAL_SOLID_ARROW:74,DOTTED_ARROW:75,BIDIRECTIONAL_DOTTED_ARROW:76,SOLID_CROSS:77,DOTTED_CROSS:78,SOLID_POINT:79,DOTTED_POINT:80,TXT:81,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"BIDIRECTIONAL_SOLID_ARROW",75:"DOTTED_ARROW",76:"BIDIRECTIONAL_DOTTED_ARROW",77:"SOLID_CROSS",78:"DOTTED_CROSS",79:"SOLID_POINT",80:"DOTTED_POINT",81:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:w((function(t,e,r,n,i,a,o){var s=a.length-1;switch(i){case 3:return n.apply(a[s]),a[s];case 4:case 9:case 8:case 13:this.$=[];break;case 5:case 10:a[s-1].push(a[s]),this.$=a[s-1];break;case 6:case 7:case 11:case 12:case 62:this.$=a[s];break;case 15:a[s].type="createParticipant",this.$=a[s];break;case 16:a[s-1].unshift({type:"boxStart",boxData:n.parseBoxData(a[s-2])}),a[s-1].push({type:"boxEnd",boxText:a[s-2]}),this.$=a[s-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(a[s-2]),sequenceIndexStep:Number(a[s-1]),sequenceVisible:!0,signalType:n.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(a[s-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:n.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:n.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:n.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:n.LINETYPE.ACTIVE_START,actor:a[s-1].actor};break;case 23:this.$={type:"activeEnd",signalType:n.LINETYPE.ACTIVE_END,actor:a[s-1].actor};break;case 29:n.setDiagramTitle(a[s].substring(6)),this.$=a[s].substring(6);break;case 30:n.setDiagramTitle(a[s].substring(7)),this.$=a[s].substring(7);break;case 31:this.$=a[s].trim(),n.setAccTitle(this.$);break;case 32:case 33:this.$=a[s].trim(),n.setAccDescription(this.$);break;case 34:a[s-1].unshift({type:"loopStart",loopText:n.parseMessage(a[s-2]),signalType:n.LINETYPE.LOOP_START}),a[s-1].push({type:"loopEnd",loopText:a[s-2],signalType:n.LINETYPE.LOOP_END}),this.$=a[s-1];break;case 35:a[s-1].unshift({type:"rectStart",color:n.parseMessage(a[s-2]),signalType:n.LINETYPE.RECT_START}),a[s-1].push({type:"rectEnd",color:n.parseMessage(a[s-2]),signalType:n.LINETYPE.RECT_END}),this.$=a[s-1];break;case 36:a[s-1].unshift({type:"optStart",optText:n.parseMessage(a[s-2]),signalType:n.LINETYPE.OPT_START}),a[s-1].push({type:"optEnd",optText:n.parseMessage(a[s-2]),signalType:n.LINETYPE.OPT_END}),this.$=a[s-1];break;case 37:a[s-1].unshift({type:"altStart",altText:n.parseMessage(a[s-2]),signalType:n.LINETYPE.ALT_START}),a[s-1].push({type:"altEnd",signalType:n.LINETYPE.ALT_END}),this.$=a[s-1];break;case 38:a[s-1].unshift({type:"parStart",parText:n.parseMessage(a[s-2]),signalType:n.LINETYPE.PAR_START}),a[s-1].push({type:"parEnd",signalType:n.LINETYPE.PAR_END}),this.$=a[s-1];break;case 39:a[s-1].unshift({type:"parStart",parText:n.parseMessage(a[s-2]),signalType:n.LINETYPE.PAR_OVER_START}),a[s-1].push({type:"parEnd",signalType:n.LINETYPE.PAR_END}),this.$=a[s-1];break;case 40:a[s-1].unshift({type:"criticalStart",criticalText:n.parseMessage(a[s-2]),signalType:n.LINETYPE.CRITICAL_START}),a[s-1].push({type:"criticalEnd",signalType:n.LINETYPE.CRITICAL_END}),this.$=a[s-1];break;case 41:a[s-1].unshift({type:"breakStart",breakText:n.parseMessage(a[s-2]),signalType:n.LINETYPE.BREAK_START}),a[s-1].push({type:"breakEnd",optText:n.parseMessage(a[s-2]),signalType:n.LINETYPE.BREAK_END}),this.$=a[s-1];break;case 43:this.$=a[s-3].concat([{type:"option",optionText:n.parseMessage(a[s-1]),signalType:n.LINETYPE.CRITICAL_OPTION},a[s]]);break;case 45:this.$=a[s-3].concat([{type:"and",parText:n.parseMessage(a[s-1]),signalType:n.LINETYPE.PAR_AND},a[s]]);break;case 47:this.$=a[s-3].concat([{type:"else",altText:n.parseMessage(a[s-1]),signalType:n.LINETYPE.ALT_ELSE},a[s]]);break;case 48:a[s-3].draw="participant",a[s-3].type="addParticipant",a[s-3].description=n.parseMessage(a[s-1]),this.$=a[s-3];break;case 49:a[s-1].draw="participant",a[s-1].type="addParticipant",this.$=a[s-1];break;case 50:a[s-3].draw="actor",a[s-3].type="addParticipant",a[s-3].description=n.parseMessage(a[s-1]),this.$=a[s-3];break;case 51:a[s-1].draw="actor",a[s-1].type="addParticipant",this.$=a[s-1];break;case 52:a[s-1].type="destroyParticipant",this.$=a[s-1];break;case 53:this.$=[a[s-1],{type:"addNote",placement:a[s-2],actor:a[s-1].actor,text:a[s]}];break;case 54:a[s-2]=[].concat(a[s-1],a[s-1]).slice(0,2),a[s-2][0]=a[s-2][0].actor,a[s-2][1]=a[s-2][1].actor,this.$=[a[s-1],{type:"addNote",placement:n.PLACEMENT.OVER,actor:a[s-2].slice(0,2),text:a[s]}];break;case 55:this.$=[a[s-1],{type:"addLinks",actor:a[s-1].actor,text:a[s]}];break;case 56:this.$=[a[s-1],{type:"addALink",actor:a[s-1].actor,text:a[s]}];break;case 57:this.$=[a[s-1],{type:"addProperties",actor:a[s-1].actor,text:a[s]}];break;case 58:this.$=[a[s-1],{type:"addDetails",actor:a[s-1].actor,text:a[s]}];break;case 61:this.$=[a[s-2],a[s]];break;case 63:this.$=n.PLACEMENT.LEFTOF;break;case 64:this.$=n.PLACEMENT.RIGHTOF;break;case 65:this.$=[a[s-4],a[s-1],{type:"addMessage",from:a[s-4].actor,to:a[s-1].actor,signalType:a[s-3],msg:a[s],activate:!0},{type:"activeStart",signalType:n.LINETYPE.ACTIVE_START,actor:a[s-1].actor}];break;case 66:this.$=[a[s-4],a[s-1],{type:"addMessage",from:a[s-4].actor,to:a[s-1].actor,signalType:a[s-3],msg:a[s]},{type:"activeEnd",signalType:n.LINETYPE.ACTIVE_END,actor:a[s-4].actor}];break;case 67:this.$=[a[s-3],a[s-1],{type:"addMessage",from:a[s-3].actor,to:a[s-1].actor,signalType:a[s-2],msg:a[s]}];break;case 68:this.$={type:"addParticipant",actor:a[s]};break;case 69:this.$=n.LINETYPE.SOLID_OPEN;break;case 70:this.$=n.LINETYPE.DOTTED_OPEN;break;case 71:this.$=n.LINETYPE.SOLID;break;case 72:this.$=n.LINETYPE.BIDIRECTIONAL_SOLID;break;case 73:this.$=n.LINETYPE.DOTTED;break;case 74:this.$=n.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 75:this.$=n.LINETYPE.SOLID_CROSS;break;case 76:this.$=n.LINETYPE.DOTTED_CROSS;break;case 77:this.$=n.LINETYPE.SOLID_POINT;break;case 78:this.$=n.LINETYPE.DOTTED_POINT;break;case 79:this.$=n.parseMessage(a[s].trim().substring(1))}}),"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:o,8:8,9:10,12:12,13:s,14:l,17:15,18:c,21:h,22:40,23:u,24:19,25:20,26:21,27:22,28:23,29:d,30:p,31:f,33:g,35:m,36:y,37:v,38:x,39:b,41:k,43:T,44:E,46:_,50:C,52:S,53:A,54:L,59:N,60:I,61:M,62:R,70:D},t(O,[2,5]),{9:47,12:12,13:s,14:l,17:15,18:c,21:h,22:40,23:u,24:19,25:20,26:21,27:22,28:23,29:d,30:p,31:f,33:g,35:m,36:y,37:v,38:x,39:b,41:k,43:T,44:E,46:_,50:C,52:S,53:A,54:L,59:N,60:I,61:M,62:R,70:D},t(O,[2,7]),t(O,[2,8]),t(O,[2,14]),{12:48,50:C,52:S,53:A},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:D},{22:55,70:D},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},t(O,[2,29]),t(O,[2,30]),{32:[1,61]},{34:[1,62]},t(O,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:D},{22:72,70:D},{22:73,70:D},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82],79:[1,83],80:[1,84]},{55:85,57:[1,86],65:[1,87],66:[1,88]},{22:89,70:D},{22:90,70:D},{22:91,70:D},{22:92,70:D},t([5,51,64,71,72,73,74,75,76,77,78,79,80,81],[2,68]),t(O,[2,6]),t(O,[2,15]),t(P,[2,9],{10:93}),t(O,[2,17]),{5:[1,95],19:[1,94]},{5:[1,96]},t(O,[2,21]),{5:[1,97]},{5:[1,98]},t(O,[2,24]),t(O,[2,25]),t(O,[2,26]),t(O,[2,27]),t(O,[2,28]),t(O,[2,31]),t(O,[2,32]),t(B,i,{7:99}),t(B,i,{7:100}),t(B,i,{7:101}),t(F,i,{40:102,7:103}),t($,i,{42:104,7:105}),t($,i,{7:105,42:106}),t(z,i,{45:107,7:108}),t(B,i,{7:109}),{5:[1,111],51:[1,110]},{5:[1,113],51:[1,112]},{5:[1,114]},{22:117,68:[1,115],69:[1,116],70:D},t(U,[2,69]),t(U,[2,70]),t(U,[2,71]),t(U,[2,72]),t(U,[2,73]),t(U,[2,74]),t(U,[2,75]),t(U,[2,76]),t(U,[2,77]),t(U,[2,78]),{22:118,70:D},{22:120,58:119,70:D},{70:[2,63]},{70:[2,64]},{56:121,81:G},{56:123,81:G},{56:124,81:G},{56:125,81:G},{4:[1,128],5:[1,130],11:127,12:129,16:[1,126],50:C,52:S,53:A},{5:[1,131]},t(O,[2,19]),t(O,[2,20]),t(O,[2,22]),t(O,[2,23]),{4:a,5:o,8:8,9:10,12:12,13:s,14:l,16:[1,132],17:15,18:c,21:h,22:40,23:u,24:19,25:20,26:21,27:22,28:23,29:d,30:p,31:f,33:g,35:m,36:y,37:v,38:x,39:b,41:k,43:T,44:E,46:_,50:C,52:S,53:A,54:L,59:N,60:I,61:M,62:R,70:D},{4:a,5:o,8:8,9:10,12:12,13:s,14:l,16:[1,133],17:15,18:c,21:h,22:40,23:u,24:19,25:20,26:21,27:22,28:23,29:d,30:p,31:f,33:g,35:m,36:y,37:v,38:x,39:b,41:k,43:T,44:E,46:_,50:C,52:S,53:A,54:L,59:N,60:I,61:M,62:R,70:D},{4:a,5:o,8:8,9:10,12:12,13:s,14:l,16:[1,134],17:15,18:c,21:h,22:40,23:u,24:19,25:20,26:21,27:22,28:23,29:d,30:p,31:f,33:g,35:m,36:y,37:v,38:x,39:b,41:k,43:T,44:E,46:_,50:C,52:S,53:A,54:L,59:N,60:I,61:M,62:R,70:D},{16:[1,135]},{4:a,5:o,8:8,9:10,12:12,13:s,14:l,16:[2,46],17:15,18:c,21:h,22:40,23:u,24:19,25:20,26:21,27:22,28:23,29:d,30:p,31:f,33:g,35:m,36:y,37:v,38:x,39:b,41:k,43:T,44:E,46:_,49:[1,136],50:C,52:S,53:A,54:L,59:N,60:I,61:M,62:R,70:D},{16:[1,137]},{4:a,5:o,8:8,9:10,12:12,13:s,14:l,16:[2,44],17:15,18:c,21:h,22:40,23:u,24:19,25:20,26:21,27:22,28:23,29:d,30:p,31:f,33:g,35:m,36:y,37:v,38:x,39:b,41:k,43:T,44:E,46:_,48:[1,138],50:C,52:S,53:A,54:L,59:N,60:I,61:M,62:R,70:D},{16:[1,139]},{16:[1,140]},{4:a,5:o,8:8,9:10,12:12,13:s,14:l,16:[2,42],17:15,18:c,21:h,22:40,23:u,24:19,25:20,26:21,27:22,28:23,29:d,30:p,31:f,33:g,35:m,36:y,37:v,38:x,39:b,41:k,43:T,44:E,46:_,47:[1,141],50:C,52:S,53:A,54:L,59:N,60:I,61:M,62:R,70:D},{4:a,5:o,8:8,9:10,12:12,13:s,14:l,16:[1,142],17:15,18:c,21:h,22:40,23:u,24:19,25:20,26:21,27:22,28:23,29:d,30:p,31:f,33:g,35:m,36:y,37:v,38:x,39:b,41:k,43:T,44:E,46:_,50:C,52:S,53:A,54:L,59:N,60:I,61:M,62:R,70:D},{15:[1,143]},t(O,[2,49]),{15:[1,144]},t(O,[2,51]),t(O,[2,52]),{22:145,70:D},{22:146,70:D},{56:147,81:G},{56:148,81:G},{56:149,81:G},{64:[1,150],81:[2,62]},{5:[2,55]},{5:[2,79]},{5:[2,56]},{5:[2,57]},{5:[2,58]},t(O,[2,16]),t(P,[2,10]),{12:151,50:C,52:S,53:A},t(P,[2,12]),t(P,[2,13]),t(O,[2,18]),t(O,[2,34]),t(O,[2,35]),t(O,[2,36]),t(O,[2,37]),{15:[1,152]},t(O,[2,38]),{15:[1,153]},t(O,[2,39]),t(O,[2,40]),{15:[1,154]},t(O,[2,41]),{5:[1,155]},{5:[1,156]},{56:157,81:G},{56:158,81:G},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:159,70:D},t(P,[2,11]),t(F,i,{7:103,40:160}),t($,i,{7:105,42:161}),t(z,i,{7:108,45:162}),t(O,[2,48]),t(O,[2,50]),{5:[2,65]},{5:[2,66]},{81:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],87:[2,63],88:[2,64],121:[2,55],122:[2,79],123:[2,56],124:[2,57],125:[2,58],147:[2,67],148:[2,53],149:[2,54],157:[2,65],158:[2,66],159:[2,61],160:[2,47],161:[2,45],162:[2,43]},parseError:w((function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)}),"parseError"),parse:w((function(t){var e=this,r=[0],n=[],i=[null],a=[],o=this.table,s="",l=0,c=0,h=0,u=a.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,typeof d.yylloc>"u"&&(d.yylloc={});var g=d.yylloc;a.push(g);var m=d.options&&d.options.ranges;function y(){var t;return"number"!=typeof(t=n.pop()||d.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,w((function(t){r.length=r.length-2*t,i.length=i.length-t,a.length=a.length-t}),"popStack"),w(y,"lex");for(var v,x,b,k,T,E,_,C,S,A={};;){if(b=r[r.length-1],this.defaultActions[b]?k=this.defaultActions[b]:((null===v||typeof v>"u")&&(v=y()),k=o[b]&&o[b][v]),typeof k>"u"||!k.length||!k[0]){var L;for(E in S=[],o[b])this.terminals_[E]&&E>2&&S.push("'"+this.terminals_[E]+"'");L=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==v?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(L,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:g,expected:S})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(k[0]){case 1:r.push(v),i.push(d.yytext),a.push(d.yylloc),r.push(k[1]),v=null,x?(v=x,x=null):(c=d.yyleng,s=d.yytext,l=d.yylineno,g=d.yylloc,h>0&&h--);break;case 2:if(_=this.productions_[k[1]][1],A.$=i[i.length-_],A._$={first_line:a[a.length-(_||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(_||1)].first_column,last_column:a[a.length-1].last_column},m&&(A._$.range=[a[a.length-(_||1)].range[0],a[a.length-1].range[1]]),typeof(T=this.performAction.apply(A,[s,c,l,p.yy,k[1],i,a].concat(u)))<"u")return T;_&&(r=r.slice(0,-1*_*2),i=i.slice(0,-1*_),a=a.slice(0,-1*_)),r.push(this.productions_[k[1]][0]),i.push(A.$),a.push(A._$),C=o[r[r.length-2]][r[r.length-1]],r.push(C);break;case 3:return!0}}return!0}),"parse")},Y={EOF:1,parseError:w((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:w((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:w((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:w((function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:w((function(){return this._more=!0,this}),"more"),reject:w((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:w((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:w((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:w((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:w((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:w((function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:w((function(){if(this.done)return this.EOF;var t,e,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:w((function(){return this.next()||this.lex()}),"lex"),begin:w((function(t){this.conditionStack.push(t)}),"begin"),popState:w((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:w((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:w((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:w((function(t){this.begin(t)}),"pushState"),stateStackSize:w((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:w((function(t,e,r,n){switch(r){case 0:case 51:case 66:return 5;case 1:case 2:case 3:case 4:case 5:break;case 6:return 19;case 7:return this.begin("LINE"),14;case 8:return this.begin("ID"),50;case 9:return this.begin("ID"),52;case 10:return 13;case 11:return this.begin("ID"),53;case 12:return e.yytext=e.yytext.trim(),this.begin("ALIAS"),70;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;case 14:return this.popState(),this.popState(),5;case 15:return this.begin("LINE"),36;case 16:return this.begin("LINE"),37;case 17:return this.begin("LINE"),38;case 18:return this.begin("LINE"),39;case 19:return this.begin("LINE"),49;case 20:return this.begin("LINE"),41;case 21:return this.begin("LINE"),43;case 22:return this.begin("LINE"),48;case 23:return this.begin("LINE"),44;case 24:return this.begin("LINE"),47;case 25:return this.begin("LINE"),46;case 26:return this.popState(),15;case 27:return 16;case 28:return 65;case 29:return 66;case 30:return 59;case 31:return 60;case 32:return 61;case 33:return 62;case 34:return 57;case 35:return 54;case 36:return this.begin("ID"),21;case 37:return this.begin("ID"),23;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;case 41:return this.popState(),"acc_title_value";case 42:return this.begin("acc_descr"),33;case 43:return this.popState(),"acc_descr_value";case 44:this.begin("acc_descr_multiline");break;case 45:this.popState();break;case 46:return"acc_descr_multiline_value";case 47:return 6;case 48:return 18;case 49:return 20;case 50:return 64;case 52:return e.yytext=e.yytext.trim(),70;case 53:return 73;case 54:return 74;case 55:return 75;case 56:return 76;case 57:return 71;case 58:return 72;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 80;case 63:return 81;case 64:return 68;case 65:return 69;case 67:return"INVALID"}}),"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^\<->\->:\n,;]+?([\-]*[^\<->\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^\+\<->\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+\<->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]+)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[45,46],inclusive:!1},acc_descr:{rules:[43],inclusive:!1},acc_title:{rules:[41],inclusive:!1},ID:{rules:[2,3,12],inclusive:!1},ALIAS:{rules:[2,3,13,14],inclusive:!1},LINE:{rules:[2,3,26],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67],inclusive:!0}}};function j(){this.yy={}}return q.lexer=Y,w(j,"Parser"),j.prototype=q,q.Parser=j,new j}()).parser=Bwt,Fwt=Bwt}));function Uwt(t,e){if(null==t.links)t.links=e;else for(let r in e)t.links[r]=e[r]}function Gwt(t,e){if(null==t.properties)t.properties=e;else for(let r in e)t.properties[r]=e[r]}function qwt(){Ywt.records.currentBox=void 0}var Ywt,jwt,Hwt,Wwt,Vwt,Xwt,Kwt,Zwt,Qwt,Jwt,tkt,ekt,rkt,nkt,ikt,akt,okt,skt,lkt,ckt,hkt,ukt,dkt,pkt,fkt,gkt,mkt,ykt,vkt,xkt,bkt,wkt,kkt,Tkt,Ekt,_kt,Ckt,Skt,Akt,Lkt,Nkt,Ikt,Mkt,Rkt,Dkt,Okt,Pkt,Bkt,Fkt,$kt,zkt,Ukt,Gkt,qkt,Ykt,jkt,Hkt,Wkt,Vkt,Xkt,Kkt,Zkt,Qkt,Jkt,tTt,eTt,rTt,nTt,iTt,aTt,oTt=k((()=>{Qh(),L(),Yft(),Oc(),Zh(),Ywt=new Uft((()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0}))),jwt=w((function(t){Ywt.records.boxes.push({name:t.text,wrap:t.wrap??hkt(),fill:t.color,actorKeys:[]}),Ywt.records.currentBox=Ywt.records.boxes.slice(-1)[0]}),"addBox"),Hwt=w((function(t,e,r,n){let i=Ywt.records.currentBox,a=Ywt.records.actors.get(t);if(a){if(Ywt.records.currentBox&&a.box&&Ywt.records.currentBox!==a.box)throw new Error(`A same participant should only be defined in one Box: ${a.name} can't be in '${a.box.name}' and in '${Ywt.records.currentBox.name}' at the same time.`);if(i=a.box?a.box:Ywt.records.currentBox,a.box=i,a&&e===a.name&&null==r)return}if(null==r?.text&&(r={text:e,type:n}),(null==n||null==r.text)&&(r={text:e,type:n}),Ywt.records.actors.set(t,{box:i,name:e,description:r.text,wrap:r.wrap??hkt(),prevActor:Ywt.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:n??"participant"}),Ywt.records.prevActor){let e=Ywt.records.actors.get(Ywt.records.prevActor);e&&(e.nextActor=t)}Ywt.records.currentBox&&Ywt.records.currentBox.actorKeys.push(t),Ywt.records.prevActor=t}),"addActor"),Wwt=w((t=>{let e,r=0;if(!t)return 0;for(e=0;e>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},e}return Ywt.records.messages.push({from:t,to:e,message:r?.text??"",wrap:r?.wrap??hkt(),type:n,activate:i}),!0}),"addSignal"),Kwt=w((function(){return Ywt.records.boxes.length>0}),"hasAtLeastOneBox"),Zwt=w((function(){return Ywt.records.boxes.some((t=>t.name))}),"hasAtLeastOneBoxWithTitle"),Qwt=w((function(){return Ywt.records.messages}),"getMessages"),Jwt=w((function(){return Ywt.records.boxes}),"getBoxes"),tkt=w((function(){return Ywt.records.actors}),"getActors"),ekt=w((function(){return Ywt.records.createdActors}),"getCreatedActors"),rkt=w((function(){return Ywt.records.destroyedActors}),"getDestroyedActors"),nkt=w((function(t){return Ywt.records.actors.get(t)}),"getActor"),ikt=w((function(){return[...Ywt.records.actors.keys()]}),"getActorKeys"),akt=w((function(){Ywt.records.sequenceNumbersEnabled=!0}),"enableSequenceNumbers"),okt=w((function(){Ywt.records.sequenceNumbersEnabled=!1}),"disableSequenceNumbers"),skt=w((()=>Ywt.records.sequenceNumbersEnabled),"showSequenceNumbers"),lkt=w((function(t){Ywt.records.wrapEnabled=t}),"setWrap"),ckt=w((t=>{if(void 0===t)return{};t=t.trim();let e=null!==/^:?wrap:/.exec(t)||null===/^:?nowrap:/.exec(t)&&void 0;return{cleanedText:(void 0===e?t:t.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:e}}),"extractWrap"),hkt=w((()=>void 0!==Ywt.records.wrapEnabled?Ywt.records.wrapEnabled:Qc().sequence?.wrap??!1),"autoWrap"),ukt=w((function(){Ywt.reset(),qc()}),"clear"),dkt=w((function(t){let e=t.trim(),{wrap:n,cleanedText:i}=ckt(e),a={text:i,wrap:n};return r.debug(`parseMessage: ${JSON.stringify(a)}`),a}),"parseMessage"),pkt=w((function(t){let e=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(t),r=e?.[1]?e[1].trim():"transparent",n=e?.[2]?e[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",r)||(r="transparent",n=t.trim());else{let e=(new Option).style;e.color=r,e.color!==r&&(r="transparent",n=t.trim())}let{wrap:i,cleanedText:a}=ckt(n);return{text:a?sc(a,Qc()):void 0,color:r,wrap:i}}),"parseBoxData"),fkt={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34},gkt={FILLED:0,OPEN:1},mkt={LEFTOF:0,RIGHTOF:1,OVER:2},ykt=w((function(t,e,r){let n={actor:t,placement:e,message:r.text,wrap:r.wrap??hkt()},i=[].concat(t,t);Ywt.records.notes.push(n),Ywt.records.messages.push({from:i[0],to:i[1],message:r.text,wrap:r.wrap??hkt(),type:fkt.NOTE,placement:e})}),"addNote"),vkt=w((function(t,e){let n=nkt(t);try{let t=sc(e.text,Qc());t=t.replace(/&/g,"&"),t=t.replace(/=/g,"="),Uwt(n,JSON.parse(t))}catch(t){r.error("error while parsing actor link text",t)}}),"addLinks"),xkt=w((function(t,e){let n=nkt(t);try{let t={},r=sc(e.text,Qc()),i=r.indexOf("@");r=r.replace(/&/g,"&"),r=r.replace(/=/g,"=");let a=r.slice(0,i-1).trim(),o=r.slice(i+1).trim();t[a]=o,Uwt(n,t)}catch(t){r.error("error while parsing actor link text",t)}}),"addALink"),w(Uwt,"insertLinks"),bkt=w((function(t,e){let n=nkt(t);try{let t=sc(e.text,Qc());Gwt(n,JSON.parse(t))}catch(t){r.error("error while parsing actor properties text",t)}}),"addProperties"),w(Gwt,"insertProperties"),w(qwt,"boxEnd"),wkt=w((function(t,e){let n=nkt(t),i=document.getElementById(e.text);try{let t=i.innerHTML,e=JSON.parse(t);e.properties&&Gwt(n,e.properties),e.links&&Uwt(n,e.links)}catch(t){r.error("error while parsing actor details text",t)}}),"addDetails"),kkt=w((function(t,e){if(void 0!==t?.properties)return t.properties[e]}),"getActorProperty"),Tkt=w((function(t){if(Array.isArray(t))t.forEach((function(t){Tkt(t)}));else switch(t.type){case"sequenceIndex":Ywt.records.messages.push({from:void 0,to:void 0,message:{start:t.sequenceIndex,step:t.sequenceIndexStep,visible:t.sequenceVisible},wrap:!1,type:t.signalType});break;case"addParticipant":Hwt(t.actor,t.actor,t.description,t.draw);break;case"createParticipant":if(Ywt.records.actors.has(t.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");Ywt.records.lastCreated=t.actor,Hwt(t.actor,t.actor,t.description,t.draw),Ywt.records.createdActors.set(t.actor,Ywt.records.messages.length);break;case"destroyParticipant":Ywt.records.lastDestroyed=t.actor,Ywt.records.destroyedActors.set(t.actor,Ywt.records.messages.length);break;case"activeStart":case"activeEnd":Xwt(t.actor,void 0,void 0,t.signalType);break;case"addNote":ykt(t.actor,t.placement,t.text);break;case"addLinks":vkt(t.actor,t.text);break;case"addALink":xkt(t.actor,t.text);break;case"addProperties":bkt(t.actor,t.text);break;case"addDetails":wkt(t.actor,t.text);break;case"addMessage":if(Ywt.records.lastCreated){if(t.to!==Ywt.records.lastCreated)throw new Error("The created participant "+Ywt.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");Ywt.records.lastCreated=void 0}else if(Ywt.records.lastDestroyed){if(t.to!==Ywt.records.lastDestroyed&&t.from!==Ywt.records.lastDestroyed)throw new Error("The destroyed participant "+Ywt.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");Ywt.records.lastDestroyed=void 0}Xwt(t.from,t.to,t.msg,t.signalType,t.activate);break;case"boxStart":jwt(t.boxData);break;case"boxEnd":qwt();break;case"loopStart":Xwt(void 0,void 0,t.loopText,t.signalType);break;case"loopEnd":case"rectEnd":case"optEnd":case"altEnd":case"parEnd":case"criticalEnd":case"breakEnd":Xwt(void 0,void 0,void 0,t.signalType);break;case"rectStart":Xwt(void 0,void 0,t.color,t.signalType);break;case"optStart":Xwt(void 0,void 0,t.optText,t.signalType);break;case"altStart":case"else":Xwt(void 0,void 0,t.altText,t.signalType);break;case"setAccTitle":Yc(t.text);break;case"parStart":case"and":Xwt(void 0,void 0,t.parText,t.signalType);break;case"criticalStart":Xwt(void 0,void 0,t.criticalText,t.signalType);break;case"option":Xwt(void 0,void 0,t.optionText,t.signalType);break;case"breakStart":Xwt(void 0,void 0,t.breakText,t.signalType)}}),"apply"),Ekt={addActor:Hwt,addMessage:Vwt,addSignal:Xwt,addLinks:vkt,addDetails:wkt,addProperties:bkt,autoWrap:hkt,setWrap:lkt,enableSequenceNumbers:akt,disableSequenceNumbers:okt,showSequenceNumbers:skt,getMessages:Qwt,getActors:tkt,getCreatedActors:ekt,getDestroyedActors:rkt,getActor:nkt,getActorKeys:ikt,getActorProperty:kkt,getAccTitle:jc,getBoxes:Jwt,getDiagramTitle:Xc,setDiagramTitle:Vc,getConfig:w((()=>Qc().sequence),"getConfig"),clear:ukt,parseMessage:dkt,parseBoxData:pkt,LINETYPE:fkt,ARROWTYPE:gkt,PLACEMENT:mkt,addNote:ykt,setAccTitle:Yc,apply:Tkt,setAccDescription:Hc,getAccDescription:Wc,hasAtLeastOneBox:Kwt,hasAtLeastOneBoxWithTitle:Zwt}})),sTt=k((()=>{_kt=w((t=>`.actor {\n stroke: ${t.actorBorder};\n fill: ${t.actorBkg};\n }\n\n text.actor > tspan {\n fill: ${t.actorTextColor};\n stroke: none;\n }\n\n .actor-line {\n stroke: ${t.actorLineColor};\n }\n\n .messageLine0 {\n stroke-width: 1.5;\n stroke-dasharray: none;\n stroke: ${t.signalColor};\n }\n\n .messageLine1 {\n stroke-width: 1.5;\n stroke-dasharray: 2, 2;\n stroke: ${t.signalColor};\n }\n\n #arrowhead path {\n fill: ${t.signalColor};\n stroke: ${t.signalColor};\n }\n\n .sequenceNumber {\n fill: ${t.sequenceNumberColor};\n }\n\n #sequencenumber {\n fill: ${t.signalColor};\n }\n\n #crosshead path {\n fill: ${t.signalColor};\n stroke: ${t.signalColor};\n }\n\n .messageText {\n fill: ${t.signalTextColor};\n stroke: none;\n }\n\n .labelBox {\n stroke: ${t.labelBoxBorderColor};\n fill: ${t.labelBoxBkgColor};\n }\n\n .labelText, .labelText > tspan {\n fill: ${t.labelTextColor};\n stroke: none;\n }\n\n .loopText, .loopText > tspan {\n fill: ${t.loopTextColor};\n stroke: none;\n }\n\n .loopLine {\n stroke-width: 2px;\n stroke-dasharray: 2, 2;\n stroke: ${t.labelBoxBorderColor};\n fill: ${t.labelBoxBorderColor};\n }\n\n .note {\n //stroke: #decc93;\n stroke: ${t.noteBorderColor};\n fill: ${t.noteBkgColor};\n }\n\n .noteText, .noteText > tspan {\n fill: ${t.noteTextColor};\n stroke: none;\n }\n\n .activation0 {\n fill: ${t.activationBkgColor};\n stroke: ${t.activationBorderColor};\n }\n\n .activation1 {\n fill: ${t.activationBkgColor};\n stroke: ${t.activationBorderColor};\n }\n\n .activation2 {\n fill: ${t.activationBkgColor};\n stroke: ${t.activationBorderColor};\n }\n\n .actorPopupMenu {\n position: absolute;\n }\n\n .actorPopupMenuPanel {\n position: absolute;\n fill: ${t.actorBkg};\n box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);\n filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));\n}\n .actor-man line {\n stroke: ${t.actorBorder};\n fill: ${t.actorBkg};\n }\n .actor-man circle, line {\n stroke: ${t.actorBorder};\n fill: ${t.actorBkg};\n stroke-width: 2px;\n }\n`),"getStyles"),Ckt=_kt})),lTt=k((()=>{Oc(),VC(),mD(),Skt=S(WC(),1),rn(),Akt=36,Lkt="actor-top",Nkt="actor-bottom",Ikt="actor-man",Mkt=w((function(t,e){return hC(t,e)}),"drawRect"),Rkt=w((function(t,e,r,n,i){if(void 0===e.links||null===e.links||0===Object.keys(e.links).length)return{height:0,width:0};let a=e.links,o=e.actorCnt,s=e.rectData;var l="none";i&&(l="block !important");let c=t.append("g");c.attr("id","actor"+o+"_popup"),c.attr("class","actorPopupMenu"),c.attr("display",l);var h="";void 0!==s.class&&(h=" "+s.class);let u=s.width>r?s.width:r,d=c.append("rect");if(d.attr("class","actorPopupMenuPanel"+h),d.attr("x",s.x),d.attr("y",s.height),d.attr("fill",s.fill),d.attr("stroke",s.stroke),d.attr("width",u),d.attr("height",s.height),d.attr("rx",s.rx),d.attr("ry",s.ry),null!=a){var p=20;for(let t in a){var f=c.append("a"),g=(0,Skt.sanitizeUrl)(a[t]);f.attr("xlink:href",g),f.attr("target","_blank"),iTt(n)(t,f,s.x+10,s.height+p,u,20,{class:"actor"},n),p+=30}}return d.attr("height",p),{height:s.height+p,width:u}}),"drawPopup"),Dkt=w((function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"}),"popupMenuToggle"),Okt=w((async function(t,e,r=null){let n=t.append("foreignObject"),i=await _c(e.text,ir()),a=n.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(n.attr("height",Math.round(a.height)).attr("width",Math.round(a.width)),"noteText"===e.class){let r=t.node().firstChild;r.setAttribute("height",a.height+2*e.textMargin);let i=r.getBBox();n.attr("x",Math.round(i.x+i.width/2-a.width/2)).attr("y",Math.round(i.y+i.height/2-a.height/2))}else if(r){let{startx:t,stopx:i,starty:o}=r;if(t>i){let e=t;t=i,i=e}n.attr("x",Math.round(t+Math.abs(t-i)/2-a.width/2)),"loopText"===e.class?n.attr("y",Math.round(o)):n.attr("y",Math.round(o-a.height))}return[n]}),"drawKatex"),Pkt=w((function(t,e){let r=0,n=0,i=e.text.split(Cc.lineBreakRegex),[a,o]=uD(e.fontSize),s=[],l=0,c=w((()=>e.y),"yfunc");if(void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0)switch(e.valign){case"top":case"start":c=w((()=>Math.round(e.y+e.textMargin)),"yfunc");break;case"middle":case"center":c=w((()=>Math.round(e.y+(r+n+e.textMargin)/2)),"yfunc");break;case"bottom":case"end":c=w((()=>Math.round(e.y+(r+n+2*e.textMargin)-e.textMargin)),"yfunc")}if(void 0!==e.anchor&&void 0!==e.textMargin&&void 0!==e.width)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle"}for(let[h,u]of i.entries()){void 0!==e.textMargin&&0===e.textMargin&&void 0!==a&&(l=h*a);let i=t.append("text");i.attr("x",e.x),i.attr("y",c()),void 0!==e.anchor&&i.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),void 0!==e.fontFamily&&i.style("font-family",e.fontFamily),void 0!==o&&i.style("font-size",o),void 0!==e.fontWeight&&i.style("font-weight",e.fontWeight),void 0!==e.fill&&i.attr("fill",e.fill),void 0!==e.class&&i.attr("class",e.class),void 0!==e.dy?i.attr("dy",e.dy):0!==l&&i.attr("dy",l);let d=u||GR;if(e.tspan){let t=i.append("tspan");t.attr("x",e.x),void 0!==e.fill&&t.attr("fill",e.fill),t.text(d)}else i.text(d);void 0!==e.valign&&void 0!==e.textMargin&&e.textMargin>0&&(n+=(i._groups||i)[0][0].getBBox().height,r=n),s.push(i)}return s}),"drawText"),Bkt=w((function(t,e){function r(t,e,r,n,i){return t+","+e+" "+(t+r)+","+e+" "+(t+r)+","+(e+n-i)+" "+(t+r-1.2*i)+","+(e+n)+" "+t+","+(e+n)}w(r,"genPoints");let n=t.append("polygon");return n.attr("points",r(e.x,e.y,e.width,e.height,7)),n.attr("class","labelBox"),e.y=e.y+e.height/2,Pkt(t,e),n}),"drawLabel"),Fkt=-1,$kt=w(((t,e,r,n)=>{t.select&&r.forEach((r=>{let i=e.get(r),a=t.select("#actor"+i.actorCnt);!n.mirrorActors&&i.stopy?a.attr("y2",i.stopy+i.height/2):n.mirrorActors&&a.attr("y2",i.stopy)}))}),"fixLifeLineHeights"),zkt=w((function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,o=i+e.height,s=t.append("g").lower();var l=s;n||(Fkt++,Object.keys(e.links||{}).length&&!r.forceMenus&&l.attr("onclick",Dkt(`actor${Fkt}_popup`)).attr("cursor","pointer"),l.append("line").attr("id","actor"+Fkt).attr("x1",a).attr("y1",o).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),l=s.append("g"),e.actorCnt=Fkt,null!=e.links&&l.attr("id","root-"+Fkt));let c=gC();var h="actor";e.properties?.class?h=e.properties.class:c.fill="#eaeaea",h+=n?` ${Nkt}`:` ${Lkt}`,c.x=e.x,c.y=i,c.width=e.width,c.height=e.height,c.class=h,c.rx=3,c.ry=3,c.name=e.name;let u=Mkt(l,c);if(e.rectData=c,e.properties?.icon){let t=e.properties.icon.trim();"@"===t.charAt(0)?fC(l,c.x+c.width-20,c.y+10,t.substr(1)):pC(l,c.x+c.width-20,c.y+10,t)}nTt(r,Tc(e.description))(e.description,l,c.x,c.y,c.width,c.height,{class:"actor actor-box"},r);let d=e.height;if(u.node){let t=u.node().getBBox();e.height=t.height,d=t.height}return d}),"drawActorTypeParticipant"),Ukt=w((function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,o=i+80,s=t.append("g").lower();n||(Fkt++,s.append("line").attr("id","actor"+Fkt).attr("x1",a).attr("y1",o).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=Fkt);let l=t.append("g"),c=Ikt;c+=n?` ${Nkt}`:` ${Lkt}`,l.attr("class",c),l.attr("name",e.name);let h=gC();h.x=e.x,h.y=i,h.fill="#eaeaea",h.width=e.width,h.height=e.height,h.class="actor",h.rx=3,h.ry=3,l.append("line").attr("id","actor-man-torso"+Fkt).attr("x1",a).attr("y1",i+25).attr("x2",a).attr("y2",i+45),l.append("line").attr("id","actor-man-arms"+Fkt).attr("x1",a-Akt/2).attr("y1",i+33).attr("x2",a+Akt/2).attr("y2",i+33),l.append("line").attr("x1",a-Akt/2).attr("y1",i+60).attr("x2",a).attr("y2",i+45),l.append("line").attr("x1",a).attr("y1",i+45).attr("x2",a+Akt/2-2).attr("y2",i+60);let u=l.append("circle");u.attr("cx",e.x+e.width/2),u.attr("cy",i+10),u.attr("r",15),u.attr("width",e.width),u.attr("height",e.height);let d=l.node().getBBox();return e.height=d.height,nTt(r,Tc(e.description))(e.description,l,h.x,h.y+35,h.width,h.height,{class:`actor ${Ikt}`},r),e.height}),"drawActorTypeActor"),Gkt=w((async function(t,e,r,n){switch(e.type){case"actor":return await Ukt(t,e,r,n);case"participant":return await zkt(t,e,r,n)}}),"drawActor"),qkt=w((function(t,e,r){let n=t.append("g");Wkt(n,e),e.name&&nTt(r)(e.name,n,e.x,e.y+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},r),n.lower()}),"drawBox"),Ykt=w((function(t){return t.append("g")}),"anchorElement"),jkt=w((function(t,e,r,n,i){let a=gC(),o=e.anchored;a.x=e.startx,a.y=e.starty,a.class="activation"+i%3,a.width=e.stopx-e.startx,a.height=r-e.starty,Mkt(o,a)}),"drawActivation"),Hkt=w((async function(t,e,r,n){let{boxMargin:i,boxTextMargin:a,labelBoxHeight:o,labelBoxWidth:s,messageFontFamily:l,messageFontSize:c,messageFontWeight:h}=n,u=t.append("g"),d=w((function(t,e,r,n){return u.append("line").attr("x1",t).attr("y1",e).attr("x2",r).attr("y2",n).attr("class","loopLine")}),"drawLoopLine");d(e.startx,e.starty,e.stopx,e.starty),d(e.stopx,e.starty,e.stopx,e.stopy),d(e.startx,e.stopy,e.stopx,e.stopy),d(e.startx,e.starty,e.startx,e.stopy),void 0!==e.sections&&e.sections.forEach((function(t){d(e.startx,t.y,e.stopx,t.y).style("stroke-dasharray","3, 3")}));let p=mC();p.text=r,p.x=e.startx,p.y=e.starty,p.fontFamily=l,p.fontSize=c,p.fontWeight=h,p.anchor="middle",p.valign="middle",p.tspan=!1,p.width=s||50,p.height=o||20,p.textMargin=a,p.class="labelText",Bkt(u,p),p=eTt(),p.text=e.title,p.x=e.startx+s/2+(e.stopx-e.startx)/2,p.y=e.starty+i+a,p.anchor="middle",p.valign="middle",p.textMargin=a,p.class="loopText",p.fontFamily=l,p.fontSize=c,p.fontWeight=h,p.wrap=!0;let f=Tc(p.text)?await Okt(u,p,e):Pkt(u,p);if(void 0!==e.sectionTitles)for(let[t,r]of Object.entries(e.sectionTitles))if(r.message){p.text=r.message,p.x=e.startx+(e.stopx-e.startx)/2,p.y=e.sections[t].y+i+a,p.class="loopText",p.anchor="middle",p.valign="middle",p.tspan=!1,p.fontFamily=l,p.fontSize=c,p.fontWeight=h,p.wrap=e.wrap,Tc(p.text)?(e.starty=e.sections[t].y,await Okt(u,p,e)):Pkt(u,p);let n=Math.round(f.map((t=>(t._groups||t)[0][0].getBBox().height)).reduce(((t,e)=>t+e)));e.sections[t].height+=n-(i+a)}return e.height=Math.round(e.stopy-e.starty),u}),"drawLoop"),Wkt=w((function(t,e){uC(t,e)}),"drawBackgroundRect"),Vkt=w((function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")}),"insertDatabaseIcon"),Xkt=w((function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")}),"insertComputerIcon"),Kkt=w((function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")}),"insertClockIcon"),Zkt=w((function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")}),"insertArrowHead"),Qkt=w((function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")}),"insertArrowFilledHead"),Jkt=w((function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)}),"insertSequenceNumber"),tTt=w((function(t){t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")}),"insertArrowCrossHead"),eTt=w((function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}}),"getTextObj"),rTt=w((function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}}),"getNoteRect"),nTt=function(){function t(t,e,r,n,a,o,s){i(e.append("text").attr("x",r+a/2).attr("y",n+o/2+5).style("text-anchor","middle").text(t),s)}function e(t,e,r,n,a,o,s,l){let{actorFontSize:c,actorFontFamily:h,actorFontWeight:u}=l,[d,p]=uD(c),f=t.split(Cc.lineBreakRegex);for(let t=0;t{let r=yTt(fTt),n=e.actorKeys.reduce(((e,r)=>e+(t.get(r).width+(t.get(r).margin||0))),0);n-=2*fTt.boxTextMargin,e.wrap&&(e.name=dD.wrapLabel(e.name,n-2*fTt.wrapPadding,r));let a=dD.calculateTextDimensions(e.name,r);i=Cc.getMax(a.height,i);let o=Cc.getMax(n,a.width+2*fTt.wrapPadding);if(e.margin=fTt.boxTextMargin,nt.textMaxHeight=i)),Cc.getMax(n,fTt.height)}var fTt,gTt,mTt,yTt,vTt,xTt,bTt,wTt,kTt,TTt,ETt,_Tt,CTt,STt,ATt,LTt,NTt,ITt,MTt,RTt=k((()=>{jC(),lTt(),L(),Oc(),VC(),Qh(),yr(),mD(),Pc(),fTt={},gTt={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:w((function(){return Math.max.apply(null,0===this.actors.length?[0]:this.actors.map((t=>t.height||0)))+(0===this.loops.length?0:this.loops.map((t=>t.height||0)).reduce(((t,e)=>t+e)))+(0===this.messages.length?0:this.messages.map((t=>t.height||0)).reduce(((t,e)=>t+e)))+(0===this.notes.length?0:this.notes.map((t=>t.height||0)).reduce(((t,e)=>t+e)))}),"getHeight"),clear:w((function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]}),"clear"),addBox:w((function(t){this.boxes.push(t)}),"addBox"),addActor:w((function(t){this.actors.push(t)}),"addActor"),addLoop:w((function(t){this.loops.push(t)}),"addLoop"),addMessage:w((function(t){this.messages.push(t)}),"addMessage"),addNote:w((function(t){this.notes.push(t)}),"addNote"),lastActor:w((function(){return this.actors[this.actors.length-1]}),"lastActor"),lastLoop:w((function(){return this.loops[this.loops.length-1]}),"lastLoop"),lastMessage:w((function(){return this.messages[this.messages.length-1]}),"lastMessage"),lastNote:w((function(){return this.notes[this.notes.length-1]}),"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:w((function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,ETt(Qc())}),"init"),updateVal:w((function(t,e,r,n){void 0===t[e]?t[e]=r:t[e]=n(r,t[e])}),"updateVal"),updateBounds:w((function(t,e,r,n){let i=this,a=0;function o(o){return w((function(s){a++;let l=i.sequenceItems.length-a+1;i.updateVal(s,"starty",e-l*fTt.boxMargin,Math.min),i.updateVal(s,"stopy",n+l*fTt.boxMargin,Math.max),i.updateVal(gTt.data,"startx",t-l*fTt.boxMargin,Math.min),i.updateVal(gTt.data,"stopx",r+l*fTt.boxMargin,Math.max),"activation"!==o&&(i.updateVal(s,"startx",t-l*fTt.boxMargin,Math.min),i.updateVal(s,"stopx",r+l*fTt.boxMargin,Math.max),i.updateVal(gTt.data,"starty",e-l*fTt.boxMargin,Math.min),i.updateVal(gTt.data,"stopy",n+l*fTt.boxMargin,Math.max))}),"updateItemBounds")}w(o,"updateFn"),this.sequenceItems.forEach(o()),this.activations.forEach(o("activation"))}),"updateBounds"),insert:w((function(t,e,r,n){let i=Cc.getMin(t,r),a=Cc.getMax(t,r),o=Cc.getMin(e,n),s=Cc.getMax(e,n);this.updateVal(gTt.data,"startx",i,Math.min),this.updateVal(gTt.data,"starty",o,Math.min),this.updateVal(gTt.data,"stopx",a,Math.max),this.updateVal(gTt.data,"stopy",s,Math.max),this.updateBounds(i,o,a,s)}),"insert"),newActivation:w((function(t,e,r){let n=r.get(t.from),i=_Tt(t.from).length||0,a=n.x+n.width/2+(i-1)*fTt.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+fTt.activationWidth,stopy:void 0,actor:t.from,anchored:aTt.anchorElement(e)})}),"newActivation"),endActivation:w((function(t){let e=this.activations.map((function(t){return t.actor})).lastIndexOf(t.from);return this.activations.splice(e,1)[0]}),"endActivation"),createLoop:w((function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}}),"createLoop"),newLoop:w((function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))}),"newLoop"),endLoop:w((function(){return this.sequenceItems.pop()}),"endLoop"),isLoopOverlap:w((function(){return!!this.sequenceItems.length&&this.sequenceItems[this.sequenceItems.length-1].overlap}),"isLoopOverlap"),addSectionToLoop:w((function(t){let e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:gTt.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)}),"addSectionToLoop"),saveVerticalPos:w((function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)}),"saveVerticalPos"),resetVerticalPos:w((function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)}),"resetVerticalPos"),bumpVerticalPos:w((function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=Cc.getMax(this.data.stopy,this.verticalPos)}),"bumpVerticalPos"),getVerticalPos:w((function(){return this.verticalPos}),"getVerticalPos"),getBounds:w((function(){return{bounds:this.data,models:this.models}}),"getBounds")},mTt=w((async function(t,e){gTt.bumpVerticalPos(fTt.boxMargin),e.height=fTt.boxMargin,e.starty=gTt.getVerticalPos();let r=gC();r.x=e.startx,r.y=e.starty,r.width=e.width||fTt.width,r.class="note";let n=t.append("g"),i=aTt.drawRect(n,r),a=mC();a.x=e.startx,a.y=e.starty,a.width=r.width,a.dy="1em",a.text=e.message,a.class="noteText",a.fontFamily=fTt.noteFontFamily,a.fontSize=fTt.noteFontSize,a.fontWeight=fTt.noteFontWeight,a.anchor=fTt.noteAlign,a.textMargin=fTt.noteMargin,a.valign="center";let o=Tc(a.text)?await Okt(n,a):Pkt(n,a),s=Math.round(o.map((t=>(t._groups||t)[0][0].getBBox().height)).reduce(((t,e)=>t+e)));i.attr("height",s+2*fTt.noteMargin),e.height+=s+2*fTt.noteMargin,gTt.bumpVerticalPos(s+2*fTt.noteMargin),e.stopy=e.starty+s+2*fTt.noteMargin,e.stopx=e.startx+r.width,gTt.insert(e.startx,e.starty,e.stopx,e.stopy),gTt.models.addNote(e)}),"drawNote"),yTt=w((t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight})),"messageFont"),vTt=w((t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight})),"noteFont"),xTt=w((t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight})),"actorFont"),w(cTt,"boundMessage"),bTt=w((async function(t,e,r,n){let{startx:i,stopx:a,starty:o,message:s,type:l,sequenceIndex:c,sequenceVisible:h}=e,u=dD.calculateTextDimensions(s,yTt(fTt)),d=mC();d.x=i,d.y=o+10,d.width=a-i,d.class="messageText",d.dy="1em",d.text=s,d.fontFamily=fTt.messageFontFamily,d.fontSize=fTt.messageFontSize,d.fontWeight=fTt.messageFontWeight,d.anchor=fTt.messageAlign,d.valign="center",d.textMargin=fTt.wrapPadding,d.tspan=!1,Tc(d.text)?await Okt(t,d,{startx:i,stopx:a,starty:r}):Pkt(t,d);let p,f=u.width;i===a?p=fTt.rightAngles?t.append("path").attr("d",`M ${i},${r} H ${i+Cc.getMax(fTt.width/2,f/2)} V ${r+25} H ${i}`):t.append("path").attr("d","M "+i+","+r+" C "+(i+60)+","+(r-10)+" "+(i+60)+","+(r+30)+" "+i+","+(r+20)):(p=t.append("line"),p.attr("x1",i),p.attr("y1",r),p.attr("x2",a),p.attr("y2",r)),l===n.db.LINETYPE.DOTTED||l===n.db.LINETYPE.DOTTED_CROSS||l===n.db.LINETYPE.DOTTED_POINT||l===n.db.LINETYPE.DOTTED_OPEN||l===n.db.LINETYPE.BIDIRECTIONAL_DOTTED?(p.style("stroke-dasharray","3, 3"),p.attr("class","messageLine1")):p.attr("class","messageLine0");let g="";fTt.arrowMarkerAbsolute&&(g=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,g=g.replace(/\(/g,"\\("),g=g.replace(/\)/g,"\\)")),p.attr("stroke-width",2),p.attr("stroke","none"),p.style("fill","none"),(l===n.db.LINETYPE.SOLID||l===n.db.LINETYPE.DOTTED)&&p.attr("marker-end","url("+g+"#arrowhead)"),(l===n.db.LINETYPE.BIDIRECTIONAL_SOLID||l===n.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(p.attr("marker-start","url("+g+"#arrowhead)"),p.attr("marker-end","url("+g+"#arrowhead)")),(l===n.db.LINETYPE.SOLID_POINT||l===n.db.LINETYPE.DOTTED_POINT)&&p.attr("marker-end","url("+g+"#filled-head)"),(l===n.db.LINETYPE.SOLID_CROSS||l===n.db.LINETYPE.DOTTED_CROSS)&&p.attr("marker-end","url("+g+"#crosshead)"),(h||fTt.showSequenceNumbers)&&(p.attr("marker-start","url("+g+"#sequencenumber)"),t.append("text").attr("x",i).attr("y",r+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(c))}),"drawMessage"),wTt=w((function(t,e,r,n,i,a,o){let s,l=0,c=0,h=0;for(let t of n){let n=e.get(t),a=n.box;s&&s!=a&&(o||gTt.models.addBox(s),c+=fTt.boxMargin+s.margin),a&&a!=s&&(o||(a.x=l+c,a.y=i),c+=a.margin),n.width=n.width||fTt.width,n.height=Cc.getMax(n.height||fTt.height,fTt.height),n.margin=n.margin||fTt.actorMargin,h=Cc.getMax(h,n.height),r.get(n.name)&&(c+=n.width/2),n.x=l+c,n.starty=gTt.getVerticalPos(),gTt.insert(n.x,i,n.x+n.width,n.height),l+=n.width+c,n.box&&(n.box.width=l+a.margin-n.box.x),c=n.margin,s=n.box,gTt.models.addActor(n)}s&&!o&&gTt.models.addBox(s),gTt.bumpVerticalPos(h)}),"addActorRenderingData"),kTt=w((async function(t,e,r,n){if(n){let n=0;gTt.bumpVerticalPos(2*fTt.boxMargin);for(let i of r){let r=e.get(i);r.stopy||(r.stopy=gTt.getVerticalPos());let a=await aTt.drawActor(t,r,fTt,!0);n=Cc.getMax(n,a)}gTt.bumpVerticalPos(n+fTt.boxMargin)}else for(let n of r){let r=e.get(n);await aTt.drawActor(t,r,fTt,!1)}}),"drawActors"),TTt=w((function(t,e,r,n){let i=0,a=0;for(let o of r){let r=e.get(o),s=ATt(r),l=aTt.drawPopup(t,r,s,fTt,fTt.forceMenus,n);l.height>i&&(i=l.height),l.width+r.x>a&&(a=l.width+r.x)}return{maxHeight:i,maxWidth:a}}),"drawActorsPopup"),ETt=w((function(t){Nt(fTt,t),t.fontFamily&&(fTt.actorFontFamily=fTt.noteFontFamily=fTt.messageFontFamily=t.fontFamily),t.fontSize&&(fTt.actorFontSize=fTt.noteFontSize=fTt.messageFontSize=t.fontSize),t.fontWeight&&(fTt.actorFontWeight=fTt.noteFontWeight=fTt.messageFontWeight=t.fontWeight)}),"setConf"),_Tt=w((function(t){return gTt.activations.filter((function(e){return e.actor===t}))}),"actorActivations"),CTt=w((function(t,e){let r=e.get(t),n=_Tt(t);return[n.reduce((function(t,e){return Cc.getMin(t,e.startx)}),r.x+r.width/2-1),n.reduce((function(t,e){return Cc.getMax(t,e.stopx)}),r.x+r.width/2+1)]}),"activationBounds"),w(hTt,"adjustLoopHeightForWrap"),w(uTt,"adjustCreatedDestroyedData"),STt=w((async function(t,e,n,i){let a,{securityLevel:o,sequence:s}=Qc();fTt=s,"sandbox"===o&&(a=Qf("#i"+e));let l=Qf("sandbox"===o?a.nodes()[0].contentDocument.body:"body"),c="sandbox"===o?a.nodes()[0].contentDocument:document;gTt.init(),r.debug(i.db);let h="sandbox"===o?l.select(`[id="${e}"]`):Qf(`[id="${e}"]`),u=i.db.getActors(),d=i.db.getCreatedActors(),p=i.db.getDestroyedActors(),f=i.db.getBoxes(),g=i.db.getActorKeys(),m=i.db.getMessages(),y=i.db.getDiagramTitle(),v=i.db.hasAtLeastOneBox(),x=i.db.hasAtLeastOneBoxWithTitle(),b=await dTt(u,m,i);if(fTt.height=await pTt(u,b,f),aTt.insertComputerIcon(h),aTt.insertDatabaseIcon(h),aTt.insertClockIcon(h),v&&(gTt.bumpVerticalPos(fTt.boxMargin),x&&gTt.bumpVerticalPos(f[0].textMaxHeight)),!0===fTt.hideUnusedParticipants){let t=new Set;m.forEach((e=>{t.add(e.from),t.add(e.to)})),g=g.filter((e=>t.has(e)))}wTt(h,u,d,g,0,m,!1);let k=await ITt(m,u,b,i);function T(t,e){let r=gTt.endActivation(t);r.starty+18>e&&(r.starty=e-6,e+=12),aTt.drawActivation(h,r,e,fTt,_Tt(t.from).length),gTt.insert(r.startx,e-10,r.stopx,e)}aTt.insertArrowHead(h),aTt.insertArrowCrossHead(h),aTt.insertArrowFilledHead(h),aTt.insertSequenceNumber(h),w(T,"activeEnd");let E=1,_=1,C=[],S=[],A=0;for(let t of m){let e,n,a;switch(t.type){case i.db.LINETYPE.NOTE:gTt.resetVerticalPos(),n=t.noteModel,await mTt(h,n);break;case i.db.LINETYPE.ACTIVE_START:gTt.newActivation(t,h,u);break;case i.db.LINETYPE.ACTIVE_END:T(t,gTt.getVerticalPos());break;case i.db.LINETYPE.LOOP_START:hTt(k,t,fTt.boxMargin,fTt.boxMargin+fTt.boxTextMargin,(t=>gTt.newLoop(t)));break;case i.db.LINETYPE.LOOP_END:e=gTt.endLoop(),await aTt.drawLoop(h,e,"loop",fTt),gTt.bumpVerticalPos(e.stopy-gTt.getVerticalPos()),gTt.models.addLoop(e);break;case i.db.LINETYPE.RECT_START:hTt(k,t,fTt.boxMargin,fTt.boxMargin,(t=>gTt.newLoop(void 0,t.message)));break;case i.db.LINETYPE.RECT_END:e=gTt.endLoop(),S.push(e),gTt.models.addLoop(e),gTt.bumpVerticalPos(e.stopy-gTt.getVerticalPos());break;case i.db.LINETYPE.OPT_START:hTt(k,t,fTt.boxMargin,fTt.boxMargin+fTt.boxTextMargin,(t=>gTt.newLoop(t)));break;case i.db.LINETYPE.OPT_END:e=gTt.endLoop(),await aTt.drawLoop(h,e,"opt",fTt),gTt.bumpVerticalPos(e.stopy-gTt.getVerticalPos()),gTt.models.addLoop(e);break;case i.db.LINETYPE.ALT_START:hTt(k,t,fTt.boxMargin,fTt.boxMargin+fTt.boxTextMargin,(t=>gTt.newLoop(t)));break;case i.db.LINETYPE.ALT_ELSE:hTt(k,t,fTt.boxMargin+fTt.boxTextMargin,fTt.boxMargin,(t=>gTt.addSectionToLoop(t)));break;case i.db.LINETYPE.ALT_END:e=gTt.endLoop(),await aTt.drawLoop(h,e,"alt",fTt),gTt.bumpVerticalPos(e.stopy-gTt.getVerticalPos()),gTt.models.addLoop(e);break;case i.db.LINETYPE.PAR_START:case i.db.LINETYPE.PAR_OVER_START:hTt(k,t,fTt.boxMargin,fTt.boxMargin+fTt.boxTextMargin,(t=>gTt.newLoop(t))),gTt.saveVerticalPos();break;case i.db.LINETYPE.PAR_AND:hTt(k,t,fTt.boxMargin+fTt.boxTextMargin,fTt.boxMargin,(t=>gTt.addSectionToLoop(t)));break;case i.db.LINETYPE.PAR_END:e=gTt.endLoop(),await aTt.drawLoop(h,e,"par",fTt),gTt.bumpVerticalPos(e.stopy-gTt.getVerticalPos()),gTt.models.addLoop(e);break;case i.db.LINETYPE.AUTONUMBER:E=t.message.start||E,_=t.message.step||_,t.message.visible?i.db.enableSequenceNumbers():i.db.disableSequenceNumbers();break;case i.db.LINETYPE.CRITICAL_START:hTt(k,t,fTt.boxMargin,fTt.boxMargin+fTt.boxTextMargin,(t=>gTt.newLoop(t)));break;case i.db.LINETYPE.CRITICAL_OPTION:hTt(k,t,fTt.boxMargin+fTt.boxTextMargin,fTt.boxMargin,(t=>gTt.addSectionToLoop(t)));break;case i.db.LINETYPE.CRITICAL_END:e=gTt.endLoop(),await aTt.drawLoop(h,e,"critical",fTt),gTt.bumpVerticalPos(e.stopy-gTt.getVerticalPos()),gTt.models.addLoop(e);break;case i.db.LINETYPE.BREAK_START:hTt(k,t,fTt.boxMargin,fTt.boxMargin+fTt.boxTextMargin,(t=>gTt.newLoop(t)));break;case i.db.LINETYPE.BREAK_END:e=gTt.endLoop(),await aTt.drawLoop(h,e,"break",fTt),gTt.bumpVerticalPos(e.stopy-gTt.getVerticalPos()),gTt.models.addLoop(e);break;default:try{a=t.msgModel,a.starty=gTt.getVerticalPos(),a.sequenceIndex=E,a.sequenceVisible=i.db.showSequenceNumbers();let e=await cTt(0,a);uTt(t,a,e,A,u,d,p),C.push({messageModel:a,lineStartY:e}),gTt.models.addMessage(a)}catch(t){r.error("error while drawing message",t)}}[i.db.LINETYPE.SOLID_OPEN,i.db.LINETYPE.DOTTED_OPEN,i.db.LINETYPE.SOLID,i.db.LINETYPE.DOTTED,i.db.LINETYPE.SOLID_CROSS,i.db.LINETYPE.DOTTED_CROSS,i.db.LINETYPE.SOLID_POINT,i.db.LINETYPE.DOTTED_POINT,i.db.LINETYPE.BIDIRECTIONAL_SOLID,i.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type)&&(E+=_),A++}r.debug("createdActors",d),r.debug("destroyedActors",p),await kTt(h,u,g,!1);for(let t of C)await bTt(h,t.messageModel,t.lineStartY,i);fTt.mirrorActors&&await kTt(h,u,g,!0),S.forEach((t=>aTt.drawBackgroundRect(h,t))),$kt(h,u,g,fTt);for(let t of gTt.models.boxes)t.height=gTt.getVerticalPos()-t.y,gTt.insert(t.x,t.y,t.x+t.width,t.height),t.startx=t.x,t.starty=t.y,t.stopx=t.startx+t.width,t.stopy=t.starty+t.height,t.stroke="rgb(0,0,0, 0.5)",aTt.drawBox(h,t,fTt);v&&gTt.bumpVerticalPos(fTt.boxMargin);let L=TTt(h,u,g,c),{bounds:N}=gTt.getBounds();void 0===N.startx&&(N.startx=0),void 0===N.starty&&(N.starty=0),void 0===N.stopx&&(N.stopx=0),void 0===N.stopy&&(N.stopy=0);let I=N.stopy-N.starty;I2,u=w((t=>s?-t:t),"adjustValue");t.from===t.to?c=l:(t.activate&&!h&&(c+=u(fTt.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN].includes(t.type)||(c+=u(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type)&&(l-=u(3)));let d=[n,i,a,o],p=Math.abs(l-c);t.wrap&&t.message&&(t.message=dD.wrapLabel(t.message,Cc.getMax(p+2*fTt.wrapPadding,fTt.width),yTt(fTt)));let f=dD.calculateTextDimensions(t.message,yTt(fTt));return{width:Cc.getMax(t.wrap?0:f.width+2*fTt.wrapPadding,p+2*fTt.wrapPadding,fTt.width),height:0,startx:l,stopx:c,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,d),toBounds:Math.max.apply(null,d)}}),"buildMessageModel"),ITt=w((async function(t,e,n,i){let a,o,s,l={},c=[];for(let r of t){switch(r.id=dD.random({length:10}),r.type){case i.db.LINETYPE.LOOP_START:case i.db.LINETYPE.ALT_START:case i.db.LINETYPE.OPT_START:case i.db.LINETYPE.PAR_START:case i.db.LINETYPE.PAR_OVER_START:case i.db.LINETYPE.CRITICAL_START:case i.db.LINETYPE.BREAK_START:c.push({id:r.id,msg:r.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case i.db.LINETYPE.ALT_ELSE:case i.db.LINETYPE.PAR_AND:case i.db.LINETYPE.CRITICAL_OPTION:r.message&&(a=c.pop(),l[a.id]=a,l[r.id]=a,c.push(a));break;case i.db.LINETYPE.LOOP_END:case i.db.LINETYPE.ALT_END:case i.db.LINETYPE.OPT_END:case i.db.LINETYPE.PAR_END:case i.db.LINETYPE.CRITICAL_END:case i.db.LINETYPE.BREAK_END:a=c.pop(),l[a.id]=a;break;case i.db.LINETYPE.ACTIVE_START:{let t=e.get(r.from?r.from:r.to.actor),n=_Tt(r.from?r.from:r.to.actor).length,i=t.x+t.width/2+(n-1)*fTt.activationWidth/2,a={startx:i,stopx:i+fTt.activationWidth,actor:r.from,enabled:!0};gTt.activations.push(a)}break;case i.db.LINETYPE.ACTIVE_END:{let t=gTt.activations.map((t=>t.actor)).lastIndexOf(r.from);gTt.activations.splice(t,1).splice(0,1)}}void 0!==r.placement?(o=await LTt(r,e,i),r.noteModel=o,c.forEach((t=>{a=t,a.from=Cc.getMin(a.from,o.startx),a.to=Cc.getMax(a.to,o.startx+o.width),a.width=Cc.getMax(a.width,Math.abs(a.from-a.to))-fTt.labelBoxWidth}))):(s=NTt(r,e,i),r.msgModel=s,s.startx&&s.stopx&&c.length>0&&c.forEach((t=>{if(a=t,s.startx===s.stopx){let t=e.get(r.from),n=e.get(r.to);a.from=Cc.getMin(t.x-s.width/2,t.x-t.width/2,a.from),a.to=Cc.getMax(n.x+s.width/2,n.x+t.width/2,a.to),a.width=Cc.getMax(a.width,Math.abs(a.to-a.from))-fTt.labelBoxWidth}else a.from=Cc.getMin(s.startx,a.from),a.to=Cc.getMax(s.stopx,a.to),a.width=Cc.getMax(a.width,s.width)-fTt.labelBoxWidth})))}return gTt.activations=[],r.debug("Loop type widths:",l),l}),"calculateLoopBounds"),MTt={bounds:gTt,drawActors:kTt,drawActorsPopup:TTt,setConf:ETt,draw:STt}})),DTt={};E(DTt,{diagram:()=>OTt});var OTt,PTt,BTt,FTt,$Tt,zTt,UTt,GTt,qTt,YTt,jTt,HTt,WTt,VTt,XTt,KTt,ZTt,QTt,JTt,tEt,eEt,rEt,nEt,iEt,aEt,oEt,sEt,lEt,cEt,hEt,uEt,dEt,pEt,fEt,gEt,mEt,yEt,vEt,xEt,bEt,wEt,kEt,TEt,EEt,_Et,CEt,SEt,AEt,LEt,NEt,IEt,MEt,REt,DEt,OEt,PEt,BEt,FEt,$Et,zEt,UEt,GEt,qEt=k((()=>{zwt(),oTt(),sTt(),RTt(),OTt={parser:Fwt,db:Ekt,renderer:MTt,styles:Ckt,init:w((({wrap:t})=>{Ekt.setWrap(t)}),"init")}})),YEt=k((()=>{(PTt=function(){var t=w((function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r}),"o"),e=[1,17],r=[1,18],n=[1,19],i=[1,39],a=[1,40],o=[1,25],s=[1,23],l=[1,24],c=[1,31],h=[1,32],u=[1,33],d=[1,34],p=[1,35],f=[1,36],g=[1,26],m=[1,27],y=[1,28],v=[1,29],x=[1,43],b=[1,30],k=[1,42],T=[1,44],E=[1,41],_=[1,45],C=[1,9],S=[1,8,9],A=[1,56],L=[1,57],N=[1,58],I=[1,59],M=[1,60],R=[1,61],D=[1,62],O=[1,8,9,39],P=[1,74],B=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],F=[1,8,9,12,13,19,21,37,39,42,46,59,60,61,62,63,64,65,70,72,74,80,95,97,98],$=[13,74,80,95,97,98],z=[13,64,65,74,80,95,97,98],U=[13,59,60,61,62,63,74,80,95,97,98],G=[1,93],q=[1,110],Y=[1,108],j=[1,102],H=[1,103],W=[1,104],V=[1,105],X=[1,106],K=[1,107],Z=[1,109],Q=[1,8,9,37,39,42],J=[1,8,9,21],tt=[1,8,9,78],et=[1,8,9,21,73,74,78,80,81,82,83,84,85],rt={trace:w((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,styleStatement:27,cssClassStatement:28,noteStatement:29,direction:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,namespaceIdentifier:36,STRUCT_START:37,classStatements:38,STRUCT_STOP:39,NAMESPACE:40,classIdentifier:41,STYLE_SEPARATOR:42,members:43,CLASS:44,ANNOTATION_START:45,ANNOTATION_END:46,MEMBER:47,SEPARATOR:48,relation:49,NOTE_FOR:50,noteText:51,NOTE:52,direction_tb:53,direction_bt:54,direction_rl:55,direction_lr:56,relationType:57,lineType:58,AGGREGATION:59,EXTENSION:60,COMPOSITION:61,DEPENDENCY:62,LOLLIPOP:63,LINE:64,DOTTED_LINE:65,CALLBACK:66,LINK:67,LINK_TARGET:68,CLICK:69,CALLBACK_NAME:70,CALLBACK_ARGS:71,HREF:72,STYLE:73,ALPHA:74,stylesOpt:75,CSSCLASS:76,style:77,COMMA:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,commentToken:86,textToken:87,graphCodeTokens:88,textNoTagsToken:89,TAGSTART:90,TAGEND:91,"==":92,"--":93,DEFAULT:94,MINUS:95,keywords:96,UNICODE_TEXT:97,BQUOTE_STR:98,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",37:"STRUCT_START",39:"STRUCT_STOP",40:"NAMESPACE",42:"STYLE_SEPARATOR",44:"CLASS",45:"ANNOTATION_START",46:"ANNOTATION_END",47:"MEMBER",48:"SEPARATOR",50:"NOTE_FOR",52:"NOTE",53:"direction_tb",54:"direction_bt",55:"direction_rl",56:"direction_lr",59:"AGGREGATION",60:"EXTENSION",61:"COMPOSITION",62:"DEPENDENCY",63:"LOLLIPOP",64:"LINE",65:"DOTTED_LINE",66:"CALLBACK",67:"LINK",68:"LINK_TARGET",69:"CLICK",70:"CALLBACK_NAME",71:"CALLBACK_ARGS",72:"HREF",73:"STYLE",74:"ALPHA",76:"CSSCLASS",78:"COMMA",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",88:"graphCodeTokens",90:"TAGSTART",91:"TAGEND",92:"==",93:"--",94:"DEFAULT",95:"MINUS",96:"keywords",97:"UNICODE_TEXT",98:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[36,2],[38,1],[38,2],[38,3],[23,1],[23,3],[23,4],[23,6],[41,2],[41,3],[25,4],[43,1],[43,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[29,3],[29,2],[30,1],[30,1],[30,1],[30,1],[49,3],[49,2],[49,2],[49,1],[57,1],[57,1],[57,1],[57,1],[57,1],[58,1],[58,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[28,3],[75,1],[75,3],[77,1],[77,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[86,1],[86,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[89,1],[89,1],[89,1],[89,1],[16,1],[16,1],[16,1],[16,1],[18,1],[51,1]],performAction:w((function(t,e,r,n,i,a,o){var s=a.length-1;switch(i){case 8:this.$=a[s-1];break;case 9:case 11:case 12:this.$=a[s];break;case 10:case 13:case 89:this.$=a[s-1]+a[s];break;case 14:case 15:this.$=a[s-1]+"~"+a[s]+"~";break;case 16:n.addRelation(a[s]);break;case 17:a[s-1].title=n.cleanupLabel(a[s]),n.addRelation(a[s-1]);break;case 27:this.$=a[s].trim(),n.setAccTitle(this.$);break;case 28:case 29:this.$=a[s].trim(),n.setAccDescription(this.$);break;case 30:n.addClassesToNamespace(a[s-3],a[s-1]);break;case 31:n.addClassesToNamespace(a[s-4],a[s-1]);break;case 32:this.$=a[s],n.addNamespace(a[s]);break;case 33:case 43:case 86:this.$=[a[s]];break;case 34:this.$=[a[s-1]];break;case 35:a[s].unshift(a[s-2]),this.$=a[s];break;case 37:n.setCssClass(a[s-2],a[s]);break;case 38:n.addMembers(a[s-3],a[s-1]);break;case 39:n.setCssClass(a[s-5],a[s-3]),n.addMembers(a[s-5],a[s-1]);break;case 40:this.$=a[s],n.addClass(a[s]);break;case 41:this.$=a[s-1],n.addClass(a[s-1]),n.setClassLabel(a[s-1],a[s]);break;case 42:n.addAnnotation(a[s],a[s-2]);break;case 44:a[s].push(a[s-1]),this.$=a[s];break;case 45:case 47:case 48:break;case 46:n.addMember(a[s-1],n.cleanupLabel(a[s]));break;case 49:this.$={id1:a[s-2],id2:a[s],relation:a[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:a[s-3],id2:a[s],relation:a[s-1],relationTitle1:a[s-2],relationTitle2:"none"};break;case 51:this.$={id1:a[s-3],id2:a[s],relation:a[s-2],relationTitle1:"none",relationTitle2:a[s-1]};break;case 52:this.$={id1:a[s-4],id2:a[s],relation:a[s-2],relationTitle1:a[s-3],relationTitle2:a[s-1]};break;case 53:n.addNote(a[s],a[s-1]);break;case 54:n.addNote(a[s]);break;case 55:n.setDirection("TB");break;case 56:n.setDirection("BT");break;case 57:n.setDirection("RL");break;case 58:n.setDirection("LR");break;case 59:this.$={type1:a[s-2],type2:a[s],lineType:a[s-1]};break;case 60:this.$={type1:"none",type2:a[s],lineType:a[s-1]};break;case 61:this.$={type1:a[s-1],type2:"none",lineType:a[s]};break;case 62:this.$={type1:"none",type2:"none",lineType:a[s]};break;case 63:this.$=n.relationType.AGGREGATION;break;case 64:this.$=n.relationType.EXTENSION;break;case 65:this.$=n.relationType.COMPOSITION;break;case 66:this.$=n.relationType.DEPENDENCY;break;case 67:this.$=n.relationType.LOLLIPOP;break;case 68:this.$=n.lineType.LINE;break;case 69:this.$=n.lineType.DOTTED_LINE;break;case 70:case 76:this.$=a[s-2],n.setClickEvent(a[s-1],a[s]);break;case 71:case 77:this.$=a[s-3],n.setClickEvent(a[s-2],a[s-1]),n.setTooltip(a[s-2],a[s]);break;case 72:this.$=a[s-2],n.setLink(a[s-1],a[s]);break;case 73:this.$=a[s-3],n.setLink(a[s-2],a[s-1],a[s]);break;case 74:this.$=a[s-3],n.setLink(a[s-2],a[s-1]),n.setTooltip(a[s-2],a[s]);break;case 75:this.$=a[s-4],n.setLink(a[s-3],a[s-2],a[s]),n.setTooltip(a[s-3],a[s-1]);break;case 78:this.$=a[s-3],n.setClickEvent(a[s-2],a[s-1],a[s]);break;case 79:this.$=a[s-4],n.setClickEvent(a[s-3],a[s-2],a[s-1]),n.setTooltip(a[s-3],a[s]);break;case 80:this.$=a[s-3],n.setLink(a[s-2],a[s]);break;case 81:this.$=a[s-4],n.setLink(a[s-3],a[s-1],a[s]);break;case 82:this.$=a[s-4],n.setLink(a[s-3],a[s-1]),n.setTooltip(a[s-3],a[s]);break;case 83:this.$=a[s-5],n.setLink(a[s-4],a[s-2],a[s]),n.setTooltip(a[s-4],a[s-1]);break;case 84:this.$=a[s-2],n.setCssStyle(a[s-1],a[s]);break;case 85:n.setCssClass(a[s-1],a[s]);break;case 87:a[s-2].push(a[s]),this.$=a[s-2]}}),"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:e,33:r,35:n,36:21,40:i,41:22,44:a,45:o,47:s,48:l,50:c,52:h,53:u,54:d,55:p,56:f,66:g,67:m,69:y,73:v,74:x,76:b,80:k,95:T,97:E,98:_},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(C,[2,5],{8:[1,46]}),{8:[1,47]},t(S,[2,16],{21:[1,48]}),t(S,[2,18]),t(S,[2,19]),t(S,[2,20]),t(S,[2,21]),t(S,[2,22]),t(S,[2,23]),t(S,[2,24]),t(S,[2,25]),t(S,[2,26]),{32:[1,49]},{34:[1,50]},t(S,[2,29]),t(S,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:A,60:L,61:N,62:I,63:M,64:R,65:D}),{37:[1,63]},t(O,[2,36],{37:[1,65],42:[1,64]}),t(S,[2,47]),t(S,[2,48]),{16:66,74:x,80:k,95:T,97:E},{16:37,17:67,18:38,74:x,80:k,95:T,97:E,98:_},{16:37,17:68,18:38,74:x,80:k,95:T,97:E,98:_},{16:37,17:69,18:38,74:x,80:k,95:T,97:E,98:_},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:x,80:k,95:T,97:E,98:_},{13:P,51:73},t(S,[2,55]),t(S,[2,56]),t(S,[2,57]),t(S,[2,58]),t(B,[2,11],{16:37,18:38,17:75,19:[1,76],74:x,80:k,95:T,97:E,98:_}),t(B,[2,12],{19:[1,77]}),{15:78,16:79,74:x,80:k,95:T,97:E},{16:37,17:80,18:38,74:x,80:k,95:T,97:E,98:_},t(F,[2,112]),t(F,[2,113]),t(F,[2,114]),t(F,[2,115]),t([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),t(C,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,17:20,36:21,41:22,16:37,18:38,5:81,31:e,33:r,35:n,40:i,44:a,45:o,47:s,48:l,50:c,52:h,53:u,54:d,55:p,56:f,66:g,67:m,69:y,73:v,74:x,76:b,80:k,95:T,97:E,98:_}),{5:82,10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:e,33:r,35:n,36:21,40:i,41:22,44:a,45:o,47:s,48:l,50:c,52:h,53:u,54:d,55:p,56:f,66:g,67:m,69:y,73:v,74:x,76:b,80:k,95:T,97:E,98:_},t(S,[2,17]),t(S,[2,27]),t(S,[2,28]),{13:[1,84],16:37,17:83,18:38,74:x,80:k,95:T,97:E,98:_},{49:85,57:54,58:55,59:A,60:L,61:N,62:I,63:M,64:R,65:D},t(S,[2,46]),{58:86,64:R,65:D},t($,[2,62],{57:87,59:A,60:L,61:N,62:I,63:M}),t(z,[2,63]),t(z,[2,64]),t(z,[2,65]),t(z,[2,66]),t(z,[2,67]),t(U,[2,68]),t(U,[2,69]),{8:[1,89],23:90,38:88,41:22,44:a},{16:91,74:x,80:k,95:T,97:E},{43:92,47:G},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:q,73:Y,74:j,75:99,77:100,79:101,80:H,81:W,82:V,83:X,84:K,85:Z},{74:[1,111]},{13:P,51:112},t(S,[2,54]),t(S,[2,117]),t(B,[2,13]),t(B,[2,14]),t(B,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:x,80:k,95:T,97:E},t(Q,[2,40],{11:114,12:[1,115]}),t(C,[2,7]),{9:[1,116]},t(J,[2,49]),{16:37,17:117,18:38,74:x,80:k,95:T,97:E,98:_},{13:[1,119],16:37,17:118,18:38,74:x,80:k,95:T,97:E,98:_},t($,[2,61],{57:120,59:A,60:L,61:N,62:I,63:M}),t($,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:a},{8:[1,123],39:[2,33]},t(O,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:G},{16:37,17:127,18:38,74:x,80:k,95:T,97:E,98:_},t(S,[2,70],{13:[1,128]}),t(S,[2,72],{13:[1,130],68:[1,129]}),t(S,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},t(S,[2,84],{78:[1,134]}),t(tt,[2,86],{79:135,21:q,73:Y,74:j,80:H,81:W,82:V,83:X,84:K,85:Z}),t(et,[2,88]),t(et,[2,90]),t(et,[2,91]),t(et,[2,92]),t(et,[2,93]),t(et,[2,94]),t(et,[2,95]),t(et,[2,96]),t(et,[2,97]),t(et,[2,98]),t(S,[2,85]),t(S,[2,53]),{37:[2,10]},t(Q,[2,41]),{13:[1,136]},{1:[2,4]},t(J,[2,51]),t(J,[2,50]),{16:37,17:137,18:38,74:x,80:k,95:T,97:E,98:_},t($,[2,59]),t(S,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:a},{43:140,47:G},t(O,[2,38]),{39:[2,44]},t(S,[2,42]),t(S,[2,71]),t(S,[2,73]),t(S,[2,74],{68:[1,141]}),t(S,[2,77]),t(S,[2,78],{13:[1,142]}),t(S,[2,80],{13:[1,144],68:[1,143]}),{21:q,73:Y,74:j,77:145,79:101,80:H,81:W,82:V,83:X,84:K,85:Z},t(et,[2,89]),{14:[1,146]},t(J,[2,52]),t(S,[2,31]),{39:[2,35]},{39:[1,147]},t(S,[2,75]),t(S,[2,79]),t(S,[2,81]),t(S,[2,82],{68:[1,148]}),t(tt,[2,87],{79:135,21:q,73:Y,74:j,80:H,81:W,82:V,83:X,84:K,85:Z}),t(Q,[2,8]),t(O,[2,39]),t(S,[2,83])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],78:[2,32],113:[2,10],116:[2,4],126:[2,44],139:[2,35]},parseError:w((function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)}),"parseError"),parse:w((function(t){var e=this,r=[0],n=[],i=[null],a=[],o=this.table,s="",l=0,c=0,h=0,u=a.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,typeof d.yylloc>"u"&&(d.yylloc={});var g=d.yylloc;a.push(g);var m=d.options&&d.options.ranges;function y(){var t;return"number"!=typeof(t=n.pop()||d.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,w((function(t){r.length=r.length-2*t,i.length=i.length-t,a.length=a.length-t}),"popStack"),w(y,"lex");for(var v,x,b,k,T,E,_,C,S,A={};;){if(b=r[r.length-1],this.defaultActions[b]?k=this.defaultActions[b]:((null===v||typeof v>"u")&&(v=y()),k=o[b]&&o[b][v]),typeof k>"u"||!k.length||!k[0]){var L;for(E in S=[],o[b])this.terminals_[E]&&E>2&&S.push("'"+this.terminals_[E]+"'");L=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==v?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(L,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:g,expected:S})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(k[0]){case 1:r.push(v),i.push(d.yytext),a.push(d.yylloc),r.push(k[1]),v=null,x?(v=x,x=null):(c=d.yyleng,s=d.yytext,l=d.yylineno,g=d.yylloc,h>0&&h--);break;case 2:if(_=this.productions_[k[1]][1],A.$=i[i.length-_],A._$={first_line:a[a.length-(_||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(_||1)].first_column,last_column:a[a.length-1].last_column},m&&(A._$.range=[a[a.length-(_||1)].range[0],a[a.length-1].range[1]]),typeof(T=this.performAction.apply(A,[s,c,l,p.yy,k[1],i,a].concat(u)))<"u")return T;_&&(r=r.slice(0,-1*_*2),i=i.slice(0,-1*_),a=a.slice(0,-1*_)),r.push(this.productions_[k[1]][0]),i.push(A.$),a.push(A._$),C=o[r[r.length-2]][r[r.length-1]],r.push(C);break;case 3:return!0}}return!0}),"parse")},nt={EOF:1,parseError:w((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:w((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:w((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:w((function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:w((function(){return this._more=!0,this}),"more"),reject:w((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:w((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:w((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:w((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:w((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:w((function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:w((function(){if(this.done)return this.EOF;var t,e,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:w((function(){return this.next()||this.lex()}),"lex"),begin:w((function(t){this.conditionStack.push(t)}),"begin"),popState:w((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:w((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:w((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:w((function(t){this.begin(t)}),"pushState"),stateStackSize:w((function(){return this.conditionStack.length}),"stateStackSize"),options:{},performAction:w((function(t,e,r,n){switch(r){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:case 5:case 14:case 30:case 35:case 39:case 46:break;case 6:return this.begin("acc_title"),31;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),33;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 19:case 22:case 24:case 57:case 60:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 34:return 8;case 15:case 16:return 7;case 17:case 36:case 44:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 70;case 23:return 71;case 25:return"STR";case 26:this.begin("string");break;case 27:return 73;case 28:return this.begin("namespace"),40;case 29:case 38:return this.popState(),8;case 31:return this.begin("namespace-body"),37;case 32:case 42:return this.popState(),39;case 33:case 43:return"EOF_IN_STRUCT";case 37:return this.begin("class"),44;case 40:return this.popState(),this.popState(),39;case 41:return this.begin("class-body"),37;case 45:return"OPEN_IN_STRUCT";case 47:return"MEMBER";case 48:return 76;case 49:return 66;case 50:return 67;case 51:return 69;case 52:return 50;case 53:return 52;case 54:return 45;case 55:return 46;case 56:return 72;case 58:return"GENERICTYPE";case 59:this.begin("generic");break;case 61:return"BQUOTE_STR";case 62:this.begin("bqstring");break;case 63:case 64:case 65:case 66:return 68;case 67:case 68:return 60;case 69:case 70:return 62;case 71:return 61;case 72:return 59;case 73:return 63;case 74:return 64;case 75:return 65;case 76:return 21;case 77:return 42;case 78:return 95;case 79:return"DOT";case 80:return"PLUS";case 81:return 81;case 82:return 78;case 83:case 84:return 84;case 85:return 85;case 86:case 87:return"EQUALS";case 88:return 74;case 89:return 12;case 90:return 14;case 91:return"PUNCTUATION";case 92:return 80;case 93:return 97;case 94:case 95:return 83;case 96:return 9}}),"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,32,33,34,35,36,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},namespace:{rules:[26,28,29,30,31,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},"class-body":{rules:[26,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},class:{rules:[26,38,39,40,41,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_descr:{rules:[9,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},acc_title:{rules:[7,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_args:{rules:[22,23,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},callback_name:{rules:[19,20,21,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},href:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},struct:{rules:[26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},generic:{rules:[26,48,49,50,51,52,53,54,55,56,57,58,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},bqstring:{rules:[26,48,49,50,51,52,53,54,55,56,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},string:{rules:[24,25,26,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,85,86,87,88,89,90,91,92,93,94,96],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,37,48,49,50,51,52,53,54,55,56,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96],inclusive:!0}}};function it(){this.yy={}}return rt.lexer=nt,w(it,"Parser"),it.prototype=rt,rt.Parser=it,new it}()).parser=PTt,BTt=PTt})),jEt=k((()=>{Qh(),Oc(),FTt=["#","+","~","-",""],$Tt=class{static{w(this,"ClassMember")}constructor(t,e){this.memberType=e,this.visibility="",this.classifier="";let r=sc(t,Qc());this.parseMember(r)}getDisplayDetails(){let t=this.visibility+yc(this.id);return"method"===this.memberType&&(t+=`(${yc(this.parameters.trim())})`,this.returnType&&(t+=" : "+yc(this.returnType))),t=t.trim(),{displayText:t,cssStyle:this.parseClassifier()}}parseMember(t){let e="";if("method"===this.memberType){let r=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(t);if(r){let t=r[1]?r[1].trim():"";if(FTt.includes(t)&&(this.visibility=t),this.id=r[2].trim(),this.parameters=r[3]?r[3].trim():"",e=r[4]?r[4].trim():"",this.returnType=r[5]?r[5].trim():"",""===e){let t=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(t)&&(e=t,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{let r=t.length,n=t.substring(0,1),i=t.substring(r-1);FTt.includes(n)&&(this.visibility=n),/[$*]/.exec(i)&&(e=i),this.id=t.substring(""===this.visibility?0:1,""===e?r:r-1)}this.classifier=e}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}})),HEt=k((()=>{jC(),L(),Qh(),Oc(),mD(),Zh(),jEt(),zTt="classId-",UTt=[],GTt=new Map,qTt=[],YTt=0,jTt=new Map,HTt=0,WTt=[],VTt=w((t=>Cc.sanitizeText(t,Qc())),"sanitizeText"),XTt=w((function(t){let e=Cc.sanitizeText(t,Qc()),r="",n=e;if(e.indexOf("~")>0){let t=e.split("~");n=VTt(t[0]),r=VTt(t[1])}return{className:n,type:r}}),"splitClassNameAndType"),KTt=w((function(t,e){let r=Cc.sanitizeText(t,Qc());e&&(e=VTt(e));let{className:n}=XTt(r);GTt.get(n).label=e}),"setClassLabel"),ZTt=w((function(t){let e=Cc.sanitizeText(t,Qc()),{className:r,type:n}=XTt(e);if(GTt.has(r))return;let i=Cc.sanitizeText(r,Qc());GTt.set(i,{id:i,type:n,label:i,cssClasses:[],methods:[],members:[],annotations:[],styles:[],domId:zTt+i+"-"+YTt}),YTt++}),"addClass"),QTt=w((function(t){let e=Cc.sanitizeText(t,Qc());if(GTt.has(e))return GTt.get(e).domId;throw new Error("Class not found: "+e)}),"lookUpDomId"),JTt=w((function(){UTt=[],GTt=new Map,qTt=[],(WTt=[]).push(xEt),jTt=new Map,HTt=0,bEt="TB",qc()}),"clear"),tEt=w((function(t){return GTt.get(t)}),"getClass"),eEt=w((function(){return GTt}),"getClasses"),rEt=w((function(){return UTt}),"getRelations"),nEt=w((function(){return qTt}),"getNotes"),iEt=w((function(t){r.debug("Adding relation: "+JSON.stringify(t)),ZTt(t.id1),ZTt(t.id2),t.id1=XTt(t.id1).className,t.id2=XTt(t.id2).className,t.relationTitle1=Cc.sanitizeText(t.relationTitle1.trim(),Qc()),t.relationTitle2=Cc.sanitizeText(t.relationTitle2.trim(),Qc()),UTt.push(t)}),"addRelation"),aEt=w((function(t,e){let r=XTt(t).className;GTt.get(r).annotations.push(e)}),"addAnnotation"),oEt=w((function(t,e){ZTt(t);let r=XTt(t).className,n=GTt.get(r);if("string"==typeof e){let t=e.trim();t.startsWith("<<")&&t.endsWith(">>")?n.annotations.push(VTt(t.substring(2,t.length-2))):t.indexOf(")")>0?n.methods.push(new $Tt(t,"method")):t&&n.members.push(new $Tt(t,"attribute"))}}),"addMember"),sEt=w((function(t,e){Array.isArray(e)&&(e.reverse(),e.forEach((e=>oEt(t,e))))}),"addMembers"),lEt=w((function(t,e){let r={id:`note${qTt.length}`,class:e,text:t};qTt.push(r)}),"addNote"),cEt=w((function(t){return t.startsWith(":")&&(t=t.substring(1)),VTt(t.trim())}),"cleanupLabel"),hEt=w((function(t,e){t.split(",").forEach((function(t){let r=t;/\d/.exec(t[0])&&(r=zTt+r);let n=GTt.get(r);n&&n.cssClasses.push(e)}))}),"setCssClass"),uEt=w((function(t,e){t.split(",").forEach((function(t){void 0!==e&&(GTt.get(t).tooltip=VTt(e))}))}),"setTooltip"),dEt=w((function(t,e){return e&&jTt.has(e)?jTt.get(e).classes.get(t).tooltip:GTt.get(t).tooltip}),"getTooltip"),pEt=w((function(t,e,r){let n=Qc();t.split(",").forEach((function(t){let i=t;/\d/.exec(t[0])&&(i=zTt+i);let a=GTt.get(i);a&&(a.link=dD.formatUrl(e,n),"sandbox"===n.securityLevel?a.linkTarget="_top":a.linkTarget="string"==typeof r?VTt(r):"_blank")})),hEt(t,"clickable")}),"setLink"),fEt=w((function(t,e,r){t.split(",").forEach((function(t){gEt(t,e,r),GTt.get(t).haveCallback=!0})),hEt(t,"clickable")}),"setClickEvent"),gEt=w((function(t,e,r){let n=Cc.sanitizeText(t,Qc());if("loose"!==Qc().securityLevel||void 0===e)return;let i=n;if(GTt.has(i)){let t=QTt(i),n=[];if("string"==typeof r){n=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t")),t.classed("hover",!0)})).on("mouseout",(function(){e.transition().duration(500).style("opacity",0),Qf(this).classed("hover",!1)}))}),"setupToolTips"),WTt.push(xEt),bEt="TB",wEt=w((()=>bEt),"getDirection"),kEt=w((t=>{bEt=t}),"setDirection"),TEt=w((function(t){jTt.has(t)||(jTt.set(t,{id:t,classes:new Map,children:{},domId:zTt+t+"-"+HTt}),HTt++)}),"addNamespace"),EEt=w((function(t){return jTt.get(t)}),"getNamespace"),_Et=w((function(){return jTt}),"getNamespaces"),CEt=w((function(t,e){if(jTt.has(t))for(let r of e){let{className:e}=XTt(r);GTt.get(e).parent=t,jTt.get(t).classes.set(e,GTt.get(e))}}),"addClassesToNamespace"),SEt=w((function(t,e){let r=GTt.get(t);if(e&&r)for(let t of e)t.includes(",")?r.styles.push(...t.split(",")):r.styles.push(t)}),"setCssStyle"),AEt={setAccTitle:Yc,getAccTitle:jc,getAccDescription:Wc,setAccDescription:Hc,getConfig:w((()=>Qc().class),"getConfig"),addClass:ZTt,bindFunctions:mEt,clear:JTt,getClass:tEt,getClasses:eEt,getNotes:nEt,addAnnotation:aEt,addNote:lEt,getRelations:rEt,addRelation:iEt,getDirection:wEt,setDirection:kEt,addMember:oEt,addMembers:sEt,cleanupLabel:cEt,lineType:yEt,relationType:vEt,setClickEvent:fEt,setCssClass:hEt,setLink:pEt,getTooltip:dEt,setTooltip:uEt,lookUpDomId:QTt,setDiagramTitle:Vc,getDiagramTitle:Xc,setClassLabel:KTt,addNamespace:TEt,addClassesToNamespace:CEt,getNamespace:EEt,getNamespaces:_Et,setCssStyle:SEt}})),WEt=k((()=>{LEt=w((t=>`g.classGroup text {\n fill: ${t.nodeBorder||t.classText};\n stroke: none;\n font-family: ${t.fontFamily};\n font-size: 10px;\n\n .title {\n font-weight: bolder;\n }\n\n}\n\n.nodeLabel, .edgeLabel {\n color: ${t.classText};\n}\n.edgeLabel .label rect {\n fill: ${t.mainBkg};\n}\n.label text {\n fill: ${t.classText};\n}\n.edgeLabel .label span {\n background: ${t.mainBkg};\n}\n\n.classTitle {\n font-weight: bolder;\n}\n.node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n\n\n.divider {\n stroke: ${t.nodeBorder};\n stroke-width: 1;\n}\n\ng.clickable {\n cursor: pointer;\n}\n\ng.classGroup rect {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n}\n\ng.classGroup line {\n stroke: ${t.nodeBorder};\n stroke-width: 1;\n}\n\n.classLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ${t.mainBkg};\n opacity: 0.5;\n}\n\n.classLabel .label {\n fill: ${t.nodeBorder};\n font-size: 10px;\n}\n\n.relation {\n stroke: ${t.lineColor};\n stroke-width: 1;\n fill: none;\n}\n\n.dashed-line{\n stroke-dasharray: 3;\n}\n\n.dotted-line{\n stroke-dasharray: 1 2;\n}\n\n#compositionStart, .composition {\n fill: ${t.lineColor} !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#compositionEnd, .composition {\n fill: ${t.lineColor} !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ${t.lineColor} !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ${t.lineColor} !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#extensionStart, .extension {\n fill: transparent !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#extensionEnd, .extension {\n fill: transparent !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#aggregationStart, .aggregation {\n fill: transparent !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#aggregationEnd, .aggregation {\n fill: transparent !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#lollipopStart, .lollipop {\n fill: ${t.mainBkg} !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n#lollipopEnd, .lollipop {\n fill: ${t.mainBkg} !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n}\n\n.edgeTerminals {\n font-size: 11px;\n line-height: initial;\n}\n\n.classTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n}\n`),"getStyles"),NEt=LEt})),VEt=k((()=>{jC(),mD(),L(),Oc(),IEt=0,MEt=w((function(t,e,n,i,a){let o=w((function(t){switch(t){case a.db.relationType.AGGREGATION:return"aggregation";case a.db.relationType.EXTENSION:return"extension";case a.db.relationType.COMPOSITION:return"composition";case a.db.relationType.DEPENDENCY:return"dependency";case a.db.relationType.LOLLIPOP:return"lollipop"}}),"getRelationType");e.points=e.points.filter((t=>!Number.isNaN(t.y)));let s=e.points,l=GE().x((function(t){return t.x})).y((function(t){return t.y})).curve(i_),c=t.append("path").attr("d",l(s)).attr("id","edge"+IEt).attr("class","relation"),h="";i.arrowMarkerAbsolute&&(h=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,h=h.replace(/\(/g,"\\("),h=h.replace(/\)/g,"\\)")),1==n.relation.lineType&&c.attr("class","relation dashed-line"),10==n.relation.lineType&&c.attr("class","relation dotted-line"),"none"!==n.relation.type1&&c.attr("marker-start","url("+h+"#"+o(n.relation.type1)+"Start)"),"none"!==n.relation.type2&&c.attr("marker-end","url("+h+"#"+o(n.relation.type2)+"End)");let u,d,p,f,g,m,y=e.points.length,v=dD.calcLabelPosition(e.points);if(u=v.x,d=v.y,y%2!=0&&y>1){let t=dD.calcCardinalityPosition("none"!==n.relation.type1,e.points,e.points[0]),i=dD.calcCardinalityPosition("none"!==n.relation.type2,e.points,e.points[y-1]);r.debug("cardinality_1_point "+JSON.stringify(t)),r.debug("cardinality_2_point "+JSON.stringify(i)),p=t.x,f=t.y,g=i.x,m=i.y}if(void 0!==n.title){let e=t.append("g").attr("class","classLabel"),r=e.append("text").attr("class","label").attr("x",u).attr("y",d).attr("fill","red").attr("text-anchor","middle").text(n.title);window.label=r;let a=r.node().getBBox();e.insert("rect",":first-child").attr("class","box").attr("x",a.x-i.padding/2).attr("y",a.y-i.padding/2).attr("width",a.width+i.padding).attr("height",a.height+i.padding)}r.info("Rendering relation "+JSON.stringify(n)),void 0!==n.relationTitle1&&"none"!==n.relationTitle1&&t.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",p).attr("y",f).attr("fill","black").attr("font-size","6").text(n.relationTitle1),void 0!==n.relationTitle2&&"none"!==n.relationTitle2&&t.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",g).attr("y",m).attr("fill","black").attr("font-size","6").text(n.relationTitle2),IEt++}),"drawEdge"),REt=w((function(t,e,n,i){r.debug("Rendering class ",e,n);let a,o=e.id,s={id:o,label:e.id,width:0,height:0},l=t.append("g").attr("id",i.db.lookUpDomId(o)).attr("class","classGroup");a=e.link?l.append("svg:a").attr("xlink:href",e.link).attr("target",e.linkTarget).append("text").attr("y",n.textHeight+n.padding).attr("x",0):l.append("text").attr("y",n.textHeight+n.padding).attr("x",0);let c=!0;e.annotations.forEach((function(t){let e=a.append("tspan").text("«"+t+"»");c||e.attr("dy",n.textHeight),c=!1}));let h=DEt(e),u=a.append("tspan").text(h).attr("class","title");c||u.attr("dy",n.textHeight);let d,p,f,g=a.node().getBBox().height;if(e.members.length>0){d=l.append("line").attr("x1",0).attr("y1",n.padding+g+n.dividerMargin/2).attr("y2",n.padding+g+n.dividerMargin/2);let t=l.append("text").attr("x",n.padding).attr("y",g+n.dividerMargin+n.textHeight).attr("fill","white").attr("class","classText");c=!0,e.members.forEach((function(e){PEt(t,e,c,n),c=!1})),p=t.node().getBBox()}if(e.methods.length>0){f=l.append("line").attr("x1",0).attr("y1",n.padding+g+n.dividerMargin+p.height).attr("y2",n.padding+g+n.dividerMargin+p.height);let t=l.append("text").attr("x",n.padding).attr("y",g+2*n.dividerMargin+p.height+n.textHeight).attr("fill","white").attr("class","classText");c=!0,e.methods.forEach((function(e){PEt(t,e,c,n),c=!1}))}let m=l.node().getBBox();var y=" ";e.cssClasses.length>0&&(y+=e.cssClasses.join(" "));let v=l.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",m.width+2*n.padding).attr("height",m.height+n.padding+.5*n.dividerMargin).attr("class",y).node().getBBox().width;return a.node().childNodes.forEach((function(t){t.setAttribute("x",(v-t.getBBox().width)/2)})),e.tooltip&&a.insert("title").text(e.tooltip),d&&d.attr("x2",v),f&&f.attr("x2",v),s.width=v,s.height=m.height+n.padding+.5*n.dividerMargin,s}),"drawClass"),DEt=w((function(t){let e=t.id;return t.type&&(e+="<"+yc(t.type)+">"),e}),"getClassTitleString"),OEt=w((function(t,e,n,i){r.debug("Rendering note ",e,n);let a=e.id,o={id:a,text:e.text,width:0,height:0},s=t.append("g").attr("id",a).attr("class","classGroup"),l=s.append("text").attr("y",n.textHeight+n.padding).attr("x",0),c=JSON.parse(`"${e.text}"`).split("\n");c.forEach((function(t){r.debug(`Adding line: ${t}`),l.append("tspan").text(t).attr("class","title").attr("dy",n.textHeight)}));let h=s.node().getBBox(),u=s.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",h.width+2*n.padding).attr("height",h.height+c.length*n.textHeight+n.padding+.5*n.dividerMargin).node().getBBox().width;return l.node().childNodes.forEach((function(t){t.setAttribute("x",(u-t.getBBox().width)/2)})),o.width=u,o.height=h.height+c.length*n.textHeight+n.padding+.5*n.dividerMargin,o}),"drawNote"),PEt=w((function(t,e,r,n){let{displayText:i,cssStyle:a}=e.getDisplayDetails(),o=t.append("tspan").attr("x",n.padding).text(i);""!==a&&o.attr("style",e.cssStyle),r||o.attr("dy",n.textHeight)}),"addTspan"),BEt={getClassTitleString:DEt,drawClass:REt,drawEdge:MEt,drawNote:OEt}})),XEt=k((()=>{jC(),N3(),y1(),L(),VEt(),Pc(),Qh(),FEt={},$Et=w((function(t){let e=Object.entries(FEt).find((e=>e[1].label===t));if(e)return e[0]}),"getGraphId"),zEt=w((function(t){t.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),t.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")}),"insertMarkers"),UEt=w((function(t,e,n,i){let a=Qc().class;FEt={},r.info("Rendering diagram "+t);let o,s=Qc().securityLevel;"sandbox"===s&&(o=Qf("#i"+e));let l=Qf("sandbox"===s?o.nodes()[0].contentDocument.body:"body"),c=l.select(`[id='${e}']`);zEt(c);let h=new g1({multigraph:!0});h.setGraph({isMultiGraph:!0}),h.setDefaultEdgeLabel((function(){return{}}));let u=i.db.getClasses(),d=[...u.keys()];for(let t of d){let e=u.get(t),n=BEt.drawClass(c,e,a,i);FEt[n.id]=n,h.setNode(n.id,n),r.info("Org height: "+n.height)}i.db.getRelations().forEach((function(t){r.info("tjoho"+$Et(t.id1)+$Et(t.id2)+JSON.stringify(t)),h.setEdge($Et(t.id1),$Et(t.id2),{relation:t},t.title||"DEFAULT")})),i.db.getNotes().forEach((function(t){r.debug(`Adding note: ${JSON.stringify(t)}`);let e=BEt.drawNote(c,t,a,i);FEt[e.id]=e,h.setNode(e.id,e),t.class&&u.has(t.class)&&h.setEdge(t.id,$Et(t.class),{relation:{id1:t.id,id2:t.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")})),n3(h),h.nodes().forEach((function(t){void 0!==t&&void 0!==h.node(t)&&(r.debug("Node "+t+": "+JSON.stringify(h.node(t))),l.select("#"+(i.db.lookUpDomId(t)||t)).attr("transform","translate("+(h.node(t).x-h.node(t).width/2)+","+(h.node(t).y-h.node(t).height/2)+" )"))})),h.edges().forEach((function(t){void 0!==t&&void 0!==h.edge(t)&&(r.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(h.edge(t))),BEt.drawEdge(c,h.edge(t),h.edge(t).relation,a,i))}));let p=c.node().getBBox(),f=p.width+40,g=p.height+40;Lc(c,g,f,a.useMaxWidth);let m=`${p.x-20} ${p.y-20} ${f} ${g}`;r.debug(`viewBox ${m}`),c.attr("viewBox",m)}),"draw"),GEt={draw:UEt}})),KEt={};E(KEt,{diagram:()=>ZEt});var ZEt,QEt,JEt,t_t,e_t,r_t,n_t,i_t,a_t,o_t,s_t,l_t,c_t,h_t,u_t,d_t,p_t,f_t,g_t,m_t,y_t,v_t,x_t,b_t,w_t,k_t,T_t,E_t,__t,C_t,S_t,A_t,L_t,N_t,I_t,M_t,R_t,D_t,O_t=k((()=>{YEt(),HEt(),WEt(),XEt(),ZEt={parser:BTt,db:AEt,renderer:GEt,styles:NEt,init:w((t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,AEt.clear()}),"init")}})),P_t=k((()=>{L(),QEt=w(((t,e,r,n)=>{e.forEach((e=>{l_t[e](t,r,n)}))}),"insertMarkers"),JEt=w(((t,e,n)=>{r.trace("Making markers for ",n),t.append("defs").append("marker").attr("id",n+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",n+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")}),"extension"),t_t=w(((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")}),"composition"),e_t=w(((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")}),"aggregation"),r_t=w(((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")}),"dependency"),n_t=w(((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)}),"lollipop"),i_t=w(((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")}),"point"),a_t=w(((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")}),"circle"),o_t=w(((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")}),"cross"),s_t=w(((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}),"barb"),l_t={extension:JEt,composition:t_t,aggregation:e_t,dependency:r_t,lollipop:n_t,point:i_t,circle:a_t,cross:o_t,barb:s_t},c_t=QEt})),B_t=k((()=>{L(),X3(),y1(),h_t={},u_t={},d_t={},p_t=w((()=>{u_t={},d_t={},h_t={}}),"clear"),f_t=w(((t,e)=>(r.trace("In isDescendant",e," ",t," = ",u_t[e].includes(t)),!!u_t[e].includes(t))),"isDescendant"),g_t=w(((t,e)=>(r.info("Descendants of ",e," is ",u_t[e]),r.info("Edge is ",t),t.v!==e&&t.w!==e&&(u_t[e]?u_t[e].includes(t.v)||f_t(t.v,e)||f_t(t.w,e)||u_t[e].includes(t.w):(r.debug("Tilt, ",e,",not in descendants"),!1)))),"edgeInCluster"),m_t=w(((t,e,n,i)=>{r.warn("Copying children of ",t,"root",i,"data",e.node(t),i);let a=e.children(t)||[];t!==i&&a.push(t),r.warn("Copying (nodes) clusterId",t,"nodes",a),a.forEach((a=>{if(e.children(a).length>0)m_t(a,e,n,i);else{let o=e.node(a);r.info("cp ",a," to ",i," with parent ",t),n.setNode(a,o),i!==e.parent(a)&&(r.warn("Setting parent",a,e.parent(a)),n.setParent(a,e.parent(a))),t!==i&&a!==t?(r.debug("Setting parent",a,t),n.setParent(a,t)):(r.info("In copy ",t,"root",i,"data",e.node(t),i),r.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==i,"node!==clusterId",a!==t));let s=e.edges(a);r.debug("Copying Edges",s),s.forEach((a=>{r.info("Edge",a);let o=e.edge(a.v,a.w,a.name);r.info("Edge data",o,i);try{g_t(a,i)?(r.info("Copying as ",a.v,a.w,o,a.name),n.setEdge(a.v,a.w,o,a.name),r.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):r.info("Skipping copy of edge ",a.v,"--\x3e",a.w," rootId: ",i," clusterId:",t)}catch(t){r.error(t)}}))}r.debug("Removing node",a),e.removeNode(a)}))}),"copy"),y_t=w(((t,e)=>{let r=e.children(t),n=[...r];for(let i of r)d_t[i]=t,n=[...n,...y_t(i,e)];return n}),"extractDescendants"),v_t=w(((t,e)=>{r.trace("Searching",t);let n=e.children(t);if(r.trace("Searching children of id ",t,n),n.length<1)return r.trace("This is a valid node",t),t;for(let i of n){let n=v_t(i,e);if(n)return r.trace("Found replacement for",t," => ",n),n}}),"findNonClusterChild"),x_t=w((t=>h_t[t]&&h_t[t].externalConnections&&h_t[t]?h_t[t].id:t),"getAnchorId"),b_t=w(((t,e)=>{if(!t||e>10)r.debug("Opting out, no graph ");else{r.debug("Opting in, graph "),t.nodes().forEach((function(e){t.children(e).length>0&&(r.warn("Cluster identified",e," Replacement id in edges: ",v_t(e,t)),u_t[e]=y_t(e,t),h_t[e]={id:v_t(e,t),clusterData:t.node(e)})})),t.nodes().forEach((function(e){let n=t.children(e),i=t.edges();n.length>0?(r.debug("Cluster identified",e,u_t),i.forEach((t=>{t.v!==e&&t.w!==e&&f_t(t.v,e)^f_t(t.w,e)&&(r.warn("Edge: ",t," leaves cluster ",e),r.warn("Descendants of XXX ",e,": ",u_t[e]),h_t[e].externalConnections=!0)}))):r.debug("Not a cluster ",e,u_t)}));for(let e of Object.keys(h_t)){let r=h_t[e].id,n=t.parent(r);n!==e&&h_t[n]&&!h_t[n].externalConnections&&(h_t[e].id=n)}t.edges().forEach((function(e){let n=t.edge(e);r.warn("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),r.warn("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(t.edge(e)));let i=e.v,a=e.w;if(r.warn("Fix XXX",h_t,"ids:",e.v,e.w,"Translating: ",h_t[e.v]," --- ",h_t[e.w]),h_t[e.v]&&h_t[e.w]&&h_t[e.v]===h_t[e.w]){r.warn("Fixing and trixing link to self - removing XXX",e.v,e.w,e.name),r.warn("Fixing and trixing - removing XXX",e.v,e.w,e.name),i=x_t(e.v),a=x_t(e.w),t.removeEdge(e.v,e.w,e.name);let o=e.w+"---"+e.v;t.setNode(o,{domId:o,id:o,labelStyle:"",labelText:n.label,padding:0,shape:"labelRect",style:""});let s=structuredClone(n),l=structuredClone(n);s.label="",s.arrowTypeEnd="none",l.label="",s.fromCluster=e.v,l.toCluster=e.v,t.setEdge(i,o,s,e.name+"-cyclic-special"),t.setEdge(o,a,l,e.name+"-cyclic-special")}else if(h_t[e.v]||h_t[e.w]){if(r.warn("Fixing and trixing - removing XXX",e.v,e.w,e.name),i=x_t(e.v),a=x_t(e.w),t.removeEdge(e.v,e.w,e.name),i!==e.v){let r=t.parent(i);h_t[r].externalConnections=!0,n.fromCluster=e.v}if(a!==e.w){let r=t.parent(a);h_t[r].externalConnections=!0,n.toCluster=e.w}r.warn("Fix Replacing with XXX",i,a,e.name),t.setEdge(i,a,n,e.name)}})),r.warn("Adjusted Graph",I3(t)),w_t(t,0),r.trace(h_t)}}),"adjustClustersAndEdges"),w_t=w(((t,e)=>{if(r.warn("extractor - ",e,I3(t),t.children("D")),e>10)return void r.error("Bailing out");let n=t.nodes(),i=!1;for(let e of n){let r=t.children(e);i=i||r.length>0}if(i){r.debug("Nodes = ",n,e);for(let i of n)if(r.debug("Extracting node",i,h_t,h_t[i]&&!h_t[i].externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),h_t[i])if(!h_t[i].externalConnections&&t.children(i)&&t.children(i).length>0){r.warn("Cluster without external connections, without a parent and with children",i,e);let n="TB"===t.graph().rankdir?"LR":"TB";h_t[i]?.clusterData?.dir&&(n=h_t[i].clusterData.dir,r.warn("Fixing dir",h_t[i].clusterData.dir,n));let a=new g1({multigraph:!0,compound:!0}).setGraph({rankdir:n,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}}));r.warn("Old graph before copy",I3(t)),m_t(i,t,a,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:h_t[i].clusterData,labelText:h_t[i].labelText,graph:a}),r.warn("New graph after copy node: (",i,")",I3(a)),r.debug("Old graph after copy",I3(t))}else r.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!h_t[i].externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),r.debug(h_t);else r.debug("Not a cluster",i,e);n=t.nodes(),r.warn("New list of nodes",n);for(let i of n){let n=t.node(i);r.warn(" Now next level",i,n),n.clusterNode&&w_t(n.graph,e+1)}}else r.debug("Done, no node has children",t.nodes())}),"extractor"),k_t=w(((t,e)=>{if(0===e.length)return[];let r=Object.assign(e);return e.forEach((e=>{let n=t.children(e),i=k_t(t,n);r=[...r,...i]})),r}),"sorter"),T_t=w((t=>k_t(t,t.children())),"sortNodesByHierarchy")})),F_t=k((()=>{pF(),L(),WB(),GB(),jC(),Qh(),Oc(),i$(),E_t=w(((t,e)=>{r.info("Creating subgraph rect for ",e.id,e);let n=Qc(),i=t.insert("g").attr("class","cluster"+(e.class?" "+e.class:"")).attr("id",e.id),a=i.insert("rect",":first-child"),o=fc(n.flowchart.htmlLabels),s=i.insert("g").attr("class","cluster-label"),l="markdown"===e.labelType?UB(s,e.labelText,{style:e.labelStyle,useHtmlLabels:o},n):s.node().appendChild(HB(e.labelText,e.labelStyle,void 0,!0)),c=l.getBBox();if(fc(n.flowchart.htmlLabels)){let t=l.children[0],e=Qf(l);c=t.getBoundingClientRect(),e.attr("width",c.width),e.attr("height",c.height)}let h=0*e.padding,u=h/2,d=e.width<=c.width+h?c.width+h:e.width;e.width<=c.width+h?e.diff=(c.width-e.width)/2-e.padding/2:e.diff=-e.padding/2,r.trace("Data ",e,JSON.stringify(e)),a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-d/2).attr("y",e.y-e.height/2-u).attr("width",d).attr("height",e.height+h);let{subGraphTitleTopMargin:p}=e$(n);o?s.attr("transform",`translate(${e.x-c.width/2}, ${e.y-e.height/2+p})`):s.attr("transform",`translate(${e.x}, ${e.y-e.height/2+p})`);let f=a.node().getBBox();return e.width=f.width,e.height=f.height,e.intersect=function(t){return hF(e,t)},i}),"rect"),__t=w(((t,e)=>{let r=t.insert("g").attr("class","note-cluster").attr("id",e.id),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");let o=n.node().getBBox();return e.width=o.width,e.height=o.height,e.intersect=function(t){return hF(e,t)},r}),"noteGroup"),C_t=w(((t,e)=>{let r=Qc(),n=t.insert("g").attr("class",e.classes).attr("id",e.id),i=n.insert("rect",":first-child"),a=n.insert("g").attr("class","cluster-label"),o=n.append("rect"),s=a.node().appendChild(HB(e.labelText,e.labelStyle,void 0,!0)),l=s.getBBox();if(fc(r.flowchart.htmlLabels)){let t=s.children[0],e=Qf(s);l=t.getBoundingClientRect(),e.attr("width",l.width),e.attr("height",l.height)}l=s.getBBox();let c=0*e.padding,h=c/2,u=e.width<=l.width+e.padding?l.width+e.padding:e.width;e.width<=l.width+e.padding?e.diff=(l.width+0*e.padding-e.width)/2:e.diff=-e.padding/2,i.attr("class","outer").attr("x",e.x-u/2-h).attr("y",e.y-e.height/2-h).attr("width",u+c).attr("height",e.height+c),o.attr("class","inner").attr("x",e.x-u/2-h).attr("y",e.y-e.height/2-h+l.height-1).attr("width",u+c).attr("height",e.height+c-l.height-3);let{subGraphTitleTopMargin:d}=e$(r);a.attr("transform",`translate(${e.x-l.width/2}, ${e.y-e.height/2-e.padding/3+(fc(r.flowchart.htmlLabels)?5:3)+d})`);let p=i.node().getBBox();return e.height=p.height,e.intersect=function(t){return hF(e,t)},n}),"roundedWithTitle"),S_t=w(((t,e)=>{let r=t.insert("g").attr("class",e.classes).attr("id",e.id),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("class","divider").attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2).attr("width",e.width+i).attr("height",e.height+i);let o=n.node().getBBox();return e.width=o.width,e.height=o.height,e.diff=-e.padding/2,e.intersect=function(t){return hF(e,t)},r}),"divider"),A_t={rect:E_t,roundedWithTitle:C_t,noteGroup:__t,divider:S_t},L_t={},N_t=w(((t,e)=>{r.trace("Inserting cluster");let n=e.shape||"rect";L_t[e.id]=A_t[n](t,e)}),"insertCluster"),I_t=w((()=>{L_t={}}),"clear")})),$_t=k((()=>{L(),M_t=w(((t,e,r,n,i)=>{e.arrowTypeStart&&D_t(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&D_t(t,"end",e.arrowTypeEnd,r,n,i)}),"addEdgeMarkers"),R_t={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},D_t=w(((t,e,n,i,a,o)=>{let s=R_t[n];if(!s)return void r.warn(`Unknown arrow type: ${n}`);let l="start"===e?"Start":"End";t.attr(`marker-${e}`,`url(${i}#${a}_${o}-${s}${l})`)}),"addEdgeMarker")}));function z_t(t,e){Qc().flowchart.htmlLabels&&t&&(t.style.width=9*e.length+"px",t.style.height="12px")}var U_t,G_t,q_t,Y_t,j_t,H_t,W_t,V_t,X_t,K_t,Z_t,Q_t=k((()=>{L(),WB(),GB(),jC(),Qh(),mD(),Oc(),Yz(),i$(),$_t(),U_t={},G_t={},q_t=w((()=>{U_t={},G_t={}}),"clear"),Y_t=w(((t,e)=>{let r=Qc(),n=fc(r.flowchart.htmlLabels),i="markdown"===e.labelType?UB(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:!0},r):HB(e.label,e.labelStyle),a=t.insert("g").attr("class","edgeLabel"),o=a.insert("g").attr("class","label");o.node().appendChild(i);let s,l=i.getBBox();if(n){let t=i.children[0],e=Qf(i);l=t.getBoundingClientRect(),e.attr("width",l.width),e.attr("height",l.height)}if(o.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),U_t[e.id]=a,e.width=l.width,e.height=l.height,e.startLabelLeft){let r=HB(e.startLabelLeft,e.labelStyle),n=t.insert("g").attr("class","edgeTerminals"),i=n.insert("g").attr("class","inner");s=i.node().appendChild(r);let a=r.getBBox();i.attr("transform","translate("+-a.width/2+", "+-a.height/2+")"),G_t[e.id]||(G_t[e.id]={}),G_t[e.id].startLeft=n,z_t(s,e.startLabelLeft)}if(e.startLabelRight){let r=HB(e.startLabelRight,e.labelStyle),n=t.insert("g").attr("class","edgeTerminals"),i=n.insert("g").attr("class","inner");s=n.node().appendChild(r),i.node().appendChild(r);let a=r.getBBox();i.attr("transform","translate("+-a.width/2+", "+-a.height/2+")"),G_t[e.id]||(G_t[e.id]={}),G_t[e.id].startRight=n,z_t(s,e.startLabelRight)}if(e.endLabelLeft){let r=HB(e.endLabelLeft,e.labelStyle),n=t.insert("g").attr("class","edgeTerminals"),i=n.insert("g").attr("class","inner");s=i.node().appendChild(r);let a=r.getBBox();i.attr("transform","translate("+-a.width/2+", "+-a.height/2+")"),n.node().appendChild(r),G_t[e.id]||(G_t[e.id]={}),G_t[e.id].endLeft=n,z_t(s,e.endLabelLeft)}if(e.endLabelRight){let r=HB(e.endLabelRight,e.labelStyle),n=t.insert("g").attr("class","edgeTerminals"),i=n.insert("g").attr("class","inner");s=i.node().appendChild(r);let a=r.getBBox();i.attr("transform","translate("+-a.width/2+", "+-a.height/2+")"),n.node().appendChild(r),G_t[e.id]||(G_t[e.id]={}),G_t[e.id].endRight=n,z_t(s,e.endLabelRight)}return i}),"insertEdgeLabel"),w(z_t,"setTerminalWidth"),j_t=w(((t,e)=>{r.debug("Moving label abc88 ",t.id,t.label,U_t[t.id],e);let n=e.updatedPath?e.updatedPath:e.originalPath,i=Qc(),{subGraphTitleTotalMargin:a}=e$(i);if(t.label){let i=U_t[t.id],o=t.x,s=t.y;if(n){let i=dD.calcLabelPosition(n);r.debug("Moving label "+t.label+" from (",o,",",s,") to (",i.x,",",i.y,") abc88"),e.updatedPath&&(o=i.x,s=i.y)}i.attr("transform",`translate(${o}, ${s+a/2})`)}if(t.startLabelLeft){let e=G_t[t.id].startLeft,r=t.x,i=t.y;if(n){let e=dD.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",n);r=e.x,i=e.y}e.attr("transform",`translate(${r}, ${i})`)}if(t.startLabelRight){let e=G_t[t.id].startRight,r=t.x,i=t.y;if(n){let e=dD.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",n);r=e.x,i=e.y}e.attr("transform",`translate(${r}, ${i})`)}if(t.endLabelLeft){let e=G_t[t.id].endLeft,r=t.x,i=t.y;if(n){let e=dD.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",n);r=e.x,i=e.y}e.attr("transform",`translate(${r}, ${i})`)}if(t.endLabelRight){let e=G_t[t.id].endRight,r=t.x,i=t.y;if(n){let e=dD.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",n);r=e.x,i=e.y}e.attr("transform",`translate(${r}, ${i})`)}}),"positionEdgeLabel"),H_t=w(((t,e)=>{let r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),o=t.width/2,s=t.height/2;return i>=o||a>=s}),"outsideNode"),W_t=w(((t,e,n)=>{r.debug(`intersection calc abc89:\n outsidePoint: ${JSON.stringify(e)}\n insidePoint : ${JSON.stringify(n)}\n node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let i=t.x,a=t.y,o=Math.abs(i-n.x),s=t.width/2,l=n.xMath.abs(i-e.x)*c){let t=n.y{r.debug("abc88 cutPathAtIntersect",t,e);let n=[],i=t[0],a=!1;return t.forEach((t=>{if(H_t(e,t)||a)i=t,a||n.push(t);else{let r=W_t(e,i,t),o=!1;n.forEach((t=>{o=o||t.x===r.x&&t.y===r.y})),n.some((t=>t.x===r.x&&t.y===r.y))||n.push(r),a=!0}})),n}),"cutPathAtIntersect"),X_t=w((function(t,e,n,i,a,o,s){let l=n.points;r.debug("abc88 InsertEdge: edge=",n,"e=",e);let c=!1,h=o.node(e.v);var u=o.node(e.w);u?.intersect&&h?.intersect&&(l=l.slice(1,n.points.length-1),l.unshift(h.intersect(l[0])),l.push(u.intersect(l[l.length-1]))),n.toCluster&&(r.debug("to cluster abc88",i[n.toCluster]),l=V_t(n.points,i[n.toCluster].node),c=!0),n.fromCluster&&(r.debug("from cluster abc88",i[n.fromCluster]),l=V_t(l.reverse(),i[n.fromCluster].node).reverse(),c=!0);let d=l.filter((t=>!Number.isNaN(t.y))),p=i_;n.curve&&("graph"===a||"flowchart"===a)&&(p=n.curve);let f,{x:g,y:m}=zz(n),y=GE().x(g).y(m).curve(p);switch(n.thickness){case"normal":f="edge-thickness-normal";break;case"thick":case"invisible":f="edge-thickness-thick";break;default:f=""}switch(n.pattern){case"solid":f+=" edge-pattern-solid";break;case"dotted":f+=" edge-pattern-dotted";break;case"dashed":f+=" edge-pattern-dashed"}let v=t.append("path").attr("d",y(d)).attr("id",n.id).attr("class"," "+f+(n.classes?" "+n.classes:"")).attr("style",n.style),x="";(Qc().flowchart.arrowMarkerAbsolute||Qc().state.arrowMarkerAbsolute)&&(x=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,x=x.replace(/\(/g,"\\("),x=x.replace(/\)/g,"\\)")),M_t(v,n,x,s,a);let b={};return c&&(b.updatedPath=l),b.originalPath=n.points,b}),"insertEdge")})),J_t=k((()=>{N3(),X3(),P_t(),bF(),B_t(),r$(),F_t(),Q_t(),L(),i$(),Qh(),K_t=w((async(t,e,n,i,a,o)=>{r.info("Graph in recursive render: XXX",I3(e),a);let s=e.graph().rankdir;r.trace("Dir in recursive render - dir:",s);let l=t.insert("g").attr("class","root");e.nodes()?r.info("Recursive render XXX",e.nodes()):r.info("No nodes found for",e),e.edges().length>0&&r.trace("Recursive edges",e.edge(e.edges()[0]));let c=l.insert("g").attr("class","clusters"),h=l.insert("g").attr("class","edgePaths"),u=l.insert("g").attr("class","edgeLabels"),d=l.insert("g").attr("class","nodes");await Promise.all(e.nodes().map((async function(t){let l=e.node(t);if(void 0!==a){let n=JSON.parse(JSON.stringify(a.clusterData));r.info("Setting data for cluster XXX (",t,") ",n,a),e.setNode(a.id,n),e.parent(t)||(r.trace("Setting parent",t,a.id),e.setParent(t,a.id,n))}if(r.info("(Insert) Node XXX"+t+": "+JSON.stringify(e.node(t))),l?.clusterNode){r.info("Cluster identified",t,l.width,e.node(t));let{ranksep:a,nodesep:s}=e.graph();l.graph.setGraph({...l.graph.graph(),ranksep:a,nodesep:s});let c=await K_t(d,l.graph,n,i,e.node(t),o),h=c.elem;yF(l,h),l.diff=c.diff||0,r.info("Node bounds (abc123)",t,l,l.width,l.x,l.y),ZF(h,l),r.warn("Recursive render complete ",h,l)}else e.children(t).length>0?(r.info("Cluster - the non recursive path XXX",t,l.id,l,e),r.info(v_t(l.id,e)),h_t[l.id]={id:v_t(l.id,e),node:l}):(r.info("Node - the non recursive path",t,l.id,l),await KF(d,e.node(t),s))}))),e.edges().forEach((async function(t){let n=e.edge(t.v,t.w,t.name);r.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),r.info("Edge "+t.v+" -> "+t.w+": ",t," ",JSON.stringify(e.edge(t))),r.info("Fix",h_t,"ids:",t.v,t.w,"Translating: ",h_t[t.v],h_t[t.w]),await Y_t(u,n)})),e.edges().forEach((function(t){r.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t))})),r.info("Graph before layout:",JSON.stringify(I3(e))),r.info("#############################################"),r.info("### Layout ###"),r.info("#############################################"),r.info(e),n3(e),r.info("Graph after layout:",JSON.stringify(I3(e)));let p=0,{subGraphTitleTotalMargin:f}=e$(o);return T_t(e).forEach((function(t){let n=e.node(t);r.info("Position "+t+": "+JSON.stringify(e.node(t))),r.info("Position "+t+": ("+n.x,","+n.y,") width: ",n.width," height: ",n.height),n?.clusterNode?(n.y+=f,JF(n)):e.children(t).length>0?(n.height+=f,N_t(c,n),h_t[n.id].node=n):(n.y+=f/2,JF(n))})),e.edges().forEach((function(t){let a=e.edge(t);r.info("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(a),a),a.points.forEach((t=>t.y+=f/2));let o=X_t(h,t,a,h_t,n,e,i);j_t(a,o)})),e.nodes().forEach((function(t){let n=e.node(t);r.info(t,n.type,n.diff),"group"===n.type&&(p=n.diff)})),{elem:l,diff:p}}),"recursiveRender"),Z_t=w((async(t,e,n,i,a)=>{c_t(t,n,i,a),QF(),q_t(),I_t(),p_t(),r.warn("Graph at first:",JSON.stringify(I3(e))),b_t(e),r.warn("Graph after:",JSON.stringify(I3(e)));let o=Qc();await K_t(t,e,i,a,void 0,o)}),"render")}));function tCt(t){let e;switch(t){case 0:e="aggregation";break;case 1:e="extension";break;case 2:e="composition";break;case 3:e="dependency";break;case 4:e="lollipop";break;default:e="none"}return e}var eCt,rCt,nCt,iCt,aCt,oCt,sCt,lCt,cCt,hCt=k((()=>{jC(),y1(),L(),Qh(),J_t(),mD(),mD(),Pc(),Oc(),eCt=w((t=>Cc.sanitizeText(t,Qc())),"sanitizeText"),rCt={dividerMargin:10,padding:5,textHeight:10,curve:void 0},nCt=w((function(t,e,n,i){r.info("keys:",[...t.keys()]),r.info(t),t.forEach((function(t){let a={shape:"rect",id:t.id,domId:t.domId,labelText:eCt(t.id),labelStyle:"",style:"fill: none; stroke: black",padding:Qc().flowchart?.padding??Qc().class?.padding};e.setNode(t.id,a),iCt(t.classes,e,n,i,t.id),r.info("setNode",a)}))}),"addNamespaces"),iCt=w((function(t,e,n,i,a){r.info("keys:",[...t.keys()]),r.info(t),[...t.values()].filter((t=>t.parent===a)).forEach((function(t){let n=t.cssClasses.join(" "),o=OR(t.styles),s=t.label??t.id,l={labelStyle:o.labelStyle,shape:"class_box",labelText:eCt(s),classData:t,rx:0,ry:0,class:n,style:o.style,id:t.id,domId:t.domId,tooltip:i.db.getTooltip(t.id,a)||"",haveCallback:t.haveCallback,link:t.link,width:"group"===t.type?500:void 0,type:t.type,padding:Qc().flowchart?.padding??Qc().class?.padding};e.setNode(t.id,l),a&&e.setParent(t.id,a),r.info("setNode",l)}))}),"addClasses"),aCt=w((function(t,e,n,i){r.info(t),t.forEach((function(t,a){let o=t,s=o.text,l={labelStyle:"",shape:"note",labelText:eCt(s),noteData:o,rx:0,ry:0,class:"",style:"",id:o.id,domId:o.id,tooltip:"",type:"note",padding:Qc().flowchart?.padding??Qc().class?.padding};if(e.setNode(o.id,l),r.info("setNode",l),!o.class||!i.has(o.class))return;let c=n+a,h={id:`edgeNote${c}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:LR(rCt.curve,BE)};e.setEdge(o.id,o.class,h,c)}))}),"addNotes"),oCt=w((function(t,e){let n=Qc().flowchart,i=0;t.forEach((function(t){i++;let a={classes:"relation",pattern:1==t.relation.lineType?"dashed":"solid",id:gD(t.id1,t.id2,{prefix:"id",counter:i}),arrowhead:"arrow_open"===t.type?"none":"normal",startLabelRight:"none"===t.relationTitle1?"":t.relationTitle1,endLabelLeft:"none"===t.relationTitle2?"":t.relationTitle2,arrowTypeStart:tCt(t.relation.type1),arrowTypeEnd:tCt(t.relation.type2),style:"fill:none",labelStyle:"",curve:LR(n?.curve,BE)};if(r.info(a,t),void 0!==t.style){let e=OR(t.style);a.style=e.style,a.labelStyle=e.labelStyle}t.text=t.title,void 0===t.text?void 0!==t.style&&(a.arrowheadStyle="fill: #333"):(a.arrowheadStyle="fill: #333",a.labelpos="c",Qc().flowchart?.htmlLabels??Qc().htmlLabels?(a.labelType="html",a.label=''+t.text+""):(a.labelType="text",a.label=t.text.replace(Cc.lineBreakRegex,"\n"),void 0===t.style&&(a.style=a.style||"stroke: #333; stroke-width: 1.5px;fill:none"),a.labelStyle=a.labelStyle.replace("color:","fill:"))),e.setEdge(t.id1,t.id2,a,i)}))}),"addRelations"),sCt=w((function(t){rCt={...rCt,...t}}),"setConf"),lCt=w((async function(t,e,n,i){r.info("Drawing class - ",e);let a=Qc().flowchart??Qc().class,o=Qc().securityLevel;r.info("config:",a);let s,l=a?.nodeSpacing??50,c=a?.rankSpacing??50,h=new g1({multigraph:!0,compound:!0}).setGraph({rankdir:i.db.getDirection(),nodesep:l,ranksep:c,marginx:8,marginy:8}).setDefaultEdgeLabel((function(){return{}})),u=i.db.getNamespaces(),d=i.db.getClasses(),p=i.db.getRelations(),f=i.db.getNotes();r.info(p),nCt(u,h,e,i),iCt(d,h,e,i),oCt(p,h),aCt(f,h,p.length+1,d),"sandbox"===o&&(s=Qf("#i"+e));let g=Qf("sandbox"===o?s.nodes()[0].contentDocument.body:"body"),m=g.select(`[id="${e}"]`),y=g.select("#"+e+" g");if(await Z_t(y,h,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",e),dD.insertTitle(m,"classTitleText",a?.titleTopMargin??5,i.db.getDiagramTitle()),Nc(h,m,a?.diagramPadding,a?.useMaxWidth),!a?.htmlLabels){let t="sandbox"===o?s.nodes()[0].contentDocument:document,r=t.querySelectorAll('[id="'+e+'"] .edgeLabel .label');for(let e of r){let r=e.getBBox(),n=t.createElementNS("http://www.w3.org/2000/svg","rect");n.setAttribute("rx",0),n.setAttribute("ry",0),n.setAttribute("width",r.width),n.setAttribute("height",r.height),e.insertBefore(n,e.firstChild)}}}),"draw"),w(tCt,"getArrowMarker"),cCt={setConf:sCt,draw:lCt}})),uCt={};E(uCt,{diagram:()=>dCt});var dCt,pCt,fCt,gCt,mCt,yCt,vCt,xCt,bCt,wCt,kCt,TCt,ECt,_Ct,CCt,SCt,ACt,LCt,NCt,ICt,MCt,RCt,DCt,OCt,PCt,BCt,FCt,$Ct,zCt,UCt,GCt,qCt,YCt,jCt,HCt,WCt,VCt,XCt,KCt=k((()=>{YEt(),HEt(),WEt(),hCt(),dCt={parser:BTt,db:AEt,renderer:cCt,styles:NEt,init:w((t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute,AEt.clear()}),"init")}})),ZCt=k((()=>{(pCt=function(){var t=w((function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r}),"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],o=[1,11],s=[1,16],l=[1,17],c=[1,18],h=[1,19],u=[1,32],d=[1,20],p=[1,21],f=[1,22],g=[1,23],m=[1,24],y=[1,26],v=[1,27],x=[1,28],b=[1,29],k=[1,30],T=[1,31],E=[1,34],_=[1,35],C=[1,36],S=[1,37],A=[1,33],L=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],N=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],I=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],M={trace:w((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"--\x3e":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,classDef:38,CLASSDEF_ID:39,CLASSDEF_STYLEOPTS:40,DEFAULT:41,style:42,STYLE_IDS:43,STYLEDEF_STYLEOPTS:44,class:45,CLASSENTITY_IDS:46,STYLECLASS:47,direction_tb:48,direction_bt:49,direction_rl:50,direction_lr:51,eol:52,";":53,EDGE_STATE:54,STYLE_SEPARATOR:55,left_of:56,right_of:57,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"--\x3e",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"classDef",39:"CLASSDEF_ID",40:"CLASSDEF_STYLEOPTS",41:"DEFAULT",42:"style",43:"STYLE_IDS",44:"STYLEDEF_STYLEOPTS",45:"class",46:"CLASSENTITY_IDS",47:"STYLECLASS",48:"direction_tb",49:"direction_bt",50:"direction_rl",51:"direction_lr",53:";",54:"EDGE_STATE",55:"STYLE_SEPARATOR",56:"left_of",57:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[52,1],[52,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:w((function(t,e,r,n,i,a,o){var s=a.length-1;switch(i){case 3:return n.setRootDoc(a[s]),a[s];case 4:this.$=[];break;case 5:"nl"!=a[s]&&(a[s-1].push(a[s]),this.$=a[s-1]);break;case 6:case 7:case 12:this.$=a[s];break;case 8:this.$="nl";break;case 13:let t=a[s-1];t.description=n.trimColon(a[s]),this.$=t;break;case 14:this.$={stmt:"relation",state1:a[s-2],state2:a[s]};break;case 15:let e=n.trimColon(a[s]);this.$={stmt:"relation",state1:a[s-3],state2:a[s-1],description:e};break;case 19:this.$={stmt:"state",id:a[s-3],type:"default",description:"",doc:a[s-1]};break;case 20:var l=a[s],c=a[s-2].trim();if(a[s].match(":")){var h=a[s].split(":");l=h[0],c=[c,h[1]]}this.$={stmt:"state",id:l,type:"default",description:c};break;case 21:this.$={stmt:"state",id:a[s-3],type:"default",description:a[s-5],doc:a[s-1]};break;case 22:this.$={stmt:"state",id:a[s],type:"fork"};break;case 23:this.$={stmt:"state",id:a[s],type:"join"};break;case 24:this.$={stmt:"state",id:a[s],type:"choice"};break;case 25:this.$={stmt:"state",id:n.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:a[s-1].trim(),note:{position:a[s-2].trim(),text:a[s].trim()}};break;case 29:this.$=a[s].trim(),n.setAccTitle(this.$);break;case 30:case 31:this.$=a[s].trim(),n.setAccDescription(this.$);break;case 32:case 33:this.$={stmt:"classDef",id:a[s-1].trim(),classes:a[s].trim()};break;case 34:this.$={stmt:"style",id:a[s-1].trim(),styleClass:a[s].trim()};break;case 35:this.$={stmt:"applyClass",id:a[s-1].trim(),styleClass:a[s].trim()};break;case 36:n.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 37:n.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 38:n.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 39:n.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 42:case 43:this.$={stmt:"state",id:a[s].trim(),type:"default",description:""};break;case 44:case 45:this.$={stmt:"state",id:a[s-2].trim(),classes:[a[s].trim()],type:"default",description:""}}}),"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,42,45,48,49,50,51,54],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:o,8:8,9:10,10:12,11:13,12:14,13:15,16:s,17:l,19:c,22:h,24:u,25:d,26:p,27:f,28:g,29:m,32:25,33:y,35:v,37:x,38:b,42:k,45:T,48:E,49:_,50:C,51:S,54:A},t(L,[2,5]),{9:38,10:12,11:13,12:14,13:15,16:s,17:l,19:c,22:h,24:u,25:d,26:p,27:f,28:g,29:m,32:25,33:y,35:v,37:x,38:b,42:k,45:T,48:E,49:_,50:C,51:S,54:A},t(L,[2,7]),t(L,[2,8]),t(L,[2,9]),t(L,[2,10]),t(L,[2,11]),t(L,[2,12],{14:[1,39],15:[1,40]}),t(L,[2,16]),{18:[1,41]},t(L,[2,18],{20:[1,42]}),{23:[1,43]},t(L,[2,22]),t(L,[2,23]),t(L,[2,24]),t(L,[2,25]),{30:44,31:[1,45],56:[1,46],57:[1,47]},t(L,[2,28]),{34:[1,48]},{36:[1,49]},t(L,[2,31]),{39:[1,50],41:[1,51]},{43:[1,52]},{46:[1,53]},t(N,[2,42],{55:[1,54]}),t(N,[2,43],{55:[1,55]}),t(L,[2,36]),t(L,[2,37]),t(L,[2,38]),t(L,[2,39]),t(L,[2,6]),t(L,[2,13]),{13:56,24:u,54:A},t(L,[2,17]),t(I,i,{7:57}),{24:[1,58]},{24:[1,59]},{23:[1,60]},{24:[2,46]},{24:[2,47]},t(L,[2,29]),t(L,[2,30]),{40:[1,61]},{40:[1,62]},{44:[1,63]},{47:[1,64]},{24:[1,65]},{24:[1,66]},t(L,[2,14],{14:[1,67]}),{4:a,5:o,8:8,9:10,10:12,11:13,12:14,13:15,16:s,17:l,19:c,21:[1,68],22:h,24:u,25:d,26:p,27:f,28:g,29:m,32:25,33:y,35:v,37:x,38:b,42:k,45:T,48:E,49:_,50:C,51:S,54:A},t(L,[2,20],{20:[1,69]}),{31:[1,70]},{24:[1,71]},t(L,[2,32]),t(L,[2,33]),t(L,[2,34]),t(L,[2,35]),t(N,[2,44]),t(N,[2,45]),t(L,[2,15]),t(L,[2,19]),t(I,i,{7:72}),t(L,[2,26]),t(L,[2,27]),{4:a,5:o,8:8,9:10,10:12,11:13,12:14,13:15,16:s,17:l,19:c,21:[1,73],22:h,24:u,25:d,26:p,27:f,28:g,29:m,32:25,33:y,35:v,37:x,38:b,42:k,45:T,48:E,49:_,50:C,51:S,54:A},t(L,[2,21])],defaultActions:{5:[2,1],6:[2,2],46:[2,46],47:[2,47]},parseError:w((function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)}),"parseError"),parse:w((function(t){var e=this,r=[0],n=[],i=[null],a=[],o=this.table,s="",l=0,c=0,h=0,u=a.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,typeof d.yylloc>"u"&&(d.yylloc={});var g=d.yylloc;a.push(g);var m=d.options&&d.options.ranges;function y(){var t;return"number"!=typeof(t=n.pop()||d.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,w((function(t){r.length=r.length-2*t,i.length=i.length-t,a.length=a.length-t}),"popStack"),w(y,"lex");for(var v,x,b,k,T,E,_,C,S,A={};;){if(b=r[r.length-1],this.defaultActions[b]?k=this.defaultActions[b]:((null===v||typeof v>"u")&&(v=y()),k=o[b]&&o[b][v]),typeof k>"u"||!k.length||!k[0]){var L;for(E in S=[],o[b])this.terminals_[E]&&E>2&&S.push("'"+this.terminals_[E]+"'");L=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==v?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(L,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:g,expected:S})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(k[0]){case 1:r.push(v),i.push(d.yytext),a.push(d.yylloc),r.push(k[1]),v=null,x?(v=x,x=null):(c=d.yyleng,s=d.yytext,l=d.yylineno,g=d.yylloc,h>0&&h--);break;case 2:if(_=this.productions_[k[1]][1],A.$=i[i.length-_],A._$={first_line:a[a.length-(_||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(_||1)].first_column,last_column:a[a.length-1].last_column},m&&(A._$.range=[a[a.length-(_||1)].range[0],a[a.length-1].range[1]]),typeof(T=this.performAction.apply(A,[s,c,l,p.yy,k[1],i,a].concat(u)))<"u")return T;_&&(r=r.slice(0,-1*_*2),i=i.slice(0,-1*_),a=a.slice(0,-1*_)),r.push(this.productions_[k[1]][0]),i.push(A.$),a.push(A._$),C=o[r[r.length-2]][r[r.length-1]],r.push(C);break;case 3:return!0}}return!0}),"parse")},R={EOF:1,parseError:w((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:w((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:w((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:w((function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:w((function(){return this._more=!0,this}),"more"),reject:w((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:w((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:w((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:w((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:w((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:w((function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:w((function(){if(this.done)return this.EOF;var t,e,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:w((function(){return this.next()||this.lex()}),"lex"),begin:w((function(t){this.conditionStack.push(t)}),"begin"),popState:w((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:w((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:w((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:w((function(t){this.begin(t)}),"pushState"),stateStackSize:w((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:w((function(t,e,r,n){switch(r){case 0:return 41;case 1:case 42:return 48;case 2:case 43:return 49;case 3:case 44:return 50;case 4:case 45:return 51;case 5:case 6:case 8:case 9:case 10:case 11:case 54:case 56:case 62:break;case 7:case 77:return 5;case 12:case 32:return this.pushState("SCALE"),17;case 13:case 33:return 18;case 14:case 20:case 34:case 49:case 52:this.popState();break;case 15:return this.begin("acc_title"),33;case 16:return this.popState(),"acc_title_value";case 17:return this.begin("acc_descr"),35;case 18:return this.popState(),"acc_descr_value";case 19:this.begin("acc_descr_multiline");break;case 21:return"acc_descr_multiline_value";case 22:return this.pushState("CLASSDEF"),38;case 23:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 24:return this.popState(),this.pushState("CLASSDEFID"),39;case 25:return this.popState(),40;case 26:return this.pushState("CLASS"),45;case 27:return this.popState(),this.pushState("CLASS_STYLE"),46;case 28:return this.popState(),47;case 29:return this.pushState("STYLE"),42;case 30:return this.popState(),this.pushState("STYLEDEF_STYLES"),43;case 31:return this.popState(),44;case 35:this.pushState("STATE");break;case 36:case 39:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),25;case 37:case 40:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),26;case 38:case 41:return this.popState(),e.yytext=e.yytext.slice(0,-10).trim(),27;case 46:this.pushState("STATE_STRING");break;case 47:return this.pushState("STATE_ID"),"AS";case 48:case 64:return this.popState(),"ID";case 50:return"STATE_DESCR";case 51:return 19;case 53:return this.popState(),this.pushState("struct"),20;case 55:return this.popState(),21;case 57:return this.begin("NOTE"),29;case 58:return this.popState(),this.pushState("NOTE_ID"),56;case 59:return this.popState(),this.pushState("NOTE_ID"),57;case 60:this.popState(),this.pushState("FLOATING_NOTE");break;case 61:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 63:return"NOTE_TEXT";case 65:return this.popState(),this.pushState("NOTE_TEXT"),24;case 66:return this.popState(),e.yytext=e.yytext.substr(2).trim(),31;case 67:return this.popState(),e.yytext=e.yytext.slice(0,-8).trim(),31;case 68:case 69:return 6;case 70:return 16;case 71:return 54;case 72:return 24;case 73:return e.yytext=e.yytext.trim(),14;case 74:return 15;case 75:return 28;case 76:return 55;case 78:return"INVALID"}}),"anonymous"),rules:[/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[9,10],inclusive:!1},struct:{rules:[9,10,22,26,29,35,42,43,44,45,54,55,56,57,71,72,73,74,75],inclusive:!1},FLOATING_NOTE_ID:{rules:[64],inclusive:!1},FLOATING_NOTE:{rules:[61,62,63],inclusive:!1},NOTE_TEXT:{rules:[66,67],inclusive:!1},NOTE_ID:{rules:[65],inclusive:!1},NOTE:{rules:[58,59,60],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[31],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[30],inclusive:!1},CLASS_STYLE:{rules:[28],inclusive:!1},CLASS:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[25],inclusive:!1},CLASSDEF:{rules:[23,24],inclusive:!1},acc_descr_multiline:{rules:[20,21],inclusive:!1},acc_descr:{rules:[18],inclusive:!1},acc_title:{rules:[16],inclusive:!1},SCALE:{rules:[13,14,33,34],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[48],inclusive:!1},STATE_STRING:{rules:[49,50],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[9,10,36,37,38,39,40,41,46,47,51,52,53],inclusive:!1},ID:{rules:[9,10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,10,11,12,15,17,19,22,26,29,32,35,53,57,68,69,70,71,72,73,74,76,77,78],inclusive:!0}}};function D(){this.yy={}}return M.lexer=R,w(D,"Parser"),D.prototype=M,M.Parser=D,new D}()).parser=pCt,fCt=pCt})),QCt=k((()=>{gCt="LR",mCt="TB",yCt="state",vCt="relation",xCt="classDef",bCt="style",wCt="applyClass",kCt="default",TCt="divider",ECt="fill:none",_Ct="fill: #333",CCt="c",SCt="text",ACt="normal",LCt="rect",NCt="rectWithTitle",ICt="stateStart",MCt="stateEnd",RCt="divider",DCt="roundedWithTitle",OCt="note",PCt="noteGroup",FCt=(BCt="statediagram")+"-state",zCt=($Ct="transition")+" note-edge",UCt=`${BCt}-note`,GCt=`${BCt}-cluster`,qCt=`${BCt}-cluster-alt`,HCt="state",VCt=`${WCt="----"}${jCt="note"}`,XCt=`${WCt}${YCt="parent"}`}));function JCt(t="",e=0,r="",n=WCt){let i=null!==r&&r.length>0?`${n}${r}`:"";return`${HCt}-${t}${i}-${e}`}function tSt(t,e,r){if(!e.id||""===e.id||"
    "===e.id)return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach((t=>{if(r.get(t)){let n=r.get(t);e.cssCompiledStyles=[...e.cssCompiledStyles,...n.styles]}})));let n=t.find((t=>t.id===e.id));n?Object.assign(n,e):t.push(e)}function eSt(t){return t?.classes?.join(" ")??""}function rSt(t){return t?.styles??[]}var nSt,iSt,aSt,oSt,sSt,lSt,cSt,hSt,uSt,dSt,pSt=k((()=>{Qh(),L(),Oc(),QCt(),nSt=new Map,iSt=0,w(JCt,"stateDomId"),aSt=w(((t,e,n,i,a,o,s,l)=>{r.trace("items",e),e.forEach((e=>{switch(e.stmt){case yCt:case kCt:sSt(t,e,n,i,a,o,s,l);break;case vCt:{sSt(t,e.state1,n,i,a,o,s,l),sSt(t,e.state2,n,i,a,o,s,l);let r={id:"edge"+iSt,start:e.state1.id,end:e.state2.id,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:ECt,labelStyle:"",label:Cc.sanitizeText(e.description,Qc()),arrowheadStyle:_Ct,labelpos:CCt,labelType:SCt,thickness:ACt,classes:$Ct,look:s};a.push(r),iSt++}}}))}),"setupDoc"),oSt=w(((t,e=mCt)=>{let r=e;if(t.doc)for(let e of t.doc)"dir"===e.stmt&&(r=e.value);return r}),"getDir"),w(tSt,"insertOrUpdateNode"),w(eSt,"getClassesFromDbInfo"),w(rSt,"getStylesFromDbInfo"),sSt=w(((t,e,n,i,a,o,s,l)=>{let c=e.id,h=n.get(c),u=eSt(h),d=rSt(h);if(r.info("dataFetcher parsedItem",e,h,d),"root"!==c){let n=LCt;!0===e.start?n=ICt:!1===e.start&&(n=MCt),e.type!==kCt&&(n=e.type),nSt.get(c)||nSt.set(c,{id:c,shape:n,description:Cc.sanitizeText(c,Qc()),cssClasses:`${u} ${FCt}`,cssStyles:d});let h=nSt.get(c);e.description&&(Array.isArray(h.description)?(h.shape=NCt,h.description.push(e.description)):h.description?.length>0?(h.shape=NCt,h.description===c?h.description=[e.description]:h.description=[h.description,e.description]):(h.shape=LCt,h.description=e.description),h.description=Cc.sanitizeTextOrArray(h.description,Qc())),1===h.description?.length&&h.shape===NCt&&("group"===h.type?h.shape=DCt:h.shape=LCt),!h.type&&e.doc&&(r.info("Setting cluster for XCX",c,oSt(e)),h.type="group",h.isGroup=!0,h.dir=oSt(e),h.shape=e.type===TCt?RCt:DCt,h.cssClasses=`${h.cssClasses} ${GCt} ${o?qCt:""}`);let p={labelStyle:"",shape:h.shape,label:h.description,cssClasses:h.cssClasses,cssCompiledStyles:[],cssStyles:h.cssStyles,id:c,dir:h.dir,domId:JCt(c,iSt),type:h.type,isGroup:"group"===h.type,padding:8,rx:10,ry:10,look:s};if(p.shape===RCt&&(p.label=""),t&&"root"!==t.id&&(r.trace("Setting node ",c," to be child of its parent ",t.id),p.parentId=t.id),p.centerLabel=!0,e.note){let t={labelStyle:"",shape:OCt,label:e.note.text,cssClasses:UCt,cssStyles:[],cssCompilesStyles:[],id:c+VCt+"-"+iSt,domId:JCt(c,iSt,jCt),type:h.type,isGroup:"group"===h.type,padding:Qc().flowchart.padding,look:s,position:e.note.position},r=c+XCt,n={labelStyle:"",shape:PCt,label:e.note.text,cssClasses:h.cssClasses,cssStyles:[],id:c+XCt,domId:JCt(c,iSt,YCt),type:"group",isGroup:!0,padding:16,look:s,position:e.note.position};iSt++,n.id=r,t.parentId=r,tSt(i,n,l),tSt(i,t,l),tSt(i,p,l);let o=c,u=t.id;"left of"===e.note.position&&(o=t.id,u=c),a.push({id:o+"-"+u,start:o,end:u,arrowhead:"none",arrowTypeEnd:"",style:ECt,labelStyle:"",classes:zCt,arrowheadStyle:_Ct,labelpos:CCt,labelType:SCt,thickness:ACt,look:s})}else tSt(i,p,l)}e.doc&&(r.trace("Adding nodes children "),aSt(e,e.doc,n,i,a,!o,s,l))}),"dataFetcher"),lSt=w((()=>{nSt.clear(),iSt=0}),"reset")})),fSt=k((()=>{Qh(),L(),n$(),m5(),y5(),mD(),QCt(),cSt=w(((t,e=mCt)=>{if(!t.doc)return e;let r=e;for(let e of t.doc)"dir"===e.stmt&&(r=e.value);return r}),"getDir"),hSt=w((function(t,e){return e.db.extract(e.db.getRootDocV2()),e.db.getClasses()}),"getClasses"),uSt=w((async function(t,e,n,i){r.info("REF0:"),r.info("Drawing state diagram (v2)",e);let{securityLevel:a,state:o,layout:s}=Qc();i.db.extract(i.db.getRootDocV2());let l=i.db.getData(),c=t$(e,a);l.type=i.type,l.layoutAlgorithm=s,l.nodeSpacing=o?.nodeSpacing||50,l.rankSpacing=o?.rankSpacing||50,l.markers=["barb"],l.diagramId=e,await r5(l,c),dD.insertTitle(c,"statediagramTitleText",o?.titleTopMargin??25,i.db.getDiagramTitle()),i5(c,8,BCt,o?.useMaxWidth??!0)}),"draw"),dSt={getClasses:hSt,draw:uSt,getDir:cSt}}));function gSt(){return new Map}function mSt(t=""){let e=t;return t===wSt&&(OSt++,e=`${kSt}${OSt}`),e}function ySt(t="",e=kCt){return t===wSt?kSt:e}function vSt(t=""){let e=t;return t===TSt&&(OSt++,e=`${ESt}${OSt}`),e}function xSt(t="",e=kCt){return t===TSt?ESt:e}function bSt(t,e,r){let n=mSt(t.id.trim()),i=ySt(t.id.trim(),t.type),a=mSt(e.id.trim()),o=ySt(e.id.trim(),e.type);jSt(n,i,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles),jSt(a,o,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),DSt.relations.push({id1:n,id2:a,relationTitle:Cc.sanitizeText(r,Qc())})}var wSt,kSt,TSt,ESt,_St,CSt,SSt,ASt,LSt,NSt,ISt,MSt,RSt,DSt,OSt,PSt,BSt,FSt,$St,zSt,USt,GSt,qSt,YSt,jSt,HSt,WSt,VSt,XSt,KSt,ZSt,QSt,JSt,tAt,eAt,rAt,nAt,iAt,aAt,oAt,sAt,lAt,cAt,hAt,uAt,dAt,pAt,fAt,gAt,mAt,yAt,vAt,xAt,bAt,wAt,kAt,TAt,EAt,_At,CAt,SAt,AAt,LAt,NAt,IAt,MAt,RAt,DAt,OAt,PAt,BAt,FAt,$At=k((()=>{L(),mD(),Oc(),Qh(),Zh(),pSt(),fSt(),QCt(),kSt="start",TSt=wSt="[*]",ESt="end",_St="color",CSt="fill",w(gSt,"newClassesList"),SSt=[],ASt=[],LSt=gCt,NSt=[],ISt=gSt(),MSt=w((()=>({relations:[],states:new Map,documents:{}})),"newDoc"),RSt={root:MSt()},DSt=RSt.root,OSt=0,PSt=0,BSt={LINE:0,DOTTED_LINE:1},FSt={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},$St=w((t=>JSON.parse(JSON.stringify(t))),"clone"),zSt=w((t=>{r.info("Setting root doc",t),NSt=t}),"setRootDoc"),USt=w((()=>NSt),"getRootDoc"),GSt=w(((t,e,r)=>{if(e.stmt===vCt)GSt(t,e.state1,!0),GSt(t,e.state2,!1);else if(e.stmt===yCt&&("[*]"===e.id?(e.id=r?t.id+"_start":t.id+"_end",e.start=r):e.id=e.id.trim()),e.doc){let t,r=[],n=[];for(t=0;t0&&n.length>0){let t={stmt:yCt,id:tD(),type:"divider",doc:$St(n)};r.push($St(t)),e.doc=r}e.doc.forEach((t=>GSt(e,t,!0)))}}),"docTranslator"),qSt=w((()=>(GSt({id:"root"},{id:"root",doc:NSt},!0),{id:"root",doc:NSt})),"getRootDocV2"),YSt=w((t=>{let e;e=t.doc?t.doc:t,r.info(e),HSt(!0),r.info("Extract initial document:",e),e.forEach((t=>{switch(r.warn("Statement",t.stmt),t.stmt){case yCt:jSt(t.id.trim(),t.type,t.doc,t.description,t.note,t.classes,t.styles,t.textStyles);break;case vCt:ZSt(t.state1,t.state2,t.description);break;case xCt:eAt(t.id.trim(),t.classes);break;case bCt:{let e=t.id.trim().split(","),r=t.styleClass.split(",");e.forEach((t=>{let e=WSt(t);if(void 0===e){let r=t.trim();jSt(r),e=WSt(r)}e.styles=r.map((t=>t.replace(/;/g,"")?.trim()))}))}break;case wCt:nAt(t.id.trim(),t.styleClass)}}));let n=VSt(),i=Qc().look;lSt(),sSt(void 0,qSt(),n,SSt,ASt,!0,i,ISt),SSt.forEach((t=>{if(Array.isArray(t.label)){if(t.description=t.label.slice(1),t.isGroup&&t.description.length>0)throw new Error("Group nodes can only have label. Remove the additional description for node ["+t.id+"]");t.label=t.label[0]}}))}),"extract"),jSt=w((function(t,e=kCt,n=null,i=null,a=null,o=null,s=null,l=null){let c=t?.trim();if(DSt.states.has(c)?(DSt.states.get(c).doc||(DSt.states.get(c).doc=n),DSt.states.get(c).type||(DSt.states.get(c).type=e)):(r.info("Adding state ",c,i),DSt.states.set(c,{id:c,descriptions:[],type:e,doc:n,note:a,classes:[],styles:[],textStyles:[]})),i&&(r.info("Setting state description",c,i),"string"==typeof i&&QSt(c,i.trim()),"object"==typeof i&&i.forEach((t=>QSt(c,t.trim())))),a){let t=DSt.states.get(c);t.note=a,t.note.text=Cc.sanitizeText(t.note.text,Qc())}o&&(r.info("Setting state classes",c,o),("string"==typeof o?[o]:o).forEach((t=>nAt(c,t.trim())))),s&&(r.info("Setting state styles",c,s),("string"==typeof s?[s]:s).forEach((t=>iAt(c,t.trim())))),l&&(r.info("Setting state styles",c,s),("string"==typeof l?[l]:l).forEach((t=>aAt(c,t.trim()))))}),"addState"),HSt=w((function(t){SSt=[],ASt=[],RSt={root:MSt()},DSt=RSt.root,OSt=0,ISt=gSt(),t||qc()}),"clear"),WSt=w((function(t){return DSt.states.get(t)}),"getState"),VSt=w((function(){return DSt.states}),"getStates"),XSt=w((function(){r.info("Documents = ",RSt)}),"logDocuments"),KSt=w((function(){return DSt.relations}),"getRelations"),w(mSt,"startIdIfNeeded"),w(ySt,"startTypeIfNeeded"),w(vSt,"endIdIfNeeded"),w(xSt,"endTypeIfNeeded"),w(bSt,"addRelationObjs"),ZSt=w((function(t,e,r){if("object"==typeof t)bSt(t,e,r);else{let n=mSt(t.trim()),i=ySt(t),a=vSt(e.trim()),o=xSt(e);jSt(n,i),jSt(a,o),DSt.relations.push({id1:n,id2:a,title:Cc.sanitizeText(r,Qc())})}}),"addRelation"),QSt=w((function(t,e){let r=DSt.states.get(t),n=e.startsWith(":")?e.replace(":","").trim():e;r.descriptions.push(Cc.sanitizeText(n,Qc()))}),"addDescription"),JSt=w((function(t){return":"===t.substring(0,1)?t.substr(2).trim():t.trim()}),"cleanupLabel"),tAt=w((()=>"divider-id-"+ ++PSt),"getDividerId"),eAt=w((function(t,e=""){ISt.has(t)||ISt.set(t,{id:t,styles:[],textStyles:[]});let r=ISt.get(t);e?.split(",").forEach((t=>{let e=t.replace(/([^;]*);/,"$1").trim();if(RegExp(_St).exec(t)){let t=e.replace(CSt,"bgFill").replace(_St,CSt);r.textStyles.push(t)}r.styles.push(e)}))}),"addStyleClass"),rAt=w((function(){return ISt}),"getClasses"),nAt=w((function(t,e){t.split(",").forEach((function(t){let r=WSt(t);if(void 0===r){let e=t.trim();jSt(e),r=WSt(e)}r.classes.push(e)}))}),"setCssClass"),iAt=w((function(t,e){let r=WSt(t);void 0!==r&&r.styles.push(e)}),"setStyle"),aAt=w((function(t,e){let r=WSt(t);void 0!==r&&r.textStyles.push(e)}),"setTextStyle"),oAt=w((()=>LSt),"getDirection"),sAt=w((t=>{LSt=t}),"setDirection"),lAt=w((t=>t&&":"===t[0]?t.substr(1).trim():t.trim()),"trimColon"),cAt=w((()=>{let t=Qc();return{nodes:SSt,edges:ASt,other:{},config:t,direction:cSt(qSt())}}),"getData"),hAt={getConfig:w((()=>Qc().state),"getConfig"),getData:cAt,addState:jSt,clear:HSt,getState:WSt,getStates:VSt,getRelations:KSt,getClasses:rAt,getDirection:oAt,addRelation:ZSt,getDividerId:tAt,setDirection:sAt,cleanupLabel:JSt,lineType:BSt,relationType:FSt,logDocuments:XSt,getRootDoc:USt,setRootDoc:zSt,getRootDocV2:qSt,extract:YSt,trimColon:lAt,getAccTitle:jc,setAccTitle:Yc,getAccDescription:Wc,setAccDescription:Hc,addStyleClass:eAt,setCssClass:nAt,addDescription:QSt,setDiagramTitle:Vc,getDiagramTitle:Xc}})),zAt=k((()=>{uAt=w((t=>`\ndefs #statediagram-barbEnd {\n fill: ${t.transitionColor};\n stroke: ${t.transitionColor};\n }\ng.stateGroup text {\n fill: ${t.nodeBorder};\n stroke: none;\n font-size: 10px;\n}\ng.stateGroup text {\n fill: ${t.textColor};\n stroke: none;\n font-size: 10px;\n\n}\ng.stateGroup .state-title {\n font-weight: bolder;\n fill: ${t.stateLabelColor};\n}\n\ng.stateGroup rect {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n}\n\ng.stateGroup line {\n stroke: ${t.lineColor};\n stroke-width: 1;\n}\n\n.transition {\n stroke: ${t.transitionColor};\n stroke-width: 1;\n fill: none;\n}\n\n.stateGroup .composit {\n fill: ${t.background};\n border-bottom: 1px\n}\n\n.stateGroup .alt-composit {\n fill: #e0e0e0;\n border-bottom: 1px\n}\n\n.state-note {\n stroke: ${t.noteBorderColor};\n fill: ${t.noteBkgColor};\n\n text {\n fill: ${t.noteTextColor};\n stroke: none;\n font-size: 10px;\n }\n}\n\n.stateLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ${t.mainBkg};\n opacity: 0.5;\n}\n\n.edgeLabel .label rect {\n fill: ${t.labelBackgroundColor};\n opacity: 0.5;\n}\n.edgeLabel {\n background-color: ${t.edgeLabelBackground};\n p {\n background-color: ${t.edgeLabelBackground};\n }\n rect {\n opacity: 0.5;\n background-color: ${t.edgeLabelBackground};\n fill: ${t.edgeLabelBackground};\n }\n text-align: center;\n}\n.edgeLabel .label text {\n fill: ${t.transitionLabelColor||t.tertiaryTextColor};\n}\n.label div .edgeLabel {\n color: ${t.transitionLabelColor||t.tertiaryTextColor};\n}\n\n.stateLabel text {\n fill: ${t.stateLabelColor};\n font-size: 10px;\n font-weight: bold;\n}\n\n.node circle.state-start {\n fill: ${t.specialStateColor};\n stroke: ${t.specialStateColor};\n}\n\n.node .fork-join {\n fill: ${t.specialStateColor};\n stroke: ${t.specialStateColor};\n}\n\n.node circle.state-end {\n fill: ${t.innerEndBackground};\n stroke: ${t.background};\n stroke-width: 1.5\n}\n.end-state-inner {\n fill: ${t.compositeBackground||t.background};\n // stroke: ${t.background};\n stroke-width: 1.5\n}\n\n.node rect {\n fill: ${t.stateBkg||t.mainBkg};\n stroke: ${t.stateBorder||t.nodeBorder};\n stroke-width: 1px;\n}\n.node polygon {\n fill: ${t.mainBkg};\n stroke: ${t.stateBorder||t.nodeBorder};;\n stroke-width: 1px;\n}\n#statediagram-barbEnd {\n fill: ${t.lineColor};\n}\n\n.statediagram-cluster rect {\n fill: ${t.compositeTitleBackground};\n stroke: ${t.stateBorder||t.nodeBorder};\n stroke-width: 1px;\n}\n\n.cluster-label, .nodeLabel {\n color: ${t.stateLabelColor};\n // line-height: 1;\n}\n\n.statediagram-cluster rect.outer {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state .divider {\n stroke: ${t.stateBorder||t.nodeBorder};\n}\n\n.statediagram-state .title-state {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-cluster.statediagram-cluster .inner {\n fill: ${t.compositeBackground||t.background};\n}\n.statediagram-cluster.statediagram-cluster-alt .inner {\n fill: ${t.altBackground?t.altBackground:"#efefef"};\n}\n\n.statediagram-cluster .inner {\n rx:0;\n ry:0;\n}\n\n.statediagram-state rect.basic {\n rx: 5px;\n ry: 5px;\n}\n.statediagram-state rect.divider {\n stroke-dasharray: 10,10;\n fill: ${t.altBackground?t.altBackground:"#efefef"};\n}\n\n.note-edge {\n stroke-dasharray: 5;\n}\n\n.statediagram-note rect {\n fill: ${t.noteBkgColor};\n stroke: ${t.noteBorderColor};\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n.statediagram-note rect {\n fill: ${t.noteBkgColor};\n stroke: ${t.noteBorderColor};\n stroke-width: 1px;\n rx: 0;\n ry: 0;\n}\n\n.statediagram-note text {\n fill: ${t.noteTextColor};\n}\n\n.statediagram-note .nodeLabel {\n color: ${t.noteTextColor};\n}\n.statediagram .edgeLabel {\n color: red; // ${t.noteTextColor};\n}\n\n#dependencyStart, #dependencyEnd {\n fill: ${t.lineColor};\n stroke: ${t.lineColor};\n stroke-width: 1;\n}\n\n.statediagramTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n}\n`),"getStyles"),dAt=uAt})),UAt=k((()=>{pAt={},fAt=w(((t,e)=>{pAt[t]=e}),"set"),gAt=w((t=>pAt[t]),"get"),mAt=w((()=>Object.keys(pAt)),"keys"),yAt=w((()=>mAt().length),"size"),vAt={get:gAt,set:fAt,keys:mAt,size:yAt}})),GAt=k((()=>{jC(),UAt(),$At(),mD(),Oc(),Qh(),L(),xAt=w((t=>t.append("circle").attr("class","start-state").attr("r",Qc().state.sizeUnit).attr("cx",Qc().state.padding+Qc().state.sizeUnit).attr("cy",Qc().state.padding+Qc().state.sizeUnit)),"drawStartState"),bAt=w((t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",Qc().state.textHeight).attr("class","divider").attr("x2",2*Qc().state.textHeight).attr("y1",0).attr("y2",0)),"drawDivider"),wAt=w(((t,e)=>{let r=t.append("text").attr("x",2*Qc().state.padding).attr("y",Qc().state.textHeight+2*Qc().state.padding).attr("font-size",Qc().state.fontSize).attr("class","state-title").text(e.id),n=r.node().getBBox();return t.insert("rect",":first-child").attr("x",Qc().state.padding).attr("y",Qc().state.padding).attr("width",n.width+2*Qc().state.padding).attr("height",n.height+2*Qc().state.padding).attr("rx",Qc().state.radius),r}),"drawSimpleState"),kAt=w(((t,e)=>{let r=w((function(t,e,r){let n=t.append("tspan").attr("x",2*Qc().state.padding).text(e);r||n.attr("dy",Qc().state.textHeight)}),"addTspan"),n=t.append("text").attr("x",2*Qc().state.padding).attr("y",Qc().state.textHeight+1.3*Qc().state.padding).attr("font-size",Qc().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),i=n.height,a=t.append("text").attr("x",Qc().state.padding).attr("y",i+.4*Qc().state.padding+Qc().state.dividerMargin+Qc().state.textHeight).attr("class","state-description"),o=!0,s=!0;e.descriptions.forEach((function(t){o||(r(a,t,s),s=!1),o=!1}));let l=t.append("line").attr("x1",Qc().state.padding).attr("y1",Qc().state.padding+i+Qc().state.dividerMargin/2).attr("y2",Qc().state.padding+i+Qc().state.dividerMargin/2).attr("class","descr-divider"),c=a.node().getBBox(),h=Math.max(c.width,n.width);return l.attr("x2",h+3*Qc().state.padding),t.insert("rect",":first-child").attr("x",Qc().state.padding).attr("y",Qc().state.padding).attr("width",h+2*Qc().state.padding).attr("height",c.height+i+2*Qc().state.padding).attr("rx",Qc().state.radius),t}),"drawDescrState"),TAt=w(((t,e,r)=>{let n=Qc().state.padding,i=2*Qc().state.padding,a=t.node().getBBox(),o=a.width,s=a.x,l=t.append("text").attr("x",0).attr("y",Qc().state.titleShift).attr("font-size",Qc().state.fontSize).attr("class","state-title").text(e.id),c=l.node().getBBox().width+i,h=Math.max(c,o);h===o&&(h+=i);let u,d=t.node().getBBox();e.doc,u=s-n,c>o&&(u=(o-h)/2+n),Math.abs(s-d.x)o&&(u=s-(c-o)/2);let p=1-Qc().state.textHeight;return t.insert("rect",":first-child").attr("x",u).attr("y",p).attr("class",r?"alt-composit":"composit").attr("width",h).attr("height",d.height+Qc().state.textHeight+Qc().state.titleShift+1).attr("rx","0"),l.attr("x",u+n),c<=o&&l.attr("x",s+(h-i)/2-c/2+n),t.insert("rect",":first-child").attr("x",u).attr("y",Qc().state.titleShift-Qc().state.textHeight-Qc().state.padding).attr("width",h).attr("height",3*Qc().state.textHeight).attr("rx",Qc().state.radius),t.insert("rect",":first-child").attr("x",u).attr("y",Qc().state.titleShift-Qc().state.textHeight-Qc().state.padding).attr("width",h).attr("height",d.height+3+2*Qc().state.textHeight).attr("rx",Qc().state.radius),t}),"addTitleAndBox"),EAt=w((t=>(t.append("circle").attr("class","end-state-outer").attr("r",Qc().state.sizeUnit+Qc().state.miniPadding).attr("cx",Qc().state.padding+Qc().state.sizeUnit+Qc().state.miniPadding).attr("cy",Qc().state.padding+Qc().state.sizeUnit+Qc().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",Qc().state.sizeUnit).attr("cx",Qc().state.padding+Qc().state.sizeUnit+2).attr("cy",Qc().state.padding+Qc().state.sizeUnit+2))),"drawEndState"),_At=w(((t,e)=>{let r=Qc().state.forkWidth,n=Qc().state.forkHeight;if(e.parentId){let t=r;r=n,n=t}return t.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",n).attr("x",Qc().state.padding).attr("y",Qc().state.padding)}),"drawForkJoinState"),CAt=w(((t,e,r,n)=>{let i=0,a=n.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let o=t.replace(/\r\n/g,"
    ");o=o.replace(/\n/g,"
    ");let s=o.split(Cc.lineBreakRegex),l=1.25*Qc().state.noteMargin;for(let t of s){let n=t.trim();if(n.length>0){let t=a.append("tspan");t.text(n),0===l&&(l+=t.node().getBBox().height),i+=l,t.attr("x",e+Qc().state.noteMargin),t.attr("y",r+i+1.25*Qc().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}}),"_drawLongText"),SAt=w(((t,e)=>{e.attr("class","state-note");let r=e.append("rect").attr("x",0).attr("y",Qc().state.padding),n=e.append("g"),{textWidth:i,textHeight:a}=CAt(t,0,0,n);return r.attr("height",a+2*Qc().state.noteMargin),r.attr("width",i+2*Qc().state.noteMargin),r}),"drawNote"),AAt=w((function(t,e){let r=e.id,n={id:r,label:e.id,width:0,height:0},i=t.append("g").attr("id",r).attr("class","stateGroup");"start"===e.type&&xAt(i),"end"===e.type&&EAt(i),("fork"===e.type||"join"===e.type)&&_At(i,e),"note"===e.type&&SAt(e.note.text,i),"divider"===e.type&&bAt(i),"default"===e.type&&0===e.descriptions.length&&wAt(i,e),"default"===e.type&&e.descriptions.length>0&&kAt(i,e);let a=i.node().getBBox();return n.width=a.width+2*Qc().state.padding,n.height=a.height+2*Qc().state.padding,vAt.set(r,n),n}),"drawState"),LAt=0,NAt=w((function(t,e,n){let i=w((function(t){switch(t){case hAt.relationType.AGGREGATION:return"aggregation";case hAt.relationType.EXTENSION:return"extension";case hAt.relationType.COMPOSITION:return"composition";case hAt.relationType.DEPENDENCY:return"dependency"}}),"getRelationType");e.points=e.points.filter((t=>!Number.isNaN(t.y)));let a=e.points,o=GE().x((function(t){return t.x})).y((function(t){return t.y})).curve(i_),s=t.append("path").attr("d",o(a)).attr("id","edge"+LAt).attr("class","transition"),l="";if(Qc().state.arrowMarkerAbsolute&&(l=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,l=l.replace(/\(/g,"\\("),l=l.replace(/\)/g,"\\)")),s.attr("marker-end","url("+l+"#"+i(hAt.relationType.DEPENDENCY)+"End)"),void 0!==n.title){let i=t.append("g").attr("class","stateLabel"),{x:a,y:o}=dD.calcLabelPosition(e.points),s=Cc.getRows(n.title),l=0,c=[],h=0,u=0;for(let t=0;t<=s.length;t++){let e=i.append("text").attr("text-anchor","middle").text(s[t]).attr("x",a).attr("y",o+l),n=e.node().getBBox();h=Math.max(h,n.width),u=Math.min(u,n.x),r.info(n.x,a,o+l),0===l&&(l=e.node().getBBox().height,r.info("Title height",l,o)),c.push(e)}let d=l*s.length;if(s.length>1){let t=(s.length-1)*l*.5;c.forEach(((e,r)=>e.attr("y",o+r*l-t))),d=l*s.length}let p=i.node().getBBox();i.insert("rect",":first-child").attr("class","box").attr("x",a-h/2-Qc().state.padding/2).attr("y",o-d/2-Qc().state.padding/2-3.5).attr("width",h+Qc().state.padding).attr("height",d+Qc().state.padding),r.info(p)}LAt++}),"drawEdge")})),qAt=k((()=>{jC(),N3(),y1(),L(),Oc(),GAt(),Qh(),Pc(),MAt={},RAt=w((function(){}),"setConf"),DAt=w((function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}),"insertMarkers"),OAt=w((function(t,e,n,i){IAt=Qc().state;let a,o=Qc().securityLevel;"sandbox"===o&&(a=Qf("#i"+e));let s=Qf("sandbox"===o?a.nodes()[0].contentDocument.body:"body"),l="sandbox"===o?a.nodes()[0].contentDocument:document;r.debug("Rendering diagram "+t);let c=s.select(`[id='${e}']`);DAt(c);let h=i.db.getRootDoc();BAt(h,c,void 0,!1,s,l,i);let u=IAt.padding,d=c.node().getBBox(),p=d.width+2*u,f=d.height+2*u;Lc(c,f,1.75*p,IAt.useMaxWidth),c.attr("viewBox",`${d.x-IAt.padding} ${d.y-IAt.padding} `+p+" "+f)}),"draw"),PAt=w((t=>t?t.length*IAt.fontSizeFactor:1),"getLabelWidth"),BAt=w(((t,e,n,i,a,o,s)=>{let l,c=new g1({compound:!0,multigraph:!0}),h=!0;for(l=0;l{let e=t.parentElement,r=0,n=0;e&&(e.parentElement&&(r=e.parentElement.getBBox().width),n=parseInt(e.getAttribute("data-x-shift"),10),Number.isNaN(n)&&(n=0)),t.setAttribute("x1",0-n+8),t.setAttribute("x2",r-n-8)}))):r.debug("No Node "+t+": "+JSON.stringify(c.node(t)))}));let m=g.getBBox();c.edges().forEach((function(t){void 0!==t&&void 0!==c.edge(t)&&(r.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(c.edge(t))),NAt(e,c.edge(t),c.edge(t).relation))})),m=g.getBBox();let y={id:n||"root",label:n||"root",width:0,height:0};return y.width=m.width+2*IAt.padding,y.height=m.height+2*IAt.padding,r.debug("Doc rendered",y,c),y}),"renderDoc"),FAt={setConf:RAt,draw:OAt}})),YAt={};E(YAt,{diagram:()=>jAt});var jAt,HAt=k((()=>{ZCt(),$At(),zAt(),qAt(),jAt={parser:fCt,db:hAt,renderer:FAt,styles:dAt,init:w((t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,hAt.clear()}),"init")}})),WAt={};E(WAt,{diagram:()=>VAt});var VAt,XAt,KAt,ZAt,QAt,JAt,tLt,eLt,rLt,nLt,iLt,aLt,oLt,sLt,lLt,cLt,hLt,uLt,dLt,pLt,fLt,gLt,mLt,yLt,vLt,xLt,bLt,wLt,kLt,TLt,ELt,_Lt=k((()=>{ZCt(),$At(),zAt(),fSt(),VAt={parser:fCt,db:hAt,renderer:dSt,styles:dAt,init:w((t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,hAt.clear()}),"init")}})),CLt=k((()=>{(XAt=function(){var t=w((function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r}),"o"),e=[6,8,10,11,12,14,16,17,18],r=[1,9],n=[1,10],i=[1,11],a=[1,12],o=[1,13],s=[1,14],l={trace:w((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:w((function(t,e,r,n,i,a,o){var s=a.length-1;switch(i){case 1:return a[s-1];case 2:case 6:case 7:this.$=[];break;case 3:a[s-1].push(a[s]),this.$=a[s-1];break;case 4:case 5:this.$=a[s];break;case 8:n.setDiagramTitle(a[s].substr(6)),this.$=a[s].substr(6);break;case 9:this.$=a[s].trim(),n.setAccTitle(this.$);break;case 10:case 11:this.$=a[s].trim(),n.setAccDescription(this.$);break;case 12:n.addSection(a[s].substr(8)),this.$=a[s].substr(8);break;case 13:n.addTask(a[s-1],a[s]),this.$="task"}}),"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:o,18:s},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:r,12:n,14:i,16:a,17:o,18:s},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:w((function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)}),"parseError"),parse:w((function(t){var e=this,r=[0],n=[],i=[null],a=[],o=this.table,s="",l=0,c=0,h=0,u=a.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,typeof d.yylloc>"u"&&(d.yylloc={});var g=d.yylloc;a.push(g);var m=d.options&&d.options.ranges;function y(){var t;return"number"!=typeof(t=n.pop()||d.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,w((function(t){r.length=r.length-2*t,i.length=i.length-t,a.length=a.length-t}),"popStack"),w(y,"lex");for(var v,x,b,k,T,E,_,C,S,A={};;){if(b=r[r.length-1],this.defaultActions[b]?k=this.defaultActions[b]:((null===v||typeof v>"u")&&(v=y()),k=o[b]&&o[b][v]),typeof k>"u"||!k.length||!k[0]){var L;for(E in S=[],o[b])this.terminals_[E]&&E>2&&S.push("'"+this.terminals_[E]+"'");L=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==v?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(L,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:g,expected:S})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(k[0]){case 1:r.push(v),i.push(d.yytext),a.push(d.yylloc),r.push(k[1]),v=null,x?(v=x,x=null):(c=d.yyleng,s=d.yytext,l=d.yylineno,g=d.yylloc,h>0&&h--);break;case 2:if(_=this.productions_[k[1]][1],A.$=i[i.length-_],A._$={first_line:a[a.length-(_||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(_||1)].first_column,last_column:a[a.length-1].last_column},m&&(A._$.range=[a[a.length-(_||1)].range[0],a[a.length-1].range[1]]),typeof(T=this.performAction.apply(A,[s,c,l,p.yy,k[1],i,a].concat(u)))<"u")return T;_&&(r=r.slice(0,-1*_*2),i=i.slice(0,-1*_),a=a.slice(0,-1*_)),r.push(this.productions_[k[1]][0]),i.push(A.$),a.push(A._$),C=o[r[r.length-2]][r[r.length-1]],r.push(C);break;case 3:return!0}}return!0}),"parse")},c={EOF:1,parseError:w((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:w((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:w((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:w((function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:w((function(){return this._more=!0,this}),"more"),reject:w((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:w((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:w((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:w((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:w((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:w((function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:w((function(){if(this.done)return this.EOF;var t,e,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:w((function(){return this.next()||this.lex()}),"lex"),begin:w((function(t){this.conditionStack.push(t)}),"begin"),popState:w((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:w((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:w((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:w((function(t){this.begin(t)}),"pushState"),stateStackSize:w((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:w((function(t,e,r,n){switch(r){case 0:case 1:case 3:case 4:break;case 2:return 10;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}}),"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};function h(){this.yy={}}return l.lexer=c,w(h,"Parser"),h.prototype=l,l.Parser=h,new h}()).parser=XAt,KAt=XAt})),SLt=k((()=>{Qh(),Zh(),ZAt="",QAt=[],JAt=[],tLt=[],eLt=w((function(){QAt.length=0,JAt.length=0,ZAt="",tLt.length=0,qc()}),"clear"),rLt=w((function(t){ZAt=t,QAt.push(t)}),"addSection"),nLt=w((function(){return QAt}),"getSections"),iLt=w((function(){let t=lLt(),e=0;for(;!t&&e<100;)t=lLt(),e++;return JAt.push(...tLt),JAt}),"getTasks"),aLt=w((function(){let t=[];return JAt.forEach((e=>{e.people&&t.push(...e.people)})),[...new Set(t)].sort()}),"updateActors"),oLt=w((function(t,e){let r=e.substr(1).split(":"),n=0,i=[];1===r.length?(n=Number(r[0]),i=[]):(n=Number(r[0]),i=r[1].split(","));let a=i.map((t=>t.trim())),o={section:ZAt,type:ZAt,people:a,task:t,score:n};tLt.push(o)}),"addTask"),sLt=w((function(t){let e={section:ZAt,type:ZAt,description:t,task:t,classes:[]};JAt.push(e)}),"addTaskOrg"),lLt=w((function(){let t=w((function(t){return tLt[t].processed}),"compileTask"),e=!0;for(let[r,n]of tLt.entries())t(r),e=e&&n.processed;return e}),"compileTasks"),cLt=w((function(){return aLt()}),"getActors"),hLt={getConfig:w((()=>Qc().journey),"getConfig"),clear:eLt,setDiagramTitle:Vc,getDiagramTitle:Xc,setAccTitle:Yc,getAccTitle:jc,setAccDescription:Hc,getAccDescription:Wc,addSection:rLt,getSections:nLt,getTasks:iLt,addTask:oLt,addTaskOrg:sLt,getActors:cLt}})),ALt=k((()=>{uLt=w((t=>`.label {\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n color: ${t.textColor};\n }\n .mouth {\n stroke: #666;\n }\n\n line {\n stroke: ${t.textColor}\n }\n\n .legend {\n fill: ${t.textColor};\n }\n\n .label text {\n fill: #333;\n }\n .label {\n color: ${t.textColor}\n }\n\n .face {\n ${t.faceColor?`fill: ${t.faceColor}`:"fill: #FFF8DC"};\n stroke: #999;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${t.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${t.lineColor};\n stroke-width: 1.5px;\n }\n\n .flowchart-link {\n stroke: ${t.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${t.edgeLabelBackground};\n rect {\n opacity: 0.5;\n }\n text-align: center;\n }\n\n .cluster rect {\n }\n\n .cluster text {\n fill: ${t.titleColor};\n }\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n font-size: 12px;\n background: ${t.tertiaryColor};\n border: 1px solid ${t.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .task-type-0, .section-type-0 {\n ${t.fillType0?`fill: ${t.fillType0}`:""};\n }\n .task-type-1, .section-type-1 {\n ${t.fillType0?`fill: ${t.fillType1}`:""};\n }\n .task-type-2, .section-type-2 {\n ${t.fillType0?`fill: ${t.fillType2}`:""};\n }\n .task-type-3, .section-type-3 {\n ${t.fillType0?`fill: ${t.fillType3}`:""};\n }\n .task-type-4, .section-type-4 {\n ${t.fillType0?`fill: ${t.fillType4}`:""};\n }\n .task-type-5, .section-type-5 {\n ${t.fillType0?`fill: ${t.fillType5}`:""};\n }\n .task-type-6, .section-type-6 {\n ${t.fillType0?`fill: ${t.fillType6}`:""};\n }\n .task-type-7, .section-type-7 {\n ${t.fillType0?`fill: ${t.fillType7}`:""};\n }\n\n .actor-0 {\n ${t.actor0?`fill: ${t.actor0}`:""};\n }\n .actor-1 {\n ${t.actor1?`fill: ${t.actor1}`:""};\n }\n .actor-2 {\n ${t.actor2?`fill: ${t.actor2}`:""};\n }\n .actor-3 {\n ${t.actor3?`fill: ${t.actor3}`:""};\n }\n .actor-4 {\n ${t.actor4?`fill: ${t.actor4}`:""};\n }\n .actor-5 {\n ${t.actor5?`fill: ${t.actor5}`:""};\n }\n`),"getStyles"),dLt=uLt})),LLt=k((()=>{jC(),VC(),pLt=w((function(t,e){return hC(t,e)}),"drawRect"),fLt=w((function(t,e){let r=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),n=t.append("g");function i(t){let r=ME().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(6.8181818181818175);t.append("path").attr("class","mouth").attr("d",r).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}function a(t){let r=ME().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(6.8181818181818175);t.append("path").attr("class","mouth").attr("d",r).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}function o(t){t.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return n.append("circle").attr("cx",e.cx-5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),n.append("circle").attr("cx",e.cx+5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),w(i,"smile"),w(a,"sad"),w(o,"ambivalent"),e.score>3?i(n):e.score<3?a(n):o(n),r}),"drawFace"),gLt=w((function(t,e){let r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),void 0!==r.class&&r.attr("class",r.class),void 0!==e.title&&r.append("title").text(e.title),r}),"drawCircle"),mLt=w((function(t,e){return dC(t,e)}),"drawText"),yLt=w((function(t,e){function r(t,e,r,n,i){return t+","+e+" "+(t+r)+","+e+" "+(t+r)+","+(e+n-i)+" "+(t+r-1.2*i)+","+(e+n)+" "+t+","+(e+n)}w(r,"genPoints");let n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,mLt(t,e)}),"drawLabel"),vLt=w((function(t,e,r){let n=t.append("g"),i=gC();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width*e.taskCount+r.diagramMarginX*(e.taskCount-1),i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,pLt(n,i),kLt(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)}),"drawSection"),xLt=-1,bLt=w((function(t,e,r){let n=e.x+r.width/2,i=t.append("g");xLt++,i.append("line").attr("id","task"+xLt).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),fLt(i,{cx:n,cy:300+30*(5-e.score),score:e.score});let a=gC();a.x=e.x,a.y=e.y,a.fill=e.fill,a.width=r.width,a.height=r.height,a.class="task task-type-"+e.num,a.rx=3,a.ry=3,pLt(i,a);let o=e.x+14;e.people.forEach((t=>{let r=e.actors[t].color,n={cx:o,cy:e.y,r:7,fill:r,stroke:"#000",title:t,pos:e.actors[t].position};gLt(i,n),o+=10})),kLt(r)(e.task,i,a.x,a.y,a.width,a.height,{class:"task"},r,e.colour)}),"drawTask"),wLt=w((function(t,e){uC(t,e)}),"drawBackgroundRect"),kLt=function(){function t(t,e,r,i,a,o,s,l){n(e.append("text").attr("x",r+a/2).attr("y",i+o/2+5).style("font-color",l).style("text-anchor","middle").text(t),s)}function e(t,e,r,i,a,o,s,l,c){let{taskFontSize:h,taskFontFamily:u}=l,d=t.split(//gi);for(let t=0;t{let i=MLt[n].color,a={cx:20,cy:r,r:7,fill:i,stroke:"#000",pos:MLt[n].position};ELt.drawCircle(t,a);let o={x:40,y:r+7,fill:"#666",text:n,textMargin:5|e.boxTextMargin};ELt.drawText(t,o),r+=20}))}var ILt,MLt,RLt,DLt,OLt,PLt,BLt,FLt,$Lt,zLt,ULt=k((()=>{jC(),LLt(),Qh(),Pc(),ILt=w((function(t){Object.keys(t).forEach((function(e){RLt[e]=t[e]}))}),"setConf"),MLt={},w(NLt,"drawActorLegend"),RLt=Qc().journey,DLt=RLt.leftMargin,OLt=w((function(t,e,r,n){let i,a=Qc().journey,o=Qc().securityLevel;"sandbox"===o&&(i=Qf("#i"+e));let s=Qf("sandbox"===o?i.nodes()[0].contentDocument.body:"body");PLt.init();let l=s.select("#"+e);ELt.initGraphics(l);let c=n.db.getTasks(),h=n.db.getDiagramTitle(),u=n.db.getActors();for(let t in MLt)delete MLt[t];let d=0;u.forEach((t=>{MLt[t]={color:a.actorColours[d%a.actorColours.length],position:d},d++})),NLt(l),PLt.insert(0,0,DLt,50*Object.keys(MLt).length),$Lt(l,c,0);let p=PLt.getBounds();h&&l.append("text").text(h).attr("x",DLt).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);let f=p.stopy-p.starty+2*a.diagramMarginY,g=DLt+p.stopx+2*a.diagramMarginX;Lc(l,f,g,a.useMaxWidth),l.append("line").attr("x1",DLt).attr("y1",4*a.height).attr("x2",g-DLt-4).attr("y2",4*a.height).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");let m=h?70:0;l.attr("viewBox",`${p.startx} -25 ${g} ${f+m}`),l.attr("preserveAspectRatio","xMinYMin meet"),l.attr("height",f+m+25)}),"draw"),PLt={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:w((function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0}),"init"),updateVal:w((function(t,e,r,n){void 0===t[e]?t[e]=r:t[e]=n(r,t[e])}),"updateVal"),updateBounds:w((function(t,e,r,n){let i=Qc().journey,a=this,o=0;function s(s){return w((function(l){o++;let c=a.sequenceItems.length-o+1;a.updateVal(l,"starty",e-c*i.boxMargin,Math.min),a.updateVal(l,"stopy",n+c*i.boxMargin,Math.max),a.updateVal(PLt.data,"startx",t-c*i.boxMargin,Math.min),a.updateVal(PLt.data,"stopx",r+c*i.boxMargin,Math.max),"activation"!==s&&(a.updateVal(l,"startx",t-c*i.boxMargin,Math.min),a.updateVal(l,"stopx",r+c*i.boxMargin,Math.max),a.updateVal(PLt.data,"starty",e-c*i.boxMargin,Math.min),a.updateVal(PLt.data,"stopy",n+c*i.boxMargin,Math.max))}),"updateItemBounds")}w(s,"updateFn"),this.sequenceItems.forEach(s())}),"updateBounds"),insert:w((function(t,e,r,n){let i=Math.min(t,r),a=Math.max(t,r),o=Math.min(e,n),s=Math.max(e,n);this.updateVal(PLt.data,"startx",i,Math.min),this.updateVal(PLt.data,"starty",o,Math.min),this.updateVal(PLt.data,"stopx",a,Math.max),this.updateVal(PLt.data,"stopy",s,Math.max),this.updateBounds(i,o,a,s)}),"insert"),bumpVerticalPos:w((function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos}),"bumpVerticalPos"),getVerticalPos:w((function(){return this.verticalPos}),"getVerticalPos"),getBounds:w((function(){return this.data}),"getBounds")},BLt=RLt.sectionFills,FLt=RLt.sectionColours,$Lt=w((function(t,e,r){let n=Qc().journey,i="",a=r+(2*n.height+n.diagramMarginY),o=0,s="#CCC",l="black",c=0;for(let[r,h]of e.entries()){if(i!==h.section){s=BLt[o%BLt.length],c=o%BLt.length,l=FLt[o%FLt.length];let a=0,u=h.section;for(let t=r;t(MLt[e]&&(t[e]=MLt[e]),t)),{});h.x=r*n.taskMargin+r*n.width+DLt,h.y=a,h.width=n.diagramMarginX,h.height=n.diagramMarginY,h.colour=l,h.fill=s,h.num=c,h.actors=u,ELt.drawTask(t,h,n),PLt.insert(h.x,h.y,h.x+h.width+n.taskMargin,450)}}),"drawTasks"),zLt={setConf:ILt,draw:OLt}})),GLt={};E(GLt,{diagram:()=>qLt});var qLt,YLt,jLt,HLt=k((()=>{CLt(),SLt(),ALt(),ULt(),qLt={parser:KAt,db:hLt,renderer:zLt,styles:dLt,init:w((t=>{zLt.setConf(t.journey),hLt.clear()}),"init")}})),WLt=k((()=>{(YLt=function(){var t=w((function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r}),"o"),e=[6,8,10,11,12,14,16,17,20,21],r=[1,9],n=[1,10],i=[1,11],a=[1,12],o=[1,13],s=[1,16],l=[1,17],c={trace:w((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:w((function(t,e,r,n,i,a,o){var s=a.length-1;switch(i){case 1:return a[s-1];case 2:case 6:case 7:this.$=[];break;case 3:a[s-1].push(a[s]),this.$=a[s-1];break;case 4:case 5:this.$=a[s];break;case 8:n.getCommonDb().setDiagramTitle(a[s].substr(6)),this.$=a[s].substr(6);break;case 9:this.$=a[s].trim(),n.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=a[s].trim(),n.getCommonDb().setAccDescription(this.$);break;case 12:n.addSection(a[s].substr(8)),this.$=a[s].substr(8);break;case 15:n.addTask(a[s],0,""),this.$=a[s];break;case 16:n.addEvent(a[s].substr(2)),this.$=a[s]}}),"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:o,18:14,19:15,20:s,21:l},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:18,11:r,12:n,14:i,16:a,17:o,18:14,19:15,20:s,21:l},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,19]},{15:[1,20]},t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,4]),t(e,[2,9]),t(e,[2,10])],defaultActions:{},parseError:w((function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)}),"parseError"),parse:w((function(t){var e=this,r=[0],n=[],i=[null],a=[],o=this.table,s="",l=0,c=0,h=0,u=a.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,typeof d.yylloc>"u"&&(d.yylloc={});var g=d.yylloc;a.push(g);var m=d.options&&d.options.ranges;function y(){var t;return"number"!=typeof(t=n.pop()||d.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,w((function(t){r.length=r.length-2*t,i.length=i.length-t,a.length=a.length-t}),"popStack"),w(y,"lex");for(var v,x,b,k,T,E,_,C,S,A={};;){if(b=r[r.length-1],this.defaultActions[b]?k=this.defaultActions[b]:((null===v||typeof v>"u")&&(v=y()),k=o[b]&&o[b][v]),typeof k>"u"||!k.length||!k[0]){var L;for(E in S=[],o[b])this.terminals_[E]&&E>2&&S.push("'"+this.terminals_[E]+"'");L=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==v?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(L,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:g,expected:S})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(k[0]){case 1:r.push(v),i.push(d.yytext),a.push(d.yylloc),r.push(k[1]),v=null,x?(v=x,x=null):(c=d.yyleng,s=d.yytext,l=d.yylineno,g=d.yylloc,h>0&&h--);break;case 2:if(_=this.productions_[k[1]][1],A.$=i[i.length-_],A._$={first_line:a[a.length-(_||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(_||1)].first_column,last_column:a[a.length-1].last_column},m&&(A._$.range=[a[a.length-(_||1)].range[0],a[a.length-1].range[1]]),typeof(T=this.performAction.apply(A,[s,c,l,p.yy,k[1],i,a].concat(u)))<"u")return T;_&&(r=r.slice(0,-1*_*2),i=i.slice(0,-1*_),a=a.slice(0,-1*_)),r.push(this.productions_[k[1]][0]),i.push(A.$),a.push(A._$),C=o[r[r.length-2]][r[r.length-1]],r.push(C);break;case 3:return!0}}return!0}),"parse")},h={EOF:1,parseError:w((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:w((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:w((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:w((function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:w((function(){return this._more=!0,this}),"more"),reject:w((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:w((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:w((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:w((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:w((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:w((function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:w((function(){if(this.done)return this.EOF;var t,e,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:w((function(){return this.next()||this.lex()}),"lex"),begin:w((function(t){this.conditionStack.push(t)}),"begin"),popState:w((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:w((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:w((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:w((function(t){this.begin(t)}),"pushState"),stateStackSize:w((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:w((function(t,e,r,n){switch(r){case 0:case 1:case 3:case 4:break;case 2:return 10;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}}),"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s[^:\n]+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}};function u(){this.yy={}}return c.lexer=h,w(u,"Parser"),u.prototype=c,c.Parser=u,new u}()).parser=YLt,jLt=YLt})),VLt={};E(VLt,{addEvent:()=>oNt,addSection:()=>rNt,addTask:()=>aNt,addTaskOrg:()=>sNt,clear:()=>eNt,default:()=>cNt,getCommonDb:()=>tNt,getSections:()=>nNt,getTasks:()=>iNt});var XLt,KLt,ZLt,QLt,JLt,tNt,eNt,rNt,nNt,iNt,aNt,oNt,sNt,lNt,cNt,hNt=k((()=>{Zh(),XLt="",KLt=0,ZLt=[],QLt=[],JLt=[],tNt=w((()=>Fc),"getCommonDb"),eNt=w((function(){ZLt.length=0,QLt.length=0,XLt="",JLt.length=0,qc()}),"clear"),rNt=w((function(t){XLt=t,ZLt.push(t)}),"addSection"),nNt=w((function(){return ZLt}),"getSections"),iNt=w((function(){let t=lNt(),e=0;for(;!t&&e<100;)t=lNt(),e++;return QLt.push(...JLt),QLt}),"getTasks"),aNt=w((function(t,e,r){let n={id:KLt++,section:XLt,type:XLt,task:t,score:e||0,events:r?[r]:[]};JLt.push(n)}),"addTask"),oNt=w((function(t){JLt.find((t=>t.id===KLt-1)).events.push(t)}),"addEvent"),sNt=w((function(t){let e={section:XLt,type:XLt,description:t,task:t,classes:[]};QLt.push(e)}),"addTaskOrg"),lNt=w((function(){let t=w((function(t){return JLt[t].processed}),"compileTask"),e=!0;for(let[r,n]of JLt.entries())t(r),e=e&&n.processed;return e}),"compileTasks"),cNt={clear:eNt,getCommonDb:tNt,addSection:rNt,getSections:nNt,getTasks:iNt,addTask:aNt,addTaskOrg:sNt,addEvent:oNt}}));function uNt(t,e){t.each((function(){var t,r=Qf(this),n=r.text().split(/(\s+|
    )/).reverse(),i=[],a=r.attr("y"),o=parseFloat(r.attr("dy")),s=r.text(null).append("tspan").attr("x",0).attr("y",a).attr("dy",o+"em");for(let o=0;oe||"
    "===t)&&(i.pop(),s.text(i.join(" ").trim()),i="
    "===t?[""]:[t],s=r.append("tspan").attr("x",0).attr("y",a).attr("dy","1.1em").text(t))}))}var dNt,pNt,fNt,gNt,mNt,yNt,vNt,xNt,bNt,wNt,kNt,TNt,ENt,_Nt,CNt,SNt,ANt,LNt,NNt,INt,MNt,RNt,DNt,ONt,PNt=k((()=>{jC(),dNt=w((function(t,e){let r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),void 0!==e.class&&r.attr("class",e.class),r}),"drawRect"),pNt=w((function(t,e){let r=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),n=t.append("g");function i(t){let r=ME().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(6.8181818181818175);t.append("path").attr("class","mouth").attr("d",r).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}function a(t){let r=ME().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(6.8181818181818175);t.append("path").attr("class","mouth").attr("d",r).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}function o(t){t.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return n.append("circle").attr("cx",e.cx-5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),n.append("circle").attr("cx",e.cx+5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),w(i,"smile"),w(a,"sad"),w(o,"ambivalent"),e.score>3?i(n):e.score<3?a(n):o(n),r}),"drawFace"),fNt=w((function(t,e){let r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),void 0!==r.class&&r.attr("class",r.class),void 0!==e.title&&r.append("title").text(e.title),r}),"drawCircle"),gNt=w((function(t,e){let r=e.text.replace(//gi," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),void 0!==e.class&&n.attr("class",e.class);let i=n.append("tspan");return i.attr("x",e.x+2*e.textMargin),i.text(r),n}),"drawText"),mNt=w((function(t,e){function r(t,e,r,n,i){return t+","+e+" "+(t+r)+","+e+" "+(t+r)+","+(e+n-i)+" "+(t+r-1.2*i)+","+(e+n)+" "+t+","+(e+n)}w(r,"genPoints");let n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,gNt(t,e)}),"drawLabel"),yNt=w((function(t,e,r){let n=t.append("g"),i=kNt();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width,i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,dNt(n,i),TNt(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)}),"drawSection"),vNt=-1,xNt=w((function(t,e,r){let n=e.x+r.width/2,i=t.append("g");vNt++,i.append("line").attr("id","task"+vNt).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),pNt(i,{cx:n,cy:300+30*(5-e.score),score:e.score});let a=kNt();a.x=e.x,a.y=e.y,a.fill=e.fill,a.width=r.width,a.height=r.height,a.class="task task-type-"+e.num,a.rx=3,a.ry=3,dNt(i,a),TNt(r)(e.task,i,a.x,a.y,a.width,a.height,{class:"task"},r,e.colour)}),"drawTask"),bNt=w((function(t,e){dNt(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()}),"drawBackgroundRect"),wNt=w((function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}}),"getTextObj"),kNt=w((function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}}),"getNoteRect"),TNt=function(){function t(t,e,r,i,a,o,s,l){n(e.append("text").attr("x",r+a/2).attr("y",i+o/2+5).style("font-color",l).style("text-anchor","middle").text(t),s)}function e(t,e,r,i,a,o,s,l,c){let{taskFontSize:h,taskFontFamily:u}=l,d=t.split(//gi);for(let t=0;t{jC(),PNt(),L(),Qh(),Pc(),LNt=w((function(t,e,n,i){let a=Qc(),o=a.leftMargin??50;r.debug("timeline",i.db);let s,l=a.securityLevel;"sandbox"===l&&(s=Qf("#i"+e));let c=Qf("sandbox"===l?s.nodes()[0].contentDocument.body:"body").select("#"+e);c.append("g");let h=i.db.getTasks(),u=i.db.getCommonDb().getDiagramTitle();r.debug("task",h),ANt.initGraphics(c);let d=i.db.getSections();r.debug("sections",d);let p=0,f=0,g=0,m=0,y=50+o,v=50;m=50;let x=0,b=!0;d.forEach((function(t){let e={number:x,descr:t,section:x,width:150,padding:20,maxHeight:p},n=ANt.getVirtualNodeHeight(c,e,a);r.debug("sectionHeight before draw",n),p=Math.max(p,n+20)}));let w=0,k=0;r.debug("tasks.length",h.length);for(let[t,e]of h.entries()){let n={number:t,descr:e,section:e.section,width:150,padding:20,maxHeight:f},i=ANt.getVirtualNodeHeight(c,n,a);r.debug("taskHeight before draw",i),f=Math.max(f,i+20),w=Math.max(w,e.events.length);let o=0;for(let t of e.events){let r={descr:t,section:e.section,number:e.section,width:150,padding:20,maxHeight:50};o+=ANt.getVirtualNodeHeight(c,r,a)}k=Math.max(k,o)}r.debug("maxSectionHeight before draw",p),r.debug("maxTaskHeight before draw",f),d&&d.length>0?d.forEach((t=>{let e=h.filter((e=>e.section===t)),n={number:x,descr:t,section:x,width:200*Math.max(e.length,1)-50,padding:20,maxHeight:p};r.debug("sectionNode",n);let i=c.append("g"),o=ANt.drawNode(i,n,x,a);r.debug("sectionNode output",o),i.attr("transform",`translate(${y}, 50)`),v+=p+50,e.length>0&&NNt(c,e,x,y,v,f,a,w,k,p,!1),y+=200*Math.max(e.length,1),v=50,x++})):(b=!1,NNt(c,h,x,y,v,f,a,w,k,p,!0));let T=c.node().getBBox();r.debug("bounds",T),u&&c.append("text").text(u).attr("x",T.width/2-o).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),g=b?p+f+150:f+100,c.append("g").attr("class","lineWrapper").append("line").attr("x1",o).attr("y1",g).attr("x2",T.width+3*o).attr("y2",g).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),Nc(void 0,c,a.timeline?.padding??50,a.timeline?.useMaxWidth??!1)}),"draw"),NNt=w((function(t,e,n,i,a,o,s,l,c,h,u){for(let l of e){let e={descr:l.task,section:n,number:n,width:150,padding:20,maxHeight:o};r.debug("taskNode",e);let d=t.append("g").attr("class","taskWrapper"),p=ANt.drawNode(d,e,n,s).height;if(r.debug("taskHeight after draw",p),d.attr("transform",`translate(${i}, ${a})`),o=Math.max(o,p),l.events){let e=t.append("g").attr("class","lineWrapper"),r=o;a+=100,r+=INt(t,l.events,n,i,a,s),a-=100,e.append("line").attr("x1",i+95).attr("y1",a+o).attr("x2",i+95).attr("y2",a+o+(u?o:h)+c+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}i+=200,u&&!s.timeline?.disableMulticolor&&n++}a-=10}),"drawTasks"),INt=w((function(t,e,n,i,a,o){let s=0,l=a;a+=100;for(let l of e){let e={descr:l,section:n,number:n,width:150,padding:20,maxHeight:50};r.debug("eventNode",e);let c=t.append("g").attr("class","eventWrapper"),h=ANt.drawNode(c,e,n,o).height;s+=h,c.attr("transform",`translate(${i}, ${a})`),a=a+10+h}return a=l,s}),"drawEvents"),MNt={setConf:w((()=>{}),"setConf"),draw:LNt}})),FNt=k((()=>{Yr(),RNt=w((t=>{let e="";for(let e=0;e`\n .edge {\n stroke-width: 3;\n }\n ${RNt(t)}\n .section-root rect, .section-root path, .section-root circle {\n fill: ${t.git0};\n }\n .section-root text {\n fill: ${t.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .eventWrapper {\n filter: brightness(120%);\n }\n`),"getStyles"),ONt=DNt})),$Nt={};E($Nt,{diagram:()=>zNt});var zNt,UNt,GNt,qNt,YNt,jNt,HNt,WNt,VNt,XNt,KNt,ZNt,QNt,JNt,tIt,eIt,rIt,nIt,iIt=k((()=>{WLt(),hNt(),BNt(),FNt(),zNt={db:VLt,renderer:MNt,parser:jLt,styles:ONt}})),aIt=k((()=>{(UNt=function(){var t=w((function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r}),"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],o=[1,20],s=[1,19],l=[6,7,8],c=[1,26],h=[1,24],u=[1,25],d=[6,7,11],p=[1,6,13,15,16,19,22],f=[1,33],g=[1,34],m=[1,6,7,11,13,15,16,19,22],y={trace:w((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:w((function(t,e,r,n,i,a,o){var s=a.length-1;switch(i){case 6:case 7:return n;case 8:n.getLogger().trace("Stop NL ");break;case 9:n.getLogger().trace("Stop EOF ");break;case 11:n.getLogger().trace("Stop NL2 ");break;case 12:n.getLogger().trace("Stop EOF2 ");break;case 15:n.getLogger().info("Node: ",a[s].id),n.addNode(a[s-1].length,a[s].id,a[s].descr,a[s].type);break;case 16:n.getLogger().trace("Icon: ",a[s]),n.decorateNode({icon:a[s]});break;case 17:case 21:n.decorateNode({class:a[s]});break;case 18:n.getLogger().trace("SPACELIST");break;case 19:n.getLogger().trace("Node: ",a[s].id),n.addNode(0,a[s].id,a[s].descr,a[s].type);break;case 20:n.decorateNode({icon:a[s]});break;case 25:n.getLogger().trace("node found ..",a[s-2]),this.$={id:a[s-1],descr:a[s-1],type:n.getType(a[s-2],a[s])};break;case 26:this.$={id:a[s],descr:a[s],type:n.nodeType.DEFAULT};break;case 27:n.getLogger().trace("node found ..",a[s-3]),this.$={id:a[s-3],descr:a[s-1],type:n.getType(a[s-2],a[s])}}}),"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:o,22:s},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:o,22:s},{6:r,9:22,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:o,22:s},{6:c,7:h,10:23,11:u},t(d,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:o,22:s}),t(d,[2,18]),t(d,[2,19]),t(d,[2,20]),t(d,[2,21]),t(d,[2,23]),t(d,[2,24]),t(d,[2,26],{19:[1,30]}),{20:[1,31]},{6:c,7:h,10:32,11:u},{1:[2,7],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:o,22:s},t(p,[2,14],{7:f,11:g}),t(m,[2,8]),t(m,[2,9]),t(m,[2,10]),t(d,[2,15]),t(d,[2,16]),t(d,[2,17]),{20:[1,35]},{21:[1,36]},t(p,[2,13],{7:f,11:g}),t(m,[2,11]),t(m,[2,12]),{21:[1,37]},t(d,[2,25]),t(d,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:w((function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)}),"parseError"),parse:w((function(t){var e=this,r=[0],n=[],i=[null],a=[],o=this.table,s="",l=0,c=0,h=0,u=a.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,typeof d.yylloc>"u"&&(d.yylloc={});var g=d.yylloc;a.push(g);var m=d.options&&d.options.ranges;function y(){var t;return"number"!=typeof(t=n.pop()||d.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,w((function(t){r.length=r.length-2*t,i.length=i.length-t,a.length=a.length-t}),"popStack"),w(y,"lex");for(var v,x,b,k,T,E,_,C,S,A={};;){if(b=r[r.length-1],this.defaultActions[b]?k=this.defaultActions[b]:((null===v||typeof v>"u")&&(v=y()),k=o[b]&&o[b][v]),typeof k>"u"||!k.length||!k[0]){var L;for(E in S=[],o[b])this.terminals_[E]&&E>2&&S.push("'"+this.terminals_[E]+"'");L=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==v?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(L,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:g,expected:S})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(k[0]){case 1:r.push(v),i.push(d.yytext),a.push(d.yylloc),r.push(k[1]),v=null,x?(v=x,x=null):(c=d.yyleng,s=d.yytext,l=d.yylineno,g=d.yylloc,h>0&&h--);break;case 2:if(_=this.productions_[k[1]][1],A.$=i[i.length-_],A._$={first_line:a[a.length-(_||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(_||1)].first_column,last_column:a[a.length-1].last_column},m&&(A._$.range=[a[a.length-(_||1)].range[0],a[a.length-1].range[1]]),typeof(T=this.performAction.apply(A,[s,c,l,p.yy,k[1],i,a].concat(u)))<"u")return T;_&&(r=r.slice(0,-1*_*2),i=i.slice(0,-1*_),a=a.slice(0,-1*_)),r.push(this.productions_[k[1]][0]),i.push(A.$),a.push(A._$),C=o[r[r.length-2]][r[r.length-1]],r.push(C);break;case 3:return!0}}return!0}),"parse")},v={EOF:1,parseError:w((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:w((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:w((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:w((function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:w((function(){return this._more=!0,this}),"more"),reject:w((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:w((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:w((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:w((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:w((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:w((function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:w((function(){if(this.done)return this.EOF;var t,e,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:w((function(){return this.next()||this.lex()}),"lex"),begin:w((function(t){this.conditionStack.push(t)}),"begin"),popState:w((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:w((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:w((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:w((function(t){this.begin(t)}),"pushState"),stateStackSize:w((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:w((function(t,e,r,n){switch(r){case 0:return t.getLogger().trace("Found comment",e.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:case 23:case 26:this.popState();break;case 5:t.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return t.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:t.getLogger().trace("end icon"),this.popState();break;case 10:return t.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return t.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return t.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return t.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:case 15:case 16:case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 24:t.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return t.getLogger().trace("description:",e.yytext),"NODE_DESCR";case 27:return this.popState(),t.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),t.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),t.getLogger().trace("node end ...",e.yytext),"NODE_DEND";case 30:case 33:case 34:return this.popState(),t.getLogger().trace("node end (("),"NODE_DEND";case 31:case 32:return this.popState(),t.getLogger().trace("node end (-"),"NODE_DEND";case 35:case 36:return t.getLogger().trace("Long description:",e.yytext),20}}),"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};function x(){this.yy={}}return y.lexer=v,w(x,"Parser"),x.prototype=y,y.Parser=x,new x}()).parser=UNt,GNt=UNt})),oIt=k((()=>{Qh(),Oc(),L(),tn(),qNt=[],YNt=0,jNt={},HNt=w((()=>{qNt=[],YNt=0,jNt={}}),"clear"),WNt=w((function(t){for(let e=qNt.length-1;e>=0;e--)if(qNt[e].levelqNt.length>0?qNt[0]:null),"getMindmap"),XNt=w(((t,e,n,i)=>{r.info("addNode",t,e,n,i);let a=Qc(),o=a.mindmap?.padding??Ye.mindmap.padding;switch(i){case KNt.ROUNDED_RECT:case KNt.RECT:case KNt.HEXAGON:o*=2}let s={id:YNt++,nodeId:sc(e,a),level:t,descr:sc(n,a),type:i,children:[],width:a.mindmap?.maxNodeWidth??Ye.mindmap.maxNodeWidth,padding:o},l=WNt(t);if(l)l.children.push(s),qNt.push(s);else{if(0!==qNt.length)throw new Error('There can be only one root. No parent could be found for ("'+s.descr+'")');qNt.push(s)}}),"addNode"),KNt={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},ZNt=w(((t,e)=>{switch(r.debug("In get type",t,e),t){case"[":return KNt.RECT;case"(":return")"===e?KNt.ROUNDED_RECT:KNt.CLOUD;case"((":return KNt.CIRCLE;case")":return KNt.CLOUD;case"))":return KNt.BANG;case"{{":return KNt.HEXAGON;default:return KNt.DEFAULT}}),"getType"),QNt=w(((t,e)=>{jNt[t]=e}),"setElementForId"),JNt=w((t=>{if(!t)return;let e=Qc(),r=qNt[qNt.length-1];t.icon&&(r.icon=sc(t.icon,e)),t.class&&(r.class=sc(t.class,e))}),"decorateNode"),tIt=w((t=>{switch(t){case KNt.DEFAULT:return"no-border";case KNt.RECT:return"rect";case KNt.ROUNDED_RECT:return"rounded-rect";case KNt.CIRCLE:return"circle";case KNt.CLOUD:return"cloud";case KNt.BANG:return"bang";case KNt.HEXAGON:return"hexgon";default:return"no-border"}}),"type2Str"),eIt=w((()=>r),"getLogger"),rIt=w((t=>jNt[t]),"getElementById"),nIt={clear:HNt,addNode:XNt,getMindmap:VNt,nodeType:KNt,getType:ZNt,setElementForId:QNt,decorateNode:JNt,type2Str:tIt,getLogger:eIt,getElementById:rIt}}));function sIt(t){return(sIt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function lIt(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function cIt(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}}),"n"),e:w((function(t){throw t}),"e"),f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:w((function(){r=r.call(t)}),"s"),n:w((function(){var t=r.next();return o=t.done,t}),"n"),e:w((function(t){s=!0,a=t}),"e"),f:w((function(){try{!o&&null!=r.return&&r.return()}finally{if(s)throw a}}),"f")}}function xIt(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function bIt(t,e){return t(e={exports:{}},e.exports),e.exports}function wIt(t){for(var e=t.length;e--&&EDt.test(t.charAt(e)););return e}function kIt(t){return t&&t.slice(0,_Dt(t)+1).replace(CDt,"")}function TIt(t){var e=IDt.call(t,RDt),r=t[RDt];try{t[RDt]=void 0;var n=!0}catch{}var i=MDt.call(t);return n&&(e?t[RDt]=r:delete t[RDt]),i}function EIt(t){return PDt.call(t)}function _It(t){return null==t?void 0===t?$Dt:FDt:zDt&&zDt in Object(t)?DDt(t):BDt(t)}function CIt(t){return null!=t&&"object"==typeof t}function SIt(t){return"symbol"==typeof t||GDt(t)&&UDt(t)==qDt}function AIt(t){if("number"==typeof t)return t;if(YDt(t))return jDt;if(gDt(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=gDt(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=SDt(t);var r=WDt.test(t);return r||VDt.test(t)?XDt(t.slice(2),r?2:8):HDt.test(t)?jDt:+t}function LIt(t,e,r){var n,i,a,o,s,l,c=0,h=!1,u=!1,d=!0;if("function"!=typeof t)throw new TypeError(ZDt);function p(e){var r=n,a=i;return n=i=void 0,c=e,o=t.apply(a,r)}function f(t){return c=t,s=setTimeout(y,e),h?p(t):o}function g(t){var r=e-(t-l);return u?JDt(r,a-(t-c)):r}function m(t){var r=t-l;return void 0===l||r>=e||r<0||u&&t-c>=a}function y(){var t=TDt();if(m(t))return v(t);s=setTimeout(y,g(t))}function v(t){return s=void 0,d&&n?p(t):(n=i=void 0,o)}function x(){void 0!==s&&clearTimeout(s),c=0,n=l=i=s=void 0}function b(){return void 0===s?o:v(TDt())}function k(){var t=TDt(),r=m(t);if(n=arguments,i=this,l=t,r){if(void 0===s)return f(l);if(u)return clearTimeout(s),s=setTimeout(y,e),p(l)}return void 0===s&&(s=setTimeout(y,e)),o}return e=KDt(e)||0,gDt(r)&&(h=!!r.leading,a=(u="maxWait"in r)?QDt(KDt(r.maxWait)||0,e):a,d="trailing"in r?!!r.trailing:d),w(p,"invokeFunc"),w(f,"leadingEdge"),w(g,"remainingWait"),w(m,"shouldInvoke"),w(y,"timerExpired"),w(v,"trailingEdge"),w(x,"cancel"),w(b,"flush"),w(k,"debounced"),k.cancel=x,k.flush=b,k}function NIt(t,e,r,n,i,a){var o;return o=NRt(t)?t:YBt[t]||YBt.euclidean,0===e&&NRt(t)?o(i,a):o(e,r,n,i,a)}function IIt(t,e){if(YFt(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!YDt(t))||HFt.test(t)||!jFt.test(t)||null!=e&&t in Object(e)}function MIt(t){if(!gDt(t))return!1;var e=UDt(t);return e==XFt||e==KFt||e==VFt||e==ZFt}function RIt(t){return!!e$t&&e$t in t}function DIt(t){if(null!=t){try{return i$t.call(t)}catch{}try{return t+""}catch{}}return""}function OIt(t){return!(!gDt(t)||r$t(t))&&(QFt(t)?d$t:s$t).test(a$t(t))}function PIt(t,e){return t?.[e]}function BIt(t,e){var r=f$t(t,e);return p$t(r)?r:void 0}function FIt(){this.__data__=y$t?y$t(null):{},this.size=0}function $It(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}function zIt(t){var e=this.__data__;if(y$t){var r=e[t];return r===b$t?void 0:r}return k$t.call(e,t)?e[t]:void 0}function UIt(t){var e=this.__data__;return y$t?void 0!==e[t]:_$t.call(e,t)}function GIt(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=y$t&&void 0===e?S$t:e,this}function qIt(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e-1}function KIt(t,e){var r=this.__data__,n=M$t(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}function ZIt(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e-1&&t%1==0&&t0;){var c=i.shift();e(c),a.add(c.id()),o&&n(i,a,c)}return t}function TMt(t,e,r){if(r.isParent())for(var n=r._private.children,i=0;i0&&void 0!==arguments[0]?arguments[0]:tGt,e=arguments.length>1?arguments[1]:void 0,r=0;r0?i=l:n=l}while(Math.abs(s)>a&&++c=.001?y(e,o):0===c?o:x(e,n,n+l)}w(d,"A"),w(p,"B"),w(f,"C"),w(g,"calcBezier"),w(m,"getSlope"),w(y,"newtonRaphsonIterate"),w(v,"calcSampleValues"),w(x,"binarySubdivide"),w(b,"getTForX");var k=!1;function T(){k=!0,(t!==e||r!==n)&&v()}w(T,"precompute");var E=w((function(i){return k||T(),t===e&&r===n?i:0===i?0:1===i?1:g(b(i),e,n)}),"f");E.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var _="generateBezier("+[t,e,r,n]+")";return E.toString=function(){return _},E}function GMt(t,e,r,n,i){if(1===n||e===r)return r;var a=i(e,r,n);return null==t||((t.roundValue||t.color)&&(a=Math.round(a)),void 0!==t.min&&(a=Math.max(a,t.min)),void 0!==t.max&&(a=Math.min(a,t.max))),a}function qMt(t,e){return null!=t.pfValue||null!=t.value?null==t.pfValue||null!=e&&"%"===e.type.units?t.value:t.pfValue:t}function YMt(t,e,r,n,i){var a=null!=i?i.type:null;r<0?r=0:r>1&&(r=1);var o=qMt(t,i),s=qMt(e,i);if(DRt(o)&&DRt(s))return GMt(a,o,s,r,n);if(IRt(o)&&IRt(s)){for(var l=[],c=0;c0?("spring"===u&&d.push(o.duration),o.easingImpl=IGt[u].apply(null,d)):o.easingImpl=IGt[u]}var p,f=o.easingImpl;if(p=0===o.duration?1:(r-l)/o.duration,o.applying&&(p=o.progress),p<0?p=0:p>1&&(p=1),null==o.delay){var g=o.startPosition,m=o.position;if(m&&i&&!t.locked()){var y={};HMt(g.x,m.x)&&(y.x=YMt(g.x,m.x,p,f)),HMt(g.y,m.y)&&(y.y=YMt(g.y,m.y,p,f)),t.position(y)}var v=o.startPan,x=o.pan,b=a.pan,w=null!=x&&n;w&&(HMt(v.x,x.x)&&(b.x=YMt(v.x,x.x,p,f)),HMt(v.y,x.y)&&(b.y=YMt(v.y,x.y,p,f)),t.emit("pan"));var k=o.startZoom,T=o.zoom,E=null!=T&&n;E&&(HMt(k,T)&&(a.zoom=SPt(a.minZoom,YMt(k,T,p,f),a.maxZoom)),t.emit("zoom")),(w||E)&&t.emit("viewport");var _=o.style;if(_&&_.length>0&&i){for(var C=0;C<_.length;C++){var S=_[C],A=S.name,L=S,N=o.startStyle[A],I=YMt(N,L,p,f,c.properties[N.name]);c.overrideBypass(t,A,I)}t.emit("style")}}return o.progress=p,p}function HMt(t,e){return!!(null!=t&&null!=e&&(DRt(t)&&DRt(e)||t&&e))}function WMt(t,e,r,n){var i=e._private;i.started=!0,i.startTime=r-i.progress*i.duration}function VMt(t,e){var r=e._private.aniEles,n=[];function i(e,r){var i=e._private,a=i.animation.current,o=i.animation.queue,s=!1;if(0===a.length){var l=o.shift();l&&a.push(l)}for(var c=w((function(t){for(var e=t.length-1;e>=0;e--)(0,t[e])();t.splice(0,t.length)}),"callbacks"),h=a.length-1;h>=0;h--){var u=a[h],d=u._private;d.stopped?(a.splice(h,1),d.hooked=!1,d.playing=!1,d.started=!1,c(d.frames)):!d.playing&&!d.applying||(d.playing&&d.applying&&(d.applying=!1),d.started||WMt(0,u,t),jMt(e,u,t,r),d.applying&&(d.applying=!1),c(d.frames),null!=d.step&&d.step(t),u.completed()&&(a.splice(h,1),d.hooked=!1,d.playing=!1,d.started=!1,c(d.completes)),s=!0)}return!r&&0===a.length&&0===o.length&&n.push(e),s}w(i,"stepOne");for(var a=!1,o=0;o0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}function XMt(t){this.options=oDt({},iqt,aqt,t)}function KMt(t){this.options=oDt({},lqt,t)}function ZMt(t){this.options=oDt({},cqt,t)}function QMt(t){this.options=oDt({},uqt,t),this.options.layout=this;var e=this.options.eles.nodes(),r=this.options.eles.edges().filter((function(t){var r=t.source().data("id"),n=t.target().data("id"),i=e.some((function(t){return t.data("id")===r})),a=e.some((function(t){return t.data("id")===n}));return!i||!a}));this.options.eles=this.options.eles.not(r)}function JMt(t){this.options=oDt({},Iqt,t)}function tRt(t){this.options=oDt({},Mqt,t)}function eRt(t){this.options=oDt({},Rqt,t)}function rRt(t){this.options=oDt({},Dqt,t)}function nRt(t){this.options=t,this.notifications=0}function iRt(t,e){0===e.radius?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function aRt(t,e,r,n){var i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];return 0===n||0===e.radius?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(lYt(t,e,r,n,i),{cx:Uqt,cy:Gqt,radius:Zqt,startX:eYt,startY:rYt,stopX:nYt,stopY:iYt,startAngle:qqt.ang+Math.PI/2*Wqt,endAngle:Yqt.ang-Math.PI/2*Wqt,counterClockwise:Vqt})}function oRt(t){var e=[];if(null!=t){for(var r=0;r5&&void 0!==arguments[5]?arguments[5]:5,o=arguments.length>6?arguments[6]:void 0;t.beginPath(),t.moveTo(e+a,r),t.lineTo(e+n-a,r),t.quadraticCurveTo(e+n,r,e+n,r+a),t.lineTo(e+n,r+i-a),t.quadraticCurveTo(e+n,r+i,e+n-a,r+i),t.lineTo(e+a,r+i),t.quadraticCurveTo(e,r+i,e,r+i-a),t.lineTo(e,r+a),t.quadraticCurveTo(e,r,e+a,r),t.closePath(),o?t.stroke():t.fill()}function fRt(t,e){for(var r=atob(t),n=new ArrayBuffer(r.length),i=new Uint8Array(n),a=0;a{var t;for(w(sIt,"_typeof"),w(lIt,"_classCallCheck"),w(cIt,"_defineProperties"),w(hIt,"_createClass"),w(uIt,"_defineProperty$1"),w(dIt,"_slicedToArray"),w(pIt,"_arrayWithHoles"),w(fIt,"_iterableToArrayLimit"),w(gIt,"_unsupportedIterableToArray"),w(mIt,"_arrayLikeToArray"),w(yIt,"_nonIterableRest"),w(vIt,"_createForOfIteratorHelper"),kRt=typeof window>"u"?null:window,TRt=kRt?kRt.navigator:null,kRt&&kRt.document,ERt=sIt(""),_Rt=sIt({}),CRt=sIt((function(){})),SRt=typeof HTMLElement>"u"?"undefined":sIt(HTMLElement),ARt=w((function(t){return t&&t.instanceString&&NRt(t.instanceString)?t.instanceString():null}),"instanceStr"),LRt=w((function(t){return null!=t&&sIt(t)==ERt}),"string"),NRt=w((function(t){return null!=t&&sIt(t)===CRt}),"fn"),IRt=w((function(t){return!BRt(t)&&(Array.isArray?Array.isArray(t):null!=t&&t instanceof Array)}),"array"),MRt=w((function(t){return null!=t&&sIt(t)===_Rt&&!IRt(t)&&t.constructor===Object}),"plainObject"),RRt=w((function(t){return null!=t&&sIt(t)===_Rt}),"object"),DRt=w((function(t){return null!=t&&sIt(t)===sIt(1)&&!isNaN(t)}),"number"),ORt=w((function(t){return DRt(t)&&Math.floor(t)===t}),"integer"),PRt=w((function(t){if("undefined"!==SRt)return null!=t&&t instanceof HTMLElement}),"htmlElement"),BRt=w((function(t){return FRt(t)||$Rt(t)}),"elementOrCollection"),FRt=w((function(t){return"collection"===ARt(t)&&t._private.single}),"element"),$Rt=w((function(t){return"collection"===ARt(t)&&!t._private.single}),"collection"),zRt=w((function(t){return"core"===ARt(t)}),"core"),URt=w((function(t){return"stylesheet"===ARt(t)}),"stylesheet"),GRt=w((function(t){return"event"===ARt(t)}),"event"),qRt=w((function(t){return null==t||!(""!==t&&!t.match(/^\s+$/))}),"emptyString"),YRt=w((function(t){return!(typeof HTMLElement>"u")&&t instanceof HTMLElement}),"domElement"),jRt=w((function(t){return MRt(t)&&DRt(t.x1)&&DRt(t.x2)&&DRt(t.y1)&&DRt(t.y2)}),"boundingBox"),HRt=w((function(t){return RRt(t)&&NRt(t.then)}),"promise"),WRt=w((function(){return TRt&&TRt.userAgent.match(/msie|trident|edge/i)}),"ms"),VRt=w((function(t,e){e||(e=w((function(){if(1===arguments.length)return arguments[0];if(0===arguments.length)return"undefined";for(var t=[],e=0;ee?1:0}),"ascending"),aDt=w((function(t,e){return-1*iDt(t,e)}),"descending"),oDt=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}w(c,"hue2rgb");var h=new RegExp("^"+rDt+"$").exec(t);if(h){if((r=parseInt(h[1]))<0?r=(360- -1*r%360)%360:r>360&&(r%=360),r/=360,(n=parseFloat(h[2]))<0||n>100||(n/=100,(i=parseFloat(h[3]))<0||i>100)||(i/=100,void 0!==(a=h[4])&&((a=parseFloat(a))<0||a>1)))return;if(0===n)o=s=l=Math.round(255*i);else{var u=i<.5?i*(1+n):i+n-i*n,d=2*i-u;o=Math.round(255*c(d,u,r+1/3)),s=Math.round(255*c(d,u,r)),l=Math.round(255*c(d,u,r-1/3))}e=[o,s,l,a]}return e}),"hsl2tuple"),cDt=w((function(t){var e,r=new RegExp("^"+tDt+"$").exec(t);if(r){e=[];for(var n=[],i=1;i<=3;i++){var a=r[i];if("%"===a[a.length-1]&&(n[i]=!0),a=parseFloat(a),n[i]&&(a=a/100*255),a<0||a>255)return;e.push(Math.floor(a))}var o=n[1]||n[2]||n[3],s=n[1]&&n[2]&&n[3];if(o&&!s)return;var l=r[4];if(void 0!==l){if((l=parseFloat(l))<0||l>1)return;e.push(l)}}return e}),"rgb2tuple"),hDt=w((function(t){return dDt[t.toLowerCase()]}),"colorname2tuple"),uDt=w((function(t){return(IRt(t)?t:null)||hDt(t)||sDt(t)||cDt(t)||lDt(t)}),"color2tuple"),dDt={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},pDt=w((function(t){for(var e=t.map,r=t.keys,n=r.length,i=0;i1&&void 0!==arguments[1]?arguments[1]:oOt;!(e=t.next()).done;)r=65599*r+e.value|0;return r}),"hashIterableInts"),cOt=w((function(t){return 65599*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:oOt)+t|0}),"hashInt"),hOt=w((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:sOt;return(e<<5)+e+t|0}),"hashIntAlt"),uOt=w((function(t,e){return 2097152*t+e}),"combineHashes"),dOt=w((function(t){return 2097152*t[0]+t[1]}),"combineHashesArray"),pOt=w((function(t,e){return[cOt(t[0],e[0]),hOt(t[1],e[1])]}),"hashArrays"),fOt=w((function(t,e){var r={value:0,done:!1},n=0,i=t.length,a={next:w((function(){return n=0&&(t[n]!==e||(t.splice(n,1),!r));n--);}),"removeFromArray"),BOt=w((function(t){t.splice(0,t.length)}),"clearArray"),FOt=w((function(t,e){for(var r=0;r"u"?"undefined":sIt(Set))?Set:qOt,jOt=w((function(t,e){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0!==t&&void 0!==e&&zRt(t)){var n=e.group;if(null==n&&(n=e.data&&null!=e.data.source&&null!=e.data.target?"edges":"nodes"),"nodes"===n||"edges"===n){this.length=1,this[0]=this;var i=this._private={cy:t,single:!0,data:e.data||{},position:e.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:n,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!e.selected,selectable:void 0===e.selectable||!!e.selectable,locked:!!e.locked,grabbed:!1,grabbable:void 0===e.grabbable||!!e.grabbable,pannable:void 0===e.pannable?"edges"===n:!!e.pannable,active:!1,classes:new YOt,animation:{current:[],queue:[]},rscratch:{},scratch:e.scratch||{},edges:[],children:[],parent:e.parent&&e.parent.isNode()?e.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==i.position.x&&(i.position.x=0),null==i.position.y&&(i.position.y=0),e.renderedPosition){var a=e.renderedPosition,o=t.pan(),s=t.zoom();i.position={x:(a.x-o.x)/s,y:(a.y-o.y)/s}}var l=[];IRt(e.classes)?l=e.classes:LRt(e.classes)&&(l=e.classes.split(/\s+/));for(var c=0,h=l.length;ce?1:0}),"defaultCmp"),c=w((function(t,e,i,a,o){var s;if(null==i&&(i=0),null==o&&(o=r),i<0)throw new Error("lo must be non-negative");for(null==a&&(a=t.length);ir;0<=r?e++:e--)c.push(e);return c}.apply(this).reverse()).length;ag;0<=g?++d:--d)m.push(a(t,n));return m}),"nsmallest"),f=w((function(t,e,n,i){var a,o,s;for(null==i&&(i=r),a=t[n];n>e&&i(a,o=t[s=n-1>>1])<0;)t[n]=o,n=s;return t[n]=a}),"_siftdown"),g=w((function(t,e,n){var i,a,o,s,l;for(null==n&&(n=r),a=t.length,l=e,o=t[e],i=2*e+1;i0;){var k=y.pop(),T=g(k),E=k.id();if(u[E]=T,T!==1/0)for(var _=k.neighborhood().intersect(p),C=0;C<_.length;C++){var S=_[C],A=S.id(),L=b(k,S),N=T+L.dist;N0)for(r.unshift(e);h[i];){var a=h[i];r.unshift(a.edge),r.unshift(a.node),i=(n=a.node).id()}return o.spawn(r)}),"pathTo")}}),"dijkstra")},QOt={kruskal:w((function(t){t=t||function(t){return 1};for(var e=this.byGroup(),r=e.nodes,n=e.edges,i=r.length,a=new Array(i),o=r,s=w((function(t){for(var e=0;e0;){if(b(),T++,c===u){for(var E=[],_=i,C=u,S=v[C];E.unshift(_),null!=S&&E.unshift(S),null!=(_=y[C]);)S=v[C=_.id()];return{found:!0,distance:d[c],path:this.spawn(E),steps:T}}f[c]=!0;for(var A=l._private.edges,L=0;LS&&(p[C]=S,y[C]=_,v[C]=b),!i){var A=_*c+E;!i&&p[A]>S&&(p[A]=S,y[A]=E,v[A]=b)}}}for(var L=0;L1&&void 0!==arguments[1]?arguments[1]:a,n=[],i=v(t);;){if(null==i)return e.spawn();var o=y(i),l=o.edge,c=o.pred;if(n.unshift(i[0]),i.same(r)&&n.length>0)break;null!=l&&n.unshift(l),i=c}return s.spawn(n)}),"pathTo"),k=0;k=0;c--){var h=l[c],u=h[1],d=h[2];(e[u]===o&&e[d]===s||e[u]===s&&e[d]===o)&&l.splice(c,1)}for(var p=0;pn;){var i=Math.floor(Math.random()*e.length);e=oPt(i,t,e),r--}return e}),"contractUntil"),lPt={kargerStein:w((function(){var t=this,e=this.byGroup(),r=e.nodes,n=e.edges;n.unmergeBy((function(t){return t.isLoop()}));var i=r.length,a=n.length,o=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),s=Math.floor(i/aPt);if(!(i<2)){for(var l=[],c=0;c1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,n=1/0,i=e;i1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,n=-1/0,i=e;i1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,n=0,i=0,a=e;a1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,n=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?(r0&&t.splice(0,e)):t=t.slice(e,r);for(var a=0,o=t.length-1;o>=0;o--){var s=t[o];i?isFinite(s)||(t[o]=-1/0,a++):t.splice(o,1)}n&&t.sort((function(t,e){return t-e}));var l=t.length,c=Math.floor(l/2);return l%2!=0?t[c+1+a]:(t[c-1+a]+t[c+a])/2}),"median"),yPt=w((function(t){return Math.PI*t/180}),"deg2rad"),vPt=w((function(t,e){return Math.atan2(e,t)-Math.PI/2}),"getAngleFromDisp"),xPt=Math.log2||function(t){return Math.log(t)/Math.log(2)},bPt=w((function(t){return t>0?1:t<0?-1:0}),"signum"),wPt=w((function(t,e){return Math.sqrt(kPt(t,e))}),"dist"),kPt=w((function(t,e){var r=e.x-t.x,n=e.y-t.y;return r*r+n*n}),"sqdist"),TPt=w((function(t){for(var e=t.length,r=0,n=0;n=t.x1&&t.y2>=t.y1)return{x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2,w:t.x2-t.x1,h:t.y2-t.y1};if(null!=t.w&&null!=t.h&&t.w>=0&&t.h>=0)return{x1:t.x1,y1:t.y1,x2:t.x1+t.w,y2:t.y1+t.h,w:t.w,h:t.h}}}),"makeBoundingBox"),LPt=w((function(t){return{x1:t.x1,x2:t.x2,w:t.w,y1:t.y1,y2:t.y2,h:t.h}}),"copyBoundingBox"),NPt=w((function(t){t.x1=1/0,t.y1=1/0,t.x2=-1/0,t.y2=-1/0,t.w=0,t.h=0}),"clearBoundingBox"),IPt=w((function(t,e,r){return{x1:t.x1+e,x2:t.x2+e,y1:t.y1+r,y2:t.y2+r,w:t.w,h:t.h}}),"shiftBoundingBox"),MPt=w((function(t,e){t.x1=Math.min(t.x1,e.x1),t.x2=Math.max(t.x2,e.x2),t.w=t.x2-t.x1,t.y1=Math.min(t.y1,e.y1),t.y2=Math.max(t.y2,e.y2),t.h=t.y2-t.y1}),"updateBoundingBox"),RPt=w((function(t,e,r){t.x1=Math.min(t.x1,e),t.x2=Math.max(t.x2,e),t.w=t.x2-t.x1,t.y1=Math.min(t.y1,r),t.y2=Math.max(t.y2,r),t.h=t.y2-t.y1}),"expandBoundingBoxByPoint"),DPt=w((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t.x1-=e,t.x2+=e,t.y1-=e,t.y2+=e,t.w=t.x2-t.x1,t.h=t.y2-t.y1,t}),"expandBoundingBox"),OPt=w((function(t){var e,r,n,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===a.length)e=r=n=i=a[0];else if(2===a.length)e=n=a[0],i=r=a[1];else if(4===a.length){var o=dIt(a,4);e=o[0],r=o[1],n=o[2],i=o[3]}return t.x1-=i,t.x2+=r,t.y1-=e,t.y2+=n,t.w=t.x2-t.x1,t.h=t.y2-t.y1,t}),"expandBoundingBoxSides"),PPt=w((function(t,e){t.x1=e.x1,t.y1=e.y1,t.x2=e.x2,t.y2=e.y2,t.w=t.x2-t.x1,t.h=t.y2-t.y1}),"assignBoundingBox"),BPt=w((function(t,e){return!(t.x1>e.x2||e.x1>t.x2||t.x2e.y2||e.y1>t.y2)}),"boundingBoxesIntersect"),FPt=w((function(t,e,r){return t.x1<=e&&e<=t.x2&&t.y1<=r&&r<=t.y2}),"inBoundingBox"),$Pt=w((function(t,e){return FPt(t,e.x,e.y)}),"pointInBoundingBox"),zPt=w((function(t,e){return FPt(t,e.x1,e.y1)&&FPt(t,e.x2,e.y2)}),"boundingBoxInBoundingBox"),UPt=w((function(t,e,r,n,i,a,o){var s,l,c=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"auto",h="auto"===c?hBt(i,a):c,u=i/2,d=a/2,p=(h=Math.min(h,u,d))!==u,f=h!==d;if(p){var g=n-d-o;if((s=nBt(t,e,r,n,r-u+h-o,g,r+u-h+o,g,!1)).length>0)return s}if(f){var m=r+u+o;if((s=nBt(t,e,r,n,m,n-d+h-o,m,n+d-h+o,!1)).length>0)return s}if(p){var y=n+d+o;if((s=nBt(t,e,r,n,r-u+h-o,y,r+u-h+o,y,!1)).length>0)return s}if(f){var v=r-u-o;if((s=nBt(t,e,r,n,v,n-d+h-o,v,n+d-h+o,!1)).length>0)return s}var x=r-u+h,b=n-d+h;if((l=eBt(t,e,r,n,x,b,h+o)).length>0&&l[0]<=x&&l[1]<=b)return[l[0],l[1]];var w=r+u-h,k=n-d+h;if((l=eBt(t,e,r,n,w,k,h+o)).length>0&&l[0]>=w&&l[1]<=k)return[l[0],l[1]];var T=r+u-h,E=n+d-h;if((l=eBt(t,e,r,n,T,E,h+o)).length>0&&l[0]>=T&&l[1]>=E)return[l[0],l[1]];var _=r-u+h,C=n+d-h;return(l=eBt(t,e,r,n,_,C,h+o)).length>0&&l[0]<=_&&l[1]>=C?[l[0],l[1]]:[]}),"roundRectangleIntersectLine"),GPt=w((function(t,e,r,n,i,a,o){var s=o,l=Math.min(r,i),c=Math.max(r,i),h=Math.min(n,a),u=Math.max(n,a);return l-s<=t&&t<=c+s&&h-s<=e&&e<=u+s}),"inLineVicinity"),qPt=w((function(t,e,r,n,i,a,o,s,l){var c=Math.min(r,o,i)-l,h=Math.max(r,o,i)+l,u=Math.min(n,s,a)-l,d=Math.max(n,s,a)+l;return!(th||ed)}),"inBezierVicinity"),YPt=w((function(t,e,r,n){var i=e*e-4*t*(r-=n);if(i<0)return[];var a=Math.sqrt(i),o=2*t;return[(-e+a)/o,(-e-a)/o]}),"solveQuadratic"),jPt=w((function(t,e,r,n,i){var a,o,s,l,c,h,u,d;return 0===t&&(t=1e-5),s=-27*(n/=t)+(e/=t)*(9*(r/=t)-e*e*2),a=(o=(3*r-e*e)/9)*o*o+(s/=54)*s,i[1]=0,u=e/3,a>0?(c=(c=s+Math.sqrt(a))<0?-Math.pow(-c,1/3):Math.pow(c,1/3),h=(h=s-Math.sqrt(a))<0?-Math.pow(-h,1/3):Math.pow(h,1/3),i[0]=-u+c+h,u+=(c+h)/2,i[4]=i[2]=-u,u=Math.sqrt(3)*(-h+c)/2,i[3]=u,void(i[5]=-u)):(i[5]=i[3]=0,0===a?(d=s<0?-Math.pow(-s,1/3):Math.pow(s,1/3),i[0]=2*d-u,void(i[4]=i[2]=-(d+u))):(l=(o=-o)*o*o,l=Math.acos(s/Math.sqrt(l)),d=2*Math.sqrt(o),i[0]=-u+d*Math.cos(l/3),i[2]=-u+d*Math.cos((l+2*Math.PI)/3),void(i[4]=-u+d*Math.cos((l+4*Math.PI)/3))))}),"solveCubic"),HPt=w((function(t,e,r,n,i,a,o,s){var l=[];jPt(1*r*r-4*r*i+2*r*o+4*i*i-4*i*o+o*o+n*n-4*n*a+2*n*s+4*a*a-4*a*s+s*s,9*r*i-3*r*r-3*r*o-6*i*i+3*i*o+9*n*a-3*n*n-3*n*s-6*a*a+3*a*s,3*r*r-6*r*i+r*o-r*t+2*i*i+2*i*t-o*t+3*n*n-6*n*a+n*s-n*e+2*a*a+2*a*e-s*e,1*r*i-r*r+r*t-i*t+n*a-n*n+n*e-a*e,l);for(var c=[],h=0;h<6;h+=2)Math.abs(l[h+1])<1e-7&&l[h]>=0&&l[h]<=1&&c.push(l[h]);c.push(1),c.push(0);for(var u,d,p,f=-1,g=0;g=0?pl?(t-i)*(t-i)+(e-a)*(e-a):c-u}),"sqdistToFiniteLine"),VPt=w((function(t,e,r){for(var n,i,a,o,s=0,l=0;l=t&&t>=a||n<=t&&t<=a))continue;(t-n)/(a-n)*(o-i)+i>e&&s++}return s%2!=0}),"pointInsidePolygonPoints"),XPt=w((function(t,e,r,n,i,a,o,s,l){var c,h,u=new Array(r.length);null!=s[0]?(c=Math.atan(s[1]/s[0]),s[0]<0?c+=Math.PI/2:c=-c-Math.PI/2):c=s;for(var d=Math.cos(-c),p=Math.sin(-c),f=0;f0){var g=QPt(u,-l);h=ZPt(g)}else h=u;return VPt(t,e,h)}),"pointInsidePolygon"),KPt=w((function(t,e,r,n,i,a,o,s){for(var l=new Array(2*r.length),c=0;c=0&&f<=1&&m.push(f),g>=0&&g<=1&&m.push(g),0===m.length)return[];var y=m[0]*s[0]+t,v=m[0]*s[1]+e;return m.length>1?m[0]==m[1]?[y,v]:[y,v,m[1]*s[0]+t,m[1]*s[1]+e]:[y,v]}),"intersectLineCircle"),rBt=w((function(t,e,r){return e<=t&&t<=r||r<=t&&t<=e?t:t<=e&&e<=r||r<=e&&e<=t?e:r}),"midOfThree"),nBt=w((function(t,e,r,n,i,a,o,s,l){var c=t-i,h=r-t,u=o-i,d=e-a,p=n-e,f=s-a,g=u*d-f*c,m=h*d-p*c,y=f*h-u*p;if(0!==y){var v=g/y,x=m/y,b=-.001;return b<=v&&v<=1.001&&b<=x&&x<=1.001||l?[t+v*h,e+v*p]:[]}return 0===g||0===m?rBt(t,r,o)===o?[o,s]:rBt(t,r,i)===i?[i,a]:rBt(i,o,r)===r?[r,n]:[]:[]}),"finiteLinesIntersect"),iBt=w((function(t,e,r,n,i,a,o,s){var l,c,h=[],u=new Array(r.length),d=!0;if(null==a&&(d=!1),d){for(var p=0;p0){var f=QPt(u,-s);c=ZPt(f)}else c=u}else c=r;for(var g,m,y,v,x=0;x2){for(var p=[h[0],h[1]],f=Math.pow(p[0]-t,2)+Math.pow(p[1]-e,2),g=1;gc&&(c=e)}),"set"),get:w((function(t){return l[t]}),"get")},u=0;u0?x.edgesTo(v)[0]:v.edgesTo(x)[0];var b=n(y);v=v.id(),u[v]>u[g]+b&&(u[v]=u[g]+b,d.nodes.indexOf(v)<0?d.push(v):d.updateItem(v),c[v]=0,l[v]=[]),u[v]==u[g]+b&&(c[v]=c[v]+c[g],l[v].push(g))}else for(var w=0;w0;){for(var _=r.pop(),C=0;C0&&o.push(r[s]);0!==o.length&&i.push(n.collection(o))}return i}),"assign"),RBt=w((function(t,e){for(var r=0;r5&&void 0!==arguments[5]?arguments[5]:BBt,o=n,s=0;s=2?qBt(t,e,r,0,zBt,UBt):qBt(t,e,r,0,$Bt)}),"euclidean"),squaredEuclidean:w((function(t,e,r){return qBt(t,e,r,0,zBt)}),"squaredEuclidean"),manhattan:w((function(t,e,r){return qBt(t,e,r,0,$Bt)}),"manhattan"),max:w((function(t,e,r){return qBt(t,e,r,-1/0,GBt)}),"max")})["squared-euclidean"]=YBt.squaredEuclidean,YBt.squaredeuclidean=YBt.squaredEuclidean,w(NIt,"clusteringDistance"),jBt=OOt({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),HBt=w((function(t){return jBt(t)}),"setOptions"),WBt=w((function(t,e,r,n,i){var a="kMedoids"!==i?function(t){return r[t]}:function(t){return n[t](r)},o=w((function(t){return n[t](e)}),"getQ"),s=r,l=e;return NIt(t,n.length,a,o,s,l)}),"getDist"),VBt=w((function(t,e,r){for(var n=r.length,i=new Array(n),a=new Array(n),o=new Array(e),s=null,l=0;lr)return!1;return!0}),"haveMatricesConverged"),JBt=w((function(t,e,r){for(var n=0;no&&(o=e[l][c],s=c);i[s].push(t[l])}for(var h=0;h=i.threshold||"dendrogram"===i.mode&&1===t.length)return!1;var p,f=e[o],g=e[n[o]];p="dendrogram"===i.mode?{left:f,right:g,key:f.key}:{value:f.value.concat(g.value),key:f.key},t[f.index]=p,t.splice(g.index,1),e[f.key]=p;for(var m=0;mr[g.key][y.key]&&(a=r[g.key][y.key])):"max"===i.linkage?(a=r[f.key][y.key],r[f.key][y.key]0&&n.push(i);return n}),"findExemplars"),TFt=w((function(t,e,r){for(var n=[],i=0;io&&(a=l,o=e[i*t+l])}a>0&&n.push(a)}for(var c=0;cl&&(s=c,l=h)}r[i]=a[s]}return TFt(t,e,r)}),"assign"),_Ft=w((function(t){for(var e=this.cy(),r=this.nodes(),n=xFt(t),i={},a=0;a=C?(S=C,C=L,A=N):L>S&&(S=L);for(var I=0;I0?1:0;T[d%n.minIterations*o+B]=F,P+=F}if(P>0&&(d>=n.minIterations-1||d==n.maxIterations-1)){for(var $=0,z=0;z1||o>1)&&(c=!0),h[e]=[],t.outgoers().forEach((function(t){t.isEdge()&&h[e].push(t.id())}))}else u[e]=[void 0,t.target().id()]})):l.forEach((function(t){var e=t.id();t.isNode()?(t.degree(!0)%2&&(r?n?c=!0:n=e:r=e),h[e]=[],t.connectedEdges().forEach((function(t){return h[e].push(t.id())}))):u[e]=[t.source().id(),t.target().id()]}));var d={found:!1,trail:void 0};if(c)return d;if(n&&r)if(s){if(i&&n!=i)return d;i=n}else{if(i&&n!=i&&r!=i)return d;i||(i=n)}else i||(i=l[0].id());var p=w((function(t){for(var e,r,n,i=t,a=[t];h[i].length;)e=h[i].shift(),r=u[e][0],i!=(n=u[e][1])?(h[n]=h[n].filter((function(t){return t!=e})),i=n):!s&&i!=r&&(h[r]=h[r].filter((function(t){return t!=e})),i=r),a.unshift(e),a.unshift(i);return a}),"walk"),f=[],g=[];for(g=p(i);1!=g.length;)0==h[g[0]].length?(f.unshift(l.getElementById(g.shift())),f.unshift(l.getElementById(g.shift()))):g=p(g.shift()).concat(g);for(var m in f.unshift(l.getElementById(g.shift())),h)if(h[m].length)return d;return d.found=!0,d.trail=this.spawn(f,!0),d}),"hierholzer")},LFt=w((function(){var t=this,e={},r=0,n=0,i=[],a=[],o={},s=w((function(r,n){for(var o=a.length-1,s=[],l=t.spawn();a[o].x!=r||a[o].y!=n;)s.push(a.pop().edge),o--;s.push(a.pop().edge),s.forEach((function(r){var n=r.connectedNodes().intersection(t);l.merge(r),n.forEach((function(r){var n=r.id(),i=r.connectedEdges().intersection(t);l.merge(r),e[n].cutVertex?l.merge(i.filter((function(t){return t.isLoop()}))):l.merge(i)}))})),i.push(l)}),"buildComponent"),l=w((function l(c,h,u){c===u&&(n+=1),e[h]={id:r,low:r++,cutVertex:!1};var d,p,f,g,m=t.getElementById(h).connectedEdges().intersection(t);0===m.size()?i.push(t.spawn(t.getElementById(h))):m.forEach((function(t){d=t.source().id(),p=t.target().id(),(f=d===h?p:d)!==u&&(g=t.id(),o[g]||(o[g]=!0,a.push({x:h,y:f,edge:t})),f in e?e[h].low=Math.min(e[h].low,e[f].id):(l(c,f,h),e[h].low=Math.min(e[h].low,e[f].low),e[h].id<=e[f].low&&(e[h].cutVertex=!0,s(h,f))))}))}),"biconnectedSearch");t.forEach((function(t){if(t.isNode()){var r=t.id();r in e||(n=0,l(r,r),e[r].cutVertex=n>1)}}));var c=Object.keys(e).filter((function(t){return e[t].cutVertex})).map((function(e){return t.getElementById(e)}));return{cut:t.spawn(c),components:i}}),"hopcroftTarjanBiconnected"),NFt={hopcroftTarjanBiconnected:LFt,htbc:LFt,htb:LFt,hopcroftTarjanBiconnectedComponents:LFt},IFt=w((function(){var t=this,e={},r=0,n=[],i=[],a=t.spawn(t),o=w((function o(s){if(i.push(s),e[s]={index:r,low:r++,explored:!1},t.getElementById(s).connectedEdges().intersection(t).forEach((function(t){var r=t.target().id();r!==s&&(r in e||o(r),e[r].explored||(e[s].low=Math.min(e[s].low,e[r].low)))})),e[s].index===e[s].low){for(var l=t.spawn();;){var c=i.pop();if(l.merge(t.getElementById(c)),e[c].low=e[s].index,e[c].explored=!0,c===s)break}var h=l.edgesWith(l),u=l.merge(h);n.push(u),a=a.difference(u)}}),"stronglyConnectedSearch");return t.forEach((function(t){if(t.isNode()){var r=t.id();r in e||o(r)}})),{cut:a,components:n}}),"tarjanStronglyConnected"),MFt={},[WOt,ZOt,QOt,tPt,rPt,iPt,lPt,mBt,vBt,bBt,kBt,PBt,lFt,yFt,CFt,AFt,NFt,{tarjanStronglyConnected:IFt,tsc:IFt,tscc:IFt,tarjanStronglyConnectedComponents:IFt}].forEach((function(t){oDt(MFt,t)})),RFt=w((function t(e){if(!(this instanceof t))return new t(e);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof e&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))}),"api"),RFt.prototype={fulfill:w((function(t){return DFt(this,1,"fulfillValue",t)}),"fulfill"),reject:w((function(t){return DFt(this,2,"rejectReason",t)}),"reject"),then:w((function(t,e){var r=this,n=new RFt;return r.onFulfilled.push(BFt(t,n,"fulfill")),r.onRejected.push(BFt(e,n,"reject")),OFt(r),n.proxy}),"then")},DFt=w((function(t,e,r,n){return 0===t.state&&(t.state=e,t[r]=n,OFt(t)),t}),"deliver"),OFt=w((function(t){1===t.state?PFt(t,"onFulfilled",t.fulfillValue):2===t.state&&PFt(t,"onRejected",t.rejectReason)}),"execute"),PFt=w((function(t,e,r){if(0!==t[e].length){var n=t[e];t[e]=[];var i=w((function(){for(var t=0;t0:void 0}),"animatedImpl")}),"animated"),clearQueue:w((function(){return w((function(){var t=this,e=void 0!==t.length?t:[t];if(!(this._private.cy||this).styleEnabled())return this;for(var r=0;r0&&this.spawn(n).updateStyle().emit("class"),e}),"classes"),addClass:w((function(t){return this.toggleClass(t,!0)}),"addClass"),hasClass:w((function(t){var e=this[0];return null!=e&&e._private.classes.has(t)}),"hasClass"),toggleClass:w((function(t,e){IRt(t)||(t=t.match(/\S+/g)||[]);for(var r=this,n=void 0===e,i=[],a=0,o=r.length;a0&&this.spawn(i).updateStyle().emit("class"),r}),"toggleClass"),removeClass:w((function(t){return this.toggleClass(t,!1)}),"removeClass"),flashClass:w((function(t,e){var r=this;if(null==e)e=250;else if(0===e)return r;return r.addClass(t),setTimeout((function(){r.removeClass(t)}),e),r}),"flashClass")}).className=Izt.classNames=Izt.classes,(Mzt={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:JRt,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"}).variable="(?:[\\w-.]|(?:\\\\"+Mzt.metaChar+"))+",Mzt.className="(?:[\\w-]|(?:\\\\"+Mzt.metaChar+"))+",Mzt.value=Mzt.string+"|"+Mzt.number,Mzt.id=Mzt.variable,function(){var t,e,r;for(t=Mzt.comparatorOp.split("|"),r=0;r=0)&&"="!==e&&(Mzt.comparatorOp+="|\\!"+e)}(),Rzt=w((function(){return{checks:[]}}),"newQuery"),Dzt={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},Ozt=[{selector:":selected",matches:w((function(t){return t.selected()}),"matches")},{selector:":unselected",matches:w((function(t){return!t.selected()}),"matches")},{selector:":selectable",matches:w((function(t){return t.selectable()}),"matches")},{selector:":unselectable",matches:w((function(t){return!t.selectable()}),"matches")},{selector:":locked",matches:w((function(t){return t.locked()}),"matches")},{selector:":unlocked",matches:w((function(t){return!t.locked()}),"matches")},{selector:":visible",matches:w((function(t){return t.visible()}),"matches")},{selector:":hidden",matches:w((function(t){return!t.visible()}),"matches")},{selector:":transparent",matches:w((function(t){return t.transparent()}),"matches")},{selector:":grabbed",matches:w((function(t){return t.grabbed()}),"matches")},{selector:":free",matches:w((function(t){return!t.grabbed()}),"matches")},{selector:":removed",matches:w((function(t){return t.removed()}),"matches")},{selector:":inside",matches:w((function(t){return!t.removed()}),"matches")},{selector:":grabbable",matches:w((function(t){return t.grabbable()}),"matches")},{selector:":ungrabbable",matches:w((function(t){return!t.grabbable()}),"matches")},{selector:":animated",matches:w((function(t){return t.animated()}),"matches")},{selector:":unanimated",matches:w((function(t){return!t.animated()}),"matches")},{selector:":parent",matches:w((function(t){return t.isParent()}),"matches")},{selector:":childless",matches:w((function(t){return t.isChildless()}),"matches")},{selector:":child",matches:w((function(t){return t.isChild()}),"matches")},{selector:":orphan",matches:w((function(t){return t.isOrphan()}),"matches")},{selector:":nonorphan",matches:w((function(t){return t.isChild()}),"matches")},{selector:":compound",matches:w((function(t){return t.isNode()?t.isParent():t.source().isParent()||t.target().isParent()}),"matches")},{selector:":loop",matches:w((function(t){return t.isLoop()}),"matches")},{selector:":simple",matches:w((function(t){return t.isSimple()}),"matches")},{selector:":active",matches:w((function(t){return t.active()}),"matches")},{selector:":inactive",matches:w((function(t){return!t.active()}),"matches")},{selector:":backgrounding",matches:w((function(t){return t.backgrounding()}),"matches")},{selector:":nonbackgrounding",matches:w((function(t){return!t.backgrounding()}),"matches")}].sort((function(t,e){return aDt(t.selector,e.selector)})),Pzt=function(){for(var t,e={},r=0;r0&&c.edgeCount>0)return AOt("The selector `"+t+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(c.edgeCount>1)return AOt("The selector `"+t+"` is invalid because it uses multiple edge selectors"),!1;1===c.edgeCount&&AOt("The selector `"+t+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0}),"parse"),jzt=w((function(){if(null!=this.toStringCache)return this.toStringCache;for(var t=w((function(t){return t??""}),"clean"),e=w((function(e){return LRt(e)?'"'+e+'"':t(e)}),"cleanVal"),r=w((function(t){return" "+t+" "}),"space"),n=w((function(n,a){var o=n.type,s=n.value;switch(o){case Dzt.GROUP:var l=t(s);return l.substring(0,l.length-1);case Dzt.DATA_COMPARE:var c=n.field,h=n.operator;return"["+c+r(t(h))+e(s)+"]";case Dzt.DATA_BOOL:var u=n.operator,d=n.field;return"["+t(u)+d+"]";case Dzt.DATA_EXIST:return"["+n.field+"]";case Dzt.META_COMPARE:var p=n.operator;return"[["+n.field+r(t(p))+e(s)+"]]";case Dzt.STATE:return s;case Dzt.ID:return"#"+s;case Dzt.CLASS:return"."+s;case Dzt.PARENT:case Dzt.CHILD:return i(n.parent,a)+r(">")+i(n.child,a);case Dzt.ANCESTOR:case Dzt.DESCENDANT:return i(n.ancestor,a)+" "+i(n.descendant,a);case Dzt.COMPOUND_SPLIT:var f=i(n.left,a),g=i(n.subject,a),m=i(n.right,a);return f+(f.length>0?" ":"")+g+m;case Dzt.TRUE:return""}}),"checkToString"),i=w((function(t,e){return t.checks.reduce((function(r,i,a){return r+(e===t&&0===a?"$":"")+n(i,e)}),"")}),"queryToString"),a="",o=0;o1&&o=0&&(e=e.replace("!",""),h=!0),e.indexOf("@")>=0&&(e=e.replace("@",""),c=!0),(o||l||c)&&(i=o||s?""+t:"",a=""+r),c&&(t=i=i.toLowerCase(),r=a=a.toLowerCase()),e){case"*=":n=i.indexOf(a)>=0;break;case"$=":n=i.indexOf(a,i.length-a.length)>=0;break;case"^=":n=0===i.indexOf(a);break;case"=":n=t===r;break;case">":u=!0,n=t>r;break;case">=":u=!0,n=t>=r;break;case"<":u=!0,n=t1&&void 0!==arguments[1])||arguments[1],TMt)},w(EMt,"addParent"),sUt.forEachUp=function(t){return kMt(this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],EMt)},w(_Mt,"addParentAndChildren"),sUt.forEachUpAndDown=function(t){return kMt(this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],_Mt)},sUt.ancestors=sUt.parents,(lUt=cUt={data:Lzt.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:Lzt.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:Lzt.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Lzt.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:Lzt.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:Lzt.removeData({field:"rscratch",triggerEvent:!1}),id:w((function(){var t=this[0];if(t)return t._private.data.id}),"id")}).attr=lUt.data,lUt.removeAttr=lUt.removeData,hUt=cUt,uUt={},w(CMt,"defineDegreeFunction"),oDt(uUt,{degree:CMt((function(t,e){return e.source().same(e.target())?2:1})),indegree:CMt((function(t,e){return e.target().same(t)?1:0})),outdegree:CMt((function(t,e){return e.source().same(t)?1:0}))}),w(SMt,"defineDegreeBoundsFunction"),oDt(uUt,{minDegree:SMt("degree",(function(t,e){return te})),minIndegree:SMt("indegree",(function(t,e){return te})),minOutdegree:SMt("outdegree",(function(t,e){return te}))}),oDt(uUt,{totalDegree:w((function(t){for(var e=0,r=this.nodes(),n=0;n0,h=c;c&&(l=l[0]);var u=h?l.position():{x:0,y:0};return i={x:s.x-u.x,y:s.y-u.y},void 0===t?i:i[t]}for(var d=0;d0,m=g;g&&(f=f[0]);var y=m?f.position():{x:0,y:0};void 0!==e?p.position(t,e+y[t]):void 0!==i&&p.position({x:i.x+y.x,y:i.y+y.y})}}else if(!a)return;return this}),"relativePosition")}).modelPosition=dUt.point=dUt.position,dUt.modelPositions=dUt.points=dUt.positions,dUt.renderedPoint=dUt.renderedPosition,dUt.relativePoint=dUt.relativePosition,mUt=pUt,yUt=vUt={},vUt.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),n=r.zoom(),i=r.pan(),a=e.x1*n+i.x,o=e.x2*n+i.x,s=e.y1*n+i.y,l=e.y2*n+i.y;return{x1:a,x2:o,y1:s,y2:l,w:o-a,h:l-s}},vUt.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.cy();return e.styleEnabled()&&e.hasCompoundNodes()?(this.forEachUp((function(e){if(e.isParent()){var r=e._private;r.compoundBoundsClean=!1,r.bbCache=null,t||e.emitAndNotify("bounds")}})),this):this},vUt.updateCompoundBounds=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function r(t){if(t.isParent()){var e=t._private,r=t.children(),n="include"===t.pstyle("compound-sizing-wrt-labels").value,i={width:{val:t.pstyle("min-width").pfValue,left:t.pstyle("min-width-bias-left"),right:t.pstyle("min-width-bias-right")},height:{val:t.pstyle("min-height").pfValue,top:t.pstyle("min-height-bias-top"),bottom:t.pstyle("min-height-bias-bottom")}},a=r.boundingBox({includeLabels:n,includeOverlays:!1,useCache:!1}),o=e.position;(0===a.w||0===a.h)&&((a={w:t.pstyle("width").pfValue,h:t.pstyle("height").pfValue}).x1=o.x-a.w/2,a.x2=o.x+a.w/2,a.y1=o.y-a.h/2,a.y2=o.y+a.h/2),w(y,"computeBiasValues"),w(v,"computePaddingValues");var s=i.width.left.value;"px"===i.width.left.units&&i.width.val>0&&(s=100*s/i.width.val);var l=i.width.right.value;"px"===i.width.right.units&&i.width.val>0&&(l=100*l/i.width.val);var c=i.height.top.value;"px"===i.height.top.units&&i.height.val>0&&(c=100*c/i.height.val);var h=i.height.bottom.value;"px"===i.height.bottom.units&&i.height.val>0&&(h=100*h/i.height.val);var u=y(i.width.val-a.w,s,l),d=u.biasDiff,p=u.biasComplementDiff,f=y(i.height.val-a.h,c,h),g=f.biasDiff,m=f.biasComplementDiff;e.autoPadding=v(a.w,a.h,t.pstyle("padding"),t.pstyle("padding-relative-to").value),e.autoWidth=Math.max(a.w,i.width.val),o.x=(-d+a.x1+a.x2+p)/2,e.autoHeight=Math.max(a.h,i.height.val),o.y=(-g+a.y1+a.y2+m)/2}function y(t,e,r){var n=0,i=0,a=e+r;return t>0&&a>0&&(n=e/a*t,i=r/a*t),{biasDiff:n,biasComplementDiff:i}}function v(t,e,r,n){if("%"!==r.units)return"px"===r.units?r.pfValue:0;switch(n){case"width":return t>0?r.pfValue*t:0;case"height":return e>0?r.pfValue*e:0;case"average":return t>0&&e>0?r.pfValue*(t+e)/2:0;case"min":return t>0&&e>0?t>e?r.pfValue*e:r.pfValue*t:0;case"max":return t>0&&e>0?t>e?r.pfValue*t:r.pfValue*e:0;default:return 0}}}w(r,"update");for(var n=0;nt.x2?n:t.x2,t.y1=rt.y2?i:t.y2,t.w=t.x2-t.x1,t.h=t.y2-t.y1)}),"updateBounds"),wUt=w((function(t,e){return null==e?t:bUt(t,e.x1,e.y1,e.x2,e.y2)}),"updateBoundsFromBox"),kUt=w((function(t,e,r){return $Ot(t,e,r)}),"prefixedProperty"),TUt=w((function(t,e,r){if(!e.cy().headless()){var n,i,a=e._private,o=a.rstyle,s=o.arrowWidth/2;if("none"!==e.pstyle(r+"-arrow-shape").value){"source"===r?(n=o.srcX,i=o.srcY):"target"===r?(n=o.tgtX,i=o.tgtY):(n=o.midX,i=o.midY);var l=a.arrowBounds=a.arrowBounds||{},c=l[r]=l[r]||{};c.x1=n-s,c.y1=i-s,c.x2=n+s,c.y2=i+s,c.w=c.x2-c.x1,c.h=c.y2-c.y1,DPt(c,1),bUt(t,c.x1,c.y1,c.x2,c.y2)}}}),"updateBoundsFromArrow"),EUt=w((function(t,e,r){if(!e.cy().headless()){var n;n=r?r+"-":"";var i=e._private,a=i.rstyle;if(e.pstyle(n+"label").strValue){var o,s,l,c,h=e.pstyle("text-halign"),u=e.pstyle("text-valign"),d=kUt(a,"labelWidth",r),p=kUt(a,"labelHeight",r),f=kUt(a,"labelX",r),g=kUt(a,"labelY",r),m=e.pstyle(n+"text-margin-x").pfValue,y=e.pstyle(n+"text-margin-y").pfValue,v=e.isEdge(),x=e.pstyle(n+"text-rotation"),b=e.pstyle("text-outline-width").pfValue,k=e.pstyle("text-border-width").pfValue/2,T=e.pstyle("text-background-padding").pfValue,E=p,_=d,C=_/2,S=E/2;if(v)o=f-C,s=f+C,l=g-S,c=g+S;else{switch(h.value){case"left":o=f-_,s=f;break;case"center":o=f-C,s=f+C;break;case"right":o=f,s=f+_}switch(u.value){case"top":l=g-E,c=g;break;case"center":l=g-S,c=g+S;break;case"bottom":l=g,c=g+E}}o+=m-Math.max(b,k)-T-2,s+=m+Math.max(b,k)+T+2,l+=y-Math.max(b,k)-T-2,c+=y+Math.max(b,k)+T+2;var A=r||"main",L=i.labelBounds,N=L[A]=L[A]||{};N.x1=o,N.y1=l,N.x2=s,N.y2=c,N.w=s-o,N.h=c-l;var I=v&&"autorotate"===x.strValue,M=null!=x.pfValue&&0!==x.pfValue;if(I||M){var R=I?kUt(i.rstyle,"labelAngle",r):x.pfValue,D=Math.cos(R),O=Math.sin(R),P=(o+s)/2,B=(l+c)/2;if(!v){switch(h.value){case"left":P=s;break;case"right":P=o}switch(u.value){case"top":B=c;break;case"bottom":B=l}}var F=w((function(t,e){return{x:(t-=P)*D-(e-=B)*O+P,y:t*O+e*D+B}}),"rotate"),$=F(o,l),z=F(o,c),U=F(s,l),G=F(s,c);o=Math.min($.x,z.x,U.x,G.x),s=Math.max($.x,z.x,U.x,G.x),l=Math.min($.y,z.y,U.y,G.y),c=Math.max($.y,z.y,U.y,G.y)}var q=A+"Rot",Y=L[q]=L[q]||{};Y.x1=o,Y.y1=l,Y.x2=s,Y.y2=c,Y.w=s-o,Y.h=c-l,bUt(t,o,l,s,c),bUt(i.labelBounds.all,o,l,s,c)}return t}}),"updateBoundsFromLabel"),_Ut=w((function(t,e){if(!e.cy().headless()){var r=e.pstyle("outline-opacity").value,n=e.pstyle("outline-width").value;if(r>0&&n>0){var i=e.pstyle("outline-offset").value,a=e.pstyle("shape").value,o=n+i,s=(t.w+2*o)/t.w,l=(t.h+2*o)/t.h,c=0;["diamond","pentagon","round-triangle"].includes(a)?(s=(t.w+2.4*o)/t.w,c=-o/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(a)?s=(t.w+2.4*o)/t.w:"star"===a?(s=(t.w+2.8*o)/t.w,l=(t.h+2.6*o)/t.h,c=-o/3.8):"triangle"===a?(s=(t.w+2.8*o)/t.w,l=(t.h+2.4*o)/t.h,c=-o/1.4):"vee"===a&&(s=(t.w+4.4*o)/t.w,l=(t.h+3.8*o)/t.h,c=.5*-o);var h=t.h*l-t.h,u=t.w*s-t.w;if(OPt(t,[Math.ceil(h/2),Math.ceil(u/2)]),0!==c){var d=IPt(t,0,c);MPt(t,d)}}}}),"updateBoundsFromOutline"),CUt=w((function(t,e){var r,n,i,a,o,s,l=t._private.cy,c=l.styleEnabled(),h=l.headless(),u=APt(),d=t._private,p=t.isNode(),f=t.isEdge(),g=d.rstyle,m=p&&c?t.pstyle("bounds-expansion").pfValue:[0],y=w((function(t){return"none"!==t.pstyle("display").value}),"isDisplayed"),v=!c||y(t)&&(!f||y(t.source())&&y(t.target()));if(v){var x=0;c&&e.includeOverlays&&0!==t.pstyle("overlay-opacity").value&&(x=t.pstyle("overlay-padding").value);var b=0;c&&e.includeUnderlays&&0!==t.pstyle("underlay-opacity").value&&(b=t.pstyle("underlay-padding").value);var k=Math.max(x,b),T=0;if(c&&(T=t.pstyle("width").pfValue/2),p&&e.includeNodes){var E=t.position();o=E.x,s=E.y;var _=t.outerWidth()/2,C=t.outerHeight()/2;bUt(u,r=o-_,i=s-C,n=o+_,a=s+C),c&&e.includeOutlines&&_Ut(u,t)}else if(f&&e.includeEdges)if(c&&!h){var S=t.pstyle("curve-style").strValue;if(r=Math.min(g.srcX,g.midX,g.tgtX),n=Math.max(g.srcX,g.midX,g.tgtX),i=Math.min(g.srcY,g.midY,g.tgtY),a=Math.max(g.srcY,g.midY,g.tgtY),bUt(u,r-=T,i-=T,n+=T,a+=T),"haystack"===S){var A=g.haystackPts;if(A&&2===A.length){if(r=A[0].x,i=A[0].y,r>(n=A[1].x)){var L=r;r=n,n=L}if(i>(a=A[1].y)){var N=i;i=a,a=N}bUt(u,r-T,i-T,n+T,a+T)}}else if("bezier"===S||"unbundled-bezier"===S||S.endsWith("segments")||S.endsWith("taxi")){var I;switch(S){case"bezier":case"unbundled-bezier":I=g.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":I=g.linePts}if(null!=I)for(var M=0;M(n=O.x)){var P=r;r=n,n=P}if((i=D.y)>(a=O.y)){var B=i;i=a,a=B}bUt(u,r-=T,i-=T,n+=T,a+=T)}if(c&&e.includeEdges&&f&&(TUt(u,t,"mid-source"),TUt(u,t,"mid-target"),TUt(u,t,"source"),TUt(u,t,"target")),c&&"yes"===t.pstyle("ghost").value){var F=t.pstyle("ghost-offset-x").pfValue,$=t.pstyle("ghost-offset-y").pfValue;bUt(u,u.x1+F,u.y1+$,u.x2+F,u.y2+$)}var z=d.bodyBounds=d.bodyBounds||{};PPt(z,u),OPt(z,m),DPt(z,1),c&&(r=u.x1,n=u.x2,i=u.y1,a=u.y2,bUt(u,r-k,i-k,n+k,a+k));var U=d.overlayBounds=d.overlayBounds||{};PPt(U,u),OPt(U,m),DPt(U,1);var G=d.labelBounds=d.labelBounds||{};null!=G.all?NPt(G.all):G.all=APt(),c&&e.includeLabels&&(e.includeMainLabels&&EUt(u,t,null),f&&(e.includeSourceLabels&&EUt(u,t,"source"),e.includeTargetLabels&&EUt(u,t,"target")))}return u.x1=xUt(u.x1),u.y1=xUt(u.y1),u.x2=xUt(u.x2),u.y2=xUt(u.y2),u.w=xUt(u.x2-u.x1),u.h=xUt(u.y2-u.y1),u.w>0&&u.h>0&&v&&(OPt(u,m),DPt(u,1)),u}),"boundingBoxImpl"),SUt=w((function(t){var e=0,r=w((function(t){return(t?1:0)<=0;s--)o(s);return this},eGt.removeAllListeners=function(){return this.removeListener("*")},eGt.emit=eGt.trigger=function(t,e,r){var n=this.listeners,i=n.length;return this.emitting++,IRt(e)||(e=[e]),iGt(this,(function(t,a){null!=r&&(n=[{event:a.event,type:a.type,namespace:a.namespace,callback:r}],i=n.length);for(var o=w((function(r){var i=n[r];if(i.type===a.type&&(!i.namespace||i.namespace===a.namespace||".*"===i.namespace)&&t.eventMatches(t.context,i,a)){var o=[a];null!=e&&FOt(o,e),t.beforeEmit(t.context,i,a),i.conf&&i.conf.one&&(t.listeners=t.listeners.filter((function(t){return t!==i})));var s=t.callbackContext(t.context,i,a),l=i.callback.apply(s,o);t.afterEmit(t.context,i,a),!1===l&&(a.stopPropagation(),a.preventDefault())}}),"_loop2"),s=0;s1&&!n){var i=this.length-1,a=this[i],o=a._private.data.id;this[i]=void 0,this[t]=a,r.set(o,{ele:a,index:t})}return this.length--,this}),"unmergeAt"),unmergeOne:w((function(t){t=t[0];var e=this._private,r=t._private.data.id,n=e.map.get(r);if(!n)return this;var i=n.index;return this.unmergeAt(i),this}),"unmergeOne"),unmerge:w((function(t){var e=this._private.cy;if(!t)return this;if(t&&LRt(t)){var r=t;t=e.mutableElements().filter(r)}for(var n=0;n=0;e--)t(this[e])&&this.unmergeAt(e);return this}),"unmergeBy"),map:w((function(t,e){for(var r=[],n=this,i=0;in&&(n=s,r=o)}return{value:n,ele:r}}),"max"),min:w((function(t,e){for(var r,n=1/0,i=this,a=0;a=0&&i"u"?"undefined":sIt(Symbol))!=t&&sIt(Symbol.iterator)!=t&&(dGt[Symbol.iterator]=function(){var t=this,e={value:void 0,done:!1},r=0,n=this.length;return uIt({next:w((function(){return r1&&void 0!==arguments[1])||arguments[1],r=this[0],n=r.cy();if(n.styleEnabled()&&r)return this.cleanStyle(),r._private.style[t]??(e?n.style().getDefaultProperty(t):null)}),"parsedStyle"),numericStyle:w((function(t){var e=this[0];if(e.cy().styleEnabled()&&e){var r=e.pstyle(t);return void 0!==r.pfValue?r.pfValue:r.value}}),"numericStyle"),numericStyleUnits:w((function(t){var e=this[0];if(e.cy().styleEnabled()&&e)return e.pstyle(t).units}),"numericStyleUnits"),renderedStyle:w((function(t){var e=this.cy();if(!e.styleEnabled())return this;var r=this[0];return r?e.style().getRenderedStyle(r,t):void 0}),"renderedStyle"),style:w((function(t,e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,i=r.style();if(MRt(t)){var a=t;i.applyBypass(this,a,n),this.emitAndNotify("style")}else if(LRt(t)){if(void 0===e){var o=this[0];return o?i.getStylePropertyValue(o,t):void 0}i.applyBypass(this,t,e,n),this.emitAndNotify("style")}else if(void 0===t){var s=this[0];return s?i.getRawStyle(s):void 0}return this}),"style"),removeStyle:w((function(t){var e=this.cy();if(!e.styleEnabled())return this;var r=!1,n=e.style(),i=this;if(void 0===t)for(var a=0;a0&&e.push(h[0]),e.push(s[0])}return this.spawn(e,!0).filter(t)}),"neighborhood"),closedNeighborhood:w((function(t){return this.neighborhood().add(this).filter(t)}),"closedNeighborhood"),openNeighborhood:w((function(t){return this.neighborhood(t)}),"openNeighborhood")}),kGt.neighbourhood=kGt.neighborhood,kGt.closedNeighbourhood=kGt.closedNeighborhood,kGt.openNeighbourhood=kGt.openNeighborhood,oDt(kGt,{source:oUt(w((function(t){var e,r=this[0];return r&&(e=r._private.source||r.cy().collection()),e&&t?e.filter(t):e}),"sourceImpl"),"source"),target:oUt(w((function(t){var e,r=this[0];return r&&(e=r._private.target||r.cy().collection()),e&&t?e.filter(t):e}),"targetImpl"),"target"),sources:FMt({attr:"source"}),targets:FMt({attr:"target"})}),w(FMt,"defineSourceFunction"),oDt(kGt,{edgesWith:oUt($Mt(),"edgesWith"),edgesTo:oUt($Mt({thisIsSrc:!0}),"edgesTo")}),w($Mt,"defineEdgesWithFunction"),oDt(kGt,{connectedEdges:oUt((function(t){for(var e=[],r=0;r0);return a}),"components"),component:w((function(){var t=this[0];return t.cy().mutableElements().components(t)[0]}),"component")}),kGt.componentsOf=kGt.components,CGt=w((function(t,e){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0!==t){var i=new GOt,a=!1;if(e){if(e.length>0&&MRt(e[0])&&!FRt(e[0])){a=!0;for(var o=[],s=new YOt,l=0,c=e.length;l0&&void 0!==arguments[0])||arguments[0],r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,i=n.cy(),a=i._private,o=[],s=[],l=0,c=n.length;l0){for(var O=t.length===n.length?n:new CGt(i,t),P=0;P0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=this,n=[],i={},a=r._private.cy;function o(t){for(var e=t._private.edges,r=0;r0&&(t?C.emitAndNotify("remove"):e&&C.emit("remove"));for(var S=0;Su&&Math.abs(s.v)>u;);return a?function(t){return c[t*(c.length-1)|0]}:h}),"springRK4Factory")}(),NGt=w((function(t,e,r,n){var i=UMt(t,e,r,n);return function(t,e,r){return t+(e-t)*i(r)}}),"cubicBezier"),IGt={linear:w((function(t,e,r){return t+(e-t)*r}),"linear"),ease:NGt(.25,.1,.25,1),"ease-in":NGt(.42,0,1,1),"ease-out":NGt(0,0,.58,1),"ease-in-out":NGt(.42,0,.58,1),"ease-in-sine":NGt(.47,0,.745,.715),"ease-out-sine":NGt(.39,.575,.565,1),"ease-in-out-sine":NGt(.445,.05,.55,.95),"ease-in-quad":NGt(.55,.085,.68,.53),"ease-out-quad":NGt(.25,.46,.45,.94),"ease-in-out-quad":NGt(.455,.03,.515,.955),"ease-in-cubic":NGt(.55,.055,.675,.19),"ease-out-cubic":NGt(.215,.61,.355,1),"ease-in-out-cubic":NGt(.645,.045,.355,1),"ease-in-quart":NGt(.895,.03,.685,.22),"ease-out-quart":NGt(.165,.84,.44,1),"ease-in-out-quart":NGt(.77,0,.175,1),"ease-in-quint":NGt(.755,.05,.855,.06),"ease-out-quint":NGt(.23,1,.32,1),"ease-in-out-quint":NGt(.86,0,.07,1),"ease-in-expo":NGt(.95,.05,.795,.035),"ease-out-expo":NGt(.19,1,.22,1),"ease-in-out-expo":NGt(1,0,0,1),"ease-in-circ":NGt(.6,.04,.98,.335),"ease-out-circ":NGt(.075,.82,.165,1),"ease-in-out-circ":NGt(.785,.135,.15,.86),spring:w((function(t,e,r){if(0===r)return IGt.linear;var n=LGt(t,e,r);return function(t,e,r){return t+(e-t)*n(r)}}),"spring"),"cubic-bezier":NGt},w(GMt,"getEasedValue"),w(qMt,"getValue"),w(YMt,"ease"),w(jMt,"step$1"),w(HMt,"valid"),w(WMt,"startAnimation"),w(VMt,"stepAll"),MGt={animate:Lzt.animate(),animation:Lzt.animation(),animated:Lzt.animated(),clearQueue:Lzt.clearQueue(),delay:Lzt.delay(),delayAnimation:Lzt.delayAnimation(),stop:Lzt.stop(),addToAnimationPool:w((function(t){this.styleEnabled()&&this._private.aniEles.merge(t)}),"addToAnimationPool"),stopAnimationLoop:w((function(){this._private.animationsRunning=!1}),"stopAnimationLoop"),startAnimationLoop:w((function(){var t=this;if(t._private.animationsRunning=!0,t.styleEnabled()){w(r,"headlessStep");var e=t.renderer();e&&e.beforeRender?e.beforeRender(w((function(e,r){VMt(r,t)}),"rendererAnimationStep"),e.beforeRenderPriorities.animations):r()}function r(){t._private.animationsRunning&&iOt(w((function(e){VMt(e,t),r()}),"animationStep"))}}),"startAnimationLoop")},RGt={qualifierCompare:w((function(t,e){return null==t||null==e?null==t&&null==e:t.sameText(e)}),"qualifierCompare"),eventMatches:w((function(t,e,r){var n=e.qualifier;return null==n||t!==r.target&&FRt(r.target)&&n.matches(r.target)}),"eventMatches"),addEventFields:w((function(t,e){e.cy=t,e.target=t}),"addEventFields"),callbackContext:w((function(t,e,r){return null!=e.qualifier?r.target:t}),"callbackContext")},DGt=w((function(t){return LRt(t)?new nUt(t):t}),"argSelector"),OGt={createEmitter:w((function(){var t=this._private;return t.emitter||(t.emitter=new NMt(RGt,this)),this}),"createEmitter"),emitter:w((function(){return this._private.emitter}),"emitter"),on:w((function(t,e,r){return this.emitter().on(t,DGt(e),r),this}),"on"),removeListener:w((function(t,e,r){return this.emitter().removeListener(t,DGt(e),r),this}),"removeListener"),removeAllListeners:w((function(){return this.emitter().removeAllListeners(),this}),"removeAllListeners"),one:w((function(t,e,r){return this.emitter().one(t,DGt(e),r),this}),"one"),once:w((function(t,e,r){return this.emitter().one(t,DGt(e),r),this}),"once"),emit:w((function(t,e){return this.emitter().emit(t,e),this}),"emit"),emitAndNotify:w((function(t,e){return this.emit(t),this.notify(t,e),this}),"emitAndNotify")},Lzt.eventAliasesOn(OGt),(PGt={png:w((function(t){return t=t||{},this._private.renderer.png(t)}),"png"),jpg:w((function(t){var e=this._private.renderer;return(t=t||{}).bg=t.bg||"#fff",e.jpg(t)}),"jpg")}).jpeg=PGt.jpg,(BGt={layout:w((function(t){var e=this;if(null!=t)if(null!=t.name){var r,n=t.name,i=e.extension("layout",n);if(null!=i)return r=LRt(t.eles)?e.$(t.eles):null!=t.eles?t.eles:e.$(),new i(oDt({},t,{cy:e,eles:r}));COt("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?")}else COt("A `name` must be specified to make a layout");else COt("Layout options must be specified to make a layout")}),"layout")}).createLayout=BGt.makeLayout=BGt.layout,FGt={notify:w((function(t,e){var r=this._private;if(this.batching()){r.batchNotifications=r.batchNotifications||{};var n=r.batchNotifications[t]=r.batchNotifications[t]||this.collection();null!=e&&n.merge(e)}else if(r.notificationsEnabled){var i=this.renderer();this.destroyed()||!i||i.notify(t,e)}}),"notify"),notifications:w((function(t){var e=this._private;return void 0===t?e.notificationsEnabled:(e.notificationsEnabled=!!t,this)}),"notifications"),noNotifications:w((function(t){this.notifications(!1),t(),this.notifications(!0)}),"noNotifications"),batching:w((function(){return this._private.batchCount>0}),"batching"),startBatch:w((function(){var t=this._private;return null==t.batchCount&&(t.batchCount=0),0===t.batchCount&&(t.batchStyleEles=this.collection(),t.batchNotifications={}),t.batchCount++,this}),"startBatch"),endBatch:w((function(){var t=this._private;if(0===t.batchCount)return this;if(t.batchCount--,0===t.batchCount){t.batchStyleEles.updateStyle();var e=this.renderer();Object.keys(t.batchNotifications).forEach((function(r){var n=t.batchNotifications[r];n.empty()?e.notify(r):e.notify(r,n)}))}return this}),"endBatch"),batch:w((function(t){return this.startBatch(),t(),this.endBatch(),this}),"batch"),batchData:w((function(t){var e=this;return this.batch((function(){for(var r=Object.keys(t),n=0;n0;)e.removeChild(e.childNodes[0]);t._private.renderer=null,t.mutableElements().forEach((function(t){var e=t._private;e.rscratch={},e.rstyle={},e.animation.current=[],e.animation.queue=[]}))}),"destroyRenderer"),onRender:w((function(t){return this.on("render",t)}),"onRender"),offRender:w((function(t){return this.off("render",t)}),"offRender")}).invalidateDimensions=zGt.resize,(UGt={collection:w((function(t,e){return LRt(t)?this.$(t):BRt(t)?t.collection():IRt(t)?(e||(e={}),new CGt(this,t,e.unique,e.removed)):new CGt(this)}),"collection"),nodes:w((function(t){var e=this.$((function(t){return t.isNode()}));return t?e.filter(t):e}),"nodes"),edges:w((function(t){var e=this.$((function(t){return t.isEdge()}));return t?e.filter(t):e}),"edges"),$:w((function(t){var e=this._private.elements;return t?e.filter(t):e.spawnSelf()}),"$"),mutableElements:w((function(){return this._private.elements}),"mutableElements")}).elements=UGt.filter=UGt.$,qGt="t",(GGt={}).apply=function(t){for(var e=this,r=e._private.cy.collection(),n=0;n0;if(d||u&&p){var f=void 0;d&&p||d?f=c.properties:p&&(f=c.mappedProperties);for(var g=0;g1&&(x=1),s.color){var k=i.valueMin[0],T=i.valueMax[0],E=i.valueMin[1],_=i.valueMax[1],C=i.valueMin[2],S=i.valueMax[2],A=null==i.valueMin[3]?1:i.valueMin[3],L=null==i.valueMax[3]?1:i.valueMax[3],N=[Math.round(k+(T-k)*x),Math.round(E+(_-E)*x),Math.round(C+(S-C)*x),Math.round(A+(L-A)*x)];r={bypass:i.bypass,name:i.name,value:N,strValue:"rgb("+N[0]+", "+N[1]+", "+N[2]+")"}}else{if(!s.number)return!1;var I=i.valueMin+(i.valueMax-i.valueMin)*x;r=this.parse(i.name,I,i.bypass,d)}if(!r)return g(),!1;r.mapping=i,i=r;break;case o.data:for(var M=i.field.split("."),R=u.data,D=0;D0&&a>0){for(var s={},l=!1,c=0;c0?t.delayAnimation(o).play().promise().then(e):e()})).then((function(){return t.animation({style:s,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){r.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1}))}else n.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1)},GGt.checkTrigger=function(t,e,r,n,i,a){var o=this.properties[e],s=i(o);null!=s&&s(r,n)&&a(o)},GGt.checkZOrderTrigger=function(t,e,r,n){var i=this;this.checkTrigger(t,e,r,n,(function(t){return t.triggersZOrder}),(function(){i._private.cy.notify("zorder",t)}))},GGt.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,(function(t){return t.triggersBounds}),(function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache(),i.triggersBoundsOfParallelBeziers&&"curve-style"===e&&("bezier"===r||"bezier"===n)&&t.parallelEdges().forEach((function(t){t.isBundledBezier()&&t.dirtyBoundingBoxCache()})),i.triggersBoundsOfConnectedEdges&&"display"===e&&("none"===r||"none"===n)&&t.connectedEdges().forEach((function(t){t.dirtyBoundingBoxCache()}))}))},GGt.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n)},(YGt={}).applyBypass=function(t,e,r,n){var i=[];if("*"===e||"**"===e){if(void 0!==r)for(var a=0;ae.length?a.substr(e.length):""}function s(){r=r.length>n.length?r.substr(n.length):""}for(a=a.replace(/[/][*](\s|.)+?[*][/]/g,""),w(o,"removeSelAndBlockFromRemaining"),w(s,"removePropAndValFromRem");!a.match(/^\s*$/);){var l=a.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!l){AOt("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+a);break}e=l[0];var c=l[1];if("core"!==c&&new nUt(c).invalid)AOt("Skipping parsing of block: Invalid selector found in string stylesheet: "+c),o();else{var h=l[2],u=!1;r=h;for(var d=[];!r.match(/^\s*$/);){var p=r.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!p){AOt("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+h),u=!0;break}n=p[0];var f=p[1],g=p[2];this.properties[f]?i.parse(f,g)?(d.push({name:f,val:g}),s()):(AOt("Skipping property: Invalid property definition in: "+n),s()):(AOt("Skipping property: Invalid property name in: "+n),s())}if(u){o();break}i.selector(c);for(var m=0;m=7&&"d"===e[0]&&(c=new RegExp(s.data.regex).exec(e))){if(r)return!1;var d=s.data;return{name:t,value:c,strValue:""+e,mapped:d,field:c[1],bypass:r}}if(e.length>=10&&"m"===e[0]&&(h=new RegExp(s.mapData.regex).exec(e))){if(r||u.multiple)return!1;var p=s.mapData;if(!u.color&&!u.number)return!1;var f=this.parse(t,h[4]);if(!f||f.mapped)return!1;var g=this.parse(t,h[5]);if(!g||g.mapped)return!1;if(f.pfValue===g.pfValue||f.strValue===g.strValue)return AOt("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+f.strValue+"`"),this.parse(t,f.strValue);if(u.color){var m=f.value,y=g.value;if(!(m[0]!==y[0]||m[1]!==y[1]||m[2]!==y[2]||m[3]!==y[3]&&(null!=m[3]&&1!==m[3]||null!=y[3]&&1!==y[3])))return!1}return{name:t,value:h,strValue:""+e,mapped:p,field:h[1],fieldMin:parseFloat(h[2]),fieldMax:parseFloat(h[3]),valueMin:f.value,valueMax:g.value,bypass:r}}}if(u.multiple&&"multiple"!==n){var v;if(v=l?e.split(/\s+/):IRt(e)?e:[e],u.evenMultiple&&v.length%2!=0)return null;for(var x=[],b=[],k=[],T="",E=!1,_=0;_0?" ":"")+C.strValue}return u.validate&&!u.validate(x,b)?null:u.singleEnum&&E?1===x.length&&LRt(x[0])?{name:t,value:x[0],strValue:x[0],bypass:r}:null:{name:t,value:x,pfValue:k,strValue:T,bypass:r,units:b}}var S=w((function(){for(var n=0;nu.max||u.strictMax&&e===u.max))return null;var M={name:t,value:e,strValue:""+e+(A||""),units:A,bypass:r};return u.unitless||"px"!==A&&"em"!==A?M.pfValue=e:M.pfValue="px"!==A&&A?this.getEmSizeInPixels()*e:e,("ms"===A||"s"===A)&&(M.pfValue="ms"===A?e:1e3*e),("deg"===A||"rad"===A)&&(M.pfValue="rad"===A?e:yPt(e)),"%"===A&&(M.pfValue=e/100),M}if(u.propList){var R=[],D=""+e;if("none"!==D){for(var O=D.split(/\s*,\s*|\s+/),P=0;P0&&s>0&&!isNaN(r.w)&&!isNaN(r.h)&&r.w>0&&r.h>0)return{zoom:a=(a=(a=Math.min((o-2*e)/r.w,(s-2*e)/r.h))>this._private.maxZoom?this._private.maxZoom:a)=r.minZoom&&(r.maxZoom=e),this}),"zoomRange"),minZoom:w((function(t){return void 0===t?this._private.minZoom:this.zoomRange({min:t})}),"minZoom"),maxZoom:w((function(t){return void 0===t?this._private.maxZoom:this.zoomRange({max:t})}),"maxZoom"),getZoomedViewport:w((function(t){var e,r,n=this._private,i=n.pan,a=n.zoom,o=!1;if(n.zoomingEnabled||(o=!0),DRt(t)?r=t:MRt(t)&&(r=t.level,null!=t.position?e=hPt(t.position,a,i):null!=t.renderedPosition&&(e=t.renderedPosition),null!=e&&!n.panningEnabled&&(o=!0)),r=(r=r>n.maxZoom?n.maxZoom:r)e.maxZoom||!e.zoomingEnabled?a=!0:(e.zoom=s,i.push("zoom"))}if(n&&(!a||!t.cancelOnFailedZoom)&&e.panningEnabled){var l=t.pan;DRt(l.x)&&(e.pan.x=l.x,o=!1),DRt(l.y)&&(e.pan.y=l.y,o=!1),o||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this}),"viewport"),center:w((function(t){var e=this.getCenterPan(t);return e&&(this._private.pan=e,this.emit("pan viewport"),this.notify("viewport")),this}),"center"),getCenterPan:w((function(t,e){if(this._private.panningEnabled){if(LRt(t)){var r=t;t=this.mutableElements().filter(r)}else BRt(t)||(t=this.mutableElements());if(0!==t.length){var n=t.boundingBox(),i=this.width(),a=this.height();return{x:(i-(e=void 0===e?this._private.zoom:e)*(n.x1+n.x2))/2,y:(a-e*(n.y1+n.y2))/2}}}}),"getCenterPan"),reset:w((function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this}),"reset"),invalidateSize:w((function(){this._private.sizeCache=null}),"invalidateSize"),size:w((function(){var t,e,r=this._private,n=r.container;return r.sizeCache=r.sizeCache||(n?(t=this.window().getComputedStyle(n),e=w((function(e){return parseFloat(t.getPropertyValue(e))}),"val"),{width:n.clientWidth-e("padding-left")-e("padding-right"),height:n.clientHeight-e("padding-top")-e("padding-bottom")}):{width:1,height:1})}),"size"),width:w((function(){return this.size().width}),"width"),height:w((function(){return this.size().height}),"height"),extent:w((function(){var t=this._private.pan,e=this._private.zoom,r=this.renderedExtent(),n={x1:(r.x1-t.x)/e,x2:(r.x2-t.x)/e,y1:(r.y1-t.y)/e,y2:(r.y2-t.y)/e};return n.w=n.x2-n.x1,n.h=n.y2-n.y1,n}),"extent"),renderedExtent:w((function(){var t=this.width(),e=this.height();return{x1:0,y1:0,x2:t,y2:e,w:t,h:e}}),"renderedExtent"),multiClickDebounceTime:w((function(t){return t?(this._private.multiClickDebounceTime=t,this):this._private.multiClickDebounceTime}),"multiClickDebounceTime")}).centre=tqt.center,tqt.autolockNodes=tqt.autolock,tqt.autoungrabifyNodes=tqt.autoungrabify,(eqt={data:Lzt.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:Lzt.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:Lzt.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Lzt.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})}).attr=eqt.data,eqt.removeAttr=eqt.removeData,rqt=w((function(t){var e=this,r=(t=oDt({},t)).container;r&&!PRt(r)&&PRt(r[0])&&(r=r[0]);var n=r?r._cyreg:null;(n=n||{})&&n.cy&&(n.cy.destroy(),n={});var i=n.readies=n.readies||[];r&&(r._cyreg=n),n.cy=e;var a=void 0!==kRt&&void 0!==r&&!t.headless,o=t;o.layout=oDt({name:a?"grid":"null"},o.layout),o.renderer=oDt({name:a?"canvas":"null"},o.renderer);var s=w((function(t,e,r){return void 0!==e?e:void 0!==r?r:t}),"defVal"),l=this._private={container:r,ready:!1,options:o,elements:new CGt(this),listeners:[],aniEles:new CGt(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:s(!0,o.zoomingEnabled),userZoomingEnabled:s(!0,o.userZoomingEnabled),panningEnabled:s(!0,o.panningEnabled),userPanningEnabled:s(!0,o.userPanningEnabled),boxSelectionEnabled:s(!0,o.boxSelectionEnabled),autolock:s(!1,o.autolock,o.autolockNodes),autoungrabify:s(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:s(!1,o.autounselectify),styleEnabled:void 0===o.styleEnabled?a:o.styleEnabled,zoom:DRt(o.zoom)?o.zoom:1,pan:{x:MRt(o.pan)&&DRt(o.pan.x)?o.pan.x:0,y:MRt(o.pan)&&DRt(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:s(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});var c=w((function(t,e){if(t.some(HRt))return $Ft.all(t).then(e);e(t)}),"loadExtData");l.styleEnabled&&e.setStyle([]);var h=oDt({},o,o.renderer);e.initRenderer(h);var u=w((function(t,r,n){e.notifications(!1);var i=e.mutableElements();i.length>0&&i.remove(),null!=t&&(MRt(t)||IRt(t))&&e.add(t),e.one("layoutready",(function(t){e.notifications(!0),e.emit(t),e.one("load",r),e.emitAndNotify("load")})).one("layoutstop",(function(){e.one("done",n),e.emit("done")}));var a=oDt({},e._private.options.layout);a.eles=e.elements(),e.layout(a).run()}),"setElesAndLayout");c([o.style,o.elements],(function(t){var r=t[0],a=t[1];l.styleEnabled&&e.style().append(r),u(a,(function(){e.startAnimationLoop(),l.ready=!0,NRt(o.ready)&&e.on("ready",o.ready);for(var t=0;t0,c=APt(r.boundingBox?r.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(BRt(r.roots))t=r.roots;else if(IRt(r.roots)){for(var h=[],u=0;u0;){var M=I(),R=S(M,L);if(R)M.outgoers().filter((function(t){return t.isNode()&&i.has(t)})).forEach(N);else if(null===R){AOt("Detected double maximal shift for node `"+M.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}C();var D=0;if(r.avoidOverlap)for(var O=0;O0&&y[0].length<=3?l/2:0),u=2*Math.PI/y[n].length*i;return 0===n&&1===y[0].length&&(h=1),{x:W+h*Math.cos(u),y:V+h*Math.sin(u)}}return{x:W+(i+1-(a+1)/2)*o,y:(n+1)*s}}),"getPosition");return i.nodes().layoutPositions(this,r,K),this},lqt={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:w((function(t,e){return!0}),"animateFilter"),ready:void 0,stop:void 0,transform:w((function(t,e){return e}),"transform")},w(KMt,"CircleLayout"),KMt.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=void 0!==e.counterclockwise?!e.counterclockwise:e.clockwise,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var o,s=APt(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),l={x:s.x1+s.w/2,y:s.y1+s.h/2},c=(void 0===e.sweep?2*Math.PI-2*Math.PI/a.length:e.sweep)/Math.max(1,a.length-1),h=0,u=0;u1&&e.avoidOverlap){h*=1.75;var g=Math.cos(c)-Math.cos(0),m=Math.sin(c)-Math.sin(0),y=Math.sqrt(h*h/(g*g+m*m));o=Math.max(y,o)}var v=w((function(t,r){var n=e.startAngle+r*c*(i?1:-1),a=o*Math.cos(n),s=o*Math.sin(n);return{x:l.x+a,y:l.y+s}}),"getPos");return n.nodes().layoutPositions(this,e,v),this},cqt={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:w((function(t){return t.degree()}),"concentric"),levelWidth:w((function(t){return t.maxDegree()/4}),"levelWidth"),animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:w((function(t,e){return!0}),"animateFilter"),ready:void 0,stop:void 0,transform:w((function(t,e){return e}),"transform")},w(ZMt,"ConcentricLayout"),ZMt.prototype.run=function(){for(var t=this.options,e=t,r=void 0!==e.counterclockwise?!e.counterclockwise:e.clockwise,n=t.cy,i=e.eles,a=i.nodes().not(":parent"),o=APt(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),s={x:o.x1+o.w/2,y:o.y1+o.h/2},l=[],c=0,h=0;h0&&Math.abs(y[0].value-x.value)>=g&&(y=[],m.push(y)),y.push(x)}var b=c+e.minNodeSpacing;if(!e.avoidOverlap){var w=m.length>0&&m[0].length>1,k=(Math.min(o.w,o.h)/2-b)/(m.length+w?1:0);b=Math.min(b,k)}for(var T=0,E=0;E1&&e.avoidOverlap){var A=Math.cos(S)-Math.cos(0),L=Math.sin(S)-Math.sin(0),N=Math.sqrt(b*b/(A*A+L*L));T=Math.max(N,T)}_.r=T,T+=b}if(e.equidistant){for(var I=0,M=0,R=0;R=t.numIter||(vqt(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature=t.animationThreshold&&a(),iOt(e)):(Nqt(n,t),s())}),"frame")();else{for(;c;)c=o(l),l++;Nqt(n,t),s()}return this},QMt.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},QMt.prototype.destroy=function(){return this.thread&&this.thread.stop(),this},dqt=w((function(t,e,r){for(var n=r.eles.edges(),i=r.eles.nodes(),a=APt(r.boundingBox?r.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()}),o={isCompound:t.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:n.size(),temperature:r.initialTemp,clientWidth:a.w,clientHeight:a.h,boundingBox:a},s=r.eles.components(),l={},c=0;c0)for(o.graphSet.push(w),c=0;cn.count?0:n.graph}),"findLCA"),fqt=w((function t(e,r,n,i){var a=i.graphSet[n];if(-10)var s=(c=n.nodeOverlap*o)*i/(g=Math.sqrt(i*i+a*a)),l=c*a/g;else{var c,h=Tqt(t,i,a),u=Tqt(e,-1*i,-1*a),d=u.x-h.x,p=u.y-h.y,f=d*d+p*p,g=Math.sqrt(f);s=(c=(t.nodeRepulsion+e.nodeRepulsion)/f)*d/g,l=c*p/g}t.isLocked||(t.offsetX-=s,t.offsetY-=l),e.isLocked||(e.offsetX+=s,e.offsetY+=l)}}),"nodeRepulsion"),kqt=w((function(t,e,r,n){if(r>0)var i=t.maxX-e.minX;else i=e.maxX-t.minX;if(n>0)var a=t.maxY-e.minY;else a=e.maxY-t.minY;return i>=0&&a>=0?Math.sqrt(i*i+a*a):0}),"nodesOverlap"),Tqt=w((function(t,e,r){var n=t.positionX,i=t.positionY,a=t.height||1,o=t.width||1,s=r/e,l=a/o,c={};return 0===e&&0r?(c.x=n,c.y=i+a/2,c):0e&&-1*l<=s&&s<=l?(c.x=n-o/2,c.y=i-o*r/2/e,c):0=l)?(c.x=n+a*e/2/r,c.y=i+a/2,c):(0>r&&(s<=-1*l||s>=l)&&(c.x=n-a*e/2/r,c.y=i-a/2),c)}),"findClippingPoint"),Eqt=w((function(t,e){for(var r=0;r1){var f=e.gravity*u/p,g=e.gravity*d/p;h.offsetX+=f,h.offsetY+=g}}}}}),"calculateGravityForces"),Cqt=w((function(t,e){var r=[],n=0,i=-1;for(r.push.apply(r,t.graphSet[0]),i+=t.graphSet[0].length;n<=i;){var a=r[n++],o=t.idToIndex[a],s=t.layoutNodes[o],l=s.children;if(0r)var i={x:r*t/n,y:r*e/n};else i={x:t,y:e};return i}),"limitForce"),Lqt=w((function t(e,r){var n=e.parentId;if(null!=n){var i=r.layoutNodes[r.idToIndex[n]],a=!1;if((null==i.maxX||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,a=!0),(null==i.minX||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,a=!0),(null==i.minY||e.minY-i.padTopf&&(u+=p+e.componentSpacing,h=0,d=0,p=0)}}}),"separateComponents"),Iqt={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:w((function(t){}),"position"),sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:w((function(t,e){return!0}),"animateFilter"),ready:void 0,stop:void 0,transform:w((function(t,e){return e}),"transform")},w(JMt,"GridLayout"),JMt.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var a=APt(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(0===a.h||0===a.w)n.nodes().layoutPositions(this,e,(function(t){return{x:a.x1,y:a.y1}}));else{var o=i.size(),s=Math.sqrt(o*a.h/a.w),l=Math.round(s),c=Math.round(a.w/a.h*s),h=w((function(t){if(null==t)return Math.min(l,c);Math.min(l,c)==l?l=t:c=t}),"small"),u=w((function(t){if(null==t)return Math.max(l,c);Math.max(l,c)==l?l=t:c=t}),"large"),d=e.rows,p=null!=e.cols?e.cols:e.columns;if(null!=d&&null!=p)l=d,c=p;else if(null!=d&&null==p)l=d,c=Math.ceil(o/l);else if(null==d&&null!=p)c=p,l=Math.ceil(o/c);else if(c*l>o){var f=h(),g=u();(f-1)*g>=o?h(f-1):(g-1)*f>=o&&u(g-1)}else for(;c*l=o?u(y+1):h(m+1)}var v=a.w/c,x=a.h/l;if(e.condense&&(v=0,x=0),e.avoidOverlap)for(var b=0;b=c&&(M=0,I++)}),"moveToNextCell"),D={},O=0;O(n=WPt(t,e,b[w],b[w+1],b[w+2],b[w+3])))return m(r,n),!0}else if("bezier"===a.edgeType||"multibezier"===a.edgeType||"self"===a.edgeType||"compound"===a.edgeType)for(b=a.allpts,w=0;w+5(n=HPt(t,e,b[w],b[w+1],b[w+2],b[w+3],b[w+4],b[w+5])))return m(r,n),!0;v=v||i.source,x=x||i.target;var k=o.getArrowWidth(l,h),T=[{name:"source",x:a.arrowStartX,y:a.arrowStartY,angle:a.srcArrowAngle},{name:"target",x:a.arrowEndX,y:a.arrowEndY,angle:a.tgtArrowAngle},{name:"mid-source",x:a.midX,y:a.midY,angle:a.midsrcArrowAngle},{name:"mid-target",x:a.midX,y:a.midY,angle:a.midtgtArrowAngle}];for(w=0;w0&&(y(v),y(x))}function x(t,e,r){return $Ot(t,e,r)}function b(r,n){var i,a=r._private,o=f;i=n?n+"-":"",r.boundingBox();var s=a.labelBounds[n||"main"],l=r.pstyle(i+"label").value;if("yes"===r.pstyle("text-events").strValue&&l){var c=x(a.rscratch,"labelX",n),h=x(a.rscratch,"labelY",n),u=x(a.rscratch,"labelAngle",n),d=r.pstyle(i+"text-margin-x").pfValue,p=r.pstyle(i+"text-margin-y").pfValue,g=s.x1-o-d,y=s.x2+o-d,v=s.y1-o-p,b=s.y2+o-p;if(u){var k=Math.cos(u),T=Math.sin(u),E=w((function(t,e){return{x:(t-=c)*k-(e-=h)*T+c,y:t*T+e*k+h}}),"rotate"),_=E(g,v),C=E(g,b),S=E(y,v),A=E(y,b),L=[_.x+d,_.y+p,S.x+d,S.y+p,A.x+d,A.y+p,C.x+d,C.y+p];if(VPt(t,e,L))return m(r),!0}else if(FPt(s,t,e))return m(r),!0}}r&&(l=l.interactive),w(m,"addEle"),w(y,"checkNode"),w(v,"checkEdge"),w(x,"preprop"),w(b,"checkLabel");for(var k=l.length-1;k>=0;k--){var T=l[k];T.isNode()?y(T)||b(T):v(T)||b(T)||b(T,"source")||b(T,"target")}return c},$qt.getAllInBox=function(t,e,r,n){for(var i=this.getCachedZSortedEles().interactive,a=[],o=Math.min(t,r),s=Math.max(t,r),l=Math.min(e,n),c=Math.max(e,n),h=APt({x1:t=o,y1:e=l,x2:r=s,y2:n=c}),u=0;u0?-(Math.PI-t.ang):Math.PI+t.ang}),"invertVec"),lYt=w((function(t,e,r,n,i){if(t!==aYt?oYt(e,t,qqt):sYt(Yqt,qqt),oYt(e,r,Yqt),jqt=qqt.nx*Yqt.ny-qqt.ny*Yqt.nx,Hqt=qqt.nx*Yqt.nx-qqt.ny*-Yqt.ny,Xqt=Math.asin(Math.max(-1,Math.min(1,jqt))),Math.abs(Xqt)<1e-6)return Uqt=e.x,Gqt=e.y,void(Zqt=Jqt=0);Wqt=1,Vqt=!1,Hqt<0?Xqt<0?Xqt=Math.PI+Xqt:(Xqt=Math.PI-Xqt,Wqt=-1,Vqt=!0):Xqt>0&&(Wqt=-1,Vqt=!0),Jqt=void 0!==e.radius?e.radius:n,Kqt=Xqt/2,tYt=Math.min(qqt.len/2,Yqt.len/2),i?(Qqt=Math.abs(Math.cos(Kqt)*Jqt/Math.sin(Kqt)))>tYt?(Qqt=tYt,Zqt=Math.abs(Qqt*Math.sin(Kqt)/Math.cos(Kqt))):Zqt=Jqt:(Qqt=Math.min(tYt,Jqt),Zqt=Math.abs(Qqt*Math.sin(Kqt)/Math.cos(Kqt))),nYt=e.x+Yqt.nx*Qqt,iYt=e.y+Yqt.ny*Qqt,Uqt=nYt-Yqt.ny*Zqt*Wqt,Gqt=iYt+Yqt.nx*Zqt*Wqt,eYt=e.x+qqt.nx*Qqt,rYt=e.y+qqt.ny*Qqt,aYt=e}),"calcCornerArc"),w(iRt,"drawPreparedRoundCorner"),w(aRt,"getRoundCorner"),(cYt={}).findMidptPtsEtc=function(t,e){var r,n=e.posPts,i=e.intersectionPts,a=e.vectorNormInverse,o=t.pstyle("source-endpoint"),s=t.pstyle("target-endpoint"),l=null!=o.units&&null!=s.units,c=w((function(t,e,r,n){var i=n-e,a=r-t,o=Math.sqrt(a*a+i*i);return{x:-i/o,y:a/o}}),"recalcVectorNormInverse");switch(t.pstyle("edge-distances").value){case"node-position":r=n;break;case"intersection":r=i;break;case"endpoints":if(l){var h=dIt(this.manualEndptToPx(t.source()[0],o),2),u=h[0],d=h[1],p=dIt(this.manualEndptToPx(t.target()[0],s),2),f=p[0],g=p[1],m={x1:u,y1:d,x2:f,y2:g};a=c(u,d,f,g),r=m}else AOt("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),r=i}return{midptPts:r,vectorNormInverse:a}},cYt.findHaystackPoints=function(t){for(var e=0;e0?Math.max(t-e,0):Math.min(t+e,0)}),"subDWH"),A=S(_,T),L=S(C,E),N=!1;"auto"===m?g=Math.abs(A)>Math.abs(L)?i:n:m===l||m===s?(g=n,N=!0):(m===a||m===o)&&(g=i,N=!0);var I,M=g===n,R=M?L:A,D=M?C:_,O=bPt(D),P=!1;(!N||!v&&!b)&&(m===s&&D<0||m===l&&D>0||m===a&&D>0||m===o&&D<0)&&(R=(O*=-1)*Math.abs(R),P=!0),I=v?(x<0?1+x:x)*R:(x<0?R:0)+x*O;var B=w((function(t){return Math.abs(t)=Math.abs(R)}),"getIsTooClose"),F=B(I),$=B(Math.abs(R)-Math.abs(I));if(!F&&!$||P)if(M){var z=c.y1+I+(f?u/2*O:0),U=c.x1,G=c.x2;r.segpts=[U,z,G,z]}else{var q=c.x1+I+(f?h/2*O:0),Y=c.y1,j=c.y2;r.segpts=[q,Y,q,j]}else if(M){var H=Math.abs(D)<=u/2,W=Math.abs(_)<=d/2;if(H){var V=(c.x1+c.x2)/2,X=c.y1,K=c.y2;r.segpts=[V,X,V,K]}else if(W){var Z=(c.y1+c.y2)/2,Q=c.x1,J=c.x2;r.segpts=[Q,Z,J,Z]}else r.segpts=[c.x1,c.y2]}else{var tt=Math.abs(D)<=h/2,et=Math.abs(C)<=p/2;if(tt){var rt=(c.y1+c.y2)/2,nt=c.x1,it=c.x2;r.segpts=[nt,rt,it,rt]}else if(et){var at=(c.x1+c.x2)/2,ot=c.y1,st=c.y2;r.segpts=[at,ot,at,st]}else r.segpts=[c.x2,c.y1]}if(r.isRound){var lt=t.pstyle("taxi-radius").value,ct="arc-radius"===t.pstyle("radius-type").value[0];r.radii=new Array(r.segpts.length/2).fill(lt),r.isArcRadius=new Array(r.segpts.length/2).fill(ct)}},cYt.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if("bezier"===r.edgeType){var n=e.srcPos,i=e.tgtPos,a=e.srcW,o=e.srcH,s=e.tgtW,l=e.tgtH,c=e.srcShape,h=e.tgtShape,u=e.srcCornerRadius,d=e.tgtCornerRadius,p=e.srcRs,f=e.tgtRs,g=!DRt(r.startX)||!DRt(r.startY),m=!DRt(r.arrowStartX)||!DRt(r.arrowStartY),y=!DRt(r.endX)||!DRt(r.endY),v=!DRt(r.arrowEndX)||!DRt(r.arrowEndY),x=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth*3,b=wPt({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),w=bd.poolIndex()){var p=u;u=d,d=p}var f=s.srcPos=u.position(),g=s.tgtPos=d.position(),m=s.srcW=u.outerWidth(),y=s.srcH=u.outerHeight(),v=s.tgtW=d.outerWidth(),x=s.tgtH=d.outerHeight(),b=s.srcShape=r.nodeShapes[e.getNodeShape(u)],w=s.tgtShape=r.nodeShapes[e.getNodeShape(d)],k=s.srcCornerRadius="auto"===u.pstyle("corner-radius").value?"auto":u.pstyle("corner-radius").pfValue,T=s.tgtCornerRadius="auto"===d.pstyle("corner-radius").value?"auto":d.pstyle("corner-radius").pfValue,E=s.tgtRs=d._private.rscratch,_=s.srcRs=u._private.rscratch;s.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var C=0;C0){var j=c,H=kPt(j,dPt(e)),W=kPt(j,dPt(Y)),V=H;W2&&kPt(j,{x:Y[2],y:Y[3]})0){var st=h,lt=kPt(st,dPt(e)),ct=kPt(st,dPt(ot)),ht=lt;ct2&&kPt(st,{x:ot[2],y:ot[3]})=c||v){h={cp:g,segment:y};break}}if(h)break}var x=h.cp,b=h.segment,w=(c-d)/b.length,k=b.t1-b.t0,T=s?b.t0+k*w:b.t1-k*w;T=SPt(0,T,1),e=_Pt(x.p0,x.p1,x.p2,T),i=gYt(x.p0,x.p1,x.p2,T);break;case"straight":case"segments":case"haystack":for(var E,_,C,S,A=0,L=n.allpts.length,N=0;N+3=c));N+=2);var I=(c-_)/E;I=SPt(0,I,1),e=CPt(C,S,I),i=fYt(C,S)}o("labelX",r,e.x),o("labelY",r,e.y),o("labelAutoAngle",r,i)}}),"calculateEndProjection");c("source"),c("target"),this.applyLabelDimensions(t)}},dYt.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))},dYt.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),i=this.calculateLabelDimensions(t,n),a=t.pstyle("line-height").pfValue,o=t.pstyle("text-wrap").strValue,s=$Ot(r.rscratch,"labelWrapCachedLines",e)||[],l="wrap"!==o?1:Math.max(s.length,1),c=i.height/l,h=c*a,u=i.width,d=i.height+(l-1)*(a-1)*c;zOt(r.rstyle,"labelWidth",e,u),zOt(r.rscratch,"labelWidth",e,u),zOt(r.rstyle,"labelHeight",e,d),zOt(r.rscratch,"labelHeight",e,d),zOt(r.rscratch,"labelLineHeight",e,h)},dYt.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",i=t.pstyle(n+"label").strValue,a=t.pstyle("text-transform").value,o=w((function(t,n){return n?(zOt(r.rscratch,t,e,n),n):$Ot(r.rscratch,t,e)}),"rscratch");if(!i)return"";"none"==a||("uppercase"==a?i=i.toUpperCase():"lowercase"==a&&(i=i.toLowerCase()));var s=t.pstyle("text-wrap").value;if("wrap"===s){var l=o("labelKey");if(null!=l&&o("labelWrapKey")===l)return o("labelWrapCachedText");for(var c=i.split("\n"),h=t.pstyle("text-max-width").pfValue,u="anywhere"===t.pstyle("text-overflow-wrap").value,d=[],p=/[\s\u200b]+|$/g,f=0;fh){var v,x="",b=0,k=vIt(g.matchAll(p));try{for(k.s();!(v=k.n()).done;){var T=v.value,E=T[0],_=g.substring(b,T.index);b=T.index+E.length;var C=0===x.length?_:x+_+E;this.calculateLabelDimensions(t,C).width<=h?x+=_+E:(x&&d.push(x),x=_+E)}}catch(t){k.e(t)}finally{k.f()}x.match(/^[\s\u200b]+$/)||d.push(x)}else d.push(g)}o("labelWrapCachedLines",d),i=o("labelWrapCachedText",d.join("\n")),o("labelWrapKey",l)}else if("ellipsis"===s){var S=t.pstyle("text-max-width").pfValue,A="",L=!1;if(this.calculateLabelDimensions(t,i).widthS);N++)A+=i[N],N===i.length-1&&(L=!0);return L||(A+="…"),A}return i},dYt.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if("auto"!==e)return e;if(!t.isNode())return"center";switch(r){case"left":return"right";case"right":return"left";default:return"center"}},dYt.calculateLabelDimensions=function(t,e){var r=this,n=r.cy.window().document,i=gOt(e,t._private.labelDimsKey),a=r.labelDimCache||(r.labelDimCache=[]),o=a[i];if(null!=o)return o;var s=t.pstyle("font-style").strValue,l=t.pstyle("font-size").pfValue,c=t.pstyle("font-family").strValue,h=t.pstyle("font-weight").strValue,u=this.labelCalcCanvas,d=this.labelCalcCanvasContext;if(!u){u=this.labelCalcCanvas=n.createElement("canvas"),d=this.labelCalcCanvasContext=u.getContext("2d");var p=u.style;p.position="absolute",p.left="-9999px",p.top="-9999px",p.zIndex="-1",p.visibility="hidden",p.pointerEvents="none"}d.font="".concat(s," ").concat(h," ").concat(l,"px ").concat(c);for(var f=0,g=0,m=e.split("\n"),y=0;y1&&void 0!==arguments[1])||arguments[1];if(e.merge(t),r)for(var n=0;n=t.desktopTapThreshold2}var C=i(e);g&&(t.hoverData.tapholdCancelled=!0);var S=w((function(){var e=t.hoverData.dragDelta=t.hoverData.dragDelta||[];0===e.length?(e.push(x[0]),e.push(x[1])):(e[0]+=x[0],e[1]+=x[1])}),"updateDragDelta");r=!0,n(p,["mousemove","vmousemove","tapdrag"],e,{x:c[0],y:c[1]});var A=w((function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||o.emit({originalEvent:e,type:"boxstart",position:{x:c[0],y:c[1]}}),d[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()}),"goIntoBoxMode");if(3===t.hoverData.which){if(g){var N={originalEvent:e,type:"cxtdrag",position:{x:c[0],y:c[1]}};v?v.emit(N):o.emit(N),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||p!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit({originalEvent:e,type:"cxtdragout",position:{x:c[0],y:c[1]}}),t.hoverData.cxtOver=p,p&&p.emit({originalEvent:e,type:"cxtdragover",position:{x:c[0],y:c[1]}}))}}else if(t.hoverData.dragging){if(r=!0,o.panningEnabled()&&o.userPanningEnabled()){var I;if(t.hoverData.justStartedPan){var M=t.hoverData.mdownPos;I={x:(c[0]-M[0])*s,y:(c[1]-M[1])*s},t.hoverData.justStartedPan=!1}else I={x:x[0]*s,y:x[1]*s};o.panBy(I),o.emit("dragpan"),t.hoverData.dragged=!0}c=t.projectIntoViewport(e.clientX,e.clientY)}else if(1!=d[4]||null!=v&&!v.pannable()){if(v&&v.pannable()&&v.active()&&v.unactivate(),(!v||!v.grabbed())&&p!=y&&(y&&n(y,["mouseout","tapdragout"],e,{x:c[0],y:c[1]}),p&&n(p,["mouseover","tapdragover"],e,{x:c[0],y:c[1]}),t.hoverData.last=p),v)if(g){if(o.boxSelectionEnabled()&&C)v&&v.grabbed()&&(m(b),v.emit("freeon"),b.emit("free"),t.dragData.didDrag&&(v.emit("dragfreeon"),b.emit("dragfree"))),A();else if(v&&v.grabbed()&&t.nodeIsDraggable(v)){var R=!t.dragData.didDrag;R&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||f(b,{inDragLayer:!0});var D={x:0,y:0};if(DRt(x[0])&&DRt(x[1])&&(D.x+=x[0],D.y+=x[1],R)){var O=t.hoverData.dragDelta;O&&DRt(O[0])&&DRt(O[1])&&(D.x+=O[0],D.y+=O[1])}t.hoverData.draggingEles=!0,b.silentShift(D).emit("position drag"),t.redrawHint("drag",!0),t.redraw()}}else S();r=!0}else g&&(t.hoverData.dragging||!o.boxSelectionEnabled()||!C&&o.panningEnabled()&&o.userPanningEnabled()?!t.hoverData.selecting&&o.panningEnabled()&&o.userPanningEnabled()&&a(v,t.hoverData.downs)&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,d[4]=0,t.data.bgActivePosistion=dPt(h),t.redrawHint("select",!0),t.redraw()):A(),v&&v.pannable()&&v.active()&&v.unactivate());if(d[2]=c[0],d[3]=c[1],r)return e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),!1}}),"mousemoveHandler"),!1),t.registerBinding(e,"mouseup",w((function(e){if((1!==t.hoverData.which||1===e.which||!t.hoverData.capture)&&t.hoverData.capture){t.hoverData.capture=!1;var a=t.cy,o=t.projectIntoViewport(e.clientX,e.clientY),s=t.selection,l=t.findNearestElement(o[0],o[1],!0,!1),c=t.dragData.possibleDragElements,h=t.hoverData.down,u=i(e);if(t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,h&&h.unactivate(),3===t.hoverData.which){var d={originalEvent:e,type:"cxttapend",position:{x:o[0],y:o[1]}};if(h?h.emit(d):a.emit(d),!t.hoverData.cxtDragged){var p={originalEvent:e,type:"cxttap",position:{x:o[0],y:o[1]}};h?h.emit(p):a.emit(p)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(1===t.hoverData.which){if(n(l,["mouseup","tapend","vmouseup"],e,{x:o[0],y:o[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(n(h,["click","tap","vclick"],e,{x:o[0],y:o[1]}),C=!1,e.timeStamp-S<=a.multiClickDebounceTime()?(_&&clearTimeout(_),C=!0,S=null,n(h,["dblclick","dbltap","vdblclick"],e,{x:o[0],y:o[1]})):(_=setTimeout((function(){C||n(h,["oneclick","onetap","voneclick"],e,{x:o[0],y:o[1]})}),a.multiClickDebounceTime()),S=e.timeStamp)),null==h&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!i(e)&&(a.$(r).unselect(["tapunselect"]),c.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=c=a.collection()),l==h&&!t.dragData.didDrag&&!t.hoverData.selecting&&null!=l&&l._private.selectable&&(t.hoverData.dragging||("additive"===a.selectionType()||u?l.selected()?l.unselect(["tapunselect"]):l.select(["tapselect"]):u||(a.$(r).unmerge(l).unselect(["tapunselect"]),l.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var f=a.collection(t.getAllInBox(s[0],s[1],s[2],s[3]));t.redrawHint("select",!0),f.length>0&&t.redrawHint("eles",!0),a.emit({type:"boxend",originalEvent:e,position:{x:o[0],y:o[1]}});var g=w((function(t){return t.selectable()&&!t.selected()}),"eleWouldBeSelected");"additive"===a.selectionType()||u||a.$(r).unmerge(f).unselect(),f.emit("box").stdFilter(g).select().emit("boxselect"),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!s[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var y=h&&h.grabbed();m(c),y&&(h.emit("freeon"),c.emit("free"),t.dragData.didDrag&&(h.emit("dragfreeon"),c.emit("dragfree")))}}s[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null}}),"mouseupHandler"),!1);var N=w((function(e){if(!t.scrollingPage){var r=t.cy,n=r.zoom(),i=r.pan(),a=t.projectIntoViewport(e.clientX,e.clientY),o=[a[0]*n+i.x,a[1]*n+i.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||A())return void e.preventDefault();if(r.panningEnabled()&&r.userPanningEnabled()&&r.zoomingEnabled()&&r.userZoomingEnabled()){var s;e.preventDefault(),t.data.wheelZooming=!0,clearTimeout(t.data.wheelTimeout),t.data.wheelTimeout=setTimeout((function(){t.data.wheelZooming=!1,t.redrawHint("eles",!0),t.redraw()}),150),s=null!=e.deltaY?e.deltaY/-250:null!=e.wheelDeltaY?e.wheelDeltaY/1e3:e.wheelDelta/1e3,s*=t.wheelSensitivity,1===e.deltaMode&&(s*=33);var l=r.zoom()*Math.pow(10,s);"gesturechange"===e.type&&(l=t.gestureStartZoom*e.scale),r.zoom({level:l,renderedPosition:{x:o[0],y:o[1]}}),r.emit("gesturechange"===e.type?"pinchzoom":"scrollzoom")}}}),"wheelHandler");t.registerBinding(t.container,"wheel",N,!0),t.registerBinding(e,"scroll",w((function(e){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout((function(){t.scrollingPage=!1}),250)}),"scrollHandler"),!0),t.registerBinding(t.container,"gesturestart",w((function(e){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||e.preventDefault()}),"gestureStartHandler"),!0),t.registerBinding(t.container,"gesturechange",(function(e){t.hasTouchStarted||N(e)}),!0),t.registerBinding(t.container,"mouseout",w((function(e){var r=t.projectIntoViewport(e.clientX,e.clientY);t.cy.emit({originalEvent:e,type:"mouseout",position:{x:r[0],y:r[1]}})}),"mouseOutHandler"),!1),t.registerBinding(t.container,"mouseover",w((function(e){var r=t.projectIntoViewport(e.clientX,e.clientY);t.cy.emit({originalEvent:e,type:"mouseover",position:{x:r[0],y:r[1]}})}),"mouseOverHandler"),!1);var I,M,R,D,O,P,B,F,$,z,U,G,q,Y,j,H,W,V,X,K,Z=w((function(t,e,r,n){return Math.sqrt((r-t)*(r-t)+(n-e)*(n-e))}),"distance"),Q=w((function(t,e,r,n){return(r-t)*(r-t)+(n-e)*(n-e)}),"distanceSq");if(t.registerBinding(t.container,"touchstart",Y=w((function(e){if(t.hasTouchStarted=!0,L(e)){v(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var r=t.cy,i=t.touchData.now,a=t.touchData.earlier;if(e.touches[0]){var o=t.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);i[0]=o[0],i[1]=o[1]}if(e.touches[1]&&(o=t.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY),i[2]=o[0],i[3]=o[1]),e.touches[2]&&(o=t.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY),i[4]=o[0],i[5]=o[1]),e.touches[1]){t.touchData.singleTouchMoved=!0,m(t.dragData.touchDragEles);var s=t.findContainerClientCoords();$=s[0],z=s[1],U=s[2],G=s[3],I=e.touches[0].clientX-$,M=e.touches[0].clientY-z,R=e.touches[1].clientX-$,D=e.touches[1].clientY-z,q=0<=I&&I<=U&&0<=R&&R<=U&&0<=M&&M<=G&&0<=D&&D<=G;var l=r.pan(),c=r.zoom();if(O=Z(I,M,R,D),P=Q(I,M,R,D),F=[((B=[(I+R)/2,(M+D)/2])[0]-l.x)/c,(B[1]-l.y)/c],P<4e4&&!e.touches[2]){var u=t.findNearestElement(i[0],i[1],!0,!0),d=t.findNearestElement(i[2],i[3],!0,!0);return u&&u.isNode()?(u.activate().emit({originalEvent:e,type:"cxttapstart",position:{x:i[0],y:i[1]}}),t.touchData.start=u):d&&d.isNode()?(d.activate().emit({originalEvent:e,type:"cxttapstart",position:{x:i[0],y:i[1]}}),t.touchData.start=d):r.emit({originalEvent:e,type:"cxttapstart",position:{x:i[0],y:i[1]}}),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!0,t.touchData.cxtDragged=!1,t.data.bgActivePosistion=void 0,void t.redraw()}}if(e.touches[2])r.boxSelectionEnabled()&&e.preventDefault();else if(!e.touches[1]&&e.touches[0]){var p=t.findNearestElements(i[0],i[1],!0,!0),y=p[0];if(null!=y&&(y.activate(),t.touchData.start=y,t.touchData.starts=p,t.nodeIsGrabbable(y))){var x=t.dragData.touchDragEles=r.collection(),b=null;t.redrawHint("eles",!0),t.redrawHint("drag",!0),y.selected()?(b=r.$((function(e){return e.selected()&&t.nodeIsGrabbable(e)})),f(b,{addToList:x})):g(y,{addToList:x}),h(y);var k=w((function(t){return{originalEvent:e,type:t,position:{x:i[0],y:i[1]}}}),"makeEvent");y.emit(k("grabon")),b?b.forEach((function(t){t.emit(k("grab"))})):y.emit(k("grab"))}n(y,["touchstart","tapstart","vmousedown"],e,{x:i[0],y:i[1]}),null==y&&(t.data.bgActivePosistion={x:o[0],y:o[1]},t.redrawHint("select",!0),t.redraw()),t.touchData.singleTouchMoved=!1,t.touchData.singleTouchStartTime=+new Date,clearTimeout(t.touchData.tapholdTimeout),t.touchData.tapholdTimeout=setTimeout((function(){!1===t.touchData.singleTouchMoved&&!t.pinching&&!t.touchData.selecting&&n(t.touchData.start,["taphold"],e,{x:i[0],y:i[1]})}),t.tapholdDuration)}if(e.touches.length>=1){for(var T=t.touchData.startPosition=[null,null,null,null,null,null],E=0;E=t.touchTapThreshold2}if(r&&t.touchData.cxt){e.preventDefault();var b=e.touches[0].clientX-$,w=e.touches[0].clientY-z,k=e.touches[1].clientX-$,T=e.touches[1].clientY-z,E=Q(b,w,k,T);if(E/P>=2.25||E>=22500){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var _={originalEvent:e,type:"cxttapend",position:{x:s[0],y:s[1]}};t.touchData.start?(t.touchData.start.unactivate().emit(_),t.touchData.start=null):o.emit(_)}}if(r&&t.touchData.cxt){_={originalEvent:e,type:"cxtdrag",position:{x:s[0],y:s[1]}},t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(_):o.emit(_),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var C=t.findNearestElement(s[0],s[1],!0,!0);(!t.touchData.cxtOver||C!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit({originalEvent:e,type:"cxtdragout",position:{x:s[0],y:s[1]}}),t.touchData.cxtOver=C,C&&C.emit({originalEvent:e,type:"cxtdragover",position:{x:s[0],y:s[1]}}))}else if(r&&e.touches[2]&&o.boxSelectionEnabled())e.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||o.emit({originalEvent:e,type:"boxstart",position:{x:s[0],y:s[1]}}),t.touchData.selecting=!0,t.touchData.didSelect=!0,i[4]=1,i&&0!==i.length&&void 0!==i[0]?(i[2]=(s[0]+s[2]+s[4])/3,i[3]=(s[1]+s[3]+s[5])/3):(i[0]=(s[0]+s[2]+s[4])/3,i[1]=(s[1]+s[3]+s[5])/3,i[2]=(s[0]+s[2]+s[4])/3+1,i[3]=(s[1]+s[3]+s[5])/3+1),t.redrawHint("select",!0),t.redraw();else if(r&&e.touches[1]&&!t.touchData.didSelect&&o.zoomingEnabled()&&o.panningEnabled()&&o.userZoomingEnabled()&&o.userPanningEnabled()){if(e.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),J=t.dragData.touchDragEles){t.redrawHint("drag",!0);for(var S=0;S0&&!t.hoverData.draggingEles&&!t.swipePanning&&null!=t.data.bgActivePosistion&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}}),"touchmoveHandler"),!1),t.registerBinding(e,"touchcancel",H=w((function(e){var r=t.touchData.start;t.touchData.capture=!1,r&&r.unactivate()}),"touchcancelHandler")),t.registerBinding(e,"touchend",W=w((function(e){var i=t.touchData.start;if(t.touchData.capture){0===e.touches.length&&(t.touchData.capture=!1),e.preventDefault();var a=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var o,s=t.cy,l=s.zoom(),c=t.touchData.now,h=t.touchData.earlier;if(e.touches[0]){var u=t.projectIntoViewport(e.touches[0].clientX,e.touches[0].clientY);c[0]=u[0],c[1]=u[1]}if(e.touches[1]&&(u=t.projectIntoViewport(e.touches[1].clientX,e.touches[1].clientY),c[2]=u[0],c[3]=u[1]),e.touches[2]&&(u=t.projectIntoViewport(e.touches[2].clientX,e.touches[2].clientY),c[4]=u[0],c[5]=u[1]),i&&i.unactivate(),t.touchData.cxt){if(o={originalEvent:e,type:"cxttapend",position:{x:c[0],y:c[1]}},i?i.emit(o):s.emit(o),!t.touchData.cxtDragged){var d={originalEvent:e,type:"cxttap",position:{x:c[0],y:c[1]}};i?i.emit(d):s.emit(d)}return t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,void t.redraw()}if(!e.touches[2]&&s.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var p=s.collection(t.getAllInBox(a[0],a[1],a[2],a[3]));a[0]=void 0,a[1]=void 0,a[2]=void 0,a[3]=void 0,a[4]=0,t.redrawHint("select",!0),s.emit({type:"boxend",originalEvent:e,position:{x:c[0],y:c[1]}});var f=w((function(t){return t.selectable()&&!t.selected()}),"eleWouldBeSelected");p.emit("box").stdFilter(f).select().emit("boxselect"),p.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(i?.unactivate(),e.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!e.touches[1]&&!e.touches[0]&&!e.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var g=t.dragData.touchDragEles;if(null!=i){var y=i._private.grabbed;m(g),t.redrawHint("drag",!0),t.redrawHint("eles",!0),y&&(i.emit("freeon"),g.emit("free"),t.dragData.didDrag&&(i.emit("dragfreeon"),g.emit("dragfree"))),n(i,["touchend","tapend","vmouseup","tapdragout"],e,{x:c[0],y:c[1]}),i.unactivate(),t.touchData.start=null}else{var v=t.findNearestElement(c[0],c[1],!0,!0);n(v,["touchend","tapend","vmouseup","tapdragout"],e,{x:c[0],y:c[1]})}var x=t.touchData.startPosition[0]-c[0],b=x*x,k=t.touchData.startPosition[1]-c[1],T=(b+k*k)*l*l;t.touchData.singleTouchMoved||(i||s.$(":selected").unselect(["tapunselect"]),n(i,["tap","vclick"],e,{x:c[0],y:c[1]}),V=!1,e.timeStamp-K<=s.multiClickDebounceTime()?(X&&clearTimeout(X),V=!0,K=null,n(i,["dbltap","vdblclick"],e,{x:c[0],y:c[1]})):(X=setTimeout((function(){V||n(i,["onetap","voneclick"],e,{x:c[0],y:c[1]})}),s.multiClickDebounceTime()),K=e.timeStamp)),null!=i&&!t.dragData.didDrag&&i._private.selectable&&T"u"){var J=[],tt=w((function(t){return{clientX:t.clientX,clientY:t.clientY,force:1,identifier:t.pointerId,pageX:t.pageX,pageY:t.pageY,radiusX:t.width/2,radiusY:t.height/2,screenX:t.screenX,screenY:t.screenY,target:t.target}}),"makeTouch"),et=w((function(t){return{event:t,touch:tt(t)}}),"makePointer"),rt=w((function(t){J.push(et(t))}),"addPointer"),nt=w((function(t){for(var e=0;e0)return p[0]}return null}),"getCurveT"),p=Object.keys(u),f=0;f0?c:UPt(i,a,t,e,r,n,o,s)}),"intersectLine"),checkPoint:w((function(t,e,r,n,i,a,o,s){var l=2*(s="auto"===s?hBt(n,i):s);if(XPt(t,e,this.points,a,o,n,i-l,[0,-1],r)||XPt(t,e,this.points,a,o,n-l,i,[0,-1],r))return!0;var c=n/2+2*r,h=i/2+2*r;return!!(VPt(t,e,[a-c,o-h,a-c,o,a+c,o,a+c,o-h])||tBt(t,e,l,l,a+n/2-s,o+i/2-s,r)||tBt(t,e,l,l,a-n/2+s,o+i/2-s,r))}),"checkPoint")}},TYt.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",sBt(3,0)),this.generateRoundPolygon("round-triangle",sBt(3,0)),this.generatePolygon("rectangle",sBt(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r),this.generatePolygon("pentagon",sBt(5,0)),this.generateRoundPolygon("round-pentagon",sBt(5,0)),this.generatePolygon("hexagon",sBt(6,0)),this.generateRoundPolygon("round-hexagon",sBt(6,0)),this.generatePolygon("heptagon",sBt(7,0)),this.generateRoundPolygon("round-heptagon",sBt(7,0)),this.generatePolygon("octagon",sBt(8,0)),this.generateRoundPolygon("round-octagon",sBt(8,0));var n=new Array(20),i=cBt(5,0),a=cBt(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var s=0;s=t.deqFastCost*g)break}else if(i){if(p>=t.deqCost*l||p>=t.deqAvgCost*s)break}else if(f>=t.deqNoDrawCost*LYt)break;var m=t.deq(e,u,h);if(!(m.length>0))break;for(var y=0;y0&&(t.onDeqd(e,c),!i&&t.shouldRedraw(e,c,u,h)&&n())}),"dequeue"),a=t.priority||_Ot;r.beforeRender(i,a(e))}}),"setupDequeueingImpl")}),"setupDequeueing")},IYt=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:TOt;lIt(this,t),this.idsByKey=new GOt,this.keyForId=new GOt,this.cachesByLvl=new GOt,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return w(t,"ElementTextureCacheLookup"),hIt(t,[{key:"getIdsFor",value:w((function(t){null==t&&COt("Can not get id list for null key");var e=this.idsByKey,r=this.idsByKey.get(t);return r||(r=new YOt,e.set(t,r)),r}),"getIdsFor")},{key:"addIdForKey",value:w((function(t,e){null!=t&&this.getIdsFor(t).add(e)}),"addIdForKey")},{key:"deleteIdForKey",value:w((function(t,e){null!=t&&this.getIdsFor(t).delete(e)}),"deleteIdForKey")},{key:"getNumberOfIdsForKey",value:w((function(t){return null==t?0:this.getIdsFor(t).size}),"getNumberOfIdsForKey")},{key:"updateKeyMappingFor",value:w((function(t){var e=t.id(),r=this.keyForId.get(e),n=this.getKey(t);this.deleteIdForKey(r,e),this.addIdForKey(n,e),this.keyForId.set(e,n)}),"updateKeyMappingFor")},{key:"deleteKeyMappingFor",value:w((function(t){var e=t.id(),r=this.keyForId.get(e);this.deleteIdForKey(r,e),this.keyForId.delete(e)}),"deleteKeyMappingFor")},{key:"keyHasChangedFor",value:w((function(t){var e=t.id();return this.keyForId.get(e)!==this.getKey(t)}),"keyHasChangedFor")},{key:"isInvalid",value:w((function(t){return this.keyHasChangedFor(t)||this.doesEleInvalidateKey(t)}),"isInvalid")},{key:"getCachesAt",value:w((function(t){var e=this.cachesByLvl,r=this.lvls,n=e.get(t);return n||(n=new GOt,e.set(t,n),r.push(t)),n}),"getCachesAt")},{key:"getCache",value:w((function(t,e){return this.getCachesAt(e).get(t)}),"getCache")},{key:"get",value:w((function(t,e){var r=this.getKey(t),n=this.getCache(r,e);return null!=n&&this.updateKeyMappingFor(t),n}),"get")},{key:"getForCachedKey",value:w((function(t,e){var r=this.keyForId.get(t.id());return this.getCache(r,e)}),"getForCachedKey")},{key:"hasCache",value:w((function(t,e){return this.getCachesAt(e).has(t)}),"hasCache")},{key:"has",value:w((function(t,e){var r=this.getKey(t);return this.hasCache(r,e)}),"has")},{key:"setCache",value:w((function(t,e,r){r.key=t,this.getCachesAt(e).set(t,r)}),"setCache")},{key:"set",value:w((function(t,e,r){var n=this.getKey(t);this.setCache(n,e,r),this.updateKeyMappingFor(t)}),"set")},{key:"deleteCache",value:w((function(t,e){this.getCachesAt(e).delete(t)}),"deleteCache")},{key:"delete",value:w((function(t,e){var r=this.getKey(t);this.deleteCache(r,e)}),"_delete")},{key:"invalidateKey",value:w((function(t){var e=this;this.lvls.forEach((function(r){return e.deleteCache(t,r)}))}),"invalidateKey")},{key:"invalidate",value:w((function(t){var e=t.id(),r=this.keyForId.get(e);this.deleteKeyMappingFor(t);var n=this.doesEleInvalidateKey(t);return n&&this.invalidateKey(r),n||0===this.getNumberOfIdsForKey(r)}),"invalidate")}]),t}(),MYt={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},RYt=OOt({getKey:null,doesEleInvalidateKey:TOt,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:kOt,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),DYt=w((function(t,e){var r=this;r.renderer=t,r.onDequeues=[];var n=RYt(e);oDt(r,n),r.lookup=new IYt(n.getKey,n.doesEleInvalidateKey),r.setupDequeueing()}),"ElementTextureCache"),(OYt=DYt.prototype).reasons=MYt,OYt.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]},OYt.getRetiredTextureQueue=function(t){var e=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return e[t]=e[t]||[]},OYt.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new XOt((function(t,e){return e.reqs-t.reqs}))},OYt.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},OYt.getElement=function(t,e,r,n,i){var a=this,o=this.renderer,s=o.cy.zoom(),l=this.lookup;if(!e||0===e.w||0===e.h||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(null==n&&(n=Math.ceil(xPt(s*r))),n<-4)n=-4;else if(s>=7.99||n>3)return null;var c=Math.pow(2,n),h=e.h*c,u=e.w*c,d=o.eleTextBiggerThanMin(t,c);if(!this.isVisible(t,d))return null;var p,f=l.get(t,n);if(f&&f.invalidated&&(f.invalidated=!1,f.texture.invalidatedWidth-=f.width),f)return f;if(p=h<=25?25:h<=50?50:50*Math.ceil(h/50),h>1024||u>1024)return null;var g=a.getTextureQueue(p),m=g[g.length-2],y=w((function(){return a.recycleTexture(p,u)||a.addTexture(p,u)}),"addNewTxr");m||(m=g[g.length-1]),m||(m=y()),m.width-m.usedWidthn;A--)C=a.getElement(t,e,r,A,MYt.downscale);S()}else{var L;if(!b&&!k&&!T)for(var N=n-1;N>=-4;N--){var I=l.get(t,N);if(I){L=I;break}}if(x(L))return a.queueElement(t,n),L;m.context.translate(m.usedWidth,0),m.context.scale(c,c),this.drawElement(m.context,t,e,d,!1),m.context.scale(1/c,1/c),m.context.translate(-m.usedWidth,0)}return f={x:m.usedWidth,texture:m,level:n,scale:c,width:u,height:h,scaledLabelShown:d},m.usedWidth+=Math.ceil(u+8),m.eleCaches.push(f),l.set(t,n,f),a.checkTextureFullness(m),f},OYt.invalidateElements=function(t){for(var e=0;e=.2*t.width&&this.retireTexture(t)},OYt.checkTextureFullness=function(t){var e=this.getTextureQueue(t.height);t.usedWidth/t.width>.8&&t.fullnessChecks>=10?POt(e,t):t.fullnessChecks++},OYt.retireTexture=function(t){var e=t.height,r=this.getTextureQueue(e),n=this.lookup;POt(r,t),t.retired=!0;for(var i=t.eleCaches,a=0;a=e)return a.retired=!1,a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,BOt(a.eleCaches),a.context.setTransform(1,0,0,1,0,0),a.context.clearRect(0,0,a.width,a.height),POt(n,a),r.push(a),a}},OYt.queueElement=function(t,e){var r=this.getElementQueue(),n=this.getElementKeyToQueue(),i=this.getKey(t),a=n[i];if(a)a.level=Math.max(a.level,e),a.eles.merge(t),a.reqs++,r.updateItem(a);else{var o={eles:t.spawn().merge(t),level:e,reqs:1,key:i};r.push(o),n[i]=o}},OYt.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=[],a=e.lookup,o=0;o<1&&r.size()>0;o++){var s=r.pop(),l=s.key,c=s.eles[0],h=a.hasCache(c,s.level);if(n[l]=null,!h){i.push(s);var u=e.getBoundingBox(c);e.getElement(c,u,t,s.level,MYt.dequeue)}}return i},OYt.removeFromQueue=function(t){var e=this.getElementQueue(),r=this.getElementKeyToQueue(),n=this.getKey(t),i=r[n];null!=i&&(1===i.eles.length?(i.reqs=wOt,e.updateItem(i),e.pop(),r[n]=null):i.eles.unmerge(t))},OYt.onDequeue=function(t){this.onDequeues.push(t)},OYt.offDequeue=function(t){POt(this.onDequeues,t)},OYt.setupDequeueing=NYt.setupDequeueing({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:w((function(t,e,r){return t.dequeue(e,r)}),"deq"),onDeqd:w((function(t,e){for(var r=0;r=3.99||r>2)return null;n.validateLayersElesOrdering(r,t);var o,s,l=n.layersByLevel,c=Math.pow(2,r),h=l[r]=l[r]||[],u=n.levelIsComplete(r,t),d=w((function(){var e=w((function(e){if(n.validateLayersElesOrdering(e,t),n.levelIsComplete(e,t))return s=l[e],!0}),"canUseAsTmpLvl"),i=w((function(t){if(!s)for(var n=r+t;-4<=n&&n<=2&&!e(n);n+=t);}),"checkLvls");i(1),i(-1);for(var a=h.length-1;a>=0;a--){var o=h[a];o.invalid&&POt(h,o)}}),"checkTempLevels");if(u)return h;d();var p=w((function(){if(!o){o=APt();for(var e=0;e16e6)return null;var i=n.makeLayer(o,r);if(null!=e){var a=h.indexOf(e)+1;h.splice(a,0,i)}else(void 0===t.insert||t.insert)&&h.unshift(i);return i}),"makeLayer");if(n.skipping&&!a)return null;for(var g=null,m=t.length/1,y=!a,v=0;v=m||!zPt(g.bb,x.boundingBox()))&&!(g=f({insert:!0,after:g})))return null;s||y?n.queueLayer(g,x):n.drawEleInLayer(g,x,r,e),g.eles.push(x),k[r]=g}}return s||(y?null:h)},BYt.getEleLevelForLayerLevel=function(t,e){return t},BYt.drawEleInLayer=function(t,e,r,n){var i=this.renderer,a=t.context,o=e.boundingBox();0===o.w||0===o.h||!e.visible()||(r=this.getEleLevelForLayerLevel(r,n),i.setImgSmoothing(a,!1),i.drawCachedElement(a,e,null,null,r,!0),i.setImgSmoothing(a,!0))},BYt.levelIsComplete=function(t,e){var r=this.layersByLevel[t];if(!r||0===r.length)return!1;for(var n=0,i=0;i0||a.invalid)return!1;n+=a.eles.length}return n===e.length},BYt.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n0){t=!0;break}}return t},BYt.invalidateElements=function(t){var e=this;0!==t.length&&(e.lastInvalidationTime=aOt(),0!==t.length&&e.haveLayers()&&e.updateElementsInLayers(t,w((function(t,r,n){e.invalidateLayer(t)}),"invalAssocLayers")))},BYt.invalidateLayer=function(t){if(this.lastInvalidationTime=aOt(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];POt(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=this,s=e._private.rscratch;if((!a||e.visible())&&!s.badLine&&null!=s.allpts&&!isNaN(s.allpts[0])){var l;r&&(l=r,t.translate(-l.x1,-l.y1));var c=a?e.pstyle("opacity").value:1,h=a?e.pstyle("line-opacity").value:1,u=e.pstyle("curve-style").value,d=e.pstyle("line-style").value,p=e.pstyle("width").pfValue,f=e.pstyle("line-cap").value,g=e.pstyle("line-outline-width").value,m=e.pstyle("line-outline-color").value,y=c*h,v=c*h,x=w((function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:y;"straight-triangle"===u?(o.eleStrokeStyle(t,e,r),o.drawEdgeTrianglePath(e,t,s.allpts)):(t.lineWidth=p,t.lineCap=f,o.eleStrokeStyle(t,e,r),o.drawEdgePath(e,t,s.allpts,d),t.lineCap="butt")}),"drawLine"),b=w((function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:y;t.lineWidth=p+g,t.lineCap=f,g>0?(o.colorStrokeStyle(t,m[0],m[1],m[2],r),"straight-triangle"===u?o.drawEdgeTrianglePath(e,t,s.allpts):(o.drawEdgePath(e,t,s.allpts,d),t.lineCap="butt")):t.lineCap="butt"}),"drawLineOutline"),k=w((function(){i&&o.drawEdgeOverlay(t,e)}),"drawOverlay"),T=w((function(){i&&o.drawEdgeUnderlay(t,e)}),"drawUnderlay"),E=w((function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v;o.drawArrowheads(t,e,r)}),"drawArrows"),_=w((function(){o.drawElementText(t,e,null,n)}),"drawText");if(t.lineJoin="round","yes"===e.pstyle("ghost").value){var C=e.pstyle("ghost-offset-x").pfValue,S=e.pstyle("ghost-offset-y").pfValue,A=e.pstyle("ghost-opacity").value,L=y*A;t.translate(C,S),x(L),E(L),t.translate(-C,-S)}else b();T(),x(),E(),k(),_(),r&&t.translate(l.x1,l.y1)}},KYt=w((function(t){if(!["overlay","underlay"].includes(t))throw new Error("Invalid state");return function(e,r){if(r.visible()){var n=r.pstyle("".concat(t,"-opacity")).value;if(0!==n){var i=this,a=i.usePaths(),o=r._private.rscratch,s=2*r.pstyle("".concat(t,"-padding")).pfValue,l=r.pstyle("".concat(t,"-color")).value;e.lineWidth=s,"self"!==o.edgeType||a?e.lineCap="round":e.lineCap="butt",i.colorStrokeStyle(e,l[0],l[1],l[2],n),i.drawEdgePath(r,e,o.allpts,"solid")}}}}),"drawEdgeOverlayUnderlay"),XYt.drawEdgeOverlay=KYt("overlay"),XYt.drawEdgeUnderlay=KYt("underlay"),XYt.drawEdgePath=function(t,e,r,n){var i,a=t._private.rscratch,o=e,s=!1,l=this.usePaths(),c=t.pstyle("line-dash-pattern").pfValue,h=t.pstyle("line-dash-offset").pfValue;if(l){var u=r.join("$");a.pathCacheKey&&a.pathCacheKey===u?(i=e=a.pathCache,s=!0):(i=e=new Path2D,a.pathCacheKey=u,a.pathCache=i)}if(o.setLineDash)switch(n){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash(c),o.lineDashOffset=h;break;case"solid":o.setLineDash([])}if(!s&&!a.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),a.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var d=2;d+35&&void 0!==arguments[5])||arguments[5],o=this;if(null==n){if(a&&!o.eleTextBiggerThanMin(e))return}else if(!1===n)return;if(e.isNode()){var s=e.pstyle("label");if(!s||!s.value)return;var l=o.getLabelJustification(e);t.textAlign=l,t.textBaseline="bottom"}else{var c=e.element()._private.rscratch.badLine,h=e.pstyle("label"),u=e.pstyle("source-label"),d=e.pstyle("target-label");if(c||(!h||!h.value)&&(!u||!u.value)&&(!d||!d.value))return;t.textAlign="center",t.textBaseline="bottom"}var p,f=!r;r&&(p=r,t.translate(-p.x1,-p.y1)),null==i?(o.drawText(t,e,null,f,a),e.isEdge()&&(o.drawText(t,e,"source",f,a),o.drawText(t,e,"target",f,a))):o.drawText(t,e,i,f,a),r&&t.translate(p.x1,p.y1)},QYt.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&void 0!==arguments[2])||arguments[2],n=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,o=e.pstyle("font-weight").strValue,s=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,l=e.pstyle("text-outline-opacity").value*s,c=e.pstyle("color").value,h=e.pstyle("text-outline-color").value;t.font=n+" "+o+" "+i+" "+a,t.lineJoin="round",this.colorFillStyle(t,c[0],c[1],c[2],s),this.colorStrokeStyle(t,h[0],h[1],h[2],l)},w(pRt,"roundRect"),QYt.getTextAngle=function(t,e){var r=t._private.rscratch,n=e?e+"-":"",i=t.pstyle(n+"text-rotation"),a=$Ot(r,"labelAngle",e);return"autorotate"===i.strValue?t.isEdge()?a:0:"none"===i.strValue?0:i.pfValue},QYt.drawText=function(t,e,r){var n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=e._private.rscratch,o=i?e.effectiveOpacity():1;if(!i||0!==o&&0!==e.pstyle("text-opacity").value){"main"===r&&(r=null);var s,l,c=$Ot(a,"labelX",r),h=$Ot(a,"labelY",r),u=this.getLabelText(e,r);if(null!=u&&""!==u&&!isNaN(c)&&!isNaN(h)){this.setupTextStyle(t,e,i);var d,p=r?r+"-":"",f=$Ot(a,"labelWidth",r),g=$Ot(a,"labelHeight",r),m=e.pstyle(p+"text-margin-x").pfValue,y=e.pstyle(p+"text-margin-y").pfValue,v=e.isEdge(),x=e.pstyle("text-halign").value,b=e.pstyle("text-valign").value;switch(v&&(x="center",b="center"),c+=m,h+=y,0!==(d=n?this.getTextAngle(e,r):0)&&(s=c,l=h,t.translate(s,l),t.rotate(d),c=0,h=0),b){case"top":break;case"center":h+=g/2;break;case"bottom":h+=g}var w=e.pstyle("text-background-opacity").value,k=e.pstyle("text-border-opacity").value,T=e.pstyle("text-border-width").pfValue,E=e.pstyle("text-background-padding").pfValue,_=0===e.pstyle("text-background-shape").strValue.indexOf("round");if(w>0||T>0&&k>0){var C=c-E;switch(x){case"left":C-=f;break;case"center":C-=f/2}var S=h-g-E,A=f+2*E,L=g+2*E;if(w>0){var N=t.fillStyle,I=e.pstyle("text-background-color").value;t.fillStyle="rgba("+I[0]+","+I[1]+","+I[2]+","+w*o+")",_?pRt(t,C,S,A,L,2):t.fillRect(C,S,A,L),t.fillStyle=N}if(T>0&&k>0){var M=t.strokeStyle,R=t.lineWidth,D=e.pstyle("text-border-color").value,O=e.pstyle("text-border-style").value;if(t.strokeStyle="rgba("+D[0]+","+D[1]+","+D[2]+","+k*o+")",t.lineWidth=T,t.setLineDash)switch(O){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=T/4,t.setLineDash([]);break;case"solid":t.setLineDash([])}if(_?pRt(t,C,S,A,L,2,"stroke"):t.strokeRect(C,S,A,L),"double"===O){var P=T/2;_?pRt(t,C+P,S+P,A-2*P,L-2*P,2,"stroke"):t.strokeRect(C+P,S+P,A-2*P,L-2*P)}t.setLineDash&&t.setLineDash([]),t.lineWidth=R,t.strokeStyle=M}}var B=2*e.pstyle("text-outline-width").pfValue;if(B>0&&(t.lineWidth=B),"wrap"===e.pstyle("text-wrap").value){var F=$Ot(a,"labelWrapCachedLines",r),$=$Ot(a,"labelLineHeight",r),z=f/2,U=this.getLabelJustification(e);switch("auto"===U||("left"===x?"left"===U?c+=-f:"center"===U&&(c+=-z):"center"===x?"left"===U?c+=-z:"right"===U&&(c+=z):"right"===x&&("center"===U?c+=z:"right"===U&&(c+=f))),b){case"top":case"center":case"bottom":h-=(F.length-1)*$}for(var G=0;G0&&t.strokeText(F[G],c,h),t.fillText(F[G],c,h),h+=$}else B>0&&t.strokeText(u,c,h),t.fillText(u,c,h);0!==d&&(t.rotate(-d),t.translate(-s,-l))}}},(JYt={}).drawNode=function(t,e,r){var n,i,a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],l=this,c=e._private,h=c.rscratch,u=e.position();if(DRt(u.x)&&DRt(u.y)&&(!s||e.visible())){var d,p,f=s?e.effectiveOpacity():1,g=l.usePaths(),m=!1,y=e.padding();n=e.width()+2*y,i=e.height()+2*y,r&&(p=r,t.translate(-p.x1,-p.y1));for(var v=e.pstyle("background-image").value,x=new Array(v.length),b=new Array(v.length),k=0,T=0;T0&&void 0!==arguments[0]?arguments[0]:A;l.eleFillStyle(t,e,r)}),"setupShapeColor"),Y=w((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:P;l.colorStrokeStyle(t,L[0],L[1],L[2],e)}),"setupBorderColor"),j=w((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:z;l.colorStrokeStyle(t,F[0],F[1],F[2],e)}),"setupOutlineColor"),H=w((function(t,e,r,n){var i,a=l.nodePathCache=l.nodePathCache||[],o=mOt("polygon"===r?r+","+n.join(","):r,""+e,""+t,""+G),s=a[o],c=!1;return null!=s?(i=s,c=!0,h.pathCache=i):(i=new Path2D,a[o]=h.pathCache=i),{path:i,cacheHit:c}}),"getPath"),W=e.pstyle("shape").strValue,V=e.pstyle("shape-polygon-points").pfValue;if(g){t.translate(u.x,u.y);var X=H(n,i,W,V);d=X.path,m=X.cacheHit}var K=w((function(){if(!m){var r=u;g&&(r={x:0,y:0}),l.nodeShapes[l.getNodeShape(e)].draw(d||t,r.x,r.y,n,i,G,h)}g?t.fill(d):t.fill()}),"drawShape"),Z=w((function(){for(var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=c.backgrounding,a=0,o=0;o0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:f;l.hasPie(e)&&(l.drawPie(t,e,a),r&&(g||l.nodeShapes[l.getNodeShape(e)].draw(t,u.x,u.y,n,i,G,h)))}),"drawPie"),J=w((function(){var e=(C>0?C:-C)*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:f),r=C>0?0:255;0!==C&&(l.colorFillStyle(t,r,r,r,e),g?t.fill(d):t.fill())}),"darken"),tt=w((function(){if(S>0){if(t.lineWidth=S,t.lineCap=M,t.lineJoin=I,t.setLineDash)switch(N){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(D),t.lineDashOffset=O;break;case"solid":case"double":t.setLineDash([])}if("center"!==R){if(t.save(),t.lineWidth*=2,"inside"===R)g?t.clip(d):t.clip();else{var e=new Path2D;e.rect(-n/2-S,-i/2-S,n+2*S,i+2*S),e.addPath(d),t.clip(e,"evenodd")}g?t.stroke(d):t.stroke(),t.restore()}else g?t.stroke(d):t.stroke();if("double"===N){t.lineWidth=S/3;var r=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",g?t.stroke(d):t.stroke(),t.globalCompositeOperation=r}t.setLineDash&&t.setLineDash([])}}),"drawBorder"),et=w((function(){if(B>0){if(t.lineWidth=B,t.lineCap="butt",t.setLineDash)switch($){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([])}var r=u;g&&(r={x:0,y:0});var a=l.getNodeShape(e),o=S;"inside"===R&&(o=0),"outside"===R&&(o*=2);var s,c=(n+o+(B+U))/n,h=(i+o+(B+U))/i,d=n*c,p=i*h,f=l.nodeShapes[a].points;if(g&&(s=H(d,p,a,f).path),"ellipse"===a)l.drawEllipsePath(s||t,r.x,r.y,d,p);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(a)){var m=0,y=0,v=0;"round-diamond"===a?m=1.4*(o+U+B):"round-heptagon"===a?(m=1.075*(o+U+B),v=-(o/2+U+B)/35):"round-hexagon"===a?m=1.12*(o+U+B):"round-pentagon"===a?(m=1.13*(o+U+B),v=-(o/2+U+B)/15):"round-tag"===a?(m=1.12*(o+U+B),y=.07*(o/2+B+U)):"round-triangle"===a&&(m=(o+U+B)*(Math.PI/2),v=-(o+U/2+B)/Math.PI),0!==m&&(d=n*(c=(n+m)/n),["round-hexagon","round-tag"].includes(a)||(p=i*(h=(i+m)/i)));for(var x=d/2,b=p/2,w=(G="auto"===G?uBt(d,p):G)+(o+B+U)/2,k=new Array(f.length/2),T=new Array(f.length/2),E=0;E0){if(n=n||r.position(),null==i||null==a){var u=r.padding();i=r.width()+2*u,a=r.height()+2*u}this.colorFillStyle(e,l[0],l[1],l[2],s),this.nodeShapes[c].draw(e,n.x,n.y,i+2*o,a+2*o,h),e.fill()}}}}),"drawNodeOverlayUnderlay"),JYt.drawNodeOverlay=tjt("overlay"),JYt.drawNodeUnderlay=tjt("underlay"),JYt.hasPie=function(t){return(t=t[0])._private.hasPie},JYt.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=e.pstyle("pie-size"),o=n.x,s=n.y,l=e.width(),c=e.height(),h=Math.min(l,c)/2,u=0;this.usePaths()&&(o=0,s=0),"%"===a.units?h*=a.pfValue:void 0!==a.pfValue&&(h=a.pfValue/2);for(var d=1;d<=i.pieBackgroundN;d++){var p=e.pstyle("pie-"+d+"-background-size").value,f=e.pstyle("pie-"+d+"-background-color").value,g=e.pstyle("pie-"+d+"-background-opacity").value*r,m=p/100;m+u>1&&(m=1-u);var y=1.5*Math.PI+2*Math.PI*u,v=y+2*Math.PI*m;0===p||u>=1||u+m>1||(t.beginPath(),t.moveTo(o,s),t.arc(o,s,h,y,v),t.closePath(),this.colorFillStyle(t,f[0],f[1],f[2],g),t.fill(),u+=m)}},(ejt={}).getPixelRatio=function(){var t=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r},ejt.paintCache=function(t){for(var e,r=this.paintCaches=this.paintCaches||[],n=!0,i=0;io.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!u&&(h[o.NODE]=!0,h[o.SELECT_BOX]=!0);var v=l.style(),x=l.zoom(),b=void 0!==i?i:x,k=l.pan(),T={x:k.x,y:k.y},E={zoom:x,pan:{x:k.x,y:k.y}},_=o.prevViewport;!(void 0===_||E.zoom!==_.zoom||E.pan.x!==_.pan.x||E.pan.y!==_.pan.y)&&!(g&&!f)&&(o.motionBlurPxRatio=1),a&&(T=a),b*=s,T.x*=s,T.y*=s;var C=o.getCachedZSortedEles();function S(t,e,r,n,i){var a=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",o.colorFillStyle(t,255,255,255,o.motionBlurTransparency),t.fillRect(e,r,n,i),t.globalCompositeOperation=a}function A(t,n){var s,l,h,u;o.clearingMotionBlur||t!==c.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]&&t!==c.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]?(s=T,l=b,h=o.canvasWidth,u=o.canvasHeight):(s={x:k.x*p,y:k.y*p},l=x*p,h=o.canvasWidth*p,u=o.canvasHeight*p),t.setTransform(1,0,0,1,0,0),"motionBlur"===n?S(t,0,0,h,u):!e&&(void 0===n||n)&&t.clearRect(0,0,h,u),r||(t.translate(s.x,s.y),t.scale(l,l)),a&&t.translate(a.x,a.y),i&&t.scale(i,i)}if(w(S,"mbclear"),w(A,"setContextTransform"),u||(o.textureDrawLastFrame=!1),u){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=l.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var L=o.data.bufferContexts[o.TEXTURE_BUFFER];L.setTransform(1,0,0,1,0,0),L.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:L,drawOnlyNodeLayer:!0,forcedPxRatio:s*o.textureMult}),(E=o.textureCache.viewport={zoom:l.zoom(),pan:l.pan(),width:o.canvasWidth,height:o.canvasHeight}).mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}h[o.DRAG]=!1,h[o.NODE]=!1;var N=c.contexts[o.NODE],I=o.textureCache.texture;E=o.textureCache.viewport,N.setTransform(1,0,0,1,0,0),d?S(N,0,0,E.width,E.height):N.clearRect(0,0,E.width,E.height);var M=v.core("outside-texture-bg-color").value,R=v.core("outside-texture-bg-opacity").value;o.colorFillStyle(N,M[0],M[1],M[2],R),N.fillRect(0,0,E.width,E.height),x=l.zoom(),A(N,!1),N.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s),N.drawImage(I,E.mpan.x,E.mpan.y,E.width/E.zoom/s,E.height/E.zoom/s)}else o.textureOnViewport&&!e&&(o.textureCache=null);var D=l.extent(),O=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),P=o.hideEdgesOnViewport&&O,B=[];if(B[o.NODE]=!h[o.NODE]&&d&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,B[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),B[o.DRAG]=!h[o.DRAG]&&d&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,B[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),h[o.NODE]||r||n||B[o.NODE]){var F=d&&!B[o.NODE]&&1!==p;A(N=e||(F?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:c.contexts[o.NODE]),d&&!F?"motionBlur":void 0),P?o.drawCachedNodes(N,C.nondrag,s,D):o.drawLayeredElements(N,C.nondrag,s,D),o.debug&&o.drawDebugPoints(N,C.nondrag),!r&&!d&&(h[o.NODE]=!1)}if(!n&&(h[o.DRAG]||r||B[o.DRAG])&&(F=d&&!B[o.DRAG]&&1!==p,A(N=e||(F?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:c.contexts[o.DRAG]),d&&!F?"motionBlur":void 0),P?o.drawCachedNodes(N,C.drag,s,D):o.drawCachedElements(N,C.drag,s,D),o.debug&&o.drawDebugPoints(N,C.drag),!r&&!d&&(h[o.DRAG]=!1)),o.showFps||!n&&h[o.SELECT_BOX]&&!r){if(A(N=e||c.contexts[o.SELECT_BOX]),1==o.selection[4]&&(o.hoverData.selecting||o.touchData.selecting)){x=o.cy.zoom();var $=v.core("selection-box-border-width").value/x;N.lineWidth=$,N.fillStyle="rgba("+v.core("selection-box-color").value[0]+","+v.core("selection-box-color").value[1]+","+v.core("selection-box-color").value[2]+","+v.core("selection-box-opacity").value+")",N.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),$>0&&(N.strokeStyle="rgba("+v.core("selection-box-border-color").value[0]+","+v.core("selection-box-border-color").value[1]+","+v.core("selection-box-border-color").value[2]+","+v.core("selection-box-opacity").value+")",N.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(c.bgActivePosistion&&!o.hoverData.selecting){x=o.cy.zoom();var z=c.bgActivePosistion;N.fillStyle="rgba("+v.core("active-bg-color").value[0]+","+v.core("active-bg-color").value[1]+","+v.core("active-bg-color").value[2]+","+v.core("active-bg-opacity").value+")",N.beginPath(),N.arc(z.x,z.y,v.core("active-bg-size").pfValue/x,0,2*Math.PI),N.fill()}var U=o.lastRedrawTime;if(o.showFps&&U){U=Math.round(U);var G=Math.round(1e3/U);N.setTransform(1,0,0,1,0,0),N.fillStyle="rgba(255, 0, 0, 0.75)",N.strokeStyle="rgba(255, 0, 0, 0.75)",N.lineWidth=1,N.fillText("1 frame = "+U+" ms = "+G+" fps",0,20),N.strokeRect(0,30,250,20),N.fillRect(0,30,250*Math.min(G/60,1),20)}r||(h[o.SELECT_BOX]=!1)}if(d&&1!==p){var q=c.contexts[o.NODE],Y=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],j=c.contexts[o.DRAG],H=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],W=w((function(t,e,r){t.setTransform(1,0,0,1,0,0),r||!y?t.clearRect(0,0,o.canvasWidth,o.canvasHeight):S(t,0,0,o.canvasWidth,o.canvasHeight);var n=p;t.drawImage(e,0,0,o.canvasWidth*n,o.canvasHeight*n,0,0,o.canvasWidth,o.canvasHeight)}),"drawMotionBlur");(h[o.NODE]||B[o.NODE])&&(W(q,Y,B[o.NODE]),h[o.NODE]=!1),(h[o.DRAG]||B[o.DRAG])&&(W(j,H,B[o.DRAG]),h[o.DRAG]=!1)}o.prevViewport=E,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),d&&(o.motionBlurTimeout=setTimeout((function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!u,o.mbFrames=0,h[o.NODE]=!0,h[o.DRAG]=!0,o.redraw()}),100)),e||l.emit("render")},(rjt={}).drawPolygonPath=function(t,e,r,n,i,a){var o=n/2,s=i/2;t.beginPath&&t.beginPath(),t.moveTo(e+o*a[0],r+s*a[1]);for(var l=1;l0&&a>0){d.clearRect(0,0,i,a),d.globalCompositeOperation="source-over";var p=this.getCachedZSortedEles();if(t.full)d.translate(-r.x1*l,-r.y1*l),d.scale(l,l),this.drawElements(d,p),d.scale(1/l,1/l),d.translate(r.x1*l,r.y1*l);else{var f=e.pan(),g={x:f.x*l,y:f.y*l};l*=e.zoom(),d.translate(g.x,g.y),d.scale(l,l),this.drawElements(d,p),d.scale(1/l,1/l),d.translate(-g.x,-g.y)}t.bg&&(d.globalCompositeOperation="destination-over",d.fillStyle=t.bg,d.rect(0,0,i,a),d.fill())}return u},w(fRt,"b64ToBlob"),w(gRt,"b64UriToB64"),w(mRt,"output"),cjt.png=function(t){return mRt(t,this.bufferCanvasImage(t),"image/png")},cjt.jpg=function(t){return mRt(t,this.bufferCanvasImage(t),"image/jpeg")},(hjt={}).nodeShapeImpl=function(t,e,r,n,i,a,o,s){switch(t){case"ellipse":return this.drawEllipsePath(e,r,n,i,a);case"polygon":return this.drawPolygonPath(e,r,n,i,a,o);case"round-polygon":return this.drawRoundPolygonPath(e,r,n,i,a,o,s);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(e,r,n,i,a,s);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(e,r,n,i,a,o,s);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(e,r,n,i,a,s);case"barrel":return this.drawBarrelPath(e,r,n,i,a)}},ujt=yRt,(djt=yRt.prototype).CANVAS_LAYERS=3,djt.SELECT_BOX=0,djt.DRAG=1,djt.NODE=2,djt.BUFFER_COUNT=3,djt.TEXTURE_BUFFER=0,djt.MOTIONBLUR_BUFFER_NODE=1,djt.MOTIONBLUR_BUFFER_DRAG=2,w(yRt,"CanvasRenderer"),djt.redrawHint=function(t,e){var r=this;switch(t){case"eles":r.data.canvasNeedsRedraw[djt.NODE]=e;break;case"drag":r.data.canvasNeedsRedraw[djt.DRAG]=e;break;case"select":r.data.canvasNeedsRedraw[djt.SELECT_BOX]=e}},pjt=typeof Path2D<"u",djt.path2dEnabled=function(t){if(void 0===t)return this.pathsEnabled;this.pathsEnabled=!!t},djt.usePaths=function(){return pjt&&this.pathsEnabled},djt.setImgSmoothing=function(t,e){null!=t.imageSmoothingEnabled?t.imageSmoothingEnabled=e:(t.webkitImageSmoothingEnabled=e,t.mozImageSmoothingEnabled=e,t.msImageSmoothingEnabled=e)},djt.getImgSmoothing=function(t){return null!=t.imageSmoothingEnabled?t.imageSmoothingEnabled:t.webkitImageSmoothingEnabled||t.mozImageSmoothingEnabled||t.msImageSmoothingEnabled},djt.makeOffscreenCanvas=function(t,e){var r;return"undefined"!==(typeof OffscreenCanvas>"u"?"undefined":sIt(OffscreenCanvas))?r=new OffscreenCanvas(t,e):((r=this.cy.window().document.createElement("canvas")).width=t,r.height=e),r},[zYt,GYt,XYt,ZYt,QYt,JYt,ejt,rjt,cjt,hjt].forEach((function(t){oDt(djt,t)})),fjt=[{type:"layout",extensions:Oqt},{type:"renderer",extensions:[{name:"null",impl:nRt},{name:"base",impl:SYt},{name:"canvas",impl:ujt}]}],gjt={},mjt={},w(vRt,"setExtension"),w(xRt,"getExtension"),w(bRt,"setModule"),w(wRt,"getModule"),yjt=w((function(){return 2===arguments.length?xRt.apply(null,arguments):3===arguments.length?vRt.apply(null,arguments):4===arguments.length?wRt.apply(null,arguments):5===arguments.length?bRt.apply(null,arguments):void COt("Invalid extension access syntax")}),"extension"),rqt.prototype.extension=yjt,fjt.forEach((function(t){t.extensions.forEach((function(e){vRt(t.type,e.name,e.impl)}))})),vjt=w((function t(){if(!(this instanceof t))return new t;this.length=0}),"Stylesheet"),(xjt=vjt.prototype).instanceString=function(){return"stylesheet"},xjt.selector=function(t){return this[this.length++]={selector:t,properties:[]},this},xjt.css=function(t,e){var r=this.length-1;if(LRt(t))this[r].properties.push({name:t,value:e});else if(MRt(t))for(var n=t,i=Object.keys(n),a=0;a{w((function(r,n){"object"==typeof t&&"object"==typeof e?e.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof t?t.layoutBase=n():r.layoutBase=n()}),"webpackUniversalModuleDefinition")(t,(function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return w(r,"__webpack_require__"),r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?w((function(){return t.default}),"getDefault"):w((function(){return t}),"getModuleExports");return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=26)}([function(t,e,r){function n(){}w(n,"LayoutConstants"),n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_SIZE=40,n.SIMPLE_NODE_HALF_SIZE=n.SIMPLE_NODE_SIZE/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.WORLD_BOUNDARY=1e6,n.INITIAL_WORLD_BOUNDARY=n.WORLD_BOUNDARY/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,t.exports=n},function(t,e,r){var n=r(2),i=r(8),a=r(9);function o(t,e,r){n.call(this,r),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=r,this.bendpoints=[],this.source=t,this.target=e}for(var s in w(o,"LEdge"),o.prototype=Object.create(n.prototype),n)o[s]=n[s];o.prototype.getSource=function(){return this.source},o.prototype.getTarget=function(){return this.target},o.prototype.isInterGraph=function(){return this.isInterGraph},o.prototype.getLength=function(){return this.length},o.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},o.prototype.getBendpoints=function(){return this.bendpoints},o.prototype.getLca=function(){return this.lca},o.prototype.getSourceInLca=function(){return this.sourceInLca},o.prototype.getTargetInLca=function(){return this.targetInLca},o.prototype.getOtherEnd=function(t){if(this.source===t)return this.target;if(this.target===t)return this.source;throw"Node is not incident with this edge"},o.prototype.getOtherEndInGraph=function(t,e){for(var r=this.getOtherEnd(t),n=e.getGraphManager().getRoot();;){if(r.getOwner()==e)return r;if(r.getOwner()==n)break;r=r.getOwner().getParent()}return null},o.prototype.updateLength=function(){var t=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),t),this.isOverlapingSourceAndTarget||(this.lengthX=t[0]-t[2],this.lengthY=t[1]-t[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},o.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=o},function(t,e,r){function n(t){this.vGraphObject=t}w(n,"LGraphObject"),t.exports=n},function(t,e,r){var n=r(2),i=r(10),a=r(13),o=r(0),s=r(16),l=r(4);function c(t,e,r,o){null==r&&null==o&&(o=e),n.call(this,o),null!=t.graphManager&&(t=t.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=o,this.edges=[],this.graphManager=t,this.rect=null!=r&&null!=e?new a(e.x,e.y,r.width,r.height):new a}for(var h in w(c,"LNode"),c.prototype=Object.create(n.prototype),n)c[h]=n[h];c.prototype.getEdges=function(){return this.edges},c.prototype.getChild=function(){return this.child},c.prototype.getOwner=function(){return this.owner},c.prototype.getWidth=function(){return this.rect.width},c.prototype.setWidth=function(t){this.rect.width=t},c.prototype.getHeight=function(){return this.rect.height},c.prototype.setHeight=function(t){this.rect.height=t},c.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},c.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},c.prototype.getCenter=function(){return new l(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},c.prototype.getLocation=function(){return new l(this.rect.x,this.rect.y)},c.prototype.getRect=function(){return this.rect},c.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},c.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},c.prototype.setRect=function(t,e){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=e.width,this.rect.height=e.height},c.prototype.setCenter=function(t,e){this.rect.x=t-this.rect.width/2,this.rect.y=e-this.rect.height/2},c.prototype.setLocation=function(t,e){this.rect.x=t,this.rect.y=e},c.prototype.moveBy=function(t,e){this.rect.x+=t,this.rect.y+=e},c.prototype.getEdgeListToNode=function(t){var e=[],r=this;return r.edges.forEach((function(n){if(n.target==t){if(n.source!=r)throw"Incorrect edge source!";e.push(n)}})),e},c.prototype.getEdgesBetween=function(t){var e=[],r=this;return r.edges.forEach((function(n){if(n.source!=r&&n.target!=r)throw"Incorrect edge source and/or target";(n.target==t||n.source==t)&&e.push(n)})),e},c.prototype.getNeighborsList=function(){var t=new Set,e=this;return e.edges.forEach((function(r){if(r.source==e)t.add(r.target);else{if(r.target!=e)throw"Incorrect incidency!";t.add(r.source)}})),t},c.prototype.withChildren=function(){var t=new Set;if(t.add(this),null!=this.child)for(var e=this.child.getNodes(),r=0;re&&(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)),this.labelHeight>r&&("center"==this.labelPos?this.rect.y-=(this.labelHeight-r)/2:"top"==this.labelPos&&(this.rect.y-=this.labelHeight-r),this.setHeight(this.labelHeight))}}},c.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},c.prototype.transform=function(t){var e=this.rect.x;e>o.WORLD_BOUNDARY?e=o.WORLD_BOUNDARY:e<-o.WORLD_BOUNDARY&&(e=-o.WORLD_BOUNDARY);var r=this.rect.y;r>o.WORLD_BOUNDARY?r=o.WORLD_BOUNDARY:r<-o.WORLD_BOUNDARY&&(r=-o.WORLD_BOUNDARY);var n=new l(e,r),i=t.inverseTransformPoint(n);this.setLocation(i.x,i.y)},c.prototype.getLeft=function(){return this.rect.x},c.prototype.getRight=function(){return this.rect.x+this.rect.width},c.prototype.getTop=function(){return this.rect.y},c.prototype.getBottom=function(){return this.rect.y+this.rect.height},c.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=c},function(t,e,r){function n(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}w(n,"PointD"),n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.setX=function(t){this.x=t},n.prototype.setY=function(t){this.y=t},n.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},n.prototype.getCopy=function(){return new n(this.x,this.y)},n.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=n},function(t,e,r){var n=r(2),i=r(10),a=r(0),o=r(6),s=r(3),l=r(1),c=r(13),h=r(12),u=r(11);function d(t,e,r){n.call(this,r),this.estimatedSize=i.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof o?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var p in w(d,"LGraph"),d.prototype=Object.create(n.prototype),n)d[p]=n[p];d.prototype.getNodes=function(){return this.nodes},d.prototype.getEdges=function(){return this.edges},d.prototype.getGraphManager=function(){return this.graphManager},d.prototype.getParent=function(){return this.parent},d.prototype.getLeft=function(){return this.left},d.prototype.getRight=function(){return this.right},d.prototype.getTop=function(){return this.top},d.prototype.getBottom=function(){return this.bottom},d.prototype.isConnected=function(){return this.isConnected},d.prototype.add=function(t,e,r){if(null==e&&null==r){var n=t;if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(n)>-1)throw"Node already in graph!";return n.owner=this,this.getNodes().push(n),n}var i=t;if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(r)>-1))throw"Source or target not in graph!";if(e.owner!=r.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=r.owner?null:(i.source=e,i.target=r,i.isInterGraph=!1,this.getEdges().push(i),e.edges.push(i),r!=e&&r.edges.push(i),i)},d.prototype.remove=function(t){var e=t;if(t instanceof s){if(null==e)throw"Node is null!";if(null==e.owner||e.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var r=e.edges.slice(),n=r.length,i=0;i-1&&h>-1))throw"Source and/or target doesn't know this edge!";if(a.source.edges.splice(c,1),a.target!=a.source&&a.target.edges.splice(h,1),-1==(o=a.source.owner.getEdges().indexOf(a)))throw"Not in owner's edge list!";a.source.owner.getEdges().splice(o,1)}},d.prototype.updateLeftTop=function(){for(var t,e,r,n=i.MAX_VALUE,a=i.MAX_VALUE,o=this.getNodes(),s=o.length,l=0;l(t=c.getTop())&&(n=t),a>(e=c.getLeft())&&(a=e)}return n==i.MAX_VALUE?null:(r=null!=o[0].getParent().paddingLeft?o[0].getParent().paddingLeft:this.margin,this.left=a-r,this.top=n-r,new h(this.left,this.top))},d.prototype.updateBounds=function(t){for(var e,r,n,a,o,s=i.MAX_VALUE,l=-i.MAX_VALUE,h=i.MAX_VALUE,u=-i.MAX_VALUE,d=this.nodes,p=d.length,f=0;f(e=g.getLeft())&&(s=e),l<(r=g.getRight())&&(l=r),h>(n=g.getTop())&&(h=n),u<(a=g.getBottom())&&(u=a)}var m=new c(s,h,l-s,u-h);s==i.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),o=null!=d[0].getParent().paddingLeft?d[0].getParent().paddingLeft:this.margin,this.left=m.x-o,this.right=m.x+m.width+o,this.top=m.y-o,this.bottom=m.y+m.height+o},d.calculateBounds=function(t){for(var e,r,n,a,o=i.MAX_VALUE,s=-i.MAX_VALUE,l=i.MAX_VALUE,h=-i.MAX_VALUE,u=t.length,d=0;d(e=p.getLeft())&&(o=e),s<(r=p.getRight())&&(s=r),l>(n=p.getTop())&&(l=n),h<(a=p.getBottom())&&(h=a)}return new c(o,l,s-o,h-l)},d.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},d.prototype.getEstimatedSize=function(){if(this.estimatedSize==i.MIN_VALUE)throw"assert failed";return this.estimatedSize},d.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,r=e.length,n=0;n=this.nodes.length){var l=0;i.forEach((function(e){e.owner==t&&l++})),l==this.nodes.length&&(this.isConnected=!0)}}else this.isConnected=!0},t.exports=d},function(t,e,r){var n,i=r(1);function a(t){n=r(5),this.layout=t,this.graphs=[],this.edges=[]}w(a,"LGraphManager"),a.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),r=this.add(t,e);return this.setRootGraph(r),this.rootGraph},a.prototype.add=function(t,e,r,n,i){if(null==r&&null==n&&null==i){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}i=r,r=t;var a=(n=e).getOwner(),o=i.getOwner();if(null==a||a.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==o||o.getGraphManager()!=this)throw"Target not in this graph mgr!";if(a==o)return r.isInterGraph=!1,a.add(r,n,i);if(r.isInterGraph=!0,r.source=n,r.target=i,this.edges.indexOf(r)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(r),null==r.source||null==r.target)throw"Edge source and/or target is null!";if(-1!=r.source.edges.indexOf(r)||-1!=r.target.edges.indexOf(r))throw"Edge already in source and/or target incidency list!";return r.source.edges.push(r),r.target.edges.push(r),r},a.prototype.remove=function(t){if(t instanceof n){var e=t;if(e.getGraphManager()!=this)throw"Graph not in this graph mgr";if(e!=this.rootGraph&&(null==e.parent||e.parent.graphManager!=this))throw"Invalid parent node!";for(var r,a=[],o=(a=a.concat(e.getEdges())).length,s=0;s=e.getRight()?r[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(r[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?r[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(r[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var a=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(a=1);var o=a*r[0],s=r[1]/a;r[0]o)return r[0]=n,r[1]=l,r[2]=a,r[3]=x,!1;if(ia)return r[0]=s,r[1]=i,r[2]=y,r[3]=o,!1;if(na?(r[0]=h,r[1]=u,T=!0):(r[0]=c,r[1]=l,T=!0):_===S&&(n>a?(r[0]=s,r[1]=l,T=!0):(r[0]=d,r[1]=u,T=!0)),-C===S?a>n?(r[2]=v,r[3]=x,E=!0):(r[2]=y,r[3]=m,E=!0):C===S&&(a>n?(r[2]=g,r[3]=m,E=!0):(r[2]=b,r[3]=x,E=!0)),T&&E)return!1;if(n>a?i>o?(A=this.getCardinalDirection(_,S,4),L=this.getCardinalDirection(C,S,2)):(A=this.getCardinalDirection(-_,S,3),L=this.getCardinalDirection(-C,S,1)):i>o?(A=this.getCardinalDirection(-_,S,1),L=this.getCardinalDirection(-C,S,3)):(A=this.getCardinalDirection(_,S,2),L=this.getCardinalDirection(C,S,4)),!T)switch(A){case 1:I=l,N=n+-f/S,r[0]=N,r[1]=I;break;case 2:N=d,I=i+p*S,r[0]=N,r[1]=I;break;case 3:I=u,N=n+f/S,r[0]=N,r[1]=I;break;case 4:N=h,I=i+-p*S,r[0]=N,r[1]=I}if(!E)switch(L){case 1:R=m,M=a+-k/S,r[2]=M,r[3]=R;break;case 2:M=b,R=o+w*S,r[2]=M,r[3]=R;break;case 3:R=x,M=a+k/S,r[2]=M,r[3]=R;break;case 4:M=v,R=o+-w*S,r[2]=M,r[3]=R}}return!1},i.getCardinalDirection=function(t,e,r){return t>e?r:1+r%4},i.getIntersection=function(t,e,r,i){if(null==i)return this.getIntersection2(t,e,r);var a,o,s,l,c,h,u,d=t.x,p=t.y,f=e.x,g=e.y,m=r.x,y=r.y,v=i.x,x=i.y;return c=f*p-d*g,h=v*y-m*x,0==(u=(a=g-p)*(l=m-v)-(o=x-y)*(s=d-f))?null:new n((s*h-l*c)/u,(o*c-a*h)/u)},i.angleOfVector=function(t,e,r,n){var i=void 0;return t!==r?(i=Math.atan((n-e)/(r-t)),r0?1:t<0?-1:0},n.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},n.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=n},function(t,e,r){function n(){}w(n,"Integer"),n.MAX_VALUE=2147483647,n.MIN_VALUE=-2147483648,t.exports=n},function(t,e,r){var n=function(){function t(t,e){for(var r=0;r"u"?"undefined":n(t);return null==t||"object"!=e&&"function"!=e},t.exports=i},function(t,e,r){function n(t){if(Array.isArray(t)){for(var e=0,r=Array(t.length);e0&&e;){for(s.push(c[0]);s.length>0&&e;){var h=s[0];s.splice(0,1),o.add(h);var u=h.getEdges();for(a=0;a-1&&c.splice(g,1)}o=new Set,l=new Map}else t=[]}return t},d.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],r=t.source,n=this.graphManager.calcLowestCommonAncestor(t.source,t.target),i=0;i0){for(var i=this.edgeToDummyNodes.get(r),a=0;a=0&&e.splice(u,1),h.getNeighborsList().forEach((function(t){if(r.indexOf(t)<0){var e=n.get(t)-1;1==e&&l.push(t),n.set(t,e)}}))}r=r.concat(l),(1==e.length||2==e.length)&&(i=!0,a=e[0])}return a},d.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=d},function(t,e,r){function n(){}w(n,"RandomSeed"),n.seed=1,n.x=0,n.nextDouble=function(){return n.x=1e4*Math.sin(n.seed++),n.x-Math.floor(n.x)},t.exports=n},function(t,e,r){var n=r(4);function i(t,e){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}w(i,"Transform"),i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(t){this.lworldExtX=t},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(t){this.lworldExtY=t},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},i.prototype.transformX=function(t){var e=0,r=this.lworldExtX;return 0!=r&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/r),e},i.prototype.transformY=function(t){var e=0,r=this.lworldExtY;return 0!=r&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/r),e},i.prototype.inverseTransformX=function(t){var e=0,r=this.ldeviceExtX;return 0!=r&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/r),e},i.prototype.inverseTransformY=function(t){var e=0,r=this.ldeviceExtY;return 0!=r&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/r),e},i.prototype.inverseTransformPoint=function(t){return new n(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=i},function(t,e,r){function n(t){if(Array.isArray(t)){for(var e=0,r=Array(t.length);ea.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*a.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-a.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>a.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(a.COOLING_ADAPTATION_FACTOR,1-(t-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*(1-a.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},c.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),r=0;r0&&void 0!==arguments[0])||arguments[0],s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&o&&this.updateGrid(),i=new Set,t=0;t(l=e.getEstimatedSize()*this.gravityRangeFactor)||s>l)&&(t.gravitationForceX=-this.gravityConstant*i,t.gravitationForceY=-this.gravityConstant*a):(o>(l=e.getEstimatedSize()*this.compoundGravityRangeFactor)||s>l)&&(t.gravitationForceX=-this.gravityConstant*i*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*a*this.compoundGravityConstant)},c.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=l.length||h>=l[0].length))for(var u=0;ut}),"_defaultCompareFunction")}]),t}();t.exports=o},function(t,e,r){var n=function(){function t(t,e){for(var r=0;r2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;i(this,t),this.sequence1=e,this.sequence2=r,this.match_score=n,this.mismatch_penalty=a,this.gap_penalty=o,this.iMax=e.length+1,this.jMax=r.length+1,this.grid=new Array(this.iMax);for(var s=0;s=0;r--){var n=this.listeners[r];n.event===t&&n.callback===e&&this.listeners.splice(r,1)}},i.emit=function(t,e){for(var r=0;r{w((function(r,n){"object"==typeof t&&"object"==typeof e?e.exports=n(kjt()):"function"==typeof define&&define.amd?define(["layout-base"],n):"object"==typeof t?t.coseBase=n(kjt()):r.coseBase=n(r.layoutBase)}),"webpackUniversalModuleDefinition")(t,(function(t){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return w(r,"__webpack_require__"),r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?w((function(){return t.default}),"getDefault"):w((function(){return t}),"getModuleExports");return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=7)}([function(e,r){e.exports=t},function(t,e,r){var n=r(0).FDLayoutConstants;function i(){}for(var a in w(i,"CoSEConstants"),n)i[a]=n[a];i.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,i.DEFAULT_RADIAL_SEPARATION=n.DEFAULT_EDGE_LENGTH,i.DEFAULT_COMPONENT_SEPERATION=60,i.TILE=!0,i.TILING_PADDING_VERTICAL=10,i.TILING_PADDING_HORIZONTAL=10,i.TREE_REDUCTION_ON_INCREMENTAL=!1,t.exports=i},function(t,e,r){var n=r(0).FDLayoutEdge;function i(t,e,r){n.call(this,t,e,r)}for(var a in w(i,"CoSEEdge"),i.prototype=Object.create(n.prototype),n)i[a]=n[a];t.exports=i},function(t,e,r){var n=r(0).LGraph;function i(t,e,r){n.call(this,t,e,r)}for(var a in w(i,"CoSEGraph"),i.prototype=Object.create(n.prototype),n)i[a]=n[a];t.exports=i},function(t,e,r){var n=r(0).LGraphManager;function i(t){n.call(this,t)}for(var a in w(i,"CoSEGraphManager"),i.prototype=Object.create(n.prototype),n)i[a]=n[a];t.exports=i},function(t,e,r){var n=r(0).FDLayoutNode,i=r(0).IMath;function a(t,e,r,i){n.call(this,t,e,r,i)}for(var o in w(a,"CoSENode"),a.prototype=Object.create(n.prototype),n)a[o]=n[o];a.prototype.move=function(){var t=this.graphManager.getLayout();this.displacementX=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementY)),null==this.child||0==this.child.getNodes().length?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),t.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},a.prototype.propogateDisplacementToChildren=function(t,e){for(var r,n=this.getChild().getNodes(),i=0;i0?this.positionNodesRadially(r):(this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation(),t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter((function(e){return t.has(e)})),this.graphManager.setAllNodesToApplyGravitation(e),this.positionNodesRandomly())}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},v.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%c.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter((function(e){return t.has(e)}));this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=c.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=c.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var r=!this.isTreeGrowing&&!this.isGrowthFinished,n=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(r,n),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},v.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},r=0;r1)for(s=0;sn&&(n=Math.floor(o.y)),a=Math.floor(o.x+l.DEFAULT_COMPONENT_SEPERATION)}this.transform(new d(h.WORLD_CENTER_X-o.x/2,h.WORLD_CENTER_Y-o.y/2))},v.radialLayout=function(t,e,r){var n=Math.max(this.maxDiagonalInTree(t),l.DEFAULT_RADIAL_SEPARATION);v.branchRadialLayout(e,null,0,359,0,n);var i=m.calculateBounds(t),a=new y;a.setDeviceOrgX(i.getMinX()),a.setDeviceOrgY(i.getMinY()),a.setWorldOrgX(r.x),a.setWorldOrgY(r.y);for(var o=0;o1;){var y=m[0];m.splice(0,1);var x=h.indexOf(y);x>=0&&h.splice(x,1),f--,u--}d=null!=e?(h.indexOf(m[0])+1)%f:0;for(var b=Math.abs(n-r)/u,w=d;p!=u;w=++w%f){var k=h[w].getOtherEnd(t);if(k!=e){var T=(r+p*b)%360,E=(T+b)%360;v.branchRadialLayout(k,t,T,E,i+a,a),p++}}},v.maxDiagonalInTree=function(t){for(var e=f.MIN_VALUE,r=0;re&&(e=n)}return e},v.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},v.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var r=[],n=this.graphManager.getAllNodes(),i=0;i"u"&&(e[l]=[]),e[l]=e[l].concat(s)}Object.keys(e).forEach((function(r){if(e[r].length>1){var n="DummyCompound_"+r;t.memberGroups[n]=e[r];var i=e[r][0].getParent(),a=new o(t.graphManager);a.id=n,a.paddingLeft=i.paddingLeft||0,a.paddingRight=i.paddingRight||0,a.paddingBottom=i.paddingBottom||0,a.paddingTop=i.paddingTop||0,t.idToDummyNode[n]=a;var s=t.getGraphManager().add(t.newGraph(),a),l=i.getChild();l.add(a);for(var c=0;c=0;t--){var e=this.compoundOrder[t],r=e.id,n=e.paddingLeft,i=e.paddingTop;this.adjustLocations(this.tiledMemberPack[r],e.rect.x,e.rect.y,n,i)}},v.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach((function(r){var n=t.idToDummyNode[r],i=n.paddingLeft,a=n.paddingTop;t.adjustLocations(e[r],n.rect.x,n.rect.y,i,a)}))},v.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var r=t.getChild();if(null==r)return this.toBeTiled[e]=!1,!1;for(var n=r.getNodes(),i=0;i0)return this.toBeTiled[e]=!1,!1;if(null!=a.getChild()){if(!this.getToBeTiled(a))return this.toBeTiled[e]=!1,!1}else this.toBeTiled[a.id]=!1}return this.toBeTiled[e]=!0,!0},v.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),r=0,n=0;nl&&(l=h.rect.height)}r+=l+t.verticalPadding}},v.prototype.tileCompoundMembers=function(t,e){var r=this;this.tiledMemberPack=[],Object.keys(t).forEach((function(n){var i=e[n];r.tiledMemberPack[n]=r.tileNodes(t[n],i.paddingLeft+i.paddingRight),i.rect.width=r.tiledMemberPack[n].width,i.rect.height=r.tiledMemberPack[n].height}))},v.prototype.tileNodes=function(t,e){var r={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:l.TILING_PADDING_VERTICAL,horizontalPadding:l.TILING_PADDING_HORIZONTAL};t.sort((function(t,e){return t.rect.width*t.rect.height>e.rect.width*e.rect.height?-1:t.rect.width*t.rect.height0&&(a+=t.horizontalPadding),t.rowWidth[r]=a,t.width0&&(o+=t.verticalPadding);var s=0;o>t.rowHeight[r]&&(s=t.rowHeight[r],t.rowHeight[r]=o,s=t.rowHeight[r]-s),t.height+=s,t.rows[r].push(e)},v.prototype.getShortestRowIndex=function(t){for(var e=-1,r=Number.MAX_VALUE,n=0;nr&&(e=n,r=t.rowWidth[n]);return e},v.prototype.canAddHorizontal=function(t,e,r){var n=this.getShortestRowIndex(t);if(n<0)return!0;var i=t.rowWidth[n];if(i+t.horizontalPadding+e<=t.width)return!0;var a,o,s=0;return t.rowHeight[n]0&&(s=r+t.verticalPadding-t.rowHeight[n]),a=t.width-i>=e+t.horizontalPadding?(t.height+s)/(i+e+t.horizontalPadding):(t.height+s)/t.width,s=r+t.verticalPadding,(o=t.widtha&&e!=r){n.splice(-1,1),t.rows[r].push(i),t.rowWidth[e]=t.rowWidth[e]-a,t.rowWidth[r]=t.rowWidth[r]+a,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var o=Number.MIN_VALUE,s=0;so&&(o=n[s].height);e>0&&(o+=t.verticalPadding);var l=t.rowHeight[e]+t.rowHeight[r];t.rowHeight[e]=o,t.rowHeight[r]0)for(var h=i;h<=a;h++)l[0]+=this.grid[h][o-1].length+this.grid[h][o].length-1;if(a0)for(h=o;h<=s;h++)l[3]+=this.grid[i-1][h].length+this.grid[i][h].length-1;for(var u,d,p=f.MAX_VALUE,g=0;g{w((function(r,n){"object"==typeof t&&"object"==typeof e?e.exports=n(Tjt()):"function"==typeof define&&define.amd?define(["cose-base"],n):"object"==typeof t?t.cytoscapeCoseBilkent=n(Tjt()):r.cytoscapeCoseBilkent=n(r.coseBase)}),"webpackUniversalModuleDefinition")(t,(function(t){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return w(r,"__webpack_require__"),r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?w((function(){return t.default}),"getDefault"):w((function(){return t}),"getModuleExports");return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=1)}([function(e,r){e.exports=t},function(t,e,r){var n=r(0).layoutBase.LayoutConstants,i=r(0).layoutBase.FDLayoutConstants,a=r(0).CoSEConstants,o=r(0).CoSELayout,s=r(0).CoSENode,l=r(0).layoutBase.PointD,c=r(0).layoutBase.DimensionD,h={ready:w((function(){}),"ready"),stop:w((function(){}),"stop"),quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function u(t,e){var r={};for(var n in t)r[n]=t[n];for(var n in e)r[n]=e[n];return r}function d(t){this.options=u(h,t),p(this.options)}w(u,"extend"),w(d,"_CoSELayout");var p=w((function(t){null!=t.nodeRepulsion&&(a.DEFAULT_REPULSION_STRENGTH=i.DEFAULT_REPULSION_STRENGTH=t.nodeRepulsion),null!=t.idealEdgeLength&&(a.DEFAULT_EDGE_LENGTH=i.DEFAULT_EDGE_LENGTH=t.idealEdgeLength),null!=t.edgeElasticity&&(a.DEFAULT_SPRING_STRENGTH=i.DEFAULT_SPRING_STRENGTH=t.edgeElasticity),null!=t.nestingFactor&&(a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(a.DEFAULT_GRAVITY_STRENGTH=i.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(a.MAX_ITERATIONS=i.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(a.DEFAULT_GRAVITY_RANGE_FACTOR=i.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(a.DEFAULT_COMPOUND_GRAVITY_STRENGTH=i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(a.DEFAULT_COOLING_FACTOR_INCREMENTAL=i.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),"draft"==t.quality?n.QUALITY=0:"proof"==t.quality?n.QUALITY=2:n.QUALITY=1,a.NODE_DIMENSIONS_INCLUDE_LABELS=i.NODE_DIMENSIONS_INCLUDE_LABELS=n.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,a.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=n.DEFAULT_INCREMENTAL=!t.randomize,a.ANIMATE=i.ANIMATE=n.ANIMATE=t.animate,a.TILE=t.tile,a.TILING_PADDING_VERTICAL="function"==typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,a.TILING_PADDING_HORIZONTAL="function"==typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal}),"getUserOptions");d.prototype.run=function(){var t,e,r=this.options,n=(this.idToLNode={},this.layout=new o),i=this;i.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var a=n.newGraphManager();this.gm=a;var s=this.options.eles.nodes(),l=this.options.eles.edges();this.root=a.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(s),n);for(var c=0;c0&&(o=r.getGraphManager().add(r.newGraph(),a),this.processChildrenList(o,u,r))}},d.prototype.stop=function(){return this.stopped=!0,this};var f=w((function(t){t("layout","cose-bilkent",d)}),"register");typeof cytoscape<"u"&&f(cytoscape),t.exports=f}])}))}));function _jt(t,e,r,n,i){return t.insert("polygon",":first-child").attr("points",n.map((function(t){return t.x+","+t.y})).join(" ")).attr("transform","translate("+(i.width-e)/2+", "+r+")")}var Cjt,Sjt,Ajt,Ljt,Njt,Ijt,Mjt,Rjt,Djt,Ojt=k((()=>{GB(),mD(),Cjt=w((function(t,e,r,n){e.append("path").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("d",`M0 ${r.height-5} v${10-r.height} q0,-5 5,-5 h${r.width-10} q5,0 5,5 v${r.height-5} H0 Z`),e.append("line").attr("class","node-line-"+n).attr("x1",0).attr("y1",r.height).attr("x2",r.width).attr("y2",r.height)}),"defaultBkg"),Sjt=w((function(t,e,r){e.append("rect").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("height",r.height).attr("width",r.width)}),"rectBkg"),Ajt=w((function(t,e,r){let n=r.width,i=r.height,a=.15*n,o=.25*n,s=.35*n,l=.2*n;e.append("path").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("d",`M0 0 a${a},${a} 0 0,1 ${.25*n},${-1*n*.1}\n a${s},${s} 1 0,1 ${.4*n},${-1*n*.1}\n a${o},${o} 1 0,1 ${.35*n},${1*n*.2}\n\n a${a},${a} 1 0,1 ${.15*n},${1*i*.35}\n a${l},${l} 1 0,1 ${-1*n*.15},${1*i*.65}\n\n a${o},${a} 1 0,1 ${-1*n*.25},${.15*n}\n a${s},${s} 1 0,1 ${-1*n*.5},0\n a${a},${a} 1 0,1 ${-1*n*.25},${-1*n*.15}\n\n a${a},${a} 1 0,1 ${-1*n*.1},${-1*i*.35}\n a${l},${l} 1 0,1 ${.1*n},${-1*i*.65}\n\n H0 V0 Z`)}),"cloudBkg"),Ljt=w((function(t,e,r){let n=r.width,i=r.height,a=.15*n;e.append("path").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("d",`M0 0 a${a},${a} 1 0,0 ${.25*n},${-1*i*.1}\n a${a},${a} 1 0,0 ${.25*n},0\n a${a},${a} 1 0,0 ${.25*n},0\n a${a},${a} 1 0,0 ${.25*n},${1*i*.1}\n\n a${a},${a} 1 0,0 ${.15*n},${1*i*.33}\n a${.8*a},${.8*a} 1 0,0 0,${1*i*.34}\n a${a},${a} 1 0,0 ${-1*n*.15},${1*i*.33}\n\n a${a},${a} 1 0,0 ${-1*n*.25},${.15*i}\n a${a},${a} 1 0,0 ${-1*n*.25},0\n a${a},${a} 1 0,0 ${-1*n*.25},0\n a${a},${a} 1 0,0 ${-1*n*.25},${-1*i*.15}\n\n a${a},${a} 1 0,0 ${-1*n*.1},${-1*i*.33}\n a${.8*a},${.8*a} 1 0,0 0,${-1*i*.34}\n a${a},${a} 1 0,0 ${.1*n},${-1*i*.33}\n\n H0 V0 Z`)}),"bangBkg"),Njt=w((function(t,e,r){e.append("circle").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("r",r.width/2)}),"circleBkg"),w(_jt,"insertPolygonShape"),Ijt=w((function(t,e,r){let n=r.height,i=n/4,a=r.width-r.padding+2*i;_jt(e,a,n,[{x:i,y:0},{x:a-i,y:0},{x:a,y:-n/2},{x:a-i,y:-n},{x:i,y:-n},{x:0,y:-n/2}],r)}),"hexagonBkg"),Mjt=w((function(t,e,r){e.append("rect").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("height",r.height).attr("rx",r.padding).attr("ry",r.padding).attr("width",r.width)}),"roundedRectBkg"),Rjt=w((async function(t,e,r,n,i){let a=i.htmlLabels,o=n%11,s=e.append("g");r.section=o;let l="section-"+o;o<0&&(l+=" section-root"),s.attr("class",(r.class?r.class+" ":"")+"mindmap-node "+l);let c=s.append("g"),h=s.append("g"),u=r.descr.replace(/()/g,"\n");await UB(h,u,{useHtmlLabels:a,width:r.width,classes:"mindmap-node-label"},i),a||h.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");let d=h.node().getBBox(),[p]=uD(i.fontSize);if(r.height=d.height+1.1*p*.5+r.padding,r.width=d.width+2*r.padding,r.icon)if(r.type===t.nodeType.CIRCLE)r.height+=50,r.width+=50,s.append("foreignObject").attr("height","50px").attr("width",r.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+o+" "+r.icon),h.attr("transform","translate("+r.width/2+", "+(r.height/2-1.5*r.padding)+")");else{r.width+=50;let t=r.height;r.height=Math.max(t,60);let e=Math.abs(r.height-t);s.append("foreignObject").attr("width","60px").attr("height",r.height).attr("style","text-align: center;margin-top:"+e/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+o+" "+r.icon),h.attr("transform","translate("+(25+r.width/2)+", "+(e/2+r.padding/2)+")")}else if(a){let t=(r.width-d.width)/2,e=(r.height-d.height)/2;h.attr("transform","translate("+t+", "+e+")")}else{let t=r.width/2,e=r.padding/2;h.attr("transform","translate("+t+", "+e+")")}switch(r.type){case t.nodeType.DEFAULT:Cjt(t,c,r,o);break;case t.nodeType.ROUNDED_RECT:Mjt(t,c,r,o);break;case t.nodeType.RECT:Sjt(t,c,r,o);break;case t.nodeType.CIRCLE:c.attr("transform","translate("+r.width/2+", "+ +r.height/2+")"),Njt(t,c,r,o);break;case t.nodeType.CLOUD:Ajt(t,c,r,o);break;case t.nodeType.BANG:Ljt(t,c,r,o);break;case t.nodeType.HEXAGON:Ijt(t,c,r,o)}return t.setElementForId(r.id,s),r.height}),"drawNode"),Djt=w((function(t,e){let r=t.getElementById(e.id),n=e.x||0,i=e.y||0;r.attr("transform","translate("+n+","+i+")")}),"positionNode")}));async function Pjt(t,e,r,n,i){await Rjt(t,e,r,n,i),r.children&&await Promise.all(r.children.map(((r,a)=>Pjt(t,e,r,n<0?a:n,i))))}function Bjt(t,e){e.edges().map(((e,n)=>{let i=e.data();if(e[0]._private.bodyBounds){let a=e[0]._private.rscratch;r.trace("Edge: ",n,i),t.insert("path").attr("d",`M ${a.startX},${a.startY} L ${a.midX},${a.midY} L${a.endX},${a.endY} `).attr("class","edge section-edge-"+i.section+" edge-depth-"+i.depth)}}))}function Fjt(t,e,r,n){e.add({group:"nodes",data:{id:t.id.toString(),labelText:t.descr,height:t.height,width:t.width,level:n,nodeId:t.id,padding:t.padding,type:t.type},position:{x:t.x,y:t.y}}),t.children&&t.children.forEach((i=>{Fjt(i,e,r,n+1),e.add({group:"edges",data:{id:`${t.id}_${i.id}`,source:t.id,target:i.id,depth:n,section:i.section}})}))}function $jt(t,e){return new Promise((n=>{let i=Qf("body").append("div").attr("id","cy").attr("style","display:none"),a=bjt({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});i.remove(),Fjt(t,a,e,0),a.nodes().forEach((function(t){t.layoutDimensions=()=>{let e=t.data();return{w:e.width,h:e.height}}})),a.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),a.ready((t=>{r.info("Ready",t),n(a)}))}))}function zjt(t,e){e.nodes().map(((e,n)=>{let i=e.data();i.x=e.position().x,i.y=e.position().y,Djt(t,i);let a=t.getElementById(i.nodeId);r.info("Id:",n,"Position: (",e.position().x,", ",e.position().y,")",i),a.attr("transform",`translate(${e.position().x-i.width/2}, ${e.position().y-i.height/2})`),a.attr("attr",`apa-${n})`)}))}var Ujt,Gjt,qjt,Yjt,jjt,Hjt,Wjt=k((()=>{wjt(),Ujt=S(Ejt(),1),jC(),Qh(),L(),pvt(),Pc(),Ojt(),tn(),bjt.use(Ujt.default),w(Pjt,"drawNodes"),w(Bjt,"drawEdges"),w(Fjt,"addNodes"),w($jt,"layoutMindmap"),w(zjt,"positionNodes"),Gjt=w((async(t,e,n,i)=>{r.debug("Rendering mindmap diagram\n"+t);let a=i.db,o=a.getMindmap();if(!o)return;let s=Qc();s.htmlLabels=!1;let l=ovt(e),c=l.append("g");c.attr("class","mindmap-edges");let h=l.append("g");h.attr("class","mindmap-nodes"),await Pjt(a,h,o,-1,s);let u=await $jt(o,s);Bjt(c,u),zjt(a,u),Nc(void 0,l,s.mindmap?.padding??Ye.mindmap.padding,s.mindmap?.useMaxWidth??Ye.mindmap.useMaxWidth)}),"draw"),qjt={draw:Gjt}})),Vjt=k((()=>{Yr(),Yjt=w((t=>{let e="";for(let e=0;e`\n .edge {\n stroke-width: 3;\n }\n ${Yjt(t)}\n .section-root rect, .section-root path, .section-root circle, .section-root polygon {\n fill: ${t.git0};\n }\n .section-root text {\n fill: ${t.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .mindmap-node-label {\n dy: 1em;\n alignment-baseline: middle;\n text-anchor: middle;\n dominant-baseline: middle;\n text-align: center;\n }\n`),"getStyles"),Hjt=jjt})),Xjt={};E(Xjt,{diagram:()=>Kjt});var Kjt,Zjt,Qjt,Jjt,tHt,eHt,rHt,nHt,iHt,aHt,oHt,sHt,lHt,cHt,hHt,uHt=k((()=>{aIt(),oIt(),Wjt(),Vjt(),Kjt={db:nIt,renderer:qjt,parser:GNt,styles:Hjt}})),dHt=k((()=>{(Zjt=function(){var t=w((function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r}),"o"),e=[1,9],r=[1,10],n=[1,5,10,12],i={trace:w((function(){}),"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:w((function(t,e,r,n,i,a,o){var s=a.length-1;switch(i){case 7:let t=n.findOrCreateNode(a[s-4].trim().replaceAll('""','"')),e=n.findOrCreateNode(a[s-2].trim().replaceAll('""','"')),r=parseFloat(a[s].trim());n.addLink(t,e,r);break;case 8:case 9:case 11:this.$=a[s];break;case 10:this.$=a[s-1]}}),"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:r},{1:[2,6],7:11,10:[1,12]},t(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(n,[2,8]),t(n,[2,9]),{19:[1,16]},t(n,[2,11]),{1:[2,1]},{1:[2,5]},t(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:r},{15:18,16:7,17:8,18:e,20:r},{18:[1,19]},t(r,[2,3]),{12:[1,20]},t(n,[2,10]),{15:21,16:7,17:8,18:e,20:r},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:w((function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)}),"parseError"),parse:w((function(t){var e=this,r=[0],n=[],i=[null],a=[],o=this.table,s="",l=0,c=0,h=0,u=a.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,typeof d.yylloc>"u"&&(d.yylloc={});var g=d.yylloc;a.push(g);var m=d.options&&d.options.ranges;function y(){var t;return"number"!=typeof(t=n.pop()||d.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,w((function(t){r.length=r.length-2*t,i.length=i.length-t,a.length=a.length-t}),"popStack"),w(y,"lex");for(var v,x,b,k,T,E,_,C,S,A={};;){if(b=r[r.length-1],this.defaultActions[b]?k=this.defaultActions[b]:((null===v||typeof v>"u")&&(v=y()),k=o[b]&&o[b][v]),typeof k>"u"||!k.length||!k[0]){var L;for(E in S=[],o[b])this.terminals_[E]&&E>2&&S.push("'"+this.terminals_[E]+"'");L=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==v?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(L,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:g,expected:S})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(k[0]){case 1:r.push(v),i.push(d.yytext),a.push(d.yylloc),r.push(k[1]),v=null,x?(v=x,x=null):(c=d.yyleng,s=d.yytext,l=d.yylineno,g=d.yylloc,h>0&&h--);break;case 2:if(_=this.productions_[k[1]][1],A.$=i[i.length-_],A._$={first_line:a[a.length-(_||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(_||1)].first_column,last_column:a[a.length-1].last_column},m&&(A._$.range=[a[a.length-(_||1)].range[0],a[a.length-1].range[1]]),typeof(T=this.performAction.apply(A,[s,c,l,p.yy,k[1],i,a].concat(u)))<"u")return T;_&&(r=r.slice(0,-1*_*2),i=i.slice(0,-1*_),a=a.slice(0,-1*_)),r.push(this.productions_[k[1]][0]),i.push(A.$),a.push(A._$),C=o[r[r.length-2]][r[r.length-1]],r.push(C);break;case 3:return!0}}return!0}),"parse")},a={EOF:1,parseError:w((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:w((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:w((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:w((function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:w((function(){return this._more=!0,this}),"more"),reject:w((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:w((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:w((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:w((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:w((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:w((function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:w((function(){if(this.done)return this.EOF;var t,e,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:w((function(){return this.next()||this.lex()}),"lex"),begin:w((function(t){this.conditionStack.push(t)}),"begin"),popState:w((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:w((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:w((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:w((function(t){this.begin(t)}),"pushState"),stateStackSize:w((function(){return this.conditionStack.length}),"stateStackSize"),options:{"case-insensitive":!0},performAction:w((function(t,e,r,n){switch(r){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}}),"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};function o(){this.yy={}}return i.lexer=a,w(o,"Parser"),o.prototype=i,i.Parser=o,new o}()).parser=Zjt,Qjt=Zjt})),pHt=k((()=>{Qh(),Oc(),Zh(),Jjt=[],tHt=[],eHt=new Map,rHt=w((()=>{Jjt=[],tHt=[],eHt=new Map,qc()}),"clear"),nHt=class{constructor(t,e,r=0){this.source=t,this.target=e,this.value=r}static{w(this,"SankeyLink")}},iHt=w(((t,e,r)=>{Jjt.push(new nHt(t,e,r))}),"addLink"),aHt=class{constructor(t){this.ID=t}static{w(this,"SankeyNode")}},oHt=w((t=>{t=Cc.sanitizeText(t,Qc());let e=eHt.get(t);return void 0===e&&(e=new aHt(t),eHt.set(t,e),tHt.push(e)),e}),"findOrCreateNode"),sHt=w((()=>tHt),"getNodes"),lHt=w((()=>Jjt),"getLinks"),cHt=w((()=>({nodes:tHt.map((t=>({id:t.ID}))),links:Jjt.map((t=>({source:t.source.ID,target:t.target.ID,value:t.value})))})),"getGraph"),hHt={nodesMap:eHt,getConfig:w((()=>Qc().sankey),"getConfig"),getNodes:sHt,getLinks:lHt,getGraph:cHt,addLink:iHt,findOrCreateNode:oHt,getAccTitle:jc,setAccTitle:Yc,getAccDescription:Wc,setAccDescription:Hc,getDiagramTitle:Xc,setDiagramTitle:Vc,clear:rHt}}));function fHt(t,e){let r;if(void 0===e)for(let e of t)null!=e&&(r=e)&&(r=e);else{let n=-1;for(let i of t)null!=(i=e(i,++n,t))&&(r=i)&&(r=i)}return r}var gHt=k((()=>{w(fHt,"max")}));function mHt(t,e){let r;if(void 0===e)for(let e of t)null!=e&&(r>e||void 0===r&&e>=e)&&(r=e);else{let n=-1;for(let i of t)null!=(i=e(i,++n,t))&&(r>i||void 0===r&&i>=i)&&(r=i)}return r}var yHt=k((()=>{w(mHt,"min")}));function vHt(t,e){let r=0;if(void 0===e)for(let e of t)(e=+e)&&(r+=e);else{let n=-1;for(let i of t)(i=+e(i,++n,t))&&(r+=i)}return r}var xHt=k((()=>{w(vHt,"sum")})),bHt=k((()=>{gHt(),yHt(),xHt()}));function wHt(t){return t.target.depth}function kHt(t){return t.depth}function THt(t,e){return e-1-t.height}function EHt(t,e){return t.sourceLinks.length?t.depth:e-1}function _Ht(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?mHt(t.sourceLinks,wHt)-1:0}var CHt=k((()=>{bHt(),w(wHt,"targetDepth"),w(kHt,"left"),w(THt,"right"),w(EHt,"justify"),w(_Ht,"center")}));function SHt(t){return function(){return t}}var AHt=k((()=>{w(SHt,"constant")}));function LHt(t,e){return IHt(t.source,e.source)||t.index-e.index}function NHt(t,e){return IHt(t.target,e.target)||t.index-e.index}function IHt(t,e){return t.y0-e.y0}function MHt(t){return t.value}function RHt(t){return t.index}function DHt(t){return t.nodes}function OHt(t){return t.links}function PHt(t,e){let r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function BHt({nodes:t}){for(let e of t){let t=e.y0,r=t;for(let r of e.sourceLinks)r.y0=t+r.width/2,t+=r.width;for(let t of e.targetLinks)t.y1=r+t.width/2,r+=t.width}}function FHt(){let t,e,r,n=0,i=0,a=1,o=1,s=24,l=8,c=RHt,h=EHt,u=DHt,d=OHt,p=6;function f(){let t={nodes:u.apply(null,arguments),links:d.apply(null,arguments)};return g(t),m(t),y(t),v(t),k(t),BHt(t),t}function g({nodes:t,links:e}){for(let[e,r]of t.entries())r.index=e,r.sourceLinks=[],r.targetLinks=[];let n=new Map(t.map(((e,r)=>[c(e,r,t),e])));for(let[t,r]of e.entries()){r.index=t;let{source:e,target:i}=r;"object"!=typeof e&&(e=r.source=PHt(n,e)),"object"!=typeof i&&(i=r.target=PHt(n,i)),e.sourceLinks.push(r),i.targetLinks.push(r)}if(null!=r)for(let{sourceLinks:e,targetLinks:n}of t)e.sort(r),n.sort(r)}function m({nodes:t}){for(let e of t)e.value=void 0===e.fixedValue?Math.max(vHt(e.sourceLinks,MHt),vHt(e.targetLinks,MHt)):e.fixedValue}function y({nodes:t}){let e=t.length,r=new Set(t),n=new Set,i=0;for(;r.size;){for(let t of r){t.depth=i;for(let{target:e}of t.sourceLinks)n.add(e)}if(++i>e)throw new Error("circular link");r=n,n=new Set}}function v({nodes:t}){let e=t.length,r=new Set(t),n=new Set,i=0;for(;r.size;){for(let t of r){t.height=i;for(let{source:e}of t.targetLinks)n.add(e)}if(++i>e)throw new Error("circular link");r=n,n=new Set}}function x({nodes:t}){let r=fHt(t,(t=>t.depth))+1,i=(a-n-s)/(r-1),o=new Array(r);for(let e of t){let t=Math.max(0,Math.min(r-1,Math.floor(h.call(null,e,r))));e.layer=t,e.x0=n+t*i,e.x1=e.x0+s,o[t]?o[t].push(e):o[t]=[e]}if(e)for(let t of o)t.sort(e);return o}function b(e){let r=mHt(e,(e=>(o-i-(e.length-1)*t)/vHt(e,MHt)));for(let n of e){let e=i;for(let i of n){i.y0=e,i.y1=e+i.value*r,e=i.y1+t;for(let t of i.sourceLinks)t.width=t.value*r}e=(o-e+t)/(n.length+1);for(let t=0;tt.length))-1)),b(r);for(let t=0;t0))continue;let i=(e/n-t.y0)*r;t.y0+=i,t.y1+=i,A(t)}void 0===e&&a.sort(IHt),_(a,n)}}function E(t,r,n){for(let i=t.length-2;i>=0;--i){let a=t[i];for(let t of a){let e=0,n=0;for(let{target:r,value:i}of t.sourceLinks){let a=i*(r.layer-t.layer);e+=I(t,r)*a,n+=a}if(!(n>0))continue;let i=(e/n-t.y0)*r;t.y0+=i,t.y1+=i,A(t)}void 0===e&&a.sort(IHt),_(a,n)}}function _(e,r){let n=e.length>>1,a=e[n];S(e,a.y0-t,n-1,r),C(e,a.y1+t,n+1,r),S(e,o,e.length-1,r),C(e,i,0,r)}function C(e,r,n,i){for(;n1e-6&&(a.y0+=o,a.y1+=o),r=a.y1+t}}function S(e,r,n,i){for(;n>=0;--n){let a=e[n],o=(a.y1-r)*i;o>1e-6&&(a.y0-=o,a.y1-=o),r=a.y0-t}}function A({sourceLinks:t,targetLinks:e}){if(void 0===r){for(let{source:{sourceLinks:t}}of e)t.sort(NHt);for(let{target:{targetLinks:e}}of t)e.sort(LHt)}}function L(t){if(void 0===r)for(let{sourceLinks:e,targetLinks:r}of t)e.sort(NHt),r.sort(LHt)}function N(e,r){let n=e.y0-(e.sourceLinks.length-1)*t/2;for(let{target:i,width:a}of e.sourceLinks){if(i===r)break;n+=a+t}for(let{source:t,width:i}of r.targetLinks){if(t===e)break;n-=i}return n}function I(e,r){let n=r.y0-(r.targetLinks.length-1)*t/2;for(let{source:i,width:a}of r.targetLinks){if(i===e)break;n+=a+t}for(let{target:t,width:i}of e.sourceLinks){if(t===r)break;n-=i}return n}return w(f,"sankey"),f.update=function(t){return BHt(t),t},f.nodeId=function(t){return arguments.length?(c="function"==typeof t?t:SHt(t),f):c},f.nodeAlign=function(t){return arguments.length?(h="function"==typeof t?t:SHt(t),f):h},f.nodeSort=function(t){return arguments.length?(e=t,f):e},f.nodeWidth=function(t){return arguments.length?(s=+t,f):s},f.nodePadding=function(e){return arguments.length?(l=t=+e,f):l},f.nodes=function(t){return arguments.length?(u="function"==typeof t?t:SHt(t),f):u},f.links=function(t){return arguments.length?(d="function"==typeof t?t:SHt(t),f):d},f.linkSort=function(t){return arguments.length?(r=t,f):r},f.size=function(t){return arguments.length?(n=i=0,a=+t[0],o=+t[1],f):[a-n,o-i]},f.extent=function(t){return arguments.length?(n=+t[0][0],a=+t[1][0],i=+t[0][1],o=+t[1][1],f):[[n,i],[a,o]]},f.iterations=function(t){return arguments.length?(p=+t,f):p},w(g,"computeNodeLinks"),w(m,"computeNodeValues"),w(y,"computeNodeDepths"),w(v,"computeNodeHeights"),w(x,"computeNodeLayers"),w(b,"initializeNodeBreadths"),w(k,"computeNodeBreadths"),w(T,"relaxLeftToRight"),w(E,"relaxRightToLeft"),w(_,"resolveCollisions"),w(C,"resolveCollisionsTopToBottom"),w(S,"resolveCollisionsBottomToTop"),w(A,"reorderNodeLinks"),w(L,"reorderLinks"),w(N,"targetTop"),w(I,"sourceTop"),f}var $Ht=k((()=>{bHt(),CHt(),AHt(),w(LHt,"ascendingSourceBreadth"),w(NHt,"ascendingTargetBreadth"),w(IHt,"ascendingBreadth"),w(MHt,"value"),w(RHt,"defaultId"),w(DHt,"defaultNodes"),w(OHt,"defaultLinks"),w(PHt,"find"),w(BHt,"computeLinkBreadths"),w(FHt,"Sankey")}));function zHt(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function UHt(){return new zHt}var GHt,qHt,YHt,jHt,HHt,WHt=k((()=>{GHt=Math.PI,jHt=(qHt=2*GHt)-(YHt=1e-6),w(zHt,"Path"),w(UHt,"path"),zHt.prototype=UHt.prototype={constructor:zHt,moveTo:w((function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)}),"moveTo"),closePath:w((function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}),"closePath"),lineTo:w((function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)}),"lineTo"),quadraticCurveTo:w((function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)}),"quadraticCurveTo"),bezierCurveTo:w((function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)}),"bezierCurveTo"),arcTo:w((function(t,e,r,n,i){t=+t,e=+e,r=+r,n=+n,i=+i;var a=this._x1,o=this._y1,s=r-t,l=n-e,c=a-t,h=o-e,u=c*c+h*h;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(u>YHt)if(Math.abs(h*s-l*c)>YHt&&i){var d=r-a,p=n-o,f=s*s+l*l,g=d*d+p*p,m=Math.sqrt(f),y=Math.sqrt(u),v=i*Math.tan((GHt-Math.acos((f+u-g)/(2*m*y)))/2),x=v/y,b=v/m;Math.abs(x-1)>YHt&&(this._+="L"+(t+x*c)+","+(e+x*h)),this._+="A"+i+","+i+",0,0,"+ +(h*d>c*p)+","+(this._x1=t+b*s)+","+(this._y1=e+b*l)}else this._+="L"+(this._x1=t)+","+(this._y1=e)}),"arcTo"),arc:w((function(t,e,r,n,i,a){t=+t,e=+e,a=!!a;var o=(r=+r)*Math.cos(n),s=r*Math.sin(n),l=t+o,c=e+s,h=1^a,u=a?n-i:i-n;if(r<0)throw new Error("negative radius: "+r);null===this._x1?this._+="M"+l+","+c:(Math.abs(this._x1-l)>YHt||Math.abs(this._y1-c)>YHt)&&(this._+="L"+l+","+c),r&&(u<0&&(u=u%qHt+qHt),u>jHt?this._+="A"+r+","+r+",0,1,"+h+","+(t-o)+","+(e-s)+"A"+r+","+r+",0,1,"+h+","+(this._x1=l)+","+(this._y1=c):u>YHt&&(this._+="A"+r+","+r+",0,"+ +(u>=GHt)+","+h+","+(this._x1=t+r*Math.cos(i))+","+(this._y1=e+r*Math.sin(i))))}),"arc"),rect:w((function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"}),"rect"),toString:w((function(){return this._}),"toString")},HHt=UHt})),VHt=k((()=>{WHt()}));function XHt(t){return w((function(){return t}),"constant")}var KHt=k((()=>{w(XHt,"default")}));function ZHt(t){return t[0]}function QHt(t){return t[1]}var JHt,tWt=k((()=>{w(ZHt,"x"),w(QHt,"y")})),eWt=k((()=>{JHt=Array.prototype.slice}));function rWt(t){return t.source}function nWt(t){return t.target}function iWt(t){var e=rWt,r=nWt,n=ZHt,i=QHt,a=null;function o(){var o,s=JHt.call(arguments),l=e.apply(this,s),c=r.apply(this,s);if(a||(a=o=HHt()),t(a,+n.apply(this,(s[0]=l,s)),+i.apply(this,s),+n.apply(this,(s[0]=c,s)),+i.apply(this,s)),o)return a=null,o+""||null}return w(o,"link"),o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(r=t,o):r},o.x=function(t){return arguments.length?(n="function"==typeof t?t:XHt(+t),o):n},o.y=function(t){return arguments.length?(i="function"==typeof t?t:XHt(+t),o):i},o.context=function(t){return arguments.length?(a=t??null,o):a},o}function aWt(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function oWt(){return iWt(aWt)}var sWt=k((()=>{VHt(),eWt(),KHt(),tWt(),w(rWt,"linkSource"),w(nWt,"linkTarget"),w(iWt,"link"),w(aWt,"curveHorizontal"),w(oWt,"linkHorizontal")})),lWt=k((()=>{sWt()}));function cWt(t){return[t.source.x1,t.y0]}function hWt(t){return[t.target.x0,t.y1]}function uWt(){return oWt().source(cWt).target(hWt)}var dWt,pWt,fWt,gWt,mWt,yWt=k((()=>{lWt(),w(cWt,"horizontalSource"),w(hWt,"horizontalTarget"),w(uWt,"default")})),vWt=k((()=>{$Ht(),CHt(),yWt()})),xWt=k((()=>{dWt=class t{static{w(this,"Uid")}static{this.count=0}static next(e){return new t(e+ ++t.count)}constructor(t){this.id=t,this.href=`#${t}`}toString(){return"url("+this.href+")"}}})),bWt=k((()=>{Qh(),jC(),vWt(),Pc(),xWt(),pWt={left:kHt,right:THt,center:_Ht,justify:EHt},fWt=w((function(t,e,r,n){let i,{securityLevel:a,sankey:o}=Qc(),s=th.sankey;"sandbox"===a&&(i=Qf("#i"+e));let l=Qf("sandbox"===a?i.nodes()[0].contentDocument.body:"body"),c="sandbox"===a?l.select(`[id="${e}"]`):Qf(`[id="${e}"]`),h=o?.width??s.width,u=o?.height??s.width,d=o?.useMaxWidth??s.useMaxWidth,p=o?.nodeAlignment??s.nodeAlignment,f=o?.prefix??s.prefix,g=o?.suffix??s.suffix,m=o?.showValues??s.showValues,y=n.db.getGraph(),v=pWt[p];FHt().nodeId((t=>t.id)).nodeWidth(10).nodePadding(10+(m?15:0)).nodeAlign(v).extent([[0,0],[h,u]])(y);let x=nw(nE);c.append("g").attr("class","nodes").selectAll(".node").data(y.nodes).join("g").attr("class","node").attr("id",(t=>(t.uid=dWt.next("node-")).id)).attr("transform",(function(t){return"translate("+t.x0+","+t.y0+")"})).attr("x",(t=>t.x0)).attr("y",(t=>t.y0)).append("rect").attr("height",(t=>t.y1-t.y0)).attr("width",(t=>t.x1-t.x0)).attr("fill",(t=>x(t.id)));let b=w((({id:t,value:e})=>m?`${t}\n${f}${Math.round(100*e)/100}${g}`:t),"getText");c.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(y.nodes).join("text").attr("x",(t=>t.x0(t.y1+t.y0)/2)).attr("dy",(m?"0":"0.35")+"em").attr("text-anchor",(t=>t.x0(t.uid=dWt.next("linearGradient-")).id)).attr("gradientUnits","userSpaceOnUse").attr("x1",(t=>t.source.x1)).attr("x2",(t=>t.target.x0));t.append("stop").attr("offset","0%").attr("stop-color",(t=>x(t.source.id))),t.append("stop").attr("offset","100%").attr("stop-color",(t=>x(t.target.id)))}switch(E){case"gradient":k=w((t=>t.uid),"coloring");break;case"source":k=w((t=>x(t.source.id)),"coloring");break;case"target":k=w((t=>x(t.target.id)),"coloring");break;default:k=E}T.append("path").attr("d",uWt()).attr("stroke",k).attr("stroke-width",(t=>Math.max(1,t.width))),Nc(void 0,c,0,d)}),"draw"),gWt={draw:fWt}})),wWt=k((()=>{mWt=w((t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,"\n").trim()),"prepareTextForParsing")})),kWt={};E(kWt,{diagram:()=>EWt});var TWt,EWt,_Wt,CWt,SWt,AWt,LWt,NWt,IWt,MWt,RWt,DWt,OWt,PWt,BWt,FWt,$Wt,zWt,UWt=k((()=>{dHt(),pHt(),bWt(),wWt(),TWt=Qjt.parse.bind(Qjt),Qjt.parse=t=>TWt(mWt(t)),EWt={parser:Qjt,db:hHt,renderer:gWt}})),GWt=k((()=>{rn(),tn(),mD(),Zh(),_Wt={packet:[]},CWt=structuredClone(_Wt),SWt=Ye.packet,AWt=w((()=>{let t=zR({...SWt,...ir().packet});return t.showBits&&(t.paddingY+=10),t}),"getConfig"),LWt=w((()=>CWt.packet),"getPacket"),NWt=w((t=>{t.length>0&&CWt.packet.push(t)}),"pushWord"),IWt=w((()=>{qc(),CWt=structuredClone(_Wt)}),"clear"),MWt={pushWord:NWt,getPacket:LWt,getConfig:AWt,clear:IWt,setAccTitle:Yc,getAccTitle:jc,setDiagramTitle:Vc,getDiagramTitle:Xc,getAccDescription:Wc,setAccDescription:Hc}})),qWt=k((()=>{Fft(),L(),Gft(),GWt(),RWt=w((t=>{$ft(t,MWt);let e=-1,n=[],i=1,{bitsPerRow:a}=MWt.getConfig();for(let{start:o,end:s,label:l}of t.blocks){if(s&&s{if(void 0===t.end&&(t.end=t.start),t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);return t.end+1<=e*r?[t,void 0]:[{start:t.start,end:e*r-1,label:t.label},{start:e*r,end:t.end,label:t.label}]}),"getNextFittingBlock"),OWt={parse:w((async t=>{let e=await Dft("packet",t);r.debug(e),RWt(e)}),"parse")}})),YWt=k((()=>{pvt(),Pc(),PWt=w(((t,e,r,n)=>{let i=n.db,a=i.getConfig(),{rowHeight:o,paddingY:s,bitWidth:l,bitsPerRow:c}=a,h=i.getPacket(),u=i.getDiagramTitle(),d=o+s,p=d*(h.length+1)-(u?0:o),f=l*c+2,g=ovt(e);g.attr("viewbox",`0 0 ${f} ${p}`),Lc(g,p,f,a.useMaxWidth);for(let[t,e]of h.entries())BWt(g,e,t,a);g.append("text").text(u).attr("x",f/2).attr("y",p-d/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")}),"draw"),BWt=w(((t,e,r,{rowHeight:n,paddingX:i,paddingY:a,bitWidth:o,bitsPerRow:s,showBits:l})=>{let c=t.append("g"),h=r*(n+a)+a;for(let t of e){let e=t.start%s*o+1,r=(t.end-t.start+1)*o-i;if(c.append("rect").attr("x",e).attr("y",h).attr("width",r).attr("height",n).attr("class","packetBlock"),c.append("text").attr("x",e+r/2).attr("y",h+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(t.label),!l)continue;let a=t.end===t.start,u=h-2;c.append("text").attr("x",e+(a?r/2:0)).attr("y",u).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",a?"middle":"start").text(t.start),a||c.append("text").attr("x",e+r).attr("y",u).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(t.end)}}),"drawWord"),FWt={draw:PWt}})),jWt=k((()=>{mD(),$Wt={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},zWt=w((({packet:t}={})=>{let e=zR($Wt,t);return`\n\t.packetByte {\n\t\tfont-size: ${e.byteFontSize};\n\t}\n\t.packetByte.start {\n\t\tfill: ${e.startByteColor};\n\t}\n\t.packetByte.end {\n\t\tfill: ${e.endByteColor};\n\t}\n\t.packetLabel {\n\t\tfill: ${e.labelColor};\n\t\tfont-size: ${e.labelFontSize};\n\t}\n\t.packetTitle {\n\t\tfill: ${e.titleColor};\n\t\tfont-size: ${e.titleFontSize};\n\t}\n\t.packetBlock {\n\t\tstroke: ${e.blockStrokeColor};\n\t\tstroke-width: ${e.blockStrokeWidth};\n\t\tfill: ${e.blockFillColor};\n\t}\n\t`}),"styles")})),HWt={};E(HWt,{diagram:()=>WWt});var WWt,VWt,XWt,KWt=k((()=>{GWt(),qWt(),YWt(),jWt(),WWt={parser:OWt,db:MWt,renderer:FWt,styles:zWt}})),ZWt=k((()=>{(VWt=function(){var t=w((function(t,e,r,n){for(r=r||{},n=t.length;n--;r[t[n]]=e);return r}),"o"),e=[1,7],r=[1,13],n=[1,14],i=[1,15],a=[1,19],o=[1,16],s=[1,17],l=[1,18],c=[8,30],h=[8,21,28,29,30,31,32,40,44,47],u=[1,23],d=[1,24],p=[8,15,16,21,28,29,30,31,32,40,44,47],f=[8,15,16,21,27,28,29,30,31,32,40,44,47],g=[1,49],m={trace:w((function(){}),"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:w((function(t,e,r,n,i,a,o){var s=a.length-1;switch(i){case 4:n.getLogger().debug("Rule: separator (NL) ");break;case 5:n.getLogger().debug("Rule: separator (Space) ");break;case 6:n.getLogger().debug("Rule: separator (EOF) ");break;case 7:n.getLogger().debug("Rule: hierarchy: ",a[s-1]),n.setHierarchy(a[s-1]);break;case 8:n.getLogger().debug("Stop NL ");break;case 9:n.getLogger().debug("Stop EOF ");break;case 10:n.getLogger().debug("Stop NL2 ");break;case 11:n.getLogger().debug("Stop EOF2 ");break;case 12:n.getLogger().debug("Rule: statement: ",a[s]),"number"==typeof a[s].length?this.$=a[s]:this.$=[a[s]];break;case 13:n.getLogger().debug("Rule: statement #2: ",a[s-1]),this.$=[a[s-1]].concat(a[s]);break;case 14:n.getLogger().debug("Rule: link: ",a[s],t),this.$={edgeTypeStr:a[s],label:""};break;case 15:n.getLogger().debug("Rule: LABEL link: ",a[s-3],a[s-1],a[s]),this.$={edgeTypeStr:a[s],label:a[s-1]};break;case 18:let e=parseInt(a[s]),r=n.generateId();this.$={id:r,type:"space",label:"",width:e,children:[]};break;case 23:n.getLogger().debug("Rule: (nodeStatement link node) ",a[s-2],a[s-1],a[s]," typestr: ",a[s-1].edgeTypeStr);let i=n.edgeStrToEdgeData(a[s-1].edgeTypeStr);this.$=[{id:a[s-2].id,label:a[s-2].label,type:a[s-2].type,directions:a[s-2].directions},{id:a[s-2].id+"-"+a[s].id,start:a[s-2].id,end:a[s].id,label:a[s-1].label,type:"edge",directions:a[s].directions,arrowTypeEnd:i,arrowTypeStart:"arrow_open"},{id:a[s].id,label:a[s].label,type:n.typeStr2Type(a[s].typeStr),directions:a[s].directions}];break;case 24:n.getLogger().debug("Rule: nodeStatement (abc88 node size) ",a[s-1],a[s]),this.$={id:a[s-1].id,label:a[s-1].label,type:n.typeStr2Type(a[s-1].typeStr),directions:a[s-1].directions,widthInColumns:parseInt(a[s],10)};break;case 25:n.getLogger().debug("Rule: nodeStatement (node) ",a[s]),this.$={id:a[s].id,label:a[s].label,type:n.typeStr2Type(a[s].typeStr),directions:a[s].directions,widthInColumns:1};break;case 26:n.getLogger().debug("APA123",this?this:"na"),n.getLogger().debug("COLUMNS: ",a[s]),this.$={type:"column-setting",columns:"auto"===a[s]?-1:parseInt(a[s])};break;case 27:n.getLogger().debug("Rule: id-block statement : ",a[s-2],a[s-1]),n.generateId(),this.$={...a[s-2],type:"composite",children:a[s-1]};break;case 28:n.getLogger().debug("Rule: blockStatement : ",a[s-2],a[s-1],a[s]);let o=n.generateId();this.$={id:o,type:"composite",label:"",children:a[s-1]};break;case 29:n.getLogger().debug("Rule: node (NODE_ID separator): ",a[s]),this.$={id:a[s]};break;case 30:n.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",a[s-1],a[s]),this.$={id:a[s-1],label:a[s].label,typeStr:a[s].typeStr,directions:a[s].directions};break;case 31:n.getLogger().debug("Rule: dirList: ",a[s]),this.$=[a[s]];break;case 32:n.getLogger().debug("Rule: dirList: ",a[s-1],a[s]),this.$=[a[s-1]].concat(a[s]);break;case 33:n.getLogger().debug("Rule: nodeShapeNLabel: ",a[s-2],a[s-1],a[s]),this.$={typeStr:a[s-2]+a[s],label:a[s-1]};break;case 34:n.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",a[s-3],a[s-2]," #3:",a[s-1],a[s]),this.$={typeStr:a[s-3]+a[s],label:a[s-2],directions:a[s-1]};break;case 35:case 36:this.$={type:"classDef",id:a[s-1].trim(),css:a[s].trim()};break;case 37:this.$={type:"applyClass",id:a[s-1].trim(),styleClass:a[s].trim()};break;case 38:this.$={type:"applyStyles",id:a[s-1].trim(),stylesStr:a[s].trim()}}}),"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:r,29:n,31:i,32:a,40:o,44:s,47:l},{8:[1,20]},t(c,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:e,28:r,29:n,31:i,32:a,40:o,44:s,47:l}),t(h,[2,16],{14:22,15:u,16:d}),t(h,[2,17]),t(h,[2,18]),t(h,[2,19]),t(h,[2,20]),t(h,[2,21]),t(h,[2,22]),t(p,[2,25],{27:[1,25]}),t(h,[2,26]),{19:26,26:12,32:a},{11:27,13:4,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:r,29:n,31:i,32:a,40:o,44:s,47:l},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},t(f,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},t(c,[2,13]),{26:35,32:a},{32:[2,14]},{17:[1,36]},t(p,[2,24]),{11:37,13:4,14:22,15:u,16:d,19:5,20:6,21:e,22:8,23:9,24:10,25:11,26:12,28:r,29:n,31:i,32:a,40:o,44:s,47:l},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},t(f,[2,30]),{18:[1,43]},{18:[1,44]},t(p,[2,23]),{18:[1,45]},{30:[1,46]},t(h,[2,28]),t(h,[2,35]),t(h,[2,36]),t(h,[2,37]),t(h,[2,38]),{37:[1,47]},{34:48,35:g},{15:[1,50]},t(h,[2,27]),t(f,[2,33]),{39:[1,51]},{34:52,35:g,39:[2,31]},{32:[2,15]},t(f,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:w((function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)}),"parseError"),parse:w((function(t){var e=this,r=[0],n=[],i=[null],a=[],o=this.table,s="",l=0,c=0,h=0,u=a.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(p.yy[f]=this.yy[f]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,typeof d.yylloc>"u"&&(d.yylloc={});var g=d.yylloc;a.push(g);var m=d.options&&d.options.ranges;function y(){var t;return"number"!=typeof(t=n.pop()||d.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,w((function(t){r.length=r.length-2*t,i.length=i.length-t,a.length=a.length-t}),"popStack"),w(y,"lex");for(var v,x,b,k,T,E,_,C,S,A={};;){if(b=r[r.length-1],this.defaultActions[b]?k=this.defaultActions[b]:((null===v||typeof v>"u")&&(v=y()),k=o[b]&&o[b][v]),typeof k>"u"||!k.length||!k[0]){var L;for(E in S=[],o[b])this.terminals_[E]&&E>2&&S.push("'"+this.terminals_[E]+"'");L=d.showPosition?"Parse error on line "+(l+1)+":\n"+d.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==v?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(L,{text:d.match,token:this.terminals_[v]||v,line:d.yylineno,loc:g,expected:S})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+v);switch(k[0]){case 1:r.push(v),i.push(d.yytext),a.push(d.yylloc),r.push(k[1]),v=null,x?(v=x,x=null):(c=d.yyleng,s=d.yytext,l=d.yylineno,g=d.yylloc,h>0&&h--);break;case 2:if(_=this.productions_[k[1]][1],A.$=i[i.length-_],A._$={first_line:a[a.length-(_||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(_||1)].first_column,last_column:a[a.length-1].last_column},m&&(A._$.range=[a[a.length-(_||1)].range[0],a[a.length-1].range[1]]),typeof(T=this.performAction.apply(A,[s,c,l,p.yy,k[1],i,a].concat(u)))<"u")return T;_&&(r=r.slice(0,-1*_*2),i=i.slice(0,-1*_),a=a.slice(0,-1*_)),r.push(this.productions_[k[1]][0]),i.push(A.$),a.push(A._$),C=o[r[r.length-2]][r[r.length-1]],r.push(C);break;case 3:return!0}}return!0}),"parse")},y={EOF:1,parseError:w((function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)}),"parseError"),setInput:w((function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this}),"setInput"),input:w((function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t}),"input"),unput:w((function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this}),"unput"),more:w((function(){return this._more=!0,this}),"more"),reject:w((function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"reject"),less:w((function(t){this.unput(this.match.slice(t))}),"less"),pastInput:w((function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")}),"pastInput"),upcomingInput:w((function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")}),"upcomingInput"),showPosition:w((function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"}),"showPosition"),test_match:w((function(t,e){var r,n,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1}),"test_match"),next:w((function(){if(this.done)return this.EOF;var t,e,r,n;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),a=0;ae[0].length)){if(e=r,n=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,i[a])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})}),"next"),lex:w((function(){return this.next()||this.lex()}),"lex"),begin:w((function(t){this.conditionStack.push(t)}),"begin"),popState:w((function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]}),"popState"),_currentRules:w((function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules}),"_currentRules"),topState:w((function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"}),"topState"),pushState:w((function(t){this.begin(t)}),"pushState"),stateStackSize:w((function(){return this.conditionStack.length}),"stateStackSize"),options:{},performAction:w((function(t,e,r,n){switch(r){case 0:return 10;case 1:return t.getLogger().debug("Found space-block"),31;case 2:return t.getLogger().debug("Found nl-block"),31;case 3:return t.getLogger().debug("Found space-block"),29;case 4:t.getLogger().debug(".",e.yytext);break;case 5:t.getLogger().debug("_",e.yytext);break;case 6:return 5;case 7:return e.yytext=-1,28;case 8:return e.yytext=e.yytext.replace(/columns\s+/,""),t.getLogger().debug("COLUMNS (LEX)",e.yytext),28;case 9:case 77:case 78:case 100:this.pushState("md_string");break;case 10:return"MD_STR";case 11:case 35:case 80:this.popState();break;case 12:this.pushState("string");break;case 13:t.getLogger().debug("LEX: POPPING STR:",e.yytext),this.popState();break;case 14:return t.getLogger().debug("LEX: STR end:",e.yytext),"STR";case 15:return e.yytext=e.yytext.replace(/space\:/,""),t.getLogger().debug("SPACE NUM (LEX)",e.yytext),21;case 16:return e.yytext="1",t.getLogger().debug("COLUMNS (LEX)",e.yytext),21;case 17:return 43;case 18:return"LINKSTYLE";case 19:return"INTERPOLATE";case 20:return this.pushState("CLASSDEF"),40;case 21:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 22:return this.popState(),this.pushState("CLASSDEFID"),41;case 23:return this.popState(),42;case 24:return this.pushState("CLASS"),44;case 25:return this.popState(),this.pushState("CLASS_STYLE"),45;case 26:return this.popState(),46;case 27:return this.pushState("STYLE_STMNT"),47;case 28:return this.popState(),this.pushState("STYLE_DEFINITION"),48;case 29:return this.popState(),49;case 30:return this.pushState("acc_title"),"acc_title";case 31:return this.popState(),"acc_title_value";case 32:return this.pushState("acc_descr"),"acc_descr";case 33:return this.popState(),"acc_descr_value";case 34:this.pushState("acc_descr_multiline");break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:case 39:case 41:case 42:case 45:return this.popState(),t.getLogger().debug("Lex: (("),"NODE_DEND";case 40:return this.popState(),t.getLogger().debug("Lex: ))"),"NODE_DEND";case 43:return this.popState(),t.getLogger().debug("Lex: (-"),"NODE_DEND";case 44:return this.popState(),t.getLogger().debug("Lex: -)"),"NODE_DEND";case 46:return this.popState(),t.getLogger().debug("Lex: ]]"),"NODE_DEND";case 47:return this.popState(),t.getLogger().debug("Lex: ("),"NODE_DEND";case 48:return this.popState(),t.getLogger().debug("Lex: ])"),"NODE_DEND";case 49:case 50:return this.popState(),t.getLogger().debug("Lex: /]"),"NODE_DEND";case 51:return this.popState(),t.getLogger().debug("Lex: )]"),"NODE_DEND";case 52:return this.popState(),t.getLogger().debug("Lex: )"),"NODE_DEND";case 53:return this.popState(),t.getLogger().debug("Lex: ]>"),"NODE_DEND";case 54:return this.popState(),t.getLogger().debug("Lex: ]"),"NODE_DEND";case 55:return t.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;case 56:return t.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;case 57:return t.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;case 58:case 60:case 61:case 62:case 65:return t.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 59:return t.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;case 63:return t.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;case 64:return t.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;case 66:case 67:case 68:case 69:case 70:case 71:case 72:return this.pushState("NODE"),36;case 73:return t.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;case 74:return this.pushState("BLOCK_ARROW"),t.getLogger().debug("LEX ARR START"),38;case 75:return t.getLogger().debug("Lex: NODE_ID",e.yytext),32;case 76:return t.getLogger().debug("Lex: EOF",e.yytext),8;case 79:return"NODE_DESCR";case 81:t.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:t.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 83:return t.getLogger().debug("LEX: NODE_DESCR:",e.yytext),"NODE_DESCR";case 84:t.getLogger().debug("LEX POPPING"),this.popState();break;case 85:t.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 86:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (right): dir:",e.yytext),"DIR";case 87:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (left):",e.yytext),"DIR";case 88:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (x):",e.yytext),"DIR";case 89:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (y):",e.yytext),"DIR";case 90:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (up):",e.yytext),"DIR";case 91:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (down):",e.yytext),"DIR";case 92:return e.yytext="]>",t.getLogger().debug("Lex (ARROW_DIR end):",e.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 93:return t.getLogger().debug("Lex: LINK","#"+e.yytext+"#"),15;case 94:case 95:case 96:return t.getLogger().debug("Lex: LINK",e.yytext),15;case 97:case 98:case 99:return t.getLogger().debug("Lex: START_LINK",e.yytext),this.pushState("LLABEL"),16;case 101:return t.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 102:return this.popState(),t.getLogger().debug("Lex: LINK","#"+e.yytext+"#"),15;case 103:case 104:return this.popState(),t.getLogger().debug("Lex: LINK",e.yytext),15;case 105:return t.getLogger().debug("Lex: COLON",e.yytext),e.yytext=e.yytext.slice(1),27}}),"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block\s+)/,/^(?:block\n+)/,/^(?:block:)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[29],inclusive:!1},STYLE_STMNT:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[23],inclusive:!1},CLASSDEF:{rules:[21,22],inclusive:!1},CLASS_STYLE:{rules:[26],inclusive:!1},CLASS:{rules:[25],inclusive:!1},LLABEL:{rules:[100,101,102,103,104],inclusive:!1},ARROW_DIR:{rules:[86,87,88,89,90,91,92],inclusive:!1},BLOCK_ARROW:{rules:[77,82,85],inclusive:!1},NODE:{rules:[38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,78,81],inclusive:!1},md_string:{rules:[10,11,79,80],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[13,14,83,84],inclusive:!1},acc_descr_multiline:{rules:[35,36],inclusive:!1},acc_descr:{rules:[33],inclusive:!1},acc_title:{rules:[31],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,12,15,16,17,18,19,20,24,27,30,32,34,37,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,93,94,95,96,97,98,99,105],inclusive:!0}}};function v(){this.yy={}}return m.lexer=y,w(v,"Parser"),v.prototype=m,m.Parser=v,new v}()).parser=VWt,XWt=VWt}));function QWt(t){switch(r.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return r.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}function JWt(t){return"=="===(r.debug("typeStr2Type",t),t)?"thick":"normal"}function tVt(t){switch(t.trim()){case"--x":return"arrow_cross";case"--o":return"arrow_circle";default:return"arrow_point"}}var eVt,rVt,nVt,iVt,aVt,oVt,sVt,lVt,cVt,hVt,uVt,dVt,pVt,fVt,gVt,mVt,yVt,vVt,xVt,bVt,wVt,kVt,TVt,EVt,_Vt,CVt,SVt,AVt,LVt,NVt,IVt,MVt=k((()=>{YW(),rn(),Qh(),L(),Oc(),Zh(),eVt=new Map,rVt=[],nVt=new Map,iVt="color",aVt="fill",oVt=Qc(),sVt=new Map,lVt=w((t=>Cc.sanitizeText(t,oVt)),"sanitizeText"),cVt=w((function(t,e=""){let r=sVt.get(t);r||(r={id:t,styles:[],textStyles:[]},sVt.set(t,r)),e?.split(",").forEach((t=>{let e=t.replace(/([^;]*);/,"$1").trim();if(RegExp(iVt).exec(t)){let t=e.replace(aVt,"bgFill").replace(iVt,aVt);r.textStyles.push(t)}r.styles.push(e)}))}),"addStyleClass"),hVt=w((function(t,e=""){let r=eVt.get(t);null!=e&&(r.styles=e.split(","))}),"addStyle2Node"),uVt=w((function(t,e){t.split(",").forEach((function(t){let r=eVt.get(t);if(void 0===r){let e=t.trim();r={id:e,type:"na",children:[]},eVt.set(e,r)}r.classes||(r.classes=[]),r.classes.push(e)}))}),"setCssClass"),dVt=w(((t,e)=>{let r=t.flat(),n=[];for(let t of r)if(t.label&&(t.label=lVt(t.label)),"classDef"!==t.type)if("applyClass"!==t.type)if("applyStyles"!==t.type)if("column-setting"===t.type)e.columns=t.columns??-1;else if("edge"===t.type){let e=(nVt.get(t.id)??0)+1;nVt.set(t.id,e),t.id=e+"-"+t.id,rVt.push(t)}else{t.label||("composite"===t.type?t.label="":t.label=t.id);let e=eVt.get(t.id);if(void 0===e?eVt.set(t.id,t):("na"!==t.type&&(e.type=t.type),t.label!==t.id&&(e.label=t.label)),t.children&&dVt(t.children,t),"space"===t.type){let e=t.width??1;for(let r=0;r{r.debug("Clear called"),qc(),fVt={id:"root",type:"composite",children:[],columns:-1},eVt=new Map([["root",fVt]]),pVt=[],sVt=new Map,rVt=[],nVt=new Map}),"clear"),w(QWt,"typeStr2Type"),w(JWt,"edgeTypeStr2Type"),w(tVt,"edgeStrToEdgeData"),mVt=0,yVt=w((()=>(mVt++,"id-"+Math.random().toString(36).substr(2,12)+"-"+mVt)),"generateId"),vVt=w((t=>{fVt.children=t,dVt(t,fVt),pVt=fVt.children}),"setHierarchy"),xVt=w((t=>{let e=eVt.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1}),"getColumns"),bVt=w((()=>[...eVt.values()]),"getBlocksFlat"),wVt=w((()=>pVt||[]),"getBlocks"),kVt=w((()=>rVt),"getEdges"),TVt=w((t=>eVt.get(t)),"getBlock"),EVt=w((t=>{eVt.set(t.id,t)}),"setBlock"),_Vt=w((()=>console),"getLogger"),CVt=w((function(){return sVt}),"getClasses"),SVt={getConfig:w((()=>ir().block),"getConfig"),typeStr2Type:QWt,edgeTypeStr2Type:JWt,edgeStrToEdgeData:tVt,getLogger:_Vt,getBlocksFlat:bVt,getBlocks:wVt,getEdges:kVt,setHierarchy:vVt,getBlock:TVt,setBlock:EVt,getColumns:xVt,getClasses:CVt,clear:gVt,generateId:yVt},AVt=SVt})),RVt=k((()=>{Yr(),LVt=w(((t,e)=>{let r=se,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return ae(n,i,a,e)}),"fade"),NVt=w((t=>`.label {\n font-family: ${t.fontFamily};\n color: ${t.nodeTextColor||t.textColor};\n }\n .cluster-label text {\n fill: ${t.titleColor};\n }\n .cluster-label span,p {\n color: ${t.titleColor};\n }\n\n\n\n .label text,span,p {\n fill: ${t.nodeTextColor||t.textColor};\n color: ${t.nodeTextColor||t.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n .flowchart-label text {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\n // }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${t.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${t.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${t.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${t.edgeLabelBackground};\n rect {\n opacity: 0.5;\n background-color: ${t.edgeLabelBackground};\n fill: ${t.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${LVt(t.edgeLabelBackground,.5)};\n // background-color:\n }\n\n .node .cluster {\n // fill: ${LVt(t.mainBkg,.5)};\n fill: ${LVt(t.clusterBkg,.5)};\n stroke: ${LVt(t.clusterBorder,.2)};\n box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${t.titleColor};\n }\n\n .cluster span,p {\n color: ${t.titleColor};\n }\n /* .cluster div {\n color: ${t.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${t.fontFamily};\n font-size: 12px;\n background: ${t.tertiaryColor};\n border: 1px solid ${t.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n }\n`),"getStyles"),IVt=NVt}));function DVt(t,e){if(0===t||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);return t<0?{px:e,py:0}:1===t?{px:0,py:e}:{px:e%t,py:Math.floor(e/t)}}function OVt(t,e,n=0,i=0){r.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"sieblingWidth",n),t?.size?.width||(t.size={width:n,height:i,x:0,y:0});let a=0,o=0;if(t.children?.length>0){for(let r of t.children)OVt(r,e);let s=zVt(t);a=s.width,o=s.height,r.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",a,o);for(let e of t.children)e.size&&(r.debug(`abc95 Setting size of children of ${t.id} id=${e.id} ${a} ${o} ${JSON.stringify(e.size)}`),e.size.width=a*(e.widthInColumns??1)+$Vt*((e.widthInColumns??1)-1),e.size.height=o,e.size.x=0,e.size.y=0,r.debug(`abc95 updating size of ${t.id} children child:${e.id} maxWidth:${a} maxHeight:${o}`));for(let r of t.children)OVt(r,e,a,o);let l=t.columns??-1,c=0;for(let e of t.children)c+=e.widthInColumns??1;let h=t.children.length;l>0&&l0?Math.min(t.children.length,l):t.children.length;if(e>0){let n=(d-e*$Vt-$Vt)/e;r.debug("abc95 (growing to fit) width",t.id,d,t.size?.width,n);for(let e of t.children)e.size&&(e.size.width=n)}}t.size={width:d,height:p,x:0,y:0}}r.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}function PVt(t,e){r.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);let n=t.columns??-1;if(r.debug("layoutBlocks columns abc95",t.id,"=>",n,t),t.children&&t.children.length>0){let i=t?.children[0]?.size?.width??0,a=t.children.length*i+(t.children.length-1)*$Vt;r.debug("widthOfChildren 88",a,"posX");let o=0;r.debug("abc91 block?.size?.x",t.id,t?.size?.x);let s=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-$Vt,l=0;for(let i of t.children){let a=t;if(!i.size)continue;let{width:c,height:h}=i.size,{px:u,py:d}=DVt(n,o);if(d!=l&&(l=d,s=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-$Vt,r.debug("New row in layout for block",t.id," and child ",i.id,l)),r.debug(`abc89 layout blocks (child) id: ${i.id} Pos: ${o} (px, py) ${u},${d} (${a?.size?.x},${a?.size?.y}) parent: ${a.id} width: ${c}${$Vt}`),a.size){let t=c/2;i.size.x=s+$Vt+t,r.debug(`abc91 layout blocks (calc) px, pyid:${i.id} startingPos=X${s} new startingPosX${i.size.x} ${t} padding=${$Vt} width=${c} halfWidth=${t} => x:${i.size.x} y:${i.size.y} ${i.widthInColumns} (width * (child?.w || 1)) / 2 ${c*(i?.widthInColumns??1)/2}`),s=i.size.x+t,i.size.y=a.size.y-a.size.height/2+d*(h+$Vt)+h/2+$Vt,r.debug(`abc88 layout blocks (calc) px, pyid:${i.id}startingPosX${s}${$Vt}${t}=>x:${i.size.x}y:${i.size.y}${i.widthInColumns}(width * (child?.w || 1)) / 2${c*(i?.widthInColumns??1)/2}`)}i.children&&PVt(i,e),o+=i?.widthInColumns??1,r.debug("abc88 columnsPos",i,o)}}r.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}function BVt(t,{minX:e,minY:r,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&"root"!==t.id){let{x:a,y:o,width:s,height:l}=t.size;a-s/2n&&(n=a+s/2),o+l/2>i&&(i=o+l/2)}if(t.children)for(let a of t.children)({minX:e,minY:r,maxX:n,maxY:i}=BVt(a,{minX:e,minY:r,maxX:n,maxY:i}));return{minX:e,minY:r,maxX:n,maxY:i}}function FVt(t){let e=t.getBlock("root");if(!e)return;OVt(e,t,0,0),PVt(e,t),r.debug("getBlocks",JSON.stringify(e,null,2));let{minX:n,minY:i,maxX:a,maxY:o}=BVt(e);return{x:n,y:i,width:a-n,height:o-i}}var $Vt,zVt,UVt=k((()=>{L(),Qh(),$Vt=Qc()?.block?.padding??8,w(DVt,"calculateBlockPosition"),zVt=w((t=>{let e=0,n=0;for(let i of t.children){let{width:a,height:o,x:s,y:l}=i.size??{width:0,height:0,x:0,y:0};r.debug("getMaxChildSize abc95 child:",i.id,"width:",a,"height:",o,"x:",s,"y:",l,i.type),"space"!==i.type&&(a>e&&(e=a/(t.widthInColumns??1)),o>n&&(n=o))}return{width:e,height:n}}),"getMaxChildSize"),w(OVt,"setBlockSizes"),w(PVt,"layoutBlocks"),w(BVt,"findBounds"),w(FVt,"layout")}));function GVt(t,e,r=!1){let n=t,i="default";(n?.classes?.length||0)>0&&(i=(n?.classes??[]).join(" ")),i+=" flowchart-label";let a,o=0,s="";switch(n.type){case"round":o=5,s="rect";break;case"composite":o=0,s="composite",a=0;break;case"square":case"group":default:s="rect";break;case"diamond":s="question";break;case"hexagon":s="hexagon";break;case"block_arrow":s="block_arrow";break;case"odd":case"rect_left_inv_arrow":s="rect_left_inv_arrow";break;case"lean_right":s="lean_right";break;case"lean_left":s="lean_left";break;case"trapezoid":s="trapezoid";break;case"inv_trapezoid":s="inv_trapezoid";break;case"circle":s="circle";break;case"ellipse":s="ellipse";break;case"stadium":s="stadium";break;case"subroutine":s="subroutine";break;case"cylinder":s="cylinder";break;case"doublecircle":s="doublecircle"}let l=OR(n?.styles??[]),c=n.label,h=n.size??{width:0,height:0,x:0,y:0};return{labelStyle:l.labelStyle,shape:s,labelText:c,rx:o,ry:o,class:i,style:l.style,id:n.id,directions:n.directions,width:h.width,height:h.height,x:h.x,y:h.y,positioned:r,intersect:void 0,type:n.type,padding:a??ir()?.block?.padding??0}}async function qVt(t,e,r){let n=GVt(e,0,!1);if("group"===n.type)return;let i=await KF(t,n),a=i.node().getBBox(),o=r.getBlock(n.id);o.size={width:a.width,height:a.height,x:0,y:0,node:i},r.setBlock(o),i.remove()}async function YVt(t,e,r){let n=GVt(e,0,!0);"space"!==r.getBlock(n.id).type&&(await KF(t,n),e.intersect=n?.intersect,JF(n))}async function jVt(t,e,r,n){for(let i of e)await n(t,i,r),i.children&&await jVt(t,i.children,r,n)}async function HVt(t,e,r){await jVt(t,e,r,qVt)}async function WVt(t,e,r){await jVt(t,e,r,YVt)}async function VVt(t,e,r,n,i){let a=new g1({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(let t of r)t.size&&a.setNode(t.id,{width:t.size.width,height:t.size.height,intersect:t.intersect});for(let r of e)if(r.start&&r.end){let e=n.getBlock(r.start),o=n.getBlock(r.end);if(e?.size&&o?.size){let n=e.size,s=o.size,l=[{x:n.x,y:n.y},{x:n.x+(s.x-n.x)/2,y:n.y+(s.y-n.y)/2},{x:s.x,y:s.y}];X_t(t,{v:r.start,w:r.end,name:r.id},{...r,arrowTypeEnd:r.arrowTypeEnd,arrowTypeStart:r.arrowTypeStart,points:l,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),r.label&&(await Y_t(t,{...r,label:r.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:r.arrowTypeEnd,arrowTypeStart:r.arrowTypeStart,points:l,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),j_t({...r,x:l[1].x,y:l[1].y},{originalPath:l}))}}}var XVt,KVt,ZVt,QVt=k((()=>{y1(),rn(),Q_t(),r$(),mD(),w(GVt,"getNodeFromBlock"),w(qVt,"calculateBlockSize"),w(YVt,"insertBlockPositioned"),w(jVt,"performOperations"),w(HVt,"calculateBlockSizes"),w(WVt,"insertBlocks"),w(VVt,"insertEdges")})),JVt=k((()=>{jC(),rn(),P_t(),L(),Pc(),UVt(),QVt(),XVt=w((function(t,e){return e.db.getClasses()}),"getClasses"),KVt=w((async function(t,e,n,i){let a,{securityLevel:o,block:s}=ir(),l=i.db;"sandbox"===o&&(a=Qf("#i"+e));let c=Qf("sandbox"===o?a.nodes()[0].contentDocument.body:"body"),h="sandbox"===o?c.select(`[id="${e}"]`):Qf(`[id="${e}"]`);c_t(h,["point","circle","cross"],i.type,e);let u=l.getBlocks(),d=l.getBlocksFlat(),p=l.getEdges(),f=h.insert("g").attr("class","block");await HVt(f,u,l);let g=FVt(l);if(await WVt(f,u,l),await VVt(f,p,d,l,e),g){let t=g,e=Math.max(1,Math.round(t.width/t.height*.125)),n=t.height+e+10,i=t.width+10,{useMaxWidth:a}=s;Lc(h,n,i,!!a),r.debug("Here Bounds",g,t),h.attr("viewBox",`${t.x-5} ${t.y-5} ${t.width+10} ${t.height+10}`)}}),"draw"),ZVt={draw:KVt,getClasses:XVt}})),tXt={};E(tXt,{diagram:()=>eXt});var eXt,rXt,nXt,iXt,aXt,oXt,sXt,lXt,cXt,hXt,uXt,dXt,pXt,fXt,gXt,mXt,yXt,vXt,xXt=k((()=>{ZWt(),MVt(),RVt(),JVt(),eXt={parser:XWt,db:AVt,renderer:ZVt,styles:IVt}})),bXt=k((()=>{rXt={L:"left",R:"right",T:"top",B:"bottom"},nXt={L:w((t=>`${t},${t/2} 0,${t} 0,0`),"L"),R:w((t=>`0,${t/2} ${t},0 ${t},${t}`),"R"),T:w((t=>`0,0 ${t},0 ${t/2},${t}`),"T"),B:w((t=>`${t/2},0 ${t},${t} 0,${t}`),"B")},iXt={L:w(((t,e)=>t-e+2),"L"),R:w(((t,e)=>t-2),"R"),T:w(((t,e)=>t-e+2),"T"),B:w(((t,e)=>t-2),"B")},aXt=w((function(t){return sXt(t)?"L"===t?"R":"L":"T"===t?"B":"T"}),"getOppositeArchitectureDirection"),oXt=w((function(t){return"L"===t||"R"===t||"T"===t||"B"===t}),"isArchitectureDirection"),sXt=w((function(t){return"L"===t||"R"===t}),"isArchitectureDirectionX"),lXt=w((function(t){return"T"===t||"B"===t}),"isArchitectureDirectionY"),cXt=w((function(t,e){let r=sXt(t)&&lXt(e),n=lXt(t)&&sXt(e);return r||n}),"isArchitectureDirectionXY"),hXt=w((function(t){let e=t[0],r=t[1],n=sXt(e)&&lXt(r),i=lXt(e)&&sXt(r);return n||i}),"isArchitecturePairXY"),uXt=w((function(t){return"LL"!==t&&"RR"!==t&&"TT"!==t&&"BB"!==t}),"isValidArchitectureDirectionPair"),dXt=w((function(t,e){let r=`${t}${e}`;return uXt(r)?r:void 0}),"getArchitectureDirectionPair"),pXt=w((function([t,e],r){let n=r[0],i=r[1];return sXt(n)?lXt(i)?[t+("L"===n?-1:1),e+("T"===i?1:-1)]:[t+("L"===n?-1:1),e]:sXt(i)?[t+("L"===i?1:-1),e+("T"===n?1:-1)]:[t,e+("T"===n?1:-1)]}),"shiftPositionByArchitectureDirectionPair"),fXt=w((function(t){return"LT"===t||"TL"===t?[1,1]:"BL"===t||"LB"===t?[1,-1]:"BR"===t||"RB"===t?[-1,-1]:[-1,1]}),"getArchitectureDirectionXYFactors"),gXt=w((function(t){return"service"===t.type}),"isArchitectureService"),mXt=w((function(t){return"junction"===t.type}),"isArchitectureJunction"),yXt=w((t=>t.data()),"edgeData"),vXt=w((t=>t.data()),"nodeData")}));function wXt(t){let e=Qc().architecture;return e?.[t]?e[t]:kXt[t]}var kXt,TXt,EXt,_Xt,CXt,SXt,AXt,LXt,NXt,IXt,MXt,RXt,DXt,OXt,PXt,BXt,FXt,$Xt,zXt,UXt,GXt,qXt,YXt,jXt,HXt,WXt,VXt,XXt=k((()=>{tn(),Qh(),Yft(),Zh(),bXt(),kXt=Ye.architecture,TXt=new Uft((()=>({nodes:{},groups:{},edges:[],registeredIds:{},config:kXt,dataStructures:void 0,elements:{}}))),EXt=w((()=>{TXt.reset(),qc()}),"clear"),_Xt=w((function({id:t,icon:e,in:r,title:n,iconText:i}){if(void 0!==TXt.records.registeredIds[t])throw new Error(`The service id [${t}] is already in use by another ${TXt.records.registeredIds[t]}`);if(void 0!==r){if(t===r)throw new Error(`The service [${t}] cannot be placed within itself`);if(void 0===TXt.records.registeredIds[r])throw new Error(`The service [${t}]'s parent does not exist. Please make sure the parent is created before this service`);if("node"===TXt.records.registeredIds[r])throw new Error(`The service [${t}]'s parent is not a group`)}TXt.records.registeredIds[t]="node",TXt.records.nodes[t]={id:t,type:"service",icon:e,iconText:i,title:n,edges:[],in:r}}),"addService"),CXt=w((()=>Object.values(TXt.records.nodes).filter(gXt)),"getServices"),SXt=w((function({id:t,in:e}){TXt.records.registeredIds[t]="node",TXt.records.nodes[t]={id:t,type:"junction",edges:[],in:e}}),"addJunction"),AXt=w((()=>Object.values(TXt.records.nodes).filter(mXt)),"getJunctions"),LXt=w((()=>Object.values(TXt.records.nodes)),"getNodes"),NXt=w((t=>TXt.records.nodes[t]),"getNode"),IXt=w((function({id:t,icon:e,in:r,title:n}){if(void 0!==TXt.records.registeredIds[t])throw new Error(`The group id [${t}] is already in use by another ${TXt.records.registeredIds[t]}`);if(void 0!==r){if(t===r)throw new Error(`The group [${t}] cannot be placed within itself`);if(void 0===TXt.records.registeredIds[r])throw new Error(`The group [${t}]'s parent does not exist. Please make sure the parent is created before this group`);if("node"===TXt.records.registeredIds[r])throw new Error(`The group [${t}]'s parent is not a group`)}TXt.records.registeredIds[t]="group",TXt.records.groups[t]={id:t,icon:e,title:n,in:r}}),"addGroup"),MXt=w((()=>Object.values(TXt.records.groups)),"getGroups"),RXt=w((function({lhsId:t,rhsId:e,lhsDir:r,rhsDir:n,lhsInto:i,rhsInto:a,lhsGroup:o,rhsGroup:s,title:l}){if(!oXt(r))throw new Error(`Invalid direction given for left hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${r}`);if(!oXt(n))throw new Error(`Invalid direction given for right hand side of edge ${t}--${e}. Expected (L,R,T,B) got ${n}`);if(void 0===TXt.records.nodes[t]&&void 0===TXt.records.groups[t])throw new Error(`The left-hand id [${t}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(void 0===TXt.records.nodes[e]&&void 0===TXt.records.groups[t])throw new Error(`The right-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);let c=TXt.records.nodes[t].in,h=TXt.records.nodes[e].in;if(o&&c&&h&&c==h)throw new Error(`The left-hand id [${t}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(s&&c&&h&&c==h)throw new Error(`The right-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);let u={lhsId:t,lhsDir:r,lhsInto:i,lhsGroup:o,rhsId:e,rhsDir:n,rhsInto:a,rhsGroup:s,title:l};TXt.records.edges.push(u),TXt.records.nodes[t]&&TXt.records.nodes[e]&&(TXt.records.nodes[t].edges.push(TXt.records.edges[TXt.records.edges.length-1]),TXt.records.nodes[e].edges.push(TXt.records.edges[TXt.records.edges.length-1]))}),"addEdge"),DXt=w((()=>TXt.records.edges),"getEdges"),OXt=w((()=>{if(void 0===TXt.records.dataStructures){let t=Object.entries(TXt.records.nodes).reduce(((t,[e,r])=>(t[e]=r.edges.reduce(((t,r)=>{if(r.lhsId===e){let e=dXt(r.lhsDir,r.rhsDir);e&&(t[e]=r.rhsId)}else{let e=dXt(r.rhsDir,r.lhsDir);e&&(t[e]=r.lhsId)}return t}),{}),t)),{}),e=Object.keys(t)[0],r={[e]:1},n=Object.keys(t).reduce(((t,r)=>r===e?t:{...t,[r]:1}),{}),i=w((e=>{let i={[e]:[0,0]},a=[e];for(;a.length>0;){let e=a.shift();if(e){r[e]=1,delete n[e];let o=t[e],[s,l]=i[e];Object.entries(o).forEach((([t,e])=>{r[e]||(i[e]=pXt([s,l],t),a.push(e))}))}}return i}),"BFS"),a=[i(e)];for(;Object.keys(n).length>0;)a.push(i(Object.keys(n)[0]));TXt.records.dataStructures={adjList:t,spatialMaps:a}}return TXt.records.dataStructures}),"getDataStructures"),PXt=w(((t,e)=>{TXt.records.elements[t]=e}),"setElementForId"),BXt=w((t=>TXt.records.elements[t]),"getElementById"),FXt={clear:EXt,setDiagramTitle:Vc,getDiagramTitle:Xc,setAccTitle:Yc,getAccTitle:jc,setAccDescription:Hc,getAccDescription:Wc,addService:_Xt,getServices:CXt,addJunction:SXt,getJunctions:AXt,getNodes:LXt,getNode:NXt,addGroup:IXt,getGroups:MXt,addEdge:RXt,getEdges:DXt,setElementForId:PXt,getElementById:BXt,getDataStructures:OXt},w(wXt,"getConfigField")})),KXt=k((()=>{Fft(),L(),Gft(),XXt(),$Xt=w(((t,e)=>{$ft(t,e),t.groups.map(e.addGroup),t.services.map((t=>e.addService({...t,type:"service"}))),t.junctions.map((t=>e.addJunction({...t,type:"junction"}))),t.edges.map(e.addEdge)}),"populateDb"),zXt={parse:w((async t=>{let e=await Dft("architecture",t);r.debug(e),$Xt(e,FXt)}),"parse")}})),ZXt=k((()=>{UXt=w((t=>`\n .edge {\n stroke-width: ${t.archEdgeWidth};\n stroke: ${t.archEdgeColor};\n fill: none;\n }\n\n .arrow {\n fill: ${t.archEdgeArrowColor};\n }\n\n .node-bkg {\n fill: none;\n stroke: ${t.archGroupBorderColor};\n stroke-width: ${t.archGroupBorderWidth};\n stroke-dasharray: 8;\n }\n .node-icon-text {\n display: flex; \n align-items: center;\n }\n \n .node-icon-text > div {\n color: #fff;\n margin: 1px;\n height: fit-content;\n text-align: center;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n }\n`),"getStyles"),GXt=UXt})),QXt=T(((t,e)=>{w((function(r,n){"object"==typeof t&&"object"==typeof e?e.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof t?t.layoutBase=n():r.layoutBase=n()}),"webpackUniversalModuleDefinition")(t,(function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return w(r,"__webpack_require__"),r.m=t,r.c=e,r.i=function(t){return t},r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?w((function(){return t.default}),"getDefault"):w((function(){return t}),"getModuleExports");return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=28)}([function(t,e,r){function n(){}w(n,"LayoutConstants"),n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_SIZE=40,n.SIMPLE_NODE_HALF_SIZE=n.SIMPLE_NODE_SIZE/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.WORLD_BOUNDARY=1e6,n.INITIAL_WORLD_BOUNDARY=n.WORLD_BOUNDARY/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,t.exports=n},function(t,e,r){var n=r(2),i=r(8),a=r(9);function o(t,e,r){n.call(this,r),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=r,this.bendpoints=[],this.source=t,this.target=e}for(var s in w(o,"LEdge"),o.prototype=Object.create(n.prototype),n)o[s]=n[s];o.prototype.getSource=function(){return this.source},o.prototype.getTarget=function(){return this.target},o.prototype.isInterGraph=function(){return this.isInterGraph},o.prototype.getLength=function(){return this.length},o.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},o.prototype.getBendpoints=function(){return this.bendpoints},o.prototype.getLca=function(){return this.lca},o.prototype.getSourceInLca=function(){return this.sourceInLca},o.prototype.getTargetInLca=function(){return this.targetInLca},o.prototype.getOtherEnd=function(t){if(this.source===t)return this.target;if(this.target===t)return this.source;throw"Node is not incident with this edge"},o.prototype.getOtherEndInGraph=function(t,e){for(var r=this.getOtherEnd(t),n=e.getGraphManager().getRoot();;){if(r.getOwner()==e)return r;if(r.getOwner()==n)break;r=r.getOwner().getParent()}return null},o.prototype.updateLength=function(){var t=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),t),this.isOverlapingSourceAndTarget||(this.lengthX=t[0]-t[2],this.lengthY=t[1]-t[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},o.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=o},function(t,e,r){function n(t){this.vGraphObject=t}w(n,"LGraphObject"),t.exports=n},function(t,e,r){var n=r(2),i=r(10),a=r(13),o=r(0),s=r(16),l=r(5);function c(t,e,r,o){null==r&&null==o&&(o=e),n.call(this,o),null!=t.graphManager&&(t=t.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=o,this.edges=[],this.graphManager=t,this.rect=null!=r&&null!=e?new a(e.x,e.y,r.width,r.height):new a}for(var h in w(c,"LNode"),c.prototype=Object.create(n.prototype),n)c[h]=n[h];c.prototype.getEdges=function(){return this.edges},c.prototype.getChild=function(){return this.child},c.prototype.getOwner=function(){return this.owner},c.prototype.getWidth=function(){return this.rect.width},c.prototype.setWidth=function(t){this.rect.width=t},c.prototype.getHeight=function(){return this.rect.height},c.prototype.setHeight=function(t){this.rect.height=t},c.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},c.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},c.prototype.getCenter=function(){return new l(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},c.prototype.getLocation=function(){return new l(this.rect.x,this.rect.y)},c.prototype.getRect=function(){return this.rect},c.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},c.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},c.prototype.setRect=function(t,e){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=e.width,this.rect.height=e.height},c.prototype.setCenter=function(t,e){this.rect.x=t-this.rect.width/2,this.rect.y=e-this.rect.height/2},c.prototype.setLocation=function(t,e){this.rect.x=t,this.rect.y=e},c.prototype.moveBy=function(t,e){this.rect.x+=t,this.rect.y+=e},c.prototype.getEdgeListToNode=function(t){var e=[],r=this;return r.edges.forEach((function(n){if(n.target==t){if(n.source!=r)throw"Incorrect edge source!";e.push(n)}})),e},c.prototype.getEdgesBetween=function(t){var e=[],r=this;return r.edges.forEach((function(n){if(n.source!=r&&n.target!=r)throw"Incorrect edge source and/or target";(n.target==t||n.source==t)&&e.push(n)})),e},c.prototype.getNeighborsList=function(){var t=new Set,e=this;return e.edges.forEach((function(r){if(r.source==e)t.add(r.target);else{if(r.target!=e)throw"Incorrect incidency!";t.add(r.source)}})),t},c.prototype.withChildren=function(){var t=new Set;if(t.add(this),null!=this.child)for(var e=this.child.getNodes(),r=0;re?(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)):"right"==this.labelPosHorizontal&&this.setWidth(e+this.labelWidth)),this.labelHeight&&("top"==this.labelPosVertical?(this.rect.y-=this.labelHeight,this.setHeight(r+this.labelHeight)):"center"==this.labelPosVertical&&this.labelHeight>r?(this.rect.y-=(this.labelHeight-r)/2,this.setHeight(this.labelHeight)):"bottom"==this.labelPosVertical&&this.setHeight(r+this.labelHeight))}}},c.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},c.prototype.transform=function(t){var e=this.rect.x;e>o.WORLD_BOUNDARY?e=o.WORLD_BOUNDARY:e<-o.WORLD_BOUNDARY&&(e=-o.WORLD_BOUNDARY);var r=this.rect.y;r>o.WORLD_BOUNDARY?r=o.WORLD_BOUNDARY:r<-o.WORLD_BOUNDARY&&(r=-o.WORLD_BOUNDARY);var n=new l(e,r),i=t.inverseTransformPoint(n);this.setLocation(i.x,i.y)},c.prototype.getLeft=function(){return this.rect.x},c.prototype.getRight=function(){return this.rect.x+this.rect.width},c.prototype.getTop=function(){return this.rect.y},c.prototype.getBottom=function(){return this.rect.y+this.rect.height},c.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=c},function(t,e,r){var n=r(0);function i(){}for(var a in w(i,"FDLayoutConstants"),n)i[a]=n[a];i.MAX_ITERATIONS=2500,i.DEFAULT_EDGE_LENGTH=50,i.DEFAULT_SPRING_STRENGTH=.45,i.DEFAULT_REPULSION_STRENGTH=4500,i.DEFAULT_GRAVITY_STRENGTH=.4,i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,i.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,i.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,i.COOLING_ADAPTATION_FACTOR=.33,i.ADAPTATION_LOWER_NODE_LIMIT=1e3,i.ADAPTATION_UPPER_NODE_LIMIT=5e3,i.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,i.MAX_NODE_DISPLACEMENT=3*i.MAX_NODE_DISPLACEMENT_INCREMENTAL,i.MIN_REPULSION_DIST=i.DEFAULT_EDGE_LENGTH/10,i.CONVERGENCE_CHECK_PERIOD=100,i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,i.MIN_EDGE_LENGTH=1,i.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=i},function(t,e,r){function n(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}w(n,"PointD"),n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.setX=function(t){this.x=t},n.prototype.setY=function(t){this.y=t},n.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},n.prototype.getCopy=function(){return new n(this.x,this.y)},n.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=n},function(t,e,r){var n=r(2),i=r(10),a=r(0),o=r(7),s=r(3),l=r(1),c=r(13),h=r(12),u=r(11);function d(t,e,r){n.call(this,r),this.estimatedSize=i.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof o?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var p in w(d,"LGraph"),d.prototype=Object.create(n.prototype),n)d[p]=n[p];d.prototype.getNodes=function(){return this.nodes},d.prototype.getEdges=function(){return this.edges},d.prototype.getGraphManager=function(){return this.graphManager},d.prototype.getParent=function(){return this.parent},d.prototype.getLeft=function(){return this.left},d.prototype.getRight=function(){return this.right},d.prototype.getTop=function(){return this.top},d.prototype.getBottom=function(){return this.bottom},d.prototype.isConnected=function(){return this.isConnected},d.prototype.add=function(t,e,r){if(null==e&&null==r){var n=t;if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(n)>-1)throw"Node already in graph!";return n.owner=this,this.getNodes().push(n),n}var i=t;if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(r)>-1))throw"Source or target not in graph!";if(e.owner!=r.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=r.owner?null:(i.source=e,i.target=r,i.isInterGraph=!1,this.getEdges().push(i),e.edges.push(i),r!=e&&r.edges.push(i),i)},d.prototype.remove=function(t){var e=t;if(t instanceof s){if(null==e)throw"Node is null!";if(null==e.owner||e.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var r=e.edges.slice(),n=r.length,i=0;i-1&&h>-1))throw"Source and/or target doesn't know this edge!";if(a.source.edges.splice(c,1),a.target!=a.source&&a.target.edges.splice(h,1),-1==(o=a.source.owner.getEdges().indexOf(a)))throw"Not in owner's edge list!";a.source.owner.getEdges().splice(o,1)}},d.prototype.updateLeftTop=function(){for(var t,e,r,n=i.MAX_VALUE,a=i.MAX_VALUE,o=this.getNodes(),s=o.length,l=0;l(t=c.getTop())&&(n=t),a>(e=c.getLeft())&&(a=e)}return n==i.MAX_VALUE?null:(r=null!=o[0].getParent().paddingLeft?o[0].getParent().paddingLeft:this.margin,this.left=a-r,this.top=n-r,new h(this.left,this.top))},d.prototype.updateBounds=function(t){for(var e,r,n,a,o,s=i.MAX_VALUE,l=-i.MAX_VALUE,h=i.MAX_VALUE,u=-i.MAX_VALUE,d=this.nodes,p=d.length,f=0;f(e=g.getLeft())&&(s=e),l<(r=g.getRight())&&(l=r),h>(n=g.getTop())&&(h=n),u<(a=g.getBottom())&&(u=a)}var m=new c(s,h,l-s,u-h);s==i.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),o=null!=d[0].getParent().paddingLeft?d[0].getParent().paddingLeft:this.margin,this.left=m.x-o,this.right=m.x+m.width+o,this.top=m.y-o,this.bottom=m.y+m.height+o},d.calculateBounds=function(t){for(var e,r,n,a,o=i.MAX_VALUE,s=-i.MAX_VALUE,l=i.MAX_VALUE,h=-i.MAX_VALUE,u=t.length,d=0;d(e=p.getLeft())&&(o=e),s<(r=p.getRight())&&(s=r),l>(n=p.getTop())&&(l=n),h<(a=p.getBottom())&&(h=a)}return new c(o,l,s-o,h-l)},d.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},d.prototype.getEstimatedSize=function(){if(this.estimatedSize==i.MIN_VALUE)throw"assert failed";return this.estimatedSize},d.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,r=e.length,n=0;n=this.nodes.length){var l=0;i.forEach((function(e){e.owner==t&&l++})),l==this.nodes.length&&(this.isConnected=!0)}}else this.isConnected=!0},t.exports=d},function(t,e,r){var n,i=r(1);function a(t){n=r(6),this.layout=t,this.graphs=[],this.edges=[]}w(a,"LGraphManager"),a.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),r=this.add(t,e);return this.setRootGraph(r),this.rootGraph},a.prototype.add=function(t,e,r,n,i){if(null==r&&null==n&&null==i){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}i=r,r=t;var a=(n=e).getOwner(),o=i.getOwner();if(null==a||a.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==o||o.getGraphManager()!=this)throw"Target not in this graph mgr!";if(a==o)return r.isInterGraph=!1,a.add(r,n,i);if(r.isInterGraph=!0,r.source=n,r.target=i,this.edges.indexOf(r)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(r),null==r.source||null==r.target)throw"Edge source and/or target is null!";if(-1!=r.source.edges.indexOf(r)||-1!=r.target.edges.indexOf(r))throw"Edge already in source and/or target incidency list!";return r.source.edges.push(r),r.target.edges.push(r),r},a.prototype.remove=function(t){if(t instanceof n){var e=t;if(e.getGraphManager()!=this)throw"Graph not in this graph mgr";if(e!=this.rootGraph&&(null==e.parent||e.parent.graphManager!=this))throw"Invalid parent node!";for(var r,a=[],o=(a=a.concat(e.getEdges())).length,s=0;s=e.getRight()?r[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(r[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?r[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(r[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var a=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(a=1);var o=a*r[0],s=r[1]/a;r[0]o)return r[0]=n,r[1]=l,r[2]=a,r[3]=x,!1;if(ia)return r[0]=s,r[1]=i,r[2]=y,r[3]=o,!1;if(na?(r[0]=h,r[1]=u,T=!0):(r[0]=c,r[1]=l,T=!0):_===S&&(n>a?(r[0]=s,r[1]=l,T=!0):(r[0]=d,r[1]=u,T=!0)),-C===S?a>n?(r[2]=v,r[3]=x,E=!0):(r[2]=y,r[3]=m,E=!0):C===S&&(a>n?(r[2]=g,r[3]=m,E=!0):(r[2]=b,r[3]=x,E=!0)),T&&E)return!1;if(n>a?i>o?(A=this.getCardinalDirection(_,S,4),L=this.getCardinalDirection(C,S,2)):(A=this.getCardinalDirection(-_,S,3),L=this.getCardinalDirection(-C,S,1)):i>o?(A=this.getCardinalDirection(-_,S,1),L=this.getCardinalDirection(-C,S,3)):(A=this.getCardinalDirection(_,S,2),L=this.getCardinalDirection(C,S,4)),!T)switch(A){case 1:I=l,N=n+-f/S,r[0]=N,r[1]=I;break;case 2:N=d,I=i+p*S,r[0]=N,r[1]=I;break;case 3:I=u,N=n+f/S,r[0]=N,r[1]=I;break;case 4:N=h,I=i+-p*S,r[0]=N,r[1]=I}if(!E)switch(L){case 1:R=m,M=a+-k/S,r[2]=M,r[3]=R;break;case 2:M=b,R=o+w*S,r[2]=M,r[3]=R;break;case 3:R=x,M=a+k/S,r[2]=M,r[3]=R;break;case 4:M=v,R=o+-w*S,r[2]=M,r[3]=R}}return!1},i.getCardinalDirection=function(t,e,r){return t>e?r:1+r%4},i.getIntersection=function(t,e,r,i){if(null==i)return this.getIntersection2(t,e,r);var a,o,s,l,c,h,u,d=t.x,p=t.y,f=e.x,g=e.y,m=r.x,y=r.y,v=i.x,x=i.y;return c=f*p-d*g,h=v*y-m*x,0==(u=(a=g-p)*(l=m-v)-(o=x-y)*(s=d-f))?null:new n((s*h-l*c)/u,(o*c-a*h)/u)},i.angleOfVector=function(t,e,r,n){var i=void 0;return t!==r?(i=Math.atan((n-e)/(r-t)),r=0){var h=(-l+Math.sqrt(l*l-4*s*c))/(2*s),u=(-l-Math.sqrt(l*l-4*s*c))/(2*s);return h>=0&&h<=1?[h]:u>=0&&u<=1?[u]:null}return null},i.HALF_PI=.5*Math.PI,i.ONE_AND_HALF_PI=1.5*Math.PI,i.TWO_PI=2*Math.PI,i.THREE_PI=3*Math.PI,t.exports=i},function(t,e,r){function n(){}w(n,"IMath"),n.sign=function(t){return t>0?1:t<0?-1:0},n.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},n.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=n},function(t,e,r){function n(){}w(n,"Integer"),n.MAX_VALUE=2147483647,n.MIN_VALUE=-2147483648,t.exports=n},function(t,e,r){var n=function(){function t(t,e){for(var r=0;r"u"?"undefined":n(t);return null==t||"object"!=e&&"function"!=e},t.exports=i},function(t,e,r){function n(t){if(Array.isArray(t)){for(var e=0,r=Array(t.length);e0&&e;){for(s.push(c[0]);s.length>0&&e;){var h=s[0];s.splice(0,1),o.add(h);var u=h.getEdges();for(a=0;a-1&&c.splice(g,1)}o=new Set,l=new Map}else t=[]}return t},d.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],r=t.source,n=this.graphManager.calcLowestCommonAncestor(t.source,t.target),i=0;i0){for(var i=this.edgeToDummyNodes.get(r),a=0;a=0&&e.splice(u,1),h.getNeighborsList().forEach((function(t){if(r.indexOf(t)<0){var e=n.get(t)-1;1==e&&l.push(t),n.set(t,e)}}))}r=r.concat(l),(1==e.length||2==e.length)&&(i=!0,a=e[0])}return a},d.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=d},function(t,e,r){function n(){}w(n,"RandomSeed"),n.seed=1,n.x=0,n.nextDouble=function(){return n.x=1e4*Math.sin(n.seed++),n.x-Math.floor(n.x)},t.exports=n},function(t,e,r){var n=r(5);function i(t,e){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}w(i,"Transform"),i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(t){this.lworldExtX=t},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(t){this.lworldExtY=t},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},i.prototype.transformX=function(t){var e=0,r=this.lworldExtX;return 0!=r&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/r),e},i.prototype.transformY=function(t){var e=0,r=this.lworldExtY;return 0!=r&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/r),e},i.prototype.inverseTransformX=function(t){var e=0,r=this.ldeviceExtX;return 0!=r&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/r),e},i.prototype.inverseTransformY=function(t){var e=0,r=this.ldeviceExtY;return 0!=r&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/r),e},i.prototype.inverseTransformPoint=function(t){return new n(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=i},function(t,e,r){function n(t){if(Array.isArray(t)){for(var e=0,r=Array(t.length);ea.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*a.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-a.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>a.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(a.COOLING_ADAPTATION_FACTOR,1-(t-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*(1-a.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.displacementThresholdPerNode=3*a.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},c.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),r=0;r0&&void 0!==arguments[0])||arguments[0],s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&o&&this.updateGrid(),i=new Set,t=0;t(l=e.getEstimatedSize()*this.gravityRangeFactor)||s>l)&&(t.gravitationForceX=-this.gravityConstant*i,t.gravitationForceY=-this.gravityConstant*a):(o>(l=e.getEstimatedSize()*this.compoundGravityRangeFactor)||s>l)&&(t.gravitationForceX=-this.gravityConstant*i*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*a*this.compoundGravityConstant)},c.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement=l.length||h>=l[0].length))for(var u=0;ut}),"_defaultCompareFunction")}]),t}();t.exports=o},function(t,e,r){function n(){}w(n,"SVD"),n.svd=function(t){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=t.length,this.n=t[0].length;var e,r=Math.min(this.m,this.n);this.s=function(t){for(var e=[];t-- >0;)e.push(0);return e}(Math.min(this.m+1,this.n)),this.U=(e=[this.m,r],w((function t(e){if(0==e.length)return 0;for(var r=[],n=0;n0;)e.push(0);return e}(this.n),a=function(t){for(var e=[];t-- >0;)e.push(0);return e}(this.m),o=Math.min(this.m-1,this.n),s=Math.max(0,Math.min(this.n-2,this.m)),l=0;l=0;L--)if(0!==this.s[L]){for(var N=L+1;N=0;B--){if(function(t,e){return t&&e}(B0;){var H=void 0,W=void 0;for(H=C-2;H>=-1&&-1!==H;H--)if(Math.abs(i[H])<=j+Y*(Math.abs(this.s[H])+Math.abs(this.s[H+1]))){i[H]=0;break}if(H===C-2)W=4;else{var V=void 0;for(V=C-1;V>=H&&V!==H;V--){var X=(V!==C?Math.abs(i[V]):0)+(V!==H+1?Math.abs(i[V-1]):0);if(Math.abs(this.s[V])<=j+Y*X){this.s[V]=0;break}}V===H?W=3:V===C-1?W=1:(W=2,H=V)}switch(H++,W){case 1:var K=i[C-2];i[C-2]=0;for(var Z=C-2;Z>=H;Z--){var Q=n.hypot(this.s[Z],K),J=this.s[Z]/Q,tt=K/Q;this.s[Z]=Q,Z!==H&&(K=-tt*i[Z-1],i[Z-1]=J*i[Z-1]);for(var et=0;et=this.s[H+1]);){var Ct=this.s[H];if(this.s[H]=this.s[H+1],this.s[H+1]=Ct,HMath.abs(e)?(r=e/t,r=Math.abs(t)*Math.sqrt(1+r*r)):0!=e?(r=t/e,r=Math.abs(e)*Math.sqrt(1+r*r)):r=0,r},t.exports=n},function(t,e,r){var n=function(){function t(t,e){for(var r=0;r2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;i(this,t),this.sequence1=e,this.sequence2=r,this.match_score=n,this.mismatch_penalty=a,this.gap_penalty=o,this.iMax=e.length+1,this.jMax=r.length+1,this.grid=new Array(this.iMax);for(var s=0;s=0;r--){var n=this.listeners[r];n.event===t&&n.callback===e&&this.listeners.splice(r,1)}},i.emit=function(t,e){for(var r=0;r{w((function(r,n){"object"==typeof t&&"object"==typeof e?e.exports=n(QXt()):"function"==typeof define&&define.amd?define(["layout-base"],n):"object"==typeof t?t.coseBase=n(QXt()):r.coseBase=n(r.layoutBase)}),"webpackUniversalModuleDefinition")(t,(function(t){return(()=>{var e={45:(t,e,r)=>{var n={};n.layoutBase=r(551),n.CoSEConstants=r(806),n.CoSEEdge=r(767),n.CoSEGraph=r(880),n.CoSEGraphManager=r(578),n.CoSELayout=r(765),n.CoSENode=r(991),n.ConstraintHandler=r(902),t.exports=n},806:(t,e,r)=>{var n=r(551).FDLayoutConstants;function i(){}for(var a in w(i,"CoSEConstants"),n)i[a]=n[a];i.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,i.DEFAULT_RADIAL_SEPARATION=n.DEFAULT_EDGE_LENGTH,i.DEFAULT_COMPONENT_SEPERATION=60,i.TILE=!0,i.TILING_PADDING_VERTICAL=10,i.TILING_PADDING_HORIZONTAL=10,i.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,i.ENFORCE_CONSTRAINTS=!0,i.APPLY_LAYOUT=!0,i.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,i.TREE_REDUCTION_ON_INCREMENTAL=!0,i.PURE_INCREMENTAL=i.DEFAULT_INCREMENTAL,t.exports=i},767:(t,e,r)=>{var n=r(551).FDLayoutEdge;function i(t,e,r){n.call(this,t,e,r)}for(var a in w(i,"CoSEEdge"),i.prototype=Object.create(n.prototype),n)i[a]=n[a];t.exports=i},880:(t,e,r)=>{var n=r(551).LGraph;function i(t,e,r){n.call(this,t,e,r)}for(var a in w(i,"CoSEGraph"),i.prototype=Object.create(n.prototype),n)i[a]=n[a];t.exports=i},578:(t,e,r)=>{var n=r(551).LGraphManager;function i(t){n.call(this,t)}for(var a in w(i,"CoSEGraphManager"),i.prototype=Object.create(n.prototype),n)i[a]=n[a];t.exports=i},765:(t,e,r)=>{var n=r(551).FDLayout,i=r(578),a=r(880),o=r(991),s=r(767),l=r(806),c=r(902),h=r(551).FDLayoutConstants,u=r(551).LayoutConstants,d=r(551).Point,p=r(551).PointD,f=r(551).DimensionD,g=r(551).Layout,m=r(551).Integer,y=r(551).IGeometry,v=r(551).LGraph,x=r(551).Transform,b=r(551).LinkedList;function k(){n.call(this),this.toBeTiled={},this.constraints={}}for(var T in w(k,"CoSELayout"),k.prototype=Object.create(n.prototype),n)k[T]=n[T];k.prototype.newGraphManager=function(){var t=new i(this);return this.graphManager=t,t},k.prototype.newGraph=function(t){return new a(null,this.graphManager,t)},k.prototype.newNode=function(t){return new o(this.graphManager,t)},k.prototype.newEdge=function(t){return new s(null,null,t)},k.prototype.initParameters=function(){n.prototype.initParameters.call(this,arguments),this.isSubLayout||(l.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=l.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=l.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=h.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=h.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=h.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=h.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},k.prototype.initSpringEmbedder=function(){n.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/h.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},k.prototype.layout=function(){return u.DEFAULT_CREATE_BENDS_AS_NEEDED&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},k.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(l.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter((function(e){return t.has(e)}));this.graphManager.setAllNodesToApplyGravitation(e)}}else{var r=this.getFlatForest();r.length>0?this.positionNodesRadially(r):(this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation(),t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter((function(e){return t.has(e)})),this.graphManager.setAllNodesToApplyGravitation(e),this.positionNodesRandomly())}return Object.keys(this.constraints).length>0&&(c.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),l.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},k.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%h.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter((function(e){return t.has(e)}));this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),l.PURE_INCREMENTAL?this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),l.PURE_INCREMENTAL?this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=h.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var r=!this.isTreeGrowing&&!this.isGrowthFinished,n=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(r,n),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},k.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},r=0;r0&&this.updateDisplacements(),e=0;e0&&(n.fixedNodeWeight=a)}if(this.constraints.relativePlacementConstraint){var o=new Map,s=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach((function(e){t.fixedNodesOnHorizontal.add(e),t.fixedNodesOnVertical.add(e)})),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical){var c=this.constraints.alignmentConstraint.vertical;for(r=0;r=2*t.length/3;n--)e=Math.floor(Math.random()*(n+1)),r=t[n],t[n]=t[e],t[e]=r;return t},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach((function(e){if(e.left){var r=o.has(e.left)?o.get(e.left):e.left,n=o.has(e.right)?o.get(e.right):e.right;t.nodesInRelativeHorizontal.includes(r)||(t.nodesInRelativeHorizontal.push(r),t.nodeToRelativeConstraintMapHorizontal.set(r,[]),t.dummyToNodeForVerticalAlignment.has(r)?t.nodeToTempPositionMapHorizontal.set(r,t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(r)[0]).getCenterX()):t.nodeToTempPositionMapHorizontal.set(r,t.idToNodeMap.get(r).getCenterX())),t.nodesInRelativeHorizontal.includes(n)||(t.nodesInRelativeHorizontal.push(n),t.nodeToRelativeConstraintMapHorizontal.set(n,[]),t.dummyToNodeForVerticalAlignment.has(n)?t.nodeToTempPositionMapHorizontal.set(n,t.idToNodeMap.get(t.dummyToNodeForVerticalAlignment.get(n)[0]).getCenterX()):t.nodeToTempPositionMapHorizontal.set(n,t.idToNodeMap.get(n).getCenterX())),t.nodeToRelativeConstraintMapHorizontal.get(r).push({right:n,gap:e.gap}),t.nodeToRelativeConstraintMapHorizontal.get(n).push({left:r,gap:e.gap})}else{var i=s.has(e.top)?s.get(e.top):e.top,a=s.has(e.bottom)?s.get(e.bottom):e.bottom;t.nodesInRelativeVertical.includes(i)||(t.nodesInRelativeVertical.push(i),t.nodeToRelativeConstraintMapVertical.set(i,[]),t.dummyToNodeForHorizontalAlignment.has(i)?t.nodeToTempPositionMapVertical.set(i,t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(i)[0]).getCenterY()):t.nodeToTempPositionMapVertical.set(i,t.idToNodeMap.get(i).getCenterY())),t.nodesInRelativeVertical.includes(a)||(t.nodesInRelativeVertical.push(a),t.nodeToRelativeConstraintMapVertical.set(a,[]),t.dummyToNodeForHorizontalAlignment.has(a)?t.nodeToTempPositionMapVertical.set(a,t.idToNodeMap.get(t.dummyToNodeForHorizontalAlignment.get(a)[0]).getCenterY()):t.nodeToTempPositionMapVertical.set(a,t.idToNodeMap.get(a).getCenterY())),t.nodeToRelativeConstraintMapVertical.get(i).push({bottom:a,gap:e.gap}),t.nodeToRelativeConstraintMapVertical.get(a).push({top:i,gap:e.gap})}}));else{var u=new Map,d=new Map;this.constraints.relativePlacementConstraint.forEach((function(t){if(t.left){var e=o.has(t.left)?o.get(t.left):t.left,r=o.has(t.right)?o.get(t.right):t.right;u.has(e)?u.get(e).push(r):u.set(e,[r]),u.has(r)?u.get(r).push(e):u.set(r,[e])}else{var n=s.has(t.top)?s.get(t.top):t.top,i=s.has(t.bottom)?s.get(t.bottom):t.bottom;d.has(n)?d.get(n).push(i):d.set(n,[i]),d.has(i)?d.get(i).push(n):d.set(i,[n])}}));var p=w((function(t,e){var r=[],n=[],i=new b,a=new Set,o=0;return t.forEach((function(s,l){if(!a.has(l)){r[o]=[],n[o]=!1;var c=l;for(i.push(c),a.add(c),r[o].push(c);0!=i.length;)c=i.shift(),e.has(c)&&(n[o]=!0),t.get(c).forEach((function(t){a.has(t)||(i.push(t),a.add(t),r[o].push(t))}));o++}})),{components:r,isFixed:n}}),"constructComponents"),f=p(u,t.fixedNodesOnHorizontal);this.componentsOnHorizontal=f.components,this.fixedComponentsOnHorizontal=f.isFixed;var g=p(d,t.fixedNodesOnVertical);this.componentsOnVertical=g.components,this.fixedComponentsOnVertical=g.isFixed}}},k.prototype.updateDisplacements=function(){var t=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach((function(e){var r=t.idToNodeMap.get(e.nodeId);r.displacementX=0,r.displacementY=0})),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var e=this.constraints.alignmentConstraint.vertical,r=0;r1)for(s=0;sn&&(n=Math.floor(o.y)),a=Math.floor(o.x+l.DEFAULT_COMPONENT_SEPERATION)}this.transform(new p(u.WORLD_CENTER_X-o.x/2,u.WORLD_CENTER_Y-o.y/2))},k.radialLayout=function(t,e,r){var n=Math.max(this.maxDiagonalInTree(t),l.DEFAULT_RADIAL_SEPARATION);k.branchRadialLayout(e,null,0,359,0,n);var i=v.calculateBounds(t),a=new x;a.setDeviceOrgX(i.getMinX()),a.setDeviceOrgY(i.getMinY()),a.setWorldOrgX(r.x),a.setWorldOrgY(r.y);for(var o=0;o1;){var m=g[0];g.splice(0,1);var v=h.indexOf(m);v>=0&&h.splice(v,1),f--,u--}d=null!=e?(h.indexOf(g[0])+1)%f:0;for(var x=Math.abs(n-r)/u,b=d;p!=u;b=++b%f){var w=h[b].getOtherEnd(t);if(w!=e){var T=(r+p*x)%360,E=(T+x)%360;k.branchRadialLayout(w,t,T,E,i+a,a),p++}}},k.maxDiagonalInTree=function(t){for(var e=m.MIN_VALUE,r=0;re&&(e=n)}return e},k.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},k.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var r=[],n=this.graphManager.getAllNodes(),i=0;i"u"&&(e[l]=[]),e[l]=e[l].concat(s)}Object.keys(e).forEach((function(r){if(e[r].length>1){var n="DummyCompound_"+r;t.memberGroups[n]=e[r];var i=e[r][0].getParent(),a=new o(t.graphManager);a.id=n,a.paddingLeft=i.paddingLeft||0,a.paddingRight=i.paddingRight||0,a.paddingBottom=i.paddingBottom||0,a.paddingTop=i.paddingTop||0,t.idToDummyNode[n]=a;var s=t.getGraphManager().add(t.newGraph(),a),l=i.getChild();l.add(a);for(var c=0;ci?(n.rect.x-=(n.labelWidth-i)/2,n.setWidth(n.labelWidth),n.labelMarginLeft=(n.labelWidth-i)/2):"right"==n.labelPosHorizontal&&n.setWidth(i+n.labelWidth)),n.labelHeight&&("top"==n.labelPosVertical?(n.rect.y-=n.labelHeight,n.setHeight(a+n.labelHeight),n.labelMarginTop=n.labelHeight):"center"==n.labelPosVertical&&n.labelHeight>a?(n.rect.y-=(n.labelHeight-a)/2,n.setHeight(n.labelHeight),n.labelMarginTop=(n.labelHeight-a)/2):"bottom"==n.labelPosVertical&&n.setHeight(a+n.labelHeight))}}))},k.prototype.repopulateCompounds=function(){for(var t=this.compoundOrder.length-1;t>=0;t--){var e=this.compoundOrder[t],r=e.id,n=e.paddingLeft,i=e.paddingTop,a=e.labelMarginLeft,o=e.labelMarginTop;this.adjustLocations(this.tiledMemberPack[r],e.rect.x,e.rect.y,n,i,a,o)}},k.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach((function(r){var n=t.idToDummyNode[r],i=n.paddingLeft,a=n.paddingTop,o=n.labelMarginLeft,s=n.labelMarginTop;t.adjustLocations(e[r],n.rect.x,n.rect.y,i,a,o,s)}))},k.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var r=t.getChild();if(null==r)return this.toBeTiled[e]=!1,!1;for(var n=r.getNodes(),i=0;i0)return this.toBeTiled[e]=!1,!1;if(null!=a.getChild()){if(!this.getToBeTiled(a))return this.toBeTiled[e]=!1,!1}else this.toBeTiled[a.id]=!1}return this.toBeTiled[e]=!0,!0},k.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),r=0,n=0;nh&&(h=d.rect.height)}r+=h+t.verticalPadding}},k.prototype.tileCompoundMembers=function(t,e){var r=this;this.tiledMemberPack=[],Object.keys(t).forEach((function(n){var i=e[n];if(r.tiledMemberPack[n]=r.tileNodes(t[n],i.paddingLeft+i.paddingRight),i.rect.width=r.tiledMemberPack[n].width,i.rect.height=r.tiledMemberPack[n].height,i.setCenter(r.tiledMemberPack[n].centerX,r.tiledMemberPack[n].centerY),i.labelMarginLeft=0,i.labelMarginTop=0,l.NODE_DIMENSIONS_INCLUDE_LABELS){var a=i.rect.width,o=i.rect.height;i.labelWidth&&("left"==i.labelPosHorizontal?(i.rect.x-=i.labelWidth,i.setWidth(a+i.labelWidth),i.labelMarginLeft=i.labelWidth):"center"==i.labelPosHorizontal&&i.labelWidth>a?(i.rect.x-=(i.labelWidth-a)/2,i.setWidth(i.labelWidth),i.labelMarginLeft=(i.labelWidth-a)/2):"right"==i.labelPosHorizontal&&i.setWidth(a+i.labelWidth)),i.labelHeight&&("top"==i.labelPosVertical?(i.rect.y-=i.labelHeight,i.setHeight(o+i.labelHeight),i.labelMarginTop=i.labelHeight):"center"==i.labelPosVertical&&i.labelHeight>o?(i.rect.y-=(i.labelHeight-o)/2,i.setHeight(i.labelHeight),i.labelMarginTop=(i.labelHeight-o)/2):"bottom"==i.labelPosVertical&&i.setHeight(o+i.labelHeight))}}))},k.prototype.tileNodes=function(t,e){var r=this.tileNodesByFavoringDim(t,e,!0),n=this.tileNodesByFavoringDim(t,e,!1),i=this.getOrgRatio(r);return this.getOrgRatio(n)s&&(s=t.getWidth())}));var c,h=a/i,u=o/i,d=Math.pow(r-n,2)+4*(h+n)*(u+r)*i,p=(n-r+Math.sqrt(d))/(2*(h+n));e?(c=Math.ceil(p))==p&&c++:c=Math.floor(p);var f=c*(h+n)-n;return s>f&&(f=s),f+2*n},k.prototype.tileNodesByFavoringDim=function(t,e,r){var n=l.TILING_PADDING_VERTICAL,i=l.TILING_PADDING_HORIZONTAL,a=l.TILING_COMPARE_BY,o={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:n,horizontalPadding:i,centerX:0,centerY:0};a&&(o.idealRowWidth=this.calcIdealRowWidth(t,r));var s=w((function(t){return t.rect.width*t.rect.height}),"getNodeArea"),c=w((function(t,e){return s(e)-s(t)}),"areaCompareFcn");t.sort((function(t,e){var r=c;return o.idealRowWidth?(r=a)(t.id,e.id):r(t,e)}));for(var h=0,u=0,d=0;d0&&(a+=t.horizontalPadding),t.rowWidth[r]=a,t.width0&&(o+=t.verticalPadding);var s=0;o>t.rowHeight[r]&&(s=t.rowHeight[r],t.rowHeight[r]=o,s=t.rowHeight[r]-s),t.height+=s,t.rows[r].push(e)},k.prototype.getShortestRowIndex=function(t){for(var e=-1,r=Number.MAX_VALUE,n=0;nr&&(e=n,r=t.rowWidth[n]);return e},k.prototype.canAddHorizontal=function(t,e,r){if(t.idealRowWidth){var n=t.rows.length-1;return t.rowWidth[n]+e+t.horizontalPadding<=t.idealRowWidth}var i=this.getShortestRowIndex(t);if(i<0)return!0;var a=t.rowWidth[i];if(a+t.horizontalPadding+e<=t.width)return!0;var o,s,l=0;return t.rowHeight[i]0&&(l=r+t.verticalPadding-t.rowHeight[i]),o=t.width-a>=e+t.horizontalPadding?(t.height+l)/(a+e+t.horizontalPadding):(t.height+l)/t.width,l=r+t.verticalPadding,(s=t.widtha&&e!=r){n.splice(-1,1),t.rows[r].push(i),t.rowWidth[e]=t.rowWidth[e]-a,t.rowWidth[r]=t.rowWidth[r]+a,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var o=Number.MIN_VALUE,s=0;so&&(o=n[s].height);e>0&&(o+=t.verticalPadding);var l=t.rowHeight[e]+t.rowHeight[r];t.rowHeight[e]=o,t.rowHeight[r]0)for(var u=i;u<=a;u++)c[0]+=this.grid[u][o-1].length+this.grid[u][o].length-1;if(a0)for(u=o;u<=s;u++)c[3]+=this.grid[i-1][u].length+this.grid[i][u].length-1;for(var d,p,f=m.MAX_VALUE,g=0;g{var n=r(551).FDLayoutNode,i=r(551).IMath;function a(t,e,r,i){n.call(this,t,e,r,i)}for(var o in w(a,"CoSENode"),a.prototype=Object.create(n.prototype),n)a[o]=n[o];a.prototype.calculateDisplacement=function(){var t=this.graphManager.getLayout();null!=this.getChild()&&this.fixedNodeWeight?(this.displacementX+=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*i.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},a.prototype.propogateDisplacementToChildren=function(t,e){for(var r,n=this.getChild().getNodes(),i=0;i{function n(t){if(Array.isArray(t)){for(var e=0,r=Array(t.length);e0){var a=0;n.forEach((function(t){"horizontal"==e?(d.set(t,l.has(t)?c[l.get(t)]:i.get(t)),a+=d.get(t)):(d.set(t,l.has(t)?h[l.get(t)]:i.get(t)),a+=d.get(t))})),a/=n.length,t.forEach((function(t){r.has(t)||d.set(t,a)}))}else{var o=0;t.forEach((function(t){o+="horizontal"==e?l.has(t)?c[l.get(t)]:i.get(t):l.has(t)?h[l.get(t)]:i.get(t)})),o/=t.length,t.forEach((function(t){d.set(t,o)}))}}));for(var g=w((function(){var n=f.shift();t.get(n).forEach((function(t){if(d.get(t.id)o&&(o=y),xs&&(s=x)}}catch(t){p=!0,f=t}finally{try{!u&&m.return&&m.return()}finally{if(p)throw f}}var b=(n+o)/2-(a+s)/2,w=!0,k=!1,T=void 0;try{for(var E,_=t[Symbol.iterator]();!(w=(E=_.next()).done);w=!0){var C=E.value;d.set(C,d.get(C)+b)}}catch(t){k=!0,T=t}finally{try{!w&&_.return&&_.return()}finally{if(k)throw T}}}))}return d}),"findAppropriatePositionForRelativePlacement"),v=w((function(t){var e=0,r=0,n=0,i=0;if(t.forEach((function(t){t.left?c[l.get(t.left)]-c[l.get(t.right)]>=0?e++:r++:h[l.get(t.top)]-h[l.get(t.bottom)]>=0?n++:i++})),e>r&&n>i)for(var a=0;ar)for(var o=0;oi)for(var s=0;s1)e.fixedNodeConstraint.forEach((function(t,e){T[e]=[t.position.x,t.position.y],E[e]=[c[l.get(t.nodeId)],h[l.get(t.nodeId)]]})),_=!0;else if(e.alignmentConstraint)!function(){var t=0;if(e.alignmentConstraint.vertical){for(var r=e.alignmentConstraint.vertical,i=w((function(e){var i=new Set;r[e].forEach((function(t){i.add(t)}));var a,o=new Set([].concat(n(i)).filter((function(t){return S.has(t)})));a=o.size>0?c[l.get(o.values().next().value)]:m(i).x,r[e].forEach((function(e){T[t]=[a,h[l.get(e)]],E[t]=[c[l.get(e)],h[l.get(e)]],t++}))}),"_loop2"),a=0;a0?c[l.get(a.values().next().value)]:m(r).y,o[e].forEach((function(e){T[t]=[c[l.get(e)],i],E[t]=[c[l.get(e)],h[l.get(e)]],t++}))}),"_loop3"),u=0;uI&&(I=N[R].length,M=R);if(I0){var X={x:0,y:0};e.fixedNodeConstraint.forEach((function(t,e){var r={x:c[l.get(t.nodeId)],y:h[l.get(t.nodeId)]},n=t.position,i=g(n,r);X.x+=i.x,X.y+=i.y})),X.x/=e.fixedNodeConstraint.length,X.y/=e.fixedNodeConstraint.length,c.forEach((function(t,e){c[e]+=X.x})),h.forEach((function(t,e){h[e]+=X.y})),e.fixedNodeConstraint.forEach((function(t){c[l.get(t.nodeId)]=t.position.x,h[l.get(t.nodeId)]=t.position.y}))}if(e.alignmentConstraint){if(e.alignmentConstraint.vertical)for(var K=e.alignmentConstraint.vertical,Z=w((function(t){var e=new Set;K[t].forEach((function(t){e.add(t)}));var r,i=new Set([].concat(n(e)).filter((function(t){return S.has(t)})));r=i.size>0?c[l.get(i.values().next().value)]:m(e).x,e.forEach((function(t){S.has(t)||(c[l.get(t)]=r)}))}),"_loop4"),Q=0;Q0?h[l.get(i.values().next().value)]:m(e).y,e.forEach((function(t){S.has(t)||(h[l.get(t)]=r)}))}),"_loop5"),et=0;et{e.exports=t}},r={};function n(t){var i=r[t];if(void 0!==i)return i.exports;var a=r[t]={exports:{}};return e[t](a,a.exports,n),a.exports}return w(n,"__webpack_require__"),n(45)})()}))})),tKt=T(((t,e)=>{w((function(r,n){"object"==typeof t&&"object"==typeof e?e.exports=n(JXt()):"function"==typeof define&&define.amd?define(["cose-base"],n):"object"==typeof t?t.cytoscapeFcose=n(JXt()):r.cytoscapeFcose=n(r.coseBase)}),"webpackUniversalModuleDefinition")(t,(function(t){return(()=>{var e={658:t=>{t.exports=null!=Object.assign?Object.assign.bind(Object):function(t){for(var e=arguments.length,r=Array(e>1?e-1:0),n=1;n{var n=function(){function t(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}return w(t,"sliceIterator"),function(e,r){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),i=r(140).layoutBase.LinkedList,a={getTopMostNodes:function(t){for(var e={},r=0;r0&&c.merge(t)}));for(var h=0;h1){c=s[0],h=c.connectedEdges().length,s.forEach((function(t){t.connectedEdges().length0&&n.set("dummy"+(n.size+1),p),f},relocateComponent:function(t,e,r){if(!r.fixedNodeConstraint){var i=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,o=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;if("draft"==r.quality){var l=!0,c=!1,h=void 0;try{for(var u,d=e.nodeIndexes[Symbol.iterator]();!(l=(u=d.next()).done);l=!0){var p=u.value,f=n(p,2),g=f[0],m=f[1],y=r.cy.getElementById(g);if(y){var v=y.boundingBox(),x=e.xCoords[m]-v.w/2,b=e.xCoords[m]+v.w/2,w=e.yCoords[m]-v.h/2,k=e.yCoords[m]+v.h/2;xa&&(a=b),ws&&(s=k)}}}catch(t){c=!0,h=t}finally{try{!l&&d.return&&d.return()}finally{if(c)throw h}}var T=t.x-(a+i)/2,E=t.y-(s+o)/2;e.xCoords=e.xCoords.map((function(t){return t+T})),e.yCoords=e.yCoords.map((function(t){return t+E}))}else{Object.keys(e).forEach((function(t){var r=e[t],n=r.getRect().x,l=r.getRect().x+r.getRect().width,c=r.getRect().y,h=r.getRect().y+r.getRect().height;na&&(a=l),cs&&(s=h)}));var _=t.x-(a+i)/2,C=t.y-(s+o)/2;Object.keys(e).forEach((function(t){var r=e[t];r.setCenter(r.getCenterX()+_,r.getCenterY()+C)}))}}},calcBoundingBox:function(t,e,r,n){for(var i=Number.MAX_SAFE_INTEGER,a=Number.MIN_SAFE_INTEGER,o=Number.MAX_SAFE_INTEGER,s=Number.MIN_SAFE_INTEGER,l=void 0,c=void 0,h=void 0,u=void 0,d=t.descendants().not(":parent"),p=d.length,f=0;f(l=e[n.get(g.id())]-g.width()/2)&&(i=l),a<(c=e[n.get(g.id())]+g.width()/2)&&(a=c),o>(h=r[n.get(g.id())]-g.height()/2)&&(o=h),s<(u=r[n.get(g.id())]+g.height()/2)&&(s=u)}var m={};return m.topLeftX=i,m.topLeftY=o,m.width=a-i,m.height=s-o,m},calcParentsWithoutChildren:function(t,e){var r=t.collection();return e.nodes(":parent").forEach((function(t){var e=!1;t.children().forEach((function(t){"none"!=t.css("display")&&(e=!0)})),e||r.merge(t)})),r}};t.exports=a},816:(t,e,r)=>{var n=r(548),i=r(140).CoSELayout,a=r(140).CoSENode,o=r(140).layoutBase.PointD,s=r(140).layoutBase.DimensionD,l=r(140).layoutBase.LayoutConstants,c=r(140).layoutBase.FDLayoutConstants,h=r(140).CoSEConstants,u=w((function(t,e){var r=t.cy,u=t.eles,d=u.nodes(),p=u.edges(),f=void 0,g=void 0,m=void 0,y={};t.randomize&&(f=e.nodeIndexes,g=e.xCoords,m=e.yCoords);var v=w((function(t){return"function"==typeof t}),"isFn"),x=w((function(t,e){return v(t)?t(e):t}),"optFn"),b=n.calcParentsWithoutChildren(r,u),k=w((function t(e,r,i,l){for(var c=r.length,h=0;h0&&t(i.getGraphManager().add(i.newGraph(),p),d,i,l)}}),"processChildrenList"),T=w((function(e,r,n){for(var i=0,a=0,o=0;o0?h.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=i/a:v(t.idealEdgeLength)?h.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=50:h.DEFAULT_EDGE_LENGTH=c.DEFAULT_EDGE_LENGTH=t.idealEdgeLength,h.MIN_REPULSION_DIST=c.MIN_REPULSION_DIST=c.DEFAULT_EDGE_LENGTH/10,h.DEFAULT_RADIAL_SEPARATION=c.DEFAULT_EDGE_LENGTH)}),"processEdges"),E=w((function(t,e){e.fixedNodeConstraint&&(t.constraints.fixedNodeConstraint=e.fixedNodeConstraint),e.alignmentConstraint&&(t.constraints.alignmentConstraint=e.alignmentConstraint),e.relativePlacementConstraint&&(t.constraints.relativePlacementConstraint=e.relativePlacementConstraint)}),"processConstraints");null!=t.nestingFactor&&(h.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=c.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(h.DEFAULT_GRAVITY_STRENGTH=c.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(h.MAX_ITERATIONS=c.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(h.DEFAULT_GRAVITY_RANGE_FACTOR=c.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(h.DEFAULT_COMPOUND_GRAVITY_STRENGTH=c.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(h.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=c.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(h.DEFAULT_COOLING_FACTOR_INCREMENTAL=c.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),null!=t.tilingCompareBy&&(h.TILING_COMPARE_BY=t.tilingCompareBy),"proof"==t.quality?l.QUALITY=2:l.QUALITY=0,h.NODE_DIMENSIONS_INCLUDE_LABELS=c.NODE_DIMENSIONS_INCLUDE_LABELS=l.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,h.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=l.DEFAULT_INCREMENTAL=!t.randomize,h.ANIMATE=c.ANIMATE=l.ANIMATE=t.animate,h.TILE=t.tile,h.TILING_PADDING_VERTICAL="function"==typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,h.TILING_PADDING_HORIZONTAL="function"==typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal,h.DEFAULT_INCREMENTAL=c.DEFAULT_INCREMENTAL=l.DEFAULT_INCREMENTAL=!0,h.PURE_INCREMENTAL=!t.randomize,l.DEFAULT_UNIFORM_LEAF_NODE_SIZES=t.uniformNodeDimensions,"transformed"==t.step&&(h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,h.ENFORCE_CONSTRAINTS=!1,h.APPLY_LAYOUT=!1),"enforced"==t.step&&(h.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!1),"cose"==t.step&&(h.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,h.ENFORCE_CONSTRAINTS=!1,h.APPLY_LAYOUT=!0),"all"==t.step&&(t.randomize?h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:h.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!0),t.fixedNodeConstraint||t.alignmentConstraint||t.relativePlacementConstraint?h.TREE_REDUCTION_ON_INCREMENTAL=!1:h.TREE_REDUCTION_ON_INCREMENTAL=!0;var _=new i,C=_.newGraphManager();return k(C.addRoot(),n.getTopMostNodes(d),_,t),T(_,C,p),E(_,t),_.runLayout(),y}),"coseLayout");t.exports={coseLayout:u}},212:(t,e,r)=>{var n=function(){function t(t,e){for(var r=0;r0)if(u){var d=o.getTopMostNodes(t.eles.nodes());if((a=o.connectComponents(e,t.eles,d)).forEach((function(t){var e=t.boundingBox();c.push({x:e.x1+e.w/2,y:e.y1+e.h/2})})),t.randomize&&a.forEach((function(e){t.eles=e,n.push(s(t))})),"default"==t.quality||"proof"==t.quality){var p=e.collection();if(t.tile){var f=new Map,g=0,m={nodeIndexes:f,xCoords:[],yCoords:[]},y=[];if(a.forEach((function(t,e){0==t.edges().length&&(t.nodes().forEach((function(e,r){p.merge(t.nodes()[r]),e.isParent()||(m.nodeIndexes.set(t.nodes()[r].id(),g++),m.xCoords.push(t.nodes()[0].position().x),m.yCoords.push(t.nodes()[0].position().y))})),y.push(e))})),p.length>1){var v=p.boundingBox();c.push({x:v.x1+v.w/2,y:v.y1+v.h/2}),a.push(p),n.push(m);for(var x=y.length-1;x>=0;x--)a.splice(y[x],1),n.splice(y[x],1),c.splice(y[x],1)}}a.forEach((function(e,r){t.eles=e,i.push(l(t,n[r])),o.relocateComponent(c[r],i[r],t)}))}else a.forEach((function(e,r){o.relocateComponent(c[r],n[r],t)}));var b=new Set;if(a.length>1){var k=[],T=r.filter((function(t){return"none"==t.css("display")}));a.forEach((function(e,r){var a=void 0;if("draft"==t.quality&&(a=n[r].nodeIndexes),e.nodes().not(T).length>0){var s={edges:[],nodes:[]},l=void 0;e.nodes().not(T).forEach((function(e){if("draft"==t.quality)if(e.isParent()){var c=o.calcBoundingBox(e,n[r].xCoords,n[r].yCoords,a);s.nodes.push({x:c.topLeftX,y:c.topLeftY,width:c.width,height:c.height})}else l=a.get(e.id()),s.nodes.push({x:n[r].xCoords[l]-e.boundingbox().w/2,y:n[r].yCoords[l]-e.boundingbox().h/2,width:e.boundingbox().w,height:e.boundingbox().h});else i[r][e.id()]&&s.nodes.push({x:i[r][e.id()].getLeft(),y:i[r][e.id()].getTop(),width:i[r][e.id()].getWidth(),height:i[r][e.id()].getHeight()})})),e.edges().forEach((function(e){var l=e.source(),c=e.target();if("none"!=l.css("display")&&"none"!=c.css("display"))if("draft"==t.quality){var h=a.get(l.id()),u=a.get(c.id()),d=[],p=[];if(l.isParent()){var f=o.calcBoundingBox(l,n[r].xCoords,n[r].yCoords,a);d.push(f.topLeftX+f.width/2),d.push(f.topLeftY+f.height/2)}else d.push(n[r].xCoords[h]),d.push(n[r].yCoords[h]);if(c.isParent()){var g=o.calcBoundingBox(c,n[r].xCoords,n[r].yCoords,a);p.push(g.topLeftX+g.width/2),p.push(g.topLeftY+g.height/2)}else p.push(n[r].xCoords[u]),p.push(n[r].yCoords[u]);s.edges.push({startX:d[0],startY:d[1],endX:p[0],endY:p[1]})}else i[r][l.id()]&&i[r][c.id()]&&s.edges.push({startX:i[r][l.id()].getCenterX(),startY:i[r][l.id()].getCenterY(),endX:i[r][c.id()].getCenterX(),endY:i[r][c.id()].getCenterY()})})),s.nodes.length>0&&(k.push(s),b.add(r))}}));var E=h.packComponents(k,t.randomize).shifts;if("draft"==t.quality)n.forEach((function(t,e){var r=t.xCoords.map((function(t){return t+E[e].dx})),n=t.yCoords.map((function(t){return t+E[e].dy}));t.xCoords=r,t.yCoords=n}));else{var _=0;b.forEach((function(t){Object.keys(i[t]).forEach((function(e){var r=i[t][e];r.setCenter(r.getCenterX()+E[_].dx,r.getCenterY()+E[_].dy)})),_++}))}}}else{var C=t.eles.boundingBox();if(c.push({x:C.x1+C.w/2,y:C.y1+C.h/2}),t.randomize){var S=s(t);n.push(S)}"default"==t.quality||"proof"==t.quality?(i.push(l(t,n[0])),o.relocateComponent(c[0],i[0],t)):o.relocateComponent(c[0],n[0],t)}var A=w((function(e,r){if("default"==t.quality||"proof"==t.quality){"number"==typeof e&&(e=r);var a=void 0,o=void 0,s=e.data("id");return i.forEach((function(t){s in t&&(a={x:t[s].getRect().getCenterX(),y:t[s].getRect().getCenterY()},o=t[s])})),t.nodeDimensionsIncludeLabels&&(o.labelWidth&&("left"==o.labelPosHorizontal?a.x+=o.labelWidth/2:"right"==o.labelPosHorizontal&&(a.x-=o.labelWidth/2)),o.labelHeight&&("top"==o.labelPosVertical?a.y+=o.labelHeight/2:"bottom"==o.labelPosVertical&&(a.y-=o.labelHeight/2))),null==a&&(a={x:e.position("x"),y:e.position("y")}),{x:a.x,y:a.y}}var l=void 0;return n.forEach((function(t){var r=t.nodeIndexes.get(e.id());null!=r&&(l={x:t.xCoords[r],y:t.yCoords[r]})})),null==l&&(l={x:e.position("x"),y:e.position("y")}),{x:l.x,y:l.y}}),"getPositions");if("default"==t.quality||"proof"==t.quality||t.randomize){var L=o.calcParentsWithoutChildren(e,r),N=r.filter((function(t){return"none"==t.css("display")}));t.eles=r.not(N),r.nodes().not(":parent").not(N).layoutPositions(this,t,A),L.length>0&&L.forEach((function(t){t.position(A(t))}))}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}),"run")}]),t}();t.exports=h},657:(t,e,r)=>{var n=r(548),i=r(140).layoutBase.Matrix,a=r(140).layoutBase.SVD,o=w((function(t){var e=t.cy,r=t.eles,o=r.nodes(),s=r.nodes(":parent"),l=new Map,c=new Map,h=new Map,u=[],d=[],p=[],f=[],g=[],m=[],y=[],v=[],x=void 0,b=1e8,k=1e-9,T=t.piTol,E=t.samplingType,_=t.nodeSeparation,C=void 0,S=w((function(){for(var t=0,e=0,r=!1;e=i;){o=n[i++];for(var f=u[o],y=0;yh&&(h=g[w],d=w)}return d}),"BFS"),L=w((function(t){var e=void 0;if(t){e=Math.floor(Math.random()*x);for(var r=0;r=1)break;c=l}for(var f=0;f=1)break;c=l}for(var y=0;y0&&(n.isParent()?u[e].push(h.get(n.id())):u[e].push(n.id()))}))}));var U=w((function(t){var r=c.get(t),n=void 0;l.get(t).forEach((function(i){n=e.getElementById(i).isParent()?h.get(i):i,u[r].push(n),u[c.get(n)].push(t)}))}),"_loop"),G=!0,q=!1,Y=void 0;try{for(var j,H=l.keys()[Symbol.iterator]();!(G=(j=H.next()).done);G=!0)U(j.value)}catch(t){q=!0,Y=t}finally{try{!G&&H.return&&H.return()}finally{if(q)throw Y}}var W=void 0;if((x=c.size)>2){C=x{var n=r(212),i=w((function(t){t&&t("layout","fcose",n)}),"register");typeof cytoscape<"u"&&i(cytoscape),t.exports=i},140:e=>{e.exports=t}},r={};function n(t){var i=r[t];if(void 0!==i)return i.exports;var a=r[t]={exports:{}};return e[t](a,a.exports,n),a.exports}return w(n,"__webpack_require__"),n(579)})()}))})),eKt=k((()=>{mt(),qXt=w((t=>`${t}`),"wrapIcon"),YXt={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:qXt('')},server:{body:qXt('')},disk:{body:qXt('')},internet:{body:qXt('')},cloud:{body:qXt('')},unknown:at,blank:{body:qXt("")}}}})),rKt=k((()=>{mt(),Qh(),GB(),XXt(),eKt(),bXt(),jXt=w((async function(t,e){let r=wXt("padding"),n=wXt("iconSize"),i=n/2,a=n/6,o=a/2;await Promise.all(e.edges().map((async e=>{let{source:n,sourceDir:s,sourceArrow:l,sourceGroup:c,target:h,targetDir:u,targetArrow:d,targetGroup:p,label:f}=yXt(e),{x:g,y:m}=e[0].sourceEndpoint(),{x:y,y:v}=e[0].midpoint(),{x,y:b}=e[0].targetEndpoint(),w=r+4;if(c&&(sXt(s)?g+="L"===s?-w:w:m+="T"===s?-w:w+18),p&&(sXt(u)?x+="L"===u?-w:w:b+="T"===u?-w:w+18),!c&&"junction"===FXt.getNode(n)?.type&&(sXt(s)?g+="L"===s?i:-i:m+="T"===s?i:-i),!p&&"junction"===FXt.getNode(h)?.type&&(sXt(u)?x+="L"===u?i:-i:b+="T"===u?i:-i),e[0]._private.rscratch){let e=t.insert("g");if(e.insert("path").attr("d",`M ${g},${m} L ${y},${v} L${x},${b} `).attr("class","edge"),l){let t=sXt(s)?iXt[s](g,a):g-o,r=lXt(s)?iXt[s](m,a):m-o;e.insert("polygon").attr("points",nXt[s](a)).attr("transform",`translate(${t},${r})`).attr("class","arrow")}if(d){let t=sXt(u)?iXt[u](x,a):x-o,r=lXt(u)?iXt[u](b,a):b-o;e.insert("polygon").attr("points",nXt[u](a)).attr("transform",`translate(${t},${r})`).attr("class","arrow")}if(f){let t=cXt(s,u)?"XY":sXt(s)?"X":"Y",r=0;r="X"===t?Math.abs(g-x):"Y"===t?Math.abs(m-b)/1.5:Math.abs(g-x)/2;let n=e.append("g");if(await UB(n,f,{useHtmlLabels:!1,width:r,classes:"architecture-service-label"},Qc()),n.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),"X"===t)n.attr("transform","translate("+y+", "+v+")");else if("Y"===t)n.attr("transform","translate("+y+", "+v+") rotate(-90)");else if("XY"===t){let t=dXt(s,u);if(t&&hXt(t)){let e=n.node().getBoundingClientRect(),[r,i]=fXt(t);n.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*r*i*45})`);let a=n.node().getBoundingClientRect();n.attr("transform",`\n translate(${y}, ${v-e.height/2})\n translate(${r*a.width/2}, ${i*a.height/2})\n rotate(${-1*r*i*45}, 0, ${e.height/2})\n `)}}}}})))}),"drawEdges"),HXt=w((async function(t,e){let r=.75*wXt("padding"),n=wXt("fontSize"),i=wXt("iconSize")/2;await Promise.all(e.nodes().map((async e=>{let a=vXt(e);if("group"===a.type){let{h:o,w:s,x1:l,y1:c}=e.boundingBox();t.append("rect").attr("x",l+i).attr("y",c+i).attr("width",s).attr("height",o).attr("class","node-bkg");let h=t.append("g"),u=l,d=c;if(a.icon){let t=h.append("g");t.html(`${await ht(a.icon,{height:r,width:r,fallbackPrefix:YXt.prefix})}`),t.attr("transform","translate("+(u+i+1)+", "+(d+i+1)+")"),u+=r,d+=n/2-1-2}if(a.label){let t=h.append("g");await UB(t,a.label,{useHtmlLabels:!1,width:s,classes:"architecture-service-label"},Qc()),t.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),t.attr("transform","translate("+(u+i+4)+", "+(d+i+2)+")")}}})))}),"drawGroups"),WXt=w((async function(t,e,r){for(let n of r){let r=e.append("g"),i=wXt("iconSize");if(n.title){let t=r.append("g");await UB(t,n.title,{useHtmlLabels:!1,width:1.5*i,classes:"architecture-service-label"},Qc()),t.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),t.attr("transform","translate("+i/2+", "+i+")")}let a=r.append("g");if(n.icon)a.html(`${await ht(n.icon,{height:i,width:i,fallbackPrefix:YXt.prefix})}`);else if(n.iconText){a.html(`${await ht("blank",{height:i,width:i,fallbackPrefix:YXt.prefix})}`);let t=a.append("g").append("foreignObject").attr("width",i).attr("height",i).append("div").attr("class","node-icon-text").attr("style",`height: ${i}px;`).append("div").html(n.iconText),e=parseInt(window.getComputedStyle(t.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;t.attr("style",`-webkit-line-clamp: ${Math.floor((i-2)/e)};`)}else a.append("path").attr("class","node-bkg").attr("id","node-"+n.id).attr("d",`M0 ${i} v${-i} q0,-5 5,-5 h${i} q5,0 5,5 v${i} H0 Z`);r.attr("class","architecture-service");let{width:o,height:s}=r._groups[0][0].getBBox();n.width=o,n.height=s,t.setElementForId(n.id,r)}return 0}),"drawServices"),VXt=w((function(t,e,r){r.forEach((r=>{let n=e.append("g"),i=wXt("iconSize");n.append("g").append("rect").attr("id","node-"+r.id).attr("fill-opacity","0").attr("width",i).attr("height",i),n.attr("class","architecture-junction");let{width:a,height:o}=n._groups[0][0].getBBox();n.width=a,n.height=o,t.setElementForId(r.id,n)}))}),"drawJunctions")}));function nKt(t,e){t.forEach((t=>{e.add({group:"nodes",data:{type:"service",id:t.id,icon:t.icon,label:t.title,parent:t.in,width:wXt("iconSize"),height:wXt("iconSize")},classes:"node-service"})}))}function iKt(t,e){t.forEach((t=>{e.add({group:"nodes",data:{type:"junction",id:t.id,parent:t.in,width:wXt("iconSize"),height:wXt("iconSize")},classes:"node-junction"})}))}function aKt(t,e){e.nodes().map((e=>{let r=vXt(e);"group"!==r.type&&(r.x=e.position().x,r.y=e.position().y,t.getElementById(r.id).attr("transform","translate("+(r.x||0)+","+(r.y||0)+")"))}))}function oKt(t,e){t.forEach((t=>{e.add({group:"nodes",data:{type:"group",id:t.id,icon:t.icon,label:t.title,parent:t.in},classes:"node-group"})}))}function sKt(t,e){t.forEach((t=>{let{lhsId:r,rhsId:n,lhsInto:i,lhsGroup:a,rhsInto:o,lhsDir:s,rhsDir:l,rhsGroup:c,title:h}=t,u=cXt(t.lhsDir,t.rhsDir)?"segments":"straight",d={id:`${r}-${n}`,label:h,source:r,sourceDir:s,sourceArrow:i,sourceGroup:a,sourceEndpoint:"L"===s?"0 50%":"R"===s?"100% 50%":"T"===s?"50% 0":"50% 100%",target:n,targetDir:l,targetArrow:o,targetGroup:c,targetEndpoint:"L"===l?"0 50%":"R"===l?"100% 50%":"T"===l?"50% 0":"50% 100%"};e.add({group:"edges",data:d,classes:u})}))}function lKt(t){let e=t.map((t=>{let e={},r={};return Object.entries(t).forEach((([t,[n,i]])=>{e[i]||(e[i]=[]),r[n]||(r[n]=[]),e[i].push(t),r[n].push(t)})),{horiz:Object.values(e).filter((t=>t.length>1)),vert:Object.values(r).filter((t=>t.length>1))}})),[r,n]=e.reduce((([t,e],{horiz:r,vert:n})=>[[...t,...r],[...e,...n]]),[[],[]]);return{horizontal:r,vertical:n}}function cKt(t){let e=[],r=w((t=>`${t[0]},${t[1]}`),"posToStr"),n=w((t=>t.split(",").map((t=>parseInt(t)))),"strToPos");return t.forEach((t=>{let i=Object.fromEntries(Object.entries(t).map((([t,e])=>[r(e),t]))),a=[r([0,0])],o={},s={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;a.length>0;){let t=a.shift();if(t){o[t]=1;let l=i[t];if(l){let c=n(t);Object.entries(s).forEach((([t,n])=>{let s=r([c[0]+n[0],c[1]+n[1]]),h=i[s];h&&!o[s]&&(a.push(s),e.push({[rXt[t]]:h,[rXt[aXt(t)]]:l,gap:1.5*wXt("iconSize")}))}))}}}})),e}function hKt(t,e,n,i,{spatialMaps:a}){return new Promise((o=>{let s=Qf("body").append("div").attr("id","cy").attr("style","display:none"),l=bjt({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight",label:"data(label)","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${wXt("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${wXt("padding")}px`}}]});s.remove(),oKt(n,l),nKt(t,l),iKt(e,l),sKt(i,l);let c=lKt(a),h=cKt(a),u=l.layout({name:"fcose",quality:"proof",styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(t){let[e,r]=t.connectedNodes(),{parent:n}=vXt(e),{parent:i}=vXt(r);return n===i?1.5*wXt("iconSize"):.5*wXt("iconSize")},edgeElasticity(t){let[e,r]=t.connectedNodes(),{parent:n}=vXt(e),{parent:i}=vXt(r);return n===i?.45:.001},alignmentConstraint:c,relativePlacementConstraint:h});u.one("layoutstop",(()=>{function t(t,e,r,n){let i,a,{x:o,y:s}=t,{x:l,y:c}=e;a=(n-s+(o-r)*(s-c)/(o-l))/Math.sqrt(1+Math.pow((s-c)/(o-l),2)),i=Math.sqrt(Math.pow(n-s,2)+Math.pow(r-o,2)-Math.pow(a,2)),i/=Math.sqrt(Math.pow(l-o,2)+Math.pow(c-s,2));let h=(l-o)*(n-s)-(c-s)*(r-o);switch(!0){case h>=0:h=1;break;case h<0:h=-1}let u=(l-o)*(r-o)+(c-s)*(n-s);switch(!0){case u>=0:u=1;break;case u<0:u=-1}return a=Math.abs(a)*h,i*=u,{distances:a,weights:i}}w(t,"getSegmentWeights"),l.startBatch();for(let e of Object.values(l.edges()))if(e.data?.()){let{x:r,y:n}=e.source().position(),{x:i,y:a}=e.target().position();if(r!==i&&n!==a){let r=e.sourceEndpoint(),n=e.targetEndpoint(),{sourceDir:i}=yXt(e),[a,o]=lXt(i)?[r.x,n.y]:[n.x,r.y],{weights:s,distances:l}=t(r,n,a,o);e.style("segment-distances",l),e.style("segment-weights",s)}}l.endBatch(),u.run()})),u.run(),l.ready((t=>{r.info("Ready",t),o(l)}))}))}var uKt,dKt,pKt,fKt=k((()=>{mt(),wjt(),uKt=S(tKt(),1),jC(),L(),pvt(),Pc(),XXt(),eKt(),bXt(),rKt(),lt([{name:YXt.prefix,icons:YXt}]),bjt.use(uKt.default),w(nKt,"addServices"),w(iKt,"addJunctions"),w(aKt,"positionNodes"),w(oKt,"addGroups"),w(sKt,"addEdges"),w(lKt,"getAlignments"),w(cKt,"getRelativeConstraints"),w(hKt,"layoutArchitecture"),dKt=w((async(t,e,r,n)=>{let i=n.db,a=i.getServices(),o=i.getJunctions(),s=i.getGroups(),l=i.getEdges(),c=i.getDataStructures(),h=ovt(e),u=h.append("g");u.attr("class","architecture-edges");let d=h.append("g");d.attr("class","architecture-services");let p=h.append("g");p.attr("class","architecture-groups"),await WXt(i,d,a),VXt(i,d,o);let f=await hKt(a,o,s,l,c);await jXt(u,f),await HXt(p,f),aKt(i,f),Nc(void 0,h,wXt("padding"),wXt("useMaxWidth"))}),"draw"),pKt={draw:dKt}})),gKt={};E(gKt,{diagram:()=>mKt});var mKt,yKt=k((()=>{KXt(),XXt(),ZXt(),fKt(),mKt={parser:zXt,db:FXt,renderer:pKt,styles:GXt}})),vKt={};E(vKt,{default:()=>N4t}),mt(),dr(),gr();var xKt=w((t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t)),"detector"),bKt=w((async()=>{let{diagram:t}=await Promise.resolve().then((()=>(qD(),UD)));return{id:"c4",diagram:t}}),"loader"),wKt={id:"c4",detector:xKt,loader:bKt},kKt="flowchart",TKt=w(((t,e)=>"dagre-wrapper"!==e?.flowchart?.defaultRenderer&&"elk"!==e?.flowchart?.defaultRenderer&&/^\s*graph/.test(t)),"detector"),EKt=w((async()=>{let{diagram:t}=await Promise.resolve().then((()=>(z5(),w5)));return{id:kKt,diagram:t}}),"loader"),_Kt={id:kKt,detector:TKt,loader:EKt},CKt="flowchart-v2",SKt=w(((t,e)=>"dagre-d3"!==e?.flowchart?.defaultRenderer&&("elk"===e?.flowchart?.defaultRenderer&&(e.layout="elk"),!(!/^\s*graph/.test(t)||"dagre-wrapper"!==e?.flowchart?.defaultRenderer)||/^\s*flowchart/.test(t))),"detector"),AKt=w((async()=>{let{diagram:t}=await Promise.resolve().then((()=>(z5(),w5)));return{id:CKt,diagram:t}}),"loader"),LKt={id:CKt,detector:SKt,loader:AKt},NKt=w((t=>/^\s*erDiagram/.test(t)),"detector"),IKt=w((async()=>{let{diagram:t}=await Promise.resolve().then((()=>(P6(),D6)));return{id:"er",diagram:t}}),"loader"),MKt={id:"er",detector:NKt,loader:IKt},RKt="gitGraph",DKt=w((t=>/^\s*gitGraph/.test(t)),"detector"),OKt=w((async()=>{let{diagram:t}=await Promise.resolve().then((()=>(fmt(),hmt)));return{id:RKt,diagram:t}}),"loader"),PKt={id:RKt,detector:DKt,loader:OKt},BKt="gantt",FKt=w((t=>/^\s*gantt/.test(t)),"detector"),$Kt=w((async()=>{let{diagram:t}=await Promise.resolve().then((()=>(cvt(),Jyt)));return{id:BKt,diagram:t}}),"loader"),zKt={id:BKt,detector:FKt,loader:$Kt},UKt="info",GKt=w((t=>/^\s*info/.test(t)),"detector"),qKt=w((async()=>{let{diagram:t}=await Promise.resolve().then((()=>(Pvt(),gvt)));return{id:UKt,diagram:t}}),"loader"),YKt={id:UKt,detector:GKt,loader:qKt},jKt=w((t=>/^\s*pie/.test(t)),"detector"),HKt=w((async()=>{let{diagram:t}=await Promise.resolve().then((()=>(Wvt(),Uvt)));return{id:"pie",diagram:t}}),"loader"),WKt={id:"pie",detector:jKt,loader:HKt},VKt="quadrantChart",XKt=w((t=>/^\s*quadrantChart/.test(t)),"detector"),KKt=w((async()=>{let{diagram:t}=await Promise.resolve().then((()=>(Axt(),Ext)));return{id:VKt,diagram:t}}),"loader"),ZKt={id:VKt,detector:XKt,loader:KKt},QKt="xychart",JKt=w((t=>/^\s*xychart-beta/.test(t)),"detector"),tZt=w((async()=>{let{diagram:t}=await Promise.resolve().then((()=>(Lwt(),Bbt)));return{id:QKt,diagram:t}}),"loader"),eZt={id:QKt,detector:JKt,loader:tZt},rZt="requirement",nZt=w((t=>/^\s*requirement(Diagram)?/.test(t)),"detector"),iZt=w((async()=>{let{diagram:t}=await Promise.resolve().then((()=>($wt(),Owt)));return{id:rZt,diagram:t}}),"loader"),aZt={id:rZt,detector:nZt,loader:iZt},oZt="sequence",sZt=w((t=>/^\s*sequenceDiagram/.test(t)),"detector"),lZt=w((async()=>{let{diagram:t}=await Promise.resolve().then((()=>(qEt(),DTt)));return{id:oZt,diagram:t}}),"loader"),cZt={id:oZt,detector:sZt,loader:lZt},hZt="class",uZt=w(((t,e)=>"dagre-wrapper"!==e?.class?.defaultRenderer&&/^\s*classDiagram/.test(t)),"detector"),dZt=w((async()=>{let{diagram:t}=await Promise.resolve().then((()=>(O_t(),KEt)));return{id:hZt,diagram:t}}),"loader"),pZt={id:hZt,detector:uZt,loader:dZt},fZt="classDiagram",gZt=w(((t,e)=>!(!/^\s*classDiagram/.test(t)||"dagre-wrapper"!==e?.class?.defaultRenderer)||/^\s*classDiagram-v2/.test(t)),"detector"),mZt=w((async()=>{let{diagram:t}=await Promise.resolve().then((()=>(KCt(),uCt)));return{id:fZt,diagram:t}}),"loader"),yZt={id:fZt,detector:gZt,loader:mZt},vZt="state",xZt=w(((t,e)=>"dagre-wrapper"!==e?.state?.defaultRenderer&&/^\s*stateDiagram/.test(t)),"detector"),bZt=w((async()=>{let{diagram:t}=await Promise.resolve().then((()=>(HAt(),YAt)));return{id:vZt,diagram:t}}),"loader"),wZt={id:vZt,detector:xZt,loader:bZt},kZt="stateDiagram",TZt=w(((t,e)=>!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&"dagre-wrapper"===e?.state?.defaultRenderer)),"detector"),EZt=w((async()=>{let{diagram:t}=await Promise.resolve().then((()=>(_Lt(),WAt)));return{id:kZt,diagram:t}}),"loader"),_Zt={id:kZt,detector:TZt,loader:EZt},CZt="journey",SZt=w((t=>/^\s*journey/.test(t)),"detector"),AZt=w((async()=>{let{diagram:t}=await Promise.resolve().then((()=>(HLt(),GLt)));return{id:CZt,diagram:t}}),"loader"),LZt={id:CZt,detector:SZt,loader:AZt};L(),pvt(),Pc();var NZt={draw:w(((t,e,n)=>{r.debug("rendering svg for syntax error\n");let i=ovt(e),a=i.append("g");i.attr("viewBox","0 0 2412 512"),Lc(i,100,512,!0),a.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),a.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),a.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),a.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),a.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),a.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),a.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),a.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${n}`)}),"draw")},IZt=NZt,MZt={db:{},renderer:NZt,parser:{parse:w((()=>{}),"parse")}},RZt="flowchart-elk",DZt=w(((t,e={})=>!!(/^\s*flowchart-elk/.test(t)||/^\s*flowchart|graph/.test(t)&&"elk"===e?.flowchart?.defaultRenderer)&&(e.layout="elk",!0)),"detector"),OZt=w((async()=>{let{diagram:t}=await Promise.resolve().then((()=>(z5(),w5)));return{id:RZt,diagram:t}}),"loader"),PZt={id:RZt,detector:DZt,loader:OZt},BZt="timeline",FZt=w((t=>/^\s*timeline/.test(t)),"detector"),$Zt=w((async()=>{let{diagram:t}=await Promise.resolve().then((()=>(iIt(),$Nt)));return{id:BZt,diagram:t}}),"loader"),zZt={id:BZt,detector:FZt,loader:$Zt},UZt="mindmap",GZt=w((t=>/^\s*mindmap/.test(t)),"detector"),qZt=w((async()=>{let{diagram:t}=await Promise.resolve().then((()=>(uHt(),Xjt)));return{id:UZt,diagram:t}}),"loader"),YZt={id:UZt,detector:GZt,loader:qZt},jZt="sankey",HZt=w((t=>/^\s*sankey-beta/.test(t)),"detector"),WZt=w((async()=>{let{diagram:t}=await Promise.resolve().then((()=>(UWt(),kWt)));return{id:jZt,diagram:t}}),"loader"),VZt={id:jZt,detector:HZt,loader:WZt},XZt="packet",KZt=w((t=>/^\s*packet-beta/.test(t)),"detector"),ZZt=w((async()=>{let{diagram:t}=await Promise.resolve().then((()=>(KWt(),HWt)));return{id:XZt,diagram:t}}),"loader"),QZt={id:XZt,detector:KZt,loader:ZZt},JZt="block",tQt=w((t=>/^\s*block-beta/.test(t)),"detector"),eQt=w((async()=>{let{diagram:t}=await Promise.resolve().then((()=>(xXt(),tXt)));return{id:JZt,diagram:t}}),"loader"),rQt={id:JZt,detector:tQt,loader:eQt},nQt="architecture",iQt=w((t=>/^\s*architecture/.test(t)),"detector"),aQt=w((async()=>{let{diagram:t}=await Promise.resolve().then((()=>(yKt(),gKt)));return{id:nQt,diagram:t}}),"loader"),oQt={id:nQt,detector:iQt,loader:aQt};gr(),Qh();var sQt=!1,lQt=w((()=>{sQt||(sQt=!0,ah("error",MZt,(t=>"error"===t.toLowerCase().trim())),ah("---",{db:{clear:w((()=>{}),"clear")},styles:{},renderer:{draw:w((()=>{}),"draw")},parser:{parse:w((()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}),"parse")},init:w((()=>null),"init")},(t=>t.toLowerCase().trimStart().startsWith("---"))),Et(wKt,yZt,pZt,MKt,zKt,YKt,WKt,aZt,cZt,PZt,LKt,_Kt,YZt,zZt,PKt,_Zt,wZt,LZt,ZKt,VZt,QZt,eZt,rQt,oQt))}),"addDiagrams");L(),gr(),Qh();var cQt=w((async()=>{r.debug("Loading registered diagrams");let t=(await Promise.allSettled(Object.entries(kt).map((async([t,{detector:e,loader:n}])=>{if(n)try{oh(t)}catch{try{let{diagram:t,id:r}=await n();ah(r,t,e)}catch(e){throw r.error(`Failed to load external diagram with key ${t}. Removing from detectors.`),delete kt[t],e}}})))).filter((t=>"rejected"===t.status));if(t.length>0){r.error(`Failed to load ${t.length} external diagrams`);for(let e of t)r.error(e);throw new Error(`Failed to load ${t.length} external diagrams`)}}),"loadRegisteredDiagrams");L(),jC();var hQt="comm",uQt="rule",dQt="decl",pQt=Math.abs,fQt=String.fromCharCode;function gQt(t){return t.trim()}function mQt(t,e,r){return t.replace(e,r)}function yQt(t,e,r){return t.indexOf(e,r)}function vQt(t,e){return 0|t.charCodeAt(e)}function xQt(t,e,r){return t.slice(e,r)}function bQt(t){return t.length}function wQt(t){return t.length}function kQt(t,e){return e.push(t),t}w(gQt,"trim"),w(mQt,"replace"),w(yQt,"indexof"),w(vQt,"charat"),w(xQt,"substr"),w(bQt,"strlen"),w(wQt,"sizeof"),w(kQt,"append");var TQt=1,EQt=1,_Qt=0,CQt=0,SQt=0,AQt="";function LQt(t,e,r,n,i,a,o,s){return{value:t,root:e,parent:r,type:n,props:i,children:a,line:TQt,column:EQt,length:o,return:"",siblings:s}}function NQt(){return SQt}function IQt(){return SQt=CQt>0?vQt(AQt,--CQt):0,EQt--,10===SQt&&(EQt=1,TQt--),SQt}function MQt(){return SQt=CQt<_Qt?vQt(AQt,CQt++):0,EQt++,10===SQt&&(EQt=1,TQt++),SQt}function RQt(){return vQt(AQt,CQt)}function DQt(){return CQt}function OQt(t,e){return xQt(AQt,t,e)}function PQt(t){switch(t){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function BQt(t){return TQt=EQt=1,_Qt=bQt(AQt=t),CQt=0,[]}function FQt(t){return AQt="",t}function $Qt(t){return gQt(OQt(CQt-1,GQt(91===t?t+2:40===t?t+1:t)))}function zQt(t){for(;(SQt=RQt())&&SQt<33;)MQt();return PQt(t)>2||PQt(SQt)>3?"":" "}function UQt(t,e){for(;--e&&MQt()&&!(SQt<48||SQt>102||SQt>57&&SQt<65||SQt>70&&SQt<97););return OQt(t,DQt()+(e<6&&32==RQt()&&32==MQt()))}function GQt(t){for(;MQt();)switch(SQt){case t:return CQt;case 34:case 39:34!==t&&39!==t&&GQt(SQt);break;case 40:41===t&&GQt(t);break;case 92:MQt()}return CQt}function qQt(t,e){for(;MQt()&&t+SQt!==57&&(t+SQt!==84||47!==RQt()););return"/*"+OQt(e,CQt-1)+"*"+fQt(47===t?t:MQt())}function YQt(t){for(;!PQt(RQt());)MQt();return OQt(t,CQt)}function jQt(t){return FQt(HQt("",null,null,null,[""],t=BQt(t),0,[0],t))}function HQt(t,e,r,n,i,a,o,s,l){for(var c=0,h=0,u=o,d=0,p=0,f=0,g=1,m=1,y=1,v=0,x="",b=i,w=a,k=n,T=x;m;)switch(f=v,v=MQt()){case 40:if(108!=f&&58==vQt(T,u-1)){-1!=yQt(T+=mQt($Qt(v),"&","&\f"),"&\f",pQt(c?s[c-1]:0))&&(y=-1);break}case 34:case 39:case 91:T+=$Qt(v);break;case 9:case 10:case 13:case 32:T+=zQt(f);break;case 92:T+=UQt(DQt()-1,7);continue;case 47:switch(RQt()){case 42:case 47:kQt(VQt(qQt(MQt(),DQt()),e,r,l),l),(5==PQt(f||1)||5==PQt(RQt()||1))&&bQt(T)&&" "!==xQt(T,-1,void 0)&&(T+=" ");break;default:T+="/"}break;case 123*g:s[c++]=bQt(T)*y;case 125*g:case 59:case 0:switch(v){case 0:case 125:m=0;case 59+h:-1==y&&(T=mQt(T,/\f/g,"")),p>0&&(bQt(T)-u||0===g&&47===f)&&kQt(p>32?XQt(T+";",n,r,u-1,l):XQt(mQt(T," ","")+";",n,r,u-2,l),l);break;case 59:T+=";";default:if(kQt(k=WQt(T,e,r,c,h,i,s,x,b=[],w=[],u,a),a),123===v)if(0===h)HQt(T,e,k,k,b,a,u,s,w);else switch(99===d&&110===vQt(T,3)?100:d){case 100:case 108:case 109:case 115:HQt(t,k,k,n&&kQt(WQt(t,k,k,0,0,i,s,x,i,b=[],u,w),w),i,w,u,s,n?b:w);break;default:HQt(T,k,k,k,[""],w,0,s,w)}}c=h=p=0,g=y=1,x=T="",u=o;break;case 58:u=1+bQt(T),p=f;default:if(g<1)if(123==v)--g;else if(125==v&&0==g++&&125==IQt())continue;switch(T+=fQt(v),v*g){case 38:y=h>0?1:(T+="\f",-1);break;case 44:s[c++]=(bQt(T)-1)*y,y=1;break;case 64:45===RQt()&&(T+=$Qt(MQt())),d=RQt(),h=u=bQt(x=T+=YQt(DQt())),v++;break;case 45:45===f&&2==bQt(T)&&(g=0)}}return a}function WQt(t,e,r,n,i,a,o,s,l,c,h,u){for(var d=i-1,p=0===i?a:[""],f=wQt(p),g=0,m=0,y=0;g0?p[v]+" "+x:mQt(x,/&\f/g,p[v])))&&(l[y++]=b);return LQt(t,e,r,0===i?uQt:s,l,c,h,u)}function VQt(t,e,r,n){return LQt(t,e,r,hQt,fQt(NQt()),xQt(t,2,-2),0,n)}function XQt(t,e,r,n,i){return LQt(t,e,r,dQt,xQt(t,0,n),xQt(t,n+1,-1),n,i)}function KQt(t,e){for(var r="",n=0;n{nJt.forEach((t=>{t()})),nJt=[]}),"attachFunctions");L();var aJt=w((t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart()),"cleanupComments");function oJt(t){return typeof t>"u"||null===t}function sJt(t){return"object"==typeof t&&null!==t}function lJt(t){return Array.isArray(t)?t:oJt(t)?[]:[t]}function cJt(t,e){var r,n,i,a;if(e)for(r=0,n=(a=Object.keys(e)).length;rs&&(e=n-s+(a=" ... ").length),r-n>s&&(r=n+s-(o=" ...").length),{str:a+t.slice(e,r).replace(/\t/g,"→")+o,pos:n-e+a.length}}function yJt(t,e){return dJt.repeat(" ",e-t.length)+t}function vJt(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),"number"!=typeof e.indent&&(e.indent=1),"number"!=typeof e.linesBefore&&(e.linesBefore=3),"number"!=typeof e.linesAfter&&(e.linesAfter=2);for(var r,n=/\r?\n|\r|\0/g,i=[0],a=[],o=-1;r=n.exec(t.buffer);)a.push(r.index),i.push(r.index+r[0].length),t.position<=r.index&&o<0&&(o=i.length-2);o<0&&(o=i.length-1);var s,l,c="",h=Math.min(t.line+e.linesAfter,a.length).toString().length,u=e.maxLength-(e.indent+h+3);for(s=1;s<=e.linesBefore&&!(o-s<0);s++)l=mJt(t.buffer,i[o-s],a[o-s],t.position-(i[o]-i[o-s]),u),c=dJt.repeat(" ",e.indent)+yJt((t.line-s+1).toString(),h)+" | "+l.str+"\n"+c;for(l=mJt(t.buffer,i[o],a[o],t.position,u),c+=dJt.repeat(" ",e.indent)+yJt((t.line+1).toString(),h)+" | "+l.str+"\n",c+=dJt.repeat("-",e.indent+h+3+l.pos)+"^\n",s=1;s<=e.linesAfter&&!(o+s>=a.length);s++)l=mJt(t.buffer,i[o+s],a[o+s],t.position-(i[o]-i[o+s]),u),c+=dJt.repeat(" ",e.indent)+yJt((t.line+s+1).toString(),h)+" | "+l.str+"\n";return c.replace(/\n$/,"")}w(mJt,"getLine"),w(yJt,"padStart"),w(vJt,"makeSnippet");var xJt=vJt,bJt=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],wJt=["scalar","sequence","mapping"];function kJt(t){var e={};return null!==t&&Object.keys(t).forEach((function(r){t[r].forEach((function(t){e[String(t)]=r}))})),e}function TJt(t,e){if(e=e||{},Object.keys(e).forEach((function(e){if(-1===bJt.indexOf(e))throw new gJt('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')})),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=kJt(e.styleAliases||null),-1===wJt.indexOf(this.kind))throw new gJt('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}w(kJt,"compileStyleAliases"),w(TJt,"Type$1");var EJt=TJt;function _Jt(t,e){var r=[];return t[e].forEach((function(t){var e=r.length;r.forEach((function(r,n){r.tag===t.tag&&r.kind===t.kind&&r.multi===t.multi&&(e=n)})),r[e]=t})),r}function CJt(){var t,e,r={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function n(t){t.multi?(r.multi[t.kind].push(t),r.multi.fallback.push(t)):r[t.kind][t.tag]=r.fallback[t.tag]=t}for(w(n,"collectType"),t=0,e=arguments.length;t=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)}),"binary"),octal:w((function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)}),"octal"),decimal:w((function(t){return t.toString(10)}),"decimal"),hexadecimal:w((function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}),"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),VJt=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function XJt(t){return!(null===t||!VJt.test(t)||"_"===t[t.length-1])}function KJt(t){var e,r;return r="-"===(e=t.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),".inf"===e?1===r?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:r*parseFloat(e,10)}w(XJt,"resolveYamlFloat"),w(KJt,"constructYamlFloat");var ZJt=/^[-+]?[0-9]+e/;function QJt(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(dJt.isNegativeZero(t))return"-0.0";return r=t.toString(10),ZJt.test(r)?r.replace("e",".e"):r}function JJt(t){return"[object Number]"===Object.prototype.toString.call(t)&&(t%1!=0||dJt.isNegativeZero(t))}w(QJt,"representYamlFloat"),w(JJt,"isFloat");var t0t=new EJt("tag:yaml.org,2002:float",{kind:"scalar",resolve:XJt,construct:KJt,predicate:JJt,represent:QJt,defaultStyle:"lowercase"}),e0t=MJt.extend({implicit:[PJt,zJt,WJt,t0t]}),r0t=e0t,n0t=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),i0t=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 a0t(t){return null!==t&&(null!==n0t.exec(t)||null!==i0t.exec(t))}function o0t(t){var e,r,n,i,a,o,s,l,c=0,h=null;if(null===(e=n0t.exec(t))&&(e=i0t.exec(t)),null===e)throw new Error("Date resolve error");if(r=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(r,n,i));if(a=+e[4],o=+e[5],s=+e[6],e[7]){for(c=e[7].slice(0,3);c.length<3;)c+="0";c=+c}return e[9]&&(h=6e4*(60*+e[10]+ +(e[11]||0)),"-"===e[9]&&(h=-h)),l=new Date(Date.UTC(r,n,i,a,o,s,c)),h&&l.setTime(l.getTime()-h),l}function s0t(t){return t.toISOString()}w(a0t,"resolveYamlTimestamp"),w(o0t,"constructYamlTimestamp"),w(s0t,"representYamlTimestamp");var l0t=new EJt("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:a0t,construct:o0t,instanceOf:Date,represent:s0t});function c0t(t){return"<<"===t||null===t}w(c0t,"resolveYamlMerge");var h0t=new EJt("tag:yaml.org,2002:merge",{kind:"scalar",resolve:c0t}),u0t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";function d0t(t){if(null===t)return!1;var e,r,n=0,i=t.length,a=u0t;for(r=0;r64)){if(e<0)return!1;n+=6}return n%8==0}function p0t(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,a=u0t,o=0,s=[];for(e=0;e>16&255),s.push(o>>8&255),s.push(255&o)),o=o<<6|a.indexOf(n.charAt(e));return 0==(r=i%4*6)?(s.push(o>>16&255),s.push(o>>8&255),s.push(255&o)):18===r?(s.push(o>>10&255),s.push(o>>2&255)):12===r&&s.push(o>>4&255),new Uint8Array(s)}function f0t(t){var e,r,n="",i=0,a=t.length,o=u0t;for(e=0;e>18&63],n+=o[i>>12&63],n+=o[i>>6&63],n+=o[63&i]),i=(i<<8)+t[e];return 0==(r=a%3)?(n+=o[i>>18&63],n+=o[i>>12&63],n+=o[i>>6&63],n+=o[63&i]):2===r?(n+=o[i>>10&63],n+=o[i>>4&63],n+=o[i<<2&63],n+=o[64]):1===r&&(n+=o[i>>2&63],n+=o[i<<4&63],n+=o[64],n+=o[64]),n}function g0t(t){return"[object Uint8Array]"===Object.prototype.toString.call(t)}w(d0t,"resolveYamlBinary"),w(p0t,"constructYamlBinary"),w(f0t,"representYamlBinary"),w(g0t,"isBinary");var m0t=new EJt("tag:yaml.org,2002:binary",{kind:"scalar",resolve:d0t,construct:p0t,predicate:g0t,represent:f0t}),y0t=Object.prototype.hasOwnProperty,v0t=Object.prototype.toString;function x0t(t){if(null===t)return!0;var e,r,n,i,a,o=[],s=t;for(e=0,r=s.length;e>10),56320+(t-65536&1023))}w(Y0t,"_class"),w(j0t,"is_EOL"),w(H0t,"is_WHITE_SPACE"),w(W0t,"is_WS_OR_EOL"),w(V0t,"is_FLOW_INDICATOR"),w(X0t,"fromHexCode"),w(K0t,"escapedHexLen"),w(Z0t,"fromDecimalCode"),w(Q0t,"simpleEscapeSequence"),w(J0t,"charFromCodepoint");var t1t,e1t=new Array(256),r1t=new Array(256);for(t1t=0;t1t<256;t1t++)e1t[t1t]=Q0t(t1t)?1:0,r1t[t1t]=Q0t(t1t);function n1t(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||N0t,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function i1t(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=xJt(r),new gJt(e,r)}function a1t(t,e){throw i1t(t,e)}function o1t(t,e){t.onWarning&&t.onWarning.call(null,i1t(t,e))}w(n1t,"State$1"),w(i1t,"generateError"),w(a1t,"throwError"),w(o1t,"throwWarning");var s1t={YAML:w((function(t,e,r){var n,i,a;null!==t.version&&a1t(t,"duplication of %YAML directive"),1!==r.length&&a1t(t,"YAML directive accepts exactly one argument"),null===(n=/^([0-9]+)\.([0-9]+)$/.exec(r[0]))&&a1t(t,"ill-formed argument of the YAML directive"),i=parseInt(n[1],10),a=parseInt(n[2],10),1!==i&&a1t(t,"unacceptable YAML version of the document"),t.version=r[0],t.checkLineBreaks=a<2,1!==a&&2!==a&&o1t(t,"unsupported YAML version of the document")}),"handleYamlDirective"),TAG:w((function(t,e,r){var n,i;2!==r.length&&a1t(t,"TAG directive accepts exactly two arguments"),n=r[0],i=r[1],G0t.test(n)||a1t(t,"ill-formed tag handle (first argument) of the TAG directive"),I0t.call(t.tagMap,n)&&a1t(t,'there is a previously declared suffix for "'+n+'" tag handle'),q0t.test(i)||a1t(t,"ill-formed tag prefix (second argument) of the TAG directive");try{i=decodeURIComponent(i)}catch{a1t(t,"tag prefix is malformed: "+i)}t.tagMap[n]=i}),"handleTagDirective")};function l1t(t,e,r,n){var i,a,o,s;if(e1&&(t.result+=dJt.repeat("\n",e-1))}function g1t(t,e,r){var n,i,a,o,s,l,c,h,u=t.kind,d=t.result;if(W0t(h=t.input.charCodeAt(t.position))||V0t(h)||35===h||38===h||42===h||33===h||124===h||62===h||39===h||34===h||37===h||64===h||96===h||(63===h||45===h)&&(W0t(n=t.input.charCodeAt(t.position+1))||r&&V0t(n)))return!1;for(t.kind="scalar",t.result="",i=a=t.position,o=!1;0!==h;){if(58===h){if(W0t(n=t.input.charCodeAt(t.position+1))||r&&V0t(n))break}else if(35===h){if(W0t(t.input.charCodeAt(t.position-1)))break}else{if(t.position===t.lineStart&&p1t(t)||r&&V0t(h))break;if(j0t(h)){if(s=t.line,l=t.lineStart,c=t.lineIndent,d1t(t,!1,-1),t.lineIndent>=e){o=!0,h=t.input.charCodeAt(t.position);continue}t.position=a,t.line=s,t.lineStart=l,t.lineIndent=c;break}}o&&(l1t(t,i,a,!1),f1t(t,t.line-s),i=a=t.position,o=!1),H0t(h)||(a=t.position+1),h=t.input.charCodeAt(++t.position)}return l1t(t,i,a,!1),!!t.result||(t.kind=u,t.result=d,!1)}function m1t(t,e){var r,n,i;if(39!==(r=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,n=i=t.position;0!==(r=t.input.charCodeAt(t.position));)if(39===r){if(l1t(t,n,t.position,!0),39!==(r=t.input.charCodeAt(++t.position)))return!0;n=t.position,t.position++,i=t.position}else j0t(r)?(l1t(t,n,i,!0),f1t(t,d1t(t,!1,e)),n=i=t.position):t.position===t.lineStart&&p1t(t)?a1t(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);a1t(t,"unexpected end of the stream within a single quoted scalar")}function y1t(t,e){var r,n,i,a,o,s;if(34!==(s=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;0!==(s=t.input.charCodeAt(t.position));){if(34===s)return l1t(t,r,t.position,!0),t.position++,!0;if(92===s){if(l1t(t,r,t.position,!0),j0t(s=t.input.charCodeAt(++t.position)))d1t(t,!1,e);else if(s<256&&e1t[s])t.result+=r1t[s],t.position++;else if((o=K0t(s))>0){for(i=o,a=0;i>0;i--)(o=X0t(s=t.input.charCodeAt(++t.position)))>=0?a=(a<<4)+o:a1t(t,"expected hexadecimal character");t.result+=J0t(a),t.position++}else a1t(t,"unknown escape sequence");r=n=t.position}else j0t(s)?(l1t(t,r,n,!0),f1t(t,d1t(t,!1,e)),r=n=t.position):t.position===t.lineStart&&p1t(t)?a1t(t,"unexpected end of the document within a double quoted scalar"):(t.position++,n=t.position)}a1t(t,"unexpected end of the stream within a double quoted scalar")}function v1t(t,e){var r,n,i,a,o,s,l,c,h,u,d,p,f=!0,g=t.tag,m=t.anchor,y=Object.create(null);if(91===(p=t.input.charCodeAt(t.position)))o=93,c=!1,a=[];else{if(123!==p)return!1;o=125,c=!0,a={}}for(null!==t.anchor&&(t.anchorMap[t.anchor]=a),p=t.input.charCodeAt(++t.position);0!==p;){if(d1t(t,!0,e),(p=t.input.charCodeAt(t.position))===o)return t.position++,t.tag=g,t.anchor=m,t.kind=c?"mapping":"sequence",t.result=a,!0;f?44===p&&a1t(t,"expected the node content, but found ','"):a1t(t,"missed comma between flow collection entries"),d=null,s=l=!1,63===p&&W0t(t.input.charCodeAt(t.position+1))&&(s=l=!0,t.position++,d1t(t,!0,e)),r=t.line,n=t.lineStart,i=t.position,_1t(t,e,M0t,!1,!0),u=t.tag,h=t.result,d1t(t,!0,e),p=t.input.charCodeAt(t.position),(l||t.line===r)&&58===p&&(s=!0,p=t.input.charCodeAt(++t.position),d1t(t,!0,e),_1t(t,e,M0t,!1,!0),d=t.result),c?h1t(t,a,y,u,h,d,r,n,i):s?a.push(h1t(t,null,y,u,h,d,r,n,i)):a.push(h),d1t(t,!0,e),44===(p=t.input.charCodeAt(t.position))?(f=!0,p=t.input.charCodeAt(++t.position)):f=!1}a1t(t,"unexpected end of the stream within a flow collection")}function x1t(t,e){var r,n,i,a,o=P0t,s=!1,l=!1,c=e,h=0,u=!1;if(124===(a=t.input.charCodeAt(t.position)))n=!1;else{if(62!==a)return!1;n=!0}for(t.kind="scalar",t.result="";0!==a;)if(43===(a=t.input.charCodeAt(++t.position))||45===a)P0t===o?o=43===a?F0t:B0t:a1t(t,"repeat of a chomping mode identifier");else{if(!((i=Z0t(a))>=0))break;0===i?a1t(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):l?a1t(t,"repeat of an indentation width identifier"):(c=e+i-1,l=!0)}if(H0t(a)){do{a=t.input.charCodeAt(++t.position)}while(H0t(a));if(35===a)do{a=t.input.charCodeAt(++t.position)}while(!j0t(a)&&0!==a)}for(;0!==a;){for(u1t(t),t.lineIndent=0,a=t.input.charCodeAt(t.position);(!l||t.lineIndentc&&(c=t.lineIndent),j0t(a))h++;else{if(t.lineIndente)&&0!==n)a1t(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(y&&(o=t.line,s=t.lineStart,l=t.position),_1t(t,e,O0t,!0,i)&&(y?g=t.result:m=t.result),y||(h1t(t,d,p,f,g,m,o,s,l),f=g=m=null),d1t(t,!0,-1),c=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&0!==c)a1t(t,"bad indentation of a mapping entry");else if(t.lineIndente?f=1:t.lineIndent===e?f=0:t.lineIndente?f=1:t.lineIndent===e?f=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),l=0,c=t.implicitTypes.length;l"),null!==t.result&&u.kind!==t.kind&&a1t(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+u.kind+'", not "'+t.kind+'"'),u.resolve(t.result,t.tag)?(t.result=u.construct(t.result,t.tag),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):a1t(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||m}function C1t(t){var e,r,n,i,a=t.position,o=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);0!==(i=t.input.charCodeAt(t.position))&&(d1t(t,!0,-1),i=t.input.charCodeAt(t.position),!(t.lineIndent>0||37!==i));){for(o=!0,i=t.input.charCodeAt(++t.position),e=t.position;0!==i&&!W0t(i);)i=t.input.charCodeAt(++t.position);for(n=[],(r=t.input.slice(e,t.position)).length<1&&a1t(t,"directive name must not be less than one character in length");0!==i;){for(;H0t(i);)i=t.input.charCodeAt(++t.position);if(35===i){do{i=t.input.charCodeAt(++t.position)}while(0!==i&&!j0t(i));break}if(j0t(i))break;for(e=t.position;0!==i&&!W0t(i);)i=t.input.charCodeAt(++t.position);n.push(t.input.slice(e,t.position))}0!==i&&u1t(t),I0t.call(s1t,r)?s1t[r](t,r,n):o1t(t,'unknown document directive "'+r+'"')}d1t(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,d1t(t,!0,-1)):o&&a1t(t,"directives end mark is expected"),_1t(t,t.lineIndent-1,O0t,!1,!0),d1t(t,!0,-1),t.checkLineBreaks&&z0t.test(t.input.slice(a,t.position))&&o1t(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&p1t(t)?46===t.input.charCodeAt(t.position)&&(t.position+=3,d1t(t,!0,-1)):t.position"u"&&(r=e,e=null);var n=S1t(t,r);if("function"!=typeof e)return n;for(var i=0,a=n.length;i=55296&&n<=56319&&e+1=56320&&r<=57343?1024*(n-55296)+r-56320+65536:n}function k2t(t){return/^\n* /.test(t)}w(u2t,"State"),w(d2t,"indentString"),w(p2t,"generateNextLine"),w(f2t,"testImplicitResolving"),w(g2t,"isWhitespace"),w(m2t,"isPrintable"),w(y2t,"isNsCharOrWhitespace"),w(v2t,"isPlainSafe"),w(x2t,"isPlainSafeFirst"),w(b2t,"isPlainSafeLast"),w(w2t,"codePointAt"),w(k2t,"needIndentIndicator");var T2t=1,E2t=2,_2t=3,C2t=4,S2t=5;function A2t(t,e,r,n,i,a,o,s){var l,c=0,h=null,u=!1,d=!1,p=-1!==n,f=-1,g=x2t(w2t(t,0))&&b2t(w2t(t,t.length-1));if(e||o)for(l=0;l=65536?l+=2:l++){if(!m2t(c=w2t(t,l)))return S2t;g=g&&v2t(c,h,s),h=c}else{for(l=0;l=65536?l+=2:l++){if((c=w2t(t,l))===O1t)u=!0,p&&(d=d||l-f-1>n&&" "!==t[f+1],f=l);else if(!m2t(c))return S2t;g=g&&v2t(c,h,s),h=c}d=d||p&&l-f-1>n&&" "!==t[f+1]}return u||d?r>9&&k2t(t)?S2t:o?a===h2t?S2t:E2t:d?C2t:_2t:!g||o||i(t)?a===h2t?S2t:E2t:T2t}function L2t(t,e,r,n,i){t.dump=function(){if(0===e.length)return t.quotingType===h2t?'""':"''";if(!t.noCompatMode&&(-1!==a2t.indexOf(e)||o2t.test(e)))return t.quotingType===h2t?'"'+e+'"':"'"+e+"'";var a=t.indent*Math.max(1,r),o=-1===t.lineWidth?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),s=n||t.flowLevel>-1&&r>=t.flowLevel;function l(e){return f2t(t,e)}switch(w(l,"testAmbiguity"),A2t(e,s,t.indent,o,l,t.quotingType,t.forceQuotes&&!n,i)){case T2t:return e;case E2t:return"'"+e.replace(/'/g,"''")+"'";case _2t:return"|"+N2t(e,t.indent)+I2t(d2t(e,a));case C2t:return">"+N2t(e,t.indent)+I2t(d2t(M2t(e,o),a));case S2t:return'"'+D2t(e)+'"';default:throw new gJt("impossible error: invalid scalar style")}}()}function N2t(t,e){var r=k2t(t)?String(e):"",n="\n"===t[t.length-1];return r+(!n||"\n"!==t[t.length-2]&&"\n"!==t?n?"":"-":"+")+"\n"}function I2t(t){return"\n"===t[t.length-1]?t.slice(0,-1):t}function M2t(t,e){for(var r,n,i=/(\n+)([^\n]*)/g,a=(c=void 0,c=-1!==(c=t.indexOf("\n"))?c:t.length,i.lastIndex=c,R2t(t.slice(0,c),e)),o="\n"===t[0]||" "===t[0];n=i.exec(t);){var s=n[1],l=n[2];r=" "===l[0],a+=s+(o||r||""===l?"":"\n")+R2t(l,e),o=r}var c;return a}function R2t(t,e){if(""===t||" "===t[0])return t;for(var r,n,i=/ [^ ]/g,a=0,o=0,s=0,l="";r=i.exec(t);)(s=r.index)-a>e&&(n=o>a?o:s,l+="\n"+t.slice(a,n),a=n+1),o=s;return l+="\n",t.length-a>e&&o>a?l+=t.slice(a,o)+"\n"+t.slice(o+1):l+=t.slice(a),l.slice(1)}function D2t(t){for(var e,r="",n=0,i=0;i=65536?i+=2:i++)n=w2t(t,i),!(e=i2t[n])&&m2t(n)?(r+=t[i],n>=65536&&(r+=t[i+1])):r+=e||l2t(n);return r}function O2t(t,e,r){var n,i,a,o="",s=t.tag;for(n=0,i=r.length;n"u"&&z2t(t,e,null,!1,!1))&&(""!==o&&(o+=","+(t.condenseFlow?"":" ")),o+=t.dump);t.tag=s,t.dump="["+o+"]"}function P2t(t,e,r,n){var i,a,o,s="",l=t.tag;for(i=0,a=r.length;i"u"&&z2t(t,e+1,null,!0,!0,!1,!0))&&((!n||""!==s)&&(s+=p2t(t,e)),t.dump&&O1t===t.dump.charCodeAt(0)?s+="-":s+="- ",s+=t.dump);t.tag=l,t.dump=s||"[]"}function B2t(t,e,r){var n,i,a,o,s,l="",c=t.tag,h=Object.keys(r);for(n=0,i=h.length;n1024&&(s+="? "),s+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),z2t(t,e,o,!1,!1)&&(l+=s+=t.dump));t.tag=c,t.dump="{"+l+"}"}function F2t(t,e,r,n){var i,a,o,s,l,c,h="",u=t.tag,d=Object.keys(r);if(!0===t.sortKeys)d.sort();else if("function"==typeof t.sortKeys)d.sort(t.sortKeys);else if(t.sortKeys)throw new gJt("sortKeys must be a boolean or a function");for(i=0,a=d.length;i1024)&&(t.dump&&O1t===t.dump.charCodeAt(0)?c+="?":c+="? "),c+=t.dump,l&&(c+=p2t(t,e)),z2t(t,e+1,s,!0,l)&&(t.dump&&O1t===t.dump.charCodeAt(0)?c+=":":c+=": ",h+=c+=t.dump));t.tag=u,t.dump=h||"{}"}function $2t(t,e,r){var n,i,a,o,s,l;for(a=0,o=(i=r?t.explicitTypes:t.implicitTypes).length;a tag resolver accepts not "'+l+'" style');n=s.represent[l](e,l)}t.dump=n}return!0}return!1}function z2t(t,e,r,n,i,a,o){t.tag=null,t.dump=r,$2t(t,r,!1)||$2t(t,r,!0);var s,l=I1t.call(t.dump),c=n;n&&(n=t.flowLevel<0||t.flowLevel>e);var h,u,d="[object Object]"===l||"[object Array]"===l;if(d&&(u=-1!==(h=t.duplicates.indexOf(r))),(null!==t.tag&&"?"!==t.tag||u||2!==t.indent&&e>0)&&(i=!1),u&&t.usedDuplicates[h])t.dump="*ref_"+h;else{if(d&&u&&!t.usedDuplicates[h]&&(t.usedDuplicates[h]=!0),"[object Object]"===l)n&&0!==Object.keys(t.dump).length?(F2t(t,e,t.dump,i),u&&(t.dump="&ref_"+h+t.dump)):(B2t(t,e,t.dump),u&&(t.dump="&ref_"+h+" "+t.dump));else if("[object Array]"===l)n&&0!==t.dump.length?(t.noArrayIndent&&!o&&e>0?P2t(t,e-1,t.dump,i):P2t(t,e,t.dump,i),u&&(t.dump="&ref_"+h+t.dump)):(O2t(t,e,t.dump),u&&(t.dump="&ref_"+h+" "+t.dump));else{if("[object String]"!==l){if("[object Undefined]"===l)return!1;if(t.skipInvalid)return!1;throw new gJt("unacceptable kind of an object to dump "+l)}"?"!==t.tag&&L2t(t,t.dump,e,a,c)}null!==t.tag&&"?"!==t.tag&&(s=encodeURI("!"===t.tag[0]?t.tag.slice(1):t.tag).replace(/!/g,"%21"),s="!"===t.tag[0]?"!"+s:"tag:yaml.org,2002:"===s.slice(0,18)?"!!"+s.slice(18):"!<"+s+">",t.dump=s+" "+t.dump)}return!0}function U2t(t,e){var r,n,i=[],a=[];for(G2t(t,i,a),r=0,n=a.length;rt.replace(/\r\n?/g,"\n").replace(/<(\w+)([^>]*)>/g,((t,e,r)=>"<"+e+r.replace(/="([^"]*)"/g,"='$1'")+">"))),"cleanupText"),V2t=w((t=>{let{text:e,metadata:r}=H2t(t),{displayMode:n,title:i,config:a={}}=r;return n&&(a.gantt||(a.gantt={}),a.gantt.displayMode=n),{title:i,config:a,text:e}}),"processFrontmatter"),X2t=w((t=>{let e=dD.detectInit(t)??{},r=dD.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some((({type:t})=>"wrap"===t)):"wrap"===r?.type&&(e.wrap=!0),{text:WR(t),directive:e}}),"processDirectives");function K2t(t){let e=W2t(t),r=V2t(e),n=X2t(r.text),i=zR(r.config,n.directive);return{code:t=aJt(n.text),title:r.title,config:i}}function Z2t(t){let e=(new TextEncoder).encode(t),r=Array.from(e,(t=>String.fromCodePoint(t))).join("");return btoa(r)}w(K2t,"preprocessDiagram"),Bc(),Qr(),mD(),w(Z2t,"toBase64");var Q2t=["foreignobject"],J2t=["dominant-baseline"];function t4t(t){let e=K2t(t);return sr(),or(e.config??{}),e}async function e4t(t,e){lQt();try{let{code:e,config:r}=t4t(t);return{diagramType:(await d4t(e)).type,config:r}}catch(t){if(e?.suppressErrors)return!1;throw t}}w(t4t,"processAndSetConfigs"),w(e4t,"parse");var r4t=w(((t,e,r=[])=>`\n.${t} ${e} { ${r.join(" !important; ")} !important; }`),"cssImportantStyles"),n4t=w(((t,e=new Map)=>{let r="";if(void 0!==t.themeCSS&&(r+=`\n${t.themeCSS}`),void 0!==t.fontFamily&&(r+=`\n:root { --mermaid-font-family: ${t.fontFamily}}`),void 0!==t.altFontFamily&&(r+=`\n:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){let n=t.htmlLabels??t.flowchart?.htmlLabels?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach((t=>{EQ(t.styles)||n.forEach((e=>{r+=r4t(t.id,e,t.styles)})),EQ(t.textStyles)||(r+=r4t(t.id,"tspan",(t?.textStyles||[]).map((t=>t.replace("color","fill")))))}))}return r}),"createCssStyles"),i4t=w(((t,e,r,n)=>{let i=n4t(t,r);return KQt(jQt(`${n}{${Dc(e,i,t.themeVariables)}}`),ZQt)}),"createUserStyles"),a4t=w(((t="",e,r)=>{let n=t;return!r&&!e&&(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=fD(n),n=n.replace(/
    /g,"
    "),n}),"cleanUpSvgCode"),o4t=w(((t="",e)=>``),"putIntoIFrame"),s4t=w(((t,e,r,n,i)=>{let a=t.append("div");a.attr("id",r),n&&a.attr("style",n);let o=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg");return i&&o.attr("xmlns:xlink",i),o.append("g"),t}),"appendDivSvgG");function l4t(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}w(l4t,"sandboxedIframe");var c4t=w(((t,e,r,n)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(n)?.remove()}),"removeExistingElements"),h4t=w((async function(t,e,n){lQt();let i=t4t(e);e=i.code;let a=ir();r.debug(a),e.length>(a?.maxTextSize??5e4)&&(e="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa");let o,s,l="#"+t,c="i"+t,h="#"+c,u="d"+t,d="#"+u,p=w((()=>{let t=Qf(g?h:d).node();t&&"remove"in t&&t.remove()}),"removeTempElements"),f=Qf("body"),g="sandbox"===a.securityLevel,m="loose"===a.securityLevel,y=a.fontFamily;if(void 0!==n){if(n&&(n.innerHTML=""),g){let t=l4t(Qf(n),c);f=Qf(t.nodes()[0].contentDocument.body),f.node().style.margin=0}else f=Qf(n);s4t(f,t,u,`font-family: ${y}`,"http://www.w3.org/1999/xlink")}else{if(c4t(document,t,u,c),g){let t=l4t(Qf("body"),c);f=Qf(t.nodes()[0].contentDocument.body),f.node().style.margin=0}else f=Qf("body");s4t(f,t,u)}try{o=await rJt.fromText(e,{title:i.title})}catch(t){if(a.suppressErrorRendering)throw p(),t;o=await rJt.fromText("error"),s=t}let v=f.select(d).node(),x=o.type,b=v.firstChild,k=b.firstChild,T=o.renderer.getClasses?.(e,o),E=i4t(a,x,T,l),_=document.createElement("style");_.innerHTML=E,b.insertBefore(_,k);try{await o.renderer.draw(e,t,rvt,o)}catch(r){throw a.suppressErrorRendering?p():IZt.draw(e,t,rvt),r}let C=f.select(`${d} svg`),S=o.db.getAccTitle?.(),A=o.db.getAccDescription?.();p4t(x,C,S,A),f.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");let L=f.select(d).node().innerHTML;if(r.debug("config.arrowMarkerAbsolute",a.arrowMarkerAbsolute),L=a4t(L,g,fc(a.arrowMarkerAbsolute)),g){let t=f.select(d+" svg").node();L=o4t(L,t)}else m||(L=QQt.default.sanitize(L,{ADD_TAGS:Q2t,ADD_ATTR:J2t}));if(iJt(),s)throw s;return p(),{diagramType:x,svg:L,bindFunctions:o.db.bindFunctions}}),"render");function u4t(t={}){let e=Nt({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),tr(e),e?.theme&&e.theme in $e?e.themeVariables=$e[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=$e.default.getThemeVariables(e.themeVariables));let r="object"==typeof e?Je(e):rr();n(r.logLevel),lQt()}w(u4t,"initialize");var d4t=w(((t,e={})=>{let{code:r}=K2t(t);return rJt.fromText(r,e)}),"getDiagramFromText");function p4t(t,e,r,n){tJt(e,t),eJt(e,r,n,e.attr("id"))}w(p4t,"addA11yInfo");var f4t=Object.freeze({render:h4t,parse:e4t,getDiagramFromText:d4t,initialize:u4t,getConfig:ir,setConfig:nr,getSiteConfig:rr,updateSiteConfig:er,reset:w((()=>{sr()}),"reset"),globalReset:w((()=>{sr(We)}),"globalReset"),defaultConfig:We});n(ir().logLevel),sr(ir()),m5(),mD();var g4t=w(((t,e,n)=>{r.warn(t),$R(t)?(n&&n(t.str,t.hash),e.push({...t,message:t.str,error:t})):(n&&n(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))}),"handleError"),m4t=w((async function(t={querySelector:".mermaid"}){try{await y4t(t)}catch(e){if($R(e)&&r.error(e.str),L4t.parseError&&L4t.parseError(e),!t.suppressErrors)throw r.error("Use the suppressErrors option to suppress these errors"),e}}),"run"),y4t=w((async function({postRenderCallback:t,querySelector:e,nodes:n}={querySelector:".mermaid"}){let i,a=f4t.getConfig();if(r.debug((t?"":"No ")+"Callback function found"),n)i=n;else{if(!e)throw new Error("Nodes and querySelector are both undefined");i=document.querySelectorAll(e)}r.debug(`Found ${i.length} diagrams`),void 0!==a?.startOnLoad&&(r.debug("Start On Load: "+a?.startOnLoad),f4t.updateSiteConfig({startOnLoad:a?.startOnLoad}));let o,s=new dD.InitIDGenerator(a.deterministicIds,a.deterministicIDSeed),l=[];for(let e of Array.from(i)){if(r.info("Rendering diagram: "+e.id),e.getAttribute("data-processed"))continue;e.setAttribute("data-processed","true");let n=`mermaid-${s.next()}`;o=e.innerHTML,o=yt(dD.entityDecode(o)).trim().replace(//gi,"
    ");let i=dD.detectInit(o);i&&r.debug("Detected early reinit: ",i);try{let{svg:r,bindFunctions:i}=await A4t(n,o,e);e.innerHTML=r,t&&await t(n),i&&i(e)}catch(t){g4t(t,l,L4t.parseError)}}if(l.length>0)throw l[0]}),"runThrowsErrors"),v4t=w((function(t){f4t.initialize(t)}),"initialize"),x4t=w((async function(t,e,n){r.warn("mermaid.init is deprecated. Please use run instead."),t&&v4t(t);let i={postRenderCallback:n,querySelector:".mermaid"};"string"==typeof e?i.querySelector=e:e&&(e instanceof HTMLElement?i.nodes=[e]:i.nodes=e),await m4t(i)}),"init"),b4t=w((async(t,{lazyLoad:e=!0}={})=>{lQt(),Et(...t),!1===e&&await cQt()}),"registerExternalDiagrams"),w4t=w((function(){if(L4t.startOnLoad){let{startOnLoad:t}=f4t.getConfig();t&&L4t.run().catch((t=>r.error("Mermaid failed to initialize",t)))}}),"contentLoaded");typeof document<"u"&&window.addEventListener("load",w4t,!1);var k4t,T4t=w((function(t){L4t.parseError=t}),"setParseErrorHandler"),E4t=[],_4t=!1,C4t=w((async()=>{if(!_4t){for(_4t=!0;E4t.length>0;){let t=E4t.shift();if(t)try{await t()}catch(t){r.error("Error executing queue",t)}}_4t=!1}}),"executeQueue"),S4t=w((async(t,e)=>new Promise(((n,i)=>{let a=w((()=>new Promise(((a,o)=>{f4t.parse(t,e).then((t=>{a(t),n(t)}),(t=>{r.error("Error parsing",t),L4t.parseError?.(t),o(t),i(t)}))}))),"performCall");E4t.push(a),C4t().catch(i)}))),"parse"),A4t=w(((t,e,n)=>new Promise(((i,a)=>{let o=w((()=>new Promise(((o,s)=>{f4t.render(t,e,n).then((t=>{o(t),i(t)}),(t=>{r.error("Error parsing",t),L4t.parseError?.(t),s(t),a(t)}))}))),"performCall");E4t.push(o),C4t().catch(a)}))),"render"),L4t={startOnLoad:!0,mermaidAPI:f4t,parse:S4t,render:A4t,init:x4t,run:m4t,registerExternalDiagrams:b4t,registerLayoutLoaders:e5,initialize:v4t,parseError:void 0,contentLoaded:w4t,setParseErrorHandler:T4t,detectType:Tt,registerIconPacks:lt},N4t=L4t;return k4t=vKt,_(m({},"__esModule",{value:!0}),k4t)})();globalThis.mermaid=globalThis.__esbuild_esm_mermaid.default; \ No newline at end of file diff --git a/dist/mscgenjs-inpage/mscgen-inpage.js b/dist/mscgenjs-inpage/mscgen-inpage.js index 9ce50d7..bb3f3a6 100644 --- a/dist/mscgenjs-inpage/mscgen-inpage.js +++ b/dist/mscgenjs-inpage/mscgen-inpage.js @@ -1 +1 @@ -(()=>{var t={8552:(t,e,r)=>{var n=r(852)(r(5639),"DataView");t.exports=n},1989:(t,e,r)=>{var n=r(1789),o=r(401),i=r(7667),a=r(1327),c=r(1866);function u(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e{var n=r(7040),o=r(4125),i=r(2117),a=r(7529),c=r(4705);function u(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e{var n=r(852)(r(5639),"Map");t.exports=n},3369:(t,e,r)=>{var n=r(4785),o=r(1285),i=r(6e3),a=r(9916),c=r(5265);function u(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e{var n=r(852)(r(5639),"Promise");t.exports=n},8525:(t,e,r)=>{var n=r(852)(r(5639),"Set");t.exports=n},6384:(t,e,r)=>{var n=r(8407),o=r(7465),i=r(3779),a=r(7599),c=r(4758),u=r(4309);function s(t){var e=this.__data__=new n(t);this.size=e.size}s.prototype.clear=o,s.prototype.delete=i,s.prototype.get=a,s.prototype.has=c,s.prototype.set=u,t.exports=s},2705:(t,e,r)=>{var n=r(5639).Symbol;t.exports=n},1149:(t,e,r)=>{var n=r(5639).Uint8Array;t.exports=n},577:(t,e,r)=>{var n=r(852)(r(5639),"WeakMap");t.exports=n},6874:t=>{t.exports=function(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}},7412:t=>{t.exports=function(t,e){for(var r=-1,n=null==t?0:t.length;++r{t.exports=function(t,e){for(var r=-1,n=null==t?0:t.length,o=0,i=[];++r{var n=r(2545),o=r(5694),i=r(1469),a=r(4144),c=r(5776),u=r(6719),s=Object.prototype.hasOwnProperty;t.exports=function(t,e){var r=i(t),l=!r&&o(t),d=!r&&!l&&a(t),f=!r&&!l&&!d&&u(t),h=r||l||d||f,p=h?n(t.length,String):[],g=p.length;for(var b in t)!e&&!s.call(t,b)||h&&("length"==b||d&&("offset"==b||"parent"==b)||f&&("buffer"==b||"byteLength"==b||"byteOffset"==b)||c(b,g))||p.push(b);return p}},2488:t=>{t.exports=function(t,e){for(var r=-1,n=e.length,o=t.length;++r{var n=r(9465),o=r(7813),i=Object.prototype.hasOwnProperty;t.exports=function(t,e,r){var a=t[e];i.call(t,e)&&o(a,r)&&(void 0!==r||e in t)||n(t,e,r)}},8470:(t,e,r)=>{var n=r(7813);t.exports=function(t,e){for(var r=t.length;r--;)if(n(t[r][0],e))return r;return-1}},4037:(t,e,r)=>{var n=r(8363),o=r(3674);t.exports=function(t,e){return t&&n(e,o(e),t)}},3886:(t,e,r)=>{var n=r(8363),o=r(1704);t.exports=function(t,e){return t&&n(e,o(e),t)}},9465:(t,e,r)=>{var n=r(8777);t.exports=function(t,e,r){"__proto__"==e&&n?n(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}},5990:(t,e,r)=>{var n=r(6384),o=r(7412),i=r(4865),a=r(4037),c=r(3886),u=r(4626),s=r(278),l=r(8805),d=r(1911),f=r(8234),h=r(6904),p=r(4160),g=r(3824),b=r(9148),m=r(8517),x=r(1469),y=r(4144),v=r(6688),w=r(3218),_=r(2928),C=r(3674),S=r(1704),A="[object Arguments]",k="[object Function]",j="[object Object]",E={};E[A]=E["[object Array]"]=E["[object ArrayBuffer]"]=E["[object DataView]"]=E["[object Boolean]"]=E["[object Date]"]=E["[object Float32Array]"]=E["[object Float64Array]"]=E["[object Int8Array]"]=E["[object Int16Array]"]=E["[object Int32Array]"]=E["[object Map]"]=E["[object Number]"]=E[j]=E["[object RegExp]"]=E["[object Set]"]=E["[object String]"]=E["[object Symbol]"]=E["[object Uint8Array]"]=E["[object Uint8ClampedArray]"]=E["[object Uint16Array]"]=E["[object Uint32Array]"]=!0,E["[object Error]"]=E[k]=E["[object WeakMap]"]=!1,t.exports=function t(e,r,L,O,T,M){var P,D=1&r,I=2&r,F=4&r;if(L&&(P=T?L(e,O,T,M):L(e)),void 0!==P)return P;if(!w(e))return e;var B=x(e);if(B){if(P=g(e),!D)return s(e,P)}else{var N=p(e),R=N==k||"[object GeneratorFunction]"==N;if(y(e))return u(e,D);if(N==j||N==A||R&&!T){if(P=I||R?{}:m(e),!D)return I?d(e,c(P,e)):l(e,a(P,e))}else{if(!E[N])return T?e:{};P=b(e,N,D)}}M||(M=new n);var H=M.get(e);if(H)return H;M.set(e,P),_(e)?e.forEach((function(n){P.add(t(n,r,L,n,e,M))})):v(e)&&e.forEach((function(n,o){P.set(o,t(n,r,L,o,e,M))}));var W=B?void 0:(F?I?h:f:I?S:C)(e);return o(W||e,(function(n,o){W&&(n=e[o=n]),i(P,o,t(n,r,L,o,e,M))})),P}},3118:(t,e,r)=>{var n=r(3218),o=Object.create,i=function(){function t(){}return function(e){if(!n(e))return{};if(o)return o(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();t.exports=i},1078:(t,e,r)=>{var n=r(2488),o=r(7285);t.exports=function t(e,r,i,a,c){var u=-1,s=e.length;for(i||(i=o),c||(c=[]);++u0&&i(l)?r>1?t(l,r-1,i,a,c):n(c,l):a||(c[c.length]=l)}return c}},8866:(t,e,r)=>{var n=r(2488),o=r(1469);t.exports=function(t,e,r){var i=e(t);return o(t)?i:n(i,r(t))}},4239:(t,e,r)=>{var n=r(2705),o=r(9607),i=r(2333),a=n?n.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":a&&a in Object(t)?o(t):i(t)}},9454:(t,e,r)=>{var n=r(4239),o=r(7005);t.exports=function(t){return o(t)&&"[object Arguments]"==n(t)}},5588:(t,e,r)=>{var n=r(4160),o=r(7005);t.exports=function(t){return o(t)&&"[object Map]"==n(t)}},8458:(t,e,r)=>{var n=r(3560),o=r(5346),i=r(3218),a=r(346),c=/^\[object .+?Constructor\]$/,u=Function.prototype,s=Object.prototype,l=u.toString,d=s.hasOwnProperty,f=RegExp("^"+l.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!i(t)||o(t))&&(n(t)?f:c).test(a(t))}},9221:(t,e,r)=>{var n=r(4160),o=r(7005);t.exports=function(t){return o(t)&&"[object Set]"==n(t)}},8749:(t,e,r)=>{var n=r(4239),o=r(1780),i=r(7005),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,t.exports=function(t){return i(t)&&o(t.length)&&!!a[n(t)]}},280:(t,e,r)=>{var n=r(5726),o=r(6916),i=Object.prototype.hasOwnProperty;t.exports=function(t){if(!n(t))return o(t);var e=[];for(var r in Object(t))i.call(t,r)&&"constructor"!=r&&e.push(r);return e}},313:(t,e,r)=>{var n=r(3218),o=r(5726),i=r(3498),a=Object.prototype.hasOwnProperty;t.exports=function(t){if(!n(t))return i(t);var e=o(t),r=[];for(var c in t)("constructor"!=c||!e&&a.call(t,c))&&r.push(c);return r}},5976:(t,e,r)=>{var n=r(6557),o=r(5357),i=r(61);t.exports=function(t,e){return i(o(t,e,n),t+"")}},6560:(t,e,r)=>{var n=r(5703),o=r(8777),i=r(6557),a=o?function(t,e){return o(t,"toString",{configurable:!0,enumerable:!1,value:n(e),writable:!0})}:i;t.exports=a},2545:t=>{t.exports=function(t,e){for(var r=-1,n=Array(t);++r{t.exports=function(t){return function(e){return t(e)}}},4318:(t,e,r)=>{var n=r(1149);t.exports=function(t){var e=new t.constructor(t.byteLength);return new n(e).set(new n(t)),e}},4626:(t,e,r)=>{t=r.nmd(t);var n=r(5639),o=e&&!e.nodeType&&e,i=o&&t&&!t.nodeType&&t,a=i&&i.exports===o?n.Buffer:void 0,c=a?a.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var r=t.length,n=c?c(r):new t.constructor(r);return t.copy(n),n}},7157:(t,e,r)=>{var n=r(4318);t.exports=function(t,e){var r=e?n(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}},3147:t=>{var e=/\w*$/;t.exports=function(t){var r=new t.constructor(t.source,e.exec(t));return r.lastIndex=t.lastIndex,r}},419:(t,e,r)=>{var n=r(2705),o=n?n.prototype:void 0,i=o?o.valueOf:void 0;t.exports=function(t){return i?Object(i.call(t)):{}}},7133:(t,e,r)=>{var n=r(4318);t.exports=function(t,e){var r=e?n(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}},278:t=>{t.exports=function(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r{var n=r(4865),o=r(9465);t.exports=function(t,e,r,i){var a=!r;r||(r={});for(var c=-1,u=e.length;++c{var n=r(8363),o=r(9551);t.exports=function(t,e){return n(t,o(t),e)}},1911:(t,e,r)=>{var n=r(8363),o=r(1442);t.exports=function(t,e){return n(t,o(t),e)}},4429:(t,e,r)=>{var n=r(5639)["__core-js_shared__"];t.exports=n},1463:(t,e,r)=>{var n=r(5976),o=r(6612);t.exports=function(t){return n((function(e,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,c=i>2?r[2]:void 0;for(a=t.length>3&&"function"==typeof a?(i--,a):void 0,c&&o(r[0],r[1],c)&&(a=i<3?void 0:a,i=1),e=Object(e);++n{var n=r(852),o=function(){try{var t=n(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=o},1957:(t,e,r)=>{var n="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g;t.exports=n},8234:(t,e,r)=>{var n=r(8866),o=r(9551),i=r(3674);t.exports=function(t){return n(t,i,o)}},6904:(t,e,r)=>{var n=r(8866),o=r(1442),i=r(1704);t.exports=function(t){return n(t,i,o)}},5050:(t,e,r)=>{var n=r(7019);t.exports=function(t,e){var r=t.__data__;return n(e)?r["string"==typeof e?"string":"hash"]:r.map}},852:(t,e,r)=>{var n=r(8458),o=r(7801);t.exports=function(t,e){var r=o(t,e);return n(r)?r:void 0}},5924:(t,e,r)=>{var n=r(5569)(Object.getPrototypeOf,Object);t.exports=n},9607:(t,e,r)=>{var n=r(2705),o=Object.prototype,i=o.hasOwnProperty,a=o.toString,c=n?n.toStringTag:void 0;t.exports=function(t){var e=i.call(t,c),r=t[c];try{t[c]=void 0;var n=!0}catch(t){}var o=a.call(t);return n&&(e?t[c]=r:delete t[c]),o}},9551:(t,e,r)=>{var n=r(4963),o=r(479),i=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,c=a?function(t){return null==t?[]:(t=Object(t),n(a(t),(function(e){return i.call(t,e)})))}:o;t.exports=c},1442:(t,e,r)=>{var n=r(2488),o=r(5924),i=r(9551),a=r(479),c=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)n(e,i(t)),t=o(t);return e}:a;t.exports=c},4160:(t,e,r)=>{var n=r(8552),o=r(7071),i=r(3818),a=r(8525),c=r(577),u=r(4239),s=r(346),l="[object Map]",d="[object Promise]",f="[object Set]",h="[object WeakMap]",p="[object DataView]",g=s(n),b=s(o),m=s(i),x=s(a),y=s(c),v=u;(n&&v(new n(new ArrayBuffer(1)))!=p||o&&v(new o)!=l||i&&v(i.resolve())!=d||a&&v(new a)!=f||c&&v(new c)!=h)&&(v=function(t){var e=u(t),r="[object Object]"==e?t.constructor:void 0,n=r?s(r):"";if(n)switch(n){case g:return p;case b:return l;case m:return d;case x:return f;case y:return h}return e}),t.exports=v},7801:t=>{t.exports=function(t,e){return null==t?void 0:t[e]}},1789:(t,e,r)=>{var n=r(4536);t.exports=function(){this.__data__=n?n(null):{},this.size=0}},401:t=>{t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},7667:(t,e,r)=>{var n=r(4536),o=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(n){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return o.call(e,t)?e[t]:void 0}},1327:(t,e,r)=>{var n=r(4536),o=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return n?void 0!==e[t]:o.call(e,t)}},1866:(t,e,r)=>{var n=r(4536);t.exports=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=n&&void 0===e?"__lodash_hash_undefined__":e,this}},3824:t=>{var e=Object.prototype.hasOwnProperty;t.exports=function(t){var r=t.length,n=new t.constructor(r);return r&&"string"==typeof t[0]&&e.call(t,"index")&&(n.index=t.index,n.input=t.input),n}},9148:(t,e,r)=>{var n=r(4318),o=r(7157),i=r(3147),a=r(419),c=r(7133);t.exports=function(t,e,r){var u=t.constructor;switch(e){case"[object ArrayBuffer]":return n(t);case"[object Boolean]":case"[object Date]":return new u(+t);case"[object DataView]":return o(t,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return c(t,r);case"[object Map]":case"[object Set]":return new u;case"[object Number]":case"[object String]":return new u(t);case"[object RegExp]":return i(t);case"[object Symbol]":return a(t)}}},8517:(t,e,r)=>{var n=r(3118),o=r(5924),i=r(5726);t.exports=function(t){return"function"!=typeof t.constructor||i(t)?{}:n(o(t))}},7285:(t,e,r)=>{var n=r(2705),o=r(5694),i=r(1469),a=n?n.isConcatSpreadable:void 0;t.exports=function(t){return i(t)||o(t)||!!(a&&t&&t[a])}},5776:t=>{var e=/^(?:0|[1-9]\d*)$/;t.exports=function(t,r){var n=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==n||"symbol"!=n&&e.test(t))&&t>-1&&t%1==0&&t{var n=r(7813),o=r(8612),i=r(5776),a=r(3218);t.exports=function(t,e,r){if(!a(r))return!1;var c=typeof e;return!!("number"==c?o(r)&&i(e,r.length):"string"==c&&e in r)&&n(r[e],t)}},7019:t=>{t.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},5346:(t,e,r)=>{var n,o=r(4429),i=(n=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";t.exports=function(t){return!!i&&i in t}},5726:t=>{var e=Object.prototype;t.exports=function(t){var r=t&&t.constructor;return t===("function"==typeof r&&r.prototype||e)}},7040:t=>{t.exports=function(){this.__data__=[],this.size=0}},4125:(t,e,r)=>{var n=r(8470),o=Array.prototype.splice;t.exports=function(t){var e=this.__data__,r=n(e,t);return!(r<0||(r==e.length-1?e.pop():o.call(e,r,1),--this.size,0))}},2117:(t,e,r)=>{var n=r(8470);t.exports=function(t){var e=this.__data__,r=n(e,t);return r<0?void 0:e[r][1]}},7529:(t,e,r)=>{var n=r(8470);t.exports=function(t){return n(this.__data__,t)>-1}},4705:(t,e,r)=>{var n=r(8470);t.exports=function(t,e){var r=this.__data__,o=n(r,t);return o<0?(++this.size,r.push([t,e])):r[o][1]=e,this}},4785:(t,e,r)=>{var n=r(1989),o=r(8407),i=r(7071);t.exports=function(){this.size=0,this.__data__={hash:new n,map:new(i||o),string:new n}}},1285:(t,e,r)=>{var n=r(5050);t.exports=function(t){var e=n(this,t).delete(t);return this.size-=e?1:0,e}},6e3:(t,e,r)=>{var n=r(5050);t.exports=function(t){return n(this,t).get(t)}},9916:(t,e,r)=>{var n=r(5050);t.exports=function(t){return n(this,t).has(t)}},5265:(t,e,r)=>{var n=r(5050);t.exports=function(t,e){var r=n(this,t),o=r.size;return r.set(t,e),this.size+=r.size==o?0:1,this}},4536:(t,e,r)=>{var n=r(852)(Object,"create");t.exports=n},6916:(t,e,r)=>{var n=r(5569)(Object.keys,Object);t.exports=n},3498:t=>{t.exports=function(t){var e=[];if(null!=t)for(var r in Object(t))e.push(r);return e}},1167:(t,e,r)=>{t=r.nmd(t);var n=r(1957),o=e&&!e.nodeType&&e,i=o&&t&&!t.nodeType&&t,a=i&&i.exports===o&&n.process,c=function(){try{return i&&i.require&&i.require("util").types||a&&a.binding&&a.binding("util")}catch(t){}}();t.exports=c},2333:t=>{var e=Object.prototype.toString;t.exports=function(t){return e.call(t)}},5569:t=>{t.exports=function(t,e){return function(r){return t(e(r))}}},5357:(t,e,r)=>{var n=r(6874),o=Math.max;t.exports=function(t,e,r){return e=o(void 0===e?t.length-1:e,0),function(){for(var i=arguments,a=-1,c=o(i.length-e,0),u=Array(c);++a{var n=r(1957),o="object"==typeof self&&self&&self.Object===Object&&self,i=n||o||Function("return this")();t.exports=i},61:(t,e,r)=>{var n=r(6560),o=r(1275)(n);t.exports=o},1275:t=>{var e=Date.now;t.exports=function(t){var r=0,n=0;return function(){var o=e(),i=16-(o-n);if(n=o,i>0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}}},7465:(t,e,r)=>{var n=r(8407);t.exports=function(){this.__data__=new n,this.size=0}},3779:t=>{t.exports=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}},7599:t=>{t.exports=function(t){return this.__data__.get(t)}},4758:t=>{t.exports=function(t){return this.__data__.has(t)}},4309:(t,e,r)=>{var n=r(8407),o=r(7071),i=r(3369);t.exports=function(t,e){var r=this.__data__;if(r instanceof n){var a=r.__data__;if(!o||a.length<199)return a.push([t,e]),this.size=++r.size,this;r=this.__data__=new i(a)}return r.set(t,e),this.size=r.size,this}},346:t=>{var e=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return e.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},8583:(t,e,r)=>{var n=r(4865),o=r(8363),i=r(1463),a=r(8612),c=r(5726),u=r(3674),s=Object.prototype.hasOwnProperty,l=i((function(t,e){if(c(e)||a(e))o(e,u(e),t);else for(var r in e)s.call(e,r)&&n(t,r,e[r])}));t.exports=l},361:(t,e,r)=>{var n=r(5990);t.exports=function(t){return n(t,5)}},5703:t=>{t.exports=function(t){return function(){return t}}},7813:t=>{t.exports=function(t,e){return t===e||t!=t&&e!=e}},5564:(t,e,r)=>{var n=r(1078);t.exports=function(t){return null!=t&&t.length?n(t,1):[]}},6557:t=>{t.exports=function(t){return t}},5694:(t,e,r)=>{var n=r(9454),o=r(7005),i=Object.prototype,a=i.hasOwnProperty,c=i.propertyIsEnumerable,u=n(function(){return arguments}())?n:function(t){return o(t)&&a.call(t,"callee")&&!c.call(t,"callee")};t.exports=u},1469:t=>{var e=Array.isArray;t.exports=e},8612:(t,e,r)=>{var n=r(3560),o=r(1780);t.exports=function(t){return null!=t&&o(t.length)&&!n(t)}},4144:(t,e,r)=>{t=r.nmd(t);var n=r(5639),o=r(5062),i=e&&!e.nodeType&&e,a=i&&t&&!t.nodeType&&t,c=a&&a.exports===i?n.Buffer:void 0,u=(c?c.isBuffer:void 0)||o;t.exports=u},3560:(t,e,r)=>{var n=r(4239),o=r(3218);t.exports=function(t){if(!o(t))return!1;var e=n(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},1780:t=>{t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},6688:(t,e,r)=>{var n=r(5588),o=r(7518),i=r(1167),a=i&&i.isMap,c=a?o(a):n;t.exports=c},3218:t=>{t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},7005:t=>{t.exports=function(t){return null!=t&&"object"==typeof t}},2928:(t,e,r)=>{var n=r(9221),o=r(7518),i=r(1167),a=i&&i.isSet,c=a?o(a):n;t.exports=c},6719:(t,e,r)=>{var n=r(8749),o=r(7518),i=r(1167),a=i&&i.isTypedArray,c=a?o(a):n;t.exports=c},3674:(t,e,r)=>{var n=r(4636),o=r(280),i=r(8612);t.exports=function(t){return i(t)?n(t):o(t)}},1704:(t,e,r)=>{var n=r(4636),o=r(313),i=r(8612);t.exports=function(t){return i(t)?n(t,!0):o(t)}},8306:(t,e,r)=>{var n=r(3369);function o(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var r=function(){var n=arguments,o=e?e.apply(this,n):n[0],i=r.cache;if(i.has(o))return i.get(o);var a=t.apply(this,n);return r.cache=i.set(o,a)||i,a};return r.cache=new(o.Cache||n),r}o.Cache=n,t.exports=o},479:t=>{t.exports=function(){return[]}},5062:t=>{t.exports=function(){return!1}},2779:function(t,e,r){var n,o,i;o=[r(8583),r(8615)],void 0===(i="function"==typeof(n=function(t,e){"use strict";function r(t,e,n,o){var i=Error.call(this,t);return Object.setPrototypeOf&&Object.setPrototypeOf(i,r.prototype),i.expected=e,i.found=n,i.location=o,i.name="SyntaxError",i}function n(t,e,r){return r=r||" ",t.length>e?t:(e-=t.length,t+(r+=r.repeat(e)).slice(0,e))}return function(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}(r,Error),r.prototype.format=function(t){var e="Error: "+this.message;if(this.location){var r,o=null;for(r=0;r0){for(e=1,r=1;e>",C="<<>>",S="note",A="abox",k="rbox",j="else",E="break",L="strict",O="critical",T="ignore",M="consider",P="assert",D="loop",I='"',F='\\"',B="*/",N=/^[^;, "\t\n\r=\-><:{*]/,R=/^[ \t]/,H=/^[\r\n]/,W=/^[^\r\n]/,z=/^[0-9]/,G=De(",",!1),V=De(";",!1),X=De("hscale",!0),U=De("arcgradient",!0),q=De("=",!1),$=De("width",!0),Y=De("wordwraparcs",!0),Z=De("wordwrapentities",!0),K=De("wordwrapboxes",!0),J=De("watermark",!0),Q=Fe("entity"),tt=De(":",!1),et=De("*",!1),rt=De("{",!1),nt=De("}",!1),ot=Fe("empty row"),it=De("|||",!1),at=De("...",!1),ct=Fe("---"),ut=De("---",!1),st=Fe("bi-directional arrow"),lt=De("--",!1),dt=De("<->",!1),ft=De("==",!1),ht=De("<<=>>",!1),pt=De("<=>",!1),gt=De("..",!1),bt=De("<<>>",!1),mt=De("::",!1),xt=De("<:>",!1),yt=Fe("left to right arrow"),vt=De("->",!1),wt=De("=>>",!1),_t=De("=>",!1),Ct=De(">>",!1),St=De(":>",!1),At=De("-x",!0),kt=Fe("right to left arrow"),jt=De("<-",!1),Et=De("<<=",!1),Lt=De("<=",!1),Ot=De("<<",!1),Tt=De("<:",!1),Mt=De("x-",!0),Pt=Fe("box"),Dt=De("note",!0),It=De("abox",!0),Ft=De("rbox",!0),Bt=De("box",!0),Nt=Fe("inline expression"),Rt=De("alt",!0),Ht=De("else",!0),Wt=De("opt",!0),zt=De("break",!0),Gt=De("par",!0),Vt=De("seq",!0),Xt=De("strict",!0),Ut=De("neg",!0),qt=De("critical",!0),$t=De("ignore",!0),Yt=De("consider",!0),Zt=De("assert",!0),Kt=De("loop",!0),Jt=De("ref",!0),Qt=De("exc",!0),te=Fe("double quoted string"),ee=De('"',!1),re=De('\\"',!1),ne={type:"any"},oe=Fe("identifier"),ie=Ie([";",","," ",'"',"\t","\n","\r","=","-",">","<",":","{","*"],!0,!1),ae=Fe("whitespace"),ce=Ie([" ","\t"],!1,!1),ue=Fe("lineend"),se=Ie(["\r","\n"],!1,!1),le=De("/*",!1),de=De("*/",!1),fe=De("//",!1),he=De("#",!1),pe=Ie(["\r","\n"],!0,!1),ge=Fe("comment"),be=Fe("number"),me=Ie([["0","9"]],!1,!1),xe=De(".",!1),ye=Fe("boolean"),ve=De("true",!0),we=De("false",!0),_e=De("on",!0),Ce=De("off",!0),Se=De("0",!1),Ae=De("1",!1),ke=Fe("size"),je=De("auto",!0),Ee=function(r,n){return n.entities=dr(n.entities||[],n.arcs),n=t({meta:e.getMetaInfo(n.options,n.arcs)},n),r.length>0&&(n=t({precomment:r},n)),n},Le=0,Oe=[{line:1,column:1}],Te=0,Me=[],Pe=0;if("startRule"in o){if(!(o.startRule in d))throw new Error("Can't start parsing from rule \""+o.startRule+'".');f=d[o.startRule]}function De(t,e){return{type:"literal",text:t,ignoreCase:e}}function Ie(t,e,r){return{type:"class",parts:t,inverted:e,ignoreCase:r}}function Fe(t){return{type:"other",description:t}}function Be(t){var e,r=Oe[t];if(r)return r;for(e=t-1;!Oe[e];)e--;for(r={line:(r=Oe[e]).line,column:r.column};eTe&&(Te=Le,Me=[]),Me.push(t))}function He(){var e,r;return e=nr(),r=function(){var e,r,o;return(e=function(){var e,r,o,i,a;for(e=Le,r=[],o=Le,(i=We())!==s?(44===n.charCodeAt(Le)?(a=h,Le++):(a=s,0===Pe&&Re(G)),a!==s?o=i:(Le=o,o=s)):(Le=o,o=s);o!==s;)r.push(o),o=Le,(i=We())!==s?(44===n.charCodeAt(Le)?(a=h,Le++):(a=s,0===Pe&&Re(G)),a!==s?o=i:(Le=o,o=s)):(Le=o,o=s);return o=Le,(i=We())!==s?(59===n.charCodeAt(Le)?(a=p,Le++):(a=s,0===Pe&&Re(V)),a!==s?o=i:(Le=o,o=s)):(Le=o,o=s),o!==s?e=r=[r,o]:(Le=e,e=s),e!==s&&(e=function(e){return e[0].concat(e[1]).reduce(t,{})}(e)),e}())===s&&(e=null),(r=function(){var t,e,r,o,i,a;for(t=Le,e=[],r=Le,(o=ze())!==s?(44===n.charCodeAt(Le)?(i=h,Le++):(i=s,0===Pe&&Re(G)),i!==s?r=o:(Le=r,r=s)):(Le=r,r=s);r!==s;)e.push(r),r=Le,(o=ze())!==s?(44===n.charCodeAt(Le)?(i=h,Le++):(i=s,0===Pe&&Re(G)),i!==s?r=o:(Le=r,r=s)):(Le=r,r=s);return r=Le,(o=ze())!==s?(59===n.charCodeAt(Le)?(i=p,Le++):(i=s,0===Pe&&Re(V)),i!==s?r=o:(Le=r,r=s)):(Le=r,r=s),r!==s?t=e=[e,r]:(Le=t,t=s),t!==s&&(t=(a=t)[0].concat(a[1])),t}())===s&&(r=null),(o=Ge())===s&&(o=null),function(t,e,r){var n={};return t&&(n.options=t),e&&(n.entities=e),r&&(n.arcs=r),n}(e,r,o)}(),nr(),Ee(e,r)}function We(){var t,r,o,i,a,c;return t=Le,nr(),"hscale"===n.substr(Le,6).toLowerCase()?(r=n.substr(Le,6),Le+=6):(r=s,0===Pe&&Re(X)),r===s&&("arcgradient"===n.substr(Le,11).toLowerCase()?(r=n.substr(Le,11),Le+=11):(r=s,0===Pe&&Re(U))),r!==s?(nr(),61===n.charCodeAt(Le)?(o=g,Le++):(o=s,0===Pe&&Re(q)),o!==s?(nr(),(i=function(){var t,e;return Pe++,t=Le,e=function(){var t,e,r,o;return t=Le,34===n.charCodeAt(Le)?(e=I,Le++):(e=s,0===Pe&&Re(ee)),e!==s&&(r=or())!==s?(34===n.charCodeAt(Le)?(o=I,Le++):(o=s,0===Pe&&Re(ee)),o!==s?t=r.toString():(Le=t,t=s)):(Le=t,t=s),t}(),(t=e)===s&&(t=Le,(e=or())!==s&&(e=e.toString()),t=e),Pe--,t===s&&(e=s,0===Pe&&Re(be)),t}())!==s?(nr(),a=r,c=i,t=e.nameValue2Option(a,c)):(Le=t,t=s)):(Le=t,t=s)):(Le=t,t=s),t===s&&(t=Le,nr(),"width"===n.substr(Le,5).toLowerCase()?(r=n.substr(Le,5),Le+=5):(r=s,0===Pe&&Re($)),r!==s?(nr(),61===n.charCodeAt(Le)?(o=g,Le++):(o=s,0===Pe&&Re(q)),o!==s?(nr(),(i=function(){var t;return Pe++,(t=function(){var t,e,r,o;return t=Le,34===n.charCodeAt(Le)?(e=I,Le++):(e=s,0===Pe&&Re(ee)),e!==s&&(r=ur())!==s?(34===n.charCodeAt(Le)?(o=I,Le++):(o=s,0===Pe&&Re(ee)),o!==s?t=r:(Le=t,t=s)):(Le=t,t=s),t}())===s&&(t=ur()),Pe--,t===s&&0===Pe&&Re(ke),t}())!==s?(nr(),t=function(t,r){return e.nameValue2Option(t,r)}(r,i)):(Le=t,t=s)):(Le=t,t=s)):(Le=t,t=s),t===s&&(t=Le,nr(),"wordwraparcs"===n.substr(Le,12).toLowerCase()?(r=n.substr(Le,12),Le+=12):(r=s,0===Pe&&Re(Y)),r!==s?(nr(),61===n.charCodeAt(Le)?(o=g,Le++):(o=s,0===Pe&&Re(q)),o!==s?(nr(),(i=ar())!==s?(nr(),t=function(t,r){return e.nameValue2Option(t,e.flattenBoolean(r))}(r,i)):(Le=t,t=s)):(Le=t,t=s)):(Le=t,t=s),t===s&&(t=Le,nr(),"wordwrapentities"===n.substr(Le,16).toLowerCase()?(r=n.substr(Le,16),Le+=16):(r=s,0===Pe&&Re(Z)),r!==s?(nr(),61===n.charCodeAt(Le)?(o=g,Le++):(o=s,0===Pe&&Re(q)),o!==s?(nr(),(i=ar())!==s?(nr(),t=function(t,r){return e.nameValue2Option(t,e.flattenBoolean(r))}(r,i)):(Le=t,t=s)):(Le=t,t=s)):(Le=t,t=s),t===s&&(t=Le,nr(),"wordwrapboxes"===n.substr(Le,13).toLowerCase()?(r=n.substr(Le,13),Le+=13):(r=s,0===Pe&&Re(K)),r!==s?(nr(),61===n.charCodeAt(Le)?(o=g,Le++):(o=s,0===Pe&&Re(q)),o!==s?(nr(),(i=ar())!==s?(nr(),t=function(t,r){return e.nameValue2Option(t,e.flattenBoolean(r))}(r,i)):(Le=t,t=s)):(Le=t,t=s)):(Le=t,t=s),t===s&&(t=Le,nr(),"watermark"===n.substr(Le,9).toLowerCase()?(r=n.substr(Le,9),Le+=9):(r=s,0===Pe&&Re(J)),r!==s?(nr(),61===n.charCodeAt(Le)?(o=g,Le++):(o=s,0===Pe&&Re(q)),o!==s?(nr(),(i=Ze())!==s?(nr(),t=function(t,r){return e.nameValue2Option(t,r)}(r,i)):(Le=t,t=s)):(Le=t,t=s)):(Le=t,t=s)))))),t}function ze(){var t,e,r,o,i,a,c;return Pe++,t=Le,nr(),(e=Ke())!==s?(nr(),r=Le,58===n.charCodeAt(Le)?(o=":",Le++):(o=s,0===Pe&&Re(tt)),o!==s?(nr(),(i=Ye())!==s?(nr(),r=i):(Le=r,r=s)):(Le=r,r=s),r===s&&(r=null),a=r,c=lr(e),a&&(c.label=a),t=c):(Le=t,t=s),Pe--,t===s&&0===Pe&&Re(Q),t}function Ge(){var t,e,r,o;if(t=[],e=Le,(r=Ve())!==s?(nr(),59===n.charCodeAt(Le)?(o=p,Le++):(o=s,0===Pe&&Re(V)),o!==s?e=r:(Le=e,e=s)):(Le=e,e=s),e!==s)for(;e!==s;)t.push(e),e=Le,(r=Ve())!==s?(nr(),59===n.charCodeAt(Le)?(o=p,Le++):(o=s,0===Pe&&Re(V)),o!==s?e=r:(Le=e,e=s)):(Le=e,e=s);else t=s;return t}function Ve(){var t,e,r,o,i,a;for(t=Le,e=[],r=Le,(o=Xe())!==s?(44===n.charCodeAt(Le)?(i=h,Le++):(i=s,0===Pe&&Re(G)),i!==s?r=o:(Le=r,r=s)):(Le=r,r=s);r!==s;)e.push(r),r=Le,(o=Xe())!==s?(44===n.charCodeAt(Le)?(i=h,Le++):(i=s,0===Pe&&Re(G)),i!==s?r=o:(Le=r,r=s)):(Le=r,r=s);return r=Le,(r=o=Xe())!==s?t=e=[e,r]:(Le=t,t=s),t!==s&&(t=(a=t)[0].concat(a[1])),t}function Xe(){var t;return(t=function(){var t,e,r,o,i,a,c;return t=Le,e=Le,r=function(){var t,e;return t=Le,nr(),(e=function(){var t;return Pe++,n.substr(Le,3)===y?(t=y,Le+=3):(t=s,0===Pe&&Re(it)),t===s&&(n.substr(Le,3)===v?(t=v,Le+=3):(t=s,0===Pe&&Re(at))),Pe--,t===s&&0===Pe&&Re(ot),t}())!==s?(nr(),t={kind:e}):(Le=t,t=s),t}(),(e=r)===s&&(e=Le,r=function(){var t,e,r,o;return t=Le,nr(),(e=Ke())!==s?(nr(),(r=function(){var t;return(t=Ue())===s&&(t=qe())===s&&(t=$e())===s&&(t=function(){var t;return Pe++,n.substr(Le,4).toLowerCase()===S?(t=n.substr(Le,4),Le+=4):(t=s,0===Pe&&Re(Dt)),t===s&&(n.substr(Le,4).toLowerCase()===A?(t=n.substr(Le,4),Le+=4):(t=s,0===Pe&&Re(It)),t===s&&(n.substr(Le,4).toLowerCase()===k?(t=n.substr(Le,4),Le+=4):(t=s,0===Pe&&Re(Ft)),t===s&&("box"===n.substr(Le,3).toLowerCase()?(t=n.substr(Le,3),Le+=3):(t=s,0===Pe&&Re(Bt))))),Pe--,t===s&&0===Pe&&Re(Pt),t}()),t!==s&&(t=t.toLowerCase()),t}())!==s?(nr(),(o=Ke())!==s?(nr(),t={kind:r,from:e,to:o}):(Le=t,t=s)):(Le=t,t=s)):(Le=t,t=s),t===s&&(t=Le,nr(),42===n.charCodeAt(Le)?(e=m,Le++):(e=s,0===Pe&&Re(et)),e!==s?(nr(),(r=$e())!==s?(nr(),(o=Ke())!==s?(nr(),t=function(t,e){return{kind:t,from:"*",to:e}}(r,o)):(Le=t,t=s)):(Le=t,t=s)):(Le=t,t=s),t===s&&(t=Le,nr(),(e=Ke())!==s?(nr(),(r=qe())!==s?(nr(),42===n.charCodeAt(Le)?(o=m,Le++):(o=s,0===Pe&&Re(et)),o!==s?(nr(),t=function(t,e){return{kind:e,from:t,to:"*"}}(e,r)):(Le=t,t=s)):(Le=t,t=s)):(Le=t,t=s),t===s&&(t=Le,nr(),(e=Ke())!==s?(nr(),(r=Ue())!==s?(nr(),42===n.charCodeAt(Le)?(o=m,Le++):(o=s,0===Pe&&Re(et)),o!==s?(nr(),t=function(t,e){return{kind:e,from:t,to:"*"}}(e,r)):(Le=t,t=s)):(Le=t,t=s)):(Le=t,t=s)))),t}(),(e=r)===s&&(e=Le,r=function(){var t,e;return t=Le,nr(),(e=function(){var t;return Pe++,n.substr(Le,3)===w?(t=w,Le+=3):(t=s,0===Pe&&Re(ut)),Pe--,t===s&&0===Pe&&Re(ct),t}())!==s?(nr(),t={kind:e}):(Le=t,t=s),t}(),e=r)),e!==s?(r=Le,58===n.charCodeAt(Le)?(o=b,Le++):(o=s,0===Pe&&Re(tt)),o!==s?(nr(),(i=Ye())!==s?(nr(),r=i):(Le=r,r=s)):(Le=r,r=s),r===s&&(r=null),a=e,(c=r)&&(a.label=c),t=a):(Le=t,t=s),t}())===s&&(t=function(){var t,e,r,o,i,a,c,u,l,d;return t=Le,nr(),(e=Ke())!==s?(nr(),(r=function(){var t,e;return Pe++,"alt"===n.substr(Le,3).toLowerCase()?(e=n.substr(Le,3),Le+=3):(e=s,0===Pe&&Re(Rt)),e===s&&(n.substr(Le,4).toLowerCase()===j?(e=n.substr(Le,4),Le+=4):(e=s,0===Pe&&Re(Ht)),e===s&&("opt"===n.substr(Le,3).toLowerCase()?(e=n.substr(Le,3),Le+=3):(e=s,0===Pe&&Re(Wt)),e===s&&(n.substr(Le,5).toLowerCase()===E?(e=n.substr(Le,5),Le+=5):(e=s,0===Pe&&Re(zt)),e===s&&("par"===n.substr(Le,3).toLowerCase()?(e=n.substr(Le,3),Le+=3):(e=s,0===Pe&&Re(Gt)),e===s&&("seq"===n.substr(Le,3).toLowerCase()?(e=n.substr(Le,3),Le+=3):(e=s,0===Pe&&Re(Vt)),e===s&&(n.substr(Le,6).toLowerCase()===L?(e=n.substr(Le,6),Le+=6):(e=s,0===Pe&&Re(Xt)),e===s&&("neg"===n.substr(Le,3).toLowerCase()?(e=n.substr(Le,3),Le+=3):(e=s,0===Pe&&Re(Ut)),e===s&&(n.substr(Le,8).toLowerCase()===O?(e=n.substr(Le,8),Le+=8):(e=s,0===Pe&&Re(qt)),e===s&&(n.substr(Le,6).toLowerCase()===T?(e=n.substr(Le,6),Le+=6):(e=s,0===Pe&&Re($t)),e===s&&(n.substr(Le,8).toLowerCase()===M?(e=n.substr(Le,8),Le+=8):(e=s,0===Pe&&Re(Yt)),e===s&&(n.substr(Le,6).toLowerCase()===P?(e=n.substr(Le,6),Le+=6):(e=s,0===Pe&&Re(Zt)),e===s&&(n.substr(Le,4).toLowerCase()===D?(e=n.substr(Le,4),Le+=4):(e=s,0===Pe&&Re(Kt)),e===s&&("ref"===n.substr(Le,3).toLowerCase()?(e=n.substr(Le,3),Le+=3):(e=s,0===Pe&&Re(Jt)),e===s&&("exc"===n.substr(Le,3).toLowerCase()?(e=n.substr(Le,3),Le+=3):(e=s,0===Pe&&Re(Qt)))))))))))))))),e!==s&&(e=e.toLowerCase()),Pe--,(t=e)===s&&(e=s,0===Pe&&Re(Nt)),t}())!==s?(nr(),(o=Ke())!==s?(nr(),i=Le,58===n.charCodeAt(Le)?(a=b,Le++):(a=s,0===Pe&&Re(tt)),a!==s?(nr(),(c=Ye())!==s?(nr(),i=c):(Le=i,i=s)):(Le=i,i=s),i===s&&(i=null),123===n.charCodeAt(Le)?(a=x,Le++):(a=s,0===Pe&&Re(rt)),a!==s?(nr(),(c=Ge())===s&&(c=null),nr(),125===n.charCodeAt(Le)?(u="}",Le++):(u=s,0===Pe&&Re(nt)),u!==s?(nr(),d={kind:r,from:e,to:o,arcs:c},(l=i)&&(d.label=l),t=d):(Le=t,t=s)):(Le=t,t=s)):(Le=t,t=s)):(Le=t,t=s)):(Le=t,t=s),t}()),t}function Ue(){var t;return Pe++,"--"===n.substr(Le,2)?(t="--",Le+=2):(t=s,0===Pe&&Re(lt)),t===s&&("<->"===n.substr(Le,3)?(t="<->",Le+=3):(t=s,0===Pe&&Re(dt)),t===s&&("=="===n.substr(Le,2)?(t="==",Le+=2):(t=s,0===Pe&&Re(ft)),t===s&&(n.substr(Le,5)===_?(t=_,Le+=5):(t=s,0===Pe&&Re(ht)),t===s&&("<=>"===n.substr(Le,3)?(t="<=>",Le+=3):(t=s,0===Pe&&Re(pt)),t===s&&(".."===n.substr(Le,2)?(t="..",Le+=2):(t=s,0===Pe&&Re(gt)),t===s&&(n.substr(Le,4)===C?(t=C,Le+=4):(t=s,0===Pe&&Re(bt)),t===s&&("::"===n.substr(Le,2)?(t="::",Le+=2):(t=s,0===Pe&&Re(mt)),t===s&&("<:>"===n.substr(Le,3)?(t="<:>",Le+=3):(t=s,0===Pe&&Re(xt)))))))))),Pe--,t===s&&0===Pe&&Re(st),t}function qe(){var t;return Pe++,"->"===n.substr(Le,2)?(t="->",Le+=2):(t=s,0===Pe&&Re(vt)),t===s&&("=>>"===n.substr(Le,3)?(t="=>>",Le+=3):(t=s,0===Pe&&Re(wt)),t===s&&("=>"===n.substr(Le,2)?(t="=>",Le+=2):(t=s,0===Pe&&Re(_t)),t===s&&(">>"===n.substr(Le,2)?(t=">>",Le+=2):(t=s,0===Pe&&Re(Ct)),t===s&&(":>"===n.substr(Le,2)?(t=":>",Le+=2):(t=s,0===Pe&&Re(St)),t===s&&("-x"===n.substr(Le,2).toLowerCase()?(t=n.substr(Le,2),Le+=2):(t=s,0===Pe&&Re(At))))))),Pe--,t===s&&0===Pe&&Re(yt),t}function $e(){var t;return Pe++,"<-"===n.substr(Le,2)?(t="<-",Le+=2):(t=s,0===Pe&&Re(jt)),t===s&&("<<="===n.substr(Le,3)?(t="<<=",Le+=3):(t=s,0===Pe&&Re(Et)),t===s&&("<="===n.substr(Le,2)?(t="<=",Le+=2):(t=s,0===Pe&&Re(Lt)),t===s&&("<<"===n.substr(Le,2)?(t="<<",Le+=2):(t=s,0===Pe&&Re(Ot)),t===s&&("<:"===n.substr(Le,2)?(t="<:",Le+=2):(t=s,0===Pe&&Re(Tt)),t===s&&("x-"===n.substr(Le,2).toLowerCase()?(t=n.substr(Le,2),Le+=2):(t=s,0===Pe&&Re(Mt))))))),Pe--,t===s&&0===Pe&&Re(kt),t}function Ye(){var t,e;return(t=Ze())===s&&(e=function(){var t,e,r,o;for(t=[],e=Le,r=Le,Pe++,44===n.charCodeAt(Le)?(o=h,Le++):(o=s,0===Pe&&Re(G)),o===s&&(59===n.charCodeAt(Le)?(o=p,Le++):(o=s,0===Pe&&Re(V)),o===s&&(123===n.charCodeAt(Le)?(o=x,Le++):(o=s,0===Pe&&Re(rt)))),Pe--,o===s?r=void 0:(Le=r,r=s),r!==s?(n.length>Le?(o=n.charAt(Le),Le++):(o=s,0===Pe&&Re(ne)),o!==s?e=o:(Le=e,e=s)):(Le=e,e=s);e!==s;)t.push(e),e=Le,r=Le,Pe++,44===n.charCodeAt(Le)?(o=h,Le++):(o=s,0===Pe&&Re(G)),o===s&&(59===n.charCodeAt(Le)?(o=p,Le++):(o=s,0===Pe&&Re(V)),o===s&&(123===n.charCodeAt(Le)?(o=x,Le++):(o=s,0===Pe&&Re(rt)))),Pe--,o===s?r=void 0:(Le=r,r=s),r!==s?(n.length>Le?(o=n.charAt(Le),Le++):(o=s,0===Pe&&Re(ne)),o!==s?e=o:(Le=e,e=s)):(Le=e,e=s);return t}(),t=e.join("").trim()),t}function Ze(){var t,e,r,o;return Pe++,t=Le,34===n.charCodeAt(Le)?(e=I,Le++):(e=s,0===Pe&&Re(ee)),e!==s?(r=function(){var t,e,r,o;for(t=[],e=Le,r=Le,Pe++,34===n.charCodeAt(Le)?(o=I,Le++):(o=s,0===Pe&&Re(ee)),Pe--,o===s?r=void 0:(Le=r,r=s),r!==s?(n.substr(Le,2)===F?(o=F,Le+=2):(o=s,0===Pe&&Re(re)),o===s&&(n.length>Le?(o=n.charAt(Le),Le++):(o=s,0===Pe&&Re(ne))),o!==s?e=o:(Le=e,e=s)):(Le=e,e=s);e!==s;)t.push(e),e=Le,r=Le,Pe++,34===n.charCodeAt(Le)?(o=I,Le++):(o=s,0===Pe&&Re(ee)),Pe--,o===s?r=void 0:(Le=r,r=s),r!==s?(n.substr(Le,2)===F?(o=F,Le+=2):(o=s,0===Pe&&Re(re)),o===s&&(n.length>Le?(o=n.charAt(Le),Le++):(o=s,0===Pe&&Re(ne))),o!==s?e=o:(Le=e,e=s)):(Le=e,e=s);return t}(),34===n.charCodeAt(Le)?(o=I,Le++):(o=s,0===Pe&&Re(ee)),o!==s?t=r.join(""):(Le=t,t=s)):(Le=t,t=s),Pe--,t===s&&(e=s,0===Pe&&Re(te)),t}function Ke(){var t,e,r;if(Pe++,t=Le,e=[],N.test(n.charAt(Le))?(r=n.charAt(Le),Le++):(r=s,0===Pe&&Re(ie)),r!==s)for(;r!==s;)e.push(r),N.test(n.charAt(Le))?(r=n.charAt(Le),Le++):(r=s,0===Pe&&Re(ie));else e=s;return e!==s&&(e=e.join("")),(t=e)===s&&(t=Ze()),Pe--,t===s&&(e=s,0===Pe&&Re(oe)),t}function Je(){var t,e;return Pe++,R.test(n.charAt(Le))?(e=n.charAt(Le),Le++):(e=s,0===Pe&&Re(ce)),Pe--,(t=e)===s&&(e=s,0===Pe&&Re(ae)),t}function Qe(){var t,e;return Pe++,H.test(n.charAt(Le))?(e=n.charAt(Le),Le++):(e=s,0===Pe&&Re(se)),Pe--,(t=e)===s&&(e=s,0===Pe&&Re(ue)),t}function tr(){var t,e,r;return t=Le,e=Le,Pe++,n.substr(Le,2)===B?(r=B,Le+=2):(r=s,0===Pe&&Re(de)),Pe--,r===s?e=void 0:(Le=e,e=s),e!==s?(n.length>Le?(r=n.charAt(Le),Le++):(r=s,0===Pe&&Re(ne)),r!==s?t=r:(Le=t,t=s)):(Le=t,t=s),t}function er(){var t;return W.test(n.charAt(Le))?(t=n.charAt(Le),Le++):(t=s,0===Pe&&Re(pe)),t}function rr(){var t;return Pe++,(t=function(){var t,e,r,o;if(t=Le,(e=function(){var t;return"//"===n.substr(Le,2)?(t="//",Le+=2):(t=s,0===Pe&&Re(fe)),t===s&&(35===n.charCodeAt(Le)?(t="#",Le++):(t=s,0===Pe&&Re(he))),t}())!==s){for(r=[],o=er();o!==s;)r.push(o),o=er();t=e+r.join("")}else Le=t,t=s;return t}())===s&&(t=function(){var t,e,r,o,i;if(t=Le,(e=function(){var t;return"/*"===n.substr(Le,2)?(t="/*",Le+=2):(t=s,0===Pe&&Re(le)),t}())!==s){for(r=[],o=tr();o!==s;)r.push(o),o=tr();(o=function(){var t;return n.substr(Le,2)===B?(t=B,Le+=2):(t=s,0===Pe&&Re(de)),t}())!==s?(i=o,t=e+r.join("")+i):(Le=t,t=s)}else Le=t,t=s;return t}()),Pe--,t===s&&0===Pe&&Re(ge),t}function nr(){var t,e;for(t=[],(e=Je())===s&&(e=Qe())===s&&(e=rr());e!==s;)t.push(e),(e=Je())===s&&(e=Qe())===s&&(e=rr());return t}function or(){var t,e,r,o,i;return e=Le,(r=ir())!==s?(46===n.charCodeAt(Le)?(o=".",Le++):(o=s,0===Pe&&Re(xe)),o!==s&&(i=ir())!==s?e=r=[r,o,i]:(Le=e,e=s)):(Le=e,e=s),e!==s&&(e=parseFloat(e.join(""))),(t=e)===s&&(t=ir()),t}function ir(){var t,e;if(t=[],z.test(n.charAt(Le))?(e=n.charAt(Le),Le++):(e=s,0===Pe&&Re(me)),e!==s)for(;e!==s;)t.push(e),z.test(n.charAt(Le))?(e=n.charAt(Le),Le++):(e=s,0===Pe&&Re(me));else t=s;return t!==s&&(t=parseInt(t.join(""),10)),t}function ar(){var t,e;return Pe++,t=Le,e=function(){var t,e,r,o;return t=Le,34===n.charCodeAt(Le)?(e=I,Le++):(e=s,0===Pe&&Re(ee)),e!==s&&(r=cr())!==s?(34===n.charCodeAt(Le)?(o=I,Le++):(o=s,0===Pe&&Re(ee)),o!==s?t=r:(Le=t,t=s)):(Le=t,t=s),t}(),(t=e)===s&&(t=Le,(e=cr())!==s&&(e=e.toString()),t=e),Pe--,t===s&&(e=s,0===Pe&&Re(ye)),t}function cr(){var t;return"true"===n.substr(Le,4).toLowerCase()?(t=n.substr(Le,4),Le+=4):(t=s,0===Pe&&Re(ve)),t===s&&("false"===n.substr(Le,5).toLowerCase()?(t=n.substr(Le,5),Le+=5):(t=s,0===Pe&&Re(we)),t===s&&("on"===n.substr(Le,2).toLowerCase()?(t=n.substr(Le,2),Le+=2):(t=s,0===Pe&&Re(_e)),t===s&&("off"===n.substr(Le,3).toLowerCase()?(t=n.substr(Le,3),Le+=3):(t=s,0===Pe&&Re(Ce)),t===s&&(48===n.charCodeAt(Le)?(t="0",Le++):(t=s,0===Pe&&Re(Se)),t===s&&(49===n.charCodeAt(Le)?(t="1",Le++):(t=s,0===Pe&&Re(Ae))))))),t}function ur(){var t,e;return t=Le,(e=or())!==s&&(e=e.toString()),(t=e)===s&&(t=Le,"auto"===n.substr(Le,4).toLowerCase()?(e=n.substr(Le,4),Le+=4):(e=s,0===Pe&&Re(je)),e!==s&&(e=e.toLowerCase()),t=e),t}function sr(t,r,n){return!(e.entityExists(t,r)||!0===n[r])}function lr(t){return{name:t}}function dr(e,r,n){return n||(n={}),(r||[]).forEach((function(r){r.forEach((function(r){sr(e,r.from,n)&&e.push(lr(r.from)),r.arcs&&(n[r.to]=!0,t(e,dr(e,r.arcs,n)),delete n[r.to]),sr(e,r.to,n)&&e.push(lr(r.to))}))})),e}if((i=f())!==s&&Le===n.length)return i;throw i!==s&&Le{"use strict";function r(t,e){return void 0===e||"*"===e||t.some((function(t){return t.name===e}))}e.__esModule=!0,e.getMetaInfo=e.checkForUndeclaredEntities=e.EntityNotDefinedError=e.isMscGenKeyword=e.entityExists=e.flattenBoolean=e.nameValue2Option=void 0,e.nameValue2Option=function(t,e){var r={};return r[t.toLowerCase()]=e,r},e.flattenBoolean=function(t){return["true","on","1"].includes(t.toLowerCase())},e.entityExists=r,e.isMscGenKeyword=function(t){return["box","abox","rbox","note","msc","hscale","width","arcgradient","wordwraparcs","label","color","idurl","id","url","linecolor","linecolour","textcolor","textcolour","textbgcolor","textbgcolour","arclinecolor","arclinecolour","arctextcolor","arctextcolour","arctextbgcolor","arctextbgcolour","arcskip"].includes(t)};var n=function(t,e){this.name="EntityNotDefinedError",this.message=function(t,e){return"Entity '".concat(t,"' in arc '").concat(e.from," ").concat(e.kind," ").concat(e.to,"' is not defined.")}(t,e)};e.EntityNotDefinedError=n,e.checkForUndeclaredEntities=function t(e,o){(o||[]).forEach((function(o){o.forEach((function(o){if(o.from&&!r(e,o.from))throw new n(o.from,o);if(o.to&&!r(e,o.to))throw new n(o.to,o);o.arcs&&t(e,o.arcs)}))}))},e.getMetaInfo=function(t,e){var r=function(t){return!!t&&(t.hasOwnProperty("watermark")||t.hasOwnProperty("wordwrapentities")||t.hasOwnProperty("wordwrapboxes")||t.hasOwnProperty("width")&&"auto"===t.width)}(t),n=function(t){return(t||[]).some((function(t){return t.some((function(t){return["alt","else","opt","break","par","seq","strict","neg","critical","ignore","consider","assert","loop","ref","exc"].includes(t.kind)}))}))}(e);return{extendedOptions:r,extendedArcTypes:n,extendedFeatures:r||n}}},5150:function(t,e,r){var n,o,i;o=[r(8583),r(8615)],void 0===(i="function"==typeof(n=function(t,e){"use strict";function r(t,e,n,o){var i=Error.call(this,t);return Object.setPrototypeOf&&Object.setPrototypeOf(i,r.prototype),i.expected=e,i.found=n,i.location=o,i.name="SyntaxError",i}function n(t,e,r){return r=r||" ",t.length>e?t:(e-=t.length,t+(r+=r.repeat(e)).slice(0,e))}return function(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}(r,Error),r.prototype.format=function(t){var e="Error: "+this.message;if(this.location){var r,o=null;for(r=0;r0){for(e=1,r=1;e>",C="<<>>",S="note",A="abox",k="rbox",j="else",E="break",L="strict",O="critical",T="ignore",M="consider",P="assert",D="loop",I="activate",F="deactivate",B="label",N="idurl",R="linecolor",H="linecolour",W="textcolor",z="textcolour",G="textbgcolor",V="textbgcolour",X="arclinecolor",U="arclinecolour",q="arctextcolor",$="arctextcolour",Y="arctextbgcolor",Z="arctextbgcolour",K="arcskip",J="title",Q="activation",tt='"',et='\\"',rt="*/",nt=/^[A-Za-z_0-9]/,ot=/^[ \t]/,it=/^[\r\n]/,at=/^[^\r\n]/,ct=/^[0-9]/,ut=jr("{",!1),st=jr("}",!1),lt=jr("msc",!0),dt=jr("xu",!0),ft=jr(",",!1),ht=jr(";",!1),pt=Lr("option"),gt=jr("hscale",!0),bt=jr("arcgradient",!0),mt=jr("=",!1),xt=jr("width",!0),yt=jr("wordwraparcs",!0),vt=jr("wordwrapentities",!0),wt=jr("wordwrapboxes",!0),_t=jr("watermark",!0),Ct=Lr("entity"),St=jr("[",!1),At=jr("]",!1),kt=jr("*",!1),jt=Lr("empty row"),Et=jr("|||",!1),Lt=jr("...",!1),Ot=Lr("---"),Tt=jr("---",!1),Mt=Lr("bi-directional arrow"),Pt=jr("--",!1),Dt=jr("<->",!1),It=jr("==",!1),Ft=jr("<<=>>",!1),Bt=jr("<=>",!1),Nt=jr("..",!1),Rt=jr("<<>>",!1),Ht=jr("::",!1),Wt=jr("<:>",!1),zt=Lr("left to right arrow"),Gt=jr("->",!1),Vt=jr("=>>",!1),Xt=jr("=>",!1),Ut=jr(">>",!1),qt=jr(":>",!1),$t=jr("-x",!0),Yt=Lr("right to left arrow"),Zt=jr("<-",!1),Kt=jr("<<=",!1),Jt=jr("<=",!1),Qt=jr("<<",!1),te=jr("<:",!1),ee=jr("x-",!0),re=Lr("box"),ne=jr("note",!0),oe=jr("abox",!0),ie=jr("rbox",!0),ae=jr("box",!0),ce=Lr("inline expression"),ue=jr("alt",!0),se=jr("else",!0),le=jr("opt",!0),de=jr("break",!0),fe=jr("par",!0),he=jr("seq",!0),pe=jr("strict",!0),ge=jr("neg",!0),be=jr("critical",!0),me=jr("ignore",!0),xe=jr("consider",!0),ye=jr("assert",!0),ve=jr("loop",!0),we=jr("ref",!0),_e=jr("exc",!0),Ce=Lr("activate or deactivate"),Se=jr("activate",!0),Ae=jr("deactivate",!0),ke=Lr("attribute name"),je=jr("label",!0),Ee=jr("idurl",!0),Le=jr("id",!0),Oe=jr("url",!0),Te=jr("linecolor",!0),Me=jr("linecolour",!0),Pe=jr("textcolor",!0),De=jr("textcolour",!0),Ie=jr("textbgcolor",!0),Fe=jr("textbgcolour",!0),Be=jr("arclinecolor",!0),Ne=jr("arclinecolour",!0),Re=jr("arctextcolor",!0),He=jr("arctextcolour",!0),We=jr("arctextbgcolor",!0),ze=jr("arctextbgcolour",!0),Ge=jr("arcskip",!0),Ve=jr("title",!0),Xe=jr("activation",!0),Ue=Lr("double quoted string"),qe=jr('"',!1),$e=jr('\\"',!1),Ye={type:"any"},Ze=Lr("identifier"),Ke=Er([["A","Z"],["a","z"],"_",["0","9"]],!1,!1),Je=Lr("whitespace"),Qe=Er([" ","\t"],!1,!1),tr=Lr("lineend"),er=Er(["\r","\n"],!1,!1),rr=jr("/*",!1),nr=jr("*/",!1),or=jr("//",!1),ir=jr("#",!1),ar=Er(["\r","\n"],!0,!1),cr=Lr("comment"),ur=Lr("number"),sr=Er([["0","9"]],!1,!1),lr=jr(".",!1),dr=Lr("boolean"),fr=jr("true",!0),hr=jr("false",!0),pr=jr("on",!0),gr=jr("off",!0),br=jr("0",!1),mr=jr("1",!1),xr=Lr("size"),yr=jr("auto",!0),vr=function(n,o){return e.isMscGenKeyword(n)&&function(t,e){throw function(t,e){return new r("MscGen keywords aren't allowed as entity names (embed them in quotes if you need them)",null,null,e)}(0,e=void 0!==e?e:Tr(_r,wr))}(),t({name:n},o)},wr=0,_r=0,Cr=[{line:1,column:1}],Sr=0,Ar=[],kr=0;if("startRule"in o){if(!(o.startRule in d))throw new Error("Can't start parsing from rule \""+o.startRule+'".');f=d[o.startRule]}function jr(t,e){return{type:"literal",text:t,ignoreCase:e}}function Er(t,e,r){return{type:"class",parts:t,inverted:e,ignoreCase:r}}function Lr(t){return{type:"other",description:t}}function Or(t){var e,r=Cr[t];if(r)return r;for(e=t-1;!Cr[e];)e--;for(r={line:(r=Cr[e]).line,column:r.column};eSr&&(Sr=wr,Ar=[]),Ar.push(t))}function Pr(){var r,o,i,a,c,u,l;return r=wr,o=Jr(),function(){var t;return"msc"===n.substr(wr,3).toLowerCase()?(t=n.substr(wr,3),wr+=3):(t=s,0===kr&&Mr(lt)),t===s&&("xu"===n.substr(wr,2).toLowerCase()?(t=n.substr(wr,2),wr+=2):(t=s,0===kr&&Mr(dt))),t}()!==s?(Jr(),123===n.charCodeAt(wr)?(i="{",wr++):(i=s,0===kr&&Mr(ut)),i!==s?(Jr(),a=function(){var e,r,o,i;return e=wr,(r=function(){var e,r,o,i,a,c;for(e=wr,r=wr,o=[],i=wr,(a=Dr())!==s?(44===n.charCodeAt(wr)?(c=h,wr++):(c=s,0===kr&&Mr(ft)),c!==s?(_r=i,i=a):(wr=i,i=s)):(wr=i,i=s);i!==s;)o.push(i),i=wr,(a=Dr())!==s?(44===n.charCodeAt(wr)?(c=h,wr++):(c=s,0===kr&&Mr(ft)),c!==s?(_r=i,i=a):(wr=i,i=s)):(wr=i,i=s);return i=wr,(a=Dr())!==s?(59===n.charCodeAt(wr)?(c=p,wr++):(c=s,0===kr&&Mr(ht)),c!==s?(_r=i,i=a):(wr=i,i=s)):(wr=i,i=s),i!==s?r=o=[o,i]:(wr=r,r=s),r!==s&&(_r=e,r=function(e){return e[0].concat(e[1]).reduce(t,{})}(r)),r}())===s&&(r=null),(o=function(){var t,e,r,o,i,a,c;for(t=wr,e=wr,r=[],o=wr,(i=Ir())!==s?(44===n.charCodeAt(wr)?(a=h,wr++):(a=s,0===kr&&Mr(ft)),a!==s?(_r=o,o=i):(wr=o,o=s)):(wr=o,o=s);o!==s;)r.push(o),o=wr,(i=Ir())!==s?(44===n.charCodeAt(wr)?(a=h,wr++):(a=s,0===kr&&Mr(ft)),a!==s?(_r=o,o=i):(wr=o,o=s)):(wr=o,o=s);return o=wr,(i=Ir())!==s?(59===n.charCodeAt(wr)?(a=p,wr++):(a=s,0===kr&&Mr(ht)),a!==s?(_r=o,o=i):(wr=o,o=s)):(wr=o,o=s),o!==s?e=r=[r,o]:(wr=e,e=s),e!==s&&(_r=t,e=(c=e)[0].concat(c[1])),e}())===s&&(o=null),(i=Fr())===s&&(i=null),_r=e,function(t,e,r){var n={};return t&&(n.options=t),e&&(n.entities=e),r&&(n.arcs=r),n}(r,o,i)}(),Jr(),125===n.charCodeAt(wr)?(c="}",wr++):(c=s,0===kr&&Mr(st)),c!==s?(Jr(),_r=r,u=o,(l=a).entities=l.entities||[],e.checkForUndeclaredEntities(l.entities,l.arcs),l=t({meta:e.getMetaInfo(l.options,l.arcs)},l),u.length>0&&(l=t({precomment:u},l)),r=l):(wr=r,r=s)):(wr=r,r=s)):(wr=r,r=s),r}function Dr(){var t,r,o,i,a,c;return kr++,t=wr,Jr(),"hscale"===n.substr(wr,6).toLowerCase()?(r=n.substr(wr,6),wr+=6):(r=s,0===kr&&Mr(gt)),r===s&&("arcgradient"===n.substr(wr,11).toLowerCase()?(r=n.substr(wr,11),wr+=11):(r=s,0===kr&&Mr(bt))),r!==s?(Jr(),61===n.charCodeAt(wr)?(o=g,wr++):(o=s,0===kr&&Mr(mt)),o!==s?(Jr(),(i=function(){var t,e;return kr++,t=wr,(e=function(){var t,e,r,o;return t=wr,34===n.charCodeAt(wr)?(e=tt,wr++):(e=s,0===kr&&Mr(qe)),e!==s&&(r=Qr())!==s?(34===n.charCodeAt(wr)?(o=tt,wr++):(o=s,0===kr&&Mr(qe)),o!==s?(_r=t,t=r.toString()):(wr=t,t=s)):(wr=t,t=s),t}())!==s&&(_r=t),(t=e)===s&&(t=wr,(e=Qr())!==s&&(_r=t,e=e.toString()),t=e),kr--,t===s&&(e=s,0===kr&&Mr(ur)),t}())!==s?(Jr(),_r=t,a=r,c=i,t=e.nameValue2Option(a,c)):(wr=t,t=s)):(wr=t,t=s)):(wr=t,t=s),t===s&&(t=wr,Jr(),"width"===n.substr(wr,5).toLowerCase()?(r=n.substr(wr,5),wr+=5):(r=s,0===kr&&Mr(xt)),r!==s?(Jr(),61===n.charCodeAt(wr)?(o=g,wr++):(o=s,0===kr&&Mr(mt)),o!==s?(Jr(),(i=function(){var t;return kr++,(t=function(){var t,e,r,o;return t=wr,34===n.charCodeAt(wr)?(e=tt,wr++):(e=s,0===kr&&Mr(qe)),e!==s&&(r=nn())!==s?(34===n.charCodeAt(wr)?(o=tt,wr++):(o=s,0===kr&&Mr(qe)),o!==s?(_r=t,t=r):(wr=t,t=s)):(wr=t,t=s),t}())===s&&(t=nn()),kr--,t===s&&0===kr&&Mr(xr),t}())!==s?(Jr(),_r=t,t=function(t,r){return e.nameValue2Option(t,r)}(r,i)):(wr=t,t=s)):(wr=t,t=s)):(wr=t,t=s),t===s&&(t=wr,Jr(),"wordwraparcs"===n.substr(wr,12).toLowerCase()?(r=n.substr(wr,12),wr+=12):(r=s,0===kr&&Mr(yt)),r!==s?(Jr(),61===n.charCodeAt(wr)?(o=g,wr++):(o=s,0===kr&&Mr(mt)),o!==s?(Jr(),(i=en())!==s?(Jr(),_r=t,t=function(t,r){return e.nameValue2Option(t,e.flattenBoolean(r))}(r,i)):(wr=t,t=s)):(wr=t,t=s)):(wr=t,t=s),t===s&&(t=wr,Jr(),"wordwrapentities"===n.substr(wr,16).toLowerCase()?(r=n.substr(wr,16),wr+=16):(r=s,0===kr&&Mr(vt)),r!==s?(Jr(),61===n.charCodeAt(wr)?(o=g,wr++):(o=s,0===kr&&Mr(mt)),o!==s?(Jr(),(i=en())!==s?(Jr(),_r=t,t=function(t,r){return e.nameValue2Option(t,e.flattenBoolean(r))}(r,i)):(wr=t,t=s)):(wr=t,t=s)):(wr=t,t=s),t===s&&(t=wr,Jr(),"wordwrapboxes"===n.substr(wr,13).toLowerCase()?(r=n.substr(wr,13),wr+=13):(r=s,0===kr&&Mr(wt)),r!==s?(Jr(),61===n.charCodeAt(wr)?(o=g,wr++):(o=s,0===kr&&Mr(mt)),o!==s?(Jr(),(i=en())!==s?(Jr(),_r=t,t=function(t,r){return e.nameValue2Option(t,e.flattenBoolean(r))}(r,i)):(wr=t,t=s)):(wr=t,t=s)):(wr=t,t=s),t===s&&(t=wr,Jr(),"watermark"===n.substr(wr,9).toLowerCase()?(r=n.substr(wr,9),wr+=9):(r=s,0===kr&&Mr(_t)),r!==s?(Jr(),61===n.charCodeAt(wr)?(o=g,wr++):(o=s,0===kr&&Mr(mt)),o!==s?(Jr(),(i=Vr())!==s?(Jr(),_r=t,t=function(t,r){return e.nameValue2Option(t,r)}(r,i)):(wr=t,t=s)):(wr=t,t=s)):(wr=t,t=s)))))),kr--,t===s&&0===kr&&Mr(pt),t}function Ir(){var e,r,o,i,a,c;return kr++,e=wr,Jr(),(r=Vr())!==s?(Jr(),o=wr,91===n.charCodeAt(wr)?(i=b,wr++):(i=s,0===kr&&Mr(St)),i!==s&&(a=zr())!==s?(93===n.charCodeAt(wr)?(c=m,wr++):(c=s,0===kr&&Mr(At)),c!==s?(_r=o,o=a):(wr=o,o=s)):(wr=o,o=s),o===s&&(o=null),i=Jr(),_r=e,e=t({name:r},o)):(wr=e,e=s),e===s&&(e=wr,Jr(),(r=Ur())!==s?(Jr(),o=wr,91===n.charCodeAt(wr)?(i=b,wr++):(i=s,0===kr&&Mr(St)),i!==s&&(a=zr())!==s?(93===n.charCodeAt(wr)?(c=m,wr++):(c=s,0===kr&&Mr(At)),c!==s?(_r=o,o=function(t,e){return e}(0,a)):(wr=o,o=s)):(wr=o,o=s),o===s&&(o=null),i=Jr(),_r=e,e=vr(r,o)):(wr=e,e=s)),kr--,e===s&&0===kr&&Mr(Ct),e}function Fr(){var t,e,r,o;if(t=[],e=wr,(r=Br())!==s?(Jr(),59===n.charCodeAt(wr)?(o=p,wr++):(o=s,0===kr&&Mr(ht)),o!==s?(_r=e,e=r):(wr=e,e=s)):(wr=e,e=s),e!==s)for(;e!==s;)t.push(e),e=wr,(r=Br())!==s?(Jr(),59===n.charCodeAt(wr)?(o=p,wr++):(o=s,0===kr&&Mr(ht)),o!==s?(_r=e,e=r):(wr=e,e=s)):(wr=e,e=s);else t=s;return t}function Br(){var t,e,r,o,i,a,c;for(t=wr,e=wr,r=[],o=wr,(i=Nr())!==s?(Jr(),44===n.charCodeAt(wr)?(a=h,wr++):(a=s,0===kr&&Mr(ft)),a!==s?(_r=o,o=i):(wr=o,o=s)):(wr=o,o=s);o!==s;)r.push(o),o=wr,(i=Nr())!==s?(Jr(),44===n.charCodeAt(wr)?(a=h,wr++):(a=s,0===kr&&Mr(ft)),a!==s?(_r=o,o=i):(wr=o,o=s)):(wr=o,o=s);return o=wr,(i=Nr())!==s&&(_r=o),(o=i)!==s?e=r=[r,o]:(wr=e,e=s),e!==s&&(_r=t,e=(c=e)[0].concat(c[1])),e}function Nr(){var e;return(e=function(){var e,r,o,i,a,c;return e=wr,r=wr,(o=function(){var t,e;return t=wr,Jr(),(e=function(){var t;return kr++,n.substr(wr,3)===y?(t=y,wr+=3):(t=s,0===kr&&Mr(Et)),t===s&&(n.substr(wr,3)===v?(t=v,wr+=3):(t=s,0===kr&&Mr(Lt))),kr--,t===s&&0===kr&&Mr(jt),t}())!==s?(Jr(),_r=t,t={kind:e}):(wr=t,t=s),t}())!==s&&(_r=r),(r=o)===s&&(r=wr,(o=function(){var t,e,r,o;return t=wr,Jr(),(e=Xr())!==s?(Jr(),(r=function(){var t,e;return t=wr,(e=Rr())===s&&(e=Hr())===s&&(e=Wr())===s&&(e=function(){var t;return kr++,n.substr(wr,4).toLowerCase()===S?(t=n.substr(wr,4),wr+=4):(t=s,0===kr&&Mr(ne)),t===s&&(n.substr(wr,4).toLowerCase()===A?(t=n.substr(wr,4),wr+=4):(t=s,0===kr&&Mr(oe)),t===s&&(n.substr(wr,4).toLowerCase()===k?(t=n.substr(wr,4),wr+=4):(t=s,0===kr&&Mr(ie)),t===s&&("box"===n.substr(wr,3).toLowerCase()?(t=n.substr(wr,3),wr+=3):(t=s,0===kr&&Mr(ae))))),kr--,t===s&&0===kr&&Mr(re),t}()),e!==s&&(_r=t,e=e.toLowerCase()),e}())!==s?(Jr(),(o=Xr())!==s?(Jr(),_r=t,t={kind:r,from:e,to:o}):(wr=t,t=s)):(wr=t,t=s)):(wr=t,t=s),t===s&&(t=wr,Jr(),42===n.charCodeAt(wr)?(e=x,wr++):(e=s,0===kr&&Mr(kt)),e!==s?(Jr(),(r=Wr())!==s?(Jr(),(o=Xr())!==s?(Jr(),_r=t,t=function(t,e){return{kind:t,from:"*",to:e}}(r,o)):(wr=t,t=s)):(wr=t,t=s)):(wr=t,t=s),t===s&&(t=wr,Jr(),(e=Xr())!==s?(Jr(),(r=Hr())!==s?(Jr(),42===n.charCodeAt(wr)?(o=x,wr++):(o=s,0===kr&&Mr(kt)),o!==s?(Jr(),_r=t,t=function(t,e){return{kind:e,from:t,to:"*"}}(e,r)):(wr=t,t=s)):(wr=t,t=s)):(wr=t,t=s),t===s&&(t=wr,Jr(),(e=Xr())!==s?(Jr(),(r=Rr())!==s?(Jr(),42===n.charCodeAt(wr)?(o=x,wr++):(o=s,0===kr&&Mr(kt)),o!==s?(Jr(),_r=t,t=function(t,e){return{kind:e,from:t,to:"*"}}(e,r)):(wr=t,t=s)):(wr=t,t=s)):(wr=t,t=s)))),t}())!==s&&(_r=r),(r=o)===s&&(r=wr,(o=function(){var t,e;return t=wr,Jr(),(e=function(){var t;return kr++,n.substr(wr,3)===w?(t=w,wr+=3):(t=s,0===kr&&Mr(Tt)),kr--,t===s&&0===kr&&Mr(Ot),t}())!==s?(Jr(),_r=t,t={kind:e}):(wr=t,t=s),t}())!==s&&(_r=r),r=o)),r!==s?(o=wr,91===n.charCodeAt(wr)?(i=b,wr++):(i=s,0===kr&&Mr(St)),i!==s&&(a=zr())!==s?(93===n.charCodeAt(wr)?(c=m,wr++):(c=s,0===kr&&Mr(At)),c!==s?(_r=o,o=a):(wr=o,o=s)):(wr=o,o=s),o===s&&(o=null),_r=e,e=function(e,r){return t(e,r)}(r,o)):(wr=e,e=s),e}())===s&&(e=function(){var e,r,o,i,a,c,u,l,d,f;return e=wr,Jr(),(r=Xr())!==s?(Jr(),(o=function(){var t,e;return kr++,t=wr,"alt"===n.substr(wr,3).toLowerCase()?(e=n.substr(wr,3),wr+=3):(e=s,0===kr&&Mr(ue)),e===s&&(n.substr(wr,4).toLowerCase()===j?(e=n.substr(wr,4),wr+=4):(e=s,0===kr&&Mr(se)),e===s&&("opt"===n.substr(wr,3).toLowerCase()?(e=n.substr(wr,3),wr+=3):(e=s,0===kr&&Mr(le)),e===s&&(n.substr(wr,5).toLowerCase()===E?(e=n.substr(wr,5),wr+=5):(e=s,0===kr&&Mr(de)),e===s&&("par"===n.substr(wr,3).toLowerCase()?(e=n.substr(wr,3),wr+=3):(e=s,0===kr&&Mr(fe)),e===s&&("seq"===n.substr(wr,3).toLowerCase()?(e=n.substr(wr,3),wr+=3):(e=s,0===kr&&Mr(he)),e===s&&(n.substr(wr,6).toLowerCase()===L?(e=n.substr(wr,6),wr+=6):(e=s,0===kr&&Mr(pe)),e===s&&("neg"===n.substr(wr,3).toLowerCase()?(e=n.substr(wr,3),wr+=3):(e=s,0===kr&&Mr(ge)),e===s&&(n.substr(wr,8).toLowerCase()===O?(e=n.substr(wr,8),wr+=8):(e=s,0===kr&&Mr(be)),e===s&&(n.substr(wr,6).toLowerCase()===T?(e=n.substr(wr,6),wr+=6):(e=s,0===kr&&Mr(me)),e===s&&(n.substr(wr,8).toLowerCase()===M?(e=n.substr(wr,8),wr+=8):(e=s,0===kr&&Mr(xe)),e===s&&(n.substr(wr,6).toLowerCase()===P?(e=n.substr(wr,6),wr+=6):(e=s,0===kr&&Mr(ye)),e===s&&(n.substr(wr,4).toLowerCase()===D?(e=n.substr(wr,4),wr+=4):(e=s,0===kr&&Mr(ve)),e===s&&("ref"===n.substr(wr,3).toLowerCase()?(e=n.substr(wr,3),wr+=3):(e=s,0===kr&&Mr(we)),e===s&&("exc"===n.substr(wr,3).toLowerCase()?(e=n.substr(wr,3),wr+=3):(e=s,0===kr&&Mr(_e)))))))))))))))),e!==s&&(_r=t,e=e.toLowerCase()),kr--,(t=e)===s&&(e=s,0===kr&&Mr(ce)),t}())!==s?(Jr(),(i=Xr())!==s?(Jr(),a=wr,91===n.charCodeAt(wr)?(c=b,wr++):(c=s,0===kr&&Mr(St)),c!==s&&(u=zr())!==s?(93===n.charCodeAt(wr)?(l=m,wr++):(l=s,0===kr&&Mr(At)),l!==s?(_r=a,a=u):(wr=a,a=s)):(wr=a,a=s),a===s&&(a=null),c=Jr(),123===n.charCodeAt(wr)?(u="{",wr++):(u=s,0===kr&&Mr(ut)),u!==s?(l=Jr(),(d=Fr())===s&&(d=null),Jr(),125===n.charCodeAt(wr)?(f="}",wr++):(f=s,0===kr&&Mr(st)),f!==s?(Jr(),_r=e,e=function(e,r,n,o,i){return t({kind:r,from:e,to:n,arcs:i},o)}(r,o,i,a,d)):(wr=e,e=s)):(wr=e,e=s)):(wr=e,e=s)):(wr=e,e=s)):(wr=e,e=s),e}()),e}function Rr(){var t;return kr++,"--"===n.substr(wr,2)?(t="--",wr+=2):(t=s,0===kr&&Mr(Pt)),t===s&&("<->"===n.substr(wr,3)?(t="<->",wr+=3):(t=s,0===kr&&Mr(Dt)),t===s&&("=="===n.substr(wr,2)?(t="==",wr+=2):(t=s,0===kr&&Mr(It)),t===s&&(n.substr(wr,5)===_?(t=_,wr+=5):(t=s,0===kr&&Mr(Ft)),t===s&&("<=>"===n.substr(wr,3)?(t="<=>",wr+=3):(t=s,0===kr&&Mr(Bt)),t===s&&(".."===n.substr(wr,2)?(t="..",wr+=2):(t=s,0===kr&&Mr(Nt)),t===s&&(n.substr(wr,4)===C?(t=C,wr+=4):(t=s,0===kr&&Mr(Rt)),t===s&&("::"===n.substr(wr,2)?(t="::",wr+=2):(t=s,0===kr&&Mr(Ht)),t===s&&("<:>"===n.substr(wr,3)?(t="<:>",wr+=3):(t=s,0===kr&&Mr(Wt)))))))))),kr--,t===s&&0===kr&&Mr(Mt),t}function Hr(){var t;return kr++,"->"===n.substr(wr,2)?(t="->",wr+=2):(t=s,0===kr&&Mr(Gt)),t===s&&("=>>"===n.substr(wr,3)?(t="=>>",wr+=3):(t=s,0===kr&&Mr(Vt)),t===s&&("=>"===n.substr(wr,2)?(t="=>",wr+=2):(t=s,0===kr&&Mr(Xt)),t===s&&(">>"===n.substr(wr,2)?(t=">>",wr+=2):(t=s,0===kr&&Mr(Ut)),t===s&&(":>"===n.substr(wr,2)?(t=":>",wr+=2):(t=s,0===kr&&Mr(qt)),t===s&&("-x"===n.substr(wr,2).toLowerCase()?(t=n.substr(wr,2),wr+=2):(t=s,0===kr&&Mr($t))))))),kr--,t===s&&0===kr&&Mr(zt),t}function Wr(){var t;return kr++,"<-"===n.substr(wr,2)?(t="<-",wr+=2):(t=s,0===kr&&Mr(Zt)),t===s&&("<<="===n.substr(wr,3)?(t="<<=",wr+=3):(t=s,0===kr&&Mr(Kt)),t===s&&("<="===n.substr(wr,2)?(t="<=",wr+=2):(t=s,0===kr&&Mr(Jt)),t===s&&("<<"===n.substr(wr,2)?(t="<<",wr+=2):(t=s,0===kr&&Mr(Qt)),t===s&&("<:"===n.substr(wr,2)?(t="<:",wr+=2):(t=s,0===kr&&Mr(te)),t===s&&("x-"===n.substr(wr,2).toLowerCase()?(t=n.substr(wr,2),wr+=2):(t=s,0===kr&&Mr(ee))))))),kr--,t===s&&0===kr&&Mr(Yt),t}function zr(){var e,r,o,i,a,c,u;for(e=wr,r=wr,o=[],i=wr,(a=Gr())!==s?(44===n.charCodeAt(wr)?(c=h,wr++):(c=s,0===kr&&Mr(ft)),c!==s?(_r=i,i=a):(wr=i,i=s)):(wr=i,i=s);i!==s;)o.push(i),i=wr,(a=Gr())!==s?(44===n.charCodeAt(wr)?(c=h,wr++):(c=s,0===kr&&Mr(ft)),c!==s?(_r=i,i=a):(wr=i,i=s)):(wr=i,i=s);return i=wr,(a=Gr())!==s&&(_r=i),(i=a)!==s?r=o=[o,i]:(wr=r,r=s),r!==s&&(_r=e,r=(u=r)[0].concat(u[1]).reduce(t,{})),r}function Gr(){var t;return(t=function(){var t,r,o,i,a,c,u;return t=wr,Jr(),(r=function(){var t;return kr++,n.substr(wr,5).toLowerCase()===B?(t=n.substr(wr,5),wr+=5):(t=s,0===kr&&Mr(je)),t===s&&(n.substr(wr,5).toLowerCase()===N?(t=n.substr(wr,5),wr+=5):(t=s,0===kr&&Mr(Ee)),t===s&&("id"===n.substr(wr,2).toLowerCase()?(t=n.substr(wr,2),wr+=2):(t=s,0===kr&&Mr(Le)),t===s&&("url"===n.substr(wr,3).toLowerCase()?(t=n.substr(wr,3),wr+=3):(t=s,0===kr&&Mr(Oe)),t===s&&(n.substr(wr,9).toLowerCase()===R?(t=n.substr(wr,9),wr+=9):(t=s,0===kr&&Mr(Te)),t===s&&(n.substr(wr,10).toLowerCase()===H?(t=n.substr(wr,10),wr+=10):(t=s,0===kr&&Mr(Me)),t===s&&(n.substr(wr,9).toLowerCase()===W?(t=n.substr(wr,9),wr+=9):(t=s,0===kr&&Mr(Pe)),t===s&&(n.substr(wr,10).toLowerCase()===z?(t=n.substr(wr,10),wr+=10):(t=s,0===kr&&Mr(De)),t===s&&(n.substr(wr,11).toLowerCase()===G?(t=n.substr(wr,11),wr+=11):(t=s,0===kr&&Mr(Ie)),t===s&&(n.substr(wr,12).toLowerCase()===V?(t=n.substr(wr,12),wr+=12):(t=s,0===kr&&Mr(Fe)),t===s&&(n.substr(wr,12).toLowerCase()===X?(t=n.substr(wr,12),wr+=12):(t=s,0===kr&&Mr(Be)),t===s&&(n.substr(wr,13).toLowerCase()===U?(t=n.substr(wr,13),wr+=13):(t=s,0===kr&&Mr(Ne)),t===s&&(n.substr(wr,12).toLowerCase()===q?(t=n.substr(wr,12),wr+=12):(t=s,0===kr&&Mr(Re)),t===s&&(n.substr(wr,13).toLowerCase()===$?(t=n.substr(wr,13),wr+=13):(t=s,0===kr&&Mr(He)),t===s&&(n.substr(wr,14).toLowerCase()===Y?(t=n.substr(wr,14),wr+=14):(t=s,0===kr&&Mr(We)),t===s&&(n.substr(wr,15).toLowerCase()===Z?(t=n.substr(wr,15),wr+=15):(t=s,0===kr&&Mr(ze)),t===s&&(n.substr(wr,7).toLowerCase()===K?(t=n.substr(wr,7),wr+=7):(t=s,0===kr&&Mr(Ge)),t===s&&(n.substr(wr,5).toLowerCase()===J?(t=n.substr(wr,5),wr+=5):(t=s,0===kr&&Mr(Ve)),t===s&&(n.substr(wr,10).toLowerCase()===Q?(t=n.substr(wr,10),wr+=10):(t=s,0===kr&&Mr(Xe)))))))))))))))))))),kr--,t===s&&0===kr&&Mr(ke),t}())!==s?(Jr(),61===n.charCodeAt(wr)?(o=g,wr++):(o=s,0===kr&&Mr(mt)),o!==s?(Jr(),(i=Xr())!==s?(Jr(),_r=t,c=i,u={},"activation"===(a=r).toLowerCase()?u.activation=e.flattenBoolean(c):u[a.toLowerCase().replace("colour","color")]=c,t=u):(wr=t,t=s)):(wr=t,t=s)):(wr=t,t=s),t}())===s&&(t=function(){var t,e;return kr++,t=wr,Jr(),n.substr(wr,8).toLowerCase()===I?(e=n.substr(wr,8),wr+=8):(e=s,0===kr&&Mr(Se)),e===s&&(n.substr(wr,10).toLowerCase()===F?(e=n.substr(wr,10),wr+=10):(e=s,0===kr&&Mr(Ae))),e!==s?(Jr(),_r=t,t={activation:"activate"===e.toLowerCase()}):(wr=t,t=s),kr--,t===s&&0===kr&&Mr(Ce),t}()),t}function Vr(){var t,e,r,o;return kr++,t=wr,34===n.charCodeAt(wr)?(e=tt,wr++):(e=s,0===kr&&Mr(qe)),e!==s?(r=function(){var t,e,r,o;for(t=[],e=wr,r=wr,kr++,34===n.charCodeAt(wr)?(o=tt,wr++):(o=s,0===kr&&Mr(qe)),kr--,o===s?r=void 0:(wr=r,r=s),r!==s?(n.substr(wr,2)===et?(o=et,wr+=2):(o=s,0===kr&&Mr($e)),o===s&&(n.length>wr?(o=n.charAt(wr),wr++):(o=s,0===kr&&Mr(Ye))),o!==s?(_r=e,e=o):(wr=e,e=s)):(wr=e,e=s);e!==s;)t.push(e),e=wr,r=wr,kr++,34===n.charCodeAt(wr)?(o=tt,wr++):(o=s,0===kr&&Mr(qe)),kr--,o===s?r=void 0:(wr=r,r=s),r!==s?(n.substr(wr,2)===et?(o=et,wr+=2):(o=s,0===kr&&Mr($e)),o===s&&(n.length>wr?(o=n.charAt(wr),wr++):(o=s,0===kr&&Mr(Ye))),o!==s?(_r=e,e=o):(wr=e,e=s)):(wr=e,e=s);return t}(),34===n.charCodeAt(wr)?(o=tt,wr++):(o=s,0===kr&&Mr(qe)),o!==s?(_r=t,t=r.join("")):(wr=t,t=s)):(wr=t,t=s),kr--,t===s&&(e=s,0===kr&&Mr(Ue)),t}function Xr(){var t;return kr++,(t=Ur())===s&&(t=Vr()),kr--,t===s&&0===kr&&Mr(Ze),t}function Ur(){var t,e,r;if(t=wr,e=[],nt.test(n.charAt(wr))?(r=n.charAt(wr),wr++):(r=s,0===kr&&Mr(Ke)),r!==s)for(;r!==s;)e.push(r),nt.test(n.charAt(wr))?(r=n.charAt(wr),wr++):(r=s,0===kr&&Mr(Ke));else e=s;return e!==s&&(_r=t,e=e.join("")),e}function qr(){var t,e;return kr++,t=wr,ot.test(n.charAt(wr))?(e=n.charAt(wr),wr++):(e=s,0===kr&&Mr(Qe)),e!==s&&(_r=t),kr--,(t=e)===s&&(e=s,0===kr&&Mr(Je)),t}function $r(){var t,e;return kr++,t=wr,it.test(n.charAt(wr))?(e=n.charAt(wr),wr++):(e=s,0===kr&&Mr(er)),e!==s&&(_r=t),kr--,(t=e)===s&&(e=s,0===kr&&Mr(tr)),t}function Yr(){var t,e,r;return t=wr,e=wr,kr++,n.substr(wr,2)===rt?(r=rt,wr+=2):(r=s,0===kr&&Mr(nr)),kr--,r===s?e=void 0:(wr=e,e=s),e!==s?(n.length>wr?(r=n.charAt(wr),wr++):(r=s,0===kr&&Mr(Ye)),r!==s?(_r=t,t=r):(wr=t,t=s)):(wr=t,t=s),t}function Zr(){var t;return at.test(n.charAt(wr))?(t=n.charAt(wr),wr++):(t=s,0===kr&&Mr(ar)),t}function Kr(){var t;return kr++,(t=function(){var t,e,r,o;if(t=wr,(e=function(){var t;return"//"===n.substr(wr,2)?(t="//",wr+=2):(t=s,0===kr&&Mr(or)),t===s&&(35===n.charCodeAt(wr)?(t="#",wr++):(t=s,0===kr&&Mr(ir))),t}())!==s){for(r=[],o=Zr();o!==s;)r.push(o),o=Zr();_r=t,t=e+r.join("")}else wr=t,t=s;return t}())===s&&(t=function(){var t,e,r,o,i;if(t=wr,(e=function(){var t;return"/*"===n.substr(wr,2)?(t="/*",wr+=2):(t=s,0===kr&&Mr(rr)),t}())!==s){for(r=[],o=Yr();o!==s;)r.push(o),o=Yr();(o=function(){var t;return n.substr(wr,2)===rt?(t=rt,wr+=2):(t=s,0===kr&&Mr(nr)),t}())!==s?(_r=t,i=o,t=e+r.join("")+i):(wr=t,t=s)}else wr=t,t=s;return t}()),kr--,t===s&&0===kr&&Mr(cr),t}function Jr(){var t,e;for(t=[],(e=qr())===s&&(e=$r())===s&&(e=Kr());e!==s;)t.push(e),(e=qr())===s&&(e=$r())===s&&(e=Kr());return t}function Qr(){var t;return(t=function(){var t,e,r,o,i;return t=wr,e=wr,(r=tn())!==s?(46===n.charCodeAt(wr)?(o=".",wr++):(o=s,0===kr&&Mr(lr)),o!==s&&(i=tn())!==s?e=r=[r,o,i]:(wr=e,e=s)):(wr=e,e=s),e!==s&&(_r=t,e=parseFloat(e.join(""))),e}())===s&&(t=tn()),t}function tn(){var t,e,r;if(t=wr,e=[],ct.test(n.charAt(wr))?(r=n.charAt(wr),wr++):(r=s,0===kr&&Mr(sr)),r!==s)for(;r!==s;)e.push(r),ct.test(n.charAt(wr))?(r=n.charAt(wr),wr++):(r=s,0===kr&&Mr(sr));else e=s;return e!==s&&(_r=t,e=parseInt(e.join(""),10)),e}function en(){var t,e;return kr++,t=wr,(e=function(){var t,e,r,o;return t=wr,34===n.charCodeAt(wr)?(e=tt,wr++):(e=s,0===kr&&Mr(qe)),e!==s&&(r=rn())!==s?(34===n.charCodeAt(wr)?(o=tt,wr++):(o=s,0===kr&&Mr(qe)),o!==s?(_r=t,t=r):(wr=t,t=s)):(wr=t,t=s),t}())!==s&&(_r=t),(t=e)===s&&(t=wr,(e=rn())!==s&&(_r=t,e=e.toString()),t=e),kr--,t===s&&(e=s,0===kr&&Mr(dr)),t}function rn(){var t;return"true"===n.substr(wr,4).toLowerCase()?(t=n.substr(wr,4),wr+=4):(t=s,0===kr&&Mr(fr)),t===s&&("false"===n.substr(wr,5).toLowerCase()?(t=n.substr(wr,5),wr+=5):(t=s,0===kr&&Mr(hr)),t===s&&("on"===n.substr(wr,2).toLowerCase()?(t=n.substr(wr,2),wr+=2):(t=s,0===kr&&Mr(pr)),t===s&&("off"===n.substr(wr,3).toLowerCase()?(t=n.substr(wr,3),wr+=3):(t=s,0===kr&&Mr(gr)),t===s&&(48===n.charCodeAt(wr)?(t="0",wr++):(t=s,0===kr&&Mr(br)),t===s&&(49===n.charCodeAt(wr)?(t="1",wr++):(t=s,0===kr&&Mr(mr))))))),t}function nn(){var t,e;return t=wr,(e=Qr())!==s&&(_r=t,e=e.toString()),(t=e)===s&&(t=wr,"auto"===n.substr(wr,4).toLowerCase()?(e=n.substr(wr,4),wr+=4):(e=s,0===kr&&Mr(yr)),e!==s&&(_r=t,e=e.toLowerCase()),t=e),t}if((i=f())!==s&&wr===n.length)return i;throw i!==s&&wr{"use strict";e.__esModule=!0;var r=Object.freeze({"|||":"empty","...":"empty","---":"empty","->":"directional","=>":"directional","=>>":"directional",">>":"directional",":>":"directional","-x":"directional","<-":"directional","<=":"directional","<<=":"directional","<<":"directional","<:":"directional","x-":"directional",note:"box",box:"box",abox:"box",rbox:"box","<->":"bidirectional","<=>":"bidirectional","<<=>>":"bidirectional","<<>>":"bidirectional","<:>":"bidirectional","--":"nondirectional","==":"nondirectional","..":"nondirectional","::":"nondirectional",alt:"inline_expression",else:"inline_expression",opt:"inline_expression",break:"inline_expression",par:"inline_expression",seq:"inline_expression",strict:"inline_expression",neg:"inline_expression",critical:"inline_expression",ignore:"inline_expression",consider:"inline_expression",assert:"inline_expression",loop:"inline_expression",ref:"inline_expression",exc:"inline_expression"});e.default=function(t){return r[t]}},2940:(t,e)=>{"use strict";function r(t,e,n){e.forEach((function(e){!function(t,e,n){e.forEach((function(o){!function(t,e,r,n){n.forEach((function(n){n(r,t,e)}))}(t,e,o,n),o.arcs&&r(t,o.arcs,n)}))}(t,e,n)}))}e.__esModule=!0,e.default=function(t,e,n){var o,i;return o=t.entities,i=e,o.forEach((function(t){i.forEach((function(e){e(t)}))})),t.arcs&&r(t.entities,t.arcs,n),t}},7597:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};e.__esModule=!0,e.flatten=e.normalize=e.overrideColors=e.swapRTLArc=e.nameAsLabel=void 0;var c=a(r(2940)),u=a(r(361)),s=i(r(6367)),l=a(r(7596)),d=a(r(3975)),f=a(r(5925)),h=0;function p(t){void 0===t.label&&(t.label=t.name)}function g(t){t.label&&(t.label=s.unescapeString(t.label)),t.id&&(t.id=s.unescapeString(t.id))}function b(t){t.label=Boolean(t.label)?t.label:""}function m(t){if((0,d.default)(t.kind)!==t.kind){t.kind=(0,d.default)(t.kind);var e=t.from;t.from=t.to,t.to=e}}function x(t,e){!t.linecolor&&e.arclinecolor&&(t.linecolor=e.arclinecolor),!t.textcolor&&e.arctextcolor&&(t.textcolor=e.arctextcolor),!t.textbgcolor&&e.arctextbgcolor&&(t.textbgcolor=e.arctextbgcolor)}function y(t,e){if(void 0===e&&(e=[]),t&&t.from){var r=e.find((function(e){return e.name===t.from}));r&&x(t,r)}}function v(t){return t.arcs.reduce((function(t,e){return t+(Boolean(e[0].arcs)?v(e[0])+1:0)}),t.arcs.length)}function w(t,e,r,n){var o=[],i=[],a=[];return t.forEach((function(t){if(t.isVirtual=!1,"inline_expression"===(0,l.default)(t.kind)){if(t.depth=e,t.isVirtual=!0,t.arcs){var o=(0,u.default)(t);o.numberofrows=v(o),delete o.arcs,i.push(o),t.arcs.forEach((function(t){a=a.concat(w(t,e+1,o.from,o.to)),t.forEach((function(t){x(t,o)}))})),e>h&&(h=e)}else i.push(t);a.push([{kind:"|||",from:t.from,to:t.to,isVirtual:!0}])}else r&&n&&"empty"===(0,l.default)(t.kind)&&(t.from=r,t.to=n,t.depth=e),i.push(t)})),o.push(i),o.concat(a)}function _(t){return h=0,{options:(0,f.default)(t.options),entities:(0,u.default)(t.entities),arcs:(e=t.arcs,e?e.reduce((function(t,e){return t.concat(w(e,0))}),[]):[]),depth:h+1};var e}e.nameAsLabel=p,e.swapRTLArc=m,e.overrideColors=y,e.normalize=_,e.flatten=function(t){return _((0,c.default)(t,[p,g],[m,y,g,b]))}},3975:(t,e)=>{"use strict";e.__esModule=!0;var r=Object.freeze({"<-":"->","<=":"=>","<<=":"=>>","<<":">>","<:":":>","x-":"-x"});e.default=function(t){return r[t]||t}},5925:(t,e)=>{"use strict";e.__esModule=!0,e.default=function(t){return Object.assign({wordwraparcs:!1,wordwrapentities:!0,wordwrapboxes:!0},t||{})}},3866:(t,e)=>{"use strict";e.__esModule=!0,e.default={LINE_WIDTH:2,FONT_SIZE:12}},9489:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};e.__esModule=!0,e.Thing=void 0;var c=a(r(3866)),u=i(r(1631)),s=i(r(7683)),l=i(r(5930)),d=function(){function t(t){this.interEntitySpacing=160,this.height=34,this.width=100,this.entityXHWM=0,this.entity2x={},t&&(this.interEntitySpacing=160*t,this.width=100*t)}return t.prototype.getX=function(t){return this.entity2x[t]},t.prototype.getDims=function(){return{interEntitySpacing:this.interEntitySpacing,height:this.height,width:this.width,entityXHWM:this.entityXHWM}},t.prototype.getOAndD=function(t,e){return{from:this.getX(t)this.getX(t)?this.getX(e):this.getX(t)}},t.prototype.renderEntities=function(t,e,r){var n=this,o=s.createGroup();return this.entityXHWM=0,this.height=this.getMaxEntityHeight(t,r)+2*c.default.LINE_WIDTH,t.forEach((function(t){o.appendChild(n.renderEntity(t,n.entityXHWM,e,r)),n.setX(t,n.entityXHWM),n.entityXHWM+=n.interEntitySpacing})),o},t.prototype.setX=function(t,e){this.entity2x[t.name]=e+this.width/2},t.prototype.getNoEntityLines=function(t,e,r){return u.splitLabel(t,"entity",this.width,e,r).length},t.prototype.sizeEntityBoxToLabel=function(t,e){var r=Math.min(l.getBBox(t).width+4*c.default.LINE_WIDTH,this.interEntitySpacing/3+e.width);return r>=e.width&&(e.x-=(r-e.width)/2,e.width=r),e},t.prototype.renderEntity=function(t,e,r,n){var o=s.createGroup(),i={x:e||0,y:r||0,width:this.width,height:this.height},a=u.createLabel(Object.assign({kind:"entity"},t),Object.assign({},i,{y:i.y+i.height/2}),n);return o.appendChild(s.createRect(this.sizeEntityBoxToLabel(a,i),{class:"entity",color:t.linecolor,bgColor:t.textbgcolor})),o.appendChild(a),o},t.prototype.getMaxEntityHeight=function(t,e){var r=this,n=t[0],o=2;return t.forEach((function(t){var i=r.getNoEntityLines(t.label,c.default.FONT_SIZE,e);i>o&&(o=i,n=t)})),o>2?Math.max(this.height,l.getBBox(this.renderEntity(n,0,0,e)).height):this.height},t}();e.Thing=d},9824:(t,e)=>{"use strict";e.__esModule=!0,e.get=e.setPrefix=void 0;var r="mscgenjs",n=r;e.setPrefix=function(t){n=r+t},e.get=function(t){return n+(t||"")}},9622:function(t,e,r){"use strict";var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};e.__esModule=!0,e.getAggregateClass=e.getClass=void 0;var o=n(r(7596)),i=Object.freeze({"|||":"empty-row","...":"omitted-row","---":"comment-row","->":"signal","=>":"method","=>>":"callback",">>":"return",":>":"emphasised","-x":"lost","<-":"signal","<=":"method","<<=":"callback","<<":"return","<:":"emphasised","x-":"lost","<->":"signal","<=>":"method","<<=>>":"callback","<<>>":"return","<:>":"emphasised","--":"signal","==":"method","..":"return","::":"emphasised"});e.getClass=function(t){return i[t]||t},e.getAggregateClass=function(t){return(0,o.default)(t)||t}},7965:function(t,e,r){"use strict";var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};e.__esModule=!0,e.getMarkerDefs=e.getAttributes=void 0;var o=n(r(5564)),i=n(r(3975)),a={"->":{attributes:[{name:"style",value:"stroke:{{color}}"},{name:"marker-end",value:"url(#{{id}}{{signal-marker-end}}-{{color}})"}],marker:{name:"signal"}},"<->":{attributes:[{name:"style",value:"stroke:{{color}}"},{name:"marker-end",value:"url(#{{id}}{{signal-marker-end}}-{{color}})"},{name:"marker-start",value:"url(#{{id}}{{signal-marker-start}}-{{color}})"}],marker:{name:"signal"}},"=>>":{attributes:[{name:"style",value:"stroke:{{color}}"},{name:"marker-end",value:"url(#{{id}}callback-{{color}})"}],marker:{name:"callback",end:""}},"<<=>>":{attributes:[{name:"style",value:"stroke:{{color}}"},{name:"marker-end",value:"url(#{{id}}callback-{{color}})"},{name:"marker-start",value:"url(#{{id}}callback-l-{{color}})"}],marker:{name:"callback",end:"",start:"-l"}},">>":{attributes:[{name:"style",value:"stroke:{{color}}"},{name:"marker-end",value:"url(#{{id}}callback-{{color}})"}],marker:{name:"callback",end:""}},"<<>>":{attributes:[{name:"style",value:"stroke:{{color}}"},{name:"marker-end",value:"url(#{{id}}callback-{{color}})"},{name:"marker-start",value:"url(#{{id}}callback-l-{{color}})"}],marker:{name:"callback",end:"",start:"-l"}},"..":{attributes:[{name:"style",value:"stroke:{{color}}"}]},"--":{attributes:[{name:"style",value:"stroke:{{color}}"}]},"==":{attributes:[{name:"style",value:"stroke:{{color}}"}]},"::":{attributes:[{name:"style",value:"stroke:{{color}}"}]},"=>":{attributes:[{name:"style",value:"stroke:{{color}}"},{name:"marker-end",value:"url(#{{id}}method-{{color}})"}],marker:{name:"method",end:""}},"<=>":{attributes:[{name:"style",value:"stroke:{{color}}"},{name:"marker-end",value:"url(#{{id}}method-{{color}})"},{name:"marker-start",value:"url(#{{id}}method-l-{{color}})"}],marker:{name:"method",end:"",start:"-l"}},":>":{attributes:[{name:"style",value:"stroke:{{color}};"},{name:"marker-end",value:"url(#{{id}}method-{{color}})"}],marker:{name:"method",end:""}},"<:>":{attributes:[{name:"style",value:"stroke:{{color}}"},{name:"marker-end",value:"url(#{{id}}method-{{color}})"},{name:"marker-start",value:"url(#{{id}}method-l-{{color}})"}],marker:{name:"method",end:"",start:"-l"}},"-x":{attributes:[{name:"style",value:"stroke:{{color}}"},{name:"marker-end",value:"url(#{{id}}lost-{{color}})"}],marker:{name:"lost",end:""}}},c={signal:{variants:[{name:"",path:"M9,3 l-8, 2"},{name:"-u",path:"M9,3 l-8,-2"},{name:"-l",path:"M9,3 l 8, 2"},{name:"-lu",path:"M9,3 l 8,-2"}]},method:{variants:[{name:"",path:"1,1 9,3 1,5"},{name:"-l",path:"17,1 9,3 17,5"}]},callback:{variants:[{name:"",path:"M 1,1 l 8,2 l-8,2"},{name:"-l",path:"M17,1 l-8,2 l 8,2"}]},lost:{variants:[{name:"",path:"M7,0 l5,6 M7,6 l5,-6"}]}};function u(t,e,r){return e&&r&&["<->","->"].includes(t)?e"===t&&e<=r?"signal-l":"signal-lu"}function l(t,e){return a[(0,i.default)(t)].marker.name+(Boolean(e)?" "+e:" black")}function d(t,e){function r(e){d(t,e)}return Array.isArray(e)&&e.forEach(r),e.arcs&&e.arcs.forEach(r),e.kind&&a[(0,i.default)(e.kind)]&&a[(0,i.default)(e.kind)].marker&&!t.includes(l(e.kind,e.linecolor))&&t.push(l(e.kind,e.linecolor)),t}function f(t){return{kind:t.split(" ")[0],color:t.split(" ")[1]}}e.getAttributes=function(t,e,r,n,o){var i=[];return a[e]&&a[e].attributes&&(i=a[e].attributes.map((function(i){return{name:i.name,value:i.value.replace(/\{\{signal-marker-end\}\}/g,u(e,n,o)).replace(/\{\{signal-marker-start\}\}/g,s(e,n,o)).replace(/\{\{id\}\}/g,t).replace(/\{\{color\}\}/g,r||"black")}}))),i},e.getMarkerDefs=function(t,e){return(0,o.default)(function(t){return t.arcs.reduce(d,[]).sort().map(f)}(e).map((function(e){return c[e.kind].variants.map((function(r){return{name:"".concat(t+e.kind+r.name,"-").concat(e.color),path:r.path,color:e.color,type:e.kind}}))})))}},5533:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};e.__esModule=!0,e.render=e.clean=void 0;var c=a(r(361)),u=a(r(7596)),s=r(7597),l=a(r(3866)),d=r(9489),f=i(r(9824)),h=i(r(9622)),p=i(r(7965)),g=i(r(1631)),b=i(r(5525)),m=i(r(7173)),x=i(r(7621)),y=i(r(7683)),v=i(r(5930)),w=new d.Thing(0),_=Object.seal({arcRowHeight:38,arcGradient:0,arcEndX:0,wordWrapArcs:!1,mirrorEntitiesOnBottom:!1,regularArcTextVerticalAlignment:"middle",maxDepth:0,document:{},layers:{lifeline:{},sequence:{},notes:{},inline:{},watermark:{}}}),C=[];function S(t,e,r){_.layers.sequence.appendChild(w.renderEntities(t,e,r)),_.arcEndX=w.getDims().entityXHWM-w.getDims().interEntitySpacing+w.getDims().width}function A(t,e,r,n,o){var i=y.createGroup();return t.from&&t.to&&("*"===t.to?(function(t,e,r,n,o){var i=0,a=t.label,c=w.getX(t.from);t.label="",e.forEach((function(e){var a={};e.name!==t.from&&(i=w.getX(e.name),a=O(t,c,i,n,o),r.push({layer:_.layers.sequence,element:a}))})),t.label=a}(t,e,r,n,o),i=g.createLabel(t,{x:0,y:x.get(n).y,width:_.arcEndX},Object.assign({alignAround:!0,ownBackground:!0},(0,c.default)(o))),r.push({title:t.title,layer:_.layers.sequence,element:i})):(i=O(t,w.getX(t.from),w.getX(t.to),n,o),r.push({title:t.title,layer:_.layers.sequence,element:i}))),i}function k(t,e,r){var n=0;return t.forEach((function(t){var o;switch((0,u.default)(t.kind)){case"empty":o=L(t,0);break;case"box":o=M(w.getOAndD(t.from,t.to),t,0,r);break;case"inline_expression":o=j(t,0);break;default:var i=(0,c.default)(t);i.arcskip=0,o=A(i,e,[],0,r)}n=Math.max(n,v.getBBox(o).height+2*l.default.LINE_WIDTH)})),n}function j(t,e){var r=w.getOAndD(t.from,t.to),n=e>0,o=2*_.maxDepth*l.default.LINE_WIDTH,i=r.to-r.from+(w.getDims().interEntitySpacing-2*l.default.LINE_WIDTH)-7-l.default.LINE_WIDTH,a=r.from-(w.getDims().interEntitySpacing-3*l.default.LINE_WIDTH-o)/2-2*(_.maxDepth-t.depth)*l.default.LINE_WIDTH,c=y.createGroup();n||(t.label=t.kind+(t.label?": "+t.label:""));var u=g.createLabel(t,{x:a+l.default.LINE_WIDTH-i/2,y:e+_.arcRowHeight/4,width:i},{alignLeft:!0,ownBackground:!1,wordwraparcs:_.wordWrapArcs}),s=v.getBBox(u),d=Math.max(s.height+2*l.default.LINE_WIDTH,_.arcRowHeight/2-2*l.default.LINE_WIDTH),f=Math.min(s.width+2*l.default.LINE_WIDTH,i),h=y.createEdgeRemark({width:f-l.default.LINE_WIDTH+7,height:d,x:a,y:e},{class:"box inline_expression_label",color:t.linecolor,bgColor:t.textbgcolor,foldSize:7});return c.appendChild(h),c.appendChild(u),c}function E(t,e,r,n){return r<_.arcRowHeight&&(r=_.arcRowHeight),t.map((function(t){var o=y.createLine({xFrom:w.getX(t.name),yFrom:0-r/2+(n||0),xTo:w.getX(t.name),yTo:r/2+(n||0)},{class:e});return t.linecolor&&o.setAttribute("style","stroke:".concat(t.linecolor,";")),o}))}function L(t,e){return"---"===t.kind?function(t,e,r){var n=0,o=_.arcEndX,i="comment",a=y.createGroup();if(t.from&&t.to){var c=1*_.maxDepth*l.default.LINE_WIDTH,u=2*(_.maxDepth-t.depth)*l.default.LINE_WIDTH;n=e.from-(w.getDims().interEntitySpacing+2*l.default.LINE_WIDTH)/2-(u-c),o=e.to+(w.getDims().interEntitySpacing+2*l.default.LINE_WIDTH)/2+(u-c),i="inline_expression_divider"}var s=y.createLine({xFrom:n,yFrom:r,xTo:o,yTo:r},{class:i});return a.appendChild(s),a.appendChild(T(t,e,r)),t.linecolor&&s.setAttribute("style","stroke:".concat(t.linecolor,";")),a}(t,w.getOAndD(t.from,t.to),e):T(t,w.getOAndD(t.from,t.to),e)}function O(t,e,r,n,o){var i,a=y.createGroup(),u="arc ";u+="<:>"===(i=t.kind)?"bidi ":"::"===i?"nodi ":"",u+="".concat(h.getAggregateClass(t.kind)," ").concat(h.getClass(t.kind));var s=[":>","::","<:>"].includes(t.kind),d=function(t,e,r){var n=x.get(t).y+e;if(r){var o=Math.floor(r),i=r-o,a=x.get(t).realRowNumber;n=x.getByRealRowNumber(a+o).y+i*(x.getByRealRowNumber(a+o+1).y-x.getByRealRowNumber(a+o).y)}return n}(n,_.arcGradient,t.arcskip);if(e===(r=m.determineArcXTo(t.kind,e,r))){a.appendChild(function(t,e,r,n,o,i){var a=_.arcRowHeight/5*2,c=w.getDims().interEntitySpacing/2,u={},s="arc ".concat(h.getAggregateClass(t)," ").concat(h.getClass(t));if(n){u=y.createGroup();var d=y.createUTurn({x:e,y:o,width:c-2*l.default.LINE_WIDTH,height:a},o+r+a-2*l.default.LINE_WIDTH,{class:s,dontHitHome:"::"!==t,lineWidth:l.default.LINE_WIDTH}),g=y.createUTurn({x:e,y:o,width:c,height:a},o+r+a-l.default.LINE_WIDTH,{lineWidth:l.default.LINE_WIDTH}),b=y.createUTurn({x:e,y:o,width:c,height:a},o+r+a,{class:s,dontHitHome:"::"!==t,lineWidth:l.default.LINE_WIDTH});i&&d.setAttribute("style","stroke:".concat(i)),p.getAttributes(f.get(),t,i,e,e).forEach((function(t){g.setAttribute(t.name,t.value)})),g.setAttribute("style","stroke:transparent;"),Boolean(i)&&b.setAttribute("style","stroke:".concat(i)),u.appendChild(d),u.appendChild(b),u.appendChild(g),u.setAttribute("class",s)}else u=y.createUTurn({x:e,y:o,width:c,height:a},o+r+a,{class:s,dontHitHome:"-x"===t,lineWidth:l.default.LINE_WIDTH}),p.getAttributes(f.get(),t,i,e,e).forEach((function(t){u.setAttribute(t.name,t.value)}));return u}(t.kind,e,d-x.get(n).y-_.arcGradient,s,x.get(n).y,t.linecolor));var b=2*w.getDims().interEntitySpacing/3;a.appendChild(g.createLabel(t,{x:e+1.5*l.default.LINE_WIDTH-b/2,y:x.get(n).y-_.arcRowHeight/5-l.default.LINE_WIDTH/2,width:b},Object.assign({alignLeft:!0,alignAbove:!0,ownBackground:!0},(0,c.default)(o))))}else{var v=y.createLine({xFrom:e,yFrom:x.get(n).y,xTo:r,yTo:d},{class:u,doubleLine:s});p.getAttributes(f.get(),t.kind,t.linecolor,e,r).forEach((function(t){v.setAttribute(t.name,t.value)})),a.appendChild(v),a.appendChild(g.createLabel(t,{x:e,y:x.get(n).y+(d-x.get(n).y)/2,width:r-e},Object.assign({alignAround:!0,alignAbove:"above"===_.regularArcTextVerticalAlignment,ownBackground:!0},(0,c.default)(o))))}return a}function T(t,e,r){var n=0,o=_.arcEndX;return t.from&&t.to&&(n=e.from,o=e.to-e.from),g.createLabel(t,{x:n,y:r,width:o},{ownBackground:!0,wordwraparcs:_.wordWrapArcs})}function M(t,e,r,n){var o,i=2*_.maxDepth*l.default.LINE_WIDTH,a=t.to-t.from+w.getDims().interEntitySpacing-2*l.default.LINE_WIDTH-i,c=t.from-(w.getDims().interEntitySpacing-2*l.default.LINE_WIDTH-i)/2,u=y.createGroup(),s=g.createLabel(e,{x:c,y:r,width:a},n),d=v.getBBox(s),f=Math.max(d.height+2*l.default.LINE_WIDTH,_.arcRowHeight-2*l.default.LINE_WIDTH),h={width:a,height:f,x:c,y:r-f/2};switch(e.kind){case"rbox":o=y.createRBox(h,{class:"box rbox",color:e.linecolor,bgColor:e.textbgcolor});break;case"abox":o=y.createABox(h,{class:"box abox",color:e.linecolor,bgColor:e.textbgcolor});break;case"note":o=y.createNote(h,{class:"box note",color:e.linecolor,bgColor:e.textbgcolor,lineWidth:l.default.LINE_WIDTH});break;default:o=y.createRect(h,{class:"box",color:e.linecolor,bgColor:e.textbgcolor})}return u.appendChild(o),u.appendChild(s),u}e.clean=function(t,e){_.document=b.init(e),v.init(_.document),v.removeRenderedSVGFromElement(t)},e.render=function(t,e,r,n){var o=Object.freeze((0,s.flatten)(t)),i=function(t,e){return t.document.getElementById(e)||t.document.body}(e,r);return f.setPrefix(r),function(t,e,r,n){var o;_.document=b.bootstrap(e,r,f.get(),p.getMarkerDefs(f.get(),t),n),_.mirrorEntitiesOnBottom=n.mirrorEntitiesOnBottom,_.regularArcTextVerticalAlignment=n.regularArcTextVerticalAlignment,v.init(_.document),_.layers={lifeline:(o=_.document).getElementById(f.get("_lifelines")),sequence:o.getElementById(f.get("_sequence")),notes:o.getElementById(f.get("_notes")),inline:o.getElementById(f.get("_arcspans")),watermark:o.getElementById(f.get("_watermark"))},_.maxDepth=t.depth,function(t,e){w=new d.Thing(e&&e.hscale),function(t,e){t.arcRowHeight=38,t.arcGradient=0,t.wordWrapArcs=!1,e.arcgradient&&(t.arcRowHeight=parseInt(e.arcgradient,10)+38,t.arcGradient=parseInt(e.arcgradient,10)+0),t.wordWrapArcs=Boolean(e.wordwraparcs)}(t,e)}(_,t.options)}(o,e,i,n||{}),function(t){var e,r,n;S(t.entities,0,t.options),x.clear(w.getDims().height,_.arcRowHeight),e=t.arcs,r=t.entities,n=t.options,C=[],E(r,"arcrow",_.arcRowHeight,x.get(-1).y).forEach((function(t){_.layers.lifeline.appendChild(t)})),function(t,e,r){var n=0;t.forEach((function(t,o){t.every((function(t){return t.isVirtual}))?x.set(o,Math.max(x.get(o).height,k(t,e,r))):(x.set(o,Math.max(x.get(o).height,k(t,e,r)),n),n++)}))}(e,r,n),e.forEach((function(t,e){!function(t,e,r,n){var o="arcrow",i=[];t.forEach((function(t){var a={};switch((0,u.default)(t.kind)){case"empty":a=L(t,x.get(e).y),"..."===t.kind&&(o="arcrowomit"),i.push({layer:_.layers.sequence,element:a});break;case"box":a=M(w.getOAndD(t.from,t.to),t,x.get(e).y,n),i.push({title:t.title,layer:_.layers.notes,element:a});break;case"inline_expression":a=j(t,x.get(e).y),i.push({layer:_.layers.notes,element:a}),C.push({arc:t,rownum:e});break;default:a=A(t,r,i,e,n)}})),E(r,o,x.get(e).height,x.get(e).y).forEach((function(t){_.layers.lifeline.appendChild(t)})),i.forEach((function(t){t.element&&(t.title&&t.element.appendChild(y.createTitle(t.title)),t.layer.appendChild(t.element))}))}(t,e,r,n)})),C.forEach((function(t){var e,r,n,o;_.layers.inline.appendChild((e=t,r=x.get(t.rownum).y,n=x.get(e.rownum).y,o=x.get(e.rownum+e.arc.numberofrows+1).y-n,e.arc.label="",function(t,e,r,n){var o=2*_.maxDepth*l.default.LINE_WIDTH,i=t.to-t.from+w.getDims().interEntitySpacing-2*l.default.LINE_WIDTH-o,a=t.from-(w.getDims().interEntitySpacing-2*l.default.LINE_WIDTH-o)/2,c=2*(_.maxDepth-e.depth)*l.default.LINE_WIDTH;return y.createRect({width:i+2*c,height:r||_.arcRowHeight-2*l.default.LINE_WIDTH,x:a-c,y:n},{class:"box inline_expression ".concat(e.kind),color:e.linecolor,bgColor:e.textbgcolor})}(w.getOAndD(e.arc.from,e.arc.to),e.arc,o,r)))})),_.mirrorEntitiesOnBottom&&function(t,e){var r=x.getLast().y+(x.getLast().height+_.arcRowHeight)/2;E(t,"arcrow",_.arcRowHeight,r).forEach((function(t){_.layers.lifeline.appendChild(t)})),S(t,r+_.arcRowHeight/2,e)}(t.entities,t.options)}(o),function(t){var e,r,n=function(t){var e=m.determineDepthCorrection(t.depth,l.default.LINE_WIDTH),r=x.getLast(),n={width:t.entities.length*w.getDims().interEntitySpacing+e,height:Boolean(_.mirrorEntitiesOnBottom)?2*w.getDims().height+r.y+r.height+6:r.y+r.height/2+6,horizontaltransform:(w.getDims().interEntitySpacing+e-w.getDims().width)/2,autoscale:!!t.options&&!!t.options.width&&"auto"===t.options.width,verticaltransform:3,scale:1};return n.x=0-n.horizontaltransform,n.y=0-n.verticaltransform,n}(t);e=n,(r=_.document.getElementById(f.get("_background")))&&r.appendChild(y.createRect(e,{class:"bglayer"})),n=function(t,e){return t.watermark&&function(t,e){_.layers.watermark.appendChild(y.createDiagonalText(t,e,"watermark"))}(t.watermark,e),t.width&&"auto"!==t.width&&(e=m.scaleCanvasToWidth(t.width,e)),e}(t.options,n),function(t){var e=_.document.getElementById(f.get()),r=_.document.getElementById(f.get("_body"));r&&e&&(r.setAttribute("transform","translate(".concat(t.horizontaltransform,",").concat(t.verticaltransform,") ")+"scale(".concat(t.scale,",").concat(t.scale,")")),t.autoscale&&!0===t.autoscale?y.updateSVG(e,{width:"100%",height:"100%",viewBox:"0 0 ".concat(t.width.toString()," ").concat(t.height.toString())}):y.updateSVG(e,{width:t.width.toString(),height:t.height.toString(),viewBox:"0 0 ".concat(t.width.toString()," ").concat(t.height.toString())}))}(n)}(o),v.webkitNamespaceBugWorkaround(i.innerHTML)}},1631:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};e.__esModule=!0,e.splitLabel=e.createLabel=void 0;var c=a(r(7596)),u=a(r(5791)),s=a(r(3866)),l=i(r(9622)),d=i(r(7683)),f=i(r(5930));function h(t,e){return e&&t.setAttribute("style","fill:".concat(e,";")),t}function p(t,e,r,n,o){return function(t,e){return function(t,e){return"box"===(0,c.default)(t)&&e}(t,e.wordwrapboxes)||function(t,e){return"entity"===t&&e}(t,e.wordwrapentities)||function(t,e){return"box"!==(0,c.default)(t)&&"entity"!==t&&e}(t,e.wordwraparcs)||void 0===t}(e,o)?(0,u.default)(t,function(t,e){var r=Math.abs(t);return r<=160?r/(e/12*8):r<=320?r/(e/12*6.4):r<=480?r/(e/12*5.9):r/(e/12*5.6)}(r,n)):t.split("\\n")}e.createLabel=function(t,e,r,n){var o=d.createGroup(n);if(r=r||{},t.label){var i=e.x+e.width/2,a=function(t,e){return e.alignAbove&&t.forEach((function(){t.push("")})),e.alignAround&&1===t.length&&t.push(""),t}(p(t.label,t.kind,e.width,s.default.FONT_SIZE,r),r),c=function(t,e,r){return r.alignAround?e.y-(t.length-1)/2*(f.calculateTextHeight()+s.default.LINE_WIDTH+1):e.y-(t.length-1)/2*(f.calculateTextHeight()+1)}(a,e,r);a.forEach((function(e,n){if(""!==e){var a=function(t,e,r,n,o,i){var a,c,u,p=r+(o+1/4)*f.calculateTextHeight(),g=function(t,e){var r=t,n=l.getClass(r),o=l.getAggregateClass(r);return n===o?n+e:o+e+n+e}(n.kind,"-text ");return i.alignLeft&&(g+="anchor-start "),i.alignAround&&(p=r+(o+1/4)*(f.calculateTextHeight()+s.default.LINE_WIDTH)),a=h(function(t,e,r,n,o){var i=0===e?{class:n,url:o.url,id:o.id,idurl:o.idurl}:{class:n,url:o.url};return d.createText(t,r,i)}(t,o,{x:e,y:p},g,n),n.textcolor),c=n.url,u=n.textcolor,h(a,c&&!u?"blue":u)}(e,i,c,t,n,r);r.ownBackground&&o.appendChild((u=a,p=t.textbgcolor,g=d.createRect(f.getBBox(u),{class:"label-text-background"}),p&&g.setAttribute("style","fill:".concat(p,"; stroke:").concat(p,";")),g)),o.appendChild(a)}var u,p,g;c++}))}return o},e.splitLabel=p},5525:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};e.__esModule=!0,e.bootstrap=e.init=void 0;var c=i(r(7683)),u=a(r(3866)),s=r(641),l={};function d(t,e,r){var n=c.createDefs();return n.appendChild(function(t,e){var r=l.createElement("style");return r.setAttribute("type","text/css"),r.appendChild(l.createTextNode(function(t,e){return(r=h(t.additionalTemplate)||{},n=t.styleAdditions,(r.cssBefore||"")+s.baseTemplate+(r.cssAfter||"")+(n||"")).replace(/<%=fontSize%>/g,u.default.FONT_SIZE).replace(/<%=lineWidth%>/g,u.default.LINE_WIDTH).replace(/<%=id%>/g,e);var r,n}(t,e))),r}(r,t)),n=function(t,e){return e.forEach((function(e){"method"===e.type?t.appendChild(c.createMarkerPolygon(e.name,e.path,e.color)):t.appendChild(c.createMarkerPath(e.name,e.path,e.color))})),t}(n,e),n}function f(t){return c.init(t.document,{LINE_WIDTH:u.default.LINE_WIDTH,FONT_SIZE:u.default.FONT_SIZE}),t.document}function h(t){return s.namedStyles.find((function(e){return e.name===t}))}e.init=f,e.bootstrap=function(t,e,r,n,o){l=f(t);var i,a,u=c.createSVG(r,r,function(t){var e="",r=h(t.additionalTemplate);return Boolean(r)&&(e=r.renderMagic),e}(o));return Boolean(o.source)&&u.appendChild(function(t,e){var r=c.createDesc();return r.appendChild(t.document.createTextNode("\n\n# Generated by mscgen_js - https://sverweij.github.io/mscgen_js\n".concat(e))),r}(t,o.source)),u.appendChild(d(r,n,o)),u.appendChild((i=r,(a=c.createGroup("".concat(i,"_body"))).appendChild(c.createGroup("".concat(i,"_background"))),a.appendChild(c.createGroup("".concat(i,"_arcspans"))),a.appendChild(c.createGroup("".concat(i,"_lifelines"))),a.appendChild(c.createGroup("".concat(i,"_sequence"))),a.appendChild(c.createGroup("".concat(i,"_notes"))),a.appendChild(c.createGroup("".concat(i,"_watermark"))),a)),e.appendChild(u),l}},7173:function(t,e,r){"use strict";var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};e.__esModule=!0,e.determineArcXTo=e.determineDepthCorrection=e.scaleCanvasToWidth=void 0;var o=n(r(361));e.scaleCanvasToWidth=function(t,e){var r=(0,o.default)(e);return r.scale=t/r.width,r.width*=r.scale,r.height*=r.scale,r.horizontaltransform*=r.scale,r.verticaltransform*=r.scale,r.x=0-r.horizontaltransform,r.y=0-r.verticaltransform,r},e.determineDepthCorrection=function(t,e){return t?2*(t+1)*e*2:0},e.determineArcXTo=function(t,e,r){return"-x"===t?e+3/4*(r-e):r}},7621:(t,e)=>{"use strict";e.__esModule=!0,e.set=e.getByRealRowNumber=e.clear=e.getLast=e.get=void 0;var r=[],n=0,o=0;function i(t){return r[t]?r[t]:{y:n+1.5*o+t*o,height:o,realRowNumber:r.length-1}}function a(){return i(r.length-1)}e.get=i,e.getLast=a,e.clear=function(t,e){r=[],n=t,o=e},e.getByRealRowNumber=function(t){var e=r.find((function(e){return e.realRowNumber===t}));return void 0===e&&(e=a()),e},e.set=function(t,e,n){void 0===n&&(n=-1);var o=i(t-1);r[t]={y:o.y+(o.height+e)/2,height:e,realRowNumber:n}}},4431:(t,e)=>{"use strict";e.__esModule=!0,e.init=e.createTextNode=e.createElement=e.setAttributesNS=e.setAttributes=e.setAttributeNS=e.setAttribute=e.XLINKNS=e.SVGNS=void 0,e.SVGNS="http://www.w3.org/2000/svg",e.XLINKNS="http://www.w3.org/1999/xlink";var r={};function n(t,e,r){return Boolean(r)&&t.setAttribute(e,r),t}function o(t,e,r,n){return Boolean(n)&&t.setAttributeNS(e,r,n),t}function i(t,e){return Object.keys(e||{}).forEach((function(r){n(t,r,e[r])})),t}e.setAttribute=n,e.setAttributeNS=o,e.setAttributes=i,e.setAttributesNS=function(t,e,r){return Object.keys(r||{}).forEach((function(n){o(t,e,n,r[n])})),t},e.createElement=function(t,n){return i(r.createElementNS(e.SVGNS,t),n)},e.createTextNode=function(t){return r.createTextNode(t)},e.init=function(t){r=t}},6710:(t,e)=>{"use strict";e.__esModule=!0,e.default=function(t){return 0-360*Math.atan(t.height/t.width)/(2*Math.PI)}},7683:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e};e.__esModule=!0,e.createMarkerPolygon=e.createMarkerPath=e.createGroup=e.createUTurn=e.createLine=e.createDiagonalText=e.createText=e.createEdgeRemark=e.createNote=e.createABox=e.createRBox=e.createRect=e.createTSpan=e.createDefs=e.createDesc=e.createTitle=e.updateSVG=e.createSVG=e.init=void 0;var a=i(r(1718)),c=i(r(9652)),u=i(r(5282)),s=a,l={};e.init=function(t,e){c.init(t),l=Object.assign({LINE_WIDTH:2,FONT_SIZE:12},e)},e.createSVG=function(t,e,r){return s=function(t){return Boolean(t)?"wobbly"===t?u:a:s}(r),c.createSVG(t,e)},e.updateSVG=c.updateSVG,e.createTitle=c.createTitle,e.createDesc=c.createDesc,e.createDefs=c.createDefs,e.createTSpan=c.createTSpan,e.createRect=function(t,e){return s.createRect(t,e)},e.createRBox=function(t,e){return s.createRBox(t,e)},e.createABox=function(t,e){return s.createABox(t,e)},e.createNote=function(t,e){return s.createNote(t,e)},e.createEdgeRemark=function(t,e){return s.createEdgeRemark(t,{class:e.class,color:e.color,bgColor:e.bgColor,foldSize:e.foldSize,lineWidth:l.LINE_WIDTH})},e.createText=c.createText,e.createDiagonalText=c.createDiagonalText,e.createLine=function(t,e){return Boolean(e)&&Boolean(e.doubleLine)?(e.lineWidth||(e.lineWidth=l.LINE_WIDTH),s.createDoubleLine(t,e)):s.createSingleLine(t,e)},e.createUTurn=c.createUTurn,e.createGroup=c.createGroup,e.createMarkerPath=c.createMarkerPath,e.createMarkerPolygon=c.createMarkerPolygon},8103:(t,e)=>{"use strict";e.__esModule=!0,e.default=function(t,e){return e?Math.round(t*Math.pow(10,e))/Math.pow(10,e):Math.round(t)}},1718:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e};e.__esModule=!0,e.createRect=e.createSingleLine=e.createEdgeRemark=e.createABox=e.createRBox=e.createNote=e.createDoubleLine=void 0;var a=i(r(9652)),c=i(r(2344));e.createDoubleLine=function(t,e){var r=e.lineWidth||1,n=r,o=e?e.class:"",i=c.getDirection(t),u=c.determineEndCorrection(t,o,r),s=c.determineStartCorrection(t,o,r),l=(t.xTo-t.xFrom+u-s).toString(),d=(t.yTo-t.yFrom).toString(),f=a.pathPoint2String("l",i.signX,i.dy),h=a.pathPoint2String("l",l,d);return a.createPath(a.pathPoint2String("M",t.xFrom,t.yFrom-7.5*r*i.dy)+f+a.pathPoint2String("M",t.xFrom+s,t.yFrom-n)+h+a.pathPoint2String("M",t.xFrom+s,t.yFrom+n)+h+a.pathPoint2String("M",t.xTo-i.signX,t.yTo+7.5*r*i.dy)+f,e)},e.createNote=function(t,e){var r=e&&e.lineWidth||1,n=Math.max(9,Math.min(4.5*r,t.height/2)),o=n.toString(10);return a.createPath(a.pathPoint2String("M",t.x,t.y)+a.pathPoint2String("l",t.width-n,0)+a.pathPoint2String("l",0,o)+a.pathPoint2String("l",o,0)+a.pathPoint2String("m",-o,-o)+a.pathPoint2String("l",o,o)+a.pathPoint2String("l",0,t.height-n)+a.pathPoint2String("l",-t.width,0)+a.pathPoint2String("l",0,-t.height)+"z",e)},e.createRBox=function(t,e){var r=Object.assign({rx:6,ry:6},e);return a.createRect(t,r)},e.createABox=function(t,e){return a.createPath(a.pathPoint2String("M",t.x,t.y+t.height/2)+a.pathPoint2String("l",3,-t.height/2)+a.pathPoint2String("l",t.width-6,0)+a.pathPoint2String("l",3,t.height/2)+a.pathPoint2String("l",-3,t.height/2)+a.pathPoint2String("l",-(t.width-6),0)+"z",e)},e.createEdgeRemark=function(t,e){var r=e&&e.foldSize?e.foldSize:7,n=Object.assign({class:null,color:null,bgColor:null},e);return a.createPath(a.pathPoint2String("M",t.x,t.y)+a.pathPoint2String("l",t.width,0)+a.pathPoint2String("l",0,t.height-r)+a.pathPoint2String("l",-r,r)+a.pathPoint2String("l",-(t.width-r),0),n)},e.createSingleLine=a.createSingleLine,e.createRect=a.createRect},9652:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};e.__esModule=!0,e.updateSVG=e.init=e.createSVG=e.createDefs=e.createDesc=e.createDiagonalText=e.createTitle=e.createMarkerPolygon=e.createMarkerPath=e.createGroup=e.createUTurn=e.createRect=e.createSingleLine=e.createPath=e.createText=e.createTSpan=e.pathPoint2String=e.point2String=void 0;var c=i(r(4431)),u=a(r(6710)),s=a(r(8103));function l(t){return"".concat((0,s.default)(t.x,2).toString(),",").concat((0,s.default)(t.y,2).toString()," ")}function d(t,e,r){return t+l({x:e,y:r})}function f(t,e,r,n){return c.createElement("marker",{orient:r,id:t,class:e,viewBox:Boolean(n)?n:"0 0 10 10",refX:"9",refY:"3",markerUnits:"strokeWidth",markerWidth:"10",markerHeight:"10"})}function h(t,e){var r=c.createElement("tspan"),n=c.createTextNode(t);return r.appendChild(n),e?function(t,e){var r=c.createElement("a");return c.setAttributesNS(r,c.XLINKNS,{"xlink:href":t,"xlink:title":t}),r.appendChild(e),r}(e,r):r}function p(t,e,r){var n=Object.assign({class:null,url:null,id:null,idurl:null},r),o=c.createElement("text",{x:(0,s.default)(e.x,2).toString(),y:(0,s.default)(e.y,2).toString(),class:n.class});if(o.appendChild(h(t,n.url)),n.id){var i=h(" [".concat(n.id,"]"),n.idurl);i.setAttribute("style","vertical-align:text-top;font-size:0.7em;text-anchor:start;"),o.appendChild(i)}return o}function g(t,e){var r=Object.assign({class:null,style:null,color:null,bgColor:null},e);return b(c.createElement("path",{d:t,class:r.class,style:r.style}),r.color,r.bgColor)}function b(t,e,r){var n="";return r&&(n+="fill:".concat(r,";")),e&&(n+="stroke:".concat(e,";")),c.setAttribute(t,"style",n)}e.point2String=l,e.pathPoint2String=d,e.createTSpan=h,e.createText=p,e.createPath=g,e.createSingleLine=function(t,e){return c.createElement("line",{x1:(0,s.default)(t.xFrom,2).toString(),y1:(0,s.default)(t.yFrom,2).toString(),x2:(0,s.default)(t.xTo,2).toString(),y2:(0,s.default)(t.yTo,2).toString(),class:e?e.class:null})},e.createRect=function(t,e){var r=Object.assign({class:null,color:null,bgColor:null,rx:null,ry:null},e);return b(c.createElement("rect",{width:(0,s.default)(t.width,2),height:(0,s.default)(t.height,2),x:(0,s.default)(t.x,2),y:(0,s.default)(t.y,2),rx:(0,s.default)(r.rx||0,2),ry:(0,s.default)(r.ry||0,2),class:r.class}),r.color,r.bgColor)},e.createUTurn=function(t,e,r){var n=Object.assign({class:null,dontHitHome:!1,lineWidth:1},r),o=n.dontHitHome?t.x+7.5*(n.lineWidth||1):t.x;return g(d("M",t.x,t.y-t.height/2)+d("C",t.x+t.width,t.y-7.5*(n.lineWidth||1)/2)+l({x:t.x+t.width,y:e+0})+l({x:o,y:e}),{class:n.class})},e.createGroup=function(t,e){return c.createElement("g",{id:t,class:e})},e.createMarkerPath=function(t,e,r){var n=f(t,"arrow-marker","auto");return n.appendChild(g(e,{class:"arrow-style",style:"stroke-dasharray:100,1;stroke:".concat(r)||0})),n},e.createMarkerPolygon=function(t,e,r){var n=f(t,"arrow-marker","auto");return n.appendChild(c.createElement("polygon",{points:e,class:"arrow-style",stroke:r||"black",fill:r||"black"})),n},e.createTitle=function(t){var e=c.createElement("title"),r=c.createTextNode(t);return e.appendChild(r),e},e.createDiagonalText=function(t,e,r){return c.setAttributes(p(t,{x:e.width/2,y:e.height/2},{class:r}),{transform:"rotate(".concat((0,s.default)((0,u.default)(e),2).toString()," ")+"".concat((0,s.default)(e.width/2,2).toString()," ")+"".concat((0,s.default)(e.height/2,2).toString(),")")})},e.createDesc=function(){return c.createElement("desc")},e.createDefs=function(){return c.createElement("defs")},e.createSVG=function(t,e){return c.createElement("svg",{version:"1.1",id:t,class:e,xmlns:c.SVGNS,"xmlns:xlink":c.XLINKNS,width:"0",height:"0"})},e.init=c.init,e.updateSVG=c.setAttributes},2344:(t,e)=>{"use strict";e.__esModule=!0,e.getDirection=e.determineEndCorrection=e.determineStartCorrection=void 0,e.determineStartCorrection=function(t,e,r){var n=0;return!e.includes("nodi")&&e.includes("bidi")&&(n=t.xTo>t.xFrom?7.5*r:-7.5*r),n},e.determineEndCorrection=function(t,e,r){var n=0;return e.includes("nodi")||(n=t.xTo>t.xFrom?-7.5*r:7.5*r),n},e.getDirection=function(t){var e=t.xTo>t.xFrom?1:-1;return{signX:e,signY:t.yTo>t.yFrom?1:-1,dy:e*(t.yTo-t.yFrom)/(t.xTo-t.xFrom)}}},6441:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e};e.__esModule=!0,e.edgeRemark2CurveString=e.doubleLine2CurveString=e.rbox2CurveString=e.abox2CurveString=e.renderNoteCornerString=e.renderNotePathString=void 0;var a=i(r(9652)),c=i(r(2344)),u=r(8913);e.renderNotePathString=function(t,e){return a.pathPoint2String("M",t.x,t.y)+(0,u.line2CurveString)({xFrom:t.x,yFrom:t.y,xTo:t.x+t.width-e,yTo:t.y})+a.pathPoint2String("L",t.x+t.width-e,t.y)+(0,u.line2CurveString)({xFrom:t.x+t.width-e,yFrom:t.y,xTo:t.x+t.width,yTo:t.y+e})+a.pathPoint2String("L",t.x+t.width,t.y+e)+(0,u.line2CurveString)({xFrom:t.x+t.width,yFrom:t.y+e,xTo:t.x+t.width,yTo:t.y+t.height})+a.pathPoint2String("L",t.x+t.width,t.y+t.height)+(0,u.line2CurveString)({xFrom:t.x+t.width,yFrom:t.y+t.height,xTo:t.x,yTo:t.y+t.height})+a.pathPoint2String("L",t.x,t.y+t.height)+(0,u.line2CurveString)({xFrom:t.x,yFrom:t.y+t.height,xTo:t.x,yTo:t.y})+a.pathPoint2String("L",t.x,t.y)+"z"},e.renderNoteCornerString=function(t,e){return a.pathPoint2String("M",t.x+t.width-e,t.y)+(0,u.line2CurveString)({xFrom:t.x+t.width-e,yFrom:t.y,xTo:t.x+t.width-e,yTo:t.y+e})+a.pathPoint2String("L",t.x+t.width-e,t.y+e)+(0,u.line2CurveString)({xFrom:t.x+t.width-e,yFrom:t.y+e,xTo:t.x+t.width,yTo:t.y+e})+a.pathPoint2String("L",t.x+t.width,t.y+e)},e.abox2CurveString=function(t,e){return a.pathPoint2String("M",t.x,t.y+t.height/2)+(0,u.line2CurveString)({xFrom:t.x,yFrom:t.y+t.height/2,xTo:t.x+e,yTo:t.y})+a.pathPoint2String("L",t.x+e,t.y)+(0,u.line2CurveString)({xFrom:t.x+e,yFrom:t.y,xTo:t.x+t.width-e,yTo:t.y})+a.pathPoint2String("L",t.x+t.width-e,t.y)+(0,u.line2CurveString)({xFrom:t.x+t.width-e,yFrom:t.y,xTo:t.x+t.width,yTo:t.y+t.height/2})+a.pathPoint2String("L",t.x+t.width,t.y+t.height/2)+(0,u.line2CurveString)({xFrom:t.x+t.width,yFrom:t.y+t.height/2,xTo:t.x+t.width-e,yTo:t.y+t.height})+a.pathPoint2String("L",t.x+t.width-e,t.y+t.height)+(0,u.line2CurveString)({xFrom:t.x+t.width-e,yFrom:t.y+t.height,xTo:t.x+e,yTo:t.y+t.height})+a.pathPoint2String("L",t.x+e,t.y+t.height)+(0,u.line2CurveString)({xFrom:t.x+e,yFrom:t.y+t.height,xTo:t.x,yTo:t.y+t.height/2})+"z"},e.rbox2CurveString=function(t,e){return a.pathPoint2String("M",t.x,t.y+e)+(0,u.points2CurveString)([{controlX:t.x,controlY:t.y,x:t.x+e,y:t.y}])+(0,u.line2CurveString)({xFrom:t.x+e,yFrom:t.y,xTo:t.x+t.width-e,yTo:t.y})+a.pathPoint2String("L",t.x+t.width-e,t.y)+(0,u.points2CurveString)([{controlX:t.x+t.width,controlY:t.y,x:t.x+t.width,y:t.y+e}])+(0,u.line2CurveString)({xFrom:t.x+t.width,yFrom:t.y+e,xTo:t.x+t.width,yTo:t.y+t.height-e})+a.pathPoint2String("L",t.x+t.width,t.y+t.height-e)+(0,u.points2CurveString)([{controlX:t.x+t.width,controlY:t.y+t.height,x:t.x+t.width-e,y:t.y+t.height}])+(0,u.line2CurveString)({xFrom:t.x+t.width-e,yFrom:t.y+t.height,xTo:t.x+e,yTo:t.y+t.height})+a.pathPoint2String("L",t.x+e,t.y+t.height)+(0,u.points2CurveString)([{controlX:t.x,controlY:t.y+t.height,x:t.x,y:t.y+t.height-e}])+(0,u.line2CurveString)({xFrom:t.x,yFrom:t.y+t.height-e,xTo:t.x,yTo:t.y+e})+"z"},e.doubleLine2CurveString=function(t,e){var r=e.lineWidth||1,n=r,o=e?e.class:"",i=c.getDirection(t),s=c.determineEndCorrection(t,o,r),l=c.determineStartCorrection(t,o,r);return a.pathPoint2String("M",t.xFrom,t.yFrom-7.5*r*i.dy)+a.pathPoint2String("l",i.signX,i.dy)+a.pathPoint2String("M",t.xFrom+l,t.yFrom-n)+(0,u.line2CurveString)({xFrom:t.xFrom+l,yFrom:t.yFrom-n,xTo:t.xTo+s,yTo:t.yTo-n})+a.pathPoint2String("M",t.xFrom+l,t.yFrom+n)+(0,u.line2CurveString)({xFrom:t.xFrom+l,yFrom:t.yFrom+n,xTo:t.xTo+s,yTo:t.yTo+n})+a.pathPoint2String("M",t.xTo-i.signX,t.yTo+7.5*r*i.dy)+a.pathPoint2String("l",i.signX,i.dy)},e.edgeRemark2CurveString=function(t,e){return a.pathPoint2String("M",t.x+t.width,t.y)+(0,u.line2CurveString)({xFrom:t.x+t.width,yFrom:t.y,xTo:t.x+t.width,yTo:t.y+t.height-e})+a.pathPoint2String("L",t.x+t.width,t.y+t.height-e)+(0,u.line2CurveString)({xFrom:t.x+t.width,yFrom:t.y+t.height-e,xTo:t.x+t.width-e,yTo:t.y+t.height})+a.pathPoint2String("L",t.x+t.width-e,t.y+t.height)+(0,u.line2CurveString)({xFrom:t.x+t.width-e,yFrom:t.y+t.height,xTo:t.x-1,yTo:t.y+t.height})+a.pathPoint2String("L",t.x-1,t.y+t.height)}},8913:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};e.__esModule=!0,e.getBetweenPoints=e.getNumberOfSegments=e.getLineLength=e.line2CurveString=e.points2CurveString=void 0;var c=a(r(8103)),u=i(r(9652)),s=i(r(2344));function l(t){return t.map((function(t){return"".concat(u.pathPoint2String("S",t.controlX,t.controlY)," ")+"".concat(u.point2String(t))})).join(" ")}function d(t){var e=Math.abs(t.xTo-t.xFrom),r=Math.abs(t.yTo-t.yFrom);return Math.sqrt(e*e+r*r)}function f(t,e){var r=d(t);return r>0?Math.floor(r/e):0}function h(t){return Math.round(2*Math.random()*t)-t}function p(t,e,r){e=function(t,e){if(t<=0)throw new Error("pInterval must be > 0");return Math.min(d(e),t)}(e,t);for(var n,o=[],i=f(t,e),a=s.getDirection(t),u=a.signX*Math.sqrt(Math.pow(e,2)/(1+Math.pow(a.dy,2))),l=a.signY*(Math.abs(a.dy)===1/0?e:Math.sqrt(Math.pow(a.dy,2)*Math.pow(e,2)/(1+Math.pow(a.dy,2)))),p=1;p<=i;p++)e>d({xFrom:(n={controlX:(0,c.default)(t.xFrom+(p-.5)*u+h(r),2),controlY:(0,c.default)(t.yFrom+(p-.5)*l+h(r),2),x:(0,c.default)(t.xFrom+p*u,2),y:(0,c.default)(t.yFrom+p*l,2)}).x,yFrom:n.y,xTo:t.xTo,yTo:t.yTo})&&(n.x=t.xTo,n.y=t.yTo),o.push(n);return o}e.points2CurveString=l,e.line2CurveString=function(t){return l(p(t,70,3))},e.getLineLength=d,e.getNumberOfSegments=f,e.getBetweenPoints=p},5282:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};e.__esModule=!0,e.createDoubleLine=e.createEdgeRemark=e.createRBox=e.createABox=e.createRect=e.createNote=e.createSingleLine=void 0;var c=r(6441),u=r(8913),s=a(r(8103)),l=i(r(9652)),d=i(r(2344));e.createSingleLine=function(t,e){void 0===e&&(e={});var r=d.getDirection(t);return l.createPath(l.pathPoint2String("M",t.xFrom,t.yFrom)+l.pathPoint2String("L",(0,s.default)(t.xFrom+r.signX*Math.sqrt(1/(1+Math.pow(r.dy,2))),2),t.yFrom+r.signY*(Math.abs(r.dy)===1/0?1:(0,s.default)(Math.sqrt(Math.pow(r.dy,2)/(1+Math.pow(r.dy,2))),2)))+(0,u.line2CurveString)(t),e)},e.createNote=function(t,e){var r=e&&e.lineWidth||1,n=Math.max(9,Math.min(4.5*r,t.height/2)),o=l.createGroup();return o.appendChild(l.createPath((0,c.renderNotePathString)(t,n),e)),e.bgColor="transparent",o.appendChild(l.createPath((0,c.renderNoteCornerString)(t,n),e)),o},e.createRect=function(t,e){return l.createPath((0,c.rbox2CurveString)(t,0),e)},e.createABox=function(t,e){return l.createPath((0,c.abox2CurveString)(t,3),e)},e.createRBox=function(t,e){return l.createPath((0,c.rbox2CurveString)(t,6),e)},e.createEdgeRemark=function(t,e){var r=e&&e.lineWidth||1,n=l.createGroup(),o=e&&e.foldSize?e.foldSize:7,i=e&&e.color?e.color:"black";e.color="transparent!important";var a=l.createPath(l.pathPoint2String("M",t.x,t.y+r/2)+l.pathPoint2String("L",t.x+t.width,t.y+r/2)+l.pathPoint2String("L",t.x+t.width,t.y+t.height-o)+l.pathPoint2String("L",t.x+t.width-o,t.y+t.height)+l.pathPoint2String("L",t.x,t.y+t.height)+"z",e);e.bgColor="transparent",e.color=i;var u=l.createPath((0,c.edgeRemark2CurveString)(t,o),e);return n.appendChild(a),n.appendChild(u),n},e.createDoubleLine=function(t,e){return l.createPath((0,c.doubleLine2CurveString)(t,e),{class:e.class})}},5930:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};e.__esModule=!0,e.webkitNamespaceBugWorkaround=e.calculateTextHeight=e.init=e.removeRenderedSVGFromElement=e.getBBox=void 0;var c=a(r(8306)),u=i(r(9824)),s=i(r(7683)),l={},d=u.get("bboxer");function f(t){return"function"==typeof t.getBBox?(e=function(t){var e=l.getElementById(d);(e=e||function(t){var e=s.createSVG(t,u.get());return l.body.appendChild(e),e}(d)).appendChild(t);var r=t.getBBox();return e.removeChild(t),r}(t),r=1e5,Math.abs(e.height)>r||Math.abs(e.width)>r?{height:0,width:0,x:0,y:0}:e):{height:15,width:15,x:2,y:2};var e,r}e.getBBox=f,e.removeRenderedSVGFromElement=function(t){u.setPrefix(t);var e=l.getElementById(u.get());if(Boolean(e)){var r=l.getElementById(t);r?r.removeChild(e):l.body.removeChild(e)}},e.init=function(t){l=t},e.calculateTextHeight=(0,c.default)((function(){return f(s.createText("ÁjyÎ9ƒ@💩",{x:0,y:0})).height})),e.webkitNamespaceBugWorkaround=function(t){return t.replace(/ xlink=/g," xmlns:xlink=").replace(/ href=/g," xlink:href=")}},6367:(t,e)=>{"use strict";e.__esModule=!0,e.escapeString=e.unescapeString=void 0,e.unescapeString=function(t){return t.replace(/\\"/g,'"')},e.escapeString=function(t){return t.replace(/\\"/g,'"').replace(/"/g,'\\"')}},5791:(t,e)=>{"use strict";e.__esModule=!0,e.default=function(t,e){for(var r=0,n=[],o=0,i=0,a=0,c=0,u=t.replace(/[\t\n]+/g," ").replace(/\\n/g,"\n");c<=u.length;)c>=u.length?n.push(u.substring(o,c)):"\n"===u[c]?(r=0,a=c,n.push(u.substring(o,a)),o=a+1):r++>=e&&(-1===(a=u.substring(0,c).lastIndexOf(" "))||a{let e={defaultLanguage:"mscgen",parentElementPrefix:"mscgen_js-parent_",clickable:!1,clickURL:"https://sverweij.github.io/mscgen_js/",loadFromSrcAttribute:!1};t.exports={getConfig(){var t,r;return"undefined"!=typeof mscgen_js_config&&mscgen_js_config&&"object"==typeof mscgen_js_config&&(t=e,r=mscgen_js_config,Object.getOwnPropertyNames(r).forEach((e=>{t[e]=r[e]}))),e}}},9335:(t,e,r)=>{const n=r(115);function o(t,e){let r=t.toString(),n=e-r.length;for(let t=0;to===e?t+n.applyTemplate("{char}",{char:a(r)}):t+a(r)),"")}t.exports={formatNumber:o,deHTMLize:a,renderError:function(t,e,r){let o=e?n.applyTemplate("
    # ERROR on line {line}, column {col} - {message}
    ",{message:r,line:e.start.line,col:e.start.column}):n.applyTemplate("
    # ERROR {message}
    ",{message:r});return`${t.split("\n").reduce(((t,r,o)=>Boolean(e)&&o===e.start.line-1?t+n.applyTemplate("{line}\n",{line:i(c(r,e.start.column-1),o+1)}):`${t+a(i(r,o+1))}\n`),o)}
    `}}},8222:t=>{function e(t,e,r){return`${t.pathname}?lang=${r}&msc=${encodeURIComponent(e)}`}t.exports={toLocationString(t,r,n){let o="# source too long for an URL";return function(t,r,n){return e(t,r,n).length<4094}(t,r,n)&&(o=r),e(t,o,n)}}},115:t=>{t.exports={applyTemplate:function(t,e){let r=t;return e&&Object.keys(e).forEach((t=>{r=r.replace(new RegExp(`{${t}}`,"g"),e[t])})),r}}},641:t=>{"use strict";t.exports=JSON.parse('{"baseTemplate":"svg.<%=id%>{font-family:Helvetica,sans-serif;font-size:<%=fontSize%>px;font-weight:normal;font-style:normal;text-decoration:none;background-color:white;stroke:black;stroke-width:<%=lineWidth%>}.<%=id%> path, .<%=id%> rect{fill:none}.<%=id%> .label-text-background{fill:white;stroke:white;stroke-width:0}.<%=id%> .bglayer{fill:white;stroke:white;stroke-width:0}.<%=id%> line{}.<%=id%> .return, .<%=id%> .comment{stroke-dasharray:5,3}.<%=id%> .inline_expression_divider{stroke-dasharray:10,5}.<%=id%> text{color:inherit;stroke:none;text-anchor:middle}.<%=id%> text.anchor-start{text-anchor:start}.<%=id%> .arrow-marker{overflow:visible}.<%=id%> .arrow-style{stroke-width:1}.<%=id%> .arcrow, .<%=id%> .arcrowomit, .<%=id%> .emphasised{stroke-linecap:butt}.<%=id%> .arcrowomit{stroke-dasharray:2,2}.<%=id%> .box, .<%=id%> .entity{fill:white;stroke-linejoin:round}.<%=id%> .inherit{stroke:inherit;color:inherit}.<%=id%> .inherit-fill{fill:inherit}.<%=id%> .watermark{font-size:48pt;font-weight:bold;opacity:0.14}","namedStyles":[{"name":"basic","description":"Basic","experimental":false,"deprecated":false,"renderMagic":"straight","cssBefore":"","cssAfter":".<%=id%> text.entity-text{text-decoration:underline;}"},{"name":"lazy","description":"Lazy","experimental":false,"deprecated":false,"renderMagic":"straight","cssBefore":"","cssAfter":".<%=id%> text.entity-text{font-weight:bold;}.<%=id%> text.return-text{font-style:italic}.<%=id%> path.note{fill:#FFFFCC}.<%=id%> rect.label-text-background{opacity:0.9}.<%=id%> line.comment,.<%=id%> rect.inline_expression,.<%=id%> .inline_expression_divider,.<%=id%> .inline_expression_label{stroke:grey}"},{"name":"classic","description":"Classic","experimental":false,"deprecated":false,"renderMagic":"straight","cssBefore":"","cssAfter":".<%=id%> text.entity-text{text-decoration:none}.<%=id%> .entity{stroke:none;}.<%=id%> line,.<%=id%> rect,.<%=id%> path{stroke-width:1px}.<%=id%> .arrow-style{stroke-width:2;}.<%=id%> .inline_expression,.<%=id%> .inline_expression_divider,.<%=id%> .inline_expression_label{stroke-width: 1px}"},{"name":"fountainpen","description":"Fountain pen","experimental":true,"deprecated":false,"renderMagic":"wobbly","cssBefore":"@import \'https://fonts.googleapis.com/css?family=Gochi+Hand\';","cssAfter":"svg.<%=id%>{font-family:\'Gochi Hand\', cursive;font-size:14px;stroke-opacity:0.4;stroke-linecap:round;background-color:transparent}.<%=id%> text{fill:rgba(0,0,128,0.7)}.<%=id%> marker polygon{fill:rgba(0,0,255,0.4);stroke-linejoin:round}.<%=id%> line, .<%=id%> path, .<%=id%> rect, .<%=id%> polygon{stroke:blue !important}.<%=id%> text.entity-text{font-weight:bold;text-decoration:none}.<%=id%> text.return-text{font-style:italic}.<%=id%> path.note{fill:#FFFFCC;}.<%=id%> .label-text-background{opacity:0}"},{"name":"cygne","description":"Cygne (best with msgenny)","experimental":true,"deprecated":true,"renderMagic":"straight","cssBefore":"","cssAfter":".<%=id%> line, .<%=id%> path{stroke:#00A1DE}.<%=id%> text{fill:#005B82}.<%=id%> .entity,.<%=id%> .box{fill:#00A1DE;stroke:#00A1DE}.<%=id%> text.box-text{fill:white}.<%=id%> text.entity-text{font-weight:bold;fill:white;text-decoration:none}.<%=id%> text.return-text{font-style:italic}.<%=id%> path.note{fill:#E77B2F;stroke:white}.<%=id%> .comment,.<%=id%> .inline_expression,.<%=id%> .inline_expression_divider,.<%=id%> .inline_expression_label{fill:white}"},{"name":"pegasse","description":"Pégase (best with msgenny)","experimental":false,"deprecated":true,"renderMagic":"straight","cssBefore":"","cssAfter":".<%=id%> line, .<%=id%> path{stroke:rgba(0, 43, 84, 1)}.<%=id%> text{fill:rgba(0, 43, 84, 1)}.<%=id%> .entity,.<%=id%> .box{fill:rgba(0, 43, 84, 1);stroke:rgba(0, 43, 84, 1)}.<%=id%> text.box-text{fill:white}.<%=id%> text.entity-text{font-weight:bold;fill:white;text-decoration:none}.<%=id%> text.return-text{font-style:italic}.<%=id%> path.note{fill:rgba(255, 50, 0, 1);stroke:white}.<%=id%> .comment,.<%=id%> .inline_expression,.<%=id%> .inline_expression_divider,.<%=id%> .inline_expression_label{fill:white}"},{"name":"grayscaled","description":"Grayscaled (not in IE or Safari)","experimental":true,"deprecated":false,"renderMagic":"straight","cssBefore":"","cssAfter":"svg.<%=id%>{filter:grayscale(1);-webkit-filter:grayscale(1);}"},{"name":"inverted","description":"Inverted (not in IE or Safari)","experimental":true,"deprecated":false,"renderMagic":"straight","cssBefore":"","cssAfter":"svg.<%=id%>{filter:invert(1);-webkit-filter:invert(1);}"},{"name":"noentityboxes","description":"No entity boxes","experimental":false,"deprecated":false,"renderMagic":"straight","cssBefore":"","cssAfter":".<%=id%> .entity{fill:none;stroke:none;}.<%=id%> text.entity-text{text-decoration:underline;}"}]}')}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={id:n,loaded:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.loaded=!0,i.exports}r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),(()=>{const t=r(5150),e=r(2779),n=r(5533),o=r(916),i=r(9335),a=r(8222),c=Object.freeze({"text/x-mscgen":"mscgen","text/x-msgenny":"msgenny","text/x-xu":"xu"});function u(t,e){const r=document.createElement("pre");r.setAttribute("style","color: #d00"),r.textContent=e,t.replaceChildren(r)}function s(t){let e=t.dataset.mirrorEntities;return e&&"true"===e}function l(t){return t.dataset.regularArcTextVerticalAlignment||"middle"}function d(r,u,d=r){let f=function(t){let e=t.dataset.language||c[t.getAttribute("type")];return e||(e=o.getConfig().defaultLanguage),e}(d),h=function(r,n){let o={};try{o="msgenny"===n?e.parse(r):"json"===n?JSON.parse(r):t.parse(r)}catch(t){return t}return o}(u,f);var p;h.entities?function(t,e,r){let i=document.getElementById(e);i.innerHTML="",!0===o.getConfig().clickable&&(i.append(function(t,e,r){let n=document.createElement("a");return n.setAttribute("href",o.getConfig().clickURL+a.toLocationString({pathname:"index.html"},t,e)),n.setAttribute("id",`${r}link`),n.setAttribute("style","text-decoration: none;"),n.setAttribute("title","click to edit in the mscgen_js interpreter"),n}(r.source,r.language,e)),e+="link"),n.clean(e,window),n.render(t,window,e,{source:r.source,additionalTemplate:r.namedStyle,mirrorEntitiesOnBottom:r.mirrorEntities,regularArcTextVerticalAlignment:r.regularArcTextVerticalAlignment})}(h,r.id,{source:u,language:f,mirrorEntities:s(d),namedStyle:(p=d,p.dataset.namedStyle||"basic"),regularArcTextVerticalAlignment:l(d)}):r.innerHTML=i.renderError(u,h.location,h.message)}function f(t){return t.ok?Promise.resolve(t):Promise.reject(new Error(`ERROR: ${t.statusText}`))}function h(t){return t.text()}function p(t){return t.dataset.src||t.getAttribute("src")}function g(t,e,r=t){t.dataset.renderedby="mscgen_js",!o.getConfig().loadFromSrcAttribute&&Boolean(p(t))?u(r,"ERROR: Won't load the chart specified,\nbecause loading from separate files is switched off in the mscgen_js configuration. \n\nSee https://sverweij.github.io/mscgen_js/embed.html#loading-from-separate-files how to enable it."):(function(t,e){t.id||(t.id=o.getConfig().parentElementPrefix+e.toString())}(r,e),function(t){const e=p(t);return e?fetch(e).then(f).then(h):new Promise(((e,r)=>{t.textContent?e(t.textContent):r(new Error("ERROR: this element doesn't contain any text"))}))}(t).then((e=>{d(r,e,t)})).catch((t=>{u(r,t.message)})))}function b(t,e){if(!t.dataset.renderedby)if("SCRIPT"===t.tagName){let r=document.createElement("span");t.after(r),g(t,e,r)}else g(t,e)}function m(){return Math.round(1e9*Math.random())}const x=[...document.querySelectorAll(".mscgen_js"),...[...document.scripts].filter((t=>Boolean(c[t.type]))),...document.querySelectorAll("mscgen")],y=new IntersectionObserver((function(t){t.forEach((t=>{t.isIntersecting&&b(t.target.nextElementSibling,m())}))}),{rootMargin:"100% 0% 100% 0%"});x.forEach((t=>{const e=document.createElement("mscgenjs-marker");t.before(e),y.observe(e)})),window.addEventListener("beforeprint",(()=>{x.forEach((t=>{b(t,m())}))}))})()})(); \ No newline at end of file +(()=>{var t={785:function(t,e,r){var n,o,i;o=[r(309)],void 0===(i="function"==typeof(n=function(t){"use strict";function e(t,r,n,o){var i=Error.call(this,t);return Object.setPrototypeOf&&Object.setPrototypeOf(i,e.prototype),i.expected=r,i.found=n,i.location=o,i.name="SyntaxError",i}function r(t,e,r){return r=r||" ",t.length>e?t:(e-=t.length,t+(r+=r.repeat(e)).slice(0,e))}return function(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}(e,Error),e.prototype.format=function(t){var e="Error: "+this.message;if(this.location){var n,o=null;for(n=0;n0){for(e=1,r=1;e",M="==",P="<<=>>",j="<=>",D="..",F="<<>>",I="::",B="<:>",N="->",H="=>>",R="=>",W=">>",G=":>",X="-x",V="<-",z="<<=",$="<=",q="<<",U="<:",Y="x-",Z="note",K="abox",J="rbox",Q="box",tt="alt",et="else",rt="opt",nt="break",ot="par",it="seq",at="strict",ct="neg",ut="critical",lt="ignore",st="consider",dt="assert",ft="loop",ht="ref",gt="exc",pt='"',mt='\\"',bt="/*",yt="*/",xt="//",vt="#",wt=".",Ct="true",_t="false",kt="on",St="off",Et="auto",Lt=/^[,;{]/,At=/^[^;, "\t\n\r=\-><:{*]/,Ot=/^[ \t]/,Tt=/^[\r\n]/,Mt=/^[^\r\n]/,Pt=/^[0-9]/,jt=/^[0-1]/,Dt=Ln(",",!1),Ft=Ln(";",!1),It=Ln("hscale",!0),Bt=Ln("arcgradient",!0),Nt=Ln("=",!1),Ht=Ln("width",!0),Rt=Ln("wordwraparcs",!0),Wt=Ln("wordwrapentities",!0),Gt=Ln("wordwrapboxes",!0),Xt=Ln("watermark",!0),Vt=On("entity"),zt=Ln(":",!1),$t=Ln("*",!1),qt=Ln("{",!1),Ut=Ln("}",!1),Yt=On("empty row"),Zt=Ln("|||",!1),Kt=Ln("...",!1),Jt=On("---"),Qt=Ln("---",!1),te=On("bi-directional arrow"),ee=Ln("--",!1),re=Ln("<->",!1),ne=Ln("==",!1),oe=Ln("<<=>>",!1),ie=Ln("<=>",!1),ae=Ln("..",!1),ce=Ln("<<>>",!1),ue=Ln("::",!1),le=Ln("<:>",!1),se=On("left to right arrow"),de=Ln("->",!1),fe=Ln("=>>",!1),he=Ln("=>",!1),ge=Ln(">>",!1),pe=Ln(":>",!1),me=Ln("-x",!0),be=On("right to left arrow"),ye=Ln("<-",!1),xe=Ln("<<=",!1),ve=Ln("<=",!1),we=Ln("<<",!1),Ce=Ln("<:",!1),_e=Ln("x-",!0),ke=On("box"),Se=Ln("note",!0),Ee=Ln("abox",!0),Le=Ln("rbox",!0),Ae=Ln("box",!0),Oe=On("inline expression"),Te=Ln("alt",!0),Me=Ln("else",!0),Pe=Ln("opt",!0),je=Ln("break",!0),De=Ln("par",!0),Fe=Ln("seq",!0),Ie=Ln("strict",!0),Be=Ln("neg",!0),Ne=Ln("critical",!0),He=Ln("ignore",!0),Re=Ln("consider",!0),We=Ln("assert",!0),Ge=Ln("loop",!0),Xe=Ln("ref",!0),Ve=Ln("exc",!0),ze=On("double quoted string"),$e=Ln('"',!1),qe=Ln('\\"',!1),Ue={type:"any"},Ye=An([",",";","{"],!1,!1),Ze=On("identifier"),Ke=An([";",","," ",'"',"\t","\n","\r","=","-",">","<",":","{","*"],!0,!1),Je=On("whitespace"),Qe=An([" ","\t"],!1,!1),tr=On("lineend"),er=An(["\r","\n"],!1,!1),rr=Ln("/*",!1),nr=Ln("*/",!1),or=Ln("//",!1),ir=Ln("#",!1),ar=An(["\r","\n"],!0,!1),cr=On("comment"),ur=On("number"),lr=An([["0","9"]],!1,!1),sr=Ln(".",!1),dr=On("boolean"),fr=Ln("true",!0),hr=Ln("false",!0),gr=Ln("on",!0),pr=Ln("off",!0),mr=An([["0","1"]],!1,!1),br=On("size"),yr=Ln("auto",!0),xr=function(e,r){return r.entities=oo(r.entities||[],r.arcs),r={meta:t.getMetaInfo(r.options,r.arcs),...r},e.length>0&&(r={precomment:e,...r}),r},vr=function(t,e,r){var n={};return t&&(n.options=t),e&&(n.entities=e),r&&(n.arcs=r),n},wr=function(t){return t},Cr=function(t){return t},_r=function(t){return t[0].concat(t[1]).reduce(((t,e)=>Object.assign(t,e)),{})},kr=function(e,r){return t.nameValue2Option(e,r)},Sr=function(e,r){return t.nameValue2Option(e,r)},Er=function(e,r){return t.nameValue2Option(e,t.flattenBoolean(r))},Lr=function(e,r){return t.nameValue2Option(e,t.flattenBoolean(r))},Ar=function(e,r){return t.nameValue2Option(e,t.flattenBoolean(r))},Or=function(e,r){return t.nameValue2Option(e,r)},Tr=function(t){return t},Mr=function(t){return t},Pr=function(t){return t[0].concat(t[1])},jr=function(t,e){return e},Dr=function(t,e){var r=no(t);return e&&(r.label=e),r},Fr=function(t){return t},Ir=function(t){return t},Br=function(t){return t},Nr=function(t){return t[0].concat(t[1])},Hr=function(t){return t},Rr=function(t){return t},Wr=function(t){return t},Gr=function(t,e){return e},Xr=function(t,e){return e&&(t.label=e),t},Vr=function(t){return{kind:t}},zr=function(t){return{kind:t}},$r=function(t,e,r){return{kind:e,from:t,to:r}},qr=function(t,e){return{kind:t,from:"*",to:e}},Ur=function(t,e){return{kind:e,from:t,to:"*"}},Yr=function(t,e){return{kind:e,from:t,to:"*"}},Zr=function(t,e,r,n){return n},Kr=function(t,e,r,n,o){var i={kind:e,from:t,to:r,arcs:o};return n&&(i.label=n),i},Jr=function(t){return t.toLowerCase()},Qr=function(t){return t.toLowerCase()},tn=function(t){return t.join("")},en=function(t){return t},rn=function(t){return t.join("").trim()},nn=function(t){return t},on=function(t){return t.join("")},an=function(t){return t},cn=function(t){return t},un=function(t){return t},ln=function(t,e,r){return t+e.join("")+r},sn=function(t,e){return t+e.join("")},dn=function(t){return t},fn=function(t){return t.toString()},hn=function(t){return t.toString()},gn=function(t){return parseInt(t.join(""),10)},pn=function(t){return parseFloat(t.join(""))},mn=function(t){return t},bn=function(t){return t.toString()},yn=function(t){return t},xn=function(t){return t},vn=function(t){return t.toString()},wn=function(t){return t.toLowerCase()},Cn=0|n.peg$currPos,_n=[{line:1,column:1}],kn=Cn,Sn=n.peg$maxFailExpected||[],En=0|n.peg$silentFails;if(n.startRule){if(!(n.startRule in s))throw new Error("Can't start parsing from rule \""+n.startRule+'".');d=s[n.startRule]}function Ln(t,e){return{type:"literal",text:t,ignoreCase:e}}function An(t,e,r){return{type:"class",parts:t,inverted:e,ignoreCase:r}}function On(t){return{type:"other",description:t}}function Tn(t){var e,n=_n[t];if(n)return n;if(t>=_n.length)e=_n.length-1;else for(e=t;!_n[--e];);for(n={line:(n=_n[e]).line,column:n.column};ekn&&(kn=Cn,Sn=[]),Sn.push(t))}function jn(){var t,e;return t=Zn(),e=function(){var t,e,n;return(t=function(){var t,e,n,o,i;for(t=Cn,e=[],n=Cn,(o=Dn())!==u?(44===r.charCodeAt(Cn)?(i=f,Cn++):(i=u,0===En&&Pn(Dt)),i!==u?n=wr(o):(Cn=n,n=u)):(Cn=n,n=u);n!==u;)e.push(n),n=Cn,(o=Dn())!==u?(44===r.charCodeAt(Cn)?(i=f,Cn++):(i=u,0===En&&Pn(Dt)),i!==u?n=wr(o):(Cn=n,n=u)):(Cn=n,n=u);return n=Cn,(o=Dn())!==u?(59===r.charCodeAt(Cn)?(i=h,Cn++):(i=u,0===En&&Pn(Ft)),i!==u?n=Cr(o):(Cn=n,n=u)):(Cn=n,n=u),n!==u?t=e=[e,n]:(Cn=t,t=u),t!==u&&(t=_r(t)),t}())===u&&(t=null),(e=function(){var t,e,n,o,i;for(t=Cn,e=[],n=Cn,(o=Fn())!==u?(44===r.charCodeAt(Cn)?(i=f,Cn++):(i=u,0===En&&Pn(Dt)),i!==u?n=Tr(o):(Cn=n,n=u)):(Cn=n,n=u);n!==u;)e.push(n),n=Cn,(o=Fn())!==u?(44===r.charCodeAt(Cn)?(i=f,Cn++):(i=u,0===En&&Pn(Dt)),i!==u?n=Tr(o):(Cn=n,n=u)):(Cn=n,n=u);return n=Cn,(o=Fn())!==u?(59===r.charCodeAt(Cn)?(i=h,Cn++):(i=u,0===En&&Pn(Ft)),i!==u?n=Mr(o):(Cn=n,n=u)):(Cn=n,n=u),n!==u?t=e=[e,n]:(Cn=t,t=u),t!==u&&(t=Pr(t)),t}())===u&&(e=null),(n=In())===u&&(n=null),vr(t,e,n)}(),Zn(),xr(t,e)}function Dn(){var t,e,n,o;return t=Cn,Zn(),(e=r.substr(Cn,6)).toLowerCase()===g?Cn+=6:(e=u,0===En&&Pn(It)),e===u&&((e=r.substr(Cn,11)).toLowerCase()===p?Cn+=11:(e=u,0===En&&Pn(Bt))),e!==u?(Zn(),61===r.charCodeAt(Cn)?(n=m,Cn++):(n=u,0===En&&Pn(Nt)),n!==u?(Zn(),(o=function(){var t,e;return En++,t=Cn,(e=function(){var t,e,n,o;return t=Cn,34===r.charCodeAt(Cn)?(e=pt,Cn++):(e=u,0===En&&Pn($e)),e!==u&&(n=Kn())!==u?(34===r.charCodeAt(Cn)?(o=pt,Cn++):(o=u,0===En&&Pn($e)),o!==u?t=hn(n):(Cn=t,t=u)):(Cn=t,t=u),t}())!==u&&(e=dn(e)),(t=e)===u&&(t=Cn,(e=Kn())!==u&&(e=fn(e)),t=e),En--,t===u&&(e=u,0===En&&Pn(ur)),t}())!==u?(Zn(),t=kr(e,o)):(Cn=t,t=u)):(Cn=t,t=u)):(Cn=t,t=u),t===u&&(t=Cn,Zn(),(e=r.substr(Cn,5)).toLowerCase()===b?Cn+=5:(e=u,0===En&&Pn(Ht)),e!==u?(Zn(),61===r.charCodeAt(Cn)?(n=m,Cn++):(n=u,0===En&&Pn(Nt)),n!==u?(Zn(),(o=function(){var t;return En++,(t=function(){var t,e,n,o;return t=Cn,34===r.charCodeAt(Cn)?(e=pt,Cn++):(e=u,0===En&&Pn($e)),e!==u&&(n=eo())!==u?(34===r.charCodeAt(Cn)?(o=pt,Cn++):(o=u,0===En&&Pn($e)),o!==u?t=xn(n):(Cn=t,t=u)):(Cn=t,t=u),t}())===u&&(t=eo()),En--,t===u&&0===En&&Pn(br),t}())!==u?(Zn(),t=Sr(e,o)):(Cn=t,t=u)):(Cn=t,t=u)):(Cn=t,t=u),t===u&&(t=Cn,Zn(),(e=r.substr(Cn,12)).toLowerCase()===y?Cn+=12:(e=u,0===En&&Pn(Rt)),e!==u?(Zn(),61===r.charCodeAt(Cn)?(n=m,Cn++):(n=u,0===En&&Pn(Nt)),n!==u?(Zn(),(o=Qn())!==u?(Zn(),t=Er(e,o)):(Cn=t,t=u)):(Cn=t,t=u)):(Cn=t,t=u),t===u&&(t=Cn,Zn(),(e=r.substr(Cn,16)).toLowerCase()===x?Cn+=16:(e=u,0===En&&Pn(Wt)),e!==u?(Zn(),61===r.charCodeAt(Cn)?(n=m,Cn++):(n=u,0===En&&Pn(Nt)),n!==u?(Zn(),(o=Qn())!==u?(Zn(),t=Lr(e,o)):(Cn=t,t=u)):(Cn=t,t=u)):(Cn=t,t=u),t===u&&(t=Cn,Zn(),(e=r.substr(Cn,13)).toLowerCase()===v?Cn+=13:(e=u,0===En&&Pn(Gt)),e!==u?(Zn(),61===r.charCodeAt(Cn)?(n=m,Cn++):(n=u,0===En&&Pn(Nt)),n!==u?(Zn(),(o=Qn())!==u?(Zn(),t=Ar(e,o)):(Cn=t,t=u)):(Cn=t,t=u)):(Cn=t,t=u),t===u&&(t=Cn,Zn(),(e=r.substr(Cn,9)).toLowerCase()===w?Cn+=9:(e=u,0===En&&Pn(Xt)),e!==u?(Zn(),61===r.charCodeAt(Cn)?(n=m,Cn++):(n=u,0===En&&Pn(Nt)),n!==u?(Zn(),(o=Xn())!==u?(Zn(),t=Or(e,o)):(Cn=t,t=u)):(Cn=t,t=u)):(Cn=t,t=u)))))),t}function Fn(){var t,e,n,o,i;return En++,t=Cn,Zn(),(e=Vn())!==u?(Zn(),n=Cn,58===r.charCodeAt(Cn)?(o=C,Cn++):(o=u,0===En&&Pn(zt)),o!==u?(Zn(),(i=Gn())!==u?(Zn(),n=jr(e,i)):(Cn=n,n=u)):(Cn=n,n=u),n===u&&(n=null),t=Dr(e,n)):(Cn=t,t=u),En--,t===u&&0===En&&Pn(Vt),t}function In(){var t,e,n,o;if(t=[],e=Cn,(n=Bn())!==u?(Zn(),59===r.charCodeAt(Cn)?(o=h,Cn++):(o=u,0===En&&Pn(Ft)),o!==u?e=Fr(n):(Cn=e,e=u)):(Cn=e,e=u),e!==u)for(;e!==u;)t.push(e),e=Cn,(n=Bn())!==u?(Zn(),59===r.charCodeAt(Cn)?(o=h,Cn++):(o=u,0===En&&Pn(Ft)),o!==u?e=Fr(n):(Cn=e,e=u)):(Cn=e,e=u);else t=u;return t}function Bn(){var t,e,n,o,i;for(t=Cn,e=[],n=Cn,(o=Nn())!==u?(44===r.charCodeAt(Cn)?(i=f,Cn++):(i=u,0===En&&Pn(Dt)),i!==u?n=Ir(o):(Cn=n,n=u)):(Cn=n,n=u);n!==u;)e.push(n),n=Cn,(o=Nn())!==u?(44===r.charCodeAt(Cn)?(i=f,Cn++):(i=u,0===En&&Pn(Dt)),i!==u?n=Ir(o):(Cn=n,n=u)):(Cn=n,n=u);return n=Cn,(o=Nn())!==u&&(o=Br(o)),(n=o)!==u?t=e=[e,n]:(Cn=t,t=u),t!==u&&(t=Nr(t)),t}function Nn(){var t;return(t=function(){var t,e,n,o,i;return t=Cn,e=Cn,(n=function(){var t,e;return t=Cn,Zn(),(e=function(){var t;return En++,r.substr(Cn,3)===E?(t=E,Cn+=3):(t=u,0===En&&Pn(Zt)),t===u&&(r.substr(Cn,3)===L?(t=L,Cn+=3):(t=u,0===En&&Pn(Kt))),En--,t===u&&0===En&&Pn(Yt),t}())!==u?(Zn(),t=Vr(e)):(Cn=t,t=u),t}())!==u&&(n=Hr(n)),(e=n)===u&&(e=Cn,(n=function(){var t,e,n,o;return t=Cn,Zn(),(e=Vn())!==u?(Zn(),(n=function(){var t;return(t=Hn())===u&&(t=Rn())===u&&(t=Wn())===u&&(t=function(){var t;return En++,(t=r.substr(Cn,4)).toLowerCase()===Z?Cn+=4:(t=u,0===En&&Pn(Se)),t===u&&((t=r.substr(Cn,4)).toLowerCase()===K?Cn+=4:(t=u,0===En&&Pn(Ee)),t===u&&((t=r.substr(Cn,4)).toLowerCase()===J?Cn+=4:(t=u,0===En&&Pn(Le)),t===u&&((t=r.substr(Cn,3)).toLowerCase()===Q?Cn+=3:(t=u,0===En&&Pn(Ae))))),En--,t===u&&0===En&&Pn(ke),t}()),t!==u&&(t=Jr(t)),t}())!==u?(Zn(),(o=Vn())!==u?(Zn(),t=$r(e,n,o)):(Cn=t,t=u)):(Cn=t,t=u)):(Cn=t,t=u),t===u&&(t=Cn,Zn(),42===r.charCodeAt(Cn)?(e=_,Cn++):(e=u,0===En&&Pn($t)),e!==u?(Zn(),(n=Wn())!==u?(Zn(),(o=Vn())!==u?(Zn(),t=qr(n,o)):(Cn=t,t=u)):(Cn=t,t=u)):(Cn=t,t=u),t===u&&(t=Cn,Zn(),(e=Vn())!==u?(Zn(),(n=Rn())!==u?(Zn(),42===r.charCodeAt(Cn)?(o=_,Cn++):(o=u,0===En&&Pn($t)),o!==u?(Zn(),t=Ur(e,n)):(Cn=t,t=u)):(Cn=t,t=u)):(Cn=t,t=u),t===u&&(t=Cn,Zn(),(e=Vn())!==u?(Zn(),(n=Hn())!==u?(Zn(),42===r.charCodeAt(Cn)?(o=_,Cn++):(o=u,0===En&&Pn($t)),o!==u?(Zn(),t=Yr(e,n)):(Cn=t,t=u)):(Cn=t,t=u)):(Cn=t,t=u)))),t}())!==u&&(n=Rr(n)),(e=n)===u&&(e=Cn,(n=function(){var t,e;return t=Cn,Zn(),(e=function(){var t;return En++,r.substr(Cn,3)===A?(t=A,Cn+=3):(t=u,0===En&&Pn(Qt)),En--,t===u&&0===En&&Pn(Jt),t}())!==u?(Zn(),t=zr(e)):(Cn=t,t=u),t}())!==u&&(n=Wr(n)),e=n)),e!==u?(n=Cn,58===r.charCodeAt(Cn)?(o=C,Cn++):(o=u,0===En&&Pn(zt)),o!==u?(Zn(),(i=Gn())!==u?(Zn(),n=Gr(e,i)):(Cn=n,n=u)):(Cn=n,n=u),n===u&&(n=null),t=Xr(e,n)):(Cn=t,t=u),t}())===u&&(t=function(){var t,e,n,o,i,a,c,l;return t=Cn,Zn(),(e=Vn())!==u?(Zn(),(n=function(){var t,e;return En++,(e=r.substr(Cn,3)).toLowerCase()===tt?Cn+=3:(e=u,0===En&&Pn(Te)),e===u&&((e=r.substr(Cn,4)).toLowerCase()===et?Cn+=4:(e=u,0===En&&Pn(Me)),e===u&&((e=r.substr(Cn,3)).toLowerCase()===rt?Cn+=3:(e=u,0===En&&Pn(Pe)),e===u&&((e=r.substr(Cn,5)).toLowerCase()===nt?Cn+=5:(e=u,0===En&&Pn(je)),e===u&&((e=r.substr(Cn,3)).toLowerCase()===ot?Cn+=3:(e=u,0===En&&Pn(De)),e===u&&((e=r.substr(Cn,3)).toLowerCase()===it?Cn+=3:(e=u,0===En&&Pn(Fe)),e===u&&((e=r.substr(Cn,6)).toLowerCase()===at?Cn+=6:(e=u,0===En&&Pn(Ie)),e===u&&((e=r.substr(Cn,3)).toLowerCase()===ct?Cn+=3:(e=u,0===En&&Pn(Be)),e===u&&((e=r.substr(Cn,8)).toLowerCase()===ut?Cn+=8:(e=u,0===En&&Pn(Ne)),e===u&&((e=r.substr(Cn,6)).toLowerCase()===lt?Cn+=6:(e=u,0===En&&Pn(He)),e===u&&((e=r.substr(Cn,8)).toLowerCase()===st?Cn+=8:(e=u,0===En&&Pn(Re)),e===u&&((e=r.substr(Cn,6)).toLowerCase()===dt?Cn+=6:(e=u,0===En&&Pn(We)),e===u&&((e=r.substr(Cn,4)).toLowerCase()===ft?Cn+=4:(e=u,0===En&&Pn(Ge)),e===u&&((e=r.substr(Cn,3)).toLowerCase()===ht?Cn+=3:(e=u,0===En&&Pn(Xe)),e===u&&((e=r.substr(Cn,3)).toLowerCase()===gt?Cn+=3:(e=u,0===En&&Pn(Ve)))))))))))))))),e!==u&&(e=Qr(e)),En--,(t=e)===u&&(e=u,0===En&&Pn(Oe)),t}())!==u?(Zn(),(o=Vn())!==u?(Zn(),i=Cn,58===r.charCodeAt(Cn)?(a=C,Cn++):(a=u,0===En&&Pn(zt)),a!==u?(Zn(),(c=Gn())!==u?(Zn(),i=Zr(e,n,o,c)):(Cn=i,i=u)):(Cn=i,i=u),i===u&&(i=null),123===r.charCodeAt(Cn)?(a=k,Cn++):(a=u,0===En&&Pn(qt)),a!==u?(Zn(),(c=In())===u&&(c=null),Zn(),125===r.charCodeAt(Cn)?(l=S,Cn++):(l=u,0===En&&Pn(Ut)),l!==u?(Zn(),t=Kr(e,n,o,i,c)):(Cn=t,t=u)):(Cn=t,t=u)):(Cn=t,t=u)):(Cn=t,t=u)):(Cn=t,t=u),t}()),t}function Hn(){var t;return En++,r.substr(Cn,2)===O?(t=O,Cn+=2):(t=u,0===En&&Pn(ee)),t===u&&(r.substr(Cn,3)===T?(t=T,Cn+=3):(t=u,0===En&&Pn(re)),t===u&&(r.substr(Cn,2)===M?(t=M,Cn+=2):(t=u,0===En&&Pn(ne)),t===u&&(r.substr(Cn,5)===P?(t=P,Cn+=5):(t=u,0===En&&Pn(oe)),t===u&&(r.substr(Cn,3)===j?(t=j,Cn+=3):(t=u,0===En&&Pn(ie)),t===u&&(r.substr(Cn,2)===D?(t=D,Cn+=2):(t=u,0===En&&Pn(ae)),t===u&&(r.substr(Cn,4)===F?(t=F,Cn+=4):(t=u,0===En&&Pn(ce)),t===u&&(r.substr(Cn,2)===I?(t=I,Cn+=2):(t=u,0===En&&Pn(ue)),t===u&&(r.substr(Cn,3)===B?(t=B,Cn+=3):(t=u,0===En&&Pn(le)))))))))),En--,t===u&&0===En&&Pn(te),t}function Rn(){var t;return En++,r.substr(Cn,2)===N?(t=N,Cn+=2):(t=u,0===En&&Pn(de)),t===u&&(r.substr(Cn,3)===H?(t=H,Cn+=3):(t=u,0===En&&Pn(fe)),t===u&&(r.substr(Cn,2)===R?(t=R,Cn+=2):(t=u,0===En&&Pn(he)),t===u&&(r.substr(Cn,2)===W?(t=W,Cn+=2):(t=u,0===En&&Pn(ge)),t===u&&(r.substr(Cn,2)===G?(t=G,Cn+=2):(t=u,0===En&&Pn(pe)),t===u&&((t=r.substr(Cn,2)).toLowerCase()===X?Cn+=2:(t=u,0===En&&Pn(me))))))),En--,t===u&&0===En&&Pn(se),t}function Wn(){var t;return En++,r.substr(Cn,2)===V?(t=V,Cn+=2):(t=u,0===En&&Pn(ye)),t===u&&(r.substr(Cn,3)===z?(t=z,Cn+=3):(t=u,0===En&&Pn(xe)),t===u&&(r.substr(Cn,2)===$?(t=$,Cn+=2):(t=u,0===En&&Pn(ve)),t===u&&(r.substr(Cn,2)===q?(t=q,Cn+=2):(t=u,0===En&&Pn(we)),t===u&&(r.substr(Cn,2)===U?(t=U,Cn+=2):(t=u,0===En&&Pn(Ce)),t===u&&((t=r.substr(Cn,2)).toLowerCase()===Y?Cn+=2:(t=u,0===En&&Pn(_e))))))),En--,t===u&&0===En&&Pn(be),t}function Gn(){var t,e;return(t=Xn())===u&&(e=function(){var t,e,n,o;for(t=[],e=Cn,n=Cn,En++,o=r.charAt(Cn),Lt.test(o)?Cn++:(o=u,0===En&&Pn(Ye)),En--,o===u?n=void 0:(Cn=n,n=u),n!==u?(r.length>Cn?(o=r.charAt(Cn),Cn++):(o=u,0===En&&Pn(Ue)),o!==u?e=nn(o):(Cn=e,e=u)):(Cn=e,e=u);e!==u;)t.push(e),e=Cn,n=Cn,En++,o=r.charAt(Cn),Lt.test(o)?Cn++:(o=u,0===En&&Pn(Ye)),En--,o===u?n=void 0:(Cn=n,n=u),n!==u?(r.length>Cn?(o=r.charAt(Cn),Cn++):(o=u,0===En&&Pn(Ue)),o!==u?e=nn(o):(Cn=e,e=u)):(Cn=e,e=u);return t}(),t=rn(e)),t}function Xn(){var t,e,n,o;return En++,t=Cn,34===r.charCodeAt(Cn)?(e=pt,Cn++):(e=u,0===En&&Pn($e)),e!==u?(n=function(){var t,e,n,o;for(t=[],e=Cn,n=Cn,En++,34===r.charCodeAt(Cn)?(o=pt,Cn++):(o=u,0===En&&Pn($e)),En--,o===u?n=void 0:(Cn=n,n=u),n!==u?(r.substr(Cn,2)===mt?(o=mt,Cn+=2):(o=u,0===En&&Pn(qe)),o===u&&(r.length>Cn?(o=r.charAt(Cn),Cn++):(o=u,0===En&&Pn(Ue))),o!==u?e=en(o):(Cn=e,e=u)):(Cn=e,e=u);e!==u;)t.push(e),e=Cn,n=Cn,En++,34===r.charCodeAt(Cn)?(o=pt,Cn++):(o=u,0===En&&Pn($e)),En--,o===u?n=void 0:(Cn=n,n=u),n!==u?(r.substr(Cn,2)===mt?(o=mt,Cn+=2):(o=u,0===En&&Pn(qe)),o===u&&(r.length>Cn?(o=r.charAt(Cn),Cn++):(o=u,0===En&&Pn(Ue))),o!==u?e=en(o):(Cn=e,e=u)):(Cn=e,e=u);return t}(),34===r.charCodeAt(Cn)?(o=pt,Cn++):(o=u,0===En&&Pn($e)),o!==u?t=tn(n):(Cn=t,t=u)):(Cn=t,t=u),En--,t===u&&(e=u,0===En&&Pn(ze)),t}function Vn(){var t,e,n;if(En++,t=Cn,e=[],n=r.charAt(Cn),At.test(n)?Cn++:(n=u,0===En&&Pn(Ke)),n!==u)for(;n!==u;)e.push(n),n=r.charAt(Cn),At.test(n)?Cn++:(n=u,0===En&&Pn(Ke));else e=u;return e!==u&&(e=on(e)),(t=e)===u&&(t=Xn()),En--,t===u&&(e=u,0===En&&Pn(Ze)),t}function zn(){var t,e;return En++,e=r.charAt(Cn),Ot.test(e)?Cn++:(e=u,0===En&&Pn(Qe)),e!==u&&(e=an(e)),En--,(t=e)===u&&(e=u,0===En&&Pn(Je)),t}function $n(){var t,e;return En++,e=r.charAt(Cn),Tt.test(e)?Cn++:(e=u,0===En&&Pn(er)),e!==u&&(e=cn(e)),En--,(t=e)===u&&(e=u,0===En&&Pn(tr)),t}function qn(){var t,e,n;return t=Cn,e=Cn,En++,r.substr(Cn,2)===yt?(n=yt,Cn+=2):(n=u,0===En&&Pn(nr)),En--,n===u?e=void 0:(Cn=e,e=u),e!==u?(r.length>Cn?(n=r.charAt(Cn),Cn++):(n=u,0===En&&Pn(Ue)),n!==u?t=un(n):(Cn=t,t=u)):(Cn=t,t=u),t}function Un(){var t;return t=r.charAt(Cn),Mt.test(t)?Cn++:(t=u,0===En&&Pn(ar)),t}function Yn(){var t;return En++,(t=function(){var t,e,n,o;if(t=Cn,(e=function(){var t;return r.substr(Cn,2)===xt?(t=xt,Cn+=2):(t=u,0===En&&Pn(or)),t===u&&(35===r.charCodeAt(Cn)?(t=vt,Cn++):(t=u,0===En&&Pn(ir))),t}())!==u){for(n=[],o=Un();o!==u;)n.push(o),o=Un();t=sn(e,n)}else Cn=t,t=u;return t}())===u&&(t=function(){var t,e,n,o;if(t=Cn,(e=function(){var t;return r.substr(Cn,2)===bt?(t=bt,Cn+=2):(t=u,0===En&&Pn(rr)),t}())!==u){for(n=[],o=qn();o!==u;)n.push(o),o=qn();(o=function(){var t;return r.substr(Cn,2)===yt?(t=yt,Cn+=2):(t=u,0===En&&Pn(nr)),t}())!==u?t=ln(e,n,o):(Cn=t,t=u)}else Cn=t,t=u;return t}()),En--,t===u&&0===En&&Pn(cr),t}function Zn(){var t,e;for(t=[],(e=zn())===u&&(e=$n())===u&&(e=Yn());e!==u;)t.push(e),(e=zn())===u&&(e=$n())===u&&(e=Yn());return t}function Kn(){var t,e,n,o,i;return e=Cn,(n=Jn())!==u?(46===r.charCodeAt(Cn)?(o=wt,Cn++):(o=u,0===En&&Pn(sr)),o!==u&&(i=Jn())!==u?e=n=[n,o,i]:(Cn=e,e=u)):(Cn=e,e=u),e!==u&&(e=pn(e)),(t=e)===u&&(t=Jn()),t}function Jn(){var t,e;if(t=[],e=r.charAt(Cn),Pt.test(e)?Cn++:(e=u,0===En&&Pn(lr)),e!==u)for(;e!==u;)t.push(e),e=r.charAt(Cn),Pt.test(e)?Cn++:(e=u,0===En&&Pn(lr));else t=u;return t!==u&&(t=gn(t)),t}function Qn(){var t,e;return En++,t=Cn,(e=function(){var t,e,n,o;return t=Cn,34===r.charCodeAt(Cn)?(e=pt,Cn++):(e=u,0===En&&Pn($e)),e!==u&&(n=to())!==u?(34===r.charCodeAt(Cn)?(o=pt,Cn++):(o=u,0===En&&Pn($e)),o!==u?t=yn(n):(Cn=t,t=u)):(Cn=t,t=u),t}())!==u&&(e=mn(e)),(t=e)===u&&(t=Cn,(e=to())!==u&&(e=bn(e)),t=e),En--,t===u&&(e=u,0===En&&Pn(dr)),t}function to(){var t;return(t=r.substr(Cn,4)).toLowerCase()===Ct?Cn+=4:(t=u,0===En&&Pn(fr)),t===u&&((t=r.substr(Cn,5)).toLowerCase()===_t?Cn+=5:(t=u,0===En&&Pn(hr)),t===u&&((t=r.substr(Cn,2)).toLowerCase()===kt?Cn+=2:(t=u,0===En&&Pn(gr)),t===u&&((t=r.substr(Cn,3)).toLowerCase()===St?Cn+=3:(t=u,0===En&&Pn(pr)),t===u&&(t=r.charAt(Cn),jt.test(t)?Cn++:(t=u,0===En&&Pn(mr)))))),t}function eo(){var t,e;return t=Cn,(e=Kn())!==u&&(e=vn(e)),(t=e)===u&&(t=Cn,(e=r.substr(Cn,4)).toLowerCase()===Et?Cn+=4:(e=u,0===En&&Pn(yr)),e!==u&&(e=wn(e)),t=e),t}function ro(e,r,n){return!(t.entityExists(e,r)||!0===n[r])}function no(t){return{name:t}}function oo(t,e,r){return r||(r={}),(e||[]).forEach((function(e){e.forEach((function(e){ro(t,e.from,r)&&t.push(no(e.from)),e.arcs&&(r[e.to]=!0,Object.assign(t,oo(t,e.arcs,r)),delete r[e.to]),ro(t,e.to,r)&&t.push(no(e.to))}))})),t}if(o=d(),n.peg$library)return{peg$result:o,peg$currPos:Cn,peg$FAILED:u,peg$maxFailExpected:Sn,peg$maxFailPos:kn};if(o!==u&&Cn===r.length)return o;throw o!==u&&Cn{"use strict";function r(t,e){return void 0===e||"*"===e||t.some((function(t){return t.name===e}))}Object.defineProperty(e,"__esModule",{value:!0}),e.EntityNotDefinedError=void 0,e.nameValue2Option=function(t,e){var r={};return r[t.toLowerCase()]=e,r},e.flattenBoolean=function(t){return["true","on","1"].includes(t.toLowerCase())},e.entityExists=r,e.isMscGenKeyword=function(t){return["box","abox","rbox","note","msc","hscale","width","arcgradient","wordwraparcs","label","color","idurl","id","url","linecolor","linecolour","textcolor","textcolour","textbgcolor","textbgcolour","arclinecolor","arclinecolour","arctextcolor","arctextcolour","arctextbgcolor","arctextbgcolour","arcskip"].includes(t)},e.checkForUndeclaredEntities=function t(e,o){(o||[]).forEach((function(o){o.forEach((function(o){if(o.from&&!r(e,o.from))throw new n(o.from,o);if(o.to&&!r(e,o.to))throw new n(o.to,o);o.arcs&&t(e,o.arcs)}))}))},e.getMetaInfo=function(t,e){var r=function(t){return!!t&&(t.hasOwnProperty("watermark")||t.hasOwnProperty("wordwrapentities")||t.hasOwnProperty("wordwrapboxes")||t.hasOwnProperty("width")&&"auto"===t.width)}(t),n=function(t){return(t||[]).some((function(t){return t.some((function(t){return["alt","else","opt","break","par","seq","strict","neg","critical","ignore","consider","assert","loop","ref","exc"].includes(t.kind)}))}))}(e);return{extendedOptions:r,extendedArcTypes:n,extendedFeatures:r||n}};var n=function(t,e){this.name="EntityNotDefinedError",this.message=function(t,e){return"Entity '".concat(t,"' in arc '").concat(e.from," ").concat(e.kind," ").concat(e.to,"' is not defined.")}(t,e)};e.EntityNotDefinedError=n},761:function(t,e,r){var n,o,i;o=[r(309)],void 0===(i="function"==typeof(n=function(t){"use strict";function e(t,r,n,o){var i=Error.call(this,t);return Object.setPrototypeOf&&Object.setPrototypeOf(i,e.prototype),i.expected=r,i.found=n,i.location=o,i.name="SyntaxError",i}function r(t,e,r){return r=r||" ",t.length>e?t:(e-=t.length,t+(r+=r.repeat(e)).slice(0,e))}return function(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}(e,Error),e.prototype.format=function(t){var e="Error: "+this.message;if(this.location){var n,o=null;for(n=0;n0){for(e=1,r=1;e",D="==",F="<<=>>",I="<=>",B="..",N="<<>>",H="::",R="<:>",W="->",G="=>>",X="=>",V=">>",z=":>",$="-x",q="<-",U="<<=",Y="<=",Z="<<",K="<:",J="x-",Q="note",tt="abox",et="rbox",rt="box",nt="alt",ot="else",it="opt",at="break",ct="par",ut="seq",lt="strict",st="neg",dt="critical",ft="ignore",ht="consider",gt="assert",pt="loop",mt="ref",bt="exc",yt="activate",xt="deactivate",vt="label",wt="idurl",Ct="id",_t="url",kt="linecolor",St="linecolour",Et="textcolor",Lt="textcolour",At="textbgcolor",Ot="textbgcolour",Tt="arclinecolor",Mt="arclinecolour",Pt="arctextcolor",jt="arctextcolour",Dt="arctextbgcolor",Ft="arctextbgcolour",It="arcskip",Bt="title",Nt="activation",Ht='"',Rt='\\"',Wt="/*",Gt="*/",Xt="//",Vt="#",zt=".",$t="true",qt="false",Ut="on",Yt="off",Zt="auto",Kt=/^[A-Za-z_0-9]/,Jt=/^[ \t]/,Qt=/^[\r\n]/,te=/^[^\r\n]/,ee=/^[0-9]/,re=/^[0-1]/,ne=Oo("{",!1),oe=Oo("}",!1),ie=Oo("msc",!0),ae=Oo("xu",!0),ce=Oo(",",!1),ue=Oo(";",!1),le=Mo("option"),se=Oo("hscale",!0),de=Oo("arcgradient",!0),fe=Oo("=",!1),he=Oo("width",!0),ge=Oo("wordwraparcs",!0),pe=Oo("wordwrapentities",!0),me=Oo("wordwrapboxes",!0),be=Oo("watermark",!0),ye=Mo("entity"),xe=Oo("[",!1),ve=Oo("]",!1),we=Oo("*",!1),Ce=Mo("empty row"),_e=Oo("|||",!1),ke=Oo("...",!1),Se=Mo("---"),Ee=Oo("---",!1),Le=Mo("bi-directional arrow"),Ae=Oo("--",!1),Oe=Oo("<->",!1),Te=Oo("==",!1),Me=Oo("<<=>>",!1),Pe=Oo("<=>",!1),je=Oo("..",!1),De=Oo("<<>>",!1),Fe=Oo("::",!1),Ie=Oo("<:>",!1),Be=Mo("left to right arrow"),Ne=Oo("->",!1),He=Oo("=>>",!1),Re=Oo("=>",!1),We=Oo(">>",!1),Ge=Oo(":>",!1),Xe=Oo("-x",!0),Ve=Mo("right to left arrow"),ze=Oo("<-",!1),$e=Oo("<<=",!1),qe=Oo("<=",!1),Ue=Oo("<<",!1),Ye=Oo("<:",!1),Ze=Oo("x-",!0),Ke=Mo("box"),Je=Oo("note",!0),Qe=Oo("abox",!0),tr=Oo("rbox",!0),er=Oo("box",!0),rr=Mo("inline expression"),nr=Oo("alt",!0),or=Oo("else",!0),ir=Oo("opt",!0),ar=Oo("break",!0),cr=Oo("par",!0),ur=Oo("seq",!0),lr=Oo("strict",!0),sr=Oo("neg",!0),dr=Oo("critical",!0),fr=Oo("ignore",!0),hr=Oo("consider",!0),gr=Oo("assert",!0),pr=Oo("loop",!0),mr=Oo("ref",!0),br=Oo("exc",!0),yr=Mo("activate or deactivate"),xr=Oo("activate",!0),vr=Oo("deactivate",!0),wr=Mo("attribute name"),Cr=Oo("label",!0),_r=Oo("idurl",!0),kr=Oo("id",!0),Sr=Oo("url",!0),Er=Oo("linecolor",!0),Lr=Oo("linecolour",!0),Ar=Oo("textcolor",!0),Or=Oo("textcolour",!0),Tr=Oo("textbgcolor",!0),Mr=Oo("textbgcolour",!0),Pr=Oo("arclinecolor",!0),jr=Oo("arclinecolour",!0),Dr=Oo("arctextcolor",!0),Fr=Oo("arctextcolour",!0),Ir=Oo("arctextbgcolor",!0),Br=Oo("arctextbgcolour",!0),Nr=Oo("arcskip",!0),Hr=Oo("title",!0),Rr=Oo("activation",!0),Wr=Mo("double quoted string"),Gr=Oo('"',!1),Xr=Oo('\\"',!1),Vr={type:"any"},zr=Mo("identifier"),$r=To([["A","Z"],["a","z"],"_",["0","9"]],!1,!1),qr=Mo("whitespace"),Ur=To([" ","\t"],!1,!1),Yr=Mo("lineend"),Zr=To(["\r","\n"],!1,!1),Kr=Oo("/*",!1),Jr=Oo("*/",!1),Qr=Oo("//",!1),tn=Oo("#",!1),en=To(["\r","\n"],!0,!1),rn=Mo("comment"),nn=Mo("number"),on=To([["0","9"]],!1,!1),an=Oo(".",!1),cn=Mo("boolean"),un=Oo("true",!0),ln=Oo("false",!0),sn=Oo("on",!0),dn=Oo("off",!0),fn=To([["0","1"]],!1,!1),hn=Mo("size"),gn=Oo("auto",!0),pn=function(e,r){return r.entities=r.entities||[],t.checkForUndeclaredEntities(r.entities,r.arcs),r={meta:t.getMetaInfo(r.options,r.arcs),...r},e.length>0&&(r={precomment:e,...r}),r},mn=function(t,e,r){var n={};return t&&(n.options=t),e&&(n.entities=e),r&&(n.arcs=r),n},bn=function(t){return t},yn=function(t){return t},xn=function(t){return t[0].concat(t[1]).reduce(((t,e)=>Object.assign(t,e)),{})},vn=function(e,r){return t.nameValue2Option(e,r)},wn=function(e,r){return t.nameValue2Option(e,r)},Cn=function(e,r){return t.nameValue2Option(e,t.flattenBoolean(r))},_n=function(e,r){return t.nameValue2Option(e,t.flattenBoolean(r))},kn=function(e,r){return t.nameValue2Option(e,t.flattenBoolean(r))},Sn=function(e,r){return t.nameValue2Option(e,r)},En=function(t){return t},Ln=function(t){return t},An=function(t){return t[0].concat(t[1])},On=function(t,e){return e},Tn=function(t,e){return{name:t,...e}},Mn=function(t,e){return e},Pn=function(r,n){return t.isMscGenKeyword(r)&&function(t,r){throw function(t,r){return new e("MscGen keywords aren't allowed as entity names (embed them in quotes if you need them)",null,null,r)}(0,r=void 0!==r?r:jo(ko,_o))}(),{name:r,...n}},jn=function(t){return t},Dn=function(t){return t},Fn=function(t){return t},In=function(t){return t[0].concat(t[1])},Bn=function(t){return t},Nn=function(t){return t},Hn=function(t){return t},Rn=function(t,e){return e},Wn=function(t,e){return{...t,...e}},Gn=function(t){return{kind:t}},Xn=function(t){return{kind:t}},Vn=function(t,e,r){return{kind:e,from:t,to:r}},zn=function(t,e){return{kind:t,from:"*",to:e}},$n=function(t,e){return{kind:e,from:t,to:"*"}},qn=function(t,e){return{kind:e,from:t,to:"*"}},Un=function(t,e,r,n){return n},Yn=function(t,e,r,n,o){return{kind:e,from:t,to:r,arcs:o,...n}},Zn=function(t){return t.toLowerCase()},Kn=function(t){return t.toLowerCase()},Jn=function(t){return t},Qn=function(t){return t},to=function(t){return t[0].concat(t[1]).reduce(((t,e)=>Object.assign(t,e)),{})},eo=function(t){return{activation:"activate"===t.toLowerCase()}},ro=function(e,r){var n={};return"activation"===e.toLowerCase()?n.activation=t.flattenBoolean(r):n[e.toLowerCase().replace("colour","color")]=r,n},no=function(t){return t.join("")},oo=function(t){return t},io=function(t){return t.join("")},ao=function(t){return t},co=function(t){return t},uo=function(t){return t},lo=function(t,e,r){return t+e.join("")+r},so=function(t,e){return t+e.join("")},fo=function(t){return t},ho=function(t){return t.toString()},go=function(t){return t.toString()},po=function(t){return parseInt(t.join(""),10)},mo=function(t){return parseFloat(t.join(""))},bo=function(t){return t},yo=function(t){return t.toString()},xo=function(t){return t},vo=function(t){return t},wo=function(t){return t.toString()},Co=function(t){return t.toLowerCase()},_o=0|n.peg$currPos,ko=_o,So=[{line:1,column:1}],Eo=_o,Lo=n.peg$maxFailExpected||[],Ao=0|n.peg$silentFails;if(n.startRule){if(!(n.startRule in s))throw new Error("Can't start parsing from rule \""+n.startRule+'".');d=s[n.startRule]}function Oo(t,e){return{type:"literal",text:t,ignoreCase:e}}function To(t,e,r){return{type:"class",parts:t,inverted:e,ignoreCase:r}}function Mo(t){return{type:"other",description:t}}function Po(t){var e,n=So[t];if(n)return n;if(t>=So.length)e=So.length-1;else for(e=t;!So[--e];);for(n={line:(n=So[e]).line,column:n.column};eEo&&(Eo=_o,Lo=[]),Lo.push(t))}function Fo(){var t,e,n,o,i;return t=_o,e=ti(),function(){var t;return(t=r.substr(_o,3)).toLowerCase()===g?_o+=3:(t=u,0===Ao&&Do(ie)),t===u&&((t=r.substr(_o,2)).toLowerCase()===p?_o+=2:(t=u,0===Ao&&Do(ae))),t}()!==u?(ti(),123===r.charCodeAt(_o)?(n=f,_o++):(n=u,0===Ao&&Do(ne)),n!==u?(ti(),o=function(){var t,e,n,o;return t=_o,(e=function(){var t,e,n,o,i,a;for(t=_o,e=_o,n=[],o=_o,(i=Io())!==u?(44===r.charCodeAt(_o)?(a=m,_o++):(a=u,0===Ao&&Do(ce)),a!==u?(ko=o,o=bn(i)):(_o=o,o=u)):(_o=o,o=u);o!==u;)n.push(o),o=_o,(i=Io())!==u?(44===r.charCodeAt(_o)?(a=m,_o++):(a=u,0===Ao&&Do(ce)),a!==u?(ko=o,o=bn(i)):(_o=o,o=u)):(_o=o,o=u);return o=_o,(i=Io())!==u?(59===r.charCodeAt(_o)?(a=b,_o++):(a=u,0===Ao&&Do(ue)),a!==u?(ko=o,o=yn(i)):(_o=o,o=u)):(_o=o,o=u),o!==u?e=n=[n,o]:(_o=e,e=u),e!==u&&(ko=t,e=xn(e)),e}())===u&&(e=null),(n=function(){var t,e,n,o,i,a;for(t=_o,e=_o,n=[],o=_o,(i=Bo())!==u?(44===r.charCodeAt(_o)?(a=m,_o++):(a=u,0===Ao&&Do(ce)),a!==u?(ko=o,o=En(i)):(_o=o,o=u)):(_o=o,o=u);o!==u;)n.push(o),o=_o,(i=Bo())!==u?(44===r.charCodeAt(_o)?(a=m,_o++):(a=u,0===Ao&&Do(ce)),a!==u?(ko=o,o=En(i)):(_o=o,o=u)):(_o=o,o=u);return o=_o,(i=Bo())!==u?(59===r.charCodeAt(_o)?(a=b,_o++):(a=u,0===Ao&&Do(ue)),a!==u?(ko=o,o=Ln(i)):(_o=o,o=u)):(_o=o,o=u),o!==u?e=n=[n,o]:(_o=e,e=u),e!==u&&(ko=t,e=An(e)),e}())===u&&(n=null),(o=No())===u&&(o=null),ko=t,mn(e,n,o)}(),ti(),125===r.charCodeAt(_o)?(i=h,_o++):(i=u,0===Ao&&Do(oe)),i!==u?(ti(),ko=t,t=pn(e,o)):(_o=t,t=u)):(_o=t,t=u)):(_o=t,t=u),t}function Io(){var t,e,n,o;return Ao++,t=_o,ti(),(e=r.substr(_o,6)).toLowerCase()===y?_o+=6:(e=u,0===Ao&&Do(se)),e===u&&((e=r.substr(_o,11)).toLowerCase()===x?_o+=11:(e=u,0===Ao&&Do(de))),e!==u?(ti(),61===r.charCodeAt(_o)?(n=v,_o++):(n=u,0===Ao&&Do(fe)),n!==u?(ti(),(o=function(){var t,e;return Ao++,t=_o,(e=function(){var t,e,n,o;return t=_o,34===r.charCodeAt(_o)?(e=Ht,_o++):(e=u,0===Ao&&Do(Gr)),e!==u&&(n=ei())!==u?(34===r.charCodeAt(_o)?(o=Ht,_o++):(o=u,0===Ao&&Do(Gr)),o!==u?(ko=t,t=go(n)):(_o=t,t=u)):(_o=t,t=u),t}())!==u&&(ko=t,e=fo(e)),(t=e)===u&&(t=_o,(e=ei())!==u&&(ko=t,e=ho(e)),t=e),Ao--,t===u&&(e=u,0===Ao&&Do(nn)),t}())!==u?(ti(),ko=t,t=vn(e,o)):(_o=t,t=u)):(_o=t,t=u)):(_o=t,t=u),t===u&&(t=_o,ti(),(e=r.substr(_o,5)).toLowerCase()===w?_o+=5:(e=u,0===Ao&&Do(he)),e!==u?(ti(),61===r.charCodeAt(_o)?(n=v,_o++):(n=u,0===Ao&&Do(fe)),n!==u?(ti(),(o=function(){var t;return Ao++,(t=function(){var t,e,n,o;return t=_o,34===r.charCodeAt(_o)?(e=Ht,_o++):(e=u,0===Ao&&Do(Gr)),e!==u&&(n=ii())!==u?(34===r.charCodeAt(_o)?(o=Ht,_o++):(o=u,0===Ao&&Do(Gr)),o!==u?(ko=t,t=vo(n)):(_o=t,t=u)):(_o=t,t=u),t}())===u&&(t=ii()),Ao--,t===u&&0===Ao&&Do(hn),t}())!==u?(ti(),ko=t,t=wn(e,o)):(_o=t,t=u)):(_o=t,t=u)):(_o=t,t=u),t===u&&(t=_o,ti(),(e=r.substr(_o,12)).toLowerCase()===C?_o+=12:(e=u,0===Ao&&Do(ge)),e!==u?(ti(),61===r.charCodeAt(_o)?(n=v,_o++):(n=u,0===Ao&&Do(fe)),n!==u?(ti(),(o=ni())!==u?(ti(),ko=t,t=Cn(e,o)):(_o=t,t=u)):(_o=t,t=u)):(_o=t,t=u),t===u&&(t=_o,ti(),(e=r.substr(_o,16)).toLowerCase()===_?_o+=16:(e=u,0===Ao&&Do(pe)),e!==u?(ti(),61===r.charCodeAt(_o)?(n=v,_o++):(n=u,0===Ao&&Do(fe)),n!==u?(ti(),(o=ni())!==u?(ti(),ko=t,t=_n(e,o)):(_o=t,t=u)):(_o=t,t=u)):(_o=t,t=u),t===u&&(t=_o,ti(),(e=r.substr(_o,13)).toLowerCase()===k?_o+=13:(e=u,0===Ao&&Do(me)),e!==u?(ti(),61===r.charCodeAt(_o)?(n=v,_o++):(n=u,0===Ao&&Do(fe)),n!==u?(ti(),(o=ni())!==u?(ti(),ko=t,t=kn(e,o)):(_o=t,t=u)):(_o=t,t=u)):(_o=t,t=u),t===u&&(t=_o,ti(),(e=r.substr(_o,9)).toLowerCase()===S?_o+=9:(e=u,0===Ao&&Do(be)),e!==u?(ti(),61===r.charCodeAt(_o)?(n=v,_o++):(n=u,0===Ao&&Do(fe)),n!==u?(ti(),(o=$o())!==u?(ti(),ko=t,t=Sn(e,o)):(_o=t,t=u)):(_o=t,t=u)):(_o=t,t=u)))))),Ao--,t===u&&0===Ao&&Do(le),t}function Bo(){var t,e,n,o,i,a;return Ao++,t=_o,ti(),(e=$o())!==u?(ti(),n=_o,91===r.charCodeAt(_o)?(o=E,_o++):(o=u,0===Ao&&Do(xe)),o!==u&&(i=Vo())!==u?(93===r.charCodeAt(_o)?(a=L,_o++):(a=u,0===Ao&&Do(ve)),a!==u?(ko=n,n=On(e,i)):(_o=n,n=u)):(_o=n,n=u),n===u&&(n=null),o=ti(),ko=t,t=Tn(e,n)):(_o=t,t=u),t===u&&(t=_o,ti(),(e=Uo())!==u?(ti(),n=_o,91===r.charCodeAt(_o)?(o=E,_o++):(o=u,0===Ao&&Do(xe)),o!==u&&(i=Vo())!==u?(93===r.charCodeAt(_o)?(a=L,_o++):(a=u,0===Ao&&Do(ve)),a!==u?(ko=n,n=Mn(e,i)):(_o=n,n=u)):(_o=n,n=u),n===u&&(n=null),o=ti(),ko=t,t=Pn(e,n)):(_o=t,t=u)),Ao--,t===u&&0===Ao&&Do(ye),t}function No(){var t,e,n,o;if(t=[],e=_o,(n=Ho())!==u?(ti(),59===r.charCodeAt(_o)?(o=b,_o++):(o=u,0===Ao&&Do(ue)),o!==u?(ko=e,e=jn(n)):(_o=e,e=u)):(_o=e,e=u),e!==u)for(;e!==u;)t.push(e),e=_o,(n=Ho())!==u?(ti(),59===r.charCodeAt(_o)?(o=b,_o++):(o=u,0===Ao&&Do(ue)),o!==u?(ko=e,e=jn(n)):(_o=e,e=u)):(_o=e,e=u);else t=u;return t}function Ho(){var t,e,n,o,i,a;for(t=_o,e=_o,n=[],o=_o,(i=Ro())!==u?(ti(),44===r.charCodeAt(_o)?(a=m,_o++):(a=u,0===Ao&&Do(ce)),a!==u?(ko=o,o=Dn(i)):(_o=o,o=u)):(_o=o,o=u);o!==u;)n.push(o),o=_o,(i=Ro())!==u?(ti(),44===r.charCodeAt(_o)?(a=m,_o++):(a=u,0===Ao&&Do(ce)),a!==u?(ko=o,o=Dn(i)):(_o=o,o=u)):(_o=o,o=u);return o=_o,(i=Ro())!==u&&(ko=o,i=Fn(i)),(o=i)!==u?e=n=[n,o]:(_o=e,e=u),e!==u&&(ko=t,e=In(e)),e}function Ro(){var t;return(t=function(){var t,e,n,o,i,a;return t=_o,e=_o,(n=function(){var t,e;return t=_o,ti(),(e=function(){var t;return Ao++,r.substr(_o,3)===O?(t=O,_o+=3):(t=u,0===Ao&&Do(_e)),t===u&&(r.substr(_o,3)===T?(t=T,_o+=3):(t=u,0===Ao&&Do(ke))),Ao--,t===u&&0===Ao&&Do(Ce),t}())!==u?(ti(),ko=t,t=Gn(e)):(_o=t,t=u),t}())!==u&&(ko=e,n=Bn(n)),(e=n)===u&&(e=_o,(n=function(){var t,e,n,o;return t=_o,ti(),(e=qo())!==u?(ti(),(n=function(){var t,e;return t=_o,(e=Wo())===u&&(e=Go())===u&&(e=Xo())===u&&(e=function(){var t;return Ao++,(t=r.substr(_o,4)).toLowerCase()===Q?_o+=4:(t=u,0===Ao&&Do(Je)),t===u&&((t=r.substr(_o,4)).toLowerCase()===tt?_o+=4:(t=u,0===Ao&&Do(Qe)),t===u&&((t=r.substr(_o,4)).toLowerCase()===et?_o+=4:(t=u,0===Ao&&Do(tr)),t===u&&((t=r.substr(_o,3)).toLowerCase()===rt?_o+=3:(t=u,0===Ao&&Do(er))))),Ao--,t===u&&0===Ao&&Do(Ke),t}()),e!==u&&(ko=t,e=Zn(e)),e}())!==u?(ti(),(o=qo())!==u?(ti(),ko=t,t=Vn(e,n,o)):(_o=t,t=u)):(_o=t,t=u)):(_o=t,t=u),t===u&&(t=_o,ti(),42===r.charCodeAt(_o)?(e=A,_o++):(e=u,0===Ao&&Do(we)),e!==u?(ti(),(n=Xo())!==u?(ti(),(o=qo())!==u?(ti(),ko=t,t=zn(n,o)):(_o=t,t=u)):(_o=t,t=u)):(_o=t,t=u),t===u&&(t=_o,ti(),(e=qo())!==u?(ti(),(n=Go())!==u?(ti(),42===r.charCodeAt(_o)?(o=A,_o++):(o=u,0===Ao&&Do(we)),o!==u?(ti(),ko=t,t=$n(e,n)):(_o=t,t=u)):(_o=t,t=u)):(_o=t,t=u),t===u&&(t=_o,ti(),(e=qo())!==u?(ti(),(n=Wo())!==u?(ti(),42===r.charCodeAt(_o)?(o=A,_o++):(o=u,0===Ao&&Do(we)),o!==u?(ti(),ko=t,t=qn(e,n)):(_o=t,t=u)):(_o=t,t=u)):(_o=t,t=u)))),t}())!==u&&(ko=e,n=Nn(n)),(e=n)===u&&(e=_o,(n=function(){var t,e;return t=_o,ti(),(e=function(){var t;return Ao++,r.substr(_o,3)===M?(t=M,_o+=3):(t=u,0===Ao&&Do(Ee)),Ao--,t===u&&0===Ao&&Do(Se),t}())!==u?(ti(),ko=t,t=Xn(e)):(_o=t,t=u),t}())!==u&&(ko=e,n=Hn(n)),e=n)),e!==u?(n=_o,91===r.charCodeAt(_o)?(o=E,_o++):(o=u,0===Ao&&Do(xe)),o!==u&&(i=Vo())!==u?(93===r.charCodeAt(_o)?(a=L,_o++):(a=u,0===Ao&&Do(ve)),a!==u?(ko=n,n=Rn(e,i)):(_o=n,n=u)):(_o=n,n=u),n===u&&(n=null),ko=t,t=Wn(e,n)):(_o=t,t=u),t}())===u&&(t=function(){var t,e,n,o,i,a,c,l,s,d;return t=_o,ti(),(e=qo())!==u?(ti(),(n=function(){var t,e;return Ao++,t=_o,(e=r.substr(_o,3)).toLowerCase()===nt?_o+=3:(e=u,0===Ao&&Do(nr)),e===u&&((e=r.substr(_o,4)).toLowerCase()===ot?_o+=4:(e=u,0===Ao&&Do(or)),e===u&&((e=r.substr(_o,3)).toLowerCase()===it?_o+=3:(e=u,0===Ao&&Do(ir)),e===u&&((e=r.substr(_o,5)).toLowerCase()===at?_o+=5:(e=u,0===Ao&&Do(ar)),e===u&&((e=r.substr(_o,3)).toLowerCase()===ct?_o+=3:(e=u,0===Ao&&Do(cr)),e===u&&((e=r.substr(_o,3)).toLowerCase()===ut?_o+=3:(e=u,0===Ao&&Do(ur)),e===u&&((e=r.substr(_o,6)).toLowerCase()===lt?_o+=6:(e=u,0===Ao&&Do(lr)),e===u&&((e=r.substr(_o,3)).toLowerCase()===st?_o+=3:(e=u,0===Ao&&Do(sr)),e===u&&((e=r.substr(_o,8)).toLowerCase()===dt?_o+=8:(e=u,0===Ao&&Do(dr)),e===u&&((e=r.substr(_o,6)).toLowerCase()===ft?_o+=6:(e=u,0===Ao&&Do(fr)),e===u&&((e=r.substr(_o,8)).toLowerCase()===ht?_o+=8:(e=u,0===Ao&&Do(hr)),e===u&&((e=r.substr(_o,6)).toLowerCase()===gt?_o+=6:(e=u,0===Ao&&Do(gr)),e===u&&((e=r.substr(_o,4)).toLowerCase()===pt?_o+=4:(e=u,0===Ao&&Do(pr)),e===u&&((e=r.substr(_o,3)).toLowerCase()===mt?_o+=3:(e=u,0===Ao&&Do(mr)),e===u&&((e=r.substr(_o,3)).toLowerCase()===bt?_o+=3:(e=u,0===Ao&&Do(br)))))))))))))))),e!==u&&(ko=t,e=Kn(e)),Ao--,(t=e)===u&&(e=u,0===Ao&&Do(rr)),t}())!==u?(ti(),(o=qo())!==u?(ti(),i=_o,91===r.charCodeAt(_o)?(a=E,_o++):(a=u,0===Ao&&Do(xe)),a!==u&&(c=Vo())!==u?(93===r.charCodeAt(_o)?(l=L,_o++):(l=u,0===Ao&&Do(ve)),l!==u?(ko=i,i=Un(e,n,o,c)):(_o=i,i=u)):(_o=i,i=u),i===u&&(i=null),a=ti(),123===r.charCodeAt(_o)?(c=f,_o++):(c=u,0===Ao&&Do(ne)),c!==u?(l=ti(),(s=No())===u&&(s=null),ti(),125===r.charCodeAt(_o)?(d=h,_o++):(d=u,0===Ao&&Do(oe)),d!==u?(ti(),ko=t,t=Yn(e,n,o,i,s)):(_o=t,t=u)):(_o=t,t=u)):(_o=t,t=u)):(_o=t,t=u)):(_o=t,t=u),t}()),t}function Wo(){var t;return Ao++,r.substr(_o,2)===P?(t=P,_o+=2):(t=u,0===Ao&&Do(Ae)),t===u&&(r.substr(_o,3)===j?(t=j,_o+=3):(t=u,0===Ao&&Do(Oe)),t===u&&(r.substr(_o,2)===D?(t=D,_o+=2):(t=u,0===Ao&&Do(Te)),t===u&&(r.substr(_o,5)===F?(t=F,_o+=5):(t=u,0===Ao&&Do(Me)),t===u&&(r.substr(_o,3)===I?(t=I,_o+=3):(t=u,0===Ao&&Do(Pe)),t===u&&(r.substr(_o,2)===B?(t=B,_o+=2):(t=u,0===Ao&&Do(je)),t===u&&(r.substr(_o,4)===N?(t=N,_o+=4):(t=u,0===Ao&&Do(De)),t===u&&(r.substr(_o,2)===H?(t=H,_o+=2):(t=u,0===Ao&&Do(Fe)),t===u&&(r.substr(_o,3)===R?(t=R,_o+=3):(t=u,0===Ao&&Do(Ie)))))))))),Ao--,t===u&&0===Ao&&Do(Le),t}function Go(){var t;return Ao++,r.substr(_o,2)===W?(t=W,_o+=2):(t=u,0===Ao&&Do(Ne)),t===u&&(r.substr(_o,3)===G?(t=G,_o+=3):(t=u,0===Ao&&Do(He)),t===u&&(r.substr(_o,2)===X?(t=X,_o+=2):(t=u,0===Ao&&Do(Re)),t===u&&(r.substr(_o,2)===V?(t=V,_o+=2):(t=u,0===Ao&&Do(We)),t===u&&(r.substr(_o,2)===z?(t=z,_o+=2):(t=u,0===Ao&&Do(Ge)),t===u&&((t=r.substr(_o,2)).toLowerCase()===$?_o+=2:(t=u,0===Ao&&Do(Xe))))))),Ao--,t===u&&0===Ao&&Do(Be),t}function Xo(){var t;return Ao++,r.substr(_o,2)===q?(t=q,_o+=2):(t=u,0===Ao&&Do(ze)),t===u&&(r.substr(_o,3)===U?(t=U,_o+=3):(t=u,0===Ao&&Do($e)),t===u&&(r.substr(_o,2)===Y?(t=Y,_o+=2):(t=u,0===Ao&&Do(qe)),t===u&&(r.substr(_o,2)===Z?(t=Z,_o+=2):(t=u,0===Ao&&Do(Ue)),t===u&&(r.substr(_o,2)===K?(t=K,_o+=2):(t=u,0===Ao&&Do(Ye)),t===u&&((t=r.substr(_o,2)).toLowerCase()===J?_o+=2:(t=u,0===Ao&&Do(Ze))))))),Ao--,t===u&&0===Ao&&Do(Ve),t}function Vo(){var t,e,n,o,i,a;for(t=_o,e=_o,n=[],o=_o,(i=zo())!==u?(44===r.charCodeAt(_o)?(a=m,_o++):(a=u,0===Ao&&Do(ce)),a!==u?(ko=o,o=Jn(i)):(_o=o,o=u)):(_o=o,o=u);o!==u;)n.push(o),o=_o,(i=zo())!==u?(44===r.charCodeAt(_o)?(a=m,_o++):(a=u,0===Ao&&Do(ce)),a!==u?(ko=o,o=Jn(i)):(_o=o,o=u)):(_o=o,o=u);return o=_o,(i=zo())!==u&&(ko=o,i=Qn(i)),(o=i)!==u?e=n=[n,o]:(_o=e,e=u),e!==u&&(ko=t,e=to(e)),e}function zo(){var t;return(t=function(){var t,e,n,o;return t=_o,ti(),(e=function(){var t;return Ao++,(t=r.substr(_o,5)).toLowerCase()===vt?_o+=5:(t=u,0===Ao&&Do(Cr)),t===u&&((t=r.substr(_o,5)).toLowerCase()===wt?_o+=5:(t=u,0===Ao&&Do(_r)),t===u&&((t=r.substr(_o,2)).toLowerCase()===Ct?_o+=2:(t=u,0===Ao&&Do(kr)),t===u&&((t=r.substr(_o,3)).toLowerCase()===_t?_o+=3:(t=u,0===Ao&&Do(Sr)),t===u&&((t=r.substr(_o,9)).toLowerCase()===kt?_o+=9:(t=u,0===Ao&&Do(Er)),t===u&&((t=r.substr(_o,10)).toLowerCase()===St?_o+=10:(t=u,0===Ao&&Do(Lr)),t===u&&((t=r.substr(_o,9)).toLowerCase()===Et?_o+=9:(t=u,0===Ao&&Do(Ar)),t===u&&((t=r.substr(_o,10)).toLowerCase()===Lt?_o+=10:(t=u,0===Ao&&Do(Or)),t===u&&((t=r.substr(_o,11)).toLowerCase()===At?_o+=11:(t=u,0===Ao&&Do(Tr)),t===u&&((t=r.substr(_o,12)).toLowerCase()===Ot?_o+=12:(t=u,0===Ao&&Do(Mr)),t===u&&((t=r.substr(_o,12)).toLowerCase()===Tt?_o+=12:(t=u,0===Ao&&Do(Pr)),t===u&&((t=r.substr(_o,13)).toLowerCase()===Mt?_o+=13:(t=u,0===Ao&&Do(jr)),t===u&&((t=r.substr(_o,12)).toLowerCase()===Pt?_o+=12:(t=u,0===Ao&&Do(Dr)),t===u&&((t=r.substr(_o,13)).toLowerCase()===jt?_o+=13:(t=u,0===Ao&&Do(Fr)),t===u&&((t=r.substr(_o,14)).toLowerCase()===Dt?_o+=14:(t=u,0===Ao&&Do(Ir)),t===u&&((t=r.substr(_o,15)).toLowerCase()===Ft?_o+=15:(t=u,0===Ao&&Do(Br)),t===u&&((t=r.substr(_o,7)).toLowerCase()===It?_o+=7:(t=u,0===Ao&&Do(Nr)),t===u&&((t=r.substr(_o,5)).toLowerCase()===Bt?_o+=5:(t=u,0===Ao&&Do(Hr)),t===u&&((t=r.substr(_o,10)).toLowerCase()===Nt?_o+=10:(t=u,0===Ao&&Do(Rr)))))))))))))))))))),Ao--,t===u&&0===Ao&&Do(wr),t}())!==u?(ti(),61===r.charCodeAt(_o)?(n=v,_o++):(n=u,0===Ao&&Do(fe)),n!==u?(ti(),(o=qo())!==u?(ti(),ko=t,t=ro(e,o)):(_o=t,t=u)):(_o=t,t=u)):(_o=t,t=u),t}())===u&&(t=function(){var t,e;return Ao++,t=_o,ti(),(e=r.substr(_o,8)).toLowerCase()===yt?_o+=8:(e=u,0===Ao&&Do(xr)),e===u&&((e=r.substr(_o,10)).toLowerCase()===xt?_o+=10:(e=u,0===Ao&&Do(vr))),e!==u?(ti(),ko=t,t=eo(e)):(_o=t,t=u),Ao--,t===u&&0===Ao&&Do(yr),t}()),t}function $o(){var t,e,n,o;return Ao++,t=_o,34===r.charCodeAt(_o)?(e=Ht,_o++):(e=u,0===Ao&&Do(Gr)),e!==u?(n=function(){var t,e,n,o;for(t=[],e=_o,n=_o,Ao++,34===r.charCodeAt(_o)?(o=Ht,_o++):(o=u,0===Ao&&Do(Gr)),Ao--,o===u?n=void 0:(_o=n,n=u),n!==u?(r.substr(_o,2)===Rt?(o=Rt,_o+=2):(o=u,0===Ao&&Do(Xr)),o===u&&(r.length>_o?(o=r.charAt(_o),_o++):(o=u,0===Ao&&Do(Vr))),o!==u?(ko=e,e=oo(o)):(_o=e,e=u)):(_o=e,e=u);e!==u;)t.push(e),e=_o,n=_o,Ao++,34===r.charCodeAt(_o)?(o=Ht,_o++):(o=u,0===Ao&&Do(Gr)),Ao--,o===u?n=void 0:(_o=n,n=u),n!==u?(r.substr(_o,2)===Rt?(o=Rt,_o+=2):(o=u,0===Ao&&Do(Xr)),o===u&&(r.length>_o?(o=r.charAt(_o),_o++):(o=u,0===Ao&&Do(Vr))),o!==u?(ko=e,e=oo(o)):(_o=e,e=u)):(_o=e,e=u);return t}(),34===r.charCodeAt(_o)?(o=Ht,_o++):(o=u,0===Ao&&Do(Gr)),o!==u?(ko=t,t=no(n)):(_o=t,t=u)):(_o=t,t=u),Ao--,t===u&&(e=u,0===Ao&&Do(Wr)),t}function qo(){var t;return Ao++,(t=Uo())===u&&(t=$o()),Ao--,t===u&&0===Ao&&Do(zr),t}function Uo(){var t,e,n;if(t=_o,e=[],n=r.charAt(_o),Kt.test(n)?_o++:(n=u,0===Ao&&Do($r)),n!==u)for(;n!==u;)e.push(n),n=r.charAt(_o),Kt.test(n)?_o++:(n=u,0===Ao&&Do($r));else e=u;return e!==u&&(ko=t,e=io(e)),e}function Yo(){var t,e;return Ao++,t=_o,e=r.charAt(_o),Jt.test(e)?_o++:(e=u,0===Ao&&Do(Ur)),e!==u&&(ko=t,e=ao(e)),Ao--,(t=e)===u&&(e=u,0===Ao&&Do(qr)),t}function Zo(){var t,e;return Ao++,t=_o,e=r.charAt(_o),Qt.test(e)?_o++:(e=u,0===Ao&&Do(Zr)),e!==u&&(ko=t,e=co(e)),Ao--,(t=e)===u&&(e=u,0===Ao&&Do(Yr)),t}function Ko(){var t,e,n;return t=_o,e=_o,Ao++,r.substr(_o,2)===Gt?(n=Gt,_o+=2):(n=u,0===Ao&&Do(Jr)),Ao--,n===u?e=void 0:(_o=e,e=u),e!==u?(r.length>_o?(n=r.charAt(_o),_o++):(n=u,0===Ao&&Do(Vr)),n!==u?(ko=t,t=uo(n)):(_o=t,t=u)):(_o=t,t=u),t}function Jo(){var t;return t=r.charAt(_o),te.test(t)?_o++:(t=u,0===Ao&&Do(en)),t}function Qo(){var t;return Ao++,(t=function(){var t,e,n,o;if(t=_o,(e=function(){var t;return r.substr(_o,2)===Xt?(t=Xt,_o+=2):(t=u,0===Ao&&Do(Qr)),t===u&&(35===r.charCodeAt(_o)?(t=Vt,_o++):(t=u,0===Ao&&Do(tn))),t}())!==u){for(n=[],o=Jo();o!==u;)n.push(o),o=Jo();ko=t,t=so(e,n)}else _o=t,t=u;return t}())===u&&(t=function(){var t,e,n,o;if(t=_o,(e=function(){var t;return r.substr(_o,2)===Wt?(t=Wt,_o+=2):(t=u,0===Ao&&Do(Kr)),t}())!==u){for(n=[],o=Ko();o!==u;)n.push(o),o=Ko();(o=function(){var t;return r.substr(_o,2)===Gt?(t=Gt,_o+=2):(t=u,0===Ao&&Do(Jr)),t}())!==u?(ko=t,t=lo(e,n,o)):(_o=t,t=u)}else _o=t,t=u;return t}()),Ao--,t===u&&0===Ao&&Do(rn),t}function ti(){var t,e;for(t=[],(e=Yo())===u&&(e=Zo())===u&&(e=Qo());e!==u;)t.push(e),(e=Yo())===u&&(e=Zo())===u&&(e=Qo());return t}function ei(){var t;return(t=function(){var t,e,n,o,i;return t=_o,e=_o,(n=ri())!==u?(46===r.charCodeAt(_o)?(o=zt,_o++):(o=u,0===Ao&&Do(an)),o!==u&&(i=ri())!==u?e=n=[n,o,i]:(_o=e,e=u)):(_o=e,e=u),e!==u&&(ko=t,e=mo(e)),e}())===u&&(t=ri()),t}function ri(){var t,e,n;if(t=_o,e=[],n=r.charAt(_o),ee.test(n)?_o++:(n=u,0===Ao&&Do(on)),n!==u)for(;n!==u;)e.push(n),n=r.charAt(_o),ee.test(n)?_o++:(n=u,0===Ao&&Do(on));else e=u;return e!==u&&(ko=t,e=po(e)),e}function ni(){var t,e;return Ao++,t=_o,(e=function(){var t,e,n,o;return t=_o,34===r.charCodeAt(_o)?(e=Ht,_o++):(e=u,0===Ao&&Do(Gr)),e!==u&&(n=oi())!==u?(34===r.charCodeAt(_o)?(o=Ht,_o++):(o=u,0===Ao&&Do(Gr)),o!==u?(ko=t,t=xo(n)):(_o=t,t=u)):(_o=t,t=u),t}())!==u&&(ko=t,e=bo(e)),(t=e)===u&&(t=_o,(e=oi())!==u&&(ko=t,e=yo(e)),t=e),Ao--,t===u&&(e=u,0===Ao&&Do(cn)),t}function oi(){var t;return(t=r.substr(_o,4)).toLowerCase()===$t?_o+=4:(t=u,0===Ao&&Do(un)),t===u&&((t=r.substr(_o,5)).toLowerCase()===qt?_o+=5:(t=u,0===Ao&&Do(ln)),t===u&&((t=r.substr(_o,2)).toLowerCase()===Ut?_o+=2:(t=u,0===Ao&&Do(sn)),t===u&&((t=r.substr(_o,3)).toLowerCase()===Yt?_o+=3:(t=u,0===Ao&&Do(dn)),t===u&&(t=r.charAt(_o),re.test(t)?_o++:(t=u,0===Ao&&Do(fn)))))),t}function ii(){var t,e;return t=_o,(e=ei())!==u&&(ko=t,e=wo(e)),(t=e)===u&&(t=_o,(e=r.substr(_o,4)).toLowerCase()===Zt?_o+=4:(e=u,0===Ao&&Do(gn)),e!==u&&(ko=t,e=Co(e)),t=e),t}if(o=d(),n.peg$library)return{peg$result:o,peg$currPos:_o,peg$FAILED:u,peg$maxFailExpected:Lo,peg$maxFailPos:Eo};if(o!==u&&_o===r.length)return o;throw o!==u&&_o{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=Object.freeze({"|||":"empty","...":"empty","---":"empty","->":"directional","=>":"directional","=>>":"directional",">>":"directional",":>":"directional","-x":"directional","<-":"directional","<=":"directional","<<=":"directional","<<":"directional","<:":"directional","x-":"directional",note:"box",box:"box",abox:"box",rbox:"box","<->":"bidirectional","<=>":"bidirectional","<<=>>":"bidirectional","<<>>":"bidirectional","<:>":"bidirectional","--":"nondirectional","==":"nondirectional","..":"nondirectional","::":"nondirectional",alt:"inline_expression",else:"inline_expression",opt:"inline_expression",break:"inline_expression",par:"inline_expression",seq:"inline_expression",strict:"inline_expression",neg:"inline_expression",critical:"inline_expression",ignore:"inline_expression",consider:"inline_expression",assert:"inline_expression",loop:"inline_expression",ref:"inline_expression",exc:"inline_expression"});e.default=function(t){return r[t]}},142:(t,e)=>{"use strict";function r(t,e,n){e.forEach((function(e){!function(t,e,n){e.forEach((function(o){!function(t,e,r,n){n.forEach((function(n){n(r,t,e)}))}(t,e,o,n),o.arcs&&r(t,o.arcs,n)}))}(t,e,n)}))}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e,n){var o,i;return o=t.entities,i=e,o.forEach((function(t){i.forEach((function(e){e(t)}))})),t.arcs&&r(t.entities,t.arcs,n),t}},386:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.nameAsLabel=h,e.swapRTLArc=m,e.overrideColors=y,e.normalize=w,e.flatten=function(t){return w((0,c.default)(t,[h,g],[m,y,g,p]))};var c=a(r(142)),u=i(r(988)),l=a(r(605)),s=a(r(537)),d=a(r(749)),f=0;function h(t){void 0===t.label&&(t.label=t.name)}function g(t){t.label&&(t.label=u.unescapeString(t.label)),t.id&&(t.id=u.unescapeString(t.id))}function p(t){t.label=Boolean(t.label)?t.label:""}function m(t){if((0,s.default)(t.kind)!==t.kind){t.kind=(0,s.default)(t.kind);var e=t.from;t.from=t.to,t.to=e}}function b(t,e){!t.linecolor&&e.arclinecolor&&(t.linecolor=e.arclinecolor),!t.textcolor&&e.arctextcolor&&(t.textcolor=e.arctextcolor),!t.textbgcolor&&e.arctextbgcolor&&(t.textbgcolor=e.arctextbgcolor)}function y(t,e){if(void 0===e&&(e=[]),t&&t.from){var r=e.find((function(e){return e.name===t.from}));r&&b(t,r)}}function x(t){return t.arcs.reduce((function(t,e){return t+(Boolean(e[0].arcs)?x(e[0])+1:0)}),t.arcs.length)}function v(t,e,r,n){var o=[],i=[],a=[];return t.forEach((function(t){if(t.isVirtual=!1,"inline_expression"===(0,l.default)(t.kind)){if(t.depth=e,t.isVirtual=!0,t.arcs){var o=structuredClone(t);o.numberofrows=x(o),delete o.arcs,i.push(o),t.arcs.forEach((function(t){a=a.concat(v(t,e+1,o.from,o.to)),t.forEach((function(t){b(t,o)}))})),e>f&&(f=e)}else i.push(t);a.push([{kind:"|||",from:t.from,to:t.to,isVirtual:!0}])}else r&&n&&"empty"===(0,l.default)(t.kind)&&(t.from=r,t.to=n,t.depth=e),i.push(t)})),o.push(i),o.concat(a)}function w(t){return f=0,{options:(0,d.default)(t.options),entities:structuredClone(t.entities),arcs:(e=t.arcs,e?e.reduce((function(t,e){return t.concat(v(e,0))}),[]):[]),depth:f+1};var e}},537:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=Object.freeze({"<-":"->","<=":"=>","<<=":"=>>","<<":">>","<:":":>","x-":"-x"});e.default=function(t){return r[t]||t}},749:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){return Object.assign({wordwraparcs:!1,wordwrapentities:!0,wordwrapboxes:!0},t||{})}},479:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={LINE_WIDTH:2,FONT_SIZE:12}},379:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Thing=void 0;var c=a(r(479)),u=i(r(183)),l=i(r(909)),s=i(r(415)),d=function(){function t(t){this.interEntitySpacing=160,this.height=34,this.width=100,this.entityXHWM=0,this.entity2x={},t&&(this.interEntitySpacing=160*t,this.width=100*t)}return t.prototype.getX=function(t){return this.entity2x[t]},t.prototype.getDims=function(){return{interEntitySpacing:this.interEntitySpacing,height:this.height,width:this.width,entityXHWM:this.entityXHWM}},t.prototype.getOAndD=function(t,e){return{from:this.getX(t)this.getX(t)?this.getX(e):this.getX(t)}},t.prototype.renderEntities=function(t,e,r){var n=this,o=l.createGroup();return this.entityXHWM=0,this.height=this.getMaxEntityHeight(t,r)+2*c.default.LINE_WIDTH,t.forEach((function(t){o.appendChild(n.renderEntity(t,n.entityXHWM,e,r)),n.setX(t,n.entityXHWM),n.entityXHWM+=n.interEntitySpacing})),o},t.prototype.setX=function(t,e){this.entity2x[t.name]=e+this.width/2},t.prototype.getNoEntityLines=function(t,e,r){return u.splitLabel(t,"entity",this.width,e,r).length},t.prototype.sizeEntityBoxToLabel=function(t,e){var r=Math.min(s.getBBox(t).width+4*c.default.LINE_WIDTH,this.interEntitySpacing/3+e.width);return r>=e.width&&(e.x-=(r-e.width)/2,e.width=r),e},t.prototype.renderEntity=function(t,e,r,n){var o=l.createGroup(),i={x:e||0,y:r||0,width:this.width,height:this.height},a=u.createLabel(Object.assign({kind:"entity"},t),Object.assign({},i,{y:i.y+i.height/2}),n);return o.appendChild(l.createRect(this.sizeEntityBoxToLabel(a,i),{class:"entity",color:t.linecolor,bgColor:t.textbgcolor})),o.appendChild(a),o},t.prototype.getMaxEntityHeight=function(t,e){var r=this,n=t[0],o=2;return t.forEach((function(t){var i=r.getNoEntityLines(t.label,c.default.FONT_SIZE,e);i>o&&(o=i,n=t)})),o>2?Math.max(this.height,s.getBBox(this.renderEntity(n,0,0,e)).height):this.height},t}();e.Thing=d},978:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.setPrefix=function(t){n=r+t},e.get=function(t){return n+(t||"")};var r="mscgenjs",n=r},348:function(t,e,r){"use strict";var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.getClass=function(t){return i[t]||t},e.getAggregateClass=function(t){return(0,o.default)(t)||t};var o=n(r(605)),i=Object.freeze({"|||":"empty-row","...":"omitted-row","---":"comment-row","->":"signal","=>":"method","=>>":"callback",">>":"return",":>":"emphasised","-x":"lost","<-":"signal","<=":"method","<<=":"callback","<<":"return","<:":"emphasised","x-":"lost","<->":"signal","<=>":"method","<<=>>":"callback","<<>>":"return","<:>":"emphasised","--":"signal","==":"method","..":"return","::":"emphasised"})},139:function(t,e,r){"use strict";var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.getAttributes=function(t,e,r,n,o){var a=[];return i[e]&&i[e].attributes&&(a=i[e].attributes.map((function(i){return{name:i.name,value:i.value.replace(/\{\{signal-marker-end\}\}/g,c(e,n,o)).replace(/\{\{signal-marker-start\}\}/g,u(e,n,o)).replace(/\{\{id\}\}/g,t).replace(/\{\{color\}\}/g,r||"black")}}))),a},e.getMarkerDefs=function(t,e){return function(t){return t.arcs.reduce(s,[]).sort().map(d)}(e).map((function(e){return a[e.kind].variants.map((function(r){return{name:"".concat(t+e.kind+r.name,"-").concat(e.color),path:r.path,color:e.color,type:e.kind}}))})).flat(1/0)};var o=n(r(537)),i={"->":{attributes:[{name:"style",value:"stroke:{{color}}"},{name:"marker-end",value:"url(#{{id}}{{signal-marker-end}}-{{color}})"}],marker:{name:"signal"}},"<->":{attributes:[{name:"style",value:"stroke:{{color}}"},{name:"marker-end",value:"url(#{{id}}{{signal-marker-end}}-{{color}})"},{name:"marker-start",value:"url(#{{id}}{{signal-marker-start}}-{{color}})"}],marker:{name:"signal"}},"=>>":{attributes:[{name:"style",value:"stroke:{{color}}"},{name:"marker-end",value:"url(#{{id}}callback-{{color}})"}],marker:{name:"callback",end:""}},"<<=>>":{attributes:[{name:"style",value:"stroke:{{color}}"},{name:"marker-end",value:"url(#{{id}}callback-{{color}})"},{name:"marker-start",value:"url(#{{id}}callback-l-{{color}})"}],marker:{name:"callback",end:"",start:"-l"}},">>":{attributes:[{name:"style",value:"stroke:{{color}}"},{name:"marker-end",value:"url(#{{id}}callback-{{color}})"}],marker:{name:"callback",end:""}},"<<>>":{attributes:[{name:"style",value:"stroke:{{color}}"},{name:"marker-end",value:"url(#{{id}}callback-{{color}})"},{name:"marker-start",value:"url(#{{id}}callback-l-{{color}})"}],marker:{name:"callback",end:"",start:"-l"}},"..":{attributes:[{name:"style",value:"stroke:{{color}}"}]},"--":{attributes:[{name:"style",value:"stroke:{{color}}"}]},"==":{attributes:[{name:"style",value:"stroke:{{color}}"}]},"::":{attributes:[{name:"style",value:"stroke:{{color}}"}]},"=>":{attributes:[{name:"style",value:"stroke:{{color}}"},{name:"marker-end",value:"url(#{{id}}method-{{color}})"}],marker:{name:"method",end:""}},"<=>":{attributes:[{name:"style",value:"stroke:{{color}}"},{name:"marker-end",value:"url(#{{id}}method-{{color}})"},{name:"marker-start",value:"url(#{{id}}method-l-{{color}})"}],marker:{name:"method",end:"",start:"-l"}},":>":{attributes:[{name:"style",value:"stroke:{{color}};"},{name:"marker-end",value:"url(#{{id}}method-{{color}})"}],marker:{name:"method",end:""}},"<:>":{attributes:[{name:"style",value:"stroke:{{color}}"},{name:"marker-end",value:"url(#{{id}}method-{{color}})"},{name:"marker-start",value:"url(#{{id}}method-l-{{color}})"}],marker:{name:"method",end:"",start:"-l"}},"-x":{attributes:[{name:"style",value:"stroke:{{color}}"},{name:"marker-end",value:"url(#{{id}}lost-{{color}})"}],marker:{name:"lost",end:""}}},a={signal:{variants:[{name:"",path:"M9,3 l-8, 2"},{name:"-u",path:"M9,3 l-8,-2"},{name:"-l",path:"M9,3 l 8, 2"},{name:"-lu",path:"M9,3 l 8,-2"}]},method:{variants:[{name:"",path:"1,1 9,3 1,5"},{name:"-l",path:"17,1 9,3 17,5"}]},callback:{variants:[{name:"",path:"M 1,1 l 8,2 l-8,2"},{name:"-l",path:"M17,1 l-8,2 l 8,2"}]},lost:{variants:[{name:"",path:"M7,0 l5,6 M7,6 l5,-6"}]}};function c(t,e,r){return e&&r&&["<->","->"].includes(t)?e"===t&&e<=r?"signal-l":"signal-lu"}function l(t,e){return i[(0,o.default)(t)].marker.name+(Boolean(e)?" "+e:" black")}function s(t,e){function r(e){s(t,e)}return Array.isArray(e)&&e.forEach(r),e.arcs&&e.arcs.forEach(r),e.kind&&i[(0,o.default)(e.kind)]&&i[(0,o.default)(e.kind)].marker&&!t.includes(l(e.kind,e.linecolor))&&t.push(l(e.kind,e.linecolor)),t}function d(t){return{kind:t.split(" ")[0],color:t.split(" ")[1]}}},378:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.clean=void 0,e.render=function(t,e,r,n){var o=Object.freeze((0,u.flatten)(t)),i=function(t,e){return t.document.getElementById(e)||t.document.body}(e,r);return d.setPrefix(r),function(t,e,r,n){var o;k.document=p.bootstrap(e,r,d.get(),h.getMarkerDefs(d.get(),t),n),k.mirrorEntitiesOnBottom=n.mirrorEntitiesOnBottom,k.regularArcTextVerticalAlignment=n.regularArcTextVerticalAlignment,x.init(k.document),k.layers={lifeline:(o=k.document).getElementById(d.get("_lifelines")),sequence:o.getElementById(d.get("_sequence")),notes:o.getElementById(d.get("_notes")),inline:o.getElementById(d.get("_arcspans")),watermark:o.getElementById(d.get("_watermark"))},k.maxDepth=t.depth,function(t,e){v=new s.Thing(e&&e.hscale),function(t,e){t.arcRowHeight=C,t.arcGradient=_,t.wordWrapArcs=!1,e.arcgradient&&(t.arcRowHeight=parseInt(e.arcgradient,10)+C,t.arcGradient=parseInt(e.arcgradient,10)+_),t.wordWrapArcs=Boolean(e.wordwraparcs)}(t,e)}(k,t.options)}(o,e,i,n||{}),function(t){var e,r,n;E(t.entities,0,t.options),b.clear(v.getDims().height,k.arcRowHeight),function(t,e,r){S=[],T(e,"arcrow",k.arcRowHeight,b.get(-1).y).forEach((function(t){k.layers.lifeline.appendChild(t)})),function(t,e,r){var n=0;t.forEach((function(t,o){t.every((function(t){return t.isVirtual}))?b.set(o,Math.max(b.get(o).height,A(t,e,r))):(b.set(o,Math.max(b.get(o).height,A(t,e,r)),n),n++)}))}(t,e,r),t.forEach((function(t,n){!function(t,e,r,n){var o="arcrow",i=[];t.forEach((function(t){var a={};switch((0,c.default)(t.kind)){case"empty":a=M(t,b.get(e).y),"..."===t.kind&&(o="arcrowomit"),i.push({layer:k.layers.sequence,element:a});break;case"box":a=D(v.getOAndD(t.from,t.to),t,b.get(e).y,n),i.push({title:t.title,layer:k.layers.notes,element:a});break;case"inline_expression":a=O(t,b.get(e).y),i.push({layer:k.layers.notes,element:a}),S.push({arc:t,rownum:e});break;default:a=L(t,r,i,e,n)}})),T(r,o,b.get(e).height,b.get(e).y).forEach((function(t){k.layers.lifeline.appendChild(t)})),i.forEach((function(t){t.element&&(t.title&&t.element.appendChild(y.createTitle(t.title)),t.layer.appendChild(t.element))}))}(t,n,e,r)})),S.forEach((function(t){var e,r,n,o;k.layers.inline.appendChild((e=t,r=b.get(t.rownum).y,n=b.get(e.rownum).y,o=b.get(e.rownum+e.arc.numberofrows+1).y-n,e.arc.label="",function(t,e,r,n){var o=2*k.maxDepth*l.default.LINE_WIDTH,i=t.to-t.from+v.getDims().interEntitySpacing-2*l.default.LINE_WIDTH-o,a=t.from-(v.getDims().interEntitySpacing-2*l.default.LINE_WIDTH-o)/2,c=2*(k.maxDepth-e.depth)*l.default.LINE_WIDTH;return y.createRect({width:i+2*c,height:r||k.arcRowHeight-2*l.default.LINE_WIDTH,x:a-c,y:n},{class:"box inline_expression ".concat(e.kind),color:e.linecolor,bgColor:e.textbgcolor})}(v.getOAndD(e.arc.from,e.arc.to),e.arc,o,r)))}))}(t.arcs,t.entities,t.options),k.mirrorEntitiesOnBottom&&(e=t.entities,r=t.options,n=b.getLast().y+(b.getLast().height+k.arcRowHeight)/2,T(e,"arcrow",k.arcRowHeight,n).forEach((function(t){k.layers.lifeline.appendChild(t)})),E(e,n+k.arcRowHeight/2,r))}(o),function(t){var e,r,n=function(t){var e=m.determineDepthCorrection(t.depth,l.default.LINE_WIDTH),r=b.getLast(),n={width:t.entities.length*v.getDims().interEntitySpacing+e,height:Boolean(k.mirrorEntitiesOnBottom)?2*v.getDims().height+r.y+r.height+2*w:r.y+r.height/2+2*w,horizontaltransform:(v.getDims().interEntitySpacing+e-v.getDims().width)/2,autoscale:!!t.options&&!!t.options.width&&"auto"===t.options.width,verticaltransform:w,scale:1};return n.x=0-n.horizontaltransform,n.y=0-n.verticaltransform,n}(t);e=n,(r=k.document.getElementById(d.get("_background")))&&r.appendChild(y.createRect(e,{class:"bglayer"})),function(t){var e=k.document.getElementById(d.get()),r=k.document.getElementById(d.get("_body"));r&&e&&(r.setAttribute("transform","translate(".concat(t.horizontaltransform,",").concat(t.verticaltransform,") ")+"scale(".concat(t.scale,",").concat(t.scale,")")),t.autoscale&&!0===t.autoscale?y.updateSVG(e,{width:"100%",height:"100%",viewBox:"0 0 ".concat(t.width.toString()," ").concat(t.height.toString())}):y.updateSVG(e,{width:t.width.toString(),height:t.height.toString(),viewBox:"0 0 ".concat(t.width.toString()," ").concat(t.height.toString())}))}(n=function(t,e){return t.watermark&&function(t,e){k.layers.watermark.appendChild(y.createDiagonalText(t,e,"watermark"))}(t.watermark,e),t.width&&"auto"!==t.width&&(e=m.scaleCanvasToWidth(t.width,e)),e}(t.options,n))}(o),x.webkitNamespaceBugWorkaround(i.innerHTML)};var c=a(r(605)),u=r(386),l=a(r(479)),s=r(379),d=i(r(978)),f=i(r(348)),h=i(r(139)),g=i(r(183)),p=i(r(339)),m=i(r(7)),b=i(r(305)),y=i(r(909)),x=i(r(415)),v=new s.Thing(0),w=3,C=38,_=0,k=Object.seal({arcRowHeight:C,arcGradient:_,arcEndX:0,wordWrapArcs:!1,mirrorEntitiesOnBottom:!1,regularArcTextVerticalAlignment:"middle",maxDepth:0,document:{},layers:{lifeline:{},sequence:{},notes:{},inline:{},watermark:{}}}),S=[];function E(t,e,r){k.layers.sequence.appendChild(v.renderEntities(t,e,r)),k.arcEndX=v.getDims().entityXHWM-v.getDims().interEntitySpacing+v.getDims().width}function L(t,e,r,n,o){var i=y.createGroup();return t.from&&t.to&&("*"===t.to?(function(t,e,r,n,o){var i=0,a=t.label,c=v.getX(t.from);t.label="",e.forEach((function(e){var a={};e.name!==t.from&&(i=v.getX(e.name),a=P(t,c,i,n,o),r.push({layer:k.layers.sequence,element:a}))})),t.label=a}(t,e,r,n,o),i=g.createLabel(t,{x:0,y:b.get(n).y,width:k.arcEndX},Object.assign({alignAround:!0,ownBackground:!0},structuredClone(o))),r.push({title:t.title,layer:k.layers.sequence,element:i})):(i=P(t,v.getX(t.from),v.getX(t.to),n,o),r.push({title:t.title,layer:k.layers.sequence,element:i}))),i}function A(t,e,r){var n=0;return t.forEach((function(t){var o;switch((0,c.default)(t.kind)){case"empty":o=M(t,0);break;case"box":o=D(v.getOAndD(t.from,t.to),t,0,r);break;case"inline_expression":o=O(t,0);break;default:var i=structuredClone(t);i.arcskip=0,o=L(i,e,[],0,r)}n=Math.max(n,x.getBBox(o).height+2*l.default.LINE_WIDTH)})),n}function O(t,e){var r=v.getOAndD(t.from,t.to),n=e>0,o=2*k.maxDepth*l.default.LINE_WIDTH,i=r.to-r.from+(v.getDims().interEntitySpacing-2*l.default.LINE_WIDTH)-7-l.default.LINE_WIDTH,a=r.from-(v.getDims().interEntitySpacing-3*l.default.LINE_WIDTH-o)/2-2*(k.maxDepth-t.depth)*l.default.LINE_WIDTH,c=y.createGroup();n||(t.label=t.kind+(t.label?": "+t.label:""));var u=g.createLabel(t,{x:a+l.default.LINE_WIDTH-i/2,y:e+k.arcRowHeight/4,width:i},{alignLeft:!0,ownBackground:!1,wordwraparcs:k.wordWrapArcs}),s=x.getBBox(u),d=Math.max(s.height+2*l.default.LINE_WIDTH,k.arcRowHeight/2-2*l.default.LINE_WIDTH),f=Math.min(s.width+2*l.default.LINE_WIDTH,i),h=y.createEdgeRemark({width:f-l.default.LINE_WIDTH+7,height:d,x:a,y:e},{class:"box inline_expression_label",color:t.linecolor,bgColor:t.textbgcolor,foldSize:7});return c.appendChild(h),c.appendChild(u),c}function T(t,e,r,n){return r","::","<:>"].includes(t.kind),s=function(t,e,r){var n=b.get(t).y+e;if(r){var o=Math.floor(r),i=r-o,a=b.get(t).realRowNumber;n=b.getByRealRowNumber(a+o).y+i*(b.getByRealRowNumber(a+o+1).y-b.getByRealRowNumber(a+o).y)}return n}(n,k.arcGradient,t.arcskip);if(e===(r=m.determineArcXTo(t.kind,e,r))){a.appendChild(function(t,e,r,n,o,i){var a=k.arcRowHeight/5*2,c=v.getDims().interEntitySpacing/2,u={},s="arc ".concat(f.getAggregateClass(t)," ").concat(f.getClass(t));if(n){u=y.createGroup();var g=y.createUTurn({x:e,y:o,width:c-2*l.default.LINE_WIDTH,height:a},o+r+a-2*l.default.LINE_WIDTH,{class:s,dontHitHome:"::"!==t,lineWidth:l.default.LINE_WIDTH}),p=y.createUTurn({x:e,y:o,width:c,height:a},o+r+a-l.default.LINE_WIDTH,{lineWidth:l.default.LINE_WIDTH}),m=y.createUTurn({x:e,y:o,width:c,height:a},o+r+a,{class:s,dontHitHome:"::"!==t,lineWidth:l.default.LINE_WIDTH});i&&g.setAttribute("style","stroke:".concat(i)),h.getAttributes(d.get(),t,i,e,e).forEach((function(t){p.setAttribute(t.name,t.value)})),p.setAttribute("style","stroke:transparent;"),Boolean(i)&&m.setAttribute("style","stroke:".concat(i)),u.appendChild(g),u.appendChild(m),u.appendChild(p),u.setAttribute("class",s)}else u=y.createUTurn({x:e,y:o,width:c,height:a},o+r+a,{class:s,dontHitHome:"-x"===t,lineWidth:l.default.LINE_WIDTH}),h.getAttributes(d.get(),t,i,e,e).forEach((function(t){u.setAttribute(t.name,t.value)}));return u}(t.kind,e,s-b.get(n).y-k.arcGradient,u,b.get(n).y,t.linecolor));var p=2*v.getDims().interEntitySpacing/3;a.appendChild(g.createLabel(t,{x:e+1.5*l.default.LINE_WIDTH-p/2,y:b.get(n).y-k.arcRowHeight/5-l.default.LINE_WIDTH/2,width:p},Object.assign({alignLeft:!0,alignAbove:!0,ownBackground:!0},structuredClone(o))))}else{var x=y.createLine({xFrom:e,yFrom:b.get(n).y,xTo:r,yTo:s},{class:c,doubleLine:u});h.getAttributes(d.get(),t.kind,t.linecolor,e,r).forEach((function(t){x.setAttribute(t.name,t.value)})),a.appendChild(x),a.appendChild(g.createLabel(t,{x:e,y:b.get(n).y+(s-b.get(n).y)/2,width:r-e},Object.assign({alignAround:!0,alignAbove:"above"===k.regularArcTextVerticalAlignment,ownBackground:!0},structuredClone(o))))}return a}function j(t,e,r){var n=0,o=k.arcEndX;return t.from&&t.to&&(n=e.from,o=e.to-e.from),g.createLabel(t,{x:n,y:r,width:o},{ownBackground:!0,wordwraparcs:k.wordWrapArcs})}function D(t,e,r,n){var o,i=2*k.maxDepth*l.default.LINE_WIDTH,a=t.to-t.from+v.getDims().interEntitySpacing-2*l.default.LINE_WIDTH-i,c=t.from-(v.getDims().interEntitySpacing-2*l.default.LINE_WIDTH-i)/2,u=y.createGroup(),s=g.createLabel(e,{x:c,y:r,width:a},n),d=x.getBBox(s),f=Math.max(d.height+2*l.default.LINE_WIDTH,k.arcRowHeight-2*l.default.LINE_WIDTH),h={width:a,height:f,x:c,y:r-f/2};switch(e.kind){case"rbox":o=y.createRBox(h,{class:"box rbox",color:e.linecolor,bgColor:e.textbgcolor});break;case"abox":o=y.createABox(h,{class:"box abox",color:e.linecolor,bgColor:e.textbgcolor});break;case"note":o=y.createNote(h,{class:"box note",color:e.linecolor,bgColor:e.textbgcolor,lineWidth:l.default.LINE_WIDTH});break;default:o=y.createRect(h,{class:"box",color:e.linecolor,bgColor:e.textbgcolor})}return u.appendChild(o),u.appendChild(s),u}e.clean=function(t,e){k.document=p.init(e),x.init(k.document),x.removeRenderedSVGFromElement(t)}},183:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.createLabel=function(t,e,r,n){var o=d.createGroup(n);if(r=r||{},t.label){var i=e.x+e.width/2,a=function(t,e){return e.alignAbove&&t.forEach((function(){t.push("")})),e.alignAround&&1===t.length&&t.push(""),t}(g(t.label,t.kind,e.width,l.default.FONT_SIZE,r),r),c=function(t,e,r){return r.alignAround?e.y-(t.length-1)/2*(f.calculateTextHeight()+l.default.LINE_WIDTH+1):e.y-(t.length-1)/2*(f.calculateTextHeight()+1)}(a,e,r);a.forEach((function(e,n){if(""!==e){var a=function(t,e,r,n,o,i){var a,c,u,g=r+(o+1/4)*f.calculateTextHeight(),p=function(t,e){var r=t,n=s.getClass(r),o=s.getAggregateClass(r);return n===o?n+e:o+e+n+e}(n.kind,"-text ");return i.alignLeft&&(p+="anchor-start "),i.alignAround&&(g=r+(o+1/4)*(f.calculateTextHeight()+l.default.LINE_WIDTH)),a=h(function(t,e,r,n,o){var i=0===e?{class:n,url:o.url,id:o.id,idurl:o.idurl}:{class:n,url:o.url};return d.createText(t,r,i)}(t,o,{x:e,y:g},p,n),n.textcolor),c=n.url,u=n.textcolor,h(a,c&&!u?"blue":u)}(e,i,c,t,n,r);r.ownBackground&&o.appendChild((u=a,g=t.textbgcolor,p=d.createRect(f.getBBox(u),{class:"label-text-background"}),g&&p.setAttribute("style","fill:".concat(g,"; stroke:").concat(g,";")),p)),o.appendChild(a)}var u,g,p;c++}))}return o},e.splitLabel=g;var c=a(r(605)),u=a(r(727)),l=a(r(479)),s=i(r(348)),d=i(r(909)),f=i(r(415));function h(t,e){return e&&t.setAttribute("style","fill:".concat(e,";")),t}function g(t,e,r,n,o){return function(t,e){return function(t,e){return"box"===(0,c.default)(t)&&e}(t,e.wordwrapboxes)||function(t,e){return"entity"===t&&e}(t,e.wordwrapentities)||function(t,e){return"box"!==(0,c.default)(t)&&"entity"!==t&&e}(t,e.wordwraparcs)||void 0===t}(e,o)?(0,u.default)(t,function(t,e){var r=Math.abs(t);return r<=160?r/(e/12*8):r<=320?r/(e/12*6.4):r<=480?r/(e/12*5.9):r/(e/12*5.6)}(r,n)):t.split("\\n")}},339:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.init=d,e.bootstrap=function(t,e,r,n,o){s=d(t);var i,a,h=c.createSVG(r,r,function(t){var e="",r=f(t.additionalTemplate);return Boolean(r)&&(e=r.renderMagic),e}(o));return Boolean(o.source)&&h.appendChild(function(t,e){var r=c.createDesc();return r.appendChild(t.document.createTextNode("\n\n# Generated by mscgen_js - https://sverweij.github.io/mscgen_js\n".concat(e))),r}(t,o.source)),h.appendChild(function(t,e,r){var n=c.createDefs();return n.appendChild(function(t,e){var r=s.createElement("style");return r.setAttribute("type","text/css"),r.appendChild(s.createTextNode(function(t,e){return(r=f(t.additionalTemplate)||{},n=t.styleAdditions,(r.cssBefore||"")+l.baseTemplate+(r.cssAfter||"")+(n||"")).replace(/<%=fontSize%>/g,u.default.FONT_SIZE).replace(/<%=lineWidth%>/g,u.default.LINE_WIDTH).replace(/<%=id%>/g,e);var r,n}(t,e))),r}(r,t)),function(t,e){return e.forEach((function(e){"method"===e.type?t.appendChild(c.createMarkerPolygon(e.name,e.path,e.color)):t.appendChild(c.createMarkerPath(e.name,e.path,e.color))})),t}(n,e)}(r,n,o)),h.appendChild((i=r,(a=c.createGroup("".concat(i,"_body"))).appendChild(c.createGroup("".concat(i,"_background"))),a.appendChild(c.createGroup("".concat(i,"_arcspans"))),a.appendChild(c.createGroup("".concat(i,"_lifelines"))),a.appendChild(c.createGroup("".concat(i,"_sequence"))),a.appendChild(c.createGroup("".concat(i,"_notes"))),a.appendChild(c.createGroup("".concat(i,"_watermark"))),a)),e.appendChild(h),s};var c=i(r(909)),u=a(r(479)),l=r(745),s={};function d(t){return c.init(t.document,{LINE_WIDTH:u.default.LINE_WIDTH,FONT_SIZE:u.default.FONT_SIZE}),t.document}function f(t){return l.namedStyles.find((function(e){return e.name===t}))}},7:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.scaleCanvasToWidth=function(t,e){var r=structuredClone(e);return r.scale=t/r.width,r.width*=r.scale,r.height*=r.scale,r.horizontaltransform*=r.scale,r.verticaltransform*=r.scale,r.x=0-r.horizontaltransform,r.y=0-r.verticaltransform,r},e.determineDepthCorrection=function(t,e){return t?2*(t+1)*e*2:0},e.determineArcXTo=function(t,e,r){return"-x"===t?e+3/4*(r-e):r}},305:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.get=i,e.getLast=a,e.clear=function(t,e){r=[],n=t,o=e},e.getByRealRowNumber=function(t){var e=r.find((function(e){return e.realRowNumber===t}));return void 0===e&&(e=a()),e},e.set=function(t,e,n){void 0===n&&(n=-1);var o=i(t-1);r[t]={y:o.y+(o.height+e)/2,height:e,realRowNumber:n}};var r=[],n=0,o=0;function i(t){return r[t]?r[t]:{y:n+1.5*o+t*o,height:o,realRowNumber:r.length-1}}function a(){return i(r.length-1)}},539:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.XLINKNS=e.SVGNS=void 0,e.setAttribute=n,e.setAttributeNS=o,e.setAttributes=i,e.setAttributesNS=function(t,e,r){return Object.keys(r||{}).forEach((function(n){o(t,e,n,r[n])})),t},e.createElement=function(t,n){return i(r.createElementNS(e.SVGNS,t),n)},e.createTextNode=function(t){return r.createTextNode(t)},e.init=function(t){r=t},e.SVGNS="http://www.w3.org/2000/svg",e.XLINKNS="http://www.w3.org/1999/xlink";var r={};function n(t,e,r){return Boolean(r)&&t.setAttribute(e,r),t}function o(t,e,r,n){return Boolean(n)&&t.setAttributeNS(e,r,n),t}function i(t,e){return Object.keys(e||{}).forEach((function(r){n(t,r,e[r])})),t}},919:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){return 0-360*Math.atan(t.height/t.width)/(2*Math.PI)}},909:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e};Object.defineProperty(e,"__esModule",{value:!0}),e.createMarkerPolygon=e.createMarkerPath=e.createGroup=e.createUTurn=e.createDiagonalText=e.createText=e.createNote=e.createABox=e.createRBox=e.createRect=e.createTSpan=e.createDefs=e.createDesc=e.createTitle=e.updateSVG=void 0,e.init=function(t,e){c.init(t),s=Object.assign({LINE_WIDTH:2,FONT_SIZE:12},e)},e.createSVG=function(t,e,r){return l=function(t){return Boolean(t)?"wobbly"===t?u:a:l}(r),c.createSVG(t,e)},e.createEdgeRemark=function(t,e){return l.createEdgeRemark(t,{class:e.class,color:e.color,bgColor:e.bgColor,foldSize:e.foldSize,lineWidth:s.LINE_WIDTH})},e.createLine=function(t,e){return Boolean(e)&&Boolean(e.doubleLine)?(e.lineWidth||(e.lineWidth=s.LINE_WIDTH),l.createDoubleLine(t,e)):l.createSingleLine(t,e)};var a=i(r(896)),c=i(r(13)),u=i(r(243)),l=a,s={};e.updateSVG=c.updateSVG,e.createTitle=c.createTitle,e.createDesc=c.createDesc,e.createDefs=c.createDefs,e.createTSpan=c.createTSpan,e.createRect=function(t,e){return l.createRect(t,e)},e.createRBox=function(t,e){return l.createRBox(t,e)},e.createABox=function(t,e){return l.createABox(t,e)},e.createNote=function(t,e){return l.createNote(t,e)},e.createText=c.createText,e.createDiagonalText=c.createDiagonalText,e.createUTurn=c.createUTurn,e.createGroup=c.createGroup,e.createMarkerPath=c.createMarkerPath,e.createMarkerPolygon=c.createMarkerPolygon},921:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e){return e?Math.round(t*Math.pow(10,e))/Math.pow(10,e):Math.round(t)}},896:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e};Object.defineProperty(e,"__esModule",{value:!0}),e.createRect=e.createSingleLine=void 0,e.createDoubleLine=function(t,e){var r=e.lineWidth||1,n=r,o=e?e.class:"",i=c.getDirection(t),u=c.determineEndCorrection(t,o,r),l=c.determineStartCorrection(t,o,r),s=(t.xTo-t.xFrom+u-l).toString(),d=(t.yTo-t.yFrom).toString(),f=a.pathPoint2String("l",i.signX,i.dy),h=a.pathPoint2String("l",s,d);return a.createPath(a.pathPoint2String("M",t.xFrom,t.yFrom-7.5*r*i.dy)+f+a.pathPoint2String("M",t.xFrom+l,t.yFrom-n)+h+a.pathPoint2String("M",t.xFrom+l,t.yFrom+n)+h+a.pathPoint2String("M",t.xTo-i.signX,t.yTo+7.5*r*i.dy)+f,e)},e.createNote=function(t,e){var r=e&&e.lineWidth||1,n=Math.max(9,Math.min(4.5*r,t.height/2)),o=n.toString(10);return a.createPath(a.pathPoint2String("M",t.x,t.y)+a.pathPoint2String("l",t.width-n,0)+a.pathPoint2String("l",0,o)+a.pathPoint2String("l",o,0)+a.pathPoint2String("m",-o,-o)+a.pathPoint2String("l",o,o)+a.pathPoint2String("l",0,t.height-n)+a.pathPoint2String("l",-t.width,0)+a.pathPoint2String("l",0,-t.height)+"z",e)},e.createRBox=function(t,e){var r=Object.assign({rx:6,ry:6},e);return a.createRect(t,r)},e.createABox=function(t,e){return a.createPath(a.pathPoint2String("M",t.x,t.y+t.height/2)+a.pathPoint2String("l",3,-t.height/2)+a.pathPoint2String("l",t.width-6,0)+a.pathPoint2String("l",3,t.height/2)+a.pathPoint2String("l",-3,t.height/2)+a.pathPoint2String("l",-(t.width-6),0)+"z",e)},e.createEdgeRemark=function(t,e){var r=e&&e.foldSize?e.foldSize:7,n=Object.assign({class:null,color:null,bgColor:null},e);return a.createPath(a.pathPoint2String("M",t.x,t.y)+a.pathPoint2String("l",t.width,0)+a.pathPoint2String("l",0,t.height-r)+a.pathPoint2String("l",-r,r)+a.pathPoint2String("l",-(t.width-r),0),n)};var a=i(r(13)),c=i(r(79));e.createSingleLine=a.createSingleLine,e.createRect=a.createRect},13:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.updateSVG=e.init=void 0,e.point2String=d,e.pathPoint2String=f,e.createTSpan=p,e.createText=m,e.createPath=b,e.createSingleLine=function(t,e){return c.createElement("line",{x1:(0,l.default)(t.xFrom,s).toString(),y1:(0,l.default)(t.yFrom,s).toString(),x2:(0,l.default)(t.xTo,s).toString(),y2:(0,l.default)(t.yTo,s).toString(),class:e?e.class:null})},e.createRect=function(t,e){var r=Object.assign({class:null,color:null,bgColor:null,rx:null,ry:null},e);return y(c.createElement("rect",{width:(0,l.default)(t.width,s),height:(0,l.default)(t.height,s),x:(0,l.default)(t.x,s),y:(0,l.default)(t.y,s),rx:(0,l.default)(r.rx||0,s),ry:(0,l.default)(r.ry||0,s),class:r.class}),r.color,r.bgColor)},e.createUTurn=function(t,e,r){var n=Object.assign({class:null,dontHitHome:!1,lineWidth:1},r),o=n.dontHitHome?t.x+7.5*(n.lineWidth||1):t.x;return b(f("M",t.x,t.y-t.height/2)+f("C",t.x+t.width,t.y-7.5*(n.lineWidth||1)/2)+d({x:t.x+t.width,y:e+0})+d({x:o,y:e}),{class:n.class})},e.createGroup=function(t,e){return c.createElement("g",{id:t,class:e})},e.createMarkerPath=function(t,e,r){var n=h(t,"arrow-marker","auto");return n.appendChild(b(e,{class:"arrow-style",style:"stroke-dasharray:100,1;stroke:".concat(r)||0})),n},e.createMarkerPolygon=function(t,e,r){var n=h(t,"arrow-marker","auto");return n.appendChild(c.createElement("polygon",{points:e,class:"arrow-style",stroke:r||"black",fill:r||"black"})),n},e.createTitle=function(t){var e=c.createElement("title"),r=c.createTextNode(t);return e.appendChild(r),e},e.createDiagonalText=function(t,e,r){return c.setAttributes(m(t,{x:e.width/2,y:e.height/2},{class:r}),{transform:"rotate(".concat((0,l.default)((0,u.default)(e),s).toString()," ")+"".concat((0,l.default)(e.width/2,s).toString()," ")+"".concat((0,l.default)(e.height/2,s).toString(),")")})},e.createDesc=function(){return c.createElement("desc")},e.createDefs=function(){return c.createElement("defs")},e.createSVG=function(t,e){return c.createElement("svg",{version:"1.1",id:t,class:e,xmlns:c.SVGNS,"xmlns:xlink":c.XLINKNS,width:"0",height:"0"})};var c=i(r(539)),u=a(r(919)),l=a(r(921)),s=2;function d(t){return"".concat((0,l.default)(t.x,s).toString(),",").concat((0,l.default)(t.y,s).toString()," ")}function f(t,e,r){return t+d({x:e,y:r})}function h(t,e,r,n){return c.createElement("marker",{orient:r,id:t,class:e,viewBox:Boolean(n)?n:"0 0 10 10",refX:"9",refY:"3",markerUnits:"strokeWidth",markerWidth:"10",markerHeight:"10"})}var g="vertical-align:text-top;";function p(t,e){var r=c.createElement("tspan"),n=c.createTextNode(t);return r.appendChild(n),e?function(t,e){var r=c.createElement("a");return c.setAttributesNS(r,c.XLINKNS,{"xlink:href":t,"xlink:title":t}),r.appendChild(e),r}(e,r):r}function m(t,e,r){var n=Object.assign({class:null,url:null,id:null,idurl:null},r),o=c.createElement("text",{x:(0,l.default)(e.x,s).toString(),y:(0,l.default)(e.y,s).toString(),class:n.class});if(o.appendChild(p(t,n.url)),n.id){var i=p(" [".concat(n.id,"]"),n.idurl);i.setAttribute("style",g),o.appendChild(i)}return o}function b(t,e){var r=Object.assign({class:null,style:null,color:null,bgColor:null},e);return y(c.createElement("path",{d:t,class:r.class,style:r.style}),r.color,r.bgColor)}function y(t,e,r){var n="";return r&&(n+="fill:".concat(r,";")),e&&(n+="stroke:".concat(e,";")),c.setAttribute(t,"style",n)}g+="font-size:0.7em;text-anchor:start;",e.init=c.init,e.updateSVG=c.setAttributes},79:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.determineStartCorrection=function(t,e,r){var n=0;return!e.includes("nodi")&&e.includes("bidi")&&(n=t.xTo>t.xFrom?7.5*r:-7.5*r),n},e.determineEndCorrection=function(t,e,r){var n=0;return e.includes("nodi")||(n=t.xTo>t.xFrom?-7.5*r:7.5*r),n},e.getDirection=function(t){var e=t.xTo>t.xFrom?1:-1;return{signX:e,signY:t.yTo>t.yFrom?1:-1,dy:e*(t.yTo-t.yFrom)/(t.xTo-t.xFrom)}}},623:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e};Object.defineProperty(e,"__esModule",{value:!0}),e.renderNotePathString=function(t,e){return a.pathPoint2String("M",t.x,t.y)+(0,u.line2CurveString)({xFrom:t.x,yFrom:t.y,xTo:t.x+t.width-e,yTo:t.y})+a.pathPoint2String("L",t.x+t.width-e,t.y)+(0,u.line2CurveString)({xFrom:t.x+t.width-e,yFrom:t.y,xTo:t.x+t.width,yTo:t.y+e})+a.pathPoint2String("L",t.x+t.width,t.y+e)+(0,u.line2CurveString)({xFrom:t.x+t.width,yFrom:t.y+e,xTo:t.x+t.width,yTo:t.y+t.height})+a.pathPoint2String("L",t.x+t.width,t.y+t.height)+(0,u.line2CurveString)({xFrom:t.x+t.width,yFrom:t.y+t.height,xTo:t.x,yTo:t.y+t.height})+a.pathPoint2String("L",t.x,t.y+t.height)+(0,u.line2CurveString)({xFrom:t.x,yFrom:t.y+t.height,xTo:t.x,yTo:t.y})+a.pathPoint2String("L",t.x,t.y)+"z"},e.renderNoteCornerString=function(t,e){return a.pathPoint2String("M",t.x+t.width-e,t.y)+(0,u.line2CurveString)({xFrom:t.x+t.width-e,yFrom:t.y,xTo:t.x+t.width-e,yTo:t.y+e})+a.pathPoint2String("L",t.x+t.width-e,t.y+e)+(0,u.line2CurveString)({xFrom:t.x+t.width-e,yFrom:t.y+e,xTo:t.x+t.width,yTo:t.y+e})+a.pathPoint2String("L",t.x+t.width,t.y+e)},e.abox2CurveString=function(t,e){return a.pathPoint2String("M",t.x,t.y+t.height/2)+(0,u.line2CurveString)({xFrom:t.x,yFrom:t.y+t.height/2,xTo:t.x+e,yTo:t.y})+a.pathPoint2String("L",t.x+e,t.y)+(0,u.line2CurveString)({xFrom:t.x+e,yFrom:t.y,xTo:t.x+t.width-e,yTo:t.y})+a.pathPoint2String("L",t.x+t.width-e,t.y)+(0,u.line2CurveString)({xFrom:t.x+t.width-e,yFrom:t.y,xTo:t.x+t.width,yTo:t.y+t.height/2})+a.pathPoint2String("L",t.x+t.width,t.y+t.height/2)+(0,u.line2CurveString)({xFrom:t.x+t.width,yFrom:t.y+t.height/2,xTo:t.x+t.width-e,yTo:t.y+t.height})+a.pathPoint2String("L",t.x+t.width-e,t.y+t.height)+(0,u.line2CurveString)({xFrom:t.x+t.width-e,yFrom:t.y+t.height,xTo:t.x+e,yTo:t.y+t.height})+a.pathPoint2String("L",t.x+e,t.y+t.height)+(0,u.line2CurveString)({xFrom:t.x+e,yFrom:t.y+t.height,xTo:t.x,yTo:t.y+t.height/2})+"z"},e.rbox2CurveString=function(t,e){return a.pathPoint2String("M",t.x,t.y+e)+(0,u.points2CurveString)([{controlX:t.x,controlY:t.y,x:t.x+e,y:t.y}])+(0,u.line2CurveString)({xFrom:t.x+e,yFrom:t.y,xTo:t.x+t.width-e,yTo:t.y})+a.pathPoint2String("L",t.x+t.width-e,t.y)+(0,u.points2CurveString)([{controlX:t.x+t.width,controlY:t.y,x:t.x+t.width,y:t.y+e}])+(0,u.line2CurveString)({xFrom:t.x+t.width,yFrom:t.y+e,xTo:t.x+t.width,yTo:t.y+t.height-e})+a.pathPoint2String("L",t.x+t.width,t.y+t.height-e)+(0,u.points2CurveString)([{controlX:t.x+t.width,controlY:t.y+t.height,x:t.x+t.width-e,y:t.y+t.height}])+(0,u.line2CurveString)({xFrom:t.x+t.width-e,yFrom:t.y+t.height,xTo:t.x+e,yTo:t.y+t.height})+a.pathPoint2String("L",t.x+e,t.y+t.height)+(0,u.points2CurveString)([{controlX:t.x,controlY:t.y+t.height,x:t.x,y:t.y+t.height-e}])+(0,u.line2CurveString)({xFrom:t.x,yFrom:t.y+t.height-e,xTo:t.x,yTo:t.y+e})+"z"},e.doubleLine2CurveString=function(t,e){var r=e.lineWidth||1,n=r,o=e?e.class:"",i=c.getDirection(t),l=c.determineEndCorrection(t,o,r),s=c.determineStartCorrection(t,o,r);return a.pathPoint2String("M",t.xFrom,t.yFrom-7.5*r*i.dy)+a.pathPoint2String("l",i.signX,i.dy)+a.pathPoint2String("M",t.xFrom+s,t.yFrom-n)+(0,u.line2CurveString)({xFrom:t.xFrom+s,yFrom:t.yFrom-n,xTo:t.xTo+l,yTo:t.yTo-n})+a.pathPoint2String("M",t.xFrom+s,t.yFrom+n)+(0,u.line2CurveString)({xFrom:t.xFrom+s,yFrom:t.yFrom+n,xTo:t.xTo+l,yTo:t.yTo+n})+a.pathPoint2String("M",t.xTo-i.signX,t.yTo+7.5*r*i.dy)+a.pathPoint2String("l",i.signX,i.dy)},e.edgeRemark2CurveString=function(t,e){return a.pathPoint2String("M",t.x+t.width,t.y)+(0,u.line2CurveString)({xFrom:t.x+t.width,yFrom:t.y,xTo:t.x+t.width,yTo:t.y+t.height-e})+a.pathPoint2String("L",t.x+t.width,t.y+t.height-e)+(0,u.line2CurveString)({xFrom:t.x+t.width,yFrom:t.y+t.height-e,xTo:t.x+t.width-e,yTo:t.y+t.height})+a.pathPoint2String("L",t.x+t.width-e,t.y+t.height)+(0,u.line2CurveString)({xFrom:t.x+t.width-e,yFrom:t.y+t.height,xTo:t.x-1,yTo:t.y+t.height})+a.pathPoint2String("L",t.x-1,t.y+t.height)};var a=i(r(13)),c=i(r(79)),u=r(930)},930:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.points2CurveString=f,e.line2CurveString=function(t){return f(b(t,s,d))},e.getLineLength=h,e.getNumberOfSegments=g,e.getBetweenPoints=b;var c=a(r(921)),u=i(r(13)),l=i(r(79)),s=70,d=3;function f(t){return t.map((function(t){return"".concat(u.pathPoint2String("S",t.controlX,t.controlY)," ")+"".concat(u.point2String(t))})).join(" ")}function h(t){var e=Math.abs(t.xTo-t.xFrom),r=Math.abs(t.yTo-t.yFrom);return Math.sqrt(e*e+r*r)}function g(t,e){var r=h(t);return r>0?Math.floor(r/e):0}function p(t){return Math.round(2*Math.random()*t)-t}var m=2;function b(t,e,r){e=function(t,e){if(t<=0)throw new Error("pInterval must be > 0");return Math.min(h(e),t)}(e,t);for(var n,o=[],i=g(t,e),a=l.getDirection(t),u=a.signX*Math.sqrt(Math.pow(e,2)/(1+Math.pow(a.dy,2))),s=a.signY*(Math.abs(a.dy)===1/0?e:Math.sqrt(Math.pow(a.dy,2)*Math.pow(e,2)/(1+Math.pow(a.dy,2)))),d=1;d<=i;d++)e>h({xFrom:(n={controlX:(0,c.default)(t.xFrom+(d-.5)*u+p(r),m),controlY:(0,c.default)(t.yFrom+(d-.5)*s+p(r),m),x:(0,c.default)(t.xFrom+d*u,m),y:(0,c.default)(t.yFrom+d*s,m)}).x,yFrom:n.y,xTo:t.xTo,yTo:t.yTo})&&(n.x=t.xTo,n.y=t.yTo),o.push(n);return o}},243:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e},a=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.createSingleLine=function(t,e){void 0===e&&(e={});var r=d.getDirection(t);return s.createPath(s.pathPoint2String("M",t.xFrom,t.yFrom)+s.pathPoint2String("L",(0,l.default)(t.xFrom+r.signX*Math.sqrt(1/(1+Math.pow(r.dy,2))),2),t.yFrom+r.signY*(Math.abs(r.dy)===1/0?1:(0,l.default)(Math.sqrt(Math.pow(r.dy,2)/(1+Math.pow(r.dy,2))),2)))+(0,u.line2CurveString)(t),e)},e.createNote=function(t,e){var r=e&&e.lineWidth||1,n=Math.max(9,Math.min(4.5*r,t.height/2)),o=s.createGroup();return o.appendChild(s.createPath((0,c.renderNotePathString)(t,n),e)),e.bgColor="transparent",o.appendChild(s.createPath((0,c.renderNoteCornerString)(t,n),e)),o},e.createRect=function(t,e){return s.createPath((0,c.rbox2CurveString)(t,0),e)},e.createABox=function(t,e){return s.createPath((0,c.abox2CurveString)(t,3),e)},e.createRBox=function(t,e){return s.createPath((0,c.rbox2CurveString)(t,6),e)},e.createEdgeRemark=function(t,e){var r=e&&e.lineWidth||1,n=s.createGroup(),o=e&&e.foldSize?e.foldSize:7,i=e&&e.color?e.color:"black";e.color="transparent!important";var a=s.createPath(s.pathPoint2String("M",t.x,t.y+r/2)+s.pathPoint2String("L",t.x+t.width,t.y+r/2)+s.pathPoint2String("L",t.x+t.width,t.y+t.height-o)+s.pathPoint2String("L",t.x+t.width-o,t.y+t.height)+s.pathPoint2String("L",t.x,t.y+t.height)+"z",e);e.bgColor="transparent",e.color=i;var u=s.createPath((0,c.edgeRemark2CurveString)(t,o),e);return n.appendChild(a),n.appendChild(u),n},e.createDoubleLine=function(t,e){return s.createPath((0,c.doubleLine2CurveString)(t,e),{class:e.class})};var c=r(623),u=r(930),l=a(r(921)),s=i(r(13)),d=i(r(79))},415:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),i=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&n(e,t,r);return o(e,t),e};Object.defineProperty(e,"__esModule",{value:!0}),e.webkitNamespaceBugWorkaround=e.init=void 0,e.getBBox=d,e.calculateTextHeight=function(){return 0!==s?s:s=d(c.createText("ÁjyÎ9ƒ@💩",{x:0,y:0})).height},e.removeRenderedSVGFromElement=function(t){a.setPrefix(t);var e=u.getElementById(a.get());if(Boolean(e)){var r=u.getElementById(t);r?r.removeChild(e):u.body.removeChild(e)}};var a=i(r(978)),c=i(r(909)),u={},l=a.get("bboxer"),s=0;function d(t){return"function"==typeof t.getBBox?(e=function(t){var e=u.getElementById(l);(e=e||function(t){var e=c.createSVG(t,a.get());return u.body.appendChild(e),e}(l)).appendChild(t);var r=t.getBBox();return e.removeChild(t),r}(t),r=1e5,Math.abs(e.height)>r||Math.abs(e.width)>r?{height:0,width:0,x:0,y:0}:e):{height:15,width:15,x:2,y:2};var e,r}e.init=function(t){u=t},e.webkitNamespaceBugWorkaround=function(t){return t.replace(/ xlink=/g," xmlns:xlink=").replace(/ href=/g," xlink:href=")}},988:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.unescapeString=function(t){return t.replace(/\\"/g,'"')},e.escapeString=function(t){return t.replace(/\\"/g,'"').replace(/"/g,'\\"')}},727:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e){for(var r=0,n=[],o=0,i=0,a=0,c=0,u=t.replace(/[\t\n]+/g," ").replace(/\\n/g,"\n");c<=u.length;)c>=u.length?n.push(u.substring(o,c)):"\n"===u[c]?(r=0,a=c,n.push(u.substring(o,a)),o=a+1):r++>=e&&(-1===(a=u.substring(0,c).lastIndexOf(" "))||a{let e={defaultLanguage:"mscgen",parentElementPrefix:"mscgen_js-parent_",clickable:!1,clickURL:"https://sverweij.github.io/mscgen_js/",loadFromSrcAttribute:!1};t.exports={getConfig(){var t,r;return"undefined"!=typeof mscgen_js_config&&mscgen_js_config&&"object"==typeof mscgen_js_config&&(t=e,r=mscgen_js_config,Object.getOwnPropertyNames(r).forEach((e=>{t[e]=r[e]}))),e}}},925:(t,e,r)=>{const n=r(552);function o(t,e){let r=t.toString(),n=e-r.length;for(let t=0;to===e?t+n.applyTemplate("{char}",{char:a(r)}):t+a(r)),"")}t.exports={formatNumber:o,deHTMLize:a,renderError:function(t,e,r){let o=e?n.applyTemplate("
    # ERROR on line {line}, column {col} - {message}
    ",{message:r,line:e.start.line,col:e.start.column}):n.applyTemplate("
    # ERROR {message}
    ",{message:r});return`${t.split("\n").reduce(((t,r,o)=>Boolean(e)&&o===e.start.line-1?t+n.applyTemplate("{line}\n",{line:i(c(r,e.start.column-1),o+1)}):`${t+a(i(r,o+1))}\n`),o)}
    `}}},875:t=>{function e(t,e,r){return`${t.pathname}?lang=${r}&msc=${encodeURIComponent(e)}`}t.exports={toLocationString(t,r,n){let o="# source too long for an URL";return function(t,r,n){return e(t,r,n).length<4094}(t,r,n)&&(o=r),e(t,o,n)}}},552:t=>{t.exports={applyTemplate:function(t,e){let r=t;return e&&Object.keys(e).forEach((t=>{r=r.replace(new RegExp(`{${t}}`,"g"),e[t])})),r}}},745:t=>{"use strict";t.exports=JSON.parse('{"baseTemplate":"svg.<%=id%>{font-family:Helvetica,sans-serif;font-size:<%=fontSize%>px;font-weight:normal;font-style:normal;text-decoration:none;background-color:white;stroke:black;stroke-width:<%=lineWidth%>}.<%=id%> path, .<%=id%> rect{fill:none}.<%=id%> .label-text-background{fill:white;stroke:white;stroke-width:0}.<%=id%> .bglayer{fill:white;stroke:white;stroke-width:0}.<%=id%> line{}.<%=id%> .return, .<%=id%> .comment{stroke-dasharray:5,3}.<%=id%> .inline_expression_divider{stroke-dasharray:10,5}.<%=id%> text{color:inherit;stroke:none;text-anchor:middle}.<%=id%> text.anchor-start{text-anchor:start}.<%=id%> .arrow-marker{overflow:visible}.<%=id%> .arrow-style{stroke-width:1}.<%=id%> .arcrow, .<%=id%> .arcrowomit, .<%=id%> .emphasised{stroke-linecap:butt}.<%=id%> .arcrowomit{stroke-dasharray:2,2}.<%=id%> .box, .<%=id%> .entity{fill:white;stroke-linejoin:round}.<%=id%> .inherit{stroke:inherit;color:inherit}.<%=id%> .inherit-fill{fill:inherit}.<%=id%> .watermark{font-size:48pt;font-weight:bold;opacity:0.14}","namedStyles":[{"name":"basic","description":"Basic","experimental":false,"deprecated":false,"renderMagic":"straight","cssBefore":"","cssAfter":".<%=id%> text.entity-text{text-decoration:underline;}"},{"name":"lazy","description":"Lazy","experimental":false,"deprecated":false,"renderMagic":"straight","cssBefore":"","cssAfter":".<%=id%> text.entity-text{font-weight:bold;}.<%=id%> text.return-text{font-style:italic}.<%=id%> path.note{fill:#FFFFCC}.<%=id%> rect.label-text-background{opacity:0.9}.<%=id%> line.comment,.<%=id%> rect.inline_expression,.<%=id%> .inline_expression_divider,.<%=id%> .inline_expression_label{stroke:grey}"},{"name":"classic","description":"Classic","experimental":false,"deprecated":false,"renderMagic":"straight","cssBefore":"","cssAfter":".<%=id%> text.entity-text{text-decoration:none}.<%=id%> .entity{stroke:none;}.<%=id%> line,.<%=id%> rect,.<%=id%> path{stroke-width:1px}.<%=id%> .arrow-style{stroke-width:2;}.<%=id%> .inline_expression,.<%=id%> .inline_expression_divider,.<%=id%> .inline_expression_label{stroke-width: 1px}"},{"name":"fountainpen","description":"Fountain pen","experimental":true,"deprecated":false,"renderMagic":"wobbly","cssBefore":"@import \'https://fonts.googleapis.com/css?family=Gochi+Hand\';","cssAfter":"svg.<%=id%>{font-family:\'Gochi Hand\', cursive;font-size:14px;stroke-opacity:0.4;stroke-linecap:round;background-color:transparent}.<%=id%> text{fill:rgba(0,0,128,0.7)}.<%=id%> marker polygon{fill:rgba(0,0,255,0.4);stroke-linejoin:round}.<%=id%> line, .<%=id%> path, .<%=id%> rect, .<%=id%> polygon{stroke:blue !important}.<%=id%> text.entity-text{font-weight:bold;text-decoration:none}.<%=id%> text.return-text{font-style:italic}.<%=id%> path.note{fill:#FFFFCC;}.<%=id%> .label-text-background{opacity:0}"},{"name":"cygne","description":"Cygne (best with msgenny)","experimental":true,"deprecated":true,"renderMagic":"straight","cssBefore":"","cssAfter":".<%=id%> line, .<%=id%> path{stroke:#00A1DE}.<%=id%> text{fill:#005B82}.<%=id%> .entity,.<%=id%> .box{fill:#00A1DE;stroke:#00A1DE}.<%=id%> text.box-text{fill:white}.<%=id%> text.entity-text{font-weight:bold;fill:white;text-decoration:none}.<%=id%> text.return-text{font-style:italic}.<%=id%> path.note{fill:#E77B2F;stroke:white}.<%=id%> .comment,.<%=id%> .inline_expression,.<%=id%> .inline_expression_divider,.<%=id%> .inline_expression_label{fill:white}"},{"name":"pegasse","description":"Pégase (best with msgenny)","experimental":false,"deprecated":true,"renderMagic":"straight","cssBefore":"","cssAfter":".<%=id%> line, .<%=id%> path{stroke:rgba(0, 43, 84, 1)}.<%=id%> text{fill:rgba(0, 43, 84, 1)}.<%=id%> .entity,.<%=id%> .box{fill:rgba(0, 43, 84, 1);stroke:rgba(0, 43, 84, 1)}.<%=id%> text.box-text{fill:white}.<%=id%> text.entity-text{font-weight:bold;fill:white;text-decoration:none}.<%=id%> text.return-text{font-style:italic}.<%=id%> path.note{fill:rgba(255, 50, 0, 1);stroke:white}.<%=id%> .comment,.<%=id%> .inline_expression,.<%=id%> .inline_expression_divider,.<%=id%> .inline_expression_label{fill:white}"},{"name":"grayscaled","description":"Grayscaled (not in IE or Safari)","experimental":true,"deprecated":false,"renderMagic":"straight","cssBefore":"","cssAfter":"svg.<%=id%>{filter:grayscale(1);-webkit-filter:grayscale(1);}"},{"name":"inverted","description":"Inverted (not in IE or Safari)","experimental":true,"deprecated":false,"renderMagic":"straight","cssBefore":"","cssAfter":"svg.<%=id%>{filter:invert(1);-webkit-filter:invert(1);}"},{"name":"noentityboxes","description":"No entity boxes","experimental":false,"deprecated":false,"renderMagic":"straight","cssBefore":"","cssAfter":".<%=id%> .entity{fill:none;stroke:none;}.<%=id%> text.entity-text{text-decoration:underline;}"}]}')}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n].call(i.exports,i,i.exports,r),i.exports}const n=r(761),o=r(785),i=r(378),a=r(946),c=r(925),u=r(875),l="ERROR: Won't load the chart specified,\nbecause loading from separate files is switched off in the mscgen_js configuration. \n\nSee https://sverweij.github.io/mscgen_js/embed.html#loading-from-separate-files how to enable it.",s=Object.freeze({"text/x-mscgen":"mscgen","text/x-msgenny":"msgenny","text/x-xu":"xu"});function d(t,e){const r=document.createElement("pre");r.setAttribute("style","color: #d00"),r.textContent=e,t.replaceChildren(r)}function f(t){let e=t.dataset.mirrorEntities;return e&&"true"===e}function h(t){return t.dataset.regularArcTextVerticalAlignment||"middle"}function g(t){return t.ok?Promise.resolve(t):Promise.reject(new Error(`ERROR: ${t.statusText}`))}function p(t){return t.text()}function m(t){return t.dataset.src||t.getAttribute("src")}function b(t,e,r=t){t.dataset.renderedby="mscgen_js",!a.getConfig().loadFromSrcAttribute&&Boolean(m(t))?d(r,l):(function(t,e){t.id||(t.id=a.getConfig().parentElementPrefix+e.toString())}(r,e),function(t){const e=m(t);return e?fetch(e).then(g).then(p):new Promise(((e,r)=>{t.textContent?e(t.textContent):r(new Error("ERROR: this element doesn't contain any text"))}))}(t).then((e=>{!function(t,e,r=t){let l=function(t){let e=t.dataset.language||s[t.getAttribute("type")];return e||(e=a.getConfig().defaultLanguage),e}(r),d=function(t,e){let r={};try{r="msgenny"===e?o.parse(t):"json"===e?JSON.parse(t):n.parse(t)}catch(t){return t}return r}(e,l);var g;d.entities?function(t,e,r){let n=document.getElementById(e);n.innerHTML="",!0===a.getConfig().clickable&&(n.append(function(t,e,r){let n=document.createElement("a");return n.setAttribute("href",a.getConfig().clickURL+u.toLocationString({pathname:"index.html"},t,e)),n.setAttribute("id",`${r}link`),n.setAttribute("style","text-decoration: none;"),n.setAttribute("title","click to edit in the mscgen_js interpreter"),n}(r.source,r.language,e)),e+="link"),i.clean(e,window),i.render(t,window,e,{source:r.source,additionalTemplate:r.namedStyle,mirrorEntitiesOnBottom:r.mirrorEntities,regularArcTextVerticalAlignment:r.regularArcTextVerticalAlignment})}(d,t.id,{source:e,language:l,mirrorEntities:f(r),namedStyle:(g=r,g.dataset.namedStyle||"basic"),regularArcTextVerticalAlignment:h(r)}):t.innerHTML=c.renderError(e,d.location,d.message)}(r,e,t)})).catch((t=>{d(r,t.message)})))}function y(t,e){if(!t.dataset.renderedby)if("SCRIPT"===t.tagName){let r=document.createElement("span");t.after(r),b(t,e,r)}else b(t,e)}function x(){return Math.round(1e9*Math.random())}const v=[...document.querySelectorAll(".mscgen_js"),...[...document.scripts].filter((t=>Boolean(s[t.type]))),...document.querySelectorAll("mscgen")],w=new IntersectionObserver((function(t){t.forEach((t=>{t.isIntersecting&&y(t.target.nextElementSibling,x())}))}),{rootMargin:"100% 0% 100% 0%"});v.forEach((t=>{const e=document.createElement("mscgenjs-marker");t.before(e),w.observe(e)})),window.addEventListener("beforeprint",(()=>{v.forEach((t=>{y(t,x())}))}))})(); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index a2202bf..913732d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "previewseqdiag-vscode", - "version": "0.5.1", - "lockfileVersion": 2, + "version": "0.5.2", + "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "previewseqdiag-vscode", - "version": "0.5.1", + "version": "0.5.2", "license": "GPL-3.0", "dependencies": { "minimist": ">=1.2.6" @@ -25,15 +25,15 @@ "copy-webpack-plugin": "^11.0.0", "eslint": "^8.29.0", "glob": "^8.0.3", - "mermaid": "^10.9.1", + "mermaid": "^11.2.1", "mocha": "^10.2.0", - "mscgenjs": "^7.0.0", - "mscgenjs-inpage": "^4.0.5", + "mscgenjs": "^7.0.2", + "mscgenjs-inpage": "^5.0.1", "rx": "^4.1.0", "ts-loader": "^9.4.2", "typescript": "^4.9.4", "vscode-test": "^1.6.1", - "webpack": "^5.75.0", + "webpack": "^5.94.0", "webpack-cli": "^5.0.1", "write-file-webpack-plugin": "^4.5.1" }, @@ -41,10 +41,71 @@ "vscode": "^1.54.0" } }, + "node_modules/@antfu/install-pkg": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-0.4.1.tgz", + "integrity": "sha512-T7yB5QNG29afhWVkVq7XeIMBa5U/vs9mX69YqayXypPRmYzUmzwnYltplHmPtZ4HPCn+sQKeXW8I47wCbuBOjw==", + "dev": true, + "dependencies": { + "package-manager-detector": "^0.2.0", + "tinyexec": "^0.3.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@antfu/utils": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.10.tgz", + "integrity": "sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/@braintree/sanitize-url": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz", - "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.0.tgz", + "integrity": "sha512-o+UlMLt49RvtCASlOMW0AkHnabN9wR9rwCCherxO0yG4Npy34GkvrAqdXQvrhNs+jh+gkK8gB8Lf05qL/O7KWg==", + "dev": true + }, + "node_modules/@chevrotain/cst-dts-gen": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.0.3.tgz", + "integrity": "sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==", + "dev": true, + "dependencies": { + "@chevrotain/gast": "11.0.3", + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/@chevrotain/gast": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-11.0.3.tgz", + "integrity": "sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==", + "dev": true, + "dependencies": { + "@chevrotain/types": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/@chevrotain/regexp-to-ast": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.0.3.tgz", + "integrity": "sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==", + "dev": true + }, + "node_modules/@chevrotain/types": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-11.0.3.tgz", + "integrity": "sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==", + "dev": true + }, + "node_modules/@chevrotain/utils": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-11.0.3.tgz", + "integrity": "sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==", "dev": true }, "node_modules/@discoveryjs/json-ext": { @@ -111,64 +172,117 @@ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, + "node_modules/@iconify/types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz", + "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==", + "dev": true + }, + "node_modules/@iconify/utils": { + "version": "2.1.33", + "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-2.1.33.tgz", + "integrity": "sha512-jP9h6v/g0BIZx0p7XGJJVtkVnydtbgTgt9mVNcGDYwaa7UhdHdI9dvoq+gKj9sijMSJKxUPEG2JyjsgXjxL7Kw==", + "dev": true, + "dependencies": { + "@antfu/install-pkg": "^0.4.0", + "@antfu/utils": "^0.7.10", + "@iconify/types": "^2.0.0", + "debug": "^4.3.6", + "kolorist": "^1.8.0", + "local-pkg": "^0.5.0", + "mlly": "^1.7.1" + } + }, + "node_modules/@iconify/utils/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@iconify/utils/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "dependencies": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", "dev": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@mermaid-js/parser": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@mermaid-js/parser/-/parser-0.3.0.tgz", + "integrity": "sha512-HsvL6zgE5sUPGgkIDlmAWR1HTNHz2Iy11BAWPTa4Jjabkpguy4Ze2gzfLrg6pdRuBvFwgUYyxiaNqZwrEEXepA==", + "dev": true, + "dependencies": { + "langium": "3.0.0" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -220,58 +334,10 @@ "copy-webpack-plugin": "*" } }, - "node_modules/@types/d3-scale": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.3.tgz", - "integrity": "sha512-PATBiMCpvHJSMtZAMEhc2WyL+hnzarKzI6wAHYjhsonjWJYGq5BXTzQjv4l8m2jO183/4wZ90rKvSeT7o72xNQ==", - "dev": true, - "dependencies": { - "@types/d3-time": "*" - } - }, - "node_modules/@types/d3-scale-chromatic": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", - "integrity": "sha512-dsoJGEIShosKVRBZB0Vo3C8nqSDqVGujJU6tPznsBJxNJNwMF8utmS83nvCBKQYPpjCzaaHcrf66iTRpZosLPw==", - "dev": true - }, - "node_modules/@types/d3-time": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.0.tgz", - "integrity": "sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==", - "dev": true - }, - "node_modules/@types/debug": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", - "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==", - "dev": true, - "dependencies": { - "@types/ms": "*" - } - }, - "node_modules/@types/eslint": { - "version": "8.4.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, "node_modules/@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, "node_modules/@types/glob": { @@ -289,15 +355,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/mdast": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.12.tgz", - "integrity": "sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==", - "dev": true, - "dependencies": { - "@types/unist": "^2" - } - }, "node_modules/@types/minimatch": { "version": "3.0.4", "dev": true, @@ -309,12 +366,6 @@ "integrity": "sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==", "dev": true }, - "node_modules/@types/ms": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", - "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==", - "dev": true - }, "node_modules/@types/node": { "version": "20.5.1", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.1.tgz", @@ -458,12 +509,6 @@ "source-map": "^0.6.1" } }, - "node_modules/@types/unist": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.7.tgz", - "integrity": "sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==", - "dev": true - }, "node_modules/@types/vscode": { "version": "1.55.0", "dev": true, @@ -706,9 +751,9 @@ } }, "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dev": true, "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", @@ -728,9 +773,9 @@ "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", "dev": true }, "node_modules/@webassemblyjs/helper-numbers": { @@ -751,15 +796,15 @@ "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "@webassemblyjs/wasm-gen": "1.12.1" } }, "node_modules/@webassemblyjs/ieee754": { @@ -787,28 +832,28 @@ "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", "@webassemblyjs/leb128": "1.11.6", @@ -816,24 +861,24 @@ } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", @@ -842,12 +887,12 @@ } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" } }, @@ -908,9 +953,9 @@ "dev": true }, "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -919,10 +964,10 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "dev": true, "peerDependencies": { "acorn": "^8" @@ -1124,9 +1169,9 @@ "license": "ISC" }, "node_modules/browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "dev": true, "funding": [ { @@ -1136,13 +1181,17 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" @@ -1193,9 +1242,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001431", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz", - "integrity": "sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==", + "version": "1.0.30001660", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001660.tgz", + "integrity": "sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==", "dev": true, "funding": [ { @@ -1205,6 +1254,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ] }, @@ -1280,14 +1333,30 @@ "node": ">=8" } }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "node_modules/chevrotain": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-11.0.3.tgz", + "integrity": "sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==", "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "dependencies": { + "@chevrotain/cst-dts-gen": "11.0.3", + "@chevrotain/gast": "11.0.3", + "@chevrotain/regexp-to-ast": "11.0.3", + "@chevrotain/types": "11.0.3", + "@chevrotain/utils": "11.0.3", + "lodash-es": "4.17.21" + } + }, + "node_modules/chevrotain-allstar": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/chevrotain-allstar/-/chevrotain-allstar-0.3.1.tgz", + "integrity": "sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==", + "dev": true, + "dependencies": { + "lodash-es": "^4.17.21" + }, + "peerDependencies": { + "chevrotain": "^11.0.0" } }, "node_modules/chokidar": { @@ -1374,6 +1443,12 @@ "dev": true, "license": "MIT" }, + "node_modules/confbox": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", + "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==", + "dev": true + }, "node_modules/copy-webpack-plugin": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", @@ -1488,10 +1563,37 @@ "cytoscape": "^3.2.0" } }, + "node_modules/cytoscape-fcose": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz", + "integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==", + "dev": true, + "dependencies": { + "cose-base": "^2.2.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/cytoscape-fcose/node_modules/cose-base": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-2.2.0.tgz", + "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==", + "dev": true, + "dependencies": { + "layout-base": "^2.0.0" + } + }, + "node_modules/cytoscape-fcose/node_modules/layout-base": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-2.0.1.tgz", + "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==", + "dev": true + }, "node_modules/d3": { - "version": "7.8.5", - "resolved": "https://registry.npmjs.org/d3/-/d3-7.8.5.tgz", - "integrity": "sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz", + "integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==", "dev": true, "dependencies": { "d3-array": "3", @@ -1949,9 +2051,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.9", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz", - "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==", + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", "dev": true }, "node_modules/debug": { @@ -1982,19 +2084,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/decode-named-character-reference": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", - "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", - "dev": true, - "dependencies": { - "character-entities": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/deep-is": { "version": "0.1.3", "dev": true, @@ -2009,15 +2098,6 @@ "robust-predicates": "^3.0.0" } }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/diff": { "version": "5.0.0", "dev": true, @@ -2049,9 +2129,9 @@ } }, "node_modules/dompurify": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.5.tgz", - "integrity": "sha512-F9e6wPGtY+8KNMRAVfxeCOHU0/NPWMSENNq4pQctuXRqqdEPW7q3CrLbR5Nse044WwacyjHGOMlvNsBe1y6z9A==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.6.tgz", + "integrity": "sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ==", "dev": true }, "node_modules/duplexer2": { @@ -2063,15 +2143,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", - "dev": true - }, - "node_modules/elkjs": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/elkjs/-/elkjs-0.9.3.tgz", - "integrity": "sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ==", + "version": "1.5.24", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.24.tgz", + "integrity": "sha512-0x0wLCmpdKFCi9ulhvYZebgcPmHTkFVUfU2wzDykadkslKwT4oAmDTHEKLnlrDsMGZe4B+ksn8quZfZjYsBetA==", "dev": true }, "node_modules/emoji-regex": { @@ -2080,9 +2154,9 @@ "license": "MIT" }, "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -2111,9 +2185,10 @@ "dev": true }, "node_modules/escalade": { - "version": "3.1.1", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -2474,20 +2549,6 @@ "dev": true, "license": "ISC" }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/fstream": { "version": "1.0.12", "dev": true, @@ -2640,9 +2701,10 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.9", - "dev": true, - "license": "ISC" + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true }, "node_modules/grapheme-splitter": { "version": "1.0.4", @@ -2650,6 +2712,12 @@ "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", "dev": true }, + "node_modules/hachure-fill": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/hachure-fill/-/hachure-fill-0.5.2.tgz", + "integrity": "sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==", + "dev": true + }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -3012,9 +3080,9 @@ } }, "node_modules/khroma": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.0.0.tgz", - "integrity": "sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.1.0.tgz", + "integrity": "sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==", "dev": true }, "node_modules/kind-of": { @@ -3025,13 +3093,26 @@ "node": ">=0.10.0" } }, - "node_modules/kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "dev": true + }, + "node_modules/langium": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/langium/-/langium-3.0.0.tgz", + "integrity": "sha512-+Ez9EoiByeoTu/2BXmEaZ06iPNXM6thWJp02KfBO/raSMyCJ4jw7AkWWa+zBCTm0+Tw1Fj9FOxdqSskyN5nAwg==", "dev": true, + "dependencies": { + "chevrotain": "~11.0.3", + "chevrotain-allstar": "~0.3.0", + "vscode-languageserver": "~9.0.1", + "vscode-languageserver-textdocument": "~1.0.11", + "vscode-uri": "~3.0.8" + }, "engines": { - "node": ">=6" + "node": ">=16.0.0" } }, "node_modules/layout-base": { @@ -3065,6 +3146,22 @@ "node": ">=6.11.5" } }, + "node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "dev": true, + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/locate-path": { "version": "6.0.0", "dev": true, @@ -3122,41 +3219,16 @@ "node": ">=10" } }, - "node_modules/mdast-util-from-markdown": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", - "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", - "dev": true, - "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "mdast-util-to-string": "^3.1.0", - "micromark": "^3.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-decode-string": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-stringify-position": "^3.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", - "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", + "node_modules/marked": { + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/marked/-/marked-13.0.3.tgz", + "integrity": "sha512-rqRix3/TWzE9rIoFGIn8JmsVfhiuC8VIQ8IdX5TfzmeBucdY05/0UlzKaw0eVtpcN/OdVFpBk7CjKGo9iHJ/zA==", "dev": true, - "dependencies": { - "@types/mdast": "^3.0.0" + "bin": { + "marked": "bin/marked.js" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 18" } }, "node_modules/merge-stream": { @@ -3174,504 +3246,62 @@ } }, "node_modules/mermaid": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.9.1.tgz", - "integrity": "sha512-Mx45Obds5W1UkW1nv/7dHRsbfMM1aOKA2+Pxs/IGHNonygDHwmng8xTHyS9z4KWVi0rbko8gjiBmuwwXQ7tiNA==", + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.2.1.tgz", + "integrity": "sha512-F8TEaLVVyxTUmvKswVFyOkjPrlJA5h5vNR1f7ZnSWSpqxgEZG1hggtn/QCa7znC28bhlcrNh10qYaIiill7q4A==", "dev": true, "dependencies": { - "@braintree/sanitize-url": "^6.0.1", - "@types/d3-scale": "^4.0.3", - "@types/d3-scale-chromatic": "^3.0.0", - "cytoscape": "^3.28.1", + "@braintree/sanitize-url": "^7.0.1", + "@iconify/utils": "^2.1.32", + "@mermaid-js/parser": "^0.3.0", + "cytoscape": "^3.29.2", "cytoscape-cose-bilkent": "^4.1.0", - "d3": "^7.4.0", + "cytoscape-fcose": "^2.2.0", + "d3": "^7.9.0", "d3-sankey": "^0.12.3", "dagre-d3-es": "7.0.10", - "dayjs": "^1.11.7", - "dompurify": "^3.0.5", - "elkjs": "^0.9.0", + "dayjs": "^1.11.10", + "dompurify": "^3.0.11", "katex": "^0.16.9", - "khroma": "^2.0.0", + "khroma": "^2.1.0", "lodash-es": "^4.17.21", - "mdast-util-from-markdown": "^1.3.0", - "non-layered-tidy-tree-layout": "^2.0.2", - "stylis": "^4.1.3", + "marked": "^13.0.2", + "roughjs": "^4.6.6", + "stylis": "^4.3.1", "ts-dedent": "^2.2.0", - "uuid": "^9.0.0", - "web-worker": "^1.2.0" + "uuid": "^9.0.1" } }, - "node_modules/micromark": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz", - "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "micromark-core-commonmark": "^1.0.1", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-core-commonmark": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz", - "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-factory-destination": "^1.0.0", - "micromark-factory-label": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-factory-title": "^1.0.0", - "micromark-factory-whitespace": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-html-tag-name": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-factory-destination": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", - "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==", + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" } }, - "node_modules/micromark-factory-label": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz", - "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==", + "node_modules/mime-db": { + "version": "1.47.0", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "node_modules/micromark-factory-space": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", - "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", + "node_modules/mime-types": { + "version": "2.1.30", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "license": "MIT", "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-factory-title": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz", - "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-factory-whitespace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz", - "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-character": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", - "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-chunked": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz", - "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-classify-character": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz", - "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-combine-extensions": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz", - "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz", - "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-decode-string": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz", - "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", - "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-util-html-tag-name": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", - "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-util-normalize-identifier": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz", - "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-resolve-all": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz", - "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-sanitize-uri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz", - "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-subtokenize": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz", - "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-util-symbol": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", - "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-util-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", - "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromatch": { - "version": "4.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime-db": { - "version": "1.47.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.30", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.47.0" - }, - "engines": { - "node": ">= 0.6" + "mime-db": "1.47.0" + }, + "engines": { + "node": ">= 0.6" } }, "node_modules/minimatch": { @@ -3701,6 +3331,18 @@ "mkdirp": "bin/cmd.js" } }, + "node_modules/mlly": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.1.tgz", + "integrity": "sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==", + "dev": true, + "dependencies": { + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.1.1", + "ufo": "^1.5.3" + } + }, "node_modules/mocha": { "version": "10.2.0", "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", @@ -3841,54 +3483,27 @@ "node": "*" } }, - "node_modules/mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/ms": { "version": "2.1.2", "dev": true, "license": "MIT" }, "node_modules/mscgenjs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/mscgenjs/-/mscgenjs-7.0.0.tgz", - "integrity": "sha512-KPlxwQSRmwZAEyhg1wsl/TQwPA+oicfTl/UMqYgOUR00xqwE3YeX60Rr+jw95a++i5eFuWRsjFpqeZdOprctwg==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/mscgenjs/-/mscgenjs-7.0.2.tgz", + "integrity": "sha512-BP8uyoe6TUE51ipj0UK/N3AMWMEXdE8XZxfdw9aBwwuxNfFuZA56sx0Uw8Zof9+RDoUlFwSMRDfZSb4ijffMjA==", "dev": true, - "dependencies": { - "lodash": "4.17.21" - }, "engines": { "node": "^18||>=20" } }, "node_modules/mscgenjs-inpage": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/mscgenjs-inpage/-/mscgenjs-inpage-4.0.5.tgz", - "integrity": "sha512-4WV7ukU/NIZ06rA/nNfxsr48Cs4NBUwf7CwXRXkHqklSbJpU9IMAprbgo6oUoAj8dmi4bfLJl8LxIQjd0/SPCg==", - "dev": true, - "dependencies": { - "mscgenjs": "6.0.2" - }, - "engines": { - "node": "^12||^14||>=16" - } - }, - "node_modules/mscgenjs-inpage/node_modules/mscgenjs": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/mscgenjs/-/mscgenjs-6.0.2.tgz", - "integrity": "sha512-33HHyMwfQzVGQ768F+Mx93yYSJ4wJqeT+iBxHLNcCeD5rXcmdxwcmffJK3NwoZlZ6qoVs6qFqJ+BF3LZxvetPQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mscgenjs-inpage/-/mscgenjs-inpage-5.0.1.tgz", + "integrity": "sha512-4LspD5gyAVieB0ioZDqvQ2Nm+EZTCdSALjISSNjZpIh63K8CREeL0dH/hHCyJ3LrXe/WDAjtNKFlZoNnKGhupQ==", "dev": true, - "dependencies": { - "lodash": "4.17.21" - }, "engines": { - "node": "^12||^14||>=16" + "node": "^18.20||^20.15||>=22.4" } }, "node_modules/nanoid": { @@ -3920,15 +3535,9 @@ "license": "MIT" }, "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": true - }, - "node_modules/non-layered-tidy-tree-layout": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz", - "integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", "dev": true }, "node_modules/normalize-path": { @@ -3999,6 +3608,12 @@ "node": ">=6" } }, + "node_modules/package-manager-detector": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-0.2.0.tgz", + "integrity": "sha512-E385OSk9qDcXhcM9LNSe4sdhx8a9mAPrZ4sMLW+tmxl5ZuGtPUcdFu+MPP2jbgiWAZ6Pfe5soGFMd+0Db5Vrog==", + "dev": true + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -4011,6 +3626,12 @@ "node": ">=6" } }, + "node_modules/path-data-parser": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/path-data-parser/-/path-data-parser-0.1.0.tgz", + "integrity": "sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==", + "dev": true + }, "node_modules/path-exists": { "version": "4.0.0", "dev": true, @@ -4050,10 +3671,16 @@ "node": ">=8" } }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true + }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", "dev": true }, "node_modules/picomatch": { @@ -4126,6 +3753,33 @@ "node": ">=8" } }, + "node_modules/pkg-types": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.2.0.tgz", + "integrity": "sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==", + "dev": true, + "dependencies": { + "confbox": "^0.1.7", + "mlly": "^1.7.1", + "pathe": "^1.1.2" + } + }, + "node_modules/points-on-curve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/points-on-curve/-/points-on-curve-0.2.0.tgz", + "integrity": "sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==", + "dev": true + }, + "node_modules/points-on-path": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/points-on-path/-/points-on-path-0.2.1.tgz", + "integrity": "sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==", + "dev": true, + "dependencies": { + "path-data-parser": "0.1.0", + "points-on-curve": "0.2.0" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "dev": true, @@ -4339,6 +3993,18 @@ "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==", "dev": true }, + "node_modules/roughjs": { + "version": "4.6.6", + "resolved": "https://registry.npmjs.org/roughjs/-/roughjs-4.6.6.tgz", + "integrity": "sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==", + "dev": true, + "dependencies": { + "hachure-fill": "^0.5.2", + "path-data-parser": "^0.1.0", + "points-on-curve": "^0.2.0", + "points-on-path": "^0.2.1" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -4373,18 +4039,6 @@ "dev": true, "license": "Apache-2.0" }, - "node_modules/sade": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", - "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", - "dev": true, - "dependencies": { - "mri": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/safe-buffer": { "version": "5.2.1", "dev": true, @@ -4599,9 +4253,9 @@ } }, "node_modules/stylis": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", - "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.4.tgz", + "integrity": "sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now==", "dev": true }, "node_modules/supports-color": { @@ -4637,9 +4291,9 @@ } }, "node_modules/terser": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", - "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", + "version": "5.32.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.32.0.tgz", + "integrity": "sha512-v3Gtw3IzpBJ0ugkxEX8U0W6+TnPKRRCWGh1jC/iM/e3Ki5+qvO1L1EAZ56bZasc64aXHwRHNIQEzm6//i5cemQ==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -4655,16 +4309,16 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" + "terser": "^5.26.0" }, "engines": { "node": ">= 10.13.0" @@ -4707,9 +4361,9 @@ } }, "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "dependencies": { "randombytes": "^2.1.0" @@ -4720,6 +4374,12 @@ "dev": true, "license": "MIT" }, + "node_modules/tinyexec": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.0.tgz", + "integrity": "sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==", + "dev": true + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -4821,18 +4481,11 @@ "node": ">=4.2.0" } }, - "node_modules/unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "node_modules/ufo": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz", + "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==", + "dev": true }, "node_modules/unzipper": { "version": "0.10.11", @@ -4852,9 +4505,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "dev": true, "funding": [ { @@ -4864,14 +4517,18 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" }, "bin": { - "browserslist-lint": "cli.js" + "update-browserslist-db": "cli.js" }, "peerDependencies": { "browserslist": ">= 4.21.0" @@ -4891,32 +4548,61 @@ "license": "MIT" }, "node_modules/uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], "bin": { "uuid": "dist/bin/uuid" } }, - "node_modules/uvu": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", - "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", + "node_modules/vscode-jsonrpc": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", + "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageserver": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz", + "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==", "dev": true, "dependencies": { - "dequal": "^2.0.0", - "diff": "^5.0.0", - "kleur": "^4.0.3", - "sade": "^1.7.3" + "vscode-languageserver-protocol": "3.17.5" }, "bin": { - "uvu": "bin.js" - }, - "engines": { - "node": ">=8" + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", + "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "dev": true, + "dependencies": { + "vscode-jsonrpc": "8.2.0", + "vscode-languageserver-types": "3.17.5" } }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz", + "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==", + "dev": true + }, + "node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==", + "dev": true + }, "node_modules/vscode-test": { "version": "1.6.1", "dev": true, @@ -4931,10 +4617,16 @@ "node": ">=8.9.3" } }, + "node_modules/vscode-uri": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", + "dev": true + }, "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -4944,41 +4636,34 @@ "node": ">=10.13.0" } }, - "node_modules/web-worker": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz", - "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==", - "dev": true - }, "node_modules/webpack": { - "version": "5.88.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", - "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", + "version": "5.94.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", "dev": true, "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", + "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "bin": { @@ -5290,3625 +4975,5 @@ "url": "https://github.com/sponsors/sindresorhus" } } - }, - "dependencies": { - "@braintree/sanitize-url": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz", - "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==", - "dev": true - }, - "@discoveryjs/json-ext": { - "version": "0.5.2", - "dev": true - }, - "@eslint/eslintrc": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", - "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.4.0", - "globals": "^13.15.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - } - }, - "@humanwhocodes/config-array": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", - "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true - }, - "@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@tootallnate/once": { - "version": "1.1.2", - "dev": true - }, - "@types/copy-webpack-plugin": { - "version": "10.1.0", - "dev": true, - "requires": { - "copy-webpack-plugin": "*" - } - }, - "@types/d3-scale": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.3.tgz", - "integrity": "sha512-PATBiMCpvHJSMtZAMEhc2WyL+hnzarKzI6wAHYjhsonjWJYGq5BXTzQjv4l8m2jO183/4wZ90rKvSeT7o72xNQ==", - "dev": true, - "requires": { - "@types/d3-time": "*" - } - }, - "@types/d3-scale-chromatic": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", - "integrity": "sha512-dsoJGEIShosKVRBZB0Vo3C8nqSDqVGujJU6tPznsBJxNJNwMF8utmS83nvCBKQYPpjCzaaHcrf66iTRpZosLPw==", - "dev": true - }, - "@types/d3-time": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.0.tgz", - "integrity": "sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==", - "dev": true - }, - "@types/debug": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", - "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==", - "dev": true, - "requires": { - "@types/ms": "*" - } - }, - "@types/eslint": { - "version": "8.4.1", - "dev": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.3", - "dev": true, - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", - "dev": true - }, - "@types/glob": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.0.0.tgz", - "integrity": "sha512-l6NQsDDyQUVeoTynNpC9uRvCUint/gSUXQA2euwmTuWGvPY5LSDUu6tkCtJB2SvGQlJQzLaKqcGZP4//7EDveA==", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/json-schema": { - "version": "7.0.11", - "dev": true - }, - "@types/mdast": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.12.tgz", - "integrity": "sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==", - "dev": true, - "requires": { - "@types/unist": "^2" - } - }, - "@types/minimatch": { - "version": "3.0.4", - "dev": true - }, - "@types/mocha": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.1.tgz", - "integrity": "sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==", - "dev": true - }, - "@types/ms": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", - "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==", - "dev": true - }, - "@types/node": { - "version": "20.5.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.1.tgz", - "integrity": "sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==", - "dev": true - }, - "@types/rx": { - "version": "4.1.2", - "dev": true, - "requires": { - "@types/rx-core": "*", - "@types/rx-core-binding": "*", - "@types/rx-lite": "*", - "@types/rx-lite-aggregates": "*", - "@types/rx-lite-async": "*", - "@types/rx-lite-backpressure": "*", - "@types/rx-lite-coincidence": "*", - "@types/rx-lite-experimental": "*", - "@types/rx-lite-joinpatterns": "*", - "@types/rx-lite-testing": "*", - "@types/rx-lite-time": "*", - "@types/rx-lite-virtualtime": "*" - } - }, - "@types/rx-core": { - "version": "4.0.3", - "dev": true - }, - "@types/rx-core-binding": { - "version": "4.0.4", - "dev": true, - "requires": { - "@types/rx-core": "*" - } - }, - "@types/rx-lite": { - "version": "4.0.6", - "dev": true, - "requires": { - "@types/rx-core": "*", - "@types/rx-core-binding": "*" - } - }, - "@types/rx-lite-aggregates": { - "version": "4.0.3", - "dev": true, - "requires": { - "@types/rx-lite": "*" - } - }, - "@types/rx-lite-async": { - "version": "4.0.2", - "dev": true, - "requires": { - "@types/rx-lite": "*" - } - }, - "@types/rx-lite-backpressure": { - "version": "4.0.3", - "dev": true, - "requires": { - "@types/rx-lite": "*" - } - }, - "@types/rx-lite-coincidence": { - "version": "4.0.3", - "dev": true, - "requires": { - "@types/rx-lite": "*" - } - }, - "@types/rx-lite-experimental": { - "version": "4.0.1", - "dev": true, - "requires": { - "@types/rx-lite": "*" - } - }, - "@types/rx-lite-joinpatterns": { - "version": "4.0.1", - "dev": true, - "requires": { - "@types/rx-lite": "*" - } - }, - "@types/rx-lite-testing": { - "version": "4.0.1", - "dev": true, - "requires": { - "@types/rx-lite-virtualtime": "*" - } - }, - "@types/rx-lite-time": { - "version": "4.0.3", - "dev": true, - "requires": { - "@types/rx-lite": "*" - } - }, - "@types/rx-lite-virtualtime": { - "version": "4.0.3", - "dev": true, - "requires": { - "@types/rx-lite": "*" - } - }, - "@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", - "dev": true - }, - "@types/source-list-map": { - "version": "0.1.2", - "dev": true - }, - "@types/tapable": { - "version": "1.0.8", - "dev": true - }, - "@types/uglify-js": { - "version": "3.13.1", - "dev": true, - "requires": { - "source-map": "^0.6.1" - } - }, - "@types/unist": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.7.tgz", - "integrity": "sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==", - "dev": true - }, - "@types/vscode": { - "version": "1.55.0", - "dev": true - }, - "@types/webpack": { - "version": "5.28.0", - "dev": true, - "requires": { - "@types/node": "*", - "tapable": "^2.2.0", - "webpack": "^5" - } - }, - "@types/webpack-sources": { - "version": "3.2.0", - "dev": true, - "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "dev": true - } - } - }, - "@types/write-file-webpack-plugin": { - "version": "4.5.2", - "dev": true, - "requires": { - "@types/webpack": "^4" - }, - "dependencies": { - "@types/webpack": { - "version": "4.41.32", - "dev": true, - "requires": { - "@types/node": "*", - "@types/tapable": "^1", - "@types/uglify-js": "*", - "@types/webpack-sources": "*", - "anymatch": "^3.0.0", - "source-map": "^0.6.0" - } - } - } - }, - "@typescript-eslint/eslint-plugin": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.46.1.tgz", - "integrity": "sha512-YpzNv3aayRBwjs4J3oz65eVLXc9xx0PDbIRisHj+dYhvBn02MjYOD96P8YGiWEIFBrojaUjxvkaUpakD82phsA==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.46.1", - "@typescript-eslint/type-utils": "5.46.1", - "@typescript-eslint/utils": "5.46.1", - "debug": "^4.3.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "regexpp": "^3.2.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/parser": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.46.1.tgz", - "integrity": "sha512-RelQ5cGypPh4ySAtfIMBzBGyrNerQcmfA1oJvPj5f+H4jI59rl9xxpn4bonC0tQvUKOEN7eGBFWxFLK3Xepneg==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.46.1", - "@typescript-eslint/types": "5.46.1", - "@typescript-eslint/typescript-estree": "5.46.1", - "debug": "^4.3.4" - } - }, - "@typescript-eslint/scope-manager": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.46.1.tgz", - "integrity": "sha512-iOChVivo4jpwUdrJZyXSMrEIM/PvsbbDOX1y3UCKjSgWn+W89skxWaYXACQfxmIGhPVpRWK/VWPYc+bad6smIA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.46.1", - "@typescript-eslint/visitor-keys": "5.46.1" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.46.1.tgz", - "integrity": "sha512-V/zMyfI+jDmL1ADxfDxjZ0EMbtiVqj8LUGPAGyBkXXStWmCUErMpW873zEHsyguWCuq2iN4BrlWUkmuVj84yng==", - "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "5.46.1", - "@typescript-eslint/utils": "5.46.1", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.46.1.tgz", - "integrity": "sha512-Z5pvlCaZgU+93ryiYUwGwLl9AQVB/PQ1TsJ9NZ/gHzZjN7g9IAn6RSDkpCV8hqTwAiaj6fmCcKSQeBPlIpW28w==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.46.1.tgz", - "integrity": "sha512-j9W4t67QiNp90kh5Nbr1w92wzt+toiIsaVPnEblB2Ih2U9fqBTyqV9T3pYWZBRt6QoMh/zVWP59EpuCjc4VRBg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.46.1", - "@typescript-eslint/visitor-keys": "5.46.1", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/utils": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.46.1.tgz", - "integrity": "sha512-RBdBAGv3oEpFojaCYT4Ghn4775pdjvwfDOfQ2P6qzNVgQOVrnSPe5/Pb88kv7xzYQjoio0eKHKB9GJ16ieSxvA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.46.1", - "@typescript-eslint/types": "5.46.1", - "@typescript-eslint/typescript-estree": "5.46.1", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0", - "semver": "^7.3.7" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.46.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.1.tgz", - "integrity": "sha512-jczZ9noovXwy59KjRTk1OftT78pwygdcmCuBf8yMoWt/8O8l+6x2LSEze0E4TeepXK4MezW3zGSyoDRZK7Y9cg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.46.1", - "eslint-visitor-keys": "^3.3.0" - } - }, - "@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "dev": true, - "requires": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", - "dev": true - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "dev": true, - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@webpack-cli/configtest": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.0.1.tgz", - "integrity": "sha512-njsdJXJSiS2iNbQVS0eT8A/KPnmyH4pv1APj2K0d1wrZcBLw+yppxOy4CGqa0OxDJkzfL/XELDhD8rocnIwB5A==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", - "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", - "dev": true, - "requires": {} - }, - "@webpack-cli/serve": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.1.tgz", - "integrity": "sha512-0G7tNyS+yW8TdgHwZKlDWYXFA6OJQnoLCQvYKkQP0Q2X205PSQ6RNUj0M+1OB/9gRQaUZ/ccYfaxd0nhaWKfjw==", - "dev": true, - "requires": {} - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true - }, - "acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "dev": true, - "requires": {} - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "agent-base": { - "version": "6.0.2", - "dev": true, - "requires": { - "debug": "4" - } - }, - "ajv": { - "version": "6.12.6", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-formats": { - "version": "2.1.1", - "dev": true, - "requires": { - "ajv": "^8.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.11.0", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "dev": true - } - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "ansi-colors": { - "version": "4.1.1", - "dev": true - }, - "ansi-regex": { - "version": "5.0.1", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "3.1.2", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "balanced-match": { - "version": "1.0.1", - "dev": true - }, - "big-integer": { - "version": "1.6.51", - "dev": true - }, - "binary": { - "version": "0.3.0", - "dev": true, - "requires": { - "buffers": "~0.1.1", - "chainsaw": "~0.1.0" - } - }, - "binary-extensions": { - "version": "2.2.0", - "dev": true - }, - "bluebird": { - "version": "3.4.7", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "requires": { - "fill-range": "^7.1.1" - } - }, - "browser-stdout": { - "version": "1.3.1", - "dev": true - }, - "browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "buffer-indexof-polyfill": { - "version": "1.0.2", - "dev": true - }, - "buffers": { - "version": "0.1.1", - "dev": true - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "6.2.0", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001431", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz", - "integrity": "sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==", - "dev": true - }, - "chainsaw": { - "version": "0.1.0", - "dev": true, - "requires": { - "traverse": ">=0.3.0 <0.4" - } - }, - "chalk": { - "version": "4.1.0", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "dev": true - }, - "chokidar": { - "version": "3.5.3", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "chrome-trace-event": { - "version": "1.0.2", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "cliui": { - "version": "7.0.4", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "clone-deep": { - "version": "4.0.1", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "dev": true - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "dev": true - }, - "copy-webpack-plugin": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", - "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", - "dev": true, - "requires": { - "fast-glob": "^3.2.11", - "glob-parent": "^6.0.1", - "globby": "^13.1.1", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" - }, - "dependencies": { - "glob-parent": { - "version": "6.0.2", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "globby": { - "version": "13.1.3", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.3.tgz", - "integrity": "sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==", - "dev": true, - "requires": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.11", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^4.0.0" - } - }, - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true - } - } - }, - "core-util-is": { - "version": "1.0.2", - "dev": true - }, - "cose-base": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-1.0.3.tgz", - "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==", - "dev": true, - "requires": { - "layout-base": "^1.0.0" - } - }, - "cross-spawn": { - "version": "7.0.3", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "cytoscape": { - "version": "3.30.0", - "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.30.0.tgz", - "integrity": "sha512-l590mjTHT6/Cbxp13dGPC2Y7VXdgc+rUeF8AnF/JPzhjNevbDJfObnJgaSjlldOgBQZbue+X6IUZ7r5GAgvauQ==", - "dev": true - }, - "cytoscape-cose-bilkent": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz", - "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==", - "dev": true, - "requires": { - "cose-base": "^1.0.0" - } - }, - "d3": { - "version": "7.8.5", - "resolved": "https://registry.npmjs.org/d3/-/d3-7.8.5.tgz", - "integrity": "sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==", - "dev": true, - "requires": { - "d3-array": "3", - "d3-axis": "3", - "d3-brush": "3", - "d3-chord": "3", - "d3-color": "3", - "d3-contour": "4", - "d3-delaunay": "6", - "d3-dispatch": "3", - "d3-drag": "3", - "d3-dsv": "3", - "d3-ease": "3", - "d3-fetch": "3", - "d3-force": "3", - "d3-format": "3", - "d3-geo": "3", - "d3-hierarchy": "3", - "d3-interpolate": "3", - "d3-path": "3", - "d3-polygon": "3", - "d3-quadtree": "3", - "d3-random": "3", - "d3-scale": "4", - "d3-scale-chromatic": "3", - "d3-selection": "3", - "d3-shape": "3", - "d3-time": "3", - "d3-time-format": "4", - "d3-timer": "3", - "d3-transition": "3", - "d3-zoom": "3" - } - }, - "d3-array": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", - "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", - "dev": true, - "requires": { - "internmap": "1 - 2" - } - }, - "d3-axis": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", - "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", - "dev": true - }, - "d3-brush": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", - "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", - "dev": true, - "requires": { - "d3-dispatch": "1 - 3", - "d3-drag": "2 - 3", - "d3-interpolate": "1 - 3", - "d3-selection": "3", - "d3-transition": "3" - } - }, - "d3-chord": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", - "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", - "dev": true, - "requires": { - "d3-path": "1 - 3" - } - }, - "d3-color": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", - "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", - "dev": true - }, - "d3-contour": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", - "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", - "dev": true, - "requires": { - "d3-array": "^3.2.0" - } - }, - "d3-delaunay": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", - "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", - "dev": true, - "requires": { - "delaunator": "5" - } - }, - "d3-dispatch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", - "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", - "dev": true - }, - "d3-drag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", - "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", - "dev": true, - "requires": { - "d3-dispatch": "1 - 3", - "d3-selection": "3" - } - }, - "d3-dsv": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", - "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", - "dev": true, - "requires": { - "commander": "7", - "iconv-lite": "0.6", - "rw": "1" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true - } - } - }, - "d3-ease": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", - "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", - "dev": true - }, - "d3-fetch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", - "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", - "dev": true, - "requires": { - "d3-dsv": "1 - 3" - } - }, - "d3-force": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", - "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", - "dev": true, - "requires": { - "d3-dispatch": "1 - 3", - "d3-quadtree": "1 - 3", - "d3-timer": "1 - 3" - } - }, - "d3-format": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", - "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", - "dev": true - }, - "d3-geo": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.0.tgz", - "integrity": "sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==", - "dev": true, - "requires": { - "d3-array": "2.5.0 - 3" - } - }, - "d3-hierarchy": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", - "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", - "dev": true - }, - "d3-interpolate": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", - "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", - "dev": true, - "requires": { - "d3-color": "1 - 3" - } - }, - "d3-path": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", - "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", - "dev": true - }, - "d3-polygon": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", - "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", - "dev": true - }, - "d3-quadtree": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", - "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", - "dev": true - }, - "d3-random": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", - "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", - "dev": true - }, - "d3-sankey": { - "version": "0.12.3", - "resolved": "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.12.3.tgz", - "integrity": "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==", - "dev": true, - "requires": { - "d3-array": "1 - 2", - "d3-shape": "^1.2.0" - }, - "dependencies": { - "d3-array": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", - "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", - "dev": true, - "requires": { - "internmap": "^1.0.0" - } - }, - "d3-path": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", - "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", - "dev": true - }, - "d3-shape": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", - "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", - "dev": true, - "requires": { - "d3-path": "1" - } - }, - "internmap": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", - "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==", - "dev": true - } - } - }, - "d3-scale": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", - "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", - "dev": true, - "requires": { - "d3-array": "2.10.0 - 3", - "d3-format": "1 - 3", - "d3-interpolate": "1.2.0 - 3", - "d3-time": "2.1.1 - 3", - "d3-time-format": "2 - 4" - } - }, - "d3-scale-chromatic": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", - "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==", - "dev": true, - "requires": { - "d3-color": "1 - 3", - "d3-interpolate": "1 - 3" - } - }, - "d3-selection": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", - "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", - "dev": true - }, - "d3-shape": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", - "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", - "dev": true, - "requires": { - "d3-path": "^3.1.0" - } - }, - "d3-time": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", - "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", - "dev": true, - "requires": { - "d3-array": "2 - 3" - } - }, - "d3-time-format": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", - "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", - "dev": true, - "requires": { - "d3-time": "1 - 3" - } - }, - "d3-timer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", - "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", - "dev": true - }, - "d3-transition": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", - "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", - "dev": true, - "requires": { - "d3-color": "1 - 3", - "d3-dispatch": "1 - 3", - "d3-ease": "1 - 3", - "d3-interpolate": "1 - 3", - "d3-timer": "1 - 3" - } - }, - "d3-zoom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", - "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", - "dev": true, - "requires": { - "d3-dispatch": "1 - 3", - "d3-drag": "2 - 3", - "d3-interpolate": "1 - 3", - "d3-selection": "2 - 3", - "d3-transition": "2 - 3" - } - }, - "dagre-d3-es": { - "version": "7.0.10", - "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.10.tgz", - "integrity": "sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==", - "dev": true, - "requires": { - "d3": "^7.8.2", - "lodash-es": "^4.17.21" - } - }, - "dayjs": { - "version": "1.11.9", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz", - "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==", - "dev": true - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "decamelize": { - "version": "4.0.0", - "dev": true - }, - "decode-named-character-reference": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", - "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", - "dev": true, - "requires": { - "character-entities": "^2.0.0" - } - }, - "deep-is": { - "version": "0.1.3", - "dev": true - }, - "delaunator": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz", - "integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==", - "dev": true, - "requires": { - "robust-predicates": "^3.0.0" - } - }, - "dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true - }, - "diff": { - "version": "5.0.0", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dompurify": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.5.tgz", - "integrity": "sha512-F9e6wPGtY+8KNMRAVfxeCOHU0/NPWMSENNq4pQctuXRqqdEPW7q3CrLbR5Nse044WwacyjHGOMlvNsBe1y6z9A==", - "dev": true - }, - "duplexer2": { - "version": "0.1.4", - "dev": true, - "requires": { - "readable-stream": "^2.0.2" - } - }, - "electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", - "dev": true - }, - "elkjs": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/elkjs/-/elkjs-0.9.3.tgz", - "integrity": "sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "dev": true - }, - "enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "dev": true - }, - "es-module-lexer": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", - "dev": true - }, - "escalade": { - "version": "3.1.1", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "dev": true - }, - "eslint": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.29.0.tgz", - "integrity": "sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg==", - "dev": true, - "requires": { - "@eslint/eslintrc": "^1.3.3", - "@humanwhocodes/config-array": "^0.11.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.15.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - } - } - }, - "eslint-scope": { - "version": "5.1.1", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^2.0.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - } - } - }, - "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true - }, - "espree": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", - "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", - "dev": true, - "requires": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" - } - }, - "esquery": { - "version": "1.4.0", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "dev": true - } - } - }, - "esrecurse": { - "version": "4.3.0", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "dev": true - }, - "events": { - "version": "3.3.0", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "dev": true - }, - "fast-glob": { - "version": "3.2.11", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "dev": true - }, - "fastest-levenshtein": { - "version": "1.0.12", - "dev": true - }, - "fastq": { - "version": "1.11.0", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "filesize": { - "version": "3.6.1", - "dev": true - }, - "fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "5.0.0", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat": { - "version": "5.0.2", - "dev": true - }, - "flat-cache": { - "version": "3.0.4", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.1.1", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "dev": true - }, - "fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "optional": true - }, - "fstream": { - "version": "1.0.12", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "rimraf": { - "version": "2.7.1", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "dev": true - }, - "glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", - "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "glob-parent": { - "version": "5.1.2", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "globals": { - "version": "13.19.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", - "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "graceful-fs": { - "version": "4.2.9", - "dev": true - }, - "grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "3.0.0", - "dev": true - }, - "he": { - "version": "1.2.0", - "dev": true - }, - "http-proxy-agent": { - "version": "4.0.1", - "dev": true, - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - } - }, - "https-proxy-agent": { - "version": "5.0.0", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "ignore": { - "version": "5.2.0", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-local": { - "version": "3.0.2", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "dev": true - }, - "internmap": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", - "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", - "dev": true - }, - "interpret": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", - "dev": true - }, - "is-binary-path": { - "version": "2.1.0", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-extglob": { - "version": "2.1.1", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-plain-obj": { - "version": "2.1.0", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-unicode-supported": { - "version": "0.1.0", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "dev": true - }, - "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "js-sdsl": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", - "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "dev": true - }, - "katex": { - "version": "0.16.11", - "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.11.tgz", - "integrity": "sha512-RQrI8rlHY92OLf3rho/Ts8i/XvjgguEjOkO1BEXcU3N8BqPpSzBNwV/G0Ukr+P/l3ivvJUE/Fa/CwbS6HesGNQ==", - "dev": true, - "requires": { - "commander": "^8.3.0" - }, - "dependencies": { - "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true - } - } - }, - "khroma": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.0.0.tgz", - "integrity": "sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==", - "dev": true - }, - "kind-of": { - "version": "6.0.3", - "dev": true - }, - "kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", - "dev": true - }, - "layout-base": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz", - "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==", - "dev": true - }, - "levn": { - "version": "0.4.1", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "listenercount": { - "version": "1.0.1", - "dev": true - }, - "loader-runner": { - "version": "4.2.0", - "dev": true - }, - "locate-path": { - "version": "6.0.0", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "dev": true - }, - "lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", - "dev": true - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "log-symbols": { - "version": "4.1.0", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - } - }, - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "mdast-util-from-markdown": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", - "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", - "dev": true, - "requires": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "mdast-util-to-string": "^3.1.0", - "micromark": "^3.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-decode-string": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-stringify-position": "^3.0.0", - "uvu": "^0.5.0" - } - }, - "mdast-util-to-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", - "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", - "dev": true, - "requires": { - "@types/mdast": "^3.0.0" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "dev": true - }, - "mermaid": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.9.1.tgz", - "integrity": "sha512-Mx45Obds5W1UkW1nv/7dHRsbfMM1aOKA2+Pxs/IGHNonygDHwmng8xTHyS9z4KWVi0rbko8gjiBmuwwXQ7tiNA==", - "dev": true, - "requires": { - "@braintree/sanitize-url": "^6.0.1", - "@types/d3-scale": "^4.0.3", - "@types/d3-scale-chromatic": "^3.0.0", - "cytoscape": "^3.28.1", - "cytoscape-cose-bilkent": "^4.1.0", - "d3": "^7.4.0", - "d3-sankey": "^0.12.3", - "dagre-d3-es": "7.0.10", - "dayjs": "^1.11.7", - "dompurify": "^3.0.5", - "elkjs": "^0.9.0", - "katex": "^0.16.9", - "khroma": "^2.0.0", - "lodash-es": "^4.17.21", - "mdast-util-from-markdown": "^1.3.0", - "non-layered-tidy-tree-layout": "^2.0.2", - "stylis": "^4.1.3", - "ts-dedent": "^2.2.0", - "uuid": "^9.0.0", - "web-worker": "^1.2.0" - } - }, - "micromark": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz", - "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==", - "dev": true, - "requires": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "micromark-core-commonmark": "^1.0.1", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "micromark-core-commonmark": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz", - "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==", - "dev": true, - "requires": { - "decode-named-character-reference": "^1.0.0", - "micromark-factory-destination": "^1.0.0", - "micromark-factory-label": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-factory-title": "^1.0.0", - "micromark-factory-whitespace": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-html-tag-name": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "micromark-factory-destination": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", - "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==", - "dev": true, - "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-factory-label": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz", - "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==", - "dev": true, - "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "micromark-factory-space": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", - "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", - "dev": true, - "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-factory-title": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz", - "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==", - "dev": true, - "requires": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-factory-whitespace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz", - "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==", - "dev": true, - "requires": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-util-character": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", - "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", - "dev": true, - "requires": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-util-chunked": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz", - "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==", - "dev": true, - "requires": { - "micromark-util-symbol": "^1.0.0" - } - }, - "micromark-util-classify-character": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz", - "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==", - "dev": true, - "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-util-combine-extensions": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz", - "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==", - "dev": true, - "requires": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-util-decode-numeric-character-reference": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz", - "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==", - "dev": true, - "requires": { - "micromark-util-symbol": "^1.0.0" - } - }, - "micromark-util-decode-string": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz", - "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==", - "dev": true, - "requires": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-symbol": "^1.0.0" - } - }, - "micromark-util-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", - "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==", - "dev": true - }, - "micromark-util-html-tag-name": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", - "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==", - "dev": true - }, - "micromark-util-normalize-identifier": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz", - "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==", - "dev": true, - "requires": { - "micromark-util-symbol": "^1.0.0" - } - }, - "micromark-util-resolve-all": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz", - "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==", - "dev": true, - "requires": { - "micromark-util-types": "^1.0.0" - } - }, - "micromark-util-sanitize-uri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz", - "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==", - "dev": true, - "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-symbol": "^1.0.0" - } - }, - "micromark-util-subtokenize": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz", - "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==", - "dev": true, - "requires": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "micromark-util-symbol": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", - "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", - "dev": true - }, - "micromark-util-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", - "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime-db": { - "version": "1.47.0", - "dev": true - }, - "mime-types": { - "version": "2.1.30", - "dev": true, - "requires": { - "mime-db": "1.47.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.6" - }, - "mkdirp": { - "version": "0.5.5", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", - "dev": true, - "requires": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "4.0.0", - "dev": true - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - } - } - }, - "ms": { - "version": "2.1.3", - "dev": true - }, - "supports-color": { - "version": "8.1.1", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "moment": { - "version": "2.29.4", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", - "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", - "dev": true - }, - "mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "dev": true - }, - "mscgenjs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/mscgenjs/-/mscgenjs-7.0.0.tgz", - "integrity": "sha512-KPlxwQSRmwZAEyhg1wsl/TQwPA+oicfTl/UMqYgOUR00xqwE3YeX60Rr+jw95a++i5eFuWRsjFpqeZdOprctwg==", - "dev": true, - "requires": { - "lodash": "4.17.21" - } - }, - "mscgenjs-inpage": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/mscgenjs-inpage/-/mscgenjs-inpage-4.0.5.tgz", - "integrity": "sha512-4WV7ukU/NIZ06rA/nNfxsr48Cs4NBUwf7CwXRXkHqklSbJpU9IMAprbgo6oUoAj8dmi4bfLJl8LxIQjd0/SPCg==", - "dev": true, - "requires": { - "mscgenjs": "6.0.2" - }, - "dependencies": { - "mscgenjs": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/mscgenjs/-/mscgenjs-6.0.2.tgz", - "integrity": "sha512-33HHyMwfQzVGQ768F+Mx93yYSJ4wJqeT+iBxHLNcCeD5rXcmdxwcmffJK3NwoZlZ6qoVs6qFqJ+BF3LZxvetPQ==", - "dev": true, - "requires": { - "lodash": "4.17.21" - } - } - } - }, - "nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "dev": true - }, - "natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, - "neo-async": { - "version": "2.6.2", - "dev": true - }, - "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": true - }, - "non-layered-tidy-tree-layout": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz", - "integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "dev": true - }, - "once": { - "version": "1.4.0", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "optionator": { - "version": "0.9.1", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "p-limit": { - "version": "3.1.0", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "p-try": { - "version": "2.2.0", - "dev": true - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "path-exists": { - "version": "4.0.0", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "dev": true, - "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "prelude-ls": { - "version": "1.2.1", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "dev": true - }, - "punycode": { - "version": "2.1.1", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "readable-stream": { - "version": "2.3.7", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "dev": true - } - } - }, - "readdirp": { - "version": "3.6.0", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "rechoir": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", - "dev": true, - "requires": { - "resolve": "^1.20.0" - } - }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, - "require-directory": { - "version": "2.1.1", - "dev": true - }, - "require-from-string": { - "version": "2.0.2", - "dev": true - }, - "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "dev": true - } - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "dev": true, - "requires": { - "glob": "^7.1.3" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "robust-predicates": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", - "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==", - "dev": true - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "rw": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", - "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", - "dev": true - }, - "rx": { - "version": "4.1.0", - "dev": true - }, - "sade": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", - "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", - "dev": true, - "requires": { - "mri": "^1.1.0" - } - }, - "safe-buffer": { - "version": "5.2.1", - "dev": true - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "schema-utils": { - "version": "4.0.0", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.11.0", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "dev": true - } - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "serialize-javascript": { - "version": "6.0.0", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "setimmediate": { - "version": "1.0.5", - "dev": true - }, - "shallow-clone": { - "version": "3.0.1", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "shebang-command": { - "version": "2.0.0", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "dev": true - }, - "signal-exit": { - "version": "3.0.3", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "dev": true - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "dev": true - } - } - }, - "string-width": { - "version": "4.2.2", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "dev": true - }, - "stylis": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", - "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true - }, - "terser": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", - "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", - "dev": true, - "requires": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - } - }, - "terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" - }, - "dependencies": { - "schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - } - } - }, - "text-table": { - "version": "0.2.0", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "traverse": { - "version": "0.3.9", - "dev": true - }, - "ts-dedent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", - "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", - "dev": true - }, - "ts-loader": { - "version": "9.4.2", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.2.tgz", - "integrity": "sha512-OmlC4WVmFv5I0PpaxYb+qGeGOdm5giHU7HwDDUjw59emP2UYMHy9fFSDcYgSNoH8sXcj4hGCSEhlDZ9ULeDraA==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - } - }, - "tslib": { - "version": "1.14.1", - "dev": true - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - }, - "type-check": { - "version": "0.4.0", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - }, - "typescript": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", - "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", - "dev": true - }, - "unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0" - } - }, - "unzipper": { - "version": "0.10.11", - "dev": true, - "requires": { - "big-integer": "^1.6.17", - "binary": "~0.3.0", - "bluebird": "~3.4.1", - "buffer-indexof-polyfill": "~1.0.0", - "duplexer2": "~0.1.4", - "fstream": "^1.0.12", - "graceful-fs": "^4.2.2", - "listenercount": "~1.0.1", - "readable-stream": "~2.3.6", - "setimmediate": "~1.0.4" - } - }, - "update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uri-js": { - "version": "4.4.1", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "dev": true - }, - "uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", - "dev": true - }, - "uvu": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", - "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", - "dev": true, - "requires": { - "dequal": "^2.0.0", - "diff": "^5.0.0", - "kleur": "^4.0.3", - "sade": "^1.7.3" - } - }, - "vscode-test": { - "version": "1.6.1", - "dev": true, - "requires": { - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "rimraf": "^3.0.2", - "unzipper": "^0.10.11" - } - }, - "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "web-worker": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz", - "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==", - "dev": true - }, - "webpack": { - "version": "5.88.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", - "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", - "dev": true, - "requires": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "dependencies": { - "schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "webpack-cli": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.0.1.tgz", - "integrity": "sha512-S3KVAyfwUqr0Mo/ur3NzIp6jnerNpo7GUO6so51mxLi1spqsA17YcMXy0WOIJtBSnj748lthxC6XLbNKh/ZC+A==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^2.0.1", - "@webpack-cli/info": "^2.0.1", - "@webpack-cli/serve": "^2.0.1", - "colorette": "^2.0.14", - "commander": "^9.4.1", - "cross-spawn": "^7.0.3", - "envinfo": "^7.7.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^5.7.3" - }, - "dependencies": { - "colorette": { - "version": "2.0.16", - "dev": true - }, - "commander": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", - "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", - "dev": true - } - } - }, - "webpack-merge": { - "version": "5.7.3", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - } - }, - "webpack-sources": { - "version": "3.2.3", - "dev": true - }, - "which": { - "version": "2.0.2", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wildcard": { - "version": "2.0.0", - "dev": true - }, - "word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true - }, - "workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - } - } - }, - "wrappy": { - "version": "1.0.2", - "dev": true - }, - "write-file-atomic": { - "version": "2.4.3", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "write-file-webpack-plugin": { - "version": "4.5.1", - "dev": true, - "requires": { - "chalk": "^2.4.0", - "debug": "^3.1.0", - "filesize": "^3.6.1", - "lodash": "^4.17.13", - "mkdirp": "^0.5.1", - "moment": "^2.22.1", - "write-file-atomic": "^2.3.0" - }, - "dependencies": { - "chalk": { - "version": "2.4.2", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "debug": { - "version": "3.2.7", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "y18n": { - "version": "5.0.6", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.4", - "dev": true - }, - "yargs-unparser": { - "version": "2.0.0", - "dev": true, - "requires": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - } - }, - "yocto-queue": { - "version": "0.1.0", - "dev": true - } } } diff --git a/package.json b/package.json index 191d73c..f52572d 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "previewseqdiag-vscode", "displayName": "Preview Sequence Diagrams", "description": "An extension for the previewing and saving as PNG/JPG/SVG function of mermaid, mscgen and other", - "version": "0.5.1", + "version": "0.5.2", "publisher": "arichika", "author": "arichika.taniguchi @arichika", "license": "GPL-3.0", @@ -174,15 +174,15 @@ "vscode-test": "^1.6.1", "ts-loader": "^9.4.2", "@types/webpack": "^5.28.0", - "webpack": "^5.75.0", + "webpack": "^5.94.0", "webpack-cli": "^5.0.1", "@types/copy-webpack-plugin": "^10.1.0", "copy-webpack-plugin": "^11.0.0", "@types/write-file-webpack-plugin": "^4.5.2", "write-file-webpack-plugin": "^4.5.1", - "mermaid": "^10.9.1", - "mscgenjs": "^7.0.0", - "mscgenjs-inpage": "^4.0.5", + "mermaid": "^11.2.1", + "mscgenjs": "^7.0.2", + "mscgenjs-inpage": "^5.0.1", "rx": "^4.1.0" }, "dependencies": { diff --git a/previewseqdiag-vscode-0.5.2.vsix b/previewseqdiag-vscode-0.5.2.vsix new file mode 100644 index 0000000..9bc14b7 Binary files /dev/null and b/previewseqdiag-vscode-0.5.2.vsix differ