wiki/e-compliance/ims/cockpit/IMS-Cockpit.html

2266 lines
3.7 MiB
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>PowerOn IMS - Management Cockpit</title>
<style>
:root{
--bg:#0f1729; --panel:#16213a; --panel2:#1d2a48; --line:#2a3a5e;
--text:#e7edf7; --muted:#93a3c0; --accent:#4f8cff; --accent2:#6ee7b7;
--green:#34d399; --amber:#fbbf24; --red:#f87171; --grey:#8aa0c0;
}
*{box-sizing:border-box}
body{margin:0;font-family:'Segoe UI',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.55}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.app{display:flex;min-height:100vh}
/* sidebar */
.sidebar{width:320px;flex:0 0 320px;background:var(--panel);border-right:1px solid var(--line);height:100vh;position:sticky;top:0;overflow-y:auto;padding:0}
.brand{padding:18px 20px;border-bottom:1px solid var(--line)}
.brand h1{font-size:16px;margin:0 0 2px}
.brand .sub{color:var(--muted);font-size:12px}
.search{padding:12px 16px;border-bottom:1px solid var(--line)}
.search input{width:100%;padding:9px 12px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:13px}
.nav{padding:8px 0 40px}
.nav .special{padding:9px 20px;cursor:pointer;display:flex;align-items:center;gap:8px;font-weight:600}
.nav .special:hover{background:var(--panel2)}
.chapter{margin-top:6px}
.chapter > .ctitle{padding:8px 20px 4px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.nav .item{padding:6px 20px 6px 26px;cursor:pointer;font-size:13.5px;display:flex;gap:8px;align-items:center}
.nav .item:hover{background:var(--panel2)}
.nav .item.active{background:var(--accent);color:#fff}
.dot{width:8px;height:8px;border-radius:50%;flex:0 0 8px}
.dot.freigegeben{background:var(--green)} .dot.entwurf{background:var(--amber)}
.dot.abgeloest{background:var(--grey)} .dot.unbekannt{background:var(--line)}
.badge-od{margin-left:auto;background:var(--red);color:#fff;border-radius:10px;padding:0 7px;font-size:10px}
/* main */
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{padding:14px 28px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;background:var(--panel)}
.topbar .crumbs{color:var(--muted);font-size:13px}
.topbar .gen{margin-left:auto;color:var(--muted);font-size:12px}
.content{padding:30px 38px;max-width:1000px}
.metabar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:12px 16px;background:var(--panel);border:1px solid var(--line);border-radius:10px}
.chip{font-size:12px;padding:3px 10px;border-radius:20px;background:var(--panel2);color:var(--muted);border:1px solid var(--line)}
.chip b{color:var(--text);font-weight:600}
.chip.s-freigegeben{border-color:var(--green);color:var(--green)}
.chip.s-entwurf{border-color:var(--amber);color:var(--amber)}
.chip.s-abgeloest{border-color:var(--grey);color:var(--grey)}
.chip.od{border-color:var(--red);color:var(--red)}
/* doc typography */
.doc h1{font-size:26px;margin:.2em 0 .6em;border-bottom:1px solid var(--line);padding-bottom:.3em}
.doc h2{font-size:20px;margin:1.3em 0 .5em}
.doc h3{font-size:16px;margin:1.1em 0 .4em}
.doc p{margin:.6em 0}
.doc table{border-collapse:collapse;width:100%;margin:1em 0;font-size:13.5px}
.doc th,.doc td{border:1px solid var(--line);padding:7px 10px;text-align:left;vertical-align:top}
.doc th{background:var(--panel2)}
.doc tr:nth-child(even) td{background:rgba(255,255,255,.02)}
.doc code{background:var(--panel2);padding:1px 6px;border-radius:5px;font-size:.9em;font-family:'Cascadia Code',Consolas,monospace}
.doc pre.code{background:#0b1220;border:1px solid var(--line);border-radius:8px;padding:14px;overflow:auto}
.doc pre.code code{background:none;padding:0}
.doc blockquote{margin:1em 0;padding:.4em 1em;border-left:3px solid var(--accent);background:var(--panel);color:var(--muted)}
.doc hr{border:none;border-top:1px solid var(--line);margin:1.5em 0}
.doc .mermaid{background:#0b1220;border:1px solid var(--line);border-radius:8px;padding:16px;margin:1em 0;text-align:center}
/* dashboard */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:26px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.card .num{font-size:30px;font-weight:700}
.card .lbl{color:var(--muted);font-size:13px;margin-top:4px}
.card.alert .num{color:var(--red)}
.card.ok .num{color:var(--green)}
.section-h{font-size:17px;margin:26px 0 10px;font-weight:600}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.filters select,.filters button{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:7px;padding:6px 10px;font-size:13px;cursor:pointer}
table.grid{border-collapse:collapse;width:100%;font-size:13.5px}
table.grid th,table.grid td{border:1px solid var(--line);padding:7px 10px;text-align:left}
table.grid th{background:var(--panel2);position:sticky;top:0}
tr.od td{background:rgba(248,113,113,.12)}
.tag{font-size:11px;padding:1px 8px;border-radius:10px;border:1px solid var(--line)}
.tag.q-Audit{color:#c4b5fd;border-color:#c4b5fd}
.tag.q-Risiko{color:var(--amber);border-color:var(--amber)}
.tag.q-Review{color:var(--accent2);border-color:var(--accent2)}
.tag.q-Incident{color:var(--red);border-color:var(--red)}
.tag.q-Doku{color:var(--accent);border-color:var(--accent)}
.pill{font-size:11px;padding:1px 8px;border-radius:10px}
.pill.offen{background:rgba(251,191,36,.18);color:var(--amber)}
.pill.erledigt{background:rgba(52,211,153,.18);color:var(--green)}
.pill.inArbeit{background:rgba(79,140,255,.18);color:var(--accent)}
.hidden{display:none}
@media(max-width:820px){.sidebar{display:none}.content{padding:20px}}
</style>
</head>
<body>
<div class="app">
<aside class="sidebar">
<div class="brand"><h1>PowerOn IMS</h1><div class="sub">Integriertes Managementsystem - ISO 9001 + 27001</div></div>
<div class="search"><input id="q" placeholder="Dokumente durchsuchen ..."></div>
<nav class="nav" id="nav"></nav>
</aside>
<main class="main">
<div class="topbar"><div class="crumbs" id="crumbs">Dashboard</div><div class="gen" id="gen"></div></div>
<div class="content" id="content"></div>
</main>
</div>
<script>(function(ZM,Dg){typeof exports=="object"&&typeof module<"u"?module.exports=Dg():typeof define=="function"&&define.amd?define(Dg):(ZM=typeof globalThis<"u"?globalThis:ZM||self,ZM.mermaid=Dg())})(this,function(){var dYe,gYe;"use strict";function ZM(i){for(var a=[],u=1;u<arguments.length;u++)a[u-1]=arguments[u];var d=Array.from(typeof i=="string"?[i]:i);d[d.length-1]=d[d.length-1].replace(/\r?\n([\t ]*)$/,"");var p=d.reduce(function(y,E){var _=E.match(/\n([\t ]+|(?!\s).)/g);return _?y.concat(_.map(function(A){var P,R;return(R=(P=A.match(/[\t ]/g))===null||P===void 0?void 0:P.length)!==null&&R!==void 0?R:0})):y},[]);if(p.length){var v=new RegExp(`
[ ]{`+Math.min.apply(Math,p)+"}","g");d=d.map(function(y){return y.replace(v,`
`)})}d[0]=d[0].replace(/^\r?\n/,"");var b=d[0];return a.forEach(function(y,E){var _=b.match(/(?:^|\n)( *)$/),A=_?_[1]:"",P=y;typeof y=="string"&&y.includes(`
`)&&(P=String(y).split(`
`).map(function(R,B){return B===0?R:""+A+R}).join(`
`)),b+=P+d[E+1]}),b}var Dg=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function dC(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var CBe={exports:{}};(function(i,a){(function(u,d){i.exports=d()})(Dg,function(){var u=1e3,d=6e4,p=36e5,v="millisecond",b="second",y="minute",E="hour",_="day",A="week",P="month",R="quarter",B="year",j="date",W="Invalid Date",ee=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,ie=/\[([^\]]+)]|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,oe={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:function(Be){var Pe=["th","st","nd","rd"],je=Be%100;return"["+Be+(Pe[(je-20)%10]||Pe[je]||Pe[0])+"]"}},be=function(Be,Pe,je){var Ie=String(Be);return!Ie||Ie.length>=Pe?Be:""+Array(Pe+1-Ie.length).join(je)+Be},ge={s:be,z:function(Be){var Pe=-Be.utcOffset(),je=Math.abs(Pe),Ie=Math.floor(je/60),Se=je%60;return(Pe<=0?"+":"-")+be(Ie,2,"0")+":"+be(Se,2,"0")},m:function Be(Pe,je){if(Pe.date()<je.date())return-Be(je,Pe);var Ie=12*(je.year()-Pe.year())+(je.month()-Pe.month()),Se=Pe.clone().add(Ie,P),Ce=je-Se<0,ke=Pe.clone().add(Ie+(Ce?-1:1),P);return+(-(Ie+(je-Se)/(Ce?Se-ke:ke-Se))||0)},a:function(Be){return Be<0?Math.ceil(Be)||0:Math.floor(Be)},p:function(Be){return{M:P,y:B,w:A,d:_,D:j,h:E,m:y,s:b,ms:v,Q:R}[Be]||String(Be||"").toLowerCase().replace(/s$/,"")},u:function(Be){return Be===void 0}},ae="en",ne={};ne[ae]=oe;var se="$isDayjsObject",de=function(Be){return Be instanceof xe||!(!Be||!Be[se])},X=function Be(Pe,je,Ie){var Se;if(!Pe)return ae;if(typeof Pe=="string"){var Ce=Pe.toLowerCase();ne[Ce]&&(Se=Ce),je&&(ne[Ce]=je,Se=Ce);var ke=Pe.split("-");if(!Se&&ke.length>1)return Be(ke[0])}else{var Ke=Pe.name;ne[Ke]=Pe,Se=Ke}return!Ie&&Se&&(ae=Se),Se||!Ie&&ae},pe=function(Be,Pe){if(de(Be))return Be.clone();var je=typeof Pe=="object"?Pe:{};return je.date=Be,je.args=arguments,new xe(je)},G=ge;G.l=X,G.i=de,G.w=function(Be,Pe){return pe(Be,{locale:Pe.$L,utc:Pe.$u,x:Pe.$x,$offset:Pe.$offset})};var xe=function(){function Be(je){this.$L=X(je.locale,null,!0),this.parse(je),this.$x=this.$x||je.x||{},this[se]=!0}var Pe=Be.prototype;return Pe.parse=function(je){this.$d=function(Ie){var Se=Ie.date,Ce=Ie.utc;if(Se===null)return new Date(NaN);if(G.u(Se))return new Date;if(Se instanceof Date)return new Date(Se);if(typeof Se=="string"&&!/Z$/i.test(Se)){var ke=Se.match(ee);if(ke){var Ke=ke[2]-1||0,zt=(ke[7]||"0").substring(0,3);return Ce?new Date(Date.UTC(ke[1],Ke,ke[3]||1,ke[4]||0,ke[5]||0,ke[6]||0,zt)):new Date(ke[1],Ke,ke[3]||1,ke[4]||0,ke[5]||0,ke[6]||0,zt)}}return new Date(Se)}(je),this.init()},Pe.init=function(){var je=this.$d;this.$y=je.getFullYear(),this.$M=je.getMonth(),this.$D=je.getDate(),this.$W=je.getDay(),this.$H=je.getHours(),this.$m=je.getMinutes(),this.$s=je.getSeconds(),this.$ms=je.getMilliseconds()},Pe.$utils=function(){return G},Pe.isValid=function(){return this.$d.toString()!==W},Pe.isSame=function(je,Ie){var Se=pe(je);return this.startOf(Ie)<=Se&&Se<=this.endOf(Ie)},Pe.isAfter=function(je,Ie){return pe(je)<this.startOf(Ie)},Pe.isBefore=function(je,Ie){return this.endOf(Ie)<pe(je)},Pe.$g=function(je,Ie,Se){return G.u(je)?this[Ie]:this.set(Se,je)},Pe.unix=function(){return Math.floor(this.valueOf()/1e3)},Pe.valueOf=function(){return this.$d.getTime()},Pe.startOf=function(je,Ie){var Se=this,Ce=!!G.u(Ie)||Ie,ke=G.p(je),Ke=function(yt,Bt){var Ze=G.w(Se.$u?Date.UTC(Se.$y,Bt,yt):new Date(Se.$y,Bt,yt),Se);return Ce?Ze:Ze.endOf(_)},zt=function(yt,Bt){return G.w(Se.toDate()[yt].apply(Se.toDate("s"),(Ce?[0,0,0,0]:[23,59,59,999]).slice(Bt)),Se)},Ne=this.$W,pn=this.$M,Tt=this.$D,Et="set"+(this.$u?"UTC":"");switch(ke){case B:return Ce?Ke(1,0):Ke(31,11);case P:return Ce?Ke(1,pn):Ke(0,pn+1);case A:var Wt=this.$locale().weekStart||0,un=(Ne<Wt?Ne+7:Ne)-Wt;return Ke(Ce?Tt-un:Tt+(6-un),pn);case _:case j:return zt(Et+"Hours",0);case E:return zt(Et+"Minutes",1);case y:return zt(Et+"Seconds",2);case b:return zt(Et+"Milliseconds",3);default:return this.clone()}},Pe.endOf=function(je){return this.startOf(je,!1)},Pe.$set=function(je,Ie){var Se,Ce=G.p(je),ke="set"+(this.$u?"UTC":""),Ke=(Se={},Se[_]=ke+"Date",Se[j]=ke+"Date",Se[P]=ke+"Month",Se[B]=ke+"FullYear",Se[E]=ke+"Hours",Se[y]=ke+"Minutes",Se[b]=ke+"Seconds",Se[v]=ke+"Milliseconds",Se)[Ce],zt=Ce===_?this.$D+(Ie-this.$W):Ie;if(Ce===P||Ce===B){var Ne=this.clone().set(j,1);Ne.$d[Ke](zt),Ne.init(),this.$d=Ne.set(j,Math.min(this.$D,Ne.daysInMonth())).$d}else Ke&&this.$d[Ke](zt);return this.init(),this},Pe.set=function(je,Ie){return this.clone().$set(je,Ie)},Pe.get=function(je){return this[G.p(je)]()},Pe.add=function(je,Ie){var Se,Ce=this;je=Number(je);var ke=G.p(Ie),Ke=function(pn){var Tt=pe(Ce);return G.w(Tt.date(Tt.date()+Math.round(pn*je)),Ce)};if(ke===P)return this.set(P,this.$M+je);if(ke===B)return this.set(B,this.$y+je);if(ke===_)return Ke(1);if(ke===A)return Ke(7);var zt=(Se={},Se[y]=d,Se[E]=p,Se[b]=u,Se)[ke]||1,Ne=this.$d.getTime()+je*zt;return G.w(Ne,this)},Pe.subtract=function(je,Ie){return this.add(-1*je,Ie)},Pe.format=function(je){var Ie=this,Se=this.$locale();if(!this.isValid())return Se.invalidDate||W;var Ce=je||"YYYY-MM-DDTHH:mm:ssZ",ke=G.z(this),Ke=this.$H,zt=this.$m,Ne=this.$M,pn=Se.weekdays,Tt=Se.months,Et=Se.meridiem,Wt=function(Bt,Ze,Dt,kt){return Bt&&(Bt[Ze]||Bt(Ie,Ce))||Dt[Ze].slice(0,kt)},un=function(Bt){return G.s(Ke%12||12,Bt,"0")},yt=Et||function(Bt,Ze,Dt){var kt=Bt<12?"AM":"PM";return Dt?kt.toLowerCase():kt};return Ce.replace(ie,function(Bt,Ze){return Ze||function(Dt){switch(Dt){case"YY":return String(Ie.$y).slice(-2);case"YYYY":return G.s(Ie.$y,4,"0");case"M":return Ne+1;case"MM":return G.s(Ne+1,2,"0");case"MMM":return Wt(Se.monthsShort,Ne,Tt,3);case"MMMM":return Wt(Tt,Ne);case"D":return Ie.$D;case"DD":return G.s(Ie.$D,2,"0");case"d":return String(Ie.$W);case"dd":return Wt(Se.weekdaysMin,Ie.$W,pn,2);case"ddd":return Wt(Se.weekdaysShort,Ie.$W,pn,3);case"dddd":return pn[Ie.$W];case"H":return String(Ke);case"HH":return G.s(Ke,2,"0");case"h":return un(1);case"hh":return un(2);case"a":return yt(Ke,zt,!0);case"A":return yt(Ke,zt,!1);case"m":return String(zt);case"mm":return G.s(zt,2,"0");case"s":return String(Ie.$s);case"ss":return G.s(Ie.$s,2,"0");case"SSS":return G.s(Ie.$ms,3,"0");case"Z":return ke}return null}(Bt)||ke.replace(":","")})},Pe.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},Pe.diff=function(je,Ie,Se){var Ce,ke=this,Ke=G.p(Ie),zt=pe(je),Ne=(zt.utcOffset()-this.utcOffset())*d,pn=this-zt,Tt=function(){return G.m(ke,zt)};switch(Ke){case B:Ce=Tt()/12;break;case P:Ce=Tt();break;case R:Ce=Tt()/3;break;case A:Ce=(pn-Ne)/6048e5;break;case _:Ce=(pn-Ne)/864e5;break;case E:Ce=pn/p;break;case y:Ce=pn/d;break;case b:Ce=pn/u;break;default:Ce=pn}return Se?Ce:G.a(Ce)},Pe.daysInMonth=function(){return this.endOf(P).$D},Pe.$locale=function(){return ne[this.$L]},Pe.locale=function(je,Ie){if(!je)return this.$L;var Se=this.clone(),Ce=X(je,Ie,!0);return Ce&&(Se.$L=Ce),Se},Pe.clone=function(){return G.w(this.$d,this)},Pe.toDate=function(){return new Date(this.valueOf())},Pe.toJSON=function(){return this.isValid()?this.toISOString():null},Pe.toISOString=function(){return this.$d.toISOString()},Pe.toString=function(){return this.$d.toUTCString()},Be}(),U=xe.prototype;return pe.prototype=U,[["$ms",v],["$s",b],["$m",y],["$H",E],["$W",_],["$M",P],["$y",B],["$D",j]].forEach(function(Be){U[Be[1]]=function(Pe){return this.$g(Pe,Be[0],Be[1])}}),pe.extend=function(Be,Pe){return Be.$i||(Be(Pe,xe,pe),Be.$i=!0),pe},pe.locale=X,pe.isDayjs=de,pe.unix=function(Be){return pe(1e3*Be)},pe.en=ne[ae],pe.Ls=ne,pe.p={},pe})})(CBe);var lLt=CBe.exports;const Ig=dC(lLt),b7={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},Xe={trace:(...i)=>{},debug:(...i)=>{},info:(...i)=>{},warn:(...i)=>{},error:(...i)=>{},fatal:(...i)=>{}},Spe=function(i="fatal"){let a=b7.fatal;typeof i=="string"?(i=i.toLowerCase(),i in b7&&(a=b7[i])):typeof i=="number"&&(a=i),Xe.trace=()=>{},Xe.debug=()=>{},Xe.info=()=>{},Xe.warn=()=>{},Xe.error=()=>{},Xe.fatal=()=>{},a<=b7.fatal&&(Xe.fatal=console.error?console.error.bind(console,Fv("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Fv("FATAL"))),a<=b7.error&&(Xe.error=console.error?console.error.bind(console,Fv("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Fv("ERROR"))),a<=b7.warn&&(Xe.warn=console.warn?console.warn.bind(console,Fv("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Fv("WARN"))),a<=b7.info&&(Xe.info=console.info?console.info.bind(console,Fv("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Fv("INFO"))),a<=b7.debug&&(Xe.debug=console.debug?console.debug.bind(console,Fv("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Fv("DEBUG"))),a<=b7.trace&&(Xe.trace=console.debug?console.debug.bind(console,Fv("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Fv("TRACE")))},Fv=i=>`%c${Ig().format("ss.SSS")} : ${i} : `;var b9={};(function(i){Object.defineProperty(i,"__esModule",{value:!0}),i.sanitizeUrl=i.BLANK_URL=void 0;var a=/^([^\w]*)(javascript|data|vbscript)/im,u=/&#(\w+)(^\w|;)?/g,d=/&(newline|tab);/gi,p=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,v=/^.+(:|&colon;)/gim,b=[".","/"];i.BLANK_URL="about:blank";function y(A){return b.indexOf(A[0])>-1}function E(A){var P=A.replace(p,"");return P.replace(u,function(R,B){return String.fromCharCode(B)})}function _(A){if(!A)return i.BLANK_URL;var P=E(A).replace(d,"").replace(p,"").trim();if(!P)return i.BLANK_URL;if(y(P))return P;var R=P.match(v);if(!R)return P;var B=R[0];return a.test(B)?i.BLANK_URL:P}i.sanitizeUrl=_})(b9);function RY(i,a){return i==null||a==null?NaN:i<a?-1:i>a?1:i>=a?0:NaN}function hLt(i,a){return i==null||a==null?NaN:a<i?-1:a>i?1:a>=i?0:NaN}function _pe(i){let a,u,d;i.length!==2?(a=RY,u=(y,E)=>RY(i(y),E),d=(y,E)=>i(y)-E):(a=i===RY||i===hLt?i:fLt,u=i,d=i);function p(y,E,_=0,A=y.length){if(_<A){if(a(E,E)!==0)return A;do{const P=_+A>>>1;u(y[P],E)<0?_=P+1:A=P}while(_<A)}return _}function v(y,E,_=0,A=y.length){if(_<A){if(a(E,E)!==0)return A;do{const P=_+A>>>1;u(y[P],E)<=0?_=P+1:A=P}while(_<A)}return _}function b(y,E,_=0,A=y.length){const P=p(y,E,_,A-1);return P>_&&d(y[P-1],E)>-d(y[P],E)?P-1:P}return{left:p,center:b,right:v}}function fLt(){return 0}function dLt(i){return i===null?NaN:+i}const gLt=_pe(RY).right;_pe(dLt).center;const pLt=gLt;class SBe extends Map{constructor(a,u=vLt){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:u}}),a!=null)for(const[d,p]of a)this.set(d,p)}get(a){return super.get(_Be(this,a))}has(a){return super.has(_Be(this,a))}set(a,u){return super.set(bLt(this,a),u)}delete(a){return super.delete(mLt(this,a))}}function _Be({_intern:i,_key:a},u){const d=a(u);return i.has(d)?i.get(d):u}function bLt({_intern:i,_key:a},u){const d=a(u);return i.has(d)?i.get(d):(i.set(d,u),u)}function mLt({_intern:i,_key:a},u){const d=a(u);return i.has(d)&&(u=i.get(d),i.delete(d)),u}function vLt(i){return i!==null&&typeof i=="object"?i.valueOf():i}const wLt=Math.sqrt(50),yLt=Math.sqrt(10),xLt=Math.sqrt(2);function jY(i,a,u){const d=(a-i)/Math.max(0,u),p=Math.floor(Math.log10(d)),v=d/Math.pow(10,p),b=v>=wLt?10:v>=yLt?5:v>=xLt?2:1;let y,E,_;return p<0?(_=Math.pow(10,-p)/b,y=Math.round(i*_),E=Math.round(a*_),y/_<i&&++y,E/_>a&&--E,_=-_):(_=Math.pow(10,p)*b,y=Math.round(i/_),E=Math.round(a/_),y*_<i&&++y,E*_>a&&--E),E<y&&.5<=u&&u<2?jY(i,a,u*2):[y,E,_]}function kLt(i,a,u){if(a=+a,i=+i,u=+u,!(u>0))return[];if(i===a)return[i];const d=a<i,[p,v,b]=d?jY(a,i,u):jY(i,a,u);if(!(v>=p))return[];const y=v-p+1,E=new Array(y);if(d)if(b<0)for(let _=0;_<y;++_)E[_]=(v-_)/-b;else for(let _=0;_<y;++_)E[_]=(v-_)*b;else if(b<0)for(let _=0;_<y;++_)E[_]=(p+_)/-b;else for(let _=0;_<y;++_)E[_]=(p+_)*b;return E}function Ape(i,a,u){return a=+a,i=+i,u=+u,jY(i,a,u)[2]}function Lpe(i,a,u){a=+a,i=+i,u=+u;const d=a<i,p=d?Ape(a,i,u):Ape(i,a,u);return(d?-1:1)*(p<0?1/-p:p)}function TLt(i,a){let u;if(a===void 0)for(const d of i)d!=null&&(u<d||u===void 0&&d>=d)&&(u=d);else{let d=-1;for(let p of i)(p=a(p,++d,i))!=null&&(u<p||u===void 0&&p>=p)&&(u=p)}return u}function ELt(i,a){let u;if(a===void 0)for(const d of i)d!=null&&(u>d||u===void 0&&d>=d)&&(u=d);else{let d=-1;for(let p of i)(p=a(p,++d,i))!=null&&(u>p||u===void 0&&p>=p)&&(u=p)}return u}function CLt(i,a,u){i=+i,a=+a,u=(p=arguments.length)<2?(a=i,i=0,1):p<3?1:+u;for(var d=-1,p=Math.max(0,Math.ceil((a-i)/u))|0,v=new Array(p);++d<p;)v[d]=i+d*u;return v}function SLt(i){return i}var $Y=1,Mpe=2,Dpe=3,zY=4,ABe=1e-6;function _Lt(i){return"translate("+i+",0)"}function ALt(i){return"translate(0,"+i+")"}function LLt(i){return a=>+i(a)}function MLt(i,a){return a=Math.max(0,i.bandwidth()-a*2)/2,i.round()&&(a=Math.round(a)),u=>+i(u)+a}function DLt(){return!this.__axis}function LBe(i,a){var u=[],d=null,p=null,v=6,b=6,y=3,E=typeof window<"u"&&window.devicePixelRatio>1?0:.5,_=i===$Y||i===zY?-1:1,A=i===zY||i===Mpe?"x":"y",P=i===$Y||i===Dpe?_Lt:ALt;function R(B){var j=d??(a.ticks?a.ticks.apply(a,u):a.domain()),W=p??(a.tickFormat?a.tickFormat.apply(a,u):SLt),ee=Math.max(v,0)+y,ie=a.range(),oe=+ie[0]+E,be=+ie[ie.length-1]+E,ge=(a.bandwidth?MLt:LLt)(a.copy(),E),ae=B.selection?B.selection():B,ne=ae.selectAll(".domain").data([null]),se=ae.selectAll(".tick").data(j,a).order(),de=se.exit(),X=se.enter().append("g").attr("class","tick"),pe=se.select("line"),G=se.select("text");ne=ne.merge(ne.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),se=se.merge(X),pe=pe.merge(X.append("line").attr("stroke","currentColor").attr(A+"2",_*v)),G=G.merge(X.append("text").attr("fill","currentColor").attr(A,_*ee).attr("dy",i===$Y?"0em":i===Dpe?"0.71em":"0.32em")),B!==ae&&(ne=ne.transition(B),se=se.transition(B),pe=pe.transition(B),G=G.transition(B),de=de.transition(B).attr("opacity",ABe).attr("transform",function(xe){return isFinite(xe=ge(xe))?P(xe+E):this.getAttribute("transform")}),X.attr("opacity",ABe).attr("transform",function(xe){var U=this.parentNode.__axis;return P((U&&isFinite(U=U(xe))?U:ge(xe))+E)})),de.remove(),ne.attr("d",i===zY||i===Mpe?b?"M"+_*b+","+oe+"H"+E+"V"+be+"H"+_*b:"M"+E+","+oe+"V"+be:b?"M"+oe+","+_*b+"V"+E+"H"+be+"V"+_*b:"M"+oe+","+E+"H"+be),se.attr("opacity",1).attr("transform",function(xe){return P(ge(xe)+E)}),pe.attr(A+"2",_*v),G.attr(A,_*ee).text(W),ae.filter(DLt).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",i===Mpe?"start":i===zY?"end":"middle"),ae.each(function(){this.__axis=ge})}return R.scale=function(B){return arguments.length?(a=B,R):a},R.ticks=function(){return u=Array.from(arguments),R},R.tickArguments=function(B){return arguments.length?(u=B==null?[]:Array.from(B),R):u.slice()},R.tickValues=function(B){return arguments.length?(d=B==null?null:Array.from(B),R):d&&d.slice()},R.tickFormat=function(B){return arguments.length?(p=B,R):p},R.tickSize=function(B){return arguments.length?(v=b=+B,R):v},R.tickSizeInner=function(B){return arguments.length?(v=+B,R):v},R.tickSizeOuter=function(B){return arguments.length?(b=+B,R):b},R.tickPadding=function(B){return arguments.length?(y=+B,R):y},R.offset=function(B){return arguments.length?(E=+B,R):E},R}function ILt(i){return LBe($Y,i)}function OLt(i){return LBe(Dpe,i)}var NLt={value:()=>{}};function MBe(){for(var i=0,a=arguments.length,u={},d;i<a;++i){if(!(d=arguments[i]+"")||d in u||/[\s.]/.test(d))throw new Error("illegal type: "+d);u[d]=[]}return new qY(u)}function qY(i){this._=i}function PLt(i,a){return i.trim().split(/^|\s+/).map(function(u){var d="",p=u.indexOf(".");if(p>=0&&(d=u.slice(p+1),u=u.slice(0,p)),u&&!a.hasOwnProperty(u))throw new Error("unknown type: "+u);return{type:u,name:d}})}qY.prototype=MBe.prototype={constructor:qY,on:function(i,a){var u=this._,d=PLt(i+"",u),p,v=-1,b=d.length;if(arguments.length<2){for(;++v<b;)if((p=(i=d[v]).type)&&(p=BLt(u[p],i.name)))return p;return}if(a!=null&&typeof a!="function")throw new Error("invalid callback: "+a);for(;++v<b;)if(p=(i=d[v]).type)u[p]=DBe(u[p],i.name,a);else if(a==null)for(p in u)u[p]=DBe(u[p],i.name,null);return this},copy:function(){var i={},a=this._;for(var u in a)i[u]=a[u].slice();return new qY(i)},call:function(i,a){if((p=arguments.length-2)>0)for(var u=new Array(p),d=0,p,v;d<p;++d)u[d]=arguments[d+2];if(!this._.hasOwnProperty(i))throw new Error("unknown type: "+i);for(v=this._[i],d=0,p=v.length;d<p;++d)v[d].value.apply(a,u)},apply:function(i,a,u){if(!this._.hasOwnProperty(i))throw new Error("unknown type: "+i);for(var d=this._[i],p=0,v=d.length;p<v;++p)d[p].value.apply(a,u)}};function BLt(i,a){for(var u=0,d=i.length,p;u<d;++u)if((p=i[u]).name===a)return p.value}function DBe(i,a,u){for(var d=0,p=i.length;d<p;++d)if(i[d].name===a){i[d]=NLt,i=i.slice(0,d).concat(i.slice(d+1));break}return u!=null&&i.push({name:a,value:u}),i}var Ipe="http://www.w3.org/1999/xhtml";const IBe={svg:"http://www.w3.org/2000/svg",xhtml:Ipe,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function HY(i){var a=i+="",u=a.indexOf(":");return u>=0&&(a=i.slice(0,u))!=="xmlns"&&(i=i.slice(u+1)),IBe.hasOwnProperty(a)?{space:IBe[a],local:i}:i}function FLt(i){return function(){var a=this.ownerDocument,u=this.namespaceURI;return u===Ipe&&a.documentElement.namespaceURI===Ipe?a.createElement(i):a.createElementNS(u,i)}}function RLt(i){return function(){return this.ownerDocument.createElementNS(i.space,i.local)}}function OBe(i){var a=HY(i);return(a.local?RLt:FLt)(a)}function jLt(){}function Ope(i){return i==null?jLt:function(){return this.querySelector(i)}}function $Lt(i){typeof i!="function"&&(i=Ope(i));for(var a=this._groups,u=a.length,d=new Array(u),p=0;p<u;++p)for(var v=a[p],b=v.length,y=d[p]=new Array(b),E,_,A=0;A<b;++A)(E=v[A])&&(_=i.call(E,E.__data__,A,v))&&("__data__"in E&&(_.__data__=E.__data__),y[A]=_);return new Cp(d,this._parents)}function NBe(i){return i==null?[]:Array.isArray(i)?i:Array.from(i)}function zLt(){return[]}function PBe(i){return i==null?zLt:function(){return this.querySelectorAll(i)}}function qLt(i){return function(){return NBe(i.apply(this,arguments))}}function HLt(i){typeof i=="function"?i=qLt(i):i=PBe(i);for(var a=this._groups,u=a.length,d=[],p=[],v=0;v<u;++v)for(var b=a[v],y=b.length,E,_=0;_<y;++_)(E=b[_])&&(d.push(i.call(E,E.__data__,_,b)),p.push(E));return new Cp(d,p)}function BBe(i){return function(){return this.matches(i)}}function FBe(i){return function(a){return a.matches(i)}}var ULt=Array.prototype.find;function VLt(i){return function(){return ULt.call(this.children,i)}}function GLt(){return this.firstElementChild}function KLt(i){return this.select(i==null?GLt:VLt(typeof i=="function"?i:FBe(i)))}var WLt=Array.prototype.filter;function YLt(){return Array.from(this.children)}function XLt(i){return function(){return WLt.call(this.children,i)}}function QLt(i){return this.selectAll(i==null?YLt:XLt(typeof i=="function"?i:FBe(i)))}function JLt(i){typeof i!="function"&&(i=BBe(i));for(var a=this._groups,u=a.length,d=new Array(u),p=0;p<u;++p)for(var v=a[p],b=v.length,y=d[p]=[],E,_=0;_<b;++_)(E=v[_])&&i.call(E,E.__data__,_,v)&&y.push(E);return new Cp(d,this._parents)}function RBe(i){return new Array(i.length)}function ZLt(){return new Cp(this._enter||this._groups.map(RBe),this._parents)}function UY(i,a){this.ownerDocument=i.ownerDocument,this.namespaceURI=i.namespaceURI,this._next=null,this._parent=i,this.__data__=a}UY.prototype={constructor:UY,appendChild:function(i){return this._parent.insertBefore(i,this._next)},insertBefore:function(i,a){return this._parent.insertBefore(i,a)},querySelector:function(i){return this._parent.querySelector(i)},querySelectorAll:function(i){return this._parent.querySelectorAll(i)}};function eMt(i){return function(){return i}}function tMt(i,a,u,d,p,v){for(var b=0,y,E=a.length,_=v.length;b<_;++b)(y=a[b])?(y.__data__=v[b],d[b]=y):u[b]=new UY(i,v[b]);for(;b<E;++b)(y=a[b])&&(p[b]=y)}function nMt(i,a,u,d,p,v,b){var y,E,_=new Map,A=a.length,P=v.length,R=new Array(A),B;for(y=0;y<A;++y)(E=a[y])&&(R[y]=B=b.call(E,E.__data__,y,a)+"",_.has(B)?p[y]=E:_.set(B,E));for(y=0;y<P;++y)B=b.call(i,v[y],y,v)+"",(E=_.get(B))?(d[y]=E,E.__data__=v[y],_.delete(B)):u[y]=new UY(i,v[y]);for(y=0;y<A;++y)(E=a[y])&&_.get(R[y])===E&&(p[y]=E)}function rMt(i){return i.__data__}function iMt(i,a){if(!arguments.length)return Array.from(this,rMt);var u=a?nMt:tMt,d=this._parents,p=this._groups;typeof i!="function"&&(i=eMt(i));for(var v=p.length,b=new Array(v),y=new Array(v),E=new Array(v),_=0;_<v;++_){var A=d[_],P=p[_],R=P.length,B=sMt(i.call(A,A&&A.__data__,_,d)),j=B.length,W=y[_]=new Array(j),ee=b[_]=new Array(j),ie=E[_]=new Array(R);u(A,P,W,ee,ie,B,a);for(var oe=0,be=0,ge,ae;oe<j;++oe)if(ge=W[oe]){for(oe>=be&&(be=oe+1);!(ae=ee[be])&&++be<j;);ge._next=ae||null}}return b=new Cp(b,d),b._enter=y,b._exit=E,b}function sMt(i){return typeof i=="object"&&"length"in i?i:Array.from(i)}function aMt(){return new Cp(this._exit||this._groups.map(RBe),this._parents)}function oMt(i,a,u){var d=this.enter(),p=this,v=this.exit();return typeof i=="function"?(d=i(d),d&&(d=d.selection())):d=d.append(i+""),a!=null&&(p=a(p),p&&(p=p.selection())),u==null?v.remove():u(v),d&&p?d.merge(p).order():p}function cMt(i){for(var a=i.selection?i.selection():i,u=this._groups,d=a._groups,p=u.length,v=d.length,b=Math.min(p,v),y=new Array(p),E=0;E<b;++E)for(var _=u[E],A=d[E],P=_.length,R=y[E]=new Array(P),B,j=0;j<P;++j)(B=_[j]||A[j])&&(R[j]=B);for(;E<p;++E)y[E]=u[E];return new Cp(y,this._parents)}function uMt(){for(var i=this._groups,a=-1,u=i.length;++a<u;)for(var d=i[a],p=d.length-1,v=d[p],b;--p>=0;)(b=d[p])&&(v&&b.compareDocumentPosition(v)^4&&v.parentNode.insertBefore(b,v),v=b);return this}function lMt(i){i||(i=hMt);function a(P,R){return P&&R?i(P.__data__,R.__data__):!P-!R}for(var u=this._groups,d=u.length,p=new Array(d),v=0;v<d;++v){for(var b=u[v],y=b.length,E=p[v]=new Array(y),_,A=0;A<y;++A)(_=b[A])&&(E[A]=_);E.sort(a)}return new Cp(p,this._parents).order()}function hMt(i,a){return i<a?-1:i>a?1:i>=a?0:NaN}function fMt(){var i=arguments[0];return arguments[0]=this,i.apply(null,arguments),this}function dMt(){return Array.from(this)}function gMt(){for(var i=this._groups,a=0,u=i.length;a<u;++a)for(var d=i[a],p=0,v=d.length;p<v;++p){var b=d[p];if(b)return b}return null}function pMt(){let i=0;for(const a of this)++i;return i}function bMt(){return!this.node()}function mMt(i){for(var a=this._groups,u=0,d=a.length;u<d;++u)for(var p=a[u],v=0,b=p.length,y;v<b;++v)(y=p[v])&&i.call(y,y.__data__,v,p);return this}function vMt(i){return function(){this.removeAttribute(i)}}function wMt(i){return function(){this.removeAttributeNS(i.space,i.local)}}function yMt(i,a){return function(){this.setAttribute(i,a)}}function xMt(i,a){return function(){this.setAttributeNS(i.space,i.local,a)}}function kMt(i,a){return function(){var u=a.apply(this,arguments);u==null?this.removeAttribute(i):this.setAttribute(i,u)}}function TMt(i,a){return function(){var u=a.apply(this,arguments);u==null?this.removeAttributeNS(i.space,i.local):this.setAttributeNS(i.space,i.local,u)}}function EMt(i,a){var u=HY(i);if(arguments.length<2){var d=this.node();return u.local?d.getAttributeNS(u.space,u.local):d.getAttribute(u)}return this.each((a==null?u.local?wMt:vMt:typeof a=="function"?u.local?TMt:kMt:u.local?xMt:yMt)(u,a))}function jBe(i){return i.ownerDocument&&i.ownerDocument.defaultView||i.document&&i||i.defaultView}function CMt(i){return function(){this.style.removeProperty(i)}}function SMt(i,a,u){return function(){this.style.setProperty(i,a,u)}}function _Mt(i,a,u){return function(){var d=a.apply(this,arguments);d==null?this.style.removeProperty(i):this.style.setProperty(i,d,u)}}function AMt(i,a,u){return arguments.length>1?this.each((a==null?CMt:typeof a=="function"?_Mt:SMt)(i,a,u??"")):eD(this.node(),i)}function eD(i,a){return i.style.getPropertyValue(a)||jBe(i).getComputedStyle(i,null).getPropertyValue(a)}function LMt(i){return function(){delete this[i]}}function MMt(i,a){return function(){this[i]=a}}function DMt(i,a){return function(){var u=a.apply(this,arguments);u==null?delete this[i]:this[i]=u}}function IMt(i,a){return arguments.length>1?this.each((a==null?LMt:typeof a=="function"?DMt:MMt)(i,a)):this.node()[i]}function $Be(i){return i.trim().split(/^|\s+/)}function Npe(i){return i.classList||new zBe(i)}function zBe(i){this._node=i,this._names=$Be(i.getAttribute("class")||"")}zBe.prototype={add:function(i){var a=this._names.indexOf(i);a<0&&(this._names.push(i),this._node.setAttribute("class",this._names.join(" ")))},remove:function(i){var a=this._names.indexOf(i);a>=0&&(this._names.splice(a,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(i){return this._names.indexOf(i)>=0}};function qBe(i,a){for(var u=Npe(i),d=-1,p=a.length;++d<p;)u.add(a[d])}function HBe(i,a){for(var u=Npe(i),d=-1,p=a.length;++d<p;)u.remove(a[d])}function OMt(i){return function(){qBe(this,i)}}function NMt(i){return function(){HBe(this,i)}}function PMt(i,a){return function(){(a.apply(this,arguments)?qBe:HBe)(this,i)}}function BMt(i,a){var u=$Be(i+"");if(arguments.length<2){for(var d=Npe(this.node()),p=-1,v=u.length;++p<v;)if(!d.contains(u[p]))return!1;return!0}return this.each((typeof a=="function"?PMt:a?OMt:NMt)(u,a))}function FMt(){this.textContent=""}function RMt(i){return function(){this.textContent=i}}function jMt(i){return function(){var a=i.apply(this,arguments);this.textContent=a??""}}function $Mt(i){return arguments.length?this.each(i==null?FMt:(typeof i=="function"?jMt:RMt)(i)):this.node().textContent}function zMt(){this.innerHTML=""}function qMt(i){return function(){this.innerHTML=i}}function HMt(i){return function(){var a=i.apply(this,arguments);this.innerHTML=a??""}}function UMt(i){return arguments.length?this.each(i==null?zMt:(typeof i=="function"?HMt:qMt)(i)):this.node().innerHTML}function VMt(){this.nextSibling&&this.parentNode.appendChild(this)}function GMt(){return this.each(VMt)}function KMt(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function WMt(){return this.each(KMt)}function YMt(i){var a=typeof i=="function"?i:OBe(i);return this.select(function(){return this.appendChild(a.apply(this,arguments))})}function XMt(){return null}function QMt(i,a){var u=typeof i=="function"?i:OBe(i),d=a==null?XMt:typeof a=="function"?a:Ope(a);return this.select(function(){return this.insertBefore(u.apply(this,arguments),d.apply(this,arguments)||null)})}function JMt(){var i=this.parentNode;i&&i.removeChild(this)}function ZMt(){return this.each(JMt)}function eDt(){var i=this.cloneNode(!1),a=this.parentNode;return a?a.insertBefore(i,this.nextSibling):i}function tDt(){var i=this.cloneNode(!0),a=this.parentNode;return a?a.insertBefore(i,this.nextSibling):i}function nDt(i){return this.select(i?tDt:eDt)}function rDt(i){return arguments.length?this.property("__data__",i):this.node().__data__}function iDt(i){return function(a){i.call(this,a,this.__data__)}}function sDt(i){return i.trim().split(/^|\s+/).map(function(a){var u="",d=a.indexOf(".");return d>=0&&(u=a.slice(d+1),a=a.slice(0,d)),{type:a,name:u}})}function aDt(i){return function(){var a=this.__on;if(a){for(var u=0,d=-1,p=a.length,v;u<p;++u)v=a[u],(!i.type||v.type===i.type)&&v.name===i.name?this.removeEventListener(v.type,v.listener,v.options):a[++d]=v;++d?a.length=d:delete this.__on}}}function oDt(i,a,u){return function(){var d=this.__on,p,v=iDt(a);if(d){for(var b=0,y=d.length;b<y;++b)if((p=d[b]).type===i.type&&p.name===i.name){this.removeEventListener(p.type,p.listener,p.options),this.addEventListener(p.type,p.listener=v,p.options=u),p.value=a;return}}this.addEventListener(i.type,v,u),p={type:i.type,name:i.name,value:a,listener:v,options:u},d?d.push(p):this.__on=[p]}}function cDt(i,a,u){var d=sDt(i+""),p,v=d.length,b;if(arguments.length<2){var y=this.node().__on;if(y){for(var E=0,_=y.length,A;E<_;++E)for(p=0,A=y[E];p<v;++p)if((b=d[p]).type===A.type&&b.name===A.name)return A.value}return}for(y=a?oDt:aDt,p=0;p<v;++p)this.each(y(d[p],a,u));return this}function UBe(i,a,u){var d=jBe(i),p=d.CustomEvent;typeof p=="function"?p=new p(a,u):(p=d.document.createEvent("Event"),u?(p.initEvent(a,u.bubbles,u.cancelable),p.detail=u.detail):p.initEvent(a,!1,!1)),i.dispatchEvent(p)}function uDt(i,a){return function(){return UBe(this,i,a)}}function lDt(i,a){return function(){return UBe(this,i,a.apply(this,arguments))}}function hDt(i,a){return this.each((typeof a=="function"?lDt:uDt)(i,a))}function*fDt(){for(var i=this._groups,a=0,u=i.length;a<u;++a)for(var d=i[a],p=0,v=d.length,b;p<v;++p)(b=d[p])&&(yield b)}var Ppe=[null];function Cp(i,a){this._groups=i,this._parents=a}function SF(){return new Cp([[document.documentElement]],Ppe)}function dDt(){return this}Cp.prototype=SF.prototype={constructor:Cp,select:$Lt,selectAll:HLt,selectChild:KLt,selectChildren:QLt,filter:JLt,data:iMt,enter:ZLt,exit:aMt,join:oMt,merge:cMt,selection:dDt,order:uMt,sort:lMt,call:fMt,nodes:dMt,node:gMt,size:pMt,empty:bMt,each:mMt,attr:EMt,style:AMt,property:IMt,classed:BMt,text:$Mt,html:UMt,raise:GMt,lower:WMt,append:YMt,insert:QMt,remove:ZMt,clone:nDt,datum:rDt,on:cDt,dispatch:hDt,[Symbol.iterator]:fDt};function Dr(i){return typeof i=="string"?new Cp([[document.querySelector(i)]],[document.documentElement]):new Cp([[i]],Ppe)}function VBe(i){return typeof i=="string"?new Cp([document.querySelectorAll(i)],[document.documentElement]):new Cp([NBe(i)],Ppe)}function _F(i,a,u){i.prototype=a.prototype=u,u.constructor=i}function VY(i,a){var u=Object.create(i.prototype);for(var d in a)u[d]=a[d];return u}function gC(){}var AF=.7,GY=1/AF,tD="\\s*([+-]?\\d+)\\s*",LF="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",z4="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",gDt=/^#([0-9a-f]{3,8})$/,pDt=new RegExp(`^rgb\\(${tD},${tD},${tD}\\)$`),bDt=new RegExp(`^rgb\\(${z4},${z4},${z4}\\)$`),mDt=new RegExp(`^rgba\\(${tD},${tD},${tD},${LF}\\)$`),vDt=new RegExp(`^rgba\\(${z4},${z4},${z4},${LF}\\)$`),wDt=new RegExp(`^hsl\\(${LF},${z4},${z4}\\)$`),yDt=new RegExp(`^hsla\\(${LF},${z4},${z4},${LF}\\)$`),GBe={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};_F(gC,pC,{copy(i){return Object.assign(new this.constructor,this,i)},displayable(){return this.rgb().displayable()},hex:KBe,formatHex:KBe,formatHex8:xDt,formatHsl:kDt,formatRgb:WBe,toString:WBe});function KBe(){return this.rgb().formatHex()}function xDt(){return this.rgb().formatHex8()}function kDt(){return eFe(this).formatHsl()}function WBe(){return this.rgb().formatRgb()}function pC(i){var a,u;return i=(i+"").trim().toLowerCase(),(a=gDt.exec(i))?(u=a[1].length,a=parseInt(a[1],16),u===6?YBe(a):u===3?new Og(a>>8&15|a>>4&240,a>>4&15|a&240,(a&15)<<4|a&15,1):u===8?KY(a>>24&255,a>>16&255,a>>8&255,(a&255)/255):u===4?KY(a>>12&15|a>>8&240,a>>8&15|a>>4&240,a>>4&15|a&240,((a&15)<<4|a&15)/255):null):(a=pDt.exec(i))?new Og(a[1],a[2],a[3],1):(a=bDt.exec(i))?new Og(a[1]*255/100,a[2]*255/100,a[3]*255/100,1):(a=mDt.exec(i))?KY(a[1],a[2],a[3],a[4]):(a=vDt.exec(i))?KY(a[1]*255/100,a[2]*255/100,a[3]*255/100,a[4]):(a=wDt.exec(i))?ZBe(a[1],a[2]/100,a[3]/100,1):(a=yDt.exec(i))?ZBe(a[1],a[2]/100,a[3]/100,a[4]):GBe.hasOwnProperty(i)?YBe(GBe[i]):i==="transparent"?new Og(NaN,NaN,NaN,0):null}function YBe(i){return new Og(i>>16&255,i>>8&255,i&255,1)}function KY(i,a,u,d){return d<=0&&(i=a=u=NaN),new Og(i,a,u,d)}function XBe(i){return i instanceof gC||(i=pC(i)),i?(i=i.rgb(),new Og(i.r,i.g,i.b,i.opacity)):new Og}function Bpe(i,a,u,d){return arguments.length===1?XBe(i):new Og(i,a,u,d??1)}function Og(i,a,u,d){this.r=+i,this.g=+a,this.b=+u,this.opacity=+d}_F(Og,Bpe,VY(gC,{brighter(i){return i=i==null?GY:Math.pow(GY,i),new Og(this.r*i,this.g*i,this.b*i,this.opacity)},darker(i){return i=i==null?AF:Math.pow(AF,i),new Og(this.r*i,this.g*i,this.b*i,this.opacity)},rgb(){return this},clamp(){return new Og(bC(this.r),bC(this.g),bC(this.b),WY(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:QBe,formatHex:QBe,formatHex8:TDt,formatRgb:JBe,toString:JBe}));function QBe(){return`#${mC(this.r)}${mC(this.g)}${mC(this.b)}`}function TDt(){return`#${mC(this.r)}${mC(this.g)}${mC(this.b)}${mC((isNaN(this.opacity)?1:this.opacity)*255)}`}function JBe(){const i=WY(this.opacity);return`${i===1?"rgb(":"rgba("}${bC(this.r)}, ${bC(this.g)}, ${bC(this.b)}${i===1?")":`, ${i})`}`}function WY(i){return isNaN(i)?1:Math.max(0,Math.min(1,i))}function bC(i){return Math.max(0,Math.min(255,Math.round(i)||0))}function mC(i){return i=bC(i),(i<16?"0":"")+i.toString(16)}function ZBe(i,a,u,d){return d<=0?i=a=u=NaN:u<=0||u>=1?i=a=NaN:a<=0&&(i=NaN),new P3(i,a,u,d)}function eFe(i){if(i instanceof P3)return new P3(i.h,i.s,i.l,i.opacity);if(i instanceof gC||(i=pC(i)),!i)return new P3;if(i instanceof P3)return i;i=i.rgb();var a=i.r/255,u=i.g/255,d=i.b/255,p=Math.min(a,u,d),v=Math.max(a,u,d),b=NaN,y=v-p,E=(v+p)/2;return y?(a===v?b=(u-d)/y+(u<d)*6:u===v?b=(d-a)/y+2:b=(a-u)/y+4,y/=E<.5?v+p:2-v-p,b*=60):y=E>0&&E<1?0:b,new P3(b,y,E,i.opacity)}function EDt(i,a,u,d){return arguments.length===1?eFe(i):new P3(i,a,u,d??1)}function P3(i,a,u,d){this.h=+i,this.s=+a,this.l=+u,this.opacity=+d}_F(P3,EDt,VY(gC,{brighter(i){return i=i==null?GY:Math.pow(GY,i),new P3(this.h,this.s,this.l*i,this.opacity)},darker(i){return i=i==null?AF:Math.pow(AF,i),new P3(this.h,this.s,this.l*i,this.opacity)},rgb(){var i=this.h%360+(this.h<0)*360,a=isNaN(i)||isNaN(this.s)?0:this.s,u=this.l,d=u+(u<.5?u:1-u)*a,p=2*u-d;return new Og(Fpe(i>=240?i-240:i+120,p,d),Fpe(i,p,d),Fpe(i<120?i+240:i-120,p,d),this.opacity)},clamp(){return new P3(tFe(this.h),YY(this.s),YY(this.l),WY(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 i=WY(this.opacity);return`${i===1?"hsl(":"hsla("}${tFe(this.h)}, ${YY(this.s)*100}%, ${YY(this.l)*100}%${i===1?")":`, ${i})`}`}}));function tFe(i){return i=(i||0)%360,i<0?i+360:i}function YY(i){return Math.max(0,Math.min(1,i||0))}function Fpe(i,a,u){return(i<60?a+(u-a)*i/60:i<180?u:i<240?a+(u-a)*(240-i)/60:a)*255}const CDt=Math.PI/180,SDt=180/Math.PI,XY=18,nFe=.96422,rFe=1,iFe=.82521,sFe=4/29,nD=6/29,aFe=3*nD*nD,_Dt=nD*nD*nD;function oFe(i){if(i instanceof q4)return new q4(i.l,i.a,i.b,i.opacity);if(i instanceof m7)return cFe(i);i instanceof Og||(i=XBe(i));var a=zpe(i.r),u=zpe(i.g),d=zpe(i.b),p=Rpe((.2225045*a+.7168786*u+.0606169*d)/rFe),v,b;return a===u&&u===d?v=b=p:(v=Rpe((.4360747*a+.3850649*u+.1430804*d)/nFe),b=Rpe((.0139322*a+.0971045*u+.7141733*d)/iFe)),new q4(116*p-16,500*(v-p),200*(p-b),i.opacity)}function ADt(i,a,u,d){return arguments.length===1?oFe(i):new q4(i,a,u,d??1)}function q4(i,a,u,d){this.l=+i,this.a=+a,this.b=+u,this.opacity=+d}_F(q4,ADt,VY(gC,{brighter(i){return new q4(this.l+XY*(i??1),this.a,this.b,this.opacity)},darker(i){return new q4(this.l-XY*(i??1),this.a,this.b,this.opacity)},rgb(){var i=(this.l+16)/116,a=isNaN(this.a)?i:i+this.a/500,u=isNaN(this.b)?i:i-this.b/200;return a=nFe*jpe(a),i=rFe*jpe(i),u=iFe*jpe(u),new Og($pe(3.1338561*a-1.6168667*i-.4906146*u),$pe(-.9787684*a+1.9161415*i+.033454*u),$pe(.0719453*a-.2289914*i+1.4052427*u),this.opacity)}}));function Rpe(i){return i>_Dt?Math.pow(i,1/3):i/aFe+sFe}function jpe(i){return i>nD?i*i*i:aFe*(i-sFe)}function $pe(i){return 255*(i<=.0031308?12.92*i:1.055*Math.pow(i,1/2.4)-.055)}function zpe(i){return(i/=255)<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4)}function LDt(i){if(i instanceof m7)return new m7(i.h,i.c,i.l,i.opacity);if(i instanceof q4||(i=oFe(i)),i.a===0&&i.b===0)return new m7(NaN,0<i.l&&i.l<100?0:NaN,i.l,i.opacity);var a=Math.atan2(i.b,i.a)*SDt;return new m7(a<0?a+360:a,Math.sqrt(i.a*i.a+i.b*i.b),i.l,i.opacity)}function qpe(i,a,u,d){return arguments.length===1?LDt(i):new m7(i,a,u,d??1)}function m7(i,a,u,d){this.h=+i,this.c=+a,this.l=+u,this.opacity=+d}function cFe(i){if(isNaN(i.h))return new q4(i.l,0,0,i.opacity);var a=i.h*CDt;return new q4(i.l,Math.cos(a)*i.c,Math.sin(a)*i.c,i.opacity)}_F(m7,qpe,VY(gC,{brighter(i){return new m7(this.h,this.c,this.l+XY*(i??1),this.opacity)},darker(i){return new m7(this.h,this.c,this.l-XY*(i??1),this.opacity)},rgb(){return cFe(this).rgb()}}));const QY=i=>()=>i;function uFe(i,a){return function(u){return i+u*a}}function MDt(i,a,u){return i=Math.pow(i,u),a=Math.pow(a,u)-i,u=1/u,function(d){return Math.pow(i+d*a,u)}}function DDt(i,a){var u=a-i;return u?uFe(i,u>180||u<-180?u-360*Math.round(u/360):u):QY(isNaN(i)?a:i)}function IDt(i){return(i=+i)==1?MF:function(a,u){return u-a?MDt(a,u,i):QY(isNaN(a)?u:a)}}function MF(i,a){var u=a-i;return u?uFe(i,u):QY(isNaN(i)?a:i)}const JY=function i(a){var u=IDt(a);function d(p,v){var b=u((p=Bpe(p)).r,(v=Bpe(v)).r),y=u(p.g,v.g),E=u(p.b,v.b),_=MF(p.opacity,v.opacity);return function(A){return p.r=b(A),p.g=y(A),p.b=E(A),p.opacity=_(A),p+""}}return d.gamma=i,d}(1);function ODt(i,a){a||(a=[]);var u=i?Math.min(a.length,i.length):0,d=a.slice(),p;return function(v){for(p=0;p<u;++p)d[p]=i[p]*(1-v)+a[p]*v;return d}}function NDt(i){return ArrayBuffer.isView(i)&&!(i instanceof DataView)}function PDt(i,a){var u=a?a.length:0,d=i?Math.min(u,i.length):0,p=new Array(d),v=new Array(u),b;for(b=0;b<d;++b)p[b]=Vpe(i[b],a[b]);for(;b<u;++b)v[b]=a[b];return function(y){for(b=0;b<d;++b)v[b]=p[b](y);return v}}function BDt(i,a){var u=new Date;return i=+i,a=+a,function(d){return u.setTime(i*(1-d)+a*d),u}}function B3(i,a){return i=+i,a=+a,function(u){return i*(1-u)+a*u}}function FDt(i,a){var u={},d={},p;(i===null||typeof i!="object")&&(i={}),(a===null||typeof a!="object")&&(a={});for(p in a)p in i?u[p]=Vpe(i[p],a[p]):d[p]=a[p];return function(v){for(p in u)d[p]=u[p](v);return d}}var Hpe=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Upe=new RegExp(Hpe.source,"g");function RDt(i){return function(){return i}}function jDt(i){return function(a){return i(a)+""}}function lFe(i,a){var u=Hpe.lastIndex=Upe.lastIndex=0,d,p,v,b=-1,y=[],E=[];for(i=i+"",a=a+"";(d=Hpe.exec(i))&&(p=Upe.exec(a));)(v=p.index)>u&&(v=a.slice(u,v),y[b]?y[b]+=v:y[++b]=v),(d=d[0])===(p=p[0])?y[b]?y[b]+=p:y[++b]=p:(y[++b]=null,E.push({i:b,x:B3(d,p)})),u=Upe.lastIndex;return u<a.length&&(v=a.slice(u),y[b]?y[b]+=v:y[++b]=v),y.length<2?E[0]?jDt(E[0].x):RDt(a):(a=E.length,function(_){for(var A=0,P;A<a;++A)y[(P=E[A]).i]=P.x(_);return y.join("")})}function Vpe(i,a){var u=typeof a,d;return a==null||u==="boolean"?QY(a):(u==="number"?B3:u==="string"?(d=pC(a))?(a=d,JY):lFe:a instanceof pC?JY:a instanceof Date?BDt:NDt(a)?ODt:Array.isArray(a)?PDt:typeof a.valueOf!="function"&&typeof a.toString!="function"||isNaN(a)?FDt:B3)(i,a)}function $Dt(i,a){return i=+i,a=+a,function(u){return Math.round(i*(1-u)+a*u)}}var hFe=180/Math.PI,Gpe={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function fFe(i,a,u,d,p,v){var b,y,E;return(b=Math.sqrt(i*i+a*a))&&(i/=b,a/=b),(E=i*u+a*d)&&(u-=i*E,d-=a*E),(y=Math.sqrt(u*u+d*d))&&(u/=y,d/=y,E/=y),i*d<a*u&&(i=-i,a=-a,E=-E,b=-b),{translateX:p,translateY:v,rotate:Math.atan2(a,i)*hFe,skewX:Math.atan(E)*hFe,scaleX:b,scaleY:y}}var ZY;function zDt(i){const a=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(i+"");return a.isIdentity?Gpe:fFe(a.a,a.b,a.c,a.d,a.e,a.f)}function qDt(i){return i==null||(ZY||(ZY=document.createElementNS("http://www.w3.org/2000/svg","g")),ZY.setAttribute("transform",i),!(i=ZY.transform.baseVal.consolidate()))?Gpe:(i=i.matrix,fFe(i.a,i.b,i.c,i.d,i.e,i.f))}function dFe(i,a,u,d){function p(_){return _.length?_.pop()+" ":""}function v(_,A,P,R,B,j){if(_!==P||A!==R){var W=B.push("translate(",null,a,null,u);j.push({i:W-4,x:B3(_,P)},{i:W-2,x:B3(A,R)})}else(P||R)&&B.push("translate("+P+a+R+u)}function b(_,A,P,R){_!==A?(_-A>180?A+=360:A-_>180&&(_+=360),R.push({i:P.push(p(P)+"rotate(",null,d)-2,x:B3(_,A)})):A&&P.push(p(P)+"rotate("+A+d)}function y(_,A,P,R){_!==A?R.push({i:P.push(p(P)+"skewX(",null,d)-2,x:B3(_,A)}):A&&P.push(p(P)+"skewX("+A+d)}function E(_,A,P,R,B,j){if(_!==P||A!==R){var W=B.push(p(B)+"scale(",null,",",null,")");j.push({i:W-4,x:B3(_,P)},{i:W-2,x:B3(A,R)})}else(P!==1||R!==1)&&B.push(p(B)+"scale("+P+","+R+")")}return function(_,A){var P=[],R=[];return _=i(_),A=i(A),v(_.translateX,_.translateY,A.translateX,A.translateY,P,R),b(_.rotate,A.rotate,P,R),y(_.skewX,A.skewX,P,R),E(_.scaleX,_.scaleY,A.scaleX,A.scaleY,P,R),_=A=null,function(B){for(var j=-1,W=R.length,ee;++j<W;)P[(ee=R[j]).i]=ee.x(B);return P.join("")}}}var HDt=dFe(zDt,"px, ","px)","deg)"),UDt=dFe(qDt,", ",")",")");function VDt(i){return function(a,u){var d=i((a=qpe(a)).h,(u=qpe(u)).h),p=MF(a.c,u.c),v=MF(a.l,u.l),b=MF(a.opacity,u.opacity);return function(y){return a.h=d(y),a.c=p(y),a.l=v(y),a.opacity=b(y),a+""}}}const GDt=VDt(DDt);var rD=0,DF=0,IF=0,gFe=1e3,eX,OF,tX=0,vC=0,nX=0,NF=typeof performance=="object"&&performance.now?performance:Date,pFe=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(i){setTimeout(i,17)};function Kpe(){return vC||(pFe(KDt),vC=NF.now()+nX)}function KDt(){vC=0}function rX(){this._call=this._time=this._next=null}rX.prototype=bFe.prototype={constructor:rX,restart:function(i,a,u){if(typeof i!="function")throw new TypeError("callback is not a function");u=(u==null?Kpe():+u)+(a==null?0:+a),!this._next&&OF!==this&&(OF?OF._next=this:eX=this,OF=this),this._call=i,this._time=u,Wpe()},stop:function(){this._call&&(this._call=null,this._time=1/0,Wpe())}};function bFe(i,a,u){var d=new rX;return d.restart(i,a,u),d}function WDt(){Kpe(),++rD;for(var i=eX,a;i;)(a=vC-i._time)>=0&&i._call.call(void 0,a),i=i._next;--rD}function mFe(){vC=(tX=NF.now())+nX,rD=DF=0;try{WDt()}finally{rD=0,XDt(),vC=0}}function YDt(){var i=NF.now(),a=i-tX;a>gFe&&(nX-=a,tX=i)}function XDt(){for(var i,a=eX,u,d=1/0;a;)a._call?(d>a._time&&(d=a._time),i=a,a=a._next):(u=a._next,a._next=null,a=i?i._next=u:eX=u);OF=i,Wpe(d)}function Wpe(i){if(!rD){DF&&(DF=clearTimeout(DF));var a=i-vC;a>24?(i<1/0&&(DF=setTimeout(mFe,i-NF.now()-nX)),IF&&(IF=clearInterval(IF))):(IF||(tX=NF.now(),IF=setInterval(YDt,gFe)),rD=1,pFe(mFe))}}function vFe(i,a,u){var d=new rX;return a=a==null?0:+a,d.restart(p=>{d.stop(),i(p+a)},a,u),d}var QDt=MBe("start","end","cancel","interrupt"),JDt=[],wFe=0,yFe=1,Ype=2,iX=3,xFe=4,Xpe=5,sX=6;function aX(i,a,u,d,p,v){var b=i.__transition;if(!b)i.__transition={};else if(u in b)return;ZDt(i,u,{name:a,index:d,group:p,on:QDt,tween:JDt,time:v.time,delay:v.delay,duration:v.duration,ease:v.ease,timer:null,state:wFe})}function Qpe(i,a){var u=F3(i,a);if(u.state>wFe)throw new Error("too late; already scheduled");return u}function H4(i,a){var u=F3(i,a);if(u.state>iX)throw new Error("too late; already running");return u}function F3(i,a){var u=i.__transition;if(!u||!(u=u[a]))throw new Error("transition not found");return u}function ZDt(i,a,u){var d=i.__transition,p;d[a]=u,u.timer=bFe(v,0,u.time);function v(_){u.state=yFe,u.timer.restart(b,u.delay,u.time),u.delay<=_&&b(_-u.delay)}function b(_){var A,P,R,B;if(u.state!==yFe)return E();for(A in d)if(B=d[A],B.name===u.name){if(B.state===iX)return vFe(b);B.state===xFe?(B.state=sX,B.timer.stop(),B.on.call("interrupt",i,i.__data__,B.index,B.group),delete d[A]):+A<a&&(B.state=sX,B.timer.stop(),B.on.call("cancel",i,i.__data__,B.index,B.group),delete d[A])}if(vFe(function(){u.state===iX&&(u.state=xFe,u.timer.restart(y,u.delay,u.time),y(_))}),u.state=Ype,u.on.call("start",i,i.__data__,u.index,u.group),u.state===Ype){for(u.state=iX,p=new Array(R=u.tween.length),A=0,P=-1;A<R;++A)(B=u.tween[A].value.call(i,i.__data__,u.index,u.group))&&(p[++P]=B);p.length=P+1}}function y(_){for(var A=_<u.duration?u.ease.call(null,_/u.duration):(u.timer.restart(E),u.state=Xpe,1),P=-1,R=p.length;++P<R;)p[P].call(i,A);u.state===Xpe&&(u.on.call("end",i,i.__data__,u.index,u.group),E())}function E(){u.state=sX,u.timer.stop(),delete d[a];for(var _ in d)return;delete i.__transition}}function eIt(i,a){var u=i.__transition,d,p,v=!0,b;if(u){a=a==null?null:a+"";for(b in u){if((d=u[b]).name!==a){v=!1;continue}p=d.state>Ype&&d.state<Xpe,d.state=sX,d.timer.stop(),d.on.call(p?"interrupt":"cancel",i,i.__data__,d.index,d.group),delete u[b]}v&&delete i.__transition}}function tIt(i){return this.each(function(){eIt(this,i)})}function nIt(i,a){var u,d;return function(){var p=H4(this,i),v=p.tween;if(v!==u){d=u=v;for(var b=0,y=d.length;b<y;++b)if(d[b].name===a){d=d.slice(),d.splice(b,1);break}}p.tween=d}}function rIt(i,a,u){var d,p;if(typeof u!="function")throw new Error;return function(){var v=H4(this,i),b=v.tween;if(b!==d){p=(d=b).slice();for(var y={name:a,value:u},E=0,_=p.length;E<_;++E)if(p[E].name===a){p[E]=y;break}E===_&&p.push(y)}v.tween=p}}function iIt(i,a){var u=this._id;if(i+="",arguments.length<2){for(var d=F3(this.node(),u).tween,p=0,v=d.length,b;p<v;++p)if((b=d[p]).name===i)return b.value;return null}return this.each((a==null?nIt:rIt)(u,i,a))}function Jpe(i,a,u){var d=i._id;return i.each(function(){var p=H4(this,d);(p.value||(p.value={}))[a]=u.apply(this,arguments)}),function(p){return F3(p,d).value[a]}}function kFe(i,a){var u;return(typeof a=="number"?B3:a instanceof pC?JY:(u=pC(a))?(a=u,JY):lFe)(i,a)}function sIt(i){return function(){this.removeAttribute(i)}}function aIt(i){return function(){this.removeAttributeNS(i.space,i.local)}}function oIt(i,a,u){var d,p=u+"",v;return function(){var b=this.getAttribute(i);return b===p?null:b===d?v:v=a(d=b,u)}}function cIt(i,a,u){var d,p=u+"",v;return function(){var b=this.getAttributeNS(i.space,i.local);return b===p?null:b===d?v:v=a(d=b,u)}}function uIt(i,a,u){var d,p,v;return function(){var b,y=u(this),E;return y==null?void this.removeAttribute(i):(b=this.getAttribute(i),E=y+"",b===E?null:b===d&&E===p?v:(p=E,v=a(d=b,y)))}}function lIt(i,a,u){var d,p,v;return function(){var b,y=u(this),E;return y==null?void this.removeAttributeNS(i.space,i.local):(b=this.getAttributeNS(i.space,i.local),E=y+"",b===E?null:b===d&&E===p?v:(p=E,v=a(d=b,y)))}}function hIt(i,a){var u=HY(i),d=u==="transform"?UDt:kFe;return this.attrTween(i,typeof a=="function"?(u.local?lIt:uIt)(u,d,Jpe(this,"attr."+i,a)):a==null?(u.local?aIt:sIt)(u):(u.local?cIt:oIt)(u,d,a))}function fIt(i,a){return function(u){this.setAttribute(i,a.call(this,u))}}function dIt(i,a){return function(u){this.setAttributeNS(i.space,i.local,a.call(this,u))}}function gIt(i,a){var u,d;function p(){var v=a.apply(this,arguments);return v!==d&&(u=(d=v)&&dIt(i,v)),u}return p._value=a,p}function pIt(i,a){var u,d;function p(){var v=a.apply(this,arguments);return v!==d&&(u=(d=v)&&fIt(i,v)),u}return p._value=a,p}function bIt(i,a){var u="attr."+i;if(arguments.length<2)return(u=this.tween(u))&&u._value;if(a==null)return this.tween(u,null);if(typeof a!="function")throw new Error;var d=HY(i);return this.tween(u,(d.local?gIt:pIt)(d,a))}function mIt(i,a){return function(){Qpe(this,i).delay=+a.apply(this,arguments)}}function vIt(i,a){return a=+a,function(){Qpe(this,i).delay=a}}function wIt(i){var a=this._id;return arguments.length?this.each((typeof i=="function"?mIt:vIt)(a,i)):F3(this.node(),a).delay}function yIt(i,a){return function(){H4(this,i).duration=+a.apply(this,arguments)}}function xIt(i,a){return a=+a,function(){H4(this,i).duration=a}}function kIt(i){var a=this._id;return arguments.length?this.each((typeof i=="function"?yIt:xIt)(a,i)):F3(this.node(),a).duration}function TIt(i,a){if(typeof a!="function")throw new Error;return function(){H4(this,i).ease=a}}function EIt(i){var a=this._id;return arguments.length?this.each(TIt(a,i)):F3(this.node(),a).ease}function CIt(i,a){return function(){var u=a.apply(this,arguments);if(typeof u!="function")throw new Error;H4(this,i).ease=u}}function SIt(i){if(typeof i!="function")throw new Error;return this.each(CIt(this._id,i))}function _It(i){typeof i!="function"&&(i=BBe(i));for(var a=this._groups,u=a.length,d=new Array(u),p=0;p<u;++p)for(var v=a[p],b=v.length,y=d[p]=[],E,_=0;_<b;++_)(E=v[_])&&i.call(E,E.__data__,_,v)&&y.push(E);return new v7(d,this._parents,this._name,this._id)}function AIt(i){if(i._id!==this._id)throw new Error;for(var a=this._groups,u=i._groups,d=a.length,p=u.length,v=Math.min(d,p),b=new Array(d),y=0;y<v;++y)for(var E=a[y],_=u[y],A=E.length,P=b[y]=new Array(A),R,B=0;B<A;++B)(R=E[B]||_[B])&&(P[B]=R);for(;y<d;++y)b[y]=a[y];return new v7(b,this._parents,this._name,this._id)}function LIt(i){return(i+"").trim().split(/^|\s+/).every(function(a){var u=a.indexOf(".");return u>=0&&(a=a.slice(0,u)),!a||a==="start"})}function MIt(i,a,u){var d,p,v=LIt(a)?Qpe:H4;return function(){var b=v(this,i),y=b.on;y!==d&&(p=(d=y).copy()).on(a,u),b.on=p}}function DIt(i,a){var u=this._id;return arguments.length<2?F3(this.node(),u).on.on(i):this.each(MIt(u,i,a))}function IIt(i){return function(){var a=this.parentNode;for(var u in this.__transition)if(+u!==i)return;a&&a.removeChild(this)}}function OIt(){return this.on("end.remove",IIt(this._id))}function NIt(i){var a=this._name,u=this._id;typeof i!="function"&&(i=Ope(i));for(var d=this._groups,p=d.length,v=new Array(p),b=0;b<p;++b)for(var y=d[b],E=y.length,_=v[b]=new Array(E),A,P,R=0;R<E;++R)(A=y[R])&&(P=i.call(A,A.__data__,R,y))&&("__data__"in A&&(P.__data__=A.__data__),_[R]=P,aX(_[R],a,u,R,_,F3(A,u)));return new v7(v,this._parents,a,u)}function PIt(i){var a=this._name,u=this._id;typeof i!="function"&&(i=PBe(i));for(var d=this._groups,p=d.length,v=[],b=[],y=0;y<p;++y)for(var E=d[y],_=E.length,A,P=0;P<_;++P)if(A=E[P]){for(var R=i.call(A,A.__data__,P,E),B,j=F3(A,u),W=0,ee=R.length;W<ee;++W)(B=R[W])&&aX(B,a,u,W,R,j);v.push(R),b.push(A)}return new v7(v,b,a,u)}var BIt=SF.prototype.constructor;function FIt(){return new BIt(this._groups,this._parents)}function RIt(i,a){var u,d,p;return function(){var v=eD(this,i),b=(this.style.removeProperty(i),eD(this,i));return v===b?null:v===u&&b===d?p:p=a(u=v,d=b)}}function TFe(i){return function(){this.style.removeProperty(i)}}function jIt(i,a,u){var d,p=u+"",v;return function(){var b=eD(this,i);return b===p?null:b===d?v:v=a(d=b,u)}}function $It(i,a,u){var d,p,v;return function(){var b=eD(this,i),y=u(this),E=y+"";return y==null&&(E=y=(this.style.removeProperty(i),eD(this,i))),b===E?null:b===d&&E===p?v:(p=E,v=a(d=b,y))}}function zIt(i,a){var u,d,p,v="style."+a,b="end."+v,y;return function(){var E=H4(this,i),_=E.on,A=E.value[v]==null?y||(y=TFe(a)):void 0;(_!==u||p!==A)&&(d=(u=_).copy()).on(b,p=A),E.on=d}}function qIt(i,a,u){var d=(i+="")=="transform"?HDt:kFe;return a==null?this.styleTween(i,RIt(i,d)).on("end.style."+i,TFe(i)):typeof a=="function"?this.styleTween(i,$It(i,d,Jpe(this,"style."+i,a))).each(zIt(this._id,i)):this.styleTween(i,jIt(i,d,a),u).on("end.style."+i,null)}function HIt(i,a,u){return function(d){this.style.setProperty(i,a.call(this,d),u)}}function UIt(i,a,u){var d,p;function v(){var b=a.apply(this,arguments);return b!==p&&(d=(p=b)&&HIt(i,b,u)),d}return v._value=a,v}function VIt(i,a,u){var d="style."+(i+="");if(arguments.length<2)return(d=this.tween(d))&&d._value;if(a==null)return this.tween(d,null);if(typeof a!="function")throw new Error;return this.tween(d,UIt(i,a,u??""))}function GIt(i){return function(){this.textContent=i}}function KIt(i){return function(){var a=i(this);this.textContent=a??""}}function WIt(i){return this.tween("text",typeof i=="function"?KIt(Jpe(this,"text",i)):GIt(i==null?"":i+""))}function YIt(i){return function(a){this.textContent=i.call(this,a)}}function XIt(i){var a,u;function d(){var p=i.apply(this,arguments);return p!==u&&(a=(u=p)&&YIt(p)),a}return d._value=i,d}function QIt(i){var a="text";if(arguments.length<1)return(a=this.tween(a))&&a._value;if(i==null)return this.tween(a,null);if(typeof i!="function")throw new Error;return this.tween(a,XIt(i))}function JIt(){for(var i=this._name,a=this._id,u=EFe(),d=this._groups,p=d.length,v=0;v<p;++v)for(var b=d[v],y=b.length,E,_=0;_<y;++_)if(E=b[_]){var A=F3(E,a);aX(E,i,u,_,b,{time:A.time+A.delay+A.duration,delay:0,duration:A.duration,ease:A.ease})}return new v7(d,this._parents,i,u)}function ZIt(){var i,a,u=this,d=u._id,p=u.size();return new Promise(function(v,b){var y={value:b},E={value:function(){--p===0&&v()}};u.each(function(){var _=H4(this,d),A=_.on;A!==i&&(a=(i=A).copy(),a._.cancel.push(y),a._.interrupt.push(y),a._.end.push(E)),_.on=a}),p===0&&v()})}var eOt=0;function v7(i,a,u,d){this._groups=i,this._parents=a,this._name=u,this._id=d}function EFe(){return++eOt}var w7=SF.prototype;v7.prototype={constructor:v7,select:NIt,selectAll:PIt,selectChild:w7.selectChild,selectChildren:w7.selectChildren,filter:_It,merge:AIt,selection:FIt,transition:JIt,call:w7.call,nodes:w7.nodes,node:w7.node,size:w7.size,empty:w7.empty,each:w7.each,on:DIt,attr:hIt,attrTween:bIt,style:qIt,styleTween:VIt,text:WIt,textTween:QIt,remove:OIt,tween:iIt,delay:wIt,duration:kIt,ease:EIt,easeVarying:SIt,end:ZIt,[Symbol.iterator]:w7[Symbol.iterator]};function tOt(i){return((i*=2)<=1?i*i*i:(i-=2)*i*i+2)/2}var nOt={time:null,delay:0,duration:250,ease:tOt};function rOt(i,a){for(var u;!(u=i.__transition)||!(u=u[a]);)if(!(i=i.parentNode))throw new Error(`transition ${a} not found`);return u}function iOt(i){var a,u;i instanceof v7?(a=i._id,i=i._name):(a=EFe(),(u=nOt).time=Kpe(),i=i==null?null:i+"");for(var d=this._groups,p=d.length,v=0;v<p;++v)for(var b=d[v],y=b.length,E,_=0;_<y;++_)(E=b[_])&&aX(E,i,a,_,b,u||rOt(E,a));return new v7(d,this._parents,i,a)}SF.prototype.interrupt=tIt,SF.prototype.transition=iOt;const Zpe=Math.PI,e2e=2*Zpe,wC=1e-6,sOt=e2e-wC;function CFe(i){this._+=i[0];for(let a=1,u=i.length;a<u;++a)this._+=arguments[a]+i[a]}function aOt(i){let a=Math.floor(i);if(!(a>=0))throw new Error(`invalid digits: ${i}`);if(a>15)return CFe;const u=10**a;return function(d){this._+=d[0];for(let p=1,v=d.length;p<v;++p)this._+=Math.round(arguments[p]*u)/u+d[p]}}let oOt=class{constructor(a){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=a==null?CFe:aOt(a)}moveTo(a,u){this._append`M${this._x0=this._x1=+a},${this._y0=this._y1=+u}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(a,u){this._append`L${this._x1=+a},${this._y1=+u}`}quadraticCurveTo(a,u,d,p){this._append`Q${+a},${+u},${this._x1=+d},${this._y1=+p}`}bezierCurveTo(a,u,d,p,v,b){this._append`C${+a},${+u},${+d},${+p},${this._x1=+v},${this._y1=+b}`}arcTo(a,u,d,p,v){if(a=+a,u=+u,d=+d,p=+p,v=+v,v<0)throw new Error(`negative radius: ${v}`);let b=this._x1,y=this._y1,E=d-a,_=p-u,A=b-a,P=y-u,R=A*A+P*P;if(this._x1===null)this._append`M${this._x1=a},${this._y1=u}`;else if(R>wC)if(!(Math.abs(P*E-_*A)>wC)||!v)this._append`L${this._x1=a},${this._y1=u}`;else{let B=d-b,j=p-y,W=E*E+_*_,ee=B*B+j*j,ie=Math.sqrt(W),oe=Math.sqrt(R),be=v*Math.tan((Zpe-Math.acos((W+R-ee)/(2*ie*oe)))/2),ge=be/oe,ae=be/ie;Math.abs(ge-1)>wC&&this._append`L${a+ge*A},${u+ge*P}`,this._append`A${v},${v},0,0,${+(P*B>A*j)},${this._x1=a+ae*E},${this._y1=u+ae*_}`}}arc(a,u,d,p,v,b){if(a=+a,u=+u,d=+d,b=!!b,d<0)throw new Error(`negative radius: ${d}`);let y=d*Math.cos(p),E=d*Math.sin(p),_=a+y,A=u+E,P=1^b,R=b?p-v:v-p;this._x1===null?this._append`M${_},${A}`:(Math.abs(this._x1-_)>wC||Math.abs(this._y1-A)>wC)&&this._append`L${_},${A}`,d&&(R<0&&(R=R%e2e+e2e),R>sOt?this._append`A${d},${d},0,1,${P},${a-y},${u-E}A${d},${d},0,1,${P},${this._x1=_},${this._y1=A}`:R>wC&&this._append`A${d},${d},0,${+(R>=Zpe)},${P},${this._x1=a+d*Math.cos(v)},${this._y1=u+d*Math.sin(v)}`)}rect(a,u,d,p){this._append`M${this._x0=this._x1=+a},${this._y0=this._y1=+u}h${d=+d}v${+p}h${-d}Z`}toString(){return this._}};function cOt(i){if(!i.ok)throw new Error(i.status+" "+i.statusText);return i.text()}function uOt(i,a){return fetch(i,a).then(cOt)}function lOt(i){return(a,u)=>uOt(a,u).then(d=>new DOMParser().parseFromString(d,i))}var hOt=lOt("image/svg+xml");function fOt(i){return Math.abs(i=Math.round(i))>=1e21?i.toLocaleString("en").replace(/,/g,""):i.toString(10)}function oX(i,a){if((u=(i=a?i.toExponential(a-1):i.toExponential()).indexOf("e"))<0)return null;var u,d=i.slice(0,u);return[d.length>1?d[0]+d.slice(2):d,+i.slice(u+1)]}function iD(i){return i=oX(Math.abs(i)),i?i[1]:NaN}function dOt(i,a){return function(u,d){for(var p=u.length,v=[],b=0,y=i[0],E=0;p>0&&y>0&&(E+y+1>d&&(y=Math.max(1,d-E)),v.push(u.substring(p-=y,p+y)),!((E+=y+1)>d));)y=i[b=(b+1)%i.length];return v.reverse().join(a)}}function gOt(i){return function(a){return a.replace(/[0-9]/g,function(u){return i[+u]})}}var pOt=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function cX(i){if(!(a=pOt.exec(i)))throw new Error("invalid format: "+i);var a;return new t2e({fill:a[1],align:a[2],sign:a[3],symbol:a[4],zero:a[5],width:a[6],comma:a[7],precision:a[8]&&a[8].slice(1),trim:a[9],type:a[10]})}cX.prototype=t2e.prototype;function t2e(i){this.fill=i.fill===void 0?" ":i.fill+"",this.align=i.align===void 0?">":i.align+"",this.sign=i.sign===void 0?"-":i.sign+"",this.symbol=i.symbol===void 0?"":i.symbol+"",this.zero=!!i.zero,this.width=i.width===void 0?void 0:+i.width,this.comma=!!i.comma,this.precision=i.precision===void 0?void 0:+i.precision,this.trim=!!i.trim,this.type=i.type===void 0?"":i.type+""}t2e.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function bOt(i){e:for(var a=i.length,u=1,d=-1,p;u<a;++u)switch(i[u]){case".":d=p=u;break;case"0":d===0&&(d=u),p=u;break;default:if(!+i[u])break e;d>0&&(d=0);break}return d>0?i.slice(0,d)+i.slice(p+1):i}var SFe;function mOt(i,a){var u=oX(i,a);if(!u)return i+"";var d=u[0],p=u[1],v=p-(SFe=Math.max(-8,Math.min(8,Math.floor(p/3)))*3)+1,b=d.length;return v===b?d:v>b?d+new Array(v-b+1).join("0"):v>0?d.slice(0,v)+"."+d.slice(v):"0."+new Array(1-v).join("0")+oX(i,Math.max(0,a+v-1))[0]}function _Fe(i,a){var u=oX(i,a);if(!u)return i+"";var d=u[0],p=u[1];return p<0?"0."+new Array(-p).join("0")+d:d.length>p+1?d.slice(0,p+1)+"."+d.slice(p+1):d+new Array(p-d.length+2).join("0")}const AFe={"%":(i,a)=>(i*100).toFixed(a),b:i=>Math.round(i).toString(2),c:i=>i+"",d:fOt,e:(i,a)=>i.toExponential(a),f:(i,a)=>i.toFixed(a),g:(i,a)=>i.toPrecision(a),o:i=>Math.round(i).toString(8),p:(i,a)=>_Fe(i*100,a),r:_Fe,s:mOt,X:i=>Math.round(i).toString(16).toUpperCase(),x:i=>Math.round(i).toString(16)};function LFe(i){return i}var MFe=Array.prototype.map,DFe=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function vOt(i){var a=i.grouping===void 0||i.thousands===void 0?LFe:dOt(MFe.call(i.grouping,Number),i.thousands+""),u=i.currency===void 0?"":i.currency[0]+"",d=i.currency===void 0?"":i.currency[1]+"",p=i.decimal===void 0?".":i.decimal+"",v=i.numerals===void 0?LFe:gOt(MFe.call(i.numerals,String)),b=i.percent===void 0?"%":i.percent+"",y=i.minus===void 0?"":i.minus+"",E=i.nan===void 0?"NaN":i.nan+"";function _(P){P=cX(P);var R=P.fill,B=P.align,j=P.sign,W=P.symbol,ee=P.zero,ie=P.width,oe=P.comma,be=P.precision,ge=P.trim,ae=P.type;ae==="n"?(oe=!0,ae="g"):AFe[ae]||(be===void 0&&(be=12),ge=!0,ae="g"),(ee||R==="0"&&B==="=")&&(ee=!0,R="0",B="=");var ne=W==="$"?u:W==="#"&&/[boxX]/.test(ae)?"0"+ae.toLowerCase():"",se=W==="$"?d:/[%p]/.test(ae)?b:"",de=AFe[ae],X=/[defgprs%]/.test(ae);be=be===void 0?6:/[gprs]/.test(ae)?Math.max(1,Math.min(21,be)):Math.max(0,Math.min(20,be));function pe(G){var xe=ne,U=se,Be,Pe,je;if(ae==="c")U=de(G)+U,G="";else{G=+G;var Ie=G<0||1/G<0;if(G=isNaN(G)?E:de(Math.abs(G),be),ge&&(G=bOt(G)),Ie&&+G==0&&j!=="+"&&(Ie=!1),xe=(Ie?j==="("?j:y:j==="-"||j==="("?"":j)+xe,U=(ae==="s"?DFe[8+SFe/3]:"")+U+(Ie&&j==="("?")":""),X){for(Be=-1,Pe=G.length;++Be<Pe;)if(je=G.charCodeAt(Be),48>je||je>57){U=(je===46?p+G.slice(Be+1):G.slice(Be))+U,G=G.slice(0,Be);break}}}oe&&!ee&&(G=a(G,1/0));var Se=xe.length+G.length+U.length,Ce=Se<ie?new Array(ie-Se+1).join(R):"";switch(oe&&ee&&(G=a(Ce+G,Ce.length?ie-U.length:1/0),Ce=""),B){case"<":G=xe+G+U+Ce;break;case"=":G=xe+Ce+G+U;break;case"^":G=Ce.slice(0,Se=Ce.length>>1)+xe+G+U+Ce.slice(Se);break;default:G=Ce+xe+G+U;break}return v(G)}return pe.toString=function(){return P+""},pe}function A(P,R){var B=_((P=cX(P),P.type="f",P)),j=Math.max(-8,Math.min(8,Math.floor(iD(R)/3)))*3,W=Math.pow(10,-j),ee=DFe[8+j/3];return function(ie){return B(W*ie)+ee}}return{format:_,formatPrefix:A}}var uX,IFe,OFe;wOt({thousands:",",grouping:[3],currency:["$",""]});function wOt(i){return uX=vOt(i),IFe=uX.format,OFe=uX.formatPrefix,uX}function yOt(i){return Math.max(0,-iD(Math.abs(i)))}function xOt(i,a){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(iD(a)/3)))*3-iD(Math.abs(i)))}function kOt(i,a){return i=Math.abs(i),a=Math.abs(a)-i,Math.max(0,iD(a)-iD(i))+1}function lX(i,a){switch(arguments.length){case 0:break;case 1:this.range(i);break;default:this.range(a).domain(i);break}return this}const NFe=Symbol("implicit");function PF(){var i=new SBe,a=[],u=[],d=NFe;function p(v){let b=i.get(v);if(b===void 0){if(d!==NFe)return d;i.set(v,b=a.push(v)-1)}return u[b%u.length]}return p.domain=function(v){if(!arguments.length)return a.slice();a=[],i=new SBe;for(const b of v)i.has(b)||i.set(b,a.push(b)-1);return p},p.range=function(v){return arguments.length?(u=Array.from(v),p):u.slice()},p.unknown=function(v){return arguments.length?(d=v,p):d},p.copy=function(){return PF(a,u).unknown(d)},lX.apply(p,arguments),p}function n2e(){var i=PF().unknown(void 0),a=i.domain,u=i.range,d=0,p=1,v,b,y=!1,E=0,_=0,A=.5;delete i.unknown;function P(){var R=a().length,B=p<d,j=B?p:d,W=B?d:p;v=(W-j)/Math.max(1,R-E+_*2),y&&(v=Math.floor(v)),j+=(W-j-v*(R-E))*A,b=v*(1-E),y&&(j=Math.round(j),b=Math.round(b));var ee=CLt(R).map(function(ie){return j+v*ie});return u(B?ee.reverse():ee)}return i.domain=function(R){return arguments.length?(a(R),P()):a()},i.range=function(R){return arguments.length?([d,p]=R,d=+d,p=+p,P()):[d,p]},i.rangeRound=function(R){return[d,p]=R,d=+d,p=+p,y=!0,P()},i.bandwidth=function(){return b},i.step=function(){return v},i.round=function(R){return arguments.length?(y=!!R,P()):y},i.padding=function(R){return arguments.length?(E=Math.min(1,_=+R),P()):E},i.paddingInner=function(R){return arguments.length?(E=Math.min(1,R),P()):E},i.paddingOuter=function(R){return arguments.length?(_=+R,P()):_},i.align=function(R){return arguments.length?(A=Math.max(0,Math.min(1,R)),P()):A},i.copy=function(){return n2e(a(),[d,p]).round(y).paddingInner(E).paddingOuter(_).align(A)},lX.apply(P(),arguments)}function TOt(i){return function(){return i}}function EOt(i){return+i}var PFe=[0,1];function sD(i){return i}function r2e(i,a){return(a-=i=+i)?function(u){return(u-i)/a}:TOt(isNaN(a)?NaN:.5)}function COt(i,a){var u;return i>a&&(u=i,i=a,a=u),function(d){return Math.max(i,Math.min(a,d))}}function SOt(i,a,u){var d=i[0],p=i[1],v=a[0],b=a[1];return p<d?(d=r2e(p,d),v=u(b,v)):(d=r2e(d,p),v=u(v,b)),function(y){return v(d(y))}}function _Ot(i,a,u){var d=Math.min(i.length,a.length)-1,p=new Array(d),v=new Array(d),b=-1;for(i[d]<i[0]&&(i=i.slice().reverse(),a=a.slice().reverse());++b<d;)p[b]=r2e(i[b],i[b+1]),v[b]=u(a[b],a[b+1]);return function(y){var E=pLt(i,y,1,d)-1;return v[E](p[E](y))}}function BFe(i,a){return a.domain(i.domain()).range(i.range()).interpolate(i.interpolate()).clamp(i.clamp()).unknown(i.unknown())}function AOt(){var i=PFe,a=PFe,u=Vpe,d,p,v,b=sD,y,E,_;function A(){var R=Math.min(i.length,a.length);return b!==sD&&(b=COt(i[0],i[R-1])),y=R>2?_Ot:SOt,E=_=null,P}function P(R){return R==null||isNaN(R=+R)?v:(E||(E=y(i.map(d),a,u)))(d(b(R)))}return P.invert=function(R){return b(p((_||(_=y(a,i.map(d),B3)))(R)))},P.domain=function(R){return arguments.length?(i=Array.from(R,EOt),A()):i.slice()},P.range=function(R){return arguments.length?(a=Array.from(R),A()):a.slice()},P.rangeRound=function(R){return a=Array.from(R),u=$Dt,A()},P.clamp=function(R){return arguments.length?(b=R?!0:sD,A()):b!==sD},P.interpolate=function(R){return arguments.length?(u=R,A()):u},P.unknown=function(R){return arguments.length?(v=R,P):v},function(R,B){return d=R,p=B,A()}}function FFe(){return AOt()(sD,sD)}function LOt(i,a,u,d){var p=Lpe(i,a,u),v;switch(d=cX(d??",f"),d.type){case"s":{var b=Math.max(Math.abs(i),Math.abs(a));return d.precision==null&&!isNaN(v=xOt(p,b))&&(d.precision=v),OFe(d,b)}case"":case"e":case"g":case"p":case"r":{d.precision==null&&!isNaN(v=kOt(p,Math.max(Math.abs(i),Math.abs(a))))&&(d.precision=v-(d.type==="e"));break}case"f":case"%":{d.precision==null&&!isNaN(v=yOt(p))&&(d.precision=v-(d.type==="%")*2);break}}return IFe(d)}function MOt(i){var a=i.domain;return i.ticks=function(u){var d=a();return kLt(d[0],d[d.length-1],u??10)},i.tickFormat=function(u,d){var p=a();return LOt(p[0],p[p.length-1],u??10,d)},i.nice=function(u){u==null&&(u=10);var d=a(),p=0,v=d.length-1,b=d[p],y=d[v],E,_,A=10;for(y<b&&(_=b,b=y,y=_,_=p,p=v,v=_);A-- >0;){if(_=Ape(b,y,u),_===E)return d[p]=b,d[v]=y,a(d);if(_>0)b=Math.floor(b/_)*_,y=Math.ceil(y/_)*_;else if(_<0)b=Math.ceil(b*_)/_,y=Math.floor(y*_)/_;else break;E=_}return i},i}function aD(){var i=FFe();return i.copy=function(){return BFe(i,aD())},lX.apply(i,arguments),MOt(i)}function DOt(i,a){i=i.slice();var u=0,d=i.length-1,p=i[u],v=i[d],b;return v<p&&(b=u,u=d,d=b,b=p,p=v,v=b),i[u]=a.floor(p),i[d]=a.ceil(v),i}const i2e=new Date,s2e=new Date;function l1(i,a,u,d){function p(v){return i(v=arguments.length===0?new Date:new Date(+v)),v}return p.floor=v=>(i(v=new Date(+v)),v),p.ceil=v=>(i(v=new Date(v-1)),a(v,1),i(v),v),p.round=v=>{const b=p(v),y=p.ceil(v);return v-b<y-v?b:y},p.offset=(v,b)=>(a(v=new Date(+v),b==null?1:Math.floor(b)),v),p.range=(v,b,y)=>{const E=[];if(v=p.ceil(v),y=y==null?1:Math.floor(y),!(v<b)||!(y>0))return E;let _;do E.push(_=new Date(+v)),a(v,y),i(v);while(_<v&&v<b);return E},p.filter=v=>l1(b=>{if(b>=b)for(;i(b),!v(b);)b.setTime(b-1)},(b,y)=>{if(b>=b)if(y<0)for(;++y<=0;)for(;a(b,-1),!v(b););else for(;--y>=0;)for(;a(b,1),!v(b););}),u&&(p.count=(v,b)=>(i2e.setTime(+v),s2e.setTime(+b),i(i2e),i(s2e),Math.floor(u(i2e,s2e))),p.every=v=>(v=Math.floor(v),!isFinite(v)||!(v>0)?null:v>1?p.filter(d?b=>d(b)%v===0:b=>p.count(0,b)%v===0):p)),p}const oD=l1(()=>{},(i,a)=>{i.setTime(+i+a)},(i,a)=>a-i);oD.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?l1(a=>{a.setTime(Math.floor(a/i)*i)},(a,u)=>{a.setTime(+a+u*i)},(a,u)=>(u-a)/i):oD),oD.range;const y7=1e3,Rv=y7*60,x7=Rv*60,k7=x7*24,a2e=k7*7,RFe=k7*30,o2e=k7*365,m9=l1(i=>{i.setTime(i-i.getMilliseconds())},(i,a)=>{i.setTime(+i+a*y7)},(i,a)=>(a-i)/y7,i=>i.getUTCSeconds());m9.range;const BF=l1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*y7)},(i,a)=>{i.setTime(+i+a*Rv)},(i,a)=>(a-i)/Rv,i=>i.getMinutes());BF.range,l1(i=>{i.setUTCSeconds(0,0)},(i,a)=>{i.setTime(+i+a*Rv)},(i,a)=>(a-i)/Rv,i=>i.getUTCMinutes()).range;const FF=l1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*y7-i.getMinutes()*Rv)},(i,a)=>{i.setTime(+i+a*x7)},(i,a)=>(a-i)/x7,i=>i.getHours());FF.range,l1(i=>{i.setUTCMinutes(0,0,0)},(i,a)=>{i.setTime(+i+a*x7)},(i,a)=>(a-i)/x7,i=>i.getUTCHours()).range;const yC=l1(i=>i.setHours(0,0,0,0),(i,a)=>i.setDate(i.getDate()+a),(i,a)=>(a-i-(a.getTimezoneOffset()-i.getTimezoneOffset())*Rv)/k7,i=>i.getDate()-1);yC.range;const c2e=l1(i=>{i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCDate(i.getUTCDate()+a)},(i,a)=>(a-i)/k7,i=>i.getUTCDate()-1);c2e.range,l1(i=>{i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCDate(i.getUTCDate()+a)},(i,a)=>(a-i)/k7,i=>Math.floor(i/k7)).range;function xC(i){return l1(a=>{a.setDate(a.getDate()-(a.getDay()+7-i)%7),a.setHours(0,0,0,0)},(a,u)=>{a.setDate(a.getDate()+u*7)},(a,u)=>(u-a-(u.getTimezoneOffset()-a.getTimezoneOffset())*Rv)/a2e)}const RF=xC(0),jF=xC(1),jFe=xC(2),$Fe=xC(3),kC=xC(4),zFe=xC(5),qFe=xC(6);RF.range,jF.range,jFe.range,$Fe.range,kC.range,zFe.range,qFe.range;function TC(i){return l1(a=>{a.setUTCDate(a.getUTCDate()-(a.getUTCDay()+7-i)%7),a.setUTCHours(0,0,0,0)},(a,u)=>{a.setUTCDate(a.getUTCDate()+u*7)},(a,u)=>(u-a)/a2e)}const HFe=TC(0),hX=TC(1),IOt=TC(2),OOt=TC(3),cD=TC(4),NOt=TC(5),POt=TC(6);HFe.range,hX.range,IOt.range,OOt.range,cD.range,NOt.range,POt.range;const $F=l1(i=>{i.setDate(1),i.setHours(0,0,0,0)},(i,a)=>{i.setMonth(i.getMonth()+a)},(i,a)=>a.getMonth()-i.getMonth()+(a.getFullYear()-i.getFullYear())*12,i=>i.getMonth());$F.range,l1(i=>{i.setUTCDate(1),i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCMonth(i.getUTCMonth()+a)},(i,a)=>a.getUTCMonth()-i.getUTCMonth()+(a.getUTCFullYear()-i.getUTCFullYear())*12,i=>i.getUTCMonth()).range;const T7=l1(i=>{i.setMonth(0,1),i.setHours(0,0,0,0)},(i,a)=>{i.setFullYear(i.getFullYear()+a)},(i,a)=>a.getFullYear()-i.getFullYear(),i=>i.getFullYear());T7.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:l1(a=>{a.setFullYear(Math.floor(a.getFullYear()/i)*i),a.setMonth(0,1),a.setHours(0,0,0,0)},(a,u)=>{a.setFullYear(a.getFullYear()+u*i)}),T7.range;const EC=l1(i=>{i.setUTCMonth(0,1),i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCFullYear(i.getUTCFullYear()+a)},(i,a)=>a.getUTCFullYear()-i.getUTCFullYear(),i=>i.getUTCFullYear());EC.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:l1(a=>{a.setUTCFullYear(Math.floor(a.getUTCFullYear()/i)*i),a.setUTCMonth(0,1),a.setUTCHours(0,0,0,0)},(a,u)=>{a.setUTCFullYear(a.getUTCFullYear()+u*i)}),EC.range;function BOt(i,a,u,d,p,v){const b=[[m9,1,y7],[m9,5,5*y7],[m9,15,15*y7],[m9,30,30*y7],[v,1,Rv],[v,5,5*Rv],[v,15,15*Rv],[v,30,30*Rv],[p,1,x7],[p,3,3*x7],[p,6,6*x7],[p,12,12*x7],[d,1,k7],[d,2,2*k7],[u,1,a2e],[a,1,RFe],[a,3,3*RFe],[i,1,o2e]];function y(_,A,P){const R=A<_;R&&([_,A]=[A,_]);const B=P&&typeof P.range=="function"?P:E(_,A,P),j=B?B.range(_,+A+1):[];return R?j.reverse():j}function E(_,A,P){const R=Math.abs(A-_)/P,B=_pe(([,,ee])=>ee).right(b,R);if(B===b.length)return i.every(Lpe(_/o2e,A/o2e,P));if(B===0)return oD.every(Math.max(Lpe(_,A,P),1));const[j,W]=b[R/b[B-1][2]<b[B][2]/R?B-1:B];return j.every(W)}return[y,E]}const[FOt,ROt]=BOt(T7,$F,RF,yC,FF,BF);function u2e(i){if(0<=i.y&&i.y<100){var a=new Date(-1,i.m,i.d,i.H,i.M,i.S,i.L);return a.setFullYear(i.y),a}return new Date(i.y,i.m,i.d,i.H,i.M,i.S,i.L)}function l2e(i){if(0<=i.y&&i.y<100){var a=new Date(Date.UTC(-1,i.m,i.d,i.H,i.M,i.S,i.L));return a.setUTCFullYear(i.y),a}return new Date(Date.UTC(i.y,i.m,i.d,i.H,i.M,i.S,i.L))}function zF(i,a,u){return{y:i,m:a,d:u,H:0,M:0,S:0,L:0}}function jOt(i){var a=i.dateTime,u=i.date,d=i.time,p=i.periods,v=i.days,b=i.shortDays,y=i.months,E=i.shortMonths,_=qF(p),A=HF(p),P=qF(v),R=HF(v),B=qF(b),j=HF(b),W=qF(y),ee=HF(y),ie=qF(E),oe=HF(E),be={a:Ie,A:Se,b:Ce,B:ke,c:null,d:YFe,e:YFe,f:cNt,g:vNt,G:yNt,H:sNt,I:aNt,j:oNt,L:XFe,m:uNt,M:lNt,p:Ke,q:zt,Q:nRe,s:rRe,S:hNt,u:fNt,U:dNt,V:gNt,w:pNt,W:bNt,x:null,X:null,y:mNt,Y:wNt,Z:xNt,"%":tRe},ge={a:Ne,A:pn,b:Tt,B:Et,c:null,d:JFe,e:JFe,f:CNt,g:PNt,G:FNt,H:kNt,I:TNt,j:ENt,L:ZFe,m:SNt,M:_Nt,p:Wt,q:un,Q:nRe,s:rRe,S:ANt,u:LNt,U:MNt,V:DNt,w:INt,W:ONt,x:null,X:null,y:NNt,Y:BNt,Z:RNt,"%":tRe},ae={a:pe,A:G,b:xe,B:U,c:Be,d:KFe,e:KFe,f:tNt,g:GFe,G:VFe,H:WFe,I:WFe,j:QOt,L:eNt,m:XOt,M:JOt,p:X,q:YOt,Q:rNt,s:iNt,S:ZOt,u:UOt,U:VOt,V:GOt,w:HOt,W:KOt,x:Pe,X:je,y:GFe,Y:VFe,Z:WOt,"%":nNt};be.x=ne(u,be),be.X=ne(d,be),be.c=ne(a,be),ge.x=ne(u,ge),ge.X=ne(d,ge),ge.c=ne(a,ge);function ne(yt,Bt){return function(Ze){var Dt=[],kt=-1,Nn=0,ht=yt.length,qr,xt,Ri;for(Ze instanceof Date||(Ze=new Date(+Ze));++kt<ht;)yt.charCodeAt(kt)===37&&(Dt.push(yt.slice(Nn,kt)),(xt=UFe[qr=yt.charAt(++kt)])!=null?qr=yt.charAt(++kt):xt=qr==="e"?" ":"0",(Ri=Bt[qr])&&(qr=Ri(Ze,xt)),Dt.push(qr),Nn=kt+1);return Dt.push(yt.slice(Nn,kt)),Dt.join("")}}function se(yt,Bt){return function(Ze){var Dt=zF(1900,void 0,1),kt=de(Dt,yt,Ze+="",0),Nn,ht;if(kt!=Ze.length)return null;if("Q"in Dt)return new Date(Dt.Q);if("s"in Dt)return new Date(Dt.s*1e3+("L"in Dt?Dt.L:0));if(Bt&&!("Z"in Dt)&&(Dt.Z=0),"p"in Dt&&(Dt.H=Dt.H%12+Dt.p*12),Dt.m===void 0&&(Dt.m="q"in Dt?Dt.q:0),"V"in Dt){if(Dt.V<1||Dt.V>53)return null;"w"in Dt||(Dt.w=1),"Z"in Dt?(Nn=l2e(zF(Dt.y,0,1)),ht=Nn.getUTCDay(),Nn=ht>4||ht===0?hX.ceil(Nn):hX(Nn),Nn=c2e.offset(Nn,(Dt.V-1)*7),Dt.y=Nn.getUTCFullYear(),Dt.m=Nn.getUTCMonth(),Dt.d=Nn.getUTCDate()+(Dt.w+6)%7):(Nn=u2e(zF(Dt.y,0,1)),ht=Nn.getDay(),Nn=ht>4||ht===0?jF.ceil(Nn):jF(Nn),Nn=yC.offset(Nn,(Dt.V-1)*7),Dt.y=Nn.getFullYear(),Dt.m=Nn.getMonth(),Dt.d=Nn.getDate()+(Dt.w+6)%7)}else("W"in Dt||"U"in Dt)&&("w"in Dt||(Dt.w="u"in Dt?Dt.u%7:"W"in Dt?1:0),ht="Z"in Dt?l2e(zF(Dt.y,0,1)).getUTCDay():u2e(zF(Dt.y,0,1)).getDay(),Dt.m=0,Dt.d="W"in Dt?(Dt.w+6)%7+Dt.W*7-(ht+5)%7:Dt.w+Dt.U*7-(ht+6)%7);return"Z"in Dt?(Dt.H+=Dt.Z/100|0,Dt.M+=Dt.Z%100,l2e(Dt)):u2e(Dt)}}function de(yt,Bt,Ze,Dt){for(var kt=0,Nn=Bt.length,ht=Ze.length,qr,xt;kt<Nn;){if(Dt>=ht)return-1;if(qr=Bt.charCodeAt(kt++),qr===37){if(qr=Bt.charAt(kt++),xt=ae[qr in UFe?Bt.charAt(kt++):qr],!xt||(Dt=xt(yt,Ze,Dt))<0)return-1}else if(qr!=Ze.charCodeAt(Dt++))return-1}return Dt}function X(yt,Bt,Ze){var Dt=_.exec(Bt.slice(Ze));return Dt?(yt.p=A.get(Dt[0].toLowerCase()),Ze+Dt[0].length):-1}function pe(yt,Bt,Ze){var Dt=B.exec(Bt.slice(Ze));return Dt?(yt.w=j.get(Dt[0].toLowerCase()),Ze+Dt[0].length):-1}function G(yt,Bt,Ze){var Dt=P.exec(Bt.slice(Ze));return Dt?(yt.w=R.get(Dt[0].toLowerCase()),Ze+Dt[0].length):-1}function xe(yt,Bt,Ze){var Dt=ie.exec(Bt.slice(Ze));return Dt?(yt.m=oe.get(Dt[0].toLowerCase()),Ze+Dt[0].length):-1}function U(yt,Bt,Ze){var Dt=W.exec(Bt.slice(Ze));return Dt?(yt.m=ee.get(Dt[0].toLowerCase()),Ze+Dt[0].length):-1}function Be(yt,Bt,Ze){return de(yt,a,Bt,Ze)}function Pe(yt,Bt,Ze){return de(yt,u,Bt,Ze)}function je(yt,Bt,Ze){return de(yt,d,Bt,Ze)}function Ie(yt){return b[yt.getDay()]}function Se(yt){return v[yt.getDay()]}function Ce(yt){return E[yt.getMonth()]}function ke(yt){return y[yt.getMonth()]}function Ke(yt){return p[+(yt.getHours()>=12)]}function zt(yt){return 1+~~(yt.getMonth()/3)}function Ne(yt){return b[yt.getUTCDay()]}function pn(yt){return v[yt.getUTCDay()]}function Tt(yt){return E[yt.getUTCMonth()]}function Et(yt){return y[yt.getUTCMonth()]}function Wt(yt){return p[+(yt.getUTCHours()>=12)]}function un(yt){return 1+~~(yt.getUTCMonth()/3)}return{format:function(yt){var Bt=ne(yt+="",be);return Bt.toString=function(){return yt},Bt},parse:function(yt){var Bt=se(yt+="",!1);return Bt.toString=function(){return yt},Bt},utcFormat:function(yt){var Bt=ne(yt+="",ge);return Bt.toString=function(){return yt},Bt},utcParse:function(yt){var Bt=se(yt+="",!0);return Bt.toString=function(){return yt},Bt}}}var UFe={"-":"",_:" ",0:"0"},rd=/^\s*\d+/,$Ot=/^%/,zOt=/[\\^$*+?|[\]().{}]/g;function bu(i,a,u){var d=i<0?"-":"",p=(d?-i:i)+"",v=p.length;return d+(v<u?new Array(u-v+1).join(a)+p:p)}function qOt(i){return i.replace(zOt,"\\$&")}function qF(i){return new RegExp("^(?:"+i.map(qOt).join("|")+")","i")}function HF(i){return new Map(i.map((a,u)=>[a.toLowerCase(),u]))}function HOt(i,a,u){var d=rd.exec(a.slice(u,u+1));return d?(i.w=+d[0],u+d[0].length):-1}function UOt(i,a,u){var d=rd.exec(a.slice(u,u+1));return d?(i.u=+d[0],u+d[0].length):-1}function VOt(i,a,u){var d=rd.exec(a.slice(u,u+2));return d?(i.U=+d[0],u+d[0].length):-1}function GOt(i,a,u){var d=rd.exec(a.slice(u,u+2));return d?(i.V=+d[0],u+d[0].length):-1}function KOt(i,a,u){var d=rd.exec(a.slice(u,u+2));return d?(i.W=+d[0],u+d[0].length):-1}function VFe(i,a,u){var d=rd.exec(a.slice(u,u+4));return d?(i.y=+d[0],u+d[0].length):-1}function GFe(i,a,u){var d=rd.exec(a.slice(u,u+2));return d?(i.y=+d[0]+(+d[0]>68?1900:2e3),u+d[0].length):-1}function WOt(i,a,u){var d=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(a.slice(u,u+6));return d?(i.Z=d[1]?0:-(d[2]+(d[3]||"00")),u+d[0].length):-1}function YOt(i,a,u){var d=rd.exec(a.slice(u,u+1));return d?(i.q=d[0]*3-3,u+d[0].length):-1}function XOt(i,a,u){var d=rd.exec(a.slice(u,u+2));return d?(i.m=d[0]-1,u+d[0].length):-1}function KFe(i,a,u){var d=rd.exec(a.slice(u,u+2));return d?(i.d=+d[0],u+d[0].length):-1}function QOt(i,a,u){var d=rd.exec(a.slice(u,u+3));return d?(i.m=0,i.d=+d[0],u+d[0].length):-1}function WFe(i,a,u){var d=rd.exec(a.slice(u,u+2));return d?(i.H=+d[0],u+d[0].length):-1}function JOt(i,a,u){var d=rd.exec(a.slice(u,u+2));return d?(i.M=+d[0],u+d[0].length):-1}function ZOt(i,a,u){var d=rd.exec(a.slice(u,u+2));return d?(i.S=+d[0],u+d[0].length):-1}function eNt(i,a,u){var d=rd.exec(a.slice(u,u+3));return d?(i.L=+d[0],u+d[0].length):-1}function tNt(i,a,u){var d=rd.exec(a.slice(u,u+6));return d?(i.L=Math.floor(d[0]/1e3),u+d[0].length):-1}function nNt(i,a,u){var d=$Ot.exec(a.slice(u,u+1));return d?u+d[0].length:-1}function rNt(i,a,u){var d=rd.exec(a.slice(u));return d?(i.Q=+d[0],u+d[0].length):-1}function iNt(i,a,u){var d=rd.exec(a.slice(u));return d?(i.s=+d[0],u+d[0].length):-1}function YFe(i,a){return bu(i.getDate(),a,2)}function sNt(i,a){return bu(i.getHours(),a,2)}function aNt(i,a){return bu(i.getHours()%12||12,a,2)}function oNt(i,a){return bu(1+yC.count(T7(i),i),a,3)}function XFe(i,a){return bu(i.getMilliseconds(),a,3)}function cNt(i,a){return XFe(i,a)+"000"}function uNt(i,a){return bu(i.getMonth()+1,a,2)}function lNt(i,a){return bu(i.getMinutes(),a,2)}function hNt(i,a){return bu(i.getSeconds(),a,2)}function fNt(i){var a=i.getDay();return a===0?7:a}function dNt(i,a){return bu(RF.count(T7(i)-1,i),a,2)}function QFe(i){var a=i.getDay();return a>=4||a===0?kC(i):kC.ceil(i)}function gNt(i,a){return i=QFe(i),bu(kC.count(T7(i),i)+(T7(i).getDay()===4),a,2)}function pNt(i){return i.getDay()}function bNt(i,a){return bu(jF.count(T7(i)-1,i),a,2)}function mNt(i,a){return bu(i.getFullYear()%100,a,2)}function vNt(i,a){return i=QFe(i),bu(i.getFullYear()%100,a,2)}function wNt(i,a){return bu(i.getFullYear()%1e4,a,4)}function yNt(i,a){var u=i.getDay();return i=u>=4||u===0?kC(i):kC.ceil(i),bu(i.getFullYear()%1e4,a,4)}function xNt(i){var a=i.getTimezoneOffset();return(a>0?"-":(a*=-1,"+"))+bu(a/60|0,"0",2)+bu(a%60,"0",2)}function JFe(i,a){return bu(i.getUTCDate(),a,2)}function kNt(i,a){return bu(i.getUTCHours(),a,2)}function TNt(i,a){return bu(i.getUTCHours()%12||12,a,2)}function ENt(i,a){return bu(1+c2e.count(EC(i),i),a,3)}function ZFe(i,a){return bu(i.getUTCMilliseconds(),a,3)}function CNt(i,a){return ZFe(i,a)+"000"}function SNt(i,a){return bu(i.getUTCMonth()+1,a,2)}function _Nt(i,a){return bu(i.getUTCMinutes(),a,2)}function ANt(i,a){return bu(i.getUTCSeconds(),a,2)}function LNt(i){var a=i.getUTCDay();return a===0?7:a}function MNt(i,a){return bu(HFe.count(EC(i)-1,i),a,2)}function eRe(i){var a=i.getUTCDay();return a>=4||a===0?cD(i):cD.ceil(i)}function DNt(i,a){return i=eRe(i),bu(cD.count(EC(i),i)+(EC(i).getUTCDay()===4),a,2)}function INt(i){return i.getUTCDay()}function ONt(i,a){return bu(hX.count(EC(i)-1,i),a,2)}function NNt(i,a){return bu(i.getUTCFullYear()%100,a,2)}function PNt(i,a){return i=eRe(i),bu(i.getUTCFullYear()%100,a,2)}function BNt(i,a){return bu(i.getUTCFullYear()%1e4,a,4)}function FNt(i,a){var u=i.getUTCDay();return i=u>=4||u===0?cD(i):cD.ceil(i),bu(i.getUTCFullYear()%1e4,a,4)}function RNt(){return"+0000"}function tRe(){return"%"}function nRe(i){return+i}function rRe(i){return Math.floor(+i/1e3)}var uD,fX;jNt({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"]});function jNt(i){return uD=jOt(i),fX=uD.format,uD.parse,uD.utcFormat,uD.utcParse,uD}function $Nt(i){return new Date(i)}function zNt(i){return i instanceof Date?+i:+new Date(+i)}function iRe(i,a,u,d,p,v,b,y,E,_){var A=FFe(),P=A.invert,R=A.domain,B=_(".%L"),j=_(":%S"),W=_("%I:%M"),ee=_("%I %p"),ie=_("%a %d"),oe=_("%b %d"),be=_("%B"),ge=_("%Y");function ae(ne){return(E(ne)<ne?B:y(ne)<ne?j:b(ne)<ne?W:v(ne)<ne?ee:d(ne)<ne?p(ne)<ne?ie:oe:u(ne)<ne?be:ge)(ne)}return A.invert=function(ne){return new Date(P(ne))},A.domain=function(ne){return arguments.length?R(Array.from(ne,zNt)):R().map($Nt)},A.ticks=function(ne){var se=R();return i(se[0],se[se.length-1],ne??10)},A.tickFormat=function(ne,se){return se==null?ae:_(se)},A.nice=function(ne){var se=R();return(!ne||typeof ne.range!="function")&&(ne=a(se[0],se[se.length-1],ne??10)),ne?R(DOt(se,ne)):A},A.copy=function(){return BFe(A,iRe(i,a,u,d,p,v,b,y,E,_))},A}function qNt(){return lX.apply(iRe(FOt,ROt,T7,$F,RF,yC,FF,BF,m9,fX).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function HNt(i){for(var a=i.length/6|0,u=new Array(a),d=0;d<a;)u[d]="#"+i.slice(d*6,++d*6);return u}const sRe=HNt("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");function Wf(i){return function(){return i}}const aRe=Math.abs,Ng=Math.atan2,CC=Math.cos,UNt=Math.max,h2e=Math.min,U4=Math.sin,lD=Math.sqrt,Pg=1e-12,UF=Math.PI,dX=UF/2,gX=2*UF;function VNt(i){return i>1?0:i<-1?UF:Math.acos(i)}function oRe(i){return i>=1?dX:i<=-1?-dX:Math.asin(i)}function cRe(i){let a=3;return i.digits=function(u){if(!arguments.length)return a;if(u==null)a=null;else{const d=Math.floor(u);if(!(d>=0))throw new RangeError(`invalid digits: ${u}`);a=d}return i},()=>new oOt(a)}function GNt(i){return i.innerRadius}function KNt(i){return i.outerRadius}function WNt(i){return i.startAngle}function YNt(i){return i.endAngle}function XNt(i){return i&&i.padAngle}function QNt(i,a,u,d,p,v,b,y){var E=u-i,_=d-a,A=b-p,P=y-v,R=P*E-A*_;if(!(R*R<Pg))return R=(A*(a-v)-P*(i-p))/R,[i+R*E,a+R*_]}function pX(i,a,u,d,p,v,b){var y=i-u,E=a-d,_=(b?v:-v)/lD(y*y+E*E),A=_*E,P=-_*y,R=i+A,B=a+P,j=u+A,W=d+P,ee=(R+j)/2,ie=(B+W)/2,oe=j-R,be=W-B,ge=oe*oe+be*be,ae=p-v,ne=R*W-j*B,se=(be<0?-1:1)*lD(UNt(0,ae*ae*ge-ne*ne)),de=(ne*be-oe*se)/ge,X=(-ne*oe-be*se)/ge,pe=(ne*be+oe*se)/ge,G=(-ne*oe+be*se)/ge,xe=de-ee,U=X-ie,Be=pe-ee,Pe=G-ie;return xe*xe+U*U>Be*Be+Pe*Pe&&(de=pe,X=G),{cx:de,cy:X,x01:-A,y01:-P,x11:de*(p/ae-1),y11:X*(p/ae-1)}}function hD(){var i=GNt,a=KNt,u=Wf(0),d=null,p=WNt,v=YNt,b=XNt,y=null,E=cRe(_);function _(){var A,P,R=+i.apply(this,arguments),B=+a.apply(this,arguments),j=p.apply(this,arguments)-dX,W=v.apply(this,arguments)-dX,ee=aRe(W-j),ie=W>j;if(y||(y=A=E()),B<R&&(P=B,B=R,R=P),!(B>Pg))y.moveTo(0,0);else if(ee>gX-Pg)y.moveTo(B*CC(j),B*U4(j)),y.arc(0,0,B,j,W,!ie),R>Pg&&(y.moveTo(R*CC(W),R*U4(W)),y.arc(0,0,R,W,j,ie));else{var oe=j,be=W,ge=j,ae=W,ne=ee,se=ee,de=b.apply(this,arguments)/2,X=de>Pg&&(d?+d.apply(this,arguments):lD(R*R+B*B)),pe=h2e(aRe(B-R)/2,+u.apply(this,arguments)),G=pe,xe=pe,U,Be;if(X>Pg){var Pe=oRe(X/R*U4(de)),je=oRe(X/B*U4(de));(ne-=Pe*2)>Pg?(Pe*=ie?1:-1,ge+=Pe,ae-=Pe):(ne=0,ge=ae=(j+W)/2),(se-=je*2)>Pg?(je*=ie?1:-1,oe+=je,be-=je):(se=0,oe=be=(j+W)/2)}var Ie=B*CC(oe),Se=B*U4(oe),Ce=R*CC(ae),ke=R*U4(ae);if(pe>Pg){var Ke=B*CC(be),zt=B*U4(be),Ne=R*CC(ge),pn=R*U4(ge),Tt;if(ee<UF)if(Tt=QNt(Ie,Se,Ne,pn,Ke,zt,Ce,ke)){var Et=Ie-Tt[0],Wt=Se-Tt[1],un=Ke-Tt[0],yt=zt-Tt[1],Bt=1/U4(VNt((Et*un+Wt*yt)/(lD(Et*Et+Wt*Wt)*lD(un*un+yt*yt)))/2),Ze=lD(Tt[0]*Tt[0]+Tt[1]*Tt[1]);G=h2e(pe,(R-Ze)/(Bt-1)),xe=h2e(pe,(B-Ze)/(Bt+1))}else G=xe=0}se>Pg?xe>Pg?(U=pX(Ne,pn,Ie,Se,B,xe,ie),Be=pX(Ke,zt,Ce,ke,B,xe,ie),y.moveTo(U.cx+U.x01,U.cy+U.y01),xe<pe?y.arc(U.cx,U.cy,xe,Ng(U.y01,U.x01),Ng(Be.y01,Be.x01),!ie):(y.arc(U.cx,U.cy,xe,Ng(U.y01,U.x01),Ng(U.y11,U.x11),!ie),y.arc(0,0,B,Ng(U.cy+U.y11,U.cx+U.x11),Ng(Be.cy+Be.y11,Be.cx+Be.x11),!ie),y.arc(Be.cx,Be.cy,xe,Ng(Be.y11,Be.x11),Ng(Be.y01,Be.x01),!ie))):(y.moveTo(Ie,Se),y.arc(0,0,B,oe,be,!ie)):y.moveTo(Ie,Se),!(R>Pg)||!(ne>Pg)?y.lineTo(Ce,ke):G>Pg?(U=pX(Ce,ke,Ke,zt,R,-G,ie),Be=pX(Ie,Se,Ne,pn,R,-G,ie),y.lineTo(U.cx+U.x01,U.cy+U.y01),G<pe?y.arc(U.cx,U.cy,G,Ng(U.y01,U.x01),Ng(Be.y01,Be.x01),!ie):(y.arc(U.cx,U.cy,G,Ng(U.y01,U.x01),Ng(U.y11,U.x11),!ie),y.arc(0,0,R,Ng(U.cy+U.y11,U.cx+U.x11),Ng(Be.cy+Be.y11,Be.cx+Be.x11),ie),y.arc(Be.cx,Be.cy,G,Ng(Be.y11,Be.x11),Ng(Be.y01,Be.x01),!ie))):y.arc(0,0,R,ae,ge,ie)}if(y.closePath(),A)return y=null,A+""||null}return _.centroid=function(){var A=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2,P=(+p.apply(this,arguments)+ +v.apply(this,arguments))/2-UF/2;return[CC(P)*A,U4(P)*A]},_.innerRadius=function(A){return arguments.length?(i=typeof A=="function"?A:Wf(+A),_):i},_.outerRadius=function(A){return arguments.length?(a=typeof A=="function"?A:Wf(+A),_):a},_.cornerRadius=function(A){return arguments.length?(u=typeof A=="function"?A:Wf(+A),_):u},_.padRadius=function(A){return arguments.length?(d=A==null?null:typeof A=="function"?A:Wf(+A),_):d},_.startAngle=function(A){return arguments.length?(p=typeof A=="function"?A:Wf(+A),_):p},_.endAngle=function(A){return arguments.length?(v=typeof A=="function"?A:Wf(+A),_):v},_.padAngle=function(A){return arguments.length?(b=typeof A=="function"?A:Wf(+A),_):b},_.context=function(A){return arguments.length?(y=A??null,_):y},_}function uRe(i){return typeof i=="object"&&"length"in i?i:Array.from(i)}function lRe(i){this._context=i}lRe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;default:this._context.lineTo(i,a);break}}};function Sp(i){return new lRe(i)}function JNt(i){return i[0]}function ZNt(i){return i[1]}function E7(i,a){var u=Wf(!0),d=null,p=Sp,v=null,b=cRe(y);i=typeof i=="function"?i:i===void 0?JNt:Wf(i),a=typeof a=="function"?a:a===void 0?ZNt:Wf(a);function y(E){var _,A=(E=uRe(E)).length,P,R=!1,B;for(d==null&&(v=p(B=b())),_=0;_<=A;++_)!(_<A&&u(P=E[_],_,E))===R&&((R=!R)?v.lineStart():v.lineEnd()),R&&v.point(+i(P,_,E),+a(P,_,E));if(B)return v=null,B+""||null}return y.x=function(E){return arguments.length?(i=typeof E=="function"?E:Wf(+E),y):i},y.y=function(E){return arguments.length?(a=typeof E=="function"?E:Wf(+E),y):a},y.defined=function(E){return arguments.length?(u=typeof E=="function"?E:Wf(!!E),y):u},y.curve=function(E){return arguments.length?(p=E,d!=null&&(v=p(d)),y):p},y.context=function(E){return arguments.length?(E==null?d=v=null:v=p(d=E),y):d},y}function ePt(i,a){return a<i?-1:a>i?1:a>=i?0:NaN}function tPt(i){return i}function nPt(){var i=tPt,a=ePt,u=null,d=Wf(0),p=Wf(gX),v=Wf(0);function b(y){var E,_=(y=uRe(y)).length,A,P,R=0,B=new Array(_),j=new Array(_),W=+d.apply(this,arguments),ee=Math.min(gX,Math.max(-gX,p.apply(this,arguments)-W)),ie,oe=Math.min(Math.abs(ee)/_,v.apply(this,arguments)),be=oe*(ee<0?-1:1),ge;for(E=0;E<_;++E)(ge=j[B[E]=E]=+i(y[E],E,y))>0&&(R+=ge);for(a!=null?B.sort(function(ae,ne){return a(j[ae],j[ne])}):u!=null&&B.sort(function(ae,ne){return u(y[ae],y[ne])}),E=0,P=R?(ee-_*be)/R:0;E<_;++E,W=ie)A=B[E],ge=j[A],ie=W+(ge>0?ge*P:0)+be,j[A]={data:y[A],index:E,value:ge,startAngle:W,endAngle:ie,padAngle:oe};return j}return b.value=function(y){return arguments.length?(i=typeof y=="function"?y:Wf(+y),b):i},b.sortValues=function(y){return arguments.length?(a=y,u=null,b):a},b.sort=function(y){return arguments.length?(u=y,a=null,b):u},b.startAngle=function(y){return arguments.length?(d=typeof y=="function"?y:Wf(+y),b):d},b.endAngle=function(y){return arguments.length?(p=typeof y=="function"?y:Wf(+y),b):p},b.padAngle=function(y){return arguments.length?(v=typeof y=="function"?y:Wf(+y),b):v},b}class hRe{constructor(a,u){this._context=a,this._x=u}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(a,u){switch(a=+a,u=+u,this._point){case 0:{this._point=1,this._line?this._context.lineTo(a,u):this._context.moveTo(a,u);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+a)/2,this._y0,this._x0,u,a,u):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+u)/2,a,this._y0,a,u);break}}this._x0=a,this._y0=u}}function rPt(i){return new hRe(i,!0)}function iPt(i){return new hRe(i,!1)}function v9(){}function bX(i,a,u){i._context.bezierCurveTo((2*i._x0+i._x1)/3,(2*i._y0+i._y1)/3,(i._x0+2*i._x1)/3,(i._y0+2*i._y1)/3,(i._x0+4*i._x1+a)/6,(i._y0+4*i._y1+u)/6)}function mX(i){this._context=i}mX.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:bX(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);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:bX(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function VF(i){return new mX(i)}function fRe(i){this._context=i}fRe.prototype={areaStart:v9,areaEnd:v9,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);break}}},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._x2=i,this._y2=a;break;case 1:this._point=2,this._x3=i,this._y3=a;break;case 2:this._point=3,this._x4=i,this._y4=a,this._context.moveTo((this._x0+4*this._x1+i)/6,(this._y0+4*this._y1+a)/6);break;default:bX(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function sPt(i){return new fRe(i)}function dRe(i){this._context=i}dRe.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var u=(this._x0+4*this._x1+i)/6,d=(this._y0+4*this._y1+a)/6;this._line?this._context.lineTo(u,d):this._context.moveTo(u,d);break;case 3:this._point=4;default:bX(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function aPt(i){return new dRe(i)}function gRe(i,a){this._basis=new mX(i),this._beta=a}gRe.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var i=this._x,a=this._y,u=i.length-1;if(u>0)for(var d=i[0],p=a[0],v=i[u]-d,b=a[u]-p,y=-1,E;++y<=u;)E=y/u,this._basis.point(this._beta*i[y]+(1-this._beta)*(d+E*v),this._beta*a[y]+(1-this._beta)*(p+E*b));this._x=this._y=null,this._basis.lineEnd()},point:function(i,a){this._x.push(+i),this._y.push(+a)}};const oPt=function i(a){function u(d){return a===1?new mX(d):new gRe(d,a)}return u.beta=function(d){return i(+d)},u}(.85);function vX(i,a,u){i._context.bezierCurveTo(i._x1+i._k*(i._x2-i._x0),i._y1+i._k*(i._y2-i._y0),i._x2+i._k*(i._x1-a),i._y2+i._k*(i._y1-u),i._x2,i._y2)}function f2e(i,a){this._context=i,this._k=(1-a)/6}f2e.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:vX(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2,this._x1=i,this._y1=a;break;case 2:this._point=3;default:vX(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const cPt=function i(a){function u(d){return new f2e(d,a)}return u.tension=function(d){return i(+d)},u}(0);function d2e(i,a){this._context=i,this._k=(1-a)/6}d2e.prototype={areaStart:v9,areaEnd:v9,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);break}}},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._x3=i,this._y3=a;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=a);break;case 2:this._point=3,this._x5=i,this._y5=a;break;default:vX(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const uPt=function i(a){function u(d){return new d2e(d,a)}return u.tension=function(d){return i(+d)},u}(0);function g2e(i,a){this._context=i,this._k=(1-a)/6}g2e.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,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:vX(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const lPt=function i(a){function u(d){return new g2e(d,a)}return u.tension=function(d){return i(+d)},u}(0);function p2e(i,a,u){var d=i._x1,p=i._y1,v=i._x2,b=i._y2;if(i._l01_a>Pg){var y=2*i._l01_2a+3*i._l01_a*i._l12_a+i._l12_2a,E=3*i._l01_a*(i._l01_a+i._l12_a);d=(d*y-i._x0*i._l12_2a+i._x2*i._l01_2a)/E,p=(p*y-i._y0*i._l12_2a+i._y2*i._l01_2a)/E}if(i._l23_a>Pg){var _=2*i._l23_2a+3*i._l23_a*i._l12_a+i._l12_2a,A=3*i._l23_a*(i._l23_a+i._l12_a);v=(v*_+i._x1*i._l23_2a-a*i._l12_2a)/A,b=(b*_+i._y1*i._l23_2a-u*i._l12_2a)/A}i._context.bezierCurveTo(d,p,v,b,i._x2,i._y2)}function pRe(i,a){this._context=i,this._alpha=a}pRe.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);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){if(i=+i,a=+a,this._point){var u=this._x2-i,d=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(u*u+d*d,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;break;case 2:this._point=3;default:p2e(this,i,a);break}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=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const hPt=function i(a){function u(d){return a?new pRe(d,a):new f2e(d,0)}return u.alpha=function(d){return i(+d)},u}(.5);function bRe(i,a){this._context=i,this._alpha=a}bRe.prototype={areaStart:v9,areaEnd:v9,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);break}}},point:function(i,a){if(i=+i,a=+a,this._point){var u=this._x2-i,d=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(u*u+d*d,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=i,this._y3=a;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=a);break;case 2:this._point=3,this._x5=i,this._y5=a;break;default:p2e(this,i,a);break}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=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const fPt=function i(a){function u(d){return a?new bRe(d,a):new d2e(d,0)}return u.alpha=function(d){return i(+d)},u}(.5);function mRe(i,a){this._context=i,this._alpha=a}mRe.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){if(i=+i,a=+a,this._point){var u=this._x2-i,d=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(u*u+d*d,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:p2e(this,i,a);break}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=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const dPt=function i(a){function u(d){return a?new mRe(d,a):new g2e(d,0)}return u.alpha=function(d){return i(+d)},u}(.5);function vRe(i){this._context=i}vRe.prototype={areaStart:v9,areaEnd:v9,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(i,a){i=+i,a=+a,this._point?this._context.lineTo(i,a):(this._point=1,this._context.moveTo(i,a))}};function gPt(i){return new vRe(i)}function wRe(i){return i<0?-1:1}function yRe(i,a,u){var d=i._x1-i._x0,p=a-i._x1,v=(i._y1-i._y0)/(d||p<0&&-0),b=(u-i._y1)/(p||d<0&&-0),y=(v*p+b*d)/(d+p);return(wRe(v)+wRe(b))*Math.min(Math.abs(v),Math.abs(b),.5*Math.abs(y))||0}function xRe(i,a){var u=i._x1-i._x0;return u?(3*(i._y1-i._y0)/u-a)/2:a}function b2e(i,a,u){var d=i._x0,p=i._y0,v=i._x1,b=i._y1,y=(v-d)/3;i._context.bezierCurveTo(d+y,p+y*a,v-y,b-y*u,v,b)}function wX(i){this._context=i}wX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:b2e(this,this._t0,xRe(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){var u=NaN;if(i=+i,a=+a,!(i===this._x1&&a===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;break;case 2:this._point=3,b2e(this,xRe(this,u=yRe(this,i,a)),u);break;default:b2e(this,this._t0,u=yRe(this,i,a));break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a,this._t0=u}}};function kRe(i){this._context=new TRe(i)}(kRe.prototype=Object.create(wX.prototype)).point=function(i,a){wX.prototype.point.call(this,a,i)};function TRe(i){this._context=i}TRe.prototype={moveTo:function(i,a){this._context.moveTo(a,i)},closePath:function(){this._context.closePath()},lineTo:function(i,a){this._context.lineTo(a,i)},bezierCurveTo:function(i,a,u,d,p,v){this._context.bezierCurveTo(a,i,d,u,v,p)}};function pPt(i){return new wX(i)}function bPt(i){return new kRe(i)}function ERe(i){this._context=i}ERe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var i=this._x,a=this._y,u=i.length;if(u)if(this._line?this._context.lineTo(i[0],a[0]):this._context.moveTo(i[0],a[0]),u===2)this._context.lineTo(i[1],a[1]);else for(var d=CRe(i),p=CRe(a),v=0,b=1;b<u;++v,++b)this._context.bezierCurveTo(d[0][v],p[0][v],d[1][v],p[1][v],i[b],a[b]);(this._line||this._line!==0&&u===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(i,a){this._x.push(+i),this._y.push(+a)}};function CRe(i){var a,u=i.length-1,d,p=new Array(u),v=new Array(u),b=new Array(u);for(p[0]=0,v[0]=2,b[0]=i[0]+2*i[1],a=1;a<u-1;++a)p[a]=1,v[a]=4,b[a]=4*i[a]+2*i[a+1];for(p[u-1]=2,v[u-1]=7,b[u-1]=8*i[u-1]+i[u],a=1;a<u;++a)d=p[a]/v[a-1],v[a]-=d,b[a]-=d*b[a-1];for(p[u-1]=b[u-1]/v[u-1],a=u-2;a>=0;--a)p[a]=(b[a]-p[a+1])/v[a];for(v[u-1]=(i[u]+p[u-1])/2,a=0;a<u-1;++a)v[a]=2*i[a+1]-p[a+1];return[p,v]}function mPt(i){return new ERe(i)}function yX(i,a){this._context=i,this._t=a}yX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,a),this._context.lineTo(i,a);else{var u=this._x*(1-this._t)+i*this._t;this._context.lineTo(u,this._y),this._context.lineTo(u,a)}break}}this._x=i,this._y=a}};function vPt(i){return new yX(i,.5)}function wPt(i){return new yX(i,0)}function yPt(i){return new yX(i,1)}function GF(i,a,u){this.k=i,this.x=a,this.y=u}GF.prototype={constructor:GF,scale:function(i){return i===1?this:new GF(this.k*i,this.x,this.y)},translate:function(i,a){return i===0&a===0?this:new GF(this.k,this.x+this.k*i,this.y+this.k*a)},apply:function(i){return[i[0]*this.k+this.x,i[1]*this.k+this.y]},applyX:function(i){return i*this.k+this.x},applyY:function(i){return i*this.k+this.y},invert:function(i){return[(i[0]-this.x)/this.k,(i[1]-this.y)/this.k]},invertX:function(i){return(i-this.x)/this.k},invertY:function(i){return(i-this.y)/this.k},rescaleX:function(i){return i.copy().domain(i.range().map(this.invertX,this).map(i.invert,i))},rescaleY:function(i){return i.copy().domain(i.range().map(this.invertY,this).map(i.invert,i))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},GF.prototype;/*! @license DOMPurify 3.4.2 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.2/LICENSE */const{entries:SRe,setPrototypeOf:_Re,isFrozen:xPt,getPrototypeOf:kPt,getOwnPropertyDescriptor:TPt}=Object;let{freeze:_p,seal:jv,create:fD}=Object,{apply:m2e,construct:v2e}=typeof Reflect<"u"&&Reflect;_p||(_p=function(a){return a}),jv||(jv=function(a){return a}),m2e||(m2e=function(a,u){for(var d=arguments.length,p=new Array(d>2?d-2:0),v=2;v<d;v++)p[v-2]=arguments[v];return a.apply(u,p)}),v2e||(v2e=function(a){for(var u=arguments.length,d=new Array(u>1?u-1:0),p=1;p<u;p++)d[p-1]=arguments[p];return new a(...d)});const KF=M0(Array.prototype.forEach),EPt=M0(Array.prototype.lastIndexOf),ARe=M0(Array.prototype.pop),WF=M0(Array.prototype.push),CPt=M0(Array.prototype.splice),Ap=Array.isArray,YF=M0(String.prototype.toLowerCase),w2e=M0(String.prototype.toString),LRe=M0(String.prototype.match),dD=M0(String.prototype.replace),MRe=M0(String.prototype.indexOf),SPt=M0(String.prototype.trim),_Pt=M0(Number.prototype.toString),APt=M0(Boolean.prototype.toString),DRe=typeof BigInt>"u"?null:M0(BigInt.prototype.toString),IRe=typeof Symbol>"u"?null:M0(Symbol.prototype.toString),kf=M0(Object.prototype.hasOwnProperty),XF=M0(Object.prototype.toString),Ud=M0(RegExp.prototype.test),xX=LPt(TypeError);function M0(i){return function(a){a instanceof RegExp&&(a.lastIndex=0);for(var u=arguments.length,d=new Array(u>1?u-1:0),p=1;p<u;p++)d[p-1]=arguments[p];return m2e(i,a,d)}}function LPt(i){return function(){for(var a=arguments.length,u=new Array(a),d=0;d<a;d++)u[d]=arguments[d];return v2e(i,u)}}function Yo(i,a){let u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:YF;if(_Re&&_Re(i,null),!Ap(a))return i;let d=a.length;for(;d--;){let p=a[d];if(typeof p=="string"){const v=u(p);v!==p&&(xPt(a)||(a[d]=v),p=v)}i[p]=!0}return i}function MPt(i){for(let a=0;a<i.length;a++)kf(i,a)||(i[a]=null);return i}function V2(i){const a=fD(null);for(const[u,d]of SRe(i))kf(i,u)&&(Ap(d)?a[u]=MPt(d):d&&typeof d=="object"&&d.constructor===Object?a[u]=V2(d):a[u]=d);return a}function DPt(i){switch(typeof i){case"string":return i;case"number":return _Pt(i);case"boolean":return APt(i);case"bigint":return DRe?DRe(i):"0";case"symbol":return IRe?IRe(i):"Symbol()";case"undefined":return XF(i);case"function":case"object":{if(i===null)return XF(i);const a=i,u=gD(a,"toString");if(typeof u=="function"){const d=u(a);return typeof d=="string"?d:XF(d)}return XF(i)}default:return XF(i)}}function gD(i,a){for(;i!==null;){const d=TPt(i,a);if(d){if(d.get)return M0(d.get);if(typeof d.value=="function")return M0(d.value)}i=kPt(i)}function u(){return null}return u}function IPt(i){try{return Ud(i,""),!0}catch{return!1}}const ORe=_p(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),y2e=_p(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),x2e=_p(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),OPt=_p(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),k2e=_p(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),NPt=_p(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),NRe=_p(["#text"]),PRe=_p(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),T2e=_p(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),BRe=_p(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),kX=_p(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),PPt=jv(/\{\{[\w\W]*|[\w\W]*\}\}/gm),BPt=jv(/<%[\w\W]*|[\w\W]*%>/gm),FPt=jv(/\$\{[\w\W]*/gm),RPt=jv(/^data-[\-\w.\u00B7-\uFFFF]+$/),jPt=jv(/^aria-[\-\w]+$/),FRe=jv(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),$Pt=jv(/^(?:\w+script|data):/i),zPt=jv(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),RRe=jv(/^html$/i),qPt=jv(/^[a-z][.\w]*(-[.\w]+)+$/i);var jRe=Object.freeze({__proto__:null,ARIA_ATTR:jPt,ATTR_WHITESPACE:zPt,CUSTOM_ELEMENT:qPt,DATA_ATTR:RPt,DOCTYPE_NAME:RRe,ERB_EXPR:BPt,IS_ALLOWED_URI:FRe,IS_SCRIPT_OR_DATA:$Pt,MUSTACHE_EXPR:PPt,TMPLIT_EXPR:FPt});const QF={element:1,text:3,progressingInstruction:7,comment:8,document:9},HPt=function(){return typeof window>"u"?null:window},UPt=function(a,u){if(typeof a!="object"||typeof a.createPolicy!="function")return null;let d=null;const p="data-tt-policy-suffix";u&&u.hasAttribute(p)&&(d=u.getAttribute(p));const v="dompurify"+(d?"#"+d:"");try{return a.createPolicy(v,{createHTML(b){return b},createScriptURL(b){return b}})}catch{return console.warn("TrustedTypes policy "+v+" could not be created."),null}},$Re=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function zRe(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:HPt();const a=bs=>zRe(bs);if(a.version="3.4.2",a.removed=[],!i||!i.document||i.document.nodeType!==QF.document||!i.Element)return a.isSupported=!1,a;let{document:u}=i;const d=u,p=d.currentScript,{DocumentFragment:v,HTMLTemplateElement:b,Node:y,Element:E,NodeFilter:_,NamedNodeMap:A=i.NamedNodeMap||i.MozNamedAttrMap,HTMLFormElement:P,DOMParser:R,trustedTypes:B}=i,j=E.prototype,W=gD(j,"cloneNode"),ee=gD(j,"remove"),ie=gD(j,"nextSibling"),oe=gD(j,"childNodes"),be=gD(j,"parentNode");if(typeof b=="function"){const bs=u.createElement("template");bs.content&&bs.content.ownerDocument&&(u=bs.content.ownerDocument)}let ge,ae="";const{implementation:ne,createNodeIterator:se,createDocumentFragment:de,getElementsByTagName:X}=u,{importNode:pe}=d;let G=$Re();a.isSupported=typeof SRe=="function"&&typeof be=="function"&&ne&&ne.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:xe,ERB_EXPR:U,TMPLIT_EXPR:Be,DATA_ATTR:Pe,ARIA_ATTR:je,IS_SCRIPT_OR_DATA:Ie,ATTR_WHITESPACE:Se,CUSTOM_ELEMENT:Ce}=jRe;let{IS_ALLOWED_URI:ke}=jRe,Ke=null;const zt=Yo({},[...ORe,...y2e,...x2e,...k2e,...NRe]);let Ne=null;const pn=Yo({},[...PRe,...T2e,...BRe,...kX]);let Tt=Object.seal(fD(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,Wt=null;const un=Object.seal(fD(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let yt=!0,Bt=!0,Ze=!1,Dt=!0,kt=!1,Nn=!0,ht=!1,qr=!1,xt=!1,Ri=!1,wi=!1,ia=!1,Hs=!0,mo=!1;const Tr="user-content-";let On=!0,Rn=!1,zn={},Ct=null;const gt=Yo({},["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 on=null;const dn=Yo({},["audio","video","img","source","image","track"]);let Ln=null;const Io=Yo({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Oo="http://www.w3.org/1998/Math/MathML",No="http://www.w3.org/2000/svg",Us="http://www.w3.org/1999/xhtml";let uo=Us,Es=!1,Ou=null;const _c=Yo({},[Oo,No,Us],w2e);let Kd=Yo({},["mi","mo","mn","ms","mtext"]),qp=Yo({},["annotation-xml"]);const Ul=Yo({},["title","style","font","a","script"]);let Ac=null;const Jc=["application/xhtml+xml","text/html"],Ya="text/html";let Ba=null,ha=null;const $o=u.createElement("form"),Lc=function(Vt){return Vt instanceof RegExp||Vt instanceof Function},Fa=function(){let Vt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(ha&&ha===Vt)return;(!Vt||typeof Vt!="object")&&(Vt={}),Vt=V2(Vt),Ac=Jc.indexOf(Vt.PARSER_MEDIA_TYPE)===-1?Ya:Vt.PARSER_MEDIA_TYPE,Ba=Ac==="application/xhtml+xml"?w2e:YF,Ke=kf(Vt,"ALLOWED_TAGS")&&Ap(Vt.ALLOWED_TAGS)?Yo({},Vt.ALLOWED_TAGS,Ba):zt,Ne=kf(Vt,"ALLOWED_ATTR")&&Ap(Vt.ALLOWED_ATTR)?Yo({},Vt.ALLOWED_ATTR,Ba):pn,Ou=kf(Vt,"ALLOWED_NAMESPACES")&&Ap(Vt.ALLOWED_NAMESPACES)?Yo({},Vt.ALLOWED_NAMESPACES,w2e):_c,Ln=kf(Vt,"ADD_URI_SAFE_ATTR")&&Ap(Vt.ADD_URI_SAFE_ATTR)?Yo(V2(Io),Vt.ADD_URI_SAFE_ATTR,Ba):Io,on=kf(Vt,"ADD_DATA_URI_TAGS")&&Ap(Vt.ADD_DATA_URI_TAGS)?Yo(V2(dn),Vt.ADD_DATA_URI_TAGS,Ba):dn,Ct=kf(Vt,"FORBID_CONTENTS")&&Ap(Vt.FORBID_CONTENTS)?Yo({},Vt.FORBID_CONTENTS,Ba):gt,Et=kf(Vt,"FORBID_TAGS")&&Ap(Vt.FORBID_TAGS)?Yo({},Vt.FORBID_TAGS,Ba):V2({}),Wt=kf(Vt,"FORBID_ATTR")&&Ap(Vt.FORBID_ATTR)?Yo({},Vt.FORBID_ATTR,Ba):V2({}),zn=kf(Vt,"USE_PROFILES")?Vt.USE_PROFILES&&typeof Vt.USE_PROFILES=="object"?V2(Vt.USE_PROFILES):Vt.USE_PROFILES:!1,yt=Vt.ALLOW_ARIA_ATTR!==!1,Bt=Vt.ALLOW_DATA_ATTR!==!1,Ze=Vt.ALLOW_UNKNOWN_PROTOCOLS||!1,Dt=Vt.ALLOW_SELF_CLOSE_IN_ATTR!==!1,kt=Vt.SAFE_FOR_TEMPLATES||!1,Nn=Vt.SAFE_FOR_XML!==!1,ht=Vt.WHOLE_DOCUMENT||!1,Ri=Vt.RETURN_DOM||!1,wi=Vt.RETURN_DOM_FRAGMENT||!1,ia=Vt.RETURN_TRUSTED_TYPE||!1,xt=Vt.FORCE_BODY||!1,Hs=Vt.SANITIZE_DOM!==!1,mo=Vt.SANITIZE_NAMED_PROPS||!1,On=Vt.KEEP_CONTENT!==!1,Rn=Vt.IN_PLACE||!1,ke=IPt(Vt.ALLOWED_URI_REGEXP)?Vt.ALLOWED_URI_REGEXP:FRe,uo=typeof Vt.NAMESPACE=="string"?Vt.NAMESPACE:Us,Kd=kf(Vt,"MATHML_TEXT_INTEGRATION_POINTS")&&Vt.MATHML_TEXT_INTEGRATION_POINTS&&typeof Vt.MATHML_TEXT_INTEGRATION_POINTS=="object"?V2(Vt.MATHML_TEXT_INTEGRATION_POINTS):Yo({},["mi","mo","mn","ms","mtext"]),qp=kf(Vt,"HTML_INTEGRATION_POINTS")&&Vt.HTML_INTEGRATION_POINTS&&typeof Vt.HTML_INTEGRATION_POINTS=="object"?V2(Vt.HTML_INTEGRATION_POINTS):Yo({},["annotation-xml"]);const jr=kf(Vt,"CUSTOM_ELEMENT_HANDLING")&&Vt.CUSTOM_ELEMENT_HANDLING&&typeof Vt.CUSTOM_ELEMENT_HANDLING=="object"?V2(Vt.CUSTOM_ELEMENT_HANDLING):fD(null);if(Tt=fD(null),kf(jr,"tagNameCheck")&&Lc(jr.tagNameCheck)&&(Tt.tagNameCheck=jr.tagNameCheck),kf(jr,"attributeNameCheck")&&Lc(jr.attributeNameCheck)&&(Tt.attributeNameCheck=jr.attributeNameCheck),kf(jr,"allowCustomizedBuiltInElements")&&typeof jr.allowCustomizedBuiltInElements=="boolean"&&(Tt.allowCustomizedBuiltInElements=jr.allowCustomizedBuiltInElements),kt&&(Bt=!1),wi&&(Ri=!0),zn&&(Ke=Yo({},NRe),Ne=fD(null),zn.html===!0&&(Yo(Ke,ORe),Yo(Ne,PRe)),zn.svg===!0&&(Yo(Ke,y2e),Yo(Ne,T2e),Yo(Ne,kX)),zn.svgFilters===!0&&(Yo(Ke,x2e),Yo(Ne,T2e),Yo(Ne,kX)),zn.mathMl===!0&&(Yo(Ke,k2e),Yo(Ne,BRe),Yo(Ne,kX))),un.tagCheck=null,un.attributeCheck=null,kf(Vt,"ADD_TAGS")&&(typeof Vt.ADD_TAGS=="function"?un.tagCheck=Vt.ADD_TAGS:Ap(Vt.ADD_TAGS)&&(Ke===zt&&(Ke=V2(Ke)),Yo(Ke,Vt.ADD_TAGS,Ba))),kf(Vt,"ADD_ATTR")&&(typeof Vt.ADD_ATTR=="function"?un.attributeCheck=Vt.ADD_ATTR:Ap(Vt.ADD_ATTR)&&(Ne===pn&&(Ne=V2(Ne)),Yo(Ne,Vt.ADD_ATTR,Ba))),kf(Vt,"ADD_URI_SAFE_ATTR")&&Ap(Vt.ADD_URI_SAFE_ATTR)&&Yo(Ln,Vt.ADD_URI_SAFE_ATTR,Ba),kf(Vt,"FORBID_CONTENTS")&&Ap(Vt.FORBID_CONTENTS)&&(Ct===gt&&(Ct=V2(Ct)),Yo(Ct,Vt.FORBID_CONTENTS,Ba)),kf(Vt,"ADD_FORBID_CONTENTS")&&Ap(Vt.ADD_FORBID_CONTENTS)&&(Ct===gt&&(Ct=V2(Ct)),Yo(Ct,Vt.ADD_FORBID_CONTENTS,Ba)),On&&(Ke["#text"]=!0),ht&&Yo(Ke,["html","head","body"]),Ke.table&&(Yo(Ke,["tbody"]),delete Et.tbody),Vt.TRUSTED_TYPES_POLICY){if(typeof Vt.TRUSTED_TYPES_POLICY.createHTML!="function")throw xX('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Vt.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw xX('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');ge=Vt.TRUSTED_TYPES_POLICY,ae=ge.createHTML("")}else ge===void 0&&(ge=UPt(B,p)),ge!==null&&typeof ae=="string"&&(ae=ge.createHTML(""));_p&&_p(Vt),ha=Vt},Ra=Yo({},[...y2e,...x2e,...OPt]),ma=Yo({},[...k2e,...NPt]),Kh=function(Vt){let jr=be(Vt);(!jr||!jr.tagName)&&(jr={namespaceURI:uo,tagName:"template"});const Ji=YF(Vt.tagName),Qo=YF(jr.tagName);return Ou[Vt.namespaceURI]?Vt.namespaceURI===No?jr.namespaceURI===Us?Ji==="svg":jr.namespaceURI===Oo?Ji==="svg"&&(Qo==="annotation-xml"||Kd[Qo]):!!Ra[Ji]:Vt.namespaceURI===Oo?jr.namespaceURI===Us?Ji==="math":jr.namespaceURI===No?Ji==="math"&&qp[Qo]:!!ma[Ji]:Vt.namespaceURI===Us?jr.namespaceURI===No&&!qp[Qo]||jr.namespaceURI===Oo&&!Kd[Qo]?!1:!ma[Ji]&&(Ul[Ji]||!Ra[Ji]):!!(Ac==="application/xhtml+xml"&&Ou[Vt.namespaceURI]):!1},Po=function(Vt){WF(a.removed,{element:Vt});try{be(Vt).removeChild(Vt)}catch{ee(Vt)}},Hp=function(Vt,jr){try{WF(a.removed,{attribute:jr.getAttributeNode(Vt),from:jr})}catch{WF(a.removed,{attribute:null,from:jr})}if(jr.removeAttribute(Vt),Vt==="is")if(Ri||wi)try{Po(jr)}catch{}else try{jr.setAttribute(Vt,"")}catch{}},Ug=function(Vt){let jr=null,Ji=null;if(xt)Vt="<remove></remove>"+Vt;else{const Ui=LRe(Vt,/^[\r\n\t ]+/);Ji=Ui&&Ui[0]}Ac==="application/xhtml+xml"&&uo===Us&&(Vt='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+Vt+"</body></html>");const Qo=ge?ge.createHTML(Vt):Vt;if(uo===Us)try{jr=new R().parseFromString(Qo,Ac)}catch{}if(!jr||!jr.documentElement){jr=ne.createDocument(uo,"template",null);try{jr.documentElement.innerHTML=Es?ae:Qo}catch{}}const Hi=jr.body||jr.documentElement;return Vt&&Ji&&Hi.insertBefore(u.createTextNode(Ji),Hi.childNodes[0]||null),uo===Us?X.call(jr,ht?"html":"body")[0]:ht?jr.documentElement:Hi},od=function(Vt){return se.call(Vt.ownerDocument||Vt,Vt,_.SHOW_ELEMENT|_.SHOW_COMMENT|_.SHOW_TEXT|_.SHOW_PROCESSING_INSTRUCTION|_.SHOW_CDATA_SECTION,null)},cd=function(Vt){return Vt instanceof P&&(typeof Vt.nodeName!="string"||typeof Vt.textContent!="string"||typeof Vt.removeChild!="function"||!(Vt.attributes instanceof A)||typeof Vt.removeAttribute!="function"||typeof Vt.setAttribute!="function"||typeof Vt.namespaceURI!="string"||typeof Vt.insertBefore!="function"||typeof Vt.hasChildNodes!="function")},w1=function(Vt){return typeof y=="function"&&Vt instanceof y};function kh(bs,Vt,jr){KF(bs,Ji=>{Ji.call(a,Vt,jr,ha)})}const Wd=function(Vt){let jr=null;if(kh(G.beforeSanitizeElements,Vt,null),cd(Vt))return Po(Vt),!0;const Ji=Ba(Vt.nodeName);if(kh(G.uponSanitizeElement,Vt,{tagName:Ji,allowedTags:Ke}),Nn&&Vt.hasChildNodes()&&!w1(Vt.firstElementChild)&&Ud(/<[/\w!]/g,Vt.innerHTML)&&Ud(/<[/\w!]/g,Vt.textContent)||Nn&&Vt.namespaceURI===Us&&Ji==="style"&&w1(Vt.firstElementChild)||Vt.nodeType===QF.progressingInstruction||Nn&&Vt.nodeType===QF.comment&&Ud(/<[/\w]/g,Vt.data))return Po(Vt),!0;if(Et[Ji]||!(un.tagCheck instanceof Function&&un.tagCheck(Ji))&&!Ke[Ji]){if(!Et[Ji]&&Zf(Ji)&&(Tt.tagNameCheck instanceof RegExp&&Ud(Tt.tagNameCheck,Ji)||Tt.tagNameCheck instanceof Function&&Tt.tagNameCheck(Ji)))return!1;if(On&&!Ct[Ji]){const Qo=be(Vt)||Vt.parentNode,Hi=oe(Vt)||Vt.childNodes;if(Hi&&Qo){const Ui=Hi.length;for(let zs=Ui-1;zs>=0;--zs){const gi=W(Hi[zs],!0);Qo.insertBefore(gi,ie(Vt))}}}return Po(Vt),!0}return Vt instanceof E&&!Kh(Vt)||(Ji==="noscript"||Ji==="noembed"||Ji==="noframes")&&Ud(/<\/no(script|embed|frames)/i,Vt.innerHTML)?(Po(Vt),!0):(kt&&Vt.nodeType===QF.text&&(jr=Vt.textContent,KF([xe,U,Be],Qo=>{jr=dD(jr,Qo," ")}),Vt.textContent!==jr&&(WF(a.removed,{element:Vt.cloneNode()}),Vt.textContent=jr)),kh(G.afterSanitizeElements,Vt,null),!1)},Yd=function(Vt,jr,Ji){if(Wt[jr]||Hs&&(jr==="id"||jr==="name")&&(Ji in u||Ji in $o))return!1;const Qo=Ne[jr]||un.attributeCheck instanceof Function&&un.attributeCheck(jr,Vt);if(!(Bt&&!Wt[jr]&&Ud(Pe,jr))){if(!(yt&&Ud(je,jr))){if(!Qo||Wt[jr]){if(!(Zf(Vt)&&(Tt.tagNameCheck instanceof RegExp&&Ud(Tt.tagNameCheck,Vt)||Tt.tagNameCheck instanceof Function&&Tt.tagNameCheck(Vt))&&(Tt.attributeNameCheck instanceof RegExp&&Ud(Tt.attributeNameCheck,jr)||Tt.attributeNameCheck instanceof Function&&Tt.attributeNameCheck(jr,Vt))||jr==="is"&&Tt.allowCustomizedBuiltInElements&&(Tt.tagNameCheck instanceof RegExp&&Ud(Tt.tagNameCheck,Ji)||Tt.tagNameCheck instanceof Function&&Tt.tagNameCheck(Ji))))return!1}else if(!Ln[jr]){if(!Ud(ke,dD(Ji,Se,""))){if(!((jr==="src"||jr==="xlink:href"||jr==="href")&&Vt!=="script"&&MRe(Ji,"data:")===0&&on[Vt])){if(!(Ze&&!Ud(Ie,dD(Ji,Se,"")))){if(Ji)return!1}}}}}}return!0},Xd=Yo({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Zf=function(Vt){return!Xd[YF(Vt)]&&Ud(Ce,Vt)},Up=function(Vt){kh(G.beforeSanitizeAttributes,Vt,null);const{attributes:jr}=Vt;if(!jr||cd(Vt))return;const Ji={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Ne,forceKeepAttr:void 0};let Qo=jr.length;for(;Qo--;){const Hi=jr[Qo],{name:Ui,namespaceURI:zs,value:gi}=Hi,Bo=Ba(Ui),Ot=gi;let zu=Ui==="value"?Ot:SPt(Ot);if(Ji.attrName=Bo,Ji.attrValue=zu,Ji.keepAttr=!0,Ji.forceKeepAttr=void 0,kh(G.uponSanitizeAttribute,Vt,Ji),zu=Ji.attrValue,mo&&(Bo==="id"||Bo==="name")&&MRe(zu,Tr)!==0&&(Hp(Ui,Vt),zu=Tr+zu),Nn&&Ud(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,zu)){Hp(Ui,Vt);continue}if(Bo==="attributename"&&LRe(zu,"href")){Hp(Ui,Vt);continue}if(Ji.forceKeepAttr)continue;if(!Ji.keepAttr){Hp(Ui,Vt);continue}if(!Dt&&Ud(/\/>/i,zu)){Hp(Ui,Vt);continue}kt&&KF([xe,U,Be],Wh=>{zu=dD(zu,Wh," ")});const Gt=Ba(Vt.nodeName);if(!Yd(Gt,Bo,zu)){Hp(Ui,Vt);continue}if(ge&&typeof B=="object"&&typeof B.getAttributeType=="function"&&!zs)switch(B.getAttributeType(Gt,Bo)){case"TrustedHTML":{zu=ge.createHTML(zu);break}case"TrustedScriptURL":{zu=ge.createScriptURL(zu);break}}if(zu!==Ot)try{zs?Vt.setAttributeNS(zs,Ui,zu):Vt.setAttribute(Ui,zu),cd(Vt)?Po(Vt):ARe(a.removed)}catch{Hp(Ui,Vt)}}kh(G.afterSanitizeAttributes,Vt,null)},u5=function(Vt){let jr=null;const Ji=od(Vt);for(kh(G.beforeSanitizeShadowDOM,Vt,null);jr=Ji.nextNode();)kh(G.uponSanitizeShadowNode,jr,null),Wd(jr),Up(jr),jr.content instanceof v&&u5(jr.content);kh(G.afterSanitizeShadowDOM,Vt,null)};return a.sanitize=function(bs){let Vt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},jr=null,Ji=null,Qo=null,Hi=null;if(Es=!bs,Es&&(bs="<!-->"),typeof bs!="string"&&!w1(bs)&&(bs=DPt(bs),typeof bs!="string"))throw xX("dirty is not a string, aborting");if(!a.isSupported)return bs;if(qr||Fa(Vt),a.removed=[],typeof bs=="string"&&(Rn=!1),Rn){const gi=bs.nodeName;if(typeof gi=="string"){const Bo=Ba(gi);if(!Ke[Bo]||Et[Bo])throw xX("root node is forbidden and cannot be sanitized in-place")}}else if(bs instanceof y)jr=Ug("<!---->"),Ji=jr.ownerDocument.importNode(bs,!0),Ji.nodeType===QF.element&&Ji.nodeName==="BODY"||Ji.nodeName==="HTML"?jr=Ji:jr.appendChild(Ji);else{if(!Ri&&!kt&&!ht&&bs.indexOf("<")===-1)return ge&&ia?ge.createHTML(bs):bs;if(jr=Ug(bs),!jr)return Ri?null:ia?ae:""}jr&&xt&&Po(jr.firstChild);const Ui=od(Rn?bs:jr);for(;Qo=Ui.nextNode();)Wd(Qo),Up(Qo),Qo.content instanceof v&&u5(Qo.content);if(Rn)return bs;if(Ri){if(kt){jr.normalize();let gi=jr.innerHTML;KF([xe,U,Be],Bo=>{gi=dD(gi,Bo," ")}),jr.innerHTML=gi}if(wi)for(Hi=de.call(jr.ownerDocument);jr.firstChild;)Hi.appendChild(jr.firstChild);else Hi=jr;return(Ne.shadowroot||Ne.shadowrootmode)&&(Hi=pe.call(d,Hi,!0)),Hi}let zs=ht?jr.outerHTML:jr.innerHTML;return ht&&Ke["!doctype"]&&jr.ownerDocument&&jr.ownerDocument.doctype&&jr.ownerDocument.doctype.name&&Ud(RRe,jr.ownerDocument.doctype.name)&&(zs="<!DOCTYPE "+jr.ownerDocument.doctype.name+`>
`+zs),kt&&KF([xe,U,Be],gi=>{zs=dD(zs,gi," ")}),ge&&ia?ge.createHTML(zs):zs},a.setConfig=function(){let bs=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Fa(bs),qr=!0},a.clearConfig=function(){ha=null,qr=!1},a.isValidAttribute=function(bs,Vt,jr){ha||Fa({});const Ji=Ba(bs),Qo=Ba(Vt);return Yd(Ji,Qo,jr)},a.addHook=function(bs,Vt){typeof Vt=="function"&&WF(G[bs],Vt)},a.removeHook=function(bs,Vt){if(Vt!==void 0){const jr=EPt(G[bs],Vt);return jr===-1?void 0:CPt(G[bs],jr,1)[0]}return ARe(G[bs])},a.removeHooks=function(bs){G[bs]=[]},a.removeAllHooks=function(){G=$Re()},a}var pD=zRe();const bD=/<br\s*\/?>/gi,VPt=i=>i?URe(i).replace(/\\n/g,"#br#").split("#br#"):[""],GPt=(()=>{let i=!1;return()=>{i||(KPt(),i=!0)}})();function KPt(){const i="data-temp-href-target";pD.addHook("beforeSanitizeAttributes",a=>{a.tagName==="A"&&a.hasAttribute("target")&&a.setAttribute(i,a.getAttribute("target")??"")}),pD.addHook("afterSanitizeAttributes",a=>{a.tagName==="A"&&a.hasAttribute(i)&&(a.setAttribute("target",a.getAttribute(i)??""),a.removeAttribute(i),a.getAttribute("target")==="_blank"&&a.setAttribute("rel","noopener"))})}const qRe=i=>(GPt(),pD.sanitize(i)),HRe=(i,a)=>{var u;if(((u=a.flowchart)==null?void 0:u.htmlLabels)!==!1){const d=a.securityLevel;d==="antiscript"||d==="strict"?i=qRe(i):d!=="loose"&&(i=URe(i),i=i.replace(/</g,"&lt;").replace(/>/g,"&gt;"),i=i.replace(/=/g,"&equals;"),i=QPt(i))}return i},bh=(i,a)=>i&&(a.dompurifyConfig?i=pD.sanitize(HRe(i,a),a.dompurifyConfig).toString():i=pD.sanitize(HRe(i,a),{FORBID_TAGS:["style"]}).toString(),i),WPt=(i,a)=>typeof i=="string"?bh(i,a):i.flat().map(u=>bh(u,a)),YPt=i=>bD.test(i),XPt=i=>i.split(bD),QPt=i=>i.replace(/#br#/g,"<br/>"),URe=i=>i.replace(bD,"#br#"),JPt=i=>{let a="";return i&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replaceAll(/\(/g,"\\("),a=a.replaceAll(/\)/g,"\\)")),a},h1=i=>!(i===!1||["false","null","0"].includes(String(i).trim().toLowerCase())),ZPt=function(...i){const a=i.filter(u=>!isNaN(u));return Math.max(...a)},eBt=function(...i){const a=i.filter(u=>!isNaN(u));return Math.min(...a)},JF=function(i){const a=i.split(/(,)/),u=[];for(let d=0;d<a.length;d++){let p=a[d];if(p===","&&d>0&&d+1<a.length){const v=a[d-1],b=a[d+1];tBt(v,b)&&(p=v+","+b,d++,u.pop())}u.push(nBt(p))}return u.join("")},E2e=(i,a)=>Math.max(0,i.split(a).length-1),tBt=(i,a)=>{const u=E2e(i,"~"),d=E2e(a,"~");return u===1&&d===1},nBt=i=>{const a=E2e(i,"~");let u=!1;if(a<=1)return i;a%2!==0&&i.startsWith("~")&&(i=i.substring(1),u=!0);const d=[...i];let p=d.indexOf("~"),v=d.lastIndexOf("~");for(;p!==-1&&v!==-1&&p!==v;)d[p]="<",d[v]=">",p=d.indexOf("~"),v=d.lastIndexOf("~");return u&&d.unshift("~"),d.join("")},VRe=()=>window.MathMLElement!==void 0,C2e=/\$\$(.*)\$\$/g,$v=i=>{var a;return(((a=i.match(C2e))==null?void 0:a.length)??0)>0},ZF=async(i,a)=>{const u=document.createElement("div");u.innerHTML=await SC(i,a),u.id="katex-temp",u.style.visibility="hidden",u.style.position="absolute",u.style.top="0";const d=document.querySelector("body");d==null||d.insertAdjacentElement("beforeend",u);const p={width:u.clientWidth,height:u.clientHeight};return u.remove(),p},rBt=async(i,a)=>{if(!$v(i))return i;if(!VRe()&&!a.legacyMathML)return i.replace(C2e,"MathML is unsupported in this environment.");const{default:u}=await Promise.resolve().then(()=>QUt);return i.split(bD).map(d=>$v(d)?`
<div style="display: flex; align-items: center; justify-content: center; white-space: nowrap;">
${d}
</div>
`:`<div>${d}</div>`).join("").replace(C2e,(d,p)=>u.renderToString(p,{throwOnError:!0,displayMode:!0,output:VRe()?"mathml":"htmlAndMathml"}).replace(/\n/g," ").replace(/<annotation.*<\/annotation>/g,""))},SC=async(i,a)=>bh(await rBt(i,a),a),oi={getRows:VPt,sanitizeText:bh,sanitizeTextOrArray:WPt,hasBreaks:YPt,splitBreaks:XPt,lineBreakRegex:bD,removeScript:qRe,getUrl:JPt,evaluate:h1,getMax:ZPt,getMin:eBt},TX={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:i=>i>=255?255:i<0?0:i,g:i=>i>=255?255:i<0?0:i,b:i=>i>=255?255:i<0?0:i,h:i=>i%360,s:i=>i>=100?100:i<0?0:i,l:i=>i>=100?100:i<0?0:i,a:i=>i>=1?1:i<0?0:i},toLinear:i=>{const a=i/255;return i>.03928?Math.pow((a+.055)/1.055,2.4):a/12.92},hue2rgb:(i,a,u)=>(u<0&&(u+=1),u>1&&(u-=1),u<1/6?i+(a-i)*6*u:u<1/2?a:u<2/3?i+(a-i)*(2/3-u)*6:i),hsl2rgb:({h:i,s:a,l:u},d)=>{if(!a)return u*2.55;i/=360,a/=100,u/=100;const p=u<.5?u*(1+a):u+a-u*a,v=2*u-p;switch(d){case"r":return TX.hue2rgb(v,p,i+1/3)*255;case"g":return TX.hue2rgb(v,p,i)*255;case"b":return TX.hue2rgb(v,p,i-1/3)*255}},rgb2hsl:({r:i,g:a,b:u},d)=>{i/=255,a/=255,u/=255;const p=Math.max(i,a,u),v=Math.min(i,a,u),b=(p+v)/2;if(d==="l")return b*100;if(p===v)return 0;const y=p-v,E=b>.5?y/(2-p-v):y/(p+v);if(d==="s")return E*100;switch(p){case i:return((a-u)/y+(a<u?6:0))*60;case a:return((u-i)/y+2)*60;case u:return((i-a)/y+4)*60;default:return-1}}},Ka={channel:TX,lang:{clamp:(i,a,u)=>a>u?Math.min(a,Math.max(u,i)):Math.min(u,Math.max(a,i)),round:i=>Math.round(i*1e10)/1e10},unit:{dec2hex:i=>{const a=Math.round(i).toString(16);return a.length>1?a:`0${a}`}}},w9={};for(let i=0;i<=255;i++)w9[i]=Ka.unit.dec2hex(i);const Bg={ALL:0,RGB:1,HSL:2};class iBt{constructor(){this.type=Bg.ALL}get(){return this.type}set(a){if(this.type&&this.type!==a)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=a}reset(){this.type=Bg.ALL}is(a){return this.type===a}}const sBt=iBt;class aBt{constructor(a,u){this.color=u,this.changed=!1,this.data=a,this.type=new sBt}set(a,u){return this.color=u,this.changed=!1,this.data=a,this.type.type=Bg.ALL,this}_ensureHSL(){const a=this.data,{h:u,s:d,l:p}=a;u===void 0&&(a.h=Ka.channel.rgb2hsl(a,"h")),d===void 0&&(a.s=Ka.channel.rgb2hsl(a,"s")),p===void 0&&(a.l=Ka.channel.rgb2hsl(a,"l"))}_ensureRGB(){const a=this.data,{r:u,g:d,b:p}=a;u===void 0&&(a.r=Ka.channel.hsl2rgb(a,"r")),d===void 0&&(a.g=Ka.channel.hsl2rgb(a,"g")),p===void 0&&(a.b=Ka.channel.hsl2rgb(a,"b"))}get r(){const a=this.data,u=a.r;return!this.type.is(Bg.HSL)&&u!==void 0?u:(this._ensureHSL(),Ka.channel.hsl2rgb(a,"r"))}get g(){const a=this.data,u=a.g;return!this.type.is(Bg.HSL)&&u!==void 0?u:(this._ensureHSL(),Ka.channel.hsl2rgb(a,"g"))}get b(){const a=this.data,u=a.b;return!this.type.is(Bg.HSL)&&u!==void 0?u:(this._ensureHSL(),Ka.channel.hsl2rgb(a,"b"))}get h(){const a=this.data,u=a.h;return!this.type.is(Bg.RGB)&&u!==void 0?u:(this._ensureRGB(),Ka.channel.rgb2hsl(a,"h"))}get s(){const a=this.data,u=a.s;return!this.type.is(Bg.RGB)&&u!==void 0?u:(this._ensureRGB(),Ka.channel.rgb2hsl(a,"s"))}get l(){const a=this.data,u=a.l;return!this.type.is(Bg.RGB)&&u!==void 0?u:(this._ensureRGB(),Ka.channel.rgb2hsl(a,"l"))}get a(){return this.data.a}set r(a){this.type.set(Bg.RGB),this.changed=!0,this.data.r=a}set g(a){this.type.set(Bg.RGB),this.changed=!0,this.data.g=a}set b(a){this.type.set(Bg.RGB),this.changed=!0,this.data.b=a}set h(a){this.type.set(Bg.HSL),this.changed=!0,this.data.h=a}set s(a){this.type.set(Bg.HSL),this.changed=!0,this.data.s=a}set l(a){this.type.set(Bg.HSL),this.changed=!0,this.data.l=a}set a(a){this.changed=!0,this.data.a=a}}const oBt=aBt,EX=new oBt({r:0,g:0,b:0,a:0},"transparent"),GRe={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:i=>{if(i.charCodeAt(0)!==35)return;const a=i.match(GRe.re);if(!a)return;const u=a[1],d=parseInt(u,16),p=u.length,v=p%4===0,b=p>4,y=b?1:17,E=b?8:4,_=v?0:-1,A=b?255:15;return EX.set({r:(d>>E*(_+3)&A)*y,g:(d>>E*(_+2)&A)*y,b:(d>>E*(_+1)&A)*y,a:v?(d&A)*y/255:1},i)},stringify:i=>{const{r:a,g:u,b:d,a:p}=i;return p<1?`#${w9[Math.round(a)]}${w9[Math.round(u)]}${w9[Math.round(d)]}${w9[Math.round(p*255)]}`:`#${w9[Math.round(a)]}${w9[Math.round(u)]}${w9[Math.round(d)]}`}},eR=GRe,CX={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:i=>{const a=i.match(CX.hueRe);if(a){const[,u,d]=a;switch(d){case"grad":return Ka.channel.clamp.h(parseFloat(u)*.9);case"rad":return Ka.channel.clamp.h(parseFloat(u)*180/Math.PI);case"turn":return Ka.channel.clamp.h(parseFloat(u)*360)}}return Ka.channel.clamp.h(parseFloat(i))},parse:i=>{const a=i.charCodeAt(0);if(a!==104&&a!==72)return;const u=i.match(CX.re);if(!u)return;const[,d,p,v,b,y]=u;return EX.set({h:CX._hue2deg(d),s:Ka.channel.clamp.s(parseFloat(p)),l:Ka.channel.clamp.l(parseFloat(v)),a:b?Ka.channel.clamp.a(y?parseFloat(b)/100:parseFloat(b)):1},i)},stringify:i=>{const{h:a,s:u,l:d,a:p}=i;return p<1?`hsla(${Ka.lang.round(a)}, ${Ka.lang.round(u)}%, ${Ka.lang.round(d)}%, ${p})`:`hsl(${Ka.lang.round(a)}, ${Ka.lang.round(u)}%, ${Ka.lang.round(d)}%)`}},SX=CX,_X={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:i=>{i=i.toLowerCase();const a=_X.colors[i];if(a)return eR.parse(a)},stringify:i=>{const a=eR.stringify(i);for(const u in _X.colors)if(_X.colors[u]===a)return u}},KRe=_X,WRe={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:i=>{const a=i.charCodeAt(0);if(a!==114&&a!==82)return;const u=i.match(WRe.re);if(!u)return;const[,d,p,v,b,y,E,_,A]=u;return EX.set({r:Ka.channel.clamp.r(p?parseFloat(d)*2.55:parseFloat(d)),g:Ka.channel.clamp.g(b?parseFloat(v)*2.55:parseFloat(v)),b:Ka.channel.clamp.b(E?parseFloat(y)*2.55:parseFloat(y)),a:_?Ka.channel.clamp.a(A?parseFloat(_)/100:parseFloat(_)):1},i)},stringify:i=>{const{r:a,g:u,b:d,a:p}=i;return p<1?`rgba(${Ka.lang.round(a)}, ${Ka.lang.round(u)}, ${Ka.lang.round(d)}, ${Ka.lang.round(p)})`:`rgb(${Ka.lang.round(a)}, ${Ka.lang.round(u)}, ${Ka.lang.round(d)})`}},AX=WRe,R3={format:{keyword:KRe,hex:eR,rgb:AX,rgba:AX,hsl:SX,hsla:SX},parse:i=>{if(typeof i!="string")return i;const a=eR.parse(i)||AX.parse(i)||SX.parse(i)||KRe.parse(i);if(a)return a;throw new Error(`Unsupported color format: "${i}"`)},stringify:i=>!i.changed&&i.color?i.color:i.type.is(Bg.HSL)||i.data.r===void 0?SX.stringify(i):i.a<1||!Number.isInteger(i.r)||!Number.isInteger(i.g)||!Number.isInteger(i.b)?AX.stringify(i):eR.stringify(i)},YRe=(i,a)=>{const u=R3.parse(i);for(const d in a)u[d]=Ka.channel.clamp[d](a[d]);return R3.stringify(u)},_C=(i,a,u=0,d=1)=>{if(typeof i!="number")return YRe(i,{a});const p=EX.set({r:Ka.channel.clamp.r(i),g:Ka.channel.clamp.g(a),b:Ka.channel.clamp.b(u),a:Ka.channel.clamp.a(d)});return R3.stringify(p)},XRe=(i,a)=>Ka.lang.round(R3.parse(i)[a]),cBt=i=>{const{r:a,g:u,b:d}=R3.parse(i),p=.2126*Ka.channel.toLinear(a)+.7152*Ka.channel.toLinear(u)+.0722*Ka.channel.toLinear(d);return Ka.lang.round(p)},uBt=i=>cBt(i)>=.5,AC=i=>!uBt(i),QRe=(i,a,u)=>{const d=R3.parse(i),p=d[a],v=Ka.channel.clamp[a](p+u);return p!==v&&(d[a]=v),R3.stringify(d)},Ws=(i,a)=>QRe(i,"l",a),ba=(i,a)=>QRe(i,"l",-a),In=(i,a)=>{const u=R3.parse(i),d={};for(const p in a)a[p]&&(d[p]=u[p]+a[p]);return YRe(i,d)},lBt=(i,a,u=50)=>{const{r:d,g:p,b:v,a:b}=R3.parse(i),{r:y,g:E,b:_,a:A}=R3.parse(a),P=u/100,R=P*2-1,B=b-A,W=((R*B===-1?R:(R+B)/(1+R*B))+1)/2,ee=1-W,ie=d*W+y*ee,oe=p*W+E*ee,be=v*W+_*ee,ge=b*P+A*(1-P);return _C(ie,oe,be,ge)},Gi=(i,a=100)=>{const u=R3.parse(i);return u.r=255-u.r,u.g=255-u.g,u.b=255-u.b,lBt(u,i,a)},Lp=(i,a)=>a?In(i,{s:-40,l:10}):In(i,{s:-40,l:-10}),LX="#ffffff",MX="#f2f2f2";let hBt=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 u,d,p,v,b,y,E,_,A,P,R;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||In(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||In(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Lp(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Lp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Lp(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Lp(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||Gi(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||Gi(this.tertiaryColor),this.lineColor=this.lineColor||Gi(this.background),this.arrowheadColor=this.arrowheadColor||Gi(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?ba(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||ba(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||Gi(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||Ws(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||In(this.primaryColor,{h:30}),this.cScale4=this.cScale4||In(this.primaryColor,{h:60}),this.cScale5=this.cScale5||In(this.primaryColor,{h:90}),this.cScale6=this.cScale6||In(this.primaryColor,{h:120}),this.cScale7=this.cScale7||In(this.primaryColor,{h:150}),this.cScale8=this.cScale8||In(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||In(this.primaryColor,{h:270}),this.cScale10=this.cScale10||In(this.primaryColor,{h:300}),this.cScale11=this.cScale11||In(this.primaryColor,{h:330}),this.darkMode)for(let B=0;B<this.THEME_COLOR_LIMIT;B++)this["cScale"+B]=ba(this["cScale"+B],75);else for(let B=0;B<this.THEME_COLOR_LIMIT;B++)this["cScale"+B]=ba(this["cScale"+B],25);for(let B=0;B<this.THEME_COLOR_LIMIT;B++)this["cScaleInv"+B]=this["cScaleInv"+B]||Gi(this["cScale"+B]);for(let B=0;B<this.THEME_COLOR_LIMIT;B++)this.darkMode?this["cScalePeer"+B]=this["cScalePeer"+B]||Ws(this["cScale"+B],10):this["cScalePeer"+B]=this["cScalePeer"+B]||ba(this["cScale"+B],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let B=0;B<this.THEME_COLOR_LIMIT;B++)this["cScaleLabel"+B]=this["cScaleLabel"+B]||this.scaleLabelColor;const a=this.darkMode?-4:-1;for(let B=0;B<5;B++)this["surface"+B]=this["surface"+B]||In(this.mainBkg,{h:180,s:-15,l:a*(5+B*3)}),this["surfacePeer"+B]=this["surfacePeer"+B]||In(this.mainBkg,{h:180,s:-15,l:a*(8+B*3)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||In(this.primaryColor,{h:64}),this.fillType3=this.fillType3||In(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||In(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||In(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||In(this.primaryColor,{h:128}),this.fillType7=this.fillType7||In(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||In(this.primaryColor,{l:-10}),this.pie5=this.pie5||In(this.secondaryColor,{l:-10}),this.pie6=this.pie6||In(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||In(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||In(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||In(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||In(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||In(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||In(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||In(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||In(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||In(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||In(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||In(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||In(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||AC(this.quadrant1Fill)?Ws(this.quadrant1Fill):ba(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:((u=this.xyChart)==null?void 0:u.backgroundColor)||this.background,titleColor:((d=this.xyChart)==null?void 0:d.titleColor)||this.primaryTextColor,xAxisTitleColor:((p=this.xyChart)==null?void 0:p.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:((v=this.xyChart)==null?void 0:v.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:((b=this.xyChart)==null?void 0:b.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:((y=this.xyChart)==null?void 0:y.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:((E=this.xyChart)==null?void 0:E.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:((_=this.xyChart)==null?void 0:_.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:((A=this.xyChart)==null?void 0:A.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:((P=this.xyChart)==null?void 0:P.yAxisLineColor)||this.primaryTextColor,plotColorPalette:((R=this.xyChart)==null?void 0:R.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?ba(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||In(this.primaryColor,{h:-30}),this.git4=this.git4||In(this.primaryColor,{h:-60}),this.git5=this.git5||In(this.primaryColor,{h:-90}),this.git6=this.git6||In(this.primaryColor,{h:60}),this.git7=this.git7||In(this.primaryColor,{h:120}),this.darkMode?(this.git0=Ws(this.git0,25),this.git1=Ws(this.git1,25),this.git2=Ws(this.git2,25),this.git3=Ws(this.git3,25),this.git4=Ws(this.git4,25),this.git5=Ws(this.git5,25),this.git6=Ws(this.git6,25),this.git7=Ws(this.git7,25)):(this.git0=ba(this.git0,25),this.git1=ba(this.git1,25),this.git2=ba(this.git2,25),this.git3=ba(this.git3,25),this.git4=ba(this.git4,25),this.git5=ba(this.git5,25),this.git6=ba(this.git6,25),this.git7=ba(this.git7,25)),this.gitInv0=this.gitInv0||Gi(this.git0),this.gitInv1=this.gitInv1||Gi(this.git1),this.gitInv2=this.gitInv2||Gi(this.git2),this.gitInv3=this.gitInv3||Gi(this.git3),this.gitInv4=this.gitInv4||Gi(this.git4),this.gitInv5=this.gitInv5||Gi(this.git5),this.gitInv6=this.gitInv6||Gi(this.git6),this.gitInv7=this.gitInv7||Gi(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||LX,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||MX}calculate(a){if(typeof a!="object"){this.updateColors();return}const u=Object.keys(a);u.forEach(d=>{this[d]=a[d]}),this.updateColors(),u.forEach(d=>{this[d]=a[d]})}};const fBt=i=>{const a=new hBt;return a.calculate(i),a};let dBt=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=Ws(this.primaryColor,16),this.tertiaryColor=In(this.primaryColor,{h:-160}),this.primaryBorderColor=Gi(this.background),this.secondaryBorderColor=Lp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Lp(this.tertiaryColor,this.darkMode),this.primaryTextColor=Gi(this.primaryColor),this.secondaryTextColor=Gi(this.secondaryColor),this.tertiaryTextColor=Gi(this.tertiaryColor),this.lineColor=Gi(this.background),this.textColor=Gi(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=Ws(Gi("#323D47"),10),this.lineColor="calculated",this.border1="#81B1DB",this.border2=_C(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=ba("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=ba(this.sectionBkgColor,10),this.taskBorderColor=_C(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=_C(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 a,u,d,p,v,b,y,E,_,A,P;this.secondBkg=Ws(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=Ws(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=Ws(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=In(this.primaryColor,{h:64}),this.fillType3=In(this.secondaryColor,{h:64}),this.fillType4=In(this.primaryColor,{h:-64}),this.fillType5=In(this.secondaryColor,{h:-64}),this.fillType6=In(this.primaryColor,{h:128}),this.fillType7=In(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||In(this.primaryColor,{h:30}),this.cScale4=this.cScale4||In(this.primaryColor,{h:60}),this.cScale5=this.cScale5||In(this.primaryColor,{h:90}),this.cScale6=this.cScale6||In(this.primaryColor,{h:120}),this.cScale7=this.cScale7||In(this.primaryColor,{h:150}),this.cScale8=this.cScale8||In(this.primaryColor,{h:210}),this.cScale9=this.cScale9||In(this.primaryColor,{h:270}),this.cScale10=this.cScale10||In(this.primaryColor,{h:300}),this.cScale11=this.cScale11||In(this.primaryColor,{h:330});for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this["cScaleInv"+R]=this["cScaleInv"+R]||Gi(this["cScale"+R]);for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this["cScalePeer"+R]=this["cScalePeer"+R]||Ws(this["cScale"+R],10);for(let R=0;R<5;R++)this["surface"+R]=this["surface"+R]||In(this.mainBkg,{h:30,s:-30,l:-(-10+R*4)}),this["surfacePeer"+R]=this["surfacePeer"+R]||In(this.mainBkg,{h:30,s:-30,l:-(-7+R*4)});this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor);for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this["cScaleLabel"+R]=this["cScaleLabel"+R]||this.scaleLabelColor;for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this["pie"+R]=this["cScale"+R];this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||In(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||In(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||In(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||In(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||In(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||In(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||AC(this.quadrant1Fill)?Ws(this.quadrant1Fill):ba(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:((a=this.xyChart)==null?void 0:a.backgroundColor)||this.background,titleColor:((u=this.xyChart)==null?void 0:u.titleColor)||this.primaryTextColor,xAxisTitleColor:((d=this.xyChart)==null?void 0:d.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:((p=this.xyChart)==null?void 0:p.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:((v=this.xyChart)==null?void 0:v.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:((b=this.xyChart)==null?void 0:b.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:((y=this.xyChart)==null?void 0:y.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:((E=this.xyChart)==null?void 0:E.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:((_=this.xyChart)==null?void 0:_.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:((A=this.xyChart)==null?void 0:A.yAxisLineColor)||this.primaryTextColor,plotColorPalette:((P=this.xyChart)==null?void 0:P.plotColorPalette)||"#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22"},this.classText=this.primaryTextColor,this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?ba(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=Ws(this.secondaryColor,20),this.git1=Ws(this.pie2||this.secondaryColor,20),this.git2=Ws(this.pie3||this.tertiaryColor,20),this.git3=Ws(this.pie4||In(this.primaryColor,{h:-30}),20),this.git4=Ws(this.pie5||In(this.primaryColor,{h:-60}),20),this.git5=Ws(this.pie6||In(this.primaryColor,{h:-90}),10),this.git6=Ws(this.pie7||In(this.primaryColor,{h:60}),10),this.git7=Ws(this.pie8||In(this.primaryColor,{h:120}),20),this.gitInv0=this.gitInv0||Gi(this.git0),this.gitInv1=this.gitInv1||Gi(this.git1),this.gitInv2=this.gitInv2||Gi(this.git2),this.gitInv3=this.gitInv3||Gi(this.git3),this.gitInv4=this.gitInv4||Gi(this.git4),this.gitInv5=this.gitInv5||Gi(this.git5),this.gitInv6=this.gitInv6||Gi(this.git6),this.gitInv7=this.gitInv7||Gi(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||Gi(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||Gi(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||Ws(this.background,12),this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||Ws(this.background,2)}calculate(a){if(typeof a!="object"){this.updateColors();return}const u=Object.keys(a);u.forEach(d=>{this[d]=a[d]}),this.updateColors(),u.forEach(d=>{this[d]=a[d]})}};const gBt=i=>{const a=new dBt;return a.calculate(i),a};let pBt=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=In(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=In(this.primaryColor,{h:-160}),this.primaryBorderColor=Lp(this.primaryColor,this.darkMode),this.secondaryBorderColor=Lp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Lp(this.tertiaryColor,this.darkMode),this.primaryTextColor=Gi(this.primaryColor),this.secondaryTextColor=Gi(this.secondaryColor),this.tertiaryTextColor=Gi(this.tertiaryColor),this.lineColor=Gi(this.background),this.textColor=Gi(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=_C(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 a,u,d,p,v,b,y,E,_,A,P;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||In(this.primaryColor,{h:30}),this.cScale4=this.cScale4||In(this.primaryColor,{h:60}),this.cScale5=this.cScale5||In(this.primaryColor,{h:90}),this.cScale6=this.cScale6||In(this.primaryColor,{h:120}),this.cScale7=this.cScale7||In(this.primaryColor,{h:150}),this.cScale8=this.cScale8||In(this.primaryColor,{h:210}),this.cScale9=this.cScale9||In(this.primaryColor,{h:270}),this.cScale10=this.cScale10||In(this.primaryColor,{h:300}),this.cScale11=this.cScale11||In(this.primaryColor,{h:330}),this["cScalePeer1"]=this["cScalePeer1"]||ba(this.secondaryColor,45),this["cScalePeer2"]=this["cScalePeer2"]||ba(this.tertiaryColor,40);for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this["cScale"+R]=ba(this["cScale"+R],10),this["cScalePeer"+R]=this["cScalePeer"+R]||ba(this["cScale"+R],25);for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this["cScaleInv"+R]=this["cScaleInv"+R]||In(this["cScale"+R],{h:180});for(let R=0;R<5;R++)this["surface"+R]=this["surface"+R]||In(this.mainBkg,{h:30,l:-(5+R*5)}),this["surfacePeer"+R]=this["surfacePeer"+R]||In(this.mainBkg,{h:30,l:-(7+R*5)});if(this.scaleLabelColor=this.scaleLabelColor!=="calculated"&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor,this.labelTextColor!=="calculated"){this.cScaleLabel0=this.cScaleLabel0||Gi(this.labelTextColor),this.cScaleLabel3=this.cScaleLabel3||Gi(this.labelTextColor);for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this["cScaleLabel"+R]=this["cScaleLabel"+R]||this.labelTextColor}this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.textColor,this.edgeLabelBackground=this.labelBackground,this.actorBorder=Ws(this.border1,23),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.signalColor=this.textColor,this.signalTextColor=this.textColor,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,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||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=In(this.primaryColor,{h:64}),this.fillType3=In(this.secondaryColor,{h:64}),this.fillType4=In(this.primaryColor,{h:-64}),this.fillType5=In(this.secondaryColor,{h:-64}),this.fillType6=In(this.primaryColor,{h:128}),this.fillType7=In(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||In(this.tertiaryColor,{l:-40}),this.pie4=this.pie4||In(this.primaryColor,{l:-10}),this.pie5=this.pie5||In(this.secondaryColor,{l:-30}),this.pie6=this.pie6||In(this.tertiaryColor,{l:-20}),this.pie7=this.pie7||In(this.primaryColor,{h:60,l:-20}),this.pie8=this.pie8||In(this.primaryColor,{h:-60,l:-40}),this.pie9=this.pie9||In(this.primaryColor,{h:120,l:-40}),this.pie10=this.pie10||In(this.primaryColor,{h:60,l:-40}),this.pie11=this.pie11||In(this.primaryColor,{h:-90,l:-40}),this.pie12=this.pie12||In(this.primaryColor,{h:120,l:-30}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||In(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||In(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||In(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||In(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||In(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||In(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||AC(this.quadrant1Fill)?Ws(this.quadrant1Fill):ba(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:((a=this.xyChart)==null?void 0:a.backgroundColor)||this.background,titleColor:((u=this.xyChart)==null?void 0:u.titleColor)||this.primaryTextColor,xAxisTitleColor:((d=this.xyChart)==null?void 0:d.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:((p=this.xyChart)==null?void 0:p.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:((v=this.xyChart)==null?void 0:v.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:((b=this.xyChart)==null?void 0:b.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:((y=this.xyChart)==null?void 0:y.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:((E=this.xyChart)==null?void 0:E.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:((_=this.xyChart)==null?void 0:_.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:((A=this.xyChart)==null?void 0:A.yAxisLineColor)||this.primaryTextColor,plotColorPalette:((P=this.xyChart)==null?void 0:P.plotColorPalette)||"#ECECFF,#8493A6,#FFC3A0,#DCDDE1,#B8E994,#D1A36F,#C3CDE6,#FFB6C1,#496078,#F8F3E3"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.labelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||In(this.primaryColor,{h:-30}),this.git4=this.git4||In(this.primaryColor,{h:-60}),this.git5=this.git5||In(this.primaryColor,{h:-90}),this.git6=this.git6||In(this.primaryColor,{h:60}),this.git7=this.git7||In(this.primaryColor,{h:120}),this.darkMode?(this.git0=Ws(this.git0,25),this.git1=Ws(this.git1,25),this.git2=Ws(this.git2,25),this.git3=Ws(this.git3,25),this.git4=Ws(this.git4,25),this.git5=Ws(this.git5,25),this.git6=Ws(this.git6,25),this.git7=Ws(this.git7,25)):(this.git0=ba(this.git0,25),this.git1=ba(this.git1,25),this.git2=ba(this.git2,25),this.git3=ba(this.git3,25),this.git4=ba(this.git4,25),this.git5=ba(this.git5,25),this.git6=ba(this.git6,25),this.git7=ba(this.git7,25)),this.gitInv0=this.gitInv0||ba(Gi(this.git0),25),this.gitInv1=this.gitInv1||Gi(this.git1),this.gitInv2=this.gitInv2||Gi(this.git2),this.gitInv3=this.gitInv3||Gi(this.git3),this.gitInv4=this.gitInv4||Gi(this.git4),this.gitInv5=this.gitInv5||Gi(this.git5),this.gitInv6=this.gitInv6||Gi(this.git6),this.gitInv7=this.gitInv7||Gi(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||Gi(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||Gi(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||LX,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||MX}calculate(a){if(typeof a!="object"){this.updateColors();return}const u=Object.keys(a);u.forEach(d=>{this[d]=a[d]}),this.updateColors(),u.forEach(d=>{this[d]=a[d]})}};const S2e=i=>{const a=new pBt;return a.calculate(i),a};let bBt=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=Ws("#cde498",10),this.primaryBorderColor=Lp(this.primaryColor,this.darkMode),this.secondaryBorderColor=Lp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Lp(this.tertiaryColor,this.darkMode),this.primaryTextColor=Gi(this.primaryColor),this.secondaryTextColor=Gi(this.secondaryColor),this.tertiaryTextColor=Gi(this.primaryColor),this.lineColor=Gi(this.background),this.textColor=Gi(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 a,u,d,p,v,b,y,E,_,A,P;this.actorBorder=ba(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||In(this.primaryColor,{h:30}),this.cScale4=this.cScale4||In(this.primaryColor,{h:60}),this.cScale5=this.cScale5||In(this.primaryColor,{h:90}),this.cScale6=this.cScale6||In(this.primaryColor,{h:120}),this.cScale7=this.cScale7||In(this.primaryColor,{h:150}),this.cScale8=this.cScale8||In(this.primaryColor,{h:210}),this.cScale9=this.cScale9||In(this.primaryColor,{h:270}),this.cScale10=this.cScale10||In(this.primaryColor,{h:300}),this.cScale11=this.cScale11||In(this.primaryColor,{h:330}),this["cScalePeer1"]=this["cScalePeer1"]||ba(this.secondaryColor,45),this["cScalePeer2"]=this["cScalePeer2"]||ba(this.tertiaryColor,40);for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this["cScale"+R]=ba(this["cScale"+R],10),this["cScalePeer"+R]=this["cScalePeer"+R]||ba(this["cScale"+R],25);for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this["cScaleInv"+R]=this["cScaleInv"+R]||In(this["cScale"+R],{h:180});this.scaleLabelColor=this.scaleLabelColor!=="calculated"&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor;for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this["cScaleLabel"+R]=this["cScaleLabel"+R]||this.scaleLabelColor;for(let R=0;R<5;R++)this["surface"+R]=this["surface"+R]||In(this.mainBkg,{h:30,s:-30,l:-(5+R*5)}),this["surfacePeer"+R]=this["surfacePeer"+R]||In(this.mainBkg,{h:30,s:-30,l:-(8+R*5)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.taskBorderColor=this.border1,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=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||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=In(this.primaryColor,{h:64}),this.fillType3=In(this.secondaryColor,{h:64}),this.fillType4=In(this.primaryColor,{h:-64}),this.fillType5=In(this.secondaryColor,{h:-64}),this.fillType6=In(this.primaryColor,{h:128}),this.fillType7=In(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||In(this.primaryColor,{l:-30}),this.pie5=this.pie5||In(this.secondaryColor,{l:-30}),this.pie6=this.pie6||In(this.tertiaryColor,{h:40,l:-40}),this.pie7=this.pie7||In(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||In(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||In(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||In(this.primaryColor,{h:60,l:-50}),this.pie11=this.pie11||In(this.primaryColor,{h:-60,l:-50}),this.pie12=this.pie12||In(this.primaryColor,{h:120,l:-50}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||In(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||In(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||In(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||In(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||In(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||In(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||AC(this.quadrant1Fill)?Ws(this.quadrant1Fill):ba(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:((a=this.xyChart)==null?void 0:a.backgroundColor)||this.background,titleColor:((u=this.xyChart)==null?void 0:u.titleColor)||this.primaryTextColor,xAxisTitleColor:((d=this.xyChart)==null?void 0:d.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:((p=this.xyChart)==null?void 0:p.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:((v=this.xyChart)==null?void 0:v.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:((b=this.xyChart)==null?void 0:b.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:((y=this.xyChart)==null?void 0:y.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:((E=this.xyChart)==null?void 0:E.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:((_=this.xyChart)==null?void 0:_.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:((A=this.xyChart)==null?void 0:A.yAxisLineColor)||this.primaryTextColor,plotColorPalette:((P=this.xyChart)==null?void 0:P.plotColorPalette)||"#CDE498,#FF6B6B,#A0D2DB,#D7BDE2,#F0F0F0,#FFC3A0,#7FD8BE,#FF9A8B,#FAF3E0,#FFF176"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||In(this.primaryColor,{h:-30}),this.git4=this.git4||In(this.primaryColor,{h:-60}),this.git5=this.git5||In(this.primaryColor,{h:-90}),this.git6=this.git6||In(this.primaryColor,{h:60}),this.git7=this.git7||In(this.primaryColor,{h:120}),this.darkMode?(this.git0=Ws(this.git0,25),this.git1=Ws(this.git1,25),this.git2=Ws(this.git2,25),this.git3=Ws(this.git3,25),this.git4=Ws(this.git4,25),this.git5=Ws(this.git5,25),this.git6=Ws(this.git6,25),this.git7=Ws(this.git7,25)):(this.git0=ba(this.git0,25),this.git1=ba(this.git1,25),this.git2=ba(this.git2,25),this.git3=ba(this.git3,25),this.git4=ba(this.git4,25),this.git5=ba(this.git5,25),this.git6=ba(this.git6,25),this.git7=ba(this.git7,25)),this.gitInv0=this.gitInv0||Gi(this.git0),this.gitInv1=this.gitInv1||Gi(this.git1),this.gitInv2=this.gitInv2||Gi(this.git2),this.gitInv3=this.gitInv3||Gi(this.git3),this.gitInv4=this.gitInv4||Gi(this.git4),this.gitInv5=this.gitInv5||Gi(this.git5),this.gitInv6=this.gitInv6||Gi(this.git6),this.gitInv7=this.gitInv7||Gi(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||Gi(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||Gi(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||LX,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||MX}calculate(a){if(typeof a!="object"){this.updateColors();return}const u=Object.keys(a);u.forEach(d=>{this[d]=a[d]}),this.updateColors(),u.forEach(d=>{this[d]=a[d]})}};const mBt=i=>{const a=new bBt;return a.calculate(i),a};class vBt{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=Ws(this.contrast,55),this.background="#ffffff",this.tertiaryColor=In(this.primaryColor,{h:-160}),this.primaryBorderColor=Lp(this.primaryColor,this.darkMode),this.secondaryBorderColor=Lp(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Lp(this.tertiaryColor,this.darkMode),this.primaryTextColor=Gi(this.primaryColor),this.secondaryTextColor=Gi(this.secondaryColor),this.tertiaryTextColor=Gi(this.tertiaryColor),this.lineColor=Gi(this.background),this.textColor=Gi(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 a,u,d,p,v,b,y,E,_,A,P;this.secondBkg=Ws(this.contrast,55),this.border2=this.contrast,this.actorBorder=Ws(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 R=0;R<this.THEME_COLOR_LIMIT;R++)this["cScaleInv"+R]=this["cScaleInv"+R]||Gi(this["cScale"+R]);for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this.darkMode?this["cScalePeer"+R]=this["cScalePeer"+R]||Ws(this["cScale"+R],10):this["cScalePeer"+R]=this["cScalePeer"+R]||ba(this["cScale"+R],10);this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor),this.cScaleLabel0=this.cScaleLabel0||this.cScale1,this.cScaleLabel2=this.cScaleLabel2||this.cScale1;for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this["cScaleLabel"+R]=this["cScaleLabel"+R]||this.scaleLabelColor;for(let R=0;R<5;R++)this["surface"+R]=this["surface"+R]||In(this.mainBkg,{l:-(5+R*5)}),this["surfacePeer"+R]=this["surfacePeer"+R]||In(this.mainBkg,{l:-(8+R*5)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.text,this.sectionBkgColor=Ws(this.contrast,30),this.sectionBkgColor2=Ws(this.contrast,30),this.taskBorderColor=ba(this.contrast,10),this.taskBkgColor=this.contrast,this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor=this.text,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.gridColor=Ws(this.border1,30),this.doneTaskBkgColor=this.done,this.doneTaskBorderColor=this.lineColor,this.critBkgColor=this.critical,this.critBorderColor=ba(this.critBkgColor,10),this.todayLineColor=this.critBkgColor,this.transitionColor=this.transitionColor||"#000",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||"#f4f4f4",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.stateBorder=this.stateBorder||"#000",this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#222",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=In(this.primaryColor,{h:64}),this.fillType3=In(this.secondaryColor,{h:64}),this.fillType4=In(this.primaryColor,{h:-64}),this.fillType5=In(this.secondaryColor,{h:-64}),this.fillType6=In(this.primaryColor,{h:128}),this.fillType7=In(this.secondaryColor,{h:128});for(let R=0;R<this.THEME_COLOR_LIMIT;R++)this["pie"+R]=this["cScale"+R];this.pie12=this.pie0,this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||In(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||In(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||In(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||In(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||In(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||In(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||AC(this.quadrant1Fill)?Ws(this.quadrant1Fill):ba(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:((a=this.xyChart)==null?void 0:a.backgroundColor)||this.background,titleColor:((u=this.xyChart)==null?void 0:u.titleColor)||this.primaryTextColor,xAxisTitleColor:((d=this.xyChart)==null?void 0:d.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:((p=this.xyChart)==null?void 0:p.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:((v=this.xyChart)==null?void 0:v.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:((b=this.xyChart)==null?void 0:b.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:((y=this.xyChart)==null?void 0:y.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:((E=this.xyChart)==null?void 0:E.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:((_=this.xyChart)==null?void 0:_.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:((A=this.xyChart)==null?void 0:A.yAxisLineColor)||this.primaryTextColor,plotColorPalette:((P=this.xyChart)==null?void 0:P.plotColorPalette)||"#EEE,#6BB8E4,#8ACB88,#C7ACD6,#E8DCC2,#FFB2A8,#FFF380,#7E8D91,#FFD8B1,#FAF3E0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=ba(this.pie1,25)||this.primaryColor,this.git1=this.pie2||this.secondaryColor,this.git2=this.pie3||this.tertiaryColor,this.git3=this.pie4||In(this.primaryColor,{h:-30}),this.git4=this.pie5||In(this.primaryColor,{h:-60}),this.git5=this.pie6||In(this.primaryColor,{h:-90}),this.git6=this.pie7||In(this.primaryColor,{h:60}),this.git7=this.pie8||In(this.primaryColor,{h:120}),this.gitInv0=this.gitInv0||Gi(this.git0),this.gitInv1=this.gitInv1||Gi(this.git1),this.gitInv2=this.gitInv2||Gi(this.git2),this.gitInv3=this.gitInv3||Gi(this.git3),this.gitInv4=this.gitInv4||Gi(this.git4),this.gitInv5=this.gitInv5||Gi(this.git5),this.gitInv6=this.gitInv6||Gi(this.git6),this.gitInv7=this.gitInv7||Gi(this.git7),this.branchLabelColor=this.branchLabelColor||this.labelTextColor,this.gitBranchLabel0=this.branchLabelColor,this.gitBranchLabel1="white",this.gitBranchLabel2=this.branchLabelColor,this.gitBranchLabel3="white",this.gitBranchLabel4=this.branchLabelColor,this.gitBranchLabel5=this.branchLabelColor,this.gitBranchLabel6=this.branchLabelColor,this.gitBranchLabel7=this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||LX,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||MX}calculate(a){if(typeof a!="object"){this.updateColors();return}const u=Object.keys(a);u.forEach(d=>{this[d]=a[d]}),this.updateColors(),u.forEach(d=>{this[d]=a[d]})}}const C7={base:{getThemeVariables:fBt},dark:{getThemeVariables:gBt},default:{getThemeVariables:S2e},forest:{getThemeVariables:mBt},neutral:{getThemeVariables:i=>{const a=new vBt;return a.calculate(i),a}}},S7={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},JRe={...S7,deterministicIDSeed:void 0,themeCSS:void 0,themeVariables:C7.default.getThemeVariables(),sequence:{...S7.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:{...S7.gantt,tickInterval:void 0,useWidth:void 0},c4:{...S7.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:{...S7.pie,useWidth:984},xyChart:{...S7.xyChart,useWidth:void 0},requirement:{...S7.requirement,useWidth:void 0},gitGraph:{...S7.gitGraph,useMaxWidth:!1},sankey:{...S7.sankey,useMaxWidth:!1}},ZRe=(i,a="")=>Object.keys(i).reduce((u,d)=>Array.isArray(i[d])?u:typeof i[d]=="object"&&i[d]!==null?[...u,a+d,...ZRe(i[d],"")]:[...u,a+d],[]),wBt=new Set(ZRe(JRe,"")),nh=JRe,DX=i=>{if(Xe.debug("sanitizeDirective called with",i),!(typeof i!="object"||i==null)){if(Array.isArray(i)){i.forEach(a=>DX(a));return}for(const a of Object.keys(i)){if(Xe.debug("Checking key",a),a.startsWith("__")||a.includes("proto")||a.includes("constr")||!wBt.has(a)||i[a]==null){Xe.debug("sanitize deleting key: ",a),delete i[a];continue}if(typeof i[a]=="object"){Xe.debug("sanitizing object",a),DX(i[a]);continue}const u=["themeCSS","fontFamily","altFontFamily"];for(const d of u)a.includes(d)&&(Xe.debug("sanitizing css option",a),i[a]=eje(i[a]))}if(i.themeVariables)for(const a of Object.keys(i.themeVariables)){const u=i.themeVariables[a];u!=null&&u.match&&!u.match(/^[\d "#%(),.;A-Za-z]+$/)&&(i.themeVariables[a]="")}Xe.debug("After sanitization",i)}},eje=i=>{let a=0,u=0;for(const d of i){if(a<u)return"{ /* ERROR: Unbalanced CSS */ }";d==="{"?a++:d==="}"&&u++}return a!==u?"{ /* ERROR: Unbalanced CSS */ }":i},tje=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,tR=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,yBt=/\s*%%.*\n/gm;class nje extends Error{constructor(a){super(a),this.name="UnknownDiagramError"}}const mD={},IX=function(i,a){i=i.replace(tje,"").replace(tR,"").replace(yBt,`
`);for(const[u,{detector:d}]of Object.entries(mD))if(d(i,a))return u;throw new nje(`No diagram type detected matching given configuration for text: ${i}`)},rje=(...i)=>{for(const{id:a,detector:u,loader:d}of i)ije(a,u,d)},ije=(i,a,u)=>{mD[i]?Xe.error(`Detector with key ${i} already exists`):mD[i]={detector:a,loader:u},Xe.debug(`Detector with key ${i} added${u?" with loader":""}`)},xBt=i=>mD[i].loader,_2e=(i,a,{depth:u=2,clobber:d=!1}={})=>{const p={depth:u,clobber:d};return Array.isArray(a)&&!Array.isArray(i)?(a.forEach(v=>_2e(i,v,p)),i):Array.isArray(a)&&Array.isArray(i)?(a.forEach(v=>{i.includes(v)||i.push(v)}),i):i===void 0||u<=0?i!=null&&typeof i=="object"&&typeof a=="object"?Object.assign(i,a):a:(a!==void 0&&typeof i=="object"&&typeof a=="object"&&Object.keys(a).forEach(v=>{typeof a[v]=="object"&&(i[v]===void 0||typeof i[v]=="object")?(i[v]===void 0&&(i[v]=Array.isArray(a[v])?[]:{}),i[v]=_2e(i[v],a[v],{depth:u-1,clobber:d})):(d||typeof i[v]!="object"&&typeof a[v]!="object")&&(i[v]=a[v])}),i)},id=_2e;var kBt=typeof global=="object"&&global&&global.Object===Object&&global;const sje=kBt;var TBt=typeof self=="object"&&self&&self.Object===Object&&self,EBt=sje||TBt||Function("return this")();const j3=EBt;var CBt=j3.Symbol;const zv=CBt;var aje=Object.prototype,SBt=aje.hasOwnProperty,_Bt=aje.toString,nR=zv?zv.toStringTag:void 0;function ABt(i){var a=SBt.call(i,nR),u=i[nR];try{i[nR]=void 0;var d=!0}catch{}var p=_Bt.call(i);return d&&(a?i[nR]=u:delete i[nR]),p}var LBt=Object.prototype,MBt=LBt.toString;function DBt(i){return MBt.call(i)}var IBt="[object Null]",OBt="[object Undefined]",oje=zv?zv.toStringTag:void 0;function LC(i){return i==null?i===void 0?OBt:IBt:oje&&oje in Object(i)?ABt(i):DBt(i)}function dm(i){var a=typeof i;return i!=null&&(a=="object"||a=="function")}var NBt="[object AsyncFunction]",PBt="[object Function]",BBt="[object GeneratorFunction]",FBt="[object Proxy]";function vD(i){if(!dm(i))return!1;var a=LC(i);return a==PBt||a==BBt||a==NBt||a==FBt}var RBt=j3["__core-js_shared__"];const A2e=RBt;var cje=function(){var i=/[^.]+$/.exec(A2e&&A2e.keys&&A2e.keys.IE_PROTO||"");return i?"Symbol(src)_1."+i:""}();function jBt(i){return!!cje&&cje in i}var $Bt=Function.prototype,zBt=$Bt.toString;function MC(i){if(i!=null){try{return zBt.call(i)}catch{}try{return i+""}catch{}}return""}var qBt=/[\\^$.*+?()[\]{}|]/g,HBt=/^\[object .+?Constructor\]$/,UBt=Function.prototype,VBt=Object.prototype,GBt=UBt.toString,KBt=VBt.hasOwnProperty,WBt=RegExp("^"+GBt.call(KBt).replace(qBt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function YBt(i){if(!dm(i)||jBt(i))return!1;var a=vD(i)?WBt:HBt;return a.test(MC(i))}function XBt(i,a){return i==null?void 0:i[a]}function DC(i,a){var u=XBt(i,a);return YBt(u)?u:void 0}var QBt=DC(Object,"create");const rR=QBt;function JBt(){this.__data__=rR?rR(null):{},this.size=0}function ZBt(i){var a=this.has(i)&&delete this.__data__[i];return this.size-=a?1:0,a}var eFt="__lodash_hash_undefined__",tFt=Object.prototype,nFt=tFt.hasOwnProperty;function rFt(i){var a=this.__data__;if(rR){var u=a[i];return u===eFt?void 0:u}return nFt.call(a,i)?a[i]:void 0}var iFt=Object.prototype,sFt=iFt.hasOwnProperty;function aFt(i){var a=this.__data__;return rR?a[i]!==void 0:sFt.call(a,i)}var oFt="__lodash_hash_undefined__";function cFt(i,a){var u=this.__data__;return this.size+=this.has(i)?0:1,u[i]=rR&&a===void 0?oFt:a,this}function IC(i){var a=-1,u=i==null?0:i.length;for(this.clear();++a<u;){var d=i[a];this.set(d[0],d[1])}}IC.prototype.clear=JBt,IC.prototype.delete=ZBt,IC.prototype.get=rFt,IC.prototype.has=aFt,IC.prototype.set=cFt;function uFt(){this.__data__=[],this.size=0}function wD(i,a){return i===a||i!==i&&a!==a}function OX(i,a){for(var u=i.length;u--;)if(wD(i[u][0],a))return u;return-1}var lFt=Array.prototype,hFt=lFt.splice;function fFt(i){var a=this.__data__,u=OX(a,i);if(u<0)return!1;var d=a.length-1;return u==d?a.pop():hFt.call(a,u,1),--this.size,!0}function dFt(i){var a=this.__data__,u=OX(a,i);return u<0?void 0:a[u][1]}function gFt(i){return OX(this.__data__,i)>-1}function pFt(i,a){var u=this.__data__,d=OX(u,i);return d<0?(++this.size,u.push([i,a])):u[d][1]=a,this}function _7(i){var a=-1,u=i==null?0:i.length;for(this.clear();++a<u;){var d=i[a];this.set(d[0],d[1])}}_7.prototype.clear=uFt,_7.prototype.delete=fFt,_7.prototype.get=dFt,_7.prototype.has=gFt,_7.prototype.set=pFt;var bFt=DC(j3,"Map");const iR=bFt;function mFt(){this.size=0,this.__data__={hash:new IC,map:new(iR||_7),string:new IC}}function vFt(i){var a=typeof i;return a=="string"||a=="number"||a=="symbol"||a=="boolean"?i!=="__proto__":i===null}function NX(i,a){var u=i.__data__;return vFt(a)?u[typeof a=="string"?"string":"hash"]:u.map}function wFt(i){var a=NX(this,i).delete(i);return this.size-=a?1:0,a}function yFt(i){return NX(this,i).get(i)}function xFt(i){return NX(this,i).has(i)}function kFt(i,a){var u=NX(this,i),d=u.size;return u.set(i,a),this.size+=u.size==d?0:1,this}function A7(i){var a=-1,u=i==null?0:i.length;for(this.clear();++a<u;){var d=i[a];this.set(d[0],d[1])}}A7.prototype.clear=mFt,A7.prototype.delete=wFt,A7.prototype.get=yFt,A7.prototype.has=xFt,A7.prototype.set=kFt;var TFt="Expected a function";function yD(i,a){if(typeof i!="function"||a!=null&&typeof a!="function")throw new TypeError(TFt);var u=function(){var d=arguments,p=a?a.apply(this,d):d[0],v=u.cache;if(v.has(p))return v.get(p);var b=i.apply(this,d);return u.cache=v.set(p,b)||v,b};return u.cache=new(yD.Cache||A7),u}yD.Cache=A7;function EFt(){this.__data__=new _7,this.size=0}function CFt(i){var a=this.__data__,u=a.delete(i);return this.size=a.size,u}function SFt(i){return this.__data__.get(i)}function _Ft(i){return this.__data__.has(i)}var AFt=200;function LFt(i,a){var u=this.__data__;if(u instanceof _7){var d=u.__data__;if(!iR||d.length<AFt-1)return d.push([i,a]),this.size=++u.size,this;u=this.__data__=new A7(d)}return u.set(i,a),this.size=u.size,this}function $3(i){var a=this.__data__=new _7(i);this.size=a.size}$3.prototype.clear=EFt,$3.prototype.delete=CFt,$3.prototype.get=SFt,$3.prototype.has=_Ft,$3.prototype.set=LFt;var MFt=function(){try{var i=DC(Object,"defineProperty");return i({},"",{}),i}catch{}}();const PX=MFt;function BX(i,a,u){a=="__proto__"&&PX?PX(i,a,{configurable:!0,enumerable:!0,value:u,writable:!0}):i[a]=u}function L2e(i,a,u){(u!==void 0&&!wD(i[a],u)||u===void 0&&!(a in i))&&BX(i,a,u)}function DFt(i){return function(a,u,d){for(var p=-1,v=Object(a),b=d(a),y=b.length;y--;){var E=b[i?y:++p];if(u(v[E],E,v)===!1)break}return a}}var IFt=DFt();const M2e=IFt;var uje=typeof exports=="object"&&exports&&!exports.nodeType&&exports,lje=uje&&typeof module=="object"&&module&&!module.nodeType&&module,OFt=lje&&lje.exports===uje,hje=OFt?j3.Buffer:void 0,fje=hje?hje.allocUnsafe:void 0;function dje(i,a){if(a)return i.slice();var u=i.length,d=fje?fje(u):new i.constructor(u);return i.copy(d),d}var NFt=j3.Uint8Array;const FX=NFt;function D2e(i){var a=new i.constructor(i.byteLength);return new FX(a).set(new FX(i)),a}function gje(i,a){var u=a?D2e(i.buffer):i.buffer;return new i.constructor(u,i.byteOffset,i.length)}function pje(i,a){var u=-1,d=i.length;for(a||(a=Array(d));++u<d;)a[u]=i[u];return a}var bje=Object.create,PFt=function(){function i(){}return function(a){if(!dm(a))return{};if(bje)return bje(a);i.prototype=a;var u=new i;return i.prototype=void 0,u}}();const BFt=PFt;function mje(i,a){return function(u){return i(a(u))}}var FFt=mje(Object.getPrototypeOf,Object);const I2e=FFt;var RFt=Object.prototype;function RX(i){var a=i&&i.constructor,u=typeof a=="function"&&a.prototype||RFt;return i===u}function vje(i){return typeof i.constructor=="function"&&!RX(i)?BFt(I2e(i)):{}}function V4(i){return i!=null&&typeof i=="object"}var jFt="[object Arguments]";function wje(i){return V4(i)&&LC(i)==jFt}var yje=Object.prototype,$Ft=yje.hasOwnProperty,zFt=yje.propertyIsEnumerable,qFt=wje(function(){return arguments}())?wje:function(i){return V4(i)&&$Ft.call(i,"callee")&&!zFt.call(i,"callee")};const xD=qFt;var HFt=Array.isArray;const D0=HFt;var UFt=9007199254740991;function O2e(i){return typeof i=="number"&&i>-1&&i%1==0&&i<=UFt}function y9(i){return i!=null&&O2e(i.length)&&!vD(i)}function xje(i){return V4(i)&&y9(i)}function VFt(){return!1}var kje=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Tje=kje&&typeof module=="object"&&module&&!module.nodeType&&module,GFt=Tje&&Tje.exports===kje,Eje=GFt?j3.Buffer:void 0,KFt=Eje?Eje.isBuffer:void 0,WFt=KFt||VFt;const kD=WFt;var YFt="[object Object]",XFt=Function.prototype,QFt=Object.prototype,Cje=XFt.toString,JFt=QFt.hasOwnProperty,ZFt=Cje.call(Object);function Sje(i){if(!V4(i)||LC(i)!=YFt)return!1;var a=I2e(i);if(a===null)return!0;var u=JFt.call(a,"constructor")&&a.constructor;return typeof u=="function"&&u instanceof u&&Cje.call(u)==ZFt}var eRt="[object Arguments]",tRt="[object Array]",nRt="[object Boolean]",rRt="[object Date]",iRt="[object Error]",sRt="[object Function]",aRt="[object Map]",oRt="[object Number]",cRt="[object Object]",uRt="[object RegExp]",lRt="[object Set]",hRt="[object String]",fRt="[object WeakMap]",dRt="[object ArrayBuffer]",gRt="[object DataView]",pRt="[object Float32Array]",bRt="[object Float64Array]",mRt="[object Int8Array]",vRt="[object Int16Array]",wRt="[object Int32Array]",yRt="[object Uint8Array]",xRt="[object Uint8ClampedArray]",kRt="[object Uint16Array]",TRt="[object Uint32Array]",rh={};rh[pRt]=rh[bRt]=rh[mRt]=rh[vRt]=rh[wRt]=rh[yRt]=rh[xRt]=rh[kRt]=rh[TRt]=!0,rh[eRt]=rh[tRt]=rh[dRt]=rh[nRt]=rh[gRt]=rh[rRt]=rh[iRt]=rh[sRt]=rh[aRt]=rh[oRt]=rh[cRt]=rh[uRt]=rh[lRt]=rh[hRt]=rh[fRt]=!1;function ERt(i){return V4(i)&&O2e(i.length)&&!!rh[LC(i)]}function jX(i){return function(a){return i(a)}}var _je=typeof exports=="object"&&exports&&!exports.nodeType&&exports,sR=_je&&typeof module=="object"&&module&&!module.nodeType&&module,CRt=sR&&sR.exports===_je,N2e=CRt&&sje.process,SRt=function(){try{var i=sR&&sR.require&&sR.require("util").types;return i||N2e&&N2e.binding&&N2e.binding("util")}catch{}}();const TD=SRt;var Aje=TD&&TD.isTypedArray,_Rt=Aje?jX(Aje):ERt;const $X=_Rt;function P2e(i,a){if(!(a==="constructor"&&typeof i[a]=="function")&&a!="__proto__")return i[a]}var ARt=Object.prototype,LRt=ARt.hasOwnProperty;function zX(i,a,u){var d=i[a];(!(LRt.call(i,a)&&wD(d,u))||u===void 0&&!(a in i))&&BX(i,a,u)}function aR(i,a,u,d){var p=!u;u||(u={});for(var v=-1,b=a.length;++v<b;){var y=a[v],E=d?d(u[y],i[y],y,u,i):void 0;E===void 0&&(E=i[y]),p?BX(u,y,E):zX(u,y,E)}return u}function MRt(i,a){for(var u=-1,d=Array(i);++u<i;)d[u]=a(u);return d}var DRt=9007199254740991,IRt=/^(?:0|[1-9]\d*)$/;function qX(i,a){var u=typeof i;return a=a??DRt,!!a&&(u=="number"||u!="symbol"&&IRt.test(i))&&i>-1&&i%1==0&&i<a}var ORt=Object.prototype,NRt=ORt.hasOwnProperty;function Lje(i,a){var u=D0(i),d=!u&&xD(i),p=!u&&!d&&kD(i),v=!u&&!d&&!p&&$X(i),b=u||d||p||v,y=b?MRt(i.length,String):[],E=y.length;for(var _ in i)(a||NRt.call(i,_))&&!(b&&(_=="length"||p&&(_=="offset"||_=="parent")||v&&(_=="buffer"||_=="byteLength"||_=="byteOffset")||qX(_,E)))&&y.push(_);return y}function PRt(i){var a=[];if(i!=null)for(var u in Object(i))a.push(u);return a}var BRt=Object.prototype,FRt=BRt.hasOwnProperty;function RRt(i){if(!dm(i))return PRt(i);var a=RX(i),u=[];for(var d in i)d=="constructor"&&(a||!FRt.call(i,d))||u.push(d);return u}function OC(i){return y9(i)?Lje(i,!0):RRt(i)}function jRt(i){return aR(i,OC(i))}function $Rt(i,a,u,d,p,v,b){var y=P2e(i,u),E=P2e(a,u),_=b.get(E);if(_){L2e(i,u,_);return}var A=v?v(y,E,u+"",i,a,b):void 0,P=A===void 0;if(P){var R=D0(E),B=!R&&kD(E),j=!R&&!B&&$X(E);A=E,R||B||j?D0(y)?A=y:xje(y)?A=pje(y):B?(P=!1,A=dje(E,!0)):j?(P=!1,A=gje(E,!0)):A=[]:Sje(E)||xD(E)?(A=y,xD(y)?A=jRt(y):(!dm(y)||vD(y))&&(A=vje(E))):P=!1}P&&(b.set(E,A),p(A,E,d,v,b),b.delete(E)),L2e(i,u,A)}function Mje(i,a,u,d,p){i!==a&&M2e(a,function(v,b){if(p||(p=new $3),dm(v))$Rt(i,a,b,u,Mje,d,p);else{var y=d?d(P2e(i,b),v,b+"",i,a,p):void 0;y===void 0&&(y=v),L2e(i,b,y)}},OC)}function NC(i){return i}function zRt(i,a,u){switch(u.length){case 0:return i.call(a);case 1:return i.call(a,u[0]);case 2:return i.call(a,u[0],u[1]);case 3:return i.call(a,u[0],u[1],u[2])}return i.apply(a,u)}var Dje=Math.max;function Ije(i,a,u){return a=Dje(a===void 0?i.length-1:a,0),function(){for(var d=arguments,p=-1,v=Dje(d.length-a,0),b=Array(v);++p<v;)b[p]=d[a+p];p=-1;for(var y=Array(a+1);++p<a;)y[p]=d[p];return y[a]=u(b),zRt(i,this,y)}}function ED(i){return function(){return i}}var qRt=PX?function(i,a){return PX(i,"toString",{configurable:!0,enumerable:!1,value:ED(a),writable:!0})}:NC;const HRt=qRt;var URt=800,VRt=16,GRt=Date.now;function KRt(i){var a=0,u=0;return function(){var d=GRt(),p=VRt-(d-u);if(u=d,p>0){if(++a>=URt)return arguments[0]}else a=0;return i.apply(void 0,arguments)}}var WRt=KRt(HRt);const Oje=WRt;function HX(i,a){return Oje(Ije(i,a,NC),i+"")}function oR(i,a,u){if(!dm(u))return!1;var d=typeof a;return(d=="number"?y9(u)&&qX(a,u.length):d=="string"&&a in u)?wD(u[a],i):!1}function YRt(i){return HX(function(a,u){var d=-1,p=u.length,v=p>1?u[p-1]:void 0,b=p>2?u[2]:void 0;for(v=i.length>3&&typeof v=="function"?(p--,v):void 0,b&&oR(u[0],u[1],b)&&(v=p<3?void 0:v,p=1),a=Object(a);++d<p;){var y=u[d];y&&i(a,y,d,v)}return a})}var XRt=YRt(function(i,a,u){Mje(i,a,u)});const UX=XRt,Nje="",QRt={curveBasis:VF,curveBasisClosed:sPt,curveBasisOpen:aPt,curveBumpX:rPt,curveBumpY:iPt,curveBundle:oPt,curveCardinalClosed:uPt,curveCardinalOpen:lPt,curveCardinal:cPt,curveCatmullRomClosed:fPt,curveCatmullRomOpen:dPt,curveCatmullRom:hPt,curveLinear:Sp,curveLinearClosed:gPt,curveMonotoneX:pPt,curveMonotoneY:bPt,curveNatural:mPt,curveStep:vPt,curveStepAfter:yPt,curveStepBefore:wPt},JRt=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,ZRt=function(i,a){const u=Pje(i,/(?:init\b)|(?:initialize\b)/);let d={};if(Array.isArray(u)){const b=u.map(y=>y.args);DX(b),d=id(d,[...b])}else d=u.args;if(!d)return;let p=IX(i,a);const v="config";return d[v]!==void 0&&(p==="flowchart-v2"&&(p="flowchart"),d[p]=d[v],delete d[v]),d},Pje=function(i,a=null){try{const u=new RegExp(`[%]{2}(?![{]${JRt.source})(?=[}][%]{2}).*
`,"ig");i=i.trim().replace(u,"").replace(/'/gm,'"'),Xe.debug(`Detecting diagram directive${a!==null?" type:"+a:""} based on the text:${i}`);let d;const p=[];for(;(d=tR.exec(i))!==null;)if(d.index===tR.lastIndex&&tR.lastIndex++,d&&!a||a&&d[1]&&d[1].match(a)||a&&d[2]&&d[2].match(a)){const v=d[1]?d[1]:d[2],b=d[3]?d[3].trim():d[4]?JSON.parse(d[4].trim()):null;p.push({type:v,args:b})}return p.length===0?{type:i,args:null}:p.length===1?p[0]:p}catch(u){return Xe.error(`ERROR: ${u.message} - Unable to parse directive type: '${a}' based on the text: '${i}'`),{type:void 0,args:null}}},ejt=function(i){return i.replace(tR,"")},tjt=function(i,a){for(const[u,d]of a.entries())if(d.match(i))return u;return-1};function qv(i,a){if(!i)return a;const u=`curve${i.charAt(0).toUpperCase()+i.slice(1)}`;return QRt[u]??a}function njt(i,a){const u=i.trim();if(u)return a.securityLevel!=="loose"?b9.sanitizeUrl(u):u}const rjt=(i,...a)=>{const u=i.split("."),d=u.length-1,p=u[d];let v=window;for(let b=0;b<d;b++)if(v=v[u[b]],!v){Xe.error(`Function name: ${i} not found in window`);return}v[p](...a)};function Bje(i,a){return!i||!a?0:Math.sqrt(Math.pow(a.x-i.x,2)+Math.pow(a.y-i.y,2))}function ijt(i){let a,u=0;i.forEach(p=>{u+=Bje(p,a),a=p});const d=u/2;return B2e(i,d)}function sjt(i){return i.length===1?i[0]:ijt(i)}const Fje=(i,a=2)=>{const u=Math.pow(10,a);return Math.round(i*u)/u},B2e=(i,a)=>{let u,d=a;for(const p of i){if(u){const v=Bje(p,u);if(v<d)d-=v;else{const b=d/v;if(b<=0)return u;if(b>=1)return{x:p.x,y:p.y};if(b>0&&b<1)return{x:Fje((1-b)*u.x+b*p.x,5),y:Fje((1-b)*u.y+b*p.y,5)}}}u=p}throw new Error("Could not find a suitable point for the given distance")},ajt=(i,a,u)=>{Xe.info(`our points ${JSON.stringify(a)}`),a[0]!==u&&(a=a.reverse());const p=B2e(a,25),v=i?10:5,b=Math.atan2(a[0].y-p.y,a[0].x-p.x),y={x:0,y:0};return y.x=Math.sin(b)*v+(a[0].x+p.x)/2,y.y=-Math.cos(b)*v+(a[0].y+p.y)/2,y};function ojt(i,a,u){const d=structuredClone(u);Xe.info("our points",d),a!=="start_left"&&a!=="start_right"&&d.reverse();const p=25+i,v=B2e(d,p),b=10+i*.5,y=Math.atan2(d[0].y-v.y,d[0].x-v.x),E={x:0,y:0};return a==="start_left"?(E.x=Math.sin(y+Math.PI)*b+(d[0].x+v.x)/2,E.y=-Math.cos(y+Math.PI)*b+(d[0].y+v.y)/2):a==="end_right"?(E.x=Math.sin(y-Math.PI)*b+(d[0].x+v.x)/2-5,E.y=-Math.cos(y-Math.PI)*b+(d[0].y+v.y)/2-5):a==="end_left"?(E.x=Math.sin(y)*b+(d[0].x+v.x)/2-5,E.y=-Math.cos(y)*b+(d[0].y+v.y)/2-5):(E.x=Math.sin(y)*b+(d[0].x+v.x)/2,E.y=-Math.cos(y)*b+(d[0].y+v.y)/2),E}function gm(i){let a="",u="";for(const d of i)d!==void 0&&(d.startsWith("color:")||d.startsWith("text-align:")?u=u+d+";":a=a+d+";");return{style:a,labelStyle:u}}let Rje=0;const jje=()=>(Rje++,"id-"+Math.random().toString(36).substr(2,12)+"-"+Rje);function cjt(i){let a="";const u="0123456789abcdef",d=u.length;for(let p=0;p<i;p++)a+=u.charAt(Math.floor(Math.random()*d));return a}const $je=i=>cjt(i.length),ujt=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:""}},ljt=function(i,a){const u=a.text.replace(oi.lineBreakRegex," "),[,d]=PC(a.fontSize),p=i.append("text");p.attr("x",a.x),p.attr("y",a.y),p.style("text-anchor",a.anchor),p.style("font-family",a.fontFamily),p.style("font-size",d),p.style("font-weight",a.fontWeight),p.attr("fill",a.fill),a.class!==void 0&&p.attr("class",a.class);const v=p.append("tspan");return v.attr("x",a.x+a.textMargin*2),v.attr("fill",a.fill),v.text(u),p},zje=yD((i,a,u)=>{if(!i||(u=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},u),oi.lineBreakRegex.test(i)))return i;const d=i.split(" "),p=[];let v="";return d.forEach((b,y)=>{const E=G4(`${b} `,u),_=G4(v,u);if(E>a){const{hyphenatedStrings:R,remainingWord:B}=hjt(b,a,"-",u);p.push(v,...R),v=B}else _+E>=a?(p.push(v),v=b):v=[v,b].filter(Boolean).join(" ");y+1===d.length&&p.push(v)}),p.filter(b=>b!=="").join(u.joinWith)},(i,a,u)=>`${i}${a}${u.fontSize}${u.fontWeight}${u.fontFamily}${u.joinWith}`),hjt=yD((i,a,u="-",d)=>{d=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},d);const p=[...i],v=[];let b="";return p.forEach((y,E)=>{const _=`${b}${y}`;if(G4(_,d)>=a){const P=E+1,R=p.length===P,B=`${_}${u}`;v.push(R?_:B),b=""}else b=_}),{hyphenatedStrings:v,remainingWord:b}},(i,a,u="-",d)=>`${i}${a}${u}${d.fontSize}${d.fontWeight}${d.fontFamily}`);function F2e(i,a){return R2e(i,a).height}function G4(i,a){return R2e(i,a).width}const R2e=yD((i,a)=>{const{fontSize:u=12,fontFamily:d="Arial",fontWeight:p=400}=a;if(!i)return{width:0,height:0};const[,v]=PC(u),b=["sans-serif",d],y=i.split(oi.lineBreakRegex),E=[],_=Dr("body");if(!_.remove)return{width:0,height:0,lineHeight:0};const A=_.append("svg");for(const R of b){let B=0;const j={width:0,height:0,lineHeight:0};for(const W of y){const ee=ujt();ee.text=W||Nje;const ie=ljt(A,ee).style("font-size",v).style("font-weight",p).style("font-family",R),oe=(ie._groups||ie)[0][0].getBBox();if(oe.width===0&&oe.height===0)throw new Error("svg element not in render tree");j.width=Math.round(Math.max(j.width,oe.width)),B=Math.round(oe.height),j.height+=B,j.lineHeight=Math.round(Math.max(j.lineHeight,B))}E.push(j)}A.remove();const P=isNaN(E[1].height)||isNaN(E[1].width)||isNaN(E[1].lineHeight)||E[0].height>E[1].height&&E[0].width>E[1].width&&E[0].lineHeight>E[1].lineHeight?0:1;return E[P]},(i,a)=>`${i}${a.fontSize}${a.fontWeight}${a.fontFamily}`);class fjt{constructor(a=!1,u){this.count=0,this.count=u?u.length:0,this.next=a?()=>this.count++:()=>Date.now()}}let VX;const djt=function(i){return VX=VX||document.createElement("div"),i=escape(i).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),VX.innerHTML=i,unescape(VX.textContent)};function qje(i){return"str"in i}const gjt=(i,a,u,d)=>{var v;if(!d)return;const p=(v=i.node())==null?void 0:v.getBBox();p&&i.append("text").text(d).attr("x",p.x+p.width/2).attr("y",-u).attr("class",a)},PC=i=>{if(typeof i=="number")return[i,i+"px"];const a=parseInt(i??"",10);return Number.isNaN(a)?[void 0,void 0]:i===String(a)?[a,i+"px"]:[a,i]};function cR(i,a){return UX({},i,a)}const So={assignWithDepth:id,wrapLabel:zje,calculateTextHeight:F2e,calculateTextWidth:G4,calculateTextDimensions:R2e,cleanAndMerge:cR,detectInit:ZRt,detectDirective:Pje,isSubstringInArray:tjt,interpolateToCurve:qv,calcLabelPosition:sjt,calcCardinalityPosition:ajt,calcTerminalLabelPosition:ojt,formatUrl:njt,getStylesFromArray:gm,generateId:jje,random:$je,runFunc:rjt,entityDecode:djt,insertTitle:gjt,parseFontSize:PC,InitIDGenerator:fjt},pjt=function(i){let a=i;return a=a.replace(/style.*:\S*#.*;/g,function(u){return u.substring(0,u.length-1)}),a=a.replace(/classDef.*:\S*#.*;/g,function(u){return u.substring(0,u.length-1)}),a=a.replace(/#\w+;/g,function(u){const d=u.substring(1,u.length-1);return/^\+?\d+$/.test(d)?"fl°°"+d+"¶ß":"fl°"+d+"¶ß"}),a},uR=function(i){return i.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")};var j2e="comm",Hje="rule",Uje="decl",bjt="@media",mjt="@import",vjt="@supports",$2e="@keyframes",Vje="@layer",Gje=Math.abs,z2e=String.fromCharCode;function Kje(i){return i.trim()}function GX(i,a,u){return i.replace(a,u)}function wjt(i,a,u){return i.indexOf(a,u)}function lR(i,a){return i.charCodeAt(a)|0}function hR(i,a,u){return i.slice(a,u)}function L7(i){return i.length}function Wje(i){return i.length}function KX(i,a){return a.push(i),i}var WX=1,CD=1,Yje=0,Hv=0,I0=0,SD="";function q2e(i,a,u,d,p,v,b,y){return{value:i,root:a,parent:u,type:d,props:p,children:v,line:WX,column:CD,length:b,return:"",siblings:y}}function yjt(){return I0}function xjt(){return I0=Hv>0?lR(SD,--Hv):0,CD--,I0===10&&(CD=1,WX--),I0}function z3(){return I0=Hv<Yje?lR(SD,Hv++):0,CD++,I0===10&&(CD=1,WX++),I0}function BC(){return lR(SD,Hv)}function YX(){return Hv}function XX(i,a){return hR(SD,i,a)}function H2e(i){switch(i){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 kjt(i){return WX=CD=1,Yje=L7(SD=i),Hv=0,[]}function Tjt(i){return SD="",i}function U2e(i){return Kje(XX(Hv-1,V2e(i===91?i+2:i===40?i+1:i)))}function Ejt(i){for(;(I0=BC())&&I0<33;)z3();return H2e(i)>2||H2e(I0)>3?"":" "}function Cjt(i,a){for(;--a&&z3()&&!(I0<48||I0>102||I0>57&&I0<65||I0>70&&I0<97););return XX(i,YX()+(a<6&&BC()==32&&z3()==32))}function V2e(i){for(;z3();)switch(I0){case i:return Hv;case 34:case 39:i!==34&&i!==39&&V2e(I0);break;case 40:i===41&&V2e(i);break;case 92:z3();break}return Hv}function Sjt(i,a){for(;z3()&&i+I0!==47+10;)if(i+I0===42+42&&BC()===47)break;return"/*"+XX(a,Hv-1)+"*"+z2e(i===47?i:z3())}function _jt(i){for(;!H2e(BC());)z3();return XX(i,Hv)}function Ajt(i){return Tjt(QX("",null,null,null,[""],i=kjt(i),0,[0],i))}function QX(i,a,u,d,p,v,b,y,E){for(var _=0,A=0,P=b,R=0,B=0,j=0,W=1,ee=1,ie=1,oe=0,be="",ge=p,ae=v,ne=d,se=be;ee;)switch(j=oe,oe=z3()){case 40:if(j!=108&&lR(se,P-1)==58){wjt(se+=GX(U2e(oe),"&","&\f"),"&\f",Gje(_?y[_-1]:0))!=-1&&(ie=-1);break}case 34:case 39:case 91:se+=U2e(oe);break;case 9:case 10:case 13:case 32:se+=Ejt(j);break;case 92:se+=Cjt(YX()-1,7);continue;case 47:switch(BC()){case 42:case 47:KX(Ljt(Sjt(z3(),YX()),a,u,E),E);break;default:se+="/"}break;case 123*W:y[_++]=L7(se)*ie;case 125*W:case 59:case 0:switch(oe){case 0:case 125:ee=0;case 59+A:ie==-1&&(se=GX(se,/\f/g,"")),B>0&&L7(se)-P&&KX(B>32?Qje(se+";",d,u,P-1,E):Qje(GX(se," ","")+";",d,u,P-2,E),E);break;case 59:se+=";";default:if(KX(ne=Xje(se,a,u,_,A,p,y,be,ge=[],ae=[],P,v),v),oe===123)if(A===0)QX(se,a,ne,ne,ge,v,P,y,ae);else switch(R===99&&lR(se,3)===110?100:R){case 100:case 108:case 109:case 115:QX(i,ne,ne,d&&KX(Xje(i,ne,ne,0,0,p,y,be,p,ge=[],P,ae),ae),p,ae,P,y,d?ge:ae);break;default:QX(se,ne,ne,ne,[""],ae,0,y,ae)}}_=A=B=0,W=ie=1,be=se="",P=b;break;case 58:P=1+L7(se),B=j;default:if(W<1){if(oe==123)--W;else if(oe==125&&W++==0&&xjt()==125)continue}switch(se+=z2e(oe),oe*W){case 38:ie=A>0?1:(se+="\f",-1);break;case 44:y[_++]=(L7(se)-1)*ie,ie=1;break;case 64:BC()===45&&(se+=U2e(z3())),R=BC(),A=P=L7(be=se+=_jt(YX())),oe++;break;case 45:j===45&&L7(se)==2&&(W=0)}}return v}function Xje(i,a,u,d,p,v,b,y,E,_,A,P){for(var R=p-1,B=p===0?v:[""],j=Wje(B),W=0,ee=0,ie=0;W<d;++W)for(var oe=0,be=hR(i,R+1,R=Gje(ee=b[W])),ge=i;oe<j;++oe)(ge=Kje(ee>0?B[oe]+" "+be:GX(be,/&\f/g,B[oe])))&&(E[ie++]=ge);return q2e(i,a,u,p===0?Hje:y,E,_,A,P)}function Ljt(i,a,u,d){return q2e(i,a,u,j2e,z2e(yjt()),hR(i,2,-2),0,d)}function Qje(i,a,u,d,p){return q2e(i,a,u,Uje,hR(i,0,d),hR(i,d+1,-1),d,p)}function G2e(i,a){for(var u="",d=0;d<i.length;d++)u+=a(i[d],d,i,a)||"";return u}function Mjt(i,a,u,d){switch(i.type){case Vje:if(i.children.length)break;case mjt:case Uje:return i.return=i.return||i.value;case j2e:return"";case $2e:return i.return=i.value+"{"+G2e(i.children,d)+"}";case Hje:if(!L7(i.value=i.props.join(",")))return""}return L7(u=G2e(i.children,d))?i.return=i.value+"{"+u+"}":""}function Djt(i){var a=Wje(i);return function(u,d,p,v){for(var b="",y=0;y<a;y++)b+=i[y](u,d,p,v)||"";return b}}const Jje="10.9.6",_D=Object.freeze(nh);let G2=id({},_D),Zje,AD=[],fR=id({},_D);const JX=(i,a)=>{let u=id({},i),d={};for(const p of a)n$e(p),d=id(d,p);if(u=id(u,d),d.theme&&d.theme in C7){const p=id({},Zje),v=id(p.themeVariables||{},d.themeVariables);u.theme&&u.theme in C7&&(u.themeVariables=C7[u.theme].getThemeVariables(v))}return fR=u,i$e(fR),fR},Ijt=i=>(G2=id({},_D),G2=id(G2,i),i.theme&&C7[i.theme]&&(G2.themeVariables=C7[i.theme].getThemeVariables(i.themeVariables)),JX(G2,AD),G2),Ojt=i=>{Zje=id({},i)},Njt=i=>(G2=id(G2,i),JX(G2,AD),G2),e$e=()=>id({},G2),t$e=i=>(i$e(i),id(fR,i),mh()),mh=()=>id({},fR),n$e=i=>{i&&(["secure",...G2.secure??[]].forEach(a=>{Object.hasOwn(i,a)&&(Xe.debug(`Denied attempt to modify a secure key ${a}`,i[a]),delete i[a])}),Object.keys(i).forEach(a=>{a.startsWith("__")&&delete i[a]}),Object.keys(i).forEach(a=>{typeof i[a]=="string"&&(i[a].includes("<")||i[a].includes(">")||i[a].includes("url(data:"))&&delete i[a],typeof i[a]=="object"&&n$e(i[a])}))},Pjt=i=>{DX(i),i.fontFamily&&(!i.themeVariables||!i.themeVariables.fontFamily)&&(i.themeVariables={fontFamily:i.fontFamily}),AD.push(i),JX(G2,AD)},ZX=(i=G2)=>{AD=[],JX(i,AD)},Bjt={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},r$e={},Fjt=i=>{r$e[i]||(Xe.warn(Bjt[i]),r$e[i]=!0)},i$e=i=>{i&&(i.lazyLoadedDiagrams||i.loadExternalDiagramsAtStartup)&&Fjt("LAZY_LOAD_DEPRECATED")},s$e="c4",Rjt={id:s$e,detector:i=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>$Vt);return{id:s$e,diagram:i}}},a$e="flowchart",jjt={id:a$e,detector:(i,a)=>{var u,d;return((u=a==null?void 0:a.flowchart)==null?void 0:u.defaultRenderer)==="dagre-wrapper"||((d=a==null?void 0:a.flowchart)==null?void 0:d.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Wen);return{id:a$e,diagram:i}}},o$e="flowchart-v2",$jt={id:o$e,detector:(i,a)=>{var u,d,p;return((u=a==null?void 0:a.flowchart)==null?void 0:u.defaultRenderer)==="dagre-d3"||((d=a==null?void 0:a.flowchart)==null?void 0:d.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)&&((p=a==null?void 0:a.flowchart)==null?void 0:p.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Yen);return{id:o$e,diagram:i}}},c$e="er",zjt={id:c$e,detector:i=>/^\s*erDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>xtn);return{id:c$e,diagram:i}}},u$e="gitGraph",qjt={id:u$e,detector:i=>/^\s*gitGraph/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Ktn);return{id:u$e,diagram:i}}},l$e="gantt",Hjt={id:l$e,detector:i=>/^\s*gantt/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Bnn);return{id:l$e,diagram:i}}},h$e="info",Ujt={id:h$e,detector:i=>/^\s*info/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Rnn);return{id:h$e,diagram:i}}},f$e="pie",Vjt={id:f$e,detector:i=>/^\s*pie/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Unn);return{id:f$e,diagram:i}}},d$e="quadrantChart",Gjt={id:d$e,detector:i=>/^\s*quadrantChart/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>arn);return{id:d$e,diagram:i}}},g$e="xychart",Kjt={id:g$e,detector:i=>/^\s*xychart-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Mrn);return{id:g$e,diagram:i}}},p$e="requirement",Wjt={id:p$e,detector:i=>/^\s*requirement(Diagram)?/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>$rn);return{id:p$e,diagram:i}}},b$e="sequence",Yjt={id:b$e,detector:i=>/^\s*sequenceDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Hin);return{id:b$e,diagram:i}}},m$e="class",Xjt={id:m$e,detector:(i,a)=>{var u;return((u=a==null?void 0:a.class)==null?void 0:u.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>dsn);return{id:m$e,diagram:i}}},v$e="classDiagram",Qjt={id:v$e,detector:(i,a)=>{var u;return/^\s*classDiagram/.test(i)&&((u=a==null?void 0:a.class)==null?void 0:u.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>wsn);return{id:v$e,diagram:i}}},w$e="state",Jjt={id:w$e,detector:(i,a)=>{var u;return((u=a==null?void 0:a.state)==null?void 0:u.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>aan);return{id:w$e,diagram:i}}},y$e="stateDiagram",Zjt={id:y$e,detector:(i,a)=>{var u;return!!(/^\s*stateDiagram-v2/.test(i)||/^\s*stateDiagram/.test(i)&&((u=a==null?void 0:a.state)==null?void 0:u.defaultRenderer)==="dagre-wrapper")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Can);return{id:y$e,diagram:i}}},x$e="journey",e$t={id:x$e,detector:i=>/^\s*journey/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Uan);return{id:x$e,diagram:i}}},t$t=function(i,a){for(let u of a)i.attr(u[0],u[1])},n$t=function(i,a,u){let d=new Map;return u?(d.set("width","100%"),d.set("style",`max-width: ${a}px;`)):(d.set("height",i),d.set("width",a)),d},Fg=function(i,a,u,d){const p=n$t(a,u,d);t$t(i,p)},x9=function(i,a,u,d){const p=a.node().getBBox(),v=p.width,b=p.height;Xe.info(`SVG bounds: ${v}x${b}`,p);let y=0,E=0;Xe.info(`Graph bounds: ${y}x${E}`,i),y=v+u*2,E=b+u*2,Xe.info(`Calculated bounds: ${y}x${E}`),Fg(a,E,y,d);const _=`${p.x-u} ${p.y-u} ${p.width+2*u} ${p.height+2*u}`;a.attr("viewBox",_)},eQ={};function k$e(i){return[...i.cssRules].map(a=>a.cssText).join(`
`)}const r$t=(i,a,u)=>{let d="";return i in eQ&&eQ[i]?d=eQ[i](u):Xe.warn(`No theme found for ${i}`),` & {
font-family: ${u.fontFamily};
font-size: ${u.fontSize};
fill: ${u.textColor}
}
/* Classes common for multiple diagrams */
& .error-icon {
fill: ${u.errorBkgColor};
}
& .error-text {
fill: ${u.errorTextColor};
stroke: ${u.errorTextColor};
}
& .edge-thickness-normal {
stroke-width: 2px;
}
& .edge-thickness-thick {
stroke-width: 3.5px
}
& .edge-pattern-solid {
stroke-dasharray: 0;
}
& .edge-pattern-dashed{
stroke-dasharray: 3;
}
.edge-pattern-dotted {
stroke-dasharray: 2;
}
& .marker {
fill: ${u.lineColor};
stroke: ${u.lineColor};
}
& .marker.cross {
stroke: ${u.lineColor};
}
& svg {
font-family: ${u.fontFamily};
font-size: ${u.fontSize};
}
${d}
${a}
`},i$t=(i,a)=>{a!==void 0&&(eQ[i]=a)},s$t=r$t;let K2e="",W2e="",Y2e="";const X2e=i=>bh(i,mh()),Rg=()=>{K2e="",Y2e="",W2e=""},jg=i=>{K2e=X2e(i).replace(/^\s+/g,"")},Mp=()=>K2e,Dp=i=>{Y2e=X2e(i).replace(/\n\s+/g,`
`)},Ip=()=>Y2e,pm=i=>{W2e=X2e(i)},Op=()=>W2e,T$e=Object.freeze(Object.defineProperty({__proto__:null,clear:Rg,getAccDescription:Ip,getAccTitle:Mp,getDiagramTitle:Op,setAccDescription:Dp,setAccTitle:jg,setDiagramTitle:pm},Symbol.toStringTag,{value:"Module"})),a$t=Xe,o$t=Spe,qt=mh,c$t=t$e,E$e=_D,u$t=i=>bh(i,qt()),C$e=x9,l$t=()=>T$e,tQ={},nQ=(i,a,u)=>{var d;if(tQ[i])throw new Error(`Diagram ${i} already registered.`);tQ[i]=a,u&&ije(i,u),i$t(i,a.styles),(d=a.injectUtils)==null||d.call(a,a$t,o$t,qt,u$t,C$e,l$t(),()=>{})},Q2e=i=>{if(i in tQ)return tQ[i];throw new h$t(i)};class h$t extends Error{constructor(a){super(`Diagram ${a} not found.`)}}const dR=i=>{var p;const{securityLevel:a}=qt();let u=Dr("body");if(a==="sandbox"){const b=((p=Dr(`#i${i}`).node())==null?void 0:p.contentDocument)??document;u=Dr(b.body)}return u.select(`#${i}`)},S$e={draw:(i,a,u)=>{Xe.debug(`rendering svg for syntax error
`);const d=dR(a),p=d.append("g");d.attr("viewBox","0 0 2412 512"),Fg(d,100,512,!0),p.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"),p.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"),p.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"),p.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"),p.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"),p.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"),p.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"),p.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${u}`)}},f$t=S$e,d$t={db:{},renderer:S$e,parser:{parser:{yy:{}},parse:()=>{}}},_$e="flowchart-elk",g$t={id:_$e,detector:(i,a)=>{var u;return!!(/^\s*flowchart-elk/.test(i)||/^\s*flowchart|graph/.test(i)&&((u=a==null?void 0:a.flowchart)==null?void 0:u.defaultRenderer)==="elk")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>aon);return{id:_$e,diagram:i}}},A$e="timeline",p$t={id:A$e,detector:i=>/^\s*timeline/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Con);return{id:A$e,diagram:i}}},L$e="mindmap",b$t={id:L$e,detector:i=>/^\s*mindmap/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Zon);return{id:L$e,diagram:i}}},M$e="sankey",m$t={id:M$e,detector:i=>/^\s*sankey-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Lcn);return{id:M$e,diagram:i}}},D$e="block",v$t={id:D$e,detector:i=>/^\s*block-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Qcn);return{id:D$e,diagram:i}}};let I$e=!1;const J2e=()=>{I$e||(I$e=!0,nQ("error",d$t,i=>i.toLowerCase().trim()==="error"),nQ("---",{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},i=>i.toLowerCase().trimStart().startsWith("---")),rje(Rjt,Qjt,Xjt,zjt,Hjt,Ujt,Vjt,Wjt,Yjt,g$t,$jt,jjt,b$t,p$t,qjt,Zjt,Jjt,e$t,Gjt,m$t,Kjt,v$t))};class O$e{constructor(a,u={}){this.text=a,this.metadata=u,this.type="graph",this.text=pjt(a),this.text+=`
`;const d=mh();try{this.type=IX(a,d)}catch(v){this.type="error",this.detectError=v}const p=Q2e(this.type);Xe.debug("Type "+this.type),this.db=p.db,this.renderer=p.renderer,this.parser=p.parser,this.parser.parser.yy=this.db,this.init=p.init,this.parse()}parse(){var u,d,p,v,b;if(this.detectError)throw this.detectError;(d=(u=this.db).clear)==null||d.call(u);const a=mh();(p=this.init)==null||p.call(this,a),this.metadata.title&&((b=(v=this.db).setDiagramTitle)==null||b.call(v,this.metadata.title)),this.parser.parse(this.text)}async render(a,u){await this.renderer.draw(this.text,a,u,this)}getParser(){return this.parser}getType(){return this.type}}const w$t=async(i,a={})=>{const u=IX(i,mh());try{Q2e(u)}catch{const p=xBt(u);if(!p)throw new nje(`Diagram ${u} not found.`);const{id:v,diagram:b}=await p();nQ(v,b)}return new O$e(i,a)};let N$e=[];const y$t=()=>{N$e.forEach(i=>{i()}),N$e=[]};var x$t=mje(Object.keys,Object);const k$t=x$t;var T$t=Object.prototype,E$t=T$t.hasOwnProperty;function P$e(i){if(!RX(i))return k$t(i);var a=[];for(var u in Object(i))E$t.call(i,u)&&u!="constructor"&&a.push(u);return a}var C$t=DC(j3,"DataView");const Z2e=C$t;var S$t=DC(j3,"Promise");const ebe=S$t;var _$t=DC(j3,"Set");const LD=_$t;var A$t=DC(j3,"WeakMap");const tbe=A$t;var B$e="[object Map]",L$t="[object Object]",F$e="[object Promise]",R$e="[object Set]",j$e="[object WeakMap]",$$e="[object DataView]",M$t=MC(Z2e),D$t=MC(iR),I$t=MC(ebe),O$t=MC(LD),N$t=MC(tbe),FC=LC;(Z2e&&FC(new Z2e(new ArrayBuffer(1)))!=$$e||iR&&FC(new iR)!=B$e||ebe&&FC(ebe.resolve())!=F$e||LD&&FC(new LD)!=R$e||tbe&&FC(new tbe)!=j$e)&&(FC=function(i){var a=LC(i),u=a==L$t?i.constructor:void 0,d=u?MC(u):"";if(d)switch(d){case M$t:return $$e;case D$t:return B$e;case I$t:return F$e;case O$t:return R$e;case N$t:return j$e}return a});const MD=FC;var P$t="[object Map]",B$t="[object Set]",F$t=Object.prototype,R$t=F$t.hasOwnProperty;function gR(i){if(i==null)return!0;if(y9(i)&&(D0(i)||typeof i=="string"||typeof i.splice=="function"||kD(i)||$X(i)||xD(i)))return!i.length;var a=MD(i);if(a==P$t||a==B$t)return!i.size;if(RX(i))return!P$e(i).length;for(var u in i)if(R$t.call(i,u))return!1;return!0}const j$t="graphics-document document";function $$t(i,a){i.attr("role",j$t),a!==""&&i.attr("aria-roledescription",a)}function z$t(i,a,u,d){if(i.insert!==void 0){if(u){const p=`chart-desc-${d}`;i.attr("aria-describedby",p),i.insert("desc",":first-child").attr("id",p).text(u)}if(a){const p=`chart-title-${d}`;i.attr("aria-labelledby",p),i.insert("title",":first-child").attr("id",p).text(a)}}}const q$t=i=>i.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart();/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function z$e(i){return typeof i>"u"||i===null}function H$t(i){return typeof i=="object"&&i!==null}function U$t(i){return Array.isArray(i)?i:z$e(i)?[]:[i]}function V$t(i,a){var u,d,p,v;if(a)for(v=Object.keys(a),u=0,d=v.length;u<d;u+=1)p=v[u],i[p]=a[p];return i}function G$t(i,a){var u="",d;for(d=0;d<a;d+=1)u+=i;return u}function K$t(i){return i===0&&Number.NEGATIVE_INFINITY===1/i}var W$t=z$e,Y$t=H$t,X$t=U$t,Q$t=G$t,J$t=K$t,Z$t=V$t,Np={isNothing:W$t,isObject:Y$t,toArray:X$t,repeat:Q$t,isNegativeZero:J$t,extend:Z$t};function q$e(i,a){var u="",d=i.reason||"(unknown reason)";return i.mark?(i.mark.name&&(u+='in "'+i.mark.name+'" '),u+="("+(i.mark.line+1)+":"+(i.mark.column+1)+")",!a&&i.mark.snippet&&(u+=`
`+i.mark.snippet),d+" "+u):d}function pR(i,a){Error.call(this),this.name="YAMLException",this.reason=i,this.mark=a,this.message=q$e(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}pR.prototype=Object.create(Error.prototype),pR.prototype.constructor=pR,pR.prototype.toString=function(a){return this.name+": "+q$e(this,a)};var M7=pR;function nbe(i,a,u,d,p){var v="",b="",y=Math.floor(p/2)-1;return d-a>y&&(v=" ... ",a=d-y+v.length),u-d>y&&(b=" ...",u=d+y-b.length),{str:v+i.slice(a,u).replace(/\t/g,"→")+b,pos:d-a+v.length}}function rbe(i,a){return Np.repeat(" ",a-i.length)+i}function ezt(i,a){if(a=Object.create(a||null),!i.buffer)return null;a.maxLength||(a.maxLength=79),typeof a.indent!="number"&&(a.indent=1),typeof a.linesBefore!="number"&&(a.linesBefore=3),typeof a.linesAfter!="number"&&(a.linesAfter=2);for(var u=/\r?\n|\r|\0/g,d=[0],p=[],v,b=-1;v=u.exec(i.buffer);)p.push(v.index),d.push(v.index+v[0].length),i.position<=v.index&&b<0&&(b=d.length-2);b<0&&(b=d.length-1);var y="",E,_,A=Math.min(i.line+a.linesAfter,p.length).toString().length,P=a.maxLength-(a.indent+A+3);for(E=1;E<=a.linesBefore&&!(b-E<0);E++)_=nbe(i.buffer,d[b-E],p[b-E],i.position-(d[b]-d[b-E]),P),y=Np.repeat(" ",a.indent)+rbe((i.line-E+1).toString(),A)+" | "+_.str+`
`+y;for(_=nbe(i.buffer,d[b],p[b],i.position,P),y+=Np.repeat(" ",a.indent)+rbe((i.line+1).toString(),A)+" | "+_.str+`
`,y+=Np.repeat("-",a.indent+A+3+_.pos)+`^
`,E=1;E<=a.linesAfter&&!(b+E>=p.length);E++)_=nbe(i.buffer,d[b+E],p[b+E],i.position-(d[b]-d[b+E]),P),y+=Np.repeat(" ",a.indent)+rbe((i.line+E+1).toString(),A)+" | "+_.str+`
`;return y.replace(/\n$/,"")}var tzt=ezt,nzt=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],rzt=["scalar","sequence","mapping"];function izt(i){var a={};return i!==null&&Object.keys(i).forEach(function(u){i[u].forEach(function(d){a[String(d)]=u})}),a}function szt(i,a){if(a=a||{},Object.keys(a).forEach(function(u){if(nzt.indexOf(u)===-1)throw new M7('Unknown option "'+u+'" is met in definition of "'+i+'" YAML type.')}),this.options=a,this.tag=i,this.kind=a.kind||null,this.resolve=a.resolve||function(){return!0},this.construct=a.construct||function(u){return u},this.instanceOf=a.instanceOf||null,this.predicate=a.predicate||null,this.represent=a.represent||null,this.representName=a.representName||null,this.defaultStyle=a.defaultStyle||null,this.multi=a.multi||!1,this.styleAliases=izt(a.styleAliases||null),rzt.indexOf(this.kind)===-1)throw new M7('Unknown kind "'+this.kind+'" is specified for "'+i+'" YAML type.')}var $g=szt;function H$e(i,a){var u=[];return i[a].forEach(function(d){var p=u.length;u.forEach(function(v,b){v.tag===d.tag&&v.kind===d.kind&&v.multi===d.multi&&(p=b)}),u[p]=d}),u}function azt(){var i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},a,u;function d(p){p.multi?(i.multi[p.kind].push(p),i.multi.fallback.push(p)):i[p.kind][p.tag]=i.fallback[p.tag]=p}for(a=0,u=arguments.length;a<u;a+=1)arguments[a].forEach(d);return i}function ibe(i){return this.extend(i)}ibe.prototype.extend=function(a){var u=[],d=[];if(a instanceof $g)d.push(a);else if(Array.isArray(a))d=d.concat(a);else if(a&&(Array.isArray(a.implicit)||Array.isArray(a.explicit)))a.implicit&&(u=u.concat(a.implicit)),a.explicit&&(d=d.concat(a.explicit));else throw new M7("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");u.forEach(function(v){if(!(v instanceof $g))throw new M7("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(v.loadKind&&v.loadKind!=="scalar")throw new M7("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(v.multi)throw new M7("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),d.forEach(function(v){if(!(v instanceof $g))throw new M7("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var p=Object.create(ibe.prototype);return p.implicit=(this.implicit||[]).concat(u),p.explicit=(this.explicit||[]).concat(d),p.compiledImplicit=H$e(p,"implicit"),p.compiledExplicit=H$e(p,"explicit"),p.compiledTypeMap=azt(p.compiledImplicit,p.compiledExplicit),p};var ozt=ibe,czt=new $g("tag:yaml.org,2002:str",{kind:"scalar",construct:function(i){return i!==null?i:""}}),uzt=new $g("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(i){return i!==null?i:[]}}),lzt=new $g("tag:yaml.org,2002:map",{kind:"mapping",construct:function(i){return i!==null?i:{}}}),hzt=new ozt({explicit:[czt,uzt,lzt]});function fzt(i){if(i===null)return!0;var a=i.length;return a===1&&i==="~"||a===4&&(i==="null"||i==="Null"||i==="NULL")}function dzt(){return null}function gzt(i){return i===null}var pzt=new $g("tag:yaml.org,2002:null",{kind:"scalar",resolve:fzt,construct:dzt,predicate:gzt,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function bzt(i){if(i===null)return!1;var a=i.length;return a===4&&(i==="true"||i==="True"||i==="TRUE")||a===5&&(i==="false"||i==="False"||i==="FALSE")}function mzt(i){return i==="true"||i==="True"||i==="TRUE"}function vzt(i){return Object.prototype.toString.call(i)==="[object Boolean]"}var wzt=new $g("tag:yaml.org,2002:bool",{kind:"scalar",resolve:bzt,construct:mzt,predicate:vzt,represent:{lowercase:function(i){return i?"true":"false"},uppercase:function(i){return i?"TRUE":"FALSE"},camelcase:function(i){return i?"True":"False"}},defaultStyle:"lowercase"});function yzt(i){return 48<=i&&i<=57||65<=i&&i<=70||97<=i&&i<=102}function xzt(i){return 48<=i&&i<=55}function kzt(i){return 48<=i&&i<=57}function Tzt(i){if(i===null)return!1;var a=i.length,u=0,d=!1,p;if(!a)return!1;if(p=i[u],(p==="-"||p==="+")&&(p=i[++u]),p==="0"){if(u+1===a)return!0;if(p=i[++u],p==="b"){for(u++;u<a;u++)if(p=i[u],p!=="_"){if(p!=="0"&&p!=="1")return!1;d=!0}return d&&p!=="_"}if(p==="x"){for(u++;u<a;u++)if(p=i[u],p!=="_"){if(!yzt(i.charCodeAt(u)))return!1;d=!0}return d&&p!=="_"}if(p==="o"){for(u++;u<a;u++)if(p=i[u],p!=="_"){if(!xzt(i.charCodeAt(u)))return!1;d=!0}return d&&p!=="_"}}if(p==="_")return!1;for(;u<a;u++)if(p=i[u],p!=="_"){if(!kzt(i.charCodeAt(u)))return!1;d=!0}return!(!d||p==="_")}function Ezt(i){var a=i,u=1,d;if(a.indexOf("_")!==-1&&(a=a.replace(/_/g,"")),d=a[0],(d==="-"||d==="+")&&(d==="-"&&(u=-1),a=a.slice(1),d=a[0]),a==="0")return 0;if(d==="0"){if(a[1]==="b")return u*parseInt(a.slice(2),2);if(a[1]==="x")return u*parseInt(a.slice(2),16);if(a[1]==="o")return u*parseInt(a.slice(2),8)}return u*parseInt(a,10)}function Czt(i){return Object.prototype.toString.call(i)==="[object Number]"&&i%1===0&&!Np.isNegativeZero(i)}var Szt=new $g("tag:yaml.org,2002:int",{kind:"scalar",resolve:Tzt,construct:Ezt,predicate:Czt,represent:{binary:function(i){return i>=0?"0b"+i.toString(2):"-0b"+i.toString(2).slice(1)},octal:function(i){return i>=0?"0o"+i.toString(8):"-0o"+i.toString(8).slice(1)},decimal:function(i){return i.toString(10)},hexadecimal:function(i){return i>=0?"0x"+i.toString(16).toUpperCase():"-0x"+i.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),_zt=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Azt(i){return!(i===null||!_zt.test(i)||i[i.length-1]==="_")}function Lzt(i){var a,u;return a=i.replace(/_/g,"").toLowerCase(),u=a[0]==="-"?-1:1,"+-".indexOf(a[0])>=0&&(a=a.slice(1)),a===".inf"?u===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:a===".nan"?NaN:u*parseFloat(a,10)}var Mzt=/^[-+]?[0-9]+e/;function Dzt(i,a){var u;if(isNaN(i))switch(a){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===i)switch(a){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===i)switch(a){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Np.isNegativeZero(i))return"-0.0";return u=i.toString(10),Mzt.test(u)?u.replace("e",".e"):u}function Izt(i){return Object.prototype.toString.call(i)==="[object Number]"&&(i%1!==0||Np.isNegativeZero(i))}var Ozt=new $g("tag:yaml.org,2002:float",{kind:"scalar",resolve:Azt,construct:Lzt,predicate:Izt,represent:Dzt,defaultStyle:"lowercase"}),U$e=hzt.extend({implicit:[pzt,wzt,Szt,Ozt]}),Nzt=U$e,V$e=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),G$e=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 Pzt(i){return i===null?!1:V$e.exec(i)!==null||G$e.exec(i)!==null}function Bzt(i){var a,u,d,p,v,b,y,E=0,_=null,A,P,R;if(a=V$e.exec(i),a===null&&(a=G$e.exec(i)),a===null)throw new Error("Date resolve error");if(u=+a[1],d=+a[2]-1,p=+a[3],!a[4])return new Date(Date.UTC(u,d,p));if(v=+a[4],b=+a[5],y=+a[6],a[7]){for(E=a[7].slice(0,3);E.length<3;)E+="0";E=+E}return a[9]&&(A=+a[10],P=+(a[11]||0),_=(A*60+P)*6e4,a[9]==="-"&&(_=-_)),R=new Date(Date.UTC(u,d,p,v,b,y,E)),_&&R.setTime(R.getTime()-_),R}function Fzt(i){return i.toISOString()}var Rzt=new $g("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:Pzt,construct:Bzt,instanceOf:Date,represent:Fzt});function jzt(i){return i==="<<"||i===null}var $zt=new $g("tag:yaml.org,2002:merge",{kind:"scalar",resolve:jzt}),sbe=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
\r`;function zzt(i){if(i===null)return!1;var a,u,d=0,p=i.length,v=sbe;for(u=0;u<p;u++)if(a=v.indexOf(i.charAt(u)),!(a>64)){if(a<0)return!1;d+=6}return d%8===0}function qzt(i){var a,u,d=i.replace(/[\r\n=]/g,""),p=d.length,v=sbe,b=0,y=[];for(a=0;a<p;a++)a%4===0&&a&&(y.push(b>>16&255),y.push(b>>8&255),y.push(b&255)),b=b<<6|v.indexOf(d.charAt(a));return u=p%4*6,u===0?(y.push(b>>16&255),y.push(b>>8&255),y.push(b&255)):u===18?(y.push(b>>10&255),y.push(b>>2&255)):u===12&&y.push(b>>4&255),new Uint8Array(y)}function Hzt(i){var a="",u=0,d,p,v=i.length,b=sbe;for(d=0;d<v;d++)d%3===0&&d&&(a+=b[u>>18&63],a+=b[u>>12&63],a+=b[u>>6&63],a+=b[u&63]),u=(u<<8)+i[d];return p=v%3,p===0?(a+=b[u>>18&63],a+=b[u>>12&63],a+=b[u>>6&63],a+=b[u&63]):p===2?(a+=b[u>>10&63],a+=b[u>>4&63],a+=b[u<<2&63],a+=b[64]):p===1&&(a+=b[u>>2&63],a+=b[u<<4&63],a+=b[64],a+=b[64]),a}function Uzt(i){return Object.prototype.toString.call(i)==="[object Uint8Array]"}var Vzt=new $g("tag:yaml.org,2002:binary",{kind:"scalar",resolve:zzt,construct:qzt,predicate:Uzt,represent:Hzt}),Gzt=Object.prototype.hasOwnProperty,Kzt=Object.prototype.toString;function Wzt(i){if(i===null)return!0;var a=[],u,d,p,v,b,y=i;for(u=0,d=y.length;u<d;u+=1){if(p=y[u],b=!1,Kzt.call(p)!=="[object Object]")return!1;for(v in p)if(Gzt.call(p,v))if(!b)b=!0;else return!1;if(!b)return!1;if(a.indexOf(v)===-1)a.push(v);else return!1}return!0}function Yzt(i){return i!==null?i:[]}var Xzt=new $g("tag:yaml.org,2002:omap",{kind:"sequence",resolve:Wzt,construct:Yzt}),Qzt=Object.prototype.toString;function Jzt(i){if(i===null)return!0;var a,u,d,p,v,b=i;for(v=new Array(b.length),a=0,u=b.length;a<u;a+=1){if(d=b[a],Qzt.call(d)!=="[object Object]"||(p=Object.keys(d),p.length!==1))return!1;v[a]=[p[0],d[p[0]]]}return!0}function Zzt(i){if(i===null)return[];var a,u,d,p,v,b=i;for(v=new Array(b.length),a=0,u=b.length;a<u;a+=1)d=b[a],p=Object.keys(d),v[a]=[p[0],d[p[0]]];return v}var eqt=new $g("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:Jzt,construct:Zzt}),tqt=Object.prototype.hasOwnProperty;function nqt(i){if(i===null)return!0;var a,u=i;for(a in u)if(tqt.call(u,a)&&u[a]!==null)return!1;return!0}function rqt(i){return i!==null?i:{}}var iqt=new $g("tag:yaml.org,2002:set",{kind:"mapping",resolve:nqt,construct:rqt}),sqt=Nzt.extend({implicit:[Rzt,$zt],explicit:[Vzt,Xzt,eqt,iqt]}),k9=Object.prototype.hasOwnProperty,rQ=1,K$e=2,W$e=3,iQ=4,abe=1,aqt=2,Y$e=3,oqt=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,cqt=/[\x85\u2028\u2029]/,uqt=/[,\[\]\{\}]/,X$e=/^(?:!|!!|![a-z\-]+!)$/i,Q$e=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function J$e(i){return Object.prototype.toString.call(i)}function K4(i){return i===10||i===13}function RC(i){return i===9||i===32}function K2(i){return i===9||i===32||i===10||i===13}function DD(i){return i===44||i===91||i===93||i===123||i===125}function lqt(i){var a;return 48<=i&&i<=57?i-48:(a=i|32,97<=a&&a<=102?a-97+10:-1)}function hqt(i){return i===120?2:i===117?4:i===85?8:0}function fqt(i){return 48<=i&&i<=57?i-48:-1}function Z$e(i){return i===48?"\0":i===97?"\x07":i===98?"\b":i===116||i===9?" ":i===110?`
`:i===118?"\v":i===102?"\f":i===114?"\r":i===101?"\x1B":i===32?" ":i===34?'"':i===47?"/":i===92?"\\":i===78?"…":i===95?" ":i===76?"\u2028":i===80?"\u2029":""}function dqt(i){return i<=65535?String.fromCharCode(i):String.fromCharCode((i-65536>>10)+55296,(i-65536&1023)+56320)}for(var eze=new Array(256),tze=new Array(256),ID=0;ID<256;ID++)eze[ID]=Z$e(ID)?1:0,tze[ID]=Z$e(ID);function gqt(i,a){this.input=i,this.filename=a.filename||null,this.schema=a.schema||sqt,this.onWarning=a.onWarning||null,this.legacy=a.legacy||!1,this.json=a.json||!1,this.listener=a.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=i.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function nze(i,a){var u={name:i.filename,buffer:i.input.slice(0,-1),position:i.position,line:i.line,column:i.position-i.lineStart};return u.snippet=tzt(u),new M7(a,u)}function la(i,a){throw nze(i,a)}function sQ(i,a){i.onWarning&&i.onWarning.call(null,nze(i,a))}var rze={YAML:function(a,u,d){var p,v,b;a.version!==null&&la(a,"duplication of %YAML directive"),d.length!==1&&la(a,"YAML directive accepts exactly one argument"),p=/^([0-9]+)\.([0-9]+)$/.exec(d[0]),p===null&&la(a,"ill-formed argument of the YAML directive"),v=parseInt(p[1],10),b=parseInt(p[2],10),v!==1&&la(a,"unacceptable YAML version of the document"),a.version=d[0],a.checkLineBreaks=b<2,b!==1&&b!==2&&sQ(a,"unsupported YAML version of the document")},TAG:function(a,u,d){var p,v;d.length!==2&&la(a,"TAG directive accepts exactly two arguments"),p=d[0],v=d[1],X$e.test(p)||la(a,"ill-formed tag handle (first argument) of the TAG directive"),k9.call(a.tagMap,p)&&la(a,'there is a previously declared suffix for "'+p+'" tag handle'),Q$e.test(v)||la(a,"ill-formed tag prefix (second argument) of the TAG directive");try{v=decodeURIComponent(v)}catch{la(a,"tag prefix is malformed: "+v)}a.tagMap[p]=v}};function T9(i,a,u,d){var p,v,b,y;if(a<u){if(y=i.input.slice(a,u),d)for(p=0,v=y.length;p<v;p+=1)b=y.charCodeAt(p),b===9||32<=b&&b<=1114111||la(i,"expected valid JSON character");else oqt.test(y)&&la(i,"the stream contains non-printable characters");i.result+=y}}function ize(i,a,u,d){var p,v,b,y;for(Np.isObject(u)||la(i,"cannot merge mappings; the provided source object is unacceptable"),p=Object.keys(u),b=0,y=p.length;b<y;b+=1)v=p[b],k9.call(a,v)||(a[v]=u[v],d[v]=!0)}function OD(i,a,u,d,p,v,b,y,E){var _,A;if(Array.isArray(p))for(p=Array.prototype.slice.call(p),_=0,A=p.length;_<A;_+=1)Array.isArray(p[_])&&la(i,"nested arrays are not supported inside keys"),typeof p=="object"&&J$e(p[_])==="[object Object]"&&(p[_]="[object Object]");if(typeof p=="object"&&J$e(p)==="[object Object]"&&(p="[object Object]"),p=String(p),a===null&&(a={}),d==="tag:yaml.org,2002:merge")if(Array.isArray(v))for(_=0,A=v.length;_<A;_+=1)ize(i,a,v[_],u);else ize(i,a,v,u);else!i.json&&!k9.call(u,p)&&k9.call(a,p)&&(i.line=b||i.line,i.lineStart=y||i.lineStart,i.position=E||i.position,la(i,"duplicated mapping key")),p==="__proto__"?Object.defineProperty(a,p,{configurable:!0,enumerable:!0,writable:!0,value:v}):a[p]=v,delete u[p];return a}function obe(i){var a;a=i.input.charCodeAt(i.position),a===10?i.position++:a===13?(i.position++,i.input.charCodeAt(i.position)===10&&i.position++):la(i,"a line break is expected"),i.line+=1,i.lineStart=i.position,i.firstTabInLine=-1}function O0(i,a,u){for(var d=0,p=i.input.charCodeAt(i.position);p!==0;){for(;RC(p);)p===9&&i.firstTabInLine===-1&&(i.firstTabInLine=i.position),p=i.input.charCodeAt(++i.position);if(a&&p===35)do p=i.input.charCodeAt(++i.position);while(p!==10&&p!==13&&p!==0);if(K4(p))for(obe(i),p=i.input.charCodeAt(i.position),d++,i.lineIndent=0;p===32;)i.lineIndent++,p=i.input.charCodeAt(++i.position);else break}return u!==-1&&d!==0&&i.lineIndent<u&&sQ(i,"deficient indentation"),d}function aQ(i){var a=i.position,u;return u=i.input.charCodeAt(a),!!((u===45||u===46)&&u===i.input.charCodeAt(a+1)&&u===i.input.charCodeAt(a+2)&&(a+=3,u=i.input.charCodeAt(a),u===0||K2(u)))}function cbe(i,a){a===1?i.result+=" ":a>1&&(i.result+=Np.repeat(`
`,a-1))}function pqt(i,a,u){var d,p,v,b,y,E,_,A,P=i.kind,R=i.result,B;if(B=i.input.charCodeAt(i.position),K2(B)||DD(B)||B===35||B===38||B===42||B===33||B===124||B===62||B===39||B===34||B===37||B===64||B===96||(B===63||B===45)&&(p=i.input.charCodeAt(i.position+1),K2(p)||u&&DD(p)))return!1;for(i.kind="scalar",i.result="",v=b=i.position,y=!1;B!==0;){if(B===58){if(p=i.input.charCodeAt(i.position+1),K2(p)||u&&DD(p))break}else if(B===35){if(d=i.input.charCodeAt(i.position-1),K2(d))break}else{if(i.position===i.lineStart&&aQ(i)||u&&DD(B))break;if(K4(B))if(E=i.line,_=i.lineStart,A=i.lineIndent,O0(i,!1,-1),i.lineIndent>=a){y=!0,B=i.input.charCodeAt(i.position);continue}else{i.position=b,i.line=E,i.lineStart=_,i.lineIndent=A;break}}y&&(T9(i,v,b,!1),cbe(i,i.line-E),v=b=i.position,y=!1),RC(B)||(b=i.position+1),B=i.input.charCodeAt(++i.position)}return T9(i,v,b,!1),i.result?!0:(i.kind=P,i.result=R,!1)}function bqt(i,a){var u,d,p;if(u=i.input.charCodeAt(i.position),u!==39)return!1;for(i.kind="scalar",i.result="",i.position++,d=p=i.position;(u=i.input.charCodeAt(i.position))!==0;)if(u===39)if(T9(i,d,i.position,!0),u=i.input.charCodeAt(++i.position),u===39)d=i.position,i.position++,p=i.position;else return!0;else K4(u)?(T9(i,d,p,!0),cbe(i,O0(i,!1,a)),d=p=i.position):i.position===i.lineStart&&aQ(i)?la(i,"unexpected end of the document within a single quoted scalar"):(i.position++,p=i.position);la(i,"unexpected end of the stream within a single quoted scalar")}function mqt(i,a){var u,d,p,v,b,y;if(y=i.input.charCodeAt(i.position),y!==34)return!1;for(i.kind="scalar",i.result="",i.position++,u=d=i.position;(y=i.input.charCodeAt(i.position))!==0;){if(y===34)return T9(i,u,i.position,!0),i.position++,!0;if(y===92){if(T9(i,u,i.position,!0),y=i.input.charCodeAt(++i.position),K4(y))O0(i,!1,a);else if(y<256&&eze[y])i.result+=tze[y],i.position++;else if((b=hqt(y))>0){for(p=b,v=0;p>0;p--)y=i.input.charCodeAt(++i.position),(b=lqt(y))>=0?v=(v<<4)+b:la(i,"expected hexadecimal character");i.result+=dqt(v),i.position++}else la(i,"unknown escape sequence");u=d=i.position}else K4(y)?(T9(i,u,d,!0),cbe(i,O0(i,!1,a)),u=d=i.position):i.position===i.lineStart&&aQ(i)?la(i,"unexpected end of the document within a double quoted scalar"):(i.position++,d=i.position)}la(i,"unexpected end of the stream within a double quoted scalar")}function vqt(i,a){var u=!0,d,p,v,b=i.tag,y,E=i.anchor,_,A,P,R,B,j=Object.create(null),W,ee,ie,oe;if(oe=i.input.charCodeAt(i.position),oe===91)A=93,B=!1,y=[];else if(oe===123)A=125,B=!0,y={};else return!1;for(i.anchor!==null&&(i.anchorMap[i.anchor]=y),oe=i.input.charCodeAt(++i.position);oe!==0;){if(O0(i,!0,a),oe=i.input.charCodeAt(i.position),oe===A)return i.position++,i.tag=b,i.anchor=E,i.kind=B?"mapping":"sequence",i.result=y,!0;u?oe===44&&la(i,"expected the node content, but found ','"):la(i,"missed comma between flow collection entries"),ee=W=ie=null,P=R=!1,oe===63&&(_=i.input.charCodeAt(i.position+1),K2(_)&&(P=R=!0,i.position++,O0(i,!0,a))),d=i.line,p=i.lineStart,v=i.position,ND(i,a,rQ,!1,!0),ee=i.tag,W=i.result,O0(i,!0,a),oe=i.input.charCodeAt(i.position),(R||i.line===d)&&oe===58&&(P=!0,oe=i.input.charCodeAt(++i.position),O0(i,!0,a),ND(i,a,rQ,!1,!0),ie=i.result),B?OD(i,y,j,ee,W,ie,d,p,v):P?y.push(OD(i,null,j,ee,W,ie,d,p,v)):y.push(W),O0(i,!0,a),oe=i.input.charCodeAt(i.position),oe===44?(u=!0,oe=i.input.charCodeAt(++i.position)):u=!1}la(i,"unexpected end of the stream within a flow collection")}function wqt(i,a){var u,d,p=abe,v=!1,b=!1,y=a,E=0,_=!1,A,P;if(P=i.input.charCodeAt(i.position),P===124)d=!1;else if(P===62)d=!0;else return!1;for(i.kind="scalar",i.result="";P!==0;)if(P=i.input.charCodeAt(++i.position),P===43||P===45)abe===p?p=P===43?Y$e:aqt:la(i,"repeat of a chomping mode identifier");else if((A=fqt(P))>=0)A===0?la(i,"bad explicit indentation width of a block scalar; it cannot be less than one"):b?la(i,"repeat of an indentation width identifier"):(y=a+A-1,b=!0);else break;if(RC(P)){do P=i.input.charCodeAt(++i.position);while(RC(P));if(P===35)do P=i.input.charCodeAt(++i.position);while(!K4(P)&&P!==0)}for(;P!==0;){for(obe(i),i.lineIndent=0,P=i.input.charCodeAt(i.position);(!b||i.lineIndent<y)&&P===32;)i.lineIndent++,P=i.input.charCodeAt(++i.position);if(!b&&i.lineIndent>y&&(y=i.lineIndent),K4(P)){E++;continue}if(i.lineIndent<y){p===Y$e?i.result+=Np.repeat(`
`,v?1+E:E):p===abe&&v&&(i.result+=`
`);break}for(d?RC(P)?(_=!0,i.result+=Np.repeat(`
`,v?1+E:E)):_?(_=!1,i.result+=Np.repeat(`
`,E+1)):E===0?v&&(i.result+=" "):i.result+=Np.repeat(`
`,E):i.result+=Np.repeat(`
`,v?1+E:E),v=!0,b=!0,E=0,u=i.position;!K4(P)&&P!==0;)P=i.input.charCodeAt(++i.position);T9(i,u,i.position,!1)}return!0}function sze(i,a){var u,d=i.tag,p=i.anchor,v=[],b,y=!1,E;if(i.firstTabInLine!==-1)return!1;for(i.anchor!==null&&(i.anchorMap[i.anchor]=v),E=i.input.charCodeAt(i.position);E!==0&&(i.firstTabInLine!==-1&&(i.position=i.firstTabInLine,la(i,"tab characters must not be used in indentation")),!(E!==45||(b=i.input.charCodeAt(i.position+1),!K2(b))));){if(y=!0,i.position++,O0(i,!0,-1)&&i.lineIndent<=a){v.push(null),E=i.input.charCodeAt(i.position);continue}if(u=i.line,ND(i,a,W$e,!1,!0),v.push(i.result),O0(i,!0,-1),E=i.input.charCodeAt(i.position),(i.line===u||i.lineIndent>a)&&E!==0)la(i,"bad indentation of a sequence entry");else if(i.lineIndent<a)break}return y?(i.tag=d,i.anchor=p,i.kind="sequence",i.result=v,!0):!1}function yqt(i,a,u){var d,p,v,b,y,E,_=i.tag,A=i.anchor,P={},R=Object.create(null),B=null,j=null,W=null,ee=!1,ie=!1,oe;if(i.firstTabInLine!==-1)return!1;for(i.anchor!==null&&(i.anchorMap[i.anchor]=P),oe=i.input.charCodeAt(i.position);oe!==0;){if(!ee&&i.firstTabInLine!==-1&&(i.position=i.firstTabInLine,la(i,"tab characters must not be used in indentation")),d=i.input.charCodeAt(i.position+1),v=i.line,(oe===63||oe===58)&&K2(d))oe===63?(ee&&(OD(i,P,R,B,j,null,b,y,E),B=j=W=null),ie=!0,ee=!0,p=!0):ee?(ee=!1,p=!0):la(i,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),i.position+=1,oe=d;else{if(b=i.line,y=i.lineStart,E=i.position,!ND(i,u,K$e,!1,!0))break;if(i.line===v){for(oe=i.input.charCodeAt(i.position);RC(oe);)oe=i.input.charCodeAt(++i.position);if(oe===58)oe=i.input.charCodeAt(++i.position),K2(oe)||la(i,"a whitespace character is expected after the key-value separator within a block mapping"),ee&&(OD(i,P,R,B,j,null,b,y,E),B=j=W=null),ie=!0,ee=!1,p=!1,B=i.tag,j=i.result;else if(ie)la(i,"can not read an implicit mapping pair; a colon is missed");else return i.tag=_,i.anchor=A,!0}else if(ie)la(i,"can not read a block mapping entry; a multiline key may not be an implicit key");else return i.tag=_,i.anchor=A,!0}if((i.line===v||i.lineIndent>a)&&(ee&&(b=i.line,y=i.lineStart,E=i.position),ND(i,a,iQ,!0,p)&&(ee?j=i.result:W=i.result),ee||(OD(i,P,R,B,j,W,b,y,E),B=j=W=null),O0(i,!0,-1),oe=i.input.charCodeAt(i.position)),(i.line===v||i.lineIndent>a)&&oe!==0)la(i,"bad indentation of a mapping entry");else if(i.lineIndent<a)break}return ee&&OD(i,P,R,B,j,null,b,y,E),ie&&(i.tag=_,i.anchor=A,i.kind="mapping",i.result=P),ie}function xqt(i){var a,u=!1,d=!1,p,v,b;if(b=i.input.charCodeAt(i.position),b!==33)return!1;if(i.tag!==null&&la(i,"duplication of a tag property"),b=i.input.charCodeAt(++i.position),b===60?(u=!0,b=i.input.charCodeAt(++i.position)):b===33?(d=!0,p="!!",b=i.input.charCodeAt(++i.position)):p="!",a=i.position,u){do b=i.input.charCodeAt(++i.position);while(b!==0&&b!==62);i.position<i.length?(v=i.input.slice(a,i.position),b=i.input.charCodeAt(++i.position)):la(i,"unexpected end of the stream within a verbatim tag")}else{for(;b!==0&&!K2(b);)b===33&&(d?la(i,"tag suffix cannot contain exclamation marks"):(p=i.input.slice(a-1,i.position+1),X$e.test(p)||la(i,"named tag handle cannot contain such characters"),d=!0,a=i.position+1)),b=i.input.charCodeAt(++i.position);v=i.input.slice(a,i.position),uqt.test(v)&&la(i,"tag suffix cannot contain flow indicator characters")}v&&!Q$e.test(v)&&la(i,"tag name cannot contain such characters: "+v);try{v=decodeURIComponent(v)}catch{la(i,"tag name is malformed: "+v)}return u?i.tag=v:k9.call(i.tagMap,p)?i.tag=i.tagMap[p]+v:p==="!"?i.tag="!"+v:p==="!!"?i.tag="tag:yaml.org,2002:"+v:la(i,'undeclared tag handle "'+p+'"'),!0}function kqt(i){var a,u;if(u=i.input.charCodeAt(i.position),u!==38)return!1;for(i.anchor!==null&&la(i,"duplication of an anchor property"),u=i.input.charCodeAt(++i.position),a=i.position;u!==0&&!K2(u)&&!DD(u);)u=i.input.charCodeAt(++i.position);return i.position===a&&la(i,"name of an anchor node must contain at least one character"),i.anchor=i.input.slice(a,i.position),!0}function Tqt(i){var a,u,d;if(d=i.input.charCodeAt(i.position),d!==42)return!1;for(d=i.input.charCodeAt(++i.position),a=i.position;d!==0&&!K2(d)&&!DD(d);)d=i.input.charCodeAt(++i.position);return i.position===a&&la(i,"name of an alias node must contain at least one character"),u=i.input.slice(a,i.position),k9.call(i.anchorMap,u)||la(i,'unidentified alias "'+u+'"'),i.result=i.anchorMap[u],O0(i,!0,-1),!0}function ND(i,a,u,d,p){var v,b,y,E=1,_=!1,A=!1,P,R,B,j,W,ee;if(i.listener!==null&&i.listener("open",i),i.tag=null,i.anchor=null,i.kind=null,i.result=null,v=b=y=iQ===u||W$e===u,d&&O0(i,!0,-1)&&(_=!0,i.lineIndent>a?E=1:i.lineIndent===a?E=0:i.lineIndent<a&&(E=-1)),E===1)for(;xqt(i)||kqt(i);)O0(i,!0,-1)?(_=!0,y=v,i.lineIndent>a?E=1:i.lineIndent===a?E=0:i.lineIndent<a&&(E=-1)):y=!1;if(y&&(y=_||p),(E===1||iQ===u)&&(rQ===u||K$e===u?W=a:W=a+1,ee=i.position-i.lineStart,E===1?y&&(sze(i,ee)||yqt(i,ee,W))||vqt(i,W)?A=!0:(b&&wqt(i,W)||bqt(i,W)||mqt(i,W)?A=!0:Tqt(i)?(A=!0,(i.tag!==null||i.anchor!==null)&&la(i,"alias node should not have any properties")):pqt(i,W,rQ===u)&&(A=!0,i.tag===null&&(i.tag="?")),i.anchor!==null&&(i.anchorMap[i.anchor]=i.result)):E===0&&(A=y&&sze(i,ee))),i.tag===null)i.anchor!==null&&(i.anchorMap[i.anchor]=i.result);else if(i.tag==="?"){for(i.result!==null&&i.kind!=="scalar"&&la(i,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+i.kind+'"'),P=0,R=i.implicitTypes.length;P<R;P+=1)if(j=i.implicitTypes[P],j.resolve(i.result)){i.result=j.construct(i.result),i.tag=j.tag,i.anchor!==null&&(i.anchorMap[i.anchor]=i.result);break}}else if(i.tag!=="!"){if(k9.call(i.typeMap[i.kind||"fallback"],i.tag))j=i.typeMap[i.kind||"fallback"][i.tag];else for(j=null,B=i.typeMap.multi[i.kind||"fallback"],P=0,R=B.length;P<R;P+=1)if(i.tag.slice(0,B[P].tag.length)===B[P].tag){j=B[P];break}j||la(i,"unknown tag !<"+i.tag+">"),i.result!==null&&j.kind!==i.kind&&la(i,"unacceptable node kind for !<"+i.tag+'> tag; it should be "'+j.kind+'", not "'+i.kind+'"'),j.resolve(i.result,i.tag)?(i.result=j.construct(i.result,i.tag),i.anchor!==null&&(i.anchorMap[i.anchor]=i.result)):la(i,"cannot resolve a node with !<"+i.tag+"> explicit tag")}return i.listener!==null&&i.listener("close",i),i.tag!==null||i.anchor!==null||A}function Eqt(i){var a=i.position,u,d,p,v=!1,b;for(i.version=null,i.checkLineBreaks=i.legacy,i.tagMap=Object.create(null),i.anchorMap=Object.create(null);(b=i.input.charCodeAt(i.position))!==0&&(O0(i,!0,-1),b=i.input.charCodeAt(i.position),!(i.lineIndent>0||b!==37));){for(v=!0,b=i.input.charCodeAt(++i.position),u=i.position;b!==0&&!K2(b);)b=i.input.charCodeAt(++i.position);for(d=i.input.slice(u,i.position),p=[],d.length<1&&la(i,"directive name must not be less than one character in length");b!==0;){for(;RC(b);)b=i.input.charCodeAt(++i.position);if(b===35){do b=i.input.charCodeAt(++i.position);while(b!==0&&!K4(b));break}if(K4(b))break;for(u=i.position;b!==0&&!K2(b);)b=i.input.charCodeAt(++i.position);p.push(i.input.slice(u,i.position))}b!==0&&obe(i),k9.call(rze,d)?rze[d](i,d,p):sQ(i,'unknown document directive "'+d+'"')}if(O0(i,!0,-1),i.lineIndent===0&&i.input.charCodeAt(i.position)===45&&i.input.charCodeAt(i.position+1)===45&&i.input.charCodeAt(i.position+2)===45?(i.position+=3,O0(i,!0,-1)):v&&la(i,"directives end mark is expected"),ND(i,i.lineIndent-1,iQ,!1,!0),O0(i,!0,-1),i.checkLineBreaks&&cqt.test(i.input.slice(a,i.position))&&sQ(i,"non-ASCII line breaks are interpreted as content"),i.documents.push(i.result),i.position===i.lineStart&&aQ(i)){i.input.charCodeAt(i.position)===46&&(i.position+=3,O0(i,!0,-1));return}if(i.position<i.length-1)la(i,"end of the stream or a document separator is expected");else return}function aze(i,a){i=String(i),a=a||{},i.length!==0&&(i.charCodeAt(i.length-1)!==10&&i.charCodeAt(i.length-1)!==13&&(i+=`
`),i.charCodeAt(0)===65279&&(i=i.slice(1)));var u=new gqt(i,a),d=i.indexOf("\0");for(d!==-1&&(u.position=d,la(u,"null byte is not allowed in input")),u.input+="\0";u.input.charCodeAt(u.position)===32;)u.lineIndent+=1,u.position+=1;for(;u.position<u.length-1;)Eqt(u);return u.documents}function Cqt(i,a,u){a!==null&&typeof a=="object"&&typeof u>"u"&&(u=a,a=null);var d=aze(i,u);if(typeof a!="function")return d;for(var p=0,v=d.length;p<v;p+=1)a(d[p])}function Sqt(i,a){var u=aze(i,a);if(u.length!==0){if(u.length===1)return u[0];throw new M7("expected a single document in the stream, but found more")}}var _qt=Cqt,Aqt=Sqt,Lqt={loadAll:_qt,load:Aqt},Mqt=U$e,Dqt=Lqt.load;function Iqt(i){const a=i.match(tje);if(!a)return{text:i,metadata:{}};let u=Dqt(a[1],{schema:Mqt})??{};u=typeof u=="object"&&!Array.isArray(u)?u:{};const d={};return u.displayMode&&(d.displayMode=u.displayMode.toString()),u.title&&(d.title=u.title.toString()),u.config&&(d.config=u.config),{text:i.slice(a[0].length),metadata:d}}const Oqt=i=>i.replace(/\r\n?/g,`
`).replace(/<(\w+)([^>]*)>/g,(a,u,d)=>"<"+u+d.replace(/="([^"]*)"/g,"='$1'")+">"),Nqt=i=>{const{text:a,metadata:u}=Iqt(i),{displayMode:d,title:p,config:v={}}=u;return d&&(v.gantt||(v.gantt={}),v.gantt.displayMode=d),{title:p,config:v,text:a}},Pqt=i=>{const a=So.detectInit(i)??{},u=So.detectDirective(i,"wrap");return Array.isArray(u)?a.wrap=u.some(({type:d})=>{}):(u==null?void 0:u.type)==="wrap"&&(a.wrap=!0),{text:ejt(i),directive:a}};function oze(i){const a=Oqt(i),u=Nqt(a),d=Pqt(u.text),p=cR(u.config,d.directive);return i=q$t(d.text),{code:i,title:u.title,config:p}}const Bqt=5e4,Fqt="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",Rqt="sandbox",jqt="loose",$qt="http://www.w3.org/2000/svg",zqt="http://www.w3.org/1999/xlink",qqt="http://www.w3.org/1999/xhtml",Hqt="100%",Uqt="100%",Vqt="border:0;margin:0;",Gqt="margin:0",Kqt="allow-top-navigation-by-user-activation allow-popups",Wqt='The "iframe" tag is not supported by your browser.',Yqt=["foreignobject"],Xqt=["dominant-baseline"];function cze(i){const a=oze(i);return ZX(),Pjt(a.config??{}),a}async function Qqt(i,a){J2e(),i=cze(i).code;try{await ube(i)}catch(u){if(a!=null&&a.suppressErrors)return!1;throw u}return!0}const uze=(i,a,u=[])=>{const d=eje(`{ ${u.join(" !important; ")} !important; }`);return`.${i} ${a} ${d}`},Jqt=(i,a={})=>{var p;const u=new CSSStyleSheet;if(i.fontFamily!==void 0&&u.insertRule(`:root { --mermaid-font-family: ${i.fontFamily}}`,u.cssRules.length),i.altFontFamily!==void 0&&u.insertRule(`:root { --mermaid-alt-font-family: ${i.altFontFamily}}`,u.cssRules.length),!gR(a)){const E=i.htmlLabels||((p=i.flowchart)==null?void 0:p.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const _ in a){const A=a[_];gR(A.styles)||E.forEach(P=>{u.insertRule(uze(A.id,P,A.styles),u.cssRules.length)}),gR(A.textStyles)||u.insertRule(uze(A.id,"tspan",A.textStyles),u.cssRules.length)}}let d="";if(i.themeCSS!==void 0)if(typeof u.replaceSync=="function"){const v=new CSSStyleSheet;v.replaceSync(i.themeCSS),d=k$e(v)+`
`}else d+=`${i.themeCSS}
`;return d+k$e(u)},Zqt=(i,a)=>G2e(Ajt(`${i}{${a}}`),Djt([function(d,p,v,b){if(d.type==="rule"&&Array.isArray(d.props)){if(d.parent&&d.parent.type===$2e)return;d.props=d.props.map(y=>y.startsWith(i)?y:`${i} ${y}`)}else d.type.startsWith("@")&&([...[bjt,vjt,Vje,"@scope","@container","@starting-style"],$2e].includes(d.type)||(Xe.warn(`Removing unsupported at-rule ${d.type} from CSS`),d.type=j2e))},Mjt])),eHt=(i,a,u,d)=>{const p=Jqt(i,u),v=s$t(a,p,i.themeVariables);return Zqt(d,v)},tHt=(i="",a,u)=>{let d=i;return!u&&!a&&(d=d.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),d=uR(d),d=d.replace(/<br>/g,"<br/>"),d},nHt=(i="",a)=>{var p,v;const u=(v=(p=a==null?void 0:a.viewBox)==null?void 0:p.baseVal)!=null&&v.height?a.viewBox.baseVal.height+"px":Uqt,d=btoa('<body style="'+Gqt+'">'+i+"</body>");return`<iframe style="width:${Hqt};height:${u};${Vqt}" src="data:text/html;base64,${d}" sandbox="${Kqt}">
${Wqt}
</iframe>`},lze=(i,a,u,d,p)=>{const v=i.append("div");v.attr("id",u),d&&v.attr("style",d);const b=v.append("svg").attr("id",a).attr("width","100%").attr("xmlns",$qt);return p&&b.attr("xmlns:xlink",p),b.append("g"),i};function hze(i,a){return i.append("iframe").attr("id",a).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const rHt=(i,a,u,d)=>{var p,v,b;(p=i.getElementById(a))==null||p.remove(),(v=i.getElementById(u))==null||v.remove(),(b=i.getElementById(d))==null||b.remove()},iHt=async function(i,a,u){var U,Be,Pe,je,Ie,Se;J2e();const d=cze(a);a=d.code;const p=mh();Xe.debug(p),a.length>((p==null?void 0:p.maxTextSize)??Bqt)&&(a=Fqt);const v=`#${i}`,b="i"+i,y="#"+b,E="d"+i,_="#"+E;let A=Dr(document.body);const P=p.securityLevel===Rqt,R=p.securityLevel===jqt,B=p.fontFamily;if(u!==void 0){if(u&&(u.innerHTML=""),P){const Ce=hze(Dr(u),b);A=Dr(Ce.nodes()[0].contentDocument.body),A.node().style.margin="0"}else A=Dr(u);lze(A,i,E,`font-family: ${B}`,zqt)}else{if(rHt(document,i,E,b),P){const Ce=hze(Dr(document.body),b);A=Dr(Ce.nodes()[0].contentDocument.body),A.node().style.margin="0"}else A=Dr("body");lze(A,i,E)}let j,W;try{j=await ube(a,{title:d.title})}catch(Ce){j=new O$e("error"),W=Ce}const ee=A.select(_).node(),ie=j.type,oe=ee.firstChild,be=oe.firstChild,ge=(Be=(U=j.renderer).getClasses)==null?void 0:Be.call(U,a,j),ae=eHt(p,ie,ge,v),ne=document.createElement("style");ne.innerHTML=ae,oe.insertBefore(ne,be);try{await j.renderer.draw(a,i,Jje,j)}catch(Ce){throw f$t.draw(a,i,Jje),Ce}const se=A.select(`${_} svg`),de=(je=(Pe=j.db).getAccTitle)==null?void 0:je.call(Pe),X=(Se=(Ie=j.db).getAccDescription)==null?void 0:Se.call(Ie);aHt(ie,se,de,X),A.select(`[id="${i}"]`).selectAll("foreignobject > *").attr("xmlns",qqt);let pe=A.select(_).node().innerHTML;if(Xe.debug("config.arrowMarkerAbsolute",p.arrowMarkerAbsolute),pe=tHt(pe,P,h1(p.arrowMarkerAbsolute)),P){const Ce=A.select(_+" svg").node();pe=nHt(pe,Ce)}else R||(pe=pD.sanitize(pe,{ADD_TAGS:Yqt,ADD_ATTR:Xqt,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(y$t(),W)throw W;const xe=Dr(P?y:_).node();return xe&&"remove"in xe&&xe.remove(),{svg:pe,bindFunctions:j.db.bindFunctions}};function sHt(i={}){var u;i!=null&&i.fontFamily&&!((u=i.themeVariables)!=null&&u.fontFamily)&&(i.themeVariables||(i.themeVariables={}),i.themeVariables.fontFamily=i.fontFamily),Ojt(i),i!=null&&i.theme&&i.theme in C7?i.themeVariables=C7[i.theme].getThemeVariables(i.themeVariables):i&&(i.themeVariables=C7.default.getThemeVariables(i.themeVariables));const a=typeof i=="object"?Ijt(i):e$e();Spe(a.logLevel),J2e()}const ube=(i,a={})=>{const{code:u}=oze(i);return w$t(u,a)};function aHt(i,a,u,d){$$t(a,i),z$t(a,u,d,a.attr("id"))}const jC=Object.freeze({render:iHt,parse:Qqt,getDiagramFromText:ube,initialize:sHt,getConfig:mh,setConfig:t$e,getSiteConfig:e$e,updateSiteConfig:Njt,reset:()=>{ZX()},globalReset:()=>{ZX(_D)},defaultConfig:_D});Spe(mh().logLevel),ZX(mh());const oHt=async()=>{Xe.debug("Loading registered diagrams");const a=(await Promise.allSettled(Object.entries(mD).map(async([u,{detector:d,loader:p}])=>{if(p)try{Q2e(u)}catch{try{const{diagram:b,id:y}=await p();nQ(y,b,d)}catch(b){throw Xe.error(`Failed to load external diagram with key ${u}. Removing from detectors.`),delete mD[u],b}}}))).filter(u=>u.status==="rejected");if(a.length>0){Xe.error(`Failed to load ${a.length} external diagrams`);for(const u of a)Xe.error(u);throw new Error(`Failed to load ${a.length} external diagrams`)}},cHt=(i,a,u)=>{Xe.warn(i),qje(i)?(u&&u(i.str,i.hash),a.push({...i,message:i.str,error:i})):(u&&u(i),i instanceof Error&&a.push({str:i.message,message:i.message,hash:i.name,error:i}))},fze=async function(i={querySelector:".mermaid"}){try{await uHt(i)}catch(a){if(qje(a)&&Xe.error(a.str),bm.parseError&&bm.parseError(a),!i.suppressErrors)throw Xe.error("Use the suppressErrors option to suppress these errors"),a}},uHt=async function({postRenderCallback:i,querySelector:a,nodes:u}={querySelector:".mermaid"}){const d=jC.getConfig();Xe.debug(`${i?"":"No "}Callback function found`);let p;if(u)p=u;else if(a)p=document.querySelectorAll(a);else throw new Error("Nodes and querySelector are both undefined");Xe.debug(`Found ${p.length} diagrams`),(d==null?void 0:d.startOnLoad)!==void 0&&(Xe.debug("Start On Load: "+(d==null?void 0:d.startOnLoad)),jC.updateSiteConfig({startOnLoad:d==null?void 0:d.startOnLoad}));const v=new So.InitIDGenerator(d.deterministicIds,d.deterministicIDSeed);let b;const y=[];for(const E of Array.from(p)){Xe.info("Rendering diagram: "+E.id);/*! Check if previously processed */if(E.getAttribute("data-processed"))continue;E.setAttribute("data-processed","true");const _=`mermaid-${v.next()}`;b=E.innerHTML,b=ZM(So.entityDecode(b)).trim().replace(/<br\s*\/?>/gi,"<br/>");const A=So.detectInit(b);A&&Xe.debug("Detected early reinit: ",A);try{const{svg:P,bindFunctions:R}=await bze(_,b,E);E.innerHTML=P,i&&await i(_),R&&R(E)}catch(P){cHt(P,y,bm.parseError)}}if(y.length>0)throw y[0]},dze=function(i){jC.initialize(i)},lHt=async function(i,a,u){Xe.warn("mermaid.init is deprecated. Please use run instead."),i&&dze(i);const d={postRenderCallback:u,querySelector:".mermaid"};typeof a=="string"?d.querySelector=a:a&&(a instanceof HTMLElement?d.nodes=[a]:d.nodes=a),await fze(d)},hHt=async(i,{lazyLoad:a=!0}={})=>{rje(...i),a===!1&&await oHt()},gze=function(){if(bm.startOnLoad){const{startOnLoad:i}=jC.getConfig();i&&bm.run().catch(a=>Xe.error("Mermaid failed to initialize",a))}};if(typeof document<"u"){/*!
* Wait for document loaded before starting the execution
*/window.addEventListener("load",gze,!1)}const fHt=function(i){bm.parseError=i},oQ=[];let lbe=!1;const pze=async()=>{if(!lbe){for(lbe=!0;oQ.length>0;){const i=oQ.shift();if(i)try{await i()}catch(a){Xe.error("Error executing queue",a)}}lbe=!1}},dHt=async(i,a)=>new Promise((u,d)=>{const p=()=>new Promise((v,b)=>{jC.parse(i,a).then(y=>{v(y),u(y)},y=>{var E;Xe.error("Error parsing",y),(E=bm.parseError)==null||E.call(bm,y),b(y),d(y)})});oQ.push(p),pze().catch(d)}),bze=(i,a,u)=>new Promise((d,p)=>{const v=()=>new Promise((b,y)=>{jC.render(i,a,u).then(E=>{b(E),d(E)},E=>{var _;Xe.error("Error parsing",E),(_=bm.parseError)==null||_.call(bm,E),y(E),p(E)})});oQ.push(v),pze().catch(p)}),bm={startOnLoad:!0,mermaidAPI:jC,parse:dHt,render:bze,init:lHt,run:fze,registerExternalDiagrams:hHt,initialize:dze,parseError:void 0,contentLoaded:gze,setParseErrorHandler:fHt,detectType:IX};class ki extends Error{constructor(a,u){var d="KaTeX parse error: "+a,p,v,b=u&&u.loc;if(b&&b.start<=b.end){var y=b.lexer.input;p=b.start,v=b.end,p===y.length?d+=" at end of input: ":d+=" at position "+(p+1)+": ";var E=y.slice(p,v).replace(/[^]/g,"$&̲"),_;p>15?_="…"+y.slice(p-15,p):_=y.slice(0,p);var A;v+15<y.length?A=y.slice(v,v+15)+"…":A=y.slice(v),d+=_+E+A}super(d),this.name="ParseError",Object.setPrototypeOf(this,ki.prototype),this.position=p,p!=null&&v!=null&&(this.length=v-p),this.rawMessage=a}}var gHt=/([A-Z])/g,hbe=i=>i.replace(gHt,"-$1").toLowerCase(),pHt={"&":"&amp;",">":"&gt;","<":"&lt;",'"':"&quot;","'":"&#x27;"},bHt=/[&><"']/g,zg=i=>String(i).replace(bHt,a=>pHt[a]),cQ=i=>i.type==="ordgroup"||i.type==="color"?i.body.length===1?cQ(i.body[0]):i:i.type==="font"?cQ(i.body):i,mHt=new Set(["mathord","textord","atom"]),D7=i=>mHt.has(cQ(i).type),vHt=i=>{var a=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(i);return a?a[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(a[1])?null:a[1].toLowerCase():"_relative"},uQ={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 <type>"},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 <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:i=>"#"+i},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(i,a)=>(a.push(i),a)},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:i=>Math.max(0,i),cli:"--min-rule-thickness <size>",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:i=>Math.max(0,i),cli:"-s, --max-size <n>",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:i=>Math.max(0,i),cli:"-e, --max-expand <n>",cliProcessor:i=>i==="Infinity"?1/0:parseInt(i)},globalGroup:{type:"boolean",cli:!1}};function wHt(i){if("default"in i)return i.default;var a=i.type,u=Array.isArray(a)?a[0]:a;if(typeof u!="string")return u.enum[0];switch(u){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class fbe{constructor(a){a===void 0&&(a={}),a=a||{};for(var u of Object.keys(uQ)){var d=uQ[u],p=a[u];this[u]=p!==void 0?d.processor?d.processor(p):p:wHt(d)}}reportNonstrict(a,u,d){var p=this.strict;if(typeof p=="function"&&(p=p(a,u,d)),!(!p||p==="ignore")){if(p===!0||p==="error")throw new ki("LaTeX-incompatible input and strict mode is set to 'error': "+(u+" ["+a+"]"),d);p==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(u+" ["+a+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+p+"': "+u+" ["+a+"]"))}}useStrictBehavior(a,u,d){var p=this.strict;if(typeof p=="function")try{p=p(a,u,d)}catch{p="error"}return!p||p==="ignore"?!1:p===!0||p==="error"?!0:p==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(u+" ["+a+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+p+"': "+u+" ["+a+"]")),!1)}isTrusted(a){if("url"in a&&a.url&&!a.protocol){var u=vHt(a.url);if(u==null)return!1;a.protocol=u}var d=typeof this.trust=="function"?this.trust(a):this.trust;return!!d}}class E9{constructor(a,u,d){this.id=a,this.size=u,this.cramped=d}sup(){return W4[yHt[this.id]]}sub(){return W4[xHt[this.id]]}fracNum(){return W4[kHt[this.id]]}fracDen(){return W4[THt[this.id]]}cramp(){return W4[EHt[this.id]]}text(){return W4[CHt[this.id]]}isTight(){return this.size>=2}}var dbe=0,lQ=1,PD=2,I7=3,bR=4,Uv=5,BD=6,Pp=7,W4=[new E9(dbe,0,!1),new E9(lQ,0,!0),new E9(PD,1,!1),new E9(I7,1,!0),new E9(bR,2,!1),new E9(Uv,2,!0),new E9(BD,3,!1),new E9(Pp,3,!0)],yHt=[bR,Uv,bR,Uv,BD,Pp,BD,Pp],xHt=[Uv,Uv,Uv,Uv,Pp,Pp,Pp,Pp],kHt=[PD,I7,bR,Uv,BD,Pp,BD,Pp],THt=[I7,I7,Uv,Uv,Pp,Pp,Pp,Pp],EHt=[lQ,lQ,I7,I7,Uv,Uv,Pp,Pp],CHt=[dbe,lQ,PD,I7,PD,I7,PD,I7],bo={DISPLAY:W4[dbe],TEXT:W4[PD],SCRIPT:W4[bR],SCRIPTSCRIPT:W4[BD]},gbe=[{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]]}];function SHt(i){for(var a=0;a<gbe.length;a++)for(var u=gbe[a],d=0;d<u.blocks.length;d++){var p=u.blocks[d];if(i>=p[0]&&i<=p[1])return u.name}return null}var hQ=[];gbe.forEach(i=>i.blocks.forEach(a=>hQ.push(...a)));function mze(i){for(var a=0;a<hQ.length;a+=2)if(i>=hQ[a]&&i<=hQ[a+1])return!0;return!1}var f1=i=>i+" "+i,FD=80,_Ht=function(a,u){return"M95,"+(622+a+u)+`
c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
c44.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
s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429
c69,-144,104.5,-217.7,106.5,-221
l`+a/2.075+" -"+a+`
c5.3,-9.3,12,-14,20,-14
H400000v`+(40+a)+`H845.2724
s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7
c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z
M`+(834+a)+" "+u+"h400000v"+(40+a)+"h-400000z"},AHt=function(a,u){return"M263,"+(601+a+u)+`c0.7,0,18,39.7,52,119
c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120
c340,-704.7,510.7,-1060.3,512,-1067
l`+a/2.084+" -"+a+`
c4.7,-7.3,11,-11,19,-11
H40000v`+(40+a)+`H1012.3
s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232
c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1
s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26
c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z
M`+(1001+a)+" "+u+"h400000v"+(40+a)+"h-400000z"},LHt=function(a,u){return"M983 "+(10+a+u)+`
l`+a/3.13+" -"+a+`
c4,-6.7,10,-10,18,-10 H400000v`+(40+a)+`
H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7
s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744
c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30
c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722
c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5
c53.7,-170.3,84.5,-266.8,92.5,-289.5z
M`+(1001+a)+" "+u+"h400000v"+(40+a)+"h-400000z"},MHt=function(a,u){return"M424,"+(2398+a+u)+`
c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514
c0,-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
s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121
s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081
l`+a/4.223+" -"+a+`c4,-6.7,10,-10,18,-10 H400000
v`+(40+a)+`H1014.6
s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185
c-2,6,-10,9,-24,9
c-8,0,-12,-0.7,-12,-2z M`+(1001+a)+" "+u+`
h400000v`+(40+a)+"h-400000z"},DHt=function(a,u){return"M473,"+(2713+a+u)+`
c339.3,-1799.3,509.3,-2700,510,-2702 l`+a/5.298+" -"+a+`
c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+a)+`H1017.7
s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9
c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200
c0,-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
s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,
606zM`+(1001+a)+" "+u+"h400000v"+(40+a)+"H1017.7z"},IHt=function(a){var u=a/2;return"M400000 "+a+" H0 L"+u+" 0 l65 45 L145 "+(a-80)+" H400000z"},OHt=function(a,u,d){var p=d-54-u-a;return"M702 "+(a+u)+"H400000"+(40+a)+`
H742v`+p+`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
h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170
c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667
219 661 l218 661zM702 `+u+"H400000v"+(40+a)+"H742z"},NHt=function(a,u,d){u=1e3*u;var p="";switch(a){case"sqrtMain":p=_Ht(u,FD);break;case"sqrtSize1":p=AHt(u,FD);break;case"sqrtSize2":p=LHt(u,FD);break;case"sqrtSize3":p=MHt(u,FD);break;case"sqrtSize4":p=DHt(u,FD);break;case"sqrtTall":p=OHt(u,FD,d)}return p},PHt=function(a,u){switch(a){case"⎜":return f1("M291 0 H417 V"+u+" H291z");case"":return f1("M145 0 H188 V"+u+" H145z");case"∥":return f1("M145 0 H188 V"+u+" H145z")+f1("M367 0 H410 V"+u+" H367z");case"⎟":return f1("M457 0 H583 V"+u+" H457z");case"⎢":return f1("M319 0 H403 V"+u+" H319z");case"⎥":return f1("M263 0 H347 V"+u+" H263z");case"⎪":return f1("M384 0 H504 V"+u+" H384z");case"⏐":return f1("M312 0 H355 V"+u+" H312z");case"‖":return f1("M257 0 H300 V"+u+" H257z")+f1("M478 0 H521 V"+u+" H478z");default:return""}},vze={doubleleftarrow:`M262 157
l10-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
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
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
c2 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
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
-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7
-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z
m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l
-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
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
-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
-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
-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782
c-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
-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120
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
-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
c-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
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
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
l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117
-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7
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
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
0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7
-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,leftgroup:`M400000 80
H435C64 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
435 0h399565z`,leftgroupunder:`M400000 262
H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219
435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3
-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
-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
-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
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
-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
-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z
m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333
5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5
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
-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
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
-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0
v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5
-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
-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
71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:f1("M40 281 V428 H0 V94 H40 V241 H400000 v40z"),leftbracketunder:f1("M0 0 h120 V290 H399995 v120 H0z"),leftbracketover:f1("M0 440 h120 V150 H399995 v-120 H0z"),leftmapsto:f1("M40 281 V448H0V74H40V241H400000v40z"),leftToFrom:`M0 147h400000v40H0zm0 214c68 40 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-70-101l-7-8h399905v-40H95l7-8
c28.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
68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:f1("M0 50 h400000 v40H0z m0 194h40000v40H0z"),midbrace:`M200428 334
c-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
-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7
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
12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214
c100.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
53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3
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
-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
-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z
m368.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
60.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
-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z
m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2
c0 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
-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z
m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0
85.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
-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z
m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1
c0 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
-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
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
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
-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
-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
151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l
-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
s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1
c124.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
28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237
-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
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
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
-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
-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
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
-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
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
m0 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
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
-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
-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
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
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
-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z
m0-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
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
-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
66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:f1("M399960 241 V94 h40 V428 h-40 V281 H0 v-40z"),rightbracketunder:f1("M399995 0 h-120 V290 H0 v120 H400000z"),rightbracketover:f1("M399995 440 h-120 V150 H0 v-120 H399995z"),rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23
1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32
-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
-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40
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
-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3
-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19
-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101
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
c-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
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
18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333
-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70
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
-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
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
4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128
-68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418
-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
31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114
c1 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
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
-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0
411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697
16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696
-338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345
-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409
177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9
14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409
-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
3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11
10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63
-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
-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59
H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359
c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22
c-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
-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
-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
-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,
-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,
-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,
-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,
-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
c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5
c-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
s-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
121.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
s2.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
c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z
M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-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 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 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-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
-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
151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17
c2,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
c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40
c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z
M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0
c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
-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
c-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
M0 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
c1.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,
1c0,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,
-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z
M93 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
c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
-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
c-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
M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},BHt=function(a,u){switch(a){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+u+` v1759 h347 v-84
H403z M403 1759 V0 H319 V1759 v`+u+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+u+` v1759 H0 v84 H347z
M347 1759 V0 H263 V1759 v`+u+" v1759 h84z";case"vert":return"M145 15 v585 v"+u+` v585 c2.667,10,9.667,15,21,15
c10,0,16.667,-5,20,-15 v-585 v`+-u+` v-585 c-2.667,-10,-9.667,-15,-21,-15
c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+u+" v585 h43z";case"doublevert":return"M145 15 v585 v"+u+` v585 c2.667,10,9.667,15,21,15
c10,0,16.667,-5,20,-15 v-585 v`+-u+` v-585 c-2.667,-10,-9.667,-15,-21,-15
c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+u+` v585 h43z
M367 15 v585 v`+u+` v585 c2.667,10,9.667,15,21,15
c10,0,16.667,-5,20,-15 v-585 v`+-u+` v-585 c-2.667,-10,-9.667,-15,-21,-15
c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+u+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+u+` v1715 h263 v84 H319z
MM319 602 V0 H403 V602 v`+u+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+u+` v1799 H0 v-84 H319z
MM319 602 V0 H403 V602 v`+u+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+u+` v602 h84z
M403 1759 V0 H319 V1759 v`+u+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+u+` v602 h84z
M347 1759 V0 h-84 V1759 v`+u+" 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
c-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,
-36,557 l0,`+(u+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,
949.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
c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,
-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189
l0,-`+(u+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,
-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,
63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5
c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(u+9)+`
c-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
c-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
c0,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
c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558
l0,-`+(u+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
-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.")}};class RD{constructor(a){this.children=a,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(a){return this.classes.includes(a)}toNode(){for(var a=document.createDocumentFragment(),u=0;u<this.children.length;u++)a.appendChild(this.children[u].toNode());return a}toMarkup(){for(var a="",u=0;u<this.children.length;u++)a+=this.children[u].toMarkup();return a}toText(){var a=u=>u.toText();return this.children.map(a).join("")}}var pbe={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},FHt={ex:!0,em:!0,mu:!0},wze=function(a){return typeof a!="string"&&(a=a.unit),a in pbe||a in FHt||a==="ex"},Uh=function(a,u){var d;if(a.unit in pbe)d=pbe[a.unit]/u.fontMetrics().ptPerEm/u.sizeMultiplier;else if(a.unit==="mu")d=u.fontMetrics().cssEmPerMu;else{var p;if(u.style.isTight()?p=u.havingStyle(u.style.text()):p=u,a.unit==="ex")d=p.fontMetrics().xHeight;else if(a.unit==="em")d=p.fontMetrics().quad;else throw new ki("Invalid unit: '"+a.unit+"'");p!==u&&(d*=p.sizeMultiplier/u.sizeMultiplier)}return Math.min(a.number*d,u.maxSize)},Oi=function(a){return+a.toFixed(4)+"em"},C9=function(a){return a.filter(u=>u).join(" ")},yze=function(a,u,d){if(this.classes=a||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=d||{},u){u.style.isTight()&&this.classes.push("mtight");var p=u.getColor();p&&(this.style.color=p)}},xze=function(a){var u=document.createElement(a);u.className=C9(this.classes);for(var d of Object.keys(this.style))u.style[d]=this.style[d];for(var p of Object.keys(this.attributes))u.setAttribute(p,this.attributes[p]);for(var v=0;v<this.children.length;v++)u.appendChild(this.children[v].toNode());return u},RHt=/[\s"'>/=\x00-\x1f]/,kze=function(a){var u="<"+a;this.classes.length&&(u+=' class="'+zg(C9(this.classes))+'"');var d="";for(var p of Object.keys(this.style))d+=hbe(p)+":"+this.style[p]+";";d&&(u+=' style="'+zg(d)+'"');for(var v of Object.keys(this.attributes)){if(RHt.test(v))throw new ki("Invalid attribute name '"+v+"'");u+=" "+v+'="'+zg(this.attributes[v])+'"'}u+=">";for(var b=0;b<this.children.length;b++)u+=this.children[b].toMarkup();return u+="</"+a+">",u};class jD{constructor(a,u,d,p){yze.call(this,a,d,p),this.children=u||[]}setAttribute(a,u){this.attributes[a]=u}hasClass(a){return this.classes.includes(a)}toNode(){return xze.call(this,"span")}toMarkup(){return kze.call(this,"span")}}class fQ{constructor(a,u,d,p){yze.call(this,u,p),this.children=d||[],this.setAttribute("href",a)}setAttribute(a,u){this.attributes[a]=u}hasClass(a){return this.classes.includes(a)}toNode(){return xze.call(this,"a")}toMarkup(){return kze.call(this,"a")}}class jHt{constructor(a,u,d){this.alt=u,this.src=a,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=d}hasClass(a){return this.classes.includes(a)}toNode(){var a=document.createElement("img");a.src=this.src,a.alt=this.alt,a.className="mord";for(var u of Object.keys(this.style))a.style[u]=this.style[u];return a}toMarkup(){var a='<img src="'+zg(this.src)+'"'+(' alt="'+zg(this.alt)+'"'),u="";for(var d of Object.keys(this.style))u+=hbe(d)+":"+this.style[d]+";";return u&&(a+=' style="'+zg(u)+'"'),a+="'/>",a}}var $Ht={î:"ı̂",ï:"ı̈",í:"ı́",ì:"ı̀"};class mm{constructor(a,u,d,p,v,b,y,E){this.text=a,this.height=u||0,this.depth=d||0,this.italic=p||0,this.skew=v||0,this.width=b||0,this.classes=y||[],this.style=E||{},this.maxFontSize=0;var _=SHt(this.text.charCodeAt(0));_&&this.classes.push(_+"_fallback"),/[îïíì]/.test(this.text)&&(this.text=$Ht[this.text])}hasClass(a){return this.classes.includes(a)}toNode(){var a=document.createTextNode(this.text),u=null;this.italic>0&&(u=document.createElement("span"),u.style.marginRight=Oi(this.italic)),this.classes.length>0&&(u=u||document.createElement("span"),u.className=C9(this.classes));for(var d of Object.keys(this.style))u=u||document.createElement("span"),u.style[d]=this.style[d];return u?(u.appendChild(a),u):a}toMarkup(){var a=!1,u="<span";this.classes.length&&(a=!0,u+=' class="',u+=zg(C9(this.classes)),u+='"');var d="";this.italic>0&&(d+="margin-right:"+Oi(this.italic)+";");for(var p of Object.keys(this.style))d+=hbe(p)+":"+this.style[p]+";";d&&(a=!0,u+=' style="'+zg(d)+'"');var v=zg(this.text);return a?(u+=">",u+=v,u+="</span>",u):v}}class O7{constructor(a,u){this.children=a||[],this.attributes=u||{}}toNode(){var a="http://www.w3.org/2000/svg",u=document.createElementNS(a,"svg");for(var d of Object.keys(this.attributes))u.setAttribute(d,this.attributes[d]);for(var p=0;p<this.children.length;p++)u.appendChild(this.children[p].toNode());return u}toMarkup(){var a='<svg xmlns="http://www.w3.org/2000/svg"';for(var u of Object.keys(this.attributes))a+=" "+u+'="'+zg(this.attributes[u])+'"';a+=">";for(var d=0;d<this.children.length;d++)a+=this.children[d].toMarkup();return a+="</svg>",a}}class S9{constructor(a,u){this.pathName=a,this.alternate=u}toNode(){var a="http://www.w3.org/2000/svg",u=document.createElementNS(a,"path");return this.alternate?u.setAttribute("d",this.alternate):u.setAttribute("d",vze[this.pathName]),u}toMarkup(){return this.alternate?'<path d="'+zg(this.alternate)+'"/>':'<path d="'+zg(vze[this.pathName])+'"/>'}}class bbe{constructor(a){this.attributes=a||{}}toNode(){var a="http://www.w3.org/2000/svg",u=document.createElementNS(a,"line");for(var d of Object.keys(this.attributes))u.setAttribute(d,this.attributes[d]);return u}toMarkup(){var a="<line";for(var u of Object.keys(this.attributes))a+=" "+u+'="'+zg(this.attributes[u])+'"';return a+="/>",a}}function zHt(i){if(i instanceof mm)return i;throw new Error("Expected symbolNode but got "+String(i)+".")}function qHt(i){if(i instanceof jD)return i;throw new Error("Expected span<HtmlDomNode> but got "+String(i)+".")}var HHt=i=>i instanceof jD||i instanceof fQ||i instanceof RD,Y4={"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]}},dQ={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]},Tze={Å:"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 Eze(i,a){Y4[i]=a}function mbe(i,a,u){if(!Y4[a])throw new Error("Font metrics not found for font: "+a+".");var d=i.charCodeAt(0),p=Y4[a][d];if(!p&&i[0]in Tze&&(d=Tze[i[0]].charCodeAt(0),p=Y4[a][d]),!p&&u==="text"&&mze(d)&&(p=Y4[a][77]),p)return{depth:p[0],height:p[1],italic:p[2],skew:p[3],width:p[4]}}var vbe={};function UHt(i){var a;if(i>=5?a=0:i>=3?a=1:a=2,!vbe[a]){var u=vbe[a]={cssEmPerMu:dQ.quad[a]/18};for(var d in dQ)dQ.hasOwnProperty(d)&&(u[d]=dQ[d][a])}return vbe[a]}var VHt={bin:1,close:1,inner:1,open:1,punct:1,rel:1},GHt={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},vh={math:{},text:{}};function we(i,a,u,d,p,v){vh[i][p]={font:a,group:u,replace:d},v&&d&&(vh[i][d]=vh[i][p])}var Ae="math",ti="text",He="main",jt="ams",wh="accent-token",ls="bin",Bp="close",$D="inner",Sa="mathord",N0="op-token",vm="open",mR="punct",Ht="rel",N7="spacing",bn="textord";we(Ae,He,Ht,"≡","\\equiv",!0),we(Ae,He,Ht,"≺","\\prec",!0),we(Ae,He,Ht,"≻","\\succ",!0),we(Ae,He,Ht,"","\\sim",!0),we(Ae,He,Ht,"⊥","\\perp"),we(Ae,He,Ht,"⪯","\\preceq",!0),we(Ae,He,Ht,"⪰","\\succeq",!0),we(Ae,He,Ht,"≃","\\simeq",!0),we(Ae,He,Ht,"","\\mid",!0),we(Ae,He,Ht,"≪","\\ll",!0),we(Ae,He,Ht,"≫","\\gg",!0),we(Ae,He,Ht,"≍","\\asymp",!0),we(Ae,He,Ht,"∥","\\parallel"),we(Ae,He,Ht,"⋈","\\bowtie",!0),we(Ae,He,Ht,"⌣","\\smile",!0),we(Ae,He,Ht,"⊑","\\sqsubseteq",!0),we(Ae,He,Ht,"⊒","\\sqsupseteq",!0),we(Ae,He,Ht,"≐","\\doteq",!0),we(Ae,He,Ht,"⌢","\\frown",!0),we(Ae,He,Ht,"∋","\\ni",!0),we(Ae,He,Ht,"∝","\\propto",!0),we(Ae,He,Ht,"⊢","\\vdash",!0),we(Ae,He,Ht,"⊣","\\dashv",!0),we(Ae,He,Ht,"∋","\\owns"),we(Ae,He,mR,".","\\ldotp"),we(Ae,He,mR,"⋅","\\cdotp"),we(Ae,He,mR,"⋅","·"),we(ti,He,bn,"⋅","·"),we(Ae,He,bn,"#","\\#"),we(ti,He,bn,"#","\\#"),we(Ae,He,bn,"&","\\&"),we(ti,He,bn,"&","\\&"),we(Ae,He,bn,"ℵ","\\aleph",!0),we(Ae,He,bn,"∀","\\forall",!0),we(Ae,He,bn,"ℏ","\\hbar",!0),we(Ae,He,bn,"∃","\\exists",!0),we(Ae,He,bn,"∇","\\nabla",!0),we(Ae,He,bn,"♭","\\flat",!0),we(Ae,He,bn,"","\\ell",!0),we(Ae,He,bn,"♮","\\natural",!0),we(Ae,He,bn,"♣","\\clubsuit",!0),we(Ae,He,bn,"℘","\\wp",!0),we(Ae,He,bn,"♯","\\sharp",!0),we(Ae,He,bn,"♢","\\diamondsuit",!0),we(Ae,He,bn,"","\\Re",!0),we(Ae,He,bn,"♡","\\heartsuit",!0),we(Ae,He,bn,"","\\Im",!0),we(Ae,He,bn,"♠","\\spadesuit",!0),we(Ae,He,bn,"§","\\S",!0),we(ti,He,bn,"§","\\S"),we(Ae,He,bn,"¶","\\P",!0),we(ti,He,bn,"¶","\\P"),we(Ae,He,bn,"†","\\dag"),we(ti,He,bn,"†","\\dag"),we(ti,He,bn,"†","\\textdagger"),we(Ae,He,bn,"‡","\\ddag"),we(ti,He,bn,"‡","\\ddag"),we(ti,He,bn,"‡","\\textdaggerdbl"),we(Ae,He,Bp,"⎱","\\rmoustache",!0),we(Ae,He,vm,"⎰","\\lmoustache",!0),we(Ae,He,Bp,"⟯","\\rgroup",!0),we(Ae,He,vm,"⟮","\\lgroup",!0),we(Ae,He,ls,"∓","\\mp",!0),we(Ae,He,ls,"⊖","\\ominus",!0),we(Ae,He,ls,"⊎","\\uplus",!0),we(Ae,He,ls,"⊓","\\sqcap",!0),we(Ae,He,ls,"","\\ast"),we(Ae,He,ls,"⊔","\\sqcup",!0),we(Ae,He,ls,"◯","\\bigcirc",!0),we(Ae,He,ls,"∙","\\bullet",!0),we(Ae,He,ls,"‡","\\ddagger"),we(Ae,He,ls,"≀","\\wr",!0),we(Ae,He,ls,"⨿","\\amalg"),we(Ae,He,ls,"&","\\And"),we(Ae,He,Ht,"⟵","\\longleftarrow",!0),we(Ae,He,Ht,"⇐","\\Leftarrow",!0),we(Ae,He,Ht,"⟸","\\Longleftarrow",!0),we(Ae,He,Ht,"⟶","\\longrightarrow",!0),we(Ae,He,Ht,"⇒","\\Rightarrow",!0),we(Ae,He,Ht,"⟹","\\Longrightarrow",!0),we(Ae,He,Ht,"↔","\\leftrightarrow",!0),we(Ae,He,Ht,"⟷","\\longleftrightarrow",!0),we(Ae,He,Ht,"⇔","\\Leftrightarrow",!0),we(Ae,He,Ht,"⟺","\\Longleftrightarrow",!0),we(Ae,He,Ht,"↦","\\mapsto",!0),we(Ae,He,Ht,"⟼","\\longmapsto",!0),we(Ae,He,Ht,"↗","\\nearrow",!0),we(Ae,He,Ht,"↩","\\hookleftarrow",!0),we(Ae,He,Ht,"↪","\\hookrightarrow",!0),we(Ae,He,Ht,"↘","\\searrow",!0),we(Ae,He,Ht,"↼","\\leftharpoonup",!0),we(Ae,He,Ht,"⇀","\\rightharpoonup",!0),we(Ae,He,Ht,"↙","\\swarrow",!0),we(Ae,He,Ht,"↽","\\leftharpoondown",!0),we(Ae,He,Ht,"⇁","\\rightharpoondown",!0),we(Ae,He,Ht,"↖","\\nwarrow",!0),we(Ae,He,Ht,"⇌","\\rightleftharpoons",!0),we(Ae,jt,Ht,"≮","\\nless",!0),we(Ae,jt,Ht,"","\\@nleqslant"),we(Ae,jt,Ht,"","\\@nleqq"),we(Ae,jt,Ht,"⪇","\\lneq",!0),we(Ae,jt,Ht,"≨","\\lneqq",!0),we(Ae,jt,Ht,"","\\@lvertneqq"),we(Ae,jt,Ht,"⋦","\\lnsim",!0),we(Ae,jt,Ht,"⪉","\\lnapprox",!0),we(Ae,jt,Ht,"⊀","\\nprec",!0),we(Ae,jt,Ht,"⋠","\\npreceq",!0),we(Ae,jt,Ht,"⋨","\\precnsim",!0),we(Ae,jt,Ht,"⪹","\\precnapprox",!0),we(Ae,jt,Ht,"≁","\\nsim",!0),we(Ae,jt,Ht,"","\\@nshortmid"),we(Ae,jt,Ht,"∤","\\nmid",!0),we(Ae,jt,Ht,"⊬","\\nvdash",!0),we(Ae,jt,Ht,"⊭","\\nvDash",!0),we(Ae,jt,Ht,"⋪","\\ntriangleleft"),we(Ae,jt,Ht,"⋬","\\ntrianglelefteq",!0),we(Ae,jt,Ht,"⊊","\\subsetneq",!0),we(Ae,jt,Ht,"","\\@varsubsetneq"),we(Ae,jt,Ht,"⫋","\\subsetneqq",!0),we(Ae,jt,Ht,"","\\@varsubsetneqq"),we(Ae,jt,Ht,"≯","\\ngtr",!0),we(Ae,jt,Ht,"","\\@ngeqslant"),we(Ae,jt,Ht,"","\\@ngeqq"),we(Ae,jt,Ht,"⪈","\\gneq",!0),we(Ae,jt,Ht,"≩","\\gneqq",!0),we(Ae,jt,Ht,"","\\@gvertneqq"),we(Ae,jt,Ht,"⋧","\\gnsim",!0),we(Ae,jt,Ht,"⪊","\\gnapprox",!0),we(Ae,jt,Ht,"⊁","\\nsucc",!0),we(Ae,jt,Ht,"⋡","\\nsucceq",!0),we(Ae,jt,Ht,"⋩","\\succnsim",!0),we(Ae,jt,Ht,"⪺","\\succnapprox",!0),we(Ae,jt,Ht,"≆","\\ncong",!0),we(Ae,jt,Ht,"","\\@nshortparallel"),we(Ae,jt,Ht,"∦","\\nparallel",!0),we(Ae,jt,Ht,"⊯","\\nVDash",!0),we(Ae,jt,Ht,"⋫","\\ntriangleright"),we(Ae,jt,Ht,"⋭","\\ntrianglerighteq",!0),we(Ae,jt,Ht,"","\\@nsupseteqq"),we(Ae,jt,Ht,"⊋","\\supsetneq",!0),we(Ae,jt,Ht,"","\\@varsupsetneq"),we(Ae,jt,Ht,"⫌","\\supsetneqq",!0),we(Ae,jt,Ht,"","\\@varsupsetneqq"),we(Ae,jt,Ht,"⊮","\\nVdash",!0),we(Ae,jt,Ht,"⪵","\\precneqq",!0),we(Ae,jt,Ht,"⪶","\\succneqq",!0),we(Ae,jt,Ht,"","\\@nsubseteqq"),we(Ae,jt,ls,"⊴","\\unlhd"),we(Ae,jt,ls,"⊵","\\unrhd"),we(Ae,jt,Ht,"↚","\\nleftarrow",!0),we(Ae,jt,Ht,"↛","\\nrightarrow",!0),we(Ae,jt,Ht,"⇍","\\nLeftarrow",!0),we(Ae,jt,Ht,"⇏","\\nRightarrow",!0),we(Ae,jt,Ht,"↮","\\nleftrightarrow",!0),we(Ae,jt,Ht,"⇎","\\nLeftrightarrow",!0),we(Ae,jt,Ht,"△","\\vartriangle"),we(Ae,jt,bn,"ℏ","\\hslash"),we(Ae,jt,bn,"▽","\\triangledown"),we(Ae,jt,bn,"◊","\\lozenge"),we(Ae,jt,bn,"Ⓢ","\\circledS"),we(Ae,jt,bn,"®","\\circledR"),we(ti,jt,bn,"®","\\circledR"),we(Ae,jt,bn,"∡","\\measuredangle",!0),we(Ae,jt,bn,"∄","\\nexists"),we(Ae,jt,bn,"℧","\\mho"),we(Ae,jt,bn,"Ⅎ","\\Finv",!0),we(Ae,jt,bn,"⅁","\\Game",!0),we(Ae,jt,bn,"","\\backprime"),we(Ae,jt,bn,"▲","\\blacktriangle"),we(Ae,jt,bn,"▼","\\blacktriangledown"),we(Ae,jt,bn,"■","\\blacksquare"),we(Ae,jt,bn,"⧫","\\blacklozenge"),we(Ae,jt,bn,"★","\\bigstar"),we(Ae,jt,bn,"∢","\\sphericalangle",!0),we(Ae,jt,bn,"∁","\\complement",!0),we(Ae,jt,bn,"ð","\\eth",!0),we(ti,He,bn,"ð","ð"),we(Ae,jt,bn,"","\\diagup"),we(Ae,jt,bn,"╲","\\diagdown"),we(Ae,jt,bn,"□","\\square"),we(Ae,jt,bn,"□","\\Box"),we(Ae,jt,bn,"◊","\\Diamond"),we(Ae,jt,bn,"¥","\\yen",!0),we(ti,jt,bn,"¥","\\yen",!0),we(Ae,jt,bn,"✓","\\checkmark",!0),we(ti,jt,bn,"✓","\\checkmark"),we(Ae,jt,bn,"ℶ","\\beth",!0),we(Ae,jt,bn,"ℸ","\\daleth",!0),we(Ae,jt,bn,"ℷ","\\gimel",!0),we(Ae,jt,bn,"ϝ","\\digamma",!0),we(Ae,jt,bn,"ϰ","\\varkappa"),we(Ae,jt,vm,"┌","\\@ulcorner",!0),we(Ae,jt,Bp,"┐","\\@urcorner",!0),we(Ae,jt,vm,"└","\\@llcorner",!0),we(Ae,jt,Bp,"┘","\\@lrcorner",!0),we(Ae,jt,Ht,"≦","\\leqq",!0),we(Ae,jt,Ht,"⩽","\\leqslant",!0),we(Ae,jt,Ht,"⪕","\\eqslantless",!0),we(Ae,jt,Ht,"≲","\\lesssim",!0),we(Ae,jt,Ht,"⪅","\\lessapprox",!0),we(Ae,jt,Ht,"≊","\\approxeq",!0),we(Ae,jt,ls,"⋖","\\lessdot"),we(Ae,jt,Ht,"⋘","\\lll",!0),we(Ae,jt,Ht,"≶","\\lessgtr",!0),we(Ae,jt,Ht,"⋚","\\lesseqgtr",!0),we(Ae,jt,Ht,"⪋","\\lesseqqgtr",!0),we(Ae,jt,Ht,"≑","\\doteqdot"),we(Ae,jt,Ht,"≓","\\risingdotseq",!0),we(Ae,jt,Ht,"≒","\\fallingdotseq",!0),we(Ae,jt,Ht,"∽","\\backsim",!0),we(Ae,jt,Ht,"⋍","\\backsimeq",!0),we(Ae,jt,Ht,"⫅","\\subseteqq",!0),we(Ae,jt,Ht,"⋐","\\Subset",!0),we(Ae,jt,Ht,"⊏","\\sqsubset",!0),we(Ae,jt,Ht,"≼","\\preccurlyeq",!0),we(Ae,jt,Ht,"⋞","\\curlyeqprec",!0),we(Ae,jt,Ht,"≾","\\precsim",!0),we(Ae,jt,Ht,"⪷","\\precapprox",!0),we(Ae,jt,Ht,"⊲","\\vartriangleleft"),we(Ae,jt,Ht,"⊴","\\trianglelefteq"),we(Ae,jt,Ht,"⊨","\\vDash",!0),we(Ae,jt,Ht,"⊪","\\Vvdash",!0),we(Ae,jt,Ht,"⌣","\\smallsmile"),we(Ae,jt,Ht,"⌢","\\smallfrown"),we(Ae,jt,Ht,"≏","\\bumpeq",!0),we(Ae,jt,Ht,"≎","\\Bumpeq",!0),we(Ae,jt,Ht,"≧","\\geqq",!0),we(Ae,jt,Ht,"⩾","\\geqslant",!0),we(Ae,jt,Ht,"⪖","\\eqslantgtr",!0),we(Ae,jt,Ht,"≳","\\gtrsim",!0),we(Ae,jt,Ht,"⪆","\\gtrapprox",!0),we(Ae,jt,ls,"⋗","\\gtrdot"),we(Ae,jt,Ht,"⋙","\\ggg",!0),we(Ae,jt,Ht,"≷","\\gtrless",!0),we(Ae,jt,Ht,"⋛","\\gtreqless",!0),we(Ae,jt,Ht,"⪌","\\gtreqqless",!0),we(Ae,jt,Ht,"≖","\\eqcirc",!0),we(Ae,jt,Ht,"≗","\\circeq",!0),we(Ae,jt,Ht,"≜","\\triangleq",!0),we(Ae,jt,Ht,"","\\thicksim"),we(Ae,jt,Ht,"≈","\\thickapprox"),we(Ae,jt,Ht,"⫆","\\supseteqq",!0),we(Ae,jt,Ht,"⋑","\\Supset",!0),we(Ae,jt,Ht,"⊐","\\sqsupset",!0),we(Ae,jt,Ht,"≽","\\succcurlyeq",!0),we(Ae,jt,Ht,"⋟","\\curlyeqsucc",!0),we(Ae,jt,Ht,"≿","\\succsim",!0),we(Ae,jt,Ht,"⪸","\\succapprox",!0),we(Ae,jt,Ht,"⊳","\\vartriangleright"),we(Ae,jt,Ht,"⊵","\\trianglerighteq"),we(Ae,jt,Ht,"⊩","\\Vdash",!0),we(Ae,jt,Ht,"","\\shortmid"),we(Ae,jt,Ht,"∥","\\shortparallel"),we(Ae,jt,Ht,"≬","\\between",!0),we(Ae,jt,Ht,"⋔","\\pitchfork",!0),we(Ae,jt,Ht,"∝","\\varpropto"),we(Ae,jt,Ht,"◀","\\blacktriangleleft"),we(Ae,jt,Ht,"∴","\\therefore",!0),we(Ae,jt,Ht,"∍","\\backepsilon"),we(Ae,jt,Ht,"▶","\\blacktriangleright"),we(Ae,jt,Ht,"∵","\\because",!0),we(Ae,jt,Ht,"⋘","\\llless"),we(Ae,jt,Ht,"⋙","\\gggtr"),we(Ae,jt,ls,"⊲","\\lhd"),we(Ae,jt,ls,"⊳","\\rhd"),we(Ae,jt,Ht,"≂","\\eqsim",!0),we(Ae,He,Ht,"⋈","\\Join"),we(Ae,jt,Ht,"≑","\\Doteq",!0),we(Ae,jt,ls,"∔","\\dotplus",!0),we(Ae,jt,ls,"","\\smallsetminus"),we(Ae,jt,ls,"⋒","\\Cap",!0),we(Ae,jt,ls,"⋓","\\Cup",!0),we(Ae,jt,ls,"⩞","\\doublebarwedge",!0),we(Ae,jt,ls,"⊟","\\boxminus",!0),we(Ae,jt,ls,"⊞","\\boxplus",!0),we(Ae,jt,ls,"⋇","\\divideontimes",!0),we(Ae,jt,ls,"⋉","\\ltimes",!0),we(Ae,jt,ls,"⋊","\\rtimes",!0),we(Ae,jt,ls,"⋋","\\leftthreetimes",!0),we(Ae,jt,ls,"⋌","\\rightthreetimes",!0),we(Ae,jt,ls,"⋏","\\curlywedge",!0),we(Ae,jt,ls,"⋎","\\curlyvee",!0),we(Ae,jt,ls,"⊝","\\circleddash",!0),we(Ae,jt,ls,"⊛","\\circledast",!0),we(Ae,jt,ls,"⋅","\\centerdot"),we(Ae,jt,ls,"⊺","\\intercal",!0),we(Ae,jt,ls,"⋒","\\doublecap"),we(Ae,jt,ls,"⋓","\\doublecup"),we(Ae,jt,ls,"⊠","\\boxtimes",!0),we(Ae,jt,Ht,"⇢","\\dashrightarrow",!0),we(Ae,jt,Ht,"⇠","\\dashleftarrow",!0),we(Ae,jt,Ht,"⇇","\\leftleftarrows",!0),we(Ae,jt,Ht,"⇆","\\leftrightarrows",!0),we(Ae,jt,Ht,"⇚","\\Lleftarrow",!0),we(Ae,jt,Ht,"↞","\\twoheadleftarrow",!0),we(Ae,jt,Ht,"↢","\\leftarrowtail",!0),we(Ae,jt,Ht,"↫","\\looparrowleft",!0),we(Ae,jt,Ht,"⇋","\\leftrightharpoons",!0),we(Ae,jt,Ht,"↶","\\curvearrowleft",!0),we(Ae,jt,Ht,"↺","\\circlearrowleft",!0),we(Ae,jt,Ht,"↰","\\Lsh",!0),we(Ae,jt,Ht,"⇈","\\upuparrows",!0),we(Ae,jt,Ht,"↿","\\upharpoonleft",!0),we(Ae,jt,Ht,"⇃","\\downharpoonleft",!0),we(Ae,He,Ht,"⊶","\\origof",!0),we(Ae,He,Ht,"⊷","\\imageof",!0),we(Ae,jt,Ht,"⊸","\\multimap",!0),we(Ae,jt,Ht,"↭","\\leftrightsquigarrow",!0),we(Ae,jt,Ht,"⇉","\\rightrightarrows",!0),we(Ae,jt,Ht,"⇄","\\rightleftarrows",!0),we(Ae,jt,Ht,"↠","\\twoheadrightarrow",!0),we(Ae,jt,Ht,"↣","\\rightarrowtail",!0),we(Ae,jt,Ht,"↬","\\looparrowright",!0),we(Ae,jt,Ht,"↷","\\curvearrowright",!0),we(Ae,jt,Ht,"↻","\\circlearrowright",!0),we(Ae,jt,Ht,"↱","\\Rsh",!0),we(Ae,jt,Ht,"⇊","\\downdownarrows",!0),we(Ae,jt,Ht,"↾","\\upharpoonright",!0),we(Ae,jt,Ht,"⇂","\\downharpoonright",!0),we(Ae,jt,Ht,"⇝","\\rightsquigarrow",!0),we(Ae,jt,Ht,"⇝","\\leadsto"),we(Ae,jt,Ht,"⇛","\\Rrightarrow",!0),we(Ae,jt,Ht,"↾","\\restriction"),we(Ae,He,bn,"","`"),we(Ae,He,bn,"$","\\$"),we(ti,He,bn,"$","\\$"),we(ti,He,bn,"$","\\textdollar"),we(Ae,He,bn,"%","\\%"),we(ti,He,bn,"%","\\%"),we(Ae,He,bn,"_","\\_"),we(ti,He,bn,"_","\\_"),we(ti,He,bn,"_","\\textunderscore"),we(Ae,He,bn,"∠","\\angle",!0),we(Ae,He,bn,"∞","\\infty",!0),we(Ae,He,bn,"","\\prime"),we(Ae,He,bn,"△","\\triangle"),we(Ae,He,bn,"Γ","\\Gamma",!0),we(Ae,He,bn,"Δ","\\Delta",!0),we(Ae,He,bn,"Θ","\\Theta",!0),we(Ae,He,bn,"Λ","\\Lambda",!0),we(Ae,He,bn,"Ξ","\\Xi",!0),we(Ae,He,bn,"Π","\\Pi",!0),we(Ae,He,bn,"Σ","\\Sigma",!0),we(Ae,He,bn,"Υ","\\Upsilon",!0),we(Ae,He,bn,"Φ","\\Phi",!0),we(Ae,He,bn,"Ψ","\\Psi",!0),we(Ae,He,bn,"Ω","\\Omega",!0),we(Ae,He,bn,"A","Α"),we(Ae,He,bn,"B","Β"),we(Ae,He,bn,"E","Ε"),we(Ae,He,bn,"Z","Ζ"),we(Ae,He,bn,"H","Η"),we(Ae,He,bn,"I","Ι"),we(Ae,He,bn,"K","Κ"),we(Ae,He,bn,"M","Μ"),we(Ae,He,bn,"N","Ν"),we(Ae,He,bn,"O","Ο"),we(Ae,He,bn,"P","Ρ"),we(Ae,He,bn,"T","Τ"),we(Ae,He,bn,"X","Χ"),we(Ae,He,bn,"¬","\\neg",!0),we(Ae,He,bn,"¬","\\lnot"),we(Ae,He,bn,"","\\top"),we(Ae,He,bn,"⊥","\\bot"),we(Ae,He,bn,"∅","\\emptyset"),we(Ae,jt,bn,"∅","\\varnothing"),we(Ae,He,Sa,"α","\\alpha",!0),we(Ae,He,Sa,"β","\\beta",!0),we(Ae,He,Sa,"γ","\\gamma",!0),we(Ae,He,Sa,"δ","\\delta",!0),we(Ae,He,Sa,"ϵ","\\epsilon",!0),we(Ae,He,Sa,"ζ","\\zeta",!0),we(Ae,He,Sa,"η","\\eta",!0),we(Ae,He,Sa,"θ","\\theta",!0),we(Ae,He,Sa,"ι","\\iota",!0),we(Ae,He,Sa,"κ","\\kappa",!0),we(Ae,He,Sa,"λ","\\lambda",!0),we(Ae,He,Sa,"μ","\\mu",!0),we(Ae,He,Sa,"ν","\\nu",!0),we(Ae,He,Sa,"ξ","\\xi",!0),we(Ae,He,Sa,"ο","\\omicron",!0),we(Ae,He,Sa,"π","\\pi",!0),we(Ae,He,Sa,"ρ","\\rho",!0),we(Ae,He,Sa,"σ","\\sigma",!0),we(Ae,He,Sa,"τ","\\tau",!0),we(Ae,He,Sa,"υ","\\upsilon",!0),we(Ae,He,Sa,"ϕ","\\phi",!0),we(Ae,He,Sa,"χ","\\chi",!0),we(Ae,He,Sa,"ψ","\\psi",!0),we(Ae,He,Sa,"ω","\\omega",!0),we(Ae,He,Sa,"ε","\\varepsilon",!0),we(Ae,He,Sa,"ϑ","\\vartheta",!0),we(Ae,He,Sa,"ϖ","\\varpi",!0),we(Ae,He,Sa,"ϱ","\\varrho",!0),we(Ae,He,Sa,"ς","\\varsigma",!0),we(Ae,He,Sa,"φ","\\varphi",!0),we(Ae,He,ls,"","*",!0),we(Ae,He,ls,"+","+"),we(Ae,He,ls,"","-",!0),we(Ae,He,ls,"⋅","\\cdot",!0),we(Ae,He,ls,"∘","\\circ",!0),we(Ae,He,ls,"÷","\\div",!0),we(Ae,He,ls,"±","\\pm",!0),we(Ae,He,ls,"×","\\times",!0),we(Ae,He,ls,"∩","\\cap",!0),we(Ae,He,ls,"","\\cup",!0),we(Ae,He,ls,"","\\setminus",!0),we(Ae,He,ls,"∧","\\land"),we(Ae,He,ls,"","\\lor"),we(Ae,He,ls,"∧","\\wedge",!0),we(Ae,He,ls,"","\\vee",!0),we(Ae,He,bn,"√","\\surd"),we(Ae,He,vm,"⟨","\\langle",!0),we(Ae,He,vm,"","\\lvert"),we(Ae,He,vm,"∥","\\lVert"),we(Ae,He,Bp,"?","?"),we(Ae,He,Bp,"!","!"),we(Ae,He,Bp,"⟩","\\rangle",!0),we(Ae,He,Bp,"","\\rvert"),we(Ae,He,Bp,"∥","\\rVert"),we(Ae,He,Ht,"=","="),we(Ae,He,Ht,":",":"),we(Ae,He,Ht,"≈","\\approx",!0),we(Ae,He,Ht,"≅","\\cong",!0),we(Ae,He,Ht,"≥","\\ge"),we(Ae,He,Ht,"≥","\\geq",!0),we(Ae,He,Ht,"←","\\gets"),we(Ae,He,Ht,">","\\gt",!0),we(Ae,He,Ht,"∈","\\in",!0),we(Ae,He,Ht,"","\\@not"),we(Ae,He,Ht,"⊂","\\subset",!0),we(Ae,He,Ht,"⊃","\\supset",!0),we(Ae,He,Ht,"⊆","\\subseteq",!0),we(Ae,He,Ht,"⊇","\\supseteq",!0),we(Ae,jt,Ht,"⊈","\\nsubseteq",!0),we(Ae,jt,Ht,"⊉","\\nsupseteq",!0),we(Ae,He,Ht,"⊨","\\models"),we(Ae,He,Ht,"←","\\leftarrow",!0),we(Ae,He,Ht,"≤","\\le"),we(Ae,He,Ht,"≤","\\leq",!0),we(Ae,He,Ht,"<","\\lt",!0),we(Ae,He,Ht,"→","\\rightarrow",!0),we(Ae,He,Ht,"→","\\to"),we(Ae,jt,Ht,"≱","\\ngeq",!0),we(Ae,jt,Ht,"≰","\\nleq",!0),we(Ae,He,N7," ","\\ "),we(Ae,He,N7," ","\\space"),we(Ae,He,N7," ","\\nobreakspace"),we(ti,He,N7," ","\\ "),we(ti,He,N7," "," "),we(ti,He,N7," ","\\space"),we(ti,He,N7," ","\\nobreakspace"),we(Ae,He,N7,null,"\\nobreak"),we(Ae,He,N7,null,"\\allowbreak"),we(Ae,He,mR,",",","),we(Ae,He,mR,";",";"),we(Ae,jt,ls,"⊼","\\barwedge",!0),we(Ae,jt,ls,"⊻","\\veebar",!0),we(Ae,He,ls,"⊙","\\odot",!0),we(Ae,He,ls,"⊕","\\oplus",!0),we(Ae,He,ls,"⊗","\\otimes",!0),we(Ae,He,bn,"∂","\\partial",!0),we(Ae,He,ls,"⊘","\\oslash",!0),we(Ae,jt,ls,"⊚","\\circledcirc",!0),we(Ae,jt,ls,"⊡","\\boxdot",!0),we(Ae,He,ls,"△","\\bigtriangleup"),we(Ae,He,ls,"▽","\\bigtriangledown"),we(Ae,He,ls,"†","\\dagger"),we(Ae,He,ls,"⋄","\\diamond"),we(Ae,He,ls,"⋆","\\star"),we(Ae,He,ls,"◃","\\triangleleft"),we(Ae,He,ls,"▹","\\triangleright"),we(Ae,He,vm,"{","\\{"),we(ti,He,bn,"{","\\{"),we(ti,He,bn,"{","\\textbraceleft"),we(Ae,He,Bp,"}","\\}"),we(ti,He,bn,"}","\\}"),we(ti,He,bn,"}","\\textbraceright"),we(Ae,He,vm,"{","\\lbrace"),we(Ae,He,Bp,"}","\\rbrace"),we(Ae,He,vm,"[","\\lbrack",!0),we(ti,He,bn,"[","\\lbrack",!0),we(Ae,He,Bp,"]","\\rbrack",!0),we(ti,He,bn,"]","\\rbrack",!0),we(Ae,He,vm,"(","\\lparen",!0),we(Ae,He,Bp,")","\\rparen",!0),we(ti,He,bn,"<","\\textless",!0),we(ti,He,bn,">","\\textgreater",!0),we(Ae,He,vm,"⌊","\\lfloor",!0),we(Ae,He,Bp,"⌋","\\rfloor",!0),we(Ae,He,vm,"⌈","\\lceil",!0),we(Ae,He,Bp,"⌉","\\rceil",!0),we(Ae,He,bn,"\\","\\backslash"),we(Ae,He,bn,"","|"),we(Ae,He,bn,"","\\vert"),we(ti,He,bn,"|","\\textbar",!0),we(Ae,He,bn,"∥","\\|"),we(Ae,He,bn,"∥","\\Vert"),we(ti,He,bn,"∥","\\textbardbl"),we(ti,He,bn,"~","\\textasciitilde"),we(ti,He,bn,"\\","\\textbackslash"),we(ti,He,bn,"^","\\textasciicircum"),we(Ae,He,Ht,"↑","\\uparrow",!0),we(Ae,He,Ht,"⇑","\\Uparrow",!0),we(Ae,He,Ht,"↓","\\downarrow",!0),we(Ae,He,Ht,"⇓","\\Downarrow",!0),we(Ae,He,Ht,"↕","\\updownarrow",!0),we(Ae,He,Ht,"⇕","\\Updownarrow",!0),we(Ae,He,N0,"∐","\\coprod"),we(Ae,He,N0,"","\\bigvee"),we(Ae,He,N0,"⋀","\\bigwedge"),we(Ae,He,N0,"⨄","\\biguplus"),we(Ae,He,N0,"⋂","\\bigcap"),we(Ae,He,N0,"","\\bigcup"),we(Ae,He,N0,"∫","\\int"),we(Ae,He,N0,"∫","\\intop"),we(Ae,He,N0,"∬","\\iint"),we(Ae,He,N0,"∭","\\iiint"),we(Ae,He,N0,"∏","\\prod"),we(Ae,He,N0,"∑","\\sum"),we(Ae,He,N0,"⨂","\\bigotimes"),we(Ae,He,N0,"⨁","\\bigoplus"),we(Ae,He,N0,"⨀","\\bigodot"),we(Ae,He,N0,"∮","\\oint"),we(Ae,He,N0,"∯","\\oiint"),we(Ae,He,N0,"∰","\\oiiint"),we(Ae,He,N0,"⨆","\\bigsqcup"),we(Ae,He,N0,"∫","\\smallint"),we(ti,He,$D,"…","\\textellipsis"),we(Ae,He,$D,"…","\\mathellipsis"),we(ti,He,$D,"…","\\ldots",!0),we(Ae,He,$D,"…","\\ldots",!0),we(Ae,He,$D,"⋯","\\@cdots",!0),we(Ae,He,$D,"⋱","\\ddots",!0),we(Ae,He,bn,"⋮","\\varvdots"),we(ti,He,bn,"⋮","\\varvdots"),we(Ae,He,wh,"ˊ","\\acute"),we(Ae,He,wh,"ˋ","\\grave"),we(Ae,He,wh,"¨","\\ddot"),we(Ae,He,wh,"~","\\tilde"),we(Ae,He,wh,"ˉ","\\bar"),we(Ae,He,wh,"˘","\\breve"),we(Ae,He,wh,"ˇ","\\check"),we(Ae,He,wh,"^","\\hat"),we(Ae,He,wh,"⃗","\\vec"),we(Ae,He,wh,"˙","\\dot"),we(Ae,He,wh,"˚","\\mathring"),we(Ae,He,Sa,"","\\@imath"),we(Ae,He,Sa,"","\\@jmath"),we(Ae,He,bn,"ı","ı"),we(Ae,He,bn,"ȷ","ȷ"),we(ti,He,bn,"ı","\\i",!0),we(ti,He,bn,"ȷ","\\j",!0),we(ti,He,bn,"ß","\\ss",!0),we(ti,He,bn,"æ","\\ae",!0),we(ti,He,bn,"œ","\\oe",!0),we(ti,He,bn,"ø","\\o",!0),we(ti,He,bn,"Æ","\\AE",!0),we(ti,He,bn,"Œ","\\OE",!0),we(ti,He,bn,"Ø","\\O",!0),we(ti,He,wh,"ˊ","\\'"),we(ti,He,wh,"ˋ","\\`"),we(ti,He,wh,"ˆ","\\^"),we(ti,He,wh,"˜","\\~"),we(ti,He,wh,"ˉ","\\="),we(ti,He,wh,"˘","\\u"),we(ti,He,wh,"˙","\\."),we(ti,He,wh,"¸","\\c"),we(ti,He,wh,"˚","\\r"),we(ti,He,wh,"ˇ","\\v"),we(ti,He,wh,"¨",'\\"'),we(ti,He,wh,"˝","\\H"),we(ti,He,wh,"◯","\\textcircled");var Cze={"--":!0,"---":!0,"``":!0,"''":!0};we(ti,He,bn,"","--",!0),we(ti,He,bn,"","\\textendash"),we(ti,He,bn,"—","---",!0),we(ti,He,bn,"—","\\textemdash"),we(ti,He,bn,"","`",!0),we(ti,He,bn,"","\\textquoteleft"),we(ti,He,bn,"","'",!0),we(ti,He,bn,"","\\textquoteright"),we(ti,He,bn,"“","``",!0),we(ti,He,bn,"“","\\textquotedblleft"),we(ti,He,bn,"”","''",!0),we(ti,He,bn,"”","\\textquotedblright"),we(Ae,He,bn,"°","\\degree",!0),we(ti,He,bn,"°","\\degree"),we(ti,He,bn,"°","\\textdegree",!0),we(Ae,He,bn,"£","\\pounds"),we(Ae,He,bn,"£","\\mathsterling",!0),we(ti,He,bn,"£","\\pounds"),we(ti,He,bn,"£","\\textsterling",!0),we(Ae,jt,bn,"✠","\\maltese"),we(ti,jt,bn,"✠","\\maltese");for(var Sze='0123456789/@."',wbe=0;wbe<Sze.length;wbe++){var _ze=Sze.charAt(wbe);we(Ae,He,bn,_ze,_ze)}for(var Aze='0123456789!@*()-=+";:?/.,',ybe=0;ybe<Aze.length;ybe++){var Lze=Aze.charAt(ybe);we(ti,He,bn,Lze,Lze)}for(var gQ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",xbe=0;xbe<gQ.length;xbe++){var pQ=gQ.charAt(xbe);we(Ae,He,Sa,pQ,pQ),we(ti,He,bn,pQ,pQ)}we(Ae,jt,bn,"C",""),we(ti,jt,bn,"C",""),we(Ae,jt,bn,"H",""),we(ti,jt,bn,"H",""),we(Ae,jt,bn,"N",""),we(ti,jt,bn,"N",""),we(Ae,jt,bn,"P",""),we(ti,jt,bn,"P",""),we(Ae,jt,bn,"Q",""),we(ti,jt,bn,"Q",""),we(Ae,jt,bn,"R",""),we(ti,jt,bn,"R",""),we(Ae,jt,bn,"Z",""),we(ti,jt,bn,"Z",""),we(Ae,He,Sa,"h",""),we(ti,He,Sa,"h","");for(var Wa="",Fp=0;Fp<gQ.length;Fp++){var Tf=gQ.charAt(Fp);Wa=String.fromCharCode(55349,56320+Fp),we(Ae,He,Sa,Tf,Wa),we(ti,He,bn,Tf,Wa),Wa=String.fromCharCode(55349,56372+Fp),we(Ae,He,Sa,Tf,Wa),we(ti,He,bn,Tf,Wa),Wa=String.fromCharCode(55349,56424+Fp),we(Ae,He,Sa,Tf,Wa),we(ti,He,bn,Tf,Wa),Wa=String.fromCharCode(55349,56580+Fp),we(Ae,He,Sa,Tf,Wa),we(ti,He,bn,Tf,Wa),Wa=String.fromCharCode(55349,56684+Fp),we(Ae,He,Sa,Tf,Wa),we(ti,He,bn,Tf,Wa),Wa=String.fromCharCode(55349,56736+Fp),we(Ae,He,Sa,Tf,Wa),we(ti,He,bn,Tf,Wa),Wa=String.fromCharCode(55349,56788+Fp),we(Ae,He,Sa,Tf,Wa),we(ti,He,bn,Tf,Wa),Wa=String.fromCharCode(55349,56840+Fp),we(Ae,He,Sa,Tf,Wa),we(ti,He,bn,Tf,Wa),Wa=String.fromCharCode(55349,56944+Fp),we(Ae,He,Sa,Tf,Wa),we(ti,He,bn,Tf,Wa),Fp<26&&(Wa=String.fromCharCode(55349,56632+Fp),we(Ae,He,Sa,Tf,Wa),we(ti,He,bn,Tf,Wa),Wa=String.fromCharCode(55349,56476+Fp),we(Ae,He,Sa,Tf,Wa),we(ti,He,bn,Tf,Wa))}Wa=String.fromCharCode(55349,56668),we(Ae,He,Sa,"k",Wa),we(ti,He,bn,"k",Wa);for(var $C=0;$C<10;$C++){var _9=$C.toString();Wa=String.fromCharCode(55349,57294+$C),we(Ae,He,Sa,_9,Wa),we(ti,He,bn,_9,Wa),Wa=String.fromCharCode(55349,57314+$C),we(Ae,He,Sa,_9,Wa),we(ti,He,bn,_9,Wa),Wa=String.fromCharCode(55349,57324+$C),we(Ae,He,Sa,_9,Wa),we(ti,He,bn,_9,Wa),Wa=String.fromCharCode(55349,57334+$C),we(Ae,He,Sa,_9,Wa),we(ti,He,bn,_9,Wa)}for(var kbe="ÐÞþ",Tbe=0;Tbe<kbe.length;Tbe++){var bQ=kbe.charAt(Tbe);we(Ae,He,Sa,bQ,bQ),we(ti,He,bn,bQ,bQ)}var mQ=[["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"]],Mze=[["mathbf","textbf","Main-Bold"],["","",""],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathtt","texttt","Typewriter-Regular"]],KHt=(i,a)=>{var u=i.charCodeAt(0),d=i.charCodeAt(1),p=(u-55296)*1024+(d-56320)+65536,v=a==="math"?0:1;if(119808<=p&&p<120484){var b=Math.floor((p-119808)/26);return[mQ[b][2],mQ[b][v]]}else if(120782<=p&&p<=120831){var y=Math.floor((p-120782)/10);return[Mze[y][2],Mze[y][v]]}else{if(p===120485||p===120486)return[mQ[0][2],mQ[0][v]];if(120486<p&&p<120782)return["",""];throw new ki("Unsupported character: "+i)}},vQ=function(a,u,d){if(vh[d][a]){var p=vh[d][a].replace;p&&(a=p)}return{value:a,metrics:mbe(a,u,d)}},Rp=function(a,u,d,p,v){var b=vQ(a,u,d),y=b.metrics;a=b.value;var E;if(y){var _=y.italic;(d==="text"||p&&p.font==="mathit")&&(_=0),E=new mm(a,y.height,y.depth,_,y.skew,y.width,v)}else typeof console<"u"&&console.warn("No character metrics "+("for '"+a+"' in style '"+u+"' and mode '"+d+"'")),E=new mm(a,0,0,0,0,0,v);if(p){E.maxFontSize=p.sizeMultiplier,p.style.isTight()&&E.classes.push("mtight");var A=p.getColor();A&&(E.style.color=A)}return E},Ebe=function(a,u,d,p){return p===void 0&&(p=[]),d.font==="boldsymbol"&&vQ(a,"Main-Bold",u).metrics?Rp(a,"Main-Bold",u,d,p.concat(["mathbf"])):a==="\\"||vh[u][a].font==="main"?Rp(a,"Main-Regular",u,d,p):Rp(a,"AMS-Regular",u,d,p.concat(["amsrm"]))},WHt=function(a,u,d,p,v){return v!=="textord"&&vQ(a,"Math-BoldItalic",u).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}},wQ=function(a,u,d){var p=a.mode,v=a.text,b=["mord"],y=p==="math"||p==="text"&&u.font,E=y?u.font:u.fontFamily,_="",A="";if(v.charCodeAt(0)===55349&&([_,A]=KHt(v,p)),_.length>0)return Rp(v,_,p,u,b.concat(A));if(E){var P,R;if(E==="boldsymbol"){var B=WHt(v,p,u,b,d);P=B.fontName,R=[B.fontClass]}else y?(P=Sbe[E].fontName,R=[E]):(P=yQ(E,u.fontWeight,u.fontShape),R=[E,u.fontWeight,u.fontShape]);if(vQ(v,P,p).metrics)return Rp(v,P,p,u,b.concat(R));if(Cze.hasOwnProperty(v)&&P.slice(0,10)==="Typewriter"){for(var j=[],W=0;W<v.length;W++)j.push(Rp(v[W],P,p,u,b.concat(R)));return P7(j)}}if(d==="mathord")return Rp(v,"Math-Italic",p,u,b.concat(["mathnormal"]));if(d==="textord"){var ee=vh[p][v]&&vh[p][v].font;if(ee==="ams"){var ie=yQ("amsrm",u.fontWeight,u.fontShape);return Rp(v,ie,p,u,b.concat("amsrm",u.fontWeight,u.fontShape))}else if(ee==="main"||!ee){var oe=yQ("textrm",u.fontWeight,u.fontShape);return Rp(v,oe,p,u,b.concat(u.fontWeight,u.fontShape))}else{var be=yQ(ee,u.fontWeight,u.fontShape);return Rp(v,be,p,u,b.concat(be,u.fontWeight,u.fontShape))}}else throw new Error("unexpected type: "+d+" in makeOrd")},YHt=(i,a)=>{if(C9(i.classes)!==C9(a.classes)||i.skew!==a.skew||i.maxFontSize!==a.maxFontSize||i.italic!==0&&i.hasClass("mathnormal"))return!1;if(i.classes.length===1){var u=i.classes[0];if(u==="mbin"||u==="mord")return!1}for(var d of Object.keys(i.style))if(i.style[d]!==a.style[d])return!1;for(var p of Object.keys(a.style))if(i.style[p]!==a.style[p])return!1;return!0},Dze=i=>{for(var a=0;a<i.length-1;a++){var u=i[a],d=i[a+1];u instanceof mm&&d instanceof mm&&YHt(u,d)&&(u.text+=d.text,u.height=Math.max(u.height,d.height),u.depth=Math.max(u.depth,d.depth),u.italic=d.italic,i.splice(a+1,1),a--)}return i},Cbe=function(a){for(var u=0,d=0,p=0,v=0;v<a.children.length;v++){var b=a.children[v];b.height>u&&(u=b.height),b.depth>d&&(d=b.depth),b.maxFontSize>p&&(p=b.maxFontSize)}a.height=u,a.depth=d,a.maxFontSize=p},di=function(a,u,d,p){var v=new jD(a,u,d,p);return Cbe(v),v},A9=(i,a,u,d)=>new jD(i,a,u,d),zD=function(a,u,d){var p=di([a],[],u);return p.height=Math.max(d||u.fontMetrics().defaultRuleThickness,u.minRuleThickness),p.style.borderBottomWidth=Oi(p.height),p.maxFontSize=1,p},XHt=function(a,u,d,p){var v=new fQ(a,u,d,p);return Cbe(v),v},P7=function(a){var u=new RD(a);return Cbe(u),u},qD=function(a,u){return a instanceof RD?di([],[a],u):a},QHt=function(a){if(a.positionType==="individualShift"){for(var u=a.children,d=[u[0]],p=-u[0].shift-u[0].elem.depth,v=p,b=1;b<u.length;b++){var y=-u[b].shift-v-u[b].elem.depth,E=y-(u[b-1].elem.height+u[b-1].elem.depth);v=v+y,d.push({type:"kern",size:E}),d.push(u[b])}return{children:d,depth:p}}var _;if(a.positionType==="top"){for(var A=a.positionData,P=0;P<a.children.length;P++){var R=a.children[P];A-=R.type==="kern"?R.size:R.elem.height+R.elem.depth}_=A}else if(a.positionType==="bottom")_=-a.positionData;else{var B=a.children[0];if(B.type!=="elem")throw new Error('First child must have type "elem".');if(a.positionType==="shift")_=-B.elem.depth-a.positionData;else if(a.positionType==="firstBaseline")_=-B.elem.depth;else throw new Error("Invalid positionType "+a.positionType+".")}return{children:a.children,depth:_}},Mu=function(a,u){for(var{children:d,depth:p}=QHt(a),v=0,b=0;b<d.length;b++){var y=d[b];if(y.type==="elem"){var E=y.elem;v=Math.max(v,E.maxFontSize,E.height)}}v+=2;var _=di(["pstrut"],[]);_.style.height=Oi(v);for(var A=[],P=p,R=p,B=p,j=0;j<d.length;j++){var W=d[j];if(W.type==="kern")B+=W.size;else{var ee=W.elem,ie=W.wrapperClasses||[],oe=W.wrapperStyle||{},be=di(ie,[_,ee],void 0,oe);be.style.top=Oi(-v-B-ee.depth),W.marginLeft&&(be.style.marginLeft=W.marginLeft),W.marginRight&&(be.style.marginRight=W.marginRight),A.push(be),B+=ee.height+ee.depth}P=Math.min(P,B),R=Math.max(R,B)}var ge=di(["vlist"],A);ge.style.height=Oi(R);var ae;if(P<0){var ne=di([],[]),se=di(["vlist"],[ne]);se.style.height=Oi(-P);var de=di(["vlist-s"],[new mm("")]);ae=[di(["vlist-r"],[ge,de]),di(["vlist-r"],[se])]}else ae=[di(["vlist-r"],[ge])];var X=di(["vlist-t"],ae);return ae.length===2&&X.classes.push("vlist-t2"),X.height=R,X.depth=-P,X},Ize=(i,a)=>{var u=di(["mspace"],[],a),d=Uh(i,a);return u.style.marginRight=Oi(d),u},yQ=function(a,u,d){var p="";switch(a){case"amsrm":p="AMS";break;case"textrm":p="Main";break;case"textsf":p="SansSerif";break;case"texttt":p="Typewriter";break;default:p=a}var v;return u==="textbf"&&d==="textit"?v="BoldItalic":u==="textbf"?v="Bold":u==="textit"?v="Italic":v="Regular",p+"-"+v},Sbe={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"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-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"}},Oze={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},Nze=function(a,u){var[d,p,v]=Oze[a],b=new S9(d),y=new O7([b],{width:Oi(p),height:Oi(v),style:"width:"+Oi(p),viewBox:"0 0 "+1e3*p+" "+1e3*v,preserveAspectRatio:"xMinYMin"}),E=A9(["overlay"],[y],u);return E.height=v,E.style.height=Oi(v),E.style.width=Oi(p),E},Vh={number:3,unit:"mu"},zC={number:4,unit:"mu"},B7={number:5,unit:"mu"},JHt={mord:{mop:Vh,mbin:zC,mrel:B7,minner:Vh},mop:{mord:Vh,mop:Vh,mrel:B7,minner:Vh},mbin:{mord:zC,mop:zC,mopen:zC,minner:zC},mrel:{mord:B7,mop:B7,mopen:B7,minner:B7},mopen:{},mclose:{mop:Vh,mbin:zC,mrel:B7,minner:Vh},mpunct:{mord:Vh,mop:Vh,mrel:B7,mopen:Vh,mclose:Vh,mpunct:Vh,minner:Vh},minner:{mord:Vh,mop:Vh,mbin:zC,mrel:B7,mopen:Vh,mpunct:Vh,minner:Vh}},ZHt={mord:{mop:Vh},mop:{mord:Vh,mop:Vh},mbin:{},mrel:{},mopen:{},mclose:{mop:Vh},mpunct:{},minner:{mop:Vh}},Pze={},xQ={},kQ={};function es(i){for(var{type:a,names:u,props:d,handler:p,htmlBuilder:v,mathmlBuilder:b}=i,y={type:a,numArgs:d.numArgs,argTypes:d.argTypes,allowedInArgument:!!d.allowedInArgument,allowedInText:!!d.allowedInText,allowedInMath:d.allowedInMath===void 0?!0:d.allowedInMath,numOptionalArgs:d.numOptionalArgs||0,infix:!!d.infix,primitive:!!d.primitive,handler:p},E=0;E<u.length;++E)Pze[u[E]]=y;a&&(v&&(xQ[a]=v),b&&(kQ[a]=b))}function qC(i){var{type:a,htmlBuilder:u,mathmlBuilder:d}=i;es({type:a,names:[],props:{numArgs:0},handler(){throw new Error("Should never be called.")},htmlBuilder:u,mathmlBuilder:d})}var TQ=function(a){return a.type==="ordgroup"&&a.body.length===1?a.body[0]:a},P0=function(a){return a.type==="ordgroup"?a.body:[a]},eUt=new Set(["leftmost","mbin","mopen","mrel","mop","mpunct"]),tUt=new Set(["rightmost","mrel","mclose","mpunct"]),nUt={display:bo.DISPLAY,text:bo.TEXT,script:bo.SCRIPT,scriptscript:bo.SCRIPTSCRIPT},rUt={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},d1=function(a,u,d,p){p===void 0&&(p=[null,null]);for(var v=[],b=0;b<a.length;b++){var y=Du(a[b],u);if(y instanceof RD){var E=y.children;v.push(...E)}else v.push(y)}if(Dze(v),!d)return v;var _=u;if(a.length===1){var A=a[0];A.type==="sizing"?_=u.havingSize(A.size):A.type==="styling"&&(_=u.havingStyle(nUt[A.style]))}var P=di([p[0]||"leftmost"],[],u),R=di([p[1]||"rightmost"],[],u),B=d==="root";return _be(v,(j,W)=>{var ee=W.classes[0],ie=j.classes[0];ee==="mbin"&&tUt.has(ie)?W.classes[0]="mord":ie==="mbin"&&eUt.has(ee)&&(j.classes[0]="mord")},{node:P},R,B),_be(v,(j,W)=>{var ee,ie,oe=Lbe(W),be=Lbe(j),ge=oe&&be?j.hasClass("mtight")?(ee=ZHt[oe])==null?void 0:ee[be]:(ie=JHt[oe])==null?void 0:ie[be]:null;if(ge)return Ize(ge,_)},{node:P},R,B),v},_be=function(a,u,d,p,v){p&&a.push(p);for(var b=0;b<a.length;b++){var y=a[b],E=Bze(y);if(E){_be(E.children,u,d,null,v);continue}var _=!y.hasClass("mspace");if(_){var A=u(y,d.node);A&&(d.insertAfter?d.insertAfter(A):(a.unshift(A),b++))}_?d.node=y:v&&y.hasClass("newline")&&(d.node=di(["leftmost"])),d.insertAfter=(P=>R=>{a.splice(P+1,0,R),b++})(b)}p&&a.pop()},Bze=function(a){return a instanceof RD||a instanceof fQ||a instanceof jD&&a.hasClass("enclosing")?a:null},Abe=function(a,u){var d=Bze(a);if(d){var p=d.children;if(p.length){if(u==="right")return Abe(p[p.length-1],"right");if(u==="left")return Abe(p[0],"left")}}return a},Lbe=function(a,u){if(!a)return null;u&&(a=Abe(a,u));var d=a.classes[0];return rUt[d]||null},vR=function(a,u){var d=["nulldelimiter"].concat(a.baseSizingClasses());return di(u.concat(d))},Du=function(a,u,d){if(!a)return di();if(xQ[a.type]){var p=xQ[a.type](a,u);if(d&&u.size!==d.size){p=di(u.sizingClasses(d),[p],u);var v=u.sizeMultiplier/d.sizeMultiplier;p.height*=v,p.depth*=v}return p}else throw new ki("Got group of unknown type: '"+a.type+"'")};function EQ(i,a){var u=di(["base"],i,a),d=di(["strut"]);return d.style.height=Oi(u.height+u.depth),u.depth&&(d.style.verticalAlign=Oi(-u.depth)),u.children.unshift(d),u}function Mbe(i,a){var u=null;i.length===1&&i[0].type==="tag"&&(u=i[0].tag,i=i[0].body);var d=d1(i,a,"root"),p;d.length===2&&d[1].hasClass("tag")&&(p=d.pop());for(var v=[],b=[],y=0;y<d.length;y++)if(b.push(d[y]),d[y].hasClass("mbin")||d[y].hasClass("mrel")||d[y].hasClass("allowbreak")){for(var E=!1;y<d.length-1&&d[y+1].hasClass("mspace")&&!d[y+1].hasClass("newline");)y++,b.push(d[y]),d[y].hasClass("nobreak")&&(E=!0);E||(v.push(EQ(b,a)),b=[])}else d[y].hasClass("newline")&&(b.pop(),b.length>0&&(v.push(EQ(b,a)),b=[]),v.push(d[y]));b.length>0&&v.push(EQ(b,a));var _;u?(_=EQ(d1(u,a,!0),a),_.classes=["tag"],v.push(_)):p&&v.push(p);var A=di(["katex-html"],v);if(A.setAttribute("aria-hidden","true"),_){var P=_.children[0];P.style.height=Oi(A.height+A.depth),A.depth&&(P.style.verticalAlign=Oi(-A.depth))}return A}function Fze(i){return new RD(i)}class Si{constructor(a,u,d){this.type=a,this.attributes={},this.children=u||[],this.classes=d||[]}setAttribute(a,u){this.attributes[a]=u}getAttribute(a){return this.attributes[a]}toNode(){var a=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var u in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,u)&&a.setAttribute(u,this.attributes[u]);this.classes.length>0&&(a.className=C9(this.classes));for(var d=0;d<this.children.length;d++)if(this.children[d]instanceof B0&&this.children[d+1]instanceof B0){for(var p=this.children[d].toText()+this.children[++d].toText();this.children[d+1]instanceof B0;)p+=this.children[++d].toText();a.appendChild(new B0(p).toNode())}else a.appendChild(this.children[d].toNode());return a}toMarkup(){var a="<"+this.type;for(var u in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,u)&&(a+=" "+u+'="',a+=zg(this.attributes[u]),a+='"');this.classes.length>0&&(a+=' class ="'+zg(C9(this.classes))+'"'),a+=">";for(var d=0;d<this.children.length;d++)a+=this.children[d].toMarkup();return a+="</"+this.type+">",a}toText(){return this.children.map(a=>a.toText()).join("")}}class B0{constructor(a){this.text=a}toNode(){return document.createTextNode(this.text)}toMarkup(){return zg(this.toText())}toText(){return this.text}}class Rze{constructor(a){this.width=a,a>=.05555&&a<=.05556?this.character="":a>=.1666&&a<=.1667?this.character="":a>=.2222&&a<=.2223?this.character="":a>=.2777&&a<=.2778?this.character="":a>=-.05556&&a<=-.05555?this.character="":a>=-.1667&&a<=-.1666?this.character="":a>=-.2223&&a<=-.2222?this.character="":a>=-.2778&&a<=-.2777?this.character="":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var a=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return a.setAttribute("width",Oi(this.width)),a}toMarkup(){return this.character?"<mtext>"+this.character+"</mtext>":'<mspace width="'+Oi(this.width)+'"/>'}toText(){return this.character?this.character:" "}}var iUt=new Set(["\\imath","\\jmath"]),sUt=new Set(["mrow","mtable"]),Vv=function(a,u,d){return vh[u][a]&&vh[u][a].replace&&a.charCodeAt(0)!==55349&&!(Cze.hasOwnProperty(a)&&d&&(d.fontFamily&&d.fontFamily.slice(4,6)==="tt"||d.font&&d.font.slice(4,6)==="tt"))&&(a=vh[u][a].replace),new B0(a)},Dbe=function(a){return a.length===1?a[0]:new Si("mrow",a)},Ibe=function(a,u){if(u.fontFamily==="texttt")return"monospace";if(u.fontFamily==="textsf")return u.fontShape==="textit"&&u.fontWeight==="textbf"?"sans-serif-bold-italic":u.fontShape==="textit"?"sans-serif-italic":u.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(u.fontShape==="textit"&&u.fontWeight==="textbf")return"bold-italic";if(u.fontShape==="textit")return"italic";if(u.fontWeight==="textbf")return"bold";var d=u.font;if(!d||d==="mathnormal")return null;var p=a.mode;if(d==="mathit")return"italic";if(d==="boldsymbol")return a.type==="textord"?"bold":"bold-italic";if(d==="mathbf")return"bold";if(d==="mathbb")return"double-struck";if(d==="mathsfit")return"sans-serif-italic";if(d==="mathfrak")return"fraktur";if(d==="mathscr"||d==="mathcal")return"script";if(d==="mathsf")return"sans-serif";if(d==="mathtt")return"monospace";var v=a.text;if(iUt.has(v))return null;if(vh[p][v]){var b=vh[p][v].replace;b&&(v=b)}var y=Sbe[d].fontName;return mbe(v,y,p)?Sbe[d].variant:null};function Obe(i){if(!i)return!1;if(i.type==="mi"&&i.children.length===1){var a=i.children[0];return a instanceof B0&&a.text==="."}else if(i.type==="mo"&&i.children.length===1&&i.getAttribute("separator")==="true"&&i.getAttribute("lspace")==="0em"&&i.getAttribute("rspace")==="0em"){var u=i.children[0];return u instanceof B0&&u.text===","}else return!1}var wm=function(a,u,d){if(a.length===1){var p=Al(a[0],u);return d&&p instanceof Si&&p.type==="mo"&&(p.setAttribute("lspace","0em"),p.setAttribute("rspace","0em")),[p]}for(var v=[],b,y=0;y<a.length;y++){var E=Al(a[y],u);if(E instanceof Si&&b instanceof Si){if(E.type==="mtext"&&b.type==="mtext"&&E.getAttribute("mathvariant")===b.getAttribute("mathvariant")){b.children.push(...E.children);continue}else if(E.type==="mn"&&b.type==="mn"){b.children.push(...E.children);continue}else if(Obe(E)&&b.type==="mn"){b.children.push(...E.children);continue}else if(E.type==="mn"&&Obe(b))E.children=[...b.children,...E.children],v.pop();else if((E.type==="msup"||E.type==="msub")&&E.children.length>=1&&(b.type==="mn"||Obe(b))){var _=E.children[0];_ instanceof Si&&_.type==="mn"&&(_.children=[...b.children,..._.children],v.pop())}else if(b.type==="mi"&&b.children.length===1){var A=b.children[0];if(A instanceof B0&&A.text==="̸"&&(E.type==="mo"||E.type==="mi"||E.type==="mn")){var P=E.children[0];P instanceof B0&&P.text.length>0&&(P.text=P.text.slice(0,1)+"̸"+P.text.slice(1),v.pop())}}}v.push(E),b=E}return v},L9=function(a,u,d){return Dbe(wm(a,u,d))},Al=function(a,u){if(!a)return new Si("mrow");if(kQ[a.type]){var d=kQ[a.type](a,u);return d}else throw new ki("Got group of unknown type: '"+a.type+"'")};function jze(i,a,u,d,p){var v=wm(i,u),b;v.length===1&&v[0]instanceof Si&&sUt.has(v[0].type)?b=v[0]:b=new Si("mrow",v);var y=new Si("annotation",[new B0(a)]);y.setAttribute("encoding","application/x-tex");var E=new Si("semantics",[b,y]),_=new Si("math",[E]);_.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),d&&_.setAttribute("display","block");var A=p?"katex":"katex-mathml";return di([A],[_])}var aUt=[[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]],$ze=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],zze=function(a,u){return u.size<2?a:aUt[a-1][u.size-1]};class F7{constructor(a){this.style=a.style,this.color=a.color,this.size=a.size||F7.BASESIZE,this.textSize=a.textSize||this.size,this.phantom=!!a.phantom,this.font=a.font||"",this.fontFamily=a.fontFamily||"",this.fontWeight=a.fontWeight||"",this.fontShape=a.fontShape||"",this.sizeMultiplier=$ze[this.size-1],this.maxSize=a.maxSize,this.minRuleThickness=a.minRuleThickness,this._fontMetrics=void 0}extend(a){var u={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};return Object.assign(u,a),new F7(u)}havingStyle(a){return this.style===a?this:this.extend({style:a,size:zze(this.textSize,a)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(a){return this.size===a&&this.textSize===a?this:this.extend({style:this.style.text(),size:a,textSize:a,sizeMultiplier:$ze[a-1]})}havingBaseStyle(a){a=a||this.style.text();var u=zze(F7.BASESIZE,a);return this.size===u&&this.textSize===F7.BASESIZE&&this.style===a?this:this.extend({style:a,size:u})}havingBaseSizing(){var a;switch(this.style.id){case 4:case 5:a=3;break;case 6:case 7:a=1;break;default:a=6}return this.extend({style:this.style.text(),size:a})}withColor(a){return this.extend({color:a})}withPhantom(){return this.extend({phantom:!0})}withFont(a){return this.extend({font:a})}withTextFontFamily(a){return this.extend({fontFamily:a,font:""})}withTextFontWeight(a){return this.extend({fontWeight:a,font:""})}withTextFontShape(a){return this.extend({fontShape:a,font:""})}sizingClasses(a){return a.size!==this.size?["sizing","reset-size"+a.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==F7.BASESIZE?["sizing","reset-size"+this.size,"size"+F7.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=UHt(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}F7.BASESIZE=6;var qze=function(a){return new F7({style:a.displayMode?bo.DISPLAY:bo.TEXT,maxSize:a.maxSize,minRuleThickness:a.minRuleThickness})},Hze=function(a,u){if(u.displayMode){var d=["katex-display"];u.leqno&&d.push("leqno"),u.fleqn&&d.push("fleqn"),a=di(d,[a])}return a},oUt=function(a,u,d){var p=qze(d),v;if(d.output==="mathml")return jze(a,u,p,d.displayMode,!0);if(d.output==="html"){var b=Mbe(a,p);v=di(["katex"],[b])}else{var y=jze(a,u,p,d.displayMode,!1),E=Mbe(a,p);v=di(["katex"],[y,E])}return Hze(v,d)},cUt=function(a,u,d){var p=qze(d),v=Mbe(a,p),b=di(["katex"],[v]);return Hze(b,d)},uUt={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",underbracket:"⎵",overbracket:"⎴",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":"="},CQ=function(a){var u=new Si("mo",[new B0(uUt[a.replace(/^\\/,"")])]);return u.setAttribute("stretchy","true"),u},lUt={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],overbracket:[["leftbracketover","rightbracketover"],1.6,440],underbracket:[["leftbracketunder","rightbracketunder"],1.6,410],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]},hUt=new Set(["widehat","widecheck","widetilde","utilde"]),SQ=function(a,u){function d(){var y=4e5,E=a.label.slice(1);if(hUt.has(E)){var _=a,A=_.base.type==="ordgroup"?_.base.body.length:1,P,R,B;if(A>5)E==="widehat"||E==="widecheck"?(P=420,y=2364,B=.42,R=E+"4"):(P=312,y=2340,B=.34,R="tilde4");else{var j=[1,1,2,2,3,3][A];E==="widehat"||E==="widecheck"?(y=[0,1062,2364,2364,2364][j],P=[0,239,300,360,420][j],B=[0,.24,.3,.3,.36,.42][j],R=E+j):(y=[0,600,1033,2339,2340][j],P=[0,260,286,306,312][j],B=[0,.26,.286,.3,.306,.34][j],R="tilde"+j)}var W=new S9(R),ee=new O7([W],{width:"100%",height:Oi(B),viewBox:"0 0 "+y+" "+P,preserveAspectRatio:"none"});return{span:A9([],[ee],u),minWidth:0,height:B}}else{var ie=[],oe=lUt[E],[be,ge,ae]=oe,ne=ae/1e3,se=be.length,de,X;if(se===1){var pe=oe[3];de=["hide-tail"],X=[pe]}else if(se===2)de=["halfarrow-left","halfarrow-right"],X=["xMinYMin","xMaxYMin"];else if(se===3)de=["brace-left","brace-center","brace-right"],X=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support
`+se+" children.");for(var G=0;G<se;G++){var xe=new S9(be[G]),U=new O7([xe],{width:"400em",height:Oi(ne),viewBox:"0 0 "+y+" "+ae,preserveAspectRatio:X[G]+" slice"}),Be=A9([de[G]],[U],u);if(se===1)return{span:Be,minWidth:ge,height:ne};Be.style.height=Oi(ne),ie.push(Be)}return{span:di(["stretchy"],ie,u),minWidth:ge,height:ne}}}var{span:p,minWidth:v,height:b}=d();return p.height=b,p.style.height=Oi(b),v>0&&(p.style.minWidth=Oi(v)),p},fUt=function(a,u,d,p,v){var b,y=a.height+a.depth+d+p;if(/fbox|color|angl/.test(u)){if(b=di(["stretchy",u],[],v),u==="fbox"){var E=v.color&&v.getColor();E&&(b.style.borderColor=E)}}else{var _=[];/^[bx]cancel$/.test(u)&&_.push(new bbe({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(u)&&_.push(new bbe({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var A=new O7(_,{width:"100%",height:Oi(y)});b=A9([],[A],v)}return b.height=y,b.style.height=Oi(y),b};function Xo(i,a){if(!i||i.type!==a)throw new Error("Expected node of type "+a+", but got "+(i?"node of type "+i.type:String(i)));return i}function _Q(i){var a=AQ(i);if(!a)throw new Error("Expected node of symbol group type, but got "+(i?"node of type "+i.type:String(i)));return a}function AQ(i){return i&&(i.type==="atom"||GHt.hasOwnProperty(i.type))?i:null}var Uze=i=>{if(i instanceof mm)return i;if(HHt(i)&&i.children.length===1)return Uze(i.children[0])},Nbe=(i,a)=>{var u,d,p;i&&i.type==="supsub"?(d=Xo(i.base,"accent"),u=d.base,i.base=u,p=qHt(Du(i,a)),i.base=d):(d=Xo(i,"accent"),u=d.base);var v=Du(u,a.havingCrampedStyle()),b=d.isShifty&&D7(u),y=0;if(b){var E,_;y=(E=(_=Uze(v))==null?void 0:_.skew)!=null?E:0}var A=d.label==="\\c",P=A?v.height+v.depth:Math.min(v.height,a.fontMetrics().xHeight),R;if(d.isStretchy)R=SQ(d,a),R=Mu({positionType:"firstBaseline",children:[{type:"elem",elem:v},{type:"elem",elem:R,wrapperClasses:["svg-align"],wrapperStyle:y>0?{width:"calc(100% - "+Oi(2*y)+")",marginLeft:Oi(2*y)}:void 0}]});else{var B,j;d.label==="\\vec"?(B=Nze("vec",a),j=Oze.vec[1]):(B=wQ({type:"textord",mode:d.mode,text:d.label},a,"textord"),B=zHt(B),B.italic=0,j=B.width,A&&(P+=B.depth)),R=di(["accent-body"],[B]);var W=d.label==="\\textcircled";W&&(R.classes.push("accent-full"),P=v.height);var ee=y;W||(ee-=j/2),R.style.left=Oi(ee),d.label==="\\textcircled"&&(R.style.top=".2em"),R=Mu({positionType:"firstBaseline",children:[{type:"elem",elem:v},{type:"kern",size:-P},{type:"elem",elem:R}]})}var ie=di(["mord","accent"],[R],a);return p?(p.children[0]=ie,p.height=Math.max(ie.height,p.height),p.classes[0]="mord",p):ie},Vze=(i,a)=>{var u=i.isStretchy?CQ(i.label):new Si("mo",[Vv(i.label,i.mode)]),d=new Si("mover",[Al(i.base,a),u]);return d.setAttribute("accent","true"),d},dUt=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(i=>"\\"+i).join("|"));es({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:(i,a)=>{var u=TQ(a[0]),d=!dUt.test(i.funcName),p=!d||i.funcName==="\\widehat"||i.funcName==="\\widetilde"||i.funcName==="\\widecheck";return{type:"accent",mode:i.parser.mode,label:i.funcName,isStretchy:d,isShifty:p,base:u}},htmlBuilder:Nbe,mathmlBuilder:Vze}),es({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(i,a)=>{var u=a[0],d=i.parser.mode;return d==="math"&&(i.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+i.funcName+" works only in text mode"),d="text"),{type:"accent",mode:d,label:i.funcName,isStretchy:!1,isShifty:!0,base:u}},htmlBuilder:Nbe,mathmlBuilder:Vze}),es({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(i,a)=>{var{parser:u,funcName:d}=i,p=a[0];return{type:"accentUnder",mode:u.mode,label:d,base:p}},htmlBuilder:(i,a)=>{var u=Du(i.base,a),d=SQ(i,a),p=i.label==="\\utilde"?.12:0,v=Mu({positionType:"top",positionData:u.height,children:[{type:"elem",elem:d,wrapperClasses:["svg-align"]},{type:"kern",size:p},{type:"elem",elem:u}]});return di(["mord","accentunder"],[v],a)},mathmlBuilder:(i,a)=>{var u=CQ(i.label),d=new Si("munder",[Al(i.base,a),u]);return d.setAttribute("accentunder","true"),d}});var LQ=i=>{var a=new Si("mpadded",i?[i]:[]);return a.setAttribute("width","+0.6em"),a.setAttribute("lspace","0.3em"),a};es({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(i,a,u){var{parser:d,funcName:p}=i;return{type:"xArrow",mode:d.mode,label:p,body:a[0],below:u[0]}},htmlBuilder(i,a){var u=a.style,d=a.havingStyle(u.sup()),p=qD(Du(i.body,d,a),a),v=i.label.slice(0,2)==="\\x"?"x":"cd";p.classes.push(v+"-arrow-pad");var b;i.below&&(d=a.havingStyle(u.sub()),b=qD(Du(i.below,d,a),a),b.classes.push(v+"-arrow-pad"));var y=SQ(i,a),E=-a.fontMetrics().axisHeight+.5*y.height,_=-a.fontMetrics().axisHeight-.5*y.height-.111;(p.depth>.25||i.label==="\\xleftequilibrium")&&(_-=p.depth);var A;if(b){var P=-a.fontMetrics().axisHeight+b.height+.5*y.height+.111;A=Mu({positionType:"individualShift",children:[{type:"elem",elem:p,shift:_},{type:"elem",elem:y,shift:E},{type:"elem",elem:b,shift:P}]})}else A=Mu({positionType:"individualShift",children:[{type:"elem",elem:p,shift:_},{type:"elem",elem:y,shift:E}]});return A.children[0].children[0].children[1].classes.push("svg-align"),di(["mrel","x-arrow"],[A],a)},mathmlBuilder(i,a){var u=CQ(i.label);u.setAttribute("minsize",i.label.charAt(0)==="x"?"1.75em":"3.0em");var d;if(i.body){var p=LQ(Al(i.body,a));if(i.below){var v=LQ(Al(i.below,a));d=new Si("munderover",[u,v,p])}else d=new Si("mover",[u,p])}else if(i.below){var b=LQ(Al(i.below,a));d=new Si("munder",[u,b])}else d=LQ(),d=new Si("mover",[u,d]);return d}});function Gze(i,a){var u=d1(i.body,a,!0);return di([i.mclass],u,a)}function Kze(i,a){var u,d=wm(i.body,a);return i.mclass==="minner"?u=new Si("mpadded",d):i.mclass==="mord"?i.isCharacterBox?(u=d[0],u.type="mi"):u=new Si("mi",d):(i.isCharacterBox?(u=d[0],u.type="mo"):u=new Si("mo",d),i.mclass==="mbin"?(u.attributes.lspace="0.22em",u.attributes.rspace="0.22em"):i.mclass==="mpunct"?(u.attributes.lspace="0em",u.attributes.rspace="0.17em"):i.mclass==="mopen"||i.mclass==="mclose"?(u.attributes.lspace="0em",u.attributes.rspace="0em"):i.mclass==="minner"&&(u.attributes.lspace="0.0556em",u.attributes.width="+0.1111em")),u}es({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(i,a){var{parser:u,funcName:d}=i,p=a[0];return{type:"mclass",mode:u.mode,mclass:"m"+d.slice(5),body:P0(p),isCharacterBox:D7(p)}},htmlBuilder:Gze,mathmlBuilder:Kze});var MQ=i=>{var a=i.type==="ordgroup"&&i.body.length?i.body[0]:i;return a.type==="atom"&&(a.family==="bin"||a.family==="rel")?"m"+a.family:"mord"};es({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(i,a){var{parser:u}=i;return{type:"mclass",mode:u.mode,mclass:MQ(a[0]),body:P0(a[1]),isCharacterBox:D7(a[1])}}}),es({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(i,a){var{parser:u,funcName:d}=i,p=a[1],v=a[0],b;d!=="\\stackrel"?b=MQ(p):b="mrel";var y={type:"op",mode:p.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:d!=="\\stackrel",body:P0(p)},E={type:"supsub",mode:v.mode,base:y,sup:d==="\\underset"?null:v,sub:d==="\\underset"?v:null};return{type:"mclass",mode:u.mode,mclass:b,body:[E],isCharacterBox:D7(E)}},htmlBuilder:Gze,mathmlBuilder:Kze}),es({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(i,a){var{parser:u}=i;return{type:"pmb",mode:u.mode,mclass:MQ(a[0]),body:P0(a[0])}},htmlBuilder(i,a){var u=d1(i.body,a,!0),d=di([i.mclass],u,a);return d.style.textShadow="0.02em 0.01em 0.04px",d},mathmlBuilder(i,a){var u=wm(i.body,a),d=new Si("mstyle",u);return d.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),d}});var gUt={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},Wze=()=>({type:"styling",body:[],mode:"math",style:"display"}),Yze=i=>i.type==="textord"&&i.text==="@",pUt=(i,a)=>(i.type==="mathord"||i.type==="atom")&&i.text===a;function bUt(i,a,u){var d=gUt[i];switch(d){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return u.callFunction(d,[a[0]],[a[1]]);case"\\uparrow":case"\\downarrow":{var p=u.callFunction("\\\\cdleft",[a[0]],[]),v={type:"atom",text:d,mode:"math",family:"rel"},b=u.callFunction("\\Big",[v],[]),y=u.callFunction("\\\\cdright",[a[1]],[]),E={type:"ordgroup",mode:"math",body:[p,b,y]};return u.callFunction("\\\\cdparent",[E],[])}case"\\\\cdlongequal":return u.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var _={type:"textord",text:"\\Vert",mode:"math"};return u.callFunction("\\Big",[_],[])}default:return{type:"textord",text:" ",mode:"math"}}}function mUt(i){var a=[];for(i.gullet.beginGroup(),i.gullet.macros.set("\\cr","\\\\\\relax"),i.gullet.beginGroup();;){a.push(i.parseExpression(!1,"\\\\")),i.gullet.endGroup(),i.gullet.beginGroup();var u=i.fetch().text;if(u==="&"||u==="\\\\")i.consume();else if(u==="\\end"){a[a.length-1].length===0&&a.pop();break}else throw new ki("Expected \\\\ or \\cr or \\end",i.nextToken)}for(var d=[],p=[d],v=0;v<a.length;v++){for(var b=a[v],y=Wze(),E=0;E<b.length;E++)if(!Yze(b[E]))y.body.push(b[E]);else{d.push(y),E+=1;var _=_Q(b[E]).text,A=new Array(2);if(A[0]={type:"ordgroup",mode:"math",body:[]},A[1]={type:"ordgroup",mode:"math",body:[]},!"=|.".includes(_))if("<>AV".includes(_))for(var P=0;P<2;P++){for(var R=!0,B=E+1;B<b.length;B++){if(pUt(b[B],_)){R=!1,E=B;break}if(Yze(b[B]))throw new ki("Missing a "+_+" character to complete a CD arrow.",b[B]);A[P].body.push(b[B])}if(R)throw new ki("Missing a "+_+" character to complete a CD arrow.",b[E])}else throw new ki('Expected one of "<>AV=|." after @',b[E]);var j=bUt(_,A,i),W={type:"styling",body:[j],mode:"math",style:"display"};d.push(W),y=Wze()}v%2===0?d.push(y):d.shift(),d=[],p.push(d)}i.gullet.endGroup(),i.gullet.endGroup();var ee=new Array(p[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:p,arraystretch:1,addJot:!0,rowGaps:[null],cols:ee,colSeparationType:"CD",hLinesBeforeRow:new Array(p.length+1).fill([])}}es({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(i,a){var{parser:u,funcName:d}=i;return{type:"cdlabel",mode:u.mode,side:d.slice(4),label:a[0]}},htmlBuilder(i,a){var u=a.havingStyle(a.style.sup()),d=qD(Du(i.label,u,a),a);return d.classes.push("cd-label-"+i.side),d.style.bottom=Oi(.8-d.depth),d.height=0,d.depth=0,d},mathmlBuilder(i,a){var u=new Si("mrow",[Al(i.label,a)]);return u=new Si("mpadded",[u]),u.setAttribute("width","0"),i.side==="left"&&u.setAttribute("lspace","-1width"),u.setAttribute("voffset","0.7em"),u=new Si("mstyle",[u]),u.setAttribute("displaystyle","false"),u.setAttribute("scriptlevel","1"),u}}),es({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(i,a){var{parser:u}=i;return{type:"cdlabelparent",mode:u.mode,fragment:a[0]}},htmlBuilder(i,a){var u=qD(Du(i.fragment,a),a);return u.classes.push("cd-vert-arrow"),u},mathmlBuilder(i,a){return new Si("mrow",[Al(i.fragment,a)])}}),es({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(i,a){for(var{parser:u}=i,d=Xo(a[0],"ordgroup"),p=d.body,v="",b=0;b<p.length;b++){var y=Xo(p[b],"textord");v+=y.text}var E=parseInt(v),_;if(isNaN(E))throw new ki("\\@char has non-numeric argument "+v);if(E<0||E>=1114111)throw new ki("\\@char with invalid code point "+v);return E<=65535?_=String.fromCharCode(E):(E-=65536,_=String.fromCharCode((E>>10)+55296,(E&1023)+56320)),{type:"textord",mode:u.mode,text:_}}});var Xze=(i,a)=>{var u=d1(i.body,a.withColor(i.color),!1);return P7(u)},Qze=(i,a)=>{var u=wm(i.body,a.withColor(i.color)),d=new Si("mstyle",u);return d.setAttribute("mathcolor",i.color),d};es({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(i,a){var{parser:u}=i,d=Xo(a[0],"color-token").color,p=a[1];return{type:"color",mode:u.mode,color:d,body:P0(p)}},htmlBuilder:Xze,mathmlBuilder:Qze}),es({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(i,a){var{parser:u,breakOnTokenText:d}=i,p=Xo(a[0],"color-token").color;u.gullet.macros.set("\\current@color",p);var v=u.parseExpression(!0,d);return{type:"color",mode:u.mode,color:p,body:v}},htmlBuilder:Xze,mathmlBuilder:Qze}),es({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(i,a,u){var{parser:d}=i,p=d.gullet.future().text==="["?d.parseSizeGroup(!0):null,v=!d.settings.displayMode||!d.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:d.mode,newLine:v,size:p&&Xo(p,"size").value}},htmlBuilder(i,a){var u=di(["mspace"],[],a);return i.newLine&&(u.classes.push("newline"),i.size&&(u.style.marginTop=Oi(Uh(i.size,a)))),u},mathmlBuilder(i,a){var u=new Si("mspace");return i.newLine&&(u.setAttribute("linebreak","newline"),i.size&&u.setAttribute("height",Oi(Uh(i.size,a)))),u}});var Pbe={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},Jze=i=>{var a=i.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(a))throw new ki("Expected a control sequence",i);return a},vUt=i=>{var a=i.gullet.popToken();return a.text==="="&&(a=i.gullet.popToken(),a.text===" "&&(a=i.gullet.popToken())),a},Zze=(i,a,u,d)=>{var p=i.gullet.macros.get(u.text);p==null&&(u.noexpand=!0,p={tokens:[u],numArgs:0,unexpandable:!i.gullet.isExpandable(u.text)}),i.gullet.macros.set(a,p,d)};es({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(i){var{parser:a,funcName:u}=i;a.consumeSpaces();var d=a.fetch();if(Pbe[d.text])return(u==="\\global"||u==="\\\\globallong")&&(d.text=Pbe[d.text]),Xo(a.parseFunction(),"internal");throw new ki("Invalid token after macro prefix",d)}}),es({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(i){var{parser:a,funcName:u}=i,d=a.gullet.popToken(),p=d.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(p))throw new ki("Expected a control sequence",d);for(var v=0,b,y=[[]];a.gullet.future().text!=="{";)if(d=a.gullet.popToken(),d.text==="#"){if(a.gullet.future().text==="{"){b=a.gullet.future(),y[v].push("{");break}if(d=a.gullet.popToken(),!/^[1-9]$/.test(d.text))throw new ki('Invalid argument number "'+d.text+'"');if(parseInt(d.text)!==v+1)throw new ki('Argument number "'+d.text+'" out of order');v++,y.push([])}else{if(d.text==="EOF")throw new ki("Expected a macro definition");y[v].push(d.text)}var{tokens:E}=a.gullet.consumeArg();return b&&E.unshift(b),(u==="\\edef"||u==="\\xdef")&&(E=a.gullet.expandTokens(E),E.reverse()),a.gullet.macros.set(p,{tokens:E,numArgs:v,delimiters:y},u===Pbe[u]),{type:"internal",mode:a.mode}}}),es({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(i){var{parser:a,funcName:u}=i,d=Jze(a.gullet.popToken());a.gullet.consumeSpaces();var p=vUt(a);return Zze(a,d,p,u==="\\\\globallet"),{type:"internal",mode:a.mode}}}),es({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(i){var{parser:a,funcName:u}=i,d=Jze(a.gullet.popToken()),p=a.gullet.popToken(),v=a.gullet.popToken();return Zze(a,d,v,u==="\\\\globalfuture"),a.gullet.pushToken(v),a.gullet.pushToken(p),{type:"internal",mode:a.mode}}});var wR=function(a,u,d){var p=vh.math[a]&&vh.math[a].replace,v=mbe(p||a,u,d);if(!v)throw new Error("Unsupported symbol "+a+" and font size "+u+".");return v},Bbe=function(a,u,d,p){var v=d.havingBaseStyle(u),b=di(p.concat(v.sizingClasses(d)),[a],d),y=v.sizeMultiplier/d.sizeMultiplier;return b.height*=y,b.depth*=y,b.maxFontSize=v.sizeMultiplier,b},eqe=function(a,u,d){var p=u.havingBaseStyle(d),v=(1-u.sizeMultiplier/p.sizeMultiplier)*u.fontMetrics().axisHeight;a.classes.push("delimcenter"),a.style.top=Oi(v),a.height-=v,a.depth+=v},wUt=function(a,u,d,p,v,b){var y=Rp(a,"Main-Regular",v,p),E=Bbe(y,u,p,b);return d&&eqe(E,p,u),E},yUt=function(a,u,d,p){return Rp(a,"Size"+u+"-Regular",d,p)},tqe=function(a,u,d,p,v,b){var y=yUt(a,u,v,p),E=Bbe(di(["delimsizing","size"+u],[y],p),bo.TEXT,p,b);return d&&eqe(E,p,bo.TEXT),E},Fbe=function(a,u,d){var p;u==="Size1-Regular"?p="delim-size1":p="delim-size4";var v=di(["delimsizinginner",p],[di([],[Rp(a,u,d)])]);return{type:"elem",elem:v}},Rbe=function(a,u,d){var p=Y4["Size4-Regular"][a.charCodeAt(0)]?Y4["Size4-Regular"][a.charCodeAt(0)][4]:Y4["Size1-Regular"][a.charCodeAt(0)][4],v=new S9("inner",PHt(a,Math.round(1e3*u))),b=new O7([v],{width:Oi(p),height:Oi(u),style:"width:"+Oi(p),viewBox:"0 0 "+1e3*p+" "+Math.round(1e3*u),preserveAspectRatio:"xMinYMin"}),y=A9([],[b],d);return y.height=u,y.style.height=Oi(u),y.style.width=Oi(p),{type:"elem",elem:y}},jbe=.008,DQ={type:"kern",size:-1*jbe},xUt=new Set(["|","\\lvert","\\rvert","\\vert"]),kUt=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),nqe=function(a,u,d,p,v,b){var y,E,_,A,P="",R=0;y=_=A=a,E=null;var B="Size1-Regular";a==="\\uparrow"?_=A="⏐":a==="\\Uparrow"?_=A="‖":a==="\\downarrow"?y=_="⏐":a==="\\Downarrow"?y=_="‖":a==="\\updownarrow"?(y="\\uparrow",_="⏐",A="\\downarrow"):a==="\\Updownarrow"?(y="\\Uparrow",_="‖",A="\\Downarrow"):xUt.has(a)?(_="",P="vert",R=333):kUt.has(a)?(_="∥",P="doublevert",R=556):a==="["||a==="\\lbrack"?(y="⎡",_="⎢",A="⎣",B="Size4-Regular",P="lbrack",R=667):a==="]"||a==="\\rbrack"?(y="⎤",_="⎥",A="⎦",B="Size4-Regular",P="rbrack",R=667):a==="\\lfloor"||a==="⌊"?(_=y="⎢",A="⎣",B="Size4-Regular",P="lfloor",R=667):a==="\\lceil"||a==="⌈"?(y="⎡",_=A="⎢",B="Size4-Regular",P="lceil",R=667):a==="\\rfloor"||a==="⌋"?(_=y="⎥",A="⎦",B="Size4-Regular",P="rfloor",R=667):a==="\\rceil"||a==="⌉"?(y="⎤",_=A="⎥",B="Size4-Regular",P="rceil",R=667):a==="("||a==="\\lparen"?(y="⎛",_="⎜",A="⎝",B="Size4-Regular",P="lparen",R=875):a===")"||a==="\\rparen"?(y="⎞",_="⎟",A="⎠",B="Size4-Regular",P="rparen",R=875):a==="\\{"||a==="\\lbrace"?(y="⎧",E="⎨",A="⎩",_="⎪",B="Size4-Regular"):a==="\\}"||a==="\\rbrace"?(y="⎫",E="⎬",A="⎭",_="⎪",B="Size4-Regular"):a==="\\lgroup"||a==="⟮"?(y="⎧",A="⎩",_="⎪",B="Size4-Regular"):a==="\\rgroup"||a==="⟯"?(y="⎫",A="⎭",_="⎪",B="Size4-Regular"):a==="\\lmoustache"||a==="⎰"?(y="⎧",A="⎭",_="⎪",B="Size4-Regular"):(a==="\\rmoustache"||a==="⎱")&&(y="⎫",A="⎩",_="⎪",B="Size4-Regular");var j=wR(y,B,v),W=j.height+j.depth,ee=wR(_,B,v),ie=ee.height+ee.depth,oe=wR(A,B,v),be=oe.height+oe.depth,ge=0,ae=1;if(E!==null){var ne=wR(E,B,v);ge=ne.height+ne.depth,ae=2}var se=W+be+ge,de=Math.max(0,Math.ceil((u-se)/(ae*ie))),X=se+de*ae*ie,pe=p.fontMetrics().axisHeight;d&&(pe*=p.sizeMultiplier);var G=X/2-pe,xe=[];if(P.length>0){var U=X-W-be,Be=Math.round(X*1e3),Pe=BHt(P,Math.round(U*1e3)),je=new S9(P,Pe),Ie=Oi(R/1e3),Se=Oi(Be/1e3),Ce=new O7([je],{width:Ie,height:Se,viewBox:"0 0 "+R+" "+Be}),ke=A9([],[Ce],p);ke.height=Be/1e3,ke.style.width=Ie,ke.style.height=Se,xe.push({type:"elem",elem:ke})}else{if(xe.push(Fbe(A,B,v)),xe.push(DQ),E===null){var Ke=X-W-be+2*jbe;xe.push(Rbe(_,Ke,p))}else{var zt=(X-W-be-ge)/2+2*jbe;xe.push(Rbe(_,zt,p)),xe.push(DQ),xe.push(Fbe(E,B,v)),xe.push(DQ),xe.push(Rbe(_,zt,p))}xe.push(DQ),xe.push(Fbe(y,B,v))}var Ne=p.havingBaseStyle(bo.TEXT),pn=Mu({positionType:"bottom",positionData:G,children:xe});return Bbe(di(["delimsizing","mult"],[pn],Ne),bo.TEXT,p,b)},$be=80,zbe=.08,qbe=function(a,u,d,p,v){var b=NHt(a,p,d),y=new S9(a,b),E=new O7([y],{width:"400em",height:Oi(u),viewBox:"0 0 400000 "+d,preserveAspectRatio:"xMinYMin slice"});return A9(["hide-tail"],[E],v)},TUt=function(a,u){var d=u.havingBaseSizing(),p=oqe("\\surd",a*d.sizeMultiplier,aqe,d),v=d.sizeMultiplier,b=Math.max(0,u.minRuleThickness-u.fontMetrics().sqrtRuleThickness),y,E=0,_=0,A=0,P;return p.type==="small"?(A=1e3+1e3*b+$be,a<1?v=1:a<1.4&&(v=.7),E=(1+b+zbe)/v,_=(1+b)/v,y=qbe("sqrtMain",E,A,b,u),y.style.minWidth="0.853em",P=.833/v):p.type==="large"?(A=(1e3+$be)*yR[p.size],_=(yR[p.size]+b)/v,E=(yR[p.size]+b+zbe)/v,y=qbe("sqrtSize"+p.size,E,A,b,u),y.style.minWidth="1.02em",P=1/v):(E=a+b+zbe,_=a+b,A=Math.floor(1e3*a+b)+$be,y=qbe("sqrtTall",E,A,b,u),y.style.minWidth="0.742em",P=1.056),y.height=_,y.style.height=Oi(E),{span:y,advanceWidth:P,ruleWidth:(u.fontMetrics().sqrtRuleThickness+b)*v}},rqe=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"]),EUt=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"]),iqe=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),yR=[0,1.2,1.8,2.4,3],sqe=function(a,u,d,p,v){if(a==="<"||a==="\\lt"||a==="⟨"?a="\\langle":(a===">"||a==="\\gt"||a==="⟩")&&(a="\\rangle"),rqe.has(a)||iqe.has(a))return tqe(a,u,!1,d,p,v);if(EUt.has(a))return nqe(a,yR[u],!1,d,p,v);throw new ki("Illegal delimiter: '"+a+"'")},CUt=[{type:"small",style:bo.SCRIPTSCRIPT},{type:"small",style:bo.SCRIPT},{type:"small",style:bo.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],SUt=[{type:"small",style:bo.SCRIPTSCRIPT},{type:"small",style:bo.SCRIPT},{type:"small",style:bo.TEXT},{type:"stack"}],aqe=[{type:"small",style:bo.SCRIPTSCRIPT},{type:"small",style:bo.SCRIPT},{type:"small",style:bo.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],_Ut=function(a){if(a.type==="small")return"Main-Regular";if(a.type==="large")return"Size"+a.size+"-Regular";if(a.type==="stack")return"Size4-Regular";var u=a.type;throw new Error("Add support for delim type '"+u+"' here.")},oqe=function(a,u,d,p){for(var v=Math.min(2,3-p.style.size),b=v;b<d.length;b++){var y=d[b];if(y.type==="stack")break;var E=wR(a,_Ut(y),"math"),_=E.height+E.depth;if(y.type==="small"){var A=p.havingBaseStyle(y.style);_*=A.sizeMultiplier}if(_>u)return y}return d[d.length-1]},Hbe=function(a,u,d,p,v,b){a==="<"||a==="\\lt"||a==="⟨"?a="\\langle":(a===">"||a==="\\gt"||a==="⟩")&&(a="\\rangle");var y;iqe.has(a)?y=CUt:rqe.has(a)?y=aqe:y=SUt;var E=oqe(a,u,y,p);return E.type==="small"?wUt(a,E.style,d,p,v,b):E.type==="large"?tqe(a,E.size,d,p,v,b):nqe(a,u,d,p,v,b)},Ube=function(a,u,d,p,v,b){var y=p.fontMetrics().axisHeight*p.sizeMultiplier,E=901,_=5/p.fontMetrics().ptPerEm,A=Math.max(u-y,d+y),P=Math.max(A/500*E,2*A-_);return Hbe(a,P,!0,p,v,b)},cqe={"\\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}},AUt=new Set(["(","\\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 IQ(i,a){var u=AQ(i);if(u&&AUt.has(u.text))return u;throw u?new ki("Invalid delimiter '"+u.text+"' after '"+a.funcName+"'",i):new ki("Invalid delimiter type '"+i.type+"'",i)}es({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:(i,a)=>{var u=IQ(a[0],i);return{type:"delimsizing",mode:i.parser.mode,size:cqe[i.funcName].size,mclass:cqe[i.funcName].mclass,delim:u.text}},htmlBuilder:(i,a)=>i.delim==="."?di([i.mclass]):sqe(i.delim,i.size,a,i.mode,[i.mclass]),mathmlBuilder:i=>{var a=[];i.delim!=="."&&a.push(Vv(i.delim,i.mode));var u=new Si("mo",a);i.mclass==="mopen"||i.mclass==="mclose"?u.setAttribute("fence","true"):u.setAttribute("fence","false"),u.setAttribute("stretchy","true");var d=Oi(yR[i.size]);return u.setAttribute("minsize",d),u.setAttribute("maxsize",d),u}});function uqe(i){if(!i.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}es({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(i,a)=>{var u=i.parser.gullet.macros.get("\\current@color");if(u&&typeof u!="string")throw new ki("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:i.parser.mode,delim:IQ(a[0],i).text,color:u}}}),es({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(i,a)=>{var u=IQ(a[0],i),d=i.parser;++d.leftrightDepth;var p=d.parseExpression(!1);--d.leftrightDepth,d.expect("\\right",!1);var v=Xo(d.parseFunction(),"leftright-right");return{type:"leftright",mode:d.mode,body:p,left:u.text,right:v.delim,rightColor:v.color}},htmlBuilder:(i,a)=>{uqe(i);for(var u=d1(i.body,a,!0,["mopen","mclose"]),d=0,p=0,v=!1,b=0;b<u.length;b++)u[b].isMiddle?v=!0:(d=Math.max(u[b].height,d),p=Math.max(u[b].depth,p));d*=a.sizeMultiplier,p*=a.sizeMultiplier;var y;if(i.left==="."?y=vR(a,["mopen"]):y=Ube(i.left,d,p,a,i.mode,["mopen"]),u.unshift(y),v)for(var E=1;E<u.length;E++){var _=u[E],A=_.isMiddle;A&&(u[E]=Ube(A.delim,d,p,A.options,i.mode,[]))}var P;if(i.right===".")P=vR(a,["mclose"]);else{var R=i.rightColor?a.withColor(i.rightColor):a;P=Ube(i.right,d,p,R,i.mode,["mclose"])}return u.push(P),di(["minner"],u,a)},mathmlBuilder:(i,a)=>{uqe(i);var u=wm(i.body,a);if(i.left!=="."){var d=new Si("mo",[Vv(i.left,i.mode)]);d.setAttribute("fence","true"),u.unshift(d)}if(i.right!=="."){var p=new Si("mo",[Vv(i.right,i.mode)]);p.setAttribute("fence","true"),i.rightColor&&p.setAttribute("mathcolor",i.rightColor),u.push(p)}return Dbe(u)}}),es({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(i,a)=>{var u=IQ(a[0],i);if(!i.parser.leftrightDepth)throw new ki("\\middle without preceding \\left",u);return{type:"middle",mode:i.parser.mode,delim:u.text}},htmlBuilder:(i,a)=>{var u;if(i.delim===".")u=vR(a,[]);else{u=sqe(i.delim,1,a,i.mode,[]);var d={delim:i.delim,options:a};u.isMiddle=d}return u},mathmlBuilder:(i,a)=>{var u=i.delim==="\\vert"||i.delim==="|"?Vv("|","text"):Vv(i.delim,i.mode),d=new Si("mo",[u]);return d.setAttribute("fence","true"),d.setAttribute("lspace","0.05em"),d.setAttribute("rspace","0.05em"),d}});var OQ=(i,a)=>{var u=qD(Du(i.body,a),a),d=i.label.slice(1),p=a.sizeMultiplier,v,b=0,y=D7(i.body);if(d==="sout")v=di(["stretchy","sout"]),v.height=a.fontMetrics().defaultRuleThickness/p,b=-.5*a.fontMetrics().xHeight;else if(d==="phase"){var E=Uh({number:.6,unit:"pt"},a),_=Uh({number:.35,unit:"ex"},a),A=a.havingBaseSizing();p=p/A.sizeMultiplier;var P=u.height+u.depth+E+_;u.style.paddingLeft=Oi(P/2+E);var R=Math.floor(1e3*P*p),B=IHt(R),j=new O7([new S9("phase",B)],{width:"400em",height:Oi(R/1e3),viewBox:"0 0 400000 "+R,preserveAspectRatio:"xMinYMin slice"});v=A9(["hide-tail"],[j],a),v.style.height=Oi(P),b=u.depth+E+_}else{/cancel/.test(d)?y||u.classes.push("cancel-pad"):d==="angl"?u.classes.push("anglpad"):u.classes.push("boxpad");var W=0,ee=0,ie=0;/box/.test(d)?(ie=Math.max(a.fontMetrics().fboxrule,a.minRuleThickness),W=a.fontMetrics().fboxsep+(d==="colorbox"?0:ie),ee=W):d==="angl"?(ie=Math.max(a.fontMetrics().defaultRuleThickness,a.minRuleThickness),W=4*ie,ee=Math.max(0,.25-u.depth)):(W=y?.2:0,ee=W),v=fUt(u,d,W,ee,a),/fbox|boxed|fcolorbox/.test(d)?(v.style.borderStyle="solid",v.style.borderWidth=Oi(ie)):d==="angl"&&ie!==.049&&(v.style.borderTopWidth=Oi(ie),v.style.borderRightWidth=Oi(ie)),b=u.depth+ee,i.backgroundColor&&(v.style.backgroundColor=i.backgroundColor,i.borderColor&&(v.style.borderColor=i.borderColor))}var oe;if(i.backgroundColor)oe=Mu({positionType:"individualShift",children:[{type:"elem",elem:v,shift:b},{type:"elem",elem:u,shift:0}]});else{var be=/cancel|phase/.test(d)?["svg-align"]:[];oe=Mu({positionType:"individualShift",children:[{type:"elem",elem:u,shift:0},{type:"elem",elem:v,shift:b,wrapperClasses:be}]})}return/cancel/.test(d)&&(oe.height=u.height,oe.depth=u.depth),/cancel/.test(d)&&!y?di(["mord","cancel-lap"],[oe],a):di(["mord"],[oe],a)},NQ=(i,a)=>{var u=0,d=new Si(i.label.includes("colorbox")?"mpadded":"menclose",[Al(i.body,a)]);switch(i.label){case"\\cancel":d.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":d.setAttribute("notation","downdiagonalstrike");break;case"\\phase":d.setAttribute("notation","phasorangle");break;case"\\sout":d.setAttribute("notation","horizontalstrike");break;case"\\fbox":d.setAttribute("notation","box");break;case"\\angl":d.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(u=a.fontMetrics().fboxsep*a.fontMetrics().ptPerEm,d.setAttribute("width","+"+2*u+"pt"),d.setAttribute("height","+"+2*u+"pt"),d.setAttribute("lspace",u+"pt"),d.setAttribute("voffset",u+"pt"),i.label==="\\fcolorbox"){var p=Math.max(a.fontMetrics().fboxrule,a.minRuleThickness);d.setAttribute("style","border: "+Oi(p)+" solid "+i.borderColor)}break;case"\\xcancel":d.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return i.backgroundColor&&d.setAttribute("mathbackground",i.backgroundColor),d};es({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(i,a,u){var{parser:d,funcName:p}=i,v=Xo(a[0],"color-token").color,b=a[1];return{type:"enclose",mode:d.mode,label:p,backgroundColor:v,body:b}},htmlBuilder:OQ,mathmlBuilder:NQ}),es({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(i,a,u){var{parser:d,funcName:p}=i,v=Xo(a[0],"color-token").color,b=Xo(a[1],"color-token").color,y=a[2];return{type:"enclose",mode:d.mode,label:p,backgroundColor:b,borderColor:v,body:y}},htmlBuilder:OQ,mathmlBuilder:NQ}),es({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(i,a){var{parser:u}=i;return{type:"enclose",mode:u.mode,label:"\\fbox",body:a[0]}}}),es({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],props:{numArgs:1},handler(i,a){var{parser:u,funcName:d}=i,p=a[0];return{type:"enclose",mode:u.mode,label:d,body:p}},htmlBuilder:OQ,mathmlBuilder:NQ}),es({type:"enclose",names:["\\sout"],props:{numArgs:1,allowedInText:!0},handler(i,a){var{parser:u,funcName:d}=i;u.mode==="math"&&u.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var p=a[0];return{type:"enclose",mode:u.mode,label:d,body:p}},htmlBuilder:OQ,mathmlBuilder:NQ}),es({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(i,a){var{parser:u}=i;return{type:"enclose",mode:u.mode,label:"\\angl",body:a[0]}}});var lqe={};function X4(i){for(var{type:a,names:u,props:d,handler:p,htmlBuilder:v,mathmlBuilder:b}=i,y={type:a,numArgs:d.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:p},E=0;E<u.length;++E)lqe[u[E]]=y;v&&(xQ[a]=v),b&&(kQ[a]=b)}var hqe={};function et(i,a){hqe[i]=a}class W2{constructor(a,u,d){this.lexer=a,this.start=u,this.end=d}static range(a,u){return u?!a||!a.loc||!u.loc||a.loc.lexer!==u.loc.lexer?null:new W2(a.loc.lexer,a.loc.start,u.loc.end):a&&a.loc}}class ym{constructor(a,u){this.text=a,this.loc=u}range(a,u){return new ym(u,W2.range(this,a))}}function fqe(i){var a=[];i.consumeSpaces();var u=i.fetch().text;for(u==="\\relax"&&(i.consume(),i.consumeSpaces(),u=i.fetch().text);u==="\\hline"||u==="\\hdashline";)i.consume(),a.push(u==="\\hdashline"),i.consumeSpaces(),u=i.fetch().text;return a}var PQ=i=>{var a=i.parser.settings;if(!a.displayMode)throw new ki("{"+i.envName+"} can be used only in display mode.")},LUt=new Set(["gather","gather*"]);function Vbe(i){if(!i.includes("ed"))return!i.includes("*")}function M9(i,a,u){var{hskipBeforeAndAfter:d,addJot:p,cols:v,arraystretch:b,colSeparationType:y,autoTag:E,singleRow:_,emptySingleRow:A,maxNumCols:P,leqno:R}=a;if(i.gullet.beginGroup(),_||i.gullet.macros.set("\\cr","\\\\\\relax"),!b){var B=i.gullet.expandMacroAsText("\\arraystretch");if(B==null)b=1;else if(b=parseFloat(B),!b||b<0)throw new ki("Invalid \\arraystretch: "+B)}i.gullet.beginGroup();var j=[],W=[j],ee=[],ie=[],oe=E!=null?[]:void 0;function be(){E&&i.gullet.macros.set("\\@eqnsw","1",!0)}function ge(){oe&&(i.gullet.macros.get("\\df@tag")?(oe.push(i.subparse([new ym("\\df@tag")])),i.gullet.macros.set("\\df@tag",void 0,!0)):oe.push(!!E&&i.gullet.macros.get("\\@eqnsw")==="1"))}for(be(),ie.push(fqe(i));;){var ae=i.parseExpression(!1,_?"\\end":"\\\\");i.gullet.endGroup(),i.gullet.beginGroup();var ne={type:"ordgroup",mode:i.mode,body:ae};u&&(ne={type:"styling",mode:i.mode,style:u,body:[ne]}),j.push(ne);var se=i.fetch().text;if(se==="&"){if(P&&j.length===P){if(_||y)throw new ki("Too many tab characters: &",i.nextToken);i.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}i.consume()}else if(se==="\\end"){ge(),j.length===1&&ne.type==="styling"&&ne.body.length===1&&ne.body[0].type==="ordgroup"&&ne.body[0].body.length===0&&(W.length>1||!A)&&W.pop(),ie.length<W.length+1&&ie.push([]);break}else if(se==="\\\\"){i.consume();var de=void 0;i.gullet.future().text!==" "&&(de=i.parseSizeGroup(!0)),ee.push(de?de.value:null),ge(),ie.push(fqe(i)),j=[],W.push(j),be()}else throw new ki("Expected & or \\\\ or \\cr or \\end",i.nextToken)}return i.gullet.endGroup(),i.gullet.endGroup(),{type:"array",mode:i.mode,addJot:p,arraystretch:b,body:W,cols:v,rowGaps:ee,hskipBeforeAndAfter:d,hLinesBeforeRow:ie,colSeparationType:y,tags:oe,leqno:R}}function Gbe(i){return i.slice(0,1)==="d"?"display":"text"}var Q4=function(a,u){var d,p,v=a.body.length,b=a.hLinesBeforeRow,y=0,E=new Array(v),_=[],A=Math.max(u.fontMetrics().arrayRuleWidth,u.minRuleThickness),P=1/u.fontMetrics().ptPerEm,R=5*P;if(a.colSeparationType&&a.colSeparationType==="small"){var B=u.havingStyle(bo.SCRIPT).sizeMultiplier;R=.2778*(B/u.sizeMultiplier)}var j=a.colSeparationType==="CD"?Uh({number:3,unit:"ex"},u):12*P,W=3*P,ee=a.arraystretch*j,ie=.7*ee,oe=.3*ee,be=0;function ge(gt){for(var on=0;on<gt.length;++on)on>0&&(be+=.25),_.push({pos:be,isDashed:gt[on]})}for(ge(b[0]),d=0;d<a.body.length;++d){var ae=a.body[d],ne=ie,se=oe;y<ae.length&&(y=ae.length);var de=new Array(ae.length);for(p=0;p<ae.length;++p){var X=Du(ae[p],u);se<X.depth&&(se=X.depth),ne<X.height&&(ne=X.height),de[p]=X}var pe=a.rowGaps[d],G=0;pe&&(G=Uh(pe,u),G>0&&(G+=oe,se<G&&(se=G),G=0)),a.addJot&&d<a.body.length-1&&(se+=W),de.height=ne,de.depth=se,be+=ne,de.pos=be,be+=se+G,E[d]=de,ge(b[d+1])}var xe=be/2+u.fontMetrics().axisHeight,U=a.cols||[],Be=[],Pe,je,Ie=[];if(a.tags&&a.tags.some(gt=>gt))for(d=0;d<v;++d){var Se=E[d],Ce=Se.pos-xe,ke=a.tags[d],Ke=void 0;ke===!0?Ke=di(["eqn-num"],[],u):ke===!1?Ke=di([],[],u):Ke=di([],d1(ke,u,!0),u),Ke.depth=Se.depth,Ke.height=Se.height,Ie.push({type:"elem",elem:Ke,shift:Ce})}for(p=0,je=0;p<y||je<U.length;++p,++je){for(var zt,Ne=U[je],pn=!0;((Tt=Ne)==null?void 0:Tt.type)==="separator";){var Tt;if(pn||(Pe=di(["arraycolsep"],[]),Pe.style.width=Oi(u.fontMetrics().doubleRuleSep),Be.push(Pe)),Ne.separator==="|"||Ne.separator===":"){var Et=Ne.separator==="|"?"solid":"dashed",Wt=di(["vertical-separator"],[],u);Wt.style.height=Oi(be),Wt.style.borderRightWidth=Oi(A),Wt.style.borderRightStyle=Et,Wt.style.margin="0 "+Oi(-A/2);var un=be-xe;un&&(Wt.style.verticalAlign=Oi(-un)),Be.push(Wt)}else throw new ki("Invalid separator type: "+Ne.separator);je++,Ne=U[je],pn=!1}if(!(p>=y)){var yt=void 0;if(p>0||a.hskipBeforeAndAfter){var Bt,Ze;yt=(Bt=(Ze=Ne)==null?void 0:Ze.pregap)!=null?Bt:R,yt!==0&&(Pe=di(["arraycolsep"],[]),Pe.style.width=Oi(yt),Be.push(Pe))}var Dt=[];for(d=0;d<v;++d){var kt=E[d],Nn=kt[p];if(Nn){var ht=kt.pos-xe;Nn.depth=kt.depth,Nn.height=kt.height,Dt.push({type:"elem",elem:Nn,shift:ht})}}var qr=Mu({positionType:"individualShift",children:Dt}),xt=di(["col-align-"+(((zt=Ne)==null?void 0:zt.align)||"c")],[qr]);if(Be.push(xt),p<y-1||a.hskipBeforeAndAfter){var Ri,wi;yt=(Ri=(wi=Ne)==null?void 0:wi.postgap)!=null?Ri:R,yt!==0&&(Pe=di(["arraycolsep"],[]),Pe.style.width=Oi(yt),Be.push(Pe))}}}var ia=di(["mtable"],Be);if(_.length>0){for(var Hs=zD("hline",u,A),mo=zD("hdashline",u,A),Tr=[{type:"elem",elem:ia,shift:0}];_.length>0;){var On=_.pop(),Rn=On.pos-xe;On.isDashed?Tr.push({type:"elem",elem:mo,shift:Rn}):Tr.push({type:"elem",elem:Hs,shift:Rn})}ia=Mu({positionType:"individualShift",children:Tr})}if(Ie.length===0)return di(["mord"],[ia],u);var zn=Mu({positionType:"individualShift",children:Ie}),Ct=di(["tag"],[zn],u);return P7([ia,Ct])},MUt={c:"center ",l:"left ",r:"right "},J4=function(a,u){for(var d=[],p=new Si("mtd",[],["mtr-glue"]),v=new Si("mtd",[],["mml-eqn-num"]),b=0;b<a.body.length;b++){for(var y=a.body[b],E=[],_=0;_<y.length;_++)E.push(new Si("mtd",[Al(y[_],u)]));a.tags&&a.tags[b]&&(E.unshift(p),E.push(p),a.leqno?E.unshift(v):E.push(v)),d.push(new Si("mtr",E))}var A=new Si("mtable",d),P=a.arraystretch===.5?.1:.16+a.arraystretch-1+(a.addJot?.09:0);A.setAttribute("rowspacing",Oi(P));var R="",B="";if(a.cols&&a.cols.length>0){var j=a.cols,W="",ee=!1,ie=0,oe=j.length;j[0].type==="separator"&&(R+="top ",ie=1),j[j.length-1].type==="separator"&&(R+="bottom ",oe-=1);for(var be=ie;be<oe;be++){var ge=j[be];ge.type==="align"?(B+=MUt[ge.align],ee&&(W+="none "),ee=!0):ge.type==="separator"&&ee&&(W+=ge.separator==="|"?"solid ":"dashed ",ee=!1)}A.setAttribute("columnalign",B.trim()),/[sd]/.test(W)&&A.setAttribute("columnlines",W.trim())}if(a.colSeparationType==="align"){for(var ae=a.cols||[],ne="",se=1;se<ae.length;se++)ne+=se%2?"0em ":"1em ";A.setAttribute("columnspacing",ne.trim())}else a.colSeparationType==="alignat"||a.colSeparationType==="gather"?A.setAttribute("columnspacing","0em"):a.colSeparationType==="small"?A.setAttribute("columnspacing","0.2778em"):a.colSeparationType==="CD"?A.setAttribute("columnspacing","0.5em"):A.setAttribute("columnspacing","1em");var de="",X=a.hLinesBeforeRow;R+=X[0].length>0?"left ":"",R+=X[X.length-1].length>0?"right ":"";for(var pe=1;pe<X.length-1;pe++)de+=X[pe].length===0?"none ":X[pe][0]?"dashed ":"solid ";return/[sd]/.test(de)&&A.setAttribute("rowlines",de.trim()),R!==""&&(A=new Si("menclose",[A]),A.setAttribute("notation",R.trim())),a.arraystretch&&a.arraystretch<1&&(A=new Si("mstyle",[A]),A.setAttribute("scriptlevel","1")),A},dqe=function(a,u){a.envName.includes("ed")||PQ(a);var d=[],p=a.envName.includes("at")?"alignat":"align",v=a.envName==="split",b=M9(a.parser,{cols:d,addJot:!0,autoTag:v?void 0:Vbe(a.envName),emptySingleRow:!0,colSeparationType:p,maxNumCols:v?2:void 0,leqno:a.parser.settings.leqno},"display"),y=0,E=0,_={type:"ordgroup",mode:a.mode,body:[]};if(u[0]&&u[0].type==="ordgroup"){for(var A="",P=0;P<u[0].body.length;P++){var R=Xo(u[0].body[P],"textord");A+=R.text}y=Number(A),E=y*2}var B=!E;b.body.forEach(function(ie){for(var oe=1;oe<ie.length;oe+=2){var be=Xo(ie[oe],"styling"),ge=Xo(be.body[0],"ordgroup");ge.body.unshift(_)}if(B)E<ie.length&&(E=ie.length);else{var ae=ie.length/2;if(y<ae)throw new ki("Too many math in a row: "+("expected "+y+", but got "+ae),ie[0])}});for(var j=0;j<E;++j){var W="r",ee=0;j%2===1?W="l":j>0&&B&&(ee=1),d[j]={type:"align",align:W,pregap:ee,postgap:0}}return b.colSeparationType=B?"align":"alignat",b};X4({type:"array",names:["array","darray"],props:{numArgs:1},handler(i,a){var u=AQ(a[0]),d=u?[a[0]]:Xo(a[0],"ordgroup").body,p=d.map(function(b){var y=_Q(b),E=y.text;if("lcr".includes(E))return{type:"align",align:E};if(E==="|")return{type:"separator",separator:"|"};if(E===":")return{type:"separator",separator:":"};throw new ki("Unknown column alignment: "+E,b)}),v={cols:p,hskipBeforeAndAfter:!0,maxNumCols:p.length};return M9(i.parser,v,Gbe(i.envName))},htmlBuilder:Q4,mathmlBuilder:J4}),X4({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(i){var a={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[i.envName.replace("*","")],u="c",d={hskipBeforeAndAfter:!1,cols:[{type:"align",align:u}]};if(i.envName.charAt(i.envName.length-1)==="*"){var p=i.parser;if(p.consumeSpaces(),p.fetch().text==="["){if(p.consume(),p.consumeSpaces(),u=p.fetch().text,!"lcr".includes(u))throw new ki("Expected l or c or r",p.nextToken);p.consume(),p.consumeSpaces(),p.expect("]"),p.consume(),d.cols=[{type:"align",align:u}]}}var v=M9(i.parser,d,Gbe(i.envName)),b=Math.max(0,...v.body.map(y=>y.length));return v.cols=new Array(b).fill({type:"align",align:u}),a?{type:"leftright",mode:i.mode,body:[v],left:a[0],right:a[1],rightColor:void 0}:v},htmlBuilder:Q4,mathmlBuilder:J4}),X4({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(i){var a={arraystretch:.5},u=M9(i.parser,a,"script");return u.colSeparationType="small",u},htmlBuilder:Q4,mathmlBuilder:J4}),X4({type:"array",names:["subarray"],props:{numArgs:1},handler(i,a){var u=AQ(a[0]),d=u?[a[0]]:Xo(a[0],"ordgroup").body,p=d.map(function(y){var E=_Q(y),_=E.text;if("lc".includes(_))return{type:"align",align:_};throw new ki("Unknown column alignment: "+_,y)});if(p.length>1)throw new ki("{subarray} can contain only one column");var v={cols:p,hskipBeforeAndAfter:!1,arraystretch:.5},b=M9(i.parser,v,"script");if(b.body.length>0&&b.body[0].length>1)throw new ki("{subarray} can contain only one column");return b},htmlBuilder:Q4,mathmlBuilder:J4}),X4({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(i){var a={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},u=M9(i.parser,a,Gbe(i.envName));return{type:"leftright",mode:i.mode,body:[u],left:i.envName.includes("r")?".":"\\{",right:i.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:Q4,mathmlBuilder:J4}),X4({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:dqe,htmlBuilder:Q4,mathmlBuilder:J4}),X4({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(i){LUt.has(i.envName)&&PQ(i);var a={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Vbe(i.envName),emptySingleRow:!0,leqno:i.parser.settings.leqno};return M9(i.parser,a,"display")},htmlBuilder:Q4,mathmlBuilder:J4}),X4({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:dqe,htmlBuilder:Q4,mathmlBuilder:J4}),X4({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(i){PQ(i);var a={autoTag:Vbe(i.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:i.parser.settings.leqno};return M9(i.parser,a,"display")},htmlBuilder:Q4,mathmlBuilder:J4}),X4({type:"array",names:["CD"],props:{numArgs:0},handler(i){return PQ(i),mUt(i.parser)},htmlBuilder:Q4,mathmlBuilder:J4}),et("\\nonumber","\\gdef\\@eqnsw{0}"),et("\\notag","\\nonumber"),es({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(i,a){throw new ki(i.funcName+" valid only within array environment")}});var gqe=lqe;es({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(i,a){var{parser:u,funcName:d}=i,p=a[0];if(p.type!=="ordgroup")throw new ki("Invalid environment name",p);for(var v="",b=0;b<p.body.length;++b)v+=Xo(p.body[b],"textord").text;if(d==="\\begin"){if(!gqe.hasOwnProperty(v))throw new ki("No such environment: "+v,p);var y=gqe[v],{args:E,optArgs:_}=u.parseArguments("\\begin{"+v+"}",y),A={mode:u.mode,envName:v,parser:u},P=y.handler(A,E,_);u.expect("\\end",!1);var R=u.nextToken,B=Xo(u.parseFunction(),"environment");if(B.name!==v)throw new ki("Mismatch: \\begin{"+v+"} matched by \\end{"+B.name+"}",R);return P}return{type:"environment",mode:u.mode,name:v,nameGroup:p}}});var pqe=(i,a)=>{var u=i.font,d=a.withFont(u);return Du(i.body,d)},bqe=(i,a)=>{var u=i.font,d=a.withFont(u);return Al(i.body,d)},mqe={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};es({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(i,a)=>{var{parser:u,funcName:d}=i,p=TQ(a[0]),v=d;return v in mqe&&(v=mqe[v]),{type:"font",mode:u.mode,font:v.slice(1),body:p}},htmlBuilder:pqe,mathmlBuilder:bqe}),es({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(i,a)=>{var{parser:u}=i,d=a[0];return{type:"mclass",mode:u.mode,mclass:MQ(d),body:[{type:"font",mode:u.mode,font:"boldsymbol",body:d}],isCharacterBox:D7(d)}}}),es({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(i,a)=>{var{parser:u,funcName:d,breakOnTokenText:p}=i,{mode:v}=u,b=u.parseExpression(!0,p),y="math"+d.slice(1);return{type:"font",mode:v,font:y,body:{type:"ordgroup",mode:u.mode,body:b}}},htmlBuilder:pqe,mathmlBuilder:bqe});var DUt=(i,a)=>{var u=a.style,d=u.fracNum(),p=u.fracDen(),v;v=a.havingStyle(d);var b=Du(i.numer,v,a);if(i.continued){var y=8.5/a.fontMetrics().ptPerEm,E=3.5/a.fontMetrics().ptPerEm;b.height=b.height<y?y:b.height,b.depth=b.depth<E?E:b.depth}v=a.havingStyle(p);var _=Du(i.denom,v,a),A,P,R;i.hasBarLine?(i.barSize?(P=Uh(i.barSize,a),A=zD("frac-line",a,P)):A=zD("frac-line",a),P=A.height,R=A.height):(A=null,P=0,R=a.fontMetrics().defaultRuleThickness);var B,j,W;u.size===bo.DISPLAY.size?(B=a.fontMetrics().num1,P>0?j=3*R:j=7*R,W=a.fontMetrics().denom1):(P>0?(B=a.fontMetrics().num2,j=R):(B=a.fontMetrics().num3,j=3*R),W=a.fontMetrics().denom2);var ee;if(A){var oe=a.fontMetrics().axisHeight;B-b.depth-(oe+.5*P)<j&&(B+=j-(B-b.depth-(oe+.5*P))),oe-.5*P-(_.height-W)<j&&(W+=j-(oe-.5*P-(_.height-W)));var be=-(oe-.5*P);ee=Mu({positionType:"individualShift",children:[{type:"elem",elem:_,shift:W},{type:"elem",elem:A,shift:be},{type:"elem",elem:b,shift:-B}]})}else{var ie=B-b.depth-(_.height-W);ie<j&&(B+=.5*(j-ie),W+=.5*(j-ie)),ee=Mu({positionType:"individualShift",children:[{type:"elem",elem:_,shift:W},{type:"elem",elem:b,shift:-B}]})}v=a.havingStyle(u),ee.height*=v.sizeMultiplier/a.sizeMultiplier,ee.depth*=v.sizeMultiplier/a.sizeMultiplier;var ge;u.size===bo.DISPLAY.size?ge=a.fontMetrics().delim1:u.size===bo.SCRIPTSCRIPT.size?ge=a.havingStyle(bo.SCRIPT).fontMetrics().delim2:ge=a.fontMetrics().delim2;var ae,ne;return i.leftDelim==null?ae=vR(a,["mopen"]):ae=Hbe(i.leftDelim,ge,!0,a.havingStyle(u),i.mode,["mopen"]),i.continued?ne=di([]):i.rightDelim==null?ne=vR(a,["mclose"]):ne=Hbe(i.rightDelim,ge,!0,a.havingStyle(u),i.mode,["mclose"]),di(["mord"].concat(v.sizingClasses(a)),[ae,di(["mfrac"],[ee]),ne],a)},IUt=(i,a)=>{var u=new Si("mfrac",[Al(i.numer,a),Al(i.denom,a)]);if(!i.hasBarLine)u.setAttribute("linethickness","0px");else if(i.barSize){var d=Uh(i.barSize,a);u.setAttribute("linethickness",Oi(d))}if(i.leftDelim!=null||i.rightDelim!=null){var p=[];if(i.leftDelim!=null){var v=new Si("mo",[new B0(i.leftDelim.replace("\\",""))]);v.setAttribute("fence","true"),p.push(v)}if(p.push(u),i.rightDelim!=null){var b=new Si("mo",[new B0(i.rightDelim.replace("\\",""))]);b.setAttribute("fence","true"),p.push(b)}return Dbe(p)}return u},vqe=(i,a)=>{if(!a)return i;var u={type:"styling",mode:i.mode,style:a,body:[i]};return u};es({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(i,a)=>{var{parser:u,funcName:d}=i,p=a[0],v=a[1],b,y=null,E=null;switch(d){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":b=!0;break;case"\\\\atopfrac":b=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":b=!1,y="(",E=")";break;case"\\\\bracefrac":b=!1,y="\\{",E="\\}";break;case"\\\\brackfrac":b=!1,y="[",E="]";break;default:throw new Error("Unrecognized genfrac command")}var _=d==="\\cfrac",A=null;return _||d.startsWith("\\d")?A="display":d.startsWith("\\t")&&(A="text"),vqe({type:"genfrac",mode:u.mode,numer:p,denom:v,continued:_,hasBarLine:b,leftDelim:y,rightDelim:E,barSize:null},A)},htmlBuilder:DUt,mathmlBuilder:IUt}),es({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(i){var{parser:a,funcName:u,token:d}=i,p;switch(u){case"\\over":p="\\frac";break;case"\\choose":p="\\binom";break;case"\\atop":p="\\\\atopfrac";break;case"\\brace":p="\\\\bracefrac";break;case"\\brack":p="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:a.mode,replaceWith:p,token:d}}});var wqe=["display","text","script","scriptscript"],yqe=function(a){var u=null;return a.length>0&&(u=a,u=u==="."?null:u),u};es({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(i,a){var{parser:u}=i,d=a[4],p=a[5],v=TQ(a[0]),b=v.type==="atom"&&v.family==="open"?yqe(v.text):null,y=TQ(a[1]),E=y.type==="atom"&&y.family==="close"?yqe(y.text):null,_=Xo(a[2],"size"),A,P=null;_.isBlank?A=!0:(P=_.value,A=P.number>0);var R=null,B=a[3];if(B.type==="ordgroup"){if(B.body.length>0){var j=Xo(B.body[0],"textord");R=wqe[Number(j.text)]}}else B=Xo(B,"textord"),R=wqe[Number(B.text)];return vqe({type:"genfrac",mode:u.mode,numer:d,denom:p,continued:!1,hasBarLine:A,barSize:P,leftDelim:b,rightDelim:E},R)}}),es({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(i,a){var{parser:u,funcName:d,token:p}=i;return{type:"infix",mode:u.mode,replaceWith:"\\\\abovefrac",size:Xo(a[0],"size").value,token:p}}}),es({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(i,a)=>{var{parser:u,funcName:d}=i,p=a[0],v=Xo(a[1],"infix").size;if(!v)throw new Error("\\\\abovefrac expected size, but got "+String(v));var b=a[2],y=v.number>0;return{type:"genfrac",mode:u.mode,numer:p,denom:b,continued:!1,hasBarLine:y,barSize:v,leftDelim:null,rightDelim:null}}});var xqe=(i,a)=>{var u=a.style,d,p;i.type==="supsub"?(d=i.sup?Du(i.sup,a.havingStyle(u.sup()),a):Du(i.sub,a.havingStyle(u.sub()),a),p=Xo(i.base,"horizBrace")):p=Xo(i,"horizBrace");var v=Du(p.base,a.havingBaseStyle(bo.DISPLAY)),b=SQ(p,a),y;if(p.isOver?(y=Mu({positionType:"firstBaseline",children:[{type:"elem",elem:v},{type:"kern",size:.1},{type:"elem",elem:b}]}),y.children[0].children[0].children[1].classes.push("svg-align")):(y=Mu({positionType:"bottom",positionData:v.depth+.1+b.height,children:[{type:"elem",elem:b},{type:"kern",size:.1},{type:"elem",elem:v}]}),y.children[0].children[0].children[0].classes.push("svg-align")),d){var E=di(["minner",p.isOver?"mover":"munder"],[y],a);p.isOver?y=Mu({positionType:"firstBaseline",children:[{type:"elem",elem:E},{type:"kern",size:.2},{type:"elem",elem:d}]}):y=Mu({positionType:"bottom",positionData:E.depth+.2+d.height+d.depth,children:[{type:"elem",elem:d},{type:"kern",size:.2},{type:"elem",elem:E}]})}return di(["minner",p.isOver?"mover":"munder"],[y],a)},OUt=(i,a)=>{var u=CQ(i.label);return new Si(i.isOver?"mover":"munder",[Al(i.base,a),u])};es({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],props:{numArgs:1},handler(i,a){var{parser:u,funcName:d}=i;return{type:"horizBrace",mode:u.mode,label:d,isOver:d.includes("\\over"),base:a[0]}},htmlBuilder:xqe,mathmlBuilder:OUt}),es({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(i,a)=>{var{parser:u}=i,d=a[1],p=Xo(a[0],"url").url;return u.settings.isTrusted({command:"\\href",url:p})?{type:"href",mode:u.mode,href:p,body:P0(d)}:u.formatUnsupportedCmd("\\href")},htmlBuilder:(i,a)=>{var u=d1(i.body,a,!1);return XHt(i.href,[],u,a)},mathmlBuilder:(i,a)=>{var u=L9(i.body,a);return u instanceof Si||(u=new Si("mrow",[u])),u.setAttribute("href",i.href),u}}),es({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(i,a)=>{var{parser:u}=i,d=Xo(a[0],"url").url;if(!u.settings.isTrusted({command:"\\url",url:d}))return u.formatUnsupportedCmd("\\url");for(var p=[],v=0;v<d.length;v++){var b=d[v];b==="~"&&(b="\\textasciitilde"),p.push({type:"textord",mode:"text",text:b})}var y={type:"text",mode:u.mode,font:"\\texttt",body:p};return{type:"href",mode:u.mode,href:d,body:P0(y)}}}),es({type:"hbox",names:["\\hbox"],props:{numArgs:1,argTypes:["text"],allowedInText:!0,primitive:!0},handler(i,a){var{parser:u}=i;return{type:"hbox",mode:u.mode,body:P0(a[0])}},htmlBuilder(i,a){var u=d1(i.body,a,!1);return P7(u)},mathmlBuilder(i,a){return new Si("mrow",wm(i.body,a))}}),es({type:"html",names:["\\htmlClass","\\htmlId","\\htmlStyle","\\htmlData"],props:{numArgs:2,argTypes:["raw","original"],allowedInText:!0},handler:(i,a)=>{var{parser:u,funcName:d,token:p}=i,v=Xo(a[0],"raw").string,b=a[1];u.settings.strict&&u.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var y,E={};switch(d){case"\\htmlClass":E.class=v,y={command:"\\htmlClass",class:v};break;case"\\htmlId":E.id=v,y={command:"\\htmlId",id:v};break;case"\\htmlStyle":E.style=v,y={command:"\\htmlStyle",style:v};break;case"\\htmlData":{for(var _=v.split(","),A=0;A<_.length;A++){var P=_[A],R=P.indexOf("=");if(R<0)throw new ki("\\htmlData key/value '"+P+"' missing equals sign");var B=P.slice(0,R),j=P.slice(R+1);E["data-"+B.trim()]=j}y={command:"\\htmlData",attributes:E};break}default:throw new Error("Unrecognized html command")}return u.settings.isTrusted(y)?{type:"html",mode:u.mode,attributes:E,body:P0(b)}:u.formatUnsupportedCmd(d)},htmlBuilder:(i,a)=>{var u=d1(i.body,a,!1),d=["enclosing"];i.attributes.class&&d.push(...i.attributes.class.trim().split(/\s+/));var p=di(d,u,a);for(var v in i.attributes)v!=="class"&&i.attributes.hasOwnProperty(v)&&p.setAttribute(v,i.attributes[v]);return p},mathmlBuilder:(i,a)=>L9(i.body,a)}),es({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(i,a)=>{var{parser:u}=i;return{type:"htmlmathml",mode:u.mode,html:P0(a[0]),mathml:P0(a[1])}},htmlBuilder:(i,a)=>{var u=d1(i.html,a,!1);return P7(u)},mathmlBuilder:(i,a)=>L9(i.mathml,a)});var Kbe=function(a){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(a))return{number:+a,unit:"bp"};var u=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(a);if(!u)throw new ki("Invalid size: '"+a+"' in \\includegraphics");var d={number:+(u[1]+u[2]),unit:u[3]};if(!wze(d))throw new ki("Invalid unit: '"+d.unit+"' in \\includegraphics.");return d};es({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(i,a,u)=>{var{parser:d}=i,p={number:0,unit:"em"},v={number:.9,unit:"em"},b={number:0,unit:"em"},y="";if(u[0])for(var E=Xo(u[0],"raw").string,_=E.split(","),A=0;A<_.length;A++){var P=_[A].split("=");if(P.length===2){var R=P[1].trim();switch(P[0].trim()){case"alt":y=R;break;case"width":p=Kbe(R);break;case"height":v=Kbe(R);break;case"totalheight":b=Kbe(R);break;default:throw new ki("Invalid key: '"+P[0]+"' in \\includegraphics.")}}}var B=Xo(a[0],"url").url;return y===""&&(y=B,y=y.replace(/^.*[\\/]/,""),y=y.substring(0,y.lastIndexOf("."))),d.settings.isTrusted({command:"\\includegraphics",url:B})?{type:"includegraphics",mode:d.mode,alt:y,width:p,height:v,totalheight:b,src:B}:d.formatUnsupportedCmd("\\includegraphics")},htmlBuilder:(i,a)=>{var u=Uh(i.height,a),d=0;i.totalheight.number>0&&(d=Uh(i.totalheight,a)-u);var p=0;i.width.number>0&&(p=Uh(i.width,a));var v={height:Oi(u+d)};p>0&&(v.width=Oi(p)),d>0&&(v.verticalAlign=Oi(-d));var b=new jHt(i.src,i.alt,v);return b.height=u,b.depth=d,b},mathmlBuilder:(i,a)=>{var u=new Si("mglyph",[]);u.setAttribute("alt",i.alt);var d=Uh(i.height,a),p=0;if(i.totalheight.number>0&&(p=Uh(i.totalheight,a)-d,u.setAttribute("valign",Oi(-p))),u.setAttribute("height",Oi(d+p)),i.width.number>0){var v=Uh(i.width,a);u.setAttribute("width",Oi(v))}return u.setAttribute("src",i.src),u}}),es({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(i,a){var{parser:u,funcName:d}=i,p=Xo(a[0],"size");if(u.settings.strict){var v=d[1]==="m",b=p.value.unit==="mu";v?(b||u.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+d+" supports only mu units, "+("not "+p.value.unit+" units")),u.mode!=="math"&&u.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+d+" works only in math mode")):b&&u.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+d+" doesn't support mu units")}return{type:"kern",mode:u.mode,dimension:p.value}},htmlBuilder(i,a){return Ize(i.dimension,a)},mathmlBuilder(i,a){var u=Uh(i.dimension,a);return new Rze(u)}}),es({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(i,a)=>{var{parser:u,funcName:d}=i,p=a[0];return{type:"lap",mode:u.mode,alignment:d.slice(5),body:p}},htmlBuilder:(i,a)=>{var u;i.alignment==="clap"?(u=di([],[Du(i.body,a)]),u=di(["inner"],[u],a)):u=di(["inner"],[Du(i.body,a)]);var d=di(["fix"],[]),p=di([i.alignment],[u,d],a),v=di(["strut"]);return v.style.height=Oi(p.height+p.depth),p.depth&&(v.style.verticalAlign=Oi(-p.depth)),p.children.unshift(v),p=di(["thinbox"],[p],a),di(["mord","vbox"],[p],a)},mathmlBuilder:(i,a)=>{var u=new Si("mpadded",[Al(i.body,a)]);if(i.alignment!=="rlap"){var d=i.alignment==="llap"?"-1":"-0.5";u.setAttribute("lspace",d+"width")}return u.setAttribute("width","0px"),u}}),es({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(i,a){var{funcName:u,parser:d}=i,p=d.mode;d.switchMode("math");var v=u==="\\("?"\\)":"$",b=d.parseExpression(!1,v);return d.expect(v),d.switchMode(p),{type:"styling",mode:d.mode,style:"text",body:b}}}),es({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(i,a){throw new ki("Mismatched "+i.funcName)}});var kqe=(i,a)=>{switch(a.style.size){case bo.DISPLAY.size:return i.display;case bo.TEXT.size:return i.text;case bo.SCRIPT.size:return i.script;case bo.SCRIPTSCRIPT.size:return i.scriptscript;default:return i.text}};es({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(i,a)=>{var{parser:u}=i;return{type:"mathchoice",mode:u.mode,display:P0(a[0]),text:P0(a[1]),script:P0(a[2]),scriptscript:P0(a[3])}},htmlBuilder:(i,a)=>{var u=kqe(i,a),d=d1(u,a,!1);return P7(d)},mathmlBuilder:(i,a)=>{var u=kqe(i,a);return L9(u,a)}});var Tqe=(i,a,u,d,p,v,b)=>{i=di([],[i]);var y=u&&D7(u),E,_;if(a){var A=Du(a,d.havingStyle(p.sup()),d);_={elem:A,kern:Math.max(d.fontMetrics().bigOpSpacing1,d.fontMetrics().bigOpSpacing3-A.depth)}}if(u){var P=Du(u,d.havingStyle(p.sub()),d);E={elem:P,kern:Math.max(d.fontMetrics().bigOpSpacing2,d.fontMetrics().bigOpSpacing4-P.height)}}var R;if(_&&E){var B=d.fontMetrics().bigOpSpacing5+E.elem.height+E.elem.depth+E.kern+i.depth+b;R=Mu({positionType:"bottom",positionData:B,children:[{type:"kern",size:d.fontMetrics().bigOpSpacing5},{type:"elem",elem:E.elem,marginLeft:Oi(-v)},{type:"kern",size:E.kern},{type:"elem",elem:i},{type:"kern",size:_.kern},{type:"elem",elem:_.elem,marginLeft:Oi(v)},{type:"kern",size:d.fontMetrics().bigOpSpacing5}]})}else if(E){var j=i.height-b;R=Mu({positionType:"top",positionData:j,children:[{type:"kern",size:d.fontMetrics().bigOpSpacing5},{type:"elem",elem:E.elem,marginLeft:Oi(-v)},{type:"kern",size:E.kern},{type:"elem",elem:i}]})}else if(_){var W=i.depth+b;R=Mu({positionType:"bottom",positionData:W,children:[{type:"elem",elem:i},{type:"kern",size:_.kern},{type:"elem",elem:_.elem,marginLeft:Oi(v)},{type:"kern",size:d.fontMetrics().bigOpSpacing5}]})}else return i;var ee=[R];if(E&&v!==0&&!y){var ie=di(["mspace"],[],d);ie.style.marginRight=Oi(v),ee.unshift(ie)}return di(["mop","op-limits"],ee,d)},Eqe=new Set(["\\smallint"]),HD=(i,a)=>{var u,d,p=!1,v;i.type==="supsub"?(u=i.sup,d=i.sub,v=Xo(i.base,"op"),p=!0):v=Xo(i,"op");var b=a.style,y=!1;b.size===bo.DISPLAY.size&&v.symbol&&!Eqe.has(v.name)&&(y=!0);var E;if(v.symbol){var _=y?"Size2-Regular":"Size1-Regular",A="";if((v.name==="\\oiint"||v.name==="\\oiiint")&&(A=v.name.slice(1),v.name=A==="oiint"?"\\iint":"\\iiint"),E=Rp(v.name,_,"math",a,["mop","op-symbol",y?"large-op":"small-op"]),A.length>0){var P=E.italic,R=Nze(A+"Size"+(y?"2":"1"),a);E=Mu({positionType:"individualShift",children:[{type:"elem",elem:E,shift:0},{type:"elem",elem:R,shift:y?.08:0}]}),v.name="\\"+A,E.classes.unshift("mop"),E.italic=P}}else if(v.body){var B=d1(v.body,a,!0);B.length===1&&B[0]instanceof mm?(E=B[0],E.classes[0]="mop"):E=di(["mop"],B,a)}else{for(var j=[],W=1;W<v.name.length;W++)j.push(Ebe(v.name[W],v.mode,a));E=di(["mop"],j,a)}var ee=0,ie=0;return(E instanceof mm||v.name==="\\oiint"||v.name==="\\oiiint")&&!v.suppressBaseShift&&(ee=(E.height-E.depth)/2-a.fontMetrics().axisHeight,ie=E.italic||0),p?Tqe(E,u,d,a,b,ie,ee):(ee&&(E.style.position="relative",E.style.top=Oi(ee)),E)},xR=(i,a)=>{var u;if(i.symbol)u=new Si("mo",[Vv(i.name,i.mode)]),Eqe.has(i.name)&&u.setAttribute("largeop","false");else if(i.body)u=new Si("mo",wm(i.body,a));else{u=new Si("mi",[new B0(i.name.slice(1))]);var d=new Si("mo",[Vv("","text")]);i.parentIsSupSub?u=new Si("mrow",[u,d]):u=Fze([u,d])}return u},NUt={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","":"\\bigvee","⋂":"\\bigcap","":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};es({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","","⋂","","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(i,a)=>{var{parser:u,funcName:d}=i,p=d;return p.length===1&&(p=NUt[p]),{type:"op",mode:u.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:p}},htmlBuilder:HD,mathmlBuilder:xR}),es({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(i,a)=>{var{parser:u}=i,d=a[0];return{type:"op",mode:u.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:P0(d)}},htmlBuilder:HD,mathmlBuilder:xR});var PUt={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};es({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(i){var{parser:a,funcName:u}=i;return{type:"op",mode:a.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:u}},htmlBuilder:HD,mathmlBuilder:xR}),es({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(i){var{parser:a,funcName:u}=i;return{type:"op",mode:a.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:u}},htmlBuilder:HD,mathmlBuilder:xR}),es({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0,allowedInArgument:!0},handler(i){var{parser:a,funcName:u}=i,d=u;return d.length===1&&(d=PUt[d]),{type:"op",mode:a.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:d}},htmlBuilder:HD,mathmlBuilder:xR});var Cqe=(i,a)=>{var u,d,p=!1,v;i.type==="supsub"?(u=i.sup,d=i.sub,v=Xo(i.base,"operatorname"),p=!0):v=Xo(i,"operatorname");var b;if(v.body.length>0){for(var y=v.body.map(P=>{var R="text"in P?P.text:void 0;return typeof R=="string"?{type:"textord",mode:P.mode,text:R}:P}),E=d1(y,a.withFont("mathrm"),!0),_=0;_<E.length;_++){var A=E[_];A instanceof mm&&(A.text=A.text.replace(/\u2212/,"-").replace(/\u2217/,"*"))}b=di(["mop"],E,a)}else b=di(["mop"],[],a);return p?Tqe(b,u,d,a,a.style,0,0):b},BUt=(i,a)=>{for(var u=wm(i.body,a.withFont("mathrm")),d=!0,p=0;p<u.length;p++){var v=u[p];if(!(v instanceof Rze))if(v instanceof Si)switch(v.type){case"mi":case"mn":case"mspace":case"mtext":break;case"mo":{var b=v.children[0];v.children.length===1&&b instanceof B0?b.text=b.text.replace(/\u2212/,"-").replace(/\u2217/,"*"):d=!1;break}default:d=!1}else d=!1}if(d){var y=u.map(A=>A.toText()).join("");u=[new B0(y)]}var E=new Si("mi",u);E.setAttribute("mathvariant","normal");var _=new Si("mo",[Vv("","text")]);return i.parentIsSupSub?new Si("mrow",[E,_]):Fze([E,_])};es({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(i,a)=>{var{parser:u,funcName:d}=i,p=a[0];return{type:"operatorname",mode:u.mode,body:P0(p),alwaysHandleSupSub:d==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:Cqe,mathmlBuilder:BUt}),et("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@"),qC({type:"ordgroup",htmlBuilder(i,a){return i.semisimple?P7(d1(i.body,a,!1)):di(["mord"],d1(i.body,a,!0),a)},mathmlBuilder(i,a){return L9(i.body,a,!0)}}),es({type:"overline",names:["\\overline"],props:{numArgs:1},handler(i,a){var{parser:u}=i,d=a[0];return{type:"overline",mode:u.mode,body:d}},htmlBuilder(i,a){var u=Du(i.body,a.havingCrampedStyle()),d=zD("overline-line",a),p=a.fontMetrics().defaultRuleThickness,v=Mu({positionType:"firstBaseline",children:[{type:"elem",elem:u},{type:"kern",size:3*p},{type:"elem",elem:d},{type:"kern",size:p}]});return di(["mord","overline"],[v],a)},mathmlBuilder(i,a){var u=new Si("mo",[new B0("‾")]);u.setAttribute("stretchy","true");var d=new Si("mover",[Al(i.body,a),u]);return d.setAttribute("accent","true"),d}}),es({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(i,a)=>{var{parser:u}=i,d=a[0];return{type:"phantom",mode:u.mode,body:P0(d)}},htmlBuilder:(i,a)=>{var u=d1(i.body,a.withPhantom(),!1);return P7(u)},mathmlBuilder:(i,a)=>{var u=wm(i.body,a);return new Si("mphantom",u)}}),et("\\hphantom","\\smash{\\phantom{#1}}"),es({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(i,a)=>{var{parser:u}=i,d=a[0];return{type:"vphantom",mode:u.mode,body:d}},htmlBuilder:(i,a)=>{var u=di(["inner"],[Du(i.body,a.withPhantom())]),d=di(["fix"],[]);return di(["mord","rlap"],[u,d],a)},mathmlBuilder:(i,a)=>{var u=wm(P0(i.body),a),d=new Si("mphantom",u),p=new Si("mpadded",[d]);return p.setAttribute("width","0px"),p}}),es({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(i,a){var{parser:u}=i,d=Xo(a[0],"size").value,p=a[1];return{type:"raisebox",mode:u.mode,dy:d,body:p}},htmlBuilder(i,a){var u=Du(i.body,a),d=Uh(i.dy,a);return Mu({positionType:"shift",positionData:-d,children:[{type:"elem",elem:u}]})},mathmlBuilder(i,a){var u=new Si("mpadded",[Al(i.body,a)]),d=i.dy.number+i.dy.unit;return u.setAttribute("voffset",d),u}}),es({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(i){var{parser:a}=i;return{type:"internal",mode:a.mode}}}),es({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(i,a,u){var{parser:d}=i,p=u[0],v=Xo(a[0],"size"),b=Xo(a[1],"size");return{type:"rule",mode:d.mode,shift:p&&Xo(p,"size").value,width:v.value,height:b.value}},htmlBuilder(i,a){var u=di(["mord","rule"],[],a),d=Uh(i.width,a),p=Uh(i.height,a),v=i.shift?Uh(i.shift,a):0;return u.style.borderRightWidth=Oi(d),u.style.borderTopWidth=Oi(p),u.style.bottom=Oi(v),u.width=d,u.height=p+v,u.depth=-v,u.maxFontSize=p*1.125*a.sizeMultiplier,u},mathmlBuilder(i,a){var u=Uh(i.width,a),d=Uh(i.height,a),p=i.shift?Uh(i.shift,a):0,v=a.color&&a.getColor()||"black",b=new Si("mspace");b.setAttribute("mathbackground",v),b.setAttribute("width",Oi(u)),b.setAttribute("height",Oi(d));var y=new Si("mpadded",[b]);return p>=0?y.setAttribute("height",Oi(p)):(y.setAttribute("height",Oi(p)),y.setAttribute("depth",Oi(-p))),y.setAttribute("voffset",Oi(p)),y}});function Sqe(i,a,u){for(var d=d1(i,a,!1),p=a.sizeMultiplier/u.sizeMultiplier,v=0;v<d.length;v++){var b=d[v].classes.indexOf("sizing");b<0?Array.prototype.push.apply(d[v].classes,a.sizingClasses(u)):d[v].classes[b+1]==="reset-size"+a.size&&(d[v].classes[b+1]="reset-size"+u.size),d[v].height*=p,d[v].depth*=p}return P7(d)}var _qe=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],FUt=(i,a)=>{var u=a.havingSize(i.size);return Sqe(i.body,u,a)};es({type:"sizing",names:_qe,props:{numArgs:0,allowedInText:!0},handler:(i,a)=>{var{breakOnTokenText:u,funcName:d,parser:p}=i,v=p.parseExpression(!1,u);return{type:"sizing",mode:p.mode,size:_qe.indexOf(d)+1,body:v}},htmlBuilder:FUt,mathmlBuilder:(i,a)=>{var u=a.havingSize(i.size),d=wm(i.body,u),p=new Si("mstyle",d);return p.setAttribute("mathsize",Oi(u.sizeMultiplier)),p}}),es({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(i,a,u)=>{var{parser:d}=i,p=!1,v=!1,b=u[0]&&Xo(u[0],"ordgroup");if(b)for(var y="",E=0;E<b.body.length;++E){var _=b.body[E];if(y=_Q(_).text,y==="t")p=!0;else if(y==="b")v=!0;else{p=!1,v=!1;break}}else p=!0,v=!0;var A=a[0];return{type:"smash",mode:d.mode,body:A,smashHeight:p,smashDepth:v}},htmlBuilder:(i,a)=>{var u=di([],[Du(i.body,a)]);if(!i.smashHeight&&!i.smashDepth)return u;if(i.smashHeight&&(u.height=0),i.smashDepth&&(u.depth=0),i.smashHeight&&i.smashDepth)return di(["mord","smash"],[u],a);if(u.children)for(var d=0;d<u.children.length;d++)i.smashHeight&&(u.children[d].height=0),i.smashDepth&&(u.children[d].depth=0);var p=Mu({positionType:"firstBaseline",children:[{type:"elem",elem:u}]});return di(["mord"],[p],a)},mathmlBuilder:(i,a)=>{var u=new Si("mpadded",[Al(i.body,a)]);return i.smashHeight&&u.setAttribute("height","0px"),i.smashDepth&&u.setAttribute("depth","0px"),u}}),es({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(i,a,u){var{parser:d}=i,p=u[0],v=a[0];return{type:"sqrt",mode:d.mode,body:v,index:p}},htmlBuilder(i,a){var u=Du(i.body,a.havingCrampedStyle());u.height===0&&(u.height=a.fontMetrics().xHeight),u=qD(u,a);var d=a.fontMetrics(),p=d.defaultRuleThickness,v=p;a.style.id<bo.TEXT.id&&(v=a.fontMetrics().xHeight);var b=p+v/4,y=u.height+u.depth+b+p,{span:E,ruleWidth:_,advanceWidth:A}=TUt(y,a),P=E.height-_;P>u.height+u.depth+b&&(b=(b+P-u.height-u.depth)/2);var R=E.height-u.height-b-_;u.style.paddingLeft=Oi(A);var B=Mu({positionType:"firstBaseline",children:[{type:"elem",elem:u,wrapperClasses:["svg-align"]},{type:"kern",size:-(u.height+R)},{type:"elem",elem:E},{type:"kern",size:_}]});if(i.index){var j=a.havingStyle(bo.SCRIPTSCRIPT),W=Du(i.index,j,a),ee=.6*(B.height-B.depth),ie=Mu({positionType:"shift",positionData:-ee,children:[{type:"elem",elem:W}]}),oe=di(["root"],[ie]);return di(["mord","sqrt"],[oe,B],a)}else return di(["mord","sqrt"],[B],a)},mathmlBuilder(i,a){var{body:u,index:d}=i;return d?new Si("mroot",[Al(u,a),Al(d,a)]):new Si("msqrt",[Al(u,a)])}});var Aqe={display:bo.DISPLAY,text:bo.TEXT,script:bo.SCRIPT,scriptscript:bo.SCRIPTSCRIPT};es({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(i,a){var{breakOnTokenText:u,funcName:d,parser:p}=i,v=p.parseExpression(!0,u),b=d.slice(1,d.length-5);return{type:"styling",mode:p.mode,style:b,body:v}},htmlBuilder(i,a){var u=Aqe[i.style],d=a.havingStyle(u).withFont("");return Sqe(i.body,d,a)},mathmlBuilder(i,a){var u=Aqe[i.style],d=a.havingStyle(u),p=wm(i.body,d),v=new Si("mstyle",p),b={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},y=b[i.style];return v.setAttribute("scriptlevel",y[0]),v.setAttribute("displaystyle",y[1]),v}});var RUt=function(a,u){var d=a.base;if(d)if(d.type==="op"){var p=d.limits&&(u.style.size===bo.DISPLAY.size||d.alwaysHandleSupSub);return p?HD:null}else if(d.type==="operatorname"){var v=d.alwaysHandleSupSub&&(u.style.size===bo.DISPLAY.size||d.limits);return v?Cqe:null}else{if(d.type==="accent")return D7(d.base)?Nbe:null;if(d.type==="horizBrace"){var b=!a.sub;return b===d.isOver?xqe:null}else return null}else return null};qC({type:"supsub",htmlBuilder(i,a){var u=RUt(i,a);if(u)return u(i,a);var{base:d,sup:p,sub:v}=i,b=Du(d,a),y,E,_=a.fontMetrics(),A=0,P=0,R=d&&D7(d);if(p){var B=a.havingStyle(a.style.sup());y=Du(p,B,a),R||(A=b.height-B.fontMetrics().supDrop*B.sizeMultiplier/a.sizeMultiplier)}if(v){var j=a.havingStyle(a.style.sub());E=Du(v,j,a),R||(P=b.depth+j.fontMetrics().subDrop*j.sizeMultiplier/a.sizeMultiplier)}var W;a.style===bo.DISPLAY?W=_.sup1:a.style.cramped?W=_.sup3:W=_.sup2;var ee=a.sizeMultiplier,ie=Oi(.5/_.ptPerEm/ee),oe=null;if(E){var be=i.base&&i.base.type==="op"&&i.base.name&&(i.base.name==="\\oiint"||i.base.name==="\\oiiint");(b instanceof mm||be)&&(oe=Oi(-b.italic))}var ge;if(y&&E){A=Math.max(A,W,y.depth+.25*_.xHeight),P=Math.max(P,_.sub2);var ae=_.defaultRuleThickness,ne=4*ae;if(A-y.depth-(E.height-P)<ne){P=ne-(A-y.depth)+E.height;var se=.8*_.xHeight-(A-y.depth);se>0&&(A+=se,P-=se)}var de=[{type:"elem",elem:E,shift:P,marginRight:ie,marginLeft:oe},{type:"elem",elem:y,shift:-A,marginRight:ie}];ge=Mu({positionType:"individualShift",children:de})}else if(E){P=Math.max(P,_.sub1,E.height-.8*_.xHeight);var X=[{type:"elem",elem:E,marginLeft:oe,marginRight:ie}];ge=Mu({positionType:"shift",positionData:P,children:X})}else if(y)A=Math.max(A,W,y.depth+.25*_.xHeight),ge=Mu({positionType:"shift",positionData:-A,children:[{type:"elem",elem:y,marginRight:ie}]});else throw new Error("supsub must have either sup or sub.");var pe=Lbe(b,"right")||"mord";return di([pe],[b,di(["msupsub"],[ge])],a)},mathmlBuilder(i,a){var u=!1,d,p;i.base&&i.base.type==="horizBrace"&&(p=!!i.sup,p===i.base.isOver&&(u=!0,d=i.base.isOver)),i.base&&(i.base.type==="op"||i.base.type==="operatorname")&&(i.base.parentIsSupSub=!0);var v=[Al(i.base,a)];i.sub&&v.push(Al(i.sub,a)),i.sup&&v.push(Al(i.sup,a));var b;if(u)b=d?"mover":"munder";else if(i.sub)if(i.sup){var _=i.base;_&&_.type==="op"&&_.limits&&a.style===bo.DISPLAY||_&&_.type==="operatorname"&&_.alwaysHandleSupSub&&(a.style===bo.DISPLAY||_.limits)?b="munderover":b="msubsup"}else{var E=i.base;E&&E.type==="op"&&E.limits&&(a.style===bo.DISPLAY||E.alwaysHandleSupSub)||E&&E.type==="operatorname"&&E.alwaysHandleSupSub&&(E.limits||a.style===bo.DISPLAY)?b="munder":b="msub"}else{var y=i.base;y&&y.type==="op"&&y.limits&&(a.style===bo.DISPLAY||y.alwaysHandleSupSub)||y&&y.type==="operatorname"&&y.alwaysHandleSupSub&&(y.limits||a.style===bo.DISPLAY)?b="mover":b="msup"}return new Si(b,v)}}),qC({type:"atom",htmlBuilder(i,a){return Ebe(i.text,i.mode,a,["m"+i.family])},mathmlBuilder(i,a){var u=new Si("mo",[Vv(i.text,i.mode)]);if(i.family==="bin"){var d=Ibe(i,a);d==="bold-italic"&&u.setAttribute("mathvariant",d)}else i.family==="punct"?u.setAttribute("separator","true"):(i.family==="open"||i.family==="close")&&u.setAttribute("stretchy","false");return u}});var Lqe={mi:"italic",mn:"normal",mtext:"normal"};qC({type:"mathord",htmlBuilder(i,a){return wQ(i,a,"mathord")},mathmlBuilder(i,a){var u=new Si("mi",[Vv(i.text,i.mode,a)]),d=Ibe(i,a)||"italic";return d!==Lqe[u.type]&&u.setAttribute("mathvariant",d),u}}),qC({type:"textord",htmlBuilder(i,a){return wQ(i,a,"textord")},mathmlBuilder(i,a){var u=Vv(i.text,i.mode,a),d=Ibe(i,a)||"normal",p;return i.mode==="text"?p=new Si("mtext",[u]):/[0-9]/.test(i.text)?p=new Si("mn",[u]):i.text==="\\prime"?p=new Si("mo",[u]):p=new Si("mi",[u]),d!==Lqe[p.type]&&p.setAttribute("mathvariant",d),p}});var Wbe={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Ybe={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};qC({type:"spacing",htmlBuilder(i,a){if(Ybe.hasOwnProperty(i.text)){var u=Ybe[i.text].className||"";if(i.mode==="text"){var d=wQ(i,a,"textord");return d.classes.push(u),d}else return di(["mspace",u],[Ebe(i.text,i.mode,a)],a)}else{if(Wbe.hasOwnProperty(i.text))return di(["mspace",Wbe[i.text]],[],a);throw new ki('Unknown type of space "'+i.text+'"')}},mathmlBuilder(i,a){var u;if(Ybe.hasOwnProperty(i.text))u=new Si("mtext",[new B0(" ")]);else{if(Wbe.hasOwnProperty(i.text))return new Si("mspace");throw new ki('Unknown type of space "'+i.text+'"')}return u}});var Mqe=()=>{var i=new Si("mtd",[]);return i.setAttribute("width","50%"),i};qC({type:"tag",mathmlBuilder(i,a){var u=new Si("mtable",[new Si("mtr",[Mqe(),new Si("mtd",[L9(i.body,a)]),Mqe(),new Si("mtd",[L9(i.tag,a)])])]);return u.setAttribute("width","100%"),u}});var Dqe={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},Iqe={"\\textbf":"textbf","\\textmd":"textmd"},jUt={"\\textit":"textit","\\textup":"textup"},Oqe=(i,a)=>{var u=i.font;if(u){if(Dqe[u])return a.withTextFontFamily(Dqe[u]);if(Iqe[u])return a.withTextFontWeight(Iqe[u]);if(u==="\\emph")return a.fontShape==="textit"?a.withTextFontShape("textup"):a.withTextFontShape("textit")}else return a;return a.withTextFontShape(jUt[u])};es({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(i,a){var{parser:u,funcName:d}=i,p=a[0];return{type:"text",mode:u.mode,body:P0(p),font:d}},htmlBuilder(i,a){var u=Oqe(i,a),d=d1(i.body,u,!0);return di(["mord","text"],d,u)},mathmlBuilder(i,a){var u=Oqe(i,a);return L9(i.body,u)}}),es({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(i,a){var{parser:u}=i;return{type:"underline",mode:u.mode,body:a[0]}},htmlBuilder(i,a){var u=Du(i.body,a),d=zD("underline-line",a),p=a.fontMetrics().defaultRuleThickness,v=Mu({positionType:"top",positionData:u.height,children:[{type:"kern",size:p},{type:"elem",elem:d},{type:"kern",size:3*p},{type:"elem",elem:u}]});return di(["mord","underline"],[v],a)},mathmlBuilder(i,a){var u=new Si("mo",[new B0("‾")]);u.setAttribute("stretchy","true");var d=new Si("munder",[Al(i.body,a),u]);return d.setAttribute("accentunder","true"),d}}),es({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(i,a){var{parser:u}=i;return{type:"vcenter",mode:u.mode,body:a[0]}},htmlBuilder(i,a){var u=Du(i.body,a),d=a.fontMetrics().axisHeight,p=.5*(u.height-d-(u.depth+d));return Mu({positionType:"shift",positionData:p,children:[{type:"elem",elem:u}]})},mathmlBuilder(i,a){var u=new Si("mpadded",[Al(i.body,a)],["vcenter"]);return new Si("mrow",[u])}}),es({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(i,a,u){throw new ki("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(i,a){for(var u=Nqe(i),d=[],p=a.havingStyle(a.style.text()),v=0;v<u.length;v++){var b=u[v];b==="~"&&(b="\\textasciitilde"),d.push(Rp(b,"Typewriter-Regular",i.mode,p,["mord","texttt"]))}return di(["mord","text"].concat(p.sizingClasses(a)),Dze(d),p)},mathmlBuilder(i,a){var u=new B0(Nqe(i)),d=new Si("mtext",[u]);return d.setAttribute("mathvariant","monospace"),d}});var Nqe=i=>i.body.replace(/ /g,i.star?"␣":" "),D9=Pze,Pqe=`[ \r
]`,$Ut="\\\\[a-zA-Z@]+",zUt="\\\\[^\uD800-\uDFFF]",qUt="("+$Ut+")"+Pqe+"*",HUt=`\\\\(
|[ \r ]+
?)[ \r ]*`,Xbe="[̀-ͯ]",UUt=new RegExp(Xbe+"+$"),VUt="("+Pqe+"+)|"+(HUt+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(Xbe+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(Xbe+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+qUt)+("|"+zUt+")");class Bqe{constructor(a,u){this.input=a,this.settings=u,this.tokenRegex=new RegExp(VUt,"g"),this.catcodes={"%":14,"~":13}}setCatcode(a,u){this.catcodes[a]=u}lex(){var a=this.input,u=this.tokenRegex.lastIndex;if(u===a.length)return new ym("EOF",new W2(this,u,u));var d=this.tokenRegex.exec(a);if(d===null||d.index!==u)throw new ki("Unexpected character: '"+a[u]+"'",new ym(a[u],new W2(this,u,u+1)));var p=d[6]||d[3]||(d[2]?"\\ ":" ");if(this.catcodes[p]===14){var v=a.indexOf(`
`,this.tokenRegex.lastIndex);return v===-1?(this.tokenRegex.lastIndex=a.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=v+1,this.lex()}return new ym(p,new W2(this,u,this.tokenRegex.lastIndex))}}class GUt{constructor(a,u){a===void 0&&(a={}),u===void 0&&(u={}),this.current=u,this.builtins=a,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new ki("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var a=this.undefStack.pop();for(var u in a)a.hasOwnProperty(u)&&(a[u]==null?delete this.current[u]:this.current[u]=a[u])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(a){return this.current.hasOwnProperty(a)||this.builtins.hasOwnProperty(a)}get(a){return this.current.hasOwnProperty(a)?this.current[a]:this.builtins[a]}set(a,u,d){if(d===void 0&&(d=!1),d){for(var p=0;p<this.undefStack.length;p++)delete this.undefStack[p][a];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][a]=u)}else{var v=this.undefStack[this.undefStack.length-1];v&&!v.hasOwnProperty(a)&&(v[a]=this.current[a])}u==null?delete this.current[a]:this.current[a]=u}}var KUt=hqe;et("\\noexpand",function(i){var a=i.popToken();return i.isExpandable(a.text)&&(a.noexpand=!0,a.treatAsRelax=!0),{tokens:[a],numArgs:0}}),et("\\expandafter",function(i){var a=i.popToken();return i.expandOnce(!0),{tokens:[a],numArgs:0}}),et("\\@firstoftwo",function(i){var a=i.consumeArgs(2);return{tokens:a[0],numArgs:0}}),et("\\@secondoftwo",function(i){var a=i.consumeArgs(2);return{tokens:a[1],numArgs:0}}),et("\\@ifnextchar",function(i){var a=i.consumeArgs(3);i.consumeSpaces();var u=i.future();return a[0].length===1&&a[0][0].text===u.text?{tokens:a[1],numArgs:0}:{tokens:a[2],numArgs:0}}),et("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),et("\\TextOrMath",function(i){var a=i.consumeArgs(2);return i.mode==="text"?{tokens:a[0],numArgs:0}:{tokens:a[1],numArgs:0}});var Fqe={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};et("\\char",function(i){var a=i.popToken(),u,d=0;if(a.text==="'")u=8,a=i.popToken();else if(a.text==='"')u=16,a=i.popToken();else if(a.text==="`")if(a=i.popToken(),a.text[0]==="\\")d=a.text.charCodeAt(1);else{if(a.text==="EOF")throw new ki("\\char` missing argument");d=a.text.charCodeAt(0)}else u=10;if(u){if(d=Fqe[a.text],d==null||d>=u)throw new ki("Invalid base-"+u+" digit "+a.text);for(var p;(p=Fqe[i.future().text])!=null&&p<u;)d*=u,d+=p,i.popToken()}return"\\@char{"+d+"}"});var Qbe=(i,a,u,d)=>{var p=i.consumeArg().tokens;if(p.length!==1)throw new ki("\\newcommand's first argument must be a macro name");var v=p[0].text,b=i.isDefined(v);if(b&&!a)throw new ki("\\newcommand{"+v+"} attempting to redefine "+(v+"; use \\renewcommand"));if(!b&&!u)throw new ki("\\renewcommand{"+v+"} when command "+v+" does not yet exist; use \\newcommand");var y=0;if(p=i.consumeArg().tokens,p.length===1&&p[0].text==="["){for(var E="",_=i.expandNextToken();_.text!=="]"&&_.text!=="EOF";)E+=_.text,_=i.expandNextToken();if(!E.match(/^\s*[0-9]+\s*$/))throw new ki("Invalid number of arguments: "+E);y=parseInt(E),p=i.consumeArg().tokens}return b&&d||i.macros.set(v,{tokens:p,numArgs:y}),""};et("\\newcommand",i=>Qbe(i,!1,!0,!1)),et("\\renewcommand",i=>Qbe(i,!0,!1,!1)),et("\\providecommand",i=>Qbe(i,!0,!0,!0)),et("\\message",i=>{var a=i.consumeArgs(1)[0];return console.log(a.reverse().map(u=>u.text).join("")),""}),et("\\errmessage",i=>{var a=i.consumeArgs(1)[0];return console.error(a.reverse().map(u=>u.text).join("")),""}),et("\\show",i=>{var a=i.popToken(),u=a.text;return console.log(a,i.macros.get(u),D9[u],vh.math[u],vh.text[u]),""}),et("\\bgroup","{"),et("\\egroup","}"),et("~","\\nobreakspace"),et("\\lq","`"),et("\\rq","'"),et("\\aa","\\r a"),et("\\AA","\\r A"),et("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}"),et("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),et("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"),et("","\\mathscr{B}"),et("","\\mathscr{E}"),et("","\\mathscr{F}"),et("","\\mathscr{H}"),et("","\\mathscr{I}"),et("","\\mathscr{L}"),et("","\\mathscr{M}"),et("","\\mathscr{R}"),et("","\\mathfrak{C}"),et("","\\mathfrak{H}"),et("","\\mathfrak{Z}"),et("\\Bbbk","\\Bbb{k}"),et("\\llap","\\mathllap{\\textrm{#1}}"),et("\\rlap","\\mathrlap{\\textrm{#1}}"),et("\\clap","\\mathclap{\\textrm{#1}}"),et("\\mathstrut","\\vphantom{(}"),et("\\underbar","\\underline{\\text{#1}}"),et("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}'),et("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"),et("\\ne","\\neq"),et("≠","\\neq"),et("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}"),et("∉","\\notin"),et("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}"),et("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}"),et("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}"),et("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}"),et("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}"),et("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}"),et("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}"),et("⟂","\\perp"),et("‼","\\mathclose{!\\mkern-0.8mu!}"),et("∌","\\notni"),et("⌜","\\ulcorner"),et("⌝","\\urcorner"),et("⌞","\\llcorner"),et("⌟","\\lrcorner"),et("©","\\copyright"),et("®","\\textregistered"),et("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),et("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),et("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),et("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),et("\\vdots","{\\varvdots\\rule{0pt}{15pt}}"),et("⋮","\\vdots"),et("\\varGamma","\\mathit{\\Gamma}"),et("\\varDelta","\\mathit{\\Delta}"),et("\\varTheta","\\mathit{\\Theta}"),et("\\varLambda","\\mathit{\\Lambda}"),et("\\varXi","\\mathit{\\Xi}"),et("\\varPi","\\mathit{\\Pi}"),et("\\varSigma","\\mathit{\\Sigma}"),et("\\varUpsilon","\\mathit{\\Upsilon}"),et("\\varPhi","\\mathit{\\Phi}"),et("\\varPsi","\\mathit{\\Psi}"),et("\\varOmega","\\mathit{\\Omega}"),et("\\substack","\\begin{subarray}{c}#1\\end{subarray}"),et("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax"),et("\\boxed","\\fbox{$\\displaystyle{#1}$}"),et("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;"),et("\\implies","\\DOTSB\\;\\Longrightarrow\\;"),et("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;"),et("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}"),et("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var Rqe={",":"\\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"},WUt=new Set(["bin","rel"]);et("\\dots",function(i){var a="\\dotso",u=i.expandAfterFuture().text;return u in Rqe?a=Rqe[u]:(u.slice(0,4)==="\\not"||u in vh.math&&WUt.has(vh.math[u].group))&&(a="\\dotsb"),a});var Jbe={")":!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};et("\\dotso",function(i){var a=i.future().text;return a in Jbe?"\\ldots\\,":"\\ldots"}),et("\\dotsc",function(i){var a=i.future().text;return a in Jbe&&a!==","?"\\ldots\\,":"\\ldots"}),et("\\cdots",function(i){var a=i.future().text;return a in Jbe?"\\@cdots\\,":"\\@cdots"}),et("\\dotsb","\\cdots"),et("\\dotsm","\\cdots"),et("\\dotsi","\\!\\cdots"),et("\\dotsx","\\ldots\\,"),et("\\DOTSI","\\relax"),et("\\DOTSB","\\relax"),et("\\DOTSX","\\relax"),et("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),et("\\,","\\tmspace+{3mu}{.1667em}"),et("\\thinspace","\\,"),et("\\>","\\mskip{4mu}"),et("\\:","\\tmspace+{4mu}{.2222em}"),et("\\medspace","\\:"),et("\\;","\\tmspace+{5mu}{.2777em}"),et("\\thickspace","\\;"),et("\\!","\\tmspace-{3mu}{.1667em}"),et("\\negthinspace","\\!"),et("\\negmedspace","\\tmspace-{4mu}{.2222em}"),et("\\negthickspace","\\tmspace-{5mu}{.277em}"),et("\\enspace","\\kern.5em "),et("\\enskip","\\hskip.5em\\relax"),et("\\quad","\\hskip1em\\relax"),et("\\qquad","\\hskip2em\\relax"),et("\\tag","\\@ifstar\\tag@literal\\tag@paren"),et("\\tag@paren","\\tag@literal{({#1})}"),et("\\tag@literal",i=>{if(i.macros.get("\\df@tag"))throw new ki("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"}),et("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),et("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),et("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),et("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),et("\\newline","\\\\\\relax"),et("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var jqe=Oi(Y4["Main-Regular"]["T".charCodeAt(0)][1]-.7*Y4["Main-Regular"]["A".charCodeAt(0)][1]);et("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+jqe+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}"),et("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+jqe+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}"),et("\\hspace","\\@ifstar\\@hspacer\\@hspace"),et("\\@hspace","\\hskip #1\\relax"),et("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),et("\\ordinarycolon",":"),et("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),et("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),et("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),et("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),et("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),et("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),et("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),et("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),et("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),et("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),et("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),et("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),et("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),et("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),et("∷","\\dblcolon"),et("∹","\\eqcolon"),et("≔","\\coloneqq"),et("≕","\\eqqcolon"),et("⩴","\\Coloneqq"),et("\\ratio","\\vcentcolon"),et("\\coloncolon","\\dblcolon"),et("\\colonequals","\\coloneqq"),et("\\coloncolonequals","\\Coloneqq"),et("\\equalscolon","\\eqqcolon"),et("\\equalscoloncolon","\\Eqqcolon"),et("\\colonminus","\\coloneq"),et("\\coloncolonminus","\\Coloneq"),et("\\minuscolon","\\eqcolon"),et("\\minuscoloncolon","\\Eqcolon"),et("\\coloncolonapprox","\\Colonapprox"),et("\\coloncolonsim","\\Colonsim"),et("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),et("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),et("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),et("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),et("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),et("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),et("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),et("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),et("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),et("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),et("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),et("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),et("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),et("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}"),et("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}"),et("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}"),et("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}"),et("\\nleqq","\\html@mathml{\\@nleqq}{≰}"),et("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}"),et("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}"),et("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}"),et("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}"),et("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}"),et("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}"),et("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}"),et("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}"),et("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}"),et("\\imath","\\html@mathml{\\@imath}{ı}"),et("\\jmath","\\html@mathml{\\@jmath}{ȷ}"),et("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),et("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),et("⟦","\\llbracket"),et("⟧","\\rrbracket"),et("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),et("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),et("⦃","\\lBrace"),et("⦄","\\rBrace"),et("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),et("⦵","\\minuso"),et("\\darr","\\downarrow"),et("\\dArr","\\Downarrow"),et("\\Darr","\\Downarrow"),et("\\lang","\\langle"),et("\\rang","\\rangle"),et("\\uarr","\\uparrow"),et("\\uArr","\\Uparrow"),et("\\Uarr","\\Uparrow"),et("\\N","\\mathbb{N}"),et("\\R","\\mathbb{R}"),et("\\Z","\\mathbb{Z}"),et("\\alef","\\aleph"),et("\\alefsym","\\aleph"),et("\\Alpha","\\mathrm{A}"),et("\\Beta","\\mathrm{B}"),et("\\bull","\\bullet"),et("\\Chi","\\mathrm{X}"),et("\\clubs","\\clubsuit"),et("\\cnums","\\mathbb{C}"),et("\\Complex","\\mathbb{C}"),et("\\Dagger","\\ddagger"),et("\\diamonds","\\diamondsuit"),et("\\empty","\\emptyset"),et("\\Epsilon","\\mathrm{E}"),et("\\Eta","\\mathrm{H}"),et("\\exist","\\exists"),et("\\harr","\\leftrightarrow"),et("\\hArr","\\Leftrightarrow"),et("\\Harr","\\Leftrightarrow"),et("\\hearts","\\heartsuit"),et("\\image","\\Im"),et("\\infin","\\infty"),et("\\Iota","\\mathrm{I}"),et("\\isin","\\in"),et("\\Kappa","\\mathrm{K}"),et("\\larr","\\leftarrow"),et("\\lArr","\\Leftarrow"),et("\\Larr","\\Leftarrow"),et("\\lrarr","\\leftrightarrow"),et("\\lrArr","\\Leftrightarrow"),et("\\Lrarr","\\Leftrightarrow"),et("\\Mu","\\mathrm{M}"),et("\\natnums","\\mathbb{N}"),et("\\Nu","\\mathrm{N}"),et("\\Omicron","\\mathrm{O}"),et("\\plusmn","\\pm"),et("\\rarr","\\rightarrow"),et("\\rArr","\\Rightarrow"),et("\\Rarr","\\Rightarrow"),et("\\real","\\Re"),et("\\reals","\\mathbb{R}"),et("\\Reals","\\mathbb{R}"),et("\\Rho","\\mathrm{P}"),et("\\sdot","\\cdot"),et("\\sect","\\S"),et("\\spades","\\spadesuit"),et("\\sub","\\subset"),et("\\sube","\\subseteq"),et("\\supe","\\supseteq"),et("\\Tau","\\mathrm{T}"),et("\\thetasym","\\vartheta"),et("\\weierp","\\wp"),et("\\Zeta","\\mathrm{Z}"),et("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),et("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),et("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),et("\\bra","\\mathinner{\\langle{#1}|}"),et("\\ket","\\mathinner{|{#1}\\rangle}"),et("\\braket","\\mathinner{\\langle{#1}\\rangle}"),et("\\Bra","\\left\\langle#1\\right|"),et("\\Ket","\\left|#1\\right\\rangle");var $qe=i=>a=>{var u=a.consumeArg().tokens,d=a.consumeArg().tokens,p=a.consumeArg().tokens,v=a.consumeArg().tokens,b=a.macros.get("|"),y=a.macros.get("\\|");a.macros.beginGroup();var E=P=>R=>{i&&(R.macros.set("|",b),p.length&&R.macros.set("\\|",y));var B=P;if(!P&&p.length){var j=R.future();j.text==="|"&&(R.popToken(),B=!0)}return{tokens:B?p:d,numArgs:0}};a.macros.set("|",E(!1)),p.length&&a.macros.set("\\|",E(!0));var _=a.consumeArg().tokens,A=a.expandTokens([...v,..._,...u]);return a.macros.endGroup(),{tokens:A.reverse(),numArgs:0}};et("\\bra@ket",$qe(!1)),et("\\bra@set",$qe(!0)),et("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),et("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),et("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),et("\\angln","{\\angl n}"),et("\\blue","\\textcolor{##6495ed}{#1}"),et("\\orange","\\textcolor{##ffa500}{#1}"),et("\\pink","\\textcolor{##ff00af}{#1}"),et("\\red","\\textcolor{##df0030}{#1}"),et("\\green","\\textcolor{##28ae7b}{#1}"),et("\\gray","\\textcolor{gray}{#1}"),et("\\purple","\\textcolor{##9d38bd}{#1}"),et("\\blueA","\\textcolor{##ccfaff}{#1}"),et("\\blueB","\\textcolor{##80f6ff}{#1}"),et("\\blueC","\\textcolor{##63d9ea}{#1}"),et("\\blueD","\\textcolor{##11accd}{#1}"),et("\\blueE","\\textcolor{##0c7f99}{#1}"),et("\\tealA","\\textcolor{##94fff5}{#1}"),et("\\tealB","\\textcolor{##26edd5}{#1}"),et("\\tealC","\\textcolor{##01d1c1}{#1}"),et("\\tealD","\\textcolor{##01a995}{#1}"),et("\\tealE","\\textcolor{##208170}{#1}"),et("\\greenA","\\textcolor{##b6ffb0}{#1}"),et("\\greenB","\\textcolor{##8af281}{#1}"),et("\\greenC","\\textcolor{##74cf70}{#1}"),et("\\greenD","\\textcolor{##1fab54}{#1}"),et("\\greenE","\\textcolor{##0d923f}{#1}"),et("\\goldA","\\textcolor{##ffd0a9}{#1}"),et("\\goldB","\\textcolor{##ffbb71}{#1}"),et("\\goldC","\\textcolor{##ff9c39}{#1}"),et("\\goldD","\\textcolor{##e07d10}{#1}"),et("\\goldE","\\textcolor{##a75a05}{#1}"),et("\\redA","\\textcolor{##fca9a9}{#1}"),et("\\redB","\\textcolor{##ff8482}{#1}"),et("\\redC","\\textcolor{##f9685d}{#1}"),et("\\redD","\\textcolor{##e84d39}{#1}"),et("\\redE","\\textcolor{##bc2612}{#1}"),et("\\maroonA","\\textcolor{##ffbde0}{#1}"),et("\\maroonB","\\textcolor{##ff92c6}{#1}"),et("\\maroonC","\\textcolor{##ed5fa6}{#1}"),et("\\maroonD","\\textcolor{##ca337c}{#1}"),et("\\maroonE","\\textcolor{##9e034e}{#1}"),et("\\purpleA","\\textcolor{##ddd7ff}{#1}"),et("\\purpleB","\\textcolor{##c6b9fc}{#1}"),et("\\purpleC","\\textcolor{##aa87ff}{#1}"),et("\\purpleD","\\textcolor{##7854ab}{#1}"),et("\\purpleE","\\textcolor{##543b78}{#1}"),et("\\mintA","\\textcolor{##f5f9e8}{#1}"),et("\\mintB","\\textcolor{##edf2df}{#1}"),et("\\mintC","\\textcolor{##e0e5cc}{#1}"),et("\\grayA","\\textcolor{##f6f7f7}{#1}"),et("\\grayB","\\textcolor{##f0f1f2}{#1}"),et("\\grayC","\\textcolor{##e3e5e6}{#1}"),et("\\grayD","\\textcolor{##d6d8da}{#1}"),et("\\grayE","\\textcolor{##babec2}{#1}"),et("\\grayF","\\textcolor{##888d93}{#1}"),et("\\grayG","\\textcolor{##626569}{#1}"),et("\\grayH","\\textcolor{##3b3e40}{#1}"),et("\\grayI","\\textcolor{##21242c}{#1}"),et("\\kaBlue","\\textcolor{##314453}{#1}"),et("\\kaGreen","\\textcolor{##71B307}{#1}");var zqe={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class YUt{constructor(a,u,d){this.settings=u,this.expansionCount=0,this.feed(a),this.macros=new GUt(KUt,u.macros),this.mode=d,this.stack=[]}feed(a){this.lexer=new Bqe(a,this.settings)}switchMode(a){this.mode=a}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(a){this.stack.push(a)}pushTokens(a){this.stack.push(...a)}scanArgument(a){var u,d,p;if(a){if(this.consumeSpaces(),this.future().text!=="[")return null;u=this.popToken(),{tokens:p,end:d}=this.consumeArg(["]"])}else({tokens:p,start:u,end:d}=this.consumeArg());return this.pushToken(new ym("EOF",d.loc)),this.pushTokens(p),new ym("",W2.range(u,d))}consumeSpaces(){for(;;){var a=this.future();if(a.text===" ")this.stack.pop();else break}}consumeArg(a){var u=[],d=a&&a.length>0;d||this.consumeSpaces();var p=this.future(),v,b=0,y=0;do{if(v=this.popToken(),u.push(v),v.text==="{")++b;else if(v.text==="}"){if(--b,b===-1)throw new ki("Extra }",v)}else if(v.text==="EOF")throw new ki("Unexpected end of input in a macro argument, expected '"+(a&&d?a[y]:"}")+"'",v);if(a&&d)if((b===0||b===1&&a[y]==="{")&&v.text===a[y]){if(++y,y===a.length){u.splice(-y,y);break}}else y=0}while(b!==0||d);return p.text==="{"&&u[u.length-1].text==="}"&&(u.pop(),u.shift()),u.reverse(),{tokens:u,start:p,end:v}}consumeArgs(a,u){if(u){if(u.length!==a+1)throw new ki("The length of delimiters doesn't match the number of args!");for(var d=u[0],p=0;p<d.length;p++){var v=this.popToken();if(d[p]!==v.text)throw new ki("Use of the macro doesn't match its definition",v)}}for(var b=[],y=0;y<a;y++)b.push(this.consumeArg(u&&u[y+1]).tokens);return b}countExpansion(a){if(this.expansionCount+=a,this.expansionCount>this.settings.maxExpand)throw new ki("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(a){var u=this.popToken(),d=u.text,p=u.noexpand?null:this._getExpansion(d);if(p==null||a&&p.unexpandable){if(a&&p==null&&d[0]==="\\"&&!this.isDefined(d))throw new ki("Undefined control sequence: "+d);return this.pushToken(u),!1}this.countExpansion(1);var v=p.tokens,b=this.consumeArgs(p.numArgs,p.delimiters);if(p.numArgs){v=v.slice();for(var y=v.length-1;y>=0;--y){var E=v[y];if(E.text==="#"){if(y===0)throw new ki("Incomplete placeholder at end of macro body",E);if(E=v[--y],E.text==="#")v.splice(y+1,1);else if(/^[1-9]$/.test(E.text))v.splice(y,2,...b[+E.text-1]);else throw new ki("Not a valid argument number",E)}}}return this.pushTokens(v),v.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var a=this.stack.pop();return a.treatAsRelax&&(a.text="\\relax"),a}}expandMacro(a){return this.macros.has(a)?this.expandTokens([new ym(a)]):void 0}expandTokens(a){var u=[],d=this.stack.length;for(this.pushTokens(a);this.stack.length>d;)if(this.expandOnce(!0)===!1){var p=this.stack.pop();p.treatAsRelax&&(p.noexpand=!1,p.treatAsRelax=!1),u.push(p)}return this.countExpansion(u.length),u}expandMacroAsText(a){var u=this.expandMacro(a);return u&&u.map(d=>d.text).join("")}_getExpansion(a){var u=this.macros.get(a);if(u==null)return u;if(a.length===1){var d=this.lexer.catcodes[a];if(d!=null&&d!==13)return}var p=typeof u=="function"?u(this):u;if(typeof p=="string"){var v=0;if(p.includes("#"))for(var b=p.replace(/##/g,"");b.includes("#"+(v+1));)++v;for(var y=new Bqe(p,this.settings),E=[],_=y.lex();_.text!=="EOF";)E.push(_),_=y.lex();E.reverse();var A={tokens:E,numArgs:v};return A}return p}isDefined(a){return this.macros.has(a)||D9.hasOwnProperty(a)||vh.math.hasOwnProperty(a)||vh.text.hasOwnProperty(a)||zqe.hasOwnProperty(a)}isExpandable(a){var u=this.macros.get(a);return u!=null?typeof u=="string"||typeof u=="function"||!u.unexpandable:D9.hasOwnProperty(a)&&!D9[a].primitive}}var qqe=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,BQ=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","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),Zbe={"́":{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"}},Hqe={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class FQ{constructor(a,u){this.mode="math",this.gullet=new YUt(a,u,this.mode),this.settings=u,this.leftrightDepth=0,this.nextToken=null}expect(a,u){if(u===void 0&&(u=!0),this.fetch().text!==a)throw new ki("Expected '"+a+"', got '"+this.fetch().text+"'",this.fetch());u&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(a){this.mode=a,this.gullet.switchMode(a)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var a=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),a}finally{this.gullet.endGroups()}}subparse(a){var u=this.nextToken;this.consume(),this.gullet.pushToken(new ym("}")),this.gullet.pushTokens(a);var d=this.parseExpression(!1);return this.expect("}"),this.nextToken=u,d}parseExpression(a,u){for(var d=[];;){this.mode==="math"&&this.consumeSpaces();var p=this.fetch();if(FQ.endOfExpression.has(p.text)||u&&p.text===u||a&&D9[p.text]&&D9[p.text].infix)break;var v=this.parseAtom(u);if(v){if(v.type==="internal")continue}else break;d.push(v)}return this.mode==="text"&&this.formLigatures(d),this.handleInfixNodes(d)}handleInfixNodes(a){for(var u=-1,d,p=0;p<a.length;p++){var v=a[p];if(v.type==="infix"){if(u!==-1)throw new ki("only one infix operator per group",v.token);u=p,d=v.replaceWith}}if(u!==-1&&d){var b,y,E=a.slice(0,u),_=a.slice(u+1);E.length===1&&E[0].type==="ordgroup"?b=E[0]:b={type:"ordgroup",mode:this.mode,body:E},_.length===1&&_[0].type==="ordgroup"?y=_[0]:y={type:"ordgroup",mode:this.mode,body:_};var A;return d==="\\\\abovefrac"?A=this.callFunction(d,[b,a[u],y],[]):A=this.callFunction(d,[b,y],[]),[A]}else return a}handleSupSubscript(a){var u=this.fetch(),d=u.text;this.consume(),this.consumeSpaces();var p;do{var v;p=this.parseGroup(a)}while(((v=p)==null?void 0:v.type)==="internal");if(!p)throw new ki("Expected group after '"+d+"'",u);return p}formatUnsupportedCmd(a){for(var u=[],d=0;d<a.length;d++)u.push({type:"textord",mode:"text",text:a[d]});var p={type:"text",mode:this.mode,body:u},v={type:"color",mode:this.mode,color:this.settings.errorColor,body:[p]};return v}parseAtom(a){var u=this.parseGroup("atom",a);if((u==null?void 0:u.type)==="internal"||this.mode==="text")return u;for(var d,p;;){this.consumeSpaces();var v=this.fetch();if(v.text==="\\limits"||v.text==="\\nolimits"){if(u&&u.type==="op"){var b=v.text==="\\limits";u.limits=b,u.alwaysHandleSupSub=!0}else if(u&&u.type==="operatorname")u.alwaysHandleSupSub&&(u.limits=v.text==="\\limits");else throw new ki("Limit controls must follow a math operator",v);this.consume()}else if(v.text==="^"){if(d)throw new ki("Double superscript",v);d=this.handleSupSubscript("superscript")}else if(v.text==="_"){if(p)throw new ki("Double subscript",v);p=this.handleSupSubscript("subscript")}else if(v.text==="'"){if(d)throw new ki("Double superscript",v);var y={type:"textord",mode:this.mode,text:"\\prime"},E=[y];for(this.consume();this.fetch().text==="'";)E.push(y),this.consume();this.fetch().text==="^"&&E.push(this.handleSupSubscript("superscript")),d={type:"ordgroup",mode:this.mode,body:E}}else if(BQ[v.text]){var _=qqe.test(v.text),A=[];for(A.push(new ym(BQ[v.text])),this.consume();;){var P=this.fetch().text;if(!BQ[P]||qqe.test(P)!==_)break;A.unshift(new ym(BQ[P])),this.consume()}var R=this.subparse(A);_?p={type:"ordgroup",mode:"math",body:R}:d={type:"ordgroup",mode:"math",body:R}}else break}return d||p?{type:"supsub",mode:this.mode,base:u,sup:d,sub:p}:u}parseFunction(a,u){var d=this.fetch(),p=d.text,v=D9[p];if(!v)return null;if(this.consume(),u&&u!=="atom"&&!v.allowedInArgument)throw new ki("Got function '"+p+"' with no arguments"+(u?" as "+u:""),d);if(this.mode==="text"&&!v.allowedInText)throw new ki("Can't use function '"+p+"' in text mode",d);if(this.mode==="math"&&v.allowedInMath===!1)throw new ki("Can't use function '"+p+"' in math mode",d);var{args:b,optArgs:y}=this.parseArguments(p,v);return this.callFunction(p,b,y,d,a)}callFunction(a,u,d,p,v){var b={funcName:a,parser:this,token:p,breakOnTokenText:v},y=D9[a];if(y&&y.handler)return y.handler(b,u,d);throw new ki("No function handler for "+a)}parseArguments(a,u){var d=u.numArgs+u.numOptionalArgs;if(d===0)return{args:[],optArgs:[]};for(var p=[],v=[],b=0;b<d;b++){var y=u.argTypes&&u.argTypes[b],E=b<u.numOptionalArgs;("primitive"in u&&u.primitive&&y==null||u.type==="sqrt"&&b===1&&v[0]==null)&&(y="primitive");var _=this.parseGroupOfType("argument to '"+a+"'",y,E);if(E)v.push(_);else if(_!=null)p.push(_);else throw new ki("Null argument, please report this as a bug")}return{args:p,optArgs:v}}parseGroupOfType(a,u,d){switch(u){case"color":return this.parseColorGroup(d);case"size":return this.parseSizeGroup(d);case"url":return this.parseUrlGroup(d);case"math":case"text":return this.parseArgumentGroup(d,u);case"hbox":{var p=this.parseArgumentGroup(d,"text");return p!=null?{type:"styling",mode:p.mode,body:[p],style:"text"}:null}case"raw":{var v=this.parseStringGroup("raw",d);return v!=null?{type:"raw",mode:"text",string:v.text}:null}case"primitive":{if(d)throw new ki("A primitive argument cannot be optional");var b=this.parseGroup(a);if(b==null)throw new ki("Expected group as "+a,this.fetch());return b}case"original":case null:case void 0:return this.parseArgumentGroup(d);default:throw new ki("Unknown group type as "+a,this.fetch())}}consumeSpaces(){for(;this.fetch().text===" ";)this.consume()}parseStringGroup(a,u){var d=this.gullet.scanArgument(u);if(d==null)return null;for(var p="",v;(v=this.fetch()).text!=="EOF";)p+=v.text,this.consume();return this.consume(),d.text=p,d}parseRegexGroup(a,u){for(var d=this.fetch(),p=d,v="",b;(b=this.fetch()).text!=="EOF"&&a.test(v+b.text);)p=b,v+=p.text,this.consume();if(v==="")throw new ki("Invalid "+u+": '"+d.text+"'",d);return d.range(p,v)}parseColorGroup(a){var u=this.parseStringGroup("color",a);if(u==null)return null;var d=/^(#[a-f0-9]{3,4}|#[a-f0-9]{6}|#[a-f0-9]{8}|[a-f0-9]{6}|[a-z]+)$/i.exec(u.text);if(!d)throw new ki("Invalid color: '"+u.text+"'",u);var p=d[0];return/^[0-9a-f]{6}$/i.test(p)&&(p="#"+p),{type:"color-token",mode:this.mode,color:p}}parseSizeGroup(a){var u,d=!1;if(this.gullet.consumeSpaces(),!a&&this.gullet.future().text!=="{"?u=this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size"):u=this.parseStringGroup("size",a),!u)return null;!a&&u.text.length===0&&(u.text="0pt",d=!0);var p=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(u.text);if(!p)throw new ki("Invalid size: '"+u.text+"'",u);var v={number:+(p[1]+p[2]),unit:p[3]};if(!wze(v))throw new ki("Invalid unit: '"+v.unit+"'",u);return{type:"size",mode:this.mode,value:v,isBlank:d}}parseUrlGroup(a){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);var u=this.parseStringGroup("url",a);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),u==null)return null;var d=u.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:d}}parseArgumentGroup(a,u){var d=this.gullet.scanArgument(a);if(d==null)return null;var p=this.mode;u&&this.switchMode(u),this.gullet.beginGroup();var v=this.parseExpression(!1,"EOF");this.expect("EOF"),this.gullet.endGroup();var b={type:"ordgroup",mode:this.mode,loc:d.loc,body:v};return u&&this.switchMode(p),b}parseGroup(a,u){var d=this.fetch(),p=d.text,v;if(p==="{"||p==="\\begingroup"){this.consume();var b=p==="{"?"}":"\\endgroup";this.gullet.beginGroup();var y=this.parseExpression(!1,b),E=this.fetch();this.expect(b),this.gullet.endGroup(),v={type:"ordgroup",mode:this.mode,loc:W2.range(d,E),body:y,semisimple:p==="\\begingroup"||void 0}}else if(v=this.parseFunction(u,a)||this.parseSymbol(),v==null&&p[0]==="\\"&&!zqe.hasOwnProperty(p)){if(this.settings.throwOnError)throw new ki("Undefined control sequence: "+p,d);v=this.formatUnsupportedCmd(p),this.consume()}return v}formLigatures(a){for(var u=a.length-1,d=0;d<u;++d){var p=a[d];if(p.type==="textord"){var v=p.text,b=a[d+1];if(!(!b||b.type!=="textord")){if(v==="-"&&b.text==="-"){var y=a[d+2];d+1<u&&y&&y.type==="textord"&&y.text==="-"?(a.splice(d,3,{type:"textord",mode:"text",loc:W2.range(p,y),text:"---"}),u-=2):(a.splice(d,2,{type:"textord",mode:"text",loc:W2.range(p,b),text:"--"}),u-=1)}(v==="'"||v==="`")&&b.text===v&&(a.splice(d,2,{type:"textord",mode:"text",loc:W2.range(p,b),text:v+v}),u-=1)}}}}parseSymbol(){var a=this.fetch(),u=a.text;if(/^\\verb[^a-zA-Z]/.test(u)){this.consume();var d=u.slice(5),p=d.charAt(0)==="*";if(p&&(d=d.slice(1)),d.length<2||d.charAt(0)!==d.slice(-1))throw new ki(`\\verb assertion failed --
please report what input caused this bug`);return d=d.slice(1,-1),{type:"verb",mode:"text",body:d,star:p}}Hqe.hasOwnProperty(u[0])&&!vh[this.mode][u[0]]&&(this.settings.strict&&this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+u[0]+'" used in math mode',a),u=Hqe[u[0]]+u.slice(1));var v=UUt.exec(u);v&&(u=u.substring(0,v.index),u==="i"?u="ı":u==="j"&&(u="ȷ"));var b;if(vh[this.mode][u]){this.settings.strict&&this.mode==="math"&&kbe.includes(u)&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+u[0]+'" used in math mode',a);var y=vh[this.mode][u].group,E=W2.range(a),_;if(VHt.hasOwnProperty(y)){var A=y;_={type:"atom",mode:this.mode,family:A,loc:E,text:u}}else _={type:y,mode:this.mode,loc:E,text:u};b=_}else if(u.charCodeAt(0)>=128)this.settings.strict&&(mze(u.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+u[0]+'" used in math mode',a):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+u[0]+'"'+(" ("+u.charCodeAt(0)+")"),a)),b={type:"textord",mode:"text",loc:W2.range(a),text:u};else return null;if(this.consume(),v)for(var P=0;P<v[0].length;P++){var R=v[0][P];if(!Zbe[R])throw new ki("Unknown accent ' "+R+"'",a);var B=Zbe[R][this.mode]||Zbe[R].text;if(!B)throw new ki("Accent "+R+" unsupported in "+this.mode+" mode",a);b={type:"accent",mode:this.mode,loc:W2.range(a),label:B,isStretchy:!1,isShifty:!0,base:b}}return b}}FQ.endOfExpression=new Set(["}","\\endgroup","\\end","\\right","&"]);var eme=function(a,u){if(!(typeof a=="string"||a instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var d=new FQ(a,u);delete d.gullet.macros.current["\\df@tag"];var p=d.parse();if(delete d.gullet.macros.current["\\current@color"],delete d.gullet.macros.current["\\color"],d.gullet.macros.get("\\df@tag")){if(!u.displayMode)throw new ki("\\tag works only in display equations");p=[{type:"tag",mode:"text",body:p,tag:d.subparse([new ym("\\df@tag")])}]}return p},tme=function(a,u,d){u.textContent="";var p=RQ(a,d).toNode();u.appendChild(p)};typeof document<"u"&&document.compatMode!=="CSS1Compat"&&(typeof console<"u"&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),tme=function(){throw new ki("KaTeX doesn't work in quirks mode.")});var Uqe=function(a,u){var d=RQ(a,u).toMarkup();return d},Vqe=function(a,u){var d=new fbe(u);return eme(a,d)},Gqe=function(a,u,d){if(d.throwOnError||!(a instanceof ki))throw a;var p=di(["katex-error"],[new mm(u)]);return p.setAttribute("title",a.toString()),p.setAttribute("style","color:"+d.errorColor),p},RQ=function(a,u){var d=new fbe(u);try{var p=eme(a,d);return oUt(p,a,d)}catch(v){return Gqe(v,a,d)}},Kqe=function(a,u){var d=new fbe(u);try{var p=eme(a,d);return cUt(p,a,d)}catch(v){return Gqe(v,a,d)}},Wqe="0.16.45",Yqe={Span:jD,Anchor:fQ,SymbolNode:mm,SvgNode:O7,PathNode:S9,LineNode:bbe},XUt={version:Wqe,render:tme,renderToString:Uqe,ParseError:ki,SETTINGS_SCHEMA:uQ,__parse:Vqe,__renderToDomTree:RQ,__renderToHTMLTree:Kqe,__setFontMetrics:Eze,__defineSymbol:we,__defineFunction:es,__defineMacro:et,__domTree:Yqe};const QUt=Object.freeze(Object.defineProperty({__proto__:null,ParseError:ki,SETTINGS_SCHEMA:uQ,__defineFunction:es,__defineMacro:et,__defineSymbol:we,__domTree:Yqe,__parse:Vqe,__renderToDomTree:RQ,__renderToHTMLTree:Kqe,__setFontMetrics:Eze,default:XUt,get render(){return tme},renderToString:Uqe,version:Wqe},Symbol.toStringTag,{value:"Module"}));var jQ=function(){var i=function(Tr,On,Rn,zn){for(Rn=Rn||{},zn=Tr.length;zn--;Rn[Tr[zn]]=On);return Rn},a=[1,24],u=[1,25],d=[1,26],p=[1,27],v=[1,28],b=[1,63],y=[1,64],E=[1,65],_=[1,66],A=[1,67],P=[1,68],R=[1,69],B=[1,29],j=[1,30],W=[1,31],ee=[1,32],ie=[1,33],oe=[1,34],be=[1,35],ge=[1,36],ae=[1,37],ne=[1,38],se=[1,39],de=[1,40],X=[1,41],pe=[1,42],G=[1,43],xe=[1,44],U=[1,45],Be=[1,46],Pe=[1,47],je=[1,48],Ie=[1,50],Se=[1,51],Ce=[1,52],ke=[1,53],Ke=[1,54],zt=[1,55],Ne=[1,56],pn=[1,57],Tt=[1,58],Et=[1,59],Wt=[1,60],un=[14,42],yt=[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],Bt=[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],Ze=[1,82],Dt=[1,83],kt=[1,84],Nn=[1,85],ht=[12,14,42],qr=[12,14,33,42],xt=[12,14,33,42,76,77,79,80],Ri=[12,33],wi=[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],ia={trace:function(){},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:function(On,Rn,zn,Ct,gt,on,dn){var Ln=on.length-1;switch(gt){case 3:Ct.setDirection("TB");break;case 4:Ct.setDirection("BT");break;case 5:Ct.setDirection("RL");break;case 6:Ct.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:Ct.setC4Type(on[Ln-3]);break;case 19:Ct.setTitle(on[Ln].substring(6)),this.$=on[Ln].substring(6);break;case 20:Ct.setAccDescription(on[Ln].substring(15)),this.$=on[Ln].substring(15);break;case 21:this.$=on[Ln].trim(),Ct.setTitle(this.$);break;case 22:case 23:this.$=on[Ln].trim(),Ct.setAccDescription(this.$);break;case 28:case 29:on[Ln].splice(2,0,"ENTERPRISE"),Ct.addPersonOrSystemBoundary(...on[Ln]),this.$=on[Ln];break;case 30:Ct.addPersonOrSystemBoundary(...on[Ln]),this.$=on[Ln];break;case 31:on[Ln].splice(2,0,"CONTAINER"),Ct.addContainerBoundary(...on[Ln]),this.$=on[Ln];break;case 32:Ct.addDeploymentNode("node",...on[Ln]),this.$=on[Ln];break;case 33:Ct.addDeploymentNode("nodeL",...on[Ln]),this.$=on[Ln];break;case 34:Ct.addDeploymentNode("nodeR",...on[Ln]),this.$=on[Ln];break;case 35:Ct.popBoundaryParseStack();break;case 39:Ct.addPersonOrSystem("person",...on[Ln]),this.$=on[Ln];break;case 40:Ct.addPersonOrSystem("external_person",...on[Ln]),this.$=on[Ln];break;case 41:Ct.addPersonOrSystem("system",...on[Ln]),this.$=on[Ln];break;case 42:Ct.addPersonOrSystem("system_db",...on[Ln]),this.$=on[Ln];break;case 43:Ct.addPersonOrSystem("system_queue",...on[Ln]),this.$=on[Ln];break;case 44:Ct.addPersonOrSystem("external_system",...on[Ln]),this.$=on[Ln];break;case 45:Ct.addPersonOrSystem("external_system_db",...on[Ln]),this.$=on[Ln];break;case 46:Ct.addPersonOrSystem("external_system_queue",...on[Ln]),this.$=on[Ln];break;case 47:Ct.addContainer("container",...on[Ln]),this.$=on[Ln];break;case 48:Ct.addContainer("container_db",...on[Ln]),this.$=on[Ln];break;case 49:Ct.addContainer("container_queue",...on[Ln]),this.$=on[Ln];break;case 50:Ct.addContainer("external_container",...on[Ln]),this.$=on[Ln];break;case 51:Ct.addContainer("external_container_db",...on[Ln]),this.$=on[Ln];break;case 52:Ct.addContainer("external_container_queue",...on[Ln]),this.$=on[Ln];break;case 53:Ct.addComponent("component",...on[Ln]),this.$=on[Ln];break;case 54:Ct.addComponent("component_db",...on[Ln]),this.$=on[Ln];break;case 55:Ct.addComponent("component_queue",...on[Ln]),this.$=on[Ln];break;case 56:Ct.addComponent("external_component",...on[Ln]),this.$=on[Ln];break;case 57:Ct.addComponent("external_component_db",...on[Ln]),this.$=on[Ln];break;case 58:Ct.addComponent("external_component_queue",...on[Ln]),this.$=on[Ln];break;case 60:Ct.addRel("rel",...on[Ln]),this.$=on[Ln];break;case 61:Ct.addRel("birel",...on[Ln]),this.$=on[Ln];break;case 62:Ct.addRel("rel_u",...on[Ln]),this.$=on[Ln];break;case 63:Ct.addRel("rel_d",...on[Ln]),this.$=on[Ln];break;case 64:Ct.addRel("rel_l",...on[Ln]),this.$=on[Ln];break;case 65:Ct.addRel("rel_r",...on[Ln]),this.$=on[Ln];break;case 66:Ct.addRel("rel_b",...on[Ln]),this.$=on[Ln];break;case 67:on[Ln].splice(0,1),Ct.addRel("rel",...on[Ln]),this.$=on[Ln];break;case 68:Ct.updateElStyle("update_el_style",...on[Ln]),this.$=on[Ln];break;case 69:Ct.updateRelStyle("update_rel_style",...on[Ln]),this.$=on[Ln];break;case 70:Ct.updateLayoutConfig("update_layout_config",...on[Ln]),this.$=on[Ln];break;case 71:this.$=[on[Ln]];break;case 72:on[Ln].unshift(on[Ln-1]),this.$=on[Ln];break;case 73:case 75:this.$=on[Ln].trim();break;case 74:let Io={};Io[on[Ln-1].trim()]=on[Ln].trim(),this.$=Io;break;case 76:this.$="";break}},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:a,23:u,24:d,26:p,28:v,29:49,30:61,32:62,34:b,36:y,37:E,38:_,39:A,40:P,41:R,43:23,44:B,45:j,46:W,47:ee,48:ie,49:oe,50:be,51:ge,52:ae,53:ne,54:se,55:de,56:X,57:pe,58:G,59:xe,60:U,61:Be,62:Pe,63:je,64:Ie,65:Se,66:Ce,67:ke,68:Ke,69:zt,70:Ne,71:pn,72:Tt,73:Et,74:Wt},{13:70,19:20,20:21,21:22,22:a,23:u,24:d,26:p,28:v,29:49,30:61,32:62,34:b,36:y,37:E,38:_,39:A,40:P,41:R,43:23,44:B,45:j,46:W,47:ee,48:ie,49:oe,50:be,51:ge,52:ae,53:ne,54:se,55:de,56:X,57:pe,58:G,59:xe,60:U,61:Be,62:Pe,63:je,64:Ie,65:Se,66:Ce,67:ke,68:Ke,69:zt,70:Ne,71:pn,72:Tt,73:Et,74:Wt},{13:71,19:20,20:21,21:22,22:a,23:u,24:d,26:p,28:v,29:49,30:61,32:62,34:b,36:y,37:E,38:_,39:A,40:P,41:R,43:23,44:B,45:j,46:W,47:ee,48:ie,49:oe,50:be,51:ge,52:ae,53:ne,54:se,55:de,56:X,57:pe,58:G,59:xe,60:U,61:Be,62:Pe,63:je,64:Ie,65:Se,66:Ce,67:ke,68:Ke,69:zt,70:Ne,71:pn,72:Tt,73:Et,74:Wt},{13:72,19:20,20:21,21:22,22:a,23:u,24:d,26:p,28:v,29:49,30:61,32:62,34:b,36:y,37:E,38:_,39:A,40:P,41:R,43:23,44:B,45:j,46:W,47:ee,48:ie,49:oe,50:be,51:ge,52:ae,53:ne,54:se,55:de,56:X,57:pe,58:G,59:xe,60:U,61:Be,62:Pe,63:je,64:Ie,65:Se,66:Ce,67:ke,68:Ke,69:zt,70:Ne,71:pn,72:Tt,73:Et,74:Wt},{13:73,19:20,20:21,21:22,22:a,23:u,24:d,26:p,28:v,29:49,30:61,32:62,34:b,36:y,37:E,38:_,39:A,40:P,41:R,43:23,44:B,45:j,46:W,47:ee,48:ie,49:oe,50:be,51:ge,52:ae,53:ne,54:se,55:de,56:X,57:pe,58:G,59:xe,60:U,61:Be,62:Pe,63:je,64:Ie,65:Se,66:Ce,67:ke,68:Ke,69:zt,70:Ne,71:pn,72:Tt,73:Et,74:Wt},{14:[1,74]},i(un,[2,13],{43:23,29:49,30:61,32:62,20:75,34:b,36:y,37:E,38:_,39:A,40:P,41:R,44:B,45:j,46:W,47:ee,48:ie,49:oe,50:be,51:ge,52:ae,53:ne,54:se,55:de,56:X,57:pe,58:G,59:xe,60:U,61:Be,62:Pe,63:je,64:Ie,65:Se,66:Ce,67:ke,68:Ke,69:zt,70:Ne,71:pn,72:Tt,73:Et,74:Wt}),i(un,[2,14]),i(yt,[2,16],{12:[1,76]}),i(un,[2,36],{12:[1,77]}),i(Bt,[2,19]),i(Bt,[2,20]),{25:[1,78]},{27:[1,79]},i(Bt,[2,23]),{35:80,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:86,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:87,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:88,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:89,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:90,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:91,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:92,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:93,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:94,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:95,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:96,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:97,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:98,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:99,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:100,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:101,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:102,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:103,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:104,75:81,76:Ze,77:Dt,79:kt,80:Nn},i(ht,[2,59]),{35:105,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:106,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:107,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:108,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:109,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:110,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:111,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:112,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:113,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:114,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:115,75:81,76:Ze,77:Dt,79:kt,80:Nn},{20:116,29:49,30:61,32:62,34:b,36:y,37:E,38:_,39:A,40:P,41:R,43:23,44:B,45:j,46:W,47:ee,48:ie,49:oe,50:be,51:ge,52:ae,53:ne,54:se,55:de,56:X,57:pe,58:G,59:xe,60:U,61:Be,62:Pe,63:je,64:Ie,65:Se,66:Ce,67:ke,68:Ke,69:zt,70:Ne,71:pn,72:Tt,73:Et,74:Wt},{12:[1,118],33:[1,117]},{35:119,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:120,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:121,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:122,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:123,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:124,75:81,76:Ze,77:Dt,79:kt,80:Nn},{35:125,75:81,76:Ze,77:Dt,79:kt,80:Nn},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},i(un,[2,15]),i(yt,[2,17],{21:22,19:130,22:a,23:u,24:d,26:p,28:v}),i(un,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:a,23:u,24:d,26:p,28:v,34:b,36:y,37:E,38:_,39:A,40:P,41:R,44:B,45:j,46:W,47:ee,48:ie,49:oe,50:be,51:ge,52:ae,53:ne,54:se,55:de,56:X,57:pe,58:G,59:xe,60:U,61:Be,62:Pe,63:je,64:Ie,65:Se,66:Ce,67:ke,68:Ke,69:zt,70:Ne,71:pn,72:Tt,73:Et,74:Wt}),i(Bt,[2,21]),i(Bt,[2,22]),i(ht,[2,39]),i(qr,[2,71],{75:81,35:132,76:Ze,77:Dt,79:kt,80:Nn}),i(xt,[2,73]),{78:[1,133]},i(xt,[2,75]),i(xt,[2,76]),i(ht,[2,40]),i(ht,[2,41]),i(ht,[2,42]),i(ht,[2,43]),i(ht,[2,44]),i(ht,[2,45]),i(ht,[2,46]),i(ht,[2,47]),i(ht,[2,48]),i(ht,[2,49]),i(ht,[2,50]),i(ht,[2,51]),i(ht,[2,52]),i(ht,[2,53]),i(ht,[2,54]),i(ht,[2,55]),i(ht,[2,56]),i(ht,[2,57]),i(ht,[2,58]),i(ht,[2,60]),i(ht,[2,61]),i(ht,[2,62]),i(ht,[2,63]),i(ht,[2,64]),i(ht,[2,65]),i(ht,[2,66]),i(ht,[2,67]),i(ht,[2,68]),i(ht,[2,69]),i(ht,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},i(Ri,[2,28]),i(Ri,[2,29]),i(Ri,[2,30]),i(Ri,[2,31]),i(Ri,[2,32]),i(Ri,[2,33]),i(Ri,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},i(yt,[2,18]),i(un,[2,38]),i(qr,[2,72]),i(xt,[2,74]),i(ht,[2,24]),i(ht,[2,35]),i(wi,[2,25]),i(wi,[2,26],{12:[1,138]}),i(wi,[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:function(On,Rn){if(Rn.recoverable)this.trace(On);else{var zn=new Error(On);throw zn.hash=Rn,zn}},parse:function(On){var Rn=this,zn=[0],Ct=[],gt=[null],on=[],dn=this.table,Ln="",Io=0,Oo=0,No=2,Us=1,uo=on.slice.call(arguments,1),Es=Object.create(this.lexer),Ou={yy:{}};for(var _c in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_c)&&(Ou.yy[_c]=this.yy[_c]);Es.setInput(On,Ou.yy),Ou.yy.lexer=Es,Ou.yy.parser=this,typeof Es.yylloc>"u"&&(Es.yylloc={});var Kd=Es.yylloc;on.push(Kd);var qp=Es.options&&Es.options.ranges;typeof Ou.yy.parseError=="function"?this.parseError=Ou.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ul(){var Kh;return Kh=Ct.pop()||Es.lex()||Us,typeof Kh!="number"&&(Kh instanceof Array&&(Ct=Kh,Kh=Ct.pop()),Kh=Rn.symbols_[Kh]||Kh),Kh}for(var Ac,Jc,Ya,Ba,ha={},$o,Lc,Fa,Ra;;){if(Jc=zn[zn.length-1],this.defaultActions[Jc]?Ya=this.defaultActions[Jc]:((Ac===null||typeof Ac>"u")&&(Ac=Ul()),Ya=dn[Jc]&&dn[Jc][Ac]),typeof Ya>"u"||!Ya.length||!Ya[0]){var ma="";Ra=[];for($o in dn[Jc])this.terminals_[$o]&&$o>No&&Ra.push("'"+this.terminals_[$o]+"'");Es.showPosition?ma="Parse error on line "+(Io+1)+`:
`+Es.showPosition()+`
Expecting `+Ra.join(", ")+", got '"+(this.terminals_[Ac]||Ac)+"'":ma="Parse error on line "+(Io+1)+": Unexpected "+(Ac==Us?"end of input":"'"+(this.terminals_[Ac]||Ac)+"'"),this.parseError(ma,{text:Es.match,token:this.terminals_[Ac]||Ac,line:Es.yylineno,loc:Kd,expected:Ra})}if(Ya[0]instanceof Array&&Ya.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Jc+", token: "+Ac);switch(Ya[0]){case 1:zn.push(Ac),gt.push(Es.yytext),on.push(Es.yylloc),zn.push(Ya[1]),Ac=null,Oo=Es.yyleng,Ln=Es.yytext,Io=Es.yylineno,Kd=Es.yylloc;break;case 2:if(Lc=this.productions_[Ya[1]][1],ha.$=gt[gt.length-Lc],ha._$={first_line:on[on.length-(Lc||1)].first_line,last_line:on[on.length-1].last_line,first_column:on[on.length-(Lc||1)].first_column,last_column:on[on.length-1].last_column},qp&&(ha._$.range=[on[on.length-(Lc||1)].range[0],on[on.length-1].range[1]]),Ba=this.performAction.apply(ha,[Ln,Oo,Io,Ou.yy,Ya[1],gt,on].concat(uo)),typeof Ba<"u")return Ba;Lc&&(zn=zn.slice(0,-1*Lc*2),gt=gt.slice(0,-1*Lc),on=on.slice(0,-1*Lc)),zn.push(this.productions_[Ya[1]][0]),gt.push(ha.$),on.push(ha._$),Fa=dn[zn[zn.length-2]][zn[zn.length-1]],zn.push(Fa);break;case 3:return!0}}return!0}},Hs=function(){var Tr={EOF:1,parseError:function(Rn,zn){if(this.yy.parser)this.yy.parser.parseError(Rn,zn);else throw new Error(Rn)},setInput:function(On,Rn){return this.yy=Rn||this.yy||{},this._input=On,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 On=this._input[0];this.yytext+=On,this.yyleng++,this.offset++,this.match+=On,this.matched+=On;var Rn=On.match(/(?:\r\n?|\n).*/g);return Rn?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),On},unput:function(On){var Rn=On.length,zn=On.split(/(?:\r\n?|\n)/g);this._input=On+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Rn),this.offset-=Rn;var Ct=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),zn.length-1&&(this.yylineno-=zn.length-1);var gt=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:zn?(zn.length===Ct.length?this.yylloc.first_column:0)+Ct[Ct.length-zn.length].length-zn[0].length:this.yylloc.first_column-Rn},this.options.ranges&&(this.yylloc.range=[gt[0],gt[0]+this.yyleng-Rn]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return 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).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(On){this.unput(this.match.slice(On))},pastInput:function(){var On=this.matched.substr(0,this.matched.length-this.match.length);return(On.length>20?"...":"")+On.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var On=this.match;return On.length<20&&(On+=this._input.substr(0,20-On.length)),(On.substr(0,20)+(On.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var On=this.pastInput(),Rn=new Array(On.length+1).join("-");return On+this.upcomingInput()+`
`+Rn+"^"},test_match:function(On,Rn){var zn,Ct,gt;if(this.options.backtrack_lexer&&(gt={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&&(gt.yylloc.range=this.yylloc.range.slice(0))),Ct=On[0].match(/(?:\r\n?|\n).*/g),Ct&&(this.yylineno+=Ct.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ct?Ct[Ct.length-1].length-Ct[Ct.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+On[0].length},this.yytext+=On[0],this.match+=On[0],this.matches=On,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(On[0].length),this.matched+=On[0],zn=this.performAction.call(this,this.yy,this,Rn,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),zn)return zn;if(this._backtrack){for(var on in gt)this[on]=gt[on];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var On,Rn,zn,Ct;this._more||(this.yytext="",this.match="");for(var gt=this._currentRules(),on=0;on<gt.length;on++)if(zn=this._input.match(this.rules[gt[on]]),zn&&(!Rn||zn[0].length>Rn[0].length)){if(Rn=zn,Ct=on,this.options.backtrack_lexer){if(On=this.test_match(zn,gt[on]),On!==!1)return On;if(this._backtrack){Rn=!1;continue}else return!1}else if(!this.options.flex)break}return Rn?(On=this.test_match(Rn,gt[Ct]),On!==!1?On:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Rn=this.next();return Rn||this.lex()},begin:function(Rn){this.conditionStack.push(Rn)},popState:function(){var Rn=this.conditionStack.length-1;return Rn>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(Rn){return Rn=this.conditionStack.length-1-Math.abs(Rn||0),Rn>=0?this.conditionStack[Rn]:"INITIAL"},pushState:function(Rn){this.begin(Rn)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Rn,zn,Ct,gt){switch(Ct){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:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;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:return this.begin("node"),39;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:return this.begin("rel_u"),66;case 53:return this.begin("rel_u"),66;case 54:return this.begin("rel_d"),67;case 55:return this.begin("rel_d"),67;case 56:return this.begin("rel_l"),68;case 57:return this.begin("rel_l"),68;case 58:return this.begin("rel_r"),69;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:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74: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 79:this.popState(),this.popState();break;case 80:return"STR";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}}};return Tr}();ia.lexer=Hs;function mo(){this.yy={}}return mo.prototype=ia,ia.Parser=mo,new mo}();jQ.parser=jQ;const JUt=jQ;let q3=[],I9=[""],jp="global",H3="",Z4=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],kR=[],nme="",rme=!1,$Q=4,zQ=2;var Xqe;const ZUt=function(){return Xqe},eVt=function(i){Xqe=bh(i,qt())},tVt=function(i,a,u,d,p,v,b,y,E){if(i==null||a===void 0||a===null||u===void 0||u===null||d===void 0||d===null)return;let _={};const A=kR.find(P=>P.from===a&&P.to===u);if(A?_=A:kR.push(_),_.type=i,_.from=a,_.to=u,_.label={text:d},p==null)_.techn={text:""};else if(typeof p=="object"){let[P,R]=Object.entries(p)[0];_[P]={text:R}}else _.techn={text:p};if(v==null)_.descr={text:""};else if(typeof v=="object"){let[P,R]=Object.entries(v)[0];_[P]={text:R}}else _.descr={text:v};if(typeof b=="object"){let[P,R]=Object.entries(b)[0];_[P]=R}else _.sprite=b;if(typeof y=="object"){let[P,R]=Object.entries(y)[0];_[P]=R}else _.tags=y;if(typeof E=="object"){let[P,R]=Object.entries(E)[0];_[P]=R}else _.link=E;_.wrap=O9()},nVt=function(i,a,u,d,p,v,b){if(a===null||u===null)return;let y={};const E=q3.find(_=>_.alias===a);if(E&&a===E.alias?y=E:(y.alias=a,q3.push(y)),u==null?y.label={text:""}:y.label={text:u},d==null)y.descr={text:""};else if(typeof d=="object"){let[_,A]=Object.entries(d)[0];y[_]={text:A}}else y.descr={text:d};if(typeof p=="object"){let[_,A]=Object.entries(p)[0];y[_]=A}else y.sprite=p;if(typeof v=="object"){let[_,A]=Object.entries(v)[0];y[_]=A}else y.tags=v;if(typeof b=="object"){let[_,A]=Object.entries(b)[0];y[_]=A}else y.link=b;y.typeC4Shape={text:i},y.parentBoundary=jp,y.wrap=O9()},rVt=function(i,a,u,d,p,v,b,y){if(a===null||u===null)return;let E={};const _=q3.find(A=>A.alias===a);if(_&&a===_.alias?E=_:(E.alias=a,q3.push(E)),u==null?E.label={text:""}:E.label={text:u},d==null)E.techn={text:""};else if(typeof d=="object"){let[A,P]=Object.entries(d)[0];E[A]={text:P}}else E.techn={text:d};if(p==null)E.descr={text:""};else if(typeof p=="object"){let[A,P]=Object.entries(p)[0];E[A]={text:P}}else E.descr={text:p};if(typeof v=="object"){let[A,P]=Object.entries(v)[0];E[A]=P}else E.sprite=v;if(typeof b=="object"){let[A,P]=Object.entries(b)[0];E[A]=P}else E.tags=b;if(typeof y=="object"){let[A,P]=Object.entries(y)[0];E[A]=P}else E.link=y;E.wrap=O9(),E.typeC4Shape={text:i},E.parentBoundary=jp},iVt=function(i,a,u,d,p,v,b,y){if(a===null||u===null)return;let E={};const _=q3.find(A=>A.alias===a);if(_&&a===_.alias?E=_:(E.alias=a,q3.push(E)),u==null?E.label={text:""}:E.label={text:u},d==null)E.techn={text:""};else if(typeof d=="object"){let[A,P]=Object.entries(d)[0];E[A]={text:P}}else E.techn={text:d};if(p==null)E.descr={text:""};else if(typeof p=="object"){let[A,P]=Object.entries(p)[0];E[A]={text:P}}else E.descr={text:p};if(typeof v=="object"){let[A,P]=Object.entries(v)[0];E[A]=P}else E.sprite=v;if(typeof b=="object"){let[A,P]=Object.entries(b)[0];E[A]=P}else E.tags=b;if(typeof y=="object"){let[A,P]=Object.entries(y)[0];E[A]=P}else E.link=y;E.wrap=O9(),E.typeC4Shape={text:i},E.parentBoundary=jp},sVt=function(i,a,u,d,p){if(i===null||a===null)return;let v={};const b=Z4.find(y=>y.alias===i);if(b&&i===b.alias?v=b:(v.alias=i,Z4.push(v)),a==null?v.label={text:""}:v.label={text:a},u==null)v.type={text:"system"};else if(typeof u=="object"){let[y,E]=Object.entries(u)[0];v[y]={text:E}}else v.type={text:u};if(typeof d=="object"){let[y,E]=Object.entries(d)[0];v[y]=E}else v.tags=d;if(typeof p=="object"){let[y,E]=Object.entries(p)[0];v[y]=E}else v.link=p;v.parentBoundary=jp,v.wrap=O9(),H3=jp,jp=i,I9.push(H3)},aVt=function(i,a,u,d,p){if(i===null||a===null)return;let v={};const b=Z4.find(y=>y.alias===i);if(b&&i===b.alias?v=b:(v.alias=i,Z4.push(v)),a==null?v.label={text:""}:v.label={text:a},u==null)v.type={text:"container"};else if(typeof u=="object"){let[y,E]=Object.entries(u)[0];v[y]={text:E}}else v.type={text:u};if(typeof d=="object"){let[y,E]=Object.entries(d)[0];v[y]=E}else v.tags=d;if(typeof p=="object"){let[y,E]=Object.entries(p)[0];v[y]=E}else v.link=p;v.parentBoundary=jp,v.wrap=O9(),H3=jp,jp=i,I9.push(H3)},oVt=function(i,a,u,d,p,v,b,y){if(a===null||u===null)return;let E={};const _=Z4.find(A=>A.alias===a);if(_&&a===_.alias?E=_:(E.alias=a,Z4.push(E)),u==null?E.label={text:""}:E.label={text:u},d==null)E.type={text:"node"};else if(typeof d=="object"){let[A,P]=Object.entries(d)[0];E[A]={text:P}}else E.type={text:d};if(p==null)E.descr={text:""};else if(typeof p=="object"){let[A,P]=Object.entries(p)[0];E[A]={text:P}}else E.descr={text:p};if(typeof b=="object"){let[A,P]=Object.entries(b)[0];E[A]=P}else E.tags=b;if(typeof y=="object"){let[A,P]=Object.entries(y)[0];E[A]=P}else E.link=y;E.nodeType=i,E.parentBoundary=jp,E.wrap=O9(),H3=jp,jp=a,I9.push(H3)},cVt=function(){jp=H3,I9.pop(),H3=I9.pop(),I9.push(H3)},uVt=function(i,a,u,d,p,v,b,y,E,_,A){let P=q3.find(R=>R.alias===a);if(!(P===void 0&&(P=Z4.find(R=>R.alias===a),P===void 0))){if(u!=null)if(typeof u=="object"){let[R,B]=Object.entries(u)[0];P[R]=B}else P.bgColor=u;if(d!=null)if(typeof d=="object"){let[R,B]=Object.entries(d)[0];P[R]=B}else P.fontColor=d;if(p!=null)if(typeof p=="object"){let[R,B]=Object.entries(p)[0];P[R]=B}else P.borderColor=p;if(v!=null)if(typeof v=="object"){let[R,B]=Object.entries(v)[0];P[R]=B}else P.shadowing=v;if(b!=null)if(typeof b=="object"){let[R,B]=Object.entries(b)[0];P[R]=B}else P.shape=b;if(y!=null)if(typeof y=="object"){let[R,B]=Object.entries(y)[0];P[R]=B}else P.sprite=y;if(E!=null)if(typeof E=="object"){let[R,B]=Object.entries(E)[0];P[R]=B}else P.techn=E;if(_!=null)if(typeof _=="object"){let[R,B]=Object.entries(_)[0];P[R]=B}else P.legendText=_;if(A!=null)if(typeof A=="object"){let[R,B]=Object.entries(A)[0];P[R]=B}else P.legendSprite=A}},lVt=function(i,a,u,d,p,v,b){const y=kR.find(E=>E.from===a&&E.to===u);if(y!==void 0){if(d!=null)if(typeof d=="object"){let[E,_]=Object.entries(d)[0];y[E]=_}else y.textColor=d;if(p!=null)if(typeof p=="object"){let[E,_]=Object.entries(p)[0];y[E]=_}else y.lineColor=p;if(v!=null)if(typeof v=="object"){let[E,_]=Object.entries(v)[0];y[E]=parseInt(_)}else y.offsetX=parseInt(v);if(b!=null)if(typeof b=="object"){let[E,_]=Object.entries(b)[0];y[E]=parseInt(_)}else y.offsetY=parseInt(b)}},hVt=function(i,a,u){let d=$Q,p=zQ;if(typeof a=="object"){const v=Object.values(a)[0];d=parseInt(v)}else d=parseInt(a);if(typeof u=="object"){const v=Object.values(u)[0];p=parseInt(v)}else p=parseInt(u);d>=1&&($Q=d),p>=1&&(zQ=p)},fVt=function(){return $Q},dVt=function(){return zQ},gVt=function(){return jp},pVt=function(){return H3},Qqe=function(i){return i==null?q3:q3.filter(a=>a.parentBoundary===i)},bVt=function(i){return q3.find(a=>a.alias===i)},mVt=function(i){return Object.keys(Qqe(i))},Jqe=function(i){return i==null?Z4:Z4.filter(a=>a.parentBoundary===i)},vVt=Jqe,wVt=function(){return kR},yVt=function(){return nme},xVt=function(i){rme=i},O9=function(){return rme},ime={addPersonOrSystem:nVt,addPersonOrSystemBoundary:sVt,addContainer:rVt,addContainerBoundary:aVt,addComponent:iVt,addDeploymentNode:oVt,popBoundaryParseStack:cVt,addRel:tVt,updateElStyle:uVt,updateRelStyle:lVt,updateLayoutConfig:hVt,autoWrap:O9,setWrap:xVt,getC4ShapeArray:Qqe,getC4Shape:bVt,getC4ShapeKeys:mVt,getBoundaries:Jqe,getBoundarys:vVt,getCurrentBoundaryParse:gVt,getParentBoundaryParse:pVt,getRels:wVt,getTitle:yVt,getC4Type:ZUt,getC4ShapeInRow:fVt,getC4BoundaryInRow:dVt,setAccTitle:jg,getAccTitle:Mp,getAccDescription:Ip,setAccDescription:Dp,getConfig:()=>qt().c4,clear:function(){q3=[],Z4=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],H3="",jp="global",I9=[""],kR=[],I9=[""],nme="",rme=!1,$Q=4,zQ=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(i){nme=bh(i,qt())},setC4Type:eVt},qQ=(i,a)=>{const u=i.append("rect");if(u.attr("x",a.x),u.attr("y",a.y),u.attr("fill",a.fill),u.attr("stroke",a.stroke),u.attr("width",a.width),u.attr("height",a.height),a.name&&u.attr("name",a.name),a.rx!==void 0&&u.attr("rx",a.rx),a.ry!==void 0&&u.attr("ry",a.ry),a.attrs!==void 0)for(const d in a.attrs)u.attr(d,a.attrs[d]);return a.class!==void 0&&u.attr("class",a.class),u},Zqe=(i,a)=>{const u={x:a.startx,y:a.starty,width:a.stopx-a.startx,height:a.stopy-a.starty,fill:a.fill,stroke:a.stroke,class:"rect"};qQ(i,u).lower()},kVt=(i,a)=>{const u=a.text.replace(bD," "),d=i.append("text");d.attr("x",a.x),d.attr("y",a.y),d.attr("class","legend"),d.style("text-anchor",a.anchor),a.class!==void 0&&d.attr("class",a.class);const p=d.append("tspan");return p.attr("x",a.x+a.textMargin*2),p.text(u),d},TVt=(i,a,u,d)=>{const p=i.append("image");p.attr("x",a),p.attr("y",u);const v=b9.sanitizeUrl(d);p.attr("xlink:href",v)},EVt=(i,a,u,d)=>{const p=i.append("use");p.attr("x",a),p.attr("y",u);const v=b9.sanitizeUrl(d);p.attr("xlink:href",`#${v}`)},HC=()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),sme=()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),ame=function(i,a){return qQ(i,a)},eHe=function(i,a,u,d,p,v){const b=i.append("image");b.attr("width",a),b.attr("height",u),b.attr("x",d),b.attr("y",p);let y=v.startsWith("data:image/png;base64")?v:b9.sanitizeUrl(v);b.attr("xlink:href",y)},CVt=(i,a,u)=>{const d=i.append("g");let p=0;for(let v of a){let b=v.textColor?v.textColor:"#444444",y=v.lineColor?v.lineColor:"#444444",E=v.offsetX?parseInt(v.offsetX):0,_=v.offsetY?parseInt(v.offsetY):0,A="";if(p===0){let R=d.append("line");R.attr("x1",v.startPoint.x),R.attr("y1",v.startPoint.y),R.attr("x2",v.endPoint.x),R.attr("y2",v.endPoint.y),R.attr("stroke-width","1"),R.attr("stroke",y),R.style("fill","none"),v.type!=="rel_b"&&R.attr("marker-end","url("+A+"#arrowhead)"),(v.type==="birel"||v.type==="rel_b")&&R.attr("marker-start","url("+A+"#arrowend)"),p=-1}else{let R=d.append("path");R.attr("fill","none").attr("stroke-width","1").attr("stroke",y).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",v.startPoint.x).replaceAll("starty",v.startPoint.y).replaceAll("controlx",v.startPoint.x+(v.endPoint.x-v.startPoint.x)/2-(v.endPoint.x-v.startPoint.x)/4).replaceAll("controly",v.startPoint.y+(v.endPoint.y-v.startPoint.y)/2).replaceAll("stopx",v.endPoint.x).replaceAll("stopy",v.endPoint.y)),v.type!=="rel_b"&&R.attr("marker-end","url("+A+"#arrowhead)"),(v.type==="birel"||v.type==="rel_b")&&R.attr("marker-start","url("+A+"#arrowend)")}let P=u.messageFont();R7(u)(v.label.text,d,Math.min(v.startPoint.x,v.endPoint.x)+Math.abs(v.endPoint.x-v.startPoint.x)/2+E,Math.min(v.startPoint.y,v.endPoint.y)+Math.abs(v.endPoint.y-v.startPoint.y)/2+_,v.label.width,v.label.height,{fill:b},P),v.techn&&v.techn.text!==""&&(P=u.messageFont(),R7(u)("["+v.techn.text+"]",d,Math.min(v.startPoint.x,v.endPoint.x)+Math.abs(v.endPoint.x-v.startPoint.x)/2+E,Math.min(v.startPoint.y,v.endPoint.y)+Math.abs(v.endPoint.y-v.startPoint.y)/2+u.messageFontSize+5+_,Math.max(v.label.width,v.techn.width),v.techn.height,{fill:b,"font-style":"italic"},P))}},SVt=function(i,a,u){const d=i.append("g");let p=a.bgColor?a.bgColor:"none",v=a.borderColor?a.borderColor:"#444444",b=a.fontColor?a.fontColor:"black",y={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};a.nodeType&&(y={"stroke-width":1});let E={x:a.x,y:a.y,fill:p,stroke:v,width:a.width,height:a.height,rx:2.5,ry:2.5,attrs:y};ame(d,E);let _=u.boundaryFont();_.fontWeight="bold",_.fontSize=_.fontSize+2,_.fontColor=b,R7(u)(a.label.text,d,a.x,a.y+a.label.Y,a.width,a.height,{fill:"#444444"},_),a.type&&a.type.text!==""&&(_=u.boundaryFont(),_.fontColor=b,R7(u)(a.type.text,d,a.x,a.y+a.type.Y,a.width,a.height,{fill:"#444444"},_)),a.descr&&a.descr.text!==""&&(_=u.boundaryFont(),_.fontSize=_.fontSize-2,_.fontColor=b,R7(u)(a.descr.text,d,a.x,a.y+a.descr.Y,a.width,a.height,{fill:"#444444"},_))},_Vt=function(i,a,u){var P;let d=a.bgColor?a.bgColor:u[a.typeC4Shape.text+"_bg_color"],p=a.borderColor?a.borderColor:u[a.typeC4Shape.text+"_border_color"],v=a.fontColor?a.fontColor:"#FFFFFF",b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(a.typeC4Shape.text){case"person":b="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":b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}const y=i.append("g");y.attr("class","person-man");const E=HC();switch(a.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":E.x=a.x,E.y=a.y,E.fill=d,E.width=a.width,E.height=a.height,E.stroke=p,E.rx=2.5,E.ry=2.5,E.attrs={"stroke-width":.5},ame(y,E);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":y.append("path").attr("fill",d).attr("stroke-width","0.5").attr("stroke",p).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",a.x).replaceAll("starty",a.y).replaceAll("half",a.width/2).replaceAll("height",a.height)),y.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",p).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",a.x).replaceAll("starty",a.y).replaceAll("half",a.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":y.append("path").attr("fill",d).attr("stroke-width","0.5").attr("stroke",p).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",a.x).replaceAll("starty",a.y).replaceAll("width",a.width).replaceAll("half",a.height/2)),y.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",p).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",a.x+a.width).replaceAll("starty",a.y).replaceAll("half",a.height/2));break}let _=BVt(u,a.typeC4Shape.text);switch(y.append("text").attr("fill",v).attr("font-family",_.fontFamily).attr("font-size",_.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",a.typeC4Shape.width).attr("x",a.x+a.width/2-a.typeC4Shape.width/2).attr("y",a.y+a.typeC4Shape.Y).text("<<"+a.typeC4Shape.text+">>"),a.typeC4Shape.text){case"person":case"external_person":eHe(y,48,48,a.x+a.width/2-24,a.y+a.image.Y,b);break}let A=u[a.typeC4Shape.text+"Font"]();return A.fontWeight="bold",A.fontSize=A.fontSize+2,A.fontColor=v,R7(u)(a.label.text,y,a.x,a.y+a.label.Y,a.width,a.height,{fill:v},A),A=u[a.typeC4Shape.text+"Font"](),A.fontColor=v,a.techn&&((P=a.techn)==null?void 0:P.text)!==""?R7(u)(a.techn.text,y,a.x,a.y+a.techn.Y,a.width,a.height,{fill:v,"font-style":"italic"},A):a.type&&a.type.text!==""&&R7(u)(a.type.text,y,a.x,a.y+a.type.Y,a.width,a.height,{fill:v,"font-style":"italic"},A),a.descr&&a.descr.text!==""&&(A=u.personFont(),A.fontColor=v,R7(u)(a.descr.text,y,a.x,a.y+a.descr.Y,a.width,a.height,{fill:v},A)),a.height},AVt=function(i){i.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")},LVt=function(i){i.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")},MVt=function(i){i.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")},DVt=function(i){i.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")},IVt=function(i){i.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")},OVt=function(i){i.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")},NVt=function(i){i.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)},PVt=function(i){const u=i.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);u.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"),u.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")},BVt=(i,a)=>({fontFamily:i[a+"FontFamily"],fontSize:i[a+"FontSize"],fontWeight:i[a+"FontWeight"]}),R7=function(){function i(p,v,b,y,E,_,A){const P=v.append("text").attr("x",b+E/2).attr("y",y+_/2+5).style("text-anchor","middle").text(p);d(P,A)}function a(p,v,b,y,E,_,A,P){const{fontSize:R,fontFamily:B,fontWeight:j}=P,W=p.split(oi.lineBreakRegex);for(let ee=0;ee<W.length;ee++){const ie=ee*R-R*(W.length-1)/2,oe=v.append("text").attr("x",b+E/2).attr("y",y).style("text-anchor","middle").attr("dominant-baseline","middle").style("font-size",R).style("font-weight",j).style("font-family",B);oe.append("tspan").attr("dy",ie).text(W[ee]).attr("alignment-baseline","mathematical"),d(oe,A)}}function u(p,v,b,y,E,_,A,P){const R=v.append("switch"),j=R.append("foreignObject").attr("x",b).attr("y",y).attr("width",E).attr("height",_).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");j.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(p),a(p,R,b,y,E,_,A,P),d(j,A)}function d(p,v){for(const b in v)v.hasOwnProperty(b)&&p.attr(b,v[b])}return function(p){return p.textPlacement==="fo"?u:p.textPlacement==="old"?i:a}}(),e5={drawRect:ame,drawBoundary:SVt,drawC4Shape:_Vt,drawRels:CVt,drawImage:eHe,insertArrowHead:DVt,insertArrowEnd:IVt,insertArrowFilledHead:OVt,insertDynamicNumber:NVt,insertArrowCrossHead:PVt,insertDatabaseIcon:AVt,insertComputerIcon:LVt,insertClockIcon:MVt};let HQ=0,UQ=0,tHe=4,ome=2;jQ.yy=ime;let $s={};class nHe{constructor(a){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,cme(a.db.getConfig())}setData(a,u,d,p){this.nextData.startx=this.data.startx=a,this.nextData.stopx=this.data.stopx=u,this.nextData.starty=this.data.starty=d,this.nextData.stopy=this.data.stopy=p}updateVal(a,u,d,p){a[u]===void 0?a[u]=d:a[u]=p(d,a[u])}insert(a){this.nextData.cnt=this.nextData.cnt+1;let u=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+a.margin:this.nextData.stopx+a.margin*2,d=u+a.width,p=this.nextData.starty+a.margin*2,v=p+a.height;(u>=this.data.widthLimit||d>=this.data.widthLimit||this.nextData.cnt>tHe)&&(u=this.nextData.startx+a.margin+$s.nextLinePaddingX,p=this.nextData.stopy+a.margin*2,this.nextData.stopx=d=u+a.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=v=p+a.height,this.nextData.cnt=1),a.x=u,a.y=p,this.updateVal(this.data,"startx",u,Math.min),this.updateVal(this.data,"starty",p,Math.min),this.updateVal(this.data,"stopx",d,Math.max),this.updateVal(this.data,"stopy",v,Math.max),this.updateVal(this.nextData,"startx",u,Math.min),this.updateVal(this.nextData,"starty",p,Math.min),this.updateVal(this.nextData,"stopx",d,Math.max),this.updateVal(this.nextData,"stopy",v,Math.max)}init(a){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},cme(a.db.getConfig())}bumpLastMargin(a){this.data.stopx+=a,this.data.stopy+=a}}const cme=function(i){id($s,i),i.fontFamily&&($s.personFontFamily=$s.systemFontFamily=$s.messageFontFamily=i.fontFamily),i.fontSize&&($s.personFontSize=$s.systemFontSize=$s.messageFontSize=i.fontSize),i.fontWeight&&($s.personFontWeight=$s.systemFontWeight=$s.messageFontWeight=i.fontWeight)},TR=(i,a)=>({fontFamily:i[a+"FontFamily"],fontSize:i[a+"FontSize"],fontWeight:i[a+"FontWeight"]}),VQ=i=>({fontFamily:i.boundaryFontFamily,fontSize:i.boundaryFontSize,fontWeight:i.boundaryFontWeight}),FVt=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight});function U3(i,a,u,d,p){if(!a[i].width)if(u)a[i].text=zje(a[i].text,p,d),a[i].textLines=a[i].text.split(oi.lineBreakRegex).length,a[i].width=p,a[i].height=F2e(a[i].text,d);else{let v=a[i].text.split(oi.lineBreakRegex);a[i].textLines=v.length;let b=0;a[i].height=0,a[i].width=0;for(const y of v)a[i].width=Math.max(G4(y,d),a[i].width),b=F2e(y,d),a[i].height=a[i].height+b}}const rHe=function(i,a,u){a.x=u.data.startx,a.y=u.data.starty,a.width=u.data.stopx-u.data.startx,a.height=u.data.stopy-u.data.starty,a.label.y=$s.c4ShapeMargin-35;let d=a.wrap&&$s.wrap,p=VQ($s);p.fontSize=p.fontSize+2,p.fontWeight="bold";let v=G4(a.label.text,p);U3("label",a,d,p,v),e5.drawBoundary(i,a,$s)},iHe=function(i,a,u,d){let p=0;for(const v of d){p=0;const b=u[v];let y=TR($s,b.typeC4Shape.text);switch(y.fontSize=y.fontSize-2,b.typeC4Shape.width=G4("«"+b.typeC4Shape.text+"»",y),b.typeC4Shape.height=y.fontSize+2,b.typeC4Shape.Y=$s.c4ShapePadding,p=b.typeC4Shape.Y+b.typeC4Shape.height-4,b.image={width:0,height:0,Y:0},b.typeC4Shape.text){case"person":case"external_person":b.image.width=48,b.image.height=48,b.image.Y=p,p=b.image.Y+b.image.height;break}b.sprite&&(b.image.width=48,b.image.height=48,b.image.Y=p,p=b.image.Y+b.image.height);let E=b.wrap&&$s.wrap,_=$s.width-$s.c4ShapePadding*2,A=TR($s,b.typeC4Shape.text);if(A.fontSize=A.fontSize+2,A.fontWeight="bold",U3("label",b,E,A,_),b.label.Y=p+8,p=b.label.Y+b.label.height,b.type&&b.type.text!==""){b.type.text="["+b.type.text+"]";let B=TR($s,b.typeC4Shape.text);U3("type",b,E,B,_),b.type.Y=p+5,p=b.type.Y+b.type.height}else if(b.techn&&b.techn.text!==""){b.techn.text="["+b.techn.text+"]";let B=TR($s,b.techn.text);U3("techn",b,E,B,_),b.techn.Y=p+5,p=b.techn.Y+b.techn.height}let P=p,R=b.label.width;if(b.descr&&b.descr.text!==""){let B=TR($s,b.typeC4Shape.text);U3("descr",b,E,B,_),b.descr.Y=p+20,p=b.descr.Y+b.descr.height,R=Math.max(b.label.width,b.descr.width),P=p-b.descr.textLines*5}R=R+$s.c4ShapePadding,b.width=Math.max(b.width||$s.width,R,$s.width),b.height=Math.max(b.height||$s.height,P,$s.height),b.margin=b.margin||$s.c4ShapeMargin,i.insert(b),e5.drawC4Shape(a,b,$s)}i.bumpLastMargin($s.c4ShapeMargin)};let Gv=class{constructor(a,u){this.x=a,this.y=u}},sHe=function(i,a){let u=i.x,d=i.y,p=a.x,v=a.y,b=u+i.width/2,y=d+i.height/2,E=Math.abs(u-p),_=Math.abs(d-v),A=_/E,P=i.height/i.width,R=null;return d==v&&u<p?R=new Gv(u+i.width,y):d==v&&u>p?R=new Gv(u,y):u==p&&d<v?R=new Gv(b,d+i.height):u==p&&d>v&&(R=new Gv(b,d)),u>p&&d<v?P>=A?R=new Gv(u,y+A*i.width/2):R=new Gv(b-E/_*i.height/2,d+i.height):u<p&&d<v?P>=A?R=new Gv(u+i.width,y+A*i.width/2):R=new Gv(b+E/_*i.height/2,d+i.height):u<p&&d>v?P>=A?R=new Gv(u+i.width,y-A*i.width/2):R=new Gv(b+i.height/2*E/_,d):u>p&&d>v&&(P>=A?R=new Gv(u,y-i.width/2*A):R=new Gv(b-i.height/2*E/_,d)),R},RVt=function(i,a){let u={x:0,y:0};u.x=a.x+a.width/2,u.y=a.y+a.height/2;let d=sHe(i,u);u.x=i.x+i.width/2,u.y=i.y+i.height/2;let p=sHe(a,u);return{startPoint:d,endPoint:p}};const jVt=function(i,a,u,d){let p=0;for(let v of a){p=p+1;let b=v.wrap&&$s.wrap,y=FVt($s);d.db.getC4Type()==="C4Dynamic"&&(v.label.text=p+": "+v.label.text);let _=G4(v.label.text,y);U3("label",v,b,y,_),v.techn&&v.techn.text!==""&&(_=G4(v.techn.text,y),U3("techn",v,b,y,_)),v.descr&&v.descr.text!==""&&(_=G4(v.descr.text,y),U3("descr",v,b,y,_));let A=u(v.from),P=u(v.to),R=RVt(A,P);v.startPoint=R.startPoint,v.endPoint=R.endPoint}e5.drawRels(i,a,$s)};function aHe(i,a,u,d,p){let v=new nHe(p);v.data.widthLimit=u.data.widthLimit/Math.min(ome,d.length);for(let[b,y]of d.entries()){let E=0;y.image={width:0,height:0,Y:0},y.sprite&&(y.image.width=48,y.image.height=48,y.image.Y=E,E=y.image.Y+y.image.height);let _=y.wrap&&$s.wrap,A=VQ($s);if(A.fontSize=A.fontSize+2,A.fontWeight="bold",U3("label",y,_,A,v.data.widthLimit),y.label.Y=E+8,E=y.label.Y+y.label.height,y.type&&y.type.text!==""){y.type.text="["+y.type.text+"]";let j=VQ($s);U3("type",y,_,j,v.data.widthLimit),y.type.Y=E+5,E=y.type.Y+y.type.height}if(y.descr&&y.descr.text!==""){let j=VQ($s);j.fontSize=j.fontSize-2,U3("descr",y,_,j,v.data.widthLimit),y.descr.Y=E+20,E=y.descr.Y+y.descr.height}if(b==0||b%ome===0){let j=u.data.startx+$s.diagramMarginX,W=u.data.stopy+$s.diagramMarginY+E;v.setData(j,j,W,W)}else{let j=v.data.stopx!==v.data.startx?v.data.stopx+$s.diagramMarginX:v.data.startx,W=v.data.starty;v.setData(j,j,W,W)}v.name=y.alias;let P=p.db.getC4ShapeArray(y.alias),R=p.db.getC4ShapeKeys(y.alias);R.length>0&&iHe(v,i,P,R),a=y.alias;let B=p.db.getBoundarys(a);B.length>0&&aHe(i,a,v,B,p),y.alias!=="global"&&rHe(i,y,v),u.data.stopy=Math.max(v.data.stopy+$s.c4ShapeMargin,u.data.stopy),u.data.stopx=Math.max(v.data.stopx+$s.c4ShapeMargin,u.data.stopx),HQ=Math.max(HQ,u.data.stopx),UQ=Math.max(UQ,u.data.stopy)}}const oHe={drawPersonOrSystemArray:iHe,drawBoundary:rHe,setConf:cme,draw:function(i,a,u,d){$s=qt().c4;const p=qt().securityLevel;let v;p==="sandbox"&&(v=Dr("#i"+a));const b=Dr(p==="sandbox"?v.nodes()[0].contentDocument.body:"body");let y=d.db;d.db.setWrap($s.wrap),tHe=y.getC4ShapeInRow(),ome=y.getC4BoundaryInRow(),Xe.debug(`C:${JSON.stringify($s,null,2)}`);const E=p==="sandbox"?b.select(`[id="${a}"]`):Dr(`[id="${a}"]`);e5.insertComputerIcon(E),e5.insertDatabaseIcon(E),e5.insertClockIcon(E);let _=new nHe(d);_.setData($s.diagramMarginX,$s.diagramMarginX,$s.diagramMarginY,$s.diagramMarginY),_.data.widthLimit=screen.availWidth,HQ=$s.diagramMarginX,UQ=$s.diagramMarginY;const A=d.db.getTitle();let P=d.db.getBoundarys("");aHe(E,"",_,P,d),e5.insertArrowHead(E),e5.insertArrowEnd(E),e5.insertArrowCrossHead(E),e5.insertArrowFilledHead(E),jVt(E,d.db.getRels(),d.db.getC4Shape,d),_.data.stopx=HQ,_.data.stopy=UQ;const R=_.data;let j=R.stopy-R.starty+2*$s.diagramMarginY;const ee=R.stopx-R.startx+2*$s.diagramMarginX;A&&E.append("text").text(A).attr("x",(R.stopx-R.startx)/2-4*$s.diagramMarginX).attr("y",R.starty+$s.diagramMarginY),Fg(E,j,ee,$s.useMaxWidth);const ie=A?60:0;E.attr("viewBox",R.startx-$s.diagramMarginX+" -"+($s.diagramMarginY+ie)+" "+ee+" "+(j+ie)),Xe.debug("models:",R)}},$Vt=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:JUt,db:ime,renderer:oHe,styles:i=>`.person {
stroke: ${i.personBorder};
fill: ${i.personBkg};
}
`,init:({c4:i,wrap:a})=>{oHe.setConf(i),ime.setWrap(a)}}},Symbol.toStringTag,{value:"Module"}));var ume=function(){var i=function(Qo,Hi,Ui,zs){for(Ui=Ui||{},zs=Qo.length;zs--;Ui[Qo[zs]]=Hi);return Ui},a=[1,4],u=[1,3],d=[1,5],p=[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],v=[2,2],b=[1,13],y=[1,14],E=[1,15],_=[1,16],A=[1,23],P=[1,25],R=[1,26],B=[1,27],j=[1,49],W=[1,48],ee=[1,29],ie=[1,30],oe=[1,31],be=[1,32],ge=[1,33],ae=[1,44],ne=[1,46],se=[1,42],de=[1,47],X=[1,43],pe=[1,50],G=[1,45],xe=[1,51],U=[1,52],Be=[1,34],Pe=[1,35],je=[1,36],Ie=[1,37],Se=[1,57],Ce=[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],ke=[1,61],Ke=[1,60],zt=[1,62],Ne=[8,9,11,73,75],pn=[1,88],Tt=[1,93],Et=[1,92],Wt=[1,89],un=[1,85],yt=[1,91],Bt=[1,87],Ze=[1,94],Dt=[1,90],kt=[1,95],Nn=[1,86],ht=[8,9,10,11,73,75],qr=[8,9,10,11,44,73,75],xt=[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],Ri=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],wi=[42,58,86,99,102,103,106,108,111,112,113],ia=[1,121],Hs=[1,120],mo=[1,128],Tr=[1,142],On=[1,143],Rn=[1,144],zn=[1,145],Ct=[1,130],gt=[1,132],on=[1,136],dn=[1,137],Ln=[1,138],Io=[1,139],Oo=[1,140],No=[1,141],Us=[1,146],uo=[1,147],Es=[1,126],Ou=[1,127],_c=[1,134],Kd=[1,129],qp=[1,133],Ul=[1,131],Ac=[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],Jc=[1,149],Ya=[8,9,11],Ba=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],ha=[1,169],$o=[1,165],Lc=[1,166],Fa=[1,170],Ra=[1,167],ma=[1,168],Kh=[75,113,116],Po=[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],Hp=[10,103],Ug=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],od=[1,235],cd=[1,233],w1=[1,237],kh=[1,231],Wd=[1,232],Yd=[1,234],Xd=[1,236],Zf=[1,238],Up=[1,255],u5=[8,9,11,103],bs=[8,9,10,11,58,81,102,103,106,107,108,109],Vt={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(Hi,Ui,zs,gi,Bo,Ot,zu){var Gt=Ot.length-1;switch(Bo){case 2:this.$=[];break;case 3:(!Array.isArray(Ot[Gt])||Ot[Gt].length>0)&&Ot[Gt-1].push(Ot[Gt]),this.$=Ot[Gt-1];break;case 4:case 176:this.$=Ot[Gt];break;case 11:gi.setDirection("TB"),this.$="TB";break;case 12:gi.setDirection(Ot[Gt-1]),this.$=Ot[Gt-1];break;case 27:this.$=Ot[Gt-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=gi.addSubGraph(Ot[Gt-6],Ot[Gt-1],Ot[Gt-4]);break;case 34:this.$=gi.addSubGraph(Ot[Gt-3],Ot[Gt-1],Ot[Gt-3]);break;case 35:this.$=gi.addSubGraph(void 0,Ot[Gt-1],void 0);break;case 37:this.$=Ot[Gt].trim(),gi.setAccTitle(this.$);break;case 38:case 39:this.$=Ot[Gt].trim(),gi.setAccDescription(this.$);break;case 43:gi.addLink(Ot[Gt-2].stmt,Ot[Gt],Ot[Gt-1]),this.$={stmt:Ot[Gt],nodes:Ot[Gt].concat(Ot[Gt-2].nodes)};break;case 44:gi.addLink(Ot[Gt-3].stmt,Ot[Gt-1],Ot[Gt-2]),this.$={stmt:Ot[Gt-1],nodes:Ot[Gt-1].concat(Ot[Gt-3].nodes)};break;case 45:this.$={stmt:Ot[Gt-1],nodes:Ot[Gt-1]};break;case 46:this.$={stmt:Ot[Gt],nodes:Ot[Gt]};break;case 47:this.$=[Ot[Gt]];break;case 48:this.$=Ot[Gt-4].concat(Ot[Gt]);break;case 49:this.$=Ot[Gt];break;case 50:this.$=Ot[Gt-2],gi.setClass(Ot[Gt-2],Ot[Gt]);break;case 51:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"square");break;case 52:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"doublecircle");break;case 53:this.$=Ot[Gt-5],gi.addVertex(Ot[Gt-5],Ot[Gt-2],"circle");break;case 54:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"ellipse");break;case 55:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"stadium");break;case 56:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"subroutine");break;case 57:this.$=Ot[Gt-7],gi.addVertex(Ot[Gt-7],Ot[Gt-1],"rect",void 0,void 0,void 0,Object.fromEntries([[Ot[Gt-5],Ot[Gt-3]]]));break;case 58:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"cylinder");break;case 59:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"round");break;case 60:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"diamond");break;case 61:this.$=Ot[Gt-5],gi.addVertex(Ot[Gt-5],Ot[Gt-2],"hexagon");break;case 62:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"odd");break;case 63:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"trapezoid");break;case 64:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"inv_trapezoid");break;case 65:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"lean_right");break;case 66:this.$=Ot[Gt-3],gi.addVertex(Ot[Gt-3],Ot[Gt-1],"lean_left");break;case 67:this.$=Ot[Gt],gi.addVertex(Ot[Gt]);break;case 68:Ot[Gt-1].text=Ot[Gt],this.$=Ot[Gt-1];break;case 69:case 70:Ot[Gt-2].text=Ot[Gt-1],this.$=Ot[Gt-2];break;case 71:this.$=Ot[Gt];break;case 72:var Wh=gi.destructLink(Ot[Gt],Ot[Gt-2]);this.$={type:Wh.type,stroke:Wh.stroke,length:Wh.length,text:Ot[Gt-1]};break;case 73:this.$={text:Ot[Gt],type:"text"};break;case 74:this.$={text:Ot[Gt-1].text+""+Ot[Gt],type:Ot[Gt-1].type};break;case 75:this.$={text:Ot[Gt],type:"string"};break;case 76:this.$={text:Ot[Gt],type:"markdown"};break;case 77:var Wh=gi.destructLink(Ot[Gt]);this.$={type:Wh.type,stroke:Wh.stroke,length:Wh.length};break;case 78:this.$=Ot[Gt-1];break;case 79:this.$={text:Ot[Gt],type:"text"};break;case 80:this.$={text:Ot[Gt-1].text+""+Ot[Gt],type:Ot[Gt-1].type};break;case 81:this.$={text:Ot[Gt],type:"string"};break;case 82:case 97:this.$={text:Ot[Gt],type:"markdown"};break;case 94:this.$={text:Ot[Gt],type:"text"};break;case 95:this.$={text:Ot[Gt-1].text+""+Ot[Gt],type:Ot[Gt-1].type};break;case 96:this.$={text:Ot[Gt],type:"text"};break;case 98:this.$=Ot[Gt-4],gi.addClass(Ot[Gt-2],Ot[Gt]);break;case 99:this.$=Ot[Gt-4],gi.setClass(Ot[Gt-2],Ot[Gt]);break;case 100:case 108:this.$=Ot[Gt-1],gi.setClickEvent(Ot[Gt-1],Ot[Gt]);break;case 101:case 109:this.$=Ot[Gt-3],gi.setClickEvent(Ot[Gt-3],Ot[Gt-2]),gi.setTooltip(Ot[Gt-3],Ot[Gt]);break;case 102:this.$=Ot[Gt-2],gi.setClickEvent(Ot[Gt-2],Ot[Gt-1],Ot[Gt]);break;case 103:this.$=Ot[Gt-4],gi.setClickEvent(Ot[Gt-4],Ot[Gt-3],Ot[Gt-2]),gi.setTooltip(Ot[Gt-4],Ot[Gt]);break;case 104:this.$=Ot[Gt-2],gi.setLink(Ot[Gt-2],Ot[Gt]);break;case 105:this.$=Ot[Gt-4],gi.setLink(Ot[Gt-4],Ot[Gt-2]),gi.setTooltip(Ot[Gt-4],Ot[Gt]);break;case 106:this.$=Ot[Gt-4],gi.setLink(Ot[Gt-4],Ot[Gt-2],Ot[Gt]);break;case 107:this.$=Ot[Gt-6],gi.setLink(Ot[Gt-6],Ot[Gt-4],Ot[Gt]),gi.setTooltip(Ot[Gt-6],Ot[Gt-2]);break;case 110:this.$=Ot[Gt-1],gi.setLink(Ot[Gt-1],Ot[Gt]);break;case 111:this.$=Ot[Gt-3],gi.setLink(Ot[Gt-3],Ot[Gt-2]),gi.setTooltip(Ot[Gt-3],Ot[Gt]);break;case 112:this.$=Ot[Gt-3],gi.setLink(Ot[Gt-3],Ot[Gt-2],Ot[Gt]);break;case 113:this.$=Ot[Gt-5],gi.setLink(Ot[Gt-5],Ot[Gt-4],Ot[Gt]),gi.setTooltip(Ot[Gt-5],Ot[Gt-2]);break;case 114:this.$=Ot[Gt-4],gi.addVertex(Ot[Gt-2],void 0,void 0,Ot[Gt]);break;case 115:this.$=Ot[Gt-4],gi.updateLink([Ot[Gt-2]],Ot[Gt]);break;case 116:this.$=Ot[Gt-4],gi.updateLink(Ot[Gt-2],Ot[Gt]);break;case 117:this.$=Ot[Gt-8],gi.updateLinkInterpolate([Ot[Gt-6]],Ot[Gt-2]),gi.updateLink([Ot[Gt-6]],Ot[Gt]);break;case 118:this.$=Ot[Gt-8],gi.updateLinkInterpolate(Ot[Gt-6],Ot[Gt-2]),gi.updateLink(Ot[Gt-6],Ot[Gt]);break;case 119:this.$=Ot[Gt-6],gi.updateLinkInterpolate([Ot[Gt-4]],Ot[Gt]);break;case 120:this.$=Ot[Gt-6],gi.updateLinkInterpolate(Ot[Gt-4],Ot[Gt]);break;case 121:case 123:this.$=[Ot[Gt]];break;case 122:case 124:Ot[Gt-2].push(Ot[Gt]),this.$=Ot[Gt-2];break;case 126:this.$=Ot[Gt-1]+Ot[Gt];break;case 174:this.$=Ot[Gt];break;case 175:this.$=Ot[Gt-1]+""+Ot[Gt];break;case 177:this.$=Ot[Gt-1]+""+Ot[Gt];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"};break}},table:[{3:1,4:2,9:a,10:u,12:d},{1:[3]},i(p,v,{5:6}),{4:7,9:a,10:u,12:d},{4:8,9:a,10:u,12:d},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:b,9:y,10:E,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:A,33:24,34:P,36:R,38:B,40:28,41:38,42:j,43:39,45:40,58:W,81:ee,82:ie,83:oe,84:be,85:ge,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U,118:Be,119:Pe,120:je,121:Ie},i(p,[2,9]),i(p,[2,10]),i(p,[2,11]),{8:[1,54],9:[1,55],10:Se,15:53,18:56},i(Ce,[2,3]),i(Ce,[2,4]),i(Ce,[2,5]),i(Ce,[2,6]),i(Ce,[2,7]),i(Ce,[2,8]),{8:ke,9:Ke,11:zt,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:ke,9:Ke,11:zt,21:66},{8:ke,9:Ke,11:zt,21:67},{8:ke,9:Ke,11:zt,21:68},{8:ke,9:Ke,11:zt,21:69},{8:ke,9:Ke,11:zt,21:70},{8:ke,9:Ke,10:[1,71],11:zt,21:72},i(Ce,[2,36]),{35:[1,73]},{37:[1,74]},i(Ce,[2,39]),i(Ne,[2,46],{18:75,10:Se}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:pn,42:Tt,58:Et,77:[1,83],86:Wt,92:[1,80],94:[1,81],98:82,102:un,103:yt,106:Bt,108:Ze,111:Dt,112:kt,113:Nn,117:84},i(Ce,[2,178]),i(Ce,[2,179]),i(Ce,[2,180]),i(Ce,[2,181]),i(ht,[2,47]),i(ht,[2,49],{44:[1,96]}),i(qr,[2,67],{110:109,29:[1,97],42:j,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:W,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:ae,99:ne,102:se,103:de,106:X,108:pe,111:G,112:xe,113:U}),i(xt,[2,174]),i(xt,[2,135]),i(xt,[2,136]),i(xt,[2,137]),i(xt,[2,138]),i(xt,[2,139]),i(xt,[2,140]),i(xt,[2,141]),i(xt,[2,142]),i(xt,[2,143]),i(xt,[2,144]),i(xt,[2,145]),i(p,[2,12]),i(p,[2,18]),i(p,[2,19]),{9:[1,110]},i(Ri,[2,26],{18:111,10:Se}),i(Ce,[2,27]),{40:112,41:38,42:j,43:39,45:40,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U},i(Ce,[2,40]),i(Ce,[2,41]),i(Ce,[2,42]),i(wi,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:ia,116:Hs},i([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),i(Ce,[2,28]),i(Ce,[2,29]),i(Ce,[2,30]),i(Ce,[2,31]),i(Ce,[2,32]),{10:mo,12:Tr,14:On,27:Rn,28:122,32:zn,42:Ct,58:gt,73:on,77:[1,124],78:[1,125],80:135,81:dn,82:Ln,83:Io,84:Oo,85:No,86:Us,87:uo,88:123,102:Es,106:Ou,108:_c,111:Kd,112:qp,113:Ul},i(Ac,v,{5:148}),i(Ce,[2,37]),i(Ce,[2,38]),i(Ne,[2,45],{42:Jc}),{42:j,45:150,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U},{99:[1,151],100:152,102:[1,153]},{42:j,45:154,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U},{42:j,45:155,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U},i(Ya,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},i(Ya,[2,108],{117:160,10:[1,159],14:pn,42:Tt,58:Et,86:Wt,102:un,103:yt,106:Bt,108:Ze,111:Dt,112:kt,113:Nn}),i(Ya,[2,110],{10:[1,161]}),i(Ba,[2,176]),i(Ba,[2,163]),i(Ba,[2,164]),i(Ba,[2,165]),i(Ba,[2,166]),i(Ba,[2,167]),i(Ba,[2,168]),i(Ba,[2,169]),i(Ba,[2,170]),i(Ba,[2,171]),i(Ba,[2,172]),i(Ba,[2,173]),{42:j,45:162,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U},{30:163,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{30:171,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{30:173,48:[1,172],65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{30:174,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{30:175,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{30:176,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{106:[1,177]},{30:178,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{30:179,63:[1,180],65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{30:181,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{30:182,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{30:183,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},i(xt,[2,175]),i(p,[2,20]),i(Ri,[2,25]),i(Ne,[2,43],{18:184,10:Se}),i(wi,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{75:[1,188],76:189,113:ia,116:Hs},i(Kh,[2,73]),i(Kh,[2,75]),i(Kh,[2,76]),i(Kh,[2,161]),i(Kh,[2,162]),{8:ke,9:Ke,10:mo,11:zt,12:Tr,14:On,21:191,27:Rn,29:[1,190],32:zn,42:Ct,58:gt,73:on,80:135,81:dn,82:Ln,83:Io,84:Oo,85:No,86:Us,87:uo,88:192,102:Es,106:Ou,108:_c,111:Kd,112:qp,113:Ul},i(Po,[2,94]),i(Po,[2,96]),i(Po,[2,97]),i(Po,[2,150]),i(Po,[2,151]),i(Po,[2,152]),i(Po,[2,153]),i(Po,[2,154]),i(Po,[2,155]),i(Po,[2,156]),i(Po,[2,157]),i(Po,[2,158]),i(Po,[2,159]),i(Po,[2,160]),i(Po,[2,83]),i(Po,[2,84]),i(Po,[2,85]),i(Po,[2,86]),i(Po,[2,87]),i(Po,[2,88]),i(Po,[2,89]),i(Po,[2,90]),i(Po,[2,91]),i(Po,[2,92]),i(Po,[2,93]),{6:11,7:12,8:b,9:y,10:E,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:A,32:[1,193],33:24,34:P,36:R,38:B,40:28,41:38,42:j,43:39,45:40,58:W,81:ee,82:ie,83:oe,84:be,85:ge,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U,118:Be,119:Pe,120:je,121:Ie},{10:Se,18:194},{10:[1,195],42:j,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:109,111:G,112:xe,113:U},{10:[1,196]},{10:[1,197],103:[1,198]},i(Hp,[2,121]),{10:[1,199],42:j,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:109,111:G,112:xe,113:U},{10:[1,200],42:j,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:109,111:G,112:xe,113:U},{77:[1,201]},i(Ya,[2,102],{10:[1,202]}),i(Ya,[2,104],{10:[1,203]}),{77:[1,204]},i(Ba,[2,177]),{77:[1,205],95:[1,206]},i(ht,[2,50],{110:109,42:j,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,111:G,112:xe,113:U}),{31:[1,207],65:ha,79:208,113:Fa,114:Ra,115:ma},i(Ug,[2,79]),i(Ug,[2,81]),i(Ug,[2,82]),i(Ug,[2,146]),i(Ug,[2,147]),i(Ug,[2,148]),i(Ug,[2,149]),{47:[1,209],65:ha,79:208,113:Fa,114:Ra,115:ma},{30:210,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{49:[1,211],65:ha,79:208,113:Fa,114:Ra,115:ma},{51:[1,212],65:ha,79:208,113:Fa,114:Ra,115:ma},{53:[1,213],65:ha,79:208,113:Fa,114:Ra,115:ma},{55:[1,214],65:ha,79:208,113:Fa,114:Ra,115:ma},{58:[1,215]},{62:[1,216],65:ha,79:208,113:Fa,114:Ra,115:ma},{64:[1,217],65:ha,79:208,113:Fa,114:Ra,115:ma},{30:218,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},{31:[1,219],65:ha,79:208,113:Fa,114:Ra,115:ma},{65:ha,67:[1,220],69:[1,221],79:208,113:Fa,114:Ra,115:ma},{65:ha,67:[1,223],69:[1,222],79:208,113:Fa,114:Ra,115:ma},i(Ne,[2,44],{42:Jc}),i(wi,[2,70]),i(wi,[2,69]),{60:[1,224],65:ha,79:208,113:Fa,114:Ra,115:ma},i(wi,[2,72]),i(Kh,[2,74]),{30:225,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},i(Ac,v,{5:226}),i(Po,[2,95]),i(Ce,[2,35]),{41:227,42:j,43:39,45:40,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U},{10:od,58:cd,81:w1,89:228,102:kh,104:229,105:230,106:Wd,107:Yd,108:Xd,109:Zf},{10:od,58:cd,81:w1,89:239,101:[1,240],102:kh,104:229,105:230,106:Wd,107:Yd,108:Xd,109:Zf},{10:od,58:cd,81:w1,89:241,101:[1,242],102:kh,104:229,105:230,106:Wd,107:Yd,108:Xd,109:Zf},{102:[1,243]},{10:od,58:cd,81:w1,89:244,102:kh,104:229,105:230,106:Wd,107:Yd,108:Xd,109:Zf},{42:j,45:245,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U},i(Ya,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},i(Ya,[2,109]),i(Ya,[2,111],{10:[1,249]}),i(Ya,[2,112]),i(qr,[2,51]),i(Ug,[2,80]),i(qr,[2,52]),{49:[1,250],65:ha,79:208,113:Fa,114:Ra,115:ma},i(qr,[2,59]),i(qr,[2,54]),i(qr,[2,55]),i(qr,[2,56]),{106:[1,251]},i(qr,[2,58]),i(qr,[2,60]),{64:[1,252],65:ha,79:208,113:Fa,114:Ra,115:ma},i(qr,[2,62]),i(qr,[2,63]),i(qr,[2,65]),i(qr,[2,64]),i(qr,[2,66]),i([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:ha,79:208,113:Fa,114:Ra,115:ma},{6:11,7:12,8:b,9:y,10:E,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:A,32:[1,254],33:24,34:P,36:R,38:B,40:28,41:38,42:j,43:39,45:40,58:W,81:ee,82:ie,83:oe,84:be,85:ge,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U,118:Be,119:Pe,120:je,121:Ie},i(ht,[2,48]),i(Ya,[2,114],{103:Up}),i(u5,[2,123],{105:256,10:od,58:cd,81:w1,102:kh,106:Wd,107:Yd,108:Xd,109:Zf}),i(bs,[2,125]),i(bs,[2,127]),i(bs,[2,128]),i(bs,[2,129]),i(bs,[2,130]),i(bs,[2,131]),i(bs,[2,132]),i(bs,[2,133]),i(bs,[2,134]),i(Ya,[2,115],{103:Up}),{10:[1,257]},i(Ya,[2,116],{103:Up}),{10:[1,258]},i(Hp,[2,122]),i(Ya,[2,98],{103:Up}),i(Ya,[2,99],{110:109,42:j,58:W,86:ae,99:ne,102:se,103:de,106:X,108:pe,111:G,112:xe,113:U}),i(Ya,[2,103]),i(Ya,[2,105],{10:[1,259]}),i(Ya,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:ke,9:Ke,11:zt,21:264},i(Ce,[2,34]),{10:od,58:cd,81:w1,102:kh,104:265,105:230,106:Wd,107:Yd,108:Xd,109:Zf},i(bs,[2,126]),{14:pn,42:Tt,58:Et,86:Wt,98:266,102:un,103:yt,106:Bt,108:Ze,111:Dt,112:kt,113:Nn,117:84},{14:pn,42:Tt,58:Et,86:Wt,98:267,102:un,103:yt,106:Bt,108:Ze,111:Dt,112:kt,113:Nn,117:84},{95:[1,268]},i(Ya,[2,113]),i(qr,[2,53]),{30:269,65:ha,77:$o,78:Lc,79:164,113:Fa,114:Ra,115:ma},i(qr,[2,61]),i(Ac,v,{5:270}),i(u5,[2,124],{105:256,10:od,58:cd,81:w1,102:kh,106:Wd,107:Yd,108:Xd,109:Zf}),i(Ya,[2,119],{117:160,10:[1,271],14:pn,42:Tt,58:Et,86:Wt,102:un,103:yt,106:Bt,108:Ze,111:Dt,112:kt,113:Nn}),i(Ya,[2,120],{117:160,10:[1,272],14:pn,42:Tt,58:Et,86:Wt,102:un,103:yt,106:Bt,108:Ze,111:Dt,112:kt,113:Nn}),i(Ya,[2,107]),{31:[1,273],65:ha,79:208,113:Fa,114:Ra,115:ma},{6:11,7:12,8:b,9:y,10:E,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:A,32:[1,274],33:24,34:P,36:R,38:B,40:28,41:38,42:j,43:39,45:40,58:W,81:ee,82:ie,83:oe,84:be,85:ge,86:ae,99:ne,102:se,103:de,106:X,108:pe,110:41,111:G,112:xe,113:U,118:Be,119:Pe,120:je,121:Ie},{10:od,58:cd,81:w1,89:275,102:kh,104:229,105:230,106:Wd,107:Yd,108:Xd,109:Zf},{10:od,58:cd,81:w1,89:276,102:kh,104:229,105:230,106:Wd,107:Yd,108:Xd,109:Zf},i(qr,[2,57]),i(Ce,[2,33]),i(Ya,[2,117],{103:Up}),i(Ya,[2,118],{103:Up})],defaultActions:{},parseError:function(Hi,Ui){if(Ui.recoverable)this.trace(Hi);else{var zs=new Error(Hi);throw zs.hash=Ui,zs}},parse:function(Hi){var Ui=this,zs=[0],gi=[],Bo=[null],Ot=[],zu=this.table,Gt="",Wh=0,Vp=0,J3=2,q9=1,l5=Ot.slice.call(arguments,1),Th=Object.create(this.lexer),Vg={yy:{}};for(var Em in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Em)&&(Vg.yy[Em]=this.yy[Em]);Th.setInput(Hi,Vg.yy),Vg.yy.lexer=Th,Vg.yy.parser=this,typeof Th.yylloc>"u"&&(Th.yylloc={});var H9=Th.yylloc;Ot.push(H9);var Cm=Th.options&&Th.options.ranges;typeof Vg.yy.parseError=="function"?this.parseError=Vg.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function h5(){var Gp;return Gp=gi.pop()||Th.lex()||q9,typeof Gp!="number"&&(Gp instanceof Array&&(gi=Gp,Gp=gi.pop()),Gp=Ui.symbols_[Gp]||Gp),Gp}for(var y1,ud,ld,U9,Qv={},X7,tb,Q7,f5;;){if(ud=zs[zs.length-1],this.defaultActions[ud]?ld=this.defaultActions[ud]:((y1===null||typeof y1>"u")&&(y1=h5()),ld=zu[ud]&&zu[ud][y1]),typeof ld>"u"||!ld.length||!ld[0]){var Z3="";f5=[];for(X7 in zu[ud])this.terminals_[X7]&&X7>J3&&f5.push("'"+this.terminals_[X7]+"'");Th.showPosition?Z3="Parse error on line "+(Wh+1)+`:
`+Th.showPosition()+`
Expecting `+f5.join(", ")+", got '"+(this.terminals_[y1]||y1)+"'":Z3="Parse error on line "+(Wh+1)+": Unexpected "+(y1==q9?"end of input":"'"+(this.terminals_[y1]||y1)+"'"),this.parseError(Z3,{text:Th.match,token:this.terminals_[y1]||y1,line:Th.yylineno,loc:H9,expected:f5})}if(ld[0]instanceof Array&&ld.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ud+", token: "+y1);switch(ld[0]){case 1:zs.push(y1),Bo.push(Th.yytext),Ot.push(Th.yylloc),zs.push(ld[1]),y1=null,Vp=Th.yyleng,Gt=Th.yytext,Wh=Th.yylineno,H9=Th.yylloc;break;case 2:if(tb=this.productions_[ld[1]][1],Qv.$=Bo[Bo.length-tb],Qv._$={first_line:Ot[Ot.length-(tb||1)].first_line,last_line:Ot[Ot.length-1].last_line,first_column:Ot[Ot.length-(tb||1)].first_column,last_column:Ot[Ot.length-1].last_column},Cm&&(Qv._$.range=[Ot[Ot.length-(tb||1)].range[0],Ot[Ot.length-1].range[1]]),U9=this.performAction.apply(Qv,[Gt,Vp,Wh,Vg.yy,ld[1],Bo,Ot].concat(l5)),typeof U9<"u")return U9;tb&&(zs=zs.slice(0,-1*tb*2),Bo=Bo.slice(0,-1*tb),Ot=Ot.slice(0,-1*tb)),zs.push(this.productions_[ld[1]][0]),Bo.push(Qv.$),Ot.push(Qv._$),Q7=zu[zs[zs.length-2]][zs[zs.length-1]],zs.push(Q7);break;case 3:return!0}}return!0}},jr=function(){var Qo={EOF:1,parseError:function(Ui,zs){if(this.yy.parser)this.yy.parser.parseError(Ui,zs);else throw new Error(Ui)},setInput:function(Hi,Ui){return this.yy=Ui||this.yy||{},this._input=Hi,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 Hi=this._input[0];this.yytext+=Hi,this.yyleng++,this.offset++,this.match+=Hi,this.matched+=Hi;var Ui=Hi.match(/(?:\r\n?|\n).*/g);return Ui?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Hi},unput:function(Hi){var Ui=Hi.length,zs=Hi.split(/(?:\r\n?|\n)/g);this._input=Hi+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ui),this.offset-=Ui;var gi=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),zs.length-1&&(this.yylineno-=zs.length-1);var Bo=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:zs?(zs.length===gi.length?this.yylloc.first_column:0)+gi[gi.length-zs.length].length-zs[0].length:this.yylloc.first_column-Ui},this.options.ranges&&(this.yylloc.range=[Bo[0],Bo[0]+this.yyleng-Ui]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return 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).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Hi){this.unput(this.match.slice(Hi))},pastInput:function(){var Hi=this.matched.substr(0,this.matched.length-this.match.length);return(Hi.length>20?"...":"")+Hi.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Hi=this.match;return Hi.length<20&&(Hi+=this._input.substr(0,20-Hi.length)),(Hi.substr(0,20)+(Hi.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Hi=this.pastInput(),Ui=new Array(Hi.length+1).join("-");return Hi+this.upcomingInput()+`
`+Ui+"^"},test_match:function(Hi,Ui){var zs,gi,Bo;if(this.options.backtrack_lexer&&(Bo={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&&(Bo.yylloc.range=this.yylloc.range.slice(0))),gi=Hi[0].match(/(?:\r\n?|\n).*/g),gi&&(this.yylineno+=gi.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:gi?gi[gi.length-1].length-gi[gi.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Hi[0].length},this.yytext+=Hi[0],this.match+=Hi[0],this.matches=Hi,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(Hi[0].length),this.matched+=Hi[0],zs=this.performAction.call(this,this.yy,this,Ui,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),zs)return zs;if(this._backtrack){for(var Ot in Bo)this[Ot]=Bo[Ot];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Hi,Ui,zs,gi;this._more||(this.yytext="",this.match="");for(var Bo=this._currentRules(),Ot=0;Ot<Bo.length;Ot++)if(zs=this._input.match(this.rules[Bo[Ot]]),zs&&(!Ui||zs[0].length>Ui[0].length)){if(Ui=zs,gi=Ot,this.options.backtrack_lexer){if(Hi=this.test_match(zs,Bo[Ot]),Hi!==!1)return Hi;if(this._backtrack){Ui=!1;continue}else return!1}else if(!this.options.flex)break}return Ui?(Hi=this.test_match(Ui,Bo[gi]),Hi!==!1?Hi:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ui=this.next();return Ui||this.lex()},begin:function(Ui){this.conditionStack.push(Ui)},popState:function(){var Ui=this.conditionStack.length-1;return Ui>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(Ui){return Ui=this.conditionStack.length-1-Math.abs(Ui||0),Ui>=0?this.conditionStack[Ui]:"INITIAL"},pushState:function(Ui){this.begin(Ui)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(Ui,zs,gi,Bo){switch(gi){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:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:this.begin("callbackname");break;case 8:this.popState();break;case 9:this.popState(),this.begin("callbackargs");break;case 10:return 92;case 11:this.popState();break;case 12:return 93;case 13:return"MD_STR";case 14:this.popState();break;case 15:this.begin("md_string");break;case 16:return"STR";case 17:this.popState();break;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 27:this.popState();break;case 28:return 85;case 29:return Ui.lex.firstGraph()&&this.begin("dir"),12;case 30:return Ui.lex.firstGraph()&&this.begin("dir"),12;case 31:return Ui.lex.firstGraph()&&this.begin("dir"),12;case 32:return 27;case 33:return 32;case 34:return 95;case 35:return 95;case 36:return 95;case 37:return 95;case 38:return this.popState(),13;case 39:return this.popState(),14;case 40:return this.popState(),14;case 41:return this.popState(),14;case 42:return this.popState(),14;case 43:return this.popState(),14;case 44:return this.popState(),14;case 45:return this.popState(),14;case 46:return this.popState(),14;case 47:return this.popState(),14;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:return 108;case 55:return 44;case 56:return 58;case 57:return 42;case 58:return 8;case 59:return 103;case 60:return 112;case 61:return this.popState(),75;case 62:return this.pushState("edgeText"),73;case 63:return 116;case 64:return this.popState(),75;case 65:return this.pushState("thickEdgeText"),73;case 66:return 116;case 67:return this.popState(),75;case 68:return this.pushState("dottedEdgeText"),73;case 69:return 116;case 70:return 75;case 71:return this.popState(),51;case 72: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 94:return 112;case 95:return 108;case 96:return 42;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 108:return"TEXT";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}}};return Qo}();Vt.lexer=jr;function Ji(){this.yy={}}return Ji.prototype=Vt,Vt.Parser=Ji,new Ji}();ume.parser=ume;const lme=ume,zVt="flowchart-";let cHe=0,UD=qt(),ih={},V3=[],VD={},j7=[],GQ={},KQ={},WQ=0,hme=!0,Kv,YQ,XQ=[];const QQ=i=>oi.sanitizeText(i,UD),ER=function(i){const a=Object.keys(ih);for(const u of a)if(ih[u].id===i)return ih[u].domId;return i},uHe=function(i,a,u,d,p,v,b={}){let y,E=i;E!==void 0&&E.trim().length!==0&&(ih[E]===void 0&&(ih[E]={id:E,labelType:"text",domId:zVt+E+"-"+cHe,styles:[],classes:[]}),cHe++,a!==void 0?(UD=qt(),y=QQ(a.text.trim()),ih[E].labelType=a.type,y[0]==='"'&&y[y.length-1]==='"'&&(y=y.substring(1,y.length-1)),ih[E].text=y):ih[E].text===void 0&&(ih[E].text=i),u!==void 0&&(ih[E].type=u),d!=null&&d.forEach(function(_){ih[E].styles.push(_)}),p!=null&&p.forEach(function(_){ih[E].classes.push(_)}),v!==void 0&&(ih[E].dir=v),ih[E].props===void 0?ih[E].props=b:b!==void 0&&Object.assign(ih[E].props,b))},lHe=function(i,a,u){const v={start:i,end:a,type:void 0,text:"",labelType:"text"};Xe.info("abc78 Got edge...",v);const b=u.text;if(b!==void 0&&(v.text=QQ(b.text.trim()),v.text[0]==='"'&&v.text[v.text.length-1]==='"'&&(v.text=v.text.substring(1,v.text.length-1)),v.labelType=b.type),u!==void 0&&(v.type=u.type,v.stroke=u.stroke,v.length=u.length),(v==null?void 0:v.length)>10&&(v.length=10),V3.length<(UD.maxEdges??500))Xe.info("abc78 pushing edge..."),V3.push(v);else throw new Error(`Edge limit exceeded. ${V3.length} edges found, but the limit is ${UD.maxEdges}.
Initialize mermaid with maxEdges set to a higher number to allow more edges.
You cannot set this config via configuration inside the diagram as it is a secure config.
You have to call mermaid.initialize.`)},hHe=function(i,a,u){Xe.info("addLink (abc78)",i,a,u);let d,p;for(d=0;d<i.length;d++)for(p=0;p<a.length;p++)lHe(i[d],a[p],u)},fHe=function(i,a){i.forEach(function(u){u==="default"?V3.defaultInterpolate=a:V3[u].interpolate=a})},dHe=function(i,a){i.forEach(function(u){if(u>=V3.length)throw new Error(`The index ${u} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${V3.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);u==="default"?V3.defaultStyle=a:(So.isSubstringInArray("fill",a)===-1&&a.push("fill:none"),V3[u].style=a)})},gHe=function(i,a){i.split(",").forEach(function(u){VD[u]===void 0&&(VD[u]={id:u,styles:[],textStyles:[]}),a!=null&&a.forEach(function(d){if(d.match("color")){const p=d.replace("fill","bgFill").replace("color","fill");VD[u].textStyles.push(p)}VD[u].styles.push(d)})})},pHe=function(i){Kv=i,Kv.match(/.*</)&&(Kv="RL"),Kv.match(/.*\^/)&&(Kv="BT"),Kv.match(/.*>/)&&(Kv="LR"),Kv.match(/.*v/)&&(Kv="TB"),Kv==="TD"&&(Kv="TB")},JQ=function(i,a){i.split(",").forEach(function(u){let d=u;ih[d]!==void 0&&ih[d].classes.push(a),GQ[d]!==void 0&&GQ[d].classes.push(a)})},qVt=function(i,a){i.split(",").forEach(function(u){a!==void 0&&(KQ[YQ==="gen-1"?ER(u):u]=QQ(a))})},HVt=function(i,a,u){let d=ER(i);if(qt().securityLevel!=="loose"||a===void 0)return;let p=[];if(typeof u=="string"){p=u.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let v=0;v<p.length;v++){let b=p[v].trim();b.charAt(0)==='"'&&b.charAt(b.length-1)==='"'&&(b=b.substr(1,b.length-2)),p[v]=b}}p.length===0&&p.push(i),ih[i]!==void 0&&(ih[i].haveCallback=!0,XQ.push(function(){const v=document.querySelector(`[id="${d}"]`);v!==null&&v.addEventListener("click",function(){So.runFunc(a,...p)},!1)}))},bHe=function(i,a,u){i.split(",").forEach(function(d){ih[d]!==void 0&&(ih[d].link=So.formatUrl(a,UD),ih[d].linkTarget=u)}),JQ(i,"clickable")},mHe=function(i){if(KQ.hasOwnProperty(i))return KQ[i]},vHe=function(i,a,u){i.split(",").forEach(function(d){HVt(d,a,u)}),JQ(i,"clickable")},wHe=function(i){XQ.forEach(function(a){a(i)})},yHe=function(){return Kv.trim()},xHe=function(){return ih},kHe=function(){return V3},THe=function(){return VD},EHe=function(i){let a=Dr(".mermaidTooltip");(a._groups||a)[0][0]===null&&(a=Dr("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),Dr(i).select("svg").selectAll("g.node").on("mouseover",function(){const p=Dr(this);if(p.attr("title")===null)return;const b=this.getBoundingClientRect();a.transition().duration(200).style("opacity",".9"),a.text(p.attr("title")).style("left",window.scrollX+b.left+(b.right-b.left)/2+"px").style("top",window.scrollY+b.bottom+"px"),a.html(a.html().replace(/&lt;br\/&gt;/g,"<br/>")),p.classed("hover",!0)}).on("mouseout",function(){a.transition().duration(500).style("opacity",0),Dr(this).classed("hover",!1)})};XQ.push(EHe);const CHe=function(i="gen-1"){ih={},VD={},V3=[],XQ=[EHe],j7=[],GQ={},WQ=0,KQ={},hme=!0,YQ=i,UD=qt(),Rg()},SHe=i=>{YQ=i||"gen-2"},_He=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},AHe=function(i,a,u){let d=i.text.trim(),p=u.text;i===u&&u.text.match(/\s/)&&(d=void 0);function v(A){const P={boolean:{},number:{},string:{}},R=[];let B;return{nodeList:A.filter(function(W){const ee=typeof W;return W.stmt&&W.stmt==="dir"?(B=W.value,!1):W.trim()===""?!1:ee in P?P[ee].hasOwnProperty(W)?!1:P[ee][W]=!0:R.includes(W)?!1:R.push(W)}),dir:B}}let b=[];const{nodeList:y,dir:E}=v(b.concat.apply(b,a));if(b=y,YQ==="gen-1")for(let A=0;A<b.length;A++)b[A]=ER(b[A]);d=d||"subGraph"+WQ,p=p||"",p=QQ(p),WQ=WQ+1;const _={id:d,nodes:b,title:p.trim(),classes:[],dir:E,labelType:u.type};return Xe.info("Adding",_.id,_.nodes,_.dir),_.nodes=FHe(_,j7).nodes,j7.push(_),GQ[d]=_,d},UVt=function(i){for(const[a,u]of j7.entries())if(u.id===i)return a;return-1};let CR=-1;const LHe=[],MHe=function(i,a){const u=j7[a].nodes;if(CR=CR+1,CR>2e3)return;if(LHe[CR]=a,j7[a].id===i)return{result:!0,count:0};let d=0,p=1;for(;d<u.length;){const v=UVt(u[d]);if(v>=0){const b=MHe(i,v);if(b.result)return{result:!0,count:p+b.count};p=p+b.count}d=d+1}return{result:!1,count:p}},DHe=function(i){return LHe[i]},IHe=function(){CR=-1,j7.length>0&&MHe("none",j7.length-1)},OHe=function(){return j7},NHe=()=>hme?(hme=!1,!0):!1,VVt=i=>{let a=i.trim(),u="arrow_open";switch(a[0]){case"<":u="arrow_point",a=a.slice(1);break;case"x":u="arrow_cross",a=a.slice(1);break;case"o":u="arrow_circle",a=a.slice(1);break}let d="normal";return a.includes("=")&&(d="thick"),a.includes(".")&&(d="dotted"),{type:u,stroke:d}},GVt=(i,a)=>{const u=a.length;let d=0;for(let p=0;p<u;++p)a[p]===i&&++d;return d},KVt=i=>{const a=i.trim();let u=a.slice(0,-1),d="arrow_open";switch(a.slice(-1)){case"x":d="arrow_cross",a[0]==="x"&&(d="double_"+d,u=u.slice(1));break;case">":d="arrow_point",a[0]==="<"&&(d="double_"+d,u=u.slice(1));break;case"o":d="arrow_circle",a[0]==="o"&&(d="double_"+d,u=u.slice(1));break}let p="normal",v=u.length-1;u[0]==="="&&(p="thick"),u[0]==="~"&&(p="invisible");let b=GVt(".",u);return b&&(p="dotted",v=b),{type:d,stroke:p,length:v}},PHe=(i,a)=>{const u=KVt(i);let d;if(a){if(d=VVt(a),d.stroke!==u.stroke)return{type:"INVALID",stroke:"INVALID"};if(d.type==="arrow_open")d.type=u.type;else{if(d.type!==u.type)return{type:"INVALID",stroke:"INVALID"};d.type="double_"+d.type}return d.type==="double_arrow"&&(d.type="double_arrow_point"),d.length=u.length,d}return u},BHe=(i,a)=>{let u=!1;return i.forEach(d=>{d.nodes.indexOf(a)>=0&&(u=!0)}),u},FHe=(i,a)=>{const u=[];return i.nodes.forEach((d,p)=>{BHe(a,d)||u.push(i.nodes[p])}),{nodes:u}},RHe={firstGraph:NHe},UC={defaultConfig:()=>E$e.flowchart,setAccTitle:jg,getAccTitle:Mp,getAccDescription:Ip,setAccDescription:Dp,addVertex:uHe,lookUpDomId:ER,addLink:hHe,updateLinkInterpolate:fHe,updateLink:dHe,addClass:gHe,setDirection:pHe,setClass:JQ,setTooltip:qVt,getTooltip:mHe,setClickEvent:vHe,setLink:bHe,bindFunctions:wHe,getDirection:yHe,getVertices:xHe,getEdges:kHe,getClasses:THe,clear:CHe,setGen:SHe,defaultStyle:_He,addSubGraph:AHe,getDepthFirstPos:DHe,indexNodes:IHe,getSubGraphs:OHe,destructLink:PHe,lex:RHe,exists:BHe,makeUniq:FHe,setDiagramTitle:pm,getDiagramTitle:Op},WVt=Object.freeze(Object.defineProperty({__proto__:null,addClass:gHe,addLink:hHe,addSingleLink:lHe,addSubGraph:AHe,addVertex:uHe,bindFunctions:wHe,clear:CHe,default:UC,defaultStyle:_He,destructLink:PHe,firstGraph:NHe,getClasses:THe,getDepthFirstPos:DHe,getDirection:yHe,getEdges:kHe,getSubGraphs:OHe,getTooltip:mHe,getVertices:xHe,indexNodes:IHe,lex:RHe,lookUpDomId:ER,setClass:JQ,setClickEvent:vHe,setDirection:pHe,setGen:SHe,setLink:bHe,updateLink:dHe,updateLinkInterpolate:fHe},Symbol.toStringTag,{value:"Module"}));var YVt="[object Symbol]";function VC(i){return typeof i=="symbol"||V4(i)&&LC(i)==YVt}function GD(i,a){for(var u=-1,d=i==null?0:i.length,p=Array(d);++u<d;)p[u]=a(i[u],u,i);return p}var XVt=1/0,jHe=zv?zv.prototype:void 0,$He=jHe?jHe.toString:void 0;function zHe(i){if(typeof i=="string")return i;if(D0(i))return GD(i,zHe)+"";if(VC(i))return $He?$He.call(i):"";var a=i+"";return a=="0"&&1/i==-XVt?"-0":a}var QVt=/\s/;function JVt(i){for(var a=i.length;a--&&QVt.test(i.charAt(a)););return a}var ZVt=/^\s+/;function eGt(i){return i&&i.slice(0,JVt(i)+1).replace(ZVt,"")}var qHe=0/0,tGt=/^[-+]0x[0-9a-f]+$/i,nGt=/^0b[01]+$/i,rGt=/^0o[0-7]+$/i,iGt=parseInt;function sGt(i){if(typeof i=="number")return i;if(VC(i))return qHe;if(dm(i)){var a=typeof i.valueOf=="function"?i.valueOf():i;i=dm(a)?a+"":a}if(typeof i!="string")return i===0?i:+i;i=eGt(i);var u=nGt.test(i);return u||rGt.test(i)?iGt(i.slice(2),u?2:8):tGt.test(i)?qHe:+i}var HHe=1/0,aGt=17976931348623157e292;function ZQ(i){if(!i)return i===0?i:0;if(i=sGt(i),i===HHe||i===-HHe){var a=i<0?-1:1;return a*aGt}return i===i?i:0}function oGt(i){var a=ZQ(i),u=a%1;return a===a?u?a-u:a:0}function cGt(){}function UHe(i,a){for(var u=-1,d=i==null?0:i.length;++u<d&&a(i[u],u,i)!==!1;);return i}function VHe(i,a,u,d){for(var p=i.length,v=u+(d?1:-1);d?v--:++v<p;)if(a(i[v],v,i))return v;return-1}function uGt(i){return i!==i}function lGt(i,a,u){for(var d=u-1,p=i.length;++d<p;)if(i[d]===a)return d;return-1}function hGt(i,a,u){return a===a?lGt(i,a,u):VHe(i,uGt,u)}function fGt(i,a){var u=i==null?0:i.length;return!!u&&hGt(i,a,0)>-1}function xm(i){return y9(i)?Lje(i):P$e(i)}var dGt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,gGt=/^\w*$/;function fme(i,a){if(D0(i))return!1;var u=typeof i;return u=="number"||u=="symbol"||u=="boolean"||i==null||VC(i)?!0:gGt.test(i)||!dGt.test(i)||a!=null&&i in Object(a)}var pGt=500;function bGt(i){var a=yD(i,function(d){return u.size===pGt&&u.clear(),d}),u=a.cache;return a}var mGt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,vGt=/\\(\\)?/g,wGt=bGt(function(i){var a=[];return i.charCodeAt(0)===46&&a.push(""),i.replace(mGt,function(u,d,p,v){a.push(p?v.replace(vGt,"$1"):d||u)}),a});const yGt=wGt;function GHe(i){return i==null?"":zHe(i)}function eJ(i,a){return D0(i)?i:fme(i,a)?[i]:yGt(GHe(i))}var xGt=1/0;function SR(i){if(typeof i=="string"||VC(i))return i;var a=i+"";return a=="0"&&1/i==-xGt?"-0":a}function tJ(i,a){a=eJ(a,i);for(var u=0,d=a.length;i!=null&&u<d;)i=i[SR(a[u++])];return u&&u==d?i:void 0}function kGt(i,a,u){var d=i==null?void 0:tJ(i,a);return d===void 0?u:d}function dme(i,a){for(var u=-1,d=a.length,p=i.length;++u<d;)i[p+u]=a[u];return i}var KHe=zv?zv.isConcatSpreadable:void 0;function TGt(i){return D0(i)||xD(i)||!!(KHe&&i&&i[KHe])}function nJ(i,a,u,d,p){var v=-1,b=i.length;for(u||(u=TGt),p||(p=[]);++v<b;){var y=i[v];a>0&&u(y)?a>1?nJ(y,a-1,u,d,p):dme(p,y):d||(p[p.length]=y)}return p}function KD(i){var a=i==null?0:i.length;return a?nJ(i,1):[]}function EGt(i){return Oje(Ije(i,void 0,KD),i+"")}function CGt(i,a,u,d){var p=-1,v=i==null?0:i.length;for(d&&v&&(u=i[++p]);++p<v;)u=a(u,i[p],p,i);return u}function SGt(i,a){return i&&aR(a,xm(a),i)}function _Gt(i,a){return i&&aR(a,OC(a),i)}function WHe(i,a){for(var u=-1,d=i==null?0:i.length,p=0,v=[];++u<d;){var b=i[u];a(b,u,i)&&(v[p++]=b)}return v}function YHe(){return[]}var AGt=Object.prototype,LGt=AGt.propertyIsEnumerable,XHe=Object.getOwnPropertySymbols,MGt=XHe?function(i){return i==null?[]:(i=Object(i),WHe(XHe(i),function(a){return LGt.call(i,a)}))}:YHe;const gme=MGt;function DGt(i,a){return aR(i,gme(i),a)}var IGt=Object.getOwnPropertySymbols,OGt=IGt?function(i){for(var a=[];i;)dme(a,gme(i)),i=I2e(i);return a}:YHe;const QHe=OGt;function NGt(i,a){return aR(i,QHe(i),a)}function JHe(i,a,u){var d=a(i);return D0(i)?d:dme(d,u(i))}function pme(i){return JHe(i,xm,gme)}function PGt(i){return JHe(i,OC,QHe)}var BGt=Object.prototype,FGt=BGt.hasOwnProperty;function RGt(i){var a=i.length,u=new i.constructor(a);return a&&typeof i[0]=="string"&&FGt.call(i,"index")&&(u.index=i.index,u.input=i.input),u}function jGt(i,a){var u=a?D2e(i.buffer):i.buffer;return new i.constructor(u,i.byteOffset,i.byteLength)}var $Gt=/\w*$/;function zGt(i){var a=new i.constructor(i.source,$Gt.exec(i));return a.lastIndex=i.lastIndex,a}var ZHe=zv?zv.prototype:void 0,eUe=ZHe?ZHe.valueOf:void 0;function qGt(i){return eUe?Object(eUe.call(i)):{}}var HGt="[object Boolean]",UGt="[object Date]",VGt="[object Map]",GGt="[object Number]",KGt="[object RegExp]",WGt="[object Set]",YGt="[object String]",XGt="[object Symbol]",QGt="[object ArrayBuffer]",JGt="[object DataView]",ZGt="[object Float32Array]",eKt="[object Float64Array]",tKt="[object Int8Array]",nKt="[object Int16Array]",rKt="[object Int32Array]",iKt="[object Uint8Array]",sKt="[object Uint8ClampedArray]",aKt="[object Uint16Array]",oKt="[object Uint32Array]";function cKt(i,a,u){var d=i.constructor;switch(a){case QGt:return D2e(i);case HGt:case UGt:return new d(+i);case JGt:return jGt(i,u);case ZGt:case eKt:case tKt:case nKt:case rKt:case iKt:case sKt:case aKt:case oKt:return gje(i,u);case VGt:return new d;case GGt:case YGt:return new d(i);case KGt:return zGt(i);case WGt:return new d;case XGt:return qGt(i)}}var uKt="[object Map]";function lKt(i){return V4(i)&&MD(i)==uKt}var tUe=TD&&TD.isMap,hKt=tUe?jX(tUe):lKt;const fKt=hKt;var dKt="[object Set]";function gKt(i){return V4(i)&&MD(i)==dKt}var nUe=TD&&TD.isSet,pKt=nUe?jX(nUe):gKt;const bKt=pKt;var mKt=1,vKt=2,wKt=4,rUe="[object Arguments]",yKt="[object Array]",xKt="[object Boolean]",kKt="[object Date]",TKt="[object Error]",iUe="[object Function]",EKt="[object GeneratorFunction]",CKt="[object Map]",SKt="[object Number]",sUe="[object Object]",_Kt="[object RegExp]",AKt="[object Set]",LKt="[object String]",MKt="[object Symbol]",DKt="[object WeakMap]",IKt="[object ArrayBuffer]",OKt="[object DataView]",NKt="[object Float32Array]",PKt="[object Float64Array]",BKt="[object Int8Array]",FKt="[object Int16Array]",RKt="[object Int32Array]",jKt="[object Uint8Array]",$Kt="[object Uint8ClampedArray]",zKt="[object Uint16Array]",qKt="[object Uint32Array]",ql={};ql[rUe]=ql[yKt]=ql[IKt]=ql[OKt]=ql[xKt]=ql[kKt]=ql[NKt]=ql[PKt]=ql[BKt]=ql[FKt]=ql[RKt]=ql[CKt]=ql[SKt]=ql[sUe]=ql[_Kt]=ql[AKt]=ql[LKt]=ql[MKt]=ql[jKt]=ql[$Kt]=ql[zKt]=ql[qKt]=!0,ql[TKt]=ql[iUe]=ql[DKt]=!1;function _R(i,a,u,d,p,v){var b,y=a&mKt,E=a&vKt,_=a&wKt;if(u&&(b=p?u(i,d,p,v):u(i)),b!==void 0)return b;if(!dm(i))return i;var A=D0(i);if(A){if(b=RGt(i),!y)return pje(i,b)}else{var P=MD(i),R=P==iUe||P==EKt;if(kD(i))return dje(i,y);if(P==sUe||P==rUe||R&&!p){if(b=E||R?{}:vje(i),!y)return E?NGt(i,_Gt(b,i)):DGt(i,SGt(b,i))}else{if(!ql[P])return p?i:{};b=cKt(i,P,y)}}v||(v=new $3);var B=v.get(i);if(B)return B;v.set(i,b),bKt(i)?i.forEach(function(ee){b.add(_R(ee,a,u,ee,i,v))}):fKt(i)&&i.forEach(function(ee,ie){b.set(ie,_R(ee,a,u,ie,i,v))});var j=_?E?PGt:pme:E?OC:xm,W=A?void 0:j(i);return UHe(W||i,function(ee,ie){W&&(ie=ee,ee=i[ie]),zX(b,ie,_R(ee,a,u,ie,i,v))}),b}var HKt=4;function aUe(i){return _R(i,HKt)}var UKt=1,VKt=4;function GKt(i){return _R(i,UKt|VKt)}var KKt="__lodash_hash_undefined__";function WKt(i){return this.__data__.set(i,KKt),this}function YKt(i){return this.__data__.has(i)}function AR(i){var a=-1,u=i==null?0:i.length;for(this.__data__=new A7;++a<u;)this.add(i[a])}AR.prototype.add=AR.prototype.push=WKt,AR.prototype.has=YKt;function XKt(i,a){for(var u=-1,d=i==null?0:i.length;++u<d;)if(a(i[u],u,i))return!0;return!1}function oUe(i,a){return i.has(a)}var QKt=1,JKt=2;function cUe(i,a,u,d,p,v){var b=u&QKt,y=i.length,E=a.length;if(y!=E&&!(b&&E>y))return!1;var _=v.get(i),A=v.get(a);if(_&&A)return _==a&&A==i;var P=-1,R=!0,B=u&JKt?new AR:void 0;for(v.set(i,a),v.set(a,i);++P<y;){var j=i[P],W=a[P];if(d)var ee=b?d(W,j,P,a,i,v):d(j,W,P,i,a,v);if(ee!==void 0){if(ee)continue;R=!1;break}if(B){if(!XKt(a,function(ie,oe){if(!oUe(B,oe)&&(j===ie||p(j,ie,u,d,v)))return B.push(oe)})){R=!1;break}}else if(!(j===W||p(j,W,u,d,v))){R=!1;break}}return v.delete(i),v.delete(a),R}function ZKt(i){var a=-1,u=Array(i.size);return i.forEach(function(d,p){u[++a]=[p,d]}),u}function bme(i){var a=-1,u=Array(i.size);return i.forEach(function(d){u[++a]=d}),u}var eWt=1,tWt=2,nWt="[object Boolean]",rWt="[object Date]",iWt="[object Error]",sWt="[object Map]",aWt="[object Number]",oWt="[object RegExp]",cWt="[object Set]",uWt="[object String]",lWt="[object Symbol]",hWt="[object ArrayBuffer]",fWt="[object DataView]",uUe=zv?zv.prototype:void 0,mme=uUe?uUe.valueOf:void 0;function dWt(i,a,u,d,p,v,b){switch(u){case fWt:if(i.byteLength!=a.byteLength||i.byteOffset!=a.byteOffset)return!1;i=i.buffer,a=a.buffer;case hWt:return!(i.byteLength!=a.byteLength||!v(new FX(i),new FX(a)));case nWt:case rWt:case aWt:return wD(+i,+a);case iWt:return i.name==a.name&&i.message==a.message;case oWt:case uWt:return i==a+"";case sWt:var y=ZKt;case cWt:var E=d&eWt;if(y||(y=bme),i.size!=a.size&&!E)return!1;var _=b.get(i);if(_)return _==a;d|=tWt,b.set(i,a);var A=cUe(y(i),y(a),d,p,v,b);return b.delete(i),A;case lWt:if(mme)return mme.call(i)==mme.call(a)}return!1}var gWt=1,pWt=Object.prototype,bWt=pWt.hasOwnProperty;function mWt(i,a,u,d,p,v){var b=u&gWt,y=pme(i),E=y.length,_=pme(a),A=_.length;if(E!=A&&!b)return!1;for(var P=E;P--;){var R=y[P];if(!(b?R in a:bWt.call(a,R)))return!1}var B=v.get(i),j=v.get(a);if(B&&j)return B==a&&j==i;var W=!0;v.set(i,a),v.set(a,i);for(var ee=b;++P<E;){R=y[P];var ie=i[R],oe=a[R];if(d)var be=b?d(oe,ie,R,a,i,v):d(ie,oe,R,i,a,v);if(!(be===void 0?ie===oe||p(ie,oe,u,d,v):be)){W=!1;break}ee||(ee=R=="constructor")}if(W&&!ee){var ge=i.constructor,ae=a.constructor;ge!=ae&&"constructor"in i&&"constructor"in a&&!(typeof ge=="function"&&ge instanceof ge&&typeof ae=="function"&&ae instanceof ae)&&(W=!1)}return v.delete(i),v.delete(a),W}var vWt=1,lUe="[object Arguments]",hUe="[object Array]",rJ="[object Object]",wWt=Object.prototype,fUe=wWt.hasOwnProperty;function yWt(i,a,u,d,p,v){var b=D0(i),y=D0(a),E=b?hUe:MD(i),_=y?hUe:MD(a);E=E==lUe?rJ:E,_=_==lUe?rJ:_;var A=E==rJ,P=_==rJ,R=E==_;if(R&&kD(i)){if(!kD(a))return!1;b=!0,A=!1}if(R&&!A)return v||(v=new $3),b||$X(i)?cUe(i,a,u,d,p,v):dWt(i,a,E,u,d,p,v);if(!(u&vWt)){var B=A&&fUe.call(i,"__wrapped__"),j=P&&fUe.call(a,"__wrapped__");if(B||j){var W=B?i.value():i,ee=j?a.value():a;return v||(v=new $3),p(W,ee,u,d,v)}}return R?(v||(v=new $3),mWt(i,a,u,d,p,v)):!1}function vme(i,a,u,d,p){return i===a?!0:i==null||a==null||!V4(i)&&!V4(a)?i!==i&&a!==a:yWt(i,a,u,d,vme,p)}var xWt=1,kWt=2;function TWt(i,a,u,d){var p=u.length,v=p,b=!d;if(i==null)return!v;for(i=Object(i);p--;){var y=u[p];if(b&&y[2]?y[1]!==i[y[0]]:!(y[0]in i))return!1}for(;++p<v;){y=u[p];var E=y[0],_=i[E],A=y[1];if(b&&y[2]){if(_===void 0&&!(E in i))return!1}else{var P=new $3;if(d)var R=d(_,A,E,i,a,P);if(!(R===void 0?vme(A,_,xWt|kWt,d,P):R))return!1}}return!0}function dUe(i){return i===i&&!dm(i)}function EWt(i){for(var a=xm(i),u=a.length;u--;){var d=a[u],p=i[d];a[u]=[d,p,dUe(p)]}return a}function gUe(i,a){return function(u){return u==null?!1:u[i]===a&&(a!==void 0||i in Object(u))}}function CWt(i){var a=EWt(i);return a.length==1&&a[0][2]?gUe(a[0][0],a[0][1]):function(u){return u===i||TWt(u,i,a)}}function SWt(i,a){return i!=null&&a in Object(i)}function pUe(i,a,u){a=eJ(a,i);for(var d=-1,p=a.length,v=!1;++d<p;){var b=SR(a[d]);if(!(v=i!=null&&u(i,b)))break;i=i[b]}return v||++d!=p?v:(p=i==null?0:i.length,!!p&&O2e(p)&&qX(b,p)&&(D0(i)||xD(i)))}function bUe(i,a){return i!=null&&pUe(i,a,SWt)}var _Wt=1,AWt=2;function LWt(i,a){return fme(i)&&dUe(a)?gUe(SR(i),a):function(u){var d=kGt(u,i);return d===void 0&&d===a?bUe(u,i):vme(a,d,_Wt|AWt)}}function MWt(i){return function(a){return a==null?void 0:a[i]}}function DWt(i){return function(a){return tJ(a,i)}}function IWt(i){return fme(i)?MWt(SR(i)):DWt(i)}function N9(i){return typeof i=="function"?i:i==null?NC:typeof i=="object"?D0(i)?LWt(i[0],i[1]):CWt(i):IWt(i)}function wme(i,a){return i&&M2e(i,a,xm)}function OWt(i,a){return function(u,d){if(u==null)return u;if(!y9(u))return i(u,d);for(var p=u.length,v=a?p:-1,b=Object(u);(a?v--:++v<p)&&d(b[v],v,b)!==!1;);return u}}var NWt=OWt(wme);const iJ=NWt;var PWt=function(){return j3.Date.now()};const mUe=PWt;var vUe=Object.prototype,BWt=vUe.hasOwnProperty,FWt=HX(function(i,a){i=Object(i);var u=-1,d=a.length,p=d>2?a[2]:void 0;for(p&&oR(a[0],a[1],p)&&(d=1);++u<d;)for(var v=a[u],b=OC(v),y=-1,E=b.length;++y<E;){var _=b[y],A=i[_];(A===void 0||wD(A,vUe[_])&&!BWt.call(i,_))&&(i[_]=v[_])}return i});const WD=FWt;function RWt(i,a,u){for(var d=-1,p=i==null?0:i.length;++d<p;)if(u(a,i[d]))return!0;return!1}function sJ(i){var a=i==null?0:i.length;return a?i[a-1]:void 0}function yme(i){return typeof i=="function"?i:NC}function Ar(i,a){var u=D0(i)?UHe:iJ;return u(i,yme(a))}function jWt(i,a){var u=[];return iJ(i,function(d,p,v){a(d,p,v)&&u.push(d)}),u}function $7(i,a){var u=D0(i)?WHe:jWt;return u(i,N9(a))}function $Wt(i){return function(a,u,d){var p=Object(a);if(!y9(a)){var v=N9(u);a=xm(a),u=function(y){return v(p[y],y,p)}}var b=i(a,u,d);return b>-1?p[v?a[b]:b]:void 0}}var zWt=Math.max;function qWt(i,a,u){var d=i==null?0:i.length;if(!d)return-1;var p=u==null?0:oGt(u);return p<0&&(p=zWt(d+p,0)),VHe(i,N9(a),p)}var HWt=$Wt(qWt);const xme=HWt;function wUe(i,a){var u=-1,d=y9(i)?Array(i.length):[];return iJ(i,function(p,v,b){d[++u]=a(p,v,b)}),d}function F0(i,a){var u=D0(i)?GD:wUe;return u(i,N9(a))}function UWt(i,a){return i==null?i:M2e(i,yme(a),OC)}function VWt(i,a){return i&&wme(i,yme(a))}function GWt(i,a){return i>a}var KWt=Object.prototype,WWt=KWt.hasOwnProperty;function YWt(i,a){return i!=null&&WWt.call(i,a)}function yUe(i,a){return i!=null&&pUe(i,a,YWt)}function XWt(i,a){return GD(a,function(u){return i[u]})}function z7(i){return i==null?[]:XWt(i,xm(i))}function Yf(i){return i===void 0}function xUe(i,a){return i<a}function aJ(i,a){var u={};return a=N9(a),wme(i,function(d,p,v){BX(u,p,a(d,p,v))}),u}function kme(i,a,u){for(var d=-1,p=i.length;++d<p;){var v=i[d],b=a(v);if(b!=null&&(y===void 0?b===b&&!VC(b):u(b,y)))var y=b,E=v}return E}function GC(i){return i&&i.length?kme(i,NC,GWt):void 0}function LR(i){return i&&i.length?kme(i,NC,xUe):void 0}function Tme(i,a){return i&&i.length?kme(i,N9(a),xUe):void 0}function QWt(i,a,u,d){if(!dm(i))return i;a=eJ(a,i);for(var p=-1,v=a.length,b=v-1,y=i;y!=null&&++p<v;){var E=SR(a[p]),_=u;if(E==="__proto__"||E==="constructor"||E==="prototype")return i;if(p!=b){var A=y[E];_=d?d(A,E,y):void 0,_===void 0&&(_=dm(A)?A:qX(a[p+1])?[]:{})}zX(y,E,_),y=y[E]}return i}function JWt(i,a,u){for(var d=-1,p=a.length,v={};++d<p;){var b=a[d],y=tJ(i,b);u(y,b)&&QWt(v,eJ(b,i),y)}return v}function ZWt(i,a){var u=i.length;for(i.sort(a);u--;)i[u]=i[u].value;return i}function eYt(i,a){if(i!==a){var u=i!==void 0,d=i===null,p=i===i,v=VC(i),b=a!==void 0,y=a===null,E=a===a,_=VC(a);if(!y&&!_&&!v&&i>a||v&&b&&E&&!y&&!_||d&&b&&E||!u&&E||!p)return 1;if(!d&&!v&&!_&&i<a||_&&u&&p&&!d&&!v||y&&u&&p||!b&&p||!E)return-1}return 0}function tYt(i,a,u){for(var d=-1,p=i.criteria,v=a.criteria,b=p.length,y=u.length;++d<b;){var E=eYt(p[d],v[d]);if(E){if(d>=y)return E;var _=u[d];return E*(_=="desc"?-1:1)}}return i.index-a.index}function nYt(i,a,u){a.length?a=GD(a,function(v){return D0(v)?function(b){return tJ(b,v.length===1?v[0]:v)}:v}):a=[NC];var d=-1;a=GD(a,jX(N9));var p=wUe(i,function(v,b,y){var E=GD(a,function(_){return _(v)});return{criteria:E,index:++d,value:v}});return ZWt(p,function(v,b){return tYt(v,b,u)})}function rYt(i,a){return JWt(i,a,function(u,d){return bUe(i,d)})}var iYt=EGt(function(i,a){return i==null?{}:rYt(i,a)});const MR=iYt;var sYt=Math.ceil,aYt=Math.max;function oYt(i,a,u,d){for(var p=-1,v=aYt(sYt((a-i)/(u||1)),0),b=Array(v);v--;)b[d?v:++p]=i,i+=u;return b}function cYt(i){return function(a,u,d){return d&&typeof d!="number"&&oR(a,u,d)&&(u=d=void 0),a=ZQ(a),u===void 0?(u=a,a=0):u=ZQ(u),d=d===void 0?a<u?1:-1:ZQ(d),oYt(a,u,d,i)}}var uYt=cYt();const KC=uYt;function lYt(i,a,u,d,p){return p(i,function(v,b,y){u=d?(d=!1,v):a(u,v,b,y)}),u}function DR(i,a,u){var d=D0(i)?CGt:lYt,p=arguments.length<3;return d(i,N9(a),u,p,iJ)}var hYt=HX(function(i,a){if(i==null)return[];var u=a.length;return u>1&&oR(i,a[0],a[1])?a=[]:u>2&&oR(a[0],a[1],a[2])&&(a=[a[0]]),nYt(i,nJ(a,1),[])});const IR=hYt;var fYt=1/0,dYt=LD&&1/bme(new LD([,-0]))[1]==fYt?function(i){return new LD(i)}:cGt;const gYt=dYt;var pYt=200;function bYt(i,a,u){var d=-1,p=fGt,v=i.length,b=!0,y=[],E=y;if(u)b=!1,p=RWt;else if(v>=pYt){var _=a?null:gYt(i);if(_)return bme(_);b=!1,p=oUe,E=new AR}else E=a?[]:y;e:for(;++d<v;){var A=i[d],P=a?a(A):A;if(A=u||A!==0?A:0,b&&P===P){for(var R=E.length;R--;)if(E[R]===P)continue e;a&&E.push(P),y.push(A)}else p(E,P,u)||(E!==y&&E.push(P),y.push(A))}return y}var mYt=HX(function(i){return bYt(nJ(i,1,xje,!0))});const vYt=mYt;var wYt=0;function oJ(i){var a=++wYt;return GHe(i)+a}function yYt(i,a,u){for(var d=-1,p=i.length,v=a.length,b={};++d<p;){var y=d<v?a[d]:void 0;u(b,i[d],y)}return b}function xYt(i,a){return yYt(i||[],a||[],zX)}var kYt="\0",WC="\0",kUe="";class R0{constructor(a={}){this._isDirected=Object.prototype.hasOwnProperty.call(a,"directed")?a.directed:!0,this._isMultigraph=Object.prototype.hasOwnProperty.call(a,"multigraph")?a.multigraph:!1,this._isCompound=Object.prototype.hasOwnProperty.call(a,"compound")?a.compound:!1,this._label=void 0,this._defaultNodeLabelFn=ED(void 0),this._defaultEdgeLabelFn=ED(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[WC]={}),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(a){return this._label=a,this}graph(){return this._label}setDefaultNodeLabel(a){return vD(a)||(a=ED(a)),this._defaultNodeLabelFn=a,this}nodeCount(){return this._nodeCount}nodes(){return xm(this._nodes)}sources(){var a=this;return $7(this.nodes(),function(u){return gR(a._in[u])})}sinks(){var a=this;return $7(this.nodes(),function(u){return gR(a._out[u])})}setNodes(a,u){var d=arguments,p=this;return Ar(a,function(v){d.length>1?p.setNode(v,u):p.setNode(v)}),this}setNode(a,u){return Object.prototype.hasOwnProperty.call(this._nodes,a)?(arguments.length>1&&(this._nodes[a]=u),this):(this._nodes[a]=arguments.length>1?u:this._defaultNodeLabelFn(a),this._isCompound&&(this._parent[a]=WC,this._children[a]={},this._children[WC][a]=!0),this._in[a]={},this._preds[a]={},this._out[a]={},this._sucs[a]={},++this._nodeCount,this)}node(a){return this._nodes[a]}hasNode(a){return Object.prototype.hasOwnProperty.call(this._nodes,a)}removeNode(a){if(Object.prototype.hasOwnProperty.call(this._nodes,a)){var u=d=>this.removeEdge(this._edgeObjs[d]);delete this._nodes[a],this._isCompound&&(this._removeFromParentsChildList(a),delete this._parent[a],Ar(this.children(a),d=>{this.setParent(d)}),delete this._children[a]),Ar(xm(this._in[a]),u),delete this._in[a],delete this._preds[a],Ar(xm(this._out[a]),u),delete this._out[a],delete this._sucs[a],--this._nodeCount}return this}setParent(a,u){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Yf(u))u=WC;else{u+="";for(var d=u;!Yf(d);d=this.parent(d))if(d===a)throw new Error("Setting "+u+" as parent of "+a+" would create a cycle");this.setNode(u)}return this.setNode(a),this._removeFromParentsChildList(a),this._parent[a]=u,this._children[u][a]=!0,this}_removeFromParentsChildList(a){delete this._children[this._parent[a]][a]}parent(a){if(this._isCompound){var u=this._parent[a];if(u!==WC)return u}}children(a){if(Yf(a)&&(a=WC),this._isCompound){var u=this._children[a];if(u)return xm(u)}else{if(a===WC)return this.nodes();if(this.hasNode(a))return[]}}predecessors(a){var u=this._preds[a];if(u)return xm(u)}successors(a){var u=this._sucs[a];if(u)return xm(u)}neighbors(a){var u=this.predecessors(a);if(u)return vYt(u,this.successors(a))}isLeaf(a){var u;return this.isDirected()?u=this.successors(a):u=this.neighbors(a),u.length===0}filterNodes(a){var u=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});u.setGraph(this.graph());var d=this;Ar(this._nodes,function(b,y){a(y)&&u.setNode(y,b)}),Ar(this._edgeObjs,function(b){u.hasNode(b.v)&&u.hasNode(b.w)&&u.setEdge(b,d.edge(b))});var p={};function v(b){var y=d.parent(b);return y===void 0||u.hasNode(y)?(p[b]=y,y):y in p?p[y]:v(y)}return this._isCompound&&Ar(u.nodes(),function(b){u.setParent(b,v(b))}),u}setDefaultEdgeLabel(a){return vD(a)||(a=ED(a)),this._defaultEdgeLabelFn=a,this}edgeCount(){return this._edgeCount}edges(){return z7(this._edgeObjs)}setPath(a,u){var d=this,p=arguments;return DR(a,function(v,b){return p.length>1?d.setEdge(v,b,u):d.setEdge(v,b),b}),this}setEdge(){var a,u,d,p,v=!1,b=arguments[0];typeof b=="object"&&b!==null&&"v"in b?(a=b.v,u=b.w,d=b.name,arguments.length===2&&(p=arguments[1],v=!0)):(a=b,u=arguments[1],d=arguments[3],arguments.length>2&&(p=arguments[2],v=!0)),a=""+a,u=""+u,Yf(d)||(d=""+d);var y=OR(this._isDirected,a,u,d);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,y))return v&&(this._edgeLabels[y]=p),this;if(!Yf(d)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(a),this.setNode(u),this._edgeLabels[y]=v?p:this._defaultEdgeLabelFn(a,u,d);var E=TYt(this._isDirected,a,u,d);return a=E.v,u=E.w,Object.freeze(E),this._edgeObjs[y]=E,TUe(this._preds[u],a),TUe(this._sucs[a],u),this._in[u][y]=E,this._out[a][y]=E,this._edgeCount++,this}edge(a,u,d){var p=arguments.length===1?Eme(this._isDirected,arguments[0]):OR(this._isDirected,a,u,d);return this._edgeLabels[p]}hasEdge(a,u,d){var p=arguments.length===1?Eme(this._isDirected,arguments[0]):OR(this._isDirected,a,u,d);return Object.prototype.hasOwnProperty.call(this._edgeLabels,p)}removeEdge(a,u,d){var p=arguments.length===1?Eme(this._isDirected,arguments[0]):OR(this._isDirected,a,u,d),v=this._edgeObjs[p];return v&&(a=v.v,u=v.w,delete this._edgeLabels[p],delete this._edgeObjs[p],EUe(this._preds[u],a),EUe(this._sucs[a],u),delete this._in[u][p],delete this._out[a][p],this._edgeCount--),this}inEdges(a,u){var d=this._in[a];if(d){var p=z7(d);return u?$7(p,function(v){return v.v===u}):p}}outEdges(a,u){var d=this._out[a];if(d){var p=z7(d);return u?$7(p,function(v){return v.w===u}):p}}nodeEdges(a,u){var d=this.inEdges(a,u);if(d)return d.concat(this.outEdges(a,u))}}R0.prototype._nodeCount=0,R0.prototype._edgeCount=0;function TUe(i,a){i[a]?i[a]++:i[a]=1}function EUe(i,a){--i[a]||delete i[a]}function OR(i,a,u,d){var p=""+a,v=""+u;if(!i&&p>v){var b=p;p=v,v=b}return p+kUe+v+kUe+(Yf(d)?kYt:d)}function TYt(i,a,u,d){var p=""+a,v=""+u;if(!i&&p>v){var b=p;p=v,v=b}var y={v:p,w:v};return d&&(y.name=d),y}function Eme(i,a){return OR(i,a.v,a.w,a.name)}class EYt{constructor(){var a={};a._next=a._prev=a,this._sentinel=a}dequeue(){var a=this._sentinel,u=a._prev;if(u!==a)return CUe(u),u}enqueue(a){var u=this._sentinel;a._prev&&a._next&&CUe(a),a._next=u._next,u._next._prev=a,u._next=a,a._prev=u}toString(){for(var a=[],u=this._sentinel,d=u._prev;d!==u;)a.push(JSON.stringify(d,CYt)),d=d._prev;return"["+a.join(", ")+"]"}}function CUe(i){i._prev._next=i._next,i._next._prev=i._prev,delete i._next,delete i._prev}function CYt(i,a){if(i!=="_next"&&i!=="_prev")return a}var SYt=ED(1);function _Yt(i,a){if(i.nodeCount()<=1)return[];var u=LYt(i,a||SYt),d=AYt(u.graph,u.buckets,u.zeroIdx);return KD(F0(d,function(p){return i.outEdges(p.v,p.w)}))}function AYt(i,a,u){for(var d=[],p=a[a.length-1],v=a[0],b;i.nodeCount();){for(;b=v.dequeue();)Cme(i,a,u,b);for(;b=p.dequeue();)Cme(i,a,u,b);if(i.nodeCount()){for(var y=a.length-2;y>0;--y)if(b=a[y].dequeue(),b){d=d.concat(Cme(i,a,u,b,!0));break}}}return d}function Cme(i,a,u,d,p){var v=p?[]:void 0;return Ar(i.inEdges(d.v),function(b){var y=i.edge(b),E=i.node(b.v);p&&v.push({v:b.v,w:b.w}),E.out-=y,Sme(a,u,E)}),Ar(i.outEdges(d.v),function(b){var y=i.edge(b),E=b.w,_=i.node(E);_.in-=y,Sme(a,u,_)}),i.removeNode(d.v),v}function LYt(i,a){var u=new R0,d=0,p=0;Ar(i.nodes(),function(y){u.setNode(y,{v:y,in:0,out:0})}),Ar(i.edges(),function(y){var E=u.edge(y.v,y.w)||0,_=a(y),A=E+_;u.setEdge(y.v,y.w,A),p=Math.max(p,u.node(y.v).out+=_),d=Math.max(d,u.node(y.w).in+=_)});var v=KC(p+d+3).map(function(){return new EYt}),b=d+1;return Ar(u.nodes(),function(y){Sme(v,b,u.node(y))}),{graph:u,buckets:v,zeroIdx:b}}function Sme(i,a,u){u.out?u.in?i[u.out-u.in+a].enqueue(u):i[i.length-1].enqueue(u):i[0].enqueue(u)}function MYt(i){var a=i.graph().acyclicer==="greedy"?_Yt(i,u(i)):DYt(i);Ar(a,function(d){var p=i.edge(d);i.removeEdge(d),p.forwardName=d.name,p.reversed=!0,i.setEdge(d.w,d.v,p,oJ("rev"))});function u(d){return function(p){return d.edge(p).weight}}}function DYt(i){var a=[],u={},d={};function p(v){Object.prototype.hasOwnProperty.call(d,v)||(d[v]=!0,u[v]=!0,Ar(i.outEdges(v),function(b){Object.prototype.hasOwnProperty.call(u,b.w)?a.push(b):p(b.w)}),delete u[v])}return Ar(i.nodes(),p),a}function IYt(i){Ar(i.edges(),function(a){var u=i.edge(a);if(u.reversed){i.removeEdge(a);var d=u.forwardName;delete u.reversed,delete u.forwardName,i.setEdge(a.w,a.v,u,d)}})}function YD(i,a,u,d){var p;do p=oJ(d);while(i.hasNode(p));return u.dummy=a,i.setNode(p,u),p}function OYt(i){var a=new R0().setGraph(i.graph());return Ar(i.nodes(),function(u){a.setNode(u,i.node(u))}),Ar(i.edges(),function(u){var d=a.edge(u.v,u.w)||{weight:0,minlen:1},p=i.edge(u);a.setEdge(u.v,u.w,{weight:d.weight+p.weight,minlen:Math.max(d.minlen,p.minlen)})}),a}function SUe(i){var a=new R0({multigraph:i.isMultigraph()}).setGraph(i.graph());return Ar(i.nodes(),function(u){i.children(u).length||a.setNode(u,i.node(u))}),Ar(i.edges(),function(u){a.setEdge(u,i.edge(u))}),a}function _Ue(i,a){var u=i.x,d=i.y,p=a.x-u,v=a.y-d,b=i.width/2,y=i.height/2;if(!p&&!v)throw new Error("Not possible to find intersection inside of the rectangle");var E,_;return Math.abs(v)*b>Math.abs(p)*y?(v<0&&(y=-y),E=y*p/v,_=y):(p<0&&(b=-b),E=b,_=b*v/p),{x:u+E,y:d+_}}function cJ(i){var a=F0(KC(LUe(i)+1),function(){return[]});return Ar(i.nodes(),function(u){var d=i.node(u),p=d.rank;Yf(p)||(a[p][d.order]=u)}),a}function NYt(i){var a=LR(F0(i.nodes(),function(u){return i.node(u).rank}));Ar(i.nodes(),function(u){var d=i.node(u);yUe(d,"rank")&&(d.rank-=a)})}function PYt(i){var a=LR(F0(i.nodes(),function(v){return i.node(v).rank})),u=[];Ar(i.nodes(),function(v){var b=i.node(v).rank-a;u[b]||(u[b]=[]),u[b].push(v)});var d=0,p=i.graph().nodeRankFactor;Ar(u,function(v,b){Yf(v)&&b%p!==0?--d:d&&Ar(v,function(y){i.node(y).rank+=d})})}function AUe(i,a,u,d){var p={width:0,height:0};return arguments.length>=4&&(p.rank=u,p.order=d),YD(i,"border",p,a)}function LUe(i){return GC(F0(i.nodes(),function(a){var u=i.node(a).rank;if(!Yf(u))return u}))}function BYt(i,a){var u={lhs:[],rhs:[]};return Ar(i,function(d){a(d)?u.lhs.push(d):u.rhs.push(d)}),u}function FYt(i,a){var u=mUe();try{return a()}finally{console.log(i+" time: "+(mUe()-u)+"ms")}}function RYt(i,a){return a()}function jYt(i){function a(u){var d=i.children(u),p=i.node(u);if(d.length&&Ar(d,a),Object.prototype.hasOwnProperty.call(p,"minRank")){p.borderLeft=[],p.borderRight=[];for(var v=p.minRank,b=p.maxRank+1;v<b;++v)MUe(i,"borderLeft","_bl",u,p,v),MUe(i,"borderRight","_br",u,p,v)}}Ar(i.children(),a)}function MUe(i,a,u,d,p,v){var b={width:0,height:0,rank:v,borderType:a},y=p[a][v-1],E=YD(i,"border",b,u);p[a][v]=E,i.setParent(E,d),y&&i.setEdge(y,E,{weight:1})}function $Yt(i){var a=i.graph().rankdir.toLowerCase();(a==="lr"||a==="rl")&&DUe(i)}function zYt(i){var a=i.graph().rankdir.toLowerCase();(a==="bt"||a==="rl")&&qYt(i),(a==="lr"||a==="rl")&&(HYt(i),DUe(i))}function DUe(i){Ar(i.nodes(),function(a){IUe(i.node(a))}),Ar(i.edges(),function(a){IUe(i.edge(a))})}function IUe(i){var a=i.width;i.width=i.height,i.height=a}function qYt(i){Ar(i.nodes(),function(a){_me(i.node(a))}),Ar(i.edges(),function(a){var u=i.edge(a);Ar(u.points,_me),Object.prototype.hasOwnProperty.call(u,"y")&&_me(u)})}function _me(i){i.y=-i.y}function HYt(i){Ar(i.nodes(),function(a){Ame(i.node(a))}),Ar(i.edges(),function(a){var u=i.edge(a);Ar(u.points,Ame),Object.prototype.hasOwnProperty.call(u,"x")&&Ame(u)})}function Ame(i){var a=i.x;i.x=i.y,i.y=a}function UYt(i){i.graph().dummyChains=[],Ar(i.edges(),function(a){VYt(i,a)})}function VYt(i,a){var u=a.v,d=i.node(u).rank,p=a.w,v=i.node(p).rank,b=a.name,y=i.edge(a),E=y.labelRank;if(v!==d+1){i.removeEdge(a);var _=void 0,A,P;for(P=0,++d;d<v;++P,++d)y.points=[],_={width:0,height:0,edgeLabel:y,edgeObj:a,rank:d},A=YD(i,"edge",_,"_d"),d===E&&(_.width=y.width,_.height=y.height,_.dummy="edge-label",_.labelpos=y.labelpos),i.setEdge(u,A,{weight:y.weight},b),P===0&&i.graph().dummyChains.push(A),u=A;i.setEdge(u,p,{weight:y.weight},b)}}function GYt(i){Ar(i.graph().dummyChains,function(a){var u=i.node(a),d=u.edgeLabel,p;for(i.setEdge(u.edgeObj,d);u.dummy;)p=i.successors(a)[0],i.removeNode(a),d.points.push({x:u.x,y:u.y}),u.dummy==="edge-label"&&(d.x=u.x,d.y=u.y,d.width=u.width,d.height=u.height),a=p,u=i.node(a)})}function Lme(i){var a={};function u(d){var p=i.node(d);if(Object.prototype.hasOwnProperty.call(a,d))return p.rank;a[d]=!0;var v=LR(F0(i.outEdges(d),function(b){return u(b.w)-i.edge(b).minlen}));return(v===Number.POSITIVE_INFINITY||v===void 0||v===null)&&(v=0),p.rank=v}Ar(i.sources(),u)}function NR(i,a){return i.node(a.w).rank-i.node(a.v).rank-i.edge(a).minlen}function OUe(i){var a=new R0({directed:!1}),u=i.nodes()[0],d=i.nodeCount();a.setNode(u,{});for(var p,v;KYt(a,i)<d;)p=WYt(a,i),v=a.hasNode(p.v)?NR(i,p):-NR(i,p),YYt(a,i,v);return a}function KYt(i,a){function u(d){Ar(a.nodeEdges(d),function(p){var v=p.v,b=d===v?p.w:v;!i.hasNode(b)&&!NR(a,p)&&(i.setNode(b,{}),i.setEdge(d,b,{}),u(b))})}return Ar(i.nodes(),u),i.nodeCount()}function WYt(i,a){return Tme(a.edges(),function(u){if(i.hasNode(u.v)!==i.hasNode(u.w))return NR(a,u)})}function YYt(i,a,u){Ar(i.nodes(),function(d){a.node(d).rank+=u})}function XYt(){}XYt.prototype=new Error;function NUe(i,a,u){D0(a)||(a=[a]);var d=(i.isDirected()?i.successors:i.neighbors).bind(i),p=[],v={};return Ar(a,function(b){if(!i.hasNode(b))throw new Error("Graph does not have node: "+b);PUe(i,b,u==="post",v,d,p)}),p}function PUe(i,a,u,d,p,v){Object.prototype.hasOwnProperty.call(d,a)||(d[a]=!0,u||v.push(a),Ar(p(a),function(b){PUe(i,b,u,d,p,v)}),u&&v.push(a))}function QYt(i,a){return NUe(i,a,"post")}function JYt(i,a){return NUe(i,a,"pre")}YC.initLowLimValues=Dme,YC.initCutValues=Mme,YC.calcCutValue=BUe,YC.leaveEdge=RUe,YC.enterEdge=jUe,YC.exchangeEdges=$Ue;function YC(i){i=OYt(i),Lme(i);var a=OUe(i);Dme(a),Mme(a,i);for(var u,d;u=RUe(a);)d=jUe(a,i,u),$Ue(a,i,u,d)}function Mme(i,a){var u=QYt(i,i.nodes());u=u.slice(0,u.length-1),Ar(u,function(d){ZYt(i,a,d)})}function ZYt(i,a,u){var d=i.node(u),p=d.parent;i.edge(u,p).cutvalue=BUe(i,a,u)}function BUe(i,a,u){var d=i.node(u),p=d.parent,v=!0,b=a.edge(u,p),y=0;return b||(v=!1,b=a.edge(p,u)),y=b.weight,Ar(a.nodeEdges(u),function(E){var _=E.v===u,A=_?E.w:E.v;if(A!==p){var P=_===v,R=a.edge(E).weight;if(y+=P?R:-R,tXt(i,u,A)){var B=i.edge(u,A).cutvalue;y+=P?-B:B}}}),y}function Dme(i,a){arguments.length<2&&(a=i.nodes()[0]),FUe(i,{},1,a)}function FUe(i,a,u,d,p){var v=u,b=i.node(d);return a[d]=!0,Ar(i.neighbors(d),function(y){Object.prototype.hasOwnProperty.call(a,y)||(u=FUe(i,a,u,y,d))}),b.low=v,b.lim=u++,p?b.parent=p:delete b.parent,u}function RUe(i){return xme(i.edges(),function(a){return i.edge(a).cutvalue<0})}function jUe(i,a,u){var d=u.v,p=u.w;a.hasEdge(d,p)||(d=u.w,p=u.v);var v=i.node(d),b=i.node(p),y=v,E=!1;v.lim>b.lim&&(y=b,E=!0);var _=$7(a.edges(),function(A){return E===zUe(i,i.node(A.v),y)&&E!==zUe(i,i.node(A.w),y)});return Tme(_,function(A){return NR(a,A)})}function $Ue(i,a,u,d){var p=u.v,v=u.w;i.removeEdge(p,v),i.setEdge(d.v,d.w,{}),Dme(i),Mme(i,a),eXt(i,a)}function eXt(i,a){var u=xme(i.nodes(),function(p){return!a.node(p).parent}),d=JYt(i,u);d=d.slice(1),Ar(d,function(p){var v=i.node(p).parent,b=a.edge(p,v),y=!1;b||(b=a.edge(v,p),y=!0),a.node(p).rank=a.node(v).rank+(y?b.minlen:-b.minlen)})}function tXt(i,a,u){return i.hasEdge(a,u)}function zUe(i,a,u){return u.low<=a.lim&&a.lim<=u.lim}function nXt(i){switch(i.graph().ranker){case"network-simplex":qUe(i);break;case"tight-tree":iXt(i);break;case"longest-path":rXt(i);break;default:qUe(i)}}var rXt=Lme;function iXt(i){Lme(i),OUe(i)}function qUe(i){YC(i)}function sXt(i){var a=YD(i,"root",{},"_root"),u=aXt(i),d=GC(z7(u))-1,p=2*d+1;i.graph().nestingRoot=a,Ar(i.edges(),function(b){i.edge(b).minlen*=p});var v=oXt(i)+1;Ar(i.children(),function(b){HUe(i,a,p,v,d,u,b)}),i.graph().nodeRankFactor=p}function HUe(i,a,u,d,p,v,b){var y=i.children(b);if(!y.length){b!==a&&i.setEdge(a,b,{weight:0,minlen:u});return}var E=AUe(i,"_bt"),_=AUe(i,"_bb"),A=i.node(b);i.setParent(E,b),A.borderTop=E,i.setParent(_,b),A.borderBottom=_,Ar(y,function(P){HUe(i,a,u,d,p,v,P);var R=i.node(P),B=R.borderTop?R.borderTop:P,j=R.borderBottom?R.borderBottom:P,W=R.borderTop?d:2*d,ee=B!==j?1:p-v[b]+1;i.setEdge(E,B,{weight:W,minlen:ee,nestingEdge:!0}),i.setEdge(j,_,{weight:W,minlen:ee,nestingEdge:!0})}),i.parent(b)||i.setEdge(a,E,{weight:0,minlen:p+v[b]})}function aXt(i){var a={};function u(d,p){var v=i.children(d);v&&v.length&&Ar(v,function(b){u(b,p+1)}),a[d]=p}return Ar(i.children(),function(d){u(d,1)}),a}function oXt(i){return DR(i.edges(),function(a,u){return a+i.edge(u).weight},0)}function cXt(i){var a=i.graph();i.removeNode(a.nestingRoot),delete a.nestingRoot,Ar(i.edges(),function(u){var d=i.edge(u);d.nestingEdge&&i.removeEdge(u)})}function uXt(i,a,u){var d={},p;Ar(u,function(v){for(var b=i.parent(v),y,E;b;){if(y=i.parent(b),y?(E=d[y],d[y]=b):(E=p,p=b),E&&E!==b){a.setEdge(E,b);return}b=y}})}function lXt(i,a,u){var d=hXt(i),p=new R0({compound:!0}).setGraph({root:d}).setDefaultNodeLabel(function(v){return i.node(v)});return Ar(i.nodes(),function(v){var b=i.node(v),y=i.parent(v);(b.rank===a||b.minRank<=a&&a<=b.maxRank)&&(p.setNode(v),p.setParent(v,y||d),Ar(i[u](v),function(E){var _=E.v===v?E.w:E.v,A=p.edge(_,v),P=Yf(A)?0:A.weight;p.setEdge(_,v,{weight:i.edge(E).weight+P})}),Object.prototype.hasOwnProperty.call(b,"minRank")&&p.setNode(v,{borderLeft:b.borderLeft[a],borderRight:b.borderRight[a]}))}),p}function hXt(i){for(var a;i.hasNode(a=oJ("_root")););return a}function fXt(i,a){for(var u=0,d=1;d<a.length;++d)u+=dXt(i,a[d-1],a[d]);return u}function dXt(i,a,u){for(var d=xYt(u,F0(u,function(_,A){return A})),p=KD(F0(a,function(_){return IR(F0(i.outEdges(_),function(A){return{pos:d[A.w],weight:i.edge(A).weight}}),"pos")})),v=1;v<u.length;)v<<=1;var b=2*v-1;v-=1;var y=F0(new Array(b),function(){return 0}),E=0;return Ar(p.forEach(function(_){var A=_.pos+v;y[A]+=_.weight;for(var P=0;A>0;)A%2&&(P+=y[A+1]),A=A-1>>1,y[A]+=_.weight;E+=_.weight*P})),E}function gXt(i){var a={},u=$7(i.nodes(),function(y){return!i.children(y).length}),d=GC(F0(u,function(y){return i.node(y).rank})),p=F0(KC(d+1),function(){return[]});function v(y){if(!yUe(a,y)){a[y]=!0;var E=i.node(y);p[E.rank].push(y),Ar(i.successors(y),v)}}var b=IR(u,function(y){return i.node(y).rank});return Ar(b,v),p}function pXt(i,a){return F0(a,function(u){var d=i.inEdges(u);if(d.length){var p=DR(d,function(v,b){var y=i.edge(b),E=i.node(b.v);return{sum:v.sum+y.weight*E.order,weight:v.weight+y.weight}},{sum:0,weight:0});return{v:u,barycenter:p.sum/p.weight,weight:p.weight}}else return{v:u}})}function bXt(i,a){var u={};Ar(i,function(p,v){var b=u[p.v]={indegree:0,in:[],out:[],vs:[p.v],i:v};Yf(p.barycenter)||(b.barycenter=p.barycenter,b.weight=p.weight)}),Ar(a.edges(),function(p){var v=u[p.v],b=u[p.w];!Yf(v)&&!Yf(b)&&(b.indegree++,v.out.push(u[p.w]))});var d=$7(u,function(p){return!p.indegree});return mXt(d)}function mXt(i){var a=[];function u(v){return function(b){b.merged||(Yf(b.barycenter)||Yf(v.barycenter)||b.barycenter>=v.barycenter)&&vXt(v,b)}}function d(v){return function(b){b.in.push(v),--b.indegree===0&&i.push(b)}}for(;i.length;){var p=i.pop();a.push(p),Ar(p.in.reverse(),u(p)),Ar(p.out,d(p))}return F0($7(a,function(v){return!v.merged}),function(v){return MR(v,["vs","i","barycenter","weight"])})}function vXt(i,a){var u=0,d=0;i.weight&&(u+=i.barycenter*i.weight,d+=i.weight),a.weight&&(u+=a.barycenter*a.weight,d+=a.weight),i.vs=a.vs.concat(i.vs),i.barycenter=u/d,i.weight=d,i.i=Math.min(a.i,i.i),a.merged=!0}function wXt(i,a){var u=BYt(i,function(A){return Object.prototype.hasOwnProperty.call(A,"barycenter")}),d=u.lhs,p=IR(u.rhs,function(A){return-A.i}),v=[],b=0,y=0,E=0;d.sort(yXt(!!a)),E=UUe(v,p,E),Ar(d,function(A){E+=A.vs.length,v.push(A.vs),b+=A.barycenter*A.weight,y+=A.weight,E=UUe(v,p,E)});var _={vs:KD(v)};return y&&(_.barycenter=b/y,_.weight=y),_}function UUe(i,a,u){for(var d;a.length&&(d=sJ(a)).i<=u;)a.pop(),i.push(d.vs),u++;return u}function yXt(i){return function(a,u){return a.barycenter<u.barycenter?-1:a.barycenter>u.barycenter?1:i?u.i-a.i:a.i-u.i}}function VUe(i,a,u,d){var p=i.children(a),v=i.node(a),b=v?v.borderLeft:void 0,y=v?v.borderRight:void 0,E={};b&&(p=$7(p,function(j){return j!==b&&j!==y}));var _=pXt(i,p);Ar(_,function(j){if(i.children(j.v).length){var W=VUe(i,j.v,u,d);E[j.v]=W,Object.prototype.hasOwnProperty.call(W,"barycenter")&&kXt(j,W)}});var A=bXt(_,u);xXt(A,E);var P=wXt(A,d);if(b&&(P.vs=KD([b,P.vs,y]),i.predecessors(b).length)){var R=i.node(i.predecessors(b)[0]),B=i.node(i.predecessors(y)[0]);Object.prototype.hasOwnProperty.call(P,"barycenter")||(P.barycenter=0,P.weight=0),P.barycenter=(P.barycenter*P.weight+R.order+B.order)/(P.weight+2),P.weight+=2}return P}function xXt(i,a){Ar(i,function(u){u.vs=KD(u.vs.map(function(d){return a[d]?a[d].vs:d}))})}function kXt(i,a){Yf(i.barycenter)?(i.barycenter=a.barycenter,i.weight=a.weight):(i.barycenter=(i.barycenter*i.weight+a.barycenter*a.weight)/(i.weight+a.weight),i.weight+=a.weight)}function TXt(i){var a=LUe(i),u=GUe(i,KC(1,a+1),"inEdges"),d=GUe(i,KC(a-1,-1,-1),"outEdges"),p=gXt(i);KUe(i,p);for(var v=Number.POSITIVE_INFINITY,b,y=0,E=0;E<4;++y,++E){EXt(y%2?u:d,y%4>=2),p=cJ(i);var _=fXt(i,p);_<v&&(E=0,b=GKt(p),v=_)}KUe(i,b)}function GUe(i,a,u){return F0(a,function(d){return lXt(i,d,u)})}function EXt(i,a){var u=new R0;Ar(i,function(d){var p=d.graph().root,v=VUe(d,p,u,a);Ar(v.vs,function(b,y){d.node(b).order=y}),uXt(d,u,v.vs)})}function KUe(i,a){Ar(a,function(u){Ar(u,function(d,p){i.node(d).order=p})})}function CXt(i){var a=_Xt(i);Ar(i.graph().dummyChains,function(u){for(var d=i.node(u),p=d.edgeObj,v=SXt(i,a,p.v,p.w),b=v.path,y=v.lca,E=0,_=b[E],A=!0;u!==p.w;){if(d=i.node(u),A){for(;(_=b[E])!==y&&i.node(_).maxRank<d.rank;)E++;_===y&&(A=!1)}if(!A){for(;E<b.length-1&&i.node(_=b[E+1]).minRank<=d.rank;)E++;_=b[E]}i.setParent(u,_),u=i.successors(u)[0]}})}function SXt(i,a,u,d){var p=[],v=[],b=Math.min(a[u].low,a[d].low),y=Math.max(a[u].lim,a[d].lim),E,_;E=u;do E=i.parent(E),p.push(E);while(E&&(a[E].low>b||y>a[E].lim));for(_=E,E=d;(E=i.parent(E))!==_;)v.push(E);return{path:p.concat(v.reverse()),lca:_}}function _Xt(i){var a={},u=0;function d(p){var v=u;Ar(i.children(p),d),a[p]={low:v,lim:u++}}return Ar(i.children(),d),a}function AXt(i,a){var u={};function d(p,v){var b=0,y=0,E=p.length,_=sJ(v);return Ar(v,function(A,P){var R=MXt(i,A),B=R?i.node(R).order:E;(R||A===_)&&(Ar(v.slice(y,P+1),function(j){Ar(i.predecessors(j),function(W){var ee=i.node(W),ie=ee.order;(ie<b||B<ie)&&!(ee.dummy&&i.node(j).dummy)&&WUe(u,W,j)})}),y=P+1,b=B)}),v}return DR(a,d),u}function LXt(i,a){var u={};function d(v,b,y,E,_){var A;Ar(KC(b,y),function(P){A=v[P],i.node(A).dummy&&Ar(i.predecessors(A),function(R){var B=i.node(R);B.dummy&&(B.order<E||B.order>_)&&WUe(u,R,A)})})}function p(v,b){var y=-1,E,_=0;return Ar(b,function(A,P){if(i.node(A).dummy==="border"){var R=i.predecessors(A);R.length&&(E=i.node(R[0]).order,d(b,_,P,y,E),_=P,y=E)}d(b,_,b.length,E,v.length)}),b}return DR(a,p),u}function MXt(i,a){if(i.node(a).dummy)return xme(i.predecessors(a),function(u){return i.node(u).dummy})}function WUe(i,a,u){if(a>u){var d=a;a=u,u=d}Object.prototype.hasOwnProperty.call(i,a)||Object.defineProperty(i,a,{enumerable:!0,configurable:!0,value:{},writable:!0});var p=i[a];Object.defineProperty(p,u,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function DXt(i,a,u){if(a>u){var d=a;a=u,u=d}return!!i[a]&&Object.prototype.hasOwnProperty.call(i[a],u)}function IXt(i,a,u,d){var p={},v={},b={};return Ar(a,function(y){Ar(y,function(E,_){p[E]=E,v[E]=E,b[E]=_})}),Ar(a,function(y){var E=-1;Ar(y,function(_){var A=d(_);if(A.length){A=IR(A,function(W){return b[W]});for(var P=(A.length-1)/2,R=Math.floor(P),B=Math.ceil(P);R<=B;++R){var j=A[R];v[_]===_&&E<b[j]&&!DXt(u,_,j)&&(v[j]=_,v[_]=p[_]=p[j],E=b[j])}}})}),{root:p,align:v}}function OXt(i,a,u,d,p){var v={},b=NXt(i,a,u,p),y=p?"borderLeft":"borderRight";function E(P,R){for(var B=b.nodes(),j=B.pop(),W={};j;)W[j]?P(j):(W[j]=!0,B.push(j),B=B.concat(R(j))),j=B.pop()}function _(P){v[P]=b.inEdges(P).reduce(function(R,B){return Math.max(R,v[B.v]+b.edge(B))},0)}function A(P){var R=b.outEdges(P).reduce(function(j,W){return Math.min(j,v[W.w]-b.edge(W))},Number.POSITIVE_INFINITY),B=i.node(P);R!==Number.POSITIVE_INFINITY&&B.borderType!==y&&(v[P]=Math.max(v[P],R))}return E(_,b.predecessors.bind(b)),E(A,b.successors.bind(b)),Ar(d,function(P){v[P]=v[u[P]]}),v}function NXt(i,a,u,d){var p=new R0,v=i.graph(),b=jXt(v.nodesep,v.edgesep,d);return Ar(a,function(y){var E;Ar(y,function(_){var A=u[_];if(p.setNode(A),E){var P=u[E],R=p.edge(P,A);p.setEdge(P,A,Math.max(b(i,_,E),R||0))}E=_})}),p}function PXt(i,a){return Tme(z7(a),function(u){var d=Number.NEGATIVE_INFINITY,p=Number.POSITIVE_INFINITY;return UWt(u,function(v,b){var y=$Xt(i,b)/2;d=Math.max(v+y,d),p=Math.min(v-y,p)}),d-p})}function BXt(i,a){var u=z7(a),d=LR(u),p=GC(u);Ar(["u","d"],function(v){Ar(["l","r"],function(b){var y=v+b,E=i[y],_;if(E!==a){var A=z7(E);_=b==="l"?d-LR(A):p-GC(A),_&&(i[y]=aJ(E,function(P){return P+_}))}})})}function FXt(i,a){return aJ(i.ul,function(u,d){if(a)return i[a.toLowerCase()][d];var p=IR(F0(i,d));return(p[1]+p[2])/2})}function RXt(i){var a=cJ(i),u=UX(AXt(i,a),LXt(i,a)),d={},p;Ar(["u","d"],function(b){p=b==="u"?a:z7(a).reverse(),Ar(["l","r"],function(y){y==="r"&&(p=F0(p,function(P){return z7(P).reverse()}));var E=(b==="u"?i.predecessors:i.successors).bind(i),_=IXt(i,p,u,E),A=OXt(i,p,_.root,_.align,y==="r");y==="r"&&(A=aJ(A,function(P){return-P})),d[b+y]=A})});var v=PXt(i,d);return BXt(d,v),FXt(d,i.graph().align)}function jXt(i,a,u){return function(d,p,v){var b=d.node(p),y=d.node(v),E=0,_;if(E+=b.width/2,Object.prototype.hasOwnProperty.call(b,"labelpos"))switch(b.labelpos.toLowerCase()){case"l":_=-b.width/2;break;case"r":_=b.width/2;break}if(_&&(E+=u?_:-_),_=0,E+=(b.dummy?a:i)/2,E+=(y.dummy?a:i)/2,E+=y.width/2,Object.prototype.hasOwnProperty.call(y,"labelpos"))switch(y.labelpos.toLowerCase()){case"l":_=y.width/2;break;case"r":_=-y.width/2;break}return _&&(E+=u?_:-_),_=0,E}}function $Xt(i,a){return i.node(a).width}function zXt(i){i=SUe(i),qXt(i),VWt(RXt(i),function(a,u){i.node(u).x=a})}function qXt(i){var a=cJ(i),u=i.graph().ranksep,d=0;Ar(a,function(p){var v=GC(F0(p,function(b){return i.node(b).height}));Ar(p,function(b){i.node(b).y=d+v/2}),d+=v+u})}function XD(i,a){var u=a&&a.debugTiming?FYt:RYt;u("layout",()=>{var d=u(" buildLayoutGraph",()=>ZXt(i));u(" runLayout",()=>HXt(d,u)),u(" updateInputGraph",()=>UXt(i,d))})}function HXt(i,a){a(" makeSpaceForEdgeLabels",()=>eQt(i)),a(" removeSelfEdges",()=>uQt(i)),a(" acyclic",()=>MYt(i)),a(" nestingGraph.run",()=>sXt(i)),a(" rank",()=>nXt(SUe(i))),a(" injectEdgeLabelProxies",()=>tQt(i)),a(" removeEmptyRanks",()=>PYt(i)),a(" nestingGraph.cleanup",()=>cXt(i)),a(" normalizeRanks",()=>NYt(i)),a(" assignRankMinMax",()=>nQt(i)),a(" removeEdgeLabelProxies",()=>rQt(i)),a(" normalize.run",()=>UYt(i)),a(" parentDummyChains",()=>CXt(i)),a(" addBorderSegments",()=>jYt(i)),a(" order",()=>TXt(i)),a(" insertSelfEdges",()=>lQt(i)),a(" adjustCoordinateSystem",()=>$Yt(i)),a(" position",()=>zXt(i)),a(" positionSelfEdges",()=>hQt(i)),a(" removeBorderNodes",()=>cQt(i)),a(" normalize.undo",()=>GYt(i)),a(" fixupEdgeLabelCoords",()=>aQt(i)),a(" undoCoordinateSystem",()=>zYt(i)),a(" translateGraph",()=>iQt(i)),a(" assignNodeIntersects",()=>sQt(i)),a(" reversePoints",()=>oQt(i)),a(" acyclic.undo",()=>IYt(i))}function UXt(i,a){Ar(i.nodes(),function(u){var d=i.node(u),p=a.node(u);d&&(d.x=p.x,d.y=p.y,a.children(u).length&&(d.width=p.width,d.height=p.height))}),Ar(i.edges(),function(u){var d=i.edge(u),p=a.edge(u);d.points=p.points,Object.prototype.hasOwnProperty.call(p,"x")&&(d.x=p.x,d.y=p.y)}),i.graph().width=a.graph().width,i.graph().height=a.graph().height}var VXt=["nodesep","edgesep","ranksep","marginx","marginy"],GXt={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},KXt=["acyclicer","ranker","rankdir","align"],WXt=["width","height"],YXt={width:0,height:0},XXt=["minlen","weight","width","height","labeloffset"],QXt={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},JXt=["labelpos"];function ZXt(i){var a=new R0({multigraph:!0,compound:!0}),u=Ome(i.graph());return a.setGraph(UX({},GXt,Ime(u,VXt),MR(u,KXt))),Ar(i.nodes(),function(d){var p=Ome(i.node(d));a.setNode(d,WD(Ime(p,WXt),YXt)),a.setParent(d,i.parent(d))}),Ar(i.edges(),function(d){var p=Ome(i.edge(d));a.setEdge(d,UX({},QXt,Ime(p,XXt),MR(p,JXt)))}),a}function eQt(i){var a=i.graph();a.ranksep/=2,Ar(i.edges(),function(u){var d=i.edge(u);d.minlen*=2,d.labelpos.toLowerCase()!=="c"&&(a.rankdir==="TB"||a.rankdir==="BT"?d.width+=d.labeloffset:d.height+=d.labeloffset)})}function tQt(i){Ar(i.edges(),function(a){var u=i.edge(a);if(u.width&&u.height){var d=i.node(a.v),p=i.node(a.w),v={rank:(p.rank-d.rank)/2+d.rank,e:a};YD(i,"edge-proxy",v,"_ep")}})}function nQt(i){var a=0;Ar(i.nodes(),function(u){var d=i.node(u);d.borderTop&&(d.minRank=i.node(d.borderTop).rank,d.maxRank=i.node(d.borderBottom).rank,a=GC(a,d.maxRank))}),i.graph().maxRank=a}function rQt(i){Ar(i.nodes(),function(a){var u=i.node(a);u.dummy==="edge-proxy"&&(i.edge(u.e).labelRank=u.rank,i.removeNode(a))})}function iQt(i){var a=Number.POSITIVE_INFINITY,u=0,d=Number.POSITIVE_INFINITY,p=0,v=i.graph(),b=v.marginx||0,y=v.marginy||0;function E(_){var A=_.x,P=_.y,R=_.width,B=_.height;a=Math.min(a,A-R/2),u=Math.max(u,A+R/2),d=Math.min(d,P-B/2),p=Math.max(p,P+B/2)}Ar(i.nodes(),function(_){E(i.node(_))}),Ar(i.edges(),function(_){var A=i.edge(_);Object.prototype.hasOwnProperty.call(A,"x")&&E(A)}),a-=b,d-=y,Ar(i.nodes(),function(_){var A=i.node(_);A.x-=a,A.y-=d}),Ar(i.edges(),function(_){var A=i.edge(_);Ar(A.points,function(P){P.x-=a,P.y-=d}),Object.prototype.hasOwnProperty.call(A,"x")&&(A.x-=a),Object.prototype.hasOwnProperty.call(A,"y")&&(A.y-=d)}),v.width=u-a+b,v.height=p-d+y}function sQt(i){Ar(i.edges(),function(a){var u=i.edge(a),d=i.node(a.v),p=i.node(a.w),v,b;u.points?(v=u.points[0],b=u.points[u.points.length-1]):(u.points=[],v=p,b=d),u.points.unshift(_Ue(d,v)),u.points.push(_Ue(p,b))})}function aQt(i){Ar(i.edges(),function(a){var u=i.edge(a);if(Object.prototype.hasOwnProperty.call(u,"x"))switch((u.labelpos==="l"||u.labelpos==="r")&&(u.width-=u.labeloffset),u.labelpos){case"l":u.x-=u.width/2+u.labeloffset;break;case"r":u.x+=u.width/2+u.labeloffset;break}})}function oQt(i){Ar(i.edges(),function(a){var u=i.edge(a);u.reversed&&u.points.reverse()})}function cQt(i){Ar(i.nodes(),function(a){if(i.children(a).length){var u=i.node(a),d=i.node(u.borderTop),p=i.node(u.borderBottom),v=i.node(sJ(u.borderLeft)),b=i.node(sJ(u.borderRight));u.width=Math.abs(b.x-v.x),u.height=Math.abs(p.y-d.y),u.x=v.x+u.width/2,u.y=d.y+u.height/2}}),Ar(i.nodes(),function(a){i.node(a).dummy==="border"&&i.removeNode(a)})}function uQt(i){Ar(i.edges(),function(a){if(a.v===a.w){var u=i.node(a.v);u.selfEdges||(u.selfEdges=[]),u.selfEdges.push({e:a,label:i.edge(a)}),i.removeEdge(a)}})}function lQt(i){var a=cJ(i);Ar(a,function(u){var d=0;Ar(u,function(p,v){var b=i.node(p);b.order=v+d,Ar(b.selfEdges,function(y){YD(i,"selfedge",{width:y.label.width,height:y.label.height,rank:b.rank,order:v+ ++d,e:y.e,label:y.label},"_se")}),delete b.selfEdges})})}function hQt(i){Ar(i.nodes(),function(a){var u=i.node(a);if(u.dummy==="selfedge"){var d=i.node(u.e.v),p=d.x+d.width/2,v=d.y,b=u.x-p,y=d.height/2;i.setEdge(u.e,u.label),i.removeNode(a),u.label.points=[{x:p+2*b/3,y:v-y},{x:p+5*b/6,y:v-y},{x:p+b,y:v},{x:p+5*b/6,y:v+y},{x:p+2*b/3,y:v+y}],u.label.x=u.x,u.label.y=u.y}})}function Ime(i,a){return aJ(MR(i,a),Number)}function Ome(i){var a={};return Ar(i,function(u,d){a[d.toLowerCase()]=u}),a}function YUe(i,a){return!!i.children(a).length}function XUe(i){return Nme(i.v)+":"+Nme(i.w)+":"+Nme(i.name)}var fQt=/:/g;function Nme(i){return i?String(i).replace(fQt,"\\:"):""}function t5(i,a){a&&i.attr("style",a)}function QUe(i,a,u){a&&i.attr("class",a).attr("class",u+" "+i.attr("class"))}function G3(i,a){var u=a.graph();if(Sje(u)){var d=u.transition;if(vD(d))return d(i)}return i}var Pme={normal:gQt,vee:pQt,undirected:bQt};function dQt(i){Pme=i}function gQt(i,a,u,d){var p=i.append("marker").attr("id",a).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),v=p.append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");t5(v,u[d+"Style"]),u[d+"Class"]&&v.attr("class",u[d+"Class"])}function pQt(i,a,u,d){var p=i.append("marker").attr("id",a).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),v=p.append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");t5(v,u[d+"Style"]),u[d+"Class"]&&v.attr("class",u[d+"Class"])}function bQt(i,a,u,d){var p=i.append("marker").attr("id",a).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),v=p.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");t5(v,u[d+"Style"]),u[d+"Class"]&&v.attr("class",u[d+"Class"])}function Bme(i,a){var u=i.append("foreignObject").attr("width","100000"),d=u.append("xhtml:div");d.attr("xmlns","http://www.w3.org/1999/xhtml");var p=a.label;switch(typeof p){case"function":d.insert(p);break;case"object":d.insert(function(){return p});break;default:d.html(p)}t5(d,a.labelStyle),d.style("display","inline-block"),d.style("white-space","nowrap");var v=d.node().getBoundingClientRect();return u.attr("width",v.width).attr("height",v.height),u}function mQt(i,a){var u=i;return u.node().appendChild(a.label),t5(u,a.labelStyle),u}function vQt(i,a){for(var u=i.append("text"),d=wQt(a.label).split(`
`),p=0;p<d.length;p++)u.append("tspan").attr("xml:space","preserve").attr("dy","1em").attr("x","1").text(d[p]);return t5(u,a.labelStyle),u}function wQt(i){for(var a="",u=!1,d,p=0;p<i.length;++p)if(d=i[p],u){switch(d){case"n":a+=`
`;break;default:a+=d}u=!1}else d==="\\"?u=!0:a+=d;return a}function Fme(i,a,u){var d=a.label,p=i.append("g");a.labelType==="svg"?mQt(p,a):typeof d!="string"||a.labelType==="html"?Bme(p,a):vQt(p,a);var v=p.node().getBBox(),b;switch(u){case"top":b=-a.height/2;break;case"bottom":b=a.height/2-v.height;break;default:b=-v.height/2}return p.attr("transform","translate("+-v.width/2+","+b+")"),p}var Rme=function(i,a){var u=a.nodes().filter(function(v){return YUe(a,v)}),d=i.selectAll("g.cluster").data(u,function(v){return v});G3(d.exit(),a).style("opacity",0).remove();var p=d.enter().append("g").attr("class","cluster").attr("id",function(v){var b=a.node(v);return b.id}).style("opacity",0).each(function(v){var b=a.node(v),y=Dr(this);Dr(this).append("rect");var E=y.append("g").attr("class","label");Fme(E,b,b.clusterLabelPos)});return d=d.merge(p),d=G3(d,a).style("opacity",1),d.selectAll("rect").each(function(v){var b=a.node(v),y=Dr(this);t5(y,b.style)}),d};function yQt(i){Rme=i}let jme=function(i,a){var u=i.selectAll("g.edgeLabel").data(a.edges(),function(p){return XUe(p)}).classed("update",!0);u.exit().remove(),u.enter().append("g").classed("edgeLabel",!0).style("opacity",0),u=i.selectAll("g.edgeLabel"),u.each(function(p){var v=Dr(this);v.select(".label").remove();var b=a.edge(p),y=Fme(v,a.edge(p),0).classed("label",!0),E=y.node().getBBox();b.labelId&&y.attr("id",b.labelId),Object.prototype.hasOwnProperty.call(b,"width")||(b.width=E.width),Object.prototype.hasOwnProperty.call(b,"height")||(b.height=E.height)});var d;return u.exit?d=u.exit():d=u.selectAll(null),G3(d,a).style("opacity",0).remove(),u};function xQt(i){jme=i}function JUe(i,a){return i.intersect(a)}var $me=function(i,a,u){var d=i.selectAll("g.edgePath").data(a.edges(),function(b){return XUe(b)}).classed("update",!0),p=SQt(d,a);_Qt(d,a);var v=d.merge!==void 0?d.merge(p):d;return G3(v,a).style("opacity",1),v.each(function(b){var y=Dr(this),E=a.edge(b);E.elem=this,E.id&&y.attr("id",E.id),QUe(y,E.class,(y.classed("update")?"update ":"")+"edgePath")}),v.selectAll("path.path").each(function(b){var y=a.edge(b);y.arrowheadId=oJ("arrowhead");var E=Dr(this).attr("marker-end",function(){return"url("+TQt(location.href,y.arrowheadId)+")"}).style("fill","none");G3(E,a).attr("d",function(_){return EQt(a,_)}),t5(E,y.style)}),v.selectAll("defs *").remove(),v.selectAll("defs").each(function(b){var y=a.edge(b),E=u[y.arrowhead];E(Dr(this),y.arrowheadId,y,"arrowhead")}),v};function kQt(i){$me=i}function TQt(i,a){var u=i.split("#")[0];return u+"#"+a}function EQt(i,a){var u=i.edge(a),d=i.node(a.v),p=i.node(a.w),v=u.points.slice(1,u.points.length-1);return v.unshift(JUe(d,v[0])),v.push(JUe(p,v[v.length-1])),ZUe(u,v)}function ZUe(i,a){var u=(E7||hOt.line)().x(function(d){return d.x}).y(function(d){return d.y});return(u.curve||u.interpolate)(i.curve),u(a)}function CQt(i){var a=i.getBBox(),u=i.ownerSVGElement.getScreenCTM().inverse().multiply(i.getScreenCTM()).translate(a.width/2,a.height/2);return{x:u.e,y:u.f}}function SQt(i,a){var u=i.enter().append("g").attr("class","edgePath").style("opacity",0);return u.append("path").attr("class","path").attr("d",function(d){var p=a.edge(d),v=a.node(d.v).elem,b=KC(p.points.length).map(function(){return CQt(v)});return ZUe(p,b)}),u.append("defs"),u}function _Qt(i,a){var u=i.exit();G3(u,a).style("opacity",0).remove()}var zme=function(i,a,u){var d=a.nodes().filter(function(b){return!YUe(a,b)}),p=i.selectAll("g.node").data(d,function(b){return b}).classed("update",!0);p.exit().remove(),p.enter().append("g").attr("class","node").style("opacity",0),p=i.selectAll("g.node"),p.each(function(b){var y=a.node(b),E=Dr(this);QUe(E,y.class,(E.classed("update")?"update ":"")+"node"),E.select("g.label").remove();var _=E.append("g").attr("class","label"),A=Fme(_,y),P=u[y.shape],R=MR(A.node().getBBox(),"width","height");y.elem=this,y.id&&E.attr("id",y.id),y.labelId&&_.attr("id",y.labelId),Object.prototype.hasOwnProperty.call(y,"width")&&(R.width=y.width),Object.prototype.hasOwnProperty.call(y,"height")&&(R.height=y.height),R.width+=y.paddingLeft+y.paddingRight,R.height+=y.paddingTop+y.paddingBottom,_.attr("transform","translate("+(y.paddingLeft-y.paddingRight)/2+","+(y.paddingTop-y.paddingBottom)/2+")");var B=Dr(this);B.select(".label-container").remove();var j=P(B,R,y).classed("label-container",!0);t5(j,y.style);var W=j.node().getBBox();y.width=W.width,y.height=W.height});var v;return p.exit?v=p.exit():v=p.selectAll(null),G3(v,a).style("opacity",0).remove(),p};function AQt(i){zme=i}function LQt(i,a){var u=i.filter(function(){return!Dr(this).classed("update")});function d(p){var v=a.node(p);return"translate("+v.x+","+v.y+")"}u.attr("transform",d),G3(i,a).style("opacity",1).attr("transform",d),G3(u.selectAll("rect"),a).attr("width",function(p){return a.node(p).width}).attr("height",function(p){return a.node(p).height}).attr("x",function(p){var v=a.node(p);return-v.width/2}).attr("y",function(p){var v=a.node(p);return-v.height/2})}function MQt(i,a){var u=i.filter(function(){return!Dr(this).classed("update")});function d(p){var v=a.edge(p);return Object.prototype.hasOwnProperty.call(v,"x")?"translate("+v.x+","+v.y+")":""}u.attr("transform",d),G3(i,a).style("opacity",1).attr("transform",d)}function DQt(i,a){var u=i.filter(function(){return!Dr(this).classed("update")});function d(p){var v=a.node(p);return"translate("+v.x+","+v.y+")"}u.attr("transform",d),G3(i,a).style("opacity",1).attr("transform",d)}function eVe(i,a,u,d){var p=i.x,v=i.y,b=p-d.x,y=v-d.y,E=Math.sqrt(a*a*y*y+u*u*b*b),_=Math.abs(a*u*b/E);d.x<p&&(_=-_);var A=Math.abs(a*u*y/E);return d.y<v&&(A=-A),{x:p+_,y:v+A}}function IQt(i,a,u){return eVe(i,a,a,u)}function OQt(i,a,u,d){var p,v,b,y,E,_,A,P,R,B,j,W,ee,ie,oe;if(p=a.y-i.y,b=i.x-a.x,E=a.x*i.y-i.x*a.y,R=p*u.x+b*u.y+E,B=p*d.x+b*d.y+E,!(R!==0&&B!==0&&tVe(R,B))&&(v=d.y-u.y,y=u.x-d.x,_=d.x*u.y-u.x*d.y,A=v*i.x+y*i.y+_,P=v*a.x+y*a.y+_,!(A!==0&&P!==0&&tVe(A,P))&&(j=p*y-v*b,j!==0)))return W=Math.abs(j/2),ee=b*_-y*E,ie=ee<0?(ee-W)/j:(ee+W)/j,ee=v*E-p*_,oe=ee<0?(ee-W)/j:(ee+W)/j,{x:ie,y:oe}}function tVe(i,a){return i*a>0}function n5(i,a,u){var d=i.x,p=i.y,v=[],b=Number.POSITIVE_INFINITY,y=Number.POSITIVE_INFINITY;a.forEach(function(j){b=Math.min(b,j.x),y=Math.min(y,j.y)});for(var E=d-i.width/2-b,_=p-i.height/2-y,A=0;A<a.length;A++){var P=a[A],R=a[A<a.length-1?A+1:0],B=OQt(i,u,{x:E+P.x,y:_+P.y},{x:E+R.x,y:_+R.y});B&&v.push(B)}return v.length?(v.length>1&&v.sort(function(j,W){var ee=j.x-u.x,ie=j.y-u.y,oe=Math.sqrt(ee*ee+ie*ie),be=W.x-u.x,ge=W.y-u.y,ae=Math.sqrt(be*be+ge*ge);return oe<ae?-1:oe===ae?0:1}),v[0]):(console.log("NO INTERSECTION FOUND, RETURN NODE CENTER",i),i)}function qme(i,a){var u=i.x,d=i.y,p=a.x-u,v=a.y-d,b=i.width/2,y=i.height/2,E,_;return Math.abs(v)*b>Math.abs(p)*y?(v<0&&(y=-y),E=v===0?0:y*p/v,_=y):(p<0&&(b=-b),E=b,_=p===0?0:b*v/p),{x:u+E,y:d+_}}var Hme={rect:PQt,ellipse:BQt,circle:FQt,diamond:RQt};function NQt(i){Hme=i}function PQt(i,a,u){var d=i.insert("rect",":first-child").attr("rx",u.rx).attr("ry",u.ry).attr("x",-a.width/2).attr("y",-a.height/2).attr("width",a.width).attr("height",a.height);return u.intersect=function(p){return qme(u,p)},d}function BQt(i,a,u){var d=a.width/2,p=a.height/2,v=i.insert("ellipse",":first-child").attr("x",-a.width/2).attr("y",-a.height/2).attr("rx",d).attr("ry",p);return u.intersect=function(b){return eVe(u,d,p,b)},v}function FQt(i,a,u){var d=Math.max(a.width,a.height)/2,p=i.insert("circle",":first-child").attr("x",-a.width/2).attr("y",-a.height/2).attr("r",d);return u.intersect=function(v){return IQt(u,d,v)},p}function RQt(i,a,u){var d=a.width*Math.SQRT2/2,p=a.height*Math.SQRT2/2,v=[{x:0,y:-p},{x:-d,y:0},{x:0,y:p},{x:d,y:0}],b=i.insert("polygon",":first-child").attr("points",v.map(function(y){return y.x+","+y.y}).join(" "));return u.intersect=function(y){return n5(u,v,y)},b}function jQt(){var i=function(a,u){qQt(u);var d=PR(a,"output"),p=PR(d,"clusters"),v=PR(d,"edgePaths"),b=jme(PR(d,"edgeLabels"),u),y=zme(PR(d,"nodes"),u,Hme);XD(u),DQt(y,u),MQt(b,u),$me(v,u,Pme);var E=Rme(p,u);LQt(E,u),HQt(u)};return i.createNodes=function(a){return arguments.length?(AQt(a),i):zme},i.createClusters=function(a){return arguments.length?(yQt(a),i):Rme},i.createEdgeLabels=function(a){return arguments.length?(xQt(a),i):jme},i.createEdgePaths=function(a){return arguments.length?(kQt(a),i):$me},i.shapes=function(a){return arguments.length?(NQt(a),i):Hme},i.arrows=function(a){return arguments.length?(dQt(a),i):Pme},i}var $Qt={paddingLeft:10,paddingRight:10,paddingTop:10,paddingBottom:10,rx:0,ry:0,shape:"rect"},zQt={arrowhead:"normal",curve:Sp};function qQt(i){i.nodes().forEach(a=>{const u=i.node(a);!Object.prototype.hasOwnProperty.call(u,"label")&&!i.children(a).length&&(u.label=a),Object.prototype.hasOwnProperty.call(u,"paddingX")&&WD(u,{paddingLeft:u.paddingX,paddingRight:u.paddingX}),Object.prototype.hasOwnProperty.call(u,"paddingY")&&WD(u,{paddingTop:u.paddingY,paddingBottom:u.paddingY}),Object.prototype.hasOwnProperty.call(u,"padding")&&WD(u,{paddingLeft:u.padding,paddingRight:u.padding,paddingTop:u.padding,paddingBottom:u.padding}),WD(u,$Qt),["paddingLeft","paddingRight","paddingTop","paddingBottom"].forEach(d=>{u[d]=Number(u[d])}),Object.prototype.hasOwnProperty.call(u,"width")&&(u._prevWidth=u.width),Object.prototype.hasOwnProperty.call(u,"height")&&(u._prevHeight=u.height)}),i.edges().forEach(function(a){var u=i.edge(a);Object.prototype.hasOwnProperty.call(u,"label")||(u.label=""),WD(u,zQt)})}function HQt(i){i.nodes().forEach(a=>{var u=i.node(a);Object.prototype.hasOwnProperty.call(u,"_prevWidth")?u.width=u._prevWidth:delete u.width,Object.prototype.hasOwnProperty.call(u,"_prevHeight")?u.height=u._prevHeight:delete u.height,delete u._prevWidth,delete u._prevHeight})}function PR(i,a){var u=i.select("g."+a);return u.empty()&&(u=i.append("g").attr("class",a)),u}function nVe(i,a,u){const d=a.width,p=a.height,v=(d+p)*.9,b=[{x:v/2,y:0},{x:v,y:-v/2},{x:v/2,y:-v},{x:0,y:-v/2}],y=q7(i,v,v,b);return u.intersect=function(E){return n5(u,b,E)},y}function rVe(i,a,u){const p=a.height,v=p/4,b=a.width+2*v,y=[{x:v,y:0},{x:b-v,y:0},{x:b,y:-p/2},{x:b-v,y:-p},{x:v,y:-p},{x:0,y:-p/2}],E=q7(i,b,p,y);return u.intersect=function(_){return n5(u,y,_)},E}function iVe(i,a,u){const d=a.width,p=a.height,v=[{x:-p/2,y:0},{x:d,y:0},{x:d,y:-p},{x:-p/2,y:-p},{x:0,y:-p/2}],b=q7(i,d,p,v);return u.intersect=function(y){return n5(u,v,y)},b}function sVe(i,a,u){const d=a.width,p=a.height,v=[{x:-2*p/6,y:0},{x:d-p/6,y:0},{x:d+2*p/6,y:-p},{x:p/6,y:-p}],b=q7(i,d,p,v);return u.intersect=function(y){return n5(u,v,y)},b}function aVe(i,a,u){const d=a.width,p=a.height,v=[{x:2*p/6,y:0},{x:d+p/6,y:0},{x:d-2*p/6,y:-p},{x:-p/6,y:-p}],b=q7(i,d,p,v);return u.intersect=function(y){return n5(u,v,y)},b}function oVe(i,a,u){const d=a.width,p=a.height,v=[{x:-2*p/6,y:0},{x:d+2*p/6,y:0},{x:d-p/6,y:-p},{x:p/6,y:-p}],b=q7(i,d,p,v);return u.intersect=function(y){return n5(u,v,y)},b}function cVe(i,a,u){const d=a.width,p=a.height,v=[{x:p/6,y:0},{x:d-p/6,y:0},{x:d+2*p/6,y:-p},{x:-2*p/6,y:-p}],b=q7(i,d,p,v);return u.intersect=function(y){return n5(u,v,y)},b}function uVe(i,a,u){const d=a.width,p=a.height,v=[{x:0,y:0},{x:d+p/2,y:0},{x:d,y:-p/2},{x:d+p/2,y:-p},{x:0,y:-p}],b=q7(i,d,p,v);return u.intersect=function(y){return n5(u,v,y)},b}function lVe(i,a,u){const d=a.height,p=a.width+d/4,v=i.insert("rect",":first-child").attr("rx",d/2).attr("ry",d/2).attr("x",-p/2).attr("y",-d/2).attr("width",p).attr("height",d);return u.intersect=function(b){return qme(u,b)},v}function hVe(i,a,u){const d=a.width,p=a.height,v=[{x:0,y:0},{x:d,y:0},{x:d,y:-p},{x:0,y:-p},{x:0,y:0},{x:-8,y:0},{x:d+8,y:0},{x:d+8,y:-p},{x:-8,y:-p},{x:-8,y:0}],b=q7(i,d,p,v);return u.intersect=function(y){return n5(u,v,y)},b}function fVe(i,a,u){const d=a.width,p=d/2,v=p/(2.5+d/50),b=a.height+v,y="M 0,"+v+" a "+p+","+v+" 0,0,0 "+d+" 0 a "+p+","+v+" 0,0,0 "+-d+" 0 l 0,"+b+" a "+p+","+v+" 0,0,0 "+d+" 0 l 0,"+-b,E=i.attr("label-offset-y",v).insert("path",":first-child").attr("d",y).attr("transform","translate("+-d/2+","+-(b/2+v)+")");return u.intersect=function(_){const A=qme(u,_),P=A.x-u.x;if(p!=0&&(Math.abs(P)<u.width/2||Math.abs(P)==u.width/2&&Math.abs(A.y-u.y)>u.height/2-v)){let R=v*v*(1-P*P/(p*p));R!=0&&(R=Math.sqrt(R)),R=v-R,_.y-u.y>0&&(R=-R),A.y+=R}return A},E}function UQt(i){i.shapes().question=nVe,i.shapes().hexagon=rVe,i.shapes().stadium=lVe,i.shapes().subroutine=hVe,i.shapes().cylinder=fVe,i.shapes().rect_left_inv_arrow=iVe,i.shapes().lean_right=sVe,i.shapes().lean_left=aVe,i.shapes().trapezoid=oVe,i.shapes().inv_trapezoid=cVe,i.shapes().rect_right_inv_arrow=uVe}function VQt(i){i({question:nVe}),i({hexagon:rVe}),i({stadium:lVe}),i({subroutine:hVe}),i({cylinder:fVe}),i({rect_left_inv_arrow:iVe}),i({lean_right:sVe}),i({lean_left:aVe}),i({trapezoid:oVe}),i({inv_trapezoid:cVe}),i({rect_right_inv_arrow:uVe})}function q7(i,a,u,d){return i.insert("polygon",":first-child").attr("points",d.map(function(p){return p.x+","+p.y}).join(" ")).attr("transform","translate("+-a/2+","+u/2+")")}const GQt={addToRender:UQt,addToRenderV2:VQt},dVe={},KQt=function(i){const a=Object.keys(i);for(const u of a)dVe[u]=i[u]},gVe=async function(i,a,u,d,p,v){const b=d?d.select(`[id="${u}"]`):Dr(`[id="${u}"]`),y=p||document,E=Object.keys(i);for(const _ of E){const A=i[_];let P="default";A.classes.length>0&&(P=A.classes.join(" "));const R=gm(A.styles);let B=A.text!==void 0?A.text:A.id,j;if(h1(qt().flowchart.htmlLabels)){const ie={label:await SC(B.replace(/fa[blrs]?:fa-[\w-]+/g,oe=>`<i class='${oe.replace(":"," ")}'></i>`),qt())};j=Bme(b,ie).node(),j.parentNode.removeChild(j)}else{const ie=y.createElementNS("http://www.w3.org/2000/svg","text");ie.setAttribute("style",R.labelStyle.replace("color:","fill:"));const oe=B.split(oi.lineBreakRegex);for(const be of oe){const ge=y.createElementNS("http://www.w3.org/2000/svg","tspan");ge.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),ge.setAttribute("dy","1em"),ge.setAttribute("x","1"),ge.textContent=be,ie.appendChild(ge)}j=ie}let W=0,ee="";switch(A.type){case"round":W=5,ee="rect";break;case"square":ee="rect";break;case"diamond":ee="question";break;case"hexagon":ee="hexagon";break;case"odd":ee="rect_left_inv_arrow";break;case"lean_right":ee="lean_right";break;case"lean_left":ee="lean_left";break;case"trapezoid":ee="trapezoid";break;case"inv_trapezoid":ee="inv_trapezoid";break;case"odd_right":ee="rect_left_inv_arrow";break;case"circle":ee="circle";break;case"ellipse":ee="ellipse";break;case"stadium":ee="stadium";break;case"subroutine":ee="subroutine";break;case"cylinder":ee="cylinder";break;case"group":ee="rect";break;default:ee="rect"}Xe.warn("Adding node",A.id,A.domId),a.setNode(v.db.lookUpDomId(A.id),{labelType:"svg",labelStyle:R.labelStyle,shape:ee,label:j,rx:W,ry:W,class:P,style:R.style,id:v.db.lookUpDomId(A.id)})}},pVe=async function(i,a,u){let d=0,p,v;if(i.defaultStyle!==void 0){const b=gm(i.defaultStyle);p=b.style,v=b.labelStyle}for(const b of i){d++;const y="L-"+b.start+"-"+b.end,E="LS-"+b.start,_="LE-"+b.end,A={};b.type==="arrow_open"?A.arrowhead="none":A.arrowhead="normal";let P="",R="";if(b.style!==void 0){const B=gm(b.style);P=B.style,R=B.labelStyle}else switch(b.stroke){case"normal":P="fill:none",p!==void 0&&(P=p),v!==void 0&&(R=v);break;case"dotted":P="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":P=" stroke-width: 3.5px;fill:none";break}A.style=P,A.labelStyle=R,b.interpolate!==void 0?A.curve=qv(b.interpolate,Sp):i.defaultInterpolate!==void 0?A.curve=qv(i.defaultInterpolate,Sp):A.curve=qv(dVe.curve,Sp),b.text===void 0?b.style!==void 0&&(A.arrowheadStyle="fill: #333"):(A.arrowheadStyle="fill: #333",A.labelpos="c",h1(qt().flowchart.htmlLabels)?(A.labelType="html",A.label=`<span id="L-${y}" class="edgeLabel L-${E}' L-${_}" style="${A.labelStyle}">${await SC(b.text.replace(/fa[blrs]?:fa-[\w-]+/g,B=>`<i class='${B.replace(":"," ")}'></i>`),qt())}</span>`):(A.labelType="text",A.label=b.text.replace(oi.lineBreakRegex,`
`),b.style===void 0&&(A.style=A.style||"stroke: #333; stroke-width: 1.5px;fill:none"),A.labelStyle=A.labelStyle.replace("color:","fill:"))),A.id=y,A.class=E+" "+_,A.minlen=b.length||1,a.setEdge(u.db.lookUpDomId(b.start),u.db.lookUpDomId(b.end),A,d)}},WQt={setConf:KQt,addVertices:gVe,addEdges:pVe,getClasses:function(i,a){return Xe.info("Extracting classes"),a.db.getClasses()},draw:async function(i,a,u,d){Xe.info("Drawing flowchart");const{securityLevel:p,flowchart:v}=qt();let b;p==="sandbox"&&(b=Dr("#i"+a));const y=Dr(p==="sandbox"?b.nodes()[0].contentDocument.body:"body"),E=p==="sandbox"?b.nodes()[0].contentDocument:document;let _=d.db.getDirection();_===void 0&&(_="TD");const A=v.nodeSpacing||50,P=v.rankSpacing||50,R=new R0({multigraph:!0,compound:!0}).setGraph({rankdir:_,nodesep:A,ranksep:P,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});let B;const j=d.db.getSubGraphs();for(let ne=j.length-1;ne>=0;ne--)B=j[ne],d.db.addVertex(B.id,B.title,"group",void 0,B.classes);const W=d.db.getVertices();Xe.warn("Get vertices",W);const ee=d.db.getEdges();let ie=0;for(ie=j.length-1;ie>=0;ie--){B=j[ie],VBe("cluster").append("text");for(let ne=0;ne<B.nodes.length;ne++)Xe.warn("Setting subgraph",B.nodes[ne],d.db.lookUpDomId(B.nodes[ne]),d.db.lookUpDomId(B.id)),R.setParent(d.db.lookUpDomId(B.nodes[ne]),d.db.lookUpDomId(B.id))}await gVe(W,R,a,y,E,d),await pVe(ee,R,d);const oe=new jQt;GQt.addToRender(oe),oe.arrows().none=function(se,de,X,pe){const xe=se.append("marker").attr("id",de).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 0 0 L 0 0 z");t5(xe,X[pe+"Style"])},oe.arrows().normal=function(se,de){se.append("marker").attr("id",de).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowheadPath").style("stroke-width",1).style("stroke-dasharray","1,0")};const be=y.select(`[id="${a}"]`),ge=y.select("#"+a+" g");for(oe(ge,R),ge.selectAll("g.node").attr("title",function(){return d.db.getTooltip(this.id)}),d.db.indexNodes("subGraph"+ie),ie=0;ie<j.length;ie++)if(B=j[ie],B.title!=="undefined"){const ne=E.querySelectorAll("#"+a+' [id="'+d.db.lookUpDomId(B.id)+'"] rect'),se=E.querySelectorAll("#"+a+' [id="'+d.db.lookUpDomId(B.id)+'"]'),de=ne[0].x.baseVal.value,X=ne[0].y.baseVal.value,pe=ne[0].width.baseVal.value,xe=Dr(se[0]).select(".label");xe.attr("transform",`translate(${de+pe/2}, ${X+14})`),xe.attr("id",a+"Text");for(let U=0;U<B.classes.length;U++)se[0].classList.add(B.classes[U])}if(!v.htmlLabels){const ne=E.querySelectorAll('[id="'+a+'"] .edgeLabel .label');for(const se of ne){const de=se.getBBox(),X=E.createElementNS("http://www.w3.org/2000/svg","rect");X.setAttribute("rx",0),X.setAttribute("ry",0),X.setAttribute("width",de.width),X.setAttribute("height",de.height),se.insertBefore(X,se.firstChild)}}x9(R,be,v.diagramPadding,v.useMaxWidth),Object.keys(W).forEach(function(ne){const se=W[ne];if(se.link){const de=y.select("#"+a+' [id="'+d.db.lookUpDomId(ne)+'"]');if(de){const X=E.createElementNS("http://www.w3.org/2000/svg","a");X.setAttributeNS("http://www.w3.org/2000/svg","class",se.classes.join(" ")),X.setAttributeNS("http://www.w3.org/2000/svg","href",se.link),X.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),p==="sandbox"?X.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):se.linkTarget&&X.setAttributeNS("http://www.w3.org/2000/svg","target",se.linkTarget);const pe=de.insert(function(){return X},":first-child"),G=de.select(".label-container");G&&pe.append(function(){return G.node()});const xe=de.select(".label");xe&&pe.append(function(){return xe.node()})}}})}};function H7(i){var a={options:{directed:i.isDirected(),multigraph:i.isMultigraph(),compound:i.isCompound()},nodes:YQt(i),edges:XQt(i)};return Yf(i.graph())||(a.value=aUe(i.graph())),a}function YQt(i){return F0(i.nodes(),function(a){var u=i.node(a),d=i.parent(a),p={v:a};return Yf(u)||(p.value=u),Yf(d)||(p.parent=d),p})}function XQt(i){return F0(i.edges(),function(a){var u=i.edge(a),d={v:a.v,w:a.w};return Yf(a.name)||(d.name=a.name),Yf(u)||(d.value=u),d})}const QQt=(i,a,u,d)=>{a.forEach(p=>{JQt[p](i,u,d)})},JQt={extension:(i,a,u)=>{Xe.trace("Making markers for ",u),i.append("defs").append("marker").attr("id",u+"_"+a+"-extensionStart").attr("class","marker extension "+a).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"),i.append("defs").append("marker").attr("id",u+"_"+a+"-extensionEnd").attr("class","marker extension "+a).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:(i,a,u)=>{i.append("defs").append("marker").attr("id",u+"_"+a+"-compositionStart").attr("class","marker composition "+a).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"),i.append("defs").append("marker").attr("id",u+"_"+a+"-compositionEnd").attr("class","marker composition "+a).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:(i,a,u)=>{i.append("defs").append("marker").attr("id",u+"_"+a+"-aggregationStart").attr("class","marker aggregation "+a).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"),i.append("defs").append("marker").attr("id",u+"_"+a+"-aggregationEnd").attr("class","marker aggregation "+a).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:(i,a,u)=>{i.append("defs").append("marker").attr("id",u+"_"+a+"-dependencyStart").attr("class","marker dependency "+a).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"),i.append("defs").append("marker").attr("id",u+"_"+a+"-dependencyEnd").attr("class","marker dependency "+a).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:(i,a,u)=>{i.append("defs").append("marker").attr("id",u+"_"+a+"-lollipopStart").attr("class","marker lollipop "+a).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),i.append("defs").append("marker").attr("id",u+"_"+a+"-lollipopEnd").attr("class","marker lollipop "+a).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:(i,a,u)=>{i.append("marker").attr("id",u+"_"+a+"-pointEnd").attr("class","marker "+a).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"),i.append("marker").attr("id",u+"_"+a+"-pointStart").attr("class","marker "+a).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:(i,a,u)=>{i.append("marker").attr("id",u+"_"+a+"-circleEnd").attr("class","marker "+a).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"),i.append("marker").attr("id",u+"_"+a+"-circleStart").attr("class","marker "+a).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:(i,a,u)=>{i.append("marker").attr("id",u+"_"+a+"-crossEnd").attr("class","marker cross "+a).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"),i.append("marker").attr("id",u+"_"+a+"-crossStart").attr("class","marker cross "+a).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:(i,a,u)=>{i.append("defs").append("marker").attr("id",u+"_"+a+"-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")}},Ume=QQt;function ZQt(i,a){a&&i.attr("style",a)}function eJt(i,a){const u=Dr(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),d=u.append("xhtml:div"),p=i.label,v=i.isNode?"nodeLabel":"edgeLabel";return d.html(bh('<span class="'+v+'" '+(i.labelStyle?'style="'+i.labelStyle+'"':"")+">"+p+"</span>",a)),ZQt(d,i.labelStyle),d.style("display","inline-block"),d.style("white-space","nowrap"),d.attr("xmlns","http://www.w3.org/1999/xhtml"),u.node()}const Y2=(i,a,u,d)=>{let p=i||"";typeof p=="object"&&(p=p[0]);const v=qt();if(h1(v.flowchart.htmlLabels)){p=p.replace(/\\n|\n/g,"<br />"),Xe.debug("vertexText"+p);const b={isNode:d,label:uR(p).replace(/fa[blrs]?:fa-[\w-]+/g,E=>`<i class='${E.replace(":"," ")}'></i>`),labelStyle:a.replace("fill:","color:")};return eJt(b,v)}else{const b=document.createElementNS("http://www.w3.org/2000/svg","text");b.setAttribute("style",a.replace("color:","fill:"));let y=[];typeof p=="string"?y=p.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(p)?y=p:y=[];for(const E of y){const _=document.createElementNS("http://www.w3.org/2000/svg","tspan");_.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),_.setAttribute("dy","1em"),_.setAttribute("x","0"),u?_.setAttribute("class","title-row"):_.setAttribute("class","row"),_.textContent=E.trim(),b.appendChild(_)}return b}},tJt={};function nJt(i,a){const u=a||tJt,d=typeof u.includeImageAlt=="boolean"?u.includeImageAlt:!0,p=typeof u.includeHtml=="boolean"?u.includeHtml:!0;return bVe(i,d,p)}function bVe(i,a,u){if(rJt(i)){if("value"in i)return i.type==="html"&&!u?"":i.value;if(a&&"alt"in i&&i.alt)return i.alt;if("children"in i)return mVe(i.children,a,u)}return Array.isArray(i)?mVe(i,a,u):""}function mVe(i,a,u){const d=[];let p=-1;for(;++p<i.length;)d[p]=bVe(i[p],a,u);return d.join("")}function rJt(i){return!!(i&&typeof i=="object")}function r5(i,a,u,d){const p=i.length;let v=0,b;if(a<0?a=-a>p?0:p+a:a=a>p?p:a,u=u>0?u:0,d.length<1e4)b=Array.from(d),b.unshift(a,u),i.splice(...b);else for(u&&i.splice(a,u);v<d.length;)b=d.slice(v,v+1e4),b.unshift(a,0),i.splice(...b),v+=1e4,a+=1e4}function Wv(i,a){return i.length>0?(r5(i,i.length,0,a),i):a}const vVe={}.hasOwnProperty;function iJt(i){const a={};let u=-1;for(;++u<i.length;)sJt(a,i[u]);return a}function sJt(i,a){let u;for(u in a){const p=(vVe.call(i,u)?i[u]:void 0)||(i[u]={}),v=a[u];let b;if(v)for(b in v){vVe.call(p,b)||(p[b]=[]);const y=v[b];aJt(p[b],Array.isArray(y)?y:y?[y]:[])}}}function aJt(i,a){let u=-1;const d=[];for(;++u<a.length;)(a[u].add==="after"?i:d).push(a[u]);r5(i,0,0,d)}const oJt=/[!-\/:-@\[-`\{-~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/,i5=P9(/[A-Za-z]/),K3=P9(/[\dA-Za-z]/),cJt=P9(/[#-'*+\--9=?A-Z^-~]/);function Vme(i){return i!==null&&(i<32||i===127)}const Gme=P9(/\d/),uJt=P9(/[\dA-Fa-f]/),lJt=P9(/[!-/:-@[-`{-~]/);function ro(i){return i!==null&&i<-2}function X2(i){return i!==null&&(i<0||i===32)}function Iu(i){return i===-2||i===-1||i===32}const hJt=P9(oJt),fJt=P9(/\s/);function P9(i){return a;function a(u){return u!==null&&i.test(String.fromCharCode(u))}}function Hl(i,a,u,d){const p=d?d-1:Number.POSITIVE_INFINITY;let v=0;return b;function b(E){return Iu(E)?(i.enter(u),y(E)):a(E)}function y(E){return Iu(E)&&v++<p?(i.consume(E),y):(i.exit(u),a(E))}}const dJt={tokenize:gJt};function gJt(i){const a=i.attempt(this.parser.constructs.contentInitial,d,p);let u;return a;function d(y){if(y===null){i.consume(y);return}return i.enter("lineEnding"),i.consume(y),i.exit("lineEnding"),Hl(i,a,"linePrefix")}function p(y){return i.enter("paragraph"),v(y)}function v(y){const E=i.enter("chunkText",{contentType:"text",previous:u});return u&&(u.next=E),u=E,b(y)}function b(y){if(y===null){i.exit("chunkText"),i.exit("paragraph"),i.consume(y);return}return ro(y)?(i.consume(y),i.exit("chunkText"),v):(i.consume(y),b)}}const pJt={tokenize:bJt},wVe={tokenize:mJt};function bJt(i){const a=this,u=[];let d=0,p,v,b;return y;function y(be){if(d<u.length){const ge=u[d];return a.containerState=ge[1],i.attempt(ge[0].continuation,E,_)(be)}return _(be)}function E(be){if(d++,a.containerState._closeFlow){a.containerState._closeFlow=void 0,p&&oe();const ge=a.events.length;let ae=ge,ne;for(;ae--;)if(a.events[ae][0]==="exit"&&a.events[ae][1].type==="chunkFlow"){ne=a.events[ae][1].end;break}ie(d);let se=ge;for(;se<a.events.length;)a.events[se][1].end=Object.assign({},ne),se++;return r5(a.events,ae+1,0,a.events.slice(ge)),a.events.length=se,_(be)}return y(be)}function _(be){if(d===u.length){if(!p)return R(be);if(p.currentConstruct&&p.currentConstruct.concrete)return j(be);a.interrupt=!!(p.currentConstruct&&!p._gfmTableDynamicInterruptHack)}return a.containerState={},i.check(wVe,A,P)(be)}function A(be){return p&&oe(),ie(d),R(be)}function P(be){return a.parser.lazy[a.now().line]=d!==u.length,b=a.now().offset,j(be)}function R(be){return a.containerState={},i.attempt(wVe,B,j)(be)}function B(be){return d++,u.push([a.currentConstruct,a.containerState]),R(be)}function j(be){if(be===null){p&&oe(),ie(0),i.consume(be);return}return p=p||a.parser.flow(a.now()),i.enter("chunkFlow",{contentType:"flow",previous:v,_tokenizer:p}),W(be)}function W(be){if(be===null){ee(i.exit("chunkFlow"),!0),ie(0),i.consume(be);return}return ro(be)?(i.consume(be),ee(i.exit("chunkFlow")),d=0,a.interrupt=void 0,y):(i.consume(be),W)}function ee(be,ge){const ae=a.sliceStream(be);if(ge&&ae.push(null),be.previous=v,v&&(v.next=be),v=be,p.defineSkip(be.start),p.write(ae),a.parser.lazy[be.start.line]){let ne=p.events.length;for(;ne--;)if(p.events[ne][1].start.offset<b&&(!p.events[ne][1].end||p.events[ne][1].end.offset>b))return;const se=a.events.length;let de=se,X,pe;for(;de--;)if(a.events[de][0]==="exit"&&a.events[de][1].type==="chunkFlow"){if(X){pe=a.events[de][1].end;break}X=!0}for(ie(d),ne=se;ne<a.events.length;)a.events[ne][1].end=Object.assign({},pe),ne++;r5(a.events,de+1,0,a.events.slice(se)),a.events.length=ne}}function ie(be){let ge=u.length;for(;ge-- >be;){const ae=u[ge];a.containerState=ae[1],ae[0].exit.call(a,i)}u.length=be}function oe(){p.write([null]),v=void 0,p=void 0,a.containerState._closeFlow=void 0}}function mJt(i,a,u){return Hl(i,i.attempt(this.parser.constructs.document,a,u),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function yVe(i){if(i===null||X2(i)||fJt(i))return 1;if(hJt(i))return 2}function Kme(i,a,u){const d=[];let p=-1;for(;++p<i.length;){const v=i[p].resolveAll;v&&!d.includes(v)&&(a=v(a,u),d.push(v))}return a}const Wme={name:"attention",tokenize:wJt,resolveAll:vJt};function vJt(i,a){let u=-1,d,p,v,b,y,E,_,A;for(;++u<i.length;)if(i[u][0]==="enter"&&i[u][1].type==="attentionSequence"&&i[u][1]._close){for(d=u;d--;)if(i[d][0]==="exit"&&i[d][1].type==="attentionSequence"&&i[d][1]._open&&a.sliceSerialize(i[d][1]).charCodeAt(0)===a.sliceSerialize(i[u][1]).charCodeAt(0)){if((i[d][1]._close||i[u][1]._open)&&(i[u][1].end.offset-i[u][1].start.offset)%3&&!((i[d][1].end.offset-i[d][1].start.offset+i[u][1].end.offset-i[u][1].start.offset)%3))continue;E=i[d][1].end.offset-i[d][1].start.offset>1&&i[u][1].end.offset-i[u][1].start.offset>1?2:1;const P=Object.assign({},i[d][1].end),R=Object.assign({},i[u][1].start);xVe(P,-E),xVe(R,E),b={type:E>1?"strongSequence":"emphasisSequence",start:P,end:Object.assign({},i[d][1].end)},y={type:E>1?"strongSequence":"emphasisSequence",start:Object.assign({},i[u][1].start),end:R},v={type:E>1?"strongText":"emphasisText",start:Object.assign({},i[d][1].end),end:Object.assign({},i[u][1].start)},p={type:E>1?"strong":"emphasis",start:Object.assign({},b.start),end:Object.assign({},y.end)},i[d][1].end=Object.assign({},b.start),i[u][1].start=Object.assign({},y.end),_=[],i[d][1].end.offset-i[d][1].start.offset&&(_=Wv(_,[["enter",i[d][1],a],["exit",i[d][1],a]])),_=Wv(_,[["enter",p,a],["enter",b,a],["exit",b,a],["enter",v,a]]),_=Wv(_,Kme(a.parser.constructs.insideSpan.null,i.slice(d+1,u),a)),_=Wv(_,[["exit",v,a],["enter",y,a],["exit",y,a],["exit",p,a]]),i[u][1].end.offset-i[u][1].start.offset?(A=2,_=Wv(_,[["enter",i[u][1],a],["exit",i[u][1],a]])):A=0,r5(i,d-1,u-d+3,_),u=d+_.length-A-2;break}}for(u=-1;++u<i.length;)i[u][1].type==="attentionSequence"&&(i[u][1].type="data");return i}function wJt(i,a){const u=this.parser.constructs.attentionMarkers.null,d=this.previous,p=yVe(d);let v;return b;function b(E){return v=E,i.enter("attentionSequence"),y(E)}function y(E){if(E===v)return i.consume(E),y;const _=i.exit("attentionSequence"),A=yVe(E),P=!A||A===2&&p||u.includes(E),R=!p||p===2&&A||u.includes(d);return _._open=!!(v===42?P:P&&(p||!R)),_._close=!!(v===42?R:R&&(A||!P)),a(E)}}function xVe(i,a){i.column+=a,i.offset+=a,i._bufferIndex+=a}const yJt={name:"autolink",tokenize:xJt};function xJt(i,a,u){let d=0;return p;function p(B){return i.enter("autolink"),i.enter("autolinkMarker"),i.consume(B),i.exit("autolinkMarker"),i.enter("autolinkProtocol"),v}function v(B){return i5(B)?(i.consume(B),b):_(B)}function b(B){return B===43||B===45||B===46||K3(B)?(d=1,y(B)):_(B)}function y(B){return B===58?(i.consume(B),d=0,E):(B===43||B===45||B===46||K3(B))&&d++<32?(i.consume(B),y):(d=0,_(B))}function E(B){return B===62?(i.exit("autolinkProtocol"),i.enter("autolinkMarker"),i.consume(B),i.exit("autolinkMarker"),i.exit("autolink"),a):B===null||B===32||B===60||Vme(B)?u(B):(i.consume(B),E)}function _(B){return B===64?(i.consume(B),A):cJt(B)?(i.consume(B),_):u(B)}function A(B){return K3(B)?P(B):u(B)}function P(B){return B===46?(i.consume(B),d=0,A):B===62?(i.exit("autolinkProtocol").type="autolinkEmail",i.enter("autolinkMarker"),i.consume(B),i.exit("autolinkMarker"),i.exit("autolink"),a):R(B)}function R(B){if((B===45||K3(B))&&d++<63){const j=B===45?R:P;return i.consume(B),j}return u(B)}}const uJ={tokenize:kJt,partial:!0};function kJt(i,a,u){return d;function d(v){return Iu(v)?Hl(i,p,"linePrefix")(v):p(v)}function p(v){return v===null||ro(v)?a(v):u(v)}}const kVe={name:"blockQuote",tokenize:TJt,continuation:{tokenize:EJt},exit:CJt};function TJt(i,a,u){const d=this;return p;function p(b){if(b===62){const y=d.containerState;return y.open||(i.enter("blockQuote",{_container:!0}),y.open=!0),i.enter("blockQuotePrefix"),i.enter("blockQuoteMarker"),i.consume(b),i.exit("blockQuoteMarker"),v}return u(b)}function v(b){return Iu(b)?(i.enter("blockQuotePrefixWhitespace"),i.consume(b),i.exit("blockQuotePrefixWhitespace"),i.exit("blockQuotePrefix"),a):(i.exit("blockQuotePrefix"),a(b))}}function EJt(i,a,u){const d=this;return p;function p(b){return Iu(b)?Hl(i,v,"linePrefix",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(b):v(b)}function v(b){return i.attempt(kVe,a,u)(b)}}function CJt(i){i.exit("blockQuote")}const TVe={name:"characterEscape",tokenize:SJt};function SJt(i,a,u){return d;function d(v){return i.enter("characterEscape"),i.enter("escapeMarker"),i.consume(v),i.exit("escapeMarker"),p}function p(v){return lJt(v)?(i.enter("characterEscapeValue"),i.consume(v),i.exit("characterEscapeValue"),i.exit("characterEscape"),a):u(v)}}const EVe=document.createElement("i");function Yme(i){const a="&"+i+";";EVe.innerHTML=a;const u=EVe.textContent;return u.charCodeAt(u.length-1)===59&&i!=="semi"||u===a?!1:u}const CVe={name:"characterReference",tokenize:_Jt};function _Jt(i,a,u){const d=this;let p=0,v,b;return y;function y(P){return i.enter("characterReference"),i.enter("characterReferenceMarker"),i.consume(P),i.exit("characterReferenceMarker"),E}function E(P){return P===35?(i.enter("characterReferenceMarkerNumeric"),i.consume(P),i.exit("characterReferenceMarkerNumeric"),_):(i.enter("characterReferenceValue"),v=31,b=K3,A(P))}function _(P){return P===88||P===120?(i.enter("characterReferenceMarkerHexadecimal"),i.consume(P),i.exit("characterReferenceMarkerHexadecimal"),i.enter("characterReferenceValue"),v=6,b=uJt,A):(i.enter("characterReferenceValue"),v=7,b=Gme,A(P))}function A(P){if(P===59&&p){const R=i.exit("characterReferenceValue");return b===K3&&!Yme(d.sliceSerialize(R))?u(P):(i.enter("characterReferenceMarker"),i.consume(P),i.exit("characterReferenceMarker"),i.exit("characterReference"),a)}return b(P)&&p++<v?(i.consume(P),A):u(P)}}const SVe={tokenize:LJt,partial:!0},_Ve={name:"codeFenced",tokenize:AJt,concrete:!0};function AJt(i,a,u){const d=this,p={tokenize:ae,partial:!0};let v=0,b=0,y;return E;function E(ne){return _(ne)}function _(ne){const se=d.events[d.events.length-1];return v=se&&se[1].type==="linePrefix"?se[2].sliceSerialize(se[1],!0).length:0,y=ne,i.enter("codeFenced"),i.enter("codeFencedFence"),i.enter("codeFencedFenceSequence"),A(ne)}function A(ne){return ne===y?(b++,i.consume(ne),A):b<3?u(ne):(i.exit("codeFencedFenceSequence"),Iu(ne)?Hl(i,P,"whitespace")(ne):P(ne))}function P(ne){return ne===null||ro(ne)?(i.exit("codeFencedFence"),d.interrupt?a(ne):i.check(SVe,W,ge)(ne)):(i.enter("codeFencedFenceInfo"),i.enter("chunkString",{contentType:"string"}),R(ne))}function R(ne){return ne===null||ro(ne)?(i.exit("chunkString"),i.exit("codeFencedFenceInfo"),P(ne)):Iu(ne)?(i.exit("chunkString"),i.exit("codeFencedFenceInfo"),Hl(i,B,"whitespace")(ne)):ne===96&&ne===y?u(ne):(i.consume(ne),R)}function B(ne){return ne===null||ro(ne)?P(ne):(i.enter("codeFencedFenceMeta"),i.enter("chunkString",{contentType:"string"}),j(ne))}function j(ne){return ne===null||ro(ne)?(i.exit("chunkString"),i.exit("codeFencedFenceMeta"),P(ne)):ne===96&&ne===y?u(ne):(i.consume(ne),j)}function W(ne){return i.attempt(p,ge,ee)(ne)}function ee(ne){return i.enter("lineEnding"),i.consume(ne),i.exit("lineEnding"),ie}function ie(ne){return v>0&&Iu(ne)?Hl(i,oe,"linePrefix",v+1)(ne):oe(ne)}function oe(ne){return ne===null||ro(ne)?i.check(SVe,W,ge)(ne):(i.enter("codeFlowValue"),be(ne))}function be(ne){return ne===null||ro(ne)?(i.exit("codeFlowValue"),oe(ne)):(i.consume(ne),be)}function ge(ne){return i.exit("codeFenced"),a(ne)}function ae(ne,se,de){let X=0;return pe;function pe(Pe){return ne.enter("lineEnding"),ne.consume(Pe),ne.exit("lineEnding"),G}function G(Pe){return ne.enter("codeFencedFence"),Iu(Pe)?Hl(ne,xe,"linePrefix",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(Pe):xe(Pe)}function xe(Pe){return Pe===y?(ne.enter("codeFencedFenceSequence"),U(Pe)):de(Pe)}function U(Pe){return Pe===y?(X++,ne.consume(Pe),U):X>=b?(ne.exit("codeFencedFenceSequence"),Iu(Pe)?Hl(ne,Be,"whitespace")(Pe):Be(Pe)):de(Pe)}function Be(Pe){return Pe===null||ro(Pe)?(ne.exit("codeFencedFence"),se(Pe)):de(Pe)}}}function LJt(i,a,u){const d=this;return p;function p(b){return b===null?u(b):(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),v)}function v(b){return d.parser.lazy[d.now().line]?u(b):a(b)}}const Xme={name:"codeIndented",tokenize:DJt},MJt={tokenize:IJt,partial:!0};function DJt(i,a,u){const d=this;return p;function p(_){return i.enter("codeIndented"),Hl(i,v,"linePrefix",4+1)(_)}function v(_){const A=d.events[d.events.length-1];return A&&A[1].type==="linePrefix"&&A[2].sliceSerialize(A[1],!0).length>=4?b(_):u(_)}function b(_){return _===null?E(_):ro(_)?i.attempt(MJt,b,E)(_):(i.enter("codeFlowValue"),y(_))}function y(_){return _===null||ro(_)?(i.exit("codeFlowValue"),b(_)):(i.consume(_),y)}function E(_){return i.exit("codeIndented"),a(_)}}function IJt(i,a,u){const d=this;return p;function p(b){return d.parser.lazy[d.now().line]?u(b):ro(b)?(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),p):Hl(i,v,"linePrefix",4+1)(b)}function v(b){const y=d.events[d.events.length-1];return y&&y[1].type==="linePrefix"&&y[2].sliceSerialize(y[1],!0).length>=4?a(b):ro(b)?p(b):u(b)}}const OJt={name:"codeText",tokenize:BJt,resolve:NJt,previous:PJt};function NJt(i){let a=i.length-4,u=3,d,p;if((i[u][1].type==="lineEnding"||i[u][1].type==="space")&&(i[a][1].type==="lineEnding"||i[a][1].type==="space")){for(d=u;++d<a;)if(i[d][1].type==="codeTextData"){i[u][1].type="codeTextPadding",i[a][1].type="codeTextPadding",u+=2,a-=2;break}}for(d=u-1,a++;++d<=a;)p===void 0?d!==a&&i[d][1].type!=="lineEnding"&&(p=d):(d===a||i[d][1].type==="lineEnding")&&(i[p][1].type="codeTextData",d!==p+2&&(i[p][1].end=i[d-1][1].end,i.splice(p+2,d-p-2),a-=d-p-2,d=p+2),p=void 0);return i}function PJt(i){return i!==96||this.events[this.events.length-1][1].type==="characterEscape"}function BJt(i,a,u){let d=0,p,v;return b;function b(P){return i.enter("codeText"),i.enter("codeTextSequence"),y(P)}function y(P){return P===96?(i.consume(P),d++,y):(i.exit("codeTextSequence"),E(P))}function E(P){return P===null?u(P):P===32?(i.enter("space"),i.consume(P),i.exit("space"),E):P===96?(v=i.enter("codeTextSequence"),p=0,A(P)):ro(P)?(i.enter("lineEnding"),i.consume(P),i.exit("lineEnding"),E):(i.enter("codeTextData"),_(P))}function _(P){return P===null||P===32||P===96||ro(P)?(i.exit("codeTextData"),E(P)):(i.consume(P),_)}function A(P){return P===96?(i.consume(P),p++,A):p===d?(i.exit("codeTextSequence"),i.exit("codeText"),a(P)):(v.type="codeTextData",_(P))}}function AVe(i){const a={};let u=-1,d,p,v,b,y,E,_;for(;++u<i.length;){for(;u in a;)u=a[u];if(d=i[u],u&&d[1].type==="chunkFlow"&&i[u-1][1].type==="listItemPrefix"&&(E=d[1]._tokenizer.events,v=0,v<E.length&&E[v][1].type==="lineEndingBlank"&&(v+=2),v<E.length&&E[v][1].type==="content"))for(;++v<E.length&&E[v][1].type!=="content";)E[v][1].type==="chunkText"&&(E[v][1]._isInFirstContentOfListItem=!0,v++);if(d[0]==="enter")d[1].contentType&&(Object.assign(a,FJt(i,u)),u=a[u],_=!0);else if(d[1]._container){for(v=u,p=void 0;v--&&(b=i[v],b[1].type==="lineEnding"||b[1].type==="lineEndingBlank");)b[0]==="enter"&&(p&&(i[p][1].type="lineEndingBlank"),b[1].type="lineEnding",p=v);p&&(d[1].end=Object.assign({},i[p][1].start),y=i.slice(p,u),y.unshift(d),r5(i,p,u-p+1,y))}}return!_}function FJt(i,a){const u=i[a][1],d=i[a][2];let p=a-1;const v=[],b=u._tokenizer||d.parser[u.contentType](u.start),y=b.events,E=[],_={};let A,P,R=-1,B=u,j=0,W=0;const ee=[W];for(;B;){for(;i[++p][1]!==B;);v.push(p),B._tokenizer||(A=d.sliceStream(B),B.next||A.push(null),P&&b.defineSkip(B.start),B._isInFirstContentOfListItem&&(b._gfmTasklistFirstContentOfListItem=!0),b.write(A),B._isInFirstContentOfListItem&&(b._gfmTasklistFirstContentOfListItem=void 0)),P=B,B=B.next}for(B=u;++R<y.length;)y[R][0]==="exit"&&y[R-1][0]==="enter"&&y[R][1].type===y[R-1][1].type&&y[R][1].start.line!==y[R][1].end.line&&(W=R+1,ee.push(W),B._tokenizer=void 0,B.previous=void 0,B=B.next);for(b.events=[],B?(B._tokenizer=void 0,B.previous=void 0):ee.pop(),R=ee.length;R--;){const ie=y.slice(ee[R],ee[R+1]),oe=v.pop();E.unshift([oe,oe+ie.length-1]),r5(i,oe,2,ie)}for(R=-1;++R<E.length;)_[j+E[R][0]]=j+E[R][1],j+=E[R][1]-E[R][0]-1;return _}const RJt={tokenize:zJt,resolve:$Jt},jJt={tokenize:qJt,partial:!0};function $Jt(i){return AVe(i),i}function zJt(i,a){let u;return d;function d(y){return i.enter("content"),u=i.enter("chunkContent",{contentType:"content"}),p(y)}function p(y){return y===null?v(y):ro(y)?i.check(jJt,b,v)(y):(i.consume(y),p)}function v(y){return i.exit("chunkContent"),i.exit("content"),a(y)}function b(y){return i.consume(y),i.exit("chunkContent"),u.next=i.enter("chunkContent",{contentType:"content",previous:u}),u=u.next,p}}function qJt(i,a,u){const d=this;return p;function p(b){return i.exit("chunkContent"),i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),Hl(i,v,"linePrefix")}function v(b){if(b===null||ro(b))return u(b);const y=d.events[d.events.length-1];return!d.parser.constructs.disable.null.includes("codeIndented")&&y&&y[1].type==="linePrefix"&&y[2].sliceSerialize(y[1],!0).length>=4?a(b):i.interrupt(d.parser.constructs.flow,u,a)(b)}}function LVe(i,a,u,d,p,v,b,y,E){const _=E||Number.POSITIVE_INFINITY;let A=0;return P;function P(ie){return ie===60?(i.enter(d),i.enter(p),i.enter(v),i.consume(ie),i.exit(v),R):ie===null||ie===32||ie===41||Vme(ie)?u(ie):(i.enter(d),i.enter(b),i.enter(y),i.enter("chunkString",{contentType:"string"}),W(ie))}function R(ie){return ie===62?(i.enter(v),i.consume(ie),i.exit(v),i.exit(p),i.exit(d),a):(i.enter(y),i.enter("chunkString",{contentType:"string"}),B(ie))}function B(ie){return ie===62?(i.exit("chunkString"),i.exit(y),R(ie)):ie===null||ie===60||ro(ie)?u(ie):(i.consume(ie),ie===92?j:B)}function j(ie){return ie===60||ie===62||ie===92?(i.consume(ie),B):B(ie)}function W(ie){return!A&&(ie===null||ie===41||X2(ie))?(i.exit("chunkString"),i.exit(y),i.exit(b),i.exit(d),a(ie)):A<_&&ie===40?(i.consume(ie),A++,W):ie===41?(i.consume(ie),A--,W):ie===null||ie===32||ie===40||Vme(ie)?u(ie):(i.consume(ie),ie===92?ee:W)}function ee(ie){return ie===40||ie===41||ie===92?(i.consume(ie),W):W(ie)}}function MVe(i,a,u,d,p,v){const b=this;let y=0,E;return _;function _(B){return i.enter(d),i.enter(p),i.consume(B),i.exit(p),i.enter(v),A}function A(B){return y>999||B===null||B===91||B===93&&!E||B===94&&!y&&"_hiddenFootnoteSupport"in b.parser.constructs?u(B):B===93?(i.exit(v),i.enter(p),i.consume(B),i.exit(p),i.exit(d),a):ro(B)?(i.enter("lineEnding"),i.consume(B),i.exit("lineEnding"),A):(i.enter("chunkString",{contentType:"string"}),P(B))}function P(B){return B===null||B===91||B===93||ro(B)||y++>999?(i.exit("chunkString"),A(B)):(i.consume(B),E||(E=!Iu(B)),B===92?R:P)}function R(B){return B===91||B===92||B===93?(i.consume(B),y++,P):P(B)}}function DVe(i,a,u,d,p,v){let b;return y;function y(R){return R===34||R===39||R===40?(i.enter(d),i.enter(p),i.consume(R),i.exit(p),b=R===40?41:R,E):u(R)}function E(R){return R===b?(i.enter(p),i.consume(R),i.exit(p),i.exit(d),a):(i.enter(v),_(R))}function _(R){return R===b?(i.exit(v),E(b)):R===null?u(R):ro(R)?(i.enter("lineEnding"),i.consume(R),i.exit("lineEnding"),Hl(i,_,"linePrefix")):(i.enter("chunkString",{contentType:"string"}),A(R))}function A(R){return R===b||R===null||ro(R)?(i.exit("chunkString"),_(R)):(i.consume(R),R===92?P:A)}function P(R){return R===b||R===92?(i.consume(R),A):A(R)}}function BR(i,a){let u;return d;function d(p){return ro(p)?(i.enter("lineEnding"),i.consume(p),i.exit("lineEnding"),u=!0,d):Iu(p)?Hl(i,d,u?"linePrefix":"lineSuffix")(p):a(p)}}function QD(i){return i.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const HJt={name:"definition",tokenize:VJt},UJt={tokenize:GJt,partial:!0};function VJt(i,a,u){const d=this;let p;return v;function v(B){return i.enter("definition"),b(B)}function b(B){return MVe.call(d,i,y,u,"definitionLabel","definitionLabelMarker","definitionLabelString")(B)}function y(B){return p=QD(d.sliceSerialize(d.events[d.events.length-1][1]).slice(1,-1)),B===58?(i.enter("definitionMarker"),i.consume(B),i.exit("definitionMarker"),E):u(B)}function E(B){return X2(B)?BR(i,_)(B):_(B)}function _(B){return LVe(i,A,u,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(B)}function A(B){return i.attempt(UJt,P,P)(B)}function P(B){return Iu(B)?Hl(i,R,"whitespace")(B):R(B)}function R(B){return B===null||ro(B)?(i.exit("definition"),d.parser.defined.push(p),a(B)):u(B)}}function GJt(i,a,u){return d;function d(y){return X2(y)?BR(i,p)(y):u(y)}function p(y){return DVe(i,v,u,"definitionTitle","definitionTitleMarker","definitionTitleString")(y)}function v(y){return Iu(y)?Hl(i,b,"whitespace")(y):b(y)}function b(y){return y===null||ro(y)?a(y):u(y)}}const KJt={name:"hardBreakEscape",tokenize:WJt};function WJt(i,a,u){return d;function d(v){return i.enter("hardBreakEscape"),i.consume(v),p}function p(v){return ro(v)?(i.exit("hardBreakEscape"),a(v)):u(v)}}const YJt={name:"headingAtx",tokenize:QJt,resolve:XJt};function XJt(i,a){let u=i.length-2,d=3,p,v;return i[d][1].type==="whitespace"&&(d+=2),u-2>d&&i[u][1].type==="whitespace"&&(u-=2),i[u][1].type==="atxHeadingSequence"&&(d===u-1||u-4>d&&i[u-2][1].type==="whitespace")&&(u-=d+1===u?2:4),u>d&&(p={type:"atxHeadingText",start:i[d][1].start,end:i[u][1].end},v={type:"chunkText",start:i[d][1].start,end:i[u][1].end,contentType:"text"},r5(i,d,u-d+1,[["enter",p,a],["enter",v,a],["exit",v,a],["exit",p,a]])),i}function QJt(i,a,u){let d=0;return p;function p(A){return i.enter("atxHeading"),v(A)}function v(A){return i.enter("atxHeadingSequence"),b(A)}function b(A){return A===35&&d++<6?(i.consume(A),b):A===null||X2(A)?(i.exit("atxHeadingSequence"),y(A)):u(A)}function y(A){return A===35?(i.enter("atxHeadingSequence"),E(A)):A===null||ro(A)?(i.exit("atxHeading"),a(A)):Iu(A)?Hl(i,y,"whitespace")(A):(i.enter("atxHeadingText"),_(A))}function E(A){return A===35?(i.consume(A),E):(i.exit("atxHeadingSequence"),y(A))}function _(A){return A===null||A===35||X2(A)?(i.exit("atxHeadingText"),y(A)):(i.consume(A),_)}}const JJt=["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"],IVe=["pre","script","style","textarea"],ZJt={name:"htmlFlow",tokenize:rZt,resolveTo:nZt,concrete:!0},eZt={tokenize:sZt,partial:!0},tZt={tokenize:iZt,partial:!0};function nZt(i){let a=i.length;for(;a--&&!(i[a][0]==="enter"&&i[a][1].type==="htmlFlow"););return a>1&&i[a-2][1].type==="linePrefix"&&(i[a][1].start=i[a-2][1].start,i[a+1][1].start=i[a-2][1].start,i.splice(a-2,2)),i}function rZt(i,a,u){const d=this;let p,v,b,y,E;return _;function _(Ne){return A(Ne)}function A(Ne){return i.enter("htmlFlow"),i.enter("htmlFlowData"),i.consume(Ne),P}function P(Ne){return Ne===33?(i.consume(Ne),R):Ne===47?(i.consume(Ne),v=!0,W):Ne===63?(i.consume(Ne),p=3,d.interrupt?a:ke):i5(Ne)?(i.consume(Ne),b=String.fromCharCode(Ne),ee):u(Ne)}function R(Ne){return Ne===45?(i.consume(Ne),p=2,B):Ne===91?(i.consume(Ne),p=5,y=0,j):i5(Ne)?(i.consume(Ne),p=4,d.interrupt?a:ke):u(Ne)}function B(Ne){return Ne===45?(i.consume(Ne),d.interrupt?a:ke):u(Ne)}function j(Ne){const pn="CDATA[";return Ne===pn.charCodeAt(y++)?(i.consume(Ne),y===pn.length?d.interrupt?a:xe:j):u(Ne)}function W(Ne){return i5(Ne)?(i.consume(Ne),b=String.fromCharCode(Ne),ee):u(Ne)}function ee(Ne){if(Ne===null||Ne===47||Ne===62||X2(Ne)){const pn=Ne===47,Tt=b.toLowerCase();return!pn&&!v&&IVe.includes(Tt)?(p=1,d.interrupt?a(Ne):xe(Ne)):JJt.includes(b.toLowerCase())?(p=6,pn?(i.consume(Ne),ie):d.interrupt?a(Ne):xe(Ne)):(p=7,d.interrupt&&!d.parser.lazy[d.now().line]?u(Ne):v?oe(Ne):be(Ne))}return Ne===45||K3(Ne)?(i.consume(Ne),b+=String.fromCharCode(Ne),ee):u(Ne)}function ie(Ne){return Ne===62?(i.consume(Ne),d.interrupt?a:xe):u(Ne)}function oe(Ne){return Iu(Ne)?(i.consume(Ne),oe):pe(Ne)}function be(Ne){return Ne===47?(i.consume(Ne),pe):Ne===58||Ne===95||i5(Ne)?(i.consume(Ne),ge):Iu(Ne)?(i.consume(Ne),be):pe(Ne)}function ge(Ne){return Ne===45||Ne===46||Ne===58||Ne===95||K3(Ne)?(i.consume(Ne),ge):ae(Ne)}function ae(Ne){return Ne===61?(i.consume(Ne),ne):Iu(Ne)?(i.consume(Ne),ae):be(Ne)}function ne(Ne){return Ne===null||Ne===60||Ne===61||Ne===62||Ne===96?u(Ne):Ne===34||Ne===39?(i.consume(Ne),E=Ne,se):Iu(Ne)?(i.consume(Ne),ne):de(Ne)}function se(Ne){return Ne===E?(i.consume(Ne),E=null,X):Ne===null||ro(Ne)?u(Ne):(i.consume(Ne),se)}function de(Ne){return Ne===null||Ne===34||Ne===39||Ne===47||Ne===60||Ne===61||Ne===62||Ne===96||X2(Ne)?ae(Ne):(i.consume(Ne),de)}function X(Ne){return Ne===47||Ne===62||Iu(Ne)?be(Ne):u(Ne)}function pe(Ne){return Ne===62?(i.consume(Ne),G):u(Ne)}function G(Ne){return Ne===null||ro(Ne)?xe(Ne):Iu(Ne)?(i.consume(Ne),G):u(Ne)}function xe(Ne){return Ne===45&&p===2?(i.consume(Ne),je):Ne===60&&p===1?(i.consume(Ne),Ie):Ne===62&&p===4?(i.consume(Ne),Ke):Ne===63&&p===3?(i.consume(Ne),ke):Ne===93&&p===5?(i.consume(Ne),Ce):ro(Ne)&&(p===6||p===7)?(i.exit("htmlFlowData"),i.check(eZt,zt,U)(Ne)):Ne===null||ro(Ne)?(i.exit("htmlFlowData"),U(Ne)):(i.consume(Ne),xe)}function U(Ne){return i.check(tZt,Be,zt)(Ne)}function Be(Ne){return i.enter("lineEnding"),i.consume(Ne),i.exit("lineEnding"),Pe}function Pe(Ne){return Ne===null||ro(Ne)?U(Ne):(i.enter("htmlFlowData"),xe(Ne))}function je(Ne){return Ne===45?(i.consume(Ne),ke):xe(Ne)}function Ie(Ne){return Ne===47?(i.consume(Ne),b="",Se):xe(Ne)}function Se(Ne){if(Ne===62){const pn=b.toLowerCase();return IVe.includes(pn)?(i.consume(Ne),Ke):xe(Ne)}return i5(Ne)&&b.length<8?(i.consume(Ne),b+=String.fromCharCode(Ne),Se):xe(Ne)}function Ce(Ne){return Ne===93?(i.consume(Ne),ke):xe(Ne)}function ke(Ne){return Ne===62?(i.consume(Ne),Ke):Ne===45&&p===2?(i.consume(Ne),ke):xe(Ne)}function Ke(Ne){return Ne===null||ro(Ne)?(i.exit("htmlFlowData"),zt(Ne)):(i.consume(Ne),Ke)}function zt(Ne){return i.exit("htmlFlow"),a(Ne)}}function iZt(i,a,u){const d=this;return p;function p(b){return ro(b)?(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),v):u(b)}function v(b){return d.parser.lazy[d.now().line]?u(b):a(b)}}function sZt(i,a,u){return d;function d(p){return i.enter("lineEnding"),i.consume(p),i.exit("lineEnding"),i.attempt(uJ,a,u)}}const aZt={name:"htmlText",tokenize:oZt};function oZt(i,a,u){const d=this;let p,v,b;return y;function y(ke){return i.enter("htmlText"),i.enter("htmlTextData"),i.consume(ke),E}function E(ke){return ke===33?(i.consume(ke),_):ke===47?(i.consume(ke),ae):ke===63?(i.consume(ke),be):i5(ke)?(i.consume(ke),de):u(ke)}function _(ke){return ke===45?(i.consume(ke),A):ke===91?(i.consume(ke),v=0,j):i5(ke)?(i.consume(ke),oe):u(ke)}function A(ke){return ke===45?(i.consume(ke),B):u(ke)}function P(ke){return ke===null?u(ke):ke===45?(i.consume(ke),R):ro(ke)?(b=P,Ie(ke)):(i.consume(ke),P)}function R(ke){return ke===45?(i.consume(ke),B):P(ke)}function B(ke){return ke===62?je(ke):ke===45?R(ke):P(ke)}function j(ke){const Ke="CDATA[";return ke===Ke.charCodeAt(v++)?(i.consume(ke),v===Ke.length?W:j):u(ke)}function W(ke){return ke===null?u(ke):ke===93?(i.consume(ke),ee):ro(ke)?(b=W,Ie(ke)):(i.consume(ke),W)}function ee(ke){return ke===93?(i.consume(ke),ie):W(ke)}function ie(ke){return ke===62?je(ke):ke===93?(i.consume(ke),ie):W(ke)}function oe(ke){return ke===null||ke===62?je(ke):ro(ke)?(b=oe,Ie(ke)):(i.consume(ke),oe)}function be(ke){return ke===null?u(ke):ke===63?(i.consume(ke),ge):ro(ke)?(b=be,Ie(ke)):(i.consume(ke),be)}function ge(ke){return ke===62?je(ke):be(ke)}function ae(ke){return i5(ke)?(i.consume(ke),ne):u(ke)}function ne(ke){return ke===45||K3(ke)?(i.consume(ke),ne):se(ke)}function se(ke){return ro(ke)?(b=se,Ie(ke)):Iu(ke)?(i.consume(ke),se):je(ke)}function de(ke){return ke===45||K3(ke)?(i.consume(ke),de):ke===47||ke===62||X2(ke)?X(ke):u(ke)}function X(ke){return ke===47?(i.consume(ke),je):ke===58||ke===95||i5(ke)?(i.consume(ke),pe):ro(ke)?(b=X,Ie(ke)):Iu(ke)?(i.consume(ke),X):je(ke)}function pe(ke){return ke===45||ke===46||ke===58||ke===95||K3(ke)?(i.consume(ke),pe):G(ke)}function G(ke){return ke===61?(i.consume(ke),xe):ro(ke)?(b=G,Ie(ke)):Iu(ke)?(i.consume(ke),G):X(ke)}function xe(ke){return ke===null||ke===60||ke===61||ke===62||ke===96?u(ke):ke===34||ke===39?(i.consume(ke),p=ke,U):ro(ke)?(b=xe,Ie(ke)):Iu(ke)?(i.consume(ke),xe):(i.consume(ke),Be)}function U(ke){return ke===p?(i.consume(ke),p=void 0,Pe):ke===null?u(ke):ro(ke)?(b=U,Ie(ke)):(i.consume(ke),U)}function Be(ke){return ke===null||ke===34||ke===39||ke===60||ke===61||ke===96?u(ke):ke===47||ke===62||X2(ke)?X(ke):(i.consume(ke),Be)}function Pe(ke){return ke===47||ke===62||X2(ke)?X(ke):u(ke)}function je(ke){return ke===62?(i.consume(ke),i.exit("htmlTextData"),i.exit("htmlText"),a):u(ke)}function Ie(ke){return i.exit("htmlTextData"),i.enter("lineEnding"),i.consume(ke),i.exit("lineEnding"),Se}function Se(ke){return Iu(ke)?Hl(i,Ce,"linePrefix",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(ke):Ce(ke)}function Ce(ke){return i.enter("htmlTextData"),b(ke)}}const Qme={name:"labelEnd",tokenize:dZt,resolveTo:fZt,resolveAll:hZt},cZt={tokenize:gZt},uZt={tokenize:pZt},lZt={tokenize:bZt};function hZt(i){let a=-1;for(;++a<i.length;){const u=i[a][1];(u.type==="labelImage"||u.type==="labelLink"||u.type==="labelEnd")&&(i.splice(a+1,u.type==="labelImage"?4:2),u.type="data",a++)}return i}function fZt(i,a){let u=i.length,d=0,p,v,b,y;for(;u--;)if(p=i[u][1],v){if(p.type==="link"||p.type==="labelLink"&&p._inactive)break;i[u][0]==="enter"&&p.type==="labelLink"&&(p._inactive=!0)}else if(b){if(i[u][0]==="enter"&&(p.type==="labelImage"||p.type==="labelLink")&&!p._balanced&&(v=u,p.type!=="labelLink")){d=2;break}}else p.type==="labelEnd"&&(b=u);const E={type:i[v][1].type==="labelLink"?"link":"image",start:Object.assign({},i[v][1].start),end:Object.assign({},i[i.length-1][1].end)},_={type:"label",start:Object.assign({},i[v][1].start),end:Object.assign({},i[b][1].end)},A={type:"labelText",start:Object.assign({},i[v+d+2][1].end),end:Object.assign({},i[b-2][1].start)};return y=[["enter",E,a],["enter",_,a]],y=Wv(y,i.slice(v+1,v+d+3)),y=Wv(y,[["enter",A,a]]),y=Wv(y,Kme(a.parser.constructs.insideSpan.null,i.slice(v+d+4,b-3),a)),y=Wv(y,[["exit",A,a],i[b-2],i[b-1],["exit",_,a]]),y=Wv(y,i.slice(b+1)),y=Wv(y,[["exit",E,a]]),r5(i,v,i.length,y),i}function dZt(i,a,u){const d=this;let p=d.events.length,v,b;for(;p--;)if((d.events[p][1].type==="labelImage"||d.events[p][1].type==="labelLink")&&!d.events[p][1]._balanced){v=d.events[p][1];break}return y;function y(R){return v?v._inactive?P(R):(b=d.parser.defined.includes(QD(d.sliceSerialize({start:v.end,end:d.now()}))),i.enter("labelEnd"),i.enter("labelMarker"),i.consume(R),i.exit("labelMarker"),i.exit("labelEnd"),E):u(R)}function E(R){return R===40?i.attempt(cZt,A,b?A:P)(R):R===91?i.attempt(uZt,A,b?_:P)(R):b?A(R):P(R)}function _(R){return i.attempt(lZt,A,P)(R)}function A(R){return a(R)}function P(R){return v._balanced=!0,u(R)}}function gZt(i,a,u){return d;function d(P){return i.enter("resource"),i.enter("resourceMarker"),i.consume(P),i.exit("resourceMarker"),p}function p(P){return X2(P)?BR(i,v)(P):v(P)}function v(P){return P===41?A(P):LVe(i,b,y,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(P)}function b(P){return X2(P)?BR(i,E)(P):A(P)}function y(P){return u(P)}function E(P){return P===34||P===39||P===40?DVe(i,_,u,"resourceTitle","resourceTitleMarker","resourceTitleString")(P):A(P)}function _(P){return X2(P)?BR(i,A)(P):A(P)}function A(P){return P===41?(i.enter("resourceMarker"),i.consume(P),i.exit("resourceMarker"),i.exit("resource"),a):u(P)}}function pZt(i,a,u){const d=this;return p;function p(y){return MVe.call(d,i,v,b,"reference","referenceMarker","referenceString")(y)}function v(y){return d.parser.defined.includes(QD(d.sliceSerialize(d.events[d.events.length-1][1]).slice(1,-1)))?a(y):u(y)}function b(y){return u(y)}}function bZt(i,a,u){return d;function d(v){return i.enter("reference"),i.enter("referenceMarker"),i.consume(v),i.exit("referenceMarker"),p}function p(v){return v===93?(i.enter("referenceMarker"),i.consume(v),i.exit("referenceMarker"),i.exit("reference"),a):u(v)}}const mZt={name:"labelStartImage",tokenize:vZt,resolveAll:Qme.resolveAll};function vZt(i,a,u){const d=this;return p;function p(y){return i.enter("labelImage"),i.enter("labelImageMarker"),i.consume(y),i.exit("labelImageMarker"),v}function v(y){return y===91?(i.enter("labelMarker"),i.consume(y),i.exit("labelMarker"),i.exit("labelImage"),b):u(y)}function b(y){return y===94&&"_hiddenFootnoteSupport"in d.parser.constructs?u(y):a(y)}}const wZt={name:"labelStartLink",tokenize:yZt,resolveAll:Qme.resolveAll};function yZt(i,a,u){const d=this;return p;function p(b){return i.enter("labelLink"),i.enter("labelMarker"),i.consume(b),i.exit("labelMarker"),i.exit("labelLink"),v}function v(b){return b===94&&"_hiddenFootnoteSupport"in d.parser.constructs?u(b):a(b)}}const Jme={name:"lineEnding",tokenize:xZt};function xZt(i,a){return u;function u(d){return i.enter("lineEnding"),i.consume(d),i.exit("lineEnding"),Hl(i,a,"linePrefix")}}const lJ={name:"thematicBreak",tokenize:kZt};function kZt(i,a,u){let d=0,p;return v;function v(_){return i.enter("thematicBreak"),b(_)}function b(_){return p=_,y(_)}function y(_){return _===p?(i.enter("thematicBreakSequence"),E(_)):d>=3&&(_===null||ro(_))?(i.exit("thematicBreak"),a(_)):u(_)}function E(_){return _===p?(i.consume(_),d++,E):(i.exit("thematicBreakSequence"),Iu(_)?Hl(i,y,"whitespace")(_):y(_))}}const Q2={name:"list",tokenize:CZt,continuation:{tokenize:SZt},exit:AZt},TZt={tokenize:LZt,partial:!0},EZt={tokenize:_Zt,partial:!0};function CZt(i,a,u){const d=this,p=d.events[d.events.length-1];let v=p&&p[1].type==="linePrefix"?p[2].sliceSerialize(p[1],!0).length:0,b=0;return y;function y(B){const j=d.containerState.type||(B===42||B===43||B===45?"listUnordered":"listOrdered");if(j==="listUnordered"?!d.containerState.marker||B===d.containerState.marker:Gme(B)){if(d.containerState.type||(d.containerState.type=j,i.enter(j,{_container:!0})),j==="listUnordered")return i.enter("listItemPrefix"),B===42||B===45?i.check(lJ,u,_)(B):_(B);if(!d.interrupt||B===49)return i.enter("listItemPrefix"),i.enter("listItemValue"),E(B)}return u(B)}function E(B){return Gme(B)&&++b<10?(i.consume(B),E):(!d.interrupt||b<2)&&(d.containerState.marker?B===d.containerState.marker:B===41||B===46)?(i.exit("listItemValue"),_(B)):u(B)}function _(B){return i.enter("listItemMarker"),i.consume(B),i.exit("listItemMarker"),d.containerState.marker=d.containerState.marker||B,i.check(uJ,d.interrupt?u:A,i.attempt(TZt,R,P))}function A(B){return d.containerState.initialBlankLine=!0,v++,R(B)}function P(B){return Iu(B)?(i.enter("listItemPrefixWhitespace"),i.consume(B),i.exit("listItemPrefixWhitespace"),R):u(B)}function R(B){return d.containerState.size=v+d.sliceSerialize(i.exit("listItemPrefix"),!0).length,a(B)}}function SZt(i,a,u){const d=this;return d.containerState._closeFlow=void 0,i.check(uJ,p,v);function p(y){return d.containerState.furtherBlankLines=d.containerState.furtherBlankLines||d.containerState.initialBlankLine,Hl(i,a,"listItemIndent",d.containerState.size+1)(y)}function v(y){return d.containerState.furtherBlankLines||!Iu(y)?(d.containerState.furtherBlankLines=void 0,d.containerState.initialBlankLine=void 0,b(y)):(d.containerState.furtherBlankLines=void 0,d.containerState.initialBlankLine=void 0,i.attempt(EZt,a,b)(y))}function b(y){return d.containerState._closeFlow=!0,d.interrupt=void 0,Hl(i,i.attempt(Q2,a,u),"linePrefix",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(y)}}function _Zt(i,a,u){const d=this;return Hl(i,p,"listItemIndent",d.containerState.size+1);function p(v){const b=d.events[d.events.length-1];return b&&b[1].type==="listItemIndent"&&b[2].sliceSerialize(b[1],!0).length===d.containerState.size?a(v):u(v)}}function AZt(i){i.exit(this.containerState.type)}function LZt(i,a,u){const d=this;return Hl(i,p,"listItemPrefixWhitespace",d.parser.constructs.disable.null.includes("codeIndented")?void 0:4+1);function p(v){const b=d.events[d.events.length-1];return!Iu(v)&&b&&b[1].type==="listItemPrefixWhitespace"?a(v):u(v)}}const OVe={name:"setextUnderline",tokenize:DZt,resolveTo:MZt};function MZt(i,a){let u=i.length,d,p,v;for(;u--;)if(i[u][0]==="enter"){if(i[u][1].type==="content"){d=u;break}i[u][1].type==="paragraph"&&(p=u)}else i[u][1].type==="content"&&i.splice(u,1),!v&&i[u][1].type==="definition"&&(v=u);const b={type:"setextHeading",start:Object.assign({},i[p][1].start),end:Object.assign({},i[i.length-1][1].end)};return i[p][1].type="setextHeadingText",v?(i.splice(p,0,["enter",b,a]),i.splice(v+1,0,["exit",i[d][1],a]),i[d][1].end=Object.assign({},i[v][1].end)):i[d][1]=b,i.push(["exit",b,a]),i}function DZt(i,a,u){const d=this;let p;return v;function v(_){let A=d.events.length,P;for(;A--;)if(d.events[A][1].type!=="lineEnding"&&d.events[A][1].type!=="linePrefix"&&d.events[A][1].type!=="content"){P=d.events[A][1].type==="paragraph";break}return!d.parser.lazy[d.now().line]&&(d.interrupt||P)?(i.enter("setextHeadingLine"),p=_,b(_)):u(_)}function b(_){return i.enter("setextHeadingLineSequence"),y(_)}function y(_){return _===p?(i.consume(_),y):(i.exit("setextHeadingLineSequence"),Iu(_)?Hl(i,E,"lineSuffix")(_):E(_))}function E(_){return _===null||ro(_)?(i.exit("setextHeadingLine"),a(_)):u(_)}}const IZt={tokenize:OZt};function OZt(i){const a=this,u=i.attempt(uJ,d,i.attempt(this.parser.constructs.flowInitial,p,Hl(i,i.attempt(this.parser.constructs.flow,p,i.attempt(RJt,p)),"linePrefix")));return u;function d(v){if(v===null){i.consume(v);return}return i.enter("lineEndingBlank"),i.consume(v),i.exit("lineEndingBlank"),a.currentConstruct=void 0,u}function p(v){if(v===null){i.consume(v);return}return i.enter("lineEnding"),i.consume(v),i.exit("lineEnding"),a.currentConstruct=void 0,u}}const NZt={resolveAll:PVe()},PZt=NVe("string"),BZt=NVe("text");function NVe(i){return{tokenize:a,resolveAll:PVe(i==="text"?FZt:void 0)};function a(u){const d=this,p=this.parser.constructs[i],v=u.attempt(p,b,y);return b;function b(A){return _(A)?v(A):y(A)}function y(A){if(A===null){u.consume(A);return}return u.enter("data"),u.consume(A),E}function E(A){return _(A)?(u.exit("data"),v(A)):(u.consume(A),E)}function _(A){if(A===null)return!0;const P=p[A];let R=-1;if(P)for(;++R<P.length;){const B=P[R];if(!B.previous||B.previous.call(d,d.previous))return!0}return!1}}}function PVe(i){return a;function a(u,d){let p=-1,v;for(;++p<=u.length;)v===void 0?u[p]&&u[p][1].type==="data"&&(v=p,p++):(!u[p]||u[p][1].type!=="data")&&(p!==v+2&&(u[v][1].end=u[p-1][1].end,u.splice(v+2,p-v-2),p=v+2),v=void 0);return i?i(u,d):u}}function FZt(i,a){let u=0;for(;++u<=i.length;)if((u===i.length||i[u][1].type==="lineEnding")&&i[u-1][1].type==="data"){const d=i[u-1][1],p=a.sliceStream(d);let v=p.length,b=-1,y=0,E;for(;v--;){const _=p[v];if(typeof _=="string"){for(b=_.length;_.charCodeAt(b-1)===32;)y++,b--;if(b)break;b=-1}else if(_===-2)E=!0,y++;else if(_!==-1){v++;break}}if(y){const _={type:u===i.length||E||y<2?"lineSuffix":"hardBreakTrailing",start:{line:d.end.line,column:d.end.column-y,offset:d.end.offset-y,_index:d.start._index+v,_bufferIndex:v?b:d.start._bufferIndex+b},end:Object.assign({},d.end)};d.end=Object.assign({},_.start),d.start.offset===d.end.offset?Object.assign(d,_):(i.splice(u,0,["enter",_,a],["exit",_,a]),u+=2)}u++}return i}function RZt(i,a,u){let d=Object.assign(u?Object.assign({},u):{line:1,column:1,offset:0},{_index:0,_bufferIndex:-1});const p={},v=[];let b=[],y=[];const E={consume:oe,enter:be,exit:ge,attempt:se(ae),check:se(ne),interrupt:se(ne,{interrupt:!0})},_={previous:null,code:null,containerState:{},events:[],parser:i,sliceStream:B,sliceSerialize:R,now:j,defineSkip:W,write:P};let A=a.tokenize.call(_,E);return a.resolveAll&&v.push(a),_;function P(G){return b=Wv(b,G),ee(),b[b.length-1]!==null?[]:(de(a,0),_.events=Kme(v,_.events,_),_.events)}function R(G,xe){return $Zt(B(G),xe)}function B(G){return jZt(b,G)}function j(){const{line:G,column:xe,offset:U,_index:Be,_bufferIndex:Pe}=d;return{line:G,column:xe,offset:U,_index:Be,_bufferIndex:Pe}}function W(G){p[G.line]=G.column,pe()}function ee(){let G;for(;d._index<b.length;){const xe=b[d._index];if(typeof xe=="string")for(G=d._index,d._bufferIndex<0&&(d._bufferIndex=0);d._index===G&&d._bufferIndex<xe.length;)ie(xe.charCodeAt(d._bufferIndex));else ie(xe)}}function ie(G){A=A(G)}function oe(G){ro(G)?(d.line++,d.column=1,d.offset+=G===-3?2:1,pe()):G!==-1&&(d.column++,d.offset++),d._bufferIndex<0?d._index++:(d._bufferIndex++,d._bufferIndex===b[d._index].length&&(d._bufferIndex=-1,d._index++)),_.previous=G}function be(G,xe){const U=xe||{};return U.type=G,U.start=j(),_.events.push(["enter",U,_]),y.push(U),U}function ge(G){const xe=y.pop();return xe.end=j(),_.events.push(["exit",xe,_]),xe}function ae(G,xe){de(G,xe.from)}function ne(G,xe){xe.restore()}function se(G,xe){return U;function U(Be,Pe,je){let Ie,Se,Ce,ke;return Array.isArray(Be)?zt(Be):"tokenize"in Be?zt([Be]):Ke(Be);function Ke(Et){return Wt;function Wt(un){const yt=un!==null&&Et[un],Bt=un!==null&&Et.null,Ze=[...Array.isArray(yt)?yt:yt?[yt]:[],...Array.isArray(Bt)?Bt:Bt?[Bt]:[]];return zt(Ze)(un)}}function zt(Et){return Ie=Et,Se=0,Et.length===0?je:Ne(Et[Se])}function Ne(Et){return Wt;function Wt(un){return ke=X(),Ce=Et,Et.partial||(_.currentConstruct=Et),Et.name&&_.parser.constructs.disable.null.includes(Et.name)?Tt():Et.tokenize.call(xe?Object.assign(Object.create(_),xe):_,E,pn,Tt)(un)}}function pn(Et){return G(Ce,ke),Pe}function Tt(Et){return ke.restore(),++Se<Ie.length?Ne(Ie[Se]):je}}}function de(G,xe){G.resolveAll&&!v.includes(G)&&v.push(G),G.resolve&&r5(_.events,xe,_.events.length-xe,G.resolve(_.events.slice(xe),_)),G.resolveTo&&(_.events=G.resolveTo(_.events,_))}function X(){const G=j(),xe=_.previous,U=_.currentConstruct,Be=_.events.length,Pe=Array.from(y);return{restore:je,from:Be};function je(){d=G,_.previous=xe,_.currentConstruct=U,_.events.length=Be,y=Pe,pe()}}function pe(){d.line in p&&d.column<2&&(d.column=p[d.line],d.offset+=p[d.line]-1)}}function jZt(i,a){const u=a.start._index,d=a.start._bufferIndex,p=a.end._index,v=a.end._bufferIndex;let b;if(u===p)b=[i[u].slice(d,v)];else{if(b=i.slice(u,p),d>-1){const y=b[0];typeof y=="string"?b[0]=y.slice(d):b.shift()}v>0&&b.push(i[p].slice(0,v))}return b}function $Zt(i,a){let u=-1;const d=[];let p;for(;++u<i.length;){const v=i[u];let b;if(typeof v=="string")b=v;else switch(v){case-5:{b="\r";break}case-4:{b=`
`;break}case-3:{b=`\r
`;break}case-2:{b=a?" ":" ";break}case-1:{if(!a&&p)continue;b=" ";break}default:b=String.fromCharCode(v)}p=v===-2,d.push(b)}return d.join("")}const zZt=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:{null:[42,95]},contentInitial:{91:HJt},disable:{null:[]},document:{42:Q2,43:Q2,45:Q2,48:Q2,49:Q2,50:Q2,51:Q2,52:Q2,53:Q2,54:Q2,55:Q2,56:Q2,57:Q2,62:kVe},flow:{35:YJt,42:lJ,45:[OVe,lJ],60:ZJt,61:OVe,95:lJ,96:_Ve,126:_Ve},flowInitial:{[-2]:Xme,[-1]:Xme,32:Xme},insideSpan:{null:[Wme,NZt]},string:{38:CVe,92:TVe},text:{[-5]:Jme,[-4]:Jme,[-3]:Jme,33:mZt,38:CVe,42:Wme,60:[yJt,aZt],91:wZt,92:[KJt,TVe],93:Qme,95:Wme,96:OJt}},Symbol.toStringTag,{value:"Module"}));function qZt(i){const u=iJt([zZt,...(i||{}).extensions||[]]),d={defined:[],lazy:{},constructs:u,content:p(dJt),document:p(pJt),flow:p(IZt),string:p(PZt),text:p(BZt)};return d;function p(v){return b;function b(y){return RZt(d,v,y)}}}const BVe=/[\0\t\n\r]/g;function HZt(){let i=1,a="",u=!0,d;return p;function p(v,b,y){const E=[];let _,A,P,R,B;for(v=a+v.toString(b),P=0,a="",u&&(v.charCodeAt(0)===65279&&P++,u=void 0);P<v.length;){if(BVe.lastIndex=P,_=BVe.exec(v),R=_&&_.index!==void 0?_.index:v.length,B=v.charCodeAt(R),!_){a=v.slice(P);break}if(B===10&&P===R&&d)E.push(-3),d=void 0;else switch(d&&(E.push(-5),d=void 0),P<R&&(E.push(v.slice(P,R)),i+=R-P),B){case 0:{E.push(65533),i++;break}case 9:{for(A=Math.ceil(i/4)*4,E.push(-2);i++<A;)E.push(-1);break}case 10:{E.push(-4),i=1;break}default:d=!0,i=1}P=R+1}return y&&(d&&E.push(-5),a&&E.push(a),E.push(null)),E}}function UZt(i){for(;!AVe(i););return i}function FVe(i,a){const u=Number.parseInt(i,a);return u<9||u===11||u>13&&u<32||u>126&&u<160||u>55295&&u<57344||u>64975&&u<65008||(u&65535)===65535||(u&65535)===65534||u>1114111?"<22>":String.fromCharCode(u)}const VZt=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function GZt(i){return i.replace(VZt,KZt)}function KZt(i,a,u){if(a)return a;if(u.charCodeAt(0)===35){const p=u.charCodeAt(1),v=p===120||p===88;return FVe(u.slice(v?2:1),v?16:10)}return Yme(u)||i}function hJ(i){return!i||typeof i!="object"?"":"position"in i||"type"in i?RVe(i.position):"start"in i||"end"in i?RVe(i):"line"in i||"column"in i?Zme(i):""}function Zme(i){return jVe(i&&i.line)+":"+jVe(i&&i.column)}function RVe(i){return Zme(i&&i.start)+"-"+Zme(i&&i.end)}function jVe(i){return i&&typeof i=="number"?i:1}const $Ve={}.hasOwnProperty,zVe=function(i,a,u){return typeof a!="string"&&(u=a,a=void 0),WZt(u)(UZt(qZt(u).document().write(HZt()(i,a,!0))))};function WZt(i){const a={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:y(ia),autolinkProtocol:G,autolinkEmail:G,atxHeading:y(qr),blockQuote:y(Ze),characterEscape:G,characterReference:G,codeFenced:y(Dt),codeFencedFenceInfo:E,codeFencedFenceMeta:E,codeIndented:y(Dt,E),codeText:y(kt,E),codeTextData:G,data:G,codeFlowValue:G,definition:y(Nn),definitionDestinationString:E,definitionLabelString:E,definitionTitleString:E,emphasis:y(ht),hardBreakEscape:y(xt),hardBreakTrailing:y(xt),htmlFlow:y(Ri,E),htmlFlowData:G,htmlText:y(Ri,E),htmlTextData:G,image:y(wi),label:E,link:y(ia),listItem:y(mo),listItemValue:j,listOrdered:y(Hs,B),listUnordered:y(Hs),paragraph:y(Tr),reference:Tt,referenceString:E,resourceDestinationString:E,resourceTitleString:E,setextHeading:y(qr),strong:y(On),thematicBreak:y(zn)},exit:{atxHeading:A(),atxHeadingSequence:se,autolink:A(),autolinkEmail:Bt,autolinkProtocol:yt,blockQuote:A(),characterEscapeValue:xe,characterReferenceMarkerHexadecimal:Wt,characterReferenceMarkerNumeric:Wt,characterReferenceValue:un,codeFenced:A(oe),codeFencedFence:ie,codeFencedFenceInfo:W,codeFencedFenceMeta:ee,codeFlowValue:xe,codeIndented:A(be),codeText:A(Ie),codeTextData:xe,data:xe,definition:A(),definitionDestinationString:ne,definitionLabelString:ge,definitionTitleString:ae,emphasis:A(),hardBreakEscape:A(Be),hardBreakTrailing:A(Be),htmlFlow:A(Pe),htmlFlowData:xe,htmlText:A(je),htmlTextData:xe,image:A(Ce),label:Ke,labelText:ke,lineEnding:U,link:A(Se),listItem:A(),listOrdered:A(),listUnordered:A(),paragraph:A(),referenceString:Et,resourceDestinationString:zt,resourceTitleString:Ne,resource:pn,setextHeading:A(pe),setextHeadingLineSequence:X,setextHeadingText:de,strong:A(),thematicBreak:A()}};qVe(a,(i||{}).mdastExtensions||[]);const u={};return d;function d(Ct){let gt={type:"root",children:[]};const on={stack:[gt],tokenStack:[],config:a,enter:_,exit:P,buffer:E,resume:R,setData:v,getData:b},dn=[];let Ln=-1;for(;++Ln<Ct.length;)if(Ct[Ln][1].type==="listOrdered"||Ct[Ln][1].type==="listUnordered")if(Ct[Ln][0]==="enter")dn.push(Ln);else{const Io=dn.pop();Ln=p(Ct,Io,Ln)}for(Ln=-1;++Ln<Ct.length;){const Io=a[Ct[Ln][0]];$Ve.call(Io,Ct[Ln][1].type)&&Io[Ct[Ln][1].type].call(Object.assign({sliceSerialize:Ct[Ln][2].sliceSerialize},on),Ct[Ln][1])}if(on.tokenStack.length>0){const Io=on.tokenStack[on.tokenStack.length-1];(Io[1]||HVe).call(on,void 0,Io[0])}for(gt.position={start:B9(Ct.length>0?Ct[0][1].start:{line:1,column:1,offset:0}),end:B9(Ct.length>0?Ct[Ct.length-2][1].end:{line:1,column:1,offset:0})},Ln=-1;++Ln<a.transforms.length;)gt=a.transforms[Ln](gt)||gt;return gt}function p(Ct,gt,on){let dn=gt-1,Ln=-1,Io=!1,Oo,No,Us,uo;for(;++dn<=on;){const Es=Ct[dn];if(Es[1].type==="listUnordered"||Es[1].type==="listOrdered"||Es[1].type==="blockQuote"?(Es[0]==="enter"?Ln++:Ln--,uo=void 0):Es[1].type==="lineEndingBlank"?Es[0]==="enter"&&(Oo&&!uo&&!Ln&&!Us&&(Us=dn),uo=void 0):Es[1].type==="linePrefix"||Es[1].type==="listItemValue"||Es[1].type==="listItemMarker"||Es[1].type==="listItemPrefix"||Es[1].type==="listItemPrefixWhitespace"||(uo=void 0),!Ln&&Es[0]==="enter"&&Es[1].type==="listItemPrefix"||Ln===-1&&Es[0]==="exit"&&(Es[1].type==="listUnordered"||Es[1].type==="listOrdered")){if(Oo){let Ou=dn;for(No=void 0;Ou--;){const _c=Ct[Ou];if(_c[1].type==="lineEnding"||_c[1].type==="lineEndingBlank"){if(_c[0]==="exit")continue;No&&(Ct[No][1].type="lineEndingBlank",Io=!0),_c[1].type="lineEnding",No=Ou}else if(!(_c[1].type==="linePrefix"||_c[1].type==="blockQuotePrefix"||_c[1].type==="blockQuotePrefixWhitespace"||_c[1].type==="blockQuoteMarker"||_c[1].type==="listItemIndent"))break}Us&&(!No||Us<No)&&(Oo._spread=!0),Oo.end=Object.assign({},No?Ct[No][1].start:Es[1].end),Ct.splice(No||dn,0,["exit",Oo,Es[2]]),dn++,on++}Es[1].type==="listItemPrefix"&&(Oo={type:"listItem",_spread:!1,start:Object.assign({},Es[1].start),end:void 0},Ct.splice(dn,0,["enter",Oo,Es[2]]),dn++,on++,Us=void 0,uo=!0)}}return Ct[gt][1]._spread=Io,on}function v(Ct,gt){u[Ct]=gt}function b(Ct){return u[Ct]}function y(Ct,gt){return on;function on(dn){_.call(this,Ct(dn),dn),gt&&gt.call(this,dn)}}function E(){this.stack.push({type:"fragment",children:[]})}function _(Ct,gt,on){return this.stack[this.stack.length-1].children.push(Ct),this.stack.push(Ct),this.tokenStack.push([gt,on]),Ct.position={start:B9(gt.start)},Ct}function A(Ct){return gt;function gt(on){Ct&&Ct.call(this,on),P.call(this,on)}}function P(Ct,gt){const on=this.stack.pop(),dn=this.tokenStack.pop();if(dn)dn[0].type!==Ct.type&&(gt?gt.call(this,Ct,dn[0]):(dn[1]||HVe).call(this,Ct,dn[0]));else throw new Error("Cannot close `"+Ct.type+"` ("+hJ({start:Ct.start,end:Ct.end})+"): its not open");return on.position.end=B9(Ct.end),on}function R(){return nJt(this.stack.pop())}function B(){v("expectingFirstListItemValue",!0)}function j(Ct){if(b("expectingFirstListItemValue")){const gt=this.stack[this.stack.length-2];gt.start=Number.parseInt(this.sliceSerialize(Ct),10),v("expectingFirstListItemValue")}}function W(){const Ct=this.resume(),gt=this.stack[this.stack.length-1];gt.lang=Ct}function ee(){const Ct=this.resume(),gt=this.stack[this.stack.length-1];gt.meta=Ct}function ie(){b("flowCodeInside")||(this.buffer(),v("flowCodeInside",!0))}function oe(){const Ct=this.resume(),gt=this.stack[this.stack.length-1];gt.value=Ct.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),v("flowCodeInside")}function be(){const Ct=this.resume(),gt=this.stack[this.stack.length-1];gt.value=Ct.replace(/(\r?\n|\r)$/g,"")}function ge(Ct){const gt=this.resume(),on=this.stack[this.stack.length-1];on.label=gt,on.identifier=QD(this.sliceSerialize(Ct)).toLowerCase()}function ae(){const Ct=this.resume(),gt=this.stack[this.stack.length-1];gt.title=Ct}function ne(){const Ct=this.resume(),gt=this.stack[this.stack.length-1];gt.url=Ct}function se(Ct){const gt=this.stack[this.stack.length-1];if(!gt.depth){const on=this.sliceSerialize(Ct).length;gt.depth=on}}function de(){v("setextHeadingSlurpLineEnding",!0)}function X(Ct){const gt=this.stack[this.stack.length-1];gt.depth=this.sliceSerialize(Ct).charCodeAt(0)===61?1:2}function pe(){v("setextHeadingSlurpLineEnding")}function G(Ct){const gt=this.stack[this.stack.length-1];let on=gt.children[gt.children.length-1];(!on||on.type!=="text")&&(on=Rn(),on.position={start:B9(Ct.start)},gt.children.push(on)),this.stack.push(on)}function xe(Ct){const gt=this.stack.pop();gt.value+=this.sliceSerialize(Ct),gt.position.end=B9(Ct.end)}function U(Ct){const gt=this.stack[this.stack.length-1];if(b("atHardBreak")){const on=gt.children[gt.children.length-1];on.position.end=B9(Ct.end),v("atHardBreak");return}!b("setextHeadingSlurpLineEnding")&&a.canContainEols.includes(gt.type)&&(G.call(this,Ct),xe.call(this,Ct))}function Be(){v("atHardBreak",!0)}function Pe(){const Ct=this.resume(),gt=this.stack[this.stack.length-1];gt.value=Ct}function je(){const Ct=this.resume(),gt=this.stack[this.stack.length-1];gt.value=Ct}function Ie(){const Ct=this.resume(),gt=this.stack[this.stack.length-1];gt.value=Ct}function Se(){const Ct=this.stack[this.stack.length-1];if(b("inReference")){const gt=b("referenceType")||"shortcut";Ct.type+="Reference",Ct.referenceType=gt,delete Ct.url,delete Ct.title}else delete Ct.identifier,delete Ct.label;v("referenceType")}function Ce(){const Ct=this.stack[this.stack.length-1];if(b("inReference")){const gt=b("referenceType")||"shortcut";Ct.type+="Reference",Ct.referenceType=gt,delete Ct.url,delete Ct.title}else delete Ct.identifier,delete Ct.label;v("referenceType")}function ke(Ct){const gt=this.sliceSerialize(Ct),on=this.stack[this.stack.length-2];on.label=GZt(gt),on.identifier=QD(gt).toLowerCase()}function Ke(){const Ct=this.stack[this.stack.length-1],gt=this.resume(),on=this.stack[this.stack.length-1];if(v("inReference",!0),on.type==="link"){const dn=Ct.children;on.children=dn}else on.alt=gt}function zt(){const Ct=this.resume(),gt=this.stack[this.stack.length-1];gt.url=Ct}function Ne(){const Ct=this.resume(),gt=this.stack[this.stack.length-1];gt.title=Ct}function pn(){v("inReference")}function Tt(){v("referenceType","collapsed")}function Et(Ct){const gt=this.resume(),on=this.stack[this.stack.length-1];on.label=gt,on.identifier=QD(this.sliceSerialize(Ct)).toLowerCase(),v("referenceType","full")}function Wt(Ct){v("characterReferenceType",Ct.type)}function un(Ct){const gt=this.sliceSerialize(Ct),on=b("characterReferenceType");let dn;on?(dn=FVe(gt,on==="characterReferenceMarkerNumeric"?10:16),v("characterReferenceType")):dn=Yme(gt);const Ln=this.stack.pop();Ln.value+=dn,Ln.position.end=B9(Ct.end)}function yt(Ct){xe.call(this,Ct);const gt=this.stack[this.stack.length-1];gt.url=this.sliceSerialize(Ct)}function Bt(Ct){xe.call(this,Ct);const gt=this.stack[this.stack.length-1];gt.url="mailto:"+this.sliceSerialize(Ct)}function Ze(){return{type:"blockquote",children:[]}}function Dt(){return{type:"code",lang:null,meta:null,value:""}}function kt(){return{type:"inlineCode",value:""}}function Nn(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function ht(){return{type:"emphasis",children:[]}}function qr(){return{type:"heading",depth:void 0,children:[]}}function xt(){return{type:"break"}}function Ri(){return{type:"html",value:""}}function wi(){return{type:"image",title:null,url:"",alt:null}}function ia(){return{type:"link",title:null,url:"",children:[]}}function Hs(Ct){return{type:"list",ordered:Ct.type==="listOrdered",start:null,spread:Ct._spread,children:[]}}function mo(Ct){return{type:"listItem",spread:Ct._spread,checked:null,children:[]}}function Tr(){return{type:"paragraph",children:[]}}function On(){return{type:"strong",children:[]}}function Rn(){return{type:"text",value:""}}function zn(){return{type:"thematicBreak"}}}function B9(i){return{line:i.line,column:i.column,offset:i.offset}}function qVe(i,a){let u=-1;for(;++u<a.length;){const d=a[u];Array.isArray(d)?qVe(i,d):YZt(i,d)}}function YZt(i,a){let u;for(u in a)if($Ve.call(a,u)){if(u==="canContainEols"){const d=a[u];d&&i[u].push(...d)}else if(u==="transforms"){const d=a[u];d&&i[u].push(...d)}else if(u==="enter"||u==="exit"){const d=a[u];d&&Object.assign(i[u],d)}}}function HVe(i,a){throw i?new Error("Cannot close `"+i.type+"` ("+hJ({start:i.start,end:i.end})+"): a different token (`"+a.type+"`, "+hJ({start:a.start,end:a.end})+") is open"):new Error("Cannot close document, a token (`"+a.type+"`, "+hJ({start:a.start,end:a.end})+") is still open")}function XZt(i){const a=i.replace(/\n{2,}/g,`
`);return ZM(a)}function QZt(i){const a=XZt(i),{children:u}=zVe(a),d=[[]];let p=0;function v(b,y="normal"){b.type==="text"?b.value.split(`
`).forEach((_,A)=>{A!==0&&(p++,d.push([])),_.split(" ").forEach(P=>{P&&d[p].push({content:P,type:y})})}):(b.type==="strong"||b.type==="emphasis")&&b.children.forEach(E=>{v(E,b.type)})}return u.forEach(b=>{b.type==="paragraph"&&b.children.forEach(y=>{v(y)})}),d}function JZt(i){const{children:a}=zVe(i);function u(d){return d.type==="text"?d.value.replace(/\n/g,"<br/>"):d.type==="strong"?`<strong>${d.children.map(u).join("")}</strong>`:d.type==="emphasis"?`<em>${d.children.map(u).join("")}</em>`:d.type==="paragraph"?`<p>${d.children.map(u).join("")}</p>`:`Unsupported markdown: ${d.type}`}return a.map(u).join("")}function ZZt(i){return Intl.Segmenter?[...new Intl.Segmenter().segment(i)].map(a=>a.segment):[...i]}function een(i,a){const u=ZZt(a.content);return UVe(i,[],u,a.type)}function UVe(i,a,u,d){if(u.length===0)return[{content:a.join(""),type:d},{content:"",type:d}];const[p,...v]=u,b=[...a,p];return i([{content:b.join(""),type:d}])?UVe(i,b,v,d):(a.length===0&&p&&(a.push(p),u.shift()),[{content:a.join(""),type:d},{content:u.join(""),type:d}])}function ten(i,a){if(i.some(({content:u})=>u.includes(`
`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return eve(i,a)}function eve(i,a,u=[],d=[]){if(i.length===0)return d.length>0&&u.push(d),u.length>0?u:[];let p="";i[0].content===" "&&(p=" ",i.shift());const v=i.shift()??{content:" ",type:"normal"},b=[...d];if(p!==""&&b.push({content:p,type:"normal"}),b.push(v),a(b))return eve(i,a,u,b);if(d.length>0)u.push(d),i.unshift(v);else if(v.content){const[y,E]=een(a,v);u.push([y]),E.content&&i.unshift(E)}return eve(i,a,u)}function nen(i,a){a&&i.attr("style",a)}function ren(i,a,u,d,p=!1){const v=i.append("foreignObject"),b=v.append("xhtml:div"),y=a.label,E=a.isNode?"nodeLabel":"edgeLabel";b.html(bh(`
<span class="${E} ${d}" `+(a.labelStyle?'style="'+a.labelStyle+'"':"")+">"+y+"</span>",mh())),nen(b,a.labelStyle),b.style("display","table-cell"),b.style("white-space","nowrap"),b.style("max-width",u+"px"),b.attr("xmlns","http://www.w3.org/1999/xhtml"),p&&b.attr("class","labelBkg");let _=b.node().getBoundingClientRect();return _.width===u&&(b.style("display","table"),b.style("white-space","break-spaces"),b.style("width",u+"px"),_=b.node().getBoundingClientRect()),v.style("width",_.width),v.style("height",_.height),v.node()}function tve(i,a,u){return i.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",a*u-.1+"em").attr("dy",u+"em")}function ien(i,a,u){const d=i.append("text"),p=tve(d,1,a);nve(p,u);const v=p.node().getComputedTextLength();return d.remove(),v}function sen(i,a,u){var b;const d=i.append("text"),p=tve(d,1,a);nve(p,[{content:u,type:"normal"}]);const v=(b=p.node())==null?void 0:b.getBoundingClientRect();return v&&d.remove(),v}function aen(i,a,u,d=!1){const v=a.append("g"),b=v.insert("rect").attr("class","background"),y=v.append("text").attr("y","-10.1");let E=0;for(const _ of u){const A=R=>ien(v,1.1,R)<=i,P=A(_)?[_]:ten(_,A);for(const R of P){const B=tve(y,E,1.1);nve(B,R),E++}}if(d){const _=y.node().getBBox(),A=2;return b.attr("x",-A).attr("y",-A).attr("width",_.width+2*A).attr("height",_.height+2*A),v.node()}else return y.node()}function nve(i,a){i.text(""),a.forEach((u,d)=>{const p=i.append("tspan").attr("font-style",u.type==="emphasis"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",u.type==="strong"?"bold":"normal");d===0?p.text(u.content):p.text(" "+u.content)})}const fJ=(i,a="",{style:u="",isTitle:d=!1,classes:p="",useHtmlLabels:v=!0,isNode:b=!0,width:y=200,addSvgBackground:E=!1}={})=>{if(Xe.info("createText",a,u,d,p,v,b,E),v){const _=JZt(a),A={isNode:b,label:uR(_).replace(/fa[blrs]?:fa-[\w-]+/g,R=>`<i class='${R.replace(":"," ")}'></i>`),labelStyle:u.replace("fill:","color:")};return ren(i,A,y,p,E)}else{const _=QZt(a);return aen(y,i,_,E)}},g1=async(i,a,u,d)=>{let p;const v=a.useHtmlLabels||h1(qt().flowchart.htmlLabels);u?p=u:p="node default";const b=i.insert("g").attr("class",p).attr("id",a.domId||a.id),y=b.insert("g").attr("class","label").attr("style",a.labelStyle);let E;a.labelText===void 0?E="":E=typeof a.labelText=="string"?a.labelText:a.labelText[0];const _=y.node();let A;a.labelType==="markdown"?A=fJ(y,bh(uR(E),qt()),{useHtmlLabels:v,width:a.width||qt().flowchart.wrappingWidth,classes:"markdown-node-label"}):A=_.appendChild(Y2(bh(uR(E),qt()),a.labelStyle,!1,d));let P=A.getBBox();const R=a.padding/2;if(h1(qt().flowchart.htmlLabels)){const B=A.children[0],j=Dr(A),W=B.getElementsByTagName("img");if(W){const ee=E.replace(/<img[^>]*>/g,"").trim()==="";await Promise.all([...W].map(ie=>new Promise(oe=>{function be(){if(ie.style.display="flex",ie.style.flexDirection="column",ee){const ge=qt().fontSize?qt().fontSize:window.getComputedStyle(document.body).fontSize,ae=5,ne=parseInt(ge,10)*ae+"px";ie.style.minWidth=ne,ie.style.maxWidth=ne}else ie.style.width="100%";oe(ie)}setTimeout(()=>{ie.complete&&be()}),ie.addEventListener("error",be),ie.addEventListener("load",be)})))}P=B.getBoundingClientRect(),j.attr("width",P.width),j.attr("height",P.height)}return v?y.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"):y.attr("transform","translate(0, "+-P.height/2+")"),a.centerLabel&&y.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),y.insert("rect",":first-child"),{shapeSvg:b,bbox:P,halfPadding:R,label:y}},Gh=(i,a)=>{const u=a.node().getBBox();i.width=u.width,i.height=u.height};function s5(i,a,u,d){return i.insert("polygon",":first-child").attr("points",d.map(function(p){return p.x+","+p.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-a/2+","+u/2+")")}let _o={},W3={},VVe={};const oen=()=>{W3={},VVe={},_o={}},dJ=(i,a)=>(Xe.trace("In isDescendant",a," ",i," = ",W3[a].includes(i)),!!W3[a].includes(i)),cen=(i,a)=>(Xe.info("Descendants of ",a," is ",W3[a]),Xe.info("Edge is ",i),i.v===a||i.w===a?!1:W3[a]?W3[a].includes(i.v)||dJ(i.v,a)||dJ(i.w,a)||W3[a].includes(i.w):(Xe.debug("Tilt, ",a,",not in descendants"),!1)),GVe=(i,a,u,d)=>{Xe.warn("Copying children of ",i,"root",d,"data",a.node(i),d);const p=a.children(i)||[];i!==d&&p.push(i),Xe.warn("Copying (nodes) clusterId",i,"nodes",p),p.forEach(v=>{if(a.children(v).length>0)GVe(v,a,u,d);else{const b=a.node(v);Xe.info("cp ",v," to ",d," with parent ",i),u.setNode(v,b),d!==a.parent(v)&&(Xe.warn("Setting parent",v,a.parent(v)),u.setParent(v,a.parent(v))),i!==d&&v!==i?(Xe.debug("Setting parent",v,i),u.setParent(v,i)):(Xe.info("In copy ",i,"root",d,"data",a.node(i),d),Xe.debug("Not Setting parent for node=",v,"cluster!==rootId",i!==d,"node!==clusterId",v!==i));const y=a.edges(v);Xe.debug("Copying Edges",y),y.forEach(E=>{Xe.info("Edge",E);const _=a.edge(E.v,E.w,E.name);Xe.info("Edge data",_,d);try{cen(E,d)?(Xe.info("Copying as ",E.v,E.w,_,E.name),u.setEdge(E.v,E.w,_,E.name),Xe.info("newGraph edges ",u.edges(),u.edge(u.edges()[0]))):Xe.info("Skipping copy of edge ",E.v,"-->",E.w," rootId: ",d," clusterId:",i)}catch(A){Xe.error(A)}})}Xe.debug("Removing node",v),a.removeNode(v)})},KVe=(i,a)=>{const u=a.children(i);let d=[...u];for(const p of u)VVe[p]=i,d=[...d,...KVe(p,a)];return d},FR=(i,a)=>{Xe.trace("Searching",i);const u=a.children(i);if(Xe.trace("Searching children of id ",i,u),u.length<1)return Xe.trace("This is a valid node",i),i;for(const d of u){const p=FR(d,a);if(p)return Xe.trace("Found replacement for",i," => ",p),p}},gJ=i=>!_o[i]||!_o[i].externalConnections?i:_o[i]?_o[i].id:i,uen=(i,a)=>{if(!i||a>10){Xe.debug("Opting out, no graph ");return}else Xe.debug("Opting in, graph ");i.nodes().forEach(function(u){i.children(u).length>0&&(Xe.warn("Cluster identified",u," Replacement id in edges: ",FR(u,i)),W3[u]=KVe(u,i),_o[u]={id:FR(u,i),clusterData:i.node(u)})}),i.nodes().forEach(function(u){const d=i.children(u),p=i.edges();d.length>0?(Xe.debug("Cluster identified",u,W3),p.forEach(v=>{if(v.v!==u&&v.w!==u){const b=dJ(v.v,u),y=dJ(v.w,u);b^y&&(Xe.warn("Edge: ",v," leaves cluster ",u),Xe.warn("Descendants of XXX ",u,": ",W3[u]),_o[u].externalConnections=!0)}})):Xe.debug("Not a cluster ",u,W3)});for(let u of Object.keys(_o)){const d=_o[u].id,p=i.parent(d);p!==u&&_o[p]&&!_o[p].externalConnections&&(_o[u].id=p)}i.edges().forEach(function(u){const d=i.edge(u);Xe.warn("Edge "+u.v+" -> "+u.w+": "+JSON.stringify(u)),Xe.warn("Edge "+u.v+" -> "+u.w+": "+JSON.stringify(i.edge(u)));let p=u.v,v=u.w;if(Xe.warn("Fix XXX",_o,"ids:",u.v,u.w,"Translating: ",_o[u.v]," --- ",_o[u.w]),_o[u.v]&&_o[u.w]&&_o[u.v]===_o[u.w]){Xe.warn("Fixing and trixing link to self - removing XXX",u.v,u.w,u.name),Xe.warn("Fixing and trixing - removing XXX",u.v,u.w,u.name),p=gJ(u.v),v=gJ(u.w),i.removeEdge(u.v,u.w,u.name);const b=u.w+"---"+u.v;i.setNode(b,{domId:b,id:b,labelStyle:"",labelText:d.label,padding:0,shape:"labelRect",style:""});const y=structuredClone(d),E=structuredClone(d);y.label="",y.arrowTypeEnd="none",E.label="",y.fromCluster=u.v,E.toCluster=u.v,i.setEdge(p,b,y,u.name+"-cyclic-special"),i.setEdge(b,v,E,u.name+"-cyclic-special")}else if(_o[u.v]||_o[u.w]){if(Xe.warn("Fixing and trixing - removing XXX",u.v,u.w,u.name),p=gJ(u.v),v=gJ(u.w),i.removeEdge(u.v,u.w,u.name),p!==u.v){const b=i.parent(p);_o[b].externalConnections=!0,d.fromCluster=u.v}if(v!==u.w){const b=i.parent(v);_o[b].externalConnections=!0,d.toCluster=u.w}Xe.warn("Fix Replacing with XXX",p,v,u.name),i.setEdge(p,v,d,u.name)}}),Xe.warn("Adjusted Graph",H7(i)),WVe(i,0),Xe.trace(_o)},WVe=(i,a)=>{if(Xe.warn("extractor - ",a,H7(i),i.children("D")),a>10){Xe.error("Bailing out");return}let u=i.nodes(),d=!1;for(const p of u){const v=i.children(p);d=d||v.length>0}if(!d){Xe.debug("Done, no node has children",i.nodes());return}Xe.debug("Nodes = ",u,a);for(const p of u)if(Xe.debug("Extracting node",p,_o,_o[p]&&!_o[p].externalConnections,!i.parent(p),i.node(p),i.children("D")," Depth ",a),!_o[p])Xe.debug("Not a cluster",p,a);else if(!_o[p].externalConnections&&i.children(p)&&i.children(p).length>0){Xe.warn("Cluster without external connections, without a parent and with children",p,a);let b=i.graph().rankdir==="TB"?"LR":"TB";_o[p]&&_o[p].clusterData&&_o[p].clusterData.dir&&(b=_o[p].clusterData.dir,Xe.warn("Fixing dir",_o[p].clusterData.dir,b));const y=new R0({multigraph:!0,compound:!0}).setGraph({rankdir:b,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});Xe.warn("Old graph before copy",H7(i)),GVe(p,i,y,p),i.setNode(p,{clusterNode:!0,id:p,clusterData:_o[p].clusterData,labelText:_o[p].labelText,graph:y}),Xe.warn("New graph after copy node: (",p,")",H7(y)),Xe.debug("Old graph after copy",H7(i))}else Xe.warn("Cluster ** ",p," **not meeting the criteria !externalConnections:",!_o[p].externalConnections," no parent: ",!i.parent(p)," children ",i.children(p)&&i.children(p).length>0,i.children("D"),a),Xe.debug(_o);u=i.nodes(),Xe.warn("New list of nodes",u);for(const p of u){const v=i.node(p);Xe.warn(" Now next level",p,v),v.clusterNode&&WVe(v.graph,a+1)}},YVe=(i,a)=>{if(a.length===0)return[];let u=Object.assign(a);return a.forEach(d=>{const p=i.children(d),v=YVe(i,p);u=[...u,...v]}),u},len=i=>YVe(i,i.children());function hen(i,a){return i.intersect(a)}function XVe(i,a,u,d){var p=i.x,v=i.y,b=p-d.x,y=v-d.y,E=Math.sqrt(a*a*y*y+u*u*b*b),_=Math.abs(a*u*b/E);d.x<p&&(_=-_);var A=Math.abs(a*u*y/E);return d.y<v&&(A=-A),{x:p+_,y:v+A}}function fen(i,a,u){return XVe(i,a,a,u)}function den(i,a,u,d){var p,v,b,y,E,_,A,P,R,B,j,W,ee,ie,oe;if(p=a.y-i.y,b=i.x-a.x,E=a.x*i.y-i.x*a.y,R=p*u.x+b*u.y+E,B=p*d.x+b*d.y+E,!(R!==0&&B!==0&&QVe(R,B))&&(v=d.y-u.y,y=u.x-d.x,_=d.x*u.y-u.x*d.y,A=v*i.x+y*i.y+_,P=v*a.x+y*a.y+_,!(A!==0&&P!==0&&QVe(A,P))&&(j=p*y-v*b,j!==0)))return W=Math.abs(j/2),ee=b*_-y*E,ie=ee<0?(ee-W)/j:(ee+W)/j,ee=v*E-p*_,oe=ee<0?(ee-W)/j:(ee+W)/j,{x:ie,y:oe}}function QVe(i,a){return i*a>0}function gen(i,a,u){var d=i.x,p=i.y,v=[],b=Number.POSITIVE_INFINITY,y=Number.POSITIVE_INFINITY;typeof a.forEach=="function"?a.forEach(function(j){b=Math.min(b,j.x),y=Math.min(y,j.y)}):(b=Math.min(b,a.x),y=Math.min(y,a.y));for(var E=d-i.width/2-b,_=p-i.height/2-y,A=0;A<a.length;A++){var P=a[A],R=a[A<a.length-1?A+1:0],B=den(i,u,{x:E+P.x,y:_+P.y},{x:E+R.x,y:_+R.y});B&&v.push(B)}return v.length?(v.length>1&&v.sort(function(j,W){var ee=j.x-u.x,ie=j.y-u.y,oe=Math.sqrt(ee*ee+ie*ie),be=W.x-u.x,ge=W.y-u.y,ae=Math.sqrt(be*be+ge*ge);return oe<ae?-1:oe===ae?0:1}),v[0]):i}const RR=(i,a)=>{var u=i.x,d=i.y,p=a.x-u,v=a.y-d,b=i.width/2,y=i.height/2,E,_;return Math.abs(v)*b>Math.abs(p)*y?(v<0&&(y=-y),E=v===0?0:y*p/v,_=y):(p<0&&(b=-b),E=b,_=p===0?0:b*v/p),{x:u+E,y:d+_}},yh={node:hen,circle:fen,ellipse:XVe,polygon:gen,rect:RR},pen=async(i,a)=>{a.useHtmlLabels||qt().flowchart.htmlLabels||(a.centerLabel=!0);const{shapeSvg:d,bbox:p,halfPadding:v}=await g1(i,a,"node "+a.classes,!0);Xe.info("Classes = ",a.classes);const b=d.insert("rect",":first-child");return b.attr("rx",a.rx).attr("ry",a.ry).attr("x",-p.width/2-v).attr("y",-p.height/2-v).attr("width",p.width+a.padding).attr("height",p.height+a.padding),Gh(a,b),a.intersect=function(y){return yh.rect(a,y)},d},ben=i=>{const a=new Set;for(const u of i)switch(u){case"x":a.add("right"),a.add("left");break;case"y":a.add("up"),a.add("down");break;default:a.add(u);break}return a},men=(i,a,u)=>{const d=ben(i),p=2,v=a.height+2*u.padding,b=v/p,y=a.width+2*b+u.padding,E=u.padding/2;return d.has("right")&&d.has("left")&&d.has("up")&&d.has("down")?[{x:0,y:0},{x:b,y:0},{x:y/2,y:2*E},{x:y-b,y:0},{x:y,y:0},{x:y,y:-v/3},{x:y+2*E,y:-v/2},{x:y,y:-2*v/3},{x:y,y:-v},{x:y-b,y:-v},{x:y/2,y:-v-2*E},{x:b,y:-v},{x:0,y:-v},{x:0,y:-2*v/3},{x:-2*E,y:-v/2},{x:0,y:-v/3}]:d.has("right")&&d.has("left")&&d.has("up")?[{x:b,y:0},{x:y-b,y:0},{x:y,y:-v/2},{x:y-b,y:-v},{x:b,y:-v},{x:0,y:-v/2}]:d.has("right")&&d.has("left")&&d.has("down")?[{x:0,y:0},{x:b,y:-v},{x:y-b,y:-v},{x:y,y:0}]:d.has("right")&&d.has("up")&&d.has("down")?[{x:0,y:0},{x:y,y:-b},{x:y,y:-v+b},{x:0,y:-v}]:d.has("left")&&d.has("up")&&d.has("down")?[{x:y,y:0},{x:0,y:-b},{x:0,y:-v+b},{x:y,y:-v}]:d.has("right")&&d.has("left")?[{x:b,y:0},{x:b,y:-E},{x:y-b,y:-E},{x:y-b,y:0},{x:y,y:-v/2},{x:y-b,y:-v},{x:y-b,y:-v+E},{x:b,y:-v+E},{x:b,y:-v},{x:0,y:-v/2}]:d.has("up")&&d.has("down")?[{x:y/2,y:0},{x:0,y:-E},{x:b,y:-E},{x:b,y:-v+E},{x:0,y:-v+E},{x:y/2,y:-v},{x:y,y:-v+E},{x:y-b,y:-v+E},{x:y-b,y:-E},{x:y,y:-E}]:d.has("right")&&d.has("up")?[{x:0,y:0},{x:y,y:-b},{x:0,y:-v}]:d.has("right")&&d.has("down")?[{x:0,y:0},{x:y,y:0},{x:0,y:-v}]:d.has("left")&&d.has("up")?[{x:y,y:0},{x:0,y:-b},{x:y,y:-v}]:d.has("left")&&d.has("down")?[{x:y,y:0},{x:0,y:0},{x:y,y:-v}]:d.has("right")?[{x:b,y:-E},{x:b,y:-E},{x:y-b,y:-E},{x:y-b,y:0},{x:y,y:-v/2},{x:y-b,y:-v},{x:y-b,y:-v+E},{x:b,y:-v+E},{x:b,y:-v+E}]:d.has("left")?[{x:b,y:0},{x:b,y:-E},{x:y-b,y:-E},{x:y-b,y:-v+E},{x:b,y:-v+E},{x:b,y:-v},{x:0,y:-v/2}]:d.has("up")?[{x:b,y:-E},{x:b,y:-v+E},{x:0,y:-v+E},{x:y/2,y:-v},{x:y,y:-v+E},{x:y-b,y:-v+E},{x:y-b,y:-E}]:d.has("down")?[{x:y/2,y:0},{x:0,y:-E},{x:b,y:-E},{x:b,y:-v+E},{x:y-b,y:-v+E},{x:y-b,y:-E},{x:y,y:-E}]:[{x:0,y:0}]},JVe=i=>i?" "+i:"",km=(i,a)=>`${a||"node default"}${JVe(i.classes)} ${JVe(i.class)}`,ZVe=async(i,a)=>{const{shapeSvg:u,bbox:d}=await g1(i,a,km(a,void 0),!0),p=d.width+a.padding,v=d.height+a.padding,b=p+v,y=[{x:b/2,y:0},{x:b,y:-b/2},{x:b/2,y:-b},{x:0,y:-b/2}];Xe.info("Question main (Circle)");const E=s5(u,b,b,y);return E.attr("style",a.style),Gh(a,E),a.intersect=function(_){return Xe.warn("Intersect called"),yh.polygon(a,y,_)},u},ven=(i,a)=>{const u=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),d=28,p=[{x:0,y:d/2},{x:d/2,y:0},{x:0,y:-d/2},{x:-d/2,y:0}];return u.insert("polygon",":first-child").attr("points",p.map(function(b){return b.x+","+b.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),a.width=28,a.height=28,a.intersect=function(b){return yh.circle(a,14,b)},u},wen=async(i,a)=>{const{shapeSvg:u,bbox:d}=await g1(i,a,km(a,void 0),!0),p=4,v=d.height+a.padding,b=v/p,y=d.width+2*b+a.padding,E=[{x:b,y:0},{x:y-b,y:0},{x:y,y:-v/2},{x:y-b,y:-v},{x:b,y:-v},{x:0,y:-v/2}],_=s5(u,y,v,E);return _.attr("style",a.style),Gh(a,_),a.intersect=function(A){return yh.polygon(a,E,A)},u},yen=async(i,a)=>{const{shapeSvg:u,bbox:d}=await g1(i,a,void 0,!0),p=2,v=d.height+2*a.padding,b=v/p,y=d.width+2*b+a.padding,E=men(a.directions,d,a),_=s5(u,y,v,E);return _.attr("style",a.style),Gh(a,_),a.intersect=function(A){return yh.polygon(a,E,A)},u},xen=async(i,a)=>{const{shapeSvg:u,bbox:d}=await g1(i,a,km(a,void 0),!0),p=d.width+a.padding,v=d.height+a.padding,b=[{x:-v/2,y:0},{x:p,y:0},{x:p,y:-v},{x:-v/2,y:-v},{x:0,y:-v/2}];return s5(u,p,v,b).attr("style",a.style),a.width=p+v,a.height=v,a.intersect=function(E){return yh.polygon(a,b,E)},u},ken=async(i,a)=>{const{shapeSvg:u,bbox:d}=await g1(i,a,km(a),!0),p=d.width+a.padding,v=d.height+a.padding,b=[{x:-2*v/6,y:0},{x:p-v/6,y:0},{x:p+2*v/6,y:-v},{x:v/6,y:-v}],y=s5(u,p,v,b);return y.attr("style",a.style),Gh(a,y),a.intersect=function(E){return yh.polygon(a,b,E)},u},Ten=async(i,a)=>{const{shapeSvg:u,bbox:d}=await g1(i,a,km(a,void 0),!0),p=d.width+a.padding,v=d.height+a.padding,b=[{x:2*v/6,y:0},{x:p+v/6,y:0},{x:p-2*v/6,y:-v},{x:-v/6,y:-v}],y=s5(u,p,v,b);return y.attr("style",a.style),Gh(a,y),a.intersect=function(E){return yh.polygon(a,b,E)},u},Een=async(i,a)=>{const{shapeSvg:u,bbox:d}=await g1(i,a,km(a,void 0),!0),p=d.width+a.padding,v=d.height+a.padding,b=[{x:-2*v/6,y:0},{x:p+2*v/6,y:0},{x:p-v/6,y:-v},{x:v/6,y:-v}],y=s5(u,p,v,b);return y.attr("style",a.style),Gh(a,y),a.intersect=function(E){return yh.polygon(a,b,E)},u},Cen=async(i,a)=>{const{shapeSvg:u,bbox:d}=await g1(i,a,km(a,void 0),!0),p=d.width+a.padding,v=d.height+a.padding,b=[{x:v/6,y:0},{x:p-v/6,y:0},{x:p+2*v/6,y:-v},{x:-2*v/6,y:-v}],y=s5(u,p,v,b);return y.attr("style",a.style),Gh(a,y),a.intersect=function(E){return yh.polygon(a,b,E)},u},Sen=async(i,a)=>{const{shapeSvg:u,bbox:d}=await g1(i,a,km(a,void 0),!0),p=d.width+a.padding,v=d.height+a.padding,b=[{x:0,y:0},{x:p+v/2,y:0},{x:p,y:-v/2},{x:p+v/2,y:-v},{x:0,y:-v}],y=s5(u,p,v,b);return y.attr("style",a.style),Gh(a,y),a.intersect=function(E){return yh.polygon(a,b,E)},u},_en=async(i,a)=>{const{shapeSvg:u,bbox:d}=await g1(i,a,km(a,void 0),!0),p=d.width+a.padding,v=p/2,b=v/(2.5+p/50),y=d.height+b+a.padding,E="M 0,"+b+" a "+v+","+b+" 0,0,0 "+p+" 0 a "+v+","+b+" 0,0,0 "+-p+" 0 l 0,"+y+" a "+v+","+b+" 0,0,0 "+p+" 0 l 0,"+-y,_=u.attr("label-offset-y",b).insert("path",":first-child").attr("style",a.style).attr("d",E).attr("transform","translate("+-p/2+","+-(y/2+b)+")");return Gh(a,_),a.intersect=function(A){const P=yh.rect(a,A),R=P.x-a.x;if(v!=0&&(Math.abs(R)<a.width/2||Math.abs(R)==a.width/2&&Math.abs(P.y-a.y)>a.height/2-b)){let B=b*b*(1-R*R/(v*v));B!=0&&(B=Math.sqrt(B)),B=b-B,A.y-a.y>0&&(B=-B),P.y+=B}return P},u},Aen=async(i,a)=>{const{shapeSvg:u,bbox:d,halfPadding:p}=await g1(i,a,"node "+a.classes+" "+a.class,!0),v=u.insert("rect",":first-child"),b=a.positioned?a.width:d.width+a.padding,y=a.positioned?a.height:d.height+a.padding,E=a.positioned?-b/2:-d.width/2-p,_=a.positioned?-y/2:-d.height/2-p;if(v.attr("class","basic label-container").attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",E).attr("y",_).attr("width",b).attr("height",y),a.props){const A=new Set(Object.keys(a.props));a.props.borders&&(rve(v,a.props.borders,b,y),A.delete("borders")),A.forEach(P=>{Xe.warn(`Unknown node property ${P}`)})}return Gh(a,v),a.intersect=function(A){return yh.rect(a,A)},u},Len=async(i,a)=>{const{shapeSvg:u,bbox:d,halfPadding:p}=await g1(i,a,"node "+a.classes,!0),v=u.insert("rect",":first-child"),b=a.positioned?a.width:d.width+a.padding,y=a.positioned?a.height:d.height+a.padding,E=a.positioned?-b/2:-d.width/2-p,_=a.positioned?-y/2:-d.height/2-p;if(v.attr("class","basic cluster composite label-container").attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",E).attr("y",_).attr("width",b).attr("height",y),a.props){const A=new Set(Object.keys(a.props));a.props.borders&&(rve(v,a.props.borders,b,y),A.delete("borders")),A.forEach(P=>{Xe.warn(`Unknown node property ${P}`)})}return Gh(a,v),a.intersect=function(A){return yh.rect(a,A)},u},Men=async(i,a)=>{const{shapeSvg:u}=await g1(i,a,"label",!0);Xe.trace("Classes = ",a.class);const d=u.insert("rect",":first-child"),p=0,v=0;if(d.attr("width",p).attr("height",v),u.attr("class","label edgeLabel"),a.props){const b=new Set(Object.keys(a.props));a.props.borders&&(rve(d,a.props.borders,p,v),b.delete("borders")),b.forEach(y=>{Xe.warn(`Unknown node property ${y}`)})}return Gh(a,d),a.intersect=function(b){return yh.rect(a,b)},u};function rve(i,a,u,d){const p=[],v=y=>{p.push(y,0)},b=y=>{p.push(0,y)};a.includes("t")?(Xe.debug("add top border"),v(u)):b(u),a.includes("r")?(Xe.debug("add right border"),v(d)):b(d),a.includes("b")?(Xe.debug("add bottom border"),v(u)):b(u),a.includes("l")?(Xe.debug("add left border"),v(d)):b(d),i.attr("stroke-dasharray",p.join(" "))}const Den=(i,a)=>{let u;a.classes?u="node "+a.classes:u="node default";const d=i.insert("g").attr("class",u).attr("id",a.domId||a.id),p=d.insert("rect",":first-child"),v=d.insert("line"),b=d.insert("g").attr("class","label"),y=a.labelText.flat?a.labelText.flat():a.labelText;let E="";typeof y=="object"?E=y[0]:E=y,Xe.info("Label text abc79",E,y,typeof y=="object");const _=b.node().appendChild(Y2(E,a.labelStyle,!0,!0));let A={width:0,height:0};if(h1(qt().flowchart.htmlLabels)){const W=_.children[0],ee=Dr(_);A=W.getBoundingClientRect(),ee.attr("width",A.width),ee.attr("height",A.height)}Xe.info("Text 2",y);const P=y.slice(1,y.length);let R=_.getBBox();const B=b.node().appendChild(Y2(P.join?P.join("<br/>"):P,a.labelStyle,!0,!0));if(h1(qt().flowchart.htmlLabels)){const W=B.children[0],ee=Dr(B);A=W.getBoundingClientRect(),ee.attr("width",A.width),ee.attr("height",A.height)}const j=a.padding/2;return Dr(B).attr("transform","translate( "+(A.width>R.width?0:(R.width-A.width)/2)+", "+(R.height+j+5)+")"),Dr(_).attr("transform","translate( "+(A.width<R.width?0:-(R.width-A.width)/2)+", 0)"),A=b.node().getBBox(),b.attr("transform","translate("+-A.width/2+", "+(-A.height/2-j+3)+")"),p.attr("class","outer title-state").attr("x",-A.width/2-j).attr("y",-A.height/2-j).attr("width",A.width+a.padding).attr("height",A.height+a.padding),v.attr("class","divider").attr("x1",-A.width/2-j).attr("x2",A.width/2+j).attr("y1",-A.height/2-j+R.height+j).attr("y2",-A.height/2-j+R.height+j),Gh(a,p),a.intersect=function(W){return yh.rect(a,W)},d},Ien=async(i,a)=>{const{shapeSvg:u,bbox:d}=await g1(i,a,km(a,void 0),!0),p=d.height+a.padding,v=d.width+p/4+a.padding,b=u.insert("rect",":first-child").attr("style",a.style).attr("rx",p/2).attr("ry",p/2).attr("x",-v/2).attr("y",-p/2).attr("width",v).attr("height",p);return Gh(a,b),a.intersect=function(y){return yh.rect(a,y)},u},Oen=async(i,a)=>{const{shapeSvg:u,bbox:d,halfPadding:p}=await g1(i,a,km(a,void 0),!0),v=u.insert("circle",":first-child");return v.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",d.width/2+p).attr("width",d.width+a.padding).attr("height",d.height+a.padding),Xe.info("Circle main"),Gh(a,v),a.intersect=function(b){return Xe.info("Circle intersect",a,d.width/2+p,b),yh.circle(a,d.width/2+p,b)},u},Nen=async(i,a)=>{const{shapeSvg:u,bbox:d,halfPadding:p}=await g1(i,a,km(a,void 0),!0),v=5,b=u.insert("g",":first-child"),y=b.insert("circle"),E=b.insert("circle");return b.attr("class",a.class),y.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",d.width/2+p+v).attr("width",d.width+a.padding+v*2).attr("height",d.height+a.padding+v*2),E.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",d.width/2+p).attr("width",d.width+a.padding).attr("height",d.height+a.padding),Xe.info("DoubleCircle main"),Gh(a,y),a.intersect=function(_){return Xe.info("DoubleCircle intersect",a,d.width/2+p+v,_),yh.circle(a,d.width/2+p+v,_)},u},Pen=async(i,a)=>{const{shapeSvg:u,bbox:d}=await g1(i,a,km(a,void 0),!0),p=d.width+a.padding,v=d.height+a.padding,b=[{x:0,y:0},{x:p,y:0},{x:p,y:-v},{x:0,y:-v},{x:0,y:0},{x:-8,y:0},{x:p+8,y:0},{x:p+8,y:-v},{x:-8,y:-v},{x:-8,y:0}],y=s5(u,p,v,b);return y.attr("style",a.style),Gh(a,y),a.intersect=function(E){return yh.polygon(a,b,E)},u},Ben=(i,a)=>{const u=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),d=u.insert("circle",":first-child");return d.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),Gh(a,d),a.intersect=function(p){return yh.circle(a,7,p)},u},eGe=(i,a,u)=>{const d=i.insert("g").attr("class","node default").attr("id",a.domId||a.id);let p=70,v=10;u==="LR"&&(p=10,v=70);const b=d.append("rect").attr("x",-1*p/2).attr("y",-1*v/2).attr("width",p).attr("height",v).attr("class","fork-join");return Gh(a,b),a.height=a.height+a.padding/2,a.width=a.width+a.padding/2,a.intersect=function(y){return yh.rect(a,y)},d},tGe={rhombus:ZVe,composite:Len,question:ZVe,rect:Aen,labelRect:Men,rectWithTitle:Den,choice:ven,circle:Oen,doublecircle:Nen,stadium:Ien,hexagon:wen,block_arrow:yen,rect_left_inv_arrow:xen,lean_right:ken,lean_left:Ten,trapezoid:Een,inv_trapezoid:Cen,rect_right_inv_arrow:Sen,cylinder:_en,start:Ben,end:(i,a)=>{const u=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),d=u.insert("circle",":first-child"),p=u.insert("circle",":first-child");return p.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),d.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),Gh(a,p),a.intersect=function(v){return yh.circle(a,7,v)},u},note:pen,subroutine:Pen,fork:eGe,join:eGe,class_box:(i,a)=>{const u=a.padding/2,d=4,p=8;let v;a.classes?v="node "+a.classes:v="node default";const b=i.insert("g").attr("class",v).attr("id",a.domId||a.id),y=b.insert("rect",":first-child"),E=b.insert("line"),_=b.insert("line");let A=0,P=d;const R=b.insert("g").attr("class","label");let B=0;const j=a.classData.annotations&&a.classData.annotations[0],W=a.classData.annotations[0]?"«"+a.classData.annotations[0]+"»":"",ee=R.node().appendChild(Y2(W,a.labelStyle,!0,!0));let ie=ee.getBBox();if(h1(qt().flowchart.htmlLabels)){const de=ee.children[0],X=Dr(ee);ie=de.getBoundingClientRect(),X.attr("width",ie.width),X.attr("height",ie.height)}a.classData.annotations[0]&&(P+=ie.height+d,A+=ie.width);let oe=a.classData.label;a.classData.type!==void 0&&a.classData.type!==""&&(qt().flowchart.htmlLabels?oe+="&lt;"+a.classData.type+"&gt;":oe+="<"+a.classData.type+">");const be=R.node().appendChild(Y2(oe,a.labelStyle,!0,!0));Dr(be).attr("class","classTitle");let ge=be.getBBox();if(h1(qt().flowchart.htmlLabels)){const de=be.children[0],X=Dr(be);ge=de.getBoundingClientRect(),X.attr("width",ge.width),X.attr("height",ge.height)}P+=ge.height+d,ge.width>A&&(A=ge.width);const ae=[];a.classData.members.forEach(de=>{const X=de.getDisplayDetails();let pe=X.displayText;qt().flowchart.htmlLabels&&(pe=pe.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const G=R.node().appendChild(Y2(pe,X.cssStyle?X.cssStyle:a.labelStyle,!0,!0));let xe=G.getBBox();if(h1(qt().flowchart.htmlLabels)){const U=G.children[0],Be=Dr(G);xe=U.getBoundingClientRect(),Be.attr("width",xe.width),Be.attr("height",xe.height)}xe.width>A&&(A=xe.width),P+=xe.height+d,ae.push(G)}),P+=p;const ne=[];if(a.classData.methods.forEach(de=>{const X=de.getDisplayDetails();let pe=X.displayText;qt().flowchart.htmlLabels&&(pe=pe.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const G=R.node().appendChild(Y2(pe,X.cssStyle?X.cssStyle:a.labelStyle,!0,!0));let xe=G.getBBox();if(h1(qt().flowchart.htmlLabels)){const U=G.children[0],Be=Dr(G);xe=U.getBoundingClientRect(),Be.attr("width",xe.width),Be.attr("height",xe.height)}xe.width>A&&(A=xe.width),P+=xe.height+d,ne.push(G)}),P+=p,j){let de=(A-ie.width)/2;Dr(ee).attr("transform","translate( "+(-1*A/2+de)+", "+-1*P/2+")"),B=ie.height+d}let se=(A-ge.width)/2;return Dr(be).attr("transform","translate( "+(-1*A/2+se)+", "+(-1*P/2+B)+")"),B+=ge.height+d,E.attr("class","divider").attr("x1",-A/2-u).attr("x2",A/2+u).attr("y1",-P/2-u+p+B).attr("y2",-P/2-u+p+B),B+=p,ae.forEach(de=>{Dr(de).attr("transform","translate( "+-A/2+", "+(-1*P/2+B+p/2)+")");const X=de==null?void 0:de.getBBox();B+=((X==null?void 0:X.height)??0)+d}),B+=p,_.attr("class","divider").attr("x1",-A/2-u).attr("x2",A/2+u).attr("y1",-P/2-u+p+B).attr("y2",-P/2-u+p+B),B+=p,ne.forEach(de=>{Dr(de).attr("transform","translate( "+-A/2+", "+(-1*P/2+B)+")");const X=de==null?void 0:de.getBBox();B+=((X==null?void 0:X.height)??0)+d}),y.attr("style",a.style).attr("class","outer title-state").attr("x",-A/2-u).attr("y",-(P/2)-u).attr("width",A+a.padding).attr("height",P+a.padding),Gh(a,y),a.intersect=function(de){return yh.rect(a,de)},b}};let JD={};const pJ=async(i,a,u)=>{let d,p;if(a.link){let v;qt().securityLevel==="sandbox"?v="_top":a.linkTarget&&(v=a.linkTarget||"_blank"),d=i.insert("svg:a").attr("xlink:href",a.link).attr("target",v),p=await tGe[a.shape](d,a,u)}else p=await tGe[a.shape](i,a,u),d=p;return a.tooltip&&p.attr("title",a.tooltip),a.class&&p.attr("class","node default "+a.class),d.attr("data-node","true"),d.attr("data-id",a.id),JD[a.id]=d,a.haveCallback&&JD[a.id].attr("class",JD[a.id].attr("class")+" clickable"),d},Fen=(i,a)=>{JD[a.id]=i},Ren=()=>{JD={}},ive=i=>{const a=JD[i.id];Xe.trace("Transforming node",i.diff,i,"translate("+(i.x-i.width/2-5)+", "+i.width/2+")");const u=8,d=i.diff||0;return i.clusterNode?a.attr("transform","translate("+(i.x+d-i.width/2)+", "+(i.y-i.height/2-u)+")"):a.attr("transform","translate("+i.x+", "+i.y+")"),d},bJ=({flowchart:i})=>{var p,v;const a=((p=i==null?void 0:i.subGraphTitleMargin)==null?void 0:p.top)??0,u=((v=i==null?void 0:i.subGraphTitleMargin)==null?void 0:v.bottom)??0,d=a+u;return{subGraphTitleTopMargin:a,subGraphTitleBottomMargin:u,subGraphTitleTotalMargin:d}},jen={rect:(i,a)=>{Xe.info("Creating subgraph rect for ",a.id,a);const u=qt(),d=i.insert("g").attr("class","cluster"+(a.class?" "+a.class:"")).attr("id",a.id),p=d.insert("rect",":first-child"),v=h1(u.flowchart.htmlLabels),b=d.insert("g").attr("class","cluster-label"),y=a.labelType==="markdown"?fJ(b,a.labelText,{style:a.labelStyle,useHtmlLabels:v}):b.node().appendChild(Y2(a.labelText,a.labelStyle,void 0,!0));let E=y.getBBox();if(h1(u.flowchart.htmlLabels)){const j=y.children[0],W=Dr(y);E=j.getBoundingClientRect(),W.attr("width",E.width),W.attr("height",E.height)}const _=0*a.padding,A=_/2,P=a.width<=E.width+_?E.width+_:a.width;a.width<=E.width+_?a.diff=(E.width-a.width)/2-a.padding/2:a.diff=-a.padding/2,Xe.trace("Data ",a,JSON.stringify(a)),p.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",a.x-P/2).attr("y",a.y-a.height/2-A).attr("width",P).attr("height",a.height+_);const{subGraphTitleTopMargin:R}=bJ(u);v?b.attr("transform",`translate(${a.x-E.width/2}, ${a.y-a.height/2+R})`):b.attr("transform",`translate(${a.x}, ${a.y-a.height/2+R})`);const B=p.node().getBBox();return a.width=B.width,a.height=B.height,a.intersect=function(j){return RR(a,j)},d},roundedWithTitle:(i,a)=>{const u=qt(),d=i.insert("g").attr("class",a.classes).attr("id",a.id),p=d.insert("rect",":first-child"),v=d.insert("g").attr("class","cluster-label"),b=d.append("rect"),y=v.node().appendChild(Y2(a.labelText,a.labelStyle,void 0,!0));let E=y.getBBox();if(h1(u.flowchart.htmlLabels)){const j=y.children[0],W=Dr(y);E=j.getBoundingClientRect(),W.attr("width",E.width),W.attr("height",E.height)}E=y.getBBox();const _=0*a.padding,A=_/2,P=a.width<=E.width+a.padding?E.width+a.padding:a.width;a.width<=E.width+a.padding?a.diff=(E.width+a.padding*0-a.width)/2:a.diff=-a.padding/2,p.attr("class","outer").attr("x",a.x-P/2-A).attr("y",a.y-a.height/2-A).attr("width",P+_).attr("height",a.height+_),b.attr("class","inner").attr("x",a.x-P/2-A).attr("y",a.y-a.height/2-A+E.height-1).attr("width",P+_).attr("height",a.height+_-E.height-3);const{subGraphTitleTopMargin:R}=bJ(u);v.attr("transform",`translate(${a.x-E.width/2}, ${a.y-a.height/2-a.padding/3+(h1(u.flowchart.htmlLabels)?5:3)+R})`);const B=p.node().getBBox();return a.height=B.height,a.intersect=function(j){return RR(a,j)},d},noteGroup:(i,a)=>{const u=i.insert("g").attr("class","note-cluster").attr("id",a.id),d=u.insert("rect",":first-child"),p=0*a.padding,v=p/2;d.attr("rx",a.rx).attr("ry",a.ry).attr("x",a.x-a.width/2-v).attr("y",a.y-a.height/2-v).attr("width",a.width+p).attr("height",a.height+p).attr("fill","none");const b=d.node().getBBox();return a.width=b.width,a.height=b.height,a.intersect=function(y){return RR(a,y)},u},divider:(i,a)=>{const u=i.insert("g").attr("class",a.classes).attr("id",a.id),d=u.insert("rect",":first-child"),p=0*a.padding,v=p/2;d.attr("class","divider").attr("x",a.x-a.width/2-v).attr("y",a.y-a.height/2).attr("width",a.width+p).attr("height",a.height+p);const b=d.node().getBBox();return a.width=b.width,a.height=b.height,a.diff=-a.padding/2,a.intersect=function(y){return RR(a,y)},u}};let nGe={};const $en=(i,a)=>{Xe.trace("Inserting cluster");const u=a.shape||"rect";nGe[a.id]=jen[u](i,a)},zen=()=>{nGe={}},F9={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function mJ(i,a){if(i===void 0||a===void 0)return{angle:0,deltaX:0,deltaY:0};i=vJ(i),a=vJ(a);const[u,d]=[i.x,i.y],[p,v]=[a.x,a.y],b=p-u,y=v-d;return{angle:Math.atan(y/b),deltaX:b,deltaY:y}}const vJ=i=>Array.isArray(i)?{x:i[0],y:i[1]}:i,rGe=i=>({x:function(a,u,d){let p=0;if(u===0&&Object.hasOwn(F9,i.arrowTypeStart)){const{angle:v,deltaX:b}=mJ(d[0],d[1]);p=F9[i.arrowTypeStart]*Math.cos(v)*(b>=0?1:-1)}else if(u===d.length-1&&Object.hasOwn(F9,i.arrowTypeEnd)){const{angle:v,deltaX:b}=mJ(d[d.length-1],d[d.length-2]);p=F9[i.arrowTypeEnd]*Math.cos(v)*(b>=0?1:-1)}return vJ(a).x+p},y:function(a,u,d){let p=0;if(u===0&&Object.hasOwn(F9,i.arrowTypeStart)){const{angle:v,deltaY:b}=mJ(d[0],d[1]);p=F9[i.arrowTypeStart]*Math.abs(Math.sin(v))*(b>=0?1:-1)}else if(u===d.length-1&&Object.hasOwn(F9,i.arrowTypeEnd)){const{angle:v,deltaY:b}=mJ(d[d.length-1],d[d.length-2]);p=F9[i.arrowTypeEnd]*Math.abs(Math.sin(v))*(b>=0?1:-1)}return vJ(a).y+p}}),iGe=(i,a,u,d,p)=>{a.arrowTypeStart&&sGe(i,"start",a.arrowTypeStart,u,d,p),a.arrowTypeEnd&&sGe(i,"end",a.arrowTypeEnd,u,d,p)},qen={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},sGe=(i,a,u,d,p,v)=>{const b=qen[u];if(!b){Xe.warn(`Unknown arrow type: ${u}`);return}const y=a==="start"?"Start":"End";i.attr(`marker-${a}`,`url(${d}#${p}_${v}-${b}${y})`)};let wJ={},Vd={};const Hen=()=>{wJ={},Vd={}},sve=(i,a)=>{const u=h1(qt().flowchart.htmlLabels),d=a.labelType==="markdown"?fJ(i,a.label,{style:a.labelStyle,useHtmlLabels:u,addSvgBackground:!0}):Y2(a.label,a.labelStyle),p=i.insert("g").attr("class","edgeLabel"),v=p.insert("g").attr("class","label");v.node().appendChild(d);let b=d.getBBox();if(u){const E=d.children[0],_=Dr(d);b=E.getBoundingClientRect(),_.attr("width",b.width),_.attr("height",b.height)}v.attr("transform","translate("+-b.width/2+", "+-b.height/2+")"),wJ[a.id]=p,a.width=b.width,a.height=b.height;let y;if(a.startLabelLeft){const E=Y2(a.startLabelLeft,a.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),A=_.insert("g").attr("class","inner");y=A.node().appendChild(E);const P=E.getBBox();A.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),Vd[a.id]||(Vd[a.id]={}),Vd[a.id].startLeft=_,yJ(y,a.startLabelLeft)}if(a.startLabelRight){const E=Y2(a.startLabelRight,a.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),A=_.insert("g").attr("class","inner");y=_.node().appendChild(E),A.node().appendChild(E);const P=E.getBBox();A.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),Vd[a.id]||(Vd[a.id]={}),Vd[a.id].startRight=_,yJ(y,a.startLabelRight)}if(a.endLabelLeft){const E=Y2(a.endLabelLeft,a.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),A=_.insert("g").attr("class","inner");y=A.node().appendChild(E);const P=E.getBBox();A.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),_.node().appendChild(E),Vd[a.id]||(Vd[a.id]={}),Vd[a.id].endLeft=_,yJ(y,a.endLabelLeft)}if(a.endLabelRight){const E=Y2(a.endLabelRight,a.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),A=_.insert("g").attr("class","inner");y=A.node().appendChild(E);const P=E.getBBox();A.attr("transform","translate("+-P.width/2+", "+-P.height/2+")"),_.node().appendChild(E),Vd[a.id]||(Vd[a.id]={}),Vd[a.id].endRight=_,yJ(y,a.endLabelRight)}return d};function yJ(i,a){qt().flowchart.htmlLabels&&i&&(i.style.width=a.length*9+"px",i.style.height="12px")}const aGe=(i,a)=>{Xe.debug("Moving label abc88 ",i.id,i.label,wJ[i.id],a);let u=a.updatedPath?a.updatedPath:a.originalPath;const d=qt(),{subGraphTitleTotalMargin:p}=bJ(d);if(i.label){const v=wJ[i.id];let b=i.x,y=i.y;if(u){const E=So.calcLabelPosition(u);Xe.debug("Moving label "+i.label+" from (",b,",",y,") to (",E.x,",",E.y,") abc88"),a.updatedPath&&(b=E.x,y=E.y)}v.attr("transform",`translate(${b}, ${y+p/2})`)}if(i.startLabelLeft){const v=Vd[i.id].startLeft;let b=i.x,y=i.y;if(u){const E=So.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_left",u);b=E.x,y=E.y}v.attr("transform",`translate(${b}, ${y})`)}if(i.startLabelRight){const v=Vd[i.id].startRight;let b=i.x,y=i.y;if(u){const E=So.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_right",u);b=E.x,y=E.y}v.attr("transform",`translate(${b}, ${y})`)}if(i.endLabelLeft){const v=Vd[i.id].endLeft;let b=i.x,y=i.y;if(u){const E=So.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_left",u);b=E.x,y=E.y}v.attr("transform",`translate(${b}, ${y})`)}if(i.endLabelRight){const v=Vd[i.id].endRight;let b=i.x,y=i.y;if(u){const E=So.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_right",u);b=E.x,y=E.y}v.attr("transform",`translate(${b}, ${y})`)}},Uen=(i,a)=>{const u=i.x,d=i.y,p=Math.abs(a.x-u),v=Math.abs(a.y-d),b=i.width/2,y=i.height/2;return p>=b||v>=y},Ven=(i,a,u)=>{Xe.debug(`intersection calc abc89:
outsidePoint: ${JSON.stringify(a)}
insidePoint : ${JSON.stringify(u)}
node : x:${i.x} y:${i.y} w:${i.width} h:${i.height}`);const d=i.x,p=i.y,v=Math.abs(d-u.x),b=i.width/2;let y=u.x<a.x?b-v:b+v;const E=i.height/2,_=Math.abs(a.y-u.y),A=Math.abs(a.x-u.x);if(Math.abs(p-a.y)*b>Math.abs(d-a.x)*E){let P=u.y<a.y?a.y-E-p:p-E-a.y;y=A*P/_;const R={x:u.x<a.x?u.x+y:u.x-A+y,y:u.y<a.y?u.y+_-P:u.y-_+P};return y===0&&(R.x=a.x,R.y=a.y),A===0&&(R.x=a.x),_===0&&(R.y=a.y),Xe.debug(`abc89 topp/bott calc, Q ${_}, q ${P}, R ${A}, r ${y}`,R),R}else{u.x<a.x?y=a.x-b-d:y=d-b-a.x;let P=_*y/A,R=u.x<a.x?u.x+A-y:u.x-A+y,B=u.y<a.y?u.y+P:u.y-P;return Xe.debug(`sides calc abc89, Q ${_}, q ${P}, R ${A}, r ${y}`,{_x:R,_y:B}),y===0&&(R=a.x,B=a.y),A===0&&(R=a.x),_===0&&(B=a.y),{x:R,y:B}}},oGe=(i,a)=>{Xe.debug("abc88 cutPathAtIntersect",i,a);let u=[],d=i[0],p=!1;return i.forEach(v=>{if(!Uen(a,v)&&!p){const b=Ven(a,d,v);let y=!1;u.forEach(E=>{y=y||E.x===b.x&&E.y===b.y}),u.some(E=>E.x===b.x&&E.y===b.y)||u.push(b),p=!0}else d=v,p||u.push(v)}),u},cGe=function(i,a,u,d,p,v,b){let y=u.points;Xe.debug("abc88 InsertEdge: edge=",u,"e=",a);let E=!1;const _=v.node(a.v);var A=v.node(a.w);A!=null&&A.intersect&&(_!=null&&_.intersect)&&(y=y.slice(1,u.points.length-1),y.unshift(_.intersect(y[0])),y.push(A.intersect(y[y.length-1]))),u.toCluster&&(Xe.debug("to cluster abc88",d[u.toCluster]),y=oGe(u.points,d[u.toCluster].node),E=!0),u.fromCluster&&(Xe.debug("from cluster abc88",d[u.fromCluster]),y=oGe(y.reverse(),d[u.fromCluster].node).reverse(),E=!0);const P=y.filter(ge=>!Number.isNaN(ge.y));let R=VF;u.curve&&(p==="graph"||p==="flowchart")&&(R=u.curve);const{x:B,y:j}=rGe(u),W=E7().x(B).y(j).curve(R);let ee;switch(u.thickness){case"normal":ee="edge-thickness-normal";break;case"thick":ee="edge-thickness-thick";break;case"invisible":ee="edge-thickness-thick";break;default:ee=""}switch(u.pattern){case"solid":ee+=" edge-pattern-solid";break;case"dotted":ee+=" edge-pattern-dotted";break;case"dashed":ee+=" edge-pattern-dashed";break}const ie=i.append("path").attr("d",W(P)).attr("id",u.id).attr("class"," "+ee+(u.classes?" "+u.classes:"")).attr("style",u.style);let oe="";(qt().flowchart.arrowMarkerAbsolute||qt().state.arrowMarkerAbsolute)&&(oe=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,oe=oe.replace(/\(/g,"\\("),oe=oe.replace(/\)/g,"\\)")),iGe(ie,u,oe,b,p);let be={};return E&&(be.updatedPath=y),be.originalPath=u.points,be},uGe=async(i,a,u,d,p,v)=>{Xe.info("Graph in recursive render: XXX",H7(a),p);const b=a.graph().rankdir;Xe.trace("Dir in recursive render - dir:",b);const y=i.insert("g").attr("class","root");a.nodes()?Xe.info("Recursive render XXX",a.nodes()):Xe.info("No nodes found for",a),a.edges().length>0&&Xe.trace("Recursive edges",a.edge(a.edges()[0]));const E=y.insert("g").attr("class","clusters"),_=y.insert("g").attr("class","edgePaths"),A=y.insert("g").attr("class","edgeLabels"),P=y.insert("g").attr("class","nodes");await Promise.all(a.nodes().map(async function(j){const W=a.node(j);if(p!==void 0){const ee=JSON.parse(JSON.stringify(p.clusterData));Xe.info("Setting data for cluster XXX (",j,") ",ee,p),a.setNode(p.id,ee),a.parent(j)||(Xe.trace("Setting parent",j,p.id),a.setParent(j,p.id,ee))}if(Xe.info("(Insert) Node XXX"+j+": "+JSON.stringify(a.node(j))),W&&W.clusterNode){Xe.info("Cluster identified",j,W.width,a.node(j));const ee=await uGe(P,W.graph,u,d,a.node(j),v),ie=ee.elem;Gh(W,ie),W.diff=ee.diff||0,Xe.info("Node bounds (abc123)",j,W,W.width,W.x,W.y),Fen(ie,W),Xe.warn("Recursive render complete ",ie,W)}else a.children(j).length>0?(Xe.info("Cluster - the non recursive path XXX",j,W.id,W,a),Xe.info(FR(W.id,a)),_o[W.id]={id:FR(W.id,a),node:W}):(Xe.info("Node - the non recursive path",j,W.id,W),await pJ(P,a.node(j),b))})),a.edges().forEach(function(j){const W=a.edge(j.v,j.w,j.name);Xe.info("Edge "+j.v+" -> "+j.w+": "+JSON.stringify(j)),Xe.info("Edge "+j.v+" -> "+j.w+": ",j," ",JSON.stringify(a.edge(j))),Xe.info("Fix",_o,"ids:",j.v,j.w,"Translating: ",_o[j.v],_o[j.w]),sve(A,W)}),a.edges().forEach(function(j){Xe.info("Edge "+j.v+" -> "+j.w+": "+JSON.stringify(j))}),Xe.info("#############################################"),Xe.info("### Layout ###"),Xe.info("#############################################"),Xe.info(a),XD(a),Xe.info("Graph after layout:",H7(a));let R=0;const{subGraphTitleTotalMargin:B}=bJ(v);return len(a).forEach(function(j){const W=a.node(j);Xe.info("Position "+j+": "+JSON.stringify(a.node(j))),Xe.info("Position "+j+": ("+W.x,","+W.y,") width: ",W.width," height: ",W.height),W&&W.clusterNode?(W.y+=B,ive(W)):a.children(j).length>0?(W.height+=B,$en(E,W),_o[W.id].node=W):(W.y+=B/2,ive(W))}),a.edges().forEach(function(j){const W=a.edge(j);Xe.info("Edge "+j.v+" -> "+j.w+": "+JSON.stringify(W),W),W.points.forEach(ie=>ie.y+=B/2);const ee=cGe(_,j,W,_o,u,a,d);aGe(W,ee)}),a.nodes().forEach(function(j){const W=a.node(j);Xe.info(j,W.type,W.diff),W.type==="group"&&(R=W.diff)}),{elem:y,diff:R}},ave=async(i,a,u,d,p)=>{Ume(i,u,d,p),Ren(),Hen(),zen(),oen(),Xe.warn("Graph at first:",JSON.stringify(H7(a))),uen(a),Xe.warn("Graph after:",JSON.stringify(H7(a)));const v=qt();await uGe(i,a,d,p,void 0,v)},lGe={},Gen=function(i){const a=Object.keys(i);for(const u of a)lGe[u]=i[u]},hGe=async function(i,a,u,d,p,v){const b=d.select(`[id="${u}"]`),y=Object.keys(i);for(const E of y){const _=i[E];let A="default";_.classes.length>0&&(A=_.classes.join(" ")),A=A+" flowchart-label";const P=gm(_.styles);let R=_.text!==void 0?_.text:_.id,B;if(Xe.info("vertex",_,_.labelType),_.labelType==="markdown")Xe.info("vertex",_,_.labelType);else if(h1(qt().flowchart.htmlLabels))B=Bme(b,{label:R}).node(),B.parentNode.removeChild(B);else{const ie=p.createElementNS("http://www.w3.org/2000/svg","text");ie.setAttribute("style",P.labelStyle.replace("color:","fill:"));const oe=R.split(oi.lineBreakRegex);for(const be of oe){const ge=p.createElementNS("http://www.w3.org/2000/svg","tspan");ge.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),ge.setAttribute("dy","1em"),ge.setAttribute("x","1"),ge.textContent=be,ie.appendChild(ge)}B=ie}let j=0,W="";switch(_.type){case"round":j=5,W="rect";break;case"square":W="rect";break;case"diamond":W="question";break;case"hexagon":W="hexagon";break;case"odd":W="rect_left_inv_arrow";break;case"lean_right":W="lean_right";break;case"lean_left":W="lean_left";break;case"trapezoid":W="trapezoid";break;case"inv_trapezoid":W="inv_trapezoid";break;case"odd_right":W="rect_left_inv_arrow";break;case"circle":W="circle";break;case"ellipse":W="ellipse";break;case"stadium":W="stadium";break;case"subroutine":W="subroutine";break;case"cylinder":W="cylinder";break;case"group":W="rect";break;case"doublecircle":W="doublecircle";break;default:W="rect"}const ee=await SC(R,qt());a.setNode(_.id,{labelStyle:P.labelStyle,shape:W,labelText:ee,labelType:_.labelType,rx:j,ry:j,class:A,style:P.style,id:_.id,link:_.link,linkTarget:_.linkTarget,tooltip:v.db.getTooltip(_.id)||"",domId:v.db.lookUpDomId(_.id),haveCallback:_.haveCallback,width:_.type==="group"?500:void 0,dir:_.dir,type:_.type,props:_.props,padding:qt().flowchart.padding}),Xe.info("setNode",{labelStyle:P.labelStyle,labelType:_.labelType,shape:W,labelText:ee,rx:j,ry:j,class:A,style:P.style,id:_.id,domId:v.db.lookUpDomId(_.id),width:_.type==="group"?500:void 0,type:_.type,dir:_.dir,props:_.props,padding:qt().flowchart.padding})}},fGe=async function(i,a,u){Xe.info("abc78 edges = ",i);let d=0,p={},v,b;if(i.defaultStyle!==void 0){const y=gm(i.defaultStyle);v=y.style,b=y.labelStyle}for(const y of i){d++;const E="L-"+y.start+"-"+y.end;p[E]===void 0?(p[E]=0,Xe.info("abc78 new entry",E,p[E])):(p[E]++,Xe.info("abc78 new entry",E,p[E]));let _=E+"-"+p[E];Xe.info("abc78 new link id to be used is",E,_,p[E]);const A="LS-"+y.start,P="LE-"+y.end,R={style:"",labelStyle:""};switch(R.minlen=y.length||1,y.type==="arrow_open"?R.arrowhead="none":R.arrowhead="normal",R.arrowTypeStart="arrow_open",R.arrowTypeEnd="arrow_open",y.type){case"double_arrow_cross":R.arrowTypeStart="arrow_cross";case"arrow_cross":R.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":R.arrowTypeStart="arrow_point";case"arrow_point":R.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":R.arrowTypeStart="arrow_circle";case"arrow_circle":R.arrowTypeEnd="arrow_circle";break}let B="",j="";switch(y.stroke){case"normal":B="fill:none;",v!==void 0&&(B=v),b!==void 0&&(j=b),R.thickness="normal",R.pattern="solid";break;case"dotted":R.thickness="normal",R.pattern="dotted",R.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":R.thickness="thick",R.pattern="solid",R.style="stroke-width: 3.5px;fill:none;";break;case"invisible":R.thickness="invisible",R.pattern="solid",R.style="stroke-width: 0;fill:none;";break}if(y.style!==void 0){const W=gm(y.style);B=W.style,j=W.labelStyle}R.style=R.style+=B,R.labelStyle=R.labelStyle+=j,y.interpolate!==void 0?R.curve=qv(y.interpolate,Sp):i.defaultInterpolate!==void 0?R.curve=qv(i.defaultInterpolate,Sp):R.curve=qv(lGe.curve,Sp),y.text===void 0?y.style!==void 0&&(R.arrowheadStyle="fill: #333"):(R.arrowheadStyle="fill: #333",R.labelpos="c"),R.labelType=y.labelType,R.label=await SC(y.text.replace(oi.lineBreakRegex,`
`),qt()),y.style===void 0&&(R.style=R.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),R.labelStyle=R.labelStyle.replace("color:","fill:"),R.id=_,R.classes="flowchart-link "+A+" "+P,a.setEdge(y.start,y.end,R,d)}},ove={setConf:Gen,addVertices:hGe,addEdges:fGe,getClasses:function(i,a){return a.db.getClasses()},draw:async function(i,a,u,d){Xe.info("Drawing flowchart");let p=d.db.getDirection();p===void 0&&(p="TD");const{securityLevel:v,flowchart:b}=qt(),y=b.nodeSpacing||50,E=b.rankSpacing||50;let _;v==="sandbox"&&(_=Dr("#i"+a));const A=Dr(v==="sandbox"?_.nodes()[0].contentDocument.body:"body"),P=v==="sandbox"?_.nodes()[0].contentDocument:document,R=new R0({multigraph:!0,compound:!0}).setGraph({rankdir:p,nodesep:y,ranksep:E,marginx:0,marginy:0}).setDefaultEdgeLabel(function(){return{}});let B;const j=d.db.getSubGraphs();Xe.info("Subgraphs - ",j);for(let ae=j.length-1;ae>=0;ae--)B=j[ae],Xe.info("Subgraph - ",B),d.db.addVertex(B.id,{text:B.title,type:B.labelType},"group",void 0,B.classes,B.dir);const W=d.db.getVertices(),ee=d.db.getEdges();Xe.info("Edges",ee);let ie=0;for(ie=j.length-1;ie>=0;ie--){B=j[ie],VBe("cluster").append("text");for(let ae=0;ae<B.nodes.length;ae++)Xe.info("Setting up subgraphs",B.nodes[ae],B.id),R.setParent(B.nodes[ae],B.id)}await hGe(W,R,a,A,P,d),await fGe(ee,R);const oe=A.select(`[id="${a}"]`),be=A.select("#"+a+" g");if(await ave(be,R,["point","circle","cross"],"flowchart",a),So.insertTitle(oe,"flowchartTitleText",b.titleTopMargin,d.db.getDiagramTitle()),x9(R,oe,b.diagramPadding,b.useMaxWidth),d.db.indexNodes("subGraph"+ie),!b.htmlLabels){const ae=P.querySelectorAll('[id="'+a+'"] .edgeLabel .label');for(const ne of ae){const se=ne.getBBox(),de=P.createElementNS("http://www.w3.org/2000/svg","rect");de.setAttribute("rx",0),de.setAttribute("ry",0),de.setAttribute("width",se.width),de.setAttribute("height",se.height),ne.insertBefore(de,ne.firstChild)}}Object.keys(W).forEach(function(ae){const ne=W[ae];if(ne.link){const se=Dr("#"+a+' [id="'+ae+'"]');if(se){const de=P.createElementNS("http://www.w3.org/2000/svg","a");de.setAttributeNS("http://www.w3.org/2000/svg","class",ne.classes.join(" ")),de.setAttributeNS("http://www.w3.org/2000/svg","href",ne.link),de.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),v==="sandbox"?de.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):ne.linkTarget&&de.setAttributeNS("http://www.w3.org/2000/svg","target",ne.linkTarget);const X=se.insert(function(){return de},":first-child"),pe=se.select(".label-container");pe&&X.append(function(){return pe.node()});const G=se.select(".label");G&&X.append(function(){return G.node()})}}})}},Ken=(i,a)=>{const u=XRe,d=u(i,"r"),p=u(i,"g"),v=u(i,"b");return _C(d,p,v,a)},dGe=i=>`.label {
font-family: ${i.fontFamily};
color: ${i.nodeTextColor||i.textColor};
}
.cluster-label text {
fill: ${i.titleColor};
}
.cluster-label span,p {
color: ${i.titleColor};
}
.label text,span,p {
fill: ${i.nodeTextColor||i.textColor};
color: ${i.nodeTextColor||i.textColor};
}
.node rect,
.node circle,
.node ellipse,
.node polygon,
.node path {
fill: ${i.mainBkg};
stroke: ${i.nodeBorder};
stroke-width: 1px;
}
.flowchart-label text {
text-anchor: middle;
}
// .flowchart-label .text-outer-tspan {
// text-anchor: middle;
// }
// .flowchart-label .text-inner-tspan {
// text-anchor: start;
// }
.node .katex path {
fill: #000;
stroke: #000;
stroke-width: 1px;
}
.node .label {
text-align: center;
}
.node.clickable {
cursor: pointer;
}
.arrowheadPath {
fill: ${i.arrowheadColor};
}
.edgePath .path {
stroke: ${i.lineColor};
stroke-width: 2.0px;
}
.flowchart-link {
stroke: ${i.lineColor};
fill: none;
}
.edgeLabel {
background-color: ${i.edgeLabelBackground};
rect {
opacity: 0.5;
background-color: ${i.edgeLabelBackground};
fill: ${i.edgeLabelBackground};
}
text-align: center;
}
/* For html labels only */
.labelBkg {
background-color: ${Ken(i.edgeLabelBackground,.5)};
// background-color:
}
.cluster rect {
fill: ${i.clusterBkg};
stroke: ${i.clusterBorder};
stroke-width: 1px;
}
.cluster text {
fill: ${i.titleColor};
}
.cluster span,p {
color: ${i.titleColor};
}
/* .cluster div {
color: ${i.titleColor};
} */
div.mermaidTooltip {
position: absolute;
text-align: center;
max-width: 200px;
padding: 2px;
font-family: ${i.fontFamily};
font-size: 12px;
background: ${i.tertiaryColor};
border: 1px solid ${i.border2};
border-radius: 2px;
pointer-events: none;
z-index: 100;
}
.flowchartTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${i.textColor};
}
`,Wen=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:lme,db:UC,renderer:ove,styles:dGe,init:i=>{i.flowchart||(i.flowchart={}),i.flowchart.arrowMarkerAbsolute=i.arrowMarkerAbsolute,WQt.setConf(i.flowchart),UC.clear(),UC.setGen("gen-1")}}},Symbol.toStringTag,{value:"Module"})),Yen=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:lme,db:UC,renderer:ove,styles:dGe,init:i=>{i.flowchart||(i.flowchart={}),i.flowchart.arrowMarkerAbsolute=i.arrowMarkerAbsolute,c$t({flowchart:{arrowMarkerAbsolute:i.arrowMarkerAbsolute}}),ove.setConf(i.flowchart),UC.clear(),UC.setGen("gen-2")}}},Symbol.toStringTag,{value:"Module"}));var cve=function(){var i=function(de,X,pe,G){for(pe=pe||{},G=de.length;G--;pe[de[G]]=X);return pe},a=[6,8,10,20,22,24,26,27,28],u=[1,10],d=[1,11],p=[1,12],v=[1,13],b=[1,14],y=[1,15],E=[1,21],_=[1,22],A=[1,23],P=[1,24],R=[1,25],B=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],j=[1,34],W=[27,28,46,47],ee=[41,42,43,44,45],ie=[17,34],oe=[1,54],be=[1,53],ge=[17,34,36,38],ae={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(X,pe,G,xe,U,Be,Pe){var je=Be.length-1;switch(U){case 1:break;case 2:this.$=[];break;case 3:Be[je-1].push(Be[je]),this.$=Be[je-1];break;case 4:case 5:this.$=Be[je];break;case 6:case 7:this.$=[];break;case 8:xe.addEntity(Be[je-4]),xe.addEntity(Be[je-2]),xe.addRelationship(Be[je-4],Be[je],Be[je-2],Be[je-3]);break;case 9:xe.addEntity(Be[je-3]),xe.addAttributes(Be[je-3],Be[je-1]);break;case 10:xe.addEntity(Be[je-2]);break;case 11:xe.addEntity(Be[je]);break;case 12:xe.addEntity(Be[je-6],Be[je-4]),xe.addAttributes(Be[je-6],Be[je-1]);break;case 13:xe.addEntity(Be[je-5],Be[je-3]);break;case 14:xe.addEntity(Be[je-3],Be[je-1]);break;case 15:case 16:this.$=Be[je].trim(),xe.setAccTitle(this.$);break;case 17:case 18:this.$=Be[je].trim(),xe.setAccDescription(this.$);break;case 19:case 43:this.$=Be[je];break;case 20:case 41:case 42:this.$=Be[je].replace(/"/g,"");break;case 21:case 29:this.$=[Be[je]];break;case 22:Be[je].push(Be[je-1]),this.$=Be[je];break;case 23:this.$={attributeType:Be[je-1],attributeName:Be[je]};break;case 24:this.$={attributeType:Be[je-2],attributeName:Be[je-1],attributeKeyTypeList:Be[je]};break;case 25:this.$={attributeType:Be[je-2],attributeName:Be[je-1],attributeComment:Be[je]};break;case 26:this.$={attributeType:Be[je-3],attributeName:Be[je-2],attributeKeyTypeList:Be[je-1],attributeComment:Be[je]};break;case 27:case 28:case 31:this.$=Be[je];break;case 30:Be[je-2].push(Be[je]),this.$=Be[je-2];break;case 32:this.$=Be[je].replace(/"/g,"");break;case 33:this.$={cardA:Be[je],relType:Be[je-1],cardB:Be[je-2]};break;case 34:this.$=xe.Cardinality.ZERO_OR_ONE;break;case 35:this.$=xe.Cardinality.ZERO_OR_MORE;break;case 36:this.$=xe.Cardinality.ONE_OR_MORE;break;case 37:this.$=xe.Cardinality.ONLY_ONE;break;case 38:this.$=xe.Cardinality.MD_PARENT;break;case 39:this.$=xe.Identification.NON_IDENTIFYING;break;case 40:this.$=xe.Identification.IDENTIFYING;break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:u,22:d,24:p,26:v,27:b,28:y},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:16,11:9,20:u,22:d,24:p,26:v,27:b,28:y},i(a,[2,5]),i(a,[2,6]),i(a,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:E,42:_,43:A,44:P,45:R}),{21:[1,26]},{23:[1,27]},{25:[1,28]},i(a,[2,18]),i(B,[2,19]),i(B,[2,20]),i(a,[2,4]),{11:29,27:b,28:y},{16:30,17:[1,31],29:32,30:33,34:j},{11:35,27:b,28:y},{40:36,46:[1,37],47:[1,38]},i(W,[2,34]),i(W,[2,35]),i(W,[2,36]),i(W,[2,37]),i(W,[2,38]),i(a,[2,15]),i(a,[2,16]),i(a,[2,17]),{13:[1,39]},{17:[1,40]},i(a,[2,10]),{16:41,17:[2,21],29:32,30:33,34:j},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:E,42:_,43:A,44:P,45:R},i(ee,[2,39]),i(ee,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},i(a,[2,9]),{17:[2,22]},i(ie,[2,23],{32:50,33:51,35:52,37:oe,38:be}),i([17,34,37,38],[2,28]),i(a,[2,14],{15:[1,55]}),i([27,28],[2,33]),i(a,[2,8]),i(a,[2,41]),i(a,[2,42]),i(a,[2,43]),i(ie,[2,24],{33:56,36:[1,57],38:be}),i(ie,[2,25]),i(ge,[2,29]),i(ie,[2,32]),i(ge,[2,31]),{16:58,17:[1,59],29:32,30:33,34:j},i(ie,[2,26]),{35:60,37:oe},{17:[1,61]},i(a,[2,13]),i(ge,[2,30]),i(a,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:function(X,pe){if(pe.recoverable)this.trace(X);else{var G=new Error(X);throw G.hash=pe,G}},parse:function(X){var pe=this,G=[0],xe=[],U=[null],Be=[],Pe=this.table,je="",Ie=0,Se=0,Ce=2,ke=1,Ke=Be.slice.call(arguments,1),zt=Object.create(this.lexer),Ne={yy:{}};for(var pn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,pn)&&(Ne.yy[pn]=this.yy[pn]);zt.setInput(X,Ne.yy),Ne.yy.lexer=zt,Ne.yy.parser=this,typeof zt.yylloc>"u"&&(zt.yylloc={});var Tt=zt.yylloc;Be.push(Tt);var Et=zt.options&&zt.options.ranges;typeof Ne.yy.parseError=="function"?this.parseError=Ne.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Wt(){var Ri;return Ri=xe.pop()||zt.lex()||ke,typeof Ri!="number"&&(Ri instanceof Array&&(xe=Ri,Ri=xe.pop()),Ri=pe.symbols_[Ri]||Ri),Ri}for(var un,yt,Bt,Ze,Dt={},kt,Nn,ht,qr;;){if(yt=G[G.length-1],this.defaultActions[yt]?Bt=this.defaultActions[yt]:((un===null||typeof un>"u")&&(un=Wt()),Bt=Pe[yt]&&Pe[yt][un]),typeof Bt>"u"||!Bt.length||!Bt[0]){var xt="";qr=[];for(kt in Pe[yt])this.terminals_[kt]&&kt>Ce&&qr.push("'"+this.terminals_[kt]+"'");zt.showPosition?xt="Parse error on line "+(Ie+1)+`:
`+zt.showPosition()+`
Expecting `+qr.join(", ")+", got '"+(this.terminals_[un]||un)+"'":xt="Parse error on line "+(Ie+1)+": Unexpected "+(un==ke?"end of input":"'"+(this.terminals_[un]||un)+"'"),this.parseError(xt,{text:zt.match,token:this.terminals_[un]||un,line:zt.yylineno,loc:Tt,expected:qr})}if(Bt[0]instanceof Array&&Bt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+yt+", token: "+un);switch(Bt[0]){case 1:G.push(un),U.push(zt.yytext),Be.push(zt.yylloc),G.push(Bt[1]),un=null,Se=zt.yyleng,je=zt.yytext,Ie=zt.yylineno,Tt=zt.yylloc;break;case 2:if(Nn=this.productions_[Bt[1]][1],Dt.$=U[U.length-Nn],Dt._$={first_line:Be[Be.length-(Nn||1)].first_line,last_line:Be[Be.length-1].last_line,first_column:Be[Be.length-(Nn||1)].first_column,last_column:Be[Be.length-1].last_column},Et&&(Dt._$.range=[Be[Be.length-(Nn||1)].range[0],Be[Be.length-1].range[1]]),Ze=this.performAction.apply(Dt,[je,Se,Ie,Ne.yy,Bt[1],U,Be].concat(Ke)),typeof Ze<"u")return Ze;Nn&&(G=G.slice(0,-1*Nn*2),U=U.slice(0,-1*Nn),Be=Be.slice(0,-1*Nn)),G.push(this.productions_[Bt[1]][0]),U.push(Dt.$),Be.push(Dt._$),ht=Pe[G[G.length-2]][G[G.length-1]],G.push(ht);break;case 3:return!0}}return!0}},ne=function(){var de={EOF:1,parseError:function(pe,G){if(this.yy.parser)this.yy.parser.parseError(pe,G);else throw new Error(pe)},setInput:function(X,pe){return this.yy=pe||this.yy||{},this._input=X,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 X=this._input[0];this.yytext+=X,this.yyleng++,this.offset++,this.match+=X,this.matched+=X;var pe=X.match(/(?:\r\n?|\n).*/g);return pe?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),X},unput:function(X){var pe=X.length,G=X.split(/(?:\r\n?|\n)/g);this._input=X+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-pe),this.offset-=pe;var xe=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),G.length-1&&(this.yylineno-=G.length-1);var U=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:G?(G.length===xe.length?this.yylloc.first_column:0)+xe[xe.length-G.length].length-G[0].length:this.yylloc.first_column-pe},this.options.ranges&&(this.yylloc.range=[U[0],U[0]+this.yyleng-pe]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return 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).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(X){this.unput(this.match.slice(X))},pastInput:function(){var X=this.matched.substr(0,this.matched.length-this.match.length);return(X.length>20?"...":"")+X.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var X=this.match;return X.length<20&&(X+=this._input.substr(0,20-X.length)),(X.substr(0,20)+(X.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var X=this.pastInput(),pe=new Array(X.length+1).join("-");return X+this.upcomingInput()+`
`+pe+"^"},test_match:function(X,pe){var G,xe,U;if(this.options.backtrack_lexer&&(U={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&&(U.yylloc.range=this.yylloc.range.slice(0))),xe=X[0].match(/(?:\r\n?|\n).*/g),xe&&(this.yylineno+=xe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:xe?xe[xe.length-1].length-xe[xe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+X[0].length},this.yytext+=X[0],this.match+=X[0],this.matches=X,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(X[0].length),this.matched+=X[0],G=this.performAction.call(this,this.yy,this,pe,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),G)return G;if(this._backtrack){for(var Be in U)this[Be]=U[Be];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var X,pe,G,xe;this._more||(this.yytext="",this.match="");for(var U=this._currentRules(),Be=0;Be<U.length;Be++)if(G=this._input.match(this.rules[U[Be]]),G&&(!pe||G[0].length>pe[0].length)){if(pe=G,xe=Be,this.options.backtrack_lexer){if(X=this.test_match(G,U[Be]),X!==!1)return X;if(this._backtrack){pe=!1;continue}else return!1}else if(!this.options.flex)break}return pe?(X=this.test_match(pe,U[xe]),X!==!1?X:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var pe=this.next();return pe||this.lex()},begin:function(pe){this.conditionStack.push(pe)},popState:function(){var pe=this.conditionStack.length-1;return pe>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(pe){return pe=this.conditionStack.length-1-Math.abs(pe||0),pe>=0?this.conditionStack[pe]:"INITIAL"},pushState:function(pe){this.begin(pe)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(pe,G,xe,U){switch(xe){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: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 15:break;case 16:return 37;case 17:return 34;case 18:return 34;case 19:return 38;case 20:break;case 21:return this.popState(),17;case 22:return G.yytext[0];case 23:return 18;case 24:return 19;case 25:return 41;case 26:return 43;case 27:return 43;case 28:return 43;case 29:return 41;case 30:return 41;case 31:return 42;case 32:return 42;case 33:return 42;case 34:return 42;case 35:return 42;case 36:return 43;case 37:return 42;case 38:return 43;case 39:return 44;case 40:return 44;case 41:return 44;case 42:return 44;case 43:return 41;case 44:return 42;case 45:return 43;case 46:return 45;case 47:return 46;case 48:return 47;case 49:return 47;case 50:return 46;case 51:return 46;case 52:return 46;case 53:return 27;case 54:return G.yytext[0];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}}};return de}();ae.lexer=ne;function se(){this.yy={}}return se.prototype=ae,ae.Parser=se,new se}();cve.parser=cve;const Xen=cve;let R9={},uve=[];const Qen={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"},Jen={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},gGe=function(i,a=void 0){return R9[i]===void 0?(R9[i]={attributes:[],alias:a},Xe.info("Added new entity :",i)):R9[i]&&!R9[i].alias&&a&&(R9[i].alias=a,Xe.info(`Add alias '${a}' to entity '${i}'`)),R9[i]},Zen={Cardinality:Qen,Identification:Jen,getConfig:()=>qt().er,addEntity:gGe,addAttributes:function(i,a){let u=gGe(i),d;for(d=a.length-1;d>=0;d--)u.attributes.push(a[d]),Xe.debug("Added attribute ",a[d].attributeName)},getEntities:()=>R9,addRelationship:function(i,a,u,d){let p={entityA:i,roleA:a,entityB:u,relSpec:d};uve.push(p),Xe.debug("Added new relationship :",p)},getRelationships:()=>uve,clear:function(){R9={},uve=[],Rg()},setAccTitle:jg,getAccTitle:Mp,setAccDescription:Dp,getAccDescription:Ip,setDiagramTitle:pm,getDiagramTitle:Op},Y3={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"},X3={ERMarkers:Y3,insertMarkers:function(i,a){let u;i.append("defs").append("marker").attr("id",Y3.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"),i.append("defs").append("marker").attr("id",Y3.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"),i.append("defs").append("marker").attr("id",Y3.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),i.append("defs").append("marker").attr("id",Y3.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),u=i.append("defs").append("marker").attr("id",Y3.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),u.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),u.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M9,0 L9,18"),u=i.append("defs").append("marker").attr("id",Y3.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),u.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),u.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M21,0 L21,18"),i.append("defs").append("marker").attr("id",Y3.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),i.append("defs").append("marker").attr("id",Y3.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),u=i.append("defs").append("marker").attr("id",Y3.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),u.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),u.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),u=i.append("defs").append("marker").attr("id",Y3.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),u.append("circle").attr("stroke",a.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),u.append("path").attr("stroke",a.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")}},etn=/^(?:[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 ttn(i){return typeof i=="string"&&etn.test(i)}const Gd=[];for(let i=0;i<256;++i)Gd.push((i+256).toString(16).slice(1));function ntn(i,a=0){return Gd[i[a+0]]+Gd[i[a+1]]+Gd[i[a+2]]+Gd[i[a+3]]+"-"+Gd[i[a+4]]+Gd[i[a+5]]+"-"+Gd[i[a+6]]+Gd[i[a+7]]+"-"+Gd[i[a+8]]+Gd[i[a+9]]+"-"+Gd[i[a+10]]+Gd[i[a+11]]+Gd[i[a+12]]+Gd[i[a+13]]+Gd[i[a+14]]+Gd[i[a+15]]}function rtn(i){if(!ttn(i))throw TypeError("Invalid UUID");let a;const u=new Uint8Array(16);return u[0]=(a=parseInt(i.slice(0,8),16))>>>24,u[1]=a>>>16&255,u[2]=a>>>8&255,u[3]=a&255,u[4]=(a=parseInt(i.slice(9,13),16))>>>8,u[5]=a&255,u[6]=(a=parseInt(i.slice(14,18),16))>>>8,u[7]=a&255,u[8]=(a=parseInt(i.slice(19,23),16))>>>8,u[9]=a&255,u[10]=(a=parseInt(i.slice(24,36),16))/1099511627776&255,u[11]=a/4294967296&255,u[12]=a>>>24&255,u[13]=a>>>16&255,u[14]=a>>>8&255,u[15]=a&255,u}function itn(i){i=unescape(encodeURIComponent(i));const a=[];for(let u=0;u<i.length;++u)a.push(i.charCodeAt(u));return a}const stn="6ba7b810-9dad-11d1-80b4-00c04fd430c8",atn="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function otn(i,a,u){function d(p,v,b,y){var E;if(typeof p=="string"&&(p=itn(p)),typeof v=="string"&&(v=rtn(v)),((E=v)===null||E===void 0?void 0:E.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let _=new Uint8Array(16+p.length);if(_.set(v),_.set(p,v.length),_=u(_),_[6]=_[6]&15|a,_[8]=_[8]&63|128,b){y=y||0;for(let A=0;A<16;++A)b[y+A]=_[A];return b}return ntn(_)}try{d.name=i}catch{}return d.DNS=stn,d.URL=atn,d}function ctn(i,a,u,d){switch(i){case 0:return a&u^~a&d;case 1:return a^u^d;case 2:return a&u^a&d^u&d;case 3:return a^u^d}}function lve(i,a){return i<<a|i>>>32-a}function utn(i){const a=[1518500249,1859775393,2400959708,3395469782],u=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof i=="string"){const b=unescape(encodeURIComponent(i));i=[];for(let y=0;y<b.length;++y)i.push(b.charCodeAt(y))}else Array.isArray(i)||(i=Array.prototype.slice.call(i));i.push(128);const d=i.length/4+2,p=Math.ceil(d/16),v=new Array(p);for(let b=0;b<p;++b){const y=new Uint32Array(16);for(let E=0;E<16;++E)y[E]=i[b*64+E*4]<<24|i[b*64+E*4+1]<<16|i[b*64+E*4+2]<<8|i[b*64+E*4+3];v[b]=y}v[p-1][14]=(i.length-1)*8/Math.pow(2,32),v[p-1][14]=Math.floor(v[p-1][14]),v[p-1][15]=(i.length-1)*8&4294967295;for(let b=0;b<p;++b){const y=new Uint32Array(80);for(let B=0;B<16;++B)y[B]=v[b][B];for(let B=16;B<80;++B)y[B]=lve(y[B-3]^y[B-8]^y[B-14]^y[B-16],1);let E=u[0],_=u[1],A=u[2],P=u[3],R=u[4];for(let B=0;B<80;++B){const j=Math.floor(B/20),W=lve(E,5)+ctn(j,_,A,P)+R+a[j]+y[B]>>>0;R=P,P=A,A=lve(_,30)>>>0,_=E,E=W}u[0]=u[0]+E>>>0,u[1]=u[1]+_>>>0,u[2]=u[2]+A>>>0,u[3]=u[3]+P>>>0,u[4]=u[4]+R>>>0}return[u[0]>>24&255,u[0]>>16&255,u[0]>>8&255,u[0]&255,u[1]>>24&255,u[1]>>16&255,u[1]>>8&255,u[1]&255,u[2]>>24&255,u[2]>>16&255,u[2]>>8&255,u[2]&255,u[3]>>24&255,u[3]>>16&255,u[3]>>8&255,u[3]&255,u[4]>>24&255,u[4]>>16&255,u[4]>>8&255,u[4]&255]}const ltn=otn("v5",80,utn),htn=/[^\dA-Za-z](\W)*/g;let p1={},jR=new Map;const ftn=function(i){const a=Object.keys(i);for(const u of a)p1[u]=i[u]},dtn=(i,a,u)=>{const d=p1.entityPadding/3,p=p1.entityPadding/3,v=p1.fontSize*.85,b=a.node().getBBox(),y=[];let E=!1,_=!1,A=0,P=0,R=0,B=0,j=b.height+d*2,W=1;u.forEach(be=>{be.attributeKeyTypeList!==void 0&&be.attributeKeyTypeList.length>0&&(E=!0),be.attributeComment!==void 0&&(_=!0)}),u.forEach(be=>{const ge=`${a.node().id}-attr-${W}`;let ae=0;const ne=JF(be.attributeType),se=i.append("text").classed("er entityLabel",!0).attr("id",`${ge}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",qt().fontFamily).style("font-size",v+"px").text(ne),de=i.append("text").classed("er entityLabel",!0).attr("id",`${ge}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",qt().fontFamily).style("font-size",v+"px").text(be.attributeName),X={};X.tn=se,X.nn=de;const pe=se.node().getBBox(),G=de.node().getBBox();if(A=Math.max(A,pe.width),P=Math.max(P,G.width),ae=Math.max(pe.height,G.height),E){const xe=be.attributeKeyTypeList!==void 0?be.attributeKeyTypeList.join(","):"",U=i.append("text").classed("er entityLabel",!0).attr("id",`${ge}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",qt().fontFamily).style("font-size",v+"px").text(xe);X.kn=U;const Be=U.node().getBBox();R=Math.max(R,Be.width),ae=Math.max(ae,Be.height)}if(_){const xe=i.append("text").classed("er entityLabel",!0).attr("id",`${ge}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",qt().fontFamily).style("font-size",v+"px").text(be.attributeComment||"");X.cn=xe;const U=xe.node().getBBox();B=Math.max(B,U.width),ae=Math.max(ae,U.height)}X.height=ae,y.push(X),j+=ae+d*2,W+=1});let ee=4;E&&(ee+=2),_&&(ee+=2);const ie=A+P+R+B,oe={width:Math.max(p1.minEntityWidth,Math.max(b.width+p1.entityPadding*2,ie+p*ee)),height:u.length>0?j:Math.max(p1.minEntityHeight,b.height+p1.entityPadding*2)};if(u.length>0){const be=Math.max(0,(oe.width-ie-p*ee)/(ee/2));a.attr("transform","translate("+oe.width/2+","+(d+b.height/2)+")");let ge=b.height+d*2,ae="attributeBoxOdd";y.forEach(ne=>{const se=ge+d+ne.height/2;ne.tn.attr("transform","translate("+p+","+se+")");const de=i.insert("rect","#"+ne.tn.node().id).classed(`er ${ae}`,!0).attr("x",0).attr("y",ge).attr("width",A+p*2+be).attr("height",ne.height+d*2),X=parseFloat(de.attr("x"))+parseFloat(de.attr("width"));ne.nn.attr("transform","translate("+(X+p)+","+se+")");const pe=i.insert("rect","#"+ne.nn.node().id).classed(`er ${ae}`,!0).attr("x",X).attr("y",ge).attr("width",P+p*2+be).attr("height",ne.height+d*2);let G=parseFloat(pe.attr("x"))+parseFloat(pe.attr("width"));if(E){ne.kn.attr("transform","translate("+(G+p)+","+se+")");const xe=i.insert("rect","#"+ne.kn.node().id).classed(`er ${ae}`,!0).attr("x",G).attr("y",ge).attr("width",R+p*2+be).attr("height",ne.height+d*2);G=parseFloat(xe.attr("x"))+parseFloat(xe.attr("width"))}_&&(ne.cn.attr("transform","translate("+(G+p)+","+se+")"),i.insert("rect","#"+ne.cn.node().id).classed(`er ${ae}`,"true").attr("x",G).attr("y",ge).attr("width",B+p*2+be).attr("height",ne.height+d*2)),ge+=ne.height+d*2,ae=ae==="attributeBoxOdd"?"attributeBoxEven":"attributeBoxOdd"})}else oe.height=Math.max(p1.minEntityHeight,j),a.attr("transform","translate("+oe.width/2+","+oe.height/2+")");return oe},gtn=function(i,a,u){const d=Object.keys(a);let p;return d.forEach(function(v){const b=ytn(v,"entity");jR.set(v,b);const y=i.append("g").attr("id",b);p=p===void 0?b:p;const E="text-"+b,_=y.append("text").classed("er entityLabel",!0).attr("id",E).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",qt().fontFamily).style("font-size",p1.fontSize+"px").text(a[v].alias??v),{width:A,height:P}=dtn(y,_,a[v].attributes),B=y.insert("rect","#"+E).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",A).attr("height",P).node().getBBox();u.setNode(b,{width:B.width,height:B.height,shape:"rect",id:b})}),p},ptn=function(i,a){a.nodes().forEach(function(u){u!==void 0&&a.node(u)!==void 0&&i.select("#"+u).attr("transform","translate("+(a.node(u).x-a.node(u).width/2)+","+(a.node(u).y-a.node(u).height/2)+" )")})},pGe=function(i){return(i.entityA+i.roleA+i.entityB).replace(/\s/g,"")},btn=function(i,a){return i.forEach(function(u){a.setEdge(jR.get(u.entityA),jR.get(u.entityB),{relationship:u},pGe(u))}),i};let bGe=0;const mtn=function(i,a,u,d,p){bGe++;const v=u.edge(jR.get(a.entityA),jR.get(a.entityB),pGe(a)),b=E7().x(function(j){return j.x}).y(function(j){return j.y}).curve(VF),y=i.insert("path","#"+d).classed("er relationshipLine",!0).attr("d",b(v.points)).style("stroke",p1.stroke).style("fill","none");a.relSpec.relType===p.db.Identification.NON_IDENTIFYING&&y.attr("stroke-dasharray","8,8");let E="";switch(p1.arrowMarkerAbsolute&&(E=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,E=E.replace(/\(/g,"\\("),E=E.replace(/\)/g,"\\)")),a.relSpec.cardA){case p.db.Cardinality.ZERO_OR_ONE:y.attr("marker-end","url("+E+"#"+X3.ERMarkers.ZERO_OR_ONE_END+")");break;case p.db.Cardinality.ZERO_OR_MORE:y.attr("marker-end","url("+E+"#"+X3.ERMarkers.ZERO_OR_MORE_END+")");break;case p.db.Cardinality.ONE_OR_MORE:y.attr("marker-end","url("+E+"#"+X3.ERMarkers.ONE_OR_MORE_END+")");break;case p.db.Cardinality.ONLY_ONE:y.attr("marker-end","url("+E+"#"+X3.ERMarkers.ONLY_ONE_END+")");break;case p.db.Cardinality.MD_PARENT:y.attr("marker-end","url("+E+"#"+X3.ERMarkers.MD_PARENT_END+")");break}switch(a.relSpec.cardB){case p.db.Cardinality.ZERO_OR_ONE:y.attr("marker-start","url("+E+"#"+X3.ERMarkers.ZERO_OR_ONE_START+")");break;case p.db.Cardinality.ZERO_OR_MORE:y.attr("marker-start","url("+E+"#"+X3.ERMarkers.ZERO_OR_MORE_START+")");break;case p.db.Cardinality.ONE_OR_MORE:y.attr("marker-start","url("+E+"#"+X3.ERMarkers.ONE_OR_MORE_START+")");break;case p.db.Cardinality.ONLY_ONE:y.attr("marker-start","url("+E+"#"+X3.ERMarkers.ONLY_ONE_START+")");break;case p.db.Cardinality.MD_PARENT:y.attr("marker-start","url("+E+"#"+X3.ERMarkers.MD_PARENT_START+")");break}const _=y.node().getTotalLength(),A=y.node().getPointAtLength(_*.5),P="rel"+bGe,B=i.append("text").classed("er relationshipLabel",!0).attr("id",P).attr("x",A.x).attr("y",A.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",qt().fontFamily).style("font-size",p1.fontSize+"px").text(a.roleA).node().getBBox();i.insert("rect","#"+P).classed("er relationshipLabelBox",!0).attr("x",A.x-B.width/2).attr("y",A.y-B.height/2).attr("width",B.width).attr("height",B.height)},vtn=function(i,a,u,d){p1=qt().er,Xe.info("Drawing ER diagram");const p=qt().securityLevel;let v;p==="sandbox"&&(v=Dr("#i"+a));const y=Dr(p==="sandbox"?v.nodes()[0].contentDocument.body:"body").select(`[id='${a}']`);X3.insertMarkers(y,p1);let E;E=new R0({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:p1.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});const _=gtn(y,d.db.getEntities(),E),A=btn(d.db.getRelationships(),E);XD(E),ptn(y,E),A.forEach(function(W){mtn(y,W,E,_,d)});const P=p1.diagramPadding;So.insertTitle(y,"entityTitleText",p1.titleTopMargin,d.db.getDiagramTitle());const R=y.node().getBBox(),B=R.width+P*2,j=R.height+P*2;Fg(y,j,B,p1.useMaxWidth),y.attr("viewBox",`${R.x-P} ${R.y-P} ${B} ${j}`)},wtn="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";function ytn(i="",a=""){const u=i.replace(htn,"");return`${mGe(a)}${mGe(u)}${ltn(i,wtn)}`}function mGe(i=""){return i.length>0?`${i}-`:""}const xtn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Xen,db:Zen,renderer:{setConf:ftn,draw:vtn},styles:i=>`
.entityBox {
fill: ${i.mainBkg};
stroke: ${i.nodeBorder};
}
.attributeBoxOdd {
fill: ${i.attributeBackgroundColorOdd};
stroke: ${i.nodeBorder};
}
.attributeBoxEven {
fill: ${i.attributeBackgroundColorEven};
stroke: ${i.nodeBorder};
}
.relationshipLabelBox {
fill: ${i.tertiaryColor};
opacity: 0.7;
background-color: ${i.tertiaryColor};
rect {
opacity: 0.5;
}
}
.relationshipLine {
stroke: ${i.lineColor};
}
.entityTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${i.textColor};
}
#MD_PARENT_START {
fill: #f5f5f5 !important;
stroke: ${i.lineColor} !important;
stroke-width: 1;
}
#MD_PARENT_END {
fill: #f5f5f5 !important;
stroke: ${i.lineColor} !important;
stroke-width: 1;
}
`}},Symbol.toStringTag,{value:"Module"}));var hve=function(){var i=function(ae,ne,se,de){for(se=se||{},de=ae.length;de--;se[ae[de]]=ne);return se},a=[1,3],u=[1,6],d=[1,4],p=[1,5],v=[2,5],b=[1,12],y=[5,7,13,19,21,23,24,26,28,31,37,40,47],E=[7,13,19,21,23,24,26,28,31,37,40],_=[7,12,13,19,21,23,24,26,28,31,37,40],A=[7,13,47],P=[1,42],R=[1,41],B=[7,13,29,32,35,38,47],j=[1,55],W=[1,56],ee=[1,57],ie=[7,13,32,35,42,47],oe={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(ne,se,de,X,pe,G,xe){var U=G.length-1;switch(pe){case 2:return G[U];case 3:return G[U-1];case 4:return X.setDirection(G[U-3]),G[U-1];case 6:X.setOptions(G[U-1]),this.$=G[U];break;case 7:G[U-1]+=G[U],this.$=G[U-1];break;case 9:this.$=[];break;case 10:G[U-1].push(G[U]),this.$=G[U-1];break;case 11:this.$=G[U-1];break;case 16:this.$=G[U].trim(),X.setAccTitle(this.$);break;case 17:case 18:this.$=G[U].trim(),X.setAccDescription(this.$);break;case 19:X.addSection(G[U].substr(8)),this.$=G[U].substr(8);break;case 21:X.checkout(G[U]);break;case 22:X.branch(G[U]);break;case 23:X.branch(G[U-2],G[U]);break;case 24:X.cherryPick(G[U],"",void 0);break;case 25:X.cherryPick(G[U-2],"",void 0,G[U]);break;case 26:X.cherryPick(G[U-2],"",G[U]);break;case 27:X.cherryPick(G[U-4],"",G[U],G[U-2]);break;case 28:X.cherryPick(G[U-4],"",G[U-2],G[U]);break;case 29:X.cherryPick(G[U],"",G[U-2]);break;case 30:X.cherryPick(G[U],"","");break;case 31:X.cherryPick(G[U-2],"","");break;case 32:X.cherryPick(G[U-4],"","",G[U-2]);break;case 33:X.cherryPick(G[U-4],"","",G[U]);break;case 34:X.cherryPick(G[U-2],"",G[U-4],G[U]);break;case 35:X.cherryPick(G[U-2],"","",G[U]);break;case 36:X.merge(G[U],"","","");break;case 37:X.merge(G[U-2],G[U],"","");break;case 38:X.merge(G[U-2],"",G[U],"");break;case 39:X.merge(G[U-2],"","",G[U]);break;case 40:X.merge(G[U-4],G[U],"",G[U-2]);break;case 41:X.merge(G[U-4],"",G[U],G[U-2]);break;case 42:X.merge(G[U-4],"",G[U-2],G[U]);break;case 43:X.merge(G[U-4],G[U-2],G[U],"");break;case 44:X.merge(G[U-4],G[U-2],"",G[U]);break;case 45:X.merge(G[U-4],G[U],G[U-2],"");break;case 46:X.merge(G[U-6],G[U-4],G[U-2],G[U]);break;case 47:X.merge(G[U-6],G[U],G[U-4],G[U-2]);break;case 48:X.merge(G[U-6],G[U-4],G[U],G[U-2]);break;case 49:X.merge(G[U-6],G[U-2],G[U-4],G[U]);break;case 50:X.merge(G[U-6],G[U],G[U-2],G[U-4]);break;case 51:X.merge(G[U-6],G[U-2],G[U],G[U-4]);break;case 52:X.commit(G[U]);break;case 53:X.commit("","",X.commitType.NORMAL,G[U]);break;case 54:X.commit("","",G[U],"");break;case 55:X.commit("","",G[U],G[U-2]);break;case 56:X.commit("","",G[U-2],G[U]);break;case 57:X.commit("",G[U],X.commitType.NORMAL,"");break;case 58:X.commit("",G[U-2],X.commitType.NORMAL,G[U]);break;case 59:X.commit("",G[U],X.commitType.NORMAL,G[U-2]);break;case 60:X.commit("",G[U-2],G[U],"");break;case 61:X.commit("",G[U],G[U-2],"");break;case 62:X.commit("",G[U-4],G[U-2],G[U]);break;case 63:X.commit("",G[U-4],G[U],G[U-2]);break;case 64:X.commit("",G[U-2],G[U-4],G[U]);break;case 65:X.commit("",G[U],G[U-4],G[U-2]);break;case 66:X.commit("",G[U],G[U-2],G[U-4]);break;case 67:X.commit("",G[U-2],G[U],G[U-4]);break;case 68:X.commit(G[U],"",X.commitType.NORMAL,"");break;case 69:X.commit(G[U],"",X.commitType.NORMAL,G[U-2]);break;case 70:X.commit(G[U-2],"",X.commitType.NORMAL,G[U]);break;case 71:X.commit(G[U-2],"",G[U],"");break;case 72:X.commit(G[U],"",G[U-2],"");break;case 73:X.commit(G[U],G[U-2],X.commitType.NORMAL,"");break;case 74:X.commit(G[U-2],G[U],X.commitType.NORMAL,"");break;case 75:X.commit(G[U-4],"",G[U-2],G[U]);break;case 76:X.commit(G[U-4],"",G[U],G[U-2]);break;case 77:X.commit(G[U-2],"",G[U-4],G[U]);break;case 78:X.commit(G[U],"",G[U-4],G[U-2]);break;case 79:X.commit(G[U],"",G[U-2],G[U-4]);break;case 80:X.commit(G[U-2],"",G[U],G[U-4]);break;case 81:X.commit(G[U-4],G[U],G[U-2],"");break;case 82:X.commit(G[U-4],G[U-2],G[U],"");break;case 83:X.commit(G[U-2],G[U],G[U-4],"");break;case 84:X.commit(G[U],G[U-2],G[U-4],"");break;case 85:X.commit(G[U],G[U-4],G[U-2],"");break;case 86:X.commit(G[U-2],G[U-4],G[U],"");break;case 87:X.commit(G[U-4],G[U],X.commitType.NORMAL,G[U-2]);break;case 88:X.commit(G[U-4],G[U-2],X.commitType.NORMAL,G[U]);break;case 89:X.commit(G[U-2],G[U],X.commitType.NORMAL,G[U-4]);break;case 90:X.commit(G[U],G[U-2],X.commitType.NORMAL,G[U-4]);break;case 91:X.commit(G[U],G[U-4],X.commitType.NORMAL,G[U-2]);break;case 92:X.commit(G[U-2],G[U-4],X.commitType.NORMAL,G[U]);break;case 93:X.commit(G[U-6],G[U-4],G[U-2],G[U]);break;case 94:X.commit(G[U-6],G[U-4],G[U],G[U-2]);break;case 95:X.commit(G[U-6],G[U-2],G[U-4],G[U]);break;case 96:X.commit(G[U-6],G[U],G[U-4],G[U-2]);break;case 97:X.commit(G[U-6],G[U-2],G[U],G[U-4]);break;case 98:X.commit(G[U-6],G[U],G[U-2],G[U-4]);break;case 99:X.commit(G[U-4],G[U-6],G[U-2],G[U]);break;case 100:X.commit(G[U-4],G[U-6],G[U],G[U-2]);break;case 101:X.commit(G[U-2],G[U-6],G[U-4],G[U]);break;case 102:X.commit(G[U],G[U-6],G[U-4],G[U-2]);break;case 103:X.commit(G[U-2],G[U-6],G[U],G[U-4]);break;case 104:X.commit(G[U],G[U-6],G[U-2],G[U-4]);break;case 105:X.commit(G[U],G[U-4],G[U-2],G[U-6]);break;case 106:X.commit(G[U-2],G[U-4],G[U],G[U-6]);break;case 107:X.commit(G[U],G[U-2],G[U-4],G[U-6]);break;case 108:X.commit(G[U-2],G[U],G[U-4],G[U-6]);break;case 109:X.commit(G[U-4],G[U-2],G[U],G[U-6]);break;case 110:X.commit(G[U-4],G[U],G[U-2],G[U-6]);break;case 111:X.commit(G[U-2],G[U-4],G[U-6],G[U]);break;case 112:X.commit(G[U],G[U-4],G[U-6],G[U-2]);break;case 113:X.commit(G[U-2],G[U],G[U-6],G[U-4]);break;case 114:X.commit(G[U],G[U-2],G[U-6],G[U-4]);break;case 115:X.commit(G[U-4],G[U-2],G[U-6],G[U]);break;case 116:X.commit(G[U-4],G[U],G[U-6],G[U-2]);break;case 117:this.$="";break;case 118:this.$=G[U];break;case 119:this.$=X.commitType.NORMAL;break;case 120:this.$=X.commitType.REVERSE;break;case 121:this.$=X.commitType.HIGHLIGHT;break}},table:[{3:1,4:2,5:a,7:u,13:d,47:p},{1:[3]},{3:7,4:2,5:a,7:u,13:d,47:p},{6:8,7:v,8:[1,9],9:[1,10],10:11,13:b},i(y,[2,124]),i(y,[2,125]),i(y,[2,126]),{1:[2,1]},{7:[1,13]},{6:14,7:v,10:11,13:b},{8:[1,15]},i(E,[2,9],{11:16,12:[1,17]}),i(_,[2,8]),{1:[2,2]},{7:[1,18]},{6:19,7:v,10:11,13:b},{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]},i(_,[2,7]),{1:[2,3]},{7:[1,36]},i(E,[2,10]),{4:37,7:u,13:d,47:p},i(E,[2,12]),i(A,[2,13]),i(A,[2,14]),i(A,[2,15]),{20:[1,38]},{22:[1,39]},i(A,[2,18]),i(A,[2,19]),i(A,[2,20]),{27:40,33:P,46:R},i(A,[2,117],{41:43,32:[1,46],33:[1,48],35:[1,44],38:[1,45],42:[1,47]}),{27:49,33:P,46:R},{32:[1,50],35:[1,51]},{27:52,33:P,46:R},{1:[2,4]},i(E,[2,11]),i(A,[2,16]),i(A,[2,17]),i(A,[2,21]),i(B,[2,122]),i(B,[2,123]),i(A,[2,52]),{33:[1,53]},{39:54,43:j,44:W,45:ee},{33:[1,58]},{33:[1,59]},i(A,[2,118]),i(A,[2,36],{32:[1,60],35:[1,62],38:[1,61]}),{33:[1,63]},{33:[1,64],36:[1,65]},i(A,[2,22],{29:[1,66]}),i(A,[2,53],{32:[1,68],38:[1,67],42:[1,69]}),i(A,[2,54],{32:[1,71],35:[1,70],42:[1,72]}),i(ie,[2,119]),i(ie,[2,120]),i(ie,[2,121]),i(A,[2,57],{35:[1,73],38:[1,74],42:[1,75]}),i(A,[2,68],{32:[1,78],35:[1,76],38:[1,77]}),{33:[1,79]},{39:80,43:j,44:W,45:ee},{33:[1,81]},i(A,[2,24],{34:[1,82],35:[1,83]}),{32:[1,84]},{32:[1,85]},{30:[1,86]},{39:87,43:j,44:W,45:ee},{33:[1,88]},{33:[1,89]},{33:[1,90]},{33:[1,91]},{33:[1,92]},{33:[1,93]},{39:94,43:j,44:W,45:ee},{33:[1,95]},{33:[1,96]},{39:97,43:j,44:W,45:ee},{33:[1,98]},i(A,[2,37],{35:[1,100],38:[1,99]}),i(A,[2,38],{32:[1,102],35:[1,101]}),i(A,[2,39],{32:[1,103],38:[1,104]}),{33:[1,105]},{33:[1,106],36:[1,107]},{33:[1,108]},{33:[1,109]},i(A,[2,23]),i(A,[2,55],{32:[1,110],42:[1,111]}),i(A,[2,59],{38:[1,112],42:[1,113]}),i(A,[2,69],{32:[1,115],38:[1,114]}),i(A,[2,56],{32:[1,116],42:[1,117]}),i(A,[2,61],{35:[1,118],42:[1,119]}),i(A,[2,72],{32:[1,121],35:[1,120]}),i(A,[2,58],{38:[1,122],42:[1,123]}),i(A,[2,60],{35:[1,124],42:[1,125]}),i(A,[2,73],{35:[1,127],38:[1,126]}),i(A,[2,70],{32:[1,129],38:[1,128]}),i(A,[2,71],{32:[1,131],35:[1,130]}),i(A,[2,74],{35:[1,133],38:[1,132]}),{39:134,43:j,44:W,45:ee},{33:[1,135]},{33:[1,136]},{33:[1,137]},{33:[1,138]},{39:139,43:j,44:W,45:ee},i(A,[2,25],{35:[1,140]}),i(A,[2,26],{34:[1,141]}),i(A,[2,31],{34:[1,142]}),i(A,[2,29],{34:[1,143]}),i(A,[2,30],{34:[1,144]}),{33:[1,145]},{33:[1,146]},{39:147,43:j,44:W,45:ee},{33:[1,148]},{39:149,43:j,44:W,45:ee},{33:[1,150]},{33:[1,151]},{33:[1,152]},{33:[1,153]},{33:[1,154]},{33:[1,155]},{33:[1,156]},{39:157,43:j,44:W,45:ee},{33:[1,158]},{33:[1,159]},{33:[1,160]},{39:161,43:j,44:W,45:ee},{33:[1,162]},{39:163,43:j,44:W,45:ee},{33:[1,164]},{33:[1,165]},{33:[1,166]},{39:167,43:j,44:W,45:ee},{33:[1,168]},i(A,[2,43],{35:[1,169]}),i(A,[2,44],{38:[1,170]}),i(A,[2,42],{32:[1,171]}),i(A,[2,45],{35:[1,172]}),i(A,[2,40],{38:[1,173]}),i(A,[2,41],{32:[1,174]}),{33:[1,175],36:[1,176]},{33:[1,177]},{33:[1,178]},{33:[1,179]},{33:[1,180]},i(A,[2,66],{42:[1,181]}),i(A,[2,79],{32:[1,182]}),i(A,[2,67],{42:[1,183]}),i(A,[2,90],{38:[1,184]}),i(A,[2,80],{32:[1,185]}),i(A,[2,89],{38:[1,186]}),i(A,[2,65],{42:[1,187]}),i(A,[2,78],{32:[1,188]}),i(A,[2,64],{42:[1,189]}),i(A,[2,84],{35:[1,190]}),i(A,[2,77],{32:[1,191]}),i(A,[2,83],{35:[1,192]}),i(A,[2,63],{42:[1,193]}),i(A,[2,91],{38:[1,194]}),i(A,[2,62],{42:[1,195]}),i(A,[2,85],{35:[1,196]}),i(A,[2,86],{35:[1,197]}),i(A,[2,92],{38:[1,198]}),i(A,[2,76],{32:[1,199]}),i(A,[2,87],{38:[1,200]}),i(A,[2,75],{32:[1,201]}),i(A,[2,81],{35:[1,202]}),i(A,[2,82],{35:[1,203]}),i(A,[2,88],{38:[1,204]}),{33:[1,205]},{39:206,43:j,44:W,45:ee},{33:[1,207]},{33:[1,208]},{39:209,43:j,44:W,45:ee},{33:[1,210]},i(A,[2,27]),i(A,[2,32]),i(A,[2,28]),i(A,[2,33]),i(A,[2,34]),i(A,[2,35]),{33:[1,211]},{33:[1,212]},{33:[1,213]},{39:214,43:j,44:W,45:ee},{33:[1,215]},{39:216,43:j,44:W,45:ee},{33:[1,217]},{33:[1,218]},{33:[1,219]},{33:[1,220]},{33:[1,221]},{33:[1,222]},{33:[1,223]},{39:224,43:j,44:W,45:ee},{33:[1,225]},{33:[1,226]},{33:[1,227]},{39:228,43:j,44:W,45:ee},{33:[1,229]},{39:230,43:j,44:W,45:ee},{33:[1,231]},{33:[1,232]},{33:[1,233]},{39:234,43:j,44:W,45:ee},i(A,[2,46]),i(A,[2,48]),i(A,[2,47]),i(A,[2,49]),i(A,[2,51]),i(A,[2,50]),i(A,[2,107]),i(A,[2,108]),i(A,[2,105]),i(A,[2,106]),i(A,[2,110]),i(A,[2,109]),i(A,[2,114]),i(A,[2,113]),i(A,[2,112]),i(A,[2,111]),i(A,[2,116]),i(A,[2,115]),i(A,[2,104]),i(A,[2,103]),i(A,[2,102]),i(A,[2,101]),i(A,[2,99]),i(A,[2,100]),i(A,[2,98]),i(A,[2,97]),i(A,[2,96]),i(A,[2,95]),i(A,[2,93]),i(A,[2,94])],defaultActions:{7:[2,1],13:[2,2],18:[2,3],36:[2,4]},parseError:function(ne,se){if(se.recoverable)this.trace(ne);else{var de=new Error(ne);throw de.hash=se,de}},parse:function(ne){var se=this,de=[0],X=[],pe=[null],G=[],xe=this.table,U="",Be=0,Pe=0,je=2,Ie=1,Se=G.slice.call(arguments,1),Ce=Object.create(this.lexer),ke={yy:{}};for(var Ke in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ke)&&(ke.yy[Ke]=this.yy[Ke]);Ce.setInput(ne,ke.yy),ke.yy.lexer=Ce,ke.yy.parser=this,typeof Ce.yylloc>"u"&&(Ce.yylloc={});var zt=Ce.yylloc;G.push(zt);var Ne=Ce.options&&Ce.options.ranges;typeof ke.yy.parseError=="function"?this.parseError=ke.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pn(){var ht;return ht=X.pop()||Ce.lex()||Ie,typeof ht!="number"&&(ht instanceof Array&&(X=ht,ht=X.pop()),ht=se.symbols_[ht]||ht),ht}for(var Tt,Et,Wt,un,yt={},Bt,Ze,Dt,kt;;){if(Et=de[de.length-1],this.defaultActions[Et]?Wt=this.defaultActions[Et]:((Tt===null||typeof Tt>"u")&&(Tt=pn()),Wt=xe[Et]&&xe[Et][Tt]),typeof Wt>"u"||!Wt.length||!Wt[0]){var Nn="";kt=[];for(Bt in xe[Et])this.terminals_[Bt]&&Bt>je&&kt.push("'"+this.terminals_[Bt]+"'");Ce.showPosition?Nn="Parse error on line "+(Be+1)+`:
`+Ce.showPosition()+`
Expecting `+kt.join(", ")+", got '"+(this.terminals_[Tt]||Tt)+"'":Nn="Parse error on line "+(Be+1)+": Unexpected "+(Tt==Ie?"end of input":"'"+(this.terminals_[Tt]||Tt)+"'"),this.parseError(Nn,{text:Ce.match,token:this.terminals_[Tt]||Tt,line:Ce.yylineno,loc:zt,expected:kt})}if(Wt[0]instanceof Array&&Wt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Et+", token: "+Tt);switch(Wt[0]){case 1:de.push(Tt),pe.push(Ce.yytext),G.push(Ce.yylloc),de.push(Wt[1]),Tt=null,Pe=Ce.yyleng,U=Ce.yytext,Be=Ce.yylineno,zt=Ce.yylloc;break;case 2:if(Ze=this.productions_[Wt[1]][1],yt.$=pe[pe.length-Ze],yt._$={first_line:G[G.length-(Ze||1)].first_line,last_line:G[G.length-1].last_line,first_column:G[G.length-(Ze||1)].first_column,last_column:G[G.length-1].last_column},Ne&&(yt._$.range=[G[G.length-(Ze||1)].range[0],G[G.length-1].range[1]]),un=this.performAction.apply(yt,[U,Pe,Be,ke.yy,Wt[1],pe,G].concat(Se)),typeof un<"u")return un;Ze&&(de=de.slice(0,-1*Ze*2),pe=pe.slice(0,-1*Ze),G=G.slice(0,-1*Ze)),de.push(this.productions_[Wt[1]][0]),pe.push(yt.$),G.push(yt._$),Dt=xe[de[de.length-2]][de[de.length-1]],de.push(Dt);break;case 3:return!0}}return!0}},be=function(){var ae={EOF:1,parseError:function(se,de){if(this.yy.parser)this.yy.parser.parseError(se,de);else throw new Error(se)},setInput:function(ne,se){return this.yy=se||this.yy||{},this._input=ne,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 ne=this._input[0];this.yytext+=ne,this.yyleng++,this.offset++,this.match+=ne,this.matched+=ne;var se=ne.match(/(?:\r\n?|\n).*/g);return se?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ne},unput:function(ne){var se=ne.length,de=ne.split(/(?:\r\n?|\n)/g);this._input=ne+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-se),this.offset-=se;var X=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),de.length-1&&(this.yylineno-=de.length-1);var pe=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:de?(de.length===X.length?this.yylloc.first_column:0)+X[X.length-de.length].length-de[0].length:this.yylloc.first_column-se},this.options.ranges&&(this.yylloc.range=[pe[0],pe[0]+this.yyleng-se]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return 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).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(ne){this.unput(this.match.slice(ne))},pastInput:function(){var ne=this.matched.substr(0,this.matched.length-this.match.length);return(ne.length>20?"...":"")+ne.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var ne=this.match;return ne.length<20&&(ne+=this._input.substr(0,20-ne.length)),(ne.substr(0,20)+(ne.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var ne=this.pastInput(),se=new Array(ne.length+1).join("-");return ne+this.upcomingInput()+`
`+se+"^"},test_match:function(ne,se){var de,X,pe;if(this.options.backtrack_lexer&&(pe={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&&(pe.yylloc.range=this.yylloc.range.slice(0))),X=ne[0].match(/(?:\r\n?|\n).*/g),X&&(this.yylineno+=X.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:X?X[X.length-1].length-X[X.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ne[0].length},this.yytext+=ne[0],this.match+=ne[0],this.matches=ne,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(ne[0].length),this.matched+=ne[0],de=this.performAction.call(this,this.yy,this,se,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),de)return de;if(this._backtrack){for(var G in pe)this[G]=pe[G];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ne,se,de,X;this._more||(this.yytext="",this.match="");for(var pe=this._currentRules(),G=0;G<pe.length;G++)if(de=this._input.match(this.rules[pe[G]]),de&&(!se||de[0].length>se[0].length)){if(se=de,X=G,this.options.backtrack_lexer){if(ne=this.test_match(de,pe[G]),ne!==!1)return ne;if(this._backtrack){se=!1;continue}else return!1}else if(!this.options.flex)break}return se?(ne=this.test_match(se,pe[X]),ne!==!1?ne:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var se=this.next();return se||this.lex()},begin:function(se){this.conditionStack.push(se)},popState:function(){var se=this.conditionStack.length-1;return se>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(se){return se=this.conditionStack.length-1-Math.abs(se||0),se>=0?this.conditionStack[se]:"INITIAL"},pushState:function(se){this.begin(se)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(se,de,X,pe){switch(X){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:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 13;case 8:break;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:return 9;case 26:return 9;case 27:return 8;case 28:return"CARET";case 29:this.begin("options");break;case 30:this.popState();break;case 31:return 12;case 32:return 36;case 33:this.begin("string");break;case 34:this.popState();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}}};return ae}();oe.lexer=be;function ge(){this.yy={}}return ge.prototype=oe,oe.Parser=ge,new ge}();hve.parser=hve;const ktn=hve;let xJ=qt().gitGraph.mainBranchName,Ttn=qt().gitGraph.mainBranchOrder,b1={},$p=null,$R={};$R[xJ]={name:xJ,order:Ttn};let j0={};j0[xJ]=$p;let sd=xJ,vGe="LR",XC=0;function fve(){return $je({length:7})}function Etn(i,a){const u=Object.create(null);return i.reduce((d,p)=>{const v=a(p);return u[v]||(u[v]=!0,d.push(p)),d},[])}const Ctn=function(i){vGe=i};let wGe={};const Stn=function(i){Xe.debug("options str",i),i=i&&i.trim(),i=i||"{}";try{wGe=JSON.parse(i)}catch(a){Xe.error("error while parsing gitGraph options",a.message)}},_tn=function(){return wGe},Atn=function(i,a,u,d){Xe.debug("Entering commit:",i,a,u,d),a=oi.sanitizeText(a,qt()),i=oi.sanitizeText(i,qt()),d=oi.sanitizeText(d,qt());const p={id:a||XC+"-"+fve(),message:i,seq:XC++,type:u||ZD.NORMAL,tag:d||"",parents:$p==null?[]:[$p.id],branch:sd};$p=p,b1[p.id]=p,j0[sd]=p.id,Xe.debug("in pushCommit "+p.id)},Ltn=function(i,a){if(i=oi.sanitizeText(i,qt()),j0[i]===void 0)j0[i]=$p!=null?$p.id:null,$R[i]={name:i,order:a?parseInt(a,10):null},yGe(i),Xe.debug("in createBranch");else{let u=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 '+i+'")');throw u.hash={text:"branch "+i,token:"branch "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"checkout '+i+'"']},u}},Mtn=function(i,a,u,d){i=oi.sanitizeText(i,qt()),a=oi.sanitizeText(a,qt());const p=b1[j0[sd]],v=b1[j0[i]];if(sd===i){let y=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},y}else if(p===void 0||!p){let y=new Error('Incorrect usage of "merge". Current branch ('+sd+")has no commits");throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["commit"]},y}else if(j0[i]===void 0){let y=new Error('Incorrect usage of "merge". Branch to be merged ('+i+") does not exist");throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch "+i]},y}else if(v===void 0||!v){let y=new Error('Incorrect usage of "merge". Branch to be merged ('+i+") has no commits");throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"commit"']},y}else if(p===v){let y=new Error('Incorrect usage of "merge". Both branches have same head');throw y.hash={text:"merge "+i,token:"merge "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["branch abc"]},y}else if(a&&b1[a]!==void 0){let y=new Error('Incorrect usage of "merge". Commit with id:'+a+" already exists, use different custom Id");throw y.hash={text:"merge "+i+a+u+d,token:"merge "+i+a+u+d,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["merge "+i+" "+a+"_UNIQUE "+u+" "+d]},y}const b={id:a||XC+"-"+fve(),message:"merged branch "+i+" into "+sd,seq:XC++,parents:[$p==null?null:$p.id,j0[i]],branch:sd,type:ZD.MERGE,customType:u,customId:!!a,tag:d||""};$p=b,b1[b.id]=b,j0[sd]=b.id,Xe.debug(j0),Xe.debug("in mergeBranch")},Dtn=function(i,a,u,d){if(Xe.debug("Entering cherryPick:",i,a,u),i=oi.sanitizeText(i,qt()),a=oi.sanitizeText(a,qt()),u=oi.sanitizeText(u,qt()),d=oi.sanitizeText(d,qt()),!i||b1[i]===void 0){let b=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw b.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},b}let p=b1[i],v=p.branch;if(d&&!(Array.isArray(p.parents)&&p.parents.includes(d)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");if(p.type===ZD.MERGE&&!d)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!a||b1[a]===void 0){if(v===sd){let E=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw E.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},E}const b=b1[j0[sd]];if(b===void 0||!b){let E=new Error('Incorrect usage of "cherry-pick". Current branch ('+sd+")has no commits");throw E.hash={text:"cherryPick "+i+" "+a,token:"cherryPick "+i+" "+a,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["cherry-pick abc"]},E}const y={id:XC+"-"+fve(),message:"cherry-picked "+p+" into "+sd,seq:XC++,parents:[$p==null?null:$p.id,p.id],branch:sd,type:ZD.CHERRY_PICK,tag:u??`cherry-pick:${p.id}${p.type===ZD.MERGE?`|parent:${d}`:""}`};$p=y,b1[y.id]=y,j0[sd]=y.id,Xe.debug(j0),Xe.debug("in cherryPick")}},yGe=function(i){if(i=oi.sanitizeText(i,qt()),j0[i]===void 0){let a=new Error('Trying to checkout branch which is not yet created. (Help try using "branch '+i+'")');throw a.hash={text:"checkout "+i,token:"checkout "+i,line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:['"branch '+i+'"']},a}else{sd=i;const a=j0[sd];$p=b1[a]}};function xGe(i,a,u){const d=i.indexOf(a);d===-1?i.push(u):i.splice(d,1,u)}function kGe(i){const a=i.reduce((p,v)=>p.seq>v.seq?p:v,i[0]);let u="";i.forEach(function(p){p===a?u+=" *":u+=" |"});const d=[u,a.id,a.seq];for(let p in j0)j0[p]===a.id&&d.push(p);if(Xe.debug(d.join(" ")),a.parents&&a.parents.length==2){const p=b1[a.parents[0]];xGe(i,a,p),i.push(b1[a.parents[1]])}else{if(a.parents.length==0)return;{const p=b1[a.parents];xGe(i,a,p)}}i=Etn(i,p=>p.id),kGe(i)}const Itn=function(){Xe.debug(b1);const i=TGe()[0];kGe([i])},Otn=function(){b1={},$p=null;let i=qt().gitGraph.mainBranchName,a=qt().gitGraph.mainBranchOrder;j0={},j0[i]=null,$R={},$R[i]={name:i,order:a},sd=i,XC=0,Rg()},Ntn=function(){return Object.values($R).map((a,u)=>a.order!==null?a:{...a,order:parseFloat(`0.${u}`,10)}).sort((a,u)=>a.order-u.order).map(({name:a})=>({name:a}))},Ptn=function(){return j0},Btn=function(){return b1},TGe=function(){const i=Object.keys(b1).map(function(a){return b1[a]});return i.forEach(function(a){Xe.debug(a.id)}),i.sort((a,u)=>a.seq-u.seq),i},Ftn=function(){return sd},Rtn=function(){return vGe},jtn=function(){return $p},ZD={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},$tn={getConfig:()=>qt().gitGraph,setDirection:Ctn,setOptions:Stn,getOptions:_tn,commit:Atn,branch:Ltn,merge:Mtn,cherryPick:Dtn,checkout:yGe,prettyPrint:Itn,clear:Otn,getBranchesAsObjArray:Ntn,getBranches:Ptn,getCommits:Btn,getCommitsArray:TGe,getCurrentBranch:Ftn,getDirection:Rtn,getHead:jtn,setAccTitle:jg,getAccTitle:Mp,getAccDescription:Ip,setAccDescription:Dp,setDiagramTitle:pm,getDiagramTitle:Op,commitType:ZD};let zR={};const ad={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},QC=8;let J2={},U7={},kJ=[],qR=0,$0="LR";const ztn=()=>{J2={},U7={},zR={},qR=0,kJ=[],$0="LR"},EGe=i=>{const a=document.createElementNS("http://www.w3.org/2000/svg","text");let u=[];typeof i=="string"?u=i.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(i)?u=i:u=[];for(const d of u){const p=document.createElementNS("http://www.w3.org/2000/svg","tspan");p.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),p.setAttribute("dy","1em"),p.setAttribute("x","0"),p.setAttribute("class","row"),p.textContent=d.trim(),a.appendChild(p)}return a},qtn=i=>{let a="",u=0;return i.forEach(d=>{const p=$0==="TB"?U7[d].y:U7[d].x;p>=u&&(a=d,u=p)}),a||void 0},CGe=(i,a,u)=>{const d=qt().gitGraph,p=i.append("g").attr("class","commit-bullets"),v=i.append("g").attr("class","commit-labels");let b=0;$0==="TB"&&(b=30);const E=Object.keys(a).sort((R,B)=>a[R].seq-a[B].seq),_=d.parallelCommits,A=10,P=40;E.forEach(R=>{const B=a[R];if(_)if(B.parents.length){const ie=qtn(B.parents);b=$0==="TB"?U7[ie].y+P:U7[ie].x+P}else b=0,$0==="TB"&&(b=30);const j=b+A,W=$0==="TB"?j:J2[B.branch].pos,ee=$0==="TB"?J2[B.branch].pos:j;if(u){let ie,oe=B.customType!==void 0&&B.customType!==""?B.customType:B.type;switch(oe){case ad.NORMAL:ie="commit-normal";break;case ad.REVERSE:ie="commit-reverse";break;case ad.HIGHLIGHT:ie="commit-highlight";break;case ad.MERGE:ie="commit-merge";break;case ad.CHERRY_PICK:ie="commit-cherry-pick";break;default:ie="commit-normal"}if(oe===ad.HIGHLIGHT){const be=p.append("rect");be.attr("x",ee-10),be.attr("y",W-10),be.attr("height",20),be.attr("width",20),be.attr("class",`commit ${B.id} commit-highlight${J2[B.branch].index%QC} ${ie}-outer`),p.append("rect").attr("x",ee-6).attr("y",W-6).attr("height",12).attr("width",12).attr("class",`commit ${B.id} commit${J2[B.branch].index%QC} ${ie}-inner`)}else if(oe===ad.CHERRY_PICK)p.append("circle").attr("cx",ee).attr("cy",W).attr("r",10).attr("class",`commit ${B.id} ${ie}`),p.append("circle").attr("cx",ee-3).attr("cy",W+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${B.id} ${ie}`),p.append("circle").attr("cx",ee+3).attr("cy",W+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${B.id} ${ie}`),p.append("line").attr("x1",ee+3).attr("y1",W+1).attr("x2",ee).attr("y2",W-5).attr("stroke","#fff").attr("class",`commit ${B.id} ${ie}`),p.append("line").attr("x1",ee-3).attr("y1",W+1).attr("x2",ee).attr("y2",W-5).attr("stroke","#fff").attr("class",`commit ${B.id} ${ie}`);else{const be=p.append("circle");if(be.attr("cx",ee),be.attr("cy",W),be.attr("r",B.type===ad.MERGE?9:10),be.attr("class",`commit ${B.id} commit${J2[B.branch].index%QC}`),oe===ad.MERGE){const ge=p.append("circle");ge.attr("cx",ee),ge.attr("cy",W),ge.attr("r",6),ge.attr("class",`commit ${ie} ${B.id} commit${J2[B.branch].index%QC}`)}oe===ad.REVERSE&&p.append("path").attr("d",`M ${ee-5},${W-5}L${ee+5},${W+5}M${ee-5},${W+5}L${ee+5},${W-5}`).attr("class",`commit ${ie} ${B.id} commit${J2[B.branch].index%QC}`)}}if($0==="TB"?U7[B.id]={x:ee,y:j}:U7[B.id]={x:j,y:W},u){if(B.type!==ad.CHERRY_PICK&&(B.customId&&B.type===ad.MERGE||B.type!==ad.MERGE)&&d.showCommitLabel){const be=v.append("g"),ge=be.insert("rect").attr("class","commit-label-bkg"),ae=be.append("text").attr("x",b).attr("y",W+25).attr("class","commit-label").text(B.id);let ne=ae.node().getBBox();if(ge.attr("x",j-ne.width/2-2).attr("y",W+13.5).attr("width",ne.width+2*2).attr("height",ne.height+2*2),$0==="TB"&&(ge.attr("x",ee-(ne.width+4*4+5)).attr("y",W-12),ae.attr("x",ee-(ne.width+4*4)).attr("y",W+ne.height-12)),$0!=="TB"&&ae.attr("x",j-ne.width/2),d.rotateCommitLabel)if($0==="TB")ae.attr("transform","rotate(-45, "+ee+", "+W+")"),ge.attr("transform","rotate(-45, "+ee+", "+W+")");else{let se=-7.5-(ne.width+10)/25*9.5,de=10+ne.width/25*8.5;be.attr("transform","translate("+se+", "+de+") rotate(-45, "+b+", "+W+")")}}if(B.tag){const be=v.insert("polygon"),ge=v.append("circle"),ae=v.append("text").attr("y",W-16).attr("class","tag-label").text(B.tag);let ne=ae.node().getBBox();ae.attr("x",j-ne.width/2);const se=ne.height/2,de=W-19.2;be.attr("class","tag-label-bkg").attr("points",`
${b-ne.width/2-4/2},${de+2}
${b-ne.width/2-4/2},${de-2}
${j-ne.width/2-4},${de-se-2}
${j+ne.width/2+4},${de-se-2}
${j+ne.width/2+4},${de+se+2}
${j-ne.width/2-4},${de+se+2}`),ge.attr("cx",b-ne.width/2+4/2).attr("cy",de).attr("r",1.5).attr("class","tag-hole"),$0==="TB"&&(be.attr("class","tag-label-bkg").attr("points",`
${ee},${b+2}
${ee},${b-2}
${ee+A},${b-se-2}
${ee+A+ne.width+4},${b-se-2}
${ee+A+ne.width+4},${b+se+2}
${ee+A},${b+se+2}`).attr("transform","translate(12,12) rotate(45, "+ee+","+b+")"),ge.attr("cx",ee+4/2).attr("cy",b).attr("transform","translate(12,12) rotate(45, "+ee+","+b+")"),ae.attr("x",ee+5).attr("y",b+3).attr("transform","translate(14,14) rotate(45, "+ee+","+b+")"))}}b+=P+A,b>qR&&(qR=b)})},Htn=(i,a,u,d,p)=>{const b=($0==="TB"?u.x<d.x:u.y<d.y)?a.branch:i.branch,y=_=>_.branch===b,E=_=>_.seq>i.seq&&_.seq<a.seq;return Object.values(p).some(_=>E(_)&&y(_))},HR=(i,a,u=0)=>{const d=i+Math.abs(i-a)/2;if(u>5)return d;if(kJ.every(b=>Math.abs(b-d)>=10))return kJ.push(d),d;const v=Math.abs(i-a);return HR(i,a-v/5,u+1)},Utn=(i,a,u,d)=>{const p=U7[a.id],v=U7[u.id],b=Htn(a,u,p,v,d);let y="",E="",_=0,A=0,P=J2[u.branch].index;u.type===ad.MERGE&&a.id!==u.parents[0]&&(P=J2[a.branch].index);let R;if(b){y="A 10 10, 0, 0, 0,",E="A 10 10, 0, 0, 1,",_=10,A=10;const B=p.y<v.y?HR(p.y,v.y):HR(v.y,p.y),j=p.x<v.x?HR(p.x,v.x):HR(v.x,p.x);$0==="TB"?p.x<v.x?R=`M ${p.x} ${p.y} L ${j-_} ${p.y} ${E} ${j} ${p.y+A} L ${j} ${v.y-_} ${y} ${j+A} ${v.y} L ${v.x} ${v.y}`:(P=J2[a.branch].index,R=`M ${p.x} ${p.y} L ${j+_} ${p.y} ${y} ${j} ${p.y+A} L ${j} ${v.y-_} ${E} ${j-A} ${v.y} L ${v.x} ${v.y}`):p.y<v.y?R=`M ${p.x} ${p.y} L ${p.x} ${B-_} ${y} ${p.x+A} ${B} L ${v.x-_} ${B} ${E} ${v.x} ${B+A} L ${v.x} ${v.y}`:(P=J2[a.branch].index,R=`M ${p.x} ${p.y} L ${p.x} ${B+_} ${E} ${p.x+A} ${B} L ${v.x-_} ${B} ${y} ${v.x} ${B-A} L ${v.x} ${v.y}`)}else y="A 20 20, 0, 0, 0,",E="A 20 20, 0, 0, 1,",_=20,A=20,$0==="TB"?(p.x<v.x&&(u.type===ad.MERGE&&a.id!==u.parents[0]?R=`M ${p.x} ${p.y} L ${p.x} ${v.y-_} ${y} ${p.x+A} ${v.y} L ${v.x} ${v.y}`:R=`M ${p.x} ${p.y} L ${v.x-_} ${p.y} ${E} ${v.x} ${p.y+A} L ${v.x} ${v.y}`),p.x>v.x&&(y="A 20 20, 0, 0, 0,",E="A 20 20, 0, 0, 1,",_=20,A=20,u.type===ad.MERGE&&a.id!==u.parents[0]?R=`M ${p.x} ${p.y} L ${p.x} ${v.y-_} ${E} ${p.x-A} ${v.y} L ${v.x} ${v.y}`:R=`M ${p.x} ${p.y} L ${v.x+_} ${p.y} ${y} ${v.x} ${p.y+A} L ${v.x} ${v.y}`),p.x===v.x&&(R=`M ${p.x} ${p.y} L ${v.x} ${v.y}`)):(p.y<v.y&&(u.type===ad.MERGE&&a.id!==u.parents[0]?R=`M ${p.x} ${p.y} L ${v.x-_} ${p.y} ${E} ${v.x} ${p.y+A} L ${v.x} ${v.y}`:R=`M ${p.x} ${p.y} L ${p.x} ${v.y-_} ${y} ${p.x+A} ${v.y} L ${v.x} ${v.y}`),p.y>v.y&&(u.type===ad.MERGE&&a.id!==u.parents[0]?R=`M ${p.x} ${p.y} L ${v.x-_} ${p.y} ${y} ${v.x} ${p.y-A} L ${v.x} ${v.y}`:R=`M ${p.x} ${p.y} L ${p.x} ${v.y+_} ${E} ${p.x+A} ${v.y} L ${v.x} ${v.y}`),p.y===v.y&&(R=`M ${p.x} ${p.y} L ${v.x} ${v.y}`));i.append("path").attr("d",R).attr("class","arrow arrow"+P%QC)},Vtn=(i,a)=>{const u=i.append("g").attr("class","commit-arrows");Object.keys(a).forEach(d=>{const p=a[d];p.parents&&p.parents.length>0&&p.parents.forEach(v=>{Utn(u,a[v],p,a)})})},Gtn=(i,a)=>{const u=qt().gitGraph,d=i.append("g");a.forEach((p,v)=>{const b=v%QC,y=J2[p.name].pos,E=d.append("line");E.attr("x1",0),E.attr("y1",y),E.attr("x2",qR),E.attr("y2",y),E.attr("class","branch branch"+b),$0==="TB"&&(E.attr("y1",30),E.attr("x1",y),E.attr("y2",qR),E.attr("x2",y)),kJ.push(y);let _=p.name;const A=EGe(_),P=d.insert("rect"),B=d.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+b);B.node().appendChild(A);let j=A.getBBox();P.attr("class","branchLabelBkg label"+b).attr("rx",4).attr("ry",4).attr("x",-j.width-4-(u.rotateCommitLabel===!0?30:0)).attr("y",-j.height/2+8).attr("width",j.width+18).attr("height",j.height+4),B.attr("transform","translate("+(-j.width-14-(u.rotateCommitLabel===!0?30:0))+", "+(y-j.height/2-1)+")"),$0==="TB"&&(P.attr("x",y-j.width/2-10).attr("y",0),B.attr("transform","translate("+(y-j.width/2-5)+", 0)")),$0!=="TB"&&P.attr("transform","translate(-19, "+(y-j.height/2)+")")})},Ktn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:ktn,db:$tn,renderer:{draw:function(i,a,u,d){ztn();const p=qt(),v=p.gitGraph;Xe.debug("in gitgraph renderer",i+`
`,"id:",a,u),zR=d.db.getCommits();const b=d.db.getBranchesAsObjArray();$0=d.db.getDirection();const y=Dr(`[id="${a}"]`);let E=0;b.forEach((_,A)=>{const P=EGe(_.name),R=y.append("g"),B=R.insert("g").attr("class","branchLabel"),j=B.insert("g").attr("class","label branch-label");j.node().appendChild(P);let W=P.getBBox();J2[_.name]={pos:E,index:A},E+=50+(v.rotateCommitLabel?40:0)+($0==="TB"?W.width/2:0),j.remove(),B.remove(),R.remove()}),CGe(y,zR,!1),v.showBranches&&Gtn(y,b),Vtn(y,zR),CGe(y,zR,!0),So.insertTitle(y,"gitTitleText",v.titleTopMargin,d.db.getDiagramTitle()),C$e(void 0,y,v.diagramPadding,v.useMaxWidth??p.useMaxWidth)}},styles:i=>`
.commit-id,
.commit-msg,
.branch-label {
fill: lightgrey;
color: lightgrey;
font-family: 'trebuchet ms', verdana, arial, sans-serif;
font-family: var(--mermaid-font-family);
}
${[0,1,2,3,4,5,6,7].map(a=>`
.branch-label${a} { fill: ${i["gitBranchLabel"+a]}; }
.commit${a} { stroke: ${i["git"+a]}; fill: ${i["git"+a]}; }
.commit-highlight${a} { stroke: ${i["gitInv"+a]}; fill: ${i["gitInv"+a]}; }
.label${a} { fill: ${i["git"+a]}; }
.arrow${a} { stroke: ${i["git"+a]}; }
`).join(`
`)}
.branch {
stroke-width: 1;
stroke: ${i.lineColor};
stroke-dasharray: 2;
}
.commit-label { font-size: ${i.commitLabelFontSize}; fill: ${i.commitLabelColor};}
.commit-label-bkg { font-size: ${i.commitLabelFontSize}; fill: ${i.commitLabelBackground}; opacity: 0.5; }
.tag-label { font-size: ${i.tagLabelFontSize}; fill: ${i.tagLabelColor};}
.tag-label-bkg { fill: ${i.tagLabelBackground}; stroke: ${i.tagLabelBorder}; }
.tag-hole { fill: ${i.textColor}; }
.commit-merge {
stroke: ${i.primaryColor};
fill: ${i.primaryColor};
}
.commit-reverse {
stroke: ${i.primaryColor};
fill: ${i.primaryColor};
stroke-width: 3;
}
.commit-highlight-outer {
}
.commit-highlight-inner {
stroke: ${i.primaryColor};
fill: ${i.primaryColor};
}
.arrow { stroke-width: 8; stroke-linecap: round; fill: none}
.gitTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${i.textColor};
}
`}},Symbol.toStringTag,{value:"Module"}));var dve=function(){var i=function(G,xe,U,Be){for(U=U||{},Be=G.length;Be--;U[G[Be]]=xe);return U},a=[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],u=[1,25],d=[1,26],p=[1,27],v=[1,28],b=[1,29],y=[1,30],E=[1,31],_=[1,9],A=[1,10],P=[1,11],R=[1,12],B=[1,13],j=[1,14],W=[1,15],ee=[1,16],ie=[1,18],oe=[1,19],be=[1,20],ge=[1,21],ae=[1,22],ne=[1,24],se=[1,32],de={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(xe,U,Be,Pe,je,Ie,Se){var Ce=Ie.length-1;switch(je){case 1:return Ie[Ce-1];case 2:this.$=[];break;case 3:Ie[Ce-1].push(Ie[Ce]),this.$=Ie[Ce-1];break;case 4:case 5:this.$=Ie[Ce];break;case 6:case 7:this.$=[];break;case 8:Pe.setWeekday("monday");break;case 9:Pe.setWeekday("tuesday");break;case 10:Pe.setWeekday("wednesday");break;case 11:Pe.setWeekday("thursday");break;case 12:Pe.setWeekday("friday");break;case 13:Pe.setWeekday("saturday");break;case 14:Pe.setWeekday("sunday");break;case 15:Pe.setDateFormat(Ie[Ce].substr(11)),this.$=Ie[Ce].substr(11);break;case 16:Pe.enableInclusiveEndDates(),this.$=Ie[Ce].substr(18);break;case 17:Pe.TopAxis(),this.$=Ie[Ce].substr(8);break;case 18:Pe.setAxisFormat(Ie[Ce].substr(11)),this.$=Ie[Ce].substr(11);break;case 19:Pe.setTickInterval(Ie[Ce].substr(13)),this.$=Ie[Ce].substr(13);break;case 20:Pe.setExcludes(Ie[Ce].substr(9)),this.$=Ie[Ce].substr(9);break;case 21:Pe.setIncludes(Ie[Ce].substr(9)),this.$=Ie[Ce].substr(9);break;case 22:Pe.setTodayMarker(Ie[Ce].substr(12)),this.$=Ie[Ce].substr(12);break;case 24:Pe.setDiagramTitle(Ie[Ce].substr(6)),this.$=Ie[Ce].substr(6);break;case 25:this.$=Ie[Ce].trim(),Pe.setAccTitle(this.$);break;case 26:case 27:this.$=Ie[Ce].trim(),Pe.setAccDescription(this.$);break;case 28:Pe.addSection(Ie[Ce].substr(8)),this.$=Ie[Ce].substr(8);break;case 30:Pe.addTask(Ie[Ce-1],Ie[Ce]),this.$="task";break;case 31:this.$=Ie[Ce-1],Pe.setClickEvent(Ie[Ce-1],Ie[Ce],null);break;case 32:this.$=Ie[Ce-2],Pe.setClickEvent(Ie[Ce-2],Ie[Ce-1],Ie[Ce]);break;case 33:this.$=Ie[Ce-2],Pe.setClickEvent(Ie[Ce-2],Ie[Ce-1],null),Pe.setLink(Ie[Ce-2],Ie[Ce]);break;case 34:this.$=Ie[Ce-3],Pe.setClickEvent(Ie[Ce-3],Ie[Ce-2],Ie[Ce-1]),Pe.setLink(Ie[Ce-3],Ie[Ce]);break;case 35:this.$=Ie[Ce-2],Pe.setClickEvent(Ie[Ce-2],Ie[Ce],null),Pe.setLink(Ie[Ce-2],Ie[Ce-1]);break;case 36:this.$=Ie[Ce-3],Pe.setClickEvent(Ie[Ce-3],Ie[Ce-1],Ie[Ce]),Pe.setLink(Ie[Ce-3],Ie[Ce-2]);break;case 37:this.$=Ie[Ce-1],Pe.setLink(Ie[Ce-1],Ie[Ce]);break;case 38:case 44:this.$=Ie[Ce-1]+" "+Ie[Ce];break;case 39:case 40:case 42:this.$=Ie[Ce-2]+" "+Ie[Ce-1]+" "+Ie[Ce];break;case 41:case 43:this.$=Ie[Ce-3]+" "+Ie[Ce-2]+" "+Ie[Ce-1]+" "+Ie[Ce];break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:u,13:d,14:p,15:v,16:b,17:y,18:E,19:_,20:A,21:P,22:R,23:B,24:j,25:W,26:ee,27:ie,28:oe,30:be,32:ge,33:ae,34:23,35:ne,37:se},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:33,11:17,12:u,13:d,14:p,15:v,16:b,17:y,18:E,19:_,20:A,21:P,22:R,23:B,24:j,25:W,26:ee,27:ie,28:oe,30:be,32:ge,33:ae,34:23,35:ne,37:se},i(a,[2,5]),i(a,[2,6]),i(a,[2,15]),i(a,[2,16]),i(a,[2,17]),i(a,[2,18]),i(a,[2,19]),i(a,[2,20]),i(a,[2,21]),i(a,[2,22]),i(a,[2,23]),i(a,[2,24]),{29:[1,34]},{31:[1,35]},i(a,[2,27]),i(a,[2,28]),i(a,[2,29]),{36:[1,36]},i(a,[2,8]),i(a,[2,9]),i(a,[2,10]),i(a,[2,11]),i(a,[2,12]),i(a,[2,13]),i(a,[2,14]),{38:[1,37],40:[1,38]},i(a,[2,4]),i(a,[2,25]),i(a,[2,26]),i(a,[2,30]),i(a,[2,31],{39:[1,39],40:[1,40]}),i(a,[2,37],{38:[1,41]}),i(a,[2,32],{40:[1,42]}),i(a,[2,33]),i(a,[2,35],{39:[1,43]}),i(a,[2,34]),i(a,[2,36])],defaultActions:{},parseError:function(xe,U){if(U.recoverable)this.trace(xe);else{var Be=new Error(xe);throw Be.hash=U,Be}},parse:function(xe){var U=this,Be=[0],Pe=[],je=[null],Ie=[],Se=this.table,Ce="",ke=0,Ke=0,zt=2,Ne=1,pn=Ie.slice.call(arguments,1),Tt=Object.create(this.lexer),Et={yy:{}};for(var Wt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Wt)&&(Et.yy[Wt]=this.yy[Wt]);Tt.setInput(xe,Et.yy),Et.yy.lexer=Tt,Et.yy.parser=this,typeof Tt.yylloc>"u"&&(Tt.yylloc={});var un=Tt.yylloc;Ie.push(un);var yt=Tt.options&&Tt.options.ranges;typeof Et.yy.parseError=="function"?this.parseError=Et.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Bt(){var Hs;return Hs=Pe.pop()||Tt.lex()||Ne,typeof Hs!="number"&&(Hs instanceof Array&&(Pe=Hs,Hs=Pe.pop()),Hs=U.symbols_[Hs]||Hs),Hs}for(var Ze,Dt,kt,Nn,ht={},qr,xt,Ri,wi;;){if(Dt=Be[Be.length-1],this.defaultActions[Dt]?kt=this.defaultActions[Dt]:((Ze===null||typeof Ze>"u")&&(Ze=Bt()),kt=Se[Dt]&&Se[Dt][Ze]),typeof kt>"u"||!kt.length||!kt[0]){var ia="";wi=[];for(qr in Se[Dt])this.terminals_[qr]&&qr>zt&&wi.push("'"+this.terminals_[qr]+"'");Tt.showPosition?ia="Parse error on line "+(ke+1)+`:
`+Tt.showPosition()+`
Expecting `+wi.join(", ")+", got '"+(this.terminals_[Ze]||Ze)+"'":ia="Parse error on line "+(ke+1)+": Unexpected "+(Ze==Ne?"end of input":"'"+(this.terminals_[Ze]||Ze)+"'"),this.parseError(ia,{text:Tt.match,token:this.terminals_[Ze]||Ze,line:Tt.yylineno,loc:un,expected:wi})}if(kt[0]instanceof Array&&kt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Dt+", token: "+Ze);switch(kt[0]){case 1:Be.push(Ze),je.push(Tt.yytext),Ie.push(Tt.yylloc),Be.push(kt[1]),Ze=null,Ke=Tt.yyleng,Ce=Tt.yytext,ke=Tt.yylineno,un=Tt.yylloc;break;case 2:if(xt=this.productions_[kt[1]][1],ht.$=je[je.length-xt],ht._$={first_line:Ie[Ie.length-(xt||1)].first_line,last_line:Ie[Ie.length-1].last_line,first_column:Ie[Ie.length-(xt||1)].first_column,last_column:Ie[Ie.length-1].last_column},yt&&(ht._$.range=[Ie[Ie.length-(xt||1)].range[0],Ie[Ie.length-1].range[1]]),Nn=this.performAction.apply(ht,[Ce,Ke,ke,Et.yy,kt[1],je,Ie].concat(pn)),typeof Nn<"u")return Nn;xt&&(Be=Be.slice(0,-1*xt*2),je=je.slice(0,-1*xt),Ie=Ie.slice(0,-1*xt)),Be.push(this.productions_[kt[1]][0]),je.push(ht.$),Ie.push(ht._$),Ri=Se[Be[Be.length-2]][Be[Be.length-1]],Be.push(Ri);break;case 3:return!0}}return!0}},X=function(){var G={EOF:1,parseError:function(U,Be){if(this.yy.parser)this.yy.parser.parseError(U,Be);else throw new Error(U)},setInput:function(xe,U){return this.yy=U||this.yy||{},this._input=xe,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 xe=this._input[0];this.yytext+=xe,this.yyleng++,this.offset++,this.match+=xe,this.matched+=xe;var U=xe.match(/(?:\r\n?|\n).*/g);return U?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),xe},unput:function(xe){var U=xe.length,Be=xe.split(/(?:\r\n?|\n)/g);this._input=xe+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-U),this.offset-=U;var Pe=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),Be.length-1&&(this.yylineno-=Be.length-1);var je=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:Be?(Be.length===Pe.length?this.yylloc.first_column:0)+Pe[Pe.length-Be.length].length-Be[0].length:this.yylloc.first_column-U},this.options.ranges&&(this.yylloc.range=[je[0],je[0]+this.yyleng-U]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return 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).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(xe){this.unput(this.match.slice(xe))},pastInput:function(){var xe=this.matched.substr(0,this.matched.length-this.match.length);return(xe.length>20?"...":"")+xe.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var xe=this.match;return xe.length<20&&(xe+=this._input.substr(0,20-xe.length)),(xe.substr(0,20)+(xe.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var xe=this.pastInput(),U=new Array(xe.length+1).join("-");return xe+this.upcomingInput()+`
`+U+"^"},test_match:function(xe,U){var Be,Pe,je;if(this.options.backtrack_lexer&&(je={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&&(je.yylloc.range=this.yylloc.range.slice(0))),Pe=xe[0].match(/(?:\r\n?|\n).*/g),Pe&&(this.yylineno+=Pe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Pe?Pe[Pe.length-1].length-Pe[Pe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+xe[0].length},this.yytext+=xe[0],this.match+=xe[0],this.matches=xe,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(xe[0].length),this.matched+=xe[0],Be=this.performAction.call(this,this.yy,this,U,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Be)return Be;if(this._backtrack){for(var Ie in je)this[Ie]=je[Ie];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var xe,U,Be,Pe;this._more||(this.yytext="",this.match="");for(var je=this._currentRules(),Ie=0;Ie<je.length;Ie++)if(Be=this._input.match(this.rules[je[Ie]]),Be&&(!U||Be[0].length>U[0].length)){if(U=Be,Pe=Ie,this.options.backtrack_lexer){if(xe=this.test_match(Be,je[Ie]),xe!==!1)return xe;if(this._backtrack){U=!1;continue}else return!1}else if(!this.options.flex)break}return U?(xe=this.test_match(U,je[Pe]),xe!==!1?xe:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var U=this.next();return U||this.lex()},begin:function(U){this.conditionStack.push(U)},popState:function(){var U=this.conditionStack.length-1;return U>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(U){return U=this.conditionStack.length-1-Math.abs(U||0),U>=0?this.conditionStack[U]:"INITIAL"},pushState:function(U){this.begin(U)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(U,Be,Pe,je){switch(Pe){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:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 40;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 38;case 21:this.popState();break;case 22:return 39;case 23:this.begin("click");break;case 24:this.popState();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}}};return G}();de.lexer=X;function pe(){this.yy={}}return pe.prototype=de,de.Parser=pe,new pe}();dve.parser=dve;const Wtn=dve;var SGe={exports:{}};(function(i,a){(function(u,d){i.exports=d()})(Dg,function(){var u="day";return function(d,p,v){var b=function(_){return _.add(4-_.isoWeekday(),u)},y=p.prototype;y.isoWeekYear=function(){return b(this).year()},y.isoWeek=function(_){if(!this.$utils().u(_))return this.add(7*(_-this.isoWeek()),u);var A,P,R,B,j=b(this),W=(A=this.isoWeekYear(),P=this.$u,R=(P?v.utc:v)().year(A).startOf("year"),B=4-R.isoWeekday(),R.isoWeekday()>4&&(B+=7),R.add(B,u));return j.diff(W,"week")+1},y.isoWeekday=function(_){return this.$utils().u(_)?this.day()||7:this.day(this.day()%7?_:_-7)};var E=y.startOf;y.startOf=function(_,A){var P=this.$utils(),R=!!P.u(A)||A;return P.p(_)==="isoweek"?R?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):E.bind(this)(_,A)}}})})(SGe);var Ytn=SGe.exports;const Xtn=dC(Ytn);var _Ge={exports:{}};(function(i,a){(function(u,d){i.exports=d()})(Dg,function(){var u={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"},d=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,p=/\d\d/,v=/\d\d?/,b=/\d*[^-_:/,()\s\d]+/,y={},E=function(W){return(W=+W)+(W>68?1900:2e3)},_=function(W){return function(ee){this[W]=+ee}},A=[/[+-]\d\d:?(\d\d)?|Z/,function(W){(this.zone||(this.zone={})).offset=function(ee){if(!ee||ee==="Z")return 0;var ie=ee.match(/([+-]|\d\d)/g),oe=60*ie[1]+(+ie[2]||0);return oe===0?0:ie[0]==="+"?-oe:oe}(W)}],P=function(W){var ee=y[W];return ee&&(ee.indexOf?ee:ee.s.concat(ee.f))},R=function(W,ee){var ie,oe=y.meridiem;if(oe){for(var be=1;be<=24;be+=1)if(W.indexOf(oe(be,0,ee))>-1){ie=be>12;break}}else ie=W===(ee?"pm":"PM");return ie},B={A:[b,function(W){this.afternoon=R(W,!1)}],a:[b,function(W){this.afternoon=R(W,!0)}],S:[/\d/,function(W){this.milliseconds=100*+W}],SS:[p,function(W){this.milliseconds=10*+W}],SSS:[/\d{3}/,function(W){this.milliseconds=+W}],s:[v,_("seconds")],ss:[v,_("seconds")],m:[v,_("minutes")],mm:[v,_("minutes")],H:[v,_("hours")],h:[v,_("hours")],HH:[v,_("hours")],hh:[v,_("hours")],D:[v,_("day")],DD:[p,_("day")],Do:[b,function(W){var ee=y.ordinal,ie=W.match(/\d+/);if(this.day=ie[0],ee)for(var oe=1;oe<=31;oe+=1)ee(oe).replace(/\[|\]/g,"")===W&&(this.day=oe)}],M:[v,_("month")],MM:[p,_("month")],MMM:[b,function(W){var ee=P("months"),ie=(P("monthsShort")||ee.map(function(oe){return oe.slice(0,3)})).indexOf(W)+1;if(ie<1)throw new Error;this.month=ie%12||ie}],MMMM:[b,function(W){var ee=P("months").indexOf(W)+1;if(ee<1)throw new Error;this.month=ee%12||ee}],Y:[/[+-]?\d+/,_("year")],YY:[p,function(W){this.year=E(W)}],YYYY:[/\d{4}/,_("year")],Z:A,ZZ:A};function j(W){var ee,ie;ee=W,ie=y&&y.formats;for(var oe=(W=ee.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(X,pe,G){var xe=G&&G.toUpperCase();return pe||ie[G]||u[G]||ie[xe].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(U,Be,Pe){return Be||Pe.slice(1)})})).match(d),be=oe.length,ge=0;ge<be;ge+=1){var ae=oe[ge],ne=B[ae],se=ne&&ne[0],de=ne&&ne[1];oe[ge]=de?{regex:se,parser:de}:ae.replace(/^\[|\]$/g,"")}return function(X){for(var pe={},G=0,xe=0;G<be;G+=1){var U=oe[G];if(typeof U=="string")xe+=U.length;else{var Be=U.regex,Pe=U.parser,je=X.slice(xe),Ie=Be.exec(je)[0];Pe.call(pe,Ie),X=X.replace(Ie,"")}}return function(Se){var Ce=Se.afternoon;if(Ce!==void 0){var ke=Se.hours;Ce?ke<12&&(Se.hours+=12):ke===12&&(Se.hours=0),delete Se.afternoon}}(pe),pe}}return function(W,ee,ie){ie.p.customParseFormat=!0,W&&W.parseTwoDigitYear&&(E=W.parseTwoDigitYear);var oe=ee.prototype,be=oe.parse;oe.parse=function(ge){var ae=ge.date,ne=ge.utc,se=ge.args;this.$u=ne;var de=se[1];if(typeof de=="string"){var X=se[2]===!0,pe=se[3]===!0,G=X||pe,xe=se[2];pe&&(xe=se[2]),y=this.$locale(),!X&&xe&&(y=ie.Ls[xe]),this.$d=function(je,Ie,Se){try{if(["x","X"].indexOf(Ie)>-1)return new Date((Ie==="X"?1e3:1)*je);var Ce=j(Ie)(je),ke=Ce.year,Ke=Ce.month,zt=Ce.day,Ne=Ce.hours,pn=Ce.minutes,Tt=Ce.seconds,Et=Ce.milliseconds,Wt=Ce.zone,un=new Date,yt=zt||(ke||Ke?1:un.getDate()),Bt=ke||un.getFullYear(),Ze=0;ke&&!Ke||(Ze=Ke>0?Ke-1:un.getMonth());var Dt=Ne||0,kt=pn||0,Nn=Tt||0,ht=Et||0;return Wt?new Date(Date.UTC(Bt,Ze,yt,Dt,kt,Nn,ht+60*Wt.offset*1e3)):Se?new Date(Date.UTC(Bt,Ze,yt,Dt,kt,Nn,ht)):new Date(Bt,Ze,yt,Dt,kt,Nn,ht)}catch{return new Date("")}}(ae,de,ne),this.init(),xe&&xe!==!0&&(this.$L=this.locale(xe).$L),G&&ae!=this.format(de)&&(this.$d=new Date("")),y={}}else if(de instanceof Array)for(var U=de.length,Be=1;Be<=U;Be+=1){se[1]=de[Be-1];var Pe=ie.apply(this,se);if(Pe.isValid()){this.$d=Pe.$d,this.$L=Pe.$L,this.init();break}Be===U&&(this.$d=new Date(""))}else be.call(this,ge)}}})})(_Ge);var Qtn=_Ge.exports;const Jtn=dC(Qtn);var AGe={exports:{}};(function(i,a){(function(u,d){i.exports=d()})(Dg,function(){return function(u,d){var p=d.prototype,v=p.format;p.format=function(b){var y=this,E=this.$locale();if(!this.isValid())return v.bind(this)(b);var _=this.$utils(),A=(b||"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(P){switch(P){case"Q":return Math.ceil((y.$M+1)/3);case"Do":return E.ordinal(y.$D);case"gggg":return y.weekYear();case"GGGG":return y.isoWeekYear();case"wo":return E.ordinal(y.week(),"W");case"w":case"ww":return _.s(y.week(),P==="w"?1:2,"0");case"W":case"WW":return _.s(y.isoWeek(),P==="W"?1:2,"0");case"k":case"kk":return _.s(String(y.$H===0?24:y.$H),P==="k"?1:2,"0");case"X":return Math.floor(y.$d.getTime()/1e3);case"x":return y.$d.getTime();case"z":return"["+y.offsetName()+"]";case"zzz":return"["+y.offsetName("long")+"]";default:return P}});return v.bind(this)(A)}}})})(AGe);var Ztn=AGe.exports;const enn=dC(Ztn);Ig.extend(Xtn),Ig.extend(Jtn),Ig.extend(enn);let a5="",gve="",pve,bve="",UR=[],VR=[],mve={},vve=[],TJ=[],eI="",wve="";const LGe=["active","done","crit","milestone"];let yve=[],GR=!1,xve=!1,kve="sunday",Tve=0;const tnn=function(){vve=[],TJ=[],eI="",yve=[],EJ=0,Cve=void 0,CJ=void 0,m1=[],a5="",gve="",wve="",pve=void 0,bve="",UR=[],VR=[],GR=!1,xve=!1,Tve=0,mve={},Rg(),kve="sunday"},nnn=function(i){gve=i},rnn=function(){return gve},inn=function(i){pve=i},snn=function(){return pve},ann=function(i){bve=i},onn=function(){return bve},cnn=function(i){a5=i},unn=function(){GR=!0},lnn=function(){return GR},hnn=function(){xve=!0},fnn=function(){return xve},dnn=function(i){wve=i},gnn=function(){return wve},pnn=function(){return a5},bnn=function(i){UR=i.toLowerCase().split(/[\s,]+/)},mnn=function(){return UR},vnn=function(i){VR=i.toLowerCase().split(/[\s,]+/)},wnn=function(){return VR},ynn=function(){return mve},xnn=function(i){eI=i,vve.push(i)},knn=function(){return vve},Tnn=function(){let i=PGe();const a=10;let u=0;for(;!i&&u<a;)i=PGe(),u++;return TJ=m1,TJ},MGe=function(i,a,u,d){return d.includes(i.format(a.trim()))?!1:i.isoWeekday()>=6&&u.includes("weekends")||u.includes(i.format("dddd").toLowerCase())?!0:u.includes(i.format(a.trim()))},Enn=function(i){kve=i},Cnn=function(){return kve},DGe=function(i,a,u,d){if(!u.length||i.manualEndTime)return;let p;i.startTime instanceof Date?p=Ig(i.startTime):p=Ig(i.startTime,a,!0),p=p.add(1,"d");let v;i.endTime instanceof Date?v=Ig(i.endTime):v=Ig(i.endTime,a,!0);const[b,y]=Snn(p,v,a,u,d);i.endTime=b.toDate(),i.renderEndTime=y},Snn=function(i,a,u,d,p){let v=!1,b=null;const y=a.add(1e4,"d");for(;i<=a;){if(v||(b=a.toDate()),v=MGe(i,u,d,p),v&&(a=a.add(1,"d"),a>y))throw new Error("Failed to find a valid date that was not excluded by `excludes` after 10,000 iterations.");i=i.add(1,"d")}return[a,b]},Eve=function(i,a,u){u=u.trim();const p=/^after\s+(?<ids>[\d\w- ]+)/.exec(u);if(p!==null){let b=null;for(const E of p.groups.ids.split(" ")){let _=JC(E);_!==void 0&&(!b||_.endTime>b.endTime)&&(b=_)}if(b)return b.endTime;const y=new Date;return y.setHours(0,0,0,0),y}let v=Ig(u,a.trim(),!0);if(v.isValid())return v.toDate();{Xe.debug("Invalid date:"+u),Xe.debug("With date format:"+a.trim());const b=new Date(u);if(b===void 0||isNaN(b.getTime())||b.getFullYear()<-1e4||b.getFullYear()>1e4)throw new Error("Invalid date:"+u);return b}},IGe=function(i){const a=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(i.trim());return a!==null?[Number.parseFloat(a[1]),a[2]]:[NaN,"ms"]},OGe=function(i,a,u,d=!1){u=u.trim();const v=/^until\s+(?<ids>[\d\w- ]+)/.exec(u);if(v!==null){let A=null;for(const R of v.groups.ids.split(" ")){let B=JC(R);B!==void 0&&(!A||B.startTime<A.startTime)&&(A=B)}if(A)return A.startTime;const P=new Date;return P.setHours(0,0,0,0),P}let b=Ig(u,a.trim(),!0);if(b.isValid())return d&&(b=b.add(1,"d")),b.toDate();let y=Ig(i);const[E,_]=IGe(u);if(!Number.isNaN(E)){const A=y.add(E,_);A.isValid()&&(y=A)}return y.toDate()};let EJ=0;const tI=function(i){return i===void 0?(EJ=EJ+1,"task"+EJ):i},_nn=function(i,a){let u;a.substr(0,1)===":"?u=a.substr(1,a.length):u=a;const d=u.split(","),p={};RGe(d,p,LGe);for(let b=0;b<d.length;b++)d[b]=d[b].trim();let v="";switch(d.length){case 1:p.id=tI(),p.startTime=i.endTime,v=d[0];break;case 2:p.id=tI(),p.startTime=Eve(void 0,a5,d[0]),v=d[1];break;case 3:p.id=tI(d[0]),p.startTime=Eve(void 0,a5,d[1]),v=d[2];break}return v&&(p.endTime=OGe(p.startTime,a5,v,GR),p.manualEndTime=Ig(v,"YYYY-MM-DD",!0).isValid(),DGe(p,a5,VR,UR)),p},Ann=function(i,a){let u;a.substr(0,1)===":"?u=a.substr(1,a.length):u=a;const d=u.split(","),p={};RGe(d,p,LGe);for(let v=0;v<d.length;v++)d[v]=d[v].trim();switch(d.length){case 1:p.id=tI(),p.startTime={type:"prevTaskEnd",id:i},p.endTime={data:d[0]};break;case 2:p.id=tI(),p.startTime={type:"getStartDate",startData:d[0]},p.endTime={data:d[1]};break;case 3:p.id=tI(d[0]),p.startTime={type:"getStartDate",startData:d[1]},p.endTime={data:d[2]};break}return p};let Cve,CJ,m1=[];const NGe={},Lnn=function(i,a){const u={section:eI,type:eI,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:a},task:i,classes:[]},d=Ann(CJ,a);u.raw.startTime=d.startTime,u.raw.endTime=d.endTime,u.id=d.id,u.prevTaskId=CJ,u.active=d.active,u.done=d.done,u.crit=d.crit,u.milestone=d.milestone,u.order=Tve,Tve++;const p=m1.push(u);CJ=u.id,NGe[u.id]=p-1},JC=function(i){const a=NGe[i];return m1[a]},Mnn=function(i,a){const u={section:eI,type:eI,description:i,task:i,classes:[]},d=_nn(Cve,a);u.startTime=d.startTime,u.endTime=d.endTime,u.id=d.id,u.active=d.active,u.done=d.done,u.crit=d.crit,u.milestone=d.milestone,Cve=u,TJ.push(u)},PGe=function(){const i=function(u){const d=m1[u];let p="";switch(m1[u].raw.startTime.type){case"prevTaskEnd":{const v=JC(d.prevTaskId);d.startTime=v.endTime;break}case"getStartDate":p=Eve(void 0,a5,m1[u].raw.startTime.startData),p&&(m1[u].startTime=p);break}return m1[u].startTime&&(m1[u].endTime=OGe(m1[u].startTime,a5,m1[u].raw.endTime.data,GR),m1[u].endTime&&(m1[u].processed=!0,m1[u].manualEndTime=Ig(m1[u].raw.endTime.data,"YYYY-MM-DD",!0).isValid(),DGe(m1[u],a5,VR,UR))),m1[u].processed};let a=!0;for(const[u,d]of m1.entries())i(u),a=a&&d.processed;return a},Dnn=function(i,a){let u=a;qt().securityLevel!=="loose"&&(u=b9.sanitizeUrl(a)),i.split(",").forEach(function(d){JC(d)!==void 0&&(FGe(d,()=>{window.open(u,"_self")}),mve[d]=u)}),BGe(i,"clickable")},BGe=function(i,a){i.split(",").forEach(function(u){let d=JC(u);d!==void 0&&d.classes.push(a)})},Inn=function(i,a,u){if(qt().securityLevel!=="loose"||a===void 0)return;let d=[];if(typeof u=="string"){d=u.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let v=0;v<d.length;v++){let b=d[v].trim();b.charAt(0)==='"'&&b.charAt(b.length-1)==='"'&&(b=b.substr(1,b.length-2)),d[v]=b}}d.length===0&&d.push(i),JC(i)!==void 0&&FGe(i,()=>{So.runFunc(a,...d)})},FGe=function(i,a){yve.push(function(){const u=document.querySelector(`[id="${i}"]`);u!==null&&u.addEventListener("click",function(){a()})},function(){const u=document.querySelector(`[id="${i}-text"]`);u!==null&&u.addEventListener("click",function(){a()})})},Onn={getConfig:()=>qt().gantt,clear:tnn,setDateFormat:cnn,getDateFormat:pnn,enableInclusiveEndDates:unn,endDatesAreInclusive:lnn,enableTopAxis:hnn,topAxisEnabled:fnn,setAxisFormat:nnn,getAxisFormat:rnn,setTickInterval:inn,getTickInterval:snn,setTodayMarker:ann,getTodayMarker:onn,setAccTitle:jg,getAccTitle:Mp,setDiagramTitle:pm,getDiagramTitle:Op,setDisplayMode:dnn,getDisplayMode:gnn,setAccDescription:Dp,getAccDescription:Ip,addSection:xnn,getSections:knn,getTasks:Tnn,addTask:Lnn,findTaskById:JC,addTaskOrg:Mnn,setIncludes:bnn,getIncludes:mnn,setExcludes:vnn,getExcludes:wnn,setClickEvent:function(i,a,u){i.split(",").forEach(function(d){Inn(d,a,u)}),BGe(i,"clickable")},setLink:Dnn,getLinks:ynn,bindFunctions:function(i){yve.forEach(function(a){a(i)})},parseDuration:IGe,isInvalidDate:MGe,setWeekday:Enn,getWeekday:Cnn};function RGe(i,a,u){let d=!0;for(;d;)d=!1,u.forEach(function(p){const v="^\\s*"+p+"\\s*$",b=new RegExp(v);i[0].match(b)&&(a[p]=!0,i.shift(1),d=!0)})}const Nnn=function(){Xe.debug("Something is calling, setConf, remove the call")},jGe={monday:jF,tuesday:jFe,wednesday:$Fe,thursday:kC,friday:zFe,saturday:qFe,sunday:RF},Pnn=(i,a)=>{let u=[...i].map(()=>-1/0),d=[...i].sort((v,b)=>v.startTime-b.startTime||v.order-b.order),p=0;for(const v of d)for(let b=0;b<u.length;b++)if(v.startTime>=u[b]){u[b]=v.endTime,v.order=b+a,b>p&&(p=b);break}return p};let V7;const Bnn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Wtn,db:Onn,renderer:{setConf:Nnn,draw:function(i,a,u,d){const p=qt().gantt,v=qt().securityLevel;let b;v==="sandbox"&&(b=Dr("#i"+a));const y=Dr(v==="sandbox"?b.nodes()[0].contentDocument.body:"body"),E=v==="sandbox"?b.nodes()[0].contentDocument:document,_=E.getElementById(a);V7=_.parentElement.offsetWidth,V7===void 0&&(V7=1200),p.useWidth!==void 0&&(V7=p.useWidth);const A=d.db.getTasks();let P=[];for(const de of A)P.push(de.type);P=se(P);const R={};let B=2*p.topPadding;if(d.db.getDisplayMode()==="compact"||p.displayMode==="compact"){const de={};for(const pe of A)de[pe.section]===void 0?de[pe.section]=[pe]:de[pe.section].push(pe);let X=0;for(const pe of Object.keys(de)){const G=Pnn(de[pe],X)+1;X+=G,B+=G*(p.barHeight+p.barGap),R[pe]=G}}else{B+=A.length*(p.barHeight+p.barGap);for(const de of P)R[de]=A.filter(X=>X.type===de).length}_.setAttribute("viewBox","0 0 "+V7+" "+B);const j=y.select(`[id="${a}"]`),W=qNt().domain([ELt(A,function(de){return de.startTime}),TLt(A,function(de){return de.endTime})]).rangeRound([0,V7-p.leftPadding-p.rightPadding]);function ee(de,X){const pe=de.startTime,G=X.startTime;let xe=0;return pe>G?xe=1:pe<G&&(xe=-1),xe}A.sort(ee),ie(A,V7,B),Fg(j,B,V7,p.useMaxWidth),j.append("text").text(d.db.getDiagramTitle()).attr("x",V7/2).attr("y",p.titleTopMargin).attr("class","titleText");function ie(de,X,pe){const G=p.barHeight,xe=G+p.barGap,U=p.topPadding,Be=p.leftPadding,Pe=aD().domain([0,P.length]).range(["#00B9FA","#F95002"]).interpolate(GDt);be(xe,U,Be,X,pe,de,d.db.getExcludes(),d.db.getIncludes()),ge(Be,U,X,pe),oe(de,xe,U,Be,G,Pe,X),ae(xe,U),ne(Be,U,X,pe)}function oe(de,X,pe,G,xe,U,Be){const je=[...new Set(de.map(ke=>ke.order))].map(ke=>de.find(Ke=>Ke.order===ke));j.append("g").selectAll("rect").data(je).enter().append("rect").attr("x",0).attr("y",function(ke,Ke){return Ke=ke.order,Ke*X+pe-2}).attr("width",function(){return Be-p.rightPadding/2}).attr("height",X).attr("class",function(ke){for(const[Ke,zt]of P.entries())if(ke.type===zt)return"section section"+Ke%p.numberSectionStyles;return"section section0"});const Ie=j.append("g").selectAll("rect").data(de).enter(),Se=d.db.getLinks();if(Ie.append("rect").attr("id",function(ke){return ke.id}).attr("rx",3).attr("ry",3).attr("x",function(ke){return ke.milestone?W(ke.startTime)+G+.5*(W(ke.endTime)-W(ke.startTime))-.5*xe:W(ke.startTime)+G}).attr("y",function(ke,Ke){return Ke=ke.order,Ke*X+pe}).attr("width",function(ke){return ke.milestone?xe:W(ke.renderEndTime||ke.endTime)-W(ke.startTime)}).attr("height",xe).attr("transform-origin",function(ke,Ke){return Ke=ke.order,(W(ke.startTime)+G+.5*(W(ke.endTime)-W(ke.startTime))).toString()+"px "+(Ke*X+pe+.5*xe).toString()+"px"}).attr("class",function(ke){const Ke="task";let zt="";ke.classes.length>0&&(zt=ke.classes.join(" "));let Ne=0;for(const[Tt,Et]of P.entries())ke.type===Et&&(Ne=Tt%p.numberSectionStyles);let pn="";return ke.active?ke.crit?pn+=" activeCrit":pn=" active":ke.done?ke.crit?pn=" doneCrit":pn=" done":ke.crit&&(pn+=" crit"),pn.length===0&&(pn=" task"),ke.milestone&&(pn=" milestone "+pn),pn+=Ne,pn+=" "+zt,Ke+pn}),Ie.append("text").attr("id",function(ke){return ke.id+"-text"}).text(function(ke){return ke.task}).attr("font-size",p.fontSize).attr("x",function(ke){let Ke=W(ke.startTime),zt=W(ke.renderEndTime||ke.endTime);ke.milestone&&(Ke+=.5*(W(ke.endTime)-W(ke.startTime))-.5*xe),ke.milestone&&(zt=Ke+xe);const Ne=this.getBBox().width;return Ne>zt-Ke?zt+Ne+1.5*p.leftPadding>Be?Ke+G-5:zt+G+5:(zt-Ke)/2+Ke+G}).attr("y",function(ke,Ke){return Ke=ke.order,Ke*X+p.barHeight/2+(p.fontSize/2-2)+pe}).attr("text-height",xe).attr("class",function(ke){const Ke=W(ke.startTime);let zt=W(ke.endTime);ke.milestone&&(zt=Ke+xe);const Ne=this.getBBox().width;let pn="";ke.classes.length>0&&(pn=ke.classes.join(" "));let Tt=0;for(const[Wt,un]of P.entries())ke.type===un&&(Tt=Wt%p.numberSectionStyles);let Et="";return ke.active&&(ke.crit?Et="activeCritText"+Tt:Et="activeText"+Tt),ke.done?ke.crit?Et=Et+" doneCritText"+Tt:Et=Et+" doneText"+Tt:ke.crit&&(Et=Et+" critText"+Tt),ke.milestone&&(Et+=" milestoneText"),Ne>zt-Ke?zt+Ne+1.5*p.leftPadding>Be?pn+" taskTextOutsideLeft taskTextOutside"+Tt+" "+Et:pn+" taskTextOutsideRight taskTextOutside"+Tt+" "+Et+" width-"+Ne:pn+" taskText taskText"+Tt+" "+Et+" width-"+Ne}),qt().securityLevel==="sandbox"){let ke;ke=Dr("#i"+a);const Ke=ke.nodes()[0].contentDocument;Ie.filter(function(zt){return Se[zt.id]!==void 0}).each(function(zt){var Ne=Ke.querySelector("#"+zt.id),pn=Ke.querySelector("#"+zt.id+"-text");const Tt=Ne.parentNode;var Et=Ke.createElement("a");Et.setAttribute("xlink:href",Se[zt.id]),Et.setAttribute("target","_top"),Tt.appendChild(Et),Et.appendChild(Ne),Et.appendChild(pn)})}}function be(de,X,pe,G,xe,U,Be,Pe){if(Be.length===0&&Pe.length===0)return;let je,Ie;for(const{startTime:Ne,endTime:pn}of U)(je===void 0||Ne<je)&&(je=Ne),(Ie===void 0||pn>Ie)&&(Ie=pn);if(!je||!Ie)return;if(Ig(Ie).diff(Ig(je),"year")>5){Xe.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const Se=d.db.getDateFormat(),Ce=[];let ke=null,Ke=Ig(je);for(;Ke.valueOf()<=Ie;)d.db.isInvalidDate(Ke,Se,Be,Pe)?ke?ke.end=Ke:ke={start:Ke,end:Ke}:ke&&(Ce.push(ke),ke=null),Ke=Ke.add(1,"d");j.append("g").selectAll("rect").data(Ce).enter().append("rect").attr("id",function(Ne){return"exclude-"+Ne.start.format("YYYY-MM-DD")}).attr("x",function(Ne){return W(Ne.start)+pe}).attr("y",p.gridLineStartPadding).attr("width",function(Ne){const pn=Ne.end.add(1,"day");return W(pn)-W(Ne.start)}).attr("height",xe-X-p.gridLineStartPadding).attr("transform-origin",function(Ne,pn){return(W(Ne.start)+pe+.5*(W(Ne.end)-W(Ne.start))).toString()+"px "+(pn*de+.5*xe).toString()+"px"}).attr("class","exclude-range")}function ge(de,X,pe,G){let xe=OLt(W).tickSize(-G+X+p.gridLineStartPadding).tickFormat(fX(d.db.getAxisFormat()||p.axisFormat||"%Y-%m-%d"));const Be=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(d.db.getTickInterval()||p.tickInterval);if(Be!==null){const Pe=Be[1],je=Be[2],Ie=d.db.getWeekday()||p.weekday;switch(je){case"millisecond":xe.ticks(oD.every(Pe));break;case"second":xe.ticks(m9.every(Pe));break;case"minute":xe.ticks(BF.every(Pe));break;case"hour":xe.ticks(FF.every(Pe));break;case"day":xe.ticks(yC.every(Pe));break;case"week":xe.ticks(jGe[Ie].every(Pe));break;case"month":xe.ticks($F.every(Pe));break}}if(j.append("g").attr("class","grid").attr("transform","translate("+de+", "+(G-50)+")").call(xe).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),d.db.topAxisEnabled()||p.topAxis){let Pe=ILt(W).tickSize(-G+X+p.gridLineStartPadding).tickFormat(fX(d.db.getAxisFormat()||p.axisFormat||"%Y-%m-%d"));if(Be!==null){const je=Be[1],Ie=Be[2],Se=d.db.getWeekday()||p.weekday;switch(Ie){case"millisecond":Pe.ticks(oD.every(je));break;case"second":Pe.ticks(m9.every(je));break;case"minute":Pe.ticks(BF.every(je));break;case"hour":Pe.ticks(FF.every(je));break;case"day":Pe.ticks(yC.every(je));break;case"week":Pe.ticks(jGe[Se].every(je));break;case"month":Pe.ticks($F.every(je));break}}j.append("g").attr("class","grid").attr("transform","translate("+de+", "+X+")").call(Pe).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}function ae(de,X){let pe=0;const G=Object.keys(R).map(xe=>[xe,R[xe]]);j.append("g").selectAll("text").data(G).enter().append(function(xe){const U=xe[0].split(oi.lineBreakRegex),Be=-(U.length-1)/2,Pe=E.createElementNS("http://www.w3.org/2000/svg","text");Pe.setAttribute("dy",Be+"em");for(const[je,Ie]of U.entries()){const Se=E.createElementNS("http://www.w3.org/2000/svg","tspan");Se.setAttribute("alignment-baseline","central"),Se.setAttribute("x","10"),je>0&&Se.setAttribute("dy","1em"),Se.textContent=Ie,Pe.appendChild(Se)}return Pe}).attr("x",10).attr("y",function(xe,U){if(U>0)for(let Be=0;Be<U;Be++)return pe+=G[U-1][1],xe[1]*de/2+pe*de+X;else return xe[1]*de/2+X}).attr("font-size",p.sectionFontSize).attr("class",function(xe){for(const[U,Be]of P.entries())if(xe[0]===Be)return"sectionTitle sectionTitle"+U%p.numberSectionStyles;return"sectionTitle"})}function ne(de,X,pe,G){const xe=d.db.getTodayMarker();if(xe==="off")return;const U=j.append("g").attr("class","today"),Be=new Date,Pe=U.append("line");Pe.attr("x1",W(Be)+de).attr("x2",W(Be)+de).attr("y1",p.titleTopMargin).attr("y2",G-p.titleTopMargin).attr("class","today"),xe!==""&&Pe.attr("style",xe.replace(/,/g,";"))}function se(de){const X={},pe=[];for(let G=0,xe=de.length;G<xe;++G)Object.prototype.hasOwnProperty.call(X,de[G])||(X[de[G]]=!0,pe.push(de[G]));return pe}}},styles:i=>`
.mermaid-main-font {
font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
}
.exclude-range {
fill: ${i.excludeBkgColor};
}
.section {
stroke: none;
opacity: 0.2;
}
.section0 {
fill: ${i.sectionBkgColor};
}
.section2 {
fill: ${i.sectionBkgColor2};
}
.section1,
.section3 {
fill: ${i.altSectionBkgColor};
opacity: 0.2;
}
.sectionTitle0 {
fill: ${i.titleColor};
}
.sectionTitle1 {
fill: ${i.titleColor};
}
.sectionTitle2 {
fill: ${i.titleColor};
}
.sectionTitle3 {
fill: ${i.titleColor};
}
.sectionTitle {
text-anchor: start;
font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
}
/* Grid and axis */
.grid .tick {
stroke: ${i.gridColor};
opacity: 0.8;
shape-rendering: crispEdges;
}
.grid .tick text {
font-family: ${i.fontFamily};
fill: ${i.textColor};
}
.grid path {
stroke-width: 0;
}
/* Today line */
.today {
fill: none;
stroke: ${i.todayLineColor};
stroke-width: 2px;
}
/* Task styling */
/* Default task */
.task {
stroke-width: 2;
}
.taskText {
text-anchor: middle;
font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
}
.taskTextOutsideRight {
fill: ${i.taskTextDarkColor};
text-anchor: start;
font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
}
.taskTextOutsideLeft {
fill: ${i.taskTextDarkColor};
text-anchor: end;
}
/* Special case clickable */
.task.clickable {
cursor: pointer;
}
.taskText.clickable {
cursor: pointer;
fill: ${i.taskTextClickableColor} !important;
font-weight: bold;
}
.taskTextOutsideLeft.clickable {
cursor: pointer;
fill: ${i.taskTextClickableColor} !important;
font-weight: bold;
}
.taskTextOutsideRight.clickable {
cursor: pointer;
fill: ${i.taskTextClickableColor} !important;
font-weight: bold;
}
/* Specific task settings for the sections*/
.taskText0,
.taskText1,
.taskText2,
.taskText3 {
fill: ${i.taskTextColor};
}
.task0,
.task1,
.task2,
.task3 {
fill: ${i.taskBkgColor};
stroke: ${i.taskBorderColor};
}
.taskTextOutside0,
.taskTextOutside2
{
fill: ${i.taskTextOutsideColor};
}
.taskTextOutside1,
.taskTextOutside3 {
fill: ${i.taskTextOutsideColor};
}
/* Active task */
.active0,
.active1,
.active2,
.active3 {
fill: ${i.activeTaskBkgColor};
stroke: ${i.activeTaskBorderColor};
}
.activeText0,
.activeText1,
.activeText2,
.activeText3 {
fill: ${i.taskTextDarkColor} !important;
}
/* Completed task */
.done0,
.done1,
.done2,
.done3 {
stroke: ${i.doneTaskBorderColor};
fill: ${i.doneTaskBkgColor};
stroke-width: 2;
}
.doneText0,
.doneText1,
.doneText2,
.doneText3 {
fill: ${i.taskTextDarkColor} !important;
}
/* Tasks on the critical line */
.crit0,
.crit1,
.crit2,
.crit3 {
stroke: ${i.critBorderColor};
fill: ${i.critBkgColor};
stroke-width: 2;
}
.activeCrit0,
.activeCrit1,
.activeCrit2,
.activeCrit3 {
stroke: ${i.critBorderColor};
fill: ${i.activeTaskBkgColor};
stroke-width: 2;
}
.doneCrit0,
.doneCrit1,
.doneCrit2,
.doneCrit3 {
stroke: ${i.critBorderColor};
fill: ${i.doneTaskBkgColor};
stroke-width: 2;
cursor: pointer;
shape-rendering: crispEdges;
}
.milestone {
transform: rotate(45deg) scale(0.8,0.8);
}
.milestoneText {
font-style: italic;
}
.doneCritText0,
.doneCritText1,
.doneCritText2,
.doneCritText3 {
fill: ${i.taskTextDarkColor} !important;
}
.activeCritText0,
.activeCritText1,
.activeCritText2,
.activeCritText3 {
fill: ${i.taskTextDarkColor} !important;
}
.titleText {
text-anchor: middle;
font-size: 18px;
fill: ${i.titleColor||i.textColor};
font-family: var(--mermaid-font-family, "trebuchet ms", verdana, arial, sans-serif);
}
`}},Symbol.toStringTag,{value:"Module"}));var Sve=function(){var i=function(v,b,y,E){for(y=y||{},E=v.length;E--;y[v[E]]=b);return y},a=[6,9,10],u={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(b,y,E,_,A,P,R){switch(P.length-1,A){case 1:return _;case 4:break;case 6:_.setInfo(!0);break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},i(a,[2,3]),i(a,[2,4]),i(a,[2,5]),i(a,[2,6])],defaultActions:{4:[2,1]},parseError:function(b,y){if(y.recoverable)this.trace(b);else{var E=new Error(b);throw E.hash=y,E}},parse:function(b){var y=this,E=[0],_=[],A=[null],P=[],R=this.table,B="",j=0,W=0,ee=2,ie=1,oe=P.slice.call(arguments,1),be=Object.create(this.lexer),ge={yy:{}};for(var ae in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ae)&&(ge.yy[ae]=this.yy[ae]);be.setInput(b,ge.yy),ge.yy.lexer=be,ge.yy.parser=this,typeof be.yylloc>"u"&&(be.yylloc={});var ne=be.yylloc;P.push(ne);var se=be.options&&be.options.ranges;typeof ge.yy.parseError=="function"?this.parseError=ge.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function de(){var Ce;return Ce=_.pop()||be.lex()||ie,typeof Ce!="number"&&(Ce instanceof Array&&(_=Ce,Ce=_.pop()),Ce=y.symbols_[Ce]||Ce),Ce}for(var X,pe,G,xe,U={},Be,Pe,je,Ie;;){if(pe=E[E.length-1],this.defaultActions[pe]?G=this.defaultActions[pe]:((X===null||typeof X>"u")&&(X=de()),G=R[pe]&&R[pe][X]),typeof G>"u"||!G.length||!G[0]){var Se="";Ie=[];for(Be in R[pe])this.terminals_[Be]&&Be>ee&&Ie.push("'"+this.terminals_[Be]+"'");be.showPosition?Se="Parse error on line "+(j+1)+`:
`+be.showPosition()+`
Expecting `+Ie.join(", ")+", got '"+(this.terminals_[X]||X)+"'":Se="Parse error on line "+(j+1)+": Unexpected "+(X==ie?"end of input":"'"+(this.terminals_[X]||X)+"'"),this.parseError(Se,{text:be.match,token:this.terminals_[X]||X,line:be.yylineno,loc:ne,expected:Ie})}if(G[0]instanceof Array&&G.length>1)throw new Error("Parse Error: multiple actions possible at state: "+pe+", token: "+X);switch(G[0]){case 1:E.push(X),A.push(be.yytext),P.push(be.yylloc),E.push(G[1]),X=null,W=be.yyleng,B=be.yytext,j=be.yylineno,ne=be.yylloc;break;case 2:if(Pe=this.productions_[G[1]][1],U.$=A[A.length-Pe],U._$={first_line:P[P.length-(Pe||1)].first_line,last_line:P[P.length-1].last_line,first_column:P[P.length-(Pe||1)].first_column,last_column:P[P.length-1].last_column},se&&(U._$.range=[P[P.length-(Pe||1)].range[0],P[P.length-1].range[1]]),xe=this.performAction.apply(U,[B,W,j,ge.yy,G[1],A,P].concat(oe)),typeof xe<"u")return xe;Pe&&(E=E.slice(0,-1*Pe*2),A=A.slice(0,-1*Pe),P=P.slice(0,-1*Pe)),E.push(this.productions_[G[1]][0]),A.push(U.$),P.push(U._$),je=R[E[E.length-2]][E[E.length-1]],E.push(je);break;case 3:return!0}}return!0}},d=function(){var v={EOF:1,parseError:function(y,E){if(this.yy.parser)this.yy.parser.parseError(y,E);else throw new Error(y)},setInput:function(b,y){return this.yy=y||this.yy||{},this._input=b,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 b=this._input[0];this.yytext+=b,this.yyleng++,this.offset++,this.match+=b,this.matched+=b;var y=b.match(/(?:\r\n?|\n).*/g);return y?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),b},unput:function(b){var y=b.length,E=b.split(/(?:\r\n?|\n)/g);this._input=b+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-y),this.offset-=y;var _=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),E.length-1&&(this.yylineno-=E.length-1);var A=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:E?(E.length===_.length?this.yylloc.first_column:0)+_[_.length-E.length].length-E[0].length:this.yylloc.first_column-y},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-y]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return 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).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(b){this.unput(this.match.slice(b))},pastInput:function(){var b=this.matched.substr(0,this.matched.length-this.match.length);return(b.length>20?"...":"")+b.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var b=this.match;return b.length<20&&(b+=this._input.substr(0,20-b.length)),(b.substr(0,20)+(b.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var b=this.pastInput(),y=new Array(b.length+1).join("-");return b+this.upcomingInput()+`
`+y+"^"},test_match:function(b,y){var E,_,A;if(this.options.backtrack_lexer&&(A={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&&(A.yylloc.range=this.yylloc.range.slice(0))),_=b[0].match(/(?:\r\n?|\n).*/g),_&&(this.yylineno+=_.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:_?_[_.length-1].length-_[_.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,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(b[0].length),this.matched+=b[0],E=this.performAction.call(this,this.yy,this,y,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),E)return E;if(this._backtrack){for(var P in A)this[P]=A[P];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var b,y,E,_;this._more||(this.yytext="",this.match="");for(var A=this._currentRules(),P=0;P<A.length;P++)if(E=this._input.match(this.rules[A[P]]),E&&(!y||E[0].length>y[0].length)){if(y=E,_=P,this.options.backtrack_lexer){if(b=this.test_match(E,A[P]),b!==!1)return b;if(this._backtrack){y=!1;continue}else return!1}else if(!this.options.flex)break}return y?(b=this.test_match(y,A[_]),b!==!1?b:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var y=this.next();return y||this.lex()},begin:function(y){this.conditionStack.push(y)},popState:function(){var y=this.conditionStack.length-1;return y>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(y){return y=this.conditionStack.length-1-Math.abs(y||0),y>=0?this.conditionStack[y]:"INITIAL"},pushState:function(y){this.begin(y)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(y,E,_,A){switch(_){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}}};return v}();u.lexer=d;function p(){this.yy={}}return p.prototype=u,u.Parser=p,new p}();Sve.parser=Sve;const Fnn=Sve,$Ge={info:!1};let _ve=$Ge.info;const Rnn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Fnn,db:{clear:()=>{_ve=$Ge.info},setInfo:i=>{_ve=i},getInfo:()=>_ve},renderer:{draw:(i,a,u)=>{Xe.debug(`rendering info diagram
`+i);const d=dR(a);Fg(d,100,400,!0),d.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${u}`)}}}},Symbol.toStringTag,{value:"Module"}));var Ave=function(){var i=function(be,ge,ae,ne){for(ae=ae||{},ne=be.length;ne--;ae[be[ne]]=ge);return ae},a=[1,3],u=[1,4],d=[1,5],p=[1,6],v=[1,10,12,14,16,18,19,20,21,22],b=[2,4],y=[1,5,10,12,14,16,18,19,20,21,22],E=[20,21,22],_=[2,7],A=[1,12],P=[1,13],R=[1,14],B=[1,15],j=[1,16],W=[1,17],ee={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(ge,ae,ne,se,de,X,pe){var G=X.length-1;switch(de){case 3:se.setShowData(!0);break;case 6:this.$=X[G-1];break;case 8:se.addSection(X[G-1],se.cleanupValue(X[G]));break;case 9:this.$=X[G].trim(),se.setDiagramTitle(this.$);break;case 10:this.$=X[G].trim(),se.setAccTitle(this.$);break;case 11:case 12:this.$=X[G].trim(),se.setAccDescription(this.$);break;case 13:se.addSection(X[G].substr(8)),this.$=X[G].substr(8);break}},table:[{3:1,4:2,5:a,20:u,21:d,22:p},{1:[3]},{3:7,4:2,5:a,20:u,21:d,22:p},i(v,b,{6:8,7:[1,9]}),i(y,[2,14]),i(y,[2,15]),i(y,[2,16]),{1:[2,1]},i(E,_,{8:10,9:11,1:[2,2],10:A,12:P,14:R,16:B,18:j,19:W}),i(v,b,{6:18}),i(v,[2,5]),{4:19,20:u,21:d,22:p},{11:[1,20]},{13:[1,21]},{15:[1,22]},{17:[1,23]},i(E,[2,12]),i(E,[2,13]),i(E,_,{8:10,9:11,1:[2,3],10:A,12:P,14:R,16:B,18:j,19:W}),i(v,[2,6]),i(E,[2,8]),i(E,[2,9]),i(E,[2,10]),i(E,[2,11])],defaultActions:{7:[2,1]},parseError:function(ge,ae){if(ae.recoverable)this.trace(ge);else{var ne=new Error(ge);throw ne.hash=ae,ne}},parse:function(ge){var ae=this,ne=[0],se=[],de=[null],X=[],pe=this.table,G="",xe=0,U=0,Be=2,Pe=1,je=X.slice.call(arguments,1),Ie=Object.create(this.lexer),Se={yy:{}};for(var Ce in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ce)&&(Se.yy[Ce]=this.yy[Ce]);Ie.setInput(ge,Se.yy),Se.yy.lexer=Ie,Se.yy.parser=this,typeof Ie.yylloc>"u"&&(Ie.yylloc={});var ke=Ie.yylloc;X.push(ke);var Ke=Ie.options&&Ie.options.ranges;typeof Se.yy.parseError=="function"?this.parseError=Se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function zt(){var kt;return kt=se.pop()||Ie.lex()||Pe,typeof kt!="number"&&(kt instanceof Array&&(se=kt,kt=se.pop()),kt=ae.symbols_[kt]||kt),kt}for(var Ne,pn,Tt,Et,Wt={},un,yt,Bt,Ze;;){if(pn=ne[ne.length-1],this.defaultActions[pn]?Tt=this.defaultActions[pn]:((Ne===null||typeof Ne>"u")&&(Ne=zt()),Tt=pe[pn]&&pe[pn][Ne]),typeof Tt>"u"||!Tt.length||!Tt[0]){var Dt="";Ze=[];for(un in pe[pn])this.terminals_[un]&&un>Be&&Ze.push("'"+this.terminals_[un]+"'");Ie.showPosition?Dt="Parse error on line "+(xe+1)+`:
`+Ie.showPosition()+`
Expecting `+Ze.join(", ")+", got '"+(this.terminals_[Ne]||Ne)+"'":Dt="Parse error on line "+(xe+1)+": Unexpected "+(Ne==Pe?"end of input":"'"+(this.terminals_[Ne]||Ne)+"'"),this.parseError(Dt,{text:Ie.match,token:this.terminals_[Ne]||Ne,line:Ie.yylineno,loc:ke,expected:Ze})}if(Tt[0]instanceof Array&&Tt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+pn+", token: "+Ne);switch(Tt[0]){case 1:ne.push(Ne),de.push(Ie.yytext),X.push(Ie.yylloc),ne.push(Tt[1]),Ne=null,U=Ie.yyleng,G=Ie.yytext,xe=Ie.yylineno,ke=Ie.yylloc;break;case 2:if(yt=this.productions_[Tt[1]][1],Wt.$=de[de.length-yt],Wt._$={first_line:X[X.length-(yt||1)].first_line,last_line:X[X.length-1].last_line,first_column:X[X.length-(yt||1)].first_column,last_column:X[X.length-1].last_column},Ke&&(Wt._$.range=[X[X.length-(yt||1)].range[0],X[X.length-1].range[1]]),Et=this.performAction.apply(Wt,[G,U,xe,Se.yy,Tt[1],de,X].concat(je)),typeof Et<"u")return Et;yt&&(ne=ne.slice(0,-1*yt*2),de=de.slice(0,-1*yt),X=X.slice(0,-1*yt)),ne.push(this.productions_[Tt[1]][0]),de.push(Wt.$),X.push(Wt._$),Bt=pe[ne[ne.length-2]][ne[ne.length-1]],ne.push(Bt);break;case 3:return!0}}return!0}},ie=function(){var be={EOF:1,parseError:function(ae,ne){if(this.yy.parser)this.yy.parser.parseError(ae,ne);else throw new Error(ae)},setInput:function(ge,ae){return this.yy=ae||this.yy||{},this._input=ge,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 ge=this._input[0];this.yytext+=ge,this.yyleng++,this.offset++,this.match+=ge,this.matched+=ge;var ae=ge.match(/(?:\r\n?|\n).*/g);return ae?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ge},unput:function(ge){var ae=ge.length,ne=ge.split(/(?:\r\n?|\n)/g);this._input=ge+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ae),this.offset-=ae;var se=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),ne.length-1&&(this.yylineno-=ne.length-1);var de=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:ne?(ne.length===se.length?this.yylloc.first_column:0)+se[se.length-ne.length].length-ne[0].length:this.yylloc.first_column-ae},this.options.ranges&&(this.yylloc.range=[de[0],de[0]+this.yyleng-ae]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return 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).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(ge){this.unput(this.match.slice(ge))},pastInput:function(){var ge=this.matched.substr(0,this.matched.length-this.match.length);return(ge.length>20?"...":"")+ge.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var ge=this.match;return ge.length<20&&(ge+=this._input.substr(0,20-ge.length)),(ge.substr(0,20)+(ge.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var ge=this.pastInput(),ae=new Array(ge.length+1).join("-");return ge+this.upcomingInput()+`
`+ae+"^"},test_match:function(ge,ae){var ne,se,de;if(this.options.backtrack_lexer&&(de={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&&(de.yylloc.range=this.yylloc.range.slice(0))),se=ge[0].match(/(?:\r\n?|\n).*/g),se&&(this.yylineno+=se.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:se?se[se.length-1].length-se[se.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ge[0].length},this.yytext+=ge[0],this.match+=ge[0],this.matches=ge,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(ge[0].length),this.matched+=ge[0],ne=this.performAction.call(this,this.yy,this,ae,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ne)return ne;if(this._backtrack){for(var X in de)this[X]=de[X];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ge,ae,ne,se;this._more||(this.yytext="",this.match="");for(var de=this._currentRules(),X=0;X<de.length;X++)if(ne=this._input.match(this.rules[de[X]]),ne&&(!ae||ne[0].length>ae[0].length)){if(ae=ne,se=X,this.options.backtrack_lexer){if(ge=this.test_match(ne,de[X]),ge!==!1)return ge;if(this._backtrack){ae=!1;continue}else return!1}else if(!this.options.flex)break}return ae?(ge=this.test_match(ae,de[se]),ge!==!1?ge:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var ae=this.next();return ae||this.lex()},begin:function(ae){this.conditionStack.push(ae)},popState:function(){var ae=this.conditionStack.length-1;return ae>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(ae){return ae=this.conditionStack.length-1-Math.abs(ae||0),ae>=0?this.conditionStack[ae]:"INITIAL"},pushState:function(ae){this.begin(ae)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(ae,ne,se,de){switch(se){case 0:break;case 1:break;case 2:return 20;case 3:break;case 4:break;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:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:this.begin("string");break;case 15:this.popState();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}}};return be}();ee.lexer=ie;function oe(){this.yy={}}return oe.prototype=ee,ee.Parser=oe,new oe}();Ave.parser=Ave;const jnn=Ave,zGe=nh.pie,SJ={sections:{},showData:!1,config:zGe};let _J=SJ.sections,Lve=SJ.showData;const $nn=structuredClone(zGe),znn={getConfig:()=>structuredClone($nn),clear:()=>{_J=structuredClone(SJ.sections),Lve=SJ.showData,Rg()},setDiagramTitle:pm,getDiagramTitle:Op,setAccTitle:jg,getAccTitle:Mp,setAccDescription:Dp,getAccDescription:Ip,addSection:(i,a)=>{i=bh(i,qt()),_J[i]===void 0&&(_J[i]=a,Xe.debug(`added new section: ${i}, with value: ${a}`))},getSections:()=>_J,cleanupValue:i=>(i.substring(0,1)===":"&&(i=i.substring(1).trim()),Number(i.trim())),setShowData:i=>{Lve=i},getShowData:()=>Lve},qnn=i=>`
.pieCircle{
stroke: ${i.pieStrokeColor};
stroke-width : ${i.pieStrokeWidth};
opacity : ${i.pieOpacity};
}
.pieOuterCircle{
stroke: ${i.pieOuterStrokeColor};
stroke-width: ${i.pieOuterStrokeWidth};
fill: none;
}
.pieTitleText {
text-anchor: middle;
font-size: ${i.pieTitleTextSize};
fill: ${i.pieTitleTextColor};
font-family: ${i.fontFamily};
}
.slice {
font-family: ${i.fontFamily};
fill: ${i.pieSectionTextColor};
font-size:${i.pieSectionTextSize};
// fill: white;
}
.legend text {
fill: ${i.pieLegendTextColor};
font-family: ${i.fontFamily};
font-size: ${i.pieLegendTextSize};
}
`,Hnn=i=>{const a=Object.entries(i).map(d=>({label:d[0],value:d[1]})).sort((d,p)=>p.value-d.value);return nPt().value(d=>d.value)(a)},Unn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:jnn,db:znn,renderer:{draw:(i,a,u,d)=>{Xe.debug(`rendering pie chart
`+i);const p=d.db,v=qt(),b=cR(p.getConfig(),v.pie),y=40,E=18,_=4,A=450,P=A,R=dR(a),B=R.append("g"),j=p.getSections();B.attr("transform","translate("+P/2+","+A/2+")");const{themeVariables:W}=v;let[ee]=PC(W.pieOuterStrokeWidth);ee??(ee=2);const ie=b.textPosition,oe=Math.min(P,A)/2-y,be=hD().innerRadius(0).outerRadius(oe),ge=hD().innerRadius(oe*ie).outerRadius(oe*ie);B.append("circle").attr("cx",0).attr("cy",0).attr("r",oe+ee/2).attr("class","pieOuterCircle");const ae=Hnn(j),ne=[W.pie1,W.pie2,W.pie3,W.pie4,W.pie5,W.pie6,W.pie7,W.pie8,W.pie9,W.pie10,W.pie11,W.pie12],se=PF(ne);B.selectAll("mySlices").data(ae).enter().append("path").attr("d",be).attr("fill",xe=>se(xe.data.label)).attr("class","pieCircle");let de=0;Object.keys(j).forEach(xe=>{de+=j[xe]}),B.selectAll("mySlices").data(ae).enter().append("text").text(xe=>(xe.data.value/de*100).toFixed(0)+"%").attr("transform",xe=>"translate("+ge.centroid(xe)+")").style("text-anchor","middle").attr("class","slice"),B.append("text").text(p.getDiagramTitle()).attr("x",0).attr("y",-(A-50)/2).attr("class","pieTitleText");const X=B.selectAll(".legend").data(se.domain()).enter().append("g").attr("class","legend").attr("transform",(xe,U)=>{const Be=E+_,Pe=Be*se.domain().length/2,je=12*E,Ie=U*Be-Pe;return"translate("+je+","+Ie+")"});X.append("rect").attr("width",E).attr("height",E).style("fill",se).style("stroke",se),X.data(ae).append("text").attr("x",E+_).attr("y",E-_).text(xe=>{const{label:U,value:Be}=xe.data;return p.getShowData()?`${U} [${Be}]`:U});const pe=Math.max(...X.selectAll("text").nodes().map(xe=>(xe==null?void 0:xe.getBoundingClientRect().width)??0)),G=P+y+E+_+pe;R.attr("viewBox",`0 0 ${G} ${A}`),Fg(R,A,G,b.useMaxWidth)}},styles:qnn}},Symbol.toStringTag,{value:"Module"}));var Mve=function(){var i=function(Tt,Et,Wt,un){for(Wt=Wt||{},un=Tt.length;un--;Wt[Tt[un]]=Et);return Wt},a=[1,3],u=[1,4],d=[1,5],p=[1,6],v=[1,7],b=[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],y=[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],E=[32,33,34],_=[2,7],A=[1,13],P=[1,17],R=[1,18],B=[1,19],j=[1,20],W=[1,21],ee=[1,22],ie=[1,23],oe=[1,24],be=[1,25],ge=[1,26],ae=[1,27],ne=[1,30],se=[1,31],de=[1,32],X=[1,33],pe=[1,34],G=[1,35],xe=[1,36],U=[1,37],Be=[1,38],Pe=[1,39],je=[1,40],Ie=[1,41],Se=[1,42],Ce=[1,57],ke=[1,58],Ke=[5,22,26,32,33,34,40,41,42,43,44,45,46,47,48,49,50,51],zt={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(Et,Wt,un,yt,Bt,Ze,Dt){var kt=Ze.length-1;switch(Bt){case 12:this.$=Ze[kt].trim(),yt.setDiagramTitle(this.$);break;case 13:this.$=Ze[kt].trim(),yt.setAccTitle(this.$);break;case 14:case 15:this.$=Ze[kt].trim(),yt.setAccDescription(this.$);break;case 16:yt.addSection(Ze[kt].substr(8)),this.$=Ze[kt].substr(8);break;case 17:yt.addPoint(Ze[kt-3],Ze[kt-1],Ze[kt]);break;case 18:yt.setXAxisLeftText(Ze[kt-2]),yt.setXAxisRightText(Ze[kt]);break;case 19:Ze[kt-1].text+=" ⟶ ",yt.setXAxisLeftText(Ze[kt-1]);break;case 20:yt.setXAxisLeftText(Ze[kt]);break;case 21:yt.setYAxisBottomText(Ze[kt-2]),yt.setYAxisTopText(Ze[kt]);break;case 22:Ze[kt-1].text+=" ⟶ ",yt.setYAxisBottomText(Ze[kt-1]);break;case 23:yt.setYAxisBottomText(Ze[kt]);break;case 24:yt.setQuadrant1Text(Ze[kt]);break;case 25:yt.setQuadrant2Text(Ze[kt]);break;case 26:yt.setQuadrant3Text(Ze[kt]);break;case 27:yt.setQuadrant4Text(Ze[kt]);break;case 31:this.$={text:Ze[kt],type:"text"};break;case 32:this.$={text:Ze[kt-1].text+""+Ze[kt],type:Ze[kt-1].type};break;case 33:this.$={text:Ze[kt],type:"text"};break;case 34:this.$={text:Ze[kt],type:"markdown"};break;case 35:this.$=Ze[kt];break;case 36:this.$=Ze[kt-1]+""+Ze[kt];break}},table:[{3:1,4:2,5:a,6:u,32:d,33:p,34:v},{1:[3]},{3:8,4:2,5:a,6:u,32:d,33:p,34:v},{3:9,4:2,5:a,6:u,32:d,33:p,34:v},i(b,[2,4],{7:10}),i(y,[2,28]),i(y,[2,29]),i(y,[2,30]),{1:[2,1]},{1:[2,2]},i(E,_,{8:11,9:12,10:14,11:15,12:16,21:28,35:29,1:[2,3],5:A,13:P,15:R,17:B,19:j,20:W,25:ee,27:ie,28:oe,29:be,30:ge,31:ae,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se}),i(b,[2,5]),{4:43,32:d,33:p,34:v},i(E,_,{10:14,11:15,12:16,21:28,35:29,9:44,5:A,13:P,15:R,17:B,19:j,20:W,25:ee,27:ie,28:oe,29:be,30:ge,31:ae,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se}),i(E,[2,9]),i(E,[2,10]),i(E,[2,11]),{14:[1,45]},{16:[1,46]},{18:[1,47]},i(E,[2,15]),i(E,[2,16]),{21:48,35:29,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se},{21:49,35:29,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se},{21:50,35:29,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se},{21:51,35:29,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se},{21:52,35:29,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se},{21:53,35:29,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se},{5:Ce,22:[1,54],35:56,36:55,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se,51:ke},i(Ke,[2,31]),i(Ke,[2,33]),i(Ke,[2,34]),i(Ke,[2,37]),i(Ke,[2,38]),i(Ke,[2,39]),i(Ke,[2,40]),i(Ke,[2,41]),i(Ke,[2,42]),i(Ke,[2,43]),i(Ke,[2,44]),i(Ke,[2,45]),i(Ke,[2,46]),i(Ke,[2,47]),i(b,[2,6]),i(E,[2,8]),i(E,[2,12]),i(E,[2,13]),i(E,[2,14]),i(E,[2,20],{36:55,35:56,5:Ce,26:[1,59],40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(E,[2,23],{36:55,35:56,5:Ce,26:[1,60],40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(E,[2,24],{36:55,35:56,5:Ce,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(E,[2,25],{36:55,35:56,5:Ce,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(E,[2,26],{36:55,35:56,5:Ce,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(E,[2,27],{36:55,35:56,5:Ce,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se,51:ke}),{23:[1,61]},i(Ke,[2,32]),i(Ke,[2,48]),i(Ke,[2,49]),i(Ke,[2,50]),i(E,[2,19],{35:29,21:62,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se}),i(E,[2,22],{35:29,21:63,37:ne,38:se,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se}),{24:[1,64]},i(E,[2,18],{36:55,35:56,5:Ce,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(E,[2,21],{36:55,35:56,5:Ce,40:de,41:X,42:pe,43:G,44:xe,45:U,46:Be,47:Pe,48:je,49:Ie,50:Se,51:ke}),i(E,[2,17])],defaultActions:{8:[2,1],9:[2,2]},parseError:function(Et,Wt){if(Wt.recoverable)this.trace(Et);else{var un=new Error(Et);throw un.hash=Wt,un}},parse:function(Et){var Wt=this,un=[0],yt=[],Bt=[null],Ze=[],Dt=this.table,kt="",Nn=0,ht=0,qr=2,xt=1,Ri=Ze.slice.call(arguments,1),wi=Object.create(this.lexer),ia={yy:{}};for(var Hs in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Hs)&&(ia.yy[Hs]=this.yy[Hs]);wi.setInput(Et,ia.yy),ia.yy.lexer=wi,ia.yy.parser=this,typeof wi.yylloc>"u"&&(wi.yylloc={});var mo=wi.yylloc;Ze.push(mo);var Tr=wi.options&&wi.options.ranges;typeof ia.yy.parseError=="function"?this.parseError=ia.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function On(){var Us;return Us=yt.pop()||wi.lex()||xt,typeof Us!="number"&&(Us instanceof Array&&(yt=Us,Us=yt.pop()),Us=Wt.symbols_[Us]||Us),Us}for(var Rn,zn,Ct,gt,on={},dn,Ln,Io,Oo;;){if(zn=un[un.length-1],this.defaultActions[zn]?Ct=this.defaultActions[zn]:((Rn===null||typeof Rn>"u")&&(Rn=On()),Ct=Dt[zn]&&Dt[zn][Rn]),typeof Ct>"u"||!Ct.length||!Ct[0]){var No="";Oo=[];for(dn in Dt[zn])this.terminals_[dn]&&dn>qr&&Oo.push("'"+this.terminals_[dn]+"'");wi.showPosition?No="Parse error on line "+(Nn+1)+`:
`+wi.showPosition()+`
Expecting `+Oo.join(", ")+", got '"+(this.terminals_[Rn]||Rn)+"'":No="Parse error on line "+(Nn+1)+": Unexpected "+(Rn==xt?"end of input":"'"+(this.terminals_[Rn]||Rn)+"'"),this.parseError(No,{text:wi.match,token:this.terminals_[Rn]||Rn,line:wi.yylineno,loc:mo,expected:Oo})}if(Ct[0]instanceof Array&&Ct.length>1)throw new Error("Parse Error: multiple actions possible at state: "+zn+", token: "+Rn);switch(Ct[0]){case 1:un.push(Rn),Bt.push(wi.yytext),Ze.push(wi.yylloc),un.push(Ct[1]),Rn=null,ht=wi.yyleng,kt=wi.yytext,Nn=wi.yylineno,mo=wi.yylloc;break;case 2:if(Ln=this.productions_[Ct[1]][1],on.$=Bt[Bt.length-Ln],on._$={first_line:Ze[Ze.length-(Ln||1)].first_line,last_line:Ze[Ze.length-1].last_line,first_column:Ze[Ze.length-(Ln||1)].first_column,last_column:Ze[Ze.length-1].last_column},Tr&&(on._$.range=[Ze[Ze.length-(Ln||1)].range[0],Ze[Ze.length-1].range[1]]),gt=this.performAction.apply(on,[kt,ht,Nn,ia.yy,Ct[1],Bt,Ze].concat(Ri)),typeof gt<"u")return gt;Ln&&(un=un.slice(0,-1*Ln*2),Bt=Bt.slice(0,-1*Ln),Ze=Ze.slice(0,-1*Ln)),un.push(this.productions_[Ct[1]][0]),Bt.push(on.$),Ze.push(on._$),Io=Dt[un[un.length-2]][un[un.length-1]],un.push(Io);break;case 3:return!0}}return!0}},Ne=function(){var Tt={EOF:1,parseError:function(Wt,un){if(this.yy.parser)this.yy.parser.parseError(Wt,un);else throw new Error(Wt)},setInput:function(Et,Wt){return this.yy=Wt||this.yy||{},this._input=Et,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 Et=this._input[0];this.yytext+=Et,this.yyleng++,this.offset++,this.match+=Et,this.matched+=Et;var Wt=Et.match(/(?:\r\n?|\n).*/g);return Wt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Et},unput:function(Et){var Wt=Et.length,un=Et.split(/(?:\r\n?|\n)/g);this._input=Et+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Wt),this.offset-=Wt;var yt=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),un.length-1&&(this.yylineno-=un.length-1);var Bt=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:un?(un.length===yt.length?this.yylloc.first_column:0)+yt[yt.length-un.length].length-un[0].length:this.yylloc.first_column-Wt},this.options.ranges&&(this.yylloc.range=[Bt[0],Bt[0]+this.yyleng-Wt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return 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).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Et){this.unput(this.match.slice(Et))},pastInput:function(){var Et=this.matched.substr(0,this.matched.length-this.match.length);return(Et.length>20?"...":"")+Et.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Et=this.match;return Et.length<20&&(Et+=this._input.substr(0,20-Et.length)),(Et.substr(0,20)+(Et.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Et=this.pastInput(),Wt=new Array(Et.length+1).join("-");return Et+this.upcomingInput()+`
`+Wt+"^"},test_match:function(Et,Wt){var un,yt,Bt;if(this.options.backtrack_lexer&&(Bt={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&&(Bt.yylloc.range=this.yylloc.range.slice(0))),yt=Et[0].match(/(?:\r\n?|\n).*/g),yt&&(this.yylineno+=yt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:yt?yt[yt.length-1].length-yt[yt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Et[0].length},this.yytext+=Et[0],this.match+=Et[0],this.matches=Et,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(Et[0].length),this.matched+=Et[0],un=this.performAction.call(this,this.yy,this,Wt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),un)return un;if(this._backtrack){for(var Ze in Bt)this[Ze]=Bt[Ze];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Et,Wt,un,yt;this._more||(this.yytext="",this.match="");for(var Bt=this._currentRules(),Ze=0;Ze<Bt.length;Ze++)if(un=this._input.match(this.rules[Bt[Ze]]),un&&(!Wt||un[0].length>Wt[0].length)){if(Wt=un,yt=Ze,this.options.backtrack_lexer){if(Et=this.test_match(un,Bt[Ze]),Et!==!1)return Et;if(this._backtrack){Wt=!1;continue}else return!1}else if(!this.options.flex)break}return Wt?(Et=this.test_match(Wt,Bt[yt]),Et!==!1?Et:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Wt=this.next();return Wt||this.lex()},begin:function(Wt){this.conditionStack.push(Wt)},popState:function(){var Wt=this.conditionStack.length-1;return Wt>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(Wt){return Wt=this.conditionStack.length-1-Math.abs(Wt||0),Wt>=0?this.conditionStack[Wt]:"INITIAL"},pushState:function(Wt){this.begin(Wt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Wt,un,yt,Bt){switch(yt){case 0:break;case 1:break;case 2:return 32;case 3:break;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: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 22:this.popState();break;case 23:this.begin("string");break;case 24:this.popState();break;case 25:return"STR";case 26:return this.begin("point_start"),22;case 27:return this.begin("point_x"),23;case 28:this.popState();break;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:return 46;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}}};return Tt}();zt.lexer=Ne;function pn(){this.yy={}}return pn.prototype=zt,zt.Parser=pn,new pn}();Mve.parser=Mve;const Vnn=Mve,zp=S2e();class Gnn{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 a,u,d,p,v,b,y,E,_,A,P,R,B,j,W,ee,ie,oe;return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:((a=nh.quadrantChart)==null?void 0:a.chartWidth)||500,chartWidth:((u=nh.quadrantChart)==null?void 0:u.chartHeight)||500,titlePadding:((d=nh.quadrantChart)==null?void 0:d.titlePadding)||10,titleFontSize:((p=nh.quadrantChart)==null?void 0:p.titleFontSize)||20,quadrantPadding:((v=nh.quadrantChart)==null?void 0:v.quadrantPadding)||5,xAxisLabelPadding:((b=nh.quadrantChart)==null?void 0:b.xAxisLabelPadding)||5,yAxisLabelPadding:((y=nh.quadrantChart)==null?void 0:y.yAxisLabelPadding)||5,xAxisLabelFontSize:((E=nh.quadrantChart)==null?void 0:E.xAxisLabelFontSize)||16,yAxisLabelFontSize:((_=nh.quadrantChart)==null?void 0:_.yAxisLabelFontSize)||16,quadrantLabelFontSize:((A=nh.quadrantChart)==null?void 0:A.quadrantLabelFontSize)||16,quadrantTextTopPadding:((P=nh.quadrantChart)==null?void 0:P.quadrantTextTopPadding)||5,pointTextPadding:((R=nh.quadrantChart)==null?void 0:R.pointTextPadding)||5,pointLabelFontSize:((B=nh.quadrantChart)==null?void 0:B.pointLabelFontSize)||12,pointRadius:((j=nh.quadrantChart)==null?void 0:j.pointRadius)||5,xAxisPosition:((W=nh.quadrantChart)==null?void 0:W.xAxisPosition)||"top",yAxisPosition:((ee=nh.quadrantChart)==null?void 0:ee.yAxisPosition)||"left",quadrantInternalBorderStrokeWidth:((ie=nh.quadrantChart)==null?void 0:ie.quadrantInternalBorderStrokeWidth)||1,quadrantExternalBorderStrokeWidth:((oe=nh.quadrantChart)==null?void 0:oe.quadrantExternalBorderStrokeWidth)||2}}getDefaultThemeConfig(){return{quadrant1Fill:zp.quadrant1Fill,quadrant2Fill:zp.quadrant2Fill,quadrant3Fill:zp.quadrant3Fill,quadrant4Fill:zp.quadrant4Fill,quadrant1TextFill:zp.quadrant1TextFill,quadrant2TextFill:zp.quadrant2TextFill,quadrant3TextFill:zp.quadrant3TextFill,quadrant4TextFill:zp.quadrant4TextFill,quadrantPointFill:zp.quadrantPointFill,quadrantPointTextFill:zp.quadrantPointTextFill,quadrantXAxisTextFill:zp.quadrantXAxisTextFill,quadrantYAxisTextFill:zp.quadrantYAxisTextFill,quadrantTitleFill:zp.quadrantTitleFill,quadrantInternalBorderStrokeFill:zp.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:zp.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),Xe.info("clear called")}setData(a){this.data={...this.data,...a}}addPoints(a){this.data.points=[...a,...this.data.points]}setConfig(a){Xe.trace("setConfig called with: ",a),this.config={...this.config,...a}}setThemeConfig(a){Xe.trace("setThemeConfig called with: ",a),this.themeConfig={...this.themeConfig,...a}}calculateSpace(a,u,d,p){const v=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,b={top:a==="top"&&u?v:0,bottom:a==="bottom"&&u?v:0},y=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,E={left:this.config.yAxisPosition==="left"&&d?y:0,right:this.config.yAxisPosition==="right"&&d?y:0},_=this.config.titleFontSize+this.config.titlePadding*2,A={top:p?_:0},P=this.config.quadrantPadding+E.left,R=this.config.quadrantPadding+b.top+A.top,B=this.config.chartWidth-this.config.quadrantPadding*2-E.left-E.right,j=this.config.chartHeight-this.config.quadrantPadding*2-b.top-b.bottom-A.top,W=B/2,ee=j/2;return{xAxisSpace:b,yAxisSpace:E,titleSpace:A,quadrantSpace:{quadrantLeft:P,quadrantTop:R,quadrantWidth:B,quadrantHalfWidth:W,quadrantHeight:j,quadrantHalfHeight:ee}}}getAxisLabels(a,u,d,p){const{quadrantSpace:v,titleSpace:b}=p,{quadrantHalfHeight:y,quadrantHeight:E,quadrantLeft:_,quadrantHalfWidth:A,quadrantTop:P,quadrantWidth:R}=v,B=!!this.data.xAxisRightText,j=!!this.data.yAxisTopText,W=[];return this.data.xAxisLeftText&&u&&W.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:_+(B?A/2:0),y:a==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+P+E+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:B?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&u&&W.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:_+A+(B?A/2:0),y:a==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+P+E+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:B?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&d&&W.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+_+R+this.config.quadrantPadding,y:P+E-(j?y/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:j?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&d&&W.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+_+R+this.config.quadrantPadding,y:P+y-(j?y/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:j?"center":"left",horizontalPos:"top",rotation:-90}),W}getQuadrants(a){const{quadrantSpace:u}=a,{quadrantHalfHeight:d,quadrantLeft:p,quadrantHalfWidth:v,quadrantTop:b}=u,y=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:p+v,y:b,width:v,height:d,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:p,y:b,width:v,height:d,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:p,y:b+d,width:v,height:d,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:p+v,y:b+d,width:v,height:d,fill:this.themeConfig.quadrant4Fill}];for(const E of y)E.text.x=E.x+E.width/2,this.data.points.length===0?(E.text.y=E.y+E.height/2,E.text.horizontalPos="middle"):(E.text.y=E.y+this.config.quadrantTextTopPadding,E.text.horizontalPos="top");return y}getQuadrantPoints(a){const{quadrantSpace:u}=a,{quadrantHeight:d,quadrantLeft:p,quadrantTop:v,quadrantWidth:b}=u,y=aD().domain([0,1]).range([p,b+p]),E=aD().domain([0,1]).range([d+v,v]);return this.data.points.map(A=>({x:y(A.x),y:E(A.y),fill:this.themeConfig.quadrantPointFill,radius:this.config.pointRadius,text:{text:A.text,fill:this.themeConfig.quadrantPointTextFill,x:y(A.x),y:E(A.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0}}))}getBorders(a){const u=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:d}=a,{quadrantHalfHeight:p,quadrantHeight:v,quadrantLeft:b,quadrantHalfWidth:y,quadrantTop:E,quadrantWidth:_}=d;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-u,y1:E,x2:b+_+u,y2:E},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b+_,y1:E+u,x2:b+_,y2:E+v-u},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-u,y1:E+v,x2:b+_+u,y2:E+v},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b,y1:E+u,x2:b,y2:E+v-u},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+y,y1:E+u,x2:b+y,y2:E+v-u},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+u,y1:E+p,x2:b+_-u,y2:E+p}]}getTitle(a){if(a)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 a=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),u=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),d=this.config.showTitle&&!!this.data.titleText,p=this.data.points.length>0?"bottom":this.config.xAxisPosition,v=this.calculateSpace(p,a,u,d);return{points:this.getQuadrantPoints(v),quadrants:this.getQuadrants(v),axisLabels:this.getAxisLabels(p,a,u,v),borderLines:this.getBorders(v),title:this.getTitle(d)}}}const Knn=qt();function G7(i){return bh(i.trim(),Knn)}const qg=new Gnn;function Wnn(i){qg.setData({quadrant1Text:G7(i.text)})}function Ynn(i){qg.setData({quadrant2Text:G7(i.text)})}function Xnn(i){qg.setData({quadrant3Text:G7(i.text)})}function Qnn(i){qg.setData({quadrant4Text:G7(i.text)})}function Jnn(i){qg.setData({xAxisLeftText:G7(i.text)})}function Znn(i){qg.setData({xAxisRightText:G7(i.text)})}function ern(i){qg.setData({yAxisTopText:G7(i.text)})}function trn(i){qg.setData({yAxisBottomText:G7(i.text)})}function nrn(i,a,u){qg.addPoints([{x:a,y:u,text:G7(i.text)}])}function rrn(i){qg.setConfig({chartWidth:i})}function irn(i){qg.setConfig({chartHeight:i})}function srn(){const i=qt(),{themeVariables:a,quadrantChart:u}=i;return u&&qg.setConfig(u),qg.setThemeConfig({quadrant1Fill:a.quadrant1Fill,quadrant2Fill:a.quadrant2Fill,quadrant3Fill:a.quadrant3Fill,quadrant4Fill:a.quadrant4Fill,quadrant1TextFill:a.quadrant1TextFill,quadrant2TextFill:a.quadrant2TextFill,quadrant3TextFill:a.quadrant3TextFill,quadrant4TextFill:a.quadrant4TextFill,quadrantPointFill:a.quadrantPointFill,quadrantPointTextFill:a.quadrantPointTextFill,quadrantXAxisTextFill:a.quadrantXAxisTextFill,quadrantYAxisTextFill:a.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:a.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:a.quadrantInternalBorderStrokeFill,quadrantTitleFill:a.quadrantTitleFill}),qg.setData({titleText:Op()}),qg.build()}const arn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Vnn,db:{setWidth:rrn,setHeight:irn,setQuadrant1Text:Wnn,setQuadrant2Text:Ynn,setQuadrant3Text:Xnn,setQuadrant4Text:Qnn,setXAxisLeftText:Jnn,setXAxisRightText:Znn,setYAxisTopText:ern,setYAxisBottomText:trn,addPoint:nrn,getQuadrantData:srn,clear:function(){qg.clear(),Rg()},setAccTitle:jg,getAccTitle:Mp,setDiagramTitle:pm,getDiagramTitle:Op,getAccDescription:Ip,setAccDescription:Dp},renderer:{draw:(i,a,u,d)=>{var de,X,pe;function p(G){return G==="top"?"hanging":"middle"}function v(G){return G==="left"?"start":"middle"}function b(G){return`translate(${G.x}, ${G.y}) rotate(${G.rotation||0})`}const y=qt();Xe.debug(`Rendering quadrant chart
`+i);const E=y.securityLevel;let _;E==="sandbox"&&(_=Dr("#i"+a));const P=Dr(E==="sandbox"?_.nodes()[0].contentDocument.body:"body").select(`[id="${a}"]`),R=P.append("g").attr("class","main"),B=((de=y.quadrantChart)==null?void 0:de.chartWidth)||500,j=((X=y.quadrantChart)==null?void 0:X.chartHeight)||500;Fg(P,j,B,((pe=y.quadrantChart)==null?void 0:pe.useMaxWidth)||!0),P.attr("viewBox","0 0 "+B+" "+j),d.db.setHeight(j),d.db.setWidth(B);const W=d.db.getQuadrantData(),ee=R.append("g").attr("class","quadrants"),ie=R.append("g").attr("class","border"),oe=R.append("g").attr("class","data-points"),be=R.append("g").attr("class","labels"),ge=R.append("g").attr("class","title");W.title&&ge.append("text").attr("x",0).attr("y",0).attr("fill",W.title.fill).attr("font-size",W.title.fontSize).attr("dominant-baseline",p(W.title.horizontalPos)).attr("text-anchor",v(W.title.verticalPos)).attr("transform",b(W.title)).text(W.title.text),W.borderLines&&ie.selectAll("line").data(W.borderLines).enter().append("line").attr("x1",G=>G.x1).attr("y1",G=>G.y1).attr("x2",G=>G.x2).attr("y2",G=>G.y2).style("stroke",G=>G.strokeFill).style("stroke-width",G=>G.strokeWidth);const ae=ee.selectAll("g.quadrant").data(W.quadrants).enter().append("g").attr("class","quadrant");ae.append("rect").attr("x",G=>G.x).attr("y",G=>G.y).attr("width",G=>G.width).attr("height",G=>G.height).attr("fill",G=>G.fill),ae.append("text").attr("x",0).attr("y",0).attr("fill",G=>G.text.fill).attr("font-size",G=>G.text.fontSize).attr("dominant-baseline",G=>p(G.text.horizontalPos)).attr("text-anchor",G=>v(G.text.verticalPos)).attr("transform",G=>b(G.text)).text(G=>G.text.text),be.selectAll("g.label").data(W.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(G=>G.text).attr("fill",G=>G.fill).attr("font-size",G=>G.fontSize).attr("dominant-baseline",G=>p(G.horizontalPos)).attr("text-anchor",G=>v(G.verticalPos)).attr("transform",G=>b(G));const se=oe.selectAll("g.data-point").data(W.points).enter().append("g").attr("class","data-point");se.append("circle").attr("cx",G=>G.x).attr("cy",G=>G.y).attr("r",G=>G.radius).attr("fill",G=>G.fill),se.append("text").attr("x",0).attr("y",0).text(G=>G.text.text).attr("fill",G=>G.text.fill).attr("font-size",G=>G.text.fontSize).attr("dominant-baseline",G=>p(G.text.horizontalPos)).attr("text-anchor",G=>v(G.text.verticalPos)).attr("transform",G=>b(G.text))}},styles:()=>""}},Symbol.toStringTag,{value:"Module"}));var Dve=function(){var i=function(Pe,je,Ie,Se){for(Ie=Ie||{},Se=Pe.length;Se--;Ie[Pe[Se]]=je);return Ie},a=[1,10,12,14,16,18,19,21,23],u=[2,6],d=[1,3],p=[1,5],v=[1,6],b=[1,7],y=[1,5,10,12,14,16,18,19,21,23,34,35,36],E=[1,25],_=[1,26],A=[1,28],P=[1,29],R=[1,30],B=[1,31],j=[1,32],W=[1,33],ee=[1,34],ie=[1,35],oe=[1,36],be=[1,37],ge=[1,43],ae=[1,42],ne=[1,47],se=[1,50],de=[1,10,12,14,16,18,19,21,23,34,35,36],X=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],pe=[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],G=[1,64],xe={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(je,Ie,Se,Ce,ke,Ke,zt){var Ne=Ke.length-1;switch(ke){case 5:Ce.setOrientation(Ke[Ne]);break;case 9:Ce.setDiagramTitle(Ke[Ne].text.trim());break;case 12:Ce.setLineData({text:"",type:"text"},Ke[Ne]);break;case 13:Ce.setLineData(Ke[Ne-1],Ke[Ne]);break;case 14:Ce.setBarData({text:"",type:"text"},Ke[Ne]);break;case 15:Ce.setBarData(Ke[Ne-1],Ke[Ne]);break;case 16:this.$=Ke[Ne].trim(),Ce.setAccTitle(this.$);break;case 17:case 18:this.$=Ke[Ne].trim(),Ce.setAccDescription(this.$);break;case 19:this.$=Ke[Ne-1];break;case 20:this.$=[Number(Ke[Ne-2]),...Ke[Ne]];break;case 21:this.$=[Number(Ke[Ne])];break;case 22:Ce.setXAxisTitle(Ke[Ne]);break;case 23:Ce.setXAxisTitle(Ke[Ne-1]);break;case 24:Ce.setXAxisTitle({type:"text",text:""});break;case 25:Ce.setXAxisBand(Ke[Ne]);break;case 26:Ce.setXAxisRangeData(Number(Ke[Ne-2]),Number(Ke[Ne]));break;case 27:this.$=Ke[Ne-1];break;case 28:this.$=[Ke[Ne-2],...Ke[Ne]];break;case 29:this.$=[Ke[Ne]];break;case 30:Ce.setYAxisTitle(Ke[Ne]);break;case 31:Ce.setYAxisTitle(Ke[Ne-1]);break;case 32:Ce.setYAxisTitle({type:"text",text:""});break;case 33:Ce.setYAxisRangeData(Number(Ke[Ne-2]),Number(Ke[Ne]));break;case 37:this.$={text:Ke[Ne],type:"text"};break;case 38:this.$={text:Ke[Ne],type:"text"};break;case 39:this.$={text:Ke[Ne],type:"markdown"};break;case 40:this.$=Ke[Ne];break;case 41:this.$=Ke[Ne-1]+""+Ke[Ne];break}},table:[i(a,u,{3:1,4:2,7:4,5:d,34:p,35:v,36:b}),{1:[3]},i(a,u,{4:2,7:4,3:8,5:d,34:p,35:v,36:b}),i(a,u,{4:2,7:4,6:9,3:10,5:d,8:[1,11],34:p,35:v,36:b}),{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]},i(y,[2,34]),i(y,[2,35]),i(y,[2,36]),{1:[2,1]},i(a,u,{4:2,7:4,3:21,5:d,34:p,35:v,36:b}),{1:[2,3]},i(y,[2,5]),i(a,[2,7],{4:22,34:p,35:v,36:b}),{11:23,37:24,38:E,39:_,40:27,41:A,42:P,43:R,44:B,45:j,46:W,47:ee,48:ie,49:oe,50:be},{11:39,13:38,24:ge,27:ae,29:40,30:41,37:24,38:E,39:_,40:27,41:A,42:P,43:R,44:B,45:j,46:W,47:ee,48:ie,49:oe,50:be},{11:45,15:44,27:ne,33:46,37:24,38:E,39:_,40:27,41:A,42:P,43:R,44:B,45:j,46:W,47:ee,48:ie,49:oe,50:be},{11:49,17:48,24:se,37:24,38:E,39:_,40:27,41:A,42:P,43:R,44:B,45:j,46:W,47:ee,48:ie,49:oe,50:be},{11:52,17:51,24:se,37:24,38:E,39:_,40:27,41:A,42:P,43:R,44:B,45:j,46:W,47:ee,48:ie,49:oe,50:be},{20:[1,53]},{22:[1,54]},i(de,[2,18]),{1:[2,2]},i(de,[2,8]),i(de,[2,9]),i(X,[2,37],{40:55,41:A,42:P,43:R,44:B,45:j,46:W,47:ee,48:ie,49:oe,50:be}),i(X,[2,38]),i(X,[2,39]),i(pe,[2,40]),i(pe,[2,42]),i(pe,[2,43]),i(pe,[2,44]),i(pe,[2,45]),i(pe,[2,46]),i(pe,[2,47]),i(pe,[2,48]),i(pe,[2,49]),i(pe,[2,50]),i(pe,[2,51]),i(de,[2,10]),i(de,[2,22],{30:41,29:56,24:ge,27:ae}),i(de,[2,24]),i(de,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:E,39:_,40:27,41:A,42:P,43:R,44:B,45:j,46:W,47:ee,48:ie,49:oe,50:be},i(de,[2,11]),i(de,[2,30],{33:60,27:ne}),i(de,[2,32]),{31:[1,61]},i(de,[2,12]),{17:62,24:se},{25:63,27:G},i(de,[2,14]),{17:65,24:se},i(de,[2,16]),i(de,[2,17]),i(pe,[2,41]),i(de,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},i(de,[2,31]),{27:[1,69]},i(de,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},i(de,[2,15]),i(de,[2,26]),i(de,[2,27]),{11:59,32:72,37:24,38:E,39:_,40:27,41:A,42:P,43:R,44:B,45:j,46:W,47:ee,48:ie,49:oe,50:be},i(de,[2,33]),i(de,[2,19]),{25:73,27:G},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:function(je,Ie){if(Ie.recoverable)this.trace(je);else{var Se=new Error(je);throw Se.hash=Ie,Se}},parse:function(je){var Ie=this,Se=[0],Ce=[],ke=[null],Ke=[],zt=this.table,Ne="",pn=0,Tt=0,Et=2,Wt=1,un=Ke.slice.call(arguments,1),yt=Object.create(this.lexer),Bt={yy:{}};for(var Ze in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ze)&&(Bt.yy[Ze]=this.yy[Ze]);yt.setInput(je,Bt.yy),Bt.yy.lexer=yt,Bt.yy.parser=this,typeof yt.yylloc>"u"&&(yt.yylloc={});var Dt=yt.yylloc;Ke.push(Dt);var kt=yt.options&&yt.options.ranges;typeof Bt.yy.parseError=="function"?this.parseError=Bt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Nn(){var Rn;return Rn=Ce.pop()||yt.lex()||Wt,typeof Rn!="number"&&(Rn instanceof Array&&(Ce=Rn,Rn=Ce.pop()),Rn=Ie.symbols_[Rn]||Rn),Rn}for(var ht,qr,xt,Ri,wi={},ia,Hs,mo,Tr;;){if(qr=Se[Se.length-1],this.defaultActions[qr]?xt=this.defaultActions[qr]:((ht===null||typeof ht>"u")&&(ht=Nn()),xt=zt[qr]&&zt[qr][ht]),typeof xt>"u"||!xt.length||!xt[0]){var On="";Tr=[];for(ia in zt[qr])this.terminals_[ia]&&ia>Et&&Tr.push("'"+this.terminals_[ia]+"'");yt.showPosition?On="Parse error on line "+(pn+1)+`:
`+yt.showPosition()+`
Expecting `+Tr.join(", ")+", got '"+(this.terminals_[ht]||ht)+"'":On="Parse error on line "+(pn+1)+": Unexpected "+(ht==Wt?"end of input":"'"+(this.terminals_[ht]||ht)+"'"),this.parseError(On,{text:yt.match,token:this.terminals_[ht]||ht,line:yt.yylineno,loc:Dt,expected:Tr})}if(xt[0]instanceof Array&&xt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+qr+", token: "+ht);switch(xt[0]){case 1:Se.push(ht),ke.push(yt.yytext),Ke.push(yt.yylloc),Se.push(xt[1]),ht=null,Tt=yt.yyleng,Ne=yt.yytext,pn=yt.yylineno,Dt=yt.yylloc;break;case 2:if(Hs=this.productions_[xt[1]][1],wi.$=ke[ke.length-Hs],wi._$={first_line:Ke[Ke.length-(Hs||1)].first_line,last_line:Ke[Ke.length-1].last_line,first_column:Ke[Ke.length-(Hs||1)].first_column,last_column:Ke[Ke.length-1].last_column},kt&&(wi._$.range=[Ke[Ke.length-(Hs||1)].range[0],Ke[Ke.length-1].range[1]]),Ri=this.performAction.apply(wi,[Ne,Tt,pn,Bt.yy,xt[1],ke,Ke].concat(un)),typeof Ri<"u")return Ri;Hs&&(Se=Se.slice(0,-1*Hs*2),ke=ke.slice(0,-1*Hs),Ke=Ke.slice(0,-1*Hs)),Se.push(this.productions_[xt[1]][0]),ke.push(wi.$),Ke.push(wi._$),mo=zt[Se[Se.length-2]][Se[Se.length-1]],Se.push(mo);break;case 3:return!0}}return!0}},U=function(){var Pe={EOF:1,parseError:function(Ie,Se){if(this.yy.parser)this.yy.parser.parseError(Ie,Se);else throw new Error(Ie)},setInput:function(je,Ie){return this.yy=Ie||this.yy||{},this._input=je,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 je=this._input[0];this.yytext+=je,this.yyleng++,this.offset++,this.match+=je,this.matched+=je;var Ie=je.match(/(?:\r\n?|\n).*/g);return Ie?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),je},unput:function(je){var Ie=je.length,Se=je.split(/(?:\r\n?|\n)/g);this._input=je+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ie),this.offset-=Ie;var Ce=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),Se.length-1&&(this.yylineno-=Se.length-1);var ke=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:Se?(Se.length===Ce.length?this.yylloc.first_column:0)+Ce[Ce.length-Se.length].length-Se[0].length:this.yylloc.first_column-Ie},this.options.ranges&&(this.yylloc.range=[ke[0],ke[0]+this.yyleng-Ie]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return 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).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(je){this.unput(this.match.slice(je))},pastInput:function(){var je=this.matched.substr(0,this.matched.length-this.match.length);return(je.length>20?"...":"")+je.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var je=this.match;return je.length<20&&(je+=this._input.substr(0,20-je.length)),(je.substr(0,20)+(je.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var je=this.pastInput(),Ie=new Array(je.length+1).join("-");return je+this.upcomingInput()+`
`+Ie+"^"},test_match:function(je,Ie){var Se,Ce,ke;if(this.options.backtrack_lexer&&(ke={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&&(ke.yylloc.range=this.yylloc.range.slice(0))),Ce=je[0].match(/(?:\r\n?|\n).*/g),Ce&&(this.yylineno+=Ce.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ce?Ce[Ce.length-1].length-Ce[Ce.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+je[0].length},this.yytext+=je[0],this.match+=je[0],this.matches=je,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(je[0].length),this.matched+=je[0],Se=this.performAction.call(this,this.yy,this,Ie,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Se)return Se;if(this._backtrack){for(var Ke in ke)this[Ke]=ke[Ke];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var je,Ie,Se,Ce;this._more||(this.yytext="",this.match="");for(var ke=this._currentRules(),Ke=0;Ke<ke.length;Ke++)if(Se=this._input.match(this.rules[ke[Ke]]),Se&&(!Ie||Se[0].length>Ie[0].length)){if(Ie=Se,Ce=Ke,this.options.backtrack_lexer){if(je=this.test_match(Se,ke[Ke]),je!==!1)return je;if(this._backtrack){Ie=!1;continue}else return!1}else if(!this.options.flex)break}return Ie?(je=this.test_match(Ie,ke[Ce]),je!==!1?je:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ie=this.next();return Ie||this.lex()},begin:function(Ie){this.conditionStack.push(Ie)},popState:function(){var Ie=this.conditionStack.length-1;return Ie>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(Ie){return Ie=this.conditionStack.length-1-Math.abs(Ie||0),Ie>=0?this.conditionStack[Ie]:"INITIAL"},pushState:function(Ie){this.begin(Ie)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ie,Se,Ce,ke){switch(Ce){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;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: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 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();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 43:break;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<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/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}}};return Pe}();xe.lexer=U;function Be(){this.yy={}}return Be.prototype=xe,xe.Parser=Be,new Be}();Dve.parser=Dve;const orn=Dve;function qGe(i){return i.type==="bar"}function HGe(i){return i.type==="band"}function KR(i){return i.type==="linear"}class UGe{constructor(a){this.parentGroup=a}getMaxDimension(a,u){if(!this.parentGroup)return{width:a.reduce((v,b)=>Math.max(b.length,v),0)*u,height:u};const d={width:0,height:0},p=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",u);for(const v of a){const b=sen(p,1,v),y=b?b.width:v.length*u,E=b?b.height:u;d.width=Math.max(d.width,y),d.height=Math.max(d.height,E)}return p.remove(),d}}const VGe=.7,GGe=.2;class KGe{constructor(a,u,d,p){this.axisConfig=a,this.title=u,this.textDimensionCalculator=d,this.axisThemeConfig=p,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(a){this.range=a,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=a[1]-a[0]:this.boundingRect.width=a[1]-a[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(a){this.axisPosition=a,this.setRange(this.range)}getTickDistance(){const a=this.getRange();return Math.abs(a[0]-a[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(a=>a.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){VGe*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(VGe*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(a){let u=a.height;if(this.axisConfig.showAxisLine&&u>this.axisConfig.axisLineWidth&&(u-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const d=this.getLabelDimension(),p=GGe*a.width;this.outerPadding=Math.min(d.width/2,p);const v=d.height+this.axisConfig.labelPadding*2;this.labelTextHeight=d.height,v<=u&&(u-=v,this.showLabel=!0)}if(this.axisConfig.showTick&&u>=this.axisConfig.tickLength&&(this.showTick=!0,u-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const d=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),p=d.height+this.axisConfig.titlePadding*2;this.titleTextHeight=d.height,p<=u&&(u-=p,this.showTitle=!0)}this.boundingRect.width=a.width,this.boundingRect.height=a.height-u}calculateSpaceIfDrawnVertical(a){let u=a.width;if(this.axisConfig.showAxisLine&&u>this.axisConfig.axisLineWidth&&(u-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const d=this.getLabelDimension(),p=GGe*a.height;this.outerPadding=Math.min(d.height/2,p);const v=d.width+this.axisConfig.labelPadding*2;v<=u&&(u-=v,this.showLabel=!0)}if(this.axisConfig.showTick&&u>=this.axisConfig.tickLength&&(this.showTick=!0,u-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const d=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),p=d.height+this.axisConfig.titlePadding*2;this.titleTextHeight=d.height,p<=u&&(u-=p,this.showTitle=!0)}this.boundingRect.width=a.width-u,this.boundingRect.height=a.height}calculateSpace(a){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(a):this.calculateSpaceIfDrawnHorizontally(a),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}getDrawableElementsForLeftAxis(){const a=[];if(this.showAxisLine){const u=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${u},${this.boundingRect.y} L ${u},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(u=>({text:u.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(u),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const u=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);a.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(d=>({path:`M ${u},${this.getScaleValue(d)} L ${u-this.axisConfig.tickLength},${this.getScaleValue(d)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.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"}]}),a}getDrawableElementsForBottomAxis(){const a=[];if(this.showAxisLine){const u=this.boundingRect.y+this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${u} L ${this.boundingRect.x+this.boundingRect.width},${u}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(u=>({text:u.toString(),x:this.getScaleValue(u),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 u=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);a.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(d=>({path:`M ${this.getScaleValue(d)},${u} L ${this.getScaleValue(d)},${u+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.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"}]}),a}getDrawableElementsForTopAxis(){const a=[];if(this.showAxisLine){const u=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${u} L ${this.boundingRect.x+this.boundingRect.width},${u}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(u=>({text:u.toString(),x:this.getScaleValue(u),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const u=this.boundingRect.y;a.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(d=>({path:`M ${this.getScaleValue(d)},${u+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(d)},${u+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.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"}]}),a}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}}class crn extends KGe{constructor(a,u,d,p,v){super(a,p,v,u),this.categories=d,this.scale=n2e().domain(this.categories).range(this.getRange())}setRange(a){super.setRange(a)}recalculateScale(){this.scale=n2e().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),Xe.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(a){return this.scale(a)||this.getRange()[0]}}class urn extends KGe{constructor(a,u,d,p,v){super(a,p,v,u),this.domain=d,this.scale=aD().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const a=[...this.domain];this.axisPosition==="left"&&a.reverse(),this.scale=aD().domain(a).range(this.getRange())}getScaleValue(a){return this.scale(a)}}function WGe(i,a,u,d){const p=new UGe(d);return HGe(i)?new crn(a,u,i.categories,i.title,p):new urn(a,u,[i.min,i.max],i.title,p)}class lrn{constructor(a,u,d,p){this.textDimensionCalculator=a,this.chartConfig=u,this.chartData=d,this.chartThemeConfig=p,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}calculateSpace(a){const u=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),d=Math.max(u.width,a.width),p=u.height+2*this.chartConfig.titlePadding;return u.width<=d&&u.height<=p&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=d,this.boundingRect.height=p,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const a=[];return this.showChartTitle&&a.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}]}),a}}function hrn(i,a,u,d){const p=new UGe(d);return new lrn(p,i,a,u)}class frn{constructor(a,u,d,p,v){this.plotData=a,this.xAxis=u,this.yAxis=d,this.orientation=p,this.plotIndex=v}getDrawableElement(){const a=this.plotData.data.map(d=>[this.xAxis.getScaleValue(d[0]),this.yAxis.getScaleValue(d[1])]);let u;return this.orientation==="horizontal"?u=E7().y(d=>d[0]).x(d=>d[1])(a):u=E7().x(d=>d[0]).y(d=>d[1])(a),u?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:u,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}class drn{constructor(a,u,d,p,v,b){this.barData=a,this.boundingRect=u,this.xAxis=d,this.yAxis=p,this.orientation=v,this.plotIndex=b}getDrawableElement(){const a=this.barData.data.map(v=>[this.xAxis.getScaleValue(v[0]),this.yAxis.getScaleValue(v[1])]),u=.05,d=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-u),p=d/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:a.map(v=>({x:this.boundingRect.x,y:v[0]-p,height:d,width:v[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:a.map(v=>({x:v[0]-p,y:v[1],width:d,height:this.boundingRect.y+this.boundingRect.height-v[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}class grn{constructor(a,u,d){this.chartConfig=a,this.chartData=u,this.chartThemeConfig=d,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(a,u){this.xAxis=a,this.yAxis=u}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}calculateSpace(a){return this.boundingRect.width=a.width,this.boundingRect.height=a.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 a=[];for(const[u,d]of this.chartData.plots.entries())switch(d.type){case"line":{const p=new frn(d,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,u);a.push(...p.getDrawableElement())}break;case"bar":{const p=new drn(d,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,u);a.push(...p.getDrawableElement())}break}return a}}function prn(i,a,u){return new grn(i,a,u)}class brn{constructor(a,u,d,p){this.chartConfig=a,this.chartData=u,this.componentStore={title:hrn(a,u,d,p),plot:prn(a,u,d),xAxis:WGe(u.xAxis,a.xAxis,{titleColor:d.xAxisTitleColor,labelColor:d.xAxisLabelColor,tickColor:d.xAxisTickColor,axisLineColor:d.xAxisLineColor},p),yAxis:WGe(u.yAxis,a.yAxis,{titleColor:d.yAxisTitleColor,labelColor:d.yAxisLabelColor,tickColor:d.yAxisTickColor,axisLineColor:d.yAxisLineColor},p)}}calculateVerticalSpace(){let a=this.chartConfig.width,u=this.chartConfig.height,d=0,p=0,v=Math.floor(a*this.chartConfig.plotReservedSpacePercent/100),b=Math.floor(u*this.chartConfig.plotReservedSpacePercent/100),y=this.componentStore.plot.calculateSpace({width:v,height:b});a-=y.width,u-=y.height,y=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:u}),p=y.height,u-=y.height,this.componentStore.xAxis.setAxisPosition("bottom"),y=this.componentStore.xAxis.calculateSpace({width:a,height:u}),u-=y.height,this.componentStore.yAxis.setAxisPosition("left"),y=this.componentStore.yAxis.calculateSpace({width:a,height:u}),d=y.width,a-=y.width,a>0&&(v+=a,a=0),u>0&&(b+=u,u=0),this.componentStore.plot.calculateSpace({width:v,height:b}),this.componentStore.plot.setBoundingBoxXY({x:d,y:p}),this.componentStore.xAxis.setRange([d,d+v]),this.componentStore.xAxis.setBoundingBoxXY({x:d,y:p+b}),this.componentStore.yAxis.setRange([p,p+b]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:p}),this.chartData.plots.some(E=>qGe(E))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let a=this.chartConfig.width,u=this.chartConfig.height,d=0,p=0,v=0,b=Math.floor(a*this.chartConfig.plotReservedSpacePercent/100),y=Math.floor(u*this.chartConfig.plotReservedSpacePercent/100),E=this.componentStore.plot.calculateSpace({width:b,height:y});a-=E.width,u-=E.height,E=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:u}),d=E.height,u-=E.height,this.componentStore.xAxis.setAxisPosition("left"),E=this.componentStore.xAxis.calculateSpace({width:a,height:u}),a-=E.width,p=E.width,this.componentStore.yAxis.setAxisPosition("top"),E=this.componentStore.yAxis.calculateSpace({width:a,height:u}),u-=E.height,v=d+E.height,a>0&&(b+=a,a=0),u>0&&(y+=u,u=0),this.componentStore.plot.calculateSpace({width:b,height:y}),this.componentStore.plot.setBoundingBoxXY({x:p,y:v}),this.componentStore.yAxis.setRange([p,p+b]),this.componentStore.yAxis.setBoundingBoxXY({x:p,y:d}),this.componentStore.xAxis.setRange([v,v+y]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:v}),this.chartData.plots.some(_=>qGe(_))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const a=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const u of Object.values(this.componentStore))a.push(...u.getDrawableElements());return a}}class mrn{static build(a,u,d,p){return new brn(a,u,d,p).getDrawableElement()}}let WR=0,YGe,YR=QGe(),XR=XGe(),el=JGe(),Ive=XR.plotColorPalette.split(",").map(i=>i.trim()),AJ=!1,Ove=!1;function XGe(){const i=S2e(),a=mh();return cR(i.xyChart,a.themeVariables.xyChart)}function QGe(){const i=mh();return cR(nh.xyChart,i.xyChart)}function JGe(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function Nve(i){const a=mh();return bh(i.trim(),a)}function vrn(i){YGe=i}function wrn(i){i==="horizontal"?YR.chartOrientation="horizontal":YR.chartOrientation="vertical"}function yrn(i){el.xAxis.title=Nve(i.text)}function ZGe(i,a){el.xAxis={type:"linear",title:el.xAxis.title,min:i,max:a},AJ=!0}function xrn(i){el.xAxis={type:"band",title:el.xAxis.title,categories:i.map(a=>Nve(a.text))},AJ=!0}function krn(i){el.yAxis.title=Nve(i.text)}function Trn(i,a){el.yAxis={type:"linear",title:el.yAxis.title,min:i,max:a},Ove=!0}function Ern(i){const a=Math.min(...i),u=Math.max(...i),d=KR(el.yAxis)?el.yAxis.min:1/0,p=KR(el.yAxis)?el.yAxis.max:-1/0;el.yAxis={type:"linear",title:el.yAxis.title,min:Math.min(d,a),max:Math.max(p,u)}}function eKe(i){let a=[];if(i.length===0)return a;if(!AJ){const u=KR(el.xAxis)?el.xAxis.min:1/0,d=KR(el.xAxis)?el.xAxis.max:-1/0;ZGe(Math.min(u,1),Math.max(d,i.length))}if(Ove||Ern(i),HGe(el.xAxis)&&(a=el.xAxis.categories.map((u,d)=>[u,i[d]])),KR(el.xAxis)){const u=el.xAxis.min,d=el.xAxis.max,p=(d-u+1)/i.length,v=[];for(let b=u;b<=d;b+=p)v.push(`${b}`);a=v.map((b,y)=>[b,i[y]])}return a}function tKe(i){return Ive[i===0?0:i%Ive.length]}function Crn(i,a){const u=eKe(a);el.plots.push({type:"line",strokeFill:tKe(WR),strokeWidth:2,data:u}),WR++}function Srn(i,a){const u=eKe(a);el.plots.push({type:"bar",fill:tKe(WR),data:u}),WR++}function _rn(){if(el.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return el.title=Op(),mrn.build(YR,el,XR,YGe)}function Arn(){return XR}function Lrn(){return YR}const Mrn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:orn,db:{getDrawableElem:_rn,clear:function(){Rg(),WR=0,YR=QGe(),el=JGe(),XR=XGe(),Ive=XR.plotColorPalette.split(",").map(i=>i.trim()),AJ=!1,Ove=!1},setAccTitle:jg,getAccTitle:Mp,setDiagramTitle:pm,getDiagramTitle:Op,getAccDescription:Ip,setAccDescription:Dp,setOrientation:wrn,setXAxisTitle:yrn,setXAxisRangeData:ZGe,setXAxisBand:xrn,setYAxisTitle:krn,setYAxisRangeData:Trn,setLineData:Crn,setBarData:Srn,setTmpSVGG:vrn,getChartThemeConfig:Arn,getChartConfig:Lrn},renderer:{draw:(i,a,u,d)=>{const p=d.db,v=p.getChartThemeConfig(),b=p.getChartConfig();function y(ee){return ee==="top"?"text-before-edge":"middle"}function E(ee){return ee==="left"?"start":ee==="right"?"end":"middle"}function _(ee){return`translate(${ee.x}, ${ee.y}) rotate(${ee.rotation||0})`}Xe.debug(`Rendering xychart chart
`+i);const A=dR(a),P=A.append("g").attr("class","main"),R=P.append("rect").attr("width",b.width).attr("height",b.height).attr("class","background");Fg(A,b.height,b.width,!0),A.attr("viewBox",`0 0 ${b.width} ${b.height}`),R.attr("fill",v.backgroundColor),p.setTmpSVGG(A.append("g").attr("class","mermaid-tmp-group"));const B=p.getDrawableElem(),j={};function W(ee){let ie=P,oe="";for(const[be]of ee.entries()){let ge=P;be>0&&j[oe]&&(ge=j[oe]),oe+=ee[be],ie=j[oe],ie||(ie=j[oe]=ge.append("g").attr("class",ee[be]))}return ie}for(const ee of B){if(ee.data.length===0)continue;const ie=W(ee.groupTexts);switch(ee.type){case"rect":ie.selectAll("rect").data(ee.data).enter().append("rect").attr("x",oe=>oe.x).attr("y",oe=>oe.y).attr("width",oe=>oe.width).attr("height",oe=>oe.height).attr("fill",oe=>oe.fill).attr("stroke",oe=>oe.strokeFill).attr("stroke-width",oe=>oe.strokeWidth);break;case"text":ie.selectAll("text").data(ee.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",oe=>oe.fill).attr("font-size",oe=>oe.fontSize).attr("dominant-baseline",oe=>y(oe.verticalPos)).attr("text-anchor",oe=>E(oe.horizontalPos)).attr("transform",oe=>_(oe)).text(oe=>oe.text);break;case"path":ie.selectAll("path").data(ee.data).enter().append("path").attr("d",oe=>oe.path).attr("fill",oe=>oe.fill?oe.fill:"none").attr("stroke",oe=>oe.strokeFill).attr("stroke-width",oe=>oe.strokeWidth);break}}}}}},Symbol.toStringTag,{value:"Module"}));var Pve=function(){var i=function(Tt,Et,Wt,un){for(Wt=Wt||{},un=Tt.length;un--;Wt[Tt[un]]=Et);return Wt},a=[1,3],u=[1,4],d=[1,5],p=[1,6],v=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],b=[1,18],y=[2,7],E=[1,22],_=[1,23],A=[1,24],P=[1,25],R=[1,26],B=[1,27],j=[1,20],W=[1,28],ee=[1,29],ie=[62,63],oe=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],be=[1,47],ge=[1,48],ae=[1,49],ne=[1,50],se=[1,51],de=[1,52],X=[1,53],pe=[53,54],G=[1,64],xe=[1,60],U=[1,61],Be=[1,62],Pe=[1,63],je=[1,65],Ie=[1,69],Se=[1,70],Ce=[1,67],ke=[1,68],Ke=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],zt={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(Et,Wt,un,yt,Bt,Ze,Dt){var kt=Ze.length-1;switch(Bt){case 4:this.$=Ze[kt].trim(),yt.setAccTitle(this.$);break;case 5:case 6:this.$=Ze[kt].trim(),yt.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:yt.addRequirement(Ze[kt-3],Ze[kt-4]);break;case 14:yt.setNewReqId(Ze[kt-2]);break;case 15:yt.setNewReqText(Ze[kt-2]);break;case 16:yt.setNewReqRisk(Ze[kt-2]);break;case 17:yt.setNewReqVerifyMethod(Ze[kt-2]);break;case 20:this.$=yt.RequirementType.REQUIREMENT;break;case 21:this.$=yt.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=yt.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=yt.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=yt.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=yt.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=yt.RiskLevel.LOW_RISK;break;case 27:this.$=yt.RiskLevel.MED_RISK;break;case 28:this.$=yt.RiskLevel.HIGH_RISK;break;case 29:this.$=yt.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=yt.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=yt.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=yt.VerifyType.VERIFY_TEST;break;case 33:yt.addElement(Ze[kt-3]);break;case 34:yt.setNewElementType(Ze[kt-2]);break;case 35:yt.setNewElementDocRef(Ze[kt-2]);break;case 38:yt.addRelationship(Ze[kt-2],Ze[kt],Ze[kt-4]);break;case 39:yt.addRelationship(Ze[kt-2],Ze[kt-4],Ze[kt]);break;case 40:this.$=yt.Relationships.CONTAINS;break;case 41:this.$=yt.Relationships.COPIES;break;case 42:this.$=yt.Relationships.DERIVES;break;case 43:this.$=yt.Relationships.SATISFIES;break;case 44:this.$=yt.Relationships.VERIFIES;break;case 45:this.$=yt.Relationships.REFINES;break;case 46:this.$=yt.Relationships.TRACES;break}},table:[{3:1,4:2,6:a,9:u,11:d,13:p},{1:[3]},{3:8,4:2,5:[1,7],6:a,9:u,11:d,13:p},{5:[1,9]},{10:[1,10]},{12:[1,11]},i(v,[2,6]),{3:12,4:2,6:a,9:u,11:d,13:p},{1:[2,2]},{4:17,5:b,7:13,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:E,32:_,33:A,34:P,35:R,36:B,44:j,62:W,63:ee},i(v,[2,4]),i(v,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:b,7:31,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:E,32:_,33:A,34:P,35:R,36:B,44:j,62:W,63:ee},{4:17,5:b,7:32,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:E,32:_,33:A,34:P,35:R,36:B,44:j,62:W,63:ee},{4:17,5:b,7:33,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:E,32:_,33:A,34:P,35:R,36:B,44:j,62:W,63:ee},{4:17,5:b,7:34,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:E,32:_,33:A,34:P,35:R,36:B,44:j,62:W,63:ee},{4:17,5:b,7:35,8:y,9:u,11:d,13:p,14:14,15:15,16:16,17:19,23:21,31:E,32:_,33:A,34:P,35:R,36:B,44:j,62:W,63:ee},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},i(ie,[2,20]),i(ie,[2,21]),i(ie,[2,22]),i(ie,[2,23]),i(ie,[2,24]),i(ie,[2,25]),i(oe,[2,49]),i(oe,[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:be,56:ge,57:ae,58:ne,59:se,60:de,61:X},{52:54,55:be,56:ge,57:ae,58:ne,59:se,60:de,61:X},{5:[1,55]},{5:[1,56]},{53:[1,57]},i(pe,[2,40]),i(pe,[2,41]),i(pe,[2,42]),i(pe,[2,43]),i(pe,[2,44]),i(pe,[2,45]),i(pe,[2,46]),{54:[1,58]},{5:G,20:59,21:xe,24:U,26:Be,28:Pe,30:je},{5:Ie,30:Se,46:66,47:Ce,49:ke},{23:71,62:W,63:ee},{23:72,62:W,63:ee},i(Ke,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:G,20:77,21:xe,24:U,26:Be,28:Pe,30:je},i(Ke,[2,19]),i(Ke,[2,33]),{22:[1,78]},{22:[1,79]},{5:Ie,30:Se,46:80,47:Ce,49:ke},i(Ke,[2,37]),i(Ke,[2,38]),i(Ke,[2,39]),{23:81,62:W,63:ee},{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]},i(Ke,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},i(Ke,[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:G,20:106,21:xe,24:U,26:Be,28:Pe,30:je},{5:G,20:107,21:xe,24:U,26:Be,28:Pe,30:je},{5:G,20:108,21:xe,24:U,26:Be,28:Pe,30:je},{5:G,20:109,21:xe,24:U,26:Be,28:Pe,30:je},{5:Ie,30:Se,46:110,47:Ce,49:ke},{5:Ie,30:Se,46:111,47:Ce,49:ke},i(Ke,[2,14]),i(Ke,[2,15]),i(Ke,[2,16]),i(Ke,[2,17]),i(Ke,[2,34]),i(Ke,[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(Et,Wt){if(Wt.recoverable)this.trace(Et);else{var un=new Error(Et);throw un.hash=Wt,un}},parse:function(Et){var Wt=this,un=[0],yt=[],Bt=[null],Ze=[],Dt=this.table,kt="",Nn=0,ht=0,qr=2,xt=1,Ri=Ze.slice.call(arguments,1),wi=Object.create(this.lexer),ia={yy:{}};for(var Hs in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Hs)&&(ia.yy[Hs]=this.yy[Hs]);wi.setInput(Et,ia.yy),ia.yy.lexer=wi,ia.yy.parser=this,typeof wi.yylloc>"u"&&(wi.yylloc={});var mo=wi.yylloc;Ze.push(mo);var Tr=wi.options&&wi.options.ranges;typeof ia.yy.parseError=="function"?this.parseError=ia.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function On(){var Us;return Us=yt.pop()||wi.lex()||xt,typeof Us!="number"&&(Us instanceof Array&&(yt=Us,Us=yt.pop()),Us=Wt.symbols_[Us]||Us),Us}for(var Rn,zn,Ct,gt,on={},dn,Ln,Io,Oo;;){if(zn=un[un.length-1],this.defaultActions[zn]?Ct=this.defaultActions[zn]:((Rn===null||typeof Rn>"u")&&(Rn=On()),Ct=Dt[zn]&&Dt[zn][Rn]),typeof Ct>"u"||!Ct.length||!Ct[0]){var No="";Oo=[];for(dn in Dt[zn])this.terminals_[dn]&&dn>qr&&Oo.push("'"+this.terminals_[dn]+"'");wi.showPosition?No="Parse error on line "+(Nn+1)+`:
`+wi.showPosition()+`
Expecting `+Oo.join(", ")+", got '"+(this.terminals_[Rn]||Rn)+"'":No="Parse error on line "+(Nn+1)+": Unexpected "+(Rn==xt?"end of input":"'"+(this.terminals_[Rn]||Rn)+"'"),this.parseError(No,{text:wi.match,token:this.terminals_[Rn]||Rn,line:wi.yylineno,loc:mo,expected:Oo})}if(Ct[0]instanceof Array&&Ct.length>1)throw new Error("Parse Error: multiple actions possible at state: "+zn+", token: "+Rn);switch(Ct[0]){case 1:un.push(Rn),Bt.push(wi.yytext),Ze.push(wi.yylloc),un.push(Ct[1]),Rn=null,ht=wi.yyleng,kt=wi.yytext,Nn=wi.yylineno,mo=wi.yylloc;break;case 2:if(Ln=this.productions_[Ct[1]][1],on.$=Bt[Bt.length-Ln],on._$={first_line:Ze[Ze.length-(Ln||1)].first_line,last_line:Ze[Ze.length-1].last_line,first_column:Ze[Ze.length-(Ln||1)].first_column,last_column:Ze[Ze.length-1].last_column},Tr&&(on._$.range=[Ze[Ze.length-(Ln||1)].range[0],Ze[Ze.length-1].range[1]]),gt=this.performAction.apply(on,[kt,ht,Nn,ia.yy,Ct[1],Bt,Ze].concat(Ri)),typeof gt<"u")return gt;Ln&&(un=un.slice(0,-1*Ln*2),Bt=Bt.slice(0,-1*Ln),Ze=Ze.slice(0,-1*Ln)),un.push(this.productions_[Ct[1]][0]),Bt.push(on.$),Ze.push(on._$),Io=Dt[un[un.length-2]][un[un.length-1]],un.push(Io);break;case 3:return!0}}return!0}},Ne=function(){var Tt={EOF:1,parseError:function(Wt,un){if(this.yy.parser)this.yy.parser.parseError(Wt,un);else throw new Error(Wt)},setInput:function(Et,Wt){return this.yy=Wt||this.yy||{},this._input=Et,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 Et=this._input[0];this.yytext+=Et,this.yyleng++,this.offset++,this.match+=Et,this.matched+=Et;var Wt=Et.match(/(?:\r\n?|\n).*/g);return Wt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Et},unput:function(Et){var Wt=Et.length,un=Et.split(/(?:\r\n?|\n)/g);this._input=Et+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Wt),this.offset-=Wt;var yt=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),un.length-1&&(this.yylineno-=un.length-1);var Bt=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:un?(un.length===yt.length?this.yylloc.first_column:0)+yt[yt.length-un.length].length-un[0].length:this.yylloc.first_column-Wt},this.options.ranges&&(this.yylloc.range=[Bt[0],Bt[0]+this.yyleng-Wt]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return 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).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Et){this.unput(this.match.slice(Et))},pastInput:function(){var Et=this.matched.substr(0,this.matched.length-this.match.length);return(Et.length>20?"...":"")+Et.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Et=this.match;return Et.length<20&&(Et+=this._input.substr(0,20-Et.length)),(Et.substr(0,20)+(Et.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Et=this.pastInput(),Wt=new Array(Et.length+1).join("-");return Et+this.upcomingInput()+`
`+Wt+"^"},test_match:function(Et,Wt){var un,yt,Bt;if(this.options.backtrack_lexer&&(Bt={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&&(Bt.yylloc.range=this.yylloc.range.slice(0))),yt=Et[0].match(/(?:\r\n?|\n).*/g),yt&&(this.yylineno+=yt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:yt?yt[yt.length-1].length-yt[yt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Et[0].length},this.yytext+=Et[0],this.match+=Et[0],this.matches=Et,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(Et[0].length),this.matched+=Et[0],un=this.performAction.call(this,this.yy,this,Wt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),un)return un;if(this._backtrack){for(var Ze in Bt)this[Ze]=Bt[Ze];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Et,Wt,un,yt;this._more||(this.yytext="",this.match="");for(var Bt=this._currentRules(),Ze=0;Ze<Bt.length;Ze++)if(un=this._input.match(this.rules[Bt[Ze]]),un&&(!Wt||un[0].length>Wt[0].length)){if(Wt=un,yt=Ze,this.options.backtrack_lexer){if(Et=this.test_match(un,Bt[Ze]),Et!==!1)return Et;if(this._backtrack){Wt=!1;continue}else return!1}else if(!this.options.flex)break}return Wt?(Et=this.test_match(Wt,Bt[yt]),Et!==!1?Et:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Wt=this.next();return Wt||this.lex()},begin:function(Wt){this.conditionStack.push(Wt)},popState:function(){var Wt=this.conditionStack.length-1;return Wt>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(Wt){return Wt=this.conditionStack.length-1-Math.abs(Wt||0),Wt>=0?this.conditionStack[Wt]:"INITIAL"},pushState:function(Wt){this.begin(Wt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Wt,un,yt,Bt){switch(yt){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:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 5;case 9:break;case 10:break;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 48:this.popState();break;case 49:return"qString";case 50:return un.yytext=un.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}}};return Tt}();zt.lexer=Ne;function pn(){this.yy={}}return pn.prototype=zt,zt.Parser=pn,new pn}();Pve.parser=Pve;const Drn=Pve;let Bve=[],Z2={},QR={},j9={},JR={};const Irn={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:()=>qt().req,addRequirement:(i,a)=>(QR[i]===void 0&&(QR[i]={name:i,type:a,id:Z2.id,text:Z2.text,risk:Z2.risk,verifyMethod:Z2.verifyMethod}),Z2={},QR[i]),getRequirements:()=>QR,setNewReqId:i=>{Z2!==void 0&&(Z2.id=i)},setNewReqText:i=>{Z2!==void 0&&(Z2.text=i)},setNewReqRisk:i=>{Z2!==void 0&&(Z2.risk=i)},setNewReqVerifyMethod:i=>{Z2!==void 0&&(Z2.verifyMethod=i)},setAccTitle:jg,getAccTitle:Mp,setAccDescription:Dp,getAccDescription:Ip,addElement:i=>(JR[i]===void 0&&(JR[i]={name:i,type:j9.type,docRef:j9.docRef},Xe.info("Added new requirement: ",i)),j9={},JR[i]),getElements:()=>JR,setNewElementType:i=>{j9!==void 0&&(j9.type=i)},setNewElementDocRef:i=>{j9!==void 0&&(j9.docRef=i)},addRelationship:(i,a,u)=>{Bve.push({type:i,src:a,dst:u})},getRelationships:()=>Bve,clear:()=>{Bve=[],Z2={},QR={},j9={},JR={},Rg()}},Orn=i=>`
marker {
fill: ${i.relationColor};
stroke: ${i.relationColor};
}
marker.cross {
stroke: ${i.lineColor};
}
svg {
font-family: ${i.fontFamily};
font-size: ${i.fontSize};
}
.reqBox {
fill: ${i.requirementBackground};
fill-opacity: 1.0;
stroke: ${i.requirementBorderColor};
stroke-width: ${i.requirementBorderSize};
}
.reqTitle, .reqLabel{
fill: ${i.requirementTextColor};
}
.reqLabelBox {
fill: ${i.relationLabelBackground};
fill-opacity: 1.0;
}
.req-title-line {
stroke: ${i.requirementBorderColor};
stroke-width: ${i.requirementBorderSize};
}
.relationshipLine {
stroke: ${i.relationColor};
stroke-width: 1;
}
.relationshipLabel {
fill: ${i.relationLabelColor};
}
`,Fve={CONTAINS:"contains",ARROW:"arrow"},nKe={ReqMarkers:Fve,insertLineEndings:(i,a)=>{let u=i.append("defs").append("marker").attr("id",Fve.CONTAINS+"_line_ending").attr("refX",0).attr("refY",a.line_height/2).attr("markerWidth",a.line_height).attr("markerHeight",a.line_height).attr("orient","auto").append("g");u.append("circle").attr("cx",a.line_height/2).attr("cy",a.line_height/2).attr("r",a.line_height/2).attr("fill","none"),u.append("line").attr("x1",0).attr("x2",a.line_height).attr("y1",a.line_height/2).attr("y2",a.line_height/2).attr("stroke-width",1),u.append("line").attr("y1",0).attr("y2",a.line_height).attr("x1",a.line_height/2).attr("x2",a.line_height/2).attr("stroke-width",1),i.append("defs").append("marker").attr("id",Fve.ARROW+"_line_ending").attr("refX",a.line_height).attr("refY",.5*a.line_height).attr("markerWidth",a.line_height).attr("markerHeight",a.line_height).attr("orient","auto").append("path").attr("d",`M0,0
L${a.line_height},${a.line_height/2}
M${a.line_height},${a.line_height/2}
L0,${a.line_height}`).attr("stroke-width",1)}};let Ef={},rKe=0;const iKe=(i,a)=>i.insert("rect","#"+a).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",Ef.rect_min_width+"px").attr("height",Ef.rect_min_height+"px"),sKe=(i,a,u)=>{let d=Ef.rect_min_width/2,p=i.append("text").attr("class","req reqLabel reqTitle").attr("id",a).attr("x",d).attr("y",Ef.rect_padding).attr("dominant-baseline","hanging"),v=0;u.forEach(_=>{v==0?p.append("tspan").attr("text-anchor","middle").attr("x",Ef.rect_min_width/2).attr("dy",0).text(_):p.append("tspan").attr("text-anchor","middle").attr("x",Ef.rect_min_width/2).attr("dy",Ef.line_height*.75).text(_),v++});let b=1.5*Ef.rect_padding,y=v*Ef.line_height*.75,E=b+y;return i.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",Ef.rect_min_width).attr("y1",E).attr("y2",E),{titleNode:p,y:E}},aKe=(i,a,u,d)=>{let p=i.append("text").attr("class","req reqLabel").attr("id",a).attr("x",Ef.rect_padding).attr("y",d).attr("dominant-baseline","hanging"),v=0;const b=30;let y=[];return u.forEach(E=>{let _=E.length;for(;_>b&&v<3;){let A=E.substring(0,b);E=E.substring(b,E.length),_=E.length,y[y.length]=A,v++}if(v==3){let A=y[y.length-1];y[y.length-1]=A.substring(0,A.length-4)+"..."}else y[y.length]=E;v=0}),y.forEach(E=>{p.append("tspan").attr("x",Ef.rect_padding).attr("dy",Ef.line_height).text(E)}),p},Nrn=(i,a,u,d)=>{const p=a.node().getTotalLength(),v=a.node().getPointAtLength(p*.5),b="rel"+rKe;rKe++;const E=i.append("text").attr("class","req relationshipLabel").attr("id",b).attr("x",v.x).attr("y",v.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(d).node().getBBox();i.insert("rect","#"+b).attr("class","req reqLabelBox").attr("x",v.x-E.width/2).attr("y",v.y-E.height/2).attr("width",E.width).attr("height",E.height).attr("fill","white").attr("fill-opacity","85%")},Prn=function(i,a,u,d,p){const v=u.edge(nI(a.src),nI(a.dst)),b=E7().x(function(E){return E.x}).y(function(E){return E.y}),y=i.insert("path","#"+d).attr("class","er relationshipLine").attr("d",b(v.points)).attr("fill","none");a.type==p.db.Relationships.CONTAINS?y.attr("marker-start","url("+oi.getUrl(Ef.arrowMarkerAbsolute)+"#"+a.type+"_line_ending)"):(y.attr("stroke-dasharray","10,7"),y.attr("marker-end","url("+oi.getUrl(Ef.arrowMarkerAbsolute)+"#"+nKe.ReqMarkers.ARROW+"_line_ending)")),Nrn(i,y,Ef,`<<${a.type}>>`)},Brn=(i,a,u)=>{Object.keys(i).forEach(d=>{let p=i[d];d=nI(d),Xe.info("Added new requirement: ",d);const v=u.append("g").attr("id",d),b="req-"+d,y=iKe(v,b);let E=sKe(v,d+"_title",[`<<${p.type}>>`,`${p.name}`]);aKe(v,d+"_body",[`Id: ${p.id}`,`Text: ${p.text}`,`Risk: ${p.risk}`,`Verification: ${p.verifyMethod}`],E.y);const _=y.node().getBBox();a.setNode(d,{width:_.width,height:_.height,shape:"rect",id:d})})},Frn=(i,a,u)=>{Object.keys(i).forEach(d=>{let p=i[d];const v=nI(d),b=u.append("g").attr("id",v),y="element-"+v,E=iKe(b,y);let _=sKe(b,y+"_title",["<<Element>>",`${d}`]);aKe(b,y+"_body",[`Type: ${p.type||"Not Specified"}`,`Doc Ref: ${p.docRef||"None"}`],_.y);const A=E.node().getBBox();a.setNode(v,{width:A.width,height:A.height,shape:"rect",id:v})})},Rrn=(i,a)=>(i.forEach(function(u){let d=nI(u.src),p=nI(u.dst);a.setEdge(d,p,{relationship:u})}),i),jrn=function(i,a){a.nodes().forEach(function(u){u!==void 0&&a.node(u)!==void 0&&(i.select("#"+u),i.select("#"+u).attr("transform","translate("+(a.node(u).x-a.node(u).width/2)+","+(a.node(u).y-a.node(u).height/2)+" )"))})},nI=i=>i.replace(/\s/g,"").replace(/\./g,"_"),$rn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Drn,db:Irn,renderer:{draw:(i,a,u,d)=>{Ef=qt().requirement;const p=Ef.securityLevel;let v;p==="sandbox"&&(v=Dr("#i"+a));const y=Dr(p==="sandbox"?v.nodes()[0].contentDocument.body:"body").select(`[id='${a}']`);nKe.insertLineEndings(y,Ef);const E=new R0({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:Ef.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let _=d.db.getRequirements(),A=d.db.getElements(),P=d.db.getRelationships();Brn(_,E,y),Frn(A,E,y),Rrn(P,E),XD(E),jrn(y,E),P.forEach(function(ee){Prn(y,ee,E,a,d)});const R=Ef.rect_padding,B=y.node().getBBox(),j=B.width+R*2,W=B.height+R*2;Fg(y,W,j,Ef.useMaxWidth),y.attr("viewBox",`${B.x-R} ${B.y-R} ${j} ${W}`)}},styles:Orn}},Symbol.toStringTag,{value:"Module"}));var Rve=function(){var i=function(yt,Bt,Ze,Dt){for(Ze=Ze||{},Dt=yt.length;Dt--;Ze[yt[Dt]]=Bt);return Ze},a=[1,2],u=[1,3],d=[1,4],p=[2,4],v=[1,9],b=[1,11],y=[1,13],E=[1,14],_=[1,16],A=[1,17],P=[1,18],R=[1,24],B=[1,25],j=[1,26],W=[1,27],ee=[1,28],ie=[1,29],oe=[1,30],be=[1,31],ge=[1,32],ae=[1,33],ne=[1,34],se=[1,35],de=[1,36],X=[1,37],pe=[1,38],G=[1,39],xe=[1,41],U=[1,42],Be=[1,43],Pe=[1,44],je=[1,45],Ie=[1,46],Se=[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],Ce=[4,5,16,50,52,53],ke=[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],Ke=[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],zt=[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],Ne=[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],pn=[68,69,70],Tt=[1,120],Et={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(Bt,Ze,Dt,kt,Nn,ht,qr){var xt=ht.length-1;switch(Nn){case 3:return kt.apply(ht[xt]),ht[xt];case 4:case 9:this.$=[];break;case 5:case 10:ht[xt-1].push(ht[xt]),this.$=ht[xt-1];break;case 6:case 7:case 11:case 12:this.$=ht[xt];break;case 8:case 13:this.$=[];break;case 15:ht[xt].type="createParticipant",this.$=ht[xt];break;case 16:ht[xt-1].unshift({type:"boxStart",boxData:kt.parseBoxData(ht[xt-2])}),ht[xt-1].push({type:"boxEnd",boxText:ht[xt-2]}),this.$=ht[xt-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(ht[xt-2]),sequenceIndexStep:Number(ht[xt-1]),sequenceVisible:!0,signalType:kt.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(ht[xt-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:kt.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:kt.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:kt.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:kt.LINETYPE.ACTIVE_START,actor:ht[xt-1]};break;case 23:this.$={type:"activeEnd",signalType:kt.LINETYPE.ACTIVE_END,actor:ht[xt-1]};break;case 29:kt.setDiagramTitle(ht[xt].substring(6)),this.$=ht[xt].substring(6);break;case 30:kt.setDiagramTitle(ht[xt].substring(7)),this.$=ht[xt].substring(7);break;case 31:this.$=ht[xt].trim(),kt.setAccTitle(this.$);break;case 32:case 33:this.$=ht[xt].trim(),kt.setAccDescription(this.$);break;case 34:ht[xt-1].unshift({type:"loopStart",loopText:kt.parseMessage(ht[xt-2]),signalType:kt.LINETYPE.LOOP_START}),ht[xt-1].push({type:"loopEnd",loopText:ht[xt-2],signalType:kt.LINETYPE.LOOP_END}),this.$=ht[xt-1];break;case 35:ht[xt-1].unshift({type:"rectStart",color:kt.parseMessage(ht[xt-2]),signalType:kt.LINETYPE.RECT_START}),ht[xt-1].push({type:"rectEnd",color:kt.parseMessage(ht[xt-2]),signalType:kt.LINETYPE.RECT_END}),this.$=ht[xt-1];break;case 36:ht[xt-1].unshift({type:"optStart",optText:kt.parseMessage(ht[xt-2]),signalType:kt.LINETYPE.OPT_START}),ht[xt-1].push({type:"optEnd",optText:kt.parseMessage(ht[xt-2]),signalType:kt.LINETYPE.OPT_END}),this.$=ht[xt-1];break;case 37:ht[xt-1].unshift({type:"altStart",altText:kt.parseMessage(ht[xt-2]),signalType:kt.LINETYPE.ALT_START}),ht[xt-1].push({type:"altEnd",signalType:kt.LINETYPE.ALT_END}),this.$=ht[xt-1];break;case 38:ht[xt-1].unshift({type:"parStart",parText:kt.parseMessage(ht[xt-2]),signalType:kt.LINETYPE.PAR_START}),ht[xt-1].push({type:"parEnd",signalType:kt.LINETYPE.PAR_END}),this.$=ht[xt-1];break;case 39:ht[xt-1].unshift({type:"parStart",parText:kt.parseMessage(ht[xt-2]),signalType:kt.LINETYPE.PAR_OVER_START}),ht[xt-1].push({type:"parEnd",signalType:kt.LINETYPE.PAR_END}),this.$=ht[xt-1];break;case 40:ht[xt-1].unshift({type:"criticalStart",criticalText:kt.parseMessage(ht[xt-2]),signalType:kt.LINETYPE.CRITICAL_START}),ht[xt-1].push({type:"criticalEnd",signalType:kt.LINETYPE.CRITICAL_END}),this.$=ht[xt-1];break;case 41:ht[xt-1].unshift({type:"breakStart",breakText:kt.parseMessage(ht[xt-2]),signalType:kt.LINETYPE.BREAK_START}),ht[xt-1].push({type:"breakEnd",optText:kt.parseMessage(ht[xt-2]),signalType:kt.LINETYPE.BREAK_END}),this.$=ht[xt-1];break;case 43:this.$=ht[xt-3].concat([{type:"option",optionText:kt.parseMessage(ht[xt-1]),signalType:kt.LINETYPE.CRITICAL_OPTION},ht[xt]]);break;case 45:this.$=ht[xt-3].concat([{type:"and",parText:kt.parseMessage(ht[xt-1]),signalType:kt.LINETYPE.PAR_AND},ht[xt]]);break;case 47:this.$=ht[xt-3].concat([{type:"else",altText:kt.parseMessage(ht[xt-1]),signalType:kt.LINETYPE.ALT_ELSE},ht[xt]]);break;case 48:ht[xt-3].draw="participant",ht[xt-3].type="addParticipant",ht[xt-3].description=kt.parseMessage(ht[xt-1]),this.$=ht[xt-3];break;case 49:ht[xt-1].draw="participant",ht[xt-1].type="addParticipant",this.$=ht[xt-1];break;case 50:ht[xt-3].draw="actor",ht[xt-3].type="addParticipant",ht[xt-3].description=kt.parseMessage(ht[xt-1]),this.$=ht[xt-3];break;case 51:ht[xt-1].draw="actor",ht[xt-1].type="addParticipant",this.$=ht[xt-1];break;case 52:ht[xt-1].type="destroyParticipant",this.$=ht[xt-1];break;case 53:this.$=[ht[xt-1],{type:"addNote",placement:ht[xt-2],actor:ht[xt-1].actor,text:ht[xt]}];break;case 54:ht[xt-2]=[].concat(ht[xt-1],ht[xt-1]).slice(0,2),ht[xt-2][0]=ht[xt-2][0].actor,ht[xt-2][1]=ht[xt-2][1].actor,this.$=[ht[xt-1],{type:"addNote",placement:kt.PLACEMENT.OVER,actor:ht[xt-2].slice(0,2),text:ht[xt]}];break;case 55:this.$=[ht[xt-1],{type:"addLinks",actor:ht[xt-1].actor,text:ht[xt]}];break;case 56:this.$=[ht[xt-1],{type:"addALink",actor:ht[xt-1].actor,text:ht[xt]}];break;case 57:this.$=[ht[xt-1],{type:"addProperties",actor:ht[xt-1].actor,text:ht[xt]}];break;case 58:this.$=[ht[xt-1],{type:"addDetails",actor:ht[xt-1].actor,text:ht[xt]}];break;case 61:this.$=[ht[xt-2],ht[xt]];break;case 62:this.$=ht[xt];break;case 63:this.$=kt.PLACEMENT.LEFTOF;break;case 64:this.$=kt.PLACEMENT.RIGHTOF;break;case 65:this.$=[ht[xt-4],ht[xt-1],{type:"addMessage",from:ht[xt-4].actor,to:ht[xt-1].actor,signalType:ht[xt-3],msg:ht[xt],activate:!0},{type:"activeStart",signalType:kt.LINETYPE.ACTIVE_START,actor:ht[xt-1]}];break;case 66:this.$=[ht[xt-4],ht[xt-1],{type:"addMessage",from:ht[xt-4].actor,to:ht[xt-1].actor,signalType:ht[xt-3],msg:ht[xt]},{type:"activeEnd",signalType:kt.LINETYPE.ACTIVE_END,actor:ht[xt-4]}];break;case 67:this.$=[ht[xt-3],ht[xt-1],{type:"addMessage",from:ht[xt-3].actor,to:ht[xt-1].actor,signalType:ht[xt-2],msg:ht[xt]}];break;case 68:this.$={type:"addParticipant",actor:ht[xt]};break;case 69:this.$=kt.LINETYPE.SOLID_OPEN;break;case 70:this.$=kt.LINETYPE.DOTTED_OPEN;break;case 71:this.$=kt.LINETYPE.SOLID;break;case 72:this.$=kt.LINETYPE.DOTTED;break;case 73:this.$=kt.LINETYPE.SOLID_CROSS;break;case 74:this.$=kt.LINETYPE.DOTTED_CROSS;break;case 75:this.$=kt.LINETYPE.SOLID_POINT;break;case 76:this.$=kt.LINETYPE.DOTTED_POINT;break;case 77:this.$=kt.parseMessage(ht[xt].trim().substring(1));break}},table:[{3:1,4:a,5:u,6:d},{1:[3]},{3:5,4:a,5:u,6:d},{3:6,4:a,5:u,6:d},i([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],p,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:v,5:b,8:8,9:10,12:12,13:y,14:E,17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Pe,62:je,70:Ie},i(Se,[2,5]),{9:47,12:12,13:y,14:E,17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Pe,62:je,70:Ie},i(Se,[2,7]),i(Se,[2,8]),i(Se,[2,14]),{12:48,50:X,52:pe,53:G},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:Ie},{22:55,70:Ie},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},i(Se,[2,29]),i(Se,[2,30]),{32:[1,61]},{34:[1,62]},i(Se,[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:Ie},{22:72,70:Ie},{22:73,70:Ie},{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:Ie},{22:88,70:Ie},{22:89,70:Ie},{22:90,70:Ie},i([5,51,64,71,72,73,74,75,76,77,78,79],[2,68]),i(Se,[2,6]),i(Se,[2,15]),i(Ce,[2,9],{10:91}),i(Se,[2,17]),{5:[1,93],19:[1,92]},{5:[1,94]},i(Se,[2,21]),{5:[1,95]},{5:[1,96]},i(Se,[2,24]),i(Se,[2,25]),i(Se,[2,26]),i(Se,[2,27]),i(Se,[2,28]),i(Se,[2,31]),i(Se,[2,32]),i(ke,p,{7:97}),i(ke,p,{7:98}),i(ke,p,{7:99}),i(Ke,p,{40:100,7:101}),i(zt,p,{42:102,7:103}),i(zt,p,{7:103,42:104}),i(Ne,p,{45:105,7:106}),i(ke,p,{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:Ie},i(pn,[2,69]),i(pn,[2,70]),i(pn,[2,71]),i(pn,[2,72]),i(pn,[2,73]),i(pn,[2,74]),i(pn,[2,75]),i(pn,[2,76]),{22:116,70:Ie},{22:118,58:117,70:Ie},{70:[2,63]},{70:[2,64]},{56:119,79:Tt},{56:121,79:Tt},{56:122,79:Tt},{56:123,79:Tt},{4:[1,126],5:[1,128],11:125,12:127,16:[1,124],50:X,52:pe,53:G},{5:[1,129]},i(Se,[2,19]),i(Se,[2,20]),i(Se,[2,22]),i(Se,[2,23]),{4:v,5:b,8:8,9:10,12:12,13:y,14:E,16:[1,130],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Pe,62:je,70:Ie},{4:v,5:b,8:8,9:10,12:12,13:y,14:E,16:[1,131],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Pe,62:je,70:Ie},{4:v,5:b,8:8,9:10,12:12,13:y,14:E,16:[1,132],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Pe,62:je,70:Ie},{16:[1,133]},{4:v,5:b,8:8,9:10,12:12,13:y,14:E,16:[2,46],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,49:[1,134],50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Pe,62:je,70:Ie},{16:[1,135]},{4:v,5:b,8:8,9:10,12:12,13:y,14:E,16:[2,44],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,48:[1,136],50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Pe,62:je,70:Ie},{16:[1,137]},{16:[1,138]},{4:v,5:b,8:8,9:10,12:12,13:y,14:E,16:[2,42],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,47:[1,139],50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Pe,62:je,70:Ie},{4:v,5:b,8:8,9:10,12:12,13:y,14:E,16:[1,140],17:15,18:_,21:A,22:40,23:P,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:j,33:W,35:ee,36:ie,37:oe,38:be,39:ge,41:ae,43:ne,44:se,46:de,50:X,52:pe,53:G,54:xe,59:U,60:Be,61:Pe,62:je,70:Ie},{15:[1,141]},i(Se,[2,49]),{15:[1,142]},i(Se,[2,51]),i(Se,[2,52]),{22:143,70:Ie},{22:144,70:Ie},{56:145,79:Tt},{56:146,79:Tt},{56:147,79:Tt},{64:[1,148],79:[2,62]},{5:[2,55]},{5:[2,77]},{5:[2,56]},{5:[2,57]},{5:[2,58]},i(Se,[2,16]),i(Ce,[2,10]),{12:149,50:X,52:pe,53:G},i(Ce,[2,12]),i(Ce,[2,13]),i(Se,[2,18]),i(Se,[2,34]),i(Se,[2,35]),i(Se,[2,36]),i(Se,[2,37]),{15:[1,150]},i(Se,[2,38]),{15:[1,151]},i(Se,[2,39]),i(Se,[2,40]),{15:[1,152]},i(Se,[2,41]),{5:[1,153]},{5:[1,154]},{56:155,79:Tt},{56:156,79:Tt},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:157,70:Ie},i(Ce,[2,11]),i(Ke,p,{7:101,40:158}),i(zt,p,{7:103,42:159}),i(Ne,p,{7:106,45:160}),i(Se,[2,48]),i(Se,[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(Bt,Ze){if(Ze.recoverable)this.trace(Bt);else{var Dt=new Error(Bt);throw Dt.hash=Ze,Dt}},parse:function(Bt){var Ze=this,Dt=[0],kt=[],Nn=[null],ht=[],qr=this.table,xt="",Ri=0,wi=0,ia=2,Hs=1,mo=ht.slice.call(arguments,1),Tr=Object.create(this.lexer),On={yy:{}};for(var Rn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Rn)&&(On.yy[Rn]=this.yy[Rn]);Tr.setInput(Bt,On.yy),On.yy.lexer=Tr,On.yy.parser=this,typeof Tr.yylloc>"u"&&(Tr.yylloc={});var zn=Tr.yylloc;ht.push(zn);var Ct=Tr.options&&Tr.options.ranges;typeof On.yy.parseError=="function"?this.parseError=On.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function gt(){var _c;return _c=kt.pop()||Tr.lex()||Hs,typeof _c!="number"&&(_c instanceof Array&&(kt=_c,_c=kt.pop()),_c=Ze.symbols_[_c]||_c),_c}for(var on,dn,Ln,Io,Oo={},No,Us,uo,Es;;){if(dn=Dt[Dt.length-1],this.defaultActions[dn]?Ln=this.defaultActions[dn]:((on===null||typeof on>"u")&&(on=gt()),Ln=qr[dn]&&qr[dn][on]),typeof Ln>"u"||!Ln.length||!Ln[0]){var Ou="";Es=[];for(No in qr[dn])this.terminals_[No]&&No>ia&&Es.push("'"+this.terminals_[No]+"'");Tr.showPosition?Ou="Parse error on line "+(Ri+1)+`:
`+Tr.showPosition()+`
Expecting `+Es.join(", ")+", got '"+(this.terminals_[on]||on)+"'":Ou="Parse error on line "+(Ri+1)+": Unexpected "+(on==Hs?"end of input":"'"+(this.terminals_[on]||on)+"'"),this.parseError(Ou,{text:Tr.match,token:this.terminals_[on]||on,line:Tr.yylineno,loc:zn,expected:Es})}if(Ln[0]instanceof Array&&Ln.length>1)throw new Error("Parse Error: multiple actions possible at state: "+dn+", token: "+on);switch(Ln[0]){case 1:Dt.push(on),Nn.push(Tr.yytext),ht.push(Tr.yylloc),Dt.push(Ln[1]),on=null,wi=Tr.yyleng,xt=Tr.yytext,Ri=Tr.yylineno,zn=Tr.yylloc;break;case 2:if(Us=this.productions_[Ln[1]][1],Oo.$=Nn[Nn.length-Us],Oo._$={first_line:ht[ht.length-(Us||1)].first_line,last_line:ht[ht.length-1].last_line,first_column:ht[ht.length-(Us||1)].first_column,last_column:ht[ht.length-1].last_column},Ct&&(Oo._$.range=[ht[ht.length-(Us||1)].range[0],ht[ht.length-1].range[1]]),Io=this.performAction.apply(Oo,[xt,wi,Ri,On.yy,Ln[1],Nn,ht].concat(mo)),typeof Io<"u")return Io;Us&&(Dt=Dt.slice(0,-1*Us*2),Nn=Nn.slice(0,-1*Us),ht=ht.slice(0,-1*Us)),Dt.push(this.productions_[Ln[1]][0]),Nn.push(Oo.$),ht.push(Oo._$),uo=qr[Dt[Dt.length-2]][Dt[Dt.length-1]],Dt.push(uo);break;case 3:return!0}}return!0}},Wt=function(){var yt={EOF:1,parseError:function(Ze,Dt){if(this.yy.parser)this.yy.parser.parseError(Ze,Dt);else throw new Error(Ze)},setInput:function(Bt,Ze){return this.yy=Ze||this.yy||{},this._input=Bt,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 Bt=this._input[0];this.yytext+=Bt,this.yyleng++,this.offset++,this.match+=Bt,this.matched+=Bt;var Ze=Bt.match(/(?:\r\n?|\n).*/g);return Ze?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Bt},unput:function(Bt){var Ze=Bt.length,Dt=Bt.split(/(?:\r\n?|\n)/g);this._input=Bt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ze),this.offset-=Ze;var kt=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),Dt.length-1&&(this.yylineno-=Dt.length-1);var Nn=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:Dt?(Dt.length===kt.length?this.yylloc.first_column:0)+kt[kt.length-Dt.length].length-Dt[0].length:this.yylloc.first_column-Ze},this.options.ranges&&(this.yylloc.range=[Nn[0],Nn[0]+this.yyleng-Ze]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return 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).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Bt){this.unput(this.match.slice(Bt))},pastInput:function(){var Bt=this.matched.substr(0,this.matched.length-this.match.length);return(Bt.length>20?"...":"")+Bt.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Bt=this.match;return Bt.length<20&&(Bt+=this._input.substr(0,20-Bt.length)),(Bt.substr(0,20)+(Bt.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Bt=this.pastInput(),Ze=new Array(Bt.length+1).join("-");return Bt+this.upcomingInput()+`
`+Ze+"^"},test_match:function(Bt,Ze){var Dt,kt,Nn;if(this.options.backtrack_lexer&&(Nn={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&&(Nn.yylloc.range=this.yylloc.range.slice(0))),kt=Bt[0].match(/(?:\r\n?|\n).*/g),kt&&(this.yylineno+=kt.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:kt?kt[kt.length-1].length-kt[kt.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Bt[0].length},this.yytext+=Bt[0],this.match+=Bt[0],this.matches=Bt,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(Bt[0].length),this.matched+=Bt[0],Dt=this.performAction.call(this,this.yy,this,Ze,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Dt)return Dt;if(this._backtrack){for(var ht in Nn)this[ht]=Nn[ht];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Bt,Ze,Dt,kt;this._more||(this.yytext="",this.match="");for(var Nn=this._currentRules(),ht=0;ht<Nn.length;ht++)if(Dt=this._input.match(this.rules[Nn[ht]]),Dt&&(!Ze||Dt[0].length>Ze[0].length)){if(Ze=Dt,kt=ht,this.options.backtrack_lexer){if(Bt=this.test_match(Dt,Nn[ht]),Bt!==!1)return Bt;if(this._backtrack){Ze=!1;continue}else return!1}else if(!this.options.flex)break}return Ze?(Bt=this.test_match(Ze,Nn[kt]),Bt!==!1?Bt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ze=this.next();return Ze||this.lex()},begin:function(Ze){this.conditionStack.push(Ze)},popState:function(){var Ze=this.conditionStack.length-1;return Ze>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(Ze){return Ze=this.conditionStack.length-1-Math.abs(Ze||0),Ze>=0?this.conditionStack[Ze]:"INITIAL"},pushState:function(Ze){this.begin(Ze)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ze,Dt,kt,Nn){switch(kt){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;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 Dt.yytext=Dt.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 51:return 5;case 52:return Dt.yytext=Dt.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 64:return 5;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}}};return yt}();Et.lexer=Wt;function un(){this.yy={}}return un.prototype=Et,Et.Parser=un,new un}();Rve.parser=Rve;const zrn=Rve;class qrn{constructor(a){this.init=a,this.records=this.init()}reset(){this.records=this.init()}}const Is=new qrn(()=>({prevActor:void 0,actors:{},createdActors:{},destroyedActors:{},boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),Hrn=function(i){Is.records.boxes.push({name:i.text,wrap:i.wrap===void 0&&ZC()||!!i.wrap,fill:i.color,actorKeys:[]}),Is.records.currentBox=Is.records.boxes.slice(-1)[0]},jve=function(i,a,u,d){let p=Is.records.currentBox;const v=Is.records.actors[i];if(v){if(Is.records.currentBox&&v.box&&Is.records.currentBox!==v.box)throw new Error("A same participant should only be defined in one Box: "+v.name+" can't be in '"+v.box.name+"' and in '"+Is.records.currentBox.name+"' at the same time.");if(p=v.box?v.box:Is.records.currentBox,v.box=p,v&&a===v.name&&u==null)return}(u==null||u.text==null)&&(u={text:a,wrap:null,type:d}),(d==null||u.text==null)&&(u={text:a,wrap:null,type:d}),Is.records.actors[i]={box:p,name:a,description:u.text,wrap:u.wrap===void 0&&ZC()||!!u.wrap,prevActor:Is.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:d||"participant"},Is.records.prevActor&&Is.records.actors[Is.records.prevActor]&&(Is.records.actors[Is.records.prevActor].nextActor=i),Is.records.currentBox&&Is.records.currentBox.actorKeys.push(i),Is.records.prevActor=i},Urn=i=>{let a,u=0;for(a=0;a<Is.records.messages.length;a++)Is.records.messages[a].type===ej.ACTIVE_START&&Is.records.messages[a].from.actor===i&&u++,Is.records.messages[a].type===ej.ACTIVE_END&&Is.records.messages[a].from.actor===i&&u--;return u},Vrn=function(i,a,u,d){Is.records.messages.push({from:i,to:a,message:u.text,wrap:u.wrap===void 0&&ZC()||!!u.wrap,answer:d})},Xf=function(i,a,u={text:void 0,wrap:void 0},d,p=!1){if(d===ej.ACTIVE_END&&Urn(i.actor)<1){let b=new Error("Trying to inactivate an inactive participant ("+i.actor+")");throw b.hash={text:"->>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},b}return Is.records.messages.push({from:i,to:a,message:u.text,wrap:u.wrap===void 0&&ZC()||!!u.wrap,type:d,activate:p}),!0},Grn=function(){return Is.records.boxes.length>0},Krn=function(){return Is.records.boxes.some(i=>i.name)},Wrn=function(){return Is.records.messages},Yrn=function(){return Is.records.boxes},Xrn=function(){return Is.records.actors},Qrn=function(){return Is.records.createdActors},Jrn=function(){return Is.records.destroyedActors},ZR=function(i){return Is.records.actors[i]},Zrn=function(){return Object.keys(Is.records.actors)},ein=function(){Is.records.sequenceNumbersEnabled=!0},tin=function(){Is.records.sequenceNumbersEnabled=!1},nin=()=>Is.records.sequenceNumbersEnabled,rin=function(i){Is.records.wrapEnabled=i},ZC=()=>Is.records.wrapEnabled!==void 0?Is.records.wrapEnabled:qt().sequence.wrap,iin=function(){Is.reset(),Rg()},sin=function(i){const a=i.trim(),u={text:a.replace(/^:?(?:no)?wrap:/,"").trim(),wrap:a.match(/^:?wrap:/)!==null?!0:a.match(/^:?nowrap:/)!==null?!1:void 0};return Xe.debug("parseMessage:",u),u},ain=function(i){const a=i.match(/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/);let u=a!=null&&a[1]?a[1].trim():"transparent",d=a!=null&&a[2]?a[2].trim():void 0;if(window&&window.CSS)window.CSS.supports("color",u)||(u="transparent",d=i.trim());else{const p=new Option().style;p.color=u,p.color!==u&&(u="transparent",d=i.trim())}return{color:u,text:d!==void 0?bh(d.replace(/^:?(?:no)?wrap:/,""),qt()):void 0,wrap:d!==void 0?d.match(/^:?wrap:/)!==null?!0:d.match(/^:?nowrap:/)!==null?!1:void 0:void 0}},ej={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},oin={FILLED:0,OPEN:1},cin={LEFTOF:0,RIGHTOF:1,OVER:2},oKe=function(i,a,u){const d={actor:i,placement:a,message:u.text,wrap:u.wrap===void 0&&ZC()||!!u.wrap},p=[].concat(i,i);Is.records.notes.push(d),Is.records.messages.push({from:p[0],to:p[1],message:u.text,wrap:u.wrap===void 0&&ZC()||!!u.wrap,type:ej.NOTE,placement:a})},cKe=function(i,a){const u=ZR(i);try{let d=bh(a.text,qt());d=d.replace(/&amp;/g,"&"),d=d.replace(/&equals;/g,"=");const p=JSON.parse(d);$ve(u,p)}catch(d){Xe.error("error while parsing actor link text",d)}},uin=function(i,a){const u=ZR(i);try{const b={};let y=bh(a.text,qt());var d=y.indexOf("@");y=y.replace(/&amp;/g,"&"),y=y.replace(/&equals;/g,"=");var p=y.slice(0,d-1).trim(),v=y.slice(d+1).trim();b[p]=v,$ve(u,b)}catch(b){Xe.error("error while parsing actor link text",b)}};function $ve(i,a){if(i.links==null)i.links=a;else for(let u in a)i.links[u]=a[u]}const uKe=function(i,a){const u=ZR(i);try{let d=bh(a.text,qt());const p=JSON.parse(d);lKe(u,p)}catch(d){Xe.error("error while parsing actor properties text",d)}};function lKe(i,a){if(i.properties==null)i.properties=a;else for(let u in a)i.properties[u]=a[u]}function lin(){Is.records.currentBox=void 0}const hKe=function(i,a){const u=ZR(i),d=document.getElementById(a.text);try{const p=d.innerHTML,v=JSON.parse(p);v.properties&&lKe(u,v.properties),v.links&&$ve(u,v.links)}catch(p){Xe.error("error while parsing actor details text",p)}},hin=function(i,a){if(i!==void 0&&i.properties!==void 0)return i.properties[a]},fKe=function(i){if(Array.isArray(i))i.forEach(function(a){fKe(a)});else switch(i.type){case"sequenceIndex":Is.records.messages.push({from:void 0,to:void 0,message:{start:i.sequenceIndex,step:i.sequenceIndexStep,visible:i.sequenceVisible},wrap:!1,type:i.signalType});break;case"addParticipant":jve(i.actor,i.actor,i.description,i.draw);break;case"createParticipant":if(Is.records.actors[i.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");Is.records.lastCreated=i.actor,jve(i.actor,i.actor,i.description,i.draw),Is.records.createdActors[i.actor]=Is.records.messages.length;break;case"destroyParticipant":Is.records.lastDestroyed=i.actor,Is.records.destroyedActors[i.actor]=Is.records.messages.length;break;case"activeStart":Xf(i.actor,void 0,void 0,i.signalType);break;case"activeEnd":Xf(i.actor,void 0,void 0,i.signalType);break;case"addNote":oKe(i.actor,i.placement,i.text);break;case"addLinks":cKe(i.actor,i.text);break;case"addALink":uin(i.actor,i.text);break;case"addProperties":uKe(i.actor,i.text);break;case"addDetails":hKe(i.actor,i.text);break;case"addMessage":if(Is.records.lastCreated){if(i.to!==Is.records.lastCreated)throw new Error("The created participant "+Is.records.lastCreated+" does not have an associated creating message after its declaration. Please check the sequence diagram.");Is.records.lastCreated=void 0}else if(Is.records.lastDestroyed){if(i.to!==Is.records.lastDestroyed&&i.from!==Is.records.lastDestroyed)throw new Error("The destroyed participant "+Is.records.lastDestroyed+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");Is.records.lastDestroyed=void 0}Xf(i.from,i.to,i.msg,i.signalType,i.activate);break;case"boxStart":Hrn(i.boxData);break;case"boxEnd":lin();break;case"loopStart":Xf(void 0,void 0,i.loopText,i.signalType);break;case"loopEnd":Xf(void 0,void 0,void 0,i.signalType);break;case"rectStart":Xf(void 0,void 0,i.color,i.signalType);break;case"rectEnd":Xf(void 0,void 0,void 0,i.signalType);break;case"optStart":Xf(void 0,void 0,i.optText,i.signalType);break;case"optEnd":Xf(void 0,void 0,void 0,i.signalType);break;case"altStart":Xf(void 0,void 0,i.altText,i.signalType);break;case"else":Xf(void 0,void 0,i.altText,i.signalType);break;case"altEnd":Xf(void 0,void 0,void 0,i.signalType);break;case"setAccTitle":jg(i.text);break;case"parStart":Xf(void 0,void 0,i.parText,i.signalType);break;case"and":Xf(void 0,void 0,i.parText,i.signalType);break;case"parEnd":Xf(void 0,void 0,void 0,i.signalType);break;case"criticalStart":Xf(void 0,void 0,i.criticalText,i.signalType);break;case"option":Xf(void 0,void 0,i.optionText,i.signalType);break;case"criticalEnd":Xf(void 0,void 0,void 0,i.signalType);break;case"breakStart":Xf(void 0,void 0,i.breakText,i.signalType);break;case"breakEnd":Xf(void 0,void 0,void 0,i.signalType);break}},dKe={addActor:jve,addMessage:Vrn,addSignal:Xf,addLinks:cKe,addDetails:hKe,addProperties:uKe,autoWrap:ZC,setWrap:rin,enableSequenceNumbers:ein,disableSequenceNumbers:tin,showSequenceNumbers:nin,getMessages:Wrn,getActors:Xrn,getCreatedActors:Qrn,getDestroyedActors:Jrn,getActor:ZR,getActorKeys:Zrn,getActorProperty:hin,getAccTitle:Mp,getBoxes:Yrn,getDiagramTitle:Op,setDiagramTitle:pm,getConfig:()=>qt().sequence,clear:iin,parseMessage:sin,parseBoxData:ain,LINETYPE:ej,ARROWTYPE:oin,PLACEMENT:cin,addNote:oKe,setAccTitle:jg,apply:fKe,setAccDescription:Dp,getAccDescription:Ip,hasAtLeastOneBox:Grn,hasAtLeastOneBoxWithTitle:Krn},fin=i=>`.actor {
stroke: ${i.actorBorder};
fill: ${i.actorBkg};
}
text.actor > tspan {
fill: ${i.actorTextColor};
stroke: none;
}
.actor-line {
stroke: ${i.actorLineColor};
}
.messageLine0 {
stroke-width: 1.5;
stroke-dasharray: none;
stroke: ${i.signalColor};
}
.messageLine1 {
stroke-width: 1.5;
stroke-dasharray: 2, 2;
stroke: ${i.signalColor};
}
#arrowhead path {
fill: ${i.signalColor};
stroke: ${i.signalColor};
}
.sequenceNumber {
fill: ${i.sequenceNumberColor};
}
#sequencenumber {
fill: ${i.signalColor};
}
#crosshead path {
fill: ${i.signalColor};
stroke: ${i.signalColor};
}
.messageText {
fill: ${i.signalTextColor};
stroke: none;
}
.labelBox {
stroke: ${i.labelBoxBorderColor};
fill: ${i.labelBoxBkgColor};
}
.labelText, .labelText > tspan {
fill: ${i.labelTextColor};
stroke: none;
}
.loopText, .loopText > tspan {
fill: ${i.loopTextColor};
stroke: none;
}
.loopLine {
stroke-width: 2px;
stroke-dasharray: 2, 2;
stroke: ${i.labelBoxBorderColor};
fill: ${i.labelBoxBorderColor};
}
.note {
//stroke: #decc93;
stroke: ${i.noteBorderColor};
fill: ${i.noteBkgColor};
}
.noteText, .noteText > tspan {
fill: ${i.noteTextColor};
stroke: none;
}
.activation0 {
fill: ${i.activationBkgColor};
stroke: ${i.activationBorderColor};
}
.activation1 {
fill: ${i.activationBkgColor};
stroke: ${i.activationBorderColor};
}
.activation2 {
fill: ${i.activationBkgColor};
stroke: ${i.activationBorderColor};
}
.actorPopupMenu {
position: absolute;
}
.actorPopupMenuPanel {
position: absolute;
fill: ${i.actorBkg};
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));
}
.actor-man line {
stroke: ${i.actorBorder};
fill: ${i.actorBkg};
}
.actor-man circle, line {
stroke: ${i.actorBorder};
fill: ${i.actorBkg};
stroke-width: 2px;
}
`,eS=18*2,gKe="actor-top",pKe="actor-bottom",zve=function(i,a){return qQ(i,a)},din=function(i,a,u,d,p){if(a.links===void 0||a.links===null||Object.keys(a.links).length===0)return{height:0,width:0};const v=a.links,b=a.actorCnt,y=a.rectData;var E="none";p&&(E="block !important");const _=i.append("g");_.attr("id","actor"+b+"_popup"),_.attr("class","actorPopupMenu"),_.attr("display",E);var A="";y.class!==void 0&&(A=" "+y.class);let P=y.width>u?y.width:u;const R=_.append("rect");if(R.attr("class","actorPopupMenuPanel"+A),R.attr("x",y.x),R.attr("y",y.height),R.attr("fill",y.fill),R.attr("stroke",y.stroke),R.attr("width",P),R.attr("height",y.height),R.attr("rx",y.rx),R.attr("ry",y.ry),v!=null){var B=20;for(let ee in v){var j=_.append("a"),W=b9.sanitizeUrl(v[ee]);j.attr("xlink:href",W),j.attr("target","_blank"),Min(d)(ee,j,y.x+10,y.height+B,P,20,{class:"actor"},d),B+=30}}return R.attr("height",B),{height:y.height+B,width:P}},gin=function(i){return"var pu = document.getElementById('"+i+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},LJ=async function(i,a,u=null){let d=i.append("foreignObject");const p=await SC(a.text,mh()),b=d.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(p).node().getBoundingClientRect();if(d.attr("height",Math.round(b.height)).attr("width",Math.round(b.width)),a.class==="noteText"){const y=i.node().firstChild;y.setAttribute("height",b.height+2*a.textMargin);const E=y.getBBox();d.attr("x",Math.round(E.x+E.width/2-b.width/2)).attr("y",Math.round(E.y+E.height/2-b.height/2))}else if(u){let{startx:y,stopx:E,starty:_}=u;if(y>E){const A=y;y=E,E=A}d.attr("x",Math.round(y+Math.abs(y-E)/2-b.width/2)),a.class==="loopText"?d.attr("y",Math.round(_)):d.attr("y",Math.round(_-b.height))}return[d]},rI=function(i,a){let u=0,d=0;const p=a.text.split(oi.lineBreakRegex),[v,b]=PC(a.fontSize);let y=[],E=0,_=()=>a.y;if(a.valign!==void 0&&a.textMargin!==void 0&&a.textMargin>0)switch(a.valign){case"top":case"start":_=()=>Math.round(a.y+a.textMargin);break;case"middle":case"center":_=()=>Math.round(a.y+(u+d+a.textMargin)/2);break;case"bottom":case"end":_=()=>Math.round(a.y+(u+d+2*a.textMargin)-a.textMargin);break}if(a.anchor!==void 0&&a.textMargin!==void 0&&a.width!==void 0)switch(a.anchor){case"left":case"start":a.x=Math.round(a.x+a.textMargin),a.anchor="start",a.dominantBaseline="middle",a.alignmentBaseline="middle";break;case"middle":case"center":a.x=Math.round(a.x+a.width/2),a.anchor="middle",a.dominantBaseline="middle",a.alignmentBaseline="middle";break;case"right":case"end":a.x=Math.round(a.x+a.width-a.textMargin),a.anchor="end",a.dominantBaseline="middle",a.alignmentBaseline="middle";break}for(let[A,P]of p.entries()){a.textMargin!==void 0&&a.textMargin===0&&v!==void 0&&(E=A*v);const R=i.append("text");R.attr("x",a.x),R.attr("y",_()),a.anchor!==void 0&&R.attr("text-anchor",a.anchor).attr("dominant-baseline",a.dominantBaseline).attr("alignment-baseline",a.alignmentBaseline),a.fontFamily!==void 0&&R.style("font-family",a.fontFamily),b!==void 0&&R.style("font-size",b),a.fontWeight!==void 0&&R.style("font-weight",a.fontWeight),a.fill!==void 0&&R.attr("fill",a.fill),a.class!==void 0&&R.attr("class",a.class),a.dy!==void 0?R.attr("dy",a.dy):E!==0&&R.attr("dy",E);const B=P||Nje;if(a.tspan){const j=R.append("tspan");j.attr("x",a.x),a.fill!==void 0&&j.attr("fill",a.fill),j.text(B)}else R.text(B);a.valign!==void 0&&a.textMargin!==void 0&&a.textMargin>0&&(d+=(R._groups||R)[0][0].getBBox().height,u=d),y.push(R)}return y},bKe=function(i,a){function u(p,v,b,y,E){return p+","+v+" "+(p+b)+","+v+" "+(p+b)+","+(v+y-E)+" "+(p+b-E*1.2)+","+(v+y)+" "+p+","+(v+y)}const d=i.append("polygon");return d.attr("points",u(a.x,a.y,a.width,a.height,7)),d.attr("class","labelBox"),a.y=a.y+a.height/2,rI(i,a),d};let o5=-1;const mKe=(i,a,u,d)=>{i.select&&u.forEach(p=>{const v=a[p],b=i.select("#actor"+v.actorCnt);!d.mirrorActors&&v.stopy?b.attr("y2",v.stopy+v.height/2):d.mirrorActors&&b.attr("y2",v.stopy)})},pin=async function(i,a,u,d){const p=d?a.stopy:a.starty,v=a.x+a.width/2,b=p+5,y=i.append("g").lower();var E=y;d||(o5++,Object.keys(a.links||{}).length&&!u.forceMenus&&E.attr("onclick",gin(`actor${o5}_popup`)).attr("cursor","pointer"),E.append("line").attr("id","actor"+o5).attr("x1",v).attr("y1",b).attr("x2",v).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),E=y.append("g"),a.actorCnt=o5,a.links!=null&&E.attr("id","root-"+o5));const _=HC();var A="actor";a.properties!=null&&a.properties.class?A=a.properties.class:_.fill="#eaeaea",d?A+=` ${pKe}`:A+=` ${gKe}`,_.x=a.x,_.y=p,_.width=a.width,_.height=a.height,_.class=A,_.rx=3,_.ry=3,_.name=a.name;const P=zve(E,_);if(a.rectData=_,a.properties!=null&&a.properties.icon){const B=a.properties.icon.trim();B.charAt(0)==="@"?EVt(E,_.x+_.width-20,_.y+10,B.substr(1)):TVt(E,_.x+_.width-20,_.y+10,B)}await qve(u,$v(a.description))(a.description,E,_.x,_.y,_.width,_.height,{class:"actor"},u);let R=a.height;if(P.node){const B=P.node().getBBox();a.height=B.height,R=B.height}return R},bin=async function(i,a,u,d){const p=d?a.stopy:a.starty,v=a.x+a.width/2,b=p+80;i.lower(),d||(o5++,i.append("line").attr("id","actor"+o5).attr("x1",v).attr("y1",b).attr("x2",v).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),a.actorCnt=o5);const y=i.append("g");let E="actor-man";d?E+=` ${pKe}`:E+=` ${gKe}`,y.attr("class",E),y.attr("name",a.name);const _=HC();_.x=a.x,_.y=p,_.fill="#eaeaea",_.width=a.width,_.height=a.height,_.class="actor",_.rx=3,_.ry=3,y.append("line").attr("id","actor-man-torso"+o5).attr("x1",v).attr("y1",p+25).attr("x2",v).attr("y2",p+45),y.append("line").attr("id","actor-man-arms"+o5).attr("x1",v-eS/2).attr("y1",p+33).attr("x2",v+eS/2).attr("y2",p+33),y.append("line").attr("x1",v-eS/2).attr("y1",p+60).attr("x2",v).attr("y2",p+45),y.append("line").attr("x1",v).attr("y1",p+45).attr("x2",v+eS/2-2).attr("y2",p+60);const A=y.append("circle");A.attr("cx",a.x+a.width/2),A.attr("cy",p+10),A.attr("r",15),A.attr("width",a.width),A.attr("height",a.height);const P=y.node().getBBox();return a.height=P.height,await qve(u,$v(a.description))(a.description,y,_.x,_.y+35,_.width,_.height,{class:"actor"},u),a.height},min=async function(i,a,u,d){switch(a.type){case"actor":return await bin(i,a,u,d);case"participant":return await pin(i,a,u,d)}},vin=async function(i,a,u){const p=i.append("g");vKe(p,a),a.name&&await qve(u)(a.name,p,a.x,a.y+(a.textMaxHeight||0)/2,a.width,0,{class:"text"},u),p.lower()},win=function(i){return i.append("g")},yin=function(i,a,u,d,p){const v=HC(),b=a.anchored;v.x=a.startx,v.y=a.starty,v.class="activation"+p%3,v.width=a.stopx-a.startx,v.height=u-a.starty,zve(b,v)},xin=async function(i,a,u,d){const{boxMargin:p,boxTextMargin:v,labelBoxHeight:b,labelBoxWidth:y,messageFontFamily:E,messageFontSize:_,messageFontWeight:A}=d,P=i.append("g"),R=function(W,ee,ie,oe){return P.append("line").attr("x1",W).attr("y1",ee).attr("x2",ie).attr("y2",oe).attr("class","loopLine")};R(a.startx,a.starty,a.stopx,a.starty),R(a.stopx,a.starty,a.stopx,a.stopy),R(a.startx,a.stopy,a.stopx,a.stopy),R(a.startx,a.starty,a.startx,a.stopy),a.sections!==void 0&&a.sections.forEach(function(W){R(a.startx,W.y,a.stopx,W.y).style("stroke-dasharray","3, 3")});let B=sme();B.text=u,B.x=a.startx,B.y=a.starty,B.fontFamily=E,B.fontSize=_,B.fontWeight=A,B.anchor="middle",B.valign="middle",B.tspan=!1,B.width=y||50,B.height=b||20,B.textMargin=v,B.class="labelText",bKe(P,B),B=wKe(),B.text=a.title,B.x=a.startx+y/2+(a.stopx-a.startx)/2,B.y=a.starty+p+v,B.anchor="middle",B.valign="middle",B.textMargin=v,B.class="loopText",B.fontFamily=E,B.fontSize=_,B.fontWeight=A,B.wrap=!0;let j=$v(B.text)?await LJ(P,B,a):rI(P,B);if(a.sectionTitles!==void 0){for(const[W,ee]of Object.entries(a.sectionTitles))if(ee.message){B.text=ee.message,B.x=a.startx+(a.stopx-a.startx)/2,B.y=a.sections[W].y+p+v,B.class="loopText",B.anchor="middle",B.valign="middle",B.tspan=!1,B.fontFamily=E,B.fontSize=_,B.fontWeight=A,B.wrap=a.wrap,$v(B.text)?(a.starty=a.sections[W].y,await LJ(P,B,a)):rI(P,B);let ie=Math.round(j.map(oe=>(oe._groups||oe)[0][0].getBBox().height).reduce((oe,be)=>oe+be));a.sections[W].height+=ie-(p+v)}}return a.height=Math.round(a.stopy-a.starty),P},vKe=function(i,a){Zqe(i,a)},kin=function(i){i.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")},Tin=function(i){i.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")},Ein=function(i){i.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")},Cin=function(i){i.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")},Sin=function(i){i.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")},_in=function(i){i.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)},Ain=function(i){i.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")},wKe=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}},Lin=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},qve=function(){function i(v,b,y,E,_,A,P){const R=b.append("text").attr("x",y+_/2).attr("y",E+A/2+5).style("text-anchor","middle").text(v);p(R,P)}function a(v,b,y,E,_,A,P,R){const{actorFontSize:B,actorFontFamily:j,actorFontWeight:W}=R,[ee,ie]=PC(B),oe=v.split(oi.lineBreakRegex);for(let be=0;be<oe.length;be++){const ge=be*ee-ee*(oe.length-1)/2,ae=b.append("text").attr("x",y+_/2).attr("y",E).style("text-anchor","middle").style("font-size",ie).style("font-weight",W).style("font-family",j);ae.append("tspan").attr("x",y+_/2).attr("dy",ge).text(oe[be]),ae.attr("y",E+A/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),p(ae,P)}}function u(v,b,y,E,_,A,P,R){const B=b.append("switch"),W=B.append("foreignObject").attr("x",y).attr("y",E).attr("width",_).attr("height",A).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");W.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(v),a(v,B,y,E,_,A,P,R),p(W,P)}async function d(v,b,y,E,_,A,P,R){const B=await ZF(v,mh()),j=b.append("switch"),ee=j.append("foreignObject").attr("x",y+_/2-B.width/2).attr("y",E+A/2-B.height/2).attr("width",B.width).attr("height",B.height).append("xhtml:div").style("height","100%").style("width","100%");ee.append("div").style("text-align","center").style("vertical-align","middle").html(await SC(v,mh())),a(v,j,y,E,_,A,P,R),p(ee,P)}function p(v,b){for(const y in b)b.hasOwnProperty(y)&&v.attr(y,b[y])}return function(v,b=!1){return b?d:v.textPlacement==="fo"?u:v.textPlacement==="old"?i:a}}(),Min=function(){function i(p,v,b,y,E,_,A){const P=v.append("text").attr("x",b).attr("y",y).style("text-anchor","start").text(p);d(P,A)}function a(p,v,b,y,E,_,A,P){const{actorFontSize:R,actorFontFamily:B,actorFontWeight:j}=P,W=p.split(oi.lineBreakRegex);for(let ee=0;ee<W.length;ee++){const ie=ee*R-R*(W.length-1)/2,oe=v.append("text").attr("x",b).attr("y",y).style("text-anchor","start").style("font-size",R).style("font-weight",j).style("font-family",B);oe.append("tspan").attr("x",b).attr("dy",ie).text(W[ee]),oe.attr("y",y+_/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),d(oe,A)}}function u(p,v,b,y,E,_,A,P){const R=v.append("switch"),j=R.append("foreignObject").attr("x",b).attr("y",y).attr("width",E).attr("height",_).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");j.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(p),a(p,R,b,y,E,_,A,P),d(j,A)}function d(p,v){for(const b in v)v.hasOwnProperty(b)&&p.attr(b,v[b])}return function(p){return p.textPlacement==="fo"?u:p.textPlacement==="old"?i:a}}(),Qf={drawRect:zve,drawText:rI,drawLabel:bKe,drawActor:min,drawBox:vin,drawPopup:din,anchorElement:win,drawActivation:yin,drawLoop:xin,drawBackgroundRect:vKe,insertArrowHead:Cin,insertArrowFilledHead:Sin,insertSequenceNumber:_in,insertArrowCrossHead:Ain,insertDatabaseIcon:kin,insertComputerIcon:Tin,insertClockIcon:Ein,getTextObj:wKe,getNoteRect:Lin,fixLifeLineHeights:mKe,sanitizeUrl:b9.sanitizeUrl};let Tn={};const ni={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,this.actors.length===0?[0]:this.actors.map(i=>i.height||0))+(this.loops.length===0?0:this.loops.map(i=>i.height||0).reduce((i,a)=>i+a))+(this.messages.length===0?0:this.messages.map(i=>i.height||0).reduce((i,a)=>i+a))+(this.notes.length===0?0:this.notes.map(i=>i.height||0).reduce((i,a)=>i+a))},clear:function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},addBox:function(i){this.boxes.push(i)},addActor:function(i){this.actors.push(i)},addLoop:function(i){this.loops.push(i)},addMessage:function(i){this.messages.push(i)},addNote:function(i){this.notes.push(i)},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,xKe(qt())},updateVal:function(i,a,u,d){i[a]===void 0?i[a]=u:i[a]=d(u,i[a])},updateBounds:function(i,a,u,d){const p=this;let v=0;function b(y){return function(_){v++;const A=p.sequenceItems.length-v+1;p.updateVal(_,"starty",a-A*Tn.boxMargin,Math.min),p.updateVal(_,"stopy",d+A*Tn.boxMargin,Math.max),p.updateVal(ni.data,"startx",i-A*Tn.boxMargin,Math.min),p.updateVal(ni.data,"stopx",u+A*Tn.boxMargin,Math.max),y!=="activation"&&(p.updateVal(_,"startx",i-A*Tn.boxMargin,Math.min),p.updateVal(_,"stopx",u+A*Tn.boxMargin,Math.max),p.updateVal(ni.data,"starty",a-A*Tn.boxMargin,Math.min),p.updateVal(ni.data,"stopy",d+A*Tn.boxMargin,Math.max))}}this.sequenceItems.forEach(b()),this.activations.forEach(b("activation"))},insert:function(i,a,u,d){const p=oi.getMin(i,u),v=oi.getMax(i,u),b=oi.getMin(a,d),y=oi.getMax(a,d);this.updateVal(ni.data,"startx",p,Math.min),this.updateVal(ni.data,"starty",b,Math.min),this.updateVal(ni.data,"stopx",v,Math.max),this.updateVal(ni.data,"stopy",y,Math.max),this.updateBounds(p,b,v,y)},newActivation:function(i,a,u){const d=u[i.from.actor],p=MJ(i.from.actor).length||0,v=d.x+d.width/2+(p-1)*Tn.activationWidth/2;this.activations.push({startx:v,starty:this.verticalPos+2,stopx:v+Tn.activationWidth,stopy:void 0,actor:i.from.actor,anchored:Qf.anchorElement(a)})},endActivation:function(i){const a=this.activations.map(function(u){return u.actor}).lastIndexOf(i.from.actor);return this.activations.splice(a,1)[0]},createLoop:function(i={message:void 0,wrap:!1,width:void 0},a){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:i.message,wrap:i.wrap,width:i.width,height:0,fill:a}},newLoop:function(i={message:void 0,wrap:!1,width:void 0},a){this.sequenceItems.push(this.createLoop(i,a))},endLoop:function(){return this.sequenceItems.pop()},isLoopOverlap:function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},addSectionToLoop:function(i){const a=this.sequenceItems.pop();a.sections=a.sections||[],a.sectionTitles=a.sectionTitles||[],a.sections.push({y:ni.getVerticalPos(),height:0}),a.sectionTitles.push(i),this.sequenceItems.push(a)},saveVerticalPos:function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},resetVerticalPos:function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},bumpVerticalPos:function(i){this.verticalPos=this.verticalPos+i,this.data.stopy=oi.getMax(this.data.stopy,this.verticalPos)},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},Din=async function(i,a){ni.bumpVerticalPos(Tn.boxMargin),a.height=Tn.boxMargin,a.starty=ni.getVerticalPos();const u=HC();u.x=a.startx,u.y=a.starty,u.width=a.width||Tn.width,u.class="note";const d=i.append("g"),p=Qf.drawRect(d,u),v=sme();v.x=a.startx,v.y=a.starty,v.width=u.width,v.dy="1em",v.text=a.message,v.class="noteText",v.fontFamily=Tn.noteFontFamily,v.fontSize=Tn.noteFontSize,v.fontWeight=Tn.noteFontWeight,v.anchor=Tn.noteAlign,v.textMargin=Tn.noteMargin,v.valign="center";const b=$v(v.text)?await LJ(d,v):rI(d,v),y=Math.round(b.map(E=>(E._groups||E)[0][0].getBBox().height).reduce((E,_)=>E+_));p.attr("height",y+2*Tn.noteMargin),a.height+=y+2*Tn.noteMargin,ni.bumpVerticalPos(y+2*Tn.noteMargin),a.stopy=a.starty+y+2*Tn.noteMargin,a.stopx=a.startx+u.width,ni.insert(a.startx,a.starty,a.stopx,a.stopy),ni.models.addNote(a)},tS=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight}),iI=i=>({fontFamily:i.noteFontFamily,fontSize:i.noteFontSize,fontWeight:i.noteFontWeight}),Hve=i=>({fontFamily:i.actorFontFamily,fontSize:i.actorFontSize,fontWeight:i.actorFontWeight});async function Iin(i,a){ni.bumpVerticalPos(10);const{startx:u,stopx:d,message:p}=a,v=oi.splitBreaks(p).length,b=$v(p),y=b?await ZF(p,qt()):So.calculateTextDimensions(p,tS(Tn));if(!b){const P=y.height/v;a.height+=P,ni.bumpVerticalPos(P)}let E,_=y.height-10;const A=y.width;if(u===d){E=ni.getVerticalPos()+_,Tn.rightAngles||(_+=Tn.boxMargin,E=ni.getVerticalPos()+_),_+=30;const P=oi.getMax(A/2,Tn.width/2);ni.insert(u-P,ni.getVerticalPos()-10+_,d+P,ni.getVerticalPos()+30+_)}else _+=Tn.boxMargin,E=ni.getVerticalPos()+_,ni.insert(u,E-10,d,E);return ni.bumpVerticalPos(_),a.height+=_,a.stopy=a.starty+a.height,ni.insert(a.fromBounds,a.starty,a.toBounds,a.stopy),E}const Oin=async function(i,a,u,d){const{startx:p,stopx:v,starty:b,message:y,type:E,sequenceIndex:_,sequenceVisible:A}=a,P=So.calculateTextDimensions(y,tS(Tn)),R=sme();R.x=p,R.y=b+10,R.width=v-p,R.class="messageText",R.dy="1em",R.text=y,R.fontFamily=Tn.messageFontFamily,R.fontSize=Tn.messageFontSize,R.fontWeight=Tn.messageFontWeight,R.anchor=Tn.messageAlign,R.valign="center",R.textMargin=Tn.wrapPadding,R.tspan=!1,$v(R.text)?await LJ(i,R,{startx:p,stopx:v,starty:u}):rI(i,R);const B=P.width;let j;p===v?Tn.rightAngles?j=i.append("path").attr("d",`M ${p},${u} H ${p+oi.getMax(Tn.width/2,B/2)} V ${u+25} H ${p}`):j=i.append("path").attr("d","M "+p+","+u+" C "+(p+60)+","+(u-10)+" "+(p+60)+","+(u+30)+" "+p+","+(u+20)):(j=i.append("line"),j.attr("x1",p),j.attr("y1",u),j.attr("x2",v),j.attr("y2",u)),E===d.db.LINETYPE.DOTTED||E===d.db.LINETYPE.DOTTED_CROSS||E===d.db.LINETYPE.DOTTED_POINT||E===d.db.LINETYPE.DOTTED_OPEN?(j.style("stroke-dasharray","3, 3"),j.attr("class","messageLine1")):j.attr("class","messageLine0");let W="";Tn.arrowMarkerAbsolute&&(W=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,W=W.replace(/\(/g,"\\("),W=W.replace(/\)/g,"\\)")),j.attr("stroke-width",2),j.attr("stroke","none"),j.style("fill","none"),(E===d.db.LINETYPE.SOLID||E===d.db.LINETYPE.DOTTED)&&j.attr("marker-end","url("+W+"#arrowhead)"),(E===d.db.LINETYPE.SOLID_POINT||E===d.db.LINETYPE.DOTTED_POINT)&&j.attr("marker-end","url("+W+"#filled-head)"),(E===d.db.LINETYPE.SOLID_CROSS||E===d.db.LINETYPE.DOTTED_CROSS)&&j.attr("marker-end","url("+W+"#crosshead)"),(A||Tn.showSequenceNumbers)&&(j.attr("marker-start","url("+W+"#sequencenumber)"),i.append("text").attr("x",p).attr("y",u+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(_))},Nin=async function(i,a,u,d,p,v,b){let y=0,E=0,_,A=0;for(const P of d){const R=a[P],B=R.box;_&&_!=B&&(b||ni.models.addBox(_),E+=Tn.boxMargin+_.margin),B&&B!=_&&(b||(B.x=y+E,B.y=p),E+=B.margin),R.width=R.width||Tn.width,R.height=oi.getMax(R.height||Tn.height,Tn.height),R.margin=R.margin||Tn.actorMargin,A=oi.getMax(A,R.height),u[R.name]&&(E+=R.width/2),R.x=y+E,R.starty=ni.getVerticalPos(),ni.insert(R.x,p,R.x+R.width,R.height),y+=R.width+E,R.box&&(R.box.width=y+B.margin-R.box.x),E=R.margin,_=R.box,ni.models.addActor(R)}_&&!b&&ni.models.addBox(_),ni.bumpVerticalPos(A)},Uve=async function(i,a,u,d){if(d){let p=0;ni.bumpVerticalPos(Tn.boxMargin*2);for(const v of u){const b=a[v];b.stopy||(b.stopy=ni.getVerticalPos());const y=await Qf.drawActor(i,b,Tn,!0);p=oi.getMax(p,y)}ni.bumpVerticalPos(p+Tn.boxMargin)}else for(const p of u){const v=a[p];await Qf.drawActor(i,v,Tn,!1)}},yKe=function(i,a,u,d){let p=0,v=0;for(const b of u){const y=a[b],E=Rin(y),_=Qf.drawPopup(i,y,E,Tn,Tn.forceMenus,d);_.height>p&&(p=_.height),_.width+y.x>v&&(v=_.width+y.x)}return{maxHeight:p,maxWidth:v}},xKe=function(i){id(Tn,i),i.fontFamily&&(Tn.actorFontFamily=Tn.noteFontFamily=Tn.messageFontFamily=i.fontFamily),i.fontSize&&(Tn.actorFontSize=Tn.noteFontSize=Tn.messageFontSize=i.fontSize),i.fontWeight&&(Tn.actorFontWeight=Tn.noteFontWeight=Tn.messageFontWeight=i.fontWeight)},MJ=function(i){return ni.activations.filter(function(a){return a.actor===i})},kKe=function(i,a){const u=a[i],d=MJ(i),p=d.reduce(function(b,y){return oi.getMin(b,y.startx)},u.x+u.width/2-1),v=d.reduce(function(b,y){return oi.getMax(b,y.stopx)},u.x+u.width/2+1);return[p,v]};function c5(i,a,u,d,p){ni.bumpVerticalPos(u);let v=d;if(a.id&&a.message&&i[a.id]){const b=i[a.id].width,y=tS(Tn);a.message=So.wrapLabel(`[${a.message}]`,b-2*Tn.wrapPadding,y),a.width=b,a.wrap=!0;const E=So.calculateTextDimensions(a.message,y),_=oi.getMax(E.height,Tn.labelBoxHeight);v=d+_,Xe.debug(`${_} - ${a.message}`)}p(a),ni.bumpVerticalPos(v)}function Pin(i,a,u,d,p,v,b){function y(_,A){_.x<p[i.from].x?(ni.insert(a.stopx-A,a.starty,a.startx,a.stopy+_.height/2+Tn.noteMargin),a.stopx=a.stopx+A):(ni.insert(a.startx,a.starty,a.stopx+A,a.stopy+_.height/2+Tn.noteMargin),a.stopx=a.stopx-A)}function E(_,A){_.x<p[i.to].x?(ni.insert(a.startx-A,a.starty,a.stopx,a.stopy+_.height/2+Tn.noteMargin),a.startx=a.startx+A):(ni.insert(a.stopx,a.starty,a.startx+A,a.stopy+_.height/2+Tn.noteMargin),a.startx=a.startx-A)}if(v[i.to]==d){const _=p[i.to],A=_.type=="actor"?eS/2+3:_.width/2+3;y(_,A),_.starty=u-_.height/2,ni.bumpVerticalPos(_.height/2)}else if(b[i.from]==d){const _=p[i.from];if(Tn.mirrorActors){const A=_.type=="actor"?eS/2:_.width/2;E(_,A)}_.stopy=u-_.height/2,ni.bumpVerticalPos(_.height/2)}else if(b[i.to]==d){const _=p[i.to];if(Tn.mirrorActors){const A=_.type=="actor"?eS/2+3:_.width/2+3;y(_,A)}_.stopy=u-_.height/2,ni.bumpVerticalPos(_.height/2)}}const Bin=async function(i,a,u,d){const{securityLevel:p,sequence:v}=qt();Tn=v;let b;p==="sandbox"&&(b=Dr("#i"+a));const y=Dr(p==="sandbox"?b.nodes()[0].contentDocument.body:"body"),E=p==="sandbox"?b.nodes()[0].contentDocument:document;ni.init(),Xe.debug(d.db);const _=p==="sandbox"?y.select(`[id="${a}"]`):Dr(`[id="${a}"]`),A=d.db.getActors(),P=d.db.getCreatedActors(),R=d.db.getDestroyedActors(),B=d.db.getBoxes();let j=d.db.getActorKeys();const W=d.db.getMessages(),ee=d.db.getDiagramTitle(),ie=d.db.hasAtLeastOneBox(),oe=d.db.hasAtLeastOneBoxWithTitle(),be=await Fin(A,W,d);if(Tn.height=await jin(A,be,B),Qf.insertComputerIcon(_),Qf.insertDatabaseIcon(_),Qf.insertClockIcon(_),ie&&(ni.bumpVerticalPos(Tn.boxMargin),oe&&ni.bumpVerticalPos(B[0].textMaxHeight)),Tn.hideUnusedParticipants===!0){const Se=new Set;W.forEach(Ce=>{Se.add(Ce.from),Se.add(Ce.to)}),j=j.filter(Ce=>Se.has(Ce))}await Nin(_,A,P,j,0,W,!1);const ge=await qin(W,A,be,d);Qf.insertArrowHead(_),Qf.insertArrowCrossHead(_),Qf.insertArrowFilledHead(_),Qf.insertSequenceNumber(_);function ae(Se,Ce){const ke=ni.endActivation(Se);ke.starty+18>Ce&&(ke.starty=Ce-6,Ce+=12),Qf.drawActivation(_,ke,Ce,Tn,MJ(Se.from.actor).length),ni.insert(ke.startx,Ce-10,ke.stopx,Ce)}let ne=1,se=1;const de=[],X=[];let pe=0;for(const Se of W){let Ce,ke,Ke;switch(Se.type){case d.db.LINETYPE.NOTE:ni.resetVerticalPos(),ke=Se.noteModel,await Din(_,ke);break;case d.db.LINETYPE.ACTIVE_START:ni.newActivation(Se,_,A);break;case d.db.LINETYPE.ACTIVE_END:ae(Se,ni.getVerticalPos());break;case d.db.LINETYPE.LOOP_START:c5(ge,Se,Tn.boxMargin,Tn.boxMargin+Tn.boxTextMargin,zt=>ni.newLoop(zt));break;case d.db.LINETYPE.LOOP_END:Ce=ni.endLoop(),await Qf.drawLoop(_,Ce,"loop",Tn),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;case d.db.LINETYPE.RECT_START:c5(ge,Se,Tn.boxMargin,Tn.boxMargin,zt=>ni.newLoop(void 0,zt.message));break;case d.db.LINETYPE.RECT_END:Ce=ni.endLoop(),X.push(Ce),ni.models.addLoop(Ce),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos());break;case d.db.LINETYPE.OPT_START:c5(ge,Se,Tn.boxMargin,Tn.boxMargin+Tn.boxTextMargin,zt=>ni.newLoop(zt));break;case d.db.LINETYPE.OPT_END:Ce=ni.endLoop(),await Qf.drawLoop(_,Ce,"opt",Tn),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;case d.db.LINETYPE.ALT_START:c5(ge,Se,Tn.boxMargin,Tn.boxMargin+Tn.boxTextMargin,zt=>ni.newLoop(zt));break;case d.db.LINETYPE.ALT_ELSE:c5(ge,Se,Tn.boxMargin+Tn.boxTextMargin,Tn.boxMargin,zt=>ni.addSectionToLoop(zt));break;case d.db.LINETYPE.ALT_END:Ce=ni.endLoop(),await Qf.drawLoop(_,Ce,"alt",Tn),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;case d.db.LINETYPE.PAR_START:case d.db.LINETYPE.PAR_OVER_START:c5(ge,Se,Tn.boxMargin,Tn.boxMargin+Tn.boxTextMargin,zt=>ni.newLoop(zt)),ni.saveVerticalPos();break;case d.db.LINETYPE.PAR_AND:c5(ge,Se,Tn.boxMargin+Tn.boxTextMargin,Tn.boxMargin,zt=>ni.addSectionToLoop(zt));break;case d.db.LINETYPE.PAR_END:Ce=ni.endLoop(),await Qf.drawLoop(_,Ce,"par",Tn),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;case d.db.LINETYPE.AUTONUMBER:ne=Se.message.start||ne,se=Se.message.step||se,Se.message.visible?d.db.enableSequenceNumbers():d.db.disableSequenceNumbers();break;case d.db.LINETYPE.CRITICAL_START:c5(ge,Se,Tn.boxMargin,Tn.boxMargin+Tn.boxTextMargin,zt=>ni.newLoop(zt));break;case d.db.LINETYPE.CRITICAL_OPTION:c5(ge,Se,Tn.boxMargin+Tn.boxTextMargin,Tn.boxMargin,zt=>ni.addSectionToLoop(zt));break;case d.db.LINETYPE.CRITICAL_END:Ce=ni.endLoop(),await Qf.drawLoop(_,Ce,"critical",Tn),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;case d.db.LINETYPE.BREAK_START:c5(ge,Se,Tn.boxMargin,Tn.boxMargin+Tn.boxTextMargin,zt=>ni.newLoop(zt));break;case d.db.LINETYPE.BREAK_END:Ce=ni.endLoop(),await Qf.drawLoop(_,Ce,"break",Tn),ni.bumpVerticalPos(Ce.stopy-ni.getVerticalPos()),ni.models.addLoop(Ce);break;default:try{Ke=Se.msgModel,Ke.starty=ni.getVerticalPos(),Ke.sequenceIndex=ne,Ke.sequenceVisible=d.db.showSequenceNumbers();const zt=await Iin(_,Ke);Pin(Se,Ke,zt,pe,A,P,R),de.push({messageModel:Ke,lineStartY:zt}),ni.models.addMessage(Ke)}catch(zt){Xe.error("error while drawing message",zt)}}[d.db.LINETYPE.SOLID_OPEN,d.db.LINETYPE.DOTTED_OPEN,d.db.LINETYPE.SOLID,d.db.LINETYPE.DOTTED,d.db.LINETYPE.SOLID_CROSS,d.db.LINETYPE.DOTTED_CROSS,d.db.LINETYPE.SOLID_POINT,d.db.LINETYPE.DOTTED_POINT].includes(Se.type)&&(ne=ne+se),pe++}Xe.debug("createdActors",P),Xe.debug("destroyedActors",R),await Uve(_,A,j,!1);for(const Se of de)await Oin(_,Se.messageModel,Se.lineStartY,d);Tn.mirrorActors&&await Uve(_,A,j,!0),X.forEach(Se=>Qf.drawBackgroundRect(_,Se)),mKe(_,A,j,Tn);for(const Se of ni.models.boxes)Se.height=ni.getVerticalPos()-Se.y,ni.insert(Se.x,Se.y,Se.x+Se.width,Se.height),Se.startx=Se.x,Se.starty=Se.y,Se.stopx=Se.startx+Se.width,Se.stopy=Se.starty+Se.height,Se.stroke="rgb(0,0,0, 0.5)",await Qf.drawBox(_,Se,Tn);ie&&ni.bumpVerticalPos(Tn.boxMargin);const G=yKe(_,A,j,E),{bounds:xe}=ni.getBounds();let U=xe.stopy-xe.starty;U<G.maxHeight&&(U=G.maxHeight);let Be=U+2*Tn.diagramMarginY;Tn.mirrorActors&&(Be=Be-Tn.boxMargin+Tn.bottomMarginAdj);let Pe=xe.stopx-xe.startx;Pe<G.maxWidth&&(Pe=G.maxWidth);const je=Pe+2*Tn.diagramMarginX;ee&&_.append("text").text(ee).attr("x",(xe.stopx-xe.startx)/2-2*Tn.diagramMarginX).attr("y",-25),Fg(_,Be,je,Tn.useMaxWidth);const Ie=ee?40:0;_.attr("viewBox",xe.startx-Tn.diagramMarginX+" -"+(Tn.diagramMarginY+Ie)+" "+je+" "+(Be+Ie)),Xe.debug("models:",ni.models)};async function Fin(i,a,u){const d={};for(const p of a)if(i[p.to]&&i[p.from]){const v=i[p.to];if(p.placement===u.db.PLACEMENT.LEFTOF&&!v.prevActor||p.placement===u.db.PLACEMENT.RIGHTOF&&!v.nextActor)continue;const b=p.placement!==void 0,y=!b,E=b?iI(Tn):tS(Tn),_=p.wrap?So.wrapLabel(p.message,Tn.width-2*Tn.wrapPadding,E):p.message,P=($v(_)?await ZF(p.message,qt()):So.calculateTextDimensions(_,E)).width+2*Tn.wrapPadding;y&&p.from===v.nextActor?d[p.to]=oi.getMax(d[p.to]||0,P):y&&p.from===v.prevActor?d[p.from]=oi.getMax(d[p.from]||0,P):y&&p.from===p.to?(d[p.from]=oi.getMax(d[p.from]||0,P/2),d[p.to]=oi.getMax(d[p.to]||0,P/2)):p.placement===u.db.PLACEMENT.RIGHTOF?d[p.from]=oi.getMax(d[p.from]||0,P):p.placement===u.db.PLACEMENT.LEFTOF?d[v.prevActor]=oi.getMax(d[v.prevActor]||0,P):p.placement===u.db.PLACEMENT.OVER&&(v.prevActor&&(d[v.prevActor]=oi.getMax(d[v.prevActor]||0,P/2)),v.nextActor&&(d[p.from]=oi.getMax(d[p.from]||0,P/2)))}return Xe.debug("maxMessageWidthPerActor:",d),d}const Rin=function(i){let a=0;const u=Hve(Tn);for(const d in i.links){const v=So.calculateTextDimensions(d,u).width+2*Tn.wrapPadding+2*Tn.boxMargin;a<v&&(a=v)}return a};async function jin(i,a,u){let d=0;for(const v of Object.keys(i)){const b=i[v];b.wrap&&(b.description=So.wrapLabel(b.description,Tn.width-2*Tn.wrapPadding,Hve(Tn)));const y=$v(b.description)?await ZF(b.description,qt()):So.calculateTextDimensions(b.description,Hve(Tn));b.width=b.wrap?Tn.width:oi.getMax(Tn.width,y.width+2*Tn.wrapPadding),b.height=b.wrap?oi.getMax(y.height,Tn.height):Tn.height,d=oi.getMax(d,b.height)}for(const v in a){const b=i[v];if(!b)continue;const y=i[b.nextActor];if(!y){const P=a[v]+Tn.actorMargin-b.width/2;b.margin=oi.getMax(P,Tn.actorMargin);continue}const _=a[v]+Tn.actorMargin-b.width/2-y.width/2;b.margin=oi.getMax(_,Tn.actorMargin)}let p=0;return u.forEach(v=>{const b=tS(Tn);let y=v.actorKeys.reduce((A,P)=>A+=i[P].width+(i[P].margin||0),0);y-=2*Tn.boxTextMargin,v.wrap&&(v.name=So.wrapLabel(v.name,y-2*Tn.wrapPadding,b));const E=So.calculateTextDimensions(v.name,b);p=oi.getMax(E.height,p);const _=oi.getMax(y,E.width+2*Tn.wrapPadding);if(v.margin=Tn.boxTextMargin,y<_){const A=(_-y)/2;v.margin+=A}}),u.forEach(v=>v.textMaxHeight=p),oi.getMax(d,Tn.height)}const $in=async function(i,a,u){const d=a[i.from].x,p=a[i.to].x,v=i.wrap&&i.message;let b=$v(i.message)?await ZF(i.message,qt()):So.calculateTextDimensions(v?So.wrapLabel(i.message,Tn.width,iI(Tn)):i.message,iI(Tn));const y={width:v?Tn.width:oi.getMax(Tn.width,b.width+2*Tn.noteMargin),height:0,startx:a[i.from].x,stopx:0,starty:0,stopy:0,message:i.message};return i.placement===u.db.PLACEMENT.RIGHTOF?(y.width=v?oi.getMax(Tn.width,b.width):oi.getMax(a[i.from].width/2+a[i.to].width/2,b.width+2*Tn.noteMargin),y.startx=d+(a[i.from].width+Tn.actorMargin)/2):i.placement===u.db.PLACEMENT.LEFTOF?(y.width=v?oi.getMax(Tn.width,b.width+2*Tn.noteMargin):oi.getMax(a[i.from].width/2+a[i.to].width/2,b.width+2*Tn.noteMargin),y.startx=d-y.width+(a[i.from].width-Tn.actorMargin)/2):i.to===i.from?(b=So.calculateTextDimensions(v?So.wrapLabel(i.message,oi.getMax(Tn.width,a[i.from].width),iI(Tn)):i.message,iI(Tn)),y.width=v?oi.getMax(Tn.width,a[i.from].width):oi.getMax(a[i.from].width,Tn.width,b.width+2*Tn.noteMargin),y.startx=d+(a[i.from].width-y.width)/2):(y.width=Math.abs(d+a[i.from].width/2-(p+a[i.to].width/2))+Tn.actorMargin,y.startx=d<p?d+a[i.from].width/2-Tn.actorMargin/2:p+a[i.to].width/2-Tn.actorMargin/2),v&&(y.message=So.wrapLabel(i.message,y.width-2*Tn.wrapPadding,iI(Tn))),Xe.debug(`NM:[${y.startx},${y.stopx},${y.starty},${y.stopy}:${y.width},${y.height}=${i.message}]`),y},zin=function(i,a,u){if(![u.db.LINETYPE.SOLID_OPEN,u.db.LINETYPE.DOTTED_OPEN,u.db.LINETYPE.SOLID,u.db.LINETYPE.DOTTED,u.db.LINETYPE.SOLID_CROSS,u.db.LINETYPE.DOTTED_CROSS,u.db.LINETYPE.SOLID_POINT,u.db.LINETYPE.DOTTED_POINT].includes(i.type))return{};const[d,p]=kKe(i.from,a),[v,b]=kKe(i.to,a),y=d<=v,E=y?p:d;let _=y?v:b;const A=Math.abs(v-b)>2,P=W=>y?-W:W;i.from===i.to?_=E:(i.activate&&!A&&(_+=P(Tn.activationWidth/2-1)),[u.db.LINETYPE.SOLID_OPEN,u.db.LINETYPE.DOTTED_OPEN].includes(i.type)||(_+=P(3)));const R=[d,p,v,b],B=Math.abs(E-_);i.wrap&&i.message&&(i.message=So.wrapLabel(i.message,oi.getMax(B+2*Tn.wrapPadding,Tn.width),tS(Tn)));const j=So.calculateTextDimensions(i.message,tS(Tn));return{width:oi.getMax(i.wrap?0:j.width+2*Tn.wrapPadding,B+2*Tn.wrapPadding,Tn.width),height:0,startx:E,stopx:_,starty:0,stopy:0,message:i.message,type:i.type,wrap:i.wrap,fromBounds:Math.min.apply(null,R),toBounds:Math.max.apply(null,R)}},qin=async function(i,a,u,d){const p={},v=[];let b,y,E;for(const _ of i){switch(_.id=So.random({length:10}),_.type){case d.db.LINETYPE.LOOP_START:case d.db.LINETYPE.ALT_START:case d.db.LINETYPE.OPT_START:case d.db.LINETYPE.PAR_START:case d.db.LINETYPE.PAR_OVER_START:case d.db.LINETYPE.CRITICAL_START:case d.db.LINETYPE.BREAK_START:v.push({id:_.id,msg:_.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case d.db.LINETYPE.ALT_ELSE:case d.db.LINETYPE.PAR_AND:case d.db.LINETYPE.CRITICAL_OPTION:_.message&&(b=v.pop(),p[b.id]=b,p[_.id]=b,v.push(b));break;case d.db.LINETYPE.LOOP_END:case d.db.LINETYPE.ALT_END:case d.db.LINETYPE.OPT_END:case d.db.LINETYPE.PAR_END:case d.db.LINETYPE.CRITICAL_END:case d.db.LINETYPE.BREAK_END:b=v.pop(),p[b.id]=b;break;case d.db.LINETYPE.ACTIVE_START:{const P=a[_.from?_.from.actor:_.to.actor],R=MJ(_.from?_.from.actor:_.to.actor).length,B=P.x+P.width/2+(R-1)*Tn.activationWidth/2,j={startx:B,stopx:B+Tn.activationWidth,actor:_.from.actor,enabled:!0};ni.activations.push(j)}break;case d.db.LINETYPE.ACTIVE_END:{const P=ni.activations.map(R=>R.actor).lastIndexOf(_.from.actor);delete ni.activations.splice(P,1)[0]}break}_.placement!==void 0?(y=await $in(_,a,d),_.noteModel=y,v.forEach(P=>{b=P,b.from=oi.getMin(b.from,y.startx),b.to=oi.getMax(b.to,y.startx+y.width),b.width=oi.getMax(b.width,Math.abs(b.from-b.to))-Tn.labelBoxWidth})):(E=zin(_,a,d),_.msgModel=E,E.startx&&E.stopx&&v.length>0&&v.forEach(P=>{if(b=P,E.startx===E.stopx){const R=a[_.from],B=a[_.to];b.from=oi.getMin(R.x-E.width/2,R.x-R.width/2,b.from),b.to=oi.getMax(B.x+E.width/2,B.x+R.width/2,b.to),b.width=oi.getMax(b.width,Math.abs(b.to-b.from))-Tn.labelBoxWidth}else b.from=oi.getMin(E.startx,b.from),b.to=oi.getMax(E.stopx,b.to),b.width=oi.getMax(b.width,E.width)-Tn.labelBoxWidth}))}return ni.activations=[],Xe.debug("Loop type widths:",p),p},Hin=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:zrn,db:dKe,renderer:{bounds:ni,drawActors:Uve,drawActorsPopup:yKe,setConf:xKe,draw:Bin},styles:fin,init:({wrap:i})=>{dKe.setWrap(i)}}},Symbol.toStringTag,{value:"Module"}));var Vve=function(){var i=function(mo,Tr,On,Rn){for(On=On||{},Rn=mo.length;Rn--;On[mo[Rn]]=Tr);return On},a=[1,17],u=[1,18],d=[1,19],p=[1,39],v=[1,40],b=[1,25],y=[1,23],E=[1,24],_=[1,31],A=[1,32],P=[1,33],R=[1,34],B=[1,35],j=[1,36],W=[1,26],ee=[1,27],ie=[1,28],oe=[1,29],be=[1,43],ge=[1,30],ae=[1,42],ne=[1,44],se=[1,41],de=[1,45],X=[1,9],pe=[1,8,9],G=[1,56],xe=[1,57],U=[1,58],Be=[1,59],Pe=[1,60],je=[1,61],Ie=[1,62],Se=[1,8,9,39],Ce=[1,74],ke=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],Ke=[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],zt=[13,74,80,95,97,98],Ne=[13,64,65,74,80,95,97,98],pn=[13,59,60,61,62,63,74,80,95,97,98],Tt=[1,93],Et=[1,110],Wt=[1,108],un=[1,102],yt=[1,103],Bt=[1,104],Ze=[1,105],Dt=[1,106],kt=[1,107],Nn=[1,109],ht=[1,8,9,37,39,42],qr=[1,8,9,21],xt=[1,8,9,78],Ri=[1,8,9,21,73,74,78,80,81,82,83,84,85],wi={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(Tr,On,Rn,zn,Ct,gt,on){var dn=gt.length-1;switch(Ct){case 8:this.$=gt[dn-1];break;case 9:case 11:case 12:this.$=gt[dn];break;case 10:case 13:this.$=gt[dn-1]+gt[dn];break;case 14:case 15:this.$=gt[dn-1]+"~"+gt[dn]+"~";break;case 16:zn.addRelation(gt[dn]);break;case 17:gt[dn-1].title=zn.cleanupLabel(gt[dn]),zn.addRelation(gt[dn-1]);break;case 27:this.$=gt[dn].trim(),zn.setAccTitle(this.$);break;case 28:case 29:this.$=gt[dn].trim(),zn.setAccDescription(this.$);break;case 30:zn.addClassesToNamespace(gt[dn-3],gt[dn-1]);break;case 31:zn.addClassesToNamespace(gt[dn-4],gt[dn-1]);break;case 32:this.$=gt[dn],zn.addNamespace(gt[dn]);break;case 33:this.$=[gt[dn]];break;case 34:this.$=[gt[dn-1]];break;case 35:gt[dn].unshift(gt[dn-2]),this.$=gt[dn];break;case 37:zn.setCssClass(gt[dn-2],gt[dn]);break;case 38:zn.addMembers(gt[dn-3],gt[dn-1]);break;case 39:zn.setCssClass(gt[dn-5],gt[dn-3]),zn.addMembers(gt[dn-5],gt[dn-1]);break;case 40:this.$=gt[dn],zn.addClass(gt[dn]);break;case 41:this.$=gt[dn-1],zn.addClass(gt[dn-1]),zn.setClassLabel(gt[dn-1],gt[dn]);break;case 42:zn.addAnnotation(gt[dn],gt[dn-2]);break;case 43:this.$=[gt[dn]];break;case 44:gt[dn].push(gt[dn-1]),this.$=gt[dn];break;case 45:break;case 46:zn.addMember(gt[dn-1],zn.cleanupLabel(gt[dn]));break;case 47:break;case 48:break;case 49:this.$={id1:gt[dn-2],id2:gt[dn],relation:gt[dn-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:gt[dn-3],id2:gt[dn],relation:gt[dn-1],relationTitle1:gt[dn-2],relationTitle2:"none"};break;case 51:this.$={id1:gt[dn-3],id2:gt[dn],relation:gt[dn-2],relationTitle1:"none",relationTitle2:gt[dn-1]};break;case 52:this.$={id1:gt[dn-4],id2:gt[dn],relation:gt[dn-2],relationTitle1:gt[dn-3],relationTitle2:gt[dn-1]};break;case 53:zn.addNote(gt[dn],gt[dn-1]);break;case 54:zn.addNote(gt[dn]);break;case 55:zn.setDirection("TB");break;case 56:zn.setDirection("BT");break;case 57:zn.setDirection("RL");break;case 58:zn.setDirection("LR");break;case 59:this.$={type1:gt[dn-2],type2:gt[dn],lineType:gt[dn-1]};break;case 60:this.$={type1:"none",type2:gt[dn],lineType:gt[dn-1]};break;case 61:this.$={type1:gt[dn-1],type2:"none",lineType:gt[dn]};break;case 62:this.$={type1:"none",type2:"none",lineType:gt[dn]};break;case 63:this.$=zn.relationType.AGGREGATION;break;case 64:this.$=zn.relationType.EXTENSION;break;case 65:this.$=zn.relationType.COMPOSITION;break;case 66:this.$=zn.relationType.DEPENDENCY;break;case 67:this.$=zn.relationType.LOLLIPOP;break;case 68:this.$=zn.lineType.LINE;break;case 69:this.$=zn.lineType.DOTTED_LINE;break;case 70:case 76:this.$=gt[dn-2],zn.setClickEvent(gt[dn-1],gt[dn]);break;case 71:case 77:this.$=gt[dn-3],zn.setClickEvent(gt[dn-2],gt[dn-1]),zn.setTooltip(gt[dn-2],gt[dn]);break;case 72:this.$=gt[dn-2],zn.setLink(gt[dn-1],gt[dn]);break;case 73:this.$=gt[dn-3],zn.setLink(gt[dn-2],gt[dn-1],gt[dn]);break;case 74:this.$=gt[dn-3],zn.setLink(gt[dn-2],gt[dn-1]),zn.setTooltip(gt[dn-2],gt[dn]);break;case 75:this.$=gt[dn-4],zn.setLink(gt[dn-3],gt[dn-2],gt[dn]),zn.setTooltip(gt[dn-3],gt[dn-1]);break;case 78:this.$=gt[dn-3],zn.setClickEvent(gt[dn-2],gt[dn-1],gt[dn]);break;case 79:this.$=gt[dn-4],zn.setClickEvent(gt[dn-3],gt[dn-2],gt[dn-1]),zn.setTooltip(gt[dn-3],gt[dn]);break;case 80:this.$=gt[dn-3],zn.setLink(gt[dn-2],gt[dn]);break;case 81:this.$=gt[dn-4],zn.setLink(gt[dn-3],gt[dn-1],gt[dn]);break;case 82:this.$=gt[dn-4],zn.setLink(gt[dn-3],gt[dn-1]),zn.setTooltip(gt[dn-3],gt[dn]);break;case 83:this.$=gt[dn-5],zn.setLink(gt[dn-4],gt[dn-2],gt[dn]),zn.setTooltip(gt[dn-4],gt[dn-1]);break;case 84:this.$=gt[dn-2],zn.setCssStyle(gt[dn-1],gt[dn]);break;case 85:zn.setCssClass(gt[dn-1],gt[dn]);break;case 86:this.$=[gt[dn]];break;case 87:gt[dn-2].push(gt[dn]),this.$=gt[dn-2];break;case 89:this.$=gt[dn-1]+gt[dn];break}},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:a,33:u,35:d,36:21,40:p,41:22,44:v,45:b,47:y,48:E,50:_,52:A,53:P,54:R,55:B,56:j,66:W,67:ee,69:ie,73:oe,74:be,76:ge,80:ae,95:ne,97:se,98:de},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},i(X,[2,5],{8:[1,46]}),{8:[1,47]},i(pe,[2,16],{21:[1,48]}),i(pe,[2,18]),i(pe,[2,19]),i(pe,[2,20]),i(pe,[2,21]),i(pe,[2,22]),i(pe,[2,23]),i(pe,[2,24]),i(pe,[2,25]),i(pe,[2,26]),{32:[1,49]},{34:[1,50]},i(pe,[2,29]),i(pe,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:G,60:xe,61:U,62:Be,63:Pe,64:je,65:Ie}),{37:[1,63]},i(Se,[2,36],{37:[1,65],42:[1,64]}),i(pe,[2,47]),i(pe,[2,48]),{16:66,74:be,80:ae,95:ne,97:se},{16:37,17:67,18:38,74:be,80:ae,95:ne,97:se,98:de},{16:37,17:68,18:38,74:be,80:ae,95:ne,97:se,98:de},{16:37,17:69,18:38,74:be,80:ae,95:ne,97:se,98:de},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:be,80:ae,95:ne,97:se,98:de},{13:Ce,51:73},i(pe,[2,55]),i(pe,[2,56]),i(pe,[2,57]),i(pe,[2,58]),i(ke,[2,11],{16:37,18:38,17:75,19:[1,76],74:be,80:ae,95:ne,97:se,98:de}),i(ke,[2,12],{19:[1,77]}),{15:78,16:79,74:be,80:ae,95:ne,97:se},{16:37,17:80,18:38,74:be,80:ae,95:ne,97:se,98:de},i(Ke,[2,112]),i(Ke,[2,113]),i(Ke,[2,114]),i(Ke,[2,115]),i([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),i(X,[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:a,33:u,35:d,40:p,44:v,45:b,47:y,48:E,50:_,52:A,53:P,54:R,55:B,56:j,66:W,67:ee,69:ie,73:oe,74:be,76:ge,80:ae,95:ne,97:se,98:de}),{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:a,33:u,35:d,36:21,40:p,41:22,44:v,45:b,47:y,48:E,50:_,52:A,53:P,54:R,55:B,56:j,66:W,67:ee,69:ie,73:oe,74:be,76:ge,80:ae,95:ne,97:se,98:de},i(pe,[2,17]),i(pe,[2,27]),i(pe,[2,28]),{13:[1,84],16:37,17:83,18:38,74:be,80:ae,95:ne,97:se,98:de},{49:85,57:54,58:55,59:G,60:xe,61:U,62:Be,63:Pe,64:je,65:Ie},i(pe,[2,46]),{58:86,64:je,65:Ie},i(zt,[2,62],{57:87,59:G,60:xe,61:U,62:Be,63:Pe}),i(Ne,[2,63]),i(Ne,[2,64]),i(Ne,[2,65]),i(Ne,[2,66]),i(Ne,[2,67]),i(pn,[2,68]),i(pn,[2,69]),{8:[1,89],23:90,38:88,41:22,44:v},{16:91,74:be,80:ae,95:ne,97:se},{43:92,47:Tt},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:Et,73:Wt,74:un,75:99,77:100,79:101,80:yt,81:Bt,82:Ze,83:Dt,84:kt,85:Nn},{74:[1,111]},{13:Ce,51:112},i(pe,[2,54]),i(pe,[2,117]),i(ke,[2,13]),i(ke,[2,14]),i(ke,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:be,80:ae,95:ne,97:se},i(ht,[2,40],{11:114,12:[1,115]}),i(X,[2,7]),{9:[1,116]},i(qr,[2,49]),{16:37,17:117,18:38,74:be,80:ae,95:ne,97:se,98:de},{13:[1,119],16:37,17:118,18:38,74:be,80:ae,95:ne,97:se,98:de},i(zt,[2,61],{57:120,59:G,60:xe,61:U,62:Be,63:Pe}),i(zt,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:v},{8:[1,123],39:[2,33]},i(Se,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:Tt},{16:37,17:127,18:38,74:be,80:ae,95:ne,97:se,98:de},i(pe,[2,70],{13:[1,128]}),i(pe,[2,72],{13:[1,130],68:[1,129]}),i(pe,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},i(pe,[2,84],{78:[1,134]}),i(xt,[2,86],{79:135,21:Et,73:Wt,74:un,80:yt,81:Bt,82:Ze,83:Dt,84:kt,85:Nn}),i(Ri,[2,88]),i(Ri,[2,90]),i(Ri,[2,91]),i(Ri,[2,92]),i(Ri,[2,93]),i(Ri,[2,94]),i(Ri,[2,95]),i(Ri,[2,96]),i(Ri,[2,97]),i(Ri,[2,98]),i(pe,[2,85]),i(pe,[2,53]),{37:[2,10]},i(ht,[2,41]),{13:[1,136]},{1:[2,4]},i(qr,[2,51]),i(qr,[2,50]),{16:37,17:137,18:38,74:be,80:ae,95:ne,97:se,98:de},i(zt,[2,59]),i(pe,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:v},{43:140,47:Tt},i(Se,[2,38]),{39:[2,44]},i(pe,[2,42]),i(pe,[2,71]),i(pe,[2,73]),i(pe,[2,74],{68:[1,141]}),i(pe,[2,77]),i(pe,[2,78],{13:[1,142]}),i(pe,[2,80],{13:[1,144],68:[1,143]}),{21:Et,73:Wt,74:un,77:145,79:101,80:yt,81:Bt,82:Ze,83:Dt,84:kt,85:Nn},i(Ri,[2,89]),{14:[1,146]},i(qr,[2,52]),i(pe,[2,31]),{39:[2,35]},{39:[1,147]},i(pe,[2,75]),i(pe,[2,79]),i(pe,[2,81]),i(pe,[2,82],{68:[1,148]}),i(xt,[2,87],{79:135,21:Et,73:Wt,74:un,80:yt,81:Bt,82:Ze,83:Dt,84:kt,85:Nn}),i(ht,[2,8]),i(Se,[2,39]),i(pe,[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(Tr,On){if(On.recoverable)this.trace(Tr);else{var Rn=new Error(Tr);throw Rn.hash=On,Rn}},parse:function(Tr){var On=this,Rn=[0],zn=[],Ct=[null],gt=[],on=this.table,dn="",Ln=0,Io=0,Oo=2,No=1,Us=gt.slice.call(arguments,1),uo=Object.create(this.lexer),Es={yy:{}};for(var Ou in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ou)&&(Es.yy[Ou]=this.yy[Ou]);uo.setInput(Tr,Es.yy),Es.yy.lexer=uo,Es.yy.parser=this,typeof uo.yylloc>"u"&&(uo.yylloc={});var _c=uo.yylloc;gt.push(_c);var Kd=uo.options&&uo.options.ranges;typeof Es.yy.parseError=="function"?this.parseError=Es.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function qp(){var ma;return ma=zn.pop()||uo.lex()||No,typeof ma!="number"&&(ma instanceof Array&&(zn=ma,ma=zn.pop()),ma=On.symbols_[ma]||ma),ma}for(var Ul,Ac,Jc,Ya,Ba={},ha,$o,Lc,Fa;;){if(Ac=Rn[Rn.length-1],this.defaultActions[Ac]?Jc=this.defaultActions[Ac]:((Ul===null||typeof Ul>"u")&&(Ul=qp()),Jc=on[Ac]&&on[Ac][Ul]),typeof Jc>"u"||!Jc.length||!Jc[0]){var Ra="";Fa=[];for(ha in on[Ac])this.terminals_[ha]&&ha>Oo&&Fa.push("'"+this.terminals_[ha]+"'");uo.showPosition?Ra="Parse error on line "+(Ln+1)+`:
`+uo.showPosition()+`
Expecting `+Fa.join(", ")+", got '"+(this.terminals_[Ul]||Ul)+"'":Ra="Parse error on line "+(Ln+1)+": Unexpected "+(Ul==No?"end of input":"'"+(this.terminals_[Ul]||Ul)+"'"),this.parseError(Ra,{text:uo.match,token:this.terminals_[Ul]||Ul,line:uo.yylineno,loc:_c,expected:Fa})}if(Jc[0]instanceof Array&&Jc.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ac+", token: "+Ul);switch(Jc[0]){case 1:Rn.push(Ul),Ct.push(uo.yytext),gt.push(uo.yylloc),Rn.push(Jc[1]),Ul=null,Io=uo.yyleng,dn=uo.yytext,Ln=uo.yylineno,_c=uo.yylloc;break;case 2:if($o=this.productions_[Jc[1]][1],Ba.$=Ct[Ct.length-$o],Ba._$={first_line:gt[gt.length-($o||1)].first_line,last_line:gt[gt.length-1].last_line,first_column:gt[gt.length-($o||1)].first_column,last_column:gt[gt.length-1].last_column},Kd&&(Ba._$.range=[gt[gt.length-($o||1)].range[0],gt[gt.length-1].range[1]]),Ya=this.performAction.apply(Ba,[dn,Io,Ln,Es.yy,Jc[1],Ct,gt].concat(Us)),typeof Ya<"u")return Ya;$o&&(Rn=Rn.slice(0,-1*$o*2),Ct=Ct.slice(0,-1*$o),gt=gt.slice(0,-1*$o)),Rn.push(this.productions_[Jc[1]][0]),Ct.push(Ba.$),gt.push(Ba._$),Lc=on[Rn[Rn.length-2]][Rn[Rn.length-1]],Rn.push(Lc);break;case 3:return!0}}return!0}},ia=function(){var mo={EOF:1,parseError:function(On,Rn){if(this.yy.parser)this.yy.parser.parseError(On,Rn);else throw new Error(On)},setInput:function(Tr,On){return this.yy=On||this.yy||{},this._input=Tr,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 Tr=this._input[0];this.yytext+=Tr,this.yyleng++,this.offset++,this.match+=Tr,this.matched+=Tr;var On=Tr.match(/(?:\r\n?|\n).*/g);return On?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Tr},unput:function(Tr){var On=Tr.length,Rn=Tr.split(/(?:\r\n?|\n)/g);this._input=Tr+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-On),this.offset-=On;var zn=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),Rn.length-1&&(this.yylineno-=Rn.length-1);var Ct=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:Rn?(Rn.length===zn.length?this.yylloc.first_column:0)+zn[zn.length-Rn.length].length-Rn[0].length:this.yylloc.first_column-On},this.options.ranges&&(this.yylloc.range=[Ct[0],Ct[0]+this.yyleng-On]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return 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).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Tr){this.unput(this.match.slice(Tr))},pastInput:function(){var Tr=this.matched.substr(0,this.matched.length-this.match.length);return(Tr.length>20?"...":"")+Tr.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Tr=this.match;return Tr.length<20&&(Tr+=this._input.substr(0,20-Tr.length)),(Tr.substr(0,20)+(Tr.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Tr=this.pastInput(),On=new Array(Tr.length+1).join("-");return Tr+this.upcomingInput()+`
`+On+"^"},test_match:function(Tr,On){var Rn,zn,Ct;if(this.options.backtrack_lexer&&(Ct={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&&(Ct.yylloc.range=this.yylloc.range.slice(0))),zn=Tr[0].match(/(?:\r\n?|\n).*/g),zn&&(this.yylineno+=zn.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:zn?zn[zn.length-1].length-zn[zn.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Tr[0].length},this.yytext+=Tr[0],this.match+=Tr[0],this.matches=Tr,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(Tr[0].length),this.matched+=Tr[0],Rn=this.performAction.call(this,this.yy,this,On,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Rn)return Rn;if(this._backtrack){for(var gt in Ct)this[gt]=Ct[gt];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Tr,On,Rn,zn;this._more||(this.yytext="",this.match="");for(var Ct=this._currentRules(),gt=0;gt<Ct.length;gt++)if(Rn=this._input.match(this.rules[Ct[gt]]),Rn&&(!On||Rn[0].length>On[0].length)){if(On=Rn,zn=gt,this.options.backtrack_lexer){if(Tr=this.test_match(Rn,Ct[gt]),Tr!==!1)return Tr;if(this._backtrack){On=!1;continue}else return!1}else if(!this.options.flex)break}return On?(Tr=this.test_match(On,Ct[zn]),Tr!==!1?Tr:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var On=this.next();return On||this.lex()},begin:function(On){this.conditionStack.push(On)},popState:function(){var On=this.conditionStack.length-1;return On>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(On){return On=this.conditionStack.length-1-Math.abs(On||0),On>=0?this.conditionStack[On]:"INITIAL"},pushState:function(On){this.begin(On)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(On,Rn,zn,Ct){switch(zn){case 0:return 53;case 1:return 54;case 2:return 55;case 3:return 56;case 4:break;case 5: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:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 70;case 22:this.popState();break;case 23:return 71;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 73;case 28:return this.begin("namespace"),40;case 29:return this.popState(),8;case 30:break;case 31:return this.begin("namespace-body"),37;case 32:return this.popState(),39;case 33:return"EOF_IN_STRUCT";case 34:return 8;case 35:break;case 36:return"EDGE_STATE";case 37:return this.begin("class"),44;case 38:return this.popState(),8;case 39:break;case 40:return this.popState(),this.popState(),39;case 41:return this.begin("class-body"),37;case 42:return this.popState(),39;case 43:return"EOF_IN_STRUCT";case 44:return"EDGE_STATE";case 45:return"OPEN_IN_STRUCT";case 46:break;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 57:this.popState();break;case 58:return"GENERICTYPE";case 59:this.begin("generic");break;case 60:this.popState();break;case 61:return"BQUOTE_STR";case 62:this.begin("bqstring");break;case 63:return 68;case 64:return 68;case 65:return 68;case 66:return 68;case 67:return 60;case 68:return 60;case 69:return 62;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:return 84;case 84:return 84;case 85:return 85;case 86:return"EQUALS";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:return 83;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}}};return mo}();wi.lexer=ia;function Hs(){this.yy={}}return Hs.prototype=wi,wi.Parser=Hs,new Hs}();Vve.parser=Vve;const TKe=Vve,EKe=["#","+","~","-",""];class CKe{constructor(a,u){this.memberType=u,this.visibility="",this.classifier="";const d=bh(a,qt());this.parseMember(d)}getDisplayDetails(){let a=this.visibility+JF(this.id);this.memberType==="method"&&(a+=`(${JF(this.parameters.trim())})`,this.returnType&&(a+=" : "+JF(this.returnType))),a=a.trim();const u=this.parseClassifier();return{displayText:a,cssStyle:u}}parseMember(a){let u="";if(this.memberType==="method"){const d=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/,p=a.match(d);if(p){const v=p[1]?p[1].trim():"";if(EKe.includes(v)&&(this.visibility=v),this.id=p[2].trim(),this.parameters=p[3]?p[3].trim():"",u=p[4]?p[4].trim():"",this.returnType=p[5]?p[5].trim():"",u===""){const b=this.returnType.substring(this.returnType.length-1);b.match(/[$*]/)&&(u=b,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const d=a.length,p=a.substring(0,1),v=a.substring(d-1);EKe.includes(p)&&(this.visibility=p),v.match(/[$*]/)&&(u=v),this.id=a.substring(this.visibility===""?0:1,u===""?d:d-1)}this.classifier=u}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}const DJ="classId-";let Gve=[],xh={},IJ=[],SKe=0,$9={},Kve=0,tj=[];const nS=i=>oi.sanitizeText(i,qt()),rS=function(i){const a=oi.sanitizeText(i,qt());let u="",d=a;if(a.indexOf("~")>0){const p=a.split("~");d=nS(p[0]),u=nS(p[1])}return{className:d,type:u}},Uin=function(i,a){const u=oi.sanitizeText(i,qt());a&&(a=nS(a));const{className:d}=rS(u);xh[d].label=a},OJ=function(i){const a=oi.sanitizeText(i,qt()),{className:u,type:d}=rS(a);if(Object.hasOwn(xh,u))return;const p=oi.sanitizeText(u,qt());xh[p]={id:p,type:d,label:p,cssClasses:[],methods:[],members:[],annotations:[],styles:[],domId:DJ+p+"-"+SKe},SKe++},_Ke=function(i){const a=oi.sanitizeText(i,qt());if(a in xh)return xh[a].domId;throw new Error("Class not found: "+a)},Vin=function(){Gve=[],xh={},IJ=[],tj=[],tj.push(LKe),$9={},Kve=0,Rg()},Gin=function(i){return xh[i]},Kin=function(){return xh},Win=function(){return Gve},Yin=function(){return IJ},Xin=function(i){Xe.debug("Adding relation: "+JSON.stringify(i)),OJ(i.id1),OJ(i.id2),i.id1=rS(i.id1).className,i.id2=rS(i.id2).className,i.relationTitle1=oi.sanitizeText(i.relationTitle1.trim(),qt()),i.relationTitle2=oi.sanitizeText(i.relationTitle2.trim(),qt()),Gve.push(i)},Qin=function(i,a){const u=rS(i).className;xh[u].annotations.push(a)},AKe=function(i,a){OJ(i);const u=rS(i).className,d=xh[u];if(typeof a=="string"){const p=a.trim();p.startsWith("<<")&&p.endsWith(">>")?d.annotations.push(nS(p.substring(2,p.length-2))):p.indexOf(")")>0?d.methods.push(new CKe(p,"method")):p&&d.members.push(new CKe(p,"attribute"))}},Jin=function(i,a){Array.isArray(a)&&(a.reverse(),a.forEach(u=>AKe(i,u)))},Zin=function(i,a){const u={id:`note${IJ.length}`,class:a,text:i};IJ.push(u)},esn=function(i){return i.startsWith(":")&&(i=i.substring(1)),nS(i.trim())},Wve=function(i,a){i.split(",").forEach(function(u){let d=u;u[0].match(/\d/)&&(d=DJ+d),xh[d]!==void 0&&xh[d].cssClasses.push(a)})},tsn=function(i,a){i.split(",").forEach(function(u){a!==void 0&&(xh[u].tooltip=nS(a))})},nsn=function(i,a){return a?$9[a].classes[i].tooltip:xh[i].tooltip},rsn=function(i,a,u){const d=qt();i.split(",").forEach(function(p){let v=p;p[0].match(/\d/)&&(v=DJ+v),xh[v]!==void 0&&(xh[v].link=So.formatUrl(a,d),d.securityLevel==="sandbox"?xh[v].linkTarget="_top":typeof u=="string"?xh[v].linkTarget=nS(u):xh[v].linkTarget="_blank")}),Wve(i,"clickable")},isn=function(i,a,u){i.split(",").forEach(function(d){ssn(d,a,u),xh[d].haveCallback=!0}),Wve(i,"clickable")},ssn=function(i,a,u){const d=oi.sanitizeText(i,qt());if(qt().securityLevel!=="loose"||a===void 0)return;const v=d;if(xh[v]!==void 0){const b=_Ke(v);let y=[];if(typeof u=="string"){y=u.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let E=0;E<y.length;E++){let _=y[E].trim();_.charAt(0)==='"'&&_.charAt(_.length-1)==='"'&&(_=_.substr(1,_.length-2)),y[E]=_}}y.length===0&&y.push(b),tj.push(function(){const E=document.querySelector(`[id="${b}"]`);E!==null&&E.addEventListener("click",function(){So.runFunc(a,...y)},!1)})}},asn=function(i){tj.forEach(function(a){a(i)})},osn={LINE:0,DOTTED_LINE:1},csn={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},LKe=function(i){let a=Dr(".mermaidTooltip");(a._groups||a)[0][0]===null&&(a=Dr("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),Dr(i).select("svg").selectAll("g.node").on("mouseover",function(){const p=Dr(this);if(p.attr("title")===null)return;const b=this.getBoundingClientRect();a.transition().duration(200).style("opacity",".9"),a.text(p.attr("title")).style("left",window.scrollX+b.left+(b.right-b.left)/2+"px").style("top",window.scrollY+b.top-14+document.body.scrollTop+"px"),a.html(a.html().replace(/&lt;br\/&gt;/g,"<br/>")),p.classed("hover",!0)}).on("mouseout",function(){a.transition().duration(500).style("opacity",0),Dr(this).classed("hover",!1)})};tj.push(LKe);let MKe="TB";const NJ={setAccTitle:jg,getAccTitle:Mp,getAccDescription:Ip,setAccDescription:Dp,getConfig:()=>qt().class,addClass:OJ,bindFunctions:asn,clear:Vin,getClass:Gin,getClasses:Kin,getNotes:Yin,addAnnotation:Qin,addNote:Zin,getRelations:Win,addRelation:Xin,getDirection:()=>MKe,setDirection:i=>{MKe=i},addMember:AKe,addMembers:Jin,cleanupLabel:esn,lineType:osn,relationType:csn,setClickEvent:isn,setCssClass:Wve,setLink:rsn,getTooltip:nsn,setTooltip:tsn,lookUpDomId:_Ke,setDiagramTitle:pm,getDiagramTitle:Op,setClassLabel:Uin,addNamespace:function(i){$9[i]===void 0&&($9[i]={id:i,classes:{},children:{},domId:DJ+i+"-"+Kve},Kve++)},addClassesToNamespace:function(i,a){if($9[i]!==void 0)for(const u of a){const{className:d}=rS(u);xh[d].parent=i,$9[i].classes[d]=xh[d]}},getNamespace:function(i){return $9[i]},getNamespaces:function(){return $9},setCssStyle:function(i,a){const u=xh[i];if(!(!a||!u))for(const d of a)d.includes(",")?u.styles.push(...d.split(",")):u.styles.push(d)}},DKe=i=>`g.classGroup text {
fill: ${i.nodeBorder||i.classText};
stroke: none;
font-family: ${i.fontFamily};
font-size: 10px;
.title {
font-weight: bolder;
}
}
.nodeLabel, .edgeLabel {
color: ${i.classText};
}
.edgeLabel .label rect {
fill: ${i.mainBkg};
}
.label text {
fill: ${i.classText};
}
.edgeLabel .label span {
background: ${i.mainBkg};
}
.classTitle {
font-weight: bolder;
}
.node rect,
.node circle,
.node ellipse,
.node polygon,
.node path {
fill: ${i.mainBkg};
stroke: ${i.nodeBorder};
stroke-width: 1px;
}
.divider {
stroke: ${i.nodeBorder};
stroke-width: 1;
}
g.clickable {
cursor: pointer;
}
g.classGroup rect {
fill: ${i.mainBkg};
stroke: ${i.nodeBorder};
}
g.classGroup line {
stroke: ${i.nodeBorder};
stroke-width: 1;
}
.classLabel .box {
stroke: none;
stroke-width: 0;
fill: ${i.mainBkg};
opacity: 0.5;
}
.classLabel .label {
fill: ${i.nodeBorder};
font-size: 10px;
}
.relation {
stroke: ${i.lineColor};
stroke-width: 1;
fill: none;
}
.dashed-line{
stroke-dasharray: 3;
}
.dotted-line{
stroke-dasharray: 1 2;
}
#compositionStart, .composition {
fill: ${i.lineColor} !important;
stroke: ${i.lineColor} !important;
stroke-width: 1;
}
#compositionEnd, .composition {
fill: ${i.lineColor} !important;
stroke: ${i.lineColor} !important;
stroke-width: 1;
}
#dependencyStart, .dependency {
fill: ${i.lineColor} !important;
stroke: ${i.lineColor} !important;
stroke-width: 1;
}
#dependencyStart, .dependency {
fill: ${i.lineColor} !important;
stroke: ${i.lineColor} !important;
stroke-width: 1;
}
#extensionStart, .extension {
fill: transparent !important;
stroke: ${i.lineColor} !important;
stroke-width: 1;
}
#extensionEnd, .extension {
fill: transparent !important;
stroke: ${i.lineColor} !important;
stroke-width: 1;
}
#aggregationStart, .aggregation {
fill: transparent !important;
stroke: ${i.lineColor} !important;
stroke-width: 1;
}
#aggregationEnd, .aggregation {
fill: transparent !important;
stroke: ${i.lineColor} !important;
stroke-width: 1;
}
#lollipopStart, .lollipop {
fill: ${i.mainBkg} !important;
stroke: ${i.lineColor} !important;
stroke-width: 1;
}
#lollipopEnd, .lollipop {
fill: ${i.mainBkg} !important;
stroke: ${i.lineColor} !important;
stroke-width: 1;
}
.edgeTerminals {
font-size: 11px;
line-height: initial;
}
.classTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${i.textColor};
}
`;let IKe=0;const usn=function(i,a,u,d,p){const v=function(oe){switch(oe){case p.db.relationType.AGGREGATION:return"aggregation";case p.db.relationType.EXTENSION:return"extension";case p.db.relationType.COMPOSITION:return"composition";case p.db.relationType.DEPENDENCY:return"dependency";case p.db.relationType.LOLLIPOP:return"lollipop"}};a.points=a.points.filter(oe=>!Number.isNaN(oe.y));const b=a.points,y=E7().x(function(oe){return oe.x}).y(function(oe){return oe.y}).curve(VF),E=i.append("path").attr("d",y(b)).attr("id","edge"+IKe).attr("class","relation");let _="";d.arrowMarkerAbsolute&&(_=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,_=_.replace(/\(/g,"\\("),_=_.replace(/\)/g,"\\)")),u.relation.lineType==1&&E.attr("class","relation dashed-line"),u.relation.lineType==10&&E.attr("class","relation dotted-line"),u.relation.type1!=="none"&&E.attr("marker-start","url("+_+"#"+v(u.relation.type1)+"Start)"),u.relation.type2!=="none"&&E.attr("marker-end","url("+_+"#"+v(u.relation.type2)+"End)");let A,P;const R=a.points.length;let B=So.calcLabelPosition(a.points);A=B.x,P=B.y;let j,W,ee,ie;if(R%2!==0&&R>1){let oe=So.calcCardinalityPosition(u.relation.type1!=="none",a.points,a.points[0]),be=So.calcCardinalityPosition(u.relation.type2!=="none",a.points,a.points[R-1]);Xe.debug("cardinality_1_point "+JSON.stringify(oe)),Xe.debug("cardinality_2_point "+JSON.stringify(be)),j=oe.x,W=oe.y,ee=be.x,ie=be.y}if(u.title!==void 0){const oe=i.append("g").attr("class","classLabel"),be=oe.append("text").attr("class","label").attr("x",A).attr("y",P).attr("fill","red").attr("text-anchor","middle").text(u.title);window.label=be;const ge=be.node().getBBox();oe.insert("rect",":first-child").attr("class","box").attr("x",ge.x-d.padding/2).attr("y",ge.y-d.padding/2).attr("width",ge.width+d.padding).attr("height",ge.height+d.padding)}Xe.info("Rendering relation "+JSON.stringify(u)),u.relationTitle1!==void 0&&u.relationTitle1!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",j).attr("y",W).attr("fill","black").attr("font-size","6").text(u.relationTitle1),u.relationTitle2!==void 0&&u.relationTitle2!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",ee).attr("y",ie).attr("fill","black").attr("font-size","6").text(u.relationTitle2),IKe++},lsn=function(i,a,u,d){Xe.debug("Rendering class ",a,u);const p=a.id,v={id:p,label:a.id,width:0,height:0},b=i.append("g").attr("id",d.db.lookUpDomId(p)).attr("class","classGroup");let y;a.link?y=b.append("svg:a").attr("xlink:href",a.link).attr("target",a.linkTarget).append("text").attr("y",u.textHeight+u.padding).attr("x",0):y=b.append("text").attr("y",u.textHeight+u.padding).attr("x",0);let E=!0;a.annotations.forEach(function(be){const ge=y.append("tspan").text("«"+be+"»");E||ge.attr("dy",u.textHeight),E=!1});let _=OKe(a);const A=y.append("tspan").text(_).attr("class","title");E||A.attr("dy",u.textHeight);const P=y.node().getBBox().height;let R,B,j;if(a.members.length>0){R=b.append("line").attr("x1",0).attr("y1",u.padding+P+u.dividerMargin/2).attr("y2",u.padding+P+u.dividerMargin/2);const be=b.append("text").attr("x",u.padding).attr("y",P+u.dividerMargin+u.textHeight).attr("fill","white").attr("class","classText");E=!0,a.members.forEach(function(ge){NKe(be,ge,E,u),E=!1}),B=be.node().getBBox()}if(a.methods.length>0){j=b.append("line").attr("x1",0).attr("y1",u.padding+P+u.dividerMargin+B.height).attr("y2",u.padding+P+u.dividerMargin+B.height);const be=b.append("text").attr("x",u.padding).attr("y",P+2*u.dividerMargin+B.height+u.textHeight).attr("fill","white").attr("class","classText");E=!0,a.methods.forEach(function(ge){NKe(be,ge,E,u),E=!1})}const W=b.node().getBBox();var ee=" ";a.cssClasses.length>0&&(ee=ee+a.cssClasses.join(" "));const oe=b.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",W.width+2*u.padding).attr("height",W.height+u.padding+.5*u.dividerMargin).attr("class",ee).node().getBBox().width;return y.node().childNodes.forEach(function(be){be.setAttribute("x",(oe-be.getBBox().width)/2)}),a.tooltip&&y.insert("title").text(a.tooltip),R&&R.attr("x2",oe),j&&j.attr("x2",oe),v.width=oe,v.height=W.height+u.padding+.5*u.dividerMargin,v},OKe=function(i){let a=i.id;return i.type&&(a+="<"+JF(i.type)+">"),a},hsn=function(i,a,u,d){Xe.debug("Rendering note ",a,u);const p=a.id,v={id:p,text:a.text,width:0,height:0},b=i.append("g").attr("id",p).attr("class","classGroup");let y=b.append("text").attr("y",u.textHeight+u.padding).attr("x",0);const E=JSON.parse(`"${a.text}"`).split(`
`);E.forEach(function(R){Xe.debug(`Adding line: ${R}`),y.append("tspan").text(R).attr("class","title").attr("dy",u.textHeight)});const _=b.node().getBBox(),P=b.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",_.width+2*u.padding).attr("height",_.height+E.length*u.textHeight+u.padding+.5*u.dividerMargin).node().getBBox().width;return y.node().childNodes.forEach(function(R){R.setAttribute("x",(P-R.getBBox().width)/2)}),v.width=P,v.height=_.height+E.length*u.textHeight+u.padding+.5*u.dividerMargin,v},NKe=function(i,a,u,d){const{displayText:p,cssStyle:v}=a.getDisplayDetails(),b=i.append("tspan").attr("x",d.padding).text(p);v!==""&&b.attr("style",a.cssStyle),u||b.attr("dy",d.textHeight)},Yve={getClassTitleString:OKe,drawClass:lsn,drawEdge:usn,drawNote:hsn};let PJ={};const BJ=20,nj=function(i){const a=Object.entries(PJ).find(u=>u[1].label===i);if(a)return a[0]},fsn=function(i){i.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"),i.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"),i.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"),i.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"),i.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"),i.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"),i.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"),i.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")},dsn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:TKe,db:NJ,renderer:{draw:function(i,a,u,d){const p=qt().class;PJ={},Xe.info("Rendering diagram "+i);const v=qt().securityLevel;let b;v==="sandbox"&&(b=Dr("#i"+a));const y=Dr(v==="sandbox"?b.nodes()[0].contentDocument.body:"body"),E=y.select(`[id='${a}']`);fsn(E);const _=new R0({multigraph:!0});_.setGraph({isMultiGraph:!0}),_.setDefaultEdgeLabel(function(){return{}});const A=d.db.getClasses(),P=Object.keys(A);for(const oe of P){const be=A[oe],ge=Yve.drawClass(E,be,p,d);PJ[ge.id]=ge,_.setNode(ge.id,ge),Xe.info("Org height: "+ge.height)}d.db.getRelations().forEach(function(oe){Xe.info("tjoho"+nj(oe.id1)+nj(oe.id2)+JSON.stringify(oe)),_.setEdge(nj(oe.id1),nj(oe.id2),{relation:oe},oe.title||"DEFAULT")}),d.db.getNotes().forEach(function(oe){Xe.debug(`Adding note: ${JSON.stringify(oe)}`);const be=Yve.drawNote(E,oe,p,d);PJ[be.id]=be,_.setNode(be.id,be),oe.class&&oe.class in A&&_.setEdge(oe.id,nj(oe.class),{relation:{id1:oe.id,id2:oe.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),XD(_),_.nodes().forEach(function(oe){oe!==void 0&&_.node(oe)!==void 0&&(Xe.debug("Node "+oe+": "+JSON.stringify(_.node(oe))),y.select("#"+(d.db.lookUpDomId(oe)||oe)).attr("transform","translate("+(_.node(oe).x-_.node(oe).width/2)+","+(_.node(oe).y-_.node(oe).height/2)+" )"))}),_.edges().forEach(function(oe){oe!==void 0&&_.edge(oe)!==void 0&&(Xe.debug("Edge "+oe.v+" -> "+oe.w+": "+JSON.stringify(_.edge(oe))),Yve.drawEdge(E,_.edge(oe),_.edge(oe).relation,p,d))});const j=E.node().getBBox(),W=j.width+BJ*2,ee=j.height+BJ*2;Fg(E,ee,W,p.useMaxWidth);const ie=`${j.x-BJ} ${j.y-BJ} ${W} ${ee}`;Xe.debug(`viewBox ${ie}`),E.attr("viewBox",ie)}},styles:DKe,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,NJ.clear()}}},Symbol.toStringTag,{value:"Module"})),Xve=i=>oi.sanitizeText(i,qt());let Qve={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const gsn=function(i,a,u,d){const p=Object.keys(i);Xe.info("keys:",p),Xe.info(i),p.forEach(function(v){var _,A;const b=i[v],E={shape:"rect",id:b.id,domId:b.domId,labelText:Xve(b.id),labelStyle:"",style:"fill: none; stroke: black",padding:((_=qt().flowchart)==null?void 0:_.padding)??((A=qt().class)==null?void 0:A.padding)};a.setNode(b.id,E),PKe(b.classes,a,u,d,b.id),Xe.info("setNode",E)})},PKe=function(i,a,u,d,p){const v=Object.keys(i);Xe.info("keys:",v),Xe.info(i),v.filter(b=>i[b].parent==p).forEach(function(b){var j,W;const y=i[b],E=y.cssClasses.join(" "),_=gm(y.styles),A=y.label??y.id,P=0,R="class_box",B={labelStyle:_.labelStyle,shape:R,labelText:Xve(A),classData:y,rx:P,ry:P,class:E,style:_.style,id:y.id,domId:y.domId,tooltip:d.db.getTooltip(y.id,p)||"",haveCallback:y.haveCallback,link:y.link,width:y.type==="group"?500:void 0,type:y.type,padding:((j=qt().flowchart)==null?void 0:j.padding)??((W=qt().class)==null?void 0:W.padding)};a.setNode(y.id,B),p&&a.setParent(y.id,p),Xe.info("setNode",B)})},psn=function(i,a,u,d){Xe.info(i),i.forEach(function(p,v){var W,ee;const b=p,y="",E={labelStyle:"",style:""},_=b.text,A=0,P="note",R={labelStyle:E.labelStyle,shape:P,labelText:Xve(_),noteData:b,rx:A,ry:A,class:y,style:E.style,id:b.id,domId:b.id,tooltip:"",type:"note",padding:((W=qt().flowchart)==null?void 0:W.padding)??((ee=qt().class)==null?void 0:ee.padding)};if(a.setNode(b.id,R),Xe.info("setNode",R),!b.class||!(b.class in d))return;const B=u+v,j={id:`edgeNote${B}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:qv(Qve.curve,Sp)};a.setEdge(b.id,b.class,j,B)})},bsn=function(i,a){const u=qt().flowchart;let d=0;i.forEach(function(p){var b;d++;const v={classes:"relation",pattern:p.relation.lineType==1?"dashed":"solid",id:`id_${p.id1}_${p.id2}_${d}`,arrowhead:p.type==="arrow_open"?"none":"normal",startLabelRight:p.relationTitle1==="none"?"":p.relationTitle1,endLabelLeft:p.relationTitle2==="none"?"":p.relationTitle2,arrowTypeStart:BKe(p.relation.type1),arrowTypeEnd:BKe(p.relation.type2),style:"fill:none",labelStyle:"",curve:qv(u==null?void 0:u.curve,Sp)};if(Xe.info(v,p),p.style!==void 0){const y=gm(p.style);v.style=y.style,v.labelStyle=y.labelStyle}p.text=p.title,p.text===void 0?p.style!==void 0&&(v.arrowheadStyle="fill: #333"):(v.arrowheadStyle="fill: #333",v.labelpos="c",((b=qt().flowchart)==null?void 0:b.htmlLabels)??qt().htmlLabels?(v.labelType="html",v.label='<span class="edgeLabel">'+p.text+"</span>"):(v.labelType="text",v.label=p.text.replace(oi.lineBreakRegex,`
`),p.style===void 0&&(v.style=v.style||"stroke: #333; stroke-width: 1.5px;fill:none"),v.labelStyle=v.labelStyle.replace("color:","fill:"))),a.setEdge(p.id1,p.id2,v,d)})},msn=function(i){Qve={...Qve,...i}},vsn=async function(i,a,u,d){Xe.info("Drawing class - ",a);const p=qt().flowchart??qt().class,v=qt().securityLevel;Xe.info("config:",p);const b=(p==null?void 0:p.nodeSpacing)??50,y=(p==null?void 0:p.rankSpacing)??50,E=new R0({multigraph:!0,compound:!0}).setGraph({rankdir:d.db.getDirection(),nodesep:b,ranksep:y,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),_=d.db.getNamespaces(),A=d.db.getClasses(),P=d.db.getRelations(),R=d.db.getNotes();Xe.info(P),gsn(_,E,a,d),PKe(A,E,a,d),bsn(P,E),psn(R,E,P.length+1,A);let B;v==="sandbox"&&(B=Dr("#i"+a));const j=Dr(v==="sandbox"?B.nodes()[0].contentDocument.body:"body"),W=j.select(`[id="${a}"]`),ee=j.select("#"+a+" g");if(await ave(ee,E,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",a),So.insertTitle(W,"classTitleText",(p==null?void 0:p.titleTopMargin)??5,d.db.getDiagramTitle()),x9(E,W,p==null?void 0:p.diagramPadding,p==null?void 0:p.useMaxWidth),!(p!=null&&p.htmlLabels)){const ie=v==="sandbox"?B.nodes()[0].contentDocument:document,oe=ie.querySelectorAll('[id="'+a+'"] .edgeLabel .label');for(const be of oe){const ge=be.getBBox(),ae=ie.createElementNS("http://www.w3.org/2000/svg","rect");ae.setAttribute("rx",0),ae.setAttribute("ry",0),ae.setAttribute("width",ge.width),ae.setAttribute("height",ge.height),be.insertBefore(ae,be.firstChild)}}};function BKe(i){let a;switch(i){case 0:a="aggregation";break;case 1:a="extension";break;case 2:a="composition";break;case 3:a="dependency";break;case 4:a="lollipop";break;default:a="none"}return a}const wsn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:TKe,db:NJ,renderer:{setConf:msn,draw:vsn},styles:DKe,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,NJ.clear()}}},Symbol.toStringTag,{value:"Module"}));var Jve=function(){var i=function(Ie,Se,Ce,ke){for(Ce=Ce||{},ke=Ie.length;ke--;Ce[Ie[ke]]=Se);return Ce},a=[1,2],u=[1,3],d=[1,4],p=[2,4],v=[1,9],b=[1,11],y=[1,15],E=[1,16],_=[1,17],A=[1,18],P=[1,30],R=[1,19],B=[1,20],j=[1,21],W=[1,22],ee=[1,23],ie=[1,25],oe=[1,26],be=[1,27],ge=[1,28],ae=[1,29],ne=[1,32],se=[1,33],de=[1,34],X=[1,35],pe=[1,31],G=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],xe=[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],U=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],Be={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,"-->":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:"-->",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(Se,Ce,ke,Ke,zt,Ne,pn){var Tt=Ne.length-1;switch(zt){case 3:return Ke.setRootDoc(Ne[Tt]),Ne[Tt];case 4:this.$=[];break;case 5:Ne[Tt]!="nl"&&(Ne[Tt-1].push(Ne[Tt]),this.$=Ne[Tt-1]);break;case 6:case 7:this.$=Ne[Tt];break;case 8:this.$="nl";break;case 11:this.$=Ne[Tt];break;case 12:const yt=Ne[Tt-1];yt.description=Ke.trimColon(Ne[Tt]),this.$=yt;break;case 13:this.$={stmt:"relation",state1:Ne[Tt-2],state2:Ne[Tt]};break;case 14:const Bt=Ke.trimColon(Ne[Tt]);this.$={stmt:"relation",state1:Ne[Tt-3],state2:Ne[Tt-1],description:Bt};break;case 18:this.$={stmt:"state",id:Ne[Tt-3],type:"default",description:"",doc:Ne[Tt-1]};break;case 19:var Et=Ne[Tt],Wt=Ne[Tt-2].trim();if(Ne[Tt].match(":")){var un=Ne[Tt].split(":");Et=un[0],Wt=[Wt,un[1]]}this.$={stmt:"state",id:Et,type:"default",description:Wt};break;case 20:this.$={stmt:"state",id:Ne[Tt-3],type:"default",description:Ne[Tt-5],doc:Ne[Tt-1]};break;case 21:this.$={stmt:"state",id:Ne[Tt],type:"fork"};break;case 22:this.$={stmt:"state",id:Ne[Tt],type:"join"};break;case 23:this.$={stmt:"state",id:Ne[Tt],type:"choice"};break;case 24:this.$={stmt:"state",id:Ke.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:Ne[Tt-1].trim(),note:{position:Ne[Tt-2].trim(),text:Ne[Tt].trim()}};break;case 28:this.$=Ne[Tt].trim(),Ke.setAccTitle(this.$);break;case 29:case 30:this.$=Ne[Tt].trim(),Ke.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:Ne[Tt-1].trim(),classes:Ne[Tt].trim()};break;case 33:this.$={stmt:"applyClass",id:Ne[Tt-1].trim(),styleClass:Ne[Tt].trim()};break;case 34:Ke.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:Ke.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:Ke.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:Ke.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:Ne[Tt].trim(),type:"default",description:""};break;case 42:this.$={stmt:"state",id:Ne[Tt-2].trim(),classes:[Ne[Tt].trim()],type:"default",description:""};break;case 43:this.$={stmt:"state",id:Ne[Tt-2].trim(),classes:[Ne[Tt].trim()],type:"default",description:""};break}},table:[{3:1,4:a,5:u,6:d},{1:[3]},{3:5,4:a,5:u,6:d},{3:6,4:a,5:u,6:d},i([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],p,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:y,16:E,18:_,21:A,23:P,24:R,25:B,26:j,27:W,28:ee,31:24,32:ie,34:oe,36:be,37:ge,41:ae,44:ne,45:se,46:de,47:X,50:pe},i(G,[2,5]),{9:36,10:12,11:13,12:14,15:y,16:E,18:_,21:A,23:P,24:R,25:B,26:j,27:W,28:ee,31:24,32:ie,34:oe,36:be,37:ge,41:ae,44:ne,45:se,46:de,47:X,50:pe},i(G,[2,7]),i(G,[2,8]),i(G,[2,9]),i(G,[2,10]),i(G,[2,11],{13:[1,37],14:[1,38]}),i(G,[2,15]),{17:[1,39]},i(G,[2,17],{19:[1,40]}),{22:[1,41]},i(G,[2,21]),i(G,[2,22]),i(G,[2,23]),i(G,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},i(G,[2,27]),{33:[1,46]},{35:[1,47]},i(G,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},i(xe,[2,40],{51:[1,51]}),i(xe,[2,41],{51:[1,52]}),i(G,[2,34]),i(G,[2,35]),i(G,[2,36]),i(G,[2,37]),i(G,[2,6]),i(G,[2,12]),{12:53,23:P,50:pe},i(G,[2,16]),i(U,p,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},i(G,[2,28]),i(G,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},i(G,[2,13],{13:[1,63]}),{4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:y,16:E,18:_,20:[1,64],21:A,23:P,24:R,25:B,26:j,27:W,28:ee,31:24,32:ie,34:oe,36:be,37:ge,41:ae,44:ne,45:se,46:de,47:X,50:pe},i(G,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},i(G,[2,31]),i(G,[2,32]),i(G,[2,33]),i(xe,[2,42]),i(xe,[2,43]),i(G,[2,14]),i(G,[2,18]),i(U,p,{7:68}),i(G,[2,25]),i(G,[2,26]),{4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:y,16:E,18:_,20:[1,69],21:A,23:P,24:R,25:B,26:j,27:W,28:ee,31:24,32:ie,34:oe,36:be,37:ge,41:ae,44:ne,45:se,46:de,47:X,50:pe},i(G,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(Se,Ce){if(Ce.recoverable)this.trace(Se);else{var ke=new Error(Se);throw ke.hash=Ce,ke}},parse:function(Se){var Ce=this,ke=[0],Ke=[],zt=[null],Ne=[],pn=this.table,Tt="",Et=0,Wt=0,un=2,yt=1,Bt=Ne.slice.call(arguments,1),Ze=Object.create(this.lexer),Dt={yy:{}};for(var kt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,kt)&&(Dt.yy[kt]=this.yy[kt]);Ze.setInput(Se,Dt.yy),Dt.yy.lexer=Ze,Dt.yy.parser=this,typeof Ze.yylloc>"u"&&(Ze.yylloc={});var Nn=Ze.yylloc;Ne.push(Nn);var ht=Ze.options&&Ze.options.ranges;typeof Dt.yy.parseError=="function"?this.parseError=Dt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function qr(){var Ct;return Ct=Ke.pop()||Ze.lex()||yt,typeof Ct!="number"&&(Ct instanceof Array&&(Ke=Ct,Ct=Ke.pop()),Ct=Ce.symbols_[Ct]||Ct),Ct}for(var xt,Ri,wi,ia,Hs={},mo,Tr,On,Rn;;){if(Ri=ke[ke.length-1],this.defaultActions[Ri]?wi=this.defaultActions[Ri]:((xt===null||typeof xt>"u")&&(xt=qr()),wi=pn[Ri]&&pn[Ri][xt]),typeof wi>"u"||!wi.length||!wi[0]){var zn="";Rn=[];for(mo in pn[Ri])this.terminals_[mo]&&mo>un&&Rn.push("'"+this.terminals_[mo]+"'");Ze.showPosition?zn="Parse error on line "+(Et+1)+`:
`+Ze.showPosition()+`
Expecting `+Rn.join(", ")+", got '"+(this.terminals_[xt]||xt)+"'":zn="Parse error on line "+(Et+1)+": Unexpected "+(xt==yt?"end of input":"'"+(this.terminals_[xt]||xt)+"'"),this.parseError(zn,{text:Ze.match,token:this.terminals_[xt]||xt,line:Ze.yylineno,loc:Nn,expected:Rn})}if(wi[0]instanceof Array&&wi.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ri+", token: "+xt);switch(wi[0]){case 1:ke.push(xt),zt.push(Ze.yytext),Ne.push(Ze.yylloc),ke.push(wi[1]),xt=null,Wt=Ze.yyleng,Tt=Ze.yytext,Et=Ze.yylineno,Nn=Ze.yylloc;break;case 2:if(Tr=this.productions_[wi[1]][1],Hs.$=zt[zt.length-Tr],Hs._$={first_line:Ne[Ne.length-(Tr||1)].first_line,last_line:Ne[Ne.length-1].last_line,first_column:Ne[Ne.length-(Tr||1)].first_column,last_column:Ne[Ne.length-1].last_column},ht&&(Hs._$.range=[Ne[Ne.length-(Tr||1)].range[0],Ne[Ne.length-1].range[1]]),ia=this.performAction.apply(Hs,[Tt,Wt,Et,Dt.yy,wi[1],zt,Ne].concat(Bt)),typeof ia<"u")return ia;Tr&&(ke=ke.slice(0,-1*Tr*2),zt=zt.slice(0,-1*Tr),Ne=Ne.slice(0,-1*Tr)),ke.push(this.productions_[wi[1]][0]),zt.push(Hs.$),Ne.push(Hs._$),On=pn[ke[ke.length-2]][ke[ke.length-1]],ke.push(On);break;case 3:return!0}}return!0}},Pe=function(){var Ie={EOF:1,parseError:function(Ce,ke){if(this.yy.parser)this.yy.parser.parseError(Ce,ke);else throw new Error(Ce)},setInput:function(Se,Ce){return this.yy=Ce||this.yy||{},this._input=Se,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 Se=this._input[0];this.yytext+=Se,this.yyleng++,this.offset++,this.match+=Se,this.matched+=Se;var Ce=Se.match(/(?:\r\n?|\n).*/g);return Ce?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Se},unput:function(Se){var Ce=Se.length,ke=Se.split(/(?:\r\n?|\n)/g);this._input=Se+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ce),this.offset-=Ce;var Ke=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),ke.length-1&&(this.yylineno-=ke.length-1);var zt=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:ke?(ke.length===Ke.length?this.yylloc.first_column:0)+Ke[Ke.length-ke.length].length-ke[0].length:this.yylloc.first_column-Ce},this.options.ranges&&(this.yylloc.range=[zt[0],zt[0]+this.yyleng-Ce]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return 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).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(Se){this.unput(this.match.slice(Se))},pastInput:function(){var Se=this.matched.substr(0,this.matched.length-this.match.length);return(Se.length>20?"...":"")+Se.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Se=this.match;return Se.length<20&&(Se+=this._input.substr(0,20-Se.length)),(Se.substr(0,20)+(Se.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Se=this.pastInput(),Ce=new Array(Se.length+1).join("-");return Se+this.upcomingInput()+`
`+Ce+"^"},test_match:function(Se,Ce){var ke,Ke,zt;if(this.options.backtrack_lexer&&(zt={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&&(zt.yylloc.range=this.yylloc.range.slice(0))),Ke=Se[0].match(/(?:\r\n?|\n).*/g),Ke&&(this.yylineno+=Ke.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ke?Ke[Ke.length-1].length-Ke[Ke.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Se[0].length},this.yytext+=Se[0],this.match+=Se[0],this.matches=Se,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(Se[0].length),this.matched+=Se[0],ke=this.performAction.call(this,this.yy,this,Ce,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ke)return ke;if(this._backtrack){for(var Ne in zt)this[Ne]=zt[Ne];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Se,Ce,ke,Ke;this._more||(this.yytext="",this.match="");for(var zt=this._currentRules(),Ne=0;Ne<zt.length;Ne++)if(ke=this._input.match(this.rules[zt[Ne]]),ke&&(!Ce||ke[0].length>Ce[0].length)){if(Ce=ke,Ke=Ne,this.options.backtrack_lexer){if(Se=this.test_match(ke,zt[Ne]),Se!==!1)return Se;if(this._backtrack){Ce=!1;continue}else return!1}else if(!this.options.flex)break}return Ce?(Se=this.test_match(Ce,zt[Ke]),Se!==!1?Se:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var Ce=this.next();return Ce||this.lex()},begin:function(Ce){this.conditionStack.push(Ce)},popState:function(){var Ce=this.conditionStack.length-1;return Ce>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(Ce){return Ce=this.conditionStack.length-1-Math.abs(Ce||0),Ce>=0?this.conditionStack[Ce]:"INITIAL"},pushState:function(Ce){this.begin(Ce)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(Ce,ke,Ke,zt){switch(Ke){case 0:return 40;case 1:return 44;case 2:return 45;case 3:return 46;case 4:return 47;case 5:break;case 6:break;case 7:return 5;case 8:break;case 9:break;case 10:break;case 11:break;case 12:return this.pushState("SCALE"),16;case 13:return 17;case 14: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 20:this.popState();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 29:return this.pushState("SCALE"),16;case 30:return 17;case 31:this.popState();break;case 32:this.pushState("STATE");break;case 33:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),24;case 34:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),25;case 35:return this.popState(),ke.yytext=ke.yytext.slice(0,-10).trim(),26;case 36:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),24;case 37:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),25;case 38:return this.popState(),ke.yytext=ke.yytext.slice(0,-10).trim(),26;case 39:return 44;case 40:return 45;case 41:return 46;case 42:return 47;case 43:this.pushState("STATE_STRING");break;case 44:return this.pushState("STATE_ID"),"AS";case 45:return this.popState(),"ID";case 46:this.popState();break;case 47:return"STATE_DESCR";case 48:return 18;case 49:this.popState();break;case 50:return this.popState(),this.pushState("struct"),19;case 51:break;case 52:return this.popState(),20;case 53:break;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 59:break;case 60:return"NOTE_TEXT";case 61:return this.popState(),"ID";case 62:return this.popState(),this.pushState("NOTE_TEXT"),23;case 63:return this.popState(),ke.yytext=ke.yytext.substr(2).trim(),30;case 64:return this.popState(),ke.yytext=ke.yytext.slice(0,-8).trim(),30;case 65:return 6;case 66:return 6;case 67:return 15;case 68:return 50;case 69:return 23;case 70:return ke.yytext=ke.yytext.trim(),13;case 71:return 14;case 72:return 27;case 73:return 51;case 74:return 5;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,/^(?:.*<<fork>>)/i,/^(?:.*<<join>>)/i,/^(?:.*<<choice>>)/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}}};return Ie}();Be.lexer=Pe;function je(){this.yy={}}return je.prototype=Be,Be.Parser=je,new je}();Jve.parser=Jve;const FKe=Jve,ysn="LR",xsn="TB",FJ="state",Zve="relation",ksn="classDef",Tsn="applyClass",rj="default",RKe="divider",ewe="[*]",jKe="start",$Ke=ewe,zKe="end",qKe="color",HKe="fill",Esn="bgFill",Csn=",";function UKe(){return{}}let VKe=ysn,RJ=[],ij=UKe();const GKe=()=>({relations:[],states:{},documents:{}});let jJ={root:GKe()},Hg=jJ.root,sj=0,KKe=0;const Ssn={LINE:0,DOTTED_LINE:1},_sn={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},$J=i=>JSON.parse(JSON.stringify(i)),Asn=i=>{Xe.info("Setting root doc",i),RJ=i},Lsn=()=>RJ,zJ=(i,a,u)=>{if(a.stmt===Zve)zJ(i,a.state1,!0),zJ(i,a.state2,!1);else if(a.stmt===FJ&&(a.id==="[*]"?(a.id=u?i.id+"_start":i.id+"_end",a.start=u):a.id=a.id.trim()),a.doc){const d=[];let p=[],v;for(v=0;v<a.doc.length;v++)if(a.doc[v].type===RKe){const b=$J(a.doc[v]);b.doc=$J(p),d.push(b),p=[]}else p.push(a.doc[v]);if(d.length>0&&p.length>0){const b={stmt:FJ,id:jje(),type:"divider",doc:$J(p)};d.push($J(b)),a.doc=d}a.doc.forEach(b=>zJ(a,b,!0))}},Msn=()=>(zJ({id:"root"},{id:"root",doc:RJ},!0),{id:"root",doc:RJ}),Dsn=i=>{let a;i.doc?a=i.doc:a=i,Xe.info(a),WKe(!0),Xe.info("Extract",a),a.forEach(u=>{switch(u.stmt){case FJ:iS(u.id.trim(),u.type,u.doc,u.description,u.note,u.classes,u.styles,u.textStyles);break;case Zve:YKe(u.state1,u.state2,u.description);break;case ksn:XKe(u.id.trim(),u.classes);break;case Tsn:iwe(u.id.trim(),u.styleClass);break}})},iS=function(i,a=rj,u=null,d=null,p=null,v=null,b=null,y=null){const E=i==null?void 0:i.trim();Hg.states[E]===void 0?(Xe.info("Adding state ",E,d),Hg.states[E]={id:E,descriptions:[],type:a,doc:u,note:p,classes:[],styles:[],textStyles:[]}):(Hg.states[E].doc||(Hg.states[E].doc=u),Hg.states[E].type||(Hg.states[E].type=a)),d&&(Xe.info("Setting state description",E,d),typeof d=="string"&&rwe(E,d.trim()),typeof d=="object"&&d.forEach(_=>rwe(E,_.trim()))),p&&(Hg.states[E].note=p,Hg.states[E].note.text=oi.sanitizeText(Hg.states[E].note.text,qt())),v&&(Xe.info("Setting state classes",E,v),(typeof v=="string"?[v]:v).forEach(A=>iwe(E,A.trim()))),b&&(Xe.info("Setting state styles",E,b),(typeof b=="string"?[b]:b).forEach(A=>zsn(E,A.trim()))),y&&(Xe.info("Setting state styles",E,b),(typeof y=="string"?[y]:y).forEach(A=>qsn(E,A.trim())))},WKe=function(i){jJ={root:GKe()},Hg=jJ.root,sj=0,ij=UKe(),i||Rg()},aj=function(i){return Hg.states[i]},Isn=function(){return Hg.states},Osn=function(){Xe.info("Documents = ",jJ)},Nsn=function(){return Hg.relations};function twe(i=""){let a=i;return i===ewe&&(sj++,a=`${jKe}${sj}`),a}function nwe(i="",a=rj){return i===ewe?jKe:a}function Psn(i=""){let a=i;return i===$Ke&&(sj++,a=`${zKe}${sj}`),a}function Bsn(i="",a=rj){return i===$Ke?zKe:a}function Fsn(i,a,u){let d=twe(i.id.trim()),p=nwe(i.id.trim(),i.type),v=twe(a.id.trim()),b=nwe(a.id.trim(),a.type);iS(d,p,i.doc,i.description,i.note,i.classes,i.styles,i.textStyles),iS(v,b,a.doc,a.description,a.note,a.classes,a.styles,a.textStyles),Hg.relations.push({id1:d,id2:v,relationTitle:oi.sanitizeText(u,qt())})}const YKe=function(i,a,u){if(typeof i=="object")Fsn(i,a,u);else{const d=twe(i.trim()),p=nwe(i),v=Psn(a.trim()),b=Bsn(a);iS(d,p),iS(v,b),Hg.relations.push({id1:d,id2:v,title:oi.sanitizeText(u,qt())})}},rwe=function(i,a){const u=Hg.states[i],d=a.startsWith(":")?a.replace(":","").trim():a;u.descriptions.push(oi.sanitizeText(d,qt()))},Rsn=function(i){return i.substring(0,1)===":"?i.substr(2).trim():i.trim()},jsn=()=>(KKe++,"divider-id-"+KKe),XKe=function(i,a=""){ij[i]===void 0&&(ij[i]={id:i,styles:[],textStyles:[]});const u=ij[i];a!=null&&a.split(Csn).forEach(d=>{const p=d.replace(/([^;]*);/,"$1").trim();if(d.match(qKe)){const b=p.replace(HKe,Esn).replace(qKe,HKe);u.textStyles.push(b)}u.styles.push(p)})},$sn=function(){return ij},iwe=function(i,a){i.split(",").forEach(function(u){let d=aj(u);if(d===void 0){const p=u.trim();iS(p),d=aj(p)}d.classes.push(a)})},zsn=function(i,a){const u=aj(i);u!==void 0&&u.textStyles.push(a)},qsn=function(i,a){const u=aj(i);u!==void 0&&u.textStyles.push(a)},K7={getConfig:()=>qt().state,addState:iS,clear:WKe,getState:aj,getStates:Isn,getRelations:Nsn,getClasses:$sn,getDirection:()=>VKe,addRelation:YKe,getDividerId:jsn,setDirection:i=>{VKe=i},cleanupLabel:Rsn,lineType:Ssn,relationType:_sn,logDocuments:Osn,getRootDoc:Lsn,setRootDoc:Asn,getRootDocV2:Msn,extract:Dsn,trimColon:i=>i&&i[0]===":"?i.substr(1).trim():i.trim(),getAccTitle:Mp,setAccTitle:jg,getAccDescription:Ip,setAccDescription:Dp,addStyleClass:XKe,setCssClass:iwe,addDescription:rwe,setDiagramTitle:pm,getDiagramTitle:Op},QKe=i=>`
defs #statediagram-barbEnd {
fill: ${i.transitionColor};
stroke: ${i.transitionColor};
}
g.stateGroup text {
fill: ${i.nodeBorder};
stroke: none;
font-size: 10px;
}
g.stateGroup text {
fill: ${i.textColor};
stroke: none;
font-size: 10px;
}
g.stateGroup .state-title {
font-weight: bolder;
fill: ${i.stateLabelColor};
}
g.stateGroup rect {
fill: ${i.mainBkg};
stroke: ${i.nodeBorder};
}
g.stateGroup line {
stroke: ${i.lineColor};
stroke-width: 1;
}
.transition {
stroke: ${i.transitionColor};
stroke-width: 1;
fill: none;
}
.stateGroup .composit {
fill: ${i.background};
border-bottom: 1px
}
.stateGroup .alt-composit {
fill: #e0e0e0;
border-bottom: 1px
}
.state-note {
stroke: ${i.noteBorderColor};
fill: ${i.noteBkgColor};
text {
fill: ${i.noteTextColor};
stroke: none;
font-size: 10px;
}
}
.stateLabel .box {
stroke: none;
stroke-width: 0;
fill: ${i.mainBkg};
opacity: 0.5;
}
.edgeLabel .label rect {
fill: ${i.labelBackgroundColor};
opacity: 0.5;
}
.edgeLabel .label text {
fill: ${i.transitionLabelColor||i.tertiaryTextColor};
}
.label div .edgeLabel {
color: ${i.transitionLabelColor||i.tertiaryTextColor};
}
.stateLabel text {
fill: ${i.stateLabelColor};
font-size: 10px;
font-weight: bold;
}
.node circle.state-start {
fill: ${i.specialStateColor};
stroke: ${i.specialStateColor};
}
.node .fork-join {
fill: ${i.specialStateColor};
stroke: ${i.specialStateColor};
}
.node circle.state-end {
fill: ${i.innerEndBackground};
stroke: ${i.background};
stroke-width: 1.5
}
.end-state-inner {
fill: ${i.compositeBackground||i.background};
// stroke: ${i.background};
stroke-width: 1.5
}
.node rect {
fill: ${i.stateBkg||i.mainBkg};
stroke: ${i.stateBorder||i.nodeBorder};
stroke-width: 1px;
}
.node polygon {
fill: ${i.mainBkg};
stroke: ${i.stateBorder||i.nodeBorder};;
stroke-width: 1px;
}
#statediagram-barbEnd {
fill: ${i.lineColor};
}
.statediagram-cluster rect {
fill: ${i.compositeTitleBackground};
stroke: ${i.stateBorder||i.nodeBorder};
stroke-width: 1px;
}
.cluster-label, .nodeLabel {
color: ${i.stateLabelColor};
}
.statediagram-cluster rect.outer {
rx: 5px;
ry: 5px;
}
.statediagram-state .divider {
stroke: ${i.stateBorder||i.nodeBorder};
}
.statediagram-state .title-state {
rx: 5px;
ry: 5px;
}
.statediagram-cluster.statediagram-cluster .inner {
fill: ${i.compositeBackground||i.background};
}
.statediagram-cluster.statediagram-cluster-alt .inner {
fill: ${i.altBackground?i.altBackground:"#efefef"};
}
.statediagram-cluster .inner {
rx:0;
ry:0;
}
.statediagram-state rect.basic {
rx: 5px;
ry: 5px;
}
.statediagram-state rect.divider {
stroke-dasharray: 10,10;
fill: ${i.altBackground?i.altBackground:"#efefef"};
}
.note-edge {
stroke-dasharray: 5;
}
.statediagram-note rect {
fill: ${i.noteBkgColor};
stroke: ${i.noteBorderColor};
stroke-width: 1px;
rx: 0;
ry: 0;
}
.statediagram-note rect {
fill: ${i.noteBkgColor};
stroke: ${i.noteBorderColor};
stroke-width: 1px;
rx: 0;
ry: 0;
}
.statediagram-note text {
fill: ${i.noteTextColor};
}
.statediagram-note .nodeLabel {
color: ${i.noteTextColor};
}
.statediagram .edgeLabel {
color: red; // ${i.noteTextColor};
}
#dependencyStart, #dependencyEnd {
fill: ${i.lineColor};
stroke: ${i.lineColor};
stroke-width: 1;
}
.statediagramTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${i.textColor};
}
`,swe={},Hsn=(i,a)=>{swe[i]=a},Usn=i=>swe[i],JKe=()=>Object.keys(swe),Vsn={get:Usn,set:Hsn,keys:JKe,size:()=>JKe().length},Gsn=i=>i.append("circle").attr("class","start-state").attr("r",qt().state.sizeUnit).attr("cx",qt().state.padding+qt().state.sizeUnit).attr("cy",qt().state.padding+qt().state.sizeUnit),Ksn=i=>i.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",qt().state.textHeight).attr("class","divider").attr("x2",qt().state.textHeight*2).attr("y1",0).attr("y2",0),Wsn=(i,a)=>{const u=i.append("text").attr("x",2*qt().state.padding).attr("y",qt().state.textHeight+2*qt().state.padding).attr("font-size",qt().state.fontSize).attr("class","state-title").text(a.id),d=u.node().getBBox();return i.insert("rect",":first-child").attr("x",qt().state.padding).attr("y",qt().state.padding).attr("width",d.width+2*qt().state.padding).attr("height",d.height+2*qt().state.padding).attr("rx",qt().state.radius),u},Ysn=(i,a)=>{const u=function(R,B,j){const W=R.append("tspan").attr("x",2*qt().state.padding).text(B);j||W.attr("dy",qt().state.textHeight)},p=i.append("text").attr("x",2*qt().state.padding).attr("y",qt().state.textHeight+1.3*qt().state.padding).attr("font-size",qt().state.fontSize).attr("class","state-title").text(a.descriptions[0]).node().getBBox(),v=p.height,b=i.append("text").attr("x",qt().state.padding).attr("y",v+qt().state.padding*.4+qt().state.dividerMargin+qt().state.textHeight).attr("class","state-description");let y=!0,E=!0;a.descriptions.forEach(function(R){y||(u(b,R,E),E=!1),y=!1});const _=i.append("line").attr("x1",qt().state.padding).attr("y1",qt().state.padding+v+qt().state.dividerMargin/2).attr("y2",qt().state.padding+v+qt().state.dividerMargin/2).attr("class","descr-divider"),A=b.node().getBBox(),P=Math.max(A.width,p.width);return _.attr("x2",P+3*qt().state.padding),i.insert("rect",":first-child").attr("x",qt().state.padding).attr("y",qt().state.padding).attr("width",P+2*qt().state.padding).attr("height",A.height+v+2*qt().state.padding).attr("rx",qt().state.radius),i},Xsn=(i,a,u)=>{const d=qt().state.padding,p=2*qt().state.padding,v=i.node().getBBox(),b=v.width,y=v.x,E=i.append("text").attr("x",0).attr("y",qt().state.titleShift).attr("font-size",qt().state.fontSize).attr("class","state-title").text(a.id),A=E.node().getBBox().width+p;let P=Math.max(A,b);P===b&&(P=P+p);let R;const B=i.node().getBBox();a.doc,R=y-d,A>b&&(R=(b-P)/2+d),Math.abs(y-B.x)<d&&A>b&&(R=y-(A-b)/2);const j=1-qt().state.textHeight;return i.insert("rect",":first-child").attr("x",R).attr("y",j).attr("class",u?"alt-composit":"composit").attr("width",P).attr("height",B.height+qt().state.textHeight+qt().state.titleShift+1).attr("rx","0"),E.attr("x",R+d),A<=b&&E.attr("x",y+(P-p)/2-A/2+d),i.insert("rect",":first-child").attr("x",R).attr("y",qt().state.titleShift-qt().state.textHeight-qt().state.padding).attr("width",P).attr("height",qt().state.textHeight*3).attr("rx",qt().state.radius),i.insert("rect",":first-child").attr("x",R).attr("y",qt().state.titleShift-qt().state.textHeight-qt().state.padding).attr("width",P).attr("height",B.height+3+2*qt().state.textHeight).attr("rx",qt().state.radius),i},Qsn=i=>(i.append("circle").attr("class","end-state-outer").attr("r",qt().state.sizeUnit+qt().state.miniPadding).attr("cx",qt().state.padding+qt().state.sizeUnit+qt().state.miniPadding).attr("cy",qt().state.padding+qt().state.sizeUnit+qt().state.miniPadding),i.append("circle").attr("class","end-state-inner").attr("r",qt().state.sizeUnit).attr("cx",qt().state.padding+qt().state.sizeUnit+2).attr("cy",qt().state.padding+qt().state.sizeUnit+2)),Jsn=(i,a)=>{let u=qt().state.forkWidth,d=qt().state.forkHeight;if(a.parentId){let p=u;u=d,d=p}return i.append("rect").style("stroke","black").style("fill","black").attr("width",u).attr("height",d).attr("x",qt().state.padding).attr("y",qt().state.padding)},Zsn=(i,a,u,d)=>{let p=0;const v=d.append("text");v.style("text-anchor","start"),v.attr("class","noteText");let b=i.replace(/\r\n/g,"<br/>");b=b.replace(/\n/g,"<br/>");const y=b.split(oi.lineBreakRegex);let E=1.25*qt().state.noteMargin;for(const _ of y){const A=_.trim();if(A.length>0){const P=v.append("tspan");if(P.text(A),E===0){const R=P.node().getBBox();E+=R.height}p+=E,P.attr("x",a+qt().state.noteMargin),P.attr("y",u+p+1.25*qt().state.noteMargin)}}return{textWidth:v.node().getBBox().width,textHeight:p}},ean=(i,a)=>{a.attr("class","state-note");const u=a.append("rect").attr("x",0).attr("y",qt().state.padding),d=a.append("g"),{textWidth:p,textHeight:v}=Zsn(i,0,0,d);return u.attr("height",v+2*qt().state.noteMargin),u.attr("width",p+qt().state.noteMargin*2),u},ZKe=function(i,a){const u=a.id,d={id:u,label:a.id,width:0,height:0},p=i.append("g").attr("id",u).attr("class","stateGroup");a.type==="start"&&Gsn(p),a.type==="end"&&Qsn(p),(a.type==="fork"||a.type==="join")&&Jsn(p,a),a.type==="note"&&ean(a.note.text,p),a.type==="divider"&&Ksn(p),a.type==="default"&&a.descriptions.length===0&&Wsn(p,a),a.type==="default"&&a.descriptions.length>0&&Ysn(p,a);const v=p.node().getBBox();return d.width=v.width+2*qt().state.padding,d.height=v.height+2*qt().state.padding,Vsn.set(u,d),d};let eWe=0;const tan=function(i,a,u){const d=function(E){switch(E){case K7.relationType.AGGREGATION:return"aggregation";case K7.relationType.EXTENSION:return"extension";case K7.relationType.COMPOSITION:return"composition";case K7.relationType.DEPENDENCY:return"dependency"}};a.points=a.points.filter(E=>!Number.isNaN(E.y));const p=a.points,v=E7().x(function(E){return E.x}).y(function(E){return E.y}).curve(VF),b=i.append("path").attr("d",v(p)).attr("id","edge"+eWe).attr("class","transition");let y="";if(qt().state.arrowMarkerAbsolute&&(y=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,y=y.replace(/\(/g,"\\("),y=y.replace(/\)/g,"\\)")),b.attr("marker-end","url("+y+"#"+d(K7.relationType.DEPENDENCY)+"End)"),u.title!==void 0){const E=i.append("g").attr("class","stateLabel"),{x:_,y:A}=So.calcLabelPosition(a.points),P=oi.getRows(u.title);let R=0;const B=[];let j=0,W=0;for(let oe=0;oe<=P.length;oe++){const be=E.append("text").attr("text-anchor","middle").text(P[oe]).attr("x",_).attr("y",A+R),ge=be.node().getBBox();j=Math.max(j,ge.width),W=Math.min(W,ge.x),Xe.info(ge.x,_,A+R),R===0&&(R=be.node().getBBox().height,Xe.info("Title height",R,A)),B.push(be)}let ee=R*P.length;if(P.length>1){const oe=(P.length-1)*R*.5;B.forEach((be,ge)=>be.attr("y",A+ge*R-oe)),ee=R*P.length}const ie=E.node().getBBox();E.insert("rect",":first-child").attr("class","box").attr("x",_-j/2-qt().state.padding/2).attr("y",A-ee/2-qt().state.padding/2-3.5).attr("width",j+qt().state.padding).attr("height",ee+qt().state.padding),Xe.info(ie)}eWe++};let Tm;const awe={},nan=function(){},ran=function(i){i.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")},ian=function(i,a,u,d){Tm=qt().state;const p=qt().securityLevel;let v;p==="sandbox"&&(v=Dr("#i"+a));const b=Dr(p==="sandbox"?v.nodes()[0].contentDocument.body:"body"),y=p==="sandbox"?v.nodes()[0].contentDocument:document;Xe.debug("Rendering diagram "+i);const E=b.select(`[id='${a}']`);ran(E);const _=d.db.getRootDoc();tWe(_,E,void 0,!1,b,y,d);const A=Tm.padding,P=E.node().getBBox(),R=P.width+A*2,B=P.height+A*2,j=R*1.75;Fg(E,B,j,Tm.useMaxWidth),E.attr("viewBox",`${P.x-Tm.padding} ${P.y-Tm.padding} `+R+" "+B)},san=i=>i?i.length*Tm.fontSizeFactor:1,tWe=(i,a,u,d,p,v,b)=>{const y=new R0({compound:!0,multigraph:!0});let E,_=!0;for(E=0;E<i.length;E++)if(i[E].stmt==="relation"){_=!1;break}u?y.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:_?1:Tm.edgeLengthFactor,nodeSep:_?1:50,isMultiGraph:!0}):y.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:_?1:Tm.edgeLengthFactor,nodeSep:_?1:50,ranker:"tight-tree",isMultiGraph:!0}),y.setDefaultEdgeLabel(function(){return{}}),b.db.extract(i);const A=b.db.getStates(),P=b.db.getRelations(),R=Object.keys(A);for(const ie of R){const oe=A[ie];u&&(oe.parentId=u);let be;if(oe.doc){let ge=a.append("g").attr("id",oe.id).attr("class","stateGroup");be=tWe(oe.doc,ge,oe.id,!d,p,v,b);{ge=Xsn(ge,oe,d);let ae=ge.node().getBBox();be.width=ae.width,be.height=ae.height+Tm.padding/2,awe[oe.id]={y:Tm.compositTitleSize}}}else be=ZKe(a,oe);if(oe.note){const ge={descriptions:[],id:oe.id+"-note",note:oe.note,type:"note"},ae=ZKe(a,ge);oe.note.position==="left of"?(y.setNode(be.id+"-note",ae),y.setNode(be.id,be)):(y.setNode(be.id,be),y.setNode(be.id+"-note",ae)),y.setParent(be.id,be.id+"-group"),y.setParent(be.id+"-note",be.id+"-group")}else y.setNode(be.id,be)}Xe.debug("Count=",y.nodeCount(),y);let B=0;P.forEach(function(ie){B++,Xe.debug("Setting edge",ie),y.setEdge(ie.id1,ie.id2,{relation:ie,width:san(ie.title),height:Tm.labelHeight*oi.getRows(ie.title).length,labelpos:"c"},"id"+B)}),XD(y),Xe.debug("Graph after layout",y.nodes());const j=a.node();y.nodes().forEach(function(ie){ie!==void 0&&y.node(ie)!==void 0?(Xe.warn("Node "+ie+": "+JSON.stringify(y.node(ie))),p.select("#"+j.id+" #"+ie).attr("transform","translate("+(y.node(ie).x-y.node(ie).width/2)+","+(y.node(ie).y+(awe[ie]?awe[ie].y:0)-y.node(ie).height/2)+" )"),p.select("#"+j.id+" #"+ie).attr("data-x-shift",y.node(ie).x-y.node(ie).width/2),v.querySelectorAll("#"+j.id+" #"+ie+" .divider").forEach(be=>{const ge=be.parentElement;let ae=0,ne=0;ge&&(ge.parentElement&&(ae=ge.parentElement.getBBox().width),ne=parseInt(ge.getAttribute("data-x-shift"),10),Number.isNaN(ne)&&(ne=0)),be.setAttribute("x1",0-ne+8),be.setAttribute("x2",ae-ne-8)})):Xe.debug("No Node "+ie+": "+JSON.stringify(y.node(ie)))});let W=j.getBBox();y.edges().forEach(function(ie){ie!==void 0&&y.edge(ie)!==void 0&&(Xe.debug("Edge "+ie.v+" -> "+ie.w+": "+JSON.stringify(y.edge(ie))),tan(a,y.edge(ie),y.edge(ie).relation))}),W=j.getBBox();const ee={id:u||"root",label:u||"root",width:0,height:0};return ee.width=W.width+2*Tm.padding,ee.height=W.height+2*Tm.padding,Xe.debug("Doc rendered",ee,y),ee},aan=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:FKe,db:K7,renderer:{setConf:nan,draw:ian},styles:QKe,init:i=>{i.state||(i.state={}),i.state.arrowMarkerAbsolute=i.arrowMarkerAbsolute,K7.clear()}}},Symbol.toStringTag,{value:"Module"})),qJ="rect",owe="rectWithTitle",oan="start",can="end",uan="divider",lan="roundedWithTitle",han="note",fan="noteGroup",sI="statediagram",dan=`${sI}-state`,nWe="transition",gan="note",pan=`${nWe} note-edge`,ban=`${sI}-${gan}`,man=`${sI}-cluster`,van=`${sI}-cluster-alt`,rWe="parent",iWe="note",wan="state",cwe="----",yan=`${cwe}${iWe}`,sWe=`${cwe}${rWe}`,aWe="fill:none",oWe="fill: #333",cWe="c",uWe="text",lWe="normal";let HJ={},z9=0;const xan=function(i){const a=Object.keys(i);for(const u of a)i[u]},kan=function(i,a){return a.db.extract(a.db.getRootDocV2()),a.db.getClasses()};function Tan(i){return i==null?"":i.classes?i.classes.join(" "):""}function uwe(i="",a=0,u="",d=cwe){const p=u!==null&&u.length>0?`${d}${u}`:"";return`${wan}-${i}${p}-${a}`}const oj=(i,a,u,d,p,v)=>{const b=u.id,y=Tan(d[b]);if(b!=="root"){let E=qJ;u.start===!0&&(E=oan),u.start===!1&&(E=can),u.type!==rj&&(E=u.type),HJ[b]||(HJ[b]={id:b,shape:E,description:oi.sanitizeText(b,qt()),classes:`${y} ${dan}`});const _=HJ[b];u.description&&(Array.isArray(_.description)?(_.shape=owe,_.description.push(u.description)):_.description.length>0?(_.shape=owe,_.description===b?_.description=[u.description]:_.description=[_.description,u.description]):(_.shape=qJ,_.description=u.description),_.description=oi.sanitizeTextOrArray(_.description,qt())),_.description.length===1&&_.shape===owe&&(_.shape=qJ),!_.type&&u.doc&&(Xe.info("Setting cluster for ",b,lwe(u)),_.type="group",_.dir=lwe(u),_.shape=u.type===RKe?uan:lan,_.classes=_.classes+" "+man+" "+(v?van:""));const A={labelStyle:"",shape:_.shape,labelText:_.description,classes:_.classes,style:"",id:b,dir:_.dir,domId:uwe(b,z9),type:_.type,padding:15};if(A.centerLabel=!0,u.note){const P={labelStyle:"",shape:han,labelText:u.note.text,classes:ban,style:"",id:b+yan+"-"+z9,domId:uwe(b,z9,iWe),type:_.type,padding:15},R={labelStyle:"",shape:fan,labelText:u.note.text,classes:_.classes,style:"",id:b+sWe,domId:uwe(b,z9,rWe),type:"group",padding:0};z9++;const B=b+sWe;i.setNode(B,R),i.setNode(P.id,P),i.setNode(b,A),i.setParent(b,B),i.setParent(P.id,B);let j=b,W=P.id;u.note.position==="left of"&&(j=P.id,W=b),i.setEdge(j,W,{arrowhead:"none",arrowType:"",style:aWe,labelStyle:"",classes:pan,arrowheadStyle:oWe,labelpos:cWe,labelType:uWe,thickness:lWe})}else i.setNode(b,A)}a&&a.id!=="root"&&(Xe.trace("Setting node ",b," to be child of its parent ",a.id),i.setParent(b,a.id)),u.doc&&(Xe.trace("Adding nodes children "),Ean(i,u,u.doc,d,p,!v))},Ean=(i,a,u,d,p,v)=>{Xe.trace("items",u),u.forEach(b=>{switch(b.stmt){case FJ:oj(i,a,b,d,p,v);break;case rj:oj(i,a,b,d,p,v);break;case Zve:{oj(i,a,b.state1,d,p,v),oj(i,a,b.state2,d,p,v);const y={id:"edge"+z9,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:aWe,labelStyle:"",label:oi.sanitizeText(b.description,qt()),arrowheadStyle:oWe,labelpos:cWe,labelType:uWe,thickness:lWe,classes:nWe};i.setEdge(b.state1.id,b.state2.id,y,z9),z9++}break}})},lwe=(i,a=xsn)=>{let u=a;if(i.doc)for(let d=0;d<i.doc.length;d++){const p=i.doc[d];p.stmt==="dir"&&(u=p.value)}return u},Can=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:FKe,db:K7,renderer:{setConf:xan,getClasses:kan,draw:async function(i,a,u,d){Xe.info("Drawing state diagram (v2)",a),HJ={},d.db.getDirection();const{securityLevel:p,state:v}=qt(),b=v.nodeSpacing||50,y=v.rankSpacing||50;Xe.info(d.db.getRootDocV2()),d.db.extract(d.db.getRootDocV2()),Xe.info(d.db.getRootDocV2());const E=d.db.getStates(),_=new R0({multigraph:!0,compound:!0}).setGraph({rankdir:lwe(d.db.getRootDocV2()),nodesep:b,ranksep:y,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});oj(_,void 0,d.db.getRootDocV2(),E,d.db,!0);let A;p==="sandbox"&&(A=Dr("#i"+a));const P=Dr(p==="sandbox"?A.nodes()[0].contentDocument.body:"body"),R=P.select(`[id="${a}"]`),B=P.select("#"+a+" g");await ave(B,_,["barb"],sI,a);const j=8;So.insertTitle(R,"statediagramTitleText",v.titleTopMargin,d.db.getDiagramTitle());const W=R.node().getBBox(),ee=W.width+j*2,ie=W.height+j*2;R.attr("class",sI);const oe=R.node().getBBox();Fg(R,ie,ee,v.useMaxWidth);const be=`${oe.x-j} ${oe.y-j} ${ee} ${ie}`;Xe.debug(`viewBox ${be}`),R.attr("viewBox",be);const ge=document.querySelectorAll('[id="'+a+'"] .edgeLabel .label');for(const ae of ge){const ne=ae.getBBox(),se=document.createElementNS("http://www.w3.org/2000/svg",qJ);se.setAttribute("rx",0),se.setAttribute("ry",0),se.setAttribute("width",ne.width),se.setAttribute("height",ne.height),ae.insertBefore(se,ae.firstChild)}}},styles:QKe,init:i=>{i.state||(i.state={}),i.state.arrowMarkerAbsolute=i.arrowMarkerAbsolute,K7.clear()}}},Symbol.toStringTag,{value:"Module"}));var hwe=function(){var i=function(P,R,B,j){for(B=B||{},j=P.length;j--;B[P[j]]=R);return B},a=[6,8,10,11,12,14,16,17,18],u=[1,9],d=[1,10],p=[1,11],v=[1,12],b=[1,13],y=[1,14],E={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(R,B,j,W,ee,ie,oe){var be=ie.length-1;switch(ee){case 1:return ie[be-1];case 2:this.$=[];break;case 3:ie[be-1].push(ie[be]),this.$=ie[be-1];break;case 4:case 5:this.$=ie[be];break;case 6:case 7:this.$=[];break;case 8:W.setDiagramTitle(ie[be].substr(6)),this.$=ie[be].substr(6);break;case 9:this.$=ie[be].trim(),W.setAccTitle(this.$);break;case 10:case 11:this.$=ie[be].trim(),W.setAccDescription(this.$);break;case 12:W.addSection(ie[be].substr(8)),this.$=ie[be].substr(8);break;case 13:W.addTask(ie[be-1],ie[be]),this.$="task";break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:u,12:d,14:p,16:v,17:b,18:y},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:15,11:u,12:d,14:p,16:v,17:b,18:y},i(a,[2,5]),i(a,[2,6]),i(a,[2,8]),{13:[1,16]},{15:[1,17]},i(a,[2,11]),i(a,[2,12]),{19:[1,18]},i(a,[2,4]),i(a,[2,9]),i(a,[2,10]),i(a,[2,13])],defaultActions:{},parseError:function(R,B){if(B.recoverable)this.trace(R);else{var j=new Error(R);throw j.hash=B,j}},parse:function(R){var B=this,j=[0],W=[],ee=[null],ie=[],oe=this.table,be="",ge=0,ae=0,ne=2,se=1,de=ie.slice.call(arguments,1),X=Object.create(this.lexer),pe={yy:{}};for(var G in this.yy)Object.prototype.hasOwnProperty.call(this.yy,G)&&(pe.yy[G]=this.yy[G]);X.setInput(R,pe.yy),pe.yy.lexer=X,pe.yy.parser=this,typeof X.yylloc>"u"&&(X.yylloc={});var xe=X.yylloc;ie.push(xe);var U=X.options&&X.options.ranges;typeof pe.yy.parseError=="function"?this.parseError=pe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Be(){var Tt;return Tt=W.pop()||X.lex()||se,typeof Tt!="number"&&(Tt instanceof Array&&(W=Tt,Tt=W.pop()),Tt=B.symbols_[Tt]||Tt),Tt}for(var Pe,je,Ie,Se,Ce={},ke,Ke,zt,Ne;;){if(je=j[j.length-1],this.defaultActions[je]?Ie=this.defaultActions[je]:((Pe===null||typeof Pe>"u")&&(Pe=Be()),Ie=oe[je]&&oe[je][Pe]),typeof Ie>"u"||!Ie.length||!Ie[0]){var pn="";Ne=[];for(ke in oe[je])this.terminals_[ke]&&ke>ne&&Ne.push("'"+this.terminals_[ke]+"'");X.showPosition?pn="Parse error on line "+(ge+1)+`:
`+X.showPosition()+`
Expecting `+Ne.join(", ")+", got '"+(this.terminals_[Pe]||Pe)+"'":pn="Parse error on line "+(ge+1)+": Unexpected "+(Pe==se?"end of input":"'"+(this.terminals_[Pe]||Pe)+"'"),this.parseError(pn,{text:X.match,token:this.terminals_[Pe]||Pe,line:X.yylineno,loc:xe,expected:Ne})}if(Ie[0]instanceof Array&&Ie.length>1)throw new Error("Parse Error: multiple actions possible at state: "+je+", token: "+Pe);switch(Ie[0]){case 1:j.push(Pe),ee.push(X.yytext),ie.push(X.yylloc),j.push(Ie[1]),Pe=null,ae=X.yyleng,be=X.yytext,ge=X.yylineno,xe=X.yylloc;break;case 2:if(Ke=this.productions_[Ie[1]][1],Ce.$=ee[ee.length-Ke],Ce._$={first_line:ie[ie.length-(Ke||1)].first_line,last_line:ie[ie.length-1].last_line,first_column:ie[ie.length-(Ke||1)].first_column,last_column:ie[ie.length-1].last_column},U&&(Ce._$.range=[ie[ie.length-(Ke||1)].range[0],ie[ie.length-1].range[1]]),Se=this.performAction.apply(Ce,[be,ae,ge,pe.yy,Ie[1],ee,ie].concat(de)),typeof Se<"u")return Se;Ke&&(j=j.slice(0,-1*Ke*2),ee=ee.slice(0,-1*Ke),ie=ie.slice(0,-1*Ke)),j.push(this.productions_[Ie[1]][0]),ee.push(Ce.$),ie.push(Ce._$),zt=oe[j[j.length-2]][j[j.length-1]],j.push(zt);break;case 3:return!0}}return!0}},_=function(){var P={EOF:1,parseError:function(B,j){if(this.yy.parser)this.yy.parser.parseError(B,j);else throw new Error(B)},setInput:function(R,B){return this.yy=B||this.yy||{},this._input=R,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 R=this._input[0];this.yytext+=R,this.yyleng++,this.offset++,this.match+=R,this.matched+=R;var B=R.match(/(?:\r\n?|\n).*/g);return B?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),R},unput:function(R){var B=R.length,j=R.split(/(?:\r\n?|\n)/g);this._input=R+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-B),this.offset-=B;var W=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),j.length-1&&(this.yylineno-=j.length-1);var ee=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:j?(j.length===W.length?this.yylloc.first_column:0)+W[W.length-j.length].length-j[0].length:this.yylloc.first_column-B},this.options.ranges&&(this.yylloc.range=[ee[0],ee[0]+this.yyleng-B]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return 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).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(R){this.unput(this.match.slice(R))},pastInput:function(){var R=this.matched.substr(0,this.matched.length-this.match.length);return(R.length>20?"...":"")+R.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var R=this.match;return R.length<20&&(R+=this._input.substr(0,20-R.length)),(R.substr(0,20)+(R.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var R=this.pastInput(),B=new Array(R.length+1).join("-");return R+this.upcomingInput()+`
`+B+"^"},test_match:function(R,B){var j,W,ee;if(this.options.backtrack_lexer&&(ee={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&&(ee.yylloc.range=this.yylloc.range.slice(0))),W=R[0].match(/(?:\r\n?|\n).*/g),W&&(this.yylineno+=W.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:W?W[W.length-1].length-W[W.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+R[0].length},this.yytext+=R[0],this.match+=R[0],this.matches=R,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(R[0].length),this.matched+=R[0],j=this.performAction.call(this,this.yy,this,B,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),j)return j;if(this._backtrack){for(var ie in ee)this[ie]=ee[ie];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var R,B,j,W;this._more||(this.yytext="",this.match="");for(var ee=this._currentRules(),ie=0;ie<ee.length;ie++)if(j=this._input.match(this.rules[ee[ie]]),j&&(!B||j[0].length>B[0].length)){if(B=j,W=ie,this.options.backtrack_lexer){if(R=this.test_match(j,ee[ie]),R!==!1)return R;if(this._backtrack){B=!1;continue}else return!1}else if(!this.options.flex)break}return B?(R=this.test_match(B,ee[W]),R!==!1?R:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var B=this.next();return B||this.lex()},begin:function(B){this.conditionStack.push(B)},popState:function(){var B=this.conditionStack.length-1;return B>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(B){return B=this.conditionStack.length-1-Math.abs(B||0),B>=0?this.conditionStack[B]:"INITIAL"},pushState:function(B){this.begin(B)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(B,j,W,ee){switch(W){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;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}}};return P}();E.lexer=_;function A(){this.yy={}}return A.prototype=E,E.Parser=A,new A}();hwe.parser=hwe;const San=hwe;let aI="";const fwe=[],cj=[],uj=[],_an=function(){fwe.length=0,cj.length=0,aI="",uj.length=0,Rg()},Aan=function(i){aI=i,fwe.push(i)},Lan=function(){return fwe},Man=function(){let i=hWe();const a=100;let u=0;for(;!i&&u<a;)i=hWe(),u++;return cj.push(...uj),cj},Dan=function(){const i=[];return cj.forEach(u=>{u.people&&i.push(...u.people)}),[...new Set(i)].sort()},Ian=function(i,a){const u=a.substr(1).split(":");let d=0,p=[];u.length===1?(d=Number(u[0]),p=[]):(d=Number(u[0]),p=u[1].split(","));const v=p.map(y=>y.trim()),b={section:aI,type:aI,people:v,task:i,score:d};uj.push(b)},Oan=function(i){const a={section:aI,type:aI,description:i,task:i,classes:[]};cj.push(a)},hWe=function(){const i=function(u){return uj[u].processed};let a=!0;for(const[u,d]of uj.entries())i(u),a=a&&d.processed;return a},fWe={getConfig:()=>qt().journey,clear:_an,setDiagramTitle:pm,getDiagramTitle:Op,setAccTitle:jg,getAccTitle:Mp,setAccDescription:Dp,getAccDescription:Ip,addSection:Aan,getSections:Lan,getTasks:Man,addTask:Ian,addTaskOrg:Oan,getActors:function(){return Dan()}},Nan=i=>`.label {
font-family: 'trebuchet ms', verdana, arial, sans-serif;
font-family: var(--mermaid-font-family);
color: ${i.textColor};
}
.mouth {
stroke: #666;
}
line {
stroke: ${i.textColor}
}
.legend {
fill: ${i.textColor};
}
.label text {
fill: #333;
}
.label {
color: ${i.textColor}
}
.face {
${i.faceColor?`fill: ${i.faceColor}`:"fill: #FFF8DC"};
stroke: #999;
}
.node rect,
.node circle,
.node ellipse,
.node polygon,
.node path {
fill: ${i.mainBkg};
stroke: ${i.nodeBorder};
stroke-width: 1px;
}
.node .label {
text-align: center;
}
.node.clickable {
cursor: pointer;
}
.arrowheadPath {
fill: ${i.arrowheadColor};
}
.edgePath .path {
stroke: ${i.lineColor};
stroke-width: 1.5px;
}
.flowchart-link {
stroke: ${i.lineColor};
fill: none;
}
.edgeLabel {
background-color: ${i.edgeLabelBackground};
rect {
opacity: 0.5;
}
text-align: center;
}
.cluster rect {
}
.cluster text {
fill: ${i.titleColor};
}
div.mermaidTooltip {
position: absolute;
text-align: center;
max-width: 200px;
padding: 2px;
font-family: 'trebuchet ms', verdana, arial, sans-serif;
font-family: var(--mermaid-font-family);
font-size: 12px;
background: ${i.tertiaryColor};
border: 1px solid ${i.border2};
border-radius: 2px;
pointer-events: none;
z-index: 100;
}
.task-type-0, .section-type-0 {
${i.fillType0?`fill: ${i.fillType0}`:""};
}
.task-type-1, .section-type-1 {
${i.fillType0?`fill: ${i.fillType1}`:""};
}
.task-type-2, .section-type-2 {
${i.fillType0?`fill: ${i.fillType2}`:""};
}
.task-type-3, .section-type-3 {
${i.fillType0?`fill: ${i.fillType3}`:""};
}
.task-type-4, .section-type-4 {
${i.fillType0?`fill: ${i.fillType4}`:""};
}
.task-type-5, .section-type-5 {
${i.fillType0?`fill: ${i.fillType5}`:""};
}
.task-type-6, .section-type-6 {
${i.fillType0?`fill: ${i.fillType6}`:""};
}
.task-type-7, .section-type-7 {
${i.fillType0?`fill: ${i.fillType7}`:""};
}
.actor-0 {
${i.actor0?`fill: ${i.actor0}`:""};
}
.actor-1 {
${i.actor1?`fill: ${i.actor1}`:""};
}
.actor-2 {
${i.actor2?`fill: ${i.actor2}`:""};
}
.actor-3 {
${i.actor3?`fill: ${i.actor3}`:""};
}
.actor-4 {
${i.actor4?`fill: ${i.actor4}`:""};
}
.actor-5 {
${i.actor5?`fill: ${i.actor5}`:""};
}
`,dwe=function(i,a){return qQ(i,a)},Pan=function(i,a){const d=i.append("circle").attr("cx",a.cx).attr("cy",a.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),p=i.append("g");p.append("circle").attr("cx",a.cx-15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),p.append("circle").attr("cx",a.cx+15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function v(E){const _=hD().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);E.append("path").attr("class","mouth").attr("d",_).attr("transform","translate("+a.cx+","+(a.cy+2)+")")}function b(E){const _=hD().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);E.append("path").attr("class","mouth").attr("d",_).attr("transform","translate("+a.cx+","+(a.cy+7)+")")}function y(E){E.append("line").attr("class","mouth").attr("stroke",2).attr("x1",a.cx-5).attr("y1",a.cy+7).attr("x2",a.cx+5).attr("y2",a.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return a.score>3?v(p):a.score<3?b(p):y(p),d},dWe=function(i,a){const u=i.append("circle");return u.attr("cx",a.cx),u.attr("cy",a.cy),u.attr("class","actor-"+a.pos),u.attr("fill",a.fill),u.attr("stroke",a.stroke),u.attr("r",a.r),u.class!==void 0&&u.attr("class",u.class),a.title!==void 0&&u.append("title").text(a.title),u},gWe=function(i,a){return kVt(i,a)},Ban=function(i,a){function u(p,v,b,y,E){return p+","+v+" "+(p+b)+","+v+" "+(p+b)+","+(v+y-E)+" "+(p+b-E*1.2)+","+(v+y)+" "+p+","+(v+y)}const d=i.append("polygon");d.attr("points",u(a.x,a.y,50,20,7)),d.attr("class","labelBox"),a.y=a.y+a.labelMargin,a.x=a.x+.5*a.labelMargin,gWe(i,a)},Fan=function(i,a,u){const d=i.append("g"),p=HC();p.x=a.x,p.y=a.y,p.fill=a.fill,p.width=u.width*a.taskCount+u.diagramMarginX*(a.taskCount-1),p.height=u.height,p.class="journey-section section-type-"+a.num,p.rx=3,p.ry=3,dwe(d,p),bWe(u)(a.text,d,p.x,p.y,p.width,p.height,{class:"journey-section section-type-"+a.num},u,a.colour)};let pWe=-1;const Ran=function(i,a,u){const d=a.x+u.width/2,p=i.append("g");pWe++;const v=300+5*30;p.append("line").attr("id","task"+pWe).attr("x1",d).attr("y1",a.y).attr("x2",d).attr("y2",v).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Pan(p,{cx:d,cy:300+(5-a.score)*30,score:a.score});const b=HC();b.x=a.x,b.y=a.y,b.fill=a.fill,b.width=u.width,b.height=u.height,b.class="task task-type-"+a.num,b.rx=3,b.ry=3,dwe(p,b);let y=a.x+14;a.people.forEach(E=>{const _=a.actors[E].color,A={cx:y,cy:a.y,r:7,fill:_,stroke:"#000",title:E,pos:a.actors[E].position};dWe(p,A),y+=10}),bWe(u)(a.task,p,b.x,b.y,b.width,b.height,{class:"task"},u,a.colour)},jan=function(i,a){Zqe(i,a)},bWe=function(){function i(p,v,b,y,E,_,A,P){const R=v.append("text").attr("x",b+E/2).attr("y",y+_/2+5).style("font-color",P).style("text-anchor","middle").text(p);d(R,A)}function a(p,v,b,y,E,_,A,P,R){const{taskFontSize:B,taskFontFamily:j}=P,W=p.split(/<br\s*\/?>/gi);for(let ee=0;ee<W.length;ee++){const ie=ee*B-B*(W.length-1)/2,oe=v.append("text").attr("x",b+E/2).attr("y",y).attr("fill",R).style("text-anchor","middle").style("font-size",B).style("font-family",j);oe.append("tspan").attr("x",b+E/2).attr("dy",ie).text(W[ee]),oe.attr("y",y+_/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),d(oe,A)}}function u(p,v,b,y,E,_,A,P){const R=v.append("switch"),j=R.append("foreignObject").attr("x",b).attr("y",y).attr("width",E).attr("height",_).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");j.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(p),a(p,R,b,y,E,_,A,P),d(j,A)}function d(p,v){for(const b in v)b in v&&p.attr(b,v[b])}return function(p){return p.textPlacement==="fo"?u:p.textPlacement==="old"?i:a}}(),lj={drawRect:dwe,drawCircle:dWe,drawSection:Fan,drawText:gWe,drawLabel:Ban,drawTask:Ran,drawBackgroundRect:jan,initGraphics:function(i){i.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")}},$an=function(i){Object.keys(i).forEach(function(u){UJ[u]=i[u]})},W7={};function zan(i){const a=qt().journey;let u=60;Object.keys(W7).forEach(d=>{const p=W7[d].color,v={cx:20,cy:u,r:7,fill:p,stroke:"#000",pos:W7[d].position};lj.drawCircle(i,v);const b={x:40,y:u+7,fill:"#666",text:d,textMargin:a.boxTextMargin|5};lj.drawText(i,b),u+=20})}const UJ=qt().journey,sS=UJ.leftMargin,qan=function(i,a,u,d){const p=qt().journey,v=qt().securityLevel;let b;v==="sandbox"&&(b=Dr("#i"+a));const y=Dr(v==="sandbox"?b.nodes()[0].contentDocument.body:"body");Yv.init();const E=y.select("#"+a);lj.initGraphics(E);const _=d.db.getTasks(),A=d.db.getDiagramTitle(),P=d.db.getActors();for(const ie in W7)delete W7[ie];let R=0;P.forEach(ie=>{W7[ie]={color:p.actorColours[R%p.actorColours.length],position:R},R++}),zan(E),Yv.insert(0,0,sS,Object.keys(W7).length*50),Han(E,_,0);const B=Yv.getBounds();A&&E.append("text").text(A).attr("x",sS).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);const j=B.stopy-B.starty+2*p.diagramMarginY,W=sS+B.stopx+2*p.diagramMarginX;Fg(E,j,W,p.useMaxWidth),E.append("line").attr("x1",sS).attr("y1",p.height*4).attr("x2",W-sS-4).attr("y2",p.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const ee=A?70:0;E.attr("viewBox",`${B.startx} -25 ${W} ${j+ee}`),E.attr("preserveAspectRatio","xMinYMin meet"),E.attr("height",j+ee+25)},Yv={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(i,a,u,d){i[a]===void 0?i[a]=u:i[a]=d(u,i[a])},updateBounds:function(i,a,u,d){const p=qt().journey,v=this;let b=0;function y(E){return function(A){b++;const P=v.sequenceItems.length-b+1;v.updateVal(A,"starty",a-P*p.boxMargin,Math.min),v.updateVal(A,"stopy",d+P*p.boxMargin,Math.max),v.updateVal(Yv.data,"startx",i-P*p.boxMargin,Math.min),v.updateVal(Yv.data,"stopx",u+P*p.boxMargin,Math.max),E!=="activation"&&(v.updateVal(A,"startx",i-P*p.boxMargin,Math.min),v.updateVal(A,"stopx",u+P*p.boxMargin,Math.max),v.updateVal(Yv.data,"starty",a-P*p.boxMargin,Math.min),v.updateVal(Yv.data,"stopy",d+P*p.boxMargin,Math.max))}}this.sequenceItems.forEach(y())},insert:function(i,a,u,d){const p=Math.min(i,u),v=Math.max(i,u),b=Math.min(a,d),y=Math.max(a,d);this.updateVal(Yv.data,"startx",p,Math.min),this.updateVal(Yv.data,"starty",b,Math.min),this.updateVal(Yv.data,"stopx",v,Math.max),this.updateVal(Yv.data,"stopy",y,Math.max),this.updateBounds(p,b,v,y)},bumpVerticalPos:function(i){this.verticalPos=this.verticalPos+i,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},gwe=UJ.sectionFills,mWe=UJ.sectionColours,Han=function(i,a,u){const d=qt().journey;let p="";const v=d.height*2+d.diagramMarginY,b=u+v;let y=0,E="#CCC",_="black",A=0;for(const[P,R]of a.entries()){if(p!==R.section){E=gwe[y%gwe.length],A=y%gwe.length,_=mWe[y%mWe.length];let j=0;const W=R.section;for(let ie=P;ie<a.length&&a[ie].section==W;ie++)j=j+1;const ee={x:P*d.taskMargin+P*d.width+sS,y:50,text:R.section,fill:E,num:A,colour:_,taskCount:j};lj.drawSection(i,ee,d),p=R.section,y++}const B=R.people.reduce((j,W)=>(W7[W]&&(j[W]=W7[W]),j),{});R.x=P*d.taskMargin+P*d.width+sS,R.y=b,R.width=d.diagramMarginX,R.height=d.diagramMarginY,R.colour=_,R.fill=E,R.num=A,R.actors=B,lj.drawTask(i,R,d),Yv.insert(R.x,R.y,R.x+R.width+d.taskMargin,300+5*30)}},vWe={setConf:$an,draw:qan},Uan=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:San,db:fWe,renderer:vWe,styles:Nan,init:i=>{vWe.setConf(i.journey),fWe.clear()}}},Symbol.toStringTag,{value:"Module"})),Van=(i,a,u)=>{const{parentById:d}=u,p=new Set;let v=i;for(;v;){if(p.add(v),v===a)return v;v=d[v]}for(v=a;v;){if(p.has(v))return v;v=d[v]}return"root"};function VJ(i){throw new Error('Could not dynamically require "'+i+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var wWe={exports:{}};(function(i,a){(function(u){i.exports=u()})(function(){return function(){function u(d,p,v){function b(_,A){if(!p[_]){if(!d[_]){var P=typeof VJ=="function"&&VJ;if(!A&&P)return P(_,!0);if(y)return y(_,!0);var R=new Error("Cannot find module '"+_+"'");throw R.code="MODULE_NOT_FOUND",R}var B=p[_]={exports:{}};d[_][0].call(B.exports,function(j){var W=d[_][1][j];return b(W||j)},B,B.exports,u,d,p,v)}return p[_].exports}for(var y=typeof VJ=="function"&&VJ,E=0;E<v.length;E++)b(v[E]);return b}return u}()({1:[function(u,d,p){Object.defineProperty(p,"__esModule",{value:!0});var v=function(){function _(A,P){for(var R=0;R<P.length;R++){var B=P[R];B.enumerable=B.enumerable||!1,B.configurable=!0,"value"in B&&(B.writable=!0),Object.defineProperty(A,B.key,B)}}return function(A,P,R){return P&&_(A.prototype,P),R&&_(A,R),A}}();function b(_,A){if(!(_ instanceof A))throw new TypeError("Cannot call a class as a function")}var y=function(){function _(){var A=this,P=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},R=P.defaultLayoutOptions,B=R===void 0?{}:R,j=P.algorithms,W=j===void 0?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:j,ee=P.workerFactory,ie=P.workerUrl;if(b(this,_),this.defaultLayoutOptions=B,this.initialized=!1,typeof ie>"u"&&typeof ee>"u")throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var oe=ee;typeof ie<"u"&&typeof ee>"u"&&(oe=function(ae){return new Worker(ae)});var be=oe(ie);if(typeof be.postMessage!="function")throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new E(be),this.worker.postMessage({cmd:"register",algorithms:W}).then(function(ge){return A.initialized=!0}).catch(console.err)}return v(_,[{key:"layout",value:function(P){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},B=R.layoutOptions,j=B===void 0?this.defaultLayoutOptions:B,W=R.logging,ee=W===void 0?!1:W,ie=R.measureExecutionTime,oe=ie===void 0?!1:ie;return P?this.worker.postMessage({cmd:"layout",graph:P,layoutOptions:j,options:{logging:ee,measureExecutionTime:oe}}):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()}}]),_}();p.default=y;var E=function(){function _(A){var P=this;if(b(this,_),A===void 0)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=A,this.worker.onmessage=function(R){setTimeout(function(){P.receive(P,R)},0)}}return v(_,[{key:"postMessage",value:function(P){var R=this.id||0;this.id=R+1,P.id=R;var B=this;return new Promise(function(j,W){B.resolvers[R]=function(ee,ie){ee?(B.convertGwtStyleError(ee),W(ee)):j(ie)},B.worker.postMessage(P)})}},{key:"receive",value:function(P,R){var B=R.data,j=P.resolvers[B.id];j&&(delete P.resolvers[B.id],B.error?j(B.error):j(null,B.data))}},{key:"terminate",value:function(){this.worker.terminate&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(P){if(P){var R=P.__java$exception;R&&(R.cause&&R.cause.backingJsObject&&(P.cause=R.cause.backingJsObject,this.convertGwtStyleError(P.cause)),delete P.__java$exception)}}}]),_}()},{}],2:[function(u,d,p){(function(v){(function(){var b;typeof window<"u"?b=window:typeof v<"u"?b=v:typeof self<"u"&&(b=self);var y;function E(){}function _(){}function A(){}function P(){}function R(){}function B(){}function j(){}function W(){}function ee(){}function ie(){}function oe(){}function be(){}function ge(){}function ae(){}function ne(){}function se(){}function de(){}function X(){}function pe(){}function G(){}function xe(){}function U(){}function Be(){}function Pe(){}function je(){}function Ie(){}function Se(){}function Ce(){}function ke(){}function Ke(){}function zt(){}function Ne(){}function pn(){}function Tt(){}function Et(){}function Wt(){}function un(){}function yt(){}function Bt(){}function Ze(){}function Dt(){}function kt(){}function Nn(){}function ht(){}function qr(){}function xt(){}function Ri(){}function wi(){}function ia(){}function Hs(){}function mo(){}function Tr(){}function On(){}function Rn(){}function zn(){}function Ct(){}function gt(){}function on(){}function dn(){}function Ln(){}function Io(){}function Oo(){}function No(){}function Us(){}function uo(){}function Es(){}function Ou(){}function _c(){}function Kd(){}function qp(){}function Ul(){}function Ac(){}function Jc(){}function Ya(){}function Ba(){}function ha(){}function $o(){}function Lc(){}function Fa(){}function Ra(){}function ma(){}function Kh(){}function Po(){}function Hp(){}function Ug(){}function od(){}function cd(){}function w1(){}function kh(){}function Wd(){}function Yd(){}function Xd(){}function Zf(){}function Up(){}function u5(){}function bs(){}function Vt(){}function jr(){}function Ji(){}function Qo(){}function Hi(){}function Ui(){}function zs(){}function gi(){}function Bo(){}function Ot(){}function zu(){}function Gt(){}function Wh(){}function Vp(){}function J3(){}function q9(){}function l5(){}function Th(){}function Vg(){}function Em(){}function H9(){}function Cm(){}function h5(){}function y1(){}function ud(){}function ld(){}function U9(){}function Qv(){}function X7(){}function tb(){}function Q7(){}function f5(){}function Z3(){}function Gp(){}function lI(){}function sh(){}function cS(){}function lu(){}function eZ(){}function Sm(){}function tZ(){}function gj(){}function nZ(){}function pj(){}function z0(){}function ey(){}function uS(){}function bj(){}function nb(){}function ty(){}function rZ(){}function _m(){}function iZ(){}function sZ(){}function J7(){}function lS(){}function mj(){}function V9(){}function aZ(){}function G9(){}function oZ(){}function cZ(){}function uZ(){}function lZ(){}function hZ(){}function fZ(){}function dZ(){}function gZ(){}function pZ(){}function bZ(){}function mZ(){}function hI(){}function vZ(){}function wZ(){}function hS(){}function vj(){}function Z7(){}function yZ(){}function xZ(){}function kZ(){}function TZ(){}function EZ(){}function fS(){}function fI(){}function wj(){}function d5(){}function g5(){}function CZ(){}function e0(){}function e8(){}function SZ(){}function K9(){}function Qd(){}function _Z(){}function AZ(){}function LZ(){}function yj(){}function MZ(){}function dS(){}function gS(){}function xj(){}function dI(){}function t8(){}function DZ(){}function kj(){}function Tj(){}function IZ(){}function OZ(){}function NZ(){}function PZ(){}function BZ(){}function FZ(){}function Jd(){}function Jv(){}function RZ(){}function pS(){}function bS(){}function jZ(){}function p5(){}function W9(){}function gI(){}function ny(){}function Y9(){}function $Z(){}function mS(){}function hd(){}function Ej(){}function pI(){}function X9(){}function bI(){}function Cj(){}function zZ(){}function mI(){}function qZ(){}function HZ(){}function Sj(){}function n8(){}function _j(){}function r8(){}function UZ(){}function vI(){}function VZ(){}function GZ(){}function KZ(){}function WZ(){}function Aj(){}function YZ(){}function XZ(){}function Lj(){}function QZ(){}function JZ(){}function ZZ(){}function eee(){}function Mj(){}function tee(){}function nee(){}function Dj(){}function Ij(){}function Oj(){}function ree(){}function iee(){}function Q9(){}function i8(){}function vS(){}function see(){}function wI(){}function wS(){}function yI(){}function Nj(){}function Pj(){}function aee(){}function oee(){}function cee(){}function Bj(){}function Fj(){}function uee(){}function lee(){}function hee(){}function fee(){}function dee(){}function Rj(){}function gee(){}function pee(){}function bee(){}function mee(){}function jj(){}function yS(){}function vee(){}function wee(){}function $j(){}function yee(){}function xee(){}function kee(){}function Tee(){}function Eee(){}function Cee(){}function zj(){}function See(){}function qj(){}function _ee(){}function Aee(){}function Lee(){}function xS(){}function Mee(){}function kS(){}function Dee(){}function Hj(){}function Uj(){}function Vj(){}function Gj(){}function Zv(){}function Kj(){}function Wj(){}function Yj(){}function Xj(){}function Iee(){}function s8(){}function xI(){}function b5(){}function Oee(){}function Nee(){}function TS(){}function Qj(){}function Pee(){}function Bee(){}function Fee(){}function Ree(){}function jee(){}function $ee(){}function zee(){}function qee(){}function Hee(){}function Uee(){}function ES(){}function Jj(){}function Vee(){}function Gee(){}function Kee(){}function Wee(){}function Yee(){}function Zj(){}function e$(){}function Xee(){}function t$(){}function n$(){}function Qee(){}function Jee(){}function Zee(){}function ete(){}function tte(){}function nte(){}function rte(){}function ite(){}function kI(){}function ste(){}function J9(){}function r$(){}function ate(){}function ote(){}function cte(){}function ute(){}function lte(){}function hte(){}function fte(){}function dte(){}function gte(){}function pte(){}function bte(){}function mte(){}function vte(){}function wte(){}function yte(){}function a8(){}function i$(){}function xte(){}function kte(){}function Tte(){}function s$(){}function Ete(){}function CS(){}function Cte(){}function Ste(){}function _te(){}function Ate(){}function Lte(){}function Mte(){}function Dte(){}function Ite(){}function Ote(){}function Nte(){}function o8(){}function Pte(){}function Bte(){}function Fte(){}function Rte(){}function jte(){}function $te(){}function zte(){}function qte(){}function SS(){}function Hte(){}function Ute(){}function Vte(){}function Gte(){}function Kte(){}function Wte(){}function Yte(){}function Xte(){}function c8(){}function a$(){}function Qte(){}function TI(){}function Jte(){}function Zte(){}function ene(){}function tne(){}function nne(){}function rne(){}function ine(){}function o$(){}function sne(){}function c$(){}function ane(){}function u$(){}function l$(){}function h$(){}function one(){}function cne(){}function f$(){}function une(){}function d$(){}function lne(){}function hne(){}function EI(){}function fne(){}function dne(){}function gne(){}function pne(){}function bne(){}function g$(){}function mne(){}function vne(){}function wne(){}function Owe(){}function yne(){}function xne(){}function kne(){}function Tne(){}function Ene(){}function Cne(){}function Sne(){}function _ne(){}function Ane(){}function Lne(){}function Mne(){}function Dne(){}function Ine(){}function One(){}function Nne(){}function Pne(){}function hu(){}function Bne(){}function _S(){}function $c(){}function Nu(){}function hs(){}function CI(){}function Fne(){}function Rne(){}function jne(){}function u8(){}function Am(){}function Z9(){}function $ne(){}function SI(){}function zne(){}function qne(){}function Hne(){}function p$(){}function Une(){}function Vne(){}function _I(){}function Gne(){}function ah(){}function dl(){}function b$(){}function Kne(){}function Wne(){}function ry(){}function m5(){}function iy(){}function Kp(){}function l8(){}function AI(){}function m$(){}function v$(){}function Yne(){}function x1(){}function w$(){}function sy(){}function ek(){}function LI(){}function h8(){}function rb(){}function y$(){}function x$(){}function k$(){}function Xne(){}function f8(){}function ay(){}function Wp(){}function ib(){}function v5(){}function tk(){}function AS(){}function MI(){}function Qne(){}function Jne(){}function T$(){}function E$(){}function Kt(){}function nk(){}function C$(){}function S$(){}function Zne(){}function rk(){}function ik(){}function _$(){}function ere(){}function tre(){}function nre(){}function rre(){}function ire(){}function sre(){}function DI(){}function are(){}function ore(){}function A$(){}function LS(){}function cre(){}function II(){}function sk(){}function ak(){}function ok(){}function L$(){}function ure(){}function M$(){}function D$(){}function lre(){}function MS(){}function sb(){}function I$(){}function O$(){}function DS(){}function hre(){}function w5(){}function N$(){}function OI(){}function Zc(){}function NI(){}function PI(){}function IS(){}function fre(){}function dre(){}function OS(){}function gre(){}function NS(){}function PS(){}function q0(){}function BI(){}function FI(){}function d8(){}function pre(){}function bre(){}function mre(){}function vre(){}function Zd(){}function BS(){}function g8(){}function k1(){}function P$(){}function B$(){}function F$(){}function R$(){}function j$(){}function $$(){}function H0(){}function tl(){}function wre(){}function yre(){}function xre(){}function nl(){}function FS(){}function z$(){}function q$(){}function p8(){}function kre(){}function ck(){}function Tre(){}function H$(){}function Ere(){}function Cre(){}function RS(){}function U$(){}function RI(){}function jS(){}function Sre(){}function _re(){}function jI(){}function $S(){}function T1(){}function uk(){}function Are(){}function lk(){}function $I(){}function Lm(){}function zS(){}function zI(){}function U0(){}function qS(){}function E1(){}function C1(){}function Lre(){}function Mre(){}function y5(){}function hk(){}function fk(){}function HS(){}function Dre(){}function Ire(){}function b8(){}function V$(){}function G$(){}function Ore(){}function K$(){}function Nre(){}function W$(){}function qI(){}function Pre(){}function US(){}function Bre(){}function Fre(){}function Rre(){}function jre(){}function $re(){}function Y$(){}function zre(){}function qre(){}function Hre(){}function X$(){}function Ure(){}function Vre(){}function VS(){}function Gre(){}function Kre(){}function Wre(){}function Yre(){}function Xre(){}function Qre(){}function Q$(){}function Jre(){}function J$(){}function Zre(){}function HI(){}function eie(){}function Z$(){}function tie(){}function ez(){}function nie(){}function tz(){}function nz(){}function rz(){}function UI(){}function x5(){}function GS(){}function S1(){}function iz(){}function dk(){}function VI(){}function sz(){}function Mm(){}function az(){}function KS(){c_()}function rie(){fO()}function oz(){yV()}function cz(){Hce()}function uz(){OA()}function WS(){g9e()}function YS(){p0()}function lz(){Exe()}function hz(){JN()}function m8(){dO()}function ew(){zO()}function gk(){qet()}function fz(){hx()}function iie(){blt()}function dz(){T7e()}function v8(){ict()}function GI(){E7e()}function gz(){Klt()}function sie(){rct()}function pz(){ST()}function XS(){Mft()}function QS(){Lft()}function KI(){Zct()}function aie(){Dft()}function oie(){Nb()}function cie(){oq()}function uie(){dTe()}function lie(){Nt()}function hie(){Ift()}function fie(){s0t()}function die(){sct()}function gie(){Mgt()}function pie(){act()}function bie(){Umt()}function mie(){V9e()}function vie(){sp()}function wie(){V1t()}function w8(){Vc()}function yie(){pct()}function pk(){lx()}function Cf(){_ke()}function xie(){Pb()}function bk(){Ake()}function JS(){z1()}function kie(){rP()}function Tie(){ple()}function Eie(){Eue()}function Sf(){Vit()}function Cie(){aU()}function Sie(){SV()}function bz(){bi()}function _ie(){qU()}function mz(){exe()}function vz(){Ece()}function wz(){WV()}function yz(){jke()}function t0(e){tr(e)}function xz(e){this.a=e}function ZS(e){this.a=e}function kz(e){this.a=e}function Tz(e){this.a=e}function Aie(e){this.a=e}function Lie(e){this.a=e}function Ez(e){this.a=e}function Mie(e){this.a=e}function Cz(e){this.a=e}function ab(e){this.a=e}function Die(e){this.a=e}function Iie(e){this.a=e}function WI(e){this.a=e}function Oie(e){this.a=e}function Nie(e){this.a=e}function mk(e){this.a=e}function ob(e){this.a=e}function Sz(e){this.a=e}function vk(e){this.a=e}function k5(e){this.a=e}function YI(e){this.a=e}function y8(e){this.a=e}function XI(e){this.b=e}function Gg(e){this.c=e}function Pie(e){this.a=e}function oy(e){this.a=e}function _z(e){this.a=e}function Az(e){this.a=e}function QI(e){this.a=e}function JI(e){this.a=e}function Lz(e){this.a=e}function x8(e){this.a=e}function wk(e){this.a=e}function Bie(e){this.a=e}function Mz(e){this.a=e}function Dz(e){this.a=e}function Iz(e){this.a=e}function Oz(e){this.a=e}function zc(e){this.a=e}function yk(e){this.a=e}function xk(e){this.a=e}function Yp(){this.a=[]}function Fie(e,t){e.a=t}function Rie(e,t){e.a=t}function jie(e,t){e.b=t}function $ie(e,t){e.b=t}function zie(e,t){e.b=t}function Nz(e,t){e.j=t}function Nwe(e,t){e.g=t}function Pz(e,t){e.i=t}function qie(e,t){e.c=t}function k8(e,t){e.c=t}function Pwe(e,t){e.d=t}function T8(e,t){e.d=t}function x(e,t){e.k=t}function m(e,t){e.c=t}function k(e,t){e.c=t}function S(e,t){e.a=t}function M(e,t){e.a=t}function O(e,t){e.f=t}function N(e,t){e.a=t}function $(e,t){e.b=t}function H(e,t){e.d=t}function q(e,t){e.i=t}function Y(e,t){e.o=t}function Z(e,t){e.r=t}function ce(e,t){e.a=t}function ve(e,t){e.b=t}function me(e,t){e.e=t}function Le(e,t){e.f=t}function _e(e,t){e.g=t}function Te(e,t){e.e=t}function Fe(e,t){e.f=t}function Re(e,t){e.f=t}function Ve(e,t){e.a=t}function ct(e,t){e.b=t}function st(e,t){e.n=t}function Ye(e,t){e.a=t}function vt(e,t){e.c=t}function Qe(e,t){e.c=t}function Lt(e,t){e.c=t}function Mt(e,t){e.a=t}function ut(e,t){e.a=t}function Yt(e,t){e.d=t}function St(e,t){e.d=t}function _n(e,t){e.e=t}function fn(e,t){e.e=t}function Xt(e,t){e.g=t}function Dn(e,t){e.f=t}function rr(e,t){e.j=t}function mr(e,t){e.a=t}function Pn(e,t){e.a=t}function gr(e,t){e.b=t}function kr(e){e.b=e.a}function Lr(e){e.c=e.d.d}function Er(e){this.a=e}function Ir(e){this.a=e}function Kn(e){this.a=e}function pr(e){this.a=e}function Cr(e){this.a=e}function Or(e){this.a=e}function _i(e){this.a=e}function xs(e){this.a=e}function va(e){this.a=e}function Di(e){this.a=e}function pi(e){this.a=e}function fs(e){this.a=e}function Fs(e){this.a=e}function ks(e){this.a=e}function Rs(e){this.b=e}function vo(e){this.b=e}function ja(e){this.b=e}function Ma(e){this.a=e}function Fo(e){this.a=e}function er(e){this.c=e}function K(e){this.c=e}function Qn(e){this.c=e}function xr(e){this.d=e}function ur(e){this.a=e}function Ut(e){this.a=e}function Vs(e){this.a=e}function vr(e){this.a=e}function Cs(e){this.a=e}function lo(e){this.a=e}function qc(e){this.a=e}function $a(e){this.a=e}function Mc(e){this.a=e}function wa(e){this.a=e}function wo(e){this.a=e}function oh(e){this.a=e}function Vl(e){this.a=e}function cb(e){this.a=e}function ub(e){this.a=e}function V0(e){this.a=e}function Xp(e){this.a=e}function fd(e){this.a=e}function tw(e){this.a=e}function cy(e){this.a=e}function E8(e){this.a=e}function T5(e){this.a=e}function C8(e){this.a=e}function e_(e){this.a=e}function E5(e){this.a=e}function eg(e){this.a=e}function _1(e){this.a=e}function tg(e){this.a=e}function nw(e){this.a=e}function Dm(e){this.a=e}function Bz(e){this.a=e}function Hie(e){this.a=e}function Uie(e){this.a=e}function t_(e){this.a=e}function Vie(e){this.a=e}function Gie(e){this.a=e}function C5(e){this.a=e}function Fz(e){this.a=e}function kk(e){this.a=e}function ZI(e){this.a=e}function n_(e){this.a=e}function Rz(e){this.a=e}function jz(e){this.a=e}function Kie(e){this.a=e}function Qp(e){this.a=e}function r_(e){this.a=e}function eO(e){this.a=e}function Im(e){this.a=e}function ng(e){this.e=e}function S5(e){this.a=e}function pYe(e){this.a=e}function S8(e){this.a=e}function Bwe(e){this.a=e}function bYe(e){this.a=e}function mYe(e){this.a=e}function vYe(e){this.a=e}function wYe(e){this.a=e}function yYe(e){this.a=e}function xYe(e){this.a=e}function kYe(e){this.a=e}function TYe(e){this.a=e}function EYe(e){this.a=e}function CYe(e){this.a=e}function SYe(e){this.a=e}function Fwe(e){this.a=e}function _Ye(e){this.a=e}function AYe(e){this.a=e}function LYe(e){this.a=e}function MYe(e){this.a=e}function DYe(e){this.a=e}function IYe(e){this.a=e}function OYe(e){this.a=e}function NYe(e){this.a=e}function PYe(e){this.a=e}function BYe(e){this.a=e}function FYe(e){this.a=e}function RYe(e){this.a=e}function jYe(e){this.a=e}function $Ye(e){this.a=e}function zYe(e){this.a=e}function qYe(e){this.a=e}function HYe(e){this.a=e}function UYe(e){this.a=e}function VYe(e){this.a=e}function GYe(e){this.a=e}function KYe(e){this.a=e}function WYe(e){this.a=e}function YYe(e){this.a=e}function XYe(e){this.a=e}function QYe(e){this.a=e}function JYe(e){this.a=e}function ZYe(e){this.a=e}function eXe(e){this.a=e}function tXe(e){this.a=e}function nXe(e){this.a=e}function rXe(e){this.a=e}function iXe(e){this.a=e}function sXe(e){this.a=e}function aXe(e){this.a=e}function oXe(e){this.a=e}function cXe(e){this.a=e}function uXe(e){this.a=e}function lXe(e){this.a=e}function hXe(e){this.c=e}function fXe(e){this.b=e}function dXe(e){this.a=e}function gXe(e){this.a=e}function pXe(e){this.a=e}function bXe(e){this.a=e}function mXe(e){this.a=e}function vXe(e){this.a=e}function wXe(e){this.a=e}function yXe(e){this.a=e}function xXe(e){this.a=e}function kXe(e){this.a=e}function TXe(e){this.a=e}function EXe(e){this.a=e}function CXe(e){this.a=e}function SXe(e){this.a=e}function _Xe(e){this.a=e}function AXe(e){this.a=e}function LXe(e){this.a=e}function MXe(e){this.a=e}function DXe(e){this.a=e}function IXe(e){this.a=e}function OXe(e){this.a=e}function NXe(e){this.a=e}function PXe(e){this.a=e}function BXe(e){this.a=e}function FXe(e){this.a=e}function RXe(e){this.a=e}function jXe(e){this.a=e}function Kg(e){this.a=e}function _5(e){this.a=e}function $Xe(e){this.a=e}function zXe(e){this.a=e}function qXe(e){this.a=e}function HXe(e){this.a=e}function UXe(e){this.a=e}function VXe(e){this.a=e}function GXe(e){this.a=e}function KXe(e){this.a=e}function WXe(e){this.a=e}function YXe(e){this.a=e}function XXe(e){this.a=e}function QXe(e){this.a=e}function JXe(e){this.a=e}function ZXe(e){this.a=e}function eQe(e){this.a=e}function tQe(e){this.a=e}function nQe(e){this.a=e}function rQe(e){this.a=e}function iQe(e){this.a=e}function sQe(e){this.a=e}function aQe(e){this.a=e}function oQe(e){this.a=e}function cQe(e){this.a=e}function uQe(e){this.a=e}function lQe(e){this.a=e}function hQe(e){this.a=e}function $z(e){this.a=e}function fQe(e){this.f=e}function dQe(e){this.a=e}function gQe(e){this.a=e}function pQe(e){this.a=e}function bQe(e){this.a=e}function mQe(e){this.a=e}function vQe(e){this.a=e}function wQe(e){this.a=e}function yQe(e){this.a=e}function xQe(e){this.a=e}function kQe(e){this.a=e}function TQe(e){this.a=e}function EQe(e){this.a=e}function CQe(e){this.a=e}function SQe(e){this.a=e}function _Qe(e){this.a=e}function AQe(e){this.a=e}function LQe(e){this.a=e}function MQe(e){this.a=e}function DQe(e){this.a=e}function IQe(e){this.a=e}function OQe(e){this.a=e}function NQe(e){this.a=e}function PQe(e){this.a=e}function BQe(e){this.a=e}function FQe(e){this.a=e}function RQe(e){this.a=e}function jQe(e){this.a=e}function $Qe(e){this.a=e}function Wie(e){this.a=e}function Rwe(e){this.a=e}function Ki(e){this.b=e}function zQe(e){this.a=e}function qQe(e){this.a=e}function HQe(e){this.a=e}function UQe(e){this.a=e}function VQe(e){this.a=e}function GQe(e){this.a=e}function KQe(e){this.a=e}function WQe(e){this.b=e}function YQe(e){this.a=e}function tO(e){this.a=e}function XQe(e){this.a=e}function QQe(e){this.a=e}function jwe(e){this.c=e}function zz(e){this.e=e}function qz(e){this.a=e}function Hz(e){this.a=e}function Yie(e){this.a=e}function JQe(e){this.d=e}function ZQe(e){this.a=e}function $we(e){this.a=e}function zwe(e){this.a=e}function rw(e){this.e=e}function Jcn(){this.a=0}function Nr(){Dl(this)}function mt(){uae(this)}function Xie(){Rat(this)}function eJe(){}function iw(){this.c=KPe}function tJe(e,t){e.b+=t}function Zcn(e,t){t.Wb(e)}function eun(e){return e.a}function tun(e){return e.a}function nun(e){return e.a}function run(e){return e.a}function iun(e){return e.a}function ue(e){return e.e}function sun(){return null}function aun(){return null}function oun(){S3e(),$In()}function cun(e){e.b.Of(e.e)}function nJe(e){e.b=new bse}function i_(e,t){e.b=t-e.b}function s_(e,t){e.a=t-e.a}function qn(e,t){e.push(t)}function rJe(e,t){e.sort(t)}function iJe(e,t){t.jd(e.a)}function uun(e,t){ga(t,e)}function lun(e,t,n){e.Yd(n,t)}function nO(e,t){e.e=t,t.b=e}function qwe(e){wd(),this.a=e}function sJe(e){wd(),this.a=e}function aJe(e){wd(),this.a=e}function Qie(e){Sw(),this.a=e}function oJe(e){Jk(),$0e.le(e)}function Hwe(){Hwe=U,new Nr}function Om(){Art.call(this)}function Uwe(){Art.call(this)}function Vwe(){Om.call(this)}function Jie(){Om.call(this)}function cJe(){Om.call(this)}function rO(){Om.call(this)}function gl(){Om.call(this)}function _8(){Om.call(this)}function Qr(){Om.call(this)}function Yh(){Om.call(this)}function uJe(){Om.call(this)}function Dc(){Om.call(this)}function lJe(){Om.call(this)}function hJe(){this.a=this}function Uz(){this.Bb|=256}function fJe(){this.b=new xnt}function uy(e,t){e.length=t}function Vz(e,t){wt(e.a,t)}function hun(e,t){b9e(e.c,t)}function fun(e,t){sa(e.b,t)}function dun(e,t){gV(e.a,t)}function gun(e,t){Qce(e.a,t)}function Tk(e,t){Bi(e.e,t)}function A8(e){MV(e.c,e.b)}function pun(e,t){e.kc().Nb(t)}function Gwe(e){this.a=o5n(e)}function Ys(){this.a=new Nr}function dJe(){this.a=new Nr}function Kwe(){this.a=new Net}function Gz(){this.a=new mt}function Zie(){this.a=new mt}function Wwe(){this.a=new mt}function _f(){this.a=new qp}function Nm(){this.a=new llt}function Ywe(){this.a=new Em}function Xwe(){this.a=new nct}function Qwe(){this.a=new git}function gJe(){this.a=new mt}function pJe(){this.a=new mt}function bJe(){this.a=new mt}function Jwe(){this.a=new mt}function mJe(){this.d=new mt}function vJe(){this.a=new kct}function wJe(){this.a=new Ys}function yJe(){this.a=new Nr}function xJe(){this.b=new Nr}function kJe(){this.b=new mt}function Zwe(){this.e=new mt}function TJe(){this.a=new oie}function EJe(){this.d=new mt}function CJe(){_ot.call(this)}function SJe(){_ot.call(this)}function _Je(){mt.call(this)}function e3e(){Vwe.call(this)}function t3e(){Gz.call(this)}function AJe(){Qq.call(this)}function LJe(){Jwe.call(this)}function a_(){eJe.call(this)}function ese(){a_.call(this)}function L8(){eJe.call(this)}function n3e(){L8.call(this)}function MJe(){a3e.call(this)}function DJe(){a3e.call(this)}function IJe(){a3e.call(this)}function OJe(){o3e.call(this)}function o_(){cre.call(this)}function r3e(){cre.call(this)}function pl(){os.call(this)}function NJe(){YJe.call(this)}function PJe(){YJe.call(this)}function BJe(){Nr.call(this)}function FJe(){Nr.call(this)}function RJe(){Nr.call(this)}function tse(){Pft.call(this)}function jJe(){Ys.call(this)}function $Je(){Uz.call(this)}function nse(){$ye.call(this)}function i3e(){Nr.call(this)}function rse(){$ye.call(this)}function ise(){Nr.call(this)}function zJe(){Nr.call(this)}function s3e(){w5.call(this)}function qJe(){s3e.call(this)}function HJe(){w5.call(this)}function UJe(){sz.call(this)}function a3e(){this.a=new Ys}function VJe(){this.a=new Nr}function GJe(){this.a=new mt}function o3e(){this.a=new Nr}function M8(){this.a=new os}function KJe(){this.j=new mt}function WJe(){this.a=new GZe}function YJe(){this.a=new hre}function c3e(){this.a=new hs}function c_(){c_=U,I0e=new _}function sse(){sse=U,O0e=new QJe}function ase(){ase=U,N0e=new XJe}function XJe(){mk.call(this,"")}function QJe(){mk.call(this,"")}function JJe(e){ift.call(this,e)}function ZJe(e){ift.call(this,e)}function u3e(e){Cz.call(this,e)}function l3e(e){ket.call(this,e)}function bun(e){ket.call(this,e)}function mun(e){l3e.call(this,e)}function vun(e){l3e.call(this,e)}function wun(e){l3e.call(this,e)}function eZe(e){Roe.call(this,e)}function tZe(e){Roe.call(this,e)}function nZe(e){Bit.call(this,e)}function rZe(e){O3e.call(this,e)}function u_(e){rq.call(this,e)}function h3e(e){rq.call(this,e)}function iZe(e){rq.call(this,e)}function f3e(e){z9n.call(this,e)}function d3e(e){f3e.call(this,e)}function Ic(e){rat.call(this,e)}function sZe(e){Ic.call(this,e)}function D8(){xk.call(this,{})}function aZe(){aZe=U,H6t=new G}function Kz(){Kz=U,F0e=new irt}function oZe(){oZe=U,u_e=new E}function g3e(){g3e=U,l_e=new ae}function Wz(){Wz=U,PL=new de}function ose(e){Pk(),this.a=e}function cse(e){z7e(),this.a=e}function sw(e){Gae(),this.f=e}function use(e){Gae(),this.f=e}function cZe(e){Uit(),this.a=e}function uZe(e){e.b=null,e.c=0}function yun(e,t){e.e=t,Ubt(e,t)}function xun(e,t){e.a=t,Akn(e)}function lse(e,t,n){e.a[t.g]=n}function kun(e,t,n){H8n(n,e,t)}function Tun(e,t){v0n(t.i,e.n)}function lZe(e,t){qyn(e).Cd(t)}function Eun(e,t){e.a.ec().Mc(t)}function hZe(e,t){return e.g-t.g}function Cun(e,t){return e*e/t}function Ft(e){return tr(e),e}function ze(e){return tr(e),e}function iO(e){return tr(e),e}function Sun(e){return new yk(e)}function _un(e){return new Ty(e)}function p3e(e){return tr(e),e}function Aun(e){return tr(e),e}function Yz(e){Ic.call(this,e)}function rc(e){Ic.call(this,e)}function fZe(e){Ic.call(this,e)}function hse(e){rat.call(this,e)}function Ek(e){Ic.call(this,e)}function Wn(e){Ic.call(this,e)}function ic(e){Ic.call(this,e)}function dZe(e){Ic.call(this,e)}function I8(e){Ic.call(this,e)}function Jp(e){Ic.call(this,e)}function Zp(e){Ic.call(this,e)}function O8(e){Ic.call(this,e)}function dd(e){Ic.call(this,e)}function fse(e){Ic.call(this,e)}function ri(e){Ic.call(this,e)}function Ll(e){tr(e),this.a=e}function b3e(e){return Zm(e),e}function l_(e){A5e(e,e.length)}function h_(e){return e.b==e.c}function ly(e){return!!e&&e.b}function Lun(e){return!!e&&e.k}function Mun(e){return!!e&&e.j}function Dun(e,t,n){e.c.Ef(t,n)}function gZe(e,t){e.be(t),t.ae(e)}function N8(e){wd(),this.a=Xr(e)}function dse(){this.a=Zr(Xr(To))}function pZe(){throw ue(new Qr)}function Iun(){throw ue(new Qr)}function m3e(){throw ue(new Qr)}function bZe(){throw ue(new Qr)}function Oun(){throw ue(new Qr)}function Nun(){throw ue(new Qr)}function Xz(){Xz=U,Jk()}function e2(){Or.call(this,"")}function f_(){Or.call(this,"")}function lb(){Or.call(this,"")}function A5(){Or.call(this,"")}function v3e(e){rc.call(this,e)}function w3e(e){rc.call(this,e)}function gd(e){Wn.call(this,e)}function Ck(e){ja.call(this,e)}function mZe(e){Ck.call(this,e)}function gse(e){Gq.call(this,e)}function pse(e){Jye.call(this,e,0)}function bse(){l6e.call(this,12,3)}function le(e,t){return Xot(e,t)}function Qz(e,t){return Zoe(e,t)}function Pun(e,t){return e.a-t.a}function Bun(e,t){return e.a-t.a}function Fun(e,t){return e.a-t.a}function Run(e,t){return t in e.a}function vZe(e){return e.a?e.b:0}function jun(e){return e.a?e.b:0}function $un(e,t,n){t.Cd(e.a[n])}function zun(e,t,n){t.Pe(e.a[n])}function qun(e,t){e.b=new xo(t)}function Hun(e,t){return e.b=t,e}function wZe(e,t){return e.c=t,e}function yZe(e,t){return e.f=t,e}function Uun(e,t){return e.g=t,e}function y3e(e,t){return e.a=t,e}function x3e(e,t){return e.f=t,e}function Vun(e,t){return e.k=t,e}function k3e(e,t){return e.a=t,e}function Gun(e,t){return e.e=t,e}function T3e(e,t){return e.e=t,e}function Kun(e,t){return e.f=t,e}function Wun(e,t){e.b=!0,e.d=t}function Yun(e,t){return e.b-t.b}function Xun(e,t){return e.g-t.g}function Qun(e,t){return e?0:t-1}function xZe(e,t){return e?0:t-1}function Jun(e,t){return e?t-1:0}function Zun(e,t){return e.s-t.s}function eln(e,t){return t.rg(e)}function aw(e,t){return e.b=t,e}function Jz(e,t){return e.a=t,e}function ow(e,t){return e.c=t,e}function cw(e,t){return e.d=t,e}function uw(e,t){return e.e=t,e}function E3e(e,t){return e.f=t,e}function d_(e,t){return e.a=t,e}function Sk(e,t){return e.b=t,e}function _k(e,t){return e.c=t,e}function Jt(e,t){return e.c=t,e}function yn(e,t){return e.b=t,e}function Zt(e,t){return e.d=t,e}function en(e,t){return e.e=t,e}function tln(e,t){return e.f=t,e}function tn(e,t){return e.g=t,e}function nn(e,t){return e.a=t,e}function rn(e,t){return e.i=t,e}function sn(e,t){return e.j=t,e}function nln(e,t){Nb(),Nc(t,e)}function rln(e,t,n){wgn(e.a,t,n)}function Zz(e){_ae.call(this,e)}function kZe(e){k5n.call(this,e)}function TZe(e){iot.call(this,e)}function C3e(e){iot.call(this,e)}function hb(e){Bw.call(this,e)}function EZe(e){boe.call(this,e)}function CZe(e){boe.call(this,e)}function SZe(){Nye.call(this,"")}function za(){this.a=0,this.b=0}function _Ze(){this.b=0,this.a=0}function AZe(e,t){e.b=0,Oy(e,t)}function LZe(e,t){return e.k=t,e}function iln(e,t){return e.j=t,e}function sln(e,t){e.c=t,e.b=!0}function MZe(){MZe=U,n7t=bxn()}function fb(){fb=U,Y_t=_8n()}function DZe(){DZe=U,La=jxn()}function S3e(){S3e=U,am=dT()}function Ak(){Ak=U,GPe=A8n()}function IZe(){IZe=U,OAt=L8n()}function _3e(){_3e=U,ru=Ckn()}function G0(e){return e.e&&e.e()}function OZe(e){return e.l|e.m<<22}function NZe(e,t){return e.c._b(t)}function PZe(e,t){return N1t(e.b,t)}function mse(e){return e?e.d:null}function aln(e){return e?e.g:null}function oln(e){return e?e.i:null}function Pm(e){return Xg(e),e.o}function L5(e,t){return e.a+=t,e}function vse(e,t){return e.a+=t,e}function t2(e,t){return e.a+=t,e}function lw(e,t){return e.a+=t,e}function A3e(e,t){for(;e.Bd(t););}function eq(e){this.a=new P8(e)}function BZe(){throw ue(new Qr)}function FZe(){throw ue(new Qr)}function RZe(){throw ue(new Qr)}function jZe(){throw ue(new Qr)}function $Ze(){throw ue(new Qr)}function zZe(){throw ue(new Qr)}function n2(e){this.a=new Yae(e)}function qZe(){this.a=new GA(zIe)}function HZe(){this.b=new GA(aIe)}function UZe(){this.a=new GA(hOe)}function VZe(){this.b=new GA(Lge)}function GZe(){this.b=new GA(Lge)}function tq(e){this.a=0,this.b=e}function L3e(e){kwt(),ZIn(this,e)}function Lk(e){return xb(e),e.a}function sO(e){return e.b!=e.d.c}function M3e(e,t){return e.d[t.p]}function KZe(e,t){return bSn(e,t)}function D3e(e,t,n){e.splice(t,n)}function M5(e,t){for(;e.Re(t););}function WZe(e){e.c?cmt(e):umt(e)}function YZe(){throw ue(new Qr)}function XZe(){throw ue(new Qr)}function QZe(){throw ue(new Qr)}function JZe(){throw ue(new Qr)}function ZZe(){throw ue(new Qr)}function eet(){throw ue(new Qr)}function tet(){throw ue(new Qr)}function net(){throw ue(new Qr)}function ret(){throw ue(new Qr)}function iet(){throw ue(new Qr)}function cln(){throw ue(new Dc)}function uln(){throw ue(new Dc)}function aO(e){this.a=new set(e)}function set(e){d3n(this,e,V9n())}function oO(e){return!e||Fat(e)}function cO(e){return nd[e]!=-1}function lln(){dK!=0&&(dK=0),gK=-1}function aet(){D0e==null&&(D0e=[])}function uO(e,t){U5.call(this,e,t)}function Mk(e,t){uO.call(this,e,t)}function oet(e,t){this.a=e,this.b=t}function cet(e,t){this.a=e,this.b=t}function uet(e,t){this.a=e,this.b=t}function het(e,t){this.a=e,this.b=t}function fet(e,t){this.a=e,this.b=t}function det(e,t){this.a=e,this.b=t}function get(e,t){this.a=e,this.b=t}function Dk(e,t){this.e=e,this.d=t}function I3e(e,t){this.b=e,this.c=t}function pet(e,t){this.b=e,this.a=t}function bet(e,t){this.b=e,this.a=t}function met(e,t){this.b=e,this.a=t}function vet(e,t){this.b=e,this.a=t}function wet(e,t){this.a=e,this.b=t}function wse(e,t){this.a=e,this.b=t}function yet(e,t){this.a=e,this.f=t}function hw(e,t){this.g=e,this.i=t}function Vr(e,t){this.f=e,this.g=t}function xet(e,t){this.b=e,this.c=t}function ket(e){qye(e.dc()),this.c=e}function hln(e,t){this.a=e,this.b=t}function Tet(e,t){this.a=e,this.b=t}function Eet(e){this.a=l(Xr(e),15)}function O3e(e){this.a=l(Xr(e),15)}function Cet(e){this.a=l(Xr(e),85)}function nq(e){this.b=l(Xr(e),85)}function rq(e){this.b=l(Xr(e),51)}function iq(){this.q=new b.Date}function yse(e,t){this.a=e,this.b=t}function _et(e,t){return Hu(e.b,t)}function lO(e,t){return e.b.Hc(t)}function Aet(e,t){return e.b.Ic(t)}function Let(e,t){return e.b.Qc(t)}function Met(e,t){return e.b.Hc(t)}function Det(e,t){return e.c.uc(t)}function Iet(e,t){return Fi(e.c,t)}function K0(e,t){return e.a._b(t)}function Oet(e,t){return e>t&&t<iL}function g_(e){return e.f.c+e.i.c}function fln(e){return kat(),e?q6t:z6t}function P8(e){V0t.call(this,e,0)}function Net(){Yae.call(this,null)}function B8(e){this.c=e,Oht(this)}function os(){Jnt(this),Ch(this)}function Wg(){Wg=U,K6t=new Be}function Ik(){Ik=U,ME=new Ie}function hy(){hy=U,G0e=new wnt}function sq(){sq=U,i7t=new ynt}function Ok(){Ok=U,F_e=new Ze}function N3e(){Yoe.call(this,null)}function Bm(){Bm=U,qx=new dn}function Os(e,t){xb(e),e.a.Nb(t)}function dln(e,t){return e.a.Xc(t)}function gln(e,t){return e.a.Yc(t)}function xse(e,t){return e.a.$c(t)}function kse(e,t){return e.a._c(t)}function pln(e,t){return e.Gc(t),e}function bln(e,t){return Ga(e,t),e}function mln(e,t){ile(tt(e.a),t)}function vln(e,t){ile(tt(e.a),t)}function Pet(e,t){return e.Gc(t),e}function wln(e,t){return e.a.f=t,e}function Bet(e,t){return e.a.d=t,e}function Fet(e,t){return e.a.g=t,e}function Ret(e,t){return e.a.j=t,e}function n0(e,t){return e.a.a=t,e}function r0(e,t){return e.a.d=t,e}function i0(e,t){return e.a.e=t,e}function s0(e,t){return e.a.g=t,e}function hO(e,t){return e.a.f=t,e}function yln(e){return e.b=!1,e}function jet(){jet=U,g7t=new Us}function aq(){aq=U,a1e=new Urt}function P3e(){P3e=U,J8t=new Cm}function $et(){$et=U,Z8t=new tb}function B3e(){B3e=U,ext=new Vst}function F3e(){F3e=U,OAe=new Gp}function zet(){zet=U,uxt=new z0}function p_(){p_=U,hxt=new ey}function fO(){fO=U,pxt=new hS}function dO(){dO=U,gxt=new za}function qet(){qet=U,wxt=new Jd}function b_(){b_=U,_xt=new xS}function oq(){oq=U,N6=new jee}function cq(){cq=U,STt=new ere}function uq(){uq=U,Mge=new Uet}function lq(){lq=U,Dge=new Hrt}function m_(){m_=U,XB=new Uat}function Het(){Aft(),this.c=new bse}function Uet(){Vr.call(this,Eyt,0)}function xln(e,t,n){sc(e.d,t.f,n)}function kln(e,t,n,r){J6n(e,r,t,n)}function Tln(e,t,n,r){TCn(r,e,t,n)}function Eln(e,t,n,r){ZDn(r,e,t,n)}function v_(e,t){y2(e.c.c,t.b,t)}function fw(e,t){y2(e.c.b,t.c,t)}function Cln(e){return e.e.b+e.f.b}function Sln(e){return e.e.a+e.f.a}function _ln(e){return e.b?e.b:e.a}function Aln(e){return(e.c+e.a)/2}function Vet(e,t){return c8n(e.a,t)}function w_(e,t){return e.a=t.g,e}function R3e(){R3e=U,VPe=new zJe}function Get(){Get=U,pAt=new RJe}function dw(){dw=U,K_t=new tre}function Ket(){Ket=U,tAt=new ure}function Wet(){Wet=U,gAt=new FJe}function db(){db=U,Gf=new i3e}function hq(){hq=U,LY=new Nr}function y_(){y_=U,mpe=new nrt}function r2(){r2=U,xF=new rrt}function Tse(){Tse=U,LAt=new Mre}function Ro(){Ro=U,DAt=new y5}function gb(){gb=U,lm=new az}function j3e(){j3e=U,nBe=new mt}function fq(e){return l(e,44).ld()}function Ese(e){return e.b<e.d.gc()}function Lln(e,t){return t.split(e)}function Cse(e,t){return su(e,t)>0}function Sse(e,t){return su(e,t)<0}function Yet(e,t){return qae(e.a,t)}function Mln(e,t){Qot.call(this,e,t)}function $3e(e){ooe(),Bit.call(this,e)}function z3e(e,t){Ust(e,e.length,t)}function gO(e,t){vat(e,e.length,t)}function x_(e,t){return e.a.get(t)}function Xet(e,t){return Hu(e.e,t)}function q3e(e){return tr(e),!1}function H3e(e){this.a=l(Xr(e),229)}function dq(e){kn.call(this,e,21)}function gq(e,t){Vr.call(this,e,t)}function _se(e,t){Vr.call(this,e,t)}function Qet(e,t){this.b=e,this.a=t}function pq(e,t){this.d=e,this.e=t}function Jet(e,t){this.a=e,this.b=t}function Zet(e,t){this.a=e,this.b=t}function ett(e,t){this.a=e,this.b=t}function ttt(e,t){this.a=e,this.b=t}function F8(e,t){this.a=e,this.b=t}function ntt(e,t){this.b=e,this.a=t}function U3e(e,t){this.b=e,this.a=t}function V3e(e,t){Vr.call(this,e,t)}function G3e(e,t){Vr.call(this,e,t)}function D5(e,t){Vr.call(this,e,t)}function Ase(e,t){Vr.call(this,e,t)}function Lse(e,t){Vr.call(this,e,t)}function Mse(e,t){Vr.call(this,e,t)}function bq(e,t){Vr.call(this,e,t)}function K3e(e,t){this.b=e,this.a=t}function mq(e,t){Vr.call(this,e,t)}function W3e(e,t){this.b=e,this.a=t}function vq(e,t){Vr.call(this,e,t)}function rtt(e,t){this.b=e,this.a=t}function Y3e(e,t){Vr.call(this,e,t)}function Dse(e,t){Vr.call(this,e,t)}function pO(e,t){Vr.call(this,e,t)}function k_(e,t,n){e.splice(t,0,n)}function Dln(e,t,n){e.Mb(n)&&t.Cd(n)}function Iln(e,t,n){t.Pe(e.a.Ye(n))}function Oln(e,t,n){t.Dd(e.a.Ze(n))}function Nln(e,t,n){t.Cd(e.a.Kb(n))}function Pln(e,t){return ml(e.c,t)}function Bln(e,t){return ml(e.e,t)}function wq(e,t){Vr.call(this,e,t)}function yq(e,t){Vr.call(this,e,t)}function T_(e,t){Vr.call(this,e,t)}function X3e(e,t){Vr.call(this,e,t)}function Xs(e,t){Vr.call(this,e,t)}function xq(e,t){Vr.call(this,e,t)}function itt(e,t){this.a=e,this.b=t}function stt(e,t){this.a=e,this.b=t}function att(e,t){this.a=e,this.b=t}function ott(e,t){this.a=e,this.b=t}function ctt(e,t){this.a=e,this.b=t}function utt(e,t){this.a=e,this.b=t}function ltt(e,t){this.b=e,this.a=t}function htt(e,t){this.b=e,this.a=t}function Q3e(e,t){this.b=e,this.a=t}function Nk(e,t){this.c=e,this.d=t}function ftt(e,t){this.e=e,this.d=t}function dtt(e,t){this.a=e,this.b=t}function gtt(e,t){this.a=e,this.b=t}function ptt(e,t){this.a=e,this.b=t}function btt(e,t){this.b=e,this.a=t}function mtt(e,t){this.b=t,this.c=e}function kq(e,t){Vr.call(this,e,t)}function bO(e,t){Vr.call(this,e,t)}function Ise(e,t){Vr.call(this,e,t)}function J3e(e,t){Vr.call(this,e,t)}function E_(e,t){Vr.call(this,e,t)}function Ose(e,t){Vr.call(this,e,t)}function Nse(e,t){Vr.call(this,e,t)}function mO(e,t){Vr.call(this,e,t)}function Z3e(e,t){Vr.call(this,e,t)}function Pse(e,t){Vr.call(this,e,t)}function C_(e,t){Vr.call(this,e,t)}function eye(e,t){Vr.call(this,e,t)}function S_(e,t){Vr.call(this,e,t)}function __(e,t){Vr.call(this,e,t)}function fy(e,t){Vr.call(this,e,t)}function Bse(e,t){Vr.call(this,e,t)}function Fse(e,t){Vr.call(this,e,t)}function tye(e,t){Vr.call(this,e,t)}function vO(e,t){Vr.call(this,e,t)}function I5(e,t){Vr.call(this,e,t)}function Rse(e,t){Vr.call(this,e,t)}function Tq(e,t){Vr.call(this,e,t)}function wO(e,t){Vr.call(this,e,t)}function dy(e,t){Vr.call(this,e,t)}function Eq(e,t){Vr.call(this,e,t)}function nye(e,t){Vr.call(this,e,t)}function jse(e,t){Vr.call(this,e,t)}function $se(e,t){Vr.call(this,e,t)}function zse(e,t){Vr.call(this,e,t)}function qse(e,t){Vr.call(this,e,t)}function Hse(e,t){Vr.call(this,e,t)}function Use(e,t){Vr.call(this,e,t)}function Vse(e,t){Vr.call(this,e,t)}function vtt(e,t){this.b=e,this.a=t}function rye(e,t){Vr.call(this,e,t)}function wtt(e,t){this.a=e,this.b=t}function ytt(e,t){this.a=e,this.b=t}function xtt(e,t){this.a=e,this.b=t}function iye(e,t){Vr.call(this,e,t)}function sye(e,t){Vr.call(this,e,t)}function ktt(e,t){this.a=e,this.b=t}function Fln(e,t){return zk(),t!=e}function yO(e){return br(e.a),e.b}function Gse(e){return UTn(e,e.c),e}function Ttt(){return MZe(),new n7t}function Ett(){nH(),this.a=new k4e}function Ctt(){jV(),this.a=new Ys}function Stt(){Soe(),this.b=new Ys}function _tt(e,t){this.b=e,this.d=t}function Att(e,t){this.a=e,this.b=t}function Ltt(e,t){this.a=e,this.b=t}function Mtt(e,t){this.a=e,this.b=t}function Dtt(e,t){this.b=e,this.a=t}function aye(e,t){Vr.call(this,e,t)}function oye(e,t){Vr.call(this,e,t)}function Cq(e,t){Vr.call(this,e,t)}function gw(e,t){Vr.call(this,e,t)}function Kse(e,t){Vr.call(this,e,t)}function Sq(e,t){Vr.call(this,e,t)}function cye(e,t){Vr.call(this,e,t)}function uye(e,t){Vr.call(this,e,t)}function xO(e,t){Vr.call(this,e,t)}function lye(e,t){Vr.call(this,e,t)}function Wse(e,t){Vr.call(this,e,t)}function _q(e,t){Vr.call(this,e,t)}function Yse(e,t){Vr.call(this,e,t)}function Xse(e,t){Vr.call(this,e,t)}function Qse(e,t){Vr.call(this,e,t)}function Jse(e,t){Vr.call(this,e,t)}function hye(e,t){Vr.call(this,e,t)}function Zse(e,t){Vr.call(this,e,t)}function fye(e,t){Vr.call(this,e,t)}function kO(e,t){Vr.call(this,e,t)}function eae(e,t){Vr.call(this,e,t)}function dye(e,t){Vr.call(this,e,t)}function TO(e,t){Vr.call(this,e,t)}function gye(e,t){Vr.call(this,e,t)}function Itt(e,t){this.b=e,this.a=t}function Ott(e,t){this.b=e,this.a=t}function Ntt(e,t){this.b=e,this.a=t}function Ptt(e,t){this.b=e,this.a=t}function pye(e,t){this.a=e,this.b=t}function Btt(e,t){this.a=e,this.b=t}function Ftt(e,t){this.a=e,this.b=t}function lt(e,t){this.a=e,this.b=t}function A_(e,t){Vr.call(this,e,t)}function EO(e,t){Vr.call(this,e,t)}function R8(e,t){Vr.call(this,e,t)}function L_(e,t){Vr.call(this,e,t)}function CO(e,t){Vr.call(this,e,t)}function tae(e,t){Vr.call(this,e,t)}function Aq(e,t){Vr.call(this,e,t)}function M_(e,t){Vr.call(this,e,t)}function nae(e,t){Vr.call(this,e,t)}function Lq(e,t){Vr.call(this,e,t)}function O5(e,t){Vr.call(this,e,t)}function SO(e,t){Vr.call(this,e,t)}function D_(e,t){Vr.call(this,e,t)}function I_(e,t){Vr.call(this,e,t)}function _O(e,t){Vr.call(this,e,t)}function Mq(e,t){Vr.call(this,e,t)}function N5(e,t){Vr.call(this,e,t)}function rae(e,t){Vr.call(this,e,t)}function Rtt(e,t){Vr.call(this,e,t)}function Dq(e,t){Vr.call(this,e,t)}function jtt(e,t){this.a=e,this.b=t}function $tt(e,t){this.a=e,this.b=t}function ztt(e,t){this.a=e,this.b=t}function qtt(e,t){this.a=e,this.b=t}function Htt(e,t){this.a=e,this.b=t}function Utt(e,t){this.a=e,this.b=t}function fa(e,t){this.a=e,this.b=t}function Vtt(e,t){this.a=e,this.b=t}function Gtt(e,t){this.a=e,this.b=t}function Ktt(e,t){this.a=e,this.b=t}function Wtt(e,t){this.a=e,this.b=t}function Ytt(e,t){this.a=e,this.b=t}function Xtt(e,t){this.a=e,this.b=t}function Qtt(e,t){this.b=e,this.a=t}function Jtt(e,t){this.b=e,this.a=t}function Ztt(e,t){this.b=e,this.a=t}function ent(e,t){this.b=e,this.a=t}function tnt(e,t){this.a=e,this.b=t}function nnt(e,t){this.a=e,this.b=t}function Iq(e,t){Vr.call(this,e,t)}function rnt(e,t){this.a=e,this.b=t}function int(e,t){this.a=e,this.b=t}function j8(e,t){Vr.call(this,e,t)}function snt(e,t){this.f=e,this.c=t}function bye(e,t){return ml(e.g,t)}function Rln(e,t){return ml(t.b,e)}function ant(e,t){return oue(e.a,t)}function jln(e,t){return-e.b.af(t)}function $ln(e,t){e&&Ti(vF,e,t)}function mye(e,t){e.i=null,AU(e,t)}function zln(e,t,n){Qgt(t,Zue(e,n))}function qln(e,t,n){Qgt(t,Zue(e,n))}function Hln(e,t){mCn(e.a,l(t,58))}function ont(e,t){dwn(e.a,l(t,12))}function Oq(e,t){this.a=e,this.b=t}function cnt(e,t){this.a=e,this.b=t}function unt(e,t){this.a=e,this.b=t}function lnt(e,t){this.a=e,this.b=t}function hnt(e,t){this.a=e,this.b=t}function fnt(e,t){this.d=e,this.b=t}function dnt(e,t){this.e=e,this.a=t}function AO(e,t){this.b=e,this.c=t}function vye(e,t){this.i=e,this.g=t}function wye(e,t){this.d=e,this.e=t}function Uln(e,t){Awn(new ar(e),t)}function Nq(e){return VN(e.c,e.b)}function dc(e){return e?e.md():null}function qe(e){return e??null}function Da(e){return typeof e===Gle}function gy(e){return typeof e===Sx}function py(e){return typeof e===pTe}function pw(e,t){return su(e,t)==0}function Pq(e,t){return su(e,t)>=0}function O_(e,t){return su(e,t)!=0}function Bq(e,t){return V3n(e.Kc(),t)}function pb(e,t){return e.Rd().Xb(t)}function gnt(e){return Wl(e),e.d.gc()}function Fq(e){return V_(e==null),e}function N_(e,t){return e.a+=""+t,e}function Jo(e,t){return e.a+=""+t,e}function P_(e,t){return e.a+=""+t,e}function mu(e,t){return e.a+=""+t,e}function li(e,t){return e.a+=""+t,e}function yye(e,t){return e.a+=""+t,e}function Vln(e){return""+(tr(e),e)}function pnt(e){Dl(this),mA(this,e)}function bnt(){u6e(),p5e.call(this)}function mnt(e,t){y5e.call(this,e,t)}function vnt(e,t){y5e.call(this,e,t)}function Rq(e,t){y5e.call(this,e,t)}function yo(e,t){_s(e,t,e.c.b,e.c)}function P5(e,t){_s(e,t,e.a,e.a.a)}function xye(e){return Sn(e,0),null}function wnt(){this.b=0,this.a=!1}function ynt(){this.b=0,this.a=!1}function xnt(){this.b=new P8(Dy(12))}function knt(){knt=U,X7t=Kr(gue())}function Tnt(){Tnt=U,vxt=Kr(Obt())}function Ent(){Ent=U,zEt=Kr(f0t())}function kye(){kye=U,Hwe(),h_e=new Nr}function W0(e){return e.a=0,e.b=0,e}function Cnt(e,t){return e.a=t.g+1,e}function iae(e,t){yy.call(this,e,t)}function mn(e,t){ws.call(this,e,t)}function B5(e,t){vye.call(this,e,t)}function Snt(e,t){IO.call(this,e,t)}function sae(e,t){wT.call(this,e,t)}function yi(e,t){hq(),Ti(LY,e,t)}function _nt(e,t){e.q.setTime(Vm(t))}function Gln(e){b.clearTimeout(e)}function Kln(e){return Xr(e),new B_(e)}function Ant(e,t){return qe(e)===qe(t)}function Lnt(e,t){return e.a.a.a.cc(t)}function aae(e,t){return ef(e.a,0,t)}function Tye(e){return Xgn(l(e,74))}function $8(e){return da((tr(e),e))}function Wln(e){return da((tr(e),e))}function Mnt(e){return qu(e.l,e.m,e.h)}function Eye(e,t){return iu(e.a,t.a)}function Yln(e,t){return bat(e.a,t.a)}function Xln(e,t){return Xi(e.a,t.a)}function pd(e,t){return e.indexOf(t)}function Qln(e,t){return e.j[t.p]==2}function bw(e,t){return e==t?0:e?1:-1}function jq(e){return e<10?"0"+e:""+e}function xc(e){return typeof e===pTe}function Jln(e){return e==f3||e==l4}function Zln(e){return e==f3||e==u4}function Dnt(e,t){return iu(e.g,t.g)}function Cye(e){return bc(e.b.b,e,0)}function Int(){fH.call(this,0,0,0,0)}function bd(){vr.call(this,new u2)}function Sye(e,t){iT(e,0,e.length,t)}function ehn(e,t){return wt(e.a,t),t}function thn(e,t){return c0(),t.a+=e}function nhn(e,t){return c0(),t.a+=e}function rhn(e,t){return c0(),t.c+=e}function ihn(e,t){return wt(e.c,t),e}function _ye(e,t){return Dh(e.a,t),e}function Ont(e){this.a=Ttt(),this.b=e}function Nnt(e){this.a=Ttt(),this.b=e}function xo(e){this.a=e.a,this.b=e.b}function B_(e){this.a=e,KS.call(this)}function Pnt(e){this.a=e,KS.call(this)}function z8(){Zh.call(this,0,0,0,0)}function $q(e){return Dh(new Js,e)}function Bnt(e){return MH(l(e,123))}function ch(e){return e.vh()&&e.wh()}function F5(e){return e!=Z1&&e!=rm}function Yg(e){return e==hc||e==yc}function R5(e){return e==vf||e==Q1}function Fnt(e){return e==W6||e==K6}function shn(e,t){return iu(e.g,t.g)}function Rnt(e,t){return new wT(t,e)}function ahn(e,t){return new wT(t,e)}function Aye(e){return _dn(e.b.Kc(),e.a)}function oae(e,t){_T(e,t),fT(e,e.D)}function cae(e,t,n){yU(e,t),wU(e,n)}function j5(e,t,n){Rw(e,t),Fw(e,n)}function Xh(e,t,n){Vu(e,t),Gu(e,n)}function LO(e,t,n){cT(e,t),lT(e,n)}function MO(e,t,n){uT(e,t),hT(e,n)}function jnt(e,t,n){l4e.call(this,e,t,n)}function Lye(e){snt.call(this,e,!0)}function $nt(){gq.call(this,"Tail",3)}function znt(){gq.call(this,"Head",1)}function bb(e){Cd(),z3n.call(this,e)}function mw(e){fH.call(this,e,e,e,e)}function uae(e){e.c=We(ka,jn,1,0,5,1)}function Mye(e){return e.b&&Ale(e),e.a}function Dye(e){return e.b&&Ale(e),e.c}function ohn(e,t){G1||(e.b=t)}function chn(e,t){return e[e.length]=t}function uhn(e,t){return e[e.length]=t}function lhn(e,t){return Iy(t,M1(e))}function hhn(e,t){return Iy(t,M1(e))}function fhn(e,t){return CU(soe(e.d),t)}function dhn(e,t){return CU(soe(e.g),t)}function ghn(e,t){return CU(soe(e.j),t)}function qa(e,t){ws.call(this,e.b,t)}function phn(e,t){zr(fu(e.a),cct(t))}function bhn(e,t){zr(Kl(e.a),uct(t))}function mhn(e,t,n){Xh(n,n.i+e,n.j+t)}function qnt(e,t,n){Ss(e.c[t.g],t.g,n)}function vhn(e,t,n){l(e.c,71).Gi(t,n)}function lae(e,t,n){return Ss(e,t,n),n}function Hnt(e){Uu(e.Sf(),new Uie(e))}function $5(e){return e!=null?ts(e):0}function whn(e){return e==null?0:ts(e)}function F_(e){Ii(),rw.call(this,e)}function Unt(e){this.a=e,V4e.call(this,e)}function A1(){A1=U,b.Math.log(2)}function Qh(){Qh=U,Lg=(Ket(),tAt)}function Vnt(){Vnt=U,Ude=new MA(ipe)}function Jr(){Jr=U,new Gnt,new mt}function Gnt(){new Nr,new Nr,new Nr}function yhn(){throw ue(new Jp(_6t))}function xhn(){throw ue(new Jp(_6t))}function khn(){throw ue(new Jp(A6t))}function Thn(){throw ue(new Jp(A6t))}function hae(e){this.a=e,nq.call(this,e)}function fae(e){this.a=e,nq.call(this,e)}function Knt(e,t){Sw(),this.a=e,this.b=t}function Ehn(e,t){Xr(t),G5(e).Jc(new ie)}function Gs(e,t){Hae(e.c,e.c.length,t)}function Oc(e){return e.a<e.c.c.length}function Iye(e){return e.a<e.c.a.length}function Wnt(e,t){return e.a?e.b:t.We()}function iu(e,t){return e<t?-1:e>t?1:0}function Oye(e,t){return su(e,t)>0?e:t}function qu(e,t,n){return{l:e,m:t,h:n}}function Chn(e,t){e.a!=null&&ont(t,e.a)}function Shn(e){ho(e,null),Na(e,null)}function _hn(e,t,n){return Ti(e.g,n,t)}function z5(e,t,n){return nxe(t,n,e.c)}function Ahn(e,t,n){return Ti(e.k,n,t)}function Lhn(e,t,n){return gDn(e,t,n),n}function Mhn(e,t){return Sh(),t.n.b+=e}function Ynt(e){n6e.call(this),this.b=e}function Nye(e){x4e.call(this),this.a=e}function Xnt(){gq.call(this,"Range",2)}function zq(e){this.b=e,this.a=new mt}function Qnt(e){this.b=new Bo,this.a=e}function Jnt(e){e.a=new Tt,e.c=new Tt}function Znt(e){e.a=new Nr,e.d=new Nr}function ert(e){_oe(e,null),Aoe(e,null)}function trt(e,t){return bDn(e.a,t,null)}function Dhn(e,t){return Ti(e.a,t.a,t)}function Xa(e){return new lt(e.a,e.b)}function Pye(e){return new lt(e.c,e.d)}function Ihn(e){return new lt(e.c,e.d)}function R_(e,t){return AMn(e.c,e.b,t)}function De(e,t){return e!=null&&vue(e,t)}function dae(e,t){return xyn(e.Kc(),t)!=-1}function qq(e){return e.Ob()?e.Pb():null}function Ohn(e){this.b=(Cn(),new er(e))}function Bye(e){this.a=e,Nr.call(this)}function nrt(){IO.call(this,null,null)}function rrt(){Yq.call(this,null,null)}function irt(){Vr.call(this,"INSTANCE",0)}function srt(){Pxe(),this.a=new GA(IAe)}function art(e){return If(e,0,e.length)}function Nhn(e,t){return new Ert(e.Kc(),t)}function Fye(e,t){return e.a.Bc(t)!=null}function ort(e,t){$r(e),e.Gc(l(t,15))}function Phn(e,t,n){e.c.bd(t,l(n,136))}function Bhn(e,t,n){e.c.Ui(t,l(n,136))}function crt(e,t){e.c&&(i5e(t),Not(t))}function Fhn(e,t){e.q.setHours(t),QA(e,t)}function Rhn(e,t){yw(t,e.a.a.a,e.a.a.b)}function jhn(e,t,n,r){Ss(e.a[t.g],n.g,r)}function gae(e,t,n){return e.a[t.g][n.g]}function $hn(e,t){return e.e[t.c.p][t.p]}function zhn(e,t){return e.c[t.c.p][t.p]}function L1(e,t){return e.a[t.c.p][t.p]}function qhn(e,t){return e.j[t.p]=ZEn(t)}function pae(e,t){return e.a.Bc(t)!=null}function Hhn(e,t){return ze(Ge(t.a))<=e}function Uhn(e,t){return ze(Ge(t.a))>=e}function Vhn(e,t){return z6e(e.f,t.Pg())}function q8(e,t){return e.a*t.a+e.b*t.b}function Ghn(e,t){return e.a<I4e(t)?-1:1}function Khn(e,t){return z6e(e.b,t.Pg())}function Whn(e,t,n){return n?t!=0:t!=e-1}function urt(e,t,n){e.a=t^1502,e.b=n^Che}function Yhn(e,t,n){return e.a=t,e.b=n,e}function md(e,t){return e.a*=t,e.b*=t,e}function wt(e,t){return qn(e.c,t),!0}function j_(e,t,n){return Ss(e.g,t,n),n}function Qs(e,t,n){VO.call(this,e,t,n)}function Hq(e,t,n){Qs.call(this,e,t,n)}function Rye(e,t,n){sH.call(this,e,t,n)}function lrt(e,t,n){sH.call(this,e,t,n)}function hrt(e,t,n){Rye.call(this,e,t,n)}function bl(e,t,n){Qs.call(this,e,t,n)}function frt(e,t,n){Hq.call(this,e,t,n)}function jye(e,t,n){VO.call(this,e,t,n)}function q5(e,t,n){VO.call(this,e,t,n)}function drt(e,t,n){jye.call(this,e,t,n)}function Uq(e){e.j=We(E_e,dt,319,0,0,1)}function H5(){this.a=We(ka,jn,1,8,5,1)}function $ye(){this.Bb|=256,this.Bb|=512}function ar(e){this.i=e,this.f=this.i.j}function mb(e){this.c=e,this.a=this.c.a}function U5(e,t){this.a=e,nq.call(this,t)}function zye(e,t){return h5n(e,new lb,t).a}function qye(e){if(!e)throw ue(new rO)}function Hye(e){if(!e)throw ue(new gl)}function Uye(){Uye=U,Uye(),s7t=new un}function grt(){grt=U,Tse(),MAt=new yz}function Pk(){Pk=U,N_e=new ose(null)}function Xhn(e){ZO(e,t5t),PV(e,gIn(e))}function prt(e){e.a=l(Gn(e.b.a,4),129)}function brt(e){e.a=l(Gn(e.b.a,4),129)}function mrt(e){e.b.Qb(),--e.d.f.d,mH(e.d)}function Vye(e){this.a=e,Gg.call(this,e.d)}function vrt(e,t){this.a=e,pse.call(this,t)}function wrt(e,t){this.a=e,pse.call(this,t)}function yrt(e,t){this.a=e,pse.call(this,t)}function Gye(e,t){this.a=t,pse.call(this,e)}function xrt(e,t){this.a=t,Roe.call(this,e)}function krt(e,t){this.a=e,Roe.call(this,t)}function Trt(e,t){this.a=t,rq.call(this,e)}function Ert(e,t){this.a=t,rq.call(this,e)}function fr(e,t){return Xr(t),new Trt(e,t)}function Crt(e,t){return new Xpt(e.a,e.b,t)}function Kye(e,t,n){return e.indexOf(t,n)}function Vq(e,t){return e.lastIndexOf(t)}function $_(e){return e==null?cl:Tc(e)}function Qhn(e){return e==null?null:e.name}function Jhn(e){return e.l+e.m*Mx+e.h*ov}function Zhn(e){return sO(e.a)?lct(e):null}function Af(e){Or.call(this,(tr(e),e))}function Eh(e){Or.call(this,(tr(e),e))}function Srt(e){mk.call(this,l(Xr(e),34))}function _rt(e){mk.call(this,l(Xr(e),34))}function bae(e){vr.call(this,new X6e(e))}function Gq(e){ja.call(this,e),this.a=e}function Wye(e){vo.call(this,e),this.a=e}function Yye(e){Ck.call(this,e),this.a=e}function Art(){Uq(this),OH(this),this.je()}function Lrt(e){this.a=e,Rs.call(this,e)}function uh(e){return br(e.a!=null),e.a}function Mrt(e,t){return wt(t.a,e.a),e.a}function Drt(e,t){return wt(t.b,e.a),e.a}function vw(e,t){return wt(t.a,e.a),e.a}function DO(e,t,n){return Cce(e,t,t,n),e}function Kq(e,t){return++e.b,wt(e.a,t)}function Xye(e,t){return++e.b,sl(e.a,t)}function efn(e,t){return Xi(e.c.d,t.c.d)}function tfn(e,t){return Xi(e.c.c,t.c.c)}function nfn(e,t){return Xi(e.n.a,t.n.a)}function rl(e,t){return l($i(e.b,t),15)}function rfn(e,t){return e.n.b=(tr(t),t)}function ifn(e,t){return e.n.b=(tr(t),t)}function ml(e,t){return!!t&&e.b[t.g]==t}function z_(e){return Oc(e.a)||Oc(e.b)}function ww(e){return e.$H||(e.$H=++FOn)}function sfn(e){return e.a!=null?e.a:null}function afn(e,t){return Xi(e.e.b,t.e.b)}function ofn(e,t){return Xi(e.e.a,t.e.a)}function cfn(e,t,n){return dut(e,t,n,e.b)}function Qye(e,t,n){return dut(e,t,n,e.c)}function ufn(e){return c0(),!!e&&!e.dc()}function Irt(){b_(),this.b=new HYe(this)}function Wq(){Wq=U,kK=new ws(G3t,0)}function Hn(){Hn=U,Ub=!1,AE=!0}function i2(e){var t;t=e.a,e.a=e.b,e.b=t}function IO(e,t){y_(),this.a=e,this.b=t}function Yq(e,t){r2(),this.b=e,this.c=t}function mae(e,t){Gae(),this.f=t,this.d=e}function Jye(e,t){$6e(t,e),this.d=e,this.c=t}function Zye(e,t){uxe.call(this,e,t,null)}function Ort(e,t,n,r){x5e.call(this,e,t,n,r)}function H8(e){this.d=e,ar.call(this,e)}function U8(e){this.c=e,ar.call(this,e)}function OO(e){this.c=e,H8.call(this,e)}function lfn(e){return new _y(3,e)}function rg(e){return Mh(e,Jy),new Pu(e)}function Nrt(e){return Jk(),parseInt(e)||-1}function hfn(e){return Kz(),Gr((zot(),F6t),e)}function Bk(e,t,n){return Kye(e,ol(t),n)}function vae(e,t){return new Oit(e,e.gc(),t)}function ffn(e,t){return Kae(e.c).Md().Xb(t)}function Fk(e,t,n){var r;r=e.fd(t),r.Rb(n)}function e4e(e,t,n){l(wN(e,t),21).Fc(n)}function dfn(e,t,n){Qce(e.a,n),gV(e.a,t)}function NO(e){De(e,158)&&l(e,158).pi()}function Prt(e){G4e.call(this,e,null,null)}function wae(e){hy(),this.b=e,this.a=!0}function Brt(e){sq(),this.b=e,this.a=!0}function Rk(e){return br(e.b!=0),e.a.a.c}function a0(e){return br(e.b!=0),e.c.b.c}function gfn(e,t){return Cce(e,t,t+1,""),e}function rs(e,t){return!!e.q&&Hu(e.q,t)}function Frt(e){return e.b=l(X5e(e.a),44)}function pfn(e){return e.f!=null?e.f:""+e.g}function yae(e){return e.f!=null?e.f:""+e.g}function bfn(e,t){return e>0?t/(e*e):t*100}function mfn(e,t){return e>0?t*t/e:t*t*100}function by(e,t){return l(B1(e.a,t),34)}function vfn(e,t){return Nb(),xn(e,t.e,t)}function wfn(e,t,n){return cq(),n.Mg(e,t)}function yfn(e){return sp(),e.e.a+e.f.a/2}function xfn(e,t,n){return sp(),n.e.a-e*t}function kfn(e){return sp(),e.e.b+e.f.b/2}function Tfn(e,t,n){return sp(),n.e.b-e*t}function Rrt(e){e.d=new Prt(e),e.e=new Nr}function jrt(){this.a=new Iw,this.b=new Iw}function $rt(e){this.c=e,this.a=1,this.b=1}function zrt(e){Ule(),nJe(this),this.Ff(e)}function Efn(e,t,n){aU(),e.pf(t)&&n.Cd(e)}function Cfn(e,t,n){return wt(t,J1t(e,n))}function yw(e,t,n){return e.a+=t,e.b+=n,e}function Sfn(e,t,n){return e.a*=t,e.b*=n,e}function t4e(e,t){return e.a=t.a,e.b=t.b,e}function Xq(e){return e.a=-e.a,e.b=-e.b,e}function q_(e,t,n){return e.a-=t,e.b-=n,e}function qrt(e){os.call(this),dA(this,e)}function Hrt(){Vr.call(this,"GROW_TREE",0)}function Urt(){Vr.call(this,"POLYOMINO",0)}function lh(e,t,n){yl.call(this,e,t,n,2)}function _fn(e,t,n){AA(fu(e.a),t,cct(n))}function Vrt(e,t){y_(),IO.call(this,e,t)}function n4e(e,t){r2(),Yq.call(this,e,t)}function Grt(e,t){r2(),n4e.call(this,e,t)}function Krt(e,t){r2(),Yq.call(this,e,t)}function Afn(e,t){return e.c.Fc(l(t,136))}function Lfn(e,t,n){AA(Kl(e.a),t,uct(n))}function Wrt(e){this.c=e,Vu(e,0),Gu(e,0)}function xae(e,t){Qh(),pH.call(this,e,t)}function Yrt(e,t){Qh(),xae.call(this,e,t)}function r4e(e,t){Qh(),xae.call(this,e,t)}function i4e(e,t){Qh(),pH.call(this,e,t)}function Xrt(e,t){Qh(),r4e.call(this,e,t)}function Qrt(e,t){Qh(),i4e.call(this,e,t)}function Jrt(e,t){Qh(),pH.call(this,e,t)}function Mfn(e,t,n){return t.zl(e.e,e.c,n)}function Dfn(e,t,n){return t.Al(e.e,e.c,n)}function s4e(e,t,n){return QV(vN(e,t),n)}function kae(e,t){return Lb(e.e,l(t,54))}function Ifn(e){return e==null?null:rIn(e)}function Ofn(e){return e==null?null:X9n(e)}function Nfn(e){return e==null?null:Tc(e)}function Pfn(e){return e==null?null:Tc(e)}function Pt(e){return V_(e==null||gy(e)),e}function Ge(e){return V_(e==null||py(e)),e}function Zr(e){return V_(e==null||Da(e)),e}function Xg(e){e.o==null&&AEn(e)}function a4e(e){if(!e)throw ue(new rO)}function Bfn(e){if(!e)throw ue(new Jie)}function br(e){if(!e)throw ue(new Dc)}function my(e){if(!e)throw ue(new gl)}function Zrt(e){if(!e)throw ue(new Yh)}function jk(){jk=U,yF=new NJe,new PJe}function V5(){V5=U,Q6=new Ki("root")}function o4e(){Pft.call(this),this.Bb|=Lo}function Ffn(e,t){this.d=e,Lr(this),this.b=t}function c4e(e,t){Yoe.call(this,e),this.a=t}function u4e(e,t){Yoe.call(this,e),this.a=t}function l4e(e,t,n){nU.call(this,e,t,n,null)}function eit(e,t,n){nU.call(this,e,t,n,null)}function PO(e,t){this.c=e,Dk.call(this,e,t)}function H_(e,t){this.a=e,PO.call(this,e,t)}function h4e(e){this.q=new b.Date(Vm(e))}function tit(e){return e>8?0:e+1}function nit(e,t){G1||wt(e.a,t)}function Rfn(e,t){return dO(),vT(t.d.i,e)}function jfn(e,t){return hx(),new Imt(t,e)}function $fn(e,t,n){return e.Ne(t,n)<=0?n:t}function zfn(e,t,n){return e.Ne(t,n)<=0?t:n}function qfn(e,t){return l(B1(e.b,t),143)}function Hfn(e,t){return l(B1(e.c,t),233)}function Tae(e){return l(Rt(e.a,e.b),294)}function rit(e){return new lt(e.c,e.d+e.a)}function iit(e){return tr(e),e?1231:1237}function sit(e){return Sh(),Fnt(l(e,203))}function vy(){vy=U,aAe=hn((gh(),Ov))}function Ufn(e,t){t.a?WTn(e,t):pae(e.a,t.b)}function BO(e,t,n){++e.j,e.tj(),Woe(e,t,n)}function ait(e,t,n){++e.j,e.qj(t,e.Zi(t,n))}function oit(e,t,n){var r;r=e.fd(t),r.Rb(n)}function f4e(e,t,n){return n=Nh(e,t,6,n),n}function d4e(e,t,n){return n=Nh(e,t,3,n),n}function g4e(e,t,n){return n=Nh(e,t,9,n),n}function vd(e,t){return ZO(t,RTe),e.f=t,e}function p4e(e,t){return(t&Ni)%e.d.length}function cit(e,t,n){return Wke(e.c,e.b,t,n)}function uit(e,t){this.c=e,Bw.call(this,t)}function lit(e,t){this.a=e,WQe.call(this,t)}function FO(e,t){this.a=e,WQe.call(this,t)}function ws(e,t){Ki.call(this,e),this.a=t}function b4e(e,t){jwe.call(this,e),this.a=t}function Eae(e,t){jwe.call(this,e),this.a=t}function Vfn(e){X8e.call(this,0,0),this.f=e}function hit(e,t,n){return e.a+=If(t,0,n),e}function RO(e){return!e.a&&(e.a=new pe),e.a}function m4e(e,t){var n;return n=e.e,e.e=t,n}function v4e(e,t){var n;return n=t,!!e.Fe(n)}function Gfn(e,t){return Hn(),e==t?0:e?1:-1}function wy(e,t){e.a.bd(e.b,t),++e.b,e.c=-1}function jO(e){e.b?jO(e.b):e.f.c.zc(e.e,e.d)}function fit(e){Dl(e.e),e.d.b=e.d,e.d.a=e.d}function Kfn(e,t,n){Bm(),Fie(e,t.Ve(e.a,n))}function w4e(e,t,n){return J8(e,l(t,22),n)}function o0(e,t){return Qz(new Array(t),e)}function Wfn(e){return Yr(vb(e,32))^Yr(e)}function Cae(e){return String.fromCharCode(e)}function Yfn(e){return e==null?null:e.message}function Xfn(e,t,n){return e.apply(t,n)}function Qfn(e,t){var n;n=e[Ehe],n.call(e,t)}function Jfn(e,t){var n;n=e[Ehe],n.call(e,t)}function Zfn(e,t){return dO(),!vT(t.d.i,e)}function y4e(e,t,n,r){fH.call(this,e,t,n,r)}function dit(){Qq.call(this),this.a=new za}function x4e(){this.n=new za,this.o=new za}function git(){this.b=new za,this.c=new mt}function pit(){this.a=new mt,this.b=new mt}function bit(){this.a=new Em,this.b=new fJe}function k4e(){this.b=new u2,this.a=new u2}function mit(){this.b=new Ys,this.a=new Ys}function vit(){this.b=new Nr,this.a=new Nr}function wit(){this.b=new HZe,this.a=new SS}function yit(){this.a=new cie,this.b=new qee}function xit(){this.a=new mt,this.d=new mt}function Qq(){this.n=new L8,this.i=new z8}function kit(e){this.a=(Mh(e,Jy),new Pu(e))}function Tit(e){this.a=(Mh(e,Jy),new Pu(e))}function e0n(e){return e<100?null:new hb(e)}function t0n(e,t){return e.n.a=(tr(t),t+10)}function n0n(e,t){return e.n.a=(tr(t),t+10)}function r0n(e,t){return t==e||zT(NV(t),e)}function Eit(e,t){return Ti(e.a,t,"")==null}function i0n(e,t){var n;return n=t.qi(e.a),n}function Pi(e,t){return e.a+=t.a,e.b+=t.b,e}function ya(e,t){return e.a-=t.a,e.b-=t.b,e}function s0n(e){return uy(e.j.c,0),e.a=-1,e}function T4e(e,t,n){return n=Nh(e,t,11,n),n}function a0n(e,t,n){n!=null&&SU(t,Lue(e,n))}function o0n(e,t,n){n!=null&&_U(t,Lue(e,n))}function V8(e,t,n,r){nt.call(this,e,t,n,r)}function E4e(e,t,n,r){nt.call(this,e,t,n,r)}function Cit(e,t,n,r){E4e.call(this,e,t,n,r)}function Sit(e,t,n,r){kH.call(this,e,t,n,r)}function Sae(e,t,n,r){kH.call(this,e,t,n,r)}function C4e(e,t,n,r){kH.call(this,e,t,n,r)}function _it(e,t,n,r){Sae.call(this,e,t,n,r)}function S4e(e,t,n,r){Sae.call(this,e,t,n,r)}function An(e,t,n,r){C4e.call(this,e,t,n,r)}function Ait(e,t,n,r){S4e.call(this,e,t,n,r)}function Lit(e,t,n,r){E5e.call(this,e,t,n,r)}function yy(e,t){rc.call(this,SL+e+gv+t)}function _4e(e,t){return e.jk().wi().ri(e,t)}function A4e(e,t){return e.jk().wi().ti(e,t)}function Mit(e,t){return tr(e),qe(e)===qe(t)}function wn(e,t){return tr(e),qe(e)===qe(t)}function c0n(e,t){return e.b.Bd(new Zet(e,t))}function u0n(e,t){return e.b.Bd(new ett(e,t))}function Dit(e,t){return e.b.Bd(new ttt(e,t))}function l0n(e,t){return e.e=l(e.d.Kb(t),159)}function L4e(e,t,n){return e.lastIndexOf(t,n)}function h0n(e,t,n){return Xi(e[t.a],e[n.a])}function f0n(e,t){return rt(t,(Nt(),IB),e)}function d0n(e,t){return iu(t.a.d.p,e.a.d.p)}function g0n(e,t){return iu(e.a.d.p,t.a.d.p)}function p0n(e,t){return Xi(e.c-e.s,t.c-t.s)}function b0n(e,t){return Xi(e.b.e.a,t.b.e.a)}function m0n(e,t){return Xi(e.c.e.a,t.c.e.a)}function Iit(e){return e.c?bc(e.c.a,e,0):-1}function G8(e){return e==Iv||e==_g||e==Au}function M4e(e,t){this.c=e,Zae.call(this,e,t)}function Oit(e,t,n){this.a=e,Jye.call(this,t,n)}function Nit(e){this.c=e,Rq.call(this,DP,0)}function Pit(e,t,n){this.c=t,this.b=n,this.a=e}function $O(e){zk(),this.d=e,this.a=new H5}function Bit(e){wd(),this.a=(Cn(),new Ck(e))}function v0n(e,t){Yg(e.f)?yEn(e,t):Qxn(e,t)}function Fit(e,t){Ddn.call(this,e,e.length,t)}function w0n(e,t){G1||t&&(e.d=t)}function Rit(e,t){return De(t,15)&&fmt(e.c,t)}function y0n(e,t,n){return l(e.c,71).Wk(t,n)}function Jq(e,t,n){return l(e.c,71).Xk(t,n)}function x0n(e,t,n){return Mfn(e,l(t,343),n)}function D4e(e,t,n){return Dfn(e,l(t,343),n)}function k0n(e,t,n){return spt(e,l(t,343),n)}function jit(e,t,n){return l9n(e,l(t,343),n)}function U_(e,t){return t==null?null:By(e.b,t)}function I4e(e){return py(e)?(tr(e),e):e.ue()}function Zq(e){return!isNaN(e)&&!isFinite(e)}function _ae(e){Jnt(this),Ch(this),Ga(this,e)}function Ml(e){uae(this),W4e(this.c,0,e.Pc())}function Jh(e,t,n){this.a=e,this.b=t,this.c=n}function $it(e,t,n){this.a=e,this.b=t,this.c=n}function zit(e,t,n){this.d=e,this.b=n,this.a=t}function qit(e){this.a=e,Wg(),tu(Date.now())}function Hit(e){fh(e.a),K6e(e.c,e.b),e.b=null}function Aae(){Aae=U,O_e=new Et,r7t=new Wt}function Uit(){Uit=U,aAt=We(ka,jn,1,0,5,1)}function Vit(){Vit=U,EAt=We(ka,jn,1,0,5,1)}function O4e(){O4e=U,CAt=We(ka,jn,1,0,5,1)}function wd(){wd=U,new qwe((Cn(),Cn(),Co))}function T0n(e){return sT(),Gr((Qlt(),a7t),e)}function E0n(e){return Nl(),Gr((zlt(),f7t),e)}function C0n(e){return aV(),Gr((Sut(),v7t),e)}function S0n(e){return dU(),Gr((_ut(),w7t),e)}function _0n(e){return qV(),Gr((S0t(),y7t),e)}function A0n(e){return e1(),Gr((jlt(),T7t),e)}function L0n(e){return Ol(),Gr((Rlt(),C7t),e)}function M0n(e){return al(),Gr(($lt(),_7t),e)}function D0n(e){return nG(),Gr((knt(),X7t),e)}function I0n(e){return qw(),Gr((Zlt(),J7t),e)}function O0n(e){return mx(),Gr((tht(),e8t),e)}function N0n(e){return PA(),Gr((eht(),r8t),e)}function P0n(e){return aq(),Gr((Jct(),i8t),e)}function B0n(e){return gU(),Gr((Aut(),x8t),e)}function F0n(e){return hA(),Gr((qlt(),K8t),e)}function R0n(e){return so(),Gr((Bht(),Q8t),e)}function j0n(e){return xT(),Gr((rht(),nxt),e)}function $0n(e){return tv(),Gr((nht(),cxt),e)}function N4e(e,t){if(!e)throw ue(new Wn(t))}function $k(e){if(!e)throw ue(new ic(bTe))}function Lae(e,t){if(e!=t)throw ue(new Yh)}function Git(e,t,n){this.a=e,this.b=t,this.c=n}function P4e(e,t,n){this.a=e,this.b=t,this.c=n}function Kit(e,t,n){this.a=e,this.b=t,this.c=n}function eH(e,t,n){this.b=e,this.a=t,this.c=n}function B4e(e,t,n){this.b=e,this.c=t,this.a=n}function F4e(e,t,n){this.a=e,this.b=t,this.c=n}function tH(e,t,n){this.e=t,this.b=e,this.d=n}function Wit(e,t,n){this.b=e,this.a=t,this.c=n}function z0n(e,t,n){return Bm(),e.a.Yd(t,n),t}function Mae(e){var t;return t=new Ul,t.e=e,t}function R4e(e){var t;return t=new mJe,t.b=e,t}function zO(){zO=U,IK=new LZ,OK=new yj}function nH(){nH=U,Txt=new $Z,kxt=new mS}function c0(){c0=U,Axt=new vee,Lxt=new wee}function q0n(e){return $w(),Gr((wlt(),jxt),e)}function H0n(e){return po(),Gr((Tnt(),vxt),e)}function U0n(e){return jU(),Gr((sht(),xxt),e)}function V0n(e){return R1(),Gr((iht(),Ixt),e)}function G0n(e){return zy(),Gr((Fht(),Nxt),e)}function K0n(e){return $V(),Gr((h0t(),$xt),e)}function W0n(e){return xx(),Gr((cft(),zxt),e)}function Y0n(e){return sU(),Gr((Put(),qxt),e)}function X0n(e){return gA(),Gr((mlt(),Hxt),e)}function Q0n(e){return kU(),Gr((vlt(),Uxt),e)}function J0n(e){return w2(),Gr((Rht(),Vxt),e)}function Z0n(e){return TN(),Gr((Dut(),Gxt),e)}function e1n(e){return HT(),Gr((hft(),Jxt),e)}function t1n(e){return Ho(),Gr((q0t(),Zxt),e)}function n1n(e){return yT(),Gr((xlt(),e9t),e)}function r1n(e){return ip(),Gr((klt(),n9t),e)}function i1n(e){return WH(),Gr((Mut(),r9t),e)}function s1n(e){return nP(),Gr((lft(),Qxt),e)}function a1n(e){return Jm(),Gr((ylt(),Wxt),e)}function o1n(e){return _V(),Gr((uft(),Yxt),e)}function c1n(e){return bN(),Gr((Iut(),Xxt),e)}function u1n(e){return lf(),Gr(($ht(),i9t),e)}function l1n(e){return E2(),Gr((T0t(),ATt),e)}function h1n(e){return EA(),Gr((Tlt(),LTt),e)}function f1n(e){return jy(),Gr((aht(),MTt),e)}function d1n(e){return NA(),Gr((jht(),DTt),e)}function g1n(e){return Nf(),Gr((H0t(),ITt),e)}function p1n(e){return Td(),Gr((oht(),OTt),e)}function b1n(e){return xN(),Gr((Out(),NTt),e)}function m1n(e){return qo(),Gr((Slt(),BTt),e)}function v1n(e){return BU(),Gr((Elt(),FTt),e)}function w1n(e){return xA(),Gr((Clt(),RTt),e)}function y1n(e){return AT(),Gr((_lt(),jTt),e)}function x1n(e){return xU(),Gr((Alt(),$Tt),e)}function k1n(e){return $U(),Gr((Llt(),zTt),e)}function T1n(e){return jw(),Gr((Flt(),rEt),e)}function E1n(e){return cA(),Gr((Nut(),cEt),e)}function C1n(e){return xd(),Gr((Rut(),pEt),e)}function S1n(e){return D1(),Gr((jut(),mEt),e)}function _1n(e){return Q0(),Gr(($ut(),IEt),e)}function A1n(e){return Ow(),Gr((zut(),jEt),e)}function L1n(e){return yx(),Gr((ght(),$Et),e)}function M1n(e){return YA(),Gr((Ent(),zEt),e)}function D1n(e){return kA(),Gr((Mlt(),qEt),e)}function I1n(e){return TA(),Gr((dht(),hCt),e)}function O1n(e){return VH(),Gr((But(),fCt),e)}function N1n(e){return LU(),Gr((Fut(),mCt),e)}function P1n(e){return TV(),Gr((zht(),wCt),e)}function B1n(e){return FN(),Gr((Dlt(),xCt),e)}function F1n(e){return oU(),Gr((qut(),yCt),e)}function R1n(e){return bV(),Gr((fht(),zCt),e)}function j1n(e){return PU(),Gr((Ilt(),qCt),e)}function $1n(e){return tV(),Gr((Olt(),HCt),e)}function z1n(e){return fV(),Gr((Nlt(),VCt),e)}function q1n(e){return YU(),Gr((Plt(),WCt),e)}function H1n(e){return ZH(),Gr((Hut(),pSt),e)}function U1n(e){return pT(),Gr((Lut(),mxt),e)}function V1n(e){return Jn(),Gr((fft(),fxt),e)}function G1n(e){return cU(),Gr((Blt(),bSt),e)}function K1n(e){return Sce(),Gr((Uut(),mSt),e)}function W1n(e){return VA(),Gr((qht(),wSt),e)}function Y1n(e){return uq(),Gr((aut(),xSt),e)}function X1n(e){return HN(),Gr((Ult(),ySt),e)}function Q1n(e){return lq(),Gr((out(),TSt),e)}function J1n(e){return hN(),Gr((Vut(),ESt),e)}function Z1n(e){return iP(),Gr((Hht(),CSt),e)}function edn(e){return m_(),Gr((cut(),zSt),e)}function tdn(e){return ON(),Gr((Gut(),qSt),e)}function ndn(e){return n1(),Gr((Vht(),WSt),e)}function rdn(e){return T2(),Gr((u0t(),XSt),e)}function idn(e){return lg(),Gr((dft(),QSt),e)}function sdn(e){return rv(),Gr((gft(),r_t),e)}function adn(e){return ea(),Gr((Uht(),k_t),e)}function odn(e){return F1(),Gr((Vlt(),T_t),e)}function cdn(e){return cp(),Gr((pht(),E_t),e)}function udn(e){return CV(),Gr((pft(),C_t),e)}function ldn(e){return op(),Gr((Hlt(),__t),e)}function hdn(e){return Ih(),Gr((bht(),L_t),e)}function fdn(e){return Vy(),Gr((C0t(),M_t),e)}function ddn(e){return r6(),Gr((Ght(),D_t),e)}function gdn(e){return Pa(),Gr((bft(),I_t),e)}function pdn(e){return Pl(),Gr((mft(),O_t),e)}function bdn(e){return _t(),Gr((Kht(),N_t),e)}function mdn(e){return gh(),Gr((mht(),j_t),e)}function vdn(e){return Xl(),Gr((E0t(),$_t),e)}function wdn(e){return gx(),Gr((Glt(),z_t),e)}function ydn(e,t){return tr(e),e+(tr(t),t)}function xdn(e){return Dae(),Gr((Kut(),q_t),e)}function kdn(e){return QU(),Gr((vht(),H_t),e)}function Tdn(e){return zU(),Gr((wht(),G_t),e)}function zk(){zk=U,iIe=(_t(),Zn),RW=sr}function Dae(){Dae=U,xPe=new Est,kPe=new uat}function Edn(e){return!e.e&&(e.e=new mt),e.e}function Iae(e,t){this.c=e,this.a=t,this.b=t-e}function Yit(e,t,n){this.a=e,this.b=t,this.c=n}function Oae(e,t,n){this.a=e,this.b=t,this.c=n}function j4e(e,t,n){this.a=e,this.b=t,this.c=n}function $4e(e,t,n){this.a=e,this.b=t,this.c=n}function Xit(e,t,n){this.a=e,this.b=t,this.c=n}function Qit(e,t,n){this.a=e,this.b=t,this.c=n}function s2(e,t,n){this.e=e,this.a=t,this.c=n}function Jit(e,t,n){Qh(),i6e.call(this,e,t,n)}function Nae(e,t,n){Qh(),z5e.call(this,e,t,n)}function z4e(e,t,n){Qh(),z5e.call(this,e,t,n)}function q4e(e,t,n){Qh(),z5e.call(this,e,t,n)}function Zit(e,t,n){Qh(),Nae.call(this,e,t,n)}function H4e(e,t,n){Qh(),Nae.call(this,e,t,n)}function est(e,t,n){Qh(),H4e.call(this,e,t,n)}function tst(e,t,n){Qh(),z4e.call(this,e,t,n)}function nst(e,t,n){Qh(),q4e.call(this,e,t,n)}function Pae(e){fH.call(this,e.d,e.c,e.a,e.b)}function U4e(e){fH.call(this,e.d,e.c,e.a,e.b)}function V4e(e){this.d=e,Lr(this),this.b=Tgn(e.d)}function Cdn(e){return VT(),Gr((l0t(),sAt),e)}function qO(e,t){return Xr(e),Xr(t),new cet(e,t)}function K8(e,t){return Xr(e),Xr(t),new pst(e,t)}function Sdn(e,t){return Xr(e),Xr(t),new bst(e,t)}function _dn(e,t){return Xr(e),Xr(t),new vet(e,t)}function Bae(e){return br(e.b!=0),sf(e,e.a.a)}function Adn(e){return br(e.b!=0),sf(e,e.c.b)}function Ldn(e){return!e.c&&(e.c=new Zd),e.c}function qk(e){var t;return t=new mt,ace(t,e),t}function Mdn(e){var t;return t=new Ys,ace(t,e),t}function rst(e){var t;return t=new Kwe,wce(t,e),t}function HO(e){var t;return t=new os,wce(t,e),t}function l(e,t){return V_(e==null||vue(e,t)),e}function Ddn(e,t,n){nat.call(this,t,n),this.a=e}function ist(e,t){this.c=e,this.b=t,this.a=!1}function sst(){this.a=";,;",this.b="",this.c=""}function ast(e,t,n){this.b=e,mnt.call(this,t,n)}function G4e(e,t,n){this.c=e,pq.call(this,t,n)}function K4e(e,t,n){Nk.call(this,e,t),this.b=n}function W4e(e,t,n){$9e(n,0,e,t,n.length,!1)}function ig(e,t,n,r,s){e.b=t,e.c=n,e.d=r,e.a=s}function Y4e(e,t,n,r,s){e.d=t,e.c=n,e.a=r,e.b=s}function Idn(e,t){t&&(e.b=t,e.a=(xb(t),t.a))}function UO(e,t){if(!e)throw ue(new Wn(t))}function W8(e,t){if(!e)throw ue(new ic(t))}function X4e(e,t){if(!e)throw ue(new fZe(t))}function Odn(e,t){return oq(),iu(e.d.p,t.d.p)}function Ndn(e,t){return sp(),Xi(e.e.b,t.e.b)}function Pdn(e,t){return sp(),Xi(e.e.a,t.e.a)}function Bdn(e,t){return iu(xst(e.d),xst(t.d))}function rH(e,t){return t&&_H(e,t.d)?t:null}function Fdn(e,t){return t==(_t(),Zn)?e.c:e.d}function Q4e(e){return Sb(Bgn(xc(e)?Mf(e):e))}function Rdn(e){return new lt(e.c+e.b,e.d+e.a)}function ost(e){return e!=null&&!rue(e,zM,qM)}function jdn(e,t){return(j1t(e)<<4|j1t(t))&ta}function cst(e,t,n,r,s){e.c=t,e.d=n,e.b=r,e.a=s}function J4e(e){var t,n;t=e.b,n=e.c,e.b=n,e.c=t}function Z4e(e){var t,n;n=e.d,t=e.a,e.d=t,e.a=n}function $dn(e,t){var n;return n=e.c,D7e(e,t),n}function e5e(e,t){return t<0?e.g=-1:e.g=t,e}function iH(e,t){return Wwn(e),e.a*=t,e.b*=t,e}function ust(e,t,n){rft.call(this,t,n),this.d=e}function VO(e,t,n){wye.call(this,e,t),this.c=n}function sH(e,t,n){wye.call(this,e,t),this.c=n}function t5e(e){O4e(),w5.call(this),this.ci(e)}function lst(){nT(),opn.call(this,(db(),Gf))}function hst(e){return Ii(),new sg(0,e)}function fst(){fst=U,wpe=(Cn(),new Ma(k0e))}function aH(){aH=U,new fxe((ase(),N0e),(sse(),O0e))}function dst(){dst=U,w_e=We(to,dt,17,256,0,1)}function gst(){this.b=ze(Ge(It((p0(),d1e))))}function Fae(e){this.b=e,this.a=Rm(this.b.a).Od()}function pst(e,t){this.b=e,this.a=t,KS.call(this)}function bst(e,t){this.a=e,this.b=t,KS.call(this)}function mst(e,t,n){this.a=e,B5.call(this,t,n)}function vst(e,t,n){this.a=e,B5.call(this,t,n)}function Hk(e,t,n){var r;r=new Ty(n),Z0(e,t,r)}function n5e(e,t,n){var r;return r=e[t],e[t]=n,r}function oH(e){var t;return t=e.slice(),Zoe(t,e)}function cH(e){var t;return t=e.n,e.a.b+t.d+t.a}function wst(e){var t;return t=e.n,e.e.b+t.d+t.a}function r5e(e){var t;return t=e.n,e.e.a+t.b+t.c}function i5e(e){e.a.b=e.b,e.b.a=e.a,e.a=e.b=null}function ci(e,t){return _s(e,t,e.c.b,e.c),!0}function zdn(e){return e.a?e.a:hoe(e)}function qdn(e){return nx(),hg(e)==ds(Ib(e))}function Hdn(e){return nx(),Ib(e)==ds(hg(e))}function xw(e,t){return jA(e,new Nk(t.a,t.b))}function Udn(e,t){return LH(),Sue(e,t),new zat(e,t)}function Vdn(e,t){return e.c<t.c?-1:e.c==t.c?0:1}function yst(e){return e.b.c.length-e.e.c.length}function xst(e){return e.e.c.length-e.g.c.length}function Rae(e){return e.e.c.length+e.g.c.length}function GO(e){return e==0||isNaN(e)?e:e<0?-1:1}function Gdn(e){return!Ao(e)&&e.c.i.c==e.d.i.c}function Kdn(e){return Sh(),(_t(),Ju).Hc(e.j)}function Wdn(e,t,n){return sp(),n.e.a+n.f.a+e*t}function Ydn(e,t,n){return sp(),n.e.b+n.f.b+e*t}function Xdn(e,t,n){return Ti(e.b,l(n.b,18),t)}function Qdn(e,t,n){return Ti(e.b,l(n.b,18),t)}function Jdn(e,t,n){RDn(e.a,e.b,e.c,l(t,166),n)}function s5e(e,t,n,r){sxe.call(this,e,t,n,r,0,0)}function kst(e){O4e(),t5e.call(this,e),this.a=-1}function Tst(e,t){nat.call(this,t,1040),this.a=e}function Est(){Rtt.call(this,"COUNT_CHILDREN",0)}function uH(e,t){AO.call(this,e,t),this.a=this}function Ts(e,t){var n;return n=aoe(e,t),n.i=2,n}function lH(e,t){var n;return++e.j,n=e.Cj(t),n}function hi(e,t,n){return e.a=-1,e4e(e,t.g,n),e}function Zdn(e,t){return wt(e,new lt(t.a,t.b))}function Cst(e){return lx(),We(qW,jG,40,e,0,1)}function Sst(e){return e.e.Rd().gc()*e.c.Rd().gc()}function jae(e,t,n){return new Pit(upn(e)._e(),n,t)}function egn(e,t){I7e(e,t==null?null:(tr(t),t))}function tgn(e,t){M7e(e,t==null?null:(tr(t),t))}function ngn(e,t){M7e(e,t==null?null:(tr(t),t))}function V_(e){if(!e)throw ue(new Ek(null))}function a5e(e){if(e.c.e!=e.a)throw ue(new Yh)}function o5e(e){if(e.e.c!=e.b)throw ue(new Yh)}function hH(e){for(Xr(e);e.Ob();)e.Pb(),e.Qb()}function $ae(e){Sw(),this.a=(Cn(),new Ma(Xr(e)))}function c5e(e){this.c=e,this.b=this.c.d.vc().Kc()}function rgn(e){e.a.ld(),l(e.a.md(),16).gc(),m3e()}function _st(e,t){return e.a+=If(t,0,t.length),e}function Rt(e,t){return Sn(t,e.c.length),e.c[t]}function Ast(e,t){return Sn(t,e.a.length),e.a[t]}function ign(e,t){return tr(t),SN(t,(tr(e),e))}function sgn(e,t){return tr(e),SN(e,(tr(t),t))}function Fm(e,t,n,r,s,o){return Jgt(e,t,n,r,s,0,o)}function agn(e,t){return Ss(t,0,u5e(t[0],lp(1)))}function ogn(e,t){return lp(fo(lp(e.a).a,t.a))}function u5e(e,t){return ogn(l(e,168),l(t,168))}function Lst(){Lst=U,y_e=We(l3,dt,168,256,0,1)}function Mst(){Mst=U,T_e=We(h3,dt,191,256,0,1)}function Dst(){Dst=U,b_e=We($x,dt,222,256,0,1)}function Ist(){Ist=U,v_e=We(BL,dt,180,128,0,1)}function l5e(){ig(this,!1,!1,!1,!1)}function h5e(e){vr.call(this,new u2),Ga(this,e)}function G_(e){this.a=new P8(e.gc()),Ga(this,e)}function Ost(e){this.c=e,this.a=new B8(this.c.a)}function Nst(e){this.a=e,this.c=new Nr,Myn(this)}function Pst(){this.d=new lt(0,0),this.e=new Ys}function vn(e,t){Bm(),Yoe.call(this,e),this.a=t}function fH(e,t,n,r){Y4e(this,e,t,n,r)}function cgn(e,t,n){return iu(t.d[e.g],n.d[e.g])}function ugn(e,t,n){return iu(e.d[t.p],e.d[n.p])}function lgn(e,t,n){return iu(e.d[t.p],e.d[n.p])}function hgn(e,t,n){return iu(e.d[t.p],e.d[n.p])}function fgn(e,t,n){return iu(e.d[t.p],e.d[n.p])}function dH(e,t,n){return b.Math.min(n/e,1/t)}function Bst(e,t){return e?0:b.Math.max(0,t-1)}function zae(e,t){return e==null?t==null:wn(e,t)}function dgn(e,t){return e==null?t==null:iV(e,t)}function Fst(e){return e.q?e.q:(Cn(),Cn(),yg)}function Rst(e){return e.c-l(Rt(e.a,e.b),294).b}function hh(e){return e.c?e.c.f:e.e.b}function vl(e){return e.c?e.c.g:e.e.a}function ggn(e,t){return e.a==null&&wmt(e),e.a[t]}function jst(e){var t;return t=ept(e),t?jst(t):e}function gH(e,t){return Ii(),new M5e(e,t)}function sg(e,t){Ii(),rw.call(this,e),this.a=t}function pH(e,t){Qh(),zz.call(this,t),this.a=e}function K_(e,t,n){this.a=e,Qs.call(this,t,n,2)}function $st(e){this.b=new os,this.a=e,this.c=-1}function zst(e){Jye.call(this,0,0),this.a=e,this.b=0}function bH(e){Bw.call(this,e.gc()),Ls(this,e)}function mH(e){e.b?mH(e.b):e.d.dc()&&e.f.c.Bc(e.e)}function f5e(e){return Array.isArray(e)&&e.Tm===xe}function qae(e,t){return De(t,22)&&ml(e,l(t,22))}function qst(e,t){return De(t,22)&&Hwn(e,l(t,22))}function zo(e,t){return g1t(e,t,wvn(e,e.b.Ce(t)))}function pgn(e,t){return e.a.get(t)!==void 0}function d5e(e){return Yl(e,26)*sL+Yl(e,27)*aL}function Hst(e,t){return c3n(new Hs,new cb(e),t)}function Hae(e,t,n){f1t(0,t,e.length),iT(e,0,t,n)}function kw(e,t,n){Sy(t,e.c.length),k_(e.c,t,n)}function vH(e,t,n){var r;e&&(r=e.i,r.c=t,r.b=n)}function wH(e,t,n){var r;e&&(r=e.i,r.d=t,r.a=n)}function Ust(e,t,n){var r;for(r=0;r<t;++r)e[r]=n}function bgn(e,t){var n;for(n=0;n<t;++n)e[n]=-1}function is(e,t){var n;return n=hn(e),r8e(n,t),n}function mgn(e,t){return!e&&(e=[]),e[e.length]=t,e}function Uae(e,t){Pi(e.c,t),e.b.c+=t.a,e.b.d+=t.b}function vgn(e,t){Uae(e,ya(new lt(t.a,t.b),e.c))}function Vae(e,t){this.b=new os,this.a=e,this.c=t}function Vst(){this.b=new Z3,this.c=new Cot(this)}function g5e(){this.d=new _c,this.e=new Eot(this)}function p5e(){u6e(),this.f=new os,this.e=new os}function Gst(){Sh(),this.k=new Nr,this.d=new Ys}function Gae(){Gae=U,W_t=new qa((bi(),eh),0)}function Kst(){Kst=U,P6t=new zst(We(ka,jn,1,0,5,1))}function wgn(e,t,n){return sa(e,new F8(t.a,n.a))}function ygn(e,t,n){return-iu(e.f[t.p],e.f[n.p])}function xgn(e,t,n){cbt(n,e,1),wt(t,new ctt(n,e))}function kgn(e,t,n){RA(n,e,1),wt(t,new htt(n,e))}function Wst(e,t,n){this.a=e,Hq.call(this,t,n,22)}function Yst(e,t,n){this.a=e,Hq.call(this,t,n,14)}function Xst(e,t,n,r){Qh(),Nct.call(this,e,t,n,r)}function Qst(e,t,n,r){Qh(),Nct.call(this,e,t,n,r)}function wl(e,t,n){return e.a=-1,e4e(e,t.g+1,n),e}function b5e(e,t,n){return n=Nh(e,l(t,54),7,n),n}function m5e(e,t,n){return n=Nh(e,l(t,54),3,n),n}function Yr(e){return xc(e)?e|0:OZe(e)}function Jst(e){return Ii(),new koe(10,e,0)}function Zst(e){var t;return t=e.f,t||(e.f=e.Dc())}function Y8(e){var t;return t=e.i,t||(e.i=e.bc())}function yH(e){if(e.e.j!=e.d)throw ue(new Yh)}function Rm(e){return e.c?e.c:e.c=e.Sd()}function Kae(e){return e.d?e.d:e.d=e.Td()}function W_(e,t){return f6n(vN(e,t))?t.zi():null}function Tgn(e){return De(e,15)?l(e,15).ed():e.Kc()}function v5e(e){return e.Qc(We(ka,jn,1,e.gc(),5,1))}function eat(e){return e!=null&&Jae(e)&&e.Tm!==xe}function w5e(e){return!Array.isArray(e)&&e.Tm===xe}function tat(e,t){return Xr(t),e.a.Jd(t)&&!e.b.Jd(t)}function Egn(e,t){return qu(e.l&t.l,e.m&t.m,e.h&t.h)}function Cgn(e,t){return qu(e.l|t.l,e.m|t.m,e.h|t.h)}function Sgn(e,t){return qu(e.l^t.l,e.m^t.m,e.h^t.h)}function u0(e,t){return Sb(Ipt(xc(e)?Mf(e):e,t))}function Tw(e,t){return Sb(Y9e(xc(e)?Mf(e):e,t))}function vb(e,t){return Sb(okn(xc(e)?Mf(e):e,t))}function _gn(e,t){return Gfn((tr(e),e),(tr(t),t))}function Wae(e,t){return Xi((tr(e),e),(tr(t),t))}function xH(e){this.b=new Pu(11),this.a=(Mw(),e)}function lr(e){this.a=(Kst(),P6t),this.d=l(Xr(e),51)}function nat(e,t){this.c=0,this.d=e,this.b=t|64|_d}function y5e(e,t){this.e=e,this.d=t&64?t|_d:t}function Yae(e){this.b=null,this.a=(Mw(),e||D_e)}function rat(e){Uq(this),this.g=e,OH(this),this.je()}function jm(e){gb(),this.a=0,this.b=e-1,this.c=1}function x5e(e,t,n,r){this.a=e,nU.call(this,e,t,n,r)}function Agn(e,t,n){e.a.Mb(n)&&(e.b=!0,t.Cd(n))}function k5e(e){e.d||(e.d=e.b.Kc(),e.c=e.b.gc())}function Uk(e,t){if(e<0||e>=t)throw ue(new e3e)}function xy(e,t){return zN(e,(tr(t),new wo(t)))}function X8(e,t){return zN(e,(tr(t),new oh(t)))}function iat(e,t,n){return mOn(e,l(t,12),l(n,12))}function sat(e){return xl(),l(e,12).g.c.length!=0}function aat(e){return xl(),l(e,12).e.c.length!=0}function Lgn(e,t){return hx(),Xi(t.a.o.a,e.a.o.a)}function Mgn(e,t){t.Bb&nu&&!e.a.o&&(e.a.o=t)}function Dgn(e,t){t.Ug("General 'Rotator",1),VDn(e)}function Ign(e,t,n){t.qf(n,ze(Ge(or(e.b,n)))*e.a)}function oat(e,t,n){return d6(),bT(e,t)&&bT(e,n)}function Y_(e){return Pl(),!e.Hc(kp)&&!e.Hc(im)}function Ogn(e){return e.e?V6e(e.e):null}function X_(e){return xc(e)?""+e:hmt(e)}function T5e(e){var t;for(t=e;t.f;)t=t.f;return t}function Ngn(e,t,n){return Ss(t,0,u5e(t[0],n[0])),t}function a2(e,t,n,r){var s;s=e.i,s.i=t,s.a=n,s.b=r}function nt(e,t,n,r){Qs.call(this,e,t,n),this.b=r}function _a(e,t,n,r,s){Qoe.call(this,e,t,n,r,s,-1)}function Q_(e,t,n,r,s){dN.call(this,e,t,n,r,s,-1)}function kH(e,t,n,r){VO.call(this,e,t,n),this.b=r}function cat(e){snt.call(this,e,!1),this.a=!1}function uat(){Rtt.call(this,"LOOKAHEAD_LAYOUT",1)}function lat(e){this.b=e,H8.call(this,e),prt(this)}function hat(e){this.b=e,OO.call(this,e),brt(this)}function ky(e,t,n){this.a=e,V8.call(this,t,n,5,6)}function E5e(e,t,n,r){this.b=e,Qs.call(this,t,n,r)}function fat(e,t){this.b=e,Gg.call(this,e.b),this.a=t}function dat(e){this.a=Xdt(e.a),this.b=new Ml(e.b)}function C5e(e,t){Sw(),hln.call(this,e,VU(new Ll(t)))}function TH(e,t){return Ii(),new $5e(e,t,0)}function Xae(e,t){return Ii(),new $5e(6,e,t)}function Qa(e,t){for(tr(t);e.Ob();)t.Cd(e.Pb())}function Hu(e,t){return Da(t)?woe(e,t):!!zo(e.f,t)}function Qae(e,t){return t.Vh()?Lb(e.b,l(t,54)):t}function Pgn(e,t){return wn(e.substr(0,t.length),t)}function ag(e){return new lr(new Gye(e.a.length,e.a))}function EH(e){return new lt(e.c+e.b/2,e.d+e.a/2)}function Bgn(e){return qu(~e.l&Ql,~e.m&Ql,~e.h&pp)}function Jae(e){return typeof e===_P||typeof e===Kle}function Dl(e){e.f=new Ont(e),e.i=new Nnt(e),++e.g}function gat(e){if(!e)throw ue(new Dc);return e.d}function Q8(e){var t;return t=yA(e),br(t!=null),t}function Fgn(e){var t;return t=Z4n(e),br(t!=null),t}function Vk(e,t){var n;return n=e.a.gc(),$6e(t,n),n-t}function sa(e,t){var n;return n=e.a.zc(t,e),n==null}function KO(e,t){return e.a.zc(t,(Hn(),Ub))==null}function S5e(e){return new vn(null,qgn(e,e.length))}function _5e(e,t,n){return Pvt(e,l(t,42),l(n,176))}function J8(e,t,n){return f0(e.a,t),n5e(e.b,t.g,n)}function Rgn(e,t,n){Uk(n,e.a.c.length),nf(e.a,n,t)}function Ue(e,t,n,r){f1t(t,n,e.length),jgn(e,t,n,r)}function jgn(e,t,n,r){var s;for(s=t;s<n;++s)e[s]=r}function A5e(e,t){var n;for(n=0;n<t;++n)e[n]=!1}function $m(e,t,n){Cd(),this.e=e,this.d=t,this.a=n}function L5e(e,t,n){this.c=e,this.a=t,Cn(),this.b=n}function Zae(e,t){this.d=e,ar.call(this,e),this.e=t}function Y0(e,t,n){return i4n(e,t.g,n),f0(e.c,t),e}function $gn(e){return m6(e,(ea(),hc)),e.d=!0,e}function eoe(e){return!e.j&&rr(e,U_n(e.g,e.b)),e.j}function pat(e){e.a=null,e.e=null,Dl(e.b),e.d=0,++e.c}function J_(e){my(e.b!=-1),l2(e.c,e.a=e.b),e.b=-1}function M5e(e,t){rw.call(this,1),this.a=e,this.b=t}function zgn(e,t){return e>0?b.Math.log(e/t):-100}function bat(e,t){return su(e,t)<0?-1:su(e,t)>0?1:0}function WO(e,t){ort(e,De(t,160)?t:l(t,2036).Rl())}function D5e(e,t){if(e==null)throw ue(new I8(t))}function qgn(e,t){return Uwn(t,e.length),new Tst(e,t)}function I5e(e,t){return t?Ga(e,t):!1}function Hgn(){return Kz(),he(le(B6t,1),it,549,0,[F0e])}function Z_(e){return e.e==0?e:new $m(-e.e,e.d,e.a)}function Ugn(e,t){return Xi(e.c.c+e.c.b,t.c.c+t.c.b)}function YO(e,t){_s(e.d,t,e.b.b,e.b),++e.a,e.c=null}function mat(e,t){return e.c?mat(e.c,t):wt(e.b,t),e}function Vgn(e,t,n){var r;return r=My(e,t),Poe(e,t,n),r}function vat(e,t,n){var r;for(r=0;r<t;++r)Ss(e,r,n)}function wat(e,t,n,r,s){for(;t<n;)r[s++]=io(e,t++)}function Gk(e,t,n,r,s){Hue(e,l($i(t.k,n),15),n,r,s)}function Ew(e,t){Os(gc(e.Oc(),new Uj),new JYe(t))}function Ggn(e,t){return Xi(e.e.a+e.f.a,t.e.a+t.f.a)}function Kgn(e,t){return Xi(e.e.b+e.f.b,t.e.b+t.f.b)}function toe(e){return b.Math.abs(e.d.e-e.e.e)-e.a}function Wgn(e){return e==gs?cB:e==oa?"-INF":""+e}function Ygn(e){return e==gs?cB:e==oa?"-INF":""+e}function Xgn(e){return nx(),ds(hg(e))==ds(Ib(e))}function Qgn(e,t,n){return l(e.c.hd(t,l(n,136)),44)}function Jgn(e,t){Z8(e,new Ty(t.f!=null?t.f:""+t.g))}function Zgn(e,t){Z8(e,new Ty(t.f!=null?t.f:""+t.g))}function Ls(e,t){return e.Si()&&(t=Got(e,t)),e.Fi(t)}function noe(e,t){return t=e.Yk(null,t),gpt(e,null,t)}function epn(e,t){++e.j,que(e,e.i,t),TTn(e,l(t,343))}function O5e(e){e?t9e(e,(Wg(),K6t)):i2n((Wg(),e))}function Cw(e){this.d=(tr(e),e),this.a=0,this.c=DP}function roe(e,t){this.d=V4n(e),this.c=t,this.a=.5*t}function yat(e){n6e.call(this),this.a=e,wt(e.a,this)}function xat(){u2.call(this),this.a=!0,this.b=!0}function kat(){kat=U,z6t=new zc(!1),q6t=new zc(!0)}function eA(e){var t;return t=e.g,t||(e.g=new Cz(e))}function CH(e){var t;return t=e.k,t||(e.k=new ab(e))}function N5e(e){var t;return t=e.k,t||(e.k=new ab(e))}function tpn(e){var t;return t=e.i,t||(e.i=new Oie(e))}function Tat(e){var t;return t=e.f,t||(e.f=new Vye(e))}function ioe(e){var t;return t=e.j,t||(e.j=new Lz(e))}function soe(e){var t;return t=e.d,t||(e.d=new ob(e))}function Eat(e,t,n){return Ii(),new wct(e,t,n)}function Cat(e,t){return oN(t,e.c.b.c.gc()),new oet(e,t)}function P5e(e,t){var n;return n=e.a.gc(),oN(t,n),n-1-t}function I(e,t,n){var r;return r=aoe(e,t),xft(n,r),r}function aoe(e,t){var n;return n=new e8e,n.j=e,n.d=t,n}function Xr(e){if(e==null)throw ue(new _8);return e}function Ty(e){if(e==null)throw ue(new _8);this.a=e}function Sat(e){Hwe(),this.b=new mt,this.a=e,KMn(this,e)}function B5e(e){this.b=e,this.a=l(Lf(this.b.a.e),227)}function Sw(){Sw=U,wd(),P0e=new xoe((Cn(),Cn(),Co))}function ooe(){ooe=U,wd(),c_e=new $3e((Cn(),Cn(),vK))}function wb(){wb=U,Un=kTn(),En(),B4&&T8n()}function SH(e){e.s=NaN,e.c=NaN,X2t(e,e.e),X2t(e,e.j)}function wr(e){return(e.i==null&&Sd(e),e.i).length}function _at(e,t){return l(Rm(e.a).Md().Xb(t),44).ld()}function or(e,t){return Da(t)?wu(e,t):dc(zo(e.f,t))}function npn(e,t){return nx(),e==hg(t)?Ib(t):hg(t)}function rpn(e,t,n,r){return n==0||(n-r)/n<e.e||t>=e.g}function Ss(e,t,n){return Bfn(n==null||DAn(e,n)),e[t]=n}function F5e(e,t){return Yn(t,e.length+1),e.substr(t)}function coe(e,t){for(tr(t);e.c<e.d;)e.Se(t,e.c++)}function R5e(e){this.d=e,this.c=e.a.d.a,this.b=e.a.e.g}function Aat(e){this.c=e,this.a=new os,this.b=new os}function vu(e){this.c=new za,this.a=new mt,this.b=e}function Lat(e){this.b=new mt,this.a=new mt,this.c=e}function ipn(e,t,n){l(t.b,68),Uu(t.a,new j4e(e,n,t))}function spn(e,t){return hx(),l(Zo(e,t.d),15).Fc(t)}function Z8(e,t){var n;n=e.a.length,My(e,n),Poe(e,n,t)}function Mat(e,t){var n;n=console[e],n.call(console,t)}function Dat(e,t){var n;++e.j,n=e.Ej(),e.rj(e.Zi(n,t))}function uoe(e,t,n){var r;return r=vce(e,t,n),Tke(e,r)}function _w(e){return!e.d&&(e.d=new Qs(Wo,e,1)),e.d}function apn(e){return!e.a&&(e.a=new Qs(sm,e,4)),e.a}function Kk(e,t){return e.a+=String.fromCharCode(t),e}function yb(e,t){return e.a+=String.fromCharCode(t),e}function j5e(e,t,n){this.a=e,jwe.call(this,t),this.b=n}function Iat(e,t,n){this.a=e,x6e.call(this,8,t,null,n)}function $5e(e,t,n){rw.call(this,e),this.a=t,this.b=n}function z5e(e,t,n){zz.call(this,t),this.a=e,this.b=n}function Oat(e){this.c=e,this.b=this.c.a,this.a=this.c.e}function opn(e){this.a=(tr(ui),ui),this.b=e,new i3e}function Nat(e){W5e(e.a),e.b=We(ka,jn,1,e.b.length,5,1)}function fh(e){my(e.c!=-1),e.d.gd(e.c),e.b=e.c,e.c=-1}function tA(e){return b.Math.sqrt(e.a*e.a+e.b*e.b)}function _H(e,t){return Pue(e.c,e.f,t,e.b,e.a,e.e,e.d)}function Aw(e,t){return Uk(t,e.a.c.length),Rt(e.a,t)}function yd(e,t){return qe(e)===qe(t)||e!=null&&Fi(e,t)}function Pat(e){return De(e,102)&&(l(e,19).Bb&nu)!=0}function Bat(e){return Lf(e),De(e,484)?l(e,484):Tc(e)}function Fat(e){return e?e.dc():!e.Kc().Ob()}function cpn(e){return R4?woe(R4,e):!1}function upn(e){return 0>=e?new N3e:g3n(e-1)}function Ja(e){return!e.a&&e.c?e.c.b:e.a}function q5e(e){return De(e,616)?e:new Fot(e)}function xb(e){e.c?xb(e.c):(Mb(e),e.d=!0)}function nA(e){e.c?e.c.$e():(e.d=!0,ICn(e))}function Rat(e){e.b=!1,e.c=!1,e.d=!1,e.a=!1}function jat(e){var t,n;return t=e.c.i.c,n=e.d.i.c,t==n}function lpn(e,t){var n;n=e.Ih(t),n>=0?e.ki(n):D9e(e,t)}function $at(e,t){e.c<0||e.b.b<e.c?yo(e.b,t):e.a.tf(t)}function hpn(e,t){zr((!e.a&&(e.a=new FO(e,e)),e.a),t)}function fpn(e,t){Uae(l(t.b,68),e),Uu(t.a,new Fz(e))}function dpn(e,t){return iu(t.j.c.length,e.j.c.length)}function gpn(e,t,n){return fx(),n.Lg(e,l(t.ld(),149))}function Lf(e){if(e==null)throw ue(new _8);return e}function tr(e){if(e==null)throw ue(new _8);return e}function ppn(e){if(e.p!=4)throw ue(new gl);return e.e}function bpn(e){if(e.p!=3)throw ue(new gl);return e.e}function mpn(e){if(e.p!=3)throw ue(new gl);return e.j}function vpn(e){if(e.p!=4)throw ue(new gl);return e.j}function wpn(e){if(e.p!=6)throw ue(new gl);return e.f}function ypn(e){if(e.p!=6)throw ue(new gl);return e.k}function H5e(e){return!e.b&&(e.b=new qz(new ise)),e.b}function Lw(e){return e.c==-2&&Lt(e,d9n(e.g,e.b)),e.c}function Wk(e,t){var n;return n=aoe("",e),n.n=t,n.i=1,n}function AH(e,t,n,r){hw.call(this,e,n),this.a=t,this.f=r}function U5e(e,t,n,r){hw.call(this,e,t),this.d=n,this.a=r}function zat(e,t){Ohn.call(this,p3n(Xr(e),Xr(t))),this.a=t}function Js(){KJe.call(this),uy(this.j.c,0),this.a=-1}function qat(){c9e.call(this,Ff,(Ak(),GPe)),qLn(this)}function Hat(){c9e.call(this,bv,(IZe(),OAt)),OMn(this)}function Uat(){Vr.call(this,"DELAUNAY_TRIANGULATION",0)}function xpn(e){return String.fromCharCode.apply(null,e)}function Ti(e,t,n){return Da(t)?sc(e,t,n):Ru(e.f,t,n)}function V5e(e){return Cn(),e?e.Oe():(Mw(),Mw(),I_e)}function kpn(e){return Mh(e,Qle),pU(fo(fo(5,e),e/10|0))}function Vat(e,t){return aH(),new fxe(new _rt(e),new Srt(t))}function LH(){LH=U,N6t=new d3e(he(le(mv,1),rG,44,0,[]))}function Gat(e){return!e.d&&(e.d=new ja(e.c.Cc())),e.d}function Yk(e){return!e.a&&(e.a=new mZe(e.c.vc())),e.a}function Kat(e){return!e.b&&(e.b=new Ck(e.c.ec())),e.b}function og(e,t){for(;t-- >0;)e=e<<1|(e<0?1:0);return e}function Wat(e,t){var n;return n=new vu(e),qn(t.c,n),n}function Yat(e,t){e.u.Hc((Pl(),kp))&&pTn(e,t),Ovn(e,t)}function eu(e,t){return qe(e)===qe(t)||e!=null&&Fi(e,t)}function Zo(e,t){return qae(e.a,t)?e.b[l(t,22).g]:null}function Tpn(){return aq(),he(le(uAe,1),it,489,0,[a1e])}function Epn(){return uq(),he(le(FOe,1),it,490,0,[Mge])}function Cpn(){return lq(),he(le(kSt,1),it,558,0,[Dge])}function Spn(){return m_(),he(le(iNe,1),it,539,0,[XB])}function MH(e){return!e.n&&(e.n=new nt(nc,e,1,7)),e.n}function loe(e){return!e.c&&(e.c=new nt($l,e,9,9)),e.c}function G5e(e){return!e.c&&(e.c=new An(Sr,e,5,8)),e.c}function _pn(e){return!e.b&&(e.b=new An(Sr,e,4,7)),e.b}function XO(e){return e.j.c.length=0,W5e(e.c),s0n(e.a),e}function Xk(e){return e.e==CE&&fn(e,x6n(e.g,e.b)),e.e}function QO(e){return e.f==CE&&Dn(e,f8n(e.g,e.b)),e.f}function Ei(e,t,n,r){return v0t(e,t,n,!1),GU(e,r),e}function Xat(e,t){this.b=e,Zae.call(this,e,t),prt(this)}function Qat(e,t){this.b=e,M4e.call(this,e,t),brt(this)}function rA(e){this.d=e,this.a=this.d.b,this.b=this.d.c}function K5e(e,t){this.b=e,this.c=t,this.a=new B8(this.b)}function io(e,t){return Yn(t,e.length),e.charCodeAt(t)}function Apn(e,t){N8e(e,ze(ap(t,"x")),ze(ap(t,"y")))}function Lpn(e,t){N8e(e,ze(ap(t,"x")),ze(ap(t,"y")))}function ji(e,t){return Mb(e),new vn(e,new i7e(t,e.a))}function gc(e,t){return Mb(e),new vn(e,new H6e(t,e.a))}function Ey(e,t){return Mb(e),new c4e(e,new alt(t,e.a))}function DH(e,t){return Mb(e),new u4e(e,new olt(t,e.a))}function Mpn(e,t){return new xot(l(Xr(e),50),l(Xr(t),50))}function Dpn(e,t){return Xi(e.d.c+e.d.b/2,t.d.c+t.d.b/2)}function Jat(e,t,n){n.a?Gu(e,t.b-e.f/2):Vu(e,t.a-e.g/2)}function Ipn(e,t){return Xi(e.g.c+e.g.b/2,t.g.c+t.g.b/2)}function Opn(e,t){return F3e(),Xi((tr(e),e),(tr(t),t))}function Npn(e){return e!=null&&lO(MY,e.toLowerCase())}function W5e(e){var t;for(t=e.Kc();t.Ob();)t.Pb(),t.Qb()}function G5(e){var t;return t=e.b,!t&&(e.b=t=new Die(e)),t}function hoe(e){var t;return t=v3n(e),t||null}function Zat(e,t){var n,r;return n=e/t,r=da(n),n>r&&++r,r}function Ppn(e,t,n){var r;r=l(e.d.Kb(n),159),r&&r.Nb(t)}function Bpn(e,t,n){RLn(e.a,n),pyn(n),sEn(e.b,n),sMn(t,n)}function IH(e,t,n,r){this.a=e,this.c=t,this.b=n,this.d=r}function Y5e(e,t,n,r){this.c=e,this.b=t,this.a=n,this.d=r}function eot(e,t,n,r){this.c=e,this.b=t,this.d=n,this.a=r}function Zh(e,t,n,r){this.c=e,this.d=t,this.b=n,this.a=r}function tot(e,t,n,r){this.a=e,this.d=t,this.c=n,this.b=r}function foe(e,t,n,r){this.a=e,this.e=t,this.d=n,this.c=r}function not(e,t,n,r){this.a=e,this.c=t,this.d=n,this.b=r}function doe(e,t,n){this.a=kTe,this.d=e,this.b=t,this.c=n}function ex(e,t,n,r){Vr.call(this,e,t),this.a=n,this.b=r}function rot(e,t){this.d=(tr(e),e),this.a=16449,this.c=t}function iot(e){this.a=new mt,this.e=We(Ur,dt,53,e,0,2)}function Fpn(e){e.Ug("No crossing minimization",1),e.Vg()}function sot(){Ic.call(this,"There is no more element.")}function aot(e,t,n,r){this.a=e,this.b=t,this.c=n,this.d=r}function oot(e,t,n,r){this.a=e,this.b=t,this.c=n,this.d=r}function zm(e,t,n,r){this.e=e,this.a=t,this.c=n,this.d=r}function cot(e,t,n,r){this.a=e,this.c=t,this.d=n,this.b=r}function uot(e,t,n,r){Qh(),clt.call(this,t,n,r),this.a=e}function lot(e,t,n,r){Qh(),clt.call(this,t,n,r),this.a=e}function goe(e,t,n){var r,s;return r=cTe(e),s=t.ti(n,r),s}function Qg(e){var t,n;return n=(t=new iw,t),oT(n,e),n}function poe(e){var t,n;return n=(t=new iw,t),h9e(n,e),n}function Rpn(e,t){var n;return n=or(e.f,t),U7e(t,n),null}function hot(e){return!e.b&&(e.b=new nt(js,e,12,3)),e.b}function fot(e){return V_(e==null||Jae(e)&&e.Tm!==xe),e}function OH(e){return e.n&&(e.e!==d3t&&e.je(),e.j=null),e}function Qk(e){if(Wl(e.d),e.d.d!=e.c)throw ue(new Yh)}function X5e(e){return br(e.b<e.d.gc()),e.d.Xb(e.c=e.b++)}function Ch(e){e.a.a=e.c,e.c.b=e.a,e.a.b=e.c.a=null,e.b=0}function boe(e){this.f=e,this.c=this.f.e,e.f>0&&Ugt(this)}function dot(e,t){this.a=e,Ffn.call(this,e,l(e.d,15).fd(t))}function jpn(e,t){return Xi(vl(e)*hh(e),vl(t)*hh(t))}function $pn(e,t){return Xi(vl(e)*hh(e),vl(t)*hh(t))}function zpn(e){return Yw(e)&&Ft(Pt(at(e,(Nt(),kv))))}function qpn(e,t){return xn(e,l(Q(t,(Nt(),VE)),17),t)}function Hpn(e,t){return l(Q(e,(ft(),Yx)),15).Fc(t),t}function Q5e(e,t){return e.b=t.b,e.c=t.c,e.d=t.d,e.a=t.a,e}function got(e,t,n,r){this.b=e,this.c=r,Rq.call(this,t,n)}function Upn(e,t,n){e.i=0,e.e=0,t!=n&&Q0t(e,t,n)}function Vpn(e,t,n){e.i=0,e.e=0,t!=n&&J0t(e,t,n)}function Gpn(e,t,n){return b_(),w5n(l(or(e.e,t),529),n)}function tx(e){var t;return t=e.f,t||(e.f=new Dk(e,e.c))}function pot(e,t){return n6(e.j,t.s,t.c)+n6(t.e,e.s,e.c)}function bot(e,t){e.e&&!e.e.a&&(tJe(e.e,t),bot(e.e,t))}function mot(e,t){e.d&&!e.d.a&&(tJe(e.d,t),mot(e.d,t))}function Kpn(e,t){return-Xi(vl(e)*hh(e),vl(t)*hh(t))}function Wpn(e){return l(e.ld(),149).Pg()+":"+Tc(e.md())}function vot(){Wue(this,new wz),this.wb=(wb(),Un),Ak()}function wot(e){this.b=new mt,aa(this.b,this.b),this.a=e}function J5e(e,t){new os,this.a=new pl,this.b=e,this.c=t}function Mw(){Mw=U,D_e=new Ke,V0e=new Ke,I_e=new zt}function Cn(){Cn=U,Co=new je,yg=new Se,vK=new Ce}function Z5e(){Z5e=U,p7t=new uo,m7t=new g5e,b7t=new Es}function nx(){nx=U,SK=new mt,l1e=new Nr,u1e=new mt}function NH(e,t){if(e==null)throw ue(new I8(t));return e}function PH(e){return!e.a&&(e.a=new nt(Li,e,10,11)),e.a}function qi(e){return!e.q&&(e.q=new nt(Vf,e,11,10)),e.q}function tt(e){return!e.s&&(e.s=new nt(fl,e,21,17)),e.s}function Ypn(e){return Xr(e),agt(new lr(fr(e.a.Kc(),new j)))}function Xpn(e,t){return dh(e),dh(t),hZe(l(e,22),l(t,22))}function qm(e,t,n){var r,s;r=I4e(n),s=new yk(r),Z0(e,t,s)}function moe(e,t,n,r,s,o){dN.call(this,e,t,n,r,s,o?-2:-1)}function yot(e,t,n,r){wye.call(this,t,n),this.b=e,this.a=r}function xot(e,t){mun.call(this,new Yae(e)),this.a=e,this.b=t}function e6e(e){this.b=e,this.c=e,e.e=null,e.c=null,this.a=1}function Qpn(e){c0();var t;t=l(e.g,10),t.n.a=e.d.c+t.d.b}function Jk(){Jk=U;var e,t;t=!i6n(),e=new se,$0e=t?new ne:e}function voe(e){return Cn(),De(e,59)?new gse(e):new Gq(e)}function BH(e){return De(e,16)?new G_(l(e,16)):Mdn(e.Kc())}function Jpn(e){return new vrt(e,e.e.Rd().gc()*e.c.Rd().gc())}function Zpn(e){return new wrt(e,e.e.Rd().gc()*e.c.Rd().gc())}function t6e(e){return e&&e.hashCode?e.hashCode():ww(e)}function woe(e,t){return t==null?!!zo(e.f,null):pgn(e.i,t)}function e2n(e,t){var n;return n=Fye(e.a,t),n&&(t.d=null),n}function kot(e,t,n){return e.f?e.f.ef(t,n):!1}function JO(e,t,n,r){Ss(e.c[t.g],n.g,r),Ss(e.c[n.g],t.g,r)}function yoe(e,t,n,r){Ss(e.c[t.g],t.g,n),Ss(e.b[t.g],t.g,r)}function t2n(e,t,n){return ze(Ge(n.a))<=e&&ze(Ge(n.b))>=t}function Tot(e,t){this.g=e,this.d=he(le(kg,1),S2,10,0,[t])}function Eot(e){this.c=e,this.b=new n2(l(Xr(new Ou),50))}function Cot(e){this.c=e,this.b=new n2(l(Xr(new f5),50))}function Sot(e){this.b=e,this.a=new n2(l(Xr(new gi),50))}function _ot(){this.b=new Ys,this.d=new os,this.e=new t3e}function n6e(){this.c=new za,this.d=new za,this.e=new za}function Dw(){this.a=new pl,this.b=(Mh(3,Jy),new Pu(3))}function o2(e,t){this.e=e,this.a=ka,this.b=_mt(t),this.c=t}function FH(e){this.c=e.c,this.d=e.d,this.b=e.b,this.a=e.a}function Aot(e,t,n,r,s,o){this.a=e,fce.call(this,t,n,r,s,o)}function Lot(e,t,n,r,s,o){this.a=e,fce.call(this,t,n,r,s,o)}function kb(e,t,n,r,s,o,f){return new Foe(e.e,t,n,r,s,o,f)}function n2n(e,t,n){return n>=0&&wn(e.substr(n,t.length),t)}function Mot(e,t){return De(t,149)&&wn(e.b,l(t,149).Pg())}function r2n(e,t){return e.a?t.Gh().Kc():l(t.Gh(),71).Ii()}function Dot(e,t){var n;return n=e.b.Qc(t),Cut(n,e.b.gc()),n}function ZO(e,t){if(e==null)throw ue(new I8(t));return e}function pc(e){return e.u||(Gl(e),e.u=new lit(e,e)),e.u}function xoe(e){this.a=(Cn(),De(e,59)?new gse(e):new Gq(e))}function il(e){var t;return t=l(Gn(e,16),29),t||e.ii()}function RH(e,t){var n;return n=Pm(e.Rm),t==null?n:n+": "+t}function ef(e,t,n){return Va(t,n,e.length),e.substr(t,n-t)}function Iot(e,t){Qq.call(this),d7e(this),this.a=e,this.c=t}function i2n(e){e&&RH(e,e.ie())}function s2n(e){Xz(),b.setTimeout(function(){throw e},0)}function a2n(){return aV(),he(le($_e,1),it,436,0,[Z0e,j_e])}function o2n(){return dU(),he(le(q_e,1),it,435,0,[z_e,e1e])}function c2n(){return gU(),he(le(bAe,1),it,432,0,[h1e,_K])}function u2n(){return pT(),he(le(bxt,1),it,517,0,[xB,C1e])}function l2n(){return WH(),he(le(ZLe,1),it,429,0,[tde,JLe])}function h2n(){return TN(),he(le(FLe,1),it,428,0,[rW,BLe])}function f2n(){return sU(),he(le(LLe,1),it,431,0,[ALe,$1e])}function d2n(){return xN(),he(le(VDe,1),it,430,0,[Bde,Fde])}function g2n(){return cA(),he(le(oEt,1),it,531,0,[lM,uM])}function p2n(){return LU(),he(le(zIe,1),it,501,0,[KW,J6])}function b2n(){return xd(),he(le(gEt,1),it,523,0,[S3,O2])}function m2n(){return D1(),he(le(bEt,1),it,522,0,[_v,Y1])}function v2n(){return Q0(),he(le(DEt,1),it,528,0,[S4,Qb])}function w2n(){return bN(),he(le($Le,1),it,488,0,[jLe,sW])}function y2n(){return ZH(),he(le(MOe,1),it,491,0,[_ge,LOe])}function x2n(){return Sce(),he(le(BOe,1),it,492,0,[NOe,POe])}function k2n(){return VH(),he(le($Ie,1),it,433,0,[sge,jIe])}function T2n(){return oU(),he(le(HIe,1),it,434,0,[qIe,hge])}function E2n(){return Ow(),he(le(REt,1),it,465,0,[Jb,Y6])}function C2n(){return hN(),he(le(ROe,1),it,438,0,[Ige,iY])}function S2n(){return ON(),he(le(aNe,1),it,437,0,[aY,sNe])}function _2n(){return Dae(),he(le(xY,1),it,347,0,[xPe,kPe])}function jH(e,t,n,r){return n>=0?e.Uh(t,n,r):e.Ch(null,n,r)}function eN(e){return e.b.b==0?e.a.sf():Bae(e.b)}function A2n(e){if(e.p!=5)throw ue(new gl);return Yr(e.f)}function L2n(e){if(e.p!=5)throw ue(new gl);return Yr(e.k)}function r6e(e){return qe(e.a)===qe((Ece(),bpe))&&_Mn(e),e.a}function M2n(e,t){e.b=t,e.c>0&&e.b>0&&(e.g=dH(e.c,e.b,e.a))}function D2n(e,t){e.c=t,e.c>0&&e.b>0&&(e.g=dH(e.c,e.b,e.a))}function Oot(e,t){ce(this,new lt(e.a,e.b)),ve(this,HO(t))}function Iw(){vun.call(this,new P8(Dy(12))),qye(!0),this.a=2}function koe(e,t,n){Ii(),rw.call(this,e),this.b=t,this.a=n}function i6e(e,t,n){Qh(),zz.call(this,t),this.a=e,this.b=n}function Not(e){var t;t=e.c.d.b,e.b=t,e.a=e.c.d,t.a=e.c.d.b=e}function I2n(e){return e.b==0?null:(br(e.b!=0),sf(e,e.a.a))}function wu(e,t){return t==null?dc(zo(e.f,null)):x_(e.i,t)}function Pot(e,t,n,r,s){return new Xue(e,(sT(),Y0e),t,n,r,s)}function $H(e,t){return kut(t),n3n(e,We(Ur,fi,28,t,15,1),t)}function zH(e,t){return NH(e,"set1"),NH(t,"set2"),new Tet(e,t)}function O2n(e,t){var n=j0e[e.charCodeAt(0)];return n??e}function Bot(e,t){var n,r;return n=t,r=new yt,uwt(e,n,r),r.d}function Toe(e,t,n,r){var s;s=new dit,t.a[n.g]=s,J8(e.b,r,s)}function N2n(e,t){var n;return n=Zwn(e.f,t),Pi(Xq(n),e.f.d)}function tN(e){var t;l3n(e.a),Hnt(e.a),t=new t_(e.a),U8e(t)}function P2n(e,t){mmt(e,!0),Uu(e.e.Rf(),new B4e(e,!0,t))}function B2n(e,t){return nx(),e==ds(hg(t))||e==ds(Ib(t))}function F2n(e,t){return sp(),l(Q(t,(Vc(),$d)),17).a==e}function da(e){return Math.max(Math.min(e,Ni),-2147483648)|0}function Fot(e){this.a=l(Xr(e),277),this.b=(Cn(),new Yye(e))}function Rot(e,t,n){this.i=new mt,this.b=e,this.g=t,this.a=n}function s6e(e,t,n){this.a=new mt,this.e=e,this.f=t,this.c=n}function qH(e,t,n){this.c=new mt,this.e=e,this.f=t,this.b=n}function jot(e){Qq.call(this),d7e(this),this.a=e,this.c=!0}function R2n(e){function t(){}return t.prototype=e||{},new t}function j2n(e){if(e.Ae())return null;var t=e.n;return fK[t]}function nN(e){return e.Db>>16!=3?null:l(e.Cb,27)}function M1(e){return e.Db>>16!=9?null:l(e.Cb,27)}function $ot(e){return e.Db>>16!=6?null:l(e.Cb,74)}function Ow(){Ow=U,Jb=new oye(Dx,0),Y6=new oye(Ix,1)}function xd(){xd=U,S3=new iye(Ix,0),O2=new iye(Dx,1)}function D1(){D1=U,_v=new sye(Ohe,0),Y1=new sye("UP",1)}function zot(){zot=U,F6t=Kr((Kz(),he(le(B6t,1),it,549,0,[F0e])))}function qot(e){var t;return t=new eq(Dy(e.length)),r8e(t,e),t}function Hot(e,t){return e.b+=t.b,e.c+=t.c,e.d+=t.d,e.a+=t.a,e}function $2n(e,t){return L0t(e,t)?(Cft(e),!0):!1}function Jg(e,t){if(t==null)throw ue(new _8);return a6n(e,t)}function rN(e,t){var n;n=e.q.getHours(),e.q.setDate(t),QA(e,n)}function a6e(e,t,n){var r;r=e.Ih(t),r>=0?e.bi(r,n):ike(e,t,n)}function Uot(e,t){var n;return n=e.Ih(t),n>=0?e.Wh(n):nle(e,t)}function Vot(e,t){var n;for(Xr(t),n=e.a;n;n=n.c)t.Yd(n.g,n.i)}function Eoe(e,t,n){var r;r=Y0t(e,t,n),e.b=new DU(r.c.length)}function K5(e,t,n){HH(),e&&Ti(dpe,e,t),e&&Ti(vF,e,n)}function z2n(e,t){return nH(),Hn(),l(t.a,17).a<e}function q2n(e,t){return nH(),Hn(),l(t.b,17).a<e}function Coe(e,t){return b.Math.abs(e)<b.Math.abs(t)?e:t}function H2n(e){return!e.a&&(e.a=new nt(Li,e,10,11)),e.a.i>0}function o6e(e){var t;return t=e.d,t=e.bj(e.f),zr(e,t),t.Ob()}function Got(e,t){var n;return n=new h5e(t),mpt(n,e),new Ml(n)}function U2n(e){if(e.p!=0)throw ue(new gl);return O_(e.f,0)}function V2n(e){if(e.p!=0)throw ue(new gl);return O_(e.k,0)}function Kot(e){return e.Db>>16!=7?null:l(e.Cb,241)}function Zk(e){return e.Db>>16!=6?null:l(e.Cb,241)}function Wot(e){return e.Db>>16!=7?null:l(e.Cb,167)}function ds(e){return e.Db>>16!=11?null:l(e.Cb,27)}function Cy(e){return e.Db>>16!=17?null:l(e.Cb,29)}function Yot(e){return e.Db>>16!=3?null:l(e.Cb,155)}function c6e(e){var t;return Mb(e),t=new Ys,ji(e,new E5(t))}function Xot(e,t){var n=e.a=e.a||[];return n[t]||(n[t]=e.ve(t))}function G2n(e,t){var n;n=e.q.getHours(),e.q.setMonth(t),QA(e,n)}function Qot(e,t){Uq(this),this.f=t,this.g=e,OH(this),this.je()}function Jot(e,t){this.a=e,this.c=Xa(this.a),this.b=new FH(t)}function Zot(e,t,n){this.a=t,this.c=e,this.b=(Xr(n),new Ml(n))}function ect(e,t,n){this.a=t,this.c=e,this.b=(Xr(n),new Ml(n))}function tct(e){this.a=e,this.b=We(iEt,dt,2043,e.e.length,0,2)}function nct(){this.a=new bd,this.e=new Ys,this.g=0,this.i=0}function HH(){HH=U,dpe=new Nr,vF=new Nr,$ln(t7t,new MS)}function rct(){rct=U,qTt=wl(new Js,(so(),wc),(po(),kB))}function u6e(){u6e=U,HTt=wl(new Js,(so(),wc),(po(),kB))}function ict(){ict=U,VTt=wl(new Js,(so(),wc),(po(),kB))}function sct(){sct=U,uEt=hi(new Js,(so(),wc),(po(),qL))}function Sh(){Sh=U,fEt=hi(new Js,(so(),wc),(po(),qL))}function act(){act=U,dEt=hi(new Js,(so(),wc),(po(),qL))}function Soe(){Soe=U,vEt=hi(new Js,(so(),wc),(po(),qL))}function iA(e,t,n,r,s,o){return new rp(e.e,t,e.Lj(),n,r,s,o)}function sc(e,t,n){return t==null?Ru(e.f,null,n):Hw(e.i,t,n)}function ho(e,t){e.c&&sl(e.c.g,e),e.c=t,e.c&&wt(e.c.g,e)}function Ha(e,t){e.c&&sl(e.c.a,e),e.c=t,e.c&&wt(e.c.a,e)}function Nc(e,t){e.i&&sl(e.i.j,e),e.i=t,e.i&&wt(e.i.j,e)}function Na(e,t){e.d&&sl(e.d.e,e),e.d=t,e.d&&wt(e.d.e,e)}function _oe(e,t){e.a&&sl(e.a.k,e),e.a=t,e.a&&wt(e.a.k,e)}function Aoe(e,t){e.b&&sl(e.b.f,e),e.b=t,e.b&&wt(e.b.f,e)}function oct(e,t){ipn(e,e.b,e.c),l(e.b.b,68),t&&l(t.b,68).b}function K2n(e,t){return Xi(l(e.c,65).c.e.b,l(t.c,65).c.e.b)}function W2n(e,t){return Xi(l(e.c,65).c.e.a,l(t.c,65).c.e.a)}function Y2n(e){return Uce(),Hn(),l(e.a,86).d.e!=0}function UH(e,t){De(e.Cb,184)&&(l(e.Cb,184).tb=null),Bu(e,t)}function Loe(e,t){De(e.Cb,90)&&Uy(Gl(l(e.Cb,90)),4),Bu(e,t)}function X2n(e,t){P8e(e,t),De(e.Cb,90)&&Uy(Gl(l(e.Cb,90)),2)}function Q2n(e,t){var n,r;n=t.c,r=n!=null,r&&Z8(e,new Ty(t.c))}function cct(e){var t,n;return n=(Ak(),t=new iw,t),oT(n,e),n}function uct(e){var t,n;return n=(Ak(),t=new iw,t),oT(n,e),n}function lct(e){for(var t;;)if(t=e.Pb(),!e.Ob())return t}function J2n(e,t,n){return wt(e.a,(LH(),Sue(t,n),new hw(t,n))),e}function yu(e,t){return Ro(),ice(t)?new uH(t,e):new AO(t,e)}function iN(e){return Cd(),su(e,0)>=0?Db(e):Z_(Db(f2(e)))}function Z2n(e){var t;return t=l(oH(e.b),9),new Jh(e.a,t,e.c)}function hct(e,t){var n;return n=l(By(tx(e.a),t),16),n?n.gc():0}function fct(e,t,n){var r;F1t(t,n,e.c.length),r=n-t,D3e(e.c,t,r)}function c2(e,t,n){F1t(t,n,e.gc()),this.c=e,this.a=t,this.b=n-t}function rx(e){this.c=new os,this.b=e.b,this.d=e.c,this.a=e.a}function Moe(e){this.a=b.Math.cos(e),this.b=b.Math.sin(e)}function Hm(e,t,n,r){this.c=e,this.d=r,_oe(this,t),Aoe(this,n)}function l6e(e,t){bun.call(this,new P8(Dy(e))),Mh(t,o3t),this.a=t}function dct(e,t,n){return new Xue(e,(sT(),W0e),null,!1,t,n)}function gct(e,t,n){return new Xue(e,(sT(),X0e),t,n,null,!1)}function ebn(){return Nl(),he(le(uc,1),it,108,0,[R_e,Cc,o4])}function tbn(){return al(),he(le(S7t,1),it,472,0,[s1,Gb,v0])}function nbn(){return Ol(),he(le(E7t,1),it,471,0,[Fd,Vb,m0])}function rbn(){return e1(),he(le(c4,1),it,237,0,[Wc,ju,Yc])}function ibn(){return hA(),he(le(DAe,1),it,391,0,[p1e,g1e,b1e])}function sbn(){return $w(),he(le(D1e,1),it,372,0,[g3,Kb,d3])}function abn(){return gA(),he(le(DLe,1),it,322,0,[UL,CB,MLe])}function obn(){return kU(),he(le(OLe,1),it,351,0,[ILe,nW,z1e])}function cbn(){return Jm(),he(le(Kxt,1),it,460,0,[U1e,jE,F6])}function ubn(){return yT(),he(le(ede,1),it,299,0,[J1e,Z1e,SB])}function lbn(){return ip(),he(le(t9t,1),it,311,0,[_B,j6,Gx])}function hbn(){return EA(),he(le(PDe,1),it,390,0,[Lde,NDe,OW])}function fbn(){return qo(),he(le(PTt,1),it,463,0,[aM,Fl,$u])}function dbn(){return BU(),he(le(WDe,1),it,387,0,[GDe,Rde,KDe])}function gbn(){return xA(),he(le(YDe,1),it,349,0,[$de,jde,RB])}function pbn(){return AT(),he(le(QDe,1),it,350,0,[zde,XDe,oM])}function bbn(){return xU(),he(le(eIe,1),it,352,0,[ZDe,qde,JDe])}function mbn(){return $U(),he(le(tIe,1),it,388,0,[Hde,JE,C4])}function vbn(){return jw(),he(le(nEt,1),it,464,0,[jB,cM,FW])}function I1(e){return Bc(he(le(Ca,1),dt,8,0,[e.i.n,e.n,e.a]))}function wbn(){return kA(),he(le(vIe,1),it,392,0,[mIe,Gde,zB])}function pct(){pct=U,dCt=wl(new Js,(yx(),fM),(YA(),cIe))}function VH(){VH=U,sge=new cye("DFS",0),jIe=new cye("BFS",1)}function bct(e,t,n){var r;r=new Cte,r.b=t,r.a=n,++t.b,wt(e.d,r)}function ybn(e,t,n){var r;r=new xo(n.d),Pi(r,e),N8e(t,r.a,r.b)}function xbn(e,t){urt(e,Yr(xa(Tw(t,24),aG)),Yr(xa(t,aG)))}function Sy(e,t){if(e<0||e>t)throw ue(new rc(DTe+e+ITe+t))}function Sn(e,t){if(e<0||e>=t)throw ue(new rc(DTe+e+ITe+t))}function Yn(e,t){if(e<0||e>=t)throw ue(new v3e(DTe+e+ITe+t))}function kn(e,t){this.b=(tr(e),e),this.a=t&Zy?t:t|64|_d}function h6e(e){var t;return Mb(e),t=(Mw(),Mw(),V0e),mU(e,t)}function kbn(e,t,n){var r;return r=eL(e,t,!1),r.b<=t&&r.a<=n}function Tbn(){return cU(),he(le(OOe,1),it,439,0,[Age,IOe,DOe])}function Ebn(){return YU(),he(le(gOe,1),it,394,0,[dOe,Tge,fOe])}function Cbn(){return tV(),he(le(hOe,1),it,445,0,[GB,QW,mge])}function Sbn(){return fV(),he(le(UCt,1),it,456,0,[vge,yge,wge])}function _bn(){return FN(),he(le(GIe,1),it,393,0,[WW,UIe,VIe])}function Abn(){return PU(),he(le(lOe,1),it,300,0,[bge,uOe,cOe])}function Lbn(){return op(),he(le(dPe,1),it,346,0,[gY,F2,IM])}function Mbn(){return HN(),he(le(Lge,1),it,444,0,[tY,nY,rY])}function Dbn(){return F1(),he(le(tPe,1),it,278,0,[iC,M4,sC])}function Ibn(){return gx(),he(le(yPe,1),it,280,0,[wPe,I4,yY])}function Nw(e){return Xr(e),De(e,16)?new Ml(l(e,16)):qk(e.Kc())}function f6e(e,t){return e&&e.equals?e.equals(t):qe(e)===qe(t)}function xa(e,t){return Sb(Egn(xc(e)?Mf(e):e,xc(t)?Mf(t):t))}function X0(e,t){return Sb(Cgn(xc(e)?Mf(e):e,xc(t)?Mf(t):t))}function Doe(e,t){return Sb(Sgn(xc(e)?Mf(e):e,xc(t)?Mf(t):t))}function Obn(e,t){var n;return n=(tr(e),e).g,a4e(!!n),tr(t),n(t)}function mct(e,t){var n,r;return r=Vk(e,t),n=e.a.fd(r),new xet(e,n)}function Nbn(e){return e.Db>>16!=6?null:l(sle(e),241)}function Pbn(e){if(e.p!=2)throw ue(new gl);return Yr(e.f)&ta}function Bbn(e){if(e.p!=2)throw ue(new gl);return Yr(e.k)&ta}function re(e){return br(e.a<e.c.c.length),e.b=e.a++,e.c.c[e.b]}function Fbn(e,t){e.b=e.b|t.b,e.c=e.c|t.c,e.d=e.d|t.d,e.a=e.a|t.a}function Rbn(e,t){var n;n=ze(Ge(e.a.of((bi(),hY)))),Iwt(e,t,n)}function vct(e,t){$m.call(this,1,2,he(le(Ur,1),fi,28,15,[e,t]))}function wct(e,t,n){rw.call(this,25),this.b=e,this.a=t,this.c=n}function _h(e){Ii(),rw.call(this,e),this.c=!1,this.a=!1}function jbn(e){return e.a==(nT(),NY)&&ut(e,ZSn(e.g,e.b)),e.a}function ix(e){return e.d==(nT(),NY)&&St(e,JAn(e.g,e.b)),e.d}function $bn(e,t){return fA(),e.c==t.c?Xi(t.d,e.d):Xi(t.c,e.c)}function zbn(e,t){return fA(),e.c==t.c?Xi(t.d,e.d):Xi(e.c,t.c)}function qbn(e,t){return fA(),e.c==t.c?Xi(e.d,t.d):Xi(e.c,t.c)}function Hbn(e,t){return fA(),e.c==t.c?Xi(e.d,t.d):Xi(t.c,e.c)}function d6e(e,t){return qst(e.a,t)?n5e(e.b,l(t,22).g,null):null}function Ubn(e){return fo(u0(tu(Yl(e,32)),32),tu(Yl(e,32)))}function g6e(e){return e.b==null||e.b.length==0?"n_"+e.a:"n_"+e.b}function Um(e){return e.c==null||e.c.length==0?"n_"+e.g:"n_"+e.c}function yct(e,t){var n;for(n=e+"";n.length<t;)n="0"+n;return n}function Vbn(e,t){var n;n=l(or(e.g,t),60),Uu(t.d,new gtt(e,n))}function Gbn(e,t){var n,r;return n=Tgt(e),r=Tgt(t),n<r?-1:n>r?1:0}function xct(e,t){var n,r;return n=ece(t),r=n,l(or(e.c,r),17).a}function Ioe(e,t,n){var r;r=e.d[t.p],e.d[t.p]=e.d[n.p],e.d[n.p]=r}function Kbn(e,t,n){var r;e.n&&t&&n&&(r=new ore,wt(e.e,r))}function Ooe(e,t){if(sa(e.a,t),t.d)throw ue(new Ic(M3t));t.d=e}function p6e(e,t){this.a=new mt,this.d=new mt,this.f=e,this.c=t}function kct(){this.c=new srt,this.a=new hlt,this.b=new xJe,zet()}function Tct(){fx(),this.b=new Nr,this.a=new Nr,this.c=new mt}function Ect(e,t,n){this.d=e,this.j=t,this.e=n,this.o=-1,this.p=3}function Cct(e,t,n){this.d=e,this.k=t,this.f=n,this.o=-1,this.p=5}function Sct(e,t,n,r,s,o){p7e.call(this,e,t,n,r,s),o&&(this.o=-2)}function _ct(e,t,n,r,s,o){b7e.call(this,e,t,n,r,s),o&&(this.o=-2)}function Act(e,t,n,r,s,o){O6e.call(this,e,t,n,r,s),o&&(this.o=-2)}function Lct(e,t,n,r,s,o){w7e.call(this,e,t,n,r,s),o&&(this.o=-2)}function Mct(e,t,n,r,s,o){N6e.call(this,e,t,n,r,s),o&&(this.o=-2)}function Dct(e,t,n,r,s,o){m7e.call(this,e,t,n,r,s),o&&(this.o=-2)}function Ict(e,t,n,r,s,o){v7e.call(this,e,t,n,r,s),o&&(this.o=-2)}function Oct(e,t,n,r,s,o){P6e.call(this,e,t,n,r,s),o&&(this.o=-2)}function Nct(e,t,n,r){zz.call(this,n),this.b=e,this.c=t,this.d=r}function Pct(e,t){this.f=e,this.a=(nT(),OY),this.c=OY,this.b=t}function Bct(e,t){this.g=e,this.d=(nT(),NY),this.a=NY,this.b=t}function b6e(e,t){!e.c&&(e.c=new Ms(e,0)),XV(e.c,(Wi(),UM),t)}function Wbn(e,t){return MEn(e,t,De(t,102)&&(l(t,19).Bb&Lo)!=0)}function Ybn(e,t){return bat(tu(e.q.getTime()),tu(t.q.getTime()))}function Fct(e){return jae(e.e.Rd().gc()*e.c.Rd().gc(),16,new Lie(e))}function Xbn(e){return!!e.u&&fu(e.u.a).i!=0&&!(e.n&&kue(e.n))}function Qbn(e){return!!e.a&&Kl(e.a.a).i!=0&&!(e.b&&Tue(e.b))}function m6e(e,t){return t==0?!!e.o&&e.o.f!=0:bue(e,t)}function Jbn(e,t,n){var r;return r=l(e.Zb().xc(t),16),!!r&&r.Hc(n)}function Rct(e,t,n){var r;return r=l(e.Zb().xc(t),16),!!r&&r.Mc(n)}function jct(e,t){var n;return n=1-t,e.a[n]=MU(e.a[n],n),MU(e,t)}function $ct(e,t){var n,r;return r=xa(e,Uo),n=u0(t,32),X0(n,r)}function zct(e,t,n){var r;r=(Xr(e),new Ml(e)),e8n(new Zot(r,t,n))}function sN(e,t,n){var r;r=(Xr(e),new Ml(e)),t8n(new ect(r,t,n))}function Hc(e,t,n,r,s,o){return v0t(e,t,n,o),S8e(e,r),_8e(e,s),e}function qct(e,t,n,r){return e.a+=""+ef(t==null?cl:Tc(t),n,r),e}function Ua(e,t){this.a=e,xr.call(this,e),Sy(t,e.gc()),this.b=t}function Hct(e){this.a=We(ka,jn,1,Z7e(b.Math.max(8,e))<<1,5,1)}function aN(e){return l(j1(e,We(kg,S2,10,e.c.length,0,1)),199)}function kd(e){return l(j1(e,We(T1e,Xhe,18,e.c.length,0,1)),483)}function Uct(e){return e.a?e.e.length==0?e.a.a:e.a.a+(""+e.e):e.c}function sA(e){for(;e.d>0&&e.a[--e.d]==0;);e.a[e.d++]==0&&(e.e=0)}function Vct(e){return br(e.b.b!=e.d.a),e.c=e.b=e.b.b,--e.a,e.c.c}function Zbn(e,t,n){e.a=t,e.c=n,e.b.a.$b(),Ch(e.d),uy(e.e.a.c,0)}function Gct(e,t){var n;e.e=new c3e,n=Gy(t),Gs(n,e.c),amt(e,n,0)}function Zs(e,t,n,r){var s;s=new ek,s.a=t,s.b=n,s.c=r,ci(e.a,s)}function pt(e,t,n,r){var s;s=new ek,s.a=t,s.b=n,s.c=r,ci(e.b,s)}function Kct(e,t,n){if(e<0||t<e||t>n)throw ue(new rc(fkn(e,t,n)))}function oN(e,t){if(e<0||e>=t)throw ue(new rc(Hkn(e,t)));return e}function emn(e){if(!("stack"in e))try{throw e}catch{}return e}function W5(e){return b_(),De(e.g,10)?l(e.g,10):null}function tmn(e){return G5(e).dc()?!1:(Ehn(e,new oe),!0)}function Vm(e){var t;return xc(e)?(t=e,t==-0?0:t):bwn(e)}function Wct(e,t){return De(t,44)?Aue(e.a,l(t,44)):!1}function Yct(e,t){return De(t,44)?Aue(e.a,l(t,44)):!1}function Xct(e,t){return De(t,44)?Aue(e.a,l(t,44)):!1}function v6e(e){var t;return xb(e),t=new Ne,M5(e.a,new T5(t)),t}function w6e(){var e,t,n;return t=(n=(e=new iw,e),n),wt(nBe,t),t}function GH(e){var t;return xb(e),t=new pn,M5(e.a,new C8(t)),t}function nmn(e,t){return e.a<=e.b?(t.Dd(e.a++),!0):!1}function Qct(e){xce.call(this,e,(sT(),K0e),null,!1,null,!1)}function Jct(){Jct=U,i8t=Kr((aq(),he(le(uAe,1),it,489,0,[a1e])))}function Zct(){Zct=U,rIe=Vat(bt(1),bt(4)),nIe=Vat(bt(1),bt(2))}function rmn(e,t){return new Oae(t,q_(Xa(t.e),e,e),(Hn(),!0))}function KH(e){return new Pu((Mh(e,Qle),pU(fo(fo(5,e),e/10|0))))}function imn(e){return jae(e.e.Rd().gc()*e.c.Rd().gc(),273,new Aie(e))}function eut(e){return l(j1(e,We(dxt,cyt,12,e.c.length,0,1)),2042)}function smn(e){return Sh(),!Ao(e)&&!(!Ao(e)&&e.c.i.c==e.d.i.c)}function amn(e,t){return lx(),l(Q(t,(Vc(),X6)),17).a>=e.gc()}function aA(e,t){qIn(t,e),J4e(e.d),J4e(l(Q(e,(Nt(),SW)),214))}function Noe(e,t){HIn(t,e),Z4e(e.d),Z4e(l(Q(e,(Nt(),SW)),214))}function omn(e,t,n){e.d&&sl(e.d.e,e),e.d=t,e.d&&kw(e.d.e,n,e)}function cmn(e,t,n){return n.f.c.length>0?_5e(e.a,t,n):_5e(e.b,t,n)}function umn(e,t,n){var r;r=S6n();try{return Xfn(e,t,n)}finally{tvn(r)}}function Pw(e,t){var n,r;return n=Jg(e,t),r=null,n&&(r=n.pe()),r}function oA(e,t){var n,r;return n=Jg(e,t),r=null,n&&(r=n.se()),r}function eT(e,t){var n,r;return n=My(e,t),r=null,n&&(r=n.se()),r}function Zg(e,t){var n,r;return n=Jg(e,t),r=null,n&&(r=v9e(n)),r}function lmn(e,t,n){var r;return r=BT(n),VV(e.g,r,t),VV(e.i,t,n),t}function y6e(e,t,n){this.d=new uXe(this),this.e=e,this.i=t,this.f=n}function tut(e,t,n,r){this.e=null,this.c=e,this.d=t,this.a=n,this.b=r}function nut(e,t,n,r){Znt(this),this.c=e,this.e=t,this.f=n,this.b=r}function x6e(e,t,n,r){this.d=e,this.n=t,this.g=n,this.o=r,this.p=-1}function rut(e,t,n,r){return De(n,59)?new Ort(e,t,n,r):new x5e(e,t,n,r)}function tT(e){return De(e,16)?l(e,16).dc():!e.Kc().Ob()}function iut(e){if(e.e.g!=e.b)throw ue(new Yh);return!!e.c&&e.d>0}function Pr(e){return br(e.b!=e.d.c),e.c=e.b,e.b=e.b.a,++e.a,e.c.c}function k6e(e,t){tr(t),Ss(e.a,e.c,t),e.c=e.c+1&e.a.length-1,Sgt(e)}function Tb(e,t){tr(t),e.b=e.b-1&e.a.length-1,Ss(e.a,e.b,t),Sgt(e)}function sut(e){var t;t=e.Gh(),this.a=De(t,71)?l(t,71).Ii():t.Kc()}function hmn(e){return new kn(Xwn(l(e.a.md(),16).gc(),e.a.ld()),16)}function aut(){aut=U,xSt=Kr((uq(),he(le(FOe,1),it,490,0,[Mge])))}function out(){out=U,TSt=Kr((lq(),he(le(kSt,1),it,558,0,[Dge])))}function cut(){cut=U,zSt=Kr((m_(),he(le(iNe,1),it,539,0,[XB])))}function fmn(){return tv(),he(le(PAe,1),it,389,0,[h4,NAe,x1e,k1e])}function dmn(){return sT(),he(le(wK,1),it,304,0,[K0e,W0e,Y0e,X0e])}function gmn(){return mx(),he(le(Z7t,1),it,332,0,[gB,dB,pB,bB])}function pmn(){return PA(),he(le(n8t,1),it,406,0,[mB,TK,EK,vB])}function bmn(){return qw(),he(le(Q7t,1),it,417,0,[fB,hB,i1e,s1e])}function mmn(){return xT(),he(le(txt,1),it,416,0,[f3,l4,u4,I6])}function vmn(){return R1(),he(le(Dxt,1),it,421,0,[Vx,IE,OE,M1e])}function wmn(){return jU(),he(le(yxt,1),it,371,0,[L1e,XK,QK,TB])}function ymn(){return jy(),he(le(Dde,1),it,203,0,[NW,Mde,W6,K6])}function xmn(){return Td(),he(le(UDe,1),it,284,0,[I2,HDe,Nde,Pde])}function kmn(e){var t;return e.j==(_t(),Mr)&&(t=W2t(e),ml(t,sr))}function Tmn(e,t){var n;n=t.a,ho(n,t.c.d),Na(n,t.d.d),Ny(n.a,e.n)}function T6e(e,t){var n;return n=l(B1(e.b,t),67),!n&&(n=new os),n}function sx(e){return b_(),De(e.g,154)?l(e.g,154):null}function Emn(e){e.a=null,e.e=null,uy(e.b.c,0),uy(e.f.c,0),e.c=null}function WH(){WH=U,tde=new tye(lE,0),JLe=new tye("TOP_LEFT",1)}function cA(){cA=U,lM=new rye("UPPER",0),uM=new rye("LOWER",1)}function Cmn(e,t){return q8(new lt(t.e.a+t.f.a/2,t.e.b+t.f.b/2),e)}function uut(e,t){return l(uh(xy(l($i(e.k,t),15).Oc(),N6)),113)}function lut(e,t){return l(uh(X8(l($i(e.k,t),15).Oc(),N6)),113)}function Smn(){return yx(),he(le(aIe,1),it,405,0,[zW,hM,fM,dM])}function _mn(){return TA(),he(le(RIe,1),it,353,0,[ige,GW,rge,nge])}function Amn(){return bV(),he(le(oOe,1),it,354,0,[pge,sOe,aOe,iOe])}function Lmn(){return gh(),he(le(FM,1),it,386,0,[fF,Ov,hF,D4])}function Mmn(){return Ih(),he(le(A_t,1),it,291,0,[cF,Cg,tm,oF])}function Dmn(){return cp(),he(le(ipe,1),it,223,0,[rpe,aF,aC,a9])}function Imn(){return QU(),he(le(SPe,1),it,320,0,[ope,TPe,CPe,EPe])}function Omn(){return zU(),he(le(V_t,1),it,415,0,[cpe,APe,_Pe,LPe])}function Nmn(e){return HH(),Hu(dpe,e)?l(or(dpe,e),341).Qg():null}function tf(e,t,n){return t<0?nle(e,n):l(n,69).wk().Bk(e,e.hi(),t)}function Pmn(e,t,n){var r;return r=BT(n),VV(e.j,r,t),Ti(e.k,t,n),t}function Bmn(e,t,n){var r;return r=BT(n),VV(e.d,r,t),Ti(e.e,t,n),t}function hut(e){var t,n;return t=(fb(),n=new II,n),e&&PV(t,e),t}function E6e(e){var t;return t=e.aj(e.i),e.i>0&&gu(e.g,0,t,0,e.i),t}function fut(e,t){var n;for(n=e.j.c.length;n<t;n++)wt(e.j,e.Ng())}function dut(e,t,n,r){var s;return s=r[t.g][n.g],ze(Ge(Q(e.a,s)))}function gut(e,t){hq();var n;return n=l(or(LY,e),57),!n||n.fk(t)}function Fmn(e){if(e.p!=1)throw ue(new gl);return Yr(e.f)<<24>>24}function Rmn(e){if(e.p!=1)throw ue(new gl);return Yr(e.k)<<24>>24}function jmn(e){if(e.p!=7)throw ue(new gl);return Yr(e.k)<<16>>16}function $mn(e){if(e.p!=7)throw ue(new gl);return Yr(e.f)<<16>>16}function Y5(e,t){return t.e==0||e.e==0?FL:(WT(),hle(e,t))}function put(e,t){return qe(t)===qe(e)?"(this Map)":t==null?cl:Tc(t)}function zmn(e,t,n){return Wae(Ge(dc(zo(e.f,t))),Ge(dc(zo(e.f,n))))}function qmn(e,t,n){var r;r=l(or(e.g,n),60),wt(e.a.c,new fa(t,r))}function but(e,t,n){e.i=0,e.e=0,t!=n&&(J0t(e,t,n),Q0t(e,t,n))}function Hmn(e,t,n,r,s){var o;o=UEn(s,n,r),wt(t,Bkn(s,o)),_9n(e,s,t)}function C6e(e,t,n,r,s){this.i=e,this.a=t,this.e=n,this.j=r,this.f=s}function mut(e,t){n6e.call(this),this.a=e,this.b=t,wt(this.a.b,this)}function vut(e){this.b=new Nr,this.c=new Nr,this.d=new Nr,this.a=e}function wut(e,t){var n;return n=new A5,e.Gd(n),n.a+="..",t.Hd(n),n.a}function yut(e,t){var n;for(n=t;n;)yw(e,n.i,n.j),n=ds(n);return e}function xut(e,t,n){var r;return r=BT(n),Ti(e.b,r,t),Ti(e.c,t,n),t}function ep(e){var t;for(t=0;e.Ob();)e.Pb(),t=fo(t,1);return pU(t)}function cg(e,t){Ro();var n;return n=l(e,69).vk(),H9n(n,t),n.xl(t)}function Umn(e,t,n){if(n){var r=n.oe();e.a[t]=r(n)}else delete e.a[t]}function S6e(e,t){var n;n=e.q.getHours(),e.q.setFullYear(t+Rb),QA(e,n)}function Vmn(e,t){return l(t==null?dc(zo(e.f,null)):x_(e.i,t),288)}function _6e(e,t){return e==(Jn(),Bs)&&t==Bs?4:e==Bs||t==Bs?8:32}function YH(e,t,n){return KV(e,t,n,De(t,102)&&(l(t,19).Bb&Lo)!=0)}function Gmn(e,t,n){return JT(e,t,n,De(t,102)&&(l(t,19).Bb&Lo)!=0)}function Kmn(e,t,n){return FEn(e,t,n,De(t,102)&&(l(t,19).Bb&Lo)!=0)}function A6e(e){e.b!=e.c&&(e.a=We(ka,jn,1,8,5,1),e.b=0,e.c=0)}function uA(e){return br(e.a<e.c.a.length),e.b=e.a,Oht(e),e.c.b[e.b]}function fu(e){return e.n||(Gl(e),e.n=new Wst(e,Wo,e),pc(e)),e.n}function kut(e){if(e<0)throw ue(new dZe("Negative array size: "+e))}function Poe(e,t,n){if(n){var r=n.oe();n=r(n)}else n=void 0;e.a[t]=n}function Tut(e,t){ST();var n;return n=e.j.g-t.j.g,n!=0?n:0}function Wmn(e,t){return Wg(),zr(tt(e.a),t)}function Ymn(e,t){return Wg(),zr(tt(e.a),t)}function tp(e,t){Cd(),$m.call(this,e,1,he(le(Ur,1),fi,28,15,[t]))}function _y(e,t){Ii(),rw.call(this,e),this.a=t,this.c=-1,this.b=-1}function Ay(e,t,n,r){Ect.call(this,1,n,r),this.c=e,this.b=t}function Boe(e,t,n,r){Cct.call(this,1,n,r),this.c=e,this.b=t}function Foe(e,t,n,r,s,o,f){fce.call(this,t,r,s,o,f),this.c=e,this.a=n}function Gm(e,t,n){this.e=e,this.a=ka,this.b=_mt(t),this.c=t,this.d=n}function Roe(e){this.e=e,this.c=this.e.a,this.b=this.e.g,this.d=this.e.i}function L6e(e){this.d=e,this.b=this.d.a.entries(),this.a=this.b.next()}function Eut(e){this.c=e,this.a=l(Of(e),156),this.b=this.a.jk().wi()}function u2(){Nr.call(this),Rrt(this),this.d.b=this.d,this.d.a=this.d}function _s(e,t,n,r){var s;s=new Tt,s.c=t,s.b=n,s.a=r,r.b=n.a=s,++e.b}function Xmn(e,t){var n;return n=t!=null?wu(e,t):dc(zo(e.f,t)),Fq(n)}function Qmn(e,t){var n;return n=t!=null?wu(e,t):dc(zo(e.f,t)),Fq(n)}function kc(e,t){var n;return t.b.Kb(xht(e,t.c.Xe(),(n=new _1(t),n)))}function Jmn(e,t){var n;return kut(t),n=e.slice(0,t),n.length=t,Zoe(n,e)}function Cut(e,t){var n;for(n=0;n<t;++n)Ss(e,n,new ur(l(e[n],44)))}function Zmn(e,t){var n;for(n=e.d-1;n>=0&&e.a[n]===t[n];n--);return n<0}function XH(e){var t;return e?new h5e(e):(t=new bd,wce(t,e),t)}function evn(e,t){var n,r;r=!1;do n=z0t(e,t),r=r|n;while(n);return r}function tvn(e){e&&_wn((g3e(),l_e)),--dK,e&&gK!=-1&&(Gln(gK),gK=-1)}function QH(e){n9e(),urt(this,Yr(xa(Tw(e,24),aG)),Yr(xa(e,aG)))}function Sut(){Sut=U,v7t=Kr((aV(),he(le($_e,1),it,436,0,[Z0e,j_e])))}function _ut(){_ut=U,w7t=Kr((dU(),he(le(q_e,1),it,435,0,[z_e,e1e])))}function Aut(){Aut=U,x8t=Kr((gU(),he(le(bAe,1),it,432,0,[h1e,_K])))}function Lut(){Lut=U,mxt=Kr((pT(),he(le(bxt,1),it,517,0,[xB,C1e])))}function Mut(){Mut=U,r9t=Kr((WH(),he(le(ZLe,1),it,429,0,[tde,JLe])))}function Dut(){Dut=U,Gxt=Kr((TN(),he(le(FLe,1),it,428,0,[rW,BLe])))}function Iut(){Iut=U,Xxt=Kr((bN(),he(le($Le,1),it,488,0,[jLe,sW])))}function Out(){Out=U,NTt=Kr((xN(),he(le(VDe,1),it,430,0,[Bde,Fde])))}function Nut(){Nut=U,cEt=Kr((cA(),he(le(oEt,1),it,531,0,[lM,uM])))}function Put(){Put=U,qxt=Kr((sU(),he(le(LLe,1),it,431,0,[ALe,$1e])))}function But(){But=U,fCt=Kr((VH(),he(le($Ie,1),it,433,0,[sge,jIe])))}function Fut(){Fut=U,mCt=Kr((LU(),he(le(zIe,1),it,501,0,[KW,J6])))}function Rut(){Rut=U,pEt=Kr((xd(),he(le(gEt,1),it,523,0,[S3,O2])))}function jut(){jut=U,mEt=Kr((D1(),he(le(bEt,1),it,522,0,[_v,Y1])))}function $ut(){$ut=U,IEt=Kr((Q0(),he(le(DEt,1),it,528,0,[S4,Qb])))}function zut(){zut=U,jEt=Kr((Ow(),he(le(REt,1),it,465,0,[Jb,Y6])))}function qut(){qut=U,yCt=Kr((oU(),he(le(HIe,1),it,434,0,[qIe,hge])))}function Hut(){Hut=U,pSt=Kr((ZH(),he(le(MOe,1),it,491,0,[_ge,LOe])))}function Uut(){Uut=U,mSt=Kr((Sce(),he(le(BOe,1),it,492,0,[NOe,POe])))}function Vut(){Vut=U,ESt=Kr((hN(),he(le(ROe,1),it,438,0,[Ige,iY])))}function Gut(){Gut=U,qSt=Kr((ON(),he(le(aNe,1),it,437,0,[aY,sNe])))}function Kut(){Kut=U,q_t=Kr((Dae(),he(le(xY,1),it,347,0,[xPe,kPe])))}function nvn(){return ea(),he(le(MM,1),it,88,0,[J1,yc,hc,Q1,vf])}function rvn(){return _t(),he(le(Mo,1),ou,64,0,[jc,Xn,sr,Mr,Zn])}function ivn(e,t,n){return l(t==null?Ru(e.f,null,n):Hw(e.i,t,n),288)}function svn(e){return(e.k==(Jn(),Bs)||e.k==Ks)&&rs(e,(ft(),WL))}function joe(e){return e.c&&e.d?g6e(e.c)+"->"+g6e(e.d):"e_"+ww(e)}function Za(e,t){var n,r;for(tr(t),r=e.Kc();r.Ob();)n=r.Pb(),t.Cd(n)}function avn(e,t){var n;n=new D8,qm(n,"x",t.a),qm(n,"y",t.b),Z8(e,n)}function ovn(e,t){var n;n=new D8,qm(n,"x",t.a),qm(n,"y",t.b),Z8(e,n)}function Wut(e,t){var n;for(n=t;n;)yw(e,-n.i,-n.j),n=ds(n);return e}function M6e(e,t){var n,r;for(n=t,r=0;n>0;)r+=e.a[n],n-=n&-n;return r}function nf(e,t,n){var r;return r=(Sn(t,e.c.length),e.c[t]),e.c[t]=n,r}function D6e(e,t,n){e.a.c.length=0,IMn(e,t,n),e.a.c.length==0||aAn(e,t)}function cN(e){e.i=0,gO(e.b,null),gO(e.c,null),e.a=null,e.e=null,++e.g}function JH(){JH=U,G1=!0,c7t=!1,u7t=!1,h7t=!1,l7t=!1}function $oe(e){JH(),!G1&&(this.c=e,this.e=!0,this.a=new mt)}function Yut(e,t){this.c=0,this.b=t,vnt.call(this,e,17493),this.a=this.c}function Xut(e){Jwt(),nJe(this),this.a=new os,l8e(this,e),ci(this.a,e)}function Qut(){uae(this),this.b=new lt(gs,gs),this.a=new lt(oa,oa)}function ZH(){ZH=U,_ge=new hye(oEe,0),LOe=new hye("TARGET_WIDTH",1)}function X5(e,t){return(Mb(e),Lk(new vn(e,new i7e(t,e.a)))).Bd(qx)}function cvn(){return so(),he(le(IAe,1),it,367,0,[w0,xg,pu,Cu,wc])}function uvn(){return zy(),he(le(Oxt,1),it,375,0,[EB,eW,tW,ZK,JK])}function lvn(){return w2(),he(le(PLe,1),it,348,0,[q1e,NLe,H1e,RE,FE])}function hvn(){return NA(),he(le(FDe,1),it,323,0,[BDe,Ide,Ode,iM,sM])}function fvn(){return lf(),he(le(fMe,1),it,171,0,[DB,XL,Yb,QL,b4])}function dvn(){return TV(),he(le(vCt,1),it,368,0,[uge,age,lge,oge,cge])}function gvn(){return VA(),he(le(vSt,1),it,373,0,[Z6,t9,kM,xM,YB])}function pvn(){return iP(),he(le(qOe,1),it,324,0,[jOe,Oge,zOe,Nge,$Oe])}function bvn(){return n1(),he(le(Eg,1),it,170,0,[Bn,pa,zd,Av,P2])}function mvn(){return r6(),he(le(NM,1),it,256,0,[nm,uF,gPe,OM,pPe])}function vvn(e){return Xz(),function(){return umn(e,this,arguments)}}function Ao(e){return!e.c||!e.d?!1:!!e.c.i&&e.c.i==e.d.i}function I6e(e,t){return De(t,143)?wn(e.c,l(t,143).c):!1}function Gl(e){return e.t||(e.t=new GQe(e),AA(new cZe(e),0,e.t)),e.t}function Jut(e){this.b=e,ar.call(this,e),this.a=l(Gn(this.b.a,4),129)}function Zut(e){this.b=e,U8.call(this,e),this.a=l(Gn(this.b.a,4),129)}function l0(e,t,n,r,s){ult.call(this,t,r,s),this.c=e,this.b=n}function O6e(e,t,n,r,s){Ect.call(this,t,r,s),this.c=e,this.a=n}function N6e(e,t,n,r,s){Cct.call(this,t,r,s),this.c=e,this.a=n}function P6e(e,t,n,r,s){ult.call(this,t,r,s),this.c=e,this.a=n}function zoe(e,t){var n;return n=l(B1(e.d,t),23),n||l(B1(e.e,t),23)}function elt(e,t){var n,r;return n=t.ld(),r=e.Fe(n),!!r&&eu(r.e,t.md())}function tlt(e,t){var n;return n=t.ld(),new hw(n,e.e.pc(n,l(t.md(),16)))}function wvn(e,t){var n;return n=e.a.get(t),n??We(ka,jn,1,0,5,1)}function nlt(e){var t;return t=e.length,wn(ir.substr(ir.length-t,t),e)}function yr(e){if(Rr(e))return e.c=e.a,e.a.Pb();throw ue(new Dc)}function B6e(e,t){return t==0||e.e==0?e:t>0?Vbt(e,t):pdt(e,-t)}function ax(e,t){return t==0||e.e==0?e:t>0?pdt(e,t):Vbt(e,-t)}function F6e(e){Mln.call(this,e==null?cl:Tc(e),De(e,82)?l(e,82):null)}function rlt(e){var t;return e.c||(t=e.r,De(t,90)&&(e.c=l(t,29))),e.c}function qoe(e){var t;return t=new Dw,mc(t,e),rt(t,(Nt(),lc),null),t}function ilt(e){var t,n;return t=e.c.i,n=e.d.i,t.k==(Jn(),Ks)&&n.k==Ks}function Hoe(e){var t,n,r;return t=e&Ql,n=e>>22&Ql,r=e<0?pp:0,qu(t,n,r)}function yvn(e){var t,n,r,s;for(n=e,r=0,s=n.length;r<s;++r)t=n[r],nA(t)}function xvn(e,t){var n,r;n=l(M4n(e.c,t),16),n&&(r=n.gc(),n.$b(),e.d-=r)}function Uoe(e,t,n){var r;return r=e.Ih(t),r>=0?e.Lh(r,n,!0):Xw(e,t,n)}function kvn(e,t,n){return Xi(q8(RT(e),Xa(t.b)),q8(RT(e),Xa(n.b)))}function Tvn(e,t,n){return Xi(q8(RT(e),Xa(t.e)),q8(RT(e),Xa(n.e)))}function Evn(e,t){return b.Math.min(Eb(t.a,e.d.d.c),Eb(t.b,e.d.d.c))}function uN(e,t){e._i(e.i+1),j_(e,e.i,e.Zi(e.i,t)),e.Mi(e.i++,t),e.Ni()}function lA(e){var t,n;++e.j,t=e.g,n=e.i,e.g=null,e.i=0,e.Oi(n,t),e.Ni()}function slt(e,t,n){var r;r=new Bye(e.a),mA(r,e.a.a),Ru(r.f,t,n),e.a.a=r}function R6e(e,t,n,r){var s;for(s=0;s<xK;s++)vH(e.a[s][t.g],n,r[t.g])}function j6e(e,t,n,r){var s;for(s=0;s<n1e;s++)wH(e.a[t.g][s],n,r[t.g])}function $i(e,t){var n;return n=l(e.c.xc(t),16),!n&&(n=e.ic(t)),e.pc(t,n)}function Cvn(e){var t;return t=(Xr(e),e?new Ml(e):qk(e.Kc())),aP(t),VU(t)}function O1(e){var t,n;return Xr(e),t=kpn(e.length),n=new Pu(t),r8e(n,e),n}function Voe(e,t,n,r){var s;return s=We(Ur,fi,28,t,15,1),Gxn(s,e,t,n,r),s}function $6e(e,t){if(e<0||e>t)throw ue(new rc(_9e(e,t,"index")));return e}function l2(e,t){var n;return n=(Sn(t,e.c.length),e.c[t]),D3e(e.c,t,1),n}function z6e(e,t){var n,r;return n=(tr(e),e),r=(tr(t),t),n==r?0:n<r?-1:1}function q6e(e){var t;return t=e.e+e.f,isNaN(t)&&Zq(e.d)?e.d:t}function Svn(e){return e.e=3,e.d=e.Yb(),e.e!=2?(e.e=0,!0):!1}function np(e,t){return e.a?li(e.a,e.b):e.a=new Eh(e.d),P_(e.a,t),e}function ox(e,t){return Da(t)?t==null?U9e(e.f,null):x0t(e.i,t):U9e(e.f,t)}function alt(e,t){mnt.call(this,t.zd(),t.yd()&-6),tr(e),this.a=e,this.b=t}function olt(e,t){vnt.call(this,t.zd(),t.yd()&-6),tr(e),this.a=e,this.b=t}function H6e(e,t){Rq.call(this,t.zd(),t.yd()&-6),tr(e),this.a=e,this.b=t}function clt(e,t,n){zz.call(this,n),this.b=e,this.c=t,this.d=(cue(),vpe)}function ult(e,t,n){this.d=e,this.k=t?1:0,this.f=n?1:0,this.o=-1,this.p=0}function N1(e){this.c=e,this.a=new K(this.c.a),this.b=new K(this.c.b)}function eU(){this.e=new mt,this.c=new mt,this.d=new mt,this.b=new mt}function llt(){this.g=new Wwe,this.b=new Wwe,this.a=new mt,this.k=new mt}function hlt(){this.a=new Jwe,this.b=new LJe,this.d=new sh,this.e=new nZ}function flt(e,t,n){this.a=e,this.c=t,this.d=n,wt(t.e,this),wt(n.b,this)}function U6e(e,t,n){var r,s;for(r=0,s=0;s<t.length;s++)r+=e.tg(t[s],r,n)}function _vn(e,t){var n;return n=GMn(e,t),e.b=new DU(n.c.length),hMn(e,n)}function Avn(e,t){var n;n=e.q.getHours()+(t/60|0),e.q.setMinutes(t),QA(e,n)}function Goe(e){var t;return t=e.b,t.b==0?null:l(hf(t,0),65).b}function V6e(e){if(e.a){if(e.e)return V6e(e.e)}else return e;return null}function Lvn(e,t){return e.p<t.p?1:e.p>t.p?-1:0}function dlt(e){var t;return e.a||(t=e.r,De(t,156)&&(e.a=l(t,156))),e.a}function Mvn(e,t,n){var r;return++e.e,--e.f,r=l(e.d[t].gd(n),136),r.md()}function Dvn(e){var t,n;return t=e.ld(),n=l(e.md(),16),qO(n.Nc(),new Mie(t))}function glt(e,t){return Hu(e.a,t)?(ox(e.a,t),!0):!1}function cx(e,t,n){return oN(t,e.e.Rd().gc()),oN(n,e.c.Rd().gc()),e.a[t][n]}function tU(e,t,n){this.a=e,this.b=t,this.c=n,wt(e.t,this),wt(t.i,this)}function nU(e,t,n,r){this.f=e,this.e=t,this.d=n,this.b=r,this.c=r?r.d:null}function lN(){this.b=new os,this.a=new os,this.b=new os,this.a=new os}function nT(){nT=U;var e,t;OY=(Ak(),t=new Uz,t),NY=(e=new tse,e)}function Ivn(e){var t;return Mb(e),t=new ast(e,e.a.e,e.a.d|4),new c4e(e,t)}function plt(e){var t;for(xb(e),t=0;e.a.Bd(new Ln);)t=fo(t,1);return t}function rU(e,t){return tr(t),e.c<e.d?(e.Se(t,e.c++),!0):!1}function Pu(e){uae(this),UO(e>=0,"Initial capacity must not be negative")}function iU(){iU=U,TM=new Ki("org.eclipse.elk.labels.labelManager")}function blt(){blt=U,TLe=new ws("separateLayerConnections",(jU(),L1e))}function Q0(){Q0=U,S4=new aye("REGULAR",0),Qb=new aye("CRITICAL",1)}function hN(){hN=U,Ige=new dye("FIXED",0),iY=new dye("CENTER_NODE",1)}function sU(){sU=U,ALe=new J3e("QUADRATIC",0),$1e=new J3e("SCANLINE",1)}function mlt(){mlt=U,Hxt=Kr((gA(),he(le(DLe,1),it,322,0,[UL,CB,MLe])))}function vlt(){vlt=U,Uxt=Kr((kU(),he(le(OLe,1),it,351,0,[ILe,nW,z1e])))}function wlt(){wlt=U,jxt=Kr(($w(),he(le(D1e,1),it,372,0,[g3,Kb,d3])))}function ylt(){ylt=U,Wxt=Kr((Jm(),he(le(Kxt,1),it,460,0,[U1e,jE,F6])))}function xlt(){xlt=U,e9t=Kr((yT(),he(le(ede,1),it,299,0,[J1e,Z1e,SB])))}function klt(){klt=U,n9t=Kr((ip(),he(le(t9t,1),it,311,0,[_B,j6,Gx])))}function Tlt(){Tlt=U,LTt=Kr((EA(),he(le(PDe,1),it,390,0,[Lde,NDe,OW])))}function Elt(){Elt=U,FTt=Kr((BU(),he(le(WDe,1),it,387,0,[GDe,Rde,KDe])))}function Clt(){Clt=U,RTt=Kr((xA(),he(le(YDe,1),it,349,0,[$de,jde,RB])))}function Slt(){Slt=U,BTt=Kr((qo(),he(le(PTt,1),it,463,0,[aM,Fl,$u])))}function _lt(){_lt=U,jTt=Kr((AT(),he(le(QDe,1),it,350,0,[zde,XDe,oM])))}function Alt(){Alt=U,$Tt=Kr((xU(),he(le(eIe,1),it,352,0,[ZDe,qde,JDe])))}function Llt(){Llt=U,zTt=Kr(($U(),he(le(tIe,1),it,388,0,[Hde,JE,C4])))}function Mlt(){Mlt=U,qEt=Kr((kA(),he(le(vIe,1),it,392,0,[mIe,Gde,zB])))}function Dlt(){Dlt=U,xCt=Kr((FN(),he(le(GIe,1),it,393,0,[WW,UIe,VIe])))}function Ilt(){Ilt=U,qCt=Kr((PU(),he(le(lOe,1),it,300,0,[bge,uOe,cOe])))}function Olt(){Olt=U,HCt=Kr((tV(),he(le(hOe,1),it,445,0,[GB,QW,mge])))}function Nlt(){Nlt=U,VCt=Kr((fV(),he(le(UCt,1),it,456,0,[vge,yge,wge])))}function Plt(){Plt=U,WCt=Kr((YU(),he(le(gOe,1),it,394,0,[dOe,Tge,fOe])))}function Blt(){Blt=U,bSt=Kr((cU(),he(le(OOe,1),it,439,0,[Age,IOe,DOe])))}function Flt(){Flt=U,rEt=Kr((jw(),he(le(nEt,1),it,464,0,[jB,cM,FW])))}function Rlt(){Rlt=U,C7t=Kr((Ol(),he(le(E7t,1),it,471,0,[Fd,Vb,m0])))}function jlt(){jlt=U,T7t=Kr((e1(),he(le(c4,1),it,237,0,[Wc,ju,Yc])))}function $lt(){$lt=U,_7t=Kr((al(),he(le(S7t,1),it,472,0,[s1,Gb,v0])))}function zlt(){zlt=U,f7t=Kr((Nl(),he(le(uc,1),it,108,0,[R_e,Cc,o4])))}function qlt(){qlt=U,K8t=Kr((hA(),he(le(DAe,1),it,391,0,[p1e,g1e,b1e])))}function Hlt(){Hlt=U,__t=Kr((op(),he(le(dPe,1),it,346,0,[gY,F2,IM])))}function Ult(){Ult=U,ySt=Kr((HN(),he(le(Lge,1),it,444,0,[tY,nY,rY])))}function Vlt(){Vlt=U,T_t=Kr((F1(),he(le(tPe,1),it,278,0,[iC,M4,sC])))}function Glt(){Glt=U,z_t=Kr((gx(),he(le(yPe,1),it,280,0,[wPe,I4,yY])))}function P1(e,t){return!e.o&&(e.o=new yl((au(),Ag),R2,e,0)),oue(e.o,t)}function Ovn(e,t){var n;e.C&&(n=l(Zo(e.b,t),127).n,n.d=e.C.d,n.a=e.C.a)}function G6e(e){var t,n,r,s;s=e.d,t=e.a,n=e.b,r=e.c,e.d=n,e.a=r,e.b=s,e.c=t}function Nvn(e){return!e.g&&(e.g=new DS),!e.g.b&&(e.g.b=new qQe(e)),e.g.b}function fN(e){return!e.g&&(e.g=new DS),!e.g.c&&(e.g.c=new VQe(e)),e.g.c}function Pvn(e){return!e.g&&(e.g=new DS),!e.g.d&&(e.g.d=new HQe(e)),e.g.d}function Bvn(e){return!e.g&&(e.g=new DS),!e.g.a&&(e.g.a=new UQe(e)),e.g.a}function Fvn(e,t,n,r){return n&&(r=n.Rh(t,vs(n.Dh(),e.c.uk()),null,r)),r}function Rvn(e,t,n,r){return n&&(r=n.Th(t,vs(n.Dh(),e.c.uk()),null,r)),r}function Koe(e,t,n,r){var s;return s=We(Ur,fi,28,t+1,15,1),qAn(s,e,t,n,r),s}function We(e,t,n,r,s,o){var f;return f=mgt(s,r),s!=10&&he(le(e,o),t,n,s,f),f}function jvn(e,t,n){var r,s;for(s=new wT(t,e),r=0;r<n;++r)hV(s);return s}function Woe(e,t,n){var r,s;if(n!=null)for(r=0;r<t;++r)s=n[r],e.Qi(r,s)}function K6e(e,t){var n;return n=new yt,n.c=!0,n.d=t.md(),uwt(e,t.ld(),n)}function $vn(e,t){var n;n=e.q.getHours()+(t/3600|0),e.q.setSeconds(t),QA(e,n)}function W6e(e,t){var n,r;return n=t,r=voe(qk(new tce(e,n))),hH(new tce(e,n)),r}function zvn(e,t){t.Ug("Label management",1),Fq(Q(e,(iU(),TM))),t.Vg()}function qvn(e,t,n,r){uvt(e,t,n,JT(e,t,r,De(t,102)&&(l(t,19).Bb&Lo)!=0))}function Y6e(e,t,n){l(e.b,68),l(e.b,68),l(e.b,68),Uu(e.a,new Git(n,t,e))}function Va(e,t,n){if(e<0||t>n||t<e)throw ue(new v3e(oG+e+MTe+t+_Te+n))}function Yoe(e){e?(this.c=e,this.b=null):(this.c=null,this.b=new mt)}function Xoe(e,t){pq.call(this,e,t),this.a=We(NOn,rG,447,2,0,1),this.b=!0}function X6e(e){V0t.call(this,e,0),Rrt(this),this.d.b=this.d,this.d.a=this.d}function Q6e(e){this.e=e,this.b=this.e.a.entries(),this.a=We(ka,jn,1,0,5,1)}function Klt(){Klt=U,UTt=wl(hi(new Js,(so(),w0),(po(),S1e)),wc,kB)}function Hvn(){return _V(),he(le(RLe,1),it,283,0,[G1e,V1e,W1e,K1e,Y1e,iW])}function Uvn(){return nP(),he(le(VLe,1),it,281,0,[aW,qLe,ULe,zLe,HLe,X1e])}function Vvn(){return HT(),he(le(QLe,1),it,282,0,[VL,KLe,XLe,YLe,WLe,GLe])}function Gvn(){return xx(),he(le(BE,1),it,232,0,[PE,HL,NE,g4,B6,P6])}function Kvn(){return Jn(),he(le(E1e,1),it,273,0,[Bs,Aa,Ks,Su,uu,K1])}function Wvn(){return Pl(),he(le(pY,1),it,279,0,[im,kp,lF,BM,PM,o9])}function Yvn(){return Pa(),he(le(bPe,1),it,101,0,[rm,Z1,oC,Iv,_g,Au])}function Xvn(){return CV(),he(le(oPe,1),it,321,0,[spe,iPe,aPe,nPe,sPe,rPe])}function Qvn(){return lg(),he(le(hNe,1),it,255,0,[$ge,QB,JB,uY,oY,cY])}function Jvn(){return rv(),he(le(Uge,1),it,298,0,[Hge,_M,SM,qge,EM,CM])}function J6e(e){var t;return!e.a&&e.b!=-1&&(t=e.c.Dh(),e.a=Mn(t,e.b)),e.a}function zr(e,t){return e.Si()&&e.Hc(t)?!1:(e.Hi(t),!0)}function J0(e,t){return ZO(t,"Horizontal alignment cannot be null"),e.b=t,e}function Wlt(e,t,n){Ii();var r;return r=Bb(e,t),n&&r&&cpn(e)&&(r=null),r}function Z6e(e,t,n){var r;r=e.b[n.c.p][n.p],r.b+=t.b,r.c+=t.c,r.a+=t.a,++r.a}function e7e(e,t,n){var r;e.d[t.g]=n,r=e.g.c,r[t.g]=b.Math.max(r[t.g],n+1)}function Eb(e,t){var n,r;return n=e.a-t.a,r=e.b-t.b,b.Math.sqrt(n*n+r*r)}function t7e(e,t){var n,r;for(r=t.Kc();r.Ob();)n=l(r.Pb(),36),Rmt(e,n,0,0)}function h2(e,t,n){var r,s;for(s=e.Kc();s.Ob();)r=l(s.Pb(),36),YT(r,t,n)}function Zvn(e){var t,n;for(n=Fr(e.a,0);n.b!=n.d.c;)t=l(Pr(n),65),N9e(t)}function Ylt(e,t){return Xet(e.e,t)||y2(e.e,t,new jdt(t)),l(B1(e.e,t),113)}function Il(e,t,n,r){return tr(e),tr(t),tr(n),tr(r),new L5e(e,t,new Bt)}function yl(e,t,n,r){this.ak(),this.a=t,this.b=e,this.c=new E5e(this,t,n,r)}function Qoe(e,t,n,r,s,o){x6e.call(this,t,r,s,o),this.c=e,this.b=n}function dN(e,t,n,r,s,o){x6e.call(this,t,r,s,o),this.c=e,this.a=n}function gN(e,t){var n,r,s;return s=e.r,r=e.d,n=eL(e,t,!0),n.b!=s||n.a!=r}function pN(e,t,n){var r,s;return s=(r=GT(e.b,t),r),s?QV(vN(e,s),n):null}function ewn(e,t,n){var r,s,o;r=Jg(e,n),s=null,r&&(s=v9e(r)),o=s,Bdt(t,n,o)}function twn(e,t,n){var r,s,o;r=Jg(e,n),s=null,r&&(s=v9e(r)),o=s,Bdt(t,n,o)}function rT(e,t){var n;return n=e.Ih(t),n>=0?e.Lh(n,!0,!0):Xw(e,t,!0)}function nwn(e,t,n){var r;return r=Y0t(e,t,n),e.b=new DU(r.c.length),pke(e,r)}function rwn(e){if(e.b<=0)throw ue(new Dc);return--e.b,e.a-=e.c.c,bt(e.a)}function iwn(e){var t;if(!e.a)throw ue(new sot);return t=e.a,e.a=ds(e.a),t}function swn(e){for(;!e.a;)if(!Dit(e.c,new e_(e)))return!1;return!0}function ux(e){var t;return Xr(e),De(e,204)?(t=l(e,204),t):new y8(e)}function awn(e){aU(),l(e.of((bi(),L4)),181).Fc((Pl(),lF)),e.qf(epe,null)}function aU(){aU=U,VSt=new m$,KSt=new v$,GSt=Wyn((bi(),epe),VSt,em,KSt)}function oU(){oU=U,qIe=new lye("LEAF_NUMBER",0),hge=new lye("NODE_SIZE",1)}function Joe(e){e.a=We(Ur,fi,28,e.b+1,15,1),e.c=We(Ur,fi,28,e.b,15,1),e.d=0}function own(e,t){e.a.Ne(t.d,e.b)>0&&(wt(e.c,new K4e(t.c,t.d,e.d)),e.b=t.d)}function n7e(e,t){if(e.g==null||t>=e.i)throw ue(new iae(t,e.i));return e.g[t]}function Xlt(e,t,n){if(CT(e,n),n!=null&&!e.fk(n))throw ue(new Jie);return n}function Zoe(e,t){return kN(t)!=10&&he(dh(t),t.Sm,t.__elementTypeId$,kN(t),e),e}function iT(e,t,n,r){var s;r=(Mw(),r||D_e),s=e.slice(t,n),A9e(s,e,t,n,-t,r)}function rf(e,t,n,r,s){return t<0?Xw(e,n,r):l(n,69).wk().yk(e,e.hi(),t,r,s)}function cwn(e,t){return Xi(ze(Ge(Q(e,(ft(),m3)))),ze(Ge(Q(t,m3))))}function Qlt(){Qlt=U,a7t=Kr((sT(),he(le(wK,1),it,304,0,[K0e,W0e,Y0e,X0e])))}function sT(){sT=U,K0e=new gq("All",0),W0e=new znt,Y0e=new Xnt,X0e=new $nt}function Ol(){Ol=U,Fd=new Lse(Dx,0),Vb=new Lse(lE,1),m0=new Lse(Ix,2)}function Jlt(){Jlt=U,WV(),lBe=gs,WAt=oa,hBe=new va(gs),YAt=new va(oa)}function Zlt(){Zlt=U,J7t=Kr((qw(),he(le(Q7t,1),it,417,0,[fB,hB,i1e,s1e])))}function eht(){eht=U,r8t=Kr((PA(),he(le(n8t,1),it,406,0,[mB,TK,EK,vB])))}function tht(){tht=U,e8t=Kr((mx(),he(le(Z7t,1),it,332,0,[gB,dB,pB,bB])))}function nht(){nht=U,cxt=Kr((tv(),he(le(PAe,1),it,389,0,[h4,NAe,x1e,k1e])))}function rht(){rht=U,nxt=Kr((xT(),he(le(txt,1),it,416,0,[f3,l4,u4,I6])))}function iht(){iht=U,Ixt=Kr((R1(),he(le(Dxt,1),it,421,0,[Vx,IE,OE,M1e])))}function sht(){sht=U,xxt=Kr((jU(),he(le(yxt,1),it,371,0,[L1e,XK,QK,TB])))}function aht(){aht=U,MTt=Kr((jy(),he(le(Dde,1),it,203,0,[NW,Mde,W6,K6])))}function oht(){oht=U,OTt=Kr((Td(),he(le(UDe,1),it,284,0,[I2,HDe,Nde,Pde])))}function bN(){bN=U,jLe=new eye(Id,0),sW=new eye("IMPROVE_STRAIGHTNESS",1)}function cht(e,t){var n,r;return r=t/e.c.Rd().gc()|0,n=t%e.c.Rd().gc(),cx(e,r,n)}function uht(e){var t;if(e.nl())for(t=e.i-1;t>=0;--t)Oe(e,t);return E6e(e)}function r7e(e){var t,n;if(!e.b)return null;for(n=e.b;t=n.a[0];)n=t;return n}function lht(e){var t,n;if(!e.b)return null;for(n=e.b;t=n.a[1];)n=t;return n}function uwn(e){return De(e,180)?""+l(e,180).a:e==null?null:Tc(e)}function lwn(e){return De(e,180)?""+l(e,180).a:e==null?null:Tc(e)}function hht(e,t){if(t.a)throw ue(new Ic(M3t));sa(e.a,t),t.a=e,!e.j&&(e.j=t)}function i7e(e,t){Rq.call(this,t.zd(),t.yd()&-16449),tr(e),this.a=e,this.c=t}function hwn(e,t){return new Oae(t,yw(Xa(t.e),t.f.a+e,t.f.b+e),(Hn(),!1))}function fwn(e,t){return zk(),wt(e,new fa(t,bt(t.e.c.length+t.g.c.length)))}function dwn(e,t){return zk(),wt(e,new fa(t,bt(t.e.c.length+t.g.c.length)))}function fht(){fht=U,zCt=Kr((bV(),he(le(oOe,1),it,354,0,[pge,sOe,aOe,iOe])))}function dht(){dht=U,hCt=Kr((TA(),he(le(RIe,1),it,353,0,[ige,GW,rge,nge])))}function ght(){ght=U,$Et=Kr((yx(),he(le(aIe,1),it,405,0,[zW,hM,fM,dM])))}function pht(){pht=U,E_t=Kr((cp(),he(le(ipe,1),it,223,0,[rpe,aF,aC,a9])))}function bht(){bht=U,L_t=Kr((Ih(),he(le(A_t,1),it,291,0,[cF,Cg,tm,oF])))}function mht(){mht=U,j_t=Kr((gh(),he(le(FM,1),it,386,0,[fF,Ov,hF,D4])))}function vht(){vht=U,H_t=Kr((QU(),he(le(SPe,1),it,320,0,[ope,TPe,CPe,EPe])))}function wht(){wht=U,G_t=Kr((zU(),he(le(V_t,1),it,415,0,[cpe,APe,_Pe,LPe])))}function cU(){cU=U,Age=new Zse(Wyt,0),IOe=new Zse(SCe,1),DOe=new Zse(Id,2)}function Ly(e,t,n,r,s){return tr(e),tr(t),tr(n),tr(r),tr(s),new L5e(e,t,r)}function yht(e,t){var n;return n=l(ox(e.e,t),400),n?(i5e(n),n.e):null}function sl(e,t){var n;return n=bc(e,t,0),n==-1?!1:(l2(e,n),!0)}function xht(e,t,n){var r;return xb(e),r=new on,r.a=t,e.a.Nb(new ntt(r,n)),r.a}function gwn(e){var t;return xb(e),t=We(Oa,tc,28,0,15,1),M5(e.a,new E8(t)),t}function s7e(e){var t;if(!pce(e))throw ue(new Dc);return e.e=1,t=e.d,e.d=null,t}function f2(e){var t;return xc(e)&&(t=0-e,!isNaN(t))?t:Sb(TT(e))}function bc(e,t,n){for(;n<e.c.length;++n)if(eu(t,e.c[n]))return n;return-1}function ece(e){var t,n;return n=l(Rt(e.j,0),12),t=l(Q(n,(ft(),zi)),12),t}function tce(e,t){var n;this.f=e,this.b=t,n=l(or(e.b,t),260),this.c=n?n.b:null}function kht(){c0(),this.b=new Nr,this.f=new Nr,this.g=new Nr,this.e=new Nr}function uU(e){Uq(this),this.g=e?RH(e,e.ie()):null,this.f=e,OH(this),this.je()}function nce(e){var t;t=e.jj(),t!=null&&e.d!=-1&&l(t,94).xh(e),e.i&&e.i.oj()}function mN(e){var t;for(t=e.p+1;t<e.c.a.c.length;++t)--l(Rt(e.c.a,t),10).p}function Tht(e){my(!!e.c),Lae(e.f.g,e.d),e.c.Qb(),e.c=null,e.b=K7e(e),e.d=e.f.g}function Kl(e){return e.b||(e.b=new Yst(e,Wo,e),!e.a&&(e.a=new FO(e,e))),e.b}function vN(e,t){var n,r;return n=l(t,690),r=n.xi(),!r&&n.Ai(r=new dnt(e,t)),r}function ac(e,t){var n,r;return n=l(t,692),r=n.$k(),!r&&n.cl(r=new Bct(e,t)),r}function a7e(e,t){b_();var n,r;return n=sx(e),r=sx(t),!!n&&!!r&&!Kdt(n.k,r.k)}function lU(e,t){return eu(t,Rt(e.f,0))||eu(t,Rt(e.f,1))||eu(t,Rt(e.f,2))}function wN(e,t){if(t<0)throw ue(new rc(c4t+t));return fut(e,t+1),Rt(e.j,t)}function Eht(e,t,n,r){if(!e)throw ue(new Wn(WA(t,he(le(ka,1),jn,1,5,[n,r]))))}function rp(e,t,n,r,s,o,f){fce.call(this,t,r,s,o,f),this.c=e,this.b=n}function ug(e,t,n){var r,s;for(r=10,s=0;s<n-1;s++)t<r&&(e.a+="0"),r*=10;e.a+=t}function hU(e){var t,n;return n=e.length,t=We(xf,Ad,28,n,15,1),wat(e,0,n,t,0),t}function yN(e){Dst();var t,n;return t=e+128,n=b_e[t],!n&&(n=b_e[t]=new _i(e)),n}function Cht(e){return Lae(e.d.a.e.g,e.b),br(e.c!=e.d.a.d),e.a=e.c,e.c=e.c.a,e.a}function pwn(e){switch(e.g){case 0:return Ni;case 1:return-1;default:return 0}}function bwn(e){return Nxe(e,(aT(),g_e))<0?-Jhn(TT(e)):e.l+e.m*Mx+e.h*ov}function Sht(e){(this.q?this.q:(Cn(),Cn(),yg)).Ac(e.q?e.q:(Cn(),Cn(),yg))}function mwn(e,t){G8(l(l(e.f,27).of((bi(),AM)),101))&&E5n(loe(l(e.f,27)),t)}function rce(e,t){var n;return n=vs(e.d,t),n>=0?lV(e,n,!0,!0):Xw(e,t,!0)}function o7e(e){var t;return t=Km(Gn(e,32)),t==null&&(Ku(e),t=Km(Gn(e,32))),t}function c7e(e){var t;return e.Oh()||(t=wr(e.Dh())-e.ji(),e.$h().Mk(t)),e.zh()}function _ht(e,t){oAe=new Ot,t8t=t,jL=e,l(jL.b,68),Y6e(jL,oAe,null),qvt(jL)}function hA(){hA=U,p1e=new Dse("XY",0),g1e=new Dse("X",1),b1e=new Dse("Y",2)}function al(){al=U,s1=new Mse("TOP",0),Gb=new Mse(lE,1),v0=new Mse(jTe,2)}function ip(){ip=U,_B=new Fse(Id,0),j6=new Fse("TOP",1),Gx=new Fse(jTe,2)}function xN(){xN=U,Bde=new nye("INPUT_ORDER",0),Fde=new nye("PORT_DEGREE",1)}function aT(){aT=U,f_e=qu(Ql,Ql,524287),U6t=qu(0,0,NP),d_e=Hoe(1),Hoe(2),g_e=Hoe(0)}function ice(e){var t;return e.d!=e.r&&(t=Of(e),e.e=!!t&&t.lk()==U5t,e.d=t),e.e}function sce(e,t,n){var r;return r=e.g[t],j_(e,t,e.Zi(t,n)),e.Ri(t,n,r),e.Ni(),r}function fU(e,t){var n;return n=e.dd(t),n>=0?(e.gd(n),!0):!1}function ace(e,t){var n;for(Xr(e),Xr(t),n=!1;t.Ob();)n=n|e.Fc(t.Pb());return n}function B1(e,t){var n;return n=l(or(e.e,t),400),n?(crt(e,n),n.e):null}function Aht(e){var t,n;return t=e/60|0,n=e%60,n==0?""+t:""+t+":"+(""+n)}function My(e,t){var n=e.a[t],r=(Ice(),z0e)[typeof n];return r?r(n):m8e(typeof n)}function Pc(e,t){var n,r;return Mb(e),r=new H6e(t,e.a),n=new Nit(r),new vn(e,n)}function oce(e){var t;return t=e.b.c.length==0?null:Rt(e.b,0),t!=null&&mce(e,0),t}function vwn(e,t){var n,r,s;s=t.c.i,n=l(or(e.f,s),60),r=n.d.c-n.e.c,$7e(t.a,r,0)}function u7e(e,t){var n;for(++e.d,++e.c[t],n=t+1;n<e.a.length;)++e.a[n],n+=n&-n}function Lht(e,t,n,r){Ii(),rw.call(this,26),this.c=e,this.a=t,this.d=n,this.b=r}function Mht(e,t){for(;t[0]<e.length&&pd(` \r
`,ol(io(e,t[0])))>=0;)++t[0]}function wwn(e,t){Vu(e,t==null||Zq((tr(t),t))||isNaN((tr(t),t))?0:(tr(t),t))}function ywn(e,t){Gu(e,t==null||Zq((tr(t),t))||isNaN((tr(t),t))?0:(tr(t),t))}function xwn(e,t){Rw(e,t==null||Zq((tr(t),t))||isNaN((tr(t),t))?0:(tr(t),t))}function kwn(e,t){Fw(e,t==null||Zq((tr(t),t))||isNaN((tr(t),t))?0:(tr(t),t))}function Twn(e,t,n){return q8(new lt(n.e.a+n.f.a/2,n.e.b+n.f.b/2),e)==(tr(t),t)}function Ewn(e,t){return De(t,102)&&l(t,19).Bb&Lo?new sae(t,e):new wT(t,e)}function Cwn(e,t){return De(t,102)&&l(t,19).Bb&Lo?new sae(t,e):new wT(t,e)}function kN(e){return e.__elementTypeCategory$==null?10:e.__elementTypeCategory$}function Dht(e,t){return t==(Aae(),Aae(),r7t)?e.toLocaleLowerCase():e.toLowerCase()}function Iht(e){if(!e.e)throw ue(new Dc);return e.c=e.a=e.e,e.e=e.e.e,--e.d,e.a.f}function l7e(e){if(!e.c)throw ue(new Dc);return e.e=e.a=e.c,e.c=e.c.c,++e.d,e.a.f}function Oht(e){var t;for(++e.a,t=e.c.a.length;e.a<t;++e.a)if(e.c.b[e.a])return}function Swn(e){var t,n;if(e.a){n=null;do t=e.a,e.a=null,n=Hpt(t,n);while(e.a);e.a=n}}function _wn(e){var t,n;if(e.b){n=null;do t=e.b,e.b=null,n=Hpt(t,n);while(e.b);e.b=n}}function Awn(e,t){var n;for(n=0;e.e!=e.i.gc();)Jdn(t,dr(e),bt(n)),n!=Ni&&++n}function Lwn(e,t){var n;return n=Uw(e.e.c,t.e.c),n==0?Xi(e.e.d,t.e.d):n}function Mwn(e,t){var n,r;for(r=t.c,n=r+1;n<=t.f;n++)e.a[n]>e.a[r]&&(r=n);return r}function Nht(e){var t;return t=l(Q(e,(ft(),p3)),313),t?t.a==e:!1}function Pht(e){var t;return t=l(Q(e,(ft(),p3)),313),t?t.i==e:!1}function Bht(){Bht=U,Q8t=Kr((so(),he(le(IAe,1),it,367,0,[w0,xg,pu,Cu,wc])))}function Fht(){Fht=U,Nxt=Kr((zy(),he(le(Oxt,1),it,375,0,[EB,eW,tW,ZK,JK])))}function Rht(){Rht=U,Vxt=Kr((w2(),he(le(PLe,1),it,348,0,[q1e,NLe,H1e,RE,FE])))}function jht(){jht=U,DTt=Kr((NA(),he(le(FDe,1),it,323,0,[BDe,Ide,Ode,iM,sM])))}function $ht(){$ht=U,i9t=Kr((lf(),he(le(fMe,1),it,171,0,[DB,XL,Yb,QL,b4])))}function zht(){zht=U,wCt=Kr((TV(),he(le(vCt,1),it,368,0,[uge,age,lge,oge,cge])))}function qht(){qht=U,wSt=Kr((VA(),he(le(vSt,1),it,373,0,[Z6,t9,kM,xM,YB])))}function Hht(){Hht=U,CSt=Kr((iP(),he(le(qOe,1),it,324,0,[jOe,Oge,zOe,Nge,$Oe])))}function Uht(){Uht=U,k_t=Kr((ea(),he(le(MM,1),it,88,0,[J1,yc,hc,Q1,vf])))}function Vht(){Vht=U,WSt=Kr((n1(),he(le(Eg,1),it,170,0,[Bn,pa,zd,Av,P2])))}function Ght(){Ght=U,D_t=Kr((r6(),he(le(NM,1),it,256,0,[nm,uF,gPe,OM,pPe])))}function Kht(){Kht=U,N_t=Kr((_t(),he(le(Mo,1),ou,64,0,[jc,Xn,sr,Mr,Zn])))}function dU(){dU=U,z_e=new G3e("BY_SIZE",0),e1e=new G3e("BY_SIZE_AND_SHAPE",1)}function gU(){gU=U,h1e=new Y3e("EADES",0),_K=new Y3e("FRUCHTERMAN_REINGOLD",1)}function TN(){TN=U,rW=new Z3e("READING_DIRECTION",0),BLe=new Z3e("ROTATION",1)}function fA(){fA=U,sxt=new lI,axt=new eZ,rxt=new Sm,ixt=new lu,oxt=new tZ}function Wht(e){this.b=new mt,this.a=new mt,this.c=new mt,this.d=new mt,this.e=e}function Yht(e){this.g=e,this.f=new mt,this.a=b.Math.min(this.g.c.c,this.g.d.c)}function Xht(e,t,n){Qq.call(this),d7e(this),this.a=e,this.c=n,this.b=t.d,this.f=t.e}function Dwn(e,t,n){var r,s;for(s=new K(n);s.a<s.c.c.length;)r=re(s),Qxe(e,t,r)}function Z0(e,t,n){var r;if(t==null)throw ue(new _8);return r=Jg(e,t),Umn(e,t,n),r}function cce(e,t){var n;return n=l(or(e.a,t),137),n||(n=new Ui,Ti(e.a,t,n)),n}function Mn(e,t){var n;return n=(e.i==null&&Sd(e),e.i),t>=0&&t<n.length?n[t]:null}function Iwn(e,t){var n;return n=t>0?t-1:t,LZe(iln(yft(e5e(new M8,n),e.n),e.j),e.k)}function oc(e){var t,n;n=(t=new nse,t),zr((!e.q&&(e.q=new nt(Vf,e,11,10)),e.q),n)}function h7e(e){return(e.i&2?"interface ":e.i&1?"":"class ")+(Xg(e),e.o)}function pU(e){return su(e,Ni)>0?Ni:su(e,ao)<0?ao:Yr(e)}function Dy(e){return e<3?(Mh(e,h3t),e+1):e<iL?da(e/.75+1):Ni}function Qht(e,t){return tr(t),k5e(e),e.d.Ob()?(t.Cd(e.d.Pb()),!0):!1}function Own(e,t){var n,r;return n=l(By(e.d,t),16),n?(r=t,e.e.pc(r,n)):null}function Nwn(e,t,n,r){var s;e.j=-1,z9e(e,w9e(e,t,n),(Ro(),s=l(t,69).vk(),s.xl(r)))}function Pwn(e,t){return lx(),-iu(l(Q(e,(Vc(),X6)),17).a,l(Q(t,X6),17).a)}function Jht(e,t){return!!bA(e,t,Yr(go(pg,og(Yr(go(t==null?0:ts(t),bg)),15))))}function Bwn(){return VT(),he(le(AY,1),it,245,0,[fpe,SY,_Y,CY,hpe,EY,TY,lpe])}function Fwn(){return T2(),he(le(YSt,1),it,285,0,[cNe,Ta,Sc,e7,co,ps,n9,X1])}function Rwn(){return $V(),he(le(_Le,1),it,276,0,[O1e,B1e,I1e,j1e,P1e,N1e,R1e,F1e])}function jwn(e){var t;return t=ze(Ge(Q(e,(Nt(),M2)))),t<0&&(t=0,rt(e,M2,t)),t}function bU(e,t){var n,r;for(r=e.Kc();r.Ob();)n=l(r.Pb(),72),rt(n,(ft(),Xx),t)}function $wn(e,t,n){var r;r=b.Math.max(0,e.b/2-.5),RA(n,r,1),wt(t,new stt(n,r))}function zwn(e,t,n){var r;return r=e.a.e[l(t.a,10).p]-e.a.e[l(n.a,10).p],da(GO(r))}function mU(e,t){var n;return Mb(e),n=new got(e,e.a.zd(),e.a.yd()|4,t),new vn(e,n)}function uce(e){var t;my(!!e.c),t=e.c.a,sf(e.d,e.c),e.b==e.c?e.b=t:--e.a,e.c=null}function Zht(e){return e.a>=-.01&&e.a<=H1&&(e.a=0),e.b>=-.01&&e.b<=H1&&(e.b=0),e}function Q5(e){d6();var t,n;for(n=LCe,t=0;t<e.length;t++)e[t]>n&&(n=e[t]);return n}function eft(e,t){var n;if(n=pP(e.Dh(),t),!n)throw ue(new Wn(qb+t+e0e));return n}function Iy(e,t){var n;for(n=e;ds(n);)if(n=ds(n),n==t)return!0;return!1}function qwn(e,t){var n,r,s;for(r=t.a.ld(),n=l(t.a.md(),16).gc(),s=0;s<n;s++)e.Cd(r)}function Uu(e,t){var n,r,s,o;for(tr(t),r=e.c,s=0,o=r.length;s<o;++s)n=r[s],t.Cd(n)}function tft(e,t,n,r,s,o){var f;f=qoe(r),ho(f,s),Na(f,o),xn(e.a,r,new eH(f,t,n.f))}function nft(e,t){Vi(e,(fg(),kge),t.f),Vi(e,KCt,t.e),Vi(e,xge,t.d),Vi(e,GCt,t.c)}function rft(e,t){this.a=new Nr,this.e=new Nr,this.b=(EA(),OW),this.c=e,this.b=t}function ift(e){this.d=e,this.c=e.c.vc().Kc(),this.b=null,this.a=null,this.e=(Kz(),F0e)}function sf(e,t){var n;return n=t.c,t.a.b=t.b,t.b.a=t.a,t.a=t.b=null,t.c=null,--e.b,n}function Hwn(e,t){return t&&e.b[t.g]==t?(Ss(e.b,t.g,null),--e.c,!0):!1}function Uwn(e,t){if(0>e||e>t)throw ue(new w3e("fromIndex: 0, toIndex: "+e+_Te+t))}function Bw(e){if(e<0)throw ue(new Wn("Illegal Capacity: "+e));this.g=this.aj(e)}function f7e(e,t){return A1(),h0(Fb),b.Math.abs(e-t)<=Fb||e==t||isNaN(e)&&isNaN(t)}function lce(e,t){var n,r,s,o;for(r=e.d,s=0,o=r.length;s<o;++s)n=r[s],L1(e.g,n).a=t}function Vwn(e,t,n){var r,s,o;for(s=t[n],r=0;r<s.length;r++)o=s[r],e.e[o.c.p][o.p]=r}function Gwn(e){var t;for(t=0;t<e.c.length;t++)(Sn(t,e.c.length),l(e.c[t],12)).p=t}function Kwn(e){var t,n;for(t=e.a.d.j,n=e.c.d.j;t!=n;)f0(e.b,t),t=KU(t);f0(e.b,t)}function Wwn(e){var t;return t=b.Math.sqrt(e.a*e.a+e.b*e.b),t>0&&(e.a/=t,e.b/=t),e}function Ah(e){var t;return e.w?e.w:(t=Nbn(e),t&&!t.Vh()&&(e.w=t),t)}function oT(e,t){var n,r;r=e.a,n=R4n(e,t,null),r!=t&&!e.e&&(n=tE(e,t,n)),n&&n.oj()}function sft(e,t,n){var r,s;r=t;do s=ze(e.p[r.p])+n,e.p[r.p]=s,r=e.a[r.p];while(r!=t)}function aft(e,t,n){var r=function(){return e.apply(r,arguments)};return t.apply(r,n),r}function Ywn(e){var t;return e==null?null:(t=l(e,195),o9n(t,t.length))}function Oe(e,t){if(e.g==null||t>=e.i)throw ue(new iae(t,e.i));return e.Wi(t,e.g[t])}function Xwn(e,t){Cn();var n,r;for(r=new mt,n=0;n<e;++n)qn(r.c,t);return new gse(r)}function oft(e){return Mb(e),W8(!0,"n may not be negative"),new vn(e,new Bft(e.a))}function d7e(e){e.b=(Ol(),Vb),e.f=(al(),Gb),e.d=(Mh(2,Jy),new Pu(2)),e.e=new za}function vU(e){this.b=(Xr(e),new Ml(e)),this.a=new mt,this.d=new mt,this.e=new za}function e1(){e1=U,Wc=new Ase("BEGIN",0),ju=new Ase(lE,1),Yc=new Ase("END",2)}function F1(){F1=U,iC=new tae(lE,0),M4=new tae("HEAD",1),sC=new tae("TAIL",2)}function lx(){lx=U,gCt=Ed(Ed(Ed(w_(new Js,(yx(),hM)),(YA(),Vde)),lIe),gIe)}function sp(){sp=U,bCt=Ed(Ed(Ed(w_(new Js,(yx(),dM)),(YA(),fIe)),oIe),hIe)}function cft(){cft=U,zxt=Kr((xx(),he(le(BE,1),it,232,0,[PE,HL,NE,g4,B6,P6])))}function uft(){uft=U,Yxt=Kr((_V(),he(le(RLe,1),it,283,0,[G1e,V1e,W1e,K1e,Y1e,iW])))}function lft(){lft=U,Qxt=Kr((nP(),he(le(VLe,1),it,281,0,[aW,qLe,ULe,zLe,HLe,X1e])))}function hft(){hft=U,Jxt=Kr((HT(),he(le(QLe,1),it,282,0,[VL,KLe,XLe,YLe,WLe,GLe])))}function fft(){fft=U,fxt=Kr((Jn(),he(le(E1e,1),it,273,0,[Bs,Aa,Ks,Su,uu,K1])))}function dft(){dft=U,QSt=Kr((lg(),he(le(hNe,1),it,255,0,[$ge,QB,JB,uY,oY,cY])))}function gft(){gft=U,r_t=Kr((rv(),he(le(Uge,1),it,298,0,[Hge,_M,SM,qge,EM,CM])))}function pft(){pft=U,C_t=Kr((CV(),he(le(oPe,1),it,321,0,[spe,iPe,aPe,nPe,sPe,rPe])))}function bft(){bft=U,I_t=Kr((Pa(),he(le(bPe,1),it,101,0,[rm,Z1,oC,Iv,_g,Au])))}function mft(){mft=U,O_t=Kr((Pl(),he(le(pY,1),it,279,0,[im,kp,lF,BM,PM,o9])))}function vft(){vft=U,xK=(e1(),he(le(c4,1),it,237,0,[Wc,ju,Yc])).length,n1e=xK}function Qwn(){return Vy(),he(le(Ko,1),it,95,0,[k0,xp,T0,C0,Sg,qf,jh,E0,zf])}function Jwn(e,t){return Nb(),iu(e.b.c.length-e.e.c.length,t.b.c.length-t.e.c.length)}function J5(e,t){return oln(pA(e,t,Yr(go(pg,og(Yr(go(t==null?0:ts(t),bg)),15)))))}function g7e(e,t){return A1(),h0(Fb),b.Math.abs(e-t)<=Fb||e==t||isNaN(e)&&isNaN(t)}function wU(e,t){var n;n=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&Bi(e,new Ay(e,1,n,e.b))}function cT(e,t){var n;n=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&Bi(e,new Ay(e,3,n,e.b))}function Fw(e,t){var n;n=e.f,e.f=t,e.Db&4&&!(e.Db&1)&&Bi(e,new Ay(e,3,n,e.f))}function Rw(e,t){var n;n=e.g,e.g=t,e.Db&4&&!(e.Db&1)&&Bi(e,new Ay(e,4,n,e.g))}function Vu(e,t){var n;n=e.i,e.i=t,e.Db&4&&!(e.Db&1)&&Bi(e,new Ay(e,5,n,e.i))}function Gu(e,t){var n;n=e.j,e.j=t,e.Db&4&&!(e.Db&1)&&Bi(e,new Ay(e,6,n,e.j))}function uT(e,t){var n;n=e.j,e.j=t,e.Db&4&&!(e.Db&1)&&Bi(e,new Ay(e,1,n,e.j))}function lT(e,t){var n;n=e.c,e.c=t,e.Db&4&&!(e.Db&1)&&Bi(e,new Ay(e,4,n,e.c))}function hT(e,t){var n;n=e.k,e.k=t,e.Db&4&&!(e.Db&1)&&Bi(e,new Ay(e,2,n,e.k))}function yU(e,t){var n;n=e.a,e.a=t,e.Db&4&&!(e.Db&1)&&Bi(e,new Ay(e,0,n,e.a))}function d2(e,t){var n;n=e.s,e.s=t,e.Db&4&&!(e.Db&1)&&Bi(e,new Boe(e,4,n,e.s))}function Oy(e,t){var n;n=e.t,e.t=t,e.Db&4&&!(e.Db&1)&&Bi(e,new Boe(e,5,n,e.t))}function hce(e,t){var n;n=e.d,e.d=t,e.Db&4&&!(e.Db&1)&&Bi(e,new Boe(e,2,n,e.d))}function fT(e,t){var n;n=e.F,e.F=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,5,n,t))}function EN(e,t){var n;return n=l(or((hq(),LY),e),57),n?n.gk(t):We(ka,jn,1,t,5,1)}function Zwn(e,t){var n;return n=ya(Xa(l(or(e.g,t),8)),Pye(l(or(e.f,t),470).b)),n}function e3n(e,t){var n,r,s;return n=(r=(fb(),s=new ok,s),t&&uke(r,t),r),A7e(n,e),n}function ap(e,t){var n,r;return n=t in e.a,n&&(r=Jg(e,t).re(),r)?r.a:null}function wft(e,t,n){if(CT(e,n),!e.kl()&&n!=null&&!e.fk(n))throw ue(new Jie);return n}function yft(e,t){return e.n=t,e.n?(e.f=new mt,e.e=new mt):(e.f=null,e.e=null),e}function xft(e,t){if(e){t.n=e;var n=j2n(t);if(!n){fK[e]=[t];return}n.Rm=t}}function Km(e){var t;return V_(e==null||Array.isArray(e)&&(t=kN(e),!(t>=14&&t<=16))),e}function Gr(e,t){var n;return tr(t),n=e[":"+t],UO(!!n,"Enum constant undefined: "+t),n}function Br(e,t,n,r,s,o){var f;return f=aoe(e,t),xft(n,f),f.i=s?8:0,f.f=r,f.e=s,f.g=o,f}function p7e(e,t,n,r,s){this.d=t,this.k=r,this.f=s,this.o=-1,this.p=1,this.c=e,this.a=n}function b7e(e,t,n,r,s){this.d=t,this.k=r,this.f=s,this.o=-1,this.p=2,this.c=e,this.a=n}function m7e(e,t,n,r,s){this.d=t,this.k=r,this.f=s,this.o=-1,this.p=6,this.c=e,this.a=n}function v7e(e,t,n,r,s){this.d=t,this.k=r,this.f=s,this.o=-1,this.p=7,this.c=e,this.a=n}function w7e(e,t,n,r,s){this.d=t,this.j=r,this.e=s,this.o=-1,this.p=4,this.c=e,this.a=n}function kft(e,t){var n,r,s,o;for(r=t,s=0,o=r.length;s<o;++s)n=r[s],hht(e.a,n);return e}function Lh(e){var t,n,r,s;for(n=e,r=0,s=n.length;r<s;++r)t=n[r],Xr(t);return new Pnt(e)}function y7e(e){var t;return t=ya(Xa(e.d.d),e.c.d),$T(t,e.c.e.a,e.c.e.b),Pi(t,e.c.d)}function x7e(e){var t;return t=ya(Xa(e.c.d),e.d.d),$T(t,e.d.e.a,e.d.e.b),Pi(t,e.d.d)}function t3n(e){var t=/function(?:\s+([\w$]+))?\s*\(/,n=t.exec(e);return n&&n[1]||Jle}function n3n(e,t,n){var r,s;return s=e.length,r=b.Math.min(n,s),$9e(e,0,t,0,r,!0),t}function Tft(e,t,n){var r,s;for(s=t.Kc();s.Ob();)r=l(s.Pb(),74),sa(e,l(n.Kb(r),27))}function r3n(e,t){G8(l(Q(l(e.e,10),(Nt(),Ds)),101))&&(Cn(),Gs(l(e.e,10).j,t))}function i3n(){return qV(),he(le(iAe,1),it,257,0,[rAe,Z_e,eAe,J_e,t1e,nAe,tAe,Q_e,X_e])}function s3n(){return E2(),he(le(ODe,1),it,265,0,[Ade,MDe,DDe,_de,LDe,IDe,IW,XE,QE])}function jw(){jw=U,jB=new Vse("BARYCENTER",0),cM=new Vse(wyt,1),FW=new Vse(yyt,2)}function xU(){xU=U,ZDe=new Hse("NO",0),qde=new Hse(oEe,1),JDe=new Hse("LOOK_BACK",2)}function kU(){kU=U,ILe=new Nse("ARD",0),nW=new Nse("MSD",1),z1e=new Nse("MANUAL",2)}function qo(){qo=U,aM=new jse(uL,0),Fl=new jse("INPUT",1),$u=new jse("OUTPUT",2)}function dT(){return Rge||(Rge=new Smt,Z5(Rge,he(le(D6,1),jn,134,0,[new bz]))),Rge}function h0(e){if(!(e>=0))throw ue(new Wn("tolerance ("+e+") must be >= 0"));return e}function Eft(e,t){var n;return De(t,44)?e.c.Mc(t):(n=oue(e,t),nV(e,t),n)}function ec(e,t,n){return ev(e,t),Bu(e,n),d2(e,0),Oy(e,1),v2(e,!0),m2(e,!0),e}function CN(e,t){var n;if(n=e.gc(),t<0||t>n)throw ue(new yy(t,n));return new M4e(e,t)}function TU(e,t){e.b=b.Math.max(e.b,t.d),e.e+=t.r+(e.a.c.length==0?0:e.c),wt(e.a,t)}function Cft(e){my(e.c>=0),l6n(e.d,e.c)<0&&(e.a=e.a-1&e.d.a.length-1,e.b=e.d.c),e.c=-1}function EU(e){var t,n;for(n=e.c.Cc().Kc();n.Ob();)t=l(n.Pb(),16),t.$b();e.c.$b(),e.d=0}function a3n(e){var t,n,r,s;for(n=e.a,r=0,s=n.length;r<s;++r)t=n[r],vat(t,t.length,null)}function dA(e,t){var n,r,s,o;for(r=t,s=0,o=r.length;s<o;++s)n=r[s],_s(e,n,e.c.b,e.c)}function Sft(e,t){var n,r;for(n=0,r=e.gc();n<r;++n)if(eu(t,e.Xb(n)))return n;return-1}function k7e(e){var t,n;if(e==0)return 32;for(n=0,t=1;!(t&e);t<<=1)++n;return n}function Mh(e,t){if(e<0)throw ue(new Wn(t+" cannot be negative but was: "+e));return e}function o3n(e,t){typeof window===_P&&typeof window.$gwt===_P&&(window.$gwt[e]=t)}function CU(e,t){return aln(bA(e.a,t,Yr(go(pg,og(Yr(go(t==null?0:ts(t),bg)),15)))))}function c3n(e,t,n){return Ly(e,new fd(t),new Ct,new tw(n),he(le(uc,1),it,108,0,[]))}function u3n(){return Xl(),he(le(vPe,1),it,264,0,[cC,gF,bY,RM,mY,wY,vY,ape,dF])}function _ft(){_ft=U,V6t=he(le(Ur,1),fi,28,15,[0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15])}function gA(){gA=U,UL=new Ose("LAYER_SWEEP",0),CB=new Ose(efe,1),MLe=new Ose(Id,2)}function T7e(){T7e=U,GTt=hi(hi(hi(new Js,(so(),w0),(po(),O6)),xg,d4),pu,f4)}function Aft(){Aft=U,KTt=hi(hi(hi(new Js,(so(),w0),(po(),O6)),xg,d4),pu,f4)}function E7e(){E7e=U,WTt=hi(hi(hi(new Js,(so(),w0),(po(),O6)),xg,d4),pu,f4)}function Lft(){Lft=U,YTt=hi(hi(hi(new Js,(so(),w0),(po(),O6)),xg,d4),pu,f4)}function Mft(){Mft=U,XTt=hi(hi(hi(new Js,(so(),w0),(po(),O6)),xg,d4),pu,f4)}function Dft(){Dft=U,QTt=hi(hi(hi(new Js,(so(),w0),(po(),O6)),xg,d4),pu,f4)}function Ift(){Ift=U,eEt=wl(hi(hi(new Js,(so(),pu),(po(),qK)),Cu,FK),wc,zK)}function l3n(e){var t,n;for(n=new K(kgt(e));n.a<n.c.c.length;)t=l(re(n),695),t._f()}function h3n(){aet();for(var e=D0e,t=0;t<arguments.length;t++)e.push(arguments[t])}function Oft(e){P3e(),this.g=new Nr,this.f=new Nr,this.b=new Nr,this.c=new Iw,this.i=e}function C7e(){this.f=new za,this.d=new n3e,this.c=new za,this.a=new mt,this.b=new mt}function Nft(e,t,n,r){this.ak(),this.a=t,this.b=e,this.c=null,this.c=new Lit(this,t,n,r)}function fce(e,t,n,r,s){this.d=e,this.n=t,this.g=n,this.o=r,this.p=-1,s||(this.o=-2-r-1)}function Pft(){$ye.call(this),this.n=-1,this.g=null,this.i=null,this.j=null,this.Bb|=b0}function Bft(e){Rq.call(this,e.Ad(64)?Oye(0,Df(e.zd(),1)):DP,e.yd()),this.b=1,this.a=e}function f3n(e,t){return lx(),l(Q(t,(Vc(),X6)),17).a<e.gc()&&l(Q(t,X6),17).a>=0}function S7e(e,t){e.r>0&&e.c<e.r&&(e.c+=t,e.i&&e.i.d>0&&e.g!=0&&S7e(e.i,t/e.r*e.i.d))}function _7e(e,t){var n;n=e.c,e.c=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,1,n,e.c))}function dce(e,t){var n;n=e.c,e.c=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,4,n,e.c))}function gT(e,t){var n;n=e.k,e.k=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,2,n,e.k))}function gce(e,t){var n;n=e.D,e.D=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,2,n,e.D))}function SU(e,t){var n;n=e.f,e.f=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,8,n,e.f))}function _U(e,t){var n;n=e.i,e.i=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,7,n,e.i))}function A7e(e,t){var n;n=e.a,e.a=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,8,n,e.a))}function L7e(e,t){var n;n=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,0,n,e.b))}function M7e(e,t){var n;n=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,0,n,e.b))}function D7e(e,t){var n;n=e.c,e.c=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,1,n,e.c))}function I7e(e,t){var n;n=e.d,e.d=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,1,n,e.d))}function d3n(e,t,n){var r;e.b=t,e.a=n,r=(e.a&512)==512?new UJe:new sz,e.c=_Sn(r,e.b,e.a)}function Fft(e,t){return dp(e.e,t)?(Ro(),ice(t)?new uH(t,e):new AO(t,e)):new hnt(t,e)}function g3n(e){var t,n;return 0>e?new N3e:(t=e+1,n=new Yut(t,e),new u4e(null,n))}function p3n(e,t){Cn();var n;return n=new P8(1),Da(e)?sc(n,e,t):Ru(n.f,e,t),new er(n)}function b3n(e,t){var n,r;return n=e.c,r=t.e[e.p],r>0?l(Rt(n.a,r-1),10):null}function m3n(e,t){var n,r;return n=e.o+e.p,r=t.o+t.p,n<r?-1:n==r?0:1}function v3n(e){var t;return t=Q(e,(ft(),zi)),De(t,167)?tdt(l(t,167)):null}function Rft(e){var t;return e=b.Math.max(e,2),t=Z7e(e),e>t?(t<<=1,t>0?t:iL):t}function pce(e){switch(Hye(e.e!=3),e.e){case 2:return!1;case 0:return!0}return Svn(e)}function jft(e,t){var n;return De(t,8)?(n=l(t,8),e.a==n.a&&e.b==n.b):!1}function w3n(e,t){var n;n=new Ot,l(t.b,68),l(t.b,68),l(t.b,68),Uu(t.a,new $4e(e,n,t))}function $ft(e,t){var n,r;for(r=t.vc().Kc();r.Ob();)n=l(r.Pb(),44),eP(e,n.ld(),n.md())}function O7e(e,t){var n;n=e.d,e.d=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,11,n,e.d))}function AU(e,t){var n;n=e.j,e.j=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,13,n,e.j))}function N7e(e,t){var n;n=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,21,n,e.b))}function y3n(e,t){(JH(),G1?null:t.c).length==0&&nit(t,new Dt),sc(e.a,G1?null:t.c,t)}function x3n(e,t){t.Ug("Hierarchical port constraint processing",1),j6n(e),sOn(e),t.Vg()}function $w(){$w=U,g3=new Ise("START",0),Kb=new Ise("MIDDLE",1),d3=new Ise("END",2)}function LU(){LU=U,KW=new uye("P1_NODE_PLACEMENT",0),J6=new uye("P2_EDGE_ROUTING",1)}function Cb(){Cb=U,Ux=new Ki(JTe),MK=new Ki(tyt),zL=new Ki(nyt),wB=new Ki(ryt)}function zw(e){var t;return Lae(e.f.g,e.d),br(e.b),e.c=e.a,t=l(e.a.Pb(),44),e.b=K7e(e),t}function P7e(e){var t;return e.b==null?(r2(),r2(),xF):(t=e.ul()?e.tl():e.sl(),t)}function zft(e,t){var n;return n=t==null?-1:bc(e.b,t,0),n<0?!1:(mce(e,n),!0)}function f0(e,t){var n;return tr(t),n=t.g,e.b[n]?!1:(Ss(e.b,n,t),++e.c,!0)}function MU(e,t){var n,r;return n=1-t,r=e.a[n],e.a[n]=r.a[t],r.a[t]=e,e.b=!0,r.b=!1,r}function k3n(e,t){var n,r;for(r=t.Kc();r.Ob();)n=l(r.Pb(),272),e.b=!0,sa(e.e,n),n.b=e}function T3n(e,t){var n,r;return n=l(Q(e,(Nt(),k4)),8),r=l(Q(t,k4),8),Xi(n.b,r.b)}function bce(e,t,n){var r,s,o;return o=t>>5,s=t&31,r=xa(vb(e.n[n][o],Yr(u0(s,1))),3),r}function qft(e,t,n){var r,s,o;for(o=e.a.length-1,s=e.b,r=0;r<n;s=s+1&o,++r)Ss(t,r,e.a[s])}function mce(e,t){var n;n=l2(e.b,e.b.c.length-1),t<e.b.c.length&&(nf(e.b,t,n),h2t(e,t))}function Hft(e,t){var n;return n=l(or(e.c,t),467),n||(n=new EJe,n.c=t,Ti(e.c,n.c,n)),n}function E3n(e,t){var n,r;r=new mt,n=t;do qn(r.c,n),n=l(or(e.k,n),18);while(n);return r}function vce(e,t,n){var r;return r=new mt,fke(e,t,r,n,!0,!0),e.b=new DU(r.c.length),r}function Wm(e,t){var n,r;for(n=e.Pc(),iT(n,0,n.length,t),r=0;r<n.length;r++)e.hd(r,n[r])}function B7e(e){var t,n;for(n=new ar(e);n.e!=n.i.gc();)t=l(dr(n),27),Vu(t,0),Gu(t,0)}function Uft(e){this.e=e,this.d=new eq(Dy(Y8(this.e).gc())),this.c=this.e.a,this.b=this.e.c}function DU(e){this.b=e,this.a=We(Ur,fi,28,e+1,15,1),this.c=We(Ur,fi,28,e,15,1),this.d=0}function Vft(e,t,n){rft.call(this,t,n),this.d=We(kg,S2,10,e.a.c.length,0,1),j1(e.a,this.d)}function Gft(e,t,n){y6e.call(this,e,t,n),this.a=new Nr,this.b=new Nr,this.d=new mXe(this)}function Kft(e){g5e.call(this),this.b=ze(Ge(Q(e,(Nt(),y0)))),this.a=l(Q(e,yp),223)}function wce(e,t){var n;return De(t,16)?(n=l(t,16),e.Gc(n)):ace(e,l(Xr(t),20).Kc())}function C3n(e,t){Os(ji(new vn(null,new kn(new pr(e.b),1)),new jtt(e,t)),new ztt(e,t))}function S3n(e,t){t.Ug(vyt,1),Os(Pc(new vn(null,new kn(e.b,16)),new oZ),new cZ),t.Vg()}function ts(e){return Da(e)?g2(e):py(e)?$8(e):gy(e)?iit(e):w5e(e)?e.Hb():f5e(e)?ww(e):t6e(e)}function Wft(e){var t,n;for(n=e.c.a.ec().Kc();n.Ob();)t=l(n.Pb(),219),M(t,new dat(t.f))}function F7e(e){var t,n;for(n=e.c.a.ec().Kc();n.Ob();)t=l(n.Pb(),219),O(t,new _pt(t.e))}function Bu(e,t){var n;n=e.zb,e.zb=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,1,n,e.zb))}function IU(e,t){var n;n=e.xb,e.xb=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,3,n,e.xb))}function OU(e,t){var n;n=e.yb,e.yb=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,2,n,e.yb))}function As(e,t){var n,r;n=(r=new tse,r),n.n=t,zr((!e.s&&(e.s=new nt(fl,e,21,17)),e.s),n)}function ss(e,t){var n,r;r=(n=new o4e,n),r.n=t,zr((!e.s&&(e.s=new nt(fl,e,21,17)),e.s),r)}function Ga(e,t){var n,r,s;for(tr(t),n=!1,s=t.Kc();s.Ob();)r=s.Pb(),n=n|e.Fc(r);return n}function Yft(e){var t,n,r;for(t=0,r=e.Kc();r.Ob();)n=r.Pb(),t+=n!=null?ts(n):0,t=~~t;return t}function yce(e,t){var n=e.a,r=0;for(var s in n)n.hasOwnProperty(s)&&(t[r++]=s);return t}function Xft(e){var t;return e==0?"UTC":(e<0?(e=-e,t="UTC+"):t="UTC-",t+Aht(e))}function R7e(e){return e.a<54?e.f<0?-1:e.f>0?1:0:(!e.c&&(e.c=iN(tu(e.f))),e.c).e}function Qft(e,t){t?e.B==null&&(e.B=e.D,e.D=null):e.B!=null&&(e.D=e.B,e.B=null)}function _3n(e,t){return xT(),e==f3&&t==l4||e==l4&&t==f3||e==I6&&t==u4||e==u4&&t==I6}function A3n(e,t){return xT(),e==f3&&t==u4||e==f3&&t==I6||e==l4&&t==I6||e==l4&&t==u4}function Jft(e,t){return A1(),h0(H1),b.Math.abs(0-t)<=H1||t==0||isNaN(0)&&isNaN(t)?0:e/t}function Zft(e,t){return ze(Ge(uh(zN(gc(new vn(null,new kn(e.c.b,16)),new iXe(e)),t))))}function j7e(e,t){return ze(Ge(uh(zN(gc(new vn(null,new kn(e.c.b,16)),new rXe(e)),t))))}function L3n(){return Ho(),he(le(Q1e,1),it,259,0,[oW,mf,GL,cW,qE,R6,KL,$E,zE,uW])}function M3n(){return Nf(),he(le(qDe,1),it,243,0,[PW,BB,FB,jDe,$De,RDe,zDe,BW,C3,E4])}function D3n(e,t){var n;t.Ug("General Compactor",1),n=B5n(l(at(e,(Pb(),dge)),393)),n.Cg(e)}function I3n(e,t){var n,r;return n=l(at(e,(Pb(),YW)),17),r=l(at(t,YW),17),iu(n.a,r.a)}function $7e(e,t,n){var r,s;for(s=Fr(e,0);s.b!=s.d.c;)r=l(Pr(s),8),r.a+=t,r.b+=n;return e}function pA(e,t,n){var r;for(r=e.b[n&e.f];r;r=r.b)if(n==r.a&&yd(t,r.g))return r;return null}function bA(e,t,n){var r;for(r=e.c[n&e.f];r;r=r.d)if(n==r.f&&yd(t,r.i))return r;return null}function O3n(e,t,n){var r,s,o;for(r=0,s=0;s<n;s++)o=t[s],e[s]=o<<1|r,r=o>>>31;r!=0&&(e[n]=r)}function xce(e,t,n,r,s,o){var f;this.c=e,f=new mt,wxe(e,f,t,e.b,n,r,s,o),this.a=new Ua(f,0)}function e0t(){this.c=new tq(0),this.b=new tq(ACe),this.d=new tq(zyt),this.a=new tq(Hhe)}function af(e,t,n,r,s,o,f){Vr.call(this,e,t),this.d=n,this.e=r,this.c=s,this.b=o,this.a=O1(f)}function Ns(e,t,n,r,s,o,f,g,w,T,C,L,F){return s2t(e,t,n,r,s,o,f,g,w,T,C,L,F),eue(e,!1),e}function N3n(e){return e.b.c.i.k==(Jn(),Ks)?l(Q(e.b.c.i,(ft(),zi)),12):e.b.c}function t0t(e){return e.b.d.i.k==(Jn(),Ks)?l(Q(e.b.d.i,(ft(),zi)),12):e.b.d}function P3n(e){var t;return t=GH(e),pw(t.a,0)?(sq(),sq(),i7t):(sq(),new Brt(t.b))}function kce(e){var t;return t=v6e(e),pw(t.a,0)?(hy(),hy(),G0e):(hy(),new wae(t.b))}function Tce(e){var t;return t=v6e(e),pw(t.a,0)?(hy(),hy(),G0e):(hy(),new wae(t.c))}function n0t(e){switch(e.g){case 2:return _t(),Zn;case 4:return _t(),sr;default:return e}}function r0t(e){switch(e.g){case 1:return _t(),Mr;case 3:return _t(),Xn;default:return e}}function i0t(e){switch(e.g){case 0:return new Une;case 1:return new Vne;default:return null}}function hx(){hx=U,A1e=new ws("edgelabelcenterednessanalysis.includelabel",(Hn(),Ub))}function z7e(){z7e=U,tEt=Ed(Cnt(hi(hi(new Js,(so(),pu),(po(),qK)),Cu,FK),wc),zK)}function s0t(){s0t=U,sEt=Ed(Cnt(hi(hi(new Js,(so(),pu),(po(),qK)),Cu,FK),wc),zK)}function Ece(){Ece=U,HM=new jJe,bpe=he(le(fl,1),A6,179,0,[]),SAt=he(le(Vf,1),KSe,62,0,[])}function pT(){pT=U,xB=new X3e("TO_INTERNAL_LTR",0),C1e=new X3e("TO_INPUT_DIRECTION",1)}function xl(){xl=U,zAe=new nb,jAe=new ty,$Ae=new rZ,RAe=new _m,qAe=new iZ,HAe=new sZ}function B3n(e,t){t.Ug(vyt,1),U8e(yln(new t_((p_(),new foe(e,!1,!1,new uS))))),t.Vg()}function F3n(e,t,n){n.Ug("DFS Treeifying phase",1),e6n(e,t),JCn(e,t),e.a=null,e.b=null,n.Vg()}function SN(e,t){return Hn(),Da(e)?z6e(e,Zr(t)):py(e)?Wae(e,Ge(t)):gy(e)?_gn(e,Pt(t)):e.Fd(t)}function mA(e,t){var n,r;for(tr(t),r=t.vc().Kc();r.Ob();)n=l(r.Pb(),44),e.zc(n.ld(),n.md())}function R3n(e,t,n){var r;for(r=n.Kc();r.Ob();)if(!YH(e,t,r.Pb()))return!1;return!0}function j3n(e,t,n,r,s){var o;return n&&(o=vs(t.Dh(),e.c),s=n.Rh(t,-1-(o==-1?r:o),null,s)),s}function $3n(e,t,n,r,s){var o;return n&&(o=vs(t.Dh(),e.c),s=n.Th(t,-1-(o==-1?r:o),null,s)),s}function a0t(e){var t;if(e.b==-2){if(e.e==0)t=-1;else for(t=0;e.a[t]==0;t++);e.b=t}return e.b}function z3n(e){if(tr(e),e.length==0)throw ue(new gd("Zero length BigInteger"));K_n(this,e)}function q7e(e){this.i=e.gc(),this.i>0&&(this.g=this.aj(this.i+(this.i/8|0)+1),e.Qc(this.g))}function o0t(e,t,n){this.g=e,this.d=t,this.e=n,this.a=new mt,Zkn(this),Cn(),Gs(this.a,null)}function H7e(e,t){t.q=e,e.d=b.Math.max(e.d,t.r),e.b+=t.d+(e.a.c.length==0?0:e.c),wt(e.a,t)}function bT(e,t){var n,r,s,o;return s=e.c,n=e.c+e.b,o=e.d,r=e.d+e.a,t.a>s&&t.a<n&&t.b>o&&t.b<r}function Ny(e,t){var n,r;for(r=Fr(e,0);r.b!=r.d.c;)n=l(Pr(r),8),n.a+=t.a,n.b+=t.b;return e}function q3n(e){var t,n,r;for(r=0,n=new K(e.b);n.a<n.c.c.length;)t=l(re(n),30),t.p=r,++r}function H3n(e){var t,n,r;return e.j==(_t(),Xn)&&(t=W2t(e),n=ml(t,sr),r=ml(t,Zn),r||r&&n)}function U3n(e,t){var n;return n=i9e(e),P9e(new lt(n.c,n.d),new lt(n.b,n.a),e.Mf(),t,e.ag())}function U7e(e,t){var n;n=l(t,190),qm(n,"x",e.i),qm(n,"y",e.j),qm(n,s0e,e.g),qm(n,i0e,e.f)}function NU(e,t){var n;De(t,85)?(l(e.c,79).Gk(),n=l(t,85),$ft(e,n)):l(e.c,79).Wb(t)}function vA(e,t){var n,r;for(tr(t),r=e.vc().Kc();r.Ob();)n=l(r.Pb(),44),t.Yd(n.ld(),n.md())}function V3n(e,t){var n;for(Xr(t);e.Ob();)if(n=e.Pb(),!G7e(l(n,10)))return!1;return!0}function G3n(){var e;return Q0e||(Q0e=new dJe,e=new $oe(""),ohn(e,(Ok(),F_e)),y3n(Q0e,e)),Q0e}function c0t(e,t){return Ly(new ub(e),new V0(t),new Xp(t),new mo,he(le(uc,1),it,108,0,[]))}function PU(){PU=U,bge=new Yse(Id,0),uOe=new Yse("POLAR_COORDINATE",1),cOe=new Yse("ID",2)}function BU(){BU=U,GDe=new $se("EQUALLY",0),Rde=new $se(uG,1),KDe=new $se("NORTH_SOUTH",2)}function mT(){mT=U,$L=new ws("debugSVG",(Hn(),!1)),cAe=new ws("overlapsExisted",!0)}function u0t(){u0t=U,XSt=Kr((T2(),he(le(YSt,1),it,285,0,[cNe,Ta,Sc,e7,co,ps,n9,X1])))}function l0t(){l0t=U,sAt=Kr((VT(),he(le(AY,1),it,245,0,[fpe,SY,_Y,CY,hpe,EY,TY,lpe])))}function h0t(){h0t=U,$xt=Kr(($V(),he(le(_Le,1),it,276,0,[O1e,B1e,I1e,j1e,P1e,N1e,R1e,F1e])))}function f0t(){return YA(),he(le(YOn,1),it,262,0,[Vde,lIe,gIe,pIe,dIe,uIe,bIe,oIe,fIe,hIe,cIe])}function Ym(e,t,n){var r,s;return s=l(U_(e.d,t),17),r=l(U_(e.b,n),17),!s||!r?null:cx(e,s.a,r.a)}function d0t(e,t){var n;return n=vle(dT(),e),n?(Vi(t,(bi(),c7),n),!0):!1}function g0t(e){return vy(),e.A.Hc((gh(),D4))&&!e.B.Hc((Xl(),gF))?ldt(e):null}function p0t(){this.a=l(It((p0(),AK)),17).a,this.c=ze(Ge(It(LK))),this.b=ze(Ge(It(f1e)))}function Xm(e){this.f=e,this.e=new L6e(this.f.i),this.a=this.e,this.b=K7e(this),this.d=this.f.g}function Ms(e,t){sH.call(this,_At,e,t),this.b=this,this.a=Wu(e.Dh(),Mn(this.e.Dh(),this.c))}function K3n(e,t){var n,r;for(r=new K(t.b);r.a<r.c.c.length;)n=l(re(r),30),e.a[n.p]=S9n(n)}function Dh(e,t){var n;for(n=0;n<t.j.c.length;n++)l(wN(e,n),21).Gc(l(wN(t,n),16));return e}function Cce(e,t,n,r){var s;s=e.a.length,n>s?n=s:Yn(t,n+1),e.a=ef(e.a,0,t)+(""+r)+F5e(e.a,n)}function b0t(e,t){e.a=fo(e.a,1),e.c=b.Math.min(e.c,t),e.b=b.Math.max(e.b,t),e.d=fo(e.d,t)}function W3n(e,t){return t<e.b.gc()?l(e.b.Xb(t),10):t==e.b.gc()?e.a:l(Rt(e.e,t-e.b.gc()-1),10)}function Y3n(e,t,n){return Xi(q8(RT(e),new lt(t.e.a,t.e.b)),q8(RT(e),new lt(n.e.a,n.e.b)))}function X3n(e,t,n){return e==(jw(),FW)?new rte:Yl(t,1)!=0?new C3e(n.length):new TZe(n.length)}function Bi(e,t){var n,r,s;if(n=e.th(),n!=null&&e.wh())for(r=0,s=n.length;r<s;++r)n[r].dj(t)}function Q3n(e,t){var n,r,s;for(n=e.c.Xe(),s=t.Kc();s.Ob();)r=s.Pb(),e.a.Yd(n,r);return e.b.Kb(n)}function vT(e,t){var n,r;for(n=e,r=Ja(n).e;r;){if(n=r,n==t)return!0;r=Ja(n).e}return!1}function Sb(e){var t;return t=e.h,t==0?e.l+e.m*Mx:t==pp?e.l+e.m*Mx-ov:e}function J3n(e,t,n){var r,s;return r=e.a.f[t.p],s=e.a.f[n.p],r<s?-1:r==s?0:1}function Z3n(e,t){var n,r;for(r=new K(t);r.a<r.c.c.length;)n=l(re(r),72),wt(e.d,n),x9n(e,n)}function eyn(e,t){var n;t.Ug("Edge and layer constraint edge reversal",1),n=u_n(e),$Dn(n),t.Vg()}function tyn(e,t){var n,r;for(r=new ar(e);r.e!=r.i.gc();)n=l(dr(r),27),Xh(n,n.i+t.b,n.j+t.d)}function m0t(e){var t;e.d==null?(++e.e,e.f=0,L1t(null)):(++e.e,t=e.d,e.d=null,e.f=0,L1t(t))}function nyn(e){var t;if(e.a==e.b.a)throw ue(new Dc);return t=e.a,e.c=t,e.a=l(Lf(e.a.e),227),t}function Gn(e,t){var n;return e.Db&t?(n=Due(e,t),n==-1?e.Eb:Km(e.Eb)[n]):null}function Uc(e,t){var n,r;return n=(r=new vz,r),n.G=t,!e.rb&&(e.rb=new ky(e,u1,e)),zr(e.rb,n),n}function Ci(e,t){var n,r;return n=(r=new Uz,r),n.G=t,!e.rb&&(e.rb=new ky(e,u1,e)),zr(e.rb,n),n}function v0t(e,t,n,r){De(e.Cb,184)&&(l(e.Cb,184).tb=null),Bu(e,n),t&&wTn(e,t),r&&e.gl(!0)}function w0t(e,t){e.c&&(Pmt(e,t,!0),Os(new vn(null,new kn(t,16)),new lXe(e))),Pmt(e,t,!1)}function ryn(e){Vnt();var t;return Yet(Ude,e)||(t=new _te,t.a=e,w4e(Ude,e,t)),l(Zo(Ude,e),645)}function FU(e){var t;if(e.g>1||e.Ob())return++e.a,e.g=0,t=e.i,e.Ob(),t;throw ue(new Dc)}function y0t(e){switch(e.a.g){case 1:return new Ctt;case 3:return new Cgt;default:return new bie}}function V7e(e,t){switch(t){case 1:return!!e.n&&e.n.i!=0;case 2:return e.k!=null}return m6e(e,t)}function tu(e){return PP<e&&e<ov?e<0?b.Math.ceil(e):b.Math.floor(e):Sb(DCn(e))}function _N(e){var t;return e<128?(Ist(),t=v_e[e],!t&&(t=v_e[e]=new xs(e)),t):new xs(e)}function iyn(e,t){var n;try{t.de()}catch(r){if(r=ms(r),De(r,82))n=r,qn(e.c,n);else throw ue(r)}}function Mf(e){var t,n,r,s;return s=e,r=0,s<0&&(s+=ov,r=pp),n=da(s/Mx),t=da(s-n*Mx),qu(t,n,r)}function AN(e){var t,n,r;for(r=0,n=new B8(e.a);n.a<n.c.a.length;)t=uA(n),e.b.Hc(t)&&++r;return r}function syn(e){var t,n,r;for(t=1,r=e.Kc();r.Ob();)n=r.Pb(),t=31*t+(n==null?0:ts(n)),t=~~t;return t}function mc(e,t){var n;return t&&(n=t.nf(),n.dc()||(e.q?mA(e.q,n):e.q=new pnt(n))),e}function x0t(e,t){var n;return n=e.a.get(t),n===void 0?++e.d:(Jfn(e.a,t),--e.c,++e.b.g),n}function ayn(e,t){var n,r,s;return n=t.p-e.p,n==0?(r=e.f.a*e.f.b,s=t.f.a*t.f.b,Xi(r,s)):n}function oyn(e,t){var n,r;return n=e.j,r=t.j,n!=r?n.g-r.g:e.p==t.p?0:n==(_t(),Xn)?e.p-t.p:t.p-e.p}function wA(e,t,n,r,s){Ss(e.c[t.g],n.g,r),Ss(e.c[n.g],t.g,r),Ss(e.b[t.g],n.g,s),Ss(e.b[n.g],t.g,s)}function Qm(e,t,n){this.b=(tr(e),e),this.d=(tr(t),t),this.e=(tr(n),n),this.c=this.d+(""+this.e)}function wT(e,t){this.b=e,this.e=t,this.d=t.j,this.f=(Ro(),l(e,69).xk()),this.k=Wu(t.e.Dh(),e)}function LN(e){this.n=new mt,this.e=new os,this.j=new os,this.k=new mt,this.f=new mt,this.p=e}function k0t(e){e.r=new Ys,e.w=new Ys,e.t=new mt,e.i=new mt,e.d=new Ys,e.a=new z8,e.c=new Nr}function qw(){qw=U,fB=new bq("UP",0),hB=new bq(Ohe,1),i1e=new bq(Dx,2),s1e=new bq(Ix,3)}function yT(){yT=U,J1e=new Bse("ONE_SIDED",0),Z1e=new Bse("TWO_SIDED",1),SB=new Bse("OFF",2)}function Sce(){Sce=U,NOe=new fye("EQUAL_BETWEEN_STRUCTURES",0),POe=new fye("TO_ASPECT_RATIO",1)}function T0t(){T0t=U,ATt=Kr((E2(),he(le(ODe,1),it,265,0,[Ade,MDe,DDe,_de,LDe,IDe,IW,XE,QE])))}function E0t(){E0t=U,$_t=Kr((Xl(),he(le(vPe,1),it,264,0,[cC,gF,bY,RM,mY,wY,vY,ape,dF])))}function C0t(){C0t=U,M_t=Kr((Vy(),he(le(Ko,1),it,95,0,[k0,xp,T0,C0,Sg,qf,jh,E0,zf])))}function S0t(){S0t=U,y7t=Kr((qV(),he(le(iAe,1),it,257,0,[rAe,Z_e,eAe,J_e,t1e,nAe,tAe,Q_e,X_e])))}function G7e(e){var t;return t=l(Q(e,(ft(),Xc)),64),e.k==(Jn(),Ks)&&(t==(_t(),Zn)||t==sr)}function cyn(e,t,n){var r,s;s=l(Q(e,(Nt(),lc)),75),s&&(r=new pl,qce(r,0,s),Ny(r,n),Ga(t,r))}function RU(e,t,n){var r,s,o,f;f=Ja(e),r=f.d,s=f.c,o=e.n,t&&(o.a=o.a-r.b-s.a),n&&(o.b=o.b-r.d-s.b)}function uyn(e,t){var n,r;return n=e.f.c.length,r=t.f.c.length,n<r?-1:n==r?0:1}function lyn(e){return e.b.c.length!=0&&l(Rt(e.b,0),72).a?l(Rt(e.b,0),72).a:hoe(e)}function hyn(e){var t;if(e){if(t=e,t.dc())throw ue(new Dc);return t.Xb(t.gc()-1)}return lct(e.Kc())}function _0t(e){var t;return su(e,0)<0&&(e=Q4e(e)),t=Yr(vb(e,32)),64-(t!=0?hP(t):hP(Yr(e))+32)}function fyn(){return JH(),G1?new $oe(null):V2t(G3n(),"com.google.common.base.Strings")}function _ce(e,t,n,r){return n==1?(!e.n&&(e.n=new nt(nc,e,1,7)),ko(e.n,t,r)):f9e(e,t,n,r)}function MN(e,t){var n,r;return r=(n=new BS,n),Bu(r,t),zr((!e.A&&(e.A=new bl(Zu,e,7)),e.A),r),r}function dyn(e,t,n){var r,s,o,f;return o=null,f=t,s=Pw(f,c0e),r=new Vtt(e,n),o=(U8n(r.a,r.b,s),s),o}function Ace(e){var t;return(!e.a||!(e.Bb&1)&&e.a.Vh())&&(t=Of(e),De(t,156)&&(e.a=l(t,156))),e.a}function DN(e,t){var n,r;for(tr(t),r=t.Kc();r.Ob();)if(n=r.Pb(),!e.Hc(n))return!1;return!0}function gyn(e,t){var n,r,s;return n=e.l+t.l,r=e.m+t.m+(n>>22),s=e.h+t.h+(r>>22),qu(n&Ql,r&Ql,s&pp)}function A0t(e,t){var n,r,s;return n=e.l-t.l,r=e.m-t.m+(n>>22),s=e.h-t.h+(r>>22),qu(n&Ql,r&Ql,s&pp)}function pyn(e){var t,n;for(cIn(e),n=new K(e.d);n.a<n.c.c.length;)t=l(re(n),105),t.i&&rkn(t)}function ms(e){var t;return De(e,82)?e:(t=e&&e.__java$exception,t||(t=new x1t(e),oJe(t)),t)}function IN(e){if(De(e,193))return l(e,123);if(e)return null;throw ue(new I8(e5t))}function K7e(e){return e.a.Ob()?!0:e.a!=e.e?!1:(e.a=new Q6e(e.f.f),e.a.Ob())}function L0t(e,t){if(t==null)return!1;for(;e.a!=e.b;)if(Fi(t,UU(e)))return!0;return!1}function M0t(e,t){return!e||!t||e==t?!1:bdt(e.d.c,t.d.c+t.d.b)&&bdt(t.d.c,e.d.c+e.d.b)}function aa(e,t){var n,r;return n=t.Pc(),r=n.length,r==0?!1:(W4e(e.c,e.c.length,n),!0)}function byn(e,t,n){var r,s;for(s=t.vc().Kc();s.Ob();)r=l(s.Pb(),44),e.yc(r.ld(),r.md(),n);return e}function Lce(e){var t,n,r;for(t=new os,r=Fr(e.d,0);r.b!=r.d.c;)n=l(Pr(r),65),ci(t,n.c);return t}function D0t(e,t){var n,r;for(r=new K(e.b);r.a<r.c.c.length;)n=l(re(r),72),rt(n,(ft(),Xx),t)}function myn(e,t,n){var r,s;for(s=new K(e.b);s.a<s.c.c.length;)r=l(re(s),27),Xh(r,r.i+t,r.j+n)}function I0t(e,t){if(!e)throw ue(new Wn(WA("value already present: %s",he(le(ka,1),jn,1,5,[t]))))}function vyn(e,t,n,r,s){return d6(),b.Math.min(awt(e,t,n,r,s),awt(n,r,e,t,Xq(new lt(s.a,s.b))))}function wyn(e,t,n,r){l(n.b,68),l(n.b,68),l(r.b,68),l(r.b,68),l(r.b,68),Uu(r.a,new j4e(e,t,r))}function yyn(e,t){e.d==(ea(),hc)||e.d==vf?l(t.a,60).c.Fc(l(t.b,60)):l(t.b,60).c.Fc(l(t.a,60))}function O0t(e,t){var n;return n=rg(t.a.gc()),Os(mU(new vn(null,new kn(t,1)),e.i),new Ftt(e,n)),n}function N0t(e){var t,n;return n=(t=new BS,t),Bu(n,"T"),zr((!e.d&&(e.d=new bl(Zu,e,11)),e.d),n),n}function W7e(e){var t,n,r,s;for(t=1,n=0,s=e.gc();n<s;++n)r=e.Vi(n),t=31*t+(r==null?0:ts(r));return t}function P0t(e,t,n,r){var s;return oN(t,e.e.Rd().gc()),oN(n,e.c.Rd().gc()),s=e.a[t][n],Ss(e.a[t],n,r),s}function he(e,t,n,r,s){return s.Rm=e,s.Sm=t,s.Tm=xe,s.__elementTypeId$=n,s.__elementTypeCategory$=r,s}function jU(){jU=U,L1e=new xq(Id,0),XK=new xq(xyt,1),QK=new xq(kyt,2),TB=new xq("BOTH",3)}function R1(){R1=U,Vx=new kq(lE,0),IE=new kq(Dx,1),OE=new kq(Ix,2),M1e=new kq("TOP",3)}function xT(){xT=U,f3=new wq("Q1",0),l4=new wq("Q4",1),u4=new wq("Q2",2),I6=new wq("Q3",3)}function $U(){$U=U,Hde=new Use("OFF",0),JE=new Use("SINGLE_EDGE",1),C4=new Use("MULTI_EDGE",2)}function ON(){ON=U,aY=new gye("MINIMUM_SPANNING_TREE",0),sNe=new gye("MAXIMUM_SPANNING_TREE",1)}function fx(){fx=U,USt=new ry,HSt=new Wne}function Y7e(e){var t,n;return n=(fb(),t=new sk,t),e&&zr((!e.a&&(e.a=new nt(cs,e,6,6)),e.a),n),n}function Mce(e){var t,n,r,s;for(s=new mt,r=e.Kc();r.Ob();)n=l(r.Pb(),27),t=Gy(n),aa(s,t);return s}function xyn(e,t){var n,r;for(NH(t,"predicate"),r=0;e.Ob();r++)if(n=e.Pb(),t.Lb(n))return r;return-1}function dx(e,t){var n,r;if(r=0,e<64&&e<=t)for(t=t<64?t:63,n=e;n<=t;n++)r=X0(r,u0(1,n));return r}function kyn(e,t){var n,r;return n=e.c,r=t.e[e.p],r<n.a.c.length-1?l(Rt(n.a,r+1),10):null}function X7e(e){Cn();var t,n,r;for(r=0,n=e.Kc();n.Ob();)t=n.Pb(),r=r+(t!=null?ts(t):0),r=r|0;return r}function Tyn(e){var t,n,r;return t=l(e.e&&e.e(),9),r=(n=t.slice(),l(Zoe(n,t),9)),new Jh(t,r,t.length)}function B0t(e,t,n){var r;Dl(e.a),Uu(n.i,new rQe(e)),r=new zq(l(or(e.a,t.b),68)),Sdt(e,r,t),n.f=r}function Eyn(e){var t;Jw(e,!0),t=C2,rs(e,(Nt(),KE))&&(t+=l(Q(e,KE),17).a),rt(e,KE,bt(t))}function Cyn(e){var t;return t=new X,t.a=e,t.b=Pyn(e),t.c=We($t,dt,2,2,6,1),t.c[0]=Xft(e),t.c[1]=Xft(e),t}function F0t(e){var t,n,r;return n=e.n,r=e.o,t=e.d,new Zh(n.a-t.b,n.b-t.d,r.a+(t.b+t.c),r.b+(t.d+t.a))}function Syn(e,t){return!e||!t||e==t?!1:Uw(e.b.c,t.b.c+t.b.b)<0&&Uw(t.b.c,e.b.c+e.b.b)<0}function R0t(e){switch(e.g){case 1:return tm;case 2:return Cg;case 3:return oF;default:return cF}}function _yn(e){switch(l(Q(e,(Nt(),Qu)),171).g){case 2:case 4:return!0;default:return!1}}function NN(e,t,n){switch(n.g){case 2:e.b=t;break;case 1:e.c=t;break;case 4:e.d=t;break;case 3:e.a=t}}function Q7e(e,t){switch(t){case 0:!e.o&&(e.o=new yl((au(),Ag),R2,e,0)),e.o.c.$b();return}Que(e,t)}function Ayn(e,t){var n,r;return n=l(l(or(e.g,t.a),42).a,68),r=l(l(or(e.g,t.b),42).a,68),fvt(n,r)}function J7e(e,t,n){var r;if(r=e.gc(),t>r)throw ue(new yy(t,r));return e.Si()&&(n=Got(e,n)),e.Ei(t,n)}function kT(e,t,n,r,s){var o,f;for(f=n;f<=s;f++)for(o=t;o<=r;o++)s6(e,o,f)||UV(e,o,f,!0,!1)}function Lyn(e){d6();var t,n,r;for(n=We(Ca,dt,8,2,0,1),r=0,t=0;t<2;t++)r+=.5,n[t]=k7n(r,e);return n}function TT(e){var t,n,r;return t=~e.l+1&Ql,n=~e.m+(t==0?1:0)&Ql,r=~e.h+(t==0&&n==0?1:0)&pp,qu(t,n,r)}function Z7e(e){var t;if(e<0)return ao;if(e==0)return 0;for(t=iL;!(t&e);t>>=1);return t}function Dce(e,t,n){return e>=128?!1:e<64?O_(xa(u0(1,e),n),0):O_(xa(u0(1,e-64),t),0)}function PN(e,t,n){return n==null?(!e.q&&(e.q=new Nr),ox(e.q,t)):(!e.q&&(e.q=new Nr),Ti(e.q,t,n)),e}function rt(e,t,n){return n==null?(!e.q&&(e.q=new Nr),ox(e.q,t)):(!e.q&&(e.q=new Nr),Ti(e.q,t,n)),e}function j0t(e){var t,n;return n=new eU,mc(n,e),rt(n,(Cb(),Ux),e),t=new Nr,iLn(e,n,t),IDn(e,n,t),n}function $0t(e){var t,n;return t=e.t-e.k[e.o.p]*e.d+e.j[e.o.p]>e.f,n=e.u+e.e[e.o.p]*e.d>e.f*e.s*e.d,t||n}function z0t(e,t){var n,r,s,o;for(n=!1,r=e.a[t].length,o=0;o<r-1;o++)s=o+1,n=n|n6n(e,t,o,s);return n}function Myn(e){var t,n,r,s;for(n=e.a,r=0,s=n.length;r<s;++r)t=n[r],W0t(e,t,(_t(),Mr)),W0t(e,t,Xn)}function q0t(){q0t=U,Zxt=Kr((Ho(),he(le(Q1e,1),it,259,0,[oW,mf,GL,cW,qE,R6,KL,$E,zE,uW])))}function H0t(){H0t=U,ITt=Kr((Nf(),he(le(qDe,1),it,243,0,[PW,BB,FB,jDe,$De,RDe,zDe,BW,C3,E4])))}function Jm(){Jm=U,U1e=new Pse(Id,0),jE=new Pse("INCOMING_ONLY",1),F6=new Pse("OUTGOING_ONLY",2)}function Ice(){Ice=U,z0e={boolean:fln,number:Sun,string:_un,object:c2t,function:c2t,undefined:aun}}function e8e(){this.o=null,this.k=null,this.j=null,this.d=null,this.b=null,this.n=null,this.a=null}function t8e(e,t){this.c=e,this.d=t,this.b=this.d/this.c.c.Rd().gc()|0,this.a=this.d%this.c.c.Rd().gc()}function U0t(e,t){this.b=e,B5.call(this,(l(Oe(tt((wb(),Un).o),10),19),t.i),t.g),this.a=(Ece(),bpe)}function n8e(e,t,n){this.q=new b.Date,this.q.setFullYear(e+Rb,t,n),this.q.setHours(0,0,0,0),QA(this,0)}function V0t(e,t){UO(e>=0,"Negative initial capacity"),UO(t>=0,"Non-positive load factor"),Dl(this)}function Dyn(e,t,n,r,s){var o,f;if(f=e.length,o=n.length,t<0||r<0||s<0||t+s>f||r+s>o)throw ue(new Vwe)}function r8e(e,t){Cn();var n,r,s,o,f;for(f=!1,r=t,s=0,o=r.length;s<o;++s)n=r[s],f=f|e.Fc(n);return f}function G0t(e,t,n){var r,s;return r=new Xoe(t,n),s=new yt,e.b=Qbt(e,e.b,r,s),s.b||++e.c,e.b.b=!1,s.d}function yA(e){var t;return t=e.a[e.b],t==null?null:(Ss(e.a,e.b,null),e.b=e.b+1&e.a.length-1,t)}function K0t(e){var t,n;return n=hP(e.h),n==32?(t=hP(e.m),t==32?hP(e.l)+32:t+20-10):n-12}function i8e(e){var t;return(!e.c||!(e.Bb&1)&&e.c.Db&64)&&(t=Of(e),De(t,90)&&(e.c=l(t,29))),e.c}function _b(e){var t,n;for(n=new K(e.a.b);n.a<n.c.c.length;)t=l(re(n),60),t.d.c=-t.d.c-t.d.b;cke(e)}function Ab(e){var t,n;for(n=new K(e.a.b);n.a<n.c.c.length;)t=l(re(n),86),t.g.c=-t.g.c-t.g.b;FV(e)}function W0t(e,t,n){var r,s,o,f;for(f=CA(t,n),o=0,s=f.Kc();s.Ob();)r=l(s.Pb(),12),Ti(e.c,r,bt(o++))}function Y0t(e,t,n){var r;return r=new mt,fke(e,t,r,(_t(),sr),!0,!1),fke(e,n,r,Zn,!1,!1),r}function Bc(e){var t,n,r,s,o;for(t=new za,r=e,s=0,o=r.length;s<o;++s)n=r[s],t.a+=n.a,t.b+=n.b;return t}function Oce(e,t,n){var r,s,o,f;return o=null,f=t,s=Pw(f,"labels"),r=new tnt(e,n),o=(gEn(r.a,r.b,s),s),o}function Iyn(e,t,n,r){var s;return s=Z9e(e,t,n,r),!s&&(s=$4n(e,n,r),s&&!b6(e,t,s))?null:s}function Oyn(e,t,n,r){var s;return s=eke(e,t,n,r),!s&&(s=Xce(e,n,r),s&&!b6(e,t,s))?null:s}function Nyn(e,t,n){if(Xr(t),n.Ob())for(yye(t,Bat(n.Pb()));n.Ob();)yye(t,e.a),yye(t,Bat(n.Pb()));return t}function X0t(e,t){var n;for(n=0;n<e.a.a.length;n++)if(!l(Ast(e.a,n),178).Lb(t))return!1;return!0}function Pyn(e){var t;return e==0?"Etc/GMT":(e<0?(e=-e,t="Etc/GMT-"):t="Etc/GMT+",t+Aht(e))}function s8e(e){var t;return e.b<=0?!1:(t=pd("MLydhHmsSDkK",ol(io(e.c,0))),t>1||t>=0&&e.b<3)}function Nce(e){var t,n,r;t=~e.l+1&Ql,n=~e.m+(t==0?1:0)&Ql,r=~e.h+(t==0&&n==0?1:0)&pp,e.l=t,e.m=n,e.h=r}function a8e(e){Cn();var t,n,r;for(r=1,n=e.Kc();n.Ob();)t=n.Pb(),r=31*r+(t!=null?ts(t):0),r=r|0;return r}function Byn(e,t,n,r,s){var o;return o=Y9e(e,t),n&&Nce(o),s&&(e=L7n(e,t),r?Hb=TT(e):Hb=qu(e.l,e.m,e.h)),o}function Q0t(e,t,n){e.g=Jue(e,t,(_t(),sr),e.b),e.d=Jue(e,n,sr,e.b),!(e.g.c==0||e.d.c==0)&&Apt(e)}function J0t(e,t,n){e.g=Jue(e,t,(_t(),Zn),e.j),e.d=Jue(e,n,Zn,e.j),!(e.g.c==0||e.d.c==0)&&Apt(e)}function o8e(e,t){switch(t){case 7:return!!e.e&&e.e.i!=0;case 8:return!!e.d&&e.d.i!=0}return V8e(e,t)}function Fyn(e,t){switch(t.g){case 0:De(e.b,641)||(e.b=new p0t);break;case 1:De(e.b,642)||(e.b=new gst)}}function Z0t(e){switch(e.g){case 0:return new Kne;default:throw ue(new Wn(UG+(e.f!=null?e.f:""+e.g)))}}function e1t(e){switch(e.g){case 0:return new dl;default:throw ue(new Wn(UG+(e.f!=null?e.f:""+e.g)))}}function Ryn(e,t,n){return!Lk(ji(new vn(null,new kn(e.c,16)),new Vl(new $tt(t,n)))).Bd((Bm(),qx))}function t1t(e,t){return q8(RT(l(Q(t,(Vc(),_3)),88)),new lt(e.c.e.a-e.b.e.a,e.c.e.b-e.b.e.b))<=0}function jyn(e,t){for(;e.g==null&&!e.c?o6e(e):e.g==null||e.i!=0&&l(e.g[e.i-1],51).Ob();)Hln(t,IV(e))}function Zm(e){var t,n;for(n=new K(e.a.b);n.a<n.c.c.length;)t=l(re(n),86),t.f.$b();xun(e.b,e),Bbt(e)}function BN(e){var t,n,r;for(t=new pl,r=Fr(e,0);r.b!=r.d.c;)n=l(Pr(r),8),Fk(t,0,new xo(n));return t}function ET(e){var t;return xb(e),t=new on,e.a.Bd(t)?(Pk(),new ose(tr(t.a))):(Pk(),Pk(),N_e)}function c8e(e,t,n){switch(t){case 0:!e.o&&(e.o=new yl((au(),Ag),R2,e,0)),NU(e.o,n);return}ele(e,t,n)}function Pce(e,t,n){this.g=e,this.e=new za,this.f=new za,this.d=new os,this.b=new os,this.a=t,this.c=n}function Bce(e,t,n,r){this.b=new mt,this.n=new mt,this.i=r,this.j=n,this.s=e,this.t=t,this.r=0,this.d=0}function CT(e,t){if(!e.Li()&&t==null)throw ue(new Wn("The 'no null' constraint is violated"));return t}function g2(e){var t,n;for(t=0,n=0;n<e.length;n++)t=(t<<5)-t+(Yn(n,e.length),e.charCodeAt(n))|0;return t}function n1t(e,t){var n,r,s;for(s=e.b;s;){if(n=e.a.Ne(t,s.d),n==0)return s;r=n<0?0:1,s=s.a[r]}return null}function $yn(e,t,n){var r,s;r=(Hn(),!!Tye(n)),s=l(t.xc(r),15),s||(s=new mt,t.zc(r,s)),s.Fc(n)}function zyn(e,t){var n,r;return n=l(at(e,(z1(),KB)),17).a,r=l(at(t,KB),17).a,n==r||n<r?-1:n>r?1:0}function qyn(e){return wt(e.c,(fx(),USt)),f7e(e.a,ze(Ge(It((aue(),DW)))))?new rre:new uQe(e)}function Hyn(e){for(;!e.d||!e.d.Ob();)if(e.b&&!h_(e.b))e.d=l(Q8(e.b),51);else return null;return e.d}function u8e(e){switch(e.g){case 1:return zyt;default:case 2:return 0;case 3:return Hhe;case 4:return ACe}}function Uyn(){Ii();var e;return kpe||(e=lfn(Bb("M",!0)),e=gH(Bb("M",!1),e),kpe=e,kpe)}function zU(){zU=U,cpe=new Iq("ELK",0),APe=new Iq("JSON",1),_Pe=new Iq("DOT",2),LPe=new Iq("SVG",3)}function xA(){xA=U,$de=new zse("STACKED",0),jde=new zse("REVERSE_STACKED",1),RB=new zse("SEQUENCED",2)}function kA(){kA=U,mIe=new Kse(Id,0),Gde=new Kse("MIDDLE_TO_MIDDLE",1),zB=new Kse("AVOID_OVERLAP",2)}function ST(){ST=U,CLe=new UZ,SLe=new vI,Sxt=new _j,Cxt=new VZ,Ext=new r8,ELe=(tr(Ext),new ke)}function qU(){qU=U,fPe=new mw(15),S_t=new qa((bi(),B2),fPe),DM=r9,cPe=s_t,uPe=Mv,hPe=a7,lPe=A4}function Z5(e,t){var n,r,s,o,f;for(r=t,s=0,o=r.length;s<o;++s)n=r[s],f=new Aat(e),n.hf(f),mLn(f);Dl(e.f)}function Fce(e,t){var n;return t===e?!0:De(t,229)?(n=l(t,229),Fi(e.Zb(),n.Zb())):!1}function l8e(e,t){return Ibt(e,t)?(xn(e.b,l(Q(t,(ft(),wp)),21),t),ci(e.a,t),!0):!1}function Vyn(e){var t,n;t=l(Q(e,(ft(),Bl)),10),t&&(n=t.c,sl(n.a,t),n.a.c.length==0&&sl(Ja(t).b,n))}function Gyn(e,t){return rs(e,(ft(),Yi))&&rs(t,Yi)?l(Q(t,Yi),17).a-l(Q(e,Yi),17).a:0}function Kyn(e,t){return rs(e,(ft(),Yi))&&rs(t,Yi)?l(Q(e,Yi),17).a-l(Q(t,Yi),17).a:0}function r1t(e){return G1?We(o7t,S3t,581,0,0,1):l(j1(e.a,We(o7t,S3t,581,e.a.c.length,0,1)),856)}function Wyn(e,t,n,r){return LH(),new d3e(he(le(mv,1),rG,44,0,[(Sue(e,t),new hw(e,t)),(Sue(n,r),new hw(n,r))]))}function e6(e,t,n){var r,s;return s=(r=new nse,r),ec(s,t,n),zr((!e.q&&(e.q=new nt(Vf,e,11,10)),e.q),s),s}function Rce(e){var t,n,r,s;for(s=Lln(nAt,e),n=s.length,r=We($t,dt,2,n,6,1),t=0;t<n;++t)r[t]=s[t];return r}function h8e(e,t){var n;t*2+1>=e.b.c.length||(h8e(e,2*t+1),n=2*t+2,n<e.b.c.length&&h8e(e,n),h2t(e,t))}function Yyn(e,t){var n,r;for(r=Fr(e,0);r.b!=r.d.c;)n=l(Pr(r),219),n.e.length>0&&(t.Cd(n),n.i&&G4n(n))}function f8e(e,t,n){var r;for(r=n-1;r>=0&&e[r]===t[r];r--);return r<0?0:Sse(xa(e[r],Uo),xa(t[r],Uo))?-1:1}function i1t(e,t,n){var r,s;this.g=e,this.c=t,this.a=this,this.d=this,s=Rft(n),r=We(R6t,IP,227,s,0,1),this.b=r}function jce(e,t,n,r,s){var o,f;for(f=n;f<=s;f++)for(o=t;o<=r;o++)if(s6(e,o,f))return!0;return!1}function Xyn(e,t){var n,r;for(r=e.Zb().Cc().Kc();r.Ob();)if(n=l(r.Pb(),16),n.Hc(t))return!0;return!1}function s1t(e,t,n){var r,s,o,f;for(tr(n),f=!1,o=e.fd(t),s=n.Kc();s.Ob();)r=s.Pb(),o.Rb(r),f=!0;return f}function $ce(e,t){var n,r;return r=l(Gn(e.a,4),129),n=We(gpe,m0e,424,t,0,1),r!=null&&gu(r,0,n,0,r.length),n}function a1t(e,t){var n;return n=new gle((e.f&256)!=0,e.i,e.a,e.d,(e.f&16)!=0,e.j,e.g,t),e.e!=null||(n.c=e),n}function Qyn(e,t){var n;return e===t?!0:De(t,85)?(n=l(t,85),p9e(Rm(e),n.vc())):!1}function o1t(e,t,n){var r,s;for(s=n.Kc();s.Ob();)if(r=l(s.Pb(),44),e.Be(t,r.md()))return!0;return!1}function c1t(e,t,n){return e.d[t.p][n.p]||(e7n(e,t,n),e.d[t.p][n.p]=!0,e.d[n.p][t.p]=!0),e.a[t.p][n.p]}function Jyn(e,t){var n;return!e||e==t||!rs(t,(ft(),b3))?!1:(n=l(Q(t,(ft(),b3)),10),n!=e)}function zce(e){switch(e.i){case 2:return!0;case 1:return!1;case-1:++e.c;default:return e.$l()}}function u1t(e){switch(e.i){case-2:return!0;case-1:return!1;case 1:--e.c;default:return e._l()}}function l1t(e){Qot.call(this,"The given string does not match the expected format for individual spacings.",e)}function Zyn(e,t){var n;t.Ug("Min Size Preprocessing",1),n=E9e(e),Vi(e,(fg(),vM),n.a),Vi(e,JW,n.b),t.Vg()}function e4n(e){var t,n,r;for(t=0,r=We(Ca,dt,8,e.b,0,1),n=Fr(e,0);n.b!=n.d.c;)r[t++]=l(Pr(n),8);return r}function qce(e,t,n){var r,s,o;for(r=new os,o=Fr(n,0);o.b!=o.d.c;)s=l(Pr(o),8),ci(r,new xo(s));s1t(e,t,r)}function t4n(e,t){var n;return n=fo(e,t),Sse(Doe(e,t),0)|Pq(Doe(e,n),0)?n:fo(DP,Doe(vb(n,63),1))}function n4n(e,t){var n,r;return n=l(e.d.Bc(t),16),n?(r=e.e.hc(),r.Gc(n),e.e.d-=n.gc(),n.$b(),r):null}function h1t(e){var t;if(t=e.a.c.length,t>0)return Uk(t-1,e.a.c.length),l2(e.a,t-1);throw ue(new uJe)}function f1t(e,t,n){if(e>t)throw ue(new Wn(oG+e+_3t+t));if(e<0||t>n)throw ue(new w3e(oG+e+MTe+t+_Te+n))}function _T(e,t){e.D==null&&e.B!=null&&(e.D=e.B,e.B=null),gce(e,t==null?null:(tr(t),t)),e.C&&e.hl(null)}function r4n(e,t){var n;n=It((aue(),DW))!=null&&t.Sg()!=null?ze(Ge(t.Sg()))/ze(Ge(It(DW))):1,Ti(e.b,t,n)}function d8e(e,t){var n,r;if(r=e.c[t],r!=0)for(e.c[t]=0,e.d-=r,n=t+1;n<e.a.length;)e.a[n]-=r,n+=n&-n}function Py(e){var t;++e.j,e.i==0?e.g=null:e.i<e.g.length&&(t=e.g,e.g=e.aj(e.i),gu(t,0,e.g,0,e.i))}function i4n(e,t,n){if(t<0)throw ue(new rc(c4t+t));t<e.j.c.length?nf(e.j,t,n):(fut(e,t),wt(e.j,n))}function d1t(e){if(!e.a||!(e.a.i&8))throw ue(new ic("Enumeration class expected for layout option "+e.f))}function g8e(e){var t;return t=(!e.a&&(e.a=new nt(Tp,e,9,5)),e.a),t.i!=0?_ln(l(Oe(t,0),694)):null}function s4n(e){var t;for(Xr(e),N4e(!0,"numberToAdvance must be nonnegative"),t=0;t<0&&Rr(e);t++)yr(e);return t}function Hce(){Hce=U,hAe=(aq(),a1e),lAe=new mn(HTe,hAe),s8t=new Ki(UTe),a8t=new Ki(VTe),o8t=new Ki(GTe)}function TA(){TA=U,ige=new Sq(iEe,0),GW=new Sq(Uyt,1),rge=new Sq("FAN",2),nge=new Sq("CONSTRAINT",3)}function FN(){FN=U,WW=new Wse(Id,0),UIe=new Wse("RADIAL_COMPACTION",1),VIe=new Wse("WEDGE_COMPACTION",2)}function AT(){AT=U,zde=new qse("CONSERVATIVE",0),XDe=new qse("CONSERVATIVE_SOFT",1),oM=new qse("SLOPPY",2)}function Nl(){Nl=U,R_e=new _se("CONCURRENT",0),Cc=new _se("IDENTITY_FINISH",1),o4=new _se("UNORDERED",2)}function Uce(){Uce=U,v1e=qot(he(le(MM,1),it,88,0,[(ea(),hc),yc])),w1e=qot(he(le(MM,1),it,88,0,[vf,Q1]))}function dh(e){return Da(e)?$t:py(e)?ra:gy(e)?Ps:w5e(e)||f5e(e)?e.Rm:e.Rm||Array.isArray(e)&&le(j6t,1)||j6t}function a4n(e){return e?e.i&1?e==th?Ps:e==Ur?to:e==j4?LE:e==Oa?ra:e==hm?l3:e==d7?h3:e==_l?$x:BL:e:null}function t6(e){return(e.c!=e.b.b||e.i!=e.g.b)&&(uy(e.a.c,0),aa(e.a,e.b),aa(e.a,e.g),e.c=e.b.b,e.i=e.g.b),e.a}function o4n(e,t){var n,r;for(n=e.a.length-1;t!=e.b;)r=t-1&n,Ss(e.a,t,e.a[r]),t=r;Ss(e.a,e.b,null),e.b=e.b+1&n}function c4n(e,t){var n,r;for(n=e.a.length-1,e.c=e.c-1&n;t!=e.c;)r=t+1&n,Ss(e.a,t,e.a[r]),t=r;Ss(e.a,e.c,null)}function p8e(e,t,n){var r,s;return Sy(t,e.c.length),r=n.Pc(),s=r.length,s==0?!1:(W4e(e.c,t,r),!0)}function g1t(e,t,n){var r,s,o,f;for(s=n,o=0,f=s.length;o<f;++o)if(r=s[o],e.b.Be(t,r.ld()))return r;return null}function RN(e){var t,n,r,s,o;for(o=1,n=e,r=0,s=n.length;r<s;++r)t=n[r],o=31*o+(t!=null?ts(t):0),o=o|0;return o}function Kr(e){var t,n,r,s,o;for(t={},r=e,s=0,o=r.length;s<o;++s)n=r[s],t[":"+(n.f!=null?n.f:""+n.g)]=n;return t}function u4n(e){var t,n;if(e==null)return null;for(t=0,n=e.length;t<n;t++)if(!ost(e[t]))return e[t];return null}function Vce(e,t){return!e||t&&!e.j||De(e,127)&&l(e,127).a.b==0?0:e.jf()}function HU(e,t){return!e||t&&!e.k||De(e,127)&&l(e,127).a.a==0?0:e.kf()}function p1t(e,t){return rs(e,(ft(),Yi))&&rs(t,Yi)?iu(l(Q(e,Yi),17).a,l(Q(t,Yi),17).a):0}function b1t(e){var t,n,r;for(r=0,n=new lr(fr(e.a.Kc(),new j));Rr(n);)t=l(yr(n),18),t.c.i==t.d.i||++r;return r}function m1t(e,t){var n,r,s;for(s=t-e.f,r=new K(e.d);r.a<r.c.c.length;)n=l(re(r),315),fdt(n,n.e,n.f+s);e.f=t}function ev(e,t){var n,r,s;r=e.Yk(t,null),s=null,t&&(s=(Ak(),n=new iw,n),oT(s,e.r)),r=$1(e,s,r),r&&r.oj()}function v1t(e,t){var n,r,s;n=e,s=0;do{if(n==t)return s;if(r=n.e,!r)throw ue(new rO);n=Ja(r),++s}while(!0)}function l4n(e){var t,n,r,s;for(r=e.b.a,n=r.a.ec().Kc();n.Ob();)t=l(n.Pb(),567),s=new kbt(t,e.e,e.f),wt(e.g,s)}function h4n(e){var t;return t=new Yht(e),sN(e.a,oxt,new Ll(he(le(yB,1),jn,382,0,[t]))),t.d&&wt(t.f,t.d),t.f}function w1t(e,t){var n;for(n=0;n<t.length;n++)if(e==(Yn(n,t.length),t.charCodeAt(n)))return!0;return!1}function f4n(e,t){return t<e.length&&(Yn(t,e.length),e.charCodeAt(t)!=63)&&(Yn(t,e.length),e.charCodeAt(t)!=35)}function y1t(e,t,n,r){Znt(this),this.c=We(kg,S2,10,e.a.c.length,0,1),this.e=t,j1(e.a,this.c),this.f=n,this.b=r}function x1t(e){oZe(),Uq(this),OH(this),this.e=e,Ubt(this,e),this.g=e==null?cl:Tc(e),this.a="",this.b=e,this.a=""}function b8e(){this.a=new _I,this.f=new XXe(this),this.b=new QXe(this),this.i=new JXe(this),this.e=new ZXe(this)}function k1t(){wun.call(this,new X6e(Dy(16))),Mh(2,o3t),this.b=2,this.a=new U5e(null,null,0,null),nO(this.a,this.a)}function m8e(e){throw Ice(),ue(new sZe("Unexpected typeof result '"+e+"'; please report this bug to the GWT team"))}function Gce(e,t,n){return b.Math.abs(t-e)<FG||b.Math.abs(n-e)<FG?!0:t-e>FG?e-n>FG:n-e>FG}function T1t(e,t){var n;for(n=0;n<t.length;n++)if(e==(Yn(n,t.length),t.charCodeAt(n)))return!0;return!1}function d4n(e){var t,n;if(e==null)return!1;for(t=0,n=e.length;t<n;t++)if(!ost(e[t]))return!1;return!0}function v8e(e,t){var n,r,s;return r=!1,n=t.q.d,t.d<e.b&&(s=oke(t.q,e.b),t.q.d>s&&(Zgt(t.q,s),r=n!=t.q.d)),r}function E1t(e,t){var n,r,s,o,f,g,w,T;return w=t.i,T=t.j,r=e.f,s=r.i,o=r.j,f=w-s,g=T-o,n=b.Math.sqrt(f*f+g*g),n}function w8e(e,t){var n,r;return r=rV(e),r||(n=(Ble(),hbt(t)),r=new JQe(n),zr(r.El(),e)),r}function jN(e,t){var n,r;return n=l(e.c.Bc(t),16),n?(r=e.hc(),r.Gc(n),e.d-=n.gc(),n.$b(),e.mc(r)):e.jc()}function g4n(e,t){var n,r;for(r=Yl(e.d,1)!=0,n=!0;n;)n=!1,n=t.c.mg(t.e,r),n=n|bP(e,t,r,!1),r=!r;F7e(e)}function C1t(e,t,n,r){var s,o;e.a=t,o=r?0:1,e.f=(s=new Rpt(e.c,e.a,n,o),new bmt(n,e.a,s,e.e,e.b,e.c==(jw(),cM)))}function UU(e){var t;return br(e.a!=e.b),t=e.d.a[e.a],Zrt(e.b==e.d.c&&t!=null),e.c=e.a,e.a=e.a+1&e.d.a.length-1,t}function S1t(e){var t;if(e.c!=0)return e.c;for(t=0;t<e.a.length;t++)e.c=e.c*33+(e.a[t]&-1);return e.c=e.c*e.e,e.c}function p4n(e){var t;if(!(e.c.c<0?e.a>=e.c.b:e.a<=e.c.b))throw ue(new Dc);return t=e.a,e.a+=e.c.c,++e.b,bt(t)}function Kce(e){var t;return t=new Nye(e.a),mc(t,e),rt(t,(ft(),zi),e),t.o.a=e.g,t.o.b=e.f,t.n.a=e.i,t.n.b=e.j,t}function Wce(e){return(_t(),ll).Hc(e.j)?ze(Ge(Q(e,(ft(),HE)))):Bc(he(le(Ca,1),dt,8,0,[e.i.n,e.n,e.a])).b}function b4n(e){var t;return t=$q(eEt),l(Q(e,(ft(),_u)),21).Hc((Ho(),qE))&&hi(t,(so(),pu),(po(),VK)),t}function m4n(e){var t,n,r,s;for(s=new Ys,r=new K(e);r.a<r.c.c.length;)n=l(re(r),27),t=RSn(n),Ga(s,t);return s}function v4n(e){var t,n;for(n=new K(e.r);n.a<n.c.c.length;)if(t=l(re(n),10),e.n[t.p]<=0)return t;return null}function w4n(e,t,n){var r,s;for(s=t.a.a.ec().Kc();s.Ob();)if(r=l(s.Pb(),60),kot(e,r,n))return!0;return!1}function y4n(e,t,n,r){var s,o;for(o=e.Kc();o.Ob();)s=l(o.Pb(),72),s.n.a=t.a+(r.a-s.o.a)/2,s.n.b=t.b,t.b+=s.o.b+n}function x4n(e,t,n){var r;r=new R2t(e,t),xn(e.r,t.ag(),r),n&&!Y_(e.u)&&(r.c=new jot(e.d),Uu(t.Rf(),new Vie(r)))}function su(e,t){var n;return xc(e)&&xc(t)&&(n=e-t,!isNaN(n))?n:Nxe(xc(e)?Mf(e):e,xc(t)?Mf(t):t)}function y8e(e,t){var n,r,s;for(s=1,n=e,r=t>=0?t:-t;r>0;)r%2==0?(n*=n,r=r/2|0):(s*=n,r-=1);return t<0?1/s:s}function k4n(e,t){var n,r,s;for(s=1,n=e,r=t>=0?t:-t;r>0;)r%2==0?(n*=n,r=r/2|0):(s*=n,r-=1);return t<0?1/s:s}function Lb(e,t){var n,r,s,o;return o=(s=e?rV(e):null,o2t((r=t,s&&s.Gl(),r))),o==t&&(n=rV(e),n&&n.Gl()),o}function _1t(e,t,n){var r,s;return s=e.f,e.f=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,0,s,t),n?n.nj(r):n=r),n}function A1t(e,t,n){var r,s;return s=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,3,s,t),n?n.nj(r):n=r),n}function x8e(e,t,n){var r,s;return s=e.a,e.a=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,1,s,t),n?n.nj(r):n=r),n}function L1t(e){var t,n;if(e!=null)for(n=0;n<e.length;++n)t=e[n],t&&(l(t.g,379),t.i)}function T4n(e,t,n,r,s,o,f,g){var w;for(w=n;o<f;)w>=r||t<n&&g.Ne(e[t],e[w])<=0?Ss(s,o++,e[t++]):Ss(s,o++,e[w++])}function E4n(e,t,n,r,s){t==0||r==0||(t==1?s[r]=dxe(s,n,r,e[0]):r==1?s[t]=dxe(s,e,t,n[0]):GTn(e,n,s,t,r))}function C4n(e,t,n){var r,s,o,f;for(r=n/e.gc(),s=0,f=e.Kc();f.Ob();)o=l(f.Pb(),186),m1t(o,o.f+r*s),j8n(o,t,r),++s}function S4n(e){var t,n,r;for(r=0,n=new K(e.a);n.a<n.c.c.length;)t=l(re(n),172),r=b.Math.max(r,t.g);return r}function _4n(e){var t,n,r;for(r=new K(e.b);r.a<r.c.c.length;)n=l(re(r),219),t=n.c.kg()?n.f:n.a,t&&ZLn(t,n.j)}function EA(){EA=U,Lde=new Rse("DUMMY_NODE_OVER",0),NDe=new Rse("DUMMY_NODE_UNDER",1),OW=new Rse("EQUAL",2)}function gx(){gx=U,wPe=new rae("PARALLEL_NODE",0),I4=new rae("HIERARCHICAL_NODE",1),yY=new rae("ROOT_NODE",2)}function op(){op=U,gY=new nae("INHERIT",0),F2=new nae("INCLUDE_CHILDREN",1),IM=new nae("SEPARATE_CHILDREN",2)}function k8e(e,t){switch(t){case 1:!e.n&&(e.n=new nt(nc,e,1,7)),$r(e.n);return;case 2:gT(e,null);return}Q7e(e,t)}function M1t(e){switch(e.g){case 0:return new qne;case 1:return new p$;case 2:return new Hne;default:return null}}function p2(e){switch(wd(),e.c){case 0:return ooe(),c_e;case 1:return new N8(g2t(new B8(e)));default:return new nZe(e)}}function D1t(e){switch(wd(),e.gc()){case 0:return ooe(),c_e;case 1:return new N8(e.Kc().Pb());default:return new $3e(e)}}function VU(e){var t;switch(e.gc()){case 0:return P0e;case 1:return new $ae(Xr(e.Xb(0)));default:return t=e,new xoe(t)}}function bt(e){var t,n;return e>-129&&e<128?(dst(),t=e+128,n=w_e[t],!n&&(n=w_e[t]=new Er(e)),n):new Er(e)}function LT(e){var t,n;return e>-129&&e<128?(Mst(),t=e+128,n=T_e[t],!n&&(n=T_e[t]=new Kn(e)),n):new Kn(e)}function I1t(e,t){var n;e.a.c.length>0&&(n=l(Rt(e.a,e.a.c.length-1),579),l8e(n,t))||wt(e.a,new Xut(t))}function A4n(e){c0();var t,n;t=e.d.c-e.e.c,n=l(e.g,154),Uu(n.b,new VYe(t)),Uu(n.c,new GYe(t)),Za(n.i,new KYe(t))}function O1t(e){var t;return t=new lb,t.a+="VerticalSegment ",mu(t,e.e),t.a+=" ",li(t,zye(new dse,new K(e.k))),t.a}function Yce(e,t){var n,r,s;for(n=0,s=Fc(e,t).Kc();s.Ob();)r=l(s.Pb(),12),n+=Q(r,(ft(),Bl))!=null?1:0;return n}function n6(e,t,n){var r,s,o;for(r=0,o=Fr(e,0);o.b!=o.d.c&&(s=ze(Ge(Pr(o))),!(s>n));)s>=t&&++r;return r}function N1t(e,t){Xr(e);try{return e._b(t)}catch(n){if(n=ms(n),De(n,212)||De(n,169))return!1;throw ue(n)}}function T8e(e,t){Xr(e);try{return e.Hc(t)}catch(n){if(n=ms(n),De(n,212)||De(n,169))return!1;throw ue(n)}}function L4n(e,t){Xr(e);try{return e.Mc(t)}catch(n){if(n=ms(n),De(n,212)||De(n,169))return!1;throw ue(n)}}function By(e,t){Xr(e);try{return e.xc(t)}catch(n){if(n=ms(n),De(n,212)||De(n,169))return null;throw ue(n)}}function M4n(e,t){Xr(e);try{return e.Bc(t)}catch(n){if(n=ms(n),De(n,212)||De(n,169))return null;throw ue(n)}}function CA(e,t){switch(t.g){case 2:case 1:return Fc(e,t);case 3:case 4:return uf(Fc(e,t))}return Cn(),Cn(),Co}function SA(e){var t;return e.Db&64?d0(e):(t=new Af(d0(e)),t.a+=" (name: ",Jo(t,e.zb),t.a+=")",t.a)}function D4n(e){var t;return t=l(B1(e.c.c,""),233),t||(t=new rx(_k(Sk(new sy,""),"Other")),y2(e.c.c,"",t)),t}function E8e(e,t,n){var r,s;return s=e.sb,e.sb=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,4,s,t),n?n.nj(r):n=r),n}function C8e(e,t,n){var r,s;return s=e.r,e.r=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,8,s,e.r),n?n.nj(r):n=r),n}function I4n(e,t,n){var r,s;return r=new rp(e.e,4,13,(s=t.c,s||(En(),td)),null,x2(e,t),!1),n?n.nj(r):n=r,n}function O4n(e,t,n){var r,s;return r=new rp(e.e,3,13,null,(s=t.c,s||(En(),td)),x2(e,t),!1),n?n.nj(r):n=r,n}function b2(e,t){var n,r;return n=l(t,691),r=n.el(),!r&&n.fl(r=De(t,90)?new fnt(e,l(t,29)):new Pct(e,l(t,156))),r}function $N(e,t,n){var r;e._i(e.i+1),r=e.Zi(t,n),t!=e.i&&gu(e.g,t,e.g,t+1,e.i-t),Ss(e.g,t,r),++e.i,e.Mi(t,n),e.Ni()}function N4n(e,t){var n;return t.a&&(n=t.a.a.length,e.a?li(e.a,e.b):e.a=new Eh(e.d),qct(e.a,t.a,t.d.length,n)),e}function P4n(e,t){var n;e.c=t,e.a=$5n(t),e.a<54&&(e.f=(n=t.d>1?$ct(t.a[0],t.a[1]):$ct(t.a[0],0),Vm(t.e>0?n:f2(n))))}function zN(e,t){var n;return n=new on,e.a.Bd(n)?(Pk(),new ose(tr(xht(e,n.a,t)))):(xb(e),Pk(),Pk(),N_e)}function P1t(e,t){var n;e.c.length!=0&&(n=l(j1(e,We(kg,S2,10,e.c.length,0,1)),199),Sye(n,new K9),A2t(n,t))}function B1t(e,t){var n;e.c.length!=0&&(n=l(j1(e,We(kg,S2,10,e.c.length,0,1)),199),Sye(n,new Qd),A2t(n,t))}function Fi(e,t){return Da(e)?wn(e,t):py(e)?Mit(e,t):gy(e)?(tr(e),qe(e)===qe(t)):w5e(e)?e.Fb(t):f5e(e)?Ant(e,t):f6e(e,t)}function of(e,t,n){if(t<0)D9e(e,n);else{if(!n.rk())throw ue(new Wn(qb+n.xe()+TL));l(n,69).wk().Ek(e,e.hi(),t)}}function F1t(e,t,n){if(e<0||t>n)throw ue(new rc(oG+e+MTe+t+", size: "+n));if(e>t)throw ue(new Wn(oG+e+_3t+t))}function R1t(e){var t;return e.Db&64?d0(e):(t=new Af(d0(e)),t.a+=" (source: ",Jo(t,e.d),t.a+=")",t.a)}function j1t(e){return e>=65&&e<=70?e-65+10:e>=97&&e<=102?e-97+10:e>=48&&e<=57?e-48:0}function B4n(e){nG();var t,n,r,s;for(n=gue(),r=0,s=n.length;r<s;++r)if(t=n[r],bc(t.a,e,0)!=-1)return t;return r1e}function F4n(e,t){var n,r,s,o;if(t.ej(e.a),o=l(Gn(e.a,8),2035),o!=null)for(n=o,r=0,s=n.length;r<s;++r)null.Um()}function m2(e,t){var n;n=(e.Bb&256)!=0,t?e.Bb|=256:e.Bb&=-257,e.Db&4&&!(e.Db&1)&&Bi(e,new l0(e,1,2,n,t))}function S8e(e,t){var n;n=(e.Bb&256)!=0,t?e.Bb|=256:e.Bb&=-257,e.Db&4&&!(e.Db&1)&&Bi(e,new l0(e,1,8,n,t))}function GU(e,t){var n;n=(e.Bb&256)!=0,t?e.Bb|=256:e.Bb&=-257,e.Db&4&&!(e.Db&1)&&Bi(e,new l0(e,1,8,n,t))}function v2(e,t){var n;n=(e.Bb&512)!=0,t?e.Bb|=512:e.Bb&=-513,e.Db&4&&!(e.Db&1)&&Bi(e,new l0(e,1,3,n,t))}function _8e(e,t){var n;n=(e.Bb&512)!=0,t?e.Bb|=512:e.Bb&=-513,e.Db&4&&!(e.Db&1)&&Bi(e,new l0(e,1,9,n,t))}function R4n(e,t,n){var r,s;return s=e.a,e.a=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,5,s,e.a),n?Wxe(n,r):n=r),n}function _A(e,t){var n;return e.b==-1&&e.a&&(n=e.a.pk(),e.b=n?e.c.Hh(e.a.Lj(),n):vs(e.c.Dh(),e.a)),e.c.yh(e.b,t)}function $1t(e,t){var n,r;for(r=new ar(e);r.e!=r.i.gc();)if(n=l(dr(r),29),qe(t)===qe(n))return!0;return!1}function A8e(e){var t,n;return t=e.k,t==(Jn(),Ks)?(n=l(Q(e,(ft(),Xc)),64),n==(_t(),Xn)||n==Mr):!1}function z1t(e){var t;return t=v6e(e),pw(t.a,0)?(hy(),hy(),G0e):(hy(),new wae(Cse(t.a,0)?q6e(t)/Vm(t.a):0))}function qN(e,t){this.e=t,this.a=_0t(e),this.a<54?this.f=Vm(e):this.c=(Cd(),su(e,0)>=0?Db(e):Z_(Db(f2(e))))}function q1t(e,t,n,r,s,o){this.e=new mt,this.f=(qo(),aM),wt(this.e,e),this.d=t,this.a=n,this.b=r,this.f=s,this.c=o}function j4n(e,t,n){e.n=Fm(hm,[dt,yhe],[376,28],14,[n,da(b.Math.ceil(t/32))],2),e.o=t,e.p=n,e.j=t-1>>1,e.k=n-1>>1}function H1t(e){return e-=e>>1&1431655765,e=(e>>2&858993459)+(e&858993459),e=(e>>4)+e&252645135,e+=e>>8,e+=e>>16,e&63}function U1t(e,t){var n,r;for(r=new ar(e);r.e!=r.i.gc();)if(n=l(dr(r),142),qe(t)===qe(n))return!0;return!1}function $4n(e,t,n){var r,s,o;return o=(s=GT(e.b,t),s),o&&(r=l(QV(vN(e,o),""),29),r)?Z9e(e,r,t,n):null}function Xce(e,t,n){var r,s,o;return o=(s=GT(e.b,t),s),o&&(r=l(QV(vN(e,o),""),29),r)?eke(e,r,t,n):null}function z4n(e,t){var n;if(n=J5(e.i,t),n==null)throw ue(new dd("Node did not exist in input."));return U7e(t,n),null}function q4n(e,t){var n;if(n=pP(e,t),De(n,331))return l(n,35);throw ue(new Wn(qb+t+"' is not a valid attribute"))}function AA(e,t,n){var r;if(r=e.gc(),t>r)throw ue(new yy(t,r));if(e.Si()&&e.Hc(n))throw ue(new Wn(nB));e.Gi(t,n)}function H4n(e,t){t.Ug("Sort end labels",1),Os(ji(Pc(new vn(null,new kn(e.b,16)),new vj),new Z7),new yZ),t.Vg()}function ea(){ea=U,J1=new CO(uL,0),yc=new CO(Ix,1),hc=new CO(Dx,2),Q1=new CO(Ohe,3),vf=new CO("UP",4)}function HN(){HN=U,tY=new eae("P1_STRUCTURE",0),nY=new eae("P2_PROCESSING_ORDER",1),rY=new eae("P3_EXECUTION",2)}function V1t(){V1t=U,pCt=Ed(Ed(w_(Ed(Ed(w_(hi(new Js,(yx(),hM),(YA(),Vde)),fM),dIe),pIe),dM),uIe),bIe)}function U4n(e){switch(l(Q(e,(ft(),wv)),311).g){case 1:rt(e,wv,(ip(),Gx));break;case 2:rt(e,wv,(ip(),j6))}}function V4n(e){switch(e){case 0:return new IJe;case 1:return new MJe;case 2:return new DJe;default:throw ue(new rO)}}function G1t(e){switch(e.g){case 2:return yc;case 1:return hc;case 4:return Q1;case 3:return vf;default:return J1}}function L8e(e,t){switch(e.b.g){case 0:case 1:return t;case 2:case 3:return new Zh(t.d,0,t.a,t.b);default:return null}}function M8e(e){switch(e.g){case 1:return Zn;case 2:return Xn;case 3:return sr;case 4:return Mr;default:return jc}}function UN(e){switch(e.g){case 1:return Mr;case 2:return Zn;case 3:return Xn;case 4:return sr;default:return jc}}function KU(e){switch(e.g){case 1:return sr;case 2:return Mr;case 3:return Zn;case 4:return Xn;default:return jc}}function D8e(e,t,n,r){switch(t){case 1:return!e.n&&(e.n=new nt(nc,e,1,7)),e.n;case 2:return e.k}return Txe(e,t,n,r)}function LA(e,t,n){var r,s;return e.Pj()?(s=e.Qj(),r=rle(e,t,n),e.Jj(e.Ij(7,bt(n),r,t,s)),r):rle(e,t,n)}function Qce(e,t){var n,r,s;e.d==null?(++e.e,--e.f):(s=t.ld(),n=t.Bi(),r=(n&Ni)%e.d.length,Mvn(e,r,pbt(e,r,n,s)))}function MT(e,t){var n;n=(e.Bb&b0)!=0,t?e.Bb|=b0:e.Bb&=-1025,e.Db&4&&!(e.Db&1)&&Bi(e,new l0(e,1,10,n,t))}function DT(e,t){var n;n=(e.Bb&Zy)!=0,t?e.Bb|=Zy:e.Bb&=-4097,e.Db&4&&!(e.Db&1)&&Bi(e,new l0(e,1,12,n,t))}function IT(e,t){var n;n=(e.Bb&Cl)!=0,t?e.Bb|=Cl:e.Bb&=-8193,e.Db&4&&!(e.Db&1)&&Bi(e,new l0(e,1,15,n,t))}function OT(e,t){var n;n=(e.Bb&a4)!=0,t?e.Bb|=a4:e.Bb&=-2049,e.Db&4&&!(e.Db&1)&&Bi(e,new l0(e,1,11,n,t))}function G4n(e){var t;e.g&&(t=e.c.kg()?e.f:e.a,dke(t.a,e.o,!0),dke(t.a,e.o,!1),rt(e.o,(Nt(),Ds),(Pa(),Iv)))}function K4n(e){var t;if(!e.a)throw ue(new ic("Cannot offset an unassigned cut."));t=e.c-e.b,e.b+=t,mot(e,t),bot(e,t)}function W4n(e,t){var n;if(n=or(e.k,t),n==null)throw ue(new dd("Port did not exist in input."));return U7e(t,n),null}function Y4n(e){var t,n;for(n=fbt(Ah(e)).Kc();n.Ob();)if(t=Zr(n.Pb()),XA(e,t))return Xmn((Wet(),gAt),t);return null}function K1t(e){var t,n;for(n=e.p.a.ec().Kc();n.Ob();)if(t=l(n.Pb(),218),t.f&&e.b[t.c]<-1e-10)return t;return null}function X4n(e){var t,n;for(n=yb(new lb,91),t=!0;e.Ob();)t||(n.a+=To),t=!1,mu(n,e.Pb());return(n.a+="]",n).a}function Q4n(e){var t,n,r;for(t=new mt,r=new K(e.b);r.a<r.c.c.length;)n=l(re(r),602),aa(t,l(n.Cf(),16));return t}function Jce(e,t){var n,r;for(r=new K(t);r.a<r.c.c.length;)n=l(re(r),42),sl(e.b.b,n.b),e2n(l(n.a,194),l(n.b,86))}function J4n(e,t){var n;return n=Xi(e.b.c,t.b.c),n!=0||(n=Xi(e.a.a,t.a.a),n!=0)?n:Xi(e.a.b,t.a.b)}function Xi(e,t){return e<t?-1:e>t?1:e==t?e==0?Xi(1/e,1/t):0:isNaN(e)?isNaN(t)?0:1:-1}function Z4n(e){var t;return t=e.a[e.c-1&e.a.length-1],t==null?null:(e.c=e.c-1&e.a.length-1,Ss(e.a,e.c,null),t)}function e5n(e){var t,n,r;for(r=0,n=e.length,t=0;t<n;t++)e[t]==32||e[t]==13||e[t]==10||e[t]==9||(e[r++]=e[t]);return r}function t5n(e,t){var n,r,s,o,f;for(f=Wu(e.e.Dh(),t),o=0,n=l(e.g,124),s=0;s<e.i;++s)r=n[s],f.am(r.Lk())&&++o;return o}function n5n(e,t,n){var r,s;for(s=De(t,102)&&l(t,19).Bb&Lo?new sae(t,e):new wT(t,e),r=0;r<n;++r)hV(s);return s}function W1t(e,t,n){var r,s;if(e.c)o9e(e.c,t,n);else for(s=new K(e.b);s.a<s.c.c.length;)r=l(re(s),163),W1t(r,t,n)}function r5n(e,t,n){var r,s;return r=l(t.of(e.a),34),s=l(n.of(e.a),34),r!=null&&s!=null?SN(r,s):r!=null?-1:s!=null?1:0}function I8e(e,t){var n,r,s;for(tr(t),n=!1,r=new K(e);r.a<r.c.c.length;)s=re(r),t.Hc(s)&&(J_(r),n=!0);return n}function hn(e){var t,n,r,s;return n=(t=l(G0((r=e.Rm,s=r.f,s==Hr?r:s)),9),new Jh(t,l(o0(t,t.length),9),0)),f0(n,e),n}function WU(e){var t,n;return n=l(Q(e,(Nt(),Rh)),88),n==(ea(),J1)?(t=ze(Ge(Q(e,pW))),t>=1?yc:Q1):n}function i5n(e){switch(l(Q(e,(Nt(),yp)),223).g){case 1:return new Ree;case 3:return new Hee;default:return new Fee}}function Mb(e){if(e.c)Mb(e.c);else if(e.d)throw ue(new ic("Stream already terminated, can't be modified or used"))}function Hw(e,t,n){var r;return r=e.a.get(t),e.a.set(t,n===void 0?null:n),r===void 0?(++e.c,++e.b.g):++e.d,r}function s5n(e,t,n){var r,s;for(s=e.a.ec().Kc();s.Ob();)if(r=l(s.Pb(),10),DN(n,l(Rt(t,r.p),16)))return r;return null}function O8e(e,t,n){var r;return r=0,t&&(R5(e.a)?r+=t.f.a/2:r+=t.f.b/2),n&&(R5(e.a)?r+=n.f.a/2:r+=n.f.b/2),r}function a5n(e,t,n){var r;r=n,!r&&(r=e5e(new M8,0)),r.Ug(syt,2),Jdt(e.b,t,r.eh(1)),xMn(e,t,r.eh(1)),EIn(t,r.eh(1)),r.Vg()}function N8e(e,t,n){var r,s;return r=(fb(),s=new LS,s),yU(r,t),wU(r,n),e&&zr((!e.a&&(e.a=new Qs(qh,e,5)),e.a),r),r}function Zce(e){var t;return e.Db&64?d0(e):(t=new Af(d0(e)),t.a+=" (identifier: ",Jo(t,e.k),t.a+=")",t.a)}function eue(e,t){var n;n=(e.Bb&nu)!=0,t?e.Bb|=nu:e.Bb&=-32769,e.Db&4&&!(e.Db&1)&&Bi(e,new l0(e,1,18,n,t))}function P8e(e,t){var n;n=(e.Bb&nu)!=0,t?e.Bb|=nu:e.Bb&=-32769,e.Db&4&&!(e.Db&1)&&Bi(e,new l0(e,1,18,n,t))}function NT(e,t){var n;n=(e.Bb&_d)!=0,t?e.Bb|=_d:e.Bb&=-16385,e.Db&4&&!(e.Db&1)&&Bi(e,new l0(e,1,16,n,t))}function B8e(e,t){var n;n=(e.Bb&Lo)!=0,t?e.Bb|=Lo:e.Bb&=-65537,e.Db&4&&!(e.Db&1)&&Bi(e,new l0(e,1,20,n,t))}function F8e(e){var t;return t=We(xf,Ad,28,2,15,1),e-=Lo,t[0]=(e>>10)+BP&ta,t[1]=(e&1023)+56320&ta,If(t,0,t.length)}function o5n(e){var t;return t=qy(e),t>34028234663852886e22?gs:t<-34028234663852886e22?oa:t}function fo(e,t){var n;return xc(e)&&xc(t)&&(n=e+t,PP<n&&n<ov)?n:Sb(gyn(xc(e)?Mf(e):e,xc(t)?Mf(t):t))}function go(e,t){var n;return xc(e)&&xc(t)&&(n=e*t,PP<n&&n<ov)?n:Sb(uMn(xc(e)?Mf(e):e,xc(t)?Mf(t):t))}function Df(e,t){var n;return xc(e)&&xc(t)&&(n=e-t,PP<n&&n<ov)?n:Sb(A0t(xc(e)?Mf(e):e,xc(t)?Mf(t):t))}function Fc(e,t){var n;return e.i||M9e(e),n=l(Zo(e.g,t),42),n?new c2(e.j,l(n.a,17).a,l(n.b,17).a):(Cn(),Cn(),Co)}function c5n(e){return Uce(),Hn(),!!(Q1t(l(e.a,86).j,l(e.b,88))||l(e.a,86).d.e!=0&&Q1t(l(e.a,86).j,l(e.b,88)))}function u5n(e,t){return wn(t.b&&t.c?Um(t.b)+"->"+Um(t.c):"e_"+ts(t),e.b&&e.c?Um(e.b)+"->"+Um(e.c):"e_"+ts(e))}function l5n(e,t){return wn(t.b&&t.c?Um(t.b)+"->"+Um(t.c):"e_"+ts(t),e.b&&e.c?Um(e.b)+"->"+Um(e.c):"e_"+ts(e))}function Uw(e,t){return A1(),h0(Fb),b.Math.abs(e-t)<=Fb||e==t||isNaN(e)&&isNaN(t)?0:e<t?-1:e>t?1:bw(isNaN(e),isNaN(t))}function cp(){cp=U,rpe=new Aq(uL,0),aF=new Aq("POLYLINE",1),aC=new Aq("ORTHOGONAL",2),a9=new Aq("SPLINES",3)}function YU(){YU=U,dOe=new Jse("ASPECT_RATIO_DRIVEN",0),Tge=new Jse("MAX_SCALE_DRIVEN",1),fOe=new Jse("AREA_DRIVEN",2)}function h5n(e,t,n){var r;try{Nyn(e,t,n)}catch(s){throw s=ms(s),De(s,606)?(r=s,ue(new F6e(r))):ue(s)}return t}function f5n(e){var t,n,r;for(n=0,r=e.length;n<r;n++)if(e[n]==null)throw ue(new I8("at index "+n));return t=e,new Ll(t)}function up(e){var t,n,r;for(t=new mt,r=new K(e.j);r.a<r.c.c.length;)n=l(re(r),12),wt(t,n.b);return Xr(t),new B_(t)}function Ea(e){var t,n,r;for(t=new mt,r=new K(e.j);r.a<r.c.c.length;)n=l(re(r),12),wt(t,n.e);return Xr(t),new B_(t)}function qs(e){var t,n,r;for(t=new mt,r=new K(e.j);r.a<r.c.c.length;)n=l(re(r),12),wt(t,n.g);return Xr(t),new B_(t)}function d5n(e,t){var n,r,s;for(s=new Nr,r=t.vc().Kc();r.Ob();)n=l(r.Pb(),44),Ti(s,n.ld(),Q3n(e,l(n.md(),15)));return s}function g5n(e){var t,n;for(n=rEn(Ah(Cy(e))).Kc();n.Ob();)if(t=Zr(n.Pb()),XA(e,t))return Qmn((Get(),pAt),t);return null}function tue(e,t){var n,r,s;for(s=0,r=l(t.Kb(e),20).Kc();r.Ob();)n=l(r.Pb(),18),Ft(Pt(Q(n,(ft(),W1))))||++s;return s}function Y1t(e){var t,n,r,s;for(t=new Tit(e.Rd().gc()),s=0,r=ux(e.Rd().Kc());r.Ob();)n=r.Pb(),J2n(t,n,bt(s++));return Q9n(t.a)}function nue(e,t,n,r){var s,o;return tr(r),tr(n),s=e.xc(t),o=s==null?n:Pet(l(s,15),l(n,16)),o==null?e.Bc(t):e.zc(t,o),o}function p5n(e,t,n,r){var s,o,f;for(s=t+1;s<n;++s)for(o=s;o>t&&r.Ne(e[o-1],e[o])>0;--o)f=e[o],Ss(e,o,e[o-1]),Ss(e,o-1,f)}function an(e,t){var n,r,s,o,f;if(n=t.f,y2(e.c.d,n,t),t.g!=null)for(s=t.g,o=0,f=s.length;o<f;++o)r=s[o],y2(e.c.e,r,t)}function X1t(e,t){var n,r;for(n=Fr(e,0);n.b!=n.d.c;){if(r=iO(Ge(Pr(n))),r==t)return;if(r>t){Vct(n);break}}YO(n,t)}function b5n(e,t){var n,r,s;r=W5(t),s=ze(Ge(Ry(r,(Nt(),y0)))),n=b.Math.max(0,s/2-.5),RA(t,n,1),wt(e,new ltt(t,n))}function m5n(e,t,n){var r;n.Ug("Straight Line Edge Routing",1),n.dh(t,RCe),r=l(at(t,(V5(),Q6)),27),Ovt(e,r),n.dh(t,$G)}function R8e(e,t){e.n.c.length==0&&wt(e.n,new qH(e.s,e.t,e.i)),wt(e.b,t),vxe(l(Rt(e.n,e.n.c.length-1),209),t),pvt(e,t)}function MA(e){var t;this.a=(t=l(e.e&&e.e(),9),new Jh(t,l(o0(t,t.length),9),0)),this.b=We(ka,jn,1,this.a.a.length,5,1)}function Tc(e){var t;return Array.isArray(e)&&e.Tm===xe?Pm(dh(e))+"@"+(t=ts(e)>>>0,t.toString(16)):e.toString()}function v5n(e,t){return e.h==NP&&e.m==0&&e.l==0?(t&&(Hb=qu(0,0,0)),Mnt((aT(),d_e))):(t&&(Hb=qu(e.l,e.m,e.h)),qu(0,0,0))}function w5n(e,t){switch(t.g){case 2:return e.b;case 1:return e.c;case 4:return e.d;case 3:return e.a;default:return!1}}function Q1t(e,t){switch(t.g){case 2:return e.b;case 1:return e.c;case 4:return e.d;case 3:return e.a;default:return!1}}function j8e(e,t,n,r){switch(t){case 3:return e.f;case 4:return e.g;case 5:return e.i;case 6:return e.j}return D8e(e,t,n,r)}function XU(e,t){if(t==e.d)return e.e;if(t==e.e)return e.d;throw ue(new Wn("Node "+t+" not part of edge "+e))}function y5n(e,t){var n;if(n=pP(e.Dh(),t),De(n,102))return l(n,19);throw ue(new Wn(qb+t+"' is not a valid reference"))}function cf(e,t,n,r){if(t<0)ike(e,n,r);else{if(!n.rk())throw ue(new Wn(qb+n.xe()+TL));l(n,69).wk().Ck(e,e.hi(),t,r)}}function Wl(e){var t;if(e.b){if(Wl(e.b),e.b.d!=e.c)throw ue(new Yh)}else e.d.dc()&&(t=l(e.f.c.xc(e.e),16),t&&(e.d=t))}function x5n(e){vy();var t,n,r,s;for(t=e.o.b,r=l(l($i(e.r,(_t(),Mr)),21),87).Kc();r.Ob();)n=l(r.Pb(),117),s=n.e,s.b+=t}function k5n(e){var t,n,r;for(this.a=new bd,r=new K(e);r.a<r.c.c.length;)n=l(re(r),16),t=new Pst,k3n(t,n),sa(this.a,t)}function T5n(e,t){var n,r,s;for(r=E_n(e,t),s=r[r.length-1]/2,n=0;n<r.length;n++)if(r[n]>=s)return t.c+n;return t.c+t.b.gc()}function E5n(e,t){jk();var n,r,s,o;for(r=uht(e),s=t,iT(r,0,r.length,s),n=0;n<r.length;n++)o=h8n(e,r[n],n),n!=o&&LA(e,n,o)}function rue(e,t,n){var r,s;for(r=0,s=e.length;r<s;r++)if(Dce((Yn(r,e.length),e.charCodeAt(r)),t,n))return!0;return!1}function C5n(e,t){var n,r;for(r=e.e.a.ec().Kc();r.Ob();)if(n=l(r.Pb(),272),I9n(t,n.d)||zkn(t,n.d))return!0;return!1}function $8e(e,t,n,r,s){var o,f,g;for(f=s;t.b!=t.c;)o=l(Q8(t),10),g=l(Fc(o,r).Xb(0),12),e.d[g.p]=f++,qn(n.c,g);return f}function z8e(e,t){var n,r,s,o,f,g;for(r=0,n=0,o=t,f=0,g=o.length;f<g;++f)s=o[f],s>0&&(r+=s,++n);return n>1&&(r+=e.d*(n-1)),r}function S5n(e){var t,n,r,s,o;return o=r9e(e),n=oO(e.c),r=!n,r&&(s=new Yp,Z0(o,"knownLayouters",s),t=new jQe(s),Za(e.c,t)),o}function q8e(e){var t,n,r;for(r=new e2,r.a+="[",t=0,n=e.gc();t<n;)Jo(r,$_(e.Vi(t))),++t<n&&(r.a+=To);return r.a+="]",r.a}function _5n(e){return e.e==null?e:(!e.c&&(e.c=new gle((e.f&256)!=0,e.i,e.a,e.d,(e.f&16)!=0,e.j,e.g,null)),e.c)}function A5n(e){return e.k!=(Jn(),Bs)?!1:X5(new vn(null,new Cw(new lr(fr(qs(e).a.Kc(),new j)))),new Xj)}function uf(e){var t,n;return De(e,307)?(n=Cvn(l(e,307)),t=n,t):De(e,441)?l(e,441).a:De(e,59)?new rZe(e):new O3e(e)}function L5n(e){var t;return e==null?!0:(t=e.length,t>0&&(Yn(t-1,e.length),e.charCodeAt(t-1)==58)&&!rue(e,zM,qM))}function H8e(e,t){var n;return qe(e)===qe(t)?!0:De(t,92)?(n=l(t,92),e.e==n.e&&e.d==n.d&&Zmn(e,n.a)):!1}function px(e){switch(_t(),e.g){case 4:return Xn;case 1:return sr;case 3:return Mr;case 2:return Zn;default:return jc}}function M5n(e){var t,n;if(e.b)return e.b;for(n=G1?null:e.d;n;){if(t=G1?null:n.b,t)return t;n=G1?null:n.d}return Ok(),F_e}function U8e(e){var t,n,r;for(r=ze(Ge(e.a.of((bi(),hY)))),n=new K(e.a.Sf());n.a<n.c.c.length;)t=l(re(n),695),Iwt(e,t,r)}function D5n(e){var t,n,r,s;for(t=(e.j==null&&(e.j=(Jk(),s=$0e.me(e),Y8n(s))),e.j),n=0,r=t.length;n<r;++n);}function iue(e,t){var n,r;for(r=new K(t);r.a<r.c.c.length;)n=l(re(r),42),wt(e.b.b,l(n.b,86)),Ooe(l(n.a,194),l(n.b,86))}function I5n(e,t,n){var r,s;for(s=e.a.b,r=s.c.length;r<n;r++)kw(s,0,new vu(e.a));Ha(t,l(Rt(s,s.c.length-n),30)),e.b[t.p]=n}function O5n(e,t,n,r,s){Sh(),g0(i0(r0(n0(s0(new _f,0),s.d.e-e),t),s.d)),g0(i0(r0(n0(s0(new _f,0),n-s.a.e),s.a),r))}function J1t(e,t){var n;return e.d?Hu(e.b,t)?l(or(e.b,t),47):(n=t.dg(),Ti(e.b,t,n),n):t.dg()}function N5n(e){var t=e.e;function n(r){return!r||r.length==0?"":" "+r.join(`
`)}return t&&(t.stack||n(e[Zle]))}function V8e(e,t){switch(t){case 3:return e.f!=0;case 4:return e.g!=0;case 5:return e.i!=0;case 6:return e.j!=0}return V7e(e,t)}function Z1t(e){switch(e.g){case 0:return new Bne;case 1:return new Nu;default:throw ue(new Wn(Qhe+(e.f!=null?e.f:""+e.g)))}}function P5n(e){switch(e.g){case 0:return new _S;case 1:return new $c;default:throw ue(new Wn(Ffe+(e.f!=null?e.f:""+e.g)))}}function B5n(e){switch(e.g){case 1:return new Mne;case 2:return new jrt;default:throw ue(new Wn(Ffe+(e.f!=null?e.f:""+e.g)))}}function edt(e){switch(e.g){case 0:return new o3e;case 1:return new OJe;default:throw ue(new Wn(UG+(e.f!=null?e.f:""+e.g)))}}function sue(){n9e();var e,t,n;n=OOn+++Date.now(),e=da(b.Math.floor(n*RP))&aG,t=da(n-e*STe),this.a=e^1502,this.b=t^Che}function lf(){lf=U,DB=new vO(Id,0),XL=new vO("FIRST",1),Yb=new vO(xyt,2),QL=new vO("LAST",3),b4=new vO(kyt,4)}function QU(){QU=U,ope=new Dq(SCe,0),TPe=new Dq("GROUP_DEC",1),CPe=new Dq("GROUP_MIXED",2),EPe=new Dq("GROUP_INC",3)}function F5n(e,t){var n,r,s,o;t&&(s=ap(t,"x"),n=new MQe(e),uT(n.a,(tr(s),s)),o=ap(t,"y"),r=new IQe(e),hT(r.a,(tr(o),o)))}function R5n(e,t){var n,r,s,o;t&&(s=ap(t,"x"),n=new NQe(e),cT(n.a,(tr(s),s)),o=ap(t,"y"),r=new PQe(e),lT(r.a,(tr(o),o)))}function j5n(e,t){var n,r,s,o;for(s=new Pu(t.gc()),r=t.Kc();r.Ob();)n=r.Pb(),o=kle(e,l(n,58)),o&&qn(s.c,o);return s}function Fy(e,t,n){var r,s;for(s=e.Kc();s.Ob();)if(r=s.Pb(),qe(t)===qe(r)||t!=null&&Fi(t,r))return n&&s.Qb(),!0;return!1}function tdt(e){var t,n,r;return n=e.jh(),n?(t=e.Eh(),De(t,167)&&(r=tdt(l(t,167)),r!=null)?r+"."+n:n):null}function $5n(e){var t,n,r;return e.e==0?0:(t=e.d<<5,n=e.a[e.d-1],e.e<0&&(r=a0t(e),r==e.d-1&&(--n,n=n|0)),t-=hP(n),t)}function z5n(e){var t,n,r;return e<mK.length?mK[e]:(n=e>>5,t=e&31,r=We(Ur,fi,28,n+1,15,1),r[n]=1<<t,new $m(1,n+1,r))}function ndt(e,t){var n,r;if(t){for(n=0;n<e.i;++n)if(r=l(e.g[n],378),r.mj(t))return!1;return zr(e,t)}else return!1}function G8e(e,t,n){var r,s;if(++e.j,n.dc())return!1;for(s=n.Kc();s.Ob();)r=s.Pb(),e.qj(t,e.Zi(t,r)),++t;return!0}function q5n(e,t,n,r){var s,o;if(o=n-t,o<3)for(;o<3;)e*=10,++o;else{for(s=1;o>3;)s*=10,--o;e=(e+(s>>1))/s|0}return r.i=e,!0}function vs(e,t){var n,r,s;if(n=(e.i==null&&Sd(e),e.i),r=t.Lj(),r!=-1){for(s=n.length;r<s;++r)if(n[r]==t)return r}return-1}function H5n(e){var t,n,r,s,o;for(n=l(e.g,689),r=e.i-1;r>=0;--r)for(t=n[r],s=0;s<r;++s)if(o=n[s],cvt(e,t,o)){wx(e,r);break}}function K8e(e){var t,n,r,s;for(t=new Yp,s=new vo(e.b.Kc());s.b.Ob();)r=l(s.b.Pb(),701),n=skn(r),Vgn(t,t.a.length,n);return t.a}function W8e(e){var t;return!e.c&&(e.c=new Kh),Gs(e.d,new Hp),qSn(e),t=OSn(e),Os(new vn(null,new kn(e.d,16)),new Gie(e)),t}function U5n(e,t){t.Ug("End label post-processing",1),Os(ji(Pc(new vn(null,new kn(e.b,16)),new gZ),new pZ),new bZ),t.Vg()}function Y8e(e){aue(),this.c=O1(he(le(JOn,1),jn,845,0,[STt])),this.b=new Nr,this.a=e,Ti(this.b,DW,1),Uu(_Tt,new cQe(this))}function rdt(e,t,n){vft(),AJe.call(this),this.a=Fm(k7t,[dt,FTe],[603,217],0,[xK,n1e],2),this.c=new z8,this.g=e,this.f=t,this.d=n}function X8e(e,t){this.n=Fm(hm,[dt,yhe],[376,28],14,[t,da(b.Math.ceil(e/32))],2),this.o=e,this.p=t,this.j=e-1>>1,this.k=t-1>>1}function V5n(e){aU(),l(e.of((bi(),em)),181).Hc((Xl(),vY))&&(l(e.of(L4),181).Fc((Pl(),o9)),l(e.of(em),181).Mc(vY))}function idt(e){var t,n;t=e.d==(xx(),NE),n=Kxe(e),t&&!n||!t&&n?rt(e.a,(Nt(),Rd),(lg(),JB)):rt(e.a,(Nt(),Rd),(lg(),QB))}function aue(){aue=U,cq(),DW=(Nt(),E3),_Tt=O1(he(le(jge,1),CCe,149,0,[NB,y0,V6,T3,T4,kde,WE,YE,Tde,nM,U6,Sv,G6]))}function G5n(e,t){var n;return n=l(kc(e,Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)]))),15),n.Qc(Cst(n.gc()))}function sdt(e,t){var n,r;if(r=new wa(e.a.ad(t,!0)),r.a.gc()<=1)throw ue(new _8);return n=r.a.ec().Kc(),n.Pb(),l(n.Pb(),40)}function K5n(e,t,n){var r,s;return r=ze(e.p[t.i.p])+ze(e.d[t.i.p])+t.n.b+t.a.b,s=ze(e.p[n.i.p])+ze(e.d[n.i.p])+n.n.b+n.a.b,s-r}function Q8e(e,t){var n;return e.i>0&&(t.length<e.i&&(n=EN(dh(t).c,e.i),t=n),gu(e.g,0,t,0,e.i)),t.length>e.i&&Ss(t,e.i,null),t}function JU(e){var t;return e.Db&64?SA(e):(t=new Af(SA(e)),t.a+=" (instanceClassName: ",Jo(t,e.D),t.a+=")",t.a)}function ZU(e){var t,n,r,s;for(s=0,n=0,r=e.length;n<r;n++)t=(Yn(n,e.length),e.charCodeAt(n)),t<64&&(s=X0(s,u0(1,t)));return s}function W5n(e,t,n){var r,s;for(r=xa(n,Uo),s=0;su(r,0)!=0&&s<t;s++)r=fo(r,xa(e[s],Uo)),e[s]=Yr(r),r=Tw(r,32);return Yr(r)}function VN(e,t){var n,r,s,o;for(o=Wu(e.e.Dh(),t),n=l(e.g,124),s=0;s<e.i;++s)if(r=n[s],o.am(r.Lk()))return!1;return!0}function oue(e,t){var n,r,s;return e.f>0?(e._j(),r=t==null?0:ts(t),s=(r&Ni)%e.d.length,n=pbt(e,s,r,t),n!=-1):!1}function adt(e,t){var n,r;e.a=fo(e.a,1),e.c=b.Math.min(e.c,t),e.b=b.Math.max(e.b,t),e.d+=t,n=t-e.f,r=e.e+n,e.f=r-e.e-n,e.e=r}function J8e(e,t){switch(t){case 3:Fw(e,0);return;case 4:Rw(e,0);return;case 5:Vu(e,0);return;case 6:Gu(e,0);return}k8e(e,t)}function Vw(e,t){switch(t.g){case 1:return K8(e.j,(xl(),jAe));case 2:return K8(e.j,(xl(),zAe));default:return Cn(),Cn(),Co}}function Z8e(e){Sw();var t;switch(t=e.Pc(),t.length){case 0:return P0e;case 1:return new $ae(Xr(t[0]));default:return new xoe(f5n(t))}}function odt(e,t){e.Xj();try{e.d.bd(e.e++,t),e.f=e.d.j,e.g=-1}catch(n){throw n=ms(n),De(n,77)?ue(new Yh):ue(n)}}function cue(){cue=U,vpe=new PS,WPe=new q0,YPe=new BI,XPe=new FI,QPe=new d8,JPe=new pre,ZPe=new bre,eBe=new mre,tBe=new vre}function eV(e,t){kye();var n,r;return n=RO((Wz(),Wz(),PL)),r=null,t==n&&(r=l(wu(h_e,e),624)),r||(r=new Sat(e),t==n&&sc(h_e,e,r)),r}function cdt(e){jy();var t;return(e.q?e.q:(Cn(),Cn(),yg))._b((Nt(),x3))?t=l(Q(e,x3),203):t=l(Q(Ja(e),tM),203),t}function Ry(e,t){var n,r;return r=null,rs(e,(Nt(),LW))&&(n=l(Q(e,LW),96),n.pf(t)&&(r=n.of(t))),r==null&&(r=Q(Ja(e),t)),r}function udt(e,t){var n,r,s;return De(t,44)?(n=l(t,44),r=n.ld(),s=By(e.Rc(),r),yd(s,n.md())&&(s!=null||e.Rc()._b(r))):!1}function t1(e,t){var n,r,s;return e.f>0&&(e._j(),r=t==null?0:ts(t),s=(r&Ni)%e.d.length,n=R9e(e,s,r,t),n)?n.md():null}function Fu(e,t,n){var r,s,o;return e.Pj()?(r=e.i,o=e.Qj(),$N(e,r,t),s=e.Ij(3,null,t,r,o),n?n.nj(s):n=s):$N(e,e.i,t),n}function Y5n(e,t,n){var r,s;return r=new rp(e.e,4,10,(s=t.c,De(s,90)?l(s,29):(En(),Kf)),null,x2(e,t),!1),n?n.nj(r):n=r,n}function X5n(e,t,n){var r,s;return r=new rp(e.e,3,10,null,(s=t.c,De(s,90)?l(s,29):(En(),Kf)),x2(e,t),!1),n?n.nj(r):n=r,n}function ldt(e){vy();var t;return t=new xo(l(e.e.of((bi(),a7)),8)),e.B.Hc((Xl(),cC))&&(t.a<=0&&(t.a=20),t.b<=0&&(t.b=20)),t}function Db(e){Cd();var t,n;return n=Yr(e),t=Yr(vb(e,32)),t!=0?new vct(n,t):n>10||n<0?new tp(1,n):X6t[n]}function GN(e,t){var n;return xc(e)&&xc(t)&&(n=e%t,PP<n&&n<ov)?n:Sb((Jke(xc(e)?Mf(e):e,xc(t)?Mf(t):t,!0),Hb))}function DA(e,t){var n;FDn(t),n=l(Q(e,(Nt(),kW)),283),n&&rt(e,kW,Z7n(n)),i2(e.c),i2(e.f),G6e(e.d),G6e(l(Q(e,SW),214))}function Q5n(e){var t,n,r,s;for(r=Lkn(e),Gs(r,pxt),s=e.d,s.c.length=0,n=new K(r);n.a<n.c.c.length;)t=l(re(n),466),aa(s,t.b)}function uue(e){var t;e.c!=0&&(t=l(Rt(e.a,e.b),294),t.b==1?(++e.b,e.b<e.a.c.length&&kr(l(Rt(e.a,e.b),294))):--t.b,--e.c)}function J5n(e){var t;t=e.a;do t=l(yr(new lr(fr(qs(t).a.Kc(),new j))),18).d.i,t.k==(Jn(),Aa)&&wt(e.e,t);while(t.k==(Jn(),Aa))}function hdt(e){this.e=We(Ur,fi,28,e.length,15,1),this.c=We(th,vg,28,e.length,16,1),this.b=We(th,vg,28,e.length,16,1),this.f=0}function Z5n(e){var t,n;for(e.j=We(Oa,tc,28,e.p.c.length,15,1),n=new K(e.p);n.a<n.c.c.length;)t=l(re(n),10),e.j[t.p]=t.o.b/e.i}function e6n(e,t){var n,r,s,o;for(o=t.b.b,e.a=new os,e.b=We(Ur,fi,28,o,15,1),n=0,s=Fr(t.b,0);s.b!=s.d.c;)r=l(Pr(s),40),r.g=n++}function fdt(e,t,n){var r,s,o,f;for(o=t-e.e,f=n-e.f,s=new K(e.a);s.a<s.c.c.length;)r=l(re(s),172),XN(r,r.s+o,r.t+f);e.e=t,e.f=n}function KN(e,t){var n,r;for(r=t.length,n=0;n<r;n+=2)xu(e,(Yn(n,t.length),t.charCodeAt(n)),(Yn(n+1,t.length),t.charCodeAt(n+1)))}function t6n(e,t){t.Ug("Min Size Postprocessing",1),Vi(e,(fg(),_4),b.Math.max(ze(Ge(at(e,_4))),ze(Ge(at(e,vM))))),t.Vg()}function exe(){exe=U,mPe=new mw(15),B_t=new qa((bi(),B2),mPe),R_t=new qa(Dv,15),F_t=new qa(tpe,bt(0)),P_t=new qa(t7,fE)}function gh(){gh=U,fF=new Mq("PORTS",0),Ov=new Mq("PORT_LABELS",1),hF=new Mq("NODE_LABELS",2),D4=new Mq("MINIMUM_SIZE",3)}function tV(){tV=U,GB=new Xse("P1_WIDTH_APPROXIMATION",0),QW=new Xse("P2_PACKING",1),mge=new Xse("P3_WHITESPACE_ELIMINATION",2)}function ddt(e){if(e.b==null){for(;e.a.Ob();)if(e.b=e.a.Pb(),!l(e.b,54).Jh())return!0;return e.b=null,!1}else return!0}function PT(e,t,n){var r,s,o;for(s=null,o=e.b;o;){if(r=e.a.Ne(t,o.d),n&&r==0)return o;r>=0?o=o.a[1]:(s=o,o=o.a[0])}return s}function WN(e,t,n){var r,s,o;for(s=null,o=e.b;o;){if(r=e.a.Ne(t,o.d),n&&r==0)return o;r<=0?o=o.a[0]:(s=o,o=o.a[1])}return s}function n6n(e,t,n,r){var s,o,f;return s=!1,sDn(e.f,n,r)&&(E6n(e.f,e.a[t][n],e.a[t][r]),o=e.a[t],f=o[r],o[r]=o[n],o[n]=f,s=!0),s}function gdt(e,t,n){var r,s,o,f;for(s=l(or(e.b,n),183),r=0,f=new K(t.j);f.a<f.c.c.length;)o=l(re(f),113),s[o.d.p]&&++r;return r}function txe(e,t,n){var r,s;r=l(wu(hC,t),122),s=l(wu(WM,t),122),n?(sc(hC,e,r),sc(WM,e,s)):(sc(WM,e,r),sc(hC,e,s))}function pdt(e,t){var n,r,s,o;return n=t>>5,t&=31,s=e.d+n+(t==0?0:1),r=We(Ur,fi,28,s,15,1),e9n(r,e.a,n,t),o=new $m(e.e,s,r),sA(o),o}function r6n(e,t){var n,r,s;for(r=new lr(fr(qs(e).a.Kc(),new j));Rr(r);)if(n=l(yr(r),18),s=n.d.i,s.c==t)return!1;return!0}function nxe(e,t,n){var r,s,o,f,g;return f=e.k,g=t.k,r=n[f.g][g.g],s=Ge(Ry(e,r)),o=Ge(Ry(t,r)),b.Math.max((tr(s),s),(tr(o),o))}function i6n(){return Error.stackTraceLimit>0?(b.Error.stackTraceLimit=Error.stackTraceLimit=64,!0):"stack"in new Error}function s6n(e,t){return A1(),A1(),h0(Fb),(b.Math.abs(e-t)<=Fb||e==t||isNaN(e)&&isNaN(t)?0:e<t?-1:e>t?1:bw(isNaN(e),isNaN(t)))>0}function rxe(e,t){return A1(),A1(),h0(Fb),(b.Math.abs(e-t)<=Fb||e==t||isNaN(e)&&isNaN(t)?0:e<t?-1:e>t?1:bw(isNaN(e),isNaN(t)))<0}function bdt(e,t){return A1(),A1(),h0(Fb),(b.Math.abs(e-t)<=Fb||e==t||isNaN(e)&&isNaN(t)?0:e<t?-1:e>t?1:bw(isNaN(e),isNaN(t)))<=0}function lue(e,t){for(var n=0;!t[n]||t[n]=="";)n++;for(var r=t[n++];n<t.length;n++)!t[n]||t[n]==""||(r+=e+t[n]);return r}function mdt(e){var t,n;return t=l(Gn(e.a,4),129),t!=null?(n=We(gpe,m0e,424,t.length,0,1),gu(t,0,n,0,t.length),n):aAt}function vdt(e){var t,n,r,s,o;if(e==null)return null;for(o=new mt,n=Rce(e),r=0,s=n.length;r<s;++r)t=n[r],wt(o,ku(t,!0));return o}function wdt(e){var t,n,r,s,o;if(e==null)return null;for(o=new mt,n=Rce(e),r=0,s=n.length;r<s;++r)t=n[r],wt(o,ku(t,!0));return o}function ydt(e){var t,n,r,s,o;if(e==null)return null;for(o=new mt,n=Rce(e),r=0,s=n.length;r<s;++r)t=n[r],wt(o,ku(t,!0));return o}function xdt(e,t){var n,r,s;if(e.c)Fw(e.c,t);else for(n=t-hh(e),s=new K(e.a);s.a<s.c.c.length;)r=l(re(s),163),xdt(r,hh(r)+n)}function kdt(e,t){var n,r,s;if(e.c)Rw(e.c,t);else for(n=t-vl(e),s=new K(e.d);s.a<s.c.c.length;)r=l(re(s),163),kdt(r,vl(r)+n)}function If(e,t,n){var r,s,o,f;for(o=t+n,Va(t,o,e.length),f="",s=t;s<o;)r=b.Math.min(s+1e4,o),f+=xpn(e.slice(s,r)),s=r;return f}function ixe(e){switch(e.g){case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:return!0;default:return!1}}function w2(){w2=U,q1e=new mO(oEe,0),NLe=new mO(Eyt,1),H1e=new mO(efe,2),RE=new mO(iEe,3),FE=new mO("GREEDY_MODEL_ORDER",4)}function Td(){Td=U,I2=new Eq(Id,0),HDe=new Eq("NODES_AND_EDGES",1),Nde=new Eq("PREFER_EDGES",2),Pde=new Eq("PREFER_NODES",3)}function sxe(e,t,n,r,s,o){this.a=e,this.c=t,this.b=n,this.f=r,this.d=s,this.e=o,this.c>0&&this.b>0&&(this.g=dH(this.c,this.b,this.a))}function a6n(e,t){var n=e.a,r;t=String(t),n.hasOwnProperty(t)&&(r=n[t]);var s=(Ice(),z0e)[typeof r],o=s?s(r):m8e(typeof r);return o}function BT(e){var t,n,r;if(r=null,t=Pd in e.a,n=!t,n)throw ue(new dd("Every element must have an id."));return r=kx(Jg(e,Pd)),r}function Gw(e){var t,n;for(n=qpt(e),t=null;e.c==2;)Mi(e),t||(t=(Ii(),Ii(),new F_(2)),sv(t,n),n=t),n.Jm(qpt(e));return n}function nV(e,t){var n,r,s;return e._j(),r=t==null?0:ts(t),s=(r&Ni)%e.d.length,n=R9e(e,s,r,t),n?(Eft(e,n),n.md()):null}function Tdt(e,t){return e.e>t.e?1:e.e<t.e?-1:e.d>t.d?e.e:e.d<t.d?-t.e:e.e*f8e(e.a,t.a,e.d)}function Edt(e){return e>=48&&e<48+b.Math.min(10,10)?e-48:e>=97&&e<97?e-97+10:e>=65&&e<65?e-65+10:-1}function o6n(e,t){if(t.c==e)return t.d;if(t.d==e)return t.c;throw ue(new Wn("Input edge is not connected to the input port."))}function c6n(e){if(iV(xE,e))return Hn(),AE;if(iV(Qfe,e))return Hn(),Ub;throw ue(new Wn("Expecting true or false"))}function axe(e){switch(typeof e){case Gle:return g2(e);case pTe:return $8(e);case Sx:return iit(e);default:return e==null?0:ww(e)}}function Ed(e,t){if(e.a<0)throw ue(new ic("Did not call before(...) or after(...) before calling add(...)."));return e4e(e,e.a,t),e}function oxe(e){return HH(),De(e,162)?l(or(vF,t7t),295).Rg(e):Hu(vF,dh(e))?l(or(vF,dh(e)),295).Rg(e):null}function Ku(e){var t,n;return e.Db&32||(n=(t=l(Gn(e,16),29),wr(t||e.ii())-wr(e.ii())),n!=0&&bx(e,32,We(ka,jn,1,n,5,1))),e}function bx(e,t,n){var r;e.Db&t?n==null?VTn(e,t):(r=Due(e,t),r==-1?e.Eb=n:Ss(Km(e.Eb),r,n)):n!=null&&gSn(e,t,n)}function u6n(e,t,n,r){var s,o;t.c.length!=0&&(s=iCn(n,r),o=sTn(t),Os(mU(new vn(null,new kn(o,1)),new o8),new tot(e,n,s,r)))}function l6n(e,t){var n,r,s,o;return r=e.a.length-1,n=t-e.b&r,o=e.c-t&r,s=e.c-e.b&r,Zrt(n<s),n>=o?(c4n(e,t),-1):(o4n(e,t),1)}function rV(e){var t,n,r;if(r=e.Jh(),!r)for(t=0,n=e.Ph();n;n=n.Ph()){if(++t>xhe)return n.Qh();if(r=n.Jh(),r||n==e)break}return r}function Cdt(e,t){var n;return qe(t)===qe(e)?!0:!De(t,21)||(n=l(t,21),n.gc()!=e.gc())?!1:e.Ic(n)}function h6n(e,t){return e.e<t.e?-1:e.e>t.e?1:e.f<t.f?-1:e.f>t.f?1:ts(e)-ts(t)}function iV(e,t){return tr(e),t==null?!1:wn(e,t)?!0:e.length==t.length&&wn(e.toLowerCase(),t.toLowerCase())}function lp(e){var t,n;return su(e,-129)>0&&su(e,128)<0?(Lst(),t=Yr(e)+128,n=y_e[t],!n&&(n=y_e[t]=new Ir(e)),n):new Ir(e)}function tv(){tv=U,h4=new yq(Id,0),NAe=new yq("INSIDE_PORT_SIDE_GROUPS",1),x1e=new yq("GROUP_MODEL_ORDER",2),k1e=new yq(iEe,3)}function f6n(e){var t;return e.b||sln(e,(t=i0n(e.e,e.a),!t||!wn(Qfe,t1((!t.b&&(t.b=new lh((En(),Do),Qc,t)),t.b),"qualified")))),e.c}function d6n(e,t){var n,r;for(n=(Yn(t,e.length),e.charCodeAt(t)),r=t+1;r<e.length&&(Yn(r,e.length),e.charCodeAt(r)==n);)++r;return r-t}function g6n(e,t){(!t&&console.groupCollapsed!=null?console.groupCollapsed:console.group??console.log).call(console,e)}function p6n(e,t,n,r){r==e,l(n.b,68),l(n.b,68),l(r.b,68),l(r.b,68).c.b,Y6e(r,t,e)}function b6n(e){var t,n;for(t=new K(e.g);t.a<t.c.c.length;)l(re(t),568);n=new $bt(e.g,ze(e.a),e.c),UDn(n),e.g=n.b,e.d=n.a}function Sdt(e,t,n){var r,s,o;for(o=new K(n.a);o.a<o.c.c.length;)s=l(re(o),225),r=new zq(l(or(e.a,s.b),68)),wt(t.a,r),Sdt(e,r,s)}function m6n(e,t,n){var r,s,o;return r=l(Oe(Kl(e.a),t),89),o=(s=r.c,s||(En(),td)),(o.Vh()?Lb(e.b,l(o,54)):o)==n?GV(r):oT(r,n),o}function cxe(e,t,n){t.b=b.Math.max(t.b,-n.a),t.c=b.Math.max(t.c,n.a-e.a),t.d=b.Math.max(t.d,-n.b),t.a=b.Math.max(t.a,n.b-e.b)}function uxe(e,t,n){this.c=e,this.f=new mt,this.e=new za,this.j=new l5e,this.n=new l5e,this.b=t,this.g=new Zh(t.c,t.d,t.b,t.a),this.a=n}function hue(e){var t,n,r,s;for(this.a=new bd,this.d=new Ys,this.e=0,n=e,r=0,s=n.length;r<s;++r)t=n[r],!this.f&&(this.f=t),Ooe(this,t)}function _dt(e){Cd(),e.length==0?(this.e=0,this.d=1,this.a=he(le(Ur,1),fi,28,15,[0])):(this.e=1,this.d=e.length,this.a=e,sA(this))}function IA(e,t,n){AJe.call(this),this.a=We(k7t,FTe,217,(e1(),he(le(c4,1),it,237,0,[Wc,ju,Yc])).length,0,1),this.b=e,this.d=t,this.c=n}function v6n(e){var t,n,r,s,o,f;for(f=l(Q(e,(ft(),zi)),12),rt(f,HE,e.i.n.b),t=kd(e.e),r=t,s=0,o=r.length;s<o;++s)n=r[s],Na(n,f)}function w6n(e){var t,n,r,s,o,f;for(n=l(Q(e,(ft(),zi)),12),rt(n,HE,e.i.n.b),t=kd(e.g),s=t,o=0,f=s.length;o<f;++o)r=s[o],ho(r,n)}function y6n(e,t){Soe();var n,r;for(r=new lr(fr(up(e).a.Kc(),new j));Rr(r);)if(n=l(yr(r),18),n.d.i==t||n.c.i==t)return n;return null}function Adt(e,t){var n,r;return n=t.qi(e.a),n&&(r=Zr(t1((!n.b&&(n.b=new lh((En(),Do),Qc,n)),n.b),Ai)),r!=null)?r:t.xe()}function x6n(e,t){var n,r;return n=t.qi(e.a),n&&(r=Zr(t1((!n.b&&(n.b=new lh((En(),Do),Qc,n)),n.b),Ai)),r!=null)?r:t.xe()}function k6n(e,t){var n,r;return n=iu(e.a.c.p,t.a.c.p),n!=0?n:(r=iu(e.a.d.i.p,t.a.d.i.p),r!=0?r:iu(t.a.d.p,e.a.d.p))}function T6n(e,t){var n,r,s,o;for(r=0,s=t.gc();r<s;++r)n=t.Tl(r),De(n,102)&&l(n,19).Bb&nu&&(o=t.Ul(r),o!=null&&kle(e,l(o,58)))}function Ldt(e,t){var n,r,s;if(wt(SK,e),t.Fc(e),n=l(or(l1e,e),21),n)for(s=n.Kc();s.Ob();)r=l(s.Pb(),27),bc(SK,r,0)!=-1||Ldt(r,t)}function E6n(e,t,n){var r,s;Kue(e.e,t,n,(_t(),Zn)),Kue(e.i,t,n,sr),e.a&&(s=l(Q(t,(ft(),zi)),12),r=l(Q(n,zi),12),Ioe(e.g,s,r))}function Mdt(e,t,n){var r,s,o;r=t.c.p,o=t.p,e.b[r][o]=new Tot(e,t),n&&(e.a[r][o]=new hXe(t),s=l(Q(t,(ft(),b3)),10),s&&xn(e.d,s,t))}function C6n(e,t,n){var r,s,o,f;return o=t.j,f=n.j,o!=f?o.g-f.g:(r=e.f[t.p],s=e.f[n.p],r==0&&s==0?0:r==0?-1:s==0?1:Xi(r,s))}function S6n(){var e;return dK!=0&&(e=Date.now(),e-$6t>2e3&&($6t=e,gK=b.setTimeout(lln,10))),dK++==0?(Swn((g3e(),l_e)),!0):!1}function _6n(e,t,n){var r;(c7t?(M5n(e),!0):u7t||h7t?(Ok(),!0):l7t&&(Ok(),!1))&&(r=new qit(t),r.b=n,P9n(e,r))}function fue(e,t){var n;n=!e.A.Hc((gh(),Ov))||e.q==(Pa(),Au),e.u.Hc((Pl(),kp))?n?bIn(e,t):ywt(e,t):e.u.Hc(im)&&(n?BDn(e,t):Pwt(e,t))}function Ddt(e){var t;qe(at(e,(bi(),i7)))===qe((op(),gY))&&(ds(e)?(t=l(at(ds(e),i7),346),Vi(e,i7,t)):Vi(e,i7,IM))}function A6n(e){var t,n;return rs(e.d.i,(Nt(),VE))?(t=l(Q(e.c.i,VE),17),n=l(Q(e.d.i,VE),17),iu(t.a,n.a)>0):!1}function Idt(e,t,n){return new Zh(b.Math.min(e.a,t.a)-n/2,b.Math.min(e.b,t.b)-n/2,b.Math.abs(e.a-t.a)+n,b.Math.abs(e.b-t.b)+n)}function Odt(e){var t;this.d=new mt,this.j=new za,this.g=new za,t=e.g.b,this.f=l(Q(Ja(t),(Nt(),Rh)),88),this.e=ze(Ge(cV(t,T4)))}function Ndt(e){this.d=new mt,this.e=new u2,this.c=We(Ur,fi,28,(_t(),he(le(Mo,1),ou,64,0,[jc,Xn,sr,Mr,Zn])).length,15,1),this.b=e}function lxe(e,t,n){var r;switch(r=n[e.g][t],e.g){case 1:case 3:return new lt(0,r);case 2:case 4:return new lt(r,0);default:return null}}function Pdt(e,t,n){var r,s;s=l(eN(t.f),205);try{s.rf(e,n),$at(t.f,s)}catch(o){throw o=ms(o),De(o,103)?(r=o,ue(r)):ue(o)}}function Bdt(e,t,n){var r,s,o,f,g,w;return r=null,g=tTe(dT(),t),o=null,g&&(s=null,w=Zke(g,n),f=null,w!=null&&(f=e.qf(g,w)),s=f,o=s),r=o,r}function due(e,t,n,r){var s;if(s=e.length,t>=s)return s;for(t=t>0?t:0;t<s&&!Dce((Yn(t,e.length),e.charCodeAt(t)),n,r);t++);return t}function j1(e,t){var n,r;for(r=e.c.length,t.length<r&&(t=Qz(new Array(r),t)),n=0;n<r;++n)Ss(t,n,e.c[n]);return t.length>r&&Ss(t,r,null),t}function Fdt(e,t){var n,r;for(r=e.a.length,t.length<r&&(t=Qz(new Array(r),t)),n=0;n<r;++n)Ss(t,n,e.a[n]);return t.length>r&&Ss(t,r,null),t}function FT(e,t){var n,r;if(++e.j,t!=null&&(n=(r=e.a.Cb,De(r,99)?l(r,99).th():null),OTn(t,n))){bx(e.a,4,n);return}bx(e.a,4,l(t,129))}function L6n(e){var t;if(e==null)return null;if(t=NEn(ku(e,!0)),t==null)throw ue(new fse("Invalid hexBinary value: '"+e+"'"));return t}function sV(e,t,n){var r;t.a.length>0&&(wt(e.b,new ist(t.a,n)),r=t.a.length,0<r?t.a=ef(t.a,0,0):0>r&&(t.a+=art(We(xf,Ad,28,-r,15,1))))}function Rdt(e,t,n){var r,s,o;if(!n[t.d])for(n[t.d]=!0,s=new K(t6(t));s.a<s.c.c.length;)r=l(re(s),218),o=XU(r,t),Rdt(e,o,n)}function y2(e,t,n){var r,s,o;return s=l(or(e.e,t),400),s?(o=m4e(s,n),crt(e,s),o):(r=new G4e(e,t,n),Ti(e.e,t,r),Not(r),null)}function M6n(e,t,n,r){var s,o,f;return s=new rp(e.e,1,13,(f=t.c,f||(En(),td)),(o=n.c,o||(En(),td)),x2(e,t),!1),r?r.nj(s):r=s,r}function gue(){return nG(),he(le(Y7t,1),it,164,0,[K7t,G7t,W7t,R7t,F7t,j7t,q7t,z7t,$7t,V7t,U7t,H7t,P7t,N7t,B7t,I7t,D7t,O7t,L7t,A7t,M7t,r1e])}function RT(e){switch(e.g){case 4:return new lt(0,-1);case 1:return new lt(1,0);case 2:return new lt(-1,0);default:return new lt(0,1)}}function pue(e){switch(e.g){case 1:return ea(),vf;case 4:return ea(),hc;case 2:return ea(),yc;case 3:return ea(),Q1}return ea(),J1}function D6n(e){var t;switch(t=e.hj(null),t){case 10:return 0;case 15:return 1;case 14:return 2;case 11:return 3;case 21:return 4}return-1}function n1(){n1=U,Bn=new EO("PARENTS",0),pa=new EO("NODES",1),zd=new EO("EDGES",2),Av=new EO("PORTS",3),P2=new EO("LABELS",4)}function I6n(e,t,n){var r;switch(r=n.q.getFullYear()-Rb+Rb,r<0&&(r=-r),t){case 1:e.a+=r;break;case 2:ug(e,r%100,2);break;default:ug(e,r,t)}}function Fr(e,t){var n,r;if(Sy(t,e.b),t>=e.b>>1)for(r=e.c,n=e.b;n>t;--n)r=r.b;else for(r=e.a.a,n=0;n<t;++n)r=r.a;return new zit(e,t,r)}function aV(){aV=U,Z0e=new V3e("NUM_OF_EXTERNAL_SIDES_THAN_NUM_OF_EXTENSIONS_LAST",0),j_e=new V3e("CORNER_CASES_THAN_SINGLE_SIDE_LAST",1)}function jdt(e){this.b=new mt,this.e=new mt,this.d=e,this.a=!Lk(ji(new vn(null,new Cw(new N1(e.b))),new Vl(new Iee))).Bd((Bm(),qx))}function $dt(e,t){var n,r,s,o;for(n=0,s=new K(t.a);s.a<s.c.c.length;)r=l(re(s),10),o=r.o.a+r.d.c+r.d.b+e.j,n=b.Math.max(n,o);return n}function zdt(e,t){var n,r,s;s=t.d.i,r=s.k,!(r==(Jn(),Bs)||r==K1)&&(n=new lr(fr(qs(s).a.Kc(),new j)),Rr(n)&&Ti(e.k,t,l(yr(n),18)))}function O6n(e,t){return sp(),Xi((e.a.b==0?new lt(e.c.e.a,e.c.e.b):l(Rk(e.a),8)).b,(t.a.b==0?new lt(t.c.e.a,t.c.e.b):l(Rk(t.a),8)).b)}function N6n(e,t){return sp(),Xi((e.a.b==0?new lt(e.c.e.a,e.c.e.b):l(Rk(e.a),8)).a,(t.a.b==0?new lt(t.c.e.a,t.c.e.b):l(Rk(t.a),8)).a)}function P6n(e,t){return sp(),Xi((e.a.b==0?new lt(e.b.e.a,e.b.e.b):l(a0(e.a),8)).a,(t.a.b==0?new lt(t.b.e.a,t.b.e.b):l(a0(t.a),8)).a)}function B6n(e,t){return sp(),Xi((e.a.b==0?new lt(e.b.e.a,e.b.e.b):l(a0(e.a),8)).b,(t.a.b==0?new lt(t.b.e.a,t.b.e.b):l(a0(t.a),8)).b)}function r6(){r6=U,nm=new SO("DISTRIBUTED",0),uF=new SO("JUSTIFIED",1),gPe=new SO("BEGIN",2),OM=new SO(lE,3),pPe=new SO("END",4)}function bue(e,t){var n,r,s;return r=Mn(e.Dh(),t),n=t-e.ji(),n<0?(s=e.Ih(r),s>=0?e.Wh(s):nle(e,r)):n<0?nle(e,r):l(r,69).wk().Bk(e,e.hi(),n)}function qdt(e){var t,n,r;for(r=(!e.o&&(e.o=new yl((au(),Ag),R2,e,0)),e.o),n=r.c.Kc();n.e!=n.i.gc();)t=l(n.Yj(),44),t.md();return fN(r)}function It(e){var t;if(De(e.a,4)){if(t=oxe(e.a),t==null)throw ue(new ic(l4t+e.b+"'. "+u4t+(Xg(wF),wF.k)+bSe));return t}else return e.a}function F6n(e,t){var n,r;if(e.j.length!=t.j.length)return!1;for(n=0,r=e.j.length;n<r;n++)if(!wn(e.j[n],t.j[n]))return!1;return!0}function dr(e){var t;try{return t=e.i.Xb(e.e),e.Xj(),e.g=e.e++,t}catch(n){throw n=ms(n),De(n,77)?(e.Xj(),ue(new Dc)):ue(n)}}function mue(e){var t;try{return t=e.c.Vi(e.e),e.Xj(),e.g=e.e++,t}catch(n){throw n=ms(n),De(n,77)?(e.Xj(),ue(new Dc)):ue(n)}}function oV(e){var t,n,r,s;for(s=0,n=0,r=e.length;n<r;n++)t=(Yn(n,e.length),e.charCodeAt(n)),t>=64&&t<128&&(s=X0(s,u0(1,t-64)));return s}function cV(e,t){var n,r;return r=null,rs(e,(bi(),i9))&&(n=l(Q(e,i9),96),n.pf(t)&&(r=n.of(t))),r==null&&Ja(e)&&(r=Q(Ja(e),t)),r}function R6n(e,t){var n;return n=l(Q(e,(Nt(),lc)),75),dae(t,uxt)?n?Ch(n):(n=new pl,rt(e,lc,n)):n&&rt(e,lc,null),n}function OA(){OA=U,gAe=(bi(),VNe),c1e=CNe,c8t=t7,dAe=B2,f8t=(yV(),G_e),h8t=U_e,d8t=W_e,l8t=H_e,u8t=(Hce(),lAe),o1e=s8t,fAe=a8t,CK=o8t}function uV(e){switch(F3e(),this.c=new mt,this.d=e,e.g){case 0:case 2:this.a=V5e(OAe),this.b=gs;break;case 3:case 1:this.a=OAe,this.b=oa}}function j6n(e){var t;G8(l(Q(e,(Nt(),Ds)),101))&&(t=e.b,M2t((Sn(0,t.c.length),l(t.c[0],30))),M2t(l(Rt(t,t.c.length-1),30)))}function $6n(e,t){t.Ug("Self-Loop post-processing",1),Os(ji(ji(Pc(new vn(null,new kn(e.b,16)),new JZ),new ZZ),new eee),new Mj),t.Vg()}function Hdt(e,t,n){var r,s;if(e.c)Vu(e.c,e.c.i+t),Gu(e.c,e.c.j+n);else for(s=new K(e.b);s.a<s.c.c.length;)r=l(re(s),163),Hdt(r,t,n)}function z6n(e){var t;if(e==null)return null;if(t=SIn(ku(e,!0)),t==null)throw ue(new fse("Invalid base64Binary value: '"+e+"'"));return t}function hf(e,t){var n;n=e.fd(t);try{return n.Pb()}catch(r){throw r=ms(r),De(r,112)?ue(new rc("Can't get element "+t)):ue(r)}}function Udt(e,t){var n,r,s;for(n=e.o,s=l(l($i(e.r,t),21),87).Kc();s.Ob();)r=l(s.Pb(),117),r.e.a=U7n(r,n.a),r.e.b=n.b*ze(Ge(r.b.of(kK)))}function q6n(e,t){var n,r,s;for(s=new Pu(t.gc()),r=t.Kc();r.Ob();)n=l(r.Pb(),293),n.c==n.f?UT(e,n,n.c):hkn(e,n)||qn(s.c,n);return s}function Vdt(e){var t;return t=new lb,t.a+="n",e.k!=(Jn(),Bs)&&li(li((t.a+="(",t),yae(e.k).toLowerCase()),")"),li((t.a+="_",t),QN(e)),t.a}function H6n(e,t){var n,r,s,o;return s=e.k,n=ze(Ge(Q(e,(ft(),m3)))),o=t.k,r=ze(Ge(Q(t,m3))),o!=(Jn(),Ks)?-1:s!=Ks?1:n==r?0:n<r?-1:1}function U6n(e,t){var n,r;return n=l(l(or(e.g,t.a),42).a,68),r=l(l(or(e.g,t.b),42).a,68),Eb(t.a,t.b)-Eb(t.a,Pye(n.b))-Eb(t.b,Pye(r.b))}function Gdt(e,t){var n;switch(n=l(Zo(e.b,t),127).n,t.g){case 1:e.t>=0&&(n.d=e.t);break;case 3:e.t>=0&&(n.a=e.t)}e.C&&(n.b=e.C.b,n.c=e.C.c)}function NA(){NA=U,BDe=new wO(SCe,0),Ide=new wO(efe,1),Ode=new wO("LINEAR_SEGMENTS",2),iM=new wO("BRANDES_KOEPF",3),sM=new wO(Ryt,4)}function PA(){PA=U,mB=new vq(uG,0),TK=new vq(Nhe,1),EK=new vq(Phe,2),vB=new vq(Bhe,3),mB.a=!1,TK.a=!0,EK.a=!1,vB.a=!0}function mx(){mx=U,gB=new mq(uG,0),dB=new mq(Nhe,1),pB=new mq(Phe,2),bB=new mq(Bhe,3),gB.a=!1,dB.a=!0,pB.a=!1,bB.a=!0}function vx(e,t,n,r){var s;return n>=0?e.Sh(t,n,r):(e.Ph()&&(r=(s=e.Fh(),s>=0?e.Ah(r):e.Ph().Th(e,-1-s,null,r))),e.Ch(t,n,r))}function hxe(e,t){switch(t){case 7:!e.e&&(e.e=new An(js,e,7,4)),$r(e.e);return;case 8:!e.d&&(e.d=new An(js,e,8,5)),$r(e.d);return}J8e(e,t)}function Vi(e,t,n){return n==null?(!e.o&&(e.o=new yl((au(),Ag),R2,e,0)),nV(e.o,t)):(!e.o&&(e.o=new yl((au(),Ag),R2,e,0)),eP(e.o,t,n)),e}function Kdt(e,t){Cn();var n,r,s,o;for(n=e,o=t,De(e,21)&&!De(t,21)&&(n=t,o=e),s=n.Kc();s.Ob();)if(r=s.Pb(),o.Hc(r))return!1;return!0}function V6n(e,t,n,r){if(t.a<r.a)return!0;if(t.a==r.a){if(t.b<r.b)return!0;if(t.b==r.b&&e.b>n.b)return!0}return!1}function vue(e,t){return Da(e)?!!O6t[t]:e.Sm?!!e.Sm[t]:py(e)?!!I6t[t]:gy(e)?!!D6t[t]:!1}function G6n(e){var t;t=e.a;do t=l(yr(new lr(fr(Ea(t).a.Kc(),new j))),18).c.i,t.k==(Jn(),Aa)&&e.b.Fc(t);while(t.k==(Jn(),Aa));e.b=uf(e.b)}function Wdt(e,t){var n,r,s;for(s=e,r=new lr(fr(Ea(t).a.Kc(),new j));Rr(r);)n=l(yr(r),18),n.c.i.c&&(s=b.Math.max(s,n.c.i.c.p));return s}function K6n(e,t){var n,r,s;for(s=0,r=l(l($i(e.r,t),21),87).Kc();r.Ob();)n=l(r.Pb(),117),s+=n.d.d+n.b.Mf().b+n.d.a,r.Ob()&&(s+=e.w);return s}function W6n(e,t){var n,r,s;for(s=0,r=l(l($i(e.r,t),21),87).Kc();r.Ob();)n=l(r.Pb(),117),s+=n.d.b+n.b.Mf().a+n.d.c,r.Ob()&&(s+=e.w);return s}function Ydt(e){var t,n,r,s;if(r=0,s=Gy(e),s.c.length==0)return 1;for(n=new K(s);n.a<n.c.c.length;)t=l(re(n),27),r+=Ydt(t);return r}function Y6n(e){var t,n,r;for(r=e.c.a,e.p=(Xr(r),new Ml(r)),n=new K(r);n.a<n.c.c.length;)t=l(re(n),10),t.p=Ikn(t).a;Cn(),Gs(e.p,new nte)}function X6n(e,t,n){var r,s,o,f;return r=e.dd(t),r!=-1&&(e.Pj()?(o=e.Qj(),f=lH(e,r),s=e.Ij(4,f,null,r,o),n?n.nj(s):n=s):lH(e,r)),n}function ko(e,t,n){var r,s,o,f;return r=e.dd(t),r!=-1&&(e.Pj()?(o=e.Qj(),f=wx(e,r),s=e.Ij(4,f,null,r,o),n?n.nj(s):n=s):wx(e,r)),n}function Q6n(e,t,n,r){var s,o,f;n.Xh(t)&&(Ro(),ice(t)?(s=l(n.Mh(t),160),T6n(e,s)):(o=(f=t,f?l(r,54).gi(f):null),o&&Zcn(n.Mh(t),o)))}function lV(e,t,n,r){var s,o,f;return o=Mn(e.Dh(),t),s=t-e.ji(),s<0?(f=e.Ih(o),f>=0?e.Lh(f,n,!0):Xw(e,o,n)):l(o,69).wk().yk(e,e.hi(),s,n,r)}function J6n(e,t,n,r){var s,o;o=t.pf((bi(),s7))?l(t.of(s7),21):e.j,s=B4n(o),s!=(nG(),r1e)&&(n&&!ixe(s)||b9e(PEn(e,s,r),t))}function Z6n(e){switch(e.g){case 1:return qw(),fB;case 3:return qw(),hB;case 2:return qw(),s1e;case 4:return qw(),i1e;default:return null}}function e7n(e,t,n){if(e.e)switch(e.b){case 1:Upn(e.c,t,n);break;case 0:Vpn(e.c,t,n)}else but(e.c,t,n);e.a[t.p][n.p]=e.c.i,e.a[n.p][t.p]=e.c.e}function Xdt(e){var t,n;if(e==null)return null;for(n=We(kg,dt,199,e.length,0,2),t=0;t<n.length;t++)n[t]=l(Jmn(e[t],e[t].length),199);return n}function hV(e){var t;if(zce(e))return yH(e),e.ul()&&(t=qA(e.e,e.b,e.c,e.a,e.j),e.j=t),e.g=e.a,++e.a,++e.c,e.i=0,e.j;throw ue(new Dc)}function t7n(e,t){var n,r,s,o;return o=e.o,n=e.p,o<n?o*=o:n*=n,r=o+n,o=t.o,n=t.p,o<n?o*=o:n*=n,s=o+n,r<s?-1:r==s?0:1}function x2(e,t){var n,r,s;if(s=Dgt(e,t),s>=0)return s;if(e.ol()){for(r=0;r<e.i;++r)if(n=e.pl(l(e.g[r],58)),qe(n)===qe(t))return r}return-1}function i6(e,t,n){var r,s;if(s=e.gc(),t>=s)throw ue(new yy(t,s));if(e.Si()&&(r=e.dd(n),r>=0&&r!=t))throw ue(new Wn(nB));return e.Xi(t,n)}function fxe(e,t){if(this.a=l(Xr(e),253),this.b=l(Xr(t),253),e.Ed(t)>0||e==(sse(),O0e)||t==(ase(),N0e))throw ue(new Wn("Invalid range: "+wut(e,t)))}function Qdt(e){var t,n;for(this.b=new mt,this.c=e,this.a=!1,n=new K(e.a);n.a<n.c.c.length;)t=l(re(n),10),this.a=this.a|t.k==(Jn(),Bs)}function n7n(e,t){var n,r,s;for(n=vw(new Nm,e),s=new K(t);s.a<s.c.c.length;)r=l(re(s),125),g0(i0(r0(s0(n0(new _f,0),0),n),r));return n}function Jdt(e,t,n){n.Ug("Compound graph preprocessor",1),e.a=new Iw,bwt(e,t,null),XLn(e,t),yCn(e),rt(t,(ft(),rMe),e.a),e.a=null,Dl(e.b),n.Vg()}function Zdt(e,t,n){var r,s,o;for(s=new lr(fr((t?Ea(e):qs(e)).a.Kc(),new j));Rr(s);)r=l(yr(s),18),o=t?r.c.i:r.d.i,o.k==(Jn(),uu)&&Ha(o,n)}function r7n(e,t){var n,r,s;for(t.Ug("Untreeify",1),n=l(Q(e,(Zi(),TIe)),15),s=n.Kc();s.Ob();)r=l(s.Pb(),65),ci(r.b.d,r),ci(r.c.b,r);t.Vg()}function i7n(e){var t,n,r;for(r=l($i(e.a,(zy(),eW)),15).Kc();r.Ob();)n=l(r.Pb(),105),t=Cxe(n),Gk(e,n,t[0],($w(),d3),0),Gk(e,n,t[1],g3,1)}function s7n(e){var t,n,r;for(r=l($i(e.a,(zy(),tW)),15).Kc();r.Ob();)n=l(r.Pb(),105),t=Cxe(n),Gk(e,n,t[0],($w(),d3),0),Gk(e,n,t[1],g3,1)}function jy(){jy=U,NW=new Tq(Id,0),Mde=new Tq("PORT_POSITION",1),W6=new Tq("NODE_SIZE_WHERE_SPACE_PERMITS",2),K6=new Tq("NODE_SIZE",3)}function fV(){fV=U,vge=new Qse("INTERACTIVE_NODE_REORDERER",0),yge=new Qse("MIN_SIZE_PRE_PROCESSOR",1),wge=new Qse("MIN_SIZE_POST_PROCESSOR",2)}function lg(){lg=U,$ge=new A_("AUTOMATIC",0),QB=new A_(Dx,1),JB=new A_(Ix,2),uY=new A_("TOP",3),oY=new A_(jTe,4),cY=new A_(lE,5)}function dxe(e,t,n,r){WT();var s,o;for(s=0,o=0;o<n;o++)s=fo(go(xa(t[o],Uo),xa(r,Uo)),xa(Yr(s),Uo)),e[o]=Yr(s),s=vb(s,32);return Yr(s)}function gxe(e,t,n){var r,s;for(s=0,r=0;r<n1e;r++)s=b.Math.max(s,Vce(e.a[t.g][r],n));return t==(e1(),ju)&&e.b&&(s=b.Math.max(s,e.b.b)),s}function dV(e,t){var n,r;if(a4e(t>0),(t&-t)==t)return da(t*Yl(e,31)*4656612873077393e-25);do n=Yl(e,31),r=n%t;while(n-r+(t-1)<0);return da(r)}function a7n(e,t,n){switch(n.g){case 1:e.a=t.a/2,e.b=0;break;case 2:e.a=t.a,e.b=t.b/2;break;case 3:e.a=t.a/2,e.b=t.b;break;case 4:e.a=0,e.b=t.b/2}}function YN(e,t,n,r){var s,o;for(s=t;s<e.c.length;s++)if(o=(Sn(s,e.c.length),l(e.c[s],12)),n.Mb(o))qn(r.c,o);else return s;return e.c.length}function wue(e){switch(e.g){case 0:return null;case 1:return new e0t;case 2:return new c3e;default:throw ue(new Wn(Ffe+(e.f!=null?e.f:""+e.g)))}}function XN(e,t,n){var r,s;for(myn(e,t-e.s,n-e.t),s=new K(e.n);s.a<s.c.c.length;)r=l(re(s),209),Te(r,r.e+t-e.s),Fe(r,r.f+n-e.t);e.s=t,e.t=n}function o7n(e){var t,n,r,s,o;for(n=0,s=new K(e.a);s.a<s.c.c.length;)r=l(re(s),125),r.d=n++;return t=b9n(e),o=null,t.c.length>1&&(o=n7n(e,t)),o}function egt(e){var t;return t=ze(Ge(at(e,(bi(),sF))))*b.Math.sqrt((!e.a&&(e.a=new nt(Li,e,10,11)),e.a).i),new lt(t,t/ze(Ge(at(e,fY))))}function yue(e){var t;return e.f&&e.f.Vh()&&(t=l(e.f,54),e.f=l(Lb(e,t),84),e.f!=t&&e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,9,8,t,e.f))),e.f}function xue(e){var t;return e.i&&e.i.Vh()&&(t=l(e.i,54),e.i=l(Lb(e,t),84),e.i!=t&&e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,9,7,t,e.i))),e.i}function jo(e){var t;return e.b&&e.b.Db&64&&(t=e.b,e.b=l(Lb(e,t),19),e.b!=t&&e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,9,21,t,e.b))),e.b}function gV(e,t){var n,r,s;e.d==null?(++e.e,++e.f):(r=t.Bi(),LCn(e,e.f+1),s=(r&Ni)%e.d.length,n=e.d[s],!n&&(n=e.d[s]=e.dk()),n.Fc(t),++e.f)}function pxe(e,t,n){var r;return t.tk()?!1:t.Ik()!=-2?(r=t.ik(),r==null?n==null:Fi(r,n)):t.qk()==e.e.Dh()&&n==null}function pV(){var e;Mh(16,h3t),e=Rft(16),this.b=We(B0e,IP,303,e,0,1),this.c=We(B0e,IP,303,e,0,1),this.a=null,this.e=null,this.i=0,this.f=e-1,this.g=0}function hp(e){x4e.call(this),this.k=(Jn(),Bs),this.j=(Mh(6,Jy),new Pu(6)),this.b=(Mh(2,Jy),new Pu(2)),this.d=new ese,this.f=new n3e,this.a=e}function c7n(e){var t,n;e.c.length<=1||(t=imt(e,(_t(),Mr)),Vpt(e,l(t.a,17).a,l(t.b,17).a),n=imt(e,Zn),Vpt(e,l(n.a,17).a,l(n.b,17).a))}function u7n(e,t,n){var r,s;for(s=e.a.b,r=s.c.length;r<n;r++)kw(s,s.c.length,new vu(e.a));Ha(t,(Sn(n-1,s.c.length),l(s.c[n-1],30))),e.b[t.p]=n}function tgt(e,t){var n,r,s;for(e.b[t.g]=1,r=Fr(t.d,0);r.b!=r.d.c;)n=l(Pr(r),65),s=n.c,e.b[s.g]==1?ci(e.a,n):e.b[s.g]==2?e.b[s.g]=1:tgt(e,s)}function ngt(e,t,n,r){var s,o,f;for(s=l($i(r?e.a:e.b,t),21),f=s.Kc();f.Ob();)if(o=l(f.Pb(),27),zV(e,n,o))return!0;return!1}function kue(e){var t,n;for(n=new ar(e);n.e!=n.i.gc();)if(t=l(dr(n),89),t.e||(!t.d&&(t.d=new Qs(Wo,t,1)),t.d).i!=0)return!0;return!1}function Tue(e){var t,n;for(n=new ar(e);n.e!=n.i.gc();)if(t=l(dr(n),89),t.e||(!t.d&&(t.d=new Qs(Wo,t,1)),t.d).i!=0)return!0;return!1}function l7n(e){var t,n,r;for(t=0,r=new K(e.c.a);r.a<r.c.c.length;)n=l(re(r),10),t+=ep(new lr(fr(qs(n).a.Kc(),new j)));return t/e.c.a.c.length}function Eue(){Eue=U,rNe=(ple(),ZOe),nNe=new mw(8),new qa((bi(),B2),nNe),new qa(Dv,8),$St=QOe,eNe=ISt,tNe=OSt,jSt=new qa(eF,(Hn(),!1))}function h7n(e,t,n){var r;n.Ug("Shrinking tree compaction",1),Ft(Pt(Q(t,(mT(),$L))))?(w3n(e,t.f),_ht(t.f,(r=t.c,r))):_ht(t.f,t.c),n.Vg()}function bxe(e,t,n,r){switch(t){case 7:return!e.e&&(e.e=new An(js,e,7,4)),e.e;case 8:return!e.d&&(e.d=new An(js,e,8,5)),e.d}return j8e(e,t,n,r)}function Cue(e){var t;return e.a&&e.a.Vh()&&(t=l(e.a,54),e.a=l(Lb(e,t),142),e.a!=t&&e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,9,5,t,e.a))),e.a}function nv(e){return e<48||e>102?-1:e<=57?e-48:e<65?-1:e<=70?e-65+10:e<97?-1:e-97+10}function Sue(e,t){if(e==null)throw ue(new I8("null key in entry: null="+t));if(t==null)throw ue(new I8("null value in entry: "+e+"=null"))}function f7n(e,t){for(var n,r;e.Ob();)if(!t.Ob()||(n=e.Pb(),r=t.Pb(),!(qe(n)===qe(r)||n!=null&&Fi(n,r))))return!1;return!t.Ob()}function rgt(e,t){var n;return n=he(le(Oa,1),tc,28,15,[Vce(e.a[0],t),Vce(e.a[1],t),Vce(e.a[2],t)]),e.d&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function igt(e,t){var n;return n=he(le(Oa,1),tc,28,15,[HU(e.a[0],t),HU(e.a[1],t),HU(e.a[2],t)]),e.d&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function mxe(e,t,n){G8(l(Q(t,(Nt(),Ds)),101))||(D6e(e,t,k2(t,n)),D6e(e,t,k2(t,(_t(),Mr))),D6e(e,t,k2(t,Xn)),Cn(),Gs(t.j,new cXe(e)))}function sgt(e){var t,n;for(e.c||DMn(e),n=new pl,t=new K(e.a),re(t);t.a<t.c.c.length;)ci(n,l(re(t),418).a);return br(n.b!=0),sf(n,n.c.b),n}function d7n(e,t,n){var r,s,o,f,g;for(g=e.r+t,e.r+=t,e.d+=n,r=n/e.n.c.length,s=0,f=new K(e.n);f.a<f.c.c.length;)o=l(re(f),209),SEn(o,g,r,s),++s}function g7n(e){var t,n,r;for(e.b.a.$b(),e.a=We(yK,jn,60,e.c.c.a.b.c.length,0,1),t=0,r=new K(e.c.c.a.b);r.a<r.c.c.length;)n=l(re(r),60),n.f=t++}function p7n(e){var t,n,r;for(e.b.a.$b(),e.a=We(m1e,jn,86,e.c.a.a.b.c.length,0,1),t=0,r=new K(e.c.a.a.b);r.a<r.c.c.length;)n=l(re(r),86),n.i=t++}function agt(e){var t;if(t=s4n(e),!Rr(e))throw ue(new rc("position (0) must be less than the number of elements that remained ("+t+")"));return yr(e)}function b7n(e,t){var n;return e.a||(n=We(Oa,tc,28,0,15,1),M5(e.b.a,new cy(n)),rJe(n,aft(Pe.prototype.Me,Pe,[])),e.a=new Fit(n,e.d)),rU(e.a,t)}function ogt(e,t,n){var r;try{return s6(e,t+e.j,n+e.k)}catch(s){throw s=ms(s),De(s,77)?(r=s,ue(new rc(r.g+hG+t+To+n+")."))):ue(s)}}function m7n(e,t,n){var r;try{return lgt(e,t+e.j,n+e.k)}catch(s){throw s=ms(s),De(s,77)?(r=s,ue(new rc(r.g+hG+t+To+n+")."))):ue(s)}}function v7n(e,t,n){var r;try{return hgt(e,t+e.j,n+e.k)}catch(s){throw s=ms(s),De(s,77)?(r=s,ue(new rc(r.g+hG+t+To+n+")."))):ue(s)}}function cgt(e){switch(e.g){case 1:return _t(),Zn;case 4:return _t(),Xn;case 3:return _t(),sr;case 2:return _t(),Mr;default:return _t(),jc}}function w7n(e,t,n){t.k==(Jn(),Bs)&&n.k==Aa&&(e.d=Yce(t,(_t(),Mr)),e.b=Yce(t,Xn)),n.k==Bs&&t.k==Aa&&(e.d=Yce(n,(_t(),Xn)),e.b=Yce(n,Mr))}function _ue(e,t){var n,r,s;for(s=Fc(e,t),r=s.Kc();r.Ob();)if(n=l(r.Pb(),12),Q(n,(ft(),Bl))!=null||z_(new N1(n.b)))return!0;return!1}function y7n(e,t,n){n.Ug("Linear segments node placement",1),e.b=l(Q(t,(ft(),q6)),312),aOn(e,t),BLn(e,t),eMn(e,t),FIn(e),e.a=null,e.b=null,n.Vg()}function vxe(e,t){return Vu(t,e.e+e.d+(e.c.c.length==0?0:e.b)),Gu(t,e.f),e.a=b.Math.max(e.a,t.f),e.d+=t.g+(e.c.c.length==0?0:e.b),wt(e.c,t),!0}function x7n(e,t,n){var r,s,o,f;for(f=0,r=n/e.a.c.length,o=new K(e.a);o.a<o.c.c.length;)s=l(re(o),172),XN(s,s.s,s.t+f*r),d7n(s,e.d-s.r+t,r),++f}function k7n(e,t){var n,r,s,o,f,g;for(s=t.length-1,f=0,g=0,r=0;r<=s;r++)o=t[r],n=$9n(s,r)*y8e(1-e,s-r)*y8e(e,r),f+=o.a*n,g+=o.b*n;return new lt(f,g)}function ugt(e,t){var n,r,s,o,f;for(n=t.gc(),e._i(e.i+n),o=t.Kc(),f=e.i,e.i+=n,r=f;r<e.i;++r)s=o.Pb(),j_(e,r,e.Zi(r,s)),e.Mi(r,s),e.Ni();return n!=0}function T7n(e,t,n){var r,s,o;return e.Pj()?(r=e.Ej(),o=e.Qj(),++e.j,e.qj(r,e.Zi(r,t)),s=e.Ij(3,null,t,r,o),n?n.nj(s):n=s):ait(e,e.Ej(),t),n}function E7n(e,t,n){var r,s,o;return r=l(Oe(fu(e.a),t),89),o=(s=r.c,De(s,90)?l(s,29):(En(),Kf)),(o.Db&64?Lb(e.b,o):o)==n?GV(r):oT(r,n),o}function C7n(e){var t;return e==null?null:new bb((t=ku(e,!0),t.length>0&&(Yn(0,t.length),t.charCodeAt(0)==43)?(Yn(1,t.length+1),t.substr(1)):t))}function S7n(e){var t;return e==null?null:new bb((t=ku(e,!0),t.length>0&&(Yn(0,t.length),t.charCodeAt(0)==43)?(Yn(1,t.length+1),t.substr(1)):t))}function wxe(e,t,n,r,s,o,f,g){var w,T;r&&(w=r.a[0],w&&wxe(e,t,n,w,s,o,f,g),Pue(e,n,r.d,s,o,f,g)&&t.Fc(r),T=r.a[1],T&&wxe(e,t,n,T,s,o,f,g))}function s6(e,t,n){try{return pw(bce(e,t,n),1)}catch(r){throw r=ms(r),De(r,333)?ue(new rc(Fhe+e.o+"*"+e.p+Rhe+t+To+n+jhe)):ue(r)}}function lgt(e,t,n){try{return pw(bce(e,t,n),0)}catch(r){throw r=ms(r),De(r,333)?ue(new rc(Fhe+e.o+"*"+e.p+Rhe+t+To+n+jhe)):ue(r)}}function hgt(e,t,n){try{return pw(bce(e,t,n),2)}catch(r){throw r=ms(r),De(r,333)?ue(new rc(Fhe+e.o+"*"+e.p+Rhe+t+To+n+jhe)):ue(r)}}function fgt(e,t){if(e.g==-1)throw ue(new gl);e.Xj();try{e.d.hd(e.g,t),e.f=e.d.j}catch(n){throw n=ms(n),De(n,77)?ue(new Yh):ue(n)}}function _7n(e){var t,n,r,s,o;for(r=new K(e.b);r.a<r.c.c.length;)for(n=l(re(r),30),t=0,o=new K(n.a);o.a<o.c.c.length;)s=l(re(o),10),s.p=t++}function BA(e,t){var n,r,s,o;for(o=e.gc(),t.length<o&&(t=Qz(new Array(o),t)),s=t,r=e.Kc(),n=0;n<o;++n)Ss(s,n,r.Pb());return t.length>o&&Ss(t,o,null),t}function A7n(e,t){var n,r;if(r=e.gc(),t==null){for(n=0;n<r;n++)if(e.Xb(n)==null)return n}else for(n=0;n<r;n++)if(Fi(t,e.Xb(n)))return n;return-1}function Aue(e,t){var n,r,s;return n=t.ld(),s=t.md(),r=e.xc(n),!(!(qe(s)===qe(r)||s!=null&&Fi(s,r))||r==null&&!e._b(n))}function L7n(e,t){var n,r,s;return t<=22?(n=e.l&(1<<t)-1,r=s=0):t<=44?(n=e.l,r=e.m&(1<<t-22)-1,s=0):(n=e.l,r=e.m,s=e.h&(1<<t-44)-1),qu(n,r,s)}function M7n(e,t){switch(t.g){case 1:return e.f.n.d+e.t;case 3:return e.f.n.a+e.t;case 2:return e.f.n.c+e.s;case 4:return e.f.n.b+e.s;default:return 0}}function D7n(e,t){var n,r;switch(r=t.c,n=t.a,e.b.g){case 0:n.d=e.e-r.a-r.d;break;case 1:n.d+=e.e;break;case 2:n.c=e.e-r.a-r.d;break;case 3:n.c=e.e+r.d}}function yxe(e,t,n,r){var s,o;this.a=t,this.c=r,s=e.a,$ie(this,new lt(-s.c,-s.d)),Pi(this.b,n),o=r/2,t.a?q_(this.b,0,o):q_(this.b,o,0),wt(e.c,this)}function dgt(e,t,n,r){var s;this.c=e,this.d=t,s=new os,_s(s,n,s.c.b,s.c),this.a=s,this.b=l(Q(r,(Vc(),_3)),88),this.e=ze(Ge(Q(r,PIe))),Zwt(this)}function bV(){bV=U,pge=new _q(Id,0),sOe=new _q(Cyt,1),aOe=new _q("EDGE_LENGTH_BY_POSITION",2),iOe=new _q("CROSSING_MINIMIZATION_BY_POSITION",3)}function Lue(e,t){var n,r;if(n=l(J5(e.g,t),27),n)return n;if(r=l(J5(e.j,t),123),r)return r;throw ue(new dd("Referenced shape does not exist: "+t))}function xxe(e,t){var n,r;if(De(t,253)){r=l(t,253);try{return n=e.Ed(r),n==0}catch(s){if(s=ms(s),De(s,212))return!1;throw ue(s)}}return!1}function I7n(e,t){if(e.c==t)return e.d;if(e.d==t)return e.c;throw ue(new Wn("Node 'one' must be either source or target of edge 'edge'."))}function O7n(e,t){if(e.c.i==t)return e.d.i;if(e.d.i==t)return e.c.i;throw ue(new Wn("Node "+t+" is neither source nor target of edge "+e))}function N7n(e,t,n){n.Ug("Self-Loop ordering",1),Os(gc(ji(ji(Pc(new vn(null,new kn(t.b,16)),new WZ),new Aj),new YZ),new XZ),new NYe(e)),n.Vg()}function P7n(e,t){var n;switch(t.g){case 2:case 4:n=e.a,e.c.d.n.b<n.d.n.b&&(n=e.c),a2(e,t,(R1(),M1e),n);break;case 1:case 3:a2(e,t,(R1(),Vx),null)}}function Mue(e,t,n,r,s,o){var f,g,w,T,C;for(f=P8n(t,n,o),g=n==(_t(),Xn)||n==Zn?-1:1,T=e[n.g],C=0;C<T.length;C++)w=T[C],w>0&&(w+=s),T[C]=f,f+=g*(w+r)}function ggt(e){var t,n,r;for(r=e.f,e.n=We(Oa,tc,28,r,15,1),e.d=We(Oa,tc,28,r,15,1),t=0;t<r;t++)n=l(Rt(e.c.b,t),30),e.n[t]=$dt(e,n),e.d[t]=Dbt(e,n)}function Due(e,t){var n,r,s;for(s=0,r=2;r<t;r<<=1)e.Db&r&&++s;if(s==0){for(n=t<<=1;n<=128;n<<=1)if(e.Db&n)return 0;return-1}else return s}function pgt(e,t){var n,r,s,o,f;for(f=Wu(e.e.Dh(),t),o=null,n=l(e.g,124),s=0;s<e.i;++s)r=n[s],f.am(r.Lk())&&(!o&&(o=new sb),zr(o,r));o&&Bwt(e,o)}function bgt(e){var t,n,r;if(!e)return null;if(e.dc())return"";for(r=new e2,n=e.Kc();n.Ob();)t=n.Pb(),Jo(r,Zr(t)),r.a+=" ";return aae(r,r.a.length-1)}function mgt(e,t){var n=new Array(t),r;switch(e){case 14:case 15:r=0;break;case 16:r=!1;break;default:return n}for(var s=0;s<t;++s)n[s]=r;return n}function Kw(e){var t,n,r;for(n=new K(e.a.b);n.a<n.c.c.length;)t=l(re(n),60),t.c.$b();Yg(e.d)?r=e.a.c:r=e.a.d,Uu(r,new Hie(e)),e.c.df(e),Ybt(e)}function vgt(e){var t,n,r,s;for(n=new K(e.e.c);n.a<n.c.c.length;){for(t=l(re(n),290),s=new K(t.b);s.a<s.c.c.length;)r=l(re(s),454),Gke(r);C2t(t)}}function mV(e){var t,n,r,s,o;for(r=0,o=0,s=0,n=new K(e.a);n.a<n.c.c.length;)t=l(re(n),172),o=b.Math.max(o,t.r),r+=t.d+(s>0?e.c:0),++s;e.b=r,e.d=o}function wgt(e,t){var n;return n=he(le(Oa,1),tc,28,15,[gxe(e,(e1(),Wc),t),gxe(e,ju,t),gxe(e,Yc,t)]),e.f&&(n[0]=b.Math.max(n[0],n[2]),n[2]=n[0]),n}function B7n(e,t,n){var r;try{UV(e,t+e.j,n+e.k,!1,!0)}catch(s){throw s=ms(s),De(s,77)?(r=s,ue(new rc(r.g+hG+t+To+n+")."))):ue(s)}}function F7n(e,t,n){var r;try{UV(e,t+e.j,n+e.k,!0,!1)}catch(s){throw s=ms(s),De(s,77)?(r=s,ue(new rc(r.g+hG+t+To+n+")."))):ue(s)}}function ygt(e){var t;rs(e,(Nt(),y3))&&(t=l(Q(e,y3),21),t.Hc((Vy(),k0))?(t.Mc(k0),t.Fc(T0)):t.Hc(T0)&&(t.Mc(T0),t.Fc(k0)))}function xgt(e){var t;rs(e,(Nt(),y3))&&(t=l(Q(e,y3),21),t.Hc((Vy(),C0))?(t.Mc(C0),t.Fc(qf)):t.Hc(qf)&&(t.Mc(qf),t.Fc(C0)))}function Iue(e,t,n,r){var s,o,f,g;return e.a==null&&j9n(e,t),f=t.b.j.c.length,o=n.d.p,g=r.d.p,s=g-1,s<0&&(s=f-1),o<=s?e.a[s]-e.a[o]:e.a[f-1]-e.a[o]+e.a[s]}function R7n(e){var t,n;if(!e.b)for(e.b=KH(l(e.f,27).kh().i),n=new ar(l(e.f,27).kh());n.e!=n.i.gc();)t=l(dr(n),135),wt(e.b,new use(t));return e.b}function j7n(e){var t,n;if(!e.e)for(e.e=KH(loe(l(e.f,27)).i),n=new ar(loe(l(e.f,27)));n.e!=n.i.gc();)t=l(dr(n),123),wt(e.e,new fQe(t));return e.e}function kgt(e){var t,n;if(!e.a)for(e.a=KH(PH(l(e.f,27)).i),n=new ar(PH(l(e.f,27)));n.e!=n.i.gc();)t=l(dr(n),27),wt(e.a,new mae(e,t));return e.a}function Ww(e){var t;if(!e.C&&(e.D!=null||e.B!=null))if(t=SDn(e),t)e.hl(t);else try{e.hl(null)}catch(n){if(n=ms(n),!De(n,63))throw ue(n)}return e.C}function $7n(e){switch(e.q.g){case 5:Ggt(e,(_t(),Xn)),Ggt(e,Mr);break;case 4:Wvt(e,(_t(),Xn)),Wvt(e,Mr);break;default:Qpt(e,(_t(),Xn)),Qpt(e,Mr)}}function z7n(e){switch(e.q.g){case 5:Kgt(e,(_t(),sr)),Kgt(e,Zn);break;case 4:Yvt(e,(_t(),sr)),Yvt(e,Zn);break;default:Jpt(e,(_t(),sr)),Jpt(e,Zn)}}function a6(e,t){var n,r,s;for(s=new za,r=e.Kc();r.Ob();)n=l(r.Pb(),36),YT(n,s.a,0),s.a+=n.f.a+t,s.b=b.Math.max(s.b,n.f.b);return s.b>0&&(s.b+=t),s}function vV(e,t){var n,r,s;for(s=new za,r=e.Kc();r.Ob();)n=l(r.Pb(),36),YT(n,0,s.b),s.b+=n.f.b+t,s.a=b.Math.max(s.a,n.f.a);return s.a>0&&(s.a+=t),s}function Tgt(e){var t,n,r;for(r=Ni,n=new K(e.a);n.a<n.c.c.length;)t=l(re(n),10),rs(t,(ft(),Yi))&&(r=b.Math.min(r,l(Q(t,Yi),17).a));return r}function Egt(e,t){var n,r;if(t.length==0)return 0;for(n=uoe(e.a,t[0],(_t(),Zn)),n+=uoe(e.a,t[t.length-1],sr),r=0;r<t.length;r++)n+=E9n(e,r,t);return n}function Cgt(){KA(),this.c=new mt,this.i=new mt,this.e=new bd,this.f=new bd,this.g=new bd,this.j=new mt,this.a=new mt,this.b=new Nr,this.k=new Nr}function Oue(e,t){var n,r;return e.Db>>16==6?e.Cb.Th(e,5,c1,t):(r=jo(l(Mn((n=l(Gn(e,16),29),n||e.ii()),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function q7n(e){Jk();var t=e.e;if(t&&t.stack){var n=t.stack,r=t+`
`;return n.substring(0,r.length)==r&&(n=n.substring(r.length)),n.split(`
`)}return[]}function H7n(e){var t;return t=(_ft(),V6t),t[e>>>28]|t[e>>24&15]<<4|t[e>>20&15]<<8|t[e>>16&15]<<12|t[e>>12&15]<<16|t[e>>8&15]<<20|t[e>>4&15]<<24|t[e&15]<<28}function Sgt(e){var t,n,r;e.b==e.c&&(r=e.a.length,n=Z7e(b.Math.max(8,r))<<1,e.b!=0?(t=o0(e.a,n),qft(e,t,r),e.a=t,e.b=0):uy(e.a,n),e.c=r)}function U7n(e,t){var n;return n=e.b,n.pf((bi(),eh))?n.ag()==(_t(),Zn)?-n.Mf().a-ze(Ge(n.of(eh))):t+ze(Ge(n.of(eh))):n.ag()==(_t(),Zn)?-n.Mf().a:t}function QN(e){var t;return e.b.c.length!=0&&l(Rt(e.b,0),72).a?l(Rt(e.b,0),72).a:(t=hoe(e),t??""+(e.c?bc(e.c.a,e,0):-1))}function wV(e){var t;return e.f.c.length!=0&&l(Rt(e.f,0),72).a?l(Rt(e.f,0),72).a:(t=hoe(e),t??""+(e.i?bc(e.i.j,e,0):-1))}function V7n(e,t){var n,r;if(t<0||t>=e.gc())return null;for(n=t;n<e.gc();++n)if(r=l(e.Xb(n),131),n==e.gc()-1||!r.o)return new fa(bt(n),r);return null}function G7n(e,t,n){var r,s,o,f,g;for(o=e.c,g=n?t:e,r=n?e:t,s=g.p+1;s<r.p;++s)if(f=l(Rt(o.a,s),10),!(f.k==(Jn(),K1)||y8n(f)))return!1;return!0}function kxe(e){var t,n,r,s,o;for(o=0,s=oa,r=0,n=new K(e.a);n.a<n.c.c.length;)t=l(re(n),172),o+=t.r+(r>0?e.c:0),s=b.Math.max(s,t.d),++r;e.e=o,e.b=s}function K7n(e){var t,n;if(!e.b)for(e.b=KH(l(e.f,123).kh().i),n=new ar(l(e.f,123).kh());n.e!=n.i.gc();)t=l(dr(n),135),wt(e.b,new use(t));return e.b}function W7n(e,t){var n,r,s;if(t.dc())return jk(),jk(),yF;for(n=new uit(e,t.gc()),s=new ar(e);s.e!=s.i.gc();)r=dr(s),t.Hc(r)&&zr(n,r);return n}function Txe(e,t,n,r){return t==0?r?(!e.o&&(e.o=new yl((au(),Ag),R2,e,0)),e.o):(!e.o&&(e.o=new yl((au(),Ag),R2,e,0)),fN(e.o)):lV(e,t,n,r)}function Nue(e){var t,n;if(e.rb)for(t=0,n=e.rb.i;t<n;++t)NO(Oe(e.rb,t));if(e.vb)for(t=0,n=e.vb.i;t<n;++t)NO(Oe(e.vb,t));W_((kl(),no),e),e.Bb|=1}function as(e,t,n,r,s,o,f,g,w,T,C,L,F,z){return s2t(e,t,r,null,s,o,f,g,w,T,F,!0,z),P8e(e,C),De(e.Cb,90)&&Uy(Gl(l(e.Cb,90)),2),n&&N7e(e,n),B8e(e,L),e}function Y7n(e){var t,n;if(e==null)return null;n=0;try{n=Oh(e,ao,Ni)&ta}catch(r){if(r=ms(r),De(r,130))t=hU(e),n=t[0];else throw ue(r)}return _N(n)}function X7n(e){var t,n;if(e==null)return null;n=0;try{n=Oh(e,ao,Ni)&ta}catch(r){if(r=ms(r),De(r,130))t=hU(e),n=t[0];else throw ue(r)}return _N(n)}function Q7n(e,t){var n,r,s;return s=e.h-t.h,s<0||(n=e.l-t.l,r=e.m-t.m+(n>>22),s+=r>>22,s<0)?!1:(e.l=n&Ql,e.m=r&Ql,e.h=s&pp,!0)}function Pue(e,t,n,r,s,o,f){var g,w;return!(t.Te()&&(w=e.a.Ne(n,r),w<0||!s&&w==0)||t.Ue()&&(g=e.a.Ne(n,o),g>0||!f&&g==0))}function J7n(e,t){ST();var n;if(n=e.j.g-t.j.g,n!=0)return 0;switch(e.j.g){case 2:return tue(t,SLe)-tue(e,SLe);case 4:return tue(e,CLe)-tue(t,CLe)}return 0}function Z7n(e){switch(e.g){case 0:return V1e;case 1:return G1e;case 2:return K1e;case 3:return W1e;case 4:return iW;case 5:return Y1e;default:return null}}function cc(e,t,n){var r,s;return r=(s=new rse,ev(s,t),Bu(s,n),zr((!e.c&&(e.c=new nt(L3,e,12,10)),e.c),s),s),d2(r,0),Oy(r,1),v2(r,!0),m2(r,!0),r}function wx(e,t){var n,r;if(t>=e.i)throw ue(new iae(t,e.i));return++e.j,n=e.g[t],r=e.i-t-1,r>0&&gu(e.g,t+1,e.g,t,r),Ss(e.g,--e.i,null),e.Qi(t,n),e.Ni(),n}function _gt(e,t){var n,r;return e.Db>>16==17?e.Cb.Th(e,21,Uf,t):(r=jo(l(Mn((n=l(Gn(e,16),29),n||e.ii()),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function e8n(e){var t,n,r,s;for(Cn(),Gs(e.c,e.a),s=new K(e.c);s.a<s.c.c.length;)for(r=re(s),n=new K(e.b);n.a<n.c.c.length;)t=l(re(n),693),t.bf(r)}function t8n(e){var t,n,r,s;for(Cn(),Gs(e.c,e.a),s=new K(e.c);s.a<s.c.c.length;)for(r=re(s),n=new K(e.b);n.a<n.c.c.length;)t=l(re(n),382),t.bf(r)}function n8n(e){var t,n,r,s,o;for(s=Ni,o=null,r=new K(e.d);r.a<r.c.c.length;)n=l(re(r),218),n.d.j^n.e.j&&(t=n.e.e-n.d.e-n.a,t<s&&(s=t,o=n));return o}function Exe(){Exe=U,$8t=new mn(ZTe,(Hn(),!1)),F8t=new mn(eEe,100),EAe=(hA(),p1e),R8t=new mn(tEe,EAe),j8t=new mn(nEe,Dd),z8t=new mn(rEe,bt(Ni))}function Agt(e,t,n){var r,s,o,f,g,w,T,C;for(T=0,s=e.a[t],o=0,f=s.length;o<f;++o)for(r=s[o],C=CA(r,n),w=C.Kc();w.Ob();)g=l(w.Pb(),12),Ti(e.f,g,bt(T++))}function r8n(e,t,n){var r,s,o,f;if(n)for(s=n.a.length,r=new jm(s),f=(r.b-r.a)*r.c<0?(gb(),lm):new mb(r);f.Ob();)o=l(f.Pb(),17),xn(e,t,kx(My(n,o.a)))}function i8n(e,t,n){var r,s,o,f;if(n)for(s=n.a.length,r=new jm(s),f=(r.b-r.a)*r.c<0?(gb(),lm):new mb(r);f.Ob();)o=l(f.Pb(),17),xn(e,t,kx(My(n,o.a)))}function Cxe(e){Nb();var t;return t=l(BA(Y8(e.k),We(Mo,ou,64,2,0,1)),126),iT(t,0,t.length,null),t[0]==(_t(),Xn)&&t[1]==Zn&&(Ss(t,0,Zn),Ss(t,1,Xn)),t}function Lgt(e,t,n){var r,s,o;return s=GCn(e,t,n),o=pke(e,s),Joe(e.b),Ioe(e,t,n),Cn(),Gs(s,new vXe(e)),r=pke(e,s),Joe(e.b),Ioe(e,n,t),new fa(bt(o),bt(r))}function Mgt(){Mgt=U,lEt=hi(new Js,(so(),wc),(po(),qL)),jW=new ws("linearSegments.inputPrio",bt(0)),$W=new ws("linearSegments.outputPrio",bt(0))}function yx(){yx=U,zW=new Cq("P1_TREEIFICATION",0),hM=new Cq("P2_NODE_ORDERING",1),fM=new Cq("P3_NODE_PLACEMENT",2),dM=new Cq("P4_EDGE_ROUTING",3)}function s8n(e){var t,n,r,s;for(n=0,t=0,s=new ar(e);s.e!=s.i.gc();)r=l(dr(s),27),n=b.Math.max(r.g+r.i,n),t=b.Math.max(r.f+r.j,t);return new lt(n,t)}function a8n(e,t){var n,r,s,o;for(o=0,r=new K(e);r.a<r.c.c.length;)n=l(re(r),27),o+=b.Math.pow(n.g*n.f-t,2);return s=b.Math.sqrt(o/(e.c.length-1)),s}function Ih(){Ih=U,cF=new Lq("UNKNOWN",0),Cg=new Lq("ABOVE",1),tm=new Lq("BELOW",2),oF=new Lq("INLINE",3),new ws("org.eclipse.elk.labelSide",cF)}function Dgt(e,t){var n;if(e.Yi()&&t!=null){for(n=0;n<e.i;++n)if(Fi(t,e.g[n]))return n}else for(n=0;n<e.i;++n)if(qe(e.g[n])===qe(t))return n;return-1}function o8n(e,t,n){var r,s;return t.c==(qo(),$u)&&n.c==Fl?-1:t.c==Fl&&n.c==$u?1:(r=v1t(t.a,e.a),s=v1t(n.a,e.a),t.c==$u?s-r:r-s)}function $y(e,t,n){if(n&&(t<0||t>n.a.c.length))throw ue(new Wn("index must be >= 0 and <= layer node count"));e.c&&sl(e.c.a,e),e.c=n,n&&kw(n.a,t,e)}function Igt(e,t){var n,r,s;for(r=new lr(fr(up(e).a.Kc(),new j));Rr(r);)return n=l(yr(r),18),s=l(t.Kb(n),10),new ZS(Xr(s.n.b+s.o.b/2));return c_(),c_(),I0e}function Ogt(e,t){this.c=new Nr,this.a=e,this.b=t,this.d=l(Q(e,(ft(),q6)),312),qe(Q(e,(Nt(),lDe)))===qe((bN(),sW))?this.e=new SJe:this.e=new CJe}function FA(e,t){var n,r;return r=null,e.pf((bi(),i9))&&(n=l(e.of(i9),96),n.pf(t)&&(r=n.of(t))),r==null&&e.Tf()&&(r=e.Tf().of(t)),r==null&&(r=It(t)),r}function Bue(e,t){var n,r;n=e.fd(t);try{return r=n.Pb(),n.Qb(),r}catch(s){throw s=ms(s),De(s,112)?ue(new rc("Can't remove element "+t)):ue(s)}}function c8n(e,t){var n,r,s;if(r=new iq,s=new n8e(r.q.getFullYear()-Rb,r.q.getMonth(),r.q.getDate()),n=wLn(e,t,s),n==0||n<t.length)throw ue(new Wn(t));return s}function Sxe(e,t){var n,r,s;for(tr(t),a4e(t!=e),s=e.b.c.length,r=t.Kc();r.Ob();)n=r.Pb(),wt(e.b,tr(n));return s!=e.b.c.length?(h8e(e,0),!0):!1}function JN(){JN=U,AAe=(bi(),nF),new qa(Vge,(Hn(),!0)),H8t=Mv,U8t=a7,V8t=em,q8t=s7,MAe=rF,G8t=L4,_Ae=(Exe(),$8t),CAe=R8t,SAe=j8t,LAe=z8t,DK=F8t}function u8n(e,t){if(t==e.c)return e.d;if(t==e.d)return e.c;throw ue(new Wn("'port' must be either the source port or target port of the edge."))}function l8n(e,t,n){var r,s;switch(s=e.o,r=e.d,t.g){case 1:return-r.d-n;case 3:return s.b+r.a+n;case 2:return s.a+r.c+n;case 4:return-r.b-n;default:return 0}}function _xe(e,t,n,r){var s,o,f,g;for(Ha(t,l(r.Xb(0),30)),g=r.kd(1,r.gc()),o=l(n.Kb(t),20).Kc();o.Ob();)s=l(o.Pb(),18),f=s.c.i==t?s.d.i:s.c.i,_xe(e,f,n,g)}function Ngt(e){var t;return t=new Nr,rs(e,(ft(),cde))?l(Q(e,cde),85):(Os(ji(new vn(null,new kn(e.j,16)),new aee),new jYe(t)),rt(e,cde,t),t)}function Pgt(e,t){var n,r,s,o,f;for(r=0,s=0,n=0,f=new K(e);f.a<f.c.c.length;)o=l(re(f),186),r=b.Math.max(r,o.e),s+=o.b+(n>0?t:0),++n;return new lt(r,s)}function Axe(e,t){var n,r;return e.Db>>16==6?e.Cb.Th(e,6,js,t):(r=jo(l(Mn((n=l(Gn(e,16),29),n||(au(),kY)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function Lxe(e,t){var n,r;return e.Db>>16==7?e.Cb.Th(e,1,pF,t):(r=jo(l(Mn((n=l(Gn(e,16),29),n||(au(),DPe)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function Mxe(e,t){var n,r;return e.Db>>16==9?e.Cb.Th(e,9,Li,t):(r=jo(l(Mn((n=l(Gn(e,16),29),n||(au(),OPe)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function Bgt(e,t){var n,r;return e.Db>>16==5?e.Cb.Th(e,9,DY,t):(r=jo(l(Mn((n=l(Gn(e,16),29),n||(En(),$2)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function Fgt(e,t){var n,r;return e.Db>>16==7?e.Cb.Th(e,6,c1,t):(r=jo(l(Mn((n=l(Gn(e,16),29),n||(En(),q2)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function Dxe(e,t){var n,r;return e.Db>>16==3?e.Cb.Th(e,0,mF,t):(r=jo(l(Mn((n=l(Gn(e,16),29),n||(En(),j2)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function Rgt(){this.a=new D$,this.g=new pV,this.j=new pV,this.b=new Nr,this.d=new pV,this.i=new pV,this.k=new Nr,this.c=new Nr,this.e=new Nr,this.f=new Nr}function h8n(e,t,n){var r,s,o;for(n<0&&(n=0),o=e.i,s=n;s<o;s++)if(r=Oe(e,s),t==null){if(r==null)return s}else if(qe(t)===qe(r)||Fi(t,r))return s;return-1}function f8n(e,t){var n,r;return n=t.qi(e.a),n?(r=Zr(t1((!n.b&&(n.b=new lh((En(),Do),Qc,n)),n.b),cK)),wn(aB,r)?W_(e,Ah(t.qk())):r):null}function jT(e,t){var n,r;if(t){if(t==e)return!0;for(n=0,r=l(t,54).Ph();r&&r!=t;r=r.Ph()){if(++n>xhe)return jT(e,r);if(r==e)return!0}}return!1}function d8n(e){switch(Wq(),e.q.g){case 5:y2t(e,(_t(),Xn)),y2t(e,Mr);break;case 4:xbt(e,(_t(),Xn)),xbt(e,Mr);break;default:Ewt(e,(_t(),Xn)),Ewt(e,Mr)}}function g8n(e){switch(Wq(),e.q.g){case 5:j2t(e,(_t(),sr)),j2t(e,Zn);break;case 4:Udt(e,(_t(),sr)),Udt(e,Zn);break;default:Cwt(e,(_t(),sr)),Cwt(e,Zn)}}function p8n(e){var t,n;t=l(Q(e,(p0(),M8t)),17),t?(n=t.a,n==0?rt(e,(Cb(),MK),new sue):rt(e,(Cb(),MK),new QH(n))):rt(e,(Cb(),MK),new QH(1))}function b8n(e,t){var n;switch(n=e.i,t.g){case 1:return-(e.n.b+e.o.b);case 2:return e.n.a-n.o.a;case 3:return e.n.b-n.o.b;case 4:return-(e.n.a+e.o.a)}return 0}function m8n(e,t){switch(e.g){case 0:return t==(lf(),Yb)?XK:QK;case 1:return t==(lf(),Yb)?XK:TB;case 2:return t==(lf(),Yb)?TB:QK;default:return TB}}function ZN(e,t){var n,r,s;for(sl(e.a,t),e.e-=t.r+(e.a.c.length==0?0:e.c),s=jCe,r=new K(e.a);r.a<r.c.c.length;)n=l(re(r),172),s=b.Math.max(s,n.d);e.b=s}function Ixe(e,t){var n,r;return e.Db>>16==3?e.Cb.Th(e,12,Li,t):(r=jo(l(Mn((n=l(Gn(e,16),29),n||(au(),MPe)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function Oxe(e,t){var n,r;return e.Db>>16==11?e.Cb.Th(e,10,Li,t):(r=jo(l(Mn((n=l(Gn(e,16),29),n||(au(),IPe)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function jgt(e,t){var n,r;return e.Db>>16==10?e.Cb.Th(e,11,Uf,t):(r=jo(l(Mn((n=l(Gn(e,16),29),n||(En(),z2)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function $gt(e,t){var n,r;return e.Db>>16==10?e.Cb.Th(e,12,Vf,t):(r=jo(l(Mn((n=l(Gn(e,16),29),n||(En(),F4)),e.Db>>16),19)),e.Cb.Th(e,r.n,r.f,t))}function Of(e){var t;return!(e.Bb&1)&&e.r&&e.r.Vh()&&(t=l(e.r,54),e.r=l(Lb(e,t),142),e.r!=t&&e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,9,8,t,e.r))),e.r}function Fue(e,t,n){var r;return r=he(le(Oa,1),tc,28,15,[s9e(e,(e1(),Wc),t,n),s9e(e,ju,t,n),s9e(e,Yc,t,n)]),e.f&&(r[0]=b.Math.max(r[0],r[2]),r[2]=r[0]),r}function v8n(e,t){var n,r,s;if(s=q6n(e,t),s.c.length!=0)for(Gs(s,new bS),n=s.c.length,r=0;r<n;r++)UT(e,(Sn(r,s.c.length),l(s.c[r],293)),zSn(e,s,r))}function w8n(e){var t,n,r,s;for(s=l($i(e.a,(zy(),JK)),15).Kc();s.Ob();)for(r=l(s.Pb(),105),n=Y8(r.k).Kc();n.Ob();)t=l(n.Pb(),64),Gk(e,r,t,($w(),Kb),1)}function y8n(e){var t,n;if(e.k==(Jn(),Aa)){for(n=new lr(fr(up(e).a.Kc(),new j));Rr(n);)if(t=l(yr(n),18),!Ao(t)&&e.c==$xe(t,e).c)return!0}return!1}function x8n(e){var t,n;if(e.k==(Jn(),Aa)){for(n=new lr(fr(up(e).a.Kc(),new j));Rr(n);)if(t=l(yr(n),18),!Ao(t)&&t.c.i.c==t.d.i.c)return!0}return!1}function k8n(e,t){var n,r,s,o,f;if(t)for(s=t.a.length,n=new jm(s),f=(n.b-n.a)*n.c<0?(gb(),lm):new mb(n);f.Ob();)o=l(f.Pb(),17),r=eT(t,o.a),r&&gbt(e,r)}function T8n(){j3e();var e,t;for(lOn((wb(),Un)),eOn(Un),Nue(Un),KPe=(En(),td),t=new K(nBe);t.a<t.c.c.length;)e=l(re(t),248),tE(e,td,null);return!0}function Nxe(e,t){var n,r,s,o,f,g,w,T;return w=e.h>>19,T=t.h>>19,w!=T?T-w:(s=e.h,g=t.h,s!=g?s-g:(r=e.m,f=t.m,r!=f?r-f:(n=e.l,o=t.l,n-o)))}function yV(){yV=U,Y_e=(qV(),t1e),W_e=new mn(OTe,Y_e),K_e=(dU(),e1e),G_e=new mn(NTe,K_e),V_e=(aV(),Z0e),U_e=new mn(PTe,V_e),H_e=new mn(BTe,(Hn(),!0))}function RA(e,t,n){var r,s;r=t*n,De(e.g,154)?(s=sx(e),s.f.d?s.f.a||(e.d.a+=r+H1):(e.d.d-=r+H1,e.d.a+=r+H1)):De(e.g,10)&&(e.d.d-=r,e.d.a+=2*r)}function zgt(e,t,n){var r,s,o,f,g;for(s=e[n.g],g=new K(t.d);g.a<g.c.c.length;)f=l(re(g),105),o=f.i,o&&o.i==n&&(r=f.d[n.g],s[r]=b.Math.max(s[r],o.j.b))}function E8n(e,t){var n,r,s,o,f;for(r=0,s=0,n=0,f=new K(t.d);f.a<f.c.c.length;)o=l(re(f),315),mV(o),r=b.Math.max(r,o.b),s+=o.d+(n>0?e.b:0),++n;t.b=r,t.e=s}function qgt(e){var t,n,r;if(r=e.b,Oet(e.i,r.length)){for(n=r.length*2,e.b=We(B0e,IP,303,n,0,1),e.c=We(B0e,IP,303,n,0,1),e.f=n-1,e.i=0,t=e.a;t;t=t.c)cP(e,t,t);++e.g}}function C8n(e,t,n,r){var s,o,f,g;for(s=0;s<t.o;s++)for(o=s-t.j+n,f=0;f<t.p;f++)g=f-t.k+r,s6(t,s,f)?v7n(e,o,g)||B7n(e,o,g):hgt(t,s,f)&&(ogt(e,o,g)||F7n(e,o,g))}function jA(e,t){return e.b.a=b.Math.min(e.b.a,t.c),e.b.b=b.Math.min(e.b.b,t.d),e.a.a=b.Math.max(e.a.a,t.c),e.a.b=b.Math.max(e.a.b,t.d),qn(e.c,t),!0}function S8n(e,t,n){var r;r=t.c.i,r.k==(Jn(),Aa)?(rt(e,(ft(),a1),l(Q(r,a1),12)),rt(e,$f,l(Q(r,$f),12))):(rt(e,(ft(),a1),t.c),rt(e,$f,n.d))}function $T(e,t,n){d6();var r,s,o,f,g,w;return f=t/2,o=n/2,r=b.Math.abs(e.a),s=b.Math.abs(e.b),g=1,w=1,r>f&&(g=f/r),s>o&&(w=o/s),md(e,b.Math.min(g,w)),e}function _8n(){WV();var e,t;try{if(t=l(Uxe((db(),Gf),TE),2113),t)return t}catch(n){if(n=ms(n),De(n,103))e=n,O5e((Jr(),e));else throw ue(n)}return new ak}function A8n(){WV();var e,t;try{if(t=l(Uxe((db(),Gf),Ff),2040),t)return t}catch(n){if(n=ms(n),De(n,103))e=n,O5e((Jr(),e));else throw ue(n)}return new g8}function L8n(){Jlt();var e,t;try{if(t=l(Uxe((db(),Gf),bv),2122),t)return t}catch(n){if(n=ms(n),De(n,103))e=n,O5e((Jr(),e));else throw ue(n)}return new hk}function M8n(e,t,n){var r,s;return s=e.e,e.e=t,e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,4,s,t),n?n.nj(r):n=r),s!=t&&(t?n=tE(e,OV(e,t),n):n=tE(e,e.a,n)),n}function Hgt(){iq.call(this),this.e=-1,this.a=!1,this.p=ao,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=ao}function D8n(e,t){var n,r,s;if(r=e.b.d.d,e.a||(r+=e.b.d.a),s=t.b.d.d,t.a||(s+=t.b.d.a),n=Xi(r,s),n==0){if(!e.a&&t.a)return-1;if(!t.a&&e.a)return 1}return n}function I8n(e,t){var n,r,s;if(r=e.b.b.d,e.a||(r+=e.b.b.a),s=t.b.b.d,t.a||(s+=t.b.b.a),n=Xi(r,s),n==0){if(!e.a&&t.a)return-1;if(!t.a&&e.a)return 1}return n}function O8n(e,t){var n,r,s;if(r=e.b.g.d,e.a||(r+=e.b.g.a),s=t.b.g.d,t.a||(s+=t.b.g.a),n=Xi(r,s),n==0){if(!e.a&&t.a)return-1;if(!t.a&&e.a)return 1}return n}function Pxe(){Pxe=U,W8t=wl(hi(hi(hi(new Js,(so(),Cu),(po(),hLe)),Cu,fLe),wc,dLe),wc,eLe),X8t=hi(hi(new Js,Cu,KAe),Cu,tLe),Y8t=wl(new Js,wc,rLe)}function N8n(e){var t,n,r,s,o;for(t=l(Q(e,(ft(),WL)),85),o=e.n,r=t.Cc().Kc();r.Ob();)n=l(r.Pb(),314),s=n.i,s.c+=o.a,s.d+=o.b,n.c?cmt(n):umt(n);rt(e,WL,null)}function P8n(e,t,n){var r,s;switch(s=e.b,r=s.d,t.g){case 1:return-r.d-n;case 2:return s.o.a+r.c+n;case 3:return s.o.b+r.a+n;case 4:return-r.b-n;default:return-1}}function B8n(e,t,n){var r,s;for(n.Ug("Interactive node placement",1),e.a=l(Q(t,(ft(),q6)),312),s=new K(t.b);s.a<s.c.c.length;)r=l(re(s),30),ASn(e,r);n.Vg()}function F8n(e){var t,n,r,s,o;if(r=0,s=k6,e.b)for(t=0;t<360;t++)n=t*.017453292519943295,Ike(e,e.d,0,0,fv,n),o=e.b.Dg(e.d),o<s&&(r=n,s=o);Ike(e,e.d,0,0,fv,r)}function R8n(e,t){var n,r,s,o;for(o=new Nr,t.e=null,t.f=null,r=new K(t.i);r.a<r.c.c.length;)n=l(re(r),68),s=l(or(e.g,n.a),42),n.a=EH(n.b),Ti(o,n.a,s);e.g=o}function j8n(e,t,n){var r,s,o,f,g,w;for(s=t-e.e,o=s/e.d.c.length,f=0,w=new K(e.d);w.a<w.c.c.length;)g=l(re(w),315),r=e.b-g.b+n,fdt(g,g.e+f*o,g.f),x7n(g,o,r),++f}function Ugt(e){var t;if(e.f._j(),e.b!=-1){if(++e.b,t=e.f.d[e.a],e.b<t.i)return;++e.a}for(;e.a<e.f.d.length;++e.a)if(t=e.f.d[e.a],t&&t.i!=0){e.b=0;return}e.b=-1}function $8n(e,t){var n,r,s;for(s=t.c.length,n=qkn(e,s==0?"":(Sn(0,t.c.length),Zr(t.c[0]))),r=1;r<s&&n;++r)n=l(n,54).Zh((Sn(r,t.c.length),Zr(t.c[r])));return n}function Vgt(e,t){var n,r;for(r=new K(t);r.a<r.c.c.length;)n=l(re(r),10),e.c[n.c.p][n.p].a=d5e(e.i),e.c[n.c.p][n.p].d=ze(e.c[n.c.p][n.p].a),e.c[n.c.p][n.p].b=1}function z8n(e,t){var n,r,s,o;for(o=0,r=new K(e);r.a<r.c.c.length;)n=l(re(r),163),o+=b.Math.pow(vl(n)*hh(n)-t,2);return s=b.Math.sqrt(o/(e.c.length-1)),s}function Ggt(e,t){var n,r,s,o;for(o=0,s=l(l($i(e.r,t),21),87).Kc();s.Ob();)r=l(s.Pb(),117),o=b.Math.max(o,r.e.a+r.b.Mf().a);n=l(Zo(e.b,t),127),n.n.b=0,n.a.a=o}function Kgt(e,t){var n,r,s,o;for(n=0,o=l(l($i(e.r,t),21),87).Kc();o.Ob();)s=l(o.Pb(),117),n=b.Math.max(n,s.e.b+s.b.Mf().b);r=l(Zo(e.b,t),127),r.n.d=0,r.a.b=n}function Wgt(e,t,n,r){var s,o,f;return o=T_n(e,t,n,r),f=Tke(e,o),Kue(e,t,n,r),Joe(e.b),Cn(),Gs(o,new wXe(e)),s=Tke(e,o),Kue(e,n,t,r),Joe(e.b),new fa(bt(f),bt(s))}function q8n(e,t){var n;t.Ug("Delaunay triangulation",1),n=new mt,Uu(e.i,new tQe(n)),Ft(Pt(Q(e,(mT(),$L)))),e.e?Ga(e.e,qwt(n)):e.e=qwt(n),t.Vg()}function H8n(e,t,n){var r,s;for(MO(e,e.j+t,e.k+n),s=new ar((!e.a&&(e.a=new Qs(qh,e,5)),e.a));s.e!=s.i.gc();)r=l(dr(s),377),cae(r,r.a+t,r.b+n);LO(e,e.b+t,e.c+n)}function Bxe(e,t,n,r){switch(n){case 7:return!e.e&&(e.e=new An(js,e,7,4)),Fu(e.e,t,r);case 8:return!e.d&&(e.d=new An(js,e,8,5)),Fu(e.d,t,r)}return Uue(e,t,n,r)}function Fxe(e,t,n,r){switch(n){case 7:return!e.e&&(e.e=new An(js,e,7,4)),ko(e.e,t,r);case 8:return!e.d&&(e.d=new An(js,e,8,5)),ko(e.d,t,r)}return _ce(e,t,n,r)}function U8n(e,t,n){var r,s,o,f,g;if(n)for(o=n.a.length,r=new jm(o),g=(r.b-r.a)*r.c<0?(gb(),lm):new mb(r);g.Ob();)f=l(g.Pb(),17),s=eT(n,f.a),s&&w2t(e,s,t)}function eP(e,t,n){var r,s,o,f,g;return e._j(),o=t==null?0:ts(t),e.f>0&&(f=(o&Ni)%e.d.length,s=R9e(e,f,o,t),s)?(g=s.nd(n),g):(r=e.ck(o,t,n),e.c.Fc(r),null)}function Rxe(e,t){var n,r,s,o;switch(b2(e,t).Kl()){case 3:case 2:{for(n=p6(t),s=0,o=n.i;s<o;++s)if(r=l(Oe(n,s),35),Lw(ac(e,r))==5)return r;break}}return null}function V8n(e){var t,n,r,s,o;if(Oet(e.f,e.b.length))for(r=We(R6t,IP,227,e.b.length*2,0,1),e.b=r,s=r.length-1,n=e.a;n!=e;n=n._d())o=l(n,227),t=o.d&s,o.a=r[t],r[t]=o}function G8n(e){var t,n;return n=l(Q(e,(ft(),_u)),21),t=$q(SEt),n.Hc((Ho(),R6))&&Dh(t,LEt),n.Hc(KL)&&Dh(t,MEt),n.Hc($E)&&Dh(t,_Et),n.Hc(zE)&&Dh(t,AEt),t}function jxe(e){if(e<0)throw ue(new Wn("The input must be positive"));return e<uNe.length?Vm(uNe[e]):b.Math.sqrt(fv*e)*(k4n(e,e)/y8e(2.718281828459045,e))}function zT(e,t){var n;if(e.Yi()&&t!=null){for(n=0;n<e.i;++n)if(Fi(t,e.g[n]))return!0}else for(n=0;n<e.i;++n)if(qe(e.g[n])===qe(t))return!0;return!1}function K8n(e,t){if(t==null){for(;e.a.Ob();)if(l(e.a.Pb(),44).md()==null)return!0}else for(;e.a.Ob();)if(Fi(t,l(e.a.Pb(),44).md()))return!0;return!1}function W8n(e,t){var n,r,s;return t===e?!0:De(t,678)?(s=l(t,2046),Cdt((r=e.g,r||(e.g=new WI(e))),(n=s.g,n||(s.g=new WI(s))))):!1}function Y8n(e){var t,n,r,s;for(t="gA",n="vz",s=b.Math.min(e.length,5),r=s-1;r>=0;r--)if(wn(e[r].d,t)||wn(e[r].d,n)){e.length>=r+1&&e.splice(0,r+1);break}return e}function tP(e,t){var n;return xc(e)&&xc(t)&&(n=e/t,PP<n&&n<ov)?n<0?b.Math.ceil(n):b.Math.floor(n):Sb(Jke(xc(e)?Mf(e):e,xc(t)?Mf(t):t,!1))}function $xe(e,t){if(t==e.c.i)return e.d.i;if(t==e.d.i)return e.c.i;throw ue(new Wn("'node' must either be the source node or target node of the edge."))}function X8n(e){var t,n,r,s;if(s=l(Q(e,(ft(),nMe)),36),s){for(r=new za,t=Ja(e.c.i);t!=s;)n=t.e,t=Ja(n),yw(Pi(Pi(r,n.n),t.c),t.d.b,t.d.d);return r}return gxt}function Q8n(e){var t;t=l(Q(e,(ft(),v3)),337),Os(Pc(new vn(null,new kn(t.d,16)),new tee),new OYe(e)),Os(ji(new vn(null,new kn(t.d,16)),new nee),new PYe(e))}function Rue(e,t){var n,r,s,o;for(s=t?qs(e):Ea(e),r=new lr(fr(s.a.Kc(),new j));Rr(r);)if(n=l(yr(r),18),o=$xe(n,e),o.k==(Jn(),Aa)&&o.c!=e.c)return o;return null}function J8n(e){var t,n,r;for(n=new K(e.p);n.a<n.c.c.length;)t=l(re(n),10),t.k==(Jn(),Bs)&&(r=t.o.b,e.i=b.Math.min(e.i,r),e.g=b.Math.max(e.g,r))}function Ygt(e,t,n){var r,s,o;for(o=new K(t);o.a<o.c.c.length;)r=l(re(o),10),e.c[r.c.p][r.p].e=!1;for(s=new K(t);s.a<s.c.c.length;)r=l(re(s),10),iTe(e,r,n)}function jue(e,t,n){var r,s;r=n6(t.j,n.s,n.c)+n6(n.e,t.s,t.c),s=n6(n.j,t.s,t.c)+n6(t.e,n.s,n.c),r==s?r>0&&(e.b+=2,e.a+=r):(e.b+=1,e.a+=b.Math.min(r,s))}function Xgt(e){var t;t=l(Q(l(hf(e.b,0),40),(Vc(),IIe)),107),rt(e,(Zi(),ZE),new lt(0,0)),zmt(new lN,e,t.b+t.c-ze(Ge(Q(e,Xde))),t.d+t.a-ze(Ge(Q(e,Qde))))}function Qgt(e,t){var n,r;if(r=!1,Da(t)&&(r=!0,Z8(e,new Ty(Zr(t)))),r||De(t,242)&&(r=!0,Z8(e,(n=I4e(l(t,242)),new yk(n)))),!r)throw ue(new hse(PSe))}function Z8n(e,t,n,r){var s,o,f;return s=new rp(e.e,1,10,(f=t.c,De(f,90)?l(f,29):(En(),Kf)),(o=n.c,De(o,90)?l(o,29):(En(),Kf)),x2(e,t),!1),r?r.nj(s):r=s,r}function zxe(e){var t,n;switch(l(Q(Ja(e),(Nt(),rDe)),429).g){case 0:return t=e.n,n=e.o,new lt(t.a+n.a/2,t.b+n.b/2);case 1:return new xo(e.n);default:return null}}function nP(){nP=U,aW=new S_(Id,0),qLe=new S_("LEFTUP",1),ULe=new S_("RIGHTUP",2),zLe=new S_("LEFTDOWN",3),HLe=new S_("RIGHTDOWN",4),X1e=new S_("BALANCED",5)}function exn(e,t,n){var r,s,o;if(r=Xi(e.a[t.p],e.a[n.p]),r==0){if(s=l(Q(t,(ft(),Yx)),15),o=l(Q(n,Yx),15),s.Hc(n))return-1;if(o.Hc(t))return 1}return r}function txn(e){switch(e.g){case 1:return new Ine;case 2:return new One;case 3:return new Dne;case 0:return null;default:throw ue(new Wn(Ffe+(e.f!=null?e.f:""+e.g)))}}function qxe(e,t,n){switch(t){case 1:!e.n&&(e.n=new nt(nc,e,1,7)),$r(e.n),!e.n&&(e.n=new nt(nc,e,1,7)),Ls(e.n,l(n,16));return;case 2:gT(e,Zr(n));return}c8e(e,t,n)}function Hxe(e,t,n){switch(t){case 3:Fw(e,ze(Ge(n)));return;case 4:Rw(e,ze(Ge(n)));return;case 5:Vu(e,ze(Ge(n)));return;case 6:Gu(e,ze(Ge(n)));return}qxe(e,t,n)}function xV(e,t,n){var r,s,o;o=(r=new rse,r),s=$1(o,t,null),s&&s.oj(),Bu(o,n),zr((!e.c&&(e.c=new nt(L3,e,12,10)),e.c),o),d2(o,0),Oy(o,1),v2(o,!0),m2(o,!0)}function Uxe(e,t){var n,r,s;return n=x_(e.i,t),De(n,241)?(s=l(n,241),s.zi()==null,s.wi()):De(n,507)?(r=l(n,2037),s=r.b,s):null}function nxn(e,t,n,r){var s,o;return Xr(t),Xr(n),o=l(U_(e.d,t),17),Eht(!!o,"Row %s not in %s",t,e.e),s=l(U_(e.b,n),17),Eht(!!s,"Column %s not in %s",n,e.c),P0t(e,o.a,s.a,r)}function Jgt(e,t,n,r,s,o,f){var g,w,T,C,L;if(C=s[o],T=o==f-1,g=T?r:0,L=mgt(g,C),r!=10&&he(le(e,f-o),t[o],n[o],g,L),!T)for(++o,w=0;w<C;++w)L[w]=Jgt(e,t,n,r,s,o,f);return L}function $A(e){if(e.g==-1)throw ue(new gl);e.Xj();try{e.i.gd(e.g),e.f=e.i.j,e.g<e.e&&--e.e,e.g=-1}catch(t){throw t=ms(t),De(t,77)?ue(new Yh):ue(t)}}function rxn(e){var t,n,r,s;for(s=-1,r=0,n=new K(e);n.a<n.c.c.length;){if(t=l(re(n),249),t.c==(qo(),Fl)){s=r==0?0:r-1;break}else r==e.c.length-1&&(s=r);r+=1}return s}function ixn(e){var t,n,r,s;for(s=0,t=0,r=new K(e.c);r.a<r.c.c.length;)n=l(re(r),27),Vu(n,e.e+s),Gu(n,e.f),s+=n.g+e.b,t=b.Math.max(t,n.f+e.b);e.d=s-e.b,e.a=t-e.b}function o6(e){var t,n,r;for(n=new K(e.a.b);n.a<n.c.c.length;)t=l(re(n),60),r=t.d.c,t.d.c=t.d.d,t.d.d=r,r=t.d.b,t.d.b=t.d.a,t.d.a=r,r=t.b.a,t.b.a=t.b.b,t.b.b=r;cke(e)}function c6(e){var t,n,r;for(n=new K(e.a.b);n.a<n.c.c.length;)t=l(re(n),86),r=t.g.c,t.g.c=t.g.d,t.g.d=r,r=t.g.b,t.g.b=t.g.a,t.g.a=r,r=t.e.a,t.e.a=t.e.b,t.e.b=r;FV(e)}function sxn(e){var t,n,r,s,o;for(o=Y8(e.k),n=(_t(),he(le(Mo,1),ou,64,0,[jc,Xn,sr,Mr,Zn])),r=0,s=n.length;r<s;++r)if(t=n[r],t!=jc&&!o.Hc(t))return t;return null}function $ue(e,t){var n,r;return r=l(sfn(ET(ji(new vn(null,new kn(t.j,16)),new Uee))),12),r&&(n=l(Rt(r.e,0),18),n)?l(Q(n,(ft(),Yi)),17).a:pwn(e.b)}function axn(e,t){var n,r,s,o;for(o=new K(t.a);o.a<o.c.c.length;)for(s=l(re(o),10),l_(e.d),r=new lr(fr(qs(s).a.Kc(),new j));Rr(r);)n=l(yr(r),18),Y2t(e,s,n.d.i)}function oxn(e,t){var n,r;for(sl(e.b,t),r=new K(e.n);r.a<r.c.c.length;)if(n=l(re(r),209),bc(n.c,t,0)!=-1){sl(n.c,t),ixn(n),n.c.c.length==0&&sl(e.n,n);break}Lvt(e)}function Zgt(e,t){var n,r,s,o,f;for(f=e.f,s=0,o=0,r=new K(e.a);r.a<r.c.c.length;)n=l(re(r),172),XN(n,e.e,f),gN(n,t),o=b.Math.max(o,n.r),f+=n.d+e.c,s=f;e.d=o,e.b=s}function ept(e){var t,n;return n=dP(e),tT(n)?null:(t=(Xr(n),l(agt(new lr(fr(n.a.Kc(),new j))),74)),vc(l(Oe((!t.b&&(t.b=new An(Sr,t,4,7)),t.b),0),84)))}function kV(e){var t;return e.o||(t=e.uk(),t?e.o=new j5e(e,e,null):e.al()?e.o=new b4e(e,null):Lw(ac((kl(),no),e))==1?e.o=new Eut(e):e.o=new Eae(e,null)),e.o}function cxn(e,t,n,r){var s,o,f,g,w;n.Xh(t)&&(s=(f=t,f?l(r,54).gi(f):null),s&&(w=n.Mh(t),g=t.t,g>1||g==-1?(o=l(w,15),s.Wb(j5n(e,o))):s.Wb(kle(e,l(w,58)))))}function uxn(e,t,n,r){aet();var s=D0e;function o(){for(var f=0;f<s.length;f++)s[f]()}if(e)try{aLt(o)()}catch(f){e(t,f)}else aLt(o)()}function lxn(e,t){var n,r,s,o;for(s=(o=new pr(e.b).a.vc().Kc(),new Di(o));s.a.Ob();)if(r=(n=l(s.a.Pb(),44),l(n.ld(),34)),Eye(t,l(r,17))<0)return!1;return!0}function hxn(e,t){var n,r,s,o;for(s=(o=new pr(e.b).a.vc().Kc(),new Di(o));s.a.Ob();)if(r=(n=l(s.a.Pb(),44),l(n.ld(),34)),Eye(t,l(r,17))>0)return!1;return!0}function fxn(e){var t,n,r,s,o;for(r=new Xm(new Cr(e.b).a);r.b;)n=zw(r),t=l(n.ld(),10),o=l(l(n.md(),42).a,10),s=l(l(n.md(),42).b,8),Pi(W0(t.n),Pi(Xa(o.n),s))}function dxn(e){switch(l(Q(e.b,(Nt(),XMe)),387).g){case 1:Os(gc(Pc(new vn(null,new kn(e.d,16)),new xI),new b5),new Oee);break;case 2:c_n(e);break;case 0:$kn(e)}}function gxn(e,t,n){var r,s,o;for(r=n,!r&&(r=new M8),r.Ug("Layout",e.a.c.length),o=new K(e.a);o.a<o.c.c.length;){if(s=l(re(o),47),r.$g())return;s.Kf(t,r.eh(1))}r.Vg()}function rv(){rv=U,Hge=new L_("V_TOP",0),_M=new L_("V_CENTER",1),SM=new L_("V_BOTTOM",2),qge=new L_("H_LEFT",3),EM=new L_("H_CENTER",4),CM=new L_("H_RIGHT",5)}function Vxe(e){var t;return e.Db&64?JU(e):(t=new Af(JU(e)),t.a+=" (abstract: ",t2(t,(e.Bb&256)!=0),t.a+=", interface: ",t2(t,(e.Bb&512)!=0),t.a+=")",t.a)}function pxn(e){var t;e.c==null&&(t=qe(e.b)===qe(u_e)?null:e.b,e.d=t==null?cl:eat(t)?Qhn(fot(t)):Da(t)?yTe:Pm(dh(t)),e.a=e.a+": "+(eat(t)?Yfn(fot(t)):t+""),e.c="("+e.d+") "+e.a)}function bxn(){function e(){try{return new Map().entries().next().done}catch{return!1}}return typeof Map===Kle&&Map.prototype.entries&&e()?Map:nIn()}function mxn(e,t){var n,r,s,o;for(o=new Ua(e.e,0),n=0;o.b<o.d.gc();){if(r=ze((br(o.b<o.d.gc()),Ge(o.d.Xb(o.c=o.b++)))),s=r-t,s>Ofe)return n;s>-1e-6&&++n}return n}function Gxe(e,t){var n;t!=e.b?(n=null,e.b&&(n=jH(e.b,e,-4,n)),t&&(n=vx(t,e,-4,n)),n=A1t(e,t,n),n&&n.oj()):e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,3,t,t))}function tpt(e,t){var n;t!=e.f?(n=null,e.f&&(n=jH(e.f,e,-1,n)),t&&(n=vx(t,e,-1,n)),n=_1t(e,t,n),n&&n.oj()):e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,0,t,t))}function vxn(e,t,n,r){var s,o,f,g;return ch(e.e)&&(s=t.Lk(),g=t.md(),o=n.md(),f=kb(e,1,s,g,o,s.Jk()?JT(e,s,o,De(s,102)&&(l(s,19).Bb&Lo)!=0):-1,!0),r?r.nj(f):r=f),r}function npt(e){var t,n,r;if(e==null)return null;if(n=l(e,15),n.dc())return"";for(r=new e2,t=n.Kc();t.Ob();)Jo(r,(Wi(),Zr(t.Pb()))),r.a+=" ";return aae(r,r.a.length-1)}function rpt(e){var t,n,r;if(e==null)return null;if(n=l(e,15),n.dc())return"";for(r=new e2,t=n.Kc();t.Ob();)Jo(r,(Wi(),Zr(t.Pb()))),r.a+=" ";return aae(r,r.a.length-1)}function wxn(e,t,n){var r,s;return r=e.c[t.c.p][t.p],s=e.c[n.c.p][n.p],r.a!=null&&s.a!=null?Wae(r.a,s.a):r.a!=null?-1:s.a!=null?1:0}function yxn(e,t,n){return n.Ug("Tree layout",1),XO(e.b),Y0(e.b,(yx(),zW),zW),Y0(e.b,hM,hM),Y0(e.b,fM,fM),Y0(e.b,dM,dM),e.a=EP(e.b,t),gxn(e,t,n.eh(1)),n.Vg(),t}function xxn(e,t){var n,r,s,o,f,g;if(t)for(o=t.a.length,n=new jm(o),g=(n.b-n.a)*n.c<0?(gb(),lm):new mb(n);g.Ob();)f=l(g.Pb(),17),s=eT(t,f.a),r=new kQe(e),Lpn(r.a,s)}function kxn(e,t){var n,r,s,o,f,g;if(t)for(o=t.a.length,n=new jm(o),g=(n.b-n.a)*n.c<0?(gb(),lm):new mb(n);g.Ob();)f=l(g.Pb(),17),s=eT(t,f.a),r=new dQe(e),Apn(r.a,s)}function Txn(e){var t;if(e!=null&&e.length>0&&io(e,e.length-1)==33)try{return t=hbt(ef(e,0,e.length-1)),t.e==null}catch(n){if(n=ms(n),!De(n,33))throw ue(n)}return!1}function Exn(e,t,n){var r,s,o;switch(r=Ja(t),s=WU(r),o=new du,Nc(o,t),n.g){case 1:ga(o,UN(px(s)));break;case 2:ga(o,px(s))}return rt(o,(Nt(),y4),Ge(Q(e,y4))),o}function Kxe(e){var t,n;return t=l(yr(new lr(fr(Ea(e.a).a.Kc(),new j))),18),n=l(yr(new lr(fr(qs(e.a).a.Kc(),new j))),18),Ft(Pt(Q(t,(ft(),W1))))||Ft(Pt(Q(n,W1)))}function zy(){zy=U,EB=new bO("ONE_SIDE",0),eW=new bO("TWO_SIDES_CORNER",1),tW=new bO("TWO_SIDES_OPPOSING",2),ZK=new bO("THREE_SIDES",3),JK=new bO("FOUR_SIDES",4)}function ipt(e,t){var n,r,s,o;for(o=new mt,s=0,r=t.Kc();r.Ob();){for(n=bt(l(r.Pb(),17).a+s);n.a<e.f&&!ggn(e,n.a);)n=bt(n.a+1),++s;if(n.a>=e.f)break;qn(o.c,n)}return o}function Cxn(e,t){var n,r,s,o,f;for(o=new K(t.a);o.a<o.c.c.length;)for(s=l(re(o),10),r=new lr(fr(Ea(s).a.Kc(),new j));Rr(r);)n=l(yr(r),18),f=n.c.i.p,e.n[f]=e.n[f]-1}function Sxn(e){var t,n;for(n=new K(e.e.b);n.a<n.c.c.length;)t=l(re(n),30),xDn(e,t);Os(ji(Pc(Pc(new vn(null,new kn(e.e.b,16)),new mte),new xte),new kte),new OXe(e))}function Wxe(e,t){return t?e.mj(t)?!1:e.i?e.i.nj(t):De(t,152)?(e.i=l(t,152),!0):(e.i=new I$,e.i.nj(t)):!1}function spt(e,t,n){var r,s,o;return r=t.Lk(),o=t.md(),s=r.Jk()?kb(e,3,r,null,o,JT(e,r,o,De(r,102)&&(l(r,19).Bb&Lo)!=0),!0):kb(e,1,r,r.ik(),o,-1,!0),n?n.nj(s):n=s,n}function _xn(e){if(e=ku(e,!0),wn(xE,e)||wn("1",e))return Hn(),AE;if(wn(Qfe,e)||wn("0",e))return Hn(),Ub;throw ue(new fse("Invalid boolean value: '"+e+"'"))}function Yxe(e,t,n){var r,s,o;for(s=e.vc().Kc();s.Ob();)if(r=l(s.Pb(),44),o=r.ld(),qe(t)===qe(o)||t!=null&&Fi(t,o))return n&&(r=new pq(r.ld(),r.md()),s.Qb()),r;return null}function Axn(e){vy();var t,n,r;e.B.Hc((Xl(),bY))&&(r=e.f.i,t=new FH(e.a.c),n=new L8,n.b=t.c-r.c,n.d=t.d-r.d,n.c=r.c+r.b-(t.c+t.b),n.a=r.d+r.a-(t.d+t.a),e.e.$f(n))}function apt(e,t,n,r){var s,o,f;for(f=b.Math.min(n,mvt(l(e.b,68),t,n,r)),o=new K(e.a);o.a<o.c.c.length;)s=l(re(o),225),s!=t&&(f=b.Math.min(f,apt(s,t,f,r)));return f}function Xxe(e){var t,n,r,s;for(s=We(kg,dt,199,e.b.c.length,0,2),r=new Ua(e.b,0);r.b<r.d.gc();)t=(br(r.b<r.d.gc()),l(r.d.Xb(r.c=r.b++),30)),n=r.b-1,s[n]=aN(t.a);return s}function Qxe(e,t,n){var r,s,o;r=l(B1(e.a,n),34),r!=null&&(o=l(B1(e.b,r),67),Fy(o,n,!0)),s=l(B1(e.b,t),67),s||(s=new os,y2(e.b,t,s)),_s(s,n,s.c.b,s.c),y2(e.a,n,t)}function zue(e,t,n,r,s){var o,f,g,w;for(f=Gun(k3e(R4e(Z6n(n)),r),l8n(e,n,s)),w=k2(e,n).Kc();w.Ob();)g=l(w.Pb(),12),t[g.p]&&(o=t[g.p].i,wt(f.d,new Vae(o,L8e(f,o))));W8e(f)}function Jxe(e,t){this.f=new Nr,this.b=new Nr,this.j=new Nr,this.a=e,this.c=t,this.c>0&&Agt(this,this.c-1,(_t(),sr)),this.c<this.a.length-1&&Agt(this,this.c+1,(_t(),Zn))}function Lxn(e,t){var n,r,s,o,f;for(o=new K(t.d);o.a<o.c.c.length;)for(s=l(re(o),105),f=l(or(e.c,s),118).o,r=new B8(s.b);r.a<r.c.a.length;)n=l(uA(r),64),e7e(s,n,f)}function Zxe(e){e.length>0&&e[0].length>0&&(this.c=Ft(Pt(Q(Ja(e[0][0]),(ft(),sMe))))),this.a=We(JTt,dt,2117,e.length,0,2),this.b=We(ZTt,dt,2118,e.length,0,2),this.d=new k1t}function Mxn(e){return e.c.length==0?!1:(Sn(0,e.c.length),l(e.c[0],18)).c.i.k==(Jn(),Aa)?!0:X5(gc(new vn(null,new kn(e,16)),new cte),new ute)}function opt(e,t){var n,r,s,o,f,g,w;for(g=Gy(t),o=t.f,w=t.g,f=b.Math.sqrt(o*o+w*w),s=0,r=new K(g);r.a<r.c.c.length;)n=l(re(r),27),s+=opt(e,n);return b.Math.max(s,f)}function Pa(){Pa=U,rm=new D_(uL,0),Z1=new D_("FREE",1),oC=new D_("FIXED_SIDE",2),Iv=new D_("FIXED_ORDER",3),_g=new D_("FIXED_RATIO",4),Au=new D_("FIXED_POS",5)}function Dxn(e,t){var n,r,s;if(n=t.qi(e.a),n){for(s=Zr(t1((!n.b&&(n.b=new lh((En(),Do),Qc,n)),n.b),Rf)),r=1;r<(kl(),aBe).length;++r)if(wn(aBe[r],s))return r}return 0}function Ixn(e){var t,n,r,s,o;if(e==null)return cl;for(o=new Qm(To,"[","]"),n=e,r=0,s=n.length;r<s;++r)t=n[r],np(o,""+t);return o.a?o.e.length==0?o.a.a:o.a.a+(""+o.e):o.c}function Oxn(e){var t,n,r,s,o;if(e==null)return cl;for(o=new Qm(To,"[","]"),n=e,r=0,s=n.length;r<s;++r)t=n[r],np(o,""+t);return o.a?o.e.length==0?o.a.a:o.a.a+(""+o.e):o.c}function cpt(e){var t,n,r;for(r=new Qm(To,"{","}"),n=e.vc().Kc();n.Ob();)t=l(n.Pb(),44),np(r,put(e,t.ld())+"="+put(e,t.md()));return r.a?r.e.length==0?r.a.a:r.a.a+(""+r.e):r.c}function Nxn(e){for(var t,n,r,s;!h_(e.o);)n=l(Q8(e.o),42),r=l(n.a,125),t=l(n.b,218),s=XU(t,r),t.e==r?(Kq(s.g,t),r.e=s.e+t.a):(Kq(s.b,t),r.e=s.e-t.a),wt(e.e.a,r)}function e9e(e,t){var n,r,s;for(n=null,s=l(t.Kb(e),20).Kc();s.Ob();)if(r=l(s.Pb(),18),!n)n=r.c.i==e?r.d.i:r.c.i;else if((r.c.i==e?r.d.i:r.c.i)!=n)return!1;return!0}function upt(e,t){var n,r,s,o,f;for(n=Sbt(e,!1,t),s=new K(n);s.a<s.c.c.length;)r=l(re(s),132),r.d==0?(_oe(r,null),Aoe(r,null)):(o=r.a,f=r.b,_oe(r,f),Aoe(r,o))}function Pxn(e){var t,n;return t=new Js,Dh(t,OEt),n=l(Q(e,(ft(),_u)),21),n.Hc((Ho(),KL))&&Dh(t,FEt),n.Hc($E)&&Dh(t,NEt),n.Hc(R6)&&Dh(t,BEt),n.Hc(zE)&&Dh(t,PEt),t}function t9e(e,t,n){var r,s,o,f,g;for(D5n(e),s=(e.k==null&&(e.k=We(R0e,dt,82,0,0,1)),e.k),o=0,f=s.length;o<f;++o)r=s[o],t9e(r);g=e.f,g&&t9e(g)}function Bxn(e){var t,n,r,s;for(TMn(e),n=new lr(fr(up(e).a.Kc(),new j));Rr(n);)t=l(yr(n),18),r=t.c.i==e,s=r?t.d:t.c,r?Na(t,null):ho(t,null),rt(t,(ft(),uMe),s),XTn(e,s.i)}function Fxn(e,t,n,r){var s,o;switch(o=t.i,s=n[o.g][e.d[o.g]],o.g){case 1:s-=r+t.j.b,t.g.b=s;break;case 3:s+=r,t.g.b=s;break;case 4:s-=r+t.j.a,t.g.a=s;break;case 2:s+=r,t.g.a=s}}function Rxn(e){var t,n,r;for(n=new ar((!e.a&&(e.a=new nt(Li,e,10,11)),e.a));n.e!=n.i.gc();)if(t=l(dr(n),27),r=dP(t),!Rr(new lr(fr(r.a.Kc(),new j))))return t;return null}function TV(){TV=U,uge=new xO("OVERLAP_REMOVAL",0),age=new xO(Wyt,1),lge=new xO("ROTATION",2),oge=new xO("GRAPH_SIZE_CALCULATION",3),cge=new xO("OUTGOING_EDGE_ANGLES",4)}function jxn(){var e;return rAt?l(GT((db(),Gf),TE),2115):(e=l(De(wu((db(),Gf),TE),569)?wu(Gf,TE):new J2t,569),rAt=!0,oDn(e),EOn(e),Nue(e),sc(Gf,TE,e),e)}function que(e,t,n){var r,s;if(e.j==0)return n;if(s=l(wft(e,t,n),76),r=n.Lk(),!r.rk()||!e.a.am(r))throw ue(new Ic("Invalid entry feature '"+r.qk().zb+"."+r.xe()+"'"));return s}function $xn(e,t){var n,r,s,o,f,g,w,T;for(g=e.a,w=0,T=g.length;w<T;++w)for(f=g[w],r=f,s=0,o=r.length;s<o;++s)if(n=r[s],qe(t)===qe(n)||t!=null&&Fi(t,n))return!0;return!1}function zxn(e){var t,n,r;return su(e,0)>=0?(n=tP(e,sG),r=GN(e,sG)):(t=vb(e,1),n=tP(t,5e8),r=GN(t,5e8),r=fo(u0(r,1),xa(e,1))),X0(u0(r,32),xa(n,Uo))}function lpt(e,t,n){var r,s;switch(r=(br(t.b!=0),l(sf(t,t.a.a),8)),n.g){case 0:r.b=0;break;case 2:r.b=e.f;break;case 3:r.a=0;break;default:r.a=e.g}return s=Fr(t,0),YO(s,r),t}function hpt(e,t,n,r){var s,o,f,g,w;switch(w=e.b,o=t.d,f=o.j,g=lxe(f,w.d[f.g],n),s=Pi(Xa(o.n),o.a),o.j.g){case 1:case 3:g.a+=s.a;break;case 2:case 4:g.b+=s.b}_s(r,g,r.c.b,r.c)}function qxn(e,t,n){var r,s,o,f;for(f=bc(e.e,t,0),o=new Zwe,o.b=n,r=new Ua(e.e,f);r.b<r.d.gc();)s=(br(r.b<r.d.gc()),l(r.d.Xb(r.c=r.b++),10)),s.p=n,wt(o.e,s),fh(r);return o}function Hxn(e,t,n,r){var s,o,f,g,w;for(s=null,o=0,g=new K(t);g.a<g.c.c.length;)f=l(re(g),27),w=f.i+f.g,e<f.j+f.f+r&&(s?n.i-w<n.i-o&&(s=f):s=f,o=s.i+s.g);return s?o+r:0}function Uxn(e,t,n,r){var s,o,f,g,w;for(o=null,s=0,g=new K(t);g.a<g.c.c.length;)f=l(re(g),27),w=f.j+f.f,e<f.i+f.g+r&&(o?n.j-w<n.j-s&&(o=f):o=f,s=o.j+o.f);return o?s+r:0}function Vxn(e){var t,n,r;for(t=!1,r=e.b.c.length,n=0;n<r;n++)s8e(l(Rt(e.b,n),443))?!t&&n+1<r&&s8e(l(Rt(e.b,n+1),443))&&(t=!0,l(Rt(e.b,n),443).a=!0):t=!1}function Gxn(e,t,n,r,s){var o,f;for(o=0,f=0;f<s;f++)o=fo(o,Df(xa(t[f],Uo),xa(r[f],Uo))),e[f]=Yr(o),o=Tw(o,32);for(;f<n;f++)o=fo(o,xa(t[f],Uo)),e[f]=Yr(o),o=Tw(o,32)}function Kxn(e,t){WT();var n,r;for(r=(Cd(),bK),n=e;t>1;t>>=1)t&1&&(r=Y5(r,n)),n.d==1?n=Y5(n,n):n=new _dt(Kmt(n.a,n.d,We(Ur,fi,28,n.d<<1,15,1)));return r=Y5(r,n),r}function n9e(){n9e=U;var e,t,n,r;for(P_e=We(Oa,tc,28,25,15,1),B_e=We(Oa,tc,28,33,15,1),r=152587890625e-16,t=32;t>=0;t--)B_e[t]=r,r*=.5;for(n=1,e=24;e>=0;e--)P_e[e]=n,n*=.5}function Wxn(e){var t,n;if(Ft(Pt(at(e,(Nt(),w4))))){for(n=new lr(fr(fp(e).a.Kc(),new j));Rr(n);)if(t=l(yr(n),74),Yw(t)&&Ft(Pt(at(t,kv))))return!0}return!1}function fpt(e,t){var n,r,s;sa(e.f,t)&&(t.b=e,r=t.c,bc(e.j,r,0)!=-1||wt(e.j,r),s=t.d,bc(e.j,s,0)!=-1||wt(e.j,s),n=t.a.b,n.c.length!=0&&(!e.i&&(e.i=new Odt(e)),Z3n(e.i,n)))}function Yxn(e){var t,n,r,s,o;return n=e.c.d,r=n.j,s=e.d.d,o=s.j,r==o?n.p<s.p?0:1:KU(r)==o?0:M8e(r)==o?1:(t=e.b,ml(t.b,KU(r))?0:1)}function iv(e){var t;this.d=new Nr,this.c=e.c,this.e=e.d,this.b=e.b,this.f=new $st(e.e),this.a=e.a,e.f?this.g=e.f:this.g=(t=l(G0(AY),9),new Jh(t,l(o0(t,t.length),9),0))}function EV(e,t){var n,r,s,o,f,g;s=e,f=oA(s,"layoutOptions"),!f&&(f=oA(s,V4t)),f&&(g=f,r=null,g&&(r=(o=yce(g,We($t,dt,2,0,6,1)),new yse(g,o))),r&&(n=new Ztt(g,t),Za(r,n)))}function vc(e){if(De(e,207))return l(e,27);if(De(e,193))return M1(l(e,123));throw ue(e?new Jp("Only support nodes and ports."):new I8(e5t))}function Xxn(e,t,n,r){return(t>=0&&wn(e.substr(t,3),"GMT")||t>=0&&wn(e.substr(t,3),"UTC"))&&(n[0]=t+3),Pke(e,n,r)}function Qxn(e,t){var n,r,s,o,f;for(o=e.g.a,f=e.g.b,r=new K(e.d);r.a<r.c.c.length;)n=l(re(r),72),s=n.n,s.a=o,e.i==(_t(),Xn)?s.b=f+e.j.b-n.o.b:s.b=f,Pi(s,t),o+=n.o.a+e.e}function dpt(e,t,n){if(e.b)throw ue(new ic("The task is already done."));return e.p!=null?!1:(e.p=t,e.r=n,e.k&&(e.o=(Wg(),go(tu(Date.now()),C2))),!0)}function r9e(e){var t,n,r,s,o,f,g;return g=new D8,n=e.Pg(),s=n!=null,s&&Hk(g,Pd,e.Pg()),r=e.xe(),o=r!=null,o&&Hk(g,Ai,e.xe()),t=e.Og(),f=t!=null,f&&Hk(g,"description",e.Og()),g}function gpt(e,t,n){var r,s,o;return o=e.q,e.q=t,e.Db&4&&!(e.Db&1)&&(s=new _a(e,1,9,o,t),n?n.nj(s):n=s),t?(r=t.c,r!=e.r&&(n=e.Yk(r,n))):e.r&&(n=e.Yk(null,n)),n}function Jxn(e,t,n){var r,s,o,f,g;for(n=(g=t,vx(g,e.e,-1-e.c,n)),f=H5e(e.a),o=(r=new Xm(new Cr(f.a).a),new Hz(r));o.a.b;)s=l(zw(o.a).ld(),89),n=tE(s,OV(s,e.a),n);return n}function Zxn(e,t,n){var r,s,o,f,g;for(n=(g=t,jH(g,e.e,-1-e.c,n)),f=H5e(e.a),o=(r=new Xm(new Cr(f.a).a),new Hz(r));o.a.b;)s=l(zw(o.a).ld(),89),n=tE(s,OV(s,e.a),n);return n}function e9n(e,t,n,r){var s,o,f;if(r==0)gu(t,0,e,n,e.length-n);else for(f=32-r,e[e.length-1]=0,o=e.length-1;o>n;o--)e[o]|=t[o-n-1]>>>f,e[o-1]=t[o-n-1]<<r;for(s=0;s<n;s++)e[s]=0}function t9n(e){var t,n,r,s,o;for(t=0,n=0,o=e.Kc();o.Ob();)r=l(o.Pb(),117),t=b.Math.max(t,r.d.b),n=b.Math.max(n,r.d.c);for(s=e.Kc();s.Ob();)r=l(s.Pb(),117),r.d.b=t,r.d.c=n}function n9n(e){var t,n,r,s,o;for(n=0,t=0,o=e.Kc();o.Ob();)r=l(o.Pb(),117),n=b.Math.max(n,r.d.d),t=b.Math.max(t,r.d.a);for(s=e.Kc();s.Ob();)r=l(s.Pb(),117),r.d.d=n,r.d.a=t}function Hue(e,t,n,r,s){var o,f;o=l(kc(ji(t.Oc(),new Gj),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)]))),15),aP(o),f=l(Ym(e.b,n,r),15),s==0?f.cd(0,o):f.Gc(o)}function r9n(e,t,n){n.Ug("Grow Tree",1),e.b=t.f,Ft(Pt(Q(t,(mT(),$L))))?(e.c=new Ot,oct(e,null)):e.c=new Ot,e.a=!1,Pbt(e,t.f),rt(t,cAe,(Hn(),!!e.a)),n.Vg()}function i9e(e){var t,n,r,s;for(t=null,s=new K(e.Rf());s.a<s.c.c.length;)r=l(re(s),187),n=new Zh(r.Lf().a,r.Lf().b,r.Mf().a,r.Mf().b),t?zA(t,n):t=n;return!t&&(t=new z8),t}function Uue(e,t,n,r){var s,o;return n==1?(!e.n&&(e.n=new nt(nc,e,1,7)),Fu(e.n,t,r)):(o=l(Mn((s=l(Gn(e,16),29),s||e.ii()),n),69),o.wk().zk(e,Ku(e),n-wr(e.ii()),t,r))}function Vue(e,t,n){var r,s,o,f,g;for(r=n.gc(),e._i(e.i+r),g=e.i-t,g>0&&gu(e.g,t,e.g,t+r,g),f=n.Kc(),e.i+=r,s=0;s<r;++s)o=f.Pb(),j_(e,t,e.Zi(t,o)),e.Mi(t,o),e.Ni(),++t;return r!=0}function $1(e,t,n){var r;return t!=e.q?(e.q&&(n=jH(e.q,e,-10,n)),t&&(n=vx(t,e,-10,n)),n=gpt(e,t,n)):e.Db&4&&!(e.Db&1)&&(r=new _a(e,1,9,t,t),n?n.nj(r):n=r),n}function Gue(e,t,n,r){return N4e((n&_d)==0,"flatMap does not support SUBSIZED characteristic"),N4e((n&4)==0,"flatMap does not support SORTED characteristic"),Xr(e),Xr(t),new tut(e,t,n,r)}function i9n(e,t){D5e(t,"Cannot suppress a null exception."),UO(t!=e,"Exception can not suppress itself."),!e.i&&(e.k==null?e.k=he(le(R0e,1),dt,82,0,[t]):e.k[e.k.length]=t)}function s9n(e,t){var n;if(n=Dnt(e.b.ag(),t.b.ag()),n!=0)return n;switch(e.b.ag().g){case 1:case 2:return iu(e.b.Nf(),t.b.Nf());case 3:case 4:return iu(t.b.Nf(),e.b.Nf())}return 0}function a9n(e){var t,n,r;for(r=e.e.c.length,e.a=Fm(Ur,[dt,fi],[53,28],15,[r,r],2),n=new K(e.c);n.a<n.c.c.length;)t=l(re(n),290),e.a[t.c.a][t.d.a]+=l(Q(t,(p0(),Hx)),17).a}function o9n(e,t){var n,r,s,o,f;if(e==null)return null;for(f=We(xf,Ad,28,2*t,15,1),r=0,s=0;r<t;++r)n=e[r]>>4&15,o=e[r]&15,f[s++]=NPe[n],f[s++]=NPe[o];return If(f,0,f.length)}function ol(e){var t,n;return e>=Lo?(t=BP+(e-Lo>>10&1023)&ta,n=56320+(e-Lo&1023)&ta,String.fromCharCode(t)+(""+String.fromCharCode(n))):String.fromCharCode(e&ta)}function c9n(e,t){vy();var n,r,s,o;return s=l(l($i(e.r,t),21),87),s.gc()>=2?(r=l(s.Kc().Pb(),117),n=e.u.Hc((Pl(),BM)),o=e.u.Hc(o9),!r.a&&!n&&(s.gc()==2||o)):!1}function ppt(e,t,n,r,s){var o,f,g;for(o=emt(e,t,n,r,s),g=!1;!o;)DV(e,s,!0),g=!0,o=emt(e,t,n,r,s);g&&DV(e,s,!1),f=Mce(s),f.c.length!=0&&(e.d&&e.d.Gg(f),ppt(e,s,n,r,f))}function CV(){CV=U,spe=new M_(Id,0),iPe=new M_("DIRECTED",1),aPe=new M_("UNDIRECTED",2),nPe=new M_("ASSOCIATION",3),sPe=new M_("GENERALIZATION",4),rPe=new M_("DEPENDENCY",5)}function u9n(e,t){var n;if(!M1(e))throw ue(new ic(D4t));switch(n=M1(e),t.g){case 1:return-(e.j+e.f);case 2:return e.i-n.g;case 3:return e.j-n.f;case 4:return-(e.i+e.g)}return 0}function l9n(e,t,n){var r,s,o;return r=t.Lk(),o=t.md(),s=r.Jk()?kb(e,4,r,o,null,JT(e,r,o,De(r,102)&&(l(r,19).Bb&Lo)!=0),!0):kb(e,r.tk()?2:1,r,o,r.ik(),-1,!0),n?n.nj(s):n=s,n}function qT(e,t){var n,r;for(tr(t),r=e.b.c.length,wt(e.b,t);r>0;){if(n=r,r=(r-1)/2|0,e.a.Ne(Rt(e.b,r),t)<=0)return nf(e.b,n,t),!0;nf(e.b,n,Rt(e.b,r))}return nf(e.b,r,t),!0}function s9e(e,t,n,r){var s,o;if(s=0,n)s=HU(e.a[n.g][t.g],r);else for(o=0;o<xK;o++)s=b.Math.max(s,HU(e.a[o][t.g],r));return t==(e1(),ju)&&e.b&&(s=b.Math.max(s,e.b.a)),s}function h9n(e,t){var n,r,s,o,f,g;return s=e.i,o=t.i,!s||!o||s.i!=o.i||s.i==(_t(),sr)||s.i==(_t(),Zn)?!1:(f=s.g.a,n=f+s.j.a,g=o.g.a,r=g+o.j.a,f<=r&&n>=g)}function bpt(e){switch(e.g){case 0:return new $ne;case 1:return new zne;default:throw ue(new Wn("No implementation is available for the width approximator "+(e.f!=null?e.f:""+e.g)))}}function a9e(e,t,n,r){var s;if(s=!1,Da(r)&&(s=!0,Hk(t,n,Zr(r))),s||gy(r)&&(s=!0,a9e(e,t,n,r)),s||De(r,242)&&(s=!0,qm(t,n,l(r,242))),!s)throw ue(new hse(PSe))}function f9n(e,t){var n,r,s;if(n=t.qi(e.a),n&&(s=t1((!n.b&&(n.b=new lh((En(),Do),Qc,n)),n.b),Bf),s!=null)){for(r=1;r<(kl(),iBe).length;++r)if(wn(iBe[r],s))return r}return 0}function d9n(e,t){var n,r,s;if(n=t.qi(e.a),n&&(s=t1((!n.b&&(n.b=new lh((En(),Do),Qc,n)),n.b),Bf),s!=null)){for(r=1;r<(kl(),sBe).length;++r)if(wn(sBe[r],s))return r}return 0}function mpt(e,t){var n,r,s,o;if(tr(t),o=e.a.gc(),o<t.gc())for(n=e.a.ec().Kc();n.Ob();)r=n.Pb(),t.Hc(r)&&n.Qb();else for(s=t.Kc();s.Ob();)r=s.Pb(),e.a.Bc(r)!=null;return o!=e.a.gc()}function vpt(e){var t,n;switch(n=Xa(Bc(he(le(Ca,1),dt,8,0,[e.i.n,e.n,e.a]))),t=e.i.d,e.j.g){case 1:n.b-=t.d;break;case 2:n.a+=t.c;break;case 3:n.b+=t.a;break;case 4:n.a-=t.b}return n}function g9n(e){var t;for(t=(hx(),l(yr(new lr(fr(Ea(e).a.Kc(),new j))),18).c.i);t.k==(Jn(),Aa);)rt(t,(ft(),MB),(Hn(),!0)),t=l(yr(new lr(fr(Ea(t).a.Kc(),new j))),18).c.i}function Kue(e,t,n,r){var s,o,f,g;for(g=CA(t,r),f=g.Kc();f.Ob();)s=l(f.Pb(),12),e.d[s.p]=e.d[s.p]+e.c[n.p];for(g=CA(n,r),o=g.Kc();o.Ob();)s=l(o.Pb(),12),e.d[s.p]=e.d[s.p]-e.c[t.p]}function o9e(e,t,n){var r,s;for(s=new ar((!e.a&&(e.a=new nt(Li,e,10,11)),e.a));s.e!=s.i.gc();)r=l(dr(s),27),Xh(r,r.i+t,r.j+n);Za((!e.b&&(e.b=new nt(js,e,12,3)),e.b),new qtt(t,n))}function p9n(e,t,n,r){var s,o;for(o=t,s=o.d==null||e.a.Ne(n.d,o.d)>0?1:0;o.a[s]!=n;)o=o.a[s],s=e.a.Ne(n.d,o.d)>0?1:0;o.a[s]=r,r.b=n.b,r.a[0]=n.a[0],r.a[1]=n.a[1],n.a[0]=null,n.a[1]=null}function b9n(e){var t,n,r,s;for(t=new mt,n=We(th,vg,28,e.a.c.length,16,1),A5e(n,n.length),s=new K(e.a);s.a<s.c.c.length;)r=l(re(s),125),n[r.d]||(qn(t.c,r),Rdt(e,r,n));return t}function wpt(e,t){var n,r,s,o,f;for(s=t==1?w1e:v1e,r=s.a.ec().Kc();r.Ob();)for(n=l(r.Pb(),88),f=l($i(e.f.c,n),21).Kc();f.Ob();)o=l(f.Pb(),42),sl(e.b.b,o.b),sl(e.b.a,l(o.b,86).d)}function m9n(e,t){var n;t.Ug("Hierarchical port position processing",1),n=e.b,n.c.length>0&&Hmt((Sn(0,n.c.length),l(n.c[0],30)),e),n.c.length>1&&Hmt(l(Rt(n,n.c.length-1),30),e),t.Vg()}function v9n(e){Pl();var t,n;return t=is(kp,he(le(pY,1),it,279,0,[im])),!(AN(zH(t,e))>1||(n=is(BM,he(le(pY,1),it,279,0,[PM,o9])),AN(zH(n,e))>1))}function c9e(e,t){var n;n=wu((db(),Gf),e),De(n,507)?sc(Gf,e,new unt(this,t)):sc(Gf,e,this),Wue(this,t),t==(Ak(),GPe)?(this.wb=l(this,2038),l(t,2040)):this.wb=(wb(),Un)}function w9n(e){var t,n,r;if(e==null)return null;for(t=null,n=0;n<$M.length;++n)try{return Vet($M[n],e)}catch(s){if(s=ms(s),De(s,33))r=s,t=r;else throw ue(s)}throw ue(new uU(t))}function ypt(){ypt=U,Z6t=he(le($t,1),dt,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]),e7t=he(le($t,1),dt,2,6,["Jan","Feb","Mar","Apr",Ax,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])}function xpt(e){var t,n,r;t=wn(typeof t,Ahe)?null:new Io,t&&(Ok(),n=(r=900,r>=C2?"error":r>=900?"warn":r>=800?"info":"log"),Mat(n,e.a),e.b&&lke(t,n,e.b,"Exception: ",!0))}function Q(e,t){var n,r;return r=(!e.q&&(e.q=new Nr),or(e.q,t)),r??(n=t.Sg(),De(n,4)&&(n==null?(!e.q&&(e.q=new Nr),ox(e.q,t)):(!e.q&&(e.q=new Nr),Ti(e.q,t,n))),n)}function so(){so=U,w0=new pO("P1_CYCLE_BREAKING",0),xg=new pO("P2_LAYERING",1),pu=new pO("P3_NODE_ORDERING",2),Cu=new pO("P4_NODE_PLACEMENT",3),wc=new pO("P5_EDGE_ROUTING",4)}function y9n(e,t){fA();var n;if(e.c==t.c){if(e.b==t.b||_3n(e.b,t.b)){if(n=Jln(e.b)?1:-1,e.a&&!t.a)return n;if(!e.a&&t.a)return-n}return iu(e.b.g,t.b.g)}else return Xi(e.c,t.c)}function kpt(e,t){var n,r,s;if(l9e(e,t))return!0;for(r=new K(t);r.a<r.c.c.length;)if(n=l(re(r),27),s=ept(n),zV(e,n,s)||E1t(e,n)-e.g<=e.a)return!0;return!1}function rP(){rP=U,sY=(ple(),ZOe),Fge=RSt,Bge=FSt,GOe=NSt,Pge=BSt,VOe=new mw(8),_St=new qa((bi(),B2),VOe),ASt=new qa(Dv,8),LSt=QOe,HOe=MSt,UOe=DSt,SSt=new qa(eF,(Hn(),!1))}function SV(){SV=U,bNe=new mw(15),t_t=new qa((bi(),B2),bNe),n_t=new qa(Dv,15),mNe=new qa(iF,bt(0)),dNe=c_t,ZSt=Mv,e_t=em,fNe=new qa(t7,h4t),gNe=nF,pNe=a7,zge=a_t,JSt=ZB}function hg(e){if((!e.b&&(e.b=new An(Sr,e,4,7)),e.b).i!=1||(!e.c&&(e.c=new An(Sr,e,5,8)),e.c).i!=1)throw ue(new Wn(l0e));return vc(l(Oe((!e.b&&(e.b=new An(Sr,e,4,7)),e.b),0),84))}function Tpt(e){if((!e.b&&(e.b=new An(Sr,e,4,7)),e.b).i!=1||(!e.c&&(e.c=new An(Sr,e,5,8)),e.c).i!=1)throw ue(new Wn(l0e));return IN(l(Oe((!e.b&&(e.b=new An(Sr,e,4,7)),e.b),0),84))}function Ept(e){if((!e.b&&(e.b=new An(Sr,e,4,7)),e.b).i!=1||(!e.c&&(e.c=new An(Sr,e,5,8)),e.c).i!=1)throw ue(new Wn(l0e));return IN(l(Oe((!e.c&&(e.c=new An(Sr,e,5,8)),e.c),0),84))}function Ib(e){if((!e.b&&(e.b=new An(Sr,e,4,7)),e.b).i!=1||(!e.c&&(e.c=new An(Sr,e,5,8)),e.c).i!=1)throw ue(new Wn(l0e));return vc(l(Oe((!e.c&&(e.c=new An(Sr,e,5,8)),e.c),0),84))}function u9e(e,t,n){var r,s,o;if(++e.j,s=e.Ej(),t>=s||t<0)throw ue(new rc(h0e+t+gv+s));if(n>=s||n<0)throw ue(new rc(f0e+n+gv+s));return t!=n?r=(o=e.Cj(n),e.qj(t,o),o):r=e.xj(n),r}function Cpt(e){var t,n,r;if(r=e,e)for(t=0,n=e.Eh();n;n=n.Eh()){if(++t>xhe)return Cpt(n);if(r=n,n==e)throw ue(new ic("There is a cycle in the containment hierarchy of "+e))}return r}function Ob(e){var t,n,r;for(r=new Qm(To,"[","]"),n=e.Kc();n.Ob();)t=n.Pb(),np(r,qe(t)===qe(e)?"(this Collection)":t==null?cl:Tc(t));return r.a?r.e.length==0?r.a.a:r.a.a+(""+r.e):r.c}function l9e(e,t){var n,r;if(r=!1,t.gc()<2)return!1;for(n=0;n<t.gc();n++)n<t.gc()-1?r=r|zV(e,l(t.Xb(n),27),l(t.Xb(n+1),27)):r=r|zV(e,l(t.Xb(n),27),l(t.Xb(0),27));return r}function Spt(e,t){var n;t!=e.a?(n=null,e.a&&(n=l(e.a,54).Th(e,4,c1,n)),t&&(n=l(t,54).Rh(e,4,c1,n)),n=x8e(e,t,n),n&&n.oj()):e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,1,t,t))}function h9e(e,t){var n;t!=e.e?(e.e&&glt(H5e(e.e),e),t&&(!t.b&&(t.b=new qz(new ise)),Eit(t.b,e)),n=M8n(e,t,null),n&&n.oj()):e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,4,t,t))}function x9n(e,t){var n;n=t.o,Yg(e.f)?(e.j.a=b.Math.max(e.j.a,n.a),e.j.b+=n.b,e.d.c.length>1&&(e.j.b+=e.e)):(e.j.a+=n.a,e.j.b=b.Math.max(e.j.b,n.b),e.d.c.length>1&&(e.j.a+=e.e))}function Nb(){Nb=U,Bxt=he(le(Mo,1),ou,64,0,[(_t(),Xn),sr,Mr]),Pxt=he(le(Mo,1),ou,64,0,[sr,Mr,Zn]),Fxt=he(le(Mo,1),ou,64,0,[Mr,Zn,Xn]),Rxt=he(le(Mo,1),ou,64,0,[Zn,Xn,sr])}function k9n(e,t,n,r){var s,o,f,g,w,T,C;if(f=e.c.d,g=e.d.d,f.j!=g.j)for(C=e.b,s=f.j,w=null;s!=g.j;)w=t==0?KU(s):M8e(s),o=lxe(s,C.d[s.g],n),T=lxe(w,C.d[w.g],n),ci(r,Pi(o,T)),s=w}function T9n(e,t,n,r){var s,o,f,g,w;return f=Lgt(e.a,t,n),g=l(f.a,17).a,o=l(f.b,17).a,r&&(w=l(Q(t,(ft(),Bl)),10),s=l(Q(n,Bl),10),w&&s&&(but(e.b,w,s),g+=e.b.i,o+=e.b.e)),g>o}function _pt(e){var t,n,r,s,o,f,g,w,T;for(this.a=Xdt(e),this.b=new mt,n=e,r=0,s=n.length;r<s;++r)for(t=n[r],o=new mt,wt(this.b,o),g=t,w=0,T=g.length;w<T;++w)f=g[w],wt(o,new Ml(f.j))}function E9n(e,t,n){var r,s,o;return o=0,r=n[t],t<n.length-1&&(s=n[t+1],e.b[t]?(o=xOn(e.d,r,s),o+=uoe(e.a,r,(_t(),sr)),o+=uoe(e.a,s,Zn)):o=nwn(e.a,r,s)),e.c[t]&&(o+=_vn(e.a,r)),o}function C9n(e,t,n,r,s){var o,f,g,w;for(w=null,g=new K(r);g.a<g.c.c.length;)if(f=l(re(g),453),f!=n&&bc(f.e,s,0)!=-1){w=f;break}o=qoe(s),ho(o,n.b),Na(o,w.b),xn(e.a,s,new eH(o,t,n.f))}function S9n(e){var t,n,r,s;if(R5(l(Q(e.b,(Nt(),Rh)),88)))return 0;for(t=0,r=new K(e.a);r.a<r.c.c.length;)n=l(re(r),10),n.k==(Jn(),Bs)&&(s=n.o.a,t=b.Math.max(t,s));return t}function Apt(e){for(;e.g.c!=0&&e.d.c!=0;)Tae(e.g).c>Tae(e.d).c?(e.i+=e.g.c,uue(e.d)):Tae(e.d).c>Tae(e.g).c?(e.e+=e.d.c,uue(e.g)):(e.i+=Rst(e.g),e.e+=Rst(e.d),uue(e.g),uue(e.d))}function _9n(e,t,n){var r,s,o,f;for(o=t.q,f=t.r,new Hm((Q0(),Qb),t,o,1),new Hm(Qb,o,f,1),s=new K(n);s.a<s.c.c.length;)r=l(re(s),118),r!=o&&r!=t&&r!=f&&(Yke(e.a,r,t),Yke(e.a,r,f))}function Lpt(e,t,n,r){e.a.d=b.Math.min(t,n),e.a.a=b.Math.max(t,r)-e.a.d,t<n?(e.b=.5*(t+n),e.g=Nfe*e.b+.9*t,e.f=Nfe*e.b+.9*n):(e.b=.5*(t+r),e.g=Nfe*e.b+.9*r,e.f=Nfe*e.b+.9*t)}function A9n(e){var t,n,r,s;if(e.b!=0){for(t=new os,s=Fr(e,0);s.b!=s.d.c;)r=l(Pr(s),40),Ga(t,Lce(r)),n=r.e,n.a=l(Q(r,(Zi(),HB)),17).a,n.b=l(Q(r,UB),17).a;return t}return new os}function L9n(e){switch(l(Q(e,(Nt(),Qu)),171).g){case 1:rt(e,Qu,(lf(),QL));break;case 2:rt(e,Qu,(lf(),b4));break;case 3:rt(e,Qu,(lf(),XL));break;case 4:rt(e,Qu,(lf(),Yb))}}function M9n(e,t,n){var r;n.Ug("Self-Loop routing",1),r=i5n(t),Fq(Q(t,(iU(),TM))),Os(gc(ji(ji(Pc(new vn(null,new kn(t.b,16)),new iee),new Q9),new i8),new vS),new itt(e,r)),n.Vg()}function HT(){HT=U,VL=new __(Id,0),KLe=new __(Dx,1),XLe=new __(Ix,2),YLe=new __("LEFT_RIGHT_CONSTRAINT_LOCKING",3),WLe=new __("LEFT_RIGHT_CONNECTION_LOCKING",4),GLe=new __(Cyt,5)}function Mpt(e,t,n){var r,s,o,f,g,w,T;g=n.a/2,o=n.b/2,r=b.Math.abs(t.a-e.a),s=b.Math.abs(t.b-e.b),w=1,T=1,r>g&&(w=g/r),s>o&&(T=o/s),f=b.Math.min(w,T),e.a+=f*(t.a-e.a),e.b+=f*(t.b-e.b)}function D9n(e,t,n,r,s){var o,f;for(f=!1,o=l(Rt(n.b,0),27);aLn(e,t,o,r,s)&&(f=!0,oxn(n,o),n.b.c.length!=0);)o=l(Rt(n.b,0),27);return n.b.c.length==0&&ZN(n.j,n),f&&mV(t.q),f}function I9n(e,t){d6();var n,r,s,o;if(t.b<2)return!1;for(o=Fr(t,0),n=l(Pr(o),8),r=n;o.b!=o.d.c;){if(s=l(Pr(o),8),lle(e,r,s))return!0;r=s}return!!lle(e,r,n)}function f9e(e,t,n,r){var s,o;return n==0?(!e.o&&(e.o=new yl((au(),Ag),R2,e,0)),Jq(e.o,t,r)):(o=l(Mn((s=l(Gn(e,16),29),s||e.ii()),n),69),o.wk().Ak(e,Ku(e),n-wr(e.ii()),t,r))}function Wue(e,t){var n;t!=e.sb?(n=null,e.sb&&(n=l(e.sb,54).Th(e,1,jM,n)),t&&(n=l(t,54).Rh(e,1,jM,n)),n=E8e(e,t,n),n&&n.oj()):e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,4,t,t))}function O9n(e,t){var n,r,s,o;if(t)s=ap(t,"x"),n=new wQe(e),cT(n.a,(tr(s),s)),o=ap(t,"y"),r=new yQe(e),lT(r.a,(tr(o),o));else throw ue(new dd("All edge sections need an end point."))}function N9n(e,t){var n,r,s,o;if(t)s=ap(t,"x"),n=new bQe(e),uT(n.a,(tr(s),s)),o=ap(t,"y"),r=new mQe(e),hT(r.a,(tr(o),o));else throw ue(new dd("All edge sections need a start point."))}function P9n(e,t){var n,r,s,o,f,g,w;for(r=r1t(e),o=0,g=r.length;o<g;++o)xpt(t);for(w=!G1&&e.e?G1?null:e.d:null;w;){for(n=r1t(w),s=0,f=n.length;s<f;++s)xpt(t);w=!G1&&w.e?G1?null:w.d:null}}function Dpt(e,t){var n,r;r=l(Q(t,(Nt(),Ds)),101),rt(t,(ft(),lMe),r),n=t.e,n&&(Os(new vn(null,new kn(n.a,16)),new Qp(e)),Os(Pc(new vn(null,new kn(n.b,16)),new h5),new r_(e)))}function Jn(){Jn=U,Bs=new T_("NORMAL",0),Aa=new T_("LONG_EDGE",1),Ks=new T_("EXTERNAL_PORT",2),Su=new T_("NORTH_SOUTH_PORT",3),uu=new T_("LABEL",4),K1=new T_("BREAKING_POINT",5)}function B9n(e){var t,n,r,s;if(t=!1,rs(e,(ft(),WL)))for(n=l(Q(e,WL),85),s=new K(e.j);s.a<s.c.c.length;)r=l(re(s),12),VEn(r)&&(t||(iTn(Ja(e)),t=!0),Q5n(l(n.xc(r),314)))}function F9n(e){var t,n,r,s,o,f,g,w,T;return T=r9e(e),n=e.e,o=n!=null,o&&Hk(T,WG,e.e),g=e.k,f=!!g,f&&Hk(T,"type",yae(e.k)),r=oO(e.j),s=!r,s&&(w=new Yp,Z0(T,u0e,w),t=new $Qe(w),Za(e.j,t)),T}function R9n(e){var t,n,r,s;for(s=yb((Mh(e.gc(),"size"),new A5),123),r=!0,n=Rm(e).Kc();n.Ob();)t=l(n.Pb(),44),r||(s.a+=To),r=!1,mu(yb(mu(s,t.ld()),61),t.md());return(s.a+="}",s).a}function Ipt(e,t){var n,r,s;return t&=63,t<22?(n=e.l<<t,r=e.m<<t|e.l>>22-t,s=e.h<<t|e.m>>22-t):t<44?(n=0,r=e.l<<t-22,s=e.m<<t-22|e.l>>44-t):(n=0,r=0,s=e.l<<t-44),qu(n&Ql,r&Ql,s&pp)}function qy(e){if(p_e==null&&(p_e=new RegExp("^\\s*[+-]?(NaN|Infinity|((\\d+\\.?\\d*)|(\\.\\d+))([eE][+-]?\\d+)?[dDfF]?)\\s*$")),!p_e.test(e))throw ue(new gd(n3+e+'"'));return parseFloat(e)}function Opt(e,t){var n,r,s,o,f;for(s=t==1?w1e:v1e,r=s.a.ec().Kc();r.Ob();)for(n=l(r.Pb(),88),f=l($i(e.f.c,n),21).Kc();f.Ob();)o=l(f.Pb(),42),wt(e.b.b,l(o.b,86)),wt(e.b.a,l(o.b,86).d)}function j9n(e,t){var n,r,s,o;for(o=t.b.j,e.a=We(Ur,fi,28,o.c.length,15,1),s=0,r=0;r<o.c.length;r++)n=(Sn(r,o.c.length),l(o.c[r],12)),n.e.c.length==0&&n.g.c.length==0?s+=1:s+=3,e.a[r]=s}function _V(){_V=U,G1e=new C_("ALWAYS_UP",0),V1e=new C_("ALWAYS_DOWN",1),W1e=new C_("DIRECTION_UP",2),K1e=new C_("DIRECTION_DOWN",3),Y1e=new C_("SMART_UP",4),iW=new C_("SMART_DOWN",5)}function $9n(e,t){if(e<0||t<0)throw ue(new Wn("k and n must be positive"));if(t>e)throw ue(new Wn("k must be smaller than n"));return t==0||t==e?1:e==0?0:jxe(e)/(jxe(t)*jxe(e-t))}function d9e(e,t){var n,r,s,o;for(n=new Lye(e);n.g==null&&!n.c?o6e(n):n.g==null||n.i!=0&&l(n.g[n.i-1],51).Ob();)if(o=l(IV(n),58),De(o,167))for(r=l(o,167),s=0;s<t.length;s++)t[s].Kg(r)}function Yue(e){var t;return e.Db&64?Zce(e):(t=new Af(Zce(e)),t.a+=" (height: ",L5(t,e.f),t.a+=", width: ",L5(t,e.g),t.a+=", x: ",L5(t,e.i),t.a+=", y: ",L5(t,e.j),t.a+=")",t.a)}function z9n(e){var t,n,r,s,o,f,g;for(t=new u2,r=e,s=0,o=r.length;s<o;++s)if(n=r[s],f=Xr(n.ld()),g=y2(t,f,Xr(n.md())),g!=null)throw ue(new Wn("duplicate key: "+f));this.b=(Cn(),new er(t))}function q9n(e){var t,n,r,s,o;if(e==null)return cl;for(o=new Qm(To,"[","]"),n=e,r=0,s=n.length;r<s;++r)t=n[r],np(o,String.fromCharCode(t));return o.a?o.e.length==0?o.a.a:o.a.a+(""+o.e):o.c}function g9e(){g9e=U,pAe=(gU(),_K),p8t=new mn(dG,pAe),bt(1),g8t=new mn(XTe,bt(300)),bt(0),v8t=new mn(QTe,bt(0)),w8t=new mn(Vhe,Dd),b8t=new mn(Ghe,5),y8t=_K,m8t=h1e}function H9n(e,t){var n;if(t!=null&&!e.c.Hk().fk(t))throw n=De(t,58)?l(t,58).Dh().zb:Pm(dh(t)),ue(new Ek(qb+e.c.xe()+"'s type '"+e.c.Hk().xe()+"' does not permit a value of type '"+n+"'"))}function U9n(e,t,n){var r,s;for(s=new Ua(e.b,0);s.b<s.d.gc();)r=(br(s.b<s.d.gc()),l(s.d.Xb(s.c=s.b++),72)),qe(Q(r,(ft(),cMe)))===qe(t)&&(y9e(r.n,Ja(e.c.i),n),fh(s),wt(t.b,r))}function Npt(e){var t,n;return n=b.Math.sqrt((e.k==null&&(e.k=j7e(e,new Xee)),ze(e.k)/(e.b*(e.g==null&&(e.g=Zft(e,new e$)),ze(e.g))))),t=Yr(tu(b.Math.round(n))),t=b.Math.min(t,e.f),t}function V9n(){var e,t,n;for(t=0,e=0;e<1;e++){if(n=H9e((Yn(e,1),"X".charCodeAt(e))),n==0)throw ue(new ri((Yn(e,1+1),"Unknown Option: "+"X".substr(e))));t|=n}return t}function du(){xl(),x4e.call(this),this.j=(_t(),jc),this.a=new za,new ese,this.f=(Mh(2,Jy),new Pu(2)),this.e=(Mh(4,Jy),new Pu(4)),this.g=(Mh(4,Jy),new Pu(4)),this.b=new att(this.e,this.g)}function G9n(e,t){var n,r;return!(Ft(Pt(Q(t,(ft(),W1))))||(r=t.c.i,e==(lf(),XL)&&r.k==(Jn(),uu))||(n=l(Q(r,(Nt(),Qu)),171),n==Yb))}function K9n(e,t){var n,r;return!(Ft(Pt(Q(t,(ft(),W1))))||(r=t.d.i,e==(lf(),QL)&&r.k==(Jn(),uu))||(n=l(Q(r,(Nt(),Qu)),171),n==b4))}function W9n(e,t){var n,r,s,o,f,g,w;for(f=e.d,w=e.o,g=new Zh(-f.b,-f.d,f.b+w.a+f.c,f.d+w.b+f.a),r=t,s=0,o=r.length;s<o;++s)n=r[s],n&&zA(g,n.i);f.b=-g.c,f.d=-g.d,f.c=g.b-f.b-w.a,f.a=g.a-f.d-w.b}function Y9n(e,t){if(t.a)switch(l(Q(t.b,(ft(),lMe)),101).g){case 0:case 1:dxn(t);case 2:Os(new vn(null,new kn(t.d,16)),new Lj),QTn(e.a,t)}else Os(new vn(null,new kn(t.d,16)),new Lj)}function iP(){iP=U,jOe=new TO("CENTER_DISTANCE",0),Oge=new TO("CIRCLE_UNDERLAP",1),zOe=new TO("RECTANGLE_UNDERLAP",2),Nge=new TO("INVERTED_OVERLAP",3),$Oe=new TO("MINIMUM_ROOT_DISTANCE",4)}function X9n(e){mke();var t,n,r,s,o;if(e==null)return null;for(r=e.length,s=r*2,t=We(xf,Ad,28,s,15,1),n=0;n<r;n++)o=e[n],o<0&&(o+=256),t[n*2]=BY[o>>4],t[n*2+1]=BY[o&15];return If(t,0,t.length)}function Q9n(e){LH();var t,n,r;switch(r=e.c.length,r){case 0:return N6t;case 1:return t=l(g2t(new K(e)),44),Udn(t.ld(),t.md());default:return n=l(j1(e,We(mv,rG,44,e.c.length,0,1)),173),new f3e(n)}}function J9n(e){var t,n,r,s,o,f;for(t=new H5,n=new H5,Tb(t,e),Tb(n,e);n.b!=n.c;)for(s=l(Q8(n),36),f=new K(s.a);f.a<f.c.c.length;)o=l(re(f),10),o.e&&(r=o.e,Tb(t,r),Tb(n,r));return t}function k2(e,t){switch(t.g){case 1:return K8(e.j,(xl(),$Ae));case 2:return K8(e.j,(xl(),RAe));case 3:return K8(e.j,(xl(),qAe));case 4:return K8(e.j,(xl(),HAe));default:return Cn(),Cn(),Co}}function Z9n(e,t){var n,r,s;n=Fdn(t,e.e),r=l(or(e.g.f,n),17).a,s=e.a.c.length-1,e.a.c.length!=0&&l(Rt(e.a,s),294).c==r?(++l(Rt(e.a,s),294).a,++l(Rt(e.a,s),294).b):wt(e.a,new $rt(r))}function ekn(e,t,n){var r,s;return r=b_n(e,t,n),r!=0?r:rs(t,(ft(),Yi))&&rs(n,Yi)?(s=iu(l(Q(t,Yi),17).a,l(Q(n,Yi),17).a),s<0?vP(e,t,n):s>0&&vP(e,n,t),s):$Tn(e,t,n)}function Pb(){Pb=U,jCt=(bi(),r9),$Ct=Dv,PCt=Mv,BCt=a7,FCt=em,NCt=s7,JIe=rF,RCt=L4,fge=(_ke(),TCt),dge=ECt,eOe=ACt,gge=DCt,tOe=LCt,nOe=MCt,ZIe=CCt,YW=SCt,XW=_Ct,VB=ICt,rOe=OCt,QIe=kCt}function Ppt(e,t){var n,r,s,o,f;if(e.e<=t||kbn(e,e.g,t))return e.g;for(o=e.r,r=e.g,f=e.r,s=(o-r)/2+r;r+1<o;)n=eL(e,s,!1),n.b<=s&&n.a<=t?(f=s,o=s):r=s,s=(o-r)/2+r;return f}function tkn(e,t,n){var r;r=nmt(e,t,!0),dpt(n,"Recursive Graph Layout",r),d9e(t,he(le(oNe,1),jn,536,0,[new Cie])),P1(t,(bi(),c7))||d9e(t,he(le(oNe,1),jn,536,0,[new w$])),gTe(e,t,null,n),Bpt(n)}function Bpt(e){var t;if(e.p==null)throw ue(new ic("The task has not begun yet."));e.b||(e.k&&(t=(Wg(),go(tu(Date.now()),C2)),e.q=Vm(Df(t,e.o))*1e-9),e.c<e.r&&S7e(e,e.r-e.c),e.b=!0)}function sP(e){var t,n,r;for(r=new pl,ci(r,new lt(e.j,e.k)),n=new ar((!e.a&&(e.a=new Qs(qh,e,5)),e.a));n.e!=n.i.gc();)t=l(dr(n),377),ci(r,new lt(t.a,t.b));return ci(r,new lt(e.b,e.c)),r}function nkn(e,t,n,r,s){var o,f,g,w,T,C;if(s)for(w=s.a.length,o=new jm(w),C=(o.b-o.a)*o.c<0?(gb(),lm):new mb(o);C.Ob();)T=l(C.Pb(),17),g=eT(s,T.a),f=new oot(e,t,n,r),EAn(f.a,f.b,f.c,f.d,g)}function p9e(e,t){var n;if(qe(e)===qe(t))return!0;if(De(t,21)){n=l(t,21);try{return e.gc()==n.gc()&&e.Ic(n)}catch(r){if(r=ms(r),De(r,169)||De(r,212))return!1;throw ue(r)}}return!1}function Xue(e,t,n,r,s,o){switch(this.c=e,t.g){case 2:if(e.a.Ne(s,n)<0)throw ue(new Wn(ATe+s+C3t+n));break;case 1:e.a.Ne(s,s);break;case 3:e.a.Ne(n,n)}this.f=t,this.b=n,this.a=r,this.e=s,this.d=o}function b9e(e,t){var n;wt(e.d,t),n=t.Mf(),e.c?(e.e.a=b.Math.max(e.e.a,n.a),e.e.b+=n.b,e.d.c.length>1&&(e.e.b+=e.a)):(e.e.a+=n.a,e.e.b=b.Math.max(e.e.b,n.b),e.d.c.length>1&&(e.e.a+=e.a))}function rkn(e){var t,n,r,s;switch(s=e.i,t=s.b,r=s.j,n=s.g,s.a.g){case 0:n.a=(e.g.b.o.a-r.a)/2;break;case 1:n.a=t.d.n.a+t.d.a.a;break;case 2:n.a=t.d.n.a+t.d.a.a-r.a;break;case 3:n.b=t.d.n.b+t.d.a.b}}function ikn(e,t,n){var r,s,o;for(s=new lr(fr(up(n).a.Kc(),new j));Rr(s);)r=l(yr(s),18),!Ao(r)&&!(!Ao(r)&&r.c.i.c==r.d.i.c)&&(o=Cbt(e,r,n,new _Je),o.c.length>1&&qn(t.c,o))}function Fpt(e,t,n,r,s){if(r<t||s<n)throw ue(new Wn("The highx must be bigger then lowx and the highy must be bigger then lowy"));return e.a<t?e.a=t:e.a>r&&(e.a=r),e.b<n?e.b=n:e.b>s&&(e.b=s),e}function skn(e){if(De(e,143))return BCn(l(e,143));if(De(e,233))return S5n(l(e,233));if(De(e,23))return F9n(l(e,23));throw ue(new Wn(BSe+Ob(new Ll(he(le(ka,1),jn,1,5,[e])))))}function akn(e,t,n,r,s){var o,f,g;for(o=!0,f=0;f<r;f++)o=o&n[f]==0;if(s==0)gu(n,r,e,0,t),f=t;else{for(g=32-s,o=o&n[f]<<g==0,f=0;f<t-1;f++)e[f]=n[f+r]>>>s|n[f+r+1]<<g;e[f]=n[f+r]>>>s,++f}return o}function m9e(e,t,n,r){var s,o,f;if(t.k==(Jn(),Aa)){for(o=new lr(fr(Ea(t).a.Kc(),new j));Rr(o);)if(s=l(yr(o),18),f=s.c.i.k,f==Aa&&e.c.a[s.c.i.c.p]==r&&e.c.a[t.c.p]==n)return!0}return!1}function okn(e,t){var n,r,s,o;return t&=63,n=e.h&pp,t<22?(o=n>>>t,s=e.m>>t|n<<22-t,r=e.l>>t|e.m<<22-t):t<44?(o=0,s=n>>>t-22,r=e.m>>t-22|e.h<<44-t):(o=0,s=0,r=n>>>t-44),qu(r&Ql,s&Ql,o&pp)}function Rpt(e,t,n,r){var s;this.b=r,this.e=e==(jw(),cM),s=t[n],this.d=Fm(th,[dt,vg],[183,28],16,[s.length,s.length],2),this.a=Fm(Ur,[dt,fi],[53,28],15,[s.length,s.length],2),this.c=new Jxe(t,n)}function ckn(e){var t,n,r;for(e.k=new l6e((_t(),he(le(Mo,1),ou,64,0,[jc,Xn,sr,Mr,Zn])).length,e.j.c.length),r=new K(e.j);r.a<r.c.c.length;)n=l(re(r),113),t=n.d.j,xn(e.k,t,n);e.e=kCn(Y8(e.k))}function jpt(e,t){var n,r,s;sa(e.d,t),n=new qte,Ti(e.c,t,n),n.f=Wce(t.c),n.a=Wce(t.d),n.d=(KA(),s=t.c.i.k,s==(Jn(),Bs)||s==K1),n.e=(r=t.d.i.k,r==Bs||r==K1),n.b=t.c.j==(_t(),Zn),n.c=t.d.j==sr}function ukn(e){var t,n,r,s,o;for(o=Ni,s=Ni,r=new K(t6(e));r.a<r.c.c.length;)n=l(re(r),218),t=n.e.e-n.d.e,n.e==e&&t<s?s=t:t<o&&(o=t);return s==Ni&&(s=-1),o==Ni&&(o=-1),new fa(bt(s),bt(o))}function lkn(e,t){var n,r,s;return s=k6,r=(PA(),mB),s=b.Math.abs(e.b),n=b.Math.abs(t.f-e.b),n<s&&(s=n,r=EK),n=b.Math.abs(e.a),n<s&&(s=n,r=vB),n=b.Math.abs(t.g-e.a),n<s&&(s=n,r=TK),r}function hkn(e,t){var n,r,s,o;for(n=t.a.o.a,o=new c2(Ja(t.a).b,t.c,t.f+1),s=new xr(o);s.b<s.d.gc();)if(r=(br(s.b<s.d.gc()),l(s.d.Xb(s.c=s.b++),30)),r.c.a>=n)return UT(e,t,r.p),!0;return!1}function u6(e,t,n,r){var s,o,f,g,w,T;for(f=n.length,o=0,s=-1,T=Dht((Yn(t,e.length+1),e.substr(t)),(Aae(),O_e)),g=0;g<f;++g)w=n[g].length,w>o&&Pgn(T,Dht(n[g],O_e))&&(s=g,o=w);return s>=0&&(r[0]=t+o),s}function $pt(e){var t;return e.Db&64?Yue(e):(t=new Eh(CSe),!e.a||li(li((t.a+=' "',t),e.a),'"'),li(lw(li(lw(li(lw(li(lw((t.a+=" (",t),e.i),","),e.j)," | "),e.g),","),e.f),")"),t.a)}function zpt(e,t,n){var r,s,o,f,g;for(g=Wu(e.e.Dh(),t),s=l(e.g,124),r=0,f=0;f<e.i;++f)if(o=s[f],g.am(o.Lk())){if(r==n)return Ky(e,f),Ro(),l(t,69).xk()?o:o.md();++r}throw ue(new rc(SL+n+gv+r))}function qpt(e){var t,n,r;if(t=e.c,t==2||t==7||t==1)return Ii(),Ii(),YM;for(r=lTe(e),n=null;(t=e.c)!=2&&t!=7&&t!=1;)n||(n=(Ii(),Ii(),new F_(1)),sv(n,r),r=n),sv(n,lTe(e));return r}function fkn(e,t,n){return e<0||e>n?_9e(e,n,"start index"):t<0||t>n?_9e(t,n,"end index"):WA("end index (%s) must not be less than start index (%s)",he(le(ka,1),jn,1,5,[bt(t),bt(e)]))}function Hpt(e,t){var n,r,s,o;for(r=0,s=e.length;r<s;r++){o=e[r];try{o[1]?o[0].Um()&&(t=mgn(t,o)):o[0].Um()}catch(f){if(f=ms(f),De(f,82))n=f,Xz(),s2n(De(n,486)?l(n,486).ke():n);else throw ue(f)}}return t}function UT(e,t,n){var r,s,o;for(n!=t.c+t.b.gc()&&ILn(t.a,W3n(t,n-t.c)),o=t.a.c.p,e.a[o]=b.Math.max(e.a[o],t.a.o.a),s=l(Q(t.a,(ft(),YL)),15).Kc();s.Ob();)r=l(s.Pb(),72),rt(r,A1e,(Hn(),!0))}function dkn(e,t){var n,r,s;s=UCn(t),rt(t,(ft(),sde),s),s&&(r=Ni,zo(e.f,s)&&(r=l(dc(zo(e.f,s)),17).a),n=l(Rt(t.g,0),18),Ft(Pt(Q(n,W1)))||Ti(e,s,bt(b.Math.min(l(Q(n,Yi),17).a,r))))}function Upt(e,t,n){var r,s,o,f,g;for(t.p=-1,g=Vw(t,(qo(),$u)).Kc();g.Ob();)for(f=l(g.Pb(),12),s=new K(f.g);s.a<s.c.c.length;)r=l(re(s),18),o=r.d.i,t!=o&&(o.p<0?n.Fc(r):o.p>0&&Upt(e,o,n));t.p=0}function Qt(e){var t;this.c=new os,this.f=e.e,this.e=e.d,this.i=e.g,this.d=e.c,this.b=e.b,this.k=e.j,this.a=e.a,e.i?this.j=e.i:this.j=(t=l(G0(Eg),9),new Jh(t,l(o0(t,t.length),9),0)),this.g=e.f}function gkn(e){var t,n,r,s;for(t=yb(li(new Eh("Predicates."),"and"),40),n=!0,s=new xr(e);s.b<s.d.gc();)r=(br(s.b<s.d.gc()),s.d.Xb(s.c=s.b++)),n||(t.a+=","),t.a+=""+r,n=!1;return(t.a+=")",t).a}function Vpt(e,t,n){var r,s,o;if(!(n<=t+2))for(s=(n-t)/2|0,r=0;r<s;++r)o=(Sn(t+r,e.c.length),l(e.c[t+r],12)),nf(e,t+r,(Sn(n-r-1,e.c.length),l(e.c[n-r-1],12))),Sn(n-r-1,e.c.length),e.c[n-r-1]=o}function pkn(e,t,n){var r,s,o,f,g,w,T,C;o=e.d.p,g=o.e,w=o.r,e.g=new $O(w),f=e.d.o.c.p,r=f>0?g[f-1]:We(kg,S2,10,0,0,1),s=g[f],T=f<g.length-1?g[f+1]:We(kg,S2,10,0,0,1),C=t==n-1,C?Eoe(e.g,s,T):Eoe(e.g,r,s)}function Gpt(e){var t;this.j=new mt,this.f=new Ys,this.b=(t=l(G0(Mo),9),new Jh(t,l(o0(t,t.length),9),0)),this.d=We(Ur,fi,28,(_t(),he(le(Mo,1),ou,64,0,[jc,Xn,sr,Mr,Zn])).length,15,1),this.g=e}function Kpt(e,t){var n,r,s;if(t.c.length!=0){for(n=kpt(e,t),s=!1;!n;)DV(e,t,!0),s=!0,n=kpt(e,t);s&&DV(e,t,!1),r=Mce(t),e.b&&e.b.Gg(r),e.a=E1t(e,(Sn(0,t.c.length),l(t.c[0],27))),Kpt(e,r)}}function Que(e,t){var n,r,s;if(r=Mn(e.Dh(),t),n=t-e.ji(),n<0)if(r)if(r.rk())s=e.Ih(r),s>=0?e.ki(s):D9e(e,r);else throw ue(new Wn(qb+r.xe()+TL));else throw ue(new Wn(q4t+t+H4t));else of(e,n,r)}function v9e(e){var t,n;if(n=null,t=!1,De(e,211)&&(t=!0,n=l(e,211).a),t||De(e,263)&&(t=!0,n=""+l(e,263).a),t||De(e,493)&&(t=!0,n=""+l(e,493).a),!t)throw ue(new hse(PSe));return n}function w9e(e,t,n){var r,s,o,f,g,w;for(w=Wu(e.e.Dh(),t),r=0,g=e.i,s=l(e.g,124),f=0;f<e.i;++f)if(o=s[f],w.am(o.Lk())){if(n==r)return f;++r,g=f+1}if(n==r)return g;throw ue(new rc(SL+n+gv+r))}function bkn(e,t){var n,r,s,o;if(e.f.c.length==0)return null;for(o=new z8,r=new K(e.f);r.a<r.c.c.length;)n=l(re(r),72),s=n.o,o.b=b.Math.max(o.b,s.a),o.a+=s.b;return o.a+=(e.f.c.length-1)*t,o}function mkn(e){var t,n,r,s;for(n=new os,Ga(n,e.o),r=new t3e;n.b!=0;)t=l(n.b==0?null:(br(n.b!=0),sf(n,n.a.a)),515),s=Dwt(e,t,!0),s&&wt(r.a,t);for(;r.a.c.length!=0;)t=l(h1t(r),515),Dwt(e,t,!1)}function T2(){T2=U,cNe=new R8(uL,0),Ta=new R8("BOOLEAN",1),Sc=new R8("INT",2),e7=new R8("STRING",3),co=new R8("DOUBLE",4),ps=new R8("ENUM",5),n9=new R8("ENUMSET",6),X1=new R8("OBJECT",7)}function zA(e,t){var n,r,s,o,f;r=b.Math.min(e.c,t.c),o=b.Math.min(e.d,t.d),s=b.Math.max(e.c+e.b,t.c+t.b),f=b.Math.max(e.d+e.a,t.d+t.a),s<r&&(n=r,r=s,s=n),f<o&&(n=o,o=f,f=n),cst(e,r,o,s-r,f-o)}function Wpt(e,t){var n,r;if(e.f){for(;t.Ob();)if(n=l(t.Pb(),76),r=n.Lk(),De(r,102)&&l(r,19).Bb&nu&&(!e.e||r.pk()!=uC||r.Lj()!=0)&&n.md()!=null)return t.Ub(),!0;return!1}else return t.Ob()}function Ypt(e,t){var n,r;if(e.f){for(;t.Sb();)if(n=l(t.Ub(),76),r=n.Lk(),De(r,102)&&l(r,19).Bb&nu&&(!e.e||r.pk()!=uC||r.Lj()!=0)&&n.md()!=null)return t.Pb(),!0;return!1}else return t.Sb()}function kl(){kl=U,sBe=he(le($t,1),dt,2,6,[XSe,sB,aK,s6t,oK,y0e,WG]),iBe=he(le($t,1),dt,2,6,[XSe,"empty",sB,iB,"elementOnly"]),aBe=he(le($t,1),dt,2,6,[XSe,"preserve","replace",i1]),no=new lst}function y9e(e,t,n){var r,s,o;if(t!=n){r=t;do Pi(e,r.c),s=r.e,s&&(o=r.d,yw(e,o.b,o.d),Pi(e,s.n),r=Ja(s));while(s);r=n;do ya(e,r.c),s=r.e,s&&(o=r.d,q_(e,o.b,o.d),ya(e,s.n),r=Ja(s));while(s)}}function Jue(e,t,n,r){var s,o,f,g,w;if(r.f.c+r.i.c==0)for(f=e.a[e.c],g=0,w=f.length;g<w;++g)o=f[g],Ti(r,o,new o0t(e,o,n));return s=l(dc(zo(r.f,t)),677),s.b=0,s.c=s.f,s.c==0||kr(l(Rt(s.a,s.b),294)),s}function xx(){xx=U,PE=new E_("MEDIAN_LAYER",0),HL=new E_("TAIL_LAYER",1),NE=new E_("HEAD_LAYER",2),g4=new E_("SPACE_EFFICIENT_LAYER",3),B6=new E_("WIDEST_LAYER",4),P6=new E_("CENTER_LAYER",5)}function x9e(e){var t,n,r,s;for(e.e=0,s=Fr(e.f,0);s.b!=s.d.c;)r=l(Pr(s),10),r.p>=e.d.b.c.length&&(t=new vu(e.d),t.p=r.p-1,wt(e.d.b,t),n=new vu(e.d),n.p=r.p,wt(e.d.b,n)),Ha(r,l(Rt(e.d.b,r.p),30))}function k9e(e,t,n){var r,s,o;if(!e.b[t.g]){for(e.b[t.g]=!0,r=n,!r&&(r=new lN),ci(r.b,t),o=e.a[t.g].Kc();o.Ob();)s=l(o.Pb(),65),s.b!=t&&k9e(e,s.b,r),s.c!=t&&k9e(e,s.c,r),ci(r.a,s);return r}return null}function vkn(e){switch(e.g){case 0:case 1:case 2:return _t(),Xn;case 3:case 4:case 5:return _t(),Mr;case 6:case 7:case 8:return _t(),Zn;case 9:case 10:case 11:return _t(),sr;default:return _t(),jc}}function wkn(e,t){var n;return e.c.length==0?!1:(n=cdt((Sn(0,e.c.length),l(e.c[0],18)).c.i),Sh(),n==(jy(),W6)||n==K6?!0:X5(gc(new vn(null,new kn(e,16)),new lte),new SXe(t)))}function Zue(e,t){if(De(t,207))return dhn(e,l(t,27));if(De(t,193))return ghn(e,l(t,123));if(De(t,452))return fhn(e,l(t,166));throw ue(new Wn(BSe+Ob(new Ll(he(le(ka,1),jn,1,5,[t])))))}function Xpt(e,t,n){var r,s;if(this.f=e,r=l(or(e.b,t),260),s=r?r.a:0,$6e(n,s),n>=(s/2|0))for(this.e=r?r.c:null,this.d=s;n++<s;)Iht(this);else for(this.c=r?r.b:null;n-- >0;)l7e(this);this.b=t,this.a=null}function ykn(e,t){var n,r;t.a?eSn(e,t):(n=l(kse(e.b,t.b),60),n&&n==e.a[t.b.f]&&n.a&&n.a!=t.b.a&&n.c.Fc(t.b),r=l(xse(e.b,t.b),60),r&&e.a[r.f]==t.b&&r.a&&r.a!=t.b.a&&t.b.c.Fc(r),pae(e.b,t.b))}function Qpt(e,t){var n,r;if(n=l(Zo(e.b,t),127),l(l($i(e.r,t),21),87).dc()){n.n.b=0,n.n.c=0;return}n.n.b=e.C.b,n.n.c=e.C.c,e.A.Hc((gh(),Ov))&&Tmt(e,t),r=W6n(e,t),fle(e,t)==(r6(),nm)&&(r+=2*e.w),n.a.a=r}function Jpt(e,t){var n,r;if(n=l(Zo(e.b,t),127),l(l($i(e.r,t),21),87).dc()){n.n.d=0,n.n.a=0;return}n.n.d=e.C.d,n.n.a=e.C.a,e.A.Hc((gh(),Ov))&&Emt(e,t),r=K6n(e,t),fle(e,t)==(r6(),nm)&&(r+=2*e.w),n.a.b=r}function xkn(e,t){var n,r,s,o;for(o=new mt,r=new K(t);r.a<r.c.c.length;)n=l(re(r),68),wt(o,new W3e(n,!0)),wt(o,new W3e(n,!1));s=new Sot(e),s.a.a.$b(),zct(o,e.b,new Ll(he(le(d7t,1),jn,693,0,[s])))}function Zpt(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V,J,te;return w=e.a,z=e.b,T=t.a,V=t.b,C=n.a,J=n.b,L=r.a,te=r.b,o=w*V-z*T,f=C*te-J*L,s=(w-T)*(J-te)-(z-V)*(C-L),g=(o*(C-L)-f*(w-T))/s,F=(o*(J-te)-f*(z-V))/s,new lt(g,F)}function kkn(e,t){var n,r,s;t.Ug("End label pre-processing",1),n=ze(Ge(Q(e,(Nt(),V6)))),r=ze(Ge(Q(e,T4))),s=R5(l(Q(e,Rh),88)),Os(Pc(new vn(null,new kn(e.b,16)),new hI),new Kit(n,r,s)),t.Vg()}function T9e(e,t){var n,r,s;if(!e.d[t.p]){for(e.d[t.p]=!0,e.a[t.p]=!0,r=new lr(fr(qs(t).a.Kc(),new j));Rr(r);)n=l(yr(r),18),!Ao(n)&&(s=n.d.i,e.a[s.p]?wt(e.b,n):T9e(e,s));e.a[t.p]=!1}}function e2t(e,t,n){var r;switch(r=0,l(Q(t,(Nt(),Qu)),171).g){case 2:r=2*-n+e.a,++e.a;break;case 1:r=-n;break;case 3:r=n;break;case 4:r=2*n+e.b,++e.b}return rs(t,(ft(),Yi))&&(r+=l(Q(t,Yi),17).a),r}function t2t(e,t,n){var r,s,o;for(n.zc(t,e),wt(e.n,t),o=e.p.zg(t),t.j==e.p.Ag()?X1t(e.e,o):X1t(e.j,o),SH(e),s=ag(Lh(he(le(Fh,1),jn,20,0,[new S5(t),new S8(t)])));Rr(s);)r=l(yr(s),12),n._b(r)||t2t(e,r,n)}function Tkn(e,t,n){var r,s,o;for(n.Ug("Processor set neighbors",1),e.a=t.b.b==0?1:t.b.b,s=null,r=Fr(t.b,0);!s&&r.b!=r.d.c;)o=l(Pr(r),40),Ft(Pt(Q(o,(Zi(),Zb))))&&(s=o);s&&smt(e,new Kg(s),n),n.Vg()}function E9e(e){var t,n,r;return n=l(at(e,(bi(),Mv)),21),n.Hc((gh(),D4))?(r=l(at(e,em),21),t=new xo(l(at(e,a7),8)),r.Hc((Xl(),cC))&&(t.a<=0&&(t.a=20),t.b<=0&&(t.b=20)),t):new za}function C9e(e){var t,n,r;if(!e.b){for(r=new dre,n=new U8(ZA(e));n.e!=n.i.gc();)t=l(mue(n),19),t.Bb&nu&&zr(r,t);Py(r),e.b=new B5((l(Oe(tt((wb(),Un).o),8),19),r.i),r.g),Gl(e).b&=-9}return e.b}function Hy(e){var t,n,r;for(n=e.length,r=0;r<n&&(Yn(r,e.length),e.charCodeAt(r)<=32);)++r;for(t=n;t>r&&(Yn(t-1,e.length),e.charCodeAt(t-1)<=32);)--t;return r>0||t<n?(Va(r,t,e.length),e.substr(r,t-r)):e}function Ekn(e,t){var n,r,s,o,f,g,w,T;w=l(BA(Y8(t.k),We(Mo,ou,64,2,0,1)),126),T=t.g,n=lut(t,w[0]),s=uut(t,w[1]),r=Iue(e,T,n,s),o=lut(t,w[1]),g=uut(t,w[0]),f=Iue(e,T,o,g),r<=f?(t.a=n,t.c=s):(t.a=o,t.c=g)}function aP(e){var t;Cn();var n,r,s,o,f,g;if(De(e,59))for(o=0,s=e.gc()-1;o<s;++o,--s)t=e.Xb(o),e.hd(o,e.Xb(s)),e.hd(s,t);else for(n=e.ed(),f=e.fd(e.gc());n.Tb()<f.Vb();)r=n.Pb(),g=f.Ub(),n.Wb(g),f.Wb(r)}function AV(e,t){var n,r,s,o,f,g;for(g=0,o=new H5,Tb(o,t);o.b!=o.c;)for(f=l(Q8(o),219),g+=Egt(f.d,f.e),s=new K(f.b);s.a<s.c.c.length;)r=l(re(s),36),n=l(Rt(e.b,r.p),219),n.s||(g+=AV(e,n));return g}function n2t(e,t,n,r,s){var o,f,g,w,T;if(t)for(g=t.Kc();g.Ob();)for(f=l(g.Pb(),10),T=xke(f,(qo(),$u),n).Kc();T.Ob();)w=l(T.Pb(),12),o=l(dc(zo(s.f,w)),118),o||(o=new LN(e.d),qn(r.c,o),t2t(o,w,s))}function r2t(e,t,n){var r,s;k0t(this),t==(Ow(),Jb)?sa(this.r,e.c):sa(this.w,e.c),n==Jb?sa(this.r,e.d):sa(this.w,e.d),jpt(this,e),r=Wce(e.c),s=Wce(e.d),Lpt(this,r,s,s),this.o=(KA(),b.Math.abs(r-s)<.2)}function i2t(e,t,n){var r,s,o,f,g,w;if(g=l(Gn(e.a,8),2035),g!=null)for(s=g,o=0,f=s.length;o<f;++o)null.Um();r=n,e.a.Db&1||(w=new Iat(e,n,t),r.dj(w)),De(r,686)?l(r,686).fj(e.a):r.cj()==e.a&&r.ej(null)}function Ckn(){var e;return XAt?l(GT((db(),Gf),bv),2044):(tIn(),e=l(De(wu((db(),Gf),bv),594)?wu(Gf,bv):new Hat,594),XAt=!0,zIn(e),kOn(e),Ti((R3e(),VPe),e,new fk),Nue(e),sc(Gf,bv,e),e)}function Skn(e,t,n,r){var s;return s=u6(e,n,he(le($t,1),dt,2,6,[hhe,fhe,dhe,ghe,phe,bhe,mhe]),t),s<0&&(s=u6(e,n,he(le($t,1),dt,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]),t)),s<0?!1:(r.d=s,!0)}function _kn(e,t,n,r){var s;return s=u6(e,n,he(le($t,1),dt,2,6,[hhe,fhe,dhe,ghe,phe,bhe,mhe]),t),s<0&&(s=u6(e,n,he(le($t,1),dt,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]),t)),s<0?!1:(r.d=s,!0)}function Ru(e,t,n){var r,s,o,f;if(f=e.b.Ce(t),s=(r=e.a.get(f),r??We(ka,jn,1,0,5,1)),s.length==0)e.a.set(f,s);else if(o=g1t(e,t,s),o)return o.nd(n);return Ss(s,s.length,new pq(t,n)),++e.c,++e.b.g,null}function Akn(e){var t,n,r;for($En(e),r=new mt,n=new K(e.a.a.b);n.a<n.c.c.length;)t=l(re(n),86),wt(r,new Q3e(t,!0)),wt(r,new Q3e(t,!1));p7n(e.c),sN(r,e.b,new Ll(he(le(yB,1),jn,382,0,[e.c]))),ZTn(e)}function oP(e,t){var n,r,s;for(s=new mt,r=new K(e.c.a.b);r.a<r.c.c.length;)n=l(re(r),60),t.Lb(n)&&(wt(s,new U3e(n,!0)),wt(s,new U3e(n,!1)));g7n(e.e),zct(s,e.d,new Ll(he(le(d7t,1),jn,693,0,[e.e])))}function Lkn(e){var t,n,r,s;for(n=new Nr,s=new K(e.d);s.a<s.c.c.length;)r=l(re(s),187),t=l(r.of((ft(),Wx)),18),zo(n.f,t)||Ti(n,t,new wot(t)),wt(l(dc(zo(n.f,t)),466).b,r);return new Ml(new pi(n))}function Mkn(e,t){var n,r,s,o,f;for(r=new Hct(e.j.c.length),n=null,o=new K(e.j);o.a<o.c.c.length;)s=l(re(o),12),s.j!=n&&(r.b==r.c||wbt(r,n,t),A6e(r),n=s.j),f=tbt(s),f&&k6e(r,f);r.b==r.c||wbt(r,n,t)}function Dkn(e,t){var n,r,s;for(r=new Ua(e.b,0);r.b<r.d.gc();)n=(br(r.b<r.d.gc()),l(r.d.Xb(r.c=r.b++),72)),s=l(Q(n,(Nt(),jd)),278),s==(F1(),M4)&&(fh(r),wt(t.b,n),rs(n,(ft(),Wx))||rt(n,Wx,e))}function Ikn(e){var t,n,r,s,o;for(t=ep(new lr(fr(qs(e).a.Kc(),new j))),s=new lr(fr(Ea(e).a.Kc(),new j));Rr(s);)r=l(yr(s),18),n=r.c.i,o=ep(new lr(fr(qs(n).a.Kc(),new j))),t=b.Math.max(t,o);return bt(t)}function S9e(e,t,n){var r,s,o;r=l(at(e,(bi(),ZB)),21),s=0,o=0,t.a>n.a&&(r.Hc((rv(),EM))?s=(t.a-n.a)/2:r.Hc(CM)&&(s=t.a-n.a)),t.b>n.b&&(r.Hc((rv(),_M))?o=(t.b-n.b)/2:r.Hc(SM)&&(o=t.b-n.b)),o9e(e,s,o)}function s2t(e,t,n,r,s,o,f,g,w,T,C,L,F){De(e.Cb,90)&&Uy(Gl(l(e.Cb,90)),4),Bu(e,n),e.f=f,DT(e,g),OT(e,w),MT(e,T),IT(e,C),v2(e,L),NT(e,F),m2(e,!0),d2(e,s),e.Zk(o),ev(e,t),r!=null&&(e.i=null,AU(e,r))}function _9e(e,t,n){if(e<0)return WA(n3t,he(le(ka,1),jn,1,5,[n,bt(e)]));if(t<0)throw ue(new Wn(r3t+t));return WA("%s (%s) must not be greater than size (%s)",he(le(ka,1),jn,1,5,[n,bt(e),bt(t)]))}function A9e(e,t,n,r,s,o){var f,g,w,T;if(f=r-n,f<7){p5n(t,n,r,o);return}if(w=n+s,g=r+s,T=w+(g-w>>1),A9e(t,e,w,T,-s,o),A9e(t,e,T,g,-s,o),o.Ne(e[T-1],e[T])<=0){for(;n<r;)Ss(t,n++,e[w++]);return}T4n(e,w,T,g,t,n,r,o)}function Okn(e,t){var n,r,s,o,f,g,w;for(w=t.d,s=t.b.j,g=new K(w);g.a<g.c.c.length;)for(f=l(re(g),105),o=We(th,vg,28,s.c.length,16,1),Ti(e.b,f,o),n=f.a.d.p-1,r=f.c.d.p;n!=r;)n=(n+1)%s.c.length,o[n]=!0}function Nkn(e,t){if(T7e(),rs(e,(ft(),Yi))&&rs(t,Yi))return iu(l(Q(e,Yi),17).a,l(Q(t,Yi),17).a);throw ue(new O8("The BF model order layer assigner requires all real nodes to have a model order."))}function Pkn(e,t){if(E7e(),rs(e,(ft(),Yi))&&rs(t,Yi))return iu(l(Q(e,Yi),17).a,l(Q(t,Yi),17).a);throw ue(new O8("The DF model order layer assigner requires all real nodes to have a model order."))}function Bkn(e,t){for(e.r=new LN(e.p),Z(e.r,e),Ga(e.r.j,e.j),Ch(e.j),ci(e.j,t),ci(e.r.e,t),SH(e),SH(e.r);e.f.c.length!=0;)ert(l(Rt(e.f,0),132));for(;e.k.c.length!=0;)ert(l(Rt(e.k,0),132));return e.r}function ele(e,t,n){var r,s,o;if(s=Mn(e.Dh(),t),r=t-e.ji(),r<0)if(s)if(s.rk())o=e.Ih(s),o>=0?e.bi(o,n):ike(e,s,n);else throw ue(new Wn(qb+s.xe()+TL));else throw ue(new Wn(q4t+t+H4t));else cf(e,r,s,n)}function a2t(e){var t,n;if(e.f){for(;e.n>0;){if(t=l(e.k.Xb(e.n-1),76),n=t.Lk(),De(n,102)&&l(n,19).Bb&nu&&(!e.e||n.pk()!=uC||n.Lj()!=0)&&t.md()!=null)return!0;--e.n}return!1}else return e.n>0}function o2t(e){var t,n,r,s;if(n=l(e,54)._h(),n)try{if(r=null,t=GT((db(),Gf),Gmt(_5n(n))),t&&(s=t.ai(),s&&(r=s.Fl(Aun(n.e)))),r&&r!=e)return o2t(r)}catch(o){if(o=ms(o),!De(o,63))throw ue(o)}return e}function Fkn(e,t,n){var r,s,o;n.Ug("Remove overlaps",1),n.dh(t,RCe),r=l(at(t,(V5(),Q6)),27),e.f=r,e.a=wue(l(at(t,(Pb(),VB)),300)),s=Ge(at(t,(bi(),Dv))),_e(e,(tr(s),s)),o=Gy(r),gwt(e,t,o,n),n.dh(t,$G)}function Rkn(e){var t,n,r;if(Ft(Pt(at(e,(bi(),tF))))){for(r=new mt,n=new lr(fr(fp(e).a.Kc(),new j));Rr(n);)t=l(yr(n),74),Yw(t)&&Ft(Pt(at(t,Kge)))&&qn(r.c,t);return r}else return Cn(),Cn(),Co}function c2t(e){if(!e)return aZe(),H6t;var t=e.valueOf?e.valueOf():e;if(t!==e){var n=z0e[typeof t];return n?n(t):m8e(typeof t)}else return e instanceof Array||e instanceof b.Array?new Oz(e):new xk(e)}function u2t(e,t,n){var r,s,o;switch(o=e.o,r=l(Zo(e.p,n),252),s=r.i,s.b=lP(r),s.a=uP(r),s.b=b.Math.max(s.b,o.a),s.b>o.a&&!t&&(s.b=o.a),s.c=-(s.b-o.a)/2,n.g){case 1:s.d=-s.a;break;case 3:s.d=o.b}Cle(r),Sle(r)}function l2t(e,t,n){var r,s,o;switch(o=e.o,r=l(Zo(e.p,n),252),s=r.i,s.b=lP(r),s.a=uP(r),s.a=b.Math.max(s.a,o.b),s.a>o.b&&!t&&(s.a=o.b),s.d=-(s.a-o.b)/2,n.g){case 4:s.c=-s.b;break;case 2:s.c=o.a}Cle(r),Sle(r)}function jkn(e,t){var n,r,s,o,f;if(!t.dc()){if(s=l(t.Xb(0),131),t.gc()==1){zbt(e,s,s,1,0,t);return}for(n=1;n<t.gc();)(s.j||!s.o)&&(o=V7n(t,n),o&&(r=l(o.a,17).a,f=l(o.b,131),zbt(e,s,f,n,r,t),n=r+1,s=f))}}function $kn(e){var t,n,r,s,o,f;for(f=new Ml(e.d),Gs(f,new s8),t=($V(),he(le(_Le,1),it,276,0,[O1e,B1e,I1e,j1e,P1e,N1e,R1e,F1e])),n=0,o=new K(f);o.a<o.c.c.length;)s=l(re(o),105),r=t[n%t.length],jTn(s,r),++n}function zkn(e,t){d6();var n,r,s,o;if(t.b<2)return!1;for(o=Fr(t,0),n=l(Pr(o),8),r=n;o.b!=o.d.c;){if(s=l(Pr(o),8),!(bT(e,r)&&bT(e,s)))return!1;r=s}return!!(bT(e,r)&&bT(e,n))}function L9e(e,t){var n,r,s,o,f,g,w,T,C,L;return C=null,L=e,f=ap(L,"x"),n=new EQe(t),wwn(n.a,f),g=ap(L,"y"),r=new CQe(t),ywn(r.a,g),w=ap(L,s0e),s=new SQe(t),xwn(s.a,w),T=ap(L,i0e),o=new _Qe(t),C=(kwn(o.a,T),T),C}function Uy(e,t){ymt(e,t),e.b&1&&(e.a.a=null),e.b&2&&(e.a.f=null),e.b&4&&(e.a.g=null,e.a.i=null),e.b&16&&(e.a.d=null,e.a.e=null),e.b&8&&(e.a.b=null),e.b&32&&(e.a.j=null,e.a.c=null)}function qkn(e,t){var n,r,s;if(s=0,t.length>0)try{s=Oh(t,ao,Ni)}catch(o){throw o=ms(o),De(o,130)?(r=o,ue(new uU(r))):ue(o)}return n=(!e.a&&(e.a=new Yie(e)),e.a),s<n.i&&s>=0?l(Oe(n,s),58):null}function Hkn(e,t){if(e<0)return WA(n3t,he(le(ka,1),jn,1,5,["index",bt(e)]));if(t<0)throw ue(new Wn(r3t+t));return WA("%s (%s) must be less than size (%s)",he(le(ka,1),jn,1,5,["index",bt(e),bt(t)]))}function Ukn(e){var t,n,r,s,o;if(e==null)return cl;for(o=new Qm(To,"[","]"),n=e,r=0,s=n.length;r<s;++r)t=n[r],o.a?li(o.a,o.b):o.a=new Eh(o.d),P_(o.a,""+t);return o.a?o.e.length==0?o.a.a:o.a.a+(""+o.e):o.c}function Vkn(e){var t,n,r,s,o;if(e==null)return cl;for(o=new Qm(To,"[","]"),n=e,r=0,s=n.length;r<s;++r)t=n[r],o.a?li(o.a,o.b):o.a=new Eh(o.d),P_(o.a,""+t);return o.a?o.e.length==0?o.a.a:o.a.a+(""+o.e):o.c}function Gkn(e){var t,n,r,s,o;if(e==null)return cl;for(o=new Qm(To,"[","]"),n=e,r=0,s=n.length;r<s;++r)t=n[r],o.a?li(o.a,o.b):o.a=new Eh(o.d),P_(o.a,""+t);return o.a?o.e.length==0?o.a.a:o.a.a+(""+o.e):o.c}function Kkn(e){var t,n,r,s,o;if(e==null)return cl;for(o=new Qm(To,"[","]"),n=e,r=0,s=n.length;r<s;++r)t=n[r],o.a?li(o.a,o.b):o.a=new Eh(o.d),P_(o.a,""+t);return o.a?o.e.length==0?o.a.a:o.a.a+(""+o.e):o.c}function h2t(e,t){var n,r,s,o,f,g;for(n=e.b.c.length,s=Rt(e.b,t);t*2+1<n&&(r=(o=2*t+1,f=o+1,g=o,f<n&&e.a.Ne(Rt(e.b,f),Rt(e.b,o))<0&&(g=f),g),!(e.a.Ne(s,Rt(e.b,r))<0));)nf(e.b,t,Rt(e.b,r)),t=r;nf(e.b,t,s)}function tle(e,t,n){var r,s;return r=n.d,s=n.e,e.g[r.d]<=e.i[t.d]&&e.i[t.d]<=e.i[r.d]&&e.g[s.d]<=e.i[t.d]&&e.i[t.d]<=e.i[s.d]?!(e.i[r.d]<e.i[s.d]):e.i[r.d]<e.i[s.d]}function Wkn(e,t){var n;if(n=l(Q(t,(Nt(),ZL)),322),n!=e)throw ue(new O8("The hierarchy aware processor "+n+" in child node "+t+" is only allowed if the root node specifies the same hierarchical processor."))}function Ykn(e,t){var n,r,s,o,f;for(r=(!t.s&&(t.s=new nt(fl,t,21,17)),t.s),o=null,s=0,f=r.i;s<f;++s)switch(n=l(Oe(r,s),179),Lw(ac(e,n))){case 2:case 3:!o&&(o=new mt),qn(o.c,n)}return o||(Cn(),Cn(),Co)}function f2t(e,t,n){var r,s,o,f,g,w;for(w=gs,o=new K(Mbt(e.b));o.a<o.c.c.length;)for(s=l(re(o),177),g=new K(Mbt(t.b));g.a<g.c.c.length;)f=l(re(g),177),r=vyn(s.a,s.b,f.a,f.b,n),w=b.Math.min(w,r);return w}function ga(e,t){if(!t)throw ue(new _8);if(e.j=t,!e.d)switch(e.j.g){case 1:e.a.a=e.o.a/2,e.a.b=0;break;case 2:e.a.a=e.o.a,e.a.b=e.o.b/2;break;case 3:e.a.a=e.o.a/2,e.a.b=e.o.b;break;case 4:e.a.a=0,e.a.b=e.o.b/2}}function Xkn(e,t){var n,r,s;return De(t.g,10)&&l(t.g,10).k==(Jn(),Ks)?gs:(s=sx(t),s?b.Math.max(0,e.b/2-.5):(n=W5(t),n?(r=ze(Ge(Ry(n,(Nt(),E3)))),b.Math.max(0,r/2-.5)):gs))}function Qkn(e,t){var n,r,s;return De(t.g,10)&&l(t.g,10).k==(Jn(),Ks)?gs:(s=sx(t),s?b.Math.max(0,e.b/2-.5):(n=W5(t),n?(r=ze(Ge(Ry(n,(Nt(),E3)))),b.Math.max(0,r/2-.5)):gs))}function Jkn(e,t){c0();var n,r,s,o,f,g;for(n=null,f=t.Kc();f.Ob();)o=l(f.Pb(),131),!o.o&&(r=Ihn(o.a),s=Rdn(o.a),g=new JA(r,s,null,l(o.d.a.ec().Kc().Pb(),18)),wt(g.c,o.a),qn(e.c,g),n&&wt(n.d,g),n=g)}function Zkn(e){var t,n,r,s,o,f;for(f=CA(e.d,e.e),o=f.Kc();o.Ob();)for(s=l(o.Pb(),12),r=e.e==(_t(),Zn)?s.e:s.g,n=new K(r);n.a<n.c.c.length;)t=l(re(n),18),!Ao(t)&&t.c.i.c!=t.d.i.c&&(Z9n(e,t),++e.f,++e.c)}function d2t(e,t){var n,r;if(t.dc())return Cn(),Cn(),Co;for(r=new mt,wt(r,bt(ao)),n=1;n<e.f;++n)e.a==null&&wmt(e),e.a[n]&&wt(r,bt(n));return r.c.length==1?(Cn(),Cn(),Co):(wt(r,bt(Ni)),uLn(t,r))}function eTn(e,t){var n,r,s,o,f,g,w;f=t.c.i.k!=(Jn(),Bs),w=f?t.d:t.c,n=u8n(t,w).i,s=l(or(e.k,w),125),r=e.i[n.p].a,Iit(w.i)<(n.c?bc(n.c.a,n,0):-1)?(o=s,g=r):(o=r,g=s),g0(i0(r0(s0(n0(new _f,0),4),o),g))}function tTn(e,t,n){var r,s,o,f,g,w;if(n)for(s=n.a.length,r=new jm(s),g=(r.b-r.a)*r.c<0?(gb(),lm):new mb(r);g.Ob();)f=l(g.Pb(),17),w=Lue(e,kx(My(n,f.a))),w&&(o=(!t.b&&(t.b=new An(Sr,t,4,7)),t.b),zr(o,w))}function nTn(e,t,n){var r,s,o,f,g,w;if(n)for(s=n.a.length,r=new jm(s),g=(r.b-r.a)*r.c<0?(gb(),lm):new mb(r);g.Ob();)f=l(g.Pb(),17),w=Lue(e,kx(My(n,f.a))),w&&(o=(!t.c&&(t.c=new An(Sr,t,5,8)),t.c),zr(o,w))}function cP(e,t,n){var r,s;r=t.a&e.f,t.b=e.b[r],e.b[r]=t,s=t.f&e.f,t.d=e.c[s],e.c[s]=t,n?(t.e=n.e,t.e?t.e.c=t:e.a=t,t.c=n.c,t.c?t.c.e=t:e.e=t):(t.e=e.e,t.c=null,e.e?e.e.c=t:e.a=t,e.e=t),++e.i,++e.g}function g2t(e){var t,n,r;if(t=e.Pb(),!e.Ob())return t;for(r=mu(li(new lb,"expected one element but was: <"),t),n=0;n<4&&e.Ob();n++)mu((r.a+=To,r),e.Pb());throw e.Ob()&&(r.a+=", ..."),r.a+=">",ue(new Wn(r.a))}function rTn(e){var t,n;return n=-e.a,t=he(le(xf,1),Ad,28,15,[43,48,48,48,48]),n<0&&(t[0]=45,n=-n),t[1]=t[1]+((n/60|0)/10|0)&ta,t[2]=t[2]+(n/60|0)%10&ta,t[3]=t[3]+(n%60/10|0)&ta,t[4]=t[4]+n%10&ta,If(t,0,t.length)}function M9e(e){var t,n,r,s;for(e.g=new MA(l(Xr(Mo),297)),r=0,n=(_t(),Xn),t=0;t<e.j.c.length;t++)s=l(Rt(e.j,t),12),s.j!=n&&(r!=t&&J8(e.g,n,new fa(bt(r),bt(t))),n=s.j,r=t);J8(e.g,n,new fa(bt(r),bt(t)))}function iTn(e){var t,n,r,s,o,f,g;for(r=0,n=new K(e.b);n.a<n.c.c.length;)for(t=l(re(n),30),o=new K(t.a);o.a<o.c.c.length;)for(s=l(re(o),10),s.p=r++,g=new K(s.j);g.a<g.c.c.length;)f=l(re(g),12),f.p=r++}function D9e(e,t){var n,r,s;if(s=b6((kl(),no),e.Dh(),t),s)Ro(),l(s,69).xk()||(s=ix(ac(no,s))),r=(n=e.Ih(s),l(n>=0?e.Lh(n,!0,!0):Xw(e,s,!0),160)),l(r,220).Zl(t);else throw ue(new Wn(qb+t.xe()+TL))}function I9e(e){var t,n;return e>-0x800000000000&&e<0x800000000000?e==0?0:(t=e<0,t&&(e=-e),n=da(b.Math.floor(b.Math.log(e)/.6931471805599453)),(!t||e!=b.Math.pow(2,n))&&++n,n):_0t(tu(e))}function sTn(e){var t,n,r,s,o,f,g;for(o=new bd,n=new K(e);n.a<n.c.c.length;)t=l(re(n),132),f=t.a,g=t.b,!(o.a._b(f)||o.a._b(g))&&(s=f,r=g,f.e.b+f.j.b>2&&g.e.b+g.j.b<=2&&(s=g,r=f),o.a.zc(s,o),s.q=r);return o}function aTn(e,t,n){n.Ug("Eades radial",1),n.dh(t,$G),e.d=l(at(t,(V5(),Q6)),27),e.c=ze(Ge(at(t,(Pb(),XW)))),e.e=wue(l(at(t,VB),300)),e.a=P5n(l(at(t,rOe),434)),e.b=txn(l(at(t,ZIe),354)),F8n(e),n.dh(t,$G)}function oTn(e,t){if(t.Ug("Target Width Setter",1),P1(e,(z1(),Sge)))Vi(e,(fg(),_4),Ge(at(e,Sge)));else throw ue(new Zp("A target width has to be set if the TargetWidthWidthApproximator should be used."));t.Vg()}function p2t(e,t){var n,r,s;return r=new hp(e),mc(r,t),rt(r,(ft(),dW),t),rt(r,(Nt(),Ds),(Pa(),Au)),rt(r,Rd,(lg(),cY)),x(r,(Jn(),Ks)),n=new du,Nc(n,r),ga(n,(_t(),Zn)),s=new du,Nc(s,r),ga(s,sr),r}function b2t(e){switch(e.g){case 0:return new cse((jw(),jB));case 1:return new hie;case 2:return new fie;default:throw ue(new Wn("No implementation is available for the crossing minimizer "+(e.f!=null?e.f:""+e.g)))}}function m2t(e,t){var n,r,s,o,f;for(e.c[t.p]=!0,wt(e.a,t),f=new K(t.j);f.a<f.c.c.length;)for(o=l(re(f),12),r=new N1(o.b);Oc(r.a)||Oc(r.b);)n=l(Oc(r.a)?re(r.a):re(r.b),18),s=o6n(o,n).i,e.c[s.p]||m2t(e,s)}function v2t(e){var t,n,r,s,o,f,g;for(f=0,n=new ar((!e.a&&(e.a=new nt(Li,e,10,11)),e.a));n.e!=n.i.gc();)t=l(dr(n),27),g=t.g,s=t.f,r=b.Math.sqrt(g*g+s*s),f=b.Math.max(r,f),o=v2t(t),f=b.Math.max(o,f);return f}function Pl(){Pl=U,im=new I_("OUTSIDE",0),kp=new I_("INSIDE",1),lF=new I_("NEXT_TO_PORT_IF_POSSIBLE",2),BM=new I_("ALWAYS_SAME_SIDE",3),PM=new I_("ALWAYS_OTHER_SAME_SIDE",4),o9=new I_("SPACE_EFFICIENT",5)}function w2t(e,t,n){var r,s,o,f,g,w;return r=lmn(e,(s=(fb(),o=new o_,o),n&&BV(s,n),s),t),gT(r,Zg(t,Pd)),EV(t,r),xEn(t,r),L9e(t,r),f=t,g=Pw(f,"ports"),w=new nnt(e,r),sCn(w.a,w.b,g),Oce(e,t,r),dyn(e,t,r),r}function cTn(e){var t,n;return n=-e.a,t=he(le(xf,1),Ad,28,15,[43,48,48,58,48,48]),n<0&&(t[0]=45,n=-n),t[1]=t[1]+((n/60|0)/10|0)&ta,t[2]=t[2]+(n/60|0)%10&ta,t[4]=t[4]+(n%60/10|0)&ta,t[5]=t[5]+n%10&ta,If(t,0,t.length)}function uTn(e){var t;return t=he(le(xf,1),Ad,28,15,[71,77,84,45,48,48,58,48,48]),e<=0&&(t[3]=43,e=-e),t[4]=t[4]+((e/60|0)/10|0)&ta,t[5]=t[5]+(e/60|0)%10&ta,t[7]=t[7]+(e%60/10|0)&ta,t[8]=t[8]+e%10&ta,If(t,0,t.length)}function lTn(e){var t,n,r,s,o;if(e==null)return cl;for(o=new Qm(To,"[","]"),n=e,r=0,s=n.length;r<s;++r)t=n[r],o.a?li(o.a,o.b):o.a=new Eh(o.d),P_(o.a,""+X_(t));return o.a?o.e.length==0?o.a.a:o.a.a+(""+o.e):o.c}function O9e(e,t){var n,r,s;for(s=Ni,r=new K(t6(t));r.a<r.c.c.length;)n=l(re(r),218),n.f&&!e.c[n.c]&&(e.c[n.c]=!0,s=b.Math.min(s,O9e(e,XU(n,t))));return e.i[t.d]=e.j,e.g[t.d]=b.Math.min(s,e.j++),e.g[t.d]}function y2t(e,t){var n,r,s;for(s=l(l($i(e.r,t),21),87).Kc();s.Ob();)r=l(s.Pb(),117),r.e.b=(n=r.b,n.pf((bi(),eh))?n.ag()==(_t(),Xn)?-n.Mf().b-ze(Ge(n.of(eh))):ze(Ge(n.of(eh))):n.ag()==(_t(),Xn)?-n.Mf().b:0)}function hTn(e){var t,n,r,s,o,f,g;for(n=Dye(e.e),o=md(q_(Xa(Mye(e.e)),e.d*e.a,e.c*e.b),-.5),t=n.a-o.a,s=n.b-o.b,g=0;g<e.c;g++){for(r=t,f=0;f<e.d;f++)C5n(e.e,new Zh(r,s,e.a,e.b))&&UV(e,f,g,!1,!0),r+=e.a;s+=e.b}}function N9e(e){var t,n,r,s,o;t=e.a,n=e.b,s=e.c,r=new lt(n.e.a+n.f.a/2,n.e.b+n.f.b/2),o=new lt(s.e.a+s.f.a/2,s.e.b+s.f.b/2),_s(t,r,t.a,t.a.a),_s(t,o,t.c.b,t.c),Mpt(r,l(hf(t,1),8),e.b.f),Mpt(o,l(hf(t,t.b-2),8),e.c.f)}function kx(e){var t,n;if(n=!1,De(e,211))return n=!0,l(e,211).a;if(!n&&De(e,263)&&(t=l(e,263).a%1==0,t))return n=!0,bt(Wln(l(e,263).a));throw ue(new dd("Id must be a string or an integer: '"+e+"'."))}function fTn(e,t){var n,r,s,o,f,g;for(o=null,s=new cat((!e.a&&(e.a=new Yie(e)),e.a));j9e(s);)if(n=l(IV(s),58),r=(f=n.Dh(),g=(p6(f),f.o),!g||!n.Xh(g)?null:_4e(Ace(g),n.Mh(g))),r!=null&&wn(r,t)){o=n;break}return o}function x2t(e,t,n){var r,s,o,f,g;if(Mh(n,"occurrences"),n==0)return g=l(By(tx(e.a),t),16),g?g.gc():0;if(f=l(By(tx(e.a),t),16),!f)return 0;if(o=f.gc(),n>=o)f.$b();else for(s=f.Kc(),r=0;r<n;r++)s.Pb(),s.Qb();return o}function dTn(e,t,n){var r,s,o,f;return Mh(n,"oldCount"),Mh(0,"newCount"),r=l(By(tx(e.a),t),16),(r?r.gc():0)==n?(Mh(0,"count"),s=(o=l(By(tx(e.a),t),16),o?o.gc():0),f=-s,f>0?m3e():f<0&&x2t(e,t,-f),!0):!1}function uP(e){var t,n,r,s,o,f,g;if(g=0,e.b==0){for(f=rgt(e,!0),t=0,r=f,s=0,o=r.length;s<o;++s)n=r[s],n>0&&(g+=n,++t);t>1&&(g+=e.c*(t-1))}else g=vZe(kce(Ey(ji(S5e(e.a),new Ya),new Ba)));return g>0?g+e.n.d+e.n.a:0}function lP(e){var t,n,r,s,o,f,g;if(g=0,e.b==0)g=vZe(kce(Ey(ji(S5e(e.a),new Ac),new Jc)));else{for(f=igt(e,!0),t=0,r=f,s=0,o=r.length;s<o;++s)n=r[s],n>0&&(g+=n,++t);t>1&&(g+=e.c*(t-1))}return g>0?g+e.n.b+e.n.c:0}function gTn(e){var t,n;if(e.c.length!=2)throw ue(new ic("Order only allowed for two paths."));t=(Sn(0,e.c.length),l(e.c[0],18)),n=(Sn(1,e.c.length),l(e.c[1],18)),t.d.i!=n.c.i&&(e.c.length=0,qn(e.c,n),qn(e.c,t))}function k2t(e,t,n){var r;for(j5(n,t.g,t.f),Xh(n,t.i,t.j),r=0;r<(!t.a&&(t.a=new nt(Li,t,10,11)),t.a).i;r++)k2t(e,l(Oe((!t.a&&(t.a=new nt(Li,t,10,11)),t.a),r),27),l(Oe((!n.a&&(n.a=new nt(Li,n,10,11)),n.a),r),27))}function pTn(e,t){var n,r,s,o;for(o=l(Zo(e.b,t),127),n=o.a,s=l(l($i(e.r,t),21),87).Kc();s.Ob();)r=l(s.Pb(),117),r.c&&(n.a=b.Math.max(n.a,r5e(r.c)));if(n.a>0)switch(t.g){case 2:o.n.c=e.s;break;case 4:o.n.b=e.s}}function bTn(e,t){var n,r,s;return n=l(Q(t,(p0(),Hx)),17).a-l(Q(e,Hx),17).a,n==0?(r=ya(Xa(l(Q(e,(Cb(),wB)),8)),l(Q(e,zL),8)),s=ya(Xa(l(Q(t,wB),8)),l(Q(t,zL),8)),Xi(r.a*r.b,s.a*s.b)):n}function mTn(e,t){var n,r,s;return n=l(Q(t,(Vc(),VW)),17).a-l(Q(e,VW),17).a,n==0?(r=ya(Xa(l(Q(e,(Zi(),qB)),8)),l(Q(e,ZE),8)),s=ya(Xa(l(Q(t,qB),8)),l(Q(t,ZE),8)),Xi(r.a*r.b,s.a*s.b)):n}function T2t(e){var t,n;return n=new lb,n.a+="e_",t=lyn(e),t!=null&&(n.a+=""+t),e.c&&e.d&&(li((n.a+=" ",n),wV(e.c)),li(mu((n.a+="[",n),e.c.i),"]"),li((n.a+=Yhe,n),wV(e.d)),li(mu((n.a+="[",n),e.d.i),"]")),n.a}function E2t(e){switch(e.g){case 0:return new yie;case 1:return new pk;case 2:return new wie;case 3:return new vie;default:throw ue(new Wn("No implementation is available for the layout phase "+(e.f!=null?e.f:""+e.g)))}}function P9e(e,t,n,r,s){var o;switch(o=0,s.g){case 1:o=b.Math.max(0,t.b+e.b-(n.b+r));break;case 3:o=b.Math.max(0,-e.b-r);break;case 2:o=b.Math.max(0,-e.a-r);break;case 4:o=b.Math.max(0,t.a+e.a-(n.a+r))}return o}function vTn(e,t,n){var r,s,o,f,g;if(n)for(s=n.a.length,r=new jm(s),g=(r.b-r.a)*r.c<0?(gb(),lm):new mb(r);g.Ob();)f=l(g.Pb(),17),o=eT(n,f.a),LSe in o.a||u0e in o.a?I_n(e,o,t):QIn(e,o,t),Xhn(l(or(e.b,BT(o)),74))}function B9e(e){var t,n;switch(e.b){case-1:return!0;case 0:return n=e.t,n>1||n==-1?(e.b=-1,!0):(t=Of(e),t&&(Ro(),t.lk()==U5t)?(e.b=-1,!0):(e.b=1,!1));default:case 1:return!1}}function F9e(e,t){var n,r,s,o;if(Mi(e),e.c!=0||e.a!=123)throw ue(new ri(si((Jr(),f5t))));if(o=t==112,r=e.d,n=Bk(e.i,125,r),n<0)throw ue(new ri(si((Jr(),d5t))));return s=ef(e.i,r,n),e.d=n+1,Wlt(s,o,(e.e&512)==512)}function C2t(e){var t,n,r,s,o,f,g;if(r=e.a.c.length,r>0)for(f=e.c.d,g=e.d.d,s=md(ya(new lt(g.a,g.b),f),1/(r+1)),o=new lt(f.a,f.b),n=new K(e.a);n.a<n.c.c.length;)t=l(re(n),250),t.d.a=o.a+s.a,t.d.b=o.b+s.b,Pi(o,s)}function wTn(e,t){var n,r,s;if(!t)gce(e,null),fT(e,null);else if(t.i&4)for(r="[]",n=t.c;;n=n.c){if(!(n.i&4)){s=p3e((Xg(n),n.o+r)),gce(e,s),fT(e,s);break}r+="[]"}else s=p3e((Xg(t),t.o)),gce(e,s),fT(e,s);e.hl(t)}function qA(e,t,n,r,s){var o,f,g,w;return w=kae(e,l(s,58)),qe(w)!==qe(s)?(g=l(e.g[n],76),o=cg(t,w),j_(e,n,que(e,n,o)),ch(e.e)&&(f=kb(e,9,o.Lk(),s,w,r,!1),Wxe(f,new rp(e.e,9,e.c,g,o,r,!1)),nce(f)),w):s}function yTn(e,t,n){var r,s,o,f,g,w;for(r=l($i(e.c,t),15),s=l($i(e.c,n),15),o=r.fd(r.gc()),f=s.fd(s.gc());o.Sb()&&f.Sb();)if(g=l(o.Ub(),17),w=l(f.Ub(),17),g!=w)return iu(g.a,w.a);return!o.Ob()&&!f.Ob()?0:o.Ob()?1:-1}function xTn(e){var t,n,r,s,o,f,g;for(g=rg(e.c.length),s=new K(e);s.a<s.c.c.length;){for(r=l(re(s),10),f=new Ys,o=qs(r),n=new lr(fr(o.a.Kc(),new j));Rr(n);)t=l(yr(n),18),t.c.i==t.d.i||sa(f,t.d.i);qn(g.c,f)}return g}function S2t(e,t){var n,r,s;try{return s=Obn(e.a,t),s}catch(o){if(o=ms(o),De(o,33)){try{if(r=Oh(t,ao,Ni),n=G0(e.a),r>=0&&r<n.length)return n[r]}catch(f){if(f=ms(f),!De(f,130))throw ue(f)}return null}else throw ue(o)}}function nle(e,t){var n,r,s;if(s=b6((kl(),no),e.Dh(),t),s)return Ro(),l(s,69).xk()||(s=ix(ac(no,s))),r=(n=e.Ih(s),l(n>=0?e.Lh(n,!0,!0):Xw(e,s,!0),160)),l(r,220).Wl(t);throw ue(new Wn(qb+t.xe()+e0e))}function kTn(){j3e();var e;return AAt?l(GT((db(),Gf),Ff),2038):(yi(mv,new zI),mDn(),e=l(De(wu((db(),Gf),Ff),560)?wu(Gf,Ff):new qat,560),AAt=!0,vOn(e),COn(e),Ti((R3e(),VPe),e,new k1),sc(Gf,Ff,e),e)}function TTn(e,t){var n,r,s,o;e.j=-1,ch(e.e)?(n=e.i,o=e.i!=0,uN(e,t),r=new rp(e.e,3,e.c,null,t,n,o),s=t.zl(e.e,e.c,null),s=spt(e,t,s),s?(s.nj(r),s.oj()):Bi(e.e,r)):(uN(e,t),s=t.zl(e.e,e.c,null),s&&s.oj())}function LV(e,t){var n,r,s;if(s=0,r=t[0],r>=e.length)return-1;for(n=(Yn(r,e.length),e.charCodeAt(r));n>=48&&n<=57&&(s=s*10+(n-48),++r,!(r>=e.length));)n=(Yn(r,e.length),e.charCodeAt(r));return r>t[0]?t[0]=r:s=-1,s}function ETn(e){var t,n,r,s,o;return s=l(e.a,17).a,o=l(e.b,17).a,n=s,r=o,t=b.Math.max(b.Math.abs(s),b.Math.abs(o)),s<=0&&s==o?(n=0,r=o-1):s==-t&&o!=t?(n=o,r=s,o>=0&&++n):(n=-o,r=s),new fa(bt(n),bt(r))}function CTn(e,t,n,r){var s,o,f,g,w,T;for(s=0;s<t.o;s++)for(o=s-t.j+n,f=0;f<t.p;f++)if(g=f-t.k+r,w=o,T=g,w+=e.j,T+=e.k,w>=0&&T>=0&&w<e.o&&T<e.p&&(!lgt(t,s,f)&&ogt(e,o,g)||s6(t,s,f)&&!m7n(e,o,g)))return!0;return!1}function STn(e,t,n){var r,s,o,f,g;f=e.c,g=e.d,o=Bc(he(le(Ca,1),dt,8,0,[f.i.n,f.n,f.a])).b,s=(o+Bc(he(le(Ca,1),dt,8,0,[g.i.n,g.n,g.a])).b)/2,r=null,f.j==(_t(),sr)?r=new lt(t+f.i.c.c.a+n,s):r=new lt(t-n,s),Fk(e.a,0,r)}function Yw(e){var t,n,r,s;for(t=null,r=ag(Lh(he(le(Fh,1),jn,20,0,[(!e.b&&(e.b=new An(Sr,e,4,7)),e.b),(!e.c&&(e.c=new An(Sr,e,5,8)),e.c)])));Rr(r);)if(n=l(yr(r),84),s=vc(n),!t)t=s;else if(t!=s)return!1;return!0}function rle(e,t,n){var r;if(++e.j,t>=e.i)throw ue(new rc(h0e+t+gv+e.i));if(n>=e.i)throw ue(new rc(f0e+n+gv+e.i));return r=e.g[n],t!=n&&(t<n?gu(e.g,t,e.g,t+1,n-t):gu(e.g,n+1,e.g,n,t-n),Ss(e.g,t,r),e.Pi(t,r,n),e.Ni()),r}function xn(e,t,n){var r;if(r=l(e.c.xc(t),16),r)return r.Fc(n)?(++e.d,!0):!1;if(r=e.ic(t),r.Fc(n))return++e.d,e.c.zc(t,r),!0;throw ue(new F6e("New Collection violated the Collection spec"))}function hP(e){var t,n,r;return e<0?0:e==0?32:(r=-(e>>16),t=r>>16&16,n=16-t,e=e>>t,r=e-256,t=r>>16&8,n+=t,e<<=t,r=e-Zy,t=r>>16&4,n+=t,e<<=t,r=e-_d,t=r>>16&2,n+=t,e<<=t,r=e>>14,t=r&~(r>>1),n+2-t)}function _Tn(e){nx();var t,n,r,s;for(SK=new mt,l1e=new Nr,u1e=new mt,t=(!e.a&&(e.a=new nt(Li,e,10,11)),e.a),mIn(t),s=new ar(t);s.e!=s.i.gc();)r=l(dr(s),27),bc(SK,r,0)==-1&&(n=new mt,wt(u1e,n),Ldt(r,n));return u1e}function ATn(e,t,n){var r,s,o,f;e.a=n.b.d,De(t,326)?(s=f6(l(t,74),!1,!1),o=sP(s),r=new n_(e),Za(o,r),xP(o,s),t.of((bi(),A3))!=null&&Za(l(t.of(A3),75),r)):(f=l(t,422),f.rh(f.nh()+e.a.a),f.sh(f.oh()+e.a.b))}function LTn(e,t){var n,r,s;for(s=new mt,r=Fr(t.a,0);r.b!=r.d.c;)n=l(Pr(r),65),n.c.g==e.g&&qe(Q(n.b,(Vc(),$d)))!==qe(Q(n.c,$d))&&!X5(new vn(null,new kn(s,16)),new RXe(n))&&qn(s.c,n);return Gs(s,new Ute),s}function _2t(e,t,n){var r,s,o,f;return De(t,153)&&De(n,153)?(o=l(t,153),f=l(n,153),e.a[o.a][f.a]+e.a[f.a][o.a]):De(t,250)&&De(n,250)&&(r=l(t,250),s=l(n,250),r.a==s.a)?l(Q(s.a,(p0(),Hx)),17).a:0}function A2t(e,t){var n,r,s,o,f,g,w,T;for(T=ze(Ge(Q(t,(Nt(),nM)))),w=e[0].n.a+e[0].o.a+e[0].d.c+T,g=1;g<e.length;g++)r=e[g].n,s=e[g].o,n=e[g].d,o=r.a-n.b-w,o<0&&(r.a-=o),f=t.f,f.a=b.Math.max(f.a,r.a+s.a),w=r.a+s.a+n.c+T}function MTn(e,t){var n,r,s,o,f,g;return r=l(l(or(e.g,t.a),42).a,68),s=l(l(or(e.g,t.b),42).a,68),o=r.b,f=s.b,n=nMn(o,f),n>=0?n:(g=tA(ya(new lt(f.c+f.b/2,f.d+f.a/2),new lt(o.c+o.b/2,o.d+o.a/2))),-(evt(o,f)-1)*g)}function DTn(e,t,n){var r;Os(new vn(null,(!n.a&&(n.a=new nt(cs,n,6,6)),new kn(n.a,16))),new Htt(e,t)),Os(new vn(null,(!n.n&&(n.n=new nt(nc,n,1,7)),new kn(n.n,16))),new Utt(e,t)),r=l(at(n,(bi(),A3)),75),r&&$7e(r,e,t)}function Xw(e,t,n){var r,s,o;if(o=b6((kl(),no),e.Dh(),t),o)return Ro(),l(o,69).xk()||(o=ix(ac(no,o))),s=(r=e.Ih(o),l(r>=0?e.Lh(r,!0,!0):Xw(e,o,!0),160)),l(s,220).Sl(t,n);throw ue(new Wn(qb+t.xe()+e0e))}function R9e(e,t,n,r){var s,o,f,g,w;if(s=e.d[t],s){if(o=s.g,w=s.i,r!=null){for(g=0;g<w;++g)if(f=l(o[g],136),f.Bi()==n&&Fi(r,f.ld()))return f}else for(g=0;g<w;++g)if(f=l(o[g],136),qe(f.ld())===qe(r))return f}return null}function ITn(e,t){var n,r,s,o,f;for(r=(!t.s&&(t.s=new nt(fl,t,21,17)),t.s),o=null,s=0,f=r.i;s<f;++s)switch(n=l(Oe(r,s),179),Lw(ac(e,n))){case 4:case 5:case 6:{!o&&(o=new mt),qn(o.c,n);break}}return o||(Cn(),Cn(),Co)}function fP(e,t){var n;if(t<0)throw ue(new Yz("Negative exponent"));if(t==0)return bK;if(t==1||H8e(e,bK)||H8e(e,FL))return e;if(!ebt(e,0)){for(n=1;!ebt(e,n);)++n;return Y5(z5n(n*t),fP(B6e(e,n),t))}return Kxn(e,t)}function OTn(e,t){var n,r,s;if(qe(e)===qe(t))return!0;if(e==null||t==null||e.length!=t.length)return!1;for(n=0;n<e.length;++n)if(r=e[n],s=t[n],!(qe(r)===qe(s)||r!=null&&Fi(r,s)))return!1;return!0}function L2t(e){B3e();var t,n,r;for(this.b=ext,this.c=(ea(),J1),this.f=($et(),Z8t),this.a=e,T3e(this,new Q7),FV(this),r=new K(e.b);r.a<r.c.c.length;)n=l(re(r),86),n.d||(t=new hue(he(le(m1e,1),jn,86,0,[n])),wt(e.a,t))}function NTn(e,t,n){var r,s,o,f,g,w;if(!e||e.c.length==0)return null;for(o=new Iot(t,!n),s=new K(e);s.a<s.c.c.length;)r=l(re(s),72),b9e(o,(p_(),new ng(r)));return f=o.i,f.a=(w=o.n,o.e.b+w.d+w.a),f.b=(g=o.n,o.e.a+g.b+g.c),o}function M2t(e){var t,n,r,s,o,f,g;for(g=aN(e.a),Sye(g,new e0),n=null,s=g,o=0,f=s.length;o<f&&(r=s[o],r.k==(Jn(),Ks));++o)t=l(Q(r,(ft(),Xc)),64),!(t!=(_t(),Zn)&&t!=sr)&&(n&&l(Q(n,Yx),15).Fc(r),n=r)}function PTn(e,t,n){var r,s,o,f,g,w,T;w=(Sn(t,e.c.length),l(e.c[t],339)),l2(e,t),w.b/2>=n&&(r=t,T=(w.c+w.a)/2,f=T-n,w.c<=T-n&&(s=new Iae(w.c,f),kw(e,r++,s)),g=T+n,g<=w.a&&(o=new Iae(g,w.a),Sy(r,e.c.length),k_(e.c,r,o)))}function D2t(e,t,n){var r,s,o,f,g,w;if(!t.dc()){for(s=new os,w=t.Kc();w.Ob();)for(g=l(w.Pb(),40),Ti(e.a,bt(g.g),bt(n)),f=(r=Fr(new Kg(g).a.d,0),new _5(r));sO(f.a);)o=l(Pr(f.a),65).c,_s(s,o,s.c.b,s.c);D2t(e,s,n+1)}}function j9e(e){var t;if(!e.c&&e.g==null)e.d=e.bj(e.f),zr(e,e.d),t=e.d;else{if(e.g==null)return!0;if(e.i==0)return!1;t=l(e.g[e.i-1],51)}return t==e.b&&null.Vm>=null.Um()?(IV(e),j9e(e)):t.Ob()}function I2t(e){if(this.a=e,e.c.i.k==(Jn(),Ks))this.c=e.c,this.d=l(Q(e.c.i,(ft(),Xc)),64);else if(e.d.i.k==Ks)this.c=e.d,this.d=l(Q(e.d.i,(ft(),Xc)),64);else throw ue(new Wn("Edge "+e+" is not an external edge."))}function O2t(e,t){var n,r,s;s=e.b,e.b=t,e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,3,s,e.b)),t?t!=e&&(Bu(e,t.zb),hce(e,t.d),n=(r=t.c,r??t.zb),dce(e,n==null||wn(n,t.zb)?null:n)):(Bu(e,null),hce(e,0),dce(e,null))}function N2t(e,t){var n;this.e=(Sw(),Xr(e),Sw(),Z8e(e)),this.c=(Xr(t),Z8e(t)),qye(this.e.Rd().dc()==this.c.Rd().dc()),this.d=Y1t(this.e),this.b=Y1t(this.c),n=Fm(ka,[dt,jn],[5,1],5,[this.e.Rd().gc(),this.c.Rd().gc()],2),this.a=n,a3n(this)}function P2t(e){!j0e&&(j0e=LIn());var t=e.replace(/[\x00-\x1f\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200b-\u200f\u2028-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb"\\]/g,function(n){return O2n(n)});return'"'+t+'"'}function $9e(e,t,n,r,s,o){var f,g,w,T,C;if(s!=0)for(qe(e)===qe(n)&&(e=e.slice(t,t+s),t=0),w=n,g=t,T=t+s;g<T;)f=b.Math.min(g+1e4,T),s=f-g,C=e.slice(g,f),C.splice(0,0,r,o?s:0),Array.prototype.splice.apply(w,C),g=f,r+=s}function B2t(e){Z5e();var t,n;for(this.b=p7t,this.c=m7t,this.g=(jet(),g7t),this.d=(ea(),J1),this.a=e,cke(this),n=new K(e.b);n.a<n.c.c.length;)t=l(re(n),60),!t.a&&Mrt(kft(new Xwe,he(le(yK,1),jn,60,0,[t])),e),t.e=new FH(t.d)}function BTn(e){var t,n,r,s,o,f;for(s=e.e.c.length,r=We(bf,e4,15,s,0,1),f=new K(e.e);f.a<f.c.c.length;)o=l(re(f),153),r[o.a]=new os;for(n=new K(e.c);n.a<n.c.c.length;)t=l(re(n),290),r[t.c.a].Fc(t),r[t.d.a].Fc(t);return r}function FTn(e,t){var n,r,s,o,f;if(n=l(Gn(e.a,4),129),f=n==null?0:n.length,t>=f)throw ue(new yy(t,f));return s=n[t],f==1?r=null:(r=We(gpe,m0e,424,f-1,0,1),gu(n,0,r,0,t),o=f-t-1,o>0&&gu(n,t+1,r,t,o)),FT(e,r),i2t(e,t,s),s}function F2t(e){var t,n;if(e.f){for(;e.n<e.o;){if(t=l(e.j?e.j.$i(e.n):e.k.Xb(e.n),76),n=t.Lk(),De(n,102)&&l(n,19).Bb&nu&&(!e.e||n.pk()!=uC||n.Lj()!=0)&&t.md()!=null)return!0;++e.n}return!1}else return e.n<e.o}function Tx(){Tx=U,l9=l(Oe(tt((_3e(),ru).qb),6),35),u9=l(Oe(tt(ru.qb),3),35),ype=l(Oe(tt(ru.qb),4),35),xpe=l(Oe(tt(ru.qb),5),19),kV(l9),kV(u9),kV(ype),kV(xpe),IAt=new Ll(he(le(fl,1),A6,179,0,[l9,u9]))}function R2t(e,t){var n;this.d=new a_,this.b=t,this.e=new xo(t.Lf()),n=e.u.Hc((Pl(),lF)),e.u.Hc(kp)?e.D?this.a=n&&!t.bg():this.a=!0:e.u.Hc(im)?n?this.a=!(t.Uf().Kc().Ob()||t.Wf().Kc().Ob()):this.a=!1:this.a=!1}function j2t(e,t){var n,r,s,o;for(n=e.o.a,o=l(l($i(e.r,t),21),87).Kc();o.Ob();)s=l(o.Pb(),117),s.e.a=(r=s.b,r.pf((bi(),eh))?r.ag()==(_t(),Zn)?-r.Mf().a-ze(Ge(r.of(eh))):n+ze(Ge(r.of(eh))):r.ag()==(_t(),Zn)?-r.Mf().a:n)}function $2t(e,t){var n,r,s,o;n=l(Q(e,(Nt(),Rh)),88),o=l(at(t,GE),64),s=l(Q(e,Ds),101),s!=(Pa(),Z1)&&s!=rm?o==(_t(),jc)&&(o=zke(t,n),o==jc&&(o=px(n))):(r=$vt(t),r>0?o=px(n):o=UN(px(n))),Vi(t,GE,o)}function RTn(e,t){var n;t.Ug("Partition preprocessing",1),n=l(kc(ji(Pc(ji(new vn(null,new kn(e.a,16)),new qZ),new HZ),new Sj),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)]))),15),Os(n.Oc(),new n8),t.Vg()}function jTn(e,t){var n,r,s,o,f;for(f=e.j,t.a!=t.b&&Gs(f,new TS),s=f.c.length/2|0,r=0;r<s;r++)o=(Sn(r,f.c.length),l(f.c[r],113)),o.c&&ga(o.d,t.a);for(n=s;n<f.c.length;n++)o=(Sn(n,f.c.length),l(f.c[n],113)),o.c&&ga(o.d,t.b)}function $Tn(e,t,n){var r,s,o;return r=e.c[t.c.p][t.p],s=e.c[n.c.p][n.p],r.a!=null&&s.a!=null?(o=Wae(r.a,s.a),o<0?vP(e,t,n):o>0&&vP(e,n,t),o):r.a!=null?(vP(e,t,n),-1):s.a!=null?(vP(e,n,t),1):0}function zTn(e,t){var n,r,s,o,f;for(s=t.b.b,e.a=We(bf,e4,15,s,0,1),e.b=We(th,vg,28,s,16,1),f=Fr(t.b,0);f.b!=f.d.c;)o=l(Pr(f),40),e.a[o.g]=new os;for(r=Fr(t.a,0);r.b!=r.d.c;)n=l(Pr(r),65),e.a[n.b.g].Fc(n),e.a[n.c.g].Fc(n)}function z2t(e,t){var n,r,s,o;e.Pj()?(n=e.Ej(),o=e.Qj(),++e.j,e.qj(n,e.Zi(n,t)),r=e.Ij(3,null,t,n,o),e.Mj()?(s=e.Nj(t,null),s?(s.nj(r),s.oj()):e.Jj(r)):e.Jj(r)):(Dat(e,t),e.Mj()&&(s=e.Nj(t,null),s&&s.oj()))}function z9e(e,t,n){var r,s,o;e.Pj()?(o=e.Qj(),$N(e,t,n),r=e.Ij(3,null,n,t,o),e.Mj()?(s=e.Nj(n,null),e.Tj()&&(s=e.Uj(n,s)),s?(s.nj(r),s.oj()):e.Jj(r)):e.Jj(r)):($N(e,t,n),e.Mj()&&(s=e.Nj(n,null),s&&s.oj()))}function MV(e,t){var n,r,s,o,f;for(f=Wu(e.e.Dh(),t),s=new sb,n=l(e.g,124),o=e.i;--o>=0;)r=n[o],f.am(r.Lk())&&zr(s,r);!Bwt(e,s)&&ch(e.e)&&Tk(e,t.Jk()?kb(e,6,t,(Cn(),Co),null,-1,!1):kb(e,t.tk()?2:1,t,null,null,-1,!1))}function qTn(e,t){var n,r,s,o,f;return e.a==(HT(),VL)?!0:(o=t.a.c,n=t.a.c+t.a.b,!(t.j&&(r=t.A,f=r.c.c.a-r.o.a/2,s=o-(r.n.a+r.o.a),s>f)||t.q&&(r=t.C,f=r.c.c.a-r.o.a/2,s=r.n.a-n,s>f)))}function q2t(e){Soe();var t,n,r,s,o,f,g;for(n=new u2,s=new K(e.e.b);s.a<s.c.c.length;)for(r=l(re(s),30),f=new K(r.a);f.a<f.c.c.length;)o=l(re(f),10),g=e.g[o.p],t=l(B1(n,g),15),t||(t=new mt,y2(n,g,t)),t.Fc(o);return n}function H2t(e){var t;return e.Db&64?d0(e):(t=new Af(d0(e)),t.a+=" (startX: ",L5(t,e.j),t.a+=", startY: ",L5(t,e.k),t.a+=", endX: ",L5(t,e.b),t.a+=", endY: ",L5(t,e.c),t.a+=", identifier: ",Jo(t,e.d),t.a+=")",t.a)}function q9e(e){var t;return e.Db&64?SA(e):(t=new Af(SA(e)),t.a+=" (ordered: ",t2(t,(e.Bb&256)!=0),t.a+=", unique: ",t2(t,(e.Bb&512)!=0),t.a+=", lowerBound: ",vse(t,e.s),t.a+=", upperBound: ",vse(t,e.t),t.a+=")",t.a)}function U2t(e,t,n,r,s,o,f,g){var w;return De(e.Cb,90)&&Uy(Gl(l(e.Cb,90)),4),Bu(e,n),e.f=r,DT(e,s),OT(e,o),MT(e,f),IT(e,!1),v2(e,!0),NT(e,g),m2(e,!0),d2(e,0),e.b=0,Oy(e,1),w=$1(e,t,null),w&&w.oj(),eue(e,!1),e}function V2t(e,t){var n,r,s,o;return n=l(wu(e.a,t),525),n||(r=new $oe(t),s=(JH(),G1?null:r.c),o=ef(s,0,b.Math.max(0,Vq(s,ol(46)))),w0n(r,V2t(e,o)),(G1?null:r.c).length==0&&nit(r,new Dt),sc(e.a,G1?null:r.c,r),r)}function HTn(e,t){var n;e.b=t,e.g=new mt,n=KTn(e.b),e.e=n,e.f=n,e.c=Ft(Pt(Q(e.b,(yV(),H_e)))),e.a=Ge(Q(e.b,(bi(),t7))),e.a==null&&(e.a=1),ze(e.a)>1?e.e*=ze(e.a):e.f/=ze(e.a),l4n(e),b6n(e),d_n(e),rt(e.b,(OA(),CK),e.g)}function G2t(e,t,n){var r,s,o,f,g,w;for(r=0,w=n,t||(r=n*(e.c.length-1),w*=-1),o=new K(e);o.a<o.c.c.length;){for(s=l(re(o),10),rt(s,(Nt(),Rd),(lg(),cY)),s.o.a=r,g=k2(s,(_t(),sr)).Kc();g.Ob();)f=l(g.Pb(),12),f.n.a=r;r+=w}}function Ex(e,t,n){var r,s,o,f,g,w;return g=e.pl(n),g!=n?(f=e.g[t],w=g,j_(e,t,e.Zi(t,w)),o=f,e.Ri(t,w,o),e.al()&&(r=n,s=e.Oj(r,null),!l(g,54).Ph()&&(s=e.Nj(w,s)),s&&s.oj()),ch(e.e)&&Tk(e,e.Ij(9,n,g,t,!1)),g):n}function UTn(e,t){var n,r,s,o;for(r=new K(e.a.a);r.a<r.c.c.length;)n=l(re(r),194),n.g=!0;for(o=new K(e.a.b);o.a<o.c.c.length;)s=l(re(o),86),s.k=Ft(Pt(e.e.Kb(new fa(s,t)))),s.d.g=s.d.g&Ft(Pt(e.e.Kb(new fa(s,t))));return e}function K2t(e,t){var n,r;if(e.c.length!=0){if(e.c.length==2)Cx((Sn(0,e.c.length),l(e.c[0],10)),(Ih(),Cg)),Cx((Sn(1,e.c.length),l(e.c[1],10)),tm);else for(r=new K(e);r.a<r.c.c.length;)n=l(re(r),10),Cx(n,t);e.c.length=0}}function W2t(e){var t,n,r,s,o;if(n=(t=l(G0(Mo),9),new Jh(t,l(o0(t,t.length),9),0)),o=l(Q(e,(ft(),Bl)),10),o)for(s=new K(o.j);s.a<s.c.c.length;)r=l(re(s),12),qe(Q(r,zi))===qe(e)&&z_(new N1(r.b))&&f0(n,r.j);return n}function Y2t(e,t,n){var r,s,o,f,g;if(!e.d[n.p]){for(s=new lr(fr(qs(n).a.Kc(),new j));Rr(s);){for(r=l(yr(s),18),g=r.d.i,f=new lr(fr(Ea(g).a.Kc(),new j));Rr(f);)o=l(yr(f),18),o.c.i==t&&(e.a[o.p]=!0);Y2t(e,t,g)}e.d[n.p]=!0}}function VTn(e,t){var n,r,s,o,f,g,w;if(r=H1t(e.Db&254),r==1)e.Eb=null;else if(o=Km(e.Eb),r==2)s=Due(e,t),e.Eb=o[s==0?1:0];else{for(f=We(ka,jn,1,r-1,5,1),n=2,g=0,w=0;n<=128;n<<=1)n==t?++g:e.Db&n&&(f[w++]=o[g++]);e.Eb=f}e.Db&=~t}function H9e(e){var t;switch(t=0,e){case 105:t=2;break;case 109:t=8;break;case 115:t=4;break;case 120:t=16;break;case 117:t=32;break;case 119:t=64;break;case 70:t=256;break;case 72:t=128;break;case 88:t=512;break;case 44:t=b0}return t}function GTn(e,t,n,r,s){var o,f,g,w;if(qe(e)===qe(t)&&r==s){Kmt(e,r,n);return}for(g=0;g<r;g++){for(f=0,o=e[g],w=0;w<s;w++)f=fo(fo(go(xa(o,Uo),xa(t[w],Uo)),xa(n[g+w],Uo)),xa(Yr(f),Uo)),n[g+w]=Yr(f),f=vb(f,32);n[g+s]=Yr(f)}}function KTn(e){var t,n,r,s,o,f,g,w,T,C,L;for(C=0,T=0,s=e.a,g=s.a.gc(),r=s.a.ec().Kc();r.Ob();)n=l(r.Pb(),567),t=(n.b&&Ale(n),n.a),L=t.a,f=t.b,C+=L+f,T+=L*f;return w=b.Math.sqrt(400*g*T-4*T+C*C)+C,o=2*(100*g-1),o==0?w:w/o}function X2t(e,t){t.b!=0&&(isNaN(e.s)?e.s=ze((br(t.b!=0),Ge(t.a.a.c))):e.s=b.Math.min(e.s,ze((br(t.b!=0),Ge(t.a.a.c)))),isNaN(e.c)?e.c=ze((br(t.b!=0),Ge(t.c.b.c))):e.c=b.Math.max(e.c,ze((br(t.b!=0),Ge(t.c.b.c)))))}function HA(e){var t,n,r,s;for(t=null,r=ag(Lh(he(le(Fh,1),jn,20,0,[(!e.b&&(e.b=new An(Sr,e,4,7)),e.b),(!e.c&&(e.c=new An(Sr,e,5,8)),e.c)])));Rr(r);)if(n=l(yr(r),84),s=vc(n),!t)t=ds(s);else if(t!=ds(s))return!0;return!1}function ile(e,t){var n,r,s,o;e.Pj()?(n=e.i,o=e.Qj(),uN(e,t),r=e.Ij(3,null,t,n,o),e.Mj()?(s=e.Nj(t,null),e.Tj()&&(s=e.Uj(t,s)),s?(s.nj(r),s.oj()):e.Jj(r)):e.Jj(r)):(uN(e,t),e.Mj()&&(s=e.Nj(t,null),s&&s.oj()))}function WTn(e,t){var n,r,s,o;if(o=KO(e.a,t.b),!o)throw ue(new ic("Invalid hitboxes for scanline overlap calculation."));for(s=!1,r=e.a.a.ec().Kc();r.Ob();)if(n=l(r.Pb(),68),Syn(t.b,n))rln(e.b.a,t.b,n),s=!0;else if(s)break}function YTn(e){var t;if(!e.a)throw ue(new ic("IDataType class expected for layout option "+e.f));if(t=Nmn(e.a),t==null)throw ue(new ic("Couldn't create new instance of property '"+e.f+"'. "+u4t+(Xg(wF),wF.k)+bSe));return l(t,423)}function sle(e){var t,n,r,s,o;return o=e.Ph(),o&&o.Vh()&&(s=Lb(e,o),s!=o)?(n=e.Fh(),r=(t=e.Fh(),t>=0?e.Ah(null):e.Ph().Th(e,-1-t,null,null)),e.Bh(l(s,54),n),r&&r.oj(),e.vh()&&e.wh()&&n>-1&&Bi(e,new _a(e,9,n,o,s)),s):o}function U9e(e,t){var n,r,s,o,f;for(o=e.b.Ce(t),r=(n=e.a.get(o),n??We(ka,jn,1,0,5,1)),f=0;f<r.length;f++)if(s=r[f],e.b.Be(t,s.ld()))return r.length==1?(r.length=0,Qfn(e.a,o)):r.splice(f,1),--e.c,++e.b.g,s.md();return null}function Q2t(e){var t,n,r,s,o,f,g,w;for(f=0,o=e.f.e,r=0;r<o.c.length;++r)for(g=(Sn(r,o.c.length),l(o.c[r],153)),s=r+1;s<o.c.length;++s)w=(Sn(s,o.c.length),l(o.c[s],153)),n=Eb(g.d,w.d),t=n-e.a[g.a][w.a],f+=e.i[g.a][w.a]*t*t;return f}function XTn(e,t){var n;if(!rs(t,(Nt(),Qu))&&(n=m8n(l(Q(t,TLe),371),l(Q(e,Qu),171)),rt(t,TLe,n),!Rr(new lr(fr(up(t).a.Kc(),new j)))))switch(n.g){case 1:rt(t,Qu,(lf(),XL));break;case 2:rt(t,Qu,(lf(),QL))}}function QTn(e,t){var n;l_n(e),e.a=(n=new bse,Os(new vn(null,new kn(t.d,16)),new ZYe(n)),n),S_n(e,l(Q(t.b,(Nt(),bde)),349)),i7n(e),iEn(e),w8n(e),s7n(e),vMn(e,t),Os(Pc(new vn(null,Fct(tpn(e.b).a)),new kS),new Dee),t.a=!1,e.a=null}function V9e(){V9e=U,UEt=new mn(MCe,(Hn(),!1)),VEt=new mn(DCe,7),bt(0),YEt=new mn(ICe,bt(0)),KEt=new mn(OCe,bt(-1)),SIe=(TA(),ige),XEt=new mn(NCe,SIe),EIe=(kA(),zB),GEt=new mn(PCe,EIe),CIe=(VH(),sge),WEt=new mn(BCe,CIe)}function J2t(){c9e.call(this,TE,(fb(),Y_t)),this.p=null,this.a=null,this.f=null,this.n=null,this.g=null,this.c=null,this.i=null,this.j=null,this.d=null,this.b=null,this.e=null,this.k=null,this.o=null,this.s=null,this.q=!1,this.r=!1}function VT(){VT=U,fpe=new j8(Syt,0),SY=new j8("INSIDE_SELF_LOOPS",1),_Y=new j8("MULTI_EDGES",2),CY=new j8("EDGE_LABELS",3),hpe=new j8("PORTS",4),EY=new j8("COMPOUND",5),TY=new j8("CLUSTERS",6),lpe=new j8("DISCONNECTED",7)}function Z2t(e,t,n){var r,s,o;e.Pj()?(o=e.Qj(),++e.j,e.qj(t,e.Zi(t,n)),r=e.Ij(3,null,n,t,o),e.Mj()?(s=e.Nj(n,null),s?(s.nj(r),s.oj()):e.Jj(r)):e.Jj(r)):(++e.j,e.qj(t,e.Zi(t,n)),e.Mj()&&(s=e.Nj(n,null),s&&s.oj()))}function ebt(e,t){var n,r,s;if(t==0)return(e.a[0]&1)!=0;if(t<0)throw ue(new Yz("Negative bit address"));if(s=t>>5,s>=e.d)return e.e<0;if(n=e.a[s],t=1<<(t&31),e.e<0){if(r=a0t(e),s<r)return!1;r==s?n=-n:n=~n}return(n&t)!=0}function JTn(e,t,n,r){var s;l(n.b,68),l(n.b,68),l(r.b,68),l(r.b,68),s=ya(Xa(l(n.b,68).c),l(r.b,68).c),iH(s,f2t(l(n.b,68),l(r.b,68),s)),l(r.b,68),l(r.b,68),l(r.b,68).c.a+s.a,l(r.b,68).c.b+s.b,l(r.b,68),Uu(r.a,new $4e(e,t,r))}function G9e(e,t){var n,r,s,o,f,g,w;if(o=t.e,o){for(n=sle(o),r=l(e.g,689),f=0;f<e.i;++f)if(w=r[f],Cue(w)==n&&(s=(!w.d&&(w.d=new Qs(Wo,w,1)),w.d),g=l(n.Mh(wle(o,o.Cb,o.Db>>16)),15).dd(o),g<s.i))return G9e(e,l(Oe(s,g),89))}return t}function D(e,t,n){var r=fK,s,o=r[e],f=o instanceof Array?o[0]:null;o&&!f?h=o:(h=(s=t&&t.prototype,!s&&(s=fK[t]),R2n(s)),h.Sm=n,!t&&(h.Tm=xe),r[e]=h);for(var g=3;g<arguments.length;++g)arguments[g].prototype=h;f&&(h.Rm=f)}function Rr(e){for(var t;!l(Xr(e.a),51).Ob();){if(e.d=Hyn(e),!e.d)return!1;if(e.a=l(e.d.Pb(),51),De(e.a,38)){if(t=l(e.a,38),e.a=t.a,!e.b&&(e.b=new H5),Tb(e.b,e.d),t.b)for(;!h_(t.b);)Tb(e.b,l(Fgn(t.b),51));e.d=t.d}}return!0}function K9e(e,t){var n,r,s,o;for(s=1,t.j=!0,o=null,r=new K(t6(t));r.a<r.c.c.length;)n=l(re(r),218),e.c[n.c]||(e.c[n.c]=!0,o=XU(n,t),n.f?s+=K9e(e,o):!o.j&&n.a==n.e.e-n.d.e&&(n.f=!0,sa(e.p,n),s+=K9e(e,o)));return s}function ZTn(e){var t,n,r;for(n=new K(e.a.a.b);n.a<n.c.c.length;)t=l(re(n),86),r=(tr(0),0),r>0&&(!(Yg(e.a.c)&&t.n.d)&&!(R5(e.a.c)&&t.n.b)&&(t.g.d+=b.Math.max(0,r/2-.5)),!(Yg(e.a.c)&&t.n.a)&&!(R5(e.a.c)&&t.n.c)&&(t.g.a-=r-1))}function tbt(e){var t,n,r,s,o;if(s=new mt,o=Xmt(e,s),t=l(Q(e,(ft(),Bl)),10),t)for(r=new K(t.j);r.a<r.c.c.length;)n=l(re(r),12),qe(Q(n,zi))===qe(e)&&(o=b.Math.max(o,Xmt(n,s)));return s.c.length==0||rt(e,$6,o),o!=-1?s:null}function nbt(e,t,n){var r,s,o,f,g,w;o=l(Rt(t.e,0),18).c,r=o.i,s=r.k,w=l(Rt(n.g,0),18).d,f=w.i,g=f.k,s==(Jn(),Aa)?rt(e,(ft(),a1),l(Q(r,a1),12)):rt(e,(ft(),a1),o),g==Aa?rt(e,(ft(),$f),l(Q(f,$f),12)):rt(e,(ft(),$f),w)}function W9e(e){var t,n,r;this.c=e,r=l(Q(e,(Nt(),Rh)),88),t=ze(Ge(Q(e,pW))),n=ze(Ge(Q(e,kDe))),r==(ea(),hc)||r==yc||r==J1?this.b=t*n:this.b=1/(t*n),this.j=ze(Ge(Q(e,G6))),this.e=ze(Ge(Q(e,E3))),this.f=e.b.c.length}function Y9e(e,t){var n,r,s,o,f;return t&=63,n=e.h,r=(n&NP)!=0,r&&(n|=-1048576),t<22?(f=n>>t,o=e.m>>t|n<<22-t,s=e.l>>t|e.m<<22-t):t<44?(f=r?pp:0,o=n>>t-22,s=e.m>>t-22|n<<44-t):(f=r?pp:0,o=r?Ql:0,s=n>>t-44),qu(s&Ql,o&Ql,f&pp)}function ale(e){var t,n,r,s,o,f;for(this.c=new mt,this.d=e,r=gs,s=gs,t=oa,n=oa,f=Fr(e,0);f.b!=f.d.c;)o=l(Pr(f),8),r=b.Math.min(r,o.a),s=b.Math.min(s,o.b),t=b.Math.max(t,o.a),n=b.Math.max(n,o.b);this.a=new Zh(r,s,t-r,n-s)}function rbt(e,t){var n,r,s,o,f,g;for(o=new K(e.b);o.a<o.c.c.length;)for(s=l(re(o),30),g=new K(s.a);g.a<g.c.c.length;)for(f=l(re(g),10),f.k==(Jn(),uu)&&Cx(f,t),r=new lr(fr(qs(f).a.Kc(),new j));Rr(r);)n=l(yr(r),18),D0t(n,t)}function eEn(e,t){var n,r,s;for(t.Ug("Layer constraint preprocessing",1),n=new mt,s=new Ua(e.a,0);s.b<s.d.gc();)r=(br(s.b<s.d.gc()),l(s.d.Xb(s.c=s.b++),10)),_yn(r)&&(Bxn(r),qn(n.c,r),fh(s));n.c.length==0||rt(e,(ft(),rde),n),t.Vg()}function tEn(e){var t,n;for(e.e=We(Ur,fi,28,e.p.c.length,15,1),e.k=We(Ur,fi,28,e.p.c.length,15,1),n=new K(e.p);n.a<n.c.c.length;)t=l(re(n),10),e.e[t.p]=ep(new lr(fr(Ea(t).a.Kc(),new j))),e.k[t.p]=ep(new lr(fr(qs(t).a.Kc(),new j)))}function nEn(e){var t,n,r,s,o,f;for(s=0,e.q=new mt,t=new Ys,f=new K(e.p);f.a<f.c.c.length;){for(o=l(re(f),10),o.p=s,r=new lr(fr(qs(o).a.Kc(),new j));Rr(r);)n=l(yr(r),18),sa(t,n.d.i);t.a.Bc(o)!=null,wt(e.q,new G_(t)),t.a.$b(),++s}}function ibt(e,t){var n,r,s,o,f,g,w,T,C;if(e.a.f>0&&De(t,44)&&(e.a._j(),T=l(t,44),w=T.ld(),o=w==null?0:ts(w),f=p4e(e.a,o),n=e.a.d[f],n)){for(r=l(n.g,379),C=n.i,g=0;g<C;++g)if(s=r[g],s.Bi()==o&&s.Fb(T))return ibt(e,T),!0}return!1}function rEn(e){var t,n,r,s,o,f,g;if(t=e.qi(Ff),t&&(g=Zr(t1((!t.b&&(t.b=new lh((En(),Do),Qc,t)),t.b),"settingDelegates")),g!=null)){for(n=new mt,s=Yy(g,"\\w+"),o=0,f=s.length;o<f;++o)r=s[o],qn(n.c,r);return n}return Cn(),Cn(),Co}function iEn(e){var t,n,r,s;for(s=l($i(e.a,(zy(),ZK)),15).Kc();s.Ob();)r=l(s.Pb(),105),n=(t=Y8(r.k),t.Hc((_t(),Xn))?t.Hc(sr)?t.Hc(Mr)?t.Hc(Zn)?null:Bxt:Rxt:Fxt:Pxt),Gk(e,r,n[0],($w(),d3),0),Gk(e,r,n[1],Kb,1),Gk(e,r,n[2],g3,1)}function sEn(e,t){var n,r;n=j_n(t),SSn(e,t,n),upt(e.a,l(Q(Ja(t.b),(ft(),Qx)),234)),oAn(e),Lxn(e,t),r=We(Ur,fi,28,t.b.j.c.length,15,1),$le(e,t,(_t(),Xn),r,n),$le(e,t,sr,r,n),$le(e,t,Mr,r,n),$le(e,t,Zn,r,n),e.a=null,e.c=null,e.b=null}function X9e(e,t,n){switch(t){case 7:!e.e&&(e.e=new An(js,e,7,4)),$r(e.e),!e.e&&(e.e=new An(js,e,7,4)),Ls(e.e,l(n,16));return;case 8:!e.d&&(e.d=new An(js,e,8,5)),$r(e.d),!e.d&&(e.d=new An(js,e,8,5)),Ls(e.d,l(n,16));return}Hxe(e,t,n)}function Q9e(e,t){var n,r,s,o,f;if(qe(t)===qe(e))return!0;if(!De(t,15)||(f=l(t,15),e.gc()!=f.gc()))return!1;for(o=f.Kc(),r=e.Kc();r.Ob();)if(n=r.Pb(),s=o.Pb(),!(qe(n)===qe(s)||n!=null&&Fi(n,s)))return!1;return!0}function aEn(e,t){var n,r,s,o;for(o=l(kc(Pc(Pc(new vn(null,new kn(t.b,16)),new dS),new gS),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)]))),15),o.Jc(new xj),n=0,s=o.Kc();s.Ob();)r=l(s.Pb(),12),r.p==-1&&J9e(e,r,n++)}function sbt(e){switch(e.g){case 0:return new pie;case 1:return new die;case 2:return new gie;case 3:return new Stt;case 4:return new Gst;default:throw ue(new Wn("No implementation is available for the node placer "+(e.f!=null?e.f:""+e.g)))}}function abt(e){switch(e.g){case 0:return new p5e;case 1:return new sie;case 2:return new gz;case 3:return new v8;case 4:return new bnt;default:throw ue(new Wn("No implementation is available for the cycle breaker "+(e.f!=null?e.f:""+e.g)))}}function oEn(e,t){var n,r,s,o,f;r=new os,_s(r,t,r.c.b,r.c);do for(n=(br(r.b!=0),l(sf(r,r.a.a),40)),e.b[n.g]=1,o=Fr(n.d,0);o.b!=o.d.c;)s=l(Pr(o),65),f=s.c,e.b[f.g]==1?ci(e.a,s):e.b[f.g]==2?e.b[f.g]=1:_s(r,f,r.c.b,r.c);while(r.b!=0)}function cEn(e,t,n){var r;r=null,t&&(r=t.d),jA(e,new Nk(t.n.a-r.b+n.a,t.n.b-r.d+n.b)),jA(e,new Nk(t.n.a-r.b+n.a,t.n.b+t.o.b+r.a+n.b)),jA(e,new Nk(t.n.a+t.o.a+r.c+n.a,t.n.b-r.d+n.b)),jA(e,new Nk(t.n.a+t.o.a+r.c+n.a,t.n.b+t.o.b+r.a+n.b))}function J9e(e,t,n){var r,s,o;for(t.p=n,o=ag(Lh(he(le(Fh,1),jn,20,0,[new S5(t),new S8(t)])));Rr(o);)r=l(yr(o),12),r.p==-1&&J9e(e,r,n);if(t.i.k==(Jn(),Aa))for(s=new K(t.i.j);s.a<s.c.c.length;)r=l(re(s),12),r!=t&&r.p==-1&&J9e(e,r,n)}function uEn(e,t){var n,r,s,o,f,g;for(r=new u2,f=XH(new Ll(e.g)),o=f.a.ec().Kc();o.Ob();){if(s=l(o.Pb(),10),!s){t.bh("There are no classes in a balanced layout.");break}g=e.j[s.p],n=l(B1(r,g),15),n||(n=new mt,y2(r,g,n)),n.Fc(s)}return r}function obt(e){var t,n,r,s,o;if(s=l(kc(c6e(h6e(e)),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)]))),15),r=k6,s.gc()>=2)for(n=s.Kc(),t=Ge(n.Pb());n.Ob();)o=t,t=Ge(n.Pb()),r=b.Math.min(r,(tr(t),t-(tr(o),o)));return r}function lEn(e,t){var n,r,s;for(s=new mt,r=Fr(t.a,0);r.b!=r.d.c;)n=l(Pr(r),65),n.b.g==e.g&&!wn(n.b.c,RG)&&qe(Q(n.b,(Vc(),$d)))!==qe(Q(n.c,$d))&&!X5(new vn(null,new kn(s,16)),new jXe(n))&&qn(s.c,n);return Gs(s,new Wte),s}function hEn(e,t){var n,r,s;if(qe(t)===qe(Xr(e)))return!0;if(!De(t,15)||(r=l(t,15),s=e.gc(),s!=r.gc()))return!1;if(De(r,59)){for(n=0;n<s;n++)if(!yd(e.Xb(n),r.Xb(n)))return!1;return!0}else return f7n(e.Kc(),r.Kc())}function fEn(e,t,n,r,s,o){var f,g,w,T;for(g=!Lk(ji(e.Oc(),new Vl(new Jv))).Bd((Bm(),qx)),f=e,o==(ea(),vf)&&(f=uf(f)),T=f.Kc();T.Ob();)w=l(T.Pb(),72),w.n.a=t.a,g?w.n.b=t.b+(r.b-w.o.b)/2:s?w.n.b=t.b:w.n.b=t.b+r.b-w.o.b,t.a+=w.o.a+n}function dEn(e,t){var n,r,s,o,f;for(t.Ug("Port side processing",1),f=new K(e.a);f.a<f.c.c.length;)s=l(re(f),10),xvt(s);for(r=new K(e.b);r.a<r.c.c.length;)for(n=l(re(r),30),o=new K(n.a);o.a<o.c.c.length;)s=l(re(o),10),xvt(s);t.Vg()}function gEn(e,t,n){var r,s,o,f,g,w,T;if(n)for(o=n.a.length,r=new jm(o),g=(r.b-r.a)*r.c<0?(gb(),lm):new mb(r);g.Ob();)f=l(g.Pb(),17),w=eT(n,f.a),w&&(T=e3n(Zg(w,o0e),t),Ti(e.f,T,w),s=Pd in w.a,s&&gT(T,Zg(w,Pd)),EV(w,T),L9e(w,T))}function pEn(e,t,n){var r,s,o,f,g;if(g=n,!g&&(g=e5e(new M8,0)),g.Ug(syt,1),rwt(e.c,t),f=wDn(e.a,t),f.gc()==1)Rvt(l(f.Xb(0),36),g);else for(o=1/f.gc(),s=f.Kc();s.Ob();){if(r=l(s.Pb(),36),n.$g())return;Rvt(r,g.eh(o))}Dun(e.a,f,t),KSn(t),g.Vg()}function cbt(e,t,n){var r,s,o,f,g;if(s=e.f,!s&&(s=l(e.a.a.ec().Kc().Pb(),60)),RA(s,t,n),e.a.a.gc()!=1)for(r=t*n,f=e.a.a.ec().Kc();f.Ob();)o=l(f.Pb(),60),o!=s&&(g=sx(o),g.f.d?(o.d.d+=r+H1,o.d.a-=r+H1):g.f.a&&(o.d.a-=r+H1))}function ole(e,t,n,r,s){var o,f,g,w,T,C,L,F,z;return f=n-e,g=r-t,o=b.Math.atan2(f,g),w=o+Hhe,T=o-Hhe,C=s*b.Math.sin(w)+e,F=s*b.Math.cos(w)+t,L=s*b.Math.sin(T)+e,z=s*b.Math.cos(T)+t,O1(he(le(Ca,1),dt,8,0,[new lt(C,F),new lt(L,z)]))}function bEn(e,t,n,r){var s,o,f,g,w,T,C,L;s=n,C=t,o=C;do o=e.a[o.p],g=(L=e.g[o.p],ze(e.p[L.p])+ze(e.d[o.p])-o.d.d),w=b3n(o,r),w&&(f=(T=e.g[w.p],ze(e.p[T.p])+ze(e.d[w.p])+w.o.b+w.d.a),s=b.Math.min(s,g-(f+z5(e.k,o,w))));while(C!=o);return s}function mEn(e,t,n,r){var s,o,f,g,w,T,C,L;s=n,C=t,o=C;do o=e.a[o.p],f=(L=e.g[o.p],ze(e.p[L.p])+ze(e.d[o.p])+o.o.b+o.d.a),w=kyn(o,r),w&&(g=(T=e.g[w.p],ze(e.p[T.p])+ze(e.d[w.p])-w.d.d),s=b.Math.min(s,g-(f+z5(e.k,o,w))));while(C!=o);return s}function ubt(e,t){var n;if(t.Ug("Equal Whitespace Eliminator",1),P1(e,(fg(),ZW)))C4n(l(at(e,ZW),15),ze(Ge(at(e,e9))),(n=ze(Ge(at(e,mM))),ze(Ge(at(e,(z1(),yM)))),n));else throw ue(new Zp("The graph does not contain rows."));t.Vg()}function at(e,t){var n,r;return r=(!e.o&&(e.o=new yl((au(),Ag),R2,e,0)),t1(e.o,t)),r??(n=t.Sg(),De(n,4)&&(n==null?(!e.o&&(e.o=new yl((au(),Ag),R2,e,0)),nV(e.o,t)):(!e.o&&(e.o=new yl((au(),Ag),R2,e,0)),eP(e.o,t,n))),n)}function Vy(){Vy=U,k0=new O5("H_LEFT",0),xp=new O5("H_CENTER",1),T0=new O5("H_RIGHT",2),C0=new O5("V_TOP",3),Sg=new O5("V_CENTER",4),qf=new O5("V_BOTTOM",5),jh=new O5("INSIDE",6),E0=new O5("OUTSIDE",7),zf=new O5("H_PRIORITY",8)}function vEn(e,t){var n,r,s,o,f,g,w;if(!t.f)throw ue(new Wn("The input edge is not a tree edge."));for(o=null,s=Ni,r=new K(e.d);r.a<r.c.c.length;)n=l(re(r),218),g=n.d,w=n.e,tle(e,g,t)&&!tle(e,w,t)&&(f=w.e-g.e-n.a,f<s&&(s=f,o=n));return o}function wEn(e){var t,n,r,s,o,f;if(!(e.f.e.c.length<=1)){t=0,s=Q2t(e),n=gs;do{for(t>0&&(s=n),f=new K(e.f.e);f.a<f.c.c.length;)o=l(re(f),153),!Ft(Pt(Q(o,(JN(),_Ae))))&&(r=IAn(e,o),Pi(W0(o.d),r));n=Q2t(e)}while(!rpn(e,t++,s,n))}}function yEn(e,t){var n,r,s,o,f;for(o=e.g.a,f=e.g.b,r=new K(e.d);r.a<r.c.c.length;)n=l(re(r),72),s=n.n,e.a==(R1(),IE)||e.i==(_t(),sr)?s.a=o:e.a==OE||e.i==(_t(),Zn)?s.a=o+e.j.a-n.o.a:s.a=o+(e.j.a-n.o.a)/2,s.b=f,Pi(s,t),f+=n.o.b+e.e}function xEn(e,t){var n,r,s,o,f,g,w,T,C,L;T=e,w=oA(T,"individualSpacings"),w&&(r=P1(t,(bi(),i9)),f=!r,f&&(s=new DI,Vi(t,i9,s)),g=l(at(t,i9),385),L=w,o=null,L&&(o=(C=yce(L,We($t,dt,2,0,6,1)),new yse(L,C))),o&&(n=new ent(L,g),Za(o,n)))}function kEn(e,t){var n,r,s,o,f,g,w,T,C,L,F;return w=null,L=e,C=null,(J4t in L.a||Z4t in L.a||KG in L.a)&&(T=null,F=Y7e(t),f=oA(L,J4t),n=new TQe(F),F5n(n.a,f),g=oA(L,Z4t),r=new OQe(F),R5n(r.a,g),o=Pw(L,KG),s=new BQe(F),T=(kxn(s.a,o),o),C=T),w=C,w}function TEn(e,t){var n,r,s;if(t===e)return!0;if(De(t,552)){if(s=l(t,849),e.a.d!=s.a.d||G5(e).gc()!=G5(s).gc())return!1;for(r=G5(s).Kc();r.Ob();)if(n=l(r.Pb(),425),hct(e,n.a.ld())!=l(n.a.md(),16).gc())return!1;return!0}return!1}function EEn(e){var t,n,r,s;return r=l(e.a,17).a,s=l(e.b,17).a,t=r,n=s,r==0&&s==0?n-=1:r==-1&&s<=0?(t=0,n-=2):r<=0&&s>0?(t-=1,n-=1):r>=0&&s<0?(t+=1,n+=1):r>0&&s>=0?(t-=1,n+=1):(t+=1,n-=1),new fa(bt(t),bt(n))}function CEn(e,t){return e.c<t.c?-1:e.c>t.c?1:e.b<t.b?-1:e.b>t.b?1:e.a!=t.a?ts(e.a)-ts(t.a):e.d==(cA(),lM)&&t.d==uM?-1:e.d==uM&&t.d==lM?1:0}function lbt(e,t){var n,r,s,o,f;return o=t.a,o.c.i==t.b?f=o.d:f=o.c,o.c.i==t.b?r=o.c:r=o.d,s=K5n(e.a,f,r),s>0&&s<k6?(n=bEn(e.a,r.i,s,e.c),sft(e.a,r.i,-n),n>0):s<0&&-s<k6?(n=mEn(e.a,r.i,-s,e.c),sft(e.a,r.i,n),n>0):!1}function SEn(e,t,n,r){var s,o,f,g,w,T,C,L;for(s=(t-e.d)/e.c.c.length,o=0,e.a+=n,e.d=t,L=new K(e.c);L.a<L.c.c.length;)C=l(re(L),27),T=C.g,w=C.f,Vu(C,C.i+o*s),Gu(C,C.j+r*n),Rw(C,C.g+s),Fw(C,e.a),++o,g=C.g,f=C.f,S9e(C,new lt(g,f),new lt(T,w))}function _En(e){var t,n,r,s,o,f,g;if(e==null)return null;for(g=e.length,s=(g+1)/2|0,f=We(_l,_6,28,s,15,1),g%2!=0&&(f[--s]=yke((Yn(g-1,e.length),e.charCodeAt(g-1)))),n=0,r=0;n<s;++n)t=yke(io(e,r++)),o=yke(io(e,r++)),f[n]=(t<<4|o)<<24>>24;return f}function AEn(e){if(e.ze()){var t=e.c;t.Ae()?e.o="["+t.n:t.ze()?e.o="["+t.xe():e.o="[L"+t.xe()+";",e.b=t.we()+"[]",e.k=t.ye()+"[]";return}var n=e.j,r=e.d;r=r.split("/"),e.o=lue(".",[n,lue("$",r)]),e.b=lue(".",[n,lue(".",r)]),e.k=r[r.length-1]}function LEn(e,t){var n,r,s,o,f;for(f=null,o=new K(e.e.a);o.a<o.c.c.length;)if(s=l(re(o),125),s.b.a.c.length==s.g.a.c.length){for(r=s.e,f=ukn(s),n=s.e-l(f.a,17).a+1;n<s.e+l(f.b,17).a;n++)t[n]<t[r]&&(r=n);t[r]<t[s.e]&&(--t[s.e],++t[r],s.e=r)}}function cle(e){var t,n,r,s,o,f,g,w;for(s=gs,r=oa,n=new K(e.e.b);n.a<n.c.c.length;)for(t=l(re(n),30),f=new K(t.a);f.a<f.c.c.length;)o=l(re(f),10),w=ze(e.p[o.p]),g=w+ze(e.b[e.g[o.p].p]),s=b.Math.min(s,w),r=b.Math.max(r,g);return r-s}function hbt(e){Ble();var t,n,r,s;return r=pd(e,ol(35)),t=r==-1?e:(Va(0,r,e.length),e.substr(0,r)),n=r==-1?null:(Yn(r+1,e.length+1),e.substr(r+1)),s=Vmn(UPe,t),s?n!=null&&(s=a1t(s,(tr(n),n))):(s=fOn(t),ivn(UPe,t,s),n!=null&&(s=a1t(s,n))),s}function Z9e(e,t,n,r){var s,o,f,g,w;for(s=Lke(e,t),g=0,w=s.gc();g<w;++g)if(o=l(s.Xb(g),179),wn(r,Xk(ac(e,o)))){if(f=QO(ac(e,o)),n==null){if(f==null)return o}else if(wn(n,f))return o}return null}function eke(e,t,n,r){var s,o,f,g,w;for(s=yle(e,t),g=0,w=s.gc();g<w;++g)if(o=l(s.Xb(g),179),wn(r,Xk(ac(e,o)))){if(f=QO(ac(e,o)),n==null){if(f==null)return o}else if(wn(n,f))return o}return null}function MEn(e,t,n){var r,s,o,f,g,w;if(f=new sb,g=Wu(e.e.Dh(),t),r=l(e.g,124),Ro(),l(t,69).xk())for(o=0;o<e.i;++o)s=r[o],g.am(s.Lk())&&zr(f,s);else for(o=0;o<e.i;++o)s=r[o],g.am(s.Lk())&&(w=s.md(),zr(f,n?qA(e,t,o,f.i,w):w));return E6e(f)}function fbt(e){var t,n,r,s,o,f,g;if(e&&(t=e.qi(Ff),t&&(f=Zr(t1((!t.b&&(t.b=new lh((En(),Do),Qc,t)),t.b),"conversionDelegates")),f!=null))){for(g=new mt,r=Yy(f,"\\w+"),s=0,o=r.length;s<o;++s)n=r[s],qn(g.c,n);return g}return Cn(),Cn(),Co}function dbt(e,t){var n,r,s,o,f,g,w,T;for(f=t==1?w1e:v1e,o=f.a.ec().Kc();o.Ob();)for(s=l(o.Pb(),88),w=l($i(e.f.c,s),21).Kc();w.Ob();)switch(g=l(w.Pb(),42),r=l(g.b,86),T=l(g.a,194),n=T.c,s.g){case 2:case 1:r.g.d+=n;break;case 4:case 3:r.g.c+=n}}function DEn(e,t){var n,r,s,o,f;for(n=new MA(BE),s=(xx(),he(le(BE,1),it,232,0,[PE,HL,NE,g4,B6,P6])),o=0,f=s.length;o<f;++o)r=s[o],w4e(n,r,new mt);return Os(gc(ji(Pc(new vn(null,new kn(e.b,16)),new RZ),new pS),new DYe(t)),new IYe(n)),n}function DV(e,t,n){var r,s,o,f,g,w,T,C,L,F;for(o=t.Kc();o.Ob();)s=l(o.Pb(),27),C=s.i+s.g/2,F=s.j+s.f/2,w=e.f,f=w.i+w.g/2,g=w.j+w.f/2,T=C-f,L=F-g,r=b.Math.sqrt(T*T+L*L),T*=e.e/r,L*=e.e/r,n?(C-=T,F-=L):(C+=T,F+=L),Vu(s,C-s.g/2),Gu(s,F-s.f/2)}function l6(e){var t,n,r;if(!e.c&&e.b!=null){for(t=e.b.length-4;t>=0;t-=2)for(n=0;n<=t;n+=2)(e.b[n]>e.b[n+2]||e.b[n]===e.b[n+2]&&e.b[n+1]>e.b[n+3])&&(r=e.b[n+2],e.b[n+2]=e.b[n],e.b[n]=r,r=e.b[n+3],e.b[n+3]=e.b[n+1],e.b[n+1]=r);e.c=!0}}function IEn(e,t){var n,r,s,o,f,g,w,T,C;for(T=-1,C=0,f=e,g=0,w=f.length;g<w;++g){for(o=f[g],n=new ust(T==-1?e[0]:e[T],t,(EA(),OW)),r=0;r<o.length;r++)for(s=r+1;s<o.length;s++)rs(o[r],(ft(),Yi))&&rs(o[s],Yi)&&Hwt(n,o[r],o[s])>0&&++C;++T}return C}function d0(e){var t,n;return n=new Eh(Pm(e.Rm)),n.a+="@",li(n,(t=ts(e)>>>0,t.toString(16))),e.Vh()?(n.a+=" (eProxyURI: ",mu(n,e._h()),e.Kh()&&(n.a+=" eClass: ",mu(n,e.Kh())),n.a+=")"):e.Kh()&&(n.a+=" (eClass: ",mu(n,e.Kh()),n.a+=")"),n.a}function UA(e){var t,n,r,s;if(e.e)throw ue(new ic((Xg(J0e),Lhe+J0e.k+Mhe)));for(e.d==(ea(),J1)&&JV(e,hc),n=new K(e.a.a);n.a<n.c.c.length;)t=l(re(n),316),t.g=t.i;for(s=new K(e.a.b);s.a<s.c.c.length;)r=l(re(s),60),r.i=oa;return e.b.cf(e),e}function OEn(e,t){var n,r,s,o,f;if(t<2*e.b)throw ue(new Wn("The knot vector must have at least two time the dimension elements."));for(e.f=1,s=0;s<e.b;s++)wt(e.e,0);for(f=t+1-2*e.b,n=f,o=1;o<f;o++)wt(e.e,o/n);if(e.d)for(r=0;r<e.b;r++)wt(e.e,1)}function gbt(e,t){var n,r,s,o,f,g,w,T,C;if(T=t,C=l(CU(soe(e.i),T),27),!C)throw s=Zg(T,Pd),g="Unable to find elk node for json object '"+s,w=g+"' Panic!",ue(new dd(w));o=Pw(T,"edges"),n=new Gtt(e,C),vTn(n.a,n.b,o),f=Pw(T,c0e),r=new pQe(e),k8n(r.a,f)}function pbt(e,t,n,r){var s,o,f,g,w;if(r!=null){if(s=e.d[t],s){for(o=s.g,w=s.i,g=0;g<w;++g)if(f=l(o[g],136),f.Bi()==n&&Fi(r,f.ld()))return g}}else if(s=e.d[t],s){for(o=s.g,w=s.i,g=0;g<w;++g)if(f=l(o[g],136),qe(f.ld())===qe(r))return g}return-1}function GT(e,t){var n,r,s;return n=t==null?dc(zo(e.f,null)):x_(e.i,t),De(n,241)?(s=l(n,241),s.zi()==null,s):De(n,507)?(r=l(n,2037),s=r.a,s&&(s.yb==null||(t==null?Ru(e.f,null,s):Hw(e.i,t,s))),s):null}function NEn(e){mke();var t,n,r,s,o,f,g;if(e==null||(s=e.length,s%2!=0))return null;for(t=hU(e),o=s/2|0,n=We(_l,_6,28,o,15,1),r=0;r<o;r++){if(f=KM[t[r*2]],f==-1||(g=KM[t[r*2+1]],g==-1))return null;n[r]=(f<<4|g)<<24>>24}return n}function PEn(e,t,n){var r,s,o;if(s=l(Zo(e.i,t),314),!s)if(s=new Xht(e.d,t,n),J8(e.i,t,s),ixe(t))jhn(e.a,t.c,t.b,s);else switch(o=vkn(t),r=l(Zo(e.p,o),252),o.g){case 1:case 3:s.j=!0,lse(r,t.b,s);break;case 4:case 2:s.k=!0,lse(r,t.c,s)}return s}function BEn(e,t){var n,r,s,o,f,g,w,T,C;for(w=rg(e.c-e.b&e.a.length-1),T=null,C=null,o=new rA(e);o.a!=o.b;)s=l(UU(o),10),n=(g=l(Q(s,(ft(),a1)),12),g?g.i:null),r=(f=l(Q(s,$f),12),f?f.i:null),(T!=n||C!=r)&&(K2t(w,t),T=n,C=r),qn(w.c,s);K2t(w,t)}function FEn(e,t,n,r){var s,o,f,g,w,T;if(g=new sb,w=Wu(e.e.Dh(),t),s=l(e.g,124),Ro(),l(t,69).xk())for(f=0;f<e.i;++f)o=s[f],w.am(o.Lk())&&zr(g,o);else for(f=0;f<e.i;++f)o=s[f],w.am(o.Lk())&&(T=o.md(),zr(g,r?qA(e,t,f,g.i,T):T));return Q8e(g,n)}function bbt(e,t){var n,r,s,o,f,g,w,T;if(s=e.b[t.p],s>=0)return s;for(o=1,g=new K(t.j);g.a<g.c.c.length;)for(f=l(re(g),12),r=new K(f.g);r.a<r.c.c.length;)n=l(re(r),18),T=n.d.i,t!=T&&(w=bbt(e,T),o=b.Math.max(o,w+1));return I5n(e,t,o),o}function mbt(e,t){var n,r,s,o,f,g,w,T;if(s=e.b[t.p],s>=0)return s;for(o=1,g=new K(t.j);g.a<g.c.c.length;)for(f=l(re(g),12),r=new K(f.e);r.a<r.c.c.length;)n=l(re(r),18),T=n.c.i,t!=T&&(w=mbt(e,T),o=b.Math.max(o,w+1));return u7n(e,t,o),o}function vbt(e,t,n){var r,s,o;for(r=1;r<e.c.length;r++){for(o=(Sn(r,e.c.length),l(e.c[r],10)),s=r;s>0&&t.Ne((Sn(s-1,e.c.length),l(e.c[s-1],10)),o)>0;)nf(e,s,(Sn(s-1,e.c.length),l(e.c[s-1],10))),--s;Sn(s,e.c.length),e.c[s]=o}n.a=new Nr,n.b=new Nr}function REn(e,t,n){var r,s,o,f,g,w,T,C;for(C=(r=l(t.e&&t.e(),9),new Jh(r,l(o0(r,r.length),9),0)),w=Yy(n,"[\\[\\]\\s,]+"),o=w,f=0,g=o.length;f<g;++f)if(s=o[f],Hy(s).length!=0){if(T=S2t(e,s),T==null)return null;f0(C,l(T,22))}return C}function jEn(e){var t,n,r,s;for(s=e.length,t=null,r=0;r<s;r++)n=(Yn(r,e.length),e.charCodeAt(r)),pd(".*+?{[()|\\^$",ol(n))>=0?(t||(t=new f_,r>0&&Jo(t,(Va(0,r,e.length),e.substr(0,r)))),t.a+="\\",Kk(t,n&ta)):t&&Kk(t,n&ta);return t?t.a:e}function $En(e){var t,n,r;for(n=new K(e.a.a.b);n.a<n.c.c.length;)t=l(re(n),86),r=(tr(0),0),r>0&&(!(Yg(e.a.c)&&t.n.d)&&!(R5(e.a.c)&&t.n.b)&&(t.g.d-=b.Math.max(0,r/2-.5)),!(Yg(e.a.c)&&t.n.a)&&!(R5(e.a.c)&&t.n.c)&&(t.g.a+=b.Math.max(0,r-1)))}function wbt(e,t,n){var r,s;if((e.c-e.b&e.a.length-1)==2)t==(_t(),Xn)||t==sr?(bU(l(yA(e),15),(Ih(),Cg)),bU(l(yA(e),15),tm)):(bU(l(yA(e),15),(Ih(),tm)),bU(l(yA(e),15),Cg));else for(s=new rA(e);s.a!=s.b;)r=l(UU(s),15),bU(r,n)}function zEn(e,t){var n,r,s,o,f,g,w;for(s=qk(new Rwe(e)),g=new Ua(s,s.c.length),o=qk(new Rwe(t)),w=new Ua(o,o.c.length),f=null;g.b>0&&w.b>0&&(n=(br(g.b>0),l(g.a.Xb(g.c=--g.b),27)),r=(br(w.b>0),l(w.a.Xb(w.c=--w.b),27)),n==r);)f=n;return f}function ybt(e,t,n){var r,s,o,f;xct(e,t)>xct(e,n)?(r=Fc(n,(_t(),sr)),e.d=r.dc()?0:Rae(l(r.Xb(0),12)),f=Fc(t,Zn),e.b=f.dc()?0:Rae(l(f.Xb(0),12))):(s=Fc(n,(_t(),Zn)),e.d=s.dc()?0:Rae(l(s.Xb(0),12)),o=Fc(t,sr),e.b=o.dc()?0:Rae(l(o.Xb(0),12)))}function xbt(e,t){var n,r,s,o;for(n=e.o.a,o=l(l($i(e.r,t),21),87).Kc();o.Ob();)s=l(o.Pb(),117),s.e.a=n*ze(Ge(s.b.of(kK))),s.e.b=(r=s.b,r.pf((bi(),eh))?r.ag()==(_t(),Xn)?-r.Mf().b-ze(Ge(r.of(eh))):ze(Ge(r.of(eh))):r.ag()==(_t(),Xn)?-r.Mf().b:0)}function qEn(e,t){var n,r,s,o;for(t.Ug("Self-Loop pre-processing",1),r=new K(e.a);r.a<r.c.c.length;)n=l(re(r),10),A5n(n)&&(s=(o=new Ndt(n),rt(n,(ft(),v3),o),fAn(o),o),Os(gc(Pc(new vn(null,new kn(s.d,16)),new Ij),new Oj),new ree),sSn(s));t.Vg()}function HEn(e){var t,n,r,s,o,f,g,w;t=!0,s=null,o=null;e:for(w=new K(e.a);w.a<w.c.c.length;)for(g=l(re(w),10),r=new lr(fr(Ea(g).a.Kc(),new j));Rr(r);){if(n=l(yr(r),18),s&&s!=g){t=!1;break e}if(s=g,f=n.c.i,o&&o!=f){t=!1;break e}o=f}return t}function UEn(e,t,n){var r,s,o,f,g,w;for(o=-1,g=-1,f=0;f<t.c.length&&(s=(Sn(f,t.c.length),l(t.c[f],339)),!(s.c>e.c));f++)s.a>=e.s&&(o<0&&(o=f),g=f);return w=(e.s+e.c)/2,o>=0&&(r=M_n(e,t,o,g),w=Aln((Sn(r,t.c.length),l(t.c[r],339))),PTn(t,r,n)),w}function Wr(e,t,n){var r,s,o,f,g,w,T;for(f=(o=new OI,o),I7e(f,(tr(t),t)),T=(!f.b&&(f.b=new lh((En(),Do),Qc,f)),f.b),w=1;w<n.length;w+=2)eP(T,n[w-1],n[w]);for(r=(!e.Ab&&(e.Ab=new nt(vi,e,0,3)),e.Ab),g=0;g<0;++g)s=apn(l(Oe(r,r.i-1),598)),r=s;zr(r,f)}function kbt(e,t,n){var r,s,o;for(Vfn.call(this,new mt),this.a=t,this.b=n,this.e=e,r=(e.b&&Ale(e),e.a),this.d=Zat(r.a,this.a),this.c=Zat(r.b,this.b),j4n(this,this.d,this.c),hTn(this),o=this.e.e.a.ec().Kc();o.Ob();)s=l(o.Pb(),272),s.c.c.length>0&&SMn(this,s)}function tke(e,t,n,r,s,o){var f,g,w;if(!s[t.a]){for(s[t.a]=!0,f=r,!f&&(f=new eU),wt(f.e,t),w=o[t.a].Kc();w.Ob();)g=l(w.Pb(),290),!(g.d==n||g.c==n)&&(g.c!=t&&tke(e,g.c,t,f,s,o),g.d!=t&&tke(e,g.d,t,f,s,o),wt(f.c,g),aa(f.d,g.b));return f}return null}function VEn(e){var t,n,r,s,o,f,g;for(t=0,s=new K(e.e);s.a<s.c.c.length;)r=l(re(s),18),n=X5(new vn(null,new kn(r.b,16)),new xZ),n&&++t;for(f=new K(e.g);f.a<f.c.c.length;)o=l(re(f),18),g=X5(new vn(null,new kn(o.b,16)),new kZ),g&&++t;return t>=2}function GEn(e,t,n,r,s){var o,f,g,w,T,C;for(o=e.c.d.j,f=l(hf(n,0),8),C=1;C<n.b;C++)T=l(hf(n,C),8),_s(r,f,r.c.b,r.c),g=md(Pi(new xo(f),T),.5),w=md(new Moe(u8e(o)),s),Pi(g,w),_s(r,g,r.c.b,r.c),f=T,o=t==0?KU(o):M8e(o);ci(r,(br(n.b!=0),l(n.c.b.c,8)))}function KEn(e){Vy();var t,n,r;return n=is(jh,he(le(Ko,1),it,95,0,[E0])),!(AN(zH(n,e))>1||(t=is(k0,he(le(Ko,1),it,95,0,[xp,T0])),AN(zH(t,e))>1)||(r=is(C0,he(le(Ko,1),it,95,0,[Sg,qf])),AN(zH(r,e))>1))}function nke(e,t,n){var r,s,o;for(o=new K(e.t);o.a<o.c.c.length;)r=l(re(o),274),r.b.s<0&&r.c>0&&(r.b.n-=r.c,r.b.n<=0&&r.b.u>0&&ci(t,r.b));for(s=new K(e.i);s.a<s.c.c.length;)r=l(re(s),274),r.a.s<0&&r.c>0&&(r.a.u-=r.c,r.a.u<=0&&r.a.n>0&&ci(n,r.a))}function IV(e){var t,n,r,s,o;if(e.g==null&&(e.d=e.bj(e.f),zr(e,e.d),e.c))return o=e.f,o;if(t=l(e.g[e.i-1],51),s=t.Pb(),e.e=t,n=e.bj(s),n.Ob())e.d=n,zr(e,n);else for(e.d=null;!t.Ob()&&(Ss(e.g,--e.i,null),e.i!=0);)r=l(e.g[e.i-1],51),t=r;return s}function WEn(e,t){var n,r,s,o,f,g;if(r=t,s=r.Lk(),dp(e.e,s)){if(s.Si()&&YH(e,s,r.md()))return!1}else for(g=Wu(e.e.Dh(),s),n=l(e.g,124),o=0;o<e.i;++o)if(f=n[o],g.am(f.Lk()))return Fi(f,r)?!1:(l(i6(e,o,t),76),!0);return zr(e,t)}function YEn(e,t,n,r){var s,o,f,g;for(s=new hp(e),x(s,(Jn(),uu)),rt(s,(ft(),zi),t),rt(s,YL,r),rt(s,(Nt(),Ds),(Pa(),Au)),rt(s,a1,t.c),rt(s,$f,t.d),Xbt(t,s),g=b.Math.floor(n/2),f=new K(s.j);f.a<f.c.c.length;)o=l(re(f),12),o.n.b=g;return s}function Tbt(e){var t,n,r,s,o,f,g;for(t=0,r=new K(e.a);r.a<r.c.c.length;)for(n=l(re(r),10),o=new lr(fr(qs(n).a.Kc(),new j));Rr(o);)s=l(yr(o),18),e==s.d.i.c&&s.c.j==(_t(),Zn)&&(f=I1(s.c).b,g=I1(s.d).b,t=b.Math.max(t,b.Math.abs(g-f)));return t}function Ebt(e,t,n){var r,s,o,f,g;for(n.Ug("ELK Force",1),Ft(Pt(at(t,(p0(),wAe))))||tN((r=new nw((dw(),new sw(t))),r)),g=j0t(t),p8n(g),Fyn(e,l(Q(g,vAe),432)),f=bvt(e.a,g),o=f.Kc();o.Ob();)s=l(o.Pb(),235),$An(e.b,s,n.eh(1/f.gc()));g=Mwt(f),$wt(g),n.Vg()}function rke(e,t,n){switch(n.g){case 1:return new lt(t.a,b.Math.min(e.d.b,t.b));case 2:return new lt(b.Math.max(e.c.a,t.a),t.b);case 3:return new lt(t.a,b.Math.max(e.c.b,t.b));case 4:return new lt(b.Math.min(t.a,e.d.a),t.b)}return new lt(t.a,t.b)}function dP(e){var t,n,r;for(t=rg(1+(!e.c&&(e.c=new nt($l,e,9,9)),e.c).i),wt(t,(!e.d&&(e.d=new An(js,e,8,5)),e.d)),r=new ar((!e.c&&(e.c=new nt($l,e,9,9)),e.c));r.e!=r.i.gc();)n=l(dr(r),123),wt(t,(!n.d&&(n.d=new An(js,n,8,5)),n.d));return Xr(t),new B_(t)}function fp(e){var t,n,r;for(t=rg(1+(!e.c&&(e.c=new nt($l,e,9,9)),e.c).i),wt(t,(!e.e&&(e.e=new An(js,e,7,4)),e.e)),r=new ar((!e.c&&(e.c=new nt($l,e,9,9)),e.c));r.e!=r.i.gc();)n=l(dr(r),123),wt(t,(!n.e&&(n.e=new An(js,n,7,4)),n.e));return Xr(t),new B_(t)}function XEn(e){var t,n,r,s;if(e==null)return null;if(r=ku(e,!0),s=cB.length,wn(r.substr(r.length-s,s),cB)){if(n=r.length,n==4){if(t=(Yn(0,r.length),r.charCodeAt(0)),t==43)return lBe;if(t==45)return WAt}else if(n==3)return lBe}return qy(r)}function QEn(e,t){var n,r,s,o,f;if(t.Ug("Breaking Point Processor",1),NDn(e),Ft(Pt(Q(e,(Nt(),_De))))){for(s=new K(e.b);s.a<s.c.c.length;)for(r=l(re(s),30),n=0,f=new K(r.a);f.a<f.c.c.length;)o=l(re(f),10),o.p=n++;LLn(e),qbt(e,!0),qbt(e,!1)}t.Vg()}function JEn(e,t,n,r){var s,o,f,g,w,T,C,L,F;for(L=r?(_t(),Zn):(_t(),sr),s=!1,w=t[n],T=0,C=w.length;T<C;++T)g=w[T],!G8(l(Q(g,(Nt(),Ds)),101))&&(f=g.e,F=!Fc(g,L).dc()&&!!f,F&&(o=Xxe(f),e.b=new Jxe(o,r?0:o.length-1)),s=s|jSn(e,g,L,F));return s}function Cbt(e,t,n,r){var s,o,f;if(f=$xe(t,n),qn(r.c,t),e.j[f.p]==-1||e.j[f.p]==2||e.a[t.p])return r;for(e.j[f.p]=-1,o=new lr(fr(up(f).a.Kc(),new j));Rr(o);)if(s=l(yr(o),18),!(!(!Ao(s)&&!(!Ao(s)&&s.c.i.c==s.d.i.c))||s==t))return Cbt(e,s,f,r);return r}function ZEn(e){var t,n,r,s;for(t=0,n=0,s=new K(e.j);s.a<s.c.c.length;)if(r=l(re(s),12),t=Yr(fo(t,plt(ji(new vn(null,new kn(r.e,16)),new a8)))),n=Yr(fo(n,plt(ji(new vn(null,new kn(r.g,16)),new i$)))),t>1||n>1)return 2;return t+n==1?2:0}function Yl(e,t){var n,r,s,o,f,g;return o=e.a*Che+e.b*1502,g=e.b*Che+11,n=b.Math.floor(g*RP),o+=n,g-=n*STe,o%=STe,e.a=o,e.b=g,t<=24?b.Math.floor(e.a*P_e[t]):(s=e.a*(1<<t-24),f=b.Math.floor(e.b*B_e[t]),r=s+f,r>=2147483648&&(r-=4294967296),r)}function Sbt(e,t,n){var r,s,o,f,g,w,T;for(o=new mt,T=new os,f=new os,bLn(e,T,f,t),WMn(e,T,f,t,n),w=new K(e);w.a<w.c.c.length;)for(g=l(re(w),118),s=new K(g.k);s.a<s.c.c.length;)r=l(re(s),132),(!t||r.c==(Q0(),Qb))&&g.g>r.b.g&&qn(o.c,r);return o}function eCn(e,t,n){var r,s,o,f,g,w;for(g=e.c,f=(n.q?n.q:(Cn(),Cn(),yg)).vc().Kc();f.Ob();)o=l(f.Pb(),44),r=!Lk(ji(new vn(null,new kn(g,16)),new Vl(new Btt(t,o)))).Bd((Bm(),qx)),r&&(w=o.md(),De(w,4)&&(s=oxe(w),s!=null&&(w=s)),t.qf(l(o.ld(),149),w))}function tCn(e,t,n){var r,s;if(XO(e.b),Y0(e.b,(HN(),tY),(m_(),XB)),Y0(e.b,nY,t.g),Y0(e.b,rY,t.a),e.a=EP(e.b,t),n.Ug("Compaction by shrinking a tree",e.a.c.length),t.i.c.length>1)for(s=new K(e.a);s.a<s.c.c.length;)r=l(re(s),47),r.Kf(t,n.eh(1));n.Vg()}function ike(e,t,n){var r,s,o;if(o=b6((kl(),no),e.Dh(),t),o){if(Ro(),!l(o,69).xk()&&(o=ix(ac(no,o)),!o))throw ue(new Wn(qb+t.xe()+TL));s=(r=e.Ih(o),l(r>=0?e.Lh(r,!0,!0):Xw(e,o,!0),160)),l(s,220).Xl(t,n)}else throw ue(new Wn(qb+t.xe()+TL))}function OV(e,t){var n,r,s,o,f;if(t){for(o=De(e.Cb,90)||De(e.Cb,102),f=!o&&De(e.Cb,331),r=new ar((!t.a&&(t.a=new K_(t,Wo,t)),t.a));r.e!=r.i.gc();)if(n=l(dr(r),89),s=GV(n),o?De(s,90):f?De(s,156):s)return s;return o?(En(),Kf):(En(),td)}else return null}function nCn(e,t){var n,r,s,o;for(t.Ug("Resize child graph to fit parent.",1),r=new K(e.b);r.a<r.c.c.length;)n=l(re(r),30),aa(e.a,n.a),n.a.c.length=0;for(o=new K(e.a);o.a<o.c.c.length;)s=l(re(o),10),Ha(s,null);e.b.c.length=0,kSn(e),e.e&&wAn(e.e,e),t.Vg()}function rCn(e,t){var n,r,s,o,f;for(t.Ug("Edge joining",1),n=Ft(Pt(Q(e,(Nt(),Ede)))),s=new K(e.b);s.a<s.c.c.length;)for(r=l(re(s),30),f=new Ua(r.a,0);f.b<f.d.gc();)o=(br(f.b<f.d.gc()),l(f.d.Xb(f.c=f.b++),10)),o.k==(Jn(),Aa)&&(jle(o,n),fh(f));t.Vg()}function iCn(e,t){var n,r,s,o,f;for(n=new mt,s=Pc(new vn(null,new kn(e,16)),new Pte),o=Pc(new vn(null,new kn(e,16)),new Bte),f=gwn(Ivn(Ey(FCn(he(le(BOn,1),jn,848,0,[s,o])),new Fte))),r=1;r<f.length;r++)f[r]-f[r-1]>=2*t&&wt(n,new Iae(f[r-1]+t,f[r]-t));return n}function sCn(e,t,n){var r,s,o,f,g,w,T,C;if(n)for(o=n.a.length,r=new jm(o),g=(r.b-r.a)*r.c<0?(gb(),lm):new mb(r);g.Ob();)f=l(g.Pb(),17),s=eT(n,f.a),s&&(w=Pmn(e,(T=(fb(),C=new r3e,C),t&&ske(T,t),T),s),gT(w,Zg(s,Pd)),EV(s,w),L9e(s,w),Oce(e,s,w))}function NV(e){var t,n,r,s,o,f;if(!e.j){if(f=new OS,t=HM,o=t.a.zc(e,t),o==null){for(r=new ar(pc(e));r.e!=r.i.gc();)n=l(dr(r),29),s=NV(n),Ls(f,s),zr(f,n);t.a.Bc(e)!=null}Py(f),e.j=new B5((l(Oe(tt((wb(),Un).o),11),19),f.i),f.g),Gl(e).b&=-33}return e.j}function aCn(e){var t,n,r,s;if(e==null)return null;if(r=ku(e,!0),s=cB.length,wn(r.substr(r.length-s,s),cB)){if(n=r.length,n==4){if(t=(Yn(0,r.length),r.charCodeAt(0)),t==43)return hBe;if(t==45)return YAt}else if(n==3)return hBe}return new Gwe(r)}function oCn(e){var t,n,r;return n=e.l,n&n-1||(r=e.m,r&r-1)||(t=e.h,t&t-1)||t==0&&r==0&&n==0?-1:t==0&&r==0&&n!=0?k7e(n):t==0&&r!=0&&n==0?k7e(r)+22:t!=0&&r==0&&n==0?k7e(t)+44:-1}function h6(e,t){var n,r,s,o,f;for(s=t.a&e.f,o=null,r=e.b[s];;r=r.b){if(r==t){o?o.b=t.b:e.b[s]=t.b;break}o=r}for(f=t.f&e.f,o=null,n=e.c[f];;n=n.d){if(n==t){o?o.d=t.d:e.c[f]=t.d;break}o=n}t.e?t.e.c=t.c:e.a=t.c,t.c?t.c.e=t.e:e.e=t.e,--e.i,++e.g}function cCn(e,t){var n;t.d?t.d.b=t.b:e.a=t.b,t.b?t.b.d=t.d:e.e=t.d,!t.e&&!t.c?(n=l(Lf(l(ox(e.b,t.a),260)),260),n.a=0,++e.c):(n=l(Lf(l(or(e.b,t.a),260)),260),--n.a,t.e?t.e.c=t.c:n.b=l(Lf(t.c),511),t.c?t.c.e=t.e:n.c=l(Lf(t.e),511)),--e.d}function uCn(e){var t,n,r,s,o,f,g,w,T,C;for(n=e.o,t=e.p,f=Ni,s=ao,g=Ni,o=ao,T=0;T<n;++T)for(C=0;C<t;++C)s6(e,T,C)&&(f=b.Math.min(f,T),s=b.Math.max(s,T),g=b.Math.min(g,C),o=b.Math.max(o,C));return w=s-f+1,r=o-g+1,new not(bt(f),bt(g),bt(w),bt(r))}function ule(e,t){var n,r,s,o;for(o=new Ua(e,0),n=(br(o.b<o.d.gc()),l(o.d.Xb(o.c=o.b++),148));o.b<o.d.gc();)r=(br(o.b<o.d.gc()),l(o.d.Xb(o.c=o.b++),148)),s=new K4e(r.c,n.d,t),br(o.b>0),o.a.Xb(o.c=--o.b),wy(o,s),br(o.b<o.d.gc()),o.d.Xb(o.c=o.b++),s.a=!1,n=r}function _bt(e){var t,n,r,s,o,f;for(s=l(Q(e,(ft(),lW)),12),f=new K(e.j);f.a<f.c.c.length;){for(o=l(re(f),12),r=new K(o.g);r.a<r.c.c.length;)return t=l(re(r),18),Na(t,s),o;for(n=new K(o.e);n.a<n.c.c.length;)return t=l(re(n),18),ho(t,s),o}return null}function Abt(e,t,n){var r,s,o,f,g,w;for(w=l(by(e.a,t),17).a,n?Qxe(e.a,bt(w+1),t):Qxe(e.a,bt(w-1),t),f=new bd,s=new lr(fr((n?qs(t):Ea(t)).a.Kc(),new j));Rr(s);)r=l(yr(s),18),n?o=r.d.i:o=r.c.i,qe(by(e.a,o))===qe(by(e.a,t))&&(g=f.a.zc(o,f),g==null);return f}function lCn(e,t,n){var r,s;r=tu(n.q.getTime()),su(r,0)<0?(s=C2-Yr(GN(f2(r),C2)),s==C2&&(s=0)):s=Yr(GN(r,C2)),t==1?(s=b.Math.min((s+50)/100|0,9),yb(e,48+s&ta)):t==2?(s=b.Math.min((s+5)/10|0,99),ug(e,s,2)):(ug(e,s,3),t>3&&ug(e,0,t-3))}function hCn(e){var t,n,r,s;return qe(Q(e,(Nt(),v4)))===qe((op(),F2))?!e.e&&qe(Q(e,IB))!==qe((yT(),SB)):(r=l(Q(e,dde),299),s=Ft(Pt(Q(e,gde)))||qe(Q(e,ZL))===qe((gA(),CB)),t=l(Q(e,UMe),17).a,n=e.a.c.length,!s&&r!=(yT(),SB)&&(t==0||t>n))}function fCn(e){var t,n;for(n=0;n<e.c.length&&!(yst((Sn(n,e.c.length),l(e.c[n],113)))>0);n++);if(n>0&&n<e.c.length-1)return n;for(t=0;t<e.c.length&&!(yst((Sn(t,e.c.length),l(e.c[t],113)))>0);t++);return t>0&&n<e.c.length-1?t:e.c.length/2|0}function Lbt(e,t){var n,r;if(t!=e.Cb||e.Db>>16!=6&&t){if(jT(e,t))throw ue(new Wn(EL+H2t(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?Axe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=vx(t,e,6,r)),r=f4e(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,6,t,t))}function PV(e,t){var n,r;if(t!=e.Cb||e.Db>>16!=3&&t){if(jT(e,t))throw ue(new Wn(EL+Mvt(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?Ixe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=vx(t,e,12,r)),r=d4e(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,3,t,t))}function ske(e,t){var n,r;if(t!=e.Cb||e.Db>>16!=9&&t){if(jT(e,t))throw ue(new Wn(EL+Amt(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?Mxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=vx(t,e,9,r)),r=g4e(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,9,t,t))}function KT(e){var t,n,r,s,o;if(r=Of(e),o=e.j,o==null&&r)return e.Jk()?null:r.ik();if(De(r,156)){if(n=r.jk(),n&&(s=n.wi(),s!=e.i)){if(t=l(r,156),t.nk())try{e.g=s.ti(t,o)}catch(f){if(f=ms(f),De(f,82))e.g=null;else throw ue(f)}e.i=s}return e.g}return null}function Mbt(e){var t;return t=new mt,wt(t,new F8(new lt(e.c,e.d),new lt(e.c+e.b,e.d))),wt(t,new F8(new lt(e.c,e.d),new lt(e.c,e.d+e.a))),wt(t,new F8(new lt(e.c+e.b,e.d+e.a),new lt(e.c+e.b,e.d))),wt(t,new F8(new lt(e.c+e.b,e.d+e.a),new lt(e.c,e.d+e.a))),t}function dCn(e){var t,n,r;if(e==null)return cl;try{return Tc(e)}catch(s){if(s=ms(s),De(s,103))return t=s,r=Pm(dh(e))+"@"+(n=(Wg(),axe(e)>>>0),n.toString(16)),_6n(fyn(),(Ok(),"Exception during lenientFormat for "+r),t),"<"+r+" threw "+Pm(t.Rm)+">";throw ue(s)}}function gCn(e,t,n){var r,s,o;for(o=t.a.ec().Kc();o.Ob();)s=l(o.Pb(),74),r=l(or(e.b,s),272),!r&&(ds(hg(s))==ds(Ib(s))?tSn(e,s,n):hg(s)==ds(Ib(s))?or(e.c,s)==null&&or(e.b,Ib(s))!=null&&cwt(e,s,n,!1):or(e.d,s)==null&&or(e.b,hg(s))!=null&&cwt(e,s,n,!0))}function pCn(e,t){var n,r,s,o,f,g,w;for(s=e.Kc();s.Ob();)for(r=l(s.Pb(),10),g=new du,Nc(g,r),ga(g,(_t(),sr)),rt(g,(ft(),gW),(Hn(),!0)),f=t.Kc();f.Ob();)o=l(f.Pb(),10),w=new du,Nc(w,o),ga(w,Zn),rt(w,gW,!0),n=new Dw,rt(n,gW,!0),ho(n,g),Na(n,w)}function bCn(e,t,n,r){var s,o,f,g;s=gdt(e,t,n),o=gdt(e,n,t),f=l(or(e.c,t),118),g=l(or(e.c,n),118),s<o?new Hm((Q0(),S4),f,g,o-s):o<s?new Hm((Q0(),S4),g,f,s-o):(s!=0||!(!t.i||!n.i)&&r[t.i.c][n.i.c])&&(new Hm((Q0(),S4),f,g,0),new Hm(S4,g,f,0))}function Dbt(e,t){var n,r,s,o,f,g,w;for(s=0,f=new K(t.a);f.a<f.c.c.length;)for(o=l(re(f),10),s+=o.o.b+o.d.a+o.d.d+e.e,r=new lr(fr(Ea(o).a.Kc(),new j));Rr(r);)n=l(yr(r),18),n.c.i.k==(Jn(),Su)&&(w=n.c.i,g=l(Q(w,(ft(),zi)),10),s+=g.o.b+g.d.a+g.d.d);return s}function VA(){VA=U,Z6=new kO("CANDIDATE_POSITION_LAST_PLACED_RIGHT",0),t9=new kO("CANDIDATE_POSITION_LAST_PLACED_BELOW",1),kM=new kO("CANDIDATE_POSITION_WHOLE_DRAWING_RIGHT",2),xM=new kO("CANDIDATE_POSITION_WHOLE_DRAWING_BELOW",3),YB=new kO("WHOLE_DRAWING",4)}function mCn(e,t){if(De(t,207))return z4n(e,l(t,27));if(De(t,193))return W4n(e,l(t,123));if(De(t,366))return Rpn(e,l(t,135));if(De(t,326))return tLn(e,l(t,74));if(t)return null;throw ue(new Wn(BSe+Ob(new Ll(he(le(ka,1),jn,1,5,[t])))))}function vCn(e){var t,n,r,s,o,f,g;for(o=new os,s=new K(e.d.a);s.a<s.c.c.length;)r=l(re(s),125),r.b.a.c.length==0&&_s(o,r,o.c.b,o.c);if(o.b>1)for(t=vw((n=new Nm,++e.b,n),e.d),g=Fr(o,0);g.b!=g.d.c;)f=l(Pr(g),125),g0(i0(r0(s0(n0(new _f,1),0),t),f))}function wCn(e,t,n){var r,s,o,f,g;for(n.Ug("Breaking Point Removing",1),e.a=l(Q(t,(Nt(),yp)),223),o=new K(t.b);o.a<o.c.c.length;)for(s=l(re(o),30),g=new K(Nw(s.a));g.a<g.c.c.length;)f=l(re(g),10),Nht(f)&&(r=l(Q(f,(ft(),p3)),313),!r.d&&xwt(e,r));n.Vg()}function BV(e,t){var n,r;if(t!=e.Cb||e.Db>>16!=11&&t){if(jT(e,t))throw ue(new Wn(EL+Cke(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?Oxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=vx(t,e,10,r)),r=T4e(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,11,t,t))}function yCn(e){var t,n,r,s;for(r=new Xm(new Cr(e.b).a);r.b;)n=zw(r),s=l(n.ld(),12),t=l(n.md(),10),rt(t,(ft(),zi),s),rt(s,Bl,t),rt(s,LB,(Hn(),!0)),ga(s,l(Q(t,Xc),64)),Q(t,Xc),rt(s.i,(Nt(),Ds),(Pa(),oC)),l(Q(Ja(s.i),_u),21).Fc((Ho(),qE))}function xCn(e,t,n){var r,s,o,f,g,w;if(o=0,f=0,e.c)for(w=new K(e.d.i.j);w.a<w.c.c.length;)g=l(re(w),12),o+=g.e.c.length;else o=1;if(e.d)for(w=new K(e.c.i.j);w.a<w.c.c.length;)g=l(re(w),12),f+=g.g.c.length;else f=1;return s=da(GO(f-o)),r=(n+t)/2+(n-t)*(.4*s),r}function kCn(e){zy();var t,n;if(e.Hc((_t(),jc)))throw ue(new Wn("Port sides must not contain UNDEFINED"));switch(e.gc()){case 1:return EB;case 2:return t=e.Hc(sr)&&e.Hc(Zn),n=e.Hc(Xn)&&e.Hc(Mr),t||n?tW:eW;case 3:return ZK;case 4:return JK;default:return null}}function lle(e,t,n){return d6(),bT(e,t)&&bT(e,n)?!1:zle(new lt(e.c,e.d),new lt(e.c+e.b,e.d),t,n)||zle(new lt(e.c+e.b,e.d),new lt(e.c+e.b,e.d+e.a),t,n)||zle(new lt(e.c+e.b,e.d+e.a),new lt(e.c,e.d+e.a),t,n)||zle(new lt(e.c,e.d+e.a),new lt(e.c,e.d),t,n)}function ake(e,t){var n,r,s,o;if(!e.dc()){for(n=0,r=e.gc();n<r;++n)if(o=Zr(e.Xb(n)),o==null?t==null:wn(o.substr(0,3),"!##")?t!=null&&(s=t.length,!wn(o.substr(o.length-s,s),t)||o.length!=t.length+3)&&!wn(bv,t):wn(o,k0e)&&!wn(bv,t)||wn(o,t))return!0}return!1}function TCn(e,t,n,r){var s,o,f,g,w,T;for(f=e.j.c.length,w=We(jOn,FTe,314,f,0,1),g=0;g<f;g++)o=l(Rt(e.j,g),12),o.p=g,w[g]=NTn(tbt(o),n,r);for(WCn(e,w,n,t,r),T=new Nr,s=0;s<w.length;s++)w[s]&&Ti(T,l(Rt(e.j,s),12),w[s]);T.f.c+T.i.c!=0&&(rt(e,(ft(),WL),T),W9n(e,w))}function ECn(e,t){var n,r,s,o,f,g;for(t.Ug("Partition postprocessing",1),r=new K(e.b);r.a<r.c.c.length;)for(n=l(re(r),30),o=new K(n.a);o.a<o.c.c.length;)for(s=l(re(o),10),g=new K(s.j);g.a<g.c.c.length;)f=l(re(g),12),Ft(Pt(Q(f,(ft(),gW))))&&J_(g);t.Vg()}function CCn(e,t,n){var r,s,o;for(s=new K(e.a.b);s.a<s.c.c.length;)if(r=l(re(s),60),o=W5(r),o&&o.k==(Jn(),Ks))switch(l(Q(o,(ft(),Xc)),64).g){case 4:o.n.a=t.a;break;case 2:o.n.a=n.a-(o.o.a+o.d.c);break;case 1:o.n.b=t.b;break;case 3:o.n.b=n.b-(o.o.b+o.d.a)}}function SCn(e,t,n){var r,s,o;for(n.Ug("Processor determine the height for each level",1),e.a=t.b.b==0?1:t.b.b,s=null,r=Fr(t.b,0);!s&&r.b!=r.d.c;)o=l(Pr(r),40),Ft(Pt(Q(o,(Zi(),Zb))))&&(s=o);s&&yvt(e,O1(he(le(qW,1),jG,40,0,[s])),n,l(Q(t,(Vc(),_3)),88)),n.Vg()}function _Cn(e){var t,n,r,s,o,f;for(r=(fb(),o=new o_,o),gP(r,e),n=new ar((!e.a&&(e.a=new nt(Li,e,10,11)),e.a));n.e!=n.i.gc();)t=l(dr(n),27),f=(s=new o_,s),BV(f,r),j5(f,t.g,t.f),gT(f,t.k),Xh(f,t.i,t.j),zr((!r.a&&(r.a=new nt(Li,r,10,11)),r.a),f),gP(f,t);return r}function ACn(e,t,n){var r,s,o,f,g;return s=l(at(t,(SV(),mNe)),17),!s&&(s=bt(0)),o=l(at(n,mNe),17),!o&&(o=bt(0)),s.a>o.a?-1:s.a<o.a?1:e.a&&(r=Xi(t.j,n.j),r!=0||(r=Xi(t.i,n.i),r!=0))?r:(f=t.g*t.f,g=n.g*n.f,Xi(f,g))}function LCn(e,t){var n,r,s,o,f,g,w,T,C,L;if(++e.e,w=e.d==null?0:e.d.length,t>w){for(C=e.d,e.d=We(BPe,VSe,66,2*w+4,0,1),o=0;o<w;++o)if(T=C[o],T)for(r=T.g,L=T.i,g=0;g<L;++g)s=l(r[g],136),f=p4e(e,s.Bi()),n=e.d[f],!n&&(n=e.d[f]=e.dk()),n.Fc(s);return!0}else return!1}function MCn(e,t,n){var r,s,o,f,g,w;if(s=n,o=s.Lk(),dp(e.e,o)){if(o.Si()){for(r=l(e.g,124),f=0;f<e.i;++f)if(g=r[f],Fi(g,s)&&f!=t)throw ue(new Wn(nB))}}else for(w=Wu(e.e.Dh(),o),r=l(e.g,124),f=0;f<e.i;++f)if(g=r[f],w.am(g.Lk()))throw ue(new Wn(oB));AA(e,t,n)}function Ibt(e,t){var n,r,s,o,f,g;for(n=l(Q(t,(ft(),wp)),21),f=l($i((Ule(),Qi),n),21),g=l($i(mi,n),21),o=f.Kc();o.Ob();)if(r=l(o.Pb(),21),!l($i(e.b,r),15).dc())return!1;for(s=g.Kc();s.Ob();)if(r=l(s.Pb(),21),!l($i(e.b,r),15).dc())return!1;return!0}function oke(e,t){var n,r,s,o,f,g,w,T,C;if(e.a.c.length==1)return Ppt(l(Rt(e.a,0),172),t);for(f=S4n(e),w=0,T=e.d,o=f,C=e.d,g=(T-o)/2+o;o+1<T;){for(w=0,r=new K(e.a);r.a<r.c.c.length;)n=l(re(r),172),w+=(s=eL(n,g,!1),s.a);w<t?(C=g,T=g):o=g,g=(T-o)/2+o}return C}function gP(e,t){var n,r,s,o,f;if(!t)return e;if(De(t,342))for(s=l(t,342),o=(!e.o&&(e.o=new yl((au(),Ag),R2,e,0)),e.o),r=s.gh().c.Kc();r.e!=r.i.gc();)n=l(r.Yj(),44),f=n.md(),eP(o,l(n.ld(),149),f);else!e.o&&(e.o=new yl((au(),Ag),R2,e,0)),$ft(e.o,t.nf());return e}function DCn(e){var t,n,r,s,o;return isNaN(e)?(aT(),g_e):e<-9223372036854776e3?(aT(),U6t):e>=9223372036854776e3?(aT(),f_e):(s=!1,e<0&&(s=!0,e=-e),r=0,e>=ov&&(r=da(e/ov),e-=r*ov),n=0,e>=Mx&&(n=da(e/Mx),e-=n*Mx),t=da(e),o=qu(t,n,r),s&&Nce(o),o)}function ICn(e){var t,n,r,s,o;if(o=new mt,Uu(e.b,new tg(o)),e.b.c.length=0,o.c.length!=0){for(t=(Sn(0,o.c.length),l(o.c[0],82)),n=1,r=o.c.length;n<r;++n)s=(Sn(n,o.c.length),l(o.c[n],82)),s!=t&&i9n(t,s);if(De(t,63))throw ue(l(t,63));if(De(t,296))throw ue(l(t,296))}}function OCn(e,t){var n,r,s,o;for(n=!t||!e.u.Hc((Pl(),kp)),o=0,s=new K(e.e.Xf());s.a<s.c.c.length;){if(r=l(re(s),852),r.ag()==(_t(),jc))throw ue(new Wn("Label and node size calculator can only be used with ports that have port sides assigned."));r.Qf(o++),x4n(e,r,n)}}function cke(e){var t,n,r,s,o;for(n=new K(e.a.a);n.a<n.c.c.length;){for(t=l(re(n),316),t.j=null,o=t.a.a.ec().Kc();o.Ob();)r=l(o.Pb(),60),W0(r.b),(!t.j||r.d.c<t.j.d.c)&&(t.j=r);for(s=t.a.a.ec().Kc();s.Ob();)r=l(s.Pb(),60),r.b.a=r.d.c-t.j.d.c,r.b.b=r.d.d-t.j.d.d}return e}function FV(e){var t,n,r,s,o;for(n=new K(e.a.a);n.a<n.c.c.length;){for(t=l(re(n),194),t.f=null,o=t.a.a.ec().Kc();o.Ob();)r=l(o.Pb(),86),W0(r.e),(!t.f||r.g.c<t.f.g.c)&&(t.f=r);for(s=t.a.a.ec().Kc();s.Ob();)r=l(s.Pb(),86),r.e.a=r.g.c-t.f.g.c,r.e.b=r.g.d-t.f.g.d}return e}function NCn(e){var t,n,r;return n=l(e.a,17).a,r=l(e.b,17).a,t=b.Math.max(b.Math.abs(n),b.Math.abs(r)),n<t&&r==-t?new fa(bt(n+1),bt(r)):n==t&&r<t?new fa(bt(n),bt(r+1)):n>=-t&&r==t?new fa(bt(n-1),bt(r)):new fa(bt(n),bt(r-1))}function Obt(){return po(),he(le(UOn,1),it,81,0,[ZAe,XAe,O6,S1e,vLe,RK,WK,d4,bLe,oLe,gLe,f4,mLe,iLe,wLe,UAe,qK,_1e,BK,VK,xLe,UK,VAe,pLe,kLe,GK,yLe,FK,tLe,fLe,hLe,YK,WAe,PK,$K,KAe,DE,uLe,sLe,dLe,qL,QAe,YAe,lLe,aLe,zK,KK,GAe,HK,cLe,jK,nLe,eLe,kB,NK,rLe,JAe])}function PCn(e,t,n){e.d=0,e.b=0,t.k==(Jn(),Su)&&n.k==Su&&l(Q(t,(ft(),zi)),10)==l(Q(n,zi),10)&&(ece(t).j==(_t(),Xn)?ybt(e,t,n):ybt(e,n,t)),t.k==Su&&n.k==Aa?ece(t).j==(_t(),Xn)?e.d=1:e.b=1:n.k==Su&&t.k==Aa&&(ece(n).j==(_t(),Xn)?e.b=1:e.d=1),w7n(e,t,n)}function BCn(e){var t,n,r,s,o,f,g,w,T,C,L;return L=r9e(e),t=e.a,w=t!=null,w&&Hk(L,"category",e.a),s=oO(new pr(e.d)),f=!s,f&&(T=new Yp,Z0(L,"knownOptions",T),n=new FQe(T),Za(new pr(e.d),n)),o=oO(e.g),g=!o,g&&(C=new Yp,Z0(L,"supportedFeatures",C),r=new RQe(C),Za(e.g,r)),L}function FCn(e){var t,n,r,s,o,f,g,w,T;for(r=!1,t=336,n=0,o=new kit(e.length),g=e,w=0,T=g.length;w<T;++w)f=g[w],r=r|(Mb(f),!1),s=(xb(f),f.a),wt(o.a,Xr(s)),t&=s.yd(),n=t4n(n,s.zd());return l(l(mat(new vn(null,Gue(new kn((Sw(),Z8e(o.a)),16),new ge,t,n)),new Iz(e)),687),848)}function RCn(e,t){var n;e.d&&(t.c!=e.e.c||A3n(e.e.b,t.b))&&(wt(e.f,e.d),e.a=e.d.c+e.d.b,e.d=null,e.e=null),Zln(t.b)?e.c=t:e.b=t,(t.b==(xT(),f3)&&!t.a||t.b==u4&&t.a||t.b==I6&&t.a||t.b==l4&&!t.a)&&e.c&&e.b&&(n=new Zh(e.a,e.c.d,t.c-e.a,e.b.d-e.c.d),e.d=n,e.e=t)}function GA(e){var t;if(KJe.call(this),this.i=new AI,this.g=e,this.f=l(e.e&&e.e(),9).length,this.f==0)throw ue(new Wn("There must be at least one phase in the phase enumeration."));this.c=(t=l(G0(this.g),9),new Jh(t,l(o0(t,t.length),9),0)),this.a=new Js,this.b=new Nr}function uke(e,t){var n,r;if(t!=e.Cb||e.Db>>16!=7&&t){if(jT(e,t))throw ue(new Wn(EL+$pt(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?Lxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=l(t,54).Rh(e,1,pF,r)),r=b5e(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,7,t,t))}function Nbt(e,t){var n,r;if(t!=e.Cb||e.Db>>16!=3&&t){if(jT(e,t))throw ue(new Wn(EL+R1t(e)));r=null,e.Cb&&(r=(n=e.Db>>16,n>=0?Dxe(e,r):e.Cb.Th(e,-1-n,null,r))),t&&(r=l(t,54).Rh(e,0,mF,r)),r=m5e(e,t,r),r&&r.oj()}else e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,3,t,t))}function hle(e,t){WT();var n,r,s,o,f,g,w,T,C;return t.d>e.d&&(g=e,e=t,t=g),t.d<63?CSn(e,t):(f=(e.d&-2)<<4,T=B6e(e,f),C=B6e(t,f),r=Dle(e,ax(T,f)),s=Dle(t,ax(C,f)),w=hle(T,C),n=hle(r,s),o=hle(Dle(T,r),Dle(s,C)),o=Rle(Rle(o,w),n),o=ax(o,f),w=ax(w,f<<1),Rle(Rle(w,o),n))}function E2(){E2=U,Ade=new I5(Ryt,0),MDe=new I5("LONGEST_PATH",1),DDe=new I5("LONGEST_PATH_SOURCE",2),_de=new I5("COFFMAN_GRAHAM",3),LDe=new I5(efe,4),IDe=new I5("STRETCH_WIDTH",5),IW=new I5("MIN_WIDTH",6),XE=new I5("BF_MODEL_ORDER",7),QE=new I5("DF_MODEL_ORDER",8)}function jCn(e,t,n){var r,s,o,f,g;for(f=CA(e,n),g=We(kg,S2,10,t.length,0,1),r=0,o=f.Kc();o.Ob();)s=l(o.Pb(),12),Ft(Pt(Q(s,(ft(),LB))))&&(g[r++]=l(Q(s,Bl),10));if(r<t.length)throw ue(new ic("Expected "+t.length+" hierarchical ports, but found only "+r+"."));return g}function $Cn(e,t){var n,r,s,o,f,g;if(!e.tb){for(o=(!e.rb&&(e.rb=new ky(e,u1,e)),e.rb),g=new P8(o.i),s=new ar(o);s.e!=s.i.gc();)r=l(dr(s),142),f=r.xe(),n=l(f==null?Ru(g.f,null,r):Hw(g.i,f,r),142),n&&(f==null?Ru(g.f,null,n):Hw(g.i,f,n));e.tb=g}return l(wu(e.tb,t),142)}function pP(e,t){var n,r,s,o,f;if((e.i==null&&Sd(e),e.i).length,!e.p){for(f=new P8((3*e.g.i/2|0)+1),s=new U8(e.g);s.e!=s.i.gc();)r=l(mue(s),179),o=r.xe(),n=l(o==null?Ru(f.f,null,r):Hw(f.i,o,r),179),n&&(o==null?Ru(f.f,null,n):Hw(f.i,o,n));e.p=f}return l(wu(e.p,t),179)}function lke(e,t,n,r,s){var o,f,g,w,T;for(g6n(r+RH(n,n.ie()),s),Mat(t,N5n(n)),o=n.f,o&&lke(e,t,o,"Caused by: ",!1),g=(n.k==null&&(n.k=We(R0e,dt,82,0,0,1)),n.k),w=0,T=g.length;w<T;++w)f=g[w],lke(e,t,f,"Suppressed: ",!1);console.groupEnd!=null&&console.groupEnd.call(console)}function bP(e,t,n,r){var s,o,f,g,w;for(w=t.e,g=w.length,f=t.q.ug(w,n?0:g-1,n),s=w[n?0:g-1],f=f|xmt(e,s,n,r),o=n?1:g-2;n?o<g:o>=0;o+=n?1:-1)f=f|t.c.lg(w,o,n,r&&!Ft(Pt(Q(t.j,(ft(),Wb))))&&!Ft(Pt(Q(t.j,(ft(),z6))))),f=f|t.q.ug(w,o,n),f=f|xmt(e,w[o],n,r);return sa(e.c,t),f}function RV(e,t,n){var r,s,o,f,g,w,T,C,L,F;for(C=eut(e.j),L=0,F=C.length;L<F;++L){if(T=C[L],n==(qo(),Fl)||n==aM)for(w=kd(T.g),s=w,o=0,f=s.length;o<f;++o)r=s[o],K9n(t,r)&&Jw(r,!0);if(n==$u||n==aM)for(g=kd(T.e),s=g,o=0,f=s.length;o<f;++o)r=s[o],G9n(t,r)&&Jw(r,!0)}}function zCn(e){var t,n;switch(t=null,n=null,sxn(e).g){case 1:t=(_t(),sr),n=Zn;break;case 2:t=(_t(),Mr),n=Xn;break;case 3:t=(_t(),Zn),n=sr;break;case 4:t=(_t(),Xn),n=Mr}S(e,l(uh(X8(l($i(e.k,t),15).Oc(),N6)),113)),k(e,l(uh(xy(l($i(e.k,n),15).Oc(),N6)),113))}function qCn(e){var t,n,r,s,o,f;if(s=l(Rt(e.j,0),12),s.e.c.length+s.g.c.length==0)e.n.a=0;else{for(f=0,r=ag(Lh(he(le(Fh,1),jn,20,0,[new S5(s),new S8(s)])));Rr(r);)n=l(yr(r),12),f+=n.i.n.a+n.n.a+n.a.a;t=l(Q(e,(Nt(),k3)),8),o=t?t.a:0,e.n.a=f/(s.e.c.length+s.g.c.length)-o}}function Pbt(e,t){var n,r,s;for(r=new K(t.a);r.a<r.c.c.length;)n=l(re(r),225),Uae(l(n.b,68),ya(Xa(l(t.b,68).c),l(t.b,68).a)),s=evt(l(t.b,68).b,l(n.b,68).b),s>1&&(e.a=!0),vgn(l(n.b,68),Pi(Xa(l(t.b,68).c),md(ya(Xa(l(n.b,68).a),l(t.b,68).a),s))),oct(e,t),Pbt(e,n)}function Bbt(e){var t,n,r,s,o,f,g;for(o=new K(e.a.a);o.a<o.c.c.length;)r=l(re(o),194),r.e=0,r.d.a.$b();for(s=new K(e.a.a);s.a<s.c.c.length;)for(r=l(re(s),194),n=r.a.a.ec().Kc();n.Ob();)for(t=l(n.Pb(),86),g=t.f.Kc();g.Ob();)f=l(g.Pb(),86),f.d!=r&&(sa(r.d,f),++f.d.e)}function HCn(e){var t,n,r,s,o,f,g,w;for(w=e.j.c.length,n=0,t=w,s=2*w,g=new K(e.j);g.a<g.c.c.length;)switch(f=l(re(g),12),f.j.g){case 2:case 4:f.p=-1;break;case 1:case 3:r=f.e.c.length,o=f.g.c.length,r>0&&o>0?f.p=t++:r>0?f.p=n++:o>0?f.p=s++:f.p=n++}Cn(),Gs(e.j,new X9)}function UCn(e){var t,n;n=null,t=l(Rt(e.g,0),18);do{if(n=t.d.i,rs(n,(ft(),$f)))return l(Q(n,$f),12).i;if(n.k!=(Jn(),Bs)&&Rr(new lr(fr(qs(n).a.Kc(),new j))))t=l(yr(new lr(fr(qs(n).a.Kc(),new j))),18);else if(n.k!=Bs)return null}while(n&&n.k!=(Jn(),Bs));return n}function VCn(e,t){var n,r,s,o,f,g,w,T,C;for(g=t.j,f=t.g,w=l(Rt(g,g.c.length-1),113),C=(Sn(0,g.c.length),l(g.c[0],113)),T=Iue(e,f,w,C),o=1;o<g.c.length;o++)n=(Sn(o-1,g.c.length),l(g.c[o-1],113)),s=(Sn(o,g.c.length),l(g.c[o],113)),r=Iue(e,f,n,s),r>T&&(w=n,C=s,T=r);t.a=C,t.c=w}function GCn(e,t,n){var r,s,o,f,g,w,T;for(T=new n2(new xXe(e)),f=he(le(dxt,1),cyt,12,0,[t,n]),g=0,w=f.length;g<w;++g)for(o=f[g],T.a.zc(o,(Hn(),Ub))==null,s=new N1(o.b);Oc(s.a)||Oc(s.b);)r=l(Oc(s.a)?re(s.a):re(s.b),18),r.c==r.d||KO(T,o==r.c?r.d:r.c);return Xr(T),new Ml(T)}function g0(e){if(!e.a.d||!e.a.e)throw ue(new ic((Xg(x7t),x7t.k+" must have a source and target "+(Xg(sAe),sAe.k)+" specified.")));if(e.a.d==e.a.e)throw ue(new ic("Network simplex does not support self-loops: "+e.a+" "+e.a.d+" "+e.a.e));return Kq(e.a.d.g,e.a),Kq(e.a.e.b,e.a),e.a}function KCn(e,t){var n,r,s,o,f,g,w;for(t.Ug("Constraints Postprocessor",1),f=0,o=new K(e.b);o.a<o.c.c.length;){for(s=l(re(o),30),w=0,g=!1,r=new K(s.a);r.a<r.c.c.length;)n=l(re(r),10),n.k==(Jn(),Bs)&&(g=!0,rt(n,(Nt(),EW),bt(f)),rt(n,yW,bt(w)),++w);g&&++f}t.Vg()}function Fbt(e,t,n){var r,s,o,f,g,w;if(r=0,t.b!=0&&n.b!=0){o=Fr(t,0),f=Fr(n,0),g=ze(Ge(Pr(o))),w=ze(Ge(Pr(f))),s=!0;do{if(g>w-e.b&&g<w+e.b)return-1;g>w-e.a&&g<w+e.a&&++r,g<=w&&o.b!=o.d.c?g=ze(Ge(Pr(o))):w<=g&&f.b!=f.d.c?w=ze(Ge(Pr(f))):s=!1}while(s)}return r}function Rbt(e,t){var n,r;return XO(e.a),Y0(e.a,(LU(),KW),KW),Y0(e.a,J6,J6),r=new Js,hi(r,J6,(TV(),uge)),qe(at(t,(Pb(),dge)))!==qe((FN(),WW))&&hi(r,J6,age),Ft(Pt(at(t,eOe)))&&hi(r,J6,lge),hi(r,J6,oge),Ft(Pt(at(t,nOe)))&&wl(r,J6,cge),_ye(e.a,r),n=EP(e.a,t),n}function WCn(e,t,n,r,s){var o,f,g,w;for(w=(o=l(G0(Mo),9),new Jh(o,l(o0(o,o.length),9),0)),g=new K(e.j);g.a<g.c.c.length;)f=l(re(g),12),t[f.p]&&(yIn(f,t[f.p],r),f0(w,f.j));s?(zue(e,t,(_t(),sr),2*n,r),zue(e,t,Zn,2*n,r)):(zue(e,t,(_t(),Xn),2*n,r),zue(e,t,Mr,2*n,r))}function YCn(e){var t,n;for(n=new lr(fr(qs(e).a.Kc(),new j));Rr(n);)if(t=l(yr(n),18),t.d.i.k!=(Jn(),uu))throw ue(new Zp(Zhe+QN(e)+"' has its layer constraint set to LAST, but has at least one outgoing edge that does not go to a LAST_SEPARATE node. That must not happen."))}function XCn(e,t,n){var r,s,o,f,g;for(n.Ug("Longest path layering",1),e.a=t,g=e.a.a,e.b=We(Ur,fi,28,g.c.length,15,1),r=0,f=new K(g);f.a<f.c.c.length;)s=l(re(f),10),s.p=r,e.b[r]=-1,++r;for(o=new K(g);o.a<o.c.c.length;)s=l(re(o),10),bbt(e,s);g.c.length=0,e.a=null,e.b=null,n.Vg()}function QCn(e,t,n,r){var s,o,f,g,w,T,C,L,F;for(w=0,C=new K(e.a);C.a<C.c.c.length;){for(T=l(re(C),10),g=0,o=new lr(fr(Ea(T).a.Kc(),new j));Rr(o);)s=l(yr(o),18),L=I1(s.c).b,F=I1(s.d).b,g=b.Math.max(g,b.Math.abs(F-L));w=b.Math.max(w,g)}return f=r*b.Math.min(1,t/n)*w,f}function JCn(e,t){var n,r,s,o,f;for(f=l(Q(t,(Vc(),NIe)),433),o=Fr(t.b,0);o.b!=o.d.c;)if(s=l(Pr(o),40),e.b[s.g]==0){switch(f.g){case 0:tgt(e,s);break;case 1:oEn(e,s)}e.b[s.g]=2}for(r=Fr(e.a,0);r.b!=r.d.c;)n=l(Pr(r),65),Fy(n.b.d,n,!0),Fy(n.c.b,n,!0);rt(t,(Zi(),TIe),e.a)}function hke(e){var t;return t=new f_,e&256&&(t.a+="F"),e&128&&(t.a+="H"),e&512&&(t.a+="X"),e&2&&(t.a+="i"),e&8&&(t.a+="m"),e&4&&(t.a+="s"),e&32&&(t.a+="u"),e&64&&(t.a+="w"),e&16&&(t.a+="x"),e&b0&&(t.a+=","),p3e(t.a)}function ZCn(e,t){var n,r,s,o,f,g;t.Ug(i4t,1),s=l(at(e,(z1(),wM)),107),o=(!e.a&&(e.a=new nt(Li,e,10,11)),e.a),f=s8n(o),g=b.Math.max(f.a,ze(Ge(at(e,(fg(),vM))))-(s.b+s.c)),r=b.Math.max(f.b,ze(Ge(at(e,JW)))-(s.d+s.a)),n=r-f.b,Vi(e,mM,n),Vi(e,e9,g),Vi(e,tC,r+n),t.Vg()}function Wu(e,t){Ro();var n,r,s,o;return t?t==(Wi(),KAt)||(t==PAt||t==Nv||t==NAt)&&e!=uBe?new aTe(e,t):(r=l(t,692),n=r.$k(),n||(Xk(ac((kl(),no),t)),n=r.$k()),o=(!n.i&&(n.i=new Nr),n.i),s=l(dc(zo(o.f,e)),2041),!s&&Ti(o,e,s=new aTe(e,t)),s):DAt}function eSn(e,t){var n,r;if(r=KO(e.b,t.b),!r)throw ue(new ic("Invalid hitboxes for scanline constraint calculation."));(M0t(t.b,l(gln(e.b,t.b),60))||M0t(t.b,l(dln(e.b,t.b),60)))&&(Wg(),String.fromCharCode(10)),e.a[t.b.f]=l(kse(e.b,t.b),60),n=l(xse(e.b,t.b),60),n&&(e.a[n.f]=t.b)}function tSn(e,t,n){var r,s,o,f,g,w,T,C,L;for(o=f6(t,!1,!1),T=sP(o),L=ze(Ge(at(t,(OA(),c1e)))),s=Wwt(T,L+e.a),C=new ale(s),mc(C,t),Ti(e.b,t,C),qn(n.c,C),w=(!t.n&&(t.n=new nt(nc,t,1,7)),t.n),g=new ar(w);g.e!=g.i.gc();)f=l(dr(g),135),r=mP(e,f,!0,0,0),qn(n.c,r);return C}function nSn(e,t){var n,r,s,o,f,g,w;for(s=new mt,n=0;n<=e.j;n++)r=new vu(t),r.p=e.j-n,qn(s.c,r);for(g=new K(e.p);g.a<g.c.c.length;)f=l(re(g),10),Ha(f,l(Rt(s,e.j-e.g[f.p]),30));for(o=new K(s);o.a<o.c.c.length;)w=l(re(o),30),w.a.c.length==0&&J_(o);t.b.c.length=0,aa(t.b,s)}function rSn(e,t){var n,r,s,o,f,g,w,T,C;for(w=l(Q(e,(ft(),zi)),12),T=Bc(he(le(Ca,1),dt,8,0,[w.i.n,w.n,w.a])).a,C=e.i.n.b,n=kd(e.e),s=n,o=0,f=s.length;o<f;++o)r=s[o],Na(r,w),yo(r.a,new lt(T,C)),t&&(g=l(Q(r,(Nt(),lc)),75),g||(g=new pl,rt(r,lc,g)),ci(g,new lt(T,C)))}function iSn(e,t){var n,r,s,o,f,g,w,T,C;for(s=l(Q(e,(ft(),zi)),12),T=Bc(he(le(Ca,1),dt,8,0,[s.i.n,s.n,s.a])).a,C=e.i.n.b,n=kd(e.g),f=n,g=0,w=f.length;g<w;++g)o=f[g],ho(o,s),P5(o.a,new lt(T,C)),t&&(r=l(Q(o,(Nt(),lc)),75),r||(r=new pl,rt(o,lc,r)),ci(r,new lt(T,C)))}function sSn(e){var t,n,r,s,o,f,g,w,T;if(r=e.b,o=r.e,f=G8(l(Q(r,(Nt(),Ds)),101)),n=!!o&&l(Q(o,(ft(),_u)),21).Hc((Ho(),mf)),!(f||n))for(T=(g=new pi(e.e).a.vc().Kc(),new fs(g));T.a.Ob();)w=(t=l(T.a.Pb(),44),l(t.md(),113)),w.a&&(s=w.d,Nc(s,null),w.c=!0,e.a=!0)}function aSn(e,t){var n,r,s,o;for(t.Ug("Semi-Interactive Crossing Minimization Processor",1),n=!1,s=new K(e.b);s.a<s.c.c.length;)r=l(re(s),30),o=zN(mU(ji(ji(new vn(null,new kn(r.a,16)),new wI),new wS),new yI),new Nj),n=n|o.a!=null;n&&rt(e,(ft(),sMe),(Hn(),!0)),t.Vg()}function oSn(e,t){var n,r,s,o,f,g;for(e.b=new mt,e.d=l(Q(t,(ft(),Qx)),234),e.e=Ubn(e.d),o=new os,s=O1(he(le(lxt,1),ayt,36,0,[t])),f=0;f<s.c.length;)r=(Sn(f,s.c.length),l(s.c[f],36)),r.p=f++,n=new Zvt(r,e.a,e.b),aa(s,n.b),wt(e.b,n),n.s&&(g=Fr(o,0),YO(g,n));return e.c=new Ys,o}function cSn(e,t){var n,r,s,o,f,g;for(f=l(l($i(e.r,t),21),87).Kc();f.Ob();)o=l(f.Pb(),117),n=o.c?r5e(o.c):0,n>0?o.a?(g=o.b.Mf().a,n>g&&(s=(n-g)/2,o.d.b=s,o.d.c=s)):o.d.c=e.s+n:Y_(e.u)&&(r=i9e(o.b),r.c<0&&(o.d.b=-r.c),r.c+r.b>o.b.Mf().a&&(o.d.c=r.c+r.b-o.b.Mf().a))}function uSn(e,t){var n,r,s,o,f;f=new mt,n=t;do o=l(or(e.b,n),131),o.B=n.c,o.D=n.d,qn(f.c,o),n=l(or(e.k,n),18);while(n);return r=(Sn(0,f.c.length),l(f.c[0],131)),r.j=!0,r.A=l(r.d.a.ec().Kc().Pb(),18).c.i,s=l(Rt(f,f.c.length-1),131),s.q=!0,s.C=l(s.d.a.ec().Kc().Pb(),18).d.i,f}function lSn(e){var t,n;if(t=l(e.a,17).a,n=l(e.b,17).a,t>=0){if(t==n)return new fa(bt(-t-1),bt(-t-1));if(t==-n)return new fa(bt(-t),bt(n+1))}return b.Math.abs(t)>b.Math.abs(n)?t<0?new fa(bt(-t),bt(n)):new fa(bt(-t),bt(n+1)):new fa(bt(t+1),bt(n))}function hSn(e){var t,n;n=l(Q(e,(Nt(),Qu)),171),t=l(Q(e,(ft(),wv)),311),n==(lf(),Yb)?(rt(e,Qu,DB),rt(e,wv,(ip(),j6))):n==b4?(rt(e,Qu,DB),rt(e,wv,(ip(),Gx))):t==(ip(),j6)?(rt(e,Qu,Yb),rt(e,wv,_B)):t==Gx&&(rt(e,Qu,b4),rt(e,wv,_B))}function jV(){jV=U,$B=new Lte,SEt=hi(new Js,(so(),pu),(po(),BK)),LEt=wl(hi(new Js,pu,UK),wc,HK),MEt=Ed(Ed(w_(wl(hi(new Js,w0,WK),wc,KK),Cu),GK),YK),_Et=wl(hi(hi(hi(new Js,xg,RK),Cu,$K),Cu,DE),wc,jK),AEt=wl(hi(hi(new Js,Cu,DE),Cu,PK),wc,NK)}function KA(){KA=U,OEt=hi(wl(new Js,(so(),wc),(po(),nLe)),pu,BK),FEt=Ed(Ed(w_(wl(hi(new Js,w0,WK),wc,KK),Cu),GK),YK),NEt=wl(hi(hi(hi(new Js,xg,RK),Cu,$K),Cu,DE),wc,jK),BEt=hi(hi(new Js,pu,UK),wc,HK),PEt=wl(hi(hi(new Js,Cu,DE),Cu,PK),wc,NK)}function fSn(e,t,n,r,s){var o,f;(!Ao(t)&&t.c.i.c==t.d.i.c||!jft(Bc(he(le(Ca,1),dt,8,0,[s.i.n,s.n,s.a])),n))&&!Ao(t)&&(t.c==s?Fk(t.a,0,new xo(n)):ci(t.a,new xo(n)),r&&!K0(e.a,n)&&(f=l(Q(t,(Nt(),lc)),75),f||(f=new pl,rt(t,lc,f)),o=new xo(n),_s(f,o,f.c.b,f.c),sa(e.a,o)))}function jbt(e,t){var n,r,s,o;for(o=Yr(go(pg,og(Yr(go(t==null?0:ts(t),bg)),15))),n=o&e.b.length-1,s=null,r=e.b[n];r;s=r,r=r.a)if(r.d==o&&yd(r.i,t))return s?s.a=r.a:e.b[n]=r.a,gZe(l(Lf(r.c),604),l(Lf(r.f),604)),nO(l(Lf(r.b),227),l(Lf(r.e),227)),--e.f,++e.e,!0;return!1}function dSn(e){var t,n;for(n=new lr(fr(Ea(e).a.Kc(),new j));Rr(n);)if(t=l(yr(n),18),t.c.i.k!=(Jn(),uu))throw ue(new Zp(Zhe+QN(e)+"' has its layer constraint set to FIRST, but has at least one incoming edge that does not come from a FIRST_SEPARATE node. That must not happen."))}function gSn(e,t,n){var r,s,o,f,g,w,T;if(s=H1t(e.Db&254),s==0)e.Eb=n;else{if(s==1)g=We(ka,jn,1,2,5,1),o=Due(e,t),o==0?(g[0]=n,g[1]=e.Eb):(g[0]=e.Eb,g[1]=n);else for(g=We(ka,jn,1,s+1,5,1),f=Km(e.Eb),r=2,w=0,T=0;r<=128;r<<=1)r==t?g[T++]=n:e.Db&r&&(g[T++]=f[w++]);e.Eb=g}e.Db|=t}function $bt(e,t,n){var r,s,o,f;for(this.b=new mt,s=0,r=0,f=new K(e);f.a<f.c.c.length;)o=l(re(f),176),n&&xLn(o),wt(this.b,o),s+=o.o,r+=o.p;this.b.c.length>0&&(o=l(Rt(this.b,0),176),s+=o.o,r+=o.p),s*=2,r*=2,t>1?s=da(b.Math.ceil(s*t)):r=da(b.Math.ceil(r/t)),this.a=new X8e(s,r)}function zbt(e,t,n,r,s,o){var f,g,w,T,C,L,F,z,V,J,te,fe;for(C=r,t.j&&t.o?(z=l(or(e.f,t.A),60),J=z.d.c+z.d.b,--C):J=t.a.c+t.a.b,L=s,n.q&&n.o?(z=l(or(e.f,n.C),60),T=z.d.c,++L):T=n.a.c,te=T-J,w=b.Math.max(2,L-C),g=te/w,V=J+g,F=C;F<L;++F)f=l(o.Xb(F),131),fe=f.a.b,f.a.c=V-fe/2,V+=g}function qbt(e,t){var n,r,s,o,f,g,w,T,C,L,F;s=t?new Gee:new Kee,o=!1;do for(o=!1,T=t?uf(e.b):e.b,w=T.Kc();w.Ob();)for(g=l(w.Pb(),30),F=Nw(g.a),t||uf(F),L=new K(F);L.a<L.c.c.length;)C=l(re(L),10),s.Mb(C)&&(r=C,n=l(Q(C,(ft(),p3)),313),f=t?n.b:n.k,o=gmt(r,f,t,!1));while(o)}function fke(e,t,n,r,s,o){var f,g,w,T,C,L;for(T=n.c.length,o&&(e.c=We(Ur,fi,28,t.length,15,1)),f=s?0:t.length-1;s?f<t.length:f>=0;f+=s?1:-1){for(g=t[f],w=r==(_t(),sr)?s?Fc(g,r):uf(Fc(g,r)):s?uf(Fc(g,r)):Fc(g,r),o&&(e.c[g.p]=w.gc()),L=w.Kc();L.Ob();)C=l(L.Pb(),12),e.d[C.p]=T++;aa(n,w)}}function Hbt(e,t,n){var r,s,o,f,g,w,T,C;for(o=ze(Ge(e.b.Kc().Pb())),T=ze(Ge(hyn(t.b))),r=md(Xa(e.a),T-n),s=md(Xa(t.a),n-o),C=Pi(r,s),md(C,1/(T-o)),this.a=C,this.b=new mt,g=!0,f=e.b.Kc(),f.Pb();f.Ob();)w=ze(Ge(f.Pb())),g&&w-n>Ofe&&(this.b.Fc(n),g=!1),this.b.Fc(w);g&&this.b.Fc(n)}function pSn(e){var t,n,r,s;if(O_n(e,e.n),e.d.c.length>0){for(l_(e.c);K9e(e,l(re(new K(e.e.a)),125))<e.e.a.c.length;){for(t=n8n(e),s=t.e.e-t.d.e-t.a,t.e.j&&(s=-s),r=new K(e.e.a);r.a<r.c.c.length;)n=l(re(r),125),n.j&&(n.e+=s);l_(e.c)}l_(e.c),O9e(e,l(re(new K(e.e.a)),125)),Kvt(e)}}function bSn(e,t){fx();var n,r;if(n=zoe(dT(),t.Pg()),n){if(r=n.j,De(e,207))return H2n(l(e,27))?ml(r,(n1(),pa))||ml(r,Bn):ml(r,(n1(),pa));if(De(e,326))return ml(r,(n1(),zd));if(De(e,193))return ml(r,(n1(),Av));if(De(e,366))return ml(r,(n1(),P2))}return!0}function mSn(e,t,n){var r,s,o,f,g,w;if(s=n,o=s.Lk(),dp(e.e,o)){if(o.Si()){for(r=l(e.g,124),f=0;f<e.i;++f)if(g=r[f],Fi(g,s)&&f!=t)throw ue(new Wn(nB))}}else for(w=Wu(e.e.Dh(),o),r=l(e.g,124),f=0;f<e.i;++f)if(g=r[f],w.am(g.Lk())&&f!=t)throw ue(new Wn(oB));return l(i6(e,t,n),76)}function Ubt(e,t){if(t instanceof Object)try{if(t.__java$exception=e,navigator.userAgent.toLowerCase().indexOf("msie")!=-1&&$doc.documentMode<9)return;var n=e;Object.defineProperties(t,{cause:{get:function(){var r=n.he();return r&&r.fe()}},suppressed:{get:function(){return n.ge()}}})}catch{}}function Vbt(e,t){var n,r,s,o,f;if(r=t>>5,t&=31,r>=e.d)return e.e<0?(Cd(),Y6t):(Cd(),FL);if(o=e.d-r,s=We(Ur,fi,28,o+1,15,1),akn(s,o,e.a,r,t),e.e<0){for(n=0;n<r&&e.a[n]==0;n++);if(n<r||t>0&&e.a[n]<<32-t){for(n=0;n<o&&s[n]==-1;n++)s[n]=0;n==o&&++o,++s[n]}}return f=new $m(e.e,o,s),sA(f),f}function Gbt(e){var t,n,r,s;return s=M1(e),n=new kk(s),r=new ZI(s),t=new mt,aa(t,(!e.d&&(e.d=new An(js,e,8,5)),e.d)),aa(t,(!e.e&&(e.e=new An(js,e,7,4)),e.e)),l(kc(gc(ji(new vn(null,new kn(t,16)),n),r),Ly(new xt,new Ri,new Rn,new zn,he(le(uc,1),it,108,0,[(Nl(),o4),Cc]))),21)}function vSn(e,t){var n;switch(n=l(Q(e,(Nt(),kW)),283),t.Ug("Label side selection ("+n+")",1),n.g){case 0:rbt(e,(Ih(),Cg));break;case 1:rbt(e,(Ih(),tm));break;case 2:kvt(e,(Ih(),Cg));break;case 3:kvt(e,(Ih(),tm));break;case 4:tmt(e,(Ih(),Cg));break;case 5:tmt(e,(Ih(),tm))}t.Vg()}function dp(e,t){Ro();var n,r,s;return t.Jk()?!0:t.Ik()==-2?t==(Tx(),l9)||t==u9||t==ype||t==xpe?!0:(s=e.Dh(),vs(s,t)>=0?!1:(n=b6((kl(),no),s,t),n?(r=n.Ik(),(r>1||r==-1)&&Lw(ac(no,n))!=3):!0)):!1}function wSn(e,t,n,r){var s,o,f,g,w;return g=vc(l(Oe((!t.b&&(t.b=new An(Sr,t,4,7)),t.b),0),84)),w=vc(l(Oe((!t.c&&(t.c=new An(Sr,t,5,8)),t.c),0),84)),ds(g)==ds(w)||Iy(w,g)?null:(f=nN(t),f==n?r:(o=l(or(e.a,f),10),o&&(s=o.e,s)?s:null))}function ySn(e,t,n){var r,s,o,f,g;for(n.Ug("Longest path to source layering",1),e.a=t,g=e.a.a,e.b=We(Ur,fi,28,g.c.length,15,1),r=0,f=new K(g);f.a<f.c.c.length;)s=l(re(f),10),s.p=r,e.b[r]=-1,++r;for(o=new K(g);o.a<o.c.c.length;)s=l(re(o),10),mbt(e,s);g.c.length=0,e.a=null,e.b=null,n.Vg()}function dke(e,t,n){var r,s,o,f,g,w;if(r=Jun(n,e.length),f=e[r],o=xZe(n,f.length),f[o].k==(Jn(),Ks))for(w=t.j,s=0;s<w.c.length;s++)g=(Sn(s,w.c.length),l(w.c[s],12)),(n?g.j==(_t(),sr):g.j==(_t(),Zn))&&Ft(Pt(Q(g,(ft(),LB))))&&(nf(w,s,l(Q(f[o],(ft(),zi)),12)),o+=n?1:-1)}function xSn(e,t){var n,r,s,o,f,g,w,T;t.Ug("Greedy Width Approximator",1),n=ze(Ge(at(e,(z1(),eY)))),w=l(at(e,wM),107),o=l(at(e,SOe),394),f=Ft(Pt(at(e,COe))),g=ze(Ge(at(e,yM))),T=(!e.a&&(e.a=new nt(Li,e,10,11)),e.a),B7e(T),s=new Yit(n,o,f),r=D_n(s,T,g,w),Vi(e,(fg(),_4),r.c),t.Vg()}function Kbt(e){if(e.g==null)switch(e.p){case 0:e.g=U2n(e)?(Hn(),AE):(Hn(),Ub);break;case 1:e.g=yN(Fmn(e));break;case 2:e.g=_N(Pbn(e));break;case 3:e.g=bpn(e);break;case 4:e.g=new va(ppn(e));break;case 6:e.g=lp(wpn(e));break;case 5:e.g=bt(A2n(e));break;case 7:e.g=LT($mn(e))}return e.g}function gke(e){if(e.n==null)switch(e.p){case 0:e.n=V2n(e)?(Hn(),AE):(Hn(),Ub);break;case 1:e.n=yN(Rmn(e));break;case 2:e.n=_N(Bbn(e));break;case 3:e.n=mpn(e);break;case 4:e.n=new va(vpn(e));break;case 6:e.n=lp(ypn(e));break;case 5:e.n=bt(L2n(e));break;case 7:e.n=LT(jmn(e))}return e.n}function Wbt(e,t,n,r){var s,o,f,g,w;if(g=(Ro(),l(t,69).xk()),dp(e.e,t)){if(t.Si()&&KV(e,t,r,De(t,102)&&(l(t,19).Bb&Lo)!=0))throw ue(new Wn(nB))}else for(w=Wu(e.e.Dh(),t),s=l(e.g,124),f=0;f<e.i;++f)if(o=s[f],w.am(o.Lk()))throw ue(new Wn(oB));AA(e,w9e(e,t,n),g?l(r,76):cg(t,r))}function Ybt(e){var t,n,r,s,o,f,g;for(o=new K(e.a.a);o.a<o.c.c.length;)r=l(re(o),316),r.g=0,r.i=0,r.e.a.$b();for(s=new K(e.a.a);s.a<s.c.c.length;)for(r=l(re(s),316),n=r.a.a.ec().Kc();n.Ob();)for(t=l(n.Pb(),60),g=t.c.Kc();g.Ob();)f=l(g.Pb(),60),f.a!=r&&(sa(r.e,f),++f.a.g,++f.a.i)}function kSn(e){var t,n,r,s,o;s=l(Q(e,(Nt(),Ev)),21),o=l(Q(e,AW),21),n=new lt(e.f.a+e.d.b+e.d.c,e.f.b+e.d.d+e.d.a),t=new xo(n),s.Hc((gh(),D4))&&(r=l(Q(e,UE),8),o.Hc((Xl(),cC))&&(r.a<=0&&(r.a=20),r.b<=0&&(r.b=20)),t.a=b.Math.max(n.a,r.a),t.b=b.Math.max(n.b,r.b)),ELn(e,n,t)}function TSn(e,t){var n,r,s;t.a?(KO(e.b,t.b),e.a[t.b.i]=l(kse(e.b,t.b),86),n=l(xse(e.b,t.b),86),n&&(e.a[n.i]=t.b)):(r=l(kse(e.b,t.b),86),r&&r==e.a[t.b.i]&&r.d&&r.d!=t.b.d&&r.f.Fc(t.b),s=l(xse(e.b,t.b),86),s&&e.a[s.i]==t.b&&s.d&&s.d!=t.b.d&&t.b.f.Fc(s),pae(e.b,t.b))}function Xbt(e,t){var n,r,s,o,f,g;return o=e.d,g=ze(Ge(Q(e,(Nt(),M2)))),g<0&&(g=0,rt(e,M2,g)),t.o.b=g,f=b.Math.floor(g/2),r=new du,ga(r,(_t(),Zn)),Nc(r,t),r.n.b=f,s=new du,ga(s,sr),Nc(s,t),s.n.b=f,Na(e,r),n=new Dw,mc(n,e),rt(n,lc,null),ho(n,s),Na(n,o),FAn(t,e,n),Dkn(e,n),n}function ESn(e){var t,n;return n=l(Q(e,(ft(),_u)),21),t=new Js,n.Hc((Ho(),GL))&&(Dh(t,kEt),Dh(t,sIe)),(n.Hc(qE)||Ft(Pt(Q(e,(Nt(),vde)))))&&(Dh(t,sIe),n.Hc(R6)&&Dh(t,EEt)),n.Hc(mf)&&Dh(t,xEt),n.Hc(KL)&&Dh(t,CEt),n.Hc(cW)&&Dh(t,TEt),n.Hc($E)&&Dh(t,wEt),n.Hc(zE)&&Dh(t,yEt),t}function CSn(e,t){var n,r,s,o,f,g,w,T,C,L,F;return r=e.d,o=t.d,g=r+o,w=e.e!=t.e?-1:1,g==2?(C=go(xa(e.a[0],Uo),xa(t.a[0],Uo)),F=Yr(C),L=Yr(vb(C,32)),L==0?new tp(w,F):new $m(w,2,he(le(Ur,1),fi,28,15,[F,L]))):(n=e.a,s=t.a,f=We(Ur,fi,28,g,15,1),E4n(n,r,s,o,f),T=new $m(w,g,f),sA(T),T)}function Qbt(e,t,n,r){var s,o;if(t){if(s=e.a.Ne(n.d,t.d),s==0)return r.d=m4e(t,n.e),r.b=!0,t;o=s<0?0:1,t.a[o]=Qbt(e,t.a[o],n,r),ly(t.a[o])&&(ly(t.a[1-o])?(t.b=!0,t.a[0].b=!1,t.a[1].b=!1):ly(t.a[o].a[o])?t=MU(t,1-o):ly(t.a[o].a[1-o])&&(t=jct(t,1-o)))}else return n;return t}function Jbt(e,t,n){var r,s,o,f;s=e.i,r=e.n,R6e(e,(e1(),Wc),s.c+r.b,n),R6e(e,Yc,s.c+s.b-r.c-n[2],n),f=s.b-r.b-r.c,n[0]>0&&(n[0]+=e.d,f-=n[0]),n[2]>0&&(n[2]+=e.d,f-=n[2]),o=b.Math.max(0,f),n[1]=b.Math.max(n[1],f),R6e(e,ju,s.c+r.b+n[0]-(n[1]-f)/2,n),t==ju&&(e.c.b=o,e.c.c=s.c+r.b+(o-f)/2)}function Zbt(){this.c=We(Oa,tc,28,(_t(),he(le(Mo,1),ou,64,0,[jc,Xn,sr,Mr,Zn])).length,15,1),this.b=We(Oa,tc,28,he(le(Mo,1),ou,64,0,[jc,Xn,sr,Mr,Zn]).length,15,1),this.a=We(Oa,tc,28,he(le(Mo,1),ou,64,0,[jc,Xn,sr,Mr,Zn]).length,15,1),z3e(this.c,gs),z3e(this.b,oa),z3e(this.a,oa)}function xu(e,t,n){var r,s,o,f;if(t<=n?(s=t,o=n):(s=n,o=t),r=0,e.b==null)e.b=We(Ur,fi,28,2,15,1),e.b[0]=s,e.b[1]=o,e.c=!0;else{if(r=e.b.length,e.b[r-1]+1==s){e.b[r-1]=o;return}f=We(Ur,fi,28,r+2,15,1),gu(e.b,0,f,0,r),e.b=f,e.b[r-1]>=s&&(e.c=!1,e.a=!1),e.b[r++]=s,e.b[r]=o,e.c||l6(e)}}function SSn(e,t,n){var r,s,o,f,g,w,T;for(T=t.d,e.a=new Pu(T.c.length),e.c=new Nr,g=new K(T);g.a<g.c.c.length;)f=l(re(g),105),o=new LN(null),wt(e.a,o),Ti(e.c,f,o);for(e.b=new Nr,Okn(e,t),r=0;r<T.c.length-1;r++)for(w=l(Rt(t.d,r),105),s=r+1;s<T.c.length;s++)bCn(e,w,l(Rt(t.d,s),105),n)}function Gy(e){var t,n,r,s,o;for(s=new mt,t=new G_((!e.a&&(e.a=new nt(Li,e,10,11)),e.a)),r=new lr(fr(fp(e).a.Kc(),new j));Rr(r);)n=l(yr(r),74),De(Oe((!n.b&&(n.b=new An(Sr,n,4,7)),n.b),0),193)||(o=vc(l(Oe((!n.c&&(n.c=new An(Sr,n,5,8)),n.c),0),84)),t.a._b(o)||qn(s.c,o));return s}function _Sn(e,t,n){var r,s,o;if(e.e=n,e.d=0,e.b=0,e.f=1,e.i=t,(e.e&16)==16&&(e.i=F_n(e.i)),e.j=e.i.length,Mi(e),o=Gw(e),e.d!=e.j)throw ue(new ri(si((Jr(),r5t))));if(e.g){for(r=0;r<e.g.a.c.length;r++)if(s=l(Aw(e.g,r),592),e.f<=s.a)throw ue(new ri(si((Jr(),i5t))));e.g.a.c.length=0}return o}function ASn(e,t){var n,r,s,o,f,g,w;for(n=oa,g=(Jn(),Bs),s=new K(t.a);s.a<s.c.c.length;)r=l(re(s),10),o=r.k,o!=Bs&&(f=Ge(Q(r,(ft(),oMe))),f==null?(n=b.Math.max(n,0),r.n.b=n+Qye(e.a,o,g)):r.n.b=(tr(f),f)),w=Qye(e.a,o,g),r.n.b<n+w+r.d.d&&(r.n.b=n+w+r.d.d),n=r.n.b+r.o.b+r.d.a,g=o}function emt(e,t,n,r,s){var o,f,g,w,T,C;if(e.d&&e.d.Gg(s),o=l(s.Xb(0),27),ngt(e,n,o,!1)||(f=l(s.Xb(s.gc()-1),27),ngt(e,r,f,!0))||l9e(e,s))return!0;for(C=s.Kc();C.Ob();)for(T=l(C.Pb(),27),w=t.Kc();w.Ob();)if(g=l(w.Pb(),27),zV(e,T,g))return!0;return!1}function LSn(e,t,n){var r,s,o,f,g,w,T,C,L,F;F=t.c.length,L=(T=e.Ih(n),l(T>=0?e.Lh(T,!1,!0):Xw(e,n,!1),61));e:for(o=L.Kc();o.Ob();){for(s=l(o.Pb(),58),C=0;C<F;++C)if(f=(Sn(C,t.c.length),l(t.c[C],76)),w=f.md(),g=f.Lk(),r=s.Nh(g,!1),w==null?r!=null:!Fi(w,r))continue e;return s}return null}function MSn(e,t){var n,r,s,o,f,g,w;for(t.Ug("Comment post-processing",1),o=new K(e.b);o.a<o.c.c.length;){for(s=l(re(o),30),r=new mt,g=new K(s.a);g.a<g.c.c.length;)f=l(re(g),10),w=l(Q(f,(ft(),Jx)),15),n=l(Q(f,Kx),15),(w||n)&&(KDn(f,w,n),w&&aa(r,w),n&&aa(r,n));aa(s.a,r)}t.Vg()}function DSn(e,t,n,r){var s,o,f,g;for(s=l(k2(t,(_t(),Zn)).Kc().Pb(),12),o=l(k2(t,sr).Kc().Pb(),12),g=new K(e.j);g.a<g.c.c.length;){for(f=l(re(g),12);f.e.c.length!=0;)Na(l(Rt(f.e,0),18),s);for(;f.g.c.length!=0;)ho(l(Rt(f.g,0),18),o)}n||rt(t,(ft(),a1),null),r||rt(t,(ft(),$f),null)}function f6(e,t,n){var r,s;if((!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i==0)return Y7e(e);if(r=l(Oe((!e.a&&(e.a=new nt(cs,e,6,6)),e.a),0),166),t&&($r((!r.a&&(r.a=new Qs(qh,r,5)),r.a)),uT(r,0),hT(r,0),cT(r,0),lT(r,0)),n)for(s=(!e.a&&(e.a=new nt(cs,e,6,6)),e.a);s.i>1;)Ky(s,s.i-1);return r}function tmt(e,t){var n,r,s,o,f,g,w;for(n=new H5,o=new K(e.b);o.a<o.c.c.length;){for(s=l(re(o),30),w=!0,r=0,g=new K(s.a);g.a<g.c.c.length;)switch(f=l(re(g),10),f.k.g){case 4:++r;case 1:k6e(n,f);break;case 0:Mkn(f,t);default:n.b==n.c||Vmt(n,r,w,!1,t),w=!1,r=0}n.b==n.c||Vmt(n,r,w,!0,t)}}function pke(e,t){var n,r,s,o,f,g;for(n=0,g=new K(t);g.a<g.c.c.length;){for(f=l(re(g),12),d8e(e.b,e.d[f.p]),s=new N1(f.b);Oc(s.a)||Oc(s.b);)r=l(Oc(s.a)?re(s.a):re(s.b),18),o=M3e(e,f==r.c?r.d:r.c),o>e.d[f.p]&&(n+=M6e(e.b,o),Tb(e.a,bt(o)));for(;!h_(e.a);)u7e(e.b,l(Q8(e.a),17).a)}return n}function ISn(e){var t,n,r,s,o,f,g,w,T;for(e.a=new k4e,T=0,s=0,r=new K(e.i.b);r.a<r.c.c.length;){for(t=l(re(r),30),t.p=s,w=new K(t.a);w.a<w.c.c.length;)g=l(re(w),10),g.p=T,++T;++s}for(o=e.r==(Nf(),C3),f=o?Txt:kxt,n=new K(e.i.b);n.a<n.c.c.length;)t=l(re(n),30),Gs(t.a,f),Dwn(e.a,bt(t.p),t.a)}function nmt(e,t,n){var r,s,o,f;for(o=(!t.a&&(t.a=new nt(Li,t,10,11)),t.a).i,s=new ar((!t.a&&(t.a=new nt(Li,t,10,11)),t.a));s.e!=s.i.gc();)r=l(dr(s),27),(!r.a&&(r.a=new nt(Li,r,10,11)),r.a).i==0||(o+=nmt(e,r,!1));if(n)for(f=ds(t);f;)o+=(!f.a&&(f.a=new nt(Li,f,10,11)),f.a).i,f=ds(f);return o}function Ky(e,t){var n,r,s,o;return e.Pj()?(r=null,s=e.Qj(),e.Tj()&&(r=e.Vj(e.$i(t),null)),n=e.Ij(4,o=wx(e,t),null,t,s),e.Mj()&&o!=null&&(r=e.Oj(o,r)),r?(r.nj(n),r.oj()):e.Jj(n),o):(o=wx(e,t),e.Mj()&&o!=null&&(r=e.Oj(o,null),r&&r.oj()),o)}function OSn(e){var t,n,r,s,o,f,g,w,T,C;for(T=e.a,t=new Ys,w=0,r=new K(e.d);r.a<r.c.c.length;){for(n=l(re(r),226),C=0,Wm(n.b,new Po),f=Fr(n.b,0);f.b!=f.d.c;)o=l(Pr(f),226),t.a._b(o)&&(s=n.c,g=o.c,C<g.d+g.a+T&&C+s.a+T>g.d&&(C=g.d+g.a+T));n.c.d=C,t.a.zc(n,t),w=b.Math.max(w,n.c.d+n.c.a)}return w}function Ho(){Ho=U,oW=new fy("COMMENTS",0),mf=new fy("EXTERNAL_PORTS",1),GL=new fy("HYPEREDGES",2),cW=new fy("HYPERNODES",3),qE=new fy("NON_FREE_PORTS",4),R6=new fy("NORTH_SOUTH_PORTS",5),KL=new fy(Syt,6),$E=new fy("CENTER_LABELS",7),zE=new fy("END_LABELS",8),uW=new fy("PARTITIONS",9)}function NSn(e,t,n,r,s){return r<0?(r=u6(e,s,he(le($t,1),dt,2,6,[ehe,the,nhe,rhe,Ax,ihe,she,ahe,ohe,che,uhe,lhe]),t),r<0&&(r=u6(e,s,he(le($t,1),dt,2,6,["Jan","Feb","Mar","Apr",Ax,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),t)),r<0?!1:(n.k=r,!0)):r>0?(n.k=r-1,!0):!1}function PSn(e,t,n,r,s){return r<0?(r=u6(e,s,he(le($t,1),dt,2,6,[ehe,the,nhe,rhe,Ax,ihe,she,ahe,ohe,che,uhe,lhe]),t),r<0&&(r=u6(e,s,he(le($t,1),dt,2,6,["Jan","Feb","Mar","Apr",Ax,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"]),t)),r<0?!1:(n.k=r,!0)):r>0?(n.k=r-1,!0):!1}function BSn(e,t,n,r,s,o){var f,g,w,T;if(g=32,r<0){if(t[0]>=e.length||(g=io(e,t[0]),g!=43&&g!=45)||(++t[0],r=LV(e,t),r<0))return!1;g==45&&(r=-r)}return g==32&&t[0]-n==2&&s.b==2&&(w=new iq,T=w.q.getFullYear()-Rb+Rb-80,f=T%100,o.a=r==f,r+=(T/100|0)*100+(r<f?100:0)),o.p=r,!0}function rmt(e,t){var n,r,s,o,f;ds(e)&&(f=l(Q(t,(Nt(),Ev)),181),qe(at(e,Ds))===qe((Pa(),rm))&&Vi(e,Ds,Z1),r=(dw(),new sw(ds(e))),o=new mae(ds(e)?new sw(ds(e)):null,e),s=vwt(r,o,!1,!0),f0(f,(gh(),D4)),n=l(Q(t,UE),8),n.a=b.Math.max(s.a,n.a),n.b=b.Math.max(s.b,n.b))}function FSn(e,t,n){var r,s,o,f,g,w;for(f=l(Q(e,(ft(),rde)),15).Kc();f.Ob();){switch(o=l(f.Pb(),10),l(Q(o,(Nt(),Qu)),171).g){case 2:Ha(o,t);break;case 4:Ha(o,n)}for(s=new lr(fr(up(o).a.Kc(),new j));Rr(s);)r=l(yr(s),18),!(r.c&&r.d)&&(g=!r.d,w=l(Q(r,uMe),12),g?Na(r,w):ho(r,w))}}function $V(){$V=U,O1e=new ex(uG,0,(_t(),Xn),Xn),B1e=new ex(Phe,1,Mr,Mr),I1e=new ex(Nhe,2,sr,sr),j1e=new ex(Bhe,3,Zn,Zn),P1e=new ex("NORTH_WEST_CORNER",4,Zn,Xn),N1e=new ex("NORTH_EAST_CORNER",5,Xn,sr),R1e=new ex("SOUTH_WEST_CORNER",6,Mr,Zn),F1e=new ex("SOUTH_EAST_CORNER",7,sr,Mr)}function RSn(e){var t,n,r,s,o,f;for(o=new Ys,t=new G_((!e.a&&(e.a=new nt(Li,e,10,11)),e.a)),s=new lr(fr(fp(e).a.Kc(),new j));Rr(s);)r=l(yr(s),74),De(Oe((!r.b&&(r.b=new An(Sr,r,4,7)),r.b),0),193)||(f=vc(l(Oe((!r.c&&(r.c=new An(Sr,r,5,8)),r.c),0),84)),t.a._b(f)||(n=o.a.zc(f,o),n==null));return o}function d6(){d6=U,uNe=he(le(hm,1),yhe,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}]),b.Math.pow(2,-65)}function WT(){WT=U;var e,t;for(zx=We(M6,dt,92,32,0,1),RL=We(M6,dt,92,32,0,1),e=1,t=0;t<=18;t++)zx[t]=(Cd(),su(e,0)>=0?Db(e):Z_(Db(f2(e)))),RL[t]=Pq(u0(e,t),0)?Db(u0(e,t)):Z_(Db(f2(u0(e,t)))),e=go(e,5);for(;t<RL.length;t++)zx[t]=Y5(zx[t-1],zx[1]),RL[t]=Y5(RL[t-1],(Cd(),U0e))}function imt(e,t){var n,r,s,o,f;if(e.c.length==0)return new fa(bt(0),bt(0));for(n=(Sn(0,e.c.length),l(e.c[0],12)).j,f=0,o=t.g,r=t.g+1;f<e.c.length-1&&n.g<o;)++f,n=(Sn(f,e.c.length),l(e.c[f],12)).j;for(s=f;s<e.c.length-1&&n.g<r;)++s,n=(Sn(f,e.c.length),l(e.c[f],12)).j;return new fa(bt(f),bt(s))}function jSn(e,t,n,r){var s,o,f,g,w,T,C;w=Fc(t,n),(n==(_t(),Mr)||n==Zn)&&(w=uf(w)),f=!1;do for(s=!1,o=0;o<w.gc()-1;o++)T=l(w.Xb(o),12),g=l(w.Xb(o+1),12),T9n(e,T,g,r)&&(f=!0,Ioe(e.a,l(w.Xb(o),12),l(w.Xb(o+1),12)),C=l(w.Xb(o+1),12),w.hd(o+1,l(w.Xb(o),12)),w.hd(o,C),s=!0);while(s);return f}function $Sn(e,t,n){var r,s,o,f;for(n.Ug(qyt,1),s=l(kc(ji(new vn(null,new kn(t.b,16)),new ane),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)]))),15),D2t(e,s,0),f=Fr(t.b,0);f.b!=f.d.c;)o=l(Pr(f),40),r=or(e.a,bt(o.g))!=null?l(or(e.a,bt(o.g)),17).a:0,rt(o,(Vc(),$d),bt(r));n.Vg()}function zV(e,t,n){var r,s,o,f,g,w,T,C;return g=t.i-e.g/2,w=n.i-e.g/2,T=t.j-e.g/2,C=n.j-e.g/2,o=t.g+e.g,f=n.g+e.g,r=t.f+e.g,s=n.f+e.g,g<w+f&&w<g&&T<C+s&&C<T||w<g+o&&g<w&&C<T+r&&T<C||g<w+f&&w<g&&T<C&&C<T+r?!0:w<g+o&&g<w&&T<C+s&&C<T}function zSn(e,t,n){var r,s,o,f,g,w,T,C,L,F;for(o=t.c.length,f=(Sn(n,t.c.length),l(t.c[n],293)),g=f.a.o.a,L=f.c,F=0,T=f.c;T<=f.f;T++){if(g<=e.a[T])return T;for(C=e.a[T],w=null,s=n+1;s<o;s++)r=(Sn(s,t.c.length),l(t.c[s],293)),r.c<=T&&r.f>=T&&(w=r);w&&(C=b.Math.max(C,w.a.o.a)),C>F&&(L=T,F=C)}return L}function qSn(e){var t,n,r,s,o,f,g;for(o=new n2(l(Xr(new Ug),50)),g=oa,n=new K(e.d);n.a<n.c.c.length;){for(t=l(re(n),226),g=t.c.c;o.a.gc()!=0&&(f=l(o.a.Tc(),226),f.c.c+f.c.b<g);)o.a.Bc(f)!=null;for(s=o.a.ec().Kc();s.Ob();)r=l(s.Pb(),226),ci(r.b,t),ci(t.b,r);o.a.zc(t,(Hn(),Ub))==null}}function smt(e,t,n){var r,s,o,f,g;if(!tT(t)){for(g=n.eh((De(t,16)?l(t,16).gc():ep(t.Kc()))/e.a|0),g.Ug(Hyt,1),f=new l$,o=null,s=t.Kc();s.Ob();)r=l(s.Pb(),40),f=Lh(he(le(Fh,1),jn,20,0,[f,new Kg(r)])),o&&(rt(o,(Zi(),HEt),r),rt(r,Jde,o),Goe(r)==Goe(o)&&(rt(o,Zde,r),rt(r,HW,o))),o=r;g.Vg(),smt(e,f,n)}}function HSn(e,t){var n,r,s;if(t==null){for(r=(!e.a&&(e.a=new nt(Tp,e,9,5)),new ar(e.a));r.e!=r.i.gc();)if(n=l(dr(r),694),s=n.c,(s??n.zb)==null)return n}else for(r=(!e.a&&(e.a=new nt(Tp,e,9,5)),new ar(e.a));r.e!=r.i.gc();)if(n=l(dr(r),694),wn(t,(s=n.c,s??n.zb)))return n;return null}function fle(e,t){var n;switch(n=null,t.g){case 1:e.e.pf((bi(),Xge))&&(n=l(e.e.of(Xge),256));break;case 3:e.e.pf((bi(),Qge))&&(n=l(e.e.of(Qge),256));break;case 2:e.e.pf((bi(),Yge))&&(n=l(e.e.of(Yge),256));break;case 4:e.e.pf((bi(),Jge))&&(n=l(e.e.of(Jge),256))}return!n&&(n=l(e.e.of((bi(),RNe)),256)),n}function amt(e,t,n){var r,s,o,f,g,w;for(s=n,o=0,g=new K(t);g.a<g.c.c.length;)f=l(re(g),27),Vi(f,(Pb(),YW),bt(s++)),w=Gy(f),r=b.Math.atan2(f.j+f.f/2,f.i+f.g/2),r+=r<0?fv:0,r<.7853981633974483||r>Jyt?Gs(w,e.b):r<=Jyt&&r>Zyt?Gs(w,e.d):r<=Zyt&&r>e4t?Gs(w,e.c):r<=e4t&&Gs(w,e.a),o=amt(e,w,o);return s}function omt(e,t,n,r){var s,o,f,g,w,T;for(s=(r.c+r.a)/2,Ch(t.j),ci(t.j,s),Ch(n.e),ci(n.e,s),T=new _Ze,g=new K(e.f);g.a<g.c.c.length;)o=l(re(g),132),w=o.a,jue(T,t,w),jue(T,n,w);for(f=new K(e.k);f.a<f.c.c.length;)o=l(re(f),132),w=o.b,jue(T,t,w),jue(T,n,w);return T.b+=2,T.a+=pot(t,e.q),T.a+=pot(e.q,n),T}function USn(e,t,n){var r;n.Ug("Processor arrange node",1),Ft(Pt(Q(t,(Vc(),AIe)))),r=l(uh(ET(ji(new vn(null,new kn(t.b,16)),new yne))),40),e.a=l(Q(t,FIe),353),e.a==(TA(),rge)||e.a==GW?wwt(e,new Ll(he(le(qW,1),jG,40,0,[r])),n.eh(1)):e.a==nge&&Kwt(e,new Ll(he(le(qW,1),jG,40,0,[r])),n.eh(1)),n.Vg()}function z1(){z1=U,eY=new qa((bi(),t7),1.3),hSt=new qa(A4,(Hn(),!1)),kOe=new mw(15),wM=new qa(B2,kOe),yM=new qa(Dv,15),oSt=ZB,lSt=Mv,fSt=a7,dSt=em,uSt=s7,Ege=rF,gSt=L4,SOe=(Ake(),iSt),COe=rSt,Sge=aSt,_Oe=sSt,xOe=eSt,Cge=ZCt,yOe=JCt,EOe=nSt,wOe=nF,cSt=Wge,KB=XCt,vOe=YCt,WB=QCt,TOe=tSt}function cmt(e){var t,n,r,s,o,f,g;for(n=e.i,t=e.n,g=n.d,e.f==(al(),Gb)?g+=(n.a-e.e.b)/2:e.f==v0&&(g+=n.a-e.e.b),s=new K(e.d);s.a<s.c.c.length;){switch(r=l(re(s),187),f=r.Mf(),o=new za,o.b=g,g+=f.b+e.a,e.b.g){case 0:o.a=n.c+t.b;break;case 1:o.a=n.c+t.b+(n.b-f.a)/2;break;case 2:o.a=n.c+n.b-t.c-f.a}r.Of(o)}}function umt(e){var t,n,r,s,o,f,g;for(n=e.i,t=e.n,g=n.c,e.b==(Ol(),Vb)?g+=(n.b-e.e.a)/2:e.b==m0&&(g+=n.b-e.e.a),s=new K(e.d);s.a<s.c.c.length;){switch(r=l(re(s),187),f=r.Mf(),o=new za,o.a=g,g+=f.a+e.a,e.f.g){case 0:o.b=n.d+t.d;break;case 1:o.b=n.d+t.d+(n.a-f.b)/2;break;case 2:o.b=n.d+n.a-t.a-f.b}r.Of(o)}}function VSn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V;C=n.a.c,f=n.a.c+n.a.b,o=l(or(n.c,t),468),z=o.f,V=o.a,w=new lt(C,z),L=new lt(f,V),s=C,n.p||(s+=e.c),s+=n.F+n.v*e.b,T=new lt(s,z),F=new lt(s,V),dA(t.a,he(le(Ca,1),dt,8,0,[w,T])),g=n.d.a.gc()>1,g&&(r=new lt(s,n.b),ci(t.a,r)),dA(t.a,he(le(Ca,1),dt,8,0,[F,L]))}function bke(e,t,n){var r,s;for(t<e.d.b.c.length?(e.b=l(Rt(e.d.b,t),30),e.a=l(Rt(e.d.b,t-1),30),e.c=t):(e.a=new vu(e.d),e.a.p=t-1,wt(e.d.b,e.a),e.b=new vu(e.d),e.b.p=t,wt(e.d.b,e.b),e.c=t),Ha(n,e.b),s=new lr(fr(Ea(n).a.Kc(),new j));Rr(s);)r=l(yr(s),18),!r.c.i.c&&r.c.i.k==(Jn(),uu)&&Ha(r.c.i,e.a)}function lmt(e){fw(e,new iv(uw(aw(cw(ow(new x1,GG),"ELK Randomizer"),'Distributes the nodes randomly on the plane, leading to very obfuscating layouts. Can be useful to demonstrate the power of "real" layout algorithms.'),new S$))),pt(e,GG,r3,mPe),pt(e,GG,t4,15),pt(e,GG,gG,bt(0)),pt(e,GG,Nx,fE)}function mke(){mke=U;var e,t,n,r,s,o;for(KM=We(_l,_6,28,255,15,1),BY=We(xf,Ad,28,16,15,1),t=0;t<255;t++)KM[t]=-1;for(n=57;n>=48;n--)KM[n]=n-48<<24>>24;for(r=70;r>=65;r--)KM[r]=r-65+10<<24>>24;for(s=102;s>=97;s--)KM[s]=s-97+10<<24>>24;for(o=0;o<10;o++)BY[o]=48+o&ta;for(e=10;e<=15;e++)BY[e]=65+e-10&ta}function GSn(e,t){t.Ug("Process graph bounds",1),rt(e,(Zi(),Xde),yO(Tce(Ey(new vn(null,new kn(e.b,16)),new tne)))),rt(e,Qde,yO(Tce(Ey(new vn(null,new kn(e.b,16)),new nne)))),rt(e,xIe,yO(kce(Ey(new vn(null,new kn(e.b,16)),new rne)))),rt(e,kIe,yO(kce(Ey(new vn(null,new kn(e.b,16)),new ine)))),t.Vg()}function KSn(e){var t,n,r,s,o;s=l(Q(e,(Nt(),Ev)),21),o=l(Q(e,AW),21),n=new lt(e.f.a+e.d.b+e.d.c,e.f.b+e.d.d+e.d.a),t=new xo(n),s.Hc((gh(),D4))&&(r=l(Q(e,UE),8),o.Hc((Xl(),cC))&&(r.a<=0&&(r.a=20),r.b<=0&&(r.b=20)),t.a=b.Math.max(n.a,r.a),t.b=b.Math.max(n.b,r.b)),Ft(Pt(Q(e,yde)))||TLn(e,n,t)}function WSn(e,t){var n,r,s,o;for(o=Fc(t,(_t(),Mr)).Kc();o.Ob();)r=l(o.Pb(),12),n=l(Q(r,(ft(),Bl)),10),n&&g0(i0(r0(s0(n0(new _f,0),.1),e.i[t.p].d),e.i[n.p].a));for(s=Fc(t,Xn).Kc();s.Ob();)r=l(s.Pb(),12),n=l(Q(r,(ft(),Bl)),10),n&&g0(i0(r0(s0(n0(new _f,0),.1),e.i[n.p].d),e.i[t.p].a))}function dle(e){var t,n,r,s,o,f;if(!e.c){if(f=new Zc,t=HM,o=t.a.zc(e,t),o==null){for(r=new ar(fu(e));r.e!=r.i.gc();)n=l(dr(r),89),s=GV(n),De(s,90)&&Ls(f,dle(l(s,29))),zr(f,n);t.a.Bc(e)!=null,t.a.gc()==0}H5n(f),Py(f),e.c=new B5((l(Oe(tt((wb(),Un).o),15),19),f.i),f.g),Gl(e).b&=-33}return e.c}function vke(e){var t;if(e.c!=10)throw ue(new ri(si((Jr(),QG))));switch(t=e.a,t){case 110:t=10;break;case 114:t=13;break;case 116:t=9;break;case 92:case 124:case 46:case 94:case 45:case 63:case 42:case 43:case 123:case 125:case 40:case 41:case 91:case 93:break;default:throw ue(new ri(si((Jr(),pf))))}return t}function hmt(e){var t,n,r,s,o;if(e.l==0&&e.m==0&&e.h==0)return"0";if(e.h==NP&&e.m==0&&e.l==0)return"-9223372036854775808";if(e.h>>19)return"-"+hmt(TT(e));for(n=e,r="";!(n.l==0&&n.m==0&&n.h==0);){if(s=Hoe(sG),n=Jke(n,s,!0),t=""+OZe(Hb),!(n.l==0&&n.m==0&&n.h==0))for(o=9-t.length;o>0;o--)t="0"+t;r=t+r}return r}function YSn(e){var t,n,r,s,o,f,g;for(t=!1,n=0,s=new K(e.d.b);s.a<s.c.c.length;)for(r=l(re(s),30),r.p=n++,f=new K(r.a);f.a<f.c.c.length;)o=l(re(f),10),!t&&!tT(up(o))&&(t=!0);g=is((ea(),J1),he(le(MM,1),it,88,0,[hc,yc])),t||(f0(g,vf),f0(g,Q1)),e.a=new Wht(g),Dl(e.f),Dl(e.b),Dl(e.e),Dl(e.g)}function XSn(){if(!Object.create||!Object.getOwnPropertyNames)return!1;var e="__proto__",t=Object.create(null);if(t[e]!==void 0)return!1;var n=Object.getOwnPropertyNames(t);return!(n.length!=0||(t[e]=42,t[e]!==42)||Object.getOwnPropertyNames(t).length==0)}function QSn(e,t,n){var r,s,o,f,g,w,T,C,L;for(r=n.c,s=n.d,g=I1(t.c),w=I1(t.d),r==t.c?(g=rke(e,g,s),w=vpt(t.d)):(g=vpt(t.c),w=rke(e,w,s)),T=new Zz(t.a),_s(T,g,T.a,T.a.a),_s(T,w,T.c.b,T.c),f=t.c==r,L=new pJe,o=0;o<T.b-1;++o)C=new fa(l(hf(T,o),8),l(hf(T,o+1),8)),f&&o==0||!f&&o==T.b-2?L.b=C:wt(L.a,C);return L}function JSn(e,t){var n,r,s,o;if(o=e.j.g-t.j.g,o!=0)return o;if(n=l(Q(e,(Nt(),D2)),17),r=l(Q(t,D2),17),n&&r&&(s=n.a-r.a,s!=0))return s;switch(e.j.g){case 1:return Xi(e.n.a,t.n.a);case 2:return Xi(e.n.b,t.n.b);case 3:return Xi(t.n.a,e.n.a);case 4:return Xi(t.n.b,e.n.b);default:throw ue(new ic(sEe))}}function wke(e,t,n,r){var s,o,f,g,w;if(ep((zO(),new lr(fr(up(t).a.Kc(),new j))))>=e.a||!e9e(t,n))return-1;if(tT(l(r.Kb(t),20)))return 1;for(s=0,f=l(r.Kb(t),20).Kc();f.Ob();)if(o=l(f.Pb(),18),w=o.c.i==t?o.d.i:o.c.i,g=wke(e,w,n,r),g==-1||(s=b.Math.max(s,g),s>e.c-1))return-1;return s+1}function fmt(e,t){var n,r,s,o,f,g;if(qe(t)===qe(e))return!0;if(!De(t,15)||(r=l(t,15),g=e.gc(),r.gc()!=g))return!1;if(f=r.Kc(),e.Yi()){for(n=0;n<g;++n)if(s=e.Vi(n),o=f.Pb(),s==null?o!=null:!Fi(s,o))return!1}else for(n=0;n<g;++n)if(s=e.Vi(n),o=f.Pb(),qe(s)!==qe(o))return!1;return!0}function dmt(e,t){var n,r,s,o,f,g;if(e.f>0){if(e._j(),t!=null){for(o=0;o<e.d.length;++o)if(n=e.d[o],n){for(r=l(n.g,379),g=n.i,f=0;f<g;++f)if(s=r[f],Fi(t,s.md()))return!0}}else for(o=0;o<e.d.length;++o)if(n=e.d[o],n){for(r=l(n.g,379),g=n.i,f=0;f<g;++f)if(s=r[f],qe(t)===qe(s.md()))return!0}}return!1}function ZSn(e,t){var n,r,s;return n=t.qi(e.a),n&&(s=Zr(t1((!n.b&&(n.b=new lh((En(),Do),Qc,n)),n.b),"affiliation")),s!=null)?(r=Vq(s,ol(35)),r==-1?Xce(e,W_(e,Ah(t.qk())),s):r==0?Xce(e,null,(Yn(1,s.length+1),s.substr(1))):Xce(e,(Va(0,r,s.length),s.substr(0,r)),(Yn(r+1,s.length+1),s.substr(r+1)))):null}function e_n(e,t,n){var r,s,o,f;n.Ug("Orthogonally routing hierarchical port edges",1),e.a=0,r=YLn(t),eDn(t,r),RMn(e,t,r),eIn(t),s=l(Q(t,(Nt(),Ds)),101),o=t.b,pwt((Sn(0,o.c.length),l(o.c[0],30)),s,t),pwt(l(Rt(o,o.c.length-1),30),s,t),f=t.b,Cvt((Sn(0,f.c.length),l(f.c[0],30))),Cvt(l(Rt(f,f.c.length-1),30)),n.Vg()}function yke(e){switch(e){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return e-48<<24>>24;case 97:case 98:case 99:case 100:case 101:case 102:return e-97+10<<24>>24;case 65:case 66:case 67:case 68:case 69:case 70:return e-65+10<<24>>24;default:throw ue(new gd("Invalid hexadecimal"))}}function qV(){qV=U,rAe=new D5("SPIRAL",0),Z_e=new D5("LINE_BY_LINE",1),eAe=new D5("MANHATTAN",2),J_e=new D5("JITTER",3),t1e=new D5("QUADRANTS_LINE_BY_LINE",4),nAe=new D5("QUADRANTS_MANHATTAN",5),tAe=new D5("QUADRANTS_JITTER",6),Q_e=new D5("COMBINE_LINE_BY_LINE_MANHATTAN",7),X_e=new D5("COMBINE_JITTER_MANHATTAN",8)}function gmt(e,t,n,r){var s,o,f,g,w,T;for(w=Rue(e,n),T=Rue(t,n),s=!1;w&&T&&(r||G7n(w,T,n));)f=Rue(w,n),g=Rue(T,n),mN(t),mN(e),o=w.c,jle(w,!1),jle(T,!1),n?($y(t,T.p,o),t.p=T.p,$y(e,w.p+1,o),e.p=w.p):($y(e,w.p,o),e.p=w.p,$y(t,T.p+1,o),t.p=T.p),Ha(w,null),Ha(T,null),w=f,T=g,s=!0;return s}function pmt(e){switch(e.g){case 0:return new aie;case 1:return new QS;case 3:return new Het;case 4:return new tte;case 5:return new mit;case 6:return new KI;case 2:return new XS;case 7:return new dz;case 8:return new GI;default:throw ue(new Wn("No implementation is available for the layerer "+(e.f!=null?e.f:""+e.g)))}}function t_n(e,t,n,r){var s,o,f,g,w;for(s=!1,o=!1,g=new K(r.j);g.a<g.c.c.length;)f=l(re(g),12),qe(Q(f,(ft(),zi)))===qe(n)&&(f.g.c.length==0?f.e.c.length==0||(s=!0):o=!0);return w=0,s&&s^o?w=n.j==(_t(),Xn)?-e.e[r.c.p][r.p]:t-e.e[r.c.p][r.p]:o&&s^o?w=e.e[r.c.p][r.p]+1:s&&o&&(w=n.j==(_t(),Xn)?0:t/2),w}function gle(e,t,n,r,s,o,f,g){var w,T,C;for(w=0,t!=null&&(w^=g2(t.toLowerCase())),n!=null&&(w^=g2(n)),r!=null&&(w^=g2(r)),f!=null&&(w^=g2(f)),g!=null&&(w^=g2(g)),T=0,C=o.length;T<C;T++)w^=g2(o[T]);e?w|=256:w&=-257,s?w|=16:w&=-17,this.f=w,this.i=t==null?null:(tr(t),t),this.a=n,this.d=r,this.j=o,this.g=f,this.e=g}function xke(e,t,n){var r,s;switch(s=null,t.g){case 1:s=(xl(),jAe);break;case 2:s=(xl(),zAe)}switch(r=null,n.g){case 1:r=(xl(),$Ae);break;case 2:r=(xl(),RAe);break;case 3:r=(xl(),qAe);break;case 4:r=(xl(),HAe)}return s&&r?K8(e.j,new xz(new Ll(he(le(AOn,1),jn,178,0,[l(Xr(s),178),l(Xr(r),178)])))):(Cn(),Cn(),Co)}function n_n(e){var t,n,r;switch(t=l(Q(e,(Nt(),UE)),8),rt(e,UE,new lt(t.b,t.a)),l(Q(e,Rd),255).g){case 1:rt(e,Rd,(lg(),uY));break;case 2:rt(e,Rd,(lg(),oY));break;case 3:rt(e,Rd,(lg(),QB));break;case 4:rt(e,Rd,(lg(),JB))}(e.q?e.q:(Cn(),Cn(),yg))._b(k4)&&(n=l(Q(e,k4),8),r=n.a,n.a=n.b,n.b=r)}function bmt(e,t,n,r,s,o){if(this.b=n,this.d=s,e>=t.length)throw ue(new rc("Greedy SwitchDecider: Free layer not in graph."));this.c=t[e],this.e=new $O(r),vce(this.e,this.c,(_t(),Zn)),this.i=new $O(r),vce(this.i,this.c,sr),this.f=new Nst(this.c),this.a=!o&&s.i&&!s.s&&this.c[0].k==(Jn(),Ks),this.a&&pkn(this,e,t.length)}function mmt(e,t){var n,r,s,o,f,g;o=!e.B.Hc((Xl(),dF)),f=e.B.Hc(ape),e.a=new rdt(f,o,e.c),e.n&&Q5e(e.a.n,e.n),lse(e.g,(e1(),ju),e.a),t||(r=new IA(1,o,e.c),r.n.a=e.k,J8(e.p,(_t(),Xn),r),s=new IA(1,o,e.c),s.n.d=e.k,J8(e.p,Mr,s),g=new IA(0,o,e.c),g.n.c=e.k,J8(e.p,Zn,g),n=new IA(0,o,e.c),n.n.b=e.k,J8(e.p,sr,n))}function r_n(e){var t,n,r;switch(t=l(Q(e.d,(Nt(),yp)),223),t.g){case 2:n=VIn(e);break;case 3:n=(r=new mt,Os(ji(gc(Pc(Pc(new vn(null,new kn(e.d.b,16)),new _ee),new Aee),new Lee),new yS),new QYe(r)),r);break;default:throw ue(new ic("Compaction not supported for "+t+" edges."))}dMn(e,n),Za(new pr(e.g),new YYe(e))}function i_n(e,t){var n,r,s,o,f,g,w;if(t.Ug("Process directions",1),n=l(Q(e,(Vc(),_3)),88),n!=(ea(),Q1))for(s=Fr(e.b,0);s.b!=s.d.c;){switch(r=l(Pr(s),40),g=l(Q(r,(Zi(),HB)),17).a,w=l(Q(r,UB),17).a,n.g){case 4:w*=-1;break;case 1:o=g,g=w,w=o;break;case 2:f=g,g=-w,w=f}rt(r,HB,bt(g)),rt(r,UB,bt(w))}t.Vg()}function s_n(e,t){var n;return n=new Ui,t&&mc(n,l(or(e.a,pF),96)),De(t,422)&&mc(n,l(or(e.a,bF),96)),De(t,366)?(mc(n,l(or(e.a,nc),96)),n):(De(t,84)&&mc(n,l(or(e.a,Sr),96)),De(t,207)?(mc(n,l(or(e.a,Li),96)),n):De(t,193)?(mc(n,l(or(e.a,$l),96)),n):(De(t,326)&&mc(n,l(or(e.a,js),96)),n))}function a_n(e){var t,n,r,s,o,f,g,w;for(w=new Qut,g=new K(e.a);g.a<g.c.c.length;)if(f=l(re(g),10),f.k!=(Jn(),Ks)){for(cEn(w,f,new za),o=new lr(fr(qs(f).a.Kc(),new j));Rr(o);)if(s=l(yr(o),18),!(s.c.i.k==Ks||s.d.i.k==Ks))for(r=Fr(s.a,0);r.b!=r.d.c;)n=l(Pr(r),8),t=n,jA(w,new Nk(t.a,t.b))}return w}function ple(){ple=U,ZOe=new Ki(Ufe),JOe=(m_(),XB),QOe=new mn(Kfe,JOe),XOe=(ON(),aY),RSt=new mn(lSe,XOe),YOe=(iP(),Oge),FSt=new mn(hSe,YOe),NSt=new mn(Vfe,null),WOe=(hN(),iY),BSt=new mn(Gfe,WOe),KOe=(uq(),Mge),MSt=new mn(fSe,KOe),DSt=new mn(dSe,(Hn(),!1)),ISt=new mn(gSe,bt(64)),OSt=new mn(pSe,!0),PSt=Ige}function vmt(e,t){var n,r,s,o,f,g,w,T,C,L;for(e.p=1,s=e.c,L=new bd,C=Vw(e,(qo(),$u)).Kc();C.Ob();)for(T=l(C.Pb(),12),r=new K(T.g);r.a<r.c.c.length;)n=l(re(r),18),w=n.d.i,e!=w&&(o=w.c,o.p<=s.p&&(f=s.p+1,f==t.b.c.length?(g=new vu(t),g.p=f,wt(t.b,g),Ha(w,g)):(g=l(Rt(t.b,f),30),Ha(w,g)),L.a.zc(w,L)));return L}function o_n(e,t){var n,r;if(n=l(Q(e,(Zi(),Kde)),15),!n||n.gc()<1)return null;if(n.gc()==1)return l(n.Xb(0),40);switch(r=null,t.g){case 2:r=l(uh(X8(n.Oc(),new Jte)),40);break;case 1:r=l(uh(xy(n.Oc(),new c8)),40);break;case 4:r=l(uh(X8(n.Oc(),new a$)),40);break;case 3:r=l(uh(xy(n.Oc(),new Qte)),40)}return r}function wmt(e){var t,n,r,s,o,f;if(e.a==null)if(e.a=We(th,vg,28,e.c.b.c.length,16,1),e.a[0]=!1,rs(e.c,(Nt(),Sde)))for(r=l(Q(e.c,Sde),15),n=r.Kc();n.Ob();)t=l(n.Pb(),17).a,t>0&&t<e.a.length&&(e.a[t]=!1);else for(f=new K(e.c.b),f.a<f.c.c.length&&re(f),s=1;f.a<f.c.c.length;)o=l(re(f),30),e.a[s++]=HEn(o)}function fg(){fg=U,mM=new Ki("additionalHeight"),tC=new Ki("drawingHeight"),e9=new Ki("drawingWidth"),JW=new Ki("minHeight"),vM=new Ki("minWidth"),ZW=new Ki("rows"),_4=new Ki("targetWidth"),kge=new ws("minRowIncrease",0),KCt=new ws("maxRowIncrease",0),xge=new ws("minRowDecrease",0),GCt=new ws("maxRowDecrease",0)}function ymt(e,t){var n,r,s,o;switch(s=e.b,t){case 1:{e.b|=1,e.b|=4,e.b|=8;break}case 2:{e.b|=2,e.b|=4,e.b|=8;break}case 4:{e.b|=1,e.b|=2,e.b|=4,e.b|=8;break}case 3:{e.b|=16,e.b|=8;break}case 0:{e.b|=32,e.b|=16,e.b|=8,e.b|=1,e.b|=2,e.b|=4;break}}if(e.b!=s&&e.c)for(r=new ar(e.c);r.e!=r.i.gc();)o=l(dr(r),482),n=Gl(o),Uy(n,t)}function xmt(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V;for(s=!1,f=t,g=0,w=f.length;g<w;++g)o=f[g],Ft((Hn(),!!o.e))&&!l(Rt(e.b,o.e.p),219).s&&(s=s|(T=o.e,C=l(Rt(e.b,T.p),219),L=C.e,F=xZe(n,L.length),z=L[F][0],z.k==(Jn(),Ks)?L[F]=jCn(o,L[F],n?(_t(),Zn):(_t(),sr)):C.c.mg(L,n),V=bP(e,C,n,r),dke(C.e,C.o,n),V));return s}function kmt(e,t){var n,r,s,o,f;for(o=(!t.a&&(t.a=new nt(Li,t,10,11)),t.a).i,s=new ar((!t.a&&(t.a=new nt(Li,t,10,11)),t.a));s.e!=s.i.gc();)r=l(dr(s),27),qe(at(r,(bi(),i7)))!==qe((op(),IM))&&(f=l(at(t,c7),143),n=l(at(r,c7),143),(f==n||f&&I6e(f,n))&&(!r.a&&(r.a=new nt(Li,r,10,11)),r.a).i!=0&&(o+=kmt(e,r)));return o}function c_n(e){var t,n,r,s,o,f,g;for(r=0,g=0,f=new K(e.d);f.a<f.c.c.length;)o=l(re(f),105),s=l(kc(ji(new vn(null,new kn(o.j,16)),new Qj),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)]))),15),n=null,r<=g?(n=(_t(),Xn),r+=s.gc()):g<r&&(n=(_t(),Mr),g+=s.gc()),t=n,Os(gc(s.Oc(),new Nee),new eXe(t))}function u_n(e){var t,n,r,s,o;for(o=new Pu(e.a.c.length),s=new K(e.a);s.a<s.c.c.length;){switch(r=l(re(s),10),n=l(Q(r,(Nt(),Qu)),171),t=null,n.g){case 1:case 2:t=(Jm(),F6);break;case 3:case 4:t=(Jm(),jE)}t?(rt(r,(ft(),fW),(Jm(),F6)),t==jE?RV(r,n,(qo(),Fl)):t==F6&&RV(r,n,(qo(),$u))):qn(o.c,r)}return o}function l_n(e){var t,n,r,s,o,f,g,w;for(e.b=new N2t(new Ll((_t(),he(le(Mo,1),ou,64,0,[jc,Xn,sr,Mr,Zn]))),new Ll(($w(),he(le(D1e,1),it,372,0,[g3,Kb,d3])))),f=he(le(Mo,1),ou,64,0,[jc,Xn,sr,Mr,Zn]),g=0,w=f.length;g<w;++g)for(o=f[g],n=he(le(D1e,1),it,372,0,[g3,Kb,d3]),r=0,s=n.length;r<s;++r)t=n[r],nxn(e.b,o,t,new mt)}function Tmt(e,t){var n,r,s,o,f,g,w,T,C,L;if(f=l(l($i(e.r,t),21),87),g=e.u.Hc((Pl(),im)),n=e.u.Hc(BM),r=e.u.Hc(PM),T=e.u.Hc(o9),L=e.B.Hc((Xl(),wY)),C=!n&&!r&&(T||f.gc()==2),cSn(e,t),s=null,w=null,g){for(o=f.Kc(),s=l(o.Pb(),117),w=s;o.Ob();)w=l(o.Pb(),117);s.d.b=0,w.d.c=0,C&&!s.a&&(s.d.c=0)}L&&(t9n(f),g&&(s.d.b=0,w.d.c=0))}function Emt(e,t){var n,r,s,o,f,g,w,T,C,L;if(f=l(l($i(e.r,t),21),87),g=e.u.Hc((Pl(),im)),n=e.u.Hc(BM),r=e.u.Hc(PM),w=e.u.Hc(o9),L=e.B.Hc((Xl(),wY)),T=!n&&!r&&(w||f.gc()==2),MAn(e,t),C=null,s=null,g){for(o=f.Kc(),C=l(o.Pb(),117),s=C;o.Ob();)s=l(o.Pb(),117);C.d.d=0,s.d.a=0,T&&!C.a&&(C.d.a=0)}L&&(n9n(f),g&&(C.d.d=0,s.d.a=0))}function Cmt(e,t,n){var r,s,o,f,g,w,T,C;if(s=t.k,t.p>=0)return!1;if(t.p=n.b,wt(n.e,t),s==(Jn(),Aa)||s==Su){for(f=new K(t.j);f.a<f.c.c.length;)for(o=l(re(f),12),C=(r=new K(new S8(o).a.g),new Bwe(r));Oc(C.a);)if(T=l(re(C.a),18).d,g=T.i,w=g.k,t.c!=g.c&&(w==Aa||w==Su)&&Cmt(e,g,n))return!0}return!0}function HV(e){var t;return e.Db&64?q9e(e):(t=new Af(q9e(e)),t.a+=" (changeable: ",t2(t,(e.Bb&b0)!=0),t.a+=", volatile: ",t2(t,(e.Bb&a4)!=0),t.a+=", transient: ",t2(t,(e.Bb&Zy)!=0),t.a+=", defaultValueLiteral: ",Jo(t,e.j),t.a+=", unsettable: ",t2(t,(e.Bb&Cl)!=0),t.a+=", derived: ",t2(t,(e.Bb&_d)!=0),t.a+=")",t.a)}function h_n(e,t){var n,r,s,o,f;return s=t.qi(e.a),s&&(r=(!s.b&&(s.b=new lh((En(),Do),Qc,s)),s.b),n=Zr(t1(r,oo)),n!=null&&(o=n.lastIndexOf("#"),f=o==-1?s4e(e,t.jk(),n):o==0?pN(e,null,(Yn(1,n.length+1),n.substr(1))):pN(e,(Va(0,o,n.length),n.substr(0,o)),(Yn(o+1,n.length+1),n.substr(o+1))),De(f,156)))?l(f,156):null}function f_n(e,t){var n,r,s,o,f;return r=t.qi(e.a),r&&(n=(!r.b&&(r.b=new lh((En(),Do),Qc,r)),r.b),o=Zr(t1(n,x0e)),o!=null&&(s=o.lastIndexOf("#"),f=s==-1?s4e(e,t.jk(),o):s==0?pN(e,null,(Yn(1,o.length+1),o.substr(1))):pN(e,(Va(0,s,o.length),o.substr(0,s)),(Yn(s+1,o.length+1),o.substr(s+1))),De(f,156)))?l(f,156):null}function d_n(e){var t,n,r,s,o,f,g,w,T,C,L,F;for(s=uCn(e.d),f=l(Q(e.b,(OA(),dAe)),107),g=f.b+f.c,w=f.d+f.a,C=s.d.a*e.e+g,T=s.b.a*e.f+w,zie(e.b,new lt(C,T)),F=new K(e.g);F.a<F.c.c.length;)L=l(re(F),568),t=L.g-s.a.a,n=L.i-s.c.a,r=Pi(Sfn(new lt(t,n),L.a,L.b),md(q_(Xa(Mye(L.e)),L.d*L.a,L.c*L.b),-.5)),o=Dye(L.e),Wun(L.e,ya(r,o))}function g_n(e,t){var n,r,s,o,f,g,w,T,C,L,F;for(t.Ug("Restoring reversed edges",1),w=new K(e.b);w.a<w.c.c.length;)for(g=l(re(w),30),C=new K(g.a);C.a<C.c.c.length;)for(T=l(re(C),10),F=new K(T.j);F.a<F.c.c.length;)for(L=l(re(F),12),f=kd(L.g),r=f,s=0,o=r.length;s<o;++s)n=r[s],Ft(Pt(Q(n,(ft(),W1))))&&Jw(n,!1);t.Vg()}function p_n(e,t,n,r){var s,o,f,g,w;for(w=We(Oa,dt,109,(_t(),he(le(Mo,1),ou,64,0,[jc,Xn,sr,Mr,Zn])).length,0,2),o=he(le(Mo,1),ou,64,0,[jc,Xn,sr,Mr,Zn]),f=0,g=o.length;f<g;++f)s=o[f],w[s.g]=We(Oa,tc,28,e.c[s.g],15,1);return zgt(w,e,Xn),zgt(w,e,Mr),Mue(w,e,Xn,t,n,r),Mue(w,e,sr,t,n,r),Mue(w,e,Mr,t,n,r),Mue(w,e,Zn,t,n,r),w}function b_n(e,t,n){if(Hu(e.a,t)){if(K0(l(or(e.a,t),49),n))return 1}else Ti(e.a,t,new Ys);if(Hu(e.a,n)){if(K0(l(or(e.a,n),49),t))return-1}else Ti(e.a,n,new Ys);if(Hu(e.b,t)){if(K0(l(or(e.b,t),49),n))return-1}else Ti(e.b,t,new Ys);if(Hu(e.b,n)){if(K0(l(or(e.b,n),49),t))return 1}else Ti(e.b,n,new Ys);return 0}function m_n(e){var t,n,r,s,o,f;e.q==(Pa(),_g)||e.q==Au||(s=e.f.n.d+cH(l(Zo(e.b,(_t(),Xn)),127))+e.c,t=e.f.n.a+cH(l(Zo(e.b,Mr),127))+e.c,r=l(Zo(e.b,sr),127),f=l(Zo(e.b,Zn),127),o=b.Math.max(0,r.n.d-s),o=b.Math.max(o,f.n.d-s),n=b.Math.max(0,r.n.a-t),n=b.Math.max(n,f.n.a-t),r.n.d=o,f.n.d=o,r.n.a=n,f.n.a=n)}function kke(e,t,n,r){var s,o,f,g,w,T;if(n==null){for(s=l(e.g,124),g=0;g<e.i;++g)if(f=s[g],f.Lk()==t)return ko(e,f,r)}return o=(Ro(),l(t,69).xk()?l(n,76):cg(t,n)),ch(e.e)?(T=!VN(e,t),r=Fu(e,o,r),w=t.Jk()?kb(e,3,t,null,n,JT(e,t,n,De(t,102)&&(l(t,19).Bb&Lo)!=0),T):kb(e,1,t,t.ik(),n,-1,T),r?r.nj(w):r=w):r=Fu(e,o,r),r}function Smt(){this.b=new u2,this.d=new u2,this.e=new u2,this.c=new u2,this.a=new Nr,this.f=new Nr,K5(Ca,new Yne,new LI),K5(lNe,new v5,new tk),K5(BAe,new AS,new MI),K5(FAe,new Qne,new Jne),K5(U_t,new T$,new E$),K5(LOn,new h8,new rb),K5(IOn,new y$,new x$),K5(MOn,new k$,new Xne),K5(DOn,new f8,new ay),K5(POn,new Wp,new ib)}function WA(e,t){var n,r,s,o,f;for(e=e==null?cl:(tr(e),e),s=0;s<t.length;s++)t[s]=dCn(t[s]);for(n=new A5,f=0,r=0;r<t.length&&(o=e.indexOf("%s",f),o!=-1);)n.a+=""+ef(e==null?cl:(tr(e),e),f,o),mu(n,t[r++]),f=o+2;if(qct(n,e,f,e.length),r<t.length){for(n.a+=" [",mu(n,t[r++]);r<t.length;)n.a+=To,mu(n,t[r++]);n.a+="]"}return n.a}function Tke(e,t){var n,r,s,o,f,g,w;for(n=0,w=new K(t);w.a<w.c.c.length;){for(g=l(re(w),12),d8e(e.b,e.d[g.p]),f=0,s=new N1(g.b);Oc(s.a)||Oc(s.b);)r=l(Oc(s.a)?re(s.a):re(s.b),18),jat(r)?(o=M3e(e,g==r.c?r.d:r.c),o>e.d[g.p]&&(n+=M6e(e.b,o),Tb(e.a,bt(o)))):++f;for(n+=e.b.d*f;!h_(e.a);)u7e(e.b,l(Q8(e.a),17).a)}return n}function _mt(e){var t,n,r,s,o,f;return o=0,t=Of(e),t.kk()&&(o|=4),e.Bb&Cl&&(o|=2),De(e,102)?(n=l(e,19),s=jo(n),n.Bb&nu&&(o|=32),s&&(wr(Cy(s)),o|=8,f=s.t,(f>1||f==-1)&&(o|=16),s.Bb&nu&&(o|=64)),n.Bb&Lo&&(o|=a4),o|=b0):De(t,469)?o|=512:(r=t.kk(),r&&r.i&1&&(o|=256)),e.Bb&512&&(o|=128),o}function v_n(e,t){var n;return e.f==wpe?(n=Lw(ac((kl(),no),t)),e.e?n==4&&t!=(Tx(),l9)&&t!=(Tx(),u9)&&t!=(Tx(),ype)&&t!=(Tx(),xpe):n==2):e.d&&(e.d.Hc(t)||e.d.Hc(ix(ac((kl(),no),t)))||e.d.Hc(b6((kl(),no),e.b,t)))?!0:e.f&&ake((kl(),e.f),QO(ac(no,t)))?(n=Lw(ac(no,t)),e.e?n==4:n==2):!1}function w_n(e){var t,n,r,s,o,f,g,w,T,C,L,F,z;for(F=-1,z=0,T=e,C=0,L=T.length;C<L;++C){for(w=T[C],o=w,f=0,g=o.length;f<g;++f)for(s=o[f],t=new nut(F==-1?e[0]:e[F],l(Q(Ja(s),(Nt(),Tg)),284),Ngt(s),Ft(Pt(Q(Ja(s),hde)))),n=0;n<s.j.c.length;n++)for(r=n+1;r<s.j.c.length;r++)iat(t,l(Rt(s.j,n),12),l(Rt(s.j,r),12))>0&&++z;++F}return z}function y_n(e,t,n,r){var s,o,f,g,w,T,C,L;return f=l(at(n,(bi(),r9)),8),w=f.a,C=f.b+e,s=b.Math.atan2(C,w),s<0&&(s+=fv),s+=t,s>fv&&(s-=fv),g=l(at(r,r9),8),T=g.a,L=g.b+e,o=b.Math.atan2(L,T),o<0&&(o+=fv),o+=t,o>fv&&(o-=fv),A1(),h0(1e-10),b.Math.abs(s-o)<=1e-10||s==o||isNaN(s)&&isNaN(o)?0:s<o?-1:s>o?1:bw(isNaN(s),isNaN(o))}function ble(e){var t,n,r,s,o,f,g;for(g=new Nr,r=new K(e.a.b);r.a<r.c.c.length;)t=l(re(r),60),Ti(g,t,new mt);for(s=new K(e.a.b);s.a<s.c.c.length;)for(t=l(re(s),60),t.i=oa,f=t.c.Kc();f.Ob();)o=l(f.Pb(),60),l(dc(zo(g.f,o)),15).Fc(t);for(n=new K(e.a.b);n.a<n.c.c.length;)t=l(re(n),60),t.c.$b(),t.c=l(dc(zo(g.f,t)),15);Ybt(e)}function mle(e){var t,n,r,s,o,f,g;for(g=new Nr,r=new K(e.a.b);r.a<r.c.c.length;)t=l(re(r),86),Ti(g,t,new mt);for(s=new K(e.a.b);s.a<s.c.c.length;)for(t=l(re(s),86),t.o=oa,f=t.f.Kc();f.Ob();)o=l(f.Pb(),86),l(dc(zo(g.f,o)),15).Fc(t);for(n=new K(e.a.b);n.a<n.c.c.length;)t=l(re(n),86),t.f.$b(),t.f=l(dc(zo(g.f,t)),15);Bbt(e)}function x_n(e,t,n,r){var s,o;for(C8n(e,t,n,r),Nwe(t,e.j-t.j+n),Pz(t,e.k-t.k+r),o=new K(t.f);o.a<o.c.c.length;)switch(s=l(re(o),334),s.a.g){case 0:kT(e,t.g+s.b.a,0,t.g+s.c.a,t.i-1);break;case 1:kT(e,t.g+t.o,t.i+s.b.a,e.o-1,t.i+s.c.a);break;case 2:kT(e,t.g+s.b.a,t.i+t.p,t.g+s.c.a,e.p-1);break;default:kT(e,0,t.i+s.b.a,t.g-1,t.i+s.c.a)}}function k_n(e,t){var n,r,s,o,f,g,w,T;for(o=new mt,t.b.c.length=0,n=l(kc(h6e(new vn(null,new kn(new pr(e.a.b),1))),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)]))),15),s=n.Kc();s.Ob();)if(r=l(s.Pb(),17),f=T6e(e.a,r),f.b!=0)for(g=new vu(t),qn(o.c,g),g.p=r.a,T=Fr(f,0);T.b!=T.d.c;)w=l(Pr(T),10),Ha(w,g);aa(t.b,o)}function UV(e,t,n,r,s){var o,f,g;try{if(t>=e.o)throw ue(new e3e);g=t>>5,f=t&31,o=u0(1,Yr(u0(f,1))),s?e.n[n][g]=X0(e.n[n][g],o):e.n[n][g]=xa(e.n[n][g],Q4e(o)),o=u0(o,1),r?e.n[n][g]=X0(e.n[n][g],o):e.n[n][g]=xa(e.n[n][g],Q4e(o))}catch(w){throw w=ms(w),De(w,333)?ue(new rc(Fhe+e.o+"*"+e.p+Rhe+t+To+n+jhe)):ue(w)}}function T_n(e,t,n,r){var s,o,f,g,w,T,C,L,F;for(F=new n2(new yXe(e)),g=he(le(kg,1),S2,10,0,[t,n]),w=0,T=g.length;w<T;++w)for(f=g[w],L=CA(f,r).Kc();L.Ob();)for(C=l(L.Pb(),12),o=new N1(C.b);Oc(o.a)||Oc(o.b);)s=l(Oc(o.a)?re(o.a):re(o.b),18),Ao(s)||(F.a.zc(C,(Hn(),Ub))==null,jat(s)&&KO(F,C==s.c?s.d:s.c));return Xr(F),new Ml(F)}function Eke(e,t,n,r){var s,o,f;t&&(o=ze(Ge(Q(t,(Zi(),N2))))+r,f=n+ze(Ge(Q(t,UW)))/2,rt(t,HB,bt(Yr(tu(b.Math.round(o))))),rt(t,UB,bt(Yr(tu(b.Math.round(f))))),t.d.b==0||Eke(e,l(qq((s=Fr(new Kg(t).a.d,0),new _5(s))),40),n+ze(Ge(Q(t,UW)))+e.b,r+ze(Ge(Q(t,eC)))),Q(t,Zde)!=null&&Eke(e,l(Q(t,Zde),40),n,r))}function E_n(e,t){var n,r,s,o,f,g,w,T,C,L,F;for(w=Ja(t.a),s=ze(Ge(Q(w,(Nt(),Sv))))*2,C=ze(Ge(Q(w,G6))),T=b.Math.max(s,C),o=We(Oa,tc,28,t.f-t.c+1,15,1),r=-T,n=0,g=t.b.Kc();g.Ob();)f=l(g.Pb(),10),r+=e.a[f.c.p]+T,o[n++]=r;for(r+=e.a[t.a.c.p]+T,o[n++]=r,F=new K(t.e);F.a<F.c.c.length;)L=l(re(F),10),r+=e.a[L.c.p]+T,o[n++]=r;return o}function C_n(e,t){var n,r,s,o;if(o=l(at(e,(bi(),o7)),64).g-l(at(t,o7),64).g,o!=0)return o;if(n=l(at(e,Zge),17),r=l(at(t,Zge),17),n&&r&&(s=n.a-r.a,s!=0))return s;switch(l(at(e,o7),64).g){case 1:return Xi(e.i,t.i);case 2:return Xi(e.j,t.j);case 3:return Xi(t.i,e.i);case 4:return Xi(t.j,e.j);default:throw ue(new ic(sEe))}}function Cke(e){var t,n,r;return e.Db&64?Yue(e):(t=new Eh(SSe),n=e.k,n?li(li((t.a+=' "',t),n),'"'):(!e.n&&(e.n=new nt(nc,e,1,7)),e.n.i>0&&(r=(!e.n&&(e.n=new nt(nc,e,1,7)),l(Oe(e.n,0),135)).a,!r||li(li((t.a+=' "',t),r),'"'))),li(lw(li(lw(li(lw(li(lw((t.a+=" (",t),e.i),","),e.j)," | "),e.g),","),e.f),")"),t.a)}function Amt(e){var t,n,r;return e.Db&64?Yue(e):(t=new Eh(_Se),n=e.k,n?li(li((t.a+=' "',t),n),'"'):(!e.n&&(e.n=new nt(nc,e,1,7)),e.n.i>0&&(r=(!e.n&&(e.n=new nt(nc,e,1,7)),l(Oe(e.n,0),135)).a,!r||li(li((t.a+=' "',t),r),'"'))),li(lw(li(lw(li(lw(li(lw((t.a+=" (",t),e.i),","),e.j)," | "),e.g),","),e.f),")"),t.a)}function S_n(e,t){var n,r,s,o,f;for(t==(xA(),jde)&&aP(l($i(e.a,(zy(),EB)),15)),s=l($i(e.a,(zy(),EB)),15).Kc();s.Ob();)switch(r=l(s.Pb(),105),n=l(Rt(r.j,0),113).d.j,o=new Ml(r.j),Gs(o,new Vj),t.g){case 2:Hue(e,o,n,($w(),Kb),1);break;case 1:case 0:f=fCn(o),Hue(e,new c2(o,0,f),n,($w(),Kb),0),Hue(e,new c2(o,f,o.c.length),n,Kb,1)}}function vle(e,t){var n,r,s,o,f,g,w;if(t==null||t.length==0)return null;if(s=l(wu(e.a,t),143),!s){for(r=(g=new pi(e.b).a.vc().Kc(),new fs(g));r.a.Ob();)if(n=(o=l(r.a.Pb(),44),l(o.md(),143)),f=n.c,w=t.length,wn(f.substr(f.length-w,w),t)&&(t.length==f.length||io(f,f.length-t.length-1)==46)){if(s)return null;s=n}s&&sc(e.a,t,s)}return s}function __n(e,t){var n,r,s,o;return n=new Yd,r=l(kc(gc(new vn(null,new kn(e.f,16)),n),Ly(new xt,new Ri,new Rn,new zn,he(le(uc,1),it,108,0,[(Nl(),o4),Cc]))),21),s=r.gc(),r=l(kc(gc(new vn(null,new kn(t.f,16)),n),Ly(new xt,new Ri,new Rn,new zn,he(le(uc,1),it,108,0,[o4,Cc]))),21),o=r.gc(),s<o?-1:s==o?0:1}function Lmt(e){var t,n,r;rs(e,(Nt(),y3))&&(r=l(Q(e,y3),21),!r.dc()&&(n=(t=l(G0(Ko),9),new Jh(t,l(o0(t,t.length),9),0)),r.Hc((Vy(),jh))?f0(n,jh):f0(n,E0),r.Hc(zf)||f0(n,zf),r.Hc(k0)?f0(n,C0):r.Hc(xp)?f0(n,Sg):r.Hc(T0)&&f0(n,qf),r.Hc(C0)?f0(n,k0):r.Hc(Sg)?f0(n,xp):r.Hc(qf)&&f0(n,T0),rt(e,y3,n)))}function A_n(e){var t,n,r,s,o,f,g;for(s=l(Q(e,(ft(),b3)),10),r=e.j,n=(Sn(0,r.c.length),l(r.c[0],12)),f=new K(s.j);f.a<f.c.c.length;)if(o=l(re(f),12),qe(o)===qe(Q(n,zi))){o.j==(_t(),Xn)&&e.p>s.p?(ga(o,Mr),o.d&&(g=o.o.b,t=o.a.b,o.a.b=g-t)):o.j==Mr&&s.p>e.p&&(ga(o,Xn),o.d&&(g=o.o.b,t=o.a.b,o.a.b=-(g-t)));break}return s}function mP(e,t,n,r,s){var o,f,g,w,T,C,L;if(!(De(t,207)||De(t,366)||De(t,193)))throw ue(new Wn("Method only works for ElkNode-, ElkLabel and ElkPort-objects."));return f=e.a/2,w=t.i+r-f,C=t.j+s-f,T=w+t.g+e.a,L=C+t.f+e.a,o=new pl,ci(o,new lt(w,C)),ci(o,new lt(w,L)),ci(o,new lt(T,L)),ci(o,new lt(T,C)),g=new ale(o),mc(g,t),n&&Ti(e.b,t,g),g}function YT(e,t,n){var r,s,o,f,g,w,T,C,L,F;for(o=new lt(t,n),C=new K(e.a);C.a<C.c.c.length;)for(T=l(re(C),10),Pi(T.n,o),F=new K(T.j);F.a<F.c.c.length;)for(L=l(re(F),12),s=new K(L.g);s.a<s.c.c.length;)for(r=l(re(s),18),Ny(r.a,o),f=l(Q(r,(Nt(),lc)),75),f&&Ny(f,o),w=new K(r.b);w.a<w.c.c.length;)g=l(re(w),72),Pi(g.n,o)}function L_n(e,t,n){var r,s,o,f,g,w,T,C,L,F;for(o=new lt(t,n),C=new K(e.a);C.a<C.c.c.length;)for(T=l(re(C),10),Pi(T.n,o),F=new K(T.j);F.a<F.c.c.length;)for(L=l(re(F),12),s=new K(L.g);s.a<s.c.c.length;)for(r=l(re(s),18),Ny(r.a,o),f=l(Q(r,(Nt(),lc)),75),f&&Ny(f,o),w=new K(r.b);w.a<w.c.c.length;)g=l(re(w),72),Pi(g.n,o)}function Mmt(e){if((!e.b&&(e.b=new An(Sr,e,4,7)),e.b).i==0)throw ue(new O8("Edges must have a source."));if((!e.c&&(e.c=new An(Sr,e,5,8)),e.c).i==0)throw ue(new O8("Edges must have a target."));if(!e.b&&(e.b=new An(Sr,e,4,7)),!(e.b.i<=1&&(!e.c&&(e.c=new An(Sr,e,5,8)),e.c.i<=1)))throw ue(new O8("Hyperedges are not supported."))}function Ske(e,t){var n,r,s,o,f,g,w,T,C,L;for(L=0,o=new H5,Tb(o,t);o.b!=o.c;)for(w=l(Q8(o),219),T=0,C=l(Q(t.j,(Nt(),Tg)),284),f=ze(Ge(Q(t.j,vW))),g=ze(Ge(Q(t.j,qMe))),C!=(Td(),I2)&&(T+=f*IEn(w.e,C),T+=g*w_n(w.e)),L+=Egt(w.d,w.e)+T,s=new K(w.b);s.a<s.c.c.length;)r=l(re(s),36),n=l(Rt(e.b,r.p),219),n.s||(L+=AV(e,n));return L}function Cd(){Cd=U;var e;for(bK=new tp(1,1),U0e=new tp(1,10),FL=new tp(0,0),Y6t=new tp(-1,1),X6t=he(le(M6,1),dt,92,0,[FL,bK,new tp(1,2),new tp(1,3),new tp(1,4),new tp(1,5),new tp(1,6),new tp(1,7),new tp(1,8),new tp(1,9),U0e]),mK=We(M6,dt,92,32,0,1),e=0;e<mK.length;e++)mK[e]=Pq(u0(1,e),0)?Db(u0(1,e)):Z_(Db(f2(u0(1,e))))}function Dmt(e,t,n,r,s,o,f){if(e.c=r.Lf().a,e.d=r.Lf().b,s&&(e.c+=s.Lf().a,e.d+=s.Lf().b),e.b=t.Mf().a,e.a=t.Mf().b,!s)n?e.c-=f+t.Mf().a:e.c+=r.Mf().a+f;else switch(s.ag().g){case 0:case 2:e.c+=s.Mf().a+f+o.a+f;break;case 4:e.c-=f+o.a+f+t.Mf().a;break;case 1:e.c+=s.Mf().a+f,e.d-=f+o.b+f+t.Mf().b;break;case 3:e.c+=s.Mf().a+f,e.d+=s.Mf().b+f+o.b+f}}function Imt(e,t){var n,r;for(this.b=new mt,this.e=new mt,this.a=e,this.d=t,G6n(this),J5n(this),this.b.dc()?this.c=e.c.p:this.c=l(this.b.Xb(0),10).c.p,this.e.c.length==0?this.f=e.c.p:this.f=l(Rt(this.e,this.e.c.length-1),10).c.p,r=l(Q(e,(ft(),YL)),15).Kc();r.Ob();)if(n=l(r.Pb(),72),rs(n,(Nt(),xW))){this.d=l(Q(n,xW),232);break}}function XT(e,t,n){var r,s,o,f,g,w,T,C;for(r=l(or(e.a,t),49),o=l(or(e.a,n),49),s=l(or(e.e,t),49),f=l(or(e.e,n),49),r.a.zc(n,r),f.a.zc(t,f),C=o.a.ec().Kc();C.Ob();)T=l(C.Pb(),10),r.a.zc(T,r),sa(l(or(e.e,T),49),t),Ga(l(or(e.e,T),49),s);for(w=s.a.ec().Kc();w.Ob();)g=l(w.Pb(),10),f.a.zc(g,f),sa(l(or(e.a,g),49),n),Ga(l(or(e.a,g),49),o)}function vP(e,t,n){var r,s,o,f,g,w,T,C;for(r=l(or(e.a,t),49),o=l(or(e.a,n),49),s=l(or(e.b,t),49),f=l(or(e.b,n),49),r.a.zc(n,r),f.a.zc(t,f),C=o.a.ec().Kc();C.Ob();)T=l(C.Pb(),10),r.a.zc(T,r),sa(l(or(e.b,T),49),t),Ga(l(or(e.b,T),49),s);for(w=s.a.ec().Kc();w.Ob();)g=l(w.Pb(),10),f.a.zc(g,f),sa(l(or(e.a,g),49),n),Ga(l(or(e.a,g),49),o)}function ff(e,t,n){var r,s,o,f,g,w,T,C;for(r=l(or(e.a,t),49),o=l(or(e.a,n),49),s=l(or(e.d,t),49),f=l(or(e.d,n),49),r.a.zc(n,r),f.a.zc(t,f),C=o.a.ec().Kc();C.Ob();)T=l(C.Pb(),12),r.a.zc(T,r),sa(l(or(e.d,T),49),t),Ga(l(or(e.d,T),49),s);for(w=s.a.ec().Kc();w.Ob();)g=l(w.Pb(),12),f.a.zc(g,f),sa(l(or(e.a,g),49),n),Ga(l(or(e.a,g),49),o)}function M_n(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V;if(o=n,n<r)for(F=(z=new LN(e.p),V=new LN(e.p),Ga(z.e,e.e),z.q=e.q,z.r=V,SH(z),Ga(V.j,e.j),V.r=z,SH(V),new fa(z,V)),L=l(F.a,118),C=l(F.b,118),s=(Sn(o,t.c.length),l(t.c[o],339)),f=omt(e,L,C,s),T=n+1;T<=r;T++)g=(Sn(T,t.c.length),l(t.c[T],339)),w=omt(e,L,C,g),V6n(g,w,s,f)&&(s=g,f=w,o=T);return o}function D_n(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V;for(f=l(Oe(t,0),27),Vu(f,0),Gu(f,0),F=new mt,qn(F.c,f),g=f,o=new s5e(e.a,f.g,f.f,(VA(),YB)),z=1;z<t.i;z++)V=l(Oe(t,z),27),w=Lle(e,Z6,V,g,o,F,n),T=Lle(e,t9,V,g,o,F,n),C=Lle(e,kM,V,g,o,F,n),L=Lle(e,xM,V,g,o,F,n),s=aMn(e,w,T,C,L,V,g,r),Vu(V,s.d),Gu(V,s.e),Re(s,YB),o=s,g=V,qn(F.c,V);return o}function I_n(e,t,n){var r,s,o,f,g,w,T,C,L,F;if(C=null,F=t,L=xut(e,hut(n),F),gT(L,Zg(F,Pd)),f=Pw(F,LSe),r=new Ktt(e,L),tTn(r.a,r.b,f),g=Pw(F,u0e),s=new Wtt(e,L),nTn(s.a,s.b,g),(!L.b&&(L.b=new An(Sr,L,4,7)),L.b).i==0||(!L.c&&(L.c=new An(Sr,L,5,8)),L.c).i==0)throw o=Zg(F,Pd),w=Y4t+o,T=w+EE,ue(new dd(T));return EV(F,L),BIn(e,F,L),C=Oce(e,F,L),C}function O_n(e,t){var n,r,s,o,f,g,w;for(s=We(Ur,fi,28,e.e.a.c.length,15,1),f=new K(e.e.a);f.a<f.c.c.length;)o=l(re(f),125),s[o.d]+=o.b.a.c.length;for(g=HO(t);g.b!=0;)for(o=l(g.b==0?null:(br(g.b!=0),sf(g,g.a.a)),125),r=ux(new K(o.g.a));r.Ob();)n=l(r.Pb(),218),w=n.e,w.e=b.Math.max(w.e,o.e+n.a),--s[w.d],s[w.d]==0&&_s(g,w,g.c.b,g.c)}function Omt(e){var t,n,r,s,o,f,g,w,T,C,L;for(n=ao,s=Ni,g=new K(e.e.a);g.a<g.c.c.length;)o=l(re(g),125),s=b.Math.min(s,o.e),n=b.Math.max(n,o.e);for(t=We(Ur,fi,28,n-s+1,15,1),f=new K(e.e.a);f.a<f.c.c.length;)o=l(re(f),125),o.e-=s,++t[o.e];if(r=0,e.k!=null)for(T=e.k,C=0,L=T.length;C<L&&(w=T[C],t[r++]+=w,t.length!=r);++C);return t}function N_n(e,t){var n,r,s,o,f,g;if(t.Ug("Edge routing",1),s=l(Q(e,(Vc(),ege)),392),s==(kA(),Gde))Zvn(e);else if(s==zB)for(l(uh(ET(ji(new vn(null,new kn(e.b,16)),new Kte))),40),o=ze(Ge(Q(e,PIe))),f=ze(Ge(Q(e,MIe))),g=l(Q(e,_3),88),jIn(e,g,o),bOn(e,g,o,f),yOn(e,g,o,f),r=Fr(e.a,0);r.b!=r.d.c;)n=l(Pr(r),65),n.a.b<2&&N9e(n);t.Vg()}function Nmt(e){switch(e.d){case 9:case 8:return!0;case 3:case 5:case 4:case 6:return!1;case 7:return l(gke(e),17).a==e.o;case 1:case 2:{if(e.o==-2)return!1;switch(e.p){case 0:case 1:case 2:case 6:case 5:case 7:return pw(e.k,e.f);case 3:case 4:return e.j==e.e;default:return e.n==null?e.g==null:Fi(e.n,e.g)}}default:return!1}}function P_n(e,t){var n,r,s;switch(t.Ug("Breaking Point Insertion",1),r=new W9e(e),l(Q(e,(Nt(),Cde)),351).g){case 2:s=new t$;break;case 0:s=new ES;break;default:s=new n$}if(n=s.og(e,r),Ft(Pt(Q(e,SDe)))&&(n=EMn(e,n)),!s.pg()&&rs(e,MW))switch(l(Q(e,MW),352).g){case 2:n=d2t(r,n);break;case 1:n=ipt(r,n)}if(n.dc()){t.Vg();return}UIn(e,n),t.Vg()}function Pmt(e,t,n){var r,s,o,f,g,w,T,C,L;for(o=new Pu(t.c.length),T=new K(t);T.a<T.c.c.length;)f=l(re(T),10),wt(o,e.b[f.c.p][f.p]);for(wMn(e,o,n),L=null;L=lDn(o);)ZAn(e,l(L.a,239),l(L.b,239),o);for(t.c.length=0,s=new K(o);s.a<s.c.c.length;)for(r=l(re(s),239),g=r.d,w=0,C=g.length;w<C;++w)f=g[w],qn(t.c,f),e.a[f.c.p][f.p].a=L1(r.g,r.d[0]).a}function Bmt(e){fw(e,new iv(uw(aw(cw(ow(new x1,xL),"ELK Fixed"),"Keeps the current layout as it is, without any automatic modification. Optional coordinates can be given for nodes and edge bend points."),new C$))),pt(e,xL,r3,fPe),pt(e,xL,NG,It(DM)),pt(e,xL,wSe,It(cPe)),pt(e,xL,T6,It(uPe)),pt(e,xL,Bx,It(hPe)),pt(e,xL,dE,It(lPe))}function VV(e,t,n){var r,s,o,f,g;if(r=Yr(go(pg,og(Yr(go(t==null?0:ts(t),bg)),15))),g=Yr(go(pg,og(Yr(go(n==null?0:ts(n),bg)),15))),o=pA(e,t,r),o&&g==o.f&&yd(n,o.i))return n;if(f=bA(e,n,g),f)throw ue(new Wn("value already present: "+n));return s=new AH(t,r,n,g),o?(h6(e,o),cP(e,s,o),o.e=null,o.c=null,o.i):(cP(e,s,null),qgt(e),null)}function B_n(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V;C=n.a.c,f=n.a.c+n.a.b,o=l(or(n.c,t),468),z=o.f,V=o.a,o.b?w=new lt(f,z):w=new lt(C,z),o.c?L=new lt(C,V):L=new lt(f,V),s=C,n.p||(s+=e.c),s+=n.F+n.v*e.b,T=new lt(s,z),F=new lt(s,V),dA(t.a,he(le(Ca,1),dt,8,0,[w,T])),g=n.d.a.gc()>1,g&&(r=new lt(s,n.b),ci(t.a,r)),dA(t.a,he(le(Ca,1),dt,8,0,[F,L]))}function Nf(){Nf=U,PW=new dy(Id,0),BB=new dy("NIKOLOV",1),FB=new dy("NIKOLOV_PIXEL",2),jDe=new dy("NIKOLOV_IMPROVED",3),$De=new dy("NIKOLOV_IMPROVED_PIXEL",4),RDe=new dy("DUMMYNODE_PERCENTAGE",5),zDe=new dy("NODECOUNT_PERCENTAGE",6),BW=new dy("NO_BOUNDARY",7),C3=new dy("MODEL_ORDER_LEFT_TO_RIGHT",8),E4=new dy("MODEL_ORDER_RIGHT_TO_LEFT",9)}function F_n(e){var t,n,r,s,o;for(r=e.length,t=new f_,o=0;o<r;)if(n=io(e,o++),!(n==9||n==10||n==12||n==13||n==32)){if(n==35){for(;o<r&&(n=io(e,o++),!(n==13||n==10)););continue}n==92&&o<r?(s=(Yn(o,e.length),e.charCodeAt(o)))==35||s==9||s==10||s==12||s==13||s==32?(Kk(t,s&ta),++o):(t.a+="\\",Kk(t,s&ta),++o):Kk(t,n&ta)}return t.a}function _ke(){_ke=U,kCt=new mn(qCe,(Hn(),!1)),SCt=new mn(HCe,bt(0)),_Ct=new mn(UCe,0),ACt=new mn(zG,!1),KIe=(FN(),WW),ECt=new mn(Rfe,KIe),bt(0),TCt=new mn(jfe,bt(1)),YIe=(PU(),bge),ICt=new mn(VCe,YIe),XIe=(oU(),hge),OCt=new mn(GCe,XIe),WIe=(bV(),pge),CCt=new mn(KCe,WIe),DCt=new mn($fe,0),LCt=new mn(zfe,!1),MCt=new mn(WCe,!1)}function R_n(e,t){var n,r,s;for(r=new K(t);r.a<r.c.c.length;)if(n=l(re(r),27),xn(e.a,n,n),xn(e.b,n,n),s=Gy(n),s.c.length!=0)for(e.d&&e.d.Gg(s),xn(e.a,n,(Sn(0,s.c.length),l(s.c[0],27))),xn(e.b,n,l(Rt(s,s.c.length-1),27));Mce(s).c.length!=0;)s=Mce(s),e.d&&e.d.Gg(s),xn(e.a,n,(Sn(0,s.c.length),l(s.c[0],27))),xn(e.b,n,l(Rt(s,s.c.length-1),27))}function wle(e,t,n){var r,s,o,f,g,w;if(t)if(n<=-1){if(r=Mn(t.Dh(),-1-n),De(r,102))return l(r,19);for(f=l(t.Mh(r),160),g=0,w=f.gc();g<w;++g)if(qe(f.Ul(g))===qe(e)&&(s=f.Tl(g),De(s,102)&&(o=l(s,19),o.Bb&nu)))return o;throw ue(new ic("The containment feature could not be located"))}else return jo(l(Mn(e.Dh(),n),19));else return null}function j_n(e){var t,n,r,s,o,f,g,w,T,C;for(n=0,g=new K(e.d);g.a<g.c.c.length;)f=l(re(g),105),f.i&&(f.i.c=n++);for(t=Fm(th,[dt,vg],[183,28],16,[n,n],2),C=e.d,s=0;s<C.c.length;s++)if(w=(Sn(s,C.c.length),l(C.c[s],105)),w.i)for(o=s+1;o<C.c.length;o++)T=(Sn(o,C.c.length),l(C.c[o],105)),T.i&&(r=h9n(w,T),t[w.i.c][T.i.c]=r,t[T.i.c][w.i.c]=r);return t}function Ake(){Ake=U,tSt=new mn(QCe,(Hn(),!1)),bt(-1),YCt=new mn(JCe,bt(-1)),bt(-1),XCt=new mn(ZCe,bt(-1)),QCt=new mn(eSe,!1),mOe=(ZH(),_ge),sSt=new mn(tSe,mOe),aSt=new mn(nSe,-1),bOe=(YU(),Tge),iSt=new mn(rSe,bOe),rSt=new mn(iSe,!0),pOe=(cU(),Age),eSt=new mn(sSe,pOe),ZCt=new mn(aSe,!1),bt(1),JCt=new mn(oSe,bt(1)),nSt=new Ki(cSe)}function YA(){YA=U,Vde=new gw("ROOT_PROC",0),lIe=new gw("FAN_PROC",1),gIe=new gw("LEVEL_PROC",2),pIe=new gw("NEIGHBORS_PROC",3),dIe=new gw("LEVEL_HEIGHT",4),uIe=new gw("DIRECTION_PROC",5),bIe=new gw("NODE_POSITION_PROC",6),oIe=new gw("COMPACTION_PROC",7),fIe=new gw("LEVEL_COORDS",8),hIe=new gw("GRAPH_BOUNDS_PROC",9),cIe=new gw("DETREEIFYING_PROC",10)}function Lke(e,t){var n,r,s,o,f,g,w,T,C,L;for(L=pc(t),T=null,s=!1,g=0,C=fu(L.a).i;g<C;++g)f=l(CP(L,g,(o=l(Oe(fu(L.a),g),89),w=o.c,De(w,90)?l(w,29):(En(),Kf))),29),n=Lke(e,f),n.dc()||(T?(s||(s=!0,T=new bH(T)),T.Gc(n)):T=n);return r=Ykn(e,t),r.dc()?T||(Cn(),Cn(),Co):T?(s||(T=new bH(T)),T.Gc(r),T):r}function yle(e,t){var n,r,s,o,f,g,w,T,C,L;for(L=pc(t),T=null,r=!1,g=0,C=fu(L.a).i;g<C;++g)o=l(CP(L,g,(s=l(Oe(fu(L.a),g),89),w=s.c,De(w,90)?l(w,29):(En(),Kf))),29),n=yle(e,o),n.dc()||(T?(r||(r=!0,T=new bH(T)),T.Gc(n)):T=n);return f=ITn(e,t),f.dc()?T||(Cn(),Cn(),Co):T?(r||(T=new bH(T)),T.Gc(f),T):f}function $_n(e){var t,n,r,s;r=e.o,vy(),e.A.dc()||Fi(e.A,aAe)?s=r.a:(s=lP(e.f),e.A.Hc((gh(),hF))&&!e.B.Hc((Xl(),RM))&&(s=b.Math.max(s,lP(l(Zo(e.p,(_t(),Xn)),252))),s=b.Math.max(s,lP(l(Zo(e.p,Mr),252)))),t=g0t(e),t&&(s=b.Math.max(s,t.a))),Ft(Pt(e.e.Tf().of((bi(),A4))))?r.a=b.Math.max(r.a,s):r.a=s,n=e.f.i,n.c=0,n.b=s,Cle(e.f)}function wP(e,t,n){var r,s,o,f,g,w;if(De(t,76))return ko(e,t,n);for(g=null,o=null,r=l(e.g,124),f=0;f<e.i;++f)if(s=r[f],Fi(t,s.md())&&(o=s.Lk(),De(o,102)&&l(o,19).Bb&nu)){g=s;break}return g&&(ch(e.e)&&(w=o.Jk()?kb(e,4,o,t,null,JT(e,o,t,De(o,102)&&(l(o,19).Bb&Lo)!=0),!0):kb(e,o.tk()?2:1,o,t,o.ik(),-1,!0),n?n.nj(w):n=w),n=wP(e,g,n)),n}function z_n(e,t,n){var r,s,o,f;if(f=Wu(e.e.Dh(),t),r=l(e.g,124),Ro(),l(t,69).xk()){for(o=0;o<e.i;++o)if(s=r[o],f.am(s.Lk())&&Fi(s,n))return Ky(e,o),!0}else if(n!=null){for(o=0;o<e.i;++o)if(s=r[o],f.am(s.Lk())&&Fi(n,s.md()))return Ky(e,o),!0}else for(o=0;o<e.i;++o)if(s=r[o],f.am(s.Lk())&&s.md()==null)return Ky(e,o),!0;return!1}function q_n(e,t){var n,r,s,o,f;if(t.Ug("Node and Port Label Placement and Node Sizing",1),Hnt((p_(),new foe(e,!0,!0,new BZ))),l(Q(e,(ft(),_u)),21).Hc((Ho(),mf)))for(o=l(Q(e,(Nt(),x4)),21),s=o.Hc((Pl(),lF)),f=Ft(Pt(Q(e,bDe))),r=new K(e.b);r.a<r.c.c.length;)n=l(re(r),30),Os(ji(new vn(null,new kn(n.a,16)),new FZ),new Wit(o,s,f));t.Vg()}function H_n(e,t){var n,r,s,o,f;for(e.c==null||e.c.length<t.c.length?e.c=We(th,vg,28,t.c.length,16,1):l_(e.c),e.a=new mt,r=0,f=new K(t);f.a<f.c.c.length;)s=l(re(f),10),s.p=r++;for(n=new os,o=new K(t);o.a<o.c.c.length;)s=l(re(o),10),e.c[s.p]||(m2t(e,s),n.b==0||(br(n.b!=0),l(n.a.a.c,15)).gc()<e.a.c.length?P5(n,e.a):yo(n,e.a),e.a=new mt);return n}function Fmt(e){fw(e,new iv(uw(aw(cw(ow(new x1,wE),"ELK SPOrE Overlap Removal"),'A node overlap removal algorithm proposed by Nachmanson et al. in "Node overlap removal by growing a tree".'),new ah))),pt(e,wE,Ufe,It(rNe)),pt(e,wE,r3,nNe),pt(e,wE,t4,8),pt(e,wE,Kfe,It($St)),pt(e,wE,gSe,It(eNe)),pt(e,wE,pSe,It(tNe)),pt(e,wE,JP,(Hn(),!1))}function U_n(e,t){var n,r,s,o,f,g,w;if(n=t.qi(e.a),n&&(w=Zr(t1((!n.b&&(n.b=new lh((En(),Do),Qc,n)),n.b),QSe)),w!=null)){for(r=new mt,o=Yy(w,"\\w"),f=0,g=o.length;f<g;++f)s=o[f],wn(s,"##other")?wt(r,"!##"+W_(e,Ah(t.qk()))):wn(s,"##local")?r.c.push(null):wn(s,aB)?wt(r,W_(e,Ah(t.qk()))):qn(r.c,s);return r}return Cn(),Cn(),Co}function Rmt(e,t,n,r){var s,o,f,g,w,T,C,L,F,z;for(f=yw(t.c,n,r),L=new K(t.a);L.a<L.c.c.length;){for(C=l(re(L),10),Pi(C.n,f),z=new K(C.j);z.a<z.c.c.length;)for(F=l(re(z),12),o=new K(F.g);o.a<o.c.c.length;)for(s=l(re(o),18),Ny(s.a,f),g=l(Q(s,(Nt(),lc)),75),g&&Ny(g,f),T=new K(s.b);T.a<T.c.c.length;)w=l(re(T),72),Pi(w.n,f);wt(e.a,C),C.a=e}}function yP(e){var t,n,r,s,o,f,g,w;if(e.d)throw ue(new ic((Xg(y1e),Lhe+y1e.k+Mhe)));for(e.c==(ea(),J1)&&m6(e,hc),n=new K(e.a.a);n.a<n.c.c.length;)t=l(re(n),194),t.e=0;for(f=new K(e.a.b);f.a<f.c.c.length;)for(o=l(re(f),86),o.o=oa,s=o.f.Kc();s.Ob();)r=l(s.Pb(),86),++r.d.e;for(HDn(e),w=new K(e.a.b);w.a<w.c.c.length;)g=l(re(w),86),g.k=!0;return e}function V_n(e,t){var n,r,s,o,f,g,w,T;for(g=new Gpt(e),n=new os,_s(n,t,n.c.b,n.c);n.b!=0;){for(r=l(n.b==0?null:(br(n.b!=0),sf(n,n.a.a)),113),r.d.p=1,f=new K(r.e);f.a<f.c.c.length;)s=l(re(f),340),fpt(g,s),T=s.d,T.d.p==0&&_s(n,T,n.c.b,n.c);for(o=new K(r.b);o.a<o.c.c.length;)s=l(re(o),340),fpt(g,s),w=s.c,w.d.p==0&&_s(n,w,n.c.b,n.c)}return g}function jmt(e){var t,n,r,s,o;if(r=ze(Ge(at(e,(bi(),d_t)))),r!=1)for(j5(e,r*e.g,r*e.f),n=Kln(Sdn((!e.c&&(e.c=new nt($l,e,9,9)),e.c),new ire)),o=ag(Lh(he(le(Fh,1),jn,20,0,[(!e.n&&(e.n=new nt(nc,e,1,7)),e.n),(!e.c&&(e.c=new nt($l,e,9,9)),e.c),n])));Rr(o);)s=l(yr(o),422),s.qh(r*s.nh(),r*s.oh()),s.ph(r*s.mh(),r*s.lh()),t=l(s.of($Ne),8),t&&(t.a*=r,t.b*=r)}function Mke(e,t,n){var r,s,o,f,g;if(f=(Ro(),l(t,69).xk()),dp(e.e,t)){if(t.Si()&&KV(e,t,n,De(t,102)&&(l(t,19).Bb&Lo)!=0))return!1}else for(g=Wu(e.e.Dh(),t),r=l(e.g,124),o=0;o<e.i;++o)if(s=r[o],g.am(s.Lk()))return(f?Fi(s,n):n==null?s.md()==null:Fi(n,s.md()))?!1:(l(i6(e,o,f?l(n,76):cg(t,n)),76),!0);return zr(e,f?l(n,76):cg(t,n))}function G_n(e,t,n,r,s){var o,f,g,w,T,C,L,F;for(f=new K(e.b);f.a<f.c.c.length;)for(o=l(re(f),30),F=aN(o.a),T=F,C=0,L=T.length;C<L;++C)switch(w=T[C],l(Q(w,(Nt(),Qu)),171).g){case 1:dSn(w),Ha(w,t),Zdt(w,!0,r);break;case 3:YCn(w),Ha(w,n),Zdt(w,!1,s)}for(g=new Ua(e.b,0);g.b<g.d.gc();)(br(g.b<g.d.gc()),l(g.d.Xb(g.c=g.b++),30)).a.c.length==0&&fh(g)}function K_n(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te;for(z=t.length,w=z,Yn(0,t.length),t.charCodeAt(0)==45?(L=-1,F=1,--z):(L=1,F=0),o=(Mle(),J6t)[10],s=z/o|0,te=z%o,te!=0&&++s,g=We(Ur,fi,28,s,15,1),n=Q6t[8],f=0,V=F+(te==0?o:te),J=F;J<w;J=V,V=J+o)r=Oh((Va(J,V,t.length),t.substr(J,V-J)),ao,Ni),T=(WT(),dxe(g,g,f,n)),T+=W5n(g,f,r),g[f++]=T;C=f,e.e=L,e.d=C,e.a=g,sA(e)}function W_n(e,t){var n,r,s,o;return n=new bs,r=l(kc(gc(new vn(null,new kn(e.f,16)),n),Ly(new xt,new Ri,new Rn,new zn,he(le(uc,1),it,108,0,[(Nl(),o4),Cc]))),21),s=r.gc(),r=l(kc(gc(new vn(null,new kn(t.f,16)),n),Ly(new xt,new Ri,new Rn,new zn,he(le(uc,1),it,108,0,[o4,Cc]))),21),o=r.gc(),s=s==1?1:0,o=o==1?1:0,s<o?-1:s==o?0:1}function Y_n(e){var t,n,r,s,o,f,g,w,T,C,L,F;for(g=e.i,s=Ft(Pt(Q(g,(Nt(),w4)))),C=0,r=0,T=new K(e.g);T.a<T.c.c.length;)w=l(re(T),18),f=Ao(w),o=f&&s&&Ft(Pt(Q(w,kv))),F=w.d.i,f&&o?++r:f&&!o?++C:Ja(F).e==g?++r:++C;for(n=new K(e.e);n.a<n.c.c.length;)t=l(re(n),18),f=Ao(t),o=f&&s&&Ft(Pt(Q(t,kv))),L=t.c.i,f&&o?++C:f&&!o?++r:Ja(L).e==g?++C:++r;return C-r}function g6(e,t,n,r){this.e=e,this.k=l(Q(e,(ft(),q6)),312),this.g=We(kg,S2,10,t,0,1),this.b=We(ra,dt,345,t,7,1),this.a=We(kg,S2,10,t,0,1),this.d=We(ra,dt,345,t,7,1),this.j=We(kg,S2,10,t,0,1),this.i=We(ra,dt,345,t,7,1),this.p=We(ra,dt,345,t,7,1),this.n=We(Ps,dt,485,t,8,1),gO(this.n,(Hn(),!1)),this.f=We(Ps,dt,485,t,8,1),gO(this.f,!0),this.o=n,this.c=r}function $mt(e,t){var n,r,s,o,f,g;if(!t.dc())if(l(t.Xb(0),293).d==(xx(),g4))v8n(e,t);else for(r=t.Kc();r.Ob();){switch(n=l(r.Pb(),293),n.d.g){case 5:UT(e,n,T5n(e,n));break;case 0:UT(e,n,(f=n.f-n.c+1,g=(f-1)/2|0,n.c+g));break;case 4:UT(e,n,Mwn(e,n));break;case 2:idt(n),UT(e,n,(o=Kxe(n),o?n.c:n.f));break;case 1:idt(n),UT(e,n,(s=Kxe(n),s?n.f:n.c))}g9n(n.a)}}function Dke(e,t,n,r){var s,o,f;return f=new yet(t,n),e.a?r?(s=l(Lf(l(or(e.b,t),260)),260),++s.a,f.d=r.d,f.e=r.e,f.b=r,f.c=r,r.e?r.e.c=f:s.b=f,r.d?r.d.b=f:e.a=f,r.d=f,r.e=f):(l(Lf(e.e),511).b=f,f.d=e.e,e.e=f,s=l(or(e.b,t),260),s?(++s.a,o=s.c,o.c=f,f.e=o,s.c=f):(Ti(e.b,t,s=new e6e(f)),++e.c)):(e.a=e.e=f,Ti(e.b,t,new e6e(f)),++e.c),++e.d,f}function xle(e,t){var n,r,s,o,f;if(t.Ug("Network simplex",1),e.e.a.c.length<1){t.Vg();return}for(o=new K(e.e.a);o.a<o.c.c.length;)s=l(re(o),125),s.e=0;for(f=e.e.a.c.length>=40,f&&RAn(e),KLn(e),pSn(e),n=K1t(e),r=0;n&&r<e.f;)eAn(e,n,vEn(e,n)),n=K1t(e),++r;f&&Nxn(e),e.a?LEn(e,Omt(e)):Omt(e),e.b=null,e.d=null,e.p=null,e.c=null,e.g=null,e.i=null,e.n=null,e.o=null,t.Vg()}function X_n(e,t){var n,r,s,o,f,g,w;if(!t.e){for(t.e=!0,r=t.d.a.ec().Kc();r.Ob();){if(n=l(r.Pb(),18),t.o&&t.d.a.gc()<=1){f=t.a.c,g=t.a.c+t.a.b,w=new lt(f+(g-f)/2,t.b),ci(l(t.d.a.ec().Kc().Pb(),18).a,w);continue}if(s=l(or(t.c,n),468),s.b||s.c){B_n(e,n,t);continue}o=e.d==(AT(),oM)&&(s.d||s.e)&&qTn(e,t)&&t.d.a.gc()<=1,o?TDn(n,t):VSn(e,n,t)}t.k&&Za(t.d,new d5)}}function Ike(e,t,n,r,s,o){var f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me;for(F=o,g=(r+s)/2+F,te=n*b.Math.cos(g),fe=n*b.Math.sin(g),Ee=te-t.g/2,Me=fe-t.f/2,Vu(t,Ee),Gu(t,Me),L=e.a.Eg(t),J=2*b.Math.acos(n/n+e.c),J<s-r?(z=J/L,f=(r+s-J)/2):(z=(s-r)/L,f=r),V=Gy(t),e.e&&(e.e.Fg(e.d),e.e.Gg(V)),T=new K(V);T.a<T.c.c.length;)w=l(re(T),27),C=e.a.Eg(w),Ike(e,w,n+e.c,f,f+z*C,o),f+=z*C}function Q_n(e,t,n){var r;switch(r=n.q.getMonth(),t){case 5:li(e,he(le($t,1),dt,2,6,["J","F","M","A","M","J","J","A","S","O","N","D"])[r]);break;case 4:li(e,he(le($t,1),dt,2,6,[ehe,the,nhe,rhe,Ax,ihe,she,ahe,ohe,che,uhe,lhe])[r]);break;case 3:li(e,he(le($t,1),dt,2,6,["Jan","Feb","Mar","Apr",Ax,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])[r]);break;default:ug(e,r+1,t)}}function J_n(e,t,n,r){var s,o,f,g,w,T,C,L,F;for(w=new lt(n,r),ya(w,l(Q(t,(Cb(),zL)),8)),F=new K(t.e);F.a<F.c.c.length;)L=l(re(F),153),Pi(L.d,w),wt(e.e,L);for(g=new K(t.c);g.a<g.c.c.length;){for(f=l(re(g),290),o=new K(f.a);o.a<o.c.c.length;)s=l(re(o),250),Pi(s.d,w);wt(e.c,f)}for(C=new K(t.d);C.a<C.c.c.length;)T=l(re(C),454),Pi(T.d,w),wt(e.d,T)}function Oke(e,t){var n,r,s,o,f,g,w,T;for(w=new K(t.j);w.a<w.c.c.length;)for(g=l(re(w),12),s=new N1(g.b);Oc(s.a)||Oc(s.b);)r=l(Oc(s.a)?re(s.a):re(s.b),18),n=r.c==g?r.d:r.c,o=n.i,t!=o&&(T=l(Q(r,(Nt(),KE)),17).a,T<0&&(T=0),f=o.p,e.b[f]==0&&(r.d==n?(e.a[f]-=T+1,e.a[f]<=0&&e.c[f]>0&&ci(e.f,o)):(e.c[f]-=T+1,e.c[f]<=0&&e.a[f]>0&&ci(e.e,o))))}function zmt(e,t,n,r){var s,o,f,g,w,T,C;for(w=new lt(n,r),ya(w,l(Q(t,(Zi(),ZE)),8)),C=Fr(t.b,0);C.b!=C.d.c;)T=l(Pr(C),40),Pi(T.e,w),ci(e.b,T);for(g=l(kc(c6e(new vn(null,new kn(t.a,16))),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)]))),15).Kc();g.Ob();){for(f=l(g.Pb(),65),o=Fr(f.a,0);o.b!=o.d.c;)s=l(Pr(o),8),s.a+=w.a,s.b+=w.b;ci(e.a,f)}}function Nke(e,t){var n,r,s,o;if(0<(De(e,16)?l(e,16).gc():ep(e.Kc()))){if(s=t,1<s){for(--s,o=new Vte,r=e.Kc();r.Ob();)n=l(r.Pb(),40),o=Lh(he(le(Fh,1),jn,20,0,[o,new Kg(n)]));return Nke(o,s)}if(s<0){for(o=new Gte,r=e.Kc();r.Ob();)n=l(r.Pb(),40),o=Lh(he(le(Fh,1),jn,20,0,[o,new Kg(n)]));if(0<(De(o,16)?l(o,16).gc():ep(o.Kc())))return Nke(o,s)}}return l(qq(e.Kc()),40)}function Z_n(e,t,n){var r,s,o,f;for(n.Ug("Processor order nodes",2),e.b=ze(Ge(Q(t,(Vc(),tge)))),e.a=l(Q(t,_3),88),e.a==(ea(),J1)&&(e.a=Q1,rt(t,_3,e.a)),s=new os,f=Fr(t.b,0);f.b!=f.d.c;)o=l(Pr(f),40),Ft(Pt(Q(o,(Zi(),Zb))))&&_s(s,o,s.c.b,s.c);r=(br(s.b!=0),l(s.a.a.c,40)),Fvt(e,r),n.fh(1),Eke(e,r,0-ze(Ge(Q(r,(Zi(),UW))))/2,0),n.fh(1),n.Vg()}function Xl(){Xl=U,cC=new N5("DEFAULT_MINIMUM_SIZE",0),gF=new N5("MINIMUM_SIZE_ACCOUNTS_FOR_PADDING",1),bY=new N5("COMPUTE_PADDING",2),RM=new N5("OUTSIDE_NODE_LABELS_OVERHANG",3),mY=new N5("PORTS_OVERHANG",4),wY=new N5("UNIFORM_PORT_SPACING",5),vY=new N5("SPACE_EFFICIENT_PORT_LABELS",6),ape=new N5("FORCE_TABULAR_NODE_LABELS",7),dF=new N5("ASYMMETRICAL",8)}function kle(e,t){var n,r,s,o,f,g,w,T;if(t){if(n=(o=t.Dh(),o?Ah(o).wi().si(o):null),n){for(y2(e,t,n),s=t.Dh(),w=0,T=(s.i==null&&Sd(s),s.i).length;w<T;++w)g=(r=(s.i==null&&Sd(s),s.i),w>=0&&w<r.length?r[w]:null),g.rk()&&!g.sk()&&(De(g,331)?Q6n(e,l(g,35),t,n):(f=l(g,19),f.Bb&nu&&cxn(e,f,t,n)));t.Vh()&&l(n,54).ei(l(t,54)._h())}return n}else return null}function eAn(e,t,n){var r,s,o;if(!t.f)throw ue(new Wn("Given leave edge is no tree edge."));if(n.f)throw ue(new Wn("Given enter edge is a tree edge already."));for(t.f=!1,Fye(e.p,t),n.f=!0,sa(e.p,n),r=n.e.e-n.d.e-n.a,tle(e,n.e,t)||(r=-r),o=new K(e.e.a);o.a<o.c.c.length;)s=l(re(o),125),tle(e,s,t)||(s.e+=r);e.j=1,l_(e.c),O9e(e,l(re(new K(e.e.a)),125)),Kvt(e)}function qmt(e,t,n,r){var s,o,f,g,w,T,C,L,F,z;if(Vwn(e,t,n),o=t[n],z=r?(_t(),Zn):(_t(),sr),Whn(t.length,n,r)){for(s=t[r?n-1:n+1],U6e(e,s,r?(qo(),$u):(qo(),Fl)),w=o,C=0,F=w.length;C<F;++C)f=w[C],mxe(e,f,z);for(U6e(e,o,r?(qo(),Fl):(qo(),$u)),g=s,T=0,L=g.length;T<L;++T)f=g[T],f.e||mxe(e,f,UN(z))}else for(g=o,T=0,L=g.length;T<L;++T)f=g[T],mxe(e,f,z);return!1}function tAn(e,t,n,r,s){var o,f,g,w,T,C,L;for(Cn(),Gs(e,new _$),g=new Ua(e,0),L=new mt,o=0;g.b<g.d.gc();)f=(br(g.b<g.d.gc()),l(g.d.Xb(g.c=g.b++),163)),L.c.length!=0&&vl(f)*hh(f)>o*2?(C=new vU(L),T=vl(f)/hh(f),w=Hle(C,t,new L8,n,r,s,T),Pi(W0(C.e),w),L.c.length=0,o=0,qn(L.c,C),qn(L.c,f),o=vl(C)*hh(C)+vl(f)*hh(f)):(qn(L.c,f),o+=vl(f)*hh(f));return L}function Hmt(e,t){var n,r,s,o,f,g;if(g=l(Q(t,(Nt(),Ds)),101),g==(Pa(),_g)||g==Au)for(s=new lt(t.f.a+t.d.b+t.d.c,t.f.b+t.d.d+t.d.a).b,f=new K(e.a);f.a<f.c.c.length;)o=l(re(f),10),o.k==(Jn(),Ks)&&(n=l(Q(o,(ft(),Xc)),64),!(n!=(_t(),sr)&&n!=Zn)&&(r=ze(Ge(Q(o,m3))),g==_g&&(r*=s),o.n.b=r-l(Q(o,k3),8).b,RU(o,!1,!0)))}function nAn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V;if(ch(e.e)){if(t!=n&&(s=l(e.g,124),z=s[n],f=z.Lk(),dp(e.e,f))){for(V=Wu(e.e.Dh(),f),w=-1,g=-1,r=0,T=0,L=t>n?t:n;T<=L;++T)T==n?g=r++:(o=s[T],C=V.am(o.Lk()),T==t&&(w=T==L&&!C?r-1:r),C&&++r);return F=l(LA(e,t,n),76),g!=w&&Tk(e,new dN(e.e,7,f,bt(g),z.md(),w)),F}}else return l(rle(e,t,n),76);return l(LA(e,t,n),76)}function rAn(e,t){var n,r,s,o,f,g,w;for(t.Ug("Port order processing",1),w=l(Q(e,(Nt(),mDe)),430),r=new K(e.b);r.a<r.c.c.length;)for(n=l(re(r),30),o=new K(n.a);o.a<o.c.c.length;)s=l(re(o),10),f=l(Q(s,Ds),101),g=s.j,f==(Pa(),Iv)||f==_g||f==Au?(Cn(),Gs(g,ELe)):f!=Z1&&f!=rm&&(Cn(),Gs(g,Sxt),c7n(g),w==(xN(),Fde)&&Gs(g,Cxt)),s.i=!0,M9e(s);t.Vg()}function iAn(e){var t,n,r,s,o,f,g,w;for(w=new Nr,t=new Zie,f=e.Kc();f.Ob();)s=l(f.Pb(),10),g=vw(hO(new Nm,s),t),Ru(w.f,s,g);for(o=e.Kc();o.Ob();)for(s=l(o.Pb(),10),r=new lr(fr(qs(s).a.Kc(),new j));Rr(r);)n=l(yr(r),18),!Ao(n)&&g0(i0(r0(n0(s0(new _f,b.Math.max(1,l(Q(n,(Nt(),vDe)),17).a)),1),l(or(w,n.c.i),125)),l(or(w,n.d.i),125)));return t}function Umt(){Umt=U,kEt=hi(new Js,(so(),Cu),(po(),uLe)),sIe=hi(new Js,pu,BK),EEt=wl(hi(new Js,pu,UK),wc,HK),xEt=wl(hi(hi(new Js,pu,iLe),Cu,sLe),wc,aLe),CEt=Ed(Ed(w_(wl(hi(new Js,w0,WK),wc,KK),Cu),GK),YK),TEt=wl(new Js,wc,lLe),wEt=wl(hi(hi(hi(new Js,xg,RK),Cu,$K),Cu,DE),wc,jK),yEt=wl(hi(hi(new Js,Cu,DE),Cu,PK),wc,NK)}function sAn(e,t,n,r,s,o){var f,g,w,T,C,L,F;for(T=K0t(t)-K0t(e),f=Ipt(t,T),w=qu(0,0,0);T>=0&&(g=Q7n(e,f),!(g&&(T<22?w.l|=1<<T:T<44?w.m|=1<<T-22:w.h|=1<<T-44,e.l==0&&e.m==0&&e.h==0)));)C=f.m,L=f.h,F=f.l,f.h=L>>>1,f.m=C>>>1|(L&1)<<21,f.l=F>>>1|(C&1)<<21,--T;return n&&Nce(w),o&&(r?(Hb=TT(e),s&&(Hb=A0t(Hb,(aT(),d_e)))):Hb=qu(e.l,e.m,e.h)),w}function aAn(e,t){var n,r,s,o,f,g,w,T,C,L;for(T=e.e[t.c.p][t.p]+1,w=t.c.a.c.length+1,g=new K(e.a);g.a<g.c.c.length;){for(f=l(re(g),12),L=0,o=0,s=ag(Lh(he(le(Fh,1),jn,20,0,[new S5(f),new S8(f)])));Rr(s);)r=l(yr(s),12),r.i.c==t.c&&(L+=$hn(e,r.i)+1,++o);n=L/o,C=f.j,C==(_t(),sr)?n<T?e.f[f.p]=e.c-n:e.f[f.p]=e.b+(w-n):C==Zn&&(n<T?e.f[f.p]=e.b+n:e.f[f.p]=e.c-(w-n))}}function Oh(e,t,n){var r,s,o,f,g;if(e==null)throw ue(new gd(cl));for(o=e.length,f=o>0&&(Yn(0,e.length),e.charCodeAt(0)==45||(Yn(0,e.length),e.charCodeAt(0)==43))?1:0,r=f;r<o;r++)if(Edt((Yn(r,e.length),e.charCodeAt(r)))==-1)throw ue(new gd(n3+e+'"'));if(g=parseInt(e,10),s=g<t,isNaN(g))throw ue(new gd(n3+e+'"'));if(s||g>n)throw ue(new gd(n3+e+'"'));return g}function oAn(e){var t,n,r,s,o,f,g;for(f=new os,o=new K(e.a);o.a<o.c.c.length;)s=l(re(o),118),H(s,s.f.c.length),q(s,s.k.c.length),s.i==0&&(s.o=0,_s(f,s,f.c.b,f.c));for(;f.b!=0;)for(s=l(f.b==0?null:(br(f.b!=0),sf(f,f.a.a)),118),r=s.o+1,n=new K(s.f);n.a<n.c.c.length;)t=l(re(n),132),g=t.a,Y(g,b.Math.max(g.o,r)),q(g,g.i-1),g.i==0&&_s(f,g,f.c.b,f.c)}function cAn(e){var t,n,r,s,o,f,g,w;for(f=new K(e);f.a<f.c.c.length;){for(o=l(re(f),74),r=vc(l(Oe((!o.b&&(o.b=new An(Sr,o,4,7)),o.b),0),84)),g=r.i,w=r.j,s=l(Oe((!o.a&&(o.a=new nt(cs,o,6,6)),o.a),0),166),MO(s,s.j+g,s.k+w),LO(s,s.b+g,s.c+w),n=new ar((!s.a&&(s.a=new Qs(qh,s,5)),s.a));n.e!=n.i.gc();)t=l(dr(n),377),cae(t,t.a+g,t.b+w);$7e(l(at(o,(bi(),A3)),75),g,w)}}function QT(e){var t;switch(e){case 100:return v6(NL,!0);case 68:return v6(NL,!1);case 119:return v6(C0e,!0);case 87:return v6(C0e,!1);case 115:return v6(S0e,!0);case 83:return v6(S0e,!1);case 99:return v6(_0e,!0);case 67:return v6(_0e,!1);case 105:return v6(A0e,!0);case 73:return v6(A0e,!1);default:throw ue(new Ic((t=e,k6t+t.toString(16))))}}function uAn(e){var t,n,r,s,o;switch(s=l(Rt(e.a,0),10),t=new hp(e),wt(e.a,t),t.o.a=b.Math.max(1,s.o.a),t.o.b=b.Math.max(1,s.o.b),t.n.a=s.n.a,t.n.b=s.n.b,l(Q(s,(ft(),Xc)),64).g){case 4:t.n.a+=2;break;case 1:t.n.b+=2;break;case 2:t.n.a-=2;break;case 3:t.n.b-=2}return r=new du,Nc(r,t),n=new Dw,o=l(Rt(s.j,0),12),ho(n,o),Na(n,r),Pi(W0(r.n),o.n),Pi(W0(r.a),o.a),t}function Vmt(e,t,n,r,s){n&&(!r||(e.c-e.b&e.a.length-1)>1)&&t==1&&l(e.a[e.b],10).k==(Jn(),uu)?Cx(l(e.a[e.b],10),(Ih(),Cg)):r&&(!n||(e.c-e.b&e.a.length-1)>1)&&t==1&&l(e.a[e.c-1&e.a.length-1],10).k==(Jn(),uu)?Cx(l(e.a[e.c-1&e.a.length-1],10),(Ih(),tm)):(e.c-e.b&e.a.length-1)==2?(Cx(l(yA(e),10),(Ih(),Cg)),Cx(l(yA(e),10),tm)):BEn(e,s),A6e(e)}function lAn(e,t,n){var r,s,o,f,g;for(o=0,s=new ar((!e.a&&(e.a=new nt(Li,e,10,11)),e.a));s.e!=s.i.gc();)r=l(dr(s),27),f="",(!r.n&&(r.n=new nt(nc,r,1,7)),r.n).i==0||(f=l(Oe((!r.n&&(r.n=new nt(nc,r,1,7)),r.n),0),135).a),g=new Pce(o++,t,f),mc(g,r),rt(g,(Zi(),pM),r),g.e.b=r.j+r.f/2,g.f.a=b.Math.max(r.g,1),g.e.a=r.i+r.g/2,g.f.b=b.Math.max(r.f,1),ci(t.b,g),Ru(n.f,r,g)}function hAn(e){var t,n,r,s,o;r=l(Q(e,(ft(),zi)),27),o=l(at(r,(Nt(),Ev)),181).Hc((gh(),Ov)),e.e||(s=l(Q(e,_u),21),t=new lt(e.f.a+e.d.b+e.d.c,e.f.b+e.d.d+e.d.a),s.Hc((Ho(),mf))?(Vi(r,Ds,(Pa(),Au)),Zw(r,t.a,t.b,!1,!0)):Ft(Pt(at(r,yde)))||Zw(r,t.a,t.b,!0,!0)),o?Vi(r,Ev,hn(Ov)):Vi(r,Ev,(n=l(G0(FM),9),new Jh(n,l(o0(n,n.length),9),0)))}function Pke(e,t,n){var r,s,o,f;if(t[0]>=e.length)return n.o=0,!0;switch(io(e,t[0])){case 43:s=1;break;case 45:s=-1;break;default:return n.o=0,!0}if(++t[0],o=t[0],f=LV(e,t),f==0&&t[0]==o)return!1;if(t[0]<e.length&&io(e,t[0])==58){if(r=f*60,++t[0],o=t[0],f=LV(e,t),f==0&&t[0]==o)return!1;r+=f}else r=f,r<24&&t[0]-o<=2?r*=60:r=r%100+(r/100|0)*60;return r*=s,n.o=-r,!0}function fAn(e){var t,n,r,s,o,f,g,w,T;for(f=new mt,r=new lr(fr(qs(e.b).a.Kc(),new j));Rr(r);)n=l(yr(r),18),Ao(n)&&wt(f,new flt(n,Ylt(e,n.c),Ylt(e,n.d)));for(T=(o=new pi(e.e).a.vc().Kc(),new fs(o));T.a.Ob();)g=(t=l(T.a.Pb(),44),l(t.md(),113)),g.d.p=0;for(w=(s=new pi(e.e).a.vc().Kc(),new fs(s));w.a.Ob();)g=(t=l(w.a.Pb(),44),l(t.md(),113)),g.d.p==0&&wt(e.d,V_n(e,g))}function dAn(e){var t,n,r,s,o,f,g;for(o=M1(e),s=new ar((!e.e&&(e.e=new An(js,e,7,4)),e.e));s.e!=s.i.gc();)if(r=l(dr(s),74),g=vc(l(Oe((!r.c&&(r.c=new An(Sr,r,5,8)),r.c),0),84)),!Iy(g,o))return!0;for(n=new ar((!e.d&&(e.d=new An(js,e,8,5)),e.d));n.e!=n.i.gc();)if(t=l(dr(n),74),f=vc(l(Oe((!t.b&&(t.b=new An(Sr,t,4,7)),t.b),0),84)),!Iy(f,o))return!0;return!1}function gAn(e,t){var n,r,s,o,f,g,w,T,C;for(f=new K(t.b);f.a<f.c.c.length;)for(o=l(re(f),30),T=new K(o.a);T.a<T.c.c.length;){for(w=l(re(T),10),C=new mt,g=0,r=new lr(fr(Ea(w).a.Kc(),new j));Rr(r);)n=l(yr(r),18),!(Ao(n)||!Ao(n)&&n.c.i.c==n.d.i.c)&&(s=l(Q(n,(Nt(),Zx)),17).a,s>g&&(g=s,C.c.length=0),s==g&&wt(C,new fa(n.c.i,n)));Cn(),Gs(C,e.c),kw(e.b,w.p,C)}}function pAn(e,t){var n,r,s,o,f,g,w,T,C;for(f=new K(t.b);f.a<f.c.c.length;)for(o=l(re(f),30),T=new K(o.a);T.a<T.c.c.length;){for(w=l(re(T),10),C=new mt,g=0,r=new lr(fr(qs(w).a.Kc(),new j));Rr(r);)n=l(yr(r),18),!(Ao(n)||!Ao(n)&&n.c.i.c==n.d.i.c)&&(s=l(Q(n,(Nt(),Zx)),17).a,s>g&&(g=s,C.c.length=0),s==g&&wt(C,new fa(n.d.i,n)));Cn(),Gs(C,e.c),kw(e.f,w.p,C)}}function bAn(e,t){var n,r,s,o,f,g,w,T;if(T=Pt(Q(t,(Vc(),aCt))),T==null||(tr(T),T)){for(zTn(e,t),s=new mt,w=Fr(t.b,0);w.b!=w.d.c;)f=l(Pr(w),40),n=k9e(e,f,null),n&&(mc(n,t),qn(s.c,n));if(e.a=null,e.b=null,s.c.length>1)for(r=new K(s);r.a<r.c.c.length;)for(n=l(re(r),121),o=0,g=Fr(n.b,0);g.b!=g.d.c;)f=l(Pr(g),40),f.g=o++;return s}return O1(he(le(WOn,1),J3t,121,0,[t]))}function mAn(e){var t,n,r,s,o,f,g,w;for(w=new pl,t=Fr(e,0),g=null,n=l(Pr(t),8),s=l(Pr(t),8);t.b!=t.d.c;)g=n,n=s,s=l(Pr(t),8),o=Zht(ya(new lt(g.a,g.b),n)),f=Zht(ya(new lt(s.a,s.b),n)),r=10,r=b.Math.min(r,b.Math.abs(o.a+o.b)/2),r=b.Math.min(r,b.Math.abs(f.a+f.b)/2),o.a=GO(o.a)*r,o.b=GO(o.b)*r,f.a=GO(f.a)*r,f.b=GO(f.b)*r,ci(w,Pi(o,n)),ci(w,Pi(f,n));return w}function vAn(e,t,n){var r,s,o,f,g,w;if(n.Ug("Minimize Crossings "+e.a,1),r=t.b.c.length==0||!Lk(ji(new vn(null,new kn(t.b,16)),new Vl(new ite))).Bd((Bm(),qx)),w=t.b.c.length==1&&l(Rt(t.b,0),30).a.c.length==1,o=qe(Q(t,(Nt(),v4)))===qe((op(),F2)),r||w&&!o){n.Vg();return}s=oSn(e,t),f=(g=l(hf(s,0),219),g.c.kg()?g.c.eg()?new pXe(e):new bXe(e):new gXe(e)),Yyn(s,f),_4n(e),n.Vg()}function Nh(e,t,n,r){var s,o,f,g,w;return f=e.Ph(),w=e.Jh(),s=null,w?t&&!(wle(e,t,n).Bb&Lo)?(r=ko(w.El(),e,r),e.di(null),s=t.Qh()):w=null:(f&&(w=f.Qh()),t&&(s=t.Qh())),w!=s&&w&&w.Il(e),g=e.Fh(),e.Bh(t,n),w!=s&&s&&s.Hl(e),e.vh()&&e.wh()&&(f&&g>=0&&g!=n&&(o=new _a(e,1,g,f,null),r?r.nj(o):r=o),n>=0&&(o=new _a(e,1,n,g==n?f:null,t),r?r.nj(o):r=o)),r}function Gmt(e){var t,n,r;if(e.b==null){if(r=new e2,e.i!=null&&(Jo(r,e.i),r.a+=":"),e.f&256){for(e.f&256&&e.a!=null&&(Npn(e.i)||(r.a+="//"),Jo(r,e.a)),e.d!=null&&(r.a+="/",Jo(r,e.d)),e.f&16&&(r.a+="/"),t=0,n=e.j.length;t<n;t++)t!=0&&(r.a+="/"),Jo(r,e.j[t]);e.g!=null&&(r.a+="?",Jo(r,e.g))}else Jo(r,e.a);e.e!=null&&(r.a+="#",Jo(r,e.e)),e.b=r.a}return e.b}function wAn(e,t){var n,r,s,o,f,g;for(s=new K(t.a);s.a<s.c.c.length;)r=l(re(s),10),o=Q(r,(ft(),zi)),De(o,12)&&(f=l(o,12),g=lvt(t,r,f.o.a,f.o.b),f.n.a=g.a,f.n.b=g.b,ga(f,l(Q(r,Xc),64)));n=new lt(t.f.a+t.d.b+t.d.c,t.f.b+t.d.d+t.d.a),l(Q(t,(ft(),_u)),21).Hc((Ho(),mf))?(rt(e,(Nt(),Ds),(Pa(),Au)),l(Q(Ja(e),_u),21).Fc(qE),Jvt(e,n,!1)):Jvt(e,n,!0)}function yAn(e,t,n,r,s){var o,f,g,w;o=new hp(e),x(o,(Jn(),Su)),rt(o,(Nt(),Ds),(Pa(),Au)),rt(o,(ft(),zi),t.c.i),f=new du,rt(f,zi,t.c),ga(f,s),Nc(f,o),rt(t.c,Bl,o),g=new hp(e),x(g,Su),rt(g,Ds,Au),rt(g,zi,t.d.i),w=new du,rt(w,zi,t.d),ga(w,s),Nc(w,g),rt(t.d,Bl,g),ho(t,f),Na(t,w),Sy(0,n.c.length),k_(n.c,0,o),qn(r.c,g),rt(o,hW,bt(1)),rt(g,hW,bt(1))}function xAn(e,t,n,r){var s,o,f,g,w;if(w=Yr(go(pg,og(Yr(go(t==null?0:ts(t),bg)),15))),s=Yr(go(pg,og(Yr(go(n==null?0:ts(n),bg)),15))),g=bA(e,t,w),f=pA(e,n,s),g&&s==g.a&&yd(n,g.g))return n;if(f&&!r)throw ue(new Wn("key already present: "+n));return g&&h6(e,g),f&&h6(e,f),o=new AH(n,s,t,w),cP(e,o,f),f&&(f.e=null,f.c=null),g&&(g.e=null,g.c=null),qgt(e),g?g.g:null}function Kmt(e,t,n){var r,s,o,f,g;for(o=0;o<t;o++){for(r=0,g=o+1;g<t;g++)r=fo(fo(go(xa(e[o],Uo),xa(e[g],Uo)),xa(n[o+g],Uo)),xa(Yr(r),Uo)),n[o+g]=Yr(r),r=vb(r,32);n[o+t]=Yr(r)}for(O3n(n,n,t<<1),r=0,s=0,f=0;s<t;++s,f++)r=fo(fo(go(xa(e[s],Uo),xa(e[s],Uo)),xa(n[f],Uo)),xa(Yr(r),Uo)),n[f]=Yr(r),r=vb(r,32),++f,r=fo(r,xa(n[f],Uo)),n[f]=Yr(r),r=vb(r,32);return n}function Wmt(e,t,n){var r,s,o,f,g,w,T,C;if(!tT(t)){for(w=ze(Ge(Ry(n.c,(Nt(),nM)))),T=l(Ry(n.c,PB),140),!T&&(T=new a_),r=n.a,s=null,g=t.Kc();g.Ob();)f=l(g.Pb(),12),C=0,s?(C=w,C+=s.o.b):C=T.d,o=vw(hO(new Nm,f),e.f),Ti(e.k,f,o),g0(i0(r0(n0(s0(new _f,0),da(b.Math.ceil(C))),r),o)),s=f,r=o;g0(i0(r0(n0(s0(new _f,0),da(b.Math.ceil(T.a+s.o.b))),r),n.d))}}function kAn(e,t,n,r,s,o,f,g){var w,T,C,L,F,z;return z=!1,F=o-n.s,C=n.t-t.f+(T=eL(n,F,!1),T.a),r.g+g>F?!1:(L=(w=eL(r,F,!1),w.a),C+g+L<=t.b&&(gN(n,o-n.s),n.c=!0,gN(r,o-n.s),XN(r,n.s,n.t+n.d+g),r.k=!0,H7e(n.q,r),z=!0,s&&(TU(t,r),r.j=t,e.c.length>f&&(ZN((Sn(f,e.c.length),l(e.c[f],186)),r),(Sn(f,e.c.length),l(e.c[f],186)).a.c.length==0&&l2(e,f)))),z)}function TAn(e,t){var n,r,s,o,f,g;if(t.Ug("Partition midprocessing",1),s=new Iw,Os(ji(new vn(null,new kn(e.a,16)),new Cj),new RYe(s)),s.d!=0){for(g=l(kc(h6e((o=s.i,new vn(null,(o||(s.i=new U5(s,s.c))).Nc()))),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)]))),15),r=g.Kc(),n=l(r.Pb(),17);r.Ob();)f=l(r.Pb(),17),pCn(l($i(s,n),21),l($i(s,f),21)),n=f;t.Vg()}}function Ymt(e,t,n){var r,s,o,f,g,w,T,C;if(t.p==0){for(t.p=1,f=n,f||(s=new mt,o=(r=l(G0(Mo),9),new Jh(r,l(o0(r,r.length),9),0)),f=new fa(s,o)),l(f.a,15).Fc(t),t.k==(Jn(),Ks)&&l(f.b,21).Fc(l(Q(t,(ft(),Xc)),64)),w=new K(t.j);w.a<w.c.c.length;)for(g=l(re(w),12),C=ag(Lh(he(le(Fh,1),jn,20,0,[new S5(g),new S8(g)])));Rr(C);)T=l(yr(C),12),Ymt(e,T.i,f);return f}return null}function XA(e,t){var n,r,s,o,f;if(e.Ab){if(e.Ab){if(f=e.Ab.i,f>0){if(s=l(e.Ab.g,2033),t==null){for(o=0;o<f;++o)if(n=s[o],n.d==null)return n}else for(o=0;o<f;++o)if(n=s[o],wn(t,n.d))return n}}else if(t==null){for(r=new ar(e.Ab);r.e!=r.i.gc();)if(n=l(dr(r),598),n.d==null)return n}else for(r=new ar(e.Ab);r.e!=r.i.gc();)if(n=l(dr(r),598),wn(t,n.d))return n}return null}function EAn(e,t,n,r,s){var o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e;z=Bmn(e,Y7e(t),s),O7e(z,Zg(s,Pd)),y=null,V=s,J=oA(V,W4t),te=new gQe(z),N9n(te.a,J),fe=oA(V,"endPoint"),Ee=new vQe(z),O9n(Ee.a,fe),Me=Pw(V,KG),$e=new xQe(z),xxn($e.a,Me),L=Zg(s,ISe),o=new Ytt(e,z),a0n(o.a,o.b,L),F=Zg(s,DSe),f=new Xtt(e,z),o0n(f.a,f.b,F),T=Pw(s,NSe),g=new Qtt(n,z),r8n(g.b,g.a,T),C=Pw(s,OSe),w=new Jtt(r,z),i8n(w.b,w.a,C)}function Bke(e,t,n){var r,s,o,f,g;switch(g=null,t.g){case 1:for(s=new K(e.j);s.a<s.c.c.length;)if(r=l(re(s),12),Ft(Pt(Q(r,(ft(),ide)))))return r;g=new du,rt(g,(ft(),ide),(Hn(),!0));break;case 2:for(f=new K(e.j);f.a<f.c.c.length;)if(o=l(re(f),12),Ft(Pt(Q(o,(ft(),ade)))))return o;g=new du,rt(g,(ft(),ade),(Hn(),!0))}return g&&(Nc(g,e),ga(g,n),a7n(g.n,e.o,n)),g}function Xmt(e,t){var n,r,s,o,f,g;for(g=-1,f=new os,r=new N1(e.b);Oc(r.a)||Oc(r.b);){for(n=l(Oc(r.a)?re(r.a):re(r.b),18),g=b.Math.max(g,ze(Ge(Q(n,(Nt(),M2))))),n.c==e?Os(ji(new vn(null,new kn(n.b,16)),new vZ),new EYe(f)):Os(ji(new vn(null,new kn(n.b,16)),new wZ),new CYe(f)),o=Fr(f,0);o.b!=o.d.c;)s=l(Pr(o),72),rs(s,(ft(),Wx))||rt(s,Wx,n);aa(t,f),Ch(f)}return g}function Qw(e,t,n,r,s){var o,f,g,w,T;g=s?r.b:r.a,!K0(e.a,r)&&(T=g>n.s&&g<n.c,w=!1,n.e.b!=0&&n.j.b!=0&&(w=w|(b.Math.abs(g-ze(Ge(Rk(n.e))))<Dd&&b.Math.abs(g-ze(Ge(Rk(n.j))))<Dd),w=w|(b.Math.abs(g-ze(Ge(a0(n.e))))<Dd&&b.Math.abs(g-ze(Ge(a0(n.j))))<Dd)),(T||w)&&(f=l(Q(t,(Nt(),lc)),75),f||(f=new pl,rt(t,lc,f)),o=new xo(r),_s(f,o,f.c.b,f.c),sa(e.a,o)))}function CAn(e,t,n,r){var s,o,f,g,w,T,C;if(CTn(e,t,n,r))return!0;for(f=new K(t.f);f.a<f.c.c.length;){switch(o=l(re(f),334),g=!1,w=e.j-t.j+n,T=w+t.o,C=e.k-t.k+r,s=C+t.p,o.a.g){case 0:g=jce(e,w+o.b.a,0,w+o.c.a,C-1);break;case 1:g=jce(e,T,C+o.b.a,e.o-1,C+o.c.a);break;case 2:g=jce(e,w+o.b.a,s,w+o.c.a,e.p-1);break;default:g=jce(e,0,C+o.b.a,w-1,C+o.c.a)}if(g)return!0}return!1}function SAn(e,t,n){var r,s,o,f,g,w,T,C,L;for(n.Ug("Processor set coordinates",1),e.a=t.b.b==0?1:t.b.b,T=null,r=Fr(t.b,0);!T&&r.b!=r.d.c;)L=l(Pr(r),40),Ft(Pt(Q(L,(Zi(),Zb))))&&(T=L,w=L.e,w.a=l(Q(L,HB),17).a,w.b=l(Q(L,UB),17).a);g=Lce(T),C=1;do g=A9n((s=g,n.eh(C),s)),C=g.b/e.a|0;while(g.b!=0);for(f=Fr(t.b,0);f.b!=f.d.c;)o=l(Pr(f),40),ya(o.e,new lt(o.f.a/2,o.f.b/2));n.Vg()}function _An(e,t,n){var r,s,o,f,g,w,T,C;for(n.Ug(qyt,1),Dl(e.b),Dl(e.a),g=null,o=Fr(t.b,0);!g&&o.b!=o.d.c;)T=l(Pr(o),40),Ft(Pt(Q(T,(Zi(),Zb))))&&(g=T);for(w=new os,_s(w,g,w.c.b,w.c),Swt(e,w),C=Fr(t.b,0);C.b!=C.d.c;)T=l(Pr(C),40),f=Zr(Q(T,(Zi(),gM))),s=wu(e.b,f)!=null?l(wu(e.b,f),17).a:0,rt(T,Yde,bt(s)),r=1+(wu(e.a,f)!=null?l(wu(e.a,f),17).a:0),rt(T,yIe,bt(r));n.Vg()}function Qmt(e){fw(e,new iv(uw(aw(cw(ow(new x1,o3),"ELK Box"),"Algorithm for packing of unconnected boxes, i.e. graphs without edges."),new nk))),pt(e,o3,r3,bNe),pt(e,o3,t4,15),pt(e,o3,qP,bt(0)),pt(e,o3,mSe,It(dNe)),pt(e,o3,T6,It(ZSt)),pt(e,o3,Px,It(e_t)),pt(e,o3,Nx,h4t),pt(e,o3,fL,It(gNe)),pt(e,o3,Bx,It(pNe)),pt(e,o3,vSe,It(zge)),pt(e,o3,OG,It(JSt))}function Jmt(e,t){var n,r,s,o,f,g,w,T,C;if(s=e.i,f=s.o.a,o=s.o.b,f<=0&&o<=0)return _t(),jc;switch(T=e.n.a,C=e.n.b,g=e.o.a,n=e.o.b,t.g){case 2:case 1:if(T<0)return _t(),Zn;if(T+g>f)return _t(),sr;break;case 4:case 3:if(C<0)return _t(),Xn;if(C+n>o)return _t(),Mr}return w=(T+g/2)/f,r=(C+n/2)/o,w+r<=1&&w-r<=0?(_t(),Zn):w+r>=1&&w-r>=0?(_t(),sr):r<.5?(_t(),Xn):(_t(),Mr)}function AAn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J;for(n=!1,C=ze(Ge(Q(t,(Nt(),E3)))),V=Fb*C,s=new K(t.b);s.a<s.c.c.length;)for(r=l(re(s),30),T=new K(r.a),o=l(re(T),10),L=T5e(e.a[o.p]);T.a<T.c.c.length;)g=l(re(T),10),F=T5e(e.a[g.p]),L!=F&&(z=z5(e.b,o,g),f=o.n.b+o.o.b+o.d.a+L.a+z,w=g.n.b-g.d.d+F.a,f>w+V&&(J=L.g+F.g,F.a=(F.g*F.a+L.g*L.a)/J,F.g=J,L.f=F,n=!0)),o=g,L=F;return n}function Zmt(e,t,n,r,s,o,f){var g,w,T,C,L,F;for(F=new z8,T=t.Kc();T.Ob();)for(g=l(T.Pb(),853),L=new K(g.Rf());L.a<L.c.c.length;)C=l(re(L),187),qe(C.of((bi(),Gge)))===qe((F1(),sC))&&(Dmt(F,C,!1,r,s,o,f),zA(e,F));for(w=n.Kc();w.Ob();)for(g=l(w.Pb(),853),L=new K(g.Rf());L.a<L.c.c.length;)C=l(re(L),187),qe(C.of((bi(),Gge)))===qe((F1(),M4))&&(Dmt(F,C,!0,r,s,o,f),zA(e,F))}function LAn(e,t,n){var r,s,o,f,g,w,T;for(f=new ar((!e.a&&(e.a=new nt(Li,e,10,11)),e.a));f.e!=f.i.gc();)for(o=l(dr(f),27),s=new lr(fr(fp(o).a.Kc(),new j));Rr(s);)r=l(yr(s),74),!HA(r)&&!HA(r)&&!Yw(r)&&(w=l(dc(zo(n.f,o)),40),T=l(or(n,vc(l(Oe((!r.c&&(r.c=new An(Sr,r,5,8)),r.c),0),84))),40),w&&T&&(g=new J5e(w,T),rt(g,(Zi(),pM),r),mc(g,r),ci(w.d,g),ci(T.b,g),ci(t.a,g)))}function MAn(e,t){var n,r,s,o,f,g,w,T;for(w=l(l($i(e.r,t),21),87).Kc();w.Ob();)g=l(w.Pb(),117),s=g.c?wst(g.c):0,s>0?g.a?(T=g.b.Mf().b,s>T&&(e.v||g.c.d.c.length==1?(f=(s-T)/2,g.d.d=f,g.d.a=f):(n=l(Rt(g.c.d,0),187).Mf().b,r=(n-T)/2,g.d.d=b.Math.max(0,r),g.d.a=s-r-T))):g.d.a=e.t+s:Y_(e.u)&&(o=i9e(g.b),o.d<0&&(g.d.d=-o.d),o.d+o.a>g.b.Mf().b&&(g.d.a=o.d+o.a-g.b.Mf().b))}function p0(){p0=U,Hx=new qa((bi(),iF),bt(1)),LK=new qa(Dv,80),I8t=new qa(GNe,5),k8t=new qa(t7,fE),M8t=new qa(tpe,bt(1)),D8t=new qa(npe,(Hn(),!0)),yAe=new mw(50),A8t=new qa(B2,yAe),mAe=nF,xAe=AM,T8t=new qa(Vge,!1),wAe=rF,S8t=A4,_8t=em,C8t=Mv,E8t=s7,L8t=L4,vAe=(g9e(),p8t),d1e=w8t,AK=g8t,f1e=b8t,kAe=v8t,P8t=LM,B8t=dY,N8t=sF,O8t=fY,TAe=(gx(),I4),new qa(s9,TAe)}function DAn(e,t){var n;switch(kN(e)){case 6:return Da(t);case 7:return py(t);case 8:return gy(t);case 3:return Array.isArray(t)&&(n=kN(t),!(n>=14&&n<=16));case 11:return t!=null&&typeof t===Kle;case 12:return t!=null&&(typeof t===_P||typeof t==Kle);case 0:return vue(t,e.__elementTypeId$);case 2:return Jae(t)&&t.Tm!==xe;case 1:return Jae(t)&&t.Tm!==xe||vue(t,e.__elementTypeId$);default:return!0}}function evt(e,t){var n,r,s,o;return r=b.Math.min(b.Math.abs(e.c-(t.c+t.b)),b.Math.abs(e.c+e.b-t.c)),o=b.Math.min(b.Math.abs(e.d-(t.d+t.a)),b.Math.abs(e.d+e.a-t.d)),n=b.Math.abs(e.c+e.b/2-(t.c+t.b/2)),n>e.b/2+t.b/2||(s=b.Math.abs(e.d+e.a/2-(t.d+t.a/2)),s>e.a/2+t.a/2)?1:n==0&&s==0?0:n==0?o/s+1:s==0?r/n+1:b.Math.min(r/n,o/s)+1}function IAn(e,t){var n,r,s,o,f,g,w;for(o=0,g=0,w=0,s=new K(e.f.e);s.a<s.c.c.length;)r=l(re(s),153),t!=r&&(f=e.i[t.a][r.a],o+=f,n=Eb(t.d,r.d),n>0&&e.d!=(hA(),b1e)&&(g+=f*(r.d.a+e.a[t.a][r.a]*(t.d.a-r.d.a)/n)),n>0&&e.d!=(hA(),g1e)&&(w+=f*(r.d.b+e.a[t.a][r.a]*(t.d.b-r.d.b)/n)));switch(e.d.g){case 1:return new lt(g/o,t.d.b);case 2:return new lt(t.d.a,w/o);default:return new lt(g/o,w/o)}}function tvt(e){var t,n,r,s,o,f;for(n=(!e.a&&(e.a=new Qs(qh,e,5)),e.a).i+2,f=new Pu(n),wt(f,new lt(e.j,e.k)),Os(new vn(null,(!e.a&&(e.a=new Qs(qh,e,5)),new kn(e.a,16))),new lQe(f)),wt(f,new lt(e.b,e.c)),t=1;t<f.c.length-1;)r=(Sn(t-1,f.c.length),l(f.c[t-1],8)),s=(Sn(t,f.c.length),l(f.c[t],8)),o=(Sn(t+1,f.c.length),l(f.c[t+1],8)),r.a==s.a&&s.a==o.a||r.b==s.b&&s.b==o.b?l2(f,t):++t;return f}function nvt(e,t){ST();var n,r,s,o,f;if(f=l(Q(e.i,(Nt(),Ds)),101),o=e.j.g-t.j.g,o!=0||!(f==(Pa(),Iv)||f==_g||f==Au))return 0;if(f==(Pa(),Iv)&&(n=l(Q(e,D2),17),r=l(Q(t,D2),17),n&&r&&(s=n.a-r.a,s!=0)))return s;switch(e.j.g){case 1:return Xi(e.n.a,t.n.a);case 2:return Xi(e.n.b,t.n.b);case 3:return Xi(t.n.a,e.n.a);case 4:return Xi(t.n.b,e.n.b);default:throw ue(new ic(sEe))}}function rvt(e,t){var n,r,s,o,f,g,w;for(n=Drt(Ret(Bet(Fet(new Qwe,t),new FH(t.e)),Lxt),e.a),t.j.c.length==0||hht(l(Rt(t.j,0),60).a,n),w=new Xie,Ti(e.e,n,w),f=new Ys,g=new Ys,o=new K(t.k);o.a<o.c.c.length;)s=l(re(o),18),sa(f,s.c),sa(g,s.d);r=f.a.gc()-g.a.gc(),r<0?(NN(w,!0,(ea(),hc)),NN(w,!1,yc)):r>0&&(NN(w,!1,(ea(),hc)),NN(w,!0,yc)),Uu(t.g,new ptt(e,n)),Ti(e.g,t,n)}function ivt(){ivt=U;var e;for(x_e=he(le(Ur,1),fi,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]),q0e=We(Ur,fi,28,37,15,1),G6t=he(le(Ur,1),fi,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]),k_e=We(hm,yhe,28,37,14,1),e=2;e<=36;e++)q0e[e]=da(b.Math.pow(e,x_e[e])),k_e[e]=tP(DP,q0e[e])}function OAn(e){var t;if((!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i!=1)throw ue(new Wn(I4t+(!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i));return t=new pl,IN(l(Oe((!e.b&&(e.b=new An(Sr,e,4,7)),e.b),0),84))&&Ga(t,Gwt(e,IN(l(Oe((!e.b&&(e.b=new An(Sr,e,4,7)),e.b),0),84)),!1)),IN(l(Oe((!e.c&&(e.c=new An(Sr,e,5,8)),e.c),0),84))&&Ga(t,Gwt(e,IN(l(Oe((!e.c&&(e.c=new An(Sr,e,5,8)),e.c),0),84)),!0)),t}function svt(e,t){var n,r,s,o,f;for(t.d?s=e.a.c==(xd(),S3)?Ea(t.b):qs(t.b):s=e.a.c==(xd(),O2)?Ea(t.b):qs(t.b),o=!1,r=new lr(fr(s.a.Kc(),new j));Rr(r);)if(n=l(yr(r),18),f=Ft(e.a.f[e.a.g[t.b.p].p]),!(!f&&!Ao(n)&&n.c.i.c==n.d.i.c)&&!(Ft(e.a.n[e.a.g[t.b.p].p])||Ft(e.a.n[e.a.g[t.b.p].p]))&&(o=!0,K0(e.b,e.a.g[O7n(n,t.b).p])))return t.c=!0,t.a=n,t;return t.c=o,t.a=null,t}function Fke(e,t,n){var r,s,o,f,g,w,T;if(r=n.gc(),r==0)return!1;if(e.Pj())if(w=e.Qj(),G8e(e,t,n),f=r==1?e.Ij(3,null,n.Kc().Pb(),t,w):e.Ij(5,null,n,t,w),e.Mj()){for(g=r<100?null:new hb(r),o=t+r,s=t;s<o;++s)T=e.xj(s),g=e.Nj(T,g),g=g;g?(g.nj(f),g.oj()):e.Jj(f)}else e.Jj(f);else if(G8e(e,t,n),e.Mj()){for(g=r<100?null:new hb(r),o=t+r,s=t;s<o;++s)g=e.Nj(e.xj(s),g);g&&g.oj()}return!0}function avt(e,t,n){var r,s,o,f,g;return e.Pj()?(s=null,o=e.Qj(),r=e.Ij(1,g=(f=e.Dj(t,e.Zi(t,n)),f),n,t,o),e.Mj()&&!(e.Yi()&&g?Fi(g,n):qe(g)===qe(n))&&(g&&(s=e.Oj(g,s)),s=e.Nj(n,s)),s?(s.nj(r),s.oj()):e.Jj(r),g):(g=(f=e.Dj(t,e.Zi(t,n)),f),e.Mj()&&!(e.Yi()&&g?Fi(g,n):qe(g)===qe(n))&&(s=null,g&&(s=e.Oj(g,null)),s=e.Nj(n,s),s&&s.oj()),g)}function Rke(e,t){var n,r,s,o,f,g,w,T,C;if(e.e=t,e.f=l(Q(t,(Cb(),MK)),234),a9n(t),e.d=b.Math.max(t.e.c.length*16+t.c.c.length,256),!Ft(Pt(Q(t,(p0(),mAe)))))for(C=e.e.e.c.length,w=new K(t.e);w.a<w.c.c.length;)g=l(re(w),153),T=g.d,T.a=d5e(e.f)*C,T.b=d5e(e.f)*C;for(n=t.b,o=new K(t.c);o.a<o.c.c.length;)if(s=l(re(o),290),r=l(Q(s,kAe),17).a,r>0){for(f=0;f<r;f++)wt(n,new yat(s));C2t(s)}}function ovt(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V;if(F=new Ty(e.Zg()),Z0(t,Ai,F),n&&!e.Xg().a.dc())for(C=new Yp,Z0(t,"logs",C),g=0,V=new vo(e.Xg().b.Kc());V.b.Ob();)z=Zr(V.b.Pb()),L=new Ty(z),My(C,g),Poe(C,g,L),++g;if(r&&(T=new yk(e.Wg()),Z0(t,"executionTime",T)),!e.Yg().a.dc())for(f=new Yp,Z0(t,c0e,f),g=0,o=new vo(e.Yg().b.Kc());o.b.Ob();)s=l(o.b.Pb(),871),w=new D8,My(f,g),Poe(f,g,w),ovt(s,w,n,r),++g}function jke(){jke=U,Tse(),sLt=new Mm,he(le(c9,2),dt,381,0,[he(le(c9,1),hK,600,0,[new aO(f6t)])]),he(le(c9,2),dt,381,0,[he(le(c9,1),hK,600,0,[new aO(t_e)])]),he(le(c9,2),dt,381,0,[he(le(c9,1),hK,600,0,[new aO(d6t)]),he(le(c9,1),hK,600,0,[new aO(t_e)])]),new bb("-1"),he(le(c9,2),dt,381,0,[he(le(c9,1),hK,600,0,[new aO("\\c+")])]),new bb("0"),new bb("0"),new bb("1"),new bb("0"),new bb(w6t)}function NAn(e,t){var n,r,s,o,f,g,w,T,C,L;for(t.Ug("Hypernodes processing",1),s=new K(e.b);s.a<s.c.c.length;)for(r=l(re(s),30),g=new K(r.a);g.a<g.c.c.length;)if(f=l(re(g),10),Ft(Pt(Q(f,(Nt(),TW))))&&f.j.c.length<=2){for(L=0,C=0,n=0,o=0,T=new K(f.j);T.a<T.c.c.length;)switch(w=l(re(T),12),w.j.g){case 1:++L;break;case 2:++C;break;case 3:++n;break;case 4:++o}L==0&&n==0&&RIn(e,f,o<=C)}t.Vg()}function PAn(e,t,n,r,s){var o,f,g,w,T,C,L;for(f=new K(t);f.a<f.c.c.length;){if(o=l(re(f),18),w=o.c,n.a._b(w))T=(Ow(),Jb);else if(r.a._b(w))T=(Ow(),Y6);else throw ue(new Wn("Source port must be in one of the port sets."));if(C=o.d,n.a._b(C))L=(Ow(),Jb);else if(r.a._b(C))L=(Ow(),Y6);else throw ue(new Wn("Target port must be in one of the port sets."));g=new r2t(o,T,L),Ti(e.b,o,g),qn(s.c,g)}}function GV(e){var t,n;return e.c&&e.c.Vh()&&(n=l(e.c,54),e.c=l(Lb(e,n),142),e.c!=n&&(e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,9,2,n,e.c)),De(e.Cb,411)?e.Db>>16==-15&&e.Cb.Yh()&&nce(new Qoe(e.Cb,9,13,n,e.c,x2(Kl(l(e.Cb,62)),e))):De(e.Cb,90)&&e.Db>>16==-23&&e.Cb.Yh()&&(t=e.c,De(t,90)||(t=(En(),Kf)),De(n,90)||(n=(En(),Kf)),nce(new Qoe(e.Cb,9,10,n,t,x2(fu(l(e.Cb,29)),e)))))),e.c}function BAn(e,t,n){var r,s,o,f,g,w,T,C,L;for(n.Ug("Hyperedge merging",1),aEn(e,t),w=new Ua(t.b,0);w.b<w.d.gc();)if(g=(br(w.b<w.d.gc()),l(w.d.Xb(w.c=w.b++),30)),C=g.a,C.c.length!=0)for(r=null,s=null,o=null,f=null,T=0;T<C.c.length;T++)r=(Sn(T,C.c.length),l(C.c[T],10)),s=r.k,s==(Jn(),Aa)&&f==Aa&&(L=DLn(r,o),L.a&&(DSn(r,o,L.b,L.c),Sn(T,C.c.length),D3e(C.c,T,1),--T,r=o,s=f)),o=r,f=s;n.Vg()}function cvt(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V;if(t==n)return!0;if(t=G9e(e,t),n=G9e(e,n),r=Cue(t),r){if(C=Cue(n),C!=r)return C?(w=r.mk(),V=C.mk(),w==V&&w!=null):!1;if(f=(!t.d&&(t.d=new Qs(Wo,t,1)),t.d),o=f.i,F=(!n.d&&(n.d=new Qs(Wo,n,1)),n.d),o==F.i){for(T=0;T<o;++T)if(s=l(Oe(f,T),89),L=l(Oe(F,T),89),!cvt(e,s,L))return!1}return!0}else return g=t.e,z=n.e,g==z}function uvt(e,t,n,r){var s,o,f,g,w,T,C,L;if(dp(e.e,t)){for(L=Wu(e.e.Dh(),t),o=l(e.g,124),C=null,w=-1,g=-1,s=0,T=0;T<e.i;++T)f=o[T],L.am(f.Lk())&&(s==n&&(w=T),s==r&&(g=T,C=f.md()),++s);if(w==-1)throw ue(new rc(h0e+n+gv+s));if(g==-1)throw ue(new rc(f0e+r+gv+s));return LA(e,w,g),ch(e.e)&&Tk(e,kb(e,7,t,bt(r),C,n,!0)),C}else throw ue(new Wn("The feature must be many-valued to support move"))}function lvt(e,t,n,r){var s,o,f,g,w;switch(w=new xo(t.n),w.a+=t.o.a/2,w.b+=t.o.b/2,g=ze(Ge(Q(t,(Nt(),y4)))),o=e.f,f=e.d,s=e.c,l(Q(t,(ft(),Xc)),64).g){case 1:w.a+=f.b+s.a-n/2,w.b=-r-g,t.n.b=-(f.d+g+s.b);break;case 2:w.a=o.a+f.b+f.c+g,w.b+=f.d+s.b-r/2,t.n.a=o.a+f.c+g-s.a;break;case 3:w.a+=f.b+s.a-n/2,w.b=o.b+f.d+f.a+g,t.n.b=o.b+f.a+g-s.b;break;case 4:w.a=-n-g,w.b+=f.d+s.b-r/2,t.n.a=-(f.b+g+s.a)}return w}function hvt(e){var t,n,r,s,o,f;return r=new C7e,mc(r,e),qe(Q(r,(Nt(),Rh)))===qe((ea(),J1))&&rt(r,Rh,WU(r)),Q(r,(iU(),TM))==null&&(f=l(Cpt(e),167),rt(r,TM,Fq(f.of(TM)))),rt(r,(ft(),zi),e),rt(r,_u,(t=l(G0(Q1e),9),new Jh(t,l(o0(t,t.length),9),0))),s=PDn((ds(e)&&(dw(),new sw(ds(e))),dw(),new mae(ds(e)?new sw(ds(e)):null,e)),yc),o=l(Q(r,fDe),107),n=r.d,Hot(n,o),Hot(n,s),r}function FAn(e,t,n){var r,s;r=t.c.i,s=n.d.i,r.k==(Jn(),Aa)?(rt(e,(ft(),a1),l(Q(r,a1),12)),rt(e,$f,l(Q(r,$f),12)),rt(e,p4,Pt(Q(r,p4)))):r.k==uu?(rt(e,(ft(),a1),l(Q(r,a1),12)),rt(e,$f,l(Q(r,$f),12)),rt(e,p4,(Hn(),!0))):s.k==uu?(rt(e,(ft(),a1),l(Q(s,a1),12)),rt(e,$f,l(Q(s,$f),12)),rt(e,p4,(Hn(),!0))):(rt(e,(ft(),a1),t.c),rt(e,$f,n.d))}function RAn(e){var t,n,r,s,o,f,g;for(e.o=new H5,r=new os,f=new K(e.e.a);f.a<f.c.c.length;)o=l(re(f),125),t6(o).c.length==1&&_s(r,o,r.c.b,r.c);for(;r.b!=0;)o=l(r.b==0?null:(br(r.b!=0),sf(r,r.a.a)),125),t6(o).c.length!=0&&(t=l(Rt(t6(o),0),218),n=o.g.a.c.length>0,g=XU(t,o),Xye(n?g.b:g.g,t),t6(g).c.length==1&&_s(r,g,r.c.b,r.c),s=new fa(o,t),Tb(e.o,s),sl(e.e.a,o))}function fvt(e,t){var n,r,s,o,f,g,w;return r=b.Math.abs(EH(e.b).a-EH(t.b).a),g=b.Math.abs(EH(e.b).b-EH(t.b).b),s=0,w=0,n=1,f=1,r>e.b.b/2+t.b.b/2&&(s=b.Math.min(b.Math.abs(e.b.c-(t.b.c+t.b.b)),b.Math.abs(e.b.c+e.b.b-t.b.c)),n=1-s/r),g>e.b.a/2+t.b.a/2&&(w=b.Math.min(b.Math.abs(e.b.d-(t.b.d+t.b.a)),b.Math.abs(e.b.d+e.b.a-t.b.d)),f=1-w/g),o=b.Math.min(n,f),(1-o)*b.Math.sqrt(r*r+g*g)}function jAn(e){var t,n,r,s;for(qle(e,e.e,e.f,(Ow(),Jb),!0,e.c,e.i),qle(e,e.e,e.f,Jb,!1,e.c,e.i),qle(e,e.e,e.f,Y6,!0,e.c,e.i),qle(e,e.e,e.f,Y6,!1,e.c,e.i),PAn(e,e.c,e.e,e.f,e.i),r=new Ua(e.i,0);r.b<r.d.gc();)for(t=(br(r.b<r.d.gc()),l(r.d.Xb(r.c=r.b++),131)),s=new Ua(e.i,r.b);s.b<s.d.gc();)n=(br(s.b<s.d.gc()),l(s.d.Xb(s.c=s.b++),131)),CMn(t,n);WIn(e.i,l(Q(e.d,(ft(),Qx)),234)),cDn(e.i)}function Tle(e,t){var n,r;if(t!=null){if(r=Ww(e),r)if(r.i&1){if(r==th)return gy(t);if(r==Ur)return De(t,17);if(r==j4)return De(t,161);if(r==_l)return De(t,222);if(r==xf)return De(t,180);if(r==Oa)return py(t);if(r==d7)return De(t,191);if(r==hm)return De(t,168)}else return hq(),n=l(or(LY,r),57),!n||n.fk(t);else if(De(t,58))return e.dl(l(t,58))}return!1}function $ke(){$ke=U;var e,t,n,r,s,o,f,g,w;for(nd=We(_l,_6,28,255,15,1),H2=We(xf,Ad,28,64,15,1),t=0;t<255;t++)nd[t]=-1;for(n=90;n>=65;n--)nd[n]=n-65<<24>>24;for(r=122;r>=97;r--)nd[r]=r-97+26<<24>>24;for(s=57;s>=48;s--)nd[s]=s-48+52<<24>>24;for(nd[43]=62,nd[47]=63,o=0;o<=25;o++)H2[o]=65+o&ta;for(f=26,w=0;f<=51;++f,w++)H2[f]=97+w&ta;for(e=52,g=0;e<=61;++e,g++)H2[e]=48+g&ta;H2[62]=43,H2[63]=47}function dvt(e,t){var n,r,s,o,f,g;return s=R7e(e),g=R7e(t),s==g?e.e==t.e&&e.a<54&&t.a<54?e.f<t.f?-1:e.f>t.f?1:0:(r=e.e-t.e,n=(e.d>0?e.d:b.Math.floor((e.a-1)*y3t)+1)-(t.d>0?t.d:b.Math.floor((t.a-1)*y3t)+1),n>r+1?s:n<r-1?-s:(o=(!e.c&&(e.c=iN(tu(e.f))),e.c),f=(!t.c&&(t.c=iN(tu(t.f))),t.c),r<0?o=Y5(o,Evt(-r)):r>0&&(f=Y5(f,Evt(r))),Tdt(o,f))):s<g?-1:1}function $An(e,t,n){var r,s,o,f,g,w,T,C;for(n.Ug(eyt,1),e.vf(t),o=0;e.xf(o)&&!n.$g();){for(e.wf(),C=ag(Lh(he(le(Fh,1),jn,20,0,[t.e,t.d,t.b])));Rr(C);)for(w=l(yr(C),309),g=ag(Lh(he(le(Fh,1),jn,20,0,[t.e,t.d,t.b])));Rr(g);)f=l(yr(g),309),f!=w&&(s=e.uf(f,w),s&&Pi(w.c,s));for(T=ag(Lh(he(le(Fh,1),jn,20,0,[t.e,t.d,t.b])));Rr(T);)w=l(yr(T),309),r=w.c,Fpt(r,-e.d,-e.d,e.d,e.d),Pi(w.d,r),r.a=0,r.b=0;++o}n.Vg()}function zAn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z;if(e.dc())return new za;for(T=0,L=0,s=e.Kc();s.Ob();)r=l(s.Pb(),36),o=r.f,T=b.Math.max(T,o.a),L+=o.a*o.b;for(T=b.Math.max(T,b.Math.sqrt(L)*ze(Ge(Q(l(e.Kc().Pb(),36),(Nt(),pW))))),F=0,z=0,w=0,n=t,g=e.Kc();g.Ob();)f=l(g.Pb(),36),C=f.f,F+C.a>T&&(F=0,z+=w+t,w=0),YT(f,F,z),n=b.Math.max(n,F+C.a),w=b.Math.max(w,C.b),F+=C.a+t;return new lt(n+t,z+w+t)}function zke(e,t){var n,r,s,o,f,g,w;if(!M1(e))throw ue(new ic(D4t));if(r=M1(e),o=r.g,s=r.f,o<=0&&s<=0)return _t(),jc;switch(g=e.i,w=e.j,t.g){case 2:case 1:if(g<0)return _t(),Zn;if(g+e.g>o)return _t(),sr;break;case 4:case 3:if(w<0)return _t(),Xn;if(w+e.f>s)return _t(),Mr}return f=(g+e.g/2)/o,n=(w+e.f/2)/s,f+n<=1&&f-n<=0?(_t(),Zn):f+n>=1&&f-n>=0?(_t(),sr):n<.5?(_t(),Xn):(_t(),Mr)}function qAn(e,t,n,r,s){var o,f;if(o=fo(xa(t[0],Uo),xa(r[0],Uo)),e[0]=Yr(o),o=Tw(o,32),n>=s){for(f=1;f<s;f++)o=fo(o,fo(xa(t[f],Uo),xa(r[f],Uo))),e[f]=Yr(o),o=Tw(o,32);for(;f<n;f++)o=fo(o,xa(t[f],Uo)),e[f]=Yr(o),o=Tw(o,32)}else{for(f=1;f<n;f++)o=fo(o,fo(xa(t[f],Uo),xa(r[f],Uo))),e[f]=Yr(o),o=Tw(o,32);for(;f<s;f++)o=fo(o,xa(r[f],Uo)),e[f]=Yr(o),o=Tw(o,32)}su(o,0)!=0&&(e[f]=Yr(o))}function Wy(e){Ii();var t,n,r,s,o,f;if(e.e!=4&&e.e!=5)throw ue(new Wn("Token#complementRanges(): must be RANGE: "+e.e));for(o=e,l6(o),tL(o),r=o.b.length+2,o.b[0]==0&&(r-=2),n=o.b[o.b.length-1],n==SE&&(r-=2),s=new _h(4),s.b=We(Ur,fi,28,r,15,1),f=0,o.b[0]>0&&(s.b[f++]=0,s.b[f++]=o.b[0]-1),t=1;t<o.b.length-2;t+=2)s.b[f++]=o.b[t]+1,s.b[f++]=o.b[t+1]-1;return n!=SE&&(s.b[f++]=n+1,s.b[f]=SE),s.a=!0,s}function HAn(e,t){var n,r,s,o,f,g,w,T,C;for(t.Ug("Layer constraint edge reversal",1),f=new K(e.b);f.a<f.c.c.length;){for(o=l(re(f),30),C=-1,n=new mt,T=aN(o.a),s=0;s<T.length;s++)r=l(Q(T[s],(ft(),wv)),311),C==-1?r!=(ip(),j6)&&(C=s):r==(ip(),j6)&&(Ha(T[s],null),$y(T[s],C++,o)),r==(ip(),Gx)&&qn(n.c,T[s]);for(w=new K(n);w.a<w.c.c.length;)g=l(re(w),10),Ha(g,null),Ha(g,o)}t.Vg()}function Ele(e,t,n){var r,s,o,f,g,w,T,C;if(r=n.gc(),r==0)return!1;if(e.Pj())if(T=e.Qj(),Vue(e,t,n),f=r==1?e.Ij(3,null,n.Kc().Pb(),t,T):e.Ij(5,null,n,t,T),e.Mj()){for(g=r<100?null:new hb(r),o=t+r,s=t;s<o;++s)C=e.g[s],g=e.Nj(C,g),g=e.Uj(C,g);g?(g.nj(f),g.oj()):e.Jj(f)}else e.Jj(f);else if(Vue(e,t,n),e.Mj()){for(g=r<100?null:new hb(r),o=t+r,s=t;s<o;++s)w=e.g[s],g=e.Nj(w,g);g&&g.oj()}return!0}function UAn(e,t){var n,r,s,o,f,g,w,T,C;for(t.Ug("Hierarchical port dummy size processing",1),w=new mt,C=new mt,r=ze(Ge(Q(e,(Nt(),U6)))),n=r*2,o=new K(e.b);o.a<o.c.c.length;){for(s=l(re(o),30),w.c.length=0,C.c.length=0,g=new K(s.a);g.a<g.c.c.length;)f=l(re(g),10),f.k==(Jn(),Ks)&&(T=l(Q(f,(ft(),Xc)),64),T==(_t(),Xn)?qn(w.c,f):T==Mr&&qn(C.c,f));G2t(w,!0,n),G2t(C,!1,n)}t.Vg()}function qke(e,t,n,r){var s,o,f,g,w;for(f=new K(e.k);f.a<f.c.c.length;)s=l(re(f),132),(!r||s.c==(Q0(),Qb))&&(w=s.b,w.g<0&&s.d>0&&(H(w,w.d-s.d),s.c==(Q0(),Qb)&&N(w,w.a-s.d),w.d<=0&&w.i>0&&_s(t,w,t.c.b,t.c)));for(o=new K(e.f);o.a<o.c.c.length;)s=l(re(o),132),(!r||s.c==(Q0(),Qb))&&(g=s.a,g.g<0&&s.d>0&&(q(g,g.i-s.d),s.c==(Q0(),Qb)&&$(g,g.b-s.d),g.i<=0&&g.d>0&&_s(n,g,n.c.b,n.c)))}function VAn(e,t,n,r,s){var o,f,g,w,T,C,L,F,z;for(Cn(),Gs(e,new rk),f=HO(e),z=new mt,F=new mt,g=null,w=0;f.b!=0;)o=l(f.b==0?null:(br(f.b!=0),sf(f,f.a.a)),163),!g||vl(g)*hh(g)/2<vl(o)*hh(o)?(g=o,qn(z.c,o)):(w+=vl(o)*hh(o),qn(F.c,o),F.c.length>1&&(w>vl(g)*hh(g)/2||f.b==0)&&(L=new vU(F),C=vl(g)/hh(g),T=Hle(L,t,new L8,n,r,s,C),Pi(W0(L.e),T),g=L,qn(z.c,L),w=0,F.c.length=0));return aa(z,F),z}function gu(e,t,n,r,s){Wg();var o,f,g,w,T,C,L;if(D5e(e,"src"),D5e(n,"dest"),L=dh(e),w=dh(n),X4e((L.i&4)!=0,"srcType is not an array"),X4e((w.i&4)!=0,"destType is not an array"),C=L.c,f=w.c,X4e(C.i&1?C==f:(f.i&1)==0,"Array types don't match"),Dyn(e,t,n,r,s),!(C.i&1)&&L!=w)if(T=Km(e),o=Km(n),qe(e)===qe(n)&&t<r)for(t+=s,g=r+s;g-- >r;)Ss(o,g,T[--t]);else for(g=r+s;r<g;)Ss(o,r++,T[t++]);else $9e(e,t,n,r,s,!0)}function gvt(e,t){var n,r,s,o,f,g,w,T,C;switch(t.Ug("Box layout",2),s=iO(Ge(at(e,(SV(),n_t)))),o=l(at(e,t_t),107),n=Ft(Pt(at(e,dNe))),r=Ft(Pt(at(e,gNe))),l(at(e,zge),320).g){case 0:f=(C=new Ml((!e.a&&(e.a=new nt(Li,e,10,11)),e.a)),Cn(),Gs(C,new oQe(r)),C),g=E9e(e),w=Ge(at(e,fNe)),(w==null||(tr(w),w<=0))&&(w=1.3),T=TIn(f,s,o,g.a,g.b,n,(tr(w),w)),Zw(e,T.a,T.b,!1,!0);break;default:pMn(e,s,o,n)}t.Vg()}function GAn(e,t,n,r,s){var o,f,g,w,T,C,L,F,z,V;for(F=mxn(e,n),w=0;w<t;w++){for(wy(s,n),z=new mt,V=(br(r.b<r.d.gc()),l(r.d.Xb(r.c=r.b++),418)),C=F+w;C<e.b;C++)g=V,V=(br(r.b<r.d.gc()),l(r.d.Xb(r.c=r.b++),418)),wt(z,new Hbt(g,V,n));for(L=F+w;L<e.b;L++)br(r.b>0),r.a.Xb(r.c=--r.b),L>F+w&&fh(r);for(f=new K(z);f.a<f.c.c.length;)o=l(re(f),418),wy(r,o);if(w<t-1)for(T=F+w;T<e.b;T++)br(r.b>0),r.a.Xb(r.c=--r.b)}}function KAn(){Ii();var e,t,n,r,s,o;if(Tpe)return Tpe;for(e=new _h(4),Xy(e,Bb(L0e,!0)),rL(e,Bb("M",!0)),rL(e,Bb("C",!0)),o=new _h(4),r=0;r<11;r++)xu(o,r,r);return t=new _h(4),Xy(t,Bb("M",!0)),xu(t,4448,4607),xu(t,65438,65439),s=new F_(2),sv(s,e),sv(s,YM),n=new F_(2),n.Jm(gH(o,Bb("L",!0))),n.Jm(t),n=new _y(3,n),n=new M5e(s,n),Tpe=n,Tpe}function Yy(e,t){var n,r,s,o,f,g,w,T;for(n=new RegExp(t,"g"),w=We($t,dt,2,0,6,1),r=0,T=e,o=null;;)if(g=n.exec(T),g==null||T==""){w[r]=T;break}else f=g.index,w[r]=(Va(0,f,T.length),T.substr(0,f)),T=ef(T,f+g[0].length,T.length),n.lastIndex=0,o==T&&(w[r]=(Va(0,1,T.length),T.substr(0,1)),T=(Yn(1,T.length+1),T.substr(1))),o=T,++r;if(e.length>0){for(s=w.length;s>0&&w[s-1]=="";)--s;s<w.length&&(w.length=s)}return w}function Vc(){Vc=U,OIe=new mw(20),IIe=new qa((bi(),B2),OIe),tge=new qa(Dv,20),PIe=new qa(KNe,3),QEt=new qa(t7,fE),VW=new qa(iF,bt(1)),aCt=new qa(npe,(Hn(),!0)),AIe=eF,LIe=(ea(),J1),_3=new qa(Lv,LIe),JEt=nF,ZEt=Wge,tCt=Mv,nCt=A4,rCt=a7,iCt=em,eCt=s7,DIe=rF,sCt=L4,FIe=(V9e(),XEt),NIe=WEt,uCt=LM,lCt=dY,cCt=sF,oCt=fY,BIe=(gx(),I4),new qa(s9,BIe),X6=KEt,ege=GEt,$d=YEt,_Ie=UEt,MIe=VEt}function WAn(e){var t,n;if(t=Zr(at(e,(bi(),nC))),!d0t(t,e)&&!P1(e,c7)&&((!e.a&&(e.a=new nt(Li,e,10,11)),e.a).i!=0||Ft(Pt(at(e,tF)))))if(t==null||Hy(t).length==0){if(!d0t(ir,e))throw n=li(li(new Eh("Unable to load default layout algorithm "),ir)," for unconfigured node "),ZV(e,n),ue(new Zp(n.a))}else throw n=li(li(new Eh("Layout algorithm '"),t),"' not found for "),ZV(e,n),ue(new Zp(n.a))}function Cle(e){var t,n,r,s,o,f,g,w,T,C,L,F,z;if(n=e.i,t=e.n,e.b==0)for(z=n.c+t.b,F=n.b-t.b-t.c,f=e.a,w=0,C=f.length;w<C;++w)s=f[w],vH(s,z,F);else r=igt(e,!1),vH(e.a[0],n.c+t.b,r[0]),vH(e.a[2],n.c+n.b-t.c-r[2],r[2]),L=n.b-t.b-t.c,r[0]>0&&(L-=r[0]+e.c,r[0]+=e.c),r[2]>0&&(L-=r[2]+e.c),r[1]=b.Math.max(r[1],L),vH(e.a[1],n.c+t.b+r[0]-(r[1]-L)/2,r[1]);for(o=e.a,g=0,T=o.length;g<T;++g)s=o[g],De(s,336)&&l(s,336).lf()}function YAn(e){var t,n,r,s,o,f,g,w,T,C,L;for(L=new Ste,L.d=0,f=new K(e.b);f.a<f.c.c.length;)o=l(re(f),30),L.d+=o.a.c.length;for(r=0,s=0,L.a=We(Ur,fi,28,e.b.c.length,15,1),T=0,C=0,L.e=We(Ur,fi,28,L.d,15,1),n=new K(e.b);n.a<n.c.c.length;)for(t=l(re(n),30),t.p=r++,L.a[t.p]=s++,C=0,w=new K(t.a);w.a<w.c.c.length;)g=l(re(w),10),g.p=T++,L.e[g.p]=C++;return L.c=new NXe(L),L.b=rg(L.d),gAn(L,e),L.f=rg(L.d),pAn(L,e),L}function pvt(e,t){var n,r,s,o;for(o=l(Rt(e.n,e.n.c.length-1),209).d,e.p=b.Math.min(e.p,t.g),e.r=b.Math.max(e.r,o),e.g=b.Math.max(e.g,t.g+(e.b.c.length==1?0:e.i)),e.o=b.Math.min(e.o,t.f),e.e+=t.f+(e.b.c.length==1?0:e.i),e.f=b.Math.max(e.f,t.f),s=e.n.c.length>0?(e.n.c.length-1)*e.i:0,r=new K(e.n);r.a<r.c.c.length;)n=l(re(r),209),s+=n.a;e.d=s,e.a=e.e/e.b.c.length-e.i*((e.b.c.length-1)/e.b.c.length),kxe(e.j)}function bvt(e,t){var n,r,s,o,f,g,w,T,C,L;if(C=Pt(Q(t,(p0(),D8t))),C==null||(tr(C),C)){for(L=We(th,vg,28,t.e.c.length,16,1),f=BTn(t),s=new os,T=new K(t.e);T.a<T.c.c.length;)g=l(re(T),153),n=tke(e,g,null,null,L,f),n&&(mc(n,t),_s(s,n,s.c.b,s.c));if(s.b>1)for(r=Fr(s,0);r.b!=r.d.c;)for(n=l(Pr(r),235),o=0,w=new K(n.e);w.a<w.c.c.length;)g=l(re(w),153),g.a=o++;return s}return O1(he(le(zOn,1),J3t,235,0,[t]))}function Sd(e){var t,n,r,s,o,f,g;if(!e.g){if(g=new NI,t=HM,f=t.a.zc(e,t),f==null){for(r=new ar(pc(e));r.e!=r.i.gc();)n=l(dr(r),29),Ls(g,Sd(n));t.a.Bc(e)!=null,t.a.gc()==0}for(s=g.i,o=(!e.s&&(e.s=new nt(fl,e,21,17)),new ar(e.s));o.e!=o.i.gc();++s)st(l(dr(o),462),s);Ls(g,(!e.s&&(e.s=new nt(fl,e,21,17)),e.s)),Py(g),e.g=new U0t(e,g),e.i=l(g.g,254),e.i==null&&(e.i=bpe),e.p=null,Gl(e).b&=-5}return e.g}function XAn(e,t){var n,r,s,o,f,g,w,T,C;if(n=t.qi(e.a),n&&(w=Zr(t1((!n.b&&(n.b=new lh((En(),Do),Qc,n)),n.b),"memberTypes")),w!=null)){for(T=new mt,o=Yy(w,"\\w"),f=0,g=o.length;f<g;++f)s=o[f],r=s.lastIndexOf("#"),C=r==-1?s4e(e,t.jk(),s):r==0?pN(e,null,(Yn(1,s.length+1),s.substr(1))):pN(e,(Va(0,r,s.length),s.substr(0,r)),(Yn(r+1,s.length+1),s.substr(r+1))),De(C,156)&&wt(T,l(C,156));return T}return Cn(),Cn(),Co}function Sle(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V;if(r=e.i,n=e.n,e.b==0)t=rgt(e,!1),wH(e.a[0],r.d+n.d,t[0]),wH(e.a[2],r.d+r.a-n.a-t[2],t[2]),F=r.a-n.d-n.a,L=F,t[0]>0&&(t[0]+=e.c,L-=t[0]),t[2]>0&&(L-=t[2]+e.c),t[1]=b.Math.max(t[1],L),wH(e.a[1],r.d+n.d+t[0]-(t[1]-L)/2,t[1]);else for(V=r.d+n.d,z=r.a-n.d-n.a,f=e.a,w=0,C=f.length;w<C;++w)s=f[w],wH(s,V,z);for(o=e.a,g=0,T=o.length;g<T;++g)s=o[g],De(s,336)&&l(s,336).mf()}function QAn(e){var t,n,r,s,o,f,g,w,T,C;for(C=We(Ur,fi,28,e.b.c.length+1,15,1),T=new Ys,r=0,o=new K(e.b);o.a<o.c.c.length;){for(s=l(re(o),30),C[r++]=T.a.gc(),w=new K(s.a);w.a<w.c.c.length;)for(f=l(re(w),10),n=new lr(fr(qs(f).a.Kc(),new j));Rr(n);)t=l(yr(n),18),T.a.zc(t,T);for(g=new K(s.a);g.a<g.c.c.length;)for(f=l(re(g),10),n=new lr(fr(Ea(f).a.Kc(),new j));Rr(n);)t=l(yr(n),18),T.a.Bc(t)!=null}return C}function KV(e,t,n,r){var s,o,f,g,w;if(w=Wu(e.e.Dh(),t),s=l(e.g,124),Ro(),l(t,69).xk()){for(f=0;f<e.i;++f)if(o=s[f],w.am(o.Lk())&&Fi(o,n))return!0}else if(n!=null){for(g=0;g<e.i;++g)if(o=s[g],w.am(o.Lk())&&Fi(n,o.md()))return!0;if(r){for(f=0;f<e.i;++f)if(o=s[f],w.am(o.Lk())&&qe(n)===qe(kae(e,l(o.md(),58))))return!0}}else for(f=0;f<e.i;++f)if(o=s[f],w.am(o.Lk())&&o.md()==null)return!1;return!1}function JAn(e,t){var n,r,s,o,f,g;if(n=t.qi(e.a),n&&(g=Zr(t1((!n.b&&(n.b=new lh((En(),Do),Qc,n)),n.b),WG)),g!=null))switch(s=Vq(g,ol(35)),r=t.qk(),s==-1?(f=W_(e,Ah(r)),o=g):s==0?(f=null,o=(Yn(1,g.length+1),g.substr(1))):(f=(Va(0,s,g.length),g.substr(0,s)),o=(Yn(s+1,g.length+1),g.substr(s+1))),Lw(ac(e,t))){case 2:case 3:return Iyn(e,r,f,o);case 0:case 4:case 5:case 6:return Oyn(e,r,f,o)}return null}function mvt(e,t,n,r){var s,o,f,g;for(g=n,f=new K(t.a);f.a<f.c.c.length;){if(o=l(re(f),225),s=l(o.b,68),Uw(e.b.c,s.b.c+s.b.b)<=0&&Uw(s.b.c,e.b.c+e.b.b)<=0&&Uw(e.b.d,s.b.d+s.b.a)<=0&&Uw(s.b.d,e.b.d+e.b.a)<=0){if(Uw(s.b.c,e.b.c+e.b.b)==0&&r.a<0||Uw(s.b.c+s.b.b,e.b.c)==0&&r.a>0||Uw(s.b.d,e.b.d+e.b.a)==0&&r.b<0||Uw(s.b.d+s.b.a,e.b.d)==0&&r.b>0){g=0;break}}else g=b.Math.min(g,f2t(e,s,r));g=b.Math.min(g,mvt(e,o,g,r))}return g}function xP(e,t){var n,r,s,o,f,g,w;if(e.b<2)throw ue(new Wn("The vector chain must contain at least a source and a target point."));for(s=(br(e.b!=0),l(e.a.a.c,8)),MO(t,s.a,s.b),w=new H8((!t.a&&(t.a=new Qs(qh,t,5)),t.a)),f=Fr(e,1);f.a<e.b-1;)g=l(Pr(f),8),w.e!=w.i.gc()?n=l(dr(w),377):(n=(fb(),r=new LS,r),odt(w,n)),cae(n,g.a,g.b);for(;w.e!=w.i.gc();)dr(w),$A(w);o=(br(e.b!=0),l(e.c.b.c,8)),LO(t,o.a,o.b)}function vvt(e,t,n,r){var s,o,f,g,w,T;if(T=Wu(e.e.Dh(),t),f=l(e.g,124),dp(e.e,t)){if(t.Si()&&(o=JT(e,t,r,De(t,102)&&(l(t,19).Bb&Lo)!=0),o>=0&&o!=n))throw ue(new Wn(nB));for(s=0,w=0;w<e.i;++w)if(g=f[w],T.am(g.Lk())){if(s==n)return l(i6(e,w,(Ro(),l(t,69).xk()?l(r,76):cg(t,r))),76);++s}throw ue(new rc(SL+n+gv+s))}else{for(w=0;w<e.i;++w)if(g=f[w],T.am(g.Lk()))return Ro(),l(t,69).xk()?g:g.md();return null}}function wvt(e,t){var n,r,s,o,f,g,w,T,C;for(n=0,s=new K((Sn(0,e.c.length),l(e.c[0],105)).g.b.j);s.a<s.c.c.length;)r=l(re(s),12),r.p=n++;for(t==(_t(),Xn)?Gs(e,new Pee):Gs(e,new Bee),g=0,C=e.c.length-1;g<C;)f=(Sn(g,e.c.length),l(e.c[g],105)),T=(Sn(C,e.c.length),l(e.c[C],105)),o=t==Xn?f.c:f.a,w=t==Xn?T.a:T.c,a2(f,t,(R1(),OE),o),a2(T,t,IE,w),++g,--C;g==C&&a2((Sn(g,e.c.length),l(e.c[g],105)),t,(R1(),Vx),null)}function ZAn(e,t,n,r){var s,o,f,g,w,T;for(f=new Xvt(e,t,n),w=new Ua(r,0),s=!1;w.b<w.d.gc();)g=(br(w.b<w.d.gc()),l(w.d.Xb(w.c=w.b++),239)),g==t||g==n?fh(w):!s&&ze(L1(g.g,g.d[0]).a)>ze(L1(f.g,f.d[0]).a)?(br(w.b>0),w.a.Xb(w.c=--w.b),wy(w,f),s=!0):g.e&&g.e.gc()>0&&(o=(!g.e&&(g.e=new mt),g.e).Mc(t),T=(!g.e&&(g.e=new mt),g.e).Mc(n),(o||T)&&((!g.e&&(g.e=new mt),g.e).Fc(f),++f.c));s||qn(r.c,f)}function eLn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe;return L=e.a.i+e.a.g/2,F=e.a.i+e.a.g/2,V=t.i+t.g/2,te=t.j+t.f/2,g=new lt(V,te),T=l(at(t,(bi(),r9)),8),T.a=T.a+L,T.b=T.b+F,o=(g.b-T.b)/(g.a-T.a),r=g.b-o*g.a,J=n.i+n.g/2,fe=n.j+n.f/2,w=new lt(J,fe),C=l(at(n,r9),8),C.a=C.a+L,C.b=C.b+F,f=(w.b-C.b)/(w.a-C.a),s=w.b-f*w.a,z=(r-s)/(f-o),T.a<z&&g.a<z||z<T.a&&z<g.a?!1:!(C.a<z&&w.a<z||z<C.a&&z<w.a)}function tLn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z;if(F=l(or(e.c,t),190),!F)throw ue(new dd("Edge did not exist in input."));return T=BT(F),o=oO((!t.a&&(t.a=new nt(cs,t,6,6)),t.a)),g=!o,g&&(z=new Yp,n=new Xit(e,T,z),Uln((!t.a&&(t.a=new nt(cs,t,6,6)),t.a),n),Z0(F,MSe,z)),s=P1(t,(bi(),A3)),s&&(C=l(at(t,A3),75),f=!C||Fat(C),w=!f,w&&(L=new Yp,r=new DQe(L),Za(C,r),Z0(F,"junctionPoints",L))),Hk(F,"container",nN(t).k),null}function yvt(e,t,n,r){var s,o,f,g,w,T;if(!tT(t)){if(T=n.eh((De(t,16)?l(t,16).gc():ep(t.Kc()))/e.a|0),T.Ug(Hyt,1),w=new c$,g=0,r==(ea(),hc)||r==yc)for(f=t.Kc();f.Ob();)s=l(f.Pb(),40),w=Lh(he(le(Fh,1),jn,20,0,[w,new Kg(s)])),g<s.f.a&&(g=s.f.a);else for(f=t.Kc();f.Ob();)s=l(f.Pb(),40),w=Lh(he(le(Fh,1),jn,20,0,[w,new Kg(s)])),g<s.f.b&&(g=s.f.b);for(o=t.Kc();o.Ob();)s=l(o.Pb(),40),rt(s,(Zi(),UW),g);T.Vg(),yvt(e,w,n,r)}}function Hke(e,t,n){var r,s,o,f,g,w,T,C;this.a=e,this.b=t,this.c=n,this.e=O1(he(le(ROn,1),jn,177,0,[new F8(e,t),new F8(t,n),new F8(n,e)])),this.f=O1(he(le(Ca,1),dt,8,0,[e,t,n])),this.d=(r=ya(Xa(this.b),this.a),s=ya(Xa(this.c),this.a),o=ya(Xa(this.c),this.b),f=r.a*(this.a.a+this.b.a)+r.b*(this.a.b+this.b.b),g=s.a*(this.a.a+this.c.a)+s.b*(this.a.b+this.c.b),w=2*(r.a*o.b-r.b*o.a),T=(s.b*f-r.b*g)/w,C=(r.a*g-s.a*f)/w,new lt(T,C))}function Jw(e,t){var n,r,s,o,f,g;for(o=e.c,f=e.d,ho(e,null),Na(e,null),t&&Ft(Pt(Q(f,(ft(),ide))))?ho(e,Bke(f.i,(qo(),$u),(_t(),sr))):ho(e,f),t&&Ft(Pt(Q(o,(ft(),ade))))?Na(e,Bke(o.i,(qo(),Fl),(_t(),Zn))):Na(e,o),r=new K(e.b);r.a<r.c.c.length;)n=l(re(r),72),s=l(Q(n,(Nt(),jd)),278),s==(F1(),sC)?rt(n,jd,M4):s==M4&&rt(n,jd,sC);g=Ft(Pt(Q(e,(ft(),W1)))),rt(e,W1,(Hn(),!g)),e.a=BN(e.a)}function nLn(e,t){var n,r,s,o,f;return n=RT(l(Q(t,(Vc(),_3)),88)),e.b.b==0?null:(f=l(kc(gc(new vn(null,new kn(e.b,16)),new Yte),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)]))),15),o=l(kc(ji(new vn(null,new kn(t.b,16)),new BXe(f)),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[Cc]))),15),s=Ge(uh(xy(gc(o.Oc(),new FXe(n)),(Mw(),Mw(),V0e)))),r=l(uh(ET(ji(o.Oc(),new Mtt(n,s)))),40),r)}function rLn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te;n=vw(new Nm,e.f),T=e.i[t.c.i.p],z=e.i[t.d.i.p],w=t.c,F=t.d,g=w.a.b,L=F.a.b,T.b||(g+=w.n.b),z.b||(L+=F.n.b),C=da(b.Math.max(0,g-L)),f=da(b.Math.max(0,L-g)),V=(J=b.Math.max(1,l(Q(t,(Nt(),Zx)),17).a),te=_6e(t.c.i.k,t.d.i.k),J*te),s=g0(i0(r0(n0(s0(new _f,V),f),n),l(or(e.k,t.c),125))),o=g0(i0(r0(n0(s0(new _f,V),C),n),l(or(e.k,t.d),125))),r=new wtt(s,o),e.c[t.p]=r}function iLn(e,t,n){var r,s,o,f,g,w;for(r=0,o=new ar((!e.a&&(e.a=new nt(Li,e,10,11)),e.a));o.e!=o.i.gc();)s=l(dr(o),27),f="",(!s.n&&(s.n=new nt(nc,s,1,7)),s.n).i==0||(f=l(Oe((!s.n&&(s.n=new nt(nc,s,1,7)),s.n),0),135).a),g=new Ynt(f),mc(g,s),rt(g,(Cb(),Ux),s),g.a=r++,g.d.a=s.i+s.g/2,g.d.b=s.j+s.f/2,g.e.a=b.Math.max(s.g,1),g.e.b=b.Math.max(s.f,1),wt(t.e,g),Ru(n.f,s,g),w=l(at(s,(p0(),xAe)),101),w==(Pa(),rm)&&(w=Z1)}function sLn(e,t){var n,r,s,o,f,g,w;t.Ug("Layer constraint postprocessing",1),w=e.b,w.c.length!=0&&(r=(Sn(0,w.c.length),l(w.c[0],30)),f=l(Rt(w,w.c.length-1),30),n=new vu(e),o=new vu(e),G_n(e,r,f,n,o),n.a.c.length==0||(Sy(0,w.c.length),k_(w.c,0,n)),o.a.c.length==0||qn(w.c,o)),rs(e,(ft(),rde))&&(s=new vu(e),g=new vu(e),FSn(e,s,g),s.a.c.length==0||(Sy(0,w.c.length),k_(w.c,0,s)),g.a.c.length==0||qn(w.c,g)),t.Vg()}function kP(e){var t,n,r;switch(e){case 91:case 93:case 45:case 94:case 44:case 92:r="\\"+String.fromCharCode(e&ta);break;case 12:r="\\f";break;case 10:r="\\n";break;case 13:r="\\r";break;case 9:r="\\t";break;case 27:r="\\e";break;default:e<32?(n=(t=e>>>0,"0"+t.toString(16)),r="\\x"+ef(n,n.length-2,n.length)):e>=Lo?(n=(t=e>>>0,"0"+t.toString(16)),r="\\v"+ef(n,n.length-6,n.length)):r=""+String.fromCharCode(e&ta)}return r}function xvt(e){var t,n,r;if(F5(l(Q(e,(Nt(),Ds)),101)))for(n=new K(e.j);n.a<n.c.c.length;)t=l(re(n),12),t.j==(_t(),jc)&&(r=l(Q(t,(ft(),Bl)),10),r?ga(t,l(Q(r,Xc),64)):t.e.c.length-t.g.c.length<0?ga(t,sr):ga(t,Zn));else{for(n=new K(e.j);n.a<n.c.c.length;)t=l(re(n),12),r=l(Q(t,(ft(),Bl)),10),r?ga(t,l(Q(r,Xc),64)):t.e.c.length-t.g.c.length<0?ga(t,(_t(),sr)):ga(t,(_t(),Zn));rt(e,Ds,(Pa(),oC))}}function Uke(e){var t,n,r,s,o,f;for(this.e=new mt,this.a=new mt,n=e.b-1;n<3;n++)Fk(e,0,l(hf(e,0),8));if(e.b<4)throw ue(new Wn("At (least dimension + 1) control points are necessary!"));for(this.b=3,this.d=!0,this.c=!1,OEn(this,e.b+this.b-1),f=new mt,o=new K(this.e),t=0;t<this.b-1;t++)wt(f,Ge(re(o)));for(s=Fr(e,0);s.b!=s.d.c;)r=l(Pr(s),8),wt(f,Ge(re(o))),wt(this.a,new Oot(r,f)),Sn(0,f.c.length),f.c.splice(0,1)}function kvt(e,t){var n,r,s,o,f,g,w,T,C;for(o=new K(e.b);o.a<o.c.c.length;)for(s=l(re(o),30),g=new K(s.a);g.a<g.c.c.length;)for(f=l(re(g),10),f.k==(Jn(),uu)&&(w=(T=l(yr(new lr(fr(Ea(f).a.Kc(),new j))),18),C=l(yr(new lr(fr(qs(f).a.Kc(),new j))),18),!Ft(Pt(Q(T,(ft(),W1))))||!Ft(Pt(Q(C,W1)))?t:R0t(t)),Cx(f,w)),r=new lr(fr(qs(f).a.Kc(),new j));Rr(r);)n=l(yr(r),18),w=Ft(Pt(Q(n,(ft(),W1))))?R0t(t):t,D0t(n,w)}function aLn(e,t,n,r,s){var o,f,g;if(n.f>=t.o&&n.f<=t.f||t.a*.5<=n.f&&t.a*1.5>=n.f){if(f=l(Rt(t.n,t.n.c.length-1),209),f.e+f.d+n.g+s<=r&&(o=l(Rt(t.n,t.n.c.length-1),209),o.f-e.f+n.f<=e.b||e.a.c.length==1))return R8e(t,n),!0;if(t.s+n.g<=r&&(t.t+t.d+n.f+s<=e.b||e.a.c.length==1))return wt(t.b,n),g=l(Rt(t.n,t.n.c.length-1),209),wt(t.n,new qH(t.s,g.f+g.a+t.i,t.i)),vxe(l(Rt(t.n,t.n.c.length-1),209),n),pvt(t,n),!0}return!1}function Tvt(e,t,n){var r,s,o,f;return e.Pj()?(s=null,o=e.Qj(),r=e.Ij(1,f=sce(e,t,n),n,t,o),e.Mj()&&!(e.Yi()&&f!=null?Fi(f,n):qe(f)===qe(n))?(f!=null&&(s=e.Oj(f,s)),s=e.Nj(n,s),e.Tj()&&(s=e.Wj(f,n,s)),s?(s.nj(r),s.oj()):e.Jj(r)):(e.Tj()&&(s=e.Wj(f,n,s)),s?(s.nj(r),s.oj()):e.Jj(r)),f):(f=sce(e,t,n),e.Mj()&&!(e.Yi()&&f!=null?Fi(f,n):qe(f)===qe(n))&&(s=null,f!=null&&(s=e.Oj(f,null)),s=e.Nj(n,s),s&&s.oj()),f)}function oLn(e,t){var n,r,s,o,f;if(t.Ug("Path-Like Graph Wrapping",1),e.b.c.length==0){t.Vg();return}if(s=new W9e(e),f=(s.i==null&&(s.i=j7e(s,new Zj)),ze(s.i)*s.f),n=f/(s.i==null&&(s.i=j7e(s,new Zj)),ze(s.i)),s.b>n){t.Vg();return}switch(l(Q(e,(Nt(),Cde)),351).g){case 2:o=new t$;break;case 0:o=new ES;break;default:o=new n$}if(r=o.og(e,s),!o.pg())switch(l(Q(e,MW),352).g){case 2:r=d2t(s,r);break;case 1:r=ipt(s,r)}rMn(e,s,r),t.Vg()}function QA(e,t){var n,r,s,o,f,g,w,T;t%=24,e.q.getHours()!=t&&(r=new b.Date(e.q.getTime()),r.setDate(r.getDate()+1),g=e.q.getTimezoneOffset()-r.getTimezoneOffset(),g>0&&(w=g/60|0,T=g%60,s=e.q.getDate(),n=e.q.getHours(),n+w>=24&&++s,o=new b.Date(e.q.getFullYear(),e.q.getMonth(),s,t+w,e.q.getMinutes()+T,e.q.getSeconds(),e.q.getMilliseconds()),e.q.setTime(o.getTime()))),f=e.q.getTime(),e.q.setTime(f+36e5),e.q.getHours()!=t&&e.q.setTime(f)}function cLn(e,t){var n,r,s,o;if(xbn(e.d,e.e),e.c.a.$b(),ze(Ge(Q(t.j,(Nt(),vW))))!=0||ze(Ge(Q(t.j,vW)))!=0)for(n=k6,qe(Q(t.j,Tg))!==qe((Td(),I2))&&rt(t.j,(ft(),Wb),(Hn(),!0)),o=l(Q(t.j,rM),17).a,s=0;s<o&&(r=kLn(e,t),!(r<n&&(n=r,Wft(e),n==0)));s++);else for(n=Ni,qe(Q(t.j,Tg))!==qe((Td(),I2))&&rt(t.j,(ft(),Wb),(Hn(),!0)),o=l(Q(t.j,rM),17).a,s=0;s<o&&(r=Avt(e,t),!(r<n&&(n=r,Wft(e),n==0)));s++);}function uLn(e,t){var n,r,s,o,f,g,w,T;for(f=new mt,g=0,n=0,w=0;g<t.c.length-1&&n<e.gc();){for(r=l(e.Xb(n),17).a+w;(Sn(g+1,t.c.length),l(t.c[g+1],17)).a<r;)++g;for(T=0,o=r-(Sn(g,t.c.length),l(t.c[g],17)).a,s=(Sn(g+1,t.c.length),l(t.c[g+1],17)).a-r,o>s&&++T,wt(f,(Sn(g+T,t.c.length),l(t.c[g+T],17))),w+=(Sn(g+T,t.c.length),l(t.c[g+T],17)).a-r,++n;n<e.gc()&&l(e.Xb(n),17).a+w<=(Sn(g+T,t.c.length),l(t.c[g+T],17)).a;)++n;g+=1+T}return f}function lLn(e,t){var n,r,s,o,f;for(f=new lr(fr(Ea(t).a.Kc(),new j));Rr(f);)if(o=l(yr(f),18),e.f.b==0?(s=o.c.i.k==(Jn(),Bs)&&!!o.c.i.c&&o.c.i.c.p==e.c,Rr(new lr(fr(Ea(o.c.i).a.Kc(),new j)))?(n=l(yr(new lr(fr(Ea(o.c.i).a.Kc(),new j))),18).c.i.c,r=o.c.i.k==uu&&!!n&&n.p==e.c):r=!1):(s=o.c.i.k==(Jn(),Bs)&&o.c.i.p==e.c,r=o.c.i.k==uu&&l(yr(new lr(fr(Ea(o.c.i).a.Kc(),new j))),18).c.i.p==e.c),s||r)return!0;return!1}function hLn(e,t,n,r,s){var o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me;for(F=new mt,fe=XH(r),te=t*e.a,L=0,V=0,o=new Ys,f=new Ys,g=new mt,Ee=0,Me=0,z=0,J=0,T=0,C=0;fe.a.gc()!=0;)w=s5n(fe,s,f),w&&(fe.a.Bc(w)!=null,qn(g.c,w),o.a.zc(w,o),V=e.f[w.p],Ee+=e.e[w.p]-V*e.b,L=e.c[w.p],Me+=L*e.b,C+=V*e.b,J+=e.e[w.p]),(!w||fe.a.gc()==0||Ee>=te&&e.e[w.p]>V*e.b||Me>=n*te)&&(qn(F.c,g),g=new mt,Ga(f,o),o.a.$b(),T-=C,z=b.Math.max(z,T*e.b+J),T+=Me,Ee=Me,Me=0,C=0,J=0);return new fa(z,F)}function _le(e){var t,n,r,s,o,f,g;if(!e.d){if(g=new fre,t=HM,o=t.a.zc(e,t),o==null){for(r=new ar(pc(e));r.e!=r.i.gc();)n=l(dr(r),29),Ls(g,_le(n));t.a.Bc(e)!=null,t.a.gc()==0}for(f=g.i,s=(!e.q&&(e.q=new nt(Vf,e,11,10)),new ar(e.q));s.e!=s.i.gc();++f)l(dr(s),411);Ls(g,(!e.q&&(e.q=new nt(Vf,e,11,10)),e.q)),Py(g),e.d=new B5((l(Oe(tt((wb(),Un).o),9),19),g.i),g.g),e.e=l(g.g,688),e.e==null&&(e.e=SAt),Gl(e).b&=-17}return e.d}function JT(e,t,n,r){var s,o,f,g,w,T;if(T=Wu(e.e.Dh(),t),w=0,s=l(e.g,124),Ro(),l(t,69).xk()){for(f=0;f<e.i;++f)if(o=s[f],T.am(o.Lk())){if(Fi(o,n))return w;++w}}else if(n!=null){for(g=0;g<e.i;++g)if(o=s[g],T.am(o.Lk())){if(Fi(n,o.md()))return w;++w}if(r){for(w=0,f=0;f<e.i;++f)if(o=s[f],T.am(o.Lk())){if(qe(n)===qe(kae(e,l(o.md(),58))))return w;++w}}}else for(f=0;f<e.i;++f)if(o=s[f],T.am(o.Lk())){if(o.md()==null)return w;++w}return-1}function fLn(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V,J;if(n.Xh(t)&&(C=(z=t,z?l(r,54).gi(z):null),C))if(J=n.Nh(t,e.a),V=t.t,V>1||V==-1)if(L=l(J,71),F=l(C,71),L.dc())F.$b();else for(f=!!jo(t),o=0,g=e.a?L.Kc():L.Ii();g.Ob();)T=l(g.Pb(),58),s=l(B1(e,T),58),s?(f?(w=F.dd(s),w==-1?F.Gi(o,s):o!=w&&F.Ui(o,s)):F.Gi(o,s),++o):e.b&&!f&&(F.Gi(o,T),++o);else J==null?C.Wb(null):(s=B1(e,J),s==null?e.b&&!jo(t)&&C.Wb(J):C.Wb(s))}function dLn(e,t){var n,r,s,o,f,g,w,T;for(n=new AZ,s=new lr(fr(Ea(t).a.Kc(),new j));Rr(s);)if(r=l(yr(s),18),!Ao(r)&&(g=r.c.i,e9e(g,OK))){if(T=wke(e,g,OK,IK),T==-1)continue;n.b=b.Math.max(n.b,T),!n.a&&(n.a=new mt),wt(n.a,g)}for(f=new lr(fr(qs(t).a.Kc(),new j));Rr(f);)if(o=l(yr(f),18),!Ao(o)&&(w=o.d.i,e9e(w,IK))){if(T=wke(e,w,IK,OK),T==-1)continue;n.d=b.Math.max(n.d,T),!n.c&&(n.c=new mt),wt(n.c,w)}return n}function gLn(e,t,n,r){var s,o,f,g,w,T,C;if(n.d.i!=t.i){for(s=new hp(e),x(s,(Jn(),Aa)),rt(s,(ft(),zi),n),rt(s,(Nt(),Ds),(Pa(),Au)),qn(r.c,s),f=new du,Nc(f,s),ga(f,(_t(),Zn)),g=new du,Nc(g,s),ga(g,sr),C=n.d,Na(n,f),o=new Dw,mc(o,n),rt(o,lc,null),ho(o,g),Na(o,C),T=new Ua(n.b,0);T.b<T.d.gc();)w=(br(T.b<T.d.gc()),l(T.d.Xb(T.c=T.b++),72)),qe(Q(w,jd))===qe((F1(),M4))&&(rt(w,Wx,n),fh(T),wt(o.b,w));nbt(s,f,g)}}function pLn(e,t,n,r){var s,o,f,g,w,T,C;if(n.c.i!=t.i)for(s=new hp(e),x(s,(Jn(),Aa)),rt(s,(ft(),zi),n),rt(s,(Nt(),Ds),(Pa(),Au)),qn(r.c,s),f=new du,Nc(f,s),ga(f,(_t(),Zn)),g=new du,Nc(g,s),ga(g,sr),Na(n,f),o=new Dw,mc(o,n),rt(o,lc,null),ho(o,g),Na(o,t),nbt(s,f,g),T=new Ua(n.b,0);T.b<T.d.gc();)w=(br(T.b<T.d.gc()),l(T.d.Xb(T.c=T.b++),72)),C=l(Q(w,jd),278),C==(F1(),M4)&&(rs(w,Wx)||rt(w,Wx,n),fh(T),wt(o.b,w))}function Evt(e){WT();var t,n,r,s;if(t=da(e),e<RL.length)return RL[t];if(e<=50)return fP((Cd(),U0e),t);if(e<=C2)return ax(fP(zx[1],t),t);if(e>1e6)throw ue(new Yz("power of ten too big"));if(e<=Ni)return ax(fP(zx[1],t),t);for(r=fP(zx[1],Ni),s=r,n=tu(e-Ni),t=da(e%Ni);su(n,Ni)>0;)s=Y5(s,r),n=Df(n,Ni);for(s=Y5(s,fP(zx[1],t)),s=ax(s,Ni),n=tu(e-Ni);su(n,Ni)>0;)s=ax(s,Ni),n=Df(n,Ni);return s=ax(s,t),s}function Cvt(e){var t,n,r,s,o,f,g,w,T,C;for(w=new K(e.a);w.a<w.c.c.length;)if(g=l(re(w),10),g.k==(Jn(),Ks)&&(s=l(Q(g,(ft(),Xc)),64),s==(_t(),sr)||s==Zn))for(r=new lr(fr(up(g).a.Kc(),new j));Rr(r);)n=l(yr(r),18),t=n.a,t.b!=0&&(T=n.c,T.i==g&&(o=(br(t.b!=0),l(t.a.a.c,8)),o.b=Bc(he(le(Ca,1),dt,8,0,[T.i.n,T.n,T.a])).b),C=n.d,C.i==g&&(f=(br(t.b!=0),l(t.c.b.c,8)),f.b=Bc(he(le(Ca,1),dt,8,0,[C.i.n,C.n,C.a])).b))}function JA(e,t,n,r){var s,o,f;if(this.j=new mt,this.k=new mt,this.b=new mt,this.c=new mt,this.e=new z8,this.i=new pl,this.f=new Xie,this.d=new mt,this.g=new mt,wt(this.b,e),wt(this.b,t),this.e.c=b.Math.min(e.a,t.a),this.e.d=b.Math.min(e.b,t.b),this.e.b=b.Math.abs(e.a-t.a),this.e.a=b.Math.abs(e.b-t.b),s=l(Q(r,(Nt(),lc)),75),s)for(f=Fr(s,0);f.b!=f.d.c;)o=l(Pr(f),8),g7e(o.a,e.a)&&ci(this.i,o);n&&wt(this.j,n),wt(this.k,r)}function bLn(e,t,n,r){var s,o,f,g,w,T,C;for(g=-1,C=new K(e);C.a<C.c.c.length;)T=l(re(C),118),T.g=g--,s=Yr(GH(DH(ji(new vn(null,new kn(T.f,16)),new Mte),new Dte)).d),o=Yr(GH(DH(ji(new vn(null,new kn(T.k,16)),new Ite),new Ote)).d),f=s,w=o,r||(f=Yr(GH(DH(new vn(null,new kn(T.f,16)),new Nte)).d),w=Yr(GH(DH(new vn(null,new kn(T.k,16)),new Ate)).d)),T.d=f,T.a=s,T.i=w,T.b=o,w==0?_s(n,T,n.c.b,n.c):f==0&&_s(t,T,t.c.b,t.c)}function Cx(e,t){var n,r,s,o,f,g;if(e.k==(Jn(),uu)&&(n=e.k==uu&&!Lk(ji(l(Q(e,(ft(),YL)),15).Oc(),new Vl(new bj))).Bd((Bm(),qx))?(Ih(),oF):t,rt(e,(ft(),Xx),n),n!=(Ih(),tm)))for(r=l(Q(e,zi),18),g=ze(Ge(Q(r,(Nt(),M2)))),f=0,n==Cg?f=e.o.b-b.Math.ceil(g/2):n==oF&&(f=b.Math.ceil(e.o.b-ze(Ge(Q(Ja(e),V6)))-g)/2,e.o.b-=ze(Ge(Q(Ja(e),V6))),e.o.b-=g),o=new K(e.j);o.a<o.c.c.length;)s=l(re(o),12),s.n.b=f}function Svt(e,t,n){var r,s,o,f,g,w,T,C,L;for(s=!0,f=new K(e.b);f.a<f.c.c.length;){for(o=l(re(f),30),T=oa,C=null,w=new K(o.a);w.a<w.c.c.length;)if(g=l(re(w),10),L=ze(t.p[g.p])+ze(t.d[g.p])-g.d.d,r=ze(t.p[g.p])+ze(t.d[g.p])+g.o.b+g.d.a,L>T&&r>T)C=g,T=ze(t.p[g.p])+ze(t.d[g.p])+g.o.b+g.d.a;else{s=!1,n._g()&&n.bh("bk node placement breaks on "+g+" which should have been after "+C);break}if(!s)break}return n._g()&&n.bh(t+" is feasible: "+s),s}function Vke(e,t,n,r){var s,o,f,g,w,T,C,L,F;if(o=new hp(e),x(o,(Jn(),Su)),rt(o,(Nt(),Ds),(Pa(),Au)),s=0,t){for(f=new du,rt(f,(ft(),zi),t),rt(o,zi,t.i),ga(f,(_t(),Zn)),Nc(f,o),F=kd(t.e),T=F,C=0,L=T.length;C<L;++C)w=T[C],Na(w,f);rt(t,Bl,o),++s}if(n){for(g=new du,rt(o,(ft(),zi),n.i),rt(g,zi,n),ga(g,(_t(),sr)),Nc(g,o),F=kd(n.g),T=F,C=0,L=T.length;C<L;++C)w=T[C],ho(w,g);rt(n,Bl,o),++s}return rt(o,(ft(),hW),bt(s)),qn(r.c,o),o}function mLn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z;for(n=(T=new pi(e.c.b).a.vc().Kc(),new fs(T));n.a.Ob();)t=(g=l(n.a.Pb(),44),l(g.md(),143)),s=t.a,s==null&&(s=""),r=Hfn(e.c,s),!r&&s.length==0&&(r=D4n(e)),r&&!Fy(r.c,t,!1)&&ci(r.c,t);for(f=Fr(e.a,0);f.b!=f.d.c;)o=l(Pr(f),487),C=zoe(e.c,o.a),z=zoe(e.c,o.b),C&&z&&ci(C.c,new fa(z,o.c));for(Ch(e.a),F=Fr(e.b,0);F.b!=F.d.c;)L=l(Pr(F),487),t=qfn(e.c,L.a),w=zoe(e.c,L.b),t&&w&&xln(t,w,L.c);Ch(e.b)}function vLn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z;o=new xk(e),f=new Rgt,s=(cN(f.g),cN(f.j),Dl(f.b),cN(f.d),cN(f.i),Dl(f.k),Dl(f.c),Dl(f.e),z=w2t(f,o,null),gbt(f,o),z),t&&(T=new xk(t),g=_Ln(T),d9e(s,he(le(oNe,1),jn,536,0,[g]))),F=!1,L=!1,n&&(T=new xk(n),XG in T.a&&(F=Jg(T,XG).qe().a),n5t in T.a&&(L=Jg(T,n5t).qe().a)),C=LZe(yft(new M8,F),L),tkn(new iy,s,C),XG in o.a&&Z0(o,XG,null),(F||L)&&(w=new D8,ovt(C,w,F,L),Z0(o,XG,w)),r=new AQe(f),jyn(new Lye(s),r)}function wLn(e,t,n){var r,s,o,f,g,w,T,C,L;for(f=new Hgt,T=he(le(Ur,1),fi,28,15,[0]),s=-1,o=0,r=0,w=0;w<e.b.c.length;++w)if(C=l(Rt(e.b,w),443),C.b>0){if(s<0&&C.a&&(s=w,o=T[0],r=0),s>=0){if(g=C.b,w==s&&(g-=r++,g==0))return 0;if(!Lwt(t,T,C,g,f)){w=s-1,T[0]=o;continue}}else if(s=-1,!Lwt(t,T,C,0,f))return 0}else{if(s=-1,io(C.c,0)==32){if(L=T[0],Mht(t,T),T[0]>L)continue}else if(n2n(t,C.c,T[0])){T[0]+=C.c.length;continue}return 0}return iIn(f,n)?T[0]:0}function yLn(e,t,n){var r,s,o,f,g,w,T,C,L,F;for(C=new xH(new Rz(n)),g=We(th,vg,28,e.f.e.c.length,16,1),A5e(g,g.length),n[t.a]=0,T=new K(e.f.e);T.a<T.c.c.length;)w=l(re(T),153),w.a!=t.a&&(n[w.a]=Ni),W8(qT(C,w),cE);for(;C.b.c.length!=0;)for(L=l(oce(C),153),g[L.a]=!0,o=Crt(new wse(e.b,L),0);o.c;)s=l(l7e(o),290),F=I7n(s,L),!g[F.a]&&(rs(s,(JN(),DK))?f=ze(Ge(Q(s,DK))):f=e.c,r=n[L.a]+f,r<n[F.a]&&(n[F.a]=r,zft(C,F),W8(qT(C,F),cE)))}function xLn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V;for(f=e.o,r=We(Ur,fi,28,f,15,1),s=We(Ur,fi,28,f,15,1),n=e.p,t=We(Ur,fi,28,n,15,1),o=We(Ur,fi,28,n,15,1),T=0;T<f;T++){for(L=0;L<n&&!s6(e,T,L);)++L;r[T]=L}for(C=0;C<f;C++){for(L=n-1;L>=0&&!s6(e,C,L);)--L;s[C]=L}for(z=0;z<n;z++){for(g=0;g<f&&!s6(e,g,z);)++g;t[z]=g}for(V=0;V<n;V++){for(g=f-1;g>=0&&!s6(e,g,V);)--g;o[V]=g}for(w=0;w<f;w++)for(F=0;F<n;F++)w<o[F]&&w>t[F]&&F<s[w]&&F>r[w]&&UV(e,w,F,!1,!0)}function Gke(e){var t,n,r,s,o,f,g,w;n=Ft(Pt(Q(e,(p0(),T8t)))),o=e.a.c.d,g=e.a.d.d,n?(f=md(ya(new lt(g.a,g.b),o),.5),w=md(Xa(e.e),.5),t=ya(Pi(new lt(o.a,o.b),f),w),t4e(e.d,t)):(s=ze(Ge(Q(e.a,I8t))),r=e.d,o.a>=g.a?o.b>=g.b?(r.a=g.a+(o.a-g.a)/2+s,r.b=g.b+(o.b-g.b)/2-s-e.e.b):(r.a=g.a+(o.a-g.a)/2+s,r.b=o.b+(g.b-o.b)/2+s):o.b>=g.b?(r.a=o.a+(g.a-o.a)/2+s,r.b=g.b+(o.b-g.b)/2+s):(r.a=o.a+(g.a-o.a)/2+s,r.b=o.b+(g.b-o.b)/2-s-e.e.b))}function ZA(e){var t,n,r,s,o,f,g,w;if(!e.f){if(w=new PI,g=new PI,t=HM,f=t.a.zc(e,t),f==null){for(o=new ar(pc(e));o.e!=o.i.gc();)s=l(dr(o),29),Ls(w,ZA(s));t.a.Bc(e)!=null,t.a.gc()==0}for(r=(!e.s&&(e.s=new nt(fl,e,21,17)),new ar(e.s));r.e!=r.i.gc();)n=l(dr(r),179),De(n,102)&&zr(g,l(n,19));Py(g),e.r=new mst(e,(l(Oe(tt((wb(),Un).o),6),19),g.i),g.g),Ls(w,e.r),Py(w),e.f=new B5((l(Oe(tt(Un.o),5),19),w.i),w.g),Gl(e).b&=-3}return e.f}function _vt(e){fw(e,new iv(uw(aw(cw(ow(new x1,lv),"ELK DisCo"),"Layouter for arranging unconnected subgraphs. The subgraphs themselves are, by default, not laid out."),new Wh))),pt(e,lv,zhe,It(gAe)),pt(e,lv,qhe,It(c1e)),pt(e,lv,Nx,It(c8t)),pt(e,lv,r3,It(dAe)),pt(e,lv,NTe,It(f8t)),pt(e,lv,PTe,It(h8t)),pt(e,lv,OTe,It(d8t)),pt(e,lv,BTe,It(l8t)),pt(e,lv,HTe,It(u8t)),pt(e,lv,UTe,It(o1e)),pt(e,lv,VTe,It(fAe)),pt(e,lv,GTe,It(CK))}function WV(){WV=U,NPe=he(le(xf,1),Ad,28,15,[48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70]),nAt=new RegExp(`[
\r\f]+`);try{$M=he(le(nNn,1),jn,2114,0,[new tO((kye(),eV("yyyy-MM-dd'T'HH:mm:ss'.'SSSZ",RO((Wz(),Wz(),PL))))),new tO(eV("yyyy-MM-dd'T'HH:mm:ss'.'SSS",RO(PL))),new tO(eV("yyyy-MM-dd'T'HH:mm:ss",RO(PL))),new tO(eV("yyyy-MM-dd'T'HH:mm",RO(PL))),new tO(eV("yyyy-MM-dd",RO(PL)))])}catch(e){if(e=ms(e),!De(e,82))throw ue(e)}}function kLn(e,t){var n,r,s,o;if(s=Yl(e.d,1)!=0,r=Ske(e,t),r==0&&Ft(Pt(Q(t.j,(ft(),Wb)))))return 0;!Ft(Pt(Q(t.j,(ft(),Wb))))&&!Ft(Pt(Q(t.j,z6)))||qe(Q(t.j,(Nt(),Tg)))===qe((Td(),I2))?t.c.mg(t.e,s):s=Ft(Pt(Q(t.j,Wb))),bP(e,t,s,!0),Ft(Pt(Q(t.j,z6)))&&rt(t.j,z6,(Hn(),!1)),Ft(Pt(Q(t.j,Wb)))&&(rt(t.j,Wb,(Hn(),!1)),rt(t.j,z6,!0)),n=Ske(e,t);do{if(F7e(e),n==0)return 0;s=!s,o=n,bP(e,t,s,!1),n=Ske(e,t)}while(o>n);return o}function Avt(e,t){var n,r,s,o;if(s=Yl(e.d,1)!=0,r=AV(e,t),r==0&&Ft(Pt(Q(t.j,(ft(),Wb)))))return 0;!Ft(Pt(Q(t.j,(ft(),Wb))))&&!Ft(Pt(Q(t.j,z6)))||qe(Q(t.j,(Nt(),Tg)))===qe((Td(),I2))?t.c.mg(t.e,s):s=Ft(Pt(Q(t.j,Wb))),bP(e,t,s,!0),Ft(Pt(Q(t.j,z6)))&&rt(t.j,z6,(Hn(),!1)),Ft(Pt(Q(t.j,Wb)))&&(rt(t.j,Wb,(Hn(),!1)),rt(t.j,z6,!0)),n=AV(e,t);do{if(F7e(e),n==0)return 0;s=!s,o=n,bP(e,t,s,!1),n=AV(e,t)}while(o>n);return o}function Kke(e,t,n,r){var s,o,f,g,w,T,C,L,F;return w=ya(new lt(n.a,n.b),e),T=w.a*t.b-w.b*t.a,C=t.a*r.b-t.b*r.a,L=(w.a*r.b-w.b*r.a)/C,F=T/C,C==0?T==0?(s=Pi(new lt(n.a,n.b),md(new lt(r.a,r.b),.5)),o=Eb(e,s),f=Eb(Pi(new lt(e.a,e.b),t),s),g=b.Math.sqrt(r.a*r.a+r.b*r.b)*.5,o<f&&o<=g?new lt(e.a,e.b):f<=g?Pi(new lt(e.a,e.b),t):null):null:L>=0&&L<=1&&F>=0&&F<=1?Pi(new lt(e.a,e.b),md(new lt(t.a,t.b),L)):null}function TLn(e,t,n){var r,s,o,f,g;if(r=l(Q(e,(Nt(),fde)),21),n.a>t.a&&(r.Hc((rv(),EM))?e.c.a+=(n.a-t.a)/2:r.Hc(CM)&&(e.c.a+=n.a-t.a)),n.b>t.b&&(r.Hc((rv(),_M))?e.c.b+=(n.b-t.b)/2:r.Hc(SM)&&(e.c.b+=n.b-t.b)),l(Q(e,(ft(),_u)),21).Hc((Ho(),mf))&&(n.a>t.a||n.b>t.b))for(g=new K(e.a);g.a<g.c.c.length;)f=l(re(g),10),f.k==(Jn(),Ks)&&(s=l(Q(f,Xc),64),s==(_t(),sr)?f.n.a+=n.a-t.a:s==Mr&&(f.n.b+=n.b-t.b));o=e.d,e.f.a=n.a-o.b-o.c,e.f.b=n.b-o.d-o.a}function ELn(e,t,n){var r,s,o,f,g;if(r=l(Q(e,(Nt(),fde)),21),n.a>t.a&&(r.Hc((rv(),EM))?e.c.a+=(n.a-t.a)/2:r.Hc(CM)&&(e.c.a+=n.a-t.a)),n.b>t.b&&(r.Hc((rv(),_M))?e.c.b+=(n.b-t.b)/2:r.Hc(SM)&&(e.c.b+=n.b-t.b)),l(Q(e,(ft(),_u)),21).Hc((Ho(),mf))&&(n.a>t.a||n.b>t.b))for(f=new K(e.a);f.a<f.c.c.length;)o=l(re(f),10),o.k==(Jn(),Ks)&&(s=l(Q(o,Xc),64),s==(_t(),sr)?o.n.a+=n.a-t.a:s==Mr&&(o.n.b+=n.b-t.b));g=e.d,e.f.a=n.a-g.b-g.c,e.f.b=n.b-g.d-g.a}function CLn(e){var t,n,r,s,o,f,g,w,T,C,L,F;for(t=q2t(e),C=(g=new pr(t).a.vc().Kc(),new Di(g));C.a.Ob();){for(T=(s=l(C.a.Pb(),44),l(s.ld(),10)),L=0,F=0,L=T.d.d,F=T.o.b+T.d.a,e.d[T.p]=0,n=T;(o=e.a[n.p])!=T;)r=y6n(n,o),w=0,e.c==(xd(),O2)?w=r.d.n.b+r.d.a.b-r.c.n.b-r.c.a.b:w=r.c.n.b+r.c.a.b-r.d.n.b-r.d.a.b,f=ze(e.d[n.p])+w,e.d[o.p]=f,L=b.Math.max(L,o.d.d-f),F=b.Math.max(F,f+o.o.b+o.d.a),n=o;n=T;do e.d[n.p]=ze(e.d[n.p])+L,n=e.a[n.p];while(n!=T);e.b[T.p]=L+F}}function eL(e,t,n){var r,s,o,f,g,w,T,C,L,F;for(o=0,f=e.t,s=0,r=0,w=0,F=0,L=0,n&&(e.n.c.length=0,wt(e.n,new qH(e.s,e.t,e.i))),g=0,C=new K(e.b);C.a<C.c.c.length;)T=l(re(C),27),o+T.g+(g>0?e.i:0)>t&&w>0&&(o=0,f+=w+e.i,s=b.Math.max(s,F),r+=w+e.i,w=0,F=0,n&&(++L,wt(e.n,new qH(e.s,f,e.i))),g=0),F+=T.g+(g>0?e.i:0),w=b.Math.max(w,T.f),n&&vxe(l(Rt(e.n,L),209),T),o+=T.g+(g>0?e.i:0),++g;return s=b.Math.max(s,F),r+=w,n&&(e.r=s,e.d=r,kxe(e.j)),new Zh(e.s,e.t,s,r)}function Ale(e){var t,n,r,s,o,f,g,w,T,C,L,F;for(e.b=!1,L=gs,w=oa,F=gs,T=oa,r=e.e.a.ec().Kc();r.Ob();)for(n=l(r.Pb(),272),s=n.a,L=b.Math.min(L,s.c),w=b.Math.max(w,s.c+s.b),F=b.Math.min(F,s.d),T=b.Math.max(T,s.d+s.a),f=new K(n.c);f.a<f.c.c.length;)o=l(re(f),407),t=o.a,t.a?(C=s.d+o.b.b,g=C+o.c,F=b.Math.min(F,C),T=b.Math.max(T,g)):(C=s.c+o.b.a,g=C+o.c,L=b.Math.min(L,C),w=b.Math.max(w,g));e.a=new lt(w-L,T-F),e.c=new lt(L+e.d.a,F+e.d.b)}function p6(e){var t,n,r,s,o,f,g,w;if(!e.a){if(e.o=null,w=new KQe(e),t=new IS,n=HM,g=n.a.zc(e,n),g==null){for(f=new ar(pc(e));f.e!=f.i.gc();)o=l(dr(f),29),Ls(w,p6(o));n.a.Bc(e)!=null,n.a.gc()==0}for(s=(!e.s&&(e.s=new nt(fl,e,21,17)),new ar(e.s));s.e!=s.i.gc();)r=l(dr(s),179),De(r,331)&&zr(t,l(r,35));Py(t),e.k=new vst(e,(l(Oe(tt((wb(),Un).o),7),19),t.i),t.g),Ls(w,e.k),Py(w),e.a=new B5((l(Oe(tt(Un.o),4),19),w.i),w.g),Gl(e).b&=-2}return e.a}function Wke(e,t,n,r){var s,o,f,g,w,T,C;if(C=Wu(e.e.Dh(),t),s=0,o=l(e.g,124),w=null,Ro(),l(t,69).xk()){for(g=0;g<e.i;++g)if(f=o[g],C.am(f.Lk())){if(Fi(f,n)){w=f;break}++s}}else if(n!=null){for(g=0;g<e.i;++g)if(f=o[g],C.am(f.Lk())){if(Fi(n,f.md())){w=f;break}++s}}else for(g=0;g<e.i;++g)if(f=o[g],C.am(f.Lk())){if(f.md()==null){w=f;break}++s}return w&&(ch(e.e)&&(T=t.Jk()?new Foe(e.e,4,t,n,null,s,!0):kb(e,t.tk()?2:1,t,n,t.ik(),-1,!0),r?r.nj(T):r=T),r=wP(e,w,r)),r}function Lle(e,t,n,r,s,o,f){var g,w,T,C,L,F,z,V,J;switch(V=0,J=0,w=s.c,g=s.b,C=n.f,z=n.g,t.g){case 0:V=r.i+r.g+f,e.c?J=Uxn(V,o,r,f):J=r.j,F=b.Math.max(w,V+z),T=b.Math.max(g,J+C);break;case 1:J=r.j+r.f+f,e.c?V=Hxn(J,o,r,f):V=r.i,F=b.Math.max(w,V+z),T=b.Math.max(g,J+C);break;case 2:V=w+f,J=0,F=w+f+z,T=b.Math.max(g,C);break;case 3:V=0,J=g+f,F=b.Math.max(w,z),T=g+f+C;break;default:throw ue(new Wn("IllegalPlacementOption."))}return L=new sxe(e.a,F,T,t,V,J),L}function SLn(e){var t,n,r,s,o,f,g,w,T,C,L,F;if(g=e.d,L=l(Q(e,(ft(),Jx)),15),t=l(Q(e,Kx),15),!(!L&&!t)){if(o=ze(Ge(Ry(e,(Nt(),xde)))),f=ze(Ge(Ry(e,wDe))),F=0,L){for(T=0,s=L.Kc();s.Ob();)r=l(s.Pb(),10),T=b.Math.max(T,r.o.b),F+=r.o.a;F+=o*(L.gc()-1),g.d+=T+f}if(n=0,t){for(T=0,s=t.Kc();s.Ob();)r=l(s.Pb(),10),T=b.Math.max(T,r.o.b),n+=r.o.a;n+=o*(t.gc()-1),g.a+=T+f}w=b.Math.max(F,n),w>e.o.a&&(C=(w-e.o.a)/2,g.b=b.Math.max(g.b,C),g.c=b.Math.max(g.c,C))}}function _Ln(e){var t,n,r,s,o,f,g,w;for(o=new Tct,ihn(o,(fx(),HSt)),r=(s=yce(e,We($t,dt,2,0,6,1)),new xr(new Ll(new yse(e,s).b)));r.b<r.d.gc();)n=(br(r.b<r.d.gc()),Zr(r.d.Xb(r.c=r.b++))),f=tTe(am,n),f&&(t=Jg(e,n),t.te()?g=t.te().a:t.qe()?g=""+t.qe().a:t.re()?g=""+t.re().a:g=t.Ib(),w=Zke(f,g),w!=null&&((ml(f.j,(n1(),pa))||ml(f.j,Bn))&&PN(cce(o,Li),f,w),ml(f.j,zd)&&PN(cce(o,js),f,w),ml(f.j,Av)&&PN(cce(o,$l),f,w),ml(f.j,P2)&&PN(cce(o,nc),f,w)));return o}function TP(e,t,n){var r,s,o,f,g,w,T,C;if(s=l(e.g,124),dp(e.e,t))return Ro(),l(t,69).xk()?new uH(t,e):new AO(t,e);for(T=Wu(e.e.Dh(),t),r=0,g=0;g<e.i;++g){if(o=s[g],f=o.Lk(),T.am(f)){if(Ro(),l(t,69).xk())return o;if(f==(Tx(),l9)||f==u9){for(w=new Eh(Tc(o.md()));++g<e.i;)o=s[g],f=o.Lk(),(f==l9||f==u9)&&li(w,Tc(o.md()));return A4e(l(t.Hk(),156),w.a)}else return C=o.md(),C!=null&&n&&De(t,102)&&l(t,19).Bb&Lo&&(C=qA(e,t,g,r,C)),C}++r}return t.ik()}function YV(e,t,n,r){var s,o,f,g,w,T;if(w=Wu(e.e.Dh(),t),o=l(e.g,124),dp(e.e,t)){for(s=0,g=0;g<e.i;++g)if(f=o[g],w.am(f.Lk())){if(s==n)return Ro(),l(t,69).xk()?f:(T=f.md(),T!=null&&r&&De(t,102)&&l(t,19).Bb&Lo&&(T=qA(e,t,g,s,T)),T);++s}throw ue(new rc(SL+n+gv+s))}else{for(s=0,g=0;g<e.i;++g){if(f=o[g],w.am(f.Lk()))return Ro(),l(t,69).xk()?f:(T=f.md(),T!=null&&r&&De(t,102)&&l(t,19).Bb&Lo&&(T=qA(e,t,g,s,T)),T);++s}return t.ik()}}function Mle(){Mle=U,Q6t=he(le(Ur,1),fi,28,15,[ao,1162261467,iL,1220703125,362797056,1977326743,iL,387420489,sG,214358881,429981696,815730721,1475789056,170859375,268435456,410338673,612220032,893871739,128e7,1801088541,113379904,148035889,191102976,244140625,308915776,387420489,481890304,594823321,729e6,887503681,iL,1291467969,1544804416,1838265625,60466176]),J6t=he(le(Ur,1),fi,28,15,[-1,-1,31,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])}function Dle(e,t){var n,r,s,o,f,g,w,T,C,L;if(f=e.e,w=t.e,w==0)return e;if(f==0)return t.e==0?t:new $m(-t.e,t.d,t.a);if(o=e.d,g=t.d,o+g==2)return n=xa(e.a[0],Uo),r=xa(t.a[0],Uo),f<0&&(n=f2(n)),w<0&&(r=f2(r)),Cd(),Pq(Df(n,r),0)?Db(Df(n,r)):Z_(Db(f2(Df(n,r))));if(s=o!=g?o>g?1:-1:f8e(e.a,t.a,o),s==-1)L=-w,C=f==w?Voe(t.a,g,e.a,o):Koe(t.a,g,e.a,o);else if(L=f,f==w){if(s==0)return Cd(),FL;C=Voe(e.a,o,t.a,g)}else C=Koe(e.a,o,t.a,g);return T=new $m(L,C.length,C),sA(T),T}function ALn(e,t){var n,r,s,o;if(o=hvt(t),!t.c&&(t.c=new nt($l,t,9,9)),Os(new vn(null,(!t.c&&(t.c=new nt($l,t,9,9)),new kn(t.c,16))),new bYe(o)),s=l(Q(o,(ft(),_u)),21),yDn(t,s),s.Hc((Ho(),mf)))for(r=new ar((!t.c&&(t.c=new nt($l,t,9,9)),t.c));r.e!=r.i.gc();)n=l(dr(r),123),YDn(e,t,o,n);return l(at(t,(Nt(),Ev)),181).gc()!=0&&rmt(t,o),Ft(Pt(Q(o,gDe)))&&s.Fc(uW),rs(o,OB)&&lZe(new Y8e(ze(Ge(Q(o,OB)))),o),qe(at(t,v4))===qe((op(),F2))?wOn(e,t,o):rOn(e,t,o),o}function LLn(e){var t,n,r,s,o,f,g,w;for(s=new K(e.b);s.a<s.c.c.length;)for(r=l(re(s),30),f=new K(Nw(r.a));f.a<f.c.c.length;)if(o=l(re(f),10),Pht(o)&&(n=l(Q(o,(ft(),p3)),313),!n.g&&n.d))for(t=n,w=n.d;w;)gmt(w.i,w.k,!1,!0),mN(t.a),mN(w.i),mN(w.k),mN(w.b),Na(w.c,t.c.d),Na(t.c,null),Ha(t.a,null),Ha(w.i,null),Ha(w.k,null),Ha(w.b,null),g=new C6e(t.i,w.a,t.e,w.j,w.f),g.k=t.k,g.n=t.n,g.b=t.b,g.c=w.c,g.g=t.g,g.d=w.d,rt(t.i,p3,g),rt(w.a,p3,g),w=w.d,t=g}function ku(e,t){var n,r,s,o,f,g,w;if(e==null)return null;if(o=e.length,o==0)return"";for(w=We(xf,Ad,28,o,15,1),Va(0,o,e.length),Va(0,o,w.length),wat(e,0,o,w,0),n=null,g=t,s=0,f=0;s<o;s++)r=w[s],t3t(),r<=32&&ye[r]&2?g?(!n&&(n=new Af(e)),gfn(n,s-f++)):(g=t,r!=32&&(!n&&(n=new Af(e)),Cce(n,s-f,s-f+1,String.fromCharCode(32)))):g=!1;return g?n?(o=n.a.length,o>0?ef(n.a,0,o-1):""):(Va(0,o-1,e.length),e.substr(0,o-1)):n?n.a:e}function MLn(e,t){var n,r,s,o,f,g,w;for(t.Ug("Sort By Input Model "+Q(e,(Nt(),Tg)),1),s=0,r=new K(e.b);r.a<r.c.c.length;){for(n=l(re(r),30),w=s==0?0:s-1,g=l(Rt(e.b,w),30),f=new K(n.a);f.a<f.c.c.length;)o=l(re(f),10),qe(Q(o,Ds))!==qe((Pa(),Iv))&&qe(Q(o,Ds))!==qe(Au)&&(Cn(),Gs(o.j,new y1t(g,l(Q(e,Tg),284),Ngt(o),Ft(Pt(Q(e,hde))))),t.bh("Node "+o+" ports: "+o.j));Cn(),Gs(n.a,new Vft(g,l(Q(e,Tg),284),l(Q(e,HMe),390))),t.bh("Layer "+s+": "+n),++s}t.Vg()}function Xy(e,t){var n,r,s,o,f;if(f=l(t,138),l6(e),l6(f),f.b!=null){if(e.c=!0,e.b==null){e.b=We(Ur,fi,28,f.b.length,15,1),gu(f.b,0,e.b,0,f.b.length);return}for(o=We(Ur,fi,28,e.b.length+f.b.length,15,1),n=0,r=0,s=0;n<e.b.length||r<f.b.length;)n>=e.b.length?(o[s++]=f.b[r++],o[s++]=f.b[r++]):r>=f.b.length?(o[s++]=e.b[n++],o[s++]=e.b[n++]):f.b[r]<e.b[n]||f.b[r]===e.b[n]&&f.b[r+1]<e.b[n+1]?(o[s++]=f.b[r++],o[s++]=f.b[r++]):(o[s++]=e.b[n++],o[s++]=e.b[n++]);e.b=o}}function DLn(e,t){var n,r,s,o,f,g,w,T,C,L;return n=Ft(Pt(Q(e,(ft(),p4)))),g=Ft(Pt(Q(t,p4))),r=l(Q(e,a1),12),w=l(Q(t,a1),12),s=l(Q(e,$f),12),T=l(Q(t,$f),12),C=!!r&&r==w,L=!!s&&s==T,!n&&!g?new F4e(l(re(new K(e.j)),12).p==l(re(new K(t.j)),12).p,C,L):(o=(!Ft(Pt(Q(e,p4)))||Ft(Pt(Q(e,MB))))&&(!Ft(Pt(Q(t,p4)))||Ft(Pt(Q(t,MB)))),f=(!Ft(Pt(Q(e,p4)))||!Ft(Pt(Q(e,MB))))&&(!Ft(Pt(Q(t,p4)))||!Ft(Pt(Q(t,MB)))),new F4e(C&&o||L&&f,C,L))}function Lvt(e){var t,n,r,s,o,f,g,w;for(r=0,n=0,w=new os,t=0,g=new K(e.n);g.a<g.c.c.length;)f=l(re(g),209),f.c.c.length==0?_s(w,f,w.c.b,w.c):(r=b.Math.max(r,f.d),n+=f.a+(t>0?e.i:0)),++t;for(I8e(e.n,w),e.d=n,e.r=r,e.g=0,e.f=0,e.e=0,e.o=gs,e.p=gs,o=new K(e.b);o.a<o.c.c.length;)s=l(re(o),27),e.p=b.Math.min(e.p,s.g),e.g=b.Math.max(e.g,s.g),e.f=b.Math.max(e.f,s.f),e.o=b.Math.min(e.o,s.f),e.e+=s.f+e.i;e.a=e.e/e.b.c.length-e.i*((e.b.c.length-1)/e.b.c.length),kxe(e.j)}function Mvt(e){var t,n,r,s;return e.Db&64?Zce(e):(t=new Eh(ESe),r=e.k,r?li(li((t.a+=' "',t),r),'"'):(!e.n&&(e.n=new nt(nc,e,1,7)),e.n.i>0&&(s=(!e.n&&(e.n=new nt(nc,e,1,7)),l(Oe(e.n,0),135)).a,!s||li(li((t.a+=' "',t),s),'"'))),n=(!e.b&&(e.b=new An(Sr,e,4,7)),!(e.b.i<=1&&(!e.c&&(e.c=new An(Sr,e,5,8)),e.c.i<=1))),n?t.a+=" [":t.a+=" ",li(t,zye(new dse,new ar(e.b))),n&&(t.a+="]"),t.a+=Yhe,n&&(t.a+="["),li(t,zye(new dse,new ar(e.c))),n&&(t.a+="]"),t.a)}function ILn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn;for(Je=e.c,ot=t.c,n=bc(Je.a,e,0),r=bc(ot.a,t,0),Me=l(Vw(e,(qo(),Fl)).Kc().Pb(),12),cn=l(Vw(e,$u).Kc().Pb(),12),$e=l(Vw(t,Fl).Kc().Pb(),12),Fn=l(Vw(t,$u).Kc().Pb(),12),fe=kd(Me.e),At=kd(cn.g),Ee=kd($e.e),ln=kd(Fn.g),$y(e,r,ot),f=Ee,C=0,V=f.length;C<V;++C)s=f[C],Na(s,Me);for(g=ln,L=0,J=g.length;L<J;++L)s=g[L],ho(s,cn);for($y(t,n,Je),w=fe,F=0,te=w.length;F<te;++F)s=w[F],Na(s,$e);for(o=At,T=0,z=o.length;T<z;++T)s=o[T],ho(s,Fn)}function OLn(e){var t,n,r,s,o,f,g;for(f=l(at(e,(V5(),Q6)),27),r=new ar((!f.e&&(f.e=new An(js,f,7,4)),f.e));r.e!=r.i.gc();)n=l(dr(r),74),g=new lt(l(Oe((!n.a&&(n.a=new nt(cs,n,6,6)),n.a),0),166).j,l(Oe((!n.a&&(n.a=new nt(cs,n,6,6)),n.a),0),166).k),o=new lt(l(Oe((!n.a&&(n.a=new nt(cs,n,6,6)),n.a),0),166).b,l(Oe((!n.a&&(n.a=new nt(cs,n,6,6)),n.a),0),166).c),s=new lt(o.a-g.a,o.b-g.b),t=b.Math.atan2(s.b,s.a),l(Oe((!n.c&&(n.c=new An(Sr,n,5,8)),n.c),0),84).qf((Pb(),gge),t)}function NLn(e,t){var n,r,s,o,f,g,w,T,C;for(t.Ug("Interactive Node Reorderer",1),C=(!e.a&&(e.a=new nt(Li,e,10,11)),e.a),g=new mt,s=new ar(C);s.e!=s.i.gc();)n=l(dr(s),27),P1(n,(z1(),KB))&&qn(g.c,n);for(o=new K(g);o.a<o.c.c.length;)n=l(re(o),27),fU(C,n);for(Cn(),Gs(g,new Fne),f=new K(g);f.a<f.c.c.length;)n=l(re(f),27),T=l(at(n,(z1(),KB)),17).a,T=b.Math.min(T,C.i),AA(C,T,n);for(w=0,r=new ar(C);r.e!=r.i.gc();)n=l(dr(r),27),Vi(n,(z1(),vOe),bt(w)),++w;t.Vg()}function Yke(e,t,n){var r,s,o,f,g,w,T,C;return b.Math.abs(t.s-t.c)<Dd||b.Math.abs(n.s-n.c)<Dd?0:(r=Fbt(e,t.j,n.e),s=Fbt(e,n.j,t.e),o=r==-1||s==-1,f=0,o?(r==-1&&(new Hm((Q0(),Qb),n,t,1),++f),s==-1&&(new Hm((Q0(),Qb),t,n,1),++f)):(g=n6(t.j,n.s,n.c),g+=n6(n.e,t.s,t.c),w=n6(n.j,t.s,t.c),w+=n6(t.e,n.s,n.c),T=r+16*g,C=s+16*w,T<C?new Hm((Q0(),S4),t,n,C-T):T>C?new Hm((Q0(),S4),n,t,T-C):T>0&&C>0&&(new Hm((Q0(),S4),t,n,0),new Hm(S4,n,t,0))),f)}function PLn(e,t,n){var r,s,o;for(e.a=new mt,o=Fr(t.b,0);o.b!=o.d.c;){for(s=l(Pr(o),40);l(Q(s,(Vc(),$d)),17).a>e.a.c.length-1;)wt(e.a,new fa(k6,LCe));r=l(Q(s,$d),17).a,n==(ea(),hc)||n==yc?(s.e.a<ze(Ge(l(Rt(e.a,r),42).a))&&Ve(l(Rt(e.a,r),42),s.e.a),s.e.a+s.f.a>ze(Ge(l(Rt(e.a,r),42).b))&&ct(l(Rt(e.a,r),42),s.e.a+s.f.a)):(s.e.b<ze(Ge(l(Rt(e.a,r),42).a))&&Ve(l(Rt(e.a,r),42),s.e.b),s.e.b+s.f.b>ze(Ge(l(Rt(e.a,r),42).b))&&ct(l(Rt(e.a,r),42),s.e.b+s.f.b))}}function Dvt(e,t,n,r){var s,o,f,g,w,T,C;if(o=WU(r),g=Ft(Pt(Q(r,(Nt(),cDe)))),(g||Ft(Pt(Q(e,TW))))&&!F5(l(Q(e,Ds),101)))s=px(o),w=Bke(e,n,n==(qo(),$u)?s:UN(s));else switch(w=new du,Nc(w,e),t?(C=w.n,C.a=t.a-e.n.a,C.b=t.b-e.n.b,Fpt(C,0,0,e.o.a,e.o.b),ga(w,Jmt(w,o))):(s=px(o),ga(w,n==(qo(),$u)?s:UN(s))),f=l(Q(r,(ft(),_u)),21),T=w.j,o.g){case 2:case 1:(T==(_t(),Xn)||T==Mr)&&f.Fc((Ho(),R6));break;case 4:case 3:(T==(_t(),sr)||T==Zn)&&f.Fc((Ho(),R6))}return w}function Ivt(e,t){var n,r,s,o,f,g;for(f=new Xm(new Cr(e.f.b).a);f.b;){if(o=zw(f),s=l(o.ld(),602),t==1){if(s.Af()!=(ea(),vf)&&s.Af()!=Q1)continue}else if(s.Af()!=(ea(),hc)&&s.Af()!=yc)continue;switch(r=l(l(o.md(),42).b,86),g=l(l(o.md(),42).a,194),n=g.c,s.Af().g){case 2:r.g.c=e.e.a,r.g.b=b.Math.max(1,r.g.b+n);break;case 1:r.g.c=r.g.c+n,r.g.b=b.Math.max(1,r.g.b-n);break;case 4:r.g.d=e.e.b,r.g.a=b.Math.max(1,r.g.a+n);break;case 3:r.g.d=r.g.d+n,r.g.a=b.Math.max(1,r.g.a-n)}}}function BLn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J;for(g=We(Ur,fi,28,t.b.c.length,15,1),T=We(E1e,it,273,t.b.c.length,0,1),w=We(kg,S2,10,t.b.c.length,0,1),L=e.a,F=0,z=L.length;F<z;++F){for(C=L[F],J=0,f=new K(C.e);f.a<f.c.c.length;)s=l(re(f),10),r=Cye(s.c),++g[r],V=ze(Ge(Q(t,(Nt(),y0)))),g[r]>0&&w[r]&&(V=z5(e.b,w[r],s)),J=b.Math.max(J,s.c.c.b+V);for(o=new K(C.e);o.a<o.c.c.length;)s=l(re(o),10),s.n.b=J+s.d.d,n=s.c,n.c.b=J+s.d.d+s.o.b+s.d.a,T[bc(n.b.b,n,0)]=s.k,w[bc(n.b.b,n,0)]=s}}function Ovt(e,t){var n,r,s,o,f,g,w,T,C,L,F;for(r=new lr(fr(fp(t).a.Kc(),new j));Rr(r);)n=l(yr(r),74),De(Oe((!n.b&&(n.b=new An(Sr,n,4,7)),n.b),0),193)||(w=vc(l(Oe((!n.c&&(n.c=new An(Sr,n,5,8)),n.c),0),84)),HA(n)||(f=t.i+t.g/2,g=t.j+t.f/2,C=w.i+w.g/2,L=w.j+w.f/2,F=new za,F.a=C-f,F.b=L-g,o=new lt(F.a,F.b),$T(o,t.g,t.f),F.a-=o.a,F.b-=o.b,f=C-F.a,g=L-F.b,T=new lt(F.a,F.b),$T(T,w.g,w.f),F.a-=T.a,F.b-=T.b,C=f+F.a,L=g+F.b,s=f6(n,!0,!0),uT(s,f),hT(s,g),cT(s,C),lT(s,L),Ovt(e,w)))}function Nvt(e){fw(e,new iv(uw(aw(cw(ow(new x1,s3),"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 Gne))),pt(e,s3,Ufe,It(sY)),pt(e,s3,lSe,It(Fge)),pt(e,s3,hSe,It(Bge)),pt(e,s3,Vfe,It(GOe)),pt(e,s3,Gfe,It(Pge)),pt(e,s3,r3,VOe),pt(e,s3,t4,8),pt(e,s3,Kfe,It(LSt)),pt(e,s3,fSe,It(HOe)),pt(e,s3,dSe,It(UOe)),pt(e,s3,JP,(Hn(),!1))}function FLn(e,t){var n,r,s,o,f,g,w,T,C,L;for(t.Ug("Simple node placement",1),L=l(Q(e,(ft(),q6)),312),g=0,o=new K(e.b);o.a<o.c.c.length;){for(r=l(re(o),30),f=r.c,f.b=0,n=null,T=new K(r.a);T.a<T.c.c.length;)w=l(re(T),10),n&&(f.b+=nxe(w,n,L.c)),f.b+=w.d.d+w.o.b+w.d.a,n=w;g=b.Math.max(g,f.b)}for(s=new K(e.b);s.a<s.c.c.length;)for(r=l(re(s),30),f=r.c,C=(g-f.b)/2,n=null,T=new K(r.a);T.a<T.c.c.length;)w=l(re(T),10),n&&(C+=nxe(w,n,L.c)),C+=w.d.d,w.n.b=C,C+=w.o.b+w.d.a,n=w;t.Vg()}function RLn(e,t){var n,r,s,o;for(Gwn(t.b.j),Os(gc(new vn(null,new kn(t.d,16)),new $ee),new zee),o=new K(t.d);o.a<o.c.c.length;){switch(s=l(re(o),105),s.e.g){case 0:n=l(Rt(s.j,0),113).d.j,S(s,l(uh(X8(l($i(s.k,n),15).Oc(),N6)),113)),k(s,l(uh(xy(l($i(s.k,n),15).Oc(),N6)),113));break;case 1:r=Cxe(s),S(s,l(uh(X8(l($i(s.k,r[0]),15).Oc(),N6)),113)),k(s,l(uh(xy(l($i(s.k,r[1]),15).Oc(),N6)),113));break;case 2:Ekn(e,s);break;case 3:zCn(s);break;case 4:VCn(e,s)}Kwn(s)}e.a=null}function Ile(e,t,n){var r,s,o,f,g,w,T,C;return r=e.a.o==(D1(),Y1)?gs:oa,g=svt(e,new _tt(t,n)),!g.a&&g.c?(ci(e.d,g),r):g.a?(s=g.a.c,w=g.a.d,n?(T=e.a.c==(xd(),S3)?w:s,o=e.a.c==S3?s:w,f=e.a.g[o.i.p],C=ze(e.a.p[f.p])+ze(e.a.d[o.i.p])+o.n.b+o.a.b-ze(e.a.d[T.i.p])-T.n.b-T.a.b):(T=e.a.c==(xd(),O2)?w:s,o=e.a.c==O2?s:w,C=ze(e.a.p[e.a.g[o.i.p].p])+ze(e.a.d[o.i.p])+o.n.b+o.a.b-ze(e.a.d[T.i.p])-T.n.b-T.a.b),e.a.n[e.a.g[s.i.p].p]=(Hn(),!0),e.a.n[e.a.g[w.i.p].p]=!0,C):r}function jLn(e,t,n,r){var s,o,f,g,w,T,C,L;if(r.gc()==0)return!1;if(w=(Ro(),l(t,69).xk()),f=w?r:new Bw(r.gc()),dp(e.e,t)){if(t.Si())for(C=r.Kc();C.Ob();)T=C.Pb(),KV(e,t,T,De(t,102)&&(l(t,19).Bb&Lo)!=0)||(o=cg(t,T),f.Fc(o));else if(!w)for(C=r.Kc();C.Ob();)T=C.Pb(),o=cg(t,T),f.Fc(o)}else{for(L=Wu(e.e.Dh(),t),s=l(e.g,124),g=0;g<e.i;++g)if(o=s[g],L.am(o.Lk()))throw ue(new Wn(oB));if(r.gc()>1)throw ue(new Wn(oB));w||(o=cg(t,r.Kc().Pb()),f.Fc(o))}return J7e(e,w9e(e,t,n),f)}function XV(e,t,n){var r,s,o,f,g,w,T,C;if(dp(e.e,t))w=(Ro(),l(t,69).xk()?new uH(t,e):new AO(t,e)),MV(w.c,w.b),R_(w,l(n,16));else{for(C=Wu(e.e.Dh(),t),r=l(e.g,124),f=0;f<e.i;++f)if(s=r[f],o=s.Lk(),C.am(o)){if(o==(Tx(),l9)||o==u9){for(T=pxe(e,t,n),g=f,T?Ky(e,f):++f;f<e.i;)s=r[f],o=s.Lk(),o==l9||o==u9?Ky(e,f):++f;T||l(i6(e,g,cg(t,n)),76)}else pxe(e,t,n)?Ky(e,f):l(i6(e,f,(Ro(),l(t,69).xk()?l(n,76):cg(t,n))),76);return}pxe(e,t,n)||zr(e,(Ro(),l(t,69).xk()?l(n,76):cg(t,n)))}}function Pvt(e,t,n){var r,s,o,f,g,w,T,C;return Fi(n,e.b)||(e.b=n,o=new Hi,f=l(kc(gc(new vn(null,new kn(n.f,16)),o),Ly(new xt,new Ri,new Rn,new zn,he(le(uc,1),it,108,0,[(Nl(),o4),Cc]))),21),e.e=!0,e.f=!0,e.c=!0,e.d=!0,s=f.Hc((mx(),gB)),r=f.Hc(pB),s&&!r&&(e.f=!1),!s&&r&&(e.d=!1),s=f.Hc(dB),r=f.Hc(bB),s&&!r&&(e.c=!1),!s&&r&&(e.e=!1)),C=l(e.a.Ve(t,n),42),w=l(C.a,17).a,T=l(C.b,17).a,g=!1,w<0?e.c||(g=!0):e.e||(g=!0),T<0?e.d||(g=!0):e.f||(g=!0),g?Pvt(e,C,n):C}function $Ln(e){var t,n,r,s;s=e.o,vy(),e.A.dc()||Fi(e.A,aAe)?t=s.b:(t=uP(e.f),e.A.Hc((gh(),hF))&&!e.B.Hc((Xl(),RM))&&(t=b.Math.max(t,uP(l(Zo(e.p,(_t(),sr)),252))),t=b.Math.max(t,uP(l(Zo(e.p,Zn),252)))),n=g0t(e),n&&(t=b.Math.max(t,n.b)),e.A.Hc(fF)&&(e.q==(Pa(),_g)||e.q==Au)&&(t=b.Math.max(t,cH(l(Zo(e.b,(_t(),sr)),127))),t=b.Math.max(t,cH(l(Zo(e.b,Zn),127))))),Ft(Pt(e.e.Tf().of((bi(),A4))))?s.b=b.Math.max(s.b,t):s.b=t,r=e.f.i,r.d=0,r.a=t,Sle(e.f)}function Bvt(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J;for(L=0;L<t.length;L++){for(g=e.Kc();g.Ob();)o=l(g.Pb(),230),o.hg(L,t);for(F=0;F<t[L].length;F++){for(w=e.Kc();w.Ob();)o=l(w.Pb(),230),o.ig(L,F,t);for(J=t[L][F].j,z=0;z<J.c.length;z++){for(T=e.Kc();T.Ob();)o=l(T.Pb(),230),o.jg(L,F,z,t);for(V=(Sn(z,J.c.length),l(J.c[z],12)),n=0,s=new N1(V.b);Oc(s.a)||Oc(s.b);)for(r=l(Oc(s.a)?re(s.a):re(s.b),18),C=e.Kc();C.Ob();)o=l(C.Pb(),230),o.gg(L,F,z,n++,r,t)}}}for(f=e.Kc();f.Ob();)o=l(f.Pb(),230),o.fg()}function zLn(e,t){var n,r,s,o,f,g,w;for(e.b=ze(Ge(Q(t,(Nt(),U6)))),e.c=ze(Ge(Q(t,Sv))),e.d=l(Q(t,mde),350),e.a=l(Q(t,mW),282),_7n(t),g=l(kc(ji(ji(Pc(Pc(new vn(null,new kn(t.b,16)),new EZ),new fS),new fI),new wj),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)]))),15),s=g.Kc();s.Ob();)n=l(s.Pb(),18),f=l(Q(n,(ft(),yv)),15),f.Jc(new SYe(e)),rt(n,yv,null);for(r=g.Kc();r.Ob();)n=l(r.Pb(),18),w=l(Q(n,(ft(),hMe)),18),o=l(Q(n,H6),15),tOn(e,o,w),rt(n,H6,null)}function Ole(e,t){var n,r,s,o,f,g,w;if(e.a){if(g=e.a.xe(),w=null,g!=null?t.a+=""+g:(f=e.a.mk(),f!=null&&(o=pd(f,ol(91)),o!=-1?(w=(Yn(o,f.length+1),f.substr(o)),t.a+=""+ef(f==null?cl:(tr(f),f),0,o)):t.a+=""+f)),e.d&&e.d.i!=0){for(s=!0,t.a+="<",r=new ar(e.d);r.e!=r.i.gc();)n=l(dr(r),89),s?s=!1:t.a+=To,Ole(n,t);t.a+=">"}w!=null&&(t.a+=""+w)}else e.e?(g=e.e.zb,g!=null&&(t.a+=""+g)):(t.a+="?",e.b?(t.a+=" super ",Ole(e.b,t)):e.f&&(t.a+=" extends ",Ole(e.f,t)))}function qLn(e){e.b=null,e.a=null,e.o=null,e.q=null,e.v=null,e.w=null,e.B=null,e.p=null,e.Q=null,e.R=null,e.S=null,e.T=null,e.U=null,e.V=null,e.W=null,e.bb=null,e.eb=null,e.ab=null,e.H=null,e.db=null,e.c=null,e.d=null,e.f=null,e.n=null,e.r=null,e.s=null,e.u=null,e.G=null,e.J=null,e.e=null,e.j=null,e.i=null,e.g=null,e.k=null,e.t=null,e.F=null,e.I=null,e.L=null,e.M=null,e.O=null,e.P=null,e.$=null,e.N=null,e.Z=null,e.cb=null,e.K=null,e.D=null,e.A=null,e.C=null,e._=null,e.fb=null,e.X=null,e.Y=null,e.gb=!1,e.hb=!1}function HLn(e){var t,n,r,s;if(r=Vle((!e.c&&(e.c=iN(tu(e.f))),e.c),0),e.e==0||e.a==0&&e.f!=-1&&e.e<0)return r;if(t=R7e(e)<0?1:0,n=e.e,s=(r.length+1+b.Math.abs(da(e.e)),new A5),t==1&&(s.a+="-"),e.e>0)if(n-=r.length-t,n>=0){for(s.a+="0.";n>vv.length;n-=vv.length)_st(s,vv);hit(s,vv,da(n)),li(s,(Yn(t,r.length+1),r.substr(t)))}else n=t-n,li(s,ef(r,t,da(n))),s.a+=".",li(s,F5e(r,da(n)));else{for(li(s,(Yn(t,r.length+1),r.substr(t)));n<-vv.length;n+=vv.length)_st(s,vv);hit(s,vv,da(-n))}return s.a}function Nle(e){var t,n,r,s,o,f,g,w,T;return!(e.k!=(Jn(),Bs)||e.j.c.length<=1||(o=l(Q(e,(Nt(),Ds)),101),o==(Pa(),Au))||(s=(jy(),(e.q?e.q:(Cn(),Cn(),yg))._b(x3)?r=l(Q(e,x3),203):r=l(Q(Ja(e),tM),203),r),s==NW)||!(s==W6||s==K6)&&(f=ze(Ge(Ry(e,nM))),t=l(Q(e,PB),140),!t&&(t=new y4e(f,f,f,f)),T=Fc(e,(_t(),Zn)),w=t.d+t.a+(T.gc()-1)*f,w>e.o.b||(n=Fc(e,sr),g=t.d+t.a+(n.gc()-1)*f,g>e.o.b)))}function ULn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te;t.Ug("Orthogonal edge routing",1),T=ze(Ge(Q(e,(Nt(),G6)))),n=ze(Ge(Q(e,U6))),r=ze(Ge(Q(e,Sv))),F=new roe(0,n),te=0,f=new Ua(e.b,0),g=null,C=null,w=null,L=null;do C=f.b<f.d.gc()?(br(f.b<f.d.gc()),l(f.d.Xb(f.c=f.b++),30)):null,L=C?C.a:null,g&&(Qke(g,te),te+=g.c.a),J=g?te+r:te,V=nTe(F,e,w,L,J),s=!g||Bq(w,(jV(),$B)),o=!C||Bq(L,(jV(),$B)),V>0?(z=(V-1)*n,g&&(z+=r),C&&(z+=r),z<T&&!s&&!o&&(z=T),te+=z):!s&&!o&&(te+=T),g=C,w=L;while(C);e.f.a=te,t.Vg()}function QV(e,t){var n,r,s,o,f,g,w,T,C,L;if(C=null,e.d&&(C=l(wu(e.d,t),142)),!C){if(o=e.a.vi(),L=o.i,!e.d||g_(e.d)!=L){for(w=new Nr,e.d&&mA(w,e.d),T=w.f.c+w.i.c,g=T;g<L;++g)r=l(Oe(o,g),142),s=b2(e.e,r).xe(),n=l(s==null?Ru(w.f,null,r):Hw(w.i,s,r),142),n&&n!=r&&(s==null?Ru(w.f,null,n):Hw(w.i,s,n));if(w.f.c+w.i.c!=L)for(f=0;f<T;++f)r=l(Oe(o,f),142),s=b2(e.e,r).xe(),n=l(s==null?Ru(w.f,null,r):Hw(w.i,s,r),142),n&&n!=r&&(s==null?Ru(w.f,null,n):Hw(w.i,s,n));e.d=w}C=l(wu(e.d,t),142)}return C}function Ple(e,t,n,r,s,o,f){var g,w,T,C,L,F,z;return L=Ft(Pt(Q(t,(Nt(),uDe)))),F=null,o==(qo(),Fl)&&r.c.i==n?F=r.c:o==$u&&r.d.i==n&&(F=r.d),T=f,!T||!L||F?(C=(_t(),jc),F?C=F.j:F5(l(Q(n,Ds),101))&&(C=o==Fl?Zn:sr),w=VLn(e,t,n,o,C,r),g=qoe((Ja(n),r)),o==Fl?(ho(g,l(Rt(w.j,0),12)),Na(g,s)):(ho(g,s),Na(g,l(Rt(w.j,0),12))),T=new q1t(r,g,w,l(Q(w,(ft(),zi)),12),o,!F)):(wt(T.e,r),z=b.Math.max(ze(Ge(Q(T.d,M2))),ze(Ge(Q(r,M2)))),rt(T.d,M2,z)),xn(e.a,r,new eH(T.d,t,o)),T}function Ble(){Ble=U;var e;UPe=new BJe,hAt=We($t,dt,2,0,6,1),uAt=X0(dx(33,58),dx(1,26)),lAt=X0(dx(97,122),dx(65,90)),jPe=dx(48,57),oAt=X0(uAt,0),cAt=X0(lAt,jPe),$Pe=X0(X0(0,dx(1,6)),dx(33,38)),zPe=X0(X0(jPe,dx(65,70)),dx(97,102)),fAt=X0(oAt,oV("-_.!~*'()")),dAt=X0(cAt,ZU("-_.!~*'()")),oV(D5t),ZU(D5t),X0(fAt,oV(";:@&=+$,")),X0(dAt,ZU(";:@&=+$,")),qPe=oV(":/?#"),HPe=ZU(":/?#"),zM=oV("/?#"),qM=ZU("/?#"),e=new Ys,e.a.zc("jar",e),e.a.zc("zip",e),e.a.zc("archive",e),MY=(Cn(),new Ck(e))}function VLn(e,t,n,r,s,o){var f,g,w,T,C,L;return f=null,T=r==(qo(),Fl)?o.c:o.d,w=WU(t),T.i==n?(f=l(or(e.b,T),10),f||(f=SP(T,l(Q(n,(Nt(),Ds)),101),s,Y_n(T),null,T.n,T.o,w,t),rt(f,(ft(),zi),T),Ti(e.b,T,f))):(f=SP((C=new Ui,L=ze(Ge(Q(t,(Nt(),y0))))/2,PN(C,y4,L),C),l(Q(n,Ds),101),s,r==Fl?-1:1,null,new za,new lt(0,0),w,t),g=Exn(f,n,r),rt(f,(ft(),zi),g),Ti(e.b,g,f)),l(Q(t,(ft(),_u)),21).Fc((Ho(),mf)),F5(l(Q(t,(Nt(),Ds)),101))?rt(t,Ds,(Pa(),oC)):rt(t,Ds,(Pa(),Z1)),f}function ZT(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V;g=0,V=0,w=$H(e.g,e.g.length),o=e.e,f=e.j,r=e.b,s=e.c;do{for(z=0,C=new K(e.q);C.a<C.c.c.length;)T=l(re(C),10),F=nwt(e,T),n=!0,(e.r==(Nf(),BB)||e.r==FB)&&(n=Ft(Pt(F.b))),l(F.a,17).a<0&&n?(++z,w=$H(e.g,e.g.length),e.e=e.e+l(F.a,17).a,V+=o-e.e,o=e.e+l(F.a,17).a,f=e.j,r=Nw(e.b),s=Nw(e.c)):(e.g=$H(w,w.length),e.e=o,e.b=(Xr(r),r?new Ml(r):qk(new K(r))),e.c=(Xr(s),s?new Ml(s):qk(new K(s))),e.j=f);++g,L=z!=0&&Ft(Pt(t.Kb(new fa(bt(V),bt(g)))))}while(L)}function GLn(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn;return f=e.f,F=t.f,g=f==(VA(),t9)||f==xM,z=F==t9||F==xM,w=f==Z6||f==kM,V=F==Z6||F==kM,T=f==Z6||f==t9,J=F==Z6||F==t9,g&&z?e.f==xM?e:t:w&&V?e.f==kM?e:t:T&&J?(f==Z6?(L=e,C=t):(L=t,C=e),o=(te=n.j+n.f,fe=L.e+r.f,Ee=b.Math.max(te,fe),Me=Ee-b.Math.min(n.j,L.e),$e=L.d+r.g-n.i,$e*Me),s=(Je=n.i+n.g,ot=C.d+r.g,At=b.Math.max(Je,ot),ln=At-b.Math.min(n.i,C.d),cn=C.e+r.f-n.j,ln*cn),o<=s?e.f==Z6?e:t:e.f==t9?e:t):e}function Fvt(e,t){var n,r,s,o,f,g,w,T,C,L;if(rt(t,(Zi(),eC),0),w=l(Q(t,HW),40),t.d.b==0)w?(C=ze(Ge(Q(w,N2)))+e.b+O8e(e,w,t),rt(t,N2,C)):rt(t,N2,0);else{for(r=(o=Fr(new Kg(t).a.d,0),new _5(o));sO(r.a);)n=l(Pr(r.a),65).c,Fvt(e,n);g=l(qq((f=Fr(new Kg(t).a.d,0),new _5(f))),40),L=l(Zhn((s=Fr(new Kg(t).a.d,0),new _5(s))),40),T=(ze(Ge(Q(L,N2)))+ze(Ge(Q(g,N2))))/2,w?(C=ze(Ge(Q(w,N2)))+e.b+O8e(e,w,t),rt(t,N2,C),rt(t,eC,ze(Ge(Q(t,N2)))-T),iDn(e,t)):rt(t,N2,T)}}function KLn(e){var t,n,r,s,o,f,g,w,T,C,L;for(C=e.e.a.c.length,f=new K(e.e.a);f.a<f.c.c.length;)o=l(re(f),125),o.j=!1;for(e.i=We(Ur,fi,28,C,15,1),e.g=We(Ur,fi,28,C,15,1),e.n=new mt,s=0,L=new mt,w=new K(e.e.a);w.a<w.c.c.length;)g=l(re(w),125),g.d=s++,g.b.a.c.length==0&&wt(e.n,g),aa(L,g.g);for(t=0,r=new K(L);r.a<r.c.c.length;)n=l(re(r),218),n.c=t++,n.f=!1;T=L.c.length,e.b==null||e.b.length<T?(e.b=We(Oa,tc,28,T,15,1),e.c=We(th,vg,28,T,16,1)):l_(e.c),e.d=L,e.p=new bae(Dy(e.d.c.length)),e.j=1}function WLn(e,t){var n,r,s,o,f,g,w,T,C;if(!(t.e.c.length<=1)){for(e.f=t,e.d=l(Q(e.f,(JN(),CAe)),391),e.g=l(Q(e.f,LAe),17).a,e.e=ze(Ge(Q(e.f,SAe))),e.c=ze(Ge(Q(e.f,DK))),pat(e.b),s=new K(e.f.c);s.a<s.c.c.length;)r=l(re(s),290),Dke(e.b,r.c,r,null),Dke(e.b,r.d,r,null);for(g=e.f.e.c.length,e.a=Fm(Oa,[dt,tc],[109,28],15,[g,g],2),T=new K(e.f.e);T.a<T.c.c.length;)w=l(re(T),153),yLn(e,w,e.a[w.a]);for(e.i=Fm(Oa,[dt,tc],[109,28],15,[g,g],2),o=0;o<g;++o)for(f=0;f<g;++f)n=e.a[o][f],C=1/(n*n),e.i[o][f]=C}}function Rvt(e,t){var n,r,s,o,f,g,w,T,C,L,F,z;if(g=t.ah(),g||t.Ug(eyt,1),n=l(Q(e,(ft(),ode)),15),f=1/n.gc(),t._g())for(t.bh("ELK Layered uses the following "+n.gc()+" modules:"),z=0,F=n.Kc();F.Ob();)C=l(F.Pb(),47),r=(z<10?"0":"")+z++,t.bh(" Slot "+r+": "+Pm(dh(C)));for(L=n.Kc();L.Ob();){if(C=l(L.Pb(),47),t.$g())return;C.Kf(e,t.eh(f))}for(o=new K(e.b);o.a<o.c.c.length;)s=l(re(o),30),aa(e.a,s.a),s.a.c.length=0;for(T=new K(e.a);T.a<T.c.c.length;)w=l(re(T),10),Ha(w,null);e.b.c.length=0,g||t.Vg()}function YLn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z;if(T=new mt,!rs(e,(ft(),nde)))return T;for(r=l(Q(e,nde),15).Kc();r.Ob();)t=l(r.Pb(),10),fMn(t,e),qn(T.c,t);for(o=new K(e.b);o.a<o.c.c.length;)for(s=l(re(o),30),g=new K(s.a);g.a<g.c.c.length;)f=l(re(g),10),f.k==(Jn(),Ks)&&(w=l(Q(f,dW),10),w&&(C=new du,Nc(C,f),L=l(Q(f,Xc),64),ga(C,L),F=l(Rt(w.j,0),12),z=new Dw,ho(z,C),Na(z,F)));for(n=new K(T);n.a<n.c.c.length;)t=l(re(n),10),Ha(t,l(Rt(e.b,e.b.c.length-1),30));return T}function jvt(e,t,n){var r,s,o,f,g,w,T,C,L;for(L=new mt,C=new p6e(0,n),o=0,TU(C,new Bce(0,0,C,n)),s=0,T=new ar(e);T.e!=T.i.gc();)w=l(dr(T),27),r=l(Rt(C.a,C.a.c.length-1),172),g=s+w.g+(l(Rt(C.a,0),172).b.c.length==0?0:n),(g>t||Ft(Pt(at(w,(z1(),WB)))))&&(s=0,o+=C.b+n,qn(L.c,C),C=new p6e(o,n),r=new Bce(0,C.f,C,n),TU(C,r),s=0),r.b.c.length==0||!Ft(Pt(at(ds(w),(z1(),Cge))))&&(w.f>=r.o&&w.f<=r.f||r.a*.5<=w.f&&r.a*1.5>=w.f)?R8e(r,w):(f=new Bce(r.s+r.r+n,C.f,C,n),TU(C,f),R8e(f,w)),s=w.i+w.g;return qn(L.c,C),L}function tL(e){var t,n,r,s;if(!(e.b==null||e.b.length<=2)&&!e.a){for(t=0,s=0;s<e.b.length;){for(t!=s?(e.b[t]=e.b[s++],e.b[t+1]=e.b[s++]):s+=2,n=e.b[t+1];s<e.b.length&&!(n+1<e.b[s]);)if(n+1==e.b[s])e.b[t+1]=e.b[s+1],n=e.b[t+1],s+=2;else if(n>=e.b[s+1])s+=2;else if(n<e.b[s+1])e.b[t+1]=e.b[s+1],n=e.b[t+1],s+=2;else throw ue(new Ic("Token#compactRanges(): Internel Error: ["+e.b[t]+","+e.b[t+1]+"] ["+e.b[s]+","+e.b[s+1]+"]"));t+=2}t!=e.b.length&&(r=We(Ur,fi,28,t,15,1),gu(e.b,0,r,0,t),e.b=r),e.a=!0}}function XLn(e,t){var n,r,s,o,f,g,w;for(f=Y8(e.a).Kc();f.Ob();){if(o=l(f.Pb(),18),o.b.c.length>0)for(r=new Ml(l($i(e.a,o),21)),Cn(),Gs(r,new eO(t)),s=new Ua(o.b,0);s.b<s.d.gc();){switch(n=(br(s.b<s.d.gc()),l(s.d.Xb(s.c=s.b++),72)),g=-1,l(Q(n,(Nt(),jd)),278).g){case 1:g=r.c.length-1;break;case 0:g=rxn(r);break;case 2:g=0}g!=-1&&(w=(Sn(g,r.c.length),l(r.c[g],249)),wt(w.b.b,n),l(Q(Ja(w.b.c.i),(ft(),_u)),21).Fc((Ho(),zE)),l(Q(Ja(w.b.c.i),_u),21).Fc($E),fh(s),rt(n,cMe,o))}ho(o,null),Na(o,null)}}function QLn(e,t){var n,r,s,o;return n=new cd,r=l(kc(gc(new vn(null,new kn(e.f,16)),n),Ly(new xt,new Ri,new Rn,new zn,he(le(uc,1),it,108,0,[(Nl(),o4),Cc]))),21),s=r.gc(),s=s==2?1:0,s==1&&pw(GN(l(kc(ji(r.Lc(),new w1),c0t(lp(0),new Tr)),168).a,2),0)&&(s=0),r=l(kc(gc(new vn(null,new kn(t.f,16)),n),Ly(new xt,new Ri,new Rn,new zn,he(le(uc,1),it,108,0,[o4,Cc]))),21),o=r.gc(),o=o==2?1:0,o==1&&pw(GN(l(kc(ji(r.Lc(),new kh),c0t(lp(0),new Tr)),168).a,2),0)&&(o=0),s<o?-1:s==o?0:1}function $vt(e){var t,n,r,s,o,f,g,w,T,C,L,F;for(t=M1(e),o=Ft(Pt(at(t,(Nt(),w4)))),C=0,s=0,T=new ar((!e.e&&(e.e=new An(js,e,7,4)),e.e));T.e!=T.i.gc();)w=l(dr(T),74),g=Yw(w),f=g&&o&&Ft(Pt(at(w,kv))),F=vc(l(Oe((!w.c&&(w.c=new An(Sr,w,5,8)),w.c),0),84)),g&&f?++s:g&&!f?++C:ds(F)==t||F==t?++s:++C;for(r=new ar((!e.d&&(e.d=new An(js,e,8,5)),e.d));r.e!=r.i.gc();)n=l(dr(r),74),g=Yw(n),f=g&&o&&Ft(Pt(at(n,kv))),L=vc(l(Oe((!n.b&&(n.b=new An(Sr,n,4,7)),n.b),0),84)),g&&f?++C:g&&!f?++s:ds(L)==t||L==t?++C:++s;return C-s}function JLn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z;if(t.Ug("Edge splitting",1),e.b.c.length<=2){t.Vg();return}for(o=new Ua(e.b,0),f=(br(o.b<o.d.gc()),l(o.d.Xb(o.c=o.b++),30));o.b<o.d.gc();)for(s=f,f=(br(o.b<o.d.gc()),l(o.d.Xb(o.c=o.b++),30)),w=new K(s.a);w.a<w.c.c.length;)for(g=l(re(w),10),C=new K(g.j);C.a<C.c.c.length;)for(T=l(re(C),12),r=new K(T.g);r.a<r.c.c.length;)n=l(re(r),18),F=n.d,L=F.i.c,L!=s&&L!=f&&Xbt(n,(z=new hp(e),x(z,(Jn(),Aa)),rt(z,(ft(),zi),n),rt(z,(Nt(),Ds),(Pa(),Au)),Ha(z,f),z));t.Vg()}function ZLn(e,t){var n,r,s,o,f,g,w,T,C,L,F;for(C=new mt,F=new Ys,f=t.b,s=0;s<f.c.length;s++){for(T=(Sn(s,f.c.length),l(f.c[s],30)).a,C.c.length=0,o=0;o<T.c.length;o++)g=e.a[s][o],g.p=o,g.k==(Jn(),Su)&&qn(C.c,g),nf(l(Rt(t.b,s),30).a,o,g),g.j.c.length=0,aa(g.j,l(l(Rt(e.b,s),15).Xb(o),16)),G8(l(Q(g,(Nt(),Ds)),101))||rt(g,Ds,(Pa(),Iv));for(r=new K(C);r.a<r.c.c.length;)n=l(re(r),10),L=A_n(n),F.a.zc(L,F),F.a.zc(n,F)}for(w=F.a.ec().Kc();w.Ob();)g=l(w.Pb(),10),Cn(),Gs(g.j,(ST(),ELe)),g.i=!0,M9e(g)}function zvt(e){var t,n,r,s,o;return e.g!=null?e.g:e.a<32?(e.g=vIn(tu(e.f),da(e.e)),e.g):(s=Vle((!e.c&&(e.c=iN(tu(e.f))),e.c),0),e.e==0?s:(t=(!e.c&&(e.c=iN(tu(e.f))),e.c).e<0?2:1,n=s.length,r=-e.e+n-t,o=new lb,o.a+=""+s,e.e>0&&r>=-6?r>=0?DO(o,n-da(e.e),String.fromCharCode(46)):(Cce(o,t-1,t-1,"0."),DO(o,t+1,If(vv,0,-da(r)-1))):(n-t>=1&&(DO(o,t,String.fromCharCode(46)),++n),DO(o,n,String.fromCharCode(69)),r>0&&DO(o,++n,String.fromCharCode(43)),DO(o,++n,""+X_(tu(r)))),e.g=o.a,e.g))}function eMn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At;r=ze(Ge(Q(t,(Nt(),hDe)))),Je=l(Q(t,rM),17).a,F=4,s=3,ot=20/Je,z=!1,w=0,f=Ni;do{for(o=w!=1,L=w!=0,At=0,te=e.a,Ee=0,$e=te.length;Ee<$e;++Ee)V=te[Ee],V.f=null,zDn(e,V,o,L,r),At+=b.Math.abs(V.a);do g=AAn(e,t);while(g);for(J=e.a,fe=0,Me=J.length;fe<Me;++fe)if(V=J[fe],n=T5e(V).a,n!=0)for(C=new K(V.e);C.a<C.c.c.length;)T=l(re(C),10),T.n.b+=n;w==0||w==1?(--F,F<=0&&(At<f||-F>Je)?(w=2,f=Ni):w==0?(w=1,f=At):(w=0,f=At)):(z=At>=f||f-At<ot,f=At,z&&--s)}while(!(z&&s<=0))}function Fle(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V;for(V=new Nr,o=e.a.ec().Kc();o.Ob();)r=l(o.Pb(),177),Ti(V,r,n.af(r));for(f=(Xr(e),e?new Ml(e):qk(e.a.ec().Kc())),Gs(f,new Bz(V)),g=XH(f),w=new zq(t),z=new Nr,Ru(z.f,t,w);g.a.gc()!=0;){for(T=null,C=null,L=null,s=g.a.ec().Kc();s.Ob();)if(r=l(s.Pb(),177),ze(Ge(dc(zo(V.f,r))))<=gs){if(Hu(z,r.a)&&!Hu(z,r.b)){C=r.b,L=r.a,T=r;break}if(Hu(z,r.b)&&!Hu(z,r.a)){C=r.a,L=r.b,T=r;break}}if(!T)break;F=new zq(C),wt(l(dc(zo(z.f,L)),225).a,F),Ru(z.f,C,F),g.a.Bc(T)!=null}return w}function tMn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z;for(n.Ug("Depth-first cycle removal",1),L=t.a,C=L.c.length,e.c=new mt,e.d=We(th,vg,28,C,16,1),e.a=We(th,vg,28,C,16,1),e.b=new mt,f=0,T=new K(L);T.a<T.c.c.length;)w=l(re(T),10),w.p=f,tT(Ea(w))&&wt(e.c,w),++f;for(z=new K(e.c);z.a<z.c.c.length;)F=l(re(z),10),T9e(e,F);for(o=0;o<C;o++)e.d[o]||(g=(Sn(o,L.c.length),l(L.c[o],10)),T9e(e,g));for(s=new K(e.b);s.a<s.c.c.length;)r=l(re(s),18),Jw(r,!0),rt(t,(ft(),AB),(Hn(),!0));e.c=null,e.d=null,e.a=null,e.b=null,n.Vg()}function nMn(e,t){d6();var n,r,s,o,f,g;return o=t.c-(e.c+e.b),s=e.c-(t.c+t.b),f=e.d-(t.d+t.a),n=t.d-(e.d+e.a),r=b.Math.max(s,o),g=b.Math.max(f,n),A1(),h0(Nd),(b.Math.abs(r)<=Nd||r==0||isNaN(r)&&isNaN(0)?0:r<0?-1:r>0?1:bw(isNaN(r),isNaN(0)))>=0^(h0(Nd),(b.Math.abs(g)<=Nd||g==0||isNaN(g)&&isNaN(0)?0:g<0?-1:g>0?1:bw(isNaN(g),isNaN(0)))>=0)?b.Math.max(g,r):(h0(Nd),(b.Math.abs(r)<=Nd||r==0||isNaN(r)&&isNaN(0)?0:r<0?-1:r>0?1:bw(isNaN(r),isNaN(0)))>0?b.Math.sqrt(g*g+r*r):-b.Math.sqrt(g*g+r*r))}function sv(e,t){var n,r,s,o,f,g;if(t){if(!e.a&&(e.a=new Gz),e.e==2){Vz(e.a,t);return}if(t.e==1){for(s=0;s<t.Pm();s++)sv(e,t.Lm(s));return}if(g=e.a.a.c.length,g==0){Vz(e.a,t);return}if(f=l(Aw(e.a,g-1),122),!((f.e==0||f.e==10)&&(t.e==0||t.e==10))){Vz(e.a,t);return}o=t.e==0?2:t.Mm().length,f.e==0?(n=new f_,r=f.Km(),r>=Lo?Jo(n,F8e(r)):Kk(n,r&ta),f=new koe(10,null,0),Rgn(e.a,f,g-1)):(n=(f.Mm().length+o,new f_),Jo(n,f.Mm())),t.e==0?(r=t.Km(),r>=Lo?Jo(n,F8e(r)):Kk(n,r&ta)):Jo(n,t.Mm()),l(f,530).b=n.a}}function rMn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te;if(!n.dc()){for(g=0,F=0,r=n.Kc(),V=l(r.Pb(),17).a;g<t.f;){if(g==V&&(F=0,r.Ob()?V=l(r.Pb(),17).a:V=t.f+1),g!=F){for(te=l(Rt(e.b,g),30),z=l(Rt(e.b,F),30),J=Nw(te.a),L=new K(J);L.a<L.c.c.length;)if(C=l(re(L),10),$y(C,z.a.c.length,z),F==0)for(f=Nw(Ea(C)),o=new K(f);o.a<o.c.c.length;)s=l(re(o),18),Jw(s,!0),rt(e,(ft(),AB),(Hn(),!0)),Gvt(e,s,1)}++F,++g}for(w=new Ua(e.b,0);w.b<w.d.gc();)T=(br(w.b<w.d.gc()),l(w.d.Xb(w.c=w.b++),30)),T.a.c.length==0&&fh(w)}}function iMn(e,t,n){var r,s,o;if(s=l(Q(t,(Nt(),mW)),282),s!=(HT(),VL)){switch(n.Ug("Horizontal Compaction",1),e.a=t,o=new kht,r=new B2t((o.d=t,o.c=l(Q(o.d,yp),223),YSn(o),nDn(o),r_n(o),o.a)),Uun(r,e.b),l(Q(t,zMe),431).g){case 1:wZe(r,new Kft(e.a));break;default:wZe(r,(Z5e(),b7t))}switch(s.g){case 1:UA(r);break;case 2:UA(JV(r,(ea(),yc)));break;case 3:UA(yZe(JV(UA(r),(ea(),yc)),new jj));break;case 4:UA(yZe(JV(UA(r),(ea(),yc)),new UYe(o)));break;case 5:UA(Hun(r,_xt))}JV(r,(ea(),hc)),r.e=!0,DDn(o),n.Vg()}}function sMn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me;for(f=t.b,C=f.o,w=f.d,r=ze(Ge(cV(f,(Nt(),y0)))),s=ze(Ge(cV(f,V6))),T=ze(Ge(cV(f,Tde))),g=new ese,Y4e(g,w.d,w.c,w.a,w.b),F=p_n(t,r,s,T),fe=new K(t.d);fe.a<fe.c.c.length;){for(te=l(re(fe),105),V=te.f.a.ec().Kc();V.Ob();)z=l(V.Pb(),340),o=z.a,L=Yxn(z),n=(Ee=new pl,hpt(z,z.c,F,Ee),k9n(z,L,F,Ee),hpt(z,z.d,F,Ee),Ee),n=e.ng(z,L,n),Ch(o.a),Ga(o.a,n),Os(new vn(null,new kn(n,16)),new btt(C,g));J=te.i,J&&(Fxn(te,J,F,s),Me=new xo(J.g),cxe(C,g,Me),Pi(Me,J.j),cxe(C,g,Me))}Y4e(w,g.d,g.c,g.a,g.b)}function aMn(e,t,n,r,s,o,f,g){var w,T,C,L;switch(w=O1(he(le(QOn,1),jn,238,0,[t,n,r,s])),L=null,e.b.g){case 1:L=O1(he(le(AOe,1),jn,535,0,[new SI,new Am,new Z9]));break;case 0:L=O1(he(le(AOe,1),jn,535,0,[new Z9,new Am,new SI]));break;case 2:L=O1(he(le(AOe,1),jn,535,0,[new Am,new SI,new Z9]))}for(C=new K(L);C.a<C.c.c.length;)T=l(re(C),535),w.c.length>1&&(w=T.Hg(w,e.a,g));return w.c.length==1?l(Rt(w,w.c.length-1),238):w.c.length==2?GLn((Sn(0,w.c.length),l(w.c[0],238)),(Sn(1,w.c.length),l(w.c[1],238)),f,o):null}function oMn(e,t,n){var r,s,o,f,g,w,T;for(n.Ug("Find roots",1),e.a.c.length=0,s=Fr(t.b,0);s.b!=s.d.c;)r=l(Pr(s),40),r.b.b==0&&(rt(r,(Zi(),Zb),(Hn(),!0)),wt(e.a,r));switch(e.a.c.length){case 0:o=new Pce(0,t,"DUMMY_ROOT"),rt(o,(Zi(),Zb),(Hn(),!0)),rt(o,Wde,!0),ci(t.b,o);break;case 1:break;default:for(f=new Pce(0,t,RG),w=new K(e.a);w.a<w.c.c.length;)g=l(re(w),40),T=new J5e(f,g),rt(T,(Zi(),Wde),(Hn(),!0)),ci(f.a.a,T),ci(f.d,T),ci(g.b,T),rt(g,Zb,!1);rt(f,(Zi(),Zb),(Hn(),!0)),rt(f,Wde,!0),ci(t.b,f)}n.Vg()}function qvt(e){var t,n,r,s,o,f;for(Uu(e.a,new zs),n=new K(e.a);n.a<n.c.c.length;)t=l(re(n),225),r=ya(Xa(l(e.b,68).c),l(t.b,68).c),t8t?(f=l(e.b,68).b,o=l(t.b,68).b,b.Math.abs(r.a)>=b.Math.abs(r.b)?(r.b=0,o.d+o.a>f.d&&o.d<f.d+f.a&&iH(r,b.Math.max(f.c-(o.c+o.b),o.c-(f.c+f.b)))):(r.a=0,o.c+o.b>f.c&&o.c<f.c+f.b&&iH(r,b.Math.max(f.d-(o.d+o.a),o.d-(f.d+f.a))))):iH(r,fvt(l(e.b,68),l(t.b,68))),s=b.Math.sqrt(r.a*r.a+r.b*r.b),s=apt(jL,t,s,r),iH(r,s),Uae(l(t.b,68),r),Uu(t.a,new Fz(r)),l(jL.b,68),Y6e(jL,oAe,t)}function cMn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V;for(e.f=new Zie,T=0,s=0,f=new K(e.e.b);f.a<f.c.c.length;)for(o=l(re(f),30),w=new K(o.a);w.a<w.c.c.length;){for(g=l(re(w),10),g.p=T++,r=new lr(fr(qs(g).a.Kc(),new j));Rr(r);)n=l(yr(r),18),n.p=s++;for(t=Nle(g),F=new K(g.j);F.a<F.c.c.length;)L=l(re(F),12),t&&(V=L.a.b,V!=b.Math.floor(V)&&(C=V-Vm(tu(b.Math.round(V))),L.a.b-=C)),z=L.n.b+L.a.b,z!=b.Math.floor(z)&&(C=z-Vm(tu(b.Math.round(z))),L.n.b-=C)}e.g=T,e.b=s,e.i=We(KOn,jn,412,T,0,1),e.c=We(GOn,jn,655,s,0,1),e.d.a.$b()}function $r(e){var t,n,r,s,o,f,g,w,T;if(e.Pj())if(w=e.Qj(),e.i>0){if(t=new vye(e.i,e.g),n=e.i,o=n<100?null:new hb(n),e.Tj())for(r=0;r<e.i;++r)f=e.g[r],o=e.Vj(f,o);if(lA(e),s=n==1?e.Ij(4,Oe(t,0),null,0,w):e.Ij(6,t,null,-1,w),e.Mj()){for(r=new U8(t);r.e!=r.i.gc();)o=e.Oj(mue(r),o);o?(o.nj(s),o.oj()):e.Jj(s)}else o?(o.nj(s),o.oj()):e.Jj(s)}else lA(e),e.Jj(e.Ij(6,(Cn(),Co),null,-1,w));else if(e.Mj())if(e.i>0){for(g=e.g,T=e.i,lA(e),o=T<100?null:new hb(T),r=0;r<T;++r)f=g[r],o=e.Oj(f,o);o&&o.oj()}else lA(e);else lA(e)}function Xke(e,t,n){var r,s,o,f,g,w,T,C,L,F;for(k0t(this),n==(Ow(),Jb)?sa(this.r,e):sa(this.w,e),C=gs,T=oa,f=t.a.ec().Kc();f.Ob();)s=l(f.Pb(),42),g=l(s.a,465),r=l(s.b,18),w=r.c,w==e&&(w=r.d),g==Jb?sa(this.r,w):sa(this.w,w),F=(_t(),ll).Hc(w.j)?ze(Ge(Q(w,(ft(),HE)))):Bc(he(le(Ca,1),dt,8,0,[w.i.n,w.n,w.a])).b,C=b.Math.min(C,F),T=b.Math.max(T,F);for(L=(_t(),ll).Hc(e.j)?ze(Ge(Q(e,(ft(),HE)))):Bc(he(le(Ca,1),dt,8,0,[e.i.n,e.n,e.a])).b,Lpt(this,L,C,T),o=t.a.ec().Kc();o.Ob();)s=l(o.Pb(),42),jpt(this,l(s.b,18));this.o=!1}function uMn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr;return n=e.l&8191,r=e.l>>13|(e.m&15)<<9,s=e.m>>4&8191,o=e.m>>17|(e.h&255)<<5,f=(e.h&1048320)>>8,g=t.l&8191,w=t.l>>13|(t.m&15)<<9,T=t.m>>4&8191,C=t.m>>17|(t.h&255)<<5,L=(t.h&1048320)>>8,ln=n*g,cn=r*g,Fn=s*g,$n=o*g,cr=f*g,w!=0&&(cn+=n*w,Fn+=r*w,$n+=s*w,cr+=o*w),T!=0&&(Fn+=n*T,$n+=r*T,cr+=s*T),C!=0&&($n+=n*C,cr+=r*C),L!=0&&(cr+=n*L),z=ln&Ql,V=(cn&511)<<13,F=z+V,te=ln>>22,fe=cn>>9,Ee=(Fn&262143)<<4,Me=($n&31)<<17,J=te+fe+Ee+Me,Je=Fn>>18,ot=$n>>5,At=(cr&4095)<<8,$e=Je+ot+At,J+=F>>22,F&=Ql,$e+=J>>22,J&=Ql,$e&=pp,qu(F,J,$e)}function Hvt(e){var t,n,r,s,o,f,g;if(g=l(Rt(e.j,0),12),g.g.c.length!=0&&g.e.c.length!=0)throw ue(new ic("Interactive layout does not support NORTH/SOUTH ports with incoming _and_ outgoing edges."));if(g.g.c.length!=0){for(o=gs,n=new K(g.g);n.a<n.c.c.length;)t=l(re(n),18),f=t.d.i,r=l(Q(f,(Nt(),CW)),140),o=b.Math.min(o,f.n.a-r.b);return new ZS(Xr(o))}if(g.e.c.length!=0){for(s=oa,n=new K(g.e);n.a<n.c.c.length;)t=l(re(n),18),f=t.c.i,r=l(Q(f,(Nt(),CW)),140),s=b.Math.max(s,f.n.a+f.o.a+r.c);return new ZS(Xr(s))}return c_(),c_(),I0e}function Uvt(e,t){var n,r,s,o,f,g,w;if(e.ol()){if(e.i>4)if(e.fk(t)){if(e.al()){if(s=l(t,54),r=s.Eh(),w=r==e.e&&(e.ml()?s.yh(s.Fh(),e.il())==e.jl():-1-s.Fh()==e.Lj()),e.nl()&&!w&&!r&&s.Jh()){for(o=0;o<e.i;++o)if(n=e.pl(l(e.g[o],58)),qe(n)===qe(t))return!0}return w}else if(e.ml()&&!e.ll()){if(f=l(t,58).Mh(jo(l(e.Lk(),19))),qe(f)===qe(e.e))return!0;if(f==null||!l(f,58).Vh())return!1}}else return!1;if(g=zT(e,t),e.nl()&&!g){for(o=0;o<e.i;++o)if(s=e.pl(l(e.g[o],58)),qe(s)===qe(t))return!0}return g}else return zT(e,t)}function lMn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te;for(n.Ug("Interactive cycle breaking",1),L=new mt,z=new K(t.a);z.a<z.c.c.length;)for(F=l(re(z),10),F.p=1,V=zxe(F).a,C=Vw(F,(qo(),$u)).Kc();C.Ob();)for(T=l(C.Pb(),12),o=new K(T.g);o.a<o.c.c.length;)r=l(re(o),18),J=r.d.i,J!=F&&(te=zxe(J).a,te<V&&qn(L.c,r));for(f=new K(L);f.a<f.c.c.length;)r=l(re(f),18),Jw(r,!0);for(L.c.length=0,w=new K(t.a);w.a<w.c.c.length;)g=l(re(w),10),g.p>0&&Upt(e,g,L);for(s=new K(L);s.a<s.c.c.length;)r=l(re(s),18),Jw(r,!0);L.c.length=0,n.Vg()}function hMn(e,t){var n,r,s,o,f,g,w,T,C;for(n=0,C=new mt,g=new K(t);g.a<g.c.c.length;){switch(f=l(re(g),12),d8e(e.b,e.d[f.p]),C.c.length=0,f.i.k.g){case 0:r=l(Q(f,(ft(),Bl)),10),Uu(r.j,new kXe(C));break;case 1:Chn(ET(ji(new vn(null,new kn(f.i.j,16)),new TXe(f))),new EXe(C));break;case 3:s=l(Q(f,(ft(),zi)),12),wt(C,new fa(s,bt(f.e.c.length+f.g.c.length)))}for(T=new K(C);T.a<T.c.c.length;)w=l(re(T),42),o=M3e(e,l(w.a,12)),o>e.d[f.p]&&(n+=M6e(e.b,o)*l(w.b,17).a,Tb(e.a,bt(o)));for(;!h_(e.a);)u7e(e.b,l(Q8(e.a),17).a)}return n}function fMn(e,t){var n,r,s,o,f,g,w,T,C,L;if(C=l(Q(e,(ft(),Xc)),64),r=l(Rt(e.j,0),12),C==(_t(),Xn)?ga(r,Mr):C==Mr&&ga(r,Xn),l(Q(t,(Nt(),Ev)),181).Hc((gh(),Ov))){if(w=ze(Ge(Q(e,WE))),T=ze(Ge(Q(e,YE))),f=ze(Ge(Q(e,T4))),g=l(Q(t,x4),21),g.Hc((Pl(),kp)))for(n=T,L=e.o.a/2-r.n.a,o=new K(r.f);o.a<o.c.c.length;)s=l(re(o),72),s.n.b=n,s.n.a=L-s.o.a/2,n+=s.o.b+f;else if(g.Hc(im))for(o=new K(r.f);o.a<o.c.c.length;)s=l(re(o),72),s.n.a=w+e.o.a-r.n.a;Rbn(new t_((p_(),new foe(t,!1,!1,new uS))),new tH(null,e,!1))}}function dMn(e,t){var n,r,s,o,f,g,w,T,C;if(t.c.length!=0){for(Cn(),Hae(t.c,t.c.length,null),s=new K(t),r=l(re(s),154);s.a<s.c.c.length;)n=l(re(s),154),g7e(r.e.c,n.e.c)&&!(rxe(rit(r.e).b,n.e.d)||rxe(rit(n.e).b,r.e.d))?r=(aa(r.k,n.k),aa(r.b,n.b),aa(r.c,n.c),Ga(r.i,n.i),aa(r.d,n.d),aa(r.j,n.j),o=b.Math.min(r.e.c,n.e.c),f=b.Math.min(r.e.d,n.e.d),g=b.Math.max(r.e.c+r.e.b,n.e.c+n.e.b),w=g-o,T=b.Math.max(r.e.d+r.e.a,n.e.d+n.e.a),C=T-f,cst(r.e,o,f,w,C),Fbn(r.f,n.f),!r.a&&(r.a=n.a),aa(r.g,n.g),wt(r.g,n),r):(rvt(e,r),r=n);rvt(e,r)}}function gMn(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je;for(w=new mt,o=new K(t.a);o.a<o.c.c.length;)for(s=l(re(o),10),g=new K(s.j);g.a<g.c.c.length;){for(f=l(re(g),12),C=null,Me=kd(f.g),$e=0,Je=Me.length;$e<Je;++$e)Ee=Me[$e],vT(Ee.d.i,n)||(fe=Ple(e,t,n,Ee,Ee.c,(qo(),$u),C),fe!=C&&qn(w.c,fe),fe.c&&(C=fe));for(T=null,V=kd(f.e),J=0,te=V.length;J<te;++J)z=V[J],vT(z.c.i,n)||(fe=Ple(e,t,n,z,z.d,(qo(),Fl),T),fe!=T&&qn(w.c,fe),fe.c&&(T=fe))}for(F=new K(w);F.a<F.c.c.length;)L=l(re(F),453),bc(t.a,L.a,0)!=-1||wt(t.a,L.a),L.c&&qn(r.c,L)}function pMn(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V,J,te;for(L=new xo(l(at(e,(SV(),pNe)),8)),L.a=b.Math.max(L.a-n.b-n.c,0),L.b=b.Math.max(L.b-n.d-n.a,0),s=Ge(at(e,fNe)),(s==null||(tr(s),s<=0))&&(s=1.3),g=new mt,V=new ar((!e.a&&(e.a=new nt(Li,e,10,11)),e.a));V.e!=V.i.gc();)z=l(dr(V),27),f=new Wrt(z),qn(g.c,f);switch(F=l(at(e,zge),320),F.g){case 3:te=tAn(g,t,L.a,L.b,(T=r,tr(s),T));break;case 1:te=VAn(g,t,L.a,L.b,(C=r,tr(s),C));break;default:te=mMn(g,t,L.a,L.b,(w=r,tr(s),w))}o=new vU(te),J=Hle(o,t,n,L.a,L.b,r,(tr(s),s)),Zw(e,J.a,J.b,!1,!0)}function bMn(e,t,n,r){var s,o,f,g,w,T;if(g=e.j,g==(_t(),jc)&&t!=(Pa(),Z1)&&t!=(Pa(),rm)&&(g=Jmt(e,n),ga(e,g),!(e.q?e.q:(Cn(),Cn(),yg))._b((Nt(),y4))&&g!=jc&&(e.n.a!=0||e.n.b!=0)&&rt(e,y4,b8n(e,g))),t==(Pa(),_g)){switch(T=0,g.g){case 1:case 3:o=e.i.o.a,o>0&&(T=e.n.a/o);break;case 2:case 4:s=e.i.o.b,s>0&&(T=e.n.b/s)}rt(e,(ft(),m3),T)}if(w=e.o,f=e.a,r)f.a=r.a,f.b=r.b,e.d=!0;else if(t!=Z1&&t!=rm&&g!=jc)switch(g.g){case 1:f.a=w.a/2;break;case 2:f.a=w.a,f.b=w.b/2;break;case 3:f.a=w.a/2,f.b=w.b;break;case 4:f.b=w.b/2}else f.a=w.a/2,f.b=w.b/2}function nL(e){var t,n,r,s,o,f,g,w,T,C;if(e.Pj())if(C=e.Ej(),w=e.Qj(),C>0)if(t=new q7e(e.pj()),n=C,o=n<100?null:new hb(n),BO(e,n,t.g),s=n==1?e.Ij(4,Oe(t,0),null,0,w):e.Ij(6,t,null,-1,w),e.Mj()){for(r=new ar(t);r.e!=r.i.gc();)o=e.Oj(dr(r),o);o?(o.nj(s),o.oj()):e.Jj(s)}else o?(o.nj(s),o.oj()):e.Jj(s);else BO(e,e.Ej(),e.Fj()),e.Jj(e.Ij(6,(Cn(),Co),null,-1,w));else if(e.Mj())if(C=e.Ej(),C>0){for(g=e.Fj(),T=C,BO(e,C,g),o=T<100?null:new hb(T),r=0;r<T;++r)f=g[r],o=e.Oj(f,o);o&&o.oj()}else BO(e,e.Ej(),e.Fj());else BO(e,e.Ej(),e.Fj())}function mMn(e,t,n,r,s){var o,f,g,w,T,C,L,F,z,V,J,te;for(g=We(Oa,tc,28,e.c.length,15,1),F=new xH(new ik),Sxe(F,e),T=0,J=new mt;F.b.c.length!=0;)if(f=l(F.b.c.length==0?null:Rt(F.b,0),163),T>1&&vl(f)*hh(f)/2>g[0]){for(o=0;o<J.c.length-1&&vl(f)*hh(f)/2>g[o];)++o;V=new c2(J,0,o+1),L=new vU(V),C=vl(f)/hh(f),w=Hle(L,t,new L8,n,r,s,C),Pi(W0(L.e),w),W8(qT(F,L),cE),z=new c2(J,o+1,J.c.length),Sxe(F,z),J.c.length=0,T=0,Ust(g,g.length,0)}else te=F.b.c.length==0?null:Rt(F.b,0),te!=null&&mce(F,0),T>0&&(g[T]=g[T-1]),g[T]+=vl(f)*hh(f),++T,qn(J.c,f);return J}function vMn(e,t){var n,r,s,o;n=t.b,o=new Ml(n.j),s=0,r=n.j,r.c.length=0,Ew(l(Ym(e.b,(_t(),Xn),($w(),g3)),15),n),s=YN(o,s,new Zv,r),Ew(l(Ym(e.b,Xn,Kb),15),n),s=YN(o,s,new Mee,r),Ew(l(Ym(e.b,Xn,d3),15),n),Ew(l(Ym(e.b,sr,g3),15),n),Ew(l(Ym(e.b,sr,Kb),15),n),s=YN(o,s,new Kj,r),Ew(l(Ym(e.b,sr,d3),15),n),Ew(l(Ym(e.b,Mr,g3),15),n),s=YN(o,s,new Wj,r),Ew(l(Ym(e.b,Mr,Kb),15),n),s=YN(o,s,new Yj,r),Ew(l(Ym(e.b,Mr,d3),15),n),Ew(l(Ym(e.b,Zn,g3),15),n),s=YN(o,s,new Hj,r),Ew(l(Ym(e.b,Zn,Kb),15),n),Ew(l(Ym(e.b,Zn,d3),15),n)}function wMn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z;for(g=new K(t);g.a<g.c.c.length;)o=l(re(g),239),o.e=null,o.c=0;for(w=null,f=new K(t);f.a<f.c.c.length;)if(o=l(re(f),239),L=o.d[0],!(n&&L.k!=(Jn(),Bs))){for(z=l(Q(L,(ft(),Yx)),15).Kc();z.Ob();)F=l(z.Pb(),10),(!n||F.k==(Jn(),Bs))&&((!o.e&&(o.e=new mt),o.e).Fc(e.b[F.c.p][F.p]),++e.b[F.c.p][F.p].c);if(!n&&L.k==(Jn(),Bs)){if(w)for(C=l($i(e.d,w),21).Kc();C.Ob();)for(T=l(C.Pb(),10),s=l($i(e.d,L),21).Kc();s.Ob();)r=l(s.Pb(),10),Edn(e.b[T.c.p][T.p]).Fc(e.b[r.c.p][r.p]),++e.b[r.c.p][r.p].c;w=L}}}function yMn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te;for(n.Ug("Model order cycle breaking",1),e.a=0,e.b=0,z=new mt,C=t.a.c.length,T=new K(t.a);T.a<T.c.c.length;)w=l(re(T),10),rs(w,(ft(),Yi))&&(C=b.Math.max(C,l(Q(w,Yi),17).a+1));for(J=new K(t.a);J.a<J.c.c.length;)for(V=l(re(J),10),f=e2t(e,V,C),F=Vw(V,(qo(),$u)).Kc();F.Ob();)for(L=l(F.Pb(),12),o=new K(L.g);o.a<o.c.c.length;)r=l(re(o),18),te=r.d.i,g=e2t(e,te,C),g<f&&qn(z.c,r);for(s=new K(z);s.a<s.c.c.length;)r=l(re(s),18),Jw(r,!0),rt(t,(ft(),AB),(Hn(),!0));z.c.length=0,n.Vg()}function Vvt(e,t,n){var r,s,o,f,g,w,T,C,L,F;for(f=t.d,g=n.d;f.a-g.a==0&&f.b-g.b==0;)w=!1,De(t,250)&&De(n,250)&&!w?(T=l(t,250).a,C=ya(new xo(x7e(T)),y7e(T)),r=2,s=new lt(C.a/b.Math.sqrt(C.a*C.a+C.b*C.b)*r,-C.b/b.Math.sqrt(C.a*C.a+C.b*C.b)*r),Pi(f,s),L=l(n,250).a,F=ya(new xo(x7e(L)),y7e(L)),r=C==F?-2:2,o=new lt(F.a/b.Math.sqrt(F.a*F.a+F.b*F.b)*r,-(F.b/b.Math.sqrt(F.a*F.a+F.b*F.b))*r),Pi(f,o),w=!0):(f.a+=Yl(e,26)*sL+Yl(e,27)*aL-.5,f.b+=Yl(e,26)*sL+Yl(e,27)*aL-.5,g.a+=Yl(e,26)*sL+Yl(e,27)*aL-.5,g.b+=Yl(e,26)*sL+Yl(e,27)*aL-.5)}function xMn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te;for(T=J9n(t),J=l(Q(t,(Nt(),ZL)),322),Za(T,new jz(J)),te=l(Q(t,IB),299),Za(T,new Kie(te)),V=0,C=new mt,o=new rA(T);o.a!=o.b;)s=l(UU(o),36),rwt(e.c,s),F=l(Q(s,(ft(),ode)),15),V+=F.gc(),r=F.Kc(),wt(C,new fa(s,r));for(n.Ug("Recursive hierarchical layout",V),z=l(l(Rt(C,C.c.length-1),42).b,51);z.Ob();)for(w=new K(C);w.a<w.c.c.length;)for(g=l(re(w),42),F=l(g.b,51),f=l(g.a,36);F.Ob();)if(L=l(F.Pb(),47),De(L,514)){if(f.e)break;L.Kf(f,n.eh(1));break}else L.Kf(f,n.eh(1));n.Vg()}function kMn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J;for(t.Ug("Layer size calculation",1),C=gs,T=oa,s=!1,g=new K(e.b);g.a<g.c.c.length;)if(f=l(re(g),30),w=f.c,w.a=0,w.b=0,f.a.c.length!=0){for(s=!0,F=new K(f.a);F.a<F.c.c.length;)L=l(re(F),10),V=L.o,z=L.d,w.a=b.Math.max(w.a,V.a+z.b+z.c);r=l(Rt(f.a,0),10),J=r.n.b-r.d.d,r.k==(Jn(),Ks)&&(J-=l(Q(e,(Nt(),PB)),140).d),o=l(Rt(f.a,f.a.c.length-1),10),n=o.n.b+o.o.b+o.d.a,o.k==Ks&&(n+=l(Q(e,(Nt(),PB)),140).a),w.b=n-J,C=b.Math.min(C,J),T=b.Math.max(T,n)}s||(C=0,T=0),e.f.b=T-C,e.c.b-=C,t.Vg()}function Qke(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe;for(o=0,f=0,T=new K(e.a);T.a<T.c.c.length;)g=l(re(T),10),o=b.Math.max(o,g.d.b),f=b.Math.max(f,g.d.c);for(w=new K(e.a);w.a<w.c.c.length;){switch(g=l(re(w),10),n=l(Q(g,(Nt(),Rd)),255),n.g){case 1:V=0;break;case 2:V=1;break;case 5:V=.5;break;default:for(r=0,L=0,z=new K(g.j);z.a<z.c.c.length;)F=l(re(z),12),F.e.c.length==0||++r,F.g.c.length==0||++L;r+L==0?V=.5:V=L/(r+L)}te=e.c,C=g.o.a,fe=(te.a-C)*V,V>.5?fe-=f*2*(V-.5):V<.5&&(fe+=o*2*(.5-V)),s=g.d.b,fe<s&&(fe=s),J=g.d.c,fe>te.a-J-C&&(fe=te.a-J-C),g.n.a=t+fe}}function TMn(e){var t,n,r,s,o;if(r=l(Q(e,(Nt(),Qu)),171),r==(lf(),Yb)){for(n=new lr(fr(Ea(e).a.Kc(),new j));Rr(n);)if(t=l(yr(n),18),!ilt(t))throw ue(new Zp(Zhe+QN(e)+"' has its layer constraint set to FIRST_SEPARATE, but has at least one incoming edge. FIRST_SEPARATE nodes must not have incoming edges."))}else if(r==b4){for(o=new lr(fr(qs(e).a.Kc(),new j));Rr(o);)if(s=l(yr(o),18),!ilt(s))throw ue(new Zp(Zhe+QN(e)+"' has its layer constraint set to LAST_SEPARATE, but has at least one outgoing edge. LAST_SEPARATE nodes must not have outgoing edges."))}}function EP(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V;if(e.e&&e.c.c<e.f)throw ue(new ic("Expected "+e.f+" phases to be configured; only found "+e.c.c));for(C=l(G0(e.g),9),z=rg(e.f),o=C,g=0,T=o.length;g<T;++g)r=o[g],L=l(wN(e,r.g),188),L?wt(z,l(J1t(e,L),106)):z.c.push(null);for(V=new Js,Os(ji(gc(ji(new vn(null,new kn(z,16)),new Kp),new iQe(t)),new l8),new sQe(V)),Dh(V,e.a),n=new mt,s=C,f=0,w=s.length;f<w;++f)r=s[f],aa(n,O0t(e,BH(l(wN(V,r.g),20)))),F=l(Rt(z,r.g),106),F&&qn(n.c,F);return aa(n,O0t(e,BH(l(wN(V,C[C.length-1].g+1),20)))),n}function EMn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e;for(F=new mt,s=new mt,J=null,g=t.Kc();g.Ob();)f=l(g.Pb(),17),o=new fXe(f.a),qn(s.c,o),J&&(o.d=J,J.e=o),J=o;for(Me=QAn(e),C=0;C<s.c.length;++C){for(z=null,te=V6e((Sn(0,s.c.length),l(s.c[0],661))),n=null,r=gs,L=1;L<e.b.c.length;++L)fe=te?b.Math.abs(te.b-L):b.Math.abs(L-z.b)+1,V=z?b.Math.abs(L-z.b):fe+1,V<fe?(T=z,w=V):(T=te,w=fe),Ee=($e=ze(Ge(Q(e,(Nt(),CDe)))),Me[L]+b.Math.pow(w,$e)),Ee<r&&(r=Ee,n=T,n.c=L),te&&L==te.b&&(z=te,te=Ogn(te));n&&(wt(F,bt(n.c)),n.a=!0,K4n(n))}return Cn(),Hae(F.c,F.c.length,null),F}function Jke(e,t,n){var r,s,o,f,g,w;if(t.l==0&&t.m==0&&t.h==0)throw ue(new Yz("divide by zero"));if(e.l==0&&e.m==0&&e.h==0)return n&&(Hb=qu(0,0,0)),qu(0,0,0);if(t.h==NP&&t.m==0&&t.l==0)return v5n(e,n);if(w=!1,t.h>>19&&(t=TT(t),w=!w),f=oCn(t),o=!1,s=!1,r=!1,e.h==NP&&e.m==0&&e.l==0)if(s=!0,o=!0,f==-1)e=Mnt((aT(),f_e)),r=!0,w=!w;else return g=Y9e(e,f),w&&Nce(g),n&&(Hb=qu(0,0,0)),g;else e.h>>19&&(o=!0,e=TT(e),r=!0,w=!w);return f!=-1?Byn(e,f,w,o,n):Nxe(e,t)<0?(n&&(o?Hb=TT(e):Hb=qu(e.l,e.m,e.h)),qu(0,0,0)):sAn(r?e:qu(e.l,e.m,e.h),t,w,o,s,n)}function Rle(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V;if(f=e.e,w=t.e,f==0)return t;if(w==0)return e;if(o=e.d,g=t.d,o+g==2)return n=xa(e.a[0],Uo),r=xa(t.a[0],Uo),f==w?(C=fo(n,r),V=Yr(C),z=Yr(vb(C,32)),z==0?new tp(f,V):new $m(f,2,he(le(Ur,1),fi,28,15,[V,z]))):(Cd(),Pq(f<0?Df(r,n):Df(n,r),0)?Db(f<0?Df(r,n):Df(n,r)):Z_(Db(f2(f<0?Df(r,n):Df(n,r)))));if(f==w)F=f,L=o>=g?Koe(e.a,o,t.a,g):Koe(t.a,g,e.a,o);else{if(s=o!=g?o>g?1:-1:f8e(e.a,t.a,o),s==0)return Cd(),FL;s==1?(F=f,L=Voe(e.a,o,t.a,g)):(F=w,L=Voe(t.a,g,e.a,o))}return T=new $m(F,L.length,L),sA(T),T}function CMn(e,t){var n,r,s,o,f,g,w;if(!(e.g>t.f||t.g>e.f)){for(n=0,r=0,f=e.w.a.ec().Kc();f.Ob();)s=l(f.Pb(),12),Gce(Bc(he(le(Ca,1),dt,8,0,[s.i.n,s.n,s.a])).b,t.g,t.f)&&++n;for(g=e.r.a.ec().Kc();g.Ob();)s=l(g.Pb(),12),Gce(Bc(he(le(Ca,1),dt,8,0,[s.i.n,s.n,s.a])).b,t.g,t.f)&&--n;for(w=t.w.a.ec().Kc();w.Ob();)s=l(w.Pb(),12),Gce(Bc(he(le(Ca,1),dt,8,0,[s.i.n,s.n,s.a])).b,e.g,e.f)&&++r;for(o=t.r.a.ec().Kc();o.Ob();)s=l(o.Pb(),12),Gce(Bc(he(le(Ca,1),dt,8,0,[s.i.n,s.n,s.a])).b,e.g,e.f)&&--r;n<r?new tU(e,t,r-n):r<n?new tU(t,e,n-r):(new tU(t,e,0),new tU(e,t,0))}}function SMn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee;for(T=t.c,s=Dye(e.e),L=md(q_(Xa(Mye(e.e)),e.d*e.a,e.c*e.b),-.5),n=s.a-L.a,r=s.b-L.b,f=t.a,n=f.c-n,r=f.d-r,w=new K(T);w.a<w.c.c.length;){switch(g=l(re(w),407),F=g.b,z=n+F.a,te=r+F.b,V=da(z/e.a),fe=da(te/e.b),o=g.a,o.g){case 0:C=(mx(),gB);break;case 1:C=(mx(),dB);break;case 2:C=(mx(),pB);break;default:C=(mx(),bB)}o.a?(Ee=da((te+g.c)/e.b),wt(e.f,new P4e(C,bt(fe),bt(Ee))),o==(PA(),vB)?kT(e,0,fe,V,Ee):kT(e,V,fe,e.d-1,Ee)):(J=da((z+g.c)/e.a),wt(e.f,new P4e(C,bt(V),bt(J))),o==(PA(),mB)?kT(e,V,0,J,fe):kT(e,V,fe,J,e.c-1))}}function _Mn(e){var t,n,r,s,o,f,g,w,T,C;for(t=new NI,n=new NI,T=wn(iB,(s=XA(e.b,ui),s?Zr(t1((!s.b&&(s.b=new lh((En(),Do),Qc,s)),s.b),Bf)):null)),w=0;w<e.i;++w)g=l(e.g[w],179),De(g,102)?(f=l(g,19),f.Bb&nu?(!(f.Bb&_d)||!T&&(o=XA(f,ui),(o?Zr(t1((!o.b&&(o.b=new lh((En(),Do),Qc,o)),o.b),WG)):null)==null))&&zr(t,f):(C=jo(f),C&&C.Bb&nu||(!(f.Bb&_d)||!T&&(r=XA(f,ui),(r?Zr(t1((!r.b&&(r.b=new lh((En(),Do),Qc,r)),r.b),WG)):null)==null))&&zr(n,f))):(Ro(),l(g,69).xk()&&(g.sk()||(zr(t,g),zr(n,g))));Py(t),Py(n),e.a=l(t.g,254),l(n.g,254)}function b6(e,t,n){var r,s,o,f,g,w,T,C,L;if(vs(t,n)>=0)return n;switch(Lw(ac(e,n))){case 2:{if(wn("",b2(e,n.qk()).xe())){if(w=QO(ac(e,n)),g=Xk(ac(e,n)),C=Z9e(e,t,w,g),C)return C;for(s=Lke(e,t),f=0,L=s.gc();f<L;++f)if(C=l(s.Xb(f),179),ake(eoe(ac(e,C)),w))return C}return null}case 4:{if(wn("",b2(e,n.qk()).xe())){for(r=n;r;r=jbn(ac(e,r)))if(T=QO(ac(e,r)),g=Xk(ac(e,r)),C=eke(e,t,T,g),C)return C;if(w=QO(ac(e,n)),wn(bv,w))return Rxe(e,t);for(o=yle(e,t),f=0,L=o.gc();f<L;++f)if(C=l(o.Xb(f),179),ake(eoe(ac(e,C)),w))return C}return null}default:return null}}function AMn(e,t,n){var r,s,o,f,g,w,T,C;if(n.gc()==0)return!1;if(g=(Ro(),l(t,69).xk()),o=g?n:new Bw(n.gc()),dp(e.e,t)){if(t.Si())for(T=n.Kc();T.Ob();)w=T.Pb(),KV(e,t,w,De(t,102)&&(l(t,19).Bb&Lo)!=0)||(s=cg(t,w),o.Hc(s)||o.Fc(s));else if(!g)for(T=n.Kc();T.Ob();)w=T.Pb(),s=cg(t,w),o.Fc(s)}else{if(n.gc()>1)throw ue(new Wn(oB));for(C=Wu(e.e.Dh(),t),r=l(e.g,124),f=0;f<e.i;++f)if(s=r[f],C.am(s.Lk())){if(n.Hc(g?s:s.md()))return!1;for(T=n.Kc();T.Ob();)w=T.Pb(),l(i6(e,f,g?l(w,76):cg(t,w)),76);return!0}g||(s=cg(t,n.Kc().Pb()),o.Fc(s))}return Ls(e,o)}function LMn(e,t){var n,r,s,o,f,g,w,T,C;for(C=new os,g=(T=new pi(e.c).a.vc().Kc(),new fs(T));g.a.Ob();)o=(s=l(g.a.Pb(),44),l(s.md(),467)),o.b==0&&_s(C,o,C.c.b,C.c);for(;C.b!=0;)for(o=l(C.b==0?null:(br(C.b!=0),sf(C,C.a.a)),467),o.a==null&&(o.a=0),r=new K(o.d);r.a<r.c.c.length;)n=l(re(r),663),n.b.a==null?n.b.a=ze(o.a)+n.a:t.o==(D1(),_v)?n.b.a=b.Math.min(ze(n.b.a),ze(o.a)+n.a):n.b.a=b.Math.max(ze(n.b.a),ze(o.a)+n.a),--n.b.b,n.b.b==0&&ci(C,n.b);for(f=(w=new pi(e.c).a.vc().Kc(),new fs(w));f.a.Ob();)o=(s=l(f.a.Pb(),44),l(s.md(),467)),t.i[o.c.p]=o.a}function MMn(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V;for(C=n+t.c.c.a,z=new K(t.j);z.a<z.c.c.length;){if(F=l(re(z),12),s=Bc(he(le(Ca,1),dt,8,0,[F.i.n,F.n,F.a])),t.k==(Jn(),Su)&&(g=l(Q(F,(ft(),zi)),12),s.a=Bc(he(le(Ca,1),dt,8,0,[g.i.n,g.n,g.a])).a,t.n.a=s.a),f=new lt(0,s.b),F.j==(_t(),sr))f.a=C;else if(F.j==Zn)f.a=n;else continue;if(V=b.Math.abs(s.a-f.a),!(V<=r&&!x8n(t)))for(o=F.g.c.length+F.e.c.length>1,T=new N1(F.b);Oc(T.a)||Oc(T.b);)w=l(Oc(T.a)?re(T.a):re(T.b),18),L=w.c==F?w.d:w.c,b.Math.abs(Bc(he(le(Ca,1),dt,8,0,[L.i.n,L.n,L.a])).b-f.b)>1&&fSn(e,w,f,o,F)}}function DMn(e){var t,n,r,s,o,f;if(s=new Ua(e.e,0),r=new Ua(e.a,0),e.d)for(n=0;n<e.b;n++)br(s.b<s.d.gc()),s.d.Xb(s.c=s.b++);else for(n=0;n<e.b-1;n++)br(s.b<s.d.gc()),s.d.Xb(s.c=s.b++),fh(s);for(t=ze((br(s.b<s.d.gc()),Ge(s.d.Xb(s.c=s.b++))));e.f-t>Ofe;){for(o=t,f=0;b.Math.abs(t-o)<Ofe;)++f,t=ze((br(s.b<s.d.gc()),Ge(s.d.Xb(s.c=s.b++)))),br(r.b<r.d.gc()),r.d.Xb(r.c=r.b++);f<e.b&&(br(s.b>0),s.a.Xb(s.c=--s.b),GAn(e,e.b-f,o,r,s),br(s.b<s.d.gc()),s.d.Xb(s.c=s.b++)),br(r.b>0),r.a.Xb(r.c=--r.b)}if(!e.d)for(n=0;n<e.b-1;n++)br(s.b<s.d.gc()),s.d.Xb(s.c=s.b++),fh(s);e.d=!0,e.c=!0}function Wi(){Wi=U,uBe=(_3e(),ru).b,PAt=l(Oe(tt(ru.b),0),35),Nv=l(Oe(tt(ru.b),1),35),NAt=l(Oe(tt(ru.b),2),35),l7=ru.bb,l(Oe(tt(ru.bb),0),35),l(Oe(tt(ru.bb),1),35),h7=ru.fb,UM=l(Oe(tt(ru.fb),0),35),l(Oe(tt(ru.fb),1),35),l(Oe(tt(ru.fb),2),19),I3=ru.qb,KAt=l(Oe(tt(ru.qb),0),35),l(Oe(tt(ru.qb),1),19),l(Oe(tt(ru.qb),2),19),EF=l(Oe(tt(ru.qb),3),35),CF=l(Oe(tt(ru.qb),4),35),GM=l(Oe(tt(ru.qb),6),35),VM=l(Oe(tt(ru.qb),5),19),BAt=ru.j,FAt=ru.k,RAt=ru.q,jAt=ru.w,$At=ru.B,zAt=ru.A,qAt=ru.C,HAt=ru.D,UAt=ru._,VAt=ru.cb,GAt=ru.hb}function IMn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z;e.c=0,e.b=0,r=2*t.c.a.c.length+1;e:for(L=n.Kc();L.Ob();){if(C=l(L.Pb(),12),g=C.j==(_t(),Xn)||C.j==Mr,z=0,g){if(F=l(Q(C,(ft(),Bl)),10),!F)continue;z+=t_n(e,r,C,F)}else{for(T=new K(C.g);T.a<T.c.c.length;)if(w=l(re(T),18),s=w.d,s.i.c==t.c){wt(e.a,C);continue e}else z+=e.g[s.p];for(f=new K(C.e);f.a<f.c.c.length;)if(o=l(re(f),18),s=o.c,s.i.c==t.c){wt(e.a,C);continue e}else z-=e.g[s.p]}C.e.c.length+C.g.c.length>0?(e.f[C.p]=z/(C.e.c.length+C.g.c.length),e.c=b.Math.min(e.c,e.f[C.p]),e.b=b.Math.max(e.b,e.f[C.p])):g&&(e.f[C.p]=z)}}function OMn(e){e.b=null,e.bb=null,e.fb=null,e.qb=null,e.a=null,e.c=null,e.d=null,e.e=null,e.f=null,e.n=null,e.M=null,e.L=null,e.Q=null,e.R=null,e.K=null,e.db=null,e.eb=null,e.g=null,e.i=null,e.j=null,e.k=null,e.gb=null,e.o=null,e.p=null,e.q=null,e.r=null,e.$=null,e.ib=null,e.S=null,e.T=null,e.t=null,e.s=null,e.u=null,e.v=null,e.w=null,e.B=null,e.A=null,e.C=null,e.D=null,e.F=null,e.G=null,e.H=null,e.I=null,e.J=null,e.P=null,e.Z=null,e.U=null,e.V=null,e.W=null,e.X=null,e.Y=null,e._=null,e.ab=null,e.cb=null,e.hb=null,e.nb=null,e.lb=null,e.mb=null,e.ob=null,e.pb=null,e.jb=null,e.kb=null,e.N=!1,e.O=!1}function NMn(e,t,n){var r,s,o,f;for(n.Ug("Graph transformation ("+e.a+")",1),f=Nw(t.a),o=new K(t.b);o.a<o.c.c.length;)s=l(re(o),30),aa(f,s.a);if(r=l(Q(t,(Nt(),GMe)),428),r==(TN(),rW))switch(l(Q(t,Rh),88).g){case 2:aA(t,f);break;case 3:DA(t,f);break;case 4:e.a==(pT(),xB)?(DA(t,f),Noe(t,f)):(Noe(t,f),DA(t,f))}else if(e.a==(pT(),xB))switch(l(Q(t,Rh),88).g){case 2:aA(t,f),Noe(t,f);break;case 3:DA(t,f),aA(t,f);break;case 4:aA(t,f),DA(t,f)}else switch(l(Q(t,Rh),88).g){case 2:aA(t,f),Noe(t,f);break;case 3:aA(t,f),DA(t,f);break;case 4:DA(t,f),aA(t,f)}n.Vg()}function PMn(e){var t,n,r,s,o,f,g,w;for(o=new K(e.a.b);o.a<o.c.c.length;)s=l(re(o),86),s.b.c=s.g.c,s.b.d=s.g.d;for(w=new lt(gs,gs),t=new lt(oa,oa),r=new K(e.a.b);r.a<r.c.c.length;)n=l(re(r),86),w.a=b.Math.min(w.a,n.g.c),w.b=b.Math.min(w.b,n.g.d),t.a=b.Math.max(t.a,n.g.c+n.g.b),t.b=b.Math.max(t.b,n.g.d+n.g.a);for(g=CH(e.c).a.nc();g.Ob();)f=l(g.Pb(),42),n=l(f.b,86),w.a=b.Math.min(w.a,n.g.c),w.b=b.Math.min(w.b,n.g.d),t.a=b.Math.max(t.a,n.g.c+n.g.b),t.b=b.Math.max(t.b,n.g.d+n.g.a);e.d=Xq(new lt(w.a,w.b)),e.e=ya(new lt(t.a,t.b),w),e.a.a.c.length=0,e.a.b.c.length=0}function BMn(e){fA();var t,n,r,s,o,f,g;for(g=new bJe,n=new K(e);n.a<n.c.c.length;)t=l(re(n),148),(!g.b||t.c>=g.b.c)&&(g.b=t),(!g.c||t.c<=g.c.c)&&(g.d=g.c,g.c=t),(!g.e||t.d>=g.e.d)&&(g.e=t),(!g.f||t.d<=g.f.d)&&(g.f=t);return r=new uV((xT(),f3)),sN(e,axt,new Ll(he(le(yB,1),jn,382,0,[r]))),f=new uV(l4),sN(e,sxt,new Ll(he(le(yB,1),jn,382,0,[f]))),s=new uV(u4),sN(e,ixt,new Ll(he(le(yB,1),jn,382,0,[s]))),o=new uV(I6),sN(e,rxt,new Ll(he(le(yB,1),jn,382,0,[o]))),ule(r.c,f3),ule(s.c,u4),ule(o.c,I6),ule(f.c,l4),g.a.c.length=0,aa(g.a,r.c),aa(g.a,uf(s.c)),aa(g.a,o.c),aa(g.a,uf(f.c)),g}function FMn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V;for(t.Ug(i4t,1),z=ze(Ge(at(e,(fg(),_4)))),f=ze(Ge(at(e,(z1(),yM)))),g=l(at(e,wM),107),B7e((!e.a&&(e.a=new nt(Li,e,10,11)),e.a)),C=jvt((!e.a&&(e.a=new nt(Li,e,10,11)),e.a),z,f),!e.a&&(e.a=new nt(Li,e,10,11)),T=new K(C);T.a<T.c.c.length;)for(w=l(re(T),186),s=new K(w.a);s.a<s.c.c.length;)r=l(re(s),172),F=new s6e(r.s,r.t,ze(Ge(at(e,yM)))),H7e(F,r),wt(w.d,F);L=Pgt(C,f),V=b.Math.max(L.a,ze(Ge(at(e,vM)))-(g.b+g.c)),o=b.Math.max(L.b,ze(Ge(at(e,JW)))-(g.d+g.a)),n=o-L.b,Vi(e,mM,n),Vi(e,e9,V),Vi(e,tC,o+n),Vi(e,ZW,C),t.Vg()}function RMn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J;for(T=new bd,C=new bd,V=new bd,J=new bd,w=ze(Ge(Q(t,(Nt(),E3)))),o=ze(Ge(Q(t,y0))),g=new K(n);g.a<g.c.c.length;)if(f=l(re(g),10),L=l(Q(f,(ft(),Xc)),64),L==(_t(),Xn))for(C.a.zc(f,C),s=new lr(fr(Ea(f).a.Kc(),new j));Rr(s);)r=l(yr(s),18),sa(T,r.c.i);else if(L==Mr)for(J.a.zc(f,J),s=new lr(fr(Ea(f).a.Kc(),new j));Rr(s);)r=l(yr(s),18),sa(V,r.c.i);T.a.gc()!=0&&(F=new roe(2,o),z=nTe(F,t,T,C,-w-t.c.b),z>0&&(e.a=w+(z-1)*o,t.c.b+=e.a,t.f.b+=e.a)),V.a.gc()!=0&&(F=new roe(1,o),z=nTe(F,t,V,J,t.f.b+w-t.c.b),z>0&&(t.f.b+=w+(z-1)*o))}function Gvt(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e;for(C=ze(Ge(Q(e,(Nt(),T3)))),r=ze(Ge(Q(e,xDe))),F=new DI,rt(F,T3,C+r),T=t,fe=T.d,J=T.c.i,Ee=T.d.i,te=Cye(J.c),Me=Cye(Ee.c),s=new mt,L=te;L<=Me;L++)g=new hp(e),x(g,(Jn(),Aa)),rt(g,(ft(),zi),T),rt(g,Ds,(Pa(),Au)),rt(g,LW,F),z=l(Rt(e.b,L),30),L==te?$y(g,z.a.c.length-n,z):Ha(g,z),$e=ze(Ge(Q(T,M2))),$e<0&&($e=0,rt(T,M2,$e)),g.o.b=$e,V=b.Math.floor($e/2),f=new du,ga(f,(_t(),Zn)),Nc(f,g),f.n.b=V,w=new du,ga(w,sr),Nc(w,g),w.n.b=V,Na(T,f),o=new Dw,mc(o,T),rt(o,lc,null),ho(o,w),Na(o,fe),S8n(g,T,o),qn(s.c,o),T=o;return s}function jle(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me;for(w=l(k2(e,(_t(),Zn)).Kc().Pb(),12).e,z=l(k2(e,sr).Kc().Pb(),12).g,g=w.c.length,Me=I1(l(Rt(e.j,0),12));g-- >0;){for(J=(Sn(0,w.c.length),l(w.c[0],18)),s=(Sn(0,z.c.length),l(z.c[0],18)),Ee=s.d.e,o=bc(Ee,s,0),omn(J,s.d,o),ho(s,null),Na(s,null),V=J.a,t&&ci(V,new xo(Me)),r=Fr(s.a,0);r.b!=r.d.c;)n=l(Pr(r),8),ci(V,new xo(n));for(fe=J.b,F=new K(s.b);F.a<F.c.c.length;)L=l(re(F),72),qn(fe.c,L);if(te=l(Q(J,(Nt(),lc)),75),f=l(Q(s,lc),75),f)for(te||(te=new pl,rt(J,lc,te)),C=Fr(f,0);C.b!=C.d.c;)T=l(Pr(C),8),ci(te,new xo(T))}}function jMn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me;if(J=t.b.c.length,!(J<3)){for(z=We(Ur,fi,28,J,15,1),L=0,C=new K(t.b);C.a<C.c.c.length;)T=l(re(C),30),z[L++]=T.a.c.length;for(F=new Ua(t.b,2),r=1;r<J-1;r++)for(n=(br(F.b<F.d.gc()),l(F.d.Xb(F.c=F.b++),30)),V=new K(n.a),o=0,g=0,w=0;w<z[r+1];w++)if(Me=l(re(V),10),w==z[r+1]-1||m9e(e,Me,r+1,r)){for(f=z[r]-1,m9e(e,Me,r+1,r)&&(f=e.c.e[l(l(l(Rt(e.c.b,Me.p),15).Xb(0),42).a,10).p]);g<=w;){if(Ee=l(Rt(n.a,g),10),!m9e(e,Ee,r+1,r))for(fe=l(Rt(e.c.b,Ee.p),15).Kc();fe.Ob();)te=l(fe.Pb(),42),s=e.c.e[l(te.a,10).p],(s<o||s>f)&&sa(e.b,l(te.b,18));++g}o=f}}}function Zke(e,t){var n;if(t==null||wn(t,cl)||t.length==0&&e.k!=(T2(),n9))return null;switch(e.k.g){case 1:return iV(t,xE)?(Hn(),AE):iV(t,Qfe)?(Hn(),Ub):null;case 2:try{return bt(Oh(t,ao,Ni))}catch(r){if(r=ms(r),De(r,130))return null;throw ue(r)}case 4:try{return qy(t)}catch(r){if(r=ms(r),De(r,130))return null;throw ue(r)}case 3:return t;case 5:return d1t(e),S2t(e,t);case 6:return d1t(e),REn(e,e.a,t);case 7:try{return n=YTn(e),n.cg(t),n}catch(r){if(r=ms(r),De(r,33))return null;throw ue(r)}default:throw ue(new ic("Invalid type set for this layout option."))}}function eTe(e){var t;switch(e.d){case 1:{if(e.Sj())return e.o!=-2;break}case 2:{if(e.Sj())return e.o==-2;break}case 3:case 5:case 4:case 6:case 7:return e.o>-2;default:return!1}switch(t=e.Rj(),e.p){case 0:return t!=null&&Ft(Pt(t))!=O_(e.k,0);case 1:return t!=null&&l(t,222).a!=Yr(e.k)<<24>>24;case 2:return t!=null&&l(t,180).a!=(Yr(e.k)&ta);case 6:return t!=null&&O_(l(t,168).a,e.k);case 5:return t!=null&&l(t,17).a!=Yr(e.k);case 7:return t!=null&&l(t,191).a!=Yr(e.k)<<16>>16;case 3:return t!=null&&ze(Ge(t))!=e.j;case 4:return t!=null&&l(t,161).a!=e.j;default:return t==null?e.n!=null:!Fi(t,e.n)}}function CP(e,t,n){var r,s,o,f;return e.ol()&&e.nl()&&(f=Qae(e,l(n,58)),qe(f)!==qe(n))?(e.xj(t),e.Dj(t,Xlt(e,t,f)),e.al()&&(o=(s=l(n,54),e.ml()?e.kl()?s.Th(e.b,jo(l(Mn(il(e.b),e.Lj()),19)).n,l(Mn(il(e.b),e.Lj()).Hk(),29).kk(),null):s.Th(e.b,vs(s.Dh(),jo(l(Mn(il(e.b),e.Lj()),19))),null,null):s.Th(e.b,-1-e.Lj(),null,null)),!l(f,54).Ph()&&(o=(r=l(f,54),e.ml()?e.kl()?r.Rh(e.b,jo(l(Mn(il(e.b),e.Lj()),19)).n,l(Mn(il(e.b),e.Lj()).Hk(),29).kk(),o):r.Rh(e.b,vs(r.Dh(),jo(l(Mn(il(e.b),e.Lj()),19))),null,o):r.Rh(e.b,-1-e.Lj(),null,o))),o&&o.oj()),ch(e.b)&&e.Jj(e.Ij(9,n,f,t,!1)),f):n}function Kvt(e){var t,n,r,s,o,f,g,w,T,C;for(r=new mt,f=new K(e.e.a);f.a<f.c.c.length;){for(s=l(re(f),125),C=0,s.k.c.length=0,n=new K(t6(s));n.a<n.c.c.length;)t=l(re(n),218),t.f&&(wt(s.k,t),++C);C==1&&qn(r.c,s)}for(o=new K(r);o.a<o.c.c.length;)for(s=l(re(o),125);s.k.c.length==1;){for(T=l(re(new K(s.k)),218),e.b[T.c]=T.g,g=T.d,w=T.e,n=new K(t6(s));n.a<n.c.c.length;)t=l(re(n),218),Fi(t,T)||(t.f?g==t.d||w==t.e?e.b[T.c]-=e.b[t.c]-t.g:e.b[T.c]+=e.b[t.c]-t.g:s==g?t.d==s?e.b[T.c]+=t.g:e.b[T.c]-=t.g:t.d==s?e.b[T.c]-=t.g:e.b[T.c]+=t.g);sl(g.k,T),sl(w.k,T),g==s?s=T.e:s=T.d}}function Wvt(e,t){var n,r,s,o,f,g,w,T,C,L,F,z;if(n=l(Zo(e.b,t),127),w=l(l($i(e.r,t),21),87),w.dc()){n.n.b=0,n.n.c=0;return}for(T=e.u.Hc((Pl(),kp)),f=0,g=w.Kc(),C=null,L=0,F=0;g.Ob();)r=l(g.Pb(),117),s=ze(Ge(r.b.of((Wq(),kK)))),o=r.b.Mf().a,e.A.Hc((gh(),Ov))&&Tmt(e,t),C?(z=F+C.d.c+e.w+r.d.b,f=b.Math.max(f,(A1(),h0(H1),b.Math.abs(L-s)<=H1||L==s||isNaN(L)&&isNaN(s)?0:z/(s-L)))):e.C&&e.C.b>0&&(f=b.Math.max(f,Jft(e.C.b+r.d.b,s))),C=r,L=s,F=o;e.C&&e.C.c>0&&(z=F+e.C.c,T&&(z+=C.d.c),f=b.Math.max(f,(A1(),h0(H1),b.Math.abs(L-1)<=H1||L==1||isNaN(L)&&isNaN(1)?0:z/(1-L)))),n.n.b=0,n.a.a=f}function Yvt(e,t){var n,r,s,o,f,g,w,T,C,L,F,z;if(n=l(Zo(e.b,t),127),w=l(l($i(e.r,t),21),87),w.dc()){n.n.d=0,n.n.a=0;return}for(T=e.u.Hc((Pl(),kp)),f=0,e.A.Hc((gh(),Ov))&&Emt(e,t),g=w.Kc(),C=null,F=0,L=0;g.Ob();)r=l(g.Pb(),117),o=ze(Ge(r.b.of((Wq(),kK)))),s=r.b.Mf().b,C?(z=L+C.d.a+e.w+r.d.d,f=b.Math.max(f,(A1(),h0(H1),b.Math.abs(F-o)<=H1||F==o||isNaN(F)&&isNaN(o)?0:z/(o-F)))):e.C&&e.C.d>0&&(f=b.Math.max(f,Jft(e.C.d+r.d.d,o))),C=r,F=o,L=s;e.C&&e.C.a>0&&(z=L+e.C.a,T&&(z+=C.d.a),f=b.Math.max(f,(A1(),h0(H1),b.Math.abs(F-1)<=H1||F==1||isNaN(F)&&isNaN(1)?0:z/(1-F)))),n.n.d=0,n.a.b=f}function $Mn(e,t,n,r,s,o,f,g){var w,T,C,L,F,z,V,J,te,fe;if(V=!1,T=oke(n.q,t.f+t.b-n.q.f),z=r.f>t.b&&g,fe=s-(n.q.e+T-f),L=(w=eL(r,fe,!1),w.a),z&&L>r.f)return!1;if(z){for(F=0,te=new K(t.d);te.a<te.c.c.length;)J=l(re(te),315),F+=oke(J,r.f)+f;fe=s-F}return fe<r.g||(C=o==e.c.length-1&&fe>=(Sn(o,e.c.length),l(e.c[o],186)).e,!z&&L>t.b&&!C)?!1:((C||z||L<=t.b)&&(C&&L>t.b?(n.d=L,gN(n,Ppt(n,L))):(Zgt(n.q,T),n.c=!0),gN(r,s-(n.s+n.r)),XN(r,n.q.e+n.q.d,t.f),TU(t,r),e.c.length>o&&(ZN((Sn(o,e.c.length),l(e.c[o],186)),r),(Sn(o,e.c.length),l(e.c[o],186)).a.c.length==0&&l2(e,o)),V=!0),V)}function Xvt(e,t,n){var r,s,o,f,g,w;for(this.g=e,g=t.d.length,w=n.d.length,this.d=We(kg,S2,10,g+w,0,1),f=0;f<g;f++)this.d[f]=t.d[f];for(o=0;o<w;o++)this.d[g+o]=n.d[o];if(t.e){if(this.e=HO(t.e),this.e.Mc(n),n.e)for(s=n.e.Kc();s.Ob();)r=l(s.Pb(),239),r!=t&&(this.e.Hc(r)?--r.c:this.e.Fc(r))}else n.e&&(this.e=HO(n.e),this.e.Mc(t));this.f=t.f+n.f,this.a=t.a+n.a,this.a>0?lce(this,this.f/this.a):L1(t.g,t.d[0]).a!=null&&L1(n.g,n.d[0]).a!=null?lce(this,(ze(L1(t.g,t.d[0]).a)+ze(L1(n.g,n.d[0]).a))/2):L1(t.g,t.d[0]).a!=null?lce(this,L1(t.g,t.d[0]).a):L1(n.g,n.d[0]).a!=null&&lce(this,L1(n.g,n.d[0]).a)}function zMn(e,t){var n,r,s,o,f,g,w,T,C,L;for(e.a=new Lat(Tyn(MM)),r=new K(t.a);r.a<r.c.c.length;){for(n=l(re(r),855),g=new hue(he(le(m1e,1),jn,86,0,[])),wt(e.a.a,g),T=new K(n.d);T.a<T.c.c.length;)w=l(re(T),116),C=new Zye(e,w),rTe(C,l(Q(n.c,(ft(),wp)),21)),Hu(e.g,n)||(Ti(e.g,n,new lt(w.c,w.d)),Ti(e.f,n,C)),wt(e.a.b,C),Ooe(g,C);for(f=new K(n.b);f.a<f.c.c.length;)o=l(re(f),602),C=new Zye(e,o.Df()),Ti(e.b,o,new fa(g,C)),rTe(C,l(Q(n.c,(ft(),wp)),21)),o.Bf()&&(L=new uxe(e,o.Bf(),1),rTe(L,l(Q(n.c,wp),21)),s=new hue(he(le(m1e,1),jn,86,0,[])),Ooe(s,L),xn(e.c,o.Af(),new fa(g,L)))}return e.a}function Qvt(e){var t;this.a=e,t=(Jn(),he(le(E1e,1),it,273,0,[Bs,Aa,Ks,Su,uu,K1])).length,this.b=Fm(jge,[dt,CCe],[601,149],0,[t,t],2),this.c=Fm(jge,[dt,CCe],[601,149],0,[t,t],2),yoe(this,Bs,(Nt(),E3),G6),wA(this,Bs,Aa,T3,Sv),JO(this,Bs,Su,T3),JO(this,Bs,Ks,T3),wA(this,Bs,uu,E3,G6),yoe(this,Aa,y0,U6),JO(this,Aa,Su,y0),JO(this,Aa,Ks,y0),wA(this,Aa,uu,T3,Sv),qnt(this,Su,y0),JO(this,Su,Ks,y0),JO(this,Su,uu,kde),qnt(this,Ks,nM),wA(this,Ks,uu,YE,WE),yoe(this,uu,y0,y0),yoe(this,K1,y0,U6),wA(this,K1,Bs,T3,Sv),wA(this,K1,uu,T3,Sv),wA(this,K1,Aa,T3,Sv)}function qMn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te;if(f=n.Lk(),De(f,102)&&l(f,19).Bb&Lo&&(F=l(n.md(),54),J=Lb(e.e,F),J!=F)){if(C=cg(f,J),j_(e,t,que(e,t,C)),L=null,ch(e.e)&&(r=b6((kl(),no),e.e.Dh(),f),r!=Mn(e.e.Dh(),e.c))){for(te=Wu(e.e.Dh(),f),g=0,o=l(e.g,124),w=0;w<t;++w)s=o[w],te.am(s.Lk())&&++g;L=new Foe(e.e,9,r,F,J,g,!1),L.nj(new rp(e.e,9,e.c,n,C,t,!1))}return V=l(f,19),z=jo(V),z?(L=F.Th(e.e,vs(F.Dh(),z),null,L),L=l(J,54).Rh(e.e,vs(J.Dh(),z),null,L)):V.Bb&nu&&(T=-1-vs(e.e.Dh(),V),L=F.Th(e.e,T,null,null),!l(J,54).Ph()&&(L=l(J,54).Rh(e.e,T,null,L))),L&&L.oj(),C}return n}function HMn(e){var t,n,r;for(Z5(am,he(le(D6,1),jn,134,0,[new bz])),n=new Oz(e),r=0;r<n.a.length;++r)t=My(n,r).te().a,wn(t,"layered")?Z5(am,he(le(D6,1),jn,134,0,[new uie])):wn(t,"force")?Z5(am,he(le(D6,1),jn,134,0,[new WS])):wn(t,"stress")?Z5(am,he(le(D6,1),jn,134,0,[new lz])):wn(t,"mrtree")?Z5(am,he(le(D6,1),jn,134,0,[new mie])):wn(t,"radial")?Z5(am,he(le(D6,1),jn,134,0,[new Cf])):wn(t,"disco")?Z5(am,he(le(D6,1),jn,134,0,[new oz,new cz])):wn(t,"sporeOverlap")||wn(t,"sporeCompaction")?Z5(am,he(le(D6,1),jn,134,0,[new Tie])):wn(t,"rectpacking")&&Z5(am,he(le(D6,1),jn,134,0,[new bk]))}function Jvt(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe;if(F=new xo(e.o),fe=t.a/F.a,g=t.b/F.b,J=t.a-F.a,o=t.b-F.b,n)for(s=qe(Q(e,(Nt(),Ds)))===qe((Pa(),Au)),V=new K(e.j);V.a<V.c.c.length;)switch(z=l(re(V),12),z.j.g){case 1:s||(z.n.a*=fe);break;case 2:z.n.a+=J,s||(z.n.b*=g);break;case 3:s||(z.n.a*=fe),z.n.b+=o;break;case 4:s||(z.n.b*=g)}for(T=new K(e.b);T.a<T.c.c.length;)w=l(re(T),72),C=w.n.a+w.o.a/2,L=w.n.b+w.o.b/2,te=C/F.a,f=L/F.b,te+f>=1&&(te-f>0&&L>=0?(w.n.a+=J,w.n.b+=o*f):te-f<0&&C>=0&&(w.n.a+=J*te,w.n.b+=o));e.o.a=t.a,e.o.b=t.b,rt(e,(Nt(),Ev),(gh(),r=l(G0(FM),9),new Jh(r,l(o0(r,r.length),9),0)))}function UMn(e,t,n,r,s,o){var f;if(!(t==null||!rue(t,qPe,HPe)))throw ue(new Wn("invalid scheme: "+t));if(!e&&!(n!=null&&pd(n,ol(35))==-1&&n.length>0&&(Yn(0,n.length),n.charCodeAt(0)!=47)))throw ue(new Wn("invalid opaquePart: "+n));if(e&&!(t!=null&&lO(MY,t.toLowerCase()))&&!(n==null||!rue(n,zM,qM)))throw ue(new Wn(I5t+n));if(e&&t!=null&&lO(MY,t.toLowerCase())&&!Txn(n))throw ue(new Wn(I5t+n));if(!L5n(r))throw ue(new Wn("invalid device: "+r));if(!d4n(s))throw f=s==null?"invalid segments: null":"invalid segment: "+u4n(s),ue(new Wn(f));if(!(o==null||pd(o,ol(35))==-1))throw ue(new Wn("invalid query: "+o))}function VMn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe;if(n.Ug("Network simplex layering",1),e.b=t,fe=l(Q(t,(Nt(),rM)),17).a*4,te=e.b.a,te.c.length<1){n.Vg();return}for(o=H_n(e,te),J=null,s=Fr(o,0);s.b!=s.d.c;){for(r=l(Pr(s),15),g=fe*da(b.Math.sqrt(r.gc())),f=iAn(r),xle(y3e(Vun(x3e(Mae(f),g),J),!0),n.eh(1)),F=e.b.b,V=new K(f.a);V.a<V.c.c.length;){for(z=l(re(V),125);F.c.length<=z.e;)kw(F,F.c.length,new vu(e.b));C=l(z.f,10),Ha(C,l(Rt(F,z.e),30))}if(o.b>1)for(J=We(Ur,fi,28,e.b.b.c.length,15,1),L=0,T=new K(e.b.b);T.a<T.c.c.length;)w=l(re(T),30),J[L++]=w.a.c.length}te.c.length=0,e.a=null,e.b=null,e.c=null,n.Vg()}function GMn(e,t){var n,r,s,o,f,g,w,T,C,L;for(C=new mt,L=new H5,o=null,s=0,r=0;r<t.length;++r)switch(n=t[r],Jyn(o,n)&&(s=$8e(e,L,C,RW,s)),rs(n,(ft(),b3))&&(o=l(Q(n,b3),10)),n.k.g){case 0:for(w=Aye(K8(Fc(n,(_t(),Xn)),new r$));pce(w);)f=l(s7e(w),12),e.d[f.p]=s++,qn(C.c,f);for(s=$8e(e,L,C,RW,s),T=Aye(K8(Fc(n,Mr),new r$));pce(T);)f=l(s7e(T),12),e.d[f.p]=s++,qn(C.c,f);break;case 3:Fc(n,iIe).dc()||(f=l(Fc(n,iIe).Xb(0),12),e.d[f.p]=s++,qn(C.c,f)),Fc(n,RW).dc()||Tb(L,n);break;case 1:for(g=Fc(n,(_t(),Zn)).Kc();g.Ob();)f=l(g.Pb(),12),e.d[f.p]=s++,qn(C.c,f);Fc(n,sr).Jc(new vtt(L,n))}return $8e(e,L,C,RW,s),C}function tTe(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V;if(t==null||t.length==0)return null;if(o=l(wu(e.f,t),23),!o){for(s=(z=new pi(e.d).a.vc().Kc(),new fs(z));s.a.Ob();)if(n=(f=l(s.a.Pb(),44),l(f.md(),23)),g=n.f,V=t.length,wn(g.substr(g.length-V,V),t)&&(t.length==g.length||io(g,g.length-t.length-1)==46)){if(o)return null;o=n}if(!o){for(r=(F=new pi(e.d).a.vc().Kc(),new fs(F));r.a.Ob();)if(n=(f=l(r.a.Pb(),44),l(f.md(),23)),L=n.g,L!=null){for(w=L,T=0,C=w.length;T<C;++T)if(g=w[T],V=t.length,wn(g.substr(g.length-V,V),t)&&(t.length==g.length||io(g,g.length-t.length-1)==46)){if(o)return null;o=n}}}o&&sc(e.f,t,o)}return o}function KMn(e,t){var n,r,s,o,f;for(n=new A5,f=!1,o=0;o<t.length;o++){if(r=(Yn(o,t.length),t.charCodeAt(o)),r==32){for(sV(e,n,0),n.a+=" ",sV(e,n,0);o+1<t.length&&(Yn(o+1,t.length),t.charCodeAt(o+1)==32);)++o;continue}if(f){r==39?o+1<t.length&&(Yn(o+1,t.length),t.charCodeAt(o+1)==39)?(n.a+=String.fromCharCode(r),++o):f=!1:n.a+=String.fromCharCode(r);continue}if(pd("GyMLdkHmsSEcDahKzZv",ol(r))>0){sV(e,n,0),n.a+=String.fromCharCode(r),s=d6n(t,o),sV(e,n,s),o+=s-1;continue}r==39?o+1<t.length&&(Yn(o+1,t.length),t.charCodeAt(o+1)==39)?(n.a+="'",++o):f=!0:n.a+=String.fromCharCode(r)}sV(e,n,0),Vxn(e)}function WMn(e,t,n,r,s){var o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me;for(Me=rst(e),w=new mt,o=e.c.length,T=o-1,C=o+1;Me.a.gc()!=0;){for(;n.b!=0;)fe=(br(n.b!=0),l(sf(n,n.a.a),118)),Me.a.Bc(fe)!=null,fe.g=T--,qke(fe,t,n,r);for(;t.b!=0;)Ee=(br(t.b!=0),l(sf(t,t.a.a),118)),Me.a.Bc(Ee)!=null,Ee.g=C++,qke(Ee,t,n,r);for(g=ao,J=Me.a.ec().Kc();J.Ob();){if(V=l(J.Pb(),118),!r&&V.b>0&&V.a<=0){w.c.length=0,qn(w.c,V);break}z=V.i-V.d,z>=g&&(z>g&&(w.c.length=0,g=z),qn(w.c,V))}w.c.length!=0&&(f=l(Rt(w,dV(s,w.c.length)),118),Me.a.Bc(f)!=null,f.g=C++,qke(f,t,n,r),w.c.length=0)}for(te=e.c.length+1,F=new K(e);F.a<F.c.c.length;)L=l(re(F),118),L.g<o&&(L.g=L.g+te)}function Zvt(e,t,n){var r,s,o,f;this.j=e,this.e=Xxe(e),this.o=this.j.e,this.i=!!this.o,this.p=this.i?l(Rt(n,Ja(this.o).p),219):null,s=l(Q(e,(ft(),_u)),21),this.g=s.Hc((Ho(),mf)),this.b=new mt,this.d=new hdt(this.e),f=l(Q(this.j,Qx),234),this.q=X3n(t,f,this.e),this.k=new tct(this),o=O1(he(le(Mxt,1),jn,230,0,[this,this.d,this.k,this.q])),t==(jw(),jB)&&!Ft(Pt(Q(e,(Nt(),w3))))?(r=new Zxe(this.e),qn(o.c,r),this.c=new y6e(r,f,l(this.q,413))):t==jB&&Ft(Pt(Q(e,(Nt(),w3))))?(r=new Zxe(this.e),qn(o.c,r),this.c=new Gft(r,f,l(this.q,413))):this.c=new mtt(t,this),wt(o,this.c),Bvt(o,this.e),this.s=PIn(this.k)}function YMn(e,t,n,r,s){var o,f,g,w,T,C,L,F,z,V,J,te;for(o=new mt,T=new K(r);T.a<T.c.c.length;)if(g=l(re(T),453),f=null,g.f==(qo(),$u))for(V=new K(g.e);V.a<V.c.c.length;)z=l(re(V),18),te=z.d.i,Ja(te)==t?tft(e,t,g,z,g.b,z.d):!n||vT(te,n)?C9n(e,t,g,r,z):(F=Ple(e,t,n,z,g.b,$u,f),F!=f&&qn(o.c,F),F.c&&(f=F));else for(L=new K(g.e);L.a<L.c.c.length;)if(C=l(re(L),18),J=C.c.i,Ja(J)==t)tft(e,t,g,C,C.c,g.b);else{if(!n||vT(J,n))continue;F=Ple(e,t,n,C,g.b,Fl,f),F!=f&&qn(o.c,F),F.c&&(f=F)}for(w=new K(o);w.a<w.c.c.length;)g=l(re(w),453),bc(t.a,g.a,0)!=-1||wt(t.a,g.a),g.c&&qn(s.c,g)}function ewt(e){var t,n,r,s,o,f,g;for(t=0,o=new K(e.b.a);o.a<o.c.c.length;)r=l(re(o),194),r.b=0,r.c=0;for(Opt(e,0),iue(e,e.g),FV(e.c),b3e(e.c),n=(ea(),hc),yP(Gse(m6(yP(Gse(m6(yP(m6(e.c,n)),G1t(n)))),n))),m6(e.c,hc),Jce(e,e.g),wpt(e,0),Ivt(e,0),dbt(e,1),Opt(e,1),iue(e,e.d),FV(e.c),f=new K(e.b.a);f.a<f.c.c.length;)r=l(re(f),194),t+=b.Math.abs(r.c);for(g=new K(e.b.a);g.a<g.c.c.length;)r=l(re(g),194),r.b=0,r.c=0;for(n=vf,yP(Gse(m6(yP(Gse(m6(yP(b3e(m6(e.c,n))),G1t(n)))),n))),m6(e.c,hc),Jce(e,e.d),wpt(e,1),Ivt(e,1),dbt(e,0),b3e(e.c),s=new K(e.b.a);s.a<s.c.c.length;)r=l(re(s),194),t+=b.Math.abs(r.c);return t}function XMn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te;if(Ft(Pt(Q(n,(Nt(),w4)))))for(g=new K(n.j);g.a<g.c.c.length;)for(f=l(re(g),12),F=kd(f.g),T=F,C=0,L=T.length;C<L;++C)w=T[C],o=w.d.i==n,s=o&&Ft(Pt(Q(w,kv))),s&&(V=w.c,z=l(or(e.b,V),10),z||(z=SP(V,(Pa(),Z1),V.j,-1,null,null,V.o,l(Q(t,Rh),88),t),rt(z,(ft(),zi),V),Ti(e.b,V,z),wt(t.a,z)),te=w.d,J=l(or(e.b,te),10),J||(J=SP(te,(Pa(),Z1),te.j,1,null,null,te.o,l(Q(t,Rh),88),t),rt(J,(ft(),zi),te),Ti(e.b,te,J),wt(t.a,J)),r=qoe(w),ho(r,l(Rt(z.j,0),12)),Na(r,l(Rt(J.j,0),12)),xn(e.a,w,new eH(r,t,(qo(),$u))),l(Q(t,(ft(),_u)),21).Fc((Ho(),mf)))}function QMn(e,t){var n,r,s,o,f,g,w,T,C,L,F;for(s=new K(e.a.b);s.a<s.c.c.length;)for(n=l(re(s),30),w=new K(n.a);w.a<w.c.c.length;)g=l(re(w),10),t.j[g.p]=g,t.i[g.p]=t.o==(D1(),Y1)?oa:gs;for(Dl(e.c),f=e.a.b,t.c==(xd(),O2)&&(f=uf(f)),Zbn(e.e,t,e.b),gO(t.p,null),o=f.Kc();o.Ob();)for(n=l(o.Pb(),30),T=n.a,t.o==(D1(),Y1)&&(T=uf(T)),F=T.Kc();F.Ob();)L=l(F.Pb(),10),t.g[L.p]==L&&Fwt(e,L,t);for(LMn(e,t),r=f.Kc();r.Ob();)for(n=l(r.Pb(),30),F=new K(n.a);F.a<F.c.c.length;)L=l(re(F),10),t.p[L.p]=t.p[t.g[L.p].p],L==t.g[L.p]&&(C=ze(t.i[t.j[L.p].p]),(t.o==(D1(),Y1)&&C>oa||t.o==_v&&C<gs)&&(t.p[L.p]=ze(t.p[L.p])+C));e.e.xg()}function JMn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V;for(n.Ug("Label dummy switching",1),r=l(Q(t,(Nt(),xW)),232),q3n(t),s=DEn(t,r),e.a=We(Oa,tc,28,t.b.c.length,15,1),g=(xx(),he(le(BE,1),it,232,0,[PE,HL,NE,g4,B6,P6])),C=0,z=g.length;C<z;++C)if(o=g[C],(o==B6||o==P6||o==g4)&&!l(ml(s.a,o)?s.b[o.g]:null,15).dc()){K3n(e,t);break}for(w=he(le(BE,1),it,232,0,[PE,HL,NE,g4,B6,P6]),L=0,V=w.length;L<V;++L)o=w[L],o==B6||o==P6||o==g4||$mt(e,l(ml(s.a,o)?s.b[o.g]:null,15));for(f=he(le(BE,1),it,232,0,[PE,HL,NE,g4,B6,P6]),T=0,F=f.length;T<F;++T)o=f[T],(o==B6||o==P6||o==g4)&&$mt(e,l(ml(s.a,o)?s.b[o.g]:null,15));e.a=null,n.Vg()}function twt(e,t){var n,r,s,o,f,g,w,T,C;if(T=t,!(T.b==null||e.b==null)){for(l6(e),tL(e),l6(T),tL(T),n=We(Ur,fi,28,e.b.length+T.b.length,15,1),C=0,r=0,f=0;r<e.b.length&&f<T.b.length;)if(s=e.b[r],o=e.b[r+1],g=T.b[f],w=T.b[f+1],o<g)r+=2;else if(o>=g&&s<=w)g<=s&&o<=w?(n[C++]=s,n[C++]=o,r+=2):g<=s?(n[C++]=s,n[C++]=w,e.b[r]=w+1,f+=2):o<=w?(n[C++]=g,n[C++]=o,r+=2):(n[C++]=g,n[C++]=w,e.b[r]=w+1);else if(w<s)f+=2;else throw ue(new Ic("Token#intersectRanges(): Internal Error: ["+e.b[r]+","+e.b[r+1]+"] & ["+T.b[f]+","+T.b[f+1]+"]"));for(;r<e.b.length;)n[C++]=e.b[r++],n[C++]=e.b[r++];e.b=We(Ur,fi,28,C,15,1),gu(n,0,e.b,0,C)}}function ZMn(e){var t,n,r,s,o,f,g;for(t=new mt,e.g=new mt,e.d=new mt,f=new Xm(new Cr(e.f.b).a);f.b;)o=zw(f),wt(t,l(l(o.md(),42).b,86)),Yg(l(o.ld(),602).Af())?wt(e.d,l(o.md(),42)):wt(e.g,l(o.md(),42));for(iue(e,e.d),iue(e,e.g),e.c=new L2t(e.b),Kun(e.c,(P3e(),J8t)),Jce(e,e.d),Jce(e,e.g),aa(t,e.c.a.b),e.e=new lt(gs,gs),e.a=new lt(oa,oa),r=new K(t);r.a<r.c.c.length;)n=l(re(r),86),e.e.a=b.Math.min(e.e.a,n.g.c),e.e.b=b.Math.min(e.e.b,n.g.d),e.a.a=b.Math.max(e.a.a,n.g.c+n.g.b),e.a.b=b.Math.max(e.a.b,n.g.d+n.g.a);T3e(e.c,new Qv),g=0;do s=ewt(e),++g;while((g<2||s>Fb)&&g<10);T3e(e.c,new X7),ewt(e),$gn(e.c),PMn(e.f)}function eDn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J;for(n=l(Q(e,(Nt(),Ds)),101),f=e.f,o=e.d,g=f.a+o.b+o.c,w=0-o.d-e.c.b,C=f.b+o.d+o.a-e.c.b,T=new mt,L=new mt,s=new K(t);s.a<s.c.c.length;){switch(r=l(re(s),10),n.g){case 1:case 2:case 3:qCn(r);break;case 4:F=l(Q(r,k3),8),z=F?F.a:0,r.n.a=g*ze(Ge(Q(r,(ft(),m3))))-z,RU(r,!0,!1);break;case 5:V=l(Q(r,k3),8),J=V?V.a:0,r.n.a=ze(Ge(Q(r,(ft(),m3))))-J,RU(r,!0,!1),f.a=b.Math.max(f.a,r.n.a+r.o.a/2)}switch(l(Q(r,(ft(),Xc)),64).g){case 1:r.n.b=w,qn(T.c,r);break;case 3:r.n.b=C,qn(L.c,r)}}switch(n.g){case 1:case 2:P1t(T,e),P1t(L,e);break;case 3:B1t(T,e),B1t(L,e)}}function tDn(e,t){var n,r,s,o,f,g,w,T,C,L,F;switch(e.k.g){case 1:if(r=l(Q(e,(ft(),zi)),18),n=l(Q(r,aMe),75),n?Ft(Pt(Q(r,W1)))&&(n=BN(n)):n=new pl,T=l(Q(e,a1),12),T){if(C=Bc(he(le(Ca,1),dt,8,0,[T.i.n,T.n,T.a])),t<=C.a)return C.b;_s(n,C,n.a,n.a.a)}if(L=l(Q(e,$f),12),L){if(F=Bc(he(le(Ca,1),dt,8,0,[L.i.n,L.n,L.a])),F.a<=t)return F.b;_s(n,F,n.c.b,n.c)}if(n.b>=2){for(w=Fr(n,0),f=l(Pr(w),8),g=l(Pr(w),8);g.a<t&&w.b!=w.d.c;)f=g,g=l(Pr(w),8);return f.b+(t-f.a)/(g.a-f.a)*(g.b-f.b)}break;case 3:switch(o=l(Q(l(Rt(e.j,0),12),(ft(),zi)),12),s=o.i,o.j.g){case 1:return s.n.b;case 3:return s.n.b+s.o.b}}return zxe(e).b}function nDn(e){var t,n,r,s,o,f,g,w,T,C,L;for(f=new K(e.d.b);f.a<f.c.c.length;)for(o=l(re(f),30),w=new K(o.a);w.a<w.c.c.length;){if(g=l(re(w),10),Ft(Pt(Q(g,(Nt(),JL))))&&!tT(up(g))){r=l(Ypn(up(g)),18),C=r.c.i,C==g&&(C=r.d.i),L=new fa(C,ya(Xa(g.n),C.n)),Ti(e.b,g,L);continue}s=new Zh(g.n.a-g.d.b,g.n.b-g.d.d,g.o.a+g.d.b+g.d.c,g.o.b+g.d.d+g.d.a),t=Drt(Ret(Bet(Fet(new Qwe,g),s),Axt),e.a),Mrt(wln(kft(new Xwe,he(le(yK,1),jn,60,0,[t])),t),e.a),T=new Xie,Ti(e.e,t,T),n=ep(new lr(fr(Ea(g).a.Kc(),new j)))-ep(new lr(fr(qs(g).a.Kc(),new j))),n<0?NN(T,!0,(ea(),hc)):n>0&&NN(T,!0,(ea(),yc)),g.k==(Jn(),Ks)&&Rat(T),Ti(e.f,g,t)}}function rDn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e;for(s=l(Q(e,(Zi(),pM)),27),T=Ni,C=Ni,g=ao,w=ao,Me=Fr(e.b,0);Me.b!=Me.d.c;)fe=l(Pr(Me),40),z=fe.e,V=fe.f,T=b.Math.min(T,z.a-V.a/2),C=b.Math.min(C,z.b-V.b/2),g=b.Math.max(g,z.a+V.a/2),w=b.Math.max(w,z.b+V.b/2);for(F=l(at(s,(Vc(),IIe)),107),Ee=Fr(e.b,0);Ee.b!=Ee.d.c;)fe=l(Pr(Ee),40),L=Q(fe,pM),De(L,207)&&(o=l(L,27),Xh(o,fe.e.a,fe.e.b),gP(o,fe));for(te=Fr(e.a,0);te.b!=te.d.c;)J=l(Pr(te),65),r=l(Q(J,pM),74),r&&(t=J.a,n=f6(r,!0,!0),xP(t,n));$e=g-T+(F.b+F.c),f=w-C+(F.d+F.a),Ft(Pt(at(s,(bi(),A4))))||Zw(s,$e,f,!1,!1),Vi(s,r7,$e-(F.b+F.c)),Vi(s,n7,f-(F.d+F.a))}function nwt(e,t){var n,r,s,o,f,g,w,T,C,L;for(w=!0,s=0,T=e.g[t.p],C=t.o.b+e.o,n=e.d[t.p][2],nf(e.b,T,bt(l(Rt(e.b,T),17).a-1+n)),nf(e.c,T,ze(Ge(Rt(e.c,T)))-C+n*e.f),++T,T>=e.j?(++e.j,wt(e.b,bt(1)),wt(e.c,C)):(r=e.d[t.p][1],nf(e.b,T,bt(l(Rt(e.b,T),17).a+1-r)),nf(e.c,T,ze(Ge(Rt(e.c,T)))+C-r*e.f)),(e.r==(Nf(),BB)&&(l(Rt(e.b,T),17).a>e.k||l(Rt(e.b,T-1),17).a>e.k)||e.r==FB&&(ze(Ge(Rt(e.c,T)))>e.n||ze(Ge(Rt(e.c,T-1)))>e.n))&&(w=!1),f=new lr(fr(Ea(t).a.Kc(),new j));Rr(f);)o=l(yr(f),18),g=o.c.i,e.g[g.p]==T&&(L=nwt(e,g),s=s+l(L.a,17).a,w=w&&Ft(Pt(L.b)));return e.g[t.p]=T,s=s+e.d[t.p][0],new fa(bt(s),(Hn(),!!w))}function rwt(e,t){var n,r,s,o,f;n=ze(Ge(Q(t,(Nt(),y0)))),n<2&&rt(t,y0,2),r=l(Q(t,Rh),88),r==(ea(),J1)&&rt(t,Rh,WU(t)),s=l(Q(t,yTt),17),s.a==0?rt(t,(ft(),Qx),new sue):rt(t,(ft(),Qx),new QH(s.a)),o=Pt(Q(t,eM)),o==null&&rt(t,eM,(Hn(),qe(Q(t,yp))===qe((cp(),aC)))),Os(new vn(null,new kn(t.a,16)),new Qp(e)),Os(Pc(new vn(null,new kn(t.b,16)),new h5),new r_(e)),f=new Qvt(t),rt(t,(ft(),q6),f),XO(e.a),Y0(e.a,(so(),w0),l(Q(t,xv),188)),Y0(e.a,xg,l(Q(t,Tv),188)),Y0(e.a,pu,l(Q(t,ZL),188)),Y0(e.a,Cu,l(Q(t,_W),188)),Y0(e.a,wc,ryn(l(Q(t,yp),223))),_ye(e.a,JIn(t)),rt(t,ode,EP(e.a,t))}function nTe(e,t,n,r,s){var o,f,g,w,T,C,L,F,z,V,J,te,fe;for(L=new Nr,f=new mt,n2t(e,n,e.d.Ag(),f,L),n2t(e,r,e.d.Bg(),f,L),e.b=.2*(J=obt(Pc(new vn(null,new kn(f,16)),new Rte)),te=obt(Pc(new vn(null,new kn(f,16)),new jte)),b.Math.min(J,te)),o=0,g=0;g<f.c.length-1;g++)for(w=(Sn(g,f.c.length),l(f.c[g],118)),V=g+1;V<f.c.length;V++)o+=Yke(e,w,(Sn(V,f.c.length),l(f.c[V],118)));for(F=l(Q(t,(ft(),Qx)),234),o>=2&&(fe=Sbt(f,!0,F),!e.e&&(e.e=new PXe(e)),u6n(e.e,fe,f,e.b)),upt(f,F),uDn(f),z=-1,C=new K(f);C.a<C.c.c.length;)T=l(re(C),118),!(b.Math.abs(T.s-T.c)<Dd)&&(z=b.Math.max(z,T.o),e.d.yg(T,s,e.c));return e.d.a.a.$b(),z+1}function iDn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e;for(L=l(qq((f=Fr(new Kg(t).a.d,0),new _5(f))),40),V=L?l(Q(L,(Zi(),Jde)),40):null,s=1;L&&V;){for(w=0,$e=0,n=L,r=V,g=0;g<s;g++)n=Goe(n),r=Goe(r),$e+=ze(Ge(Q(n,(Zi(),eC)))),w+=ze(Ge(Q(r,eC)));if(Me=ze(Ge(Q(V,(Zi(),N2)))),Ee=ze(Ge(Q(L,N2))),F=O8e(e,L,V),z=Me+w+e.b+F-Ee-$e,0<z){for(T=t,C=0;T&&T!=r;)++C,T=l(Q(T,HW),40);if(T)for(fe=z/C,T=t;T!=r;)te=ze(Ge(Q(T,N2)))+z,rt(T,N2,te),J=ze(Ge(Q(T,eC)))+z,rt(T,eC,J),z-=fe,T=l(Q(T,HW),40);else return}++s,L.d.b==0?L=Nke(new Kg(t),s):L=l(qq((o=Fr(new Kg(L).a.d,0),new _5(o))),40),V=L?l(Q(L,Jde),40):null}}function sDn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot;return F=e.c[t],z=e.c[n],V=l(Q(F,(ft(),Yx)),15),!!V&&V.gc()!=0&&V.Hc(z)||(J=F.k!=(Jn(),Aa)&&z.k!=Aa,te=l(Q(F,b3),10),fe=l(Q(z,b3),10),Ee=te!=fe,Me=!!te&&te!=F||!!fe&&fe!=z,$e=_ue(F,(_t(),Xn)),Je=_ue(z,Mr),Me=Me|(_ue(F,Mr)||_ue(z,Xn)),ot=Me&&Ee||$e||Je,J&&ot)||F.k==(Jn(),Su)&&z.k==Bs||z.k==(Jn(),Su)&&F.k==Bs?!1:(C=e.c[t],o=e.c[n],s=Wgt(e.e,C,o,(_t(),Zn)),w=Wgt(e.i,C,o,sr),PCn(e.f,C,o),T=c1t(e.b,C,o)+l(s.a,17).a+l(w.a,17).a+e.f.d,g=c1t(e.b,o,C)+l(s.b,17).a+l(w.b,17).a+e.f.b,e.a&&(L=l(Q(C,zi),12),f=l(Q(o,zi),12),r=Lgt(e.g,L,f),T+=l(r.a,17).a,g+=l(r.b,17).a),T>g)}function iwt(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee;for(T=gs,C=gs,g=oa,w=oa,F=new K(t.i);F.a<F.c.c.length;)L=l(re(F),68),s=l(l(or(e.g,L.a),42).b,27),Xh(s,L.b.c,L.b.d),T=b.Math.min(T,s.i),C=b.Math.min(C,s.j),g=b.Math.max(g,s.i+s.g),w=b.Math.max(w,s.j+s.f);for(z=l(at(e.c,(rP(),_St)),107),Zw(e.c,g-T+(z.b+z.c),w-C+(z.d+z.a),!0,!0),o9e(e.c,-T+z.b,-C+z.d),r=new ar(hot(e.c));r.e!=r.i.gc();)n=l(dr(r),74),f=f6(n,!0,!0),V=hg(n),te=Ib(n),J=new lt(V.i+V.g/2,V.j+V.f/2),o=new lt(te.i+te.g/2,te.j+te.f/2),fe=ya(new lt(o.a,o.b),J),$T(fe,V.g,V.f),Pi(J,fe),Ee=ya(new lt(J.a,J.b),o),$T(Ee,te.g,te.f),Pi(o,Ee),MO(f,J.a,J.b),LO(f,o.a,o.b)}function aDn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V;for(t.Ug("Label dummy removal",1),r=ze(Ge(Q(e,(Nt(),V6)))),s=ze(Ge(Q(e,T4))),T=l(Q(e,Rh),88),w=new K(e.b);w.a<w.c.c.length;)for(g=l(re(w),30),L=new Ua(g.a,0);L.b<L.d.gc();)C=(br(L.b<L.d.gc()),l(L.d.Xb(L.c=L.b++),10)),C.k==(Jn(),uu)&&(F=l(Q(C,(ft(),zi)),18),V=ze(Ge(Q(F,M2))),f=qe(Q(C,Xx))===qe((Ih(),tm)),n=new xo(C.n),f&&(n.b+=V+r),o=new lt(C.o.a,C.o.b+(C.k==uu&&!Lk(ji(l(Q(C,YL),15).Oc(),new Vl(new bj))).Bd((Bm(),qx))?0:-V-r)),z=l(Q(C,YL),15),T==(ea(),vf)||T==Q1?fEn(z,n,s,o,f,T):y4n(z,n,s,o),aa(F.b,z),jle(C,qe(Q(e,yp))===qe((cp(),aF))),fh(L));t.Vg()}function oDn(e){e.q||(e.q=!0,e.p=Uc(e,0),e.a=Uc(e,1),ss(e.a,0),e.f=Uc(e,2),ss(e.f,1),As(e.f,2),e.n=Uc(e,3),As(e.n,3),As(e.n,4),As(e.n,5),As(e.n,6),e.g=Uc(e,4),ss(e.g,7),As(e.g,8),e.c=Uc(e,5),ss(e.c,7),ss(e.c,8),e.i=Uc(e,6),ss(e.i,9),ss(e.i,10),ss(e.i,11),ss(e.i,12),As(e.i,13),e.j=Uc(e,7),ss(e.j,9),e.d=Uc(e,8),ss(e.d,3),ss(e.d,4),ss(e.d,5),ss(e.d,6),As(e.d,7),As(e.d,8),As(e.d,9),As(e.d,10),e.b=Uc(e,9),As(e.b,0),As(e.b,1),e.e=Uc(e,10),As(e.e,1),As(e.e,2),As(e.e,3),As(e.e,4),ss(e.e,5),ss(e.e,6),ss(e.e,7),ss(e.e,8),ss(e.e,9),ss(e.e,10),As(e.e,11),e.k=Uc(e,11),As(e.k,0),As(e.k,1),e.o=Ci(e,12),e.s=Ci(e,13))}function rTe(e,t){t.dc()&&ig(e.j,!0,!0,!0,!0),Fi(t,(_t(),S0))&&ig(e.j,!0,!0,!0,!1),Fi(t,wf)&&ig(e.j,!1,!0,!0,!0),Fi(t,$h)&&ig(e.j,!0,!0,!1,!0),Fi(t,Hf)&&ig(e.j,!0,!1,!0,!0),Fi(t,Rl)&&ig(e.j,!1,!0,!0,!1),Fi(t,yf)&&ig(e.j,!1,!0,!1,!0),Fi(t,zh)&&ig(e.j,!0,!1,!1,!0),Fi(t,_0)&&ig(e.j,!0,!1,!0,!1),Fi(t,ll)&&ig(e.j,!0,!0,!0,!0),Fi(t,Ju)&&ig(e.j,!0,!0,!0,!0),Fi(t,ll)&&ig(e.j,!0,!0,!0,!0),Fi(t,ul)&&ig(e.j,!0,!0,!0,!0),Fi(t,hl)&&ig(e.j,!0,!0,!0,!0),Fi(t,jl)&&ig(e.j,!0,!0,!0,!0),Fi(t,Lu)&&ig(e.j,!0,!0,!0,!0)}function swt(e,t,n){var r,s,o,f,g,w,T,C,L;if(e.a!=t.jk())throw ue(new Wn(kE+t.xe()+c3));if(r=b2((kl(),no),t).Jl(),r)return r.jk().wi().ri(r,n);if(f=b2(no,t).Ll(),f){if(n==null)return null;if(g=l(n,15),g.dc())return"";for(L=new e2,o=g.Kc();o.Ob();)s=o.Pb(),Jo(L,f.jk().wi().ri(f,s)),L.a+=" ";return aae(L,L.a.length-1)}if(C=b2(no,t).Ml(),!C.dc()){for(T=C.Kc();T.Ob();)if(w=l(T.Pb(),156),w.fk(n))try{if(L=w.jk().wi().ri(w,n),L!=null)return L}catch(F){if(F=ms(F),!De(F,103))throw ue(F)}throw ue(new Wn("Invalid value: '"+n+"' for datatype :"+t.xe()))}return l(t,847).ok(),n==null?null:De(n,180)?""+l(n,180).a:dh(n)==pK?trt($M[0],l(n,206)):Tc(n)}function cDn(e){var t,n,r,s,o,f,g,w,T,C;for(T=new os,g=new os,o=new K(e);o.a<o.c.c.length;)r=l(re(o),131),r.v=0,r.n=r.i.c.length,r.u=r.t.c.length,r.n==0&&_s(T,r,T.c.b,T.c),r.u==0&&r.r.a.gc()==0&&_s(g,r,g.c.b,g.c);for(f=-1;T.b!=0;)for(r=l(Bue(T,0),131),n=new K(r.t);n.a<n.c.c.length;)t=l(re(n),274),C=t.b,C.v=b.Math.max(C.v,r.v+1),f=b.Math.max(f,C.v),--C.n,C.n==0&&_s(T,C,T.c.b,T.c);if(f>-1){for(s=Fr(g,0);s.b!=s.d.c;)r=l(Pr(s),131),r.v=f;for(;g.b!=0;)for(r=l(Bue(g,0),131),n=new K(r.i);n.a<n.c.c.length;)t=l(re(n),274),w=t.a,w.r.a.gc()==0&&(w.v=b.Math.min(w.v,r.v-1),--w.u,w.u==0&&_s(g,w,g.c.b,g.c))}}function uDn(e){var t,n,r,s,o,f,g,w,T,C;for(T=new mt,g=new mt,f=new K(e);f.a<f.c.c.length;)s=l(re(f),118),H(s,s.f.c.length),q(s,s.k.c.length),s.d==0&&qn(T.c,s),s.i==0&&s.e.b==0&&qn(g.c,s);for(r=-1;T.c.length!=0;)for(s=l(l2(T,0),118),n=new K(s.k);n.a<n.c.c.length;)t=l(re(n),132),C=t.b,Y(C,b.Math.max(C.o,s.o+1)),r=b.Math.max(r,C.o),H(C,C.d-1),C.d==0&&qn(T.c,C);if(r>-1){for(o=new K(g);o.a<o.c.c.length;)s=l(re(o),118),s.o=r;for(;g.c.length!=0;)for(s=l(l2(g,0),118),n=new K(s.f);n.a<n.c.c.length;)t=l(re(n),132),w=t.a,!(w.e.b>0)&&(Y(w,b.Math.min(w.o,s.o-1)),q(w,w.i-1),w.i==0&&qn(g.c,w))}}function awt(e,t,n,r,s){var o,f,g,w;return w=gs,f=!1,g=Kke(e,ya(new lt(t.a,t.b),e),Pi(new lt(n.a,n.b),s),ya(new lt(r.a,r.b),n)),o=!!g&&!(b.Math.abs(g.a-e.a)<=a3&&b.Math.abs(g.b-e.b)<=a3||b.Math.abs(g.a-t.a)<=a3&&b.Math.abs(g.b-t.b)<=a3),g=Kke(e,ya(new lt(t.a,t.b),e),n,s),g&&((b.Math.abs(g.a-e.a)<=a3&&b.Math.abs(g.b-e.b)<=a3)==(b.Math.abs(g.a-t.a)<=a3&&b.Math.abs(g.b-t.b)<=a3)||o?w=b.Math.min(w,tA(ya(g,n))):f=!0),g=Kke(e,ya(new lt(t.a,t.b),e),r,s),g&&(f||(b.Math.abs(g.a-e.a)<=a3&&b.Math.abs(g.b-e.b)<=a3)==(b.Math.abs(g.a-t.a)<=a3&&b.Math.abs(g.b-t.b)<=a3)||o)&&(w=b.Math.min(w,tA(ya(g,r)))),w}function owt(e){fw(e,new iv(Jz(uw(aw(cw(ow(new x1,jb),iyt),"Minimizes the stress within a layout using stress majorization. Stress exists if the euclidean distance between a pair of nodes doesn't match their graph theoretic distance, that is, the shortest path between the two nodes. The method allows to specify individual edge lengths."),new y1),Yu))),pt(e,jb,fL,It(AAe)),pt(e,jb,pG,(Hn(),!0)),pt(e,jb,T6,It(H8t)),pt(e,jb,Bx,It(U8t)),pt(e,jb,Px,It(V8t)),pt(e,jb,gE,It(q8t)),pt(e,jb,dL,It(MAe)),pt(e,jb,pE,It(G8t)),pt(e,jb,ZTe,It(_Ae)),pt(e,jb,tEe,It(CAe)),pt(e,jb,nEe,It(SAe)),pt(e,jb,rEe,It(LAe)),pt(e,jb,eEe,It(DK))}function lDn(e){var t,n,r,s,o,f,g,w;for(t=null,r=new K(e);r.a<r.c.c.length;)n=l(re(r),239),ze(L1(n.g,n.d[0]).a),n.b=null,n.e&&n.e.gc()>0&&n.c==0&&(!t&&(t=new mt),qn(t.c,n));if(t)for(;t.c.length!=0;){if(n=l(l2(t,0),239),n.b&&n.b.c.length>0){for(o=(!n.b&&(n.b=new mt),new K(n.b));o.a<o.c.c.length;)if(s=l(re(o),239),iO(L1(s.g,s.d[0]).a)==iO(L1(n.g,n.d[0]).a)){if(bc(e,s,0)>bc(e,n,0))return new fa(s,n)}else if(ze(L1(s.g,s.d[0]).a)>ze(L1(n.g,n.d[0]).a))return new fa(s,n)}for(g=(!n.e&&(n.e=new mt),n.e).Kc();g.Ob();)f=l(g.Pb(),239),w=(!f.b&&(f.b=new mt),f.b),Sy(0,w.c.length),k_(w.c,0,n),f.c==w.c.length&&qn(t.c,f)}return null}function hDn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe;for(t.Ug("Interactive crossing minimization",1),f=0,o=new K(e.b);o.a<o.c.c.length;)r=l(re(o),30),r.p=f++;for(F=Xxe(e),te=new C3e(F.length),Bvt(new Ll(he(le(Mxt,1),jn,230,0,[te])),F),J=0,f=0,s=new K(e.b);s.a<s.c.c.length;){for(r=l(re(s),30),n=0,L=0,C=new K(r.a);C.a<C.c.c.length;)for(w=l(re(C),10),w.n.a>0&&(n+=w.n.a+w.o.a/2,++L),V=new K(w.j);V.a<V.c.c.length;)z=l(re(V),12),z.p=J++;for(L>0&&(n/=L),fe=We(Oa,tc,28,r.a.c.length,15,1),g=0,T=new K(r.a);T.a<T.c.c.length;)w=l(re(T),10),w.p=g++,fe[w.p]=tDn(w,n),w.k==(Jn(),Aa)&&rt(w,(ft(),oMe),fe[w.p]);Cn(),Gs(r.a,new dXe(fe)),qmt(te,F,f,!0),++f}t.Vg()}function rL(e,t){var n,r,s,o,f,g,w,T,C;if(t.e==5){twt(e,t);return}if(T=t,!(T.b==null||e.b==null)){for(l6(e),tL(e),l6(T),tL(T),n=We(Ur,fi,28,e.b.length+T.b.length,15,1),C=0,r=0,f=0;r<e.b.length&&f<T.b.length;)if(s=e.b[r],o=e.b[r+1],g=T.b[f],w=T.b[f+1],o<g)n[C++]=e.b[r++],n[C++]=e.b[r++];else if(o>=g&&s<=w)g<=s&&o<=w?r+=2:g<=s?(e.b[r]=w+1,f+=2):o<=w?(n[C++]=s,n[C++]=g-1,r+=2):(n[C++]=s,n[C++]=g-1,e.b[r]=w+1,f+=2);else if(w<s)f+=2;else throw ue(new Ic("Token#subtractRanges(): Internal Error: ["+e.b[r]+","+e.b[r+1]+"] - ["+T.b[f]+","+T.b[f+1]+"]"));for(;r<e.b.length;)n[C++]=e.b[r++],n[C++]=e.b[r++];e.b=We(Ur,fi,28,C,15,1),gu(n,0,e.b,0,C)}}function cwt(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me;for(g=f6(t,!1,!1),fe=sP(g),r&&(fe=BN(fe)),Me=ze(Ge(at(t,(OA(),c1e)))),te=(br(fe.b!=0),l(fe.a.a.c,8)),L=l(hf(fe,1),8),fe.b>2?(C=new mt,aa(C,new c2(fe,1,fe.b)),o=Wwt(C,Me+e.a),Ee=new ale(o),mc(Ee,t),qn(n.c,Ee)):r?Ee=l(or(e.b,hg(t)),272):Ee=l(or(e.b,Ib(t)),272),w=hg(t),r&&(w=Ib(t)),f=lkn(te,w),T=Me+e.a,f.a?(T+=b.Math.abs(te.b-L.b),J=new lt(L.a,(L.b+te.b)/2)):(T+=b.Math.abs(te.a-L.a),J=new lt((L.a+te.a)/2,L.b)),r?Ti(e.d,t,new yxe(Ee,f,J,T)):Ti(e.c,t,new yxe(Ee,f,J,T)),Ti(e.b,t,Ee),V=(!t.n&&(t.n=new nt(nc,t,1,7)),t.n),z=new ar(V);z.e!=z.i.gc();)F=l(dr(z),135),s=mP(e,F,!0,0,0),qn(n.c,s)}function fDn(e){var t,n,r,s,o,f,g;if(!e.A.dc()){if(e.A.Hc((gh(),fF))&&(l(Zo(e.b,(_t(),Xn)),127).k=!0,l(Zo(e.b,Mr),127).k=!0,t=e.q!=(Pa(),_g)&&e.q!=Au,Nz(l(Zo(e.b,sr),127),t),Nz(l(Zo(e.b,Zn),127),t),Nz(e.g,t),e.A.Hc(Ov)&&(l(Zo(e.b,Xn),127).j=!0,l(Zo(e.b,Mr),127).j=!0,l(Zo(e.b,sr),127).k=!0,l(Zo(e.b,Zn),127).k=!0,e.g.k=!0)),e.A.Hc(hF))for(e.a.j=!0,e.a.k=!0,e.g.j=!0,e.g.k=!0,g=e.B.Hc((Xl(),RM)),s=gue(),o=0,f=s.length;o<f;++o)r=s[o],n=l(Zo(e.i,r),314),n&&(ixe(r)?(n.j=!0,n.k=!0):(n.j=!g,n.k=!g));e.A.Hc(D4)&&e.B.Hc((Xl(),gF))&&(e.g.j=!0,e.g.j=!0,e.a.j||(e.a.j=!0,e.a.k=!0,e.a.e=!0))}}function dDn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe;for(r=new K(e.e.b);r.a<r.c.c.length;)for(n=l(re(r),30),o=new K(n.a);o.a<o.c.c.length;)if(s=l(re(o),10),z=e.i[s.p],T=z.a.e,w=z.d.e,s.n.b=T,fe=w-T-s.o.b,t=Nle(s),F=(jy(),(s.q?s.q:(Cn(),Cn(),yg))._b((Nt(),x3))?L=l(Q(s,x3),203):L=l(Q(Ja(s),tM),203),L),t&&(F==W6||F==K6)&&(s.o.b+=fe),t&&(F==Mde||F==W6||F==K6)){for(J=new K(s.j);J.a<J.c.c.length;)V=l(re(J),12),(_t(),Ju).Hc(V.j)&&(C=l(or(e.k,V),125),V.n.b=C.e-T);for(g=new K(s.b);g.a<g.c.c.length;)f=l(re(g),72),te=l(Q(s,y3),21),te.Hc((Vy(),qf))?f.n.b+=fe:te.Hc(Sg)&&(f.n.b+=fe/2);(F==W6||F==K6)&&Fc(s,(_t(),Mr)).Jc(new LXe(fe))}}function gDn(e,t,n){var r,s,o,f,g,w,T,C,L,F;for(T=new mt,w=new K(t.a);w.a<w.c.c.length;)for(f=l(re(w),10),F=Fc(f,(_t(),sr)).Kc();F.Ob();)for(L=l(F.Pb(),12),s=new K(L.g);s.a<s.c.c.length;)r=l(re(s),18),!(!Ao(r)&&r.c.i.c==r.d.i.c||Ao(r)||r.d.i.c!=n)&&qn(T.c,r);for(g=uf(n.a).Kc();g.Ob();)for(f=l(g.Pb(),10),F=Fc(f,(_t(),Zn)).Kc();F.Ob();)for(L=l(F.Pb(),12),s=new K(L.e);s.a<s.c.c.length;)if(r=l(re(s),18),!(!Ao(r)&&r.c.i.c==r.d.i.c||Ao(r)||r.c.i.c!=t)&&T.c.length!=0){for(C=new Ua(T,T.c.length),o=(br(C.b>0),l(C.a.Xb(C.c=--C.b),18));o!=r&&C.b>0;)e.a[o.p]=!0,e.a[r.p]=!0,o=(br(C.b>0),l(C.a.Xb(C.c=--C.b),18));C.b>0&&fh(C)}}function uwt(e,t,n){var r,s,o,f,g,w,T,C,L,F,z;if(!e.b)return!1;for(f=null,F=null,w=new Xoe(null,null),s=1,w.a[1]=e.b,L=w;L.a[s];)T=s,g=F,F=L,L=L.a[s],r=e.a.Ne(t,L.d),s=r<0?0:1,r==0&&(!n.c||eu(L.e,n.d))&&(f=L),!(L&&L.b)&&!ly(L.a[s])&&(ly(L.a[1-s])?F=F.a[T]=MU(L,s):ly(L.a[1-s])||(z=F.a[1-T],z&&(!ly(z.a[1-T])&&!ly(z.a[T])?(F.b=!1,z.b=!0,L.b=!0):(o=g.a[1]==F?1:0,ly(z.a[T])?g.a[o]=jct(F,T):ly(z.a[1-T])&&(g.a[o]=MU(F,T)),L.b=g.a[o].b=!0,g.a[o].a[0].b=!1,g.a[o].a[1].b=!1))));return f&&(n.b=!0,n.d=f.e,L!=f&&(C=new Xoe(L.d,L.e),p9n(e,w,f,C),F==f&&(F=C)),F.a[F.a[1]==L?1:0]=L.a[L.a[0]?0:1],--e.c),e.b=w.a[1],e.b&&(e.b.b=!1),n.b}function pDn(e){var t,n,r,s,o,f,g,w,T,C,L,F;for(s=new K(e.a.a.b);s.a<s.c.c.length;)for(r=l(re(s),60),w=r.c.Kc();w.Ob();)g=l(w.Pb(),60),r.a!=g.a&&(Yg(e.a.d)?L=e.a.g.ff(r,g):L=e.a.g.gf(r,g),o=r.b.a+r.d.b+L-g.b.a,o=b.Math.ceil(o),o=b.Math.max(0,o),a7e(r,g)?(f=vw(new Nm,e.d),T=da(b.Math.ceil(g.b.a-r.b.a)),t=T-(g.b.a-r.b.a),C=sx(r).a,n=r,C||(C=sx(g).a,t=-t,n=g),C&&(n.b.a-=t,C.n.a-=t),g0(i0(r0(s0(n0(new _f,b.Math.max(0,T)),1),f),e.c[r.a.d])),g0(i0(r0(s0(n0(new _f,b.Math.max(0,-T)),1),f),e.c[g.a.d]))):(F=1,(De(r.g,154)&&De(g.g,10)||De(g.g,154)&&De(r.g,10))&&(F=2),g0(i0(r0(s0(n0(new _f,da(o)),F),e.c[r.a.d]),e.c[g.a.d]))))}function lwt(e,t,n){var r,s,o,f,g,w,T,C,L,F;if(n)for(r=-1,C=new Ua(t,0);C.b<C.d.gc();){if(g=(br(C.b<C.d.gc()),l(C.d.Xb(C.c=C.b++),10)),L=e.c[g.c.p][g.p].a,L==null){for(f=r+1,o=new Ua(t,C.b);o.b<o.d.gc();)if(F=zhn(e,(br(o.b<o.d.gc()),l(o.d.Xb(o.c=o.b++),10))).a,F!=null){f=(tr(F),F);break}L=(r+f)/2,e.c[g.c.p][g.p].a=L,e.c[g.c.p][g.p].d=(tr(L),L),e.c[g.c.p][g.p].b=1}r=(tr(L),L)}else{for(s=0,T=new K(t);T.a<T.c.c.length;)g=l(re(T),10),e.c[g.c.p][g.p].a!=null&&(s=b.Math.max(s,ze(e.c[g.c.p][g.p].a)));for(s+=2,w=new K(t);w.a<w.c.c.length;)g=l(re(w),10),e.c[g.c.p][g.p].a==null&&(L=Yl(e.i,24)*RP*s-1,e.c[g.c.p][g.p].a=L,e.c[g.c.p][g.p].d=L,e.c[g.c.p][g.p].b=1)}}function bDn(e,t,n){var r,s,o,f,g,w,T,C,L;for(!n&&(n=Cyn(t.q.getTimezoneOffset())),s=(t.q.getTimezoneOffset()-n.a)*6e4,g=new h4e(fo(tu(t.q.getTime()),s)),w=g,g.q.getTimezoneOffset()!=t.q.getTimezoneOffset()&&(s>0?s-=864e5:s+=864e5,w=new h4e(fo(tu(t.q.getTime()),s))),C=new A5,T=e.a.length,o=0;o<T;)if(r=io(e.a,o),r>=97&&r<=122||r>=65&&r<=90){for(f=o+1;f<T&&io(e.a,f)==r;++f);pOn(C,r,f-o,g,w,n),o=f}else if(r==39){if(++o,o<T&&io(e.a,o)==39){C.a+="'",++o;continue}for(L=!1;!L;){for(f=o;f<T&&io(e.a,f)!=39;)++f;if(f>=T)throw ue(new Wn("Missing trailing '"));f+1<T&&io(e.a,f+1)==39?++f:L=!0,li(C,ef(e.a,o,f)),o=f+1}}else C.a+=String.fromCharCode(r),++o;return C.a}function mDn(){yi(N4,new xre),yi(vi,new Cre),yi(Uf,new Are),yi(u1,new U0),yi(ppe,new qS),yi(DY,new E1),yi(Tp,new C1),yi(jM,new Lre),yi(mF,new P$),yi(upe,new B$),yi(sm,new F$),yi(Vf,new R$),yi(c1,new j$),yi(L3,new $$),yi(P4,new H0),yi(fl,new tl),yi(O4,new wre),yi(Qc,new yre),yi(Wo,new nl),yi(Zu,new FS),yi(Ps,new z$),yi(le(_l,1),new q$),yi($x,new p8),yi(BL,new kre),yi(pK,new ck),yi(yBe,new Tre),yi(ra,new H$),yi(PPe,new Ere),yi(RPe,new RS),yi(oBe,new U$),yi(IY,new RI),yi(LE,new jS),yi(to,new Sre),yi(a_e,new _re),yi(l3,new jI),yi(o_e,new $S),yi(rBe,new T1),yi(xBe,new uk),yi(h3,new lk),yi($t,new $I),yi(FPe,new Lm),yi(kBe,new zS)}function hwt(e,t){var n,r,s,o,f,g,w,T,C;if(e==null)return cl;if(w=t.a.zc(e,t),w!=null)return"[...]";for(n=new Qm(To,"[","]"),s=e,o=0,f=s.length;o<f;++o)r=s[o],r!=null&&dh(r).i&4?Array.isArray(r)&&(C=kN(r),!(C>=14&&C<=16))?t.a._b(r)?(n.a?li(n.a,n.b):n.a=new Eh(n.d),P_(n.a,"[...]")):(g=Km(r),T=new G_(t),np(n,hwt(g,T))):De(r,183)?np(n,Kkn(l(r,183))):De(r,195)?np(n,Ixn(l(r,195))):De(r,201)?np(n,q9n(l(r,201))):De(r,2111)?np(n,Oxn(l(r,2111))):De(r,53)?np(n,Gkn(l(r,53))):De(r,376)?np(n,lTn(l(r,376))):De(r,846)?np(n,Vkn(l(r,846))):De(r,109)&&np(n,Ukn(l(r,109))):np(n,r==null?cl:Tc(r));return n.a?n.e.length==0?n.a.a:n.a.a+(""+n.e):n.c}function eE(e,t){var n,r,s,o;o=e.F,t==null?(e.F=null,_T(e,null)):(e.F=(tr(t),t),r=pd(t,ol(60)),r!=-1?(s=(Va(0,r,t.length),t.substr(0,r)),pd(t,ol(46))==-1&&!wn(s,Sx)&&!wn(s,_L)&&!wn(s,ZG)&&!wn(s,AL)&&!wn(s,LL)&&!wn(s,ML)&&!wn(s,DL)&&!wn(s,IL)&&(s=V5t),n=Vq(t,ol(62)),n!=-1&&(s+=""+(Yn(n+1,t.length+1),t.substr(n+1))),_T(e,s)):(s=t,pd(t,ol(46))==-1&&(r=pd(t,ol(91)),r!=-1&&(s=(Va(0,r,t.length),t.substr(0,r))),!wn(s,Sx)&&!wn(s,_L)&&!wn(s,ZG)&&!wn(s,AL)&&!wn(s,LL)&&!wn(s,ML)&&!wn(s,DL)&&!wn(s,IL)?(s=V5t,r!=-1&&(s+=""+(Yn(r,t.length+1),t.substr(r)))):s=t),_T(e,s),s==t&&(e.F=e.D))),e.Db&4&&!(e.Db&1)&&Bi(e,new _a(e,1,5,o,t))}function fwt(e,t){var n,r,s,o,f,g,w,T,C,L;if(w=t.length-1,g=(Yn(w,t.length),t.charCodeAt(w)),g==93){if(f=pd(t,ol(91)),f>=0)return s=y5n(e,(Va(1,f,t.length),t.substr(1,f-1))),C=(Va(f+1,w,t.length),t.substr(f+1,w-(f+1))),GIn(e,C,s)}else{if(n=-1,m_e==null&&(m_e=new RegExp("\\d")),m_e.test(String.fromCharCode(g))&&(n=L4e(t,ol(46),w-1),n>=0)){r=l(Uoe(e,eft(e,(Va(1,n,t.length),t.substr(1,n-1))),!1),61),T=0;try{T=Oh((Yn(n+1,t.length+1),t.substr(n+1)),ao,Ni)}catch(F){throw F=ms(F),De(F,130)?(o=F,ue(new uU(o))):ue(F)}if(T<r.gc())return L=r.Xb(T),De(L,76)&&(L=l(L,76).md()),l(L,58)}if(n<0)return l(Uoe(e,eft(e,(Yn(1,t.length+1),t.substr(1))),!1),58)}return null}function vDn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J;for(t.Ug("Label dummy insertions",1),L=new mt,f=ze(Ge(Q(e,(Nt(),V6)))),T=ze(Ge(Q(e,T4))),C=l(Q(e,Rh),88),z=new K(e.a);z.a<z.c.c.length;)for(F=l(re(z),10),o=new lr(fr(qs(F).a.Kc(),new j));Rr(o);)if(s=l(yr(o),18),s.c.i!=s.d.i&&dae(s.b,wxt)){for(J=jwn(s),V=rg(s.b.c.length),n=YEn(e,s,J,V),qn(L.c,n),r=n.o,g=new Ua(s.b,0);g.b<g.d.gc();)w=(br(g.b<g.d.gc()),l(g.d.Xb(g.c=g.b++),72)),qe(Q(w,jd))===qe((F1(),iC))&&(C==(ea(),vf)||C==Q1?(r.a+=w.o.a+T,r.b=b.Math.max(r.b,w.o.b)):(r.a=b.Math.max(r.a,w.o.a),r.b+=w.o.b+T),qn(V.c,w),fh(g));C==(ea(),vf)||C==Q1?(r.a-=T,r.b+=f+J):r.b+=f-T+J}aa(e.a,L),t.Vg()}function wDn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V;if(e.c=e.e,V=Pt(Q(t,(Nt(),xTt))),z=V==null||(tr(V),V),o=l(Q(t,(ft(),_u)),21).Hc((Ho(),mf)),s=l(Q(t,Ds),101),n=!(s==(Pa(),Iv)||s==_g||s==Au),z&&(n||!o)){for(L=new K(t.a);L.a<L.c.c.length;)T=l(re(L),10),T.p=0;for(F=new mt,C=new K(t.a);C.a<C.c.c.length;)if(T=l(re(C),10),r=Ymt(e,T,null),r){for(w=new C7e,mc(w,t),rt(w,wp,l(r.b,21)),Q5e(w.d,t.d),rt(w,UE,null),g=l(r.a,15).Kc();g.Ob();)f=l(g.Pb(),10),wt(w.a,f),f.a=w;F.Fc(w)}o&&(qe(Q(t,m4))===qe((tv(),x1e))?e.c=e.b:qe(Q(t,m4))===qe(k1e)?e.c=e.d:e.c=e.a)}else F=new Ll(he(le(lxt,1),ayt,36,0,[t]));return qe(Q(t,m4))!==qe((tv(),h4))&&(Cn(),F.jd(new gj)),F}function tE(e,t,n){var r,s,o,f,g,w,T;if(T=e.c,!t&&(t=KPe),e.c=t,e.Db&4&&!(e.Db&1)&&(w=new _a(e,1,2,T,e.c),n?n.nj(w):n=w),T!=t){if(De(e.Cb,292))e.Db>>16==-10?n=l(e.Cb,292).Yk(t,n):e.Db>>16==-15&&(!t&&(t=(En(),td)),!T&&(T=(En(),td)),e.Cb.Yh()&&(w=new rp(e.Cb,1,13,T,t,x2(Kl(l(e.Cb,62)),e),!1),n?n.nj(w):n=w));else if(De(e.Cb,90))e.Db>>16==-23&&(De(t,90)||(t=(En(),Kf)),De(T,90)||(T=(En(),Kf)),e.Cb.Yh()&&(w=new rp(e.Cb,1,10,T,t,x2(fu(l(e.Cb,29)),e),!1),n?n.nj(w):n=w));else if(De(e.Cb,457))for(g=l(e.Cb,850),f=(!g.b&&(g.b=new qz(new ise)),g.b),o=(r=new Xm(new Cr(f.a).a),new Hz(r));o.a.b;)s=l(zw(o.a).ld(),89),n=tE(s,OV(s,g),n)}return n}function yDn(e,t){var n,r,s,o,f,g,w,T,C,L,F;for(f=Ft(Pt(at(e,(Nt(),w4)))),F=l(at(e,x4),21),w=!1,T=!1,L=new ar((!e.c&&(e.c=new nt($l,e,9,9)),e.c));L.e!=L.i.gc()&&(!w||!T);){for(o=l(dr(L),123),g=0,s=ag(Lh(he(le(Fh,1),jn,20,0,[(!o.d&&(o.d=new An(js,o,8,5)),o.d),(!o.e&&(o.e=new An(js,o,7,4)),o.e)])));Rr(s)&&(r=l(yr(s),74),C=f&&Yw(r)&&Ft(Pt(at(r,kv))),n=Uvt((!r.b&&(r.b=new An(Sr,r,4,7)),r.b),o)?e==ds(vc(l(Oe((!r.c&&(r.c=new An(Sr,r,5,8)),r.c),0),84))):e==ds(vc(l(Oe((!r.b&&(r.b=new An(Sr,r,4,7)),r.b),0),84))),!((C||n)&&(++g,g>1))););(g>0||F.Hc((Pl(),kp))&&(!o.n&&(o.n=new nt(nc,o,1,7)),o.n).i>0)&&(w=!0),g>1&&(T=!0)}w&&t.Fc((Ho(),mf)),T&&t.Fc((Ho(),GL))}function dwt(e){var t,n,r,s,o,f,g,w,T,C,L,F;if(F=l(at(e,(bi(),Mv)),21),F.dc())return null;if(g=0,f=0,F.Hc((gh(),fF))){for(C=l(at(e,AM),101),r=2,n=2,s=2,o=2,t=ds(e)?l(at(ds(e),Lv),88):l(at(e,Lv),88),T=new ar((!e.c&&(e.c=new nt($l,e,9,9)),e.c));T.e!=T.i.gc();)if(w=l(dr(T),123),L=l(at(w,o7),64),L==(_t(),jc)&&(L=zke(w,t),Vi(w,o7,L)),C==(Pa(),Au))switch(L.g){case 1:r=b.Math.max(r,w.i+w.g);break;case 2:n=b.Math.max(n,w.j+w.f);break;case 3:s=b.Math.max(s,w.i+w.g);break;case 4:o=b.Math.max(o,w.j+w.f)}else switch(L.g){case 1:r+=w.g+2;break;case 2:n+=w.f+2;break;case 3:s+=w.g+2;break;case 4:o+=w.f+2}g=b.Math.max(r,s),f=b.Math.max(n,o)}return Zw(e,g,f,!0,!0)}function $le(e,t,n,r,s){var o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e;for(Ee=l(kc(mU(ji(new vn(null,new kn(t.d,16)),new tXe(n)),new nXe(n)),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)]))),15),L=Ni,C=ao,w=new K(t.b.j);w.a<w.c.c.length;)g=l(re(w),12),g.j==n&&(L=b.Math.min(L,g.p),C=b.Math.max(C,g.p));if(L==Ni)for(f=0;f<Ee.gc();f++)e7e(l(Ee.Xb(f),105),n,f);else for(Me=We(Ur,fi,28,s.length,15,1),bgn(Me,Me.length),fe=Ee.Kc();fe.Ob();){for(te=l(fe.Pb(),105),o=l(or(e.b,te),183),T=0,J=L;J<=C;J++)o[J]&&(T=b.Math.max(T,r[J]));if(te.i){for(z=te.i.c,$e=new Ys,F=0;F<s.length;F++)s[z][F]&&sa($e,bt(Me[F]));for(;K0($e,bt(T));)++T}for(e7e(te,n,T),V=L;V<=C;V++)o[V]&&(r[V]=T+1);te.i&&(Me[te.i.c]=T)}}function xDn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J;for(s=null,r=new K(t.a);r.a<r.c.c.length;)n=l(re(r),10),Nle(n)?o=(g=vw(hO(new Nm,n),e.f),w=vw(hO(new Nm,n),e.f),T=new Y5e(n,!0,g,w),C=n.o.b,L=(jy(),(n.q?n.q:(Cn(),Cn(),yg))._b((Nt(),x3))?F=l(Q(n,x3),203):F=l(Q(Ja(n),tM),203),F),z=1e4,L==K6&&(z=1),V=g0(i0(r0(n0(s0(new _f,z),da(b.Math.ceil(C))),g),w)),L==W6&&sa(e.d,V),Wmt(e,uf(Fc(n,(_t(),Zn))),T),Wmt(e,Fc(n,sr),T),T):o=(J=vw(hO(new Nm,n),e.f),Os(ji(new vn(null,new kn(n.j,16)),new hte),new ytt(e,J)),new Y5e(n,!1,J,J)),e.i[n.p]=o,s&&(f=s.c.d.a+z5(e.n,s.c,n)+n.d.d,s.b||(f+=s.c.o.b),g0(i0(r0(s0(n0(new _f,da(b.Math.ceil(f))),0),s.d),o.a))),s=o}function kDn(e,t,n,r){var s,o,f,g,w,T,C,L,F,z;for(o=new I2t(t),L=QSn(e,t,o),z=b.Math.max(ze(Ge(Q(t,(Nt(),M2)))),1),C=new K(L.a);C.a<C.c.c.length;)T=l(re(C),42),w=Idt(l(T.a,8),l(T.b,8),z),y=!0,y=y&xw(n,new lt(w.c,w.d)),y=y&xw(n,yw(new lt(w.c,w.d),w.b,0)),y=y&xw(n,yw(new lt(w.c,w.d),0,w.a)),y&xw(n,yw(new lt(w.c,w.d),w.b,w.a));switch(F=o.d,g=Idt(l(L.b.a,8),l(L.b.b,8),z),F==(_t(),Zn)||F==sr?(r.c[F.g]=b.Math.min(r.c[F.g],g.d),r.b[F.g]=b.Math.max(r.b[F.g],g.d+g.a)):(r.c[F.g]=b.Math.min(r.c[F.g],g.c),r.b[F.g]=b.Math.max(r.b[F.g],g.c+g.b)),s=oa,f=o.c.i.d,F.g){case 4:s=f.c;break;case 2:s=f.b;break;case 1:s=f.a;break;case 3:s=f.d}return r.a[F.g]=b.Math.max(r.a[F.g],s),o}function TDn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn;g=l(or(t.c,e),468),Ee=t.a.c,w=t.a.c+t.a.b,cn=g.f,Fn=g.a,f=cn<Fn,J=new lt(Ee,cn),Me=new lt(w,Fn),s=(Ee+w)/2,te=new lt(s,cn),$e=new lt(s,Fn),o=xCn(e,cn,Fn),ot=I1(t.B),At=new lt(s,o),ln=I1(t.D),n=Lyn(he(le(Ca,1),dt,8,0,[ot,At,ln])),z=!1,fe=t.B.i,fe&&fe.c&&g.d&&(T=f&&fe.p<fe.c.a.c.length-1||!f&&fe.p>0,T?T&&(F=fe.p,f?++F:--F,L=l(Rt(fe.c.a,F),10),r=F0t(L),z=!(lle(r,ot,n[0])||oat(r,ot,n[0]))):z=!0),V=!1,Je=t.D.i,Je&&Je.c&&g.e&&(C=f&&Je.p>0||!f&&Je.p<Je.c.a.c.length-1,C?(F=Je.p,f?--F:++F,L=l(Rt(Je.c.a,F),10),r=F0t(L),V=!(lle(r,n[0],ln)||oat(r,n[0],ln))):V=!0),z&&V&&ci(e.a,At),z||dA(e.a,he(le(Ca,1),dt,8,0,[J,te])),V||dA(e.a,he(le(Ca,1),dt,8,0,[$e,Me]))}function EDn(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee;for(z=t.c.length,F=0,L=new K(e.b);L.a<L.c.c.length;)if(C=l(re(L),30),fe=C.a,fe.c.length!=0){for(te=new K(fe),T=0,Ee=null,s=l(re(te),10),o=null;s;){if(o=l(Rt(t,s.p),261),o.c>=0){for(w=null,g=new Ua(C.a,T+1);g.b<g.d.gc()&&(f=(br(g.b<g.d.gc()),l(g.d.Xb(g.c=g.b++),10)),w=l(Rt(t,f.p),261),!(w.d==o.d&&w.c<o.c));)w=null;w&&(Ee&&(nf(r,s.p,bt(l(Rt(r,s.p),17).a-1)),l(Rt(n,Ee.p),15).Mc(o)),o=qxn(o,s,z++),qn(t.c,o),wt(n,new mt),Ee?(l(Rt(n,Ee.p),15).Fc(o),wt(r,bt(1))):wt(r,bt(0)))}V=null,te.a<te.c.c.length&&(V=l(re(te),10),J=l(Rt(t,V.p),261),l(Rt(n,s.p),15).Fc(J),nf(r,V.p,bt(l(Rt(r,V.p),17).a+1))),o.d=F,o.c=T++,Ee=s,s=V}++F}}function CDn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z;if(o=l(Q(e,(ft(),zi)),74),!!o){for(r=e.a,s=new xo(n),Pi(s,X8n(e)),vT(e.d.i,e.c.i)?(F=e.c,L=Bc(he(le(Ca,1),dt,8,0,[F.n,F.a])),ya(L,n)):L=I1(e.c),_s(r,L,r.a,r.a.a),z=I1(e.d),Q(e,ude)!=null&&Pi(z,l(Q(e,ude),8)),_s(r,z,r.c.b,r.c),Ny(r,s),f=f6(o,!0,!0),SU(f,l(Oe((!o.b&&(o.b=new An(Sr,o,4,7)),o.b),0),84)),_U(f,l(Oe((!o.c&&(o.c=new An(Sr,o,5,8)),o.c),0),84)),xP(r,f),C=new K(e.b);C.a<C.c.c.length;)T=l(re(C),72),g=l(Q(T,zi),135),Rw(g,T.o.a),Fw(g,T.o.b),Xh(g,T.n.a+s.a,T.n.b+s.b),Vi(g,(hx(),A1e),Pt(Q(T,A1e)));w=l(Q(e,(Nt(),lc)),75),w?(Ny(w,s),Vi(o,lc,w)):Vi(o,lc,null),t==(cp(),a9)?Vi(o,yp,a9):Vi(o,yp,null)}}function gwt(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln;if(n.c.length!=0){for(V=new mt,z=new K(n);z.a<z.c.c.length;)F=l(re(z),27),wt(V,new lt(F.i,F.j));for(r.dh(t,"Before removing overlaps");l9e(e,n);)DV(e,n,!1);if(r.dh(t,"After removing overlaps"),g=0,w=0,s=null,n.c.length!=0&&(s=(Sn(0,n.c.length),l(n.c[0],27)),g=s.i-(Sn(0,V.c.length),l(V.c[0],8)).a,w=s.j-(Sn(0,V.c.length),l(V.c[0],8)).b),f=b.Math.sqrt(g*g+w*w),L=m4n(n),o=1,L.a.gc()!=0){for(C=L.a.ec().Kc();C.Ob();)T=l(C.Pb(),27),J=e.f,te=J.i+J.g/2,fe=J.j+J.f/2,Ee=T.i+T.g/2,Me=T.j+T.f/2,$e=Ee-te,Je=Me-fe,ot=b.Math.sqrt($e*$e+Je*Je),At=$e/ot,ln=Je/ot,Vu(T,T.i+At*f),Gu(T,T.j+ln*f);r.dh(t,"Child movement "+o),++o}e.a&&e.a.Gg(new Ml(L)),gwt(e,t,new Ml(L),r)}}function zle(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me;return w=e,C=ya(new lt(t.a,t.b),e),T=n,L=ya(new lt(r.a,r.b),n),F=w.a,te=w.b,V=T.a,Ee=T.b,z=C.a,fe=C.b,J=L.a,Me=L.b,s=J*fe-z*Me,A1(),h0(Nd),b.Math.abs(0-s)<=Nd||s==0||isNaN(0)&&isNaN(s)?!1:(f=1/s*((F-V)*fe-(te-Ee)*z),g=1/s*-(-(F-V)*Me+(te-Ee)*J),o=(h0(Nd),(b.Math.abs(0-f)<=Nd||f==0||isNaN(0)&&isNaN(f)?0:0<f?-1:0>f?1:bw(isNaN(0),isNaN(f)))<0&&(h0(Nd),(b.Math.abs(f-1)<=Nd||f==1||isNaN(f)&&isNaN(1)?0:f<1?-1:f>1?1:bw(isNaN(f),isNaN(1)))<0)&&(h0(Nd),(b.Math.abs(0-g)<=Nd||g==0||isNaN(0)&&isNaN(g)?0:0<g?-1:0>g?1:bw(isNaN(0),isNaN(g)))<0)&&(h0(Nd),(b.Math.abs(g-1)<=Nd||g==1||isNaN(g)&&isNaN(1)?0:g<1?-1:g>1?1:bw(isNaN(g),isNaN(1)))<0)),o)}function SDn(e){var t,n,r,s;if(n=e.D!=null?e.D:e.B,t=pd(n,ol(91)),t!=-1){r=(Va(0,t,n.length),n.substr(0,t)),s=new e2;do s.a+="[";while((t=Bk(n,91,++t))!=-1);wn(r,Sx)?s.a+="Z":wn(r,_L)?s.a+="B":wn(r,ZG)?s.a+="C":wn(r,AL)?s.a+="D":wn(r,LL)?s.a+="F":wn(r,ML)?s.a+="I":wn(r,DL)?s.a+="J":wn(r,IL)?s.a+="S":(s.a+="L",s.a+=""+r,s.a+=";");try{return null}catch(o){if(o=ms(o),!De(o,63))throw ue(o)}}else if(pd(n,ol(46))==-1){if(wn(n,Sx))return th;if(wn(n,_L))return _l;if(wn(n,ZG))return xf;if(wn(n,AL))return Oa;if(wn(n,LL))return j4;if(wn(n,ML))return Ur;if(wn(n,DL))return hm;if(wn(n,IL))return d7}return null}function _Dn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At;for(e.e=t,g=_Tn(t),ot=new mt,r=new K(g);r.a<r.c.c.length;){for(n=l(re(r),15),At=new mt,qn(ot.c,At),w=new Ys,V=n.Kc();V.Ob();){for(z=l(V.Pb(),27),o=mP(e,z,!0,0,0),qn(At.c,o),J=z.i,te=z.j,F=(!z.n&&(z.n=new nt(nc,z,1,7)),z.n),L=new ar(F);L.e!=L.i.gc();)T=l(dr(L),135),s=mP(e,T,!1,J,te),qn(At.c,s);for(Je=(!z.c&&(z.c=new nt($l,z,9,9)),z.c),Ee=new ar(Je);Ee.e!=Ee.i.gc();)for(fe=l(dr(Ee),123),f=mP(e,fe,!1,J,te),qn(At.c,f),Me=fe.i+J,$e=fe.j+te,F=(!fe.n&&(fe.n=new nt(nc,fe,1,7)),fe.n),C=new ar(F);C.e!=C.i.gc();)T=l(dr(C),135),s=mP(e,T,!1,Me,$e),qn(At.c,s);Ga(w,BH(Lh(he(le(Fh,1),jn,20,0,[fp(z),dP(z)]))))}gCn(e,w,At)}return e.f=new kZe(ot),mc(e.f,t),e.f}function ADn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot;for(L=new R5e(new Mc(e));L.c!=L.d.a.d;)for(C=Cht(L),g=l(C.d,58),t=l(C.e,58),f=g.Dh(),J=0,$e=(f.i==null&&Sd(f),f.i).length;J<$e;++J)if(T=(o=(f.i==null&&Sd(f),f.i),J>=0&&J<o.length?o[J]:null),T.rk()&&!T.sk()){if(De(T,102))w=l(T,19),!(w.Bb&nu)&&(ot=jo(w),!(ot&&ot.Bb&nu))&&fLn(e,w,g,t);else if(Ro(),l(T,69).xk()&&(n=(Je=T,l(Je?l(t,54).gi(Je):null,160)),n))for(z=l(g.Mh(T),160),r=n.gc(),te=0,V=z.gc();te<V;++te)if(F=z.Tl(te),De(F,102)){if(Me=z.Ul(te),s=B1(e,Me),s==null&&Me!=null){if(Ee=l(F,19),!e.b||Ee.Bb&nu||jo(Ee))continue;s=Me}if(!n.Ol(F,s)){for(fe=0;fe<r;++fe)if(n.Tl(fe)==F&&qe(n.Ul(fe))===qe(s)){n.Ti(n.gc()-1,fe),--r;break}}}else n.Ol(z.Tl(te),z.Ul(te))}}function LDn(e,t,n){var r;if(n.Ug("StretchWidth layering",1),t.a.c.length==0){n.Vg();return}for(e.c=t,e.t=0,e.u=0,e.i=gs,e.g=oa,e.d=ze(Ge(Q(t,(Nt(),y0)))),Y6n(e),nEn(e),tEn(e),J8n(e),Z5n(e),e.i=b.Math.max(1,e.i),e.g=b.Math.max(1,e.g),e.d=e.d/e.i,e.f=e.g/e.i,e.s=l7n(e),r=new vu(e.c),wt(e.c.b,r),e.r=Nw(e.p),e.n=$H(e.k,e.k.length);e.r.c.length!=0;)e.o=v4n(e),!e.o||$0t(e)&&e.b.a.gc()!=0?(Cxn(e,r),r=new vu(e.c),wt(e.c.b,r),Ga(e.a,e.b),e.b.a.$b(),e.t=e.u,e.u=0):$0t(e)?(e.c.b.c.length=0,r=new vu(e.c),wt(e.c.b,r),e.t=0,e.u=0,e.b.a.$b(),e.a.a.$b(),++e.f,e.r=Nw(e.p),e.n=$H(e.k,e.k.length)):(Ha(e.o,r),sl(e.r,e.o),sa(e.b,e.o),e.t=e.t-e.k[e.o.p]*e.d+e.j[e.o.p],e.u+=e.e[e.o.p]*e.d);t.a.c.length=0,aP(t.b),n.Vg()}function MDn(e){var t,n,r,s,o,f,g,w,T,C,L;for(e.j=We(Ur,fi,28,e.g,15,1),e.o=new mt,Os(Pc(new vn(null,new kn(e.e.b,16)),new vte),new MXe(e)),e.a=We(th,vg,28,e.b,16,1),zN(new vn(null,new kn(e.e.b,16)),new IXe(e)),r=(L=new mt,Os(ji(Pc(new vn(null,new kn(e.e.b,16)),new yte),new DXe(e)),new xtt(e,L)),L),w=new K(r);w.a<w.c.c.length;)if(g=l(re(w),515),!(g.c.length<=1)){if(g.c.length==2){gTn(g),Nle((Sn(0,g.c.length),l(g.c[0],18)).d.i)||wt(e.o,g);continue}if(!(Mxn(g)||wkn(g,new wte)))for(T=new K(g),s=null;T.a<T.c.c.length;)t=l(re(T),18),n=e.c[t.p],!s||T.a>=T.c.c.length?C=_6e((Jn(),Bs),Aa):C=_6e((Jn(),Aa),Aa),C*=2,o=n.a.g,n.a.g=b.Math.max(o,o+(C-o)),f=n.b.g,n.b.g=b.Math.max(f,f+(C-f)),s=t}}function DDn(e){var t,n,r,s;for(Os(ji(new vn(null,new kn(e.a.b,16)),new $j),new yee),fxn(e),Os(ji(new vn(null,new kn(e.a.b,16)),new xee),new kee),e.c==(cp(),a9)&&(Os(ji(Pc(new vn(null,new kn(new pr(e.f),1)),new Tee),new Eee),new WYe(e)),Os(ji(gc(Pc(Pc(new vn(null,new kn(e.d.b,16)),new Cee),new zj),new See),new qj),new XYe(e))),s=new lt(gs,gs),t=new lt(oa,oa),r=new K(e.a.b);r.a<r.c.c.length;)n=l(re(r),60),s.a=b.Math.min(s.a,n.d.c),s.b=b.Math.min(s.b,n.d.d),t.a=b.Math.max(t.a,n.d.c+n.d.b),t.b=b.Math.max(t.b,n.d.d+n.d.a);Pi(W0(e.d.c),Xq(new lt(s.a,s.b))),Pi(W0(e.d.f),ya(new lt(t.a,t.b),s)),CCn(e,s,t),Dl(e.f),Dl(e.b),Dl(e.g),Dl(e.e),e.a.a.c.length=0,e.a.b.c.length=0,e.a=null,e.d=null}function JV(e,t){var n;if(e.e)throw ue(new ic((Xg(J0e),Lhe+J0e.k+Mhe)));if(!Bln(e.a,t))throw ue(new Ic(I3t+t+O3t));if(t==e.d)return e;switch(n=e.d,e.d=t,n.g){case 0:switch(t.g){case 2:Kw(e);break;case 1:_b(e),Kw(e);break;case 4:o6(e),Kw(e);break;case 3:o6(e),_b(e),Kw(e)}break;case 2:switch(t.g){case 1:_b(e),ble(e);break;case 4:o6(e),Kw(e);break;case 3:o6(e),_b(e),Kw(e)}break;case 1:switch(t.g){case 2:_b(e),ble(e);break;case 4:_b(e),o6(e),Kw(e);break;case 3:_b(e),o6(e),_b(e),Kw(e)}break;case 4:switch(t.g){case 2:o6(e),Kw(e);break;case 1:o6(e),_b(e),Kw(e);break;case 3:_b(e),ble(e)}break;case 3:switch(t.g){case 2:_b(e),o6(e),Kw(e);break;case 1:_b(e),o6(e),_b(e),Kw(e);break;case 4:_b(e),ble(e)}}return e}function m6(e,t){var n;if(e.d)throw ue(new ic((Xg(y1e),Lhe+y1e.k+Mhe)));if(!Pln(e.a,t))throw ue(new Ic(I3t+t+O3t));if(t==e.c)return e;switch(n=e.c,e.c=t,n.g){case 0:switch(t.g){case 2:Zm(e);break;case 1:Ab(e),Zm(e);break;case 4:c6(e),Zm(e);break;case 3:c6(e),Ab(e),Zm(e)}break;case 2:switch(t.g){case 1:Ab(e),mle(e);break;case 4:c6(e),Zm(e);break;case 3:c6(e),Ab(e),Zm(e)}break;case 1:switch(t.g){case 2:Ab(e),mle(e);break;case 4:Ab(e),c6(e),Zm(e);break;case 3:Ab(e),c6(e),Ab(e),Zm(e)}break;case 4:switch(t.g){case 2:c6(e),Zm(e);break;case 1:c6(e),Ab(e),Zm(e);break;case 3:Ab(e),mle(e)}break;case 3:switch(t.g){case 2:Ab(e),c6(e),Zm(e);break;case 1:Ab(e),c6(e),Ab(e),Zm(e);break;case 4:Ab(e),mle(e)}}return e}function ZV(e,t){var n,r,s,o,f,g,w,T;if(De(e.Eh(),167)?(ZV(l(e.Eh(),167),t),t.a+=" > "):t.a+="Root ",n=e.Dh().zb,wn(n.substr(0,3),"Elk")?li(t,(Yn(3,n.length+1),n.substr(3))):t.a+=""+n,s=e.jh(),s){li((t.a+=" ",t),s);return}if(De(e,366)&&(T=l(e,135).a,T)){li((t.a+=" ",t),T);return}for(f=new ar(e.kh());f.e!=f.i.gc();)if(o=l(dr(f),135),T=o.a,T){li((t.a+=" ",t),T);return}if(De(e,326)&&(r=l(e,74),!r.b&&(r.b=new An(Sr,r,4,7)),r.b.i!=0&&(!r.c&&(r.c=new An(Sr,r,5,8)),r.c.i!=0))){for(t.a+=" (",g=new H8((!r.b&&(r.b=new An(Sr,r,4,7)),r.b));g.e!=g.i.gc();)g.e>0&&(t.a+=To),ZV(l(dr(g),167),t);for(t.a+=Yhe,w=new H8((!r.c&&(r.c=new An(Sr,r,5,8)),r.c));w.e!=w.i.gc();)w.e>0&&(t.a+=To),ZV(l(dr(w),167),t);t.a+=")"}}function IDn(e,t,n){var r,s,o,f,g,w,T,C;for(w=new ar((!e.a&&(e.a=new nt(Li,e,10,11)),e.a));w.e!=w.i.gc();)for(g=l(dr(w),27),s=new lr(fr(fp(g).a.Kc(),new j));Rr(s);){if(r=l(yr(s),74),!r.b&&(r.b=new An(Sr,r,4,7)),!(r.b.i<=1&&(!r.c&&(r.c=new An(Sr,r,5,8)),r.c.i<=1)))throw ue(new O8("Graph must not contain hyperedges."));if(!HA(r)&&g!=vc(l(Oe((!r.c&&(r.c=new An(Sr,r,5,8)),r.c),0),84)))for(T=new pit,mc(T,r),rt(T,(Cb(),Ux),r),qie(T,l(dc(zo(n.f,g)),153)),T8(T,l(or(n,vc(l(Oe((!r.c&&(r.c=new An(Sr,r,5,8)),r.c),0),84))),153)),wt(t.c,T),f=new ar((!r.n&&(r.n=new nt(nc,r,1,7)),r.n));f.e!=f.i.gc();)o=l(dr(f),135),C=new mut(T,o.a),mc(C,o),rt(C,Ux,o),C.e.a=b.Math.max(o.g,1),C.e.b=b.Math.max(o.f,1),Gke(C),wt(t.d,C)}}function ODn(e,t,n){var r,s,o,f,g,w,T,C,L,F;switch(n.Ug("Node promotion heuristic",1),e.i=t,e.r=l(Q(t,(Nt(),Xb)),243),e.r!=(Nf(),C3)&&e.r!=E4?aIn(e):ISn(e),C=l(Q(e.i,oDe),17).a,o=new hd,e.r.g){case 2:case 1:ZT(e,o);break;case 3:for(e.r=BW,ZT(e,o),w=0,g=new K(e.b);g.a<g.c.c.length;)f=l(re(g),17),w=b.Math.max(w,f.a);w>e.k&&(e.r=BB,ZT(e,o));break;case 4:for(e.r=BW,ZT(e,o),T=0,s=new K(e.c);s.a<s.c.c.length;)r=Ge(re(s)),T=b.Math.max(T,(tr(r),r));T>e.n&&(e.r=FB,ZT(e,o));break;case 6:F=da(b.Math.ceil(e.g.length*C/100)),ZT(e,new BYe(F));break;case 5:L=da(b.Math.ceil(e.e*C/100)),ZT(e,new FYe(L));break;case 8:Qwt(e,!0);break;case 9:Qwt(e,!1);break;default:ZT(e,o)}e.r!=C3&&e.r!=E4?nSn(e,t):k_n(e,t),n.Vg()}function NDn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me;for(L=e.b,C=new Ua(L,0),wy(C,new vu(e)),Ee=!1,f=1;C.b<C.d.gc();){for(T=(br(C.b<C.d.gc()),l(C.d.Xb(C.c=C.b++),30)),J=(Sn(f,L.c.length),l(L.c[f],30)),te=Nw(T.a),fe=te.c.length,V=new K(te);V.a<V.c.c.length;)F=l(re(V),10),Ha(F,J);if(Ee){for(z=uf(te).Kc();z.Ob();)for(F=l(z.Pb(),10),o=new K(Nw(Ea(F)));o.a<o.c.c.length;)s=l(re(o),18),Jw(s,!0),rt(e,(ft(),AB),(Hn(),!0)),r=Gvt(e,s,fe),n=l(Q(F,p3),313),Me=l(Rt(r,r.c.length-1),18),n.k=Me.c.i,n.n=Me,n.b=s.d.i,n.c=s;Ee=!1}else te.c.length!=0&&(t=(Sn(0,te.c.length),l(te.c[0],10)),t.k==(Jn(),K1)&&(Ee=!0,f=-1));++f}for(g=new Ua(e.b,0);g.b<g.d.gc();)w=(br(g.b<g.d.gc()),l(g.d.Xb(g.c=g.b++),30)),w.a.c.length==0&&fh(g)}function PDn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me;for(L=new sTe(e),P2n(L,!(t==(ea(),vf)||t==Q1)),C=L.a,F=new L8,s=(e1(),he(le(c4,1),it,237,0,[Wc,ju,Yc])),f=0,w=s.length;f<w;++f)n=s[f],T=gae(C,Wc,n),T&&(F.d=b.Math.max(F.d,T.jf()));for(r=he(le(c4,1),it,237,0,[Wc,ju,Yc]),o=0,g=r.length;o<g;++o)n=r[o],T=gae(C,Yc,n),T&&(F.a=b.Math.max(F.a,T.jf()));for(J=he(le(c4,1),it,237,0,[Wc,ju,Yc]),fe=0,Me=J.length;fe<Me;++fe)z=J[fe],T=gae(C,z,Wc),T&&(F.b=b.Math.max(F.b,T.kf()));for(V=he(le(c4,1),it,237,0,[Wc,ju,Yc]),te=0,Ee=V.length;te<Ee;++te)z=V[te],T=gae(C,z,Yc),T&&(F.c=b.Math.max(F.c,T.kf()));return F.d>0&&(F.d+=C.n.d,F.d+=C.d),F.a>0&&(F.a+=C.n.a,F.a+=C.d),F.b>0&&(F.b+=C.n.b,F.b+=C.d),F.c>0&&(F.c+=C.n.c,F.c+=C.d),F}function pwt(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V;for(F=n.d,L=n.c,o=new lt(n.f.a+n.d.b+n.d.c,n.f.b+n.d.d+n.d.a),f=o.b,T=new K(e.a);T.a<T.c.c.length;)if(g=l(re(T),10),g.k==(Jn(),Ks)){switch(r=l(Q(g,(ft(),Xc)),64),s=l(Q(g,iMe),8),C=g.n,r.g){case 2:C.a=n.f.a+F.c-L.a;break;case 4:C.a=-L.a-F.b}switch(V=0,r.g){case 2:case 4:t==(Pa(),_g)?(z=ze(Ge(Q(g,m3))),C.b=o.b*z-l(Q(g,(Nt(),k3)),8).b,V=C.b+s.b,RU(g,!1,!0)):t==Au&&(C.b=ze(Ge(Q(g,m3)))-l(Q(g,(Nt(),k3)),8).b,V=C.b+s.b,RU(g,!1,!0))}f=b.Math.max(f,V)}for(n.f.b+=f-o.b,w=new K(e.a);w.a<w.c.c.length;)if(g=l(re(w),10),g.k==(Jn(),Ks))switch(r=l(Q(g,(ft(),Xc)),64),C=g.n,r.g){case 1:C.b=-L.b-F.d;break;case 3:C.b=n.f.b+F.a-L.b}}function BDn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe;if(C=l(l($i(e.r,t),21),87),C.gc()<=2||t==(_t(),sr)||t==(_t(),Zn)){Pwt(e,t);return}for(J=e.u.Hc((Pl(),o9)),n=t==(_t(),Xn)?(qw(),fB):(qw(),hB),fe=t==Xn?(al(),v0):(al(),s1),r=k3e(R4e(n),e.s),te=t==Xn?gs:oa,T=C.Kc();T.Ob();)g=l(T.Pb(),117),!(!g.c||g.c.d.c.length<=0)&&(V=g.b.Mf(),z=g.e,L=g.c,F=L.i,F.b=(o=L.n,L.e.a+o.b+o.c),F.a=(f=L.n,L.e.b+f.d+f.a),J?(F.c=z.a-(s=L.n,L.e.a+s.b+s.c)-e.s,J=!1):F.c=z.a+V.a+e.s,ZO(fe,RTe),L.f=fe,J0(L,(Ol(),m0)),wt(r.d,new Vae(F,L8e(r,F))),te=t==Xn?b.Math.min(te,z.b):b.Math.max(te,z.b+g.b.Mf().b));for(te+=t==Xn?-e.t:e.t,W8e((r.e=te,r)),w=C.Kc();w.Ob();)g=l(w.Pb(),117),!(!g.c||g.c.d.c.length<=0)&&(F=g.c.i,F.c-=g.e.a,F.d-=g.e.b)}function bwt(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me;for(s=new mt,J=new K(t.a);J.a<J.c.c.length;)if(V=l(re(J),10),z=V.e,z&&(r=bwt(e,z,V),aa(s,r),XMn(e,z,V),l(Q(z,(ft(),_u)),21).Hc((Ho(),mf))))for(Ee=l(Q(V,(Nt(),Ds)),101),F=l(Q(V,x4),181).Hc((Pl(),kp)),fe=new K(V.j);fe.a<fe.c.c.length;)for(te=l(re(fe),12),o=l(or(e.b,te),10),o||(o=SP(te,Ee,te.j,-(te.e.c.length-te.g.c.length),null,new za,te.o,l(Q(z,Rh),88),z),rt(o,zi,te),Ti(e.b,te,o),wt(z.a,o)),f=l(Rt(o.j,0),12),C=new K(te.f);C.a<C.c.c.length;)T=l(re(C),72),g=new SZe,g.o.a=T.o.a,g.o.b=T.o.b,wt(f.f,g),F||(Me=te.j,L=0,Y_(l(Q(V,x4),21))&&(L=P9e(T.n,T.o,te.o,0,Me)),Ee==(Pa(),Z1)||(_t(),Ju).Hc(Me)?g.o.a=L:g.o.b=L);return w=new mt,YMn(e,t,n,s,w),n&&gMn(e,t,n,w),w}function iTe(e,t,n){var r,s,o,f,g,w,T,C,L;if(!e.c[t.c.p][t.p].e){for(e.c[t.c.p][t.p].e=!0,e.c[t.c.p][t.p].b=0,e.c[t.c.p][t.p].d=0,e.c[t.c.p][t.p].a=null,C=new K(t.j);C.a<C.c.c.length;)for(T=l(re(C),12),L=n?new S5(T):new S8(T),w=L.Kc();w.Ob();)g=l(w.Pb(),12),f=g.i,f.c==t.c?f!=t&&(iTe(e,f,n),e.c[t.c.p][t.p].b+=e.c[f.c.p][f.p].b,e.c[t.c.p][t.p].d+=e.c[f.c.p][f.p].d):(e.c[t.c.p][t.p].d+=e.g[g.p],++e.c[t.c.p][t.p].b);if(o=l(Q(t,(ft(),eMe)),15),o)for(s=o.Kc();s.Ob();)r=l(s.Pb(),10),t.c==r.c&&(iTe(e,r,n),e.c[t.c.p][t.p].b+=e.c[r.c.p][r.p].b,e.c[t.c.p][t.p].d+=e.c[r.c.p][r.p].d);e.c[t.c.p][t.p].b>0&&(e.c[t.c.p][t.p].d+=Yl(e.i,24)*RP*.07000000029802322-.03500000014901161,e.c[t.c.p][t.p].a=e.c[t.c.p][t.p].d/e.c[t.c.p][t.p].b)}}function FDn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te;for(V=new K(e);V.a<V.c.c.length;){for(z=l(re(V),10),i2(z.n),i2(z.o),G6e(z.f),Lmt(z),n_n(z),te=new K(z.j);te.a<te.c.c.length;){for(J=l(re(te),12),i2(J.n),i2(J.a),i2(J.o),ga(J,cgt(J.j)),o=l(Q(J,(Nt(),D2)),17),o&&rt(J,D2,bt(-o.a)),s=new K(J.g);s.a<s.c.c.length;){for(r=l(re(s),18),n=Fr(r.a,0);n.b!=n.d.c;)t=l(Pr(n),8),i2(t);if(w=l(Q(r,lc),75),w)for(g=Fr(w,0);g.b!=g.d.c;)f=l(Pr(g),8),i2(f);for(L=new K(r.b);L.a<L.c.c.length;)T=l(re(L),72),i2(T.n),i2(T.o)}for(F=new K(J.f);F.a<F.c.c.length;)T=l(re(F),72),i2(T.n),i2(T.o)}for(z.k==(Jn(),Ks)&&(rt(z,(ft(),Xc),cgt(l(Q(z,Xc),64))),hSn(z)),C=new K(z.b);C.a<C.c.c.length;)T=l(re(C),72),Lmt(T),i2(T.o),i2(T.n)}}function RDn(e,t,n,r,s){var o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr;Fn=or(e.e,r),Fn==null&&(Fn=new D8,z=l(Fn,190),Ee=t+"_s",Me=Ee+s,F=new Ty(Me),Z0(z,Pd,F)),cn=l(Fn,190),Z8(n,cn),cr=new D8,qm(cr,"x",r.j),qm(cr,"y",r.k),Z0(cn,W4t,cr),At=new D8,qm(At,"x",r.b),qm(At,"y",r.c),Z0(cn,"endPoint",At),L=oO((!r.a&&(r.a=new Qs(qh,r,5)),r.a)),V=!L,V&&(ot=new Yp,o=new LQe(ot),Za((!r.a&&(r.a=new Qs(qh,r,5)),r.a),o),Z0(cn,KG,ot)),w=yue(r),$e=!!w,$e&&a9e(e.a,cn,ISe,Zue(e,yue(r))),fe=xue(r),Je=!!fe,Je&&a9e(e.a,cn,DSe,Zue(e,xue(r))),T=(!r.e&&(r.e=new An(cs,r,10,9)),r.e).i==0,J=!T,J&&(ln=new Yp,f=new rnt(e,ln),Za((!r.e&&(r.e=new An(cs,r,10,9)),r.e),f),Z0(cn,NSe,ln)),C=(!r.g&&(r.g=new An(cs,r,9,10)),r.g).i==0,te=!C,te&&($n=new Yp,g=new int(e,$n),Za((!r.g&&(r.g=new An(cs,r,9,10)),r.g),g),Z0(cn,OSe,$n))}function jDn(e){vy();var t,n,r,s,o,f,g;for(r=e.f.n,f=N5e(e.r).a.nc();f.Ob();){if(o=l(f.Pb(),117),s=0,o.b.pf((bi(),eh))&&(s=ze(Ge(o.b.of(eh))),s<0))switch(o.b.ag().g){case 1:r.d=b.Math.max(r.d,-s);break;case 3:r.a=b.Math.max(r.a,-s);break;case 2:r.c=b.Math.max(r.c,-s);break;case 4:r.b=b.Math.max(r.b,-s)}if(Y_(e.u))switch(t=U3n(o.b,s),g=!l(e.e.of(em),181).Hc((Xl(),dF)),n=!1,o.b.ag().g){case 1:n=t>r.d,r.d=b.Math.max(r.d,t),g&&n&&(r.d=b.Math.max(r.d,r.a),r.a=r.d+s);break;case 3:n=t>r.a,r.a=b.Math.max(r.a,t),g&&n&&(r.a=b.Math.max(r.a,r.d),r.d=r.a+s);break;case 2:n=t>r.c,r.c=b.Math.max(r.c,t),g&&n&&(r.c=b.Math.max(r.b,r.c),r.b=r.c+s);break;case 4:n=t>r.b,r.b=b.Math.max(r.b,t),g&&n&&(r.b=b.Math.max(r.b,r.c),r.c=r.b+s)}}}function mwt(e,t){var n,r,s,o,f,g,w,T,C;return T="",t.length==0?e.ne(kTe,Jle,-1,-1):(C=Hy(t),wn(C.substr(0,3),"at ")&&(C=(Yn(3,C.length+1),C.substr(3))),C=C.replace(/\[.*?\]/g,""),f=C.indexOf("("),f==-1?(f=C.indexOf("@"),f==-1?(T=C,C=""):(T=Hy((Yn(f+1,C.length+1),C.substr(f+1))),C=Hy((Va(0,f,C.length),C.substr(0,f))))):(n=C.indexOf(")",f),T=(Va(f+1,n,C.length),C.substr(f+1,n-(f+1))),C=Hy((Va(0,f,C.length),C.substr(0,f)))),f=pd(C,ol(46)),f!=-1&&(C=(Yn(f+1,C.length+1),C.substr(f+1))),(C.length==0||wn(C,"Anonymous function"))&&(C=Jle),g=Vq(T,ol(58)),s=L4e(T,ol(58),g-1),w=-1,r=-1,o=kTe,g!=-1&&s!=-1&&(o=(Va(0,s,T.length),T.substr(0,s)),w=Nrt((Va(s+1,g,T.length),T.substr(s+1,g-(s+1)))),r=Nrt((Yn(g+1,T.length+1),T.substr(g+1)))),e.ne(o,C,w,r))}function $Dn(e){var t,n,r,s,o,f,g,w,T,C,L;for(T=new K(e);T.a<T.c.c.length;){switch(w=l(re(T),10),f=l(Q(w,(Nt(),Qu)),171),o=null,f.g){case 1:case 2:o=(Jm(),F6);break;case 3:case 4:o=(Jm(),jE)}if(o)rt(w,(ft(),fW),(Jm(),F6)),o==jE?RV(w,f,(qo(),Fl)):o==F6&&RV(w,f,(qo(),$u));else if(F5(l(Q(w,Ds),101))&&w.j.c.length!=0){for(t=!0,L=new K(w.j);L.a<L.c.c.length;){if(C=l(re(L),12),!(C.j==(_t(),sr)&&C.e.c.length-C.g.c.length>0||C.j==Zn&&C.e.c.length-C.g.c.length<0)){t=!1;break}for(s=new K(C.g);s.a<s.c.c.length;)if(n=l(re(s),18),g=l(Q(n.d.i,Qu),171),g==(lf(),QL)||g==b4){t=!1;break}for(r=new K(C.e);r.a<r.c.c.length;)if(n=l(re(r),18),g=l(Q(n.c.i,Qu),171),g==(lf(),XL)||g==Yb){t=!1;break}}t&&RV(w,f,(qo(),aM))}}}function zDn(e,t,n,r,s){var o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot;for(ot=0,z=0,L=new K(t.e);L.a<L.c.c.length;){for(C=l(re(L),10),F=0,g=0,w=n?l(Q(C,jW),17).a:ao,fe=r?l(Q(C,$W),17).a:ao,T=b.Math.max(w,fe),Me=new K(C.j);Me.a<Me.c.c.length;){if(Ee=l(re(Me),12),$e=C.n.b+Ee.n.b+Ee.a.b,r)for(f=new K(Ee.g);f.a<f.c.c.length;)o=l(re(f),18),J=o.d,V=J.i,t!=e.a[V.p]&&(te=b.Math.max(l(Q(V,jW),17).a,l(Q(V,$W),17).a),Je=l(Q(o,(Nt(),Zx)),17).a,Je>=T&&Je>=te&&(F+=V.n.b+J.n.b+J.a.b-$e,++g));if(n)for(f=new K(Ee.e);f.a<f.c.c.length;)o=l(re(f),18),J=o.c,V=J.i,t!=e.a[V.p]&&(te=b.Math.max(l(Q(V,jW),17).a,l(Q(V,$W),17).a),Je=l(Q(o,(Nt(),Zx)),17).a,Je>=T&&Je>=te&&(F+=V.n.b+J.n.b+J.a.b-$e,++g))}g>0&&(ot+=F/g,++z)}z>0?(t.a=s*ot/z,t.g=z):(t.a=0,t.g=0)}function qDn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At;for(o=e.f.b,F=o.a,C=o.b,V=e.e.g,z=e.e.f,j5(e.e,o.a,o.b),ot=F/V,At=C/z,T=new ar(MH(e.e));T.e!=T.i.gc();)w=l(dr(T),135),Vu(w,w.i*ot),Gu(w,w.j*At);for(Ee=new ar(loe(e.e));Ee.e!=Ee.i.gc();)fe=l(dr(Ee),123),$e=fe.i,Je=fe.j,$e>0&&Vu(fe,$e*ot),Je>0&&Gu(fe,Je*At);for(vA(e.b,new Vg),t=new mt,g=new Xm(new Cr(e.c).a);g.b;)f=zw(g),r=l(f.ld(),74),n=l(f.md(),407).a,s=f6(r,!1,!1),L=lpt(hg(r),sP(s),n),xP(L,s),Me=Tpt(r),Me&&bc(t,Me,0)==-1&&(qn(t.c,Me),Jat(Me,(br(L.b!=0),l(L.a.a.c,8)),n));for(te=new Xm(new Cr(e.d).a);te.b;)J=zw(te),r=l(J.ld(),74),n=l(J.md(),407).a,s=f6(r,!1,!1),L=lpt(Ib(r),BN(sP(s)),n),L=BN(L),xP(L,s),Me=Ept(r),Me&&bc(t,Me,0)==-1&&(qn(t.c,Me),Jat(Me,(br(L.b!=0),l(L.c.b.c,8)),n))}function vwt(e,t,n,r){var s,o,f,g,w;return g=new sTe(t),OCn(g,r),s=!0,e&&e.pf((bi(),Lv))&&(o=l(e.of((bi(),Lv)),88),s=o==(ea(),J1)||o==hc||o==yc),mmt(g,!1),Uu(g.e.Rf(),new B4e(g,!1,s)),Toe(g,g.f,(e1(),Wc),(_t(),Xn)),Toe(g,g.f,Yc,Mr),Toe(g,g.g,Wc,Zn),Toe(g,g.g,Yc,sr),Gdt(g,Xn),Gdt(g,Mr),Yat(g,sr),Yat(g,Zn),vy(),f=g.A.Hc((gh(),D4))&&g.B.Hc((Xl(),gF))?ldt(g):null,f&&qun(g.a,f),jDn(g),$7n(g),z7n(g),fDn(g),$_n(g),d8n(g),fue(g,Xn),fue(g,Mr),m_n(g),$Ln(g),n&&(x5n(g),g8n(g),fue(g,sr),fue(g,Zn),w=g.B.Hc((Xl(),RM)),u2t(g,w,Xn),u2t(g,w,Mr),l2t(g,w,sr),l2t(g,w,Zn),Os(new vn(null,new kn(new pi(g.i),0)),new Lc),Os(ji(new vn(null,N5e(g.r).a.oc()),new Fa),new Ra),Axn(g),g.e.Pf(g.o),Os(new vn(null,N5e(g.r).a.oc()),new ma)),g.o}function HDn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J;for(T=gs,r=new K(e.a.b);r.a<r.c.c.length;)t=l(re(r),86),T=b.Math.min(T,t.d.f.g.c+t.e.a);for(z=new os,f=new K(e.a.a);f.a<f.c.c.length;)o=l(re(f),194),o.i=T,o.e==0&&_s(z,o,z.c.b,z.c);for(;z.b!=0;){for(o=l(z.b==0?null:(br(z.b!=0),sf(z,z.a.a)),194),s=o.f.g.c,F=o.a.a.ec().Kc();F.Ob();)C=l(F.Pb(),86),J=o.i+C.e.a,C.d.g||C.g.c<J?C.o=J:C.o=C.g.c;for(s-=o.f.o,o.b+=s,e.c==(ea(),yc)||e.c==Q1?o.c+=s:o.c-=s,L=o.a.a.ec().Kc();L.Ob();)for(C=l(L.Pb(),86),w=C.f.Kc();w.Ob();)g=l(w.Pb(),86),Yg(e.c)?V=e.f.yf(C,g):V=e.f.zf(C,g),g.d.i=b.Math.max(g.d.i,C.o+C.g.b+V-g.e.a),g.k||(g.d.i=b.Math.max(g.d.i,g.g.c-g.e.a)),--g.d.e,g.d.e==0&&ci(z,g.d)}for(n=new K(e.a.b);n.a<n.c.c.length;)t=l(re(n),86),t.g.c=t.o}function UDn(e){var t,n,r,s,o,f,g,w;switch(g=e.b,t=e.a,l(Q(e,(yV(),G_e)),435).g){case 0:Gs(g,new Ut(new Zf));break;case 1:default:Gs(g,new Ut(new Up))}switch(l(Q(e,U_e),436).g){case 1:Gs(g,new Xd),Gs(g,new u5),Gs(g,new od);break;case 0:default:Gs(g,new Xd),Gs(g,new Wd)}switch(l(Q(e,W_e),257).g){case 0:w=new Qo;break;case 1:w=new jr;break;case 2:w=new Ji;break;case 3:w=new Vt;break;case 5:w=new C5(new Ji);break;case 4:w=new C5(new jr);break;case 7:w=new K3e(new C5(new jr),new C5(new Ji));break;case 8:w=new K3e(new C5(new Vt),new C5(new Ji));break;case 6:default:w=new C5(new Vt)}for(f=new K(g);f.a<f.c.c.length;){for(o=l(re(f),176),r=0,s=0,n=new fa(bt(r),bt(s));CAn(t,o,r,s);)n=l(w.Ve(n,o),42),r=l(n.a,17).a,s=l(n.b,17).a;x_n(t,o,r,s)}}function wwt(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot;for(n.Ug(Kyt,1),F=(Zi(),Yde),e.a==(TA(),GW)&&(F=yIe),C=0,Cn(),t.jd(new Wie(F)),o=t.gc(),g=t.fd(t.gc()),T=!0;T&&g.Sb();)Ee=l(g.Ub(),40),l(Q(Ee,F),17).a==0?--o:T=!1;if(ot=t.kd(0,o),f=new _ae(ot),ot=t.kd(o,t.gc()),w=new _ae(ot),f.b==0)for(J=Fr(w,0);J.b!=J.d.c;)V=l(Pr(J),40),rt(V,bM,bt(C++));else for(L=f.b,Je=Fr(f,0);Je.b!=Je.d.c;){for($e=l(Pr(Je),40),rt($e,bM,bt(C++)),r=Lce($e),wwt(e,r,n.eh(1/L|0)),Wm(r,V5e(new Wie(bM))),z=new os,Me=Fr(r,0);Me.b!=Me.d.c;)for(Ee=l(Pr(Me),40),fe=Fr($e.d,0);fe.b!=fe.d.c;)te=l(Pr(fe),65),te.c==Ee&&_s(z,te,z.c.b,z.c);for(Ch($e.d),Ga($e.d,z),g=Fr(w,w.b),s=$e.d.b,T=!0;0<s&&T&&g.Sb();)Ee=l(g.Ub(),40),l(Q(Ee,F),17).a==0?(rt(Ee,bM,bt(C++)),--s,g.Qb()):T=!1}n.Vg()}function VDn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z;for(L=ze(Ge(at(e,(Pb(),gge)))),Ft(Pt(at(e,tOe)))&&(C=l(at(e,(V5(),Q6)),27),o=l(Oe(G5e(l(Oe((!C.e&&(C.e=new An(js,C,7,4)),C.e),(!C.e&&(C.e=new An(js,C,7,4)),C.e).i-1),74)),0),27),r=l(Oe(G5e(l(Oe((!C.e&&(C.e=new An(js,C,7,4)),C.e),0),74)),0),27),f=new lt(o.i+o.g/2,o.j+o.f/2),s=new lt(r.i+r.g/2,r.j+r.f/2),n=L,n<=0&&(n+=fv),F=b.Math.acos((f.a*s.a+f.b*s.b)/(b.Math.sqrt(f.a*f.a+f.b*f.b)*b.Math.sqrt(s.a*s.a+s.b*s.b))),F<=0&&(F+=fv),t=b.Math.atan2(f.b,f.a),t<=0&&(t+=fv),L=ACe-(t-n+F/2)),w=new ar((!e.a&&(e.a=new nt(Li,e,10,11)),e.a));w.e!=w.i.gc();)g=l(dr(w),27),T=new lt(g.i+g.g/2,g.j+g.f/2),z=T.a*b.Math.cos(L)-T.b*b.Math.sin(L),T.b=T.a*b.Math.sin(L)+T.b*b.Math.cos(L),T.a=z,Xh(g,T.a-g.g/2,T.b-g.f/2)}function GDn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me;for(t.Ug("Inverted port preprocessing",1),C=e.b,T=new Ua(C,0),n=null,Me=new mt;T.b<T.d.gc();){for(Ee=n,n=(br(T.b<T.d.gc()),l(T.d.Xb(T.c=T.b++),30)),z=new K(Me);z.a<z.c.c.length;)L=l(re(z),10),Ha(L,Ee);for(Me.c.length=0,V=new K(n.a);V.a<V.c.c.length;)if(L=l(re(V),10),L.k==(Jn(),Bs)&&F5(l(Q(L,(Nt(),Ds)),101))){for(fe=xke(L,(qo(),Fl),(_t(),sr)).Kc();fe.Ob();)for(J=l(fe.Pb(),12),w=J.e,g=l(j1(w,We(T1e,Xhe,18,w.c.length,0,1)),483),s=g,o=0,f=s.length;o<f;++o)r=s[o],pLn(e,J,r,Me);for(te=xke(L,$u,Zn).Kc();te.Ob();)for(J=l(te.Pb(),12),w=J.g,g=l(j1(w,We(T1e,Xhe,18,w.c.length,0,1)),483),s=g,o=0,f=s.length;o<f;++o)r=s[o],gLn(e,J,r,Me)}}for(F=new K(Me);F.a<F.c.c.length;)L=l(re(F),10),Ha(L,n);t.Vg()}function qle(e,t,n,r,s,o,f){var g,w,T,C,L,F,z,V,J,te,fe,Ee,Me;for(F=null,r==(Ow(),Jb)?F=t:r==Y6&&(F=n),J=F.a.ec().Kc();J.Ob();){for(V=l(J.Pb(),12),te=Bc(he(le(Ca,1),dt,8,0,[V.i.n,V.n,V.a])).b,Me=new Ys,g=new Ys,T=new N1(V.b);Oc(T.a)||Oc(T.b);)if(w=l(Oc(T.a)?re(T.a):re(T.b),18),Ft(Pt(Q(w,(ft(),W1))))==s&&bc(o,w,0)!=-1){if(w.d==V?fe=w.c:fe=w.d,Ee=Bc(he(le(Ca,1),dt,8,0,[fe.i.n,fe.n,fe.a])).b,b.Math.abs(Ee-te)<.2)continue;Ee<te?t.a._b(fe)?sa(Me,new fa(Jb,w)):sa(Me,new fa(Y6,w)):t.a._b(fe)?sa(g,new fa(Jb,w)):sa(g,new fa(Y6,w))}if(Me.a.gc()>1)for(z=new Xke(V,Me,r),Za(Me,new Att(e,z)),qn(f.c,z),L=Me.a.ec().Kc();L.Ob();)C=l(L.Pb(),42),sl(o,C.b);if(g.a.gc()>1)for(z=new Xke(V,g,r),Za(g,new Ltt(e,z)),qn(f.c,z),L=g.a.ec().Kc();L.Ob();)C=l(L.Pb(),42),sl(o,C.b)}}function KDn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe;if(J=e.n,te=e.o,F=e.d,L=ze(Ge(Ry(e,(Nt(),xde)))),t){for(C=L*(t.gc()-1),z=0,w=t.Kc();w.Ob();)f=l(w.Pb(),10),C+=f.o.a,z=b.Math.max(z,f.o.b);for(fe=J.a-(C-te.a)/2,o=J.b-F.d+z,r=te.a/(t.gc()+1),s=r,g=t.Kc();g.Ob();)f=l(g.Pb(),10),f.n.a=fe,f.n.b=o-f.o.b,fe+=f.o.a+L,T=_bt(f),T.n.a=f.o.a/2-T.a.a,T.n.b=f.o.b,V=l(Q(f,(ft(),lW)),12),V.e.c.length+V.g.c.length==1&&(V.n.a=s-V.a.a,V.n.b=0,Nc(V,e)),s+=r}if(n){for(C=L*(n.gc()-1),z=0,w=n.Kc();w.Ob();)f=l(w.Pb(),10),C+=f.o.a,z=b.Math.max(z,f.o.b);for(fe=J.a-(C-te.a)/2,o=J.b+te.b+F.a-z,r=te.a/(n.gc()+1),s=r,g=n.Kc();g.Ob();)f=l(g.Pb(),10),f.n.a=fe,f.n.b=o,fe+=f.o.a+L,T=_bt(f),T.n.a=f.o.a/2-T.a.a,T.n.b=0,V=l(Q(f,(ft(),lW)),12),V.e.c.length+V.g.c.length==1&&(V.n.a=s-V.a.a,V.n.b=te.b,Nc(V,e)),s+=r}}function WDn(e,t){var n,r,s,o,f,g;if(l(Q(t,(ft(),_u)),21).Hc((Ho(),mf))){for(g=new K(t.a);g.a<g.c.c.length;)o=l(re(g),10),o.k==(Jn(),Bs)&&(s=l(Q(o,(Nt(),CW)),140),e.c=b.Math.min(e.c,o.n.a-s.b),e.a=b.Math.max(e.a,o.n.a+o.o.a+s.c),e.d=b.Math.min(e.d,o.n.b-s.d),e.b=b.Math.max(e.b,o.n.b+o.o.b+s.a));for(f=new K(t.a);f.a<f.c.c.length;)if(o=l(re(f),10),o.k!=(Jn(),Bs))switch(o.k.g){case 2:if(r=l(Q(o,(Nt(),Qu)),171),r==(lf(),Yb)){o.n.a=e.c-10,Igt(o,new Tj).Jb(new _Ye(o));break}if(r==b4){o.n.a=e.a+10,Igt(o,new IZ).Jb(new AYe(o));break}if(n=l(Q(o,wv),311),n==(ip(),j6)){Hvt(o).Jb(new LYe(o)),o.n.b=e.d-10;break}if(n==Gx){Hvt(o).Jb(new MYe(o)),o.n.b=e.b+10;break}break;default:throw ue(new Wn("The node type "+o.k+" is not supported by the "+HOn))}}}function YDn(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V,J,te;for(w=new lt(r.i+r.g/2,r.j+r.f/2),z=$vt(r),V=l(at(t,(Nt(),Ds)),101),te=l(at(r,GE),64),ant(qdt(r),y4)||(r.i==0&&r.j==0?J=0:J=u9n(r,te),Vi(r,y4,J)),T=new lt(t.g,t.f),s=SP(r,V,te,z,T,w,new lt(r.g,r.f),l(Q(n,Rh),88),n),rt(s,(ft(),zi),r),o=l(Rt(s.j,0),12),m(o,dAn(r)),rt(s,x4,(Pl(),hn(im))),L=l(at(t,x4),181).Hc(kp),g=new ar((!r.n&&(r.n=new nt(nc,r,1,7)),r.n));g.e!=g.i.gc();)if(f=l(dr(g),135),!Ft(Pt(at(f,Cv)))&&f.a&&(F=Kce(f),wt(o.f,F),!L))switch(C=0,Y_(l(at(t,x4),21))&&(C=P9e(new lt(f.i,f.j),new lt(f.g,f.f),new lt(r.g,r.f),0,te)),te.g){case 2:case 4:F.o.a=C;break;case 1:case 3:F.o.b=C}rt(s,WE,Ge(at(ds(t),WE))),rt(s,YE,Ge(at(ds(t),YE))),rt(s,T4,Ge(at(ds(t),T4))),wt(n.a,s),Ti(e.a,r,s)}function XDn(e,t,n,r,s,o){var f,g,w,T,C,L;for(T=new du,mc(T,t),ga(T,l(at(t,(Nt(),GE)),64)),rt(T,(ft(),zi),t),Nc(T,n),L=T.o,L.a=t.g,L.b=t.f,C=T.n,C.a=t.i,C.b=t.j,Ti(e.a,t,T),f=X5(gc(Pc(new vn(null,(!t.e&&(t.e=new An(js,t,7,4)),new kn(t.e,16))),new mj),new J7),new vYe(t)),f||(f=X5(gc(Pc(new vn(null,(!t.d&&(t.d=new An(js,t,8,5)),new kn(t.d,16))),new V9),new lS),new wYe(t))),f||(f=X5(new vn(null,(!t.e&&(t.e=new An(js,t,7,4)),new kn(t.e,16))),new aZ)),rt(T,LB,(Hn(),!!f)),bMn(T,o,s,l(at(t,k3),8)),w=new ar((!t.n&&(t.n=new nt(nc,t,1,7)),t.n));w.e!=w.i.gc();)g=l(dr(w),135),!Ft(Pt(at(g,Cv)))&&g.a&&wt(T.f,Kce(g));switch(s.g){case 2:case 1:(T.j==(_t(),Xn)||T.j==Mr)&&r.Fc((Ho(),R6));break;case 4:case 3:(T.j==(_t(),sr)||T.j==Zn)&&r.Fc((Ho(),R6))}return T}function QDn(e,t,n,r,s){var o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn;for(Me=0,V=0,z=0,F=1,Ee=new ar((!e.a&&(e.a=new nt(Li,e,10,11)),e.a));Ee.e!=Ee.i.gc();)te=l(dr(Ee),27),F+=ep(new lr(fr(fp(te).a.Kc(),new j))),ln=te.g,V=b.Math.max(V,ln),L=te.f,z=b.Math.max(z,L),Me+=ln*L;for(J=(!e.a&&(e.a=new nt(Li,e,10,11)),e.a).i,f=Me+2*r*r*F*J,o=b.Math.sqrt(f),w=b.Math.max(o*n,V),g=b.Math.max(o/n,z),fe=new ar((!e.a&&(e.a=new nt(Li,e,10,11)),e.a));fe.e!=fe.i.gc();)te=l(dr(fe),27),cn=s.b+(Yl(t,26)*sL+Yl(t,27)*aL)*(w-te.g),Fn=s.b+(Yl(t,26)*sL+Yl(t,27)*aL)*(g-te.f),Vu(te,cn),Gu(te,Fn);for(At=w+(s.b+s.c),ot=g+(s.d+s.a),Je=new ar((!e.a&&(e.a=new nt(Li,e,10,11)),e.a));Je.e!=Je.i.gc();)for($e=l(dr(Je),27),C=new lr(fr(fp($e).a.Kc(),new j));Rr(C);)T=l(yr(C),74),HA(T)||nOn(T,t,At,ot);At+=s.b+s.c,ot+=s.d+s.a,Zw(e,At,ot,!1,!0)}function sTe(e){var t;if(this.r=Mpn(new ha,new $o),this.b=new MA(l(Xr(Mo),297)),this.p=new MA(l(Xr(Mo),297)),this.i=new MA(l(Xr(Y7t),297)),this.e=e,this.o=new xo(e.Mf()),this.D=e.Yf()||Ft(Pt(e.of((bi(),tF)))),this.A=l(e.of((bi(),Mv)),21),this.B=l(e.of(em),21),this.q=l(e.of(AM),101),this.u=l(e.of(L4),21),!v9n(this.u))throw ue(new Zp("Invalid port label placement: "+this.u));if(this.v=Ft(Pt(e.of(HNe))),this.j=l(e.of(s7),21),!KEn(this.j))throw ue(new Zp("Invalid node label placement: "+this.j));this.n=l(FA(e,MNe),107),this.k=ze(Ge(FA(e,hY))),this.d=ze(Ge(FA(e,WNe))),this.w=ze(Ge(FA(e,ZNe))),this.s=ze(Ge(FA(e,YNe))),this.t=ze(Ge(FA(e,XNe))),this.C=l(FA(e,QNe),140),this.c=2*this.d,t=!this.B.Hc((Xl(),dF)),this.f=new IA(0,t,0),this.g=new IA(1,t,0),lse(this.f,(e1(),ju),this.g)}function JDn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe;for(t.Ug("Comment pre-processing",1),n=0,w=new K(e.a);w.a<w.c.c.length;)if(g=l(re(w),10),Ft(Pt(Q(g,(Nt(),JL))))){for(++n,s=0,r=null,T=null,V=new K(g.j);V.a<V.c.c.length;)F=l(re(V),12),s+=F.e.c.length+F.g.c.length,F.e.c.length==1&&(r=l(Rt(F.e,0),18),T=r.c),F.g.c.length==1&&(r=l(Rt(F.g,0),18),T=r.d);if(s==1&&T.e.c.length+T.g.c.length==1&&!Ft(Pt(Q(T.i,JL))))MIn(g,r,T,T.i),J_(w);else{for(fe=new mt,z=new K(g.j);z.a<z.c.c.length;){for(F=l(re(z),12),L=new K(F.g);L.a<L.c.c.length;)C=l(re(L),18),C.d.g.c.length==0||qn(fe.c,C);for(f=new K(F.e);f.a<f.c.c.length;)o=l(re(f),18),o.c.e.c.length==0||qn(fe.c,o)}for(te=new K(fe);te.a<te.c.c.length;)J=l(re(te),18),Jw(J,!0)}}t._g()&&t.bh("Found "+n+" comment boxes"),t.Vg()}function aTe(e,t){fst();var n,r,s,o,f,g,w;if(this.a=new Bye(this),this.b=e,this.c=t,this.f=eoe(ac((kl(),no),t)),this.f.dc())if((g=Rxe(no,e))==t)for(this.e=!0,this.d=new mt,this.f=new M$,this.f.Fc(bv),l(QV(vN(no,Ah(e)),""),29)==e&&this.f.Fc(W_(no,Ah(e))),s=yle(no,e).Kc();s.Ob();)switch(r=l(s.Pb(),179),Lw(ac(no,r))){case 4:{this.d.Fc(r);break}case 5:{this.f.Gc(eoe(ac(no,r)));break}}else if(Ro(),l(t,69).xk())for(this.e=!0,this.f=null,this.d=new mt,f=0,w=(e.i==null&&Sd(e),e.i).length;f<w;++f)for(r=(n=(e.i==null&&Sd(e),e.i),f>=0&&f<n.length?n[f]:null),o=ix(ac(no,r));o;o=ix(ac(no,o)))o==t&&this.d.Fc(r);else Lw(ac(no,t))==1&&g?(this.f=null,this.d=(Tx(),IAt)):(this.f=null,this.e=!0,this.d=(Cn(),new Ma(t)));else this.e=Lw(ac(no,t))==5,this.f.Fb(wpe)&&(this.f=wpe)}function ywt(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V;for(n=0,r=M7n(e,t),F=e.s,z=e.t,T=l(l($i(e.r,t),21),87).Kc();T.Ob();)if(w=l(T.Pb(),117),!(!w.c||w.c.d.c.length<=0)){switch(V=w.b.Mf(),g=w.b.pf((bi(),eh))?ze(Ge(w.b.of(eh))):0,C=w.c,L=C.i,L.b=(f=C.n,C.e.a+f.b+f.c),L.a=(o=C.n,C.e.b+o.d+o.a),t.g){case 1:L.c=w.a?(V.a-L.b)/2:V.a+F,L.d=V.b+g+r,J0(C,(Ol(),Vb)),vd(C,(al(),s1));break;case 3:L.c=w.a?(V.a-L.b)/2:V.a+F,L.d=-g-r-L.a,J0(C,(Ol(),Vb)),vd(C,(al(),v0));break;case 2:L.c=-g-r-L.b,w.a?(s=e.v?L.a:l(Rt(C.d,0),187).Mf().b,L.d=(V.b-s)/2):L.d=V.b+z,J0(C,(Ol(),m0)),vd(C,(al(),Gb));break;case 4:L.c=V.a+g+r,w.a?(s=e.v?L.a:l(Rt(C.d,0),187).Mf().b,L.d=(V.b-s)/2):L.d=V.b+z,J0(C,(Ol(),Fd)),vd(C,(al(),Gb))}(t==(_t(),Xn)||t==Mr)&&(n=b.Math.max(n,L.a))}n>0&&(l(Zo(e.b,t),127).a.b=n)}function ZDn(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V,J;if(F=ze(Ge(Q(e,(Nt(),WE)))),z=ze(Ge(Q(e,YE))),L=ze(Ge(Q(e,T4))),g=e.o,o=l(Rt(e.j,0),12),f=o.n,J=bkn(o,L),!!J){if(t.Hc((Pl(),kp)))switch(l(Q(e,(ft(),Xc)),64).g){case 1:J.c=(g.a-J.b)/2-f.a,J.d=z;break;case 3:J.c=(g.a-J.b)/2-f.a,J.d=-z-J.a;break;case 2:n&&o.e.c.length==0&&o.g.c.length==0?(C=r?J.a:l(Rt(o.f,0),72).o.b,J.d=(g.b-C)/2-f.b):J.d=g.b+z-f.b,J.c=-F-J.b;break;case 4:n&&o.e.c.length==0&&o.g.c.length==0?(C=r?J.a:l(Rt(o.f,0),72).o.b,J.d=(g.b-C)/2-f.b):J.d=g.b+z-f.b,J.c=F}else if(t.Hc(im))switch(l(Q(e,(ft(),Xc)),64).g){case 1:case 3:J.c=f.a+F;break;case 2:case 4:n&&!o.c?(C=r?J.a:l(Rt(o.f,0),72).o.b,J.d=(g.b-C)/2-f.b):J.d=f.b+z}for(s=J.d,T=new K(o.f);T.a<T.c.c.length;)w=l(re(T),72),V=w.n,V.a=J.c,V.b=s,s+=w.o.b+L}}function eIn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n;for(ot=new mt,V=new K(e.b);V.a<V.c.c.length;)for(z=l(re(V),30),fe=new K(z.a);fe.a<fe.c.c.length;)if(J=l(re(fe),10),J.k==(Jn(),Ks)&&rs(J,(ft(),dW))){for(Ee=null,$e=null,Me=null,cn=new K(J.j);cn.a<cn.c.c.length;)switch(ln=l(re(cn),12),ln.j.g){case 4:Ee=ln;break;case 2:$e=ln;break;default:Me=ln}for(Je=l(Rt(Me.g,0),18),C=new Zz(Je.a),T=new xo(Me.n),Pi(T,J.n),L=Fr(C,0),YO(L,T),At=BN(Je.a),F=new xo(Me.n),Pi(F,J.n),_s(At,F,At.c.b,At.c),Fn=l(Q(J,dW),10),$n=l(Rt(Fn.j,0),12),w=l(j1(Ee.e,We(T1e,Xhe,18,0,0,1)),483),r=w,o=0,g=r.length;o<g;++o)t=r[o],Na(t,$n),qce(t.a,t.a.b,C);for(w=kd($e.g),n=w,s=0,f=n.length;s<f;++s)t=n[s],ho(t,$n),qce(t.a,0,At);ho(Je,null),Na(Je,null),qn(ot.c,J)}for(te=new K(ot);te.a<te.c.c.length;)J=l(re(te),10),Ha(J,null)}function tIn(){yi(kF,new Pre),yi(PY,new X$),yi(TF,new Jre),yi(cBe,new rz),yi($t,new S1),yi(le(_l,1),new iz),yi(Ps,new dk),yi($x,new VI),yi($t,new HS),yi($t,new Dre),yi($t,new Ire),yi(ra,new b8),yi($t,new V$),yi(bf,new G$),yi(bf,new Ore),yi($t,new K$),yi(LE,new W$),yi($t,new qI),yi($t,new US),yi($t,new Bre),yi($t,new Fre),yi($t,new Rre),yi(le(_l,1),new jre),yi($t,new $re),yi($t,new Y$),yi(bf,new zre),yi(bf,new qre),yi($t,new Hre),yi(to,new Ure),yi($t,new Vre),yi(l3,new VS),yi($t,new Gre),yi($t,new Kre),yi($t,new Wre),yi($t,new Yre),yi(bf,new Xre),yi(bf,new Qre),yi($t,new Q$),yi($t,new J$),yi($t,new Zre),yi($t,new HI),yi($t,new eie),yi($t,new Z$),yi(h3,new tie),yi($t,new ez),yi($t,new nie),yi($t,new tz),yi(h3,new nz),yi(l3,new UI),yi($t,new x5),yi(to,new GS)}function xwt(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V;switch(C=new pl,e.a.g){case 3:F=l(Q(t.e,(ft(),yv)),15),z=l(Q(t.j,yv),15),V=l(Q(t.f,yv),15),n=l(Q(t.e,H6),15),r=l(Q(t.j,H6),15),s=l(Q(t.f,H6),15),f=new mt,aa(f,F),z.Jc(new Yee),aa(f,uf(z)),aa(f,V),o=new mt,aa(o,n),aa(o,uf(r)),aa(o,s),rt(t.f,yv,f),rt(t.f,H6,o),rt(t.f,hMe,t.f),rt(t.e,yv,null),rt(t.e,H6,null),rt(t.j,yv,null),rt(t.j,H6,null);break;case 1:Ga(C,t.e.a),ci(C,t.i.n),Ga(C,uf(t.j.a)),ci(C,t.a.n),Ga(C,t.f.a);break;default:Ga(C,t.e.a),Ga(C,uf(t.j.a)),Ga(C,t.f.a)}Ch(t.f.a),Ga(t.f.a,C),ho(t.f,t.e.c),g=l(Q(t.e,(Nt(),lc)),75),T=l(Q(t.j,lc),75),w=l(Q(t.f,lc),75),(g||T||w)&&(L=new pl,I5e(L,w),I5e(L,T),I5e(L,g),rt(t.f,lc,L)),ho(t.j,null),Na(t.j,null),ho(t.e,null),Na(t.e,null),Ha(t.a,null),Ha(t.i,null),t.g&&xwt(e,t.g)}function kwt(){kwt=U;var e,t,n;for(new qN(1,0),new qN(10,0),new qN(0,0),W6t=We(H0e,dt,247,11,0,1),vv=We(xf,Ad,28,100,15,1),C_e=he(le(Oa,1),tc,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]),S_e=We(Ur,fi,28,C_e.length,15,1),__e=he(le(Oa,1),tc,28,15,[1,10,100,C2,1e4,xhe,1e6,1e7,1e8,sG,1e10,1e11,1e12,1e13,1e14,1e15,1e16]),A_e=We(Ur,fi,28,__e.length,15,1),L_e=We(H0e,dt,247,11,0,1),e=0;e<L_e.length;e++)W6t[e]=new qN(e,0),L_e[e]=new qN(0,e),vv[e]=48;for(;e<vv.length;e++)vv[e]=48;for(n=0;n<S_e.length;n++)S_e[n]=I9e(C_e[n]);for(t=0;t<A_e.length;t++)A_e[t]=I9e(__e[t]);WT()}function nIn(){function e(){this.obj=this.createObject()}return e.prototype.createObject=function(t){return Object.create(null)},e.prototype.get=function(t){return this.obj[t]},e.prototype.set=function(t,n){this.obj[t]=n},e.prototype[Ehe]=function(t){delete this.obj[t]},e.prototype.keys=function(){return Object.getOwnPropertyNames(this.obj)},e.prototype.entries=function(){var t=this.keys(),n=this,r=0;return{next:function(){if(r>=t.length)return{done:!0};var s=t[r++];return{value:[s,n.get(s)],done:!1}}}},XSn()||(e.prototype.createObject=function(){return{}},e.prototype.get=function(t){return this.obj[":"+t]},e.prototype.set=function(t,n){this.obj[":"+t]=n},e.prototype[Ehe]=function(t){delete this.obj[":"+t]},e.prototype.keys=function(){var t=[];for(var n in this.obj)n.charCodeAt(0)==58&&t.push(n.substring(1));return t}),e}function Zi(){Zi=U,pM=new Ki(JTe),new ws("DEPTH",bt(0)),Yde=new ws("FAN",bt(0)),yIe=new ws(Uyt,bt(0)),Zb=new ws("ROOT",(Hn(),!1)),Jde=new ws("LEFTNEIGHBOR",null),HEt=new ws("RIGHTNEIGHBOR",null),HW=new ws("LEFTSIBLING",null),Zde=new ws("RIGHTSIBLING",null),Wde=new ws("DUMMY",!1),new ws("LEVEL",bt(0)),TIe=new ws("REMOVABLE_EDGES",new os),HB=new ws("XCOOR",bt(0)),UB=new ws("YCOOR",bt(0)),UW=new ws("LEVELHEIGHT",0),o1=new ws("LEVELMIN",0),x0=new ws("LEVELMAX",0),Xde=new ws("GRAPH_XMIN",0),Qde=new ws("GRAPH_YMIN",0),xIe=new ws("GRAPH_XMAX",0),kIe=new ws("GRAPH_YMAX",0),wIe=new ws("COMPACT_LEVEL_ASCENSION",!1),Kde=new ws("COMPACT_CONSTRAINTS",new mt),gM=new ws("ID",""),bM=new ws("POSITION",bt(0)),N2=new ws("PRELIM",0),eC=new ws("MODIFIER",0),ZE=new Ki(nyt),qB=new Ki(ryt)}function rIn(e){$ke();var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te;if(e==null)return null;if(L=e.length*8,L==0)return"";for(g=L%24,z=L/24|0,F=g!=0?z+1:z,o=null,o=We(xf,Ad,28,F*4,15,1),T=0,C=0,t=0,n=0,r=0,f=0,s=0,w=0;w<z;w++)t=e[s++],n=e[s++],r=e[s++],C=(n&15)<<24>>24,T=(t&3)<<24>>24,V=t&-128?(t>>2^192)<<24>>24:t>>2<<24>>24,J=n&-128?(n>>4^240)<<24>>24:n>>4<<24>>24,te=r&-128?(r>>6^252)<<24>>24:r>>6<<24>>24,o[f++]=H2[V],o[f++]=H2[J|T<<4],o[f++]=H2[C<<2|te],o[f++]=H2[r&63];return g==8?(t=e[s],T=(t&3)<<24>>24,V=t&-128?(t>>2^192)<<24>>24:t>>2<<24>>24,o[f++]=H2[V],o[f++]=H2[T<<4],o[f++]=61,o[f++]=61):g==16&&(t=e[s],n=e[s+1],C=(n&15)<<24>>24,T=(t&3)<<24>>24,V=t&-128?(t>>2^192)<<24>>24:t>>2<<24>>24,J=n&-128?(n>>4^240)<<24>>24:n>>4<<24>>24,o[f++]=H2[V],o[f++]=H2[J|T<<4],o[f++]=H2[C<<2],o[f++]=61),If(o,0,o.length)}function iIn(e,t){var n,r,s,o,f,g,w;if(e.e==0&&e.p>0&&(e.p=-(e.p-1)),e.p>ao&&S6e(t,e.p-Rb),f=t.q.getDate(),rN(t,1),e.k>=0&&G2n(t,e.k),e.c>=0?rN(t,e.c):e.k>=0?(w=new n8e(t.q.getFullYear()-Rb,t.q.getMonth(),35),r=35-w.q.getDate(),rN(t,b.Math.min(r,f))):rN(t,f),e.f<0&&(e.f=t.q.getHours()),e.b>0&&e.f<12&&(e.f+=12),Fhn(t,e.f==24&&e.g?0:e.f),e.j>=0&&Avn(t,e.j),e.n>=0&&$vn(t,e.n),e.i>=0&&_nt(t,fo(go(tP(tu(t.q.getTime()),C2),C2),e.i)),e.a&&(s=new iq,S6e(s,s.q.getFullYear()-Rb-80),Sse(tu(t.q.getTime()),tu(s.q.getTime()))&&S6e(t,s.q.getFullYear()-Rb+100)),e.d>=0){if(e.c==-1)n=(7+e.d-t.q.getDay())%7,n>3&&(n-=7),g=t.q.getMonth(),rN(t,t.q.getDate()+n),t.q.getMonth()!=g&&rN(t,t.q.getDate()+(n>0?-7:7));else if(t.q.getDay()!=e.d)return!1}return e.o>ao&&(o=t.q.getTimezoneOffset(),_nt(t,fo(tu(t.q.getTime()),(e.o-o)*60*C2))),!0}function Twt(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e;if(s=Q(t,(ft(),zi)),!!De(s,207)){for(V=l(s,27),J=t.e,F=new xo(t.c),o=t.d,F.a+=o.b,F.b+=o.d,$e=l(at(V,(Nt(),AW)),181),ml($e,(Xl(),bY))&&(z=l(at(V,fDe),107),Rie(z,o.a),Pwe(z,o.d),jie(z,o.b),k8(z,o.c)),n=new mt,C=new K(t.a);C.a<C.c.c.length;)for(w=l(re(C),10),De(Q(w,zi),207)?lIn(w,F):De(Q(w,zi),193)&&!J&&(r=l(Q(w,zi),123),Ee=lvt(t,w,r.g,r.f),Xh(r,Ee.a,Ee.b)),fe=new K(w.j);fe.a<fe.c.c.length;)te=l(re(fe),12),Os(ji(new vn(null,new kn(te.g,16)),new yYe(w)),new xYe(n));if(J)for(fe=new K(J.j);fe.a<fe.c.c.length;)te=l(re(fe),12),Os(ji(new vn(null,new kn(te.g,16)),new kYe(J)),new TYe(n));for(Me=l(at(V,yp),223),g=new K(n);g.a<g.c.c.length;)f=l(re(g),18),CDn(f,Me,F);for(hAn(t),T=new K(t.a);T.a<T.c.c.length;)w=l(re(T),10),L=w.e,L&&Twt(e,L)}}function Ewt(e,t){var n,r,s,o,f,g,w,T,C,L,F,z;if(!l(l($i(e.r,t),21),87).dc()){if(f=l(Zo(e.b,t),127),w=f.i,g=f.n,C=fle(e,t),r=w.b-g.b-g.c,s=f.a.a,o=w.c+g.b,z=e.w,(C==(r6(),nm)||C==uF)&&l(l($i(e.r,t),21),87).gc()==1&&(s=C==nm?s-2*e.w:s,C=OM),r<s&&!e.B.Hc((Xl(),mY)))C==nm?(z+=(r-s)/(l(l($i(e.r,t),21),87).gc()+1),o+=z):z+=(r-s)/(l(l($i(e.r,t),21),87).gc()-1);else switch(r<s&&(s=C==nm?s-2*e.w:s,C=OM),C.g){case 3:o+=(r-s)/2;break;case 4:o+=r-s;break;case 0:n=(r-s)/(l(l($i(e.r,t),21),87).gc()+1),z+=b.Math.max(0,n),o+=z;break;case 1:n=(r-s)/(l(l($i(e.r,t),21),87).gc()-1),z+=b.Math.max(0,n)}for(F=l(l($i(e.r,t),21),87).Kc();F.Ob();)L=l(F.Pb(),117),L.e.a=o+L.d.b,L.e.b=(T=L.b,T.pf((bi(),eh))?T.ag()==(_t(),Xn)?-T.Mf().b-ze(Ge(T.of(eh))):ze(Ge(T.of(eh))):T.ag()==(_t(),Xn)?-T.Mf().b:0),o+=L.d.b+L.b.Mf().a+L.d.c+z}}function Cwt(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V;if(!l(l($i(e.r,t),21),87).dc()){if(f=l(Zo(e.b,t),127),w=f.i,g=f.n,L=fle(e,t),r=w.a-g.d-g.a,s=f.a.b,o=w.d+g.d,V=e.w,T=e.o.a,(L==(r6(),nm)||L==uF)&&l(l($i(e.r,t),21),87).gc()==1&&(s=L==nm?s-2*e.w:s,L=OM),r<s&&!e.B.Hc((Xl(),mY)))L==nm?(V+=(r-s)/(l(l($i(e.r,t),21),87).gc()+1),o+=V):V+=(r-s)/(l(l($i(e.r,t),21),87).gc()-1);else switch(r<s&&(s=L==nm?s-2*e.w:s,L=OM),L.g){case 3:o+=(r-s)/2;break;case 4:o+=r-s;break;case 0:n=(r-s)/(l(l($i(e.r,t),21),87).gc()+1),V+=b.Math.max(0,n),o+=V;break;case 1:n=(r-s)/(l(l($i(e.r,t),21),87).gc()-1),V+=b.Math.max(0,n)}for(z=l(l($i(e.r,t),21),87).Kc();z.Ob();)F=l(z.Pb(),117),F.e.a=(C=F.b,C.pf((bi(),eh))?C.ag()==(_t(),Zn)?-C.Mf().a-ze(Ge(C.of(eh))):T+ze(Ge(C.of(eh))):C.ag()==(_t(),Zn)?-C.Mf().a:T),F.e.b=o+F.d.d,o+=F.d.d+F.b.Mf().b+F.d.a+V}}function sIn(e,t){var n,r,s,o,f;for(t.Ug("Processor determine the coords for each level",1),r=new mt,f=Fr(e.b,0);f.b!=f.d.c;){for(s=l(Pr(f),40);l(Q(s,(Vc(),$d)),17).a>r.c.length-1;)wt(r,new fa(k6,LCe));n=l(Q(s,$d),17).a,Yg(l(Q(e,_3),88))?(s.e.a<ze(Ge((Sn(n,r.c.length),l(r.c[n],42)).a))&&Ve((Sn(n,r.c.length),l(r.c[n],42)),s.e.a),s.e.a+s.f.a>ze(Ge((Sn(n,r.c.length),l(r.c[n],42)).b))&&ct((Sn(n,r.c.length),l(r.c[n],42)),s.e.a+s.f.a)):(s.e.b<ze(Ge((Sn(n,r.c.length),l(r.c[n],42)).a))&&Ve((Sn(n,r.c.length),l(r.c[n],42)),s.e.b),s.e.b+s.f.b>ze(Ge((Sn(n,r.c.length),l(r.c[n],42)).b))&&ct((Sn(n,r.c.length),l(r.c[n],42)),s.e.b+s.f.b))}for(o=Fr(e.b,0);o.b!=o.d.c;)s=l(Pr(o),40),n=l(Q(s,(Vc(),$d)),17).a,rt(s,(Zi(),o1),Ge((Sn(n,r.c.length),l(r.c[n],42)).a)),rt(s,x0,Ge((Sn(n,r.c.length),l(r.c[n],42)).b));t.Vg()}function aIn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J;for(e.o=ze(Ge(Q(e.i,(Nt(),E3)))),e.f=ze(Ge(Q(e.i,Sv))),e.j=e.i.b.c.length,g=e.j-1,F=0,e.k=0,e.n=0,e.b=O1(We(to,dt,17,e.j,0,1)),e.c=O1(We(ra,dt,345,e.j,7,1)),f=new K(e.i.b);f.a<f.c.c.length;){for(s=l(re(f),30),s.p=g,L=new K(s.a);L.a<L.c.c.length;)C=l(re(L),10),C.p=F,++F;--g}for(e.g=We(Ur,fi,28,F,15,1),e.d=Fm(Ur,[dt,fi],[53,28],15,[F,3],2),e.p=new mt,e.q=new mt,t=0,e.e=0,o=new K(e.i.b);o.a<o.c.c.length;){for(s=l(re(o),30),g=s.p,r=0,J=0,w=s.a.c.length,T=0,L=new K(s.a);L.a<L.c.c.length;)C=l(re(L),10),F=C.p,e.g[F]=C.c.p,T+=C.o.b+e.o,n=ep(new lr(fr(Ea(C).a.Kc(),new j))),V=ep(new lr(fr(qs(C).a.Kc(),new j))),e.d[F][0]=V-n,e.d[F][1]=n,e.d[F][2]=V,r+=n,J+=V,n>0&&wt(e.q,C),wt(e.p,C);t-=r,z=w+t,T+=t*e.f,nf(e.b,g,bt(z)),nf(e.c,g,T),e.k=b.Math.max(e.k,z),e.n=b.Math.max(e.n,T),e.e+=t,t+=J}}function _t(){_t=U;var e;jc=new _O(uL,0),Xn=new _O(uG,1),sr=new _O(Nhe,2),Mr=new _O(Phe,3),Zn=new _O(Bhe,4),ed=(Cn(),new Ck((e=l(G0(Mo),9),new Jh(e,l(o0(e,e.length),9),0)))),S0=p2(is(Xn,he(le(Mo,1),ou,64,0,[]))),wf=p2(is(sr,he(le(Mo,1),ou,64,0,[]))),$h=p2(is(Mr,he(le(Mo,1),ou,64,0,[]))),Hf=p2(is(Zn,he(le(Mo,1),ou,64,0,[]))),ll=p2(is(Xn,he(le(Mo,1),ou,64,0,[Mr]))),Ju=p2(is(sr,he(le(Mo,1),ou,64,0,[Zn]))),_0=p2(is(Xn,he(le(Mo,1),ou,64,0,[Zn]))),Rl=p2(is(Xn,he(le(Mo,1),ou,64,0,[sr]))),zh=p2(is(Mr,he(le(Mo,1),ou,64,0,[Zn]))),yf=p2(is(sr,he(le(Mo,1),ou,64,0,[Mr]))),jl=p2(is(Xn,he(le(Mo,1),ou,64,0,[sr,Zn]))),ul=p2(is(sr,he(le(Mo,1),ou,64,0,[Mr,Zn]))),hl=p2(is(Xn,he(le(Mo,1),ou,64,0,[Mr,Zn]))),Sl=p2(is(Xn,he(le(Mo,1),ou,64,0,[sr,Mr]))),Lu=p2(is(Xn,he(le(Mo,1),ou,64,0,[sr,Mr,Zn])))}function oIn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At;for(t.Ug(Tyt,1),J=new mt,ot=new mt,T=new K(e.b);T.a<T.c.c.length;)for(w=l(re(T),30),fe=-1,V=aN(w.a),L=V,F=0,z=L.length;F<z;++F)if(C=L[F],++fe,!!(C.k==(Jn(),Bs)&&F5(l(Q(C,(Nt(),Ds)),101)))){for(G8(l(Q(C,(Nt(),Ds)),101))||HCn(C),rt(C,(ft(),b3),C),J.c.length=0,ot.c.length=0,n=new mt,$e=new os,wce($e,k2(C,(_t(),Xn))),jwt(e,$e,J,ot,n),g=fe,At=C,o=new K(J);o.a<o.c.c.length;)r=l(re(o),10),$y(r,g,w),++fe,rt(r,b3,C),f=l(Rt(r.j,0),12),te=l(Q(f,zi),12),Ft(Pt(Q(te,lde)))||l(Q(r,Yx),15).Fc(At);for(Ch($e),Me=k2(C,Mr).Kc();Me.Ob();)Ee=l(Me.Pb(),12),_s($e,Ee,$e.a,$e.a.a);for(jwt(e,$e,ot,null,n),Je=C,s=new K(ot);s.a<s.c.c.length;)r=l(re(s),10),$y(r,++fe,w),rt(r,b3,C),f=l(Rt(r.j,0),12),te=l(Q(f,zi),12),Ft(Pt(Q(te,lde)))||l(Q(Je,Yx),15).Fc(r);n.c.length==0||rt(C,eMe,n)}t.Vg()}function Swt(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me;if(t.b!=0){for(z=new os,g=null,V=null,r=da(b.Math.floor(b.Math.log(t.b)*b.Math.LOG10E)+1),w=0,Me=Fr(t,0);Me.b!=Me.d.c;)for(fe=l(Pr(Me),40),qe(V)!==qe(Q(fe,(Zi(),gM)))&&(V=Zr(Q(fe,gM)),w=0),V!=null?g=V+yct(w++,r):g=yct(w++,r),rt(fe,gM,g),te=(s=Fr(new Kg(fe).a.d,0),new _5(s));sO(te.a);)J=l(Pr(te.a),65).c,_s(z,J,z.c.b,z.c),rt(J,gM,g);for(F=new Nr,f=0;f<g.length-r;f++)for(Ee=Fr(t,0);Ee.b!=Ee.d.c;)fe=l(Pr(Ee),40),T=ef(Zr(Q(fe,(Zi(),gM))),0,f+1),n=(T==null?dc(zo(F.f,null)):x_(F.i,T))!=null?l(T==null?dc(zo(F.f,null)):x_(F.i,T),17).a+1:1,sc(F,T,bt(n));for(L=new Xm(new Cr(F).a);L.b;)C=zw(L),o=bt(or(e.a,C.ld())!=null?l(or(e.a,C.ld()),17).a:0),sc(e.a,Zr(C.ld()),bt(l(C.md(),17).a+o.a)),o=l(or(e.b,C.ld()),17),(!o||o.a<l(C.md(),17).a)&&sc(e.b,Zr(C.ld()),l(C.md(),17));Swt(e,z)}}function cIn(e){var t,n,r,s,o,f,g,w,T,C,L,F;for(n=null,w=null,s=l(Q(e.b,(Nt(),bde)),349),s==(xA(),RB)&&(n=new mt,w=new mt),g=new K(e.d);g.a<g.c.c.length;)if(f=l(re(g),105),o=f.i,!!o)switch(f.e.g){case 0:t=l(uA(new B8(f.b)),64),s==RB&&t==(_t(),Xn)?qn(n.c,f):s==RB&&t==(_t(),Mr)?qn(w.c,f):P7n(f,t);break;case 1:T=f.a.d.j,C=f.c.d.j,T==(_t(),Xn)?a2(f,Xn,(R1(),IE),f.a):C==Xn?a2(f,Xn,(R1(),OE),f.c):T==Mr?a2(f,Mr,(R1(),OE),f.a):C==Mr&&a2(f,Mr,(R1(),IE),f.c);break;case 2:case 3:r=f.b,ml(r,(_t(),Xn))?ml(r,Mr)?ml(r,Zn)?ml(r,sr)||a2(f,Xn,(R1(),OE),f.c):a2(f,Xn,(R1(),IE),f.a):a2(f,Xn,(R1(),Vx),null):a2(f,Mr,(R1(),Vx),null);break;case 4:L=f.a.d.j,F=f.a.d.j,L==(_t(),Xn)||F==Xn?a2(f,Mr,(R1(),Vx),null):a2(f,Xn,(R1(),Vx),null)}n&&(n.c.length==0||wvt(n,(_t(),Xn)),w.c.length==0||wvt(w,(_t(),Mr)))}function uIn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe;for(n.Ug("Breadth first model order layering",1),e.a=t,te=new mt,J=new K(e.a.a);J.a<J.c.c.length;)z=l(re(J),10),z.k==(Jn(),Bs)&&qn(te.c,z);for(Cn(),Gs(te,new Zee),w=!0,s=new vu(e.a),r=null,wt(e.a.b,s),V=new K(te);V.a<V.c.c.length;)if(z=l(re(V),10),w)Ha(z,s),w=!1;else{for(g=new lr(fr(Ea(z).a.Kc(),new j));Rr(g);)o=l(yr(g),18),(o.c.i.k==(Jn(),Bs)&&o.c.i.c==s||o.c.i.k==uu&&l(yr(new lr(fr(Ea(o.c.i).a.Kc(),new j))),18).c.i.c==s)&&(r=new vu(e.a),wt(e.a.b,r),s=new vu(e.a),wt(e.a.b,s));for(f=new lr(fr(Ea(z).a.Kc(),new j));Rr(f);)o=l(yr(f),18),o.c.i.k==(Jn(),uu)&&!o.c.i.c&&Ha(o.c.i,r);Ha(z,s)}for(e.a.a.c.length=0,fe=new mt,L=new K(e.a.b);L.a<L.c.c.length;)T=l(re(L),30),T.a.c.length==0&&qn(fe.c,T);for(I8e(e.a.b,fe),F=0,C=new K(e.a.b);C.a<C.c.c.length;)T=l(re(C),30),T.p=F,++F;n.Vg()}function lIn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J;for(r=l(Q(e,(ft(),zi)),27),V=l(Q(e,(Nt(),yW)),17).a,o=l(Q(e,EW),17).a,Vi(r,yW,bt(V)),Vi(r,EW,bt(o)),Vu(r,e.n.a+t.a),Gu(r,e.n.b+t.b),(l(at(r,Ev),181).gc()!=0||e.e||qe(Q(Ja(e),_W))===qe((NA(),sM))&&Fnt((jy(),(e.q?e.q:(Cn(),Cn(),yg))._b(x3)?F=l(Q(e,x3),203):F=l(Q(Ja(e),tM),203),F)))&&(Rw(r,e.o.a),Fw(r,e.o.b)),L=new K(e.j);L.a<L.c.c.length;)T=l(re(L),12),J=Q(T,zi),De(J,193)&&(s=l(J,123),Xh(s,T.n.a,T.n.b),Vi(s,GE,T.j));for(z=l(Q(e,y3),181).gc()!=0,w=new K(e.b);w.a<w.c.c.length;)f=l(re(w),72),(z||l(Q(f,y3),181).gc()!=0)&&(n=l(Q(f,zi),135),j5(n,f.o.a,f.o.b),Xh(n,f.n.a,f.n.b));if(!Y_(l(Q(e,x4),21)))for(C=new K(e.j);C.a<C.c.c.length;)for(T=l(re(C),12),g=new K(T.f);g.a<g.c.c.length;)f=l(re(g),72),n=l(Q(f,zi),135),Rw(n,f.o.a),Fw(n,f.o.b),Xh(n,f.n.a,f.n.b)}function hIn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn;for(t.Ug("Calculate Graph Size",1),t.dh(e,RCe),L=k6,F=k6,T=jCe,C=jCe,J=new ar((!e.a&&(e.a=new nt(Li,e,10,11)),e.a));J.e!=J.i.gc();)z=l(dr(J),27),Ee=z.i,Me=z.j,cn=z.g,g=z.f,w=l(at(z,(bi(),rC)),140),L=b.Math.min(L,Ee-w.b),F=b.Math.min(F,Me-w.d),T=b.Math.max(T,Ee+cn+w.c),C=b.Math.max(C,Me+g+w.a);for(fe=l(at(e,(bi(),B2)),107),te=new lt(L-fe.b,F-fe.d),ln=T-L+(fe.b+fe.c),f=C-F+(fe.d+fe.a),Ft(Pt(at(e,(Pb(),QIe))))&&($e=l(at(e,(V5(),Q6)),27),Je=l(at($e,rC),140),ot=$e.i+$e.g/2+(Je.b+Je.c)/2-te.a,At=$e.j+$e.f/2+(Je.d+Je.a)/2-te.b,s=ln-ot,o=f-At,s<ln/2?(n=s-ot,ln+=n,te.a-=n):(n=ot-s,ln+=n),o<f/2?(r=o-At,f+=r,te.b-=r):(r=At-o,f+=r)),V=new ar((!e.a&&(e.a=new nt(Li,e,10,11)),e.a));V.e!=V.i.gc();)z=l(dr(V),27),Vu(z,z.i-te.a),Gu(z,z.j-te.b);Ft(Pt(at(e,A4)))||(Rw(e,ln),Fw(e,f)),Vi(e,r7,ln-(fe.b+fe.c)),Vi(e,n7,f-(fe.d+fe.a)),t.dh(e,$G)}function fIn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z;if(e.e.a.$b(),e.f.a.$b(),e.c.c.length=0,e.i.c.length=0,e.g.a.$b(),t)for(f=new K(t.a);f.a<f.c.c.length;)for(o=l(re(f),10),L=k2(o,(_t(),sr)).Kc();L.Ob();)for(C=l(L.Pb(),12),sa(e.e,C),s=new K(C.g);s.a<s.c.c.length;)r=l(re(s),18),!Ao(r)&&(wt(e.c,r),zdt(e,r),g=r.c.i.k,(g==(Jn(),Bs)||g==Su||g==Ks||g==K1)&&wt(e.j,r),z=r.d,F=z.i.c,F==n?sa(e.f,z):F==t?sa(e.e,z):sl(e.c,r));if(n)for(f=new K(n.a);f.a<f.c.c.length;){for(o=l(re(f),10),T=new K(o.j);T.a<T.c.c.length;)for(w=l(re(T),12),s=new K(w.g);s.a<s.c.c.length;)r=l(re(s),18),Ao(r)&&sa(e.g,r);for(L=k2(o,(_t(),Zn)).Kc();L.Ob();)for(C=l(L.Pb(),12),sa(e.f,C),s=new K(C.g);s.a<s.c.c.length;)r=l(re(s),18),!Ao(r)&&(wt(e.c,r),zdt(e,r),g=r.c.i.k,(g==(Jn(),Bs)||g==Su||g==Ks||g==K1)&&wt(e.j,r),z=r.d,F=z.i.c,F==n?sa(e.f,z):F==t?sa(e.e,z):sl(e.c,r))}}function dIn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e;for(n.Ug("Polyline edge routing",1),te=ze(Ge(Q(t,(Nt(),YMe)))),z=ze(Ge(Q(t,G6))),s=ze(Ge(Q(t,U6))),r=b.Math.min(1,s/z),Me=0,w=0,t.b.c.length!=0&&($e=Tbt(l(Rt(t.b,0),30)),Me=.4*r*$e),g=new Ua(t.b,0);g.b<g.d.gc();){for(f=(br(g.b<g.d.gc()),l(g.d.Xb(g.c=g.b++),30)),o=Bq(f,$B),o&&Me>0&&(Me-=z),Qke(f,Me),C=0,F=new K(f.a);F.a<F.c.c.length;){for(L=l(re(F),10),T=0,J=new lr(fr(qs(L).a.Kc(),new j));Rr(J);)V=l(yr(J),18),fe=I1(V.c).b,Ee=I1(V.d).b,f==V.d.i.c&&!Ao(V)&&(STn(V,Me,.4*r*b.Math.abs(fe-Ee)),V.c.j==(_t(),Zn)&&(fe=0,Ee=0)),T=b.Math.max(T,b.Math.abs(Ee-fe));switch(L.k.g){case 0:case 4:case 1:case 3:case 5:MMn(e,L,Me,te)}C=b.Math.max(C,T)}g.b<g.d.gc()&&($e=Tbt((br(g.b<g.d.gc()),l(g.d.Xb(g.c=g.b++),30))),C=b.Math.max(C,$e),br(g.b>0),g.a.Xb(g.c=--g.b)),w=.4*r*C,!o&&g.b<g.d.gc()&&(w+=z),Me+=f.c.a+w}e.a.a.$b(),t.f.a=Me,n.Vg()}function gIn(e){var t,n,r,s,o;switch(ZO(e,t5t),(!e.b&&(e.b=new An(Sr,e,4,7)),e.b).i+(!e.c&&(e.c=new An(Sr,e,5,8)),e.c).i){case 0:throw ue(new Wn("The edge must have at least one source or target."));case 1:return(!e.b&&(e.b=new An(Sr,e,4,7)),e.b).i==0?ds(vc(l(Oe((!e.c&&(e.c=new An(Sr,e,5,8)),e.c),0),84))):ds(vc(l(Oe((!e.b&&(e.b=new An(Sr,e,4,7)),e.b),0),84)))}if((!e.b&&(e.b=new An(Sr,e,4,7)),e.b).i==1&&(!e.c&&(e.c=new An(Sr,e,5,8)),e.c).i==1){if(s=vc(l(Oe((!e.b&&(e.b=new An(Sr,e,4,7)),e.b),0),84)),o=vc(l(Oe((!e.c&&(e.c=new An(Sr,e,5,8)),e.c),0),84)),ds(s)==ds(o))return ds(s);if(s==ds(o))return s;if(o==ds(s))return o}for(r=ag(Lh(he(le(Fh,1),jn,20,0,[(!e.b&&(e.b=new An(Sr,e,4,7)),e.b),(!e.c&&(e.c=new An(Sr,e,5,8)),e.c)]))),t=vc(l(yr(r),84));Rr(r);)if(n=vc(l(yr(r),84)),n!=t&&!Iy(n,t)){if(ds(n)==ds(t))t=ds(n);else if(t=zEn(t,n),!t)return null}return t}function oTe(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me;if(F=t.length,F>0&&(w=(Yn(0,t.length),t.charCodeAt(0)),w!=64)){if(w==37&&(L=t.lastIndexOf("%"),T=!1,L!=0&&(L==F-1||(T=(Yn(L+1,t.length),t.charCodeAt(L+1)==46))))){if(f=(Va(1,L,t.length),t.substr(1,L-1)),Me=wn("%",f)?null:cTe(f),r=0,T)try{r=Oh((Yn(L+2,t.length+1),t.substr(L+2)),ao,Ni)}catch($e){throw $e=ms($e),De($e,130)?(g=$e,ue(new uU(g))):ue($e)}for(te=P7e(e.Gh());te.Ob();)if(V=FU(te),De(V,519)&&(s=l(V,598),Ee=s.d,(Me==null?Ee==null:wn(Me,Ee))&&r--==0))return s;return null}if(C=t.lastIndexOf("."),z=C==-1?t:(Va(0,C,t.length),t.substr(0,C)),n=0,C!=-1)try{n=Oh((Yn(C+1,t.length+1),t.substr(C+1)),ao,Ni)}catch($e){if($e=ms($e),De($e,130))z=t;else throw ue($e)}for(z=wn("%",z)?null:cTe(z),J=P7e(e.Gh());J.Ob();)if(V=FU(J),De(V,197)&&(o=l(V,197),fe=o.xe(),(z==null?fe==null:wn(z,fe))&&n--==0))return o;return null}return fwt(e,t)}function pIn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee;for(C=new Nr,w=new Iw,r=new K(e.a.a.b);r.a<r.c.c.length;)if(t=l(re(r),60),T=W5(t),T)Ru(C.f,T,t);else if(Ee=sx(t),Ee)for(o=new K(Ee.k);o.a<o.c.c.length;)s=l(re(o),18),xn(w,s,t);for(n=new K(e.a.a.b);n.a<n.c.c.length;)if(t=l(re(n),60),T=W5(t),T){for(g=new lr(fr(qs(T).a.Kc(),new j));Rr(g);)if(f=l(yr(g),18),!Ao(f)&&(V=f.c,fe=f.d,!((_t(),ll).Hc(f.c.j)&&ll.Hc(f.d.j)))){if(J=l(or(C,f.d.i),60),g0(i0(r0(s0(n0(new _f,0),100),e.c[t.a.d]),e.c[J.a.d])),V.j==Zn&&sat((xl(),V))){for(F=l($i(w,f),21).Kc();F.Ob();)if(L=l(F.Pb(),60),L.d.c<t.d.c){if(z=e.c[L.a.d],te=e.c[t.a.d],z==te)continue;g0(i0(r0(s0(n0(new _f,1),100),z),te))}}if(fe.j==sr&&aat((xl(),fe))){for(F=l($i(w,f),21).Kc();F.Ob();)if(L=l(F.Pb(),60),L.d.c>t.d.c){if(z=e.c[t.a.d],te=e.c[L.a.d],z==te)continue;g0(i0(r0(s0(n0(new _f,1),100),z),te))}}}}}function bIn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot;if(F=l(l($i(e.r,t),21),87),t==(_t(),sr)||t==Zn){ywt(e,t);return}for(o=t==Xn?(qw(),hB):(qw(),fB),$e=t==Xn?(al(),s1):(al(),v0),n=l(Zo(e.b,t),127),r=n.i,s=r.c+Q5(he(le(Oa,1),tc,28,15,[n.n.b,e.C.b,e.k])),fe=r.c+r.b-Q5(he(le(Oa,1),tc,28,15,[n.n.c,e.C.c,e.k])),f=k3e(R4e(o),e.t),Ee=t==Xn?oa:gs,L=F.Kc();L.Ob();)T=l(L.Pb(),117),!(!T.c||T.c.d.c.length<=0)&&(te=T.b.Mf(),J=T.e,z=T.c,V=z.i,V.b=(w=z.n,z.e.a+w.b+w.c),V.a=(g=z.n,z.e.b+g.d+g.a),ZO($e,RTe),z.f=$e,J0(z,(Ol(),m0)),V.c=J.a-(V.b-te.a)/2,Je=b.Math.min(s,J.a),ot=b.Math.max(fe,J.a+te.a),V.c<Je?V.c=Je:V.c+V.b>ot&&(V.c=ot-V.b),wt(f.d,new Vae(V,L8e(f,V))),Ee=t==Xn?b.Math.max(Ee,J.b+T.b.Mf().b):b.Math.min(Ee,J.b));for(Ee+=t==Xn?e.t:-e.t,Me=W8e((f.e=Ee,f)),Me>0&&(l(Zo(e.b,t),127).a.b=Me),C=F.Kc();C.Ob();)T=l(C.Pb(),117),!(!T.c||T.c.d.c.length<=0)&&(V=T.c.i,V.c-=T.e.a,V.d-=T.e.b)}function mIn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z;for(t=new Nr,w=new ar(e);w.e!=w.i.gc();){for(g=l(dr(w),27),n=new Ys,Ti(l1e,g,n),z=new Vp,s=l(kc(new vn(null,new Cw(new lr(fr(dP(g).a.Kc(),new j)))),Hst(z,Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)])))),85),Tft(n,l(s.xc((Hn(),!0)),16),new J3),r=l(kc(ji(l(s.xc(!1),15).Lc(),new q9),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[Cc]))),15),f=r.Kc();f.Ob();)o=l(f.Pb(),74),F=Tpt(o),F&&(T=l(dc(zo(t.f,F)),21),T||(T=Gbt(F),Ru(t.f,F,T)),Ga(n,T));for(s=l(kc(new vn(null,new Cw(new lr(fr(fp(g).a.Kc(),new j)))),Hst(z,Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[Cc])))),85),Tft(n,l(s.xc(!0),16),new l5),r=l(kc(ji(l(s.xc(!1),15).Lc(),new Th),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[Cc]))),15),L=r.Kc();L.Ob();)C=l(L.Pb(),74),F=Ept(C),F&&(T=l(dc(zo(t.f,F)),21),T||(T=Gbt(F),Ru(t.f,F,T)),Ga(n,T))}}function vIn(e,t){Mle();var n,r,s,o,f,g,w,T,C,L,F,z,V,J;if(w=su(e,0)<0,w&&(e=f2(e)),su(e,0)==0)switch(t){case 0:return"0";case 1:return oE;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 z=new lb,t<0?z.a+="0E+":z.a+="0E",z.a+=t==ao?"2147483648":""+-t,z.a}C=18,L=We(xf,Ad,28,C+1,15,1),n=C,J=e;do T=J,J=tP(J,10),L[--n]=Yr(fo(48,Df(T,go(J,10))))&ta;while(su(J,0)!=0);if(s=Df(Df(Df(C,n),t),1),t==0)return w&&(L[--n]=45),If(L,n,C-n);if(t>0&&su(s,-6)>=0){if(su(s,0)>=0){for(o=n+Yr(s),g=C-1;g>=o;g--)L[g+1]=L[g];return L[++o]=46,w&&(L[--n]=45),If(L,n,C-n+1)}for(f=2;Sse(f,fo(f2(s),1));f++)L[--n]=48;return L[--n]=46,L[--n]=48,w&&(L[--n]=45),If(L,n,C-n)}return V=n+1,r=C,F=new A5,w&&(F.a+="-"),r-V>=1?(yb(F,L[n]),F.a+=".",F.a+=If(L,n+1,C-n-1)):F.a+=If(L,n,C-n),F.a+="E",su(s,0)>0&&(F.a+="+"),F.a+=""+X_(s),F.a}function Zw(e,t,n,r,s){var o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot;if(te=new lt(e.g,e.f),J=E9e(e),J.a=b.Math.max(J.a,t),J.b=b.Math.max(J.b,n),ot=J.a/te.a,C=J.b/te.b,$e=J.a-te.a,w=J.b-te.b,r)for(f=ds(e)?l(at(ds(e),(bi(),Lv)),88):l(at(e,(bi(),Lv)),88),g=qe(at(e,(bi(),AM)))===qe((Pa(),Au)),Ee=new ar((!e.c&&(e.c=new nt($l,e,9,9)),e.c));Ee.e!=Ee.i.gc();)switch(fe=l(dr(Ee),123),Me=l(at(fe,o7),64),Me==(_t(),jc)&&(Me=zke(fe,f),Vi(fe,o7,Me)),Me.g){case 1:g||Vu(fe,fe.i*ot);break;case 2:Vu(fe,fe.i+$e),g||Gu(fe,fe.j*C);break;case 3:g||Vu(fe,fe.i*ot),Gu(fe,fe.j+w);break;case 4:g||Gu(fe,fe.j*C)}if(j5(e,J.a,J.b),s)for(F=new ar((!e.n&&(e.n=new nt(nc,e,1,7)),e.n));F.e!=F.i.gc();)L=l(dr(F),135),z=L.i+L.g/2,V=L.j+L.f/2,Je=z/te.a,T=V/te.b,Je+T>=1&&(Je-T>0&&V>=0?(Vu(L,L.i+$e),Gu(L,L.j+w*T)):Je-T<0&&z>=0&&(Vu(L,L.i+$e*Je),Gu(L,L.j+w)));return Vi(e,(bi(),Mv),(gh(),o=l(G0(FM),9),new Jh(o,l(o0(o,o.length),9),0))),new lt(ot,C)}function _wt(e){fw(e,new iv(Jz(uw(aw(cw(ow(new x1,df),"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 hu),df))),pt(e,df,NG,It(jCt)),pt(e,df,t4,It($Ct)),pt(e,df,T6,It(PCt)),pt(e,df,Bx,It(BCt)),pt(e,df,Px,It(FCt)),pt(e,df,gE,It(NCt)),pt(e,df,dL,It(JIe)),pt(e,df,pE,It(RCt)),pt(e,df,jfe,It(fge)),pt(e,df,Rfe,It(dge)),pt(e,df,zG,It(eOe)),pt(e,df,$fe,It(gge)),pt(e,df,zfe,It(tOe)),pt(e,df,WCe,It(nOe)),pt(e,df,KCe,It(ZIe)),pt(e,df,HCe,It(YW)),pt(e,df,UCe,It(XW)),pt(e,df,VCe,It(VB)),pt(e,df,GCe,It(rOe)),pt(e,df,qCe,It(QIe))}function eG(e){var t,n,r,s,o,f,g,w,T,C,L;if(e==null)throw ue(new gd(cl));if(T=e,o=e.length,w=!1,o>0&&(t=(Yn(0,e.length),e.charCodeAt(0)),(t==45||t==43)&&(e=(Yn(1,e.length+1),e.substr(1)),--o,w=t==45)),o==0)throw ue(new gd(n3+T+'"'));for(;e.length>0&&(Yn(0,e.length),e.charCodeAt(0)==48);)e=(Yn(1,e.length+1),e.substr(1)),--o;if(o>(ivt(),G6t)[10])throw ue(new gd(n3+T+'"'));for(s=0;s<o;s++)if(Edt((Yn(s,e.length),e.charCodeAt(s)))==-1)throw ue(new gd(n3+T+'"'));for(L=0,f=x_e[10],C=q0e[10],g=f2(k_e[10]),n=!0,r=o%f,r>0&&(L=-parseInt((Va(0,r,e.length),e.substr(0,r)),10),e=(Yn(r,e.length+1),e.substr(r)),o-=r,n=!1);o>=f;){if(r=parseInt((Va(0,f,e.length),e.substr(0,f)),10),e=(Yn(f,e.length+1),e.substr(f)),o-=f,n)n=!1;else{if(su(L,g)<0)throw ue(new gd(n3+T+'"'));L=go(L,C)}L=Df(L,r)}if(su(L,0)>0)throw ue(new gd(n3+T+'"'));if(!w&&(L=f2(L),su(L,0)<0))throw ue(new gd(n3+T+'"'));return L}function cTe(e){Ble();var t,n,r,s,o,f,g,w;if(e==null)return null;if(s=pd(e,ol(37)),s<0)return e;for(w=new Eh((Va(0,s,e.length),e.substr(0,s))),t=We(_l,_6,28,4,15,1),g=0,r=0,f=e.length;s<f;s++)if(Yn(s,e.length),e.charCodeAt(s)==37&&e.length>s+2&&Dce((Yn(s+1,e.length),e.charCodeAt(s+1)),$Pe,zPe)&&Dce((Yn(s+2,e.length),e.charCodeAt(s+2)),$Pe,zPe))if(n=jdn((Yn(s+1,e.length),e.charCodeAt(s+1)),(Yn(s+2,e.length),e.charCodeAt(s+2))),s+=2,r>0?(n&192)==128?t[g++]=n<<24>>24:r=0:n>=128&&((n&224)==192?(t[g++]=n<<24>>24,r=2):(n&240)==224?(t[g++]=n<<24>>24,r=3):(n&248)==240&&(t[g++]=n<<24>>24,r=4)),r>0){if(g==r){switch(g){case 2:{yb(w,((t[0]&31)<<6|t[1]&63)&ta);break}case 3:{yb(w,((t[0]&15)<<12|(t[1]&63)<<6|t[2]&63)&ta);break}}g=0,r=0}}else{for(o=0;o<g;++o)yb(w,t[o]&ta);g=0,w.a+=String.fromCharCode(n)}else{for(o=0;o<g;++o)yb(w,t[o]&ta);g=0,yb(w,(Yn(s,e.length),e.charCodeAt(s)))}return w.a}function Awt(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V;if(z=ds(vc(l(Oe((!e.b&&(e.b=new An(Sr,e,4,7)),e.b),0),84))),V=ds(vc(l(Oe((!e.c&&(e.c=new An(Sr,e,5,8)),e.c),0),84))),L=z==V,g=new za,t=l(at(e,(qU(),cPe)),75),t&&t.b>=2){if((!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i==0)n=(fb(),s=new sk,s),zr((!e.a&&(e.a=new nt(cs,e,6,6)),e.a),n);else if((!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i>1)for(F=new H8((!e.a&&(e.a=new nt(cs,e,6,6)),e.a));F.e!=F.i.gc();)$A(F);xP(t,l(Oe((!e.a&&(e.a=new nt(cs,e,6,6)),e.a),0),166))}if(L)for(r=new ar((!e.a&&(e.a=new nt(cs,e,6,6)),e.a));r.e!=r.i.gc();)for(n=l(dr(r),166),T=new ar((!n.a&&(n.a=new Qs(qh,n,5)),n.a));T.e!=T.i.gc();)w=l(dr(T),377),g.a=b.Math.max(g.a,w.a),g.b=b.Math.max(g.b,w.b);for(f=new ar((!e.n&&(e.n=new nt(nc,e,1,7)),e.n));f.e!=f.i.gc();)o=l(dr(f),135),C=l(at(o,DM),8),C&&Xh(o,C.a,C.b),L&&(g.a=b.Math.max(g.a,o.i+o.g),g.b=b.Math.max(g.b,o.j+o.f));return g}function Lwt(e,t,n,r,s){var o,f,g;if(Mht(e,t),f=t[0],o=io(n.c,0),g=-1,s8e(n))if(r>0){if(f+r>e.length)return!1;g=LV((Va(0,f+r,e.length),e.substr(0,f+r)),t)}else g=LV(e,t);switch(o){case 71:return g=u6(e,f,he(le($t,1),dt,2,6,[g3t,p3t]),t),s.e=g,!0;case 77:return NSn(e,t,s,g,f);case 76:return PSn(e,t,s,g,f);case 69:return Skn(e,t,f,s);case 99:return _kn(e,t,f,s);case 97:return g=u6(e,f,he(le($t,1),dt,2,6,["AM","PM"]),t),s.b=g,!0;case 121:return BSn(e,t,f,g,n,s);case 100:return g<=0?!1:(s.c=g,!0);case 83:return g<0?!1:q5n(g,f,t[0],s);case 104:g==12&&(g=0);case 75:case 72:return g<0?!1:(s.f=g,s.g=!1,!0);case 107:return g<0?!1:(s.f=g,s.g=!0,!0);case 109:return g<0?!1:(s.j=g,!0);case 115:return g<0?!1:(s.n=g,!0);case 90:if(f<e.length&&(Yn(f,e.length),e.charCodeAt(f)==90))return++t[0],s.o=0,!0;case 122:case 118:return Xxn(e,f,t,s);default:return!1}}function wIn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln;for(Me=t.c.length,s=new g6(e.a,n,null,null),ln=We(Oa,tc,28,Me,15,1),J=We(Oa,tc,28,Me,15,1),V=We(Oa,tc,28,Me,15,1),te=0,g=0;g<Me;g++)J[g]=Ni,V[g]=ao;for(w=0;w<Me;w++)for(r=(Sn(w,t.c.length),l(t.c[w],185)),ln[w]=cle(r),ln[te]>ln[w]&&(te=w),L=new K(e.a.b);L.a<L.c.c.length;)for(C=l(re(L),30),Ee=new K(C.a);Ee.a<Ee.c.c.length;)fe=l(re(Ee),10),ot=ze(r.p[fe.p])+ze(r.d[fe.p]),J[w]=b.Math.min(J[w],ot),V[w]=b.Math.max(V[w],ot+fe.o.b);for(At=We(Oa,tc,28,Me,15,1),T=0;T<Me;T++)(Sn(T,t.c.length),l(t.c[T],185)).o==(D1(),_v)?At[T]=J[te]-J[T]:At[T]=V[te]-V[T];for(o=We(Oa,tc,28,Me,15,1),z=new K(e.a.b);z.a<z.c.c.length;)for(F=l(re(z),30),Je=new K(F.a);Je.a<Je.c.c.length;){for($e=l(re(Je),10),f=0;f<Me;f++)o[f]=ze((Sn(f,t.c.length),l(t.c[f],185)).p[$e.p])+ze((Sn(f,t.c.length),l(t.c[f],185)).d[$e.p])+At[f];rJe(o,aft(Pe.prototype.Me,Pe,[])),s.p[$e.p]=(o[1]+o[2])/2,s.d[$e.p]=0}return s}function yIn(e,t,n){var r,s,o,f,g;switch(r=t.i,o=e.i.o,s=e.i.d,g=e.n,f=Bc(he(le(Ca,1),dt,8,0,[g,e.a])),e.j.g){case 1:vd(t,(al(),v0)),r.d=-s.d-n-r.a,l(l(Rt(t.d,0),187).of((ft(),Xx)),291)==(Ih(),Cg)?(J0(t,(Ol(),m0)),r.c=f.a-ze(Ge(Q(e,$6)))-n-r.b):(J0(t,(Ol(),Fd)),r.c=f.a+ze(Ge(Q(e,$6)))+n);break;case 2:J0(t,(Ol(),Fd)),r.c=o.a+s.c+n,l(l(Rt(t.d,0),187).of((ft(),Xx)),291)==(Ih(),Cg)?(vd(t,(al(),v0)),r.d=f.b-ze(Ge(Q(e,$6)))-n-r.a):(vd(t,(al(),s1)),r.d=f.b+ze(Ge(Q(e,$6)))+n);break;case 3:vd(t,(al(),s1)),r.d=o.b+s.a+n,l(l(Rt(t.d,0),187).of((ft(),Xx)),291)==(Ih(),Cg)?(J0(t,(Ol(),m0)),r.c=f.a-ze(Ge(Q(e,$6)))-n-r.b):(J0(t,(Ol(),Fd)),r.c=f.a+ze(Ge(Q(e,$6)))+n);break;case 4:J0(t,(Ol(),m0)),r.c=-s.b-n-r.b,l(l(Rt(t.d,0),187).of((ft(),Xx)),291)==(Ih(),Cg)?(vd(t,(al(),v0)),r.d=f.b-ze(Ge(Q(e,$6)))-n-r.a):(vd(t,(al(),s1)),r.d=f.b+ze(Ge(Q(e,$6)))+n)}}function xIn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J;for(n.Ug(Xyt,1),!t.a&&(t.a=new nt(Li,t,10,11)),r=ze(Ge(at(t,(z1(),eY)))),C=ze(Ge(at(t,yM))),F=l(at(t,wM),107),z=new pye(r,C),o=Ywt(z,t,F),nft(t,z),g=l(at(t,yOe),17).a;g>1;){if(s=_Cn(t),L=o.g,V=l(at(t,wM),107),J=ze(Ge(at(t,eY))),(!t.a&&(t.a=new nt(Li,t,10,11)),t.a).i>1&&ze(Ge(at(t,(fg(),kge))))!=gs&&(o.c+(V.b+V.c))/(o.b+(V.d+V.a))<J?Vi(s,(fg(),_4),ze(Ge(at(t,_4)))+ze(Ge(at(t,kge)))):(!t.a&&(t.a=new nt(Li,t,10,11)),t.a).i>1&&ze(Ge(at(t,(fg(),xge))))!=gs&&(o.c+(V.b+V.c))/(o.b+(V.d+V.a))>J&&Vi(s,(fg(),_4),b.Math.max(ze(Ge(at(t,vM))),ze(Ge(at(s,_4)))-ze(Ge(at(t,xge))))),z=new pye(r,C),w=Ywt(z,s,F),T=w.g,T>=L&&T==T){for(f=0;f<(!s.a&&(s.a=new nt(Li,s,10,11)),s.a).i;f++)k2t(e,l(Oe((!s.a&&(s.a=new nt(Li,s,10,11)),s.a),f),27),l(Oe((!t.a&&(t.a=new nt(Li,t,10,11)),t.a),f),27));nft(t,z),D2n(o,w.c),M2n(o,w.b)}--g}Vi(t,(fg(),tC),o.b),Vi(t,e9,o.c),n.Vg()}function kIn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee;for(t.Ug("Interactive node layering",1),n=new mt,F=new K(e.a);F.a<F.c.c.length;){for(C=l(re(F),10),w=C.n.a,g=w+C.o.a,g=b.Math.max(w+1,g),Ee=new Ua(n,0),r=null;Ee.b<Ee.d.gc();)if(te=(br(Ee.b<Ee.d.gc()),l(Ee.d.Xb(Ee.c=Ee.b++),578)),te.c>=g){br(Ee.b>0),Ee.a.Xb(Ee.c=--Ee.b);break}else te.a>w&&(r?(aa(r.b,te.b),r.a=b.Math.max(r.a,te.a),fh(Ee)):(wt(te.b,C),te.c=b.Math.min(te.c,w),te.a=b.Math.max(te.a,g),r=te));r||(r=new kJe,r.c=w,r.a=g,wy(Ee,r),wt(r.b,C))}for(f=e.b,T=0,fe=new K(n);fe.a<fe.c.c.length;)for(te=l(re(fe),578),s=new vu(e),s.p=T++,qn(f.c,s),z=new K(te.b);z.a<z.c.c.length;)C=l(re(z),10),Ha(C,s),C.p=0;for(L=new K(e.a);L.a<L.c.c.length;)if(C=l(re(L),10),C.p==0)for(J=vmt(C,e);J.a.gc()!=0;)V=l(J.a.ec().Kc().Pb(),10),J.a.Bc(V)!=null,Ga(J,vmt(V,e));for(o=new Ua(f,0);o.b<o.d.gc();)(br(o.b<o.d.gc()),l(o.d.Xb(o.c=o.b++),30)).a.c.length==0&&fh(o);e.a.c.length=0,t.Vg()}function TIn(e,t,n,r,s,o,f){var g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr,ai,ys;for(z=0,Fn=0,w=new K(e);w.a<w.c.c.length;)g=l(re(w),27),dwt(g),z=b.Math.max(z,g.g),Fn+=g.g*g.f;for(V=Fn/e.c.length,cn=a8n(e,V),Fn+=e.c.length*cn,z=b.Math.max(z,b.Math.sqrt(Fn*f))+n.b,ai=n.b,ys=n.d,F=0,C=n.b+n.c,ln=new os,ci(ln,bt(0)),ot=new os,T=new Ua(e,0);T.b<T.d.gc();)g=(br(T.b<T.d.gc()),l(T.d.Xb(T.c=T.b++),27)),cr=g.g,L=g.f,ai+cr>z&&(o&&(yo(ot,F),yo(ln,bt(T.b-1))),ai=n.b,ys+=F+t,F=0,C=b.Math.max(C,n.b+n.c+cr)),Vu(g,ai),Gu(g,ys),C=b.Math.max(C,ai+cr+n.c),F=b.Math.max(F,L),ai+=cr+t;if(C=b.Math.max(C,r),$n=ys+F+n.a,$n<s&&(F+=s-$n,$n=s),o)for(ai=n.b,T=new Ua(e,0),yo(ln,bt(e.c.length)),At=Fr(ln,0),fe=l(Pr(At),17).a,yo(ot,F),Je=Fr(ot,0),$e=0;T.b<T.d.gc();)T.b==fe&&(ai=n.b,$e=ze(Ge(Pr(Je))),fe=l(Pr(At),17).a),g=(br(T.b<T.d.gc()),l(T.d.Xb(T.c=T.b++),27)),Ee=g.f,Fw(g,$e),J=$e,T.b==fe&&(te=C-ai-n.c,Me=g.g,Rw(g,te),S9e(g,new lt(te,J),new lt(Me,Ee))),ai+=g.g+t;return new lt(C,$n)}function EIn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn;for(t.Ug("Compound graph postprocessor",1),n=Ft(Pt(Q(e,(Nt(),Ede)))),g=l(Q(e,(ft(),rMe)),229),C=new Ys,fe=g.ec().Kc();fe.Ob();){for(te=l(fe.Pb(),18),f=new Ml(g.cc(te)),Cn(),Gs(f,new eO(e)),Je=N3n((Sn(0,f.c.length),l(f.c[0],249))),At=t0t(l(Rt(f,f.c.length-1),249)),Me=Je.i,vT(At.i,Me)?Ee=Me.e:Ee=Ja(Me),L=R6n(te,f),Ch(te.a),F=null,o=new K(f);o.a<o.c.c.length;)s=l(re(o),249),J=new za,y9e(J,s.a,Ee),z=s.b,r=new pl,qce(r,0,z.a),Ny(r,J),$e=new xo(I1(z.c)),ot=new xo(I1(z.d)),Pi($e,J),Pi(ot,J),F&&(r.b==0?V=ot:V=(br(r.b!=0),l(r.a.a.c,8)),ln=b.Math.abs(F.a-V.a)>Dd,cn=b.Math.abs(F.b-V.b)>Dd,(!n&&ln&&cn||n&&(ln||cn))&&ci(te.a,$e)),Ga(te.a,r),r.b==0?F=$e:F=(br(r.b!=0),l(r.c.b.c,8)),cyn(z,L,J),t0t(s)==At&&(Ja(At.i)!=s.a&&(J=new za,y9e(J,Ja(At.i),Ee)),rt(te,ude,J)),U9n(z,te,Ee),C.a.zc(z,C);ho(te,Je),Na(te,At)}for(T=C.a.ec().Kc();T.Ob();)w=l(T.Pb(),18),ho(w,null),Na(w,null);t.Vg()}function CIn(e,t){var n,r,s,o,f,g,w,T,C,L,F;for(s=l(Q(e,(Vc(),_3)),88),C=s==(ea(),hc)||s==yc?Q1:yc,n=l(kc(ji(new vn(null,new kn(e.b,16)),new TI),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)]))),15),w=l(kc(gc(n.Oc(),new HXe(t)),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[Cc]))),15),w.Gc(l(kc(gc(n.Oc(),new UXe(t)),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[Cc]))),16)),w.jd(new VXe(C)),F=new n2(new GXe(s)),r=new Nr,g=w.Kc();g.Ob();)f=l(g.Pb(),240),T=l(f.a,40),Ft(Pt(f.c))?(F.a.zc(T,(Hn(),Ub))==null,new wa(F.a.Zc(T,!1)).a.gc()>0&&Ti(r,T,l(new wa(F.a.Zc(T,!1)).a.Vc(),40)),new wa(F.a.ad(T,!0)).a.gc()>1&&Ti(r,sdt(F,T),T)):(new wa(F.a.Zc(T,!1)).a.gc()>0&&(o=l(new wa(F.a.Zc(T,!1)).a.Vc(),40),qe(o)===qe(dc(zo(r.f,T)))&&l(Q(T,(Zi(),Kde)),15).Fc(o)),new wa(F.a.ad(T,!0)).a.gc()>1&&(L=sdt(F,T),qe(dc(zo(r.f,L)))===qe(T)&&l(Q(L,(Zi(),Kde)),15).Fc(T)),F.a.Bc(T)!=null)}function Mwt(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e;if(e.gc()==1)return l(e.Xb(0),235);if(e.gc()<=0)return new eU;for(s=e.Kc();s.Ob();){for(n=l(s.Pb(),235),V=0,C=Ni,L=Ni,w=ao,T=ao,z=new K(n.e);z.a<z.c.c.length;)F=l(re(z),153),V+=l(Q(F,(p0(),Hx)),17).a,C=b.Math.min(C,F.d.a-F.e.a/2),L=b.Math.min(L,F.d.b-F.e.b/2),w=b.Math.max(w,F.d.a+F.e.a/2),T=b.Math.max(T,F.d.b+F.e.b/2);rt(n,(p0(),Hx),bt(V)),rt(n,(Cb(),zL),new lt(C,L)),rt(n,wB,new lt(w,T))}for(Cn(),e.jd(new H9),J=new eU,mc(J,l(e.Xb(0),96)),g=0,Ee=0,o=e.Kc();o.Ob();)n=l(o.Pb(),235),te=ya(Xa(l(Q(n,(Cb(),wB)),8)),l(Q(n,zL),8)),g=b.Math.max(g,te.a),Ee+=te.a*te.b;for(g=b.Math.max(g,b.Math.sqrt(Ee)*ze(Ge(Q(J,(p0(),k8t))))),fe=ze(Ge(Q(J,LK))),Me=0,$e=0,f=0,t=fe,r=e.Kc();r.Ob();)n=l(r.Pb(),235),te=ya(Xa(l(Q(n,(Cb(),wB)),8)),l(Q(n,zL),8)),Me+te.a>g&&(Me=0,$e+=f+fe,f=0),J_n(J,n,Me,$e),t=b.Math.max(t,Me+te.a),f=b.Math.max(f,te.b),Me+=te.a+fe;return J}function SIn(e){$ke();var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te;if(e==null||(o=hU(e),V=e5n(o),V%4!=0))return null;if(J=V/4|0,J==0)return We(_l,_6,28,0,15,1);for(L=null,t=0,n=0,r=0,s=0,f=0,g=0,w=0,T=0,z=0,F=0,C=0,L=We(_l,_6,28,J*3,15,1);z<J-1;z++){if(!cO(f=o[C++])||!cO(g=o[C++])||!cO(w=o[C++])||!cO(T=o[C++]))return null;t=nd[f],n=nd[g],r=nd[w],s=nd[T],L[F++]=(t<<2|n>>4)<<24>>24,L[F++]=((n&15)<<4|r>>2&15)<<24>>24,L[F++]=(r<<6|s)<<24>>24}return!cO(f=o[C++])||!cO(g=o[C++])?null:(t=nd[f],n=nd[g],w=o[C++],T=o[C++],nd[w]==-1||nd[T]==-1?w==61&&T==61?n&15?null:(te=We(_l,_6,28,z*3+1,15,1),gu(L,0,te,0,z*3),te[F]=(t<<2|n>>4)<<24>>24,te):w!=61&&T==61?(r=nd[w],r&3?null:(te=We(_l,_6,28,z*3+2,15,1),gu(L,0,te,0,z*3),te[F++]=(t<<2|n>>4)<<24>>24,te[F]=((n&15)<<4|r>>2&15)<<24>>24,te)):null:(r=nd[w],s=nd[T],L[F++]=(t<<2|n>>4)<<24>>24,L[F++]=((n&15)<<4|r>>2&15)<<24>>24,L[F++]=(r<<6|s)<<24>>24,L))}function _In(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je;for(t.Ug(Tyt,1),V=l(Q(e,(Nt(),yp)),223),s=new K(e.b);s.a<s.c.c.length;)for(r=l(re(s),30),T=aN(r.a),f=T,g=0,w=f.length;g<w;++g)if(o=f[g],o.k==(Jn(),Su)){if(V==(cp(),a9))for(L=new K(o.j);L.a<L.c.c.length;)C=l(re(L),12),C.e.c.length==0||v6n(C),C.g.c.length==0||w6n(C);else if(De(Q(o,(ft(),zi)),18))te=l(Q(o,zi),18),fe=l(k2(o,(_t(),Zn)).Kc().Pb(),12),Ee=l(k2(o,sr).Kc().Pb(),12),Me=l(Q(fe,zi),12),$e=l(Q(Ee,zi),12),ho(te,$e),Na(te,Me),Je=new xo(Ee.i.n),Je.a=Bc(he(le(Ca,1),dt,8,0,[$e.i.n,$e.n,$e.a])).a,ci(te.a,Je),Je=new xo(fe.i.n),Je.a=Bc(he(le(Ca,1),dt,8,0,[Me.i.n,Me.n,Me.a])).a,ci(te.a,Je);else{if(o.j.c.length>=2){for(J=!0,F=new K(o.j),n=l(re(F),12),z=null;F.a<F.c.c.length;)if(z=n,n=l(re(F),12),!Fi(Q(z,zi),Q(n,zi))){J=!1;break}}else J=!1;for(L=new K(o.j);L.a<L.c.c.length;)C=l(re(L),12),C.e.c.length==0||rSn(C,J),C.g.c.length==0||iSn(C,J)}Ha(o,null)}t.Vg()}function AIn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je;for(g=new K(e.a.b);g.a<g.c.c.length;)for(o=l(re(g),30),Me=new K(o.a);Me.a<Me.c.c.length;)Ee=l(re(Me),10),t.g[Ee.p]=Ee,t.a[Ee.p]=Ee,t.d[Ee.p]=0;for(w=e.a.b,t.c==(xd(),O2)&&(w=uf(w)),f=w.Kc();f.Ob();)for(o=l(f.Pb(),30),z=-1,F=o.a,t.o==(D1(),Y1)&&(z=Ni,F=uf(F)),Je=F.Kc();Je.Ob();)if($e=l(Je.Pb(),10),L=null,t.c==O2?L=l(Rt(e.b.f,$e.p),15):L=l(Rt(e.b.b,$e.p),15),L.gc()>0)if(r=L.gc(),T=da(b.Math.floor((r+1)/2))-1,s=da(b.Math.ceil((r+1)/2))-1,t.o==Y1)for(C=s;C>=T;C--)t.a[$e.p]==$e&&(J=l(L.Xb(C),42),V=l(J.a,10),!K0(n,J.b)&&z>e.b.e[V.p]&&(t.a[V.p]=$e,t.g[$e.p]=t.g[V.p],t.a[$e.p]=t.g[$e.p],t.f[t.g[$e.p].p]=(Hn(),!!(Ft(t.f[t.g[$e.p].p])&$e.k==(Jn(),Aa))),z=e.b.e[V.p]));else for(C=T;C<=s;C++)t.a[$e.p]==$e&&(fe=l(L.Xb(C),42),te=l(fe.a,10),!K0(n,fe.b)&&z<e.b.e[te.p]&&(t.a[te.p]=$e,t.g[$e.p]=t.g[te.p],t.a[$e.p]=t.g[$e.p],t.f[t.g[$e.p].p]=(Hn(),!!(Ft(t.f[t.g[$e.p].p])&$e.k==(Jn(),Aa))),z=e.b.e[te.p]))}function Dwt(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln;return Me=e.c[(Sn(0,t.c.length),l(t.c[0],18)).p],At=e.c[(Sn(1,t.c.length),l(t.c[1],18)).p],Me.a.e.e-Me.a.a-(Me.b.e.e-Me.b.a)==0&&At.a.e.e-At.a.a-(At.b.e.e-At.b.a)==0||(fe=Me.b.e.f,!De(fe,10))?!1:(te=l(fe,10),Je=e.i[te.p],ot=te.c?bc(te.c.a,te,0):-1,o=gs,ot>0&&(s=l(Rt(te.c.a,ot-1),10),f=e.i[s.p],ln=b.Math.ceil(z5(e.n,s,te)),o=Je.a.e-te.d.d-(f.a.e+s.o.b+s.d.a)-ln),T=gs,ot<te.c.a.c.length-1&&(w=l(Rt(te.c.a,ot+1),10),C=e.i[w.p],ln=b.Math.ceil(z5(e.n,w,te)),T=C.a.e-w.d.d-(Je.a.e+te.o.b+te.d.a)-ln),n&&(A1(),h0(Nd),b.Math.abs(o-T)<=Nd||o==T||isNaN(o)&&isNaN(T))?!0:(r=toe(Me.a),g=-toe(Me.b),L=-toe(At.a),Ee=toe(At.b),J=Me.a.e.e-Me.a.a-(Me.b.e.e-Me.b.a)>0&&At.a.e.e-At.a.a-(At.b.e.e-At.b.a)<0,V=Me.a.e.e-Me.a.a-(Me.b.e.e-Me.b.a)<0&&At.a.e.e-At.a.a-(At.b.e.e-At.b.a)>0,z=Me.a.e.e+Me.b.a<At.b.e.e+At.a.a,F=Me.a.e.e+Me.b.a>At.b.e.e+At.a.a,$e=0,!J&&!V&&(F?o+L>0?$e=L:T-r>0&&($e=r):z&&(o+g>0?$e=g:T-Ee>0&&($e=Ee))),Je.a.e+=$e,Je.b&&(Je.d.e+=$e),!1))}function Iwt(e,t,n){var r,s,o,f,g,w,T,C,L,F;if(r=new Zh(t.Lf().a,t.Lf().b,t.Mf().a,t.Mf().b),s=new z8,e.c)for(f=new K(t.Rf());f.a<f.c.c.length;)o=l(re(f),187),s.c=o.Lf().a+t.Lf().a,s.d=o.Lf().b+t.Lf().b,s.b=o.Mf().a,s.a=o.Mf().b,zA(r,s);for(T=new K(t.Xf());T.a<T.c.c.length;){if(w=l(re(T),852),C=w.Lf().a+t.Lf().a,L=w.Lf().b+t.Lf().b,e.e&&(s.c=C,s.d=L,s.b=w.Mf().a,s.a=w.Mf().b,zA(r,s)),e.d)for(f=new K(w.Rf());f.a<f.c.c.length;)o=l(re(f),187),s.c=o.Lf().a+C,s.d=o.Lf().b+L,s.b=o.Mf().a,s.a=o.Mf().b,zA(r,s);if(e.b){if(F=new lt(-n,-n),l(t.of((bi(),L4)),181).Hc((Pl(),im)))for(f=new K(w.Rf());f.a<f.c.c.length;)o=l(re(f),187),F.a+=o.Mf().a+n,F.b+=o.Mf().b+n;F.a=b.Math.max(F.a,0),F.b=b.Math.max(F.b,0),Zmt(r,w.Wf(),w.Uf(),t,w,F,n)}}e.b&&Zmt(r,t.Wf(),t.Uf(),t,null,null,n),g=new Pae(t.Vf()),g.d=b.Math.max(0,t.Lf().b-r.d),g.a=b.Math.max(0,r.d+r.a-(t.Lf().b+t.Mf().b)),g.b=b.Math.max(0,t.Lf().a-r.c),g.c=b.Math.max(0,r.c+r.b-(t.Lf().a+t.Mf().a)),t.Zf(g)}function LIn(){var e=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F"];return e[34]='\\"',e[92]="\\\\",e[173]="\\u00ad",e[1536]="\\u0600",e[1537]="\\u0601",e[1538]="\\u0602",e[1539]="\\u0603",e[1757]="\\u06dd",e[1807]="\\u070f",e[6068]="\\u17b4",e[6069]="\\u17b5",e[8203]="\\u200b",e[8204]="\\u200c",e[8205]="\\u200d",e[8206]="\\u200e",e[8207]="\\u200f",e[8232]="\\u2028",e[8233]="\\u2029",e[8234]="\\u202a",e[8235]="\\u202b",e[8236]="\\u202c",e[8237]="\\u202d",e[8238]="\\u202e",e[8288]="\\u2060",e[8289]="\\u2061",e[8290]="\\u2062",e[8291]="\\u2063",e[8292]="\\u2064",e[8298]="\\u206a",e[8299]="\\u206b",e[8300]="\\u206c",e[8301]="\\u206d",e[8302]="\\u206e",e[8303]="\\u206f",e[65279]="\\ufeff",e[65529]="\\ufff9",e[65530]="\\ufffa",e[65531]="\\ufffb",e}function Owt(e){fw(e,new iv(E3e(Jz(uw(aw(cw(ow(new x1,Yu),"ELK Force"),"Force-based algorithm provided by the Eclipse Layout Kernel. Implements methods that follow physical analogies by simulating forces that move the nodes into a balanced distribution. Currently the original Eades model and the Fruchterman - Reingold model are supported."),new ld),Yu),is((VT(),_Y),he(le(AY,1),it,245,0,[CY]))))),pt(e,Yu,qP,bt(1)),pt(e,Yu,t4,80),pt(e,Yu,Khe,5),pt(e,Yu,Nx,fE),pt(e,Yu,gG,bt(1)),pt(e,Yu,hL,(Hn(),!0)),pt(e,Yu,r3,yAe),pt(e,Yu,fL,It(mAe)),pt(e,Yu,Whe,It(xAe)),pt(e,Yu,pG,!1),pt(e,Yu,dL,It(wAe)),pt(e,Yu,dE,It(S8t)),pt(e,Yu,Px,It(_8t)),pt(e,Yu,T6,It(C8t)),pt(e,Yu,gE,It(E8t)),pt(e,Yu,pE,It(L8t)),pt(e,Yu,dG,It(vAe)),pt(e,Yu,Vhe,It(d1e)),pt(e,Yu,XTe,It(AK)),pt(e,Yu,Ghe,It(f1e)),pt(e,Yu,QTe,It(kAe)),pt(e,Yu,HP,It(P8t)),pt(e,Yu,UP,It(B8t)),pt(e,Yu,VP,It(N8t)),pt(e,Yu,GP,It(O8t)),pt(e,Yu,i3,TAe)}function Bb(e,t){Ii();var n,r,s,o,f,g,w,T,C,L,F,z,V;if(g_(hC)==0){for(L=We(rNn,dt,122,QAt.length,0,1),f=0;f<L.length;f++)L[f]=new _h(4);for(r=new f_,o=0;o<fBe.length;o++){if(C=new _h(4),o<84?(g=o*2,z=(Yn(g,M0e.length),M0e.charCodeAt(g)),F=(Yn(g+1,M0e.length),M0e.charCodeAt(g+1)),xu(C,z,F)):(g=(o-84)*2,xu(C,dBe[g],dBe[g+1])),w=fBe[o],wn(w,"Specials")&&xu(C,65520,65533),wn(w,C6t)&&(xu(C,983040,1048573),xu(C,1048576,1114109)),sc(hC,w,C),sc(WM,w,Wy(C)),T=r.a.length,0<T?r.a=ef(r.a,0,0):0>T&&(r.a+=art(We(xf,Ad,28,-T,15,1))),r.a+="Is",pd(w,ol(32))>=0)for(s=0;s<w.length;s++)Yn(s,w.length),w.charCodeAt(s)!=32&&Kk(r,(Yn(s,w.length),w.charCodeAt(s)));else r.a+=""+w;txe(r.a,w,!0)}txe(L0e,"Cn",!1),txe(i_e,"Cn",!0),n=new _h(4),xu(n,0,SE),sc(hC,"ALL",n),sc(WM,"ALL",Wy(n)),!R4&&(R4=new Nr),sc(R4,L0e,L0e),!R4&&(R4=new Nr),sc(R4,i_e,i_e),!R4&&(R4=new Nr),sc(R4,"ALL","ALL")}return V=l(wu(t?hC:WM,e),138),V}function Nwt(e){fw(e,new iv(E3e(Jz(uw(aw(cw(ow(new x1,Xu),"ELK Mr. Tree"),"Tree-based algorithm provided by the Eclipse Layout Kernel. Computes a spanning tree of the input graph and arranges all nodes according to the resulting parent-children hierarchy. I pity the fool who doesn't use Mr. Tree Layout."),new cne),Gyt),hn((VT(),lpe))))),pt(e,Xu,r3,OIe),pt(e,Xu,t4,20),pt(e,Xu,_fe,3),pt(e,Xu,Nx,fE),pt(e,Xu,qP,bt(1)),pt(e,Xu,hL,(Hn(),!0)),pt(e,Xu,JP,It(AIe)),pt(e,Xu,Afe,LIe),pt(e,Xu,fL,It(JEt)),pt(e,Xu,PG,It(ZEt)),pt(e,Xu,T6,It(tCt)),pt(e,Xu,dE,It(nCt)),pt(e,Xu,Bx,It(rCt)),pt(e,Xu,Px,It(iCt)),pt(e,Xu,gE,It(eCt)),pt(e,Xu,dL,It(DIe)),pt(e,Xu,pE,It(sCt)),pt(e,Xu,NCe,It(FIe)),pt(e,Xu,BCe,It(NIe)),pt(e,Xu,HP,It(uCt)),pt(e,Xu,UP,It(lCt)),pt(e,Xu,VP,It(cCt)),pt(e,Xu,GP,It(oCt)),pt(e,Xu,i3,BIe),pt(e,Xu,OCe,It(X6)),pt(e,Xu,PCe,It(ege)),pt(e,Xu,ICe,It($d)),pt(e,Xu,MCe,It(_Ie)),pt(e,Xu,DCe,It(MIe))}function Pwt(e,t){var n,r,s,o,f,g,w,T,C,L,F;for(T=l(l($i(e.r,t),21),87),f=c9n(e,t),n=e.u.Hc((Pl(),PM)),w=T.Kc();w.Ob();)if(g=l(w.Pb(),117),!(!g.c||g.c.d.c.length<=0)){switch(F=g.b.Mf(),C=g.c,L=C.i,L.b=(o=C.n,C.e.a+o.b+o.c),L.a=(s=C.n,C.e.b+s.d+s.a),t.g){case 1:g.a?(L.c=(F.a-L.b)/2,J0(C,(Ol(),Vb))):f||n?(L.c=-L.b-e.s,J0(C,(Ol(),m0))):(L.c=F.a+e.s,J0(C,(Ol(),Fd))),L.d=-L.a-e.t,vd(C,(al(),v0));break;case 3:g.a?(L.c=(F.a-L.b)/2,J0(C,(Ol(),Vb))):f||n?(L.c=-L.b-e.s,J0(C,(Ol(),m0))):(L.c=F.a+e.s,J0(C,(Ol(),Fd))),L.d=F.b+e.t,vd(C,(al(),s1));break;case 2:g.a?(r=e.v?L.a:l(Rt(C.d,0),187).Mf().b,L.d=(F.b-r)/2,vd(C,(al(),Gb))):f||n?(L.d=-L.a-e.t,vd(C,(al(),v0))):(L.d=F.b+e.t,vd(C,(al(),s1))),L.c=F.a+e.s,J0(C,(Ol(),Fd));break;case 4:g.a?(r=e.v?L.a:l(Rt(C.d,0),187).Mf().b,L.d=(F.b-r)/2,vd(C,(al(),Gb))):f||n?(L.d=-L.a-e.t,vd(C,(al(),v0))):(L.d=F.b+e.t,vd(C,(al(),s1))),L.c=-L.b-e.s,J0(C,(Ol(),m0))}f=!1}}function MIn(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee;if(F=!1,L=!1,F5(l(Q(r,(Nt(),Ds)),101))){f=!1,g=!1;e:for(V=new K(r.j);V.a<V.c.c.length;)for(z=l(re(V),12),te=ag(Lh(he(le(Fh,1),jn,20,0,[new S5(z),new S8(z)])));Rr(te);)if(J=l(yr(te),12),!Ft(Pt(Q(J.i,JL)))){if(z.j==(_t(),Xn)){f=!0;break e}if(z.j==Mr){g=!0;break e}}F=g&&!f,L=f&&!g}if(!F&&!L&&r.b.c.length!=0){for(C=0,T=new K(r.b);T.a<T.c.c.length;)w=l(re(T),72),C+=w.n.b+w.o.b/2;C/=r.b.c.length,Ee=C>=r.o.b/2}else Ee=!L;Ee?(fe=l(Q(r,(ft(),Jx)),15),fe?F?o=fe:(s=l(Q(r,Kx),15),s?fe.gc()<=s.gc()?o=fe:o=s:(o=new mt,rt(r,Kx,o))):(o=new mt,rt(r,Jx,o))):(s=l(Q(r,(ft(),Kx)),15),s?L?o=s:(fe=l(Q(r,Jx),15),fe?s.gc()<=fe.gc()?o=s:o=fe:(o=new mt,rt(r,Jx,o))):(o=new mt,rt(r,Kx,o))),o.Fc(e),rt(e,(ft(),lW),n),t.d==n?(Na(t,null),n.e.c.length+n.g.c.length==0&&Nc(n,null),Vyn(n)):(ho(t,null),n.e.c.length+n.g.c.length==0&&Nc(n,null)),Ch(t.a)}function DIn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr,ai,ys;for(n.Ug("MinWidth layering",1),z=t.b,At=t.a,ys=l(Q(t,(Nt(),sDe)),17).a,g=l(Q(t,aDe),17).a,e.b=ze(Ge(Q(t,y0))),e.d=gs,$e=new K(At);$e.a<$e.c.c.length;)Ee=l(re($e),10),Ee.k==(Jn(),Bs)&&(Fn=Ee.o.b,e.d=b.Math.min(e.d,Fn));for(e.d=b.Math.max(1,e.d),ln=At.c.length,e.c=We(Ur,fi,28,ln,15,1),e.f=We(Ur,fi,28,ln,15,1),e.e=We(Oa,tc,28,ln,15,1),T=0,e.a=0,Je=new K(At);Je.a<Je.c.c.length;)Ee=l(re(Je),10),Ee.p=T++,e.c[Ee.p]=b1t(Ea(Ee)),e.f[Ee.p]=b1t(qs(Ee)),e.e[Ee.p]=Ee.o.b/e.d,e.a+=e.e[Ee.p];for(e.b/=e.d,e.a/=ln,ot=xTn(At),Gs(At,V5e(new oXe(e))),J=gs,V=Ni,f=null,ai=ys,cr=ys,o=g,s=g,ys<0&&(ai=l(rIe.a.Id(),17).a,cr=l(rIe.b.Id(),17).a),g<0&&(o=l(nIe.a.Id(),17).a,s=l(nIe.b.Id(),17).a),$n=ai;$n<=cr;$n++)for(r=o;r<=s;r++)cn=hLn(e,$n,r,At,ot),fe=ze(Ge(cn.a)),F=l(cn.b,15),te=F.gc(),(fe<J||fe==J&&te<V)&&(J=fe,V=te,f=F);for(L=f.Kc();L.Ob();){for(C=l(L.Pb(),15),w=new vu(t),Me=C.Kc();Me.Ob();)Ee=l(Me.Pb(),10),Ha(Ee,w);qn(z.c,w)}aP(z),At.c.length=0,n.Vg()}function IIn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr;if(n.Ug("Spline edge routing",1),t.b.c.length==0){t.f.a=0,n.Vg();return}Ee=ze(Ge(Q(t,(Nt(),G6)))),g=ze(Ge(Q(t,Sv))),f=ze(Ge(Q(t,U6))),fe=l(Q(t,mde),350),ln=fe==(AT(),oM),At=ze(Ge(Q(t,QMe))),e.d=t,e.j.c.length=0,e.a.c.length=0,Dl(e.k),w=l(Rt(t.b,0),30),C=Bq(w.a,(jV(),$B)),V=l(Rt(t.b,t.b.c.length-1),30),L=Bq(V.a,$B),J=new K(t.b),te=null,cr=0;do{for(Me=J.a<J.c.c.length?l(re(J),30):null,fIn(e,te,Me),jAn(e),cn=jun(P3n(DH(ji(new vn(null,new kn(e.i,16)),new $te),new zte))),$n=0,$e=cr,F=!te||C&&te==w,z=!Me||L&&Me==V,cn>0?(T=0,te&&(T+=g),T+=(cn-1)*f,Me&&(T+=g),ln&&Me&&(T=b.Math.max(T,QCn(Me,f,Ee,At))),T<Ee&&!F&&!z&&($n=(Ee-T)/2,T=Ee),$e+=T):!F&&!z&&($e+=Ee),Me&&Qke(Me,$e),ot=new K(e.i);ot.a<ot.c.c.length;)Je=l(re(ot),131),Je.a.c=cr,Je.a.b=$e-cr,Je.F=$n,Je.p=!te;aa(e.a,e.i),cr=$e,Me&&(cr+=Me.c.a),te=Me,F=z}while(Me);for(s=new K(e.j);s.a<s.c.c.length;)r=l(re(s),18),o=E3n(e,r),rt(r,(ft(),H6),o),Fn=uSn(e,r),rt(r,yv,Fn);t.f.a=cr,e.d=null,n.Vg()}function OIn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn;for(e.b=t,e.a=l(Q(t,(Nt(),ZMe)),17).a,e.c=l(Q(t,tDe),17).a,e.c==0&&(e.c=Ni),te=new Ua(t.b,0);te.b<te.d.gc();){for(J=(br(te.b<te.d.gc()),l(te.d.Xb(te.c=te.b++),30)),g=new mt,C=-1,$e=-1,Me=new K(J.a);Me.a<Me.c.c.length;)Ee=l(re(Me),10),ep((zO(),new lr(fr(up(Ee).a.Kc(),new j))))>=e.a&&(r=dLn(e,Ee),C=b.Math.max(C,r.b),$e=b.Math.max($e,r.d),wt(g,new fa(Ee,r)));for(ln=new mt,T=0;T<C;++T)kw(ln,0,(br(te.b>0),te.a.Xb(te.c=--te.b),cn=new vu(e.b),wy(te,cn),br(te.b<te.d.gc()),te.d.Xb(te.c=te.b++),cn));for(f=new K(g);f.a<f.c.c.length;)if(s=l(re(f),42),z=l(s.b,580).a,!!z)for(F=new K(z);F.a<F.c.c.length;)L=l(re(F),10),_xe(e,L,IK,ln);for(n=new mt,w=0;w<$e;++w)wt(n,(Fn=new vu(e.b),wy(te,Fn),Fn));for(o=new K(g);o.a<o.c.c.length;)if(s=l(re(o),42),At=l(s.b,580).c,!!At)for(ot=new K(At);ot.a<ot.c.c.length;)Je=l(re(ot),10),_xe(e,Je,OK,n)}for(fe=new Ua(t.b,0);fe.b<fe.d.gc();)V=(br(fe.b<fe.d.gc()),l(fe.d.Xb(fe.c=fe.b++),30)),V.a.c.length==0&&fh(fe)}function Bwt(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e;if(J=e.i!=0,Me=!1,fe=null,ch(e.e)){if(C=t.gc(),C>0){for(F=C<100?null:new hb(C),T=new q7e(t),V=T.g,fe=We(Ur,fi,28,C,15,1),r=0,$e=new Bw(C),s=0;s<e.i;++s){g=e.g[s],z=g;e:for(Ee=0;Ee<2;++Ee){for(w=C;--w>=0;)if(z!=null?Fi(z,V[w]):qe(z)===qe(V[w])){fe.length<=r&&(te=fe,fe=We(Ur,fi,28,2*fe.length,15,1),gu(te,0,fe,0,r)),fe[r++]=s,zr($e,V[w]);break e}if(z=z,qe(z)===qe(g))break}}if(T=$e,V=$e.g,C=r,r>fe.length&&(te=fe,fe=We(Ur,fi,28,r,15,1),gu(te,0,fe,0,r)),r>0){for(Me=!0,o=0;o<r;++o)z=V[o],F=jit(e,l(z,76),F);for(f=r;--f>=0;)wx(e,fe[f]);if(r!=C){for(s=C;--s>=r;)wx(T,s);te=fe,fe=We(Ur,fi,28,r,15,1),gu(te,0,fe,0,r)}t=T}}}else for(t=W7n(e,t),s=e.i;--s>=0;)t.Hc(e.g[s])&&(wx(e,s),Me=!0);if(Me){if(fe!=null){for(n=t.gc(),L=n==1?iA(e,4,t.Kc().Pb(),null,fe[0],J):iA(e,6,t,fe,fe[0],J),F=n<100?null:new hb(n),s=t.Kc();s.Ob();)z=s.Pb(),F=D4e(e,l(z,76),F);F?(F.nj(L),F.oj()):Bi(e.e,L)}else{for(F=e0n(t.gc()),s=t.Kc();s.Ob();)z=s.Pb(),F=D4e(e,l(z,76),F);F&&F.oj()}return!0}else return!1}function NIn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me;for(n=new Qdt(t),n.a||uAn(t),T=a_n(t),w=new Iw,te=new Zbt,J=new K(t.a);J.a<J.c.c.length;)for(V=l(re(J),10),s=new lr(fr(qs(V).a.Kc(),new j));Rr(s);)r=l(yr(s),18),(r.c.i.k==(Jn(),Ks)||r.d.i.k==Ks)&&(C=kDn(e,r,T,te),xn(w,pue(C.d),C.a));for(f=new mt,Me=l(Q(n.c,(ft(),wp)),21).Kc();Me.Ob();){switch(Ee=l(Me.Pb(),64),z=te.c[Ee.g],F=te.b[Ee.g],g=te.a[Ee.g],o=null,fe=null,Ee.g){case 4:o=new Zh(e.d.a,z,T.b.a-e.d.a,F-z),fe=new Zh(e.d.a,z,g,F-z),xw(T,new lt(o.c+o.b,o.d)),xw(T,new lt(o.c+o.b,o.d+o.a));break;case 2:o=new Zh(T.a.a,z,e.c.a-T.a.a,F-z),fe=new Zh(e.c.a-g,z,g,F-z),xw(T,new lt(o.c,o.d)),xw(T,new lt(o.c,o.d+o.a));break;case 1:o=new Zh(z,e.d.b,F-z,T.b.b-e.d.b),fe=new Zh(z,e.d.b,F-z,g),xw(T,new lt(o.c,o.d+o.a)),xw(T,new lt(o.c+o.b,o.d+o.a));break;case 3:o=new Zh(z,T.a.b,F-z,e.c.b-T.a.b),fe=new Zh(z,e.c.b-g,F-z,g),xw(T,new lt(o.c,o.d)),xw(T,new lt(o.c+o.b,o.d))}o&&(L=new wJe,L.d=Ee,L.b=o,L.c=fe,L.a=BH(l($i(w,pue(Ee)),21)),qn(f.c,L))}return aa(n.b,f),n.d=h4n(BMn(T)),n}function Fwt(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J;if(n.p[t.p]==null){g=!0,n.p[t.p]=0,f=t,J=n.o==(D1(),_v)?oa:gs;do s=e.b.e[f.p],o=f.c.a.c.length,n.o==_v&&s>0||n.o==Y1&&s<o-1?(w=null,T=null,n.o==Y1?w=l(Rt(f.c.a,s+1),10):w=l(Rt(f.c.a,s-1),10),T=n.g[w.p],Fwt(e,T,n),J=e.e.wg(J,t,f),n.j[t.p]==t&&(n.j[t.p]=n.j[T.p]),n.j[t.p]==n.j[T.p]?(V=z5(e.d,f,w),n.o==Y1?(r=ze(n.p[t.p]),L=ze(n.p[T.p])+ze(n.d[w.p])-w.d.d-V-f.d.a-f.o.b-ze(n.d[f.p]),g?(g=!1,n.p[t.p]=b.Math.min(L,J)):n.p[t.p]=b.Math.min(r,b.Math.min(L,J))):(r=ze(n.p[t.p]),L=ze(n.p[T.p])+ze(n.d[w.p])+w.o.b+w.d.a+V+f.d.d-ze(n.d[f.p]),g?(g=!1,n.p[t.p]=b.Math.max(L,J)):n.p[t.p]=b.Math.max(r,b.Math.max(L,J)))):(V=ze(Ge(Q(e.a,(Nt(),E3)))),z=Hft(e,n.j[t.p]),C=Hft(e,n.j[T.p]),n.o==Y1?(F=ze(n.p[t.p])+ze(n.d[f.p])+f.o.b+f.d.a+V-(ze(n.p[T.p])+ze(n.d[w.p])-w.d.d),bct(z,C,F)):(F=ze(n.p[t.p])+ze(n.d[f.p])-f.d.d-ze(n.p[T.p])-ze(n.d[w.p])-w.o.b-w.d.a-V,bct(z,C,F)))):J=e.e.wg(J,t,f),f=n.a[f.p];while(f!=t);fun(e.e,t)}}function PIn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn;if(n=ze(Ge(Q(e.a.j,(Nt(),VMe)))),n<-1||!e.a.i||G8(l(Q(e.a.o,Ds),101))||Fc(e.a.o,(_t(),sr)).gc()<2&&Fc(e.a.o,Zn).gc()<2)return!0;if(e.a.c.kg())return!1;for(Je=0,$e=0,Me=new mt,w=e.a.e,T=0,C=w.length;T<C;++T){for(g=w[T],F=g,z=0,J=F.length;z<J;++z){if(L=F[z],L.k==(Jn(),Su)){qn(Me.c,L);continue}for(r=e.b[L.c.p][L.p],L.k==Ks?(r.b=1,l(Q(L,(ft(),zi)),12).j==(_t(),sr)&&($e+=r.a)):(cn=Fc(L,(_t(),Zn)),cn.dc()||!dae(cn,new J9)?r.c=1:(s=Fc(L,sr),(s.dc()||!dae(s,new ste))&&(Je+=r.a))),f=new lr(fr(qs(L).a.Kc(),new j));Rr(f);)o=l(yr(f),18),Je+=r.c,$e+=r.b,ln=o.d.i,Z6e(e,r,ln);for(fe=Lh(he(le(Fh,1),jn,20,0,[Fc(L,(_t(),Xn)),Fc(L,Mr)])),At=new lr(new Gye(fe.a.length,fe.a));Rr(At);)ot=l(yr(At),12),Ee=l(Q(ot,(ft(),Bl)),10),Ee&&(Je+=r.c,$e+=r.b,Z6e(e,r,Ee))}for(V=new K(Me);V.a<V.c.c.length;)for(L=l(re(V),10),r=e.b[L.c.p][L.p],f=new lr(fr(qs(L).a.Kc(),new j));Rr(f);)o=l(yr(f),18),Je+=r.c,$e+=r.b,ln=o.d.i,Z6e(e,r,ln);Me.c.length=0}return t=Je+$e,te=t==0?gs:(Je-$e)/t,te>=n}function BIn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr;for(Me=t,Ee=new Iw,$e=new Iw,C=Pw(Me,MSe),r=new aot(e,n,Ee,$e),nkn(r.a,r.b,r.c,r.d,C),w=(At=Ee.i,At||(Ee.i=new U5(Ee,Ee.c))),cn=w.Kc();cn.Ob();)for(ln=l(cn.Pb(),166),s=l($i(Ee,ln),21),J=s.Kc();J.Ob();)if(V=J.Pb(),Je=l(J5(e.d,V),166),Je)g=(!ln.e&&(ln.e=new An(cs,ln,10,9)),ln.e),zr(g,Je);else throw f=Zg(Me,Pd),F=X4t+V+Q4t+f,z=F+EE,ue(new dd(z));for(T=(ot=$e.i,ot||($e.i=new U5($e,$e.c))),$n=T.Kc();$n.Ob();)for(Fn=l($n.Pb(),166),o=l($i($e,Fn),21),fe=o.Kc();fe.Ob();)if(te=fe.Pb(),Je=l(J5(e.d,te),166),Je)L=(!Fn.g&&(Fn.g=new An(cs,Fn,9,10)),Fn.g),zr(L,Je);else throw f=Zg(Me,Pd),F=X4t+te+Q4t+f,z=F+EE,ue(new dd(z));!n.b&&(n.b=new An(Sr,n,4,7)),n.b.i!=0&&(!n.c&&(n.c=new An(Sr,n,5,8)),n.c.i!=0)&&(!n.b&&(n.b=new An(Sr,n,4,7)),n.b.i<=1&&(!n.c&&(n.c=new An(Sr,n,5,8)),n.c.i<=1))&&(!n.a&&(n.a=new nt(cs,n,6,6)),n.a).i==1&&(cr=l(Oe((!n.a&&(n.a=new nt(cs,n,6,6)),n.a),0),166),!yue(cr)&&!xue(cr)&&(SU(cr,l(Oe((!n.b&&(n.b=new An(Sr,n,4,7)),n.b),0),84)),_U(cr,l(Oe((!n.c&&(n.c=new An(Sr,n,5,8)),n.c),0),84))))}function FIn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn;for(Me=e.a,$e=0,Je=Me.length;$e<Je;++$e){for(Ee=Me[$e],T=Ni,C=Ni,V=new K(Ee.e);V.a<V.c.c.length;)F=l(re(V),10),f=F.c?bc(F.c.a,F,0):-1,f>0?(L=l(Rt(F.c.a,f-1),10),ln=z5(e.b,F,L),te=F.n.b-F.d.d-(L.n.b+L.o.b+L.d.a+ln)):te=F.n.b-F.d.d,T=b.Math.min(te,T),f<F.c.a.c.length-1?(L=l(Rt(F.c.a,f+1),10),ln=z5(e.b,F,L),fe=L.n.b-L.d.d-(F.n.b+F.o.b+F.d.a+ln)):fe=2*F.n.b,C=b.Math.min(fe,C);for(w=Ni,o=!1,s=l(Rt(Ee.e,0),10),Fn=new K(s.j);Fn.a<Fn.c.c.length;)for(cn=l(re(Fn),12),J=s.n.b+cn.n.b+cn.a.b,r=new K(cn.e);r.a<r.c.c.length;)n=l(re(r),18),ot=n.c,t=ot.i.n.b+ot.n.b+ot.a.b-J,b.Math.abs(t)<b.Math.abs(w)&&b.Math.abs(t)<(t<0?T:C)&&(w=t,o=!0);for(g=l(Rt(Ee.e,Ee.e.c.length-1),10),At=new K(g.j);At.a<At.c.c.length;)for(ot=l(re(At),12),J=g.n.b+ot.n.b+ot.a.b,r=new K(ot.g);r.a<r.c.c.length;)n=l(re(r),18),cn=n.d,t=cn.i.n.b+cn.n.b+cn.a.b-J,b.Math.abs(t)<b.Math.abs(w)&&b.Math.abs(t)<(t<0?T:C)&&(w=t,o=!0);if(o&&w!=0)for(z=new K(Ee.e);z.a<z.c.c.length;)F=l(re(z),10),F.n.b+=w}}function RIn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe;if(r=new mt,s=Ni,o=Ni,f=Ni,n)for(s=e.f.a,J=new K(t.j);J.a<J.c.c.length;)for(V=l(re(J),12),w=new K(V.g);w.a<w.c.c.length;)g=l(re(w),18),g.a.b!=0&&(C=l(Rk(g.a),8),C.a<s&&(o=s-C.a,f=Ni,r.c.length=0,s=C.a),C.a<=s&&(qn(r.c,g),g.a.b>1&&(f=b.Math.min(f,b.Math.abs(l(hf(g.a,1),8).b-C.b)))));else for(J=new K(t.j);J.a<J.c.c.length;)for(V=l(re(J),12),w=new K(V.e);w.a<w.c.c.length;)g=l(re(w),18),g.a.b!=0&&(F=l(a0(g.a),8),F.a>s&&(o=F.a-s,f=Ni,r.c.length=0,s=F.a),F.a>=s&&(qn(r.c,g),g.a.b>1&&(f=b.Math.min(f,b.Math.abs(l(hf(g.a,g.a.b-2),8).b-F.b)))));if(r.c.length!=0&&o>t.o.a/2&&f>t.o.b/2){for(z=new du,Nc(z,t),ga(z,(_t(),Xn)),z.n.a=t.o.a/2,fe=new du,Nc(fe,t),ga(fe,Mr),fe.n.a=t.o.a/2,fe.n.b=t.o.b,w=new K(r);w.a<w.c.c.length;)g=l(re(w),18),n?(T=l(Bae(g.a),8),te=g.a.b==0?I1(g.d):l(Rk(g.a),8),te.b>=T.b?ho(g,fe):ho(g,z)):(T=l(Adn(g.a),8),te=g.a.b==0?I1(g.c):l(a0(g.a),8),te.b>=T.b?Na(g,fe):Na(g,z)),L=l(Q(g,(Nt(),lc)),75),L&&Fy(L,T,!0);t.n.a=s-t.o.a/2}}function jIn(e,t,n){var r,s,o,f,g,w,T,C,L,F;for(g=Fr(e.b,0);g.b!=g.d.c;)if(f=l(Pr(g),40),!wn(f.c,RG))for(T=lEn(f,e),t==(ea(),hc)||t==yc?Gs(T,new gne):Gs(T,new pne),w=T.c.length,r=0;r<w;r++)C=(Sn(r,T.c.length),l(T.c[r],65)).c,wn(C.c,"n11"),!(Ft(Pt(Q(f,(Zi(),wIe))))&&!t1t((Sn(r,T.c.length),l(T.c[r],65)),e))&&(s=w==1?.5:(r+1)/(w+1),t==hc?(o=ze(Ge(Q(f,o1))),F=f.e.b+f.f.b*s,P5((Sn(r,T.c.length),l(T.c[r],65)).a,new lt(b.Math.min(o,f.e.a-n),F)),P5((Sn(r,T.c.length),l(T.c[r],65)).a,new lt(f.e.a,F))):t==yc?(o=ze(Ge(Q(f,x0)))+n,F=f.e.b+f.f.b*s,P5((Sn(r,T.c.length),l(T.c[r],65)).a,new lt(o,F)),P5((Sn(r,T.c.length),l(T.c[r],65)).a,new lt(f.e.a+f.f.a,F))):t==vf?(o=ze(Ge(Q(f,o1))),L=f.e.a+f.f.a*s,P5((Sn(r,T.c.length),l(T.c[r],65)).a,new lt(L,b.Math.min(f.e.b-n,o))),P5((Sn(r,T.c.length),l(T.c[r],65)).a,new lt(L,f.e.b))):(o=ze(Ge(Q(f,x0)))+n,L=f.e.a+f.f.a*s,P5((Sn(r,T.c.length),l(T.c[r],65)).a,new lt(L,o)),P5((Sn(r,T.c.length),l(T.c[r],65)).a,new lt(L,f.e.b+f.f.b))))}function SP(e,t,n,r,s,o,f,g,w){var T,C,L,F,z,V,J;switch(z=n,C=new hp(w),x(C,(Jn(),Ks)),rt(C,(ft(),iMe),f),rt(C,(Nt(),Ds),(Pa(),Au)),J=ze(Ge(e.of(y4))),rt(C,y4,J),L=new du,Nc(L,C),t!=Z1&&t!=rm||(r>=0?z=px(g):z=UN(px(g)),e.qf(GE,z)),T=new za,F=!1,e.pf(k3)?(t4e(T,l(e.of(k3),8)),F=!0):Yhn(T,f.a/2,f.b/2),z.g){case 4:rt(C,Qu,(lf(),Yb)),rt(C,fW,(Jm(),F6)),C.o.b=f.b,J<0&&(C.o.a=-J),ga(L,(_t(),sr)),F||(T.a=f.a),T.a-=f.a;break;case 2:rt(C,Qu,(lf(),b4)),rt(C,fW,(Jm(),jE)),C.o.b=f.b,J<0&&(C.o.a=-J),ga(L,(_t(),Zn)),F||(T.a=0);break;case 1:rt(C,wv,(ip(),j6)),C.o.a=f.a,J<0&&(C.o.b=-J),ga(L,(_t(),Mr)),F||(T.b=f.b),T.b-=f.b;break;case 3:rt(C,wv,(ip(),Gx)),C.o.a=f.a,J<0&&(C.o.b=-J),ga(L,(_t(),Xn)),F||(T.b=0)}if(t4e(L.n,T),rt(C,k3,T),t==Iv||t==_g||t==Au){if(V=0,t==Iv&&e.pf(D2))switch(z.g){case 1:case 2:V=l(e.of(D2),17).a;break;case 3:case 4:V=-l(e.of(D2),17).a}else switch(z.g){case 4:case 2:V=o.b,t==_g&&(V/=s.b);break;case 1:case 3:V=o.a,t==_g&&(V/=s.a)}rt(C,m3,V)}return rt(C,Xc,z),C}function $In(){S3e();function e(r){var s=this;this.dispatch=function(o){var f=o.data;switch(f.cmd){case"algorithms":var g=K8e((Cn(),new ja(new pi(am.b))));r.postMessage({id:f.id,data:g});break;case"categories":var w=K8e((Cn(),new ja(new pi(am.c))));r.postMessage({id:f.id,data:w});break;case"options":var T=K8e((Cn(),new ja(new pi(am.d))));r.postMessage({id:f.id,data:T});break;case"register":HMn(f.algorithms),r.postMessage({id:f.id});break;case"layout":vLn(f.graph,f.layoutOptions||{},f.options||{}),r.postMessage({id:f.id,data:f.graph});break}},this.saveDispatch=function(o){try{s.dispatch(o)}catch(f){r.postMessage({id:o.data.id,error:f})}}}function t(r){var s=this;this.dispatcher=new e({postMessage:function(o){s.onmessage({data:o})}}),this.postMessage=function(o){setTimeout(function(){s.dispatcher.saveDispatch({data:o})},0)}}if(typeof document===Ahe&&typeof self!==Ahe){var n=new e(self);self.onmessage=n.saveDispatch}else typeof d!==Ahe&&d.exports&&(Object.defineProperty(p,"__esModule",{value:!0}),d.exports={default:t,Worker:t})}function Rwt(e,t,n){var r,s,o,f,g,w,T,C,L,F;for(C=new hp(n),mc(C,t),rt(C,(ft(),zi),t),C.o.a=t.g,C.o.b=t.f,C.n.a=t.i,C.n.b=t.j,wt(n.a,C),Ti(e.a,t,C),((!t.a&&(t.a=new nt(Li,t,10,11)),t.a).i!=0||Ft(Pt(at(t,(Nt(),w4)))))&&rt(C,tMe,(Hn(),!0)),T=l(Q(n,_u),21),L=l(Q(C,(Nt(),Ds)),101),L==(Pa(),rm)?rt(C,Ds,Z1):L!=Z1&&T.Fc((Ho(),qE)),F=0,r=l(Q(n,Rh),88),w=new ar((!t.c&&(t.c=new nt($l,t,9,9)),t.c));w.e!=w.i.gc();)g=l(dr(w),123),s=ds(t),(qe(at(s,Tg))!==qe((Td(),I2))||qe(at(s,xv))===qe((w2(),RE))||qe(at(s,xv))===qe((w2(),FE))||Ft(Pt(at(s,w3)))||qe(at(s,m4))!==qe((tv(),h4))||qe(at(s,Xb))===qe((Nf(),C3))||qe(at(s,Xb))===qe((Nf(),E4))||qe(at(s,Tv))===qe((E2(),XE))||qe(at(s,Tv))===qe((E2(),QE)))&&!Ft(Pt(at(t,wW)))&&Vi(g,Yi,bt(F++)),Ft(Pt(at(g,Cv)))||XDn(e,g,C,T,r,L);for(f=new ar((!t.n&&(t.n=new nt(nc,t,1,7)),t.n));f.e!=f.i.gc();)o=l(dr(f),135),!Ft(Pt(at(o,Cv)))&&o.a&&wt(C.b,Kce(o));return Ft(Pt(Q(C,JL)))&&T.Fc((Ho(),oW)),Ft(Pt(Q(C,TW)))&&(T.Fc((Ho(),cW)),T.Fc(GL),rt(C,Ds,Z1)),C}function Hle(e,t,n,r,s,o,f){var g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr,ai,ys;for(J=0,Fn=0,T=new K(e.b);T.a<T.c.c.length;)w=l(re(T),163),w.c&&dwt(w.c),J=b.Math.max(J,vl(w)),Fn+=vl(w)*hh(w);for(te=Fn/e.b.c.length,cn=z8n(e.b,te),Fn+=e.b.c.length*cn,J=b.Math.max(J,b.Math.sqrt(Fn*f))+n.b,ai=n.b,ys=n.d,z=0,L=n.b+n.c,ln=new os,ci(ln,bt(0)),ot=new os,C=new Ua(e.b,0),V=null,g=new mt;C.b<C.d.gc();)w=(br(C.b<C.d.gc()),l(C.d.Xb(C.c=C.b++),163)),cr=vl(w),F=hh(w),ai+cr>J&&(o&&(yo(ot,z),yo(ln,bt(C.b-1)),wt(e.d,V),g.c.length=0),ai=n.b,ys+=z+t,z=0,L=b.Math.max(L,n.b+n.c+cr)),qn(g.c,w),Hdt(w,ai,ys),L=b.Math.max(L,ai+cr+n.c),z=b.Math.max(z,F),ai+=cr+t,V=w;if(aa(e.a,g),wt(e.d,l(Rt(g,g.c.length-1),163)),L=b.Math.max(L,r),$n=ys+z+n.a,$n<s&&(z+=s-$n,$n=s),o)for(ai=n.b,C=new Ua(e.b,0),yo(ln,bt(e.b.c.length)),At=Fr(ln,0),Ee=l(Pr(At),17).a,yo(ot,z),Je=Fr(ot,0),$e=0;C.b<C.d.gc();)C.b==Ee&&(ai=n.b,$e=ze(Ge(Pr(Je))),Ee=l(Pr(At),17).a),w=(br(C.b<C.d.gc()),l(C.d.Xb(C.c=C.b++),163)),xdt(w,$e),C.b==Ee&&(fe=L-ai-n.c,Me=vl(w),kdt(w,fe),W1t(w,(fe-Me)/2,0)),ai+=vl(w)+t;return new lt(L,$n)}function zIn(e){e.N||(e.N=!0,e.b=Uc(e,0),As(e.b,0),As(e.b,1),As(e.b,2),e.bb=Uc(e,1),As(e.bb,0),As(e.bb,1),e.fb=Uc(e,2),As(e.fb,3),As(e.fb,4),ss(e.fb,5),e.qb=Uc(e,3),As(e.qb,0),ss(e.qb,1),ss(e.qb,2),As(e.qb,3),As(e.qb,4),ss(e.qb,5),As(e.qb,6),e.a=Ci(e,4),e.c=Ci(e,5),e.d=Ci(e,6),e.e=Ci(e,7),e.f=Ci(e,8),e.g=Ci(e,9),e.i=Ci(e,10),e.j=Ci(e,11),e.k=Ci(e,12),e.n=Ci(e,13),e.o=Ci(e,14),e.p=Ci(e,15),e.q=Ci(e,16),e.s=Ci(e,17),e.r=Ci(e,18),e.t=Ci(e,19),e.u=Ci(e,20),e.v=Ci(e,21),e.w=Ci(e,22),e.B=Ci(e,23),e.A=Ci(e,24),e.C=Ci(e,25),e.D=Ci(e,26),e.F=Ci(e,27),e.G=Ci(e,28),e.H=Ci(e,29),e.J=Ci(e,30),e.I=Ci(e,31),e.K=Ci(e,32),e.M=Ci(e,33),e.L=Ci(e,34),e.P=Ci(e,35),e.Q=Ci(e,36),e.R=Ci(e,37),e.S=Ci(e,38),e.T=Ci(e,39),e.U=Ci(e,40),e.V=Ci(e,41),e.X=Ci(e,42),e.W=Ci(e,43),e.Y=Ci(e,44),e.Z=Ci(e,45),e.$=Ci(e,46),e._=Ci(e,47),e.ab=Ci(e,48),e.cb=Ci(e,49),e.db=Ci(e,50),e.eb=Ci(e,51),e.gb=Ci(e,52),e.hb=Ci(e,53),e.ib=Ci(e,54),e.jb=Ci(e,55),e.kb=Ci(e,56),e.lb=Ci(e,57),e.mb=Ci(e,58),e.nb=Ci(e,59),e.ob=Ci(e,60),e.pb=Ci(e,61))}function qIn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e;if(Ee=0,t.f.a==0)for(te=new K(e);te.a<te.c.c.length;)V=l(re(te),10),Ee=b.Math.max(Ee,V.n.a+V.o.a+V.d.c);else Ee=t.f.a-t.c.a;for(Ee-=t.c.a,J=new K(e);J.a<J.c.c.length;){switch(V=l(re(J),10),s_(V.n,Ee-V.o.a),J4e(V.f),ygt(V),(V.q?V.q:(Cn(),Cn(),yg))._b((Nt(),k4))&&s_(l(Q(V,k4),8),Ee-V.o.a),l(Q(V,Rd),255).g){case 1:rt(V,Rd,(lg(),JB));break;case 2:rt(V,Rd,(lg(),QB))}for(fe=V.o,$e=new K(V.j);$e.a<$e.c.c.length;){for(Me=l(re($e),12),s_(Me.n,fe.a-Me.o.a),s_(Me.a,Me.o.a),ga(Me,n0t(Me.j)),f=l(Q(Me,D2),17),f&&rt(Me,D2,bt(-f.a)),o=new K(Me.g);o.a<o.c.c.length;){for(s=l(re(o),18),r=Fr(s.a,0);r.b!=r.d.c;)n=l(Pr(r),8),n.a=Ee-n.a;if(T=l(Q(s,lc),75),T)for(w=Fr(T,0);w.b!=w.d.c;)g=l(Pr(w),8),g.a=Ee-g.a;for(F=new K(s.b);F.a<F.c.c.length;)C=l(re(F),72),s_(C.n,Ee-C.o.a)}for(z=new K(Me.f);z.a<z.c.c.length;)C=l(re(z),72),s_(C.n,Me.o.a-C.o.a)}for(V.k==(Jn(),Ks)&&(rt(V,(ft(),Xc),n0t(l(Q(V,Xc),64))),L9n(V)),L=new K(V.b);L.a<L.c.c.length;)C=l(re(L),72),ygt(C),s_(C.n,fe.a-C.o.a)}}function HIn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e;if(Ee=0,t.f.b==0)for(te=new K(e);te.a<te.c.c.length;)V=l(re(te),10),Ee=b.Math.max(Ee,V.n.b+V.o.b+V.d.a);else Ee=t.f.b-t.c.b;for(Ee-=t.c.b,J=new K(e);J.a<J.c.c.length;){switch(V=l(re(J),10),i_(V.n,Ee-V.o.b),Z4e(V.f),xgt(V),(V.q?V.q:(Cn(),Cn(),yg))._b((Nt(),k4))&&i_(l(Q(V,k4),8),Ee-V.o.b),l(Q(V,Rd),255).g){case 3:rt(V,Rd,(lg(),oY));break;case 4:rt(V,Rd,(lg(),uY))}for(fe=V.o,$e=new K(V.j);$e.a<$e.c.c.length;){for(Me=l(re($e),12),i_(Me.n,fe.b-Me.o.b),i_(Me.a,Me.o.b),ga(Me,r0t(Me.j)),f=l(Q(Me,D2),17),f&&rt(Me,D2,bt(-f.a)),o=new K(Me.g);o.a<o.c.c.length;){for(s=l(re(o),18),r=Fr(s.a,0);r.b!=r.d.c;)n=l(Pr(r),8),n.b=Ee-n.b;if(T=l(Q(s,lc),75),T)for(w=Fr(T,0);w.b!=w.d.c;)g=l(Pr(w),8),g.b=Ee-g.b;for(F=new K(s.b);F.a<F.c.c.length;)C=l(re(F),72),i_(C.n,Ee-C.o.b)}for(z=new K(Me.f);z.a<z.c.c.length;)C=l(re(z),72),i_(C.n,Me.o.b-C.o.b)}for(V.k==(Jn(),Ks)&&(rt(V,(ft(),Xc),r0t(l(Q(V,Xc),64))),U4n(V)),L=new K(V.b);L.a<L.c.c.length;)C=l(re(L),72),xgt(C),i_(C.n,fe.b-C.o.b)}}function UIn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr,ai;for(Ee=new Ua(e.b,0),C=t.Kc(),V=0,T=l(C.Pb(),17).a,Je=0,n=new Ys,At=new bd;Ee.b<Ee.d.gc();){for(fe=(br(Ee.b<Ee.d.gc()),l(Ee.d.Xb(Ee.c=Ee.b++),30)),$e=new K(fe.a);$e.a<$e.c.c.length;){for(Me=l(re($e),10),z=new lr(fr(qs(Me).a.Kc(),new j));Rr(z);)L=l(yr(z),18),At.a.zc(L,At);for(F=new lr(fr(Ea(Me).a.Kc(),new j));Rr(F);)L=l(yr(F),18),At.a.Bc(L)!=null}if(V+1==T){for(s=new vu(e),wy(Ee,s),o=new vu(e),wy(Ee,o),cn=At.a.ec().Kc();cn.Ob();)ln=l(cn.Pb(),18),n.a._b(ln)||(++Je,n.a.zc(ln,n)),f=new hp(e),rt(f,(Nt(),Ds),(Pa(),oC)),Ha(f,s),x(f,(Jn(),K1)),J=new du,Nc(J,f),ga(J,(_t(),Zn)),Fn=new du,Nc(Fn,f),ga(Fn,sr),r=new hp(e),rt(r,Ds,oC),Ha(r,o),x(r,K1),te=new du,Nc(te,r),ga(te,Zn),$n=new du,Nc($n,r),ga($n,sr),ot=new Dw,ho(ot,ln.c),Na(ot,J),rt(ot,(ft(),Yi),l(Q(ln,Yi),17)),ai=new Dw,ho(ai,Fn),Na(ai,te),rt(ai,Yi,l(Q(ln,Yi),17)),ho(ln,$n),g=new C6e(f,r,ot,ai,ln),rt(f,p3,g),rt(r,p3,g),cr=ot.c.i,cr.k==K1&&(w=l(Q(cr,p3),313),w.d=g,g.g=w);if(C.Ob())T=l(C.Pb(),17).a;else break}++V}return bt(Je)}function VIn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te;for(J=new mt,F=new K(e.d.b);F.a<F.c.c.length;)for(L=l(re(F),30),V=new K(L.a);V.a<V.c.c.length;){for(z=l(re(V),10),s=l(or(e.f,z),60),w=new lr(fr(qs(z).a.Kc(),new j));Rr(w);)if(f=l(yr(w),18),r=Fr(f.a,0),T=!0,C=null,r.b!=r.d.c){for(t=l(Pr(r),8),n=null,f.c.j==(_t(),Xn)&&(te=new JA(t,new lt(t.a,s.d.d),s,f),te.f.a=!0,te.a=f.c,qn(J.c,te)),f.c.j==Mr&&(te=new JA(t,new lt(t.a,s.d.d+s.d.a),s,f),te.f.d=!0,te.a=f.c,qn(J.c,te));r.b!=r.d.c;)n=l(Pr(r),8),g7e(t.b,n.b)||(C=new JA(t,n,null,f),qn(J.c,C),T&&(T=!1,n.b<s.d.d?C.f.a=!0:n.b>s.d.d+s.d.a?C.f.d=!0:(C.f.d=!0,C.f.a=!0))),r.b!=r.d.c&&(t=n);C&&(o=l(or(e.f,f.d.i),60),t.b<o.d.d?C.f.a=!0:t.b>o.d.d+o.d.a?C.f.d=!0:(C.f.d=!0,C.f.a=!0))}for(g=new lr(fr(Ea(z).a.Kc(),new j));Rr(g);)f=l(yr(g),18),f.a.b!=0&&(t=l(a0(f.a),8),f.d.j==(_t(),Xn)&&(te=new JA(t,new lt(t.a,s.d.d),s,f),te.f.a=!0,te.a=f.d,qn(J.c,te)),f.d.j==Mr&&(te=new JA(t,new lt(t.a,s.d.d+s.d.a),s,f),te.f.d=!0,te.a=f.d,qn(J.c,te)))}return J}function GIn(e,t,n){var r,s,o,f,g,w,T,C,L,F;for(w=new mt,L=t.length,f=i8e(n),T=0;T<L;++T){switch(C=Kye(t,ol(61),T),r=q4n(f,(Va(T,C,t.length),t.substr(T,C-T))),s=Ace(r),o=s.jk().wi(),io(t,++C)){case 39:{g=Bk(t,39,++C),wt(w,new Oq(r,goe((Va(C,g,t.length),t.substr(C,g-C)),o,s))),T=g+1;break}case 34:{g=Bk(t,34,++C),wt(w,new Oq(r,goe((Va(C,g,t.length),t.substr(C,g-C)),o,s))),T=g+1;break}case 91:{F=new mt,wt(w,new Oq(r,F));e:for(;;){switch(io(t,++C)){case 39:{g=Bk(t,39,++C),wt(F,goe((Va(C,g,t.length),t.substr(C,g-C)),o,s)),C=g+1;break}case 34:{g=Bk(t,34,++C),wt(F,goe((Va(C,g,t.length),t.substr(C,g-C)),o,s)),C=g+1;break}case 110:{if(++C,t.indexOf("ull",C)==C)F.c.push(null);else throw ue(new Ic(z4t));C+=3;break}}if(C<L)switch(Yn(C,t.length),t.charCodeAt(C)){case 44:break;case 93:break e;default:throw ue(new Ic("Expecting , or ]"))}else break}T=C+1;break}case 110:{if(++C,t.indexOf("ull",C)==C)wt(w,new Oq(r,null));else throw ue(new Ic(z4t));T=C+3;break}}if(T<L){if(Yn(T,t.length),t.charCodeAt(T)!=44)throw ue(new Ic("Expecting ,"))}else break}return LSn(e,w,n)}function KIn(e){var t,n,r,s,o;switch(t=e.c,o=null,t){case 6:return e.Em();case 13:return e.Fm();case 23:return e.wm();case 22:return e.Bm();case 18:return e.ym();case 8:Mi(e),o=(Ii(),gBe);break;case 9:return e.em(!0);case 19:return e.fm();case 10:switch(e.a){case 100:case 68:case 119:case 87:case 115:case 83:return o=e.dm(e.a),Mi(e),o;case 101:case 102:case 110:case 114:case 116:case 117:case 118:case 120:n=e.cm(),n<Lo?o=(Ii(),Ii(),new sg(0,n)):o=Jst(F8e(n));break;case 99:return e.om();case 67:return e.jm();case 105:return e.rm();case 73:return e.km();case 103:return e.pm();case 88:return e.lm();case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return e.gm();case 80:case 112:if(o=F9e(e,e.a),!o)throw ue(new ri(si((Jr(),p0e))));break;default:o=hst(e.a)}Mi(e);break;case 0:if(e.a==93||e.a==123||e.a==125)throw ue(new ri(si((Jr(),jSe))));o=hst(e.a),r=e.a,Mi(e),(r&64512)==BP&&e.c==0&&(e.a&64512)==56320&&(s=We(xf,Ad,28,2,15,1),s[0]=r&ta,s[1]=e.a&ta,o=Xae(Jst(If(s,0,s.length)),0),Mi(e));break;default:throw ue(new ri(si((Jr(),jSe))))}return o}function WIn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n;for(cn=new os,ot=new os,te=-1,w=new K(e);w.a<w.c.c.length;){for(f=l(re(w),131),f.s=te--,C=0,Me=0,o=new K(f.t);o.a<o.c.c.length;)r=l(re(o),274),Me+=r.c;for(s=new K(f.i);s.a<s.c.c.length;)r=l(re(s),274),C+=r.c;f.n=C,f.u=Me,Me==0?_s(ot,f,ot.c.b,ot.c):C==0&&_s(cn,f,cn.c.b,cn.c)}for($n=XH(e),L=e.c.length,J=L+1,fe=L-1,z=new mt;$n.a.gc()!=0;){for(;ot.b!=0;)Je=(br(ot.b!=0),l(sf(ot,ot.a.a),131)),$n.a.Bc(Je)!=null,Je.s=fe--,nke(Je,cn,ot);for(;cn.b!=0;)At=(br(cn.b!=0),l(sf(cn,cn.a.a),131)),$n.a.Bc(At)!=null,At.s=J++,nke(At,cn,ot);for(V=ao,T=$n.a.ec().Kc();T.Ob();)f=l(T.Pb(),131),Ee=f.u-f.n,Ee>=V&&(Ee>V&&(z.c.length=0,V=Ee),qn(z.c,f));z.c.length!=0&&(F=l(Rt(z,dV(t,z.c.length)),131),$n.a.Bc(F)!=null,F.s=J++,nke(F,cn,ot),z.c.length=0)}for($e=e.c.length+1,g=new K(e);g.a<g.c.c.length;)f=l(re(g),131),f.s<L&&(f.s+=$e);for(ln=new K(e);ln.a<ln.c.c.length;)for(At=l(re(ln),131),n=new Ua(At.t,0);n.b<n.d.gc();)r=(br(n.b<n.d.gc()),l(n.d.Xb(n.c=n.b++),274)),Fn=r.b,At.s>Fn.s&&(fh(n),sl(Fn.i,r),r.c>0&&(r.a=Fn,wt(Fn.t,r),r.b=At,wt(At.i,r)))}function jwt(e,t,n,r,s){var o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n;for(J=new Pu(t.b),$e=new Pu(t.b),F=new Pu(t.b),ln=new Pu(t.b),te=new Pu(t.b),At=Fr(t,0);At.b!=At.d.c;)for(Je=l(Pr(At),12),g=new K(Je.g);g.a<g.c.c.length;)if(o=l(re(g),18),o.c.i==o.d.i){if(Je.j==o.d.j){qn(ln.c,o);continue}else if(Je.j==(_t(),Xn)&&o.d.j==Mr){qn(te.c,o);continue}}for(w=new K(te);w.a<w.c.c.length;)o=l(re(w),18),yAn(e,o,n,r,(_t(),sr));for(f=new K(ln);f.a<f.c.c.length;)o=l(re(f),18),cn=new hp(e),x(cn,(Jn(),Su)),rt(cn,(Nt(),Ds),(Pa(),Au)),rt(cn,(ft(),zi),o),Fn=new du,rt(Fn,zi,o.d),ga(Fn,(_t(),Zn)),Nc(Fn,cn),$n=new du,rt($n,zi,o.c),ga($n,sr),Nc($n,cn),rt(o.c,Bl,cn),rt(o.d,Bl,cn),ho(o,null),Na(o,null),qn(n.c,cn),rt(cn,hW,bt(2));for(ot=Fr(t,0);ot.b!=ot.d.c;)Je=l(Pr(ot),12),T=Je.e.c.length>0,fe=Je.g.c.length>0,T&&fe?qn(F.c,Je):T?qn(J.c,Je):fe&&qn($e.c,Je);for(V=new K(J);V.a<V.c.c.length;)z=l(re(V),12),wt(s,Vke(e,z,null,n));for(Me=new K($e);Me.a<Me.c.c.length;)Ee=l(re(Me),12),wt(s,Vke(e,null,Ee,n));for(L=new K(F);L.a<L.c.c.length;)C=l(re(L),12),wt(s,Vke(e,C,C,n))}function uTe(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me;for(F=gs,z=gs,C=0,L=0,w=new mt,g=new ar((!e.b&&(e.b=new nt(js,e,12,3)),e.b));g.e!=g.i.gc();)o=l(dr(g),74),w=Lh(he(le(Fh,1),jn,20,0,[w,(!o.n&&(o.n=new nt(nc,o,1,7)),o.n)]));for(Me=ag(Lh(he(le(Fh,1),jn,20,0,[(!e.n&&(e.n=new nt(nc,e,1,7)),e.n),(!e.a&&(e.a=new nt(Li,e,10,11)),e.a),w])));Rr(Me);)Ee=l(yr(Me),422),T=l(Ee.of((bi(),rC)),140),F>Ee.nh()-T.b&&(F=Ee.nh()-T.b),z>Ee.oh()-T.d&&(z=Ee.oh()-T.d),C<Ee.nh()+Ee.mh()+T.c&&(C=Ee.nh()+Ee.mh()+T.c),L<Ee.oh()+Ee.lh()+T.a&&(L=Ee.oh()+Ee.lh()+T.a);for(f=new ar((!e.b&&(e.b=new nt(js,e,12,3)),e.b));f.e!=f.i.gc();)for(o=l(dr(f),74),fe=new ar((!o.a&&(o.a=new nt(cs,o,6,6)),o.a));fe.e!=fe.i.gc();)for(te=l(dr(fe),166),V=te.j,r=te.b,J=te.k,s=te.c,F=b.Math.min(F,V),F=b.Math.min(F,r),C=b.Math.max(C,V),C=b.Math.max(C,r),z=b.Math.min(z,J),z=b.Math.min(z,s),L=b.Math.max(L,J),L=b.Math.max(L,s),n=new ar((!te.a&&(te.a=new Qs(qh,te,5)),te.a));n.e!=n.i.gc();)t=l(dr(n),377),F=b.Math.min(F,t.a),C=b.Math.max(C,t.a),z=b.Math.min(z,t.b),L=b.Math.max(L,t.b);Vi(e,(bi(),r7),C-F),Vi(e,n7,L-z)}function YIn(e,t,n){var r,s,o,f,g,w,T,C,L;if(n.Ug("Network simplex node placement",1),e.e=t,e.n=l(Q(t,(ft(),q6)),312),cMn(e),Sxn(e),Os(Pc(new vn(null,new kn(e.e.b,16)),new fte),new AXe(e)),Os(ji(Pc(ji(Pc(new vn(null,new kn(e.e.b,16)),new Tte),new s$),new Ete),new CS),new _Xe(e)),Ft(Pt(Q(e.e,(Nt(),eM))))&&(f=n.eh(1),f.Ug("Straight Edges Pre-Processing",1),MDn(e),f.Vg()),o7n(e.f),o=l(Q(t,rM),17).a*e.f.a.c.length,xle(y3e(x3e(Mae(e.f),o),!1),n.eh(1)),e.d.a.gc()!=0){for(f=n.eh(1),f.Ug("Flexible Where Space Processing",1),g=l(uh(X8(gc(new vn(null,new kn(e.f.a,16)),new dte),new ate)),17).a,w=l(uh(xy(gc(new vn(null,new kn(e.f.a,16)),new gte),new ote)),17).a,T=w-g,C=vw(new Nm,e.f),L=vw(new Nm,e.f),g0(i0(r0(n0(s0(new _f,2e4),T),C),L)),Os(ji(ji(S5e(e.i),new pte),new bte),new eot(g,C,T,L)),s=e.d.a.ec().Kc();s.Ob();)r=l(s.Pb(),218),r.g=1;xle(y3e(x3e(Mae(e.f),o),!1),f.eh(1)),f.Vg()}Ft(Pt(Q(t,eM)))&&(f=n.eh(1),f.Ug("Straight Edges Post-Processing",1),mkn(e),f.Vg()),dDn(e),e.e=null,e.f=null,e.i=null,e.c=null,Dl(e.k),e.j=null,e.a=null,e.o=null,e.d.a.$b(),n.Vg()}function XIn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me;for(n.Ug("Depth first model order layering",1),e.d=t,te=new mt,J=new K(e.d.a);J.a<J.c.c.length;)z=l(re(J),10),z.k==(Jn(),Bs)&&qn(te.c,z);for(Cn(),Gs(te,new ete),f=!0,e.b=new vu(e.d),e.a=null,wt(e.d.b,e.b),e.b.p=0,e.c=0,e.f=new os,V=new K(te);V.a<V.c.c.length;)if(z=l(re(V),10),f)Ha(z,e.b),f=!1;else if(lLn(e,z))if(F=e.c,F=Wdt(F,z),r=F+2,C=F-e.c,e.f.b==0)bke(e,r,z);else if(C>0){for(Me=Fr(e.f,0);Me.b!=Me.d.c;)Ee=l(Pr(Me),10),Ee.p+=F-e.e;x9e(e),Ch(e.f),bke(e,r,z)}else{for(ci(e.f,z),z.p=r,e.e=b.Math.max(e.e,r),o=new lr(fr(Ea(z).a.Kc(),new j));Rr(o);)s=l(yr(o),18),!s.c.i.c&&s.c.i.k==(Jn(),uu)&&(ci(e.f,s.c.i),s.c.i.p=r-1);e.c=r}else x9e(e),Ch(e.f),r=0,Rr(new lr(fr(Ea(z).a.Kc(),new j)))?(F=0,F=Wdt(F,z),r=F+2,bke(e,r,z)):(ci(e.f,z),z.p=0,e.e=b.Math.max(e.e,0),e.b=l(Rt(e.d.b,0),30),e.c=0);for(e.f.b==0||x9e(e),e.d.a.c.length=0,fe=new mt,T=new K(e.d.b);T.a<T.c.c.length;)g=l(re(T),30),g.a.c.length==0&&qn(fe.c,g);for(I8e(e.d.b,fe),L=0,w=new K(e.d.b);w.a<w.c.c.length;)g=l(re(w),30),g.p=L,++L;n.Vg()}function QIn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr,ai,ys,zl,fc;if(Fn=null,cr=t,$n=xut(e,hut(n),cr),gT($n,Zg(cr,Pd)),ai=l(J5(e.g,kx(Jg(cr,r0e))),27),F=Jg(cr,"sourcePort"),r=null,F&&(r=kx(F)),ys=l(J5(e.j,r),123),!ai)throw g=BT(cr),V="An edge must have a source node (edge id: '"+g,J=V+EE,ue(new dd(J));if(ys&&!yd(M1(ys),ai))throw w=Zg(cr,Pd),te="The source port of an edge must be a port of the edge's source node (edge id: '"+w,fe=te+EE,ue(new dd(fe));if(ln=(!$n.b&&($n.b=new An(Sr,$n,4,7)),$n.b),o=null,ys?o=ys:o=ai,zr(ln,o),zl=l(J5(e.g,kx(Jg(cr,FSe))),27),z=Jg(cr,"targetPort"),s=null,z&&(s=kx(z)),fc=l(J5(e.j,s),123),!zl)throw L=BT(cr),Ee="An edge must have a target node (edge id: '"+L,Me=Ee+EE,ue(new dd(Me));if(fc&&!yd(M1(fc),zl))throw T=Zg(cr,Pd),$e="The target port of an edge must be a port of the edge's target node (edge id: '"+T,Je=$e+EE,ue(new dd(Je));if(cn=(!$n.c&&($n.c=new An(Sr,$n,5,8)),$n.c),f=null,fc?f=fc:f=zl,zr(cn,f),(!$n.b&&($n.b=new An(Sr,$n,4,7)),$n.b).i==0||(!$n.c&&($n.c=new An(Sr,$n,5,8)),$n.c).i==0)throw C=Zg(cr,Pd),ot=Y4t+C,At=ot+EE,ue(new dd(At));return EV(cr,$n),kEn(cr,$n),Fn=Oce(e,cr,$n),Fn}function $wt(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr,ai,ys;for(z=l(Q(e,(Cb(),Ux)),27),Me=Ni,$e=Ni,fe=ao,Ee=ao,ot=new K(e.e);ot.a<ot.c.c.length;)Je=l(re(ot),153),$n=Je.d,cr=Je.e,Me=b.Math.min(Me,$n.a-cr.a/2),$e=b.Math.min($e,$n.b-cr.b/2),fe=b.Math.max(fe,$n.a+cr.a/2),Ee=b.Math.max(Ee,$n.b+cr.b/2);for(n=new K(e.b);n.a<n.c.c.length;)t=l(re(n),250),$n=t.d,cr=t.e,Me=b.Math.min(Me,$n.a-cr.a/2),$e=b.Math.min($e,$n.b-cr.b/2),fe=b.Math.max(fe,$n.a+cr.a/2),Ee=b.Math.max(Ee,$n.b+cr.b/2);for(Fn=l(at(z,(p0(),A8t)),107),cn=new lt(Fn.b-Me,Fn.d-$e),T=new K(e.e);T.a<T.c.c.length;)w=l(re(T),153),ln=Q(w,Ux),De(ln,207)&&(J=l(ln,27),At=Pi(new xo(w.d),cn),Xh(J,At.a-J.g/2,At.b-J.f/2));for(o=new K(e.c);o.a<o.c.c.length;)s=l(re(o),290),L=l(Q(s,Ux),74),F=f6(L,!0,!0),ai=new xo(y7e(s)),Pi(ai,cn),MO(F,ai.a,ai.b),Uu(s.a,new rtt(cn,F)),r=new xo(x7e(s)),Pi(r,cn),LO(F,r.a,r.b);for(g=new K(e.d);g.a<g.c.c.length;)f=l(re(g),454),V=l(Q(f,Ux),135),te=Pi(new xo(f.d),cn),Xh(V,te.a,te.b);ys=fe-Me+(Fn.b+Fn.c),C=Ee-$e+(Fn.d+Fn.a),Ft(Pt(at(z,(bi(),A4))))||Zw(z,ys,C,!1,!0),Vi(z,r7,ys-(Fn.b+Fn.c)),Vi(z,n7,C-(Fn.d+Fn.a))}function zwt(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn;return L=zAn(rl(e,(_t(),ed)),t),V=a6(rl(e,S0),t),$e=a6(rl(e,$h),t),ln=vV(rl(e,Hf),t),F=vV(rl(e,wf),t),Ee=a6(rl(e,_0),t),J=a6(rl(e,Rl),t),ot=a6(rl(e,zh),t),Je=a6(rl(e,yf),t),cn=vV(rl(e,Ju),t),fe=a6(rl(e,ll),t),Me=a6(rl(e,jl),t),At=a6(rl(e,ul),t),Fn=vV(rl(e,hl),t),z=vV(rl(e,Sl),t),te=a6(rl(e,Lu),t),n=Q5(he(le(Oa,1),tc,28,15,[Ee.a,ln.a,ot.a,Fn.a])),r=Q5(he(le(Oa,1),tc,28,15,[V.a,L.a,$e.a,te.a])),s=fe.a,o=Q5(he(le(Oa,1),tc,28,15,[J.a,F.a,Je.a,z.a])),T=Q5(he(le(Oa,1),tc,28,15,[Ee.b,V.b,J.b,Me.b])),w=Q5(he(le(Oa,1),tc,28,15,[ln.b,L.b,F.b,te.b])),C=cn.b,g=Q5(he(le(Oa,1),tc,28,15,[ot.b,$e.b,Je.b,At.b])),h2(rl(e,ed),n+s,T+C),h2(rl(e,Lu),n+s,T+C),h2(rl(e,S0),n+s,0),h2(rl(e,$h),n+s,T+C+w),h2(rl(e,Hf),0,T+C),h2(rl(e,wf),n+s+r,T+C),h2(rl(e,Rl),n+s+r,0),h2(rl(e,zh),0,T+C+w),h2(rl(e,yf),n+s+r,T+C+w),h2(rl(e,Ju),0,T),h2(rl(e,ll),n,0),h2(rl(e,ul),0,T+C+w),h2(rl(e,Sl),n+s+r,0),f=new za,f.a=Q5(he(le(Oa,1),tc,28,15,[n+r+s+o,cn.a,Me.a,At.a])),f.b=Q5(he(le(Oa,1),tc,28,15,[T+w+C+g,fe.b,Fn.b,z.b])),f}function qwt(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn;for(Ee=new lt(gs,gs),t=new lt(oa,oa),ln=new K(e);ln.a<ln.c.c.length;)At=l(re(ln),8),Ee.a=b.Math.min(Ee.a,At.a),Ee.b=b.Math.min(Ee.b,At.b),t.a=b.Math.max(t.a,At.a),t.b=b.Math.max(t.b,At.b);for(F=new lt(t.a-Ee.a,t.b-Ee.b),T=new lt(Ee.a-50,Ee.b-F.a-50),C=new lt(Ee.a-50,t.b+F.a+50),L=new lt(t.a+F.b/2+50,Ee.b+F.b/2),z=new Hke(T,C,L),ot=new Ys,o=new mt,n=new mt,ot.a.zc(z,ot),Fn=new K(e);Fn.a<Fn.c.c.length;){for(cn=l(re(Fn),8),o.c.length=0,Je=ot.a.ec().Kc();Je.Ob();)Me=l(Je.Pb(),317),r=Me.d,Eb(r,Me.a),Uw(Eb(Me.d,cn),Eb(Me.d,Me.a))<0&&qn(o.c,Me);for(n.c.length=0,$e=new K(o);$e.a<$e.c.c.length;)for(Me=l(re($e),317),te=new K(Me.e);te.a<te.c.c.length;){for(V=l(re(te),177),f=!0,w=new K(o);w.a<w.c.c.length;)g=l(re(w),317),g!=Me&&(eu(V,Rt(g.e,0))||eu(V,Rt(g.e,1))||eu(V,Rt(g.e,2)))&&(f=!1);f&&qn(n.c,V)}for(mpt(ot,o),Za(ot,new Oo),J=new K(n);J.a<J.c.c.length;)V=l(re(J),177),sa(ot,new Hke(cn,V.a,V.b))}for(fe=new Ys,Za(ot,new Dm(fe)),s=fe.a.ec().Kc();s.Ob();)V=l(s.Pb(),177),(lU(z,V.a)||lU(z,V.b))&&s.Qb();return Za(fe,new No),fe}function au(){au=U,DZe(),eAt=La.a,l(Oe(tt(La.a),0),19),J_t=La.f,l(Oe(tt(La.f),0),19),l(Oe(tt(La.f),1),35),Z_t=La.n,l(Oe(tt(La.n),0),35),l(Oe(tt(La.n),1),35),l(Oe(tt(La.n),2),35),l(Oe(tt(La.n),3),35),DPe=La.g,l(Oe(tt(La.g),0),19),l(Oe(tt(La.g),1),35),Q_t=La.c,l(Oe(tt(La.c),0),19),l(Oe(tt(La.c),1),19),IPe=La.i,l(Oe(tt(La.i),0),19),l(Oe(tt(La.i),1),19),l(Oe(tt(La.i),2),19),l(Oe(tt(La.i),3),19),l(Oe(tt(La.i),4),35),OPe=La.j,l(Oe(tt(La.j),0),19),MPe=La.d,l(Oe(tt(La.d),0),19),l(Oe(tt(La.d),1),19),l(Oe(tt(La.d),2),19),l(Oe(tt(La.d),3),19),l(Oe(tt(La.d),4),35),l(Oe(tt(La.d),5),35),l(Oe(tt(La.d),6),35),l(Oe(tt(La.d),7),35),X_t=La.b,l(Oe(tt(La.b),0),35),l(Oe(tt(La.b),1),35),kY=La.e,l(Oe(tt(La.e),0),35),l(Oe(tt(La.e),1),35),l(Oe(tt(La.e),2),35),l(Oe(tt(La.e),3),35),l(Oe(tt(La.e),4),19),l(Oe(tt(La.e),5),19),l(Oe(tt(La.e),6),19),l(Oe(tt(La.e),7),19),l(Oe(tt(La.e),8),19),l(Oe(tt(La.e),9),19),l(Oe(tt(La.e),10),35),Ag=La.k,l(Oe(tt(La.k),0),35),l(Oe(tt(La.k),1),35)}function lTe(e){var t,n,r,s,o;switch(t=e.c,t){case 11:return e.vm();case 12:return e.xm();case 14:return e.zm();case 15:return e.Cm();case 16:return e.Am();case 17:return e.Dm();case 21:return Mi(e),Ii(),Ii(),YM;case 10:switch(e.a){case 65:return e.hm();case 90:return e.mm();case 122:return e.tm();case 98:return e.nm();case 66:return e.im();case 60:return e.sm();case 62:return e.qm()}}switch(o=KIn(e),t=e.c,t){case 3:return e.Im(o);case 4:return e.Gm(o);case 5:return e.Hm(o);case 0:if(e.a==123&&e.d<e.j){if(s=e.d,r=0,n=-1,(t=io(e.i,s++))>=48&&t<=57){for(r=t-48;s<e.j&&(t=io(e.i,s++))>=48&&t<=57;)if(r=r*10+t-48,r<0)throw ue(new ri(si((Jr(),HSe))))}else throw ue(new ri(si((Jr(),T5t))));if(n=r,t==44){if(s>=e.j)throw ue(new ri(si((Jr(),C5t))));if((t=io(e.i,s++))>=48&&t<=57){for(n=t-48;s<e.j&&(t=io(e.i,s++))>=48&&t<=57;)if(n=n*10+t-48,n<0)throw ue(new ri(si((Jr(),HSe))));if(r>n)throw ue(new ri(si((Jr(),S5t))))}else n=-1}if(t!=125)throw ue(new ri(si((Jr(),E5t))));e.bm(s)?(o=(Ii(),Ii(),new _y(9,o)),e.d=s+1):(o=(Ii(),Ii(),new _y(3,o)),e.d=s),o.Om(r),o.Nm(n),Mi(e)}}return o}function JIn(e){var t,n,r,s,o;switch(n=l(Q(e,(ft(),_u)),21),t=$q(W8t),s=l(Q(e,(Nt(),v4)),346),s==(op(),F2)&&Dh(t,Y8t),Ft(Pt(Q(e,vde)))?hi(t,(so(),w0),(po(),_1e)):hi(t,(so(),pu),(po(),_1e)),Q(e,(iU(),TM))!=null&&Dh(t,X8t),(Ft(Pt(Q(e,nDe)))||Ft(Pt(Q(e,JMe))))&&wl(t,(so(),wc),(po(),QAe)),l(Q(e,Rh),88).g){case 2:case 3:case 4:wl(hi(t,(so(),w0),(po(),ZAe)),wc,JAe)}switch(n.Hc((Ho(),oW))&&wl(hi(hi(t,(so(),w0),(po(),XAe)),Cu,WAe),wc,YAe),qe(Q(e,Xb))!==qe((Nf(),PW))&&hi(t,(so(),pu),(po(),gLe)),n.Hc(uW)&&(hi(t,(so(),w0),(po(),vLe)),hi(t,xg,bLe),hi(t,pu,mLe)),qe(Q(e,mW))!==qe((HT(),VL))&&qe(Q(e,yp))!==qe((cp(),aF))&&wl(t,(so(),wc),(po(),cLe)),Ft(Pt(Q(e,eDe)))&&hi(t,(so(),pu),(po(),oLe)),Ft(Pt(Q(e,gde)))&&hi(t,(so(),pu),(po(),wLe)),hCn(e)&&(qe(Q(e,v4))===qe(F2)?r=l(Q(e,IB),299):r=l(Q(e,dde),299),o=r==(yT(),J1e)?(po(),pLe):(po(),kLe),hi(t,(so(),Cu),o)),l(Q(e,ADe),388).g){case 1:hi(t,(so(),Cu),(po(),yLe));break;case 2:wl(hi(hi(t,(so(),pu),(po(),UAe)),Cu,VAe),wc,GAe)}return qe(Q(e,Tg))!==qe((Td(),I2))&&hi(t,(so(),pu),(po(),xLe)),t}function Hwt(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me;if(Hu(e.a,t)){if(K0(l(or(e.a,t),49),n))return 1}else Ti(e.a,t,new Ys);if(Hu(e.a,n)){if(K0(l(or(e.a,n),49),t))return-1}else Ti(e.a,n,new Ys);if(Hu(e.e,t)){if(K0(l(or(e.e,t),49),n))return-1}else Ti(e.e,t,new Ys);if(Hu(e.e,n)){if(K0(l(or(e.a,n),49),t))return 1}else Ti(e.e,n,new Ys);if(e.c==(Td(),Nde)||!rs(t,(ft(),Yi))||!rs(n,(ft(),Yi))){for(L=null,T=new K(t.j);T.a<T.c.c.length;)g=l(re(T),12),g.e.c.length==0||l(Rt(g.e,0),18).c.i.c!=t.c&&(L=l(Rt(g.e,0),18).c);for(z=null,w=new K(n.j);w.a<w.c.c.length;)g=l(re(w),12),g.e.c.length==0||l(Rt(g.e,0),18).c.i.c!=n.c&&(z=l(Rt(g.e,0),18).c);if(L&&z){if(C=L.i,F=z.i,C&&C==F){for(J=new K(C.j);J.a<J.c.c.length;){if(V=l(re(J),12),V==L)return XT(e,n,t),-1;if(V==z)return XT(e,t,n),1}return iu($ue(e,t),$ue(e,n))}for(fe=e.d,Ee=0,Me=fe.length;Ee<Me;++Ee){if(te=fe[Ee],te==C)return XT(e,n,t),-1;if(te==F)return XT(e,t,n),1}}if(!rs(t,(ft(),Yi))||!rs(n,Yi))return s=$ue(e,t),f=$ue(e,n),s>f?XT(e,t,n):XT(e,n,t),s<f?-1:s>f?1:0}return r=l(Q(t,(ft(),Yi)),17).a,o=l(Q(n,Yi),17).a,r>o?XT(e,t,n):XT(e,n,t),r<o?-1:r>o?1:0}function e3(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te;if(n==null)return null;if(e.a!=t.jk())throw ue(new Wn(kE+t.xe()+c3));if(De(t,469)){if(te=HSn(l(t,685),n),!te)throw ue(new Wn(t0e+n+"' is not a valid enumerator of '"+t.xe()+"'"));return te}switch(b2((kl(),no),t).Nl()){case 2:{n=ku(n,!1);break}case 3:{n=ku(n,!0);break}}if(r=b2(no,t).Jl(),r)return r.jk().wi().ti(r,n);if(F=b2(no,t).Ll(),F){for(te=new mt,T=Rce(n),C=0,L=T.length;C<L;++C)w=T[C],wt(te,F.jk().wi().ti(F,w));return te}if(J=b2(no,t).Ml(),!J.dc()){for(V=J.Kc();V.Ob();){z=l(V.Pb(),156);try{if(te=z.jk().wi().ti(z,n),te!=null)return te}catch(fe){if(fe=ms(fe),!De(fe,63))throw ue(fe)}}throw ue(new Wn(t0e+n+"' does not match any member types of the union datatype '"+t.xe()+"'"))}if(l(t,847).ok(),s=a4n(t.kk()),!s)return null;if(s==BL){f=0;try{f=Oh(n,ao,Ni)&ta}catch(fe){if(fe=ms(fe),De(fe,130))o=hU(n),f=o[0];else throw ue(fe)}return _N(f)}if(s==pK){for(g=0;g<$M.length;++g)try{return Vet($M[g],n)}catch(fe){if(fe=ms(fe),!De(fe,33))throw ue(fe)}throw ue(new Wn(t0e+n+"' is not a date formatted string of the form yyyy-MM-dd'T'HH:mm:ss'.'SSSZ or a valid subset thereof"))}throw ue(new Wn(t0e+n+"' is invalid. "))}function Ule(){Ule=U,Qi=new Iw,xn(Qi,(_t(),ed),Lu),xn(Qi,Hf,Lu),xn(Qi,Hf,hl),xn(Qi,wf,Sl),xn(Qi,wf,Lu),xn(Qi,S0,Lu),xn(Qi,S0,jl),xn(Qi,$h,ul),xn(Qi,$h,Lu),xn(Qi,ll,Ju),xn(Qi,ll,Lu),xn(Qi,ll,jl),xn(Qi,ll,ul),xn(Qi,Ju,ll),xn(Qi,Ju,hl),xn(Qi,Ju,Sl),xn(Qi,Ju,Lu),xn(Qi,_0,_0),xn(Qi,_0,jl),xn(Qi,_0,hl),xn(Qi,Rl,Rl),xn(Qi,Rl,jl),xn(Qi,Rl,Sl),xn(Qi,zh,zh),xn(Qi,zh,ul),xn(Qi,zh,hl),xn(Qi,yf,yf),xn(Qi,yf,ul),xn(Qi,yf,Sl),xn(Qi,jl,S0),xn(Qi,jl,ll),xn(Qi,jl,_0),xn(Qi,jl,Rl),xn(Qi,jl,Lu),xn(Qi,jl,jl),xn(Qi,jl,hl),xn(Qi,jl,Sl),xn(Qi,ul,$h),xn(Qi,ul,ll),xn(Qi,ul,zh),xn(Qi,ul,yf),xn(Qi,ul,ul),xn(Qi,ul,hl),xn(Qi,ul,Sl),xn(Qi,ul,Lu),xn(Qi,hl,Hf),xn(Qi,hl,Ju),xn(Qi,hl,_0),xn(Qi,hl,zh),xn(Qi,hl,jl),xn(Qi,hl,ul),xn(Qi,hl,hl),xn(Qi,hl,Lu),xn(Qi,Sl,wf),xn(Qi,Sl,Ju),xn(Qi,Sl,Rl),xn(Qi,Sl,yf),xn(Qi,Sl,jl),xn(Qi,Sl,ul),xn(Qi,Sl,Sl),xn(Qi,Sl,Lu),xn(Qi,Lu,ed),xn(Qi,Lu,Hf),xn(Qi,Lu,wf),xn(Qi,Lu,S0),xn(Qi,Lu,$h),xn(Qi,Lu,ll),xn(Qi,Lu,Ju),xn(Qi,Lu,jl),xn(Qi,Lu,ul),xn(Qi,Lu,hl),xn(Qi,Lu,Sl),xn(Qi,Lu,Lu)}function hTe(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln;for(e.d=new lt(gs,gs),e.c=new lt(oa,oa),F=t.Kc();F.Ob();)for(C=l(F.Pb(),36),Me=new K(C.a);Me.a<Me.c.c.length;)Ee=l(re(Me),10),e.d.a=b.Math.min(e.d.a,Ee.n.a-Ee.d.b),e.d.b=b.Math.min(e.d.b,Ee.n.b-Ee.d.d),e.c.a=b.Math.max(e.c.a,Ee.n.a+Ee.o.a+Ee.d.c),e.c.b=b.Math.max(e.c.b,Ee.n.b+Ee.o.b+Ee.d.a);for(g=new gJe,L=t.Kc();L.Ob();)C=l(L.Pb(),36),r=NIn(e,C),wt(g.a,r),r.a=r.a|!l(Q(r.c,(ft(),wp)),21).dc();for(e.b=(Uce(),ln=new U9,ln.f=new Oft(n),ln.b=zMn(ln.f,g),ln),ZMn((V=e.b,new M8,V)),e.e=new za,e.a=e.b.f.e,f=new K(g.a);f.a<f.c.c.length;)for(s=l(re(f),855),$e=N2n(e.b,s),L_n(s.c,$e.a,$e.b),te=new K(s.c.a);te.a<te.c.c.length;)J=l(re(te),10),J.k==(Jn(),Ks)&&(fe=rke(e,J.n,l(Q(J,(ft(),Xc)),64)),Pi(W0(J.n),fe));for(o=new K(g.a);o.a<o.c.c.length;)for(s=l(re(o),855),T=new K(Q4n(s));T.a<T.c.c.length;)for(w=l(re(T),18),At=new Zz(w.a),Fk(At,0,I1(w.c)),ci(At,I1(w.d)),z=null,ot=Fr(At,0);ot.b!=ot.d.c;){if(Je=l(Pr(ot),8),!z){z=Je;continue}f7e(z.a,Je.a)?(e.e.a=b.Math.min(e.e.a,z.a),e.a.a=b.Math.max(e.a.a,z.a)):f7e(z.b,Je.b)&&(e.e.b=b.Math.min(e.e.b,z.b),e.a.b=b.Math.max(e.a.b,z.b)),z=Je}Xq(e.e),Pi(e.a,e.e)}function ZIn(e,t){var n,r,s,o,f,g,w,T;if(n=0,f=0,o=t.length,g=null,T=new A5,f<o&&(Yn(f,t.length),t.charCodeAt(f)==43)&&(++f,++n,f<o&&(Yn(f,t.length),t.charCodeAt(f)==43||(Yn(f,t.length),t.charCodeAt(f)==45))))throw ue(new gd(n3+t+'"'));for(;f<o&&(Yn(f,t.length),t.charCodeAt(f)!=46)&&(Yn(f,t.length),t.charCodeAt(f)!=101)&&(Yn(f,t.length),t.charCodeAt(f)!=69);)++f;if(T.a+=""+ef(t==null?cl:(tr(t),t),n,f),f<o&&(Yn(f,t.length),t.charCodeAt(f)==46)){for(++f,n=f;f<o&&(Yn(f,t.length),t.charCodeAt(f)!=101)&&(Yn(f,t.length),t.charCodeAt(f)!=69);)++f;e.e=f-n,T.a+=""+ef(t==null?cl:(tr(t),t),n,f)}else e.e=0;if(f<o&&(Yn(f,t.length),t.charCodeAt(f)==101||(Yn(f,t.length),t.charCodeAt(f)==69))&&(++f,n=f,f<o&&(Yn(f,t.length),t.charCodeAt(f)==43)&&(++f,f<o&&(Yn(f,t.length),t.charCodeAt(f)!=45)&&++n),g=(Va(n,o,t.length),t.substr(n,o-n)),e.e=e.e-Oh(g,ao,Ni),e.e!=da(e.e)))throw ue(new gd("Scale out of range."));if(w=T.a,w.length<16){if(e.f=(M_e==null&&(M_e=new RegExp("^[+-]?\\d*$","i")),M_e.test(w)?parseInt(w,10):NaN),isNaN(e.f))throw ue(new gd(n3+t+'"'));e.a=I9e(e.f)}else P4n(e,new bb(w));for(e.d=T.a.length,s=0;s<T.a.length&&(r=io(T.a,s),!(r!=45&&r!=48));++s)--e.d;e.d==0&&(e.d=1)}function eOn(e){Wr(e.b,Ff,he(le($t,1),dt,2,6,[u3,"ConsistentTransient"])),Wr(e.a,Ff,he(le($t,1),dt,2,6,[u3,"WellFormedSourceURI"])),Wr(e.o,Ff,he(le($t,1),dt,2,6,[u3,"InterfaceIsAbstract AtMostOneID UniqueFeatureNames UniqueOperationSignatures NoCircularSuperTypes WellFormedMapEntryClass ConsistentSuperTypes DisjointFeatureAndOperationSignatures"])),Wr(e.p,Ff,he(le($t,1),dt,2,6,[u3,"WellFormedInstanceTypeName UniqueTypeParameterNames"])),Wr(e.v,Ff,he(le($t,1),dt,2,6,[u3,"UniqueEnumeratorNames UniqueEnumeratorLiterals"])),Wr(e.R,Ff,he(le($t,1),dt,2,6,[u3,"WellFormedName"])),Wr(e.T,Ff,he(le($t,1),dt,2,6,[u3,"UniqueParameterNames UniqueTypeParameterNames NoRepeatingVoid"])),Wr(e.U,Ff,he(le($t,1),dt,2,6,[u3,"WellFormedNsURI WellFormedNsPrefix UniqueSubpackageNames UniqueClassifierNames UniqueNsURIs"])),Wr(e.W,Ff,he(le($t,1),dt,2,6,[u3,"ConsistentOpposite SingleContainer ConsistentKeys ConsistentUnique ConsistentContainer"])),Wr(e.bb,Ff,he(le($t,1),dt,2,6,[u3,"ValidDefaultValueLiteral"])),Wr(e.eb,Ff,he(le($t,1),dt,2,6,[u3,"ValidLowerBound ValidUpperBound ConsistentBounds ValidType"])),Wr(e.H,Ff,he(le($t,1),dt,2,6,[u3,"ConsistentType ConsistentBounds ConsistentArguments"]))}function tOn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn;if(!t.dc()){if(s=new pl,g=n||l(t.Xb(0),18),V=g.c,KA(),F=V.i.k,!(F==(Jn(),Bs)||F==Su||F==Ks||F==K1))throw ue(new Wn("The target node of the edge must be a normal node or a northSouthPort."));for(yo(s,Bc(he(le(Ca,1),dt,8,0,[V.i.n,V.n,V.a]))),(_t(),ll).Hc(V.j)&&(te=ze(Ge(Q(V,(ft(),HE)))),L=new lt(Bc(he(le(Ca,1),dt,8,0,[V.i.n,V.n,V.a])).a,te),_s(s,L,s.c.b,s.c)),C=null,r=!1,w=t.Kc();w.Ob();)f=l(w.Pb(),18),o=f.a,o.b!=0&&(r?(T=md(Pi(C,(br(o.b!=0),l(o.a.a.c,8))),.5),_s(s,T,s.c.b,s.c),r=!1):r=!0,C=Xa((br(o.b!=0),l(o.c.b.c,8))),Ga(s,o),Ch(o));J=g.d,ll.Hc(J.j)&&(te=ze(Ge(Q(J,(ft(),HE)))),L=new lt(Bc(he(le(Ca,1),dt,8,0,[J.i.n,J.n,J.a])).a,te),_s(s,L,s.c.b,s.c)),yo(s,Bc(he(le(Ca,1),dt,8,0,[J.i.n,J.n,J.a]))),e.d==(AT(),zde)&&(fe=(br(s.b!=0),l(s.a.a.c,8)),Ee=l(hf(s,1),8),Me=new Moe(u8e(V.j)),Me.a*=5,Me.b*=5,$e=ya(new lt(Ee.a,Ee.b),fe),Je=new lt(Coe(Me.a,$e.a),Coe(Me.b,$e.b)),Pi(Je,fe),ot=Fr(s,1),YO(ot,Je),At=(br(s.b!=0),l(s.c.b.c,8)),ln=l(hf(s,s.b-2),8),Me=new Moe(u8e(J.j)),Me.a*=5,Me.b*=5,$e=ya(new lt(ln.a,ln.b),At),cn=new lt(Coe(Me.a,$e.a),Coe(Me.b,$e.b)),Pi(cn,At),Fk(s,s.b-1,cn)),z=new Uke(s),Ga(g.a,sgt(z))}}function nOn(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr,ai,ys,zl,fc,Hh,g7,U2,A0,L0;if(Me=l(Oe((!e.b&&(e.b=new An(Sr,e,4,7)),e.b),0),84),Je=Me.nh(),ot=Me.oh(),$e=Me.mh()/2,J=Me.lh()/2,De(Me,193)&&(Ee=l(Me,123),Je+=M1(Ee).i,Je+=M1(Ee).i),Je+=$e,ot+=J,$n=l(Oe((!e.b&&(e.b=new An(Sr,e,4,7)),e.b),0),84),ai=$n.nh(),ys=$n.oh(),cr=$n.mh()/2,At=$n.lh()/2,De($n,193)&&(Fn=l($n,123),ai+=M1(Fn).i,ai+=M1(Fn).i),ai+=cr,ys+=At,(!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i==0)g=(fb(),T=new sk,T),zr((!e.a&&(e.a=new nt(cs,e,6,6)),e.a),g);else if((!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i>1)for(V=new H8((!e.a&&(e.a=new nt(cs,e,6,6)),e.a));V.e!=V.i.gc();)$A(V);for(f=l(Oe((!e.a&&(e.a=new nt(cs,e,6,6)),e.a),0),166),te=ai,ai>Je+$e?te=Je+$e:ai<Je-$e&&(te=Je-$e),fe=ys,ys>ot+J?fe=ot+J:ys<ot-J&&(fe=ot-J),te>Je-$e&&te<Je+$e&&fe>ot-J&&fe<ot+J&&(te=Je+$e),uT(f,te),hT(f,fe),ln=Je,Je>ai+cr?ln=ai+cr:Je<ai-cr&&(ln=ai-cr),cn=ot,ot>ys+At?cn=ys+At:ot<ys-At&&(cn=ys-At),ln>ai-cr&&ln<ai+cr&&cn>ys-At&&cn<ys+At&&(cn=ys+At),cT(f,ln),lT(f,cn),$r((!f.a&&(f.a=new Qs(qh,f,5)),f.a)),o=dV(t,5),Me==$n&&++o,Hh=ln-te,A0=cn-fe,zl=b.Math.sqrt(Hh*Hh+A0*A0),L=zl*.20000000298023224,g7=Hh/(o+1),L0=A0/(o+1),fc=te,U2=fe,C=0;C<o;C++)fc+=g7,U2+=L0,F=fc+Yl(t,24)*RP*L-L/2,F<0?F=1:F>n&&(F=n-1),z=U2+Yl(t,24)*RP*L-L/2,z<0?z=1:z>r&&(z=r-1),s=(fb(),w=new LS,w),yU(s,F),wU(s,z),zr((!f.a&&(f.a=new Qs(qh,f,5)),f.a),s)}function Uwt(e){fw(e,new iv(uw(aw(cw(ow(new x1,Jl),"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 u8))),pt(e,Jl,Nx,1.3),pt(e,Jl,dE,(Hn(),!1)),pt(e,Jl,r3,kOe),pt(e,Jl,t4,15),pt(e,Jl,OG,It(oSt)),pt(e,Jl,T6,It(lSt)),pt(e,Jl,Bx,It(fSt)),pt(e,Jl,Px,It(dSt)),pt(e,Jl,gE,It(uSt)),pt(e,Jl,dL,It(Ege)),pt(e,Jl,pE,It(gSt)),pt(e,Jl,rSe,It(SOe)),pt(e,Jl,iSe,It(COe)),pt(e,Jl,nSe,It(Sge)),pt(e,Jl,tSe,It(_Oe)),pt(e,Jl,sSe,It(xOe)),pt(e,Jl,aSe,It(Cge)),pt(e,Jl,oSe,It(yOe)),pt(e,Jl,cSe,It(EOe)),pt(e,Jl,fL,It(wOe)),pt(e,Jl,PG,It(cSt)),pt(e,Jl,ZCe,It(KB)),pt(e,Jl,JCe,It(vOe)),pt(e,Jl,eSe,It(WB)),pt(e,Jl,QCe,It(TOe))}function Vle(e,t){Mle();var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr,ai;if(ln=e.e,V=e.d,s=e.a,ln==0)switch(t){case 0:return"0";case 1:return oE;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 ot=new lb,t<0?ot.a+="0E+":ot.a+="0E",ot.a+=-t,ot.a}if(Me=V*10+1+7,$e=We(xf,Ad,28,Me+1,15,1),n=Me,V==1)if(g=s[0],g<0){ai=xa(g,Uo);do J=ai,ai=tP(ai,10),$e[--n]=48+Yr(Df(J,go(ai,10)))&ta;while(su(ai,0)!=0)}else{ai=g;do J=ai,ai=ai/10|0,$e[--n]=48+(J-ai*10)&ta;while(ai!=0)}else{Fn=We(Ur,fi,28,V,15,1),cr=V,gu(s,0,Fn,0,cr);e:for(;;){for(At=0,T=cr-1;T>=0;T--)$n=fo(u0(At,32),xa(Fn[T],Uo)),fe=zxn($n),Fn[T]=Yr(fe),At=Yr(Tw(fe,32));Ee=Yr(At),te=n;do $e[--n]=48+Ee%10&ta;while((Ee=Ee/10|0)!=0&&n!=0);for(r=9-te+n,w=0;w<r&&n>0;w++)$e[--n]=48;for(L=cr-1;Fn[L]==0;L--)if(L==0)break e;cr=L+1}for(;$e[n]==48;)++n}if(z=ln<0,f=Me-n-t-1,t==0)return z&&($e[--n]=45),If($e,n,Me-n);if(t>0&&f>=-6){if(f>=0){for(C=n+f,F=Me-1;F>=C;F--)$e[F+1]=$e[F];return $e[++C]=46,z&&($e[--n]=45),If($e,n,Me-n+1)}for(L=2;L<-f+1;L++)$e[--n]=48;return $e[--n]=46,$e[--n]=48,z&&($e[--n]=45),If($e,n,Me-n)}return cn=n+1,o=Me,Je=new A5,z&&(Je.a+="-"),o-cn>=1?(yb(Je,$e[n]),Je.a+=".",Je.a+=If($e,n+1,Me-n-1)):Je.a+=If($e,n,Me-n),Je.a+="E",f>0&&(Je.a+="+"),Je.a+=""+f,Je.a}function Vwt(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot;switch(e.c=t,e.g=new Nr,n=(dw(),new sw(e.c)),r=new t_(n),U8e(r),Me=Zr(at(e.c,(rP(),GOe))),w=l(at(e.c,Bge),324),Je=l(at(e.c,Fge),437),f=l(at(e.c,HOe),490),$e=l(at(e.c,Pge),438),e.j=ze(Ge(at(e.c,ASt))),g=e.a,w.g){case 0:g=e.a;break;case 1:g=e.b;break;case 2:g=e.i;break;case 3:g=e.e;break;case 4:g=e.f;break;default:throw ue(new Wn(UG+(w.f!=null?w.f:""+w.g)))}if(e.d=new Rot(g,Je,f),rt(e.d,(mT(),$L),Pt(at(e.c,SSt))),e.d.c=Ft(Pt(at(e.c,UOe))),PH(e.c).i==0)return e.d;for(L=new ar(PH(e.c));L.e!=L.i.gc();){for(C=l(dr(L),27),z=C.g/2,F=C.f/2,ot=new lt(C.i+z,C.j+F);Hu(e.g,ot);)yw(ot,(b.Math.random()-.5)*Dd,(b.Math.random()-.5)*Dd);J=l(at(C,(bi(),rC)),140),te=new Jot(ot,new Zh(ot.a-z-e.j/2-J.b,ot.b-F-e.j/2-J.d,C.g+e.j+(J.b+J.c),C.f+e.j+(J.d+J.a))),wt(e.d.i,te),Ti(e.g,ot,new fa(te,C))}switch($e.g){case 0:if(Me==null)e.d.d=l(Rt(e.d.i,0),68);else for(Ee=new K(e.d.i);Ee.a<Ee.c.c.length;)te=l(re(Ee),68),V=l(l(or(e.g,te.a),42).b,27).jh(),V!=null&&wn(V,Me)&&(e.d.d=te);break;case 1:for(s=new lt(e.c.g,e.c.f),s.a*=.5,s.b*=.5,yw(s,e.c.i,e.c.j),o=gs,fe=new K(e.d.i);fe.a<fe.c.c.length;)te=l(re(fe),68),T=Eb(te.a,s),T<o&&(o=T,e.d.d=te);break;default:throw ue(new Wn(UG+($e.f!=null?$e.f:""+$e.g)))}return e.d}function rOn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te;for(F=0,s=new ar((!t.a&&(t.a=new nt(Li,t,10,11)),t.a));s.e!=s.i.gc();)r=l(dr(s),27),Ft(Pt(at(r,(Nt(),Cv))))||(C=ds(r),(qe(at(C,Tg))!==qe((Td(),I2))||qe(at(C,xv))===qe((w2(),RE))||qe(at(C,xv))===qe((w2(),FE))||Ft(Pt(at(C,w3)))||qe(at(C,m4))!==qe((tv(),h4))||qe(at(C,Xb))===qe((Nf(),C3))||qe(at(C,Xb))===qe((Nf(),E4))||qe(at(C,Tv))===qe((E2(),XE))||qe(at(C,Tv))===qe((E2(),QE)))&&!Ft(Pt(at(r,wW)))&&(Vi(r,(ft(),Yi),bt(F)),++F),Rwt(e,r,n));for(F=0,T=new ar((!t.b&&(t.b=new nt(js,t,12,3)),t.b));T.e!=T.i.gc();)g=l(dr(T),74),(qe(at(t,(Nt(),Tg)))!==qe((Td(),I2))||qe(at(t,xv))===qe((w2(),RE))||qe(at(t,xv))===qe((w2(),FE))||Ft(Pt(at(t,w3)))||qe(at(t,m4))!==qe((tv(),h4))||qe(at(t,Xb))===qe((Nf(),C3))||qe(at(t,Xb))===qe((Nf(),E4))||qe(at(t,Tv))===qe((E2(),XE))||qe(at(t,Tv))===qe((E2(),QE)))&&(Vi(g,(ft(),Yi),bt(F)),++F),J=hg(g),te=Ib(g),L=Ft(Pt(at(J,w4))),V=!Ft(Pt(at(g,Cv))),z=L&&Yw(g)&&Ft(Pt(at(g,kv))),o=ds(J)==t&&ds(J)==ds(te),f=(ds(J)==t&&te==t)^(ds(te)==t&&J==t),V&&!z&&(f||o)&&fTe(e,g,t,n);if(ds(t))for(w=new ar(hot(ds(t)));w.e!=w.i.gc();)g=l(dr(w),74),J=hg(g),J==t&&Yw(g)&&(z=Ft(Pt(at(J,(Nt(),w4))))&&Ft(Pt(at(g,kv))),z&&fTe(e,g,t,n))}function iOn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr,ai,ys,zl,fc,Hh;for(n.Ug("Greedy cycle removal",1),Me=t.a,Hh=Me.c.length,e.a=We(Ur,fi,28,Hh,15,1),e.c=We(Ur,fi,28,Hh,15,1),e.b=We(Ur,fi,28,Hh,15,1),T=0,fe=new K(Me);fe.a<fe.c.c.length;){for(J=l(re(fe),10),J.p=T,cn=new K(J.j);cn.a<cn.c.c.length;){for(ot=l(re(cn),12),g=new K(ot.e);g.a<g.c.c.length;)r=l(re(g),18),r.c.i!=J&&(cr=l(Q(r,(Nt(),KE)),17).a,e.a[T]+=cr>0?cr+1:1);for(f=new K(ot.g);f.a<f.c.c.length;)r=l(re(f),18),r.d.i!=J&&(cr=l(Q(r,(Nt(),KE)),17).a,e.c[T]+=cr>0?cr+1:1)}e.c[T]==0?ci(e.e,J):e.a[T]==0&&ci(e.f,J),++T}for(V=-1,z=1,L=new mt,e.d=l(Q(t,(ft(),Qx)),234);Hh>0;){for(;e.e.b!=0;)ys=l(Bae(e.e),10),e.b[ys.p]=V--,Oke(e,ys),--Hh;for(;e.f.b!=0;)zl=l(Bae(e.f),10),e.b[zl.p]=z++,Oke(e,zl),--Hh;if(Hh>0){for(F=ao,Ee=new K(Me);Ee.a<Ee.c.c.length;)J=l(re(Ee),10),e.b[J.p]==0&&($e=e.c[J.p]-e.a[J.p],$e>=F&&($e>F&&(L.c.length=0,F=$e),qn(L.c,J)));C=e.sg(L),e.b[C.p]=z++,Oke(e,C),--Hh}}for(ai=Me.c.length+1,T=0;T<Me.c.length;T++)e.b[T]<0&&(e.b[T]+=ai);for(te=new K(Me);te.a<te.c.c.length;)for(J=l(re(te),10),$n=eut(J.j),At=$n,ln=0,Fn=At.length;ln<Fn;++ln)for(ot=At[ln],Je=kd(ot.g),s=Je,o=0,w=s.length;o<w;++o)r=s[o],fc=r.d.i.p,e.b[J.p]>e.b[fc]&&(Jw(r,!0),rt(t,AB,(Hn(),!0)));e.a=null,e.c=null,e.b=null,Ch(e.f),Ch(e.e),n.Vg()}function Gwt(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot;for(Je=l(Oe((!e.a&&(e.a=new nt(cs,e,6,6)),e.a),0),166),C=new pl,$e=new Nr,ot=tvt(Je),Ru($e.f,Je,ot),F=new Nr,r=new os,V=ag(Lh(he(le(Fh,1),jn,20,0,[(!t.d&&(t.d=new An(js,t,8,5)),t.d),(!t.e&&(t.e=new An(js,t,7,4)),t.e)])));Rr(V);){if(z=l(yr(V),74),(!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i!=1)throw ue(new Wn(I4t+(!e.a&&(e.a=new nt(cs,e,6,6)),e.a).i));z!=e&&(te=l(Oe((!z.a&&(z.a=new nt(cs,z,6,6)),z.a),0),166),_s(r,te,r.c.b,r.c),J=l(dc(zo($e.f,te)),13),J||(J=tvt(te),Ru($e.f,te,J)),L=n?ya(new xo(l(Rt(ot,ot.c.length-1),8)),l(Rt(J,J.c.length-1),8)):ya(new xo((Sn(0,ot.c.length),l(ot.c[0],8))),(Sn(0,J.c.length),l(J.c[0],8))),Ru(F.f,te,L))}if(r.b!=0)for(fe=l(Rt(ot,n?ot.c.length-1:0),8),T=1;T<ot.c.length;T++){for(Ee=l(Rt(ot,n?ot.c.length-1-T:T),8),s=Fr(r,0);s.b!=s.d.c;)te=l(Pr(s),166),J=l(dc(zo($e.f,te)),13),J.c.length<=T?uce(s):(Me=Pi(new xo(l(Rt(J,n?J.c.length-1-T:T),8)),l(dc(zo(F.f,te)),8)),(Ee.a!=Me.a||Ee.b!=Me.b)&&(o=Ee.a-fe.a,g=Ee.b-fe.b,f=Me.a-fe.a,w=Me.b-fe.b,f*g==w*o&&(o==0||isNaN(o)?o:o<0?-1:1)==(f==0||isNaN(f)?f:f<0?-1:1)&&(g==0||isNaN(g)?g:g<0?-1:1)==(w==0||isNaN(w)?w:w<0?-1:1)?(b.Math.abs(o)<b.Math.abs(f)||b.Math.abs(g)<b.Math.abs(w))&&_s(C,Ee,C.c.b,C.c):T>1&&_s(C,fe,C.c.b,C.c),uce(s)));fe=Ee}return C}function Kwt(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn;for(n.Ug(Kyt,1),Fn=l(kc(ji(new vn(null,new kn(t,16)),new xne),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)]))),15),C=l(kc(ji(new vn(null,new kn(t,16)),new WXe(t)),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[Cc]))),15),V=l(kc(ji(new vn(null,new kn(t,16)),new KXe(t)),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[Cc]))),15),J=We(qW,jG,40,t.gc(),0,1),f=0;f<C.gc();f++)s=l(C.Xb(f),40),cn=l(Q(s,(Vc(),X6)),17).a,cn>=0&&cn<C.gc()&&!J[cn]&&(J[cn]=s,C.gd(f),--f);for(g=0;g<C.gc();g++)for(s=l(C.Xb(g),40),cn=l(Q(s,(Vc(),X6)),17).a,F=0;;F++){if(z=cn+F,z<J.length&&z>=0&&!J[z]){J[z]=s,C.gd(g),--g;break}if(z=cn-F,z<J.length&&z>=0&&!J[z]){J[z]=s,C.gd(g),--g;break}}for(V.jd(new kne),w=J.length-1;w>=0;w--)!J[w]&&!V.dc()&&(J[w]=l(V.Xb(0),40),V.gd(0));for(T=0;T<J.length;T++)!J[T]&&!Fn.dc()&&(J[T]=l(Fn.Xb(0),40),Fn.gd(0));for(o=0;o<J.length;o++)rt(J[o],(Zi(),bM),bt(o));for(L=l(G5n(ji(new vn(null,new kn(t,16)),new Tne)),534),ot=L,At=0,ln=ot.length;At<ln;++At){for(Je=ot[At],r=Lce(Je),Kwt(e,r,n.eh(1/L.length|0)),Cn(),Wm(r,new Wie((Zi(),bM))),te=new os,$e=Fr(r,0);$e.b!=$e.d.c;)for(Me=l(Pr($e),40),Ee=Fr(Je.d,0);Ee.b!=Ee.d.c;)fe=l(Pr(Ee),65),fe.c==Me&&_s(te,fe,te.c.b,te.c);Ch(Je.d),Ga(Je.d,te)}n.Vg()}function Wwt(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe;for(r=new mt,g=new mt,te=t/2,z=e.gc(),s=l(e.Xb(0),8),fe=l(e.Xb(1),8),V=ole(s.a,s.b,fe.a,fe.b,te),wt(r,(Sn(0,V.c.length),l(V.c[0],8))),wt(g,(Sn(1,V.c.length),l(V.c[1],8))),T=2;T<z;T++)J=s,s=fe,fe=l(e.Xb(T),8),V=ole(s.a,s.b,J.a,J.b,te),wt(r,(Sn(1,V.c.length),l(V.c[1],8))),wt(g,(Sn(0,V.c.length),l(V.c[0],8))),V=ole(s.a,s.b,fe.a,fe.b,te),wt(r,(Sn(0,V.c.length),l(V.c[0],8))),wt(g,(Sn(1,V.c.length),l(V.c[1],8)));for(V=ole(fe.a,fe.b,s.a,s.b,te),wt(r,(Sn(1,V.c.length),l(V.c[1],8))),wt(g,(Sn(0,V.c.length),l(V.c[0],8))),n=new pl,f=new mt,ci(n,(Sn(0,r.c.length),l(r.c[0],8))),C=1;C<r.c.length-2;C+=2)o=(Sn(C,r.c.length),l(r.c[C],8)),F=Zpt((Sn(C-1,r.c.length),l(r.c[C-1],8)),o,(Sn(C+1,r.c.length),l(r.c[C+1],8)),(Sn(C+2,r.c.length),l(r.c[C+2],8))),!isFinite(F.a)||!isFinite(F.b)?_s(n,o,n.c.b,n.c):_s(n,F,n.c.b,n.c);for(ci(n,l(Rt(r,r.c.length-1),8)),wt(f,(Sn(0,g.c.length),l(g.c[0],8))),L=1;L<g.c.length-2;L+=2)o=(Sn(L,g.c.length),l(g.c[L],8)),F=Zpt((Sn(L-1,g.c.length),l(g.c[L-1],8)),o,(Sn(L+1,g.c.length),l(g.c[L+1],8)),(Sn(L+2,g.c.length),l(g.c[L+2],8))),!isFinite(F.a)||!isFinite(F.b)?qn(f.c,o):qn(f.c,F);for(wt(f,l(Rt(g,g.c.length-1),8)),w=f.c.length-1;w>=0;w--)ci(n,(Sn(w,f.c.length),l(f.c[w],8)));return n}function Ywt(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e;for(Me=ze(Ge(at(t,(fg(),_4)))),z=ze(Ge(at(t,vM))),F=ze(Ge(at(t,JW))),B7e((!t.a&&(t.a=new nt(Li,t,10,11)),t.a)),fe=jvt((!t.a&&(t.a=new nt(Li,t,10,11)),t.a),Me,e.b),te=0;te<fe.c.length;te++)if(w=(Sn(te,fe.c.length),l(fe.c[te],186)),te!=0&&(V=(Sn(te-1,fe.c.length),l(fe.c[te-1],186)),m1t(w,V.f+V.b+e.b)),J=oOn(te,fe,Me,e.b,Ft(Pt(at(t,(z1(),Cge))))),Ft(Pt(J.b))){for(o=new K(w.a);o.a<o.c.c.length;)s=l(re(o),172),s.c=!1,s.k=!1,Lvt(s);w.d=new mt,w.e=Me,--te}else if(E8n(e,w),te+1<fe.c.length&&(e.e=b.Math.max(w.e+e.b+l(Rt((Sn(te+1,fe.c.length),l(fe.c[te+1],186)).a,0),172).r-Me,e.c),e.f=b.Math.min(w.e+e.b+l(Rt((Sn(te+1,fe.c.length),l(fe.c[te+1],186)).a,0),172).r-Me,e.d),w.d.c.length!=0&&(e.c=b.Math.max(e.c,l(Rt(w.d,w.d.c.length-1),315).d+(w.d.c.length<=1?0:e.b)),e.d=b.Math.min(e.c,l(Rt(w.d,w.d.c.length-1),315).d+(w.d.c.length<=1?0:e.b)))),fe.c.length==1)for(L=l(Rt(w.d,w.d.c.length-1),315),C=l(Rt(L.a,L.a.c.length-1),172),g=new K(C.n);g.a<g.c.c.length;)f=l(re(g),209),e.c=b.Math.max(e.c,C.r-f.d),e.d=b.Math.min(e.d,C.r-f.d),e.e=b.Math.max(e.e,f.d+e.b),e.f=b.Math.min(e.f,f.d+e.b);return Ee=Pgt(fe,e.b),$e=b.Math.max(Ee.a,z-(n.b+n.c)),T=b.Math.max(Ee.b,F-(n.d+n.a)),r=T-Ee.b,Vi(t,mM,r),Vi(t,ZW,fe),new s5e(e.a,$e,Ee.b+r,(VA(),YB))}function sOn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr;if(At=l(Q(e,(Nt(),Ds)),101),At!=(Pa(),Z1)&&At!=rm){for(V=e.b,z=V.c.length,C=new Pu((Mh(z+2,Qle),pU(fo(fo(5,z+2),(z+2)/10|0)))),J=new Pu((Mh(z+2,Qle),pU(fo(fo(5,z+2),(z+2)/10|0)))),wt(C,new Nr),wt(C,new Nr),wt(J,new mt),wt(J,new mt),ot=new mt,t=0;t<z;t++)for(n=(Sn(t,V.c.length),l(V.c[t],30)),ln=(Sn(t,C.c.length),l(C.c[t],85)),te=new Nr,qn(C.c,te),Fn=(Sn(t,J.c.length),l(J.c[t],15)),Ee=new mt,qn(J.c,Ee),s=new K(n.a);s.a<s.c.c.length;){if(r=l(re(s),10),A8e(r)){qn(ot.c,r);continue}for(T=new lr(fr(Ea(r).a.Kc(),new j));Rr(T);)g=l(yr(T),18),$n=g.c.i,A8e($n)&&(cn=l(ln.xc(Q($n,(ft(),zi))),10),cn||(cn=p2t(e,$n),ln.zc(Q($n,zi),cn),Fn.Fc(cn)),ho(g,l(Rt(cn.j,1),12)));for(w=new lr(fr(qs(r).a.Kc(),new j));Rr(w);)g=l(yr(w),18),cr=g.d.i,A8e(cr)&&(fe=l(or(te,Q(cr,(ft(),zi))),10),fe||(fe=p2t(e,cr),Ti(te,Q(cr,zi),fe),qn(Ee.c,fe)),Na(g,l(Rt(fe.j,0),12)))}for(L=0;L<J.c.length;L++)if(Me=(Sn(L,J.c.length),l(J.c[L],15)),!Me.dc())for(F=null,L==0?(F=new vu(e),Sy(0,V.c.length),k_(V.c,0,F)):L==C.c.length-1?(F=new vu(e),qn(V.c,F)):F=(Sn(L-1,V.c.length),l(V.c[L-1],30)),f=Me.Kc();f.Ob();)o=l(f.Pb(),10),Ha(o,F);for(Je=new K(ot);Je.a<Je.c.c.length;)$e=l(re(Je),10),Ha($e,null);rt(e,(ft(),nde),ot)}}function aOn(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr,ai,ys,zl,fc;for(ys=new mt,V=new K(t.b);V.a<V.c.c.length;)for(F=l(re(V),30),Je=new K(F.a);Je.a<Je.c.c.length;){for($e=l(re(Je),10),$e.p=-1,L=ao,ln=ao,Fn=new K($e.j);Fn.a<Fn.c.c.length;){for(cn=l(re(Fn),12),s=new K(cn.e);s.a<s.c.c.length;)n=l(re(s),18),$n=l(Q(n,(Nt(),Zx)),17).a,L=b.Math.max(L,$n);for(r=new K(cn.g);r.a<r.c.c.length;)n=l(re(r),18),$n=l(Q(n,(Nt(),Zx)),17).a,ln=b.Math.max(ln,$n)}rt($e,jW,bt(L)),rt($e,$W,bt(ln))}for(fe=0,z=new K(t.b);z.a<z.c.c.length;)for(F=l(re(z),30),Je=new K(F.a);Je.a<Je.c.c.length;)$e=l(re(Je),10),$e.p<0&&(ai=new Zwe,ai.b=fe++,Cmt(e,$e,ai),qn(ys.c,ai));for(At=rg(ys.c.length),C=rg(ys.c.length),f=0;f<ys.c.length;f++)wt(At,new mt),wt(C,bt(0));for(EDn(t,ys,At,C),zl=l(j1(ys,We(hEt,$yt,261,ys.c.length,0,1)),854),ot=l(j1(At,We(bf,e4,15,At.c.length,0,1)),198),T=We(Ur,fi,28,C.c.length,15,1),g=0;g<T.length;g++)T[g]=(Sn(g,C.c.length),l(C.c[g],17)).a;for(Ee=0,Me=new mt,w=0;w<zl.length;w++)T[w]==0&&qn(Me.c,zl[w]);for(te=We(Ur,fi,28,zl.length,15,1);Me.c.length!=0;)for(ai=l(l2(Me,0),261),te[ai.b]=Ee++;!ot[ai.b].dc();)fc=l(ot[ai.b].gd(0),261),--T[fc.b],T[fc.b]==0&&qn(Me.c,fc);for(e.a=We(hEt,$yt,261,zl.length,0,1),o=0;o<zl.length;o++)for(J=zl[o],cr=te[o],e.a[cr]=J,J.b=cr,Je=new K(J.e);Je.a<Je.c.c.length;)$e=l(re(Je),10),$e.p=cr;return e.a}function oOn(e,t,n,r,s){var o,f,g,w,T,C,L,F,z,V,J,te,fe;for(J=!1,w=!1,F=e+1,V=(Sn(e,t.c.length),l(t.c[e],186)),g=V.a,T=null,f=0;f<V.a.c.length;f++)if(o=(Sn(f,g.c.length),l(g.c[f],172)),!o.c){if(o.b.c.length==0){Wg(),ZN(V,o),--f,J=!0;continue}if(o.k||(T&&mV(T),T=new s6e(T?T.e+T.d+r:0,V.f,r),XN(o,T.e+T.d,V.f),wt(V.d,T),H7e(T,o),o.k=!0),C=null,C=(fe=null,f<V.a.c.length-1?fe=l(Rt(V.a,f+1),172):F<t.c.length&&(Sn(F,t.c.length),l(t.c[F],186)).a.c.length!=0&&(fe=l(Rt((Sn(F,t.c.length),l(t.c[F],186)).a,0),172)),fe),te=!1,C&&(te=!Fi(C.j,V)),C){if(C.b.c.length!=0&&!Ft(Pt(l(Rt(C.b,0),27).of((z1(),WB)))))gN(o,n-o.s),mV(o.q),J=J|D9n(V,o,C,n,r);else{ZN(V,C);break}if(C.b.c.length==0)for(t.c.length>F&&ZN((Sn(F,t.c.length),l(t.c[F],186)),C),C=null;t.c.length>F&&(Sn(F,t.c.length),l(t.c[F],186)).a.c.length==0;)sl(t,(Sn(F,t.c.length),t.c[F]));if(!C){--f;continue}if(!Ft(Pt(l(Rt(C.b,0),27).of((z1(),WB))))&&kAn(t,V,o,C,te,n,F,r)){J=!0;continue}if(te){if(z=V.b,L=C.f,!Ft(Pt(l(Rt(C.b,0),27).of(WB)))&&$Mn(t,V,o,C,n,F,r,s)){if(J=!0,z<L){w=!0,C.j=V;break}continue}else if(v8e(V,o)){o.c=!0,J=!0;continue}}else if(v8e(V,o)){o.c=!0,J=!0;continue}if(J)continue}if(v8e(V,o)){o.c=!0,J=!0,C&&(C.k=!1);continue}else mV(o.q)}return new fa((Hn(),!!J),!!w)}function Nt(){Nt=U,xde=(bi(),g_t),wDe=p_t,NB=VNe,y0=b_t,V6=GNe,T3=KNe,T4=WNe,WE=YNe,YE=XNe,kde=hY,E3=Dv,Tde=m_t,nM=ZNe,LW=i9,OB=(dTe(),Dkt),U6=Ikt,Sv=Okt,G6=Nkt,wTt=new qa(iF,bt(0)),KE=Akt,vDe=Lkt,Zx=Mkt,ADe=nTt,xDe=Fkt,kDe=$kt,Cde=Kkt,TDe=Hkt,EDe=Vkt,MW=aTt,Sde=rTt,SDe=Jkt,CDe=Xkt,_De=eTt,x3=kkt,tM=Tkt,mde=$9t,QMe=q9t,ETt=LM,CTt=dY,TTt=sF,kTt=fY,yDe=(gx(),I4),new qa(s9,yDe),dDe=new mw(12),fDe=new qa(B2,dDe),WMe=(cp(),aC),yp=new qa(TNe,WMe),y4=new qa(eh,0),yTt=new qa(tpe,bt(1)),pW=new qa(t7,fE),Cv=lY,Ds=AM,GE=o7,fTt=eF,Rd=i_t,v4=i7,xTt=new qa(npe,(Hn(),!0)),w4=tF,kv=Kge,Ev=Mv,AW=em,yde=A4,KMe=(ea(),J1),Rh=new qa(Lv,KMe),y3=s7,SW=MNe,x4=L4,vTt=epe,bDe=HNe,pDe=(r6(),uF),new qa(RNe,pDe),pTt=Xge,bTt=Qge,mTt=Jge,gTt=Yge,Ede=Bkt,Tv=lkt,Xb=ukt,rM=Pkt,Qu=nkt,xv=I9t,ZL=D9t,w3=b9t,UMe=m9t,dde=x9t,IB=v9t,gde=L9t,cDe=hkt,uDe=fkt,rDe=X9t,_W=Skt,wde=pkt,vde=V9t,hDe=ykt,XMe=R9t,bde=j9t,fde=ZB,lDe=dkt,mW=c9t,zMe=o9t,bW=a9t,eDe=W9t,ZMe=K9t,tDe=Y9t,UE=a7,lc=A3,M2=CNe,jd=Gge,pde=Vge,VMe=T9t,D2=Zge,JL=o_t,TW=u_t,k3=$Ne,gDe=l_t,VE=h_t,sDe=ikt,aDe=akt,k4=r9,lde=s9t,oDe=ckt,kW=P9t,xW=N9t,CW=rC,iDe=Z9t,eM=mkt,PB=QNe,GMe=O9t,mDe=_kt,YMe=B9t,uTt=C9t,lTt=S9t,dTt=tkt,hTt=_9t,nDe=Wge,EW=rkt,yW=A9t,Tg=p9t,HMe=f9t,vW=l9t,qMe=h9t,wW=d9t,m4=u9t,hde=g9t,JMe=G9t}function Mi(e){var t,n,r;if(e.d>=e.j){e.a=-1,e.c=1;return}if(t=io(e.i,e.d++),e.a=t,e.b==1){switch(t){case 92:if(r=10,e.d>=e.j)throw ue(new ri(si((Jr(),QG))));e.a=io(e.i,e.d++);break;case 45:(e.e&512)==512&&e.d<e.j&&io(e.i,e.d)==91?(++e.d,r=24):r=0;break;case 91:if((e.e&512)!=512&&e.d<e.j&&io(e.i,e.d)==58){++e.d,r=20;break}default:(t&64512)==BP&&e.d<e.j&&(n=io(e.i,e.d),(n&64512)==56320&&(e.a=Lo+(t-BP<<10)+n-56320,++e.d)),r=0}e.c=r;return}switch(t){case 124:r=2;break;case 42:r=3;break;case 43:r=4;break;case 63:r=5;break;case 41:r=7;break;case 46:r=8;break;case 91:r=9;break;case 94:r=11;break;case 36:r=12;break;case 40:if(r=6,e.d>=e.j||io(e.i,e.d)!=63)break;if(++e.d>=e.j)throw ue(new ri(si((Jr(),g0e))));switch(t=io(e.i,e.d++),t){case 58:r=13;break;case 61:r=14;break;case 33:r=15;break;case 91:r=19;break;case 62:r=18;break;case 60:if(e.d>=e.j)throw ue(new ri(si((Jr(),g0e))));if(t=io(e.i,e.d++),t==61)r=16;else if(t==33)r=17;else throw ue(new ri(si((Jr(),s5t))));break;case 35:for(;e.d<e.j&&(t=io(e.i,e.d++),t!=41););if(t!=41)throw ue(new ri(si((Jr(),a5t))));r=21;break;default:if(t==45||97<=t&&t<=122||65<=t&&t<=90){--e.d,r=22;break}else if(t==40){r=23;break}throw ue(new ri(si((Jr(),g0e))))}break;case 92:if(r=10,e.d>=e.j)throw ue(new ri(si((Jr(),QG))));e.a=io(e.i,e.d++);break;default:r=0}e.c=r}function cOn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te;if(n.Ug("Process compaction",1),!!Ft(Pt(Q(t,(Vc(),_Ie))))){for(s=l(Q(t,_3),88),z=ze(Ge(Q(t,tge))),PLn(e,t,s),CIn(t,z/2/2),V=t.b,Wm(V,new $Xe(s)),T=Fr(V,0);T.b!=T.d.c;)if(w=l(Pr(T),40),!Ft(Pt(Q(w,(Zi(),Zb))))){if(r=o_n(w,s),J=nLn(w,t),L=0,F=0,r)switch(te=r.e,s.g){case 2:L=te.a-z-w.f.a,J.e.a-z-w.f.a<L&&(L=J.e.a-z-w.f.a),F=L+w.f.a;break;case 1:L=te.a+r.f.a+z,J.e.a+z>L&&(L=J.e.a+J.f.a+z),F=L+w.f.a;break;case 4:L=te.b-z-w.f.b,J.e.b-z-w.f.b<L&&(L=J.e.b-z-w.f.b),F=L+w.f.b;break;case 3:L=te.b+r.f.b+z,J.e.b+z>L&&(L=J.e.b+J.f.b+z),F=L+w.f.b}else if(J)switch(s.g){case 2:L=J.e.a-z-w.f.a,F=L+w.f.a;break;case 1:L=J.e.a+J.f.a+z,F=L+w.f.a;break;case 4:L=J.e.b-z-w.f.b,F=L+w.f.b;break;case 3:L=J.e.b+J.f.b+z,F=L+w.f.b}qe(Q(t,ege))===qe((kA(),zB))?(o=L,f=F,g=ET(ji(new vn(null,new kn(e.a,16)),new Dtt(o,f))),g.a!=null?s==(ea(),hc)||s==yc?w.e.a=L:w.e.b=L:(s==(ea(),hc)||s==vf?g=ET(ji(oft(new vn(null,new kn(e.a,16))),new zXe(o))):g=ET(ji(oft(new vn(null,new kn(e.a,16))),new qXe(o))),g.a!=null&&(s==hc||s==yc?w.e.a=ze(Ge((br(g.a!=null),l(g.a,42)).a)):w.e.b=ze(Ge((br(g.a!=null),l(g.a,42)).a)))),g.a!=null&&(C=bc(e.a,(br(g.a!=null),g.a),0),C>0&&C!=l(Q(w,$d),17).a&&(rt(w,wIe,(Hn(),!0)),rt(w,$d,bt(C))))):s==(ea(),hc)||s==yc?w.e.a=L:w.e.b=L}n.Vg()}}function Xwt(e){var t,n,r,s,o,f,g,w,T;for(e.b=1,Mi(e),t=null,e.c==0&&e.a==94?(Mi(e),t=(Ii(),Ii(),new _h(4)),xu(t,0,SE),g=new _h(4)):g=(Ii(),Ii(),new _h(4)),s=!0;(T=e.c)!=1;){if(T==0&&e.a==93&&!s){t&&(rL(t,g),g=t);break}if(n=e.a,r=!1,T==10)switch(n){case 100:case 68:case 119:case 87:case 115:case 83:Xy(g,QT(n)),r=!0;break;case 105:case 73:case 99:case 67:n=(Xy(g,QT(n)),-1),n<0&&(r=!0);break;case 112:case 80:if(w=F9e(e,n),!w)throw ue(new ri(si((Jr(),p0e))));Xy(g,w),r=!0;break;default:n=vke(e)}else if(T==24&&!s){if(t&&(rL(t,g),g=t),o=Xwt(e),rL(g,o),e.c!=0||e.a!=93)throw ue(new ri(si((Jr(),p5t))));break}if(Mi(e),!r){if(T==0){if(n==91)throw ue(new ri(si((Jr(),zSe))));if(n==93)throw ue(new ri(si((Jr(),qSe))));if(n==45&&!s&&e.a!=93)throw ue(new ri(si((Jr(),b0e))))}if(e.c!=0||e.a!=45||n==45&&s)xu(g,n,n);else{if(Mi(e),(T=e.c)==1)throw ue(new ri(si((Jr(),JG))));if(T==0&&e.a==93)xu(g,n,n),xu(g,45,45);else{if(T==0&&e.a==93||T==24)throw ue(new ri(si((Jr(),b0e))));if(f=e.a,T==0){if(f==91)throw ue(new ri(si((Jr(),zSe))));if(f==93)throw ue(new ri(si((Jr(),qSe))));if(f==45)throw ue(new ri(si((Jr(),b0e))))}else T==10&&(f=vke(e));if(Mi(e),n>f)throw ue(new ri(si((Jr(),v5t))));xu(g,n,f)}}}s=!1}if(e.c==1)throw ue(new ri(si((Jr(),JG))));return l6(g),tL(g),e.b=0,Mi(e),g}function uOn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je;if(n.Ug("Coffman-Graham Layering",1),t.a.c.length==0){n.Vg();return}for(Je=l(Q(t,(Nt(),iDe)),17).a,w=0,f=0,F=new K(t.a);F.a<F.c.c.length;)for(L=l(re(F),10),L.p=w++,o=new lr(fr(qs(L).a.Kc(),new j));Rr(o);)s=l(yr(o),18),s.p=f++;for(e.d=We(th,vg,28,w,16,1),e.a=We(th,vg,28,f,16,1),e.b=We(Ur,fi,28,w,15,1),e.e=We(Ur,fi,28,w,15,1),e.f=We(Ur,fi,28,w,15,1),EU(e.c),axn(e,t),V=new xH(new sXe(e)),$e=new K(t.a);$e.a<$e.c.c.length;){for(Ee=l(re($e),10),o=new lr(fr(Ea(Ee).a.Kc(),new j));Rr(o);)s=l(yr(o),18),e.a[s.p]||++e.b[Ee.p];e.b[Ee.p]==0&&W8(qT(V,Ee),cE)}for(g=0;V.b.c.length!=0;)for(Ee=l(oce(V),10),e.f[Ee.p]=g++,o=new lr(fr(qs(Ee).a.Kc(),new j));Rr(o);)s=l(yr(o),18),!e.a[s.p]&&(te=s.d.i,--e.b[te.p],xn(e.c,te,bt(e.f[Ee.p])),e.b[te.p]==0&&W8(qT(V,te),cE));for(z=new xH(new aXe(e)),Me=new K(t.a);Me.a<Me.c.c.length;){for(Ee=l(re(Me),10),o=new lr(fr(qs(Ee).a.Kc(),new j));Rr(o);)s=l(yr(o),18),e.a[s.p]||++e.e[Ee.p];e.e[Ee.p]==0&&W8(qT(z,Ee),cE)}for(C=new mt,r=Wat(t,C);z.b.c.length!=0;)for(fe=l(oce(z),10),(r.a.c.length>=Je||!r6n(fe,r))&&(r=Wat(t,C)),Ha(fe,r),o=new lr(fr(Ea(fe).a.Kc(),new j));Rr(o);)s=l(yr(o),18),!e.a[s.p]&&(J=s.c.i,--e.e[J.p],e.e[J.p]==0&&W8(qT(z,J),cE));for(T=C.c.length-1;T>=0;--T)wt(t.b,(Sn(T,C.c.length),l(C.c[T],30)));t.a.c.length=0,n.Vg()}function Qwt(e,t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e;$e=!1;do for($e=!1,o=t?new pr(e.a.b).a.gc()-2:1;t?o>=0:o<new pr(e.a.b).a.gc();o+=t?-1:1)for(s=T6e(e.a,bt(o)),z=0;z<s.b;z++)if(L=l(hf(s,z),10),!!rs(L,(ft(),Yi))&&!(lxn(e.a,bt(o))&&e.r==(Nf(),C3)||hxn(e.a,bt(o))&&e.r==(Nf(),E4))){for(Me=!0,fe=0;fe<s.b;fe++)te=l(hf(s,fe),10),rs(te,Yi)&&(t&&l(Q(L,Yi),17).a<l(Q(te,Yi),17).a||!t&&l(Q(L,Yi),17).a>l(Q(te,Yi),17).a)&&(Me=!1);if(Me){for(w=t?o+1:o-1,g=T6e(e.a,bt(w)),f=!1,Ee=!0,r=!1,C=Fr(g,0);C.b!=C.d.c;)T=l(Pr(C),10),rs(T,Yi)?T.p!=L.p&&(f=f|(t?l(Q(T,Yi),17).a<l(Q(L,Yi),17).a:l(Q(T,Yi),17).a>l(Q(L,Yi),17).a),Ee=!1):!f&&Ee&&T.k==(Jn(),uu)&&(r=!0,t?F=l(yr(new lr(fr(Ea(T).a.Kc(),new j))),18).c.i:F=l(yr(new lr(fr(qs(T).a.Kc(),new j))),18).d.i,F==L&&(t?n=l(yr(new lr(fr(qs(T).a.Kc(),new j))),18).d.i:n=l(yr(new lr(fr(Ea(T).a.Kc(),new j))),18).c.i,(t?l(by(e.a,n),17).a-l(by(e.a,F),17).a:l(by(e.a,F),17).a-l(by(e.a,n),17).a)<=2&&(Ee=!1)));if(r&&Ee&&(t?n=l(yr(new lr(fr(qs(L).a.Kc(),new j))),18).d.i:n=l(yr(new lr(fr(Ea(L).a.Kc(),new j))),18).c.i,(t?l(by(e.a,n),17).a-l(by(e.a,L),17).a:l(by(e.a,L),17).a-l(by(e.a,n),17).a)<=2&&n.k==(Jn(),Bs)&&(Ee=!1)),f||Ee){for(J=Abt(e,L,t);J.a.gc()!=0;)V=l(J.a.ec().Kc().Pb(),10),J.a.Bc(V)!=null,Ga(J,Abt(e,V,t));--z,$e=!0}}}while($e)}function lOn(e){Wr(e.c,ui,he(le($t,1),dt,2,6,[oo,"http://www.w3.org/2001/XMLSchema#decimal"])),Wr(e.d,ui,he(le($t,1),dt,2,6,[oo,"http://www.w3.org/2001/XMLSchema#integer"])),Wr(e.e,ui,he(le($t,1),dt,2,6,[oo,"http://www.w3.org/2001/XMLSchema#boolean"])),Wr(e.f,ui,he(le($t,1),dt,2,6,[oo,"EBoolean",Ai,"EBoolean:Object"])),Wr(e.i,ui,he(le($t,1),dt,2,6,[oo,"http://www.w3.org/2001/XMLSchema#byte"])),Wr(e.g,ui,he(le($t,1),dt,2,6,[oo,"http://www.w3.org/2001/XMLSchema#hexBinary"])),Wr(e.j,ui,he(le($t,1),dt,2,6,[oo,"EByte",Ai,"EByte:Object"])),Wr(e.n,ui,he(le($t,1),dt,2,6,[oo,"EChar",Ai,"EChar:Object"])),Wr(e.t,ui,he(le($t,1),dt,2,6,[oo,"http://www.w3.org/2001/XMLSchema#double"])),Wr(e.u,ui,he(le($t,1),dt,2,6,[oo,"EDouble",Ai,"EDouble:Object"])),Wr(e.F,ui,he(le($t,1),dt,2,6,[oo,"http://www.w3.org/2001/XMLSchema#float"])),Wr(e.G,ui,he(le($t,1),dt,2,6,[oo,"EFloat",Ai,"EFloat:Object"])),Wr(e.I,ui,he(le($t,1),dt,2,6,[oo,"http://www.w3.org/2001/XMLSchema#int"])),Wr(e.J,ui,he(le($t,1),dt,2,6,[oo,"EInt",Ai,"EInt:Object"])),Wr(e.N,ui,he(le($t,1),dt,2,6,[oo,"http://www.w3.org/2001/XMLSchema#long"])),Wr(e.O,ui,he(le($t,1),dt,2,6,[oo,"ELong",Ai,"ELong:Object"])),Wr(e.Z,ui,he(le($t,1),dt,2,6,[oo,"http://www.w3.org/2001/XMLSchema#short"])),Wr(e.$,ui,he(le($t,1),dt,2,6,[oo,"EShort",Ai,"EShort:Object"])),Wr(e._,ui,he(le($t,1),dt,2,6,[oo,"http://www.w3.org/2001/XMLSchema#string"]))}function hOn(e,t,n,r,s,o,f){var g,w,T,C,L,F,z,V;return F=l(r.a,17).a,z=l(r.b,17).a,L=e.b,V=e.c,g=0,C=0,t==(ea(),hc)||t==yc?(C=yO(z1t(Ey(gc(new vn(null,new kn(n.b,16)),new Ene),new une))),L.e.b+L.f.b/2>C?(T=++z,g=ze(Ge(uh(xy(gc(new vn(null,new kn(n.b,16)),new Ntt(s,T)),new d$))))):(w=++F,g=ze(Ge(uh(X8(gc(new vn(null,new kn(n.b,16)),new Ptt(s,w)),new lne)))))):(C=yO(z1t(Ey(gc(new vn(null,new kn(n.b,16)),new dne),new f$))),L.e.a+L.f.a/2>C?(T=++z,g=ze(Ge(uh(xy(gc(new vn(null,new kn(n.b,16)),new Itt(s,T)),new hne))))):(w=++F,g=ze(Ge(uh(X8(gc(new vn(null,new kn(n.b,16)),new Ott(s,w)),new EI)))))),t==hc?(yo(e.a,new lt(ze(Ge(Q(L,(Zi(),o1))))-s,g)),yo(e.a,new lt(V.e.a+V.f.a+s+o,g)),yo(e.a,new lt(V.e.a+V.f.a+s+o,V.e.b+V.f.b/2)),yo(e.a,new lt(V.e.a+V.f.a,V.e.b+V.f.b/2))):t==yc?(yo(e.a,new lt(ze(Ge(Q(L,(Zi(),x0))))+s,L.e.b+L.f.b/2)),yo(e.a,new lt(L.e.a+L.f.a+s,g)),yo(e.a,new lt(V.e.a-s-o,g)),yo(e.a,new lt(V.e.a-s-o,V.e.b+V.f.b/2)),yo(e.a,new lt(V.e.a,V.e.b+V.f.b/2))):t==vf?(yo(e.a,new lt(g,ze(Ge(Q(L,(Zi(),o1))))-s)),yo(e.a,new lt(g,V.e.b+V.f.b+s+o)),yo(e.a,new lt(V.e.a+V.f.a/2,V.e.b+V.f.b+s+o)),yo(e.a,new lt(V.e.a+V.f.a/2,V.e.b+V.f.b+s))):(e.a.b==0||(l(a0(e.a),8).b=ze(Ge(Q(L,(Zi(),x0))))+s*l(f.b,17).a),yo(e.a,new lt(g,ze(Ge(Q(L,(Zi(),x0))))+s*l(f.b,17).a)),yo(e.a,new lt(g,V.e.b-s*l(f.a,17).a-o))),new fa(bt(F),bt(z))}function fOn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z;if(f=!0,L=null,r=null,s=null,t=!1,z=hAt,T=null,o=null,g=0,w=due(e,g,qPe,HPe),w<e.length&&(Yn(w,e.length),e.charCodeAt(w)==58)&&(L=(Va(g,w,e.length),e.substr(g,w-g)),g=w+1),n=L!=null&&lO(MY,L.toLowerCase()),n){if(w=e.lastIndexOf("!/"),w==-1)throw ue(new Wn("no archive separator"));f=!0,r=ef(e,g,++w),g=w}else g>=0&&wn(e.substr(g,2),"//")?(g+=2,w=due(e,g,zM,qM),r=(Va(g,w,e.length),e.substr(g,w-g)),g=w):L!=null&&(g==e.length||(Yn(g,e.length),e.charCodeAt(g)!=47))&&(f=!1,w=Kye(e,ol(35),g),w==-1&&(w=e.length),r=(Va(g,w,e.length),e.substr(g,w-g)),g=w);if(!n&&g<e.length&&(Yn(g,e.length),e.charCodeAt(g)==47)&&(w=due(e,g+1,zM,qM),C=(Va(g+1,w,e.length),e.substr(g+1,w-(g+1))),C.length>0&&io(C,C.length-1)==58&&(s=C,g=w)),g<e.length&&(Yn(g,e.length),e.charCodeAt(g)==47)&&(++g,t=!0),g<e.length&&(Yn(g,e.length),e.charCodeAt(g)!=63)&&(Yn(g,e.length),e.charCodeAt(g)!=35)){for(F=new mt;g<e.length&&(Yn(g,e.length),e.charCodeAt(g)!=63)&&(Yn(g,e.length),e.charCodeAt(g)!=35);)w=due(e,g,zM,qM),wt(F,(Va(g,w,e.length),e.substr(g,w-g))),g=w,g<e.length&&(Yn(g,e.length),e.charCodeAt(g)==47)&&(f4n(e,++g)||F.c.push(""));z=We($t,dt,2,F.c.length,6,1),j1(F,z)}return g<e.length&&(Yn(g,e.length),e.charCodeAt(g)==63)&&(w=Bk(e,35,++g),w==-1&&(w=e.length),T=(Va(g,w,e.length),e.substr(g,w-g)),g=w),g<e.length&&(o=F5e(e,++g)),UMn(f,L,r,s,z,T),new gle(f,L,r,s,t,z,T,o)}function Jwt(){Jwt=U,Ule(),mi=new Iw,xn(mi,(_t(),S0),ed),xn(mi,Hf,ed),xn(mi,Rl,ed),xn(mi,_0,ed),xn(mi,hl,ed),xn(mi,jl,ed),xn(mi,_0,S0),xn(mi,ed,wf),xn(mi,S0,wf),xn(mi,Hf,wf),xn(mi,Rl,wf),xn(mi,ll,wf),xn(mi,_0,wf),xn(mi,hl,wf),xn(mi,jl,wf),xn(mi,Ju,wf),xn(mi,ed,$h),xn(mi,S0,$h),xn(mi,wf,$h),xn(mi,Hf,$h),xn(mi,Rl,$h),xn(mi,ll,$h),xn(mi,_0,$h),xn(mi,Ju,$h),xn(mi,zh,$h),xn(mi,hl,$h),xn(mi,Sl,$h),xn(mi,jl,$h),xn(mi,S0,Hf),xn(mi,Rl,Hf),xn(mi,_0,Hf),xn(mi,jl,Hf),xn(mi,S0,Rl),xn(mi,Hf,Rl),xn(mi,_0,Rl),xn(mi,Rl,Rl),xn(mi,hl,Rl),xn(mi,ed,yf),xn(mi,S0,yf),xn(mi,wf,yf),xn(mi,$h,yf),xn(mi,Hf,yf),xn(mi,Rl,yf),xn(mi,ll,yf),xn(mi,_0,yf),xn(mi,zh,yf),xn(mi,Ju,yf),xn(mi,jl,yf),xn(mi,hl,yf),xn(mi,Lu,yf),xn(mi,ed,zh),xn(mi,S0,zh),xn(mi,wf,zh),xn(mi,Hf,zh),xn(mi,Rl,zh),xn(mi,ll,zh),xn(mi,_0,zh),xn(mi,Ju,zh),xn(mi,jl,zh),xn(mi,Sl,zh),xn(mi,Lu,zh),xn(mi,S0,Ju),xn(mi,Hf,Ju),xn(mi,Rl,Ju),xn(mi,_0,Ju),xn(mi,zh,Ju),xn(mi,jl,Ju),xn(mi,hl,Ju),xn(mi,ed,ul),xn(mi,S0,ul),xn(mi,wf,ul),xn(mi,Hf,ul),xn(mi,Rl,ul),xn(mi,ll,ul),xn(mi,_0,ul),xn(mi,Ju,ul),xn(mi,jl,ul),xn(mi,S0,hl),xn(mi,wf,hl),xn(mi,$h,hl),xn(mi,Rl,hl),xn(mi,ed,Sl),xn(mi,S0,Sl),xn(mi,$h,Sl),xn(mi,Hf,Sl),xn(mi,Rl,Sl),xn(mi,ll,Sl),xn(mi,_0,Sl),xn(mi,_0,Lu),xn(mi,Rl,Lu),xn(mi,Ju,ed),xn(mi,Ju,Hf),xn(mi,Ju,wf),xn(mi,ll,ed),xn(mi,ll,S0),xn(mi,ll,$h)}function dOn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot;switch(n.Ug("Brandes & Koepf node placement",1),e.a=t,e.c=YAn(t),r=l(Q(t,(Nt(),wde)),281),z=Ft(Pt(Q(t,eM))),e.d=r==(nP(),aW)&&!z||r==X1e,jMn(e,t),Je=null,ot=null,fe=null,Ee=null,te=(Mh(4,Jy),new Pu(4)),l(Q(t,wde),281).g){case 3:fe=new g6(t,e.c.d,(D1(),_v),(xd(),O2)),qn(te.c,fe);break;case 1:Ee=new g6(t,e.c.d,(D1(),Y1),(xd(),O2)),qn(te.c,Ee);break;case 4:Je=new g6(t,e.c.d,(D1(),_v),(xd(),S3)),qn(te.c,Je);break;case 2:ot=new g6(t,e.c.d,(D1(),Y1),(xd(),S3)),qn(te.c,ot);break;default:fe=new g6(t,e.c.d,(D1(),_v),(xd(),O2)),Ee=new g6(t,e.c.d,Y1,O2),Je=new g6(t,e.c.d,_v,S3),ot=new g6(t,e.c.d,Y1,S3),qn(te.c,Je),qn(te.c,ot),qn(te.c,fe),qn(te.c,Ee)}for(s=new ktt(t,e.c),g=new K(te);g.a<g.c.c.length;)o=l(re(g),185),AIn(s,o,e.b),CLn(o);for(F=new Ogt(t,e.c),w=new K(te);w.a<w.c.c.length;)o=l(re(w),185),QMn(F,o);if(n._g())for(T=new K(te);T.a<T.c.c.length;)o=l(re(T),185),n.bh(o+" size is "+cle(o));if(L=null,e.d&&(C=wIn(e,te,e.c.d),Svt(t,C,n)&&(L=C)),!L)for(T=new K(te);T.a<T.c.c.length;)o=l(re(T),185),Svt(t,o,n)&&(!L||cle(L)>cle(o))&&(L=o);for(!L&&(L=(Sn(0,te.c.length),l(te.c[0],185))),J=new K(t.b);J.a<J.c.c.length;)for(V=l(re(J),30),$e=new K(V.a);$e.a<$e.c.c.length;)Me=l(re($e),10),Me.n.b=ze(L.p[Me.p])+ze(L.d[Me.p]);for(n._g()&&(n.bh("Chosen node placement: "+L),n.bh("Blocks: "+q2t(L)),n.bh("Classes: "+uEn(L,n)),n.bh("Marked edges: "+e.b)),f=new K(te);f.a<f.c.c.length;)o=l(re(f),185),o.g=null,o.b=null,o.a=null,o.d=null,o.j=null,o.i=null,o.p=null;Emn(e.c),e.b.a.$b(),n.Vg()}function gOn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr;if(e.c.length==1)return Xgt((Sn(0,e.c.length),l(e.c[0],121))),Sn(0,e.c.length),l(e.c[0],121);if(e.c.length<=0)return new lN;for(w=new K(e);w.a<w.c.c.length;){for(f=l(re(w),121),Ee=0,V=Ni,J=Ni,F=ao,z=ao,fe=Fr(f.b,0);fe.b!=fe.d.c;)te=l(Pr(fe),40),Ee+=l(Q(te,(Vc(),VW)),17).a,V=b.Math.min(V,te.e.a),J=b.Math.min(J,te.e.b),F=b.Math.max(F,te.e.a+te.f.a),z=b.Math.max(z,te.e.b+te.f.b);rt(f,(Vc(),VW),bt(Ee)),rt(f,(Zi(),ZE),new lt(V,J)),rt(f,qB,new lt(F,z))}for(Cn(),Gs(e,new Hte),Je=new lN,mc(Je,(Sn(0,e.c.length),l(e.c[0],96))),L=0,Fn=0,T=new K(e);T.a<T.c.c.length;)f=l(re(T),121),ot=ya(Xa(l(Q(f,(Zi(),qB)),8)),l(Q(f,ZE),8)),L=b.Math.max(L,ot.a),Fn+=ot.a*ot.b;for(L=b.Math.max(L,b.Math.sqrt(Fn)*ze(Ge(Q(Je,(Vc(),QEt))))),At=ze(Ge(Q(Je,tge))),$n=0,cr=0,C=0,t=At,g=new K(e);g.a<g.c.c.length;)f=l(re(g),121),ot=ya(Xa(l(Q(f,(Zi(),qB)),8)),l(Q(f,ZE),8)),$n+ot.a>L&&($n=0,cr+=C+At,C=0),zmt(Je,f,$n,cr),t=b.Math.max(t,$n+ot.a),C=b.Math.max(C,ot.b),$n+=ot.a+At;for($e=new Nr,n=new Nr,cn=new K(e);cn.a<cn.c.c.length;)for(ln=l(re(cn),121),r=Ft(Pt(Q(ln,(bi(),eF)))),Me=ln.q?ln.q:yg,o=Me.vc().Kc();o.Ob();)s=l(o.Pb(),44),Hu($e,s.ld())?qe(l(s.ld(),149).Sg())!==qe(s.md())&&(r&&Hu(n,s.ld())?(Wg(),""+l(s.ld(),149).Pg()):(Ti($e,l(s.ld(),149),s.md()),rt(Je,l(s.ld(),149),s.md()),r&&Ti(n,l(s.ld(),149),s.md()))):(Ti($e,l(s.ld(),149),s.md()),rt(Je,l(s.ld(),149),s.md()));return Xgt(Je),Je}function tG(e,t){switch(e.e){case 0:case 2:case 4:case 6:case 42:case 44:case 46:case 48:case 8:case 10:case 12:case 14:case 16:case 18:case 20:case 22:case 24:case 26:case 28:case 30:case 32:case 34:case 36:case 38:return new yot(e.b,e.a,t,e.c);case 1:return new Hq(e.a,t,vs(t.Dh(),e.c));case 43:return new frt(e.a,t,vs(t.Dh(),e.c));case 3:return new Qs(e.a,t,vs(t.Dh(),e.c));case 45:return new bl(e.a,t,vs(t.Dh(),e.c));case 41:return new yl(l(Of(e.c),29),e.a,t,vs(t.Dh(),e.c));case 50:return new Nft(l(Of(e.c),29),e.a,t,vs(t.Dh(),e.c));case 5:return new E4e(e.a,t,vs(t.Dh(),e.c),e.d.n);case 47:return new Cit(e.a,t,vs(t.Dh(),e.c),e.d.n);case 7:return new nt(e.a,t,vs(t.Dh(),e.c),e.d.n);case 49:return new V8(e.a,t,vs(t.Dh(),e.c),e.d.n);case 9:return new hrt(e.a,t,vs(t.Dh(),e.c));case 11:return new lrt(e.a,t,vs(t.Dh(),e.c));case 13:return new Rye(e.a,t,vs(t.Dh(),e.c));case 15:return new sH(e.a,t,vs(t.Dh(),e.c));case 17:return new drt(e.a,t,vs(t.Dh(),e.c));case 19:return new q5(e.a,t,vs(t.Dh(),e.c));case 21:return new jye(e.a,t,vs(t.Dh(),e.c));case 23:return new VO(e.a,t,vs(t.Dh(),e.c));case 25:return new Ait(e.a,t,vs(t.Dh(),e.c),e.d.n);case 27:return new An(e.a,t,vs(t.Dh(),e.c),e.d.n);case 29:return new _it(e.a,t,vs(t.Dh(),e.c),e.d.n);case 31:return new Sit(e.a,t,vs(t.Dh(),e.c),e.d.n);case 33:return new S4e(e.a,t,vs(t.Dh(),e.c),e.d.n);case 35:return new C4e(e.a,t,vs(t.Dh(),e.c),e.d.n);case 37:return new Sae(e.a,t,vs(t.Dh(),e.c),e.d.n);case 39:return new kH(e.a,t,vs(t.Dh(),e.c),e.d.n);case 40:return new Ms(t,vs(t.Dh(),e.c));default:throw ue(new Ic("Unknown feature style: "+e.e))}}function Zwt(e){var t,n,r,s,o,f,g,w;for(o=0,s=e.a.b,w=Fr(e.a,0);w.b!=w.d.c;){if(g=l(Pr(w),240),f=(o+1)/(s+1),!e.c&&!e.d)return;e.c&&!e.d?(e.g=!0,e.b==(ea(),hc)?(r=e.c.e.b+e.c.f.b+e.e*(o+1),t=new lt(ze(Ge(Q(e.c,(Zi(),x0))))+e.e,r),n=new lt(ze(Ge(Q(e.c,o1)))-e.e,r)):e.b==yc?(r=e.c.e.b+e.c.f.b+e.e*(o+1),t=new lt(ze(Ge(Q(e.c,(Zi(),o1))))-e.e,r),n=new lt(ze(Ge(Q(e.c,x0)))+e.e,r)):e.b==vf?(r=e.c.e.a+e.c.f.a+e.e*(o+1),t=new lt(r,ze(Ge(Q(e.c,(Zi(),x0))))+e.e),n=new lt(r,ze(Ge(Q(e.c,o1)))-e.e)):(r=e.c.e.a+e.c.f.a+e.e*(o+1),t=new lt(r,ze(Ge(Q(e.c,(Zi(),o1))))-e.e),n=new lt(r,ze(Ge(Q(e.c,x0)))+e.e))):e.c&&e.d?e.b==(ea(),hc)?(r=e.d.e.b*f+(e.c.e.b+e.c.f.b)*(1-f),t=new lt(ze(Ge(Q(e.c,(Zi(),x0))))+e.e,r),n=new lt(ze(Ge(Q(e.c,o1)))-e.e,r)):e.b==yc?(r=e.d.e.b*f+(e.c.e.b+e.c.f.b)*(1-f),t=new lt(ze(Ge(Q(e.c,(Zi(),o1))))-e.e,r),n=new lt(ze(Ge(Q(e.c,x0)))+e.e,r)):e.b==vf?(r=e.d.e.a*f+(e.c.e.a+e.c.f.a)*(1-f),t=new lt(r,ze(Ge(Q(e.c,(Zi(),x0))))+e.e),n=new lt(r,ze(Ge(Q(e.c,o1)))-e.e)):(r=e.d.e.a*f+(e.c.e.a+e.c.f.a)*(1-f),t=new lt(r,ze(Ge(Q(e.c,(Zi(),o1))))-e.e),n=new lt(r,ze(Ge(Q(e.c,x0)))+e.e)):(e.f=!0,e.b==(ea(),hc)?(r=e.d.e.b-e.e*(o+1),t=new lt(ze(Ge(Q(e.d,(Zi(),x0))))+e.e,r),n=new lt(ze(Ge(Q(e.d,o1)))-e.e,r)):e.b==yc?(r=e.d.e.b-e.e*(o+1),t=new lt(ze(Ge(Q(e.d,(Zi(),o1))))-e.e,r),n=new lt(ze(Ge(Q(e.d,x0)))+e.e,r)):e.b==vf?(r=e.d.e.a-e.e*(o+1),t=new lt(r,ze(Ge(Q(e.d,(Zi(),x0))))+e.e),n=new lt(r,ze(Ge(Q(e.d,o1)))-e.e)):(r=e.d.e.a-e.e*(o+1),t=new lt(r,ze(Ge(Q(e.d,(Zi(),o1))))-e.e),n=new lt(r,ze(Ge(Q(e.d,x0)))+e.e))),l(g.a,8).a=t.a,l(g.a,8).b=t.b,g.b.a=n.a,g.b.b=n.b,++o}}function pOn(e,t,n,r,s,o){var f,g,w,T,C,L,F,z,V,J,te,fe;switch(t){case 71:g=r.q.getFullYear()-Rb>=-1900?1:0,n>=4?li(e,he(le($t,1),dt,2,6,[g3t,p3t])[g]):li(e,he(le($t,1),dt,2,6,["BC","AD"])[g]);break;case 121:I6n(e,n,r);break;case 77:Q_n(e,n,r);break;case 107:w=s.q.getHours(),w==0?ug(e,24,n):ug(e,w,n);break;case 83:lCn(e,n,s);break;case 69:C=r.q.getDay(),n==5?li(e,he(le($t,1),dt,2,6,["S","M","T","W","T","F","S"])[C]):n==4?li(e,he(le($t,1),dt,2,6,[hhe,fhe,dhe,ghe,phe,bhe,mhe])[C]):li(e,he(le($t,1),dt,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[C]);break;case 97:s.q.getHours()>=12&&s.q.getHours()<24?li(e,he(le($t,1),dt,2,6,["AM","PM"])[1]):li(e,he(le($t,1),dt,2,6,["AM","PM"])[0]);break;case 104:L=s.q.getHours()%12,L==0?ug(e,12,n):ug(e,L,n);break;case 75:F=s.q.getHours()%12,ug(e,F,n);break;case 72:z=s.q.getHours(),ug(e,z,n);break;case 99:V=r.q.getDay(),n==5?li(e,he(le($t,1),dt,2,6,["S","M","T","W","T","F","S"])[V]):n==4?li(e,he(le($t,1),dt,2,6,[hhe,fhe,dhe,ghe,phe,bhe,mhe])[V]):n==3?li(e,he(le($t,1),dt,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"])[V]):ug(e,V,1);break;case 76:J=r.q.getMonth(),n==5?li(e,he(le($t,1),dt,2,6,["J","F","M","A","M","J","J","A","S","O","N","D"])[J]):n==4?li(e,he(le($t,1),dt,2,6,[ehe,the,nhe,rhe,Ax,ihe,she,ahe,ohe,che,uhe,lhe])[J]):n==3?li(e,he(le($t,1),dt,2,6,["Jan","Feb","Mar","Apr",Ax,"Jun","Jul","Aug","Sep","Oct","Nov","Dec"])[J]):ug(e,J+1,n);break;case 81:te=r.q.getMonth()/3|0,n<4?li(e,he(le($t,1),dt,2,6,["Q1","Q2","Q3","Q4"])[te]):li(e,he(le($t,1),dt,2,6,["1st quarter","2nd quarter","3rd quarter","4th quarter"])[te]);break;case 100:fe=r.q.getDate(),ug(e,fe,n);break;case 109:T=s.q.getMinutes(),ug(e,T,n);break;case 115:f=s.q.getSeconds(),ug(e,f,n);break;case 122:n<4?li(e,o.c[0]):li(e,o.c[1]);break;case 118:li(e,o.b);break;case 90:n<3?li(e,rTn(o)):n==3?li(e,cTn(o)):li(e,uTn(o.a));break;default:return!1}return!0}function fTe(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr,ai;if(Mmt(t),w=l(Oe((!t.b&&(t.b=new An(Sr,t,4,7)),t.b),0),84),C=l(Oe((!t.c&&(t.c=new An(Sr,t,5,8)),t.c),0),84),g=vc(w),T=vc(C),f=(!t.a&&(t.a=new nt(cs,t,6,6)),t.a).i==0?null:l(Oe((!t.a&&(t.a=new nt(cs,t,6,6)),t.a),0),166),At=l(or(e.a,g),10),$n=l(or(e.a,T),10),ln=null,cr=null,De(w,193)&&(ot=l(or(e.a,w),305),De(ot,12)?ln=l(ot,12):De(ot,10)&&(At=l(ot,10),ln=l(Rt(At.j,0),12))),De(C,193)&&(Fn=l(or(e.a,C),305),De(Fn,12)?cr=l(Fn,12):De(Fn,10)&&($n=l(Fn,10),cr=l(Rt($n.j,0),12))),!At||!$n)throw ue(new O8("The source or the target of edge "+t+" 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(J=new Dw,mc(J,t),rt(J,(ft(),zi),t),rt(J,(Nt(),lc),null),z=l(Q(r,_u),21),At==$n&&z.Fc((Ho(),KL)),ln||(Je=(qo(),$u),cn=null,f&&F5(l(Q(At,Ds),101))&&(cn=new lt(f.j,f.k),yut(cn,nN(t)),Wut(cn,n),Iy(T,g)&&(Je=Fl,Pi(cn,At.n))),ln=Dvt(At,cn,Je,r)),cr||(Je=(qo(),Fl),ai=null,f&&F5(l(Q($n,Ds),101))&&(ai=new lt(f.b,f.c),yut(ai,nN(t)),Wut(ai,n)),cr=Dvt($n,ai,Je,Ja($n))),ho(J,ln),Na(J,cr),(ln.e.c.length>1||ln.g.c.length>1||cr.e.c.length>1||cr.g.c.length>1)&&z.Fc((Ho(),GL)),F=new ar((!t.n&&(t.n=new nt(nc,t,1,7)),t.n));F.e!=F.i.gc();)if(L=l(dr(F),135),!Ft(Pt(at(L,Cv)))&&L.a)switch(te=Kce(L),wt(J.b,te),l(Q(te,jd),278).g){case 1:case 2:z.Fc((Ho(),zE));break;case 0:z.Fc((Ho(),$E)),rt(te,jd,(F1(),iC))}if(o=l(Q(r,ZL),322),fe=l(Q(r,_W),323),s=o==(gA(),CB)||fe==(NA(),Ide),f&&(!f.a&&(f.a=new Qs(qh,f,5)),f.a).i!=0&&s){for(Ee=sP(f),V=new pl,$e=Fr(Ee,0);$e.b!=$e.d.c;)Me=l(Pr($e),8),ci(V,new xo(Me));rt(J,aMe,V)}return J}function bOn(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr,ai,ys;for(cn=0,Fn=0,At=new Nr,Je=l(uh(xy(gc(new vn(null,new kn(e.b,16)),new fne),new wne)),17).a+1,ln=We(Ur,fi,28,Je,15,1),te=We(Ur,fi,28,Je,15,1),J=0;J<Je;J++)ln[J]=0,te[J]=0;for(w=l(kc(c6e(new vn(null,new kn(e.a,16))),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)]))),15),C=w.Kc();C.Ob();)if(T=l(C.Pb(),65),cr=l(Q(T.b,(Vc(),$d)),17).a,ys=l(Q(T.c,$d),17).a,$e=ys-cr,$e>1)for(g=cr+1;g<ys;g++){if(L=g,ot=l(kc(ji(new vn(null,new kn(e.b,16)),new YXe(L)),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[Cc]))),15),V=0,t==(ea(),hc)||t==yc){for(ot.jd(new mne),V=0;V<ot.gc()&&(fe=(g-cr)/(ys-cr),!(l(ot.Xb(V),40).e.b>T.b.e.b*(1-fe)+T.c.e.b*fe));V++);if(ot.gc()>0&&(ai=T.a.b==0?Xa(T.b.e):l(a0(T.a),8),Me=Pi(Xa(l(ot.Xb(ot.gc()-1),40).e),l(ot.Xb(ot.gc()-1),40).f),F=Pi(Xa(l(ot.Xb(0),40).e),l(ot.Xb(0),40).f),V>=ot.gc()-1&&ai.b>Me.b&&T.c.e.b>Me.b||V<=0&&ai.b<F.a&&T.c.e.b<F.b))continue}else{for(ot.jd(new vne),V=0;V<ot.gc()&&(fe=(g-cr)/(ys-cr),!(l(ot.Xb(V),40).e.a>T.b.e.a*(1-fe)+T.c.e.a*fe));V++);if(ot.gc()>0&&(ai=T.a.b==0?Xa(T.b.e):l(a0(T.a),8),Me=Pi(Xa(l(ot.Xb(ot.gc()-1),40).e),l(ot.Xb(ot.gc()-1),40).f),F=Pi(Xa(l(ot.Xb(0),40).e),l(ot.Xb(0),40).f),V>=ot.gc()-1&&ai.a>Me.a&&T.c.e.a>Me.a||V<=0&&ai.a<F.a&&T.c.e.a<F.a))continue}s=new za,o=new za,ci(T.a,s),ci(T.a,o),f=new Oae(s,o,T),Ee=X0(u0(g,32),xa(V,Uo)),Hu(At,lp(Ee))?(z=l(or(At,lp(Ee)),675),ci(z.a,f),Yg(z.b)?Wm(z.a,new Cne):Wm(z.a,new Sne),Zwt(z)):(z=new dgt(V==0?null:l(ot.Xb(V-1),40),V==ot.gc()?null:l(ot.Xb(V),40),f,e),Ti(At,lp(Ee),z)),t==hc||t==yc?(z.f&&z.d.e.b<=ze(Ge(Q(e,(Zi(),Qde))))&&++cn,z.g&&z.c.e.b+z.c.f.b>=ze(Ge(Q(e,(Zi(),kIe))))&&++Fn):(z.f&&z.d.e.a<=ze(Ge(Q(e,(Zi(),Xde))))&&++cn,z.g&&z.c.e.a+z.c.f.a>=ze(Ge(Q(e,(Zi(),xIe))))&&++Fn)}else $e==0?N9e(T):$e<0&&(++ln[cr],++te[ys],$n=hOn(T,t,e,new fa(bt(cn),bt(Fn)),n,r,new fa(bt(te[ys]),bt(ln[cr]))),cn=l($n.a,17).a,Fn=l($n.b,17).a)}function mOn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee;if(r=t,w=n,e.b&&r.j==(_t(),Zn)&&w.j==(_t(),Zn)&&(Ee=r,r=w,w=Ee),Hu(e.a,r)){if(K0(l(or(e.a,r),49),w))return 1}else Ti(e.a,r,new Ys);if(Hu(e.a,w)){if(K0(l(or(e.a,w),49),r))return-1}else Ti(e.a,w,new Ys);if(Hu(e.d,r)){if(K0(l(or(e.d,r),49),w))return-1}else Ti(e.d,r,new Ys);if(Hu(e.d,w)){if(K0(l(or(e.a,w),49),r))return 1}else Ti(e.d,w,new Ys);if(r.j!=w.j)return fe=shn(r.j,w.j),fe==-1?ff(e,w,r):ff(e,r,w),fe;if(r.e.c.length!=0&&w.e.c.length!=0){if(e.b&&(fe=p1t(r,w),fe!=0))return fe==-1?ff(e,w,r):fe==1&&ff(e,r,w),fe;if(o=l(Rt(r.e,0),18).c.i,C=l(Rt(w.e,0),18).c.i,o==C)return s=l(Q(l(Rt(r.e,0),18),(ft(),Yi)),17).a,T=l(Q(l(Rt(w.e,0),18),Yi),17).a,s>T?ff(e,r,w):ff(e,w,r),s<T?-1:s>T?1:0;for(V=e.c,J=0,te=V.length;J<te;++J){if(z=V[J],z==o)return ff(e,r,w),1;if(z==C)return ff(e,w,r),-1}}return r.g.c.length!=0&&w.g.c.length!=0?(g=l(Q(r,(ft(),sde)),10),F=l(Q(w,sde),10),e.e==(Td(),Pde)&&g&&F&&rs(g,Yi)&&rs(F,Yi)?(s=l(Q(g,Yi),17).a,T=l(Q(F,Yi),17).a,s>T?ff(e,r,w):ff(e,w,r),s<T?-1:s>T?1:0):e.b&&(fe=p1t(r,w),fe!=0)?(fe==-1?ff(e,w,r):fe==1&&ff(e,r,w),fe):(f=0,L=0,rs(l(Rt(r.g,0),18),Yi)&&(f=l(Q(l(Rt(r.g,0),18),Yi),17).a),rs(l(Rt(w.g,0),18),Yi)&&(L=l(Q(l(Rt(r.g,0),18),Yi),17).a),g&&g==F?Ft(Pt(Q(l(Rt(r.g,0),18),W1)))&&!Ft(Pt(Q(l(Rt(w.g,0),18),W1)))?(ff(e,r,w),1):!Ft(Pt(Q(l(Rt(r.g,0),18),W1)))&&Ft(Pt(Q(l(Rt(w.g,0),18),W1)))?(ff(e,w,r),-1):(f>L?ff(e,r,w):ff(e,w,r),f<L?-1:f>L?1:0):(e.f&&(e.f._b(g)&&(f=l(e.f.xc(g),17).a),e.f._b(F)&&(L=l(e.f.xc(F),17).a)),f>L?ff(e,r,w):ff(e,w,r),f<L?-1:f>L?1:0))):r.e.c.length!=0&&w.g.c.length!=0?(ff(e,r,w),1):r.g.c.length!=0&&w.e.c.length!=0?(ff(e,w,r),-1):rs(r,(ft(),Yi))&&rs(w,Yi)?(s=l(Q(r,Yi),17).a,T=l(Q(w,Yi),17).a,s>T?ff(e,r,w):ff(e,w,r),s<T?-1:s>T?1:0):(ff(e,w,r),-1)}function vOn(e){e.gb||(e.gb=!0,e.b=Uc(e,0),As(e.b,18),ss(e.b,19),e.a=Uc(e,1),As(e.a,1),ss(e.a,2),ss(e.a,3),ss(e.a,4),ss(e.a,5),e.o=Uc(e,2),As(e.o,8),As(e.o,9),ss(e.o,10),ss(e.o,11),ss(e.o,12),ss(e.o,13),ss(e.o,14),ss(e.o,15),ss(e.o,16),ss(e.o,17),ss(e.o,18),ss(e.o,19),ss(e.o,20),ss(e.o,21),ss(e.o,22),ss(e.o,23),oc(e.o),oc(e.o),oc(e.o),oc(e.o),oc(e.o),oc(e.o),oc(e.o),oc(e.o),oc(e.o),oc(e.o),e.p=Uc(e,3),As(e.p,2),As(e.p,3),As(e.p,4),As(e.p,5),ss(e.p,6),ss(e.p,7),oc(e.p),oc(e.p),e.q=Uc(e,4),As(e.q,8),e.v=Uc(e,5),ss(e.v,9),oc(e.v),oc(e.v),oc(e.v),e.w=Uc(e,6),As(e.w,2),As(e.w,3),As(e.w,4),ss(e.w,5),e.B=Uc(e,7),ss(e.B,1),oc(e.B),oc(e.B),oc(e.B),e.Q=Uc(e,8),ss(e.Q,0),oc(e.Q),e.R=Uc(e,9),As(e.R,1),e.S=Uc(e,10),oc(e.S),oc(e.S),oc(e.S),oc(e.S),oc(e.S),oc(e.S),oc(e.S),oc(e.S),oc(e.S),oc(e.S),oc(e.S),oc(e.S),oc(e.S),oc(e.S),oc(e.S),e.T=Uc(e,11),ss(e.T,10),ss(e.T,11),ss(e.T,12),ss(e.T,13),ss(e.T,14),oc(e.T),oc(e.T),e.U=Uc(e,12),As(e.U,2),As(e.U,3),ss(e.U,4),ss(e.U,5),ss(e.U,6),ss(e.U,7),oc(e.U),e.V=Uc(e,13),ss(e.V,10),e.W=Uc(e,14),As(e.W,18),As(e.W,19),As(e.W,20),ss(e.W,21),ss(e.W,22),ss(e.W,23),e.bb=Uc(e,15),As(e.bb,10),As(e.bb,11),As(e.bb,12),As(e.bb,13),As(e.bb,14),As(e.bb,15),As(e.bb,16),ss(e.bb,17),oc(e.bb),oc(e.bb),e.eb=Uc(e,16),As(e.eb,2),As(e.eb,3),As(e.eb,4),As(e.eb,5),As(e.eb,6),As(e.eb,7),ss(e.eb,8),ss(e.eb,9),e.ab=Uc(e,17),As(e.ab,0),As(e.ab,1),e.H=Uc(e,18),ss(e.H,0),ss(e.H,1),ss(e.H,2),ss(e.H,3),ss(e.H,4),ss(e.H,5),oc(e.H),e.db=Uc(e,19),ss(e.db,2),e.c=Ci(e,20),e.d=Ci(e,21),e.e=Ci(e,22),e.f=Ci(e,23),e.i=Ci(e,24),e.g=Ci(e,25),e.j=Ci(e,26),e.k=Ci(e,27),e.n=Ci(e,28),e.r=Ci(e,29),e.s=Ci(e,30),e.t=Ci(e,31),e.u=Ci(e,32),e.fb=Ci(e,33),e.A=Ci(e,34),e.C=Ci(e,35),e.D=Ci(e,36),e.F=Ci(e,37),e.G=Ci(e,38),e.I=Ci(e,39),e.J=Ci(e,40),e.L=Ci(e,41),e.M=Ci(e,42),e.N=Ci(e,43),e.O=Ci(e,44),e.P=Ci(e,45),e.X=Ci(e,46),e.Y=Ci(e,47),e.Z=Ci(e,48),e.$=Ci(e,49),e._=Ci(e,50),e.cb=Ci(e,51),e.K=Ci(e,52))}function wOn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr;for(f=new os,ot=l(Q(n,(Nt(),Rh)),88),J=0,Ga(f,(!t.a&&(t.a=new nt(Li,t,10,11)),t.a));f.b!=0;)C=l(f.b==0?null:(br(f.b!=0),sf(f,f.a.a)),27),T=ds(C),(qe(at(T,Tg))!==qe((Td(),I2))||qe(at(T,xv))===qe((w2(),RE))||qe(at(T,xv))===qe((w2(),FE))||Ft(Pt(at(T,w3)))||qe(at(T,m4))!==qe((tv(),h4))||qe(at(T,Xb))===qe((Nf(),C3))||qe(at(T,Xb))===qe((Nf(),E4))||qe(at(T,Tv))===qe((E2(),XE))||qe(at(T,Tv))===qe((E2(),QE)))&&!Ft(Pt(at(C,wW)))&&Vi(C,(ft(),Yi),bt(J++)),fe=!Ft(Pt(at(C,Cv))),fe&&(F=(!C.a&&(C.a=new nt(Li,C,10,11)),C.a).i!=0,V=Wxn(C),z=qe(at(C,v4))===qe((op(),F2)),cr=!P1(C,(bi(),nC))||nlt(Zr(at(C,nC))),$e=null,cr&&z&&(F||V)&&($e=hvt(C),rt($e,Rh,ot),rs($e,OB)&&lZe(new Y8e(ze(Ge(Q($e,OB)))),$e),l(at(C,Ev),181).gc()!=0&&(L=$e,Os(new vn(null,(!C.c&&(C.c=new nt($l,C,9,9)),new kn(C.c,16))),new mYe(L)),rmt(C,$e))),At=n,ln=l(or(e.a,ds(C)),10),ln&&(At=ln.e),Me=Rwt(e,C,At),$e&&(Me.e=$e,$e.e=Me,Ga(f,(!C.a&&(C.a=new nt(Li,C,10,11)),C.a))));for(J=0,_s(f,t,f.c.b,f.c);f.b!=0;){for(o=l(f.b==0?null:(br(f.b!=0),sf(f,f.a.a)),27),w=new ar((!o.b&&(o.b=new nt(js,o,12,3)),o.b));w.e!=w.i.gc();)g=l(dr(w),74),Mmt(g),(qe(at(t,Tg))!==qe((Td(),I2))||qe(at(t,xv))===qe((w2(),RE))||qe(at(t,xv))===qe((w2(),FE))||Ft(Pt(at(t,w3)))||qe(at(t,m4))!==qe((tv(),h4))||qe(at(t,Xb))===qe((Nf(),C3))||qe(at(t,Xb))===qe((Nf(),E4))||qe(at(t,Tv))===qe((E2(),XE))||qe(at(t,Tv))===qe((E2(),QE)))&&Vi(g,(ft(),Yi),bt(J++)),Fn=vc(l(Oe((!g.b&&(g.b=new An(Sr,g,4,7)),g.b),0),84)),$n=vc(l(Oe((!g.c&&(g.c=new An(Sr,g,5,8)),g.c),0),84)),!(Ft(Pt(at(g,Cv)))||Ft(Pt(at(Fn,Cv)))||Ft(Pt(at($n,Cv))))&&(te=Yw(g)&&Ft(Pt(at(Fn,w4)))&&Ft(Pt(at(g,kv))),Je=o,te||Iy($n,Fn)?Je=Fn:Iy(Fn,$n)&&(Je=$n),At=n,ln=l(or(e.a,Je),10),ln&&(At=ln.e),Ee=fTe(e,g,Je,At),rt(Ee,(ft(),nMe),wSn(e,g,t,n)));if(z=qe(at(o,v4))===qe((op(),F2)),z)for(s=new ar((!o.a&&(o.a=new nt(Li,o,10,11)),o.a));s.e!=s.i.gc();)r=l(dr(s),27),cr=!P1(r,(bi(),nC))||nlt(Zr(at(r,nC))),cn=qe(at(r,v4))===qe(F2),cr&&cn&&_s(f,r,f.c.b,f.c)}}function ft(){ft=U;var e,t;zi=new Ki(JTe),nMe=new Ki("coordinateOrigin"),ode=new Ki("processors"),tMe=new ws("compoundNode",(Hn(),!1)),LB=new ws("insideConnections",!1),aMe=new Ki("originalBendpoints"),oMe=new Ki("originalDummyNodePosition"),cMe=new Ki("originalLabelEdge"),YL=new Ki("representedLabels"),WL=new Ki("endLabels"),Wx=new Ki("endLabel.origin"),Xx=new ws("labelSide",(Ih(),cF)),$6=new ws("maxEdgeThickness",0),W1=new ws("reversed",!1),Qx=new Ki(tyt),a1=new ws("longEdgeSource",null),$f=new ws("longEdgeTarget",null),p4=new ws("longEdgeHasLabelDummies",!1),MB=new ws("longEdgeBeforeLabelDummy",!1),fW=new ws("edgeConstraint",(Jm(),U1e)),b3=new Ki("inLayerLayoutUnit"),wv=new ws("inLayerConstraint",(ip(),_B)),Yx=new ws("inLayerSuccessorConstraint",new mt),sMe=new ws("inLayerSuccessorConstraintBetweenNonDummies",!1),Bl=new Ki("portDummy"),hW=new ws("crossingHint",bt(0)),_u=new ws("graphProperties",(t=l(G0(Q1e),9),new Jh(t,l(o0(t,t.length),9),0))),Xc=new ws("externalPortSide",(_t(),jc)),iMe=new ws("externalPortSize",new za),nde=new Ki("externalPortReplacedDummies"),dW=new Ki("externalPortReplacedDummy"),wp=new ws("externalPortConnections",(e=l(G0(Mo),9),new Jh(e,l(o0(e,e.length),9),0))),m3=new ws(G3t,0),eMe=new Ki("barycenterAssociates"),Jx=new Ki("TopSideComments"),Kx=new Ki("BottomSideComments"),lW=new Ki("CommentConnectionPort"),ide=new ws("inputCollect",!1),ade=new ws("outputCollect",!1),AB=new ws("cyclic",!1),rMe=new Ki("crossHierarchyMap"),ude=new Ki("targetOffset"),new ws("splineLabelSize",new za),q6=new Ki("spacings"),gW=new ws("partitionConstraint",!1),p3=new Ki("breakingPoint.info"),hMe=new Ki("splines.survivingEdge"),yv=new Ki("splines.route.start"),H6=new Ki("splines.edgeChain"),lMe=new Ki("originalPortConstraints"),v3=new Ki("selfLoopHolder"),HE=new Ki("splines.nsPortY"),Yi=new Ki("modelOrder"),sde=new Ki("longEdgeTargetNode"),Wb=new ws(_yt,!1),z6=new ws(_yt,!1),rde=new Ki("layerConstraints.hiddenNodes"),uMe=new Ki("layerConstraints.opposidePort"),cde=new Ki("targetNode.modelOrder")}function yOn(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V;for(L=Fr(e.b,0);L.b!=L.d.c;)if(C=l(Pr(L),40),!wn(C.c,RG))for(o=l(kc(new vn(null,new kn(LTn(C,e),16)),Il(new qr,new ht,new On,he(le(uc,1),it,108,0,[(Nl(),Cc)]))),15),t==(ea(),hc)||t==yc?o.jd(new bne):o.jd(new g$),V=o.gc(),s=0;s<V;s++)f=V==1?.5:(1+s)/(V+1),t==hc?(T=ze(Ge(Q(C,(Zi(),x0)))),C.e.a+C.f.a+r<T?yo(l(o.Xb(s),65).a,new lt(T+n,C.e.b+C.f.b*f)):l(o.Xb(s),65).a.b>0&&(g=l(a0(l(o.Xb(s),65).a),8).a,F=C.e.a+C.f.a/2,w=l(a0(l(o.Xb(s),65).a),8).b,z=C.e.b+C.f.b/2,r>0&&b.Math.abs(w-z)/(b.Math.abs(g-F)/40)>50&&(z>w?yo(l(o.Xb(s),65).a,new lt(C.e.a+C.f.a+r/5.3,C.e.b+C.f.b*f-r/2)):yo(l(o.Xb(s),65).a,new lt(C.e.a+C.f.a+r/5.3,C.e.b+C.f.b*f+r/2)))),yo(l(o.Xb(s),65).a,new lt(C.e.a+C.f.a,C.e.b+C.f.b*f))):t==yc?(T=ze(Ge(Q(C,(Zi(),o1)))),C.e.a-r>T?yo(l(o.Xb(s),65).a,new lt(T-n,C.e.b+C.f.b*f)):l(o.Xb(s),65).a.b>0&&(g=l(a0(l(o.Xb(s),65).a),8).a,F=C.e.a+C.f.a/2,w=l(a0(l(o.Xb(s),65).a),8).b,z=C.e.b+C.f.b/2,r>0&&b.Math.abs(w-z)/(b.Math.abs(g-F)/40)>50&&(z>w?yo(l(o.Xb(s),65).a,new lt(C.e.a-r/5.3,C.e.b+C.f.b*f-r/2)):yo(l(o.Xb(s),65).a,new lt(C.e.a-r/5.3,C.e.b+C.f.b*f+r/2)))),yo(l(o.Xb(s),65).a,new lt(C.e.a,C.e.b+C.f.b*f))):t==vf?(T=ze(Ge(Q(C,(Zi(),x0)))),C.e.b+C.f.b+r<T?yo(l(o.Xb(s),65).a,new lt(C.e.a+C.f.a*f,T+n)):l(o.Xb(s),65).a.b>0&&(g=l(a0(l(o.Xb(s),65).a),8).a,F=C.e.a+C.f.a/2,w=l(a0(l(o.Xb(s),65).a),8).b,z=C.e.b+C.f.b/2,r>0&&b.Math.abs(g-F)/(b.Math.abs(w-z)/40)>50&&(F>g?yo(l(o.Xb(s),65).a,new lt(C.e.a+C.f.a*f-r/2,C.e.b+r/5.3+C.f.b)):yo(l(o.Xb(s),65).a,new lt(C.e.a+C.f.a*f+r/2,C.e.b+r/5.3+C.f.b)))),yo(l(o.Xb(s),65).a,new lt(C.e.a+C.f.a*f,C.e.b+C.f.b))):(T=ze(Ge(Q(C,(Zi(),o1)))),t1t(l(o.Xb(s),65),e)?yo(l(o.Xb(s),65).a,new lt(C.e.a+C.f.a*f,l(a0(l(o.Xb(s),65).a),8).b)):C.e.b-r>T?yo(l(o.Xb(s),65).a,new lt(C.e.a+C.f.a*f,T-n)):l(o.Xb(s),65).a.b>0&&(g=l(a0(l(o.Xb(s),65).a),8).a,F=C.e.a+C.f.a/2,w=l(a0(l(o.Xb(s),65).a),8).b,z=C.e.b+C.f.b/2,r>0&&b.Math.abs(g-F)/(b.Math.abs(w-z)/40)>50&&(F>g?yo(l(o.Xb(s),65).a,new lt(C.e.a+C.f.a*f-r/2,C.e.b-r/5.3)):yo(l(o.Xb(s),65).a,new lt(C.e.a+C.f.a*f+r/2,C.e.b-r/5.3)))),yo(l(o.Xb(s),65).a,new lt(C.e.a+C.f.a*f,C.e.b)))}function bi(){bi=U;var e,t;nC=new Ki(f4t),c7=new Ki(d4t),vNe=(lg(),$ge),i_t=new mn(aCe,vNe),t7=new mn(Nx,null),s_t=new Ki(wSe),yNe=(rv(),is(Hge,he(le(Uge,1),it,298,0,[qge]))),ZB=new mn(OG,yNe),eF=new mn(JP,(Hn(),!1)),xNe=(ea(),J1),Lv=new mn(Afe,xNe),ENe=(cp(),rpe),TNe=new mn(QP,ENe),c_t=new mn(mSe,!1),_Ne=(op(),gY),i7=new mn(IG,_Ne),BNe=new mw(12),B2=new mn(r3,BNe),nF=new mn(fL,!1),Wge=new mn(PG,!1),rF=new mn(dL,!1),zNe=(Pa(),rm),AM=new mn(Whe,zNe),r9=new Ki(NG),iF=new Ki(qP),tpe=new Ki(gG),npe=new Ki(hL),ANe=new pl,A3=new mn(mCe,ANe),o_t=new mn(yCe,!1),u_t=new mn(xCe,!1),LNe=new a_,rC=new mn(TCe,LNe),lY=new mn(iCe,!1),d_t=new mn(g4t,1),r7=new Ki(p4t),n7=new Ki(b4t),LM=new mn(HP,!1),new mn(m4t,!0),bt(0),new mn(v4t,bt(100)),new mn(w4t,!1),bt(0),new mn(y4t,bt(4e3)),bt(0),new mn(x4t,bt(400)),new mn(k4t,!1),new mn(T4t,!1),new mn(E4t,!0),new mn(C4t,!1),wNe=(QU(),ope),a_t=new mn(vSe,wNe),g_t=new mn(KEe,10),p_t=new mn(WEe,10),VNe=new mn(zhe,20),b_t=new mn(YEe,10),GNe=new mn(Khe,2),KNe=new mn(_fe,10),WNe=new mn(XEe,0),hY=new mn(ZEe,5),YNe=new mn(QEe,1),XNe=new mn(JEe,1),Dv=new mn(t4,20),m_t=new mn(eCe,10),ZNe=new mn(tCe,10),i9=new Ki(nCe),JNe=new Int,QNe=new mn(ECe,JNe),h_t=new Ki(Mfe),FNe=!1,l_t=new mn(Lfe,FNe),DNe=new mw(5),MNe=new mn(uCe,DNe),INe=(Vy(),t=l(G0(Ko),9),new Jh(t,l(o0(t,t.length),9),0)),s7=new mn(gE,INe),jNe=(r6(),nm),RNe=new mn(fCe,jNe),Xge=new Ki(dCe),Qge=new Ki(gCe),Jge=new Ki(pCe),Yge=new Ki(bCe),ONe=(e=l(G0(FM),9),new Jh(e,l(o0(e,e.length),9),0)),Mv=new mn(T6,ONe),PNe=hn((Xl(),cC)),em=new mn(Px,PNe),NNe=new lt(0,0),a7=new mn(Bx,NNe),A4=new mn(dE,!1),kNe=(F1(),iC),Gge=new mn(vCe,kNe),Vge=new mn(pG,!1),bt(1),new mn(S4t,null),$Ne=new Ki(kCe),Zge=new Ki(wCe),UNe=(_t(),jc),o7=new mn(sCe,UNe),eh=new Ki(rCe),qNe=(Pl(),hn(im)),L4=new mn(pE,qNe),epe=new mn(lCe,!1),HNe=new mn(hCe,!0),dY=new mn(UP,1),ePe=new mn(ySe,null),sF=new mn(VP,150),fY=new mn(GP,1.414),s9=new mn(i3,null),v_t=new mn(xSe,1),tF=new mn(oCe,!1),Kge=new mn(cCe,!1),CNe=new mn(qhe,1),SNe=(CV(),spe),new mn(_4t,SNe),f_t=!0,y_t=(gx(),I4),x_t=I4,w_t=I4}function po(){po=U,ZAe=new Xs("DIRECTION_PREPROCESSOR",0),XAe=new Xs("COMMENT_PREPROCESSOR",1),O6=new Xs("EDGE_AND_LAYER_CONSTRAINT_EDGE_REVERSER",2),S1e=new Xs("INTERACTIVE_EXTERNAL_PORT_POSITIONER",3),vLe=new Xs("PARTITION_PREPROCESSOR",4),RK=new Xs("LABEL_DUMMY_INSERTER",5),WK=new Xs("SELF_LOOP_PREPROCESSOR",6),d4=new Xs("LAYER_CONSTRAINT_PREPROCESSOR",7),bLe=new Xs("PARTITION_MIDPROCESSOR",8),oLe=new Xs("HIGH_DEGREE_NODE_LAYER_PROCESSOR",9),gLe=new Xs("NODE_PROMOTION",10),f4=new Xs("LAYER_CONSTRAINT_POSTPROCESSOR",11),mLe=new Xs("PARTITION_POSTPROCESSOR",12),iLe=new Xs("HIERARCHICAL_PORT_CONSTRAINT_PROCESSOR",13),wLe=new Xs("SEMI_INTERACTIVE_CROSSMIN_PROCESSOR",14),UAe=new Xs("BREAKING_POINT_INSERTER",15),qK=new Xs("LONG_EDGE_SPLITTER",16),_1e=new Xs("PORT_SIDE_PROCESSOR",17),BK=new Xs("INVERTED_PORT_PROCESSOR",18),VK=new Xs("PORT_LIST_SORTER",19),xLe=new Xs("SORT_BY_INPUT_ORDER_OF_MODEL",20),UK=new Xs("NORTH_SOUTH_PORT_PREPROCESSOR",21),VAe=new Xs("BREAKING_POINT_PROCESSOR",22),pLe=new Xs(wyt,23),kLe=new Xs(yyt,24),GK=new Xs("SELF_LOOP_PORT_RESTORER",25),yLe=new Xs("SINGLE_EDGE_GRAPH_WRAPPER",26),FK=new Xs("IN_LAYER_CONSTRAINT_PROCESSOR",27),tLe=new Xs("END_NODE_PORT_LABEL_MANAGEMENT_PROCESSOR",28),fLe=new Xs("LABEL_AND_NODE_SIZE_PROCESSOR",29),hLe=new Xs("INNERMOST_NODE_MARGIN_CALCULATOR",30),YK=new Xs("SELF_LOOP_ROUTER",31),WAe=new Xs("COMMENT_NODE_MARGIN_CALCULATOR",32),PK=new Xs("END_LABEL_PREPROCESSOR",33),$K=new Xs("LABEL_DUMMY_SWITCHER",34),KAe=new Xs("CENTER_LABEL_MANAGEMENT_PROCESSOR",35),DE=new Xs("LABEL_SIDE_SELECTOR",36),uLe=new Xs("HYPEREDGE_DUMMY_MERGER",37),sLe=new Xs("HIERARCHICAL_PORT_DUMMY_SIZE_PROCESSOR",38),dLe=new Xs("LAYER_SIZE_AND_GRAPH_HEIGHT_CALCULATOR",39),qL=new Xs("HIERARCHICAL_PORT_POSITION_PROCESSOR",40),QAe=new Xs("CONSTRAINTS_POSTPROCESSOR",41),YAe=new Xs("COMMENT_POSTPROCESSOR",42),lLe=new Xs("HYPERNODE_PROCESSOR",43),aLe=new Xs("HIERARCHICAL_PORT_ORTHOGONAL_EDGE_ROUTER",44),zK=new Xs("LONG_EDGE_JOINER",45),KK=new Xs("SELF_LOOP_POSTPROCESSOR",46),GAe=new Xs("BREAKING_POINT_REMOVER",47),HK=new Xs("NORTH_SOUTH_PORT_POSTPROCESSOR",48),cLe=new Xs("HORIZONTAL_COMPACTOR",49),jK=new Xs("LABEL_DUMMY_REMOVER",50),nLe=new Xs("FINAL_SPLINE_BENDPOINTS_CALCULATOR",51),eLe=new Xs("END_LABEL_SORTER",52),kB=new Xs("REVERSED_EDGE_RESTORER",53),NK=new Xs("END_LABEL_POSTPROCESSOR",54),rLe=new Xs("HIERARCHICAL_NODE_RESIZER",55),JAe=new Xs("DIRECTION_POSTPROCESSOR",56)}function dTe(){dTe=U,kMe=(TN(),rW),O9t=new mn(cEe,kMe),V9t=new mn(uEe,(Hn(),!1)),AMe=(WH(),tde),X9t=new mn(wG,AMe),hkt=new mn(lEe,!1),fkt=new mn(hEe,!0),s9t=new mn(fEe,!1),BMe=(xN(),Bde),_kt=new mn(dEe,BMe),bt(1),Pkt=new mn(gEe,bt(7)),Bkt=new mn(pEe,!1),G9t=new mn(bEe,!1),xMe=(w2(),q1e),I9t=new mn(tfe,xMe),DMe=(E2(),Ade),lkt=new mn(XP,DMe),LMe=(lf(),DB),nkt=new mn(mEe,LMe),bt(-1),tkt=new mn(vEe,null),bt(-1),rkt=new mn(wEe,bt(-1)),bt(-1),ikt=new mn(nfe,bt(4)),bt(-1),akt=new mn(rfe,bt(2)),MMe=(Nf(),PW),ukt=new mn(ife,MMe),bt(0),ckt=new mn(sfe,bt(0)),Z9t=new mn(afe,bt(Ni)),yMe=(gA(),UL),D9t=new mn(bL,yMe),b9t=new mn(yEe,!1),T9t=new mn(ofe,.1),L9t=new mn(cfe,!1),C9t=new mn(xEe,null),S9t=new mn(kEe,null),bt(-1),_9t=new mn(TEe,null),bt(-1),A9t=new mn(EEe,bt(-1)),bt(0),m9t=new mn(CEe,bt(40)),wMe=(yT(),Z1e),x9t=new mn(ufe,wMe),vMe=SB,v9t=new mn(yG,vMe),PMe=(NA(),iM),Skt=new mn(E6,PMe),mkt=new Ki(xG),IMe=(bN(),sW),dkt=new mn(lfe,IMe),OMe=(nP(),aW),pkt=new mn(hfe,OMe),ykt=new mn(ffe,.3),kkt=new Ki(dfe),NMe=(jy(),NW),Tkt=new mn(gfe,NMe),CMe=(BU(),Rde),R9t=new mn(SEe,CMe),SMe=(xA(),$de),j9t=new mn(_Ee,SMe),_Me=(AT(),oM),$9t=new mn(kG,_Me),q9t=new mn(TG,.2),B9t=new mn(pfe,2),Dkt=new mn(AEe,null),Okt=new mn(LEe,10),Ikt=new mn(MEe,10),Nkt=new mn(DEe,20),bt(0),Akt=new mn(IEe,bt(0)),bt(0),Lkt=new mn(OEe,bt(0)),bt(0),Mkt=new mn(NEe,bt(0)),a9t=new mn(bfe,!1),gMe=(HT(),VL),c9t=new mn(PEe,gMe),dMe=(sU(),$1e),o9t=new mn(BEe,dMe),W9t=new mn(EG,!1),bt(0),K9t=new mn(mfe,bt(16)),bt(0),Y9t=new mn(vfe,bt(5)),jMe=($U(),Hde),nTt=new mn(bp,jMe),Fkt=new mn(CG,10),$kt=new mn(SG,1),RMe=(kU(),nW),Kkt=new mn(mL,RMe),Hkt=new Ki(wfe),FMe=bt(1),bt(0),Vkt=new mn(yfe,FMe),$Me=(xU(),qde),aTt=new mn(_G,$Me),rTt=new Ki(AG),Jkt=new mn(LG,!0),Xkt=new mn(MG,2),eTt=new mn(xfe,!0),EMe=(_V(),iW),P9t=new mn(FEe,EMe),TMe=(xx(),PE),N9t=new mn(REe,TMe),mMe=(Td(),I2),p9t=new mn(DG,mMe),g9t=new mn(jEe,!1),d9t=new mn($Ee,!1),pMe=(tv(),h4),u9t=new mn(kfe,pMe),bMe=(EA(),Lde),f9t=new mn(zEe,bMe),l9t=new mn(Tfe,0),h9t=new mn(Efe,0),J9t=H1e,Q9t=CB,skt=IW,okt=IW,ekt=_de,E9t=(op(),F2),M9t=UL,k9t=UL,w9t=UL,y9t=F2,vkt=sM,wkt=iM,gkt=iM,bkt=iM,xkt=Ode,Ckt=sM,Ekt=sM,z9t=(cp(),a9),H9t=a9,U9t=oM,F9t=aF,Rkt=JE,jkt=C4,zkt=JE,qkt=C4,Wkt=JE,Ykt=C4,Ukt=z1e,Gkt=nW,oTt=JE,cTt=C4,iTt=JE,sTt=C4,Zkt=C4,Qkt=C4,tTt=C4}function xOn(e,t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr,ai,ys,zl,fc,Hh,g7,U2,A0,L0,Pv,f9,fm,d9,qd,Mg,O3,g9,p7,Hd,Bv,Ep,cLt,TBe,N3,XM,Epe,p9,QM,$4,JM,Cpe,uLt;for(TBe=0,ai=t,fc=0,U2=ai.length;fc<U2;++fc)for($n=ai[fc],Mg=new K($n.j);Mg.a<Mg.c.c.length;){for(qd=l(re(Mg),12),g9=0,g=new K(qd.g);g.a<g.c.c.length;)f=l(re(g),18),$n.c!=f.d.i.c&&++g9;g9>0&&(e.a[qd.p]=TBe++)}for(QM=0,ys=n,Hh=0,A0=ys.length;Hh<A0;++Hh){for($n=ys[Hh],L0=0,Mg=new K($n.j);Mg.a<Mg.c.c.length&&(qd=l(re(Mg),12),qd.j==(_t(),Xn));)for(g=new K(qd.e);g.a<g.c.c.length;)if(f=l(re(g),18),$n.c!=f.c.i.c){++L0;break}for(f9=0,p7=new Ua($n.j,$n.j.c.length);p7.b>0;){for(qd=(br(p7.b>0),l(p7.a.Xb(p7.c=--p7.b),12)),g9=0,g=new K(qd.e);g.a<g.c.c.length;)f=l(re(g),18),$n.c!=f.c.i.c&&++g9;g9>0&&(qd.j==(_t(),Xn)?(e.a[qd.p]=QM,++QM):(e.a[qd.p]=QM+L0+f9,++f9))}QM+=f9}for(O3=new Nr,V=new bd,cr=t,zl=0,g7=cr.length;zl<g7;++zl)for($n=cr[zl],Epe=new K($n.j);Epe.a<Epe.c.c.length;)for(XM=l(re(Epe),12),g=new K(XM.g);g.a<g.c.c.length;)if(f=l(re(g),18),JM=f.d,$n.c!=JM.i.c)if(N3=l(dc(zo(O3.f,XM)),478),$4=l(dc(zo(O3.f,JM)),478),!N3&&!$4)z=new xit,V.a.zc(z,V),wt(z.a,f),wt(z.d,XM),Ru(O3.f,XM,z),wt(z.d,JM),Ru(O3.f,JM,z);else if(!N3)wt($4.a,f),wt($4.d,XM),Ru(O3.f,XM,$4);else if(!$4)wt(N3.a,f),wt(N3.d,JM),Ru(O3.f,JM,N3);else if(N3==$4)wt(N3.a,f);else{for(wt(N3.a,f),d9=new K($4.d);d9.a<d9.c.c.length;)fm=l(re(d9),12),Ru(O3.f,fm,N3);aa(N3.a,$4.a),aa(N3.d,$4.d),V.a.Bc($4)!=null}for(J=l(BA(V,We(VOn,{3:1,4:1,5:1,2045:1},478,V.a.gc(),0,1)),2045),Fn=t[0].c,cLt=n[0].c,C=J,L=0,F=C.length;L<F;++L)for(T=C[L],T.e=TBe,T.f=QM,Mg=new K(T.d);Mg.a<Mg.c.c.length;)qd=l(re(Mg),12),Hd=e.a[qd.p],qd.i.c==Fn?(Hd<T.e&&(T.e=Hd),Hd>T.b&&(T.b=Hd)):qd.i.c==cLt&&(Hd<T.f&&(T.f=Hd),Hd>T.c&&(T.c=Hd));for(iT(J,0,J.length,null),p9=We(Ur,fi,28,J.length,15,1),r=We(Ur,fi,28,QM+1,15,1),fe=0;fe<J.length;fe++)p9[fe]=J[fe].f,r[p9[fe]]=1;for(o=0,Ee=0;Ee<r.length;Ee++)r[Ee]==1?r[Ee]=o:--o;for(Bv=0,Me=0;Me<p9.length;Me++)p9[Me]+=r[p9[Me]],Bv=b.Math.max(Bv,p9[Me]+1);for(w=1;w<Bv;)w*=2;for(uLt=2*w-1,w-=1,Cpe=We(Ur,fi,28,uLt,15,1),s=0,ln=0;ln<p9.length;ln++)for(At=p9[ln]+w,++Cpe[At];At>0;)At%2>0&&(s+=Cpe[At+1]),At=(At-1)/2|0,++Cpe[At];for(cn=We(aEt,jn,374,J.length*2,0,1),$e=0;$e<J.length;$e++)cn[2*$e]=new IH(J[$e],J[$e].e,J[$e].b,(cA(),lM)),cn[2*$e+1]=new IH(J[$e],J[$e].b,J[$e].e,uM);for(iT(cn,0,cn.length,null),Pv=0,Je=0;Je<cn.length;Je++)switch(cn[Je].d.g){case 0:++Pv;break;case 1:--Pv,s+=Pv}for(Ep=We(aEt,jn,374,J.length*2,0,1),ot=0;ot<J.length;ot++)Ep[2*ot]=new IH(J[ot],J[ot].f,J[ot].c,(cA(),lM)),Ep[2*ot+1]=new IH(J[ot],J[ot].c,J[ot].f,uM);for(iT(Ep,0,Ep.length,null),Pv=0,te=0;te<Ep.length;te++)switch(Ep[te].d.g){case 0:++Pv;break;case 1:--Pv,s+=Pv}return s}function Ii(){Ii=U,YM=new rw(7),pBe=new sg(8,94),new sg(8,64),bBe=new sg(8,36),ZAt=new sg(8,65),eLt=new sg(8,122),tLt=new sg(8,90),rLt=new sg(8,98),JAt=new sg(8,66),nLt=new sg(8,60),iLt=new sg(8,62),gBe=new rw(11),FY=new _h(4),xu(FY,48,57),fC=new _h(4),xu(fC,48,57),xu(fC,65,90),xu(fC,95,95),xu(fC,97,122),h9=new _h(4),xu(h9,9,9),xu(h9,10,10),xu(h9,12,12),xu(h9,13,13),xu(h9,32,32),mBe=Wy(FY),wBe=Wy(fC),vBe=Wy(h9),hC=new Nr,WM=new Nr,QAt=he(le($t,1),dt,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"]),fBe=he(le($t,1),dt,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",C6t,"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"]),dBe=he(le(Ur,1),fi,28,15,[66304,66351,66352,66383,66560,66639,118784,119039,119040,119295,119808,120831,131072,173782,194560,195103,917504,917631])}function nG(){nG=U,K7t=new af("OUT_T_L",0,(Ol(),Fd),(al(),v0),(e1(),Wc),Wc,he(le(jf,1),jn,21,0,[is((Vy(),E0),he(le(Ko,1),it,95,0,[C0,k0]))])),G7t=new af("OUT_T_C",1,Vb,v0,Wc,ju,he(le(jf,1),jn,21,0,[is(E0,he(le(Ko,1),it,95,0,[C0,xp])),is(E0,he(le(Ko,1),it,95,0,[C0,xp,zf]))])),W7t=new af("OUT_T_R",2,m0,v0,Wc,Yc,he(le(jf,1),jn,21,0,[is(E0,he(le(Ko,1),it,95,0,[C0,T0]))])),R7t=new af("OUT_B_L",3,Fd,s1,Yc,Wc,he(le(jf,1),jn,21,0,[is(E0,he(le(Ko,1),it,95,0,[qf,k0]))])),F7t=new af("OUT_B_C",4,Vb,s1,Yc,ju,he(le(jf,1),jn,21,0,[is(E0,he(le(Ko,1),it,95,0,[qf,xp])),is(E0,he(le(Ko,1),it,95,0,[qf,xp,zf]))])),j7t=new af("OUT_B_R",5,m0,s1,Yc,Yc,he(le(jf,1),jn,21,0,[is(E0,he(le(Ko,1),it,95,0,[qf,T0]))])),q7t=new af("OUT_L_T",6,m0,s1,Wc,Wc,he(le(jf,1),jn,21,0,[is(E0,he(le(Ko,1),it,95,0,[k0,C0,zf]))])),z7t=new af("OUT_L_C",7,m0,Gb,ju,Wc,he(le(jf,1),jn,21,0,[is(E0,he(le(Ko,1),it,95,0,[k0,Sg])),is(E0,he(le(Ko,1),it,95,0,[k0,Sg,zf]))])),$7t=new af("OUT_L_B",8,m0,v0,Yc,Wc,he(le(jf,1),jn,21,0,[is(E0,he(le(Ko,1),it,95,0,[k0,qf,zf]))])),V7t=new af("OUT_R_T",9,Fd,s1,Wc,Yc,he(le(jf,1),jn,21,0,[is(E0,he(le(Ko,1),it,95,0,[T0,C0,zf]))])),U7t=new af("OUT_R_C",10,Fd,Gb,ju,Yc,he(le(jf,1),jn,21,0,[is(E0,he(le(Ko,1),it,95,0,[T0,Sg])),is(E0,he(le(Ko,1),it,95,0,[T0,Sg,zf]))])),H7t=new af("OUT_R_B",11,Fd,v0,Yc,Yc,he(le(jf,1),jn,21,0,[is(E0,he(le(Ko,1),it,95,0,[T0,qf,zf]))])),P7t=new af("IN_T_L",12,Fd,s1,Wc,Wc,he(le(jf,1),jn,21,0,[is(jh,he(le(Ko,1),it,95,0,[C0,k0])),is(jh,he(le(Ko,1),it,95,0,[C0,k0,zf]))])),N7t=new af("IN_T_C",13,Vb,s1,Wc,ju,he(le(jf,1),jn,21,0,[is(jh,he(le(Ko,1),it,95,0,[C0,xp])),is(jh,he(le(Ko,1),it,95,0,[C0,xp,zf]))])),B7t=new af("IN_T_R",14,m0,s1,Wc,Yc,he(le(jf,1),jn,21,0,[is(jh,he(le(Ko,1),it,95,0,[C0,T0])),is(jh,he(le(Ko,1),it,95,0,[C0,T0,zf]))])),I7t=new af("IN_C_L",15,Fd,Gb,ju,Wc,he(le(jf,1),jn,21,0,[is(jh,he(le(Ko,1),it,95,0,[Sg,k0])),is(jh,he(le(Ko,1),it,95,0,[Sg,k0,zf]))])),D7t=new af("IN_C_C",16,Vb,Gb,ju,ju,he(le(jf,1),jn,21,0,[is(jh,he(le(Ko,1),it,95,0,[Sg,xp])),is(jh,he(le(Ko,1),it,95,0,[Sg,xp,zf]))])),O7t=new af("IN_C_R",17,m0,Gb,ju,Yc,he(le(jf,1),jn,21,0,[is(jh,he(le(Ko,1),it,95,0,[Sg,T0])),is(jh,he(le(Ko,1),it,95,0,[Sg,T0,zf]))])),L7t=new af("IN_B_L",18,Fd,v0,Yc,Wc,he(le(jf,1),jn,21,0,[is(jh,he(le(Ko,1),it,95,0,[qf,k0])),is(jh,he(le(Ko,1),it,95,0,[qf,k0,zf]))])),A7t=new af("IN_B_C",19,Vb,v0,Yc,ju,he(le(jf,1),jn,21,0,[is(jh,he(le(Ko,1),it,95,0,[qf,xp])),is(jh,he(le(Ko,1),it,95,0,[qf,xp,zf]))])),M7t=new af("IN_B_R",20,m0,v0,Yc,Yc,he(le(jf,1),jn,21,0,[is(jh,he(le(Ko,1),it,95,0,[qf,T0])),is(jh,he(le(Ko,1),it,95,0,[qf,T0,zf]))])),r1e=new af(uL,21,null,null,null,null,he(le(jf,1),jn,21,0,[]))}function En(){En=U,B4=(wb(),Un).b,l(Oe(tt(Un.b),0),35),l(Oe(tt(Un.b),1),19),j2=Un.a,l(Oe(tt(Un.a),0),35),l(Oe(tt(Un.a),1),19),l(Oe(tt(Un.a),2),19),l(Oe(tt(Un.a),3),19),l(Oe(tt(Un.a),4),19),om=Un.o,l(Oe(tt(Un.o),0),35),l(Oe(tt(Un.o),1),35),mAt=l(Oe(tt(Un.o),2),19),l(Oe(tt(Un.o),3),19),l(Oe(tt(Un.o),4),19),l(Oe(tt(Un.o),5),19),l(Oe(tt(Un.o),6),19),l(Oe(tt(Un.o),7),19),l(Oe(tt(Un.o),8),19),l(Oe(tt(Un.o),9),19),l(Oe(tt(Un.o),10),19),l(Oe(tt(Un.o),11),19),l(Oe(tt(Un.o),12),19),l(Oe(tt(Un.o),13),19),l(Oe(tt(Un.o),14),19),l(Oe(tt(Un.o),15),19),l(Oe(qi(Un.o),0),62),l(Oe(qi(Un.o),1),62),l(Oe(qi(Un.o),2),62),l(Oe(qi(Un.o),3),62),l(Oe(qi(Un.o),4),62),l(Oe(qi(Un.o),5),62),l(Oe(qi(Un.o),6),62),l(Oe(qi(Un.o),7),62),l(Oe(qi(Un.o),8),62),l(Oe(qi(Un.o),9),62),bAt=Un.p,l(Oe(tt(Un.p),0),35),l(Oe(tt(Un.p),1),35),l(Oe(tt(Un.p),2),35),l(Oe(tt(Un.p),3),35),l(Oe(tt(Un.p),4),19),l(Oe(tt(Un.p),5),19),l(Oe(qi(Un.p),0),62),l(Oe(qi(Un.p),1),62),vAt=Un.q,l(Oe(tt(Un.q),0),35),cm=Un.v,l(Oe(tt(Un.v),0),19),l(Oe(qi(Un.v),0),62),l(Oe(qi(Un.v),1),62),l(Oe(qi(Un.v),2),62),$2=Un.w,l(Oe(tt(Un.w),0),35),l(Oe(tt(Un.w),1),35),l(Oe(tt(Un.w),2),35),l(Oe(tt(Un.w),3),19),um=Un.B,l(Oe(tt(Un.B),0),19),l(Oe(qi(Un.B),0),62),l(Oe(qi(Un.B),1),62),l(Oe(qi(Un.B),2),62),wAt=Un.Q,l(Oe(tt(Un.Q),0),19),l(Oe(qi(Un.Q),0),62),yAt=Un.R,l(Oe(tt(Un.R),0),35),Kf=Un.S,l(Oe(qi(Un.S),0),62),l(Oe(qi(Un.S),1),62),l(Oe(qi(Un.S),2),62),l(Oe(qi(Un.S),3),62),l(Oe(qi(Un.S),4),62),l(Oe(qi(Un.S),5),62),l(Oe(qi(Un.S),6),62),l(Oe(qi(Un.S),7),62),l(Oe(qi(Un.S),8),62),l(Oe(qi(Un.S),9),62),l(Oe(qi(Un.S),10),62),l(Oe(qi(Un.S),11),62),l(Oe(qi(Un.S),12),62),l(Oe(qi(Un.S),13),62),l(Oe(qi(Un.S),14),62),z2=Un.T,l(Oe(tt(Un.T),0),19),l(Oe(tt(Un.T),2),19),xAt=l(Oe(tt(Un.T),3),19),l(Oe(tt(Un.T),4),19),l(Oe(qi(Un.T),0),62),l(Oe(qi(Un.T),1),62),l(Oe(tt(Un.T),1),19),q2=Un.U,l(Oe(tt(Un.U),0),35),l(Oe(tt(Un.U),1),35),l(Oe(tt(Un.U),2),19),l(Oe(tt(Un.U),3),19),l(Oe(tt(Un.U),4),19),l(Oe(tt(Un.U),5),19),l(Oe(qi(Un.U),0),62),F4=Un.V,l(Oe(tt(Un.V),0),19),u7=Un.W,l(Oe(tt(Un.W),0),35),l(Oe(tt(Un.W),1),35),l(Oe(tt(Un.W),2),35),l(Oe(tt(Un.W),3),19),l(Oe(tt(Un.W),4),19),l(Oe(tt(Un.W),5),19),kAt=Un.bb,l(Oe(tt(Un.bb),0),35),l(Oe(tt(Un.bb),1),35),l(Oe(tt(Un.bb),2),35),l(Oe(tt(Un.bb),3),35),l(Oe(tt(Un.bb),4),35),l(Oe(tt(Un.bb),5),35),l(Oe(tt(Un.bb),6),35),l(Oe(tt(Un.bb),7),19),l(Oe(qi(Un.bb),0),62),l(Oe(qi(Un.bb),1),62),TAt=Un.eb,l(Oe(tt(Un.eb),0),35),l(Oe(tt(Un.eb),1),35),l(Oe(tt(Un.eb),2),35),l(Oe(tt(Un.eb),3),35),l(Oe(tt(Un.eb),4),35),l(Oe(tt(Un.eb),5),35),l(Oe(tt(Un.eb),6),19),l(Oe(tt(Un.eb),7),19),Do=Un.ab,l(Oe(tt(Un.ab),0),35),l(Oe(tt(Un.ab),1),35),M3=Un.H,l(Oe(tt(Un.H),0),19),l(Oe(tt(Un.H),1),19),l(Oe(tt(Un.H),2),19),l(Oe(tt(Un.H),3),19),l(Oe(tt(Un.H),4),19),l(Oe(tt(Un.H),5),19),l(Oe(qi(Un.H),0),62),D3=Un.db,l(Oe(tt(Un.db),0),19),td=Un.M}function kOn(e){var t;e.O||(e.O=!0,Bu(e,"type"),IU(e,"ecore.xml.type"),OU(e,bv),t=l(GT((db(),Gf),bv),2044),zr(pc(e.fb),e.b),Hc(e.b,kF,"AnyType",!1,!1,!0),Ns(l(Oe(tt(e.b),0),35),e.wb.D,iB,null,0,-1,kF,!1,!1,!0,!1,!1,!1),Ns(l(Oe(tt(e.b),1),35),e.wb.D,"any",null,0,-1,kF,!0,!0,!0,!1,!1,!0),Ns(l(Oe(tt(e.b),2),35),e.wb.D,"anyAttribute",null,0,-1,kF,!1,!1,!0,!1,!1,!1),Hc(e.bb,PY,a6t,!1,!1,!0),Ns(l(Oe(tt(e.bb),0),35),e.gb,"data",null,0,1,PY,!1,!1,!0,!1,!0,!1),Ns(l(Oe(tt(e.bb),1),35),e.gb,FSe,null,1,1,PY,!1,!1,!0,!1,!0,!1),Hc(e.fb,TF,o6t,!1,!1,!0),Ns(l(Oe(tt(e.fb),0),35),t.gb,"rawValue",null,0,1,TF,!0,!0,!0,!1,!0,!0),Ns(l(Oe(tt(e.fb),1),35),t.a,CL,null,0,1,TF,!0,!0,!0,!1,!0,!0),as(l(Oe(tt(e.fb),2),19),e.wb.q,null,"instanceType",1,1,TF,!1,!1,!0,!1,!1,!1,!1),Hc(e.qb,cBe,c6t,!1,!1,!0),Ns(l(Oe(tt(e.qb),0),35),e.wb.D,iB,null,0,-1,null,!1,!1,!0,!1,!1,!1),as(l(Oe(tt(e.qb),1),19),e.wb.ab,null,"xMLNSPrefixMap",0,-1,null,!0,!1,!0,!0,!1,!1,!1),as(l(Oe(tt(e.qb),2),19),e.wb.ab,null,"xSISchemaLocation",0,-1,null,!0,!1,!0,!0,!1,!1,!1),Ns(l(Oe(tt(e.qb),3),35),e.gb,"cDATA",null,0,-2,null,!0,!0,!0,!1,!1,!0),Ns(l(Oe(tt(e.qb),4),35),e.gb,"comment",null,0,-2,null,!0,!0,!0,!1,!1,!0),as(l(Oe(tt(e.qb),5),19),e.bb,null,x6t,0,-2,null,!0,!0,!0,!0,!1,!1,!0),Ns(l(Oe(tt(e.qb),6),35),e.gb,o0e,null,0,-2,null,!0,!0,!0,!1,!1,!0),Ei(e.a,ka,"AnySimpleType",!0),Ei(e.c,$t,"AnyURI",!0),Ei(e.d,le(_l,1),"Base64Binary",!0),Ei(e.e,th,"Boolean",!0),Ei(e.f,Ps,"BooleanObject",!0),Ei(e.g,_l,"Byte",!0),Ei(e.i,$x,"ByteObject",!0),Ei(e.j,$t,"Date",!0),Ei(e.k,$t,"DateTime",!0),Ei(e.n,H0e,"Decimal",!0),Ei(e.o,Oa,"Double",!0),Ei(e.p,ra,"DoubleObject",!0),Ei(e.q,$t,"Duration",!0),Ei(e.s,bf,"ENTITIES",!0),Ei(e.r,bf,"ENTITIESBase",!0),Ei(e.t,$t,ZSe,!0),Ei(e.u,j4,"Float",!0),Ei(e.v,LE,"FloatObject",!0),Ei(e.w,$t,"GDay",!0),Ei(e.B,$t,"GMonth",!0),Ei(e.A,$t,"GMonthDay",!0),Ei(e.C,$t,"GYear",!0),Ei(e.D,$t,"GYearMonth",!0),Ei(e.F,le(_l,1),"HexBinary",!0),Ei(e.G,$t,"ID",!0),Ei(e.H,$t,"IDREF",!0),Ei(e.J,bf,"IDREFS",!0),Ei(e.I,bf,"IDREFSBase",!0),Ei(e.K,Ur,"Int",!0),Ei(e.M,M6,"Integer",!0),Ei(e.L,to,"IntObject",!0),Ei(e.P,$t,"Language",!0),Ei(e.Q,hm,"Long",!0),Ei(e.R,l3,"LongObject",!0),Ei(e.S,$t,"Name",!0),Ei(e.T,$t,lK,!0),Ei(e.U,M6,"NegativeInteger",!0),Ei(e.V,$t,n_e,!0),Ei(e.X,bf,"NMTOKENS",!0),Ei(e.W,bf,"NMTOKENSBase",!0),Ei(e.Y,M6,"NonNegativeInteger",!0),Ei(e.Z,M6,"NonPositiveInteger",!0),Ei(e.$,$t,"NormalizedString",!0),Ei(e._,$t,"NOTATION",!0),Ei(e.ab,$t,"PositiveInteger",!0),Ei(e.cb,$t,"QName",!0),Ei(e.db,d7,"Short",!0),Ei(e.eb,h3,"ShortObject",!0),Ei(e.gb,$t,yTe,!0),Ei(e.hb,$t,"Time",!0),Ei(e.ib,$t,"Token",!0),Ei(e.jb,d7,"UnsignedByte",!0),Ei(e.kb,h3,"UnsignedByteObject",!0),Ei(e.lb,hm,"UnsignedInt",!0),Ei(e.mb,l3,"UnsignedIntObject",!0),Ei(e.nb,M6,"UnsignedLong",!0),Ei(e.ob,Ur,"UnsignedShort",!0),Ei(e.pb,to,"UnsignedShortObject",!0),w8e(e,bv),TOn(e))}function gTe(e,t,n,r){var s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn,$n,cr,ai,ys,zl,fc,Hh,g7,U2,A0,L0,Pv,f9,fm,d9,qd,Mg,O3,g9,p7,Hd,Bv,Ep;if(r.$g()||Ft(Pt(at(t,(bi(),lY)))))return Cn(),Cn(),Co;if(At=(!t.a&&(t.a=new nt(Li,t,10,11)),t.a).i!=0,cn=Rkn(t),ln=!cn.dc(),At||ln){if(s=l(at(t,c7),143),!s)throw ue(new Zp("Resolved algorithm is not set; apply a LayoutAlgorithmResolver before computing layout."));if(p7=bye(s,(VT(),SY)),Ddt(t),!At&&ln&&!p7)return Cn(),Cn(),Co;if(Me=new mt,qe(at(t,i7))===qe((op(),F2))&&(bye(s,EY)||bye(s,TY))){if(Ft(Pt(at(t,LM))))throw ue(new Zp("Topdown layout cannot be used together with hierarchy handling."));for(g7=kmt(e,t),U2=new os,Ga(U2,(!t.a&&(t.a=new nt(Li,t,10,11)),t.a));U2.b!=0;)fc=l(U2.b==0?null:(br(U2.b!=0),sf(U2,U2.a.a)),27),Ddt(fc),g9=qe(at(fc,i7))===qe(IM),g9||P1(fc,nC)&&!I6e(s,at(fc,c7))?(te=gTe(e,fc,n,r),aa(Me,te),Vi(fc,i7,IM),jmt(fc)):Ga(U2,(!fc.a&&(fc.a=new nt(Li,fc,10,11)),fc.a))}else{if(g7=(!t.a&&(t.a=new nt(Li,t,10,11)),t.a).i,Ft(Pt(at(t,LM)))){if(Hd=r.eh(1),Hd.Ug(o4t,1),at(t,s9)==null)throw ue(new Zp(t.k+" has not been assigned a top-down node type."));if(l(at(t,s9),280)==(gx(),I4)||l(at(t,s9),280)==yY)for(Ee=new ar((!t.a&&(t.a=new nt(Li,t,10,11)),t.a));Ee.e!=Ee.i.gc();)fe=l(dr(Ee),27),zl=l(at(fe,c7),143),(!fe.a&&(fe.a=new nt(Li,fe,10,11)),fe.a).i>0&&eN(zl.f),at(fe,ePe)!=null&&(g=l(at(fe,ePe),347),O3=g.Tg(fe),j5(fe,b.Math.max(fe.g,O3.a),b.Math.max(fe.f,O3.b)));if(A0=l(at(t,B2),107),z=t.g-(A0.b+A0.c),F=t.f-(A0.d+A0.a),Hd.bh("Available Child Area: ("+z+"|"+F+")"),Vi(t,t7,z/F),Pdt(t,s,r.eh(g7)),l(at(t,s9),280)==yY&&(uTe(t),j5(t,A0.b+ze(Ge(at(t,r7)))+A0.c,A0.d+ze(Ge(at(t,n7)))+A0.a)),Hd.bh("Executed layout algorithm: "+Zr(at(t,nC))+" on node "+t.k),l(at(t,s9),280)==I4){if(z<0||F<0)throw ue(new Zp("The size defined by the parent parallel node is too small for the space provided by the paddings of the child hierarchical node. "+t.k));for(P1(t,r7)||P1(t,n7)||uTe(t),J=ze(Ge(at(t,r7))),V=ze(Ge(at(t,n7))),Hd.bh("Desired Child Area: ("+J+"|"+V+")"),Pv=z/J,f9=F/V,L0=b.Math.min(Pv,b.Math.min(f9,ze(Ge(at(t,v_t))))),Vi(t,dY,L0),Hd.bh(t.k+" -- Local Scale Factor (X|Y): ("+Pv+"|"+f9+")"),$e=l(at(t,ZB),21),o=0,f=0,L0<Pv&&($e.Hc((rv(),EM))?o=(z/2-J*L0/2)/L0:$e.Hc(CM)&&(o=(z-J*L0)/L0)),L0<f9&&($e.Hc((rv(),_M))?f=(F/2-V*L0/2)/L0:$e.Hc(SM)&&(f=(F-V*L0)/L0)),Bv=o+(A0.b/L0-A0.b),Ep=f+(A0.d/L0-A0.d),Hd.bh("Shift: ("+Bv+"|"+Ep+")"),Hh=new ar((!t.a&&(t.a=new nt(Li,t,10,11)),t.a));Hh.e!=Hh.i.gc();)fc=l(dr(Hh),27),Vu(fc,fc.i+Bv),Gu(fc,fc.j+Ep);for(ot=new ar((!t.b&&(t.b=new nt(js,t,12,3)),t.b));ot.e!=ot.i.gc();){for(Je=l(dr(ot),74),d9=new ar((!Je.a&&(Je.a=new nt(cs,Je,6,6)),Je.a));d9.e!=d9.i.gc();)for(fm=l(dr(d9),166),MO(fm,fm.j+Bv,fm.k+Ep),LO(fm,fm.b+Bv,fm.c+Ep),T=new ar((!fm.a&&(fm.a=new Qs(qh,fm,5)),fm.a));T.e!=T.i.gc();)w=l(dr(T),377),cae(w,w.a+Bv,w.b+Ep);for(ys=new ar((!Je.n&&(Je.n=new nt(nc,Je,1,7)),Je.n));ys.e!=ys.i.gc();)ai=l(dr(ys),135),Xh(ai,ai.i+Bv,ai.j+Ep);for(cr=l(at(Je,A3),75),$n=Fr(cr,0);$n.b!=$n.d.c;)Fn=l(Pr($n),8),Fn.a+=Bv,Fn.b+=Ep;Vi(Je,A3,cr)}}Hd.Vg()}for(L=new ar((!t.a&&(t.a=new nt(Li,t,10,11)),t.a));L.e!=L.i.gc();)C=l(dr(L),27),te=gTe(e,C,n,r),aa(Me,te),jmt(C)}if(r.$g())return Cn(),Cn(),Co;for(Mg=new K(Me);Mg.a<Mg.c.c.length;)qd=l(re(Mg),74),Vi(qd,lY,(Hn(),!0));return Ft(Pt(at(t,LM)))||Pdt(t,s,r.eh(g7)),cAn(Me),ln&&p7?cn:(Cn(),Cn(),Co)}else return Cn(),Cn(),Co}function v6(e,t){var n,r;return f7||(f7=new Nr,lC=new Nr,r=(Ii(),Ii(),new _h(4)),KN(r,`
\r\r `),sc(f7,S0e,r),sc(lC,S0e,Wy(r)),r=new _h(4),KN(r,T6t),sc(f7,NL,r),sc(lC,NL,Wy(r)),r=new _h(4),KN(r,T6t),sc(f7,NL,r),sc(lC,NL,Wy(r)),r=new _h(4),KN(r,E6t),Xy(r,l(wu(f7,NL),122)),sc(f7,C0e,r),sc(lC,C0e,Wy(r)),r=new _h(4),KN(r,"-.0:AZ__az··ÀÖØöøıĴľŁňŊžƀǃǍǰǴǵǺȗɐʨʻˁːˑ̀͠͡ͅΆΊΌΌΎΡΣώϐϖϚϚϜϜϞϞϠϠϢϳЁЌЎяёќўҁ҃҆ҐӄӇӈӋӌӐӫӮӵӸӹԱՖՙՙաֆֹֻֽֿֿׁׂ֑֣֡ׄׄאתװײءغـْ٠٩ٰڷںھۀێېۓە۪ۭۨ۰۹ँअह़्॑॔क़ॣ९ঁঃঅঌএঐওনপরললশহ়়াৄেৈো্ৗৗড়ঢ়য়ৣৱਂਂਅਊਏਐਓਨਪਰਲਲ਼ਵਸ਼ਸਹ਼਼ਾੂੇੈੋ੍ਖ਼ੜਫ਼ਫ਼ੴઁઅઋઍઍએઑઓનપરલળવહ઼ૅેૉો્ૠૠ૯ଁଅଌଏଐଓନପରଲଳଶହ଼ୃେୈୋ୍ୖୗଡ଼ଢ଼ୟୡ୯ஂஃஅஊஎஐஒகஙசஜஜஞடணதநபமவஷஹாூெைொ்ௗௗ௧௯ఁఃఅఌఎఐఒనపళవహాౄెైొ్ౕౖౠౡಃಅಌಎಐಒನಪಳವಹಾೄೆೈೊ್ೕೖೞೞೠೡഃഅഌഎഐഒനപഹാൃെൈൊ്ൗൗൠൡ൯กฮะฺเ๎๙ກຂຄຄງຈຊຊຍຍດທນຟມຣລລວວສຫອຮະູົຽເໄໆໆ່ໍ໙༘༙༠༩༹༹༵༵༷༷༾ཇཉཀྵ྄ཱ྆ྋྐྕྗྗྙྭྱྷྐྵྐྵႠჅაჶᄀᄀᄂᄃᄅᄇᄉᄉᄋᄌᄎᄒᄼᄼᄾᄾᅀᅀᅌᅌᅎᅎᅐᅐᅔᅕᅙᅙᅡᅣᅣᅥᅥᅧᅧᅩᅩᅭᅮᅲᅳᅵᅵᆞᆞᆨᆨᆫᆫᆮᆯᆷᆸᆺᆺᆼᇂᇫᇫᇰᇰᇹᇹḀẛẠỹἀἕἘἝἠὅὈὍὐὗὙὙὛὛὝὝὟώᾀᾴᾶᾼῂῄῆῌῐΐῖΊῠῬῲῴῶῼ⃐⃜⃡⃡ΩΩↀↂ々々〡〯〱〵ぁゔ゙゚ゝゞァヺーヾㄅㄬ一龥가힣"),sc(f7,_0e,r),sc(lC,_0e,Wy(r)),r=new _h(4),KN(r,E6t),xu(r,95,95),xu(r,58,58),sc(f7,A0e,r),sc(lC,A0e,Wy(r))),n=l(wu(t?f7:lC,e),138),n}function e3t(e){fw(e,new iv(E3e(Jz(uw(aw(cw(ow(new x1,ir),"ELK Layered"),"Layer-based algorithm provided by the Eclipse Layout Kernel. Arranges as many edges as possible into one direction by placing nodes into subsequent layers. This implementation supports different routing styles (straight, orthogonal, splines); if orthogonal routing is selected, arbitrary port constraints are respected, thus enabling the layout of block diagrams such as actor-oriented models or circuit schematics. Furthermore, full layout of compound graphs with cross-hierarchy edges is supported when the respective option is activated on the top level."),new Jee),ir),is((VT(),fpe),he(le(AY,1),it,245,0,[SY,_Y,CY,hpe,EY,TY]))))),pt(e,ir,KEe,It(xde)),pt(e,ir,WEe,It(wDe)),pt(e,ir,zhe,It(NB)),pt(e,ir,YEe,It(y0)),pt(e,ir,Khe,It(V6)),pt(e,ir,_fe,It(T3)),pt(e,ir,XEe,It(T4)),pt(e,ir,QEe,It(WE)),pt(e,ir,JEe,It(YE)),pt(e,ir,ZEe,It(kde)),pt(e,ir,t4,It(E3)),pt(e,ir,eCe,It(Tde)),pt(e,ir,tCe,It(nM)),pt(e,ir,nCe,It(LW)),pt(e,ir,AEe,It(OB)),pt(e,ir,MEe,It(U6)),pt(e,ir,LEe,It(Sv)),pt(e,ir,DEe,It(G6)),pt(e,ir,qP,bt(0)),pt(e,ir,IEe,It(KE)),pt(e,ir,OEe,It(vDe)),pt(e,ir,NEe,It(Zx)),pt(e,ir,bp,It(ADe)),pt(e,ir,CG,It(xDe)),pt(e,ir,SG,It(kDe)),pt(e,ir,mL,It(Cde)),pt(e,ir,wfe,It(TDe)),pt(e,ir,yfe,It(EDe)),pt(e,ir,_G,It(MW)),pt(e,ir,AG,It(Sde)),pt(e,ir,LG,It(SDe)),pt(e,ir,MG,It(CDe)),pt(e,ir,xfe,It(_De)),pt(e,ir,dfe,It(x3)),pt(e,ir,gfe,It(tM)),pt(e,ir,kG,It(mde)),pt(e,ir,TG,It(QMe)),pt(e,ir,HP,It(ETt)),pt(e,ir,UP,It(CTt)),pt(e,ir,VP,It(TTt)),pt(e,ir,GP,It(kTt)),pt(e,ir,i3,yDe),pt(e,ir,r3,dDe),pt(e,ir,QP,WMe),pt(e,ir,rCe,0),pt(e,ir,gG,bt(1)),pt(e,ir,Nx,fE),pt(e,ir,iCe,It(Cv)),pt(e,ir,Whe,It(Ds)),pt(e,ir,sCe,It(GE)),pt(e,ir,JP,It(fTt)),pt(e,ir,aCe,It(Rd)),pt(e,ir,IG,It(v4)),pt(e,ir,hL,(Hn(),!0)),pt(e,ir,oCe,It(w4)),pt(e,ir,cCe,It(kv)),pt(e,ir,T6,It(Ev)),pt(e,ir,Px,It(AW)),pt(e,ir,dE,It(yde)),pt(e,ir,Afe,KMe),pt(e,ir,gE,It(y3)),pt(e,ir,uCe,It(SW)),pt(e,ir,pE,It(x4)),pt(e,ir,lCe,It(vTt)),pt(e,ir,hCe,It(bDe)),pt(e,ir,fCe,pDe),pt(e,ir,dCe,It(pTt)),pt(e,ir,gCe,It(bTt)),pt(e,ir,pCe,It(mTt)),pt(e,ir,bCe,It(gTt)),pt(e,ir,pEe,It(Ede)),pt(e,ir,XP,It(Tv)),pt(e,ir,ife,It(Xb)),pt(e,ir,gEe,It(rM)),pt(e,ir,mEe,It(Qu)),pt(e,ir,tfe,It(xv)),pt(e,ir,bL,It(ZL)),pt(e,ir,yEe,It(w3)),pt(e,ir,CEe,It(UMe)),pt(e,ir,ufe,It(dde)),pt(e,ir,yG,It(IB)),pt(e,ir,cfe,It(gde)),pt(e,ir,lEe,It(cDe)),pt(e,ir,hEe,It(uDe)),pt(e,ir,wG,It(rDe)),pt(e,ir,E6,It(_W)),pt(e,ir,hfe,It(wde)),pt(e,ir,uEe,It(vde)),pt(e,ir,ffe,It(hDe)),pt(e,ir,SEe,It(XMe)),pt(e,ir,_Ee,It(bde)),pt(e,ir,OG,It(fde)),pt(e,ir,lfe,It(lDe)),pt(e,ir,PEe,It(mW)),pt(e,ir,BEe,It(zMe)),pt(e,ir,bfe,It(bW)),pt(e,ir,EG,It(eDe)),pt(e,ir,mfe,It(ZMe)),pt(e,ir,vfe,It(tDe)),pt(e,ir,Bx,It(UE)),pt(e,ir,mCe,It(lc)),pt(e,ir,qhe,It(M2)),pt(e,ir,vCe,It(jd)),pt(e,ir,pG,It(pde)),pt(e,ir,ofe,It(VMe)),pt(e,ir,wCe,It(D2)),pt(e,ir,yCe,It(JL)),pt(e,ir,xCe,It(TW)),pt(e,ir,kCe,It(k3)),pt(e,ir,Lfe,It(gDe)),pt(e,ir,Mfe,It(VE)),pt(e,ir,nfe,It(sDe)),pt(e,ir,rfe,It(aDe)),pt(e,ir,NG,It(k4)),pt(e,ir,fEe,It(lde)),pt(e,ir,sfe,It(oDe)),pt(e,ir,FEe,It(kW)),pt(e,ir,REe,It(xW)),pt(e,ir,TCe,It(CW)),pt(e,ir,afe,It(iDe)),pt(e,ir,xG,It(eM)),pt(e,ir,ECe,It(PB)),pt(e,ir,cEe,It(GMe)),pt(e,ir,dEe,It(mDe)),pt(e,ir,pfe,It(YMe)),pt(e,ir,xEe,It(uTt)),pt(e,ir,kEe,It(lTt)),pt(e,ir,vEe,It(dTt)),pt(e,ir,TEe,It(hTt)),pt(e,ir,PG,It(nDe)),pt(e,ir,wEe,It(EW)),pt(e,ir,EEe,It(yW)),pt(e,ir,DG,It(Tg)),pt(e,ir,zEe,It(HMe)),pt(e,ir,Tfe,It(vW)),pt(e,ir,Efe,It(qMe)),pt(e,ir,$Ee,It(wW)),pt(e,ir,kfe,It(m4)),pt(e,ir,jEe,It(hde)),pt(e,ir,bEe,It(JMe))}function TOn(e){Wr(e.a,ui,he(le($t,1),dt,2,6,[Ai,"anySimpleType"])),Wr(e.b,ui,he(le($t,1),dt,2,6,[Ai,"anyType",Bf,iB])),Wr(l(Oe(tt(e.b),0),35),ui,he(le($t,1),dt,2,6,[Bf,y0e,Ai,":mixed"])),Wr(l(Oe(tt(e.b),1),35),ui,he(le($t,1),dt,2,6,[Bf,y0e,QSe,k0e,Ai,":1",u6t,"lax"])),Wr(l(Oe(tt(e.b),2),35),ui,he(le($t,1),dt,2,6,[Bf,s6t,QSe,k0e,Ai,":2",u6t,"lax"])),Wr(e.c,ui,he(le($t,1),dt,2,6,[Ai,"anyURI",Rf,i1])),Wr(e.d,ui,he(le($t,1),dt,2,6,[Ai,"base64Binary",Rf,i1])),Wr(e.e,ui,he(le($t,1),dt,2,6,[Ai,Sx,Rf,i1])),Wr(e.f,ui,he(le($t,1),dt,2,6,[Ai,"boolean:Object",oo,Sx])),Wr(e.g,ui,he(le($t,1),dt,2,6,[Ai,_L])),Wr(e.i,ui,he(le($t,1),dt,2,6,[Ai,"byte:Object",oo,_L])),Wr(e.j,ui,he(le($t,1),dt,2,6,[Ai,"date",Rf,i1])),Wr(e.k,ui,he(le($t,1),dt,2,6,[Ai,"dateTime",Rf,i1])),Wr(e.n,ui,he(le($t,1),dt,2,6,[Ai,"decimal",Rf,i1])),Wr(e.o,ui,he(le($t,1),dt,2,6,[Ai,AL,Rf,i1])),Wr(e.p,ui,he(le($t,1),dt,2,6,[Ai,"double:Object",oo,AL])),Wr(e.q,ui,he(le($t,1),dt,2,6,[Ai,"duration",Rf,i1])),Wr(e.s,ui,he(le($t,1),dt,2,6,[Ai,"ENTITIES",oo,l6t,JSe,"1"])),Wr(e.r,ui,he(le($t,1),dt,2,6,[Ai,l6t,x0e,ZSe])),Wr(e.t,ui,he(le($t,1),dt,2,6,[Ai,ZSe,oo,lK])),Wr(e.u,ui,he(le($t,1),dt,2,6,[Ai,LL,Rf,i1])),Wr(e.v,ui,he(le($t,1),dt,2,6,[Ai,"float:Object",oo,LL])),Wr(e.w,ui,he(le($t,1),dt,2,6,[Ai,"gDay",Rf,i1])),Wr(e.B,ui,he(le($t,1),dt,2,6,[Ai,"gMonth",Rf,i1])),Wr(e.A,ui,he(le($t,1),dt,2,6,[Ai,"gMonthDay",Rf,i1])),Wr(e.C,ui,he(le($t,1),dt,2,6,[Ai,"gYear",Rf,i1])),Wr(e.D,ui,he(le($t,1),dt,2,6,[Ai,"gYearMonth",Rf,i1])),Wr(e.F,ui,he(le($t,1),dt,2,6,[Ai,"hexBinary",Rf,i1])),Wr(e.G,ui,he(le($t,1),dt,2,6,[Ai,"ID",oo,lK])),Wr(e.H,ui,he(le($t,1),dt,2,6,[Ai,"IDREF",oo,lK])),Wr(e.J,ui,he(le($t,1),dt,2,6,[Ai,"IDREFS",oo,h6t,JSe,"1"])),Wr(e.I,ui,he(le($t,1),dt,2,6,[Ai,h6t,x0e,"IDREF"])),Wr(e.K,ui,he(le($t,1),dt,2,6,[Ai,ML])),Wr(e.M,ui,he(le($t,1),dt,2,6,[Ai,e_e])),Wr(e.L,ui,he(le($t,1),dt,2,6,[Ai,"int:Object",oo,ML])),Wr(e.P,ui,he(le($t,1),dt,2,6,[Ai,"language",oo,T0e,E0e,f6t])),Wr(e.Q,ui,he(le($t,1),dt,2,6,[Ai,DL])),Wr(e.R,ui,he(le($t,1),dt,2,6,[Ai,"long:Object",oo,DL])),Wr(e.S,ui,he(le($t,1),dt,2,6,[Ai,"Name",oo,T0e,E0e,t_e])),Wr(e.T,ui,he(le($t,1),dt,2,6,[Ai,lK,oo,"Name",E0e,d6t])),Wr(e.U,ui,he(le($t,1),dt,2,6,[Ai,"negativeInteger",oo,g6t,uB,"-1"])),Wr(e.V,ui,he(le($t,1),dt,2,6,[Ai,n_e,oo,T0e,E0e,"\\c+"])),Wr(e.X,ui,he(le($t,1),dt,2,6,[Ai,"NMTOKENS",oo,p6t,JSe,"1"])),Wr(e.W,ui,he(le($t,1),dt,2,6,[Ai,p6t,x0e,n_e])),Wr(e.Y,ui,he(le($t,1),dt,2,6,[Ai,r_e,oo,e_e,lB,"0"])),Wr(e.Z,ui,he(le($t,1),dt,2,6,[Ai,g6t,oo,e_e,uB,"0"])),Wr(e.$,ui,he(le($t,1),dt,2,6,[Ai,b6t,oo,Gle,Rf,"replace"])),Wr(e._,ui,he(le($t,1),dt,2,6,[Ai,"NOTATION",Rf,i1])),Wr(e.ab,ui,he(le($t,1),dt,2,6,[Ai,"positiveInteger",oo,r_e,lB,"1"])),Wr(e.bb,ui,he(le($t,1),dt,2,6,[Ai,"processingInstruction_._type",Bf,"empty"])),Wr(l(Oe(tt(e.bb),0),35),ui,he(le($t,1),dt,2,6,[Bf,aK,Ai,"data"])),Wr(l(Oe(tt(e.bb),1),35),ui,he(le($t,1),dt,2,6,[Bf,aK,Ai,FSe])),Wr(e.cb,ui,he(le($t,1),dt,2,6,[Ai,"QName",Rf,i1])),Wr(e.db,ui,he(le($t,1),dt,2,6,[Ai,IL])),Wr(e.eb,ui,he(le($t,1),dt,2,6,[Ai,"short:Object",oo,IL])),Wr(e.fb,ui,he(le($t,1),dt,2,6,[Ai,"simpleAnyType",Bf,sB])),Wr(l(Oe(tt(e.fb),0),35),ui,he(le($t,1),dt,2,6,[Ai,":3",Bf,sB])),Wr(l(Oe(tt(e.fb),1),35),ui,he(le($t,1),dt,2,6,[Ai,":4",Bf,sB])),Wr(l(Oe(tt(e.fb),2),19),ui,he(le($t,1),dt,2,6,[Ai,":5",Bf,sB])),Wr(e.gb,ui,he(le($t,1),dt,2,6,[Ai,Gle,Rf,"preserve"])),Wr(e.hb,ui,he(le($t,1),dt,2,6,[Ai,"time",Rf,i1])),Wr(e.ib,ui,he(le($t,1),dt,2,6,[Ai,T0e,oo,b6t,Rf,i1])),Wr(e.jb,ui,he(le($t,1),dt,2,6,[Ai,m6t,uB,"255",lB,"0"])),Wr(e.kb,ui,he(le($t,1),dt,2,6,[Ai,"unsignedByte:Object",oo,m6t])),Wr(e.lb,ui,he(le($t,1),dt,2,6,[Ai,v6t,uB,"4294967295",lB,"0"])),Wr(e.mb,ui,he(le($t,1),dt,2,6,[Ai,"unsignedInt:Object",oo,v6t])),Wr(e.nb,ui,he(le($t,1),dt,2,6,[Ai,"unsignedLong",oo,r_e,uB,w6t,lB,"0"])),Wr(e.ob,ui,he(le($t,1),dt,2,6,[Ai,y6t,uB,"65535",lB,"0"])),Wr(e.pb,ui,he(le($t,1),dt,2,6,[Ai,"unsignedShort:Object",oo,y6t])),Wr(e.qb,ui,he(le($t,1),dt,2,6,[Ai,"",Bf,iB])),Wr(l(Oe(tt(e.qb),0),35),ui,he(le($t,1),dt,2,6,[Bf,y0e,Ai,":mixed"])),Wr(l(Oe(tt(e.qb),1),19),ui,he(le($t,1),dt,2,6,[Bf,aK,Ai,"xmlns:prefix"])),Wr(l(Oe(tt(e.qb),2),19),ui,he(le($t,1),dt,2,6,[Bf,aK,Ai,"xsi:schemaLocation"])),Wr(l(Oe(tt(e.qb),3),35),ui,he(le($t,1),dt,2,6,[Bf,oK,Ai,"cDATA",cK,aB])),Wr(l(Oe(tt(e.qb),4),35),ui,he(le($t,1),dt,2,6,[Bf,oK,Ai,"comment",cK,aB])),Wr(l(Oe(tt(e.qb),5),19),ui,he(le($t,1),dt,2,6,[Bf,oK,Ai,x6t,cK,aB])),Wr(l(Oe(tt(e.qb),6),35),ui,he(le($t,1),dt,2,6,[Bf,oK,Ai,o0e,cK,aB]))}function si(e){return wn("_UI_EMFDiagnostic_marker",e)?"EMF Problem":wn("_UI_CircularContainment_diagnostic",e)?"An object may not circularly contain itself":wn(r5t,e)?"Wrong character.":wn(i5t,e)?"Invalid reference number.":wn(QG,e)?"A character is required after \\.":wn(g0e,e)?"'?' is not expected. '(?:' or '(?=' or '(?!' or '(?<' or '(?#' or '(?>'?":wn(s5t,e)?"'(?<' or '(?<!' is expected.":wn(a5t,e)?"A comment is not terminated.":wn(pv,e)?"')' is expected.":wn(RSe,e)?"Unexpected end of the pattern in a modifier group.":wn(o5t,e)?"':' is expected.":wn(c5t,e)?"Unexpected end of the pattern in a conditional group.":wn(u5t,e)?"A back reference or an anchor or a lookahead or a look-behind is expected in a conditional pattern.":wn(l5t,e)?"There are more than three choices in a conditional group.":wn(h5t,e)?"A character in U+0040-U+005f must follow \\c.":wn(f5t,e)?"A '{' is required before a character category.":wn(d5t,e)?"A property name is not closed by '}'.":wn(jSe,e)?"Unexpected meta character.":wn(p0e,e)?"Unknown property.":wn($Se,e)?"A POSIX character class must be closed by ':]'.":wn(JG,e)?"Unexpected end of the pattern in a character class.":wn(g5t,e)?"Unknown name for a POSIX character class.":wn("parser.cc.4",e)?"'-' is invalid here.":wn(p5t,e)?"']' is expected.":wn(zSe,e)?"'[' is invalid in a character class. Write '\\['.":wn(qSe,e)?"']' is invalid in a character class. Write '\\]'.":wn(b0e,e)?"'-' is an invalid character range. Write '\\-'.":wn(b5t,e)?"'[' is expected.":wn(m5t,e)?"')' or '-[' or '+[' or '&[' is expected.":wn(v5t,e)?"The range end code point is less than the start code point.":wn(A2,e)?"Invalid Unicode hex notation.":wn(w5t,e)?"Overflow in a hex notation.":wn(y5t,e)?"'\\x{' must be closed by '}'.":wn(x5t,e)?"Invalid Unicode code point.":wn(k5t,e)?"An anchor must not be here.":wn(pf,e)?"This expression is not supported in the current option setting.":wn(T5t,e)?"Invalid quantifier. A digit is expected.":wn(E5t,e)?"Invalid quantifier. Invalid quantity or a '}' is missing.":wn(C5t,e)?"Invalid quantifier. A digit or '}' is expected.":wn(S5t,e)?"Invalid quantifier. A min quantity must be <= a max quantity.":wn(HSe,e)?"Invalid quantifier. A quantity value overflow.":wn("_UI_PackageRegistry_extensionpoint",e)?"Ecore Package Registry for Generated Packages":wn("_UI_DynamicPackageRegistry_extensionpoint",e)?"Ecore Package Registry for Dynamic Packages":wn("_UI_FactoryRegistry_extensionpoint",e)?"Ecore Factory Override Registry":wn("_UI_URIExtensionParserRegistry_extensionpoint",e)?"URI Extension Parser Registry":wn("_UI_URIProtocolParserRegistry_extensionpoint",e)?"URI Protocol Parser Registry":wn("_UI_URIContentParserRegistry_extensionpoint",e)?"URI Content Parser Registry":wn("_UI_ContentHandlerRegistry_extensionpoint",e)?"Content Handler Registry":wn("_UI_URIMappingRegistry_extensionpoint",e)?"URI Converter Mapping Registry":wn("_UI_PackageRegistryImplementation_extensionpoint",e)?"Ecore Package Registry Implementation":wn("_UI_ValidationDelegateRegistry_extensionpoint",e)?"Validation Delegate Registry":wn("_UI_SettingDelegateRegistry_extensionpoint",e)?"Feature Setting Delegate Factory Registry":wn("_UI_InvocationDelegateRegistry_extensionpoint",e)?"Operation Invocation Delegate Factory Registry":wn("_UI_EClassInterfaceNotAbstract_diagnostic",e)?"A class that is an interface must also be abstract":wn("_UI_EClassNoCircularSuperTypes_diagnostic",e)?"A class may not be a super type of itself":wn("_UI_EClassNotWellFormedMapEntryNoInstanceClassName_diagnostic",e)?"A class that inherits from a map entry class must have instance class name 'java.util.Map$Entry'":wn("_UI_EReferenceOppositeOfOppositeInconsistent_diagnostic",e)?"The opposite of the opposite may not be a reference different from this one":wn("_UI_EReferenceOppositeNotFeatureOfType_diagnostic",e)?"The opposite must be a feature of the reference's type":wn("_UI_EReferenceTransientOppositeNotTransient_diagnostic",e)?"The opposite of a transient reference must be transient if it is proxy resolving":wn("_UI_EReferenceOppositeBothContainment_diagnostic",e)?"The opposite of a containment reference must not be a containment reference":wn("_UI_EReferenceConsistentUnique_diagnostic",e)?"A containment or bidirectional reference must be unique if its upper bound is different from 1":wn("_UI_ETypedElementNoType_diagnostic",e)?"The typed element must have a type":wn("_UI_EAttributeNoDataType_diagnostic",e)?"The generic attribute type must not refer to a class":wn("_UI_EReferenceNoClass_diagnostic",e)?"The generic reference type must not refer to a data type":wn("_UI_EGenericTypeNoTypeParameterAndClassifier_diagnostic",e)?"A generic type can't refer to both a type parameter and a classifier":wn("_UI_EGenericTypeNoClass_diagnostic",e)?"A generic super type must refer to a class":wn("_UI_EGenericTypeNoTypeParameterOrClassifier_diagnostic",e)?"A generic type in this context must refer to a classifier or a type parameter":wn("_UI_EGenericTypeBoundsOnlyForTypeArgument_diagnostic",e)?"A generic type may have bounds only when used as a type argument":wn("_UI_EGenericTypeNoUpperAndLowerBound_diagnostic",e)?"A generic type must not have both a lower and an upper bound":wn("_UI_EGenericTypeNoTypeParameterOrClassifierAndBound_diagnostic",e)?"A generic type with bounds must not also refer to a type parameter or classifier":wn("_UI_EGenericTypeNoArguments_diagnostic",e)?"A generic type may have arguments only if it refers to a classifier":wn("_UI_EGenericTypeOutOfScopeTypeParameter_diagnostic",e)?"A generic type may only refer to a type parameter that is in scope":e}function EOn(e){var t,n,r,s,o,f,g,w,T,C,L,F,z,V,J;e.r||(e.r=!0,Bu(e,"graph"),IU(e,"graph"),OU(e,TE),MN(e.o,"T"),zr(pc(e.a),e.p),zr(pc(e.f),e.a),zr(pc(e.n),e.f),zr(pc(e.g),e.n),zr(pc(e.c),e.n),zr(pc(e.i),e.c),zr(pc(e.j),e.c),zr(pc(e.d),e.f),zr(pc(e.e),e.a),Hc(e.p,$On,K3t,!0,!0,!1),V=e6(e.p,e.p,"setProperty"),J=N0t(V),T=Qg(e.o),C=(n=(r=new iw,r),n),zr((!T.d&&(T.d=new Qs(Wo,T,1)),T.d),C),L=poe(J),Gxe(C,L),xV(V,T,ASe),T=poe(J),xV(V,T,CL),V=e6(e.p,null,"getProperty"),J=N0t(V),T=Qg(e.o),C=poe(J),zr((!T.d&&(T.d=new Qs(Wo,T,1)),T.d),C),xV(V,T,ASe),T=poe(J),z=$1(V,T,null),z&&z.oj(),V=e6(e.p,e.wb.e,"hasProperty"),T=Qg(e.o),C=(s=(o=new iw,o),s),zr((!T.d&&(T.d=new Qs(Wo,T,1)),T.d),C),xV(V,T,ASe),V=e6(e.p,e.p,"copyProperties"),cc(V,e.p,r0e),V=e6(e.p,null,"getAllProperties"),T=Qg(e.wb.P),C=Qg(e.o),zr((!T.d&&(T.d=new Qs(Wo,T,1)),T.d),C),L=(f=(g=new iw,g),f),zr((!C.d&&(C.d=new Qs(Wo,C,1)),C.d),L),C=Qg(e.wb.M),zr((!T.d&&(T.d=new Qs(Wo,T,1)),T.d),C),F=$1(V,T,null),F&&F.oj(),Hc(e.a,uC,O4t,!0,!1,!0),as(l(Oe(tt(e.a),0),19),e.k,null,V4t,0,-1,uC,!1,!1,!0,!0,!1,!1,!1),Hc(e.f,pF,P4t,!0,!1,!0),as(l(Oe(tt(e.f),0),19),e.g,l(Oe(tt(e.g),0),19),"labels",0,-1,pF,!1,!1,!0,!0,!1,!1,!1),Ns(l(Oe(tt(e.f),1),35),e.wb._,G4t,null,0,1,pF,!1,!1,!0,!1,!0,!1),Hc(e.n,bF,"ElkShape",!0,!1,!0),Ns(l(Oe(tt(e.n),0),35),e.wb.t,i0e,oE,1,1,bF,!1,!1,!0,!1,!0,!1),Ns(l(Oe(tt(e.n),1),35),e.wb.t,s0e,oE,1,1,bF,!1,!1,!0,!1,!0,!1),Ns(l(Oe(tt(e.n),2),35),e.wb.t,"x",oE,1,1,bF,!1,!1,!0,!1,!0,!1),Ns(l(Oe(tt(e.n),3),35),e.wb.t,"y",oE,1,1,bF,!1,!1,!0,!1,!0,!1),V=e6(e.n,null,"setDimensions"),cc(V,e.wb.t,s0e),cc(V,e.wb.t,i0e),V=e6(e.n,null,"setLocation"),cc(V,e.wb.t,"x"),cc(V,e.wb.t,"y"),Hc(e.g,nc,CSe,!1,!1,!0),as(l(Oe(tt(e.g),0),19),e.f,l(Oe(tt(e.f),0),19),a0e,0,1,nc,!1,!1,!0,!1,!1,!1,!1),Ns(l(Oe(tt(e.g),1),35),e.wb._,o0e,"",0,1,nc,!1,!1,!0,!1,!0,!1),Hc(e.c,Sr,B4t,!0,!1,!0),as(l(Oe(tt(e.c),0),19),e.d,l(Oe(tt(e.d),1),19),"outgoingEdges",0,-1,Sr,!1,!1,!0,!1,!0,!1,!1),as(l(Oe(tt(e.c),1),19),e.d,l(Oe(tt(e.d),2),19),"incomingEdges",0,-1,Sr,!1,!1,!0,!1,!0,!1,!1),Hc(e.i,Li,SSe,!1,!1,!0),as(l(Oe(tt(e.i),0),19),e.j,l(Oe(tt(e.j),0),19),"ports",0,-1,Li,!1,!1,!0,!0,!1,!1,!1),as(l(Oe(tt(e.i),1),19),e.i,l(Oe(tt(e.i),2),19),c0e,0,-1,Li,!1,!1,!0,!0,!1,!1,!1),as(l(Oe(tt(e.i),2),19),e.i,l(Oe(tt(e.i),1),19),a0e,0,1,Li,!1,!1,!0,!1,!1,!1,!1),as(l(Oe(tt(e.i),3),19),e.d,l(Oe(tt(e.d),0),19),"containedEdges",0,-1,Li,!1,!1,!0,!0,!1,!1,!1),Ns(l(Oe(tt(e.i),4),35),e.wb.e,K4t,null,0,1,Li,!0,!0,!1,!1,!0,!0),Hc(e.j,$l,_Se,!1,!1,!0),as(l(Oe(tt(e.j),0),19),e.i,l(Oe(tt(e.i),0),19),a0e,0,1,$l,!1,!1,!0,!1,!1,!1,!1),Hc(e.d,js,ESe,!1,!1,!0),as(l(Oe(tt(e.d),0),19),e.i,l(Oe(tt(e.i),3),19),"containingNode",0,1,js,!1,!1,!0,!1,!1,!1,!1),as(l(Oe(tt(e.d),1),19),e.c,l(Oe(tt(e.c),0),19),LSe,0,-1,js,!1,!1,!0,!1,!0,!1,!1),as(l(Oe(tt(e.d),2),19),e.c,l(Oe(tt(e.c),1),19),u0e,0,-1,js,!1,!1,!0,!1,!0,!1,!1),as(l(Oe(tt(e.d),3),19),e.e,l(Oe(tt(e.e),5),19),MSe,0,-1,js,!1,!1,!0,!0,!1,!1,!1),Ns(l(Oe(tt(e.d),4),35),e.wb.e,"hyperedge",null,0,1,js,!0,!0,!1,!1,!0,!0),Ns(l(Oe(tt(e.d),5),35),e.wb.e,K4t,null,0,1,js,!0,!0,!1,!1,!0,!0),Ns(l(Oe(tt(e.d),6),35),e.wb.e,"selfloop",null,0,1,js,!0,!0,!1,!1,!0,!0),Ns(l(Oe(tt(e.d),7),35),e.wb.e,"connected",null,0,1,js,!0,!0,!1,!1,!0,!0),Hc(e.b,qh,N4t,!1,!1,!0),Ns(l(Oe(tt(e.b),0),35),e.wb.t,"x",oE,1,1,qh,!1,!1,!0,!1,!0,!1),Ns(l(Oe(tt(e.b),1),35),e.wb.t,"y",oE,1,1,qh,!1,!1,!0,!1,!0,!1),V=e6(e.b,null,"set"),cc(V,e.wb.t,"x"),cc(V,e.wb.t,"y"),Hc(e.e,cs,F4t,!1,!1,!0),Ns(l(Oe(tt(e.e),0),35),e.wb.t,"startX",null,0,1,cs,!1,!1,!0,!1,!0,!1),Ns(l(Oe(tt(e.e),1),35),e.wb.t,"startY",null,0,1,cs,!1,!1,!0,!1,!0,!1),Ns(l(Oe(tt(e.e),2),35),e.wb.t,"endX",null,0,1,cs,!1,!1,!0,!1,!0,!1),Ns(l(Oe(tt(e.e),3),35),e.wb.t,"endY",null,0,1,cs,!1,!1,!0,!1,!0,!1),as(l(Oe(tt(e.e),4),19),e.b,null,KG,0,-1,cs,!1,!1,!0,!0,!1,!1,!1),as(l(Oe(tt(e.e),5),19),e.d,l(Oe(tt(e.d),3),19),a0e,0,1,cs,!1,!1,!0,!1,!1,!1,!1),as(l(Oe(tt(e.e),6),19),e.c,null,DSe,0,1,cs,!1,!1,!0,!1,!0,!1,!1),as(l(Oe(tt(e.e),7),19),e.c,null,ISe,0,1,cs,!1,!1,!0,!1,!0,!1,!1),as(l(Oe(tt(e.e),8),19),e.e,l(Oe(tt(e.e),9),19),OSe,0,-1,cs,!1,!1,!0,!1,!0,!1,!1),as(l(Oe(tt(e.e),9),19),e.e,l(Oe(tt(e.e),8),19),NSe,0,-1,cs,!1,!1,!0,!1,!0,!1,!1),Ns(l(Oe(tt(e.e),10),35),e.wb._,G4t,null,0,1,cs,!1,!1,!0,!1,!0,!1),V=e6(e.e,null,"setStartLocation"),cc(V,e.wb.t,"x"),cc(V,e.wb.t,"y"),V=e6(e.e,null,"setEndLocation"),cc(V,e.wb.t,"x"),cc(V,e.wb.t,"y"),Hc(e.k,mv,"ElkPropertyToValueMapEntry",!1,!1,!1),T=Qg(e.o),C=(w=(t=new iw,t),w),zr((!T.d&&(T.d=new Qs(Wo,T,1)),T.d),C),U2t(l(Oe(tt(e.k),0),35),T,"key",mv,!1,!1,!0,!1),Ns(l(Oe(tt(e.k),1),35),e.s,CL,null,0,1,mv,!1,!1,!0,!1,!0,!1),Ei(e.o,jge,"IProperty",!0),Ei(e.s,ka,"PropertyValue",!0),w8e(e,TE))}function t3t(){t3t=U,ye=We(_l,_6,28,Lo,15,1),ye[9]=35,ye[10]=19,ye[13]=19,ye[32]=51,ye[33]=49,ye[34]=33,Ue(ye,35,38,49),ye[38]=1,Ue(ye,39,45,49),Ue(ye,45,47,-71),ye[47]=49,Ue(ye,48,58,-71),ye[58]=61,ye[59]=49,ye[60]=1,ye[61]=49,ye[62]=33,Ue(ye,63,65,49),Ue(ye,65,91,-3),Ue(ye,91,93,33),ye[93]=1,ye[94]=33,ye[95]=-3,ye[96]=33,Ue(ye,97,123,-3),Ue(ye,123,183,33),ye[183]=-87,Ue(ye,184,192,33),Ue(ye,192,215,-19),ye[215]=33,Ue(ye,216,247,-19),ye[247]=33,Ue(ye,248,306,-19),Ue(ye,306,308,33),Ue(ye,308,319,-19),Ue(ye,319,321,33),Ue(ye,321,329,-19),ye[329]=33,Ue(ye,330,383,-19),ye[383]=33,Ue(ye,384,452,-19),Ue(ye,452,461,33),Ue(ye,461,497,-19),Ue(ye,497,500,33),Ue(ye,500,502,-19),Ue(ye,502,506,33),Ue(ye,506,536,-19),Ue(ye,536,592,33),Ue(ye,592,681,-19),Ue(ye,681,699,33),Ue(ye,699,706,-19),Ue(ye,706,720,33),Ue(ye,720,722,-87),Ue(ye,722,768,33),Ue(ye,768,838,-87),Ue(ye,838,864,33),Ue(ye,864,866,-87),Ue(ye,866,902,33),ye[902]=-19,ye[903]=-87,Ue(ye,904,907,-19),ye[907]=33,ye[908]=-19,ye[909]=33,Ue(ye,910,930,-19),ye[930]=33,Ue(ye,931,975,-19),ye[975]=33,Ue(ye,976,983,-19),Ue(ye,983,986,33),ye[986]=-19,ye[987]=33,ye[988]=-19,ye[989]=33,ye[990]=-19,ye[991]=33,ye[992]=-19,ye[993]=33,Ue(ye,994,1012,-19),Ue(ye,1012,1025,33),Ue(ye,1025,1037,-19),ye[1037]=33,Ue(ye,1038,1104,-19),ye[1104]=33,Ue(ye,1105,1117,-19),ye[1117]=33,Ue(ye,1118,1154,-19),ye[1154]=33,Ue(ye,1155,1159,-87),Ue(ye,1159,1168,33),Ue(ye,1168,1221,-19),Ue(ye,1221,1223,33),Ue(ye,1223,1225,-19),Ue(ye,1225,1227,33),Ue(ye,1227,1229,-19),Ue(ye,1229,1232,33),Ue(ye,1232,1260,-19),Ue(ye,1260,1262,33),Ue(ye,1262,1270,-19),Ue(ye,1270,1272,33),Ue(ye,1272,1274,-19),Ue(ye,1274,1329,33),Ue(ye,1329,1367,-19),Ue(ye,1367,1369,33),ye[1369]=-19,Ue(ye,1370,1377,33),Ue(ye,1377,1415,-19),Ue(ye,1415,1425,33),Ue(ye,1425,1442,-87),ye[1442]=33,Ue(ye,1443,1466,-87),ye[1466]=33,Ue(ye,1467,1470,-87),ye[1470]=33,ye[1471]=-87,ye[1472]=33,Ue(ye,1473,1475,-87),ye[1475]=33,ye[1476]=-87,Ue(ye,1477,1488,33),Ue(ye,1488,1515,-19),Ue(ye,1515,1520,33),Ue(ye,1520,1523,-19),Ue(ye,1523,1569,33),Ue(ye,1569,1595,-19),Ue(ye,1595,1600,33),ye[1600]=-87,Ue(ye,1601,1611,-19),Ue(ye,1611,1619,-87),Ue(ye,1619,1632,33),Ue(ye,1632,1642,-87),Ue(ye,1642,1648,33),ye[1648]=-87,Ue(ye,1649,1720,-19),Ue(ye,1720,1722,33),Ue(ye,1722,1727,-19),ye[1727]=33,Ue(ye,1728,1743,-19),ye[1743]=33,Ue(ye,1744,1748,-19),ye[1748]=33,ye[1749]=-19,Ue(ye,1750,1765,-87),Ue(ye,1765,1767,-19),Ue(ye,1767,1769,-87),ye[1769]=33,Ue(ye,1770,1774,-87),Ue(ye,1774,1776,33),Ue(ye,1776,1786,-87),Ue(ye,1786,2305,33),Ue(ye,2305,2308,-87),ye[2308]=33,Ue(ye,2309,2362,-19),Ue(ye,2362,2364,33),ye[2364]=-87,ye[2365]=-19,Ue(ye,2366,2382,-87),Ue(ye,2382,2385,33),Ue(ye,2385,2389,-87),Ue(ye,2389,2392,33),Ue(ye,2392,2402,-19),Ue(ye,2402,2404,-87),Ue(ye,2404,2406,33),Ue(ye,2406,2416,-87),Ue(ye,2416,2433,33),Ue(ye,2433,2436,-87),ye[2436]=33,Ue(ye,2437,2445,-19),Ue(ye,2445,2447,33),Ue(ye,2447,2449,-19),Ue(ye,2449,2451,33),Ue(ye,2451,2473,-19),ye[2473]=33,Ue(ye,2474,2481,-19),ye[2481]=33,ye[2482]=-19,Ue(ye,2483,2486,33),Ue(ye,2486,2490,-19),Ue(ye,2490,2492,33),ye[2492]=-87,ye[2493]=33,Ue(ye,2494,2501,-87),Ue(ye,2501,2503,33),Ue(ye,2503,2505,-87),Ue(ye,2505,2507,33),Ue(ye,2507,2510,-87),Ue(ye,2510,2519,33),ye[2519]=-87,Ue(ye,2520,2524,33),Ue(ye,2524,2526,-19),ye[2526]=33,Ue(ye,2527,2530,-19),Ue(ye,2530,2532,-87),Ue(ye,2532,2534,33),Ue(ye,2534,2544,-87),Ue(ye,2544,2546,-19),Ue(ye,2546,2562,33),ye[2562]=-87,Ue(ye,2563,2565,33),Ue(ye,2565,2571,-19),Ue(ye,2571,2575,33),Ue(ye,2575,2577,-19),Ue(ye,2577,2579,33),Ue(ye,2579,2601,-19),ye[2601]=33,Ue(ye,2602,2609,-19),ye[2609]=33,Ue(ye,2610,2612,-19),ye[2612]=33,Ue(ye,2613,2615,-19),ye[2615]=33,Ue(ye,2616,2618,-19),Ue(ye,2618,2620,33),ye[2620]=-87,ye[2621]=33,Ue(ye,2622,2627,-87),Ue(ye,2627,2631,33),Ue(ye,2631,2633,-87),Ue(ye,2633,2635,33),Ue(ye,2635,2638,-87),Ue(ye,2638,2649,33),Ue(ye,2649,2653,-19),ye[2653]=33,ye[2654]=-19,Ue(ye,2655,2662,33),Ue(ye,2662,2674,-87),Ue(ye,2674,2677,-19),Ue(ye,2677,2689,33),Ue(ye,2689,2692,-87),ye[2692]=33,Ue(ye,2693,2700,-19),ye[2700]=33,ye[2701]=-19,ye[2702]=33,Ue(ye,2703,2706,-19),ye[2706]=33,Ue(ye,2707,2729,-19),ye[2729]=33,Ue(ye,2730,2737,-19),ye[2737]=33,Ue(ye,2738,2740,-19),ye[2740]=33,Ue(ye,2741,2746,-19),Ue(ye,2746,2748,33),ye[2748]=-87,ye[2749]=-19,Ue(ye,2750,2758,-87),ye[2758]=33,Ue(ye,2759,2762,-87),ye[2762]=33,Ue(ye,2763,2766,-87),Ue(ye,2766,2784,33),ye[2784]=-19,Ue(ye,2785,2790,33),Ue(ye,2790,2800,-87),Ue(ye,2800,2817,33),Ue(ye,2817,2820,-87),ye[2820]=33,Ue(ye,2821,2829,-19),Ue(ye,2829,2831,33),Ue(ye,2831,2833,-19),Ue(ye,2833,2835,33),Ue(ye,2835,2857,-19),ye[2857]=33,Ue(ye,2858,2865,-19),ye[2865]=33,Ue(ye,2866,2868,-19),Ue(ye,2868,2870,33),Ue(ye,2870,2874,-19),Ue(ye,2874,2876,33),ye[2876]=-87,ye[2877]=-19,Ue(ye,2878,2884,-87),Ue(ye,2884,2887,33),Ue(ye,2887,2889,-87),Ue(ye,2889,2891,33),Ue(ye,2891,2894,-87),Ue(ye,2894,2902,33),Ue(ye,2902,2904,-87),Ue(ye,2904,2908,33),Ue(ye,2908,2910,-19),ye[2910]=33,Ue(ye,2911,2914,-19),Ue(ye,2914,2918,33),Ue(ye,2918,2928,-87),Ue(ye,2928,2946,33),Ue(ye,2946,2948,-87),ye[2948]=33,Ue(ye,2949,2955,-19),Ue(ye,2955,2958,33),Ue(ye,2958,2961,-19),ye[2961]=33,Ue(ye,2962,2966,-19),Ue(ye,2966,2969,33),Ue(ye,2969,2971,-19),ye[2971]=33,ye[2972]=-19,ye[2973]=33,Ue(ye,2974,2976,-19),Ue(ye,2976,2979,33),Ue(ye,2979,2981,-19),Ue(ye,2981,2984,33),Ue(ye,2984,2987,-19),Ue(ye,2987,2990,33),Ue(ye,2990,2998,-19),ye[2998]=33,Ue(ye,2999,3002,-19),Ue(ye,3002,3006,33),Ue(ye,3006,3011,-87),Ue(ye,3011,3014,33),Ue(ye,3014,3017,-87),ye[3017]=33,Ue(ye,3018,3022,-87),Ue(ye,3022,3031,33),ye[3031]=-87,Ue(ye,3032,3047,33),Ue(ye,3047,3056,-87),Ue(ye,3056,3073,33),Ue(ye,3073,3076,-87),ye[3076]=33,Ue(ye,3077,3085,-19),ye[3085]=33,Ue(ye,3086,3089,-19),ye[3089]=33,Ue(ye,3090,3113,-19),ye[3113]=33,Ue(ye,3114,3124,-19),ye[3124]=33,Ue(ye,3125,3130,-19),Ue(ye,3130,3134,33),Ue(ye,3134,3141,-87),ye[3141]=33,Ue(ye,3142,3145,-87),ye[3145]=33,Ue(ye,3146,3150,-87),Ue(ye,3150,3157,33),Ue(ye,3157,3159,-87),Ue(ye,3159,3168,33),Ue(ye,3168,3170,-19),Ue(ye,3170,3174,33),Ue(ye,3174,3184,-87),Ue(ye,3184,3202,33),Ue(ye,3202,3204,-87),ye[3204]=33,Ue(ye,3205,3213,-19),ye[3213]=33,Ue(ye,3214,3217,-19),ye[3217]=33,Ue(ye,3218,3241,-19),ye[3241]=33,Ue(ye,3242,3252,-19),ye[3252]=33,Ue(ye,3253,3258,-19),Ue(ye,3258,3262,33),Ue(ye,3262,3269,-87),ye[3269]=33,Ue(ye,3270,3273,-87),ye[3273]=33,Ue(ye,3274,3278,-87),Ue(ye,3278,3285,33),Ue(ye,3285,3287,-87),Ue(ye,3287,3294,33),ye[3294]=-19,ye[3295]=33,Ue(ye,3296,3298,-19),Ue(ye,3298,3302,33),Ue(ye,3302,3312,-87),Ue(ye,3312,3330,33),Ue(ye,3330,3332,-87),ye[3332]=33,Ue(ye,3333,3341,-19),ye[3341]=33,Ue(ye,3342,3345,-19),ye[3345]=33,Ue(ye,3346,3369,-19),ye[3369]=33,Ue(ye,3370,3386,-19),Ue(ye,3386,3390,33),Ue(ye,3390,3396,-87),Ue(ye,3396,3398,33),Ue(ye,3398,3401,-87),ye[3401]=33,Ue(ye,3402,3406,-87),Ue(ye,3406,3415,33),ye[3415]=-87,Ue(ye,3416,3424,33),Ue(ye,3424,3426,-19),Ue(ye,3426,3430,33),Ue(ye,3430,3440,-87),Ue(ye,3440,3585,33),Ue(ye,3585,3631,-19),ye[3631]=33,ye[3632]=-19,ye[3633]=-87,Ue(ye,3634,3636,-19),Ue(ye,3636,3643,-87),Ue(ye,3643,3648,33),Ue(ye,3648,3654,-19),Ue(ye,3654,3663,-87),ye[3663]=33,Ue(ye,3664,3674,-87),Ue(ye,3674,3713,33),Ue(ye,3713,3715,-19),ye[3715]=33,ye[3716]=-19,Ue(ye,3717,3719,33),Ue(ye,3719,3721,-19),ye[3721]=33,ye[3722]=-19,Ue(ye,3723,3725,33),ye[3725]=-19,Ue(ye,3726,3732,33),Ue(ye,3732,3736,-19),ye[3736]=33,Ue(ye,3737,3744,-19),ye[3744]=33,Ue(ye,3745,3748,-19),ye[3748]=33,ye[3749]=-19,ye[3750]=33,ye[3751]=-19,Ue(ye,3752,3754,33),Ue(ye,3754,3756,-19),ye[3756]=33,Ue(ye,3757,3759,-19),ye[3759]=33,ye[3760]=-19,ye[3761]=-87,Ue(ye,3762,3764,-19),Ue(ye,3764,3770,-87),ye[3770]=33,Ue(ye,3771,3773,-87),ye[3773]=-19,Ue(ye,3774,3776,33),Ue(ye,3776,3781,-19),ye[3781]=33,ye[3782]=-87,ye[3783]=33,Ue(ye,3784,3790,-87),Ue(ye,3790,3792,33),Ue(ye,3792,3802,-87),Ue(ye,3802,3864,33),Ue(ye,3864,3866,-87),Ue(ye,3866,3872,33),Ue(ye,3872,3882,-87),Ue(ye,3882,3893,33),ye[3893]=-87,ye[3894]=33,ye[3895]=-87,ye[3896]=33,ye[3897]=-87,Ue(ye,3898,3902,33),Ue(ye,3902,3904,-87),Ue(ye,3904,3912,-19),ye[3912]=33,Ue(ye,3913,3946,-19),Ue(ye,3946,3953,33),Ue(ye,3953,3973,-87),ye[3973]=33,Ue(ye,3974,3980,-87),Ue(ye,3980,3984,33),Ue(ye,3984,3990,-87),ye[3990]=33,ye[3991]=-87,ye[3992]=33,Ue(ye,3993,4014,-87),Ue(ye,4014,4017,33),Ue(ye,4017,4024,-87),ye[4024]=33,ye[4025]=-87,Ue(ye,4026,4256,33),Ue(ye,4256,4294,-19),Ue(ye,4294,4304,33),Ue(ye,4304,4343,-19),Ue(ye,4343,4352,33),ye[4352]=-19,ye[4353]=33,Ue(ye,4354,4356,-19),ye[4356]=33,Ue(ye,4357,4360,-19),ye[4360]=33,ye[4361]=-19,ye[4362]=33,Ue(ye,4363,4365,-19),ye[4365]=33,Ue(ye,4366,4371,-19),Ue(ye,4371,4412,33),ye[4412]=-19,ye[4413]=33,ye[4414]=-19,ye[4415]=33,ye[4416]=-19,Ue(ye,4417,4428,33),ye[4428]=-19,ye[4429]=33,ye[4430]=-19,ye[4431]=33,ye[4432]=-19,Ue(ye,4433,4436,33),Ue(ye,4436,4438,-19),Ue(ye,4438,4441,33),ye[4441]=-19,Ue(ye,4442,4447,33),Ue(ye,4447,4450,-19),ye[4450]=33,ye[4451]=-19,ye[4452]=33,ye[4453]=-19,ye[4454]=33,ye[4455]=-19,ye[4456]=33,ye[4457]=-19,Ue(ye,4458,4461,33),Ue(ye,4461,4463,-19),Ue(ye,4463,4466,33),Ue(ye,4466,4468,-19),ye[4468]=33,ye[4469]=-19,Ue(ye,4470,4510,33),ye[4510]=-19,Ue(ye,4511,4520,33),ye[4520]=-19,Ue(ye,4521,4523,33),ye[4523]=-19,Ue(ye,4524,4526,33),Ue(ye,4526,4528,-19),Ue(ye,4528,4535,33),Ue(ye,4535,4537,-19),ye[4537]=33,ye[4538]=-19,ye[4539]=33,Ue(ye,4540,4547,-19),Ue(ye,4547,4587,33),ye[4587]=-19,Ue(ye,4588,4592,33),ye[4592]=-19,Ue(ye,4593,4601,33),ye[4601]=-19,Ue(ye,4602,7680,33),Ue(ye,7680,7836,-19),Ue(ye,7836,7840,33),Ue(ye,7840,7930,-19),Ue(ye,7930,7936,33),Ue(ye,7936,7958,-19),Ue(ye,7958,7960,33),Ue(ye,7960,7966,-19),Ue(ye,7966,7968,33),Ue(ye,7968,8006,-19),Ue(ye,8006,8008,33),Ue(ye,8008,8014,-19),Ue(ye,8014,8016,33),Ue(ye,8016,8024,-19),ye[8024]=33,ye[8025]=-19,ye[8026]=33,ye[8027]=-19,ye[8028]=33,ye[8029]=-19,ye[8030]=33,Ue(ye,8031,8062,-19),Ue(ye,8062,8064,33),Ue(ye,8064,8117,-19),ye[8117]=33,Ue(ye,8118,8125,-19),ye[8125]=33,ye[8126]=-19,Ue(ye,8127,8130,33),Ue(ye,8130,8133,-19),ye[8133]=33,Ue(ye,8134,8141,-19),Ue(ye,8141,8144,33),Ue(ye,8144,8148,-19),Ue(ye,8148,8150,33),Ue(ye,8150,8156,-19),Ue(ye,8156,8160,33),Ue(ye,8160,8173,-19),Ue(ye,8173,8178,33),Ue(ye,8178,8181,-19),ye[8181]=33,Ue(ye,8182,8189,-19),Ue(ye,8189,8400,33),Ue(ye,8400,8413,-87),Ue(ye,8413,8417,33),ye[8417]=-87,Ue(ye,8418,8486,33),ye[8486]=-19,Ue(ye,8487,8490,33),Ue(ye,8490,8492,-19),Ue(ye,8492,8494,33),ye[8494]=-19,Ue(ye,8495,8576,33),Ue(ye,8576,8579,-19),Ue(ye,8579,12293,33),ye[12293]=-87,ye[12294]=33,ye[12295]=-19,Ue(ye,12296,12321,33),Ue(ye,12321,12330,-19),Ue(ye,12330,12336,-87),ye[12336]=33,Ue(ye,12337,12342,-87),Ue(ye,12342,12353,33),Ue(ye,12353,12437,-19),Ue(ye,12437,12441,33),Ue(ye,12441,12443,-87),Ue(ye,12443,12445,33),Ue(ye,12445,12447,-87),Ue(ye,12447,12449,33),Ue(ye,12449,12539,-19),ye[12539]=33,Ue(ye,12540,12543,-87),Ue(ye,12543,12549,33),Ue(ye,12549,12589,-19),Ue(ye,12589,19968,33),Ue(ye,19968,40870,-19),Ue(ye,40870,44032,33),Ue(ye,44032,55204,-19),Ue(ye,55204,BP,33),Ue(ye,57344,65534,33)}function COn(e){var t,n,r,s,o,f,g;e.hb||(e.hb=!0,Bu(e,"ecore"),IU(e,"ecore"),OU(e,Ff),MN(e.fb,"E"),MN(e.L,"T"),MN(e.P,"K"),MN(e.P,"V"),MN(e.cb,"E"),zr(pc(e.b),e.bb),zr(pc(e.a),e.Q),zr(pc(e.o),e.p),zr(pc(e.p),e.R),zr(pc(e.q),e.p),zr(pc(e.v),e.q),zr(pc(e.w),e.R),zr(pc(e.B),e.Q),zr(pc(e.R),e.Q),zr(pc(e.T),e.eb),zr(pc(e.U),e.R),zr(pc(e.V),e.eb),zr(pc(e.W),e.bb),zr(pc(e.bb),e.eb),zr(pc(e.eb),e.R),zr(pc(e.db),e.R),Hc(e.b,N4,B5t,!1,!1,!0),Ns(l(Oe(tt(e.b),0),35),e.e,"iD",null,0,1,N4,!1,!1,!0,!1,!0,!1),as(l(Oe(tt(e.b),1),19),e.q,null,"eAttributeType",1,1,N4,!0,!0,!1,!1,!0,!1,!0),Hc(e.a,vi,O5t,!1,!1,!0),Ns(l(Oe(tt(e.a),0),35),e._,r0e,null,0,1,vi,!1,!1,!0,!1,!0,!1),as(l(Oe(tt(e.a),1),19),e.ab,null,"details",0,-1,vi,!1,!1,!0,!0,!1,!1,!1),as(l(Oe(tt(e.a),2),19),e.Q,l(Oe(tt(e.Q),0),19),"eModelElement",0,1,vi,!0,!1,!0,!1,!1,!1,!1),as(l(Oe(tt(e.a),3),19),e.S,null,"contents",0,-1,vi,!1,!1,!0,!0,!1,!1,!1),as(l(Oe(tt(e.a),4),19),e.S,null,"references",0,-1,vi,!1,!1,!0,!1,!0,!1,!1),Hc(e.o,Uf,"EClass",!1,!1,!0),Ns(l(Oe(tt(e.o),0),35),e.e,"abstract",null,0,1,Uf,!1,!1,!0,!1,!0,!1),Ns(l(Oe(tt(e.o),1),35),e.e,"interface",null,0,1,Uf,!1,!1,!0,!1,!0,!1),as(l(Oe(tt(e.o),2),19),e.o,null,"eSuperTypes",0,-1,Uf,!1,!1,!0,!1,!0,!0,!1),as(l(Oe(tt(e.o),3),19),e.T,l(Oe(tt(e.T),0),19),"eOperations",0,-1,Uf,!1,!1,!0,!0,!1,!1,!1),as(l(Oe(tt(e.o),4),19),e.b,null,"eAllAttributes",0,-1,Uf,!0,!0,!1,!1,!0,!1,!0),as(l(Oe(tt(e.o),5),19),e.W,null,"eAllReferences",0,-1,Uf,!0,!0,!1,!1,!0,!1,!0),as(l(Oe(tt(e.o),6),19),e.W,null,"eReferences",0,-1,Uf,!0,!0,!1,!1,!0,!1,!0),as(l(Oe(tt(e.o),7),19),e.b,null,"eAttributes",0,-1,Uf,!0,!0,!1,!1,!0,!1,!0),as(l(Oe(tt(e.o),8),19),e.W,null,"eAllContainments",0,-1,Uf,!0,!0,!1,!1,!0,!1,!0),as(l(Oe(tt(e.o),9),19),e.T,null,"eAllOperations",0,-1,Uf,!0,!0,!1,!1,!0,!1,!0),as(l(Oe(tt(e.o),10),19),e.bb,null,"eAllStructuralFeatures",0,-1,Uf,!0,!0,!1,!1,!0,!1,!0),as(l(Oe(tt(e.o),11),19),e.o,null,"eAllSuperTypes",0,-1,Uf,!0,!0,!1,!1,!0,!1,!0),as(l(Oe(tt(e.o),12),19),e.b,null,"eIDAttribute",0,1,Uf,!0,!0,!1,!1,!1,!1,!0),as(l(Oe(tt(e.o),13),19),e.bb,l(Oe(tt(e.bb),7),19),"eStructuralFeatures",0,-1,Uf,!1,!1,!0,!0,!1,!1,!1),as(l(Oe(tt(e.o),14),19),e.H,null,"eGenericSuperTypes",0,-1,Uf,!1,!1,!0,!0,!1,!0,!1),as(l(Oe(tt(e.o),15),19),e.H,null,"eAllGenericSuperTypes",0,-1,Uf,!0,!0,!1,!1,!0,!1,!0),g=ec(l(Oe(qi(e.o),0),62),e.e,"isSuperTypeOf"),cc(g,e.o,"someClass"),ec(l(Oe(qi(e.o),1),62),e.I,"getFeatureCount"),g=ec(l(Oe(qi(e.o),2),62),e.bb,W5t),cc(g,e.I,"featureID"),g=ec(l(Oe(qi(e.o),3),62),e.I,Y5t),cc(g,e.bb,OL),g=ec(l(Oe(qi(e.o),4),62),e.bb,W5t),cc(g,e._,"featureName"),ec(l(Oe(qi(e.o),5),62),e.I,"getOperationCount"),g=ec(l(Oe(qi(e.o),6),62),e.T,"getEOperation"),cc(g,e.I,"operationID"),g=ec(l(Oe(qi(e.o),7),62),e.I,X5t),cc(g,e.T,YSe),g=ec(l(Oe(qi(e.o),8),62),e.T,"getOverride"),cc(g,e.T,YSe),g=ec(l(Oe(qi(e.o),9),62),e.H,"getFeatureType"),cc(g,e.bb,OL),Hc(e.p,u1,F5t,!0,!1,!0),Ns(l(Oe(tt(e.p),0),35),e._,"instanceClassName",null,0,1,u1,!1,!0,!0,!0,!0,!1),t=Qg(e.L),n=w6e(),zr((!t.d&&(t.d=new Qs(Wo,t,1)),t.d),n),U2t(l(Oe(tt(e.p),1),35),t,"instanceClass",u1,!0,!0,!1,!0),Ns(l(Oe(tt(e.p),2),35),e.M,Q5t,null,0,1,u1,!0,!0,!1,!1,!0,!0),Ns(l(Oe(tt(e.p),3),35),e._,"instanceTypeName",null,0,1,u1,!1,!0,!0,!0,!0,!1),as(l(Oe(tt(e.p),4),19),e.U,l(Oe(tt(e.U),3),19),"ePackage",0,1,u1,!0,!1,!1,!1,!0,!1,!1),as(l(Oe(tt(e.p),5),19),e.db,null,J5t,0,-1,u1,!1,!1,!0,!0,!0,!1,!1),g=ec(l(Oe(qi(e.p),0),62),e.e,Z5t),cc(g,e.M,_P),ec(l(Oe(qi(e.p),1),62),e.I,"getClassifierID"),Hc(e.q,ppe,"EDataType",!1,!1,!0),Ns(l(Oe(tt(e.q),0),35),e.e,"serializable",xE,0,1,ppe,!1,!1,!0,!1,!0,!1),Hc(e.v,DY,"EEnum",!1,!1,!0),as(l(Oe(tt(e.v),0),19),e.w,l(Oe(tt(e.w),3),19),"eLiterals",0,-1,DY,!1,!1,!0,!0,!1,!1,!1),g=ec(l(Oe(qi(e.v),0),62),e.w,e6t),cc(g,e._,Ai),g=ec(l(Oe(qi(e.v),1),62),e.w,e6t),cc(g,e.I,CL),g=ec(l(Oe(qi(e.v),2),62),e.w,"getEEnumLiteralByLiteral"),cc(g,e._,"literal"),Hc(e.w,Tp,R5t,!1,!1,!0),Ns(l(Oe(tt(e.w),0),35),e.I,CL,null,0,1,Tp,!1,!1,!0,!1,!0,!1),Ns(l(Oe(tt(e.w),1),35),e.A,"instance",null,0,1,Tp,!0,!1,!0,!1,!0,!1),Ns(l(Oe(tt(e.w),2),35),e._,"literal",null,0,1,Tp,!1,!1,!0,!1,!0,!1),as(l(Oe(tt(e.w),3),19),e.v,l(Oe(tt(e.v),0),19),"eEnum",0,1,Tp,!0,!1,!1,!1,!1,!1,!1),Hc(e.B,jM,"EFactory",!1,!1,!0),as(l(Oe(tt(e.B),0),19),e.U,l(Oe(tt(e.U),2),19),"ePackage",1,1,jM,!0,!1,!0,!1,!1,!1,!1),g=ec(l(Oe(qi(e.B),0),62),e.S,"create"),cc(g,e.o,"eClass"),g=ec(l(Oe(qi(e.B),1),62),e.M,"createFromString"),cc(g,e.q,"eDataType"),cc(g,e._,"literalValue"),g=ec(l(Oe(qi(e.B),2),62),e._,"convertToString"),cc(g,e.q,"eDataType"),cc(g,e.M,"instanceValue"),Hc(e.Q,mF,R4t,!0,!1,!0),as(l(Oe(tt(e.Q),0),19),e.a,l(Oe(tt(e.a),2),19),"eAnnotations",0,-1,mF,!1,!1,!0,!0,!1,!1,!1),g=ec(l(Oe(qi(e.Q),0),62),e.a,"getEAnnotation"),cc(g,e._,r0e),Hc(e.R,upe,j4t,!0,!1,!0),Ns(l(Oe(tt(e.R),0),35),e._,Ai,null,0,1,upe,!1,!1,!0,!1,!0,!1),Hc(e.S,sm,"EObject",!1,!1,!0),ec(l(Oe(qi(e.S),0),62),e.o,"eClass"),ec(l(Oe(qi(e.S),1),62),e.e,"eIsProxy"),ec(l(Oe(qi(e.S),2),62),e.X,"eResource"),ec(l(Oe(qi(e.S),3),62),e.S,"eContainer"),ec(l(Oe(qi(e.S),4),62),e.bb,"eContainingFeature"),ec(l(Oe(qi(e.S),5),62),e.W,"eContainmentFeature"),g=ec(l(Oe(qi(e.S),6),62),null,"eContents"),t=Qg(e.fb),n=Qg(e.S),zr((!t.d&&(t.d=new Qs(Wo,t,1)),t.d),n),s=$1(g,t,null),s&&s.oj(),g=ec(l(Oe(qi(e.S),7),62),null,"eAllContents"),t=Qg(e.cb),n=Qg(e.S),zr((!t.d&&(t.d=new Qs(Wo,t,1)),t.d),n),o=$1(g,t,null),o&&o.oj(),g=ec(l(Oe(qi(e.S),8),62),null,"eCrossReferences"),t=Qg(e.fb),n=Qg(e.S),zr((!t.d&&(t.d=new Qs(Wo,t,1)),t.d),n),f=$1(g,t,null),f&&f.oj(),g=ec(l(Oe(qi(e.S),9),62),e.M,"eGet"),cc(g,e.bb,OL),g=ec(l(Oe(qi(e.S),10),62),e.M,"eGet"),cc(g,e.bb,OL),cc(g,e.e,"resolve"),g=ec(l(Oe(qi(e.S),11),62),null,"eSet"),cc(g,e.bb,OL),cc(g,e.M,"newValue"),g=ec(l(Oe(qi(e.S),12),62),e.e,"eIsSet"),cc(g,e.bb,OL),g=ec(l(Oe(qi(e.S),13),62),null,"eUnset"),cc(g,e.bb,OL),g=ec(l(Oe(qi(e.S),14),62),e.M,"eInvoke"),cc(g,e.T,YSe),t=Qg(e.fb),n=w6e(),zr((!t.d&&(t.d=new Qs(Wo,t,1)),t.d),n),xV(g,t,"arguments"),hpn(g,e.K),Hc(e.T,Vf,$5t,!1,!1,!0),as(l(Oe(tt(e.T),0),19),e.o,l(Oe(tt(e.o),3),19),t6t,0,1,Vf,!0,!1,!1,!1,!1,!1,!1),as(l(Oe(tt(e.T),1),19),e.db,null,J5t,0,-1,Vf,!1,!1,!0,!0,!0,!1,!1),as(l(Oe(tt(e.T),2),19),e.V,l(Oe(tt(e.V),0),19),"eParameters",0,-1,Vf,!1,!1,!0,!0,!1,!1,!1),as(l(Oe(tt(e.T),3),19),e.p,null,"eExceptions",0,-1,Vf,!1,!1,!0,!1,!0,!0,!1),as(l(Oe(tt(e.T),4),19),e.H,null,"eGenericExceptions",0,-1,Vf,!1,!1,!0,!0,!1,!0,!1),ec(l(Oe(qi(e.T),0),62),e.I,X5t),g=ec(l(Oe(qi(e.T),1),62),e.e,"isOverrideOf"),cc(g,e.T,"someOperation"),Hc(e.U,c1,"EPackage",!1,!1,!0),Ns(l(Oe(tt(e.U),0),35),e._,"nsURI",null,0,1,c1,!1,!1,!0,!1,!0,!1),Ns(l(Oe(tt(e.U),1),35),e._,"nsPrefix",null,0,1,c1,!1,!1,!0,!1,!0,!1),as(l(Oe(tt(e.U),2),19),e.B,l(Oe(tt(e.B),0),19),"eFactoryInstance",1,1,c1,!0,!1,!0,!1,!1,!1,!1),as(l(Oe(tt(e.U),3),19),e.p,l(Oe(tt(e.p),4),19),"eClassifiers",0,-1,c1,!1,!1,!0,!0,!0,!1,!1),as(l(Oe(tt(e.U),4),19),e.U,l(Oe(tt(e.U),5),19),"eSubpackages",0,-1,c1,!1,!1,!0,!0,!0,!1,!1),as(l(Oe(tt(e.U),5),19),e.U,l(Oe(tt(e.U),4),19),"eSuperPackage",0,1,c1,!0,!1,!1,!1,!0,!1,!1),g=ec(l(Oe(qi(e.U),0),62),e.p,"getEClassifier"),cc(g,e._,Ai),Hc(e.V,L3,z5t,!1,!1,!0),as(l(Oe(tt(e.V),0),19),e.T,l(Oe(tt(e.T),2),19),"eOperation",0,1,L3,!0,!1,!1,!1,!1,!1,!1),Hc(e.W,P4,q5t,!1,!1,!0),Ns(l(Oe(tt(e.W),0),35),e.e,"containment",null,0,1,P4,!1,!1,!0,!1,!0,!1),Ns(l(Oe(tt(e.W),1),35),e.e,"container",null,0,1,P4,!0,!0,!1,!1,!0,!0),Ns(l(Oe(tt(e.W),2),35),e.e,"resolveProxies",xE,0,1,P4,!1,!1,!0,!1,!0,!1),as(l(Oe(tt(e.W),3),19),e.W,null,"eOpposite",0,1,P4,!1,!1,!0,!1,!0,!1,!1),as(l(Oe(tt(e.W),4),19),e.o,null,"eReferenceType",1,1,P4,!0,!0,!1,!1,!0,!1,!0),as(l(Oe(tt(e.W),5),19),e.b,null,"eKeys",0,-1,P4,!1,!1,!0,!1,!0,!1,!1),Hc(e.bb,fl,P5t,!0,!1,!0),Ns(l(Oe(tt(e.bb),0),35),e.e,"changeable",xE,0,1,fl,!1,!1,!0,!1,!0,!1),Ns(l(Oe(tt(e.bb),1),35),e.e,"volatile",null,0,1,fl,!1,!1,!0,!1,!0,!1),Ns(l(Oe(tt(e.bb),2),35),e.e,"transient",null,0,1,fl,!1,!1,!0,!1,!0,!1),Ns(l(Oe(tt(e.bb),3),35),e._,"defaultValueLiteral",null,0,1,fl,!1,!1,!0,!1,!0,!1),Ns(l(Oe(tt(e.bb),4),35),e.M,Q5t,null,0,1,fl,!0,!0,!1,!1,!0,!0),Ns(l(Oe(tt(e.bb),5),35),e.e,"unsettable",null,0,1,fl,!1,!1,!0,!1,!0,!1),Ns(l(Oe(tt(e.bb),6),35),e.e,"derived",null,0,1,fl,!1,!1,!0,!1,!0,!1),as(l(Oe(tt(e.bb),7),19),e.o,l(Oe(tt(e.o),13),19),t6t,0,1,fl,!0,!1,!1,!1,!1,!1,!1),ec(l(Oe(qi(e.bb),0),62),e.I,Y5t),g=ec(l(Oe(qi(e.bb),1),62),null,"getContainerClass"),t=Qg(e.L),n=w6e(),zr((!t.d&&(t.d=new Qs(Wo,t,1)),t.d),n),r=$1(g,t,null),r&&r.oj(),Hc(e.eb,O4,N5t,!0,!1,!0),Ns(l(Oe(tt(e.eb),0),35),e.e,"ordered",xE,0,1,O4,!1,!1,!0,!1,!0,!1),Ns(l(Oe(tt(e.eb),1),35),e.e,"unique",xE,0,1,O4,!1,!1,!0,!1,!0,!1),Ns(l(Oe(tt(e.eb),2),35),e.I,"lowerBound",null,0,1,O4,!1,!1,!0,!1,!0,!1),Ns(l(Oe(tt(e.eb),3),35),e.I,"upperBound","1",0,1,O4,!1,!1,!0,!1,!0,!1),Ns(l(Oe(tt(e.eb),4),35),e.e,"many",null,0,1,O4,!0,!0,!1,!1,!0,!0),Ns(l(Oe(tt(e.eb),5),35),e.e,"required",null,0,1,O4,!0,!0,!1,!1,!0,!0),as(l(Oe(tt(e.eb),6),19),e.p,null,"eType",0,1,O4,!1,!0,!0,!1,!0,!0,!1),as(l(Oe(tt(e.eb),7),19),e.H,null,"eGenericType",0,1,O4,!1,!0,!0,!0,!1,!0,!1),Hc(e.ab,mv,"EStringToStringMapEntry",!1,!1,!1),Ns(l(Oe(tt(e.ab),0),35),e._,"key",null,0,1,mv,!1,!1,!0,!1,!0,!1),Ns(l(Oe(tt(e.ab),1),35),e._,CL,null,0,1,mv,!1,!1,!0,!1,!0,!1),Hc(e.H,Wo,j5t,!1,!1,!0),as(l(Oe(tt(e.H),0),19),e.H,null,"eUpperBound",0,1,Wo,!1,!1,!0,!0,!1,!1,!1),as(l(Oe(tt(e.H),1),19),e.H,null,"eTypeArguments",0,-1,Wo,!1,!1,!0,!0,!1,!1,!1),as(l(Oe(tt(e.H),2),19),e.p,null,"eRawType",1,1,Wo,!0,!1,!1,!1,!0,!1,!0),as(l(Oe(tt(e.H),3),19),e.H,null,"eLowerBound",0,1,Wo,!1,!1,!0,!0,!1,!1,!1),as(l(Oe(tt(e.H),4),19),e.db,null,"eTypeParameter",0,1,Wo,!1,!1,!0,!1,!1,!1,!1),as(l(Oe(tt(e.H),5),19),e.p,null,"eClassifier",0,1,Wo,!1,!1,!0,!1,!0,!1,!1),g=ec(l(Oe(qi(e.H),0),62),e.e,Z5t),cc(g,e.M,_P),Hc(e.db,Zu,H5t,!1,!1,!0),as(l(Oe(tt(e.db),0),19),e.H,null,"eBounds",0,-1,Zu,!1,!1,!0,!0,!1,!1,!1),Ei(e.c,H0e,"EBigDecimal",!0),Ei(e.d,M6,"EBigInteger",!0),Ei(e.e,th,"EBoolean",!0),Ei(e.f,Ps,"EBooleanObject",!0),Ei(e.i,_l,"EByte",!0),Ei(e.g,le(_l,1),"EByteArray",!0),Ei(e.j,$x,"EByteObject",!0),Ei(e.k,xf,"EChar",!0),Ei(e.n,BL,"ECharacterObject",!0),Ei(e.r,pK,"EDate",!0),Ei(e.s,yBe,"EDiagnosticChain",!1),Ei(e.t,Oa,"EDouble",!0),Ei(e.u,ra,"EDoubleObject",!0),Ei(e.fb,PPe,"EEList",!1),Ei(e.A,RPe,"EEnumerator",!1),Ei(e.C,oBe,"EFeatureMap",!1),Ei(e.D,IY,"EFeatureMapEntry",!1),Ei(e.F,j4,"EFloat",!0),Ei(e.G,LE,"EFloatObject",!0),Ei(e.I,Ur,"EInt",!0),Ei(e.J,to,"EIntegerObject",!0),Ei(e.L,a_e,"EJavaClass",!0),Ei(e.M,ka,"EJavaObject",!0),Ei(e.N,hm,"ELong",!0),Ei(e.O,l3,"ELongObject",!0),Ei(e.P,o_e,"EMap",!1),Ei(e.X,rBe,"EResource",!1),Ei(e.Y,xBe,"EResourceSet",!1),Ei(e.Z,d7,"EShort",!0),Ei(e.$,h3,"EShortObject",!0),Ei(e._,$t,"EString",!0),Ei(e.cb,FPe,"ETreeIterator",!1),Ei(e.K,kBe,"EInvocationTargetException",!1),w8e(e,Ff))}var _P="object",Sx="boolean",pTe="number",Gle="string",Kle="function",Ni=2147483647,Gc="java.lang",AP={3:1},LP="com.google.common.base",To=", ",n3t="%s (%s) must not be negative",jn={3:1,4:1,5:1},r3t="negative size: ",bTe="no calls to next() since the last call to remove()",i3t="Optional.of(",cl="null",nE={204:1,51:1},gn="com.google.common.collect",rE={204:1,51:1,128:1},av={229:1,3:1},Ia={51:1},_r="java.util",t3={85:1},Qy={20:1,31:1,16:1},q1=2063,Tl={20:1,31:1,16:1,21:1},mTe={85:1,139:1,133:1},s3t={20:1,31:1,16:1,21:1,87:1},vTe={20:1,31:1,16:1,277:1,21:1,87:1},dg={51:1,128:1},Wle={358:1,44:1},a3t="AbstractMapEntry",o3t="expectedValuesPerKey",dt={3:1,6:1,4:1,5:1},_d=16384,Ph={159:1},hr={41:1},MP={202:1},DP={l:4194303,m:4194303,h:524287},Yle={253:1,3:1,34:1},c3t="range unbounded on this side",gg={20:1},u3t={20:1,16:1},wTe={3:1,20:1,31:1,16:1},iE={307:1,3:1,20:1,31:1,16:1,15:1,59:1},rG={3:1,4:1,5:1,173:1},sE={3:1,85:1},Xle={20:1,16:1,21:1},_x={3:1,20:1,31:1,16:1,21:1},l3t={20:1,16:1,21:1,87:1},pg=461845907,bg=-862048943,IP={3:1,6:1,4:1,5:1,173:1},h3t="expectedSize",b0=1024,iL=1073741824,Jy="initialArraySize",it={3:1,6:1,4:1,9:1,5:1},aE={20:1,31:1,56:1,16:1,15:1},Qle="arraySize",f3t={20:1,31:1,56:1,16:1,15:1,59:1},ei={46:1},iG={380:1},Fb=1e-4,ao=-2147483648,d3t="__noinit__",gp={3:1,103:1,63:1,82:1},OP="com.google.gwt.core.client.impl",yTe="String",xTe="com.google.gwt.core.client",Jle="anonymous",Zle="fnStack",kTe="Unknown",Ad={201:1,3:1,4:1},C2=1e3,ta=65535,ehe="January",the="February",nhe="March",rhe="April",Ax="May",ihe="June",she="July",ahe="August",ohe="September",che="October",uhe="November",lhe="December",Rb=1900,fi={53:1,3:1,4:1},g3t="Before Christ",p3t="Anno Domini",hhe="Sunday",fhe="Monday",dhe="Tuesday",ghe="Wednesday",phe="Thursday",bhe="Friday",mhe="Saturday",TTe="com.google.gwt.i18n.shared",b3t="DateTimeFormat",vhe="com.google.gwt.i18n.client",m3t="DefaultDateTimeFormatInfo",v3t={3:1,4:1,34:1,206:1},Lx="com.google.gwt.json.client",Ql=4194303,pp=1048575,NP=524288,Mx=4194304,ov=17592186044416,sG=1e9,PP=-17592186044416,ETe="java.io",whe={3:1,103:1,77:1,63:1,82:1},w3t={3:1,296:1,82:1},n3='For input string: "',gs=1/0,oa=-1/0,Zy=4096,yhe={3:1,4:1,376:1},ir="org.eclipse.elk.layered",Lo=65536,BP=55296,tc={109:1,3:1,4:1},xhe=1e5,y3t=.3010299956639812,Uo=4294967295,oE="0.0",khe={44:1},cE="Unable to add element to queue",x3t={3:1,4:1,20:1,31:1,56:1,13:1,16:1,15:1,59:1},k3t={3:1,20:1,31:1,56:1,16:1,15:1,59:1},T3t={20:1,16:1,15:1},The={3:1,50:1},FP={189:1},w6={3:1,4:1,85:1},CTe={3:1,4:1,20:1,31:1,16:1,49:1,21:1},Ehe="delete",sL=14901161193847656e-24,aL=11102230246251565e-32,Che=15525485,RP=5960464477539063e-23,STe=16777216,aG=16777215,_Te=", length: ",E3t={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1},ATe="subMap: ",C3t=" less than ",She={3:1,34:1,22:1,304:1},_he="java.util.function",oL="java.util.logging",S3t={3:1,4:1,5:1,856:1},Ahe="undefined",ca="java.util.stream",LTe={533:1,687:1},oG="fromIndex: ",_3t=" > toIndex: ",MTe=", toIndex: ",DTe="Index: ",ITe=", Size: ",uE="org.eclipse.elk.alg.common",ii={50:1},A3t="org.eclipse.elk.alg.common.compaction",L3t="Scanline/EventHandler",mg="org.eclipse.elk.alg.common.compaction.oned",M3t="CNode belongs to another CGroup.",D3t="ISpacingsHandler/1",Lhe="The ",Mhe=" instance has been finished already.",I3t="The direction ",O3t=" is not supported by the CGraph instance.",N3t="OneDimensionalCompactor",P3t="OneDimensionalCompactor/lambda$0$Type",B3t="Quadruplet",F3t="ScanlineConstraintCalculator",R3t="ScanlineConstraintCalculator/ConstraintsScanlineHandler",j3t="ScanlineConstraintCalculator/ConstraintsScanlineHandler/lambda$0$Type",$3t="ScanlineConstraintCalculator/Timestamp",z3t="ScanlineConstraintCalculator/lambda$0$Type",Ld={178:1,46:1},Dhe="org.eclipse.elk.alg.common.compaction.options",Rc="org.eclipse.elk.core.data",OTe="org.eclipse.elk.polyomino.traversalStrategy",NTe="org.eclipse.elk.polyomino.lowLevelSort",PTe="org.eclipse.elk.polyomino.highLevelSort",BTe="org.eclipse.elk.polyomino.fill",Pf={134:1},Ihe="polyomino",cL="org.eclipse.elk.alg.common.networksimplex",vg={183:1,3:1,4:1},q3t="org.eclipse.elk.alg.common.nodespacing",cv="org.eclipse.elk.alg.common.nodespacing.cellsystem",lE="CENTER",H3t={217:1,336:1},FTe={3:1,4:1,5:1,603:1},Dx="LEFT",Ix="RIGHT",RTe="Vertical alignment cannot be null",jTe="BOTTOM",cG="org.eclipse.elk.alg.common.nodespacing.internal",uL="UNDEFINED",H1=.01,jP="org.eclipse.elk.alg.common.nodespacing.internal.algorithm",U3t="LabelPlacer/lambda$0$Type",V3t="LabelPlacer/lambda$1$Type",G3t="portRatioOrPosition",hE="org.eclipse.elk.alg.common.overlaps",Ohe="DOWN",Md="org.eclipse.elk.alg.common.polyomino",uG="NORTH",Nhe="EAST",Phe="SOUTH",Bhe="WEST",lG="org.eclipse.elk.alg.common.polyomino.structures",$Te="Direction",Fhe="Grid is only of size ",Rhe=". Requested point (",jhe=") is out of bounds.",hG=" Given center based coordinates were (",$P="org.eclipse.elk.graph.properties",K3t="IPropertyHolder",zTe={3:1,96:1,137:1},Ox="org.eclipse.elk.alg.common.spore",W3t="org.eclipse.elk.alg.common.utils",uv={205:1},y6="org.eclipse.elk.core",Y3t="Connected Components Compaction",X3t="org.eclipse.elk.alg.disco",fG="org.eclipse.elk.alg.disco.graph",$he="org.eclipse.elk.alg.disco.options",qTe="CompactionStrategy",HTe="org.eclipse.elk.disco.componentCompaction.strategy",UTe="org.eclipse.elk.disco.componentCompaction.componentLayoutAlgorithm",VTe="org.eclipse.elk.disco.debug.discoGraph",GTe="org.eclipse.elk.disco.debug.discoPolys",Q3t="componentCompaction",lv="org.eclipse.elk.disco",zhe="org.eclipse.elk.spacing.componentComponent",qhe="org.eclipse.elk.edge.thickness",Nx="org.eclipse.elk.aspectRatio",r3="org.eclipse.elk.padding",x6="org.eclipse.elk.alg.disco.transform",Hhe=1.5707963267948966,k6=17976931348623157e292,e4={3:1,4:1,5:1,198:1},J3t={3:1,6:1,4:1,5:1,100:1,115:1},Uhe="org.eclipse.elk.alg.force",KTe="ComponentsProcessor",Z3t="ComponentsProcessor/1",WTe="ElkGraphImporter/lambda$0$Type",zP="org.eclipse.elk.alg.force.graph",eyt="Component Layout",YTe="org.eclipse.elk.alg.force.model",dG="org.eclipse.elk.force.model",XTe="org.eclipse.elk.force.iterations",QTe="org.eclipse.elk.force.repulsivePower",Vhe="org.eclipse.elk.force.temperature",Dd=.001,Ghe="org.eclipse.elk.force.repulsion",lL="org.eclipse.elk.alg.force.options",fE=1.600000023841858,Yu="org.eclipse.elk.force",qP="org.eclipse.elk.priority",t4="org.eclipse.elk.spacing.nodeNode",Khe="org.eclipse.elk.spacing.edgeLabel",gG="org.eclipse.elk.randomSeed",hL="org.eclipse.elk.separateConnectedComponents",fL="org.eclipse.elk.interactive",Whe="org.eclipse.elk.portConstraints",pG="org.eclipse.elk.edgeLabels.inline",dL="org.eclipse.elk.omitNodeMicroLayout",dE="org.eclipse.elk.nodeSize.fixedGraphSize",Px="org.eclipse.elk.nodeSize.options",T6="org.eclipse.elk.nodeSize.constraints",gE="org.eclipse.elk.nodeLabels.placement",pE="org.eclipse.elk.portLabels.placement",HP="org.eclipse.elk.topdownLayout",UP="org.eclipse.elk.topdown.scaleFactor",VP="org.eclipse.elk.topdown.hierarchicalNodeWidth",GP="org.eclipse.elk.topdown.hierarchicalNodeAspectRatio",i3="org.eclipse.elk.topdown.nodeType",JTe="origin",tyt="random",nyt="boundingBox.upLeft",ryt="boundingBox.lowRight",ZTe="org.eclipse.elk.stress.fixed",eEe="org.eclipse.elk.stress.desiredEdgeLength",tEe="org.eclipse.elk.stress.dimension",nEe="org.eclipse.elk.stress.epsilon",rEe="org.eclipse.elk.stress.iterationLimit",jb="org.eclipse.elk.stress",iyt="ELK Stress",Bx="org.eclipse.elk.nodeSize.minimum",bG="org.eclipse.elk.alg.force.stress",syt="Layered layout",Fx="org.eclipse.elk.alg.layered",KP="org.eclipse.elk.alg.layered.compaction.components",gL="org.eclipse.elk.alg.layered.compaction.oned",mG="org.eclipse.elk.alg.layered.compaction.oned.algs",hv="org.eclipse.elk.alg.layered.compaction.recthull",U1="org.eclipse.elk.alg.layered.components",Id="NONE",iEe="MODEL_ORDER",ou={3:1,6:1,4:1,9:1,5:1,126:1},ayt={3:1,6:1,4:1,5:1,150:1,100:1,115:1},vG="org.eclipse.elk.alg.layered.compound",ns={47:1},Tu="org.eclipse.elk.alg.layered.graph",Yhe=" -> ",oyt="Not supported by LGraph",sEe="Port side is undefined",Xhe={3:1,6:1,4:1,5:1,483:1,150:1,100:1,115:1},S2={3:1,6:1,4:1,5:1,150:1,199:1,210:1,100:1,115:1},cyt={3:1,6:1,4:1,5:1,150:1,2042:1,210:1,100:1,115:1},uyt=`([{"' \r
`,lyt=`)]}"' \r
`,hyt="The given string contains parts that cannot be parsed as numbers.",WP="org.eclipse.elk.core.math",fyt={3:1,4:1,140:1,214:1,423:1},dyt={3:1,4:1,107:1,214:1,423:1},_2="org.eclipse.elk.alg.layered.graph.transform",gyt="ElkGraphImporter",pyt="ElkGraphImporter/lambda$1$Type",byt="ElkGraphImporter/lambda$2$Type",myt="ElkGraphImporter/lambda$4$Type",nr="org.eclipse.elk.alg.layered.intermediate",vyt="Node margin calculation",wyt="ONE_SIDED_GREEDY_SWITCH",yyt="TWO_SIDED_GREEDY_SWITCH",Qhe="No implementation is available for the layout processor ",Jhe="IntermediateProcessorStrategy",Zhe="Node '",xyt="FIRST_SEPARATE",kyt="LAST_SEPARATE",Tyt="Odd port side processing",ua="org.eclipse.elk.alg.layered.intermediate.compaction",pL="org.eclipse.elk.alg.layered.intermediate.greedyswitch",wg="org.eclipse.elk.alg.layered.p3order.counting",YP={230:1},Rx="org.eclipse.elk.alg.layered.intermediate.loops",Bh="org.eclipse.elk.alg.layered.intermediate.loops.ordering",$b="org.eclipse.elk.alg.layered.intermediate.loops.routing",aEe="org.eclipse.elk.alg.layered.intermediate.preserveorder",Od="org.eclipse.elk.alg.layered.intermediate.wrapping",cu="org.eclipse.elk.alg.layered.options",efe="INTERACTIVE",oEe="GREEDY",Eyt="DEPTH_FIRST",Cyt="EDGE_LENGTH",Syt="SELF_LOOPS",_yt="firstTryWithInitialOrder",cEe="org.eclipse.elk.layered.directionCongruency",uEe="org.eclipse.elk.layered.feedbackEdges",wG="org.eclipse.elk.layered.interactiveReferencePoint",lEe="org.eclipse.elk.layered.mergeEdges",hEe="org.eclipse.elk.layered.mergeHierarchyEdges",fEe="org.eclipse.elk.layered.allowNonFlowPortsToSwitchSides",dEe="org.eclipse.elk.layered.portSortingStrategy",gEe="org.eclipse.elk.layered.thoroughness",pEe="org.eclipse.elk.layered.unnecessaryBendpoints",bEe="org.eclipse.elk.layered.generatePositionAndLayerIds",tfe="org.eclipse.elk.layered.cycleBreaking.strategy",XP="org.eclipse.elk.layered.layering.strategy",mEe="org.eclipse.elk.layered.layering.layerConstraint",vEe="org.eclipse.elk.layered.layering.layerChoiceConstraint",wEe="org.eclipse.elk.layered.layering.layerId",nfe="org.eclipse.elk.layered.layering.minWidth.upperBoundOnWidth",rfe="org.eclipse.elk.layered.layering.minWidth.upperLayerEstimationScalingFactor",ife="org.eclipse.elk.layered.layering.nodePromotion.strategy",sfe="org.eclipse.elk.layered.layering.nodePromotion.maxIterations",afe="org.eclipse.elk.layered.layering.coffmanGraham.layerBound",bL="org.eclipse.elk.layered.crossingMinimization.strategy",yEe="org.eclipse.elk.layered.crossingMinimization.forceNodeModelOrder",ofe="org.eclipse.elk.layered.crossingMinimization.hierarchicalSweepiness",cfe="org.eclipse.elk.layered.crossingMinimization.semiInteractive",xEe="org.eclipse.elk.layered.crossingMinimization.inLayerPredOf",kEe="org.eclipse.elk.layered.crossingMinimization.inLayerSuccOf",TEe="org.eclipse.elk.layered.crossingMinimization.positionChoiceConstraint",EEe="org.eclipse.elk.layered.crossingMinimization.positionId",CEe="org.eclipse.elk.layered.crossingMinimization.greedySwitch.activationThreshold",ufe="org.eclipse.elk.layered.crossingMinimization.greedySwitch.type",yG="org.eclipse.elk.layered.crossingMinimization.greedySwitchHierarchical.type",E6="org.eclipse.elk.layered.nodePlacement.strategy",xG="org.eclipse.elk.layered.nodePlacement.favorStraightEdges",lfe="org.eclipse.elk.layered.nodePlacement.bk.edgeStraightening",hfe="org.eclipse.elk.layered.nodePlacement.bk.fixedAlignment",ffe="org.eclipse.elk.layered.nodePlacement.linearSegments.deflectionDampening",dfe="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility",gfe="org.eclipse.elk.layered.nodePlacement.networkSimplex.nodeFlexibility.default",SEe="org.eclipse.elk.layered.edgeRouting.selfLoopDistribution",_Ee="org.eclipse.elk.layered.edgeRouting.selfLoopOrdering",kG="org.eclipse.elk.layered.edgeRouting.splines.mode",TG="org.eclipse.elk.layered.edgeRouting.splines.sloppy.layerSpacingFactor",pfe="org.eclipse.elk.layered.edgeRouting.polyline.slopedEdgeZoneWidth",AEe="org.eclipse.elk.layered.spacing.baseValue",LEe="org.eclipse.elk.layered.spacing.edgeNodeBetweenLayers",MEe="org.eclipse.elk.layered.spacing.edgeEdgeBetweenLayers",DEe="org.eclipse.elk.layered.spacing.nodeNodeBetweenLayers",IEe="org.eclipse.elk.layered.priority.direction",OEe="org.eclipse.elk.layered.priority.shortness",NEe="org.eclipse.elk.layered.priority.straightness",bfe="org.eclipse.elk.layered.compaction.connectedComponents",PEe="org.eclipse.elk.layered.compaction.postCompaction.strategy",BEe="org.eclipse.elk.layered.compaction.postCompaction.constraints",EG="org.eclipse.elk.layered.highDegreeNodes.treatment",mfe="org.eclipse.elk.layered.highDegreeNodes.threshold",vfe="org.eclipse.elk.layered.highDegreeNodes.treeHeight",bp="org.eclipse.elk.layered.wrapping.strategy",CG="org.eclipse.elk.layered.wrapping.additionalEdgeSpacing",SG="org.eclipse.elk.layered.wrapping.correctionFactor",mL="org.eclipse.elk.layered.wrapping.cutting.strategy",wfe="org.eclipse.elk.layered.wrapping.cutting.cuts",yfe="org.eclipse.elk.layered.wrapping.cutting.msd.freedom",_G="org.eclipse.elk.layered.wrapping.validify.strategy",AG="org.eclipse.elk.layered.wrapping.validify.forbiddenIndices",LG="org.eclipse.elk.layered.wrapping.multiEdge.improveCuts",MG="org.eclipse.elk.layered.wrapping.multiEdge.distancePenalty",xfe="org.eclipse.elk.layered.wrapping.multiEdge.improveWrappedEdges",FEe="org.eclipse.elk.layered.edgeLabels.sideSelection",REe="org.eclipse.elk.layered.edgeLabels.centerLabelPlacementStrategy",DG="org.eclipse.elk.layered.considerModelOrder.strategy",jEe="org.eclipse.elk.layered.considerModelOrder.portModelOrder",$Ee="org.eclipse.elk.layered.considerModelOrder.noModelOrder",kfe="org.eclipse.elk.layered.considerModelOrder.components",zEe="org.eclipse.elk.layered.considerModelOrder.longEdgeStrategy",Tfe="org.eclipse.elk.layered.considerModelOrder.crossingCounterNodeInfluence",Efe="org.eclipse.elk.layered.considerModelOrder.crossingCounterPortInfluence",Cfe="layering",Ayt="layering.minWidth",Lyt="layering.nodePromotion",bE="crossingMinimization",IG="org.eclipse.elk.hierarchyHandling",Myt="crossingMinimization.greedySwitch",Dyt="nodePlacement",Iyt="nodePlacement.bk",Oyt="edgeRouting",QP="org.eclipse.elk.edgeRouting",V1="spacing",qEe="priority",HEe="compaction",Nyt="compaction.postCompaction",Pyt="Specifies whether and how post-process compaction is applied.",UEe="highDegreeNodes",VEe="wrapping",Byt="wrapping.cutting",Fyt="wrapping.validify",GEe="wrapping.multiEdge",Sfe="edgeLabels",vL="considerModelOrder",KEe="org.eclipse.elk.spacing.commentComment",WEe="org.eclipse.elk.spacing.commentNode",YEe="org.eclipse.elk.spacing.edgeEdge",_fe="org.eclipse.elk.spacing.edgeNode",XEe="org.eclipse.elk.spacing.labelLabel",QEe="org.eclipse.elk.spacing.labelPortHorizontal",JEe="org.eclipse.elk.spacing.labelPortVertical",ZEe="org.eclipse.elk.spacing.labelNode",eCe="org.eclipse.elk.spacing.nodeSelfLoop",tCe="org.eclipse.elk.spacing.portPort",nCe="org.eclipse.elk.spacing.individual",rCe="org.eclipse.elk.port.borderOffset",iCe="org.eclipse.elk.noLayout",sCe="org.eclipse.elk.port.side",JP="org.eclipse.elk.debugMode",aCe="org.eclipse.elk.alignment",oCe="org.eclipse.elk.insideSelfLoops.activate",cCe="org.eclipse.elk.insideSelfLoops.yo",Afe="org.eclipse.elk.direction",uCe="org.eclipse.elk.nodeLabels.padding",lCe="org.eclipse.elk.portLabels.nextToPortIfPossible",hCe="org.eclipse.elk.portLabels.treatAsGroup",fCe="org.eclipse.elk.portAlignment.default",dCe="org.eclipse.elk.portAlignment.north",gCe="org.eclipse.elk.portAlignment.south",pCe="org.eclipse.elk.portAlignment.west",bCe="org.eclipse.elk.portAlignment.east",OG="org.eclipse.elk.contentAlignment",mCe="org.eclipse.elk.junctionPoints",vCe="org.eclipse.elk.edgeLabels.placement",wCe="org.eclipse.elk.port.index",yCe="org.eclipse.elk.commentBox",xCe="org.eclipse.elk.hypernode",kCe="org.eclipse.elk.port.anchor",Lfe="org.eclipse.elk.partitioning.activate",Mfe="org.eclipse.elk.partitioning.partition",NG="org.eclipse.elk.position",TCe="org.eclipse.elk.margins",ECe="org.eclipse.elk.spacing.portsSurrounding",PG="org.eclipse.elk.interactiveLayout",Kc="org.eclipse.elk.core.util",CCe={3:1,4:1,5:1,601:1},Ryt="NETWORK_SIMPLEX",SCe="SIMPLE",Vo={106:1,47:1},BG="org.eclipse.elk.alg.layered.p1cycles",mp="org.eclipse.elk.alg.layered.p2layers",_Ce={413:1,230:1},jyt={846:1,3:1,4:1},El="org.eclipse.elk.alg.layered.p3order",Go="org.eclipse.elk.alg.layered.p4nodes",$yt={3:1,4:1,5:1,854:1},Nd=1e-5,zb="org.eclipse.elk.alg.layered.p4nodes.bk",Dfe="org.eclipse.elk.alg.layered.p5edges",r1="org.eclipse.elk.alg.layered.p5edges.orthogonal",Ife="org.eclipse.elk.alg.layered.p5edges.orthogonal.direction",Ofe=1e-6,n4="org.eclipse.elk.alg.layered.p5edges.splines",Nfe=.09999999999999998,FG=1e-8,zyt=4.71238898038469,ACe=3.141592653589793,vp="org.eclipse.elk.alg.mrtree",Pfe=.10000000149011612,RG="SUPER_ROOT",wL="org.eclipse.elk.alg.mrtree.graph",LCe=-17976931348623157e292,Eu="org.eclipse.elk.alg.mrtree.intermediate",qyt="Processor compute fanout",jG={3:1,6:1,4:1,5:1,534:1,100:1,115:1},Hyt="Set neighbors in level",ZP="org.eclipse.elk.alg.mrtree.options",Uyt="DESCENDANTS",MCe="org.eclipse.elk.mrtree.compaction",DCe="org.eclipse.elk.mrtree.edgeEndTextureLength",ICe="org.eclipse.elk.mrtree.treeLevel",OCe="org.eclipse.elk.mrtree.positionConstraint",NCe="org.eclipse.elk.mrtree.weighting",PCe="org.eclipse.elk.mrtree.edgeRoutingMode",BCe="org.eclipse.elk.mrtree.searchOrder",Vyt="Position Constraint",Xu="org.eclipse.elk.mrtree",Gyt="org.eclipse.elk.tree",Kyt="Processor arrange level",mE="org.eclipse.elk.alg.mrtree.p2order",ph="org.eclipse.elk.alg.mrtree.p4route",FCe="org.eclipse.elk.alg.radial",fv=6.283185307179586,RCe="Before",jCe=5e-324,$G="After",$Ce="org.eclipse.elk.alg.radial.intermediate",Wyt="COMPACTION",Bfe="org.eclipse.elk.alg.radial.intermediate.compaction",Yyt={3:1,4:1,5:1,100:1},zCe="org.eclipse.elk.alg.radial.intermediate.optimization",Ffe="No implementation is available for the layout option ",yL="org.eclipse.elk.alg.radial.options",qCe="org.eclipse.elk.radial.centerOnRoot",HCe="org.eclipse.elk.radial.orderId",UCe="org.eclipse.elk.radial.radius",zG="org.eclipse.elk.radial.rotate",Rfe="org.eclipse.elk.radial.compactor",jfe="org.eclipse.elk.radial.compactionStepSize",VCe="org.eclipse.elk.radial.sorter",GCe="org.eclipse.elk.radial.wedgeCriteria",KCe="org.eclipse.elk.radial.optimizationCriteria",$fe="org.eclipse.elk.radial.rotation.targetAngle",zfe="org.eclipse.elk.radial.rotation.computeAdditionalWedgeSpace",WCe="org.eclipse.elk.radial.rotation.outgoingEdgeAngles",Xyt="Compaction",YCe="rotation",df="org.eclipse.elk.radial",Qyt="org.eclipse.elk.alg.radial.p1position.wedge",XCe="org.eclipse.elk.alg.radial.sorting",Jyt=5.497787143782138,Zyt=3.9269908169872414,e4t=2.356194490192345,t4t="org.eclipse.elk.alg.rectpacking",qG="org.eclipse.elk.alg.rectpacking.intermediate",qfe="org.eclipse.elk.alg.rectpacking.options",QCe="org.eclipse.elk.rectpacking.trybox",JCe="org.eclipse.elk.rectpacking.currentPosition",ZCe="org.eclipse.elk.rectpacking.desiredPosition",eSe="org.eclipse.elk.rectpacking.inNewRow",tSe="org.eclipse.elk.rectpacking.widthApproximation.strategy",nSe="org.eclipse.elk.rectpacking.widthApproximation.targetWidth",rSe="org.eclipse.elk.rectpacking.widthApproximation.optimizationGoal",iSe="org.eclipse.elk.rectpacking.widthApproximation.lastPlaceShift",sSe="org.eclipse.elk.rectpacking.packing.strategy",aSe="org.eclipse.elk.rectpacking.packing.compaction.rowHeightReevaluation",oSe="org.eclipse.elk.rectpacking.packing.compaction.iterations",cSe="org.eclipse.elk.rectpacking.whiteSpaceElimination.strategy",Hfe="widthApproximation",n4t="Compaction Strategy",r4t="packing.compaction",Jl="org.eclipse.elk.rectpacking",vE="org.eclipse.elk.alg.rectpacking.p1widthapproximation",HG="org.eclipse.elk.alg.rectpacking.p2packing",i4t="No Compaction",uSe="org.eclipse.elk.alg.rectpacking.p3whitespaceelimination",eB="org.eclipse.elk.alg.rectpacking.util",UG="No implementation available for ",r4="org.eclipse.elk.alg.spore",i4="org.eclipse.elk.alg.spore.options",s3="org.eclipse.elk.sporeCompaction",Ufe="org.eclipse.elk.underlyingLayoutAlgorithm",lSe="org.eclipse.elk.processingOrder.treeConstruction",hSe="org.eclipse.elk.processingOrder.spanningTreeCostFunction",Vfe="org.eclipse.elk.processingOrder.preferredRoot",Gfe="org.eclipse.elk.processingOrder.rootSelection",Kfe="org.eclipse.elk.structure.structureExtractionStrategy",fSe="org.eclipse.elk.compaction.compactionStrategy",dSe="org.eclipse.elk.compaction.orthogonal",gSe="org.eclipse.elk.overlapRemoval.maxIterations",pSe="org.eclipse.elk.overlapRemoval.runScanline",Wfe="processingOrder",s4t="overlapRemoval",wE="org.eclipse.elk.sporeOverlap",a4t="org.eclipse.elk.alg.spore.p1structure",Yfe="org.eclipse.elk.alg.spore.p2processingorder",Xfe="org.eclipse.elk.alg.spore.p3execution",o4t="Topdown Layout",c4t="Invalid index: ",yE="org.eclipse.elk.core.alg",C6={341:1},s4={295:1},u4t="Make sure its type is registered with the ",bSe=" utility class.",xE="true",Qfe="false",l4t="Couldn't clone property '",a3=.05,Zl="org.eclipse.elk.core.options",h4t=1.2999999523162842,o3="org.eclipse.elk.box",mSe="org.eclipse.elk.expandNodes",vSe="org.eclipse.elk.box.packingMode",f4t="org.eclipse.elk.algorithm",d4t="org.eclipse.elk.resolvedAlgorithm",wSe="org.eclipse.elk.bendPoints",SOn="org.eclipse.elk.labelManager",g4t="org.eclipse.elk.scaleFactor",p4t="org.eclipse.elk.childAreaWidth",b4t="org.eclipse.elk.childAreaHeight",m4t="org.eclipse.elk.animate",v4t="org.eclipse.elk.animTimeFactor",w4t="org.eclipse.elk.layoutAncestors",y4t="org.eclipse.elk.maxAnimTime",x4t="org.eclipse.elk.minAnimTime",k4t="org.eclipse.elk.progressBar",T4t="org.eclipse.elk.validateGraph",E4t="org.eclipse.elk.validateOptions",C4t="org.eclipse.elk.zoomToFit",_On="org.eclipse.elk.font.name",S4t="org.eclipse.elk.font.size",ySe="org.eclipse.elk.topdown.sizeApproximator",xSe="org.eclipse.elk.topdown.scaleCap",_4t="org.eclipse.elk.edge.type",A4t="partitioning",L4t="nodeLabels",VG="portAlignment",Jfe="nodeSize",Zfe="port",kSe="portLabels",tB="topdown",M4t="insideSelfLoops",xL="org.eclipse.elk.fixed",GG="org.eclipse.elk.random",TSe={3:1,34:1,22:1,347:1},D4t="port must have a parent node to calculate the port side",I4t="The edge needs to have exactly one edge section. Found: ",kL="org.eclipse.elk.core.util.adapters",gf="org.eclipse.emf.ecore",S6="org.eclipse.elk.graph",O4t="EMapPropertyHolder",N4t="ElkBendPoint",P4t="ElkGraphElement",B4t="ElkConnectableShape",ESe="ElkEdge",F4t="ElkEdgeSection",R4t="EModelElement",j4t="ENamedElement",CSe="ElkLabel",SSe="ElkNode",_Se="ElkPort",$4t={94:1,93:1},jx="org.eclipse.emf.common.notify.impl",qb="The feature '",TL="' is not a valid changeable feature",z4t="Expecting null",e0e="' is not a valid feature",q4t="The feature ID",H4t=" is not a valid feature ID",nu=32768,U4t={110:1,94:1,93:1,58:1,54:1,99:1},Vn="org.eclipse.emf.ecore.impl",dv="org.eclipse.elk.graph.impl",EL="Recursive containment not allowed for ",kE="The datatype '",c3="' is not a valid classifier",t0e="The value '",_6={195:1,3:1,4:1},n0e="The class '",TE="http://www.eclipse.org/elk/ElkGraph",ASe="property",CL="value",r0e="source",V4t="properties",G4t="identifier",i0e="height",s0e="width",a0e="parent",o0e="text",c0e="children",K4t="hierarchical",LSe="sources",u0e="targets",MSe="sections",KG="bendPoints",DSe="outgoingShape",ISe="incomingShape",OSe="outgoingSections",NSe="incomingSections",Eo="org.eclipse.emf.common.util",PSe="Severe implementation error in the Json to ElkGraph importer.",Pd="id",eo="org.eclipse.elk.graph.json",BSe="Unhandled parameter types: ",W4t="startPoint",Y4t="An edge must have at least one source and one target (edge id: '",EE="').",X4t="Referenced edge section does not exist: ",Q4t=" (edge id: '",FSe="target",J4t="sourcePoint",Z4t="targetPoint",WG="group",Ai="name",e5t="connectableShape cannot be null",t5t="edge cannot be null",l0e="Passed edge is not 'simple'.",YG="org.eclipse.elk.graph.util",nB="The 'no duplicates' constraint is violated",h0e="targetIndex=",gv=", size=",f0e="sourceIndex=",Bd={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1},d0e={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},XG="logging",n5t="measureExecutionTime",r5t="parser.parse.1",i5t="parser.parse.2",QG="parser.next.1",g0e="parser.next.2",s5t="parser.next.3",a5t="parser.next.4",pv="parser.factor.1",RSe="parser.factor.2",o5t="parser.factor.3",c5t="parser.factor.4",u5t="parser.factor.5",l5t="parser.factor.6",h5t="parser.atom.1",f5t="parser.atom.2",d5t="parser.atom.3",jSe="parser.atom.4",p0e="parser.atom.5",$Se="parser.cc.1",JG="parser.cc.2",g5t="parser.cc.3",p5t="parser.cc.5",zSe="parser.cc.6",qSe="parser.cc.7",b0e="parser.cc.8",b5t="parser.ope.1",m5t="parser.ope.2",v5t="parser.ope.3",A2="parser.descape.1",w5t="parser.descape.2",y5t="parser.descape.3",x5t="parser.descape.4",k5t="parser.descape.5",pf="parser.process.1",T5t="parser.quantifier.1",E5t="parser.quantifier.2",C5t="parser.quantifier.3",S5t="parser.quantifier.4",HSe="parser.quantifier.5",_5t="org.eclipse.emf.common.notify",USe={424:1,686:1},A5t={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1},rB={378:1,152:1},SL="index=",m0e={3:1,4:1,5:1,129:1},L5t={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,61:1},VSe={3:1,6:1,4:1,5:1,198:1},M5t={3:1,4:1,5:1,173:1,379:1},D5t=";/?:@&=+$,",I5t="invalid authority: ",O5t="EAnnotation",N5t="ETypedElement",P5t="EStructuralFeature",B5t="EAttribute",F5t="EClassifier",R5t="EEnumLiteral",j5t="EGenericType",$5t="EOperation",z5t="EParameter",q5t="EReference",H5t="ETypeParameter",us="org.eclipse.emf.ecore.util",v0e={79:1},GSe={3:1,20:1,16:1,15:1,61:1,597:1,79:1,71:1,97:1},U5t="org.eclipse.emf.ecore.util.FeatureMap$Entry",Cl=8192,a4=2048,_L="byte",ZG="char",AL="double",LL="float",ML="int",DL="long",IL="short",V5t="java.lang.Object",A6={3:1,4:1,5:1,254:1},KSe={3:1,4:1,5:1,688:1},G5t={3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,71:1},Ec={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},iB="mixed",ui="http:///org/eclipse/emf/ecore/util/ExtendedMetaData",Bf="kind",K5t={3:1,4:1,5:1,689:1},WSe={3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1,79:1,71:1,97:1},eK={20:1,31:1,56:1,16:1,15:1,61:1,71:1},tK={51:1,128:1,287:1},nK={76:1,343:1},rK="The value of type '",iK="' must be of type '",L6=1352,Ff="http://www.eclipse.org/emf/2002/Ecore",sK=-32768,u3="constraints",oo="baseType",W5t="getEStructuralFeature",Y5t="getFeatureID",OL="feature",X5t="getOperationID",YSe="operation",Q5t="defaultValue",J5t="eTypeParameters",Z5t="isInstance",e6t="getEEnumLiteral",t6t="eContainingClass",xi={57:1},n6t={3:1,4:1,5:1,124:1},r6t="org.eclipse.emf.ecore.resource",i6t={94:1,93:1,599:1,2034:1},w0e="org.eclipse.emf.ecore.resource.impl",XSe="unspecified",sB="simple",aK="attribute",s6t="attributeWildcard",oK="element",y0e="elementWildcard",i1="collapse",x0e="itemType",cK="namespace",aB="##targetNamespace",Rf="whiteSpace",QSe="wildcards",bv="http://www.eclipse.org/emf/2003/XMLType",k0e="##any",CE="uninitialized",oB="The multiplicity constraint is violated",uK="org.eclipse.emf.ecore.xml.type",a6t="ProcessingInstruction",o6t="SimpleAnyType",c6t="XMLTypeDocumentRoot",na="org.eclipse.emf.ecore.xml.type.impl",cB="INF",u6t="processing",l6t="ENTITIES_._base",JSe="minLength",ZSe="ENTITY",lK="NCName",h6t="IDREFS_._base",e_e="integer",T0e="token",E0e="pattern",f6t="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*",t_e="\\i\\c*",d6t="[\\i-[:]][\\c-[:]]*",g6t="nonPositiveInteger",uB="maxInclusive",n_e="NMTOKEN",p6t="NMTOKENS_._base",r_e="nonNegativeInteger",lB="minInclusive",b6t="normalizedString",m6t="unsignedByte",v6t="unsignedInt",w6t="18446744073709551615",y6t="unsignedShort",x6t="processingInstruction",L2="org.eclipse.emf.ecore.xml.type.internal",SE=1114111,k6t="Internal Error: shorthands: \\u",NL="xml:isDigit",C0e="xml:isWord",S0e="xml:isSpace",_0e="xml:isNameChar",A0e="xml:isInitialNameChar",T6t="09٠٩۰۹୯௧௯໙༠༩",E6t="AZazÀÖØöøıĴľŁňŊžƀǃǍǰǴǵǺȗɐʨʻˁΆΆΈΊΌΌΎΡΣώϐϖϚϚϜϜϞϞϠϠϢϳЁЌЎяёќўҁҐӄӇӈӋӌӐӫӮӵӸӹԱՖՙՙաֆאתװײءغفيٱڷںھۀێېۓەەۥۦअहऽऽक़ॡঅঌএঐওনপরললশহড়ঢ়য়ৡৰৱਅਊਏਐਓਨਪਰਲਲ਼ਵਸ਼ਸਹਖ਼ੜਫ਼ਫ਼ੲੴઅઋઍઍએઑઓનપરલળવહઽઽૠૠଅଌଏଐଓନପରଲଳଶହଽଽଡ଼ଢ଼ୟୡஅஊஎஐஒகஙசஜஜஞடணதநபமவஷஹఅఌఎఐఒనపళవహౠౡಅಌಎಐಒನಪಳವಹೞೞೠೡഅഌഎഐഒനപഹൠൡกฮะะาำเๅກຂຄຄງຈຊຊຍຍດທນຟມຣລລວວສຫອຮະະາຳຽຽເໄཀཇཉཀྵႠჅაჶᄀᄀᄂᄃᄅᄇᄉᄉᄋᄌᄎᄒᄼᄼᄾᄾᅀᅀᅌᅌᅎᅎᅐᅐᅔᅕᅙᅙᅡᅣᅣᅥᅥᅧᅧᅩᅩᅭᅮᅲᅳᅵᅵᆞᆞᆨᆨᆫᆫᆮᆯᆷᆸᆺᆺᆼᇂᇫᇫᇰᇰᇹᇹḀẛẠỹἀἕἘἝἠὅὈὍὐὗὙὙὛὛὝὝὟώᾀᾴᾶᾼῂῄῆῌῐΐῖΊῠῬῲῴῶῼΩΩↀↂ〡〩ぁゔァヺㄅㄬ一龥가힣",C6t="Private Use",L0e="ASSIGNED",M0e="\0€ÿĀſƀɏɐʯʰ˿̀ͯͰϿЀӿ԰֏֐׿؀ۿ܀ݏހ޿ऀॿঀ৿਀੿઀૿଀୿஀௿ఀ౿ಀ೿ഀൿ඀෿฀๿຀໿ༀ࿿က႟Ⴀᄀᇿ᚟ᚠ᛿ក៿᠀᢯Ḁỿἀ῿ ⁰₟₠⃏⃐⃿℀⅏⅐↏←⇿∀⌀⏿␀␿⑀⑟①⓿─╿▀▟■◿☀⛿✀➿⣿⺀⻿⼀⿟⿰⿿ 〿぀ゟヿ㄀ㄯ㄰㆏㆐㆟ㆠㆿ㈀㋿㌀㏿㐀䶵一鿿ꀀ꒏꒐꓏가힣豈﫿ffﭏﭐ﷿︠︯﹐﹯ﹰ﻾\uFEFF\uFEFF＀￯",i_e="UNASSIGNED",_E={3:1,122:1},S6t="org.eclipse.emf.ecore.xml.type.util",hK={3:1,4:1,5:1,381:1},s_e="org.eclipse.xtext.xbase.lib",_6t="Cannot add elements to a Range",A6t="Cannot set elements in a Range",L6t="Cannot remove elements from a Range",M6t="user.agent",h,fK,D0e;b.goog=b.goog||{},b.goog.global=b.goog.global||b,fK={},D(1,null,{},E),h.Fb=function(t){return Ant(this,t)},h.Gb=function(){return this.Rm},h.Hb=function(){return ww(this)},h.Ib=function(){var t;return Pm(dh(this))+"@"+(t=ts(this)>>>0,t.toString(16))},h.equals=function(e){return this.Fb(e)},h.hashCode=function(){return this.Hb()},h.toString=function(){return this.Ib()};var D6t,I6t,O6t;D(297,1,{297:1,2124:1},e8e),h.ve=function(t){var n;return n=new e8e,n.i=4,t>1?n.c=Xot(this,t-1):n.c=this,n},h.we=function(){return Xg(this),this.b},h.xe=function(){return Pm(this)},h.ye=function(){return Xg(this),this.k},h.ze=function(){return(this.i&4)!=0},h.Ae=function(){return(this.i&1)!=0},h.Ib=function(){return h7e(this)},h.i=0;var ka=I(Gc,"Object",1),a_e=I(Gc,"Class",297);D(2096,1,AP),I(LP,"Optional",2096),D(1191,2096,AP,_),h.Fb=function(t){return t===this},h.Hb=function(){return 2040732332},h.Ib=function(){return"Optional.absent()"},h.Jb=function(t){return Xr(t),c_(),I0e};var I0e;I(LP,"Absent",1191),D(636,1,{},dse),I(LP,"Joiner",636);var AOn=Ts(LP,"Predicate");D(589,1,{178:1,589:1,3:1,46:1},xz),h.Mb=function(t){return X0t(this,t)},h.Lb=function(t){return X0t(this,t)},h.Fb=function(t){var n;return De(t,589)?(n=l(t,589),Q9e(this.a,n.a)):!1},h.Hb=function(){return a8e(this.a)+306654252},h.Ib=function(){return gkn(this.a)},I(LP,"Predicates/AndPredicate",589),D(419,2096,{419:1,3:1},ZS),h.Fb=function(t){var n;return De(t,419)?(n=l(t,419),Fi(this.a,n.a)):!1},h.Hb=function(){return 1502476572+ts(this.a)},h.Ib=function(){return i3t+this.a+")"},h.Jb=function(t){return new ZS(NH(t.Kb(this.a),"the Function passed to Optional.transform() must not return null."))},I(LP,"Present",419),D(204,1,nE),h.Nb=function(t){Qa(this,t)},h.Qb=function(){pZe()},I(gn,"UnmodifiableIterator",204),D(2076,204,rE),h.Qb=function(){pZe()},h.Rb=function(t){throw ue(new Qr)},h.Wb=function(t){throw ue(new Qr)},I(gn,"UnmodifiableListIterator",2076),D(399,2076,rE),h.Ob=function(){return this.c<this.d},h.Sb=function(){return this.c>0},h.Pb=function(){if(this.c>=this.d)throw ue(new Dc);return this.Xb(this.c++)},h.Tb=function(){return this.c},h.Ub=function(){if(this.c<=0)throw ue(new Dc);return this.Xb(--this.c)},h.Vb=function(){return this.c-1},h.c=0,h.d=0,I(gn,"AbstractIndexedListIterator",399),D(713,204,nE),h.Ob=function(){return pce(this)},h.Pb=function(){return s7e(this)},h.e=1,I(gn,"AbstractIterator",713),D(2084,1,{229:1}),h.Zb=function(){var t;return t=this.f,t||(this.f=this.ac())},h.Fb=function(t){return Fce(this,t)},h.Hb=function(){return ts(this.Zb())},h.dc=function(){return this.gc()==0},h.ec=function(){return Y8(this)},h.Ib=function(){return Tc(this.Zb())},I(gn,"AbstractMultimap",2084),D(742,2084,av),h.$b=function(){EU(this)},h._b=function(t){return NZe(this,t)},h.ac=function(){return new Dk(this,this.c)},h.ic=function(t){return this.hc()},h.bc=function(){return new U5(this,this.c)},h.jc=function(){return this.mc(this.hc())},h.kc=function(){return new ZJe(this)},h.lc=function(){return Gue(this.c.vc().Nc(),new P,64,this.d)},h.cc=function(t){return $i(this,t)},h.fc=function(t){return jN(this,t)},h.gc=function(){return this.d},h.mc=function(t){return Cn(),new ja(t)},h.nc=function(){return new JJe(this)},h.oc=function(){return Gue(this.c.Cc().Nc(),new A,64,this.d)},h.pc=function(t,n){return new nU(this,t,n,null)},h.d=0,I(gn,"AbstractMapBasedMultimap",742),D(1696,742,av),h.hc=function(){return new Pu(this.a)},h.jc=function(){return Cn(),Cn(),Co},h.cc=function(t){return l($i(this,t),15)},h.fc=function(t){return l(jN(this,t),15)},h.Zb=function(){return tx(this)},h.Fb=function(t){return Fce(this,t)},h.qc=function(t){return l($i(this,t),15)},h.rc=function(t){return l(jN(this,t),15)},h.mc=function(t){return voe(l(t,15))},h.pc=function(t,n){return rut(this,t,l(n,15),null)},I(gn,"AbstractListMultimap",1696),D(748,1,Ia),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return this.c.Ob()||this.e.Ob()},h.Pb=function(){var t;return this.e.Ob()||(t=l(this.c.Pb(),44),this.b=t.ld(),this.a=l(t.md(),16),this.e=this.a.Kc()),this.sc(this.b,this.e.Pb())},h.Qb=function(){this.e.Qb(),l(Lf(this.a),16).dc()&&this.c.Qb(),--this.d.d},I(gn,"AbstractMapBasedMultimap/Itr",748),D(1129,748,Ia,JJe),h.sc=function(t,n){return n},I(gn,"AbstractMapBasedMultimap/1",1129),D(1130,1,{},A),h.Kb=function(t){return l(t,16).Nc()},I(gn,"AbstractMapBasedMultimap/1methodref$spliterator$Type",1130),D(1131,748,Ia,ZJe),h.sc=function(t,n){return new hw(t,n)},I(gn,"AbstractMapBasedMultimap/2",1131);var o_e=Ts(_r,"Map");D(2065,1,t3),h.wc=function(t){vA(this,t)},h.yc=function(t,n,r){return nue(this,t,n,r)},h.$b=function(){this.vc().$b()},h.tc=function(t){return Aue(this,t)},h._b=function(t){return!!Yxe(this,t,!1)},h.uc=function(t){var n,r,s;for(r=this.vc().Kc();r.Ob();)if(n=l(r.Pb(),44),s=n.md(),qe(t)===qe(s)||t!=null&&Fi(t,s))return!0;return!1},h.Fb=function(t){var n,r,s;if(t===this)return!0;if(!De(t,85)||(s=l(t,85),this.gc()!=s.gc()))return!1;for(r=s.vc().Kc();r.Ob();)if(n=l(r.Pb(),44),!this.tc(n))return!1;return!0},h.xc=function(t){return dc(Yxe(this,t,!1))},h.Hb=function(){return X7e(this.vc())},h.dc=function(){return this.gc()==0},h.ec=function(){return new pr(this)},h.zc=function(t,n){throw ue(new Jp("Put not supported on this map"))},h.Ac=function(t){mA(this,t)},h.Bc=function(t){return dc(Yxe(this,t,!0))},h.gc=function(){return this.vc().gc()},h.Ib=function(){return cpt(this)},h.Cc=function(){return new pi(this)},I(_r,"AbstractMap",2065),D(2085,2065,t3),h.bc=function(){return new nq(this)},h.vc=function(){return Zst(this)},h.ec=function(){var t;return t=this.g,t||(this.g=this.bc())},h.Cc=function(){var t;return t=this.i,t||(this.i=new Cet(this))},I(gn,"Maps/ViewCachingAbstractMap",2085),D(402,2085,t3,Dk),h.xc=function(t){return Own(this,t)},h.Bc=function(t){return n4n(this,t)},h.$b=function(){this.d==this.e.c?this.e.$b():hH(new c5e(this))},h._b=function(t){return N1t(this.d,t)},h.Ec=function(){return new kz(this)},h.Dc=function(){return this.Ec()},h.Fb=function(t){return this===t||Fi(this.d,t)},h.Hb=function(){return ts(this.d)},h.ec=function(){return this.e.ec()},h.gc=function(){return this.d.gc()},h.Ib=function(){return Tc(this.d)},I(gn,"AbstractMapBasedMultimap/AsMap",402);var Fh=Ts(Gc,"Iterable");D(31,1,Qy),h.Jc=function(t){Za(this,t)},h.Lc=function(){return this.Oc()},h.Nc=function(){return new kn(this,0)},h.Oc=function(){return new vn(null,this.Nc())},h.Fc=function(t){throw ue(new Jp("Add not supported on this collection"))},h.Gc=function(t){return Ga(this,t)},h.$b=function(){W5e(this)},h.Hc=function(t){return Fy(this,t,!1)},h.Ic=function(t){return DN(this,t)},h.dc=function(){return this.gc()==0},h.Mc=function(t){return Fy(this,t,!0)},h.Pc=function(){return v5e(this)},h.Qc=function(t){return BA(this,t)},h.Ib=function(){return Ob(this)},I(_r,"AbstractCollection",31);var jf=Ts(_r,"Set");D(q1,31,Tl),h.Nc=function(){return new kn(this,1)},h.Fb=function(t){return Cdt(this,t)},h.Hb=function(){return X7e(this)},I(_r,"AbstractSet",q1),D(2068,q1,Tl),I(gn,"Sets/ImprovedAbstractSet",2068),D(2069,2068,Tl),h.$b=function(){this.Rc().$b()},h.Hc=function(t){return udt(this,t)},h.dc=function(){return this.Rc().dc()},h.Mc=function(t){var n;return this.Hc(t)&&De(t,44)?(n=l(t,44),this.Rc().ec().Mc(n.ld())):!1},h.gc=function(){return this.Rc().gc()},I(gn,"Maps/EntrySet",2069),D(1127,2069,Tl,kz),h.Hc=function(t){return T8e(this.a.d.vc(),t)},h.Kc=function(){return new c5e(this.a)},h.Rc=function(){return this.a},h.Mc=function(t){var n;return T8e(this.a.d.vc(),t)?(n=l(Lf(l(t,44)),44),xvn(this.a.e,n.ld()),!0):!1},h.Nc=function(){return qO(this.a.d.vc().Nc(),new Tz(this.a))},I(gn,"AbstractMapBasedMultimap/AsMap/AsMapEntries",1127),D(1128,1,{},Tz),h.Kb=function(t){return tlt(this.a,l(t,44))},I(gn,"AbstractMapBasedMultimap/AsMap/AsMapEntries/0methodref$wrapEntry$Type",1128),D(746,1,Ia,c5e),h.Nb=function(t){Qa(this,t)},h.Pb=function(){var t;return t=l(this.b.Pb(),44),this.a=l(t.md(),16),tlt(this.c,t)},h.Ob=function(){return this.b.Ob()},h.Qb=function(){$k(!!this.a),this.b.Qb(),this.c.e.d-=this.a.gc(),this.a.$b(),this.a=null},I(gn,"AbstractMapBasedMultimap/AsMap/AsMapIterator",746),D(542,2068,Tl,nq),h.$b=function(){this.b.$b()},h.Hc=function(t){return this.b._b(t)},h.Jc=function(t){Xr(t),this.b.wc(new Az(t))},h.dc=function(){return this.b.dc()},h.Kc=function(){return new u_(this.b.vc().Kc())},h.Mc=function(t){return this.b._b(t)?(this.b.Bc(t),!0):!1},h.gc=function(){return this.b.gc()},I(gn,"Maps/KeySet",542),D(327,542,Tl,U5),h.$b=function(){var t;hH((t=this.b.vc().Kc(),new I3e(this,t)))},h.Ic=function(t){return this.b.ec().Ic(t)},h.Fb=function(t){return this===t||Fi(this.b.ec(),t)},h.Hb=function(){return ts(this.b.ec())},h.Kc=function(){var t;return t=this.b.vc().Kc(),new I3e(this,t)},h.Mc=function(t){var n,r;return r=0,n=l(this.b.Bc(t),16),n&&(r=n.gc(),n.$b(),this.a.d-=r),r>0},h.Nc=function(){return this.b.ec().Nc()},I(gn,"AbstractMapBasedMultimap/KeySet",327),D(747,1,Ia,I3e),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return this.c.Ob()},h.Pb=function(){return this.a=l(this.c.Pb(),44),this.a.ld()},h.Qb=function(){var t;$k(!!this.a),t=l(this.a.md(),16),this.c.Qb(),this.b.a.d-=t.gc(),t.$b(),this.a=null},I(gn,"AbstractMapBasedMultimap/KeySet/1",747),D(503,402,{85:1,133:1},PO),h.bc=function(){return this.Sc()},h.ec=function(){return this.Uc()},h.Sc=function(){return new uO(this.c,this.Wc())},h.Tc=function(){return this.Wc().Tc()},h.Uc=function(){var t;return t=this.b,t||(this.b=this.Sc())},h.Vc=function(){return this.Wc().Vc()},h.Wc=function(){return l(this.d,133)},I(gn,"AbstractMapBasedMultimap/SortedAsMap",503),D(446,503,mTe,H_),h.bc=function(){return new Mk(this.a,l(l(this.d,133),139))},h.Sc=function(){return new Mk(this.a,l(l(this.d,133),139))},h.ec=function(){var t;return t=this.b,l(t||(this.b=new Mk(this.a,l(l(this.d,133),139))),277)},h.Uc=function(){var t;return t=this.b,l(t||(this.b=new Mk(this.a,l(l(this.d,133),139))),277)},h.Wc=function(){return l(l(this.d,133),139)},h.Xc=function(t){return l(l(this.d,133),139).Xc(t)},h.Yc=function(t){return l(l(this.d,133),139).Yc(t)},h.Zc=function(t,n){return new H_(this.a,l(l(this.d,133),139).Zc(t,n))},h.$c=function(t){return l(l(this.d,133),139).$c(t)},h._c=function(t){return l(l(this.d,133),139)._c(t)},h.ad=function(t,n){return new H_(this.a,l(l(this.d,133),139).ad(t,n))},I(gn,"AbstractMapBasedMultimap/NavigableAsMap",446),D(502,327,s3t,uO),h.Nc=function(){return this.b.ec().Nc()},I(gn,"AbstractMapBasedMultimap/SortedKeySet",502),D(401,502,vTe,Mk),I(gn,"AbstractMapBasedMultimap/NavigableKeySet",401),D(551,31,Qy,nU),h.Fc=function(t){var n,r;return Wl(this),r=this.d.dc(),n=this.d.Fc(t),n&&(++this.f.d,r&&jO(this)),n},h.Gc=function(t){var n,r,s;return t.dc()?!1:(s=(Wl(this),this.d.gc()),n=this.d.Gc(t),n&&(r=this.d.gc(),this.f.d+=r-s,s==0&&jO(this)),n)},h.$b=function(){var t;t=(Wl(this),this.d.gc()),t!=0&&(this.d.$b(),this.f.d-=t,mH(this))},h.Hc=function(t){return Wl(this),this.d.Hc(t)},h.Ic=function(t){return Wl(this),this.d.Ic(t)},h.Fb=function(t){return t===this?!0:(Wl(this),Fi(this.d,t))},h.Hb=function(){return Wl(this),ts(this.d)},h.Kc=function(){return Wl(this),new V4e(this)},h.Mc=function(t){var n;return Wl(this),n=this.d.Mc(t),n&&(--this.f.d,mH(this)),n},h.gc=function(){return gnt(this)},h.Nc=function(){return Wl(this),this.d.Nc()},h.Ib=function(){return Wl(this),Tc(this.d)},I(gn,"AbstractMapBasedMultimap/WrappedCollection",551);var bf=Ts(_r,"List");D(744,551,{20:1,31:1,16:1,15:1},x5e),h.jd=function(t){Wm(this,t)},h.Nc=function(){return Wl(this),this.d.Nc()},h.bd=function(t,n){var r;Wl(this),r=this.d.dc(),l(this.d,15).bd(t,n),++this.a.d,r&&jO(this)},h.cd=function(t,n){var r,s,o;return n.dc()?!1:(o=(Wl(this),this.d.gc()),r=l(this.d,15).cd(t,n),r&&(s=this.d.gc(),this.a.d+=s-o,o==0&&jO(this)),r)},h.Xb=function(t){return Wl(this),l(this.d,15).Xb(t)},h.dd=function(t){return Wl(this),l(this.d,15).dd(t)},h.ed=function(){return Wl(this),new Unt(this)},h.fd=function(t){return Wl(this),new dot(this,t)},h.gd=function(t){var n;return Wl(this),n=l(this.d,15).gd(t),--this.a.d,mH(this),n},h.hd=function(t,n){return Wl(this),l(this.d,15).hd(t,n)},h.kd=function(t,n){return Wl(this),rut(this.a,this.e,l(this.d,15).kd(t,n),this.b?this.b:this)},I(gn,"AbstractMapBasedMultimap/WrappedList",744),D(1126,744,{20:1,31:1,16:1,15:1,59:1},Ort),I(gn,"AbstractMapBasedMultimap/RandomAccessWrappedList",1126),D(628,1,Ia,V4e),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return Qk(this),this.b.Ob()},h.Pb=function(){return Qk(this),this.b.Pb()},h.Qb=function(){mrt(this)},I(gn,"AbstractMapBasedMultimap/WrappedCollection/WrappedIterator",628),D(745,628,dg,Unt,dot),h.Qb=function(){mrt(this)},h.Rb=function(t){var n;n=gnt(this.a)==0,(Qk(this),l(this.b,128)).Rb(t),++this.a.a.d,n&&jO(this.a)},h.Sb=function(){return(Qk(this),l(this.b,128)).Sb()},h.Tb=function(){return(Qk(this),l(this.b,128)).Tb()},h.Ub=function(){return(Qk(this),l(this.b,128)).Ub()},h.Vb=function(){return(Qk(this),l(this.b,128)).Vb()},h.Wb=function(t){(Qk(this),l(this.b,128)).Wb(t)},I(gn,"AbstractMapBasedMultimap/WrappedList/WrappedListIterator",745),D(743,551,s3t,l4e),h.Nc=function(){return Wl(this),this.d.Nc()},I(gn,"AbstractMapBasedMultimap/WrappedSortedSet",743),D(1125,743,vTe,jnt),I(gn,"AbstractMapBasedMultimap/WrappedNavigableSet",1125),D(1124,551,Tl,eit),h.Nc=function(){return Wl(this),this.d.Nc()},I(gn,"AbstractMapBasedMultimap/WrappedSet",1124),D(1133,1,{},P),h.Kb=function(t){return Dvn(l(t,44))},I(gn,"AbstractMapBasedMultimap/lambda$1$Type",1133),D(1132,1,{},Mie),h.Kb=function(t){return new hw(this.a,t)},I(gn,"AbstractMapBasedMultimap/lambda$2$Type",1132);var mv=Ts(_r,"Map/Entry");D(358,1,Wle),h.Fb=function(t){var n;return De(t,44)?(n=l(t,44),yd(this.ld(),n.ld())&&yd(this.md(),n.md())):!1},h.Hb=function(){var t,n;return t=this.ld(),n=this.md(),(t==null?0:ts(t))^(n==null?0:ts(n))},h.nd=function(t){throw ue(new Qr)},h.Ib=function(){return this.ld()+"="+this.md()},I(gn,a3t,358),D(2086,31,Qy),h.$b=function(){this.od().$b()},h.Hc=function(t){var n;return De(t,44)?(n=l(t,44),Jbn(this.od(),n.ld(),n.md())):!1},h.Mc=function(t){var n;return De(t,44)?(n=l(t,44),Rct(this.od(),n.ld(),n.md())):!1},h.gc=function(){return this.od().d},I(gn,"Multimaps/Entries",2086),D(749,2086,Qy,Cz),h.Kc=function(){return this.a.kc()},h.od=function(){return this.a},h.Nc=function(){return this.a.lc()},I(gn,"AbstractMultimap/Entries",749),D(750,749,Tl,u3e),h.Nc=function(){return this.a.lc()},h.Fb=function(t){return p9e(this,t)},h.Hb=function(){return Yft(this)},I(gn,"AbstractMultimap/EntrySet",750),D(751,31,Qy,ab),h.$b=function(){this.a.$b()},h.Hc=function(t){return Xyn(this.a,t)},h.Kc=function(){return this.a.nc()},h.gc=function(){return this.a.d},h.Nc=function(){return this.a.oc()},I(gn,"AbstractMultimap/Values",751),D(2087,31,{849:1,20:1,31:1,16:1}),h.Jc=function(t){Xr(t),G5(this).Jc(new Bie(t))},h.Nc=function(){var t;return t=G5(this).Nc(),Gue(t,new be,64|t.yd()&1296,this.a.d)},h.Fc=function(t){return m3e(),!0},h.Gc=function(t){return Xr(this),Xr(t),De(t,552)?tmn(l(t,849)):!t.dc()&&ace(this,t.Kc())},h.Hc=function(t){var n;return n=l(By(tx(this.a),t),16),(n?n.gc():0)>0},h.Fb=function(t){return TEn(this,t)},h.Hb=function(){return ts(G5(this))},h.dc=function(){return G5(this).dc()},h.Mc=function(t){return x2t(this,t,1)>0},h.Ib=function(){return Tc(G5(this))},I(gn,"AbstractMultiset",2087),D(2089,2068,Tl),h.$b=function(){EU(this.a.a)},h.Hc=function(t){var n,r;return De(t,504)?(r=l(t,425),l(r.a.md(),16).gc()<=0?!1:(n=hct(this.a,r.a.ld()),n==l(r.a.md(),16).gc())):!1},h.Mc=function(t){var n,r,s,o;return De(t,504)&&(r=l(t,425),n=r.a.ld(),s=l(r.a.md(),16).gc(),s!=0)?(o=this.a,dTn(o,n,s)):!1},I(gn,"Multisets/EntrySet",2089),D(1139,2089,Tl,Die),h.Kc=function(){return new iZe(Zst(tx(this.a.a)).Kc())},h.gc=function(){return tx(this.a.a).gc()},I(gn,"AbstractMultiset/EntrySet",1139),D(627,742,av),h.hc=function(){return this.pd()},h.jc=function(){return this.qd()},h.cc=function(t){return this.rd(t)},h.fc=function(t){return this.sd(t)},h.Zb=function(){var t;return t=this.f,t||(this.f=this.ac())},h.qd=function(){return Cn(),Cn(),vK},h.Fb=function(t){return Fce(this,t)},h.rd=function(t){return l($i(this,t),21)},h.sd=function(t){return l(jN(this,t),21)},h.mc=function(t){return Cn(),new Ck(l(t,21))},h.pc=function(t,n){return new eit(this,t,l(n,21))},I(gn,"AbstractSetMultimap",627),D(1723,627,av),h.hc=function(){return new n2(this.b)},h.pd=function(){return new n2(this.b)},h.jc=function(){return q5e(new n2(this.b))},h.qd=function(){return q5e(new n2(this.b))},h.cc=function(t){return l(l($i(this,t),21),87)},h.rd=function(t){return l(l($i(this,t),21),87)},h.fc=function(t){return l(l(jN(this,t),21),87)},h.sd=function(t){return l(l(jN(this,t),21),87)},h.mc=function(t){return De(t,277)?q5e(l(t,277)):(Cn(),new Yye(l(t,87)))},h.Zb=function(){var t;return t=this.f,t||(this.f=De(this.c,139)?new H_(this,l(this.c,139)):De(this.c,133)?new PO(this,l(this.c,133)):new Dk(this,this.c))},h.pc=function(t,n){return De(n,277)?new jnt(this,t,l(n,277)):new l4e(this,t,l(n,87))},I(gn,"AbstractSortedSetMultimap",1723),D(1724,1723,av),h.Zb=function(){var t;return t=this.f,l(l(t||(this.f=De(this.c,139)?new H_(this,l(this.c,139)):De(this.c,133)?new PO(this,l(this.c,133)):new Dk(this,this.c)),133),139)},h.ec=function(){var t;return t=this.i,l(l(t||(this.i=De(this.c,139)?new Mk(this,l(this.c,139)):De(this.c,133)?new uO(this,l(this.c,133)):new U5(this,this.c)),87),277)},h.bc=function(){return De(this.c,139)?new Mk(this,l(this.c,139)):De(this.c,133)?new uO(this,l(this.c,133)):new U5(this,this.c)},I(gn,"AbstractSortedKeySortedSetMultimap",1724),D(2109,1,{2046:1}),h.Fb=function(t){return W8n(this,t)},h.Hb=function(){var t;return X7e((t=this.g,t||(this.g=new WI(this))))},h.Ib=function(){var t;return cpt((t=this.f,t||(this.f=new Vye(this))))},I(gn,"AbstractTable",2109),D(679,q1,Tl,WI),h.$b=function(){bZe()},h.Hc=function(t){var n,r;return De(t,479)?(n=l(t,697),r=l(By(Tat(this.a),pb(n.c.e,n.b)),85),!!r&&T8e(r.vc(),new hw(pb(n.c.c,n.a),cx(n.c,n.b,n.a)))):!1},h.Kc=function(){return Jpn(this.a)},h.Mc=function(t){var n,r;return De(t,479)?(n=l(t,697),r=l(By(Tat(this.a),pb(n.c.e,n.b)),85),!!r&&L4n(r.vc(),new hw(pb(n.c.c,n.a),cx(n.c,n.b,n.a)))):!1},h.gc=function(){return Sst(this.a)},h.Nc=function(){return imn(this.a)},I(gn,"AbstractTable/CellSet",679),D(2025,31,Qy,Oie),h.$b=function(){bZe()},h.Hc=function(t){return $xn(this.a,t)},h.Kc=function(){return Zpn(this.a)},h.gc=function(){return Sst(this.a)},h.Nc=function(){return Fct(this.a)},I(gn,"AbstractTable/Values",2025),D(1697,1696,av),I(gn,"ArrayListMultimapGwtSerializationDependencies",1697),D(520,1697,av,bse,l6e),h.hc=function(){return new Pu(this.a)},h.a=0,I(gn,"ArrayListMultimap",520),D(678,2109,{678:1,2046:1,3:1},N2t),I(gn,"ArrayTable",678),D(2021,399,rE,vrt),h.Xb=function(t){return new t8e(this.a,t)},I(gn,"ArrayTable/1",2021),D(2022,1,{},Aie),h.td=function(t){return new t8e(this.a,t)},I(gn,"ArrayTable/1methodref$getCell$Type",2022),D(2110,1,{697:1}),h.Fb=function(t){var n;return t===this?!0:De(t,479)?(n=l(t,697),yd(pb(this.c.e,this.b),pb(n.c.e,n.b))&&yd(pb(this.c.c,this.a),pb(n.c.c,n.a))&&yd(cx(this.c,this.b,this.a),cx(n.c,n.b,n.a))):!1},h.Hb=function(){return RN(he(le(ka,1),jn,1,5,[pb(this.c.e,this.b),pb(this.c.c,this.a),cx(this.c,this.b,this.a)]))},h.Ib=function(){return"("+pb(this.c.e,this.b)+","+pb(this.c.c,this.a)+")="+cx(this.c,this.b,this.a)},I(gn,"Tables/AbstractCell",2110),D(479,2110,{479:1,697:1},t8e),h.a=0,h.b=0,h.d=0,I(gn,"ArrayTable/2",479),D(2024,1,{},Lie),h.td=function(t){return cht(this.a,t)},I(gn,"ArrayTable/2methodref$getValue$Type",2024),D(2023,399,rE,wrt),h.Xb=function(t){return cht(this.a,t)},I(gn,"ArrayTable/3",2023),D(2077,2065,t3),h.$b=function(){hH(this.kc())},h.vc=function(){return new _z(this)},h.lc=function(){return new rot(this.kc(),this.gc())},I(gn,"Maps/IteratorBasedAbstractMap",2077),D(842,2077,t3),h.$b=function(){throw ue(new Qr)},h._b=function(t){return PZe(this.c,t)},h.kc=function(){return new yrt(this,this.c.b.c.gc())},h.lc=function(){return jae(this.c.b.c.gc(),16,new Ez(this))},h.xc=function(t){var n;return n=l(U_(this.c,t),17),n?this.vd(n.a):null},h.dc=function(){return this.c.b.c.dc()},h.ec=function(){return Kae(this.c)},h.zc=function(t,n){var r;if(r=l(U_(this.c,t),17),!r)throw ue(new Wn(this.ud()+" "+t+" not in "+Kae(this.c)));return this.wd(r.a,n)},h.Bc=function(t){throw ue(new Qr)},h.gc=function(){return this.c.b.c.gc()},I(gn,"ArrayTable/ArrayMap",842),D(2020,1,{},Ez),h.td=function(t){return Cat(this.a,t)},I(gn,"ArrayTable/ArrayMap/0methodref$getEntry$Type",2020),D(2018,358,Wle,oet),h.ld=function(){return ffn(this.a,this.b)},h.md=function(){return this.a.vd(this.b)},h.nd=function(t){return this.a.wd(this.b,t)},h.b=0,I(gn,"ArrayTable/ArrayMap/1",2018),D(2019,399,rE,yrt),h.Xb=function(t){return Cat(this.a,t)},I(gn,"ArrayTable/ArrayMap/2",2019),D(2017,842,t3,fat),h.ud=function(){return"Column"},h.vd=function(t){return cx(this.b,this.a,t)},h.wd=function(t,n){return P0t(this.b,this.a,t,n)},h.a=0,I(gn,"ArrayTable/Row",2017),D(843,842,t3,Vye),h.vd=function(t){return new fat(this.a,t)},h.zc=function(t,n){return l(n,85),Oun()},h.wd=function(t,n){return l(n,85),Nun()},h.ud=function(){return"Row"},I(gn,"ArrayTable/RowMap",843),D(1157,1,Ph,cet),h.Ad=function(t){return(this.a.yd()&-262&t)!=0},h.yd=function(){return this.a.yd()&-262},h.zd=function(){return this.a.zd()},h.Nb=function(t){this.a.Nb(new het(t,this.b))},h.Bd=function(t){return this.a.Bd(new uet(t,this.b))},I(gn,"CollectSpliterators/1",1157),D(1158,1,hr,uet),h.Cd=function(t){this.a.Cd(this.b.Kb(t))},I(gn,"CollectSpliterators/1/lambda$0$Type",1158),D(1159,1,hr,het),h.Cd=function(t){this.a.Cd(this.b.Kb(t))},I(gn,"CollectSpliterators/1/lambda$1$Type",1159),D(1154,1,Ph,Pit),h.Ad=function(t){return((16464|this.b)&t)!=0},h.yd=function(){return 16464|this.b},h.zd=function(){return this.a.zd()},h.Nb=function(t){this.a.Qe(new det(t,this.c))},h.Bd=function(t){return this.a.Re(new fet(t,this.c))},h.b=0,I(gn,"CollectSpliterators/1WithCharacteristics",1154),D(1155,1,MP,fet),h.Dd=function(t){this.a.Cd(this.b.td(t))},I(gn,"CollectSpliterators/1WithCharacteristics/lambda$0$Type",1155),D(1156,1,MP,det),h.Dd=function(t){this.a.Cd(this.b.td(t))},I(gn,"CollectSpliterators/1WithCharacteristics/lambda$1$Type",1156),D(1150,1,Ph),h.Ad=function(t){return(this.a&t)!=0},h.yd=function(){return this.a},h.zd=function(){return this.e&&(this.b=Oye(this.b,this.e.zd())),Oye(this.b,0)},h.Nb=function(t){this.e&&(this.e.Nb(t),this.e=null),this.c.Nb(new get(this,t)),this.b=0},h.Bd=function(t){for(;;){if(this.e&&this.e.Bd(t))return O_(this.b,DP)&&(this.b=Df(this.b,1)),!0;if(this.e=null,!this.c.Bd(new Nie(this)))return!1}},h.a=0,h.b=0,I(gn,"CollectSpliterators/FlatMapSpliterator",1150),D(1152,1,hr,Nie),h.Cd=function(t){l0n(this.a,t)},I(gn,"CollectSpliterators/FlatMapSpliterator/lambda$0$Type",1152),D(1153,1,hr,get),h.Cd=function(t){Ppn(this.a,this.b,t)},I(gn,"CollectSpliterators/FlatMapSpliterator/lambda$1$Type",1153),D(1151,1150,Ph,tut),I(gn,"CollectSpliterators/FlatMapSpliteratorOfObject",1151),D(253,1,Yle),h.Fd=function(t){return this.Ed(l(t,253))},h.Ed=function(t){var n;return t==(ase(),N0e)?1:t==(sse(),O0e)?-1:(n=(aH(),SN(this.a,t.a)),n!=0?n:De(this,526)==De(t,526)?0:De(this,526)?1:-1)},h.Id=function(){return this.a},h.Fb=function(t){return xxe(this,t)},I(gn,"Cut",253),D(1823,253,Yle,QJe),h.Ed=function(t){return t==this?0:1},h.Gd=function(t){throw ue(new Uwe)},h.Hd=function(t){t.a+="+∞)"},h.Id=function(){throw ue(new ic(c3t))},h.Hb=function(){return Wg(),axe(this)},h.Jd=function(t){return!1},h.Ib=function(){return"+∞"};var O0e;I(gn,"Cut/AboveAll",1823),D(526,253,{253:1,526:1,3:1,34:1},Srt),h.Gd=function(t){mu((t.a+="(",t),this.a)},h.Hd=function(t){yb(mu(t,this.a),93)},h.Hb=function(){return~ts(this.a)},h.Jd=function(t){return aH(),SN(this.a,t)<0},h.Ib=function(){return"/"+this.a+"\\"},I(gn,"Cut/AboveValue",526),D(1822,253,Yle,XJe),h.Ed=function(t){return t==this?0:-1},h.Gd=function(t){t.a+="(-∞"},h.Hd=function(t){throw ue(new Uwe)},h.Id=function(){throw ue(new ic(c3t))},h.Hb=function(){return Wg(),axe(this)},h.Jd=function(t){return!0},h.Ib=function(){return"-∞"};var N0e;I(gn,"Cut/BelowAll",1822),D(1824,253,Yle,_rt),h.Gd=function(t){mu((t.a+="[",t),this.a)},h.Hd=function(t){yb(mu(t,this.a),41)},h.Hb=function(){return ts(this.a)},h.Jd=function(t){return aH(),SN(this.a,t)<=0},h.Ib=function(){return"\\"+this.a+"/"},I(gn,"Cut/BelowValue",1824),D(547,1,gg),h.Jc=function(t){Za(this,t)},h.Ib=function(){return X4n(l(NH(this,"use Optional.orNull() instead of Optional.or(null)"),20).Kc())},I(gn,"FluentIterable",547),D(442,547,gg,B_),h.Kc=function(){return new lr(fr(this.a.Kc(),new j))},I(gn,"FluentIterable/2",442),D(1059,547,gg,Pnt),h.Kc=function(){return ag(this)},I(gn,"FluentIterable/3",1059),D(724,399,rE,Gye),h.Xb=function(t){return this.a[t].Kc()},I(gn,"FluentIterable/3/1",724),D(2070,1,{}),h.Ib=function(){return Tc(this.Kd().b)},I(gn,"ForwardingObject",2070),D(2071,2070,u3t),h.Kd=function(){return this.Ld()},h.Jc=function(t){Za(this,t)},h.Lc=function(){return this.Oc()},h.Nc=function(){return new kn(this,0)},h.Oc=function(){return new vn(null,this.Nc())},h.Fc=function(t){return this.Ld(),FZe()},h.Gc=function(t){return this.Ld(),RZe()},h.$b=function(){this.Ld(),jZe()},h.Hc=function(t){return this.Ld().Hc(t)},h.Ic=function(t){return this.Ld().Ic(t)},h.dc=function(){return this.Ld().b.dc()},h.Kc=function(){return this.Ld().Kc()},h.Mc=function(t){return this.Ld(),$Ze()},h.gc=function(){return this.Ld().b.gc()},h.Pc=function(){return this.Ld().Pc()},h.Qc=function(t){return this.Ld().Qc(t)},I(gn,"ForwardingCollection",2071),D(2078,31,wTe),h.Kc=function(){return this.Od()},h.Fc=function(t){throw ue(new Qr)},h.Gc=function(t){throw ue(new Qr)},h.Md=function(){var t;return t=this.c,t||(this.c=this.Nd())},h.$b=function(){throw ue(new Qr)},h.Hc=function(t){return t!=null&&Fy(this,t,!1)},h.Nd=function(){switch(this.gc()){case 0:return Sw(),Sw(),P0e;case 1:return Sw(),new $ae(Xr(this.Od().Pb()));default:return new C5e(this,this.Pc())}},h.Mc=function(t){throw ue(new Qr)},I(gn,"ImmutableCollection",2078),D(727,2078,wTe,qwe),h.Kc=function(){return ux(this.a.Kc())},h.Hc=function(t){return t!=null&&this.a.Hc(t)},h.Ic=function(t){return this.a.Ic(t)},h.dc=function(){return this.a.dc()},h.Od=function(){return ux(this.a.Kc())},h.gc=function(){return this.a.gc()},h.Pc=function(){return this.a.Pc()},h.Qc=function(t){return this.a.Qc(t)},h.Ib=function(){return Tc(this.a)},I(gn,"ForwardingImmutableCollection",727),D(307,2078,iE),h.Kc=function(){return this.Od()},h.ed=function(){return this.Pd(0)},h.fd=function(t){return this.Pd(t)},h.jd=function(t){Wm(this,t)},h.Nc=function(){return new kn(this,16)},h.kd=function(t,n){return this.Qd(t,n)},h.bd=function(t,n){throw ue(new Qr)},h.cd=function(t,n){throw ue(new Qr)},h.Md=function(){return this},h.Fb=function(t){return hEn(this,t)},h.Hb=function(){return syn(this)},h.dd=function(t){return t==null?-1:A7n(this,t)},h.Od=function(){return this.Pd(0)},h.Pd=function(t){return vae(this,t)},h.gd=function(t){throw ue(new Qr)},h.hd=function(t,n){throw ue(new Qr)},h.Qd=function(t,n){var r;return VU((r=new Eet(this),new c2(r,t,n)))};var P0e;I(gn,"ImmutableList",307),D(2105,307,iE),h.Kc=function(){return ux(this.Rd().Kc())},h.kd=function(t,n){return VU(this.Rd().kd(t,n))},h.Hc=function(t){return t!=null&&this.Rd().Hc(t)},h.Ic=function(t){return this.Rd().Ic(t)},h.Fb=function(t){return Fi(this.Rd(),t)},h.Xb=function(t){return pb(this,t)},h.Hb=function(){return ts(this.Rd())},h.dd=function(t){return this.Rd().dd(t)},h.dc=function(){return this.Rd().dc()},h.Od=function(){return ux(this.Rd().Kc())},h.gc=function(){return this.Rd().gc()},h.Qd=function(t,n){return VU(this.Rd().kd(t,n))},h.Pc=function(){return this.Rd().Qc(We(ka,jn,1,this.Rd().gc(),5,1))},h.Qc=function(t){return this.Rd().Qc(t)},h.Ib=function(){return Tc(this.Rd())},I(gn,"ForwardingImmutableList",2105),D(729,1,sE),h.vc=function(){return Rm(this)},h.wc=function(t){vA(this,t)},h.ec=function(){return Kae(this)},h.yc=function(t,n,r){return nue(this,t,n,r)},h.Cc=function(){return this.Vd()},h.$b=function(){throw ue(new Qr)},h._b=function(t){return this.xc(t)!=null},h.uc=function(t){return this.Vd().Hc(t)},h.Td=function(){return new sJe(this)},h.Ud=function(){return new aJe(this)},h.Fb=function(t){return Qyn(this,t)},h.Hb=function(){return Rm(this).Hb()},h.dc=function(){return this.gc()==0},h.zc=function(t,n){return Iun()},h.Bc=function(t){throw ue(new Qr)},h.Ib=function(){return R9n(this)},h.Vd=function(){return this.e?this.e:this.e=this.Ud()},h.c=null,h.d=null,h.e=null;var N6t;I(gn,"ImmutableMap",729),D(730,729,sE),h._b=function(t){return PZe(this,t)},h.uc=function(t){return Det(this.b,t)},h.Sd=function(){return D1t(new Iie(this))},h.Td=function(){return D1t(Kat(this.b))},h.Ud=function(){return wd(),new qwe(Gat(this.b))},h.Fb=function(t){return Iet(this.b,t)},h.xc=function(t){return U_(this,t)},h.Hb=function(){return ts(this.b.c)},h.dc=function(){return this.b.c.dc()},h.gc=function(){return this.b.c.gc()},h.Ib=function(){return Tc(this.b.c)},I(gn,"ForwardingImmutableMap",730),D(2072,2071,Xle),h.Kd=function(){return this.Wd()},h.Ld=function(){return this.Wd()},h.Nc=function(){return new kn(this,1)},h.Fb=function(t){return t===this||this.Wd().Fb(t)},h.Hb=function(){return this.Wd().Hb()},I(gn,"ForwardingSet",2072),D(1085,2072,Xle,Iie),h.Kd=function(){return Yk(this.a.b)},h.Ld=function(){return Yk(this.a.b)},h.Hc=function(t){if(De(t,44)&&l(t,44).ld()==null)return!1;try{return Met(Yk(this.a.b),t)}catch(n){if(n=ms(n),De(n,212))return!1;throw ue(n)}},h.Wd=function(){return Yk(this.a.b)},h.Qc=function(t){var n;return n=Dot(Yk(this.a.b),t),Yk(this.a.b).b.gc()<n.length&&Ss(n,Yk(this.a.b).b.gc(),null),n},I(gn,"ForwardingImmutableMap/1",1085),D(2079,2078,_x),h.Kc=function(){return this.Od()},h.Nc=function(){return new kn(this,1)},h.Fb=function(t){return p9e(this,t)},h.Hb=function(){return Yft(this)},I(gn,"ImmutableSet",2079),D(719,2079,_x),h.Kc=function(){return ux(new vo(this.a.b.Kc()))},h.Hc=function(t){return t!=null&&lO(this.a,t)},h.Ic=function(t){return Aet(this.a,t)},h.Hb=function(){return ts(this.a.b)},h.dc=function(){return this.a.b.dc()},h.Od=function(){return ux(new vo(this.a.b.Kc()))},h.gc=function(){return this.a.b.gc()},h.Pc=function(){return this.a.b.Pc()},h.Qc=function(t){return Let(this.a,t)},h.Ib=function(){return Tc(this.a.b)},I(gn,"ForwardingImmutableSet",719),D(2073,2072,l3t),h.Kd=function(){return this.b},h.Ld=function(){return this.b},h.Wd=function(){return this.b},h.Nc=function(){return new dq(this)},I(gn,"ForwardingSortedSet",2073),D(543,2077,sE,pV),h.Ac=function(t){mA(this,t)},h.Cc=function(){var t;return t=this.d,new hae(t||(this.d=new ob(this)))},h.$b=function(){cN(this)},h._b=function(t){return!!pA(this,t,Yr(go(pg,og(Yr(go(t==null?0:ts(t),bg)),15))))},h.uc=function(t){return Jht(this,t)},h.kc=function(){return new xrt(this,this)},h.wc=function(t){Vot(this,t)},h.xc=function(t){return J5(this,t)},h.ec=function(){return new fae(this)},h.zc=function(t,n){return VV(this,t,n)},h.Bc=function(t){var n;return n=pA(this,t,Yr(go(pg,og(Yr(go(t==null?0:ts(t),bg)),15)))),n?(h6(this,n),n.e=null,n.c=null,n.i):null},h.gc=function(){return this.i},h.xd=function(){var t;return t=this.d,new hae(t||(this.d=new ob(this)))},h.f=0,h.g=0,h.i=0,I(gn,"HashBiMap",543),D(544,1,Ia),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return iut(this)},h.Pb=function(){var t;if(!iut(this))throw ue(new Dc);return t=l(Lf(this.c),303),this.c=t.c,this.f=t,--this.d,this.Xd(t)},h.Qb=function(){if(this.e.g!=this.b)throw ue(new Yh);if(!this.f)throw ue(new ic(bTe));h6(this.e,this.f),this.b=this.e.g,this.f=null},h.b=0,h.d=0,h.f=null,I(gn,"HashBiMap/Itr",544),D(1023,544,Ia,xrt),h.Xd=function(t){return new pet(this,t)},I(gn,"HashBiMap/1",1023),D(b0,358,Wle,pet),h.ld=function(){return this.a.g},h.md=function(){return this.a.i},h.nd=function(t){var n,r,s;return r=this.a.i,s=Yr(go(pg,og(Yr(go(t==null?0:ts(t),bg)),15))),s==this.a.f&&(qe(t)===qe(r)||t!=null&&Fi(t,r))?t:(I0t(!bA(this.b.a,t,s),t),h6(this.b.a,this.a),n=new AH(this.a.g,this.a.a,t,s),cP(this.b.a,n,this.a),this.a.e=null,this.a.c=null,this.b.b=this.b.a.g,this.b.f==this.a&&(this.b.f=n),this.a=n,r)},I(gn,"HashBiMap/1/MapEntry",b0),D(246,358,{358:1,246:1,3:1,44:1},hw),h.ld=function(){return this.g},h.md=function(){return this.i},h.nd=function(t){throw ue(new Qr)},I(gn,"ImmutableEntry",246),D(303,246,{358:1,303:1,246:1,3:1,44:1},AH),h.a=0,h.f=0;var B0e=I(gn,"HashBiMap/BiEntry",303);D(619,2077,sE,ob),h.Ac=function(t){mA(this,t)},h.Cc=function(){return new fae(this.a)},h.$b=function(){cN(this.a)},h._b=function(t){return Jht(this.a,t)},h.kc=function(){return new krt(this,this.a)},h.wc=function(t){Xr(t),Vot(this.a,new Sz(t))},h.xc=function(t){return CU(this,t)},h.ec=function(){return new hae(this)},h.zc=function(t,n){return xAn(this.a,t,n,!1)},h.Bc=function(t){var n;return n=bA(this.a,t,Yr(go(pg,og(Yr(go(t==null?0:ts(t),bg)),15)))),n?(h6(this.a,n),n.e=null,n.c=null,n.g):null},h.gc=function(){return this.a.i},h.xd=function(){return new fae(this.a)},I(gn,"HashBiMap/Inverse",619),D(1020,544,Ia,krt),h.Xd=function(t){return new bet(this,t)},I(gn,"HashBiMap/Inverse/1",1020),D(1021,358,Wle,bet),h.ld=function(){return this.a.i},h.md=function(){return this.a.g},h.nd=function(t){var n,r,s;return s=this.a.g,n=Yr(go(pg,og(Yr(go(t==null?0:ts(t),bg)),15))),n==this.a.a&&(qe(t)===qe(s)||t!=null&&Fi(t,s))?t:(I0t(!pA(this.b.a.a,t,n),t),h6(this.b.a.a,this.a),r=new AH(t,n,this.a.i,this.a.f),this.a=r,cP(this.b.a.a,r,null),this.b.b=this.b.a.a.g,s)},I(gn,"HashBiMap/Inverse/1/InverseEntry",1021),D(620,542,Tl,hae),h.Kc=function(){return new eZe(this.a.a)},h.Mc=function(t){var n;return n=bA(this.a.a,t,Yr(go(pg,og(Yr(go(t==null?0:ts(t),bg)),15)))),n?(h6(this.a.a,n),!0):!1},I(gn,"HashBiMap/Inverse/InverseKeySet",620),D(1019,544,Ia,eZe),h.Xd=function(t){return t.i},I(gn,"HashBiMap/Inverse/InverseKeySet/1",1019),D(1022,1,{},Sz),h.Yd=function(t,n){lun(this.a,t,n)},I(gn,"HashBiMap/Inverse/lambda$0$Type",1022),D(618,542,Tl,fae),h.Kc=function(){return new tZe(this.a)},h.Mc=function(t){var n;return n=pA(this.a,t,Yr(go(pg,og(Yr(go(t==null?0:ts(t),bg)),15)))),n?(h6(this.a,n),n.e=null,n.c=null,!0):!1},I(gn,"HashBiMap/KeySet",618),D(1018,544,Ia,tZe),h.Xd=function(t){return t.g},I(gn,"HashBiMap/KeySet/1",1018),D(1123,627,av),I(gn,"HashMultimapGwtSerializationDependencies",1123),D(271,1123,av,Iw),h.hc=function(){return new eq(Dy(this.a))},h.pd=function(){return new eq(Dy(this.a))},h.a=2,I(gn,"HashMultimap",271),D(2097,307,iE),h.Hc=function(t){return this.Zd().Hc(t)},h.dc=function(){return this.Zd().dc()},h.gc=function(){return this.Zd().gc()},I(gn,"ImmutableAsList",2097),D(2030,730,sE),h.Vd=function(){return wd(),new N8(this.a)},h.Cc=function(){return wd(),new N8(this.a)},h.xd=function(){return wd(),new N8(this.a)},I(gn,"ImmutableBiMap",2030),D(2075,1,{}),I(gn,"ImmutableCollection/Builder",2075),D(1035,719,_x,nZe),I(gn,"ImmutableEnumSet",1035),D(980,399,rE,Oit),h.Xb=function(t){return this.a.Xb(t)},I(gn,"ImmutableList/1",980),D(979,2075,{},kit),I(gn,"ImmutableList/Builder",979),D(623,204,nE,vk),h.Ob=function(){return this.a.Ob()},h.Pb=function(){return l(this.a.Pb(),44).ld()},I(gn,"ImmutableMap/1",623),D(1054,1,{},R),h.Kb=function(t){return l(t,44).ld()},I(gn,"ImmutableMap/2methodref$getKey$Type",1054),D(1053,1,{},Tit),I(gn,"ImmutableMap/Builder",1053),D(2098,2079,_x),h.Md=function(){var t;return t=this.b,t||(this.b=new Qie(this))},h.Nd=function(){return new C5e(this,BA(this,We(ka,jn,1,this.gc(),5,1)))},I(gn,"ImmutableSet/CachingAsList",2098),D(2099,2098,_x),h.Kc=function(){var t;return t=Rm(this.a).Od(),new vk(t)},h.Nd=function(){return new Qie(this)},h.Jc=function(t){var n,r;for(Xr(t),r=this.gc(),n=0;n<r;n++)t.Cd(l(Rm(this.a).Md().Xb(n),44).ld())},h.Od=function(){var t;return t=this.b,vae(t||(this.b=new Qie(this)),0)},h.Nc=function(){return jae(this.gc(),1296,new YI(this))},I(gn,"IndexedImmutableSet",2099),D(1230,2099,_x,sJe),h.Kc=function(){var t;return t=Rm(this.a).Od(),new vk(t)},h.Hc=function(t){return this.a._b(t)},h.Jc=function(t){Xr(t),vA(this.a,new k5(t))},h.Od=function(){var t;return t=Rm(this.a).Od(),new vk(t)},h.gc=function(){return this.a.gc()},h.Nc=function(){return qO(Rm(this.a).Nc(),new R)},I(gn,"ImmutableMapKeySet",1230),D(1231,1,{},k5),h.Yd=function(t,n){wd(),this.a.Cd(t)},I(gn,"ImmutableMapKeySet/lambda$0$Type",1231),D(1227,2078,wTe,aJe),h.Kc=function(){return new Fae(this)},h.Md=function(){var t;return t=Rm(this.a).Md(),new Knt(this,t)},h.Hc=function(t){return t!=null&&K8n(new Fae(this),t)},h.Od=function(){return new Fae(this)},h.gc=function(){return this.a.gc()},h.Nc=function(){return qO(Rm(this.a).Nc(),new B)},I(gn,"ImmutableMapValues",1227),D(1228,1,{},B),h.Kb=function(t){return l(t,44).md()},I(gn,"ImmutableMapValues/0methodref$getValue$Type",1228),D(637,204,nE,Fae),h.Ob=function(){return this.a.Ob()},h.Pb=function(){return l(this.a.Pb(),44).md()},I(gn,"ImmutableMapValues/1",637),D(1229,2097,iE,Knt),h.Zd=function(){return this.a},h.Xb=function(t){return l(this.b.Xb(t),44).md()},I(gn,"ImmutableMapValues/2",1229),D(1232,1,{},YI),h.td=function(t){return _at(this.a,t)},I(gn,"IndexedImmutableSet/0methodref$get$Type",1232),D(638,2097,iE,Qie),h.Zd=function(){return this.a},h.Xb=function(t){return _at(this.a,t)},h.gc=function(){return this.a.a.gc()},I(gn,"IndexedImmutableSet/1",638),D(43,1,{},j),h.Kb=function(t){return l(t,20).Kc()},h.Fb=function(t){return this===t},I(gn,"Iterables/10",43),D(1055,547,gg,pst),h.Jc=function(t){Xr(t),this.b.Jc(new met(this.a,t))},h.Kc=function(){return Aye(this)},I(gn,"Iterables/4",1055),D(1056,1,hr,met),h.Cd=function(t){Dln(this.b,this.a,t)},I(gn,"Iterables/4/lambda$0$Type",1056),D(1057,547,gg,bst),h.Jc=function(t){Xr(t),Za(this.a,new wet(t,this.b))},h.Kc=function(){return fr(new ar(this.a),this.b)},I(gn,"Iterables/5",1057),D(1058,1,hr,wet),h.Cd=function(t){this.a.Cd(Bnt(t))},I(gn,"Iterables/5/lambda$0$Type",1058),D(1087,204,nE,y8),h.Ob=function(){return this.a.Ob()},h.Pb=function(){return this.a.Pb()},I(gn,"Iterators/1",1087),D(1088,713,nE,vet),h.Yb=function(){for(var t;this.b.Ob();)if(t=this.b.Pb(),this.a.Lb(t))return t;return this.e=2,null},I(gn,"Iterators/5",1088),D(497,1,Ia),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return this.b.Ob()},h.Pb=function(){return this.$d(this.b.Pb())},h.Qb=function(){this.b.Qb()},I(gn,"TransformedIterator",497),D(1089,497,Ia,Trt),h.$d=function(t){return this.a.Kb(t)},I(gn,"Iterators/6",1089),D(732,204,nE,XI),h.Ob=function(){return!this.a},h.Pb=function(){if(this.a)throw ue(new Dc);return this.a=!0,this.b},h.a=!1,I(gn,"Iterators/9",732),D(1086,399,rE,zst),h.Xb=function(t){return this.a[this.b+t]},h.b=0;var P6t;I(gn,"Iterators/ArrayItr",1086),D(38,1,{38:1,51:1},lr),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return Rr(this)},h.Pb=function(){return yr(this)},h.Qb=function(){if(!this.c)throw ue(new ic(bTe));this.c.Qb(),this.c=null},I(gn,"Iterators/ConcatenatedIterator",38),D(22,1,{3:1,34:1,22:1}),h.Fd=function(t){return hZe(this,l(t,22))},h.Fb=function(t){return this===t},h.Hb=function(){return ww(this)},h.Ib=function(){return yae(this)},h.g=0;var Hr=I(Gc,"Enum",22);D(549,22,{549:1,3:1,34:1,22:1,51:1},irt),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return!1},h.Pb=function(){throw ue(new Dc)},h.Qb=function(){$k(!1)};var F0e,B6t=Br(gn,"Iterators/EmptyModifiableIterator",549,Hr,Hgn,hfn),F6t;D(1907,627,av),I(gn,"LinkedHashMultimapGwtSerializationDependencies",1907),D(1908,1907,av,k1t),h.hc=function(){return new bae(Dy(this.b))},h.$b=function(){EU(this),nO(this.a,this.a)},h.pd=function(){return new bae(Dy(this.b))},h.ic=function(t){return new i1t(this,t,this.b)},h.kc=function(){return new B5e(this)},h.lc=function(){var t;return new kn((t=this.g,l(t||(this.g=new u3e(this)),21)),17)},h.ec=function(){var t;return t=this.i,t||(this.i=new U5(this,this.c))},h.nc=function(){return new h3e(new B5e(this))},h.oc=function(){var t;return qO(new kn((t=this.g,l(t||(this.g=new u3e(this)),21)),17),new W)},h.b=2,I(gn,"LinkedHashMultimap",1908),D(1911,1,{},W),h.Kb=function(t){return l(t,44).md()},I(gn,"LinkedHashMultimap/0methodref$getValue$Type",1911),D(834,1,Ia,B5e),h.Nb=function(t){Qa(this,t)},h.Pb=function(){return nyn(this)},h.Ob=function(){return this.a!=this.b.a},h.Qb=function(){$k(!!this.c),Rct(this.b,this.c.g,this.c.i),this.c=null},I(gn,"LinkedHashMultimap/1",834),D(227,246,{358:1,246:1,227:1,604:1,3:1,44:1},U5e),h._d=function(){return l(Lf(this.f),604)},h.ae=function(t){this.c=t},h.be=function(t){this.f=t},h.d=0;var R6t=I(gn,"LinkedHashMultimap/ValueEntry",227);D(1909,2068,{604:1,20:1,31:1,16:1,21:1},i1t),h.Fc=function(t){var n,r,s,o,f;for(f=Yr(go(pg,og(Yr(go(t==null?0:ts(t),bg)),15))),n=f&this.b.length-1,o=this.b[n],r=o;r;r=r.a)if(r.d==f&&yd(r.i,t))return!1;return s=new U5e(this.c,t,f,o),gZe(this.d,s),s.f=this,this.d=s,nO(l(Lf(this.g.a.b),227),s),nO(s,this.g.a),this.b[n]=s,++this.f,++this.e,V8n(this),!0},h.$b=function(){var t,n;for(gO(this.b,null),this.f=0,t=this.a;t!=this;t=t._d())n=l(t,227),nO(l(Lf(n.b),227),l(Lf(n.e),227));this.a=this,this.d=this,++this.e},h.Hc=function(t){var n,r;for(r=Yr(go(pg,og(Yr(go(t==null?0:ts(t),bg)),15))),n=this.b[r&this.b.length-1];n;n=n.a)if(n.d==r&&yd(n.i,t))return!0;return!1},h.Jc=function(t){var n;for(Xr(t),n=this.a;n!=this;n=n._d())t.Cd(l(n,227).i)},h._d=function(){return this.a},h.Kc=function(){return new Oat(this)},h.Mc=function(t){return jbt(this,t)},h.ae=function(t){this.d=t},h.be=function(t){this.a=t},h.gc=function(){return this.f},h.e=0,h.f=0,I(gn,"LinkedHashMultimap/ValueSet",1909),D(1910,1,Ia,Oat),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return a5e(this),this.b!=this.c},h.Pb=function(){var t,n;if(a5e(this),this.b==this.c)throw ue(new Dc);return t=l(this.b,227),n=t.i,this.d=t,this.b=l(Lf(t.f),604),n},h.Qb=function(){a5e(this),$k(!!this.d),jbt(this.c,this.d.i),this.a=this.c.e,this.d=null},h.a=0,I(gn,"LinkedHashMultimap/ValueSet/1",1910),D(780,2084,av,xnt),h.Zb=function(){var t;return t=this.f,t||(this.f=new H3e(this))},h.Fb=function(t){return Fce(this,t)},h.cc=function(t){return new wse(this,t)},h.fc=function(t){return W6e(this,t)},h.$b=function(){pat(this)},h._b=function(t){return _et(this,t)},h.ac=function(){return new H3e(this)},h.bc=function(){return new Pie(this)},h.qc=function(t){return new wse(this,t)},h.dc=function(){return!this.a},h.rc=function(t){return W6e(this,t)},h.gc=function(){return this.d},h.c=0,h.d=0,I(gn,"LinkedListMultimap",780),D(56,31,aE),h.jd=function(t){Wm(this,t)},h.Nc=function(){return new kn(this,16)},h.bd=function(t,n){throw ue(new Jp("Add not supported on this list"))},h.Fc=function(t){return this.bd(this.gc(),t),!0},h.cd=function(t,n){var r,s,o;for(tr(n),r=!1,o=n.Kc();o.Ob();)s=o.Pb(),this.bd(t++,s),r=!0;return r},h.$b=function(){this.ce(0,this.gc())},h.Fb=function(t){return Q9e(this,t)},h.Hb=function(){return a8e(this)},h.dd=function(t){return Sft(this,t)},h.Kc=function(){return new xr(this)},h.ed=function(){return this.fd(0)},h.fd=function(t){return new Ua(this,t)},h.gd=function(t){throw ue(new Jp("Remove not supported on this list"))},h.ce=function(t,n){var r,s;for(s=this.fd(t),r=t;r<n;++r)s.Pb(),s.Qb()},h.hd=function(t,n){throw ue(new Jp("Set not supported on this list"))},h.kd=function(t,n){return new c2(this,t,n)},h.j=0,I(_r,"AbstractList",56),D(2062,56,aE),h.bd=function(t,n){Fk(this,t,n)},h.cd=function(t,n){return s1t(this,t,n)},h.Xb=function(t){return hf(this,t)},h.Kc=function(){return this.fd(0)},h.gd=function(t){return Bue(this,t)},h.hd=function(t,n){var r,s;r=this.fd(t);try{return s=r.Pb(),r.Wb(n),s}catch(o){throw o=ms(o),De(o,112)?ue(new rc("Can't set element "+t)):ue(o)}},I(_r,"AbstractSequentialList",2062),D(646,2062,aE,wse),h.fd=function(t){return Crt(this,t)},h.gc=function(){var t;return t=l(or(this.a.b,this.b),260),t?t.a:0},I(gn,"LinkedListMultimap/1",646),D(1316,2068,Tl,Pie),h.Hc=function(t){return _et(this.a,t)},h.Kc=function(){return new Uft(this.a)},h.Mc=function(t){return!W6e(this.a,t).a.dc()},h.gc=function(){return g_(this.a.b)},I(gn,"LinkedListMultimap/1KeySetImpl",1316),D(1315,1,Ia,Uft),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return o5e(this),!!this.c},h.Pb=function(){if(o5e(this),!this.c)throw ue(new Dc);this.a=this.c,sa(this.d,this.a.a);do this.c=this.c.b;while(this.c&&!sa(this.d,this.c.a));return this.a.a},h.Qb=function(){o5e(this),$k(!!this.a),hH(new tce(this.e,this.a.a)),this.a=null,this.b=this.e.c},h.b=0,I(gn,"LinkedListMultimap/DistinctKeyIterator",1315),D(260,1,{260:1},e6e),h.a=0,I(gn,"LinkedListMultimap/KeyList",260),D(511,358,{358:1,511:1,44:1},yet),h.ld=function(){return this.a},h.md=function(){return this.f},h.nd=function(t){var n;return n=this.f,this.f=t,n},I(gn,"LinkedListMultimap/Node",511),D(566,1,dg,tce,Xpt),h.Nb=function(t){Qa(this,t)},h.Rb=function(t){this.e=Dke(this.f,this.b,t,this.c),++this.d,this.a=null},h.Ob=function(){return!!this.c},h.Sb=function(){return!!this.e},h.Pb=function(){return l7e(this)},h.Tb=function(){return this.d},h.Ub=function(){return Iht(this)},h.Vb=function(){return this.d-1},h.Qb=function(){$k(!!this.a),this.a!=this.c?(this.e=this.a.e,--this.d):this.c=this.a.c,cCn(this.f,this.a),this.a=null},h.Wb=function(t){Hye(!!this.a),this.a.f=t},h.d=0,I(gn,"LinkedListMultimap/ValueForKeyIterator",566),D(1031,56,aE),h.bd=function(t,n){this.a.bd(t,n)},h.cd=function(t,n){return this.a.cd(t,n)},h.Hc=function(t){return this.a.Hc(t)},h.Xb=function(t){return this.a.Xb(t)},h.gd=function(t){return this.a.gd(t)},h.hd=function(t,n){return this.a.hd(t,n)},h.gc=function(){return this.a.gc()},I(gn,"Lists/AbstractListWrapper",1031),D(1032,1031,f3t),I(gn,"Lists/RandomAccessListWrapper",1032),D(1034,1032,f3t,Eet),h.fd=function(t){return this.a.fd(t)},I(gn,"Lists/1",1034),D(441,56,{441:1,20:1,31:1,56:1,16:1,15:1},O3e),h.bd=function(t,n){this.a.bd(Vk(this,t),n)},h.$b=function(){this.a.$b()},h.Xb=function(t){return this.a.Xb(P5e(this,t))},h.Kc=function(){return mct(this,0)},h.fd=function(t){return mct(this,t)},h.gd=function(t){return this.a.gd(P5e(this,t))},h.ce=function(t,n){(Kct(t,n,this.a.gc()),uf(this.a.kd(Vk(this,n),Vk(this,t)))).$b()},h.hd=function(t,n){return this.a.hd(P5e(this,t),n)},h.gc=function(){return this.a.gc()},h.kd=function(t,n){return Kct(t,n,this.a.gc()),uf(this.a.kd(Vk(this,n),Vk(this,t)))},I(gn,"Lists/ReverseList",441),D(1030,441,{441:1,20:1,31:1,56:1,16:1,15:1,59:1},rZe),I(gn,"Lists/RandomAccessReverseList",1030),D(1033,1,dg,xet),h.Nb=function(t){Qa(this,t)},h.Rb=function(t){this.c.Rb(t),this.c.Ub(),this.a=!1},h.Ob=function(){return this.c.Sb()},h.Sb=function(){return this.c.Ob()},h.Pb=function(){if(!this.c.Sb())throw ue(new Dc);return this.a=!0,this.c.Ub()},h.Tb=function(){return Vk(this.b,this.c.Tb())},h.Ub=function(){if(!this.c.Ob())throw ue(new Dc);return this.a=!0,this.c.Pb()},h.Vb=function(){return Vk(this.b,this.c.Tb())-1},h.Qb=function(){$k(this.a),this.c.Qb(),this.a=!1},h.Wb=function(t){Hye(this.a),this.c.Wb(t)},h.a=!1,I(gn,"Lists/ReverseList/1",1033),D(440,497,Ia,u_),h.$d=function(t){return fq(t)},I(gn,"Maps/1",440),D(712,497,Ia,h3e),h.$d=function(t){return l(t,44).md()},I(gn,"Maps/2",712),D(975,497,Ia,Ert),h.$d=function(t){return new hw(t,Lnt(this.a,t))},I(gn,"Maps/3",975),D(972,2069,Tl,_z),h.Jc=function(t){pun(this.a,t)},h.Kc=function(){return this.a.kc()},h.Rc=function(){return this.a},h.Nc=function(){return this.a.lc()},I(gn,"Maps/IteratorBasedAbstractMap/1",972),D(973,1,{},Az),h.Yd=function(t,n){this.a.Cd(t)},I(gn,"Maps/KeySet/lambda$0$Type",973),D(971,31,Qy,Cet),h.$b=function(){this.a.$b()},h.Hc=function(t){return this.a.uc(t)},h.Jc=function(t){Xr(t),this.a.wc(new oy(t))},h.dc=function(){return this.a.dc()},h.Kc=function(){return new h3e(this.a.vc().Kc())},h.Mc=function(t){var n,r;try{return Fy(this,t,!0)}catch(s){if(s=ms(s),De(s,48)){for(r=this.a.vc().Kc();r.Ob();)if(n=l(r.Pb(),44),yd(t,n.md()))return this.a.Bc(n.ld()),!0;return!1}else throw ue(s)}},h.gc=function(){return this.a.gc()},I(gn,"Maps/Values",971),D(974,1,{},oy),h.Yd=function(t,n){this.a.Cd(n)},I(gn,"Maps/Values/lambda$0$Type",974),D(752,2085,t3,H3e),h.xc=function(t){return this.a._b(t)?this.a.cc(t):null},h.Bc=function(t){return this.a._b(t)?this.a.fc(t):null},h.$b=function(){this.a.$b()},h._b=function(t){return this.a._b(t)},h.Ec=function(){return new QI(this)},h.Dc=function(){return this.Ec()},h.dc=function(){return this.a.dc()},h.ec=function(){return this.a.ec()},h.gc=function(){return this.a.ec().gc()},I(gn,"Multimaps/AsMap",752),D(1134,2069,Tl,QI),h.Kc=function(){return Nhn(this.a.a.ec(),new JI(this))},h.Rc=function(){return this.a},h.Mc=function(t){var n;return udt(this,t)?(n=l(Lf(l(t,44)),44),Eun(this.a,n.ld()),!0):!1},I(gn,"Multimaps/AsMap/EntrySet",1134),D(1138,1,{},JI),h.Kb=function(t){return Lnt(this,t)},h.Fb=function(t){return this===t},I(gn,"Multimaps/AsMap/EntrySet/1",1138),D(552,2087,{552:1,849:1,20:1,31:1,16:1},Lz),h.$b=function(){EU(this.a)},h.Hc=function(t){return NZe(this.a,t)},h.Jc=function(t){Xr(t),Za(eA(this.a),new wk(t))},h.Kc=function(){return new u_(eA(this.a).a.kc())},h.gc=function(){return this.a.d},h.Nc=function(){return qO(eA(this.a).Nc(),new ee)},I(gn,"Multimaps/Keys",552),D(1136,1,{},ee),h.Kb=function(t){return l(t,44).ld()},I(gn,"Multimaps/Keys/0methodref$getKey$Type",1136),D(1135,497,Ia,iZe),h.$d=function(t){return new x8(l(t,44))},I(gn,"Multimaps/Keys/1",1135),D(2088,1,{425:1}),h.Fb=function(t){var n;return De(t,504)?(n=l(t,425),l(this.a.md(),16).gc()==l(n.a.md(),16).gc()&&yd(this.a.ld(),n.a.ld())):!1},h.Hb=function(){var t;return t=this.a.ld(),(t==null?0:ts(t))^l(this.a.md(),16).gc()},h.Ib=function(){var t,n;return n=$_(this.a.ld()),t=l(this.a.md(),16).gc(),t==1?n:n+" x "+t},I(gn,"Multisets/AbstractEntry",2088),D(504,2088,{504:1,425:1},x8),I(gn,"Multimaps/Keys/1/1",504),D(1137,1,hr,wk),h.Cd=function(t){this.a.Cd(l(t,44).ld())},I(gn,"Multimaps/Keys/lambda$1$Type",1137),D(1140,1,hr,ie),h.Cd=function(t){rgn(l(t,425))},I(gn,"Multiset/lambda$0$Type",1140),D(753,1,hr,Bie),h.Cd=function(t){qwn(this.a,l(t,425))},I(gn,"Multiset/lambda$1$Type",753),D(1141,1,{},oe),I(gn,"Multisets/0methodref$add$Type",1141),D(754,1,{},be),h.Kb=function(t){return hmn(l(t,425))},I(gn,"Multisets/lambda$1$Type",754),D(2106,1,AP),I(gn,"RangeGwtSerializationDependencies",2106),D(521,2106,{178:1,521:1,3:1,46:1},fxe),h.Lb=function(t){return tat(this,l(t,34))},h.Mb=function(t){return tat(this,l(t,34))},h.Fb=function(t){var n;return De(t,521)?(n=l(t,521),xxe(this.a,n.a)&&xxe(this.b,n.b)):!1},h.Hb=function(){return this.a.Hb()*31+this.b.Hb()},h.Ib=function(){return wut(this.a,this.b)},I(gn,"Range",521),D(654,2097,iE,C5e),h.fd=function(t){return vae(this.b,t)},h.Zd=function(){return this.a},h.Xb=function(t){return pb(this.b,t)},h.Pd=function(t){return vae(this.b,t)},I(gn,"RegularImmutableAsList",654),D(656,2105,iE,xoe),h.Rd=function(){return this.a},I(gn,"RegularImmutableList",656),D(548,730,sE,f3e,d3e),I(gn,"RegularImmutableMap",548),D(731,719,_x,$3e);var c_e;I(gn,"RegularImmutableSet",731),D(2074,q1,Tl),h.Kc=function(){return new K5e(this.a,this.b)},h.Fc=function(t){throw ue(new Qr)},h.Gc=function(t){throw ue(new Qr)},h.$b=function(){throw ue(new Qr)},h.Mc=function(t){throw ue(new Qr)},I(gn,"Sets/SetView",2074),D(976,2074,Tl,Tet),h.Kc=function(){return new K5e(this.a,this.b)},h.Hc=function(t){return qae(this.a,t)&&this.b.Hc(t)},h.Ic=function(t){return DN(this.a,t)&&this.b.Ic(t)},h.dc=function(){return Kdt(this.b,this.a)},h.Lc=function(){return ji(new vn(null,new kn(this.a,1)),new Dz(this.b))},h.gc=function(){return AN(this)},h.Oc=function(){return ji(new vn(null,new kn(this.a,1)),new Mz(this.b))},I(gn,"Sets/2",976),D(977,1,ei,Mz),h.Mb=function(t){return this.a.Hc(t)},I(gn,"Sets/2/0methodref$contains$Type",977),D(714,713,nE,K5e),h.Yb=function(){for(var t;Iye(this.a);)if(t=uA(this.a),this.c.Hc(t))return t;return this.e=2,null},I(gn,"Sets/2/1",714),D(978,1,ei,Dz),h.Mb=function(t){return this.a.Hc(t)},I(gn,"Sets/2/1methodref$contains$Type",978),D(616,2073,{616:1,3:1,20:1,16:1,277:1,21:1,87:1},Fot),h.Kd=function(){return this.b},h.Ld=function(){return this.b},h.Wd=function(){return this.b},h.Jc=function(t){this.a.Jc(t)},h.Lc=function(){return this.a.Lc()},h.Oc=function(){return this.a.Oc()},I(gn,"Sets/UnmodifiableNavigableSet",616),D(2031,2030,sE,zat),h.Vd=function(){return wd(),new N8(this.a)},h.Cc=function(){return wd(),new N8(this.a)},h.xd=function(){return wd(),new N8(this.a)},I(gn,"SingletonImmutableBiMap",2031),D(657,2105,iE,$ae),h.Rd=function(){return this.a},I(gn,"SingletonImmutableList",657),D(363,2079,_x,N8),h.Kc=function(){return new XI(this.a)},h.Hc=function(t){return Fi(this.a,t)},h.Od=function(){return new XI(this.a)},h.gc=function(){return 1},I(gn,"SingletonImmutableSet",363),D(1148,1,{},ge),h.Kb=function(t){return l(t,159)},I(gn,"Streams/lambda$0$Type",1148),D(1149,1,iG,Iz),h.de=function(){yvn(this.a)},I(gn,"Streams/lambda$1$Type",1149),D(1725,1724,av,xot),h.Zb=function(){var t;return t=this.f,l(l(t||(this.f=De(this.c,139)?new H_(this,l(this.c,139)):De(this.c,133)?new PO(this,l(this.c,133)):new Dk(this,this.c)),133),139)},h.hc=function(){return new n2(this.b)},h.pd=function(){return new n2(this.b)},h.ec=function(){var t;return t=this.i,l(l(t||(this.i=De(this.c,139)?new Mk(this,l(this.c,139)):De(this.c,133)?new uO(this,l(this.c,133)):new U5(this,this.c)),87),277)},h.ac=function(){return De(this.c,139)?new H_(this,l(this.c,139)):De(this.c,133)?new PO(this,l(this.c,133)):new Dk(this,this.c)},h.ic=function(t){return t==null&&this.a.Ne(t,t),new n2(this.b)},I(gn,"TreeMultimap",1725),D(82,1,{3:1,82:1}),h.ee=function(t){return new Error(t)},h.fe=function(){return this.e},h.ge=function(){var t,n,r;for(r=(this.k==null&&(this.k=We(R0e,dt,82,0,0,1)),this.k),n=We(ka,jn,1,r.length,5,1),t=0;t<r.length;t++)n[t]=r[t].e;return n},h.he=function(){return this.f},h.ie=function(){return this.g},h.je=function(){yun(this,emn(this.ee(RH(this,this.g)))),oJe(this)},h.Ib=function(){return RH(this,this.ie())},h.e=d3t,h.i=!1,h.n=!0;var R0e=I(Gc,"Throwable",82);D(103,82,{3:1,103:1,82:1}),I(Gc,"Exception",103),D(63,103,gp,Om,Ic),I(Gc,"RuntimeException",63),D(607,63,gp),I(Gc,"JsException",607),D(875,607,gp),I(OP,"JavaScriptExceptionBase",875),D(486,875,{486:1,3:1,103:1,63:1,82:1},x1t),h.ie=function(){return pxn(this),this.c},h.ke=function(){return qe(this.b)===qe(u_e)?null:this.b};var u_e;I(xTe,"JavaScriptException",486);var j6t=I(xTe,"JavaScriptObject$",0),j0e;D(2047,1,{}),I(xTe,"Scheduler",2047);var dK=0,$6t=0,gK=-1;D(902,2047,{},ae);var l_e;I(OP,"SchedulerImpl",902);var $0e;D(2058,1,{}),I(OP,"StackTraceCreator/Collector",2058),D(876,2058,{},ne),h.le=function(t){var n={},r=[];t[Zle]=r;for(var s=arguments.callee.caller;s;){var o=(Jk(),s.name||(s.name=t3n(s.toString())));r.push(o);var f=":"+o,g=n[f];if(g){var w,T;for(w=0,T=g.length;w<T;w++)if(g[w]===s)return}(g||(n[f]=[])).push(s),s=s.caller}},h.me=function(t){var n,r,s,o;for(s=(Jk(),t&&t[Zle]?t[Zle]:[]),r=s.length,o=We(E_e,dt,319,r,0,1),n=0;n<r;n++)o[n]=new doe(s[n],null,-1);return o},I(OP,"StackTraceCreator/CollectorLegacy",876),D(2059,2058,{}),h.le=function(t){},h.ne=function(t,n,r,s){return new doe(n,t+"@"+s,r<0?-1:r)},h.me=function(t){var n,r,s,o,f,g;if(o=q7n(t),f=We(E_e,dt,319,0,0,1),n=0,s=o.length,s==0)return f;for(g=mwt(this,o[0]),wn(g.d,Jle)||(f[n++]=g),r=1;r<s;r++)f[n++]=mwt(this,o[r]);return f},I(OP,"StackTraceCreator/CollectorModern",2059),D(877,2059,{},se),h.ne=function(t,n,r,s){return new doe(n,t,-1)},I(OP,"StackTraceCreator/CollectorModernNoSourceMap",877),D(1064,1,{}),I(TTe,b3t,1064),D(624,1064,{624:1},Sat);var h_e;I(vhe,b3t,624),D(2101,1,{}),I(TTe,m3t,2101),D(2102,2101,{}),I(vhe,m3t,2102),D(1120,1,{},de);var PL;I(vhe,"LocaleInfo",1120),D(2027,1,{},X),h.a=0,I(vhe,"TimeZone",2027),D(1293,2102,{},pe),I("com.google.gwt.i18n.client.impl.cldr","DateTimeFormatInfoImpl",1293),D(443,1,{443:1},ist),h.a=!1,h.b=0,I(TTe,"DateTimeFormat/PatternPart",443),D(206,1,v3t,iq,n8e,h4e),h.Fd=function(t){return Ybn(this,l(t,206))},h.Fb=function(t){return De(t,206)&&pw(tu(this.q.getTime()),tu(l(t,206).q.getTime()))},h.Hb=function(){var t;return t=tu(this.q.getTime()),Yr(Doe(t,vb(t,32)))},h.Ib=function(){var t,n,r;return r=-this.q.getTimezoneOffset(),t=(r>=0?"+":"")+(r/60|0),n=jq(b.Math.abs(r)%60),(ypt(),Z6t)[this.q.getDay()]+" "+e7t[this.q.getMonth()]+" "+jq(this.q.getDate())+" "+jq(this.q.getHours())+":"+jq(this.q.getMinutes())+":"+jq(this.q.getSeconds())+" GMT"+t+n+" "+this.q.getFullYear()};var pK=I(_r,"Date",206);D(2015,206,v3t,Hgt),h.a=!1,h.b=0,h.c=0,h.d=0,h.e=0,h.f=0,h.g=!1,h.i=0,h.j=0,h.k=0,h.n=0,h.o=0,h.p=0,I("com.google.gwt.i18n.shared.impl","DateRecord",2015),D(2064,1,{}),h.pe=function(){return null},h.qe=function(){return null},h.re=function(){return null},h.se=function(){return null},h.te=function(){return null},I(Lx,"JSONValue",2064),D(221,2064,{221:1},Yp,Oz),h.Fb=function(t){return De(t,221)?f6e(this.a,l(t,221).a):!1},h.oe=function(){return run},h.Hb=function(){return t6e(this.a)},h.pe=function(){return this},h.Ib=function(){var t,n,r;for(r=new Eh("["),n=0,t=this.a.length;n<t;n++)n>0&&(r.a+=","),mu(r,My(this,n));return r.a+="]",r.a},I(Lx,"JSONArray",221),D(493,2064,{493:1},zc),h.oe=function(){return iun},h.qe=function(){return this},h.Ib=function(){return Hn(),""+this.a},h.a=!1;var z6t,q6t;I(Lx,"JSONBoolean",493),D(997,63,gp,sZe),I(Lx,"JSONException",997),D(1036,2064,{},G),h.oe=function(){return sun},h.Ib=function(){return cl};var H6t;I(Lx,"JSONNull",1036),D(263,2064,{263:1},yk),h.Fb=function(t){return De(t,263)?this.a==l(t,263).a:!1},h.oe=function(){return tun},h.Hb=function(){return $8(this.a)},h.re=function(){return this},h.Ib=function(){return this.a+""},h.a=0,I(Lx,"JSONNumber",263),D(190,2064,{190:1},D8,xk),h.Fb=function(t){return De(t,190)?f6e(this.a,l(t,190).a):!1},h.oe=function(){return nun},h.Hb=function(){return t6e(this.a)},h.se=function(){return this},h.Ib=function(){var t,n,r,s,o,f,g;for(g=new Eh("{"),t=!0,f=yce(this,We($t,dt,2,0,6,1)),r=f,s=0,o=r.length;s<o;++s)n=r[s],t?t=!1:g.a+=To,li(g,P2t(n)),g.a+=":",mu(g,Jg(this,n));return g.a+="}",g.a},I(Lx,"JSONObject",190),D(605,q1,Tl,yse),h.Hc=function(t){return Da(t)&&Run(this.a,Zr(t))},h.Kc=function(){return new xr(new Ll(this.b))},h.gc=function(){return this.b.length},I(Lx,"JSONObject/1",605);var z0e;D(211,2064,{211:1},Ty),h.Fb=function(t){return De(t,211)?wn(this.a,l(t,211).a):!1},h.oe=function(){return eun},h.Hb=function(){return g2(this.a)},h.te=function(){return this},h.Ib=function(){return P2t(this.a)},I(Lx,"JSONString",211);var Hb,f_e,U6t,d_e,g_e;D(2060,1,{533:1}),I(ETe,"OutputStream",2060),D(2061,2060,{533:1}),I(ETe,"FilterOutputStream",2061),D(878,2061,{533:1},Be),I(ETe,"PrintStream",878),D(427,1,{484:1}),h.Ib=function(){return this.a},I(Gc,"AbstractStringBuilder",427),D(538,63,gp,Yz),I(Gc,"ArithmeticException",538),D(77,63,whe,Vwe,rc),I(Gc,"IndexOutOfBoundsException",77),D(333,77,{3:1,333:1,103:1,77:1,63:1,82:1},e3e,w3e),I(Gc,"ArrayIndexOutOfBoundsException",333),D(537,63,gp,Jie,fZe),I(Gc,"ArrayStoreException",537),D(296,82,w3t,hse),I(Gc,"Error",296),D(200,296,w3t,Uwe,F6e),I(Gc,"AssertionError",200),D6t={3:1,485:1,34:1};var Ub,AE,Ps=I(Gc,"Boolean",485);D(242,1,{3:1,242:1});var p_e;I(Gc,"Number",242),D(222,242,{3:1,222:1,34:1,242:1},_i),h.Fd=function(t){return Pun(this,l(t,222))},h.ue=function(){return this.a},h.Fb=function(t){return De(t,222)&&l(t,222).a==this.a},h.Hb=function(){return this.a},h.Ib=function(){return""+this.a},h.a=0;var $x=I(Gc,"Byte",222),b_e;D(180,1,{3:1,180:1,34:1},xs),h.Fd=function(t){return Bun(this,l(t,180))},h.Fb=function(t){return De(t,180)&&l(t,180).a==this.a},h.Hb=function(){return this.a},h.Ib=function(){return String.fromCharCode(this.a)},h.a=0;var m_e,BL=I(Gc,"Character",180),v_e;D(212,63,{3:1,212:1,103:1,63:1,82:1},cJe,Ek),I(Gc,"ClassCastException",212),I6t={3:1,34:1,345:1,242:1};var ra=I(Gc,"Double",345);D(161,242,{3:1,34:1,161:1,242:1},va,Gwe),h.Fd=function(t){return Xln(this,l(t,161))},h.ue=function(){return this.a},h.Fb=function(t){return De(t,161)&&Mit(this.a,l(t,161).a)},h.Hb=function(){return da(this.a)},h.Ib=function(){return""+this.a},h.a=0;var LE=I(Gc,"Float",161);D(33,63,{3:1,103:1,33:1,63:1,82:1},rO,Wn,l1t),I(Gc,"IllegalArgumentException",33),D(73,63,gp,gl,ic),I(Gc,"IllegalStateException",73),D(17,242,{3:1,34:1,17:1,242:1},Er),h.Fd=function(t){return Eye(this,l(t,17))},h.ue=function(){return this.a},h.Fb=function(t){return De(t,17)&&l(t,17).a==this.a},h.Hb=function(){return this.a},h.Ib=function(){return""+this.a},h.a=0;var to=I(Gc,"Integer",17),w_e,V6t;D(168,242,{3:1,34:1,168:1,242:1},Ir),h.Fd=function(t){return Yln(this,l(t,168))},h.ue=function(){return Vm(this.a)},h.Fb=function(t){return De(t,168)&&pw(l(t,168).a,this.a)},h.Hb=function(){return Wfn(this.a)},h.Ib=function(){return""+X_(this.a)},h.a=0;var l3=I(Gc,"Long",168),y_e;D(2140,1,{}),D(1904,63,gp,dZe),I(Gc,"NegativeArraySizeException",1904),D(169,607,{3:1,103:1,169:1,63:1,82:1},_8,I8),h.ee=function(t){return new TypeError(t)},I(Gc,"NullPointerException",169);var x_e,q0e,G6t,k_e;D(130,33,{3:1,103:1,33:1,130:1,63:1,82:1},gd),I(Gc,"NumberFormatException",130),D(191,242,{3:1,34:1,242:1,191:1},Kn),h.Fd=function(t){return Fun(this,l(t,191))},h.ue=function(){return this.a},h.Fb=function(t){return De(t,191)&&l(t,191).a==this.a},h.Hb=function(){return this.a},h.Ib=function(){return""+this.a},h.a=0;var h3=I(Gc,"Short",191),T_e;D(319,1,{3:1,319:1},doe),h.Fb=function(t){var n;return De(t,319)?(n=l(t,319),this.c==n.c&&this.d==n.d&&this.a==n.a&&this.b==n.b):!1},h.Hb=function(){return RN(he(le(ka,1),jn,1,5,[bt(this.c),this.a,this.d,this.b]))},h.Ib=function(){return this.a+"."+this.d+"("+(this.b!=null?this.b:"Unknown Source")+(this.c>=0?":"+this.c:"")+")"},h.c=0;var E_e=I(Gc,"StackTraceElement",319);O6t={3:1,484:1,34:1,2:1};var $t=I(Gc,yTe,2);D(111,427,{484:1},e2,f_,Af),I(Gc,"StringBuffer",111),D(104,427,{484:1},lb,A5,Eh),I(Gc,"StringBuilder",104),D(702,77,whe,v3e),I(Gc,"StringIndexOutOfBoundsException",702),D(2145,1,{});var K6t;D(48,63,{3:1,103:1,63:1,82:1,48:1},Qr,Jp),I(Gc,"UnsupportedOperationException",48),D(247,242,{3:1,34:1,242:1,247:1},qN,L3e),h.Fd=function(t){return dvt(this,l(t,247))},h.ue=function(){return qy(zvt(this))},h.Fb=function(t){var n;return this===t?!0:De(t,247)?(n=l(t,247),this.e==n.e&&dvt(this,n)==0):!1},h.Hb=function(){var t;return this.b!=0?this.b:this.a<54?(t=tu(this.f),this.b=Yr(xa(t,-1)),this.b=33*this.b+Yr(xa(Tw(t,32),-1)),this.b=17*this.b+da(this.e),this.b):(this.b=17*S1t(this.c)+da(this.e),this.b)},h.Ib=function(){return zvt(this)},h.a=0,h.b=0,h.d=0,h.e=0,h.f=0;var W6t,vv,C_e,S_e,__e,A_e,L_e,M_e,H0e=I("java.math","BigDecimal",247);D(92,242,{3:1,34:1,242:1,92:1},tp,vct,$m,_dt,bb),h.Fd=function(t){return Tdt(this,l(t,92))},h.ue=function(){return qy(Vle(this,0))},h.Fb=function(t){return H8e(this,t)},h.Hb=function(){return S1t(this)},h.Ib=function(){return Vle(this,0)},h.b=-2,h.c=0,h.d=0,h.e=0;var Y6t,bK,X6t,U0e,mK,FL,M6=I("java.math","BigInteger",92),Q6t,J6t,zx,RL;D(498,2065,t3),h.$b=function(){Dl(this)},h._b=function(t){return Hu(this,t)},h.uc=function(t){return o1t(this,t,this.i)||o1t(this,t,this.f)},h.vc=function(){return new Cr(this)},h.xc=function(t){return or(this,t)},h.zc=function(t,n){return Ti(this,t,n)},h.Bc=function(t){return ox(this,t)},h.gc=function(){return g_(this)},h.g=0,I(_r,"AbstractHashMap",498),D(267,q1,Tl,Cr),h.$b=function(){this.a.$b()},h.Hc=function(t){return Wct(this,t)},h.Kc=function(){return new Xm(this.a)},h.Mc=function(t){var n;return Wct(this,t)?(n=l(t,44).ld(),this.a.Bc(n),!0):!1},h.gc=function(){return this.a.gc()},I(_r,"AbstractHashMap/EntrySet",267),D(268,1,Ia,Xm),h.Nb=function(t){Qa(this,t)},h.Pb=function(){return zw(this)},h.Ob=function(){return this.b},h.Qb=function(){Tht(this)},h.b=!1,h.d=0,I(_r,"AbstractHashMap/EntrySetIterator",268),D(426,1,Ia,xr),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return Ese(this)},h.Pb=function(){return X5e(this)},h.Qb=function(){fh(this)},h.b=0,h.c=-1,I(_r,"AbstractList/IteratorImpl",426),D(98,426,dg,Ua),h.Qb=function(){fh(this)},h.Rb=function(t){wy(this,t)},h.Sb=function(){return this.b>0},h.Tb=function(){return this.b},h.Ub=function(){return br(this.b>0),this.a.Xb(this.c=--this.b)},h.Vb=function(){return this.b-1},h.Wb=function(t){my(this.c!=-1),this.a.hd(this.c,t)},I(_r,"AbstractList/ListIteratorImpl",98),D(244,56,aE,c2),h.bd=function(t,n){Sy(t,this.b),this.c.bd(this.a+t,n),++this.b},h.Xb=function(t){return Sn(t,this.b),this.c.Xb(this.a+t)},h.gd=function(t){var n;return Sn(t,this.b),n=this.c.gd(this.a+t),--this.b,n},h.hd=function(t,n){return Sn(t,this.b),this.c.hd(this.a+t,n)},h.gc=function(){return this.b},h.a=0,h.b=0,I(_r,"AbstractList/SubList",244),D(266,q1,Tl,pr),h.$b=function(){this.a.$b()},h.Hc=function(t){return this.a._b(t)},h.Kc=function(){var t;return t=this.a.vc().Kc(),new Di(t)},h.Mc=function(t){return this.a._b(t)?(this.a.Bc(t),!0):!1},h.gc=function(){return this.a.gc()},I(_r,"AbstractMap/1",266),D(541,1,Ia,Di),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return this.a.Ob()},h.Pb=function(){var t;return t=l(this.a.Pb(),44),t.ld()},h.Qb=function(){this.a.Qb()},I(_r,"AbstractMap/1/1",541),D(231,31,Qy,pi),h.$b=function(){this.a.$b()},h.Hc=function(t){return this.a.uc(t)},h.Kc=function(){var t;return t=this.a.vc().Kc(),new fs(t)},h.gc=function(){return this.a.gc()},I(_r,"AbstractMap/2",231),D(301,1,Ia,fs),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return this.a.Ob()},h.Pb=function(){var t;return t=l(this.a.Pb(),44),t.md()},h.Qb=function(){this.a.Qb()},I(_r,"AbstractMap/2/1",301),D(494,1,{494:1,44:1}),h.Fb=function(t){var n;return De(t,44)?(n=l(t,44),eu(this.d,n.ld())&&eu(this.e,n.md())):!1},h.ld=function(){return this.d},h.md=function(){return this.e},h.Hb=function(){return $5(this.d)^$5(this.e)},h.nd=function(t){return m4e(this,t)},h.Ib=function(){return this.d+"="+this.e},I(_r,"AbstractMap/AbstractEntry",494),D(397,494,{494:1,397:1,44:1},pq),I(_r,"AbstractMap/SimpleEntry",397),D(2082,1,khe),h.Fb=function(t){var n;return De(t,44)?(n=l(t,44),eu(this.ld(),n.ld())&&eu(this.md(),n.md())):!1},h.Hb=function(){return $5(this.ld())^$5(this.md())},h.Ib=function(){return this.ld()+"="+this.md()},I(_r,a3t,2082),D(2090,2065,mTe),h.Xc=function(t){return mse(this.Ee(t))},h.tc=function(t){return elt(this,t)},h._b=function(t){return v4e(this,t)},h.vc=function(){return new Rs(this)},h.Tc=function(){return gat(this.Ge())},h.Yc=function(t){return mse(this.He(t))},h.xc=function(t){var n;return n=t,dc(this.Fe(n))},h.$c=function(t){return mse(this.Ie(t))},h.ec=function(){return new Fs(this)},h.Vc=function(){return gat(this.Je())},h._c=function(t){return mse(this.Ke(t))},I(_r,"AbstractNavigableMap",2090),D(629,q1,Tl,Rs),h.Hc=function(t){return De(t,44)&&elt(this.b,l(t,44))},h.Kc=function(){return this.b.De()},h.Mc=function(t){var n;return De(t,44)?(n=l(t,44),this.b.Le(n)):!1},h.gc=function(){return this.b.gc()},I(_r,"AbstractNavigableMap/EntrySet",629),D(1146,q1,vTe,Fs),h.Nc=function(){return new dq(this)},h.$b=function(){this.a.$b()},h.Hc=function(t){return v4e(this.a,t)},h.Kc=function(){var t;return t=this.a.vc().b.De(),new ks(t)},h.Mc=function(t){return v4e(this.a,t)?(this.a.Bc(t),!0):!1},h.gc=function(){return this.a.gc()},I(_r,"AbstractNavigableMap/NavigableKeySet",1146),D(1147,1,Ia,ks),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return Ese(this.a.a)},h.Pb=function(){var t;return t=Frt(this.a),t.ld()},h.Qb=function(){Hit(this.a)},I(_r,"AbstractNavigableMap/NavigableKeySet/1",1147),D(2103,31,Qy),h.Fc=function(t){return W8(qT(this,t),cE),!0},h.Gc=function(t){return tr(t),UO(t!=this,"Can't add a queue to itself"),Ga(this,t)},h.$b=function(){for(;oce(this)!=null;);},I(_r,"AbstractQueue",2103),D(310,31,{4:1,20:1,31:1,16:1},H5,Hct),h.Fc=function(t){return k6e(this,t),!0},h.$b=function(){A6e(this)},h.Hc=function(t){return L0t(new rA(this),t)},h.dc=function(){return h_(this)},h.Kc=function(){return new rA(this)},h.Mc=function(t){return $2n(new rA(this),t)},h.gc=function(){return this.c-this.b&this.a.length-1},h.Nc=function(){return new kn(this,272)},h.Qc=function(t){var n;return n=this.c-this.b&this.a.length-1,t.length<n&&(t=Qz(new Array(n),t)),qft(this,t,n),t.length>n&&Ss(t,n,null),t},h.b=0,h.c=0,I(_r,"ArrayDeque",310),D(459,1,Ia,rA),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return this.a!=this.b},h.Pb=function(){return UU(this)},h.Qb=function(){Cft(this)},h.a=0,h.b=0,h.c=-1,I(_r,"ArrayDeque/IteratorImpl",459),D(13,56,x3t,mt,Pu,Ml),h.bd=function(t,n){kw(this,t,n)},h.Fc=function(t){return wt(this,t)},h.cd=function(t,n){return p8e(this,t,n)},h.Gc=function(t){return aa(this,t)},h.$b=function(){uy(this.c,0)},h.Hc=function(t){return bc(this,t,0)!=-1},h.Jc=function(t){Uu(this,t)},h.Xb=function(t){return Rt(this,t)},h.dd=function(t){return bc(this,t,0)},h.dc=function(){return this.c.length==0},h.Kc=function(){return new K(this)},h.gd=function(t){return l2(this,t)},h.Mc=function(t){return sl(this,t)},h.ce=function(t,n){fct(this,t,n)},h.hd=function(t,n){return nf(this,t,n)},h.gc=function(){return this.c.length},h.jd=function(t){Gs(this,t)},h.Pc=function(){return oH(this.c)},h.Qc=function(t){return j1(this,t)};var LOn=I(_r,"ArrayList",13);D(7,1,Ia,K),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return Oc(this)},h.Pb=function(){return re(this)},h.Qb=function(){J_(this)},h.a=0,h.b=-1,I(_r,"ArrayList/1",7),D(2112,b.Function,{},Pe),h.Me=function(t,n){return Xi(t,n)},D(151,56,k3t,Ll),h.Hc=function(t){return Sft(this,t)!=-1},h.Jc=function(t){var n,r,s,o;for(tr(t),r=this.a,s=0,o=r.length;s<o;++s)n=r[s],t.Cd(n)},h.Xb=function(t){return Ast(this,t)},h.hd=function(t,n){var r;return r=(Sn(t,this.a.length),this.a[t]),Ss(this.a,t,n),r},h.gc=function(){return this.a.length},h.jd=function(t){Hae(this.a,this.a.length,t)},h.Pc=function(){return Fdt(this,We(ka,jn,1,this.a.length,5,1))},h.Qc=function(t){return Fdt(this,t)},I(_r,"Arrays/ArrayList",151);var Co,yg,vK;D(953,56,k3t,je),h.Hc=function(t){return!1},h.Xb=function(t){return xye(t)},h.Kc=function(){return Cn(),Ik(),ME},h.ed=function(){return Cn(),Ik(),ME},h.gc=function(){return 0},I(_r,"Collections/EmptyList",953),D(954,1,dg,Ie),h.Nb=function(t){Qa(this,t)},h.Rb=function(t){throw ue(new Qr)},h.Ob=function(){return!1},h.Sb=function(){return!1},h.Pb=function(){throw ue(new Dc)},h.Tb=function(){return 0},h.Ub=function(){throw ue(new Dc)},h.Vb=function(){return-1},h.Qb=function(){throw ue(new gl)},h.Wb=function(t){throw ue(new gl)};var ME;I(_r,"Collections/EmptyListIterator",954),D(956,2065,sE,Se),h._b=function(t){return!1},h.uc=function(t){return!1},h.vc=function(){return Cn(),vK},h.xc=function(t){return null},h.ec=function(){return Cn(),vK},h.gc=function(){return 0},h.Cc=function(){return Cn(),Co},I(_r,"Collections/EmptyMap",956),D(955,q1,_x,Ce),h.Hc=function(t){return!1},h.Kc=function(){return Cn(),Ik(),ME},h.gc=function(){return 0},I(_r,"Collections/EmptySet",955),D(608,56,{3:1,20:1,31:1,56:1,16:1,15:1},Ma),h.Hc=function(t){return eu(this.a,t)},h.Xb=function(t){return Sn(t,1),this.a},h.gc=function(){return 1},I(_r,"Collections/SingletonList",608),D(384,1,u3t,ja),h.Jc=function(t){Za(this,t)},h.Lc=function(){return new vn(null,this.Nc())},h.Nc=function(){return new kn(this,0)},h.Oc=function(){return new vn(null,this.Nc())},h.Fc=function(t){return FZe()},h.Gc=function(t){return RZe()},h.$b=function(){jZe()},h.Hc=function(t){return lO(this,t)},h.Ic=function(t){return Aet(this,t)},h.dc=function(){return this.b.dc()},h.Kc=function(){return new vo(this.b.Kc())},h.Mc=function(t){return $Ze()},h.gc=function(){return this.b.gc()},h.Pc=function(){return this.b.Pc()},h.Qc=function(t){return Let(this,t)},h.Ib=function(){return Tc(this.b)},I(_r,"Collections/UnmodifiableCollection",384),D(383,1,Ia,vo),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return this.b.Ob()},h.Pb=function(){return this.b.Pb()},h.Qb=function(){zZe()},I(_r,"Collections/UnmodifiableCollectionIterator",383),D(540,384,T3t,Gq),h.Nc=function(){return new kn(this,16)},h.bd=function(t,n){throw ue(new Qr)},h.cd=function(t,n){throw ue(new Qr)},h.Fb=function(t){return Fi(this.a,t)},h.Xb=function(t){return this.a.Xb(t)},h.Hb=function(){return ts(this.a)},h.dd=function(t){return this.a.dd(t)},h.dc=function(){return this.a.dc()},h.ed=function(){return new Wye(this.a.fd(0))},h.fd=function(t){return new Wye(this.a.fd(t))},h.gd=function(t){throw ue(new Qr)},h.hd=function(t,n){throw ue(new Qr)},h.jd=function(t){throw ue(new Qr)},h.kd=function(t,n){return new Gq(this.a.kd(t,n))},I(_r,"Collections/UnmodifiableList",540),D(705,383,dg,Wye),h.Qb=function(){zZe()},h.Rb=function(t){throw ue(new Qr)},h.Sb=function(){return this.a.Sb()},h.Tb=function(){return this.a.Tb()},h.Ub=function(){return this.a.Ub()},h.Vb=function(){return this.a.Vb()},h.Wb=function(t){throw ue(new Qr)},I(_r,"Collections/UnmodifiableListIterator",705),D(609,1,t3,er),h.wc=function(t){vA(this,t)},h.yc=function(t,n,r){return nue(this,t,n,r)},h.$b=function(){throw ue(new Qr)},h._b=function(t){return this.c._b(t)},h.uc=function(t){return Det(this,t)},h.vc=function(){return Yk(this)},h.Fb=function(t){return Iet(this,t)},h.xc=function(t){return this.c.xc(t)},h.Hb=function(){return ts(this.c)},h.dc=function(){return this.c.dc()},h.ec=function(){return Kat(this)},h.zc=function(t,n){throw ue(new Qr)},h.Bc=function(t){throw ue(new Qr)},h.gc=function(){return this.c.gc()},h.Ib=function(){return Tc(this.c)},h.Cc=function(){return Gat(this)},I(_r,"Collections/UnmodifiableMap",609),D(396,384,Xle,Ck),h.Nc=function(){return new kn(this,1)},h.Fb=function(t){return Fi(this.b,t)},h.Hb=function(){return ts(this.b)},I(_r,"Collections/UnmodifiableSet",396),D(957,396,Xle,mZe),h.Hc=function(t){return Met(this,t)},h.Ic=function(t){return this.b.Ic(t)},h.Kc=function(){var t;return t=this.b.Kc(),new Fo(t)},h.Pc=function(){var t;return t=this.b.Pc(),Cut(t,t.length),t},h.Qc=function(t){return Dot(this,t)},I(_r,"Collections/UnmodifiableMap/UnmodifiableEntrySet",957),D(958,1,Ia,Fo),h.Nb=function(t){Qa(this,t)},h.Pb=function(){return new ur(l(this.a.Pb(),44))},h.Ob=function(){return this.a.Ob()},h.Qb=function(){throw ue(new Qr)},I(_r,"Collections/UnmodifiableMap/UnmodifiableEntrySet/1",958),D(703,1,khe,ur),h.Fb=function(t){return this.a.Fb(t)},h.ld=function(){return this.a.ld()},h.md=function(){return this.a.md()},h.Hb=function(){return this.a.Hb()},h.nd=function(t){throw ue(new Qr)},h.Ib=function(){return Tc(this.a)},I(_r,"Collections/UnmodifiableMap/UnmodifiableEntrySet/UnmodifiableEntry",703),D(610,540,{20:1,16:1,15:1,59:1},gse),I(_r,"Collections/UnmodifiableRandomAccessList",610),D(704,396,l3t,Yye),h.Nc=function(){return new dq(this)},h.Fb=function(t){return Fi(this.a,t)},h.Hb=function(){return ts(this.a)},I(_r,"Collections/UnmodifiableSortedSet",704),D(858,1,The,ke),h.Ne=function(t,n){var r;return r=Tut(l(t,12),l(n,12)),r!=0?r:nvt(l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(_r,"Comparator/lambda$0$Type",858);var D_e,V0e,I_e;D(769,1,The,Ke),h.Ne=function(t,n){return sgn(l(t,34),l(n,34))},h.Fb=function(t){return this===t},h.Oe=function(){return Mw(),I_e},I(_r,"Comparators/NaturalOrderComparator",769),D(1226,1,The,zt),h.Ne=function(t,n){return ign(l(t,34),l(n,34))},h.Fb=function(t){return this===t},h.Oe=function(){return Mw(),V0e},I(_r,"Comparators/ReverseNaturalOrderComparator",1226),D(52,1,The,Ut),h.Fb=function(t){return this===t},h.Ne=function(t,n){return this.a.Ne(n,t)},h.Oe=function(){return this.a},I(_r,"Comparators/ReversedComparator",52),D(175,63,gp,Yh),I(_r,"ConcurrentModificationException",175);var Z6t,e7t;D(1948,1,FP,Ne),h.Pe=function(t){adt(this,t)},h.Ib=function(){return"DoubleSummaryStatistics[count = "+X_(this.a)+", avg = "+(Cse(this.a,0)?q6e(this)/Vm(this.a):0)+", min = "+this.c+", max = "+this.b+", sum = "+q6e(this)+"]"},h.a=0,h.b=oa,h.c=gs,h.d=0,h.e=0,h.f=0,I(_r,"DoubleSummaryStatistics",1948),D(1868,63,gp,uJe),I(_r,"EmptyStackException",1868),D(461,2065,t3,MA),h.zc=function(t,n){return w4e(this,t,n)},h.$b=function(){Nat(this)},h._b=function(t){return Yet(this,t)},h.uc=function(t){var n,r;for(r=new B8(this.a);r.a<r.c.a.length;)if(n=uA(r),eu(t,this.b[n.g]))return!0;return!1},h.vc=function(){return new Vs(this)},h.xc=function(t){return Zo(this,t)},h.Bc=function(t){return d6e(this,t)},h.gc=function(){return this.a.c},I(_r,"EnumMap",461),D(1340,q1,Tl,Vs),h.$b=function(){Nat(this.a)},h.Hc=function(t){return Yct(this,t)},h.Kc=function(){return new Ost(this.a)},h.Mc=function(t){var n;return Yct(this,t)?(n=l(t,44).ld(),d6e(this.a,n),!0):!1},h.gc=function(){return this.a.a.c},I(_r,"EnumMap/EntrySet",1340),D(1341,1,Ia,Ost),h.Nb=function(t){Qa(this,t)},h.Pb=function(){return this.b=uA(this.a),new Qet(this.c,this.b)},h.Ob=function(){return Iye(this.a)},h.Qb=function(){my(!!this.b),d6e(this.c,this.b),this.b=null},I(_r,"EnumMap/EntrySetIterator",1341),D(1342,2082,khe,Qet),h.ld=function(){return this.a},h.md=function(){return this.b.b[this.a.g]},h.nd=function(t){return n5e(this.b.b,this.a.g,t)},I(_r,"EnumMap/MapEntry",1342),D(181,q1,{20:1,31:1,16:1,181:1,21:1});var t7t=I(_r,"EnumSet",181);D(162,181,{20:1,31:1,16:1,181:1,162:1,21:1},Jh),h.Fc=function(t){return f0(this,l(t,22))},h.Hc=function(t){return qae(this,t)},h.Kc=function(){return new B8(this)},h.Mc=function(t){return qst(this,t)},h.gc=function(){return this.c},h.c=0,I(_r,"EnumSet/EnumSetImpl",162),D(356,1,Ia,B8),h.Nb=function(t){Qa(this,t)},h.Pb=function(){return uA(this)},h.Ob=function(){return Iye(this)},h.Qb=function(){my(this.b!=-1),Ss(this.c.b,this.b,null),--this.c.c,this.b=-1},h.a=-1,h.b=-1,I(_r,"EnumSet/EnumSetImpl/IteratorImpl",356),D(45,498,w6,Nr,P8,pnt),h.Be=function(t,n){return qe(t)===qe(n)||t!=null&&Fi(t,n)},h.Ce=function(t){var n;return t==null?0:(n=ts(t),n|0)},I(_r,"HashMap",45),D(49,q1,CTe,Ys,eq,G_),h.Fc=function(t){return sa(this,t)},h.$b=function(){this.a.$b()},h.Hc=function(t){return K0(this,t)},h.dc=function(){return this.a.gc()==0},h.Kc=function(){return this.a.ec().Kc()},h.Mc=function(t){return Fye(this,t)},h.gc=function(){return this.a.gc()};var MOn=I(_r,"HashSet",49);D(1897,1,MP,pn),h.Dd=function(t){b0t(this,t)},h.Ib=function(){return"IntSummaryStatistics[count = "+X_(this.a)+", avg = "+(Cse(this.a,0)?Vm(this.d)/Vm(this.a):0)+", min = "+this.c+", max = "+this.b+", sum = "+X_(this.d)+"]"},h.a=0,h.b=ao,h.c=Ni,h.d=0,I(_r,"IntSummaryStatistics",1897),D(1062,1,gg,Ont),h.Jc=function(t){Za(this,t)},h.Kc=function(){return new Q6e(this)},h.c=0,I(_r,"InternalHashCodeMap",1062),D(726,1,Ia,Q6e),h.Nb=function(t){Qa(this,t)},h.Pb=function(){return this.d=this.a[this.c++],this.d},h.Ob=function(){var t;return this.c<this.a.length?!0:(t=this.b.next(),t.done?!1:(this.a=t.value[1],this.c=0,!0))},h.Qb=function(){U9e(this.e,this.d.ld()),this.c!=0&&--this.c},h.c=0,h.d=null,I(_r,"InternalHashCodeMap/1",726);var n7t;D(1060,1,gg,Nnt),h.Jc=function(t){Za(this,t)},h.Kc=function(){return new L6e(this)},h.c=0,h.d=0,I(_r,"InternalStringMap",1060),D(725,1,Ia,L6e),h.Nb=function(t){Qa(this,t)},h.Pb=function(){return this.c=this.a,this.a=this.b.next(),new $it(this.d,this.c,this.d.d)},h.Ob=function(){return!this.a.done},h.Qb=function(){x0t(this.d,this.c.value[0])},I(_r,"InternalStringMap/1",725),D(1061,2082,khe,$it),h.ld=function(){return this.b.value[0]},h.md=function(){return this.a.d!=this.c?x_(this.a,this.b.value[0]):this.b.value[1]},h.nd=function(t){return Hw(this.a,this.b.value[0],t)},h.c=0,I(_r,"InternalStringMap/2",1061),D(215,45,w6,u2,X6e),h.$b=function(){fit(this)},h._b=function(t){return Xet(this,t)},h.uc=function(t){var n;for(n=this.d.a;n!=this.d;){if(eu(n.e,t))return!0;n=n.a}return!1},h.vc=function(){return new Mc(this)},h.xc=function(t){return B1(this,t)},h.zc=function(t,n){return y2(this,t,n)},h.Bc=function(t){return yht(this,t)},h.gc=function(){return g_(this.e)},h.c=!1,I(_r,"LinkedHashMap",215),D(400,397,{494:1,397:1,400:1,44:1},Prt,G4e),I(_r,"LinkedHashMap/ChainEntry",400),D(715,q1,Tl,Mc),h.$b=function(){fit(this.a)},h.Hc=function(t){return Xct(this,t)},h.Kc=function(){return new R5e(this)},h.Mc=function(t){var n;return Xct(this,t)?(n=l(t,44).ld(),yht(this.a,n),!0):!1},h.gc=function(){return g_(this.a.e)},I(_r,"LinkedHashMap/EntrySet",715),D(716,1,Ia,R5e),h.Nb=function(t){Qa(this,t)},h.Pb=function(){return Cht(this)},h.Ob=function(){return this.c!=this.d.a.d},h.Qb=function(){my(!!this.a),Lae(this.d.a.e.g,this.b),i5e(this.a),ox(this.d.a.e,this.a.d),this.b=this.d.a.e.g,this.a=null},h.b=0,I(_r,"LinkedHashMap/EntrySet/EntryIterator",716),D(174,49,CTe,bd,bae,h5e);var DOn=I(_r,"LinkedHashSet",174);D(67,2062,{3:1,4:1,20:1,31:1,56:1,16:1,67:1,15:1},os,_ae),h.Fc=function(t){return ci(this,t)},h.$b=function(){Ch(this)},h.fd=function(t){return Fr(this,t)},h.gc=function(){return this.b},h.b=0;var IOn=I(_r,"LinkedList",67);D(981,1,dg,zit),h.Nb=function(t){Qa(this,t)},h.Rb=function(t){YO(this,t)},h.Ob=function(){return sO(this)},h.Sb=function(){return this.b.b!=this.d.a},h.Pb=function(){return Pr(this)},h.Tb=function(){return this.a},h.Ub=function(){return Vct(this)},h.Vb=function(){return this.a-1},h.Qb=function(){uce(this)},h.Wb=function(t){my(!!this.c),this.c.c=t},h.a=0,h.c=null,I(_r,"LinkedList/ListIteratorImpl",981),D(617,1,{},Tt),I(_r,"LinkedList/Node",617),D(2057,1,{});var O_e,r7t;I(_r,"Locale",2057),D(873,2057,{},Et),h.Ib=function(){return""},I(_r,"Locale/1",873),D(874,2057,{},Wt),h.Ib=function(){return"unknown"},I(_r,"Locale/4",874),D(112,63,{3:1,103:1,63:1,82:1,112:1},Dc,sot),I(_r,"NoSuchElementException",112),D(475,1,{475:1},ose),h.Fb=function(t){var n;return t===this?!0:De(t,475)?(n=l(t,475),eu(this.a,n.a)):!1},h.Hb=function(){return $5(this.a)},h.Ib=function(){return this.a!=null?i3t+$_(this.a)+")":"Optional.empty()"};var N_e;I(_r,"Optional",475),D(414,1,{414:1},wnt,wae),h.Fb=function(t){var n;return t===this?!0:De(t,414)?(n=l(t,414),this.a==n.a&&Xi(this.b,n.b)==0):!1},h.Hb=function(){return this.a?da(this.b):0},h.Ib=function(){return this.a?"OptionalDouble.of("+(""+this.b)+")":"OptionalDouble.empty()"},h.a=!1,h.b=0;var G0e;I(_r,"OptionalDouble",414),D(524,1,{524:1},ynt,Brt),h.Fb=function(t){var n;return t===this?!0:De(t,524)?(n=l(t,524),this.a==n.a&&iu(this.b,n.b)==0):!1},h.Hb=function(){return this.a?this.b:0},h.Ib=function(){return this.a?"OptionalInt.of("+(""+this.b)+")":"OptionalInt.empty()"},h.a=!1,h.b=0;var i7t;I(_r,"OptionalInt",524),D(510,2103,Qy,xH),h.Gc=function(t){return Sxe(this,t)},h.$b=function(){uy(this.b.c,0)},h.Hc=function(t){return(t==null?-1:bc(this.b,t,0))!=-1},h.Kc=function(){return new Qn(this)},h.Mc=function(t){return zft(this,t)},h.gc=function(){return this.b.c.length},h.Nc=function(){return new kn(this,256)},h.Pc=function(){return oH(this.b.c)},h.Qc=function(t){return j1(this.b,t)},I(_r,"PriorityQueue",510),D(1296,1,Ia,Qn),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return this.a<this.c.b.c.length},h.Pb=function(){return br(this.a<this.c.b.c.length),this.b=this.a++,Rt(this.c.b,this.b)},h.Qb=function(){my(this.b!=-1),mce(this.c,this.a=this.b),this.b=-1},h.a=0,h.b=-1,I(_r,"PriorityQueue/1",1296),D(234,1,{234:1},sue,QH),h.a=0,h.b=0;var P_e,B_e,OOn=0;I(_r,"Random",234),D(25,1,Ph,kn,Cw,rot),h.Ad=function(t){return(this.a&t)!=0},h.yd=function(){return this.a},h.zd=function(){return k5e(this),this.c},h.Nb=function(t){k5e(this),this.d.Nb(t)},h.Bd=function(t){return Qht(this,t)},h.a=0,h.c=0,I(_r,"Spliterators/IteratorSpliterator",25),D(495,25,Ph,dq),I(_r,"SortedSet/1",495),D(611,1,FP,lo),h.Pe=function(t){this.a.Cd(t)},I(_r,"Spliterator/OfDouble/0methodref$accept$Type",611),D(612,1,FP,Cs),h.Pe=function(t){this.a.Cd(t)},I(_r,"Spliterator/OfDouble/1methodref$accept$Type",612),D(613,1,MP,qc),h.Dd=function(t){this.a.Cd(bt(t))},I(_r,"Spliterator/OfInt/2methodref$accept$Type",613),D(614,1,MP,$a),h.Dd=function(t){this.a.Cd(bt(t))},I(_r,"Spliterator/OfInt/3methodref$accept$Type",614),D(625,1,Ph),h.Nb=function(t){A3e(this,t)},h.Ad=function(t){return(this.d&t)!=0},h.yd=function(){return this.d},h.zd=function(){return this.e},h.d=0,h.e=0,I(_r,"Spliterators/BaseSpliterator",625),D(736,625,Ph),h.Qe=function(t){M5(this,t)},h.Nb=function(t){De(t,189)?M5(this,l(t,189)):M5(this,new Cs(t))},h.Bd=function(t){return De(t,189)?this.Re(l(t,189)):this.Re(new lo(t))},I(_r,"Spliterators/AbstractDoubleSpliterator",736),D(735,625,Ph),h.Qe=function(t){M5(this,t)},h.Nb=function(t){De(t,202)?M5(this,l(t,202)):M5(this,new $a(t))},h.Bd=function(t){return De(t,202)?this.Re(l(t,202)):this.Re(new qc(t))},I(_r,"Spliterators/AbstractIntSpliterator",735),D(500,625,Ph),I(_r,"Spliterators/AbstractSpliterator",500),D(706,1,Ph),h.Nb=function(t){A3e(this,t)},h.Ad=function(t){return(this.b&t)!=0},h.yd=function(){return this.b},h.zd=function(){return this.d-this.c},h.b=0,h.c=0,h.d=0,I(_r,"Spliterators/BaseArraySpliterator",706),D(960,706,Ph,Tst),h.Se=function(t,n){$un(this,l(t,41),n)},h.Nb=function(t){coe(this,t)},h.Bd=function(t){return rU(this,t)},I(_r,"Spliterators/ArraySpliterator",960),D(707,706,Ph,Fit),h.Se=function(t,n){zun(this,l(t,189),n)},h.Qe=function(t){coe(this,t)},h.Nb=function(t){De(t,189)?coe(this,l(t,189)):coe(this,new Cs(t))},h.Re=function(t){return rU(this,t)},h.Bd=function(t){return De(t,189)?rU(this,l(t,189)):rU(this,new lo(t))},I(_r,"Spliterators/DoubleArraySpliterator",707),D(2066,1,Ph),h.Nb=function(t){A3e(this,t)},h.Ad=function(t){return(16448&t)!=0},h.yd=function(){return 16448},h.zd=function(){return 0};var s7t;I(_r,"Spliterators/EmptySpliterator",2066),D(959,2066,Ph,un),h.Qe=function(t){t0(t)},h.Nb=function(t){De(t,202)?t0(l(t,202)):t0(new $a(t))},h.Re=function(t){return q3e(t)},h.Bd=function(t){return De(t,202)?q3e(l(t,202)):q3e(new qc(t))},I(_r,"Spliterators/EmptySpliterator/OfInt",959),D(588,56,E3t,Gz),h.bd=function(t,n){Uk(t,this.a.c.length+1),kw(this.a,t,n)},h.Fc=function(t){return wt(this.a,t)},h.cd=function(t,n){return Uk(t,this.a.c.length+1),p8e(this.a,t,n)},h.Gc=function(t){return aa(this.a,t)},h.$b=function(){uy(this.a.c,0)},h.Hc=function(t){return bc(this.a,t,0)!=-1},h.Ic=function(t){return DN(this.a,t)},h.Jc=function(t){Uu(this.a,t)},h.Xb=function(t){return Uk(t,this.a.c.length),Rt(this.a,t)},h.dd=function(t){return bc(this.a,t,0)},h.dc=function(){return this.a.c.length==0},h.Kc=function(){return new K(this.a)},h.gd=function(t){return Uk(t,this.a.c.length),l2(this.a,t)},h.ce=function(t,n){fct(this.a,t,n)},h.hd=function(t,n){return Uk(t,this.a.c.length),nf(this.a,t,n)},h.gc=function(){return this.a.c.length},h.jd=function(t){Gs(this.a,t)},h.kd=function(t,n){return new c2(this.a,t,n)},h.Pc=function(){return oH(this.a.c)},h.Qc=function(t){return j1(this.a,t)},h.Ib=function(){return Ob(this.a)},I(_r,"Vector",588),D(824,588,E3t,t3e),I(_r,"Stack",824),D(213,1,{213:1},Qm),h.Ib=function(){return Uct(this)},I(_r,"StringJoiner",213),D(553,2090,{3:1,85:1,139:1,133:1},Net,Yae),h.$b=function(){uZe(this)},h.De=function(){return new Qct(this)},h.vc=function(){return new Lrt(this)},h.Ee=function(t){return PT(this,t,!0)},h.Fe=function(t){return n1t(this,t)},h.Ge=function(){return r7e(this)},h.He=function(t){return WN(this,t,!0)},h.Ie=function(t){return PT(this,t,!1)},h.Je=function(){return lht(this)},h.Ke=function(t){return WN(this,t,!1)},h.Zc=function(t,n){return dct(this,t,n)},h.zc=function(t,n){return G0t(this,t,n)},h.Bc=function(t){return Bot(this,t)},h.Le=function(t){return K6e(this,t)},h.gc=function(){return this.c},h.ad=function(t,n){return gct(this,t,n)},h.c=0,I(_r,"TreeMap",553),D(554,1,Ia,Qct,xce),h.Nb=function(t){Qa(this,t)},h.Pb=function(){return Frt(this)},h.Ob=function(){return Ese(this.a)},h.Qb=function(){Hit(this)},I(_r,"TreeMap/EntryIterator",554),D(1142,629,Tl,Lrt),h.$b=function(){uZe(this.a)},I(_r,"TreeMap/EntrySet",1142),D(447,397,{494:1,397:1,44:1,447:1},Xoe),h.b=!1;var NOn=I(_r,"TreeMap/Node",447);D(630,1,{},yt),h.Ib=function(){return"State: mv="+this.c+" value="+this.d+" done="+this.a+" found="+this.b},h.a=!1,h.b=!1,h.c=!1,I(_r,"TreeMap/State",630),D(631,2090,mTe,Xue),h.De=function(){return new xce(this.c,this.f,this.b,this.a,this.e,this.d)},h.vc=function(){return new Rs(this)},h.Ee=function(t){return rH(this,PT(this.c,t,!0))},h.Fe=function(t){return rH(this,n1t(this.c,t))},h.Ge=function(){var t;return this.f.Te()?this.a?t=PT(this.c,this.b,!0):t=PT(this.c,this.b,!1):t=r7e(this.c),t&&_H(this,t.d)?t:null},h.He=function(t){return rH(this,WN(this.c,t,!0))},h.Ie=function(t){return rH(this,PT(this.c,t,!1))},h.Je=function(){var t;return this.f.Ue()?this.d?t=WN(this.c,this.e,!0):t=WN(this.c,this.e,!1):t=lht(this.c),t&&_H(this,t.d)?t:null},h.Ke=function(t){return rH(this,WN(this.c,t,!1))},h.Zc=function(t,n){if(this.f.Ue()&&this.c.a.Ne(t,this.e)>0)throw ue(new Wn(ATe+t+" greater than "+this.e));return this.f.Te()?Pot(this.c,this.b,this.a,t,n):dct(this.c,t,n)},h.zc=function(t,n){if(!Pue(this.c,this.f,t,this.b,this.a,this.e,this.d))throw ue(new Wn(t+" outside the range "+this.b+" to "+this.e));return G0t(this.c,t,n)},h.Bc=function(t){var n;return n=t,Pue(this.c,this.f,n,this.b,this.a,this.e,this.d)?Bot(this.c,n):null},h.Le=function(t){return _H(this,t.ld())&&K6e(this.c,t)},h.gc=function(){var t,n,r;if(this.f.Te()?this.a?n=PT(this.c,this.b,!0):n=PT(this.c,this.b,!1):n=r7e(this.c),!(n&&_H(this,n.d)&&n))return 0;for(t=0,r=new xce(this.c,this.f,this.b,this.a,this.e,this.d);Ese(r.a);r.b=l(X5e(r.a),44))++t;return t},h.ad=function(t,n){if(this.f.Te()&&this.c.a.Ne(t,this.b)<0)throw ue(new Wn(ATe+t+C3t+this.b));return this.f.Ue()?Pot(this.c,t,n,this.e,this.d):gct(this.c,t,n)},h.a=!1,h.d=!1,I(_r,"TreeMap/SubMap",631),D(304,22,She,gq),h.Te=function(){return!1},h.Ue=function(){return!1};var K0e,W0e,Y0e,X0e,wK=Br(_r,"TreeMap/SubMapType",304,Hr,dmn,T0n);D(1143,304,She,znt),h.Ue=function(){return!0},Br(_r,"TreeMap/SubMapType/1",1143,wK,null,null),D(1144,304,She,Xnt),h.Te=function(){return!0},h.Ue=function(){return!0},Br(_r,"TreeMap/SubMapType/2",1144,wK,null,null),D(1145,304,She,$nt),h.Te=function(){return!0},Br(_r,"TreeMap/SubMapType/3",1145,wK,null,null);var a7t;D(157,q1,{3:1,20:1,31:1,16:1,277:1,21:1,87:1,157:1},Kwe,n2,wa),h.Nc=function(){return new dq(this)},h.Fc=function(t){return KO(this,t)},h.$b=function(){this.a.$b()},h.Hc=function(t){return this.a._b(t)},h.Kc=function(){return this.a.ec().Kc()},h.Mc=function(t){return pae(this,t)},h.gc=function(){return this.a.gc()};var POn=I(_r,"TreeSet",157);D(1082,1,{},wo),h.Ve=function(t,n){return $fn(this.a,t,n)},I(_he,"BinaryOperator/lambda$0$Type",1082),D(1083,1,{},oh),h.Ve=function(t,n){return zfn(this.a,t,n)},I(_he,"BinaryOperator/lambda$1$Type",1083),D(952,1,{},Bt),h.Kb=function(t){return t},I(_he,"Function/lambda$0$Type",952),D(395,1,ei,Vl),h.Mb=function(t){return!this.a.Mb(t)},I(_he,"Predicate/lambda$2$Type",395),D(581,1,{581:1});var o7t=I(oL,"Handler",581);D(2107,1,AP),h.xe=function(){return"DUMMY"},h.Ib=function(){return this.xe()};var F_e;I(oL,"Level",2107),D(1706,2107,AP,Ze),h.xe=function(){return"INFO"},I(oL,"Level/LevelInfo",1706),D(1843,1,{},dJe);var Q0e;I(oL,"LogManager",1843),D(1896,1,AP,qit),h.b=null,I(oL,"LogRecord",1896),D(525,1,{525:1},$oe),h.e=!1;var c7t=!1,u7t=!1,G1=!1,l7t=!1,h7t=!1;I(oL,"Logger",525),D(835,581,{581:1},Dt),I(oL,"SimpleConsoleLogHandler",835),D(108,22,{3:1,34:1,22:1,108:1},_se);var R_e,Cc,o4,uc=Br(ca,"Collector/Characteristics",108,Hr,ebn,E0n),f7t;D(758,1,{},L5e),I(ca,"CollectorImpl",758),D(1074,1,{},kt),h.Ve=function(t,n){return N4n(l(t,213),l(n,213))},I(ca,"Collectors/10methodref$merge$Type",1074),D(1075,1,{},Nn),h.Kb=function(t){return Uct(l(t,213))},I(ca,"Collectors/11methodref$toString$Type",1075),D(1076,1,{},cb),h.Kb=function(t){return Hn(),!!Tye(t)},I(ca,"Collectors/12methodref$test$Type",1076),D(144,1,{},ht),h.Yd=function(t,n){l(t,16).Fc(n)},I(ca,"Collectors/20methodref$add$Type",144),D(146,1,{},qr),h.Xe=function(){return new mt},I(ca,"Collectors/21methodref$ctor$Type",146),D(359,1,{},xt),h.Xe=function(){return new Ys},I(ca,"Collectors/23methodref$ctor$Type",359),D(360,1,{},Ri),h.Yd=function(t,n){sa(l(t,49),n)},I(ca,"Collectors/24methodref$add$Type",360),D(1069,1,{},wi),h.Ve=function(t,n){return Pet(l(t,15),l(n,16))},I(ca,"Collectors/4methodref$addAll$Type",1069),D(1073,1,{},ia),h.Yd=function(t,n){np(l(t,213),l(n,484))},I(ca,"Collectors/9methodref$add$Type",1073),D(1072,1,{},sst),h.Xe=function(){return new Qm(this.a,this.b,this.c)},I(ca,"Collectors/lambda$15$Type",1072),D(1077,1,{},Hs),h.Xe=function(){var t;return t=new u2,y2(t,(Hn(),!1),new mt),y2(t,!0,new mt),t},I(ca,"Collectors/lambda$22$Type",1077),D(1078,1,{},ub),h.Xe=function(){return he(le(ka,1),jn,1,5,[this.a])},I(ca,"Collectors/lambda$25$Type",1078),D(1079,1,{},V0),h.Yd=function(t,n){agn(this.a,Km(t))},I(ca,"Collectors/lambda$26$Type",1079),D(1080,1,{},Xp),h.Ve=function(t,n){return Ngn(this.a,Km(t),Km(n))},I(ca,"Collectors/lambda$27$Type",1080),D(1081,1,{},mo),h.Kb=function(t){return Km(t)[0]},I(ca,"Collectors/lambda$28$Type",1081),D(728,1,{},Tr),h.Ve=function(t,n){return u5e(t,n)},I(ca,"Collectors/lambda$4$Type",728),D(145,1,{},On),h.Ve=function(t,n){return pln(l(t,16),l(n,16))},I(ca,"Collectors/lambda$42$Type",145),D(361,1,{},Rn),h.Ve=function(t,n){return bln(l(t,49),l(n,49))},I(ca,"Collectors/lambda$50$Type",361),D(362,1,{},zn),h.Kb=function(t){return l(t,49)},I(ca,"Collectors/lambda$51$Type",362),D(1068,1,{},fd),h.Yd=function(t,n){$yn(this.a,l(t,85),n)},I(ca,"Collectors/lambda$7$Type",1068),D(1070,1,{},Ct),h.Ve=function(t,n){return byn(l(t,85),l(n,85),new wi)},I(ca,"Collectors/lambda$8$Type",1070),D(1071,1,{},tw),h.Kb=function(t){return d5n(this.a,l(t,85))},I(ca,"Collectors/lambda$9$Type",1071),D(550,1,{}),h.$e=function(){nA(this)},h.d=!1,I(ca,"TerminatableStream",550),D(827,550,LTe,c4e),h.$e=function(){nA(this)},I(ca,"DoubleStreamImpl",827),D(1847,736,Ph,ast),h.Re=function(t){return b7n(this,l(t,189))},h.a=null,I(ca,"DoubleStreamImpl/2",1847),D(1848,1,FP,cy),h.Pe=function(t){uhn(this.a,t)},I(ca,"DoubleStreamImpl/2/lambda$0$Type",1848),D(1845,1,FP,E8),h.Pe=function(t){chn(this.a,t)},I(ca,"DoubleStreamImpl/lambda$0$Type",1845),D(1846,1,FP,T5),h.Pe=function(t){adt(this.a,t)},I(ca,"DoubleStreamImpl/lambda$2$Type",1846),D(1397,735,Ph,Yut),h.Re=function(t){return nmn(this,l(t,202))},h.a=0,h.b=0,h.c=0,I(ca,"IntStream/5",1397),D(806,550,LTe,u4e),h.$e=function(){nA(this)},h._e=function(){return xb(this),this.a},I(ca,"IntStreamImpl",806),D(807,550,LTe,N3e),h.$e=function(){nA(this)},h._e=function(){return xb(this),Uye(),s7t},I(ca,"IntStreamImpl/Empty",807),D(1687,1,MP,C8),h.Dd=function(t){b0t(this.a,t)},I(ca,"IntStreamImpl/lambda$4$Type",1687);var BOn=Ts(ca,"Stream");D(26,550,{533:1,687:1,848:1},vn),h.$e=function(){nA(this)};var qx;I(ca,"StreamImpl",26),D(1102,500,Ph,Nit),h.Bd=function(t){for(;swn(this);){if(this.a.Bd(t))return!0;nA(this.b),this.b=null,this.a=null}return!1},I(ca,"StreamImpl/1",1102),D(1103,1,hr,e_),h.Cd=function(t){Idn(this.a,l(t,848))},I(ca,"StreamImpl/1/lambda$0$Type",1103),D(1104,1,ei,E5),h.Mb=function(t){return sa(this.a,t)},I(ca,"StreamImpl/1methodref$add$Type",1104),D(1105,500,Ph,got),h.Bd=function(t){var n;return this.a||(n=new mt,this.b.a.Nb(new eg(n)),Cn(),Gs(n,this.c),this.a=new kn(n,16)),Qht(this.a,t)},h.a=null,I(ca,"StreamImpl/5",1105),D(1106,1,hr,eg),h.Cd=function(t){wt(this.a,t)},I(ca,"StreamImpl/5/2methodref$add$Type",1106),D(737,500,Ph,i7e),h.Bd=function(t){for(this.b=!1;!this.b&&this.c.Bd(new Jet(this,t)););return this.b},h.b=!1,I(ca,"StreamImpl/FilterSpliterator",737),D(1096,1,hr,Jet),h.Cd=function(t){Agn(this.a,this.b,t)},I(ca,"StreamImpl/FilterSpliterator/lambda$0$Type",1096),D(1091,736,Ph,alt),h.Re=function(t){return c0n(this,l(t,189))},I(ca,"StreamImpl/MapToDoubleSpliterator",1091),D(1095,1,hr,Zet),h.Cd=function(t){Iln(this.a,this.b,t)},I(ca,"StreamImpl/MapToDoubleSpliterator/lambda$0$Type",1095),D(1090,735,Ph,olt),h.Re=function(t){return u0n(this,l(t,202))},I(ca,"StreamImpl/MapToIntSpliterator",1090),D(1094,1,hr,ett),h.Cd=function(t){Oln(this.a,this.b,t)},I(ca,"StreamImpl/MapToIntSpliterator/lambda$0$Type",1094),D(734,500,Ph,H6e),h.Bd=function(t){return Dit(this,t)},I(ca,"StreamImpl/MapToObjSpliterator",734),D(1093,1,hr,ttt),h.Cd=function(t){Nln(this.a,this.b,t)},I(ca,"StreamImpl/MapToObjSpliterator/lambda$0$Type",1093),D(1092,500,Ph,Bft),h.Bd=function(t){for(;Cse(this.b,0);){if(!this.a.Bd(new gt))return!1;this.b=Df(this.b,1)}return this.a.Bd(t)},h.b=0,I(ca,"StreamImpl/SkipSpliterator",1092),D(1097,1,hr,gt),h.Cd=function(t){},I(ca,"StreamImpl/SkipSpliterator/lambda$0$Type",1097),D(626,1,hr,on),h.Cd=function(t){Fie(this,t)},I(ca,"StreamImpl/ValueConsumer",626),D(1098,1,hr,dn),h.Cd=function(t){Bm()},I(ca,"StreamImpl/lambda$0$Type",1098),D(1099,1,hr,Ln),h.Cd=function(t){Bm()},I(ca,"StreamImpl/lambda$1$Type",1099),D(1100,1,{},_1),h.Ve=function(t,n){return z0n(this.a,t,n)},I(ca,"StreamImpl/lambda$4$Type",1100),D(1101,1,hr,ntt),h.Cd=function(t){Kfn(this.b,this.a,t)},I(ca,"StreamImpl/lambda$5$Type",1101),D(1107,1,hr,tg),h.Cd=function(t){iyn(this.a,l(t,380))},I(ca,"TerminatableStream/lambda$0$Type",1107),D(2142,1,{}),D(2014,1,{},Io),I("javaemul.internal","ConsoleLogger",2014);var FOn=0;D(2134,1,{}),D(1830,1,hr,Oo),h.Cd=function(t){l(t,317)},I(uE,"BowyerWatsonTriangulation/lambda$0$Type",1830),D(1831,1,hr,Dm),h.Cd=function(t){Ga(this.a,l(t,317).e)},I(uE,"BowyerWatsonTriangulation/lambda$1$Type",1831),D(1832,1,hr,No),h.Cd=function(t){l(t,177)},I(uE,"BowyerWatsonTriangulation/lambda$2$Type",1832),D(1827,1,ii,Bz),h.Ne=function(t,n){return zmn(this.a,l(t,177),l(n,177))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(uE,"NaiveMinST/lambda$0$Type",1827),D(449,1,{},nw),I(uE,"NodeMicroLayout",449),D(177,1,{177:1},F8),h.Fb=function(t){var n;return De(t,177)?(n=l(t,177),eu(this.a,n.a)&&eu(this.b,n.b)||eu(this.a,n.b)&&eu(this.b,n.a)):!1},h.Hb=function(){return $5(this.a)+$5(this.b)};var ROn=I(uE,"TEdge",177);D(317,1,{317:1},Hke),h.Fb=function(t){var n;return De(t,317)?(n=l(t,317),lU(this,n.a)&&lU(this,n.b)&&lU(this,n.c)):!1},h.Hb=function(){return $5(this.a)+$5(this.b)+$5(this.c)},I(uE,"TTriangle",317),D(225,1,{225:1},zq),I(uE,"Tree",225),D(1218,1,{},Zot),I(A3t,"Scanline",1218);var d7t=Ts(A3t,L3t);D(1758,1,{},Wht),I(mg,"CGraph",1758),D(316,1,{316:1},nct),h.b=0,h.c=0,h.d=0,h.g=0,h.i=0,h.k=oa,I(mg,"CGroup",316),D(830,1,{},Xwe),I(mg,"CGroup/CGroupBuilder",830),D(60,1,{60:1},git),h.Ib=function(){var t;return this.j?Zr(this.j.Kb(this)):(Xg(yK),yK.o+"@"+(t=ww(this)>>>0,t.toString(16)))},h.f=0,h.i=oa;var yK=I(mg,"CNode",60);D(829,1,{},Qwe),I(mg,"CNode/CNodeBuilder",829);var g7t;D(1590,1,{},Us),h.ff=function(t,n){return 0},h.gf=function(t,n){return 0},I(mg,D3t,1590),D(1853,1,{},uo),h.cf=function(t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te;for(C=gs,s=new K(t.a.b);s.a<s.c.c.length;)n=l(re(s),60),C=b.Math.min(C,n.a.j.d.c+n.b.a);for(V=new os,g=new K(t.a.a);g.a<g.c.c.length;)f=l(re(g),316),f.k=C,f.g==0&&_s(V,f,V.c.b,V.c);for(;V.b!=0;){for(f=l(V.b==0?null:(br(V.b!=0),sf(V,V.a.a)),316),o=f.j.d.c,z=f.a.a.ec().Kc();z.Ob();)L=l(z.Pb(),60),te=f.k+L.b.a,!w4n(t,f,t.d)||L.d.c<te?L.i=te:L.i=L.d.c;for(o-=f.j.i,f.b+=o,t.d==(ea(),yc)||t.d==Q1?f.c+=o:f.c-=o,F=f.a.a.ec().Kc();F.Ob();)for(L=l(F.Pb(),60),T=L.c.Kc();T.Ob();)w=l(T.Pb(),60),Yg(t.d)?J=t.g.ff(L,w):J=t.g.gf(L,w),w.a.k=b.Math.max(w.a.k,L.i+L.d.b+J-w.b.a),kot(t,w,t.d)&&(w.a.k=b.Math.max(w.a.k,w.d.c-w.b.a)),--w.a.g,w.a.g==0&&ci(V,w.a)}for(r=new K(t.a.b);r.a<r.c.c.length;)n=l(re(r),60),n.d.c=n.i},I(mg,"LongestPathCompaction",1853),D(1756,1,{},B2t),h.e=!1;var p7t,b7t,m7t,J0e=I(mg,N3t,1756);D(1757,1,hr,Hie),h.Cd=function(t){yyn(this.a,l(t,42))},I(mg,P3t,1757),D(1854,1,{},Es),h.df=function(t){var n,r,s,o,f,g,w;for(r=new K(t.a.b);r.a<r.c.c.length;)n=l(re(r),60),n.c.$b();for(o=new K(t.a.b);o.a<o.c.c.length;)for(s=l(re(o),60),g=new K(t.a.b);g.a<g.c.c.length;)f=l(re(g),60),s!=f&&(s.a&&s.a==f.a||(Yg(t.d)?w=t.g.gf(s,f):w=t.g.ff(s,f),(f.d.c>s.d.c||s.d.c==f.d.c&&s.d.b<f.d.b)&&s6n(f.d.d+f.d.a+w,s.d.d)&&rxe(f.d.d,s.d.d+s.d.a+w)&&s.c.Fc(f)))},I(mg,"QuadraticConstraintCalculation",1854),D(529,1,{529:1},Xie),h.a=!1,h.b=!1,h.c=!1,h.d=!1,I(mg,B3t,529),D(817,1,{},g5e),h.df=function(t){this.c=t,oP(this,new Kd)},I(mg,F3t,817),D(1784,1,{693:1},Eot),h.bf=function(t){ykn(this,l(t,473))},I(mg,R3t,1784),D(1785,1,ii,Ou),h.Ne=function(t,n){return Dpn(l(t,60),l(n,60))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(mg,j3t,1785),D(473,1,{473:1},U3e),h.a=!1,I(mg,$3t,473),D(1786,1,ii,_c),h.Ne=function(t,n){return D8n(l(t,473),l(n,473))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(mg,z3t,1786),D(1787,1,Ld,Kd),h.Lb=function(t){return l(t,60),!0},h.Fb=function(t){return this===t},h.Mb=function(t){return l(t,60),!0},I(mg,"ScanlineConstraintCalculator/lambda$1$Type",1787),D(436,22,{3:1,34:1,22:1,436:1},V3e);var j_e,Z0e,$_e=Br(Dhe,"HighLevelSortingCriterion",436,Hr,a2n,C0n),v7t;D(435,22,{3:1,34:1,22:1,435:1},G3e);var z_e,e1e,q_e=Br(Dhe,"LowLevelSortingCriterion",435,Hr,o2n,S0n),w7t,D6=Ts(Rc,"ILayoutMetaDataProvider");D(864,1,Pf,oz),h.hf=function(t){an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,OTe),Ihe),"Polyomino Traversal Strategy"),"Traversal strategy for trying different candidate positions for polyominoes."),Y_e),(T2(),ps)),iAe),hn((n1(),Bn))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,NTe),Ihe),"Polyomino Secondary Sorting Criterion"),"Possible secondary sorting criteria for the processing order of polyominoes. They are used when polyominoes are equal according to the primary sorting criterion HighLevelSortingCriterion."),K_e),ps),q_e),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,PTe),Ihe),"Polyomino Primary Sorting Criterion"),"Possible primary sorting criteria for the processing order of polyominoes."),V_e),ps),$_e),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,BTe),Ihe),"Fill Polyominoes"),"Use the Profile Fill algorithm to fill polyominoes to prevent small polyominoes from being placed inside of big polyominoes with large holes. Might increase packing area."),(Hn(),!0)),Ta),Ps),hn(Bn))))};var H_e,U_e,V_e,G_e,K_e,W_e,Y_e;I(Dhe,"PolyominoOptions",864),D(257,22,{3:1,34:1,22:1,257:1},D5);var X_e,Q_e,J_e,Z_e,eAe,tAe,t1e,nAe,rAe,iAe=Br(Dhe,"TraversalStrategy",257,Hr,i3n,_0n),y7t;D(218,1,{218:1},qp),h.Ib=function(){return"NEdge[id="+this.b+" w="+this.g+" d="+this.a+"]"},h.a=1,h.b=0,h.c=0,h.f=!1,h.g=0;var x7t=I(cL,"NEdge",218);D(182,1,{},_f),I(cL,"NEdge/NEdgeBuilder",182),D(662,1,{},Zie),I(cL,"NGraph",662),D(125,1,{125:1},llt),h.c=-1,h.d=0,h.e=0,h.i=-1,h.j=!1;var sAe=I(cL,"NNode",125);D(808,1,T3t,Wwe),h.Jc=function(t){Za(this,t)},h.Lc=function(){return new vn(null,new kn(this,16))},h.jd=function(t){Wm(this,t)},h.Nc=function(){return new kn(this,16)},h.Oc=function(){return new vn(null,new kn(this,16))},h.bd=function(t,n){++this.b,kw(this.a,t,n)},h.Fc=function(t){return Kq(this,t)},h.cd=function(t,n){return++this.b,p8e(this.a,t,n)},h.Gc=function(t){return++this.b,aa(this.a,t)},h.$b=function(){++this.b,uy(this.a.c,0)},h.Hc=function(t){return bc(this.a,t,0)!=-1},h.Ic=function(t){return DN(this.a,t)},h.Xb=function(t){return Rt(this.a,t)},h.dd=function(t){return bc(this.a,t,0)},h.dc=function(){return this.a.c.length==0},h.Kc=function(){return ux(new K(this.a))},h.ed=function(){throw ue(new Qr)},h.fd=function(t){throw ue(new Qr)},h.gd=function(t){return++this.b,l2(this.a,t)},h.Mc=function(t){return Xye(this,t)},h.hd=function(t,n){return++this.b,nf(this.a,t,n)},h.gc=function(){return this.a.c.length},h.kd=function(t,n){return new c2(this.a,t,n)},h.Pc=function(){return oH(this.a.c)},h.Qc=function(t){return j1(this.a,t)},h.b=0,I(cL,"NNode/ChangeAwareArrayList",808),D(275,1,{},Nm),I(cL,"NNode/NNodeBuilder",275),D(1695,1,{},Ul),h.a=!1,h.f=Ni,h.j=0,I(cL,"NetworkSimplex",1695),D(1314,1,hr,Uie),h.Cd=function(t){vwt(this.a,l(t,695),!0,!1)},I(q3t,"NodeLabelAndSizeCalculator/lambda$0$Type",1314),D(565,1,{},t_),h.b=!0,h.c=!0,h.d=!0,h.e=!0,I(q3t,"NodeMarginCalculator",565),D(217,1,{217:1}),h.j=!1,h.k=!1;var k7t=I(cv,"Cell",217);D(127,217,{127:1,217:1},dit),h.jf=function(){return cH(this)},h.kf=function(){var t;return t=this.n,this.a.a+t.b+t.c},I(cv,"AtomicCell",127),D(237,22,{3:1,34:1,22:1,237:1},Ase);var Wc,ju,Yc,c4=Br(cv,"ContainerArea",237,Hr,rbn,A0n),T7t;D(336,217,H3t),I(cv,"ContainerCell",336),D(1538,336,H3t,rdt),h.jf=function(){var t;return t=0,this.e?this.b?t=this.b.b:this.a[1][1]&&(t=this.a[1][1].jf()):t=z8e(this,wgt(this,!0)),t>0?t+this.n.d+this.n.a:0},h.kf=function(){var t,n,r,s,o;if(o=0,this.e)this.b?o=this.b.a:this.a[1][1]&&(o=this.a[1][1].kf());else if(this.g)o=z8e(this,Fue(this,null,!0));else for(n=(e1(),he(le(c4,1),it,237,0,[Wc,ju,Yc])),r=0,s=n.length;r<s;++r)t=n[r],o=b.Math.max(o,z8e(this,Fue(this,t,!0)));return o>0?o+this.n.b+this.n.c:0},h.lf=function(){var t,n,r,s,o;if(this.g)for(t=Fue(this,null,!1),r=(e1(),he(le(c4,1),it,237,0,[Wc,ju,Yc])),s=0,o=r.length;s<o;++s)n=r[s],Jbt(this,n,t);else for(r=(e1(),he(le(c4,1),it,237,0,[Wc,ju,Yc])),s=0,o=r.length;s<o;++s)n=r[s],t=Fue(this,n,!1),Jbt(this,n,t)},h.mf=function(){var t,n,r,s;n=this.i,t=this.n,s=wgt(this,!1),j6e(this,(e1(),Wc),n.d+t.d,s),j6e(this,Yc,n.d+n.a-t.a-s[2],s),r=n.a-t.d-t.a,s[0]>0&&(s[0]+=this.d,r-=s[0]),s[2]>0&&(s[2]+=this.d,r-=s[2]),this.c.a=b.Math.max(0,r),this.c.d=n.d+t.d+(this.c.a-r)/2,s[1]=b.Math.max(s[1],r),j6e(this,ju,n.d+t.d+s[0]-(s[1]-r)/2,s)},h.b=null,h.d=0,h.e=!1,h.f=!1,h.g=!1;var n1e=0,xK=0;I(cv,"GridContainerCell",1538),D(471,22,{3:1,34:1,22:1,471:1},Lse);var Vb,Fd,m0,E7t=Br(cv,"HorizontalLabelAlignment",471,Hr,nbn,L0n),C7t;D(314,217,{217:1,314:1},jot,Xht,Iot),h.jf=function(){return wst(this)},h.kf=function(){return r5e(this)},h.a=0,h.c=!1;var jOn=I(cv,"LabelCell",314);D(252,336,{217:1,336:1,252:1},IA),h.jf=function(){return uP(this)},h.kf=function(){return lP(this)},h.lf=function(){Cle(this)},h.mf=function(){Sle(this)},h.b=0,h.c=0,h.d=!1,I(cv,"StripContainerCell",252),D(1691,1,ei,Ac),h.Mb=function(t){return Lun(l(t,217))},I(cv,"StripContainerCell/lambda$0$Type",1691),D(1692,1,{},Jc),h.Ye=function(t){return l(t,217).kf()},I(cv,"StripContainerCell/lambda$1$Type",1692),D(1693,1,ei,Ya),h.Mb=function(t){return Mun(l(t,217))},I(cv,"StripContainerCell/lambda$2$Type",1693),D(1694,1,{},Ba),h.Ye=function(t){return l(t,217).jf()},I(cv,"StripContainerCell/lambda$3$Type",1694),D(472,22,{3:1,34:1,22:1,472:1},Mse);var v0,Gb,s1,S7t=Br(cv,"VerticalLabelAlignment",472,Hr,tbn,M0n),_7t;D(800,1,{},sTe),h.c=0,h.d=0,h.k=0,h.s=0,h.t=0,h.v=!1,h.w=0,h.D=!1,I(cG,"NodeContext",800),D(1536,1,ii,ha),h.Ne=function(t,n){return Dnt(l(t,64),l(n,64))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(cG,"NodeContext/0methodref$comparePortSides$Type",1536),D(1537,1,ii,$o),h.Ne=function(t,n){return s9n(l(t,117),l(n,117))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(cG,"NodeContext/1methodref$comparePortContexts$Type",1537),D(164,22,{3:1,34:1,22:1,164:1},af);var A7t,L7t,M7t,D7t,I7t,O7t,N7t,P7t,B7t,F7t,R7t,j7t,$7t,z7t,q7t,H7t,U7t,V7t,G7t,K7t,W7t,r1e,Y7t=Br(cG,"NodeLabelLocation",164,Hr,gue,D0n),X7t;D(117,1,{117:1},R2t),h.a=!1,I(cG,"PortContext",117),D(1541,1,hr,Lc),h.Cd=function(t){WZe(l(t,314))},I(jP,U3t,1541),D(1542,1,ei,Fa),h.Mb=function(t){return!!l(t,117).c},I(jP,V3t,1542),D(1543,1,hr,Ra),h.Cd=function(t){WZe(l(t,117).c)},I(jP,"LabelPlacer/lambda$2$Type",1543);var aAe;D(1540,1,hr,ma),h.Cd=function(t){vy(),cun(l(t,117))},I(jP,"NodeLabelAndSizeUtilities/lambda$0$Type",1540),D(801,1,hr,B4e),h.Cd=function(t){kln(this.b,this.c,this.a,l(t,187))},h.a=!1,h.c=!1,I(jP,"NodeLabelCellCreator/lambda$0$Type",801),D(1539,1,hr,Vie),h.Cd=function(t){hun(this.a,l(t,187))},I(jP,"PortContextCreator/lambda$0$Type",1539);var kK;D(1902,1,{},Kh),I(hE,"GreedyRectangleStripOverlapRemover",1902),D(1903,1,ii,Po),h.Ne=function(t,n){return efn(l(t,226),l(n,226))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(hE,"GreedyRectangleStripOverlapRemover/0methodref$compareByYCoordinate$Type",1903),D(1849,1,{},mJe),h.a=5,h.e=0,I(hE,"RectangleStripOverlapRemover",1849),D(1850,1,ii,Hp),h.Ne=function(t,n){return tfn(l(t,226),l(n,226))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(hE,"RectangleStripOverlapRemover/0methodref$compareLeftRectangleBorders$Type",1850),D(1852,1,ii,Ug),h.Ne=function(t,n){return Ugn(l(t,226),l(n,226))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(hE,"RectangleStripOverlapRemover/1methodref$compareRightRectangleBorders$Type",1852),D(417,22,{3:1,34:1,22:1,417:1},bq);var hB,i1e,s1e,fB,Q7t=Br(hE,"RectangleStripOverlapRemover/OverlapRemovalDirection",417,Hr,bmn,I0n),J7t;D(226,1,{226:1},Vae),I(hE,"RectangleStripOverlapRemover/RectangleNode",226),D(1851,1,hr,Gie),h.Cd=function(t){D7n(this.a,l(t,226))},I(hE,"RectangleStripOverlapRemover/lambda$1$Type",1851),D(1323,1,ii,od),h.Ne=function(t,n){return QLn(l(t,176),l(n,176))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Md,"PolyominoCompactor/CornerCasesGreaterThanRestComparator",1323),D(1326,1,{},cd),h.Kb=function(t){return l(t,334).a},I(Md,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$0$Type",1326),D(1327,1,ei,w1),h.Mb=function(t){return l(t,332).a},I(Md,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$1$Type",1327),D(1328,1,ei,kh),h.Mb=function(t){return l(t,332).a},I(Md,"PolyominoCompactor/CornerCasesGreaterThanRestComparator/lambda$2$Type",1328),D(1321,1,ii,Wd),h.Ne=function(t,n){return __n(l(t,176),l(n,176))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Md,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator",1321),D(1324,1,{},Yd),h.Kb=function(t){return l(t,334).a},I(Md,"PolyominoCompactor/MinNumOfExtensionDirectionsComparator/lambda$0$Type",1324),D(781,1,ii,Xd),h.Ne=function(t,n){return uyn(l(t,176),l(n,176))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Md,"PolyominoCompactor/MinNumOfExtensionsComparator",781),D(1319,1,ii,Zf),h.Ne=function(t,n){return m3n(l(t,330),l(n,330))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Md,"PolyominoCompactor/MinPerimeterComparator",1319),D(1320,1,ii,Up),h.Ne=function(t,n){return t7n(l(t,330),l(n,330))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Md,"PolyominoCompactor/MinPerimeterComparatorWithShape",1320),D(1322,1,ii,u5),h.Ne=function(t,n){return W_n(l(t,176),l(n,176))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Md,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator",1322),D(1325,1,{},bs),h.Kb=function(t){return l(t,334).a},I(Md,"PolyominoCompactor/SingleExtensionSideGreaterThanRestComparator/lambda$0$Type",1325),D(782,1,{},K3e),h.Ve=function(t,n){return cmn(this,l(t,42),l(n,176))},I(Md,"SuccessorCombination",782),D(649,1,{},Vt),h.Ve=function(t,n){var r;return ETn((r=l(t,42),l(n,176),r))},I(Md,"SuccessorJitter",649),D(648,1,{},jr),h.Ve=function(t,n){var r;return lSn((r=l(t,42),l(n,176),r))},I(Md,"SuccessorLineByLine",648),D(573,1,{},Ji),h.Ve=function(t,n){var r;return EEn((r=l(t,42),l(n,176),r))},I(Md,"SuccessorManhattan",573),D(1344,1,{},Qo),h.Ve=function(t,n){var r;return NCn((r=l(t,42),l(n,176),r))},I(Md,"SuccessorMaxNormWindingInMathPosSense",1344),D(409,1,{},C5),h.Ve=function(t,n){return _5e(this,t,n)},h.c=!1,h.d=!1,h.e=!1,h.f=!1,I(Md,"SuccessorQuadrantsGeneric",409),D(1345,1,{},Hi),h.Kb=function(t){return l(t,334).a},I(Md,"SuccessorQuadrantsGeneric/lambda$0$Type",1345),D(332,22,{3:1,34:1,22:1,332:1},mq),h.a=!1;var dB,gB,pB,bB,Z7t=Br(lG,$Te,332,Hr,gmn,O0n),e8t;D(1317,1,{}),h.Ib=function(){var t,n,r,s,o,f;for(r=" ",t=bt(0),o=0;o<this.o;o++)r+=""+t.a,t=bt(tit(t.a));for(r+=`
`,t=bt(0),f=0;f<this.p;f++){for(r+=""+t.a,t=bt(tit(t.a)),s=0;s<this.o;s++)n=bce(this,s,f),su(n,0)==0?r+="_":su(n,1)==0?r+="X":r+="0";r+=`
`}return ef(r,0,r.length-1)},h.o=0,h.p=0,I(lG,"TwoBitGrid",1317),D(330,1317,{330:1},X8e),h.j=0,h.k=0,I(lG,"PlanarGrid",330),D(176,330,{330:1,176:1}),h.g=0,h.i=0,I(lG,"Polyomino",176);var $On=Ts($P,K3t);D(137,1,zTe,Ui),h.qf=function(t,n){return PN(this,t,n)},h.nf=function(){return Fst(this)},h.of=function(t){return Q(this,t)},h.pf=function(t){return rs(this,t)},I($P,"MapPropertyHolder",137),D(1318,137,zTe,$bt),I(lG,"Polyominoes",1318);var t8t=!1,jL,oAe;D(1828,1,hr,zs),h.Cd=function(t){qvt(l(t,225))},I(Ox,"DepthFirstCompaction/0methodref$compactTree$Type",1828),D(825,1,hr,Fz),h.Cd=function(t){fpn(this.a,l(t,225))},I(Ox,"DepthFirstCompaction/lambda$1$Type",825),D(1829,1,hr,Git),h.Cd=function(t){p6n(this.a,this.b,this.c,l(t,225))},I(Ox,"DepthFirstCompaction/lambda$2$Type",1829);var $L,cAe;D(68,1,{68:1},Jot),I(Ox,"Node",68),D(1214,1,{},Qnt),I(Ox,"ScanlineOverlapCheck",1214),D(1215,1,{693:1},Sot),h.bf=function(t){Ufn(this,l(t,451))},I(Ox,"ScanlineOverlapCheck/OverlapsScanlineHandler",1215),D(1216,1,ii,gi),h.Ne=function(t,n){return J4n(l(t,68),l(n,68))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Ox,"ScanlineOverlapCheck/OverlapsScanlineHandler/lambda$0$Type",1216),D(451,1,{451:1},W3e),h.a=!1,I(Ox,"ScanlineOverlapCheck/Timestamp",451),D(1217,1,ii,Bo),h.Ne=function(t,n){return I8n(l(t,451),l(n,451))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Ox,"ScanlineOverlapCheck/lambda$0$Type",1217),D(557,1,{},Ot),I(W3t,"SVGImage",557),D(334,1,{334:1},P4e),h.Ib=function(){return"("+this.a+To+this.b+To+this.c+")"},I(W3t,"UniqueTriple",334),D(205,1,uv),I(y6,"AbstractLayoutProvider",205),D(1114,205,uv,zu),h.rf=function(t,n){var r,s,o,f;switch(n.Ug(Y3t,1),this.a=ze(Ge(at(t,(OA(),gAe)))),P1(t,o1e)&&(o=Zr(at(t,o1e)),r=vle(dT(),o),r&&(s=l(eN(r.f),205),s.rf(t,n.eh(1)))),f=new vut(this.a),this.b=_Dn(f,t),l(at(t,(Hce(),lAe)),489).g){case 0:HTn(new Gt,this.b),Vi(t,CK,Q(this.b,CK));break;default:Wg()}qDn(f),Vi(t,fAe,this.b),n.Vg()},h.a=0,I(X3t,"DisCoLayoutProvider",1114),D(1208,1,{},Gt),h.c=!1,h.e=0,h.f=0,I(X3t,"DisCoPolyominoCompactor",1208),D(567,1,{567:1},Pst),h.b=!0,I(fG,"DCComponent",567),D(406,22,{3:1,34:1,22:1,406:1},vq),h.a=!1;var TK,mB,EK,vB,n8t=Br(fG,"DCDirection",406,Hr,pmn,N0n),r8t;D(272,137,{3:1,272:1,96:1,137:1},ale),I(fG,"DCElement",272),D(407,1,{407:1},yxe),h.c=0,I(fG,"DCExtension",407),D(762,137,zTe,kZe),I(fG,"DCGraph",762),D(489,22,{3:1,34:1,22:1,489:1},Urt);var a1e,uAe=Br($he,qTe,489,Hr,Tpn,P0n),i8t;D(865,1,Pf,cz),h.hf=function(t){an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,HTe),Q3t),"Connected Components Compaction Strategy"),"Strategy for packing different connected components in order to save space and enhance readability of a graph."),hAe),(T2(),ps)),uAe),hn((n1(),Bn))))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,UTe),Q3t),"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."),e7),$t),hn(Bn)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,VTe),"debug"),"DCGraph"),"Access to the DCGraph is intended for the debug view,"),X1),ka),hn(Bn)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,GTe),"debug"),"List of Polyominoes"),"Access to the polyominoes is intended for the debug view,"),X1),ka),hn(Bn)))),_vt((new uz,t))};var s8t,lAe,hAe,a8t,o8t;I($he,"DisCoMetaDataProvider",865),D(1010,1,Pf,uz),h.hf=function(t){_vt(t)};var c8t,o1e,u8t,fAe,CK,c1e,dAe,l8t,h8t,f8t,d8t,gAe;I($he,"DisCoOptions",1010),D(1011,1,{},Wh),h.sf=function(){var t;return t=new zu,t},h.tf=function(t){},I($he,"DisCoOptions/DiscoFactory",1011),D(568,176,{330:1,176:1,568:1},kbt),h.a=0,h.b=0,h.c=0,h.d=0,I("org.eclipse.elk.alg.disco.structures","DCPolyomino",568);var u1e,l1e,SK;D(1286,1,ei,Vp),h.Mb=function(t){return Tye(t)},I(x6,"ElkGraphComponentsProcessor/lambda$0$Type",1286),D(1287,1,{},J3),h.Kb=function(t){return nx(),hg(l(t,74))},I(x6,"ElkGraphComponentsProcessor/lambda$1$Type",1287),D(1288,1,ei,q9),h.Mb=function(t){return qdn(l(t,74))},I(x6,"ElkGraphComponentsProcessor/lambda$2$Type",1288),D(1289,1,{},l5),h.Kb=function(t){return nx(),Ib(l(t,74))},I(x6,"ElkGraphComponentsProcessor/lambda$3$Type",1289),D(1290,1,ei,Th),h.Mb=function(t){return Hdn(l(t,74))},I(x6,"ElkGraphComponentsProcessor/lambda$4$Type",1290),D(1291,1,ei,kk),h.Mb=function(t){return B2n(this.a,l(t,74))},I(x6,"ElkGraphComponentsProcessor/lambda$5$Type",1291),D(1292,1,{},ZI),h.Kb=function(t){return npn(this.a,l(t,74))},I(x6,"ElkGraphComponentsProcessor/lambda$6$Type",1292),D(1205,1,{},vut),h.a=0,I(x6,"ElkGraphTransformer",1205),D(1206,1,{},Vg),h.Yd=function(t,n){ATn(this,l(t,167),l(n,272))},I(x6,"ElkGraphTransformer/OffsetApplier",1206),D(1207,1,hr,n_),h.Cd=function(t){Rhn(this,l(t,8))},I(x6,"ElkGraphTransformer/OffsetApplier/OffSetToChainApplier",1207),D(760,1,{},Em),I(Uhe,KTe,760),D(1195,1,ii,H9),h.Ne=function(t,n){return bTn(l(t,235),l(n,235))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Uhe,Z3t,1195),D(1196,1,hr,rtt),h.Cd=function(t){ybn(this.b,this.a,l(t,250))},I(Uhe,WTe,1196),D(738,205,uv,Ywe),h.rf=function(t,n){Ebt(this,t,n)},I(Uhe,"ForceLayoutProvider",738),D(309,137,{3:1,309:1,96:1,137:1}),I(zP,"FParticle",309),D(250,309,{3:1,250:1,309:1,96:1,137:1},yat),h.Ib=function(){var t;return this.a?(t=bc(this.a.a,this,0),t>=0?"b"+t+"["+joe(this.a)+"]":"b["+joe(this.a)+"]"):"b_"+ww(this)},I(zP,"FBendpoint",250),D(290,137,{3:1,290:1,96:1,137:1},pit),h.Ib=function(){return joe(this)},I(zP,"FEdge",290),D(235,137,{3:1,235:1,96:1,137:1},eU);var zOn=I(zP,"FGraph",235);D(454,309,{3:1,454:1,309:1,96:1,137:1},mut),h.Ib=function(){return this.b==null||this.b.length==0?"l["+joe(this.a)+"]":"l_"+this.b},I(zP,"FLabel",454),D(153,309,{3:1,153:1,309:1,96:1,137:1},Ynt),h.Ib=function(){return g6e(this)},h.a=0,I(zP,"FNode",153),D(2100,1,{}),h.vf=function(t){Rke(this,t)},h.wf=function(){vgt(this)},h.d=0,I(YTe,"AbstractForceModel",2100),D(641,2100,{641:1},p0t),h.uf=function(t,n){var r,s,o,f,g;return Vvt(this.f,t,n),o=ya(Xa(n.d),t.d),g=b.Math.sqrt(o.a*o.a+o.b*o.b),s=b.Math.max(0,g-tA(t.e)/2-tA(n.e)/2),r=_2t(this.e,t,n),r>0?f=-zgn(s,this.c)*r:f=bfn(s,this.b)*l(Q(t,(p0(),Hx)),17).a,md(o,f/g),o},h.vf=function(t){Rke(this,t),this.a=l(Q(t,(p0(),AK)),17).a,this.c=ze(Ge(Q(t,LK))),this.b=ze(Ge(Q(t,f1e)))},h.xf=function(t){return t<this.a},h.a=0,h.b=0,h.c=0,I(YTe,"EadesModel",641),D(642,2100,{642:1},gst),h.uf=function(t,n){var r,s,o,f,g;return Vvt(this.f,t,n),o=ya(Xa(n.d),t.d),g=b.Math.sqrt(o.a*o.a+o.b*o.b),s=b.Math.max(0,g-tA(t.e)/2-tA(n.e)/2),f=mfn(s,this.a)*l(Q(t,(p0(),Hx)),17).a,r=_2t(this.e,t,n),r>0&&(f-=Cun(s,this.a)*r),md(o,f*this.b/g),o},h.vf=function(t){var n,r,s,o,f,g,w;for(Rke(this,t),this.b=ze(Ge(Q(t,(p0(),d1e)))),this.c=this.b/l(Q(t,AK),17).a,s=t.e.c.length,f=0,o=0,w=new K(t.e);w.a<w.c.c.length;)g=l(re(w),153),f+=g.e.a,o+=g.e.b;n=f*o,r=ze(Ge(Q(t,LK)))*H1,this.a=b.Math.sqrt(n/(2*s))*r},h.wf=function(){vgt(this),this.b-=this.c},h.xf=function(t){return this.b>0},h.a=0,h.b=0,h.c=0,I(YTe,"FruchtermanReingoldModel",642),D(860,1,Pf,WS),h.hf=function(t){an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,dG),""),"Force Model"),"Determines the model for force calculation."),pAe),(T2(),ps)),bAe),hn((n1(),Bn))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,XTe),""),"Iterations"),"The number of iterations on the force model."),bt(300)),Sc),to),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,QTe),""),"Repulsive Power"),"Determines how many bend points are added to the edge; such bend points are regarded as repelling particles in the force model"),bt(0)),Sc),to),hn(zd)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,Vhe),""),"FR Temperature"),"The temperature is used as a scaling factor for particle displacements."),Dd),co),ra),hn(Bn)))),Zs(t,Vhe,dG,y8t),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,Ghe),""),"Eades Repulsion"),"Factor for repulsive forces in Eades' model."),5),co),ra),hn(Bn)))),Zs(t,Ghe,dG,m8t),Owt((new YS,t))};var g8t,p8t,pAe,b8t,m8t,v8t,w8t,y8t;I(lL,"ForceMetaDataProvider",860),D(432,22,{3:1,34:1,22:1,432:1},Y3e);var h1e,_K,bAe=Br(lL,"ForceModelStrategy",432,Hr,c2n,B0n),x8t;D(C2,1,Pf,YS),h.hf=function(t){Owt(t)};var k8t,T8t,mAe,AK,vAe,E8t,C8t,S8t,_8t,wAe,A8t,yAe,xAe,L8t,Hx,M8t,f1e,kAe,D8t,I8t,LK,d1e,O8t,N8t,P8t,TAe,B8t;I(lL,"ForceOptions",C2),D(1001,1,{},ld),h.sf=function(){var t;return t=new Ywe,t},h.tf=function(t){},I(lL,"ForceOptions/ForceFactory",1001);var wB,zL,Ux,MK;D(861,1,Pf,lz),h.hf=function(t){an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,ZTe),""),"Fixed Position"),"Prevent that the node is moved by the layout algorithm."),(Hn(),!1)),(T2(),Ta)),Ps),hn((n1(),pa))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,eEe),""),"Desired Edge Length"),"Either specified for parent nodes or for individual edges, where the latter takes higher precedence."),100),co),ra),is(Bn,he(le(Eg,1),it,170,0,[zd]))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,tEe),""),"Layout Dimension"),"Dimensions that are permitted to be altered during layout."),EAe),ps),DAe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,nEe),""),"Stress Epsilon"),"Termination criterion for the iterative process."),Dd),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,rEe),""),"Iteration Limit"),"Maximum number of performed iterations. Takes higher precedence than 'epsilon'."),bt(Ni)),Sc),to),hn(Bn)))),owt((new hz,t))};var F8t,R8t,EAe,j8t,$8t,z8t;I(lL,"StressMetaDataProvider",861),D(1004,1,Pf,hz),h.hf=function(t){owt(t)};var DK,CAe,SAe,_Ae,AAe,LAe,q8t,H8t,U8t,V8t,MAe,G8t;I(lL,"StressOptions",1004),D(1005,1,{},y1),h.sf=function(){var t;return t=new bit,t},h.tf=function(t){},I(lL,"StressOptions/StressFactory",1005),D(1110,205,uv,bit),h.rf=function(t,n){var r,s,o,f,g;for(n.Ug(iyt,1),Ft(Pt(at(t,(JN(),AAe))))?Ft(Pt(at(t,MAe)))||tN((r=new nw((dw(),new sw(t))),r)):Ebt(new Ywe,t,n.eh(1)),o=j0t(t),s=bvt(this.a,o),g=s.Kc();g.Ob();)f=l(g.Pb(),235),!(f.e.c.length<=1)&&(WLn(this.b,f),wEn(this.b),Uu(f.d,new ud));o=Mwt(s),$wt(o),n.Vg()},I(bG,"StressLayoutProvider",1110),D(1111,1,hr,ud),h.Cd=function(t){Gke(l(t,454))},I(bG,"StressLayoutProvider/lambda$0$Type",1111),D(1002,1,{},fJe),h.c=0,h.e=0,h.g=0,I(bG,"StressMajorization",1002),D(391,22,{3:1,34:1,22:1,391:1},Dse);var g1e,p1e,b1e,DAe=Br(bG,"StressMajorization/Dimension",391,Hr,ibn,F0n),K8t;D(1003,1,ii,Rz),h.Ne=function(t,n){return h0n(this.a,l(t,153),l(n,153))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(bG,"StressMajorization/lambda$0$Type",1003),D(1192,1,{},kct),I(Fx,"ElkLayered",1192),D(1193,1,hr,jz),h.Cd=function(t){Wkn(this.a,l(t,36))},I(Fx,"ElkLayered/lambda$0$Type",1193),D(1194,1,hr,Kie),h.Cd=function(t){f0n(this.a,l(t,36))},I(Fx,"ElkLayered/lambda$1$Type",1194),D(1281,1,{},srt);var W8t,Y8t,X8t;I(Fx,"GraphConfigurator",1281),D(770,1,hr,Qp),h.Cd=function(t){Dpt(this.a,l(t,10))},I(Fx,"GraphConfigurator/lambda$0$Type",770),D(771,1,{},h5),h.Kb=function(t){return Pxe(),new vn(null,new kn(l(t,30).a,16))},I(Fx,"GraphConfigurator/lambda$1$Type",771),D(772,1,hr,r_),h.Cd=function(t){Dpt(this.a,l(t,10))},I(Fx,"GraphConfigurator/lambda$2$Type",772),D(1109,205,uv,vJe),h.rf=function(t,n){var r;r=ALn(new yJe,t),qe(at(t,(Nt(),v4)))===qe((op(),F2))?a5n(this.a,r,n):pEn(this.a,r,n),n.$g()||Twt(new m8,r)},I(Fx,"LayeredLayoutProvider",1109),D(367,22,{3:1,34:1,22:1,367:1},pO);var w0,xg,pu,Cu,wc,IAe=Br(Fx,"LayeredPhases",367,Hr,cvn,R0n),Q8t;D(1717,1,{},Oft),h.i=0;var J8t;I(KP,"ComponentsToCGraphTransformer",1717);var Z8t;D(1718,1,{},Cm),h.yf=function(t,n){return b.Math.min(t.a!=null?ze(t.a):t.c.i,n.a!=null?ze(n.a):n.c.i)},h.zf=function(t,n){return b.Math.min(t.a!=null?ze(t.a):t.c.i,n.a!=null?ze(n.a):n.c.i)},I(KP,"ComponentsToCGraphTransformer/1",1718),D(86,1,{86:1}),h.i=0,h.k=!0,h.o=oa;var m1e=I(gL,"CNode",86);D(470,86,{470:1,86:1},Zye,uxe),h.Ib=function(){return""},I(KP,"ComponentsToCGraphTransformer/CRectNode",470),D(1688,1,{},U9);var v1e,w1e;I(KP,"OneDimensionalComponentsCompaction",1688),D(1689,1,{},Qv),h.Kb=function(t){return Y2n(l(t,42))},h.Fb=function(t){return this===t},I(KP,"OneDimensionalComponentsCompaction/lambda$0$Type",1689),D(1690,1,{},X7),h.Kb=function(t){return c5n(l(t,42))},h.Fb=function(t){return this===t},I(KP,"OneDimensionalComponentsCompaction/lambda$1$Type",1690),D(1720,1,{},Lat),I(gL,"CGraph",1720),D(194,1,{194:1},hue),h.b=0,h.c=0,h.e=0,h.g=!0,h.i=oa,I(gL,"CGroup",194),D(1719,1,{},tb),h.yf=function(t,n){return b.Math.max(t.a!=null?ze(t.a):t.c.i,n.a!=null?ze(n.a):n.c.i)},h.zf=function(t,n){return b.Math.max(t.a!=null?ze(t.a):t.c.i,n.a!=null?ze(n.a):n.c.i)},I(gL,D3t,1719),D(1721,1,{},L2t),h.d=!1;var ext,y1e=I(gL,N3t,1721);D(1722,1,{},Q7),h.Kb=function(t){return B3e(),Hn(),l(l(t,42).a,86).d.e!=0},h.Fb=function(t){return this===t},I(gL,P3t,1722),D(833,1,{},l5e),h.a=!1,h.b=!1,h.c=!1,h.d=!1,I(gL,B3t,833),D(1898,1,{},Vst),I(mG,F3t,1898);var yB=Ts(hv,L3t);D(1899,1,{382:1},Cot),h.bf=function(t){TSn(this,l(t,476))},I(mG,R3t,1899),D(Rb,1,ii,f5),h.Ne=function(t,n){return Ipn(l(t,86),l(n,86))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(mG,j3t,Rb),D(476,1,{476:1},Q3e),h.a=!1,I(mG,$3t,476),D(1901,1,ii,Z3),h.Ne=function(t,n){return O8n(l(t,476),l(n,476))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(mG,z3t,1901),D(148,1,{148:1},Nk,K4e),h.Fb=function(t){var n;return t==null||qOn!=dh(t)?!1:(n=l(t,148),eu(this.c,n.c)&&eu(this.d,n.d))},h.Hb=function(){return RN(he(le(ka,1),jn,1,5,[this.c,this.d]))},h.Ib=function(){return"("+this.c+To+this.d+(this.a?"cx":"")+this.b+")"},h.a=!0,h.c=0,h.d=0;var qOn=I(hv,"Point",148);D(416,22,{3:1,34:1,22:1,416:1},wq);var f3,u4,I6,l4,txt=Br(hv,"Point/Quadrant",416,Hr,mmn,j0n),nxt;D(1708,1,{},bJe),h.b=null,h.c=null,h.d=null,h.e=null,h.f=null;var rxt,ixt,sxt,axt,oxt;I(hv,"RectilinearConvexHull",1708),D(583,1,{382:1},uV),h.bf=function(t){own(this,l(t,148))},h.b=0;var OAe;I(hv,"RectilinearConvexHull/MaximalElementsEventHandler",583),D(1710,1,ii,Gp),h.Ne=function(t,n){return Opn(Ge(t),Ge(n))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(hv,"RectilinearConvexHull/MaximalElementsEventHandler/lambda$0$Type",1710),D(1709,1,{382:1},Yht),h.bf=function(t){RCn(this,l(t,148))},h.a=0,h.b=null,h.c=null,h.d=null,h.e=null,I(hv,"RectilinearConvexHull/RectangleEventHandler",1709),D(1711,1,ii,lI),h.Ne=function(t,n){return zbn(l(t,148),l(n,148))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(hv,"RectilinearConvexHull/lambda$0$Type",1711),D(1712,1,ii,eZ),h.Ne=function(t,n){return qbn(l(t,148),l(n,148))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(hv,"RectilinearConvexHull/lambda$1$Type",1712),D(1713,1,ii,Sm),h.Ne=function(t,n){return $bn(l(t,148),l(n,148))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(hv,"RectilinearConvexHull/lambda$2$Type",1713),D(1714,1,ii,lu),h.Ne=function(t,n){return Hbn(l(t,148),l(n,148))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(hv,"RectilinearConvexHull/lambda$3$Type",1714),D(1715,1,ii,tZ),h.Ne=function(t,n){return y9n(l(t,148),l(n,148))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(hv,"RectilinearConvexHull/lambda$4$Type",1715),D(1716,1,{},ect),I(hv,"Scanline",1716),D(2104,1,{}),I(U1,"AbstractGraphPlacer",2104),D(335,1,{335:1},zrt),h.Ff=function(t){return this.Gf(t)?(xn(this.b,l(Q(t,(ft(),wp)),21),t),!0):!1},h.Gf=function(t){var n,r,s,o;for(n=l(Q(t,(ft(),wp)),21),o=l($i(Qi,n),21),s=o.Kc();s.Ob();)if(r=l(s.Pb(),21),!l($i(this.b,r),15).dc())return!1;return!0};var Qi;I(U1,"ComponentGroup",335),D(779,2104,{},Jwe),h.Hf=function(t){var n,r;for(r=new K(this.a);r.a<r.c.c.length;)if(n=l(re(r),335),n.Ff(t))return;wt(this.a,new zrt(t))},h.Ef=function(t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J;if(this.a.c.length=0,n.a.c.length=0,t.dc()){n.f.a=0,n.f.b=0;return}for(g=l(t.Xb(0),36),mc(n,g),o=t.Kc();o.Ob();)s=l(o.Pb(),36),this.Hf(s);for(J=new za,f=ze(Ge(Q(g,(Nt(),NB)))),C=new K(this.a);C.a<C.c.c.length;)w=l(re(C),335),L=zwt(w,f),h2(CH(w.b),J.a,J.b),J.a+=L.a,J.b+=L.b;if(n.f.a=J.a-f,n.f.b=J.b-f,Ft(Pt(Q(g,bW)))&&qe(Q(g,yp))===qe((cp(),aC))){for(V=t.Kc();V.Ob();)F=l(V.Pb(),36),YT(F,F.c.a,F.c.b);for(r=new cS,hTe(r,t,f),z=t.Kc();z.Ob();)F=l(z.Pb(),36),Pi(W0(F.c),r.e);Pi(W0(n.f),r.a)}for(T=new K(this.a);T.a<T.c.c.length;)w=l(re(T),335),t7e(n,CH(w.b))},I(U1,"ComponentGroupGraphPlacer",779),D(1312,779,{},LJe),h.Hf=function(t){I1t(this,t)},h.Ef=function(t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e;if(this.a.c.length=0,n.a.c.length=0,t.dc()){n.f.a=0,n.f.b=0;return}for(g=l(t.Xb(0),36),mc(n,g),o=t.Kc();o.Ob();)s=l(o.Pb(),36),I1t(this,s);for($e=new za,Me=new za,te=new za,J=new za,f=ze(Ge(Q(g,(Nt(),NB)))),C=new K(this.a);C.a<C.c.c.length;){if(w=l(re(C),335),Yg(l(Q(n,(bi(),Lv)),88))){for(te.a=$e.a,Ee=new u_(eA(ioe(w.b).a).a.kc());Ee.b.Ob();)if(fe=l(fq(Ee.b.Pb()),21),fe.Hc((_t(),Xn))){te.a=Me.a;break}}else if(R5(l(Q(n,Lv),88))){for(te.b=$e.b,Ee=new u_(eA(ioe(w.b).a).a.kc());Ee.b.Ob();)if(fe=l(fq(Ee.b.Pb()),21),fe.Hc((_t(),Zn))){te.b=Me.b;break}}if(L=zwt(l(w,579),f),h2(CH(w.b),te.a,te.b),Yg(l(Q(n,Lv),88))){for(Me.a=te.a+L.a,J.a=b.Math.max(J.a,Me.a),Ee=new u_(eA(ioe(w.b).a).a.kc());Ee.b.Ob();)if(fe=l(fq(Ee.b.Pb()),21),fe.Hc((_t(),Mr))){$e.a=te.a+L.a;break}Me.b=te.b+L.b,te.b=Me.b,J.b=b.Math.max(J.b,te.b)}else if(R5(l(Q(n,Lv),88))){for(Me.b=te.b+L.b,J.b=b.Math.max(J.b,Me.b),Ee=new u_(eA(ioe(w.b).a).a.kc());Ee.b.Ob();)if(fe=l(fq(Ee.b.Pb()),21),fe.Hc((_t(),sr))){$e.b=te.b+L.b;break}Me.a=te.a+L.a,te.a=Me.a,J.a=b.Math.max(J.a,te.a)}}if(n.f.a=J.a-f,n.f.b=J.b-f,Ft(Pt(Q(g,bW)))&&qe(Q(g,yp))===qe((cp(),aC))){for(V=t.Kc();V.Ob();)F=l(V.Pb(),36),YT(F,F.c.a,F.c.b);for(r=new cS,hTe(r,t,f),z=t.Kc();z.Ob();)F=l(z.Pb(),36),Pi(W0(F.c),r.e);Pi(W0(n.f),r.a)}for(T=new K(this.a);T.a<T.c.c.length;)w=l(re(T),335),t7e(n,CH(w.b))},I(U1,"ComponentGroupModelOrderGraphPlacer",1312),D(389,22,{3:1,34:1,22:1,389:1},yq);var x1e,NAe,k1e,h4,PAe=Br(U1,"ComponentOrderingStrategy",389,Hr,fmn,$0n),cxt;D(659,1,{},cS),I(U1,"ComponentsCompactor",659),D(1533,13,x3t,Qut),h.Fc=function(t){return jA(this,l(t,148))},I(U1,"ComponentsCompactor/Hullpoints",1533),D(1530,1,{855:1},Qdt),h.a=!1,I(U1,"ComponentsCompactor/InternalComponent",1530),D(1529,1,gg,gJe),h.Jc=function(t){Za(this,t)},h.Kc=function(){return new K(this.a)},I(U1,"ComponentsCompactor/InternalConnectedComponents",1529),D(1532,1,{602:1},I2t),h.Bf=function(){return null},h.Cf=function(){return this.a},h.Af=function(){return pue(this.d)},h.Df=function(){return this.b},I(U1,"ComponentsCompactor/InternalExternalExtension",1532),D(1531,1,{602:1},wJe),h.Cf=function(){return this.a},h.Af=function(){return pue(this.d)},h.Bf=function(){return this.c},h.Df=function(){return this.b},I(U1,"ComponentsCompactor/InternalUnionExternalExtension",1531),D(1535,1,{},Zbt),I(U1,"ComponentsCompactor/OuterSegments",1535),D(1534,1,{},pJe),I(U1,"ComponentsCompactor/Segments",1534),D(1282,1,{},hlt),I(U1,KTe,1282),D(1283,1,ii,gj),h.Ne=function(t,n){return Gbn(l(t,36),l(n,36))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(U1,"ComponentsProcessor/lambda$0$Type",1283),D(579,335,{335:1,579:1},Xut),h.Ff=function(t){return l8e(this,t)},h.Gf=function(t){return Ibt(this,t)};var mi;I(U1,"ModelOrderComponentGroup",579),D(1310,2104,{},nZ),h.Ef=function(t,n){var r,s,o,f,g,w,T,C,L,F,z;if(t.gc()==1){F=l(t.Xb(0),36),F!=n&&(n.a.c.length=0,Rmt(n,F,0,0),mc(n,F),Q5e(n.d,F.d),n.f.a=F.f.a,n.f.b=F.f.b);return}else if(t.dc()){n.a.c.length=0,n.f.a=0,n.f.b=0;return}for(this.Jf(t,n),o=l(t.Xb(0),36),n.a.c.length=0,mc(n,o),C=0,z=0,g=t.Kc();g.Ob();)f=l(g.Pb(),36),L=f.f,C=b.Math.max(C,L.a),z+=L.a*L.b;if(C=b.Math.max(C,b.Math.sqrt(z)*ze(Ge(Q(n,(Nt(),pW))))),s=ze(Ge(Q(n,NB))),this.If(t,n,C,s),Ft(Pt(Q(o,bW)))){for(r=new cS,hTe(r,t,s),T=t.Kc();T.Ob();)w=l(T.Pb(),36),Pi(W0(w.c),r.e);Pi(W0(n.f),r.a)}t7e(n,t)},h.If=function(t,n,r,s){var o,f,g,w,T,C,L,F;for(L=0,F=0,w=0,o=s,g=t.Kc();g.Ob();)f=l(g.Pb(),36),C=f.f,L+C.a>r&&(L=0,F+=w+s,w=0),T=f.c,YT(f,L+T.a,F+T.b),W0(T),o=b.Math.max(o,L+C.a),w=b.Math.max(w,C.b),L+=C.a+s;n.f.a=o,n.f.b=F+w},h.Jf=function(t,n){var r,s,o,f,g;if(qe(Q(n,(Nt(),m4)))===qe((tv(),h4))){for(s=t.Kc();s.Ob();){for(r=l(s.Pb(),36),g=0,f=new K(r.a);f.a<f.c.c.length;)o=l(re(f),10),g+=l(Q(o,wTt),17).a;r.p=g}Cn(),t.jd(new pj)}},I(U1,"SimpleRowGraphPlacer",1310),D(1313,1310,{},sh),h.If=function(t,n,r,s){var o,f,g,w,T,C,L,F,z,V;for(z=0,V=0,w=0,o=s,T=null,F=0,g=t.Kc();g.Ob();)f=l(g.Pb(),36),L=f.f,(z+L.a>r&&!l(Q(f,(ft(),wp)),21).Hc((_t(),Xn))||T&&l(Q(T,(ft(),wp)),21).Hc((_t(),sr))||l(Q(f,(ft(),wp)),21).Hc((_t(),Zn)))&&(z=F,V+=w+s,w=0),C=f.c,l(Q(f,(ft(),wp)),21).Hc((_t(),Xn))&&(z=o+s),YT(f,z+C.a,V+C.b),o=b.Math.max(o,z+L.a),l(Q(f,wp),21).Hc(Mr)&&(F=b.Math.max(F,z+L.a+s)),W0(C),w=b.Math.max(w,L.b),z+=L.a+s,T=f;n.f.a=o,n.f.b=V+w},h.Jf=function(t,n){},I(U1,"ModelOrderRowGraphPlacer",1313),D(1311,1,ii,pj),h.Ne=function(t,n){return ayn(l(t,36),l(n,36))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(U1,"SimpleRowGraphPlacer/1",1311);var uxt;D(1280,1,Ld,z0),h.Lb=function(t){var n;return n=l(Q(l(t,249).b,(Nt(),lc)),75),!!n&&n.b!=0},h.Fb=function(t){return this===t},h.Mb=function(t){var n;return n=l(Q(l(t,249).b,(Nt(),lc)),75),!!n&&n.b!=0},I(vG,"CompoundGraphPostprocessor/1",1280),D(1279,1,ns,xJe),h.Kf=function(t,n){Jdt(this,l(t,36),n)},I(vG,"CompoundGraphPreprocessor",1279),D(453,1,{453:1},q1t),h.c=!1,I(vG,"CompoundGraphPreprocessor/ExternalPort",453),D(249,1,{249:1},eH),h.Ib=function(){return yae(this.c)+":"+T2t(this.b)},I(vG,"CrossHierarchyEdge",249),D(777,1,ii,eO),h.Ne=function(t,n){return o8n(this,l(t,249),l(n,249))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(vG,"CrossHierarchyEdgeComparator",777),D(305,137,{3:1,305:1,96:1,137:1}),h.p=0,I(Tu,"LGraphElement",305),D(18,305,{3:1,18:1,305:1,96:1,137:1},Dw),h.Ib=function(){return T2t(this)};var T1e=I(Tu,"LEdge",18);D(36,305,{3:1,20:1,36:1,305:1,96:1,137:1},C7e),h.Jc=function(t){Za(this,t)},h.Kc=function(){return new K(this.b)},h.Ib=function(){return this.b.c.length==0?"G-unlayered"+Ob(this.a):this.a.c.length==0?"G-layered"+Ob(this.b):"G[layerless"+Ob(this.a)+", layers"+Ob(this.b)+"]"};var lxt=I(Tu,"LGraph",36),hxt;D(666,1,{}),h.Lf=function(){return this.e.n},h.of=function(t){return Q(this.e,t)},h.Mf=function(){return this.e.o},h.Nf=function(){return this.e.p},h.pf=function(t){return rs(this.e,t)},h.Of=function(t){this.e.n.a=t.a,this.e.n.b=t.b},h.Pf=function(t){this.e.o.a=t.a,this.e.o.b=t.b},h.Qf=function(t){this.e.p=t},I(Tu,"LGraphAdapters/AbstractLShapeAdapter",666),D(474,1,{853:1},Im),h.Rf=function(){var t,n;if(!this.b)for(this.b=rg(this.a.b.c.length),n=new K(this.a.b);n.a<n.c.c.length;)t=l(re(n),72),wt(this.b,new ng(t));return this.b},h.b=null,I(Tu,"LGraphAdapters/LEdgeAdapter",474),D(665,1,{},foe),h.Sf=function(){var t,n,r,s,o,f;if(!this.b){for(this.b=new mt,s=new K(this.a.b);s.a<s.c.c.length;)for(r=l(re(s),30),f=new K(r.a);f.a<f.c.c.length;)if(o=l(re(f),10),this.c.Mb(o)&&(wt(this.b,new tH(this,o,this.e)),this.d)){if(rs(o,(ft(),Jx)))for(n=l(Q(o,Jx),15).Kc();n.Ob();)t=l(n.Pb(),10),wt(this.b,new tH(this,t,!1));if(rs(o,Kx))for(n=l(Q(o,Kx),15).Kc();n.Ob();)t=l(n.Pb(),10),wt(this.b,new tH(this,t,!1))}}return this.b},h.Lf=function(){throw ue(new Jp(oyt))},h.of=function(t){return Q(this.a,t)},h.Mf=function(){return this.a.f},h.Nf=function(){return this.a.p},h.pf=function(t){return rs(this.a,t)},h.Of=function(t){throw ue(new Jp(oyt))},h.Pf=function(t){this.a.f.a=t.a,this.a.f.b=t.b},h.Qf=function(t){this.a.p=t},h.b=null,h.d=!1,h.e=!1,I(Tu,"LGraphAdapters/LGraphAdapter",665),D(585,666,{187:1},ng),I(Tu,"LGraphAdapters/LLabelAdapter",585),D(584,666,{695:1},tH),h.Tf=function(){return this.b},h.Uf=function(){return Cn(),Cn(),Co},h.Rf=function(){var t,n;if(!this.a)for(this.a=rg(l(this.e,10).b.c.length),n=new K(l(this.e,10).b);n.a<n.c.c.length;)t=l(re(n),72),wt(this.a,new ng(t));return this.a},h.Vf=function(){var t;return t=l(this.e,10).d,new y4e(t.d,t.c,t.a,t.b)},h.Wf=function(){return Cn(),Cn(),Co},h.Xf=function(){var t,n;if(!this.c)for(this.c=rg(l(this.e,10).j.c.length),n=new K(l(this.e,10).j);n.a<n.c.c.length;)t=l(re(n),12),wt(this.c,new ftt(t,this.d));return this.c},h.Yf=function(){return Ft(Pt(Q(l(this.e,10),(ft(),tMe))))},h.Zf=function(t){l(this.e,10).d.b=t.b,l(this.e,10).d.d=t.d,l(this.e,10).d.c=t.c,l(this.e,10).d.a=t.a},h.$f=function(t){l(this.e,10).f.b=t.b,l(this.e,10).f.d=t.d,l(this.e,10).f.c=t.c,l(this.e,10).f.a=t.a},h._f=function(){r3n(this,(p_(),hxt))},h.a=null,h.b=null,h.c=null,h.d=!1,I(Tu,"LGraphAdapters/LNodeAdapter",584),D(1788,666,{852:1},ftt),h.Uf=function(){var t,n,r,s,o,f,g,w;if(this.d&&l(this.e,12).i.k==(Jn(),Su))return Cn(),Cn(),Co;if(!this.a){for(this.a=new mt,r=new K(l(this.e,12).e);r.a<r.c.c.length;)t=l(re(r),18),wt(this.a,new Im(t));if(this.d&&(s=l(Q(l(this.e,12),(ft(),Bl)),10),s))for(n=new lr(fr(Ea(s).a.Kc(),new j));Rr(n);)t=l(yr(n),18),wt(this.a,new Im(t));if(rs(l(this.e,12).i,(ft(),v3))&&(g=l(Q(l(this.e,12).i,v3),337),w=l(B1(g.e,this.e),113),w))for(f=new K(w.b);f.a<f.c.c.length;)o=l(re(f),340),wt(this.a,new Im(o.a))}return this.a},h.Rf=function(){var t,n;if(!this.b)for(this.b=rg(l(this.e,12).f.c.length),n=new K(l(this.e,12).f);n.a<n.c.c.length;)t=l(re(n),72),wt(this.b,new ng(t));return this.b},h.Wf=function(){var t,n,r,s,o,f,g,w;if(this.d&&l(this.e,12).i.k==(Jn(),Su))return Cn(),Cn(),Co;if(!this.c){for(this.c=new mt,r=new K(l(this.e,12).g);r.a<r.c.c.length;)t=l(re(r),18),wt(this.c,new Im(t));if(this.d&&(s=l(Q(l(this.e,12),(ft(),Bl)),10),s))for(n=new lr(fr(qs(s).a.Kc(),new j));Rr(n);)t=l(yr(n),18),wt(this.c,new Im(t));if(rs(l(this.e,12).i,(ft(),v3))&&(g=l(Q(l(this.e,12).i,v3),337),w=l(B1(g.e,this.e),113),w))for(f=new K(w.e);f.a<f.c.c.length;)o=l(re(f),340),wt(this.c,new Im(o.a))}return this.c},h.ag=function(){return l(this.e,12).j},h.bg=function(){return Ft(Pt(Q(l(this.e,12),(ft(),LB))))},h.a=null,h.b=null,h.c=null,h.d=!1,I(Tu,"LGraphAdapters/LPortAdapter",1788),D(1789,1,ii,ey),h.Ne=function(t,n){return JSn(l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Tu,"LGraphAdapters/PortComparator",1789),D(818,1,ei,uS),h.Mb=function(t){return l(t,10),p_(),!0},I(Tu,"LGraphAdapters/lambda$0$Type",818),D(404,305,{3:1,305:1,404:1,96:1,137:1}),I(Tu,"LShape",404),D(72,404,{3:1,305:1,72:1,404:1,96:1,137:1},SZe,Nye),h.Ib=function(){var t;return t=zdn(this),t==null?"label":"l_"+t},I(Tu,"LLabel",72),D(214,1,{3:1,4:1,214:1,423:1}),h.Fb=function(t){var n;return De(t,214)?(n=l(t,214),this.d==n.d&&this.a==n.a&&this.b==n.b&&this.c==n.c):!1},h.Hb=function(){var t,n;return t=$8(this.b)<<16,t|=$8(this.a)&ta,n=$8(this.c)<<16,n|=$8(this.d)&ta,t^n},h.cg=function(t){var n,r,s,o,f,g,w,T,C,L,F;for(f=0;f<t.length&&w1t((Yn(f,t.length),t.charCodeAt(f)),uyt);)++f;for(n=t.length;n>0&&w1t((Yn(n-1,t.length),t.charCodeAt(n-1)),lyt);)--n;if(f<n){L=Yy((Va(f,n,t.length),t.substr(f,n-f)),",|;");try{for(w=L,T=0,C=w.length;T<C;++T){if(g=w[T],o=Yy(g,"="),o.length!=2)throw ue(new Wn("Expecting a list of key-value pairs."));s=Hy(o[0]),F=qy(Hy(o[1])),wn(s,"top")?this.d=F:wn(s,"left")?this.b=F:wn(s,"bottom")?this.a=F:wn(s,"right")&&(this.c=F)}}catch(z){throw z=ms(z),De(z,130)?(r=z,ue(new Wn(hyt+r))):ue(z)}}},h.Ib=function(){return"[top="+this.d+",left="+this.b+",bottom="+this.a+",right="+this.c+"]"},h.a=0,h.b=0,h.c=0,h.d=0,I(WP,"Spacing",214),D(140,214,fyt,a_,Int,y4e,Pae);var BAe=I(WP,"ElkMargin",140);D(660,140,fyt,ese),I(Tu,"LMargin",660),D(10,404,{3:1,305:1,10:1,404:1,96:1,137:1},hp),h.Ib=function(){return Vdt(this)},h.i=!1;var kg=I(Tu,"LNode",10);D(273,22,{3:1,34:1,22:1,273:1},T_);var K1,Ks,uu,Aa,Bs,Su,E1e=Br(Tu,"LNode/NodeType",273,Hr,Kvn,V1n),fxt;D(775,1,ei,bj),h.Mb=function(t){return Ft(Pt(Q(l(t,72),(Nt(),pde))))},I(Tu,"LNode/lambda$0$Type",775),D(107,214,dyt,L8,mw,U4e);var FAe=I(WP,"ElkPadding",107);D(778,107,dyt,n3e),I(Tu,"LPadding",778),D(12,404,{3:1,305:1,12:1,404:1,96:1,137:1},du),h.Ib=function(){var t,n,r;return t=new lb,li((t.a+="p_",t),wV(this)),this.i&&li(mu((t.a+="[",t),this.i),"]"),this.e.c.length==1&&this.g.c.length==0&&l(Rt(this.e,0),18).c!=this&&(n=l(Rt(this.e,0),18).c,li((t.a+=" << ",t),wV(n)),li(mu((t.a+="[",t),n.i),"]")),this.e.c.length==0&&this.g.c.length==1&&l(Rt(this.g,0),18).d!=this&&(r=l(Rt(this.g,0),18).d,li((t.a+=" >> ",t),wV(r)),li(mu((t.a+="[",t),r.i),"]")),t.a},h.c=!0,h.d=!1;var RAe,jAe,$Ae,zAe,qAe,HAe,dxt=I(Tu,"LPort",12);D(408,1,gg,S5),h.Jc=function(t){Za(this,t)},h.Kc=function(){var t;return t=new K(this.a.e),new pYe(t)},I(Tu,"LPort/1",408),D(1309,1,Ia,pYe),h.Nb=function(t){Qa(this,t)},h.Pb=function(){return l(re(this.a),18).c},h.Ob=function(){return Oc(this.a)},h.Qb=function(){J_(this.a)},I(Tu,"LPort/1/1",1309),D(369,1,gg,S8),h.Jc=function(t){Za(this,t)},h.Kc=function(){var t;return t=new K(this.a.g),new Bwe(t)},I(Tu,"LPort/2",369),D(776,1,Ia,Bwe),h.Nb=function(t){Qa(this,t)},h.Pb=function(){return l(re(this.a),18).d},h.Ob=function(){return Oc(this.a)},h.Qb=function(){J_(this.a)},I(Tu,"LPort/2/1",776),D(1302,1,gg,att),h.Jc=function(t){Za(this,t)},h.Kc=function(){return new N1(this)},I(Tu,"LPort/CombineIter",1302),D(208,1,Ia,N1),h.Nb=function(t){Qa(this,t)},h.Qb=function(){BZe()},h.Ob=function(){return z_(this)},h.Pb=function(){return Oc(this.a)?re(this.a):re(this.b)},I(Tu,"LPort/CombineIter/1",208),D(1303,1,Ld,nb),h.Lb=function(t){return sat(t)},h.Fb=function(t){return this===t},h.Mb=function(t){return xl(),l(t,12).g.c.length!=0},I(Tu,"LPort/lambda$0$Type",1303),D(1304,1,Ld,ty),h.Lb=function(t){return aat(t)},h.Fb=function(t){return this===t},h.Mb=function(t){return xl(),l(t,12).e.c.length!=0},I(Tu,"LPort/lambda$1$Type",1304),D(1305,1,Ld,rZ),h.Lb=function(t){return xl(),l(t,12).j==(_t(),Xn)},h.Fb=function(t){return this===t},h.Mb=function(t){return xl(),l(t,12).j==(_t(),Xn)},I(Tu,"LPort/lambda$2$Type",1305),D(1306,1,Ld,_m),h.Lb=function(t){return xl(),l(t,12).j==(_t(),sr)},h.Fb=function(t){return this===t},h.Mb=function(t){return xl(),l(t,12).j==(_t(),sr)},I(Tu,"LPort/lambda$3$Type",1306),D(1307,1,Ld,iZ),h.Lb=function(t){return xl(),l(t,12).j==(_t(),Mr)},h.Fb=function(t){return this===t},h.Mb=function(t){return xl(),l(t,12).j==(_t(),Mr)},I(Tu,"LPort/lambda$4$Type",1307),D(1308,1,Ld,sZ),h.Lb=function(t){return xl(),l(t,12).j==(_t(),Zn)},h.Fb=function(t){return this===t},h.Mb=function(t){return xl(),l(t,12).j==(_t(),Zn)},I(Tu,"LPort/lambda$5$Type",1308),D(30,305,{3:1,20:1,305:1,30:1,96:1,137:1},vu),h.Jc=function(t){Za(this,t)},h.Kc=function(){return new K(this.a)},h.Ib=function(){return"L_"+bc(this.b.b,this,0)+Ob(this.a)},I(Tu,"Layer",30),D(1330,1,{},yJe),I(_2,gyt,1330),D(1334,1,{},J7),h.Kb=function(t){return vc(l(t,84))},I(_2,"ElkGraphImporter/0methodref$connectableShapeToNode$Type",1334),D(1337,1,{},lS),h.Kb=function(t){return vc(l(t,84))},I(_2,"ElkGraphImporter/1methodref$connectableShapeToNode$Type",1337),D(1331,1,hr,bYe),h.Cd=function(t){$2t(this.a,l(t,123))},I(_2,WTe,1331),D(1332,1,hr,mYe),h.Cd=function(t){$2t(this.a,l(t,123))},I(_2,pyt,1332),D(1333,1,{},mj),h.Kb=function(t){return new vn(null,new kn(G5e(l(t,74)),16))},I(_2,byt,1333),D(1335,1,ei,vYe),h.Mb=function(t){return lhn(this.a,l(t,27))},I(_2,myt,1335),D(1336,1,{},V9),h.Kb=function(t){return new vn(null,new kn(_pn(l(t,74)),16))},I(_2,"ElkGraphImporter/lambda$5$Type",1336),D(1338,1,ei,wYe),h.Mb=function(t){return hhn(this.a,l(t,27))},I(_2,"ElkGraphImporter/lambda$7$Type",1338),D(1339,1,ei,aZ),h.Mb=function(t){return zpn(l(t,74))},I(_2,"ElkGraphImporter/lambda$8$Type",1339),D(1297,1,{},m8);var gxt;I(_2,"ElkGraphLayoutTransferrer",1297),D(1298,1,ei,yYe),h.Mb=function(t){return Zfn(this.a,l(t,18))},I(_2,"ElkGraphLayoutTransferrer/lambda$0$Type",1298),D(1299,1,hr,xYe),h.Cd=function(t){dO(),wt(this.a,l(t,18))},I(_2,"ElkGraphLayoutTransferrer/lambda$1$Type",1299),D(1300,1,ei,kYe),h.Mb=function(t){return Rfn(this.a,l(t,18))},I(_2,"ElkGraphLayoutTransferrer/lambda$2$Type",1300),D(1301,1,hr,TYe),h.Cd=function(t){dO(),wt(this.a,l(t,18))},I(_2,"ElkGraphLayoutTransferrer/lambda$3$Type",1301),D(819,1,{},k4e),I(nr,"BiLinkedHashMultiMap",819),D(1550,1,ns,G9),h.Kf=function(t,n){S3n(l(t,36),n)},I(nr,"CommentNodeMarginCalculator",1550),D(1551,1,{},oZ),h.Kb=function(t){return new vn(null,new kn(l(t,30).a,16))},I(nr,"CommentNodeMarginCalculator/lambda$0$Type",1551),D(1552,1,hr,cZ),h.Cd=function(t){SLn(l(t,10))},I(nr,"CommentNodeMarginCalculator/lambda$1$Type",1552),D(1553,1,ns,uZ),h.Kf=function(t,n){MSn(l(t,36),n)},I(nr,"CommentPostprocessor",1553),D(1554,1,ns,lZ),h.Kf=function(t,n){JDn(l(t,36),n)},I(nr,"CommentPreprocessor",1554),D(1555,1,ns,hZ),h.Kf=function(t,n){KCn(l(t,36),n)},I(nr,"ConstraintsPostprocessor",1555),D(1556,1,ns,fZ),h.Kf=function(t,n){eyn(l(t,36),n)},I(nr,"EdgeAndLayerConstraintEdgeReverser",1556),D(1557,1,ns,dZ),h.Kf=function(t,n){U5n(l(t,36),n)},I(nr,"EndLabelPostprocessor",1557),D(1558,1,{},gZ),h.Kb=function(t){return new vn(null,new kn(l(t,30).a,16))},I(nr,"EndLabelPostprocessor/lambda$0$Type",1558),D(1559,1,ei,pZ),h.Mb=function(t){return svn(l(t,10))},I(nr,"EndLabelPostprocessor/lambda$1$Type",1559),D(1560,1,hr,bZ),h.Cd=function(t){N8n(l(t,10))},I(nr,"EndLabelPostprocessor/lambda$2$Type",1560),D(1561,1,ns,mZ),h.Kf=function(t,n){kkn(l(t,36),n)},I(nr,"EndLabelPreprocessor",1561),D(1562,1,{},hI),h.Kb=function(t){return new vn(null,new kn(l(t,30).a,16))},I(nr,"EndLabelPreprocessor/lambda$0$Type",1562),D(1563,1,hr,Kit),h.Cd=function(t){Tln(this.a,this.b,this.c,l(t,10))},h.a=0,h.b=0,h.c=!1,I(nr,"EndLabelPreprocessor/lambda$1$Type",1563),D(1564,1,ei,vZ),h.Mb=function(t){return qe(Q(l(t,72),(Nt(),jd)))===qe((F1(),sC))},I(nr,"EndLabelPreprocessor/lambda$2$Type",1564),D(1565,1,hr,EYe),h.Cd=function(t){ci(this.a,l(t,72))},I(nr,"EndLabelPreprocessor/lambda$3$Type",1565),D(1566,1,ei,wZ),h.Mb=function(t){return qe(Q(l(t,72),(Nt(),jd)))===qe((F1(),M4))},I(nr,"EndLabelPreprocessor/lambda$4$Type",1566),D(1567,1,hr,CYe),h.Cd=function(t){ci(this.a,l(t,72))},I(nr,"EndLabelPreprocessor/lambda$5$Type",1567),D(1615,1,ns,rie),h.Kf=function(t,n){H4n(l(t,36),n)};var pxt;I(nr,"EndLabelSorter",1615),D(1616,1,ii,hS),h.Ne=function(t,n){return k6n(l(t,466),l(n,466))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(nr,"EndLabelSorter/1",1616),D(466,1,{466:1},wot),I(nr,"EndLabelSorter/LabelGroup",466),D(1617,1,{},vj),h.Kb=function(t){return fO(),new vn(null,new kn(l(t,30).a,16))},I(nr,"EndLabelSorter/lambda$0$Type",1617),D(1618,1,ei,Z7),h.Mb=function(t){return fO(),l(t,10).k==(Jn(),Bs)},I(nr,"EndLabelSorter/lambda$1$Type",1618),D(1619,1,hr,yZ),h.Cd=function(t){B9n(l(t,10))},I(nr,"EndLabelSorter/lambda$2$Type",1619),D(1620,1,ei,xZ),h.Mb=function(t){return fO(),qe(Q(l(t,72),(Nt(),jd)))===qe((F1(),M4))},I(nr,"EndLabelSorter/lambda$3$Type",1620),D(1621,1,ei,kZ),h.Mb=function(t){return fO(),qe(Q(l(t,72),(Nt(),jd)))===qe((F1(),sC))},I(nr,"EndLabelSorter/lambda$4$Type",1621),D(1568,1,ns,TZ),h.Kf=function(t,n){zLn(this,l(t,36))},h.b=0,h.c=0,I(nr,"FinalSplineBendpointsCalculator",1568),D(1569,1,{},EZ),h.Kb=function(t){return new vn(null,new kn(l(t,30).a,16))},I(nr,"FinalSplineBendpointsCalculator/lambda$0$Type",1569),D(1570,1,{},fS),h.Kb=function(t){return new vn(null,new Cw(new lr(fr(qs(l(t,10)).a.Kc(),new j))))},I(nr,"FinalSplineBendpointsCalculator/lambda$1$Type",1570),D(1571,1,ei,fI),h.Mb=function(t){return!Ao(l(t,18))},I(nr,"FinalSplineBendpointsCalculator/lambda$2$Type",1571),D(1572,1,ei,wj),h.Mb=function(t){return rs(l(t,18),(ft(),yv))},I(nr,"FinalSplineBendpointsCalculator/lambda$3$Type",1572),D(1573,1,hr,SYe),h.Cd=function(t){X_n(this.a,l(t,131))},I(nr,"FinalSplineBendpointsCalculator/lambda$4$Type",1573),D(1574,1,hr,d5),h.Cd=function(t){aP(l(t,18).a)},I(nr,"FinalSplineBendpointsCalculator/lambda$5$Type",1574),D(803,1,ns,Fwe),h.Kf=function(t,n){NMn(this,l(t,36),n)},I(nr,"GraphTransformer",803),D(517,22,{3:1,34:1,22:1,517:1},X3e);var C1e,xB,bxt=Br(nr,"GraphTransformer/Mode",517,Hr,u2n,U1n),mxt;D(1575,1,ns,g5),h.Kf=function(t,n){nCn(l(t,36),n)},I(nr,"HierarchicalNodeResizingProcessor",1575),D(1576,1,ns,CZ),h.Kf=function(t,n){x3n(l(t,36),n)},I(nr,"HierarchicalPortConstraintProcessor",1576),D(1577,1,ii,e0),h.Ne=function(t,n){return H6n(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(nr,"HierarchicalPortConstraintProcessor/NodeComparator",1577),D(1578,1,ns,e8),h.Kf=function(t,n){UAn(l(t,36),n)},I(nr,"HierarchicalPortDummySizeProcessor",1578),D(1579,1,ns,SZ),h.Kf=function(t,n){e_n(this,l(t,36),n)},h.a=0,I(nr,"HierarchicalPortOrthogonalEdgeRouter",1579),D(1580,1,ii,K9),h.Ne=function(t,n){return nfn(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(nr,"HierarchicalPortOrthogonalEdgeRouter/1",1580),D(1581,1,ii,Qd),h.Ne=function(t,n){return cwn(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(nr,"HierarchicalPortOrthogonalEdgeRouter/2",1581),D(1582,1,ns,_Z),h.Kf=function(t,n){m9n(l(t,36),n)},I(nr,"HierarchicalPortPositionProcessor",1582),D(1583,1,ns,ew),h.Kf=function(t,n){OIn(this,l(t,36))},h.a=0,h.c=0;var IK,OK;I(nr,"HighDegreeNodeLayeringProcessor",1583),D(580,1,{580:1},AZ),h.b=-1,h.d=-1,I(nr,"HighDegreeNodeLayeringProcessor/HighDegreeNodeInformation",580),D(1584,1,{},LZ),h.Kb=function(t){return zO(),Ea(l(t,10))},h.Fb=function(t){return this===t},I(nr,"HighDegreeNodeLayeringProcessor/lambda$0$Type",1584),D(1585,1,{},yj),h.Kb=function(t){return zO(),qs(l(t,10))},h.Fb=function(t){return this===t},I(nr,"HighDegreeNodeLayeringProcessor/lambda$1$Type",1585),D(1591,1,ns,MZ),h.Kf=function(t,n){BAn(this,l(t,36),n)},I(nr,"HyperedgeDummyMerger",1591),D(804,1,{},F4e),h.a=!1,h.b=!1,h.c=!1,I(nr,"HyperedgeDummyMerger/MergeState",804),D(1592,1,{},dS),h.Kb=function(t){return new vn(null,new kn(l(t,30).a,16))},I(nr,"HyperedgeDummyMerger/lambda$0$Type",1592),D(1593,1,{},gS),h.Kb=function(t){return new vn(null,new kn(l(t,10).j,16))},I(nr,"HyperedgeDummyMerger/lambda$1$Type",1593),D(1594,1,hr,xj),h.Cd=function(t){l(t,12).p=-1},I(nr,"HyperedgeDummyMerger/lambda$2$Type",1594),D(1595,1,ns,dI),h.Kf=function(t,n){NAn(l(t,36),n)},I(nr,"HypernodesProcessor",1595),D(1596,1,ns,t8),h.Kf=function(t,n){HAn(l(t,36),n)},I(nr,"InLayerConstraintProcessor",1596),D(1597,1,ns,DZ),h.Kf=function(t,n){B3n(l(t,36),n)},I(nr,"InnermostNodeMarginCalculator",1597),D(1598,1,ns,kj),h.Kf=function(t,n){WDn(this,l(t,36))},h.a=oa,h.b=oa,h.c=gs,h.d=gs;var HOn=I(nr,"InteractiveExternalPortPositioner",1598);D(1599,1,{},Tj),h.Kb=function(t){return l(t,18).d.i},h.Fb=function(t){return this===t},I(nr,"InteractiveExternalPortPositioner/lambda$0$Type",1599),D(1600,1,{},_Ye),h.Kb=function(t){return rfn(this.a,Ge(t))},h.Fb=function(t){return this===t},I(nr,"InteractiveExternalPortPositioner/lambda$1$Type",1600),D(1601,1,{},IZ),h.Kb=function(t){return l(t,18).c.i},h.Fb=function(t){return this===t},I(nr,"InteractiveExternalPortPositioner/lambda$2$Type",1601),D(1602,1,{},AYe),h.Kb=function(t){return ifn(this.a,Ge(t))},h.Fb=function(t){return this===t},I(nr,"InteractiveExternalPortPositioner/lambda$3$Type",1602),D(1603,1,{},LYe),h.Kb=function(t){return t0n(this.a,Ge(t))},h.Fb=function(t){return this===t},I(nr,"InteractiveExternalPortPositioner/lambda$4$Type",1603),D(1604,1,{},MYe),h.Kb=function(t){return n0n(this.a,Ge(t))},h.Fb=function(t){return this===t},I(nr,"InteractiveExternalPortPositioner/lambda$5$Type",1604),D(81,22,{3:1,34:1,22:1,81:1,196:1},Xs),h.dg=function(){switch(this.g){case 15:return new Jj;case 22:return new Vee;case 47:return new Wee;case 28:case 35:return new jZ;case 32:return new G9;case 42:return new uZ;case 1:return new lZ;case 41:return new hZ;case 56:return new Fwe((pT(),xB));case 0:return new Fwe((pT(),C1e));case 2:return new fZ;case 54:return new dZ;case 33:return new mZ;case 51:return new TZ;case 55:return new g5;case 13:return new CZ;case 38:return new e8;case 44:return new SZ;case 40:return new _Z;case 9:return new ew;case 49:return new Irt;case 37:return new MZ;case 43:return new dI;case 27:return new t8;case 30:return new DZ;case 3:return new kj;case 18:return new NZ;case 29:return new PZ;case 5:return new gk;case 50:return new OZ;case 34:return new fz;case 36:return new p5;case 52:return new rie;case 11:return new W9;case 7:return new iie;case 39:return new gI;case 45:return new ny;case 16:return new Y9;case 10:return new Ett;case 48:return new Ej;case 21:return new pI;case 23:return new cse((jw(),cM));case 8:return new bI;case 12:return new zZ;case 4:return new mI;case 19:return new pz;case 17:return new GZ;case 53:return new KZ;case 6:return new Dj;case 25:return new TJe;case 46:return new QZ;case 31:return new yit;case 14:return new see;case 26:return new Qee;case 20:return new Pj;case 24:return new cse((jw(),FW));default:throw ue(new Wn(Qhe+(this.f!=null?this.f:""+this.g)))}};var UAe,VAe,GAe,KAe,WAe,YAe,XAe,QAe,JAe,ZAe,O6,NK,PK,eLe,tLe,nLe,rLe,iLe,sLe,aLe,qL,oLe,cLe,uLe,lLe,hLe,S1e,BK,FK,fLe,RK,jK,$K,DE,f4,d4,dLe,zK,qK,gLe,HK,UK,pLe,bLe,mLe,vLe,VK,_1e,kB,GK,KK,WK,YK,wLe,yLe,xLe,kLe,UOn=Br(nr,Jhe,81,Hr,Obt,H0n),vxt;D(1605,1,ns,NZ),h.Kf=function(t,n){GDn(l(t,36),n)},I(nr,"InvertedPortProcessor",1605),D(1606,1,ns,PZ),h.Kf=function(t,n){q_n(l(t,36),n)},I(nr,"LabelAndNodeSizeProcessor",1606),D(1607,1,ei,BZ),h.Mb=function(t){return l(t,10).k==(Jn(),Bs)},I(nr,"LabelAndNodeSizeProcessor/lambda$0$Type",1607),D(1608,1,ei,FZ),h.Mb=function(t){return l(t,10).k==(Jn(),Ks)},I(nr,"LabelAndNodeSizeProcessor/lambda$1$Type",1608),D(1609,1,hr,Wit),h.Cd=function(t){Eln(this.b,this.a,this.c,l(t,10))},h.a=!1,h.c=!1,I(nr,"LabelAndNodeSizeProcessor/lambda$2$Type",1609),D(1610,1,ns,gk),h.Kf=function(t,n){vDn(l(t,36),n)};var wxt;I(nr,"LabelDummyInserter",1610),D(1611,1,Ld,Jd),h.Lb=function(t){return qe(Q(l(t,72),(Nt(),jd)))===qe((F1(),iC))},h.Fb=function(t){return this===t},h.Mb=function(t){return qe(Q(l(t,72),(Nt(),jd)))===qe((F1(),iC))},I(nr,"LabelDummyInserter/1",1611),D(1612,1,ns,OZ),h.Kf=function(t,n){aDn(l(t,36),n)},I(nr,"LabelDummyRemover",1612),D(1613,1,ei,Jv),h.Mb=function(t){return Ft(Pt(Q(l(t,72),(Nt(),pde))))},I(nr,"LabelDummyRemover/lambda$0$Type",1613),D(1378,1,ns,fz),h.Kf=function(t,n){JMn(this,l(t,36),n)},h.a=null;var A1e;I(nr,"LabelDummySwitcher",1378),D(293,1,{293:1},Imt),h.c=0,h.d=null,h.f=0,I(nr,"LabelDummySwitcher/LabelDummyInfo",293),D(1379,1,{},RZ),h.Kb=function(t){return hx(),new vn(null,new kn(l(t,30).a,16))},I(nr,"LabelDummySwitcher/lambda$0$Type",1379),D(1380,1,ei,pS),h.Mb=function(t){return hx(),l(t,10).k==(Jn(),uu)},I(nr,"LabelDummySwitcher/lambda$1$Type",1380),D(1381,1,{},DYe),h.Kb=function(t){return jfn(this.a,l(t,10))},I(nr,"LabelDummySwitcher/lambda$2$Type",1381),D(1382,1,hr,IYe),h.Cd=function(t){spn(this.a,l(t,293))},I(nr,"LabelDummySwitcher/lambda$3$Type",1382),D(1383,1,ii,bS),h.Ne=function(t,n){return Lgn(l(t,293),l(n,293))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(nr,"LabelDummySwitcher/lambda$4$Type",1383),D(802,1,ns,jZ),h.Kf=function(t,n){zvn(l(t,36),n)},I(nr,"LabelManagementProcessor",802),D(1614,1,ns,p5),h.Kf=function(t,n){vSn(l(t,36),n)},I(nr,"LabelSideSelector",1614),D(1622,1,ns,W9),h.Kf=function(t,n){sLn(l(t,36),n)},I(nr,"LayerConstraintPostprocessor",1622),D(1623,1,ns,iie),h.Kf=function(t,n){eEn(l(t,36),n)};var TLe;I(nr,"LayerConstraintPreprocessor",1623),D(371,22,{3:1,34:1,22:1,371:1},xq);var TB,XK,QK,L1e,yxt=Br(nr,"LayerConstraintPreprocessor/HiddenNodeConnections",371,Hr,wmn,U0n),xxt;D(1624,1,ns,gI),h.Kf=function(t,n){kMn(l(t,36),n)},I(nr,"LayerSizeAndGraphHeightCalculator",1624),D(1625,1,ns,ny),h.Kf=function(t,n){rCn(l(t,36),n)},I(nr,"LongEdgeJoiner",1625),D(1626,1,ns,Y9),h.Kf=function(t,n){JLn(l(t,36),n)},I(nr,"LongEdgeSplitter",1626),D(1627,1,ns,Ett),h.Kf=function(t,n){ODn(this,l(t,36),n)},h.e=0,h.f=0,h.j=0,h.k=0,h.n=0,h.o=0;var kxt,Txt;I(nr,"NodePromotion",1627),D(1628,1,ii,$Z),h.Ne=function(t,n){return Gyn(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(nr,"NodePromotion/1",1628),D(1629,1,ii,mS),h.Ne=function(t,n){return Kyn(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(nr,"NodePromotion/2",1629),D(1630,1,{},hd),h.Kb=function(t){return l(t,42),nH(),Hn(),!0},h.Fb=function(t){return this===t},I(nr,"NodePromotion/lambda$0$Type",1630),D(1631,1,{},BYe),h.Kb=function(t){return q2n(this.a,l(t,42))},h.Fb=function(t){return this===t},h.a=0,I(nr,"NodePromotion/lambda$1$Type",1631),D(1632,1,{},FYe),h.Kb=function(t){return z2n(this.a,l(t,42))},h.Fb=function(t){return this===t},h.a=0,I(nr,"NodePromotion/lambda$2$Type",1632),D(1633,1,ns,Ej),h.Kf=function(t,n){_In(l(t,36),n)},I(nr,"NorthSouthPortPostprocessor",1633),D(1634,1,ns,pI),h.Kf=function(t,n){oIn(l(t,36),n)},I(nr,"NorthSouthPortPreprocessor",1634),D(1635,1,ii,X9),h.Ne=function(t,n){return oyn(l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(nr,"NorthSouthPortPreprocessor/lambda$0$Type",1635),D(1636,1,ns,bI),h.Kf=function(t,n){TAn(l(t,36),n)},I(nr,"PartitionMidprocessor",1636),D(1637,1,ei,Cj),h.Mb=function(t){return rs(l(t,10),(Nt(),VE))},I(nr,"PartitionMidprocessor/lambda$0$Type",1637),D(1638,1,hr,RYe),h.Cd=function(t){qpn(this.a,l(t,10))},I(nr,"PartitionMidprocessor/lambda$1$Type",1638),D(1639,1,ns,zZ),h.Kf=function(t,n){ECn(l(t,36),n)},I(nr,"PartitionPostprocessor",1639),D(1640,1,ns,mI),h.Kf=function(t,n){RTn(l(t,36),n)},I(nr,"PartitionPreprocessor",1640),D(1641,1,ei,qZ),h.Mb=function(t){return rs(l(t,10),(Nt(),VE))},I(nr,"PartitionPreprocessor/lambda$0$Type",1641),D(1642,1,{},HZ),h.Kb=function(t){return new vn(null,new Cw(new lr(fr(qs(l(t,10)).a.Kc(),new j))))},I(nr,"PartitionPreprocessor/lambda$1$Type",1642),D(1643,1,ei,Sj),h.Mb=function(t){return A6n(l(t,18))},I(nr,"PartitionPreprocessor/lambda$2$Type",1643),D(1644,1,hr,n8),h.Cd=function(t){Eyn(l(t,18))},I(nr,"PartitionPreprocessor/lambda$3$Type",1644),D(1645,1,ns,pz),h.Kf=function(t,n){rAn(l(t,36),n)};var ELe,Ext,Cxt,Sxt,CLe,SLe;I(nr,"PortListSorter",1645),D(1648,1,ii,_j),h.Ne=function(t,n){return Tut(l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(nr,"PortListSorter/lambda$0$Type",1648),D(1650,1,ii,r8),h.Ne=function(t,n){return nvt(l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(nr,"PortListSorter/lambda$1$Type",1650),D(1646,1,{},UZ),h.Kb=function(t){return ST(),l(t,12).e},I(nr,"PortListSorter/lambda$2$Type",1646),D(1647,1,{},vI),h.Kb=function(t){return ST(),l(t,12).g},I(nr,"PortListSorter/lambda$3$Type",1647),D(1649,1,ii,VZ),h.Ne=function(t,n){return J7n(l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(nr,"PortListSorter/lambda$4$Type",1649),D(1651,1,ns,GZ),h.Kf=function(t,n){dEn(l(t,36),n)},I(nr,"PortSideProcessor",1651),D(1652,1,ns,KZ),h.Kf=function(t,n){g_n(l(t,36),n)},I(nr,"ReversedEdgeRestorer",1652),D(1657,1,ns,TJe),h.Kf=function(t,n){N7n(this,l(t,36),n)},I(nr,"SelfLoopPortRestorer",1657),D(1658,1,{},WZ),h.Kb=function(t){return new vn(null,new kn(l(t,30).a,16))},I(nr,"SelfLoopPortRestorer/lambda$0$Type",1658),D(1659,1,ei,Aj),h.Mb=function(t){return l(t,10).k==(Jn(),Bs)},I(nr,"SelfLoopPortRestorer/lambda$1$Type",1659),D(1660,1,ei,YZ),h.Mb=function(t){return rs(l(t,10),(ft(),v3))},I(nr,"SelfLoopPortRestorer/lambda$2$Type",1660),D(1661,1,{},XZ),h.Kb=function(t){return l(Q(l(t,10),(ft(),v3)),337)},I(nr,"SelfLoopPortRestorer/lambda$3$Type",1661),D(1662,1,hr,NYe),h.Cd=function(t){Y9n(this.a,l(t,337))},I(nr,"SelfLoopPortRestorer/lambda$4$Type",1662),D(805,1,hr,Lj),h.Cd=function(t){ckn(l(t,105))},I(nr,"SelfLoopPortRestorer/lambda$5$Type",805),D(1663,1,ns,QZ),h.Kf=function(t,n){$6n(l(t,36),n)},I(nr,"SelfLoopPostProcessor",1663),D(1664,1,{},JZ),h.Kb=function(t){return new vn(null,new kn(l(t,30).a,16))},I(nr,"SelfLoopPostProcessor/lambda$0$Type",1664),D(1665,1,ei,ZZ),h.Mb=function(t){return l(t,10).k==(Jn(),Bs)},I(nr,"SelfLoopPostProcessor/lambda$1$Type",1665),D(1666,1,ei,eee),h.Mb=function(t){return rs(l(t,10),(ft(),v3))},I(nr,"SelfLoopPostProcessor/lambda$2$Type",1666),D(1667,1,hr,Mj),h.Cd=function(t){Q8n(l(t,10))},I(nr,"SelfLoopPostProcessor/lambda$3$Type",1667),D(1668,1,{},tee),h.Kb=function(t){return new vn(null,new kn(l(t,105).f,1))},I(nr,"SelfLoopPostProcessor/lambda$4$Type",1668),D(1669,1,hr,OYe),h.Cd=function(t){Tmn(this.a,l(t,340))},I(nr,"SelfLoopPostProcessor/lambda$5$Type",1669),D(1670,1,ei,nee),h.Mb=function(t){return!!l(t,105).i},I(nr,"SelfLoopPostProcessor/lambda$6$Type",1670),D(1671,1,hr,PYe),h.Cd=function(t){Tun(this.a,l(t,105))},I(nr,"SelfLoopPostProcessor/lambda$7$Type",1671),D(1653,1,ns,Dj),h.Kf=function(t,n){qEn(l(t,36),n)},I(nr,"SelfLoopPreProcessor",1653),D(1654,1,{},Ij),h.Kb=function(t){return new vn(null,new kn(l(t,105).f,1))},I(nr,"SelfLoopPreProcessor/lambda$0$Type",1654),D(1655,1,{},Oj),h.Kb=function(t){return l(t,340).a},I(nr,"SelfLoopPreProcessor/lambda$1$Type",1655),D(1656,1,hr,ree),h.Cd=function(t){Shn(l(t,18))},I(nr,"SelfLoopPreProcessor/lambda$2$Type",1656),D(1672,1,ns,yit),h.Kf=function(t,n){M9n(this,l(t,36),n)},I(nr,"SelfLoopRouter",1672),D(1673,1,{},iee),h.Kb=function(t){return new vn(null,new kn(l(t,30).a,16))},I(nr,"SelfLoopRouter/lambda$0$Type",1673),D(1674,1,ei,Q9),h.Mb=function(t){return l(t,10).k==(Jn(),Bs)},I(nr,"SelfLoopRouter/lambda$1$Type",1674),D(1675,1,ei,i8),h.Mb=function(t){return rs(l(t,10),(ft(),v3))},I(nr,"SelfLoopRouter/lambda$2$Type",1675),D(1676,1,{},vS),h.Kb=function(t){return l(Q(l(t,10),(ft(),v3)),337)},I(nr,"SelfLoopRouter/lambda$3$Type",1676),D(1677,1,hr,itt),h.Cd=function(t){Bpn(this.a,this.b,l(t,337))},I(nr,"SelfLoopRouter/lambda$4$Type",1677),D(1678,1,ns,see),h.Kf=function(t,n){aSn(l(t,36),n)},I(nr,"SemiInteractiveCrossMinProcessor",1678),D(1679,1,ei,wI),h.Mb=function(t){return l(t,10).k==(Jn(),Bs)},I(nr,"SemiInteractiveCrossMinProcessor/lambda$0$Type",1679),D(1680,1,ei,wS),h.Mb=function(t){return Fst(l(t,10))._b((Nt(),k4))},I(nr,"SemiInteractiveCrossMinProcessor/lambda$1$Type",1680),D(1681,1,ii,yI),h.Ne=function(t,n){return T3n(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(nr,"SemiInteractiveCrossMinProcessor/lambda$2$Type",1681),D(1682,1,{},Nj),h.Ve=function(t,n){return Hpn(l(t,10),l(n,10))},I(nr,"SemiInteractiveCrossMinProcessor/lambda$3$Type",1682),D(1684,1,ns,Pj),h.Kf=function(t,n){MLn(l(t,36),n)},I(nr,"SortByInputModelProcessor",1684),D(1685,1,ei,aee),h.Mb=function(t){return l(t,12).g.c.length!=0},I(nr,"SortByInputModelProcessor/lambda$0$Type",1685),D(1686,1,hr,jYe),h.Cd=function(t){dkn(this.a,l(t,12))},I(nr,"SortByInputModelProcessor/lambda$1$Type",1686),D(1759,817,{},Kft),h.df=function(t){var n,r,s,o;switch(this.c=t,this.a.g){case 2:n=new mt,Os(ji(new vn(null,new kn(this.c.a.b,16)),new mee),new dtt(this,n)),oP(this,new cee),Uu(n,new Bj),n.c.length=0,Os(ji(new vn(null,new kn(this.c.a.b,16)),new Fj),new zYe(n)),oP(this,new uee),Uu(n,new lee),n.c.length=0,r=Wnt(Tce(Ey(new vn(null,new kn(this.c.a.b,16)),new qYe(this))),new hee),Os(new vn(null,new kn(this.c.a.a,16)),new ott(r,n)),oP(this,new dee),Uu(n,new Rj),n.c.length=0;break;case 3:s=new mt,oP(this,new oee),o=Wnt(Tce(Ey(new vn(null,new kn(this.c.a.b,16)),new $Ye(this))),new fee),Os(ji(new vn(null,new kn(this.c.a.b,16)),new gee),new utt(o,s)),oP(this,new pee),Uu(s,new bee),s.c.length=0;break;default:throw ue(new lJe)}},h.b=0,I(ua,"EdgeAwareScanlineConstraintCalculation",1759),D(1760,1,Ld,oee),h.Lb=function(t){return De(l(t,60).g,154)},h.Fb=function(t){return this===t},h.Mb=function(t){return De(l(t,60).g,154)},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$0$Type",1760),D(1761,1,{},$Ye),h.Ye=function(t){return Xkn(this.a,l(t,60))},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$1$Type",1761),D(1769,1,iG,stt),h.de=function(){RA(this.a,this.b,-1)},h.b=0,I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$10$Type",1769),D(1771,1,Ld,cee),h.Lb=function(t){return De(l(t,60).g,154)},h.Fb=function(t){return this===t},h.Mb=function(t){return De(l(t,60).g,154)},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$11$Type",1771),D(1772,1,hr,Bj),h.Cd=function(t){l(t,380).de()},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$12$Type",1772),D(1773,1,ei,Fj),h.Mb=function(t){return De(l(t,60).g,10)},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$13$Type",1773),D(1775,1,hr,zYe),h.Cd=function(t){b5n(this.a,l(t,60))},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$14$Type",1775),D(1774,1,iG,ltt),h.de=function(){RA(this.b,this.a,-1)},h.a=0,I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$15$Type",1774),D(1776,1,Ld,uee),h.Lb=function(t){return De(l(t,60).g,10)},h.Fb=function(t){return this===t},h.Mb=function(t){return De(l(t,60).g,10)},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$16$Type",1776),D(1777,1,hr,lee),h.Cd=function(t){l(t,380).de()},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$17$Type",1777),D(1778,1,{},qYe),h.Ye=function(t){return Qkn(this.a,l(t,60))},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$18$Type",1778),D(1779,1,{},hee),h.We=function(){return 0},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$19$Type",1779),D(1762,1,{},fee),h.We=function(){return 0},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$2$Type",1762),D(1781,1,hr,ott),h.Cd=function(t){xgn(this.a,this.b,l(t,316))},h.a=0,I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$20$Type",1781),D(1780,1,iG,ctt),h.de=function(){cbt(this.a,this.b,-1)},h.b=0,I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$21$Type",1780),D(1782,1,Ld,dee),h.Lb=function(t){return l(t,60),!0},h.Fb=function(t){return this===t},h.Mb=function(t){return l(t,60),!0},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$22$Type",1782),D(1783,1,hr,Rj),h.Cd=function(t){l(t,380).de()},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$23$Type",1783),D(1763,1,ei,gee),h.Mb=function(t){return De(l(t,60).g,10)},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$3$Type",1763),D(1765,1,hr,utt),h.Cd=function(t){kgn(this.a,this.b,l(t,60))},h.a=0,I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$4$Type",1765),D(1764,1,iG,htt),h.de=function(){RA(this.b,this.a,-1)},h.a=0,I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$5$Type",1764),D(1766,1,Ld,pee),h.Lb=function(t){return l(t,60),!0},h.Fb=function(t){return this===t},h.Mb=function(t){return l(t,60),!0},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$6$Type",1766),D(1767,1,hr,bee),h.Cd=function(t){l(t,380).de()},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$7$Type",1767),D(1768,1,ei,mee),h.Mb=function(t){return De(l(t,60).g,154)},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$8$Type",1768),D(1770,1,hr,dtt),h.Cd=function(t){$wn(this.a,this.b,l(t,60))},I(ua,"EdgeAwareScanlineConstraintCalculation/lambda$9$Type",1770),D(1586,1,ns,Irt),h.Kf=function(t,n){iMn(this,l(t,36),n)};var _xt;I(ua,"HorizontalGraphCompactor",1586),D(1587,1,{},HYe),h.ff=function(t,n){var r,s,o;return a7e(t,n)||(r=W5(t),s=W5(n),r&&r.k==(Jn(),Ks)||s&&s.k==(Jn(),Ks))?0:(o=l(Q(this.a.a,(ft(),q6)),312),cfn(o,r?r.k:(Jn(),Aa),s?s.k:(Jn(),Aa)))},h.gf=function(t,n){var r,s,o;return a7e(t,n)?1:(r=W5(t),s=W5(n),o=l(Q(this.a.a,(ft(),q6)),312),Qye(o,r?r.k:(Jn(),Aa),s?s.k:(Jn(),Aa)))},I(ua,"HorizontalGraphCompactor/1",1587),D(1588,1,{},jj),h.ef=function(t,n){return b_(),t.a.i==0},I(ua,"HorizontalGraphCompactor/lambda$0$Type",1588),D(1589,1,{},UYe),h.ef=function(t,n){return Gpn(this.a,t,n)},I(ua,"HorizontalGraphCompactor/lambda$1$Type",1589),D(1730,1,{},kht);var Axt,Lxt;I(ua,"LGraphToCGraphTransformer",1730),D(1738,1,ei,yS),h.Mb=function(t){return t!=null},I(ua,"LGraphToCGraphTransformer/0methodref$nonNull$Type",1738),D(1731,1,{},vee),h.Kb=function(t){return c0(),Tc(Q(l(l(t,60).g,10),(ft(),zi)))},I(ua,"LGraphToCGraphTransformer/lambda$0$Type",1731),D(1732,1,{},wee),h.Kb=function(t){return c0(),O1t(l(l(t,60).g,154))},I(ua,"LGraphToCGraphTransformer/lambda$1$Type",1732),D(1741,1,ei,$j),h.Mb=function(t){return c0(),De(l(t,60).g,10)},I(ua,"LGraphToCGraphTransformer/lambda$10$Type",1741),D(1742,1,hr,yee),h.Cd=function(t){Qpn(l(t,60))},I(ua,"LGraphToCGraphTransformer/lambda$11$Type",1742),D(1743,1,ei,xee),h.Mb=function(t){return c0(),De(l(t,60).g,154)},I(ua,"LGraphToCGraphTransformer/lambda$12$Type",1743),D(1747,1,hr,kee),h.Cd=function(t){A4n(l(t,60))},I(ua,"LGraphToCGraphTransformer/lambda$13$Type",1747),D(1744,1,hr,VYe),h.Cd=function(t){thn(this.a,l(t,8))},h.a=0,I(ua,"LGraphToCGraphTransformer/lambda$14$Type",1744),D(1745,1,hr,GYe),h.Cd=function(t){rhn(this.a,l(t,116))},h.a=0,I(ua,"LGraphToCGraphTransformer/lambda$15$Type",1745),D(1746,1,hr,KYe),h.Cd=function(t){nhn(this.a,l(t,8))},h.a=0,I(ua,"LGraphToCGraphTransformer/lambda$16$Type",1746),D(1748,1,{},Tee),h.Kb=function(t){return c0(),new vn(null,new Cw(new lr(fr(qs(l(t,10)).a.Kc(),new j))))},I(ua,"LGraphToCGraphTransformer/lambda$17$Type",1748),D(1749,1,ei,Eee),h.Mb=function(t){return c0(),Ao(l(t,18))},I(ua,"LGraphToCGraphTransformer/lambda$18$Type",1749),D(1750,1,hr,WYe),h.Cd=function(t){vwn(this.a,l(t,18))},I(ua,"LGraphToCGraphTransformer/lambda$19$Type",1750),D(1734,1,hr,YYe),h.Cd=function(t){Vbn(this.a,l(t,154))},I(ua,"LGraphToCGraphTransformer/lambda$2$Type",1734),D(1751,1,{},Cee),h.Kb=function(t){return c0(),new vn(null,new kn(l(t,30).a,16))},I(ua,"LGraphToCGraphTransformer/lambda$20$Type",1751),D(1752,1,{},zj),h.Kb=function(t){return c0(),new vn(null,new Cw(new lr(fr(qs(l(t,10)).a.Kc(),new j))))},I(ua,"LGraphToCGraphTransformer/lambda$21$Type",1752),D(1753,1,{},See),h.Kb=function(t){return c0(),l(Q(l(t,18),(ft(),yv)),15)},I(ua,"LGraphToCGraphTransformer/lambda$22$Type",1753),D(1754,1,ei,qj),h.Mb=function(t){return ufn(l(t,15))},I(ua,"LGraphToCGraphTransformer/lambda$23$Type",1754),D(1755,1,hr,XYe),h.Cd=function(t){jkn(this.a,l(t,15))},I(ua,"LGraphToCGraphTransformer/lambda$24$Type",1755),D(1733,1,hr,gtt),h.Cd=function(t){qmn(this.a,this.b,l(t,154))},I(ua,"LGraphToCGraphTransformer/lambda$3$Type",1733),D(1735,1,{},_ee),h.Kb=function(t){return c0(),new vn(null,new kn(l(t,30).a,16))},I(ua,"LGraphToCGraphTransformer/lambda$4$Type",1735),D(1736,1,{},Aee),h.Kb=function(t){return c0(),new vn(null,new Cw(new lr(fr(qs(l(t,10)).a.Kc(),new j))))},I(ua,"LGraphToCGraphTransformer/lambda$5$Type",1736),D(1737,1,{},Lee),h.Kb=function(t){return c0(),l(Q(l(t,18),(ft(),yv)),15)},I(ua,"LGraphToCGraphTransformer/lambda$6$Type",1737),D(1739,1,hr,QYe),h.Cd=function(t){Jkn(this.a,l(t,15))},I(ua,"LGraphToCGraphTransformer/lambda$8$Type",1739),D(1740,1,hr,ptt),h.Cd=function(t){_hn(this.a,this.b,l(t,154))},I(ua,"LGraphToCGraphTransformer/lambda$9$Type",1740),D(1729,1,{},xS),h.cf=function(t){var n,r,s,o,f;for(this.a=t,this.d=new Zie,this.c=We(sAe,jn,125,this.a.a.a.c.length,0,1),this.b=0,r=new K(this.a.a.a);r.a<r.c.c.length;)n=l(re(r),316),n.d=this.b,f=vw(hO(new Nm,n),this.d),this.c[this.b]=f,++this.b;for(pDn(this),pIn(this),vCn(this),xle(Mae(this.d),new M8),o=new K(this.a.a.b);o.a<o.c.c.length;)s=l(re(o),60),s.d.c=this.c[s.a.d].e+s.b.a},h.b=0,I(ua,"NetworkSimplexCompaction",1729),D(154,1,{34:1,154:1},JA),h.Fd=function(t){return Lwn(this,l(t,154))},h.Ib=function(){return O1t(this)},I(ua,"VerticalSegment",154),D(841,1,{},Jxe),h.c=0,h.e=0,h.i=0,I(pL,"BetweenLayerEdgeTwoNodeCrossingsCounter",841),D(677,1,{677:1},o0t),h.Ib=function(){return"AdjacencyList [node="+this.d+", adjacencies= "+this.a+"]"},h.b=0,h.c=0,h.f=0,I(pL,"BetweenLayerEdgeTwoNodeCrossingsCounter/AdjacencyList",677),D(294,1,{34:1,294:1},$rt),h.Fd=function(t){return Vdn(this,l(t,294))},h.Ib=function(){return"Adjacency [position="+this.c+", cardinality="+this.a+", currentCardinality="+this.b+"]"},h.a=0,h.b=0,h.c=0,I(pL,"BetweenLayerEdgeTwoNodeCrossingsCounter/AdjacencyList/Adjacency",294),D(2026,1,{},Rpt),h.b=0,h.e=!1,I(pL,"CrossingMatrixFiller",2026);var Mxt=Ts(wg,"IInitializable");D(1867,1,YP,mtt),h.gg=function(t,n,r,s,o,f){},h.ig=function(t,n,r){},h.eg=function(){return this.c!=(jw(),cM)},h.fg=function(){this.e=We(Ur,fi,28,this.d,15,1)},h.hg=function(t,n){n[t][0].c.p=t},h.jg=function(t,n,r,s){++this.d},h.kg=function(){return!0},h.lg=function(t,n,r,s){return C1t(this,t,n,r),evn(this,n)},h.mg=function(t,n){var r;return r=Qun(n,t.length),C1t(this,t,r,n),z0t(this,r)},h.d=0,I(pL,"GreedySwitchHeuristic",1867),D(2029,1,{},Nst),h.b=0,h.d=0,I(pL,"NorthSouthEdgeNeighbouringNodeCrossingsCounter",2029),D(2016,1,{},bmt),h.a=!1,I(pL,"SwitchDecider",2016),D(105,1,{105:1},Gpt),h.a=null,h.c=null,h.i=null,I(Rx,"SelfHyperLoop",105),D(2013,1,{},Odt),h.c=0,h.e=0,I(Rx,"SelfHyperLoopLabels",2013),D(421,22,{3:1,34:1,22:1,421:1},kq);var Vx,IE,OE,M1e,Dxt=Br(Rx,"SelfHyperLoopLabels/Alignment",421,Hr,vmn,V0n),Ixt;D(340,1,{340:1},flt),I(Rx,"SelfLoopEdge",340),D(337,1,{337:1},Ndt),h.a=!1,I(Rx,"SelfLoopHolder",337),D(1790,1,ei,Xj),h.Mb=function(t){return Ao(l(t,18))},I(Rx,"SelfLoopHolder/lambda$0$Type",1790),D(113,1,{113:1},jdt),h.a=!1,h.c=!1,I(Rx,"SelfLoopPort",113),D(1855,1,ei,Iee),h.Mb=function(t){return Ao(l(t,18))},I(Rx,"SelfLoopPort/lambda$0$Type",1855),D(375,22,{3:1,34:1,22:1,375:1},bO);var JK,EB,ZK,eW,tW,Oxt=Br(Rx,"SelfLoopType",375,Hr,uvn,G0n),Nxt;D(1798,1,{},oie);var Pxt,Bxt,Fxt,Rxt;I(Bh,"PortRestorer",1798),D(372,22,{3:1,34:1,22:1,372:1},Ise);var d3,Kb,g3,D1e=Br(Bh,"PortRestorer/PortSideArea",372,Hr,sbn,q0n),jxt;D(1799,1,{},kS),h.Kb=function(t){return Nb(),l(t,15).Oc()},I(Bh,"PortRestorer/lambda$0$Type",1799),D(1800,1,hr,Dee),h.Cd=function(t){Nb(),l(t,113).c=!1},I(Bh,"PortRestorer/lambda$1$Type",1800),D(1809,1,ei,Hj),h.Mb=function(t){return Nb(),l(t,12).j==(_t(),Zn)},I(Bh,"PortRestorer/lambda$10$Type",1809),D(1810,1,{},Uj),h.Kb=function(t){return Nb(),l(t,113).d},I(Bh,"PortRestorer/lambda$11$Type",1810),D(1811,1,hr,JYe),h.Cd=function(t){nln(this.a,l(t,12))},I(Bh,"PortRestorer/lambda$12$Type",1811),D(1801,1,hr,ZYe),h.Cd=function(t){vfn(this.a,l(t,105))},I(Bh,"PortRestorer/lambda$2$Type",1801),D(1802,1,ii,Vj),h.Ne=function(t,n){return Jwn(l(t,113),l(n,113))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Bh,"PortRestorer/lambda$3$Type",1802),D(1803,1,ei,Gj),h.Mb=function(t){return Nb(),l(t,113).c},I(Bh,"PortRestorer/lambda$4$Type",1803),D(1804,1,ei,Zv),h.Mb=function(t){return H3n(l(t,12))},I(Bh,"PortRestorer/lambda$5$Type",1804),D(1805,1,ei,Mee),h.Mb=function(t){return Nb(),l(t,12).j==(_t(),Xn)},I(Bh,"PortRestorer/lambda$6$Type",1805),D(1806,1,ei,Kj),h.Mb=function(t){return Nb(),l(t,12).j==(_t(),sr)},I(Bh,"PortRestorer/lambda$7$Type",1806),D(1807,1,ei,Wj),h.Mb=function(t){return kmn(l(t,12))},I(Bh,"PortRestorer/lambda$8$Type",1807),D(1808,1,ei,Yj),h.Mb=function(t){return Nb(),l(t,12).j==(_t(),Mr)},I(Bh,"PortRestorer/lambda$9$Type",1808),D(276,22,{3:1,34:1,22:1,276:1},ex);var I1e,O1e,N1e,P1e,B1e,F1e,R1e,j1e,_Le=Br(Bh,"PortSideAssigner/Target",276,Hr,Rwn,K0n),$xt;D(1791,1,{},xI),h.Kb=function(t){return ji(new vn(null,new kn(l(t,105).j,16)),new Qj)},I(Bh,"PortSideAssigner/lambda$1$Type",1791),D(1792,1,{},b5),h.Kb=function(t){return l(t,113).d},I(Bh,"PortSideAssigner/lambda$2$Type",1792),D(1793,1,hr,Oee),h.Cd=function(t){ga(l(t,12),(_t(),Xn))},I(Bh,"PortSideAssigner/lambda$3$Type",1793),D(1794,1,{},Nee),h.Kb=function(t){return l(t,113).d},I(Bh,"PortSideAssigner/lambda$4$Type",1794),D(1795,1,hr,eXe),h.Cd=function(t){uun(this.a,l(t,12))},I(Bh,"PortSideAssigner/lambda$5$Type",1795),D(1796,1,ii,s8),h.Ne=function(t,n){return dpn(l(t,105),l(n,105))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Bh,"PortSideAssigner/lambda$6$Type",1796),D(1797,1,ii,TS),h.Ne=function(t,n){return Bdn(l(t,113),l(n,113))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Bh,"PortSideAssigner/lambda$7$Type",1797),D(820,1,ei,Qj),h.Mb=function(t){return l(t,113).c},I(Bh,"PortSideAssigner/lambda$8$Type",820),D(2108,1,{}),I($b,"AbstractSelfLoopRouter",2108),D(1816,1,ii,Pee),h.Ne=function(t,n){return g0n(l(t,105),l(n,105))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I($b,U3t,1816),D(1817,1,ii,Bee),h.Ne=function(t,n){return d0n(l(t,105),l(n,105))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I($b,V3t,1817),D(1856,2108,{},Fee),h.ng=function(t,n,r){return r},I($b,"OrthogonalSelfLoopRouter",1856),D(1858,1,hr,btt),h.Cd=function(t){cxe(this.b,this.a,l(t,8))},I($b,"OrthogonalSelfLoopRouter/lambda$0$Type",1858),D(1857,1856,{},Ree),h.ng=function(t,n,r){var s,o;return s=t.c.d,Fk(r,0,Pi(Xa(s.n),s.a)),o=t.d.d,ci(r,Pi(Xa(o.n),o.a)),mAn(r)},I($b,"PolylineSelfLoopRouter",1857),D(1812,1,{},cie),h.a=null;var N6;I($b,"RoutingDirector",1812),D(1813,1,ii,jee),h.Ne=function(t,n){return Odn(l(t,113),l(n,113))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I($b,"RoutingDirector/lambda$0$Type",1813),D(1814,1,{},$ee),h.Kb=function(t){return oq(),l(t,105).j},I($b,"RoutingDirector/lambda$1$Type",1814),D(1815,1,hr,zee),h.Cd=function(t){oq(),l(t,15).jd(N6)},I($b,"RoutingDirector/lambda$2$Type",1815),D(1818,1,{},qee),I($b,"RoutingSlotAssigner",1818),D(1819,1,ei,tXe),h.Mb=function(t){return Rln(this.a,l(t,105))},I($b,"RoutingSlotAssigner/lambda$0$Type",1819),D(1820,1,ii,nXe),h.Ne=function(t,n){return cgn(this.a,l(t,105),l(n,105))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I($b,"RoutingSlotAssigner/lambda$1$Type",1820),D(1859,1856,{},Hee),h.ng=function(t,n,r){var s,o,f,g;return s=ze(Ge(cV(t.b.g.b,(Nt(),V6)))),g=new qrt(he(le(Ca,1),dt,8,0,[(f=t.c.d,Pi(new xo(f.n),f.a))])),GEn(t,n,r,g,s),ci(g,(o=t.d.d,Pi(new xo(o.n),o.a))),sgt(new Uke(g))},I($b,"SplineSelfLoopRouter",1859),D(586,1,ii,Vft,ust),h.Ne=function(t,n){return Hwt(this,l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(aEe,"ModelOrderNodeComparator",586),D(1821,1,ei,Uee),h.Mb=function(t){return l(t,12).e.c.length!=0},I(aEe,"ModelOrderNodeComparator/lambda$0$Type",1821),D(821,1,ii,y1t,nut),h.Ne=function(t,n){return iat(this,t,n)},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},h.b=!1,I(aEe,"ModelOrderPortComparator",821),D(815,1,{},ES),h.og=function(t,n){var r,s,o,f;for(o=Npt(n),r=new mt,f=n.f/o,s=1;s<o;++s)wt(r,bt(Yr(tu(b.Math.round(s*f)))));return r},h.pg=function(){return!1},I(Od,"ARDCutIndexHeuristic",815),D(1544,1,ns,Jj),h.Kf=function(t,n){P_n(l(t,36),n)},I(Od,"BreakingPointInserter",1544),D(313,1,{313:1},C6e),h.Ib=function(){var t;return t=new lb,t.a+="BPInfo[",t.a+=`
start=`,mu(t,this.i),t.a+=`
end=`,mu(t,this.a),t.a+=`
nodeStartEdge=`,mu(t,this.e),t.a+=`
startEndEdge=`,mu(t,this.j),t.a+=`
originalEdge=`,mu(t,this.f),t.a+=`
startInLayerDummy=`,mu(t,this.k),t.a+=`
startInLayerEdge=`,mu(t,this.n),t.a+=`
endInLayerDummy=`,mu(t,this.b),t.a+=`
endInLayerEdge=`,mu(t,this.c),t.a},I(Od,"BreakingPointInserter/BPInfo",313),D(661,1,{661:1},fXe),h.a=!1,h.b=0,h.c=0,I(Od,"BreakingPointInserter/Cut",661),D(1545,1,ns,Vee),h.Kf=function(t,n){QEn(l(t,36),n)},I(Od,"BreakingPointProcessor",1545),D(1546,1,ei,Gee),h.Mb=function(t){return Nht(l(t,10))},I(Od,"BreakingPointProcessor/0methodref$isEnd$Type",1546),D(1547,1,ei,Kee),h.Mb=function(t){return Pht(l(t,10))},I(Od,"BreakingPointProcessor/1methodref$isStart$Type",1547),D(1548,1,ns,Wee),h.Kf=function(t,n){wCn(this,l(t,36),n)},I(Od,"BreakingPointRemover",1548),D(1549,1,hr,Yee),h.Cd=function(t){l(t,131).k=!0},I(Od,"BreakingPointRemover/lambda$0$Type",1549),D(811,1,{},W9e),h.b=0,h.e=0,h.f=0,h.j=0,I(Od,"GraphStats",811),D(812,1,{},Zj),h.Ve=function(t,n){return b.Math.max(ze(Ge(t)),ze(Ge(n)))},I(Od,"GraphStats/0methodref$max$Type",812),D(813,1,{},e$),h.Ve=function(t,n){return b.Math.max(ze(Ge(t)),ze(Ge(n)))},I(Od,"GraphStats/2methodref$max$Type",813),D(1726,1,{},Xee),h.Ve=function(t,n){return ydn(Ge(t),Ge(n))},I(Od,"GraphStats/lambda$1$Type",1726),D(1727,1,{},rXe),h.Kb=function(t){return $dt(this.a,l(t,30))},I(Od,"GraphStats/lambda$2$Type",1727),D(1728,1,{},iXe),h.Kb=function(t){return Dbt(this.a,l(t,30))},I(Od,"GraphStats/lambda$6$Type",1728),D(814,1,{},t$),h.og=function(t,n){var r;return r=l(Q(t,(Nt(),TDe)),15),r||(Cn(),Cn(),Co)},h.pg=function(){return!1},I(Od,"ICutIndexCalculator/ManualCutIndexCalculator",814),D(816,1,{},n$),h.og=function(t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je;for(Je=(n.n==null&&ggt(n),n.n),T=(n.d==null&&ggt(n),n.d),$e=We(Oa,tc,28,Je.length,15,1),$e[0]=Je[0],Ee=Je[0],C=1;C<Je.length;C++)$e[C]=$e[C-1]+Je[C],Ee+=Je[C];for(o=Npt(n)-1,g=l(Q(t,(Nt(),EDe)),17).a,s=oa,r=new mt,z=b.Math.max(0,o-g);z<=b.Math.min(n.f-1,o+g);z++){if(te=Ee/(z+1),fe=0,L=1,f=new mt,Me=oa,F=0,w=0,J=T[0],z==0)Me=Ee,w=(n.g==null&&(n.g=Zft(n,new e$)),ze(n.g));else{for(;L<n.f;)$e[L-1]-fe>=te&&(wt(f,bt(L)),Me=b.Math.max(Me,$e[L-1]-F),w+=J,fe+=$e[L-1]-fe,F=$e[L-1],J=T[L]),J=b.Math.max(J,T[L]),++L;w+=J}V=b.Math.min(1/Me,1/n.b/w),V>s&&(s=V,r=f)}return r},h.pg=function(){return!1},I(Od,"MSDCutIndexHeuristic",816),D(1683,1,ns,Qee),h.Kf=function(t,n){oLn(l(t,36),n)},I(Od,"SingleEdgeGraphWrapper",1683),D(232,22,{3:1,34:1,22:1,232:1},E_);var P6,NE,PE,g4,HL,B6,BE=Br(cu,"CenterEdgeLabelPlacementStrategy",232,Hr,Gvn,W0n),zxt;D(431,22,{3:1,34:1,22:1,431:1},J3e);var ALe,$1e,LLe=Br(cu,"ConstraintCalculationStrategy",431,Hr,f2n,Y0n),qxt;D(322,22,{3:1,34:1,22:1,322:1,188:1,196:1},Ose),h.dg=function(){return b2t(this)},h.qg=function(){return b2t(this)};var CB,UL,MLe,DLe=Br(cu,"CrossingMinimizationStrategy",322,Hr,abn,X0n),Hxt;D(351,22,{3:1,34:1,22:1,351:1},Nse);var ILe,z1e,nW,OLe=Br(cu,"CuttingStrategy",351,Hr,obn,Q0n),Uxt;D(348,22,{3:1,34:1,22:1,348:1,188:1,196:1},mO),h.dg=function(){return abt(this)},h.qg=function(){return abt(this)};var NLe,q1e,FE,H1e,RE,PLe=Br(cu,"CycleBreakingStrategy",348,Hr,lvn,J0n),Vxt;D(428,22,{3:1,34:1,22:1,428:1},Z3e);var rW,BLe,FLe=Br(cu,"DirectionCongruency",428,Hr,h2n,Z0n),Gxt;D(460,22,{3:1,34:1,22:1,460:1},Pse);var jE,U1e,F6,Kxt=Br(cu,"EdgeConstraint",460,Hr,cbn,a1n),Wxt;D(283,22,{3:1,34:1,22:1,283:1},C_);var V1e,G1e,K1e,W1e,iW,Y1e,RLe=Br(cu,"EdgeLabelSideSelection",283,Hr,Hvn,o1n),Yxt;D(488,22,{3:1,34:1,22:1,488:1},eye);var sW,jLe,$Le=Br(cu,"EdgeStraighteningStrategy",488,Hr,w2n,c1n),Xxt;D(281,22,{3:1,34:1,22:1,281:1},S_);var X1e,zLe,qLe,aW,HLe,ULe,VLe=Br(cu,"FixedAlignment",281,Hr,Uvn,s1n),Qxt;D(282,22,{3:1,34:1,22:1,282:1},__);var GLe,KLe,WLe,YLe,VL,XLe,QLe=Br(cu,"GraphCompactionStrategy",282,Hr,Vvn,e1n),Jxt;D(259,22,{3:1,34:1,22:1,259:1},fy);var $E,oW,zE,mf,GL,cW,qE,R6,uW,KL,Q1e=Br(cu,"GraphProperties",259,Hr,L3n,t1n),Zxt;D(299,22,{3:1,34:1,22:1,299:1},Bse);var SB,J1e,Z1e,ede=Br(cu,"GreedySwitchType",299,Hr,ubn,n1n),e9t;D(311,22,{3:1,34:1,22:1,311:1},Fse);var Gx,_B,j6,t9t=Br(cu,"InLayerConstraint",311,Hr,lbn,r1n),n9t;D(429,22,{3:1,34:1,22:1,429:1},tye);var tde,JLe,ZLe=Br(cu,"InteractiveReferencePoint",429,Hr,l2n,i1n),r9t,eMe,Kx,p3,lW,tMe,nMe,hW,rMe,AB,fW,WL,Wx,wp,nde,dW,Xc,iMe,Wb,_u,rde,ide,LB,wv,b3,Yx,sMe,Xx,MB,p4,a1,$f,sde,$6,Yi,zi,aMe,oMe,cMe,uMe,lMe,ade,gW,Bl,m3,ode,Qx,YL,W1,z6,v3,q6,H6,HE,yv,hMe,cde,ude,Jx;D(171,22,{3:1,34:1,22:1,171:1},vO);var XL,Yb,QL,b4,DB,fMe=Br(cu,"LayerConstraint",171,Hr,fvn,u1n),i9t;D(859,1,Pf,uie),h.hf=function(t){an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,cEe),""),"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."),kMe),(T2(),ps)),FLe),hn((n1(),Bn))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,uEe),""),"Feedback Edges"),"Whether feedback edges should be highlighted by routing around the nodes."),(Hn(),!1)),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,wG),""),"Interactive Reference Point"),"Determines which point of a node is considered by interactive layout phases."),AMe),ps),ZLe),hn(Bn)))),Zs(t,wG,tfe,J9t),Zs(t,wG,bL,Q9t),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,lEe),""),"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),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,hEe),""),"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),Ta),Ps),hn(Bn)))),an(t,new Qt(tln(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,fEe),""),"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),Ta),Ps),hn(Av)),he(le($t,1),dt,2,6,["org.eclipse.elk.layered.northOrSouthPort"])))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,dEe),""),"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."),BMe),ps),VDe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,gEe),""),"Thoroughness"),"How much effort should be spent to produce a nice layout."),bt(7)),Sc),to),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,pEe),""),"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),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,bEe),""),"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),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,tfe),"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)."),xMe),ps),PLe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,XP),Cfe),"Node Layering Strategy"),"Strategy for node layering."),DMe),ps),ODe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,mEe),Cfe),"Layer Constraint"),"Determines a constraint on the placement of the node regarding the layering."),LMe),ps),fMe),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,vEe),Cfe),"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),Sc),to),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,wEe),Cfe),"Layer ID"),"Layer identifier that was calculated by ELK Layered for a node. This is only generated if interactiveLayot or generatePositionAndLayerIds is set."),bt(-1)),Sc),to),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,nfe),Ayt),"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."),bt(4)),Sc),to),hn(Bn)))),Zs(t,nfe,XP,skt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,rfe),Ayt),"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."),bt(2)),Sc),to),hn(Bn)))),Zs(t,rfe,XP,okt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,ife),Lyt),"Node Promotion Strategy"),"Reduces number of dummy nodes after layering phase (if possible)."),MMe),ps),qDe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,sfe),Lyt),"Max Node Promotion Iterations"),"Limits the number of iterations for node promotion."),bt(0)),Sc),to),hn(Bn)))),Zs(t,sfe,ife,null),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,afe),"layering.coffmanGraham"),"Layer Bound"),"The maximum number of nodes allowed per layer."),bt(Ni)),Sc),to),hn(Bn)))),Zs(t,afe,XP,ekt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,bL),bE),"Crossing Minimization Strategy"),"Strategy for crossing minimization."),yMe),ps),DLe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,yEe),bE),"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),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,ofe),bE),"Hierarchical Sweepiness"),"How likely it is to use cross-hierarchy (1) vs bottom-up (-1)."),.1),co),ra),hn(Bn)))),Zs(t,ofe,IG,E9t),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,cfe),bE),"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),Ta),Ps),hn(Bn)))),Zs(t,cfe,bL,M9t),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,xEe),bE),"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),e7),$t),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,kEe),bE),"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),e7),$t),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,TEe),bE),"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),Sc),to),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,EEe),bE),"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."),bt(-1)),Sc),to),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,CEe),Myt),"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."),bt(40)),Sc),to),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,ufe),Myt),"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."),wMe),ps),ede),hn(Bn)))),Zs(t,ufe,bL,k9t),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,yG),"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."),vMe),ps),ede),hn(Bn)))),Zs(t,yG,bL,w9t),Zs(t,yG,IG,y9t),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,E6),Dyt),"Node Placement Strategy"),"Strategy for node placement."),PMe),ps),FDe),hn(Bn)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,xG),Dyt),"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."),Ta),Ps),hn(Bn)))),Zs(t,xG,E6,vkt),Zs(t,xG,E6,wkt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,lfe),Iyt),"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."),IMe),ps),$Le),hn(Bn)))),Zs(t,lfe,E6,gkt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,hfe),Iyt),"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."),OMe),ps),VLe),hn(Bn)))),Zs(t,hfe,E6,bkt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,ffe),"nodePlacement.linearSegments"),"Linear Segments Deflection Dampening"),"Dampens the movement of nodes to keep the diagram from getting too large."),.3),co),ra),hn(Bn)))),Zs(t,ffe,E6,xkt),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,dfe),"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."),ps),Dde),hn(pa)))),Zs(t,dfe,E6,Ckt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,gfe),"nodePlacement.networkSimplex.nodeFlexibility"),"Node Flexibility Default"),"Default value of the 'nodeFlexibility' option for the children of a hierarchical node."),NMe),ps),Dde),hn(Bn)))),Zs(t,gfe,E6,Ekt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,SEe),Oyt),"Self-Loop Distribution"),"Alter the distribution of the loops around the node. It only takes effect for PortConstraints.FREE."),CMe),ps),WDe),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,_Ee),Oyt),"Self-Loop Ordering"),"Alter the ordering of the loops they can either be stacked or sequenced. It only takes effect for PortConstraints.FREE."),SMe),ps),YDe),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,kG),"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."),_Me),ps),QDe),hn(Bn)))),Zs(t,kG,QP,z9t),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,TG),"edgeRouting.splines.sloppy"),"Sloppy Spline Layer Spacing Factor"),"Spacing factor for routing area between layers when using sloppy spline routing."),.2),co),ra),hn(Bn)))),Zs(t,TG,QP,H9t),Zs(t,TG,kG,U9t),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,pfe),"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),co),ra),hn(Bn)))),Zs(t,pfe,QP,F9t),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,AEe),V1),"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."),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,LEe),V1),"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),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,MEe),V1),"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),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,DEe),V1),"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),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,IEe),qEe),"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."),bt(0)),Sc),to),hn(zd)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,OEe),qEe),"Shortness Priority"),"Defines how important it is to keep an edge as short as possible. This option is evaluated during the layering phase."),bt(0)),Sc),to),hn(zd)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,NEe),qEe),"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."),bt(0)),Sc),to),hn(zd)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,bfe),HEe),Y3t),"Tries to further compact components (disconnected sub-graphs)."),!1),Ta),Ps),hn(Bn)))),Zs(t,bfe,hL,!0),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,PEe),Nyt),"Post Compaction Strategy"),Pyt),gMe),ps),QLe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,BEe),Nyt),"Post Compaction Constraint Calculation"),Pyt),dMe),ps),LLe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,EG),UEe),"High Degree Node Treatment"),"Makes room around high degree nodes to place leafs and trees."),!1),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,mfe),UEe),"High Degree Node Threshold"),"Whether a node is considered to have a high degree."),bt(16)),Sc),to),hn(Bn)))),Zs(t,mfe,EG,!0),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,vfe),UEe),"High Degree Node Maximum Tree Height"),"Maximum height of a subtree connected to a high degree node to be moved to separate layers."),bt(5)),Sc),to),hn(Bn)))),Zs(t,vfe,EG,!0),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,bp),VEe),"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'."),jMe),ps),tIe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,CG),VEe),"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),co),ra),hn(Bn)))),Zs(t,CG,bp,Rkt),Zs(t,CG,bp,jkt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,SG),VEe),"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),co),ra),hn(Bn)))),Zs(t,SG,bp,zkt),Zs(t,SG,bp,qkt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,mL),Byt),"Cutting Strategy"),"The strategy by which the layer indexes are determined at which the layering crumbles into chunks."),RMe),ps),OLe),hn(Bn)))),Zs(t,mL,bp,Wkt),Zs(t,mL,bp,Ykt),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,wfe),Byt),"Manually Specified Cuts"),"Allows the user to specify her own cuts for a certain graph."),X1),bf),hn(Bn)))),Zs(t,wfe,mL,Ukt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,yfe),"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."),FMe),Sc),to),hn(Bn)))),Zs(t,yfe,mL,Gkt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,_G),Fyt),"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."),$Me),ps),eIe),hn(Bn)))),Zs(t,_G,bp,oTt),Zs(t,_G,bp,cTt),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,AG),Fyt),"Valid Indices for Wrapping"),null),X1),bf),hn(Bn)))),Zs(t,AG,bp,iTt),Zs(t,AG,bp,sTt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,LG),GEe),"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),Ta),Ps),hn(Bn)))),Zs(t,LG,bp,Zkt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,MG),GEe),"Distance Penalty When Improving Cuts"),null),2),co),ra),hn(Bn)))),Zs(t,MG,bp,Qkt),Zs(t,MG,LG,!0),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,xfe),GEe),"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),Ta),Ps),hn(Bn)))),Zs(t,xfe,bp,tTt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,FEe),Sfe),"Edge Label Side Selection"),"Method to decide on edge label sides."),EMe),ps),RLe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,REe),Sfe),"Edge Center Label Placement Strategy"),"Determines in which layer center labels of long edges should be placed."),TMe),ps),BE),is(Bn,he(le(Eg,1),it,170,0,[P2]))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,DG),vL),"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."),mMe),ps),UDe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,jEe),vL),"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),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,$Ee),vL),"No Model Order"),"Set on a node to not set a model order for this node even though it is a real node."),!1),Ta),Ps),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,kfe),vL),"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."),pMe),ps),PAe),hn(Bn)))),Zs(t,kfe,hL,null),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,zEe),vL),"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."),bMe),ps),PDe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,Tfe),vL),"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),co),ra),hn(Bn)))),Zs(t,Tfe,DG,null),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,Efe),vL),"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),co),ra),hn(Bn)))),Zs(t,Efe,DG,null),e3t((new lie,t))};var s9t,a9t,o9t,dMe,c9t,gMe,u9t,pMe,l9t,h9t,f9t,bMe,d9t,g9t,p9t,mMe,b9t,m9t,v9t,vMe,w9t,y9t,x9t,wMe,k9t,T9t,E9t,C9t,S9t,_9t,A9t,L9t,M9t,D9t,yMe,I9t,xMe,O9t,kMe,N9t,TMe,P9t,EMe,B9t,F9t,R9t,CMe,j9t,SMe,$9t,_Me,z9t,q9t,H9t,U9t,V9t,G9t,K9t,W9t,Y9t,X9t,AMe,Q9t,J9t,Z9t,ekt,tkt,nkt,LMe,rkt,ikt,skt,akt,okt,ckt,ukt,MMe,lkt,DMe,hkt,fkt,dkt,IMe,gkt,pkt,OMe,bkt,mkt,vkt,wkt,ykt,xkt,kkt,Tkt,NMe,Ekt,Ckt,Skt,PMe,_kt,BMe,Akt,Lkt,Mkt,Dkt,Ikt,Okt,Nkt,Pkt,Bkt,Fkt,Rkt,jkt,$kt,zkt,qkt,Hkt,Ukt,Vkt,FMe,Gkt,Kkt,RMe,Wkt,Ykt,Xkt,Qkt,Jkt,Zkt,eTt,tTt,nTt,jMe,rTt,iTt,sTt,aTt,$Me,oTt,cTt;I(cu,"LayeredMetaDataProvider",859),D(998,1,Pf,lie),h.hf=function(t){e3t(t)};var Rd,lde,pW,JL,bW,zMe,mW,m4,vW,qMe,HMe,wW,hde,Tg,fde,w3,UMe,IB,dde,VMe,uTt,lTt,hTt,yW,gde,ZL,xv,fTt,Rh,GMe,KMe,xW,pde,jd,kW,yp,WMe,YMe,XMe,bde,mde,QMe,M2,vde,JMe,v4,ZMe,eDe,tDe,TW,w4,kv,nDe,rDe,lc,iDe,dTt,Qu,EW,sDe,aDe,oDe,Xb,Tv,CW,cDe,uDe,SW,y3,lDe,wde,eM,hDe,x3,tM,_W,Ev,yde,UE,AW,Cv,fDe,dDe,gDe,VE,pDe,gTt,pTt,bTt,mTt,k3,y4,Ds,D2,vTt,x4,bDe,GE,mDe,k4,wTt,KE,vDe,Zx,yTt,xTt,OB,xde,wDe,NB,y0,U6,V6,T3,Sv,LW,T4,kde,WE,YE,E3,G6,Tde,PB,nM,rM,kTt,TTt,ETt,yDe,CTt,Ede,xDe,kDe,TDe,EDe,Cde,CDe,SDe,_De,ADe,Sde,MW;I(cu,"LayeredOptions",998),D(999,1,{},Jee),h.sf=function(){var t;return t=new vJe,t},h.tf=function(t){},I(cu,"LayeredOptions/LayeredFactory",999),D(1391,1,{}),h.a=0;var STt;I(Kc,"ElkSpacings/AbstractSpacingsBuilder",1391),D(792,1391,{},Y8e);var DW,_Tt;I(cu,"LayeredSpacings/LayeredSpacingsBuilder",792),D(265,22,{3:1,34:1,22:1,265:1,188:1,196:1},I5),h.dg=function(){return pmt(this)},h.qg=function(){return pmt(this)};var XE,_de,QE,LDe,MDe,DDe,IW,Ade,IDe,ODe=Br(cu,"LayeringStrategy",265,Hr,s3n,l1n),ATt;D(390,22,{3:1,34:1,22:1,390:1},Rse);var Lde,NDe,OW,PDe=Br(cu,"LongEdgeOrderingStrategy",390,Hr,hbn,h1n),LTt;D(203,22,{3:1,34:1,22:1,203:1},Tq);var K6,W6,NW,Mde,Dde=Br(cu,"NodeFlexibility",203,Hr,ymn,f1n),MTt;D(323,22,{3:1,34:1,22:1,323:1,188:1,196:1},wO),h.dg=function(){return sbt(this)},h.qg=function(){return sbt(this)};var iM,Ide,Ode,sM,BDe,FDe=Br(cu,"NodePlacementStrategy",323,Hr,hvn,d1n),DTt;D(243,22,{3:1,34:1,22:1,243:1},dy);var RDe,C3,E4,BB,jDe,$De,FB,zDe,PW,BW,qDe=Br(cu,"NodePromotionStrategy",243,Hr,M3n,g1n),ITt;D(284,22,{3:1,34:1,22:1,284:1},Eq);var HDe,I2,Nde,Pde,UDe=Br(cu,"OrderingStrategy",284,Hr,xmn,p1n),OTt;D(430,22,{3:1,34:1,22:1,430:1},nye);var Bde,Fde,VDe=Br(cu,"PortSortingStrategy",430,Hr,d2n,b1n),NTt;D(463,22,{3:1,34:1,22:1,463:1},jse);var Fl,$u,aM,PTt=Br(cu,"PortType",463,Hr,fbn,m1n),BTt;D(387,22,{3:1,34:1,22:1,387:1},$se);var GDe,Rde,KDe,WDe=Br(cu,"SelfLoopDistributionStrategy",387,Hr,dbn,v1n),FTt;D(349,22,{3:1,34:1,22:1,349:1},zse);var jde,RB,$de,YDe=Br(cu,"SelfLoopOrderingStrategy",349,Hr,gbn,w1n),RTt;D(312,1,{312:1},Qvt),I(cu,"Spacings",312),D(350,22,{3:1,34:1,22:1,350:1},qse);var zde,XDe,oM,QDe=Br(cu,"SplineRoutingMode",350,Hr,pbn,y1n),jTt;D(352,22,{3:1,34:1,22:1,352:1},Hse);var qde,JDe,ZDe,eIe=Br(cu,"ValidifyStrategy",352,Hr,bbn,x1n),$Tt;D(388,22,{3:1,34:1,22:1,388:1},Use);var C4,Hde,JE,tIe=Br(cu,"WrappingStrategy",388,Hr,mbn,k1n),zTt;D(1398,1,Vo,sie),h.rg=function(t){return l(t,36),qTt},h.Kf=function(t,n){tMn(this,l(t,36),n)};var qTt;I(BG,"DepthFirstCycleBreaker",1398),D(793,1,Vo,p5e),h.rg=function(t){return l(t,36),HTt},h.Kf=function(t,n){iOn(this,l(t,36),n)},h.sg=function(t){return l(Rt(t,dV(this.d,t.c.length)),10)};var HTt;I(BG,"GreedyCycleBreaker",793),D(1401,793,Vo,bnt),h.sg=function(t){var n,r,s,o;for(o=null,n=Ni,s=new K(t);s.a<s.c.c.length;)r=l(re(s),10),rs(r,(ft(),Yi))&&l(Q(r,Yi),17).a<n&&(n=l(Q(r,Yi),17).a,o=r);return o||l(Rt(t,dV(this.d,t.c.length)),10)},I(BG,"GreedyModelOrderCycleBreaker",1401),D(1399,1,Vo,gz),h.rg=function(t){return l(t,36),UTt},h.Kf=function(t,n){lMn(this,l(t,36),n)};var UTt;I(BG,"InteractiveCycleBreaker",1399),D(1400,1,Vo,v8),h.rg=function(t){return l(t,36),VTt},h.Kf=function(t,n){yMn(this,l(t,36),n)},h.a=0,h.b=0;var VTt;I(BG,"ModelOrderCycleBreaker",1400),D(1413,1,Vo,dz),h.rg=function(t){return l(t,36),GTt},h.Kf=function(t,n){uIn(this,l(t,36),n)};var GTt;I(mp,"BreadthFirstModelOrderLayerer",1413),D(1414,1,ii,Zee),h.Ne=function(t,n){return Nkn(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(mp,"BreadthFirstModelOrderLayerer/lambda$0$Type",1414),D(1404,1,Vo,Het),h.rg=function(t){return l(t,36),KTt},h.Kf=function(t,n){uOn(this,l(t,36),n)};var KTt;I(mp,"CoffmanGrahamLayerer",1404),D(1405,1,ii,sXe),h.Ne=function(t,n){return yTn(this.a,l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(mp,"CoffmanGrahamLayerer/0methodref$compareNodesInTopo$Type",1405),D(1406,1,ii,aXe),h.Ne=function(t,n){return ygn(this.a,l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(mp,"CoffmanGrahamLayerer/lambda$1$Type",1406),D(1415,1,Vo,GI),h.rg=function(t){return l(t,36),WTt},h.Kf=function(t,n){XIn(this,l(t,36),n)},h.c=0,h.e=0;var WTt;I(mp,"DepthFirstModelOrderLayerer",1415),D(1416,1,ii,ete),h.Ne=function(t,n){return Pkn(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(mp,"DepthFirstModelOrderLayerer/lambda$0$Type",1416),D(1407,1,Vo,tte),h.rg=function(t){return l(t,36),hi(hi(hi(new Js,(so(),w0),(po(),S1e)),xg,d4),pu,f4)},h.Kf=function(t,n){kIn(l(t,36),n)},I(mp,"InteractiveLayerer",1407),D(578,1,{578:1},kJe),h.a=0,h.c=0,I(mp,"InteractiveLayerer/LayerSpan",578),D(1403,1,Vo,QS),h.rg=function(t){return l(t,36),YTt},h.Kf=function(t,n){XCn(this,l(t,36),n)};var YTt;I(mp,"LongestPathLayerer",1403),D(1412,1,Vo,XS),h.rg=function(t){return l(t,36),XTt},h.Kf=function(t,n){ySn(this,l(t,36),n)};var XTt;I(mp,"LongestPathSourceLayerer",1412),D(1410,1,Vo,KI),h.rg=function(t){return l(t,36),hi(hi(hi(new Js,(so(),w0),(po(),O6)),xg,d4),pu,f4)},h.Kf=function(t,n){DIn(this,l(t,36),n)},h.a=0,h.b=0,h.d=0;var nIe,rIe;I(mp,"MinWidthLayerer",1410),D(1411,1,ii,oXe),h.Ne=function(t,n){return J3n(this,l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(mp,"MinWidthLayerer/MinOutgoingEdgesComparator",1411),D(1402,1,Vo,aie),h.rg=function(t){return l(t,36),QTt},h.Kf=function(t,n){VMn(this,l(t,36),n)};var QTt;I(mp,"NetworkSimplexLayerer",1402),D(1408,1,Vo,mit),h.rg=function(t){return l(t,36),hi(hi(hi(new Js,(so(),w0),(po(),O6)),xg,d4),pu,f4)},h.Kf=function(t,n){LDn(this,l(t,36),n)},h.d=0,h.f=0,h.g=0,h.i=0,h.s=0,h.t=0,h.u=0,I(mp,"StretchWidthLayerer",1408),D(1409,1,ii,nte),h.Ne=function(t,n){return Lvn(l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(mp,"StretchWidthLayerer/1",1409),D(413,1,_Ce),h.gg=function(t,n,r,s,o,f){},h.ug=function(t,n,r){return qmt(this,t,n,r)},h.fg=function(){this.g=We(j4,jyt,28,this.d,15,1),this.f=We(j4,jyt,28,this.d,15,1)},h.hg=function(t,n){this.e[t]=We(Ur,fi,28,n[t].length,15,1)},h.ig=function(t,n,r){var s;s=r[t][n],s.p=n,this.e[t][n]=n},h.jg=function(t,n,r,s){l(Rt(s[t][n].j,r),12).p=this.d++},h.b=0,h.c=0,h.d=0,I(El,"AbstractBarycenterPortDistributor",413),D(1698,1,ii,cXe),h.Ne=function(t,n){return C6n(this.a,l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(El,"AbstractBarycenterPortDistributor/lambda$0$Type",1698),D(832,1,YP,y6e),h.gg=function(t,n,r,s,o,f){},h.ig=function(t,n,r){},h.jg=function(t,n,r,s){},h.eg=function(){return!1},h.fg=function(){this.c=this.e.a,this.g=this.f.g},h.hg=function(t,n){n[t][0].c.p=t},h.kg=function(){return!1},h.vg=function(t,n,r,s){r?Vgt(this,t):(Ygt(this,t,s),lwt(this,t,n)),t.c.length>1&&(Ft(Pt(Q(Ja((Sn(0,t.c.length),l(t.c[0],10))),(Nt(),w3))))?vbt(t,this.d,l(this,669)):(Cn(),Gs(t,this.d)),w0t(this.e,t))},h.lg=function(t,n,r,s){var o,f,g,w,T,C,L;for(n!=Bst(r,t.length)&&(f=t[n-(r?1:-1)],U6e(this.f,f,r?(qo(),$u):(qo(),Fl))),o=t[n][0],L=!s||o.k==(Jn(),Ks),C=O1(t[n]),this.vg(C,L,!1,r),g=0,T=new K(C);T.a<T.c.c.length;)w=l(re(T),10),t[n][g++]=w;return!1},h.mg=function(t,n){var r,s,o,f,g;for(g=Bst(n,t.length),f=O1(t[g]),this.vg(f,!1,!0,n),r=0,o=new K(f);o.a<o.c.c.length;)s=l(re(o),10),t[g][r++]=s;return!1},I(El,"BarycenterHeuristic",832),D(667,1,{667:1},hXe),h.Ib=function(){return"BarycenterState [node="+this.c+", summedWeight="+this.d+", degree="+this.b+", barycenter="+this.a+", visited="+this.e+"]"},h.b=0,h.d=0,h.e=!1;var JTt=I(El,"BarycenterHeuristic/BarycenterState",667);D(1865,1,ii,uXe),h.Ne=function(t,n){return wxn(this.a,l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(El,"BarycenterHeuristic/lambda$0$Type",1865),D(831,1,YP,Zxe),h.fg=function(){},h.gg=function(t,n,r,s,o,f){},h.jg=function(t,n,r,s){},h.hg=function(t,n){this.a[t]=We(JTt,{3:1,4:1,5:1,2117:1},667,n[t].length,0,1),this.b[t]=We(ZTt,{3:1,4:1,5:1,2118:1},239,n[t].length,0,1)},h.ig=function(t,n,r){Mdt(this,r[t][n],!0)},h.c=!1,I(El,"ForsterConstraintResolver",831),D(239,1,{239:1},Tot,Xvt),h.Ib=function(){var t,n;for(n=new lb,n.a+="[",t=0;t<this.d.length;t++)li(n,Vdt(this.d[t])),L1(this.g,this.d[0]).a!=null&&li(li((n.a+="<",n),Vln(L1(this.g,this.d[0]).a)),">"),t<this.d.length-1&&(n.a+=To);return(n.a+="]",n).a},h.a=0,h.c=0,h.f=0;var ZTt=I(El,"ForsterConstraintResolver/ConstraintGroup",239);D(1860,1,hr,lXe),h.Cd=function(t){Mdt(this.a,l(t,10),!1)},I(El,"ForsterConstraintResolver/lambda$0$Type",1860),D(219,1,{219:1,230:1},Zvt),h.gg=function(t,n,r,s,o,f){},h.hg=function(t,n){},h.fg=function(){this.r=We(Ur,fi,28,this.n,15,1)},h.ig=function(t,n,r){var s,o;o=r[t][n],s=o.e,s&&wt(this.b,s)},h.jg=function(t,n,r,s){++this.n},h.Ib=function(){return hwt(this.e,new Ys)},h.g=!1,h.i=!1,h.n=0,h.s=!1,I(El,"GraphInfoHolder",219),D(1905,1,YP,rte),h.gg=function(t,n,r,s,o,f){},h.hg=function(t,n){},h.jg=function(t,n,r,s){},h.ug=function(t,n,r){return r&&n>0?Eoe(this.a,t[n-1],t[n]):!r&&n<t.length-1?Eoe(this.a,t[n],t[n+1]):vce(this.a,t[n],r?(_t(),Zn):(_t(),sr)),JEn(this,t,n,r)},h.fg=function(){this.d=We(Ur,fi,28,this.c,15,1),this.a=new $O(this.d)},h.ig=function(t,n,r){var s;s=r[t][n],this.c+=s.j.c.length},h.c=0,I(El,"GreedyPortDistributor",1905),D(1421,1,Vo,hie),h.rg=function(t){return b4n(l(t,36))},h.Kf=function(t,n){hDn(l(t,36),n)};var eEt;I(El,"InteractiveCrossingMinimizer",1421),D(1422,1,ii,dXe),h.Ne=function(t,n){return exn(this,l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(El,"InteractiveCrossingMinimizer/1",1422),D(514,1,{514:1,106:1,47:1},cse),h.rg=function(t){var n;return l(t,36),n=$q(tEt),hi(n,(so(),pu),(po(),VK)),n},h.Kf=function(t,n){vAn(this,l(t,36),n)},h.e=0;var tEt;I(El,"LayerSweepCrossingMinimizer",514),D(1418,1,hr,gXe),h.Cd=function(t){cLn(this.a,l(t,219))},I(El,"LayerSweepCrossingMinimizer/0methodref$compareDifferentRandomizedLayouts$Type",1418),D(1419,1,hr,pXe),h.Cd=function(t){g4n(this.a,l(t,219))},I(El,"LayerSweepCrossingMinimizer/1methodref$minimizeCrossingsNoCounter$Type",1419),D(1420,1,hr,bXe),h.Cd=function(t){Avt(this.a,l(t,219))},I(El,"LayerSweepCrossingMinimizer/2methodref$minimizeCrossingsWithCounter$Type",1420),D(464,22,{3:1,34:1,22:1,464:1},Vse);var jB,cM,FW,nEt=Br(El,"LayerSweepCrossingMinimizer/CrossMinType",464,Hr,vbn,T1n),rEt;D(1417,1,ei,ite),h.Mb=function(t){return z7e(),l(t,30).a.c.length==0},I(El,"LayerSweepCrossingMinimizer/lambda$0$Type",1417),D(1862,1,YP,tct),h.fg=function(){},h.gg=function(t,n,r,s,o,f){},h.jg=function(t,n,r,s){},h.hg=function(t,n){n[t][0].c.p=t,this.b[t]=We(iEt,{3:1,4:1,5:1,2043:1},668,n[t].length,0,1)},h.ig=function(t,n,r){var s;s=r[t][n],s.p=n,Ss(this.b[t],n,new kI)},I(El,"LayerSweepTypeDecider",1862),D(668,1,{668:1},kI),h.Ib=function(){return"NodeInfo [connectedEdges="+this.a+", hierarchicalInfluence="+this.b+", randomInfluence="+this.c+"]"},h.a=0,h.b=0,h.c=0;var iEt=I(El,"LayerSweepTypeDecider/NodeInfo",668);D(1863,1,Ld,ste),h.Lb=function(t){return z_(new N1(l(t,12).b))},h.Fb=function(t){return this===t},h.Mb=function(t){return z_(new N1(l(t,12).b))},I(El,"LayerSweepTypeDecider/lambda$0$Type",1863),D(1864,1,Ld,J9),h.Lb=function(t){return z_(new N1(l(t,12).b))},h.Fb=function(t){return this===t},h.Mb=function(t){return z_(new N1(l(t,12).b))},I(El,"LayerSweepTypeDecider/lambda$1$Type",1864),D(1906,413,_Ce,TZe),h.tg=function(t,n,r){var s,o,f,g,w,T,C,L,F;switch(C=this.g,r.g){case 1:{for(s=0,o=0,T=new K(t.j);T.a<T.c.c.length;)g=l(re(T),12),g.e.c.length!=0&&(++s,g.j==(_t(),Xn)&&++o);for(f=n+o,F=n+s,w=Vw(t,(qo(),Fl)).Kc();w.Ob();)g=l(w.Pb(),12),g.j==(_t(),Xn)?(C[g.p]=f,--f):(C[g.p]=F,--F);return s}case 2:{for(L=0,w=Vw(t,(qo(),$u)).Kc();w.Ob();)g=l(w.Pb(),12),++L,C[g.p]=n+L;return L}default:throw ue(new rO)}},I(El,"LayerTotalPortDistributor",1906),D(669,832,{669:1,230:1},Gft),h.vg=function(t,n,r,s){r?Vgt(this,t):(Ygt(this,t,s),lwt(this,t,n)),t.c.length>1&&(Ft(Pt(Q(Ja((Sn(0,t.c.length),l(t.c[0],10))),(Nt(),w3))))?vbt(t,this.d,this):(Cn(),Gs(t,this.d)),Ft(Pt(Q(Ja((Sn(0,t.c.length),l(t.c[0],10))),w3)))||w0t(this.e,t))},I(El,"ModelOrderBarycenterHeuristic",669),D(1866,1,ii,mXe),h.Ne=function(t,n){return ekn(this.a,l(t,10),l(n,10))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(El,"ModelOrderBarycenterHeuristic/lambda$0$Type",1866),D(1423,1,Vo,fie),h.rg=function(t){var n;return l(t,36),n=$q(sEt),hi(n,(so(),pu),(po(),VK)),n},h.Kf=function(t,n){Fpn((l(t,36),n))};var sEt;I(El,"NoCrossingMinimizer",1423),D(809,413,_Ce,C3e),h.tg=function(t,n,r){var s,o,f,g,w,T,C,L,F,z,V;switch(F=this.g,r.g){case 1:{for(o=0,f=0,L=new K(t.j);L.a<L.c.c.length;)T=l(re(L),12),T.e.c.length!=0&&(++o,T.j==(_t(),Xn)&&++f);for(s=1/(o+1),g=n+f*s,V=n+1-s,C=Vw(t,(qo(),Fl)).Kc();C.Ob();)T=l(C.Pb(),12),T.j==(_t(),Xn)?(F[T.p]=g,g-=s):(F[T.p]=V,V-=s);break}case 2:{for(w=0,L=new K(t.j);L.a<L.c.c.length;)T=l(re(L),12),T.g.c.length==0||++w;for(s=1/(w+1),z=n+s,C=Vw(t,(qo(),$u)).Kc();C.Ob();)T=l(C.Pb(),12),F[T.p]=z,z+=s;break}default:throw ue(new Wn("Port type is undefined"))}return 1},I(El,"NodeRelativePortDistributor",809),D(822,1,{},dat,_pt),I(El,"SweepCopy",822),D(1861,1,YP,hdt),h.hg=function(t,n){},h.fg=function(){var t;t=We(Ur,fi,28,this.f,15,1),this.d=new CXe(t),this.a=new $O(t)},h.gg=function(t,n,r,s,o,f){var g;g=l(Rt(f[t][n].j,r),12),o.c==g&&o.c.i.c==o.d.i.c&&++this.e[t]},h.ig=function(t,n,r){var s;s=r[t][n],this.c[t]=this.c[t]|s.k==(Jn(),Su)},h.jg=function(t,n,r,s){var o;o=l(Rt(s[t][n].j,r),12),o.p=this.f++,o.g.c.length+o.e.c.length>1&&(o.j==(_t(),sr)?this.b[t]=!0:o.j==Zn&&t>0&&(this.b[t-1]=!0))},h.f=0,I(wg,"AllCrossingsCounter",1861),D(595,1,{},DU),h.b=0,h.d=0,I(wg,"BinaryIndexedTree",595),D(532,1,{},$O);var iIe,RW;I(wg,"CrossingsCounter",532),D(1950,1,ii,vXe),h.Ne=function(t,n){return ugn(this.a,l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(wg,"CrossingsCounter/lambda$0$Type",1950),D(1951,1,ii,wXe),h.Ne=function(t,n){return lgn(this.a,l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(wg,"CrossingsCounter/lambda$1$Type",1951),D(1952,1,ii,yXe),h.Ne=function(t,n){return hgn(this.a,l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(wg,"CrossingsCounter/lambda$2$Type",1952),D(1953,1,ii,xXe),h.Ne=function(t,n){return fgn(this.a,l(t,12),l(n,12))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(wg,"CrossingsCounter/lambda$3$Type",1953),D(1954,1,hr,kXe),h.Cd=function(t){fwn(this.a,l(t,12))},I(wg,"CrossingsCounter/lambda$4$Type",1954),D(1955,1,ei,TXe),h.Mb=function(t){return Fln(this.a,l(t,12))},I(wg,"CrossingsCounter/lambda$5$Type",1955),D(1956,1,hr,EXe),h.Cd=function(t){ont(this,t)},I(wg,"CrossingsCounter/lambda$6$Type",1956),D(1957,1,hr,vtt),h.Cd=function(t){var n;zk(),Tb(this.b,(n=this.a,l(t,12),n))},I(wg,"CrossingsCounter/lambda$7$Type",1957),D(839,1,Ld,r$),h.Lb=function(t){return zk(),rs(l(t,12),(ft(),Bl))},h.Fb=function(t){return this===t},h.Mb=function(t){return zk(),rs(l(t,12),(ft(),Bl))},I(wg,"CrossingsCounter/lambda$8$Type",839),D(1949,1,{},CXe),I(wg,"HyperedgeCrossingsCounter",1949),D(478,1,{34:1,478:1},xit),h.Fd=function(t){return h6n(this,l(t,478))},h.b=0,h.c=0,h.e=0,h.f=0;var VOn=I(wg,"HyperedgeCrossingsCounter/Hyperedge",478);D(374,1,{34:1,374:1},IH),h.Fd=function(t){return CEn(this,l(t,374))},h.b=0,h.c=0;var aEt=I(wg,"HyperedgeCrossingsCounter/HyperedgeCorner",374);D(531,22,{3:1,34:1,22:1,531:1},rye);var uM,lM,oEt=Br(wg,"HyperedgeCrossingsCounter/HyperedgeCorner/Type",531,Hr,g2n,E1n),cEt;D(1425,1,Vo,die),h.rg=function(t){return l(Q(l(t,36),(ft(),_u)),21).Hc((Ho(),mf))?uEt:null},h.Kf=function(t,n){B8n(this,l(t,36),n)};var uEt;I(Go,"InteractiveNodePlacer",1425),D(1426,1,Vo,gie),h.rg=function(t){return l(Q(l(t,36),(ft(),_u)),21).Hc((Ho(),mf))?lEt:null},h.Kf=function(t,n){y7n(this,l(t,36),n)};var lEt,jW,$W;I(Go,"LinearSegmentsNodePlacer",1426),D(261,1,{34:1,261:1},Zwe),h.Fd=function(t){return Yun(this,l(t,261))},h.Fb=function(t){var n;return De(t,261)?(n=l(t,261),this.b==n.b):!1},h.Hb=function(){return this.b},h.Ib=function(){return"ls"+Ob(this.e)},h.a=0,h.b=0,h.c=-1,h.d=-1,h.g=0;var hEt=I(Go,"LinearSegmentsNodePlacer/LinearSegment",261);D(1428,1,Vo,Gst),h.rg=function(t){return l(Q(l(t,36),(ft(),_u)),21).Hc((Ho(),mf))?fEt:null},h.Kf=function(t,n){YIn(this,l(t,36),n)},h.b=0,h.g=0;var fEt;I(Go,"NetworkSimplexPlacer",1428),D(1447,1,ii,ate),h.Ne=function(t,n){return iu(l(t,17).a,l(n,17).a)},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Go,"NetworkSimplexPlacer/0methodref$compare$Type",1447),D(1449,1,ii,ote),h.Ne=function(t,n){return iu(l(t,17).a,l(n,17).a)},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Go,"NetworkSimplexPlacer/1methodref$compare$Type",1449),D(655,1,{655:1},wtt);var GOn=I(Go,"NetworkSimplexPlacer/EdgeRep",655);D(412,1,{412:1},Y5e),h.b=!1;var KOn=I(Go,"NetworkSimplexPlacer/NodeRep",412);D(515,13,{3:1,4:1,20:1,31:1,56:1,13:1,16:1,15:1,59:1,515:1},_Je),I(Go,"NetworkSimplexPlacer/Path",515),D(1429,1,{},cte),h.Kb=function(t){return l(t,18).d.i.k},I(Go,"NetworkSimplexPlacer/Path/lambda$0$Type",1429),D(1430,1,ei,ute),h.Mb=function(t){return l(t,273)==(Jn(),Aa)},I(Go,"NetworkSimplexPlacer/Path/lambda$1$Type",1430),D(1431,1,{},lte),h.Kb=function(t){return l(t,18).d.i},I(Go,"NetworkSimplexPlacer/Path/lambda$2$Type",1431),D(1432,1,ei,SXe),h.Mb=function(t){return sit(cdt(l(t,10)))},I(Go,"NetworkSimplexPlacer/Path/lambda$3$Type",1432),D(1433,1,ei,hte),h.Mb=function(t){return Kdn(l(t,12))},I(Go,"NetworkSimplexPlacer/lambda$0$Type",1433),D(1434,1,hr,ytt),h.Cd=function(t){Ahn(this.a,this.b,l(t,12))},I(Go,"NetworkSimplexPlacer/lambda$1$Type",1434),D(1443,1,hr,_Xe),h.Cd=function(t){eTn(this.a,l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$10$Type",1443),D(1444,1,{},fte),h.Kb=function(t){return Sh(),new vn(null,new kn(l(t,30).a,16))},I(Go,"NetworkSimplexPlacer/lambda$11$Type",1444),D(1445,1,hr,AXe),h.Cd=function(t){WSn(this.a,l(t,10))},I(Go,"NetworkSimplexPlacer/lambda$12$Type",1445),D(1446,1,{},dte),h.Kb=function(t){return Sh(),bt(l(t,125).e)},I(Go,"NetworkSimplexPlacer/lambda$13$Type",1446),D(1448,1,{},gte),h.Kb=function(t){return Sh(),bt(l(t,125).e)},I(Go,"NetworkSimplexPlacer/lambda$15$Type",1448),D(1450,1,ei,pte),h.Mb=function(t){return Sh(),l(t,412).c.k==(Jn(),Bs)},I(Go,"NetworkSimplexPlacer/lambda$17$Type",1450),D(1451,1,ei,bte),h.Mb=function(t){return Sh(),l(t,412).c.j.c.length>1},I(Go,"NetworkSimplexPlacer/lambda$18$Type",1451),D(1452,1,hr,eot),h.Cd=function(t){O5n(this.c,this.b,this.d,this.a,l(t,412))},h.c=0,h.d=0,I(Go,"NetworkSimplexPlacer/lambda$19$Type",1452),D(1435,1,{},mte),h.Kb=function(t){return Sh(),new vn(null,new kn(l(t,30).a,16))},I(Go,"NetworkSimplexPlacer/lambda$2$Type",1435),D(1453,1,hr,LXe),h.Cd=function(t){Mhn(this.a,l(t,12))},h.a=0,I(Go,"NetworkSimplexPlacer/lambda$20$Type",1453),D(1454,1,{},vte),h.Kb=function(t){return Sh(),new vn(null,new kn(l(t,30).a,16))},I(Go,"NetworkSimplexPlacer/lambda$21$Type",1454),D(1455,1,hr,MXe),h.Cd=function(t){qhn(this.a,l(t,10))},I(Go,"NetworkSimplexPlacer/lambda$22$Type",1455),D(1456,1,ei,wte),h.Mb=function(t){return sit(t)},I(Go,"NetworkSimplexPlacer/lambda$23$Type",1456),D(1457,1,{},yte),h.Kb=function(t){return Sh(),new vn(null,new kn(l(t,30).a,16))},I(Go,"NetworkSimplexPlacer/lambda$24$Type",1457),D(1458,1,ei,DXe),h.Mb=function(t){return Qln(this.a,l(t,10))},I(Go,"NetworkSimplexPlacer/lambda$25$Type",1458),D(1459,1,hr,xtt),h.Cd=function(t){ikn(this.a,this.b,l(t,10))},I(Go,"NetworkSimplexPlacer/lambda$26$Type",1459),D(1460,1,ei,a8),h.Mb=function(t){return Sh(),!Ao(l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$27$Type",1460),D(1461,1,ei,i$),h.Mb=function(t){return Sh(),!Ao(l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$28$Type",1461),D(1462,1,{},IXe),h.Ve=function(t,n){return Lhn(this.a,l(t,30),l(n,30))},I(Go,"NetworkSimplexPlacer/lambda$29$Type",1462),D(1436,1,{},xte),h.Kb=function(t){return Sh(),new vn(null,new Cw(new lr(fr(qs(l(t,10)).a.Kc(),new j))))},I(Go,"NetworkSimplexPlacer/lambda$3$Type",1436),D(1437,1,ei,kte),h.Mb=function(t){return Sh(),smn(l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$4$Type",1437),D(1438,1,hr,OXe),h.Cd=function(t){rLn(this.a,l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$5$Type",1438),D(1439,1,{},Tte),h.Kb=function(t){return Sh(),new vn(null,new kn(l(t,30).a,16))},I(Go,"NetworkSimplexPlacer/lambda$6$Type",1439),D(1440,1,ei,s$),h.Mb=function(t){return Sh(),l(t,10).k==(Jn(),Bs)},I(Go,"NetworkSimplexPlacer/lambda$7$Type",1440),D(1441,1,{},Ete),h.Kb=function(t){return Sh(),new vn(null,new Cw(new lr(fr(up(l(t,10)).a.Kc(),new j))))},I(Go,"NetworkSimplexPlacer/lambda$8$Type",1441),D(1442,1,ei,CS),h.Mb=function(t){return Sh(),Gdn(l(t,18))},I(Go,"NetworkSimplexPlacer/lambda$9$Type",1442),D(1424,1,Vo,pie),h.rg=function(t){return l(Q(l(t,36),(ft(),_u)),21).Hc((Ho(),mf))?dEt:null},h.Kf=function(t,n){FLn(l(t,36),n)};var dEt;I(Go,"SimpleNodePlacer",1424),D(185,1,{185:1},g6),h.Ib=function(){var t;return t="",this.c==(xd(),S3)?t+=Ix:this.c==O2&&(t+=Dx),this.o==(D1(),_v)?t+=Ohe:this.o==Y1?t+="UP":t+="BALANCED",t},I(zb,"BKAlignedLayout",185),D(523,22,{3:1,34:1,22:1,523:1},iye);var O2,S3,gEt=Br(zb,"BKAlignedLayout/HDirection",523,Hr,b2n,C1n),pEt;D(522,22,{3:1,34:1,22:1,522:1},sye);var _v,Y1,bEt=Br(zb,"BKAlignedLayout/VDirection",522,Hr,m2n,S1n),mEt;D(1699,1,{},ktt),I(zb,"BKAligner",1699),D(1702,1,{},Ogt),I(zb,"BKCompactor",1702),D(663,1,{663:1},Cte),h.a=0,I(zb,"BKCompactor/ClassEdge",663),D(467,1,{467:1},EJe),h.a=null,h.b=0,I(zb,"BKCompactor/ClassNode",467),D(1427,1,Vo,Stt),h.rg=function(t){return l(Q(l(t,36),(ft(),_u)),21).Hc((Ho(),mf))?vEt:null},h.Kf=function(t,n){dOn(this,l(t,36),n)},h.d=!1;var vEt;I(zb,"BKNodePlacer",1427),D(1700,1,{},Ste),h.d=0,I(zb,"NeighborhoodInformation",1700),D(1701,1,ii,NXe),h.Ne=function(t,n){return zwn(this,l(t,42),l(n,42))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(zb,"NeighborhoodInformation/NeighborComparator",1701),D(823,1,{}),I(zb,"ThresholdStrategy",823),D(1825,823,{},CJe),h.wg=function(t,n,r){return this.a.o==(D1(),Y1)?gs:oa},h.xg=function(){},I(zb,"ThresholdStrategy/NullThresholdStrategy",1825),D(587,1,{587:1},_tt),h.c=!1,h.d=!1,I(zb,"ThresholdStrategy/Postprocessable",587),D(1826,823,{},SJe),h.wg=function(t,n,r){var s,o,f;return o=n==r,s=this.a.a[r.p]==n,o||s?(f=t,this.a.c==(xd(),S3)?(o&&(f=Ile(this,n,!0)),!isNaN(f)&&!isFinite(f)&&s&&(f=Ile(this,r,!1))):(o&&(f=Ile(this,n,!0)),!isNaN(f)&&!isFinite(f)&&s&&(f=Ile(this,r,!1))),f):t},h.xg=function(){for(var t,n,r,s,o;this.d.b!=0;)o=l(I2n(this.d),587),s=svt(this,o),s.a&&(t=s.a,r=Ft(this.a.f[this.a.g[o.b.p].p]),!(!r&&!Ao(t)&&t.c.i.c==t.d.i.c)&&(n=lbt(this,o),n||ehn(this.e,o)));for(;this.e.a.c.length!=0;)lbt(this,l(h1t(this.e),587))},I(zb,"ThresholdStrategy/SimpleThresholdStrategy",1826),D(645,1,{645:1,188:1,196:1},_te),h.dg=function(){return y0t(this)},h.qg=function(){return y0t(this)};var Ude;I(Dfe,"EdgeRouterFactory",645),D(1485,1,Vo,bie),h.rg=function(t){return ESn(l(t,36))},h.Kf=function(t,n){ULn(l(t,36),n)};var wEt,yEt,xEt,kEt,TEt,sIe,EEt,CEt;I(Dfe,"OrthogonalEdgeRouter",1485),D(1478,1,Vo,Ctt),h.rg=function(t){return G8n(l(t,36))},h.Kf=function(t,n){dIn(this,l(t,36),n)};var SEt,_Et,AEt,LEt,$B,MEt;I(Dfe,"PolylineEdgeRouter",1478),D(1479,1,Ld,Lte),h.Lb=function(t){return G7e(l(t,10))},h.Fb=function(t){return this===t},h.Mb=function(t){return G7e(l(t,10))},I(Dfe,"PolylineEdgeRouter/1",1479),D(1872,1,ei,Mte),h.Mb=function(t){return l(t,132).c==(Q0(),Qb)},I(r1,"HyperEdgeCycleDetector/lambda$0$Type",1872),D(1873,1,{},Dte),h.Ze=function(t){return l(t,132).d},I(r1,"HyperEdgeCycleDetector/lambda$1$Type",1873),D(1874,1,ei,Ite),h.Mb=function(t){return l(t,132).c==(Q0(),Qb)},I(r1,"HyperEdgeCycleDetector/lambda$2$Type",1874),D(1875,1,{},Ote),h.Ze=function(t){return l(t,132).d},I(r1,"HyperEdgeCycleDetector/lambda$3$Type",1875),D(1876,1,{},Nte),h.Ze=function(t){return l(t,132).d},I(r1,"HyperEdgeCycleDetector/lambda$4$Type",1876),D(1877,1,{},Ate),h.Ze=function(t){return l(t,132).d},I(r1,"HyperEdgeCycleDetector/lambda$5$Type",1877),D(118,1,{34:1,118:1},LN),h.Fd=function(t){return Xun(this,l(t,118))},h.Fb=function(t){var n;return De(t,118)?(n=l(t,118),this.g==n.g):!1},h.Hb=function(){return this.g},h.Ib=function(){var t,n,r,s;for(t=new Eh("{"),s=new K(this.n);s.a<s.c.c.length;)r=l(re(s),12),n=QN(r.i),n==null&&(n="n"+Iit(r.i)),t.a+=""+n,s.a<s.c.c.length&&(t.a+=",");return t.a+="}",t.a},h.a=0,h.b=0,h.c=NaN,h.d=0,h.g=0,h.i=0,h.o=0,h.s=NaN,I(r1,"HyperEdgeSegment",118),D(132,1,{132:1},Hm),h.Ib=function(){return this.a+"->"+this.b+" ("+pfn(this.c)+")"},h.d=0,I(r1,"HyperEdgeSegmentDependency",132),D(528,22,{3:1,34:1,22:1,528:1},aye);var Qb,S4,DEt=Br(r1,"HyperEdgeSegmentDependency/DependencyType",528,Hr,v2n,_1n),IEt;D(1878,1,{},PXe),I(r1,"HyperEdgeSegmentSplitter",1878),D(1879,1,{},_Ze),h.a=0,h.b=0,I(r1,"HyperEdgeSegmentSplitter/AreaRating",1879),D(339,1,{339:1},Iae),h.a=0,h.b=0,h.c=0,I(r1,"HyperEdgeSegmentSplitter/FreeArea",339),D(1880,1,ii,o8),h.Ne=function(t,n){return p0n(l(t,118),l(n,118))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(r1,"HyperEdgeSegmentSplitter/lambda$0$Type",1880),D(1881,1,hr,tot),h.Cd=function(t){Hmn(this.a,this.d,this.c,this.b,l(t,118))},h.b=0,I(r1,"HyperEdgeSegmentSplitter/lambda$1$Type",1881),D(1882,1,{},Pte),h.Kb=function(t){return new vn(null,new kn(l(t,118).e,16))},I(r1,"HyperEdgeSegmentSplitter/lambda$2$Type",1882),D(1883,1,{},Bte),h.Kb=function(t){return new vn(null,new kn(l(t,118).j,16))},I(r1,"HyperEdgeSegmentSplitter/lambda$3$Type",1883),D(1884,1,{},Fte),h.Ye=function(t){return ze(Ge(t))},I(r1,"HyperEdgeSegmentSplitter/lambda$4$Type",1884),D(664,1,{},roe),h.a=0,h.b=0,h.c=0,I(r1,"OrthogonalRoutingGenerator",664),D(1703,1,{},Rte),h.Kb=function(t){return new vn(null,new kn(l(t,118).e,16))},I(r1,"OrthogonalRoutingGenerator/lambda$0$Type",1703),D(1704,1,{},jte),h.Kb=function(t){return new vn(null,new kn(l(t,118).j,16))},I(r1,"OrthogonalRoutingGenerator/lambda$1$Type",1704),D(670,1,{}),I(Ife,"BaseRoutingDirectionStrategy",670),D(1870,670,{},MJe),h.yg=function(t,n,r){var s,o,f,g,w,T,C,L,F,z,V,J,te;if(!(t.r&&!t.q))for(L=n+t.o*r,C=new K(t.n);C.a<C.c.c.length;)for(T=l(re(C),12),F=Bc(he(le(Ca,1),dt,8,0,[T.i.n,T.n,T.a])).a,w=new K(T.g);w.a<w.c.c.length;)g=l(re(w),18),Ao(g)||(J=g.d,te=Bc(he(le(Ca,1),dt,8,0,[J.i.n,J.n,J.a])).a,b.Math.abs(F-te)>Dd&&(f=L,o=t,s=new lt(F,f),ci(g.a,s),Qw(this,g,o,s,!1),z=t.r,z&&(V=ze(Ge(hf(z.e,0))),s=new lt(V,f),ci(g.a,s),Qw(this,g,o,s,!1),f=n+z.o*r,o=z,s=new lt(V,f),ci(g.a,s),Qw(this,g,o,s,!1)),s=new lt(te,f),ci(g.a,s),Qw(this,g,o,s,!1)))},h.zg=function(t){return t.i.n.a+t.n.a+t.a.a},h.Ag=function(){return _t(),Mr},h.Bg=function(){return _t(),Xn},I(Ife,"NorthToSouthRoutingStrategy",1870),D(1871,670,{},DJe),h.yg=function(t,n,r){var s,o,f,g,w,T,C,L,F,z,V,J,te;if(!(t.r&&!t.q))for(L=n-t.o*r,C=new K(t.n);C.a<C.c.c.length;)for(T=l(re(C),12),F=Bc(he(le(Ca,1),dt,8,0,[T.i.n,T.n,T.a])).a,w=new K(T.g);w.a<w.c.c.length;)g=l(re(w),18),Ao(g)||(J=g.d,te=Bc(he(le(Ca,1),dt,8,0,[J.i.n,J.n,J.a])).a,b.Math.abs(F-te)>Dd&&(f=L,o=t,s=new lt(F,f),ci(g.a,s),Qw(this,g,o,s,!1),z=t.r,z&&(V=ze(Ge(hf(z.e,0))),s=new lt(V,f),ci(g.a,s),Qw(this,g,o,s,!1),f=n-z.o*r,o=z,s=new lt(V,f),ci(g.a,s),Qw(this,g,o,s,!1)),s=new lt(te,f),ci(g.a,s),Qw(this,g,o,s,!1)))},h.zg=function(t){return t.i.n.a+t.n.a+t.a.a},h.Ag=function(){return _t(),Xn},h.Bg=function(){return _t(),Mr},I(Ife,"SouthToNorthRoutingStrategy",1871),D(1869,670,{},IJe),h.yg=function(t,n,r){var s,o,f,g,w,T,C,L,F,z,V,J,te;if(!(t.r&&!t.q))for(L=n+t.o*r,C=new K(t.n);C.a<C.c.c.length;)for(T=l(re(C),12),F=Bc(he(le(Ca,1),dt,8,0,[T.i.n,T.n,T.a])).b,w=new K(T.g);w.a<w.c.c.length;)g=l(re(w),18),Ao(g)||(J=g.d,te=Bc(he(le(Ca,1),dt,8,0,[J.i.n,J.n,J.a])).b,b.Math.abs(F-te)>Dd&&(f=L,o=t,s=new lt(f,F),ci(g.a,s),Qw(this,g,o,s,!0),z=t.r,z&&(V=ze(Ge(hf(z.e,0))),s=new lt(f,V),ci(g.a,s),Qw(this,g,o,s,!0),f=n+z.o*r,o=z,s=new lt(f,V),ci(g.a,s),Qw(this,g,o,s,!0)),s=new lt(f,te),ci(g.a,s),Qw(this,g,o,s,!0)))},h.zg=function(t){return t.i.n.b+t.n.b+t.a.b},h.Ag=function(){return _t(),sr},h.Bg=function(){return _t(),Zn},I(Ife,"WestToEastRoutingStrategy",1869),D(828,1,{},Uke),h.Ib=function(){return Ob(this.a)},h.b=0,h.c=!1,h.d=!1,h.f=0,I(n4,"NubSpline",828),D(418,1,{418:1},Hbt,Oot),I(n4,"NubSpline/PolarCP",418),D(1480,1,Vo,Cgt),h.rg=function(t){return Pxn(l(t,36))},h.Kf=function(t,n){IIn(this,l(t,36),n)};var OEt,NEt,PEt,BEt,FEt;I(n4,"SplineEdgeRouter",1480),D(274,1,{274:1},tU),h.Ib=function(){return this.a+" ->("+this.c+") "+this.b},h.c=0,I(n4,"SplineEdgeRouter/Dependency",274),D(465,22,{3:1,34:1,22:1,465:1},oye);var Jb,Y6,REt=Br(n4,"SplineEdgeRouter/SideToProcess",465,Hr,E2n,A1n),jEt;D(1481,1,ei,$te),h.Mb=function(t){return KA(),!l(t,131).o},I(n4,"SplineEdgeRouter/lambda$0$Type",1481),D(1482,1,{},zte),h.Ze=function(t){return KA(),l(t,131).v+1},I(n4,"SplineEdgeRouter/lambda$1$Type",1482),D(1483,1,hr,Att),h.Cd=function(t){Xdn(this.a,this.b,l(t,42))},I(n4,"SplineEdgeRouter/lambda$2$Type",1483),D(1484,1,hr,Ltt),h.Cd=function(t){Qdn(this.a,this.b,l(t,42))},I(n4,"SplineEdgeRouter/lambda$3$Type",1484),D(131,1,{34:1,131:1},r2t,Xke),h.Fd=function(t){return Zun(this,l(t,131))},h.b=0,h.e=!1,h.f=0,h.g=0,h.j=!1,h.k=!1,h.n=0,h.o=!1,h.p=!1,h.q=!1,h.s=0,h.u=0,h.v=0,h.F=0,I(n4,"SplineSegment",131),D(468,1,{468:1},qte),h.a=0,h.b=!1,h.c=!1,h.d=!1,h.e=!1,h.f=0,I(n4,"SplineSegment/EdgeInformation",468),D(1198,1,{},SS),I(vp,KTe,1198),D(1199,1,ii,Hte),h.Ne=function(t,n){return mTn(l(t,121),l(n,121))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(vp,Z3t,1199),D(1197,1,{},HZe),I(vp,"MrTree",1197),D(405,22,{3:1,34:1,22:1,405:1,188:1,196:1},Cq),h.dg=function(){return E2t(this)},h.qg=function(){return E2t(this)};var zW,hM,fM,dM,aIe=Br(vp,"TreeLayoutPhases",405,Hr,Smn,L1n),$Et;D(1112,205,uv,wit),h.rf=function(t,n){var r,s,o,f,g,w,T,C;for(Ft(Pt(at(t,(Vc(),DIe))))||tN((r=new nw((dw(),new sw(t))),r)),g=n.eh(Pfe),g.Ug("build tGraph",1),w=(T=new lN,mc(T,t),rt(T,(Zi(),pM),t),C=new Nr,lAn(t,T,C),LAn(t,T,C),T),g.Vg(),g=n.eh(Pfe),g.Ug("Split graph",1),f=bAn(this.a,w),g.Vg(),o=new K(f);o.a<o.c.c.length;)s=l(re(o),121),yxn(this.b,s,n.eh(.5999999940395355/f.c.length));g=n.eh(Pfe),g.Ug("Pack components",1),w=gOn(f),g.Vg(),g=n.eh(Pfe),g.Ug("Apply layout results",1),rDn(w),g.Vg()},I(vp,"TreeLayoutProvider",1112),D(1894,1,gg,Vte),h.Jc=function(t){Za(this,t)},h.Kc=function(){return Cn(),Ik(),ME},I(vp,"TreeUtil/1",1894),D(1895,1,gg,Gte),h.Jc=function(t){Za(this,t)},h.Kc=function(){return Cn(),Ik(),ME},I(vp,"TreeUtil/2",1895),D(1885,1,ei,Kte),h.Mb=function(t){return Ft(Pt(Q(l(t,40),(Zi(),Zb))))},I(vp,"TreeUtil/lambda$0$Type",1885),D(1891,1,ei,BXe),h.Mb=function(t){return this.a.Hc(l(t,40))},I(vp,"TreeUtil/lambda$10$Type",1891),D(1892,1,{},FXe),h.Kb=function(t){return Cmn(this.a,l(t,40))},I(vp,"TreeUtil/lambda$11$Type",1892),D(1893,1,ei,Mtt),h.Mb=function(t){return Twn(this.a,this.b,l(t,40))},I(vp,"TreeUtil/lambda$12$Type",1893),D(1886,1,ei,RXe),h.Mb=function(t){return u5n(this.a,l(t,65))},I(vp,"TreeUtil/lambda$3$Type",1886),D(1887,1,ii,Ute),h.Ne=function(t,n){return b0n(l(t,65),l(n,65))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(vp,"TreeUtil/lambda$4$Type",1887),D(1888,1,ei,jXe),h.Mb=function(t){return l5n(this.a,l(t,65))},I(vp,"TreeUtil/lambda$7$Type",1888),D(1889,1,ii,Wte),h.Ne=function(t,n){return m0n(l(t,65),l(n,65))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(vp,"TreeUtil/lambda$8$Type",1889),D(1890,1,{},Yte),h.Kb=function(t){return l(t,65).b},I(vp,"TreeUtil/lambda$9$Type",1890),D(508,137,{3:1,508:1,96:1,137:1}),h.g=0,I(wL,"TGraphElement",508),D(65,508,{3:1,65:1,508:1,96:1,137:1},J5e),h.Ib=function(){return this.b&&this.c?Um(this.b)+"->"+Um(this.c):"e_"+ts(this)},I(wL,"TEdge",65),D(121,137,{3:1,121:1,96:1,137:1},lN),h.Ib=function(){var t,n,r,s,o;for(o=null,s=Fr(this.b,0);s.b!=s.d.c;)r=l(Pr(s),40),o+=(r.c==null||r.c.length==0?"n_"+r.g:"n_"+r.c)+`
`;for(n=Fr(this.a,0);n.b!=n.d.c;)t=l(Pr(n),65),o+=(t.b&&t.c?Um(t.b)+"->"+Um(t.c):"e_"+ts(t))+`
`;return o};var WOn=I(wL,"TGraph",121);D(643,508,{3:1,508:1,643:1,96:1,137:1}),I(wL,"TShape",643),D(40,643,{3:1,508:1,40:1,643:1,96:1,137:1},Pce),h.Ib=function(){return Um(this)};var qW=I(wL,"TNode",40);D(236,1,gg,Kg),h.Jc=function(t){Za(this,t)},h.Kc=function(){var t;return t=Fr(this.a.d,0),new _5(t)},I(wL,"TNode/2",236),D(329,1,Ia,_5),h.Nb=function(t){Qa(this,t)},h.Pb=function(){return l(Pr(this.a),65).c},h.Ob=function(){return sO(this.a)},h.Qb=function(){uce(this.a)},I(wL,"TNode/2/1",329),D(1923,1,ns,Xte),h.Kf=function(t,n){cOn(this,l(t,121),n)},I(Eu,"CompactionProcessor",1923),D(1924,1,ii,$Xe),h.Ne=function(t,n){return Y3n(this.a,l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Eu,"CompactionProcessor/lambda$0$Type",1924),D(1925,1,ei,Dtt),h.Mb=function(t){return t2n(this.b,this.a,l(t,42))},h.a=0,h.b=0,I(Eu,"CompactionProcessor/lambda$1$Type",1925),D(1934,1,ii,c8),h.Ne=function(t,n){return Ggn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Eu,"CompactionProcessor/lambda$10$Type",1934),D(1935,1,ii,a$),h.Ne=function(t,n){return afn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Eu,"CompactionProcessor/lambda$11$Type",1935),D(1936,1,ii,Qte),h.Ne=function(t,n){return Kgn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Eu,"CompactionProcessor/lambda$12$Type",1936),D(1926,1,ei,zXe),h.Mb=function(t){return Hhn(this.a,l(t,42))},h.a=0,I(Eu,"CompactionProcessor/lambda$2$Type",1926),D(1927,1,ei,qXe),h.Mb=function(t){return Uhn(this.a,l(t,42))},h.a=0,I(Eu,"CompactionProcessor/lambda$3$Type",1927),D(1928,1,ei,TI),h.Mb=function(t){return l(t,40).c.indexOf(RG)==-1},I(Eu,"CompactionProcessor/lambda$4$Type",1928),D(1929,1,{},HXe),h.Kb=function(t){return rmn(this.a,l(t,40))},h.a=0,I(Eu,"CompactionProcessor/lambda$5$Type",1929),D(1930,1,{},UXe),h.Kb=function(t){return hwn(this.a,l(t,40))},h.a=0,I(Eu,"CompactionProcessor/lambda$6$Type",1930),D(1931,1,ii,VXe),h.Ne=function(t,n){return kvn(this.a,l(t,240),l(n,240))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Eu,"CompactionProcessor/lambda$7$Type",1931),D(1932,1,ii,GXe),h.Ne=function(t,n){return Tvn(this.a,l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Eu,"CompactionProcessor/lambda$8$Type",1932),D(1933,1,ii,Jte),h.Ne=function(t,n){return ofn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Eu,"CompactionProcessor/lambda$9$Type",1933),D(1921,1,ns,Zte),h.Kf=function(t,n){i_n(l(t,121),n)},I(Eu,"DirectionProcessor",1921),D(1913,1,ns,vit),h.Kf=function(t,n){_An(this,l(t,121),n)},I(Eu,"FanProcessor",1913),D(1937,1,ns,ene),h.Kf=function(t,n){GSn(l(t,121),n)},I(Eu,"GraphBoundsProcessor",1937),D(1938,1,{},tne),h.Ye=function(t){return l(t,40).e.a},I(Eu,"GraphBoundsProcessor/lambda$0$Type",1938),D(1939,1,{},nne),h.Ye=function(t){return l(t,40).e.b},I(Eu,"GraphBoundsProcessor/lambda$1$Type",1939),D(1940,1,{},rne),h.Ye=function(t){return Sln(l(t,40))},I(Eu,"GraphBoundsProcessor/lambda$2$Type",1940),D(1941,1,{},ine),h.Ye=function(t){return Cln(l(t,40))},I(Eu,"GraphBoundsProcessor/lambda$3$Type",1941),D(262,22,{3:1,34:1,22:1,262:1,196:1},gw),h.dg=function(){switch(this.g){case 0:return new GJe;case 1:return new vit;case 2:return new VJe;case 3:return new u$;case 4:return new sne;case 8:return new o$;case 5:return new Zte;case 6:return new h$;case 7:return new Xte;case 9:return new ene;case 10:return new one;default:throw ue(new Wn(Qhe+(this.f!=null?this.f:""+this.g)))}};var oIe,cIe,uIe,lIe,hIe,fIe,dIe,gIe,pIe,bIe,Vde,YOn=Br(Eu,Jhe,262,Hr,f0t,M1n),zEt;D(1920,1,ns,o$),h.Kf=function(t,n){sIn(l(t,121),n)},I(Eu,"LevelCoordinatesProcessor",1920),D(1918,1,ns,sne),h.Kf=function(t,n){SCn(this,l(t,121),n)},h.a=0,I(Eu,"LevelHeightProcessor",1918),D(1919,1,gg,c$),h.Jc=function(t){Za(this,t)},h.Kc=function(){return Cn(),Ik(),ME},I(Eu,"LevelHeightProcessor/1",1919),D(1914,1,ns,VJe),h.Kf=function(t,n){$Sn(this,l(t,121),n)},I(Eu,"LevelProcessor",1914),D(1915,1,ei,ane),h.Mb=function(t){return Ft(Pt(Q(l(t,40),(Zi(),Zb))))},I(Eu,"LevelProcessor/lambda$0$Type",1915),D(1916,1,ns,u$),h.Kf=function(t,n){Tkn(this,l(t,121),n)},h.a=0,I(Eu,"NeighborsProcessor",1916),D(1917,1,gg,l$),h.Jc=function(t){Za(this,t)},h.Kc=function(){return Cn(),Ik(),ME},I(Eu,"NeighborsProcessor/1",1917),D(1922,1,ns,h$),h.Kf=function(t,n){SAn(this,l(t,121),n)},h.a=0,I(Eu,"NodePositionProcessor",1922),D(1912,1,ns,GJe),h.Kf=function(t,n){oMn(this,l(t,121),n)},I(Eu,"RootProcessor",1912),D(1942,1,ns,one),h.Kf=function(t,n){r7n(l(t,121),n)},I(Eu,"Untreeifyer",1942),D(392,22,{3:1,34:1,22:1,392:1},Kse);var zB,Gde,mIe,vIe=Br(ZP,"EdgeRoutingMode",392,Hr,wbn,D1n),qEt,qB,ZE,Kde,wIe,yIe,Wde,Yde,xIe,Xde,kIe,Qde,gM,Jde,HW,UW,x0,o1,eC,pM,bM,N2,TIe,HEt,Zde,Zb,HB,UB;D(862,1,Pf,mie),h.hf=function(t){an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,MCe),""),Vyt),"Turns on Tree compaction which decreases the size of the whole tree by placing nodes of multiple levels in one large level"),(Hn(),!1)),(T2(),Ta)),Ps),hn((n1(),Bn))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,DCe),""),"Edge End Texture Length"),"Should be set to the length of the texture at the end of an edge. This value can be used to improve the Edge Routing."),7),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,ICe),""),"Tree Level"),"The index for the tree level the node is in"),bt(0)),Sc),to),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,OCe),""),Vyt),"When set to a positive number this option will force the algorithm to place the node to the specified position within the trees layer if weighting is set to constraint"),bt(-1)),Sc),to),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,NCe),""),"Weighting of Nodes"),"Which weighting to use when computing a node order."),SIe),ps),RIe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,PCe),""),"Edge Routing Mode"),"Chooses an Edge Routing algorithm."),EIe),ps),vIe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,BCe),""),"Search Order"),"Which search order to use when computing a spanning tree."),CIe),ps),$Ie),hn(Bn)))),Nwt((new w8,t))};var UEt,VEt,GEt,EIe,KEt,WEt,CIe,YEt,XEt,SIe;I(ZP,"MrTreeMetaDataProvider",862),D(1006,1,Pf,w8),h.hf=function(t){Nwt(t)};var QEt,_Ie,AIe,_3,LIe,MIe,ege,JEt,ZEt,eCt,tCt,nCt,rCt,iCt,DIe,IIe,OIe,sCt,X6,VW,NIe,aCt,PIe,tge,oCt,cCt,uCt,BIe,lCt,$d,FIe;I(ZP,"MrTreeOptions",1006),D(1007,1,{},cne),h.sf=function(){var t;return t=new wit,t},h.tf=function(t){},I(ZP,"MrTreeOptions/MrtreeFactory",1007),D(353,22,{3:1,34:1,22:1,353:1},Sq);var nge,GW,rge,ige,RIe=Br(ZP,"OrderWeighting",353,Hr,_mn,I1n),hCt;D(433,22,{3:1,34:1,22:1,433:1},cye);var jIe,sge,$Ie=Br(ZP,"TreeifyingOrder",433,Hr,k2n,O1n),fCt;D(1486,1,Vo,yie),h.rg=function(t){return l(t,121),dCt},h.Kf=function(t,n){F3n(this,l(t,121),n)};var dCt;I("org.eclipse.elk.alg.mrtree.p1treeify","DFSTreeifyer",1486),D(1487,1,Vo,pk),h.rg=function(t){return l(t,121),gCt},h.Kf=function(t,n){USn(this,l(t,121),n)};var gCt;I(mE,"NodeOrderer",1487),D(1494,1,{},Owe),h.td=function(t){return Cst(t)},I(mE,"NodeOrderer/0methodref$lambda$6$Type",1494),D(1488,1,ei,yne),h.Mb=function(t){return lx(),Ft(Pt(Q(l(t,40),(Zi(),Zb))))},I(mE,"NodeOrderer/lambda$0$Type",1488),D(1489,1,ei,xne),h.Mb=function(t){return lx(),l(Q(l(t,40),(Vc(),X6)),17).a<0},I(mE,"NodeOrderer/lambda$1$Type",1489),D(1490,1,ei,WXe),h.Mb=function(t){return f3n(this.a,l(t,40))},I(mE,"NodeOrderer/lambda$2$Type",1490),D(1491,1,ei,KXe),h.Mb=function(t){return amn(this.a,l(t,40))},I(mE,"NodeOrderer/lambda$3$Type",1491),D(1492,1,ii,kne),h.Ne=function(t,n){return Pwn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(mE,"NodeOrderer/lambda$4$Type",1492),D(1493,1,ei,Tne),h.Mb=function(t){return lx(),l(Q(l(t,40),(Zi(),Yde)),17).a!=0},I(mE,"NodeOrderer/lambda$5$Type",1493),D(1495,1,Vo,wie),h.rg=function(t){return l(t,121),pCt},h.Kf=function(t,n){Z_n(this,l(t,121),n)},h.b=0;var pCt;I("org.eclipse.elk.alg.mrtree.p3place","NodePlacer",1495),D(1496,1,Vo,vie),h.rg=function(t){return l(t,121),bCt},h.Kf=function(t,n){N_n(l(t,121),n)};var bCt,XOn=I(ph,"EdgeRouter",1496);D(1498,1,ii,wne),h.Ne=function(t,n){return iu(l(t,17).a,l(n,17).a)},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"EdgeRouter/0methodref$compare$Type",1498),D(1503,1,{},une),h.Ye=function(t){return ze(Ge(t))},I(ph,"EdgeRouter/1methodref$doubleValue$Type",1503),D(1505,1,ii,d$),h.Ne=function(t,n){return Xi(ze(Ge(t)),ze(Ge(n)))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"EdgeRouter/2methodref$compare$Type",1505),D(1507,1,ii,lne),h.Ne=function(t,n){return Xi(ze(Ge(t)),ze(Ge(n)))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"EdgeRouter/3methodref$compare$Type",1507),D(1509,1,{},f$),h.Ye=function(t){return ze(Ge(t))},I(ph,"EdgeRouter/4methodref$doubleValue$Type",1509),D(1511,1,ii,hne),h.Ne=function(t,n){return Xi(ze(Ge(t)),ze(Ge(n)))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"EdgeRouter/5methodref$compare$Type",1511),D(1513,1,ii,EI),h.Ne=function(t,n){return Xi(ze(Ge(t)),ze(Ge(n)))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"EdgeRouter/6methodref$compare$Type",1513),D(1497,1,{},fne),h.Kb=function(t){return sp(),l(Q(l(t,40),(Vc(),$d)),17)},I(ph,"EdgeRouter/lambda$0$Type",1497),D(1508,1,{},dne),h.Kb=function(t){return yfn(l(t,40))},I(ph,"EdgeRouter/lambda$11$Type",1508),D(1510,1,{},Itt),h.Kb=function(t){return Wdn(this.b,this.a,l(t,40))},h.a=0,h.b=0,I(ph,"EdgeRouter/lambda$13$Type",1510),D(1512,1,{},Ott),h.Kb=function(t){return xfn(this.b,this.a,l(t,40))},h.a=0,h.b=0,I(ph,"EdgeRouter/lambda$15$Type",1512),D(1514,1,ii,gne),h.Ne=function(t,n){return O6n(l(t,65),l(n,65))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"EdgeRouter/lambda$17$Type",1514),D(1515,1,ii,pne),h.Ne=function(t,n){return N6n(l(t,65),l(n,65))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"EdgeRouter/lambda$18$Type",1515),D(1516,1,ii,bne),h.Ne=function(t,n){return B6n(l(t,65),l(n,65))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"EdgeRouter/lambda$19$Type",1516),D(1499,1,ei,YXe),h.Mb=function(t){return F2n(this.a,l(t,40))},h.a=0,I(ph,"EdgeRouter/lambda$2$Type",1499),D(1517,1,ii,g$),h.Ne=function(t,n){return P6n(l(t,65),l(n,65))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"EdgeRouter/lambda$20$Type",1517),D(1500,1,ii,mne),h.Ne=function(t,n){return Ndn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"EdgeRouter/lambda$3$Type",1500),D(1501,1,ii,vne),h.Ne=function(t,n){return Pdn(l(t,40),l(n,40))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"EdgeRouter/lambda$4$Type",1501),D(1502,1,{},Ene),h.Kb=function(t){return kfn(l(t,40))},I(ph,"EdgeRouter/lambda$5$Type",1502),D(1504,1,{},Ntt),h.Kb=function(t){return Ydn(this.b,this.a,l(t,40))},h.a=0,h.b=0,I(ph,"EdgeRouter/lambda$7$Type",1504),D(1506,1,{},Ptt),h.Kb=function(t){return Tfn(this.b,this.a,l(t,40))},h.a=0,h.b=0,I(ph,"EdgeRouter/lambda$9$Type",1506),D(675,1,{675:1},dgt),h.e=0,h.f=!1,h.g=!1,I(ph,"MultiLevelEdgeNodeNodeGap",675),D(1943,1,ii,Cne),h.Ne=function(t,n){return K2n(l(t,240),l(n,240))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"MultiLevelEdgeNodeNodeGap/lambda$0$Type",1943),D(1944,1,ii,Sne),h.Ne=function(t,n){return W2n(l(t,240),l(n,240))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(ph,"MultiLevelEdgeNodeNodeGap/lambda$1$Type",1944);var Q6;D(501,22,{3:1,34:1,22:1,501:1,188:1,196:1},uye),h.dg=function(){return Z1t(this)},h.qg=function(){return Z1t(this)};var KW,J6,zIe=Br(FCe,"RadialLayoutPhases",501,Hr,p2n,N1n),mCt;D(1113,205,uv,qZe),h.rf=function(t,n){var r,s,o,f,g,w;if(r=Rbt(this,t),n.Ug("Radial layout",r.c.length),Ft(Pt(at(t,(Pb(),JIe))))||tN((s=new nw((dw(),new sw(t))),s)),w=Rxn(t),Vi(t,(V5(),Q6),w),!w)throw ue(new Wn("The given graph is not a tree!"));for(o=ze(Ge(at(t,XW))),o==0&&(o=v2t(t)),Vi(t,XW,o),g=new K(Rbt(this,t));g.a<g.c.c.length;)f=l(re(g),47),f.Kf(t,n.eh(1));n.Vg()},I(FCe,"RadialLayoutProvider",1113),D(556,1,ii,tq),h.Ne=function(t,n){return y_n(this.a,this.b,l(t,27),l(n,27))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},h.a=0,h.b=0,I(FCe,"RadialUtil/lambda$0$Type",556),D(1395,1,ns,_ne),h.Kf=function(t,n){hIn(l(t,27),n)},I($Ce,"CalculateGraphSize",1395),D(1396,1,ns,Ane),h.Kf=function(t,n){OLn(l(t,27))},I($Ce,"EdgeAngleCalculator",1396),D(368,22,{3:1,34:1,22:1,368:1,196:1},xO),h.dg=function(){switch(this.g){case 0:return new Nne;case 1:return new Lne;case 2:return new Pne;case 3:return new _ne;case 4:return new Ane;default:throw ue(new Wn(Qhe+(this.f!=null?this.f:""+this.g)))}};var age,oge,cge,uge,lge,vCt=Br($Ce,Jhe,368,Hr,dvn,P1n),wCt;D(653,1,{}),h.e=1,h.g=0,I(Bfe,"AbstractRadiusExtensionCompaction",653),D(1834,653,{},jrt),h.Cg=function(t){var n,r,s,o,f,g,w,T,C;for(this.c=l(at(t,(V5(),Q6)),27),Le(this,this.c),this.d=wue(l(at(t,(Pb(),VB)),300)),T=l(at(t,fge),17),T&&me(this,T.a),w=Ge(at(t,(bi(),Dv))),_e(this,(tr(w),w)),C=Gy(this.c),this.d&&this.d.Gg(C),R_n(this,C),g=new Ll(he(le(Li,1),Yyt,27,0,[this.c])),r=0;r<2;r++)for(n=0;n<C.c.length;n++)o=new Ll(he(le(Li,1),Yyt,27,0,[(Sn(n,C.c.length),l(C.c[n],27))])),f=n<C.c.length-1?(Sn(n+1,C.c.length),l(C.c[n+1],27)):(Sn(0,C.c.length),l(C.c[0],27)),s=n==0?l(Rt(C,C.c.length-1),27):(Sn(n-1,C.c.length),l(C.c[n-1],27)),ppt(this,(Sn(n,C.c.length),l(C.c[n],27),g),s,f,o)},I(Bfe,"AnnulusWedgeCompaction",1834),D(1393,1,ns,Lne),h.Kf=function(t,n){D3n(l(t,27),n)},I(Bfe,"GeneralCompactor",1393),D(1833,653,{},Mne),h.Cg=function(t){var n,r,s,o;r=l(at(t,(V5(),Q6)),27),this.f=r,this.b=wue(l(at(t,(Pb(),VB)),300)),o=l(at(t,fge),17),o&&me(this,o.a),s=Ge(at(t,(bi(),Dv))),_e(this,(tr(s),s)),n=Gy(r),this.b&&this.b.Gg(n),Kpt(this,n)},h.a=0,I(Bfe,"RadialCompaction",1833),D(1842,1,{},Dne),h.Dg=function(t){var n,r,s,o,f,g;for(this.a=t,n=0,g=Gy(t),s=0,f=new K(g);f.a<f.c.c.length;)for(o=l(re(f),27),++s,r=s;r<g.c.length;r++)eLn(this,o,(Sn(r,g.c.length),l(g.c[r],27)))&&(n+=1);return n},I(zCe,"CrossingMinimizationPosition",1842),D(1840,1,{},Ine),h.Dg=function(t){var n,r,s,o,f,g,w,T,C,L,F,z,V;for(s=0,r=new lr(fr(fp(t).a.Kc(),new j));Rr(r);)n=l(yr(r),74),w=vc(l(Oe((!n.c&&(n.c=new An(Sr,n,5,8)),n.c),0),84)),C=w.i+w.g/2,L=w.j+w.f/2,o=t.i+t.g/2,f=t.j+t.f/2,F=new za,F.a=C-o,F.b=L-f,g=new lt(F.a,F.b),$T(g,t.g,t.f),F.a-=g.a,F.b-=g.b,o=C-F.a,f=L-F.b,T=new lt(F.a,F.b),$T(T,w.g,w.f),F.a-=T.a,F.b-=T.b,C=o+F.a,L=f+F.b,z=C-o,V=L-f,s+=b.Math.sqrt(z*z+V*V);return s},I(zCe,"EdgeLengthOptimization",1840),D(1841,1,{},One),h.Dg=function(t){var n,r,s,o,f,g,w,T,C,L,F;for(s=0,r=new lr(fr(fp(t).a.Kc(),new j));Rr(r);)n=l(yr(r),74),w=vc(l(Oe((!n.c&&(n.c=new An(Sr,n,5,8)),n.c),0),84)),T=w.i+w.g/2,C=w.j+w.f/2,o=l(at(w,(bi(),r9)),8),f=t.i+o.a+t.g/2,g=t.j+o.b+t.f,L=T-f,F=C-g,s+=b.Math.sqrt(L*L+F*F);return s},I(zCe,"EdgeLengthPositionOptimization",1841),D(1392,653,ns,Nne),h.Kf=function(t,n){Fkn(this,l(t,27),n)},I("org.eclipse.elk.alg.radial.intermediate.overlaps","RadiusExtensionOverlapRemoval",1392),D(1394,1,ns,Pne),h.Kf=function(t,n){Dgn(l(t,27),n)},I("org.eclipse.elk.alg.radial.intermediate.rotation","GeneralRotator",1394),D(434,22,{3:1,34:1,22:1,434:1},lye);var qIe,hge,HIe=Br(yL,"AnnulusWedgeCriteria",434,Hr,T2n,F1n),yCt;D(393,22,{3:1,34:1,22:1,393:1},Wse);var WW,UIe,VIe,GIe=Br(yL,qTe,393,Hr,_bn,B1n),xCt;D(863,1,Pf,Cf),h.hf=function(t){an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,qCe),""),"Center On Root"),"Centers the layout on the root of the tree i.e. so that the central node is also the center node of the final layout. This introduces additional whitespace."),(Hn(),!1)),(T2(),Ta)),Ps),hn((n1(),Bn))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,HCe),""),"Order ID"),"The id can be used to define an order for nodes of one radius. This can be used to sort them in the layer accordingly."),bt(0)),Sc),to),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,UCe),""),"Radius"),"The radius option can be used to set the initial radius for the radial layouter."),0),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,zG),""),"Rotate"),"The rotate option determines whether a rotation of the layout should be performed."),!1),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,Rfe),""),Xyt),"With the compacter option it can be determined how compaction on the graph is done. It can be chosen between none, the radial compaction or the compaction of wedges separately."),KIe),ps),GIe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,jfe),""),"Compaction Step Size"),"Determine the size of steps with which the compaction is done. Step size 1 correlates to a compaction of 1 pixel per Iteration."),bt(1)),Sc),to),hn(Bn)))),Zs(t,jfe,Rfe,null),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,VCe),""),"Sorter"),"Sort the nodes per radius according to the sorting algorithm. The strategies are none, by the given order id, or sorting them by polar coordinates."),YIe),ps),lOe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,GCe),""),"Annulus Wedge Criteria"),"Determine how the wedge for the node placement is calculated. It can be chosen between wedge determination by the number of leaves or by the maximum sum of diagonals."),XIe),ps),HIe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,KCe),""),"Translation Optimization"),"Find the optimal translation of the nodes of the first radii according to this criteria. For example edge crossings can be minimized."),WIe),ps),oOe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,$fe),YCe),"Target Angle"),"The angle in radians that the layout should be rotated to after layout."),0),co),ra),hn(Bn)))),Zs(t,$fe,zG,null),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,zfe),YCe),"Additional Wedge Space"),"If set to true, modifies the target angle by rotating further such that space is left for an edge to pass in between the nodes. This option should only be used in conjunction with top-down layout."),!1),Ta),Ps),hn(Bn)))),Zs(t,zfe,zG,null),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,WCe),YCe),"Outgoing Edge Angles"),"Calculate the required angle of connected nodes to leave space for an incoming edge. This option should only be used in conjunction with top-down layout."),!1),Ta),Ps),hn(Bn)))),_wt((new xie,t))};var kCt,TCt,ECt,KIe,CCt,WIe,SCt,_Ct,ACt,LCt,MCt,DCt,ICt,YIe,OCt,XIe;I(yL,"RadialMetaDataProvider",863),D(1008,1,Pf,xie),h.hf=function(t){_wt(t)};var QIe,fge,dge,NCt,PCt,BCt,FCt,JIe,ZIe,YW,RCt,jCt,XW,eOe,tOe,nOe,gge,VB,$Ct,rOe;I(yL,"RadialOptions",1008),D(1009,1,{},hu),h.sf=function(){var t;return t=new qZe,t},h.tf=function(t){},I(yL,"RadialOptions/RadialFactory",1009),D(354,22,{3:1,34:1,22:1,354:1},_q);var iOe,sOe,aOe,pge,oOe=Br(yL,"RadialTranslationStrategy",354,Hr,Amn,R1n),zCt;D(300,22,{3:1,34:1,22:1,300:1},Yse);var cOe,bge,uOe,lOe=Br(yL,"SortingStrategy",300,Hr,Abn,j1n),qCt;D(1476,1,Vo,Bne),h.rg=function(t){return l(t,27),null},h.Kf=function(t,n){aTn(this,l(t,27),n)},h.c=0,I("org.eclipse.elk.alg.radial.p1position","EadesRadial",1476),D(1838,1,{},_S),h.Eg=function(t){return Ydt(t)},I(Qyt,"AnnulusWedgeByLeafs",1838),D(1839,1,{},$c),h.Eg=function(t){return opt(this,t)},I(Qyt,"AnnulusWedgeByNodeSpace",1839),D(1477,1,Vo,Nu),h.rg=function(t){return l(t,27),null},h.Kf=function(t,n){m5n(this,l(t,27),n)},I("org.eclipse.elk.alg.radial.p2routing","StraightLineEdgeRouter",1477),D(826,1,{},c3e),h.Fg=function(t){},h.Gg=function(t){iJe(this,t)},I(XCe,"IDSorter",826),D(1837,1,ii,hs),h.Ne=function(t,n){return I3n(l(t,27),l(n,27))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(XCe,"IDSorter/lambda$0$Type",1837),D(1836,1,{},e0t),h.Fg=function(t){Gct(this,t)},h.Gg=function(t){var n;t.dc()||(this.e||(n=jst(l(t.Xb(0),27)),Gct(this,n)),iJe(this.e,t))},I(XCe,"PolarCoordinateSorter",1836),D(445,22,{3:1,34:1,22:1,445:1},Xse);var GB,QW,mge,hOe=Br(t4t,"RectPackingLayoutPhases",445,Hr,Cbn,$1n),HCt;D(1118,205,uv,UZe),h.rf=function(t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn;if(n.Ug("Rectangle Packing",1),F=l(at(t,(z1(),wM)),107),T=Ft(Pt(at(t,hSt))),L=ze(Ge(at(t,yM))),cn=Ft(Pt(at(t,TOe))),$e=(!t.a&&(t.a=new nt(Li,t,10,11)),t.a),Ft(Pt(at(t,Ege)))||tN((o=new nw((dw(),new sw(t))),o)),ln=!1,cn&&$e.i>=3)for(ot=l(Oe($e,0),27),At=l(Oe($e,1),27),f=0;f+2<$e.i;)if(Je=ot,ot=At,At=l(Oe($e,f+2),27),Je.f>=ot.f+At.f+L||At.f>=Je.f+ot.f+L){ln=!0;break}else++f;else ln=!0;if(!ln){for(z=$e.i,w=new ar($e);w.e!=w.i.gc();)g=l(dr(w),27),Vi(g,(bi(),iF),bt(z)),--z;gvt(t,new M8),n.Vg();return}for(r=(XO(this.a),Y0(this.a,(tV(),GB),l(at(t,_Oe),188)),Y0(this.a,QW,l(at(t,xOe),188)),Y0(this.a,mge,l(at(t,EOe),188)),_ye(this.a,(Fn=new Js,hi(Fn,GB,(fV(),yge)),hi(Fn,QW,wge),Ft(Pt(at(t,wOe)))&&hi(Fn,GB,vge),Fn)),EP(this.a,t)),C=1/r.c.length,J=new K(r);J.a<J.c.c.length;){if(V=l(re(J),47),n.$g())return;V.Kf(t,n.eh(C))}for(fe=0,te=0,Me=new ar($e);Me.e!=Me.i.gc();)Ee=l(dr(Me),27),fe=b.Math.max(fe,Ee.i+Ee.g),te=b.Math.max(te,Ee.j+Ee.f);S9e(t,new lt(ze(Ge(at(t,(fg(),e9)))),ze(Ge(at(t,tC)))),new lt(fe,te)),tyn($e,F),T||Zw(t,ze(Ge(at(t,e9)))+(F.b+F.c),ze(Ge(at(t,tC)))+(F.d+F.a),!1,!0),Ft(Pt(at(t,Ege)))||tN((s=new nw((dw(),new sw(t))),s)),n.Vg()},I(t4t,"RectPackingLayoutProvider",1118),D(1518,1,ns,CI),h.Kf=function(t,n){NLn(l(t,27),n)},I(qG,"InteractiveNodeReorderer",1518),D(1519,1,ii,Fne),h.Ne=function(t,n){return zyn(l(t,27),l(n,27))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(qG,"InteractiveNodeReorderer/lambda$0$Type",1519),D(456,22,{3:1,34:1,22:1,456:1,196:1},Qse),h.dg=function(){switch(this.g){case 0:return new CI;case 1:return new jne;case 2:return new Rne}return null};var vge,wge,yge,UCt=Br(qG,Jhe,456,Hr,Sbn,z1n),VCt;D(1521,1,ns,Rne),h.Kf=function(t,n){t6n(l(t,27),n)},I(qG,"MinSizePostProcessor",1521),D(1520,1,ns,jne),h.Kf=function(t,n){Zyn(l(t,27),n)},I(qG,"MinSizePreProcessor",1520);var mM,tC,e9,GCt,KCt,JW,xge,kge,vM,ZW,_4;D(394,22,{3:1,34:1,22:1,394:1},Jse);var fOe,dOe,Tge,gOe=Br(qfe,"OptimizationGoal",394,Hr,Ebn,q1n),WCt;D(867,1,Pf,bk),h.hf=function(t){an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,QCe),""),"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."),(Hn(),!1)),(T2(),Ta)),Ps),hn((n1(),Bn))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,JCe),""),"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."),bt(-1)),Sc),to),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,ZCe),""),"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."),bt(-1)),Sc),to),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,eSe),""),"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),Ta),Ps),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,tSe),Hfe),"Width Approximation Strategy"),"Strategy for finding an initial width of the drawing."),mOe),ps),MOe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,nSe),Hfe),"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),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,rSe),Hfe),"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."),bOe),ps),gOe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,iSe),Hfe),"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),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,sSe),"packing"),n4t),"Strategy for finding an initial placement on nodes."),pOe),ps),OOe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,aSe),r4t),"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),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,oSe),r4t),"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."),bt(1)),Sc),to),hn(Bn)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,cSe),"whiteSpaceElimination"),"White Space Approximation Strategy"),"Strategy for expanding nodes such that whitespace in the parent is eliminated."),ps),BOe),hn(Bn)))),Uwt((new JS,t))};var YCt,XCt,QCt,JCt,ZCt,eSt,pOe,tSt,nSt,rSt,iSt,bOe,sSt,mOe,aSt;I(qfe,"RectPackingMetaDataProvider",867),D(1016,1,Pf,JS),h.hf=function(t){Uwt(t)};var eY,oSt,vOe,KB,wOe,cSt,WB,uSt,lSt,hSt,fSt,dSt,Ege,yOe,Cge,xOe,wM,kOe,gSt,yM,TOe,EOe,COe,SOe,_Oe,Sge;I(qfe,"RectPackingOptions",1016),D(1017,1,{},u8),h.sf=function(){var t;return t=new UZe,t},h.tf=function(t){},I(qfe,"RectPackingOptions/RectpackingFactory",1017),D(1705,1,{},Yit),h.a=0,h.c=!1,I(vE,"AreaApproximation",1705);var AOe=Ts(vE,"BestCandidateFilter");D(673,1,{535:1},Am),h.Hg=function(t,n,r){var s,o,f,g,w,T;for(T=new mt,f=gs,w=new K(t);w.a<w.c.c.length;)g=l(re(w),238),f=b.Math.min(f,(g.c+(r.b+r.c))*(g.b+(r.d+r.a)));for(o=new K(t);o.a<o.c.c.length;)s=l(re(o),238),(s.c+(r.b+r.c))*(s.b+(r.d+r.a))==f&&qn(T.c,s);return T},I(vE,"AreaFilter",673),D(674,1,{535:1},Z9),h.Hg=function(t,n,r){var s,o,f,g,w,T;for(w=new mt,T=gs,g=new K(t);g.a<g.c.c.length;)f=l(re(g),238),T=b.Math.min(T,b.Math.abs((f.c+(r.b+r.c))/(f.b+(r.d+r.a))-n));for(o=new K(t);o.a<o.c.c.length;)s=l(re(o),238),b.Math.abs((s.c+(r.b+r.c))/(s.b+(r.d+r.a))-n)==T&&qn(w.c,s);return w},I(vE,"AspectRatioFilter",674),D(1469,1,Vo,$ne),h.rg=function(t){return l(t,27),null},h.Kf=function(t,n){xSn(l(t,27),n)},I(vE,"GreedyWidthApproximator",1469),D(672,1,{535:1},SI),h.Hg=function(t,n,r){var s,o,f,g,w,T;for(T=new mt,f=oa,w=new K(t);w.a<w.c.c.length;)g=l(re(w),238),f=b.Math.max(f,dH(g.c+(r.b+r.c),g.b+(r.d+r.a),g.a));for(o=new K(t);o.a<o.c.c.length;)s=l(re(o),238),dH(s.c+(r.b+r.c),s.b+(r.d+r.a),s.a)==f&&qn(T.c,s);return T},I(vE,"ScaleMeasureFilter",672),D(1470,1,Vo,zne),h.rg=function(t){return l(t,27),null},h.Kf=function(t,n){oTn(l(t,27),n)},I(vE,"TargetWidthWidthApproximator",1470),D(491,22,{3:1,34:1,22:1,491:1,188:1,196:1},hye),h.dg=function(){return bpt(this)},h.qg=function(){return bpt(this)};var _ge,LOe,MOe=Br(vE,"WidthApproximationStrategy",491,Hr,y2n,H1n),pSt;D(1471,1,Vo,qne),h.rg=function(t){return l(t,27),null},h.Kf=function(t,n){xIn(this,l(t,27),n)},I(HG,"Compactor",1471),D(1473,1,Vo,Hne),h.rg=function(t){return l(t,27),null},h.Kf=function(t,n){ZCn(l(t,27),n)},I(HG,"NoPlacement",1473),D(439,22,{3:1,34:1,22:1,439:1,188:1,196:1},Zse),h.dg=function(){return M1t(this)},h.qg=function(){return M1t(this)};var Age,DOe,IOe,OOe=Br(HG,"PackingStrategy",439,Hr,Tbn,G1n),bSt;D(810,1,{},pye),h.a=0,h.b=0,h.c=0,h.d=gs,h.e=0,h.f=gs,I(HG,"RowFillingAndCompaction",810),D(1472,1,Vo,p$),h.rg=function(t){return l(t,27),null},h.Kf=function(t,n){FMn(l(t,27),n)},I(HG,"SimplePlacement",1472),D(1474,1,Vo,Une),h.rg=function(t){return l(t,27),null},h.Kf=function(t,n){this.Ig(l(t,27),n)},h.Ig=function(t,n){ubt(t,n)},I(uSe,"EqualWhitespaceEliminator",1474),D(1475,1474,Vo,Vne),h.Ig=function(t,n){var r,s,o,f,g;n.Ug("To Aspect Ratio Whitesapce Eliminator",1),g=ze(Ge(at(t,(fg(),e9)))),f=ze(Ge(at(t,tC))),o=ze(Ge(at(t,(z1(),eY)))),r=ze(Ge(at(t,mM))),s=g/f,s<o?(g=f*o,Vi(t,e9,g)):(r+=g/o-f,Vi(t,mM,r),Vi(t,tC,f+r)),ubt(t,n),n.Vg()},I(uSe,"ToAspectratioNodeExpander",1475),D(492,22,{3:1,34:1,22:1,492:1,188:1,196:1},fye),h.dg=function(){return i0t(this)},h.qg=function(){return i0t(this)};var NOe,POe,BOe=Br(uSe,"WhiteSpaceEliminationStrategy",492,Hr,x2n,K1n),mSt;D(172,1,{172:1},Bce),h.a=0,h.c=!1,h.d=0,h.e=0,h.f=0,h.g=0,h.i=0,h.k=!1,h.o=gs,h.p=gs,h.r=0,h.s=0,h.t=0,I(eB,"Block",172),D(209,1,{209:1},qH),h.a=0,h.b=0,h.d=0,h.e=0,h.f=0,I(eB,"BlockRow",209),D(315,1,{315:1},s6e),h.b=0,h.c=0,h.d=0,h.e=0,h.f=0,I(eB,"BlockStack",315),D(238,1,{238:1},s5e,sxe),h.a=0,h.b=0,h.c=0,h.d=0,h.e=0,h.g=0;var QOn=I(eB,"DrawingData",238);D(373,22,{3:1,34:1,22:1,373:1},kO);var t9,Z6,xM,kM,YB,vSt=Br(eB,"DrawingDataDescriptor",373,Hr,gvn,W1n),wSt;D(186,1,{186:1},p6e),h.b=0,h.c=0,h.e=0,h.f=0,I(eB,"RectRow",186),D(763,1,{},b8e),h.j=0,I(r4,gyt,763),D(1209,1,{},_I),h.af=function(t){return Eb(t.a,t.b)},I(r4,WTe,1209),D(1210,1,{},XXe),h.af=function(t){return Evn(this.a,t)},I(r4,pyt,1210),D(1211,1,{},QXe),h.af=function(t){return U6n(this.a,t)},I(r4,byt,1211),D(1212,1,{},JXe),h.af=function(t){return Ayn(this.a,t)},I(r4,"ElkGraphImporter/lambda$3$Type",1212),D(1213,1,{},ZXe),h.af=function(t){return MTn(this.a,t)},I(r4,myt,1213),D(1115,205,uv,VZe),h.rf=function(t,n){var r,s,o,f,g,w,T,C,L,F,z,V;for(P1(t,(rP(),sY))&&(V=Zr(at(t,(Eue(),rNe))),f=vle(dT(),V),f&&(g=l(eN(f.f),205),g.rf(t,n.eh(1)))),Vi(t,Pge,(hN(),iY)),Vi(t,Bge,(iP(),Nge)),Vi(t,Fge,(ON(),aY)),w=l(at(t,(Eue(),eNe)),17).a,n.Ug("Overlap removal",1),Ft(Pt(at(t,jSt))),T=new Ys,C=new eQe(T),s=new b8e,r=Vwt(s,t),L=!0,o=0;o<w&&L;){if(Ft(Pt(at(t,tNe)))){if(T.a.$b(),xkn(new Qnt(C),r.i),T.a.gc()==0)break;r.e=T}for(XO(this.b),Y0(this.b,(HN(),tY),(m_(),XB)),Y0(this.b,nY,r.g),Y0(this.b,rY,(lq(),Dge)),this.a=EP(this.b,r),z=new K(this.a);z.a<z.c.c.length;)F=l(re(z),47),F.Kf(r,n.eh(1));R8n(s,r),L=Ft(Pt(Q(r,(mT(),cAe)))),++o}iwt(s,r),n.Vg()},I(r4,"OverlapRemovalLayoutProvider",1115),D(1116,1,{},eQe),I(r4,"OverlapRemovalLayoutProvider/lambda$0$Type",1116),D(444,22,{3:1,34:1,22:1,444:1},eae);var tY,nY,rY,Lge=Br(r4,"SPOrEPhases",444,Hr,Mbn,X1n),ySt;D(1219,1,{},GZe),I(r4,"ShrinkTree",1219),D(1117,205,uv,WJe),h.rf=function(t,n){var r,s,o,f,g;P1(t,(rP(),sY))&&(g=Zr(at(t,sY)),o=vle(dT(),g),o&&(f=l(eN(o.f),205),f.rf(t,n.eh(1)))),s=new b8e,r=Vwt(s,t),tCn(this.a,r,n.eh(1)),iwt(s,r)},I(r4,"ShrinkTreeLayoutProvider",1117),D(306,137,{3:1,306:1,96:1,137:1},Rot),h.c=!1,I("org.eclipse.elk.alg.spore.graph","Graph",306),D(490,22,{3:1,34:1,22:1,490:1,188:1,196:1},Uet),h.dg=function(){return Z0t(this)},h.qg=function(){return Z0t(this)};var Mge,FOe=Br(i4,qTe,490,Hr,Epn,Y1n),xSt;D(558,22,{3:1,34:1,22:1,558:1,188:1,196:1},Hrt),h.dg=function(){return new b$},h.qg=function(){return new b$};var Dge,kSt=Br(i4,"OverlapRemovalStrategy",558,Hr,Cpn,Q1n),TSt;D(438,22,{3:1,34:1,22:1,438:1},dye);var iY,Ige,ROe=Br(i4,"RootSelection",438,Hr,C2n,J1n),ESt;D(324,22,{3:1,34:1,22:1,324:1},TO);var jOe,Oge,Nge,$Oe,zOe,qOe=Br(i4,"SpanningTreeCostFunction",324,Hr,pvn,Z1n),CSt;D(1014,1,Pf,kie),h.hf=function(t){Nvt(t)};var HOe,UOe,SSt,_St,VOe,GOe,Pge,Bge,Fge,ASt,LSt,sY;I(i4,"SporeCompactionOptions",1014),D(1015,1,{},Gne),h.sf=function(){var t;return t=new WJe,t},h.tf=function(t){},I(i4,"SporeCompactionOptions/SporeCompactionFactory",1015),D(866,1,Pf,Tie),h.hf=function(t){an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,Ufe),""),"Underlying Layout Algorithm"),"A layout algorithm that is applied to the graph before it is compacted. If this is null, nothing is applied before compaction."),(T2(),e7)),$t),hn((n1(),Bn))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,Kfe),"structure"),"Structure Extraction Strategy"),"This option defines what kind of triangulation or other partitioning of the plane is applied to the vertices."),JOe),ps),iNe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,lSe),Wfe),"Tree Construction Strategy"),"Whether a minimum spanning tree or a maximum spanning tree should be constructed."),XOe),ps),aNe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,hSe),Wfe),"Cost Function for Spanning Tree"),"The cost function is used in the creation of the spanning tree."),YOe),ps),qOe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,Vfe),Wfe),"Root node for spanning tree construction"),"The identifier of the node that is preferred as the root of the spanning tree. If this is null, the first node is chosen."),null),e7),$t),hn(Bn)))),Zs(t,Vfe,Gfe,PSt),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,Gfe),Wfe),"Root selection for spanning tree"),"This sets the method used to select a root node for the construction of a spanning tree"),WOe),ps),ROe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,fSe),HEe),n4t),"This option defines how the compaction is applied."),KOe),ps),FOe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,dSe),HEe),"Orthogonal Compaction"),"Restricts the translation of nodes to orthogonal directions in the compaction phase."),(Hn(),!1)),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,gSe),s4t),"Upper limit for iterations of overlap removal"),null),bt(64)),Sc),to),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,pSe),s4t),"Whether to run a supplementary scanline overlap check."),null),!0),Ta),Ps),hn(Bn)))),Fmt((new Eie,t)),Nvt((new kie,t))};var MSt,KOe,DSt,ISt,OSt,NSt,PSt,BSt,WOe,FSt,YOe,RSt,XOe,QOe,JOe,ZOe;I(i4,"SporeMetaDataProvider",866),D(1012,1,Pf,Eie),h.hf=function(t){Fmt(t)};var jSt,eNe,tNe,nNe,$St,rNe;I(i4,"SporeOverlapRemovalOptions",1012),D(1013,1,{},ah),h.sf=function(){var t;return t=new VZe,t},h.tf=function(t){},I(i4,"SporeOverlapRemovalOptions/SporeOverlapFactory",1013),D(539,22,{3:1,34:1,22:1,539:1,188:1,196:1},Uat),h.dg=function(){return e1t(this)},h.qg=function(){return e1t(this)};var XB,iNe=Br(i4,"StructureExtractionStrategy",539,Hr,Spn,edn),zSt;D(437,22,{3:1,34:1,22:1,437:1,188:1,196:1},gye),h.dg=function(){return edt(this)},h.qg=function(){return edt(this)};var sNe,aY,aNe=Br(i4,"TreeConstructionStrategy",437,Hr,S2n,tdn),qSt;D(1463,1,Vo,dl),h.rg=function(t){return l(t,306),new Js},h.Kf=function(t,n){q8n(l(t,306),n)},I(a4t,"DelaunayTriangulationPhase",1463),D(1464,1,hr,tQe),h.Cd=function(t){wt(this.a,l(t,68).a)},I(a4t,"DelaunayTriangulationPhase/lambda$0$Type",1464),D(794,1,Vo,o3e),h.rg=function(t){return l(t,306),new Js},h.Kf=function(t,n){this.Jg(l(t,306),n)},h.Jg=function(t,n){var r,s,o;n.Ug("Minimum spanning tree construction",1),t.d?s=t.d.a:s=l(Rt(t.i,0),68).a,Ft(Pt(Q(t,(mT(),$L))))?o=Fle(t.e,s,(r=t.b,r)):o=Fle(t.e,s,t.b),B0t(this,o,t),n.Vg()},I(Yfe,"MinSTPhase",794),D(1466,794,Vo,OJe),h.Jg=function(t,n){var r,s,o,f;n.Ug("Maximum spanning tree construction",1),r=new nQe(t),t.d?o=t.d.c:o=l(Rt(t.i,0),68).c,Ft(Pt(Q(t,(mT(),$L))))?f=Fle(t.e,o,(s=r,s)):f=Fle(t.e,o,r),B0t(this,f,t),n.Vg()},I(Yfe,"MaxSTPhase",1466),D(1467,1,{},nQe),h.af=function(t){return jln(this.a,t)},I(Yfe,"MaxSTPhase/lambda$0$Type",1467),D(1465,1,hr,rQe),h.Cd=function(t){Dhn(this.a,l(t,68))},I(Yfe,"MinSTPhase/lambda$0$Type",1465),D(796,1,Vo,b$),h.rg=function(t){return l(t,306),new Js},h.Kf=function(t,n){r9n(this,l(t,306),n)},h.a=!1,I(Xfe,"GrowTreePhase",796),D(797,1,hr,j4e),h.Cd=function(t){wyn(this.a,this.b,this.c,l(t,225))},I(Xfe,"GrowTreePhase/lambda$0$Type",797),D(1468,1,Vo,Kne),h.rg=function(t){return l(t,306),new Js},h.Kf=function(t,n){h7n(this,l(t,306),n)},I(Xfe,"ShrinkTreeCompactionPhase",1468),D(795,1,hr,$4e),h.Cd=function(t){JTn(this.a,this.b,this.c,l(t,225))},I(Xfe,"ShrinkTreeCompactionPhase/lambda$0$Type",795);var oNe=Ts(Kc,"IGraphElementVisitor");D(872,1,{536:1},Tct),h.Kg=function(t){var n;n=s_n(this,t),mc(n,l(or(this.b,t),96)),eCn(this,t,n)};var HSt,USt;I(y6,"LayoutConfigurator",872);var JOn=Ts(y6,"LayoutConfigurator/IPropertyHolderOptionFilter");D(944,1,{2032:1},Wne),h.Lg=function(t,n){return fx(),!t.pf(n)},I(y6,"LayoutConfigurator/lambda$0$Type",944),D(943,1,{845:1},ry),h.Mg=function(t,n){return fx(),!t.pf(n)},I(y6,"LayoutConfigurator/lambda$1$Type",943),D(945,1,{2032:1},m5),h.Lg=function(t,n){return KZe(t,n)},I(y6,"LayoutConfigurator/lambda$2$Type",945),D(946,1,ei,Btt),h.Mb=function(t){return gpn(this.a,this.b,l(t,2032))},I(y6,"LayoutConfigurator/lambda$3$Type",946),D(869,1,{},iy),I(y6,"RecursiveGraphLayoutEngine",869),D(224,63,gp,lJe,Zp),I(y6,"UnsupportedConfigurationException",224),D(370,63,gp,O8),I(y6,"UnsupportedGraphException",370),D(761,1,{}),I(Kc,"AbstractRandomListAccessor",761),D(450,761,{},GA),h.Ng=function(){return null},h.d=!0,h.e=!0,h.f=0,I(yE,"AlgorithmAssembler",450),D(1200,1,ei,Kp),h.Mb=function(t){return!!l(t,106)},I(yE,"AlgorithmAssembler/lambda$0$Type",1200),D(1201,1,{},iQe),h.Kb=function(t){return eln(this.a,l(t,106))},I(yE,"AlgorithmAssembler/lambda$1$Type",1201),D(1202,1,ei,l8),h.Mb=function(t){return!!l(t,80)},I(yE,"AlgorithmAssembler/lambda$2$Type",1202),D(1203,1,hr,sQe),h.Cd=function(t){Dh(this.a,l(t,80))},I(yE,"AlgorithmAssembler/lambda$3$Type",1203),D(1204,1,hr,Ftt),h.Cd=function(t){Cfn(this.a,this.b,l(t,196))},I(yE,"AlgorithmAssembler/lambda$4$Type",1204),D(1343,1,ii,AI),h.Ne=function(t,n){return Xpn(l(t,196),l(n,196))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(yE,"EnumBasedFactoryComparator",1343),D(80,761,{80:1},Js),h.Ng=function(){return new Ys},h.a=0,I(yE,"LayoutProcessorConfiguration",80),D(1025,1,{536:1},Cie),h.Kg=function(t){vA(GSt,new aQe(t))};var VSt,GSt,KSt;I(Rc,"DeprecatedLayoutOptionReplacer",1025),D(1026,1,hr,m$),h.Cd=function(t){awn(l(t,167))},I(Rc,"DeprecatedLayoutOptionReplacer/lambda$0$Type",1026),D(1027,1,hr,v$),h.Cd=function(t){V5n(l(t,167))},I(Rc,"DeprecatedLayoutOptionReplacer/lambda$1$Type",1027),D(1028,1,{},aQe),h.Yd=function(t,n){Efn(this.a,l(t,149),l(n,41))},I(Rc,"DeprecatedLayoutOptionReplacer/lambda$2$Type",1028),D(143,1,{701:1,143:1},iv),h.Fb=function(t){return I6e(this,t)},h.Og=function(){return this.b},h.Pg=function(){return this.c},h.xe=function(){return this.e},h.Hb=function(){return g2(this.c)},h.Ib=function(){return"Layout Algorithm: "+this.c};var ZOn=I(Rc,"LayoutAlgorithmData",143);D(269,1,{},x1),I(Rc,"LayoutAlgorithmData/Builder",269),D(1029,1,{536:1},w$),h.Kg=function(t){De(t,207)&&!Ft(Pt(t.of((bi(),lY))))&&WAn(l(t,27))},I(Rc,"LayoutAlgorithmResolver",1029),D(233,1,{701:1,233:1},rx),h.Fb=function(t){return De(t,233)?wn(this.b,l(t,233).b):!1},h.Og=function(){return this.a},h.Pg=function(){return this.b},h.xe=function(){return this.d},h.Hb=function(){return g2(this.b)},h.Ib=function(){return"Layout Type: "+this.b},I(Rc,"LayoutCategoryData",233),D(357,1,{},sy),I(Rc,"LayoutCategoryData/Builder",357),D(879,1,{},Smt);var Rge;I(Rc,"LayoutMetaDataService",879),D(880,1,{},Aat),I(Rc,"LayoutMetaDataService/Registry",880),D(487,1,{487:1},ek),I(Rc,"LayoutMetaDataService/Registry/Triple",487),D(881,1,C6,Yne),h.Qg=function(){return new za},I(Rc,"LayoutMetaDataService/lambda$0$Type",881),D(882,1,s4,LI),h.Rg=function(t){return Xa(l(t,8))},I(Rc,"LayoutMetaDataService/lambda$1$Type",882),D(891,1,C6,h8),h.Qg=function(){return new mt},I(Rc,"LayoutMetaDataService/lambda$10$Type",891),D(892,1,s4,rb),h.Rg=function(t){return new Ml(l(t,13))},I(Rc,"LayoutMetaDataService/lambda$11$Type",892),D(893,1,C6,y$),h.Qg=function(){return new os},I(Rc,"LayoutMetaDataService/lambda$12$Type",893),D(894,1,s4,x$),h.Rg=function(t){return HO(l(t,67))},I(Rc,"LayoutMetaDataService/lambda$13$Type",894),D(895,1,C6,k$),h.Qg=function(){return new Ys},I(Rc,"LayoutMetaDataService/lambda$14$Type",895),D(896,1,s4,Xne),h.Rg=function(t){return BH(l(t,49))},I(Rc,"LayoutMetaDataService/lambda$15$Type",896),D(897,1,C6,f8),h.Qg=function(){return new bd},I(Rc,"LayoutMetaDataService/lambda$16$Type",897),D(898,1,s4,ay),h.Rg=function(t){return XH(l(t,49))},I(Rc,"LayoutMetaDataService/lambda$17$Type",898),D(899,1,C6,Wp),h.Qg=function(){return new Kwe},I(Rc,"LayoutMetaDataService/lambda$18$Type",899),D(900,1,s4,ib),h.Rg=function(t){return rst(l(t,157))},I(Rc,"LayoutMetaDataService/lambda$19$Type",900),D(883,1,C6,v5),h.Qg=function(){return new pl},I(Rc,"LayoutMetaDataService/lambda$2$Type",883),D(884,1,s4,tk),h.Rg=function(t){return new Zz(l(t,75))},I(Rc,"LayoutMetaDataService/lambda$3$Type",884),D(885,1,C6,AS),h.Qg=function(){return new a_},I(Rc,"LayoutMetaDataService/lambda$4$Type",885),D(886,1,s4,MI),h.Rg=function(t){return new Pae(l(t,140))},I(Rc,"LayoutMetaDataService/lambda$5$Type",886),D(887,1,C6,Qne),h.Qg=function(){return new L8},I(Rc,"LayoutMetaDataService/lambda$6$Type",887),D(888,1,s4,Jne),h.Rg=function(t){return new U4e(l(t,107))},I(Rc,"LayoutMetaDataService/lambda$7$Type",888),D(889,1,C6,T$),h.Qg=function(){return new DI},I(Rc,"LayoutMetaDataService/lambda$8$Type",889),D(890,1,s4,E$),h.Rg=function(t){return new Sht(l(t,385))},I(Rc,"LayoutMetaDataService/lambda$9$Type",890);var jge=Ts($P,"IProperty");D(23,1,{34:1,701:1,23:1,149:1},Qt),h.Fd=function(t){return Vhn(this,l(t,149))},h.Fb=function(t){return De(t,23)?wn(this.f,l(t,23).f):De(t,149)&&wn(this.f,l(t,149).Pg())},h.Sg=function(){var t;if(De(this.b,4)){if(t=oxe(this.b),t==null)throw ue(new ic(l4t+this.f+"'. Make sure it's type is registered with the "+(Xg(wF),wF.k)+bSe));return t}else return this.b},h.Og=function(){return this.d},h.Pg=function(){return this.f},h.xe=function(){return this.i},h.Hb=function(){return g2(this.f)},h.Ib=function(){return"Layout Option: "+this.f},I(Rc,"LayoutOptionData",23),D(24,1,{},Kt),I(Rc,"LayoutOptionData/Builder",24),D(170,22,{3:1,34:1,22:1,170:1},EO);var zd,P2,pa,Bn,Av,Eg=Br(Rc,"LayoutOptionData/Target",170,Hr,bvn,ndn),WSt;D(285,22,{3:1,34:1,22:1,285:1},R8);var Ta,co,ps,n9,Sc,X1,e7,cNe,YSt=Br(Rc,"LayoutOptionData/Type",285,Hr,Fwn,rdn),XSt,TM,uNe;D(116,1,{116:1},z8,Zh,FH),h.Fb=function(t){var n;return t==null||!De(t,116)?!1:(n=l(t,116),eu(this.c,n.c)&&eu(this.d,n.d)&&eu(this.b,n.b)&&eu(this.a,n.a))},h.Hb=function(){return RN(he(le(ka,1),jn,1,5,[this.c,this.d,this.b,this.a]))},h.Ib=function(){return"Rect[x="+this.c+",y="+this.d+",w="+this.b+",h="+this.a+"]"},h.a=0,h.b=0,h.c=0,h.d=0,I(WP,"ElkRectangle",116),D(8,1,{3:1,4:1,8:1,423:1},za,Moe,lt,xo),h.Fb=function(t){return jft(this,t)},h.Hb=function(){return $8(this.a)+H7n($8(this.b))},h.cg=function(t){var n,r,s,o;for(s=0;s<t.length&&T1t((Yn(s,t.length),t.charCodeAt(s)),uyt);)++s;for(n=t.length;n>0&&T1t((Yn(n-1,t.length),t.charCodeAt(n-1)),lyt);)--n;if(s>=n)throw ue(new Wn("The given string does not contain any numbers."));if(o=Yy((Va(s,n,t.length),t.substr(s,n-s)),`,|;|\r|
`),o.length!=2)throw ue(new Wn("Exactly two numbers are expected, "+o.length+" were found."));try{this.a=qy(Hy(o[0])),this.b=qy(Hy(o[1]))}catch(f){throw f=ms(f),De(f,130)?(r=f,ue(new Wn(hyt+r))):ue(f)}},h.Ib=function(){return"("+this.a+","+this.b+")"},h.a=0,h.b=0;var Ca=I(WP,"KVector",8);D(75,67,{3:1,4:1,20:1,31:1,56:1,16:1,67:1,15:1,75:1,423:1},pl,Zz,qrt),h.Pc=function(){return e4n(this)},h.cg=function(t){var n,r,s,o,f,g;s=Yy(t,`,|;|\\(|\\)|\\[|\\]|\\{|\\}| | |
`),Ch(this);try{for(r=0,f=0,o=0,g=0;r<s.length;)s[r]!=null&&Hy(s[r]).length>0&&(f%2==0?o=qy(s[r]):g=qy(s[r]),f>0&&f%2!=0&&ci(this,new lt(o,g)),++f),++r}catch(w){throw w=ms(w),De(w,130)?(n=w,ue(new Wn("The given string does not match the expected format for vectors."+n))):ue(w)}},h.Ib=function(){var t,n,r;for(t=new Eh("("),n=Fr(this,0);n.b!=n.d.c;)r=l(Pr(n),8),li(t,r.a+","+r.b),n.b!=n.d.c&&(t.a+="; ");return(t.a+=")",t).a};var lNe=I(WP,"KVectorChain",75);D(255,22,{3:1,34:1,22:1,255:1},A_);var $ge,oY,cY,QB,JB,uY,hNe=Br(Zl,"Alignment",255,Hr,Qvn,idn),QSt;D(991,1,Pf,Sie),h.hf=function(t){Qmt(t)};var fNe,zge,JSt,dNe,gNe,ZSt,pNe,e_t,t_t,bNe,mNe,n_t;I(Zl,"BoxLayouterOptions",991),D(992,1,{},nk),h.sf=function(){var t;return t=new Zne,t},h.tf=function(t){},I(Zl,"BoxLayouterOptions/BoxFactory",992),D(298,22,{3:1,34:1,22:1,298:1},L_);var EM,qge,CM,SM,_M,Hge,Uge=Br(Zl,"ContentAlignment",298,Hr,Jvn,sdn),r_t;D(699,1,Pf,bz),h.hf=function(t){an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,f4t),""),"Layout Algorithm"),"Select a specific layout algorithm."),(T2(),e7)),$t),hn((n1(),Bn))))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,d4t),""),"Resolved Layout Algorithm"),"Meta data associated with the selected algorithm."),X1),ZOn),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,aCe),""),"Alignment"),"Alignment of the selected node relative to other nodes; the exact meaning depends on the used algorithm."),vNe),ps),hNe),hn(pa)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,Nx),""),"Aspect Ratio"),"The desired aspect ratio of the drawing, that is the quotient of width by height."),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,wSe),""),"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."),X1),lNe),hn(zd)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,OG),""),"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."),yNe),n9),Uge),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,JP),""),"Debug Mode"),"Whether additional debug information shall be generated."),(Hn(),!1)),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,Afe),""),$Te),"Overall direction of edges: horizontal (right / left) or vertical (down / up)."),xNe),ps),MM),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,QP),""),"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."),ENe),ps),ipe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,mSe),""),"Expand Nodes"),"If active, nodes are expanded to fill the area of their parent."),!1),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,IG),""),"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`."),_Ne),ps),dPe),is(Bn,he(le(Eg,1),it,170,0,[pa]))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,r3),""),"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."),BNe),X1),FAe),is(Bn,he(le(Eg,1),it,170,0,[pa]))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,fL),""),"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),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,PG),""),"interactive Layout"),"Whether the graph should be changeable interactively and by setting constraints"),!1),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,dL),""),"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),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,Whe),""),"Port Constraints"),"Defines constraints of the position of the ports of a node."),zNe),ps),bPe),hn(pa)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,NG),""),"Position"),"The position of a node, port, or label. This is used by the 'Fixed Layout' algorithm to specify a pre-defined position."),X1),Ca),is(pa,he(le(Eg,1),it,170,0,[Av,P2]))))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,qP),""),"Priority"),"Defines the priority of an object; its meaning depends on the specific layout algorithm and the context where it is used."),Sc),to),is(pa,he(le(Eg,1),it,170,0,[zd]))))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,gG),""),"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)."),Sc),to),hn(Bn)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,hL),""),"Separate Connected Components"),"Whether each connected component should be processed separately."),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,mCe),""),"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."),ANe),X1),lNe),hn(zd)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,yCe),""),"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),Ta),Ps),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,xCe),""),"Hypernode"),"Whether the node should be handled as a hypernode."),!1),Ta),Ps),hn(pa)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,SOn),""),"Label Manager"),"Label managers can shorten labels upon a layout algorithm's request."),X1),iNn),is(Bn,he(le(Eg,1),it,170,0,[P2]))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,TCe),""),"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."),LNe),X1),BAe),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,iCe),""),"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),Ta),Ps),is(pa,he(le(Eg,1),it,170,0,[zd,Av,P2]))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,g4t),""),"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),co),ra),hn(pa)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,p4t),""),"Child Area Width"),"The width of the area occupied by the laid out children of a node."),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,b4t),""),"Child Area Height"),"The height of the area occupied by the laid out children of a node."),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,HP),""),o4t),"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),Ta),Ps),hn(Bn)))),Zs(t,HP,i3,null),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,m4t),""),"Animate"),"Whether the shift from the old layout to the new computed layout shall be animated."),!0),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,v4t),""),"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'."),bt(100)),Sc),to),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,w4t),""),"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),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,y4t),""),"Maximal Animation Time"),"The maximal time for animations, in milliseconds."),bt(4e3)),Sc),to),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,x4t),""),"Minimal Animation Time"),"The minimal time for animations, in milliseconds."),bt(400)),Sc),to),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,k4t),""),"Progress Bar"),"Whether a progress bar shall be displayed during layout computations."),!1),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,T4t),""),"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),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,E4t),""),"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),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,C4t),""),"Zoom to Fit"),"Whether the zoom level shall be set to view the whole diagram after layout."),!1),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,vSe),"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."),wNe),ps),SPe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,KEe),V1),"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),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,WEe),V1),"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),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,zhe),V1),"Components Spacing"),"Spacing to be preserved between pairs of connected components. This option is only relevant if 'separateConnectedComponents' is activated."),20),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,YEe),V1),"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),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,Khe),V1),"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),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,_fe),V1),"Edge Node Spacing"),"Spacing to be preserved between nodes and edges."),10),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,XEe),V1),"Label Spacing"),"Determines the amount of space to be left between two labels of the same graph element."),0),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,ZEe),V1),"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),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,QEe),V1),"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),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,JEe),V1),"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),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,t4),V1),"Node Spacing"),"The minimal distance to be preserved between each two nodes."),20),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,eCe),V1),"Node Self Loop Spacing"),"Spacing to be preserved between a node and its self loops."),10),co),ra),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,tCe),V1),"Port Spacing"),"Spacing between pairs of ports of the same node."),10),co),ra),is(Bn,he(le(Eg,1),it,170,0,[pa]))))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,nCe),V1),"Individual Spacing"),"Allows to specify individual spacing values for graph elements that shall be different from the value specified for the element's parent."),X1),U_t),is(pa,he(le(Eg,1),it,170,0,[zd,Av,P2]))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,ECe),V1),"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."),JNe),X1),BAe),hn(Bn)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,Mfe),A4t),"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)."),Sc),to),is(Bn,he(le(Eg,1),it,170,0,[pa]))))),Zs(t,Mfe,Lfe,f_t),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,Lfe),A4t),"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."),FNe),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,uCe),L4t),"Node Label Padding"),"Define padding for node labels that are placed inside of a node."),DNe),X1),FAe),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,gE),L4t),"Node Label Placement"),"Hints for where node labels are to be placed; if empty, the node label's position is not modified."),INe),n9),Ko),is(pa,he(le(Eg,1),it,170,0,[P2]))))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,fCe),VG),"Port Alignment"),"Defines the default port distribution for a node. May be overridden for each side individually."),jNe),ps),NM),hn(pa)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,dCe),VG),"Port Alignment (North)"),"Defines how ports on the northern side are placed, overriding the node's general port alignment."),ps),NM),hn(pa)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,gCe),VG),"Port Alignment (South)"),"Defines how ports on the southern side are placed, overriding the node's general port alignment."),ps),NM),hn(pa)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,pCe),VG),"Port Alignment (West)"),"Defines how ports on the western side are placed, overriding the node's general port alignment."),ps),NM),hn(pa)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,bCe),VG),"Port Alignment (East)"),"Defines how ports on the eastern side are placed, overriding the node's general port alignment."),ps),NM),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,T6),Jfe),"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."),ONe),n9),FM),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,Px),Jfe),"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."),PNe),n9),vPe),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,Bx),Jfe),"Node Size Minimum"),"The minimal size to which a node can be reduced."),NNe),X1),Ca),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,dE),Jfe),"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),Ta),Ps),hn(Bn)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,vCe),Sfe),"Edge Label Placement"),"Gives a hint on where to put edge labels."),kNe),ps),tPe),hn(P2)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,pG),Sfe),"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),Ta),Ps),hn(P2)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,_On),"font"),"Font Name"),"Font name used for a label."),e7),$t),hn(P2)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,S4t),"font"),"Font Size"),"Font size used for a label."),Sc),to),hn(P2)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,kCe),Zfe),"Port Anchor Offset"),"The offset to the port position where connections shall be attached."),X1),Ca),hn(Av)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,wCe),Zfe),"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."),Sc),to),hn(Av)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,sCe),Zfe),"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."),UNe),ps),Mo),hn(Av)))),an(t,new Qt(rn(nn(sn(Jt(tn(Zt(en(new Kt,rCe),Zfe),"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."),co),ra),hn(Av)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,pE),kSe),"Port Label Placement"),"Decides on a placement method for port labels; if empty, the node label's position is not modified."),qNe),n9),pY),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,lCe),kSe),"Port Labels Next to Port"),"Use 'portLabels.placement': NEXT_TO_PORT_OF_POSSIBLE."),!1),Ta),Ps),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,hCe),kSe),"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),Ta),Ps),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,UP),tB),"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),co),ra),hn(Bn)))),Zs(t,UP,i3,y_t),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,ySe),tB),"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),ps),xY),hn(pa)))),Zs(t,ySe,i3,x_t),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,VP),tB),"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),co),ra),is(Bn,he(le(Eg,1),it,170,0,[pa]))))),Zs(t,VP,i3,null),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,GP),tB),"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),co),ra),is(Bn,he(le(Eg,1),it,170,0,[pa]))))),Zs(t,GP,i3,null),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,i3),tB),"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),ps),yPe),hn(pa)))),Zs(t,i3,dE,null),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,xSe),tB),"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),co),ra),hn(Bn)))),Zs(t,xSe,i3,w_t),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,oCe),M4t),"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),Ta),Ps),hn(pa)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,cCe),M4t),"Inside Self Loop"),"Whether a self loop should be routed inside a node instead of around that node."),!1),Ta),Ps),hn(zd)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,qhe),"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),co),ra),hn(zd)))),an(t,new Qt(rn(nn(sn(yn(Jt(tn(Zt(en(new Kt,_4t),"edge"),"Edge Type"),"The type of an edge. This is usually used for UML class diagrams, where associations must be handled differently from generalizations."),SNe),ps),oPe),hn(zd)))),v_(t,new rx(d_(_k(Sk(new sy,ir),"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.'))),v_(t,new rx(d_(_k(Sk(new sy,"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.`))),v_(t,new rx(d_(_k(Sk(new sy,Yu),"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."))),v_(t,new rx(d_(_k(Sk(new sy,"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."))),v_(t,new rx(d_(_k(Sk(new sy,Gyt),"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."))),v_(t,new rx(d_(_k(Sk(new sy,"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."))),v_(t,new rx(d_(_k(Sk(new sy,df),"Radial"),"Radial layout algorithms usually position the nodes of the graph on concentric circles."))),Bmt((new _ie,t)),Qmt((new Sie,t)),lmt((new mz,t))};var nC,i_t,vNe,t7,s_t,a_t,wNe,n7,r7,o_t,ZB,yNe,eF,Lv,xNe,Vge,Gge,kNe,TNe,ENe,CNe,SNe,c_t,i7,_Ne,u_t,tF,Kge,nF,Wge,A3,ANe,rC,LNe,MNe,DNe,s7,INe,Mv,ONe,A4,a7,NNe,em,PNe,lY,rF,B2,BNe,l_t,FNe,h_t,f_t,RNe,jNe,Yge,Xge,Qge,Jge,$Ne,eh,AM,zNe,Zge,epe,L4,qNe,HNe,o7,UNe,r9,iF,tpe,c7,d_t,npe,g_t,p_t,VNe,b_t,GNe,KNe,i9,WNe,hY,YNe,XNe,Dv,m_t,QNe,JNe,ZNe,fY,sF,LM,s9,v_t,w_t,dY,y_t,ePe,x_t;I(Zl,"CoreOptions",699),D(88,22,{3:1,34:1,22:1,88:1},CO);var Q1,hc,yc,J1,vf,MM=Br(Zl,$Te,88,Hr,nvn,adn),k_t;D(278,22,{3:1,34:1,22:1,278:1},tae);var iC,M4,sC,tPe=Br(Zl,"EdgeLabelPlacement",278,Hr,Dbn,odn),T_t;D(223,22,{3:1,34:1,22:1,223:1},Aq);var aC,aF,a9,rpe,ipe=Br(Zl,"EdgeRouting",223,Hr,Dmn,cdn),E_t;D(321,22,{3:1,34:1,22:1,321:1},M_);var nPe,rPe,iPe,sPe,spe,aPe,oPe=Br(Zl,"EdgeType",321,Hr,Xvn,udn),C_t;D(989,1,Pf,_ie),h.hf=function(t){Bmt(t)};var cPe,uPe,lPe,hPe,S_t,fPe,DM;I(Zl,"FixedLayouterOptions",989),D(990,1,{},C$),h.sf=function(){var t;return t=new sre,t},h.tf=function(t){},I(Zl,"FixedLayouterOptions/FixedFactory",990),D(346,22,{3:1,34:1,22:1,346:1},nae);var F2,gY,IM,dPe=Br(Zl,"HierarchyHandling",346,Hr,Lbn,ldn),__t;D(291,22,{3:1,34:1,22:1,291:1},Lq);var Cg,tm,oF,cF,A_t=Br(Zl,"LabelSide",291,Hr,Mmn,hdn),L_t;D(95,22,{3:1,34:1,22:1,95:1},O5);var xp,k0,zf,T0,jh,E0,qf,Sg,C0,Ko=Br(Zl,"NodeLabelPlacement",95,Hr,Qwn,fdn),M_t;D(256,22,{3:1,34:1,22:1,256:1},SO);var gPe,OM,nm,pPe,uF,NM=Br(Zl,"PortAlignment",256,Hr,mvn,ddn),D_t;D(101,22,{3:1,34:1,22:1,101:1},D_);var Iv,Au,_g,oC,Z1,rm,bPe=Br(Zl,"PortConstraints",101,Hr,Yvn,gdn),I_t;D(279,22,{3:1,34:1,22:1,279:1},I_);var PM,BM,kp,lF,im,o9,pY=Br(Zl,"PortLabelPlacement",279,Hr,Wvn,pdn),O_t;D(64,22,{3:1,34:1,22:1,64:1},_O);var sr,Xn,wf,yf,ul,Ju,ed,S0,Rl,Sl,Lu,jl,ll,hl,_0,$h,zh,Hf,Mr,jc,Zn,Mo=Br(Zl,"PortSide",64,Hr,rvn,bdn),N_t;D(993,1,Pf,mz),h.hf=function(t){lmt(t)};var P_t,B_t,mPe,F_t,R_t;I(Zl,"RandomLayouterOptions",993),D(994,1,{},S$),h.sf=function(){var t;return t=new nre,t},h.tf=function(t){},I(Zl,"RandomLayouterOptions/RandomFactory",994),D(386,22,{3:1,34:1,22:1,386:1},Mq);var D4,hF,fF,Ov,FM=Br(Zl,"SizeConstraint",386,Hr,Lmn,mdn),j_t;D(264,22,{3:1,34:1,22:1,264:1},N5);var dF,bY,cC,ape,gF,RM,mY,vY,wY,vPe=Br(Zl,"SizeOptions",264,Hr,u3n,vdn),$_t;D(280,22,{3:1,34:1,22:1,280:1},rae);var I4,wPe,yY,yPe=Br(Zl,"TopdownNodeTypes",280,Hr,Ibn,wdn),z_t;D(347,22,TSe);var xPe,kPe,xY=Br(Zl,"TopdownSizeApproximator",347,Hr,_2n,xdn);D(987,347,TSe,Est),h.Tg=function(t){return egt(t)},Br(Zl,"TopdownSizeApproximator/1",987,xY,null,null),D(988,347,TSe,uat),h.Tg=function(t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn,Fn;for(n=l(at(t,(bi(),c7)),143),At=(fb(),V=new o_,V),gP(At,t),ln=new Nr,f=new ar((!t.a&&(t.a=new nt(Li,t,10,11)),t.a));f.e!=f.i.gc();)s=l(dr(f),27),Me=(z=new o_,z),BV(Me,At),gP(Me,s),Fn=egt(s),j5(Me,b.Math.max(s.g,Fn.a),b.Math.max(s.f,Fn.b)),Ru(ln.f,s,Me);for(o=new ar((!t.a&&(t.a=new nt(Li,t,10,11)),t.a));o.e!=o.i.gc();)for(s=l(dr(o),27),L=new ar((!s.e&&(s.e=new An(js,s,7,4)),s.e));L.e!=L.i.gc();)C=l(dr(L),74),Je=l(dc(zo(ln.f,s)),27),ot=l(or(ln,Oe((!C.c&&(C.c=new An(Sr,C,5,8)),C.c),0)),27),$e=(F=new II,F),zr((!$e.b&&($e.b=new An(Sr,$e,4,7)),$e.b),Je),zr((!$e.c&&($e.c=new An(Sr,$e,5,8)),$e.c),ot),PV($e,ds(Je)),gP($e,C);te=l(eN(n.f),205);try{te.rf(At,new A$),$at(n.f,te)}catch($n){throw $n=ms($n),De($n,103)?(J=$n,ue(J)):ue($n)}return P1(At,r7)||P1(At,n7)||uTe(At),T=ze(Ge(at(At,r7))),w=ze(Ge(at(At,n7))),g=T/w,r=ze(Ge(at(At,sF)))*b.Math.sqrt((!At.a&&(At.a=new nt(Li,At,10,11)),At.a).i),cn=l(at(At,B2),107),Ee=cn.b+cn.c+1,fe=cn.d+cn.a+1,new lt(b.Math.max(Ee,r),b.Math.max(fe,r/g))},Br(Zl,"TopdownSizeApproximator/2",988,xY,null,null);var q_t;D(344,1,{871:1},M8),h.Ug=function(t,n){return dpt(this,t,n)},h.Vg=function(){Bpt(this)},h.Wg=function(){return this.q},h.Xg=function(){return this.f?voe(this.f):null},h.Yg=function(){return voe(this.a)},h.Zg=function(){return this.p},h.$g=function(){return!1},h._g=function(){return this.n},h.ah=function(){return this.p!=null&&!this.b},h.bh=function(t){var n;this.n&&(n=t,wt(this.f,n))},h.dh=function(t,n){var r,s;this.n&&t&&Kbn(this,(r=new xat,s=kle(r,t),ADn(r),s),(zU(),cpe))},h.eh=function(t){var n;return this.b?null:(n=Iwn(this,this.g),ci(this.a,n),n.i=this,this.d=t,n)},h.fh=function(t){t>0&&!this.b&&S7e(this,t)},h.b=!1,h.c=0,h.d=-1,h.e=null,h.f=null,h.g=-1,h.j=!1,h.k=!1,h.n=!1,h.o=0,h.q=0,h.r=0,I(Kc,"BasicProgressMonitor",344),D(717,205,uv,Zne),h.rf=function(t,n){gvt(t,n)},I(Kc,"BoxLayoutProvider",717),D(983,1,ii,oQe),h.Ne=function(t,n){return ACn(this,l(t,27),l(n,27))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},h.a=!1,I(Kc,"BoxLayoutProvider/1",983),D(163,1,{163:1},vU,Wrt),h.Ib=function(){return this.c?Cke(this.c):Ob(this.b)},I(Kc,"BoxLayoutProvider/Group",163),D(320,22,{3:1,34:1,22:1,320:1},Dq);var TPe,EPe,CPe,ope,SPe=Br(Kc,"BoxLayoutProvider/PackingMode",320,Hr,Imn,kdn),H_t;D(984,1,ii,rk),h.Ne=function(t,n){return Kpn(l(t,163),l(n,163))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Kc,"BoxLayoutProvider/lambda$0$Type",984),D(985,1,ii,ik),h.Ne=function(t,n){return jpn(l(t,163),l(n,163))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Kc,"BoxLayoutProvider/lambda$1$Type",985),D(986,1,ii,_$),h.Ne=function(t,n){return $pn(l(t,163),l(n,163))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(Kc,"BoxLayoutProvider/lambda$2$Type",986),D(1384,1,{845:1},ere),h.Mg=function(t,n){return cq(),!De(n,167)||KZe((fx(),l(t,167)),n)},I(Kc,"ElkSpacings/AbstractSpacingsBuilder/lambda$0$Type",1384),D(1385,1,hr,cQe),h.Cd=function(t){r4n(this.a,l(t,149))},I(Kc,"ElkSpacings/AbstractSpacingsBuilder/lambda$1$Type",1385),D(1386,1,hr,rre),h.Cd=function(t){l(t,96),cq()},I(Kc,"ElkSpacings/AbstractSpacingsBuilder/lambda$2$Type",1386),D(1390,1,hr,uQe),h.Cd=function(t){C3n(this.a,l(t,96))},I(Kc,"ElkSpacings/AbstractSpacingsBuilder/lambda$3$Type",1390),D(1388,1,ei,jtt),h.Mb=function(t){return Ryn(this.a,this.b,l(t,149))},I(Kc,"ElkSpacings/AbstractSpacingsBuilder/lambda$4$Type",1388),D(1387,1,ei,$tt),h.Mb=function(t){return wfn(this.a,this.b,l(t,845))},I(Kc,"ElkSpacings/AbstractSpacingsBuilder/lambda$5$Type",1387),D(1389,1,hr,ztt),h.Cd=function(t){Ign(this.a,this.b,l(t,149))},I(Kc,"ElkSpacings/AbstractSpacingsBuilder/lambda$6$Type",1389),D(947,1,{},ire),h.Kb=function(t){return Bnt(t)},h.Fb=function(t){return this===t},I(Kc,"ElkUtil/lambda$0$Type",947),D(948,1,hr,qtt),h.Cd=function(t){DTn(this.a,this.b,l(t,74))},h.a=0,h.b=0,I(Kc,"ElkUtil/lambda$1$Type",948),D(949,1,hr,Htt),h.Cd=function(t){kun(this.a,this.b,l(t,166))},h.a=0,h.b=0,I(Kc,"ElkUtil/lambda$2$Type",949),D(950,1,hr,Utt),h.Cd=function(t){mhn(this.a,this.b,l(t,135))},h.a=0,h.b=0,I(Kc,"ElkUtil/lambda$3$Type",950),D(951,1,hr,lQe),h.Cd=function(t){Zdn(this.a,l(t,377))},I(Kc,"ElkUtil/lambda$4$Type",951),D(325,1,{34:1,325:1},Jcn),h.Fd=function(t){return Ghn(this,l(t,242))},h.Fb=function(t){var n;return De(t,325)?(n=l(t,325),this.a==n.a):!1},h.Hb=function(){return da(this.a)},h.Ib=function(){return this.a+" (exclusive)"},h.a=0,I(Kc,"ExclusiveBounds/ExclusiveLowerBound",325),D(1119,205,uv,sre),h.rf=function(t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee,Me,$e,Je,ot,At,ln,cn;for(n.Ug("Fixed Layout",1),f=l(at(t,(bi(),TNe)),223),F=0,z=0,Me=new ar((!t.a&&(t.a=new nt(Li,t,10,11)),t.a));Me.e!=Me.i.gc();){for(fe=l(dr(Me),27),cn=l(at(fe,(qU(),DM)),8),cn&&(Xh(fe,cn.a,cn.b),l(at(fe,uPe),181).Hc((gh(),D4))&&(V=l(at(fe,hPe),8),V.a>0&&V.b>0&&Zw(fe,V.a,V.b,!0,!0))),F=b.Math.max(F,fe.i+fe.g),z=b.Math.max(z,fe.j+fe.f),C=new ar((!fe.n&&(fe.n=new nt(nc,fe,1,7)),fe.n));C.e!=C.i.gc();)w=l(dr(C),135),cn=l(at(w,DM),8),cn&&Xh(w,cn.a,cn.b),F=b.Math.max(F,fe.i+w.i+w.g),z=b.Math.max(z,fe.j+w.j+w.f);for(ot=new ar((!fe.c&&(fe.c=new nt($l,fe,9,9)),fe.c));ot.e!=ot.i.gc();)for(Je=l(dr(ot),123),cn=l(at(Je,DM),8),cn&&Xh(Je,cn.a,cn.b),At=fe.i+Je.i,ln=fe.j+Je.j,F=b.Math.max(F,At+Je.g),z=b.Math.max(z,ln+Je.f),T=new ar((!Je.n&&(Je.n=new nt(nc,Je,1,7)),Je.n));T.e!=T.i.gc();)w=l(dr(T),135),cn=l(at(w,DM),8),cn&&Xh(w,cn.a,cn.b),F=b.Math.max(F,At+w.i+w.g),z=b.Math.max(z,ln+w.j+w.f);for(o=new lr(fr(fp(fe).a.Kc(),new j));Rr(o);)r=l(yr(o),74),L=Awt(r),F=b.Math.max(F,L.a),z=b.Math.max(z,L.b);for(s=new lr(fr(dP(fe).a.Kc(),new j));Rr(s);)r=l(yr(s),74),ds(hg(r))!=t&&(L=Awt(r),F=b.Math.max(F,L.a),z=b.Math.max(z,L.b))}if(f==(cp(),aC))for(Ee=new ar((!t.a&&(t.a=new nt(Li,t,10,11)),t.a));Ee.e!=Ee.i.gc();)for(fe=l(dr(Ee),27),s=new lr(fr(fp(fe).a.Kc(),new j));Rr(s);)r=l(yr(s),74),g=OAn(r),g.b==0?Vi(r,A3,null):Vi(r,A3,g);Ft(Pt(at(t,(qU(),lPe))))||($e=l(at(t,S_t),107),te=F+$e.b+$e.c,J=z+$e.d+$e.a,Zw(t,te,J,!0,!0)),n.Vg()},I(Kc,"FixedLayoutProvider",1119),D(385,137,{3:1,423:1,385:1,96:1,137:1},DI,Sht),h.cg=function(t){var n,r,s,o,f,g,w,T,C;if(t)try{for(T=Yy(t,";,;"),f=T,g=0,w=f.length;g<w;++g){if(o=f[g],r=Yy(o,"\\:"),s=tTe(dT(),r[0]),!s)throw ue(new Wn("Invalid option id: "+r[0]));if(C=Zke(s,r[1]),C==null)throw ue(new Wn("Invalid option value: "+r[1]));C==null?(!this.q&&(this.q=new Nr),ox(this.q,s)):(!this.q&&(this.q=new Nr),Ti(this.q,s,C))}}catch(L){throw L=ms(L),De(L,103)?(n=L,ue(new l1t(n))):ue(L)}},h.Ib=function(){var t;return t=Zr(kc(gc((this.q?this.q:(Cn(),Cn(),yg)).vc().Oc(),new are),Ly(new sst,new ia,new kt,new Nn,he(le(uc,1),it,108,0,[])))),t};var U_t=I(Kc,"IndividualSpacings",385);D(982,1,{},are),h.Kb=function(t){return Wpn(l(t,44))},I(Kc,"IndividualSpacings/lambda$0$Type",982),D(718,1,{},$st),h.c=0,I(Kc,"InstancePool",718),D(1835,1,{},ore),I(Kc,"LoggedGraph",1835),D(415,22,{3:1,34:1,22:1,415:1},Iq);var _Pe,cpe,APe,LPe,V_t=Br(Kc,"LoggedGraph/Type",415,Hr,Omn,Tdn),G_t;D(1063,1,{871:1},A$),h.Ug=function(t,n){return!1},h.Vg=function(){},h.Wg=function(){return 0},h.Xg=function(){return null},h.Yg=function(){return null},h.Zg=function(){return null},h.$g=function(){return!1},h._g=function(){return!1},h.ah=function(){return!1},h.bh=function(t){},h.dh=function(t,n){},h.eh=function(t){return this},h.fh=function(t){},I(Kc,"NullElkProgressMonitor",1063),D(42,1,{20:1,42:1},fa),h.Jc=function(t){Za(this,t)},h.Fb=function(t){var n,r,s;return De(t,42)?(r=l(t,42),n=this.a==null?r.a==null:Fi(this.a,r.a),s=this.b==null?r.b==null:Fi(this.b,r.b),n&&s):!1},h.Hb=function(){var t,n,r,s,o,f;return r=this.a==null?0:ts(this.a),t=r&ta,n=r&-65536,f=this.b==null?0:ts(this.b),s=f&ta,o=f&-65536,t^o>>16&ta|n^s<<16},h.Kc=function(){return new hQe(this)},h.Ib=function(){return this.a==null&&this.b==null?"pair(null,null)":this.a==null?"pair(null,"+Tc(this.b)+")":this.b==null?"pair("+Tc(this.a)+",null)":"pair("+Tc(this.a)+","+Tc(this.b)+")"},I(Kc,"Pair",42),D(995,1,Ia,hQe),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return!this.c&&(!this.b&&this.a.a!=null||this.a.b!=null)},h.Pb=function(){if(!this.c&&!this.b&&this.a.a!=null)return this.b=!0,this.a.a;if(!this.c&&this.a.b!=null)return this.c=!0,this.a.b;throw ue(new Dc)},h.Qb=function(){throw this.c&&this.a.b!=null?this.a.b=null:this.b&&this.a.a!=null&&(this.a.a=null),ue(new gl)},h.b=!1,h.c=!1,I(Kc,"Pair/1",995),D(455,1,{455:1},not),h.Fb=function(t){return eu(this.a,l(t,455).a)&&eu(this.c,l(t,455).c)&&eu(this.d,l(t,455).d)&&eu(this.b,l(t,455).b)},h.Hb=function(){return RN(he(le(ka,1),jn,1,5,[this.a,this.c,this.d,this.b]))},h.Ib=function(){return"("+this.a+To+this.c+To+this.d+To+this.b+")"},I(Kc,"Quadruple",455),D(1108,205,uv,nre),h.rf=function(t,n){var r,s,o,f,g;if(n.Ug("Random Layout",1),(!t.a&&(t.a=new nt(Li,t,10,11)),t.a).i==0){n.Vg();return}f=l(at(t,(exe(),F_t)),17),f&&f.a!=0?o=new QH(f.a):o=new sue,r=iO(Ge(at(t,P_t))),g=iO(Ge(at(t,R_t))),s=l(at(t,B_t),107),QDn(t,o,r,g,s),n.Vg()},I(Kc,"RandomLayoutProvider",1108),D(240,1,{240:1},Oae),h.Fb=function(t){return eu(this.a,l(t,240).a)&&eu(this.b,l(t,240).b)&&eu(this.c,l(t,240).c)},h.Hb=function(){return RN(he(le(ka,1),jn,1,5,[this.a,this.b,this.c]))},h.Ib=function(){return"("+this.a+To+this.b+To+this.c+")"},I(Kc,"Triple",240);var K_t;D(562,1,{}),h.Lf=function(){return new lt(this.f.i,this.f.j)},h.of=function(t){return Mot(t,(bi(),eh))?at(this.f,W_t):at(this.f,t)},h.Mf=function(){return new lt(this.f.g,this.f.f)},h.Nf=function(){return this.g},h.pf=function(t){return P1(this.f,t)},h.Of=function(t){Vu(this.f,t.a),Gu(this.f,t.b)},h.Pf=function(t){Rw(this.f,t.a),Fw(this.f,t.b)},h.Qf=function(t){this.g=t},h.g=0;var W_t;I(kL,"ElkGraphAdapters/AbstractElkGraphElementAdapter",562),D(563,1,{853:1},$z),h.Rf=function(){var t,n;if(!this.b)for(this.b=KH(MH(this.a).i),n=new ar(MH(this.a));n.e!=n.i.gc();)t=l(dr(n),135),wt(this.b,new use(t));return this.b},h.b=null,I(kL,"ElkGraphAdapters/ElkEdgeAdapter",563),D(289,562,{},sw),h.Sf=function(){return kgt(this)},h.a=null,I(kL,"ElkGraphAdapters/ElkGraphAdapter",289),D(640,562,{187:1},use),I(kL,"ElkGraphAdapters/ElkLabelAdapter",640),D(639,562,{695:1},mae),h.Rf=function(){return R7n(this)},h.Vf=function(){var t;return t=l(at(this.f,(bi(),rC)),140),!t&&(t=new a_),t},h.Xf=function(){return j7n(this)},h.Zf=function(t){var n;n=new Pae(t),Vi(this.f,(bi(),rC),n)},h.$f=function(t){Vi(this.f,(bi(),B2),new U4e(t))},h.Tf=function(){return this.d},h.Uf=function(){var t,n;if(!this.a)for(this.a=new mt,n=new lr(fr(dP(l(this.f,27)).a.Kc(),new j));Rr(n);)t=l(yr(n),74),wt(this.a,new $z(t));return this.a},h.Wf=function(){var t,n;if(!this.c)for(this.c=new mt,n=new lr(fr(fp(l(this.f,27)).a.Kc(),new j));Rr(n);)t=l(yr(n),74),wt(this.c,new $z(t));return this.c},h.Yf=function(){return PH(l(this.f,27)).i!=0||Ft(Pt(l(this.f,27).of((bi(),tF))))},h._f=function(){mwn(this,(dw(),K_t))},h.a=null,h.b=null,h.c=null,h.d=null,h.e=null,I(kL,"ElkGraphAdapters/ElkNodeAdapter",639),D(1284,562,{852:1},fQe),h.Rf=function(){return K7n(this)},h.Uf=function(){var t,n;if(!this.a)for(this.a=rg(l(this.f,123).hh().i),n=new ar(l(this.f,123).hh());n.e!=n.i.gc();)t=l(dr(n),74),wt(this.a,new $z(t));return this.a},h.Wf=function(){var t,n;if(!this.c)for(this.c=rg(l(this.f,123).ih().i),n=new ar(l(this.f,123).ih());n.e!=n.i.gc();)t=l(dr(n),74),wt(this.c,new $z(t));return this.c},h.ag=function(){return l(l(this.f,123).of((bi(),o7)),64)},h.bg=function(){var t,n,r,s,o,f,g,w;for(s=M1(l(this.f,123)),r=new ar(l(this.f,123).ih());r.e!=r.i.gc();)for(t=l(dr(r),74),w=new ar((!t.c&&(t.c=new An(Sr,t,5,8)),t.c));w.e!=w.i.gc();){if(g=l(dr(w),84),Iy(vc(g),s))return!0;if(vc(g)==s&&Ft(Pt(at(t,(bi(),Kge)))))return!0}for(n=new ar(l(this.f,123).hh());n.e!=n.i.gc();)for(t=l(dr(n),74),f=new ar((!t.b&&(t.b=new An(Sr,t,4,7)),t.b));f.e!=f.i.gc();)if(o=l(dr(f),84),Iy(vc(o),s))return!0;return!1},h.a=null,h.b=null,h.c=null,I(kL,"ElkGraphAdapters/ElkPortAdapter",1284),D(1285,1,ii,tre),h.Ne=function(t,n){return C_n(l(t,123),l(n,123))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I(kL,"ElkGraphAdapters/PortComparator",1285);var sm=Ts(gf,"EObject"),uC=Ts(S6,O4t),qh=Ts(S6,N4t),pF=Ts(S6,P4t),bF=Ts(S6,"ElkShape"),Sr=Ts(S6,B4t),js=Ts(S6,ESe),cs=Ts(S6,F4t),mF=Ts(gf,R4t),jM=Ts(gf,"EFactory"),Y_t,upe=Ts(gf,j4t),c1=Ts(gf,"EPackage"),La,X_t,Q_t,MPe,kY,J_t,DPe,IPe,OPe,Ag,Z_t,eAt,nc=Ts(S6,CSe),Li=Ts(S6,SSe),$l=Ts(S6,_Se);D(93,1,$4t),h.th=function(){return this.uh(),null},h.uh=function(){return null},h.vh=function(){return this.uh(),!1},h.wh=function(){return!1},h.xh=function(t){Bi(this,t)},I(jx,"BasicNotifierImpl",93),D(99,93,U4t),h.Yh=function(){return ch(this)},h.yh=function(t,n){return t},h.zh=function(){throw ue(new Qr)},h.Ah=function(t){var n;return n=jo(l(Mn(this.Dh(),this.Fh()),19)),this.Ph().Th(this,n.n,n.f,t)},h.Bh=function(t,n){throw ue(new Qr)},h.Ch=function(t,n,r){return Nh(this,t,n,r)},h.Dh=function(){var t;return this.zh()&&(t=this.zh().Nk(),t)?t:this.ii()},h.Eh=function(){return sle(this)},h.Fh=function(){throw ue(new Qr)},h.Gh=function(){var t,n;return n=this.$h().Ok(),!n&&this.zh().Tk(n=(y_(),t=r6e(Sd(this.Dh())),t==null?mpe:new IO(this,t))),n},h.Hh=function(t,n){return t},h.Ih=function(t){var n;return n=t.pk(),n?t.Lj():vs(this.Dh(),t)},h.Jh=function(){var t;return t=this.zh(),t?t.Qk():null},h.Kh=function(){return this.zh()?this.zh().Nk():null},h.Lh=function(t,n,r){return lV(this,t,n,r)},h.Mh=function(t){return rT(this,t)},h.Nh=function(t,n){return Uoe(this,t,n)},h.Oh=function(){var t;return t=this.zh(),!!t&&t.Rk()},h.Ph=function(){throw ue(new Qr)},h.Qh=function(){return rV(this)},h.Rh=function(t,n,r,s){return vx(this,t,n,s)},h.Sh=function(t,n,r){var s;return s=l(Mn(this.Dh(),n),69),s.wk().zk(this,this.hi(),n-this.ji(),t,r)},h.Th=function(t,n,r,s){return jH(this,t,n,s)},h.Uh=function(t,n,r){var s;return s=l(Mn(this.Dh(),n),69),s.wk().Ak(this,this.hi(),n-this.ji(),t,r)},h.Vh=function(){return!!this.zh()&&!!this.zh().Pk()},h.Wh=function(t){return bue(this,t)},h.Xh=function(t){return Uot(this,t)},h.Zh=function(t){return fwt(this,t)},h.$h=function(){throw ue(new Qr)},h._h=function(){return this.zh()?this.zh().Pk():null},h.ai=function(){return rV(this)},h.bi=function(t,n){ele(this,t,n)},h.ci=function(t){this.$h().Sk(t)},h.di=function(t){this.$h().Vk(t)},h.ei=function(t){this.$h().Uk(t)},h.fi=function(t,n){var r,s,o,f;return f=this.Jh(),f&&t&&(n=ko(f.El(),this,n),f.Il(this)),s=this.Ph(),s&&(wle(this,this.Ph(),this.Fh()).Bb&Lo?(o=s.Qh(),o&&(t?!f&&o.Il(this):o.Hl(this))):(n=(r=this.Fh(),r>=0?this.Ah(n):this.Ph().Th(this,-1-r,null,n)),n=this.Ch(null,-1,n))),this.di(t),n},h.gi=function(t){var n,r,s,o,f,g,w,T;if(r=this.Dh(),f=vs(r,t),n=this.ji(),f>=n)return l(t,69).wk().Dk(this,this.hi(),f-n);if(f<=-1)if(g=b6((kl(),no),r,t),g){if(Ro(),l(g,69).xk()||(g=ix(ac(no,g))),o=(s=this.Ih(g),l(s>=0?this.Lh(s,!0,!0):Xw(this,g,!0),160)),T=g.Ik(),T>1||T==-1)return l(l(o,220).Sl(t,!1),79)}else throw ue(new Wn(qb+t.xe()+e0e));else if(t.Jk())return s=this.Ih(t),l(s>=0?this.Lh(s,!1,!0):Xw(this,t,!1),79);return w=new cnt(this,t),w},h.hi=function(){return c7e(this)},h.ii=function(){return(wb(),Un).S},h.ji=function(){return wr(this.ii())},h.ki=function(t){Que(this,t)},h.Ib=function(){return d0(this)},I(Vn,"BasicEObjectImpl",99);var tAt;D(119,99,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1}),h.li=function(t){var n;return n=o7e(this),n[t]},h.mi=function(t,n){var r;r=o7e(this),Ss(r,t,n)},h.ni=function(t){var n;n=o7e(this),Ss(n,t,null)},h.th=function(){return l(Gn(this,4),129)},h.uh=function(){throw ue(new Qr)},h.vh=function(){return(this.Db&4)!=0},h.zh=function(){throw ue(new Qr)},h.oi=function(t){bx(this,2,t)},h.Bh=function(t,n){this.Db=n<<16|this.Db&255,this.oi(t)},h.Dh=function(){return il(this)},h.Fh=function(){return this.Db>>16},h.Gh=function(){var t,n;return y_(),n=r6e(Sd((t=l(Gn(this,16),29),t||this.ii()))),n==null?mpe:new IO(this,n)},h.wh=function(){return(this.Db&1)==0},h.Jh=function(){return l(Gn(this,128),2034)},h.Kh=function(){return l(Gn(this,16),29)},h.Oh=function(){return(this.Db&32)!=0},h.Ph=function(){return l(Gn(this,2),54)},h.Vh=function(){return(this.Db&64)!=0},h.$h=function(){throw ue(new Qr)},h._h=function(){return l(Gn(this,64),288)},h.ci=function(t){bx(this,16,t)},h.di=function(t){bx(this,128,t)},h.ei=function(t){bx(this,64,t)},h.hi=function(){return Ku(this)},h.Db=0,I(Vn,"MinimalEObjectImpl",119),D(120,119,{110:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),h.oi=function(t){this.Cb=t},h.Ph=function(){return this.Cb},I(Vn,"MinimalEObjectImpl/Container",120),D(2083,120,{110:1,342:1,96:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1}),h.Lh=function(t,n,r){return Txe(this,t,n,r)},h.Uh=function(t,n,r){return f9e(this,t,n,r)},h.Wh=function(t){return m6e(this,t)},h.bi=function(t,n){c8e(this,t,n)},h.ii=function(){return au(),eAt},h.ki=function(t){Q7e(this,t)},h.nf=function(){return qdt(this)},h.gh=function(){return!this.o&&(this.o=new yl((au(),Ag),R2,this,0)),this.o},h.of=function(t){return at(this,t)},h.pf=function(t){return P1(this,t)},h.qf=function(t,n){return Vi(this,t,n)},I(dv,"EMapPropertyHolderImpl",2083),D(572,120,{110:1,377:1,94:1,93:1,58:1,114:1,54:1,99:1,119:1,120:1},LS),h.Lh=function(t,n,r){switch(t){case 0:return this.a;case 1:return this.b}return lV(this,t,n,r)},h.Wh=function(t){switch(t){case 0:return this.a!=0;case 1:return this.b!=0}return bue(this,t)},h.bi=function(t,n){switch(t){case 0:yU(this,ze(Ge(n)));return;case 1:wU(this,ze(Ge(n)));return}ele(this,t,n)},h.ii=function(){return au(),X_t},h.ki=function(t){switch(t){case 0:yU(this,0);return;case 1:wU(this,0);return}Que(this,t)},h.Ib=function(){var t;return this.Db&64?d0(this):(t=new Af(d0(this)),t.a+=" (x: ",L5(t,this.a),t.a+=", y: ",L5(t,this.b),t.a+=")",t.a)},h.a=0,h.b=0,I(dv,"ElkBendPointImpl",572),D(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}),h.Lh=function(t,n,r){return D8e(this,t,n,r)},h.Sh=function(t,n,r){return Uue(this,t,n,r)},h.Uh=function(t,n,r){return _ce(this,t,n,r)},h.Wh=function(t){return V7e(this,t)},h.bi=function(t,n){qxe(this,t,n)},h.ii=function(){return au(),J_t},h.ki=function(t){k8e(this,t)},h.jh=function(){return this.k},h.kh=function(){return MH(this)},h.Ib=function(){return Zce(this)},h.k=null,I(dv,"ElkGraphElementImpl",739),D(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}),h.Lh=function(t,n,r){return j8e(this,t,n,r)},h.Wh=function(t){return V8e(this,t)},h.bi=function(t,n){Hxe(this,t,n)},h.ii=function(){return au(),Z_t},h.ki=function(t){J8e(this,t)},h.lh=function(){return this.f},h.mh=function(){return this.g},h.nh=function(){return this.i},h.oh=function(){return this.j},h.ph=function(t,n){j5(this,t,n)},h.qh=function(t,n){Xh(this,t,n)},h.rh=function(t){Vu(this,t)},h.sh=function(t){Gu(this,t)},h.Ib=function(){return Yue(this)},h.f=0,h.g=0,h.i=0,h.j=0,I(dv,"ElkShapeImpl",740),D(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}),h.Lh=function(t,n,r){return bxe(this,t,n,r)},h.Sh=function(t,n,r){return Bxe(this,t,n,r)},h.Uh=function(t,n,r){return Fxe(this,t,n,r)},h.Wh=function(t){return o8e(this,t)},h.bi=function(t,n){X9e(this,t,n)},h.ii=function(){return au(),Q_t},h.ki=function(t){hxe(this,t)},h.hh=function(){return!this.d&&(this.d=new An(js,this,8,5)),this.d},h.ih=function(){return!this.e&&(this.e=new An(js,this,7,4)),this.e},I(dv,"ElkConnectableShapeImpl",741),D(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},II),h.Ah=function(t){return Ixe(this,t)},h.Lh=function(t,n,r){switch(t){case 3:return nN(this);case 4:return!this.b&&(this.b=new An(Sr,this,4,7)),this.b;case 5:return!this.c&&(this.c=new An(Sr,this,5,8)),this.c;case 6:return!this.a&&(this.a=new nt(cs,this,6,6)),this.a;case 7:return Hn(),!this.b&&(this.b=new An(Sr,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new An(Sr,this,5,8)),this.c.i<=1));case 8:return Hn(),!!HA(this);case 9:return Hn(),!!Yw(this);case 10:return Hn(),!this.b&&(this.b=new An(Sr,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new An(Sr,this,5,8)),this.c.i!=0)}return D8e(this,t,n,r)},h.Sh=function(t,n,r){var s;switch(n){case 3:return this.Cb&&(r=(s=this.Db>>16,s>=0?Ixe(this,r):this.Cb.Th(this,-1-s,null,r))),d4e(this,l(t,27),r);case 4:return!this.b&&(this.b=new An(Sr,this,4,7)),Fu(this.b,t,r);case 5:return!this.c&&(this.c=new An(Sr,this,5,8)),Fu(this.c,t,r);case 6:return!this.a&&(this.a=new nt(cs,this,6,6)),Fu(this.a,t,r)}return Uue(this,t,n,r)},h.Uh=function(t,n,r){switch(n){case 3:return d4e(this,null,r);case 4:return!this.b&&(this.b=new An(Sr,this,4,7)),ko(this.b,t,r);case 5:return!this.c&&(this.c=new An(Sr,this,5,8)),ko(this.c,t,r);case 6:return!this.a&&(this.a=new nt(cs,this,6,6)),ko(this.a,t,r)}return _ce(this,t,n,r)},h.Wh=function(t){switch(t){case 3:return!!nN(this);case 4:return!!this.b&&this.b.i!=0;case 5:return!!this.c&&this.c.i!=0;case 6:return!!this.a&&this.a.i!=0;case 7:return!this.b&&(this.b=new An(Sr,this,4,7)),!(this.b.i<=1&&(!this.c&&(this.c=new An(Sr,this,5,8)),this.c.i<=1));case 8:return HA(this);case 9:return Yw(this);case 10:return!this.b&&(this.b=new An(Sr,this,4,7)),this.b.i!=0&&(!this.c&&(this.c=new An(Sr,this,5,8)),this.c.i!=0)}return V7e(this,t)},h.bi=function(t,n){switch(t){case 3:PV(this,l(n,27));return;case 4:!this.b&&(this.b=new An(Sr,this,4,7)),$r(this.b),!this.b&&(this.b=new An(Sr,this,4,7)),Ls(this.b,l(n,16));return;case 5:!this.c&&(this.c=new An(Sr,this,5,8)),$r(this.c),!this.c&&(this.c=new An(Sr,this,5,8)),Ls(this.c,l(n,16));return;case 6:!this.a&&(this.a=new nt(cs,this,6,6)),$r(this.a),!this.a&&(this.a=new nt(cs,this,6,6)),Ls(this.a,l(n,16));return}qxe(this,t,n)},h.ii=function(){return au(),MPe},h.ki=function(t){switch(t){case 3:PV(this,null);return;case 4:!this.b&&(this.b=new An(Sr,this,4,7)),$r(this.b);return;case 5:!this.c&&(this.c=new An(Sr,this,5,8)),$r(this.c);return;case 6:!this.a&&(this.a=new nt(cs,this,6,6)),$r(this.a);return}k8e(this,t)},h.Ib=function(){return Mvt(this)},I(dv,"ElkEdgeImpl",326),D(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},sk),h.Ah=function(t){return Axe(this,t)},h.Lh=function(t,n,r){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 Qs(qh,this,5)),this.a;case 6:return $ot(this);case 7:return n?xue(this):this.i;case 8:return n?yue(this):this.f;case 9:return!this.g&&(this.g=new An(cs,this,9,10)),this.g;case 10:return!this.e&&(this.e=new An(cs,this,10,9)),this.e;case 11:return this.d}return Txe(this,t,n,r)},h.Sh=function(t,n,r){var s,o,f;switch(n){case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?Axe(this,r):this.Cb.Th(this,-1-o,null,r))),f4e(this,l(t,74),r);case 9:return!this.g&&(this.g=new An(cs,this,9,10)),Fu(this.g,t,r);case 10:return!this.e&&(this.e=new An(cs,this,10,9)),Fu(this.e,t,r)}return f=l(Mn((s=l(Gn(this,16),29),s||(au(),kY)),n),69),f.wk().zk(this,Ku(this),n-wr((au(),kY)),t,r)},h.Uh=function(t,n,r){switch(n){case 5:return!this.a&&(this.a=new Qs(qh,this,5)),ko(this.a,t,r);case 6:return f4e(this,null,r);case 9:return!this.g&&(this.g=new An(cs,this,9,10)),ko(this.g,t,r);case 10:return!this.e&&(this.e=new An(cs,this,10,9)),ko(this.e,t,r)}return f9e(this,t,n,r)},h.Wh=function(t){switch(t){case 1:return this.j!=0;case 2:return this.k!=0;case 3:return this.b!=0;case 4:return this.c!=0;case 5:return!!this.a&&this.a.i!=0;case 6:return!!$ot(this);case 7:return!!this.i;case 8:return!!this.f;case 9:return!!this.g&&this.g.i!=0;case 10:return!!this.e&&this.e.i!=0;case 11:return this.d!=null}return m6e(this,t)},h.bi=function(t,n){switch(t){case 1:uT(this,ze(Ge(n)));return;case 2:hT(this,ze(Ge(n)));return;case 3:cT(this,ze(Ge(n)));return;case 4:lT(this,ze(Ge(n)));return;case 5:!this.a&&(this.a=new Qs(qh,this,5)),$r(this.a),!this.a&&(this.a=new Qs(qh,this,5)),Ls(this.a,l(n,16));return;case 6:Lbt(this,l(n,74));return;case 7:_U(this,l(n,84));return;case 8:SU(this,l(n,84));return;case 9:!this.g&&(this.g=new An(cs,this,9,10)),$r(this.g),!this.g&&(this.g=new An(cs,this,9,10)),Ls(this.g,l(n,16));return;case 10:!this.e&&(this.e=new An(cs,this,10,9)),$r(this.e),!this.e&&(this.e=new An(cs,this,10,9)),Ls(this.e,l(n,16));return;case 11:O7e(this,Zr(n));return}c8e(this,t,n)},h.ii=function(){return au(),kY},h.ki=function(t){switch(t){case 1:uT(this,0);return;case 2:hT(this,0);return;case 3:cT(this,0);return;case 4:lT(this,0);return;case 5:!this.a&&(this.a=new Qs(qh,this,5)),$r(this.a);return;case 6:Lbt(this,null);return;case 7:_U(this,null);return;case 8:SU(this,null);return;case 9:!this.g&&(this.g=new An(cs,this,9,10)),$r(this.g);return;case 10:!this.e&&(this.e=new An(cs,this,10,9)),$r(this.e);return;case 11:O7e(this,null);return}Q7e(this,t)},h.Ib=function(){return H2t(this)},h.b=0,h.c=0,h.d=null,h.j=0,h.k=0,I(dv,"ElkEdgeSectionImpl",452),D(158,120,{110:1,94:1,93:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1}),h.Lh=function(t,n,r){var s;return t==0?(!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab):rf(this,t-wr(this.ii()),Mn((s=l(Gn(this,16),29),s||this.ii()),t),n,r)},h.Sh=function(t,n,r){var s,o;return n==0?(!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Fu(this.Ab,t,r)):(o=l(Mn((s=l(Gn(this,16),29),s||this.ii()),n),69),o.wk().zk(this,Ku(this),n-wr(this.ii()),t,r))},h.Uh=function(t,n,r){var s,o;return n==0?(!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r)):(o=l(Mn((s=l(Gn(this,16),29),s||this.ii()),n),69),o.wk().Ak(this,Ku(this),n-wr(this.ii()),t,r))},h.Wh=function(t){var n;return t==0?!!this.Ab&&this.Ab.i!=0:tf(this,t-wr(this.ii()),Mn((n=l(Gn(this,16),29),n||this.ii()),t))},h.Zh=function(t){return oTe(this,t)},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return}cf(this,t-wr(this.ii()),Mn((r=l(Gn(this,16),29),r||this.ii()),t),n)},h.di=function(t){bx(this,128,t)},h.ii=function(){return En(),wAt},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return}of(this,t-wr(this.ii()),Mn((n=l(Gn(this,16),29),n||this.ii()),t))},h.pi=function(){this.Bb|=1},h.qi=function(t){return XA(this,t)},h.Bb=0,I(Vn,"EModelElementImpl",158),D(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},wz),h.ri=function(t,n){return swt(this,t,n)},h.si=function(t){var n,r,s,o,f;if(this.a!=Ah(t)||t.Bb&256)throw ue(new Wn(n0e+t.zb+c3));for(s=pc(t);fu(s.a).i!=0;){if(r=l(CP(s,0,(n=l(Oe(fu(s.a),0),89),f=n.c,De(f,90)?l(f,29):(En(),Kf))),29),Ww(r))return o=Ah(r).wi().si(r),l(o,54).ci(t),o;s=pc(r)}return(t.D!=null?t.D:t.B)=="java.util.Map$Entry"?new kst(t):new t5e(t)},h.ti=function(t,n){return e3(this,t,n)},h.Lh=function(t,n,r){var s;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.a}return rf(this,t-wr((En(),um)),Mn((s=l(Gn(this,16),29),s||um),t),n,r)},h.Sh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Fu(this.Ab,t,r);case 1:return this.a&&(r=l(this.a,54).Th(this,4,c1,r)),x8e(this,l(t,241),r)}return o=l(Mn((s=l(Gn(this,16),29),s||(En(),um)),n),69),o.wk().zk(this,Ku(this),n-wr((En(),um)),t,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 1:return x8e(this,null,r)}return o=l(Mn((s=l(Gn(this,16),29),s||(En(),um)),n),69),o.wk().Ak(this,Ku(this),n-wr((En(),um)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return!!this.a}return tf(this,t-wr((En(),um)),Mn((n=l(Gn(this,16),29),n||um),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:Spt(this,l(n,241));return}cf(this,t-wr((En(),um)),Mn((r=l(Gn(this,16),29),r||um),t),n)},h.ii=function(){return En(),um},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:Spt(this,null);return}of(this,t-wr((En(),um)),Mn((n=l(Gn(this,16),29),n||um),t))};var $M,NPe,nAt;I(Vn,"EFactoryImpl",720),D(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},ak),h.ri=function(t,n){switch(t.hk()){case 12:return l(n,149).Pg();case 13:return Tc(n);default:throw ue(new Wn(kE+t.xe()+c3))}},h.si=function(t){var n,r,s,o,f,g,w,T;switch(t.G==-1&&(t.G=(n=Ah(t),n?x2(n.vi(),t):-1)),t.G){case 4:return f=new ok,f;case 6:return g=new o_,g;case 7:return w=new r3e,w;case 8:return s=new II,s;case 9:return r=new LS,r;case 10:return o=new sk,o;case 11:return T=new L$,T;default:throw ue(new Wn(n0e+t.zb+c3))}},h.ti=function(t,n){switch(t.hk()){case 13:case 12:return null;default:throw ue(new Wn(kE+t.xe()+c3))}},I(dv,"ElkGraphFactoryImpl",1037),D(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}),h.Gh=function(){var t,n;return n=(t=l(Gn(this,16),29),r6e(Sd(t||this.ii()))),n==null?(y_(),y_(),mpe):new Vrt(this,n)},h.Lh=function(t,n,r){var s;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.xe()}return rf(this,t-wr(this.ii()),Mn((s=l(Gn(this,16),29),s||this.ii()),t),n,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null}return tf(this,t-wr(this.ii()),Mn((n=l(Gn(this,16),29),n||this.ii()),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:this.ui(Zr(n));return}cf(this,t-wr(this.ii()),Mn((r=l(Gn(this,16),29),r||this.ii()),t),n)},h.ii=function(){return En(),yAt},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:this.ui(null);return}of(this,t-wr(this.ii()),Mn((n=l(Gn(this,16),29),n||this.ii()),t))},h.xe=function(){return this.zb},h.ui=function(t){Bu(this,t)},h.Ib=function(){return SA(this)},h.zb=null,I(Vn,"ENamedElementImpl",448),D(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},vot),h.Ah=function(t){return Fgt(this,t)},h.Lh=function(t,n,r){var s;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,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 ky(this,u1,this)),this.rb;case 6:return!this.vb&&(this.vb=new V8(c1,this,6,7)),this.vb;case 7:return n?this.Db>>16==7?l(this.Cb,241):null:Kot(this)}return rf(this,t-wr((En(),q2)),Mn((s=l(Gn(this,16),29),s||q2),t),n,r)},h.Sh=function(t,n,r){var s,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Fu(this.Ab,t,r);case 4:return this.sb&&(r=l(this.sb,54).Th(this,1,jM,r)),E8e(this,l(t,480),r);case 5:return!this.rb&&(this.rb=new ky(this,u1,this)),Fu(this.rb,t,r);case 6:return!this.vb&&(this.vb=new V8(c1,this,6,7)),Fu(this.vb,t,r);case 7:return this.Cb&&(r=(o=this.Db>>16,o>=0?Fgt(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,7,r)}return f=l(Mn((s=l(Gn(this,16),29),s||(En(),q2)),n),69),f.wk().zk(this,Ku(this),n-wr((En(),q2)),t,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 4:return E8e(this,null,r);case 5:return!this.rb&&(this.rb=new ky(this,u1,this)),ko(this.rb,t,r);case 6:return!this.vb&&(this.vb=new V8(c1,this,6,7)),ko(this.vb,t,r);case 7:return Nh(this,null,7,r)}return o=l(Mn((s=l(Gn(this,16),29),s||(En(),q2)),n),69),o.wk().Ak(this,Ku(this),n-wr((En(),q2)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.yb!=null;case 3:return this.xb!=null;case 4:return!!this.sb;case 5:return!!this.rb&&this.rb.i!=0;case 6:return!!this.vb&&this.vb.i!=0;case 7:return!!Kot(this)}return tf(this,t-wr((En(),q2)),Mn((n=l(Gn(this,16),29),n||q2),t))},h.Zh=function(t){var n;return n=$Cn(this,t),n||oTe(this,t)},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:Bu(this,Zr(n));return;case 2:OU(this,Zr(n));return;case 3:IU(this,Zr(n));return;case 4:Wue(this,l(n,480));return;case 5:!this.rb&&(this.rb=new ky(this,u1,this)),$r(this.rb),!this.rb&&(this.rb=new ky(this,u1,this)),Ls(this.rb,l(n,16));return;case 6:!this.vb&&(this.vb=new V8(c1,this,6,7)),$r(this.vb),!this.vb&&(this.vb=new V8(c1,this,6,7)),Ls(this.vb,l(n,16));return}cf(this,t-wr((En(),q2)),Mn((r=l(Gn(this,16),29),r||q2),t),n)},h.ei=function(t){var n,r;if(t&&this.rb)for(r=new ar(this.rb);r.e!=r.i.gc();)n=dr(r),De(n,364)&&(l(n,364).w=null);bx(this,64,t)},h.ii=function(){return En(),q2},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:Bu(this,null);return;case 2:OU(this,null);return;case 3:IU(this,null);return;case 4:Wue(this,null);return;case 5:!this.rb&&(this.rb=new ky(this,u1,this)),$r(this.rb);return;case 6:!this.vb&&(this.vb=new V8(c1,this,6,7)),$r(this.vb);return}of(this,t-wr((En(),q2)),Mn((n=l(Gn(this,16),29),n||q2),t))},h.pi=function(){Nue(this)},h.vi=function(){return!this.rb&&(this.rb=new ky(this,u1,this)),this.rb},h.wi=function(){return this.sb},h.xi=function(){return this.ub},h.yi=function(){return this.xb},h.zi=function(){return this.yb},h.Ai=function(t){this.ub=t},h.Ib=function(){var t;return this.Db&64?SA(this):(t=new Af(SA(this)),t.a+=" (nsURI: ",Jo(t,this.yb),t.a+=", nsPrefix: ",Jo(t,this.xb),t.a+=")",t.a)},h.xb=null,h.yb=null,I(Vn,"EPackageImpl",184),D(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},J2t),h.q=!1,h.r=!1;var rAt=!1;I(dv,"ElkGraphPackageImpl",569),D(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},ok),h.Ah=function(t){return Lxe(this,t)},h.Lh=function(t,n,r){switch(t){case 7:return Wot(this);case 8:return this.a}return j8e(this,t,n,r)},h.Sh=function(t,n,r){var s;switch(n){case 7:return this.Cb&&(r=(s=this.Db>>16,s>=0?Lxe(this,r):this.Cb.Th(this,-1-s,null,r))),b5e(this,l(t,167),r)}return Uue(this,t,n,r)},h.Uh=function(t,n,r){return n==7?b5e(this,null,r):_ce(this,t,n,r)},h.Wh=function(t){switch(t){case 7:return!!Wot(this);case 8:return!wn("",this.a)}return V8e(this,t)},h.bi=function(t,n){switch(t){case 7:uke(this,l(n,167));return;case 8:A7e(this,Zr(n));return}Hxe(this,t,n)},h.ii=function(){return au(),DPe},h.ki=function(t){switch(t){case 7:uke(this,null);return;case 8:A7e(this,"");return}J8e(this,t)},h.Ib=function(){return $pt(this)},h.a="",I(dv,"ElkLabelImpl",366),D(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},o_),h.Ah=function(t){return Oxe(this,t)},h.Lh=function(t,n,r){switch(t){case 9:return!this.c&&(this.c=new nt($l,this,9,9)),this.c;case 10:return!this.a&&(this.a=new nt(Li,this,10,11)),this.a;case 11:return ds(this);case 12:return!this.b&&(this.b=new nt(js,this,12,3)),this.b;case 13:return Hn(),!this.a&&(this.a=new nt(Li,this,10,11)),this.a.i>0}return bxe(this,t,n,r)},h.Sh=function(t,n,r){var s;switch(n){case 9:return!this.c&&(this.c=new nt($l,this,9,9)),Fu(this.c,t,r);case 10:return!this.a&&(this.a=new nt(Li,this,10,11)),Fu(this.a,t,r);case 11:return this.Cb&&(r=(s=this.Db>>16,s>=0?Oxe(this,r):this.Cb.Th(this,-1-s,null,r))),T4e(this,l(t,27),r);case 12:return!this.b&&(this.b=new nt(js,this,12,3)),Fu(this.b,t,r)}return Bxe(this,t,n,r)},h.Uh=function(t,n,r){switch(n){case 9:return!this.c&&(this.c=new nt($l,this,9,9)),ko(this.c,t,r);case 10:return!this.a&&(this.a=new nt(Li,this,10,11)),ko(this.a,t,r);case 11:return T4e(this,null,r);case 12:return!this.b&&(this.b=new nt(js,this,12,3)),ko(this.b,t,r)}return Fxe(this,t,n,r)},h.Wh=function(t){switch(t){case 9:return!!this.c&&this.c.i!=0;case 10:return!!this.a&&this.a.i!=0;case 11:return!!ds(this);case 12:return!!this.b&&this.b.i!=0;case 13:return!this.a&&(this.a=new nt(Li,this,10,11)),this.a.i>0}return o8e(this,t)},h.bi=function(t,n){switch(t){case 9:!this.c&&(this.c=new nt($l,this,9,9)),$r(this.c),!this.c&&(this.c=new nt($l,this,9,9)),Ls(this.c,l(n,16));return;case 10:!this.a&&(this.a=new nt(Li,this,10,11)),$r(this.a),!this.a&&(this.a=new nt(Li,this,10,11)),Ls(this.a,l(n,16));return;case 11:BV(this,l(n,27));return;case 12:!this.b&&(this.b=new nt(js,this,12,3)),$r(this.b),!this.b&&(this.b=new nt(js,this,12,3)),Ls(this.b,l(n,16));return}X9e(this,t,n)},h.ii=function(){return au(),IPe},h.ki=function(t){switch(t){case 9:!this.c&&(this.c=new nt($l,this,9,9)),$r(this.c);return;case 10:!this.a&&(this.a=new nt(Li,this,10,11)),$r(this.a);return;case 11:BV(this,null);return;case 12:!this.b&&(this.b=new nt(js,this,12,3)),$r(this.b);return}hxe(this,t)},h.Ib=function(){return Cke(this)},I(dv,"ElkNodeImpl",207),D(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},r3e),h.Ah=function(t){return Mxe(this,t)},h.Lh=function(t,n,r){return t==9?M1(this):bxe(this,t,n,r)},h.Sh=function(t,n,r){var s;switch(n){case 9:return this.Cb&&(r=(s=this.Db>>16,s>=0?Mxe(this,r):this.Cb.Th(this,-1-s,null,r))),g4e(this,l(t,27),r)}return Bxe(this,t,n,r)},h.Uh=function(t,n,r){return n==9?g4e(this,null,r):Fxe(this,t,n,r)},h.Wh=function(t){return t==9?!!M1(this):o8e(this,t)},h.bi=function(t,n){switch(t){case 9:ske(this,l(n,27));return}X9e(this,t,n)},h.ii=function(){return au(),OPe},h.ki=function(t){switch(t){case 9:ske(this,null);return}hxe(this,t)},h.Ib=function(){return Amt(this)},I(dv,"ElkPortImpl",193);var iAt=Ts(Eo,"BasicEMap/Entry");D(1122,120,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1,119:1,120:1},L$),h.Fb=function(t){return this===t},h.ld=function(){return this.b},h.Hb=function(){return ww(this)},h.Di=function(t){L7e(this,l(t,149))},h.Lh=function(t,n,r){switch(t){case 0:return this.b;case 1:return this.c}return lV(this,t,n,r)},h.Wh=function(t){switch(t){case 0:return!!this.b;case 1:return this.c!=null}return bue(this,t)},h.bi=function(t,n){switch(t){case 0:L7e(this,l(n,149));return;case 1:_7e(this,n);return}ele(this,t,n)},h.ii=function(){return au(),Ag},h.ki=function(t){switch(t){case 0:L7e(this,null);return;case 1:_7e(this,null);return}Que(this,t)},h.Bi=function(){var t;return this.a==-1&&(t=this.b,this.a=t?ts(t):0),this.a},h.md=function(){return this.c},h.Ci=function(t){this.a=t},h.nd=function(t){var n;return n=this.c,_7e(this,t),n},h.Ib=function(){var t;return this.Db&64?d0(this):(t=new lb,li(li(li(t,this.b?this.b.Pg():cl),Yhe),$_(this.c)),t.a)},h.a=-1,h.c=null;var R2=I(dv,"ElkPropertyToValueMapEntryImpl",1122);D(996,1,{},D$),I(eo,"JsonAdapter",996),D(216,63,gp,dd),I(eo,"JsonImportException",216),D(868,1,{},Rgt),I(eo,"JsonImporter",868),D(903,1,{},Vtt),I(eo,"JsonImporter/lambda$0$Type",903),D(904,1,{},Gtt),I(eo,"JsonImporter/lambda$1$Type",904),D(912,1,{},dQe),I(eo,"JsonImporter/lambda$10$Type",912),D(914,1,{},Ktt),I(eo,"JsonImporter/lambda$11$Type",914),D(915,1,{},Wtt),I(eo,"JsonImporter/lambda$12$Type",915),D(921,1,{},aot),I(eo,"JsonImporter/lambda$13$Type",921),D(920,1,{},oot),I(eo,"JsonImporter/lambda$14$Type",920),D(916,1,{},Ytt),I(eo,"JsonImporter/lambda$15$Type",916),D(917,1,{},Xtt),I(eo,"JsonImporter/lambda$16$Type",917),D(918,1,{},Qtt),I(eo,"JsonImporter/lambda$17$Type",918),D(919,1,{},Jtt),I(eo,"JsonImporter/lambda$18$Type",919),D(924,1,{},gQe),I(eo,"JsonImporter/lambda$19$Type",924),D(905,1,{},pQe),I(eo,"JsonImporter/lambda$2$Type",905),D(922,1,{},bQe),I(eo,"JsonImporter/lambda$20$Type",922),D(923,1,{},mQe),I(eo,"JsonImporter/lambda$21$Type",923),D(927,1,{},vQe),I(eo,"JsonImporter/lambda$22$Type",927),D(925,1,{},wQe),I(eo,"JsonImporter/lambda$23$Type",925),D(926,1,{},yQe),I(eo,"JsonImporter/lambda$24$Type",926),D(929,1,{},xQe),I(eo,"JsonImporter/lambda$25$Type",929),D(928,1,{},kQe),I(eo,"JsonImporter/lambda$26$Type",928),D(930,1,hr,Ztt),h.Cd=function(t){ewn(this.b,this.a,Zr(t))},I(eo,"JsonImporter/lambda$27$Type",930),D(931,1,hr,ent),h.Cd=function(t){twn(this.b,this.a,Zr(t))},I(eo,"JsonImporter/lambda$28$Type",931),D(932,1,{},tnt),I(eo,"JsonImporter/lambda$29$Type",932),D(908,1,{},TQe),I(eo,"JsonImporter/lambda$3$Type",908),D(933,1,{},nnt),I(eo,"JsonImporter/lambda$30$Type",933),D(934,1,{},EQe),I(eo,"JsonImporter/lambda$31$Type",934),D(935,1,{},CQe),I(eo,"JsonImporter/lambda$32$Type",935),D(936,1,{},SQe),I(eo,"JsonImporter/lambda$33$Type",936),D(937,1,{},_Qe),I(eo,"JsonImporter/lambda$34$Type",937),D(870,1,{},AQe),I(eo,"JsonImporter/lambda$35$Type",870),D(941,1,{},Xit),I(eo,"JsonImporter/lambda$36$Type",941),D(938,1,hr,LQe),h.Cd=function(t){avn(this.a,l(t,377))},I(eo,"JsonImporter/lambda$37$Type",938),D(939,1,hr,rnt),h.Cd=function(t){zln(this.a,this.b,l(t,166))},I(eo,"JsonImporter/lambda$38$Type",939),D(940,1,hr,int),h.Cd=function(t){qln(this.a,this.b,l(t,166))},I(eo,"JsonImporter/lambda$39$Type",940),D(906,1,{},MQe),I(eo,"JsonImporter/lambda$4$Type",906),D(942,1,hr,DQe),h.Cd=function(t){ovn(this.a,l(t,8))},I(eo,"JsonImporter/lambda$40$Type",942),D(907,1,{},IQe),I(eo,"JsonImporter/lambda$5$Type",907),D(911,1,{},OQe),I(eo,"JsonImporter/lambda$6$Type",911),D(909,1,{},NQe),I(eo,"JsonImporter/lambda$7$Type",909),D(910,1,{},PQe),I(eo,"JsonImporter/lambda$8$Type",910),D(913,1,{},BQe),I(eo,"JsonImporter/lambda$9$Type",913),D(961,1,hr,FQe),h.Cd=function(t){Z8(this.a,new Ty(Zr(t)))},I(eo,"JsonMetaDataConverter/lambda$0$Type",961),D(962,1,hr,RQe),h.Cd=function(t){Jgn(this.a,l(t,245))},I(eo,"JsonMetaDataConverter/lambda$1$Type",962),D(963,1,hr,jQe),h.Cd=function(t){Q2n(this.a,l(t,143))},I(eo,"JsonMetaDataConverter/lambda$2$Type",963),D(964,1,hr,$Qe),h.Cd=function(t){Zgn(this.a,l(t,170))},I(eo,"JsonMetaDataConverter/lambda$3$Type",964),D(245,22,{3:1,34:1,22:1,245:1},j8);var TY,EY,lpe,CY,SY,_Y,hpe,fpe,AY=Br($P,"GraphFeature",245,Hr,Bwn,Cdn),sAt;D(11,1,{34:1,149:1},Ki,ws,mn,qa),h.Fd=function(t){return Khn(this,l(t,149))},h.Fb=function(t){return Mot(this,t)},h.Sg=function(){return It(this)},h.Pg=function(){return this.b},h.Hb=function(){return g2(this.b)},h.Ib=function(){return this.b},I($P,"Property",11),D(671,1,ii,Wie),h.Ne=function(t,n){return r5n(this,l(t,96),l(n,96))},h.Fb=function(t){return this===t},h.Oe=function(){return new Ut(this)},I($P,"PropertyHolderComparator",671),D(709,1,Ia,Rwe),h.Nb=function(t){Qa(this,t)},h.Pb=function(){return iwn(this)},h.Qb=function(){BZe()},h.Ob=function(){return!!this.a},I(YG,"ElkGraphUtil/AncestorIterator",709);var PPe=Ts(Eo,"EList");D(70,56,{20:1,31:1,56:1,16:1,15:1,70:1,61:1}),h.bd=function(t,n){AA(this,t,n)},h.Fc=function(t){return zr(this,t)},h.cd=function(t,n){return J7e(this,t,n)},h.Gc=function(t){return Ls(this,t)},h.Ii=function(){return new U8(this)},h.Ji=function(){return new OO(this)},h.Ki=function(t){return CN(this,t)},h.Li=function(){return!0},h.Mi=function(t,n){},h.Ni=function(){},h.Oi=function(t,n){Woe(this,t,n)},h.Pi=function(t,n,r){},h.Qi=function(t,n){},h.Ri=function(t,n,r){},h.Fb=function(t){return fmt(this,t)},h.Hb=function(){return W7e(this)},h.Si=function(){return!1},h.Kc=function(){return new ar(this)},h.ed=function(){return new H8(this)},h.fd=function(t){var n;if(n=this.gc(),t<0||t>n)throw ue(new yy(t,n));return new Zae(this,t)},h.Ui=function(t,n){this.Ti(t,this.dd(n))},h.Mc=function(t){return fU(this,t)},h.Wi=function(t,n){return n},h.hd=function(t,n){return i6(this,t,n)},h.Ib=function(){return q8e(this)},h.Yi=function(){return!0},h.Zi=function(t,n){return CT(this,n)},I(Eo,"AbstractEList",70),D(66,70,Bd,sb,Bw,q7e),h.Ei=function(t,n){return Vue(this,t,n)},h.Fi=function(t){return ugt(this,t)},h.Gi=function(t,n){$N(this,t,n)},h.Hi=function(t){uN(this,t)},h.$i=function(t){return n7e(this,t)},h.$b=function(){lA(this)},h.Hc=function(t){return zT(this,t)},h.Xb=function(t){return Oe(this,t)},h._i=function(t){var n,r,s;++this.j,r=this.g==null?0:this.g.length,t>r&&(s=this.g,n=r+(r/2|0)+4,n<t&&(n=t),this.g=this.aj(n),s!=null&&gu(s,0,this.g,0,this.i))},h.dd=function(t){return Dgt(this,t)},h.dc=function(){return this.i==0},h.Ti=function(t,n){return rle(this,t,n)},h.aj=function(t){return We(ka,jn,1,t,5,1)},h.Vi=function(t){return this.g[t]},h.gd=function(t){return wx(this,t)},h.Xi=function(t,n){return sce(this,t,n)},h.gc=function(){return this.i},h.Pc=function(){return E6e(this)},h.Qc=function(t){return Q8e(this,t)},h.i=0;var BPe=I(Eo,"BasicEList",66),FPe=Ts(Eo,"TreeIterator");D(708,66,d0e),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return this.g==null&&!this.c?o6e(this):this.g==null||this.i!=0&&l(this.g[this.i-1],51).Ob()},h.Pb=function(){return IV(this)},h.Qb=function(){if(!this.e)throw ue(new ic("There is no valid object to remove."));this.e.Qb()},h.c=!1,I(Eo,"AbstractTreeIterator",708),D(700,708,d0e,Lye),h.bj=function(t){var n;return n=l(t,58).Gh().Kc(),De(n,287)&&l(n,287).wl(new lre),n},I(YG,"ElkGraphUtil/PropertiesSkippingTreeIterator",700),D(965,1,{},lre),I(YG,"ElkGraphUtil/PropertiesSkippingTreeIterator/1",965);var vF,dpe,wF=I(YG,"ElkReflect",null);D(901,1,s4,MS),h.Rg=function(t){return HH(),Z2n(l(t,181))},I(YG,"ElkReflect/lambda$0$Type",901);var am;Ts(Eo,"ResourceLocator"),D(1065,1,{}),I(Eo,"DelegatingResourceLocator",1065),D(1066,1065,{}),I("org.eclipse.emf.common","EMFPlugin",1066);var gpe=Ts(_5t,"Adapter"),eNn=Ts(_5t,"Notification");D(1174,1,USe),h.cj=function(){return this.d},h.dj=function(t){},h.ej=function(t){this.d=t},h.fj=function(t){this.d==t&&(this.d=null)},h.d=null,I(jx,"AdapterImpl",1174),D(2093,70,A5t),h.Ei=function(t,n){return G8e(this,t,n)},h.Fi=function(t){var n,r,s;if(++this.j,t.dc())return!1;for(n=this.Ej(),s=t.Kc();s.Ob();)r=s.Pb(),this.rj(this.Zi(n,r)),++n;return!0},h.Gi=function(t,n){ait(this,t,n)},h.Hi=function(t){Dat(this,t)},h.pj=function(){return this.sj()},h.$b=function(){BO(this,this.Ej(),this.Fj())},h.Hc=function(t){return this.uj(t)},h.Ic=function(t){return this.vj(t)},h.qj=function(t,n){this.Bj().Um()},h.rj=function(t){this.Bj().Um()},h.sj=function(){return this.Bj()},h.tj=function(){this.Bj().Um()},h.uj=function(t){return this.Bj().Um()},h.vj=function(t){return this.Bj().Um()},h.wj=function(t){return this.Bj().Um()},h.xj=function(t){return this.Bj().Um()},h.yj=function(){return this.Bj().Um()},h.zj=function(t){return this.Bj().Um()},h.Aj=function(){return this.Bj().Um()},h.Cj=function(t){return this.Bj().Um()},h.Dj=function(t,n){return this.Bj().Um()},h.Ej=function(){return this.Bj().Um()},h.Fj=function(){return this.Bj().Um()},h.Gj=function(t){return this.Bj().Um()},h.Hj=function(){return this.Bj().Um()},h.Fb=function(t){return this.wj(t)},h.Xb=function(t){return this.Wi(t,this.xj(t))},h.Hb=function(){return this.yj()},h.dd=function(t){return this.zj(t)},h.dc=function(){return this.Aj()},h.Ti=function(t,n){return u9e(this,t,n)},h.Vi=function(t){return this.xj(t)},h.gd=function(t){return lH(this,t)},h.Mc=function(t){var n;return n=this.dd(t),n>=0?(this.gd(n),!0):!1},h.Xi=function(t,n){return this.Dj(t,this.Zi(t,n))},h.gc=function(){return this.Ej()},h.Pc=function(){return this.Fj()},h.Qc=function(t){return this.Gj(t)},h.Ib=function(){return this.Hj()},I(Eo,"DelegatingEList",2093),D(2094,2093,A5t),h.Ei=function(t,n){return Fke(this,t,n)},h.Fi=function(t){return this.Ei(this.Ej(),t)},h.Gi=function(t,n){Z2t(this,t,n)},h.Hi=function(t){z2t(this,t)},h.Li=function(){return!this.Mj()},h.$b=function(){nL(this)},h.Ij=function(t,n,r,s,o){return new Lot(this,t,n,r,s,o)},h.Jj=function(t){Bi(this.jj(),t)},h.Kj=function(){return null},h.Lj=function(){return-1},h.jj=function(){return null},h.Mj=function(){return!1},h.Nj=function(t,n){return n},h.Oj=function(t,n){return n},h.Pj=function(){return!1},h.Qj=function(){return!this.Aj()},h.Ti=function(t,n){var r,s;return this.Pj()?(s=this.Qj(),r=u9e(this,t,n),this.Jj(this.Ij(7,bt(n),r,t,s)),r):u9e(this,t,n)},h.gd=function(t){var n,r,s,o;return this.Pj()?(r=null,s=this.Qj(),n=this.Ij(4,o=lH(this,t),null,t,s),this.Mj()&&o?(r=this.Oj(o,r),r?(r.nj(n),r.oj()):this.Jj(n)):r?(r.nj(n),r.oj()):this.Jj(n),o):(o=lH(this,t),this.Mj()&&o&&(r=this.Oj(o,null),r&&r.oj()),o)},h.Xi=function(t,n){return avt(this,t,n)},I(jx,"DelegatingNotifyingListImpl",2094),D(152,1,rB),h.nj=function(t){return Wxe(this,t)},h.oj=function(){nce(this)},h.gj=function(){return this.d},h.Kj=function(){return null},h.Rj=function(){return null},h.hj=function(t){return-1},h.ij=function(){return Kbt(this)},h.jj=function(){return null},h.kj=function(){return gke(this)},h.lj=function(){return this.o<0?this.o<-2?-2-this.o-1:-1:this.o},h.Sj=function(){return!1},h.mj=function(t){var n,r,s,o,f,g,w,T,C,L,F;switch(this.d){case 1:case 2:switch(o=t.gj(),o){case 1:case 2:if(f=t.jj(),qe(f)===qe(this.jj())&&this.hj(null)==t.hj(null))return this.g=t.ij(),t.gj()==1&&(this.d=1),!0}case 4:{switch(o=t.gj(),o){case 4:{if(f=t.jj(),qe(f)===qe(this.jj())&&this.hj(null)==t.hj(null))return C=eTe(this),T=this.o<0?this.o<-2?-2-this.o-1:-1:this.o,g=t.lj(),this.d=6,F=new Bw(2),T<=g?(zr(F,this.n),zr(F,t.kj()),this.g=he(le(Ur,1),fi,28,15,[this.o=T,g+1])):(zr(F,t.kj()),zr(F,this.n),this.g=he(le(Ur,1),fi,28,15,[this.o=g,T])),this.n=F,C||(this.o=-2-this.o-1),!0;break}}break}case 6:{switch(o=t.gj(),o){case 4:{if(f=t.jj(),qe(f)===qe(this.jj())&&this.hj(null)==t.hj(null)){for(C=eTe(this),g=t.lj(),L=l(this.g,53),s=We(Ur,fi,28,L.length+1,15,1),n=0;n<L.length&&(w=L[n],w<=g);)s[n++]=w,++g;for(r=l(this.n,15),r.bd(n,t.kj()),s[n]=g;++n<s.length;)s[n]=L[n-1];return this.g=s,C||(this.o=-2-s[0]),!0}break}}break}}return!1},h.Ib=function(){var t,n,r,s;switch(s=new Af(Pm(this.Rm)+"@"+(n=ts(this)>>>0,n.toString(16))),s.a+=" (eventType: ",this.d){case 1:{s.a+="SET";break}case 2:{s.a+="UNSET";break}case 3:{s.a+="ADD";break}case 5:{s.a+="ADD_MANY";break}case 4:{s.a+="REMOVE";break}case 6:{s.a+="REMOVE_MANY";break}case 7:{s.a+="MOVE";break}case 8:{s.a+="REMOVING_ADAPTER";break}case 9:{s.a+="RESOLVE";break}default:{vse(s,this.d);break}}if(Nmt(this)&&(s.a+=", touch: true"),s.a+=", position: ",vse(s,this.o<0?this.o<-2?-2-this.o-1:-1:this.o),s.a+=", notifier: ",N_(s,this.jj()),s.a+=", feature: ",N_(s,this.Kj()),s.a+=", oldValue: ",N_(s,gke(this)),s.a+=", newValue: ",this.d==6&&De(this.g,53)){for(r=l(this.g,53),s.a+="[",t=0;t<r.length;)s.a+=r[t],++t<r.length&&(s.a+=To);s.a+="]"}else N_(s,Kbt(this));return s.a+=", isTouch: ",t2(s,Nmt(this)),s.a+=", wasSet: ",t2(s,eTe(this)),s.a+=")",s.a},h.d=0,h.e=0,h.f=0,h.j=0,h.k=0,h.o=0,h.p=0,I(jx,"NotificationImpl",152),D(1188,152,rB,Lot),h.Kj=function(){return this.a.Kj()},h.hj=function(t){return this.a.Lj()},h.jj=function(){return this.a.jj()},I(jx,"DelegatingNotifyingListImpl/1",1188),D(251,66,Bd,I$,hb),h.Fc=function(t){return ndt(this,l(t,378))},h.nj=function(t){return ndt(this,t)},h.oj=function(){var t,n,r;for(t=0;t<this.i;++t)n=l(this.g[t],378),r=n.jj(),r!=null&&n.gj()!=-1&&l(r,94).xh(n)},h.aj=function(t){return We(eNn,jn,378,t,0,1)},I(jx,"NotificationChainImpl",251),D(1524,93,$4t),h.uh=function(){return this.e},h.wh=function(){return(this.f&1)!=0},h.f=1,I(jx,"NotifierImpl",1524),D(2091,66,Bd),h.Ei=function(t,n){return Ele(this,t,n)},h.Fi=function(t){return this.Ei(this.i,t)},h.Gi=function(t,n){z9e(this,t,n)},h.Hi=function(t){ile(this,t)},h.Li=function(){return!this.Mj()},h.$b=function(){$r(this)},h.Ij=function(t,n,r,s,o){return new Aot(this,t,n,r,s,o)},h.Jj=function(t){Bi(this.jj(),t)},h.Kj=function(){return null},h.Lj=function(){return-1},h.jj=function(){return null},h.Mj=function(){return!1},h.Tj=function(){return!1},h.Nj=function(t,n){return n},h.Oj=function(t,n){return n},h.Pj=function(){return!1},h.Qj=function(){return this.i!=0},h.Ti=function(t,n){return LA(this,t,n)},h.gd=function(t){return Ky(this,t)},h.Xi=function(t,n){return Tvt(this,t,n)},h.Uj=function(t,n){return n},h.Vj=function(t,n){return n},h.Wj=function(t,n,r){return r},I(jx,"NotifyingListImpl",2091),D(1187,152,rB,Aot),h.Kj=function(){return this.a.Kj()},h.hj=function(t){return this.a.Lj()},h.jj=function(){return this.a.jj()},I(jx,"NotifyingListImpl/1",1187),D(966,66,Bd,uit),h.Hc=function(t){return this.i>10?((!this.b||this.c.j!=this.a)&&(this.b=new G_(this),this.a=this.j),K0(this.b,t)):zT(this,t)},h.Yi=function(){return!0},h.a=0,I(Eo,"AbstractEList/1",966),D(302,77,whe,yy),I(Eo,"AbstractEList/BasicIndexOutOfBoundsException",302),D(37,1,Ia,ar),h.Nb=function(t){Qa(this,t)},h.Xj=function(){if(this.i.j!=this.f)throw ue(new Yh)},h.Yj=function(){return dr(this)},h.Ob=function(){return this.e!=this.i.gc()},h.Pb=function(){return this.Yj()},h.Qb=function(){$A(this)},h.e=0,h.f=0,h.g=-1,I(Eo,"AbstractEList/EIterator",37),D(286,37,dg,H8,Zae),h.Qb=function(){$A(this)},h.Rb=function(t){odt(this,t)},h.Zj=function(){var t;try{return t=this.d.Xb(--this.e),this.Xj(),this.g=this.e,t}catch(n){throw n=ms(n),De(n,77)?(this.Xj(),ue(new Dc)):ue(n)}},h.$j=function(t){fgt(this,t)},h.Sb=function(){return this.e!=0},h.Tb=function(){return this.e},h.Ub=function(){return this.Zj()},h.Vb=function(){return this.e-1},h.Wb=function(t){this.$j(t)},I(Eo,"AbstractEList/EListIterator",286),D(355,37,Ia,U8),h.Yj=function(){return mue(this)},h.Qb=function(){throw ue(new Qr)},I(Eo,"AbstractEList/NonResolvingEIterator",355),D(398,286,dg,OO,M4e),h.Rb=function(t){throw ue(new Qr)},h.Yj=function(){var t;try{return t=this.c.Vi(this.e),this.Xj(),this.g=this.e++,t}catch(n){throw n=ms(n),De(n,77)?(this.Xj(),ue(new Dc)):ue(n)}},h.Zj=function(){var t;try{return t=this.c.Vi(--this.e),this.Xj(),this.g=this.e,t}catch(n){throw n=ms(n),De(n,77)?(this.Xj(),ue(new Dc)):ue(n)}},h.Qb=function(){throw ue(new Qr)},h.Wb=function(t){throw ue(new Qr)},I(Eo,"AbstractEList/NonResolvingEListIterator",398),D(2080,70,L5t),h.Ei=function(t,n){var r,s,o,f,g,w,T,C,L,F,z;if(o=n.gc(),o!=0){for(C=l(Gn(this.a,4),129),L=C==null?0:C.length,z=L+o,s=$ce(this,z),F=L-t,F>0&&gu(C,t,s,t+o,F),T=n.Kc(),g=0;g<o;++g)w=T.Pb(),r=t+g,lae(s,r,CT(this,w));for(FT(this,s),f=0;f<o;++f)w=s[t],this.Mi(t,w),++t;return!0}else return++this.j,!1},h.Fi=function(t){var n,r,s,o,f,g,w,T,C;if(s=t.gc(),s!=0){for(T=(r=l(Gn(this.a,4),129),r==null?0:r.length),C=T+s,n=$ce(this,C),w=t.Kc(),f=T;f<C;++f)g=w.Pb(),lae(n,f,CT(this,g));for(FT(this,n),o=T;o<C;++o)g=n[o],this.Mi(o,g);return!0}else return++this.j,!1},h.Gi=function(t,n){var r,s,o,f;s=l(Gn(this.a,4),129),o=s==null?0:s.length,r=$ce(this,o+1),f=CT(this,n),t!=o&&gu(s,t,r,t+1,o-t),Ss(r,t,f),FT(this,r),this.Mi(t,n)},h.Hi=function(t){var n,r,s;s=(r=l(Gn(this.a,4),129),r==null?0:r.length),n=$ce(this,s+1),lae(n,s,CT(this,t)),FT(this,n),this.Mi(s,t)},h.Ii=function(){return new Zut(this)},h.Ji=function(){return new hat(this)},h.Ki=function(t){var n,r;if(r=(n=l(Gn(this.a,4),129),n==null?0:n.length),t<0||t>r)throw ue(new yy(t,r));return new Qat(this,t)},h.$b=function(){var t,n;++this.j,t=l(Gn(this.a,4),129),n=t==null?0:t.length,FT(this,null),Woe(this,n,t)},h.Hc=function(t){var n,r,s,o,f;if(n=l(Gn(this.a,4),129),n!=null){if(t!=null){for(s=n,o=0,f=s.length;o<f;++o)if(r=s[o],Fi(t,r))return!0}else for(s=n,o=0,f=s.length;o<f;++o)if(r=s[o],qe(r)===qe(t))return!0}return!1},h.Xb=function(t){var n,r;if(n=l(Gn(this.a,4),129),r=n==null?0:n.length,t>=r)throw ue(new yy(t,r));return n[t]},h.dd=function(t){var n,r,s;if(n=l(Gn(this.a,4),129),n!=null){if(t!=null){for(r=0,s=n.length;r<s;++r)if(Fi(t,n[r]))return r}else for(r=0,s=n.length;r<s;++r)if(qe(n[r])===qe(t))return r}return-1},h.dc=function(){return l(Gn(this.a,4),129)==null},h.Kc=function(){return new Jut(this)},h.ed=function(){return new lat(this)},h.fd=function(t){var n,r;if(r=(n=l(Gn(this.a,4),129),n==null?0:n.length),t<0||t>r)throw ue(new yy(t,r));return new Xat(this,t)},h.Ti=function(t,n){var r,s,o;if(r=mdt(this),o=r==null?0:r.length,t>=o)throw ue(new rc(h0e+t+gv+o));if(n>=o)throw ue(new rc(f0e+n+gv+o));return s=r[n],t!=n&&(t<n?gu(r,t,r,t+1,n-t):gu(r,n+1,r,n,t-n),Ss(r,t,s),FT(this,r)),s},h.Vi=function(t){return l(Gn(this.a,4),129)[t]},h.gd=function(t){return FTn(this,t)},h.Xi=function(t,n){var r,s;return r=mdt(this),s=r[t],lae(r,t,CT(this,n)),FT(this,r),s},h.gc=function(){var t;return t=l(Gn(this.a,4),129),t==null?0:t.length},h.Pc=function(){var t,n,r;return t=l(Gn(this.a,4),129),r=t==null?0:t.length,n=We(gpe,m0e,424,r,0,1),r>0&&gu(t,0,n,0,r),n},h.Qc=function(t){var n,r,s;return n=l(Gn(this.a,4),129),s=n==null?0:n.length,s>0&&(t.length<s&&(r=EN(dh(t).c,s),t=r),gu(n,0,t,0,s)),t.length>s&&Ss(t,s,null),t};var aAt;I(Eo,"ArrayDelegatingEList",2080),D(1051,37,Ia,Jut),h.Xj=function(){if(this.b.j!=this.f||qe(l(Gn(this.b.a,4),129))!==qe(this.a))throw ue(new Yh)},h.Qb=function(){$A(this),this.a=l(Gn(this.b.a,4),129)},I(Eo,"ArrayDelegatingEList/EIterator",1051),D(722,286,dg,lat,Xat),h.Xj=function(){if(this.b.j!=this.f||qe(l(Gn(this.b.a,4),129))!==qe(this.a))throw ue(new Yh)},h.$j=function(t){fgt(this,t),this.a=l(Gn(this.b.a,4),129)},h.Qb=function(){$A(this),this.a=l(Gn(this.b.a,4),129)},I(Eo,"ArrayDelegatingEList/EListIterator",722),D(1052,355,Ia,Zut),h.Xj=function(){if(this.b.j!=this.f||qe(l(Gn(this.b.a,4),129))!==qe(this.a))throw ue(new Yh)},I(Eo,"ArrayDelegatingEList/NonResolvingEIterator",1052),D(723,398,dg,hat,Qat),h.Xj=function(){if(this.b.j!=this.f||qe(l(Gn(this.b.a,4),129))!==qe(this.a))throw ue(new Yh)},I(Eo,"ArrayDelegatingEList/NonResolvingEListIterator",723),D(615,302,whe,iae),I(Eo,"BasicEList/BasicIndexOutOfBoundsException",615),D(710,66,Bd,vye),h.bd=function(t,n){throw ue(new Qr)},h.Fc=function(t){throw ue(new Qr)},h.cd=function(t,n){throw ue(new Qr)},h.Gc=function(t){throw ue(new Qr)},h.$b=function(){throw ue(new Qr)},h._i=function(t){throw ue(new Qr)},h.Kc=function(){return this.Ii()},h.ed=function(){return this.Ji()},h.fd=function(t){return this.Ki(t)},h.Ti=function(t,n){throw ue(new Qr)},h.Ui=function(t,n){throw ue(new Qr)},h.gd=function(t){throw ue(new Qr)},h.Mc=function(t){throw ue(new Qr)},h.hd=function(t,n){throw ue(new Qr)},I(Eo,"BasicEList/UnmodifiableEList",710),D(721,1,{3:1,20:1,16:1,15:1,61:1,597:1}),h.bd=function(t,n){Phn(this,t,l(n,44))},h.Fc=function(t){return Afn(this,l(t,44))},h.Jc=function(t){Za(this,t)},h.Xb=function(t){return l(Oe(this.c,t),136)},h.Ti=function(t,n){return l(this.c.Ti(t,n),44)},h.Ui=function(t,n){Bhn(this,t,l(n,44))},h.Lc=function(){return new vn(null,new kn(this,16))},h.gd=function(t){return l(this.c.gd(t),44)},h.hd=function(t,n){return Qgn(this,t,l(n,44))},h.jd=function(t){Wm(this,t)},h.Nc=function(){return new kn(this,16)},h.Oc=function(){return new vn(null,new kn(this,16))},h.cd=function(t,n){return this.c.cd(t,n)},h.Gc=function(t){return this.c.Gc(t)},h.$b=function(){this.c.$b()},h.Hc=function(t){return this.c.Hc(t)},h.Ic=function(t){return DN(this.c,t)},h._j=function(){var t,n,r;if(this.d==null){for(this.d=We(BPe,VSe,66,2*this.f+1,0,1),r=this.e,this.f=0,n=this.c.Kc();n.e!=n.i.gc();)t=l(n.Yj(),136),gV(this,t);this.e=r}},h.Fb=function(t){return Rit(this,t)},h.Hb=function(){return W7e(this.c)},h.dd=function(t){return this.c.dd(t)},h.ak=function(){this.c=new zQe(this)},h.dc=function(){return this.f==0},h.Kc=function(){return this.c.Kc()},h.ed=function(){return this.c.ed()},h.fd=function(t){return this.c.fd(t)},h.bk=function(){return fN(this)},h.ck=function(t,n,r){return new Qit(t,n,r)},h.dk=function(){return new O$},h.Mc=function(t){return Eft(this,t)},h.gc=function(){return this.f},h.kd=function(t,n){return new c2(this.c,t,n)},h.Pc=function(){return this.c.Pc()},h.Qc=function(t){return this.c.Qc(t)},h.Ib=function(){return q8e(this.c)},h.e=0,h.f=0,I(Eo,"BasicEMap",721),D(1046,66,Bd,zQe),h.Mi=function(t,n){dun(this,l(n,136))},h.Pi=function(t,n,r){var s;++(s=this,l(n,136),s).a.e},h.Qi=function(t,n){gun(this,l(n,136))},h.Ri=function(t,n,r){dfn(this,l(n,136),l(r,136))},h.Oi=function(t,n){m0t(this.a)},I(Eo,"BasicEMap/1",1046),D(1047,66,Bd,O$),h.aj=function(t){return We(tNn,M5t,621,t,0,1)},I(Eo,"BasicEMap/2",1047),D(1048,q1,Tl,qQe),h.$b=function(){this.a.c.$b()},h.Hc=function(t){return oue(this.a,t)},h.Kc=function(){return this.a.f==0?(jk(),yF.a):new EZe(this.a)},h.Mc=function(t){var n;return n=this.a.f,nV(this.a,t),this.a.f!=n},h.gc=function(){return this.a.f},I(Eo,"BasicEMap/3",1048),D(1049,31,Qy,HQe),h.$b=function(){this.a.c.$b()},h.Hc=function(t){return dmt(this.a,t)},h.Kc=function(){return this.a.f==0?(jk(),yF.a):new CZe(this.a)},h.gc=function(){return this.a.f},I(Eo,"BasicEMap/4",1049),D(1050,q1,Tl,UQe),h.$b=function(){this.a.c.$b()},h.Hc=function(t){var n,r,s,o,f,g,w,T,C;if(this.a.f>0&&De(t,44)&&(this.a._j(),T=l(t,44),w=T.ld(),o=w==null?0:ts(w),f=p4e(this.a,o),n=this.a.d[f],n)){for(r=l(n.g,379),C=n.i,g=0;g<C;++g)if(s=r[g],s.Bi()==o&&s.Fb(T))return!0}return!1},h.Kc=function(){return this.a.f==0?(jk(),yF.a):new boe(this.a)},h.Mc=function(t){return ibt(this,t)},h.gc=function(){return this.a.f},I(Eo,"BasicEMap/5",1050),D(622,1,Ia,boe),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return this.b!=-1},h.Pb=function(){var t;if(this.f.e!=this.c)throw ue(new Yh);if(this.b==-1)throw ue(new Dc);return this.d=this.a,this.e=this.b,Ugt(this),t=l(this.f.d[this.d].g[this.e],136),this.ek(t)},h.Qb=function(){if(this.f.e!=this.c)throw ue(new Yh);if(this.e==-1)throw ue(new gl);this.f.c.Mc(Oe(this.f.d[this.d],this.e)),this.c=this.f.e,this.e=-1,this.a==this.d&&this.b!=-1&&--this.b},h.ek=function(t){return t},h.a=0,h.b=-1,h.c=0,h.d=0,h.e=0,I(Eo,"BasicEMap/BasicEMapIterator",622),D(1044,622,Ia,EZe),h.ek=function(t){return t.ld()},I(Eo,"BasicEMap/BasicEMapKeyIterator",1044),D(1045,622,Ia,CZe),h.ek=function(t){return t.md()},I(Eo,"BasicEMap/BasicEMapValueIterator",1045),D(1043,1,t3,VQe),h.wc=function(t){vA(this,t)},h.yc=function(t,n,r){return nue(this,t,n,r)},h.$b=function(){this.a.c.$b()},h._b=function(t){return ant(this,t)},h.uc=function(t){return dmt(this.a,t)},h.vc=function(){return Bvn(this.a)},h.Fb=function(t){return Rit(this.a,t)},h.xc=function(t){return t1(this.a,t)},h.Hb=function(){return W7e(this.a.c)},h.dc=function(){return this.a.f==0},h.ec=function(){return Nvn(this.a)},h.zc=function(t,n){return eP(this.a,t,n)},h.Bc=function(t){return nV(this.a,t)},h.gc=function(){return this.a.f},h.Ib=function(){return q8e(this.a.c)},h.Cc=function(){return Pvn(this.a)},I(Eo,"BasicEMap/DelegatingMap",1043),D(621,1,{44:1,136:1,621:1},Qit),h.Fb=function(t){var n;return De(t,44)?(n=l(t,44),(this.b!=null?Fi(this.b,n.ld()):qe(this.b)===qe(n.ld()))&&(this.c!=null?Fi(this.c,n.md()):qe(this.c)===qe(n.md()))):!1},h.Bi=function(){return this.a},h.ld=function(){return this.b},h.md=function(){return this.c},h.Hb=function(){return this.a^(this.c==null?0:ts(this.c))},h.Ci=function(t){this.a=t},h.Di=function(t){throw ue(new Om)},h.nd=function(t){var n;return n=this.c,this.c=t,n},h.Ib=function(){return this.b+"->"+this.c},h.a=0;var tNn=I(Eo,"BasicEMap/EntryImpl",621);D(546,1,{},DS),I(Eo,"BasicEMap/View",546);var yF;D(783,1,{}),h.Fb=function(t){return Q9e((Cn(),Co),t)},h.Hb=function(){return a8e((Cn(),Co))},h.Ib=function(){return Ob((Cn(),Co))},I(Eo,"ECollections/BasicEmptyUnmodifiableEList",783),D(1348,1,dg,hre),h.Nb=function(t){Qa(this,t)},h.Rb=function(t){throw ue(new Qr)},h.Ob=function(){return!1},h.Sb=function(){return!1},h.Pb=function(){throw ue(new Dc)},h.Tb=function(){return 0},h.Ub=function(){throw ue(new Dc)},h.Vb=function(){return-1},h.Qb=function(){throw ue(new Qr)},h.Wb=function(t){throw ue(new Qr)},I(Eo,"ECollections/BasicEmptyUnmodifiableEList/1",1348),D(1346,783,{20:1,16:1,15:1,61:1},NJe),h.bd=function(t,n){YZe()},h.Fc=function(t){return XZe()},h.cd=function(t,n){return QZe()},h.Gc=function(t){return JZe()},h.$b=function(){ZZe()},h.Hc=function(t){return!1},h.Ic=function(t){return!1},h.Jc=function(t){Za(this,t)},h.Xb=function(t){return xye((Cn(),t)),null},h.dd=function(t){return-1},h.dc=function(){return!0},h.Kc=function(){return this.a},h.ed=function(){return this.a},h.fd=function(t){return this.a},h.Ti=function(t,n){return eet()},h.Ui=function(t,n){tet()},h.Lc=function(){return new vn(null,new kn(this,16))},h.gd=function(t){return net()},h.Mc=function(t){return ret()},h.hd=function(t,n){return iet()},h.gc=function(){return 0},h.jd=function(t){Wm(this,t)},h.Nc=function(){return new kn(this,16)},h.Oc=function(){return new vn(null,new kn(this,16))},h.kd=function(t,n){return Cn(),new c2(Co,t,n)},h.Pc=function(){return v5e((Cn(),Co))},h.Qc=function(t){return Cn(),BA(Co,t)},I(Eo,"ECollections/EmptyUnmodifiableEList",1346),D(1347,783,{20:1,16:1,15:1,61:1,597:1},PJe),h.bd=function(t,n){YZe()},h.Fc=function(t){return XZe()},h.cd=function(t,n){return QZe()},h.Gc=function(t){return JZe()},h.$b=function(){ZZe()},h.Hc=function(t){return!1},h.Ic=function(t){return!1},h.Jc=function(t){Za(this,t)},h.Xb=function(t){return xye((Cn(),t)),null},h.dd=function(t){return-1},h.dc=function(){return!0},h.Kc=function(){return this.a},h.ed=function(){return this.a},h.fd=function(t){return this.a},h.Ti=function(t,n){return eet()},h.Ui=function(t,n){tet()},h.Lc=function(){return new vn(null,new kn(this,16))},h.gd=function(t){return net()},h.Mc=function(t){return ret()},h.hd=function(t,n){return iet()},h.gc=function(){return 0},h.jd=function(t){Wm(this,t)},h.Nc=function(){return new kn(this,16)},h.Oc=function(){return new vn(null,new kn(this,16))},h.kd=function(t,n){return Cn(),new c2(Co,t,n)},h.Pc=function(){return v5e((Cn(),Co))},h.Qc=function(t){return Cn(),BA(Co,t)},h.bk=function(){return Cn(),Cn(),yg},I(Eo,"ECollections/EmptyUnmodifiableEMap",1347);var RPe=Ts(Eo,"Enumerator"),LY;D(288,1,{288:1},gle),h.Fb=function(t){var n;return this===t?!0:De(t,288)?(n=l(t,288),this.f==n.f&&dgn(this.i,n.i)&&zae(this.a,this.f&256?n.f&256?n.a:null:n.f&256?null:n.a)&&zae(this.d,n.d)&&zae(this.g,n.g)&&zae(this.e,n.e)&&F6n(this,n)):!1},h.Hb=function(){return this.f},h.Ib=function(){return Gmt(this)},h.f=0;var oAt=0,cAt=0,uAt=0,lAt=0,jPe=0,$Pe=0,zPe=0,qPe=0,HPe=0,hAt,zM=0,qM=0,fAt=0,dAt=0,MY,UPe;I(Eo,"URI",288),D(1121,45,w6,BJe),h.zc=function(t,n){return l(sc(this,Zr(t),l(n,288)),288)},I(Eo,"URI/URICache",1121),D(506,66,Bd,M$,bH),h.Si=function(){return!0},I(Eo,"UniqueEList",506),D(590,63,gp,uU),I(Eo,"WrappedException",590);var vi=Ts(gf,O5t),O4=Ts(gf,N5t),fl=Ts(gf,P5t),N4=Ts(gf,B5t),u1=Ts(gf,F5t),Uf=Ts(gf,"EClass"),ppe=Ts(gf,"EDataType"),gAt;D(1233,45,w6,FJe),h.xc=function(t){return Da(t)?wu(this,t):dc(zo(this.f,t))},I(gf,"EDataType/Internal/ConversionDelegate/Factory/Registry/Impl",1233);var DY=Ts(gf,"EEnum"),Tp=Ts(gf,R5t),Wo=Ts(gf,j5t),Vf=Ts(gf,$5t),Gf,L3=Ts(gf,z5t),P4=Ts(gf,q5t);D(1042,1,{},ure),h.Ib=function(){return"NIL"},I(gf,"EStructuralFeature/Internal/DynamicValueHolder/1",1042);var pAt;D(1041,45,w6,RJe),h.xc=function(t){return Da(t)?wu(this,t):dc(zo(this.f,t))},I(gf,"EStructuralFeature/Internal/SettingDelegate/Factory/Registry/Impl",1041);var Zu=Ts(gf,H5t),c9=Ts(gf,"EValidator/PatternMatcher"),VPe,GPe,Un,j2,B4,om,bAt,mAt,vAt,cm,$2,um,M3,td,wAt,yAt,Kf,z2,xAt,q2,F4,u7,Do,kAt,TAt,D3,IY=Ts(us,"FeatureMap/Entry");D(545,1,{76:1},Oq),h.Lk=function(){return this.a},h.md=function(){return this.b},I(Vn,"BasicEObjectImpl/1",545),D(1040,1,v0e,cnt),h.Fk=function(t){return Uoe(this.a,this.b,t)},h.Qj=function(){return Uot(this.a,this.b)},h.Wb=function(t){a6e(this.a,this.b,t)},h.Gk=function(){lpn(this.a,this.b)},I(Vn,"BasicEObjectImpl/4",1040),D(2081,1,{114:1}),h.Mk=function(t){this.e=t==0?EAt:We(ka,jn,1,t,5,1)},h.li=function(t){return this.e[t]},h.mi=function(t,n){this.e[t]=n},h.ni=function(t){this.e[t]=null},h.Nk=function(){return this.c},h.Ok=function(){throw ue(new Qr)},h.Pk=function(){throw ue(new Qr)},h.Qk=function(){return this.d},h.Rk=function(){return this.e!=null},h.Sk=function(t){this.c=t},h.Tk=function(t){throw ue(new Qr)},h.Uk=function(t){throw ue(new Qr)},h.Vk=function(t){this.d=t};var EAt;I(Vn,"BasicEObjectImpl/EPropertiesHolderBaseImpl",2081),D(192,2081,{114:1},Sf),h.Ok=function(){return this.a},h.Pk=function(){return this.b},h.Tk=function(t){this.a=t},h.Uk=function(t){this.b=t},I(Vn,"BasicEObjectImpl/EPropertiesHolderImpl",192),D(516,99,U4t,w5),h.uh=function(){return this.f},h.zh=function(){return this.k},h.Bh=function(t,n){this.g=t,this.i=n},h.Dh=function(){return this.j&2?this.$h().Nk():this.ii()},h.Fh=function(){return this.i},h.wh=function(){return(this.j&1)!=0},h.Ph=function(){return this.g},h.Vh=function(){return(this.j&4)!=0},h.$h=function(){return!this.k&&(this.k=new Sf),this.k},h.ci=function(t){this.$h().Sk(t),t?this.j|=2:this.j&=-3},h.ei=function(t){this.$h().Uk(t),t?this.j|=4:this.j&=-5},h.ii=function(){return(wb(),Un).S},h.i=0,h.j=1,I(Vn,"EObjectImpl",516),D(798,516,{110:1,94:1,93:1,58:1,114:1,54:1,99:1},t5e),h.li=function(t){return this.e[t]},h.mi=function(t,n){this.e[t]=n},h.ni=function(t){this.e[t]=null},h.Dh=function(){return this.d},h.Ih=function(t){return vs(this.d,t)},h.Kh=function(){return this.d},h.Oh=function(){return this.e!=null},h.$h=function(){return!this.k&&(this.k=new N$),this.k},h.ci=function(t){this.d=t},h.hi=function(){var t;return this.e==null&&(t=wr(this.d),this.e=t==0?CAt:We(ka,jn,1,t,5,1)),this},h.ji=function(){return 0};var CAt;I(Vn,"DynamicEObjectImpl",798),D(1522,798,{110:1,44:1,94:1,93:1,136:1,58:1,114:1,54:1,99:1},kst),h.Fb=function(t){return this===t},h.Hb=function(){return ww(this)},h.ci=function(t){this.d=t,this.b=pP(t,"key"),this.c=pP(t,CL)},h.Bi=function(){var t;return this.a==-1&&(t=rce(this,this.b),this.a=t==null?0:ts(t)),this.a},h.ld=function(){return rce(this,this.b)},h.md=function(){return rce(this,this.c)},h.Ci=function(t){this.a=t},h.Di=function(t){a6e(this,this.b,t)},h.nd=function(t){var n;return n=rce(this,this.c),a6e(this,this.c,t),n},h.a=0,I(Vn,"DynamicEObjectImpl/BasicEMapEntry",1522),D(1523,1,{114:1},N$),h.Mk=function(t){throw ue(new Qr)},h.li=function(t){throw ue(new Qr)},h.mi=function(t,n){throw ue(new Qr)},h.ni=function(t){throw ue(new Qr)},h.Nk=function(){throw ue(new Qr)},h.Ok=function(){return this.a},h.Pk=function(){return this.b},h.Qk=function(){return this.c},h.Rk=function(){throw ue(new Qr)},h.Sk=function(t){throw ue(new Qr)},h.Tk=function(t){this.a=t},h.Uk=function(t){this.b=t},h.Vk=function(t){this.c=t},I(Vn,"DynamicEObjectImpl/DynamicEPropertiesHolderImpl",1523),D(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},OI),h.Ah=function(t){return Dxe(this,t)},h.Lh=function(t,n,r){var s;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.d;case 2:return r?(!this.b&&(this.b=new lh((En(),Do),Qc,this)),this.b):(!this.b&&(this.b=new lh((En(),Do),Qc,this)),fN(this.b));case 3:return Yot(this);case 4:return!this.a&&(this.a=new Qs(sm,this,4)),this.a;case 5:return!this.c&&(this.c=new q5(sm,this,5)),this.c}return rf(this,t-wr((En(),j2)),Mn((s=l(Gn(this,16),29),s||j2),t),n,r)},h.Sh=function(t,n,r){var s,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Fu(this.Ab,t,r);case 3:return this.Cb&&(r=(o=this.Db>>16,o>=0?Dxe(this,r):this.Cb.Th(this,-1-o,null,r))),m5e(this,l(t,155),r)}return f=l(Mn((s=l(Gn(this,16),29),s||(En(),j2)),n),69),f.wk().zk(this,Ku(this),n-wr((En(),j2)),t,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 2:return!this.b&&(this.b=new lh((En(),Do),Qc,this)),Jq(this.b,t,r);case 3:return m5e(this,null,r);case 4:return!this.a&&(this.a=new Qs(sm,this,4)),ko(this.a,t,r)}return o=l(Mn((s=l(Gn(this,16),29),s||(En(),j2)),n),69),o.wk().Ak(this,Ku(this),n-wr((En(),j2)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.d!=null;case 2:return!!this.b&&this.b.f!=0;case 3:return!!Yot(this);case 4:return!!this.a&&this.a.i!=0;case 5:return!!this.c&&this.c.i!=0}return tf(this,t-wr((En(),j2)),Mn((n=l(Gn(this,16),29),n||j2),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:egn(this,Zr(n));return;case 2:!this.b&&(this.b=new lh((En(),Do),Qc,this)),NU(this.b,n);return;case 3:Nbt(this,l(n,155));return;case 4:!this.a&&(this.a=new Qs(sm,this,4)),$r(this.a),!this.a&&(this.a=new Qs(sm,this,4)),Ls(this.a,l(n,16));return;case 5:!this.c&&(this.c=new q5(sm,this,5)),$r(this.c),!this.c&&(this.c=new q5(sm,this,5)),Ls(this.c,l(n,16));return}cf(this,t-wr((En(),j2)),Mn((r=l(Gn(this,16),29),r||j2),t),n)},h.ii=function(){return En(),j2},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:I7e(this,null);return;case 2:!this.b&&(this.b=new lh((En(),Do),Qc,this)),this.b.c.$b();return;case 3:Nbt(this,null);return;case 4:!this.a&&(this.a=new Qs(sm,this,4)),$r(this.a);return;case 5:!this.c&&(this.c=new q5(sm,this,5)),$r(this.c);return}of(this,t-wr((En(),j2)),Mn((n=l(Gn(this,16),29),n||j2),t))},h.Ib=function(){return R1t(this)},h.d=null,I(Vn,"EAnnotationImpl",519),D(141,721,GSe,yl),h.Gi=function(t,n){vhn(this,t,l(n,44))},h.Wk=function(t,n){return y0n(this,l(t,44),n)},h.$i=function(t){return l(l(this.c,71).$i(t),136)},h.Ii=function(){return l(this.c,71).Ii()},h.Ji=function(){return l(this.c,71).Ji()},h.Ki=function(t){return l(this.c,71).Ki(t)},h.Xk=function(t,n){return Jq(this,t,n)},h.Fk=function(t){return l(this.c,79).Fk(t)},h.ak=function(){},h.Qj=function(){return l(this.c,79).Qj()},h.ck=function(t,n,r){var s;return s=l(Ah(this.b).wi().si(this.b),136),s.Ci(t),s.Di(n),s.nd(r),s},h.dk=function(){return new $we(this)},h.Wb=function(t){NU(this,t)},h.Gk=function(){l(this.c,79).Gk()},I(us,"EcoreEMap",141),D(165,141,GSe,lh),h._j=function(){var t,n,r,s,o,f;if(this.d==null){for(f=We(BPe,VSe,66,2*this.f+1,0,1),r=this.c.Kc();r.e!=r.i.gc();)n=l(r.Yj(),136),s=n.Bi(),o=(s&Ni)%f.length,t=f[o],!t&&(t=f[o]=new $we(this)),t.Fc(n);this.d=f}},I(Vn,"EAnnotationImpl/1",165),D(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}),h.Lh=function(t,n,r){var s,o;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Hn(),!!(this.Bb&256);case 3:return Hn(),!!(this.Bb&512);case 4:return bt(this.s);case 5:return bt(this.t);case 6:return Hn(),!!this.Jk();case 7:return Hn(),o=this.s,o>=1;case 8:return n?Of(this):this.r;case 9:return this.q}return rf(this,t-wr(this.ii()),Mn((s=l(Gn(this,16),29),s||this.ii()),t),n,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 9:return noe(this,r)}return o=l(Mn((s=l(Gn(this,16),29),s||this.ii()),n),69),o.wk().Ak(this,Ku(this),n-wr(this.ii()),t,r)},h.Wh=function(t){var n,r;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.Jk();case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&_w(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&_w(this.q).i==0)}return tf(this,t-wr(this.ii()),Mn((n=l(Gn(this,16),29),n||this.ii()),t))},h.bi=function(t,n){var r,s;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:this.ui(Zr(n));return;case 2:m2(this,Ft(Pt(n)));return;case 3:v2(this,Ft(Pt(n)));return;case 4:d2(this,l(n,17).a);return;case 5:this.Zk(l(n,17).a);return;case 8:ev(this,l(n,142));return;case 9:s=$1(this,l(n,89),null),s&&s.oj();return}cf(this,t-wr(this.ii()),Mn((r=l(Gn(this,16),29),r||this.ii()),t),n)},h.ii=function(){return En(),TAt},h.ki=function(t){var n,r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:this.ui(null);return;case 2:m2(this,!0);return;case 3:v2(this,!0);return;case 4:d2(this,0);return;case 5:this.Zk(1);return;case 8:ev(this,null);return;case 9:r=$1(this,null,null),r&&r.oj();return}of(this,t-wr(this.ii()),Mn((n=l(Gn(this,16),29),n||this.ii()),t))},h.pi=function(){Of(this),this.Bb|=1},h.Hk=function(){return Of(this)},h.Ik=function(){return this.t},h.Jk=function(){var t;return t=this.t,t>1||t==-1},h.Si=function(){return(this.Bb&512)!=0},h.Yk=function(t,n){return C8e(this,t,n)},h.Zk=function(t){Oy(this,t)},h.Ib=function(){return q9e(this)},h.s=0,h.t=1,I(Vn,"ETypedElementImpl",292),D(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}),h.Ah=function(t){return _gt(this,t)},h.Lh=function(t,n,r){var s,o;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Hn(),!!(this.Bb&256);case 3:return Hn(),!!(this.Bb&512);case 4:return bt(this.s);case 5:return bt(this.t);case 6:return Hn(),!!this.Jk();case 7:return Hn(),o=this.s,o>=1;case 8:return n?Of(this):this.r;case 9:return this.q;case 10:return Hn(),!!(this.Bb&b0);case 11:return Hn(),!!(this.Bb&a4);case 12:return Hn(),!!(this.Bb&Zy);case 13:return this.j;case 14:return KT(this);case 15:return Hn(),!!(this.Bb&Cl);case 16:return Hn(),!!(this.Bb&_d);case 17:return Cy(this)}return rf(this,t-wr(this.ii()),Mn((s=l(Gn(this,16),29),s||this.ii()),t),n,r)},h.Sh=function(t,n,r){var s,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Fu(this.Ab,t,r);case 17:return this.Cb&&(r=(o=this.Db>>16,o>=0?_gt(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,17,r)}return f=l(Mn((s=l(Gn(this,16),29),s||this.ii()),n),69),f.wk().zk(this,Ku(this),n-wr(this.ii()),t,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 9:return noe(this,r);case 17:return Nh(this,null,17,r)}return o=l(Mn((s=l(Gn(this,16),29),s||this.ii()),n),69),o.wk().Ak(this,Ku(this),n-wr(this.ii()),t,r)},h.Wh=function(t){var n,r;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return this.Jk();case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&_w(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&_w(this.q).i==0);case 10:return(this.Bb&b0)==0;case 11:return(this.Bb&a4)!=0;case 12:return(this.Bb&Zy)!=0;case 13:return this.j!=null;case 14:return KT(this)!=null;case 15:return(this.Bb&Cl)!=0;case 16:return(this.Bb&_d)!=0;case 17:return!!Cy(this)}return tf(this,t-wr(this.ii()),Mn((n=l(Gn(this,16),29),n||this.ii()),t))},h.bi=function(t,n){var r,s;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:Loe(this,Zr(n));return;case 2:m2(this,Ft(Pt(n)));return;case 3:v2(this,Ft(Pt(n)));return;case 4:d2(this,l(n,17).a);return;case 5:this.Zk(l(n,17).a);return;case 8:ev(this,l(n,142));return;case 9:s=$1(this,l(n,89),null),s&&s.oj();return;case 10:MT(this,Ft(Pt(n)));return;case 11:OT(this,Ft(Pt(n)));return;case 12:DT(this,Ft(Pt(n)));return;case 13:mye(this,Zr(n));return;case 15:IT(this,Ft(Pt(n)));return;case 16:NT(this,Ft(Pt(n)));return}cf(this,t-wr(this.ii()),Mn((r=l(Gn(this,16),29),r||this.ii()),t),n)},h.ii=function(){return En(),kAt},h.ki=function(t){var n,r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,90)&&Uy(Gl(l(this.Cb,90)),4),Bu(this,null);return;case 2:m2(this,!0);return;case 3:v2(this,!0);return;case 4:d2(this,0);return;case 5:this.Zk(1);return;case 8:ev(this,null);return;case 9:r=$1(this,null,null),r&&r.oj();return;case 10:MT(this,!0);return;case 11:OT(this,!1);return;case 12:DT(this,!1);return;case 13:this.i=null,AU(this,null);return;case 15:IT(this,!1);return;case 16:NT(this,!1);return}of(this,t-wr(this.ii()),Mn((n=l(Gn(this,16),29),n||this.ii()),t))},h.pi=function(){Xk(ac((kl(),no),this)),Of(this),this.Bb|=1},h.pk=function(){return this.f},h.ik=function(){return KT(this)},h.qk=function(){return Cy(this)},h.uk=function(){return null},h.$k=function(){return this.k},h.Lj=function(){return this.n},h.vk=function(){return kV(this)},h.wk=function(){var t,n,r,s,o,f,g,w,T;return this.p||(r=Cy(this),(r.i==null&&Sd(r),r.i).length,s=this.uk(),s&&wr(Cy(s)),o=Of(this),g=o.kk(),t=g?g.i&1?g==th?Ps:g==Ur?to:g==j4?LE:g==Oa?ra:g==hm?l3:g==d7?h3:g==_l?$x:BL:g:null,n=KT(this),w=o.ik(),g5n(this),this.Bb&_d&&((f=Rxe((kl(),no),r))&&f!=this||(f=ix(ac(no,this))))?this.p=new lnt(this,f):this.Jk()?this.al()?s?this.Bb&Cl?t?this.bl()?this.p=new zm(47,t,this,s):this.p=new zm(5,t,this,s):this.bl()?this.p=new Gm(46,this,s):this.p=new Gm(4,this,s):t?this.bl()?this.p=new zm(49,t,this,s):this.p=new zm(7,t,this,s):this.bl()?this.p=new Gm(48,this,s):this.p=new Gm(6,this,s):this.Bb&Cl?t?t==mv?this.p=new s2(50,iAt,this):this.bl()?this.p=new s2(43,t,this):this.p=new s2(1,t,this):this.bl()?this.p=new o2(42,this):this.p=new o2(0,this):t?t==mv?this.p=new s2(41,iAt,this):this.bl()?this.p=new s2(45,t,this):this.p=new s2(3,t,this):this.bl()?this.p=new o2(44,this):this.p=new o2(2,this):De(o,156)?t==IY?this.p=new o2(40,this):this.Bb&512?this.Bb&Cl?t?this.p=new s2(9,t,this):this.p=new o2(8,this):t?this.p=new s2(11,t,this):this.p=new o2(10,this):this.Bb&Cl?t?this.p=new s2(13,t,this):this.p=new o2(12,this):t?this.p=new s2(15,t,this):this.p=new o2(14,this):s?(T=s.t,T>1||T==-1?this.bl()?this.Bb&Cl?t?this.p=new zm(25,t,this,s):this.p=new Gm(24,this,s):t?this.p=new zm(27,t,this,s):this.p=new Gm(26,this,s):this.Bb&Cl?t?this.p=new zm(29,t,this,s):this.p=new Gm(28,this,s):t?this.p=new zm(31,t,this,s):this.p=new Gm(30,this,s):this.bl()?this.Bb&Cl?t?this.p=new zm(33,t,this,s):this.p=new Gm(32,this,s):t?this.p=new zm(35,t,this,s):this.p=new Gm(34,this,s):this.Bb&Cl?t?this.p=new zm(37,t,this,s):this.p=new Gm(36,this,s):t?this.p=new zm(39,t,this,s):this.p=new Gm(38,this,s)):this.bl()?this.Bb&Cl?t?this.p=new s2(17,t,this):this.p=new o2(16,this):t?this.p=new s2(19,t,this):this.p=new o2(18,this):this.Bb&Cl?t?this.p=new s2(21,t,this):this.p=new o2(20,this):t?this.p=new s2(23,t,this):this.p=new o2(22,this):this._k()?this.bl()?this.p=new Jit(l(o,29),this,s):this.p=new i6e(l(o,29),this,s):De(o,156)?t==IY?this.p=new o2(40,this):this.Bb&Cl?t?this.p=new Qst(n,w,this,(cue(),g==Ur?ZPe:g==th?WPe:g==hm?eBe:g==j4?JPe:g==Oa?QPe:g==d7?tBe:g==_l?YPe:g==xf?XPe:vpe)):this.p=new lot(l(o,156),n,w,this):t?this.p=new Xst(n,w,this,(cue(),g==Ur?ZPe:g==th?WPe:g==hm?eBe:g==j4?JPe:g==Oa?QPe:g==d7?tBe:g==_l?YPe:g==xf?XPe:vpe)):this.p=new uot(l(o,156),n,w,this):this.al()?s?this.Bb&Cl?this.bl()?this.p=new est(l(o,29),this,s):this.p=new H4e(l(o,29),this,s):this.bl()?this.p=new Zit(l(o,29),this,s):this.p=new Nae(l(o,29),this,s):this.Bb&Cl?this.bl()?this.p=new Xrt(l(o,29),this):this.p=new r4e(l(o,29),this):this.bl()?this.p=new Yrt(l(o,29),this):this.p=new xae(l(o,29),this):this.bl()?s?this.Bb&Cl?this.p=new tst(l(o,29),this,s):this.p=new z4e(l(o,29),this,s):this.Bb&Cl?this.p=new Qrt(l(o,29),this):this.p=new i4e(l(o,29),this):s?this.Bb&Cl?this.p=new nst(l(o,29),this,s):this.p=new q4e(l(o,29),this,s):this.Bb&Cl?this.p=new Jrt(l(o,29),this):this.p=new pH(l(o,29),this)),this.p},h.rk=function(){return(this.Bb&b0)!=0},h._k=function(){return!1},h.al=function(){return!1},h.sk=function(){return(this.Bb&_d)!=0},h.xk=function(){return ice(this)},h.bl=function(){return!1},h.tk=function(){return(this.Bb&Cl)!=0},h.cl=function(t){this.k=t},h.ui=function(t){Loe(this,t)},h.Ib=function(){return HV(this)},h.e=!1,h.n=0,I(Vn,"EStructuralFeatureImpl",462),D(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},tse),h.Lh=function(t,n,r){var s,o;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Hn(),!!(this.Bb&256);case 3:return Hn(),!!(this.Bb&512);case 4:return bt(this.s);case 5:return bt(this.t);case 6:return Hn(),!!B9e(this);case 7:return Hn(),o=this.s,o>=1;case 8:return n?Of(this):this.r;case 9:return this.q;case 10:return Hn(),!!(this.Bb&b0);case 11:return Hn(),!!(this.Bb&a4);case 12:return Hn(),!!(this.Bb&Zy);case 13:return this.j;case 14:return KT(this);case 15:return Hn(),!!(this.Bb&Cl);case 16:return Hn(),!!(this.Bb&_d);case 17:return Cy(this);case 18:return Hn(),!!(this.Bb&nu);case 19:return n?Ace(this):dlt(this)}return rf(this,t-wr((En(),B4)),Mn((s=l(Gn(this,16),29),s||B4),t),n,r)},h.Wh=function(t){var n,r;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return B9e(this);case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&_w(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&_w(this.q).i==0);case 10:return(this.Bb&b0)==0;case 11:return(this.Bb&a4)!=0;case 12:return(this.Bb&Zy)!=0;case 13:return this.j!=null;case 14:return KT(this)!=null;case 15:return(this.Bb&Cl)!=0;case 16:return(this.Bb&_d)!=0;case 17:return!!Cy(this);case 18:return(this.Bb&nu)!=0;case 19:return!!dlt(this)}return tf(this,t-wr((En(),B4)),Mn((n=l(Gn(this,16),29),n||B4),t))},h.bi=function(t,n){var r,s;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:Loe(this,Zr(n));return;case 2:m2(this,Ft(Pt(n)));return;case 3:v2(this,Ft(Pt(n)));return;case 4:d2(this,l(n,17).a);return;case 5:AZe(this,l(n,17).a);return;case 8:ev(this,l(n,142));return;case 9:s=$1(this,l(n,89),null),s&&s.oj();return;case 10:MT(this,Ft(Pt(n)));return;case 11:OT(this,Ft(Pt(n)));return;case 12:DT(this,Ft(Pt(n)));return;case 13:mye(this,Zr(n));return;case 15:IT(this,Ft(Pt(n)));return;case 16:NT(this,Ft(Pt(n)));return;case 18:eue(this,Ft(Pt(n)));return}cf(this,t-wr((En(),B4)),Mn((r=l(Gn(this,16),29),r||B4),t),n)},h.ii=function(){return En(),B4},h.ki=function(t){var n,r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,90)&&Uy(Gl(l(this.Cb,90)),4),Bu(this,null);return;case 2:m2(this,!0);return;case 3:v2(this,!0);return;case 4:d2(this,0);return;case 5:this.b=0,Oy(this,1);return;case 8:ev(this,null);return;case 9:r=$1(this,null,null),r&&r.oj();return;case 10:MT(this,!0);return;case 11:OT(this,!1);return;case 12:DT(this,!1);return;case 13:this.i=null,AU(this,null);return;case 15:IT(this,!1);return;case 16:NT(this,!1);return;case 18:eue(this,!1);return}of(this,t-wr((En(),B4)),Mn((n=l(Gn(this,16),29),n||B4),t))},h.pi=function(){Ace(this),Xk(ac((kl(),no),this)),Of(this),this.Bb|=1},h.Jk=function(){return B9e(this)},h.Yk=function(t,n){return this.b=0,this.a=null,C8e(this,t,n)},h.Zk=function(t){AZe(this,t)},h.Ib=function(){var t;return this.Db&64?HV(this):(t=new Af(HV(this)),t.a+=" (iD: ",t2(t,(this.Bb&nu)!=0),t.a+=")",t.a)},h.b=0,I(Vn,"EAttributeImpl",331),D(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}),h.dl=function(t){return t.Dh()==this},h.Ah=function(t){return Oue(this,t)},h.Bh=function(t,n){this.w=null,this.Db=n<<16|this.Db&255,this.Cb=t},h.Lh=function(t,n,r){var s;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return Ww(this);case 4:return this.ik();case 5:return this.F;case 6:return n?Ah(this):Zk(this);case 7:return!this.A&&(this.A=new bl(Zu,this,7)),this.A}return rf(this,t-wr(this.ii()),Mn((s=l(Gn(this,16),29),s||this.ii()),t),n,r)},h.Sh=function(t,n,r){var s,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Fu(this.Ab,t,r);case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?Oue(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,6,r)}return f=l(Mn((s=l(Gn(this,16),29),s||this.ii()),n),69),f.wk().zk(this,Ku(this),n-wr(this.ii()),t,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 6:return Nh(this,null,6,r);case 7:return!this.A&&(this.A=new bl(Zu,this,7)),ko(this.A,t,r)}return o=l(Mn((s=l(Gn(this,16),29),s||this.ii()),n),69),o.wk().Ak(this,Ku(this),n-wr(this.ii()),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!Ww(this);case 4:return this.ik()!=null;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!Zk(this);case 7:return!!this.A&&this.A.i!=0}return tf(this,t-wr(this.ii()),Mn((n=l(Gn(this,16),29),n||this.ii()),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:UH(this,Zr(n));return;case 2:oae(this,Zr(n));return;case 5:eE(this,Zr(n));return;case 7:!this.A&&(this.A=new bl(Zu,this,7)),$r(this.A),!this.A&&(this.A=new bl(Zu,this,7)),Ls(this.A,l(n,16));return}cf(this,t-wr(this.ii()),Mn((r=l(Gn(this,16),29),r||this.ii()),t),n)},h.ii=function(){return En(),bAt},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,184)&&(l(this.Cb,184).tb=null),Bu(this,null);return;case 2:_T(this,null),fT(this,this.D);return;case 5:eE(this,null);return;case 7:!this.A&&(this.A=new bl(Zu,this,7)),$r(this.A);return}of(this,t-wr(this.ii()),Mn((n=l(Gn(this,16),29),n||this.ii()),t))},h.hk=function(){var t;return this.G==-1&&(this.G=(t=Ah(this),t?x2(t.vi(),this):-1)),this.G},h.ik=function(){return null},h.jk=function(){return Ah(this)},h.el=function(){return this.v},h.kk=function(){return Ww(this)},h.lk=function(){return this.D!=null?this.D:this.B},h.mk=function(){return this.F},h.fk=function(t){return Tle(this,t)},h.fl=function(t){this.v=t},h.gl=function(t){Qft(this,t)},h.hl=function(t){this.C=t},h.ui=function(t){UH(this,t)},h.Ib=function(){return JU(this)},h.C=null,h.D=null,h.G=-1,I(Vn,"EClassifierImpl",364),D(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},vz),h.dl=function(t){return r0n(this,t.Dh())},h.Lh=function(t,n,r){var s;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return Ww(this);case 4:return null;case 5:return this.F;case 6:return n?Ah(this):Zk(this);case 7:return!this.A&&(this.A=new bl(Zu,this,7)),this.A;case 8:return Hn(),!!(this.Bb&256);case 9:return Hn(),!!(this.Bb&512);case 10:return pc(this);case 11:return!this.q&&(this.q=new nt(Vf,this,11,10)),this.q;case 12:return p6(this);case 13:return ZA(this);case 14:return ZA(this),this.r;case 15:return p6(this),this.k;case 16:return C9e(this);case 17:return _le(this);case 18:return Sd(this);case 19:return NV(this);case 20:return p6(this),this.o;case 21:return!this.s&&(this.s=new nt(fl,this,21,17)),this.s;case 22:return fu(this);case 23:return dle(this)}return rf(this,t-wr((En(),om)),Mn((s=l(Gn(this,16),29),s||om),t),n,r)},h.Sh=function(t,n,r){var s,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Fu(this.Ab,t,r);case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?Oue(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,6,r);case 11:return!this.q&&(this.q=new nt(Vf,this,11,10)),Fu(this.q,t,r);case 21:return!this.s&&(this.s=new nt(fl,this,21,17)),Fu(this.s,t,r)}return f=l(Mn((s=l(Gn(this,16),29),s||(En(),om)),n),69),f.wk().zk(this,Ku(this),n-wr((En(),om)),t,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 6:return Nh(this,null,6,r);case 7:return!this.A&&(this.A=new bl(Zu,this,7)),ko(this.A,t,r);case 11:return!this.q&&(this.q=new nt(Vf,this,11,10)),ko(this.q,t,r);case 21:return!this.s&&(this.s=new nt(fl,this,21,17)),ko(this.s,t,r);case 22:return ko(fu(this),t,r)}return o=l(Mn((s=l(Gn(this,16),29),s||(En(),om)),n),69),o.wk().Ak(this,Ku(this),n-wr((En(),om)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!Ww(this);case 4:return!1;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!Zk(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)!=0;case 9:return(this.Bb&512)!=0;case 10:return!!this.u&&fu(this.u.a).i!=0&&!(this.n&&kue(this.n));case 11:return!!this.q&&this.q.i!=0;case 12:return p6(this).i!=0;case 13:return ZA(this).i!=0;case 14:return ZA(this),this.r.i!=0;case 15:return p6(this),this.k.i!=0;case 16:return C9e(this).i!=0;case 17:return _le(this).i!=0;case 18:return Sd(this).i!=0;case 19:return NV(this).i!=0;case 20:return p6(this),!!this.o;case 21:return!!this.s&&this.s.i!=0;case 22:return!!this.n&&kue(this.n);case 23:return dle(this).i!=0}return tf(this,t-wr((En(),om)),Mn((n=l(Gn(this,16),29),n||om),t))},h.Zh=function(t){var n;return n=this.i==null||this.q&&this.q.i!=0?null:pP(this,t),n||oTe(this,t)},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:UH(this,Zr(n));return;case 2:oae(this,Zr(n));return;case 5:eE(this,Zr(n));return;case 7:!this.A&&(this.A=new bl(Zu,this,7)),$r(this.A),!this.A&&(this.A=new bl(Zu,this,7)),Ls(this.A,l(n,16));return;case 8:S8e(this,Ft(Pt(n)));return;case 9:_8e(this,Ft(Pt(n)));return;case 10:nL(pc(this)),Ls(pc(this),l(n,16));return;case 11:!this.q&&(this.q=new nt(Vf,this,11,10)),$r(this.q),!this.q&&(this.q=new nt(Vf,this,11,10)),Ls(this.q,l(n,16));return;case 21:!this.s&&(this.s=new nt(fl,this,21,17)),$r(this.s),!this.s&&(this.s=new nt(fl,this,21,17)),Ls(this.s,l(n,16));return;case 22:$r(fu(this)),Ls(fu(this),l(n,16));return}cf(this,t-wr((En(),om)),Mn((r=l(Gn(this,16),29),r||om),t),n)},h.ii=function(){return En(),om},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,184)&&(l(this.Cb,184).tb=null),Bu(this,null);return;case 2:_T(this,null),fT(this,this.D);return;case 5:eE(this,null);return;case 7:!this.A&&(this.A=new bl(Zu,this,7)),$r(this.A);return;case 8:S8e(this,!1);return;case 9:_8e(this,!1);return;case 10:this.u&&nL(this.u);return;case 11:!this.q&&(this.q=new nt(Vf,this,11,10)),$r(this.q);return;case 21:!this.s&&(this.s=new nt(fl,this,21,17)),$r(this.s);return;case 22:this.n&&$r(this.n);return}of(this,t-wr((En(),om)),Mn((n=l(Gn(this,16),29),n||om),t))},h.pi=function(){var t,n;if(p6(this),ZA(this),C9e(this),_le(this),Sd(this),NV(this),dle(this),lA(Ldn(Gl(this))),this.s)for(t=0,n=this.s.i;t<n;++t)NO(Oe(this.s,t));if(this.q)for(t=0,n=this.q.i;t<n;++t)NO(Oe(this.q,t));b2((kl(),no),this).xe(),this.Bb|=1},h.Ib=function(){return Vxe(this)},h.k=null,h.r=null;var HM,SAt,bpe;I(Vn,"EClassImpl",90),D(2092,2091,G5t),h.Ei=function(t,n){return Ele(this,t,n)},h.Fi=function(t){return Ele(this,this.i,t)},h.Gi=function(t,n){z9e(this,t,n)},h.Hi=function(t){ile(this,t)},h.Wk=function(t,n){return Fu(this,t,n)},h.$i=function(t){return n7e(this,t)},h.Xk=function(t,n){return ko(this,t,n)},h.Xi=function(t,n){return Tvt(this,t,n)},h.Ii=function(){return new U8(this)},h.Ji=function(){return new OO(this)},h.Ki=function(t){return CN(this,t)},I(us,"NotifyingInternalEListImpl",2092),D(632,2092,Ec),h.Hc=function(t){return Uvt(this,t)},h.Ij=function(t,n,r,s,o){return iA(this,t,n,r,s,o)},h.Jj=function(t){Tk(this,t)},h.Fk=function(t){return this},h.Lk=function(){return Mn(this.e.Dh(),this.Lj())},h.Kj=function(){return this.Lk()},h.Lj=function(){return vs(this.e.Dh(),this.Lk())},h.il=function(){return l(this.Lk().Hk(),29).kk()},h.jl=function(){return jo(l(this.Lk(),19)).n},h.jj=function(){return this.e},h.kl=function(){return!0},h.ll=function(){return!1},h.ml=function(){return!1},h.nl=function(){return!1},h.dd=function(t){return x2(this,t)},h.Nj=function(t,n){var r;return r=l(t,54),this.ml()?this.kl()?r.Rh(this.e,this.jl(),this.il(),n):r.Rh(this.e,vs(r.Dh(),jo(l(this.Lk(),19))),null,n):r.Rh(this.e,-1-this.Lj(),null,n)},h.Oj=function(t,n){var r;return r=l(t,54),this.ml()?this.kl()?r.Th(this.e,this.jl(),this.il(),n):r.Th(this.e,vs(r.Dh(),jo(l(this.Lk(),19))),null,n):r.Th(this.e,-1-this.Lj(),null,n)},h.al=function(){return!1},h.ol=function(){return!0},h.fk=function(t){return gut(this.d,t)},h.Pj=function(){return ch(this.e)},h.Qj=function(){return this.i!=0},h.aj=function(t){return EN(this.d,t)},h.Wi=function(t,n){return this.ol()&&this.nl()?Ex(this,t,l(n,58)):n},h.pl=function(t){return t.Vh()?Lb(this.e,l(t,54)):t},h.Wb=function(t){ort(this,t)},h.Pc=function(){return uht(this)},h.Qc=function(t){var n;if(this.nl())for(n=this.i-1;n>=0;--n)Oe(this,n);return Q8e(this,t)},h.Gk=function(){$r(this)},h.Zi=function(t,n){return wft(this,t,n)},I(us,"EcoreEList",632),D(505,632,Ec,VO),h.Li=function(){return!1},h.Lj=function(){return this.c},h.Mj=function(){return!1},h.ol=function(){return!0},h.Si=function(){return!0},h.Wi=function(t,n){return n},h.Yi=function(){return!1},h.c=0,I(us,"EObjectEList",505),D(83,505,Ec,Qs),h.Mj=function(){return!0},h.ml=function(){return!1},h.al=function(){return!0},I(us,"EObjectContainmentEList",83),D(555,83,Ec,Hq),h.Ni=function(){this.b=!0},h.Qj=function(){return this.b},h.Gk=function(){var t;$r(this),ch(this.e)?(t=this.b,this.b=!1,Bi(this.e,new l0(this.e,2,this.c,t,!1))):this.b=!1},h.b=!1,I(us,"EObjectContainmentEList/Unsettable",555),D(1161,555,Ec,Wst),h.Ti=function(t,n){var r,s;return r=l(LA(this,t,n),89),ch(this.e)&&Tk(this,new dN(this.a,7,(En(),mAt),bt(n),(s=r.c,De(s,90)?l(s,29):Kf),t)),r},h.Uj=function(t,n){return X5n(this,l(t,89),n)},h.Vj=function(t,n){return Y5n(this,l(t,89),n)},h.Wj=function(t,n,r){return Z8n(this,l(t,89),l(n,89),r)},h.Ij=function(t,n,r,s,o){switch(t){case 3:return iA(this,t,n,r,s,this.i>1);case 5:return iA(this,t,n,r,s,this.i-l(r,15).gc()>0);default:return new rp(this.e,t,this.c,n,r,s,!0)}},h.Tj=function(){return!0},h.Qj=function(){return kue(this)},h.Gk=function(){$r(this)},I(Vn,"EClassImpl/1",1161),D(1175,1174,USe),h.dj=function(t){var n,r,s,o,f,g,w;if(r=t.gj(),r!=8){if(s=D6n(t),s==0)switch(r){case 1:case 9:{w=t.kj(),w!=null&&(n=Gl(l(w,482)),!n.c&&(n.c=new Zd),fU(n.c,t.jj())),g=t.ij(),g!=null&&(o=l(g,482),o.Bb&1||(n=Gl(o),!n.c&&(n.c=new Zd),zr(n.c,l(t.jj(),29))));break}case 3:{g=t.ij(),g!=null&&(o=l(g,482),o.Bb&1||(n=Gl(o),!n.c&&(n.c=new Zd),zr(n.c,l(t.jj(),29))));break}case 5:{if(g=t.ij(),g!=null)for(f=l(g,16).Kc();f.Ob();)o=l(f.Pb(),482),o.Bb&1||(n=Gl(o),!n.c&&(n.c=new Zd),zr(n.c,l(t.jj(),29)));break}case 4:{w=t.kj(),w!=null&&(o=l(w,482),o.Bb&1||(n=Gl(o),!n.c&&(n.c=new Zd),fU(n.c,t.jj())));break}case 6:{if(w=t.kj(),w!=null)for(f=l(w,16).Kc();f.Ob();)o=l(f.Pb(),482),o.Bb&1||(n=Gl(o),!n.c&&(n.c=new Zd),fU(n.c,t.jj()));break}}this.ql(s)}},h.ql=function(t){ymt(this,t)},h.b=63,I(Vn,"ESuperAdapter",1175),D(1176,1175,USe,GQe),h.ql=function(t){Uy(this,t)},I(Vn,"EClassImpl/10",1176),D(1165,710,Ec),h.Ei=function(t,n){return Vue(this,t,n)},h.Fi=function(t){return ugt(this,t)},h.Gi=function(t,n){$N(this,t,n)},h.Hi=function(t){uN(this,t)},h.$i=function(t){return n7e(this,t)},h.Xi=function(t,n){return sce(this,t,n)},h.Wk=function(t,n){throw ue(new Qr)},h.Ii=function(){return new U8(this)},h.Ji=function(){return new OO(this)},h.Ki=function(t){return CN(this,t)},h.Xk=function(t,n){throw ue(new Qr)},h.Fk=function(t){return this},h.Qj=function(){return this.i!=0},h.Wb=function(t){throw ue(new Qr)},h.Gk=function(){throw ue(new Qr)},I(us,"EcoreEList/UnmodifiableEList",1165),D(328,1165,Ec,B5),h.Yi=function(){return!1},I(us,"EcoreEList/UnmodifiableEList/FastCompare",328),D(1168,328,Ec,U0t),h.dd=function(t){var n,r,s;if(De(t,179)&&(n=l(t,179),r=n.Lj(),r!=-1)){for(s=this.i;r<s;++r)if(qe(this.g[r])===qe(t))return r}return-1},I(Vn,"EClassImpl/1EAllStructuralFeaturesList",1168),D(1162,506,Bd,Zc),h.aj=function(t){return We(Wo,K5t,89,t,0,1)},h.Yi=function(){return!1},I(Vn,"EClassImpl/1EGenericSuperTypeEList",1162),D(633,506,Bd,NI),h.aj=function(t){return We(fl,A6,179,t,0,1)},h.Yi=function(){return!1},I(Vn,"EClassImpl/1EStructuralFeatureUniqueEList",633),D(755,506,Bd,PI),h.aj=function(t){return We(P4,A6,19,t,0,1)},h.Yi=function(){return!1},I(Vn,"EClassImpl/1ReferenceList",755),D(1163,506,Bd,KQe),h.Mi=function(t,n){Mgn(this,l(n,35))},h.aj=function(t){return We(N4,A6,35,t,0,1)},h.Yi=function(){return!1},I(Vn,"EClassImpl/2",1163),D(1164,506,Bd,IS),h.aj=function(t){return We(N4,A6,35,t,0,1)},h.Yi=function(){return!1},I(Vn,"EClassImpl/3",1164),D(1166,328,Ec,vst),h.Fc=function(t){return Wmn(this,l(t,35))},h.Hi=function(t){mln(this,l(t,35))},I(Vn,"EClassImpl/4",1166),D(1167,328,Ec,mst),h.Fc=function(t){return Ymn(this,l(t,19))},h.Hi=function(t){vln(this,l(t,19))},I(Vn,"EClassImpl/5",1167),D(1169,506,Bd,fre),h.aj=function(t){return We(Vf,KSe,62,t,0,1)},h.Yi=function(){return!1},I(Vn,"EClassImpl/6",1169),D(1170,506,Bd,dre),h.aj=function(t){return We(P4,A6,19,t,0,1)},h.Yi=function(){return!1},I(Vn,"EClassImpl/7",1170),D(2095,2094,{3:1,4:1,20:1,31:1,56:1,16:1,15:1,70:1,61:1,71:1}),h.Ei=function(t,n){return Fke(this,t,n)},h.Fi=function(t){return Fke(this,this.Ej(),t)},h.Gi=function(t,n){Z2t(this,t,n)},h.Hi=function(t){z2t(this,t)},h.Wk=function(t,n){return T7n(this,t,n)},h.Xk=function(t,n){return X6n(this,t,n)},h.Xi=function(t,n){return avt(this,t,n)},h.$i=function(t){return this.xj(t)},h.Ii=function(){return new U8(this)},h.pj=function(){return this.sj()},h.Ji=function(){return new OO(this)},h.Ki=function(t){return CN(this,t)},I(us,"DelegatingNotifyingInternalEListImpl",2095),D(756,2095,WSe),h.Li=function(){var t;return t=Mn(il(this.b),this.Lj()).Hk(),De(t,156)&&!De(t,469)&&(t.kk().i&1)==0},h.Hc=function(t){var n,r,s,o,f,g,w,T;if(this.ol()){if(T=this.Ej(),T>4)if(this.fk(t)){if(this.al()){if(s=l(t,54),r=s.Eh(),w=r==this.b&&(this.ml()?s.yh(s.Fh(),l(Mn(il(this.b),this.Lj()).Hk(),29).kk())==jo(l(Mn(il(this.b),this.Lj()),19)).n:-1-s.Fh()==this.Lj()),this.nl()&&!w&&!r&&s.Jh()){for(o=0;o<T;++o)if(n=Qae(this,this.xj(o)),qe(n)===qe(t))return!0}return w}else if(this.ml()&&!this.ll()){if(f=l(t,58).Mh(jo(l(Mn(il(this.b),this.Lj()),19))),qe(f)===qe(this.b))return!0;if(f==null||!l(f,58).Vh())return!1}}else return!1;if(g=this.uj(t),this.nl()&&!g){for(o=0;o<T;++o)if(s=Qae(this,this.xj(o)),qe(s)===qe(t))return!0}return g}else return this.uj(t)},h.Ij=function(t,n,r,s,o){return new rp(this.b,t,this.Lj(),n,r,s,o)},h.Jj=function(t){Bi(this.b,t)},h.Fk=function(t){return this},h.Kj=function(){return Mn(il(this.b),this.Lj())},h.Lj=function(){return vs(il(this.b),Mn(il(this.b),this.Lj()))},h.jj=function(){return this.b},h.kl=function(){return!!Mn(il(this.b),this.Lj()).Hk().kk()},h.Mj=function(){var t,n;return n=Mn(il(this.b),this.Lj()),De(n,102)?(t=l(n,19),(t.Bb&nu)!=0||!!jo(l(n,19))):!1},h.ll=function(){var t,n,r,s;return n=Mn(il(this.b),this.Lj()),De(n,102)?(t=l(n,19),r=jo(t),!!r&&(s=r.t,s>1||s==-1)):!1},h.ml=function(){var t,n,r;return n=Mn(il(this.b),this.Lj()),De(n,102)?(t=l(n,19),r=jo(t),!!r):!1},h.nl=function(){var t,n;return n=Mn(il(this.b),this.Lj()),De(n,102)?(t=l(n,19),(t.Bb&Lo)!=0):!1},h.dd=function(t){var n,r,s,o;if(s=this.zj(t),s>=0)return s;if(this.ol()){for(r=0,o=this.Ej();r<o;++r)if(n=Qae(this,this.xj(r)),qe(n)===qe(t))return r}return-1},h.Nj=function(t,n){var r;return r=l(t,54),this.ml()?this.kl()?r.Rh(this.b,jo(l(Mn(il(this.b),this.Lj()),19)).n,l(Mn(il(this.b),this.Lj()).Hk(),29).kk(),n):r.Rh(this.b,vs(r.Dh(),jo(l(Mn(il(this.b),this.Lj()),19))),null,n):r.Rh(this.b,-1-this.Lj(),null,n)},h.Oj=function(t,n){var r;return r=l(t,54),this.ml()?this.kl()?r.Th(this.b,jo(l(Mn(il(this.b),this.Lj()),19)).n,l(Mn(il(this.b),this.Lj()).Hk(),29).kk(),n):r.Th(this.b,vs(r.Dh(),jo(l(Mn(il(this.b),this.Lj()),19))),null,n):r.Th(this.b,-1-this.Lj(),null,n)},h.al=function(){var t,n;return n=Mn(il(this.b),this.Lj()),De(n,102)?(t=l(n,19),(t.Bb&nu)!=0):!1},h.ol=function(){return De(Mn(il(this.b),this.Lj()).Hk(),90)},h.fk=function(t){return Mn(il(this.b),this.Lj()).Hk().fk(t)},h.Pj=function(){return ch(this.b)},h.Qj=function(){return!this.Aj()},h.Si=function(){return Mn(il(this.b),this.Lj()).Si()},h.Wi=function(t,n){return CP(this,t,n)},h.Wb=function(t){nL(this),Ls(this,l(t,15))},h.Pc=function(){var t;if(this.nl())for(t=this.Ej()-1;t>=0;--t)CP(this,t,this.xj(t));return this.Fj()},h.Qc=function(t){var n;if(this.nl())for(n=this.Ej()-1;n>=0;--n)CP(this,n,this.xj(n));return this.Gj(t)},h.Gk=function(){nL(this)},h.Zi=function(t,n){return Xlt(this,t,n)},I(us,"DelegatingEcoreEList",756),D(1171,756,WSe,lit),h.qj=function(t,n){_fn(this,t,l(n,29))},h.rj=function(t){phn(this,l(t,29))},h.xj=function(t){var n,r;return n=l(Oe(fu(this.a),t),89),r=n.c,De(r,90)?l(r,29):(En(),Kf)},h.Cj=function(t){var n,r;return n=l(Ky(fu(this.a),t),89),r=n.c,De(r,90)?l(r,29):(En(),Kf)},h.Dj=function(t,n){return E7n(this,t,l(n,29))},h.Li=function(){return!1},h.Ij=function(t,n,r,s,o){return null},h.sj=function(){return new YQe(this)},h.tj=function(){$r(fu(this.a))},h.uj=function(t){return $1t(this,t)},h.vj=function(t){var n,r;for(r=t.Kc();r.Ob();)if(n=r.Pb(),!$1t(this,n))return!1;return!0},h.wj=function(t){var n,r,s;if(De(t,15)&&(s=l(t,15),s.gc()==fu(this.a).i)){for(n=s.Kc(),r=new ar(this);n.Ob();)if(qe(n.Pb())!==qe(dr(r)))return!1;return!0}return!1},h.yj=function(){var t,n,r,s,o;for(r=1,n=new ar(fu(this.a));n.e!=n.i.gc();)t=l(dr(n),89),s=(o=t.c,De(o,90)?l(o,29):(En(),Kf)),r=31*r+(s?ww(s):0);return r},h.zj=function(t){var n,r,s,o;for(s=0,r=new ar(fu(this.a));r.e!=r.i.gc();){if(n=l(dr(r),89),qe(t)===qe((o=n.c,De(o,90)?l(o,29):(En(),Kf))))return s;++s}return-1},h.Aj=function(){return fu(this.a).i==0},h.Bj=function(){return null},h.Ej=function(){return fu(this.a).i},h.Fj=function(){var t,n,r,s,o,f;for(f=fu(this.a).i,o=We(ka,jn,1,f,5,1),r=0,n=new ar(fu(this.a));n.e!=n.i.gc();)t=l(dr(n),89),o[r++]=(s=t.c,De(s,90)?l(s,29):(En(),Kf));return o},h.Gj=function(t){var n,r,s,o,f,g,w;for(w=fu(this.a).i,t.length<w&&(o=EN(dh(t).c,w),t=o),t.length>w&&Ss(t,w,null),s=0,r=new ar(fu(this.a));r.e!=r.i.gc();)n=l(dr(r),89),f=(g=n.c,De(g,90)?l(g,29):(En(),Kf)),Ss(t,s++,f);return t},h.Hj=function(){var t,n,r,s,o;for(o=new e2,o.a+="[",t=fu(this.a),n=0,s=fu(this.a).i;n<s;)Jo(o,$_((r=l(Oe(t,n),89).c,De(r,90)?l(r,29):(En(),Kf)))),++n<s&&(o.a+=To);return o.a+="]",o.a},h.Jj=function(t){},h.Lj=function(){return 10},h.kl=function(){return!0},h.Mj=function(){return!1},h.ll=function(){return!1},h.ml=function(){return!1},h.nl=function(){return!0},h.al=function(){return!1},h.ol=function(){return!0},h.fk=function(t){return De(t,90)},h.Qj=function(){return Xbn(this.a)},h.Si=function(){return!0},h.Yi=function(){return!0},I(Vn,"EClassImpl/8",1171),D(1172,2062,aE,YQe),h.fd=function(t){return CN(this.a,t)},h.gc=function(){return fu(this.a.a).i},I(Vn,"EClassImpl/8/1",1172),D(1173,506,Bd,OS),h.aj=function(t){return We(u1,jn,142,t,0,1)},h.Yi=function(){return!1},I(Vn,"EClassImpl/9",1173),D(1160,49,CTe,jJe),I(Vn,"EClassImpl/MyHashSet",1160),D(577,364,{110:1,94:1,93:1,142:1,156:1,847:1,155:1,197:1,58:1,114:1,54:1,99:1,364:1,158:1,119:1,120:1,691:1},Uz),h.Lh=function(t,n,r){var s;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return Ww(this);case 4:return this.ik();case 5:return this.F;case 6:return n?Ah(this):Zk(this);case 7:return!this.A&&(this.A=new bl(Zu,this,7)),this.A;case 8:return Hn(),!!(this.Bb&256)}return rf(this,t-wr(this.ii()),Mn((s=l(Gn(this,16),29),s||this.ii()),t),n,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!Ww(this);case 4:return this.ik()!=null;case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!Zk(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)==0}return tf(this,t-wr(this.ii()),Mn((n=l(Gn(this,16),29),n||this.ii()),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:UH(this,Zr(n));return;case 2:oae(this,Zr(n));return;case 5:eE(this,Zr(n));return;case 7:!this.A&&(this.A=new bl(Zu,this,7)),$r(this.A),!this.A&&(this.A=new bl(Zu,this,7)),Ls(this.A,l(n,16));return;case 8:GU(this,Ft(Pt(n)));return}cf(this,t-wr(this.ii()),Mn((r=l(Gn(this,16),29),r||this.ii()),t),n)},h.ii=function(){return En(),vAt},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,184)&&(l(this.Cb,184).tb=null),Bu(this,null);return;case 2:_T(this,null),fT(this,this.D);return;case 5:eE(this,null);return;case 7:!this.A&&(this.A=new bl(Zu,this,7)),$r(this.A);return;case 8:GU(this,!0);return}of(this,t-wr(this.ii()),Mn((n=l(Gn(this,16),29),n||this.ii()),t))},h.pi=function(){b2((kl(),no),this).xe(),this.Bb|=1},h.ok=function(){var t,n,r;if(!this.c&&(t=fbt(Ah(this)),!t.dc()))for(r=t.Kc();r.Ob();)n=Zr(r.Pb()),XA(this,n)&&Y4n(this);return this.b},h.ik=function(){var t;if(!this.e){t=null;try{t=Ww(this)}catch(n){if(n=ms(n),!De(n,103))throw ue(n)}this.d=null,t&&t.i&1&&(t==th?this.d=(Hn(),Ub):t==Ur?this.d=bt(0):t==j4?this.d=new va(0):t==Oa?this.d=0:t==hm?this.d=lp(0):t==d7?this.d=LT(0):t==_l?this.d=yN(0):this.d=_N(0)),this.e=!0}return this.d},h.nk=function(){return(this.Bb&256)!=0},h.rl=function(t){t&&(this.D="org.eclipse.emf.common.util.AbstractEnumerator")},h.gl=function(t){Qft(this,t),this.rl(t)},h.hl=function(t){this.C=t,this.e=!1},h.Ib=function(){var t;return this.Db&64?JU(this):(t=new Af(JU(this)),t.a+=" (serializable: ",t2(t,(this.Bb&256)!=0),t.a+=")",t.a)},h.c=!1,h.d=null,h.e=!1,I(Vn,"EDataTypeImpl",577),D(469,577,{110:1,94:1,93:1,142:1,156:1,847:1,685:1,155:1,197:1,58:1,114:1,54:1,99:1,364:1,469:1,158:1,119:1,120:1,691:1},$Je),h.Lh=function(t,n,r){var s;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return this.D!=null?this.D:this.B;case 3:return Ww(this);case 4:return g8e(this);case 5:return this.F;case 6:return n?Ah(this):Zk(this);case 7:return!this.A&&(this.A=new bl(Zu,this,7)),this.A;case 8:return Hn(),!!(this.Bb&256);case 9:return!this.a&&(this.a=new nt(Tp,this,9,5)),this.a}return rf(this,t-wr((En(),cm)),Mn((s=l(Gn(this,16),29),s||cm),t),n,r)},h.Sh=function(t,n,r){var s,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Fu(this.Ab,t,r);case 6:return this.Cb&&(r=(o=this.Db>>16,o>=0?Oue(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,6,r);case 9:return!this.a&&(this.a=new nt(Tp,this,9,5)),Fu(this.a,t,r)}return f=l(Mn((s=l(Gn(this,16),29),s||(En(),cm)),n),69),f.wk().zk(this,Ku(this),n-wr((En(),cm)),t,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 6:return Nh(this,null,6,r);case 7:return!this.A&&(this.A=new bl(Zu,this,7)),ko(this.A,t,r);case 9:return!this.a&&(this.a=new nt(Tp,this,9,5)),ko(this.a,t,r)}return o=l(Mn((s=l(Gn(this,16),29),s||(En(),cm)),n),69),o.wk().Ak(this,Ku(this),n-wr((En(),cm)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.D!=null&&this.D==this.F;case 3:return!!Ww(this);case 4:return!!g8e(this);case 5:return this.F!=null&&this.F!=this.D&&this.F!=this.B;case 6:return!!Zk(this);case 7:return!!this.A&&this.A.i!=0;case 8:return(this.Bb&256)==0;case 9:return!!this.a&&this.a.i!=0}return tf(this,t-wr((En(),cm)),Mn((n=l(Gn(this,16),29),n||cm),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:UH(this,Zr(n));return;case 2:oae(this,Zr(n));return;case 5:eE(this,Zr(n));return;case 7:!this.A&&(this.A=new bl(Zu,this,7)),$r(this.A),!this.A&&(this.A=new bl(Zu,this,7)),Ls(this.A,l(n,16));return;case 8:GU(this,Ft(Pt(n)));return;case 9:!this.a&&(this.a=new nt(Tp,this,9,5)),$r(this.a),!this.a&&(this.a=new nt(Tp,this,9,5)),Ls(this.a,l(n,16));return}cf(this,t-wr((En(),cm)),Mn((r=l(Gn(this,16),29),r||cm),t),n)},h.ii=function(){return En(),cm},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,184)&&(l(this.Cb,184).tb=null),Bu(this,null);return;case 2:_T(this,null),fT(this,this.D);return;case 5:eE(this,null);return;case 7:!this.A&&(this.A=new bl(Zu,this,7)),$r(this.A);return;case 8:GU(this,!0);return;case 9:!this.a&&(this.a=new nt(Tp,this,9,5)),$r(this.a);return}of(this,t-wr((En(),cm)),Mn((n=l(Gn(this,16),29),n||cm),t))},h.pi=function(){var t,n;if(this.a)for(t=0,n=this.a.i;t<n;++t)NO(Oe(this.a,t));b2((kl(),no),this).xe(),this.Bb|=1},h.ik=function(){return g8e(this)},h.fk=function(t){return t!=null},h.rl=function(t){},I(Vn,"EEnumImpl",469),D(582,448,{110:1,94:1,93:1,2039:1,694:1,155:1,197:1,58:1,114:1,54:1,99:1,582:1,158:1,119:1,120:1},hJe),h.xe=function(){return this.zb},h.Ah=function(t){return Bgt(this,t)},h.Lh=function(t,n,r){var s,o;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return bt(this.d);case 3:return this.b?this.b:this.a;case 4:return o=this.c,o??this.zb;case 5:return this.Db>>16==5?l(this.Cb,685):null}return rf(this,t-wr((En(),$2)),Mn((s=l(Gn(this,16),29),s||$2),t),n,r)},h.Sh=function(t,n,r){var s,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Fu(this.Ab,t,r);case 5:return this.Cb&&(r=(o=this.Db>>16,o>=0?Bgt(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,5,r)}return f=l(Mn((s=l(Gn(this,16),29),s||(En(),$2)),n),69),f.wk().zk(this,Ku(this),n-wr((En(),$2)),t,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 5:return Nh(this,null,5,r)}return o=l(Mn((s=l(Gn(this,16),29),s||(En(),$2)),n),69),o.wk().Ak(this,Ku(this),n-wr((En(),$2)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return this.d!=0;case 3:return!!this.b;case 4:return this.c!=null;case 5:return!!(this.Db>>16==5&&l(this.Cb,685))}return tf(this,t-wr((En(),$2)),Mn((n=l(Gn(this,16),29),n||$2),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:Bu(this,Zr(n));return;case 2:hce(this,l(n,17).a);return;case 3:O2t(this,l(n,2039));return;case 4:dce(this,Zr(n));return}cf(this,t-wr((En(),$2)),Mn((r=l(Gn(this,16),29),r||$2),t),n)},h.ii=function(){return En(),$2},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:Bu(this,null);return;case 2:hce(this,0);return;case 3:O2t(this,null);return;case 4:dce(this,null);return}of(this,t-wr((En(),$2)),Mn((n=l(Gn(this,16),29),n||$2),t))},h.Ib=function(){var t;return t=this.c,t??this.zb},h.b=null,h.c=null,h.d=0,I(Vn,"EEnumLiteralImpl",582);var nNn=Ts(Vn,"EFactoryImpl/InternalEDateTimeFormat");D(499,1,{2114:1},tO),I(Vn,"EFactoryImpl/1ClientInternalEDateTimeFormat",499),D(248,120,{110:1,94:1,93:1,89:1,58:1,114:1,54:1,99:1,248:1,119:1,120:1},iw),h.Ch=function(t,n,r){var s;return r=Nh(this,t,n,r),this.e&&De(t,179)&&(s=OV(this,this.e),s!=this.c&&(r=tE(this,s,r))),r},h.Lh=function(t,n,r){var s;switch(t){case 0:return this.f;case 1:return!this.d&&(this.d=new Qs(Wo,this,1)),this.d;case 2:return n?GV(this):this.c;case 3:return this.b;case 4:return this.e;case 5:return n?Cue(this):this.a}return rf(this,t-wr((En(),M3)),Mn((s=l(Gn(this,16),29),s||M3),t),n,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return _1t(this,null,r);case 1:return!this.d&&(this.d=new Qs(Wo,this,1)),ko(this.d,t,r);case 3:return A1t(this,null,r)}return o=l(Mn((s=l(Gn(this,16),29),s||(En(),M3)),n),69),o.wk().Ak(this,Ku(this),n-wr((En(),M3)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.f;case 1:return!!this.d&&this.d.i!=0;case 2:return!!this.c;case 3:return!!this.b;case 4:return!!this.e;case 5:return!!this.a}return tf(this,t-wr((En(),M3)),Mn((n=l(Gn(this,16),29),n||M3),t))},h.bi=function(t,n){var r;switch(t){case 0:tpt(this,l(n,89));return;case 1:!this.d&&(this.d=new Qs(Wo,this,1)),$r(this.d),!this.d&&(this.d=new Qs(Wo,this,1)),Ls(this.d,l(n,16));return;case 3:Gxe(this,l(n,89));return;case 4:h9e(this,l(n,850));return;case 5:oT(this,l(n,142));return}cf(this,t-wr((En(),M3)),Mn((r=l(Gn(this,16),29),r||M3),t),n)},h.ii=function(){return En(),M3},h.ki=function(t){var n;switch(t){case 0:tpt(this,null);return;case 1:!this.d&&(this.d=new Qs(Wo,this,1)),$r(this.d);return;case 3:Gxe(this,null);return;case 4:h9e(this,null);return;case 5:oT(this,null);return}of(this,t-wr((En(),M3)),Mn((n=l(Gn(this,16),29),n||M3),t))},h.Ib=function(){var t;return t=new Eh(d0(this)),t.a+=" (expression: ",Ole(this,t),t.a+=")",t.a};var KPe;I(Vn,"EGenericTypeImpl",248),D(2067,2062,eK),h.Gi=function(t,n){oit(this,t,n)},h.Wk=function(t,n){return oit(this,this.gc(),t),n},h.$i=function(t){return hf(this.pj(),t)},h.Ii=function(){return this.Ji()},h.pj=function(){return new ZQe(this)},h.Ji=function(){return this.Ki(0)},h.Ki=function(t){return this.pj().fd(t)},h.Xk=function(t,n){return Fy(this,t,!0),n},h.Ti=function(t,n){var r,s;return s=Bue(this,n),r=this.fd(t),r.Rb(s),s},h.Ui=function(t,n){var r;Fy(this,n,!0),r=this.fd(t),r.Rb(n)},I(us,"AbstractSequentialInternalEList",2067),D(496,2067,eK,IO),h.$i=function(t){return hf(this.pj(),t)},h.Ii=function(){return this.b==null?(r2(),r2(),xF):this.sl()},h.pj=function(){return new Snt(this.a,this.b)},h.Ji=function(){return this.b==null?(r2(),r2(),xF):this.sl()},h.Ki=function(t){var n,r;if(this.b==null){if(t<0||t>1)throw ue(new rc(SL+t+", size=0"));return r2(),r2(),xF}for(r=this.sl(),n=0;n<t;++n)FU(r);return r},h.dc=function(){var t,n,r,s,o,f;if(this.b!=null){for(r=0;r<this.b.length;++r)if(t=this.b[r],!this.vl()||this.a.Xh(t)){if(f=this.a.Nh(t,!1),Ro(),l(t,69).xk()){for(n=l(f,160),s=0,o=n.gc();s<o;++s)if(Pat(n.Tl(s))&&n.Ul(s)!=null)return!1}else if(t.Jk()){if(!l(f,16).dc())return!1}else if(f!=null)return!1}}return!0},h.Kc=function(){return P7e(this)},h.fd=function(t){var n,r;if(this.b==null){if(t!=0)throw ue(new rc(SL+t+", size=0"));return r2(),r2(),xF}for(r=this.ul()?this.tl():this.sl(),n=0;n<t;++n)FU(r);return r},h.Ti=function(t,n){throw ue(new Qr)},h.Ui=function(t,n){throw ue(new Qr)},h.sl=function(){return new Yq(this.a,this.b)},h.tl=function(){return new n4e(this.a,this.b)},h.ul=function(){return!0},h.gc=function(){var t,n,r,s,o,f,g;if(o=0,this.b!=null){for(r=0;r<this.b.length;++r)if(t=this.b[r],!this.vl()||this.a.Xh(t))if(g=this.a.Nh(t,!1),Ro(),l(t,69).xk())for(n=l(g,160),s=0,f=n.gc();s<f;++s)Pat(n.Tl(s))&&n.Ul(s)!=null&&++o;else t.Jk()?o+=l(g,16).gc():g!=null&&++o}return o},h.vl=function(){return!0};var mpe;I(us,"EContentsEList",496),D(1177,496,eK,Vrt),h.sl=function(){return new Krt(this.a,this.b)},h.tl=function(){return new Grt(this.a,this.b)},h.vl=function(){return!1},I(Vn,"ENamedElementImpl/1",1177),D(287,1,tK,Yq),h.Nb=function(t){Qa(this,t)},h.Rb=function(t){throw ue(new Qr)},h.wl=function(t){if(this.g!=0||this.e)throw ue(new ic("Iterator already in use or already filtered"));this.e=t},h.Ob=function(){var t,n,r,s,o,f;switch(this.g){case 3:case 2:return!0;case 1:return!1;case-3:this.p?this.p.Pb():++this.n;default:if(!this.k||(this.p?!Wpt(this,this.p):!F2t(this))){for(;this.d<this.c.length;)if(n=this.c[this.d++],(!this.e||n.pk()!=uC||n.Lj()!=0)&&(!this.vl()||this.b.Xh(n))){if(f=this.b.Nh(n,this.ul()),this.f=(Ro(),l(n,69).xk()),this.f||n.Jk()){if(this.ul()?(s=l(f,15),this.k=s):(s=l(f,71),this.k=this.j=s),De(this.k,59)?(this.p=null,this.o=this.k.gc(),this.n=0):this.p=this.j?this.j.Ji():this.k.ed(),this.p?Wpt(this,this.p):F2t(this))return o=this.p?this.p.Pb():this.j?this.j.$i(this.n++):this.k.Xb(this.n++),this.f?(t=l(o,76),t.Lk(),r=t.md(),this.i=r):(r=o,this.i=r),this.g=3,!0}else if(f!=null)return this.k=null,this.p=null,r=f,this.i=r,this.g=2,!0}return this.k=null,this.p=null,this.f=!1,this.g=1,!1}else return o=this.p?this.p.Pb():this.j?this.j.$i(this.n++):this.k.Xb(this.n++),this.f?(t=l(o,76),t.Lk(),r=t.md(),this.i=r):(r=o,this.i=r),this.g=3,!0}},h.Sb=function(){var t,n,r,s,o,f;switch(this.g){case-3:case-2:return!0;case-1:return!1;case 3:this.p?this.p.Ub():--this.n;default:if(!this.k||(this.p?!Ypt(this,this.p):!a2t(this))){for(;this.d>0;)if(n=this.c[--this.d],(!this.e||n.pk()!=uC||n.Lj()!=0)&&(!this.vl()||this.b.Xh(n))){if(f=this.b.Nh(n,this.ul()),this.f=(Ro(),l(n,69).xk()),this.f||n.Jk()){if(this.ul()?(s=l(f,15),this.k=s):(s=l(f,71),this.k=this.j=s),De(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?Ypt(this,this.p):a2t(this))return o=this.p?this.p.Ub():this.j?this.j.$i(--this.n):this.k.Xb(--this.n),this.f?(t=l(o,76),t.Lk(),r=t.md(),this.i=r):(r=o,this.i=r),this.g=-3,!0}else if(f!=null)return this.k=null,this.p=null,r=f,this.i=r,this.g=-2,!0}return this.k=null,this.p=null,this.g=-1,!1}else return o=this.p?this.p.Ub():this.j?this.j.$i(--this.n):this.k.Xb(--this.n),this.f?(t=l(o,76),t.Lk(),r=t.md(),this.i=r):(r=o,this.i=r),this.g=-3,!0}},h.Pb=function(){return FU(this)},h.Tb=function(){return this.a},h.Ub=function(){var t;if(this.g<-1||this.Sb())return--this.a,this.g=0,t=this.i,this.Sb(),t;throw ue(new Dc)},h.Vb=function(){return this.a-1},h.Qb=function(){throw ue(new Qr)},h.ul=function(){return!1},h.Wb=function(t){throw ue(new Qr)},h.vl=function(){return!0},h.a=0,h.d=0,h.f=!1,h.g=0,h.n=0,h.o=0;var xF;I(us,"EContentsEList/FeatureIteratorImpl",287),D(711,287,tK,n4e),h.ul=function(){return!0},I(us,"EContentsEList/ResolvingFeatureIteratorImpl",711),D(1178,711,tK,Grt),h.vl=function(){return!1},I(Vn,"ENamedElementImpl/1/1",1178),D(1179,287,tK,Krt),h.vl=function(){return!1},I(Vn,"ENamedElementImpl/1/2",1179),D(39,152,rB,Ay,Boe,_a,Qoe,rp,l0,p7e,Sct,b7e,_ct,O6e,Act,w7e,Lct,N6e,Mct,m7e,Dct,Q_,dN,moe,v7e,Ict,P6e,Oct),h.Kj=function(){return J6e(this)},h.Rj=function(){var t;return t=J6e(this),t?t.ik():null},h.hj=function(t){return this.b==-1&&this.a&&(this.b=this.c.Hh(this.a.Lj(),this.a.pk())),this.c.yh(this.b,t)},h.jj=function(){return this.c},h.Sj=function(){var t;return t=J6e(this),t?t.tk():!1},h.b=-1,I(Vn,"ENotificationImpl",39),D(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},nse),h.Ah=function(t){return jgt(this,t)},h.Lh=function(t,n,r){var s,o,f;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Hn(),!!(this.Bb&256);case 3:return Hn(),!!(this.Bb&512);case 4:return bt(this.s);case 5:return bt(this.t);case 6:return Hn(),f=this.t,f>1||f==-1;case 7:return Hn(),o=this.s,o>=1;case 8:return n?Of(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?l(this.Cb,29):null;case 11:return!this.d&&(this.d=new bl(Zu,this,11)),this.d;case 12:return!this.c&&(this.c=new nt(L3,this,12,10)),this.c;case 13:return!this.a&&(this.a=new FO(this,this)),this.a;case 14:return Kl(this)}return rf(this,t-wr((En(),z2)),Mn((s=l(Gn(this,16),29),s||z2),t),n,r)},h.Sh=function(t,n,r){var s,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Fu(this.Ab,t,r);case 10:return this.Cb&&(r=(o=this.Db>>16,o>=0?jgt(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,10,r);case 12:return!this.c&&(this.c=new nt(L3,this,12,10)),Fu(this.c,t,r)}return f=l(Mn((s=l(Gn(this,16),29),s||(En(),z2)),n),69),f.wk().zk(this,Ku(this),n-wr((En(),z2)),t,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 9:return noe(this,r);case 10:return Nh(this,null,10,r);case 11:return!this.d&&(this.d=new bl(Zu,this,11)),ko(this.d,t,r);case 12:return!this.c&&(this.c=new nt(L3,this,12,10)),ko(this.c,t,r);case 14:return ko(Kl(this),t,r)}return o=l(Mn((s=l(Gn(this,16),29),s||(En(),z2)),n),69),o.wk().Ak(this,Ku(this),n-wr((En(),z2)),t,r)},h.Wh=function(t){var n,r,s;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return s=this.t,s>1||s==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&_w(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&_w(this.q).i==0);case 10:return!!(this.Db>>16==10&&l(this.Cb,29));case 11:return!!this.d&&this.d.i!=0;case 12:return!!this.c&&this.c.i!=0;case 13:return!!this.a&&Kl(this.a.a).i!=0&&!(this.b&&Tue(this.b));case 14:return!!this.b&&Tue(this.b)}return tf(this,t-wr((En(),z2)),Mn((n=l(Gn(this,16),29),n||z2),t))},h.bi=function(t,n){var r,s;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:Bu(this,Zr(n));return;case 2:m2(this,Ft(Pt(n)));return;case 3:v2(this,Ft(Pt(n)));return;case 4:d2(this,l(n,17).a);return;case 5:Oy(this,l(n,17).a);return;case 8:ev(this,l(n,142));return;case 9:s=$1(this,l(n,89),null),s&&s.oj();return;case 11:!this.d&&(this.d=new bl(Zu,this,11)),$r(this.d),!this.d&&(this.d=new bl(Zu,this,11)),Ls(this.d,l(n,16));return;case 12:!this.c&&(this.c=new nt(L3,this,12,10)),$r(this.c),!this.c&&(this.c=new nt(L3,this,12,10)),Ls(this.c,l(n,16));return;case 13:!this.a&&(this.a=new FO(this,this)),nL(this.a),!this.a&&(this.a=new FO(this,this)),Ls(this.a,l(n,16));return;case 14:$r(Kl(this)),Ls(Kl(this),l(n,16));return}cf(this,t-wr((En(),z2)),Mn((r=l(Gn(this,16),29),r||z2),t),n)},h.ii=function(){return En(),z2},h.ki=function(t){var n,r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:Bu(this,null);return;case 2:m2(this,!0);return;case 3:v2(this,!0);return;case 4:d2(this,0);return;case 5:Oy(this,1);return;case 8:ev(this,null);return;case 9:r=$1(this,null,null),r&&r.oj();return;case 11:!this.d&&(this.d=new bl(Zu,this,11)),$r(this.d);return;case 12:!this.c&&(this.c=new nt(L3,this,12,10)),$r(this.c);return;case 13:this.a&&nL(this.a);return;case 14:this.b&&$r(this.b);return}of(this,t-wr((En(),z2)),Mn((n=l(Gn(this,16),29),n||z2),t))},h.pi=function(){var t,n;if(this.c)for(t=0,n=this.c.i;t<n;++t)NO(Oe(this.c,t));Of(this),this.Bb|=1},I(Vn,"EOperationImpl",411),D(513,756,WSe,FO),h.qj=function(t,n){Lfn(this,t,l(n,142))},h.rj=function(t){bhn(this,l(t,142))},h.xj=function(t){var n,r;return n=l(Oe(Kl(this.a),t),89),r=n.c,r||(En(),td)},h.Cj=function(t){var n,r;return n=l(Ky(Kl(this.a),t),89),r=n.c,r||(En(),td)},h.Dj=function(t,n){return m6n(this,t,l(n,142))},h.Li=function(){return!1},h.Ij=function(t,n,r,s,o){return null},h.sj=function(){return new XQe(this)},h.tj=function(){$r(Kl(this.a))},h.uj=function(t){return U1t(this,t)},h.vj=function(t){var n,r;for(r=t.Kc();r.Ob();)if(n=r.Pb(),!U1t(this,n))return!1;return!0},h.wj=function(t){var n,r,s;if(De(t,15)&&(s=l(t,15),s.gc()==Kl(this.a).i)){for(n=s.Kc(),r=new ar(this);n.Ob();)if(qe(n.Pb())!==qe(dr(r)))return!1;return!0}return!1},h.yj=function(){var t,n,r,s,o;for(r=1,n=new ar(Kl(this.a));n.e!=n.i.gc();)t=l(dr(n),89),s=(o=t.c,o||(En(),td)),r=31*r+(s?ts(s):0);return r},h.zj=function(t){var n,r,s,o;for(s=0,r=new ar(Kl(this.a));r.e!=r.i.gc();){if(n=l(dr(r),89),qe(t)===qe((o=n.c,o||(En(),td))))return s;++s}return-1},h.Aj=function(){return Kl(this.a).i==0},h.Bj=function(){return null},h.Ej=function(){return Kl(this.a).i},h.Fj=function(){var t,n,r,s,o,f;for(f=Kl(this.a).i,o=We(ka,jn,1,f,5,1),r=0,n=new ar(Kl(this.a));n.e!=n.i.gc();)t=l(dr(n),89),o[r++]=(s=t.c,s||(En(),td));return o},h.Gj=function(t){var n,r,s,o,f,g,w;for(w=Kl(this.a).i,t.length<w&&(o=EN(dh(t).c,w),t=o),t.length>w&&Ss(t,w,null),s=0,r=new ar(Kl(this.a));r.e!=r.i.gc();)n=l(dr(r),89),f=(g=n.c,g||(En(),td)),Ss(t,s++,f);return t},h.Hj=function(){var t,n,r,s,o;for(o=new e2,o.a+="[",t=Kl(this.a),n=0,s=Kl(this.a).i;n<s;)Jo(o,$_((r=l(Oe(t,n),89).c,r||(En(),td)))),++n<s&&(o.a+=To);return o.a+="]",o.a},h.Jj=function(t){},h.Lj=function(){return 13},h.kl=function(){return!0},h.Mj=function(){return!1},h.ll=function(){return!1},h.ml=function(){return!1},h.nl=function(){return!0},h.al=function(){return!1},h.ol=function(){return!0},h.fk=function(t){return De(t,142)},h.Qj=function(){return Qbn(this.a)},h.Si=function(){return!0},h.Yi=function(){return!0},I(Vn,"EOperationImpl/1",513),D(1376,2062,aE,XQe),h.fd=function(t){return CN(this.a,t)},h.gc=function(){return Kl(this.a.a).i},I(Vn,"EOperationImpl/1/1",1376),D(1377,555,Ec,Yst),h.Ti=function(t,n){var r,s;return r=l(LA(this,t,n),89),ch(this.e)&&Tk(this,new dN(this.a,7,(En(),xAt),bt(n),(s=r.c,s||td),t)),r},h.Uj=function(t,n){return O4n(this,l(t,89),n)},h.Vj=function(t,n){return I4n(this,l(t,89),n)},h.Wj=function(t,n,r){return M6n(this,l(t,89),l(n,89),r)},h.Ij=function(t,n,r,s,o){switch(t){case 3:return iA(this,t,n,r,s,this.i>1);case 5:return iA(this,t,n,r,s,this.i-l(r,15).gc()>0);default:return new rp(this.e,t,this.c,n,r,s,!0)}},h.Tj=function(){return!0},h.Qj=function(){return Tue(this)},h.Gk=function(){$r(this)},I(Vn,"EOperationImpl/2",1377),D(507,1,{2037:1,507:1},unt),I(Vn,"EPackageImpl/1",507),D(14,83,Ec,nt),h.il=function(){return this.d},h.jl=function(){return this.b},h.ml=function(){return!0},h.b=0,I(us,"EObjectContainmentWithInverseEList",14),D(365,14,Ec,V8),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectContainmentWithInverseEList/Resolving",365),D(308,365,Ec,ky),h.Ni=function(){this.a.tb=null},I(Vn,"EPackageImpl/2",308),D(1278,1,{},gre),I(Vn,"EPackageImpl/3",1278),D(733,45,w6,i3e),h._b=function(t){return Da(t)?woe(this,t):!!zo(this.f,t)},I(Vn,"EPackageRegistryImpl",733),D(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},rse),h.Ah=function(t){return $gt(this,t)},h.Lh=function(t,n,r){var s,o,f;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Hn(),!!(this.Bb&256);case 3:return Hn(),!!(this.Bb&512);case 4:return bt(this.s);case 5:return bt(this.t);case 6:return Hn(),f=this.t,f>1||f==-1;case 7:return Hn(),o=this.s,o>=1;case 8:return n?Of(this):this.r;case 9:return this.q;case 10:return this.Db>>16==10?l(this.Cb,62):null}return rf(this,t-wr((En(),F4)),Mn((s=l(Gn(this,16),29),s||F4),t),n,r)},h.Sh=function(t,n,r){var s,o,f;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Fu(this.Ab,t,r);case 10:return this.Cb&&(r=(o=this.Db>>16,o>=0?$gt(this,r):this.Cb.Th(this,-1-o,null,r))),Nh(this,t,10,r)}return f=l(Mn((s=l(Gn(this,16),29),s||(En(),F4)),n),69),f.wk().zk(this,Ku(this),n-wr((En(),F4)),t,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 9:return noe(this,r);case 10:return Nh(this,null,10,r)}return o=l(Mn((s=l(Gn(this,16),29),s||(En(),F4)),n),69),o.wk().Ak(this,Ku(this),n-wr((En(),F4)),t,r)},h.Wh=function(t){var n,r,s;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return s=this.t,s>1||s==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&_w(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&_w(this.q).i==0);case 10:return!!(this.Db>>16==10&&l(this.Cb,62))}return tf(this,t-wr((En(),F4)),Mn((n=l(Gn(this,16),29),n||F4),t))},h.ii=function(){return En(),F4},I(Vn,"EParameterImpl",518),D(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},o4e),h.Lh=function(t,n,r){var s,o,f,g;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return Hn(),!!(this.Bb&256);case 3:return Hn(),!!(this.Bb&512);case 4:return bt(this.s);case 5:return bt(this.t);case 6:return Hn(),g=this.t,g>1||g==-1;case 7:return Hn(),o=this.s,o>=1;case 8:return n?Of(this):this.r;case 9:return this.q;case 10:return Hn(),!!(this.Bb&b0);case 11:return Hn(),!!(this.Bb&a4);case 12:return Hn(),!!(this.Bb&Zy);case 13:return this.j;case 14:return KT(this);case 15:return Hn(),!!(this.Bb&Cl);case 16:return Hn(),!!(this.Bb&_d);case 17:return Cy(this);case 18:return Hn(),!!(this.Bb&nu);case 19:return Hn(),f=jo(this),!!(f&&f.Bb&nu);case 20:return Hn(),!!(this.Bb&Lo);case 21:return n?jo(this):this.b;case 22:return n?i8e(this):rlt(this);case 23:return!this.a&&(this.a=new q5(N4,this,23)),this.a}return rf(this,t-wr((En(),u7)),Mn((s=l(Gn(this,16),29),s||u7),t),n,r)},h.Wh=function(t){var n,r,s,o;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return(this.Bb&256)==0;case 3:return(this.Bb&512)==0;case 4:return this.s!=0;case 5:return this.t!=1;case 6:return o=this.t,o>1||o==-1;case 7:return r=this.s,r>=1;case 8:return!!this.r&&!this.q.e&&_w(this.q).i==0;case 9:return!!this.q&&!(this.r&&!this.q.e&&_w(this.q).i==0);case 10:return(this.Bb&b0)==0;case 11:return(this.Bb&a4)!=0;case 12:return(this.Bb&Zy)!=0;case 13:return this.j!=null;case 14:return KT(this)!=null;case 15:return(this.Bb&Cl)!=0;case 16:return(this.Bb&_d)!=0;case 17:return!!Cy(this);case 18:return(this.Bb&nu)!=0;case 19:return s=jo(this),!!s&&(s.Bb&nu)!=0;case 20:return(this.Bb&Lo)==0;case 21:return!!this.b;case 22:return!!rlt(this);case 23:return!!this.a&&this.a.i!=0}return tf(this,t-wr((En(),u7)),Mn((n=l(Gn(this,16),29),n||u7),t))},h.bi=function(t,n){var r,s;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:Loe(this,Zr(n));return;case 2:m2(this,Ft(Pt(n)));return;case 3:v2(this,Ft(Pt(n)));return;case 4:d2(this,l(n,17).a);return;case 5:Oy(this,l(n,17).a);return;case 8:ev(this,l(n,142));return;case 9:s=$1(this,l(n,89),null),s&&s.oj();return;case 10:MT(this,Ft(Pt(n)));return;case 11:OT(this,Ft(Pt(n)));return;case 12:DT(this,Ft(Pt(n)));return;case 13:mye(this,Zr(n));return;case 15:IT(this,Ft(Pt(n)));return;case 16:NT(this,Ft(Pt(n)));return;case 18:X2n(this,Ft(Pt(n)));return;case 20:B8e(this,Ft(Pt(n)));return;case 21:N7e(this,l(n,19));return;case 23:!this.a&&(this.a=new q5(N4,this,23)),$r(this.a),!this.a&&(this.a=new q5(N4,this,23)),Ls(this.a,l(n,16));return}cf(this,t-wr((En(),u7)),Mn((r=l(Gn(this,16),29),r||u7),t),n)},h.ii=function(){return En(),u7},h.ki=function(t){var n,r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:De(this.Cb,90)&&Uy(Gl(l(this.Cb,90)),4),Bu(this,null);return;case 2:m2(this,!0);return;case 3:v2(this,!0);return;case 4:d2(this,0);return;case 5:Oy(this,1);return;case 8:ev(this,null);return;case 9:r=$1(this,null,null),r&&r.oj();return;case 10:MT(this,!0);return;case 11:OT(this,!1);return;case 12:DT(this,!1);return;case 13:this.i=null,AU(this,null);return;case 15:IT(this,!1);return;case 16:NT(this,!1);return;case 18:P8e(this,!1),De(this.Cb,90)&&Uy(Gl(l(this.Cb,90)),2);return;case 20:B8e(this,!0);return;case 21:N7e(this,null);return;case 23:!this.a&&(this.a=new q5(N4,this,23)),$r(this.a);return}of(this,t-wr((En(),u7)),Mn((n=l(Gn(this,16),29),n||u7),t))},h.pi=function(){i8e(this),Xk(ac((kl(),no),this)),Of(this),this.Bb|=1},h.uk=function(){return jo(this)},h._k=function(){var t;return t=jo(this),!!t&&(t.Bb&nu)!=0},h.al=function(){return(this.Bb&nu)!=0},h.bl=function(){return(this.Bb&Lo)!=0},h.Yk=function(t,n){return this.c=null,C8e(this,t,n)},h.Ib=function(){var t;return this.Db&64?HV(this):(t=new Af(HV(this)),t.a+=" (containment: ",t2(t,(this.Bb&nu)!=0),t.a+=", resolveProxies: ",t2(t,(this.Bb&Lo)!=0),t.a+=")",t.a)},I(Vn,"EReferenceImpl",102),D(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},NS),h.Fb=function(t){return this===t},h.ld=function(){return this.b},h.md=function(){return this.c},h.Hb=function(){return ww(this)},h.Di=function(t){tgn(this,Zr(t))},h.nd=function(t){return $dn(this,Zr(t))},h.Lh=function(t,n,r){var s;switch(t){case 0:return this.b;case 1:return this.c}return rf(this,t-wr((En(),Do)),Mn((s=l(Gn(this,16),29),s||Do),t),n,r)},h.Wh=function(t){var n;switch(t){case 0:return this.b!=null;case 1:return this.c!=null}return tf(this,t-wr((En(),Do)),Mn((n=l(Gn(this,16),29),n||Do),t))},h.bi=function(t,n){var r;switch(t){case 0:ngn(this,Zr(n));return;case 1:D7e(this,Zr(n));return}cf(this,t-wr((En(),Do)),Mn((r=l(Gn(this,16),29),r||Do),t),n)},h.ii=function(){return En(),Do},h.ki=function(t){var n;switch(t){case 0:M7e(this,null);return;case 1:D7e(this,null);return}of(this,t-wr((En(),Do)),Mn((n=l(Gn(this,16),29),n||Do),t))},h.Bi=function(){var t;return this.a==-1&&(t=this.b,this.a=t==null?0:g2(t)),this.a},h.Ci=function(t){this.a=t},h.Ib=function(){var t;return this.Db&64?d0(this):(t=new Af(d0(this)),t.a+=" (key: ",Jo(t,this.b),t.a+=", value: ",Jo(t,this.c),t.a+=")",t.a)},h.a=-1,h.b=null,h.c=null;var Qc=I(Vn,"EStringToStringMapEntryImpl",561),_At=Ts(us,"FeatureMap/Entry/Internal");D(576,1,nK),h.xl=function(t){return this.yl(l(t,54))},h.yl=function(t){return this.xl(t)},h.Fb=function(t){var n,r;return this===t?!0:De(t,76)?(n=l(t,76),n.Lk()==this.c?(r=this.md(),r==null?n.md()==null:Fi(r,n.md())):!1):!1},h.Lk=function(){return this.c},h.Hb=function(){var t;return t=this.md(),ts(this.c)^(t==null?0:ts(t))},h.Ib=function(){var t,n;return t=this.c,n=Ah(t.qk()).yi(),t.xe(),(n!=null&&n.length!=0?n+":"+t.xe():t.xe())+"="+this.md()},I(Vn,"EStructuralFeatureImpl/BasicFeatureMapEntry",576),D(791,576,nK,b4e),h.yl=function(t){return new b4e(this.c,t)},h.md=function(){return this.a},h.zl=function(t,n,r){return j3n(this,t,this.a,n,r)},h.Al=function(t,n,r){return $3n(this,t,this.a,n,r)},I(Vn,"EStructuralFeatureImpl/ContainmentUpdatingFeatureMapEntry",791),D(1350,1,{},lnt),h.yk=function(t,n,r,s,o){var f;return f=l(rT(t,this.b),220),f.Yl(this.a).Fk(s)},h.zk=function(t,n,r,s,o){var f;return f=l(rT(t,this.b),220),f.Pl(this.a,s,o)},h.Ak=function(t,n,r,s,o){var f;return f=l(rT(t,this.b),220),f.Ql(this.a,s,o)},h.Bk=function(t,n,r){var s;return s=l(rT(t,this.b),220),s.Yl(this.a).Qj()},h.Ck=function(t,n,r,s){var o;o=l(rT(t,this.b),220),o.Yl(this.a).Wb(s)},h.Dk=function(t,n,r){return l(rT(t,this.b),220).Yl(this.a)},h.Ek=function(t,n,r){var s;s=l(rT(t,this.b),220),s.Yl(this.a).Gk()},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateFeatureMapDelegator",1350),D(91,1,{},s2,zm,o2,Gm),h.yk=function(t,n,r,s,o){var f;if(f=n.li(r),f==null&&n.mi(r,f=tG(this,t)),!o)switch(this.e){case 50:case 41:return l(f,597).bk();case 40:return l(f,220).Vl()}return f},h.zk=function(t,n,r,s,o){var f,g;return g=n.li(r),g==null&&n.mi(r,g=tG(this,t)),f=l(g,71).Wk(s,o),f},h.Ak=function(t,n,r,s,o){var f;return f=n.li(r),f!=null&&(o=l(f,71).Xk(s,o)),o},h.Bk=function(t,n,r){var s;return s=n.li(r),s!=null&&l(s,79).Qj()},h.Ck=function(t,n,r,s){var o;o=l(n.li(r),79),!o&&n.mi(r,o=tG(this,t)),o.Wb(s)},h.Dk=function(t,n,r){var s,o;return o=n.li(r),o==null&&n.mi(r,o=tG(this,t)),De(o,79)?l(o,79):(s=l(n.li(r),15),new QQe(s))},h.Ek=function(t,n,r){var s;s=l(n.li(r),79),!s&&n.mi(r,s=tG(this,t)),s.Gk()},h.b=0,h.e=0,I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateMany",91),D(512,1,{}),h.zk=function(t,n,r,s,o){throw ue(new Qr)},h.Ak=function(t,n,r,s,o){throw ue(new Qr)},h.Dk=function(t,n,r){return new cot(this,t,n,r)};var Lg;I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingle",512),D(1367,1,v0e,cot),h.Fk=function(t){return this.a.yk(this.c,this.d,this.b,t,!0)},h.Qj=function(){return this.a.Bk(this.c,this.d,this.b)},h.Wb=function(t){this.a.Ck(this.c,this.d,this.b,t)},h.Gk=function(){this.a.Ek(this.c,this.d,this.b)},h.b=0,I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingle/1",1367),D(784,512,{},i6e),h.yk=function(t,n,r,s,o){return wle(t,t.Ph(),t.Fh())==this.b?this.bl()&&s?sle(t):t.Ph():null},h.zk=function(t,n,r,s,o){var f,g;return t.Ph()&&(o=(f=t.Fh(),f>=0?t.Ah(o):t.Ph().Th(t,-1-f,null,o))),g=vs(t.Dh(),this.e),t.Ch(s,g,o)},h.Ak=function(t,n,r,s,o){var f;return f=vs(t.Dh(),this.e),t.Ch(null,f,o)},h.Bk=function(t,n,r){var s;return s=vs(t.Dh(),this.e),!!t.Ph()&&t.Fh()==s},h.Ck=function(t,n,r,s){var o,f,g,w,T;if(s!=null&&!Tle(this.a,s))throw ue(new Ek(rK+(De(s,58)?Vxe(l(s,58).Dh()):h7e(dh(s)))+iK+this.a+"'"));if(o=t.Ph(),g=vs(t.Dh(),this.e),qe(s)!==qe(o)||t.Fh()!=g&&s!=null){if(jT(t,l(s,58)))throw ue(new Wn(EL+t.Ib()));T=null,o&&(T=(f=t.Fh(),f>=0?t.Ah(T):t.Ph().Th(t,-1-f,null,T))),w=l(s,54),w&&(T=w.Rh(t,vs(w.Dh(),this.b),null,T)),T=t.Ch(w,g,T),T&&T.oj()}else t.vh()&&t.wh()&&Bi(t,new _a(t,1,g,s,s))},h.Ek=function(t,n,r){var s,o,f,g;s=t.Ph(),s?(g=(o=t.Fh(),o>=0?t.Ah(null):t.Ph().Th(t,-1-o,null,null)),f=vs(t.Dh(),this.e),g=t.Ch(null,f,g),g&&g.oj()):t.vh()&&t.wh()&&Bi(t,new Q_(t,1,this.e,null,null))},h.bl=function(){return!1},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainer",784),D(1351,784,{},Jit),h.bl=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleContainerResolving",1351),D(574,512,{}),h.yk=function(t,n,r,s,o){var f;return f=n.li(r),f==null?this.b:qe(f)===qe(Lg)?null:f},h.Bk=function(t,n,r){var s;return s=n.li(r),s!=null&&(qe(s)===qe(Lg)||!Fi(s,this.b))},h.Ck=function(t,n,r,s){var o,f;t.vh()&&t.wh()?(o=(f=n.li(r),f==null?this.b:qe(f)===qe(Lg)?null:f),s==null?this.c!=null?(n.mi(r,null),s=this.b):this.b!=null?n.mi(r,Lg):n.mi(r,null):(this.Bl(s),n.mi(r,s)),Bi(t,this.d.Cl(t,1,this.e,o,s))):s==null?this.c!=null?n.mi(r,null):this.b!=null?n.mi(r,Lg):n.mi(r,null):(this.Bl(s),n.mi(r,s))},h.Ek=function(t,n,r){var s,o;t.vh()&&t.wh()?(s=(o=n.li(r),o==null?this.b:qe(o)===qe(Lg)?null:o),n.ni(r),Bi(t,this.d.Cl(t,1,this.e,s,this.b))):n.ni(r)},h.Bl=function(t){throw ue(new cJe)},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData",574),D(L6,1,{},PS),h.Cl=function(t,n,r,s,o){return new Q_(t,n,r,s,o)},h.Dl=function(t,n,r,s,o,f){return new moe(t,n,r,s,o,f)};var WPe,YPe,XPe,QPe,JPe,ZPe,eBe,vpe,tBe;I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator",L6),D(1368,L6,{},q0),h.Cl=function(t,n,r,s,o){return new P6e(t,n,r,Ft(Pt(s)),Ft(Pt(o)))},h.Dl=function(t,n,r,s,o,f){return new Oct(t,n,r,Ft(Pt(s)),Ft(Pt(o)),f)},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/1",1368),D(1369,L6,{},BI),h.Cl=function(t,n,r,s,o){return new p7e(t,n,r,l(s,222).a,l(o,222).a)},h.Dl=function(t,n,r,s,o,f){return new Sct(t,n,r,l(s,222).a,l(o,222).a,f)},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/2",1369),D(1370,L6,{},FI),h.Cl=function(t,n,r,s,o){return new b7e(t,n,r,l(s,180).a,l(o,180).a)},h.Dl=function(t,n,r,s,o,f){return new _ct(t,n,r,l(s,180).a,l(o,180).a,f)},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/3",1370),D(1371,L6,{},d8),h.Cl=function(t,n,r,s,o){return new O6e(t,n,r,ze(Ge(s)),ze(Ge(o)))},h.Dl=function(t,n,r,s,o,f){return new Act(t,n,r,ze(Ge(s)),ze(Ge(o)),f)},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/4",1371),D(1372,L6,{},pre),h.Cl=function(t,n,r,s,o){return new w7e(t,n,r,l(s,161).a,l(o,161).a)},h.Dl=function(t,n,r,s,o,f){return new Lct(t,n,r,l(s,161).a,l(o,161).a,f)},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/5",1372),D(1373,L6,{},bre),h.Cl=function(t,n,r,s,o){return new N6e(t,n,r,l(s,17).a,l(o,17).a)},h.Dl=function(t,n,r,s,o,f){return new Mct(t,n,r,l(s,17).a,l(o,17).a,f)},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/6",1373),D(1374,L6,{},mre),h.Cl=function(t,n,r,s,o){return new m7e(t,n,r,l(s,168).a,l(o,168).a)},h.Dl=function(t,n,r,s,o,f){return new Dct(t,n,r,l(s,168).a,l(o,168).a,f)},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/7",1374),D(1375,L6,{},vre),h.Cl=function(t,n,r,s,o){return new v7e(t,n,r,l(s,191).a,l(o,191).a)},h.Dl=function(t,n,r,s,o,f){return new Ict(t,n,r,l(s,191).a,l(o,191).a,f)},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleData/NotificationCreator/8",1375),D(1353,574,{},uot),h.Bl=function(t){if(!this.a.fk(t))throw ue(new Ek(rK+dh(t)+iK+this.a+"'"))},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataDynamic",1353),D(1354,574,{},Xst),h.Bl=function(t){},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataStatic",1354),D(785,574,{}),h.Bk=function(t,n,r){var s;return s=n.li(r),s!=null},h.Ck=function(t,n,r,s){var o,f;t.vh()&&t.wh()?(o=!0,f=n.li(r),f==null?(o=!1,f=this.b):qe(f)===qe(Lg)&&(f=null),s==null?this.c!=null?(n.mi(r,null),s=this.b):n.mi(r,Lg):(this.Bl(s),n.mi(r,s)),Bi(t,this.d.Dl(t,1,this.e,f,s,!o))):s==null?this.c!=null?n.mi(r,null):n.mi(r,Lg):(this.Bl(s),n.mi(r,s))},h.Ek=function(t,n,r){var s,o;t.vh()&&t.wh()?(s=!0,o=n.li(r),o==null?(s=!1,o=this.b):qe(o)===qe(Lg)&&(o=null),n.ni(r),Bi(t,this.d.Dl(t,2,this.e,o,this.b,s))):n.ni(r)},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettable",785),D(1355,785,{},lot),h.Bl=function(t){if(!this.a.fk(t))throw ue(new Ek(rK+dh(t)+iK+this.a+"'"))},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableDynamic",1355),D(1356,785,{},Qst),h.Bl=function(t){},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleDataUnsettableStatic",1356),D(410,512,{},pH),h.yk=function(t,n,r,s,o){var f,g,w,T,C;if(C=n.li(r),this.tk()&&qe(C)===qe(Lg))return null;if(this.bl()&&s&&C!=null){if(w=l(C,54),w.Vh()&&(T=Lb(t,w),w!=T)){if(!Tle(this.a,T))throw ue(new Ek(rK+dh(T)+iK+this.a+"'"));n.mi(r,C=T),this.al()&&(f=l(T,54),g=w.Th(t,this.b?vs(w.Dh(),this.b):-1-vs(t.Dh(),this.e),null,null),!f.Ph()&&(g=f.Rh(t,this.b?vs(f.Dh(),this.b):-1-vs(t.Dh(),this.e),null,g)),g&&g.oj()),t.vh()&&t.wh()&&Bi(t,new Q_(t,9,this.e,w,T))}return C}else return C},h.zk=function(t,n,r,s,o){var f,g;return g=n.li(r),qe(g)===qe(Lg)&&(g=null),n.mi(r,s),this.Mj()?qe(g)!==qe(s)&&g!=null&&(f=l(g,54),o=f.Th(t,vs(f.Dh(),this.b),null,o)):this.al()&&g!=null&&(o=l(g,54).Th(t,-1-vs(t.Dh(),this.e),null,o)),t.vh()&&t.wh()&&(!o&&(o=new hb(4)),o.nj(new Q_(t,1,this.e,g,s))),o},h.Ak=function(t,n,r,s,o){var f;return f=n.li(r),qe(f)===qe(Lg)&&(f=null),n.ni(r),t.vh()&&t.wh()&&(!o&&(o=new hb(4)),this.tk()?o.nj(new Q_(t,2,this.e,f,null)):o.nj(new Q_(t,1,this.e,f,null))),o},h.Bk=function(t,n,r){var s;return s=n.li(r),s!=null},h.Ck=function(t,n,r,s){var o,f,g,w,T;if(s!=null&&!Tle(this.a,s))throw ue(new Ek(rK+(De(s,58)?Vxe(l(s,58).Dh()):h7e(dh(s)))+iK+this.a+"'"));T=n.li(r),w=T!=null,this.tk()&&qe(T)===qe(Lg)&&(T=null),g=null,this.Mj()?qe(T)!==qe(s)&&(T!=null&&(o=l(T,54),g=o.Th(t,vs(o.Dh(),this.b),null,g)),s!=null&&(o=l(s,54),g=o.Rh(t,vs(o.Dh(),this.b),null,g))):this.al()&&qe(T)!==qe(s)&&(T!=null&&(g=l(T,54).Th(t,-1-vs(t.Dh(),this.e),null,g)),s!=null&&(g=l(s,54).Rh(t,-1-vs(t.Dh(),this.e),null,g))),s==null&&this.tk()?n.mi(r,Lg):n.mi(r,s),t.vh()&&t.wh()?(f=new moe(t,1,this.e,T,s,this.tk()&&!w),g?(g.nj(f),g.oj()):Bi(t,f)):g&&g.oj()},h.Ek=function(t,n,r){var s,o,f,g,w;w=n.li(r),g=w!=null,this.tk()&&qe(w)===qe(Lg)&&(w=null),f=null,w!=null&&(this.Mj()?(s=l(w,54),f=s.Th(t,vs(s.Dh(),this.b),null,f)):this.al()&&(f=l(w,54).Th(t,-1-vs(t.Dh(),this.e),null,f))),n.ni(r),t.vh()&&t.wh()?(o=new moe(t,this.tk()?2:1,this.e,w,null,g),f?(f.nj(o),f.oj()):Bi(t,o)):f&&f.oj()},h.Mj=function(){return!1},h.al=function(){return!1},h.bl=function(){return!1},h.tk=function(){return!1},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObject",410),D(575,410,{},xae),h.al=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainment",575),D(1359,575,{},Yrt),h.bl=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentResolving",1359),D(787,575,{},r4e),h.tk=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettable",787),D(1361,787,{},Xrt),h.bl=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentUnsettableResolving",1361),D(650,575,{},Nae),h.Mj=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverse",650),D(1360,650,{},Zit),h.bl=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseResolving",1360),D(788,650,{},H4e),h.tk=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettable",788),D(1362,788,{},est),h.bl=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectContainmentWithInverseUnsettableResolving",1362),D(651,410,{},i4e),h.bl=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolving",651),D(1363,651,{},Qrt),h.tk=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingUnsettable",1363),D(789,651,{},z4e),h.Mj=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverse",789),D(1364,789,{},tst),h.tk=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectResolvingWithInverseUnsettable",1364),D(1357,410,{},Jrt),h.tk=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectUnsettable",1357),D(786,410,{},q4e),h.Mj=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverse",786),D(1358,786,{},nst),h.tk=function(){return!0},I(Vn,"EStructuralFeatureImpl/InternalSettingDelegateSingleEObjectWithInverseUnsettable",1358),D(790,576,nK,j5e),h.yl=function(t){return new j5e(this.a,this.c,t)},h.md=function(){return this.b},h.zl=function(t,n,r){return Fvn(this,t,this.b,r)},h.Al=function(t,n,r){return Rvn(this,t,this.b,r)},I(Vn,"EStructuralFeatureImpl/InverseUpdatingFeatureMapEntry",790),D(1365,1,v0e,QQe),h.Fk=function(t){return this.a},h.Qj=function(){return De(this.a,97)?l(this.a,97).Qj():!this.a.dc()},h.Wb=function(t){this.a.$b(),this.a.Gc(l(t,15))},h.Gk=function(){De(this.a,97)?l(this.a,97).Gk():this.a.$b()},I(Vn,"EStructuralFeatureImpl/SettingMany",1365),D(1366,576,nK,Eut),h.xl=function(t){return new Eae((Wi(),GM),this.b.ri(this.a,t))},h.md=function(){return null},h.zl=function(t,n,r){return r},h.Al=function(t,n,r){return r},I(Vn,"EStructuralFeatureImpl/SimpleContentFeatureMapEntry",1366),D(652,576,nK,Eae),h.xl=function(t){return new Eae(this.c,t)},h.md=function(){return this.a},h.zl=function(t,n,r){return r},h.Al=function(t,n,r){return r},I(Vn,"EStructuralFeatureImpl/SimpleFeatureMapEntry",652),D(403,506,Bd,Zd),h.aj=function(t){return We(Uf,jn,29,t,0,1)},h.Yi=function(){return!1},I(Vn,"ESuperAdapter/1",403),D(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},BS),h.Lh=function(t,n,r){var s;switch(t){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),this.Ab;case 1:return this.zb;case 2:return!this.a&&(this.a=new K_(this,Wo,this)),this.a}return rf(this,t-wr((En(),D3)),Mn((s=l(Gn(this,16),29),s||D3),t),n,r)},h.Uh=function(t,n,r){var s,o;switch(n){case 0:return!this.Ab&&(this.Ab=new nt(vi,this,0,3)),ko(this.Ab,t,r);case 2:return!this.a&&(this.a=new K_(this,Wo,this)),ko(this.a,t,r)}return o=l(Mn((s=l(Gn(this,16),29),s||(En(),D3)),n),69),o.wk().Ak(this,Ku(this),n-wr((En(),D3)),t,r)},h.Wh=function(t){var n;switch(t){case 0:return!!this.Ab&&this.Ab.i!=0;case 1:return this.zb!=null;case 2:return!!this.a&&this.a.i!=0}return tf(this,t-wr((En(),D3)),Mn((n=l(Gn(this,16),29),n||D3),t))},h.bi=function(t,n){var r;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab),!this.Ab&&(this.Ab=new nt(vi,this,0,3)),Ls(this.Ab,l(n,16));return;case 1:Bu(this,Zr(n));return;case 2:!this.a&&(this.a=new K_(this,Wo,this)),$r(this.a),!this.a&&(this.a=new K_(this,Wo,this)),Ls(this.a,l(n,16));return}cf(this,t-wr((En(),D3)),Mn((r=l(Gn(this,16),29),r||D3),t),n)},h.ii=function(){return En(),D3},h.ki=function(t){var n;switch(t){case 0:!this.Ab&&(this.Ab=new nt(vi,this,0,3)),$r(this.Ab);return;case 1:Bu(this,null);return;case 2:!this.a&&(this.a=new K_(this,Wo,this)),$r(this.a);return}of(this,t-wr((En(),D3)),Mn((n=l(Gn(this,16),29),n||D3),t))},I(Vn,"ETypeParameterImpl",457),D(458,83,Ec,K_),h.Nj=function(t,n){return Jxn(this,l(t,89),n)},h.Oj=function(t,n){return Zxn(this,l(t,89),n)},I(Vn,"ETypeParameterImpl/1",458),D(647,45,w6,ise),h.ec=function(){return new qz(this)},I(Vn,"ETypeParameterImpl/2",647),D(570,q1,Tl,qz),h.Fc=function(t){return Eit(this,l(t,89))},h.Gc=function(t){var n,r,s;for(s=!1,r=t.Kc();r.Ob();)n=l(r.Pb(),89),Ti(this.a,n,"")==null&&(s=!0);return s},h.$b=function(){Dl(this.a)},h.Hc=function(t){return Hu(this.a,t)},h.Kc=function(){var t;return t=new Xm(new Cr(this.a).a),new Hz(t)},h.Mc=function(t){return glt(this,t)},h.gc=function(){return g_(this.a)},I(Vn,"ETypeParameterImpl/2/1",570),D(571,1,Ia,Hz),h.Nb=function(t){Qa(this,t)},h.Pb=function(){return l(zw(this.a).ld(),89)},h.Ob=function(){return this.a.b},h.Qb=function(){Tht(this.a)},I(Vn,"ETypeParameterImpl/2/1/1",571),D(1329,45,w6,zJe),h._b=function(t){return Da(t)?woe(this,t):!!zo(this.f,t)},h.xc=function(t){var n,r;return n=Da(t)?wu(this,t):dc(zo(this.f,t)),De(n,851)?(r=l(n,851),n=r.Kk(),Ti(this,l(t,241),n),n):n??(t==null?(Tse(),LAt):null)},I(Vn,"EValidatorRegistryImpl",1329),D(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},g8),h.ri=function(t,n){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 n==null?null:Tc(n);case 25:return Ywn(n);case 27:return uwn(n);case 28:return lwn(n);case 29:return n==null?null:trt($M[0],l(n,206));case 41:return n==null?"":Pm(l(n,297));case 42:return Tc(n);case 50:return Zr(n);default:throw ue(new Wn(kE+t.xe()+c3))}},h.si=function(t){var n,r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe;switch(t.G==-1&&(t.G=(z=Ah(t),z?x2(z.vi(),t):-1)),t.G){case 0:return r=new tse,r;case 1:return n=new OI,n;case 2:return s=new vz,s;case 4:return o=new Uz,o;case 5:return f=new $Je,f;case 6:return g=new hJe,g;case 7:return w=new wz,w;case 10:return C=new w5,C;case 11:return L=new nse,L;case 12:return F=new vot,F;case 13:return V=new rse,V;case 14:return J=new o4e,J;case 17:return te=new NS,te;case 18:return T=new iw,T;case 19:return fe=new BS,fe;default:throw ue(new Wn(n0e+t.zb+c3))}},h.ti=function(t,n){switch(t.hk()){case 20:return n==null?null:new L3e(n);case 21:return n==null?null:new bb(n);case 23:case 22:return n==null?null:c6n(n);case 26:case 24:return n==null?null:yN(Oh(n,-128,127)<<24>>24);case 25:return _En(n);case 27:return Y7n(n);case 28:return X7n(n);case 29:return w9n(n);case 32:case 31:return n==null?null:qy(n);case 38:case 37:return n==null?null:new Gwe(n);case 40:case 39:return n==null?null:bt(Oh(n,ao,Ni));case 41:return null;case 42:return n==null,null;case 44:case 43:return n==null?null:lp(eG(n));case 49:case 48:return n==null?null:LT(Oh(n,sK,32767)<<16>>16);case 50:return n;default:throw ue(new Wn(kE+t.xe()+c3))}},I(Vn,"EcoreFactoryImpl",1349),D(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},qat),h.gb=!1,h.hb=!1;var nBe,AAt=!1;I(Vn,"EcorePackageImpl",560),D(1234,1,{851:1},k1),h.Kk=function(){return grt(),MAt},I(Vn,"EcorePackageImpl/1",1234),D(1243,1,xi,P$),h.fk=function(t){return De(t,155)},h.gk=function(t){return We(mF,jn,155,t,0,1)},I(Vn,"EcorePackageImpl/10",1243),D(1244,1,xi,B$),h.fk=function(t){return De(t,197)},h.gk=function(t){return We(upe,jn,197,t,0,1)},I(Vn,"EcorePackageImpl/11",1244),D(1245,1,xi,F$),h.fk=function(t){return De(t,58)},h.gk=function(t){return We(sm,jn,58,t,0,1)},I(Vn,"EcorePackageImpl/12",1245),D(1246,1,xi,R$),h.fk=function(t){return De(t,411)},h.gk=function(t){return We(Vf,KSe,62,t,0,1)},I(Vn,"EcorePackageImpl/13",1246),D(1247,1,xi,j$),h.fk=function(t){return De(t,241)},h.gk=function(t){return We(c1,jn,241,t,0,1)},I(Vn,"EcorePackageImpl/14",1247),D(1248,1,xi,$$),h.fk=function(t){return De(t,518)},h.gk=function(t){return We(L3,jn,2116,t,0,1)},I(Vn,"EcorePackageImpl/15",1248),D(1249,1,xi,H0),h.fk=function(t){return De(t,102)},h.gk=function(t){return We(P4,A6,19,t,0,1)},I(Vn,"EcorePackageImpl/16",1249),D(1250,1,xi,tl),h.fk=function(t){return De(t,179)},h.gk=function(t){return We(fl,A6,179,t,0,1)},I(Vn,"EcorePackageImpl/17",1250),D(1251,1,xi,wre),h.fk=function(t){return De(t,481)},h.gk=function(t){return We(O4,jn,481,t,0,1)},I(Vn,"EcorePackageImpl/18",1251),D(1252,1,xi,yre),h.fk=function(t){return De(t,561)},h.gk=function(t){return We(Qc,M5t,561,t,0,1)},I(Vn,"EcorePackageImpl/19",1252),D(1235,1,xi,xre),h.fk=function(t){return De(t,331)},h.gk=function(t){return We(N4,A6,35,t,0,1)},I(Vn,"EcorePackageImpl/2",1235),D(1253,1,xi,nl),h.fk=function(t){return De(t,248)},h.gk=function(t){return We(Wo,K5t,89,t,0,1)},I(Vn,"EcorePackageImpl/20",1253),D(1254,1,xi,FS),h.fk=function(t){return De(t,457)},h.gk=function(t){return We(Zu,jn,850,t,0,1)},I(Vn,"EcorePackageImpl/21",1254),D(1255,1,xi,z$),h.fk=function(t){return gy(t)},h.gk=function(t){return We(Ps,dt,485,t,8,1)},I(Vn,"EcorePackageImpl/22",1255),D(1256,1,xi,q$),h.fk=function(t){return De(t,195)},h.gk=function(t){return We(_l,dt,195,t,0,2)},I(Vn,"EcorePackageImpl/23",1256),D(1257,1,xi,p8),h.fk=function(t){return De(t,222)},h.gk=function(t){return We($x,dt,222,t,0,1)},I(Vn,"EcorePackageImpl/24",1257),D(1258,1,xi,kre),h.fk=function(t){return De(t,180)},h.gk=function(t){return We(BL,dt,180,t,0,1)},I(Vn,"EcorePackageImpl/25",1258),D(1259,1,xi,ck),h.fk=function(t){return De(t,206)},h.gk=function(t){return We(pK,dt,206,t,0,1)},I(Vn,"EcorePackageImpl/26",1259),D(1260,1,xi,Tre),h.fk=function(t){return!1},h.gk=function(t){return We(yBe,jn,2215,t,0,1)},I(Vn,"EcorePackageImpl/27",1260),D(1261,1,xi,H$),h.fk=function(t){return py(t)},h.gk=function(t){return We(ra,dt,345,t,7,1)},I(Vn,"EcorePackageImpl/28",1261),D(1262,1,xi,Ere),h.fk=function(t){return De(t,61)},h.gk=function(t){return We(PPe,e4,61,t,0,1)},I(Vn,"EcorePackageImpl/29",1262),D(1236,1,xi,Cre),h.fk=function(t){return De(t,519)},h.gk=function(t){return We(vi,{3:1,4:1,5:1,2033:1},598,t,0,1)},I(Vn,"EcorePackageImpl/3",1236),D(1263,1,xi,RS),h.fk=function(t){return De(t,582)},h.gk=function(t){return We(RPe,jn,2039,t,0,1)},I(Vn,"EcorePackageImpl/30",1263),D(1264,1,xi,U$),h.fk=function(t){return De(t,160)},h.gk=function(t){return We(oBe,e4,160,t,0,1)},I(Vn,"EcorePackageImpl/31",1264),D(1265,1,xi,RI),h.fk=function(t){return De(t,76)},h.gk=function(t){return We(IY,n6t,76,t,0,1)},I(Vn,"EcorePackageImpl/32",1265),D(1266,1,xi,jS),h.fk=function(t){return De(t,161)},h.gk=function(t){return We(LE,dt,161,t,0,1)},I(Vn,"EcorePackageImpl/33",1266),D(1267,1,xi,Sre),h.fk=function(t){return De(t,17)},h.gk=function(t){return We(to,dt,17,t,0,1)},I(Vn,"EcorePackageImpl/34",1267),D(1268,1,xi,_re),h.fk=function(t){return De(t,297)},h.gk=function(t){return We(a_e,jn,297,t,0,1)},I(Vn,"EcorePackageImpl/35",1268),D(1269,1,xi,jI),h.fk=function(t){return De(t,168)},h.gk=function(t){return We(l3,dt,168,t,0,1)},I(Vn,"EcorePackageImpl/36",1269),D(1270,1,xi,$S),h.fk=function(t){return De(t,85)},h.gk=function(t){return We(o_e,jn,85,t,0,1)},I(Vn,"EcorePackageImpl/37",1270),D(1271,1,xi,T1),h.fk=function(t){return De(t,599)},h.gk=function(t){return We(rBe,jn,599,t,0,1)},I(Vn,"EcorePackageImpl/38",1271),D(1272,1,xi,uk),h.fk=function(t){return!1},h.gk=function(t){return We(xBe,jn,2216,t,0,1)},I(Vn,"EcorePackageImpl/39",1272),D(1237,1,xi,Are),h.fk=function(t){return De(t,90)},h.gk=function(t){return We(Uf,jn,29,t,0,1)},I(Vn,"EcorePackageImpl/4",1237),D(1273,1,xi,lk),h.fk=function(t){return De(t,191)},h.gk=function(t){return We(h3,dt,191,t,0,1)},I(Vn,"EcorePackageImpl/40",1273),D(1274,1,xi,$I),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(Vn,"EcorePackageImpl/41",1274),D(1275,1,xi,Lm),h.fk=function(t){return De(t,596)},h.gk=function(t){return We(FPe,jn,596,t,0,1)},I(Vn,"EcorePackageImpl/42",1275),D(1276,1,xi,zS),h.fk=function(t){return!1},h.gk=function(t){return We(kBe,dt,2217,t,0,1)},I(Vn,"EcorePackageImpl/43",1276),D(1277,1,xi,zI),h.fk=function(t){return De(t,44)},h.gk=function(t){return We(mv,rG,44,t,0,1)},I(Vn,"EcorePackageImpl/44",1277),D(1238,1,xi,U0),h.fk=function(t){return De(t,142)},h.gk=function(t){return We(u1,jn,142,t,0,1)},I(Vn,"EcorePackageImpl/5",1238),D(1239,1,xi,qS),h.fk=function(t){return De(t,156)},h.gk=function(t){return We(ppe,jn,156,t,0,1)},I(Vn,"EcorePackageImpl/6",1239),D(1240,1,xi,E1),h.fk=function(t){return De(t,469)},h.gk=function(t){return We(DY,jn,685,t,0,1)},I(Vn,"EcorePackageImpl/7",1240),D(1241,1,xi,C1),h.fk=function(t){return De(t,582)},h.gk=function(t){return We(Tp,jn,694,t,0,1)},I(Vn,"EcorePackageImpl/8",1241),D(1242,1,xi,Lre),h.fk=function(t){return De(t,480)},h.gk=function(t){return We(jM,jn,480,t,0,1)},I(Vn,"EcorePackageImpl/9",1242),D(1038,2080,L5t,cZe),h.Mi=function(t,n){F4n(this,l(n,424))},h.Qi=function(t,n){i2t(this,t,l(n,424))},I(Vn,"MinimalEObjectImpl/1ArrayDelegatingAdapterList",1038),D(1039,152,rB,Iat),h.jj=function(){return this.a.a},I(Vn,"MinimalEObjectImpl/1ArrayDelegatingAdapterList/1",1039),D(1067,1066,{},Gnt),I("org.eclipse.emf.ecore.plugin","EcorePlugin",1067);var rBe=Ts(r6t,"Resource");D(799,1524,i6t),h.Hl=function(t){},h.Il=function(t){},h.El=function(){return!this.a&&(this.a=new Yie(this)),this.a},h.Fl=function(t){var n,r,s,o,f;if(s=t.length,s>0)if(Yn(0,t.length),t.charCodeAt(0)==47){for(f=new Pu(4),o=1,n=1;n<s;++n)Yn(n,t.length),t.charCodeAt(n)==47&&(wt(f,o==n?"":(Va(o,n,t.length),t.substr(o,n-o))),o=n+1);return wt(f,(Yn(o,t.length+1),t.substr(o))),$8n(this,f)}else Yn(s-1,t.length),t.charCodeAt(s-1)==63&&(r=L4e(t,ol(63),s-2),r>0&&(t=(Va(0,r,t.length),t.substr(0,r))));return fTn(this,t)},h.Gl=function(){return this.c},h.Ib=function(){var t;return Pm(this.Rm)+"@"+(t=ts(this)>>>0,t.toString(16))+" uri='"+this.d+"'"},h.b=!1,I(w0e,"ResourceImpl",799),D(1525,799,i6t,JQe),I(w0e,"BinaryResourceImpl",1525),D(1190,708,d0e),h.bj=function(t){return De(t,58)?r2n(this,l(t,58)):De(t,599)?new ar(l(t,599).El()):qe(t)===qe(this.f)?l(t,16).Kc():(jk(),yF.a)},h.Ob=function(){return j9e(this)},h.a=!1,I(us,"EcoreUtil/ContentTreeIterator",1190),D(1526,1190,d0e,cat),h.bj=function(t){return qe(t)===qe(this.f)?l(t,15).Kc():new sut(l(t,58))},I(w0e,"ResourceImpl/5",1526),D(658,2092,G5t,Yie),h.Hc=function(t){return this.i<=4?zT(this,t):De(t,54)&&l(t,54).Jh()==this.a},h.Mi=function(t,n){t==this.i-1&&(this.a.b||(this.a.b=!0))},h.Oi=function(t,n){t==0?this.a.b||(this.a.b=!0):Woe(this,t,n)},h.Qi=function(t,n){},h.Ri=function(t,n,r){},h.Lj=function(){return 2},h.jj=function(){return this.a},h.Mj=function(){return!0},h.Nj=function(t,n){var r;return r=l(t,54),n=r.fi(this.a,n),n},h.Oj=function(t,n){var r;return r=l(t,54),r.fi(null,n)},h.Pj=function(){return!1},h.Si=function(){return!0},h.aj=function(t){return We(sm,jn,58,t,0,1)},h.Yi=function(){return!1},I(w0e,"ResourceImpl/ContentsEList",658),D(970,2062,aE,ZQe),h.fd=function(t){return this.a.Ki(t)},h.gc=function(){return this.a.gc()},I(us,"AbstractSequentialInternalEList/1",970);var iBe,sBe,no,aBe;D(634,1,{},lst);var OY,NY;I(us,"BasicExtendedMetaData",634),D(1181,1,{},fnt),h.Jl=function(){return null},h.Kl=function(){return this.a==-2&&Ye(this,f9n(this.d,this.b)),this.a},h.Ll=function(){return null},h.Ml=function(){return Cn(),Cn(),Co},h.xe=function(){return this.c==CE&&vt(this,Adt(this.d,this.b)),this.c},h.Nl=function(){return 0},h.a=-2,h.c=CE,I(us,"BasicExtendedMetaData/EClassExtendedMetaDataImpl",1181),D(1182,1,{},Pct),h.Jl=function(){return this.a==(nT(),OY)&&Mt(this,h_n(this.f,this.b)),this.a},h.Kl=function(){return 0},h.Ll=function(){return this.c==(nT(),OY)&&Qe(this,f_n(this.f,this.b)),this.c},h.Ml=function(){return!this.d&&Yt(this,XAn(this.f,this.b)),this.d},h.xe=function(){return this.e==CE&&_n(this,Adt(this.f,this.b)),this.e},h.Nl=function(){return this.g==-2&&Xt(this,Dxn(this.f,this.b)),this.g},h.e=CE,h.g=-2,I(us,"BasicExtendedMetaData/EDataTypeExtendedMetaDataImpl",1182),D(1180,1,{},dnt),h.b=!1,h.c=!1,I(us,"BasicExtendedMetaData/EPackageExtendedMetaDataImpl",1180),D(1183,1,{},Bct),h.c=-2,h.e=CE,h.f=CE,I(us,"BasicExtendedMetaData/EStructuralFeatureExtendedMetaDataImpl",1183),D(593,632,Ec,sH),h.Lj=function(){return this.c},h.ol=function(){return!1},h.Wi=function(t,n){return n},h.c=0,I(us,"EDataTypeEList",593);var oBe=Ts(us,"FeatureMap");D(78,593,{3:1,4:1,20:1,31:1,56:1,16:1,15:1,59:1,70:1,66:1,61:1,79:1,160:1,220:1,2036:1,71:1,97:1},Ms),h.bd=function(t,n){MCn(this,t,l(n,76))},h.Fc=function(t){return WEn(this,l(t,76))},h.Hi=function(t){epn(this,l(t,76))},h.Nj=function(t,n){return x0n(this,l(t,76),n)},h.Oj=function(t,n){return D4e(this,l(t,76),n)},h.Ti=function(t,n){return nAn(this,t,n)},h.Wi=function(t,n){return qMn(this,t,l(n,76))},h.hd=function(t,n){return mSn(this,t,l(n,76))},h.Uj=function(t,n){return k0n(this,l(t,76),n)},h.Vj=function(t,n){return jit(this,l(t,76),n)},h.Wj=function(t,n,r){return vxn(this,l(t,76),l(n,76),r)},h.Zi=function(t,n){return que(this,t,l(n,76))},h.Ol=function(t,n){return Mke(this,t,n)},h.cd=function(t,n){var r,s,o,f,g,w,T,C,L;for(C=new Bw(n.gc()),o=n.Kc();o.Ob();)if(s=l(o.Pb(),76),f=s.Lk(),dp(this.e,f))(!f.Si()||!YH(this,f,s.md())&&!zT(C,s))&&zr(C,s);else{for(L=Wu(this.e.Dh(),f),r=l(this.g,124),g=!0,w=0;w<this.i;++w)if(T=r[w],L.am(T.Lk())){l(i6(this,w,s),76),g=!1;break}g&&zr(C,s)}return J7e(this,t,C)},h.Gc=function(t){var n,r,s,o,f,g,w,T,C;for(T=new Bw(t.gc()),s=t.Kc();s.Ob();)if(r=l(s.Pb(),76),o=r.Lk(),dp(this.e,o))(!o.Si()||!YH(this,o,r.md())&&!zT(T,r))&&zr(T,r);else{for(C=Wu(this.e.Dh(),o),n=l(this.g,124),f=!0,g=0;g<this.i;++g)if(w=n[g],C.am(w.Lk())){l(i6(this,g,r),76),f=!1;break}f&&zr(T,r)}return Ls(this,T)},h.Fi=function(t){return this.j=-1,Ele(this,this.i,t)},h.Pl=function(t,n,r){return kke(this,t,n,r)},h.Xk=function(t,n){return wP(this,t,n)},h.Ql=function(t,n,r){return Wke(this,t,n,r)},h.Rl=function(){return this},h.Sl=function(t,n){return TP(this,t,n)},h.Tl=function(t){return l(Oe(this,t),76).Lk()},h.Ul=function(t){return l(Oe(this,t),76).md()},h.Vl=function(){return this.b},h.Mj=function(){return!0},h.Tj=function(){return!0},h.Wl=function(t){return!VN(this,t)},h.aj=function(t){return We(_At,n6t,343,t,0,1)},h.pl=function(t){return kae(this,t)},h.Wb=function(t){WO(this,t)},h.Xl=function(t,n){XV(this,t,n)},h.Yl=function(t){return Fft(this,t)},h.Zl=function(t){pgt(this,t)},I(us,"BasicFeatureMap",78),D(1960,1,dg),h.Nb=function(t){Qa(this,t)},h.Rb=function(t){if(this.g==-1)throw ue(new gl);yH(this);try{Wbt(this.e,this.b,this.a,t),this.d=this.e.j,hV(this)}catch(n){throw n=ms(n),De(n,77)?ue(new Yh):ue(n)}},h.Ob=function(){return zce(this)},h.Sb=function(){return u1t(this)},h.Pb=function(){return hV(this)},h.Tb=function(){return this.a},h.Ub=function(){var t;if(u1t(this))return yH(this),this.g=--this.a,this.ul()&&(t=qA(this.e,this.b,this.c,this.a,this.j),this.j=t),this.i=0,this.j;throw ue(new Dc)},h.Vb=function(){return this.a-1},h.Qb=function(){if(this.g==-1)throw ue(new gl);yH(this);try{zpt(this.e,this.b,this.g),this.d=this.e.j,this.g<this.a&&(--this.a,--this.c),--this.g}catch(t){throw t=ms(t),De(t,77)?ue(new Yh):ue(t)}},h.ul=function(){return!1},h.Wb=function(t){if(this.g==-1)throw ue(new gl);yH(this);try{vvt(this.e,this.b,this.g,t),this.d=this.e.j}catch(n){throw n=ms(n),De(n,77)?ue(new Yh):ue(n)}},h.a=0,h.c=0,h.d=0,h.f=!1,h.g=0,h.i=0,I(us,"FeatureMapUtil/BasicFeatureEIterator",1960),D(420,1960,dg,wT),h.$l=function(){var t,n,r;for(r=this.e.i,t=l(this.e.g,124);this.c<r;){if(n=t[this.c],this.k.am(n.Lk()))return this.j=this.f?n:n.md(),this.i=2,!0;++this.c}return this.i=1,this.g=-1,!1},h._l=function(){var t,n;for(t=l(this.e.g,124);--this.c>=0;)if(n=t[this.c],this.k.am(n.Lk()))return this.j=this.f?n:n.md(),this.i=-2,!0;return this.i=-1,this.g=-1,!1},I(us,"BasicFeatureMap/FeatureEIterator",420),D(676,420,dg,sae),h.ul=function(){return!0},I(us,"BasicFeatureMap/ResolvingFeatureEIterator",676),D(968,496,eK,nrt),h.pj=function(){return this},I(us,"EContentsEList/1",968),D(969,496,eK,Snt),h.ul=function(){return!1},I(us,"EContentsEList/2",969),D(967,287,tK,rrt),h.wl=function(t){},h.Ob=function(){return!1},h.Sb=function(){return!1},I(us,"EContentsEList/FeatureIteratorImpl/1",967),D(840,593,Ec,Rye),h.Ni=function(){this.a=!0},h.Qj=function(){return this.a},h.Gk=function(){var t;$r(this),ch(this.e)?(t=this.a,this.a=!1,Bi(this.e,new l0(this.e,2,this.c,t,!1))):this.a=!1},h.a=!1,I(us,"EDataTypeEList/Unsettable",840),D(1958,593,Ec,lrt),h.Si=function(){return!0},I(us,"EDataTypeUniqueEList",1958),D(1959,840,Ec,hrt),h.Si=function(){return!0},I(us,"EDataTypeUniqueEList/Unsettable",1959),D(147,83,Ec,bl),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectContainmentEList/Resolving",147),D(1184,555,Ec,frt),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectContainmentEList/Unsettable/Resolving",1184),D(766,14,Ec,E4e),h.Ni=function(){this.a=!0},h.Qj=function(){return this.a},h.Gk=function(){var t;$r(this),ch(this.e)?(t=this.a,this.a=!1,Bi(this.e,new l0(this.e,2,this.c,t,!1))):this.a=!1},h.a=!1,I(us,"EObjectContainmentWithInverseEList/Unsettable",766),D(1222,766,Ec,Cit),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectContainmentWithInverseEList/Unsettable/Resolving",1222),D(757,505,Ec,jye),h.Ni=function(){this.a=!0},h.Qj=function(){return this.a},h.Gk=function(){var t;$r(this),ch(this.e)?(t=this.a,this.a=!1,Bi(this.e,new l0(this.e,2,this.c,t,!1))):this.a=!1},h.a=!1,I(us,"EObjectEList/Unsettable",757),D(338,505,Ec,q5),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectResolvingEList",338),D(1844,757,Ec,drt),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectResolvingEList/Unsettable",1844),D(1527,1,{},Mre);var LAt;I(us,"EObjectValidator",1527),D(559,505,Ec,kH),h.il=function(){return this.d},h.jl=function(){return this.b},h.Mj=function(){return!0},h.ml=function(){return!0},h.b=0,I(us,"EObjectWithInverseEList",559),D(1225,559,Ec,Sit),h.ll=function(){return!0},I(us,"EObjectWithInverseEList/ManyInverse",1225),D(635,559,Ec,Sae),h.Ni=function(){this.a=!0},h.Qj=function(){return this.a},h.Gk=function(){var t;$r(this),ch(this.e)?(t=this.a,this.a=!1,Bi(this.e,new l0(this.e,2,this.c,t,!1))):this.a=!1},h.a=!1,I(us,"EObjectWithInverseEList/Unsettable",635),D(1224,635,Ec,_it),h.ll=function(){return!0},I(us,"EObjectWithInverseEList/Unsettable/ManyInverse",1224),D(767,559,Ec,C4e),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectWithInverseResolvingEList",767),D(32,767,Ec,An),h.ll=function(){return!0},I(us,"EObjectWithInverseResolvingEList/ManyInverse",32),D(768,635,Ec,S4e),h.nl=function(){return!0},h.Wi=function(t,n){return Ex(this,t,l(n,58))},I(us,"EObjectWithInverseResolvingEList/Unsettable",768),D(1223,768,Ec,Ait),h.ll=function(){return!0},I(us,"EObjectWithInverseResolvingEList/Unsettable/ManyInverse",1223),D(1185,632,Ec),h.Li=function(){return(this.b&1792)==0},h.Ni=function(){this.b|=1},h.kl=function(){return(this.b&4)!=0},h.Mj=function(){return(this.b&40)!=0},h.ll=function(){return(this.b&16)!=0},h.ml=function(){return(this.b&8)!=0},h.nl=function(){return(this.b&a4)!=0},h.al=function(){return(this.b&32)!=0},h.ol=function(){return(this.b&b0)!=0},h.fk=function(t){return this.d?gut(this.d,t):this.Lk().Hk().fk(t)},h.Qj=function(){return this.b&2?(this.b&1)!=0:this.i!=0},h.Si=function(){return(this.b&128)!=0},h.Gk=function(){var t;$r(this),this.b&2&&(ch(this.e)?(t=(this.b&1)!=0,this.b&=-2,Tk(this,new l0(this.e,2,vs(this.e.Dh(),this.Lk()),t,!1))):this.b&=-2)},h.Yi=function(){return(this.b&1536)==0},h.b=0,I(us,"EcoreEList/Generic",1185),D(1186,1185,Ec,yot),h.Lk=function(){return this.a},I(us,"EcoreEList/Dynamic",1186),D(765,66,Bd,$we),h.aj=function(t){return EN(this.a.a,t)},I(us,"EcoreEMap/1",765),D(764,83,Ec,E5e),h.Mi=function(t,n){gV(this.b,l(n,136))},h.Oi=function(t,n){m0t(this.b)},h.Pi=function(t,n,r){var s;++(s=this.b,l(n,136),s).e},h.Qi=function(t,n){Qce(this.b,l(n,136))},h.Ri=function(t,n,r){Qce(this.b,l(r,136)),qe(r)===qe(n)&&l(r,136).Ci(whn(l(n,136).ld())),gV(this.b,l(n,136))},I(us,"EcoreEMap/DelegateEObjectContainmentEList",764),D(1220,141,GSe,Nft),I(us,"EcoreEMap/Unsettable",1220),D(1221,764,Ec,Lit),h.Ni=function(){this.a=!0},h.Qj=function(){return this.a},h.Gk=function(){var t;$r(this),ch(this.e)?(t=this.a,this.a=!1,Bi(this.e,new l0(this.e,2,this.c,t,!1))):this.a=!1},h.a=!1,I(us,"EcoreEMap/Unsettable/UnsettableDelegateEObjectContainmentEList",1221),D(1189,215,w6,xat),h.a=!1,h.b=!1,I(us,"EcoreUtil/Copier",1189),D(759,1,Ia,sut),h.Nb=function(t){Qa(this,t)},h.Ob=function(){return ddt(this)},h.Pb=function(){var t;return ddt(this),t=this.b,this.b=null,t},h.Qb=function(){this.a.Qb()},I(us,"EcoreUtil/ProperContentIterator",759),D(1528,1527,{},yz);var MAt;I(us,"EcoreValidator",1528);var DAt;Ts(us,"FeatureMapUtil/Validator"),D(1295,1,{2041:1},y5),h.am=function(t){return!0},I(us,"FeatureMapUtil/1",1295),D(773,1,{2041:1},aTe),h.am=function(t){var n;return this.c==t?!0:(n=Pt(or(this.a,t)),n==null?v_n(this,t)?(slt(this.a,t,(Hn(),AE)),!0):(slt(this.a,t,(Hn(),Ub)),!1):n==(Hn(),AE))},h.e=!1;var wpe;I(us,"FeatureMapUtil/BasicValidator",773),D(774,45,w6,Bye),I(us,"FeatureMapUtil/BasicValidator/Cache",774),D(509,56,{20:1,31:1,56:1,16:1,15:1,61:1,79:1,71:1,97:1},AO),h.bd=function(t,n){Wbt(this.c,this.b,t,n)},h.Fc=function(t){return Mke(this.c,this.b,t)},h.cd=function(t,n){return jLn(this.c,this.b,t,n)},h.Gc=function(t){return R_(this,t)},h.Gi=function(t,n){Nwn(this.c,this.b,t,n)},h.Wk=function(t,n){return kke(this.c,this.b,t,n)},h.$i=function(t){return YV(this.c,this.b,t,!1)},h.Ii=function(){return Rnt(this.c,this.b)},h.Ji=function(){return ahn(this.c,this.b)},h.Ki=function(t){return jvn(this.c,this.b,t)},h.Xk=function(t,n){return cit(this,t,n)},h.$b=function(){A8(this)},h.Hc=function(t){return YH(this.c,this.b,t)},h.Ic=function(t){return R3n(this.c,this.b,t)},h.Xb=function(t){return YV(this.c,this.b,t,!0)},h.Fk=function(t){return this},h.dd=function(t){return Gmn(this.c,this.b,t)},h.dc=function(){return Nq(this)},h.Qj=function(){return!VN(this.c,this.b)},h.Kc=function(){return Ewn(this.c,this.b)},h.ed=function(){return Cwn(this.c,this.b)},h.fd=function(t){return n5n(this.c,this.b,t)},h.Ti=function(t,n){return uvt(this.c,this.b,t,n)},h.Ui=function(t,n){qvn(this.c,this.b,t,n)},h.gd=function(t){return zpt(this.c,this.b,t)},h.Mc=function(t){return z_n(this.c,this.b,t)},h.hd=function(t,n){return vvt(this.c,this.b,t,n)},h.Wb=function(t){MV(this.c,this.b),R_(this,l(t,15))},h.gc=function(){return t5n(this.c,this.b)},h.Pc=function(){return Wbn(this.c,this.b)},h.Qc=function(t){return Kmn(this.c,this.b,t)},h.Ib=function(){var t,n;for(n=new e2,n.a+="[",t=Rnt(this.c,this.b);zce(t);)Jo(n,$_(hV(t))),zce(t)&&(n.a+=To);return n.a+="]",n.a},h.Gk=function(){MV(this.c,this.b)},I(us,"FeatureMapUtil/FeatureEList",509),D(644,39,rB,Foe),h.hj=function(t){return _A(this,t)},h.mj=function(t){var n,r,s,o,f,g,w;switch(this.d){case 1:case 2:{if(f=t.jj(),qe(f)===qe(this.c)&&_A(this,null)==t.hj(null))return this.g=t.ij(),t.gj()==1&&(this.d=1),!0;break}case 3:{switch(o=t.gj(),o){case 3:{if(f=t.jj(),qe(f)===qe(this.c)&&_A(this,null)==t.hj(null))return this.d=5,n=new Bw(2),zr(n,this.g),zr(n,t.ij()),this.g=n,!0;break}}break}case 5:{switch(o=t.gj(),o){case 3:{if(f=t.jj(),qe(f)===qe(this.c)&&_A(this,null)==t.hj(null))return r=l(this.g,16),r.Fc(t.ij()),!0;break}}break}case 4:{switch(o=t.gj(),o){case 3:{if(f=t.jj(),qe(f)===qe(this.c)&&_A(this,null)==t.hj(null))return this.d=1,this.g=t.ij(),!0;break}case 4:{if(f=t.jj(),qe(f)===qe(this.c)&&_A(this,null)==t.hj(null))return this.d=6,w=new Bw(2),zr(w,this.n),zr(w,t.kj()),this.n=w,g=he(le(Ur,1),fi,28,15,[this.o,t.lj()]),this.g=g,!0;break}}break}case 6:{switch(o=t.gj(),o){case 4:{if(f=t.jj(),qe(f)===qe(this.c)&&_A(this,null)==t.hj(null))return r=l(this.n,16),r.Fc(t.kj()),g=l(this.g,53),s=We(Ur,fi,28,g.length+1,15,1),gu(g,0,s,0,g.length),s[g.length]=t.lj(),this.g=s,!0;break}}break}}return!1},I(us,"FeatureMapUtil/FeatureENotificationImpl",644),D(564,509,{20:1,31:1,56:1,16:1,15:1,61:1,79:1,160:1,220:1,2036:1,71:1,97:1},uH),h.Ol=function(t,n){return Mke(this.c,t,n)},h.Pl=function(t,n,r){return kke(this.c,t,n,r)},h.Ql=function(t,n,r){return Wke(this.c,t,n,r)},h.Rl=function(){return this},h.Sl=function(t,n){return TP(this.c,t,n)},h.Tl=function(t){return l(YV(this.c,this.b,t,!1),76).Lk()},h.Ul=function(t){return l(YV(this.c,this.b,t,!1),76).md()},h.Vl=function(){return this.a},h.Wl=function(t){return!VN(this.c,t)},h.Xl=function(t,n){XV(this.c,t,n)},h.Yl=function(t){return Fft(this.c,t)},h.Zl=function(t){pgt(this.c,t)},I(us,"FeatureMapUtil/FeatureFeatureMap",564),D(1294,1,v0e,hnt),h.Fk=function(t){return YV(this.b,this.a,-1,t)},h.Qj=function(){return!VN(this.b,this.a)},h.Wb=function(t){XV(this.b,this.a,t)},h.Gk=function(){MV(this.b,this.a)},I(us,"FeatureMapUtil/FeatureValue",1294);var u9,ype,xpe,l9,IAt,kF=Ts(uK,"AnyType");D(680,63,gp,fse),I(uK,"InvalidDatatypeValueException",680);var PY=Ts(uK,a6t),TF=Ts(uK,o6t),cBe=Ts(uK,c6t),OAt,ru,uBe,Nv,NAt,PAt,BAt,FAt,RAt,jAt,$At,zAt,qAt,HAt,UAt,l7,VAt,h7,UM,GAt,I3,EF,CF,KAt,VM,GM;D(844,516,{110:1,94:1,93:1,58:1,54:1,99:1,857:1},s3e),h.Lh=function(t,n,r){switch(t){case 0:return r?(!this.c&&(this.c=new Ms(this,0)),this.c):(!this.c&&(this.c=new Ms(this,0)),this.c.b);case 1:return r?(!this.c&&(this.c=new Ms(this,0)),l(yu(this.c,(Wi(),Nv)),160)):(!this.c&&(this.c=new Ms(this,0)),l(l(yu(this.c,(Wi(),Nv)),160),220)).Vl();case 2:return r?(!this.b&&(this.b=new Ms(this,2)),this.b):(!this.b&&(this.b=new Ms(this,2)),this.b.b)}return rf(this,t-wr(this.ii()),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():this.ii(),t),n,r)},h.Uh=function(t,n,r){var s;switch(n){case 0:return!this.c&&(this.c=new Ms(this,0)),wP(this.c,t,r);case 1:return(!this.c&&(this.c=new Ms(this,0)),l(l(yu(this.c,(Wi(),Nv)),160),71)).Xk(t,r);case 2:return!this.b&&(this.b=new Ms(this,2)),wP(this.b,t,r)}return s=l(Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():this.ii(),n),69),s.wk().Ak(this,c7e(this),n-wr(this.ii()),t,r)},h.Wh=function(t){switch(t){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new Ms(this,0)),l(yu(this.c,(Wi(),Nv)),160)).dc();case 2:return!!this.b&&this.b.i!=0}return tf(this,t-wr(this.ii()),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():this.ii(),t))},h.bi=function(t,n){switch(t){case 0:!this.c&&(this.c=new Ms(this,0)),WO(this.c,n);return;case 1:(!this.c&&(this.c=new Ms(this,0)),l(l(yu(this.c,(Wi(),Nv)),160),220)).Wb(n);return;case 2:!this.b&&(this.b=new Ms(this,2)),WO(this.b,n);return}cf(this,t-wr(this.ii()),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():this.ii(),t),n)},h.ii=function(){return Wi(),uBe},h.ki=function(t){switch(t){case 0:!this.c&&(this.c=new Ms(this,0)),$r(this.c);return;case 1:(!this.c&&(this.c=new Ms(this,0)),l(yu(this.c,(Wi(),Nv)),160)).$b();return;case 2:!this.b&&(this.b=new Ms(this,2)),$r(this.b);return}of(this,t-wr(this.ii()),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():this.ii(),t))},h.Ib=function(){var t;return this.j&4?d0(this):(t=new Af(d0(this)),t.a+=" (mixed: ",N_(t,this.c),t.a+=", anyAttribute: ",N_(t,this.b),t.a+=")",t.a)},I(na,"AnyTypeImpl",844),D(681,516,{110:1,94:1,93:1,58:1,54:1,99:1,2119:1,681:1},Nre),h.Lh=function(t,n,r){switch(t){case 0:return this.a;case 1:return this.b}return rf(this,t-wr((Wi(),l7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():l7,t),n,r)},h.Wh=function(t){switch(t){case 0:return this.a!=null;case 1:return this.b!=null}return tf(this,t-wr((Wi(),l7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():l7,t))},h.bi=function(t,n){switch(t){case 0:mr(this,Zr(n));return;case 1:gr(this,Zr(n));return}cf(this,t-wr((Wi(),l7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():l7,t),n)},h.ii=function(){return Wi(),l7},h.ki=function(t){switch(t){case 0:this.a=null;return;case 1:this.b=null;return}of(this,t-wr((Wi(),l7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():l7,t))},h.Ib=function(){var t;return this.j&4?d0(this):(t=new Af(d0(this)),t.a+=" (data: ",Jo(t,this.a),t.a+=", target: ",Jo(t,this.b),t.a+=")",t.a)},h.a=null,h.b=null,I(na,"ProcessingInstructionImpl",681),D(682,844,{110:1,94:1,93:1,58:1,54:1,99:1,857:1,2120:1,682:1},qJe),h.Lh=function(t,n,r){switch(t){case 0:return r?(!this.c&&(this.c=new Ms(this,0)),this.c):(!this.c&&(this.c=new Ms(this,0)),this.c.b);case 1:return r?(!this.c&&(this.c=new Ms(this,0)),l(yu(this.c,(Wi(),Nv)),160)):(!this.c&&(this.c=new Ms(this,0)),l(l(yu(this.c,(Wi(),Nv)),160),220)).Vl();case 2:return r?(!this.b&&(this.b=new Ms(this,2)),this.b):(!this.b&&(this.b=new Ms(this,2)),this.b.b);case 3:return!this.c&&(this.c=new Ms(this,0)),Zr(TP(this.c,(Wi(),UM),!0));case 4:return A4e(this.a,(!this.c&&(this.c=new Ms(this,0)),Zr(TP(this.c,(Wi(),UM),!0))));case 5:return this.a}return rf(this,t-wr((Wi(),h7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():h7,t),n,r)},h.Wh=function(t){switch(t){case 0:return!!this.c&&this.c.i!=0;case 1:return!(!this.c&&(this.c=new Ms(this,0)),l(yu(this.c,(Wi(),Nv)),160)).dc();case 2:return!!this.b&&this.b.i!=0;case 3:return!this.c&&(this.c=new Ms(this,0)),Zr(TP(this.c,(Wi(),UM),!0))!=null;case 4:return A4e(this.a,(!this.c&&(this.c=new Ms(this,0)),Zr(TP(this.c,(Wi(),UM),!0))))!=null;case 5:return!!this.a}return tf(this,t-wr((Wi(),h7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():h7,t))},h.bi=function(t,n){switch(t){case 0:!this.c&&(this.c=new Ms(this,0)),WO(this.c,n);return;case 1:(!this.c&&(this.c=new Ms(this,0)),l(l(yu(this.c,(Wi(),Nv)),160),220)).Wb(n);return;case 2:!this.b&&(this.b=new Ms(this,2)),WO(this.b,n);return;case 3:b6e(this,Zr(n));return;case 4:b6e(this,_4e(this.a,n));return;case 5:Pn(this,l(n,156));return}cf(this,t-wr((Wi(),h7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():h7,t),n)},h.ii=function(){return Wi(),h7},h.ki=function(t){switch(t){case 0:!this.c&&(this.c=new Ms(this,0)),$r(this.c);return;case 1:(!this.c&&(this.c=new Ms(this,0)),l(yu(this.c,(Wi(),Nv)),160)).$b();return;case 2:!this.b&&(this.b=new Ms(this,2)),$r(this.b);return;case 3:!this.c&&(this.c=new Ms(this,0)),XV(this.c,(Wi(),UM),null);return;case 4:b6e(this,_4e(this.a,null));return;case 5:this.a=null;return}of(this,t-wr((Wi(),h7)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():h7,t))},I(na,"SimpleAnyTypeImpl",682),D(683,516,{110:1,94:1,93:1,58:1,54:1,99:1,2121:1,683:1},HJe),h.Lh=function(t,n,r){switch(t){case 0:return r?(!this.a&&(this.a=new Ms(this,0)),this.a):(!this.a&&(this.a=new Ms(this,0)),this.a.b);case 1:return r?(!this.b&&(this.b=new yl((En(),Do),Qc,this,1)),this.b):(!this.b&&(this.b=new yl((En(),Do),Qc,this,1)),fN(this.b));case 2:return r?(!this.c&&(this.c=new yl((En(),Do),Qc,this,2)),this.c):(!this.c&&(this.c=new yl((En(),Do),Qc,this,2)),fN(this.c));case 3:return!this.a&&(this.a=new Ms(this,0)),yu(this.a,(Wi(),EF));case 4:return!this.a&&(this.a=new Ms(this,0)),yu(this.a,(Wi(),CF));case 5:return!this.a&&(this.a=new Ms(this,0)),yu(this.a,(Wi(),VM));case 6:return!this.a&&(this.a=new Ms(this,0)),yu(this.a,(Wi(),GM))}return rf(this,t-wr((Wi(),I3)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():I3,t),n,r)},h.Uh=function(t,n,r){var s;switch(n){case 0:return!this.a&&(this.a=new Ms(this,0)),wP(this.a,t,r);case 1:return!this.b&&(this.b=new yl((En(),Do),Qc,this,1)),Jq(this.b,t,r);case 2:return!this.c&&(this.c=new yl((En(),Do),Qc,this,2)),Jq(this.c,t,r);case 5:return!this.a&&(this.a=new Ms(this,0)),cit(yu(this.a,(Wi(),VM)),t,r)}return s=l(Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():(Wi(),I3),n),69),s.wk().Ak(this,c7e(this),n-wr((Wi(),I3)),t,r)},h.Wh=function(t){switch(t){case 0:return!!this.a&&this.a.i!=0;case 1:return!!this.b&&this.b.f!=0;case 2:return!!this.c&&this.c.f!=0;case 3:return!this.a&&(this.a=new Ms(this,0)),!Nq(yu(this.a,(Wi(),EF)));case 4:return!this.a&&(this.a=new Ms(this,0)),!Nq(yu(this.a,(Wi(),CF)));case 5:return!this.a&&(this.a=new Ms(this,0)),!Nq(yu(this.a,(Wi(),VM)));case 6:return!this.a&&(this.a=new Ms(this,0)),!Nq(yu(this.a,(Wi(),GM)))}return tf(this,t-wr((Wi(),I3)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():I3,t))},h.bi=function(t,n){switch(t){case 0:!this.a&&(this.a=new Ms(this,0)),WO(this.a,n);return;case 1:!this.b&&(this.b=new yl((En(),Do),Qc,this,1)),NU(this.b,n);return;case 2:!this.c&&(this.c=new yl((En(),Do),Qc,this,2)),NU(this.c,n);return;case 3:!this.a&&(this.a=new Ms(this,0)),A8(yu(this.a,(Wi(),EF))),!this.a&&(this.a=new Ms(this,0)),R_(yu(this.a,EF),l(n,16));return;case 4:!this.a&&(this.a=new Ms(this,0)),A8(yu(this.a,(Wi(),CF))),!this.a&&(this.a=new Ms(this,0)),R_(yu(this.a,CF),l(n,16));return;case 5:!this.a&&(this.a=new Ms(this,0)),A8(yu(this.a,(Wi(),VM))),!this.a&&(this.a=new Ms(this,0)),R_(yu(this.a,VM),l(n,16));return;case 6:!this.a&&(this.a=new Ms(this,0)),A8(yu(this.a,(Wi(),GM))),!this.a&&(this.a=new Ms(this,0)),R_(yu(this.a,GM),l(n,16));return}cf(this,t-wr((Wi(),I3)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():I3,t),n)},h.ii=function(){return Wi(),I3},h.ki=function(t){switch(t){case 0:!this.a&&(this.a=new Ms(this,0)),$r(this.a);return;case 1:!this.b&&(this.b=new yl((En(),Do),Qc,this,1)),this.b.c.$b();return;case 2:!this.c&&(this.c=new yl((En(),Do),Qc,this,2)),this.c.c.$b();return;case 3:!this.a&&(this.a=new Ms(this,0)),A8(yu(this.a,(Wi(),EF)));return;case 4:!this.a&&(this.a=new Ms(this,0)),A8(yu(this.a,(Wi(),CF)));return;case 5:!this.a&&(this.a=new Ms(this,0)),A8(yu(this.a,(Wi(),VM)));return;case 6:!this.a&&(this.a=new Ms(this,0)),A8(yu(this.a,(Wi(),GM)));return}of(this,t-wr((Wi(),I3)),Mn(this.j&2?(!this.k&&(this.k=new Sf),this.k).Nk():I3,t))},h.Ib=function(){var t;return this.j&4?d0(this):(t=new Af(d0(this)),t.a+=" (mixed: ",N_(t,this.a),t.a+=")",t.a)},I(na,"XMLTypeDocumentRootImpl",683),D(2028,720,{110:1,94:1,93:1,480:1,155:1,58:1,114:1,54:1,99:1,158:1,119:1,120:1,2122:1},hk),h.ri=function(t,n){switch(t.hk()){case 7:case 8:case 9:case 10:case 16:case 22:case 23:case 24:case 25:case 26:case 32:case 33:case 34:case 36:case 37:case 44:case 45:case 50:case 51:case 53:case 55:case 56:case 57:case 58:case 60:case 61:case 4:return n==null?null:Tc(n);case 19:case 28:case 29:case 35:case 38:case 39:case 41:case 46:case 52:case 54:case 5:return Zr(n);case 6:return Ifn(l(n,195));case 12:case 47:case 49:case 11:return swt(this,t,n);case 13:return n==null?null:HLn(l(n,247));case 15:case 14:return n==null?null:Wgn(ze(Ge(n)));case 17:return npt((Wi(),n));case 18:return npt(n);case 21:case 20:return n==null?null:Ygn(l(n,161).a);case 27:return Ofn(l(n,195));case 30:return bgt((Wi(),l(n,15)));case 31:return bgt(l(n,15));case 40:return Pfn((Wi(),n));case 42:return rpt((Wi(),n));case 43:return rpt(n);case 59:case 48:return Nfn((Wi(),n));default:throw ue(new Wn(kE+t.xe()+c3))}},h.si=function(t){var n,r,s,o,f;switch(t.G==-1&&(t.G=(r=Ah(t),r?x2(r.vi(),t):-1)),t.G){case 0:return n=new s3e,n;case 1:return s=new Nre,s;case 2:return o=new qJe,o;case 3:return f=new HJe,f;default:throw ue(new Wn(n0e+t.zb+c3))}},h.ti=function(t,n){var r,s,o,f,g,w,T,C,L,F,z,V,J,te,fe,Ee;switch(t.hk()){case 5:case 52:case 4:return n;case 6:return z6n(n);case 8:case 7:return n==null?null:_xn(n);case 9:return n==null?null:yN(Oh((s=ku(n,!0),s.length>0&&(Yn(0,s.length),s.charCodeAt(0)==43)?(Yn(1,s.length+1),s.substr(1)):s),-128,127)<<24>>24);case 10:return n==null?null:yN(Oh((o=ku(n,!0),o.length>0&&(Yn(0,o.length),o.charCodeAt(0)==43)?(Yn(1,o.length+1),o.substr(1)):o),-128,127)<<24>>24);case 11:return Zr(e3(this,(Wi(),BAt),n));case 12:return Zr(e3(this,(Wi(),FAt),n));case 13:return n==null?null:new L3e(ku(n,!0));case 15:case 14:return XEn(n);case 16:return Zr(e3(this,(Wi(),RAt),n));case 17:return vdt((Wi(),n));case 18:return vdt(n);case 28:case 29:case 35:case 38:case 39:case 41:case 54:case 19:return ku(n,!0);case 21:case 20:return aCn(n);case 22:return Zr(e3(this,(Wi(),jAt),n));case 23:return Zr(e3(this,(Wi(),$At),n));case 24:return Zr(e3(this,(Wi(),zAt),n));case 25:return Zr(e3(this,(Wi(),qAt),n));case 26:return Zr(e3(this,(Wi(),HAt),n));case 27:return L6n(n);case 30:return wdt((Wi(),n));case 31:return wdt(n);case 32:return n==null?null:bt(Oh((L=ku(n,!0),L.length>0&&(Yn(0,L.length),L.charCodeAt(0)==43)?(Yn(1,L.length+1),L.substr(1)):L),ao,Ni));case 33:return n==null?null:new bb((F=ku(n,!0),F.length>0&&(Yn(0,F.length),F.charCodeAt(0)==43)?(Yn(1,F.length+1),F.substr(1)):F));case 34:return n==null?null:bt(Oh((z=ku(n,!0),z.length>0&&(Yn(0,z.length),z.charCodeAt(0)==43)?(Yn(1,z.length+1),z.substr(1)):z),ao,Ni));case 36:return n==null?null:lp(eG((V=ku(n,!0),V.length>0&&(Yn(0,V.length),V.charCodeAt(0)==43)?(Yn(1,V.length+1),V.substr(1)):V)));case 37:return n==null?null:lp(eG((J=ku(n,!0),J.length>0&&(Yn(0,J.length),J.charCodeAt(0)==43)?(Yn(1,J.length+1),J.substr(1)):J)));case 40:return S7n((Wi(),n));case 42:return ydt((Wi(),n));case 43:return ydt(n);case 44:return n==null?null:new bb((te=ku(n,!0),te.length>0&&(Yn(0,te.length),te.charCodeAt(0)==43)?(Yn(1,te.length+1),te.substr(1)):te));case 45:return n==null?null:new bb((fe=ku(n,!0),fe.length>0&&(Yn(0,fe.length),fe.charCodeAt(0)==43)?(Yn(1,fe.length+1),fe.substr(1)):fe));case 46:return ku(n,!1);case 47:return Zr(e3(this,(Wi(),UAt),n));case 59:case 48:return C7n((Wi(),n));case 49:return Zr(e3(this,(Wi(),VAt),n));case 50:return n==null?null:LT(Oh((Ee=ku(n,!0),Ee.length>0&&(Yn(0,Ee.length),Ee.charCodeAt(0)==43)?(Yn(1,Ee.length+1),Ee.substr(1)):Ee),sK,32767)<<16>>16);case 51:return n==null?null:LT(Oh((f=ku(n,!0),f.length>0&&(Yn(0,f.length),f.charCodeAt(0)==43)?(Yn(1,f.length+1),f.substr(1)):f),sK,32767)<<16>>16);case 53:return Zr(e3(this,(Wi(),GAt),n));case 55:return n==null?null:LT(Oh((g=ku(n,!0),g.length>0&&(Yn(0,g.length),g.charCodeAt(0)==43)?(Yn(1,g.length+1),g.substr(1)):g),sK,32767)<<16>>16);case 56:return n==null?null:LT(Oh((w=ku(n,!0),w.length>0&&(Yn(0,w.length),w.charCodeAt(0)==43)?(Yn(1,w.length+1),w.substr(1)):w),sK,32767)<<16>>16);case 57:return n==null?null:lp(eG((T=ku(n,!0),T.length>0&&(Yn(0,T.length),T.charCodeAt(0)==43)?(Yn(1,T.length+1),T.substr(1)):T)));case 58:return n==null?null:lp(eG((C=ku(n,!0),C.length>0&&(Yn(0,C.length),C.charCodeAt(0)==43)?(Yn(1,C.length+1),C.substr(1)):C)));case 60:return n==null?null:bt(Oh((r=ku(n,!0),r.length>0&&(Yn(0,r.length),r.charCodeAt(0)==43)?(Yn(1,r.length+1),r.substr(1)):r),ao,Ni));case 61:return n==null?null:bt(Oh(ku(n,!0),ao,Ni));default:throw ue(new Wn(kE+t.xe()+c3))}};var WAt,lBe,YAt,hBe;I(na,"XMLTypeFactoryImpl",2028),D(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},Hat),h.N=!1,h.O=!1;var XAt=!1;I(na,"XMLTypePackageImpl",594),D(1961,1,{851:1},fk),h.Kk=function(){return jke(),sLt},I(na,"XMLTypePackageImpl/1",1961),D(1970,1,xi,HS),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/10",1970),D(1971,1,xi,Dre),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/11",1971),D(1972,1,xi,Ire),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/12",1972),D(1973,1,xi,b8),h.fk=function(t){return py(t)},h.gk=function(t){return We(ra,dt,345,t,7,1)},I(na,"XMLTypePackageImpl/13",1973),D(1974,1,xi,V$),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/14",1974),D(1975,1,xi,G$),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(bf,e4,15,t,0,1)},I(na,"XMLTypePackageImpl/15",1975),D(1976,1,xi,Ore),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(bf,e4,15,t,0,1)},I(na,"XMLTypePackageImpl/16",1976),D(1977,1,xi,K$),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/17",1977),D(1978,1,xi,W$),h.fk=function(t){return De(t,161)},h.gk=function(t){return We(LE,dt,161,t,0,1)},I(na,"XMLTypePackageImpl/18",1978),D(1979,1,xi,qI),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/19",1979),D(1962,1,xi,Pre),h.fk=function(t){return De(t,857)},h.gk=function(t){return We(kF,jn,857,t,0,1)},I(na,"XMLTypePackageImpl/2",1962),D(1980,1,xi,US),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/20",1980),D(1981,1,xi,Bre),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/21",1981),D(1982,1,xi,Fre),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/22",1982),D(1983,1,xi,Rre),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/23",1983),D(1984,1,xi,jre),h.fk=function(t){return De(t,195)},h.gk=function(t){return We(_l,dt,195,t,0,2)},I(na,"XMLTypePackageImpl/24",1984),D(1985,1,xi,$re),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/25",1985),D(1986,1,xi,Y$),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/26",1986),D(1987,1,xi,zre),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(bf,e4,15,t,0,1)},I(na,"XMLTypePackageImpl/27",1987),D(1988,1,xi,qre),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(bf,e4,15,t,0,1)},I(na,"XMLTypePackageImpl/28",1988),D(1989,1,xi,Hre),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/29",1989),D(1963,1,xi,X$),h.fk=function(t){return De(t,681)},h.gk=function(t){return We(PY,jn,2119,t,0,1)},I(na,"XMLTypePackageImpl/3",1963),D(1990,1,xi,Ure),h.fk=function(t){return De(t,17)},h.gk=function(t){return We(to,dt,17,t,0,1)},I(na,"XMLTypePackageImpl/30",1990),D(1991,1,xi,Vre),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/31",1991),D(1992,1,xi,VS),h.fk=function(t){return De(t,168)},h.gk=function(t){return We(l3,dt,168,t,0,1)},I(na,"XMLTypePackageImpl/32",1992),D(1993,1,xi,Gre),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/33",1993),D(1994,1,xi,Kre),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/34",1994),D(1995,1,xi,Wre),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/35",1995),D(1996,1,xi,Yre),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/36",1996),D(1997,1,xi,Xre),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(bf,e4,15,t,0,1)},I(na,"XMLTypePackageImpl/37",1997),D(1998,1,xi,Qre),h.fk=function(t){return De(t,15)},h.gk=function(t){return We(bf,e4,15,t,0,1)},I(na,"XMLTypePackageImpl/38",1998),D(1999,1,xi,Q$),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/39",1999),D(1964,1,xi,Jre),h.fk=function(t){return De(t,682)},h.gk=function(t){return We(TF,jn,2120,t,0,1)},I(na,"XMLTypePackageImpl/4",1964),D(2e3,1,xi,J$),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/40",2e3),D(2001,1,xi,Zre),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/41",2001),D(2002,1,xi,HI),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/42",2002),D(2003,1,xi,eie),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/43",2003),D(2004,1,xi,Z$),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/44",2004),D(2005,1,xi,tie),h.fk=function(t){return De(t,191)},h.gk=function(t){return We(h3,dt,191,t,0,1)},I(na,"XMLTypePackageImpl/45",2005),D(2006,1,xi,ez),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/46",2006),D(2007,1,xi,nie),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/47",2007),D(2008,1,xi,tz),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/48",2008),D(2009,1,xi,nz),h.fk=function(t){return De(t,191)},h.gk=function(t){return We(h3,dt,191,t,0,1)},I(na,"XMLTypePackageImpl/49",2009),D(1965,1,xi,rz),h.fk=function(t){return De(t,683)},h.gk=function(t){return We(cBe,jn,2121,t,0,1)},I(na,"XMLTypePackageImpl/5",1965),D(2010,1,xi,UI),h.fk=function(t){return De(t,168)},h.gk=function(t){return We(l3,dt,168,t,0,1)},I(na,"XMLTypePackageImpl/50",2010),D(2011,1,xi,x5),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/51",2011),D(2012,1,xi,GS),h.fk=function(t){return De(t,17)},h.gk=function(t){return We(to,dt,17,t,0,1)},I(na,"XMLTypePackageImpl/52",2012),D(1966,1,xi,S1),h.fk=function(t){return Da(t)},h.gk=function(t){return We($t,dt,2,t,6,1)},I(na,"XMLTypePackageImpl/6",1966),D(1967,1,xi,iz),h.fk=function(t){return De(t,195)},h.gk=function(t){return We(_l,dt,195,t,0,2)},I(na,"XMLTypePackageImpl/7",1967),D(1968,1,xi,dk),h.fk=function(t){return gy(t)},h.gk=function(t){return We(Ps,dt,485,t,8,1)},I(na,"XMLTypePackageImpl/8",1968),D(1969,1,xi,VI),h.fk=function(t){return De(t,222)},h.gk=function(t){return We($x,dt,222,t,0,1)},I(na,"XMLTypePackageImpl/9",1969);var nd,H2,KM,BY,ye;D(55,63,gp,ri),I(L2,"RegEx/ParseException",55),D(836,1,{},sz),h.bm=function(t){return t<this.j&&io(this.i,t)==63},h.cm=function(){var t,n,r,s,o;if(this.c!=10)throw ue(new ri(si((Jr(),QG))));switch(t=this.a,t){case 101:t=27;break;case 102:t=12;break;case 110:t=10;break;case 114:t=13;break;case 116:t=9;break;case 120:if(Mi(this),this.c!=0)throw ue(new ri(si((Jr(),A2))));if(this.a==123){o=0,r=0;do{if(Mi(this),this.c!=0)throw ue(new ri(si((Jr(),A2))));if((o=nv(this.a))<0)break;if(r>r*16)throw ue(new ri(si((Jr(),w5t))));r=r*16+o}while(!0);if(this.a!=125)throw ue(new ri(si((Jr(),y5t))));if(r>SE)throw ue(new ri(si((Jr(),x5t))));t=r}else{if(o=0,this.c!=0||(o=nv(this.a))<0)throw ue(new ri(si((Jr(),A2))));if(r=o,Mi(this),this.c!=0||(o=nv(this.a))<0)throw ue(new ri(si((Jr(),A2))));r=r*16+o,t=r}break;case 117:if(s=0,Mi(this),this.c!=0||(s=nv(this.a))<0)throw ue(new ri(si((Jr(),A2))));if(n=s,Mi(this),this.c!=0||(s=nv(this.a))<0)throw ue(new ri(si((Jr(),A2))));if(n=n*16+s,Mi(this),this.c!=0||(s=nv(this.a))<0)throw ue(new ri(si((Jr(),A2))));if(n=n*16+s,Mi(this),this.c!=0||(s=nv(this.a))<0)throw ue(new ri(si((Jr(),A2))));n=n*16+s,t=n;break;case 118:if(Mi(this),this.c!=0||(s=nv(this.a))<0)throw ue(new ri(si((Jr(),A2))));if(n=s,Mi(this),this.c!=0||(s=nv(this.a))<0)throw ue(new ri(si((Jr(),A2))));if(n=n*16+s,Mi(this),this.c!=0||(s=nv(this.a))<0)throw ue(new ri(si((Jr(),A2))));if(n=n*16+s,Mi(this),this.c!=0||(s=nv(this.a))<0)throw ue(new ri(si((Jr(),A2))));if(n=n*16+s,Mi(this),this.c!=0||(s=nv(this.a))<0)throw ue(new ri(si((Jr(),A2))));if(n=n*16+s,Mi(this),this.c!=0||(s=nv(this.a))<0)throw ue(new ri(si((Jr(),A2))));if(n=n*16+s,n>SE)throw ue(new ri(si((Jr(),"parser.descappe.4"))));t=n;break;case 65:case 90:case 122:throw ue(new ri(si((Jr(),k5t))))}return t},h.dm=function(t){var n,r;switch(t){case 100:r=(this.e&32)==32?Bb("Nd",!0):(Ii(),FY);break;case 68:r=(this.e&32)==32?Bb("Nd",!1):(Ii(),mBe);break;case 119:r=(this.e&32)==32?Bb("IsWord",!0):(Ii(),fC);break;case 87:r=(this.e&32)==32?Bb("IsWord",!1):(Ii(),wBe);break;case 115:r=(this.e&32)==32?Bb("IsSpace",!0):(Ii(),h9);break;case 83:r=(this.e&32)==32?Bb("IsSpace",!1):(Ii(),vBe);break;default:throw ue(new Ic((n=t,k6t+n.toString(16))))}return r},h.em=function(t){var n,r,s,o,f,g,w,T,C,L,F,z;for(this.b=1,Mi(this),n=null,this.c==0&&this.a==94?(Mi(this),t?L=(Ii(),Ii(),new _h(5)):(n=(Ii(),Ii(),new _h(4)),xu(n,0,SE),L=new _h(4))):L=(Ii(),Ii(),new _h(4)),o=!0;(z=this.c)!=1&&!(z==0&&this.a==93&&!o);){if(o=!1,r=this.a,s=!1,z==10)switch(r){case 100:case 68:case 119:case 87:case 115:case 83:Xy(L,this.dm(r)),s=!0;break;case 105:case 73:case 99:case 67:r=this.um(L,r),r<0&&(s=!0);break;case 112:case 80:if(F=F9e(this,r),!F)throw ue(new ri(si((Jr(),p0e))));Xy(L,F),s=!0;break;default:r=this.cm()}else if(z==20){if(g=Bk(this.i,58,this.d),g<0)throw ue(new ri(si((Jr(),$Se))));if(w=!0,io(this.i,this.d)==94&&(++this.d,w=!1),f=ef(this.i,this.d,g),T=Wlt(f,w,(this.e&512)==512),!T)throw ue(new ri(si((Jr(),g5t))));if(Xy(L,T),s=!0,g+1>=this.j||io(this.i,g+1)!=93)throw ue(new ri(si((Jr(),$Se))));this.d=g+2}if(Mi(this),!s)if(this.c!=0||this.a!=45)xu(L,r,r);else{if(Mi(this),(z=this.c)==1)throw ue(new ri(si((Jr(),JG))));z==0&&this.a==93?(xu(L,r,r),xu(L,45,45)):(C=this.a,z==10&&(C=this.cm()),Mi(this),xu(L,r,C))}(this.e&b0)==b0&&this.c==0&&this.a==44&&Mi(this)}if(this.c==1)throw ue(new ri(si((Jr(),JG))));return n&&(rL(n,L),L=n),l6(L),tL(L),this.b=0,Mi(this),L},h.fm=function(){var t,n,r,s;for(r=this.em(!1);(s=this.c)!=7;)if(t=this.a,s==0&&(t==45||t==38)||s==4){if(Mi(this),this.c!=9)throw ue(new ri(si((Jr(),b5t))));if(n=this.em(!1),s==4)Xy(r,n);else if(t==45)rL(r,n);else if(t==38)twt(r,n);else throw ue(new Ic("ASSERT"))}else throw ue(new ri(si((Jr(),m5t))));return Mi(this),r},h.gm=function(){var t,n;return t=this.a-48,n=(Ii(),Ii(),new koe(12,null,t)),!this.g&&(this.g=new Gz),Vz(this.g,new zwe(t)),Mi(this),n},h.hm=function(){return Mi(this),Ii(),ZAt},h.im=function(){return Mi(this),Ii(),JAt},h.jm=function(){throw ue(new ri(si((Jr(),pf))))},h.km=function(){throw ue(new ri(si((Jr(),pf))))},h.lm=function(){return Mi(this),Uyn()},h.mm=function(){return Mi(this),Ii(),tLt},h.nm=function(){return Mi(this),Ii(),rLt},h.om=function(){var t;if(this.d>=this.j||((t=io(this.i,this.d++))&65504)!=64)throw ue(new ri(si((Jr(),h5t))));return Mi(this),Ii(),Ii(),new sg(0,t-64)},h.pm=function(){return Mi(this),KAn()},h.qm=function(){return Mi(this),Ii(),iLt},h.rm=function(){var t;return t=(Ii(),Ii(),new sg(0,105)),Mi(this),t},h.sm=function(){return Mi(this),Ii(),nLt},h.tm=function(){return Mi(this),Ii(),eLt},h.um=function(t,n){return this.cm()},h.vm=function(){return Mi(this),Ii(),pBe},h.wm=function(){var t,n,r,s,o;if(this.d+1>=this.j)throw ue(new ri(si((Jr(),c5t))));if(s=-1,n=null,t=io(this.i,this.d),49<=t&&t<=57){if(s=t-48,!this.g&&(this.g=new Gz),Vz(this.g,new zwe(s)),++this.d,io(this.i,this.d)!=41)throw ue(new ri(si((Jr(),pv))));++this.d}else switch(t==63&&--this.d,Mi(this),n=lTe(this),n.e){case 20:case 21:case 22:case 23:break;case 8:if(this.c!=7)throw ue(new ri(si((Jr(),pv))));break;default:throw ue(new ri(si((Jr(),u5t))))}if(Mi(this),o=Gw(this),r=null,o.e==2){if(o.Pm()!=2)throw ue(new ri(si((Jr(),l5t))));r=o.Lm(1),o=o.Lm(0)}if(this.c!=7)throw ue(new ri(si((Jr(),pv))));return Mi(this),Ii(),Ii(),new Lht(s,n,o,r)},h.xm=function(){return Mi(this),Ii(),bBe},h.ym=function(){var t;if(Mi(this),t=TH(24,Gw(this)),this.c!=7)throw ue(new ri(si((Jr(),pv))));return Mi(this),t},h.zm=function(){var t;if(Mi(this),t=TH(20,Gw(this)),this.c!=7)throw ue(new ri(si((Jr(),pv))));return Mi(this),t},h.Am=function(){var t;if(Mi(this),t=TH(22,Gw(this)),this.c!=7)throw ue(new ri(si((Jr(),pv))));return Mi(this),t},h.Bm=function(){var t,n,r,s,o;for(t=0,r=0,n=-1;this.d<this.j&&(n=io(this.i,this.d),o=H9e(n),o!=0);)t|=o,++this.d;if(this.d>=this.j)throw ue(new ri(si((Jr(),RSe))));if(n==45){for(++this.d;this.d<this.j&&(n=io(this.i,this.d),o=H9e(n),o!=0);)r|=o,++this.d;if(this.d>=this.j)throw ue(new ri(si((Jr(),RSe))))}if(n==58){if(++this.d,Mi(this),s=Eat(Gw(this),t,r),this.c!=7)throw ue(new ri(si((Jr(),pv))));Mi(this)}else if(n==41)++this.d,Mi(this),s=Eat(Gw(this),t,r);else throw ue(new ri(si((Jr(),o5t))));return s},h.Cm=function(){var t;if(Mi(this),t=TH(21,Gw(this)),this.c!=7)throw ue(new ri(si((Jr(),pv))));return Mi(this),t},h.Dm=function(){var t;if(Mi(this),t=TH(23,Gw(this)),this.c!=7)throw ue(new ri(si((Jr(),pv))));return Mi(this),t},h.Em=function(){var t,n;if(Mi(this),t=this.f++,n=Xae(Gw(this),t),this.c!=7)throw ue(new ri(si((Jr(),pv))));return Mi(this),n},h.Fm=function(){var t;if(Mi(this),t=Xae(Gw(this),0),this.c!=7)throw ue(new ri(si((Jr(),pv))));return Mi(this),t},h.Gm=function(t){return Mi(this),this.c==5?(Mi(this),gH(t,(Ii(),Ii(),new _y(9,t)))):gH(t,(Ii(),Ii(),new _y(3,t)))},h.Hm=function(t){var n;return Mi(this),n=(Ii(),Ii(),new F_(2)),this.c==5?(Mi(this),sv(n,YM),sv(n,t)):(sv(n,t),sv(n,YM)),n},h.Im=function(t){return Mi(this),this.c==5?(Mi(this),Ii(),Ii(),new _y(9,t)):(Ii(),Ii(),new _y(3,t))},h.a=0,h.b=0,h.c=0,h.d=0,h.e=0,h.f=1,h.g=null,h.j=0,I(L2,"RegEx/RegexParser",836),D(1947,836,{},UJe),h.bm=function(t){return!1},h.cm=function(){return vke(this)},h.dm=function(t){return QT(t)},h.em=function(t){return Xwt(this)},h.fm=function(){throw ue(new ri(si((Jr(),pf))))},h.gm=function(){throw ue(new ri(si((Jr(),pf))))},h.hm=function(){throw ue(new ri(si((Jr(),pf))))},h.im=function(){throw ue(new ri(si((Jr(),pf))))},h.jm=function(){return Mi(this),QT(67)},h.km=function(){return Mi(this),QT(73)},h.lm=function(){throw ue(new ri(si((Jr(),pf))))},h.mm=function(){throw ue(new ri(si((Jr(),pf))))},h.nm=function(){throw ue(new ri(si((Jr(),pf))))},h.om=function(){return Mi(this),QT(99)},h.pm=function(){throw ue(new ri(si((Jr(),pf))))},h.qm=function(){throw ue(new ri(si((Jr(),pf))))},h.rm=function(){return Mi(this),QT(105)},h.sm=function(){throw ue(new ri(si((Jr(),pf))))},h.tm=function(){throw ue(new ri(si((Jr(),pf))))},h.um=function(t,n){return Xy(t,QT(n)),-1},h.vm=function(){return Mi(this),Ii(),Ii(),new sg(0,94)},h.wm=function(){throw ue(new ri(si((Jr(),pf))))},h.xm=function(){return Mi(this),Ii(),Ii(),new sg(0,36)},h.ym=function(){throw ue(new ri(si((Jr(),pf))))},h.zm=function(){throw ue(new ri(si((Jr(),pf))))},h.Am=function(){throw ue(new ri(si((Jr(),pf))))},h.Bm=function(){throw ue(new ri(si((Jr(),pf))))},h.Cm=function(){throw ue(new ri(si((Jr(),pf))))},h.Dm=function(){throw ue(new ri(si((Jr(),pf))))},h.Em=function(){var t;if(Mi(this),t=Xae(Gw(this),0),this.c!=7)throw ue(new ri(si((Jr(),pv))));return Mi(this),t},h.Fm=function(){throw ue(new ri(si((Jr(),pf))))},h.Gm=function(t){return Mi(this),gH(t,(Ii(),Ii(),new _y(3,t)))},h.Hm=function(t){var n;return Mi(this),n=(Ii(),Ii(),new F_(2)),sv(n,t),sv(n,YM),n},h.Im=function(t){return Mi(this),Ii(),Ii(),new _y(3,t)};var f7=null,lC=null;I(L2,"RegEx/ParserForXMLSchema",1947),D(122,1,_E,rw),h.Jm=function(t){throw ue(new Ic("Not supported."))},h.Km=function(){return-1},h.Lm=function(t){return null},h.Mm=function(){return null},h.Nm=function(t){},h.Om=function(t){},h.Pm=function(){return 0},h.Ib=function(){return this.Qm(0)},h.Qm=function(t){return this.e==11?".":""},h.e=0;var fBe,hC,WM,QAt,dBe,R4=null,FY,kpe=null,gBe,YM,Tpe=null,pBe,bBe,mBe,vBe,wBe,JAt,h9,ZAt,eLt,tLt,nLt,fC,rLt,iLt,rNn=I(L2,"RegEx/Token",122);D(138,122,{3:1,138:1,122:1},_h),h.Qm=function(t){var n,r,s;if(this.e==4)if(this==gBe)r=".";else if(this==FY)r="\\d";else if(this==fC)r="\\w";else if(this==h9)r="\\s";else{for(s=new e2,s.a+="[",n=0;n<this.b.length;n+=2)t&b0&&n>0&&(s.a+=","),this.b[n]===this.b[n+1]?Jo(s,kP(this.b[n])):(Jo(s,kP(this.b[n])),s.a+="-",Jo(s,kP(this.b[n+1])));s.a+="]",r=s.a}else if(this==mBe)r="\\D";else if(this==wBe)r="\\W";else if(this==vBe)r="\\S";else{for(s=new e2,s.a+="[^",n=0;n<this.b.length;n+=2)t&b0&&n>0&&(s.a+=","),this.b[n]===this.b[n+1]?Jo(s,kP(this.b[n])):(Jo(s,kP(this.b[n])),s.a+="-",Jo(s,kP(this.b[n+1])));s.a+="]",r=s.a}return r},h.a=!1,h.c=!1,I(L2,"RegEx/RangeToken",138),D(592,1,{592:1},zwe),h.a=0,I(L2,"RegEx/RegexParser/ReferencePosition",592),D(591,1,{3:1,591:1},set),h.Fb=function(t){var n;return t==null||!De(t,591)?!1:(n=l(t,591),wn(this.b,n.b)&&this.a==n.a)},h.Hb=function(){return g2(this.b+"/"+hke(this.a))},h.Ib=function(){return this.c.Qm(this.a)},h.a=0,I(L2,"RegEx/RegularExpression",591),D(228,122,_E,sg),h.Km=function(){return this.a},h.Qm=function(t){var n,r,s;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:s="\\"+Cae(this.a&ta);break;case 12:s="\\f";break;case 10:s="\\n";break;case 13:s="\\r";break;case 9:s="\\t";break;case 27:s="\\e";break;default:this.a>=Lo?(r=(n=this.a>>>0,"0"+n.toString(16)),s="\\v"+ef(r,r.length-6,r.length)):s=""+Cae(this.a&ta)}break;case 8:this==pBe||this==bBe?s=""+Cae(this.a&ta):s="\\"+Cae(this.a&ta);break;default:s=null}return s},h.a=0,I(L2,"RegEx/Token/CharToken",228),D(318,122,_E,_y),h.Lm=function(t){return this.a},h.Nm=function(t){this.b=t},h.Om=function(t){this.c=t},h.Pm=function(){return 1},h.Qm=function(t){var n;if(this.e==3)if(this.c<0&&this.b<0)n=this.a.Qm(t)+"*";else if(this.c==this.b)n=this.a.Qm(t)+"{"+this.c+"}";else if(this.c>=0&&this.b>=0)n=this.a.Qm(t)+"{"+this.c+","+this.b+"}";else if(this.c>=0&&this.b<0)n=this.a.Qm(t)+"{"+this.c+",}";else throw ue(new Ic("Token#toString(): CLOSURE "+this.c+To+this.b));else if(this.c<0&&this.b<0)n=this.a.Qm(t)+"*?";else if(this.c==this.b)n=this.a.Qm(t)+"{"+this.c+"}?";else if(this.c>=0&&this.b>=0)n=this.a.Qm(t)+"{"+this.c+","+this.b+"}?";else if(this.c>=0&&this.b<0)n=this.a.Qm(t)+"{"+this.c+",}?";else throw ue(new Ic("Token#toString(): NONGREEDYCLOSURE "+this.c+To+this.b));return n},h.b=0,h.c=0,I(L2,"RegEx/Token/ClosureToken",318),D(837,122,_E,M5e),h.Lm=function(t){return t==0?this.a:this.b},h.Pm=function(){return 2},h.Qm=function(t){var n;return this.b.e==3&&this.b.Lm(0)==this.a?n=this.a.Qm(t)+"+":this.b.e==9&&this.b.Lm(0)==this.a?n=this.a.Qm(t)+"+?":n=this.a.Qm(t)+(""+this.b.Qm(t)),n},I(L2,"RegEx/Token/ConcatToken",837),D(1945,122,_E,Lht),h.Lm=function(t){if(t==0)return this.d;if(t==1)return this.b;throw ue(new Ic("Internal Error: "+t))},h.Pm=function(){return this.b?2:1},h.Qm=function(t){var n;return this.c>0?n="(?("+this.c+")":this.a.e==8?n="(?("+this.a+")":n="(?"+this.a,this.b?n+=this.d+"|"+this.b+")":n+=this.d+")",n},h.c=0,I(L2,"RegEx/Token/ConditionToken",1945),D(1946,122,_E,wct),h.Lm=function(t){return this.b},h.Pm=function(){return 1},h.Qm=function(t){return"(?"+(this.a==0?"":hke(this.a))+(this.c==0?"":hke(this.c))+":"+this.b.Qm(t)+")"},h.a=0,h.c=0,I(L2,"RegEx/Token/ModifierToken",1946),D(838,122,_E,$5e),h.Lm=function(t){return this.a},h.Pm=function(){return 1},h.Qm=function(t){var n;switch(n=null,this.e){case 6:this.b==0?n="(?:"+this.a.Qm(t)+")":n="("+this.a.Qm(t)+")";break;case 20:n="(?="+this.a.Qm(t)+")";break;case 21:n="(?!"+this.a.Qm(t)+")";break;case 22:n="(?<="+this.a.Qm(t)+")";break;case 23:n="(?<!"+this.a.Qm(t)+")";break;case 24:n="(?>"+this.a.Qm(t)+")"}return n},h.b=0,I(L2,"RegEx/Token/ParenToken",838),D(530,122,{3:1,122:1,530:1},koe),h.Mm=function(){return this.b},h.Qm=function(t){return this.e==12?"\\"+this.a:jEn(this.b)},h.a=0,I(L2,"RegEx/Token/StringToken",530),D(477,122,_E,F_),h.Jm=function(t){sv(this,t)},h.Lm=function(t){return l(Aw(this.a,t),122)},h.Pm=function(){return this.a?this.a.a.c.length:0},h.Qm=function(t){var n,r,s,o,f;if(this.e==1){if(this.a.a.c.length==2)n=l(Aw(this.a,0),122),r=l(Aw(this.a,1),122),r.e==3&&r.Lm(0)==n?o=n.Qm(t)+"+":r.e==9&&r.Lm(0)==n?o=n.Qm(t)+"+?":o=n.Qm(t)+(""+r.Qm(t));else{for(f=new e2,s=0;s<this.a.a.c.length;s++)Jo(f,l(Aw(this.a,s),122).Qm(t));o=f.a}return o}if(this.a.a.c.length==2&&l(Aw(this.a,1),122).e==7)o=l(Aw(this.a,0),122).Qm(t)+"?";else if(this.a.a.c.length==2&&l(Aw(this.a,0),122).e==7)o=l(Aw(this.a,1),122).Qm(t)+"??";else{for(f=new e2,Jo(f,l(Aw(this.a,0),122).Qm(t)),s=1;s<this.a.a.c.length;s++)f.a+="|",Jo(f,l(Aw(this.a,s),122).Qm(t));o=f.a}return o},I(L2,"RegEx/Token/UnionToken",477),D(527,1,{600:1},aO),h.Ib=function(){return this.a.b},I(S6t,"XMLTypeUtil/PatternMatcherImpl",527),D(1707,1527,{},Mm);var sLt;I(S6t,"XMLTypeValidator",1707),D(270,1,gg,jm),h.Jc=function(t){Za(this,t)},h.Kc=function(){return(this.b-this.a)*this.c<0?lm:new mb(this)},h.a=0,h.b=0,h.c=0;var lm;I(s_e,"ExclusiveRange",270),D(1084,1,dg,az),h.Rb=function(t){l(t,17),yhn()},h.Nb=function(t){Qa(this,t)},h.Pb=function(){return cln()},h.Ub=function(){return uln()},h.Wb=function(t){l(t,17),khn()},h.Ob=function(){return!1},h.Sb=function(){return!1},h.Tb=function(){return-1},h.Vb=function(){return-1},h.Qb=function(){throw ue(new Jp(L6t))},I(s_e,"ExclusiveRange/1",1084),D(258,1,dg,mb),h.Rb=function(t){l(t,17),xhn()},h.Nb=function(t){Qa(this,t)},h.Pb=function(){return p4n(this)},h.Ub=function(){return rwn(this)},h.Wb=function(t){l(t,17),Thn()},h.Ob=function(){return this.c.c<0?this.a>=this.c.b:this.a<=this.c.b},h.Sb=function(){return this.b>0},h.Tb=function(){return this.b},h.Vb=function(){return this.b-1},h.Qb=function(){throw ue(new Jp(L6t))},h.a=0,h.b=0,I(s_e,"ExclusiveRange/RangeIterator",258);var xf=Wk(ZG,"C"),Ur=Wk(ML,"I"),th=Wk(Sx,"Z"),hm=Wk(DL,"J"),_l=Wk(_L,"B"),Oa=Wk(AL,"D"),j4=Wk(LL,"F"),d7=Wk(IL,"S"),iNn=Ts("org.eclipse.elk.core.labels","ILabelManager"),yBe=Ts(Eo,"DiagnosticChain"),xBe=Ts(r6t,"ResourceSet"),kBe=I(Eo,"InvocationTargetException",null),aLt=(Xz(),vvn),oLt=oLt=uxn;h3n(oun),o3n("permProps",[[["locale","default"],[M6t,"gecko1_8"]],[["locale","default"],[M6t,"safari"]]]),oLt(null,"elk",null)}).call(this)}).call(this,typeof Dg<"u"?Dg:typeof self<"u"?self:typeof window<"u"?window:{})},{}],3:[function(u,d,p){function v(A,P){if(!(A instanceof P))throw new TypeError("Cannot call a class as a function")}function b(A,P){if(!A)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return P&&(typeof P=="object"||typeof P=="function")?P:A}function y(A,P){if(typeof P!="function"&&P!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof P);A.prototype=Object.create(P&&P.prototype,{constructor:{value:A,enumerable:!1,writable:!0,configurable:!0}}),P&&(Object.setPrototypeOf?Object.setPrototypeOf(A,P):A.__proto__=P)}var E=u("./elk-api.js").default,_=function(A){y(P,A);function P(){var R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};v(this,P);var B=Object.assign({},R),j=!1;try{u.resolve("web-worker"),j=!0}catch{}if(R.workerUrl)if(j){var W=u("web-worker");B.workerFactory=function(oe){return new W(oe)}}else console.warn(`Web worker requested but 'web-worker' package not installed.
Consider installing the package or pass your own 'workerFactory' to ELK's constructor.
... Falling back to non-web worker version.`);if(!B.workerFactory){var ee=u("./elk-worker.min.js"),ie=ee.Worker;B.workerFactory=function(oe){return new ie(oe)}}return b(this,(P.__proto__||Object.getPrototypeOf(P)).call(this,B))}return P}(E);Object.defineProperty(d.exports,"__esModule",{value:!0}),d.exports=_,_.default=_},{"./elk-api.js":1,"./elk-worker.min.js":2,"web-worker":4}],4:[function(u,d,p){d.exports=Worker},{}]},{},[3])(3)})})(wWe);var Gan=wWe.exports;const Kan=dC(Gan),yWe=new Kan;let Xv={};const Wan={};let Y7={};const Yan=async function(i,a,u,d,p,v,b){const E=u.select(`[id="${a}"]`).insert("g").attr("class","nodes"),_=Object.keys(i);return await Promise.all(_.map(async function(A){const P=i[A];let R="default";P.classes.length>0&&(R=P.classes.join(" ")),R=R+" flowchart-label";const B=gm(P.styles);let j=P.text!==void 0?P.text:P.id;const W={width:0,height:0},ee=[{id:P.id+"-west",layoutOptions:{"port.side":"WEST"}},{id:P.id+"-east",layoutOptions:{"port.side":"EAST"}},{id:P.id+"-south",layoutOptions:{"port.side":"SOUTH"}},{id:P.id+"-north",layoutOptions:{"port.side":"NORTH"}}];let ie=0,oe="",be={};switch(P.type){case"round":ie=5,oe="rect";break;case"square":oe="rect";break;case"diamond":oe="question",be={portConstraints:"FIXED_SIDE"};break;case"hexagon":oe="hexagon";break;case"odd":oe="rect_left_inv_arrow";break;case"lean_right":oe="lean_right";break;case"lean_left":oe="lean_left";break;case"trapezoid":oe="trapezoid";break;case"inv_trapezoid":oe="inv_trapezoid";break;case"odd_right":oe="rect_left_inv_arrow";break;case"circle":oe="circle";break;case"ellipse":oe="ellipse";break;case"stadium":oe="stadium";break;case"subroutine":oe="subroutine";break;case"cylinder":oe="cylinder";break;case"group":oe="rect";break;case"doublecircle":oe="doublecircle";break;default:oe="rect"}const ge={labelStyle:B.labelStyle,shape:oe,labelText:j,labelType:P.labelType,rx:ie,ry:ie,class:R,style:B.style,id:P.id,link:P.link,linkTarget:P.linkTarget,tooltip:p.db.getTooltip(P.id)||"",domId:p.db.lookUpDomId(P.id),haveCallback:P.haveCallback,width:P.type==="group"?500:void 0,dir:P.dir,type:P.type,props:P.props,padding:mh().flowchart.padding};let ae,ne;if(ge.type!=="group")ne=await pJ(E,ge,P.dir),ae=ne.node().getBBox();else{d.createElementNS("http://www.w3.org/2000/svg","text");const{shapeSvg:de,bbox:X}=await g1(E,ge,void 0,!0);W.width=X.width,W.wrappingWidth=mh().flowchart.wrappingWidth,W.height=X.height,W.labelNode=de.node(),ge.labelData=W}const se={id:P.id,ports:P.type==="diamond"?ee:[],layoutOptions:be,labelText:j,labelData:W,domId:p.db.lookUpDomId(P.id),width:ae==null?void 0:ae.width,height:ae==null?void 0:ae.height,type:P.type,el:ne,parent:v.parentById[P.id]};Y7[ge.id]=se})),b},xWe=(i,a,u)=>{const d={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 d.TD=d.TB,d[u][a][i]},kWe=(i,a,u)=>{if(Xe.info("getNextPort",{node:i,edgeDirection:a,graphDirection:u}),!Xv[i])switch(u){case"TB":case"TD":Xv[i]={inPosition:"north",outPosition:"south"};break;case"BT":Xv[i]={inPosition:"south",outPosition:"north"};break;case"RL":Xv[i]={inPosition:"east",outPosition:"west"};break;case"LR":Xv[i]={inPosition:"west",outPosition:"east"};break}const d=a==="in"?Xv[i].inPosition:Xv[i].outPosition;return a==="in"?Xv[i].inPosition=xWe(Xv[i].inPosition,a,u):Xv[i].outPosition=xWe(Xv[i].outPosition,a,u),d},Xan=(i,a)=>{let u=i.start,d=i.end;const p=u,v=d,b=Y7[u],y=Y7[d];return!b||!y?{source:u,target:d}:(b.type==="diamond"&&(u=`${u}-${kWe(u,"out",a)}`),y.type==="diamond"&&(d=`${d}-${kWe(d,"in",a)}`),{source:u,target:d,sourceId:p,targetId:v})},Qan=function(i,a,u,d){Xe.info("abc78 edges = ",i);const p=d.insert("g").attr("class","edgeLabels");let v={},b=a.db.getDirection(),y,E;if(i.defaultStyle!==void 0){const _=gm(i.defaultStyle);y=_.style,E=_.labelStyle}return i.forEach(function(_){const A="L-"+_.start+"-"+_.end;v[A]===void 0?(v[A]=0,Xe.info("abc78 new entry",A,v[A])):(v[A]++,Xe.info("abc78 new entry",A,v[A]));let P=A+"-"+v[A];Xe.info("abc78 new link id to be used is",A,P,v[A]);const R="LS-"+_.start,B="LE-"+_.end,j={style:"",labelStyle:""};switch(j.minlen=_.length||1,_.type==="arrow_open"?j.arrowhead="none":j.arrowhead="normal",j.arrowTypeStart="arrow_open",j.arrowTypeEnd="arrow_open",_.type){case"double_arrow_cross":j.arrowTypeStart="arrow_cross";case"arrow_cross":j.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":j.arrowTypeStart="arrow_point";case"arrow_point":j.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":j.arrowTypeStart="arrow_circle";case"arrow_circle":j.arrowTypeEnd="arrow_circle";break}let W="",ee="";switch(_.stroke){case"normal":W="fill:none;",y!==void 0&&(W=y),E!==void 0&&(ee=E),j.thickness="normal",j.pattern="solid";break;case"dotted":j.thickness="normal",j.pattern="dotted",j.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":j.thickness="thick",j.pattern="solid",j.style="stroke-width: 3.5px;fill:none;";break}if(_.style!==void 0){const ne=gm(_.style);W=ne.style,ee=ne.labelStyle}j.style=j.style+=W,j.labelStyle=j.labelStyle+=ee,_.interpolate!==void 0?j.curve=qv(_.interpolate,Sp):i.defaultInterpolate!==void 0?j.curve=qv(i.defaultInterpolate,Sp):j.curve=qv(Wan.curve,Sp),_.text===void 0?_.style!==void 0&&(j.arrowheadStyle="fill: #333"):(j.arrowheadStyle="fill: #333",j.labelpos="c"),j.labelType=_.labelType,j.label=_.text.replace(oi.lineBreakRegex,`
`),_.style===void 0&&(j.style=j.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),j.labelStyle=j.labelStyle.replace("color:","fill:"),j.id=P,j.classes="flowchart-link "+R+" "+B;const ie=sve(p,j),{source:oe,target:be,sourceId:ge,targetId:ae}=Xan(_,b);Xe.debug("abc78 source and target",oe,be),u.edges.push({id:"e"+_.start+_.end,sources:[oe],targets:[be],sourceId:ge,targetId:ae,labelEl:ie,labels:[{width:j.width,height:j.height,orgWidth:j.width,orgHeight:j.height,text:j.label,layoutOptions:{"edgeLabels.inline":"true","edgeLabels.placement":"CENTER"}}],edgeData:j})}),u},Jan=function(i,a,u,d,p){let v="";d&&(v=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,v=v.replace(/\(/g,"\\("),v=v.replace(/\)/g,"\\)")),iGe(i,a,v,p,u)},Zan=function(i,a){return Xe.info("Extracting classes"),a.db.getClasses()},eon=function(i){const a={parentById:{},childrenById:{}},u=i.getSubGraphs();return Xe.info("Subgraphs - ",u),u.forEach(function(d){d.nodes.forEach(function(p){a.parentById[p]=d.id,a.childrenById[d.id]===void 0&&(a.childrenById[d.id]=[]),a.childrenById[d.id].push(p)})}),u.forEach(function(d){d.id,a.parentById[d.id]!==void 0&&a.parentById[d.id]}),a},ton=function(i,a,u){const d=Van(i,a,u);if(d===void 0||d==="root")return{x:0,y:0};const p=Y7[d].offset;return{x:p.posX,y:p.posY}},non=function(i,a,u,d,p,v){const b=ton(a.sourceId,a.targetId,p),y=a.sections[0].startPoint,E=a.sections[0].endPoint,A=(a.sections[0].bendPoints?a.sections[0].bendPoints:[]).map(be=>[be.x+b.x,be.y+b.y]),P=[[y.x+b.x,y.y+b.y],...A,[E.x+b.x,E.y+b.y]],{x:R,y:B}=rGe(a.edgeData),j=E7().x(R).y(B).curve(Sp),W=i.insert("path").attr("d",j(P)).attr("class","path "+u.classes).attr("fill","none"),ee=i.insert("g").attr("class","edgeLabel"),ie=Dr(ee.node().appendChild(a.labelEl)),oe=ie.node().firstChild.getBoundingClientRect();ie.attr("width",oe.width),ie.attr("height",oe.height),ee.attr("transform",`translate(${a.labels[0].x+b.x}, ${a.labels[0].y+b.y})`),Jan(W,u,d.type,d.arrowMarkerAbsolute,v)},TWe=(i,a)=>{i.forEach(u=>{u.children||(u.children=[]);const d=a.childrenById[u.id];d&&d.forEach(p=>{u.children.push(Y7[p])}),TWe(u.children,a)})},ron=async function(i,a,u,d){var se;d.db.clear(),Y7={},Xv={},d.db.setGen("gen-2"),d.parser.parse(i);const p=Dr("body").append("div").attr("style","height:400px").attr("id","cy");let v={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(Xe.info("Drawing flowchart using v3 renderer",yWe),d.db.getDirection()){case"BT":v.layoutOptions["elk.direction"]="UP";break;case"TB":v.layoutOptions["elk.direction"]="DOWN";break;case"LR":v.layoutOptions["elk.direction"]="RIGHT";break;case"RL":v.layoutOptions["elk.direction"]="LEFT";break}const{securityLevel:y,flowchart:E}=mh();let _;y==="sandbox"&&(_=Dr("#i"+a));const A=Dr(y==="sandbox"?_.nodes()[0].contentDocument.body:"body"),P=y==="sandbox"?_.nodes()[0].contentDocument:document,R=A.select(`[id="${a}"]`);Ume(R,["point","circle","cross"],d.type,a);const j=d.db.getVertices();let W;const ee=d.db.getSubGraphs();Xe.info("Subgraphs - ",ee);for(let de=ee.length-1;de>=0;de--)W=ee[de],d.db.addVertex(W.id,{text:W.title,type:W.labelType},"group",void 0,W.classes,W.dir);const ie=R.insert("g").attr("class","subgraphs"),oe=eon(d.db);v=await Yan(j,a,A,P,d,oe,v);const be=R.insert("g").attr("class","edges edgePath"),ge=d.db.getEdges();v=Qan(ge,d,v,R),Object.keys(Y7).forEach(de=>{const X=Y7[de];X.parent||v.children.push(X),oe.childrenById[de]!==void 0&&(X.labels=[{text:X.labelText,layoutOptions:{"nodeLabels.placement":"[H_CENTER, V_TOP, INSIDE]"},width:X.labelData.width,height:X.labelData.height}],delete X.x,delete X.y,delete X.width,delete X.height)}),TWe(v.children,oe),Xe.info("after layout",JSON.stringify(v,null,2));const ne=await yWe.layout(v);EWe(0,0,ne.children,R,ie,d,0),Xe.info("after layout",ne),(se=ne.edges)==null||se.map(de=>{non(be,de,de.edgeData,d,oe,a)}),x9({},R,E.diagramPadding,E.useMaxWidth),p.remove()},EWe=(i,a,u,d,p,v,b)=>{u.forEach(function(y){if(y)if(Y7[y.id].offset={posX:y.x+i,posY:y.y+a,x:i,y:a,depth:b,width:y.width,height:y.height},y.type==="group"){const E=p.insert("g").attr("class","subgraph");E.insert("rect").attr("class","subgraph subgraph-lvl-"+b%5+" node").attr("x",y.x+i).attr("y",y.y+a).attr("width",y.width).attr("height",y.height);const _=E.insert("g").attr("class","label"),A=mh().flowchart.htmlLabels?y.labelData.width/2:0;_.attr("transform",`translate(${y.labels[0].x+i+y.x+A}, ${y.labels[0].y+a+y.y+3})`),_.node().appendChild(y.labelData.labelNode),Xe.info("Id (UGH)= ",y.type,y.labels)}else Xe.info("Id (UGH)= ",y.id),y.el.attr("transform",`translate(${y.x+i+y.width/2}, ${y.y+a+y.height/2})`)}),u.forEach(function(y){y&&y.type==="group"&&EWe(i+y.x,a+y.y,y.children,d,p,v,b+1)})},ion={getClasses:Zan,draw:ron},son=i=>{let a="";for(let u=0;u<5;u++)a+=`
.subgraph-lvl-${u} {
fill: ${i[`surface${u}`]};
stroke: ${i[`surfacePeer${u}`]};
}
`;return a},aon=Object.freeze(Object.defineProperty({__proto__:null,diagram:{db:WVt,renderer:ion,parser:lme,styles:i=>`.label {
font-family: ${i.fontFamily};
color: ${i.nodeTextColor||i.textColor};
}
.cluster-label text {
fill: ${i.titleColor};
}
.cluster-label span {
color: ${i.titleColor};
}
.label text,span {
fill: ${i.nodeTextColor||i.textColor};
color: ${i.nodeTextColor||i.textColor};
}
.node rect,
.node circle,
.node ellipse,
.node polygon,
.node path {
fill: ${i.mainBkg};
stroke: ${i.nodeBorder};
stroke-width: 1px;
}
.node .label {
text-align: center;
}
.node.clickable {
cursor: pointer;
}
.arrowheadPath {
fill: ${i.arrowheadColor};
}
.edgePath .path {
stroke: ${i.lineColor};
stroke-width: 2.0px;
}
.flowchart-link {
stroke: ${i.lineColor};
fill: none;
}
.edgeLabel {
background-color: ${i.edgeLabelBackground};
rect {
opacity: 0.85;
background-color: ${i.edgeLabelBackground};
fill: ${i.edgeLabelBackground};
}
text-align: center;
}
.cluster rect {
fill: ${i.clusterBkg};
stroke: ${i.clusterBorder};
stroke-width: 1px;
}
.cluster text {
fill: ${i.titleColor};
}
.cluster span {
color: ${i.titleColor};
}
/* .cluster div {
color: ${i.titleColor};
} */
div.mermaidTooltip {
position: absolute;
text-align: center;
max-width: 200px;
padding: 2px;
font-family: ${i.fontFamily};
font-size: 12px;
background: ${i.tertiaryColor};
border: 1px solid ${i.border2};
border-radius: 2px;
pointer-events: none;
z-index: 100;
}
.flowchartTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${i.textColor};
}
.subgraph {
stroke-width:2;
rx:3;
}
// .subgraph-lvl-1 {
// fill:#ccc;
// // stroke:black;
// }
.flowchart-label text {
text-anchor: middle;
}
${son(i)}
`}},Symbol.toStringTag,{value:"Module"}));var pwe=function(){var i=function(R,B,j,W){for(j=j||{},W=R.length;W--;j[R[W]]=B);return j},a=[6,8,10,11,12,14,16,17,20,21],u=[1,9],d=[1,10],p=[1,11],v=[1,12],b=[1,13],y=[1,16],E=[1,17],_={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(B,j,W,ee,ie,oe,be){var ge=oe.length-1;switch(ie){case 1:return oe[ge-1];case 2:this.$=[];break;case 3:oe[ge-1].push(oe[ge]),this.$=oe[ge-1];break;case 4:case 5:this.$=oe[ge];break;case 6:case 7:this.$=[];break;case 8:ee.getCommonDb().setDiagramTitle(oe[ge].substr(6)),this.$=oe[ge].substr(6);break;case 9:this.$=oe[ge].trim(),ee.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=oe[ge].trim(),ee.getCommonDb().setAccDescription(this.$);break;case 12:ee.addSection(oe[ge].substr(8)),this.$=oe[ge].substr(8);break;case 15:ee.addTask(oe[ge],0,""),this.$=oe[ge];break;case 16:ee.addEvent(oe[ge].substr(2)),this.$=oe[ge];break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:u,12:d,14:p,16:v,17:b,18:14,19:15,20:y,21:E},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:18,11:u,12:d,14:p,16:v,17:b,18:14,19:15,20:y,21:E},i(a,[2,5]),i(a,[2,6]),i(a,[2,8]),{13:[1,19]},{15:[1,20]},i(a,[2,11]),i(a,[2,12]),i(a,[2,13]),i(a,[2,14]),i(a,[2,15]),i(a,[2,16]),i(a,[2,4]),i(a,[2,9]),i(a,[2,10])],defaultActions:{},parseError:function(B,j){if(j.recoverable)this.trace(B);else{var W=new Error(B);throw W.hash=j,W}},parse:function(B){var j=this,W=[0],ee=[],ie=[null],oe=[],be=this.table,ge="",ae=0,ne=0,se=2,de=1,X=oe.slice.call(arguments,1),pe=Object.create(this.lexer),G={yy:{}};for(var xe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,xe)&&(G.yy[xe]=this.yy[xe]);pe.setInput(B,G.yy),G.yy.lexer=pe,G.yy.parser=this,typeof pe.yylloc>"u"&&(pe.yylloc={});var U=pe.yylloc;oe.push(U);var Be=pe.options&&pe.options.ranges;typeof G.yy.parseError=="function"?this.parseError=G.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Pe(){var Et;return Et=ee.pop()||pe.lex()||de,typeof Et!="number"&&(Et instanceof Array&&(ee=Et,Et=ee.pop()),Et=j.symbols_[Et]||Et),Et}for(var je,Ie,Se,Ce,ke={},Ke,zt,Ne,pn;;){if(Ie=W[W.length-1],this.defaultActions[Ie]?Se=this.defaultActions[Ie]:((je===null||typeof je>"u")&&(je=Pe()),Se=be[Ie]&&be[Ie][je]),typeof Se>"u"||!Se.length||!Se[0]){var Tt="";pn=[];for(Ke in be[Ie])this.terminals_[Ke]&&Ke>se&&pn.push("'"+this.terminals_[Ke]+"'");pe.showPosition?Tt="Parse error on line "+(ae+1)+`:
`+pe.showPosition()+`
Expecting `+pn.join(", ")+", got '"+(this.terminals_[je]||je)+"'":Tt="Parse error on line "+(ae+1)+": Unexpected "+(je==de?"end of input":"'"+(this.terminals_[je]||je)+"'"),this.parseError(Tt,{text:pe.match,token:this.terminals_[je]||je,line:pe.yylineno,loc:U,expected:pn})}if(Se[0]instanceof Array&&Se.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ie+", token: "+je);switch(Se[0]){case 1:W.push(je),ie.push(pe.yytext),oe.push(pe.yylloc),W.push(Se[1]),je=null,ne=pe.yyleng,ge=pe.yytext,ae=pe.yylineno,U=pe.yylloc;break;case 2:if(zt=this.productions_[Se[1]][1],ke.$=ie[ie.length-zt],ke._$={first_line:oe[oe.length-(zt||1)].first_line,last_line:oe[oe.length-1].last_line,first_column:oe[oe.length-(zt||1)].first_column,last_column:oe[oe.length-1].last_column},Be&&(ke._$.range=[oe[oe.length-(zt||1)].range[0],oe[oe.length-1].range[1]]),Ce=this.performAction.apply(ke,[ge,ne,ae,G.yy,Se[1],ie,oe].concat(X)),typeof Ce<"u")return Ce;zt&&(W=W.slice(0,-1*zt*2),ie=ie.slice(0,-1*zt),oe=oe.slice(0,-1*zt)),W.push(this.productions_[Se[1]][0]),ie.push(ke.$),oe.push(ke._$),Ne=be[W[W.length-2]][W[W.length-1]],W.push(Ne);break;case 3:return!0}}return!0}},A=function(){var R={EOF:1,parseError:function(j,W){if(this.yy.parser)this.yy.parser.parseError(j,W);else throw new Error(j)},setInput:function(B,j){return this.yy=j||this.yy||{},this._input=B,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 B=this._input[0];this.yytext+=B,this.yyleng++,this.offset++,this.match+=B,this.matched+=B;var j=B.match(/(?:\r\n?|\n).*/g);return j?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),B},unput:function(B){var j=B.length,W=B.split(/(?:\r\n?|\n)/g);this._input=B+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-j),this.offset-=j;var ee=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),W.length-1&&(this.yylineno-=W.length-1);var ie=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:W?(W.length===ee.length?this.yylloc.first_column:0)+ee[ee.length-W.length].length-W[0].length:this.yylloc.first_column-j},this.options.ranges&&(this.yylloc.range=[ie[0],ie[0]+this.yyleng-j]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return 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).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(B){this.unput(this.match.slice(B))},pastInput:function(){var B=this.matched.substr(0,this.matched.length-this.match.length);return(B.length>20?"...":"")+B.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var B=this.match;return B.length<20&&(B+=this._input.substr(0,20-B.length)),(B.substr(0,20)+(B.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var B=this.pastInput(),j=new Array(B.length+1).join("-");return B+this.upcomingInput()+`
`+j+"^"},test_match:function(B,j){var W,ee,ie;if(this.options.backtrack_lexer&&(ie={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&&(ie.yylloc.range=this.yylloc.range.slice(0))),ee=B[0].match(/(?:\r\n?|\n).*/g),ee&&(this.yylineno+=ee.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ee?ee[ee.length-1].length-ee[ee.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+B[0].length},this.yytext+=B[0],this.match+=B[0],this.matches=B,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(B[0].length),this.matched+=B[0],W=this.performAction.call(this,this.yy,this,j,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),W)return W;if(this._backtrack){for(var oe in ie)this[oe]=ie[oe];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var B,j,W,ee;this._more||(this.yytext="",this.match="");for(var ie=this._currentRules(),oe=0;oe<ie.length;oe++)if(W=this._input.match(this.rules[ie[oe]]),W&&(!j||W[0].length>j[0].length)){if(j=W,ee=oe,this.options.backtrack_lexer){if(B=this.test_match(W,ie[oe]),B!==!1)return B;if(this._backtrack){j=!1;continue}else return!1}else if(!this.options.flex)break}return j?(B=this.test_match(j,ie[ee]),B!==!1?B:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var j=this.next();return j||this.lex()},begin:function(j){this.conditionStack.push(j)},popState:function(){var j=this.conditionStack.length-1;return j>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(j){return j=this.conditionStack.length-1-Math.abs(j||0),j>=0?this.conditionStack[j]:"INITIAL"},pushState:function(j){this.begin(j)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(j,W,ee,ie){switch(ee){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;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}}};return R}();_.lexer=A;function P(){this.yy={}}return P.prototype=_,_.Parser=P,new P}();pwe.parser=pwe;const oon=pwe;let oI="",CWe=0;const bwe=[],GJ=[],cI=[],SWe=()=>T$e,_We=function(){bwe.length=0,GJ.length=0,oI="",cI.length=0,Rg()},AWe=function(i){oI=i,bwe.push(i)},LWe=function(){return bwe},MWe=function(){let i=NWe();const a=100;let u=0;for(;!i&&u<a;)i=NWe(),u++;return GJ.push(...cI),GJ},DWe=function(i,a,u){const d={id:CWe++,section:oI,type:oI,task:i,score:a||0,events:u?[u]:[]};cI.push(d)},IWe=function(i){cI.find(u=>u.id===CWe-1).events.push(i)},OWe=function(i){const a={section:oI,type:oI,description:i,task:i,classes:[]};GJ.push(a)},NWe=function(){const i=function(u){return cI[u].processed};let a=!0;for(const[u,d]of cI.entries())i(u),a=a&&d.processed;return a},con=Object.freeze(Object.defineProperty({__proto__:null,addEvent:IWe,addSection:AWe,addTask:DWe,addTaskOrg:OWe,clear:_We,default:{clear:_We,getCommonDb:SWe,addSection:AWe,getSections:LWe,getTasks:MWe,addTask:DWe,addTaskOrg:OWe,addEvent:IWe},getCommonDb:SWe,getSections:LWe,getTasks:MWe},Symbol.toStringTag,{value:"Module"})),uon=12,KJ=function(i,a){const u=i.append("rect");return u.attr("x",a.x),u.attr("y",a.y),u.attr("fill",a.fill),u.attr("stroke",a.stroke),u.attr("width",a.width),u.attr("height",a.height),u.attr("rx",a.rx),u.attr("ry",a.ry),a.class!==void 0&&u.attr("class",a.class),u},lon=function(i,a){const d=i.append("circle").attr("cx",a.cx).attr("cy",a.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),p=i.append("g");p.append("circle").attr("cx",a.cx-15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),p.append("circle").attr("cx",a.cx+15/3).attr("cy",a.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function v(E){const _=hD().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);E.append("path").attr("class","mouth").attr("d",_).attr("transform","translate("+a.cx+","+(a.cy+2)+")")}function b(E){const _=hD().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);E.append("path").attr("class","mouth").attr("d",_).attr("transform","translate("+a.cx+","+(a.cy+7)+")")}function y(E){E.append("line").attr("class","mouth").attr("stroke",2).attr("x1",a.cx-5).attr("y1",a.cy+7).attr("x2",a.cx+5).attr("y2",a.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return a.score>3?v(p):a.score<3?b(p):y(p),d},hon=function(i,a){const u=i.append("circle");return u.attr("cx",a.cx),u.attr("cy",a.cy),u.attr("class","actor-"+a.pos),u.attr("fill",a.fill),u.attr("stroke",a.stroke),u.attr("r",a.r),u.class!==void 0&&u.attr("class",u.class),a.title!==void 0&&u.append("title").text(a.title),u},PWe=function(i,a){const u=a.text.replace(/<br\s*\/?>/gi," "),d=i.append("text");d.attr("x",a.x),d.attr("y",a.y),d.attr("class","legend"),d.style("text-anchor",a.anchor),a.class!==void 0&&d.attr("class",a.class);const p=d.append("tspan");return p.attr("x",a.x+a.textMargin*2),p.text(u),d},fon=function(i,a){function u(p,v,b,y,E){return p+","+v+" "+(p+b)+","+v+" "+(p+b)+","+(v+y-E)+" "+(p+b-E*1.2)+","+(v+y)+" "+p+","+(v+y)}const d=i.append("polygon");d.attr("points",u(a.x,a.y,50,20,7)),d.attr("class","labelBox"),a.y=a.y+a.labelMargin,a.x=a.x+.5*a.labelMargin,PWe(i,a)},don=function(i,a,u){const d=i.append("g"),p=mwe();p.x=a.x,p.y=a.y,p.fill=a.fill,p.width=u.width,p.height=u.height,p.class="journey-section section-type-"+a.num,p.rx=3,p.ry=3,KJ(d,p),FWe(u)(a.text,d,p.x,p.y,p.width,p.height,{class:"journey-section section-type-"+a.num},u,a.colour)};let BWe=-1;const gon=function(i,a,u){const d=a.x+u.width/2,p=i.append("g");BWe++;const v=300+5*30;p.append("line").attr("id","task"+BWe).attr("x1",d).attr("y1",a.y).attr("x2",d).attr("y2",v).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),lon(p,{cx:d,cy:300+(5-a.score)*30,score:a.score});const b=mwe();b.x=a.x,b.y=a.y,b.fill=a.fill,b.width=u.width,b.height=u.height,b.class="task task-type-"+a.num,b.rx=3,b.ry=3,KJ(p,b),a.x+14,FWe(u)(a.task,p,b.x,b.y,b.width,b.height,{class:"task"},u,a.colour)},pon=function(i,a){KJ(i,{x:a.startx,y:a.starty,width:a.stopx-a.startx,height:a.stopy-a.starty,fill:a.fill,class:"rect"}).lower()},bon=function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},mwe=function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},FWe=function(){function i(p,v,b,y,E,_,A,P){const R=v.append("text").attr("x",b+E/2).attr("y",y+_/2+5).style("font-color",P).style("text-anchor","middle").text(p);d(R,A)}function a(p,v,b,y,E,_,A,P,R){const{taskFontSize:B,taskFontFamily:j}=P,W=p.split(/<br\s*\/?>/gi);for(let ee=0;ee<W.length;ee++){const ie=ee*B-B*(W.length-1)/2,oe=v.append("text").attr("x",b+E/2).attr("y",y).attr("fill",R).style("text-anchor","middle").style("font-size",B).style("font-family",j);oe.append("tspan").attr("x",b+E/2).attr("dy",ie).text(W[ee]),oe.attr("y",y+_/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),d(oe,A)}}function u(p,v,b,y,E,_,A,P){const R=v.append("switch"),j=R.append("foreignObject").attr("x",b).attr("y",y).attr("width",E).attr("height",_).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");j.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(p),a(p,R,b,y,E,_,A,P),d(j,A)}function d(p,v){for(const b in v)b in v&&p.attr(b,v[b])}return function(p){return p.textPlacement==="fo"?u:p.textPlacement==="old"?i:a}}(),mon=function(i){i.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")};function RWe(i,a){i.each(function(){var u=Dr(this),d=u.text().split(/(\s+|<br>)/).reverse(),p,v=[],b=1.1,y=u.attr("y"),E=parseFloat(u.attr("dy")),_=u.text(null).append("tspan").attr("x",0).attr("y",y).attr("dy",E+"em");for(let A=0;A<d.length;A++)p=d[d.length-1-A],v.push(p),_.text(v.join(" ").trim()),(_.node().getComputedTextLength()>a||p==="<br>")&&(v.pop(),_.text(v.join(" ").trim()),p==="<br>"?v=[""]:v=[p],_=u.append("tspan").attr("x",0).attr("y",y).attr("dy",b+"em").text(p))})}const von=function(i,a,u,d){const p=u%uon-1,v=i.append("g");a.section=p,v.attr("class",(a.class?a.class+" ":"")+"timeline-node "+("section-"+p));const b=v.append("g"),y=v.append("g"),_=y.append("text").text(a.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(RWe,a.width).node().getBBox(),A=d.fontSize&&d.fontSize.replace?d.fontSize.replace("px",""):d.fontSize;return a.height=_.height+A*1.1*.5+a.padding,a.height=Math.max(a.height,a.maxHeight),a.width=a.width+2*a.padding,y.attr("transform","translate("+a.width/2+", "+a.padding/2+")"),yon(b,a,p),a},won=function(i,a,u){const d=i.append("g"),v=d.append("text").text(a.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(RWe,a.width).node().getBBox(),b=u.fontSize&&u.fontSize.replace?u.fontSize.replace("px",""):u.fontSize;return d.remove(),v.height+b*1.1*.5+a.padding},yon=function(i,a,u){i.append("path").attr("id","node-"+a.id).attr("class","node-bkg node-"+a.type).attr("d",`M0 ${a.height-5} v${-a.height+2*5} q0,-5 5,-5 h${a.width-2*5} q5,0 5,5 v${a.height-5} H0 Z`),i.append("line").attr("class","node-line-"+u).attr("x1",0).attr("y1",a.height).attr("x2",a.width).attr("y2",a.height)},aS={drawRect:KJ,drawCircle:hon,drawSection:don,drawText:PWe,drawLabel:fon,drawTask:gon,drawBackgroundRect:pon,getTextObj:bon,getNoteRect:mwe,initGraphics:mon,drawNode:von,getVirtualNodeHeight:won},xon=function(i,a,u,d){var X,pe;const p=qt(),v=p.leftMargin??50;Xe.debug("timeline",d.db);const b=p.securityLevel;let y;b==="sandbox"&&(y=Dr("#i"+a));const _=Dr(b==="sandbox"?y.nodes()[0].contentDocument.body:"body").select("#"+a);_.append("g");const A=d.db.getTasks(),P=d.db.getCommonDb().getDiagramTitle();Xe.debug("task",A),aS.initGraphics(_);const R=d.db.getSections();Xe.debug("sections",R);let B=0,j=0,W=0,ee=0,ie=50+v,oe=50;ee=50;let be=0,ge=!0;R.forEach(function(G){const xe={number:be,descr:G,section:be,width:150,padding:20,maxHeight:B},U=aS.getVirtualNodeHeight(_,xe,p);Xe.debug("sectionHeight before draw",U),B=Math.max(B,U+20)});let ae=0,ne=0;Xe.debug("tasks.length",A.length);for(const[G,xe]of A.entries()){const U={number:G,descr:xe,section:xe.section,width:150,padding:20,maxHeight:j},Be=aS.getVirtualNodeHeight(_,U,p);Xe.debug("taskHeight before draw",Be),j=Math.max(j,Be+20),ae=Math.max(ae,xe.events.length);let Pe=0;for(let je=0;je<xe.events.length;je++){const Se={descr:xe.events[je],section:xe.section,number:xe.section,width:150,padding:20,maxHeight:50};Pe+=aS.getVirtualNodeHeight(_,Se,p)}ne=Math.max(ne,Pe)}Xe.debug("maxSectionHeight before draw",B),Xe.debug("maxTaskHeight before draw",j),R&&R.length>0?R.forEach(G=>{const xe=A.filter(je=>je.section===G),U={number:be,descr:G,section:be,width:200*Math.max(xe.length,1)-50,padding:20,maxHeight:B};Xe.debug("sectionNode",U);const Be=_.append("g"),Pe=aS.drawNode(Be,U,be,p);Xe.debug("sectionNode output",Pe),Be.attr("transform",`translate(${ie}, ${ee})`),oe+=B+50,xe.length>0&&jWe(_,xe,be,ie,oe,j,p,ae,ne,B,!1),ie+=200*Math.max(xe.length,1),oe=ee,be++}):(ge=!1,jWe(_,A,be,ie,oe,j,p,ae,ne,B,!0));const se=_.node().getBBox();Xe.debug("bounds",se),P&&_.append("text").text(P).attr("x",se.width/2-v).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),W=ge?B+j+150:j+100,_.append("g").attr("class","lineWrapper").append("line").attr("x1",v).attr("y1",W).attr("x2",se.width+3*v).attr("y2",W).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),x9(void 0,_,((X=p.timeline)==null?void 0:X.padding)??50,((pe=p.timeline)==null?void 0:pe.useMaxWidth)??!1)},jWe=function(i,a,u,d,p,v,b,y,E,_,A){var P;for(const R of a){const B={descr:R.task,section:u,number:u,width:150,padding:20,maxHeight:v};Xe.debug("taskNode",B);const j=i.append("g").attr("class","taskWrapper"),ee=aS.drawNode(j,B,u,b).height;if(Xe.debug("taskHeight after draw",ee),j.attr("transform",`translate(${d}, ${p})`),v=Math.max(v,ee),R.events){const ie=i.append("g").attr("class","lineWrapper");let oe=v;p+=100,oe=oe+kon(i,R.events,u,d,p,b),p-=100,ie.append("line").attr("x1",d+190/2).attr("y1",p+v).attr("x2",d+190/2).attr("y2",p+v+(A?v:_)+E+120).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}d=d+200,A&&!((P=b.timeline)!=null&&P.disableMulticolor)&&u++}p=p-10},kon=function(i,a,u,d,p,v){let b=0;const y=p;p=p+100;for(const E of a){const _={descr:E,section:u,number:u,width:150,padding:20,maxHeight:50};Xe.debug("eventNode",_);const A=i.append("g").attr("class","eventWrapper"),R=aS.drawNode(A,_,u,v).height;b=b+R,A.attr("transform",`translate(${d}, ${p})`),p=p+10+R}return p=y,b},Ton={setConf:()=>{},draw:xon},Eon=i=>{let a="";for(let u=0;u<i.THEME_COLOR_LIMIT;u++)i["lineColor"+u]=i["lineColor"+u]||i["cScaleInv"+u],AC(i["lineColor"+u])?i["lineColor"+u]=Ws(i["lineColor"+u],20):i["lineColor"+u]=ba(i["lineColor"+u],20);for(let u=0;u<i.THEME_COLOR_LIMIT;u++){const d=""+(17-3*u);a+=`
.section-${u-1} rect, .section-${u-1} path, .section-${u-1} circle, .section-${u-1} path {
fill: ${i["cScale"+u]};
}
.section-${u-1} text {
fill: ${i["cScaleLabel"+u]};
}
.node-icon-${u-1} {
font-size: 40px;
color: ${i["cScaleLabel"+u]};
}
.section-edge-${u-1}{
stroke: ${i["cScale"+u]};
}
.edge-depth-${u-1}{
stroke-width: ${d};
}
.section-${u-1} line {
stroke: ${i["cScaleInv"+u]} ;
stroke-width: 3;
}
.lineWrapper line{
stroke: ${i["cScaleLabel"+u]} ;
}
.disabled, .disabled circle, .disabled text {
fill: lightgray;
}
.disabled text {
fill: #efefef;
}
`}return a},Con=Object.freeze(Object.defineProperty({__proto__:null,diagram:{db:con,renderer:Ton,parser:oon,styles:i=>`
.edge {
stroke-width: 3;
}
${Eon(i)}
.section-root rect, .section-root path, .section-root circle {
fill: ${i.git0};
}
.section-root text {
fill: ${i.gitBranchLabel0};
}
.icon-container {
height:100%;
display: flex;
justify-content: center;
align-items: center;
}
.edge {
fill: none;
}
.eventWrapper {
filter: brightness(120%);
}
`}},Symbol.toStringTag,{value:"Module"}));var vwe=function(){var i=function(ge,ae,ne,se){for(ne=ne||{},se=ge.length;se--;ne[ge[se]]=ae);return ne},a=[1,4],u=[1,13],d=[1,12],p=[1,15],v=[1,16],b=[1,20],y=[1,19],E=[6,7,8],_=[1,26],A=[1,24],P=[1,25],R=[6,7,11],B=[1,6,13,15,16,19,22],j=[1,33],W=[1,34],ee=[1,6,7,11,13,15,16,19,22],ie={trace:function(){},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:function(ae,ne,se,de,X,pe,G){var xe=pe.length-1;switch(X){case 6:case 7:return de;case 8:de.getLogger().trace("Stop NL ");break;case 9:de.getLogger().trace("Stop EOF ");break;case 11:de.getLogger().trace("Stop NL2 ");break;case 12:de.getLogger().trace("Stop EOF2 ");break;case 15:de.getLogger().info("Node: ",pe[xe].id),de.addNode(pe[xe-1].length,pe[xe].id,pe[xe].descr,pe[xe].type);break;case 16:de.getLogger().trace("Icon: ",pe[xe]),de.decorateNode({icon:pe[xe]});break;case 17:case 21:de.decorateNode({class:pe[xe]});break;case 18:de.getLogger().trace("SPACELIST");break;case 19:de.getLogger().trace("Node: ",pe[xe].id),de.addNode(0,pe[xe].id,pe[xe].descr,pe[xe].type);break;case 20:de.decorateNode({icon:pe[xe]});break;case 25:de.getLogger().trace("node found ..",pe[xe-2]),this.$={id:pe[xe-1],descr:pe[xe-1],type:de.getType(pe[xe-2],pe[xe])};break;case 26:this.$={id:pe[xe],descr:pe[xe],type:de.nodeType.DEFAULT};break;case 27:de.getLogger().trace("node found ..",pe[xe-3]),this.$={id:pe[xe-3],descr:pe[xe-1],type:de.getType(pe[xe-2],pe[xe])};break}},table:[{3:1,4:2,5:3,6:[1,5],8:a},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:a},{6:u,7:[1,10],9:9,12:11,13:d,14:14,15:p,16:v,17:17,18:18,19:b,22:y},i(E,[2,3]),{1:[2,2]},i(E,[2,4]),i(E,[2,5]),{1:[2,6],6:u,12:21,13:d,14:14,15:p,16:v,17:17,18:18,19:b,22:y},{6:u,9:22,12:11,13:d,14:14,15:p,16:v,17:17,18:18,19:b,22:y},{6:_,7:A,10:23,11:P},i(R,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:b,22:y}),i(R,[2,18]),i(R,[2,19]),i(R,[2,20]),i(R,[2,21]),i(R,[2,23]),i(R,[2,24]),i(R,[2,26],{19:[1,30]}),{20:[1,31]},{6:_,7:A,10:32,11:P},{1:[2,7],6:u,12:21,13:d,14:14,15:p,16:v,17:17,18:18,19:b,22:y},i(B,[2,14],{7:j,11:W}),i(ee,[2,8]),i(ee,[2,9]),i(ee,[2,10]),i(R,[2,15]),i(R,[2,16]),i(R,[2,17]),{20:[1,35]},{21:[1,36]},i(B,[2,13],{7:j,11:W}),i(ee,[2,11]),i(ee,[2,12]),{21:[1,37]},i(R,[2,25]),i(R,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:function(ae,ne){if(ne.recoverable)this.trace(ae);else{var se=new Error(ae);throw se.hash=ne,se}},parse:function(ae){var ne=this,se=[0],de=[],X=[null],pe=[],G=this.table,xe="",U=0,Be=0,Pe=2,je=1,Ie=pe.slice.call(arguments,1),Se=Object.create(this.lexer),Ce={yy:{}};for(var ke in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ke)&&(Ce.yy[ke]=this.yy[ke]);Se.setInput(ae,Ce.yy),Ce.yy.lexer=Se,Ce.yy.parser=this,typeof Se.yylloc>"u"&&(Se.yylloc={});var Ke=Se.yylloc;pe.push(Ke);var zt=Se.options&&Se.options.ranges;typeof Ce.yy.parseError=="function"?this.parseError=Ce.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ne(){var Nn;return Nn=de.pop()||Se.lex()||je,typeof Nn!="number"&&(Nn instanceof Array&&(de=Nn,Nn=de.pop()),Nn=ne.symbols_[Nn]||Nn),Nn}for(var pn,Tt,Et,Wt,un={},yt,Bt,Ze,Dt;;){if(Tt=se[se.length-1],this.defaultActions[Tt]?Et=this.defaultActions[Tt]:((pn===null||typeof pn>"u")&&(pn=Ne()),Et=G[Tt]&&G[Tt][pn]),typeof Et>"u"||!Et.length||!Et[0]){var kt="";Dt=[];for(yt in G[Tt])this.terminals_[yt]&&yt>Pe&&Dt.push("'"+this.terminals_[yt]+"'");Se.showPosition?kt="Parse error on line "+(U+1)+`:
`+Se.showPosition()+`
Expecting `+Dt.join(", ")+", got '"+(this.terminals_[pn]||pn)+"'":kt="Parse error on line "+(U+1)+": Unexpected "+(pn==je?"end of input":"'"+(this.terminals_[pn]||pn)+"'"),this.parseError(kt,{text:Se.match,token:this.terminals_[pn]||pn,line:Se.yylineno,loc:Ke,expected:Dt})}if(Et[0]instanceof Array&&Et.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Tt+", token: "+pn);switch(Et[0]){case 1:se.push(pn),X.push(Se.yytext),pe.push(Se.yylloc),se.push(Et[1]),pn=null,Be=Se.yyleng,xe=Se.yytext,U=Se.yylineno,Ke=Se.yylloc;break;case 2:if(Bt=this.productions_[Et[1]][1],un.$=X[X.length-Bt],un._$={first_line:pe[pe.length-(Bt||1)].first_line,last_line:pe[pe.length-1].last_line,first_column:pe[pe.length-(Bt||1)].first_column,last_column:pe[pe.length-1].last_column},zt&&(un._$.range=[pe[pe.length-(Bt||1)].range[0],pe[pe.length-1].range[1]]),Wt=this.performAction.apply(un,[xe,Be,U,Ce.yy,Et[1],X,pe].concat(Ie)),typeof Wt<"u")return Wt;Bt&&(se=se.slice(0,-1*Bt*2),X=X.slice(0,-1*Bt),pe=pe.slice(0,-1*Bt)),se.push(this.productions_[Et[1]][0]),X.push(un.$),pe.push(un._$),Ze=G[se[se.length-2]][se[se.length-1]],se.push(Ze);break;case 3:return!0}}return!0}},oe=function(){var ge={EOF:1,parseError:function(ne,se){if(this.yy.parser)this.yy.parser.parseError(ne,se);else throw new Error(ne)},setInput:function(ae,ne){return this.yy=ne||this.yy||{},this._input=ae,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 ae=this._input[0];this.yytext+=ae,this.yyleng++,this.offset++,this.match+=ae,this.matched+=ae;var ne=ae.match(/(?:\r\n?|\n).*/g);return ne?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ae},unput:function(ae){var ne=ae.length,se=ae.split(/(?:\r\n?|\n)/g);this._input=ae+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ne),this.offset-=ne;var de=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),se.length-1&&(this.yylineno-=se.length-1);var X=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:se?(se.length===de.length?this.yylloc.first_column:0)+de[de.length-se.length].length-se[0].length:this.yylloc.first_column-ne},this.options.ranges&&(this.yylloc.range=[X[0],X[0]+this.yyleng-ne]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return 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).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(ae){this.unput(this.match.slice(ae))},pastInput:function(){var ae=this.matched.substr(0,this.matched.length-this.match.length);return(ae.length>20?"...":"")+ae.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var ae=this.match;return ae.length<20&&(ae+=this._input.substr(0,20-ae.length)),(ae.substr(0,20)+(ae.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var ae=this.pastInput(),ne=new Array(ae.length+1).join("-");return ae+this.upcomingInput()+`
`+ne+"^"},test_match:function(ae,ne){var se,de,X;if(this.options.backtrack_lexer&&(X={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&&(X.yylloc.range=this.yylloc.range.slice(0))),de=ae[0].match(/(?:\r\n?|\n).*/g),de&&(this.yylineno+=de.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:de?de[de.length-1].length-de[de.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ae[0].length},this.yytext+=ae[0],this.match+=ae[0],this.matches=ae,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(ae[0].length),this.matched+=ae[0],se=this.performAction.call(this,this.yy,this,ne,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),se)return se;if(this._backtrack){for(var pe in X)this[pe]=X[pe];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ae,ne,se,de;this._more||(this.yytext="",this.match="");for(var X=this._currentRules(),pe=0;pe<X.length;pe++)if(se=this._input.match(this.rules[X[pe]]),se&&(!ne||se[0].length>ne[0].length)){if(ne=se,de=pe,this.options.backtrack_lexer){if(ae=this.test_match(se,X[pe]),ae!==!1)return ae;if(this._backtrack){ne=!1;continue}else return!1}else if(!this.options.flex)break}return ne?(ae=this.test_match(ne,X[de]),ae!==!1?ae:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var ne=this.next();return ne||this.lex()},begin:function(ne){this.conditionStack.push(ne)},popState:function(){var ne=this.conditionStack.length-1;return ne>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(ne){return ne=this.conditionStack.length-1-Math.abs(ne||0),ne>=0?this.conditionStack[ne]:"INITIAL"},pushState:function(ne){this.begin(ne)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(ne,se,de,X){switch(de){case 0:return ne.getLogger().trace("Found comment",se.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:ne.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return ne.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:ne.getLogger().trace("end icon"),this.popState();break;case 10:return ne.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return ne.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return ne.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return ne.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:return this.begin("NODE"),19;case 15:return this.begin("NODE"),19;case 16:return this.begin("NODE"),19;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 23:this.popState();break;case 24:ne.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return ne.getLogger().trace("description:",se.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),ne.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),ne.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),ne.getLogger().trace("node end ...",se.yytext),"NODE_DEND";case 30:return this.popState(),ne.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),ne.getLogger().trace("node end (-"),"NODE_DEND";case 32:return this.popState(),ne.getLogger().trace("node end (-"),"NODE_DEND";case 33:return this.popState(),ne.getLogger().trace("node end (("),"NODE_DEND";case 34:return this.popState(),ne.getLogger().trace("node end (("),"NODE_DEND";case 35:return ne.getLogger().trace("Long description:",se.yytext),20;case 36:return ne.getLogger().trace("Long description:",se.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}}};return ge}();ie.lexer=oe;function be(){this.yy={}}return be.prototype=ie,ie.Parser=be,new be}();vwe.parser=vwe;const Son=vwe;let Q3=[],$We=0,wwe={};const _on=()=>{Q3=[],$We=0,wwe={}},Aon=function(i){for(let a=Q3.length-1;a>=0;a--)if(Q3[a].level<i)return Q3[a];return null},Lon=()=>Q3.length>0?Q3[0]:null,Mon=(i,a,u,d)=>{var E,_;Xe.info("addNode",i,a,u,d);const p=qt();let v=((E=p.mindmap)==null?void 0:E.padding)??nh.mindmap.padding;switch(d){case v1.ROUNDED_RECT:case v1.RECT:case v1.HEXAGON:v*=2}const b={id:$We++,nodeId:bh(a,p),level:i,descr:bh(u,p),type:d,children:[],width:((_=p.mindmap)==null?void 0:_.maxNodeWidth)??nh.mindmap.maxNodeWidth,padding:v},y=Aon(i);if(y)y.children.push(b),Q3.push(b);else if(Q3.length===0)Q3.push(b);else throw new Error('There can be only one root. No parent could be found for ("'+b.descr+'")')},v1={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Don={clear:_on,addNode:Mon,getMindmap:Lon,nodeType:v1,getType:(i,a)=>{switch(Xe.debug("In get type",i,a),i){case"[":return v1.RECT;case"(":return a===")"?v1.ROUNDED_RECT:v1.CLOUD;case"((":return v1.CIRCLE;case")":return v1.CLOUD;case"))":return v1.BANG;case"{{":return v1.HEXAGON;default:return v1.DEFAULT}},setElementForId:(i,a)=>{wwe[i]=a},decorateNode:i=>{if(!i)return;const a=qt(),u=Q3[Q3.length-1];i.icon&&(u.icon=bh(i.icon,a)),i.class&&(u.class=bh(i.class,a))},type2Str:i=>{switch(i){case v1.DEFAULT:return"no-border";case v1.RECT:return"rect";case v1.ROUNDED_RECT:return"rounded-rect";case v1.CIRCLE:return"circle";case v1.CLOUD:return"cloud";case v1.BANG:return"bang";case v1.HEXAGON:return"hexgon";default:return"no-border"}},getLogger:()=>Xe,getElementById:i=>wwe[i]};var zWe={exports:{}};(function(i,a){(function(u,d){i.exports=d()})(Dg,function(){function u(x){"@babel/helpers - typeof";return u=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(m){return typeof m}:function(m){return m&&typeof Symbol=="function"&&m.constructor===Symbol&&m!==Symbol.prototype?"symbol":typeof m},u(x)}function d(x,m){if(!(x instanceof m))throw new TypeError("Cannot call a class as a function")}function p(x,m){for(var k=0;k<m.length;k++){var S=m[k];S.enumerable=S.enumerable||!1,S.configurable=!0,"value"in S&&(S.writable=!0),Object.defineProperty(x,S.key,S)}}function v(x,m,k){return m&&p(x.prototype,m),k&&p(x,k),Object.defineProperty(x,"prototype",{writable:!1}),x}function b(x,m,k){return m in x?Object.defineProperty(x,m,{value:k,enumerable:!0,configurable:!0,writable:!0}):x[m]=k,x}function y(x,m){return E(x)||_(x,m)||A(x,m)||R()}function E(x){if(Array.isArray(x))return x}function _(x,m){var k=x==null?null:typeof Symbol<"u"&&x[Symbol.iterator]||x["@@iterator"];if(k!=null){var S=[],M=!0,O=!1,N,$;try{for(k=k.call(x);!(M=(N=k.next()).done)&&(S.push(N.value),!(m&&S.length===m));M=!0);}catch(H){O=!0,$=H}finally{try{!M&&k.return!=null&&k.return()}finally{if(O)throw $}}return S}}function A(x,m){if(x){if(typeof x=="string")return P(x,m);var k=Object.prototype.toString.call(x).slice(8,-1);if(k==="Object"&&x.constructor&&(k=x.constructor.name),k==="Map"||k==="Set")return Array.from(x);if(k==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(k))return P(x,m)}}function P(x,m){(m==null||m>x.length)&&(m=x.length);for(var k=0,S=new Array(m);k<m;k++)S[k]=x[k];return S}function R(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var B=typeof window>"u"?null:window,j=B?B.navigator:null;B&&B.document;var W=u(""),ee=u({}),ie=u(function(){}),oe=typeof HTMLElement>"u"?"undefined":u(HTMLElement),be=function(m){return m&&m.instanceString&&ae(m.instanceString)?m.instanceString():null},ge=function(m){return m!=null&&u(m)==W},ae=function(m){return m!=null&&u(m)===ie},ne=function(m){return!xe(m)&&(Array.isArray?Array.isArray(m):m!=null&&m instanceof Array)},se=function(m){return m!=null&&u(m)===ee&&!ne(m)&&m.constructor===Object},de=function(m){return m!=null&&u(m)===ee},X=function(m){return m!=null&&u(m)===u(1)&&!isNaN(m)},pe=function(m){return X(m)&&Math.floor(m)===m},G=function(m){if(oe!=="undefined")return m!=null&&m instanceof HTMLElement},xe=function(m){return U(m)||Be(m)},U=function(m){return be(m)==="collection"&&m._private.single},Be=function(m){return be(m)==="collection"&&!m._private.single},Pe=function(m){return be(m)==="core"},je=function(m){return be(m)==="stylesheet"},Ie=function(m){return be(m)==="event"},Se=function(m){return m==null?!0:!!(m===""||m.match(/^\s+$/))},Ce=function(m){return typeof HTMLElement>"u"?!1:m instanceof HTMLElement},ke=function(m){return se(m)&&X(m.x1)&&X(m.x2)&&X(m.y1)&&X(m.y2)},Ke=function(m){return de(m)&&ae(m.then)},zt=function(){return j&&j.userAgent.match(/msie|trident|edge/i)},Ne=function(m,k){k||(k=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var O=[],N=0;N<arguments.length;N++)O.push(arguments[N]);return O.join("$")});var S=function M(){var O=this,N=arguments,$,H=k.apply(O,N),q=M.cache;return($=q[H])||($=q[H]=m.apply(O,N)),$};return S.cache={},S},pn=Ne(function(x){return x.replace(/([A-Z])/g,function(m){return"-"+m.toLowerCase()})}),Tt=Ne(function(x){return x.replace(/(-\w)/g,function(m){return m[1].toUpperCase()})}),Et=Ne(function(x,m){return x+m[0].toUpperCase()+m.substring(1)},function(x,m){return x+"$"+m}),Wt=function(m){return Se(m)?m:m.charAt(0).toUpperCase()+m.substring(1)},un="(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))",yt="rgb[a]?\\(("+un+"[%]?)\\s*,\\s*("+un+"[%]?)\\s*,\\s*("+un+"[%]?)(?:\\s*,\\s*("+un+"))?\\)",Bt="rgb[a]?\\((?:"+un+"[%]?)\\s*,\\s*(?:"+un+"[%]?)\\s*,\\s*(?:"+un+"[%]?)(?:\\s*,\\s*(?:"+un+"))?\\)",Ze="hsl[a]?\\(("+un+")\\s*,\\s*("+un+"[%])\\s*,\\s*("+un+"[%])(?:\\s*,\\s*("+un+"))?\\)",Dt="hsl[a]?\\((?:"+un+")\\s*,\\s*(?:"+un+"[%])\\s*,\\s*(?:"+un+"[%])(?:\\s*,\\s*(?:"+un+"))?\\)",kt="\\#[0-9a-fA-F]{3}",Nn="\\#[0-9a-fA-F]{6}",ht=function(m,k){return m<k?-1:m>k?1:0},qr=function(m,k){return-1*ht(m,k)},xt=Object.assign!=null?Object.assign.bind(Object):function(x){for(var m=arguments,k=1;k<m.length;k++){var S=m[k];if(S!=null)for(var M=Object.keys(S),O=0;O<M.length;O++){var N=M[O];x[N]=S[N]}}return x},Ri=function(m){if(!(!(m.length===4||m.length===7)||m[0]!=="#")){var k=m.length===4,S,M,O,N=16;return k?(S=parseInt(m[1]+m[1],N),M=parseInt(m[2]+m[2],N),O=parseInt(m[3]+m[3],N)):(S=parseInt(m[1]+m[2],N),M=parseInt(m[3]+m[4],N),O=parseInt(m[5]+m[6],N)),[S,M,O]}},wi=function(m){var k,S,M,O,N,$,H,q;function Y(me,Le,_e){return _e<0&&(_e+=1),_e>1&&(_e-=1),_e<1/6?me+(Le-me)*6*_e:_e<1/2?Le:_e<2/3?me+(Le-me)*(2/3-_e)*6:me}var Z=new RegExp("^"+Ze+"$").exec(m);if(Z){if(S=parseInt(Z[1]),S<0?S=(360- -1*S%360)%360:S>360&&(S=S%360),S/=360,M=parseFloat(Z[2]),M<0||M>100||(M=M/100,O=parseFloat(Z[3]),O<0||O>100)||(O=O/100,N=Z[4],N!==void 0&&(N=parseFloat(N),N<0||N>1)))return;if(M===0)$=H=q=Math.round(O*255);else{var ce=O<.5?O*(1+M):O+M-O*M,ve=2*O-ce;$=Math.round(255*Y(ve,ce,S+1/3)),H=Math.round(255*Y(ve,ce,S)),q=Math.round(255*Y(ve,ce,S-1/3))}k=[$,H,q,N]}return k},ia=function(m){var k,S=new RegExp("^"+yt+"$").exec(m);if(S){k=[];for(var M=[],O=1;O<=3;O++){var N=S[O];if(N[N.length-1]==="%"&&(M[O]=!0),N=parseFloat(N),M[O]&&(N=N/100*255),N<0||N>255)return;k.push(Math.floor(N))}var $=M[1]||M[2]||M[3],H=M[1]&&M[2]&&M[3];if($&&!H)return;var q=S[4];if(q!==void 0){if(q=parseFloat(q),q<0||q>1)return;k.push(q)}}return k},Hs=function(m){return Tr[m.toLowerCase()]},mo=function(m){return(ne(m)?m:null)||Hs(m)||Ri(m)||ia(m)||wi(m)},Tr={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]},On=function(m){for(var k=m.map,S=m.keys,M=S.length,O=0;O<M;O++){var N=S[O];if(se(N))throw Error("Tried to set map with object key");O<S.length-1?(k[N]==null&&(k[N]={}),k=k[N]):k[N]=m.value}},Rn=function(m){for(var k=m.map,S=m.keys,M=S.length,O=0;O<M;O++){var N=S[O];if(se(N))throw Error("Tried to get map with object key");if(k=k[N],k==null)return k}return k};function zn(x){var m=typeof x;return x!=null&&(m=="object"||m=="function")}var Ct=zn,gt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof Dg<"u"?Dg:typeof self<"u"?self:{};function on(x,m){return m={exports:{}},x(m,m.exports),m.exports}var dn=typeof gt=="object"&&gt&&gt.Object===Object&&gt,Ln=dn,Io=typeof self=="object"&&self&&self.Object===Object&&self,Oo=Ln||Io||Function("return this")(),No=Oo,Us=function(){return No.Date.now()},uo=Us,Es=/\s/;function Ou(x){for(var m=x.length;m--&&Es.test(x.charAt(m)););return m}var _c=Ou,Kd=/^\s+/;function qp(x){return x&&x.slice(0,_c(x)+1).replace(Kd,"")}var Ul=qp,Ac=No.Symbol,Jc=Ac,Ya=Object.prototype,Ba=Ya.hasOwnProperty,ha=Ya.toString,$o=Jc?Jc.toStringTag:void 0;function Lc(x){var m=Ba.call(x,$o),k=x[$o];try{x[$o]=void 0;var S=!0}catch{}var M=ha.call(x);return S&&(m?x[$o]=k:delete x[$o]),M}var Fa=Lc,Ra=Object.prototype,ma=Ra.toString;function Kh(x){return ma.call(x)}var Po=Kh,Hp="[object Null]",Ug="[object Undefined]",od=Jc?Jc.toStringTag:void 0;function cd(x){return x==null?x===void 0?Ug:Hp:od&&od in Object(x)?Fa(x):Po(x)}var w1=cd;function kh(x){return x!=null&&typeof x=="object"}var Wd=kh,Yd="[object Symbol]";function Xd(x){return typeof x=="symbol"||Wd(x)&&w1(x)==Yd}var Zf=Xd,Up=0/0,u5=/^[-+]0x[0-9a-f]+$/i,bs=/^0b[01]+$/i,Vt=/^0o[0-7]+$/i,jr=parseInt;function Ji(x){if(typeof x=="number")return x;if(Zf(x))return Up;if(Ct(x)){var m=typeof x.valueOf=="function"?x.valueOf():x;x=Ct(m)?m+"":m}if(typeof x!="string")return x===0?x:+x;x=Ul(x);var k=bs.test(x);return k||Vt.test(x)?jr(x.slice(2),k?2:8):u5.test(x)?Up:+x}var Qo=Ji,Hi="Expected a function",Ui=Math.max,zs=Math.min;function gi(x,m,k){var S,M,O,N,$,H,q=0,Y=!1,Z=!1,ce=!0;if(typeof x!="function")throw new TypeError(Hi);m=Qo(m)||0,Ct(k)&&(Y=!!k.leading,Z="maxWait"in k,O=Z?Ui(Qo(k.maxWait)||0,m):O,ce="trailing"in k?!!k.trailing:ce);function ve(st){var Ye=S,vt=M;return S=M=void 0,q=st,N=x.apply(vt,Ye),N}function me(st){return q=st,$=setTimeout(Te,m),Y?ve(st):N}function Le(st){var Ye=st-H,vt=st-q,Qe=m-Ye;return Z?zs(Qe,O-vt):Qe}function _e(st){var Ye=st-H,vt=st-q;return H===void 0||Ye>=m||Ye<0||Z&&vt>=O}function Te(){var st=uo();if(_e(st))return Fe(st);$=setTimeout(Te,Le(st))}function Fe(st){return $=void 0,ce&&S?ve(st):(S=M=void 0,N)}function Re(){$!==void 0&&clearTimeout($),q=0,S=H=M=$=void 0}function Ve(){return $===void 0?N:Fe(uo())}function ct(){var st=uo(),Ye=_e(st);if(S=arguments,M=this,H=st,Ye){if($===void 0)return me(H);if(Z)return clearTimeout($),$=setTimeout(Te,m),ve(H)}return $===void 0&&($=setTimeout(Te,m)),N}return ct.cancel=Re,ct.flush=Ve,ct}var Bo=gi,Ot=B?B.performance:null,zu=Ot&&Ot.now?function(){return Ot.now()}:function(){return Date.now()},Gt=function(){if(B){if(B.requestAnimationFrame)return function(x){B.requestAnimationFrame(x)};if(B.mozRequestAnimationFrame)return function(x){B.mozRequestAnimationFrame(x)};if(B.webkitRequestAnimationFrame)return function(x){B.webkitRequestAnimationFrame(x)};if(B.msRequestAnimationFrame)return function(x){B.msRequestAnimationFrame(x)}}return function(x){x&&setTimeout(function(){x(zu())},1e3/60)}}(),Wh=function(m){return Gt(m)},Vp=zu,J3=9261,q9=65599,l5=5381,Th=function(m){for(var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:J3,S=k,M;M=m.next(),!M.done;)S=S*q9+M.value|0;return S},Vg=function(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:J3;return k*q9+m|0},Em=function(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:l5;return(k<<5)+k+m|0},H9=function(m,k){return m*2097152+k},Cm=function(m){return m[0]*2097152+m[1]},h5=function(m,k){return[Vg(m[0],k[0]),Em(m[1],k[1])]},y1=function(m,k){var S={value:0,done:!1},M=0,O=m.length,N={next:function(){return M<O?S.value=m[M++]:S.done=!0,S}};return Th(N,k)},ud=function(m,k){var S={value:0,done:!1},M=0,O=m.length,N={next:function(){return M<O?S.value=m.charCodeAt(M++):S.done=!0,S}};return Th(N,k)},ld=function(){return U9(arguments)},U9=function(m){for(var k,S=0;S<m.length;S++){var M=m[S];S===0?k=ud(M):k=ud(M,k)}return k},Qv=!0,X7=console.warn!=null,tb=console.trace!=null,Q7=Number.MAX_SAFE_INTEGER||9007199254740991,f5=function(){return!0},Z3=function(){return!1},Gp=function(){return 0},lI=function(){},sh=function(m){throw new Error(m)},cS=function(m){if(m!==void 0)Qv=!!m;else return Qv},lu=function(m){cS()&&(X7?console.warn(m):(console.log(m),tb&&console.trace()))},eZ=function(m){return xt({},m)},Sm=function(m){return m==null?m:ne(m)?m.slice():se(m)?eZ(m):m},tZ=function(m){return m.slice()},gj=function(m,k){for(k=m="";m++<36;k+=m*51&52?(m^15?8^Math.random()*(m^20?16:4):4).toString(16):"-");return k},nZ={},pj=function(){return nZ},z0=function(m){var k=Object.keys(m);return function(S){for(var M={},O=0;O<k.length;O++){var N=k[O],$=S==null?void 0:S[N];M[N]=$===void 0?m[N]:$}return M}},ey=function(m,k,S){for(var M=m.length-1;M>=0&&!(m[M]===k&&(m.splice(M,1),S));M--);},uS=function(m){m.splice(0,m.length)},bj=function(m,k){for(var S=0;S<k.length;S++){var M=k[S];m.push(M)}},nb=function(m,k,S){return S&&(k=Et(S,k)),m[k]},ty=function(m,k,S,M){S&&(k=Et(S,k)),m[k]=M},rZ=function(){function x(){d(this,x),this._obj={}}return v(x,[{key:"set",value:function(k,S){return this._obj[k]=S,this}},{key:"delete",value:function(k){return this._obj[k]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(k){return this._obj[k]!==void 0}},{key:"get",value:function(k){return this._obj[k]}}]),x}(),_m=typeof Map<"u"?Map:rZ,iZ="undefined",sZ=function(){function x(m){if(d(this,x),this._obj=Object.create(null),this.size=0,m!=null){var k;m.instanceString!=null&&m.instanceString()===this.instanceString()?k=m.toArray():k=m;for(var S=0;S<k.length;S++)this.add(k[S])}}return v(x,[{key:"instanceString",value:function(){return"set"}},{key:"add",value:function(k){var S=this._obj;S[k]!==1&&(S[k]=1,this.size++)}},{key:"delete",value:function(k){var S=this._obj;S[k]===1&&(S[k]=0,this.size--)}},{key:"clear",value:function(){this._obj=Object.create(null)}},{key:"has",value:function(k){return this._obj[k]===1}},{key:"toArray",value:function(){var k=this;return Object.keys(this._obj).filter(function(S){return k.has(S)})}},{key:"forEach",value:function(k,S){return this.toArray().forEach(k,S)}}]),x}(),J7=(typeof Set>"u"?"undefined":u(Set))!==iZ?Set:sZ,lS=function(m,k){var S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(m===void 0||k===void 0||!Pe(m)){sh("An element must have a core reference and parameters set");return}var M=k.group;if(M==null&&(k.data&&k.data.source!=null&&k.data.target!=null?M="edges":M="nodes"),M!=="nodes"&&M!=="edges"){sh("An element must be of type `nodes` or `edges`; you specified `"+M+"`");return}this.length=1,this[0]=this;var O=this._private={cy:m,single:!0,data:k.data||{},position:k.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:M,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!k.selected,selectable:k.selectable===void 0?!0:!!k.selectable,locked:!!k.locked,grabbed:!1,grabbable:k.grabbable===void 0?!0:!!k.grabbable,pannable:k.pannable===void 0?M==="edges":!!k.pannable,active:!1,classes:new J7,animation:{current:[],queue:[]},rscratch:{},scratch:k.scratch||{},edges:[],children:[],parent:k.parent&&k.parent.isNode()?k.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(O.position.x==null&&(O.position.x=0),O.position.y==null&&(O.position.y=0),k.renderedPosition){var N=k.renderedPosition,$=m.pan(),H=m.zoom();O.position={x:(N.x-$.x)/H,y:(N.y-$.y)/H}}var q=[];ne(k.classes)?q=k.classes:ge(k.classes)&&(q=k.classes.split(/\s+/));for(var Y=0,Z=q.length;Y<Z;Y++){var ce=q[Y];!ce||ce===""||O.classes.add(ce)}this.createEmitter();var ve=k.style||k.css;ve&&(lu("Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead."),this.style(ve)),(S===void 0||S)&&this.restore()},mj=function(m){return m={bfs:m.bfs||!m.dfs,dfs:m.dfs||!m.bfs},function(S,M,O){var N;se(S)&&!xe(S)&&(N=S,S=N.roots||N.root,M=N.visit,O=N.directed),O=arguments.length===2&&!ae(M)?M:O,M=ae(M)?M:function(){};for(var $=this._private.cy,H=S=ge(S)?this.filter(S):S,q=[],Y=[],Z={},ce={},ve={},me=0,Le,_e=this.byGroup(),Te=_e.nodes,Fe=_e.edges,Re=0;Re<H.length;Re++){var Ve=H[Re],ct=Ve.id();Ve.isNode()&&(q.unshift(Ve),m.bfs&&(ve[ct]=!0,Y.push(Ve)),ce[ct]=0)}for(var st=function(){var Yt=m.bfs?q.shift():q.pop(),St=Yt.id();if(m.dfs){if(ve[St])return"continue";ve[St]=!0,Y.push(Yt)}var _n=ce[St],fn=Z[St],Xt=fn!=null?fn.source():null,Dn=fn!=null?fn.target():null,rr=fn==null?void 0:Yt.same(Xt)?Dn[0]:Xt[0],mr=void 0;if(mr=M(Yt,fn,rr,me++,_n),mr===!0)return Le=Yt,"break";if(mr===!1)return"break";for(var Pn=Yt.connectedEdges().filter(function(Ir){return(!O||Ir.source().same(Yt))&&Fe.has(Ir)}),gr=0;gr<Pn.length;gr++){var kr=Pn[gr],Lr=kr.connectedNodes().filter(function(Ir){return!Ir.same(Yt)&&Te.has(Ir)}),Er=Lr.id();Lr.length!==0&&!ve[Er]&&(Lr=Lr[0],q.push(Lr),m.bfs&&(ve[Er]=!0,Y.push(Lr)),Z[Er]=kr,ce[Er]=ce[St]+1)}};q.length!==0;){var Ye=st();if(Ye!=="continue"&&Ye==="break")break}for(var vt=$.collection(),Qe=0;Qe<Y.length;Qe++){var Lt=Y[Qe],Mt=Z[Lt.id()];Mt!=null&&vt.push(Mt),vt.push(Lt)}return{path:$.collection(vt),found:$.collection(Le)}}},V9={breadthFirstSearch:mj({bfs:!0}),depthFirstSearch:mj({dfs:!0})};V9.bfs=V9.breadthFirstSearch,V9.dfs=V9.depthFirstSearch;var aZ=on(function(x,m){(function(){var k,S,M,O,N,$,H,q,Y,Z,ce,ve,me,Le,_e;M=Math.floor,Z=Math.min,S=function(Te,Fe){return Te<Fe?-1:Te>Fe?1:0},Y=function(Te,Fe,Re,Ve,ct){var st;if(Re==null&&(Re=0),ct==null&&(ct=S),Re<0)throw new Error("lo must be non-negative");for(Ve==null&&(Ve=Te.length);Re<Ve;)st=M((Re+Ve)/2),ct(Fe,Te[st])<0?Ve=st:Re=st+1;return[].splice.apply(Te,[Re,Re-Re].concat(Fe)),Fe},$=function(Te,Fe,Re){return Re==null&&(Re=S),Te.push(Fe),Le(Te,0,Te.length-1,Re)},N=function(Te,Fe){var Re,Ve;return Fe==null&&(Fe=S),Re=Te.pop(),Te.length?(Ve=Te[0],Te[0]=Re,_e(Te,0,Fe)):Ve=Re,Ve},q=function(Te,Fe,Re){var Ve;return Re==null&&(Re=S),Ve=Te[0],Te[0]=Fe,_e(Te,0,Re),Ve},H=function(Te,Fe,Re){var Ve;return Re==null&&(Re=S),Te.length&&Re(Te[0],Fe)<0&&(Ve=[Te[0],Fe],Fe=Ve[0],Te[0]=Ve[1],_e(Te,0,Re)),Fe},O=function(Te,Fe){var Re,Ve,ct,st,Ye,vt;for(Fe==null&&(Fe=S),st=(function(){vt=[];for(var Qe=0,Lt=M(Te.length/2);0<=Lt?Qe<Lt:Qe>Lt;0<=Lt?Qe++:Qe--)vt.push(Qe);return vt}).apply(this).reverse(),Ye=[],Ve=0,ct=st.length;Ve<ct;Ve++)Re=st[Ve],Ye.push(_e(Te,Re,Fe));return Ye},me=function(Te,Fe,Re){var Ve;if(Re==null&&(Re=S),Ve=Te.indexOf(Fe),Ve!==-1)return Le(Te,0,Ve,Re),_e(Te,Ve,Re)},ce=function(Te,Fe,Re){var Ve,ct,st,Ye,vt;if(Re==null&&(Re=S),ct=Te.slice(0,Fe),!ct.length)return ct;for(O(ct,Re),vt=Te.slice(Fe),st=0,Ye=vt.length;st<Ye;st++)Ve=vt[st],H(ct,Ve,Re);return ct.sort(Re).reverse()},ve=function(Te,Fe,Re){var Ve,ct,st,Ye,vt,Qe,Lt,Mt,ut;if(Re==null&&(Re=S),Fe*10<=Te.length){if(st=Te.slice(0,Fe).sort(Re),!st.length)return st;for(ct=st[st.length-1],Lt=Te.slice(Fe),Ye=0,Qe=Lt.length;Ye<Qe;Ye++)Ve=Lt[Ye],Re(Ve,ct)<0&&(Y(st,Ve,0,null,Re),st.pop(),ct=st[st.length-1]);return st}for(O(Te,Re),ut=[],vt=0,Mt=Z(Fe,Te.length);0<=Mt?vt<Mt:vt>Mt;0<=Mt?++vt:--vt)ut.push(N(Te,Re));return ut},Le=function(Te,Fe,Re,Ve){var ct,st,Ye;for(Ve==null&&(Ve=S),ct=Te[Re];Re>Fe;){if(Ye=Re-1>>1,st=Te[Ye],Ve(ct,st)<0){Te[Re]=st,Re=Ye;continue}break}return Te[Re]=ct},_e=function(Te,Fe,Re){var Ve,ct,st,Ye,vt;for(Re==null&&(Re=S),ct=Te.length,vt=Fe,st=Te[Fe],Ve=2*Fe+1;Ve<ct;)Ye=Ve+1,Ye<ct&&!(Re(Te[Ve],Te[Ye])<0)&&(Ve=Ye),Te[Fe]=Te[Ve],Fe=Ve,Ve=2*Fe+1;return Te[Fe]=st,Le(Te,vt,Fe,Re)},k=function(){Te.push=$,Te.pop=N,Te.replace=q,Te.pushpop=H,Te.heapify=O,Te.updateItem=me,Te.nlargest=ce,Te.nsmallest=ve;function Te(Fe){this.cmp=Fe??S,this.nodes=[]}return Te.prototype.push=function(Fe){return $(this.nodes,Fe,this.cmp)},Te.prototype.pop=function(){return N(this.nodes,this.cmp)},Te.prototype.peek=function(){return this.nodes[0]},Te.prototype.contains=function(Fe){return this.nodes.indexOf(Fe)!==-1},Te.prototype.replace=function(Fe){return q(this.nodes,Fe,this.cmp)},Te.prototype.pushpop=function(Fe){return H(this.nodes,Fe,this.cmp)},Te.prototype.heapify=function(){return O(this.nodes,this.cmp)},Te.prototype.updateItem=function(Fe){return me(this.nodes,Fe,this.cmp)},Te.prototype.clear=function(){return this.nodes=[]},Te.prototype.empty=function(){return this.nodes.length===0},Te.prototype.size=function(){return this.nodes.length},Te.prototype.clone=function(){var Fe;return Fe=new Te,Fe.nodes=this.nodes.slice(0),Fe},Te.prototype.toArray=function(){return this.nodes.slice(0)},Te.prototype.insert=Te.prototype.push,Te.prototype.top=Te.prototype.peek,Te.prototype.front=Te.prototype.peek,Te.prototype.has=Te.prototype.contains,Te.prototype.copy=Te.prototype.clone,Te}(),function(Te,Fe){return x.exports=Fe()}(this,function(){return k})}).call(gt)}),G9=aZ,oZ=z0({root:null,weight:function(m){return 1},directed:!1}),cZ={dijkstra:function(m){if(!se(m)){var k=arguments;m={root:k[0],weight:k[1],directed:k[2]}}var S=oZ(m),M=S.root,O=S.weight,N=S.directed,$=this,H=O,q=ge(M)?this.filter(M)[0]:M[0],Y={},Z={},ce={},ve=this.byGroup(),me=ve.nodes,Le=ve.edges;Le.unmergeBy(function(_n){return _n.isLoop()});for(var _e=function(fn){return Y[fn.id()]},Te=function(fn,Xt){Y[fn.id()]=Xt,Fe.updateItem(fn)},Fe=new G9(function(_n,fn){return _e(_n)-_e(fn)}),Re=0;Re<me.length;Re++){var Ve=me[Re];Y[Ve.id()]=Ve.same(q)?0:1/0,Fe.push(Ve)}for(var ct=function(fn,Xt){for(var Dn=(N?fn.edgesTo(Xt):fn.edgesWith(Xt)).intersect(Le),rr=1/0,mr,Pn=0;Pn<Dn.length;Pn++){var gr=Dn[Pn],kr=H(gr);(kr<rr||!mr)&&(rr=kr,mr=gr)}return{edge:mr,dist:rr}};Fe.size()>0;){var st=Fe.pop(),Ye=_e(st),vt=st.id();if(ce[vt]=Ye,Ye!==1/0)for(var Qe=st.neighborhood().intersect(me),Lt=0;Lt<Qe.length;Lt++){var Mt=Qe[Lt],ut=Mt.id(),Yt=ct(st,Mt),St=Ye+Yt.dist;St<_e(Mt)&&(Te(Mt,St),Z[ut]={node:st,edge:Yt.edge})}}return{distanceTo:function(fn){var Xt=ge(fn)?me.filter(fn)[0]:fn[0];return ce[Xt.id()]},pathTo:function(fn){var Xt=ge(fn)?me.filter(fn)[0]:fn[0],Dn=[],rr=Xt,mr=rr.id();if(Xt.length>0)for(Dn.unshift(Xt);Z[mr];){var Pn=Z[mr];Dn.unshift(Pn.edge),Dn.unshift(Pn.node),rr=Pn.node,mr=rr.id()}return $.spawn(Dn)}}}},uZ={kruskal:function(m){m=m||function(Re){return 1};for(var k=this.byGroup(),S=k.nodes,M=k.edges,O=S.length,N=new Array(O),$=S,H=function(Ve){for(var ct=0;ct<N.length;ct++){var st=N[ct];if(st.has(Ve))return ct}},q=0;q<O;q++)N[q]=this.spawn(S[q]);for(var Y=M.sort(function(Re,Ve){return m(Re)-m(Ve)}),Z=0;Z<Y.length;Z++){var ce=Y[Z],ve=ce.source()[0],me=ce.target()[0],Le=H(ve),_e=H(me),Te=N[Le],Fe=N[_e];Le!==_e&&($.merge(ce),Te.merge(Fe),N.splice(_e,1))}return $}},lZ=z0({root:null,goal:null,weight:function(m){return 1},heuristic:function(m){return 0},directed:!1}),hZ={aStar:function(m){var k=this.cy(),S=lZ(m),M=S.root,O=S.goal,N=S.heuristic,$=S.directed,H=S.weight;M=k.collection(M)[0],O=k.collection(O)[0];var q=M.id(),Y=O.id(),Z={},ce={},ve={},me=new G9(function(mr,Pn){return ce[mr.id()]-ce[Pn.id()]}),Le=new J7,_e={},Te={},Fe=function(Pn,gr){me.push(Pn),Le.add(gr)},Re,Ve,ct=function(){Re=me.pop(),Ve=Re.id(),Le.delete(Ve)},st=function(Pn){return Le.has(Pn)};Fe(M,q),Z[q]=0,ce[q]=N(M);for(var Ye=0;me.size()>0;){if(ct(),Ye++,Ve===Y){for(var vt=[],Qe=O,Lt=Y,Mt=Te[Lt];vt.unshift(Qe),Mt!=null&&vt.unshift(Mt),Qe=_e[Lt],Qe!=null;)Lt=Qe.id(),Mt=Te[Lt];return{found:!0,distance:Z[Ve],path:this.spawn(vt),steps:Ye}}ve[Ve]=!0;for(var ut=Re._private.edges,Yt=0;Yt<ut.length;Yt++){var St=ut[Yt];if(this.hasElementWithId(St.id())&&!($&&St.data("source")!==Ve)){var _n=St.source(),fn=St.target(),Xt=_n.id()!==Ve?_n:fn,Dn=Xt.id();if(this.hasElementWithId(Dn)&&!ve[Dn]){var rr=Z[Ve]+H(St);if(!st(Dn)){Z[Dn]=rr,ce[Dn]=rr+N(Xt),Fe(Xt,Dn),_e[Dn]=Re,Te[Dn]=St;continue}rr<Z[Dn]&&(Z[Dn]=rr,ce[Dn]=rr+N(Xt),_e[Dn]=Re,Te[Dn]=St)}}}}return{found:!1,distance:void 0,path:void 0,steps:Ye}}},fZ=z0({weight:function(m){return 1},directed:!1}),dZ={floydWarshall:function(m){for(var k=this.cy(),S=fZ(m),M=S.weight,O=S.directed,N=M,$=this.byGroup(),H=$.nodes,q=$.edges,Y=H.length,Z=Y*Y,ce=function(kr){return H.indexOf(kr)},ve=function(kr){return H[kr]},me=new Array(Z),Le=0;Le<Z;Le++){var _e=Le%Y,Te=(Le-_e)/Y;Te===_e?me[Le]=0:me[Le]=1/0}for(var Fe=new Array(Z),Re=new Array(Z),Ve=0;Ve<q.length;Ve++){var ct=q[Ve],st=ct.source()[0],Ye=ct.target()[0];if(st!==Ye){var vt=ce(st),Qe=ce(Ye),Lt=vt*Y+Qe,Mt=N(ct);if(me[Lt]>Mt&&(me[Lt]=Mt,Fe[Lt]=Qe,Re[Lt]=ct),!O){var ut=Qe*Y+vt;!O&&me[ut]>Mt&&(me[ut]=Mt,Fe[ut]=vt,Re[ut]=ct)}}}for(var Yt=0;Yt<Y;Yt++)for(var St=0;St<Y;St++)for(var _n=St*Y+Yt,fn=0;fn<Y;fn++){var Xt=St*Y+fn,Dn=Yt*Y+fn;me[_n]+me[Dn]<me[Xt]&&(me[Xt]=me[_n]+me[Dn],Fe[Xt]=Fe[_n])}var rr=function(kr){return(ge(kr)?k.filter(kr):kr)[0]},mr=function(kr){return ce(rr(kr))},Pn={distance:function(kr,Lr){var Er=mr(kr),Ir=mr(Lr);return me[Er*Y+Ir]},path:function(kr,Lr){var Er=mr(kr),Ir=mr(Lr),Kn=ve(Er);if(Er===Ir)return Kn.collection();if(Fe[Er*Y+Ir]==null)return k.collection();var pr=k.collection(),Cr=Er,Or;for(pr.merge(Kn);Er!==Ir;)Cr=Er,Er=Fe[Er*Y+Ir],Or=Re[Cr*Y+Er],pr.merge(Or),pr.merge(ve(Er));return pr}};return Pn}},gZ=z0({weight:function(m){return 1},directed:!1,root:null}),pZ={bellmanFord:function(m){var k=this,S=gZ(m),M=S.weight,O=S.directed,N=S.root,$=M,H=this,q=this.cy(),Y=this.byGroup(),Z=Y.edges,ce=Y.nodes,ve=ce.length,me=new _m,Le=!1,_e=[];N=q.collection(N)[0],Z.unmergeBy(function(Fs){return Fs.isLoop()});for(var Te=Z.length,Fe=function(ks){var Rs=me.get(ks.id());return Rs||(Rs={},me.set(ks.id(),Rs)),Rs},Re=function(ks){return(ge(ks)?q.$(ks):ks)[0]},Ve=function(ks){return Fe(Re(ks)).dist},ct=function(ks){for(var Rs=arguments.length>1&&arguments[1]!==void 0?arguments[1]:N,vo=Re(ks),ja=[],Ma=vo;;){if(Ma==null)return k.spawn();var Fo=Fe(Ma),er=Fo.edge,K=Fo.pred;if(ja.unshift(Ma[0]),Ma.same(Rs)&&ja.length>0)break;er!=null&&ja.unshift(er),Ma=K}return H.spawn(ja)},st=0;st<ve;st++){var Ye=ce[st],vt=Fe(Ye);Ye.same(N)?vt.dist=0:vt.dist=1/0,vt.pred=null,vt.edge=null}for(var Qe=!1,Lt=function(ks,Rs,vo,ja,Ma,Fo){var er=ja.dist+Fo;er<Ma.dist&&!vo.same(ja.edge)&&(Ma.dist=er,Ma.pred=ks,Ma.edge=vo,Qe=!0)},Mt=1;Mt<ve;Mt++){Qe=!1;for(var ut=0;ut<Te;ut++){var Yt=Z[ut],St=Yt.source(),_n=Yt.target(),fn=$(Yt),Xt=Fe(St),Dn=Fe(_n);Lt(St,_n,Yt,Xt,Dn,fn),O||Lt(_n,St,Yt,Dn,Xt,fn)}if(!Qe)break}if(Qe)for(var rr=[],mr=0;mr<Te;mr++){var Pn=Z[mr],gr=Pn.source(),kr=Pn.target(),Lr=$(Pn),Er=Fe(gr).dist,Ir=Fe(kr).dist;if(Er+Lr<Ir||!O&&Ir+Lr<Er)if(Le||(lu("Graph contains a negative weight cycle for Bellman-Ford"),Le=!0),m.findNegativeWeightCycles!==!1){var Kn=[];Er+Lr<Ir&&Kn.push(gr),!O&&Ir+Lr<Er&&Kn.push(kr);for(var pr=Kn.length,Cr=0;Cr<pr;Cr++){var Or=Kn[Cr],_i=[Or];_i.push(Fe(Or).edge);for(var xs=Fe(Or).pred;_i.indexOf(xs)===-1;)_i.push(xs),_i.push(Fe(xs).edge),xs=Fe(xs).pred;_i=_i.slice(_i.indexOf(xs));for(var va=_i[0].id(),Di=0,pi=2;pi<_i.length;pi+=2)_i[pi].id()<va&&(va=_i[pi].id(),Di=pi);_i=_i.slice(Di).concat(_i.slice(0,Di)),_i.push(_i[0]);var fs=_i.map(function(Fs){return Fs.id()}).join(",");rr.indexOf(fs)===-1&&(_e.push(H.spawn(_i)),rr.push(fs))}}else break}return{distanceTo:Ve,pathTo:ct,hasNegativeWeightCycle:Le,negativeWeightCycles:_e}}},bZ=Math.sqrt(2),mZ=function(m,k,S){S.length===0&&sh("Karger-Stein must be run on a connected (sub)graph");for(var M=S[m],O=M[1],N=M[2],$=k[O],H=k[N],q=S,Y=q.length-1;Y>=0;Y--){var Z=q[Y],ce=Z[1],ve=Z[2];(k[ce]===$&&k[ve]===H||k[ce]===H&&k[ve]===$)&&q.splice(Y,1)}for(var me=0;me<q.length;me++){var Le=q[me];Le[1]===H?(q[me]=Le.slice(),q[me][1]=$):Le[2]===H&&(q[me]=Le.slice(),q[me][2]=$)}for(var _e=0;_e<k.length;_e++)k[_e]===H&&(k[_e]=$);return q},hI=function(m,k,S,M){for(;S>M;){var O=Math.floor(Math.random()*k.length);k=mZ(O,m,k),S--}return k},vZ={kargerStein:function(){var m=this,k=this.byGroup(),S=k.nodes,M=k.edges;M.unmergeBy(function(Dn){return Dn.isLoop()});var O=S.length,N=M.length,$=Math.ceil(Math.pow(Math.log(O)/Math.LN2,2)),H=Math.floor(O/bZ);if(O<2){sh("At least 2 nodes are required for Karger-Stein algorithm");return}for(var q=[],Y=0;Y<N;Y++){var Z=M[Y];q.push([Y,S.indexOf(Z.source()),S.indexOf(Z.target())])}for(var ce=1/0,ve=[],me=new Array(O),Le=new Array(O),_e=new Array(O),Te=function(rr,mr){for(var Pn=0;Pn<O;Pn++)mr[Pn]=rr[Pn]},Fe=0;Fe<=$;Fe++){for(var Re=0;Re<O;Re++)Le[Re]=Re;var Ve=hI(Le,q.slice(),O,H),ct=Ve.slice();Te(Le,_e);var st=hI(Le,Ve,H,2),Ye=hI(_e,ct,H,2);st.length<=Ye.length&&st.length<ce?(ce=st.length,ve=st,Te(Le,me)):Ye.length<=st.length&&Ye.length<ce&&(ce=Ye.length,ve=Ye,Te(_e,me))}for(var vt=this.spawn(ve.map(function(Dn){return M[Dn[0]]})),Qe=this.spawn(),Lt=this.spawn(),Mt=me[0],ut=0;ut<me.length;ut++){var Yt=me[ut],St=S[ut];Yt===Mt?Qe.merge(St):Lt.merge(St)}var _n=function(rr){var mr=m.spawn();return rr.forEach(function(Pn){mr.merge(Pn),Pn.connectedEdges().forEach(function(gr){m.contains(gr)&&!vt.contains(gr)&&mr.merge(gr)})}),mr},fn=[_n(Qe),_n(Lt)],Xt={cut:vt,components:fn,partition1:Qe,partition2:Lt};return Xt}},wZ=function(m){return{x:m.x,y:m.y}},hS=function(m,k,S){return{x:m.x*k+S.x,y:m.y*k+S.y}},vj=function(m,k,S){return{x:(m.x-S.x)/k,y:(m.y-S.y)/k}},Z7=function(m){return{x:m[0],y:m[1]}},yZ=function(m){for(var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:m.length,M=1/0,O=k;O<S;O++){var N=m[O];isFinite(N)&&(M=Math.min(N,M))}return M},xZ=function(m){for(var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:m.length,M=-1/0,O=k;O<S;O++){var N=m[O];isFinite(N)&&(M=Math.max(N,M))}return M},kZ=function(m){for(var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:m.length,M=0,O=0,N=k;N<S;N++){var $=m[N];isFinite($)&&(M+=$,O++)}return M/O},TZ=function(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:m.length,M=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,O=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,N=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;M?m=m.slice(k,S):(S<m.length&&m.splice(S,m.length-S),k>0&&m.splice(0,k));for(var $=0,H=m.length-1;H>=0;H--){var q=m[H];N?isFinite(q)||(m[H]=-1/0,$++):m.splice(H,1)}O&&m.sort(function(ce,ve){return ce-ve});var Y=m.length,Z=Math.floor(Y/2);return Y%2!==0?m[Z+1+$]:(m[Z-1+$]+m[Z+$])/2},EZ=function(m){return Math.PI*m/180},fS=function(m,k){return Math.atan2(k,m)-Math.PI/2},fI=Math.log2||function(x){return Math.log(x)/Math.log(2)},wj=function(m){return m>0?1:m<0?-1:0},d5=function(m,k){return Math.sqrt(g5(m,k))},g5=function(m,k){var S=k.x-m.x,M=k.y-m.y;return S*S+M*M},CZ=function(m){for(var k=m.length,S=0,M=0;M<k;M++)S+=m[M];for(var O=0;O<k;O++)m[O]=m[O]/S;return m},e0=function(m,k,S,M){return(1-M)*(1-M)*m+2*(1-M)*M*k+M*M*S},e8=function(m,k,S,M){return{x:e0(m.x,k.x,S.x,M),y:e0(m.y,k.y,S.y,M)}},SZ=function(m,k,S,M){var O={x:k.x-m.x,y:k.y-m.y},N=d5(m,k),$={x:O.x/N,y:O.y/N};return S=S??0,M=M??S*N,{x:m.x+$.x*M,y:m.y+$.y*M}},K9=function(m,k,S){return Math.max(m,Math.min(S,k))},Qd=function(m){if(m==null)return{x1:1/0,y1:1/0,x2:-1/0,y2:-1/0,w:0,h:0};if(m.x1!=null&&m.y1!=null){if(m.x2!=null&&m.y2!=null&&m.x2>=m.x1&&m.y2>=m.y1)return{x1:m.x1,y1:m.y1,x2:m.x2,y2:m.y2,w:m.x2-m.x1,h:m.y2-m.y1};if(m.w!=null&&m.h!=null&&m.w>=0&&m.h>=0)return{x1:m.x1,y1:m.y1,x2:m.x1+m.w,y2:m.y1+m.h,w:m.w,h:m.h}}},_Z=function(m){return{x1:m.x1,x2:m.x2,w:m.w,y1:m.y1,y2:m.y2,h:m.h}},AZ=function(m){m.x1=1/0,m.y1=1/0,m.x2=-1/0,m.y2=-1/0,m.w=0,m.h=0},LZ=function(m,k,S){return{x1:m.x1+k,x2:m.x2+k,y1:m.y1+S,y2:m.y2+S,w:m.w,h:m.h}},yj=function(m,k){m.x1=Math.min(m.x1,k.x1),m.x2=Math.max(m.x2,k.x2),m.w=m.x2-m.x1,m.y1=Math.min(m.y1,k.y1),m.y2=Math.max(m.y2,k.y2),m.h=m.y2-m.y1},MZ=function(m,k,S){m.x1=Math.min(m.x1,k),m.x2=Math.max(m.x2,k),m.w=m.x2-m.x1,m.y1=Math.min(m.y1,S),m.y2=Math.max(m.y2,S),m.h=m.y2-m.y1},dS=function(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return m.x1-=k,m.x2+=k,m.y1-=k,m.y2+=k,m.w=m.x2-m.x1,m.h=m.y2-m.y1,m},gS=function(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],S,M,O,N;if(k.length===1)S=M=O=N=k[0];else if(k.length===2)S=O=k[0],N=M=k[1];else if(k.length===4){var $=y(k,4);S=$[0],M=$[1],O=$[2],N=$[3]}return m.x1-=N,m.x2+=M,m.y1-=S,m.y2+=O,m.w=m.x2-m.x1,m.h=m.y2-m.y1,m},xj=function(m,k){m.x1=k.x1,m.y1=k.y1,m.x2=k.x2,m.y2=k.y2,m.w=m.x2-m.x1,m.h=m.y2-m.y1},dI=function(m,k){return!(m.x1>k.x2||k.x1>m.x2||m.x2<k.x1||k.x2<m.x1||m.y2<k.y1||k.y2<m.y1||m.y1>k.y2||k.y1>m.y2)},t8=function(m,k,S){return m.x1<=k&&k<=m.x2&&m.y1<=S&&S<=m.y2},DZ=function(m,k){return t8(m,k.x,k.y)},kj=function(m,k){return t8(m,k.x1,k.y1)&&t8(m,k.x2,k.y2)},Tj=function(m,k,S,M,O,N,$){var H=X9(O,N),q=O/2,Y=N/2,Z;{var ce=S-q+H-$,ve=M-Y-$,me=S+q-H+$,Le=ve;if(Z=ny(m,k,S,M,ce,ve,me,Le,!1),Z.length>0)return Z}{var _e=S+q+$,Te=M-Y+H-$,Fe=_e,Re=M+Y-H+$;if(Z=ny(m,k,S,M,_e,Te,Fe,Re,!1),Z.length>0)return Z}{var Ve=S-q+H-$,ct=M+Y+$,st=S+q-H+$,Ye=ct;if(Z=ny(m,k,S,M,Ve,ct,st,Ye,!1),Z.length>0)return Z}{var vt=S-q-$,Qe=M-Y+H-$,Lt=vt,Mt=M+Y-H+$;if(Z=ny(m,k,S,M,vt,Qe,Lt,Mt,!1),Z.length>0)return Z}var ut;{var Yt=S-q+H,St=M-Y+H;if(ut=W9(m,k,S,M,Yt,St,H+$),ut.length>0&&ut[0]<=Yt&&ut[1]<=St)return[ut[0],ut[1]]}{var _n=S+q-H,fn=M-Y+H;if(ut=W9(m,k,S,M,_n,fn,H+$),ut.length>0&&ut[0]>=_n&&ut[1]<=fn)return[ut[0],ut[1]]}{var Xt=S+q-H,Dn=M+Y-H;if(ut=W9(m,k,S,M,Xt,Dn,H+$),ut.length>0&&ut[0]>=Xt&&ut[1]>=Dn)return[ut[0],ut[1]]}{var rr=S-q+H,mr=M+Y-H;if(ut=W9(m,k,S,M,rr,mr,H+$),ut.length>0&&ut[0]<=rr&&ut[1]>=mr)return[ut[0],ut[1]]}return[]},IZ=function(m,k,S,M,O,N,$){var H=$,q=Math.min(S,O),Y=Math.max(S,O),Z=Math.min(M,N),ce=Math.max(M,N);return q-H<=m&&m<=Y+H&&Z-H<=k&&k<=ce+H},OZ=function(m,k,S,M,O,N,$,H,q){var Y={x1:Math.min(S,$,O)-q,x2:Math.max(S,$,O)+q,y1:Math.min(M,H,N)-q,y2:Math.max(M,H,N)+q};return!(m<Y.x1||m>Y.x2||k<Y.y1||k>Y.y2)},NZ=function(m,k,S,M){S-=M;var O=k*k-4*m*S;if(O<0)return[];var N=Math.sqrt(O),$=2*m,H=(-k+N)/$,q=(-k-N)/$;return[H,q]},PZ=function(m,k,S,M,O){var N=1e-5;m===0&&(m=N),k/=m,S/=m,M/=m;var $,H,q,Y,Z,ce,ve,me;if(H=(3*S-k*k)/9,q=-(27*M)+k*(9*S-2*(k*k)),q/=54,$=H*H*H+q*q,O[1]=0,ve=k/3,$>0){Z=q+Math.sqrt($),Z=Z<0?-Math.pow(-Z,1/3):Math.pow(Z,1/3),ce=q-Math.sqrt($),ce=ce<0?-Math.pow(-ce,1/3):Math.pow(ce,1/3),O[0]=-ve+Z+ce,ve+=(Z+ce)/2,O[4]=O[2]=-ve,ve=Math.sqrt(3)*(-ce+Z)/2,O[3]=ve,O[5]=-ve;return}if(O[5]=O[3]=0,$===0){me=q<0?-Math.pow(-q,1/3):Math.pow(q,1/3),O[0]=-ve+2*me,O[4]=O[2]=-(me+ve);return}H=-H,Y=H*H*H,Y=Math.acos(q/Math.sqrt(Y)),me=2*Math.sqrt(H),O[0]=-ve+me*Math.cos(Y/3),O[2]=-ve+me*Math.cos((Y+2*Math.PI)/3),O[4]=-ve+me*Math.cos((Y+4*Math.PI)/3)},BZ=function(m,k,S,M,O,N,$,H){var q=1*S*S-4*S*O+2*S*$+4*O*O-4*O*$+$*$+M*M-4*M*N+2*M*H+4*N*N-4*N*H+H*H,Y=1*9*S*O-3*S*S-3*S*$-6*O*O+3*O*$+9*M*N-3*M*M-3*M*H-6*N*N+3*N*H,Z=1*3*S*S-6*S*O+S*$-S*m+2*O*O+2*O*m-$*m+3*M*M-6*M*N+M*H-M*k+2*N*N+2*N*k-H*k,ce=1*S*O-S*S+S*m-O*m+M*N-M*M+M*k-N*k,ve=[];PZ(q,Y,Z,ce,ve);for(var me=1e-7,Le=[],_e=0;_e<6;_e+=2)Math.abs(ve[_e+1])<me&&ve[_e]>=0&&ve[_e]<=1&&Le.push(ve[_e]);Le.push(1),Le.push(0);for(var Te=-1,Fe,Re,Ve,ct=0;ct<Le.length;ct++)Fe=Math.pow(1-Le[ct],2)*S+2*(1-Le[ct])*Le[ct]*O+Le[ct]*Le[ct]*$,Re=Math.pow(1-Le[ct],2)*M+2*(1-Le[ct])*Le[ct]*N+Le[ct]*Le[ct]*H,Ve=Math.pow(Fe-m,2)+Math.pow(Re-k,2),Te>=0?Ve<Te&&(Te=Ve):Te=Ve;return Te},FZ=function(m,k,S,M,O,N){var $=[m-S,k-M],H=[O-S,N-M],q=H[0]*H[0]+H[1]*H[1],Y=$[0]*$[0]+$[1]*$[1],Z=$[0]*H[0]+$[1]*H[1],ce=Z*Z/q;return Z<0?Y:ce>q?(m-O)*(m-O)+(k-N)*(k-N):Y-ce},Jd=function(m,k,S){for(var M,O,N,$,H,q=0,Y=0;Y<S.length/2;Y++)if(M=S[Y*2],O=S[Y*2+1],Y+1<S.length/2?(N=S[(Y+1)*2],$=S[(Y+1)*2+1]):(N=S[(Y+1-S.length/2)*2],$=S[(Y+1-S.length/2)*2+1]),!(M==m&&N==m))if(M>=m&&m>=N||M<=m&&m<=N)H=(m-M)/(N-M)*($-O)+O,H>k&&q++;else continue;return q%2!==0},Jv=function(m,k,S,M,O,N,$,H,q){var Y=new Array(S.length),Z;H[0]!=null?(Z=Math.atan(H[1]/H[0]),H[0]<0?Z=Z+Math.PI/2:Z=-Z-Math.PI/2):Z=H;for(var ce=Math.cos(-Z),ve=Math.sin(-Z),me=0;me<Y.length/2;me++)Y[me*2]=N/2*(S[me*2]*ce-S[me*2+1]*ve),Y[me*2+1]=$/2*(S[me*2+1]*ce+S[me*2]*ve),Y[me*2]+=M,Y[me*2+1]+=O;var Le;if(q>0){var _e=bS(Y,-q);Le=pS(_e)}else Le=Y;return Jd(m,k,Le)},RZ=function(m,k,S,M,O,N,$){for(var H=new Array(S.length),q=N/2,Y=$/2,Z=bI(N,$),ce=Z*Z,ve=0;ve<S.length/4;ve++){var me=void 0,Le=void 0;ve===0?me=S.length-2:me=ve*4-2,Le=ve*4+2;var _e=M+q*S[ve*4],Te=O+Y*S[ve*4+1],Fe=-S[me]*S[Le]-S[me+1]*S[Le+1],Re=Z/Math.tan(Math.acos(Fe)/2),Ve=_e-Re*S[me],ct=Te-Re*S[me+1],st=_e+Re*S[Le],Ye=Te+Re*S[Le+1];H[ve*4]=Ve,H[ve*4+1]=ct,H[ve*4+2]=st,H[ve*4+3]=Ye;var vt=S[me+1],Qe=-S[me],Lt=vt*S[Le]+Qe*S[Le+1];Lt<0&&(vt*=-1,Qe*=-1);var Mt=Ve+vt*Z,ut=ct+Qe*Z,Yt=Math.pow(Mt-m,2)+Math.pow(ut-k,2);if(Yt<=ce)return!0}return Jd(m,k,H)},pS=function(m){for(var k=new Array(m.length/2),S,M,O,N,$,H,q,Y,Z=0;Z<m.length/4;Z++){S=m[Z*4],M=m[Z*4+1],O=m[Z*4+2],N=m[Z*4+3],Z<m.length/4-1?($=m[(Z+1)*4],H=m[(Z+1)*4+1],q=m[(Z+1)*4+2],Y=m[(Z+1)*4+3]):($=m[0],H=m[1],q=m[2],Y=m[3]);var ce=ny(S,M,O,N,$,H,q,Y,!0);k[Z*2]=ce[0],k[Z*2+1]=ce[1]}return k},bS=function(m,k){for(var S=new Array(m.length*2),M,O,N,$,H=0;H<m.length/2;H++){M=m[H*2],O=m[H*2+1],H<m.length/2-1?(N=m[(H+1)*2],$=m[(H+1)*2+1]):(N=m[0],$=m[1]);var q=$-O,Y=-(N-M),Z=Math.sqrt(q*q+Y*Y),ce=q/Z,ve=Y/Z;S[H*4]=M+ce*k,S[H*4+1]=O+ve*k,S[H*4+2]=N+ce*k,S[H*4+3]=$+ve*k}return S},jZ=function(m,k,S,M,O,N){var $=S-m,H=M-k;$/=O,H/=N;var q=Math.sqrt($*$+H*H),Y=q-1;if(Y<0)return[];var Z=Y/q;return[(S-m)*Z+m,(M-k)*Z+k]},p5=function(m,k,S,M,O,N,$){return m-=O,k-=N,m/=S/2+$,k/=M/2+$,m*m+k*k<=1},W9=function(m,k,S,M,O,N,$){var H=[S-m,M-k],q=[m-O,k-N],Y=H[0]*H[0]+H[1]*H[1],Z=2*(q[0]*H[0]+q[1]*H[1]),ce=q[0]*q[0]+q[1]*q[1]-$*$,ve=Z*Z-4*Y*ce;if(ve<0)return[];var me=(-Z+Math.sqrt(ve))/(2*Y),Le=(-Z-Math.sqrt(ve))/(2*Y),_e=Math.min(me,Le),Te=Math.max(me,Le),Fe=[];if(_e>=0&&_e<=1&&Fe.push(_e),Te>=0&&Te<=1&&Fe.push(Te),Fe.length===0)return[];var Re=Fe[0]*H[0]+m,Ve=Fe[0]*H[1]+k;if(Fe.length>1){if(Fe[0]==Fe[1])return[Re,Ve];var ct=Fe[1]*H[0]+m,st=Fe[1]*H[1]+k;return[Re,Ve,ct,st]}else return[Re,Ve]},gI=function(m,k,S){return k<=m&&m<=S||S<=m&&m<=k?m:m<=k&&k<=S||S<=k&&k<=m?k:S},ny=function(m,k,S,M,O,N,$,H,q){var Y=m-O,Z=S-m,ce=$-O,ve=k-N,me=M-k,Le=H-N,_e=ce*ve-Le*Y,Te=Z*ve-me*Y,Fe=Le*Z-ce*me;if(Fe!==0){var Re=_e/Fe,Ve=Te/Fe,ct=.001,st=0-ct,Ye=1+ct;return st<=Re&&Re<=Ye&&st<=Ve&&Ve<=Ye?[m+Re*Z,k+Re*me]:q?[m+Re*Z,k+Re*me]:[]}else return _e===0||Te===0?gI(m,S,$)===$?[$,H]:gI(m,S,O)===O?[O,N]:gI(O,$,S)===S?[S,M]:[]:[]},Y9=function(m,k,S,M,O,N,$,H){var q=[],Y,Z=new Array(S.length),ce=!0;N==null&&(ce=!1);var ve;if(ce){for(var me=0;me<Z.length/2;me++)Z[me*2]=S[me*2]*N+M,Z[me*2+1]=S[me*2+1]*$+O;if(H>0){var Le=bS(Z,-H);ve=pS(Le)}else ve=Z}else ve=S;for(var _e,Te,Fe,Re,Ve=0;Ve<ve.length/2;Ve++)_e=ve[Ve*2],Te=ve[Ve*2+1],Ve<ve.length/2-1?(Fe=ve[(Ve+1)*2],Re=ve[(Ve+1)*2+1]):(Fe=ve[0],Re=ve[1]),Y=ny(m,k,M,O,_e,Te,Fe,Re),Y.length!==0&&q.push(Y[0],Y[1]);return q},$Z=function(m,k,S,M,O,N,$,H){for(var q=[],Y,Z=new Array(S.length),ce=N/2,ve=$/2,me=bI(N,$),Le=0;Le<S.length/4;Le++){var _e=void 0,Te=void 0;Le===0?_e=S.length-2:_e=Le*4-2,Te=Le*4+2;var Fe=M+ce*S[Le*4],Re=O+ve*S[Le*4+1],Ve=-S[_e]*S[Te]-S[_e+1]*S[Te+1],ct=me/Math.tan(Math.acos(Ve)/2),st=Fe-ct*S[_e],Ye=Re-ct*S[_e+1],vt=Fe+ct*S[Te],Qe=Re+ct*S[Te+1];Le===0?(Z[S.length-2]=st,Z[S.length-1]=Ye):(Z[Le*4-2]=st,Z[Le*4-1]=Ye),Z[Le*4]=vt,Z[Le*4+1]=Qe;var Lt=S[_e+1],Mt=-S[_e],ut=Lt*S[Te]+Mt*S[Te+1];ut<0&&(Lt*=-1,Mt*=-1);var Yt=st+Lt*me,St=Ye+Mt*me;Y=W9(m,k,M,O,Yt,St,me),Y.length!==0&&q.push(Y[0],Y[1])}for(var _n=0;_n<Z.length/4;_n++)Y=ny(m,k,M,O,Z[_n*4],Z[_n*4+1],Z[_n*4+2],Z[_n*4+3],!1),Y.length!==0&&q.push(Y[0],Y[1]);if(q.length>2){for(var fn=[q[0],q[1]],Xt=Math.pow(fn[0]-m,2)+Math.pow(fn[1]-k,2),Dn=1;Dn<q.length/2;Dn++){var rr=Math.pow(q[Dn*2]-m,2)+Math.pow(q[Dn*2+1]-k,2);rr<=Xt&&(fn[0]=q[Dn*2],fn[1]=q[Dn*2+1],Xt=rr)}return fn}return q},mS=function(m,k,S){var M=[m[0]-k[0],m[1]-k[1]],O=Math.sqrt(M[0]*M[0]+M[1]*M[1]),N=(O-S)/O;return N<0&&(N=1e-5),[k[0]+N*M[0],k[1]+N*M[1]]},hd=function(m,k){var S=pI(m,k);return S=Ej(S),S},Ej=function(m){for(var k,S,M=m.length/2,O=1/0,N=1/0,$=-1/0,H=-1/0,q=0;q<M;q++)k=m[2*q],S=m[2*q+1],O=Math.min(O,k),$=Math.max($,k),N=Math.min(N,S),H=Math.max(H,S);for(var Y=2/($-O),Z=2/(H-N),ce=0;ce<M;ce++)k=m[2*ce]=m[2*ce]*Y,S=m[2*ce+1]=m[2*ce+1]*Z,O=Math.min(O,k),$=Math.max($,k),N=Math.min(N,S),H=Math.max(H,S);if(N<-1)for(var ve=0;ve<M;ve++)S=m[2*ve+1]=m[2*ve+1]+(-1-N);return m},pI=function(m,k){var S=1/m*2*Math.PI,M=m%2===0?Math.PI/2+S/2:Math.PI/2;M+=k;for(var O=new Array(m*2),N,$=0;$<m;$++)N=$*S+M,O[2*$]=Math.cos(N),O[2*$+1]=Math.sin(-N);return O},X9=function(m,k){return Math.min(m/4,k/4,8)},bI=function(m,k){return Math.min(m/10,k/10,8)},Cj=function(){return 8},zZ=function(m,k,S){return[m-2*k+S,2*(k-m),m]},mI=function(m,k){return{heightOffset:Math.min(15,.05*k),widthOffset:Math.min(100,.25*m),ctrlPtOffsetPct:.05}},qZ=z0({dampingFactor:.8,precision:1e-6,iterations:200,weight:function(m){return 1}}),HZ={pageRank:function(m){for(var k=qZ(m),S=k.dampingFactor,M=k.precision,O=k.iterations,N=k.weight,$=this._private.cy,H=this.byGroup(),q=H.nodes,Y=H.edges,Z=q.length,ce=Z*Z,ve=Y.length,me=new Array(ce),Le=new Array(Z),_e=(1-S)/Z,Te=0;Te<Z;Te++){for(var Fe=0;Fe<Z;Fe++){var Re=Te*Z+Fe;me[Re]=0}Le[Te]=0}for(var Ve=0;Ve<ve;Ve++){var ct=Y[Ve],st=ct.data("source"),Ye=ct.data("target");if(st!==Ye){var vt=q.indexOfId(st),Qe=q.indexOfId(Ye),Lt=N(ct),Mt=Qe*Z+vt;me[Mt]+=Lt,Le[vt]+=Lt}}for(var ut=1/Z+_e,Yt=0;Yt<Z;Yt++)if(Le[Yt]===0)for(var St=0;St<Z;St++){var _n=St*Z+Yt;me[_n]=ut}else for(var fn=0;fn<Z;fn++){var Xt=fn*Z+Yt;me[Xt]=me[Xt]/Le[Yt]+_e}for(var Dn=new Array(Z),rr=new Array(Z),mr,Pn=0;Pn<Z;Pn++)Dn[Pn]=1;for(var gr=0;gr<O;gr++){for(var kr=0;kr<Z;kr++)rr[kr]=0;for(var Lr=0;Lr<Z;Lr++)for(var Er=0;Er<Z;Er++){var Ir=Lr*Z+Er;rr[Lr]+=me[Ir]*Dn[Er]}CZ(rr),mr=Dn,Dn=rr,rr=mr;for(var Kn=0,pr=0;pr<Z;pr++){var Cr=mr[pr]-Dn[pr];Kn+=Cr*Cr}if(Kn<M)break}var Or={rank:function(xs){return xs=$.collection(xs)[0],Dn[q.indexOf(xs)]}};return Or}},Sj=z0({root:null,weight:function(m){return 1},directed:!1,alpha:0}),n8={degreeCentralityNormalized:function(m){m=Sj(m);var k=this.cy(),S=this.nodes(),M=S.length;if(m.directed){for(var Y={},Z={},ce=0,ve=0,me=0;me<M;me++){var Le=S[me],_e=Le.id();m.root=Le;var Te=this.degreeCentrality(m);ce<Te.indegree&&(ce=Te.indegree),ve<Te.outdegree&&(ve=Te.outdegree),Y[_e]=Te.indegree,Z[_e]=Te.outdegree}return{indegree:function(Re){return ce==0?0:(ge(Re)&&(Re=k.filter(Re)),Y[Re.id()]/ce)},outdegree:function(Re){return ve===0?0:(ge(Re)&&(Re=k.filter(Re)),Z[Re.id()]/ve)}}}else{for(var O={},N=0,$=0;$<M;$++){var H=S[$];m.root=H;var q=this.degreeCentrality(m);N<q.degree&&(N=q.degree),O[H.id()]=q.degree}return{degree:function(Re){return N===0?0:(ge(Re)&&(Re=k.filter(Re)),O[Re.id()]/N)}}}},degreeCentrality:function(m){m=Sj(m);var k=this.cy(),S=this,M=m,O=M.root,N=M.weight,$=M.directed,H=M.alpha;if(O=k.collection(O)[0],$){for(var ve=O.connectedEdges(),me=ve.filter(function(st){return st.target().same(O)&&S.has(st)}),Le=ve.filter(function(st){return st.source().same(O)&&S.has(st)}),_e=me.length,Te=Le.length,Fe=0,Re=0,Ve=0;Ve<me.length;Ve++)Fe+=N(me[Ve]);for(var ct=0;ct<Le.length;ct++)Re+=N(Le[ct]);return{indegree:Math.pow(_e,1-H)*Math.pow(Fe,H),outdegree:Math.pow(Te,1-H)*Math.pow(Re,H)}}else{for(var q=O.connectedEdges().intersection(S),Y=q.length,Z=0,ce=0;ce<q.length;ce++)Z+=N(q[ce]);return{degree:Math.pow(Y,1-H)*Math.pow(Z,H)}}}};n8.dc=n8.degreeCentrality,n8.dcn=n8.degreeCentralityNormalised=n8.degreeCentralityNormalized;var _j=z0({harmonic:!0,weight:function(){return 1},directed:!1,root:null}),r8={closenessCentralityNormalized:function(m){for(var k=_j(m),S=k.harmonic,M=k.weight,O=k.directed,N=this.cy(),$={},H=0,q=this.nodes(),Y=this.floydWarshall({weight:M,directed:O}),Z=0;Z<q.length;Z++){for(var ce=0,ve=q[Z],me=0;me<q.length;me++)if(Z!==me){var Le=Y.distance(ve,q[me]);S?ce+=1/Le:ce+=Le}S||(ce=1/ce),H<ce&&(H=ce),$[ve.id()]=ce}return{closeness:function(Te){return H==0?0:(ge(Te)?Te=N.filter(Te)[0].id():Te=Te.id(),$[Te]/H)}}},closenessCentrality:function(m){var k=_j(m),S=k.root,M=k.weight,O=k.directed,N=k.harmonic;S=this.filter(S)[0];for(var $=this.dijkstra({root:S,weight:M,directed:O}),H=0,q=this.nodes(),Y=0;Y<q.length;Y++){var Z=q[Y];if(!Z.same(S)){var ce=$.distanceTo(Z);N?H+=1/ce:H+=ce}}return N?H:1/H}};r8.cc=r8.closenessCentrality,r8.ccn=r8.closenessCentralityNormalised=r8.closenessCentralityNormalized;var UZ=z0({weight:null,directed:!1}),vI={betweennessCentrality:function(m){for(var k=UZ(m),S=k.directed,M=k.weight,O=M!=null,N=this.cy(),$=this.nodes(),H={},q={},Y=0,Z={set:function(Re,Ve){q[Re]=Ve,Ve>Y&&(Y=Ve)},get:function(Re){return q[Re]}},ce=0;ce<$.length;ce++){var ve=$[ce],me=ve.id();S?H[me]=ve.outgoers().nodes():H[me]=ve.openNeighborhood().nodes(),Z.set(me,0)}for(var Le=function(Re){for(var Ve=$[Re].id(),ct=[],st={},Ye={},vt={},Qe=new G9(function(Er,Ir){return vt[Er]-vt[Ir]}),Lt=0;Lt<$.length;Lt++){var Mt=$[Lt].id();st[Mt]=[],Ye[Mt]=0,vt[Mt]=1/0}for(Ye[Ve]=1,vt[Ve]=0,Qe.push(Ve);!Qe.empty();){var ut=Qe.pop();if(ct.push(ut),O)for(var Yt=0;Yt<H[ut].length;Yt++){var St=H[ut][Yt],_n=N.getElementById(ut),fn=void 0;_n.edgesTo(St).length>0?fn=_n.edgesTo(St)[0]:fn=St.edgesTo(_n)[0];var Xt=M(fn);St=St.id(),vt[St]>vt[ut]+Xt&&(vt[St]=vt[ut]+Xt,Qe.nodes.indexOf(St)<0?Qe.push(St):Qe.updateItem(St),Ye[St]=0,st[St]=[]),vt[St]==vt[ut]+Xt&&(Ye[St]=Ye[St]+Ye[ut],st[St].push(ut))}else for(var Dn=0;Dn<H[ut].length;Dn++){var rr=H[ut][Dn].id();vt[rr]==1/0&&(Qe.push(rr),vt[rr]=vt[ut]+1),vt[rr]==vt[ut]+1&&(Ye[rr]=Ye[rr]+Ye[ut],st[rr].push(ut))}}for(var mr={},Pn=0;Pn<$.length;Pn++)mr[$[Pn].id()]=0;for(;ct.length>0;){for(var gr=ct.pop(),kr=0;kr<st[gr].length;kr++){var Lr=st[gr][kr];mr[Lr]=mr[Lr]+Ye[Lr]/Ye[gr]*(1+mr[gr])}gr!=$[Re].id()&&Z.set(gr,Z.get(gr)+mr[gr])}},_e=0;_e<$.length;_e++)Le(_e);var Te={betweenness:function(Re){var Ve=N.collection(Re).id();return Z.get(Ve)},betweennessNormalized:function(Re){if(Y==0)return 0;var Ve=N.collection(Re).id();return Z.get(Ve)/Y}};return Te.betweennessNormalised=Te.betweennessNormalized,Te}};vI.bc=vI.betweennessCentrality;var VZ=z0({expandFactor:2,inflateFactor:2,multFactor:1,maxIterations:20,attributes:[function(x){return 1}]}),GZ=function(m){return VZ(m)},KZ=function(m,k){for(var S=0,M=0;M<k.length;M++)S+=k[M](m);return S},WZ=function(m,k,S){for(var M=0;M<k;M++)m[M*k+M]=S},Aj=function(m,k){for(var S,M=0;M<k;M++){S=0;for(var O=0;O<k;O++)S+=m[O*k+M];for(var N=0;N<k;N++)m[N*k+M]=m[N*k+M]/S}},YZ=function(m,k,S){for(var M=new Array(S*S),O=0;O<S;O++){for(var N=0;N<S;N++)M[O*S+N]=0;for(var $=0;$<S;$++)for(var H=0;H<S;H++)M[O*S+H]+=m[O*S+$]*k[$*S+H]}return M},XZ=function(m,k,S){for(var M=m.slice(0),O=1;O<S;O++)m=YZ(m,M,k);return m},Lj=function(m,k,S){for(var M=new Array(k*k),O=0;O<k*k;O++)M[O]=Math.pow(m[O],S);return Aj(M,k),M},QZ=function(m,k,S,M){for(var O=0;O<S;O++){var N=Math.round(m[O]*Math.pow(10,M))/Math.pow(10,M),$=Math.round(k[O]*Math.pow(10,M))/Math.pow(10,M);if(N!==$)return!1}return!0},JZ=function(m,k,S,M){for(var O=[],N=0;N<k;N++){for(var $=[],H=0;H<k;H++)Math.round(m[N*k+H]*1e3)/1e3>0&&$.push(S[H]);$.length!==0&&O.push(M.collection($))}return O},ZZ=function(m,k){for(var S=0;S<m.length;S++)if(!k[S]||m[S].id()!==k[S].id())return!1;return!0},eee=function(m){for(var k=0;k<m.length;k++)for(var S=0;S<m.length;S++)k!=S&&ZZ(m[k],m[S])&&m.splice(S,1);return m},Mj=function(m){for(var k=this.nodes(),S=this.edges(),M=this.cy(),O=GZ(m),N={},$=0;$<k.length;$++)N[k[$].id()]=$;for(var H=k.length,q=H*H,Y=new Array(q),Z,ce=0;ce<q;ce++)Y[ce]=0;for(var ve=0;ve<S.length;ve++){var me=S[ve],Le=N[me.source().id()],_e=N[me.target().id()],Te=KZ(me,O.attributes);Y[Le*H+_e]+=Te,Y[_e*H+Le]+=Te}WZ(Y,H,O.multFactor),Aj(Y,H);for(var Fe=!0,Re=0;Fe&&Re<O.maxIterations;)Fe=!1,Z=XZ(Y,H,O.expandFactor),Y=Lj(Z,H,O.inflateFactor),QZ(Y,Z,q,4)||(Fe=!0),Re++;var Ve=JZ(Y,H,k,M);return Ve=eee(Ve),Ve},tee={markovClustering:Mj,mcl:Mj},nee=function(m){return m},Dj=function(m,k){return Math.abs(k-m)},Ij=function(m,k,S){return m+Dj(k,S)},Oj=function(m,k,S){return m+Math.pow(S-k,2)},ree=function(m){return Math.sqrt(m)},iee=function(m,k,S){return Math.max(m,Dj(k,S))},Q9=function(m,k,S,M,O){for(var N=arguments.length>5&&arguments[5]!==void 0?arguments[5]:nee,$=M,H,q,Y=0;Y<m;Y++)H=k(Y),q=S(Y),$=O($,H,q);return N($)},i8={euclidean:function(m,k,S){return m>=2?Q9(m,k,S,0,Oj,ree):Q9(m,k,S,0,Ij)},squaredEuclidean:function(m,k,S){return Q9(m,k,S,0,Oj)},manhattan:function(m,k,S){return Q9(m,k,S,0,Ij)},max:function(m,k,S){return Q9(m,k,S,-1/0,iee)}};i8["squared-euclidean"]=i8.squaredEuclidean,i8.squaredeuclidean=i8.squaredEuclidean;function vS(x,m,k,S,M,O){var N;return ae(x)?N=x:N=i8[x]||i8.euclidean,m===0&&ae(x)?N(M,O):N(m,k,S,M,O)}var see=z0({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),wI=function(m){return see(m)},wS=function(m,k,S,M,O){var N=O!=="kMedoids",$=N?function(Z){return S[Z]}:function(Z){return M[Z](S)},H=function(ce){return M[ce](k)},q=S,Y=k;return vS(m,M.length,$,H,q,Y)},yI=function(m,k,S){for(var M=S.length,O=new Array(M),N=new Array(M),$=new Array(k),H=null,q=0;q<M;q++)O[q]=m.min(S[q]).value,N[q]=m.max(S[q]).value;for(var Y=0;Y<k;Y++){H=[];for(var Z=0;Z<M;Z++)H[Z]=Math.random()*(N[Z]-O[Z])+O[Z];$[Y]=H}return $},Nj=function(m,k,S,M,O){for(var N=1/0,$=0,H=0;H<k.length;H++){var q=wS(S,m,k[H],M,O);q<N&&(N=q,$=H)}return $},Pj=function(m,k,S){for(var M=[],O=null,N=0;N<k.length;N++)O=k[N],S[O.id()]===m&&M.push(O);return M},aee=function(m,k,S){return Math.abs(k-m)<=S},oee=function(m,k,S){for(var M=0;M<m.length;M++)for(var O=0;O<m[M].length;O++){var N=Math.abs(m[M][O]-k[M][O]);if(N>S)return!1}return!0},cee=function(m,k,S){for(var M=0;M<S;M++)if(m===k[M])return!0;return!1},Bj=function(m,k){var S=new Array(k);if(m.length<50)for(var M=0;M<k;M++){for(var O=m[Math.floor(Math.random()*m.length)];cee(O,S,M);)O=m[Math.floor(Math.random()*m.length)];S[M]=O}else for(var N=0;N<k;N++)S[N]=m[Math.floor(Math.random()*m.length)];return S},Fj=function(m,k,S){for(var M=0,O=0;O<k.length;O++)M+=wS("manhattan",k[O],m,S,"kMedoids");return M},uee=function(m){var k=this.cy(),S=this.nodes(),M=null,O=wI(m),N=new Array(O.k),$={},H;O.testMode?typeof O.testCentroids=="number"?(O.testCentroids,H=yI(S,O.k,O.attributes)):u(O.testCentroids)==="object"?H=O.testCentroids:H=yI(S,O.k,O.attributes):H=yI(S,O.k,O.attributes);for(var q=!0,Y=0;q&&Y<O.maxIterations;){for(var Z=0;Z<S.length;Z++)M=S[Z],$[M.id()]=Nj(M,H,O.distance,O.attributes,"kMeans");q=!1;for(var ce=0;ce<O.k;ce++){var ve=Pj(ce,S,$);if(ve.length!==0){for(var me=O.attributes.length,Le=H[ce],_e=new Array(me),Te=new Array(me),Fe=0;Fe<me;Fe++){Te[Fe]=0;for(var Re=0;Re<ve.length;Re++)M=ve[Re],Te[Fe]+=O.attributes[Fe](M);_e[Fe]=Te[Fe]/ve.length,aee(_e[Fe],Le[Fe],O.sensitivityThreshold)||(q=!0)}H[ce]=_e,N[ce]=k.collection(ve)}}Y++}return N},lee=function(m){var k=this.cy(),S=this.nodes(),M=null,O=wI(m),N=new Array(O.k),$,H={},q,Y=new Array(O.k);O.testMode?typeof O.testCentroids=="number"||(u(O.testCentroids)==="object"?$=O.testCentroids:$=Bj(S,O.k)):$=Bj(S,O.k);for(var Z=!0,ce=0;Z&&ce<O.maxIterations;){for(var ve=0;ve<S.length;ve++)M=S[ve],H[M.id()]=Nj(M,$,O.distance,O.attributes,"kMedoids");Z=!1;for(var me=0;me<$.length;me++){var Le=Pj(me,S,H);if(Le.length!==0){Y[me]=Fj($[me],Le,O.attributes);for(var _e=0;_e<Le.length;_e++)q=Fj(Le[_e],Le,O.attributes),q<Y[me]&&(Y[me]=q,$[me]=Le[_e],Z=!0);N[me]=k.collection(Le)}}ce++}return N},hee=function(m,k,S,M,O){for(var N,$,H=0;H<k.length;H++)for(var q=0;q<m.length;q++)M[H][q]=Math.pow(S[H][q],O.m);for(var Y=0;Y<m.length;Y++)for(var Z=0;Z<O.attributes.length;Z++){N=0,$=0;for(var ce=0;ce<k.length;ce++)N+=M[ce][Y]*O.attributes[Z](k[ce]),$+=M[ce][Y];m[Y][Z]=N/$}},fee=function(m,k,S,M,O){for(var N=0;N<m.length;N++)k[N]=m[N].slice();for(var $,H,q,Y=2/(O.m-1),Z=0;Z<S.length;Z++)for(var ce=0;ce<M.length;ce++){$=0;for(var ve=0;ve<S.length;ve++)H=wS(O.distance,M[ce],S[Z],O.attributes,"cmeans"),q=wS(O.distance,M[ce],S[ve],O.attributes,"cmeans"),$+=Math.pow(H/q,Y);m[ce][Z]=1/$}},dee=function(m,k,S,M){for(var O=new Array(S.k),N=0;N<O.length;N++)O[N]=[];for(var $,H,q=0;q<k.length;q++){$=-1/0,H=-1;for(var Y=0;Y<k[0].length;Y++)k[q][Y]>$&&($=k[q][Y],H=Y);O[H].push(m[q])}for(var Z=0;Z<O.length;Z++)O[Z]=M.collection(O[Z]);return O},Rj=function(m){var k=this.cy(),S=this.nodes(),M=wI(m),O,N,$,H,q;H=new Array(S.length);for(var Y=0;Y<S.length;Y++)H[Y]=new Array(M.k);$=new Array(S.length);for(var Z=0;Z<S.length;Z++)$[Z]=new Array(M.k);for(var ce=0;ce<S.length;ce++){for(var ve=0,me=0;me<M.k;me++)$[ce][me]=Math.random(),ve+=$[ce][me];for(var Le=0;Le<M.k;Le++)$[ce][Le]=$[ce][Le]/ve}N=new Array(M.k);for(var _e=0;_e<M.k;_e++)N[_e]=new Array(M.attributes.length);q=new Array(S.length);for(var Te=0;Te<S.length;Te++)q[Te]=new Array(M.k);for(var Fe=!0,Re=0;Fe&&Re<M.maxIterations;)Fe=!1,hee(N,S,$,q,M),fee($,H,N,S,M),oee($,H,M.sensitivityThreshold)||(Fe=!0),Re++;return O=dee(S,$,M,k),{clusters:O,degreeOfMembership:$}},gee={kMeans:uee,kMedoids:lee,fuzzyCMeans:Rj,fcm:Rj},pee=z0({distance:"euclidean",linkage:"min",mode:"threshold",threshold:1/0,addDendrogram:!1,dendrogramDepth:0,attributes:[]}),bee={single:"min",complete:"max"},mee=function(m){var k=pee(m),S=bee[k.linkage];return S!=null&&(k.linkage=S),k},jj=function(m,k,S,M,O){for(var N=0,$=1/0,H,q=O.attributes,Y=function(Qe,Lt){return vS(O.distance,q.length,function(Mt){return q[Mt](Qe)},function(Mt){return q[Mt](Lt)},Qe,Lt)},Z=0;Z<m.length;Z++){var ce=m[Z].key,ve=S[ce][M[ce]];ve<$&&(N=ce,$=ve)}if(O.mode==="threshold"&&$>=O.threshold||O.mode==="dendrogram"&&m.length===1)return!1;var me=k[N],Le=k[M[N]],_e;O.mode==="dendrogram"?_e={left:me,right:Le,key:me.key}:_e={value:me.value.concat(Le.value),key:me.key},m[me.index]=_e,m.splice(Le.index,1),k[me.key]=_e;for(var Te=0;Te<m.length;Te++){var Fe=m[Te];me.key===Fe.key?H=1/0:O.linkage==="min"?(H=S[me.key][Fe.key],S[me.key][Fe.key]>S[Le.key][Fe.key]&&(H=S[Le.key][Fe.key])):O.linkage==="max"?(H=S[me.key][Fe.key],S[me.key][Fe.key]<S[Le.key][Fe.key]&&(H=S[Le.key][Fe.key])):O.linkage==="mean"?H=(S[me.key][Fe.key]*me.size+S[Le.key][Fe.key]*Le.size)/(me.size+Le.size):O.mode==="dendrogram"?H=Y(Fe.value,me.value):H=Y(Fe.value[0],me.value[0]),S[me.key][Fe.key]=S[Fe.key][me.key]=H}for(var Re=0;Re<m.length;Re++){var Ve=m[Re].key;if(M[Ve]===me.key||M[Ve]===Le.key){for(var ct=Ve,st=0;st<m.length;st++){var Ye=m[st].key;S[Ve][Ye]<S[Ve][ct]&&(ct=Ye)}M[Ve]=ct}m[Re].index=Re}return me.key=Le.key=me.index=Le.index=null,!0},yS=function x(m,k,S){m&&(m.value?k.push(m.value):(m.left&&x(m.left,k),m.right&&x(m.right,k)))},vee=function x(m,k){if(!m)return"";if(m.left&&m.right){var S=x(m.left,k),M=x(m.right,k),O=k.add({group:"nodes",data:{id:S+","+M}});return k.add({group:"edges",data:{source:S,target:O.id()}}),k.add({group:"edges",data:{source:M,target:O.id()}}),O.id()}else if(m.value)return m.value.id()},wee=function x(m,k,S){if(!m)return[];var M=[],O=[],N=[];return k===0?(m.left&&yS(m.left,M),m.right&&yS(m.right,O),N=M.concat(O),[S.collection(N)]):k===1?m.value?[S.collection(m.value)]:(m.left&&yS(m.left,M),m.right&&yS(m.right,O),[S.collection(M),S.collection(O)]):m.value?[S.collection(m.value)]:(m.left&&(M=x(m.left,k-1,S)),m.right&&(O=x(m.right,k-1,S)),M.concat(O))},$j=function(m){for(var k=this.cy(),S=this.nodes(),M=mee(m),O=M.attributes,N=function(Re,Ve){return vS(M.distance,O.length,function(ct){return O[ct](Re)},function(ct){return O[ct](Ve)},Re,Ve)},$=[],H=[],q=[],Y=[],Z=0;Z<S.length;Z++){var ce={value:M.mode==="dendrogram"?S[Z]:[S[Z]],key:Z,index:Z};$[Z]=ce,Y[Z]=ce,H[Z]=[],q[Z]=0}for(var ve=0;ve<$.length;ve++)for(var me=0;me<=ve;me++){var Le=void 0;M.mode==="dendrogram"?Le=ve===me?1/0:N($[ve].value,$[me].value):Le=ve===me?1/0:N($[ve].value[0],$[me].value[0]),H[ve][me]=Le,H[me][ve]=Le,Le<H[ve][q[ve]]&&(q[ve]=me)}for(var _e=jj($,Y,H,q,M);_e;)_e=jj($,Y,H,q,M);var Te;return M.mode==="dendrogram"?(Te=wee($[0],M.dendrogramDepth,k),M.addDendrogram&&vee($[0],k)):(Te=new Array($.length),$.forEach(function(Fe,Re){Fe.key=Fe.index=null,Te[Re]=k.collection(Fe.value)})),Te},yee={hierarchicalClustering:$j,hca:$j},xee=z0({distance:"euclidean",preference:"median",damping:.8,maxIterations:1e3,minIterations:100,attributes:[]}),kee=function(m){var k=m.damping,S=m.preference;.5<=k&&k<1||sh("Damping must range on [0.5, 1). Got: ".concat(k));var M=["median","mean","min","max"];return M.some(function(O){return O===S})||X(S)||sh("Preference must be one of [".concat(M.map(function(O){return"'".concat(O,"'")}).join(", "),"] or a number. Got: ").concat(S)),xee(m)},Tee=function(m,k,S,M){var O=function($,H){return M[H]($)};return-vS(m,M.length,function(N){return O(k,N)},function(N){return O(S,N)},k,S)},Eee=function(m,k){var S=null;return k==="median"?S=TZ(m):k==="mean"?S=kZ(m):k==="min"?S=yZ(m):k==="max"?S=xZ(m):S=k,S},Cee=function(m,k,S){for(var M=[],O=0;O<m;O++)k[O*m+O]+S[O*m+O]>0&&M.push(O);return M},zj=function(m,k,S){for(var M=[],O=0;O<m;O++){for(var N=-1,$=-1/0,H=0;H<S.length;H++){var q=S[H];k[O*m+q]>$&&(N=q,$=k[O*m+q])}N>0&&M.push(N)}for(var Y=0;Y<S.length;Y++)M[S[Y]]=S[Y];return M},See=function(m,k,S){for(var M=zj(m,k,S),O=0;O<S.length;O++){for(var N=[],$=0;$<M.length;$++)M[$]===S[O]&&N.push($);for(var H=-1,q=-1/0,Y=0;Y<N.length;Y++){for(var Z=0,ce=0;ce<N.length;ce++)Z+=k[N[ce]*m+N[Y]];Z>q&&(H=Y,q=Z)}S[O]=N[H]}return M=zj(m,k,S),M},qj=function(m){for(var k=this.cy(),S=this.nodes(),M=kee(m),O={},N=0;N<S.length;N++)O[S[N].id()]=N;var $,H,q,Y,Z,ce;$=S.length,H=$*$,q=new Array(H);for(var ve=0;ve<H;ve++)q[ve]=-1/0;for(var me=0;me<$;me++)for(var Le=0;Le<$;Le++)me!==Le&&(q[me*$+Le]=Tee(M.distance,S[me],S[Le],M.attributes));Y=Eee(q,M.preference);for(var _e=0;_e<$;_e++)q[_e*$+_e]=Y;Z=new Array(H);for(var Te=0;Te<H;Te++)Z[Te]=0;ce=new Array(H);for(var Fe=0;Fe<H;Fe++)ce[Fe]=0;for(var Re=new Array($),Ve=new Array($),ct=new Array($),st=0;st<$;st++)Re[st]=0,Ve[st]=0,ct[st]=0;for(var Ye=new Array($*M.minIterations),vt=0;vt<Ye.length;vt++)Ye[vt]=0;var Qe;for(Qe=0;Qe<M.maxIterations;Qe++){for(var Lt=0;Lt<$;Lt++){for(var Mt=-1/0,ut=-1/0,Yt=-1,St=0,_n=0;_n<$;_n++)Re[_n]=Z[Lt*$+_n],St=ce[Lt*$+_n]+q[Lt*$+_n],St>=Mt?(ut=Mt,Mt=St,Yt=_n):St>ut&&(ut=St);for(var fn=0;fn<$;fn++)Z[Lt*$+fn]=(1-M.damping)*(q[Lt*$+fn]-Mt)+M.damping*Re[fn];Z[Lt*$+Yt]=(1-M.damping)*(q[Lt*$+Yt]-ut)+M.damping*Re[Yt]}for(var Xt=0;Xt<$;Xt++){for(var Dn=0,rr=0;rr<$;rr++)Re[rr]=ce[rr*$+Xt],Ve[rr]=Math.max(0,Z[rr*$+Xt]),Dn+=Ve[rr];Dn-=Ve[Xt],Ve[Xt]=Z[Xt*$+Xt],Dn+=Ve[Xt];for(var mr=0;mr<$;mr++)ce[mr*$+Xt]=(1-M.damping)*Math.min(0,Dn-Ve[mr])+M.damping*Re[mr];ce[Xt*$+Xt]=(1-M.damping)*(Dn-Ve[Xt])+M.damping*Re[Xt]}for(var Pn=0,gr=0;gr<$;gr++){var kr=ce[gr*$+gr]+Z[gr*$+gr]>0?1:0;Ye[Qe%M.minIterations*$+gr]=kr,Pn+=kr}if(Pn>0&&(Qe>=M.minIterations-1||Qe==M.maxIterations-1)){for(var Lr=0,Er=0;Er<$;Er++){ct[Er]=0;for(var Ir=0;Ir<M.minIterations;Ir++)ct[Er]+=Ye[Ir*$+Er];(ct[Er]===0||ct[Er]===M.minIterations)&&Lr++}if(Lr===$)break}}for(var Kn=Cee($,Z,ce),pr=See($,q,Kn),Cr={},Or=0;Or<Kn.length;Or++)Cr[Kn[Or]]=[];for(var _i=0;_i<S.length;_i++){var xs=O[S[_i].id()],va=pr[xs];va!=null&&Cr[va].push(S[_i])}for(var Di=new Array(Kn.length),pi=0;pi<Kn.length;pi++)Di[pi]=k.collection(Cr[Kn[pi]]);return Di},_ee={affinityPropagation:qj,ap:qj},Aee=z0({root:void 0,directed:!1}),Lee={hierholzer:function(m){if(!se(m)){var k=arguments;m={root:k[0],directed:k[1]}}var S=Aee(m),M=S.root,O=S.directed,N=this,$=!1,H,q,Y;M&&(Y=ge(M)?this.filter(M)[0].id():M[0].id());var Z={},ce={};O?N.forEach(function(Fe){var Re=Fe.id();if(Fe.isNode()){var Ve=Fe.indegree(!0),ct=Fe.outdegree(!0),st=Ve-ct,Ye=ct-Ve;st==1?H?$=!0:H=Re:Ye==1?q?$=!0:q=Re:(Ye>1||st>1)&&($=!0),Z[Re]=[],Fe.outgoers().forEach(function(vt){vt.isEdge()&&Z[Re].push(vt.id())})}else ce[Re]=[void 0,Fe.target().id()]}):N.forEach(function(Fe){var Re=Fe.id();if(Fe.isNode()){var Ve=Fe.degree(!0);Ve%2&&(H?q?$=!0:q=Re:H=Re),Z[Re]=[],Fe.connectedEdges().forEach(function(ct){return Z[Re].push(ct.id())})}else ce[Re]=[Fe.source().id(),Fe.target().id()]});var ve={found:!1,trail:void 0};if($)return ve;if(q&&H)if(O){if(Y&&q!=Y)return ve;Y=q}else{if(Y&&q!=Y&&H!=Y)return ve;Y||(Y=q)}else Y||(Y=N[0].id());var me=function(Re){for(var Ve=Re,ct=[Re],st,Ye,vt;Z[Ve].length;)st=Z[Ve].shift(),Ye=ce[st][0],vt=ce[st][1],Ve!=vt?(Z[vt]=Z[vt].filter(function(Qe){return Qe!=st}),Ve=vt):!O&&Ve!=Ye&&(Z[Ye]=Z[Ye].filter(function(Qe){return Qe!=st}),Ve=Ye),ct.unshift(st),ct.unshift(Ve);return ct},Le=[],_e=[];for(_e=me(Y);_e.length!=1;)Z[_e[0]].length==0?(Le.unshift(N.getElementById(_e.shift())),Le.unshift(N.getElementById(_e.shift()))):_e=me(_e.shift()).concat(_e);Le.unshift(N.getElementById(_e.shift()));for(var Te in Z)if(Z[Te].length)return ve;return ve.found=!0,ve.trail=this.spawn(Le,!0),ve}},xS=function(){var m=this,k={},S=0,M=0,O=[],N=[],$={},H=function(ce,ve){for(var me=N.length-1,Le=[],_e=m.spawn();N[me].x!=ce||N[me].y!=ve;)Le.push(N.pop().edge),me--;Le.push(N.pop().edge),Le.forEach(function(Te){var Fe=Te.connectedNodes().intersection(m);_e.merge(Te),Fe.forEach(function(Re){var Ve=Re.id(),ct=Re.connectedEdges().intersection(m);_e.merge(Re),k[Ve].cutVertex?_e.merge(ct.filter(function(st){return st.isLoop()})):_e.merge(ct)})}),O.push(_e)},q=function Z(ce,ve,me){ce===me&&(M+=1),k[ve]={id:S,low:S++,cutVertex:!1};var Le=m.getElementById(ve).connectedEdges().intersection(m);if(Le.size()===0)O.push(m.spawn(m.getElementById(ve)));else{var _e,Te,Fe,Re;Le.forEach(function(Ve){_e=Ve.source().id(),Te=Ve.target().id(),Fe=_e===ve?Te:_e,Fe!==me&&(Re=Ve.id(),$[Re]||($[Re]=!0,N.push({x:ve,y:Fe,edge:Ve})),Fe in k?k[ve].low=Math.min(k[ve].low,k[Fe].id):(Z(ce,Fe,ve),k[ve].low=Math.min(k[ve].low,k[Fe].low),k[ve].id<=k[Fe].low&&(k[ve].cutVertex=!0,H(ve,Fe))))})}};m.forEach(function(Z){if(Z.isNode()){var ce=Z.id();ce in k||(M=0,q(ce,ce),k[ce].cutVertex=M>1)}});var Y=Object.keys(k).filter(function(Z){return k[Z].cutVertex}).map(function(Z){return m.getElementById(Z)});return{cut:m.spawn(Y),components:O}},Mee={hopcroftTarjanBiconnected:xS,htbc:xS,htb:xS,hopcroftTarjanBiconnectedComponents:xS},kS=function(){var m=this,k={},S=0,M=[],O=[],N=m.spawn(m),$=function H(q){O.push(q),k[q]={index:S,low:S++,explored:!1};var Y=m.getElementById(q).connectedEdges().intersection(m);if(Y.forEach(function(Le){var _e=Le.target().id();_e!==q&&(_e in k||H(_e),k[_e].explored||(k[q].low=Math.min(k[q].low,k[_e].low)))}),k[q].index===k[q].low){for(var Z=m.spawn();;){var ce=O.pop();if(Z.merge(m.getElementById(ce)),k[ce].low=k[q].index,k[ce].explored=!0,ce===q)break}var ve=Z.edgesWith(Z),me=Z.merge(ve);M.push(me),N=N.difference(me)}};return m.forEach(function(H){if(H.isNode()){var q=H.id();q in k||$(q)}}),{cut:N,components:M}},Dee={tarjanStronglyConnected:kS,tsc:kS,tscc:kS,tarjanStronglyConnectedComponents:kS},Hj={};[V9,cZ,uZ,hZ,dZ,pZ,vZ,HZ,n8,r8,vI,tee,gee,yee,_ee,Lee,Mee,Dee].forEach(function(x){xt(Hj,x)});/*!
Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable
Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com)
Licensed under The MIT License (http://opensource.org/licenses/MIT)
*/var Uj=0,Vj=1,Gj=2,Zv=function x(m){if(!(this instanceof x))return new x(m);this.id="Thenable/1.0.7",this.state=Uj,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof m=="function"&&m.call(this,this.fulfill.bind(this),this.reject.bind(this))};Zv.prototype={fulfill:function(m){return Kj(this,Vj,"fulfillValue",m)},reject:function(m){return Kj(this,Gj,"rejectReason",m)},then:function(m,k){var S=this,M=new Zv;return S.onFulfilled.push(Xj(m,M,"fulfill")),S.onRejected.push(Xj(k,M,"reject")),Wj(S),M.proxy}};var Kj=function(m,k,S,M){return m.state===Uj&&(m.state=k,m[S]=M,Wj(m)),m},Wj=function(m){m.state===Vj?Yj(m,"onFulfilled",m.fulfillValue):m.state===Gj&&Yj(m,"onRejected",m.rejectReason)},Yj=function(m,k,S){if(m[k].length!==0){var M=m[k];m[k]=[];var O=function(){for(var $=0;$<M.length;$++)M[$](S)};typeof setImmediate=="function"?setImmediate(O):setTimeout(O,0)}},Xj=function(m,k,S){return function(M){if(typeof m!="function")k[S].call(k,M);else{var O;try{O=m(M)}catch(N){k.reject(N);return}Iee(k,O)}}},Iee=function x(m,k){if(m===k||m.proxy===k){m.reject(new TypeError("cannot resolve promise with itself"));return}var S;if(u(k)==="object"&&k!==null||typeof k=="function")try{S=k.then}catch(O){m.reject(O);return}if(typeof S=="function"){var M=!1;try{S.call(k,function(O){M||(M=!0,O===k?m.reject(new TypeError("circular thenable chain")):x(m,O))},function(O){M||(M=!0,m.reject(O))})}catch(O){M||m.reject(O)}return}m.fulfill(k)};Zv.all=function(x){return new Zv(function(m,k){for(var S=new Array(x.length),M=0,O=function(H,q){S[H]=q,M++,M===x.length&&m(S)},N=0;N<x.length;N++)(function($){var H=x[$],q=H!=null&&H.then!=null;if(q)H.then(function(Z){O($,Z)},function(Z){k(Z)});else{var Y=H;O($,Y)}})(N)})},Zv.resolve=function(x){return new Zv(function(m,k){m(x)})},Zv.reject=function(x){return new Zv(function(m,k){k(x)})};var s8=typeof Promise<"u"?Promise:Zv,xI=function(m,k,S){var M=Pe(m),O=!M,N=this._private=xt({duration:1e3},k,S);if(N.target=m,N.style=N.style||N.css,N.started=!1,N.playing=!1,N.hooked=!1,N.applying=!1,N.progress=0,N.completes=[],N.frames=[],N.complete&&ae(N.complete)&&N.completes.push(N.complete),O){var $=m.position();N.startPosition=N.startPosition||{x:$.x,y:$.y},N.startStyle=N.startStyle||m.cy().style().getAnimationStartStyle(m,N.style)}if(M){var H=m.pan();N.startPan={x:H.x,y:H.y},N.startZoom=m.zoom()}this.length=1,this[0]=this},b5=xI.prototype;xt(b5,{instanceString:function(){return"animation"},hook:function(){var m=this._private;if(!m.hooked){var k,S=m.target._private.animation;m.queue?k=S.queue:k=S.current,k.push(this),xe(m.target)&&m.target.cy().addToAnimationPool(m.target),m.hooked=!0}return this},play:function(){var m=this._private;return m.progress===1&&(m.progress=0),m.playing=!0,m.started=!1,m.stopped=!1,this.hook(),this},playing:function(){return this._private.playing},apply:function(){var m=this._private;return m.applying=!0,m.started=!1,m.stopped=!1,this.hook(),this},applying:function(){return this._private.applying},pause:function(){var m=this._private;return m.playing=!1,m.started=!1,this},stop:function(){var m=this._private;return m.playing=!1,m.started=!1,m.stopped=!0,this},rewind:function(){return this.progress(0)},fastforward:function(){return this.progress(1)},time:function(m){var k=this._private;return m===void 0?k.progress*k.duration:this.progress(m/k.duration)},progress:function(m){var k=this._private,S=k.playing;return m===void 0?k.progress:(S&&this.pause(),k.progress=m,k.started=!1,S&&this.play(),this)},completed:function(){return this._private.progress===1},reverse:function(){var m=this._private,k=m.playing;k&&this.pause(),m.progress=1-m.progress,m.started=!1;var S=function(q,Y){var Z=m[q];Z!=null&&(m[q]=m[Y],m[Y]=Z)};if(S("zoom","startZoom"),S("pan","startPan"),S("position","startPosition"),m.style)for(var M=0;M<m.style.length;M++){var O=m.style[M],N=O.name,$=m.startStyle[N];m.startStyle[N]=O,m.style[M]=$}return k&&this.play(),this},promise:function(m){var k=this._private,S;switch(m){case"frame":S=k.frames;break;default:case"complete":case"completed":S=k.completes}return new s8(function(M,O){S.push(function(){M()})})}}),b5.complete=b5.completed,b5.run=b5.play,b5.running=b5.playing;var Oee={animated:function(){return function(){var k=this,S=k.length!==void 0,M=S?k:[k],O=this._private.cy||this;if(!O.styleEnabled())return!1;var N=M[0];if(N)return N._private.animation.current.length>0}},clearQueue:function(){return function(){var k=this,S=k.length!==void 0,M=S?k:[k],O=this._private.cy||this;if(!O.styleEnabled())return this;for(var N=0;N<M.length;N++){var $=M[N];$._private.animation.queue=[]}return this}},delay:function(){return function(k,S){var M=this._private.cy||this;return M.styleEnabled()?this.animate({delay:k,duration:k,complete:S}):this}},delayAnimation:function(){return function(k,S){var M=this._private.cy||this;return M.styleEnabled()?this.animation({delay:k,duration:k,complete:S}):this}},animation:function(){return function(k,S){var M=this,O=M.length!==void 0,N=O?M:[M],$=this._private.cy||this,H=!O,q=!H;if(!$.styleEnabled())return this;var Y=$.style();k=xt({},k,S);var Z=Object.keys(k).length===0;if(Z)return new xI(N[0],k);switch(k.duration===void 0&&(k.duration=400),k.duration){case"slow":k.duration=600;break;case"fast":k.duration=200;break}if(q&&(k.style=Y.getPropsList(k.style||k.css),k.css=void 0),q&&k.renderedPosition!=null){var ce=k.renderedPosition,ve=$.pan(),me=$.zoom();k.position=vj(ce,me,ve)}if(H&&k.panBy!=null){var Le=k.panBy,_e=$.pan();k.pan={x:_e.x+Le.x,y:_e.y+Le.y}}var Te=k.center||k.centre;if(H&&Te!=null){var Fe=$.getCenterPan(Te.eles,k.zoom);Fe!=null&&(k.pan=Fe)}if(H&&k.fit!=null){var Re=k.fit,Ve=$.getFitViewport(Re.eles||Re.boundingBox,Re.padding);Ve!=null&&(k.pan=Ve.pan,k.zoom=Ve.zoom)}if(H&&se(k.zoom)){var ct=$.getZoomedViewport(k.zoom);ct!=null?(ct.zoomed&&(k.zoom=ct.zoom),ct.panned&&(k.pan=ct.pan)):k.zoom=null}return new xI(N[0],k)}},animate:function(){return function(k,S){var M=this,O=M.length!==void 0,N=O?M:[M],$=this._private.cy||this;if(!$.styleEnabled())return this;S&&(k=xt({},k,S));for(var H=0;H<N.length;H++){var q=N[H],Y=q.animated()&&(k.queue===void 0||k.queue),Z=q.animation(k,Y?{queue:!0}:void 0);Z.play()}return this}},stop:function(){return function(k,S){var M=this,O=M.length!==void 0,N=O?M:[M],$=this._private.cy||this;if(!$.styleEnabled())return this;for(var H=0;H<N.length;H++){for(var q=N[H],Y=q._private,Z=Y.animation.current,ce=0;ce<Z.length;ce++){var ve=Z[ce],me=ve._private;S&&(me.duration=0)}k&&(Y.animation.queue=[]),S||(Y.animation.current=[])}return $.notify("draw"),this}}},Nee=Array.isArray,TS=Nee,Qj=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Pee=/^\w*$/;function Bee(x,m){if(TS(x))return!1;var k=typeof x;return k=="number"||k=="symbol"||k=="boolean"||x==null||Zf(x)?!0:Pee.test(x)||!Qj.test(x)||m!=null&&x in Object(m)}var Fee=Bee,Ree="[object AsyncFunction]",jee="[object Function]",$ee="[object GeneratorFunction]",zee="[object Proxy]";function qee(x){if(!Ct(x))return!1;var m=w1(x);return m==jee||m==$ee||m==Ree||m==zee}var Hee=qee,Uee=No["__core-js_shared__"],ES=Uee,Jj=function(){var x=/[^.]+$/.exec(ES&&ES.keys&&ES.keys.IE_PROTO||"");return x?"Symbol(src)_1."+x:""}();function Vee(x){return!!Jj&&Jj in x}var Gee=Vee,Kee=Function.prototype,Wee=Kee.toString;function Yee(x){if(x!=null){try{return Wee.call(x)}catch{}try{return x+""}catch{}}return""}var Zj=Yee,e$=/[\\^$.*+?()[\]{}|]/g,Xee=/^\[object .+?Constructor\]$/,t$=Function.prototype,n$=Object.prototype,Qee=t$.toString,Jee=n$.hasOwnProperty,Zee=RegExp("^"+Qee.call(Jee).replace(e$,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ete(x){if(!Ct(x)||Gee(x))return!1;var m=Hee(x)?Zee:Xee;return m.test(Zj(x))}var tte=ete;function nte(x,m){return x==null?void 0:x[m]}var rte=nte;function ite(x,m){var k=rte(x,m);return tte(k)?k:void 0}var kI=ite,ste=kI(Object,"create"),J9=ste;function r$(){this.__data__=J9?J9(null):{},this.size=0}var ate=r$;function ote(x){var m=this.has(x)&&delete this.__data__[x];return this.size-=m?1:0,m}var cte=ote,ute="__lodash_hash_undefined__",lte=Object.prototype,hte=lte.hasOwnProperty;function fte(x){var m=this.__data__;if(J9){var k=m[x];return k===ute?void 0:k}return hte.call(m,x)?m[x]:void 0}var dte=fte,gte=Object.prototype,pte=gte.hasOwnProperty;function bte(x){var m=this.__data__;return J9?m[x]!==void 0:pte.call(m,x)}var mte=bte,vte="__lodash_hash_undefined__";function wte(x,m){var k=this.__data__;return this.size+=this.has(x)?0:1,k[x]=J9&&m===void 0?vte:m,this}var yte=wte;function a8(x){var m=-1,k=x==null?0:x.length;for(this.clear();++m<k;){var S=x[m];this.set(S[0],S[1])}}a8.prototype.clear=ate,a8.prototype.delete=cte,a8.prototype.get=dte,a8.prototype.has=mte,a8.prototype.set=yte;var i$=a8;function xte(){this.__data__=[],this.size=0}var kte=xte;function Tte(x,m){return x===m||x!==x&&m!==m}var s$=Tte;function Ete(x,m){for(var k=x.length;k--;)if(s$(x[k][0],m))return k;return-1}var CS=Ete,Cte=Array.prototype,Ste=Cte.splice;function _te(x){var m=this.__data__,k=CS(m,x);if(k<0)return!1;var S=m.length-1;return k==S?m.pop():Ste.call(m,k,1),--this.size,!0}var Ate=_te;function Lte(x){var m=this.__data__,k=CS(m,x);return k<0?void 0:m[k][1]}var Mte=Lte;function Dte(x){return CS(this.__data__,x)>-1}var Ite=Dte;function Ote(x,m){var k=this.__data__,S=CS(k,x);return S<0?(++this.size,k.push([x,m])):k[S][1]=m,this}var Nte=Ote;function o8(x){var m=-1,k=x==null?0:x.length;for(this.clear();++m<k;){var S=x[m];this.set(S[0],S[1])}}o8.prototype.clear=kte,o8.prototype.delete=Ate,o8.prototype.get=Mte,o8.prototype.has=Ite,o8.prototype.set=Nte;var Pte=o8,Bte=kI(No,"Map"),Fte=Bte;function Rte(){this.size=0,this.__data__={hash:new i$,map:new(Fte||Pte),string:new i$}}var jte=Rte;function $te(x){var m=typeof x;return m=="string"||m=="number"||m=="symbol"||m=="boolean"?x!=="__proto__":x===null}var zte=$te;function qte(x,m){var k=x.__data__;return zte(m)?k[typeof m=="string"?"string":"hash"]:k.map}var SS=qte;function Hte(x){var m=SS(this,x).delete(x);return this.size-=m?1:0,m}var Ute=Hte;function Vte(x){return SS(this,x).get(x)}var Gte=Vte;function Kte(x){return SS(this,x).has(x)}var Wte=Kte;function Yte(x,m){var k=SS(this,x),S=k.size;return k.set(x,m),this.size+=k.size==S?0:1,this}var Xte=Yte;function c8(x){var m=-1,k=x==null?0:x.length;for(this.clear();++m<k;){var S=x[m];this.set(S[0],S[1])}}c8.prototype.clear=jte,c8.prototype.delete=Ute,c8.prototype.get=Gte,c8.prototype.has=Wte,c8.prototype.set=Xte;var a$=c8,Qte="Expected a function";function TI(x,m){if(typeof x!="function"||m!=null&&typeof m!="function")throw new TypeError(Qte);var k=function(){var S=arguments,M=m?m.apply(this,S):S[0],O=k.cache;if(O.has(M))return O.get(M);var N=x.apply(this,S);return k.cache=O.set(M,N)||O,N};return k.cache=new(TI.Cache||a$),k}TI.Cache=a$;var Jte=TI,Zte=500;function ene(x){var m=Jte(x,function(S){return k.size===Zte&&k.clear(),S}),k=m.cache;return m}var tne=ene,nne=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,rne=/\\(\\)?/g,ine=tne(function(x){var m=[];return x.charCodeAt(0)===46&&m.push(""),x.replace(nne,function(k,S,M,O){m.push(M?O.replace(rne,"$1"):S||k)}),m}),o$=ine;function sne(x,m){for(var k=-1,S=x==null?0:x.length,M=Array(S);++k<S;)M[k]=m(x[k],k,x);return M}var c$=sne,ane=1/0,u$=Jc?Jc.prototype:void 0,l$=u$?u$.toString:void 0;function h$(x){if(typeof x=="string")return x;if(TS(x))return c$(x,h$)+"";if(Zf(x))return l$?l$.call(x):"";var m=x+"";return m=="0"&&1/x==-ane?"-0":m}var one=h$;function cne(x){return x==null?"":one(x)}var f$=cne;function une(x,m){return TS(x)?x:Fee(x,m)?[x]:o$(f$(x))}var d$=une,lne=1/0;function hne(x){if(typeof x=="string"||Zf(x))return x;var m=x+"";return m=="0"&&1/x==-lne?"-0":m}var EI=hne;function fne(x,m){m=d$(m,x);for(var k=0,S=m.length;x!=null&&k<S;)x=x[EI(m[k++])];return k&&k==S?x:void 0}var dne=fne;function gne(x,m,k){var S=x==null?void 0:dne(x,m);return S===void 0?k:S}var pne=gne,bne=function(){try{var x=kI(Object,"defineProperty");return x({},"",{}),x}catch{}}(),g$=bne;function mne(x,m,k){m=="__proto__"&&g$?g$(x,m,{configurable:!0,enumerable:!0,value:k,writable:!0}):x[m]=k}var vne=mne,wne=Object.prototype,Owe=wne.hasOwnProperty;function yne(x,m,k){var S=x[m];(!(Owe.call(x,m)&&s$(S,k))||k===void 0&&!(m in x))&&vne(x,m,k)}var xne=yne,kne=9007199254740991,Tne=/^(?:0|[1-9]\d*)$/;function Ene(x,m){var k=typeof x;return m=m??kne,!!m&&(k=="number"||k!="symbol"&&Tne.test(x))&&x>-1&&x%1==0&&x<m}var Cne=Ene;function Sne(x,m,k,S){if(!Ct(x))return x;m=d$(m,x);for(var M=-1,O=m.length,N=O-1,$=x;$!=null&&++M<O;){var H=EI(m[M]),q=k;if(H==="__proto__"||H==="constructor"||H==="prototype")return x;if(M!=N){var Y=$[H];q=S?S(Y,H,$):void 0,q===void 0&&(q=Ct(Y)?Y:Cne(m[M+1])?[]:{})}xne($,H,q),$=$[H]}return x}var _ne=Sne;function Ane(x,m,k){return x==null?x:_ne(x,m,k)}var Lne=Ane;function Mne(x,m){var k=-1,S=x.length;for(m||(m=Array(S));++k<S;)m[k]=x[k];return m}var Dne=Mne;function Ine(x){return TS(x)?c$(x,EI):Zf(x)?[x]:Dne(o$(f$(x)))}var One=Ine,Nne={data:function(m){var k={field:"data",bindingEvent:"data",allowBinding:!1,allowSetting:!1,allowGetting:!1,settingEvent:"data",settingTriggersEvent:!1,triggerFnName:"trigger",immutableKeys:{},updateStyle:!1,beforeGet:function(M){},beforeSet:function(M,O){},onSet:function(M){},canSet:function(M){return!0}};return m=xt({},k,m),function(M,O){var N=m,$=this,H=$.length!==void 0,q=H?$:[$],Y=H?$[0]:$;if(ge(M)){var Z=M.indexOf(".")!==-1,ce=Z&&One(M);if(N.allowGetting&&O===void 0){var ve;return Y&&(N.beforeGet(Y),ce&&Y._private[N.field][M]===void 0?ve=pne(Y._private[N.field],ce):ve=Y._private[N.field][M]),ve}else if(N.allowSetting&&O!==void 0){var me=!N.immutableKeys[M];if(me){var Le=b({},M,O);N.beforeSet($,Le);for(var _e=0,Te=q.length;_e<Te;_e++){var Fe=q[_e];N.canSet(Fe)&&(ce&&Y._private[N.field][M]===void 0?Lne(Fe._private[N.field],ce,O):Fe._private[N.field][M]=O)}N.updateStyle&&$.updateStyle(),N.onSet($),N.settingTriggersEvent&&$[N.triggerFnName](N.settingEvent)}}}else if(N.allowSetting&&se(M)){var Re=M,Ve,ct,st=Object.keys(Re);N.beforeSet($,Re);for(var Ye=0;Ye<st.length;Ye++){Ve=st[Ye],ct=Re[Ve];var vt=!N.immutableKeys[Ve];if(vt)for(var Qe=0;Qe<q.length;Qe++){var Lt=q[Qe];N.canSet(Lt)&&(Lt._private[N.field][Ve]=ct)}}N.updateStyle&&$.updateStyle(),N.onSet($),N.settingTriggersEvent&&$[N.triggerFnName](N.settingEvent)}else if(N.allowBinding&&ae(M)){var Mt=M;$.on(N.bindingEvent,Mt)}else if(N.allowGetting&&M===void 0){var ut;return Y&&(N.beforeGet(Y),ut=Y._private[N.field]),ut}return $}},removeData:function(m){var k={field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!1,immutableKeys:{}};return m=xt({},k,m),function(M){var O=m,N=this,$=N.length!==void 0,H=$?N:[N];if(ge(M)){for(var q=M.split(/\s+/),Y=q.length,Z=0;Z<Y;Z++){var ce=q[Z];if(!Se(ce)){var ve=!O.immutableKeys[ce];if(ve)for(var me=0,Le=H.length;me<Le;me++)H[me]._private[O.field][ce]=void 0}}O.triggerEvent&&N[O.triggerFnName](O.event)}else if(M===void 0){for(var _e=0,Te=H.length;_e<Te;_e++)for(var Fe=H[_e]._private[O.field],Re=Object.keys(Fe),Ve=0;Ve<Re.length;Ve++){var ct=Re[Ve],st=!O.immutableKeys[ct];st&&(Fe[ct]=void 0)}O.triggerEvent&&N[O.triggerFnName](O.event)}return N}}},Pne={eventAliasesOn:function(m){var k=m;k.addListener=k.listen=k.bind=k.on,k.unlisten=k.unbind=k.off=k.removeListener,k.trigger=k.emit,k.pon=k.promiseOn=function(S,M){var O=this,N=Array.prototype.slice.call(arguments,0);return new s8(function($,H){var q=function(ve){O.off.apply(O,Z),$(ve)},Y=N.concat([q]),Z=Y.concat([]);O.on.apply(O,Y)})}}},hu={};[Oee,Nne,Pne].forEach(function(x){xt(hu,x)});var Bne={animate:hu.animate(),animation:hu.animation(),animated:hu.animated(),clearQueue:hu.clearQueue(),delay:hu.delay(),delayAnimation:hu.delayAnimation(),stop:hu.stop()},_S={classes:function(m){var k=this;if(m===void 0){var S=[];return k[0]._private.classes.forEach(function(me){return S.push(me)}),S}else ne(m)||(m=(m||"").match(/\S+/g)||[]);for(var M=[],O=new J7(m),N=0;N<k.length;N++){for(var $=k[N],H=$._private,q=H.classes,Y=!1,Z=0;Z<m.length;Z++){var ce=m[Z],ve=q.has(ce);if(!ve){Y=!0;break}}Y||(Y=q.size!==m.length),Y&&(H.classes=O,M.push($))}return M.length>0&&this.spawn(M).updateStyle().emit("class"),k},addClass:function(m){return this.toggleClass(m,!0)},hasClass:function(m){var k=this[0];return k!=null&&k._private.classes.has(m)},toggleClass:function(m,k){ne(m)||(m=m.match(/\S+/g)||[]);for(var S=this,M=k===void 0,O=[],N=0,$=S.length;N<$;N++)for(var H=S[N],q=H._private.classes,Y=!1,Z=0;Z<m.length;Z++){var ce=m[Z],ve=q.has(ce),me=!1;k||M&&!ve?(q.add(ce),me=!0):(!k||M&&ve)&&(q.delete(ce),me=!0),!Y&&me&&(O.push(H),Y=!0)}return O.length>0&&this.spawn(O).updateStyle().emit("class"),S},removeClass:function(m){return this.toggleClass(m,!1)},flashClass:function(m,k){var S=this;if(k==null)k=250;else if(k===0)return S;return S.addClass(m),setTimeout(function(){S.removeClass(m)},k),S}};_S.className=_S.classNames=_S.classes;var $c={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:un,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};$c.variable="(?:[\\w-.]|(?:\\\\"+$c.metaChar+"))+",$c.className="(?:[\\w-]|(?:\\\\"+$c.metaChar+"))+",$c.value=$c.string+"|"+$c.number,$c.id=$c.variable,function(){var x,m,k;for(x=$c.comparatorOp.split("|"),k=0;k<x.length;k++)m=x[k],$c.comparatorOp+="|@"+m;for(x=$c.comparatorOp.split("|"),k=0;k<x.length;k++)m=x[k],!(m.indexOf("!")>=0)&&m!=="="&&($c.comparatorOp+="|\\!"+m)}();var Nu=function(){return{checks:[]}},hs={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},CI=[{selector:":selected",matches:function(m){return m.selected()}},{selector:":unselected",matches:function(m){return!m.selected()}},{selector:":selectable",matches:function(m){return m.selectable()}},{selector:":unselectable",matches:function(m){return!m.selectable()}},{selector:":locked",matches:function(m){return m.locked()}},{selector:":unlocked",matches:function(m){return!m.locked()}},{selector:":visible",matches:function(m){return m.visible()}},{selector:":hidden",matches:function(m){return!m.visible()}},{selector:":transparent",matches:function(m){return m.transparent()}},{selector:":grabbed",matches:function(m){return m.grabbed()}},{selector:":free",matches:function(m){return!m.grabbed()}},{selector:":removed",matches:function(m){return m.removed()}},{selector:":inside",matches:function(m){return!m.removed()}},{selector:":grabbable",matches:function(m){return m.grabbable()}},{selector:":ungrabbable",matches:function(m){return!m.grabbable()}},{selector:":animated",matches:function(m){return m.animated()}},{selector:":unanimated",matches:function(m){return!m.animated()}},{selector:":parent",matches:function(m){return m.isParent()}},{selector:":childless",matches:function(m){return m.isChildless()}},{selector:":child",matches:function(m){return m.isChild()}},{selector:":orphan",matches:function(m){return m.isOrphan()}},{selector:":nonorphan",matches:function(m){return m.isChild()}},{selector:":compound",matches:function(m){return m.isNode()?m.isParent():m.source().isParent()||m.target().isParent()}},{selector:":loop",matches:function(m){return m.isLoop()}},{selector:":simple",matches:function(m){return m.isSimple()}},{selector:":active",matches:function(m){return m.active()}},{selector:":inactive",matches:function(m){return!m.active()}},{selector:":backgrounding",matches:function(m){return m.backgrounding()}},{selector:":nonbackgrounding",matches:function(m){return!m.backgrounding()}}].sort(function(x,m){return qr(x.selector,m.selector)}),Fne=function(){for(var x={},m,k=0;k<CI.length;k++)m=CI[k],x[m.selector]=m.matches;return x}(),Rne=function(m,k){return Fne[m](k)},jne="("+CI.map(function(x){return x.selector}).join("|")+")",u8=function(m){return m.replace(new RegExp("\\\\("+$c.metaChar+")","g"),function(k,S){return S})},Am=function(m,k,S){m[m.length-1]=S},Z9=[{name:"group",query:!0,regex:"("+$c.group+")",populate:function(m,k,S){var M=y(S,1),O=M[0];k.checks.push({type:hs.GROUP,value:O==="*"?O:O+"s"})}},{name:"state",query:!0,regex:jne,populate:function(m,k,S){var M=y(S,1),O=M[0];k.checks.push({type:hs.STATE,value:O})}},{name:"id",query:!0,regex:"\\#("+$c.id+")",populate:function(m,k,S){var M=y(S,1),O=M[0];k.checks.push({type:hs.ID,value:u8(O)})}},{name:"className",query:!0,regex:"\\.("+$c.className+")",populate:function(m,k,S){var M=y(S,1),O=M[0];k.checks.push({type:hs.CLASS,value:u8(O)})}},{name:"dataExists",query:!0,regex:"\\[\\s*("+$c.variable+")\\s*\\]",populate:function(m,k,S){var M=y(S,1),O=M[0];k.checks.push({type:hs.DATA_EXIST,field:u8(O)})}},{name:"dataCompare",query:!0,regex:"\\[\\s*("+$c.variable+")\\s*("+$c.comparatorOp+")\\s*("+$c.value+")\\s*\\]",populate:function(m,k,S){var M=y(S,3),O=M[0],N=M[1],$=M[2],H=new RegExp("^"+$c.string+"$").exec($)!=null;H?$=$.substring(1,$.length-1):$=parseFloat($),k.checks.push({type:hs.DATA_COMPARE,field:u8(O),operator:N,value:$})}},{name:"dataBool",query:!0,regex:"\\[\\s*("+$c.boolOp+")\\s*("+$c.variable+")\\s*\\]",populate:function(m,k,S){var M=y(S,2),O=M[0],N=M[1];k.checks.push({type:hs.DATA_BOOL,field:u8(N),operator:O})}},{name:"metaCompare",query:!0,regex:"\\[\\[\\s*("+$c.meta+")\\s*("+$c.comparatorOp+")\\s*("+$c.number+")\\s*\\]\\]",populate:function(m,k,S){var M=y(S,3),O=M[0],N=M[1],$=M[2];k.checks.push({type:hs.META_COMPARE,field:u8(O),operator:N,value:parseFloat($)})}},{name:"nextQuery",separator:!0,regex:$c.separator,populate:function(m,k){var S=m.currentSubject,M=m.edgeCount,O=m.compoundCount,N=m[m.length-1];S!=null&&(N.subject=S,m.currentSubject=null),N.edgeCount=M,N.compoundCount=O,m.edgeCount=0,m.compoundCount=0;var $=m[m.length++]=Nu();return $}},{name:"directedEdge",separator:!0,regex:$c.directedEdge,populate:function(m,k){if(m.currentSubject==null){var S=Nu(),M=k,O=Nu();return S.checks.push({type:hs.DIRECTED_EDGE,source:M,target:O}),Am(m,k,S),m.edgeCount++,O}else{var N=Nu(),$=k,H=Nu();return N.checks.push({type:hs.NODE_SOURCE,source:$,target:H}),Am(m,k,N),m.edgeCount++,H}}},{name:"undirectedEdge",separator:!0,regex:$c.undirectedEdge,populate:function(m,k){if(m.currentSubject==null){var S=Nu(),M=k,O=Nu();return S.checks.push({type:hs.UNDIRECTED_EDGE,nodes:[M,O]}),Am(m,k,S),m.edgeCount++,O}else{var N=Nu(),$=k,H=Nu();return N.checks.push({type:hs.NODE_NEIGHBOR,node:$,neighbor:H}),Am(m,k,N),H}}},{name:"child",separator:!0,regex:$c.child,populate:function(m,k){if(m.currentSubject==null){var S=Nu(),M=Nu(),O=m[m.length-1];return S.checks.push({type:hs.CHILD,parent:O,child:M}),Am(m,k,S),m.compoundCount++,M}else if(m.currentSubject===k){var N=Nu(),$=m[m.length-1],H=Nu(),q=Nu(),Y=Nu(),Z=Nu();return N.checks.push({type:hs.COMPOUND_SPLIT,left:$,right:H,subject:q}),q.checks=k.checks,k.checks=[{type:hs.TRUE}],Z.checks.push({type:hs.TRUE}),H.checks.push({type:hs.PARENT,parent:Z,child:Y}),Am(m,$,N),m.currentSubject=q,m.compoundCount++,Y}else{var ce=Nu(),ve=Nu(),me=[{type:hs.PARENT,parent:ce,child:ve}];return ce.checks=k.checks,k.checks=me,m.compoundCount++,ve}}},{name:"descendant",separator:!0,regex:$c.descendant,populate:function(m,k){if(m.currentSubject==null){var S=Nu(),M=Nu(),O=m[m.length-1];return S.checks.push({type:hs.DESCENDANT,ancestor:O,descendant:M}),Am(m,k,S),m.compoundCount++,M}else if(m.currentSubject===k){var N=Nu(),$=m[m.length-1],H=Nu(),q=Nu(),Y=Nu(),Z=Nu();return N.checks.push({type:hs.COMPOUND_SPLIT,left:$,right:H,subject:q}),q.checks=k.checks,k.checks=[{type:hs.TRUE}],Z.checks.push({type:hs.TRUE}),H.checks.push({type:hs.ANCESTOR,ancestor:Z,descendant:Y}),Am(m,$,N),m.currentSubject=q,m.compoundCount++,Y}else{var ce=Nu(),ve=Nu(),me=[{type:hs.ANCESTOR,ancestor:ce,descendant:ve}];return ce.checks=k.checks,k.checks=me,m.compoundCount++,ve}}},{name:"subject",modifier:!0,regex:$c.subject,populate:function(m,k){if(m.currentSubject!=null&&m.currentSubject!==k)return lu("Redefinition of subject in selector `"+m.toString()+"`"),!1;m.currentSubject=k;var S=m[m.length-1],M=S.checks[0],O=M==null?null:M.type;O===hs.DIRECTED_EDGE?M.type=hs.NODE_TARGET:O===hs.UNDIRECTED_EDGE&&(M.type=hs.NODE_NEIGHBOR,M.node=M.nodes[1],M.neighbor=M.nodes[0],M.nodes=null)}}];Z9.forEach(function(x){return x.regexObj=new RegExp("^"+x.regex)});var $ne=function(m){for(var k,S,M,O=0;O<Z9.length;O++){var N=Z9[O],$=N.name,H=m.match(N.regexObj);if(H!=null){S=H,k=N,M=$;var q=H[0];m=m.substring(q.length);break}}return{expr:k,match:S,name:M,remaining:m}},SI=function(m){var k=m.match(/^\s+/);if(k){var S=k[0];m=m.substring(S.length)}return m},zne=function(m){var k=this,S=k.inputText=m,M=k[0]=Nu();for(k.length=1,S=SI(S);;){var O=$ne(S);if(O.expr==null)return lu("The selector `"+m+"`is invalid"),!1;var N=O.match.slice(1),$=O.expr.populate(k,M,N);if($===!1)return!1;if($!=null&&(M=$),S=O.remaining,S.match(/^\s*$/))break}var H=k[k.length-1];k.currentSubject!=null&&(H.subject=k.currentSubject),H.edgeCount=k.edgeCount,H.compoundCount=k.compoundCount;for(var q=0;q<k.length;q++){var Y=k[q];if(Y.compoundCount>0&&Y.edgeCount>0)return lu("The selector `"+m+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(Y.edgeCount>1)return lu("The selector `"+m+"` is invalid because it uses multiple edge selectors"),!1;Y.edgeCount===1&&lu("The selector `"+m+"` 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},qne=function(){if(this.toStringCache!=null)return this.toStringCache;for(var m=function(Y){return Y??""},k=function(Y){return ge(Y)?'"'+Y+'"':m(Y)},S=function(Y){return" "+Y+" "},M=function(Y,Z){var ce=Y.type,ve=Y.value;switch(ce){case hs.GROUP:{var me=m(ve);return me.substring(0,me.length-1)}case hs.DATA_COMPARE:{var Le=Y.field,_e=Y.operator;return"["+Le+S(m(_e))+k(ve)+"]"}case hs.DATA_BOOL:{var Te=Y.operator,Fe=Y.field;return"["+m(Te)+Fe+"]"}case hs.DATA_EXIST:{var Re=Y.field;return"["+Re+"]"}case hs.META_COMPARE:{var Ve=Y.operator,ct=Y.field;return"[["+ct+S(m(Ve))+k(ve)+"]]"}case hs.STATE:return ve;case hs.ID:return"#"+ve;case hs.CLASS:return"."+ve;case hs.PARENT:case hs.CHILD:return O(Y.parent,Z)+S(">")+O(Y.child,Z);case hs.ANCESTOR:case hs.DESCENDANT:return O(Y.ancestor,Z)+" "+O(Y.descendant,Z);case hs.COMPOUND_SPLIT:{var st=O(Y.left,Z),Ye=O(Y.subject,Z),vt=O(Y.right,Z);return st+(st.length>0?" ":"")+Ye+vt}case hs.TRUE:return""}},O=function(Y,Z){return Y.checks.reduce(function(ce,ve,me){return ce+(Z===Y&&me===0?"$":"")+M(ve,Z)},"")},N="",$=0;$<this.length;$++){var H=this[$];N+=O(H,H.subject),this.length>1&&$<this.length-1&&(N+=", ")}return this.toStringCache=N,N},Hne={parse:zne,toString:qne},p$=function(m,k,S){var M,O=ge(m),N=X(m),$=ge(S),H,q,Y=!1,Z=!1,ce=!1;switch(k.indexOf("!")>=0&&(k=k.replace("!",""),Z=!0),k.indexOf("@")>=0&&(k=k.replace("@",""),Y=!0),(O||$||Y)&&(H=!O&&!N?"":""+m,q=""+S),Y&&(m=H=H.toLowerCase(),S=q=q.toLowerCase()),k){case"*=":M=H.indexOf(q)>=0;break;case"$=":M=H.indexOf(q,H.length-q.length)>=0;break;case"^=":M=H.indexOf(q)===0;break;case"=":M=m===S;break;case">":ce=!0,M=m>S;break;case">=":ce=!0,M=m>=S;break;case"<":ce=!0,M=m<S;break;case"<=":ce=!0,M=m<=S;break;default:M=!1;break}return Z&&(m!=null||!ce)&&(M=!M),M},Une=function(m,k){switch(k){case"?":return!!m;case"!":return!m;case"^":return m===void 0}},Vne=function(m){return m!==void 0},_I=function(m,k){return m.data(k)},Gne=function(m,k){return m[k]()},ah=[],dl=function(m,k){return m.checks.every(function(S){return ah[S.type](S,k)})};ah[hs.GROUP]=function(x,m){var k=x.value;return k==="*"||k===m.group()},ah[hs.STATE]=function(x,m){var k=x.value;return Rne(k,m)},ah[hs.ID]=function(x,m){var k=x.value;return m.id()===k},ah[hs.CLASS]=function(x,m){var k=x.value;return m.hasClass(k)},ah[hs.META_COMPARE]=function(x,m){var k=x.field,S=x.operator,M=x.value;return p$(Gne(m,k),S,M)},ah[hs.DATA_COMPARE]=function(x,m){var k=x.field,S=x.operator,M=x.value;return p$(_I(m,k),S,M)},ah[hs.DATA_BOOL]=function(x,m){var k=x.field,S=x.operator;return Une(_I(m,k),S)},ah[hs.DATA_EXIST]=function(x,m){var k=x.field;return x.operator,Vne(_I(m,k))},ah[hs.UNDIRECTED_EDGE]=function(x,m){var k=x.nodes[0],S=x.nodes[1],M=m.source(),O=m.target();return dl(k,M)&&dl(S,O)||dl(S,M)&&dl(k,O)},ah[hs.NODE_NEIGHBOR]=function(x,m){return dl(x.node,m)&&m.neighborhood().some(function(k){return k.isNode()&&dl(x.neighbor,k)})},ah[hs.DIRECTED_EDGE]=function(x,m){return dl(x.source,m.source())&&dl(x.target,m.target())},ah[hs.NODE_SOURCE]=function(x,m){return dl(x.source,m)&&m.outgoers().some(function(k){return k.isNode()&&dl(x.target,k)})},ah[hs.NODE_TARGET]=function(x,m){return dl(x.target,m)&&m.incomers().some(function(k){return k.isNode()&&dl(x.source,k)})},ah[hs.CHILD]=function(x,m){return dl(x.child,m)&&dl(x.parent,m.parent())},ah[hs.PARENT]=function(x,m){return dl(x.parent,m)&&m.children().some(function(k){return dl(x.child,k)})},ah[hs.DESCENDANT]=function(x,m){return dl(x.descendant,m)&&m.ancestors().some(function(k){return dl(x.ancestor,k)})},ah[hs.ANCESTOR]=function(x,m){return dl(x.ancestor,m)&&m.descendants().some(function(k){return dl(x.descendant,k)})},ah[hs.COMPOUND_SPLIT]=function(x,m){return dl(x.subject,m)&&dl(x.left,m)&&dl(x.right,m)},ah[hs.TRUE]=function(){return!0},ah[hs.COLLECTION]=function(x,m){var k=x.value;return k.has(m)},ah[hs.FILTER]=function(x,m){var k=x.value;return k(m)};var b$=function(m){var k=this;if(k.length===1&&k[0].checks.length===1&&k[0].checks[0].type===hs.ID)return m.getElementById(k[0].checks[0].value).collection();var S=function(O){for(var N=0;N<k.length;N++){var $=k[N];if(dl($,O))return!0}return!1};return k.text()==null&&(S=function(){return!0}),m.filter(S)},Kne=function(m){for(var k=this,S=0;S<k.length;S++){var M=k[S];if(dl(M,m))return!0}return!1},Wne={matches:Kne,filter:b$},ry=function(m){this.inputText=m,this.currentSubject=null,this.compoundCount=0,this.edgeCount=0,this.length=0,m==null||ge(m)&&m.match(/^\s*$/)||(xe(m)?this.addQuery({checks:[{type:hs.COLLECTION,value:m.collection()}]}):ae(m)?this.addQuery({checks:[{type:hs.FILTER,value:m}]}):ge(m)?this.parse(m)||(this.invalid=!0):sh("A selector must be created from a string; found "))},m5=ry.prototype;[Hne,Wne].forEach(function(x){return xt(m5,x)}),m5.text=function(){return this.inputText},m5.size=function(){return this.length},m5.eq=function(x){return this[x]},m5.sameText=function(x){return!this.invalid&&!x.invalid&&this.text()===x.text()},m5.addQuery=function(x){this[this.length++]=x},m5.selector=m5.toString;var iy={allAre:function(m){var k=new ry(m);return this.every(function(S){return k.matches(S)})},is:function(m){var k=new ry(m);return this.some(function(S){return k.matches(S)})},some:function(m,k){for(var S=0;S<this.length;S++){var M=k?m.apply(k,[this[S],S,this]):m(this[S],S,this);if(M)return!0}return!1},every:function(m,k){for(var S=0;S<this.length;S++){var M=k?m.apply(k,[this[S],S,this]):m(this[S],S,this);if(!M)return!1}return!0},same:function(m){if(this===m)return!0;m=this.cy().collection(m);var k=this.length,S=m.length;return k!==S?!1:k===1?this[0]===m[0]:this.every(function(M){return m.hasElementWithId(M.id())})},anySame:function(m){return m=this.cy().collection(m),this.some(function(k){return m.hasElementWithId(k.id())})},allAreNeighbors:function(m){m=this.cy().collection(m);var k=this.neighborhood();return m.every(function(S){return k.hasElementWithId(S.id())})},contains:function(m){m=this.cy().collection(m);var k=this;return m.every(function(S){return k.hasElementWithId(S.id())})}};iy.allAreNeighbours=iy.allAreNeighbors,iy.has=iy.contains,iy.equal=iy.equals=iy.same;var Kp=function(m,k){return function(M,O,N,$){var H=M,q=this,Y;if(H==null?Y="":xe(H)&&H.length===1&&(Y=H.id()),q.length===1&&Y){var Z=q[0]._private,ce=Z.traversalCache=Z.traversalCache||{},ve=ce[k]=ce[k]||[],me=ud(Y),Le=ve[me];return Le||(ve[me]=m.call(q,M,O,N,$))}else return m.call(q,M,O,N,$)}},l8={parent:function(m){var k=[];if(this.length===1){var S=this[0]._private.parent;if(S)return S}for(var M=0;M<this.length;M++){var O=this[M],N=O._private.parent;N&&k.push(N)}return this.spawn(k,!0).filter(m)},parents:function(m){for(var k=[],S=this.parent();S.nonempty();){for(var M=0;M<S.length;M++){var O=S[M];k.push(O)}S=S.parent()}return this.spawn(k,!0).filter(m)},commonAncestors:function(m){for(var k,S=0;S<this.length;S++){var M=this[S],O=M.parents();k=k||O,k=k.intersect(O)}return k.filter(m)},orphans:function(m){return this.stdFilter(function(k){return k.isOrphan()}).filter(m)},nonorphans:function(m){return this.stdFilter(function(k){return k.isChild()}).filter(m)},children:Kp(function(x){for(var m=[],k=0;k<this.length;k++)for(var S=this[k],M=S._private.children,O=0;O<M.length;O++)m.push(M[O]);return this.spawn(m,!0).filter(x)},"children"),siblings:function(m){return this.parent().children().not(this).filter(m)},isParent:function(){var m=this[0];if(m)return m.isNode()&&m._private.children.length!==0},isChildless:function(){var m=this[0];if(m)return m.isNode()&&m._private.children.length===0},isChild:function(){var m=this[0];if(m)return m.isNode()&&m._private.parent!=null},isOrphan:function(){var m=this[0];if(m)return m.isNode()&&m._private.parent==null},descendants:function(m){var k=[];function S(M){for(var O=0;O<M.length;O++){var N=M[O];k.push(N),N.children().nonempty()&&S(N.children())}}return S(this.children()),this.spawn(k,!0).filter(m)}};function AI(x,m,k,S){for(var M=[],O=new J7,N=x.cy(),$=N.hasCompoundNodes(),H=0;H<x.length;H++){var q=x[H];k?M.push(q):$&&S(M,O,q)}for(;M.length>0;){var Y=M.shift();m(Y),O.add(Y.id()),$&&S(M,O,Y)}return x}function m$(x,m,k){if(k.isParent())for(var S=k._private.children,M=0;M<S.length;M++){var O=S[M];m.has(O.id())||x.push(O)}}l8.forEachDown=function(x){var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return AI(this,x,m,m$)};function v$(x,m,k){if(k.isChild()){var S=k._private.parent;m.has(S.id())||x.push(S)}}l8.forEachUp=function(x){var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return AI(this,x,m,v$)};function Yne(x,m,k){v$(x,m,k),m$(x,m,k)}l8.forEachUpAndDown=function(x){var m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return AI(this,x,m,Yne)},l8.ancestors=l8.parents;var x1,w$;x1=w$={data:hu.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:hu.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:hu.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:hu.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:hu.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:hu.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var m=this[0];if(m)return m._private.data.id}},x1.attr=x1.data,x1.removeAttr=x1.removeData;var sy=w$,ek={};function LI(x){return function(m){var k=this;if(m===void 0&&(m=!0),k.length!==0)if(k.isNode()&&!k.removed()){for(var S=0,M=k[0],O=M._private.edges,N=0;N<O.length;N++){var $=O[N];!m&&$.isLoop()||(S+=x(M,$))}return S}else return}}xt(ek,{degree:LI(function(x,m){return m.source().same(m.target())?2:1}),indegree:LI(function(x,m){return m.target().same(x)?1:0}),outdegree:LI(function(x,m){return m.source().same(x)?1:0})});function h8(x,m){return function(k){for(var S,M=this.nodes(),O=0;O<M.length;O++){var N=M[O],$=N[x](k);$!==void 0&&(S===void 0||m($,S))&&(S=$)}return S}}xt(ek,{minDegree:h8("degree",function(x,m){return x<m}),maxDegree:h8("degree",function(x,m){return x>m}),minIndegree:h8("indegree",function(x,m){return x<m}),maxIndegree:h8("indegree",function(x,m){return x>m}),minOutdegree:h8("outdegree",function(x,m){return x<m}),maxOutdegree:h8("outdegree",function(x,m){return x>m})}),xt(ek,{totalDegree:function(m){for(var k=0,S=this.nodes(),M=0;M<S.length;M++)k+=S[M].degree(m);return k}});var rb,y$,x$=function(m,k,S){for(var M=0;M<m.length;M++){var O=m[M];if(!O.locked()){var N=O._private.position,$={x:k.x!=null?k.x-N.x:0,y:k.y!=null?k.y-N.y:0};O.isParent()&&!($.x===0&&$.y===0)&&O.children().shift($,S),O.dirtyBoundingBoxCache()}}},k$={field:"position",bindingEvent:"position",allowBinding:!0,allowSetting:!0,settingEvent:"position",settingTriggersEvent:!0,triggerFnName:"emitAndNotify",allowGetting:!0,validKeys:["x","y"],beforeGet:function(m){m.updateCompoundBounds()},beforeSet:function(m,k){x$(m,k,!1)},onSet:function(m){m.dirtyCompoundBoundsCache()},canSet:function(m){return!m.locked()}};rb=y$={position:hu.data(k$),silentPosition:hu.data(xt({},k$,{allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!1,beforeSet:function(m,k){x$(m,k,!0)},onSet:function(m){m.dirtyCompoundBoundsCache()}})),positions:function(m,k){if(se(m))k?this.silentPosition(m):this.position(m);else if(ae(m)){var S=m,M=this.cy();M.startBatch();for(var O=0;O<this.length;O++){var N=this[O],$=void 0;($=S(N,O))&&(k?N.silentPosition($):N.position($))}M.endBatch()}return this},silentPositions:function(m){return this.positions(m,!0)},shift:function(m,k,S){var M;if(se(m)?(M={x:X(m.x)?m.x:0,y:X(m.y)?m.y:0},S=k):ge(m)&&X(k)&&(M={x:0,y:0},M[m]=k),M!=null){var O=this.cy();O.startBatch();for(var N=0;N<this.length;N++){var $=this[N];if(!(O.hasCompoundNodes()&&$.isChild()&&$.ancestors().anySame(this))){var H=$.position(),q={x:H.x+M.x,y:H.y+M.y};S?$.silentPosition(q):$.position(q)}}O.endBatch()}return this},silentShift:function(m,k){return se(m)?this.shift(m,!0):ge(m)&&X(k)&&this.shift(m,k,!0),this},renderedPosition:function(m,k){var S=this[0],M=this.cy(),O=M.zoom(),N=M.pan(),$=se(m)?m:void 0,H=$!==void 0||k!==void 0&&ge(m);if(S&&S.isNode())if(H)for(var q=0;q<this.length;q++){var Y=this[q];k!==void 0?Y.position(m,(k-N[m])/O):$!==void 0&&Y.position(vj($,O,N))}else{var Z=S.position();return $=hS(Z,O,N),m===void 0?$:$[m]}else if(!H)return;return this},relativePosition:function(m,k){var S=this[0],M=this.cy(),O=se(m)?m:void 0,N=O!==void 0||k!==void 0&&ge(m),$=M.hasCompoundNodes();if(S&&S.isNode())if(N)for(var H=0;H<this.length;H++){var q=this[H],Y=$?q.parent():null,Z=Y&&Y.length>0,ce=Z;Z&&(Y=Y[0]);var ve=ce?Y.position():{x:0,y:0};k!==void 0?q.position(m,k+ve[m]):O!==void 0&&q.position({x:O.x+ve.x,y:O.y+ve.y})}else{var me=S.position(),Le=$?S.parent():null,_e=Le&&Le.length>0,Te=_e;_e&&(Le=Le[0]);var Fe=Te?Le.position():{x:0,y:0};return O={x:me.x-Fe.x,y:me.y-Fe.y},m===void 0?O:O[m]}else if(!N)return;return this}},rb.modelPosition=rb.point=rb.position,rb.modelPositions=rb.points=rb.positions,rb.renderedPoint=rb.renderedPosition,rb.relativePoint=rb.relativePosition;var Xne=y$,f8,ay;f8=ay={},ay.renderedBoundingBox=function(x){var m=this.boundingBox(x),k=this.cy(),S=k.zoom(),M=k.pan(),O=m.x1*S+M.x,N=m.x2*S+M.x,$=m.y1*S+M.y,H=m.y2*S+M.y;return{x1:O,x2:N,y1:$,y2:H,w:N-O,h:H-$}},ay.dirtyCompoundBoundsCache=function(){var x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,m=this.cy();return!m.styleEnabled()||!m.hasCompoundNodes()?this:(this.forEachUp(function(k){if(k.isParent()){var S=k._private;S.compoundBoundsClean=!1,S.bbCache=null,x||k.emitAndNotify("bounds")}}),this)},ay.updateCompoundBounds=function(){var x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,m=this.cy();if(!m.styleEnabled()||!m.hasCompoundNodes())return this;if(!x&&m.batching())return this;function k(N){if(!N.isParent())return;var $=N._private,H=N.children(),q=N.pstyle("compound-sizing-wrt-labels").value==="include",Y={width:{val:N.pstyle("min-width").pfValue,left:N.pstyle("min-width-bias-left"),right:N.pstyle("min-width-bias-right")},height:{val:N.pstyle("min-height").pfValue,top:N.pstyle("min-height-bias-top"),bottom:N.pstyle("min-height-bias-bottom")}},Z=H.boundingBox({includeLabels:q,includeOverlays:!1,useCache:!1}),ce=$.position;(Z.w===0||Z.h===0)&&(Z={w:N.pstyle("width").pfValue,h:N.pstyle("height").pfValue},Z.x1=ce.x-Z.w/2,Z.x2=ce.x+Z.w/2,Z.y1=ce.y-Z.h/2,Z.y2=ce.y+Z.h/2);function ve(Qe,Lt,Mt){var ut=0,Yt=0,St=Lt+Mt;return Qe>0&&St>0&&(ut=Lt/St*Qe,Yt=Mt/St*Qe),{biasDiff:ut,biasComplementDiff:Yt}}function me(Qe,Lt,Mt,ut){if(Mt.units==="%")switch(ut){case"width":return Qe>0?Mt.pfValue*Qe:0;case"height":return Lt>0?Mt.pfValue*Lt:0;case"average":return Qe>0&&Lt>0?Mt.pfValue*(Qe+Lt)/2:0;case"min":return Qe>0&&Lt>0?Qe>Lt?Mt.pfValue*Lt:Mt.pfValue*Qe:0;case"max":return Qe>0&&Lt>0?Qe>Lt?Mt.pfValue*Qe:Mt.pfValue*Lt:0;default:return 0}else return Mt.units==="px"?Mt.pfValue:0}var Le=Y.width.left.value;Y.width.left.units==="px"&&Y.width.val>0&&(Le=Le*100/Y.width.val);var _e=Y.width.right.value;Y.width.right.units==="px"&&Y.width.val>0&&(_e=_e*100/Y.width.val);var Te=Y.height.top.value;Y.height.top.units==="px"&&Y.height.val>0&&(Te=Te*100/Y.height.val);var Fe=Y.height.bottom.value;Y.height.bottom.units==="px"&&Y.height.val>0&&(Fe=Fe*100/Y.height.val);var Re=ve(Y.width.val-Z.w,Le,_e),Ve=Re.biasDiff,ct=Re.biasComplementDiff,st=ve(Y.height.val-Z.h,Te,Fe),Ye=st.biasDiff,vt=st.biasComplementDiff;$.autoPadding=me(Z.w,Z.h,N.pstyle("padding"),N.pstyle("padding-relative-to").value),$.autoWidth=Math.max(Z.w,Y.width.val),ce.x=(-Ve+Z.x1+Z.x2+ct)/2,$.autoHeight=Math.max(Z.h,Y.height.val),ce.y=(-Ye+Z.y1+Z.y2+vt)/2}for(var S=0;S<this.length;S++){var M=this[S],O=M._private;(!O.compoundBoundsClean||x)&&(k(M),m.batching()||(O.compoundBoundsClean=!0))}return this};var Wp=function(m){return m===1/0||m===-1/0?0:m},ib=function(m,k,S,M,O){M-k===0||O-S===0||k==null||S==null||M==null||O==null||(m.x1=k<m.x1?k:m.x1,m.x2=M>m.x2?M:m.x2,m.y1=S<m.y1?S:m.y1,m.y2=O>m.y2?O:m.y2,m.w=m.x2-m.x1,m.h=m.y2-m.y1)},v5=function(m,k){return k==null?m:ib(m,k.x1,k.y1,k.x2,k.y2)},tk=function(m,k,S){return nb(m,k,S)},AS=function(m,k,S){if(!k.cy().headless()){var M=k._private,O=M.rstyle,N=O.arrowWidth/2,$=k.pstyle(S+"-arrow-shape").value,H,q;if($!=="none"){S==="source"?(H=O.srcX,q=O.srcY):S==="target"?(H=O.tgtX,q=O.tgtY):(H=O.midX,q=O.midY);var Y=M.arrowBounds=M.arrowBounds||{},Z=Y[S]=Y[S]||{};Z.x1=H-N,Z.y1=q-N,Z.x2=H+N,Z.y2=q+N,Z.w=Z.x2-Z.x1,Z.h=Z.y2-Z.y1,dS(Z,1),ib(m,Z.x1,Z.y1,Z.x2,Z.y2)}}},MI=function(m,k,S){if(!k.cy().headless()){var M;S?M=S+"-":M="";var O=k._private,N=O.rstyle,$=k.pstyle(M+"label").strValue;if($){var H=k.pstyle("text-halign"),q=k.pstyle("text-valign"),Y=tk(N,"labelWidth",S),Z=tk(N,"labelHeight",S),ce=tk(N,"labelX",S),ve=tk(N,"labelY",S),me=k.pstyle(M+"text-margin-x").pfValue,Le=k.pstyle(M+"text-margin-y").pfValue,_e=k.isEdge(),Te=k.pstyle(M+"text-rotation"),Fe=k.pstyle("text-outline-width").pfValue,Re=k.pstyle("text-border-width").pfValue,Ve=Re/2,ct=k.pstyle("text-background-padding").pfValue,st=2,Ye=Z,vt=Y,Qe=vt/2,Lt=Ye/2,Mt,ut,Yt,St;if(_e)Mt=ce-Qe,ut=ce+Qe,Yt=ve-Lt,St=ve+Lt;else{switch(H.value){case"left":Mt=ce-vt,ut=ce;break;case"center":Mt=ce-Qe,ut=ce+Qe;break;case"right":Mt=ce,ut=ce+vt;break}switch(q.value){case"top":Yt=ve-Ye,St=ve;break;case"center":Yt=ve-Lt,St=ve+Lt;break;case"bottom":Yt=ve,St=ve+Ye;break}}Mt+=me-Math.max(Fe,Ve)-ct-st,ut+=me+Math.max(Fe,Ve)+ct+st,Yt+=Le-Math.max(Fe,Ve)-ct-st,St+=Le+Math.max(Fe,Ve)+ct+st;var _n=S||"main",fn=O.labelBounds,Xt=fn[_n]=fn[_n]||{};Xt.x1=Mt,Xt.y1=Yt,Xt.x2=ut,Xt.y2=St,Xt.w=ut-Mt,Xt.h=St-Yt;var Dn=_e&&Te.strValue==="autorotate",rr=Te.pfValue!=null&&Te.pfValue!==0;if(Dn||rr){var mr=Dn?tk(O.rstyle,"labelAngle",S):Te.pfValue,Pn=Math.cos(mr),gr=Math.sin(mr),kr=(Mt+ut)/2,Lr=(Yt+St)/2;if(!_e){switch(H.value){case"left":kr=ut;break;case"right":kr=Mt;break}switch(q.value){case"top":Lr=St;break;case"bottom":Lr=Yt;break}}var Er=function(va,Di){return va=va-kr,Di=Di-Lr,{x:va*Pn-Di*gr+kr,y:va*gr+Di*Pn+Lr}},Ir=Er(Mt,Yt),Kn=Er(Mt,St),pr=Er(ut,Yt),Cr=Er(ut,St);Mt=Math.min(Ir.x,Kn.x,pr.x,Cr.x),ut=Math.max(Ir.x,Kn.x,pr.x,Cr.x),Yt=Math.min(Ir.y,Kn.y,pr.y,Cr.y),St=Math.max(Ir.y,Kn.y,pr.y,Cr.y)}var Or=_n+"Rot",_i=fn[Or]=fn[Or]||{};_i.x1=Mt,_i.y1=Yt,_i.x2=ut,_i.y2=St,_i.w=ut-Mt,_i.h=St-Yt,ib(m,Mt,Yt,ut,St),ib(O.labelBounds.all,Mt,Yt,ut,St)}return m}},Qne=function(m,k){if(!k.cy().headless()){var S=k.pstyle("outline-opacity").value,M=k.pstyle("outline-width").value;if(S>0&&M>0){var O=k.pstyle("outline-offset").value,N=k.pstyle("shape").value,$=M+O,H=(m.w+$*2)/m.w,q=(m.h+$*2)/m.h,Y=0,Z=0;["diamond","pentagon","round-triangle"].includes(N)?(H=(m.w+$*2.4)/m.w,Z=-$/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(N)?H=(m.w+$*2.4)/m.w:N==="star"?(H=(m.w+$*2.8)/m.w,q=(m.h+$*2.6)/m.h,Z=-$/3.8):N==="triangle"?(H=(m.w+$*2.8)/m.w,q=(m.h+$*2.4)/m.h,Z=-$/1.4):N==="vee"&&(H=(m.w+$*4.4)/m.w,q=(m.h+$*3.8)/m.h,Z=-$*.5);var ce=m.h*q-m.h,ve=m.w*H-m.w;if(gS(m,[Math.ceil(ce/2),Math.ceil(ve/2)]),Y!=0||Z!==0){var me=LZ(m,Y,Z);yj(m,me)}}}},Jne=function(m,k){var S=m._private.cy,M=S.styleEnabled(),O=S.headless(),N=Qd(),$=m._private,H=m.isNode(),q=m.isEdge(),Y,Z,ce,ve,me,Le,_e=$.rstyle,Te=H&&M?m.pstyle("bounds-expansion").pfValue:[0],Fe=function(fs){return fs.pstyle("display").value!=="none"},Re=!M||Fe(m)&&(!q||Fe(m.source())&&Fe(m.target()));if(Re){var Ve=0,ct=0;M&&k.includeOverlays&&(Ve=m.pstyle("overlay-opacity").value,Ve!==0&&(ct=m.pstyle("overlay-padding").value));var st=0,Ye=0;M&&k.includeUnderlays&&(st=m.pstyle("underlay-opacity").value,st!==0&&(Ye=m.pstyle("underlay-padding").value));var vt=Math.max(ct,Ye),Qe=0,Lt=0;if(M&&(Qe=m.pstyle("width").pfValue,Lt=Qe/2),H&&k.includeNodes){var Mt=m.position();me=Mt.x,Le=Mt.y;var ut=m.outerWidth(),Yt=ut/2,St=m.outerHeight(),_n=St/2;Y=me-Yt,Z=me+Yt,ce=Le-_n,ve=Le+_n,ib(N,Y,ce,Z,ve),M&&k.includeOutlines&&Qne(N,m)}else if(q&&k.includeEdges)if(M&&!O){var fn=m.pstyle("curve-style").strValue;if(Y=Math.min(_e.srcX,_e.midX,_e.tgtX),Z=Math.max(_e.srcX,_e.midX,_e.tgtX),ce=Math.min(_e.srcY,_e.midY,_e.tgtY),ve=Math.max(_e.srcY,_e.midY,_e.tgtY),Y-=Lt,Z+=Lt,ce-=Lt,ve+=Lt,ib(N,Y,ce,Z,ve),fn==="haystack"){var Xt=_e.haystackPts;if(Xt&&Xt.length===2){if(Y=Xt[0].x,ce=Xt[0].y,Z=Xt[1].x,ve=Xt[1].y,Y>Z){var Dn=Y;Y=Z,Z=Dn}if(ce>ve){var rr=ce;ce=ve,ve=rr}ib(N,Y-Lt,ce-Lt,Z+Lt,ve+Lt)}}else if(fn==="bezier"||fn==="unbundled-bezier"||fn==="segments"||fn==="taxi"){var mr;switch(fn){case"bezier":case"unbundled-bezier":mr=_e.bezierPts;break;case"segments":case"taxi":mr=_e.linePts;break}if(mr!=null)for(var Pn=0;Pn<mr.length;Pn++){var gr=mr[Pn];Y=gr.x-Lt,Z=gr.x+Lt,ce=gr.y-Lt,ve=gr.y+Lt,ib(N,Y,ce,Z,ve)}}}else{var kr=m.source(),Lr=kr.position(),Er=m.target(),Ir=Er.position();if(Y=Lr.x,Z=Ir.x,ce=Lr.y,ve=Ir.y,Y>Z){var Kn=Y;Y=Z,Z=Kn}if(ce>ve){var pr=ce;ce=ve,ve=pr}Y-=Lt,Z+=Lt,ce-=Lt,ve+=Lt,ib(N,Y,ce,Z,ve)}if(M&&k.includeEdges&&q&&(AS(N,m,"mid-source"),AS(N,m,"mid-target"),AS(N,m,"source"),AS(N,m,"target")),M){var Cr=m.pstyle("ghost").value==="yes";if(Cr){var Or=m.pstyle("ghost-offset-x").pfValue,_i=m.pstyle("ghost-offset-y").pfValue;ib(N,N.x1+Or,N.y1+_i,N.x2+Or,N.y2+_i)}}var xs=$.bodyBounds=$.bodyBounds||{};xj(xs,N),gS(xs,Te),dS(xs,1),M&&(Y=N.x1,Z=N.x2,ce=N.y1,ve=N.y2,ib(N,Y-vt,ce-vt,Z+vt,ve+vt));var va=$.overlayBounds=$.overlayBounds||{};xj(va,N),gS(va,Te),dS(va,1);var Di=$.labelBounds=$.labelBounds||{};Di.all!=null?AZ(Di.all):Di.all=Qd(),M&&k.includeLabels&&(k.includeMainLabels&&MI(N,m,null),q&&(k.includeSourceLabels&&MI(N,m,"source"),k.includeTargetLabels&&MI(N,m,"target")))}return N.x1=Wp(N.x1),N.y1=Wp(N.y1),N.x2=Wp(N.x2),N.y2=Wp(N.y2),N.w=Wp(N.x2-N.x1),N.h=Wp(N.y2-N.y1),N.w>0&&N.h>0&&Re&&(gS(N,Te),dS(N,1)),N},T$=function(m){var k=0,S=function(N){return(N?1:0)<<k++},M=0;return M+=S(m.incudeNodes),M+=S(m.includeEdges),M+=S(m.includeLabels),M+=S(m.includeMainLabels),M+=S(m.includeSourceLabels),M+=S(m.includeTargetLabels),M+=S(m.includeOverlays),M+=S(m.includeOutlines),M},E$=function(m){if(m.isEdge()){var k=m.source().position(),S=m.target().position(),M=function(N){return Math.round(N)};return y1([M(k.x),M(k.y),M(S.x),M(S.y)])}else return 0},Kt=function(m,k){var S=m._private,M,O=m.isEdge(),N=k==null?C$:T$(k),$=N===C$,H=E$(m),q=S.bbCachePosKey===H,Y=k.useCache&&q,Z=function(Le){return Le._private.bbCache==null||Le._private.styleDirty},ce=!Y||Z(m)||O&&Z(m.source())||Z(m.target());if(ce?(q||m.recalculateRenderedStyle(Y),M=Jne(m,nk),S.bbCache=M,S.bbCachePosKey=H):M=S.bbCache,!$){var ve=m.isNode();M=Qd(),(k.includeNodes&&ve||k.includeEdges&&!ve)&&(k.includeOverlays?v5(M,S.overlayBounds):v5(M,S.bodyBounds)),k.includeLabels&&(k.includeMainLabels&&(!O||k.includeSourceLabels&&k.includeTargetLabels)?v5(M,S.labelBounds.all):(k.includeMainLabels&&v5(M,S.labelBounds.mainRot),k.includeSourceLabels&&v5(M,S.labelBounds.sourceRot),k.includeTargetLabels&&v5(M,S.labelBounds.targetRot))),M.w=M.x2-M.x1,M.h=M.y2-M.y1}return M},nk={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},C$=T$(nk),S$=z0(nk);ay.boundingBox=function(x){var m;if(this.length===1&&this[0]._private.bbCache!=null&&!this[0]._private.styleDirty&&(x===void 0||x.useCache===void 0||x.useCache===!0))x===void 0?x=nk:x=S$(x),m=Kt(this[0],x);else{m=Qd(),x=x||nk;var k=S$(x),S=this,M=S.cy(),O=M.styleEnabled();if(O)for(var N=0;N<S.length;N++){var $=S[N],H=$._private,q=E$($),Y=H.bbCachePosKey===q,Z=k.useCache&&Y&&!H.styleDirty;$.recalculateRenderedStyle(Z)}this.updateCompoundBounds(!x.useCache);for(var ce=0;ce<S.length;ce++){var ve=S[ce];v5(m,Kt(ve,k))}}return m.x1=Wp(m.x1),m.y1=Wp(m.y1),m.x2=Wp(m.x2),m.y2=Wp(m.y2),m.w=Wp(m.x2-m.x1),m.h=Wp(m.y2-m.y1),m},ay.dirtyBoundingBoxCache=function(){for(var x=0;x<this.length;x++){var m=this[x]._private;m.bbCache=null,m.bbCachePosKey=null,m.bodyBounds=null,m.overlayBounds=null,m.labelBounds.all=null,m.labelBounds.source=null,m.labelBounds.target=null,m.labelBounds.main=null,m.labelBounds.sourceRot=null,m.labelBounds.targetRot=null,m.labelBounds.mainRot=null,m.arrowBounds.source=null,m.arrowBounds.target=null,m.arrowBounds["mid-source"]=null,m.arrowBounds["mid-target"]=null}return this.emitAndNotify("bounds"),this},ay.boundingBoxAt=function(x){var m=this.nodes(),k=this.cy(),S=k.hasCompoundNodes(),M=k.collection();if(S&&(M=m.filter(function(q){return q.isParent()}),m=m.not(M)),se(x)){var O=x;x=function(){return O}}var N=function(Y,Z){return Y._private.bbAtOldPos=x(Y,Z)},$=function(Y){return Y._private.bbAtOldPos};k.startBatch(),m.forEach(N).silentPositions(x),S&&(M.dirtyCompoundBoundsCache(),M.dirtyBoundingBoxCache(),M.updateCompoundBounds(!0));var H=_Z(this.boundingBox({useCache:!1}));return m.silentPositions($),S&&(M.dirtyCompoundBoundsCache(),M.dirtyBoundingBoxCache(),M.updateCompoundBounds(!0)),k.endBatch(),H},f8.boundingbox=f8.bb=f8.boundingBox,f8.renderedBoundingbox=f8.renderedBoundingBox;var Zne=ay,rk,ik;rk=ik={};var _$=function(m){m.uppercaseName=Wt(m.name),m.autoName="auto"+m.uppercaseName,m.labelName="label"+m.uppercaseName,m.outerName="outer"+m.uppercaseName,m.uppercaseOuterName=Wt(m.outerName),rk[m.name]=function(){var S=this[0],M=S._private,O=M.cy,N=O._private.styleEnabled;if(S)if(N){if(S.isParent())return S.updateCompoundBounds(),M[m.autoName]||0;var $=S.pstyle(m.name);switch($.strValue){case"label":return S.recalculateRenderedStyle(),M.rstyle[m.labelName]||0;default:return $.pfValue}}else return 1},rk["outer"+m.uppercaseName]=function(){var S=this[0],M=S._private,O=M.cy,N=O._private.styleEnabled;if(S)if(N){var $=S[m.name](),H=S.pstyle("border-width").pfValue,q=2*S.padding();return $+H+q}else return 1},rk["rendered"+m.uppercaseName]=function(){var S=this[0];if(S){var M=S[m.name]();return M*this.cy().zoom()}},rk["rendered"+m.uppercaseOuterName]=function(){var S=this[0];if(S){var M=S[m.outerName]();return M*this.cy().zoom()}}};_$({name:"width"}),_$({name:"height"}),ik.padding=function(){var x=this[0],m=x._private;return x.isParent()?(x.updateCompoundBounds(),m.autoPadding!==void 0?m.autoPadding:x.pstyle("padding").pfValue):x.pstyle("padding").pfValue},ik.paddedHeight=function(){var x=this[0];return x.height()+2*x.padding()},ik.paddedWidth=function(){var x=this[0];return x.width()+2*x.padding()};var ere=ik,tre=function(m,k){if(m.isEdge())return k(m)},nre=function(m,k){if(m.isEdge()){var S=m.cy();return hS(k(m),S.zoom(),S.pan())}},rre=function(m,k){if(m.isEdge()){var S=m.cy(),M=S.pan(),O=S.zoom();return k(m).map(function(N){return hS(N,O,M)})}},ire=function(m){return m.renderer().getControlPoints(m)},sre=function(m){return m.renderer().getSegmentPoints(m)},DI=function(m){return m.renderer().getSourceEndpoint(m)},are=function(m){return m.renderer().getTargetEndpoint(m)},ore=function(m){return m.renderer().getEdgeMidpoint(m)},A$={controlPoints:{get:ire,mult:!0},segmentPoints:{get:sre,mult:!0},sourceEndpoint:{get:DI},targetEndpoint:{get:are},midpoint:{get:ore}},LS=function(m){return"rendered"+m[0].toUpperCase()+m.substr(1)},cre=Object.keys(A$).reduce(function(x,m){var k=A$[m],S=LS(m);return x[m]=function(){return tre(this,k.get)},k.mult?x[S]=function(){return rre(this,k.get)}:x[S]=function(){return nre(this,k.get)},x},{}),II=xt({},Xne,Zne,ere,cre);/*!
Event object based on jQuery events, MIT license
https://jquery.org/license/
https://tldrlegal.com/license/mit-license
https://github.com/jquery/jquery/blob/master/src/event.js
*/var sk=function(m,k){this.recycle(m,k)};function ak(){return!1}function ok(){return!0}sk.prototype={instanceString:function(){return"event"},recycle:function(m,k){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=ak,m!=null&&m.preventDefault?(this.type=m.type,this.isDefaultPrevented=m.defaultPrevented?ok:ak):m!=null&&m.type?k=m:this.type=m,k!=null&&(this.originalEvent=k.originalEvent,this.type=k.type!=null?k.type:this.type,this.cy=k.cy,this.target=k.target,this.position=k.position,this.renderedPosition=k.renderedPosition,this.namespace=k.namespace,this.layout=k.layout),this.cy!=null&&this.position!=null&&this.renderedPosition==null){var S=this.position,M=this.cy.zoom(),O=this.cy.pan();this.renderedPosition={x:S.x*M+O.x,y:S.y*M+O.y}}this.timeStamp=m&&m.timeStamp||Date.now()},preventDefault:function(){this.isDefaultPrevented=ok;var m=this.originalEvent;m&&m.preventDefault&&m.preventDefault()},stopPropagation:function(){this.isPropagationStopped=ok;var m=this.originalEvent;m&&m.stopPropagation&&m.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=ok,this.stopPropagation()},isDefaultPrevented:ak,isPropagationStopped:ak,isImmediatePropagationStopped:ak};var L$=/^([^.]+)(\.(?:[^.]+))?$/,ure=".*",M$={qualifierCompare:function(m,k){return m===k},eventMatches:function(){return!0},addEventFields:function(){},callbackContext:function(m){return m},beforeEmit:function(){},afterEmit:function(){},bubble:function(){return!1},parent:function(){return null},context:null},D$=Object.keys(M$),lre={};function MS(){for(var x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:lre,m=arguments.length>1?arguments[1]:void 0,k=0;k<D$.length;k++){var S=D$[k];this[S]=x[S]||M$[S]}this.context=m||this.context,this.listeners=[],this.emitting=0}var sb=MS.prototype,I$=function(m,k,S,M,O,N,$){ae(M)&&(O=M,M=null),$&&(N==null?N=$:N=xt({},N,$));for(var H=ne(S)?S:S.split(/\s+/),q=0;q<H.length;q++){var Y=H[q];if(!Se(Y)){var Z=Y.match(L$);if(Z){var ce=Z[1],ve=Z[2]?Z[2]:null,me=k(m,Y,ce,ve,M,O,N);if(me===!1)break}}}},O$=function(m,k){return m.addEventFields(m.context,k),new sk(k.type,k)},DS=function(m,k,S){if(Ie(S)){k(m,S);return}else if(se(S)){k(m,O$(m,S));return}for(var M=ne(S)?S:S.split(/\s+/),O=0;O<M.length;O++){var N=M[O];if(!Se(N)){var $=N.match(L$);if($){var H=$[1],q=$[2]?$[2]:null,Y=O$(m,{type:H,namespace:q,target:m.context});k(m,Y)}}}};sb.on=sb.addListener=function(x,m,k,S,M){return I$(this,function(O,N,$,H,q,Y,Z){ae(Y)&&O.listeners.push({event:N,callback:Y,type:$,namespace:H,qualifier:q,conf:Z})},x,m,k,S,M),this},sb.one=function(x,m,k,S){return this.on(x,m,k,S,{one:!0})},sb.removeListener=sb.off=function(x,m,k,S){var M=this;this.emitting!==0&&(this.listeners=tZ(this.listeners));for(var O=this.listeners,N=function(q){var Y=O[q];I$(M,function(Z,ce,ve,me,Le,_e){if((Y.type===ve||x==="*")&&(!me&&Y.namespace!==".*"||Y.namespace===me)&&(!Le||Z.qualifierCompare(Y.qualifier,Le))&&(!_e||Y.callback===_e))return O.splice(q,1),!1},x,m,k,S)},$=O.length-1;$>=0;$--)N($);return this},sb.removeAllListeners=function(){return this.removeListener("*")},sb.emit=sb.trigger=function(x,m,k){var S=this.listeners,M=S.length;return this.emitting++,ne(m)||(m=[m]),DS(this,function(O,N){k!=null&&(S=[{event:N.event,type:N.type,namespace:N.namespace,callback:k}],M=S.length);for(var $=function(Y){var Z=S[Y];if(Z.type===N.type&&(!Z.namespace||Z.namespace===N.namespace||Z.namespace===ure)&&O.eventMatches(O.context,Z,N)){var ce=[N];m!=null&&bj(ce,m),O.beforeEmit(O.context,Z,N),Z.conf&&Z.conf.one&&(O.listeners=O.listeners.filter(function(Le){return Le!==Z}));var ve=O.callbackContext(O.context,Z,N),me=Z.callback.apply(ve,ce);O.afterEmit(O.context,Z,N),me===!1&&(N.stopPropagation(),N.preventDefault())}},H=0;H<M;H++)$(H);O.bubble(O.context)&&!N.isPropagationStopped()&&O.parent(O.context).emit(N,m)},x),this.emitting--,this};var hre={qualifierCompare:function(m,k){return m==null||k==null?m==null&&k==null:m.sameText(k)},eventMatches:function(m,k,S){var M=k.qualifier;return M!=null?m!==S.target&&U(S.target)&&M.matches(S.target):!0},addEventFields:function(m,k){k.cy=m.cy(),k.target=m},callbackContext:function(m,k,S){return k.qualifier!=null?S.target:m},beforeEmit:function(m,k){k.conf&&k.conf.once&&k.conf.onceCollection.removeListener(k.event,k.qualifier,k.callback)},bubble:function(){return!0},parent:function(m){return m.isChild()?m.parent():m.cy()}},w5=function(m){return ge(m)?new ry(m):m},N$={createEmitter:function(){for(var m=0;m<this.length;m++){var k=this[m],S=k._private;S.emitter||(S.emitter=new MS(hre,k))}return this},emitter:function(){return this._private.emitter},on:function(m,k,S){for(var M=w5(k),O=0;O<this.length;O++){var N=this[O];N.emitter().on(m,M,S)}return this},removeListener:function(m,k,S){for(var M=w5(k),O=0;O<this.length;O++){var N=this[O];N.emitter().removeListener(m,M,S)}return this},removeAllListeners:function(){for(var m=0;m<this.length;m++){var k=this[m];k.emitter().removeAllListeners()}return this},one:function(m,k,S){for(var M=w5(k),O=0;O<this.length;O++){var N=this[O];N.emitter().one(m,M,S)}return this},once:function(m,k,S){for(var M=w5(k),O=0;O<this.length;O++){var N=this[O];N.emitter().on(m,M,S,{once:!0,onceCollection:this})}},emit:function(m,k){for(var S=0;S<this.length;S++){var M=this[S];M.emitter().emit(m,k)}return this},emitAndNotify:function(m,k){if(this.length!==0)return this.cy().notify(m,this),this.emit(m,k),this}};hu.eventAliasesOn(N$);var OI={nodes:function(m){return this.filter(function(k){return k.isNode()}).filter(m)},edges:function(m){return this.filter(function(k){return k.isEdge()}).filter(m)},byGroup:function(){for(var m=this.spawn(),k=this.spawn(),S=0;S<this.length;S++){var M=this[S];M.isNode()?m.push(M):k.push(M)}return{nodes:m,edges:k}},filter:function(m,k){if(m===void 0)return this;if(ge(m)||xe(m))return new ry(m).filter(this);if(ae(m)){for(var S=this.spawn(),M=this,O=0;O<M.length;O++){var N=M[O],$=k?m.apply(k,[N,O,M]):m(N,O,M);$&&S.push(N)}return S}return this.spawn()},not:function(m){if(m){ge(m)&&(m=this.filter(m));for(var k=this.spawn(),S=0;S<this.length;S++){var M=this[S],O=m.has(M);O||k.push(M)}return k}else return this},absoluteComplement:function(){var m=this.cy();return m.mutableElements().not(this)},intersect:function(m){if(ge(m)){var k=m;return this.filter(k)}for(var S=this.spawn(),M=this,O=m,N=this.length<m.length,$=N?M:O,H=N?O:M,q=0;q<$.length;q++){var Y=$[q];H.has(Y)&&S.push(Y)}return S},xor:function(m){var k=this._private.cy;ge(m)&&(m=k.$(m));var S=this.spawn(),M=this,O=m,N=function(H,q){for(var Y=0;Y<H.length;Y++){var Z=H[Y],ce=Z._private.data.id,ve=q.hasElementWithId(ce);ve||S.push(Z)}};return N(M,O),N(O,M),S},diff:function(m){var k=this._private.cy;ge(m)&&(m=k.$(m));var S=this.spawn(),M=this.spawn(),O=this.spawn(),N=this,$=m,H=function(Y,Z,ce){for(var ve=0;ve<Y.length;ve++){var me=Y[ve],Le=me._private.data.id,_e=Z.hasElementWithId(Le);_e?O.merge(me):ce.push(me)}};return H(N,$,S),H($,N,M),{left:S,right:M,both:O}},add:function(m){var k=this._private.cy;if(!m)return this;if(ge(m)){var S=m;m=k.mutableElements().filter(S)}for(var M=this.spawnSelf(),O=0;O<m.length;O++){var N=m[O],$=!this.has(N);$&&M.push(N)}return M},merge:function(m){var k=this._private,S=k.cy;if(!m)return this;if(m&&ge(m)){var M=m;m=S.mutableElements().filter(M)}for(var O=k.map,N=0;N<m.length;N++){var $=m[N],H=$._private.data.id,q=!O.has(H);if(q){var Y=this.length++;this[Y]=$,O.set(H,{ele:$,index:Y})}}return this},unmergeAt:function(m){var k=this[m],S=k.id(),M=this._private,O=M.map;this[m]=void 0,O.delete(S);var N=m===this.length-1;if(this.length>1&&!N){var $=this.length-1,H=this[$],q=H._private.data.id;this[$]=void 0,this[m]=H,O.set(q,{ele:H,index:m})}return this.length--,this},unmergeOne:function(m){m=m[0];var k=this._private,S=m._private.data.id,M=k.map,O=M.get(S);if(!O)return this;var N=O.index;return this.unmergeAt(N),this},unmerge:function(m){var k=this._private.cy;if(!m)return this;if(m&&ge(m)){var S=m;m=k.mutableElements().filter(S)}for(var M=0;M<m.length;M++)this.unmergeOne(m[M]);return this},unmergeBy:function(m){for(var k=this.length-1;k>=0;k--){var S=this[k];m(S)&&this.unmergeAt(k)}return this},map:function(m,k){for(var S=[],M=this,O=0;O<M.length;O++){var N=M[O],$=k?m.apply(k,[N,O,M]):m(N,O,M);S.push($)}return S},reduce:function(m,k){for(var S=k,M=this,O=0;O<M.length;O++)S=m(S,M[O],O,M);return S},max:function(m,k){for(var S=-1/0,M,O=this,N=0;N<O.length;N++){var $=O[N],H=k?m.apply(k,[$,N,O]):m($,N,O);H>S&&(S=H,M=$)}return{value:S,ele:M}},min:function(m,k){for(var S=1/0,M,O=this,N=0;N<O.length;N++){var $=O[N],H=k?m.apply(k,[$,N,O]):m($,N,O);H<S&&(S=H,M=$)}return{value:S,ele:M}}},Zc=OI;Zc.u=Zc["|"]=Zc["+"]=Zc.union=Zc.or=Zc.add,Zc["\\"]=Zc["!"]=Zc["-"]=Zc.difference=Zc.relativeComplement=Zc.subtract=Zc.not,Zc.n=Zc["&"]=Zc["."]=Zc.and=Zc.intersection=Zc.intersect,Zc["^"]=Zc["(+)"]=Zc["(-)"]=Zc.symmetricDifference=Zc.symdiff=Zc.xor,Zc.fnFilter=Zc.filterFn=Zc.stdFilter=Zc.filter,Zc.complement=Zc.abscomp=Zc.absoluteComplement;var NI={isNode:function(){return this.group()==="nodes"},isEdge:function(){return this.group()==="edges"},isLoop:function(){return this.isEdge()&&this.source()[0]===this.target()[0]},isSimple:function(){return this.isEdge()&&this.source()[0]!==this.target()[0]},group:function(){var m=this[0];if(m)return m._private.group}},PI=function(m,k){var S=m.cy(),M=S.hasCompoundNodes();function O(Y){var Z=Y.pstyle("z-compound-depth");return Z.value==="auto"?M?Y.zDepth():0:Z.value==="bottom"?-1:Z.value==="top"?Q7:0}var N=O(m)-O(k);if(N!==0)return N;function $(Y){var Z=Y.pstyle("z-index-compare");return Z.value==="auto"&&Y.isNode()?1:0}var H=$(m)-$(k);if(H!==0)return H;var q=m.pstyle("z-index").value-k.pstyle("z-index").value;return q!==0?q:m.poolIndex()-k.poolIndex()},IS={forEach:function(m,k){if(ae(m))for(var S=this.length,M=0;M<S;M++){var O=this[M],N=k?m.apply(k,[O,M,this]):m(O,M,this);if(N===!1)break}return this},toArray:function(){for(var m=[],k=0;k<this.length;k++)m.push(this[k]);return m},slice:function(m,k){var S=[],M=this.length;k==null&&(k=M),m==null&&(m=0),m<0&&(m=M+m),k<0&&(k=M+k);for(var O=m;O>=0&&O<k&&O<M;O++)S.push(this[O]);return this.spawn(S)},size:function(){return this.length},eq:function(m){return this[m]||this.spawn()},first:function(){return this[0]||this.spawn()},last:function(){return this[this.length-1]||this.spawn()},empty:function(){return this.length===0},nonempty:function(){return!this.empty()},sort:function(m){if(!ae(m))return this;var k=this.toArray().sort(m);return this.spawn(k)},sortByZIndex:function(){return this.sort(PI)},zDepth:function(){var m=this[0];if(m){var k=m._private,S=k.group;if(S==="nodes"){var M=k.data.parent?m.parents().size():0;return m.isParent()?M:Q7-1}else{var O=k.source,N=k.target,$=O.zDepth(),H=N.zDepth();return Math.max($,H,0)}}}};IS.each=IS.forEach;var fre=function(){var m="undefined",k=(typeof Symbol>"u"?"undefined":u(Symbol))!=m&&u(Symbol.iterator)!=m;k&&(IS[Symbol.iterator]=function(){var S=this,M={value:void 0,done:!1},O=0,N=this.length;return b({next:function(){return O<N?M.value=S[O++]:(M.value=void 0,M.done=!0),M}},Symbol.iterator,function(){return this})})};fre();var dre=z0({nodeDimensionsIncludeLabels:!1}),OS={layoutDimensions:function(m){m=dre(m);var k;if(!this.takesUpSpace())k={w:0,h:0};else if(m.nodeDimensionsIncludeLabels){var S=this.boundingBox();k={w:S.w,h:S.h}}else k={w:this.outerWidth(),h:this.outerHeight()};return(k.w===0||k.h===0)&&(k.w=k.h=1),k},layoutPositions:function(m,k,S){var M=this.nodes().filter(function(ct){return!ct.isParent()}),O=this.cy(),N=k.eles,$=function(st){return st.id()},H=Ne(S,$);m.emit({type:"layoutstart",layout:m}),m.animations=[];var q=function(st,Ye,vt){var Qe={x:Ye.x1+Ye.w/2,y:Ye.y1+Ye.h/2},Lt={x:(vt.x-Qe.x)*st,y:(vt.y-Qe.y)*st};return{x:Qe.x+Lt.x,y:Qe.y+Lt.y}},Y=k.spacingFactor&&k.spacingFactor!==1,Z=function(){if(!Y)return null;for(var st=Qd(),Ye=0;Ye<M.length;Ye++){var vt=M[Ye],Qe=H(vt,Ye);MZ(st,Qe.x,Qe.y)}return st},ce=Z(),ve=Ne(function(ct,st){var Ye=H(ct,st);if(Y){var vt=Math.abs(k.spacingFactor);Ye=q(vt,ce,Ye)}return k.transform!=null&&(Ye=k.transform(ct,Ye)),Ye},$);if(k.animate){for(var me=0;me<M.length;me++){var Le=M[me],_e=ve(Le,me),Te=k.animateFilter==null||k.animateFilter(Le,me);if(Te){var Fe=Le.animation({position:_e,duration:k.animationDuration,easing:k.animationEasing});m.animations.push(Fe)}else Le.position(_e)}if(k.fit){var Re=O.animation({fit:{boundingBox:N.boundingBoxAt(ve),padding:k.padding},duration:k.animationDuration,easing:k.animationEasing});m.animations.push(Re)}else if(k.zoom!==void 0&&k.pan!==void 0){var Ve=O.animation({zoom:k.zoom,pan:k.pan,duration:k.animationDuration,easing:k.animationEasing});m.animations.push(Ve)}m.animations.forEach(function(ct){return ct.play()}),m.one("layoutready",k.ready),m.emit({type:"layoutready",layout:m}),s8.all(m.animations.map(function(ct){return ct.promise()})).then(function(){m.one("layoutstop",k.stop),m.emit({type:"layoutstop",layout:m})})}else M.positions(ve),k.fit&&O.fit(k.eles,k.padding),k.zoom!=null&&O.zoom(k.zoom),k.pan&&O.pan(k.pan),m.one("layoutready",k.ready),m.emit({type:"layoutready",layout:m}),m.one("layoutstop",k.stop),m.emit({type:"layoutstop",layout:m});return this},layout:function(m){var k=this.cy();return k.makeLayout(xt({},m,{eles:this}))}};OS.createLayout=OS.makeLayout=OS.layout;function gre(x,m,k){var S=k._private,M=S.styleCache=S.styleCache||[],O;return(O=M[x])!=null||(O=M[x]=m(k)),O}function NS(x,m){return x=ud(x),function(S){return gre(x,m,S)}}function PS(x,m){x=ud(x);var k=function(M){return m.call(M)};return function(){var M=this[0];if(M)return gre(x,k,M)}}var q0={recalculateRenderedStyle:function(m){var k=this.cy(),S=k.renderer(),M=k.styleEnabled();return S&&M&&S.recalculateRenderedStyle(this,m),this},dirtyStyleCache:function(){var m=this.cy(),k=function(O){return O._private.styleCache=null};if(m.hasCompoundNodes()){var S;S=this.spawnSelf().merge(this.descendants()).merge(this.parents()),S.merge(S.connectedEdges()),S.forEach(k)}else this.forEach(function(M){k(M),M.connectedEdges().forEach(k)});return this},updateStyle:function(m){var k=this._private.cy;if(!k.styleEnabled())return this;if(k.batching()){var S=k._private.batchStyleEles;return S.merge(this),this}var M=k.hasCompoundNodes(),O=this;m=!!(m||m===void 0),M&&(O=this.spawnSelf().merge(this.descendants()).merge(this.parents()));var N=O;return m?N.emitAndNotify("style"):N.emit("style"),O.forEach(function($){return $._private.styleDirty=!0}),this},cleanStyle:function(){var m=this.cy();if(m.styleEnabled())for(var k=0;k<this.length;k++){var S=this[k];S._private.styleDirty&&(S._private.styleDirty=!1,m.style().apply(S))}},parsedStyle:function(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,S=this[0],M=S.cy();if(M.styleEnabled()&&S){this.cleanStyle();var O=S._private.style[m];return O??(k?M.style().getDefaultProperty(m):null)}},numericStyle:function(m){var k=this[0];if(k.cy().styleEnabled()&&k){var S=k.pstyle(m);return S.pfValue!==void 0?S.pfValue:S.value}},numericStyleUnits:function(m){var k=this[0];if(k.cy().styleEnabled()&&k)return k.pstyle(m).units},renderedStyle:function(m){var k=this.cy();if(!k.styleEnabled())return this;var S=this[0];if(S)return k.style().getRenderedStyle(S,m)},style:function(m,k){var S=this.cy();if(!S.styleEnabled())return this;var M=!1,O=S.style();if(se(m)){var N=m;O.applyBypass(this,N,M),this.emitAndNotify("style")}else if(ge(m))if(k===void 0){var $=this[0];return $?O.getStylePropertyValue($,m):void 0}else O.applyBypass(this,m,k,M),this.emitAndNotify("style");else if(m===void 0){var H=this[0];return H?O.getRawStyle(H):void 0}return this},removeStyle:function(m){var k=this.cy();if(!k.styleEnabled())return this;var S=!1,M=k.style(),O=this;if(m===void 0)for(var N=0;N<O.length;N++){var $=O[N];M.removeAllBypasses($,S)}else{m=m.split(/\s+/);for(var H=0;H<O.length;H++){var q=O[H];M.removeBypasses(q,m,S)}}return this.emitAndNotify("style"),this},show:function(){return this.css("display","element"),this},hide:function(){return this.css("display","none"),this},effectiveOpacity:function(){var m=this.cy();if(!m.styleEnabled())return 1;var k=m.hasCompoundNodes(),S=this[0];if(S){var M=S._private,O=S.pstyle("opacity").value;if(!k)return O;var N=M.data.parent?S.parents():null;if(N)for(var $=0;$<N.length;$++){var H=N[$],q=H.pstyle("opacity").value;O=q*O}return O}},transparent:function(){var m=this.cy();if(!m.styleEnabled())return!1;var k=this[0],S=k.cy().hasCompoundNodes();if(k)return S?k.effectiveOpacity()===0:k.pstyle("opacity").value===0},backgrounding:function(){var m=this.cy();if(!m.styleEnabled())return!1;var k=this[0];return!!k._private.backgrounding}};function BI(x,m){var k=x._private,S=k.data.parent?x.parents():null;if(S)for(var M=0;M<S.length;M++){var O=S[M];if(!m(O))return!1}return!0}function FI(x){var m=x.ok,k=x.edgeOkViaNode||x.ok,S=x.parentOk||x.ok;return function(){var M=this.cy();if(!M.styleEnabled())return!0;var O=this[0],N=M.hasCompoundNodes();if(O){var $=O._private;if(!m(O))return!1;if(O.isNode())return!N||BI(O,S);var H=$.source,q=$.target;return k(H)&&(!N||BI(H,k))&&(H===q||k(q)&&(!N||BI(q,k)))}}}var d8=NS("eleTakesUpSpace",function(x){return x.pstyle("display").value==="element"&&x.width()!==0&&(x.isNode()?x.height()!==0:!0)});q0.takesUpSpace=PS("takesUpSpace",FI({ok:d8}));var pre=NS("eleInteractive",function(x){return x.pstyle("events").value==="yes"&&x.pstyle("visibility").value==="visible"&&d8(x)}),bre=NS("parentInteractive",function(x){return x.pstyle("visibility").value==="visible"&&d8(x)});q0.interactive=PS("interactive",FI({ok:pre,parentOk:bre,edgeOkViaNode:d8})),q0.noninteractive=function(){var x=this[0];if(x)return!x.interactive()};var mre=NS("eleVisible",function(x){return x.pstyle("visibility").value==="visible"&&x.pstyle("opacity").pfValue!==0&&d8(x)}),vre=d8;q0.visible=PS("visible",FI({ok:mre,edgeOkViaNode:vre})),q0.hidden=function(){var x=this[0];if(x)return!x.visible()},q0.isBundledBezier=PS("isBundledBezier",function(){return this.cy().styleEnabled()?!this.removed()&&this.pstyle("curve-style").value==="bezier"&&this.takesUpSpace():!1}),q0.bypass=q0.css=q0.style,q0.renderedCss=q0.renderedStyle,q0.removeBypass=q0.removeCss=q0.removeStyle,q0.pstyle=q0.parsedStyle;var Zd={};function BS(x){return function(){var m=arguments,k=[];if(m.length===2){var S=m[0],M=m[1];this.on(x.event,S,M)}else if(m.length===1&&ae(m[0])){var O=m[0];this.on(x.event,O)}else if(m.length===0||m.length===1&&ne(m[0])){for(var N=m.length===1?m[0]:null,$=0;$<this.length;$++){var H=this[$],q=!x.ableField||H._private[x.ableField],Y=H._private[x.field]!=x.value;if(x.overrideAble){var Z=x.overrideAble(H);if(Z!==void 0&&(q=Z,!Z))return this}q&&(H._private[x.field]=x.value,Y&&k.push(H))}var ce=this.spawn(k);ce.updateStyle(),ce.emit(x.event),N&&ce.emit(N)}return this}}function g8(x){Zd[x.field]=function(){var m=this[0];if(m){if(x.overrideField){var k=x.overrideField(m);if(k!==void 0)return k}return m._private[x.field]}},Zd[x.on]=BS({event:x.on,field:x.field,ableField:x.ableField,overrideAble:x.overrideAble,value:!0}),Zd[x.off]=BS({event:x.off,field:x.field,ableField:x.ableField,overrideAble:x.overrideAble,value:!1})}g8({field:"locked",overrideField:function(m){return m.cy().autolock()?!0:void 0},on:"lock",off:"unlock"}),g8({field:"grabbable",overrideField:function(m){return m.cy().autoungrabify()||m.pannable()?!1:void 0},on:"grabify",off:"ungrabify"}),g8({field:"selected",ableField:"selectable",overrideAble:function(m){return m.cy().autounselectify()?!1:void 0},on:"select",off:"unselect"}),g8({field:"selectable",overrideField:function(m){return m.cy().autounselectify()?!1:void 0},on:"selectify",off:"unselectify"}),Zd.deselect=Zd.unselect,Zd.grabbed=function(){var x=this[0];if(x)return x._private.grabbed},g8({field:"active",on:"activate",off:"unactivate"}),g8({field:"pannable",on:"panify",off:"unpanify"}),Zd.inactive=function(){var x=this[0];if(x)return!x._private.active};var k1={},P$=function(m){return function(S){for(var M=this,O=[],N=0;N<M.length;N++){var $=M[N];if($.isNode()){for(var H=!1,q=$.connectedEdges(),Y=0;Y<q.length;Y++){var Z=q[Y],ce=Z.source(),ve=Z.target();if(m.noIncomingEdges&&ve===$&&ce!==$||m.noOutgoingEdges&&ce===$&&ve!==$){H=!0;break}}H||O.push($)}}return this.spawn(O,!0).filter(S)}},B$=function(m){return function(k){for(var S=this,M=[],O=0;O<S.length;O++){var N=S[O];if(N.isNode())for(var $=N.connectedEdges(),H=0;H<$.length;H++){var q=$[H],Y=q.source(),Z=q.target();m.outgoing&&Y===N?(M.push(q),M.push(Z)):m.incoming&&Z===N&&(M.push(q),M.push(Y))}}return this.spawn(M,!0).filter(k)}},F$=function(m){return function(k){for(var S=this,M=[],O={};;){var N=m.outgoing?S.outgoers():S.incomers();if(N.length===0)break;for(var $=!1,H=0;H<N.length;H++){var q=N[H],Y=q.id();O[Y]||(O[Y]=!0,M.push(q),$=!0)}if(!$)break;S=N}return this.spawn(M,!0).filter(k)}};k1.clearTraversalCache=function(){for(var x=0;x<this.length;x++)this[x]._private.traversalCache=null},xt(k1,{roots:P$({noIncomingEdges:!0}),leaves:P$({noOutgoingEdges:!0}),outgoers:Kp(B$({outgoing:!0}),"outgoers"),successors:F$({outgoing:!0}),incomers:Kp(B$({incoming:!0}),"incomers"),predecessors:F$({incoming:!0})}),xt(k1,{neighborhood:Kp(function(x){for(var m=[],k=this.nodes(),S=0;S<k.length;S++)for(var M=k[S],O=M.connectedEdges(),N=0;N<O.length;N++){var $=O[N],H=$.source(),q=$.target(),Y=M===H?q:H;Y.length>0&&m.push(Y[0]),m.push($[0])}return this.spawn(m,!0).filter(x)},"neighborhood"),closedNeighborhood:function(m){return this.neighborhood().add(this).filter(m)},openNeighborhood:function(m){return this.neighborhood(m)}}),k1.neighbourhood=k1.neighborhood,k1.closedNeighbourhood=k1.closedNeighborhood,k1.openNeighbourhood=k1.openNeighborhood,xt(k1,{source:Kp(function(m){var k=this[0],S;return k&&(S=k._private.source||k.cy().collection()),S&&m?S.filter(m):S},"source"),target:Kp(function(m){var k=this[0],S;return k&&(S=k._private.target||k.cy().collection()),S&&m?S.filter(m):S},"target"),sources:R$({attr:"source"}),targets:R$({attr:"target"})});function R$(x){return function(k){for(var S=[],M=0;M<this.length;M++){var O=this[M],N=O._private[x.attr];N&&S.push(N)}return this.spawn(S,!0).filter(k)}}xt(k1,{edgesWith:Kp(j$(),"edgesWith"),edgesTo:Kp(j$({thisIsSrc:!0}),"edgesTo")});function j$(x){return function(k){var S=[],M=this._private.cy,O=x||{};ge(k)&&(k=M.$(k));for(var N=0;N<k.length;N++)for(var $=k[N]._private.edges,H=0;H<$.length;H++){var q=$[H],Y=q._private.data,Z=this.hasElementWithId(Y.source)&&k.hasElementWithId(Y.target),ce=k.hasElementWithId(Y.source)&&this.hasElementWithId(Y.target),ve=Z||ce;ve&&((O.thisIsSrc||O.thisIsTgt)&&(O.thisIsSrc&&!Z||O.thisIsTgt&&!ce)||S.push(q))}return this.spawn(S,!0)}}xt(k1,{connectedEdges:Kp(function(x){for(var m=[],k=this,S=0;S<k.length;S++){var M=k[S];if(M.isNode())for(var O=M._private.edges,N=0;N<O.length;N++){var $=O[N];m.push($)}}return this.spawn(m,!0).filter(x)},"connectedEdges"),connectedNodes:Kp(function(x){for(var m=[],k=this,S=0;S<k.length;S++){var M=k[S];M.isEdge()&&(m.push(M.source()[0]),m.push(M.target()[0]))}return this.spawn(m,!0).filter(x)},"connectedNodes"),parallelEdges:Kp($$(),"parallelEdges"),codirectedEdges:Kp($$({codirected:!0}),"codirectedEdges")});function $$(x){var m={codirected:!1};return x=xt({},m,x),function(S){for(var M=[],O=this.edges(),N=x,$=0;$<O.length;$++)for(var H=O[$],q=H._private,Y=q.source,Z=Y._private.data.id,ce=q.data.target,ve=Y._private.edges,me=0;me<ve.length;me++){var Le=ve[me],_e=Le._private.data,Te=_e.target,Fe=_e.source,Re=Te===ce&&Fe===Z,Ve=Z===Te&&ce===Fe;(N.codirected&&Re||!N.codirected&&(Re||Ve))&&M.push(Le)}return this.spawn(M,!0).filter(S)}}xt(k1,{components:function(m){var k=this,S=k.cy(),M=S.collection(),O=m==null?k.nodes():m.nodes(),N=[];m!=null&&O.empty()&&(O=m.sources());var $=function(Y,Z){M.merge(Y),O.unmerge(Y),Z.merge(Y)};if(O.empty())return k.spawn();var H=function(){var Y=S.collection();N.push(Y);var Z=O[0];$(Z,Y),k.bfs({directed:!1,roots:Z,visit:function(ve){return $(ve,Y)}}),Y.forEach(function(ce){ce.connectedEdges().forEach(function(ve){k.has(ve)&&Y.has(ve.source())&&Y.has(ve.target())&&Y.merge(ve)})})};do H();while(O.length>0);return N},component:function(){var m=this[0];return m.cy().mutableElements().components(m)[0]}}),k1.componentsOf=k1.components;var H0=function(m,k){var S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,M=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(m===void 0){sh("A collection must have a reference to the core");return}var O=new _m,N=!1;if(!k)k=[];else if(k.length>0&&se(k[0])&&!U(k[0])){N=!0;for(var $=[],H=new J7,q=0,Y=k.length;q<Y;q++){var Z=k[q];Z.data==null&&(Z.data={});var ce=Z.data;if(ce.id==null)ce.id=gj();else if(m.hasElementWithId(ce.id)||H.has(ce.id))continue;var ve=new lS(m,Z,!1);$.push(ve),H.add(ce.id)}k=$}this.length=0;for(var me=0,Le=k.length;me<Le;me++){var _e=k[me][0];if(_e!=null){var Te=_e._private.data.id;(!S||!O.has(Te))&&(S&&O.set(Te,{index:this.length,ele:_e}),this[this.length]=_e,this.length++)}}this._private={eles:this,cy:m,get map(){return this.lazyMap==null&&this.rebuildMap(),this.lazyMap},set map(Fe){this.lazyMap=Fe},rebuildMap:function(){for(var Re=this.lazyMap=new _m,Ve=this.eles,ct=0;ct<Ve.length;ct++){var st=Ve[ct];Re.set(st.id(),{index:ct,ele:st})}}},S&&(this._private.map=O),N&&!M&&this.restore()},tl=lS.prototype=H0.prototype=Object.create(Array.prototype);tl.instanceString=function(){return"collection"},tl.spawn=function(x,m){return new H0(this.cy(),x,m)},tl.spawnSelf=function(){return this.spawn(this)},tl.cy=function(){return this._private.cy},tl.renderer=function(){return this._private.cy.renderer()},tl.element=function(){return this[0]},tl.collection=function(){return Be(this)?this:new H0(this._private.cy,[this])},tl.unique=function(){return new H0(this._private.cy,this,!0)},tl.hasElementWithId=function(x){return x=""+x,this._private.map.has(x)},tl.getElementById=function(x){x=""+x;var m=this._private.cy,k=this._private.map.get(x);return k?k.ele:new H0(m)},tl.$id=tl.getElementById,tl.poolIndex=function(){var x=this._private.cy,m=x._private.elements,k=this[0]._private.data.id;return m._private.map.get(k).index},tl.indexOf=function(x){var m=x[0]._private.data.id;return this._private.map.get(m).index},tl.indexOfId=function(x){return x=""+x,this._private.map.get(x).index},tl.json=function(x){var m=this.element(),k=this.cy();if(m==null&&x)return this;if(m!=null){var S=m._private;if(se(x)){if(k.startBatch(),x.data){m.data(x.data);var M=S.data;if(m.isEdge()){var O=!1,N={},$=x.data.source,H=x.data.target;$!=null&&$!=M.source&&(N.source=""+$,O=!0),H!=null&&H!=M.target&&(N.target=""+H,O=!0),O&&(m=m.move(N))}else{var q="parent"in x.data,Y=x.data.parent;q&&(Y!=null||M.parent!=null)&&Y!=M.parent&&(Y===void 0&&(Y=null),Y!=null&&(Y=""+Y),m=m.move({parent:Y}))}}x.position&&m.position(x.position);var Z=function(Le,_e,Te){var Fe=x[Le];Fe!=null&&Fe!==S[Le]&&(Fe?m[_e]():m[Te]())};return Z("removed","remove","restore"),Z("selected","select","unselect"),Z("selectable","selectify","unselectify"),Z("locked","lock","unlock"),Z("grabbable","grabify","ungrabify"),Z("pannable","panify","unpanify"),x.classes!=null&&m.classes(x.classes),k.endBatch(),this}else if(x===void 0){var ce={data:Sm(S.data),position:Sm(S.position),group:S.group,removed:S.removed,selected:S.selected,selectable:S.selectable,locked:S.locked,grabbable:S.grabbable,pannable:S.pannable,classes:null};ce.classes="";var ve=0;return S.classes.forEach(function(me){return ce.classes+=ve++===0?me:" "+me}),ce}}},tl.jsons=function(){for(var x=[],m=0;m<this.length;m++){var k=this[m],S=k.json();x.push(S)}return x},tl.clone=function(){for(var x=this.cy(),m=[],k=0;k<this.length;k++){var S=this[k],M=S.json(),O=new lS(x,M,!1);m.push(O)}return new H0(x,m)},tl.copy=tl.clone,tl.restore=function(){for(var x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,k=this,S=k.cy(),M=S._private,O=[],N=[],$,H=0,q=k.length;H<q;H++){var Y=k[H];m&&!Y.removed()||(Y.isNode()?O.push(Y):N.push(Y))}$=O.concat(N);var Z,ce=function(){$.splice(Z,1),Z--};for(Z=0;Z<$.length;Z++){var ve=$[Z],me=ve._private,Le=me.data;if(ve.clearTraversalCache(),!(!m&&!me.removed)){if(Le.id===void 0)Le.id=gj();else if(X(Le.id))Le.id=""+Le.id;else if(Se(Le.id)||!ge(Le.id)){sh("Can not create element with invalid string ID `"+Le.id+"`"),ce();continue}else if(S.hasElementWithId(Le.id)){sh("Can not create second element with ID `"+Le.id+"`"),ce();continue}}var _e=Le.id;if(ve.isNode()){var Te=me.position;Te.x==null&&(Te.x=0),Te.y==null&&(Te.y=0)}if(ve.isEdge()){for(var Fe=ve,Re=["source","target"],Ve=Re.length,ct=!1,st=0;st<Ve;st++){var Ye=Re[st],vt=Le[Ye];X(vt)&&(vt=Le[Ye]=""+Le[Ye]),vt==null||vt===""?(sh("Can not create edge `"+_e+"` with unspecified "+Ye),ct=!0):S.hasElementWithId(vt)||(sh("Can not create edge `"+_e+"` with nonexistant "+Ye+" `"+vt+"`"),ct=!0)}if(ct){ce();continue}var Qe=S.getElementById(Le.source),Lt=S.getElementById(Le.target);Qe.same(Lt)?Qe._private.edges.push(Fe):(Qe._private.edges.push(Fe),Lt._private.edges.push(Fe)),Fe._private.source=Qe,Fe._private.target=Lt}me.map=new _m,me.map.set(_e,{ele:ve,index:0}),me.removed=!1,m&&S.addToPool(ve)}for(var Mt=0;Mt<O.length;Mt++){var ut=O[Mt],Yt=ut._private.data;X(Yt.parent)&&(Yt.parent=""+Yt.parent);var St=Yt.parent,_n=St!=null;if(_n||ut._private.parent){var fn=ut._private.parent?S.collection().merge(ut._private.parent):S.getElementById(St);if(fn.empty())Yt.parent=void 0;else if(fn[0].removed())lu("Node added with missing parent, reference to parent removed"),Yt.parent=void 0,ut._private.parent=null;else{for(var Xt=!1,Dn=fn;!Dn.empty();){if(ut.same(Dn)){Xt=!0,Yt.parent=void 0;break}Dn=Dn.parent()}Xt||(fn[0]._private.children.push(ut),ut._private.parent=fn[0],M.hasCompoundNodes=!0)}}}if($.length>0){for(var rr=$.length===k.length?k:new H0(S,$),mr=0;mr<rr.length;mr++){var Pn=rr[mr];Pn.isNode()||(Pn.parallelEdges().clearTraversalCache(),Pn.source().clearTraversalCache(),Pn.target().clearTraversalCache())}var gr;M.hasCompoundNodes?gr=S.collection().merge(rr).merge(rr.connectedNodes()).merge(rr.parent()):gr=rr,gr.dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(x),x?rr.emitAndNotify("add"):m&&rr.emit("add")}return k},tl.removed=function(){var x=this[0];return x&&x._private.removed},tl.inside=function(){var x=this[0];return x&&!x._private.removed},tl.remove=function(){var x=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,k=this,S=[],M={},O=k._private.cy;function N(St){for(var _n=St._private.edges,fn=0;fn<_n.length;fn++)H(_n[fn])}function $(St){for(var _n=St._private.children,fn=0;fn<_n.length;fn++)H(_n[fn])}function H(St){var _n=M[St.id()];m&&St.removed()||_n||(M[St.id()]=!0,St.isNode()?(S.push(St),N(St),$(St)):S.unshift(St))}for(var q=0,Y=k.length;q<Y;q++){var Z=k[q];H(Z)}function ce(St,_n){var fn=St._private.edges;ey(fn,_n),St.clearTraversalCache()}function ve(St){St.clearTraversalCache()}var me=[];me.ids={};function Le(St,_n){_n=_n[0],St=St[0];var fn=St._private.children,Xt=St.id();ey(fn,_n),_n._private.parent=null,me.ids[Xt]||(me.ids[Xt]=!0,me.push(St))}k.dirtyCompoundBoundsCache(),m&&O.removeFromPool(S);for(var _e=0;_e<S.length;_e++){var Te=S[_e];if(Te.isEdge()){var Fe=Te.source()[0],Re=Te.target()[0];ce(Fe,Te),ce(Re,Te);for(var Ve=Te.parallelEdges(),ct=0;ct<Ve.length;ct++){var st=Ve[ct];ve(st),st.isBundledBezier()&&st.dirtyBoundingBoxCache()}}else{var Ye=Te.parent();Ye.length!==0&&Le(Ye,Te)}m&&(Te._private.removed=!0)}var vt=O._private.elements;O._private.hasCompoundNodes=!1;for(var Qe=0;Qe<vt.length;Qe++){var Lt=vt[Qe];if(Lt.isParent()){O._private.hasCompoundNodes=!0;break}}var Mt=new H0(this.cy(),S);Mt.size()>0&&(x?Mt.emitAndNotify("remove"):m&&Mt.emit("remove"));for(var ut=0;ut<me.length;ut++){var Yt=me[ut];(!m||!Yt.removed())&&Yt.updateStyle()}return Mt},tl.move=function(x){var m=this._private.cy,k=this,S=!1,M=!1,O=function(me){return me==null?me:""+me};if(x.source!==void 0||x.target!==void 0){var N=O(x.source),$=O(x.target),H=N!=null&&m.hasElementWithId(N),q=$!=null&&m.hasElementWithId($);(H||q)&&(m.batch(function(){k.remove(S,M),k.emitAndNotify("moveout");for(var ve=0;ve<k.length;ve++){var me=k[ve],Le=me._private.data;me.isEdge()&&(H&&(Le.source=N),q&&(Le.target=$))}k.restore(S,M)}),k.emitAndNotify("move"))}else if(x.parent!==void 0){var Y=O(x.parent),Z=Y===null||m.hasElementWithId(Y);if(Z){var ce=Y===null?void 0:Y;m.batch(function(){var ve=k.remove(S,M);ve.emitAndNotify("moveout");for(var me=0;me<k.length;me++){var Le=k[me],_e=Le._private.data;Le.isNode()&&(_e.parent=ce)}ve.restore(S,M)}),k.emitAndNotify("move")}}return this},[Hj,Bne,_S,iy,l8,sy,ek,II,N$,OI,NI,IS,OS,q0,Zd,k1].forEach(function(x){xt(tl,x)});var wre={add:function(m){var k,S=this;if(xe(m)){var M=m;if(M._private.cy===S)k=M.restore();else{for(var O=[],N=0;N<M.length;N++){var $=M[N];O.push($.json())}k=new H0(S,O)}}else if(ne(m)){var H=m;k=new H0(S,H)}else if(se(m)&&(ne(m.nodes)||ne(m.edges))){for(var q=m,Y=[],Z=["nodes","edges"],ce=0,ve=Z.length;ce<ve;ce++){var me=Z[ce],Le=q[me];if(ne(Le))for(var _e=0,Te=Le.length;_e<Te;_e++){var Fe=xt({group:me},Le[_e]);Y.push(Fe)}}k=new H0(S,Y)}else{var Re=m;k=new lS(S,Re).collection()}return k},remove:function(m){if(!xe(m)){if(ge(m)){var k=m;m=this.$(k)}}return m.remove()}};/*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License */function yre(x,m,k,S){var M=4,O=.001,N=1e-7,$=10,H=11,q=1/(H-1),Y=typeof Float32Array<"u";if(arguments.length!==4)return!1;for(var Z=0;Z<4;++Z)if(typeof arguments[Z]!="number"||isNaN(arguments[Z])||!isFinite(arguments[Z]))return!1;x=Math.min(x,1),k=Math.min(k,1),x=Math.max(x,0),k=Math.max(k,0);var ce=Y?new Float32Array(H):new Array(H);function ve(Lt,Mt){return 1-3*Mt+3*Lt}function me(Lt,Mt){return 3*Mt-6*Lt}function Le(Lt){return 3*Lt}function _e(Lt,Mt,ut){return((ve(Mt,ut)*Lt+me(Mt,ut))*Lt+Le(Mt))*Lt}function Te(Lt,Mt,ut){return 3*ve(Mt,ut)*Lt*Lt+2*me(Mt,ut)*Lt+Le(Mt)}function Fe(Lt,Mt){for(var ut=0;ut<M;++ut){var Yt=Te(Mt,x,k);if(Yt===0)return Mt;var St=_e(Mt,x,k)-Lt;Mt-=St/Yt}return Mt}function Re(){for(var Lt=0;Lt<H;++Lt)ce[Lt]=_e(Lt*q,x,k)}function Ve(Lt,Mt,ut){var Yt,St,_n=0;do St=Mt+(ut-Mt)/2,Yt=_e(St,x,k)-Lt,Yt>0?ut=St:Mt=St;while(Math.abs(Yt)>N&&++_n<$);return St}function ct(Lt){for(var Mt=0,ut=1,Yt=H-1;ut!==Yt&&ce[ut]<=Lt;++ut)Mt+=q;--ut;var St=(Lt-ce[ut])/(ce[ut+1]-ce[ut]),_n=Mt+St*q,fn=Te(_n,x,k);return fn>=O?Fe(Lt,_n):fn===0?_n:Ve(Lt,Mt,Mt+q)}var st=!1;function Ye(){st=!0,(x!==m||k!==S)&&Re()}var vt=function(Mt){return st||Ye(),x===m&&k===S?Mt:Mt===0?0:Mt===1?1:_e(ct(Mt),m,S)};vt.getControlPoints=function(){return[{x,y:m},{x:k,y:S}]};var Qe="generateBezier("+[x,m,k,S]+")";return vt.toString=function(){return Qe},vt}/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var xre=function(){function x(S){return-S.tension*S.x-S.friction*S.v}function m(S,M,O){var N={x:S.x+O.dx*M,v:S.v+O.dv*M,tension:S.tension,friction:S.friction};return{dx:N.v,dv:x(N)}}function k(S,M){var O={dx:S.v,dv:x(S)},N=m(S,M*.5,O),$=m(S,M*.5,N),H=m(S,M,$),q=1/6*(O.dx+2*(N.dx+$.dx)+H.dx),Y=1/6*(O.dv+2*(N.dv+$.dv)+H.dv);return S.x=S.x+q*M,S.v=S.v+Y*M,S}return function S(M,O,N){var $={x:-1,v:0,tension:null,friction:null},H=[0],q=0,Y=1/1e4,Z=16/1e3,ce,ve,me;for(M=parseFloat(M)||500,O=parseFloat(O)||20,N=N||null,$.tension=M,$.friction=O,ce=N!==null,ce?(q=S(M,O),ve=q/N*Z):ve=Z;me=k(me||$,ve),H.push(1+me.x),q+=16,Math.abs(me.x)>Y&&Math.abs(me.v)>Y;);return ce?function(Le){return H[Le*(H.length-1)|0]}:q}}(),nl=function(m,k,S,M){var O=yre(m,k,S,M);return function(N,$,H){return N+($-N)*O(H)}},FS={linear:function(m,k,S){return m+(k-m)*S},ease:nl(.25,.1,.25,1),"ease-in":nl(.42,0,1,1),"ease-out":nl(0,0,.58,1),"ease-in-out":nl(.42,0,.58,1),"ease-in-sine":nl(.47,0,.745,.715),"ease-out-sine":nl(.39,.575,.565,1),"ease-in-out-sine":nl(.445,.05,.55,.95),"ease-in-quad":nl(.55,.085,.68,.53),"ease-out-quad":nl(.25,.46,.45,.94),"ease-in-out-quad":nl(.455,.03,.515,.955),"ease-in-cubic":nl(.55,.055,.675,.19),"ease-out-cubic":nl(.215,.61,.355,1),"ease-in-out-cubic":nl(.645,.045,.355,1),"ease-in-quart":nl(.895,.03,.685,.22),"ease-out-quart":nl(.165,.84,.44,1),"ease-in-out-quart":nl(.77,0,.175,1),"ease-in-quint":nl(.755,.05,.855,.06),"ease-out-quint":nl(.23,1,.32,1),"ease-in-out-quint":nl(.86,0,.07,1),"ease-in-expo":nl(.95,.05,.795,.035),"ease-out-expo":nl(.19,1,.22,1),"ease-in-out-expo":nl(1,0,0,1),"ease-in-circ":nl(.6,.04,.98,.335),"ease-out-circ":nl(.075,.82,.165,1),"ease-in-out-circ":nl(.785,.135,.15,.86),spring:function(m,k,S){if(S===0)return FS.linear;var M=xre(m,k,S);return function(O,N,$){return O+(N-O)*M($)}},"cubic-bezier":nl};function z$(x,m,k,S,M){if(S===1||m===k)return k;var O=M(m,k,S);return x==null||((x.roundValue||x.color)&&(O=Math.round(O)),x.min!==void 0&&(O=Math.max(O,x.min)),x.max!==void 0&&(O=Math.min(O,x.max))),O}function q$(x,m){return x.pfValue!=null||x.value!=null?x.pfValue!=null&&(m==null||m.type.units!=="%")?x.pfValue:x.value:x}function p8(x,m,k,S,M){var O=M!=null?M.type:null;k<0?k=0:k>1&&(k=1);var N=q$(x,M),$=q$(m,M);if(X(N)&&X($))return z$(O,N,$,k,S);if(ne(N)&&ne($)){for(var H=[],q=0;q<$.length;q++){var Y=N[q],Z=$[q];if(Y!=null&&Z!=null){var ce=z$(O,Y,Z,k,S);H.push(ce)}else H.push(Z)}return H}}function kre(x,m,k,S){var M=!S,O=x._private,N=m._private,$=N.easing,H=N.startTime,q=S?x:x.cy(),Y=q.style();if(!N.easingImpl)if($==null)N.easingImpl=FS.linear;else{var Z;if(ge($)){var ce=Y.parse("transition-timing-function",$);Z=ce.value}else Z=$;var ve,me;ge(Z)?(ve=Z,me=[]):(ve=Z[1],me=Z.slice(2).map(function(rr){return+rr})),me.length>0?(ve==="spring"&&me.push(N.duration),N.easingImpl=FS[ve].apply(null,me)):N.easingImpl=FS[ve]}var Le=N.easingImpl,_e;if(N.duration===0?_e=1:_e=(k-H)/N.duration,N.applying&&(_e=N.progress),_e<0?_e=0:_e>1&&(_e=1),N.delay==null){var Te=N.startPosition,Fe=N.position;if(Fe&&M&&!x.locked()){var Re={};ck(Te.x,Fe.x)&&(Re.x=p8(Te.x,Fe.x,_e,Le)),ck(Te.y,Fe.y)&&(Re.y=p8(Te.y,Fe.y,_e,Le)),x.position(Re)}var Ve=N.startPan,ct=N.pan,st=O.pan,Ye=ct!=null&&S;Ye&&(ck(Ve.x,ct.x)&&(st.x=p8(Ve.x,ct.x,_e,Le)),ck(Ve.y,ct.y)&&(st.y=p8(Ve.y,ct.y,_e,Le)),x.emit("pan"));var vt=N.startZoom,Qe=N.zoom,Lt=Qe!=null&&S;Lt&&(ck(vt,Qe)&&(O.zoom=K9(O.minZoom,p8(vt,Qe,_e,Le),O.maxZoom)),x.emit("zoom")),(Ye||Lt)&&x.emit("viewport");var Mt=N.style;if(Mt&&Mt.length>0&&M){for(var ut=0;ut<Mt.length;ut++){var Yt=Mt[ut],St=Yt.name,_n=Yt,fn=N.startStyle[St],Xt=Y.properties[fn.name],Dn=p8(fn,_n,_e,Le,Xt);Y.overrideBypass(x,St,Dn)}x.emit("style")}}return N.progress=_e,_e}function ck(x,m){return x==null||m==null?!1:X(x)&&X(m)?!0:!!(x&&m)}function Tre(x,m,k,S){var M=m._private;M.started=!0,M.startTime=k-M.progress*M.duration}function H$(x,m){var k=m._private.aniEles,S=[];function M(Y,Z){var ce=Y._private,ve=ce.animation.current,me=ce.animation.queue,Le=!1;if(ve.length===0){var _e=me.shift();_e&&ve.push(_e)}for(var Te=function(st){for(var Ye=st.length-1;Ye>=0;Ye--){var vt=st[Ye];vt()}st.splice(0,st.length)},Fe=ve.length-1;Fe>=0;Fe--){var Re=ve[Fe],Ve=Re._private;if(Ve.stopped){ve.splice(Fe,1),Ve.hooked=!1,Ve.playing=!1,Ve.started=!1,Te(Ve.frames);continue}!Ve.playing&&!Ve.applying||(Ve.playing&&Ve.applying&&(Ve.applying=!1),Ve.started||Tre(Y,Re,x),kre(Y,Re,x,Z),Ve.applying&&(Ve.applying=!1),Te(Ve.frames),Ve.step!=null&&Ve.step(x),Re.completed()&&(ve.splice(Fe,1),Ve.hooked=!1,Ve.playing=!1,Ve.started=!1,Te(Ve.completes)),Le=!0)}return!Z&&ve.length===0&&me.length===0&&S.push(Y),Le}for(var O=!1,N=0;N<k.length;N++){var $=k[N],H=M($);O=O||H}var q=M(m,!0);(O||q)&&(k.length>0?m.notify("draw",k):m.notify("draw")),k.unmerge(S),m.emit("step")}var Ere={animate:hu.animate(),animation:hu.animation(),animated:hu.animated(),clearQueue:hu.clearQueue(),delay:hu.delay(),delayAnimation:hu.delayAnimation(),stop:hu.stop(),addToAnimationPool:function(m){var k=this;k.styleEnabled()&&k._private.aniEles.merge(m)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var m=this;if(m._private.animationsRunning=!0,!m.styleEnabled())return;function k(){m._private.animationsRunning&&Wh(function(O){H$(O,m),k()})}var S=m.renderer();S&&S.beforeRender?S.beforeRender(function(O,N){H$(N,m)},S.beforeRenderPriorities.animations):k()}},Cre={qualifierCompare:function(m,k){return m==null||k==null?m==null&&k==null:m.sameText(k)},eventMatches:function(m,k,S){var M=k.qualifier;return M!=null?m!==S.target&&U(S.target)&&M.matches(S.target):!0},addEventFields:function(m,k){k.cy=m,k.target=m},callbackContext:function(m,k,S){return k.qualifier!=null?S.target:m}},RS=function(m){return ge(m)?new ry(m):m},U$={createEmitter:function(){var m=this._private;return m.emitter||(m.emitter=new MS(Cre,this)),this},emitter:function(){return this._private.emitter},on:function(m,k,S){return this.emitter().on(m,RS(k),S),this},removeListener:function(m,k,S){return this.emitter().removeListener(m,RS(k),S),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(m,k,S){return this.emitter().one(m,RS(k),S),this},once:function(m,k,S){return this.emitter().one(m,RS(k),S),this},emit:function(m,k){return this.emitter().emit(m,k),this},emitAndNotify:function(m,k){return this.emit(m),this.notify(m,k),this}};hu.eventAliasesOn(U$);var RI={png:function(m){var k=this._private.renderer;return m=m||{},k.png(m)},jpg:function(m){var k=this._private.renderer;return m=m||{},m.bg=m.bg||"#fff",k.jpg(m)}};RI.jpeg=RI.jpg;var jS={layout:function(m){var k=this;if(m==null){sh("Layout options must be specified to make a layout");return}if(m.name==null){sh("A `name` must be specified to make a layout");return}var S=m.name,M=k.extension("layout",S);if(M==null){sh("No such layout `"+S+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var O;ge(m.eles)?O=k.$(m.eles):O=m.eles!=null?m.eles:k.$();var N=new M(xt({},m,{cy:k,eles:O}));return N}};jS.createLayout=jS.makeLayout=jS.layout;var Sre={notify:function(m,k){var S=this._private;if(this.batching()){S.batchNotifications=S.batchNotifications||{};var M=S.batchNotifications[m]=S.batchNotifications[m]||this.collection();k!=null&&M.merge(k);return}if(S.notificationsEnabled){var O=this.renderer();this.destroyed()||!O||O.notify(m,k)}},notifications:function(m){var k=this._private;return m===void 0?k.notificationsEnabled:(k.notificationsEnabled=!!m,this)},noNotifications:function(m){this.notifications(!1),m(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var m=this._private;return m.batchCount==null&&(m.batchCount=0),m.batchCount===0&&(m.batchStyleEles=this.collection(),m.batchNotifications={}),m.batchCount++,this},endBatch:function(){var m=this._private;if(m.batchCount===0)return this;if(m.batchCount--,m.batchCount===0){m.batchStyleEles.updateStyle();var k=this.renderer();Object.keys(m.batchNotifications).forEach(function(S){var M=m.batchNotifications[S];M.empty()?k.notify(S):k.notify(S,M)})}return this},batch:function(m){return this.startBatch(),m(),this.endBatch(),this},batchData:function(m){var k=this;return this.batch(function(){for(var S=Object.keys(m),M=0;M<S.length;M++){var O=S[M],N=m[O],$=k.getElementById(O);$.data(N)}})}},_re=z0({hideEdgesOnViewport:!1,textureOnViewport:!1,motionBlur:!1,motionBlurOpacity:.05,pixelRatio:void 0,desktopTapThreshold:4,touchTapThreshold:8,wheelSensitivity:1,debug:!1,showFps:!1}),jI={renderTo:function(m,k,S,M){var O=this._private.renderer;return O.renderTo(m,k,S,M),this},renderer:function(){return this._private.renderer},forceRender:function(){return this.notify("draw"),this},resize:function(){return this.invalidateSize(),this.emitAndNotify("resize"),this},initRenderer:function(m){var k=this,S=k.extension("renderer",m.name);if(S==null){sh("Can not initialise: No such renderer `".concat(m.name,"` found. Did you forget to import it and `cytoscape.use()` it?"));return}m.wheelSensitivity!==void 0&&lu("You have set a custom wheel sensitivity. This will make your app zoom unnaturally when using mainstream mice. You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.");var M=_re(m);M.cy=k,k._private.renderer=new S(M),this.notify("init")},destroyRenderer:function(){var m=this;m.notify("destroy");var k=m.container();if(k)for(k._cyreg=null;k.childNodes.length>0;)k.removeChild(k.childNodes[0]);m._private.renderer=null,m.mutableElements().forEach(function(S){var M=S._private;M.rscratch={},M.rstyle={},M.animation.current=[],M.animation.queue=[]})},onRender:function(m){return this.on("render",m)},offRender:function(m){return this.off("render",m)}};jI.invalidateDimensions=jI.resize;var $S={collection:function(m,k){return ge(m)?this.$(m):xe(m)?m.collection():ne(m)?(k||(k={}),new H0(this,m,k.unique,k.removed)):new H0(this)},nodes:function(m){var k=this.$(function(S){return S.isNode()});return m?k.filter(m):k},edges:function(m){var k=this.$(function(S){return S.isEdge()});return m?k.filter(m):k},$:function(m){var k=this._private.elements;return m?k.filter(m):k.spawnSelf()},mutableElements:function(){return this._private.elements}};$S.elements=$S.filter=$S.$;var T1={},uk="t",Are="f";T1.apply=function(x){for(var m=this,k=m._private,S=k.cy,M=S.collection(),O=0;O<x.length;O++){var N=x[O],$=m.getContextMeta(N);if(!$.empty){var H=m.getContextStyle($),q=m.applyContextStyle($,H,N);N._private.appliedInitStyle?m.updateTransitions(N,q.diffProps):N._private.appliedInitStyle=!0;var Y=m.updateStyleHints(N);Y&&M.push(N)}}return M},T1.getPropertiesDiff=function(x,m){var k=this,S=k._private.propDiffs=k._private.propDiffs||{},M=x+"-"+m,O=S[M];if(O)return O;for(var N=[],$={},H=0;H<k.length;H++){var q=k[H],Y=x[H]===uk,Z=m[H]===uk,ce=Y!==Z,ve=q.mappedProperties.length>0;if(ce||Z&&ve){var me=void 0;ce&&ve||ce?me=q.properties:ve&&(me=q.mappedProperties);for(var Le=0;Le<me.length;Le++){for(var _e=me[Le],Te=_e.name,Fe=!1,Re=H+1;Re<k.length;Re++){var Ve=k[Re],ct=m[Re]===uk;if(ct&&(Fe=Ve.properties[_e.name]!=null,Fe))break}!$[Te]&&!Fe&&($[Te]=!0,N.push(Te))}}}return S[M]=N,N},T1.getContextMeta=function(x){for(var m=this,k="",S,M=x._private.styleCxtKey||"",O=0;O<m.length;O++){var N=m[O],$=N.selector&&N.selector.matches(x);$?k+=uk:k+=Are}return S=m.getPropertiesDiff(M,k),x._private.styleCxtKey=k,{key:k,diffPropNames:S,empty:S.length===0}},T1.getContextStyle=function(x){var m=x.key,k=this,S=this._private.contextStyles=this._private.contextStyles||{};if(S[m])return S[m];for(var M={_private:{key:m}},O=0;O<k.length;O++){var N=k[O],$=m[O]===uk;if($)for(var H=0;H<N.properties.length;H++){var q=N.properties[H];M[q.name]=q}}return S[m]=M,M},T1.applyContextStyle=function(x,m,k){for(var S=this,M=x.diffPropNames,O={},N=S.types,$=0;$<M.length;$++){var H=M[$],q=m[H],Y=k.pstyle(H);if(!q)if(Y)Y.bypass?q={name:H,deleteBypassed:!0}:q={name:H,delete:!0};else continue;if(Y!==q){if(q.mapped===N.fn&&Y!=null&&Y.mapping!=null&&Y.mapping.value===q.value){var Z=Y.mapping,ce=Z.fnValue=q.value(k);if(ce===Z.prevFnValue)continue}var ve=O[H]={prev:Y};S.applyParsedProperty(k,q),ve.next=k.pstyle(H),ve.next&&ve.next.bypass&&(ve.next=ve.next.bypassed)}}return{diffProps:O}},T1.updateStyleHints=function(x){var m=x._private,k=this,S=k.propertyGroupNames,M=k.propertyGroupKeys,O=function(_i,xs,va){return k.getPropertiesHash(_i,xs,va)},N=m.styleKey;if(x.removed())return!1;var $=m.group==="nodes",H=x._private.style;S=Object.keys(H);for(var q=0;q<M.length;q++){var Y=M[q];m.styleKeys[Y]=[J3,l5]}for(var Z=function(_i,xs){return m.styleKeys[xs][0]=Vg(_i,m.styleKeys[xs][0])},ce=function(_i,xs){return m.styleKeys[xs][1]=Em(_i,m.styleKeys[xs][1])},ve=function(_i,xs){Z(_i,xs),ce(_i,xs)},me=function(_i,xs){for(var va=0;va<_i.length;va++){var Di=_i.charCodeAt(va);Z(Di,xs),ce(Di,xs)}},Le=2e9,_e=function(_i){return-128<_i&&_i<128&&Math.floor(_i)!==_i?Le-(_i*1024|0):_i},Te=0;Te<S.length;Te++){var Fe=S[Te],Re=H[Fe];if(Re!=null){var Ve=this.properties[Fe],ct=Ve.type,st=Ve.groupKey,Ye=void 0;Ve.hashOverride!=null?Ye=Ve.hashOverride(x,Re):Re.pfValue!=null&&(Ye=Re.pfValue);var vt=Ve.enums==null?Re.value:null,Qe=Ye!=null,Lt=vt!=null,Mt=Qe||Lt,ut=Re.units;if(ct.number&&Mt&&!ct.multiple){var Yt=Qe?Ye:vt;ve(_e(Yt),st),!Qe&&ut!=null&&me(ut,st)}else me(Re.strValue,st)}}for(var St=[J3,l5],_n=0;_n<M.length;_n++){var fn=M[_n],Xt=m.styleKeys[fn];St[0]=Vg(Xt[0],St[0]),St[1]=Em(Xt[1],St[1])}m.styleKey=H9(St[0],St[1]);var Dn=m.styleKeys;m.labelDimsKey=Cm(Dn.labelDimensions);var rr=O(x,["label"],Dn.labelDimensions);if(m.labelKey=Cm(rr),m.labelStyleKey=Cm(h5(Dn.commonLabel,rr)),!$){var mr=O(x,["source-label"],Dn.labelDimensions);m.sourceLabelKey=Cm(mr),m.sourceLabelStyleKey=Cm(h5(Dn.commonLabel,mr));var Pn=O(x,["target-label"],Dn.labelDimensions);m.targetLabelKey=Cm(Pn),m.targetLabelStyleKey=Cm(h5(Dn.commonLabel,Pn))}if($){var gr=m.styleKeys,kr=gr.nodeBody,Lr=gr.nodeBorder,Er=gr.nodeOutline,Ir=gr.backgroundImage,Kn=gr.compound,pr=gr.pie,Cr=[kr,Lr,Er,Ir,Kn,pr].filter(function(Or){return Or!=null}).reduce(h5,[J3,l5]);m.nodeKey=Cm(Cr),m.hasPie=pr!=null&&pr[0]!==J3&&pr[1]!==l5}return N!==m.styleKey},T1.clearStyleHints=function(x){var m=x._private;m.styleCxtKey="",m.styleKeys={},m.styleKey=null,m.labelKey=null,m.labelStyleKey=null,m.sourceLabelKey=null,m.sourceLabelStyleKey=null,m.targetLabelKey=null,m.targetLabelStyleKey=null,m.nodeKey=null,m.hasPie=null},T1.applyParsedProperty=function(x,m){var k=this,S=m,M=x._private.style,O,N=k.types,$=k.properties[S.name].type,H=S.bypass,q=M[S.name],Y=q&&q.bypass,Z=x._private,ce="mapping",ve=function(kr){return kr==null?null:kr.pfValue!=null?kr.pfValue:kr.value},me=function(){var kr=ve(q),Lr=ve(S);k.checkTriggers(x,S.name,kr,Lr)};if(m.name==="curve-style"&&x.isEdge()&&(m.value!=="bezier"&&x.isLoop()||m.value==="haystack"&&(x.source().isParent()||x.target().isParent()))&&(S=m=this.parse(m.name,"bezier",H)),S.delete)return M[S.name]=void 0,me(),!0;if(S.deleteBypassed)return q?q.bypass?(q.bypassed=void 0,me(),!0):!1:(me(),!0);if(S.deleteBypass)return q?q.bypass?(M[S.name]=q.bypassed,me(),!0):!1:(me(),!0);var Le=function(){lu("Do not assign mappings to elements without corresponding data (i.e. ele `"+x.id()+"` has no mapping for property `"+S.name+"` with data field `"+S.field+"`); try a `["+S.field+"]` selector to limit scope to elements with `"+S.field+"` defined")};switch(S.mapped){case N.mapData:{for(var _e=S.field.split("."),Te=Z.data,Fe=0;Fe<_e.length&&Te;Fe++){var Re=_e[Fe];Te=Te[Re]}if(Te==null)return Le(),!1;var Ve;if(X(Te)){var ct=S.fieldMax-S.fieldMin;ct===0?Ve=0:Ve=(Te-S.fieldMin)/ct}else return lu("Do not use continuous mappers without specifying numeric data (i.e. `"+S.field+": "+Te+"` for `"+x.id()+"` is non-numeric)"),!1;if(Ve<0?Ve=0:Ve>1&&(Ve=1),$.color){var st=S.valueMin[0],Ye=S.valueMax[0],vt=S.valueMin[1],Qe=S.valueMax[1],Lt=S.valueMin[2],Mt=S.valueMax[2],ut=S.valueMin[3]==null?1:S.valueMin[3],Yt=S.valueMax[3]==null?1:S.valueMax[3],St=[Math.round(st+(Ye-st)*Ve),Math.round(vt+(Qe-vt)*Ve),Math.round(Lt+(Mt-Lt)*Ve),Math.round(ut+(Yt-ut)*Ve)];O={bypass:S.bypass,name:S.name,value:St,strValue:"rgb("+St[0]+", "+St[1]+", "+St[2]+")"}}else if($.number){var _n=S.valueMin+(S.valueMax-S.valueMin)*Ve;O=this.parse(S.name,_n,S.bypass,ce)}else return!1;if(!O)return Le(),!1;O.mapping=S,S=O;break}case N.data:{for(var fn=S.field.split("."),Xt=Z.data,Dn=0;Dn<fn.length&&Xt;Dn++){var rr=fn[Dn];Xt=Xt[rr]}if(Xt!=null&&(O=this.parse(S.name,Xt,S.bypass,ce)),!O)return Le(),!1;O.mapping=S,S=O;break}case N.fn:{var mr=S.value,Pn=S.fnValue!=null?S.fnValue:mr(x);if(S.prevFnValue=Pn,Pn==null)return lu("Custom function mappers may not return null (i.e. `"+S.name+"` for ele `"+x.id()+"` is null)"),!1;if(O=this.parse(S.name,Pn,S.bypass,ce),!O)return lu("Custom function mappers may not return invalid values for the property type (i.e. `"+S.name+"` for ele `"+x.id()+"` is invalid)"),!1;O.mapping=Sm(S),S=O;break}case void 0:break;default:return!1}return H?(Y?S.bypassed=q.bypassed:S.bypassed=q,M[S.name]=S):Y?q.bypassed=S:M[S.name]=S,me(),!0},T1.cleanElements=function(x,m){for(var k=0;k<x.length;k++){var S=x[k];if(this.clearStyleHints(S),S.dirtyCompoundBoundsCache(),S.dirtyBoundingBoxCache(),!m)S._private.style={};else for(var M=S._private.style,O=Object.keys(M),N=0;N<O.length;N++){var $=O[N],H=M[$];H!=null&&(H.bypass?H.bypassed=null:M[$]=null)}}},T1.update=function(){var x=this._private.cy,m=x.mutableElements();m.updateStyle()},T1.updateTransitions=function(x,m){var k=this,S=x._private,M=x.pstyle("transition-property").value,O=x.pstyle("transition-duration").pfValue,N=x.pstyle("transition-delay").pfValue;if(M.length>0&&O>0){for(var $={},H=!1,q=0;q<M.length;q++){var Y=M[q],Z=x.pstyle(Y),ce=m[Y];if(ce){var ve=ce.prev,me=ve,Le=ce.next!=null?ce.next:Z,_e=!1,Te=void 0,Fe=1e-6;me&&(X(me.pfValue)&&X(Le.pfValue)?(_e=Le.pfValue-me.pfValue,Te=me.pfValue+Fe*_e):X(me.value)&&X(Le.value)?(_e=Le.value-me.value,Te=me.value+Fe*_e):ne(me.value)&&ne(Le.value)&&(_e=me.value[0]!==Le.value[0]||me.value[1]!==Le.value[1]||me.value[2]!==Le.value[2],Te=me.strValue),_e&&($[Y]=Le.strValue,this.applyBypass(x,Y,Te),H=!0))}}if(!H)return;S.transitioning=!0,new s8(function(Re){N>0?x.delayAnimation(N).play().promise().then(Re):Re()}).then(function(){return x.animation({style:$,duration:O,easing:x.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){k.removeBypasses(x,M),x.emitAndNotify("style"),S.transitioning=!1})}else S.transitioning&&(this.removeBypasses(x,M),x.emitAndNotify("style"),S.transitioning=!1)},T1.checkTrigger=function(x,m,k,S,M,O){var N=this.properties[m],$=M(N);$!=null&&$(k,S)&&O(N)},T1.checkZOrderTrigger=function(x,m,k,S){var M=this;this.checkTrigger(x,m,k,S,function(O){return O.triggersZOrder},function(){M._private.cy.notify("zorder",x)})},T1.checkBoundsTrigger=function(x,m,k,S){this.checkTrigger(x,m,k,S,function(M){return M.triggersBounds},function(M){x.dirtyCompoundBoundsCache(),x.dirtyBoundingBoxCache(),M.triggersBoundsOfParallelBeziers&&m==="curve-style"&&(k==="bezier"||S==="bezier")&&x.parallelEdges().forEach(function(O){O.isBundledBezier()&&O.dirtyBoundingBoxCache()}),M.triggersBoundsOfConnectedEdges&&m==="display"&&(k==="none"||S==="none")&&x.connectedEdges().forEach(function(O){O.dirtyBoundingBoxCache()})})},T1.checkTriggers=function(x,m,k,S){x.dirtyStyleCache(),this.checkZOrderTrigger(x,m,k,S),this.checkBoundsTrigger(x,m,k,S)};var lk={};lk.applyBypass=function(x,m,k,S){var M=this,O=[],N=!0;if(m==="*"||m==="**"){if(k!==void 0)for(var $=0;$<M.properties.length;$++){var H=M.properties[$],q=H.name,Y=this.parse(q,k,!0);Y&&O.push(Y)}}else if(ge(m)){var Z=this.parse(m,k,!0);Z&&O.push(Z)}else if(se(m)){var ce=m;S=k;for(var ve=Object.keys(ce),me=0;me<ve.length;me++){var Le=ve[me],_e=ce[Le];if(_e===void 0&&(_e=ce[Tt(Le)]),_e!==void 0){var Te=this.parse(Le,_e,!0);Te&&O.push(Te)}}}else return!1;if(O.length===0)return!1;for(var Fe=!1,Re=0;Re<x.length;Re++){for(var Ve=x[Re],ct={},st=void 0,Ye=0;Ye<O.length;Ye++){var vt=O[Ye];if(S){var Qe=Ve.pstyle(vt.name);st=ct[vt.name]={prev:Qe}}Fe=this.applyParsedProperty(Ve,Sm(vt))||Fe,S&&(st.next=Ve.pstyle(vt.name))}Fe&&this.updateStyleHints(Ve),S&&this.updateTransitions(Ve,ct,N)}return Fe},lk.overrideBypass=function(x,m,k){m=pn(m);for(var S=0;S<x.length;S++){var M=x[S],O=M._private.style[m],N=this.properties[m].type,$=N.color,H=N.mutiple,q=O?O.pfValue!=null?O.pfValue:O.value:null;!O||!O.bypass?this.applyBypass(M,m,k):(O.value=k,O.pfValue!=null&&(O.pfValue=k),$?O.strValue="rgb("+k.join(",")+")":H?O.strValue=k.join(" "):O.strValue=""+k,this.updateStyleHints(M)),this.checkTriggers(M,m,q,k)}},lk.removeAllBypasses=function(x,m){return this.removeBypasses(x,this.propertyNames,m)},lk.removeBypasses=function(x,m,k){for(var S=!0,M=0;M<x.length;M++){for(var O=x[M],N={},$=0;$<m.length;$++){var H=m[$],q=this.properties[H],Y=O.pstyle(q.name);if(!(!Y||!Y.bypass)){var Z="",ce=this.parse(H,Z,!0),ve=N[q.name]={prev:Y};this.applyParsedProperty(O,ce),ve.next=O.pstyle(q.name)}}this.updateStyleHints(O),k&&this.updateTransitions(O,N,S)}};var $I={};$I.getEmSizeInPixels=function(){var x=this.containerCss("font-size");return x!=null?parseFloat(x):1},$I.containerCss=function(x){var m=this._private.cy,k=m.container(),S=m.window();if(S&&k&&S.getComputedStyle)return S.getComputedStyle(k).getPropertyValue(x)};var Lm={};Lm.getRenderedStyle=function(x,m){return m?this.getStylePropertyValue(x,m,!0):this.getRawStyle(x,!0)},Lm.getRawStyle=function(x,m){var k=this;if(x=x[0],x){for(var S={},M=0;M<k.properties.length;M++){var O=k.properties[M],N=k.getStylePropertyValue(x,O.name,m);N!=null&&(S[O.name]=N,S[Tt(O.name)]=N)}return S}},Lm.getIndexedStyle=function(x,m,k,S){var M=x.pstyle(m)[k][S];return M??x.cy().style().getDefaultProperty(m)[k][0]},Lm.getStylePropertyValue=function(x,m,k){var S=this;if(x=x[0],x){var M=S.properties[m];M.alias&&(M=M.pointsTo);var O=M.type,N=x.pstyle(M.name);if(N){var $=N.value,H=N.units,q=N.strValue;if(k&&O.number&&$!=null&&X($)){var Y=x.cy().zoom(),Z=function(_e){return _e*Y},ce=function(_e,Te){return Z(_e)+Te},ve=ne($),me=ve?H.every(function(Le){return Le!=null}):H!=null;return me?ve?$.map(function(Le,_e){return ce(Le,H[_e])}).join(" "):ce($,H):ve?$.map(function(Le){return ge(Le)?Le:""+Z(Le)}).join(" "):""+Z($)}else if(q!=null)return q}return null}},Lm.getAnimationStartStyle=function(x,m){for(var k={},S=0;S<m.length;S++){var M=m[S],O=M.name,N=x.pstyle(O);N!==void 0&&(se(N)?N=this.parse(O,N.strValue):N=this.parse(O,N)),N&&(k[O]=N)}return k},Lm.getPropsList=function(x){var m=this,k=[],S=x,M=m.properties;if(S)for(var O=Object.keys(S),N=0;N<O.length;N++){var $=O[N],H=S[$],q=M[$]||M[pn($)],Y=this.parse(q.name,H);Y&&k.push(Y)}return k},Lm.getNonDefaultPropertiesHash=function(x,m,k){var S=k.slice(),M,O,N,$,H,q;for(H=0;H<m.length;H++)if(M=m[H],O=x.pstyle(M,!1),O!=null)if(O.pfValue!=null)S[0]=Vg($,S[0]),S[1]=Em($,S[1]);else for(N=O.strValue,q=0;q<N.length;q++)$=N.charCodeAt(q),S[0]=Vg($,S[0]),S[1]=Em($,S[1]);return S},Lm.getPropertiesHash=Lm.getNonDefaultPropertiesHash;var zS={};zS.appendFromJson=function(x){for(var m=this,k=0;k<x.length;k++){var S=x[k],M=S.selector,O=S.style||S.css,N=Object.keys(O);m.selector(M);for(var $=0;$<N.length;$++){var H=N[$],q=O[H];m.css(H,q)}}return m},zS.fromJson=function(x){var m=this;return m.resetToDefault(),m.appendFromJson(x),m},zS.json=function(){for(var x=[],m=this.defaultLength;m<this.length;m++){for(var k=this[m],S=k.selector,M=k.properties,O={},N=0;N<M.length;N++){var $=M[N];O[$.name]=$.strValue}x.push({selector:S?S.toString():"core",style:O})}return x};var zI={};zI.appendFromString=function(x){var m=this,k=this,S=""+x,M,O,N;S=S.replace(/[/][*](\s|.)+?[*][/]/g,"");function $(){S.length>M.length?S=S.substr(M.length):S=""}function H(){O.length>N.length?O=O.substr(N.length):O=""}for(;;){var q=S.match(/^\s*$/);if(q)break;var Y=S.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!Y){lu("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+S);break}M=Y[0];var Z=Y[1];if(Z!=="core"){var ce=new ry(Z);if(ce.invalid){lu("Skipping parsing of block: Invalid selector found in string stylesheet: "+Z),$();continue}}var ve=Y[2],me=!1;O=ve;for(var Le=[];;){var _e=O.match(/^\s*$/);if(_e)break;var Te=O.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!Te){lu("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+ve),me=!0;break}N=Te[0];var Fe=Te[1],Re=Te[2],Ve=m.properties[Fe];if(!Ve){lu("Skipping property: Invalid property name in: "+N),H();continue}var ct=k.parse(Fe,Re);if(!ct){lu("Skipping property: Invalid property definition in: "+N),H();continue}Le.push({name:Fe,val:Re}),H()}if(me){$();break}k.selector(Z);for(var st=0;st<Le.length;st++){var Ye=Le[st];k.css(Ye.name,Ye.val)}$()}return k},zI.fromString=function(x){var m=this;return m.resetToDefault(),m.appendFromString(x),m};var U0={};(function(){var x=un,m=Bt,k=Dt,S=kt,M=Nn,O=function(Cr){return"^"+Cr+"\\s*\\(\\s*([\\w\\.]+)\\s*\\)$"},N=function(Cr){var Or=x+"|\\w+|"+m+"|"+k+"|"+S+"|"+M;return"^"+Cr+"\\s*\\(([\\w\\.]+)\\s*\\,\\s*("+x+")\\s*\\,\\s*("+x+")\\s*,\\s*("+Or+")\\s*\\,\\s*("+Or+")\\)$"},$=[`^url\\s*\\(\\s*['"]?(.+?)['"]?\\s*\\)$`,"^(none)$","^(.+)$"];U0.types={time:{number:!0,min:0,units:"s|ms",implicitUnits:"ms"},percent:{number:!0,min:0,max:100,units:"%",implicitUnits:"%"},percentages:{number:!0,min:0,max:100,units:"%",implicitUnits:"%",multiple:!0},zeroOneNumber:{number:!0,min:0,max:1,unitless:!0},zeroOneNumbers:{number:!0,min:0,max:1,unitless:!0,multiple:!0},nOneOneNumber:{number:!0,min:-1,max:1,unitless:!0},nonNegativeInt:{number:!0,min:0,integer:!0,unitless:!0},nonNegativeNumber:{number:!0,min:0,unitless:!0},position:{enums:["parent","origin"]},nodeSize:{number:!0,min:0,enums:["label"]},number:{number:!0,unitless:!0},numbers:{number:!0,unitless:!0,multiple:!0},positiveNumber:{number:!0,unitless:!0,min:0,strictMin:!0},size:{number:!0,min:0},bidirectionalSize:{number:!0},bidirectionalSizeMaybePercent:{number:!0,allowPercent:!0},bidirectionalSizes:{number:!0,multiple:!0},sizeMaybePercent:{number:!0,min:0,allowPercent:!0},axisDirection:{enums:["horizontal","leftward","rightward","vertical","upward","downward","auto"]},paddingRelativeTo:{enums:["width","height","average","min","max"]},bgWH:{number:!0,min:0,allowPercent:!0,enums:["auto"],multiple:!0},bgPos:{number:!0,allowPercent:!0,multiple:!0},bgRelativeTo:{enums:["inner","include-padding"],multiple:!0},bgRepeat:{enums:["repeat","repeat-x","repeat-y","no-repeat"],multiple:!0},bgFit:{enums:["none","contain","cover"],multiple:!0},bgCrossOrigin:{enums:["anonymous","use-credentials","null"],multiple:!0},bgClip:{enums:["none","node"],multiple:!0},bgContainment:{enums:["inside","over"],multiple:!0},color:{color:!0},colors:{color:!0,multiple:!0},fill:{enums:["solid","linear-gradient","radial-gradient"]},bool:{enums:["yes","no"]},bools:{enums:["yes","no"],multiple:!0},lineStyle:{enums:["solid","dotted","dashed"]},lineCap:{enums:["butt","round","square"]},borderStyle:{enums:["solid","dotted","dashed","double"]},curveStyle:{enums:["bezier","unbundled-bezier","haystack","segments","straight","straight-triangle","taxi"]},fontFamily:{regex:'^([\\w- \\"]+(?:\\s*,\\s*[\\w- \\"]+)*)$'},fontStyle:{enums:["italic","normal","oblique"]},fontWeight:{enums:["normal","bold","bolder","lighter","100","200","300","400","500","600","800","900",100,200,300,400,500,600,700,800,900]},textDecoration:{enums:["none","underline","overline","line-through"]},textTransform:{enums:["none","uppercase","lowercase"]},textWrap:{enums:["none","wrap","ellipsis"]},textOverflowWrap:{enums:["whitespace","anywhere"]},textBackgroundShape:{enums:["rectangle","roundrectangle","round-rectangle"]},nodeShape:{enums:["rectangle","roundrectangle","round-rectangle","cutrectangle","cut-rectangle","bottomroundrectangle","bottom-round-rectangle","barrel","ellipse","triangle","round-triangle","square","pentagon","round-pentagon","hexagon","round-hexagon","concavehexagon","concave-hexagon","heptagon","round-heptagon","octagon","round-octagon","tag","round-tag","star","diamond","round-diamond","vee","rhomboid","right-rhomboid","polygon"]},overlayShape:{enums:["roundrectangle","round-rectangle","ellipse"]},compoundIncludeLabels:{enums:["include","exclude"]},arrowShape:{enums:["tee","triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","square","circle","diamond","chevron","none"]},arrowFill:{enums:["filled","hollow"]},arrowWidth:{number:!0,units:"%|px|em",implicitUnits:"px",enums:["match-line"]},display:{enums:["element","none"]},visibility:{enums:["hidden","visible"]},zCompoundDepth:{enums:["bottom","orphan","auto","top"]},zIndexCompare:{enums:["auto","manual"]},valign:{enums:["top","center","bottom"]},halign:{enums:["left","center","right"]},justification:{enums:["left","center","right","auto"]},text:{string:!0},data:{mapping:!0,regex:O("data")},layoutData:{mapping:!0,regex:O("layoutData")},scratch:{mapping:!0,regex:O("scratch")},mapData:{mapping:!0,regex:N("mapData")},mapLayoutData:{mapping:!0,regex:N("mapLayoutData")},mapScratch:{mapping:!0,regex:N("mapScratch")},fn:{mapping:!0,fn:!0},url:{regexes:$,singleRegexMatchValue:!0},urls:{regexes:$,singleRegexMatchValue:!0,multiple:!0},propList:{propList:!0},angle:{number:!0,units:"deg|rad",implicitUnits:"rad"},textRotation:{number:!0,units:"deg|rad",implicitUnits:"rad",enums:["none","autorotate"]},polygonPointList:{number:!0,multiple:!0,evenMultiple:!0,min:-1,max:1,unitless:!0},edgeDistances:{enums:["intersection","node-position","endpoints"]},edgeEndpoint:{number:!0,multiple:!0,units:"%|px|em|deg|rad",implicitUnits:"px",enums:["inside-to-node","outside-to-node","outside-to-node-or-label","outside-to-line","outside-to-line-or-label"],singleEnum:!0,validate:function(Cr,Or){switch(Cr.length){case 2:return Or[0]!=="deg"&&Or[0]!=="rad"&&Or[1]!=="deg"&&Or[1]!=="rad";case 1:return ge(Cr[0])||Or[0]==="deg"||Or[0]==="rad";default:return!1}}},easing:{regexes:["^(spring)\\s*\\(\\s*("+x+")\\s*,\\s*("+x+")\\s*\\)$","^(cubic-bezier)\\s*\\(\\s*("+x+")\\s*,\\s*("+x+")\\s*,\\s*("+x+")\\s*,\\s*("+x+")\\s*\\)$"],enums:["linear","ease","ease-in","ease-out","ease-in-out","ease-in-sine","ease-out-sine","ease-in-out-sine","ease-in-quad","ease-out-quad","ease-in-out-quad","ease-in-cubic","ease-out-cubic","ease-in-out-cubic","ease-in-quart","ease-out-quart","ease-in-out-quart","ease-in-quint","ease-out-quint","ease-in-out-quint","ease-in-expo","ease-out-expo","ease-in-out-expo","ease-in-circ","ease-out-circ","ease-in-out-circ"]},gradientDirection:{enums:["to-bottom","to-top","to-left","to-right","to-bottom-right","to-bottom-left","to-top-right","to-top-left","to-right-bottom","to-left-bottom","to-right-top","to-left-top"]},boundsExpansion:{number:!0,multiple:!0,min:0,validate:function(Cr){var Or=Cr.length;return Or===1||Or===2||Or===4}}};var H={zeroNonZero:function(Cr,Or){return(Cr==null||Or==null)&&Cr!==Or||Cr==0&&Or!=0?!0:Cr!=0&&Or==0},any:function(Cr,Or){return Cr!=Or},emptyNonEmpty:function(Cr,Or){var _i=Se(Cr),xs=Se(Or);return _i&&!xs||!_i&&xs}},q=U0.types,Y=[{name:"label",type:q.text,triggersBounds:H.any,triggersZOrder:H.emptyNonEmpty},{name:"text-rotation",type:q.textRotation,triggersBounds:H.any},{name:"text-margin-x",type:q.bidirectionalSize,triggersBounds:H.any},{name:"text-margin-y",type:q.bidirectionalSize,triggersBounds:H.any}],Z=[{name:"source-label",type:q.text,triggersBounds:H.any},{name:"source-text-rotation",type:q.textRotation,triggersBounds:H.any},{name:"source-text-margin-x",type:q.bidirectionalSize,triggersBounds:H.any},{name:"source-text-margin-y",type:q.bidirectionalSize,triggersBounds:H.any},{name:"source-text-offset",type:q.size,triggersBounds:H.any}],ce=[{name:"target-label",type:q.text,triggersBounds:H.any},{name:"target-text-rotation",type:q.textRotation,triggersBounds:H.any},{name:"target-text-margin-x",type:q.bidirectionalSize,triggersBounds:H.any},{name:"target-text-margin-y",type:q.bidirectionalSize,triggersBounds:H.any},{name:"target-text-offset",type:q.size,triggersBounds:H.any}],ve=[{name:"font-family",type:q.fontFamily,triggersBounds:H.any},{name:"font-style",type:q.fontStyle,triggersBounds:H.any},{name:"font-weight",type:q.fontWeight,triggersBounds:H.any},{name:"font-size",type:q.size,triggersBounds:H.any},{name:"text-transform",type:q.textTransform,triggersBounds:H.any},{name:"text-wrap",type:q.textWrap,triggersBounds:H.any},{name:"text-overflow-wrap",type:q.textOverflowWrap,triggersBounds:H.any},{name:"text-max-width",type:q.size,triggersBounds:H.any},{name:"text-outline-width",type:q.size,triggersBounds:H.any},{name:"line-height",type:q.positiveNumber,triggersBounds:H.any}],me=[{name:"text-valign",type:q.valign,triggersBounds:H.any},{name:"text-halign",type:q.halign,triggersBounds:H.any},{name:"color",type:q.color},{name:"text-outline-color",type:q.color},{name:"text-outline-opacity",type:q.zeroOneNumber},{name:"text-background-color",type:q.color},{name:"text-background-opacity",type:q.zeroOneNumber},{name:"text-background-padding",type:q.size,triggersBounds:H.any},{name:"text-border-opacity",type:q.zeroOneNumber},{name:"text-border-color",type:q.color},{name:"text-border-width",type:q.size,triggersBounds:H.any},{name:"text-border-style",type:q.borderStyle,triggersBounds:H.any},{name:"text-background-shape",type:q.textBackgroundShape,triggersBounds:H.any},{name:"text-justification",type:q.justification}],Le=[{name:"events",type:q.bool,triggersZOrder:H.any},{name:"text-events",type:q.bool,triggersZOrder:H.any}],_e=[{name:"display",type:q.display,triggersZOrder:H.any,triggersBounds:H.any,triggersBoundsOfConnectedEdges:!0},{name:"visibility",type:q.visibility,triggersZOrder:H.any},{name:"opacity",type:q.zeroOneNumber,triggersZOrder:H.zeroNonZero},{name:"text-opacity",type:q.zeroOneNumber},{name:"min-zoomed-font-size",type:q.size},{name:"z-compound-depth",type:q.zCompoundDepth,triggersZOrder:H.any},{name:"z-index-compare",type:q.zIndexCompare,triggersZOrder:H.any},{name:"z-index",type:q.number,triggersZOrder:H.any}],Te=[{name:"overlay-padding",type:q.size,triggersBounds:H.any},{name:"overlay-color",type:q.color},{name:"overlay-opacity",type:q.zeroOneNumber,triggersBounds:H.zeroNonZero},{name:"overlay-shape",type:q.overlayShape,triggersBounds:H.any}],Fe=[{name:"underlay-padding",type:q.size,triggersBounds:H.any},{name:"underlay-color",type:q.color},{name:"underlay-opacity",type:q.zeroOneNumber,triggersBounds:H.zeroNonZero},{name:"underlay-shape",type:q.overlayShape,triggersBounds:H.any}],Re=[{name:"transition-property",type:q.propList},{name:"transition-duration",type:q.time},{name:"transition-delay",type:q.time},{name:"transition-timing-function",type:q.easing}],Ve=function(Cr,Or){return Or.value==="label"?-Cr.poolIndex():Or.pfValue},ct=[{name:"height",type:q.nodeSize,triggersBounds:H.any,hashOverride:Ve},{name:"width",type:q.nodeSize,triggersBounds:H.any,hashOverride:Ve},{name:"shape",type:q.nodeShape,triggersBounds:H.any},{name:"shape-polygon-points",type:q.polygonPointList,triggersBounds:H.any},{name:"background-color",type:q.color},{name:"background-fill",type:q.fill},{name:"background-opacity",type:q.zeroOneNumber},{name:"background-blacken",type:q.nOneOneNumber},{name:"background-gradient-stop-colors",type:q.colors},{name:"background-gradient-stop-positions",type:q.percentages},{name:"background-gradient-direction",type:q.gradientDirection},{name:"padding",type:q.sizeMaybePercent,triggersBounds:H.any},{name:"padding-relative-to",type:q.paddingRelativeTo,triggersBounds:H.any},{name:"bounds-expansion",type:q.boundsExpansion,triggersBounds:H.any}],st=[{name:"border-color",type:q.color},{name:"border-opacity",type:q.zeroOneNumber},{name:"border-width",type:q.size,triggersBounds:H.any},{name:"border-style",type:q.borderStyle}],Ye=[{name:"outline-color",type:q.color},{name:"outline-opacity",type:q.zeroOneNumber},{name:"outline-width",type:q.size,triggersBounds:H.any},{name:"outline-style",type:q.borderStyle},{name:"outline-offset",type:q.size,triggersBounds:H.any}],vt=[{name:"background-image",type:q.urls},{name:"background-image-crossorigin",type:q.bgCrossOrigin},{name:"background-image-opacity",type:q.zeroOneNumbers},{name:"background-image-containment",type:q.bgContainment},{name:"background-image-smoothing",type:q.bools},{name:"background-position-x",type:q.bgPos},{name:"background-position-y",type:q.bgPos},{name:"background-width-relative-to",type:q.bgRelativeTo},{name:"background-height-relative-to",type:q.bgRelativeTo},{name:"background-repeat",type:q.bgRepeat},{name:"background-fit",type:q.bgFit},{name:"background-clip",type:q.bgClip},{name:"background-width",type:q.bgWH},{name:"background-height",type:q.bgWH},{name:"background-offset-x",type:q.bgPos},{name:"background-offset-y",type:q.bgPos}],Qe=[{name:"position",type:q.position,triggersBounds:H.any},{name:"compound-sizing-wrt-labels",type:q.compoundIncludeLabels,triggersBounds:H.any},{name:"min-width",type:q.size,triggersBounds:H.any},{name:"min-width-bias-left",type:q.sizeMaybePercent,triggersBounds:H.any},{name:"min-width-bias-right",type:q.sizeMaybePercent,triggersBounds:H.any},{name:"min-height",type:q.size,triggersBounds:H.any},{name:"min-height-bias-top",type:q.sizeMaybePercent,triggersBounds:H.any},{name:"min-height-bias-bottom",type:q.sizeMaybePercent,triggersBounds:H.any}],Lt=[{name:"line-style",type:q.lineStyle},{name:"line-color",type:q.color},{name:"line-fill",type:q.fill},{name:"line-cap",type:q.lineCap},{name:"line-opacity",type:q.zeroOneNumber},{name:"line-dash-pattern",type:q.numbers},{name:"line-dash-offset",type:q.number},{name:"line-gradient-stop-colors",type:q.colors},{name:"line-gradient-stop-positions",type:q.percentages},{name:"curve-style",type:q.curveStyle,triggersBounds:H.any,triggersBoundsOfParallelBeziers:!0},{name:"haystack-radius",type:q.zeroOneNumber,triggersBounds:H.any},{name:"source-endpoint",type:q.edgeEndpoint,triggersBounds:H.any},{name:"target-endpoint",type:q.edgeEndpoint,triggersBounds:H.any},{name:"control-point-step-size",type:q.size,triggersBounds:H.any},{name:"control-point-distances",type:q.bidirectionalSizes,triggersBounds:H.any},{name:"control-point-weights",type:q.numbers,triggersBounds:H.any},{name:"segment-distances",type:q.bidirectionalSizes,triggersBounds:H.any},{name:"segment-weights",type:q.numbers,triggersBounds:H.any},{name:"taxi-turn",type:q.bidirectionalSizeMaybePercent,triggersBounds:H.any},{name:"taxi-turn-min-distance",type:q.size,triggersBounds:H.any},{name:"taxi-direction",type:q.axisDirection,triggersBounds:H.any},{name:"edge-distances",type:q.edgeDistances,triggersBounds:H.any},{name:"arrow-scale",type:q.positiveNumber,triggersBounds:H.any},{name:"loop-direction",type:q.angle,triggersBounds:H.any},{name:"loop-sweep",type:q.angle,triggersBounds:H.any},{name:"source-distance-from-node",type:q.size,triggersBounds:H.any},{name:"target-distance-from-node",type:q.size,triggersBounds:H.any}],Mt=[{name:"ghost",type:q.bool,triggersBounds:H.any},{name:"ghost-offset-x",type:q.bidirectionalSize,triggersBounds:H.any},{name:"ghost-offset-y",type:q.bidirectionalSize,triggersBounds:H.any},{name:"ghost-opacity",type:q.zeroOneNumber}],ut=[{name:"selection-box-color",type:q.color},{name:"selection-box-opacity",type:q.zeroOneNumber},{name:"selection-box-border-color",type:q.color},{name:"selection-box-border-width",type:q.size},{name:"active-bg-color",type:q.color},{name:"active-bg-opacity",type:q.zeroOneNumber},{name:"active-bg-size",type:q.size},{name:"outside-texture-bg-color",type:q.color},{name:"outside-texture-bg-opacity",type:q.zeroOneNumber}],Yt=[];U0.pieBackgroundN=16,Yt.push({name:"pie-size",type:q.sizeMaybePercent});for(var St=1;St<=U0.pieBackgroundN;St++)Yt.push({name:"pie-"+St+"-background-color",type:q.color}),Yt.push({name:"pie-"+St+"-background-size",type:q.percent}),Yt.push({name:"pie-"+St+"-background-opacity",type:q.zeroOneNumber});var _n=[],fn=U0.arrowPrefixes=["source","mid-source","target","mid-target"];[{name:"arrow-shape",type:q.arrowShape,triggersBounds:H.any},{name:"arrow-color",type:q.color},{name:"arrow-fill",type:q.arrowFill},{name:"arrow-width",type:q.arrowWidth}].forEach(function(pr){fn.forEach(function(Cr){var Or=Cr+"-"+pr.name,_i=pr.type,xs=pr.triggersBounds;_n.push({name:Or,type:_i,triggersBounds:xs})})},{});var Xt=U0.properties=[].concat(Le,Re,_e,Te,Fe,Mt,me,ve,Y,Z,ce,ct,st,Ye,vt,Yt,Qe,Lt,_n,ut),Dn=U0.propertyGroups={behavior:Le,transition:Re,visibility:_e,overlay:Te,underlay:Fe,ghost:Mt,commonLabel:me,labelDimensions:ve,mainLabel:Y,sourceLabel:Z,targetLabel:ce,nodeBody:ct,nodeBorder:st,nodeOutline:Ye,backgroundImage:vt,pie:Yt,compound:Qe,edgeLine:Lt,edgeArrow:_n,core:ut},rr=U0.propertyGroupNames={},mr=U0.propertyGroupKeys=Object.keys(Dn);mr.forEach(function(pr){rr[pr]=Dn[pr].map(function(Cr){return Cr.name}),Dn[pr].forEach(function(Cr){return Cr.groupKey=pr})});var Pn=U0.aliases=[{name:"content",pointsTo:"label"},{name:"control-point-distance",pointsTo:"control-point-distances"},{name:"control-point-weight",pointsTo:"control-point-weights"},{name:"edge-text-rotation",pointsTo:"text-rotation"},{name:"padding-left",pointsTo:"padding"},{name:"padding-right",pointsTo:"padding"},{name:"padding-top",pointsTo:"padding"},{name:"padding-bottom",pointsTo:"padding"}];U0.propertyNames=Xt.map(function(pr){return pr.name});for(var gr=0;gr<Xt.length;gr++){var kr=Xt[gr];Xt[kr.name]=kr}for(var Lr=0;Lr<Pn.length;Lr++){var Er=Pn[Lr],Ir=Xt[Er.pointsTo],Kn={name:Er.name,alias:!0,pointsTo:Ir};Xt.push(Kn),Xt[Er.name]=Kn}})(),U0.getDefaultProperty=function(x){return this.getDefaultProperties()[x]},U0.getDefaultProperties=function(){var x=this._private;if(x.defaultProperties!=null)return x.defaultProperties;for(var m=xt({"selection-box-color":"#ddd","selection-box-opacity":.65,"selection-box-border-color":"#aaa","selection-box-border-width":1,"active-bg-color":"black","active-bg-opacity":.15,"active-bg-size":30,"outside-texture-bg-color":"#000","outside-texture-bg-opacity":.125,events:"yes","text-events":"no","text-valign":"top","text-halign":"center","text-justification":"auto","line-height":1,color:"#000","text-outline-color":"#000","text-outline-width":0,"text-outline-opacity":1,"text-opacity":1,"text-decoration":"none","text-transform":"none","text-wrap":"none","text-overflow-wrap":"whitespace","text-max-width":9999,"text-background-color":"#000","text-background-opacity":0,"text-background-shape":"rectangle","text-background-padding":0,"text-border-opacity":0,"text-border-width":0,"text-border-style":"solid","text-border-color":"#000","font-family":"Helvetica Neue, Helvetica, sans-serif","font-style":"normal","font-weight":"normal","font-size":16,"min-zoomed-font-size":0,"text-rotation":"none","source-text-rotation":"none","target-text-rotation":"none",visibility:"visible",display:"element",opacity:1,"z-compound-depth":"auto","z-index-compare":"auto","z-index":0,label:"","text-margin-x":0,"text-margin-y":0,"source-label":"","source-text-offset":0,"source-text-margin-x":0,"source-text-margin-y":0,"target-label":"","target-text-offset":0,"target-text-margin-x":0,"target-text-margin-y":0,"overlay-opacity":0,"overlay-color":"#000","overlay-padding":10,"overlay-shape":"round-rectangle","underlay-opacity":0,"underlay-color":"#000","underlay-padding":10,"underlay-shape":"round-rectangle","transition-property":"none","transition-duration":0,"transition-delay":0,"transition-timing-function":"linear","background-blacken":0,"background-color":"#999","background-fill":"solid","background-opacity":1,"background-image":"none","background-image-crossorigin":"anonymous","background-image-opacity":1,"background-image-containment":"inside","background-image-smoothing":"yes","background-position-x":"50%","background-position-y":"50%","background-offset-x":0,"background-offset-y":0,"background-width-relative-to":"include-padding","background-height-relative-to":"include-padding","background-repeat":"no-repeat","background-fit":"none","background-clip":"node","background-width":"auto","background-height":"auto","border-color":"#000","border-opacity":1,"border-width":0,"border-style":"solid","outline-color":"#999","outline-opacity":1,"outline-width":0,"outline-offset":0,"outline-style":"solid",height:30,width:30,shape:"ellipse","shape-polygon-points":"-1, -1, 1, -1, 1, 1, -1, 1","bounds-expansion":0,"background-gradient-direction":"to-bottom","background-gradient-stop-colors":"#999","background-gradient-stop-positions":"0%",ghost:"no","ghost-offset-y":0,"ghost-offset-x":0,"ghost-opacity":0,padding:0,"padding-relative-to":"width",position:"origin","compound-sizing-wrt-labels":"include","min-width":0,"min-width-bias-left":0,"min-width-bias-right":0,"min-height":0,"min-height-bias-top":0,"min-height-bias-bottom":0},{"pie-size":"100%"},[{name:"pie-{{i}}-background-color",value:"black"},{name:"pie-{{i}}-background-size",value:"0%"},{name:"pie-{{i}}-background-opacity",value:1}].reduce(function(H,q){for(var Y=1;Y<=U0.pieBackgroundN;Y++){var Z=q.name.replace("{{i}}",Y),ce=q.value;H[Z]=ce}return H},{}),{"line-style":"solid","line-color":"#999","line-fill":"solid","line-cap":"butt","line-opacity":1,"line-gradient-stop-colors":"#999","line-gradient-stop-positions":"0%","control-point-step-size":40,"control-point-weights":.5,"segment-weights":.5,"segment-distances":20,"taxi-turn":"50%","taxi-turn-min-distance":10,"taxi-direction":"auto","edge-distances":"intersection","curve-style":"haystack","haystack-radius":0,"arrow-scale":1,"loop-direction":"-45deg","loop-sweep":"-90deg","source-distance-from-node":0,"target-distance-from-node":0,"source-endpoint":"outside-to-node","target-endpoint":"outside-to-node","line-dash-pattern":[6,3],"line-dash-offset":0},[{name:"arrow-shape",value:"none"},{name:"arrow-color",value:"#999"},{name:"arrow-fill",value:"filled"},{name:"arrow-width",value:1}].reduce(function(H,q){return U0.arrowPrefixes.forEach(function(Y){var Z=Y+"-"+q.name,ce=q.value;H[Z]=ce}),H},{})),k={},S=0;S<this.properties.length;S++){var M=this.properties[S];if(!M.pointsTo){var O=M.name,N=m[O],$=this.parse(O,N);k[O]=$}}return x.defaultProperties=k,x.defaultProperties},U0.addDefaultStylesheet=function(){this.selector(":parent").css({shape:"rectangle",padding:10,"background-color":"#eee","border-color":"#ccc","border-width":1}).selector("edge").css({width:3}).selector(":loop").css({"curve-style":"bezier"}).selector("edge:compound").css({"curve-style":"bezier","source-endpoint":"outside-to-line","target-endpoint":"outside-to-line"}).selector(":selected").css({"background-color":"#0169D9","line-color":"#0169D9","source-arrow-color":"#0169D9","target-arrow-color":"#0169D9","mid-source-arrow-color":"#0169D9","mid-target-arrow-color":"#0169D9"}).selector(":parent:selected").css({"background-color":"#CCE1F9","border-color":"#aec8e5"}).selector(":active").css({"overlay-color":"black","overlay-padding":10,"overlay-opacity":.25}),this.defaultLength=this.length};var qS={};qS.parse=function(x,m,k,S){var M=this;if(ae(m))return M.parseImplWarn(x,m,k,S);var O=S==="mapping"||S===!0||S===!1||S==null?"dontcare":S,N=k?"t":"f",$=""+m,H=ld(x,$,N,O),q=M.propCache=M.propCache||[],Y;return(Y=q[H])||(Y=q[H]=M.parseImplWarn(x,m,k,S)),(k||S==="mapping")&&(Y=Sm(Y),Y&&(Y.value=Sm(Y.value))),Y},qS.parseImplWarn=function(x,m,k,S){var M=this.parseImpl(x,m,k,S);return!M&&m!=null&&lu("The style property `".concat(x,": ").concat(m,"` is invalid")),M&&(M.name==="width"||M.name==="height")&&m==="label"&&lu("The style value of `label` is deprecated for `"+M.name+"`"),M},qS.parseImpl=function(x,m,k,S){var M=this;x=pn(x);var O=M.properties[x],N=m,$=M.types;if(!O||m===void 0)return null;O.alias&&(O=O.pointsTo,x=O.name);var H=ge(m);H&&(m=m.trim());var q=O.type;if(!q)return null;if(k&&(m===""||m===null))return{name:x,value:m,bypass:!0,deleteBypass:!0};if(ae(m))return{name:x,value:m,strValue:"fn",mapped:$.fn,bypass:k};var Y,Z;if(!(!H||S||m.length<7||m[1]!=="a")){if(m.length>=7&&m[0]==="d"&&(Y=new RegExp($.data.regex).exec(m))){if(k)return!1;var ce=$.data;return{name:x,value:Y,strValue:""+m,mapped:ce,field:Y[1],bypass:k}}else if(m.length>=10&&m[0]==="m"&&(Z=new RegExp($.mapData.regex).exec(m))){if(k||q.multiple)return!1;var ve=$.mapData;if(!(q.color||q.number))return!1;var me=this.parse(x,Z[4]);if(!me||me.mapped)return!1;var Le=this.parse(x,Z[5]);if(!Le||Le.mapped)return!1;if(me.pfValue===Le.pfValue||me.strValue===Le.strValue)return lu("`"+x+": "+m+"` is not a valid mapper because the output range is zero; converting to `"+x+": "+me.strValue+"`"),this.parse(x,me.strValue);if(q.color){var _e=me.value,Te=Le.value,Fe=_e[0]===Te[0]&&_e[1]===Te[1]&&_e[2]===Te[2]&&(_e[3]===Te[3]||(_e[3]==null||_e[3]===1)&&(Te[3]==null||Te[3]===1));if(Fe)return!1}return{name:x,value:Z,strValue:""+m,mapped:ve,field:Z[1],fieldMin:parseFloat(Z[2]),fieldMax:parseFloat(Z[3]),valueMin:me.value,valueMax:Le.value,bypass:k}}}if(q.multiple&&S!=="multiple"){var Re;if(H?Re=m.split(/\s+/):ne(m)?Re=m:Re=[m],q.evenMultiple&&Re.length%2!==0)return null;for(var Ve=[],ct=[],st=[],Ye="",vt=!1,Qe=0;Qe<Re.length;Qe++){var Lt=M.parse(x,Re[Qe],k,"multiple");vt=vt||ge(Lt.value),Ve.push(Lt.value),st.push(Lt.pfValue!=null?Lt.pfValue:Lt.value),ct.push(Lt.units),Ye+=(Qe>0?" ":"")+Lt.strValue}return q.validate&&!q.validate(Ve,ct)?null:q.singleEnum&&vt?Ve.length===1&&ge(Ve[0])?{name:x,value:Ve[0],strValue:Ve[0],bypass:k}:null:{name:x,value:Ve,pfValue:st,strValue:Ye,bypass:k,units:ct}}var Mt=function(){for(var Cr=0;Cr<q.enums.length;Cr++){var Or=q.enums[Cr];if(Or===m)return{name:x,value:m,strValue:""+m,bypass:k}}return null};if(q.number){var ut,Yt="px";if(q.units&&(ut=q.units),q.implicitUnits&&(Yt=q.implicitUnits),!q.unitless)if(H){var St="px|em"+(q.allowPercent?"|\\%":"");ut&&(St=ut);var _n=m.match("^("+un+")("+St+")?$");_n&&(m=_n[1],ut=_n[2]||Yt)}else(!ut||q.implicitUnits)&&(ut=Yt);if(m=parseFloat(m),isNaN(m)&&q.enums===void 0)return null;if(isNaN(m)&&q.enums!==void 0)return m=N,Mt();if(q.integer&&!pe(m)||q.min!==void 0&&(m<q.min||q.strictMin&&m===q.min)||q.max!==void 0&&(m>q.max||q.strictMax&&m===q.max))return null;var fn={name:x,value:m,strValue:""+m+(ut||""),units:ut,bypass:k};return q.unitless||ut!=="px"&&ut!=="em"?fn.pfValue=m:fn.pfValue=ut==="px"||!ut?m:this.getEmSizeInPixels()*m,(ut==="ms"||ut==="s")&&(fn.pfValue=ut==="ms"?m:1e3*m),(ut==="deg"||ut==="rad")&&(fn.pfValue=ut==="rad"?m:EZ(m)),ut==="%"&&(fn.pfValue=m/100),fn}else if(q.propList){var Xt=[],Dn=""+m;if(Dn!=="none"){for(var rr=Dn.split(/\s*,\s*|\s+/),mr=0;mr<rr.length;mr++){var Pn=rr[mr].trim();M.properties[Pn]?Xt.push(Pn):lu("`"+Pn+"` is not a valid property name")}if(Xt.length===0)return null}return{name:x,value:Xt,strValue:Xt.length===0?"none":Xt.join(" "),bypass:k}}else if(q.color){var gr=mo(m);return gr?{name:x,value:gr,pfValue:gr,strValue:"rgb("+gr[0]+","+gr[1]+","+gr[2]+")",bypass:k}:null}else if(q.regex||q.regexes){if(q.enums){var kr=Mt();if(kr)return kr}for(var Lr=q.regexes?q.regexes:[q.regex],Er=0;Er<Lr.length;Er++){var Ir=new RegExp(Lr[Er]),Kn=Ir.exec(m);if(Kn)return{name:x,value:q.singleRegexMatchValue?Kn[1]:Kn,strValue:""+m,bypass:k}}return null}else return q.string?{name:x,value:""+m,strValue:""+m,bypass:k}:q.enums?Mt():null};var E1=function x(m){if(!(this instanceof x))return new x(m);if(!Pe(m)){sh("A style must have a core reference");return}this._private={cy:m,coreStyle:{}},this.length=0,this.resetToDefault()},C1=E1.prototype;C1.instanceString=function(){return"style"},C1.clear=function(){for(var x=this._private,m=x.cy,k=m.elements(),S=0;S<this.length;S++)this[S]=void 0;return this.length=0,x.contextStyles={},x.propDiffs={},this.cleanElements(k,!0),k.forEach(function(M){var O=M[0]._private;O.styleDirty=!0,O.appliedInitStyle=!1}),this},C1.resetToDefault=function(){return this.clear(),this.addDefaultStylesheet(),this},C1.core=function(x){return this._private.coreStyle[x]||this.getDefaultProperty(x)},C1.selector=function(x){var m=x==="core"?null:new ry(x),k=this.length++;return this[k]={selector:m,properties:[],mappedProperties:[],index:k},this},C1.css=function(){var x=this,m=arguments;if(m.length===1)for(var k=m[0],S=0;S<x.properties.length;S++){var M=x.properties[S],O=k[M.name];O===void 0&&(O=k[Tt(M.name)]),O!==void 0&&this.cssRule(M.name,O)}else m.length===2&&this.cssRule(m[0],m[1]);return this},C1.style=C1.css,C1.cssRule=function(x,m){var k=this.parse(x,m);if(k){var S=this.length-1;this[S].properties.push(k),this[S].properties[k.name]=k,k.name.match(/pie-(\d+)-background-size/)&&k.value&&(this._private.hasPie=!0),k.mapped&&this[S].mappedProperties.push(k);var M=!this[S].selector;M&&(this._private.coreStyle[k.name]=k)}return this},C1.append=function(x){return je(x)?x.appendToStyle(this):ne(x)?this.appendFromJson(x):ge(x)&&this.appendFromString(x),this},E1.fromJson=function(x,m){var k=new E1(x);return k.fromJson(m),k},E1.fromString=function(x,m){return new E1(x).fromString(m)},[T1,lk,$I,Lm,zS,zI,U0,qS].forEach(function(x){xt(C1,x)}),E1.types=C1.types,E1.properties=C1.properties,E1.propertyGroups=C1.propertyGroups,E1.propertyGroupNames=C1.propertyGroupNames,E1.propertyGroupKeys=C1.propertyGroupKeys;var Lre={style:function(m){if(m){var k=this.setStyle(m);k.update()}return this._private.style},setStyle:function(m){var k=this._private;return je(m)?k.style=m.generateStyle(this):ne(m)?k.style=E1.fromJson(this,m):ge(m)?k.style=E1.fromString(this,m):k.style=E1(this),k.style},updateStyle:function(){this.mutableElements().updateStyle()}},Mre="single",y5={autolock:function(m){if(m!==void 0)this._private.autolock=!!m;else return this._private.autolock;return this},autoungrabify:function(m){if(m!==void 0)this._private.autoungrabify=!!m;else return this._private.autoungrabify;return this},autounselectify:function(m){if(m!==void 0)this._private.autounselectify=!!m;else return this._private.autounselectify;return this},selectionType:function(m){var k=this._private;if(k.selectionType==null&&(k.selectionType=Mre),m!==void 0)(m==="additive"||m==="single")&&(k.selectionType=m);else return k.selectionType;return this},panningEnabled:function(m){if(m!==void 0)this._private.panningEnabled=!!m;else return this._private.panningEnabled;return this},userPanningEnabled:function(m){if(m!==void 0)this._private.userPanningEnabled=!!m;else return this._private.userPanningEnabled;return this},zoomingEnabled:function(m){if(m!==void 0)this._private.zoomingEnabled=!!m;else return this._private.zoomingEnabled;return this},userZoomingEnabled:function(m){if(m!==void 0)this._private.userZoomingEnabled=!!m;else return this._private.userZoomingEnabled;return this},boxSelectionEnabled:function(m){if(m!==void 0)this._private.boxSelectionEnabled=!!m;else return this._private.boxSelectionEnabled;return this},pan:function(){var m=arguments,k=this._private.pan,S,M,O,N,$;switch(m.length){case 0:return k;case 1:if(ge(m[0]))return S=m[0],k[S];if(se(m[0])){if(!this._private.panningEnabled)return this;O=m[0],N=O.x,$=O.y,X(N)&&(k.x=N),X($)&&(k.y=$),this.emit("pan viewport")}break;case 2:if(!this._private.panningEnabled)return this;S=m[0],M=m[1],(S==="x"||S==="y")&&X(M)&&(k[S]=M),this.emit("pan viewport");break}return this.notify("viewport"),this},panBy:function(m,k){var S=arguments,M=this._private.pan,O,N,$,H,q;if(!this._private.panningEnabled)return this;switch(S.length){case 1:se(m)&&($=S[0],H=$.x,q=$.y,X(H)&&(M.x+=H),X(q)&&(M.y+=q),this.emit("pan viewport"));break;case 2:O=m,N=k,(O==="x"||O==="y")&&X(N)&&(M[O]+=N),this.emit("pan viewport");break}return this.notify("viewport"),this},fit:function(m,k){var S=this.getFitViewport(m,k);if(S){var M=this._private;M.zoom=S.zoom,M.pan=S.pan,this.emit("pan zoom viewport"),this.notify("viewport")}return this},getFitViewport:function(m,k){if(X(m)&&k===void 0&&(k=m,m=void 0),!(!this._private.panningEnabled||!this._private.zoomingEnabled)){var S;if(ge(m)){var M=m;m=this.$(M)}else if(ke(m)){var O=m;S={x1:O.x1,y1:O.y1,x2:O.x2,y2:O.y2},S.w=S.x2-S.x1,S.h=S.y2-S.y1}else xe(m)||(m=this.mutableElements());if(!(xe(m)&&m.empty())){S=S||m.boundingBox();var N=this.width(),$=this.height(),H;if(k=X(k)?k:0,!isNaN(N)&&!isNaN($)&&N>0&&$>0&&!isNaN(S.w)&&!isNaN(S.h)&&S.w>0&&S.h>0){H=Math.min((N-2*k)/S.w,($-2*k)/S.h),H=H>this._private.maxZoom?this._private.maxZoom:H,H=H<this._private.minZoom?this._private.minZoom:H;var q={x:(N-H*(S.x1+S.x2))/2,y:($-H*(S.y1+S.y2))/2};return{zoom:H,pan:q}}}}},zoomRange:function(m,k){var S=this._private;if(k==null){var M=m;m=M.min,k=M.max}return X(m)&&X(k)&&m<=k?(S.minZoom=m,S.maxZoom=k):X(m)&&k===void 0&&m<=S.maxZoom?S.minZoom=m:X(k)&&m===void 0&&k>=S.minZoom&&(S.maxZoom=k),this},minZoom:function(m){return m===void 0?this._private.minZoom:this.zoomRange({min:m})},maxZoom:function(m){return m===void 0?this._private.maxZoom:this.zoomRange({max:m})},getZoomedViewport:function(m){var k=this._private,S=k.pan,M=k.zoom,O,N,$=!1;if(k.zoomingEnabled||($=!0),X(m)?N=m:se(m)&&(N=m.level,m.position!=null?O=hS(m.position,M,S):m.renderedPosition!=null&&(O=m.renderedPosition),O!=null&&!k.panningEnabled&&($=!0)),N=N>k.maxZoom?k.maxZoom:N,N=N<k.minZoom?k.minZoom:N,$||!X(N)||N===M||O!=null&&(!X(O.x)||!X(O.y)))return null;if(O!=null){var H=S,q=M,Y=N,Z={x:-Y/q*(O.x-H.x)+O.x,y:-Y/q*(O.y-H.y)+O.y};return{zoomed:!0,panned:!0,zoom:Y,pan:Z}}else return{zoomed:!0,panned:!1,zoom:N,pan:S}},zoom:function(m){if(m===void 0)return this._private.zoom;var k=this.getZoomedViewport(m),S=this._private;return k==null||!k.zoomed?this:(S.zoom=k.zoom,k.panned&&(S.pan.x=k.pan.x,S.pan.y=k.pan.y),this.emit("zoom"+(k.panned?" pan":"")+" viewport"),this.notify("viewport"),this)},viewport:function(m){var k=this._private,S=!0,M=!0,O=[],N=!1,$=!1;if(!m)return this;if(X(m.zoom)||(S=!1),se(m.pan)||(M=!1),!S&&!M)return this;if(S){var H=m.zoom;H<k.minZoom||H>k.maxZoom||!k.zoomingEnabled?N=!0:(k.zoom=H,O.push("zoom"))}if(M&&(!N||!m.cancelOnFailedZoom)&&k.panningEnabled){var q=m.pan;X(q.x)&&(k.pan.x=q.x,$=!1),X(q.y)&&(k.pan.y=q.y,$=!1),$||O.push("pan")}return O.length>0&&(O.push("viewport"),this.emit(O.join(" ")),this.notify("viewport")),this},center:function(m){var k=this.getCenterPan(m);return k&&(this._private.pan=k,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(m,k){if(this._private.panningEnabled){if(ge(m)){var S=m;m=this.mutableElements().filter(S)}else xe(m)||(m=this.mutableElements());if(m.length!==0){var M=m.boundingBox(),O=this.width(),N=this.height();k=k===void 0?this._private.zoom:k;var $={x:(O-k*(M.x1+M.x2))/2,y:(N-k*(M.y1+M.y2))/2};return $}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var m=this._private,k=m.container,S=this;return m.sizeCache=m.sizeCache||(k?function(){var M=S.window().getComputedStyle(k),O=function($){return parseFloat(M.getPropertyValue($))};return{width:k.clientWidth-O("padding-left")-O("padding-right"),height:k.clientHeight-O("padding-top")-O("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var m=this._private.pan,k=this._private.zoom,S=this.renderedExtent(),M={x1:(S.x1-m.x)/k,x2:(S.x2-m.x)/k,y1:(S.y1-m.y)/k,y2:(S.y2-m.y)/k};return M.w=M.x2-M.x1,M.h=M.y2-M.y1,M},renderedExtent:function(){var m=this.width(),k=this.height();return{x1:0,y1:0,x2:m,y2:k,w:m,h:k}},multiClickDebounceTime:function(m){if(m)this._private.multiClickDebounceTime=m;else return this._private.multiClickDebounceTime;return this}};y5.centre=y5.center,y5.autolockNodes=y5.autolock,y5.autoungrabifyNodes=y5.autoungrabify;var hk={data:hu.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:hu.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:hu.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:hu.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};hk.attr=hk.data,hk.removeAttr=hk.removeData;var fk=function(m){var k=this;m=xt({},m);var S=m.container;S&&!G(S)&&G(S[0])&&(S=S[0]);var M=S?S._cyreg:null;M=M||{},M&&M.cy&&(M.cy.destroy(),M={});var O=M.readies=M.readies||[];S&&(S._cyreg=M),M.cy=k;var N=B!==void 0&&S!==void 0&&!m.headless,$=m;$.layout=xt({name:N?"grid":"null"},$.layout),$.renderer=xt({name:N?"canvas":"null"},$.renderer);var H=function(me,Le,_e){return Le!==void 0?Le:_e!==void 0?_e:me},q=this._private={container:S,ready:!1,options:$,elements:new H0(this),listeners:[],aniEles:new H0(this),data:$.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:H(!0,$.zoomingEnabled),userZoomingEnabled:H(!0,$.userZoomingEnabled),panningEnabled:H(!0,$.panningEnabled),userPanningEnabled:H(!0,$.userPanningEnabled),boxSelectionEnabled:H(!0,$.boxSelectionEnabled),autolock:H(!1,$.autolock,$.autolockNodes),autoungrabify:H(!1,$.autoungrabify,$.autoungrabifyNodes),autounselectify:H(!1,$.autounselectify),styleEnabled:$.styleEnabled===void 0?N:$.styleEnabled,zoom:X($.zoom)?$.zoom:1,pan:{x:se($.pan)&&X($.pan.x)?$.pan.x:0,y:se($.pan)&&X($.pan.y)?$.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:H(250,$.multiClickDebounceTime)};this.createEmitter(),this.selectionType($.selectionType),this.zoomRange({min:$.minZoom,max:$.maxZoom});var Y=function(me,Le){var _e=me.some(Ke);if(_e)return s8.all(me).then(Le);Le(me)};q.styleEnabled&&k.setStyle([]);var Z=xt({},$,$.renderer);k.initRenderer(Z);var ce=function(me,Le,_e){k.notifications(!1);var Te=k.mutableElements();Te.length>0&&Te.remove(),me!=null&&(se(me)||ne(me))&&k.add(me),k.one("layoutready",function(Re){k.notifications(!0),k.emit(Re),k.one("load",Le),k.emitAndNotify("load")}).one("layoutstop",function(){k.one("done",_e),k.emit("done")});var Fe=xt({},k._private.options.layout);Fe.eles=k.elements(),k.layout(Fe).run()};Y([$.style,$.elements],function(ve){var me=ve[0],Le=ve[1];q.styleEnabled&&k.style().append(me),ce(Le,function(){k.startAnimationLoop(),q.ready=!0,ae($.ready)&&k.on("ready",$.ready);for(var _e=0;_e<O.length;_e++){var Te=O[_e];k.on("ready",Te)}M&&(M.readies=[]),k.emit("ready")},$.done)})},HS=fk.prototype;xt(HS,{instanceString:function(){return"core"},isReady:function(){return this._private.ready},destroyed:function(){return this._private.destroyed},ready:function(m){return this.isReady()?this.emitter().emit("ready",[],m):this.on("ready",m),this},destroy:function(){var m=this;if(!m.destroyed())return m.stopAnimationLoop(),m.destroyRenderer(),this.emit("destroy"),m._private.destroyed=!0,m},hasElementWithId:function(m){return this._private.elements.hasElementWithId(m)},getElementById:function(m){return this._private.elements.getElementById(m)},hasCompoundNodes:function(){return this._private.hasCompoundNodes},headless:function(){return this._private.renderer.isHeadless()},styleEnabled:function(){return this._private.styleEnabled},addToPool:function(m){return this._private.elements.merge(m),this},removeFromPool:function(m){return this._private.elements.unmerge(m),this},container:function(){return this._private.container||null},window:function(){var m=this._private.container;if(m==null)return B;var k=this._private.container.ownerDocument;return k===void 0||k==null?B:k.defaultView||B},mount:function(m){if(m!=null){var k=this,S=k._private,M=S.options;return!G(m)&&G(m[0])&&(m=m[0]),k.stopAnimationLoop(),k.destroyRenderer(),S.container=m,S.styleEnabled=!0,k.invalidateSize(),k.initRenderer(xt({},M,M.renderer,{name:M.renderer.name==="null"?"canvas":M.renderer.name})),k.startAnimationLoop(),k.style(M.style),k.emit("mount"),k}},unmount:function(){var m=this;return m.stopAnimationLoop(),m.destroyRenderer(),m.initRenderer({name:"null"}),m.emit("unmount"),m},options:function(){return Sm(this._private.options)},json:function(m){var k=this,S=k._private,M=k.mutableElements(),O=function(Ve){return k.getElementById(Ve.id())};if(se(m)){if(k.startBatch(),m.elements){var N={},$=function(Ve,ct){for(var st=[],Ye=[],vt=0;vt<Ve.length;vt++){var Qe=Ve[vt];if(!Qe.data.id){lu("cy.json() cannot handle elements without an ID attribute");continue}var Lt=""+Qe.data.id,Mt=k.getElementById(Lt);N[Lt]=!0,Mt.length!==0?Ye.push({ele:Mt,json:Qe}):(ct&&(Qe.group=ct),st.push(Qe))}k.add(st);for(var ut=0;ut<Ye.length;ut++){var Yt=Ye[ut],St=Yt.ele,_n=Yt.json;St.json(_n)}};if(ne(m.elements))$(m.elements);else for(var H=["nodes","edges"],q=0;q<H.length;q++){var Y=H[q],Z=m.elements[Y];ne(Z)&&$(Z,Y)}var ce=k.collection();M.filter(function(Re){return!N[Re.id()]}).forEach(function(Re){Re.isParent()?ce.merge(Re):Re.remove()}),ce.forEach(function(Re){return Re.children().move({parent:null})}),ce.forEach(function(Re){return O(Re).remove()})}m.style&&k.style(m.style),m.zoom!=null&&m.zoom!==S.zoom&&k.zoom(m.zoom),m.pan&&(m.pan.x!==S.pan.x||m.pan.y!==S.pan.y)&&k.pan(m.pan),m.data&&k.data(m.data);for(var ve=["minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","panningEnabled","userPanningEnabled","boxSelectionEnabled","autolock","autoungrabify","autounselectify","multiClickDebounceTime"],me=0;me<ve.length;me++){var Le=ve[me];m[Le]!=null&&k[Le](m[Le])}return k.endBatch(),this}else{var _e=!!m,Te={};_e?Te.elements=this.elements().map(function(Re){return Re.json()}):(Te.elements={},M.forEach(function(Re){var Ve=Re.group();Te.elements[Ve]||(Te.elements[Ve]=[]),Te.elements[Ve].push(Re.json())})),this._private.styleEnabled&&(Te.style=k.style().json()),Te.data=Sm(k.data());var Fe=S.options;return Te.zoomingEnabled=S.zoomingEnabled,Te.userZoomingEnabled=S.userZoomingEnabled,Te.zoom=S.zoom,Te.minZoom=S.minZoom,Te.maxZoom=S.maxZoom,Te.panningEnabled=S.panningEnabled,Te.userPanningEnabled=S.userPanningEnabled,Te.pan=Sm(S.pan),Te.boxSelectionEnabled=S.boxSelectionEnabled,Te.renderer=Sm(Fe.renderer),Te.hideEdgesOnViewport=Fe.hideEdgesOnViewport,Te.textureOnViewport=Fe.textureOnViewport,Te.wheelSensitivity=Fe.wheelSensitivity,Te.motionBlur=Fe.motionBlur,Te.multiClickDebounceTime=Fe.multiClickDebounceTime,Te}}}),HS.$id=HS.getElementById,[wre,Ere,U$,RI,jS,Sre,jI,$S,Lre,y5,hk].forEach(function(x){xt(HS,x)});var Dre={fit:!0,directed:!1,padding:30,circle:!1,grid:!1,spacingFactor:1.75,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,roots:void 0,depthSort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(m,k){return!0},ready:void 0,stop:void 0,transform:function(m,k){return k}},Ire={maximal:!1,acyclic:!1},b8=function(m){return m.scratch("breadthfirst")},V$=function(m,k){return m.scratch("breadthfirst",k)};function G$(x){this.options=xt({},Dre,Ire,x)}G$.prototype.run=function(){var x=this.options,m=x,k=x.cy,S=m.eles,M=S.nodes().filter(function(Di){return!Di.isParent()}),O=S,N=m.directed,$=m.acyclic||m.maximal||m.maximalAdjustments>0,H=Qd(m.boundingBox?m.boundingBox:{x1:0,y1:0,w:k.width(),h:k.height()}),q;if(xe(m.roots))q=m.roots;else if(ne(m.roots)){for(var Y=[],Z=0;Z<m.roots.length;Z++){var ce=m.roots[Z],ve=k.getElementById(ce);Y.push(ve)}q=k.collection(Y)}else if(ge(m.roots))q=k.$(m.roots);else if(N)q=M.roots();else{var me=S.components();q=k.collection();for(var Le=function(pi){var fs=me[pi],Fs=fs.maxDegree(!1),ks=fs.filter(function(Rs){return Rs.degree(!1)===Fs});q=q.add(ks)},_e=0;_e<me.length;_e++)Le(_e)}var Te=[],Fe={},Re=function(pi,fs){Te[fs]==null&&(Te[fs]=[]);var Fs=Te[fs].length;Te[fs].push(pi),V$(pi,{index:Fs,depth:fs})},Ve=function(pi,fs){var Fs=b8(pi),ks=Fs.depth,Rs=Fs.index;Te[ks][Rs]=null,Re(pi,fs)};O.bfs({roots:q,directed:m.directed,visit:function(pi,fs,Fs,ks,Rs){var vo=pi[0],ja=vo.id();Re(vo,Rs),Fe[ja]=!0}});for(var ct=[],st=0;st<M.length;st++){var Ye=M[st];Fe[Ye.id()]||ct.push(Ye)}var vt=function(pi){for(var fs=Te[pi],Fs=0;Fs<fs.length;Fs++){var ks=fs[Fs];if(ks==null){fs.splice(Fs,1),Fs--;continue}V$(ks,{depth:pi,index:Fs})}},Qe=function(){for(var pi=0;pi<Te.length;pi++)vt(pi)},Lt=function(pi,fs){for(var Fs=b8(pi),ks=pi.incomers().filter(function(K){return K.isNode()&&S.has(K)}),Rs=-1,vo=pi.id(),ja=0;ja<ks.length;ja++){var Ma=ks[ja],Fo=b8(Ma);Rs=Math.max(Rs,Fo.depth)}if(Fs.depth<=Rs){if(!m.acyclic&&fs[vo])return null;var er=Rs+1;return Ve(pi,er),fs[vo]=er,!0}return!1};if(N&&$){var Mt=[],ut={},Yt=function(pi){return Mt.push(pi)},St=function(){return Mt.shift()};for(M.forEach(function(Di){return Mt.push(Di)});Mt.length>0;){var _n=St(),fn=Lt(_n,ut);if(fn)_n.outgoers().filter(function(Di){return Di.isNode()&&S.has(Di)}).forEach(Yt);else if(fn===null){lu("Detected double maximal shift for node `"+_n.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}Qe();var Xt=0;if(m.avoidOverlap)for(var Dn=0;Dn<M.length;Dn++){var rr=M[Dn],mr=rr.layoutDimensions(m),Pn=mr.w,gr=mr.h;Xt=Math.max(Xt,Pn,gr)}var kr={},Lr=function(pi){if(kr[pi.id()])return kr[pi.id()];for(var fs=b8(pi).depth,Fs=pi.neighborhood(),ks=0,Rs=0,vo=0;vo<Fs.length;vo++){var ja=Fs[vo];if(!(ja.isEdge()||ja.isParent()||!M.has(ja))){var Ma=b8(ja);if(Ma!=null){var Fo=Ma.index,er=Ma.depth;if(!(Fo==null||er==null)){var K=Te[er].length;er<fs&&(ks+=Fo/K,Rs++)}}}}return Rs=Math.max(1,Rs),ks=ks/Rs,Rs===0&&(ks=0),kr[pi.id()]=ks,ks},Er=function(pi,fs){var Fs=Lr(pi),ks=Lr(fs),Rs=Fs-ks;return Rs===0?ht(pi.id(),fs.id()):Rs};m.depthSort!==void 0&&(Er=m.depthSort);for(var Ir=0;Ir<Te.length;Ir++)Te[Ir].sort(Er),vt(Ir);for(var Kn=[],pr=0;pr<ct.length;pr++)Kn.push(ct[pr]);Te.unshift(Kn),Qe();for(var Cr=0,Or=0;Or<Te.length;Or++)Cr=Math.max(Te[Or].length,Cr);var _i={x:H.x1+H.w/2,y:H.x1+H.h/2},xs=Te.reduce(function(Di,pi){return Math.max(Di,pi.length)},0),va=function(pi){var fs=b8(pi),Fs=fs.depth,ks=fs.index,Rs=Te[Fs].length,vo=Math.max(H.w/((m.grid?xs:Rs)+1),Xt),ja=Math.max(H.h/(Te.length+1),Xt),Ma=Math.min(H.w/2/Te.length,H.h/2/Te.length);if(Ma=Math.max(Ma,Xt),m.circle){var er=Ma*Fs+Ma-(Te.length>0&&Te[0].length<=3?Ma/2:0),K=2*Math.PI/Te[Fs].length*ks;return Fs===0&&Te[0].length===1&&(er=1),{x:_i.x+er*Math.cos(K),y:_i.y+er*Math.sin(K)}}else{var Fo={x:_i.x+(ks+1-(Rs+1)/2)*vo,y:(Fs+1)*ja};return Fo}};return S.nodes().layoutPositions(this,m,va),this};var Ore={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(m,k){return!0},ready:void 0,stop:void 0,transform:function(m,k){return k}};function K$(x){this.options=xt({},Ore,x)}K$.prototype.run=function(){var x=this.options,m=x,k=x.cy,S=m.eles,M=m.counterclockwise!==void 0?!m.counterclockwise:m.clockwise,O=S.nodes().not(":parent");m.sort&&(O=O.sort(m.sort));for(var N=Qd(m.boundingBox?m.boundingBox:{x1:0,y1:0,w:k.width(),h:k.height()}),$={x:N.x1+N.w/2,y:N.y1+N.h/2},H=m.sweep===void 0?2*Math.PI-2*Math.PI/O.length:m.sweep,q=H/Math.max(1,O.length-1),Y,Z=0,ce=0;ce<O.length;ce++){var ve=O[ce],me=ve.layoutDimensions(m),Le=me.w,_e=me.h;Z=Math.max(Z,Le,_e)}if(X(m.radius)?Y=m.radius:O.length<=1?Y=0:Y=Math.min(N.h,N.w)/2-Z,O.length>1&&m.avoidOverlap){Z*=1.75;var Te=Math.cos(q)-Math.cos(0),Fe=Math.sin(q)-Math.sin(0),Re=Math.sqrt(Z*Z/(Te*Te+Fe*Fe));Y=Math.max(Re,Y)}var Ve=function(st,Ye){var vt=m.startAngle+Ye*q*(M?1:-1),Qe=Y*Math.cos(vt),Lt=Y*Math.sin(vt),Mt={x:$.x+Qe,y:$.y+Lt};return Mt};return S.nodes().layoutPositions(this,m,Ve),this};var Nre={fit:!0,padding:30,startAngle:3/2*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(m){return m.degree()},levelWidth:function(m){return m.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(m,k){return!0},ready:void 0,stop:void 0,transform:function(m,k){return k}};function W$(x){this.options=xt({},Nre,x)}W$.prototype.run=function(){for(var x=this.options,m=x,k=m.counterclockwise!==void 0?!m.counterclockwise:m.clockwise,S=x.cy,M=m.eles,O=M.nodes().not(":parent"),N=Qd(m.boundingBox?m.boundingBox:{x1:0,y1:0,w:S.width(),h:S.height()}),$={x:N.x1+N.w/2,y:N.y1+N.h/2},H=[],q=0,Y=0;Y<O.length;Y++){var Z=O[Y],ce=void 0;ce=m.concentric(Z),H.push({value:ce,node:Z}),Z._private.scratch.concentric=ce}O.updateStyle();for(var ve=0;ve<O.length;ve++){var me=O[ve],Le=me.layoutDimensions(m);q=Math.max(q,Le.w,Le.h)}H.sort(function(Di,pi){return pi.value-Di.value});for(var _e=m.levelWidth(O),Te=[[]],Fe=Te[0],Re=0;Re<H.length;Re++){var Ve=H[Re];if(Fe.length>0){var ct=Math.abs(Fe[0].value-Ve.value);ct>=_e&&(Fe=[],Te.push(Fe))}Fe.push(Ve)}var st=q+m.minNodeSpacing;if(!m.avoidOverlap){var Ye=Te.length>0&&Te[0].length>1,vt=Math.min(N.w,N.h)/2-st,Qe=vt/(Te.length+Ye?1:0);st=Math.min(st,Qe)}for(var Lt=0,Mt=0;Mt<Te.length;Mt++){var ut=Te[Mt],Yt=m.sweep===void 0?2*Math.PI-2*Math.PI/ut.length:m.sweep,St=ut.dTheta=Yt/Math.max(1,ut.length-1);if(ut.length>1&&m.avoidOverlap){var _n=Math.cos(St)-Math.cos(0),fn=Math.sin(St)-Math.sin(0),Xt=Math.sqrt(st*st/(_n*_n+fn*fn));Lt=Math.max(Xt,Lt)}ut.r=Lt,Lt+=st}if(m.equidistant){for(var Dn=0,rr=0,mr=0;mr<Te.length;mr++){var Pn=Te[mr],gr=Pn.r-rr;Dn=Math.max(Dn,gr)}rr=0;for(var kr=0;kr<Te.length;kr++){var Lr=Te[kr];kr===0&&(rr=Lr.r),Lr.r=rr,rr+=Dn}}for(var Er={},Ir=0;Ir<Te.length;Ir++)for(var Kn=Te[Ir],pr=Kn.dTheta,Cr=Kn.r,Or=0;Or<Kn.length;Or++){var _i=Kn[Or],xs=m.startAngle+(k?1:-1)*pr*Or,va={x:$.x+Cr*Math.cos(xs),y:$.y+Cr*Math.sin(xs)};Er[_i.node.id()]=va}return M.nodes().layoutPositions(this,m,function(Di){var pi=Di.id();return Er[pi]}),this};var qI,Pre={ready:function(){},stop:function(){},animate:!0,animationEasing:void 0,animationDuration:void 0,animateFilter:function(m,k){return!0},animationThreshold:250,refresh:20,fit:!0,padding:30,boundingBox:void 0,nodeDimensionsIncludeLabels:!1,randomize:!1,componentSpacing:40,nodeRepulsion:function(m){return 2048},nodeOverlap:4,idealEdgeLength:function(m){return 32},edgeElasticity:function(m){return 32},nestingFactor:1.2,gravity:1,numIter:1e3,initialTemp:1e3,coolingFactor:.99,minTemp:1};function US(x){this.options=xt({},Pre,x),this.options.layout=this;var m=this.options.eles.nodes(),k=this.options.eles.edges(),S=k.filter(function(M){var O=M.source().data("id"),N=M.target().data("id"),$=m.some(function(q){return q.data("id")===O}),H=m.some(function(q){return q.data("id")===N});return!$||!H});this.options.eles=this.options.eles.not(S)}US.prototype.run=function(){var x=this.options,m=x.cy,k=this;k.stopped=!1,(x.animate===!0||x.animate===!1)&&k.emit({type:"layoutstart",layout:k}),x.debug===!0?qI=!0:qI=!1;var S=Bre(m,k,x);qI&&jre(S),x.randomize&&$re(S);var M=Vp(),O=function(){zre(S,m,x),x.fit===!0&&m.fit(x.padding)},N=function(ce){return!(k.stopped||ce>=x.numIter||(qre(S,x),S.temperature=S.temperature*x.coolingFactor,S.temperature<x.minTemp))},$=function(){if(x.animate===!0||x.animate===!1)O(),k.one("layoutstop",x.stop),k.emit({type:"layoutstop",layout:k});else{var ce=x.eles.nodes(),ve=Y$(S,x,ce);ce.layoutPositions(k,x,ve)}},H=0,q=!0;if(x.animate===!0){var Y=function Z(){for(var ce=0;q&&ce<x.refresh;)q=N(H),H++,ce++;if(!q)Q$(S,x),$();else{var ve=Vp();ve-M>=x.animationThreshold&&O(),Wh(Z)}};Y()}else{for(;q;)q=N(H),H++;Q$(S,x),$()}return this},US.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},US.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var Bre=function(m,k,S){for(var M=S.eles.edges(),O=S.eles.nodes(),N=Qd(S.boundingBox?S.boundingBox:{x1:0,y1:0,w:m.width(),h:m.height()}),$={isCompound:m.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:O.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:M.size(),temperature:S.initialTemp,clientWidth:N.w,clientHeight:N.h,boundingBox:N},H=S.eles.components(),q={},Y=0;Y<H.length;Y++)for(var Z=H[Y],ce=0;ce<Z.length;ce++){var ve=Z[ce];q[ve.id()]=Y}for(var Y=0;Y<$.nodeSize;Y++){var me=O[Y],Le=me.layoutDimensions(S),_e={};_e.isLocked=me.locked(),_e.id=me.data("id"),_e.parentId=me.data("parent"),_e.cmptId=q[me.id()],_e.children=[],_e.positionX=me.position("x"),_e.positionY=me.position("y"),_e.offsetX=0,_e.offsetY=0,_e.height=Le.w,_e.width=Le.h,_e.maxX=_e.positionX+_e.width/2,_e.minX=_e.positionX-_e.width/2,_e.maxY=_e.positionY+_e.height/2,_e.minY=_e.positionY-_e.height/2,_e.padLeft=parseFloat(me.style("padding")),_e.padRight=parseFloat(me.style("padding")),_e.padTop=parseFloat(me.style("padding")),_e.padBottom=parseFloat(me.style("padding")),_e.nodeRepulsion=ae(S.nodeRepulsion)?S.nodeRepulsion(me):S.nodeRepulsion,$.layoutNodes.push(_e),$.idToIndex[_e.id]=Y}for(var Te=[],Fe=0,Re=-1,Ve=[],Y=0;Y<$.nodeSize;Y++){var me=$.layoutNodes[Y],ct=me.parentId;ct!=null?$.layoutNodes[$.idToIndex[ct]].children.push(me.id):(Te[++Re]=me.id,Ve.push(me.id))}for($.graphSet.push(Ve);Fe<=Re;){var st=Te[Fe++],Ye=$.idToIndex[st],ve=$.layoutNodes[Ye],vt=ve.children;if(vt.length>0){$.graphSet.push(vt);for(var Y=0;Y<vt.length;Y++)Te[++Re]=vt[Y]}}for(var Y=0;Y<$.graphSet.length;Y++)for(var Qe=$.graphSet[Y],ce=0;ce<Qe.length;ce++){var Lt=$.idToIndex[Qe[ce]];$.indexToGraph[Lt]=Y}for(var Y=0;Y<$.edgeSize;Y++){var Mt=M[Y],ut={};ut.id=Mt.data("id"),ut.sourceId=Mt.data("source"),ut.targetId=Mt.data("target");var Yt=ae(S.idealEdgeLength)?S.idealEdgeLength(Mt):S.idealEdgeLength,St=ae(S.edgeElasticity)?S.edgeElasticity(Mt):S.edgeElasticity,_n=$.idToIndex[ut.sourceId],fn=$.idToIndex[ut.targetId],Xt=$.indexToGraph[_n],Dn=$.indexToGraph[fn];if(Xt!=Dn){for(var rr=Fre(ut.sourceId,ut.targetId,$),mr=$.graphSet[rr],Pn=0,_e=$.layoutNodes[_n];mr.indexOf(_e.id)===-1;)_e=$.layoutNodes[$.idToIndex[_e.parentId]],Pn++;for(_e=$.layoutNodes[fn];mr.indexOf(_e.id)===-1;)_e=$.layoutNodes[$.idToIndex[_e.parentId]],Pn++;Yt*=Pn*S.nestingFactor}ut.idealLength=Yt,ut.elasticity=St,$.layoutEdges.push(ut)}return $},Fre=function(m,k,S){var M=Rre(m,k,0,S);return 2>M.count?0:M.graph},Rre=function x(m,k,S,M){var O=M.graphSet[S];if(-1<O.indexOf(m)&&-1<O.indexOf(k))return{count:2,graph:S};for(var N=0,$=0;$<O.length;$++){var H=O[$],q=M.idToIndex[H],Y=M.layoutNodes[q].children;if(Y.length!==0){var Z=M.indexToGraph[M.idToIndex[Y[0]]],ce=x(m,k,Z,M);if(ce.count!==0)if(ce.count===1){if(N++,N===2)break}else return ce}}return{count:N,graph:S}},jre,$re=function(m,k){for(var S=m.clientWidth,M=m.clientHeight,O=0;O<m.nodeSize;O++){var N=m.layoutNodes[O];N.children.length===0&&!N.isLocked&&(N.positionX=Math.random()*S,N.positionY=Math.random()*M)}},Y$=function(m,k,S){var M=m.boundingBox,O={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0};return k.boundingBox&&(S.forEach(function(N){var $=m.layoutNodes[m.idToIndex[N.data("id")]];O.x1=Math.min(O.x1,$.positionX),O.x2=Math.max(O.x2,$.positionX),O.y1=Math.min(O.y1,$.positionY),O.y2=Math.max(O.y2,$.positionY)}),O.w=O.x2-O.x1,O.h=O.y2-O.y1),function(N,$){var H=m.layoutNodes[m.idToIndex[N.data("id")]];if(k.boundingBox){var q=(H.positionX-O.x1)/O.w,Y=(H.positionY-O.y1)/O.h;return{x:M.x1+q*M.w,y:M.y1+Y*M.h}}else return{x:H.positionX,y:H.positionY}}},zre=function(m,k,S){var M=S.layout,O=S.eles.nodes(),N=Y$(m,S,O);O.positions(N),m.ready!==!0&&(m.ready=!0,M.one("layoutready",S.ready),M.emit({type:"layoutready",layout:this}))},qre=function(m,k,S){Hre(m,k),Gre(m),Kre(m,k),Wre(m),Yre(m)},Hre=function(m,k){for(var S=0;S<m.graphSet.length;S++)for(var M=m.graphSet[S],O=M.length,N=0;N<O;N++)for(var $=m.layoutNodes[m.idToIndex[M[N]]],H=N+1;H<O;H++){var q=m.layoutNodes[m.idToIndex[M[H]]];Ure($,q,m,k)}},X$=function(m){return-m+2*m*Math.random()},Ure=function(m,k,S,M){var O=m.cmptId,N=k.cmptId;if(!(O!==N&&!S.isCompound)){var $=k.positionX-m.positionX,H=k.positionY-m.positionY,q=1;$===0&&H===0&&($=X$(q),H=X$(q));var Y=Vre(m,k,$,H);if(Y>0)var Z=M.nodeOverlap*Y,ce=Math.sqrt($*$+H*H),ve=Z*$/ce,me=Z*H/ce;else var Le=VS(m,$,H),_e=VS(k,-1*$,-1*H),Te=_e.x-Le.x,Fe=_e.y-Le.y,Re=Te*Te+Fe*Fe,ce=Math.sqrt(Re),Z=(m.nodeRepulsion+k.nodeRepulsion)/Re,ve=Z*Te/ce,me=Z*Fe/ce;m.isLocked||(m.offsetX-=ve,m.offsetY-=me),k.isLocked||(k.offsetX+=ve,k.offsetY+=me)}},Vre=function(m,k,S,M){if(S>0)var O=m.maxX-k.minX;else var O=k.maxX-m.minX;if(M>0)var N=m.maxY-k.minY;else var N=k.maxY-m.minY;return O>=0&&N>=0?Math.sqrt(O*O+N*N):0},VS=function(m,k,S){var M=m.positionX,O=m.positionY,N=m.height||1,$=m.width||1,H=S/k,q=N/$,Y={};return k===0&&0<S||k===0&&0>S?(Y.x=M,Y.y=O+N/2,Y):0<k&&-1*q<=H&&H<=q?(Y.x=M+$/2,Y.y=O+$*S/2/k,Y):0>k&&-1*q<=H&&H<=q?(Y.x=M-$/2,Y.y=O-$*S/2/k,Y):0<S&&(H<=-1*q||H>=q)?(Y.x=M+N*k/2/S,Y.y=O+N/2,Y):(0>S&&(H<=-1*q||H>=q)&&(Y.x=M-N*k/2/S,Y.y=O-N/2),Y)},Gre=function(m,k){for(var S=0;S<m.edgeSize;S++){var M=m.layoutEdges[S],O=m.idToIndex[M.sourceId],N=m.layoutNodes[O],$=m.idToIndex[M.targetId],H=m.layoutNodes[$],q=H.positionX-N.positionX,Y=H.positionY-N.positionY;if(!(q===0&&Y===0)){var Z=VS(N,q,Y),ce=VS(H,-1*q,-1*Y),ve=ce.x-Z.x,me=ce.y-Z.y,Le=Math.sqrt(ve*ve+me*me),_e=Math.pow(M.idealLength-Le,2)/M.elasticity;if(Le!==0)var Te=_e*ve/Le,Fe=_e*me/Le;else var Te=0,Fe=0;N.isLocked||(N.offsetX+=Te,N.offsetY+=Fe),H.isLocked||(H.offsetX-=Te,H.offsetY-=Fe)}}},Kre=function(m,k){if(k.gravity!==0)for(var S=1,M=0;M<m.graphSet.length;M++){var O=m.graphSet[M],N=O.length;if(M===0)var $=m.clientHeight/2,H=m.clientWidth/2;else var q=m.layoutNodes[m.idToIndex[O[0]]],Y=m.layoutNodes[m.idToIndex[q.parentId]],$=Y.positionX,H=Y.positionY;for(var Z=0;Z<N;Z++){var ce=m.layoutNodes[m.idToIndex[O[Z]]];if(!ce.isLocked){var ve=$-ce.positionX,me=H-ce.positionY,Le=Math.sqrt(ve*ve+me*me);if(Le>S){var _e=k.gravity*ve/Le,Te=k.gravity*me/Le;ce.offsetX+=_e,ce.offsetY+=Te}}}}},Wre=function(m,k){var S=[],M=0,O=-1;for(S.push.apply(S,m.graphSet[0]),O+=m.graphSet[0].length;M<=O;){var N=S[M++],$=m.idToIndex[N],H=m.layoutNodes[$],q=H.children;if(0<q.length&&!H.isLocked){for(var Y=H.offsetX,Z=H.offsetY,ce=0;ce<q.length;ce++){var ve=m.layoutNodes[m.idToIndex[q[ce]]];ve.offsetX+=Y,ve.offsetY+=Z,S[++O]=q[ce]}H.offsetX=0,H.offsetY=0}}},Yre=function(m,k){for(var S=0;S<m.nodeSize;S++){var M=m.layoutNodes[S];0<M.children.length&&(M.maxX=void 0,M.minX=void 0,M.maxY=void 0,M.minY=void 0)}for(var S=0;S<m.nodeSize;S++){var M=m.layoutNodes[S];if(!(0<M.children.length||M.isLocked)){var O=Xre(M.offsetX,M.offsetY,m.temperature);M.positionX+=O.x,M.positionY+=O.y,M.offsetX=0,M.offsetY=0,M.minX=M.positionX-M.width,M.maxX=M.positionX+M.width,M.minY=M.positionY-M.height,M.maxY=M.positionY+M.height,Qre(M,m)}}for(var S=0;S<m.nodeSize;S++){var M=m.layoutNodes[S];0<M.children.length&&!M.isLocked&&(M.positionX=(M.maxX+M.minX)/2,M.positionY=(M.maxY+M.minY)/2,M.width=M.maxX-M.minX,M.height=M.maxY-M.minY)}},Xre=function(m,k,S){var M=Math.sqrt(m*m+k*k);if(M>S)var O={x:S*m/M,y:S*k/M};else var O={x:m,y:k};return O},Qre=function x(m,k){var S=m.parentId;if(S!=null){var M=k.layoutNodes[k.idToIndex[S]],O=!1;if((M.maxX==null||m.maxX+M.padRight>M.maxX)&&(M.maxX=m.maxX+M.padRight,O=!0),(M.minX==null||m.minX-M.padLeft<M.minX)&&(M.minX=m.minX-M.padLeft,O=!0),(M.maxY==null||m.maxY+M.padBottom>M.maxY)&&(M.maxY=m.maxY+M.padBottom,O=!0),(M.minY==null||m.minY-M.padTop<M.minY)&&(M.minY=m.minY-M.padTop,O=!0),O)return x(M,k)}},Q$=function(m,k){for(var S=m.layoutNodes,M=[],O=0;O<S.length;O++){var N=S[O],$=N.cmptId,H=M[$]=M[$]||[];H.push(N)}for(var q=0,O=0;O<M.length;O++){var Y=M[O];if(Y){Y.x1=1/0,Y.x2=-1/0,Y.y1=1/0,Y.y2=-1/0;for(var Z=0;Z<Y.length;Z++){var ce=Y[Z];Y.x1=Math.min(Y.x1,ce.positionX-ce.width/2),Y.x2=Math.max(Y.x2,ce.positionX+ce.width/2),Y.y1=Math.min(Y.y1,ce.positionY-ce.height/2),Y.y2=Math.max(Y.y2,ce.positionY+ce.height/2)}Y.w=Y.x2-Y.x1,Y.h=Y.y2-Y.y1,q+=Y.w*Y.h}}M.sort(function(Fe,Re){return Re.w*Re.h-Fe.w*Fe.h});for(var ve=0,me=0,Le=0,_e=0,Te=Math.sqrt(q)*m.clientWidth/m.clientHeight,O=0;O<M.length;O++){var Y=M[O];if(Y){for(var Z=0;Z<Y.length;Z++){var ce=Y[Z];ce.isLocked||(ce.positionX+=ve-Y.x1,ce.positionY+=me-Y.y1)}ve+=Y.w+k.componentSpacing,Le+=Y.w+k.componentSpacing,_e=Math.max(_e,Y.h),Le>Te&&(me+=_e+k.componentSpacing,ve=0,Le=0,_e=0)}}},Jre={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(m){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(m,k){return!0},ready:void 0,stop:void 0,transform:function(m,k){return k}};function J$(x){this.options=xt({},Jre,x)}J$.prototype.run=function(){var x=this.options,m=x,k=x.cy,S=m.eles,M=S.nodes().not(":parent");m.sort&&(M=M.sort(m.sort));var O=Qd(m.boundingBox?m.boundingBox:{x1:0,y1:0,w:k.width(),h:k.height()});if(O.h===0||O.w===0)S.nodes().layoutPositions(this,m,function(kr){return{x:O.x1,y:O.y1}});else{var N=M.size(),$=Math.sqrt(N*O.h/O.w),H=Math.round($),q=Math.round(O.w/O.h*$),Y=function(Lr){if(Lr==null)return Math.min(H,q);var Er=Math.min(H,q);Er==H?H=Lr:q=Lr},Z=function(Lr){if(Lr==null)return Math.max(H,q);var Er=Math.max(H,q);Er==H?H=Lr:q=Lr},ce=m.rows,ve=m.cols!=null?m.cols:m.columns;if(ce!=null&&ve!=null)H=ce,q=ve;else if(ce!=null&&ve==null)H=ce,q=Math.ceil(N/H);else if(ce==null&&ve!=null)q=ve,H=Math.ceil(N/q);else if(q*H>N){var me=Y(),Le=Z();(me-1)*Le>=N?Y(me-1):(Le-1)*me>=N&&Z(Le-1)}else for(;q*H<N;){var _e=Y(),Te=Z();(Te+1)*_e>=N?Z(Te+1):Y(_e+1)}var Fe=O.w/q,Re=O.h/H;if(m.condense&&(Fe=0,Re=0),m.avoidOverlap)for(var Ve=0;Ve<M.length;Ve++){var ct=M[Ve],st=ct._private.position;(st.x==null||st.y==null)&&(st.x=0,st.y=0);var Ye=ct.layoutDimensions(m),vt=m.avoidOverlapPadding,Qe=Ye.w+vt,Lt=Ye.h+vt;Fe=Math.max(Fe,Qe),Re=Math.max(Re,Lt)}for(var Mt={},ut=function(Lr,Er){return!!Mt["c-"+Lr+"-"+Er]},Yt=function(Lr,Er){Mt["c-"+Lr+"-"+Er]=!0},St=0,_n=0,fn=function(){_n++,_n>=q&&(_n=0,St++)},Xt={},Dn=0;Dn<M.length;Dn++){var rr=M[Dn],mr=m.position(rr);if(mr&&(mr.row!==void 0||mr.col!==void 0)){var Pn={row:mr.row,col:mr.col};if(Pn.col===void 0)for(Pn.col=0;ut(Pn.row,Pn.col);)Pn.col++;else if(Pn.row===void 0)for(Pn.row=0;ut(Pn.row,Pn.col);)Pn.row++;Xt[rr.id()]=Pn,Yt(Pn.row,Pn.col)}}var gr=function(Lr,Er){var Ir,Kn;if(Lr.locked()||Lr.isParent())return!1;var pr=Xt[Lr.id()];if(pr)Ir=pr.col*Fe+Fe/2+O.x1,Kn=pr.row*Re+Re/2+O.y1;else{for(;ut(St,_n);)fn();Ir=_n*Fe+Fe/2+O.x1,Kn=St*Re+Re/2+O.y1,Yt(St,_n),fn()}return{x:Ir,y:Kn}};M.layoutPositions(this,m,gr)}return this};var Zre={ready:function(){},stop:function(){}};function HI(x){this.options=xt({},Zre,x)}HI.prototype.run=function(){var x=this.options,m=x.eles,k=this;return x.cy,k.emit("layoutstart"),m.nodes().positions(function(){return{x:0,y:0}}),k.one("layoutready",x.ready),k.emit("layoutready"),k.one("layoutstop",x.stop),k.emit("layoutstop"),this},HI.prototype.stop=function(){return this};var eie={positions:void 0,zoom:void 0,pan:void 0,fit:!0,padding:30,spacingFactor:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(m,k){return!0},ready:void 0,stop:void 0,transform:function(m,k){return k}};function Z$(x){this.options=xt({},eie,x)}Z$.prototype.run=function(){var x=this.options,m=x.eles,k=m.nodes(),S=ae(x.positions);function M(O){if(x.positions==null)return wZ(O.position());if(S)return x.positions(O);var N=x.positions[O._private.data.id];return N??null}return k.layoutPositions(this,x,function(O,N){var $=M(O);return O.locked()||$==null?!1:$}),this};var tie={fit:!0,padding:30,boundingBox:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(m,k){return!0},ready:void 0,stop:void 0,transform:function(m,k){return k}};function ez(x){this.options=xt({},tie,x)}ez.prototype.run=function(){var x=this.options,m=x.cy,k=x.eles,S=Qd(x.boundingBox?x.boundingBox:{x1:0,y1:0,w:m.width(),h:m.height()}),M=function(N,$){return{x:S.x1+Math.round(Math.random()*S.w),y:S.y1+Math.round(Math.random()*S.h)}};return k.nodes().layoutPositions(this,x,M),this};var nie=[{name:"breadthfirst",impl:G$},{name:"circle",impl:K$},{name:"concentric",impl:W$},{name:"cose",impl:US},{name:"grid",impl:J$},{name:"null",impl:HI},{name:"preset",impl:Z$},{name:"random",impl:ez}];function tz(x){this.options=x,this.notifications=0}var nz=function(){},rz=function(){throw new Error("A headless instance can not render images")};tz.prototype={recalculateRenderedStyle:nz,notify:function(){this.notifications++},init:nz,isHeadless:function(){return!0},png:rz,jpg:rz};var UI={};UI.arrowShapeWidth=.3,UI.registerArrowShapes=function(){var x=this.arrowShapes={},m=this,k=function(q,Y,Z,ce,ve,me,Le){var _e=ve.x-Z/2-Le,Te=ve.x+Z/2+Le,Fe=ve.y-Z/2-Le,Re=ve.y+Z/2+Le,Ve=_e<=q&&q<=Te&&Fe<=Y&&Y<=Re;return Ve},S=function(q,Y,Z,ce,ve){var me=q*Math.cos(ce)-Y*Math.sin(ce),Le=q*Math.sin(ce)+Y*Math.cos(ce),_e=me*Z,Te=Le*Z,Fe=_e+ve.x,Re=Te+ve.y;return{x:Fe,y:Re}},M=function(q,Y,Z,ce){for(var ve=[],me=0;me<q.length;me+=2){var Le=q[me],_e=q[me+1];ve.push(S(Le,_e,Y,Z,ce))}return ve},O=function(q){for(var Y=[],Z=0;Z<q.length;Z++){var ce=q[Z];Y.push(ce.x,ce.y)}return Y},N=function(q){return q.pstyle("width").pfValue*q.pstyle("arrow-scale").pfValue*2},$=function(q,Y){ge(Y)&&(Y=x[Y]),x[q]=xt({name:q,points:[-.15,-.3,.15,-.3,.15,.3,-.15,.3],collide:function(ce,ve,me,Le,_e,Te){var Fe=O(M(this.points,me+2*Te,Le,_e)),Re=Jd(ce,ve,Fe);return Re},roughCollide:k,draw:function(ce,ve,me,Le){var _e=M(this.points,ve,me,Le);m.arrowShapeImpl("polygon")(ce,_e)},spacing:function(ce){return 0},gap:N},Y)};$("none",{collide:Z3,roughCollide:Z3,draw:lI,spacing:Gp,gap:Gp}),$("triangle",{points:[-.15,-.3,0,0,.15,-.3]}),$("arrow","triangle"),$("triangle-backcurve",{points:x.triangle.points,controlPoint:[0,-.15],roughCollide:k,draw:function(q,Y,Z,ce,ve){var me=M(this.points,Y,Z,ce),Le=this.controlPoint,_e=S(Le[0],Le[1],Y,Z,ce);m.arrowShapeImpl(this.name)(q,me,_e)},gap:function(q){return N(q)*.8}}),$("triangle-tee",{points:[0,0,.15,-.3,-.15,-.3,0,0],pointsTee:[-.15,-.4,-.15,-.5,.15,-.5,.15,-.4],collide:function(q,Y,Z,ce,ve,me,Le){var _e=O(M(this.points,Z+2*Le,ce,ve)),Te=O(M(this.pointsTee,Z+2*Le,ce,ve)),Fe=Jd(q,Y,_e)||Jd(q,Y,Te);return Fe},draw:function(q,Y,Z,ce,ve){var me=M(this.points,Y,Z,ce),Le=M(this.pointsTee,Y,Z,ce);m.arrowShapeImpl(this.name)(q,me,Le)}}),$("circle-triangle",{radius:.15,pointsTr:[0,-.15,.15,-.45,-.15,-.45,0,-.15],collide:function(q,Y,Z,ce,ve,me,Le){var _e=ve,Te=Math.pow(_e.x-q,2)+Math.pow(_e.y-Y,2)<=Math.pow((Z+2*Le)*this.radius,2),Fe=O(M(this.points,Z+2*Le,ce,ve));return Jd(q,Y,Fe)||Te},draw:function(q,Y,Z,ce,ve){var me=M(this.pointsTr,Y,Z,ce);m.arrowShapeImpl(this.name)(q,me,ce.x,ce.y,this.radius*Y)},spacing:function(q){return m.getArrowWidth(q.pstyle("width").pfValue,q.pstyle("arrow-scale").value)*this.radius}}),$("triangle-cross",{points:[0,0,.15,-.3,-.15,-.3,0,0],baseCrossLinePts:[-.15,-.4,-.15,-.4,.15,-.4,.15,-.4],crossLinePts:function(q,Y){var Z=this.baseCrossLinePts.slice(),ce=Y/q,ve=3,me=5;return Z[ve]=Z[ve]-ce,Z[me]=Z[me]-ce,Z},collide:function(q,Y,Z,ce,ve,me,Le){var _e=O(M(this.points,Z+2*Le,ce,ve)),Te=O(M(this.crossLinePts(Z,me),Z+2*Le,ce,ve)),Fe=Jd(q,Y,_e)||Jd(q,Y,Te);return Fe},draw:function(q,Y,Z,ce,ve){var me=M(this.points,Y,Z,ce),Le=M(this.crossLinePts(Y,ve),Y,Z,ce);m.arrowShapeImpl(this.name)(q,me,Le)}}),$("vee",{points:[-.15,-.3,0,0,.15,-.3,0,-.15],gap:function(q){return N(q)*.525}}),$("circle",{radius:.15,collide:function(q,Y,Z,ce,ve,me,Le){var _e=ve,Te=Math.pow(_e.x-q,2)+Math.pow(_e.y-Y,2)<=Math.pow((Z+2*Le)*this.radius,2);return Te},draw:function(q,Y,Z,ce,ve){m.arrowShapeImpl(this.name)(q,ce.x,ce.y,this.radius*Y)},spacing:function(q){return m.getArrowWidth(q.pstyle("width").pfValue,q.pstyle("arrow-scale").value)*this.radius}}),$("tee",{points:[-.15,0,-.15,-.1,.15,-.1,.15,0],spacing:function(q){return 1},gap:function(q){return 1}}),$("square",{points:[-.15,0,.15,0,.15,-.3,-.15,-.3]}),$("diamond",{points:[-.15,-.15,0,-.3,.15,-.15,0,0],gap:function(q){return q.pstyle("width").pfValue*q.pstyle("arrow-scale").value}}),$("chevron",{points:[0,0,-.15,-.15,-.1,-.2,0,-.1,.1,-.2,.15,-.15],gap:function(q){return .95*q.pstyle("width").pfValue*q.pstyle("arrow-scale").value}})};var x5={};x5.projectIntoViewport=function(x,m){var k=this.cy,S=this.findContainerClientCoords(),M=S[0],O=S[1],N=S[4],$=k.pan(),H=k.zoom(),q=((x-M)/N-$.x)/H,Y=((m-O)/N-$.y)/H;return[q,Y]},x5.findContainerClientCoords=function(){if(this.containerBB)return this.containerBB;var x=this.container,m=x.getBoundingClientRect(),k=this.cy.window().getComputedStyle(x),S=function(Te){return parseFloat(k.getPropertyValue(Te))},M={left:S("padding-left"),right:S("padding-right"),top:S("padding-top"),bottom:S("padding-bottom")},O={left:S("border-left-width"),right:S("border-right-width"),top:S("border-top-width"),bottom:S("border-bottom-width")},N=x.clientWidth,$=x.clientHeight,H=M.left+M.right,q=M.top+M.bottom,Y=O.left+O.right,Z=m.width/(N+Y),ce=N-H,ve=$-q,me=m.left+M.left+O.left,Le=m.top+M.top+O.top;return this.containerBB=[me,Le,ce,ve,Z]},x5.invalidateContainerClientCoordsCache=function(){this.containerBB=null},x5.findNearestElement=function(x,m,k,S){return this.findNearestElements(x,m,k,S)[0]},x5.findNearestElements=function(x,m,k,S){var M=this,O=this,N=O.getCachedZSortedEles(),$=[],H=O.cy.zoom(),q=O.cy.hasCompoundNodes(),Y=(S?24:8)/H,Z=(S?8:2)/H,ce=(S?8:2)/H,ve=1/0,me,Le;k&&(N=N.interactive);function _e(Ye,vt){if(Ye.isNode()){if(Le)return;Le=Ye,$.push(Ye)}if(Ye.isEdge()&&(vt==null||vt<ve))if(me){if(me.pstyle("z-compound-depth").value===Ye.pstyle("z-compound-depth").value&&me.pstyle("z-compound-depth").value===Ye.pstyle("z-compound-depth").value){for(var Qe=0;Qe<$.length;Qe++)if($[Qe].isEdge()){$[Qe]=Ye,me=Ye,ve=vt??ve;break}}}else $.push(Ye),me=Ye,ve=vt??ve}function Te(Ye){var vt=Ye.outerWidth()+2*Z,Qe=Ye.outerHeight()+2*Z,Lt=vt/2,Mt=Qe/2,ut=Ye.position();if(ut.x-Lt<=x&&x<=ut.x+Lt&&ut.y-Mt<=m&&m<=ut.y+Mt){var Yt=O.nodeShapes[M.getNodeShape(Ye)];if(Yt.checkPoint(x,m,0,vt,Qe,ut.x,ut.y))return _e(Ye,0),!0}}function Fe(Ye){var vt=Ye._private,Qe=vt.rscratch,Lt=Ye.pstyle("width").pfValue,Mt=Ye.pstyle("arrow-scale").value,ut=Lt/2+Y,Yt=ut*ut,St=ut*2,Dn=vt.source,rr=vt.target,_n;if(Qe.edgeType==="segments"||Qe.edgeType==="straight"||Qe.edgeType==="haystack"){for(var fn=Qe.allpts,Xt=0;Xt+3<fn.length;Xt+=2)if(IZ(x,m,fn[Xt],fn[Xt+1],fn[Xt+2],fn[Xt+3],St)&&Yt>(_n=FZ(x,m,fn[Xt],fn[Xt+1],fn[Xt+2],fn[Xt+3])))return _e(Ye,_n),!0}else if(Qe.edgeType==="bezier"||Qe.edgeType==="multibezier"||Qe.edgeType==="self"||Qe.edgeType==="compound"){for(var fn=Qe.allpts,Xt=0;Xt+5<Qe.allpts.length;Xt+=4)if(OZ(x,m,fn[Xt],fn[Xt+1],fn[Xt+2],fn[Xt+3],fn[Xt+4],fn[Xt+5],St)&&Yt>(_n=BZ(x,m,fn[Xt],fn[Xt+1],fn[Xt+2],fn[Xt+3],fn[Xt+4],fn[Xt+5])))return _e(Ye,_n),!0}for(var Dn=Dn||vt.source,rr=rr||vt.target,mr=M.getArrowWidth(Lt,Mt),Pn=[{name:"source",x:Qe.arrowStartX,y:Qe.arrowStartY,angle:Qe.srcArrowAngle},{name:"target",x:Qe.arrowEndX,y:Qe.arrowEndY,angle:Qe.tgtArrowAngle},{name:"mid-source",x:Qe.midX,y:Qe.midY,angle:Qe.midsrcArrowAngle},{name:"mid-target",x:Qe.midX,y:Qe.midY,angle:Qe.midtgtArrowAngle}],Xt=0;Xt<Pn.length;Xt++){var gr=Pn[Xt],kr=O.arrowShapes[Ye.pstyle(gr.name+"-arrow-shape").value],Lr=Ye.pstyle("width").pfValue;if(kr.roughCollide(x,m,mr,gr.angle,{x:gr.x,y:gr.y},Lr,Y)&&kr.collide(x,m,mr,gr.angle,{x:gr.x,y:gr.y},Lr,Y))return _e(Ye),!0}q&&$.length>0&&(Te(Dn),Te(rr))}function Re(Ye,vt,Qe){return nb(Ye,vt,Qe)}function Ve(Ye,vt){var Qe=Ye._private,Lt=ce,Mt;vt?Mt=vt+"-":Mt="",Ye.boundingBox();var ut=Qe.labelBounds[vt||"main"],Yt=Ye.pstyle(Mt+"label").value,St=Ye.pstyle("text-events").strValue==="yes";if(!(!St||!Yt)){var _n=Re(Qe.rscratch,"labelX",vt),fn=Re(Qe.rscratch,"labelY",vt),Xt=Re(Qe.rscratch,"labelAngle",vt),Dn=Ye.pstyle(Mt+"text-margin-x").pfValue,rr=Ye.pstyle(Mt+"text-margin-y").pfValue,mr=ut.x1-Lt-Dn,Pn=ut.x2+Lt-Dn,gr=ut.y1-Lt-rr,kr=ut.y2+Lt-rr;if(Xt){var Lr=Math.cos(Xt),Er=Math.sin(Xt),Ir=function(va,Di){return va=va-_n,Di=Di-fn,{x:va*Lr-Di*Er+_n,y:va*Er+Di*Lr+fn}},Kn=Ir(mr,gr),pr=Ir(mr,kr),Cr=Ir(Pn,gr),Or=Ir(Pn,kr),_i=[Kn.x+Dn,Kn.y+rr,Cr.x+Dn,Cr.y+rr,Or.x+Dn,Or.y+rr,pr.x+Dn,pr.y+rr];if(Jd(x,m,_i))return _e(Ye),!0}else if(t8(ut,x,m))return _e(Ye),!0}}for(var ct=N.length-1;ct>=0;ct--){var st=N[ct];st.isNode()?Te(st)||Ve(st):Fe(st)||Ve(st)||Ve(st,"source")||Ve(st,"target")}return $},x5.getAllInBox=function(x,m,k,S){var M=this.getCachedZSortedEles().interactive,O=[],N=Math.min(x,k),$=Math.max(x,k),H=Math.min(m,S),q=Math.max(m,S);x=N,k=$,m=H,S=q;for(var Y=Qd({x1:x,y1:m,x2:k,y2:S}),Z=0;Z<M.length;Z++){var ce=M[Z];if(ce.isNode()){var ve=ce,me=ve.boundingBox({includeNodes:!0,includeEdges:!1,includeLabels:!1});dI(Y,me)&&!kj(me,Y)&&O.push(ve)}else{var Le=ce,_e=Le._private,Te=_e.rscratch;if(Te.startX!=null&&Te.startY!=null&&!t8(Y,Te.startX,Te.startY)||Te.endX!=null&&Te.endY!=null&&!t8(Y,Te.endX,Te.endY))continue;if(Te.edgeType==="bezier"||Te.edgeType==="multibezier"||Te.edgeType==="self"||Te.edgeType==="compound"||Te.edgeType==="segments"||Te.edgeType==="haystack"){for(var Fe=_e.rstyle.bezierPts||_e.rstyle.linePts||_e.rstyle.haystackPts,Re=!0,Ve=0;Ve<Fe.length;Ve++)if(!DZ(Y,Fe[Ve])){Re=!1;break}Re&&O.push(Le)}else(Te.edgeType==="haystack"||Te.edgeType==="straight")&&O.push(Le)}}return O};var GS={};GS.calculateArrowAngles=function(x){var m=x._private.rscratch,k=m.edgeType==="haystack",S=m.edgeType==="bezier",M=m.edgeType==="multibezier",O=m.edgeType==="segments",N=m.edgeType==="compound",$=m.edgeType==="self",H,q,Y,Z,ce,ve,Te,Fe;if(k?(Y=m.haystackPts[0],Z=m.haystackPts[1],ce=m.haystackPts[2],ve=m.haystackPts[3]):(Y=m.arrowStartX,Z=m.arrowStartY,ce=m.arrowEndX,ve=m.arrowEndY),Te=m.midX,Fe=m.midY,O)H=Y-m.segpts[0],q=Z-m.segpts[1];else if(M||N||$||S){var me=m.allpts,Le=e0(me[0],me[2],me[4],.1),_e=e0(me[1],me[3],me[5],.1);H=Y-Le,q=Z-_e}else H=Y-Te,q=Z-Fe;m.srcArrowAngle=fS(H,q);var Te=m.midX,Fe=m.midY;if(k&&(Te=(Y+ce)/2,Fe=(Z+ve)/2),H=ce-Y,q=ve-Z,O){var me=m.allpts;if(me.length/2%2===0){var Re=me.length/2,Ve=Re-2;H=me[Re]-me[Ve],q=me[Re+1]-me[Ve+1]}else{var Re=me.length/2-1,Ve=Re-2,ct=Re+2;H=me[Re]-me[Ve],q=me[Re+1]-me[Ve+1]}}else if(M||N||$){var me=m.allpts,st=m.ctrlpts,Ye,vt,Qe,Lt;if(st.length/2%2===0){var Mt=me.length/2-1,ut=Mt+2,Yt=ut+2;Ye=e0(me[Mt],me[ut],me[Yt],0),vt=e0(me[Mt+1],me[ut+1],me[Yt+1],0),Qe=e0(me[Mt],me[ut],me[Yt],1e-4),Lt=e0(me[Mt+1],me[ut+1],me[Yt+1],1e-4)}else{var ut=me.length/2-1,Mt=ut-2,Yt=ut+2;Ye=e0(me[Mt],me[ut],me[Yt],.4999),vt=e0(me[Mt+1],me[ut+1],me[Yt+1],.4999),Qe=e0(me[Mt],me[ut],me[Yt],.5),Lt=e0(me[Mt+1],me[ut+1],me[Yt+1],.5)}H=Qe-Ye,q=Lt-vt}if(m.midtgtArrowAngle=fS(H,q),m.midDispX=H,m.midDispY=q,H*=-1,q*=-1,O){var me=m.allpts;if(me.length/2%2!==0){var Re=me.length/2-1,ct=Re+2;H=-(me[ct]-me[Re]),q=-(me[ct+1]-me[Re+1])}}if(m.midsrcArrowAngle=fS(H,q),O)H=ce-m.segpts[m.segpts.length-2],q=ve-m.segpts[m.segpts.length-1];else if(M||N||$||S){var me=m.allpts,St=me.length,Le=e0(me[St-6],me[St-4],me[St-2],.9),_e=e0(me[St-5],me[St-3],me[St-1],.9);H=ce-Le,q=ve-_e}else H=ce-Te,q=ve-Fe;m.tgtArrowAngle=fS(H,q)},GS.getArrowWidth=GS.getArrowHeight=function(x,m){var k=this.arrowWidthCache=this.arrowWidthCache||{},S=k[x+", "+m];return S||(S=Math.max(Math.pow(x*13.37,.9),29)*m,k[x+", "+m]=S,S)};var S1={};S1.findMidptPtsEtc=function(x,m){var k=m.posPts,S=m.intersectionPts,M=m.vectorNormInverse,O,N=x.pstyle("source-endpoint"),$=x.pstyle("target-endpoint"),H=N.units!=null&&$.units!=null,q=function(ct,st,Ye,vt){var Qe=vt-st,Lt=Ye-ct,Mt=Math.sqrt(Lt*Lt+Qe*Qe);return{x:-Qe/Mt,y:Lt/Mt}},Y=x.pstyle("edge-distances").value;switch(Y){case"node-position":O=k;break;case"intersection":O=S;break;case"endpoints":{if(H){var Z=this.manualEndptToPx(x.source()[0],N),ce=y(Z,2),ve=ce[0],me=ce[1],Le=this.manualEndptToPx(x.target()[0],$),_e=y(Le,2),Te=_e[0],Fe=_e[1],Re={x1:ve,y1:me,x2:Te,y2:Fe};M=q(ve,me,Te,Fe),O=Re}else lu("Edge ".concat(x.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),O=S;break}}return{midptPts:O,vectorNormInverse:M}},S1.findHaystackPoints=function(x){for(var m=0;m<x.length;m++){var k=x[m],S=k._private,M=S.rscratch;if(!M.haystack){var O=Math.random()*2*Math.PI;M.source={x:Math.cos(O),y:Math.sin(O)},O=Math.random()*2*Math.PI,M.target={x:Math.cos(O),y:Math.sin(O)}}var N=S.source,$=S.target,H=N.position(),q=$.position(),Y=N.width(),Z=$.width(),ce=N.height(),ve=$.height(),me=k.pstyle("haystack-radius").value,Le=me/2;M.haystackPts=M.allpts=[M.source.x*Y*Le+H.x,M.source.y*ce*Le+H.y,M.target.x*Z*Le+q.x,M.target.y*ve*Le+q.y],M.midX=(M.allpts[0]+M.allpts[2])/2,M.midY=(M.allpts[1]+M.allpts[3])/2,M.edgeType="haystack",M.haystack=!0,this.storeEdgeProjections(k),this.calculateArrowAngles(k),this.recalculateEdgeLabelProjections(k),this.calculateLabelAngles(k)}},S1.findSegmentsPoints=function(x,m){var k=x._private.rscratch,S=x.pstyle("segment-weights"),M=x.pstyle("segment-distances"),O=Math.min(S.pfValue.length,M.pfValue.length);k.edgeType="segments",k.segpts=[];for(var N=0;N<O;N++){var $=S.pfValue[N],H=M.pfValue[N],q=1-$,Y=$,Z=this.findMidptPtsEtc(x,m),ce=Z.midptPts,ve=Z.vectorNormInverse,me={x:ce.x1*q+ce.x2*Y,y:ce.y1*q+ce.y2*Y};k.segpts.push(me.x+ve.x*H,me.y+ve.y*H)}},S1.findLoopPoints=function(x,m,k,S){var M=x._private.rscratch,O=m.dirCounts,N=m.srcPos,$=x.pstyle("control-point-distances"),H=$?$.pfValue[0]:void 0,q=x.pstyle("loop-direction").pfValue,Y=x.pstyle("loop-sweep").pfValue,Z=x.pstyle("control-point-step-size").pfValue;M.edgeType="self";var ce=k,ve=Z;S&&(ce=0,ve=H);var me=q-Math.PI/2,Le=me-Y/2,_e=me+Y/2,Te=q+"_"+Y;ce=O[Te]===void 0?O[Te]=0:++O[Te],M.ctrlpts=[N.x+Math.cos(Le)*1.4*ve*(ce/3+1),N.y+Math.sin(Le)*1.4*ve*(ce/3+1),N.x+Math.cos(_e)*1.4*ve*(ce/3+1),N.y+Math.sin(_e)*1.4*ve*(ce/3+1)]},S1.findCompoundLoopPoints=function(x,m,k,S){var M=x._private.rscratch;M.edgeType="compound";var O=m.srcPos,N=m.tgtPos,$=m.srcW,H=m.srcH,q=m.tgtW,Y=m.tgtH,Z=x.pstyle("control-point-step-size").pfValue,ce=x.pstyle("control-point-distances"),ve=ce?ce.pfValue[0]:void 0,me=k,Le=Z;S&&(me=0,Le=ve);var _e=50,Te={x:O.x-$/2,y:O.y-H/2},Fe={x:N.x-q/2,y:N.y-Y/2},Re={x:Math.min(Te.x,Fe.x),y:Math.min(Te.y,Fe.y)},Ve=.5,ct=Math.max(Ve,Math.log($*.01)),st=Math.max(Ve,Math.log(q*.01));M.ctrlpts=[Re.x,Re.y-(1+Math.pow(_e,1.12)/100)*Le*(me/3+1)*ct,Re.x-(1+Math.pow(_e,1.12)/100)*Le*(me/3+1)*st,Re.y]},S1.findStraightEdgePoints=function(x){x._private.rscratch.edgeType="straight"},S1.findBezierPoints=function(x,m,k,S,M){var O=x._private.rscratch,N=x.pstyle("control-point-step-size").pfValue,$=x.pstyle("control-point-distances"),H=x.pstyle("control-point-weights"),q=$&&H?Math.min($.value.length,H.value.length):1,Y=$?$.pfValue[0]:void 0,Z=H.value[0],ce=S;O.edgeType=ce?"multibezier":"bezier",O.ctrlpts=[];for(var ve=0;ve<q;ve++){var me=(.5-m.eles.length/2+k)*N*(M?-1:1),Le=void 0,_e=wj(me);ce&&(Y=$?$.pfValue[ve]:N,Z=H.value[ve]),S?Le=Y:Le=Y!==void 0?_e*Y:void 0;var Te=Le!==void 0?Le:me,Fe=1-Z,Re=Z,Ve=this.findMidptPtsEtc(x,m),ct=Ve.midptPts,st=Ve.vectorNormInverse,Ye={x:ct.x1*Fe+ct.x2*Re,y:ct.y1*Fe+ct.y2*Re};O.ctrlpts.push(Ye.x+st.x*Te,Ye.y+st.y*Te)}},S1.findTaxiPoints=function(x,m){var k=x._private.rscratch;k.edgeType="segments";var S="vertical",M="horizontal",O="leftward",N="rightward",$="downward",H="upward",q="auto",Y=m.posPts,Z=m.srcW,ce=m.srcH,ve=m.tgtW,me=m.tgtH,Le=x.pstyle("edge-distances").value,_e=Le!=="node-position",Te=x.pstyle("taxi-direction").value,Fe=Te,Re=x.pstyle("taxi-turn"),Ve=Re.units==="%",ct=Re.pfValue,st=ct<0,Ye=x.pstyle("taxi-turn-min-distance").pfValue,vt=_e?(Z+ve)/2:0,Qe=_e?(ce+me)/2:0,Lt=Y.x2-Y.x1,Mt=Y.y2-Y.y1,ut=function(vr,Cs){return vr>0?Math.max(vr-Cs,0):Math.min(vr+Cs,0)},Yt=ut(Lt,vt),St=ut(Mt,Qe),_n=!1;Fe===q?Te=Math.abs(Yt)>Math.abs(St)?M:S:Fe===H||Fe===$?(Te=S,_n=!0):(Fe===O||Fe===N)&&(Te=M,_n=!0);var fn=Te===S,Xt=fn?St:Yt,Dn=fn?Mt:Lt,rr=wj(Dn),mr=!1;!(_n&&(Ve||st))&&(Fe===$&&Dn<0||Fe===H&&Dn>0||Fe===O&&Dn>0||Fe===N&&Dn<0)&&(rr*=-1,Xt=rr*Math.abs(Xt),mr=!0);var Pn;if(Ve){var gr=ct<0?1+ct:ct;Pn=gr*Xt}else{var kr=ct<0?Xt:0;Pn=kr+ct*rr}var Lr=function(vr){return Math.abs(vr)<Ye||Math.abs(vr)>=Math.abs(Xt)},Er=Lr(Pn),Ir=Lr(Math.abs(Xt)-Math.abs(Pn)),Kn=Er||Ir;if(Kn&&!mr)if(fn){var pr=Math.abs(Dn)<=ce/2,Cr=Math.abs(Lt)<=ve/2;if(pr){var Or=(Y.x1+Y.x2)/2,_i=Y.y1,xs=Y.y2;k.segpts=[Or,_i,Or,xs]}else if(Cr){var va=(Y.y1+Y.y2)/2,Di=Y.x1,pi=Y.x2;k.segpts=[Di,va,pi,va]}else k.segpts=[Y.x1,Y.y2]}else{var fs=Math.abs(Dn)<=Z/2,Fs=Math.abs(Mt)<=me/2;if(fs){var ks=(Y.y1+Y.y2)/2,Rs=Y.x1,vo=Y.x2;k.segpts=[Rs,ks,vo,ks]}else if(Fs){var ja=(Y.x1+Y.x2)/2,Ma=Y.y1,Fo=Y.y2;k.segpts=[ja,Ma,ja,Fo]}else k.segpts=[Y.x2,Y.y1]}else if(fn){var er=Y.y1+Pn+(_e?ce/2*rr:0),K=Y.x1,Qn=Y.x2;k.segpts=[K,er,Qn,er]}else{var xr=Y.x1+Pn+(_e?Z/2*rr:0),ur=Y.y1,Ut=Y.y2;k.segpts=[xr,ur,xr,Ut]}},S1.tryToCorrectInvalidPoints=function(x,m){var k=x._private.rscratch;if(k.edgeType==="bezier"){var S=m.srcPos,M=m.tgtPos,O=m.srcW,N=m.srcH,$=m.tgtW,H=m.tgtH,q=m.srcShape,Y=m.tgtShape,Z=!X(k.startX)||!X(k.startY),ce=!X(k.arrowStartX)||!X(k.arrowStartY),ve=!X(k.endX)||!X(k.endY),me=!X(k.arrowEndX)||!X(k.arrowEndY),Le=3,_e=this.getArrowWidth(x.pstyle("width").pfValue,x.pstyle("arrow-scale").value)*this.arrowShapeWidth,Te=Le*_e,Fe=d5({x:k.ctrlpts[0],y:k.ctrlpts[1]},{x:k.startX,y:k.startY}),Re=Fe<Te,Ve=d5({x:k.ctrlpts[0],y:k.ctrlpts[1]},{x:k.endX,y:k.endY}),ct=Ve<Te,st=!1;if(Z||ce||Re){st=!0;var Ye={x:k.ctrlpts[0]-S.x,y:k.ctrlpts[1]-S.y},vt=Math.sqrt(Ye.x*Ye.x+Ye.y*Ye.y),Qe={x:Ye.x/vt,y:Ye.y/vt},Lt=Math.max(O,N),Mt={x:k.ctrlpts[0]+Qe.x*2*Lt,y:k.ctrlpts[1]+Qe.y*2*Lt},ut=q.intersectLine(S.x,S.y,O,N,Mt.x,Mt.y,0);Re?(k.ctrlpts[0]=k.ctrlpts[0]+Qe.x*(Te-Fe),k.ctrlpts[1]=k.ctrlpts[1]+Qe.y*(Te-Fe)):(k.ctrlpts[0]=ut[0]+Qe.x*Te,k.ctrlpts[1]=ut[1]+Qe.y*Te)}if(ve||me||ct){st=!0;var Yt={x:k.ctrlpts[0]-M.x,y:k.ctrlpts[1]-M.y},St=Math.sqrt(Yt.x*Yt.x+Yt.y*Yt.y),_n={x:Yt.x/St,y:Yt.y/St},fn=Math.max(O,N),Xt={x:k.ctrlpts[0]+_n.x*2*fn,y:k.ctrlpts[1]+_n.y*2*fn},Dn=Y.intersectLine(M.x,M.y,$,H,Xt.x,Xt.y,0);ct?(k.ctrlpts[0]=k.ctrlpts[0]+_n.x*(Te-Ve),k.ctrlpts[1]=k.ctrlpts[1]+_n.y*(Te-Ve)):(k.ctrlpts[0]=Dn[0]+_n.x*Te,k.ctrlpts[1]=Dn[1]+_n.y*Te)}st&&this.findEndpoints(x)}},S1.storeAllpts=function(x){var m=x._private.rscratch;if(m.edgeType==="multibezier"||m.edgeType==="bezier"||m.edgeType==="self"||m.edgeType==="compound"){m.allpts=[],m.allpts.push(m.startX,m.startY);for(var k=0;k+1<m.ctrlpts.length;k+=2)m.allpts.push(m.ctrlpts[k],m.ctrlpts[k+1]),k+3<m.ctrlpts.length&&m.allpts.push((m.ctrlpts[k]+m.ctrlpts[k+2])/2,(m.ctrlpts[k+1]+m.ctrlpts[k+3])/2);m.allpts.push(m.endX,m.endY);var S,M;m.ctrlpts.length/2%2===0?(S=m.allpts.length/2-1,m.midX=m.allpts[S],m.midY=m.allpts[S+1]):(S=m.allpts.length/2-3,M=.5,m.midX=e0(m.allpts[S],m.allpts[S+2],m.allpts[S+4],M),m.midY=e0(m.allpts[S+1],m.allpts[S+3],m.allpts[S+5],M))}else if(m.edgeType==="straight")m.allpts=[m.startX,m.startY,m.endX,m.endY],m.midX=(m.startX+m.endX+m.arrowStartX+m.arrowEndX)/4,m.midY=(m.startY+m.endY+m.arrowStartY+m.arrowEndY)/4;else if(m.edgeType==="segments")if(m.allpts=[],m.allpts.push(m.startX,m.startY),m.allpts.push.apply(m.allpts,m.segpts),m.allpts.push(m.endX,m.endY),m.segpts.length%4===0){var O=m.segpts.length/2,N=O-2;m.midX=(m.segpts[N]+m.segpts[O])/2,m.midY=(m.segpts[N+1]+m.segpts[O+1])/2}else{var $=m.segpts.length/2-1;m.midX=m.segpts[$],m.midY=m.segpts[$+1]}},S1.checkForInvalidEdgeWarning=function(x){var m=x[0]._private.rscratch;m.nodesOverlap||X(m.startX)&&X(m.startY)&&X(m.endX)&&X(m.endY)?m.loggedErr=!1:m.loggedErr||(m.loggedErr=!0,lu("Edge `"+x.id()+"` has invalid endpoints and so it is impossible to draw. Adjust your edge style (e.g. control points) accordingly or use an alternative edge type. This is expected behaviour when the source node and the target node overlap."))},S1.findEdgeControlPoints=function(x){var m=this;if(!(!x||x.length===0)){for(var k=this,S=k.cy,M=S.hasCompoundNodes(),O={map:new _m,get:function(Ye){var vt=this.map.get(Ye[0]);return vt!=null?vt.get(Ye[1]):null},set:function(Ye,vt){var Qe=this.map.get(Ye[0]);Qe==null&&(Qe=new _m,this.map.set(Ye[0],Qe)),Qe.set(Ye[1],vt)}},N=[],$=[],H=0;H<x.length;H++){var q=x[H],Y=q._private,Z=q.pstyle("curve-style").value;if(!(q.removed()||!q.takesUpSpace())){if(Z==="haystack"){$.push(q);continue}var ce=Z==="unbundled-bezier"||Z==="segments"||Z==="straight"||Z==="straight-triangle"||Z==="taxi",ve=Z==="unbundled-bezier"||Z==="bezier",me=Y.source,Le=Y.target,_e=me.poolIndex(),Te=Le.poolIndex(),Fe=[_e,Te].sort(),Re=O.get(Fe);Re==null&&(Re={eles:[]},O.set(Fe,Re),N.push(Fe)),Re.eles.push(q),ce&&(Re.hasUnbundled=!0),ve&&(Re.hasBezier=!0)}}for(var Ve=function(Ye){var vt=N[Ye],Qe=O.get(vt),Lt=void 0;if(!Qe.hasUnbundled){var Mt=Qe.eles[0].parallelEdges().filter(function(Fo){return Fo.isBundledBezier()});uS(Qe.eles),Mt.forEach(function(Fo){return Qe.eles.push(Fo)}),Qe.eles.sort(function(Fo,er){return Fo.poolIndex()-er.poolIndex()})}var ut=Qe.eles[0],Yt=ut.source(),St=ut.target();if(Yt.poolIndex()>St.poolIndex()){var _n=Yt;Yt=St,St=_n}var fn=Qe.srcPos=Yt.position(),Xt=Qe.tgtPos=St.position(),Dn=Qe.srcW=Yt.outerWidth(),rr=Qe.srcH=Yt.outerHeight(),mr=Qe.tgtW=St.outerWidth(),Pn=Qe.tgtH=St.outerHeight(),gr=Qe.srcShape=k.nodeShapes[m.getNodeShape(Yt)],kr=Qe.tgtShape=k.nodeShapes[m.getNodeShape(St)];Qe.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var Lr=0;Lr<Qe.eles.length;Lr++){var Er=Qe.eles[Lr],Ir=Er[0]._private.rscratch,Kn=Er.pstyle("curve-style").value,pr=Kn==="unbundled-bezier"||Kn==="segments"||Kn==="taxi",Cr=!Yt.same(Er.source());if(!Qe.calculatedIntersection&&Yt!==St&&(Qe.hasBezier||Qe.hasUnbundled)){Qe.calculatedIntersection=!0;var Or=gr.intersectLine(fn.x,fn.y,Dn,rr,Xt.x,Xt.y,0),_i=Qe.srcIntn=Or,xs=kr.intersectLine(Xt.x,Xt.y,mr,Pn,fn.x,fn.y,0),va=Qe.tgtIntn=xs,Di=Qe.intersectionPts={x1:Or[0],x2:xs[0],y1:Or[1],y2:xs[1]},pi=Qe.posPts={x1:fn.x,x2:Xt.x,y1:fn.y,y2:Xt.y},fs=xs[1]-Or[1],Fs=xs[0]-Or[0],ks=Math.sqrt(Fs*Fs+fs*fs),Rs=Qe.vector={x:Fs,y:fs},vo=Qe.vectorNorm={x:Rs.x/ks,y:Rs.y/ks},ja={x:-vo.y,y:vo.x};Qe.nodesOverlap=!X(ks)||kr.checkPoint(Or[0],Or[1],0,mr,Pn,Xt.x,Xt.y)||gr.checkPoint(xs[0],xs[1],0,Dn,rr,fn.x,fn.y),Qe.vectorNormInverse=ja,Lt={nodesOverlap:Qe.nodesOverlap,dirCounts:Qe.dirCounts,calculatedIntersection:!0,hasBezier:Qe.hasBezier,hasUnbundled:Qe.hasUnbundled,eles:Qe.eles,srcPos:Xt,tgtPos:fn,srcW:mr,srcH:Pn,tgtW:Dn,tgtH:rr,srcIntn:va,tgtIntn:_i,srcShape:kr,tgtShape:gr,posPts:{x1:pi.x2,y1:pi.y2,x2:pi.x1,y2:pi.y1},intersectionPts:{x1:Di.x2,y1:Di.y2,x2:Di.x1,y2:Di.y1},vector:{x:-Rs.x,y:-Rs.y},vectorNorm:{x:-vo.x,y:-vo.y},vectorNormInverse:{x:-ja.x,y:-ja.y}}}var Ma=Cr?Lt:Qe;Ir.nodesOverlap=Ma.nodesOverlap,Ir.srcIntn=Ma.srcIntn,Ir.tgtIntn=Ma.tgtIntn,M&&(Yt.isParent()||Yt.isChild()||St.isParent()||St.isChild())&&(Yt.parents().anySame(St)||St.parents().anySame(Yt)||Yt.same(St)&&Yt.isParent())?m.findCompoundLoopPoints(Er,Ma,Lr,pr):Yt===St?m.findLoopPoints(Er,Ma,Lr,pr):Kn==="segments"?m.findSegmentsPoints(Er,Ma):Kn==="taxi"?m.findTaxiPoints(Er,Ma):Kn==="straight"||!pr&&Qe.eles.length%2===1&&Lr===Math.floor(Qe.eles.length/2)?m.findStraightEdgePoints(Er):m.findBezierPoints(Er,Ma,Lr,pr,Cr),m.findEndpoints(Er),m.tryToCorrectInvalidPoints(Er,Ma),m.checkForInvalidEdgeWarning(Er),m.storeAllpts(Er),m.storeEdgeProjections(Er),m.calculateArrowAngles(Er),m.recalculateEdgeLabelProjections(Er),m.calculateLabelAngles(Er)}},ct=0;ct<N.length;ct++)Ve(ct);this.findHaystackPoints($)}};function iz(x){var m=[];if(x!=null){for(var k=0;k<x.length;k+=2){var S=x[k],M=x[k+1];m.push({x:S,y:M})}return m}}S1.getSegmentPoints=function(x){var m=x[0]._private.rscratch,k=m.edgeType;if(k==="segments")return this.recalculateRenderedStyle(x),iz(m.segpts)},S1.getControlPoints=function(x){var m=x[0]._private.rscratch,k=m.edgeType;if(k==="bezier"||k==="multibezier"||k==="self"||k==="compound")return this.recalculateRenderedStyle(x),iz(m.ctrlpts)},S1.getEdgeMidpoint=function(x){var m=x[0]._private.rscratch;return this.recalculateRenderedStyle(x),{x:m.midX,y:m.midY}};var dk={};dk.manualEndptToPx=function(x,m){var k=this,S=x.position(),M=x.outerWidth(),O=x.outerHeight();if(m.value.length===2){var N=[m.pfValue[0],m.pfValue[1]];return m.units[0]==="%"&&(N[0]=N[0]*M),m.units[1]==="%"&&(N[1]=N[1]*O),N[0]+=S.x,N[1]+=S.y,N}else{var $=m.pfValue[0];$=-Math.PI/2+$;var H=2*Math.max(M,O),q=[S.x+Math.cos($)*H,S.y+Math.sin($)*H];return k.nodeShapes[this.getNodeShape(x)].intersectLine(S.x,S.y,M,O,q[0],q[1],0)}},dk.findEndpoints=function(x){var m=this,k,S=x.source()[0],M=x.target()[0],O=S.position(),N=M.position(),$=x.pstyle("target-arrow-shape").value,H=x.pstyle("source-arrow-shape").value,q=x.pstyle("target-distance-from-node").pfValue,Y=x.pstyle("source-distance-from-node").pfValue,Z=x.pstyle("curve-style").value,ce=x._private.rscratch,ve=ce.edgeType,me=Z==="taxi",Le=ve==="self"||ve==="compound",_e=ve==="bezier"||ve==="multibezier"||Le,Te=ve!=="bezier",Fe=ve==="straight"||ve==="segments",Re=ve==="segments",Ve=_e||Te||Fe,ct=Le||me,st=x.pstyle("source-endpoint"),Ye=ct?"outside-to-node":st.value,vt=x.pstyle("target-endpoint"),Qe=ct?"outside-to-node":vt.value;ce.srcManEndpt=st,ce.tgtManEndpt=vt;var Lt,Mt,ut,Yt;if(_e){var St=[ce.ctrlpts[0],ce.ctrlpts[1]],_n=Te?[ce.ctrlpts[ce.ctrlpts.length-2],ce.ctrlpts[ce.ctrlpts.length-1]]:St;Lt=_n,Mt=St}else if(Fe){var fn=Re?ce.segpts.slice(0,2):[N.x,N.y],Xt=Re?ce.segpts.slice(ce.segpts.length-2):[O.x,O.y];Lt=Xt,Mt=fn}if(Qe==="inside-to-node")k=[N.x,N.y];else if(vt.units)k=this.manualEndptToPx(M,vt);else if(Qe==="outside-to-line")k=ce.tgtIntn;else if(Qe==="outside-to-node"||Qe==="outside-to-node-or-label"?ut=Lt:(Qe==="outside-to-line"||Qe==="outside-to-line-or-label")&&(ut=[O.x,O.y]),k=m.nodeShapes[this.getNodeShape(M)].intersectLine(N.x,N.y,M.outerWidth(),M.outerHeight(),ut[0],ut[1],0),Qe==="outside-to-node-or-label"||Qe==="outside-to-line-or-label"){var Dn=M._private.rscratch,rr=Dn.labelWidth,mr=Dn.labelHeight,Pn=Dn.labelX,gr=Dn.labelY,kr=rr/2,Lr=mr/2,Er=M.pstyle("text-valign").value;Er==="top"?gr-=Lr:Er==="bottom"&&(gr+=Lr);var Ir=M.pstyle("text-halign").value;Ir==="left"?Pn-=kr:Ir==="right"&&(Pn+=kr);var Kn=Y9(ut[0],ut[1],[Pn-kr,gr-Lr,Pn+kr,gr-Lr,Pn+kr,gr+Lr,Pn-kr,gr+Lr],N.x,N.y);if(Kn.length>0){var pr=O,Cr=g5(pr,Z7(k)),Or=g5(pr,Z7(Kn)),_i=Cr;if(Or<Cr&&(k=Kn,_i=Or),Kn.length>2){var xs=g5(pr,{x:Kn[2],y:Kn[3]});xs<_i&&(k=[Kn[2],Kn[3]])}}}var va=mS(k,Lt,m.arrowShapes[$].spacing(x)+q),Di=mS(k,Lt,m.arrowShapes[$].gap(x)+q);if(ce.endX=Di[0],ce.endY=Di[1],ce.arrowEndX=va[0],ce.arrowEndY=va[1],Ye==="inside-to-node")k=[O.x,O.y];else if(st.units)k=this.manualEndptToPx(S,st);else if(Ye==="outside-to-line")k=ce.srcIntn;else if(Ye==="outside-to-node"||Ye==="outside-to-node-or-label"?Yt=Mt:(Ye==="outside-to-line"||Ye==="outside-to-line-or-label")&&(Yt=[N.x,N.y]),k=m.nodeShapes[this.getNodeShape(S)].intersectLine(O.x,O.y,S.outerWidth(),S.outerHeight(),Yt[0],Yt[1],0),Ye==="outside-to-node-or-label"||Ye==="outside-to-line-or-label"){var pi=S._private.rscratch,fs=pi.labelWidth,Fs=pi.labelHeight,ks=pi.labelX,Rs=pi.labelY,vo=fs/2,ja=Fs/2,Ma=S.pstyle("text-valign").value;Ma==="top"?Rs-=ja:Ma==="bottom"&&(Rs+=ja);var Fo=S.pstyle("text-halign").value;Fo==="left"?ks-=vo:Fo==="right"&&(ks+=vo);var er=Y9(Yt[0],Yt[1],[ks-vo,Rs-ja,ks+vo,Rs-ja,ks+vo,Rs+ja,ks-vo,Rs+ja],O.x,O.y);if(er.length>0){var K=N,Qn=g5(K,Z7(k)),xr=g5(K,Z7(er)),ur=Qn;if(xr<Qn&&(k=[er[0],er[1]],ur=xr),er.length>2){var Ut=g5(K,{x:er[2],y:er[3]});Ut<ur&&(k=[er[2],er[3]])}}}var Vs=mS(k,Mt,m.arrowShapes[H].spacing(x)+Y),vr=mS(k,Mt,m.arrowShapes[H].gap(x)+Y);ce.startX=vr[0],ce.startY=vr[1],ce.arrowStartX=Vs[0],ce.arrowStartY=Vs[1],Ve&&(!X(ce.startX)||!X(ce.startY)||!X(ce.endX)||!X(ce.endY)?ce.badLine=!0:ce.badLine=!1)},dk.getSourceEndpoint=function(x){var m=x[0]._private.rscratch;switch(this.recalculateRenderedStyle(x),m.edgeType){case"haystack":return{x:m.haystackPts[0],y:m.haystackPts[1]};default:return{x:m.arrowStartX,y:m.arrowStartY}}},dk.getTargetEndpoint=function(x){var m=x[0]._private.rscratch;switch(this.recalculateRenderedStyle(x),m.edgeType){case"haystack":return{x:m.haystackPts[2],y:m.haystackPts[3]};default:return{x:m.arrowEndX,y:m.arrowEndY}}};var VI={};function sz(x,m,k){for(var S=function(q,Y,Z,ce){return e0(q,Y,Z,ce)},M=m._private,O=M.rstyle.bezierPts,N=0;N<x.bezierProjPcts.length;N++){var $=x.bezierProjPcts[N];O.push({x:S(k[0],k[2],k[4],$),y:S(k[1],k[3],k[5],$)})}}VI.storeEdgeProjections=function(x){var m=x._private,k=m.rscratch,S=k.edgeType;if(m.rstyle.bezierPts=null,m.rstyle.linePts=null,m.rstyle.haystackPts=null,S==="multibezier"||S==="bezier"||S==="self"||S==="compound"){m.rstyle.bezierPts=[];for(var M=0;M+5<k.allpts.length;M+=4)sz(this,x,k.allpts.slice(M,M+6))}else if(S==="segments")for(var O=m.rstyle.linePts=[],M=0;M+1<k.allpts.length;M+=2)O.push({x:k.allpts[M],y:k.allpts[M+1]});else if(S==="haystack"){var N=k.haystackPts;m.rstyle.haystackPts=[{x:N[0],y:N[1]},{x:N[2],y:N[3]}]}m.rstyle.arrowWidth=this.getArrowWidth(x.pstyle("width").pfValue,x.pstyle("arrow-scale").value)*this.arrowShapeWidth},VI.recalculateEdgeProjections=function(x){this.findEdgeControlPoints(x)};var Mm={};Mm.recalculateNodeLabelProjection=function(x){var m=x.pstyle("label").strValue;if(!Se(m)){var k,S,M=x._private,O=x.width(),N=x.height(),$=x.padding(),H=x.position(),q=x.pstyle("text-halign").strValue,Y=x.pstyle("text-valign").strValue,Z=M.rscratch,ce=M.rstyle;switch(q){case"left":k=H.x-O/2-$;break;case"right":k=H.x+O/2+$;break;default:k=H.x}switch(Y){case"top":S=H.y-N/2-$;break;case"bottom":S=H.y+N/2+$;break;default:S=H.y}Z.labelX=k,Z.labelY=S,ce.labelX=k,ce.labelY=S,this.calculateLabelAngles(x),this.applyLabelDimensions(x)}};var az=function(m,k){var S=Math.atan(k/m);return m===0&&S<0&&(S=S*-1),S},KS=function(m,k){var S=k.x-m.x,M=k.y-m.y;return az(S,M)},rie=function(m,k,S,M){var O=K9(0,M-.001,1),N=K9(0,M+.001,1),$=e8(m,k,S,O),H=e8(m,k,S,N);return KS($,H)};Mm.recalculateEdgeLabelProjections=function(x){var m,k=x._private,S=k.rscratch,M=this,O={mid:x.pstyle("label").strValue,source:x.pstyle("source-label").strValue,target:x.pstyle("target-label").strValue};if(O.mid||O.source||O.target){m={x:S.midX,y:S.midY};var N=function(Z,ce,ve){ty(k.rscratch,Z,ce,ve),ty(k.rstyle,Z,ce,ve)};N("labelX",null,m.x),N("labelY",null,m.y);var $=az(S.midDispX,S.midDispY);N("labelAutoAngle",null,$);var H=function Y(){if(Y.cache)return Y.cache;for(var Z=[],ce=0;ce+5<S.allpts.length;ce+=4){var ve={x:S.allpts[ce],y:S.allpts[ce+1]},me={x:S.allpts[ce+2],y:S.allpts[ce+3]},Le={x:S.allpts[ce+4],y:S.allpts[ce+5]};Z.push({p0:ve,p1:me,p2:Le,startDist:0,length:0,segments:[]})}var _e=k.rstyle.bezierPts,Te=M.bezierProjPcts.length;function Fe(Ye,vt,Qe,Lt,Mt){var ut=d5(vt,Qe),Yt=Ye.segments[Ye.segments.length-1],St={p0:vt,p1:Qe,t0:Lt,t1:Mt,startDist:Yt?Yt.startDist+Yt.length:0,length:ut};Ye.segments.push(St),Ye.length+=ut}for(var Re=0;Re<Z.length;Re++){var Ve=Z[Re],ct=Z[Re-1];ct&&(Ve.startDist=ct.startDist+ct.length),Fe(Ve,Ve.p0,_e[Re*Te],0,M.bezierProjPcts[0]);for(var st=0;st<Te-1;st++)Fe(Ve,_e[Re*Te+st],_e[Re*Te+st+1],M.bezierProjPcts[st],M.bezierProjPcts[st+1]);Fe(Ve,_e[Re*Te+Te-1],Ve.p2,M.bezierProjPcts[Te-1],1)}return Y.cache=Z},q=function(Z){var ce,ve=Z==="source";if(O[Z]){var me=x.pstyle(Z+"-text-offset").pfValue;switch(S.edgeType){case"self":case"compound":case"bezier":case"multibezier":{for(var Le=H(),_e,Te=0,Fe=0,Re=0;Re<Le.length;Re++){for(var Ve=Le[ve?Re:Le.length-1-Re],ct=0;ct<Ve.segments.length;ct++){var st=Ve.segments[ve?ct:Ve.segments.length-1-ct],Ye=Re===Le.length-1&&ct===Ve.segments.length-1;if(Te=Fe,Fe+=st.length,Fe>=me||Ye){_e={cp:Ve,segment:st};break}}if(_e)break}var vt=_e.cp,Qe=_e.segment,Lt=(me-Te)/Qe.length,Mt=Qe.t1-Qe.t0,ut=ve?Qe.t0+Mt*Lt:Qe.t1-Mt*Lt;ut=K9(0,ut,1),m=e8(vt.p0,vt.p1,vt.p2,ut),ce=rie(vt.p0,vt.p1,vt.p2,ut);break}case"straight":case"segments":case"haystack":{for(var Yt=0,St,_n,fn,Xt,Dn=S.allpts.length,rr=0;rr+3<Dn&&(ve?(fn={x:S.allpts[rr],y:S.allpts[rr+1]},Xt={x:S.allpts[rr+2],y:S.allpts[rr+3]}):(fn={x:S.allpts[Dn-2-rr],y:S.allpts[Dn-1-rr]},Xt={x:S.allpts[Dn-4-rr],y:S.allpts[Dn-3-rr]}),St=d5(fn,Xt),_n=Yt,Yt+=St,!(Yt>=me));rr+=2);var mr=me-_n,Pn=mr/St;Pn=K9(0,Pn,1),m=SZ(fn,Xt,Pn),ce=KS(fn,Xt);break}}N("labelX",Z,m.x),N("labelY",Z,m.y),N("labelAutoAngle",Z,ce)}};q("source"),q("target"),this.applyLabelDimensions(x)}},Mm.applyLabelDimensions=function(x){this.applyPrefixedLabelDimensions(x),x.isEdge()&&(this.applyPrefixedLabelDimensions(x,"source"),this.applyPrefixedLabelDimensions(x,"target"))},Mm.applyPrefixedLabelDimensions=function(x,m){var k=x._private,S=this.getLabelText(x,m),M=this.calculateLabelDimensions(x,S),O=x.pstyle("line-height").pfValue,N=x.pstyle("text-wrap").strValue,$=nb(k.rscratch,"labelWrapCachedLines",m)||[],H=N!=="wrap"?1:Math.max($.length,1),q=M.height/H,Y=q*O,Z=M.width,ce=M.height+(H-1)*(O-1)*q;ty(k.rstyle,"labelWidth",m,Z),ty(k.rscratch,"labelWidth",m,Z),ty(k.rstyle,"labelHeight",m,ce),ty(k.rscratch,"labelHeight",m,ce),ty(k.rscratch,"labelLineHeight",m,Y)},Mm.getLabelText=function(x,m){var k=x._private,S=m?m+"-":"",M=x.pstyle(S+"label").strValue,O=x.pstyle("text-transform").value,N=function(mr,Pn){return Pn?(ty(k.rscratch,mr,m,Pn),Pn):nb(k.rscratch,mr,m)};if(!M)return"";O=="none"||(O=="uppercase"?M=M.toUpperCase():O=="lowercase"&&(M=M.toLowerCase()));var $=x.pstyle("text-wrap").value;if($==="wrap"){var H=N("labelKey");if(H!=null&&N("labelWrapKey")===H)return N("labelWrapCachedText");for(var q="",Y=M.split(`
`),Z=x.pstyle("text-max-width").pfValue,ce=x.pstyle("text-overflow-wrap").value,ve=ce==="anywhere",me=[],Le=/[\s\u200b]+/,_e=ve?"":" ",Te=0;Te<Y.length;Te++){var Fe=Y[Te],Re=this.calculateLabelDimensions(x,Fe),Ve=Re.width;if(ve){var ct=Fe.split("").join(q);Fe=ct}if(Ve>Z){for(var st=Fe.split(Le),Ye="",vt=0;vt<st.length;vt++){var Qe=st[vt],Lt=Ye.length===0?Qe:Ye+_e+Qe,Mt=this.calculateLabelDimensions(x,Lt),ut=Mt.width;ut<=Z?Ye+=Qe+_e:(Ye&&me.push(Ye),Ye=Qe+_e)}Ye.match(/^[\s\u200b]+$/)||me.push(Ye)}else me.push(Fe)}N("labelWrapCachedLines",me),M=N("labelWrapCachedText",me.join(`
`)),N("labelWrapKey",H)}else if($==="ellipsis"){var Yt=x.pstyle("text-max-width").pfValue,St="",_n="…",fn=!1;if(this.calculateLabelDimensions(x,M).width<Yt)return M;for(var Xt=0;Xt<M.length;Xt++){var Dn=this.calculateLabelDimensions(x,St+M[Xt]+_n).width;if(Dn>Yt)break;St+=M[Xt],Xt===M.length-1&&(fn=!0)}return fn||(St+=_n),St}return M},Mm.getLabelJustification=function(x){var m=x.pstyle("text-justification").strValue,k=x.pstyle("text-halign").strValue;if(m==="auto")if(x.isNode())switch(k){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return m},Mm.calculateLabelDimensions=function(x,m){var k=this,S=ud(m,x._private.labelDimsKey),M=k.labelDimCache||(k.labelDimCache=[]),O=M[S];if(O!=null)return O;var N=0,$=x.pstyle("font-style").strValue,H=x.pstyle("font-size").pfValue,q=x.pstyle("font-family").strValue,Y=x.pstyle("font-weight").strValue,Z=this.labelCalcCanvas,ce=this.labelCalcCanvasContext;if(!Z){Z=this.labelCalcCanvas=document.createElement("canvas"),ce=this.labelCalcCanvasContext=Z.getContext("2d");var ve=Z.style;ve.position="absolute",ve.left="-9999px",ve.top="-9999px",ve.zIndex="-1",ve.visibility="hidden",ve.pointerEvents="none"}ce.font="".concat($," ").concat(Y," ").concat(H,"px ").concat(q);for(var me=0,Le=0,_e=m.split(`
`),Te=0;Te<_e.length;Te++){var Fe=_e[Te],Re=ce.measureText(Fe),Ve=Math.ceil(Re.width),ct=H;me=Math.max(Ve,me),Le+=ct}return me+=N,Le+=N,M[S]={width:me,height:Le}},Mm.calculateLabelAngle=function(x,m){var k=x._private,S=k.rscratch,M=x.isEdge(),O=m?m+"-":"",N=x.pstyle(O+"text-rotation"),$=N.strValue;return $==="none"?0:M&&$==="autorotate"?S.labelAutoAngle:$==="autorotate"?0:N.pfValue},Mm.calculateLabelAngles=function(x){var m=this,k=x.isEdge(),S=x._private,M=S.rscratch;M.labelAngle=m.calculateLabelAngle(x),k&&(M.sourceLabelAngle=m.calculateLabelAngle(x,"source"),M.targetLabelAngle=m.calculateLabelAngle(x,"target"))};var oz={},cz=28,uz=!1;oz.getNodeShape=function(x){var m=this,k=x.pstyle("shape").value;if(k==="cutrectangle"&&(x.width()<cz||x.height()<cz))return uz||(lu("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),uz=!0),"rectangle";if(x.isParent())return k==="rectangle"||k==="roundrectangle"||k==="round-rectangle"||k==="cutrectangle"||k==="cut-rectangle"||k==="barrel"?k:"rectangle";if(k==="polygon"){var S=x.pstyle("shape-polygon-points").value;return m.nodeShapes.makePolygon(S).name}return k};var WS={};WS.registerCalculationListeners=function(){var x=this.cy,m=x.collection(),k=this,S=function(N){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(m.merge(N),$)for(var H=0;H<N.length;H++){var q=N[H],Y=q._private,Z=Y.rstyle;Z.clean=!1,Z.cleanConnected=!1}};k.binder(x).on("bounds.* dirty.*",function(N){var $=N.target;S($)}).on("style.* background.*",function(N){var $=N.target;S($,!1)});var M=function(N){if(N){var $=k.onUpdateEleCalcsFns;m.cleanStyle();for(var H=0;H<m.length;H++){var q=m[H],Y=q._private.rstyle;q.isNode()&&!Y.cleanConnected&&(S(q.connectedEdges()),Y.cleanConnected=!0)}if($)for(var Z=0;Z<$.length;Z++){var ce=$[Z];ce(N,m)}k.recalculateRenderedStyle(m),m=x.collection()}};k.flushRenderedStyleQueue=function(){M(!0)},k.beforeRender(M,k.beforeRenderPriorities.eleCalcs)},WS.onUpdateEleCalcs=function(x){var m=this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[];m.push(x)},WS.recalculateRenderedStyle=function(x,m){var k=function(Ve){return Ve._private.rstyle.cleanConnected},S=[],M=[];if(!this.destroyed){m===void 0&&(m=!0);for(var O=0;O<x.length;O++){var N=x[O],$=N._private,H=$.rstyle;N.isEdge()&&(!k(N.source())||!k(N.target()))&&(H.clean=!1),!(m&&H.clean||N.removed())&&N.pstyle("display").value!=="none"&&($.group==="nodes"?M.push(N):S.push(N),H.clean=!0)}for(var q=0;q<M.length;q++){var Y=M[q],Z=Y._private,ce=Z.rstyle,ve=Y.position();this.recalculateNodeLabelProjection(Y),ce.nodeX=ve.x,ce.nodeY=ve.y,ce.nodeW=Y.pstyle("width").pfValue,ce.nodeH=Y.pstyle("height").pfValue}this.recalculateEdgeProjections(S);for(var me=0;me<S.length;me++){var Le=S[me],_e=Le._private,Te=_e.rstyle,Fe=_e.rscratch;Te.srcX=Fe.arrowStartX,Te.srcY=Fe.arrowStartY,Te.tgtX=Fe.arrowEndX,Te.tgtY=Fe.arrowEndY,Te.midX=Fe.midX,Te.midY=Fe.midY,Te.labelAngle=Fe.labelAngle,Te.sourceLabelAngle=Fe.sourceLabelAngle,Te.targetLabelAngle=Fe.targetLabelAngle}}};var YS={};YS.updateCachedGrabbedEles=function(){var x=this.cachedZSortedEles;if(x){x.drag=[],x.nondrag=[];for(var m=[],k=0;k<x.length;k++){var S=x[k],M=S._private.rscratch;S.grabbed()&&!S.isParent()?m.push(S):M.inDragLayer?x.drag.push(S):x.nondrag.push(S)}for(var k=0;k<m.length;k++){var S=m[k];x.drag.push(S)}}},YS.invalidateCachedZSortedEles=function(){this.cachedZSortedEles=null},YS.getCachedZSortedEles=function(x){if(x||!this.cachedZSortedEles){var m=this.cy.mutableElements().toArray();m.sort(PI),m.interactive=m.filter(function(k){return k.interactive()}),this.cachedZSortedEles=m,this.updateCachedGrabbedEles()}else m=this.cachedZSortedEles;return m};var lz={};[x5,GS,S1,dk,VI,Mm,oz,WS,YS].forEach(function(x){xt(lz,x)});var hz={};hz.getCachedImage=function(x,m,k){var S=this,M=S.imageCache=S.imageCache||{},O=M[x];if(O)return O.image.complete||O.image.addEventListener("load",k),O.image;O=M[x]=M[x]||{};var N=O.image=new Image;N.addEventListener("load",k),N.addEventListener("error",function(){N.error=!0});var $="data:",H=x.substring(0,$.length).toLowerCase()===$;return H||(m=m==="null"?null:m,N.crossOrigin=m),N.src=x,N};var m8={};m8.registerBinding=function(x,m,k,S){var M=Array.prototype.slice.apply(arguments,[1]),O=this.binder(x);return O.on.apply(O,M)},m8.binder=function(x){var m=this,k=m.cy.window(),S=x===k||x===k.document||x===k.document.body||Ce(x);if(m.supportsPassiveEvents==null){var M=!1;try{var O=Object.defineProperty({},"passive",{get:function(){return M=!0,!0}});k.addEventListener("test",null,O)}catch{}m.supportsPassiveEvents=M}var N=function(H,q,Y){var Z=Array.prototype.slice.call(arguments);return S&&m.supportsPassiveEvents&&(Z[2]={capture:Y??!1,passive:!1,once:!1}),m.bindings.push({target:x,args:Z}),(x.addEventListener||x.on).apply(x,Z),this};return{on:N,addEventListener:N,addListener:N,bind:N}},m8.nodeIsDraggable=function(x){return x&&x.isNode()&&!x.locked()&&x.grabbable()},m8.nodeIsGrabbable=function(x){return this.nodeIsDraggable(x)&&x.interactive()},m8.load=function(){var x=this,m=x.cy.window(),k=function(K){return K.selected()},S=function(K,Qn,xr,ur){K==null&&(K=x.cy);for(var Ut=0;Ut<Qn.length;Ut++){var Vs=Qn[Ut];K.emit({originalEvent:xr,type:Vs,position:ur})}},M=function(K){return K.shiftKey||K.metaKey||K.ctrlKey},O=function(K,Qn){var xr=!0;if(x.cy.hasCompoundNodes()&&K&&K.pannable())for(var ur=0;Qn&&ur<Qn.length;ur++){var K=Qn[ur];if(K.isNode()&&K.isParent()&&!K.pannable()){xr=!1;break}}else xr=!0;return xr},N=function(K){K[0]._private.grabbed=!0},$=function(K){K[0]._private.grabbed=!1},H=function(K){K[0]._private.rscratch.inDragLayer=!0},q=function(K){K[0]._private.rscratch.inDragLayer=!1},Y=function(K){K[0]._private.rscratch.isGrabTarget=!0},Z=function(K){K[0]._private.rscratch.isGrabTarget=!1},ce=function(K,Qn){var xr=Qn.addToList,ur=xr.has(K);!ur&&K.grabbable()&&!K.locked()&&(xr.merge(K),N(K))},ve=function(K,Qn){if(K.cy().hasCompoundNodes()&&!(Qn.inDragLayer==null&&Qn.addToList==null)){var xr=K.descendants();Qn.inDragLayer&&(xr.forEach(H),xr.connectedEdges().forEach(H)),Qn.addToList&&ce(xr,Qn)}},me=function(K,Qn){Qn=Qn||{};var xr=K.cy().hasCompoundNodes();Qn.inDragLayer&&(K.forEach(H),K.neighborhood().stdFilter(function(ur){return!xr||ur.isEdge()}).forEach(H)),Qn.addToList&&K.forEach(function(ur){ce(ur,Qn)}),ve(K,Qn),Te(K,{inDragLayer:Qn.inDragLayer}),x.updateCachedGrabbedEles()},Le=me,_e=function(K){K&&(x.getCachedZSortedEles().forEach(function(Qn){$(Qn),q(Qn),Z(Qn)}),x.updateCachedGrabbedEles())},Te=function(K,Qn){if(!(Qn.inDragLayer==null&&Qn.addToList==null)&&K.cy().hasCompoundNodes()){var xr=K.ancestors().orphans();if(!xr.same(K)){var ur=xr.descendants().spawnSelf().merge(xr).unmerge(K).unmerge(K.descendants()),Ut=ur.connectedEdges();Qn.inDragLayer&&(Ut.forEach(H),ur.forEach(H)),Qn.addToList&&ur.forEach(function(Vs){ce(Vs,Qn)})}}},Fe=function(){document.activeElement!=null&&document.activeElement.blur!=null&&document.activeElement.blur()},Re=typeof MutationObserver<"u",Ve=typeof ResizeObserver<"u";Re?(x.removeObserver=new MutationObserver(function(er){for(var K=0;K<er.length;K++){var Qn=er[K],xr=Qn.removedNodes;if(xr)for(var ur=0;ur<xr.length;ur++){var Ut=xr[ur];if(Ut===x.container){x.destroy();break}}}}),x.container.parentNode&&x.removeObserver.observe(x.container.parentNode,{childList:!0})):x.registerBinding(x.container,"DOMNodeRemoved",function(er){x.destroy()});var ct=Bo(function(){x.cy.resize()},100);Re&&(x.styleObserver=new MutationObserver(ct),x.styleObserver.observe(x.container,{attributes:!0})),x.registerBinding(m,"resize",ct),Ve&&(x.resizeObserver=new ResizeObserver(ct),x.resizeObserver.observe(x.container));var st=function(K,Qn){for(;K!=null;)Qn(K),K=K.parentNode},Ye=function(){x.invalidateContainerClientCoordsCache()};st(x.container,function(er){x.registerBinding(er,"transitionend",Ye),x.registerBinding(er,"animationend",Ye),x.registerBinding(er,"scroll",Ye)}),x.registerBinding(x.container,"contextmenu",function(er){er.preventDefault()});var vt=function(){return x.selection[4]!==0},Qe=function(K){for(var Qn=x.findContainerClientCoords(),xr=Qn[0],ur=Qn[1],Ut=Qn[2],Vs=Qn[3],vr=K.touches?K.touches:[K],Cs=!1,lo=0;lo<vr.length;lo++){var qc=vr[lo];if(xr<=qc.clientX&&qc.clientX<=xr+Ut&&ur<=qc.clientY&&qc.clientY<=ur+Vs){Cs=!0;break}}if(!Cs)return!1;for(var $a=x.container,Mc=K.target,wa=Mc.parentNode,wo=!1;wa;){if(wa===$a){wo=!0;break}wa=wa.parentNode}return!!wo};x.registerBinding(x.container,"mousedown",function(K){if(Qe(K)){K.preventDefault(),Fe(),x.hoverData.capture=!0,x.hoverData.which=K.which;var Qn=x.cy,xr=[K.clientX,K.clientY],ur=x.projectIntoViewport(xr[0],xr[1]),Ut=x.selection,Vs=x.findNearestElements(ur[0],ur[1],!0,!1),vr=Vs[0],Cs=x.dragData.possibleDragElements;x.hoverData.mdownPos=ur,x.hoverData.mdownGPos=xr;var lo=function(){x.hoverData.tapholdCancelled=!1,clearTimeout(x.hoverData.tapholdTimeout),x.hoverData.tapholdTimeout=setTimeout(function(){if(!x.hoverData.tapholdCancelled){var oh=x.hoverData.down;oh?oh.emit({originalEvent:K,type:"taphold",position:{x:ur[0],y:ur[1]}}):Qn.emit({originalEvent:K,type:"taphold",position:{x:ur[0],y:ur[1]}})}},x.tapholdDuration)};if(K.which==3){x.hoverData.cxtStarted=!0;var qc={originalEvent:K,type:"cxttapstart",position:{x:ur[0],y:ur[1]}};vr?(vr.activate(),vr.emit(qc),x.hoverData.down=vr):Qn.emit(qc),x.hoverData.downTime=new Date().getTime(),x.hoverData.cxtDragged=!1}else if(K.which==1){vr&&vr.activate();{if(vr!=null&&x.nodeIsGrabbable(vr)){var $a=function(oh){return{originalEvent:K,type:oh,position:{x:ur[0],y:ur[1]}}},Mc=function(oh){oh.emit($a("grab"))};if(Y(vr),!vr.selected())Cs=x.dragData.possibleDragElements=Qn.collection(),Le(vr,{addToList:Cs}),vr.emit($a("grabon")).emit($a("grab"));else{Cs=x.dragData.possibleDragElements=Qn.collection();var wa=Qn.$(function(wo){return wo.isNode()&&wo.selected()&&x.nodeIsGrabbable(wo)});me(wa,{addToList:Cs}),vr.emit($a("grabon")),wa.forEach(Mc)}x.redrawHint("eles",!0),x.redrawHint("drag",!0)}x.hoverData.down=vr,x.hoverData.downs=Vs,x.hoverData.downTime=new Date().getTime()}S(vr,["mousedown","tapstart","vmousedown"],K,{x:ur[0],y:ur[1]}),vr==null?(Ut[4]=1,x.data.bgActivePosistion={x:ur[0],y:ur[1]},x.redrawHint("select",!0),x.redraw()):vr.pannable()&&(Ut[4]=1),lo()}Ut[0]=Ut[2]=ur[0],Ut[1]=Ut[3]=ur[1]}},!1),x.registerBinding(m,"mousemove",function(K){var Qn=x.hoverData.capture;if(!(!Qn&&!Qe(K))){var xr=!1,ur=x.cy,Ut=ur.zoom(),Vs=[K.clientX,K.clientY],vr=x.projectIntoViewport(Vs[0],Vs[1]),Cs=x.hoverData.mdownPos,lo=x.hoverData.mdownGPos,qc=x.selection,$a=null;!x.hoverData.draggingEles&&!x.hoverData.dragging&&!x.hoverData.selecting&&($a=x.findNearestElement(vr[0],vr[1],!0,!1));var Mc=x.hoverData.last,wa=x.hoverData.down,wo=[vr[0]-qc[2],vr[1]-qc[3]],oh=x.dragData.possibleDragElements,Vl;if(lo){var cb=Vs[0]-lo[0],ub=cb*cb,V0=Vs[1]-lo[1],Xp=V0*V0,fd=ub+Xp;x.hoverData.isOverThresholdDrag=Vl=fd>=x.desktopTapThreshold2}var tw=M(K);Vl&&(x.hoverData.tapholdCancelled=!0);var cy=function(){var Dm=x.hoverData.dragDelta=x.hoverData.dragDelta||[];Dm.length===0?(Dm.push(wo[0]),Dm.push(wo[1])):(Dm[0]+=wo[0],Dm[1]+=wo[1])};xr=!0,S($a,["mousemove","vmousemove","tapdrag"],K,{x:vr[0],y:vr[1]});var E8=function(){x.data.bgActivePosistion=void 0,x.hoverData.selecting||ur.emit({originalEvent:K,type:"boxstart",position:{x:vr[0],y:vr[1]}}),qc[4]=1,x.hoverData.selecting=!0,x.redrawHint("select",!0),x.redraw()};if(x.hoverData.which===3){if(Vl){var T5={originalEvent:K,type:"cxtdrag",position:{x:vr[0],y:vr[1]}};wa?wa.emit(T5):ur.emit(T5),x.hoverData.cxtDragged=!0,(!x.hoverData.cxtOver||$a!==x.hoverData.cxtOver)&&(x.hoverData.cxtOver&&x.hoverData.cxtOver.emit({originalEvent:K,type:"cxtdragout",position:{x:vr[0],y:vr[1]}}),x.hoverData.cxtOver=$a,$a&&$a.emit({originalEvent:K,type:"cxtdragover",position:{x:vr[0],y:vr[1]}}))}}else if(x.hoverData.dragging){if(xr=!0,ur.panningEnabled()&&ur.userPanningEnabled()){var C8;if(x.hoverData.justStartedPan){var e_=x.hoverData.mdownPos;C8={x:(vr[0]-e_[0])*Ut,y:(vr[1]-e_[1])*Ut},x.hoverData.justStartedPan=!1}else C8={x:wo[0]*Ut,y:wo[1]*Ut};ur.panBy(C8),ur.emit("dragpan"),x.hoverData.dragged=!0}vr=x.projectIntoViewport(K.clientX,K.clientY)}else if(qc[4]==1&&(wa==null||wa.pannable())){if(Vl){if(!x.hoverData.dragging&&ur.boxSelectionEnabled()&&(tw||!ur.panningEnabled()||!ur.userPanningEnabled()))E8();else if(!x.hoverData.selecting&&ur.panningEnabled()&&ur.userPanningEnabled()){var E5=O(wa,x.hoverData.downs);E5&&(x.hoverData.dragging=!0,x.hoverData.justStartedPan=!0,qc[4]=0,x.data.bgActivePosistion=Z7(Cs),x.redrawHint("select",!0),x.redraw())}wa&&wa.pannable()&&wa.active()&&wa.unactivate()}}else{if(wa&&wa.pannable()&&wa.active()&&wa.unactivate(),(!wa||!wa.grabbed())&&$a!=Mc&&(Mc&&S(Mc,["mouseout","tapdragout"],K,{x:vr[0],y:vr[1]}),$a&&S($a,["mouseover","tapdragover"],K,{x:vr[0],y:vr[1]}),x.hoverData.last=$a),wa)if(Vl){if(ur.boxSelectionEnabled()&&tw)wa&&wa.grabbed()&&(_e(oh),wa.emit("freeon"),oh.emit("free"),x.dragData.didDrag&&(wa.emit("dragfreeon"),oh.emit("dragfree"))),E8();else if(wa&&wa.grabbed()&&x.nodeIsDraggable(wa)){var eg=!x.dragData.didDrag;eg&&x.redrawHint("eles",!0),x.dragData.didDrag=!0,x.hoverData.draggingEles||me(oh,{inDragLayer:!0});var _1={x:0,y:0};if(X(wo[0])&&X(wo[1])&&(_1.x+=wo[0],_1.y+=wo[1],eg)){var tg=x.hoverData.dragDelta;tg&&X(tg[0])&&X(tg[1])&&(_1.x+=tg[0],_1.y+=tg[1])}x.hoverData.draggingEles=!0,oh.silentShift(_1).emit("position drag"),x.redrawHint("drag",!0),x.redraw()}}else cy();xr=!0}if(qc[2]=vr[0],qc[3]=vr[1],xr)return K.stopPropagation&&K.stopPropagation(),K.preventDefault&&K.preventDefault(),!1}},!1);var Lt,Mt,ut;x.registerBinding(m,"mouseup",function(K){var Qn=x.hoverData.capture;if(Qn){x.hoverData.capture=!1;var xr=x.cy,ur=x.projectIntoViewport(K.clientX,K.clientY),Ut=x.selection,Vs=x.findNearestElement(ur[0],ur[1],!0,!1),vr=x.dragData.possibleDragElements,Cs=x.hoverData.down,lo=M(K);if(x.data.bgActivePosistion&&(x.redrawHint("select",!0),x.redraw()),x.hoverData.tapholdCancelled=!0,x.data.bgActivePosistion=void 0,Cs&&Cs.unactivate(),x.hoverData.which===3){var qc={originalEvent:K,type:"cxttapend",position:{x:ur[0],y:ur[1]}};if(Cs?Cs.emit(qc):xr.emit(qc),!x.hoverData.cxtDragged){var $a={originalEvent:K,type:"cxttap",position:{x:ur[0],y:ur[1]}};Cs?Cs.emit($a):xr.emit($a)}x.hoverData.cxtDragged=!1,x.hoverData.which=null}else if(x.hoverData.which===1){if(S(Vs,["mouseup","tapend","vmouseup"],K,{x:ur[0],y:ur[1]}),!x.dragData.didDrag&&!x.hoverData.dragged&&!x.hoverData.selecting&&!x.hoverData.isOverThresholdDrag&&(S(Cs,["click","tap","vclick"],K,{x:ur[0],y:ur[1]}),Mt=!1,K.timeStamp-ut<=xr.multiClickDebounceTime()?(Lt&&clearTimeout(Lt),Mt=!0,ut=null,S(Cs,["dblclick","dbltap","vdblclick"],K,{x:ur[0],y:ur[1]})):(Lt=setTimeout(function(){Mt||S(Cs,["oneclick","onetap","voneclick"],K,{x:ur[0],y:ur[1]})},xr.multiClickDebounceTime()),ut=K.timeStamp)),Cs==null&&!x.dragData.didDrag&&!x.hoverData.selecting&&!x.hoverData.dragged&&!M(K)&&(xr.$(k).unselect(["tapunselect"]),vr.length>0&&x.redrawHint("eles",!0),x.dragData.possibleDragElements=vr=xr.collection()),Vs==Cs&&!x.dragData.didDrag&&!x.hoverData.selecting&&Vs!=null&&Vs._private.selectable&&(x.hoverData.dragging||(xr.selectionType()==="additive"||lo?Vs.selected()?Vs.unselect(["tapunselect"]):Vs.select(["tapselect"]):lo||(xr.$(k).unmerge(Vs).unselect(["tapunselect"]),Vs.select(["tapselect"]))),x.redrawHint("eles",!0)),x.hoverData.selecting){var Mc=xr.collection(x.getAllInBox(Ut[0],Ut[1],Ut[2],Ut[3]));x.redrawHint("select",!0),Mc.length>0&&x.redrawHint("eles",!0),xr.emit({type:"boxend",originalEvent:K,position:{x:ur[0],y:ur[1]}});var wa=function(Vl){return Vl.selectable()&&!Vl.selected()};xr.selectionType()==="additive"||lo||xr.$(k).unmerge(Mc).unselect(),Mc.emit("box").stdFilter(wa).select().emit("boxselect"),x.redraw()}if(x.hoverData.dragging&&(x.hoverData.dragging=!1,x.redrawHint("select",!0),x.redrawHint("eles",!0),x.redraw()),!Ut[4]){x.redrawHint("drag",!0),x.redrawHint("eles",!0);var wo=Cs&&Cs.grabbed();_e(vr),wo&&(Cs.emit("freeon"),vr.emit("free"),x.dragData.didDrag&&(Cs.emit("dragfreeon"),vr.emit("dragfree")))}}Ut[4]=0,x.hoverData.down=null,x.hoverData.cxtStarted=!1,x.hoverData.draggingEles=!1,x.hoverData.selecting=!1,x.hoverData.isOverThresholdDrag=!1,x.dragData.didDrag=!1,x.hoverData.dragged=!1,x.hoverData.dragDelta=[],x.hoverData.mdownPos=null,x.hoverData.mdownGPos=null}},!1);var Yt=function(K){if(!x.scrollingPage){var Qn=x.cy,xr=Qn.zoom(),ur=Qn.pan(),Ut=x.projectIntoViewport(K.clientX,K.clientY),Vs=[Ut[0]*xr+ur.x,Ut[1]*xr+ur.y];if(x.hoverData.draggingEles||x.hoverData.dragging||x.hoverData.cxtStarted||vt()){K.preventDefault();return}if(Qn.panningEnabled()&&Qn.userPanningEnabled()&&Qn.zoomingEnabled()&&Qn.userZoomingEnabled()){K.preventDefault(),x.data.wheelZooming=!0,clearTimeout(x.data.wheelTimeout),x.data.wheelTimeout=setTimeout(function(){x.data.wheelZooming=!1,x.redrawHint("eles",!0),x.redraw()},150);var vr;K.deltaY!=null?vr=K.deltaY/-250:K.wheelDeltaY!=null?vr=K.wheelDeltaY/1e3:vr=K.wheelDelta/1e3,vr=vr*x.wheelSensitivity;var Cs=K.deltaMode===1;Cs&&(vr*=33);var lo=Qn.zoom()*Math.pow(10,vr);K.type==="gesturechange"&&(lo=x.gestureStartZoom*K.scale),Qn.zoom({level:lo,renderedPosition:{x:Vs[0],y:Vs[1]}}),Qn.emit(K.type==="gesturechange"?"pinchzoom":"scrollzoom")}}};x.registerBinding(x.container,"wheel",Yt,!0),x.registerBinding(m,"scroll",function(K){x.scrollingPage=!0,clearTimeout(x.scrollingPageTimeout),x.scrollingPageTimeout=setTimeout(function(){x.scrollingPage=!1},250)},!0),x.registerBinding(x.container,"gesturestart",function(K){x.gestureStartZoom=x.cy.zoom(),x.hasTouchStarted||K.preventDefault()},!0),x.registerBinding(x.container,"gesturechange",function(er){x.hasTouchStarted||Yt(er)},!0),x.registerBinding(x.container,"mouseout",function(K){var Qn=x.projectIntoViewport(K.clientX,K.clientY);x.cy.emit({originalEvent:K,type:"mouseout",position:{x:Qn[0],y:Qn[1]}})},!1),x.registerBinding(x.container,"mouseover",function(K){var Qn=x.projectIntoViewport(K.clientX,K.clientY);x.cy.emit({originalEvent:K,type:"mouseover",position:{x:Qn[0],y:Qn[1]}})},!1);var St,_n,fn,Xt,Dn,rr,mr,Pn,gr,kr,Lr,Er,Ir,Kn=function(K,Qn,xr,ur){return Math.sqrt((xr-K)*(xr-K)+(ur-Qn)*(ur-Qn))},pr=function(K,Qn,xr,ur){return(xr-K)*(xr-K)+(ur-Qn)*(ur-Qn)},Cr;x.registerBinding(x.container,"touchstart",Cr=function(K){if(x.hasTouchStarted=!0,!!Qe(K)){Fe(),x.touchData.capture=!0,x.data.bgActivePosistion=void 0;var Qn=x.cy,xr=x.touchData.now,ur=x.touchData.earlier;if(K.touches[0]){var Ut=x.projectIntoViewport(K.touches[0].clientX,K.touches[0].clientY);xr[0]=Ut[0],xr[1]=Ut[1]}if(K.touches[1]){var Ut=x.projectIntoViewport(K.touches[1].clientX,K.touches[1].clientY);xr[2]=Ut[0],xr[3]=Ut[1]}if(K.touches[2]){var Ut=x.projectIntoViewport(K.touches[2].clientX,K.touches[2].clientY);xr[4]=Ut[0],xr[5]=Ut[1]}if(K.touches[1]){x.touchData.singleTouchMoved=!0,_e(x.dragData.touchDragEles);var Vs=x.findContainerClientCoords();gr=Vs[0],kr=Vs[1],Lr=Vs[2],Er=Vs[3],St=K.touches[0].clientX-gr,_n=K.touches[0].clientY-kr,fn=K.touches[1].clientX-gr,Xt=K.touches[1].clientY-kr,Ir=0<=St&&St<=Lr&&0<=fn&&fn<=Lr&&0<=_n&&_n<=Er&&0<=Xt&&Xt<=Er;var vr=Qn.pan(),Cs=Qn.zoom();Dn=Kn(St,_n,fn,Xt),rr=pr(St,_n,fn,Xt),mr=[(St+fn)/2,(_n+Xt)/2],Pn=[(mr[0]-vr.x)/Cs,(mr[1]-vr.y)/Cs];var lo=200,qc=lo*lo;if(rr<qc&&!K.touches[2]){var $a=x.findNearestElement(xr[0],xr[1],!0,!0),Mc=x.findNearestElement(xr[2],xr[3],!0,!0);$a&&$a.isNode()?($a.activate().emit({originalEvent:K,type:"cxttapstart",position:{x:xr[0],y:xr[1]}}),x.touchData.start=$a):Mc&&Mc.isNode()?(Mc.activate().emit({originalEvent:K,type:"cxttapstart",position:{x:xr[0],y:xr[1]}}),x.touchData.start=Mc):Qn.emit({originalEvent:K,type:"cxttapstart",position:{x:xr[0],y:xr[1]}}),x.touchData.start&&(x.touchData.start._private.grabbed=!1),x.touchData.cxt=!0,x.touchData.cxtDragged=!1,x.data.bgActivePosistion=void 0,x.redraw();return}}if(K.touches[2])Qn.boxSelectionEnabled()&&K.preventDefault();else if(!K.touches[1]){if(K.touches[0]){var wa=x.findNearestElements(xr[0],xr[1],!0,!0),wo=wa[0];if(wo!=null&&(wo.activate(),x.touchData.start=wo,x.touchData.starts=wa,x.nodeIsGrabbable(wo))){var oh=x.dragData.touchDragEles=Qn.collection(),Vl=null;x.redrawHint("eles",!0),x.redrawHint("drag",!0),wo.selected()?(Vl=Qn.$(function(fd){return fd.selected()&&x.nodeIsGrabbable(fd)}),me(Vl,{addToList:oh})):Le(wo,{addToList:oh}),Y(wo);var cb=function(tw){return{originalEvent:K,type:tw,position:{x:xr[0],y:xr[1]}}};wo.emit(cb("grabon")),Vl?Vl.forEach(function(fd){fd.emit(cb("grab"))}):wo.emit(cb("grab"))}S(wo,["touchstart","tapstart","vmousedown"],K,{x:xr[0],y:xr[1]}),wo==null&&(x.data.bgActivePosistion={x:Ut[0],y:Ut[1]},x.redrawHint("select",!0),x.redraw()),x.touchData.singleTouchMoved=!1,x.touchData.singleTouchStartTime=+new Date,clearTimeout(x.touchData.tapholdTimeout),x.touchData.tapholdTimeout=setTimeout(function(){x.touchData.singleTouchMoved===!1&&!x.pinching&&!x.touchData.selecting&&S(x.touchData.start,["taphold"],K,{x:xr[0],y:xr[1]})},x.tapholdDuration)}}if(K.touches.length>=1){for(var ub=x.touchData.startPosition=[null,null,null,null,null,null],V0=0;V0<xr.length;V0++)ub[V0]=ur[V0]=xr[V0];var Xp=K.touches[0];x.touchData.startGPosition=[Xp.clientX,Xp.clientY]}}},!1);var Or;x.registerBinding(window,"touchmove",Or=function(K){var Qn=x.touchData.capture;if(!(!Qn&&!Qe(K))){var xr=x.selection,ur=x.cy,Ut=x.touchData.now,Vs=x.touchData.earlier,vr=ur.zoom();if(K.touches[0]){var Cs=x.projectIntoViewport(K.touches[0].clientX,K.touches[0].clientY);Ut[0]=Cs[0],Ut[1]=Cs[1]}if(K.touches[1]){var Cs=x.projectIntoViewport(K.touches[1].clientX,K.touches[1].clientY);Ut[2]=Cs[0],Ut[3]=Cs[1]}if(K.touches[2]){var Cs=x.projectIntoViewport(K.touches[2].clientX,K.touches[2].clientY);Ut[4]=Cs[0],Ut[5]=Cs[1]}var lo=x.touchData.startGPosition,qc;if(Qn&&K.touches[0]&&lo){for(var $a=[],Mc=0;Mc<Ut.length;Mc++)$a[Mc]=Ut[Mc]-Vs[Mc];var wa=K.touches[0].clientX-lo[0],wo=wa*wa,oh=K.touches[0].clientY-lo[1],Vl=oh*oh,cb=wo+Vl;qc=cb>=x.touchTapThreshold2}if(Qn&&x.touchData.cxt){K.preventDefault();var ub=K.touches[0].clientX-gr,V0=K.touches[0].clientY-kr,Xp=K.touches[1].clientX-gr,fd=K.touches[1].clientY-kr,tw=pr(ub,V0,Xp,fd),cy=tw/rr,E8=150,T5=E8*E8,C8=1.5,e_=C8*C8;if(cy>=e_||tw>=T5){x.touchData.cxt=!1,x.data.bgActivePosistion=void 0,x.redrawHint("select",!0);var E5={originalEvent:K,type:"cxttapend",position:{x:Ut[0],y:Ut[1]}};x.touchData.start?(x.touchData.start.unactivate().emit(E5),x.touchData.start=null):ur.emit(E5)}}if(Qn&&x.touchData.cxt){var E5={originalEvent:K,type:"cxtdrag",position:{x:Ut[0],y:Ut[1]}};x.data.bgActivePosistion=void 0,x.redrawHint("select",!0),x.touchData.start?x.touchData.start.emit(E5):ur.emit(E5),x.touchData.start&&(x.touchData.start._private.grabbed=!1),x.touchData.cxtDragged=!0;var eg=x.findNearestElement(Ut[0],Ut[1],!0,!0);(!x.touchData.cxtOver||eg!==x.touchData.cxtOver)&&(x.touchData.cxtOver&&x.touchData.cxtOver.emit({originalEvent:K,type:"cxtdragout",position:{x:Ut[0],y:Ut[1]}}),x.touchData.cxtOver=eg,eg&&eg.emit({originalEvent:K,type:"cxtdragover",position:{x:Ut[0],y:Ut[1]}}))}else if(Qn&&K.touches[2]&&ur.boxSelectionEnabled())K.preventDefault(),x.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,x.touchData.selecting||ur.emit({originalEvent:K,type:"boxstart",position:{x:Ut[0],y:Ut[1]}}),x.touchData.selecting=!0,x.touchData.didSelect=!0,xr[4]=1,!xr||xr.length===0||xr[0]===void 0?(xr[0]=(Ut[0]+Ut[2]+Ut[4])/3,xr[1]=(Ut[1]+Ut[3]+Ut[5])/3,xr[2]=(Ut[0]+Ut[2]+Ut[4])/3+1,xr[3]=(Ut[1]+Ut[3]+Ut[5])/3+1):(xr[2]=(Ut[0]+Ut[2]+Ut[4])/3,xr[3]=(Ut[1]+Ut[3]+Ut[5])/3),x.redrawHint("select",!0),x.redraw();else if(Qn&&K.touches[1]&&!x.touchData.didSelect&&ur.zoomingEnabled()&&ur.panningEnabled()&&ur.userZoomingEnabled()&&ur.userPanningEnabled()){K.preventDefault(),x.data.bgActivePosistion=void 0,x.redrawHint("select",!0);var _1=x.dragData.touchDragEles;if(_1){x.redrawHint("drag",!0);for(var tg=0;tg<_1.length;tg++){var nw=_1[tg]._private;nw.grabbed=!1,nw.rscratch.inDragLayer=!1}}var Dm=x.touchData.start,ub=K.touches[0].clientX-gr,V0=K.touches[0].clientY-kr,Xp=K.touches[1].clientX-gr,fd=K.touches[1].clientY-kr,Bz=Kn(ub,V0,Xp,fd),Hie=Bz/Dn;if(Ir){var Uie=ub-St,t_=V0-_n,Vie=Xp-fn,Gie=fd-Xt,C5=(Uie+Vie)/2,Fz=(t_+Gie)/2,kk=ur.zoom(),ZI=kk*Hie,n_=ur.pan(),Rz=Pn[0]*kk+n_.x,jz=Pn[1]*kk+n_.y,Kie={x:-ZI/kk*(Rz-n_.x-C5)+Rz,y:-ZI/kk*(jz-n_.y-Fz)+jz};if(Dm&&Dm.active()){var _1=x.dragData.touchDragEles;_e(_1),x.redrawHint("drag",!0),x.redrawHint("eles",!0),Dm.unactivate().emit("freeon"),_1.emit("free"),x.dragData.didDrag&&(Dm.emit("dragfreeon"),_1.emit("dragfree"))}ur.viewport({zoom:ZI,pan:Kie,cancelOnFailedZoom:!0}),ur.emit("pinchzoom"),Dn=Bz,St=ub,_n=V0,fn=Xp,Xt=fd,x.pinching=!0}if(K.touches[0]){var Cs=x.projectIntoViewport(K.touches[0].clientX,K.touches[0].clientY);Ut[0]=Cs[0],Ut[1]=Cs[1]}if(K.touches[1]){var Cs=x.projectIntoViewport(K.touches[1].clientX,K.touches[1].clientY);Ut[2]=Cs[0],Ut[3]=Cs[1]}if(K.touches[2]){var Cs=x.projectIntoViewport(K.touches[2].clientX,K.touches[2].clientY);Ut[4]=Cs[0],Ut[5]=Cs[1]}}else if(K.touches[0]&&!x.touchData.didSelect){var Qp=x.touchData.start,r_=x.touchData.last,eg;if(!x.hoverData.draggingEles&&!x.swipePanning&&(eg=x.findNearestElement(Ut[0],Ut[1],!0,!0)),Qn&&Qp!=null&&K.preventDefault(),Qn&&Qp!=null&&x.nodeIsDraggable(Qp))if(qc){var _1=x.dragData.touchDragEles,eO=!x.dragData.didDrag;eO&&me(_1,{inDragLayer:!0}),x.dragData.didDrag=!0;var Im={x:0,y:0};if(X($a[0])&&X($a[1])&&(Im.x+=$a[0],Im.y+=$a[1],eO)){x.redrawHint("eles",!0);var ng=x.touchData.dragDelta;ng&&X(ng[0])&&X(ng[1])&&(Im.x+=ng[0],Im.y+=ng[1])}x.hoverData.draggingEles=!0,_1.silentShift(Im).emit("position drag"),x.redrawHint("drag",!0),x.touchData.startPosition[0]==Vs[0]&&x.touchData.startPosition[1]==Vs[1]&&x.redrawHint("eles",!0),x.redraw()}else{var ng=x.touchData.dragDelta=x.touchData.dragDelta||[];ng.length===0?(ng.push($a[0]),ng.push($a[1])):(ng[0]+=$a[0],ng[1]+=$a[1])}if(S(Qp||eg,["touchmove","tapdrag","vmousemove"],K,{x:Ut[0],y:Ut[1]}),(!Qp||!Qp.grabbed())&&eg!=r_&&(r_&&r_.emit({originalEvent:K,type:"tapdragout",position:{x:Ut[0],y:Ut[1]}}),eg&&eg.emit({originalEvent:K,type:"tapdragover",position:{x:Ut[0],y:Ut[1]}})),x.touchData.last=eg,Qn)for(var tg=0;tg<Ut.length;tg++)Ut[tg]&&x.touchData.startPosition[tg]&&qc&&(x.touchData.singleTouchMoved=!0);if(Qn&&(Qp==null||Qp.pannable())&&ur.panningEnabled()&&ur.userPanningEnabled()){var S5=O(Qp,x.touchData.starts);S5&&(K.preventDefault(),x.data.bgActivePosistion||(x.data.bgActivePosistion=Z7(x.touchData.startPosition)),x.swipePanning?(ur.panBy({x:$a[0]*vr,y:$a[1]*vr}),ur.emit("dragpan")):qc&&(x.swipePanning=!0,ur.panBy({x:wa*vr,y:oh*vr}),ur.emit("dragpan"),Qp&&(Qp.unactivate(),x.redrawHint("select",!0),x.touchData.start=null)));var Cs=x.projectIntoViewport(K.touches[0].clientX,K.touches[0].clientY);Ut[0]=Cs[0],Ut[1]=Cs[1]}}for(var Mc=0;Mc<Ut.length;Mc++)Vs[Mc]=Ut[Mc];Qn&&K.touches.length>0&&!x.hoverData.draggingEles&&!x.swipePanning&&x.data.bgActivePosistion!=null&&(x.data.bgActivePosistion=void 0,x.redrawHint("select",!0),x.redraw())}},!1);var _i;x.registerBinding(m,"touchcancel",_i=function(K){var Qn=x.touchData.start;x.touchData.capture=!1,Qn&&Qn.unactivate()});var xs,va,Di,pi;if(x.registerBinding(m,"touchend",xs=function(K){var Qn=x.touchData.start,xr=x.touchData.capture;if(xr)K.touches.length===0&&(x.touchData.capture=!1),K.preventDefault();else return;var ur=x.selection;x.swipePanning=!1,x.hoverData.draggingEles=!1;var Ut=x.cy,Vs=Ut.zoom(),vr=x.touchData.now,Cs=x.touchData.earlier;if(K.touches[0]){var lo=x.projectIntoViewport(K.touches[0].clientX,K.touches[0].clientY);vr[0]=lo[0],vr[1]=lo[1]}if(K.touches[1]){var lo=x.projectIntoViewport(K.touches[1].clientX,K.touches[1].clientY);vr[2]=lo[0],vr[3]=lo[1]}if(K.touches[2]){var lo=x.projectIntoViewport(K.touches[2].clientX,K.touches[2].clientY);vr[4]=lo[0],vr[5]=lo[1]}Qn&&Qn.unactivate();var qc;if(x.touchData.cxt){if(qc={originalEvent:K,type:"cxttapend",position:{x:vr[0],y:vr[1]}},Qn?Qn.emit(qc):Ut.emit(qc),!x.touchData.cxtDragged){var $a={originalEvent:K,type:"cxttap",position:{x:vr[0],y:vr[1]}};Qn?Qn.emit($a):Ut.emit($a)}x.touchData.start&&(x.touchData.start._private.grabbed=!1),x.touchData.cxt=!1,x.touchData.start=null,x.redraw();return}if(!K.touches[2]&&Ut.boxSelectionEnabled()&&x.touchData.selecting){x.touchData.selecting=!1;var Mc=Ut.collection(x.getAllInBox(ur[0],ur[1],ur[2],ur[3]));ur[0]=void 0,ur[1]=void 0,ur[2]=void 0,ur[3]=void 0,ur[4]=0,x.redrawHint("select",!0),Ut.emit({type:"boxend",originalEvent:K,position:{x:vr[0],y:vr[1]}});var wa=function(T5){return T5.selectable()&&!T5.selected()};Mc.emit("box").stdFilter(wa).select().emit("boxselect"),Mc.nonempty()&&x.redrawHint("eles",!0),x.redraw()}if(Qn!=null&&Qn.unactivate(),K.touches[2])x.data.bgActivePosistion=void 0,x.redrawHint("select",!0);else if(!K.touches[1]){if(!K.touches[0]){if(!K.touches[0]){x.data.bgActivePosistion=void 0,x.redrawHint("select",!0);var wo=x.dragData.touchDragEles;if(Qn!=null){var oh=Qn._private.grabbed;_e(wo),x.redrawHint("drag",!0),x.redrawHint("eles",!0),oh&&(Qn.emit("freeon"),wo.emit("free"),x.dragData.didDrag&&(Qn.emit("dragfreeon"),wo.emit("dragfree"))),S(Qn,["touchend","tapend","vmouseup","tapdragout"],K,{x:vr[0],y:vr[1]}),Qn.unactivate(),x.touchData.start=null}else{var Vl=x.findNearestElement(vr[0],vr[1],!0,!0);S(Vl,["touchend","tapend","vmouseup","tapdragout"],K,{x:vr[0],y:vr[1]})}var cb=x.touchData.startPosition[0]-vr[0],ub=cb*cb,V0=x.touchData.startPosition[1]-vr[1],Xp=V0*V0,fd=ub+Xp,tw=fd*Vs*Vs;x.touchData.singleTouchMoved||(Qn||Ut.$(":selected").unselect(["tapunselect"]),S(Qn,["tap","vclick"],K,{x:vr[0],y:vr[1]}),va=!1,K.timeStamp-pi<=Ut.multiClickDebounceTime()?(Di&&clearTimeout(Di),va=!0,pi=null,S(Qn,["dbltap","vdblclick"],K,{x:vr[0],y:vr[1]})):(Di=setTimeout(function(){va||S(Qn,["onetap","voneclick"],K,{x:vr[0],y:vr[1]})},Ut.multiClickDebounceTime()),pi=K.timeStamp)),Qn!=null&&!x.dragData.didDrag&&Qn._private.selectable&&tw<x.touchTapThreshold2&&!x.pinching&&(Ut.selectionType()==="single"?(Ut.$(k).unmerge(Qn).unselect(["tapunselect"]),Qn.select(["tapselect"])):Qn.selected()?Qn.unselect(["tapunselect"]):Qn.select(["tapselect"]),x.redrawHint("eles",!0)),x.touchData.singleTouchMoved=!0}}}for(var cy=0;cy<vr.length;cy++)Cs[cy]=vr[cy];x.dragData.didDrag=!1,K.touches.length===0&&(x.touchData.dragDelta=[],x.touchData.startPosition=[null,null,null,null,null,null],x.touchData.startGPosition=null,x.touchData.didSelect=!1),K.touches.length<2&&(K.touches.length===1&&(x.touchData.startGPosition=[K.touches[0].clientX,K.touches[0].clientY]),x.pinching=!1,x.redrawHint("eles",!0),x.redraw())},!1),typeof TouchEvent>"u"){var fs=[],Fs=function(K){return{clientX:K.clientX,clientY:K.clientY,force:1,identifier:K.pointerId,pageX:K.pageX,pageY:K.pageY,radiusX:K.width/2,radiusY:K.height/2,screenX:K.screenX,screenY:K.screenY,target:K.target}},ks=function(K){return{event:K,touch:Fs(K)}},Rs=function(K){fs.push(ks(K))},vo=function(K){for(var Qn=0;Qn<fs.length;Qn++){var xr=fs[Qn];if(xr.event.pointerId===K.pointerId){fs.splice(Qn,1);return}}},ja=function(K){var Qn=fs.filter(function(xr){return xr.event.pointerId===K.pointerId})[0];Qn.event=K,Qn.touch=Fs(K)},Ma=function(K){K.touches=fs.map(function(Qn){return Qn.touch})},Fo=function(K){return K.pointerType==="mouse"||K.pointerType===4};x.registerBinding(x.container,"pointerdown",function(er){Fo(er)||(er.preventDefault(),Rs(er),Ma(er),Cr(er))}),x.registerBinding(x.container,"pointerup",function(er){Fo(er)||(vo(er),Ma(er),xs(er))}),x.registerBinding(x.container,"pointercancel",function(er){Fo(er)||(vo(er),Ma(er),_i(er))}),x.registerBinding(x.container,"pointermove",function(er){Fo(er)||(er.preventDefault(),ja(er),Ma(er),Or(er))})}};var ew={};ew.generatePolygon=function(x,m){return this.nodeShapes[x]={renderer:this,name:x,points:m,draw:function(S,M,O,N,$){this.renderer.nodeShapeImpl("polygon",S,M,O,N,$,this.points)},intersectLine:function(S,M,O,N,$,H,q){return Y9($,H,this.points,S,M,O/2,N/2,q)},checkPoint:function(S,M,O,N,$,H,q){return Jv(S,M,this.points,H,q,N,$,[0,-1],O)}}},ew.generateEllipse=function(){return this.nodeShapes.ellipse={renderer:this,name:"ellipse",draw:function(m,k,S,M,O){this.renderer.nodeShapeImpl(this.name,m,k,S,M,O)},intersectLine:function(m,k,S,M,O,N,$){return jZ(O,N,m,k,S/2+$,M/2+$)},checkPoint:function(m,k,S,M,O,N,$){return p5(m,k,M,O,N,$,S)}}},ew.generateRoundPolygon=function(x,m){for(var k=new Array(m.length*2),S=0;S<m.length/2;S++){var M=S*2,O=void 0;S<m.length/2-1?O=(S+1)*2:O=0,k[S*4]=m[M],k[S*4+1]=m[M+1];var N=m[O]-m[M],$=m[O+1]-m[M+1],H=Math.sqrt(N*N+$*$);k[S*4+2]=N/H,k[S*4+3]=$/H}return this.nodeShapes[x]={renderer:this,name:x,points:k,draw:function(Y,Z,ce,ve,me){this.renderer.nodeShapeImpl("round-polygon",Y,Z,ce,ve,me,this.points)},intersectLine:function(Y,Z,ce,ve,me,Le,_e){return $Z(me,Le,this.points,Y,Z,ce,ve)},checkPoint:function(Y,Z,ce,ve,me,Le,_e){return RZ(Y,Z,this.points,Le,_e,ve,me)}}},ew.generateRoundRectangle=function(){return this.nodeShapes["round-rectangle"]=this.nodeShapes.roundrectangle={renderer:this,name:"round-rectangle",points:hd(4,0),draw:function(m,k,S,M,O){this.renderer.nodeShapeImpl(this.name,m,k,S,M,O)},intersectLine:function(m,k,S,M,O,N,$){return Tj(O,N,m,k,S,M,$)},checkPoint:function(m,k,S,M,O,N,$){var H=X9(M,O),q=H*2;return!!(Jv(m,k,this.points,N,$,M,O-q,[0,-1],S)||Jv(m,k,this.points,N,$,M-q,O,[0,-1],S)||p5(m,k,q,q,N-M/2+H,$-O/2+H,S)||p5(m,k,q,q,N+M/2-H,$-O/2+H,S)||p5(m,k,q,q,N+M/2-H,$+O/2-H,S)||p5(m,k,q,q,N-M/2+H,$+O/2-H,S))}}},ew.generateCutRectangle=function(){return this.nodeShapes["cut-rectangle"]=this.nodeShapes.cutrectangle={renderer:this,name:"cut-rectangle",cornerLength:Cj(),points:hd(4,0),draw:function(m,k,S,M,O){this.renderer.nodeShapeImpl(this.name,m,k,S,M,O)},generateCutTrianglePts:function(m,k,S,M){var O=this.cornerLength,N=k/2,$=m/2,H=S-$,q=S+$,Y=M-N,Z=M+N;return{topLeft:[H,Y+O,H+O,Y,H+O,Y+O],topRight:[q-O,Y,q,Y+O,q-O,Y+O],bottomRight:[q,Z-O,q-O,Z,q-O,Z-O],bottomLeft:[H+O,Z,H,Z-O,H+O,Z-O]}},intersectLine:function(m,k,S,M,O,N,$){var H=this.generateCutTrianglePts(S+2*$,M+2*$,m,k),q=[].concat.apply([],[H.topLeft.splice(0,4),H.topRight.splice(0,4),H.bottomRight.splice(0,4),H.bottomLeft.splice(0,4)]);return Y9(O,N,q,m,k)},checkPoint:function(m,k,S,M,O,N,$){if(Jv(m,k,this.points,N,$,M,O-2*this.cornerLength,[0,-1],S)||Jv(m,k,this.points,N,$,M-2*this.cornerLength,O,[0,-1],S))return!0;var H=this.generateCutTrianglePts(M,O,N,$);return Jd(m,k,H.topLeft)||Jd(m,k,H.topRight)||Jd(m,k,H.bottomRight)||Jd(m,k,H.bottomLeft)}}},ew.generateBarrel=function(){return this.nodeShapes.barrel={renderer:this,name:"barrel",points:hd(4,0),draw:function(m,k,S,M,O){this.renderer.nodeShapeImpl(this.name,m,k,S,M,O)},intersectLine:function(m,k,S,M,O,N,$){var H=.15,q=.5,Y=.85,Z=this.generateBarrelBezierPts(S+2*$,M+2*$,m,k),ce=function(Le){var _e=e8({x:Le[0],y:Le[1]},{x:Le[2],y:Le[3]},{x:Le[4],y:Le[5]},H),Te=e8({x:Le[0],y:Le[1]},{x:Le[2],y:Le[3]},{x:Le[4],y:Le[5]},q),Fe=e8({x:Le[0],y:Le[1]},{x:Le[2],y:Le[3]},{x:Le[4],y:Le[5]},Y);return[Le[0],Le[1],_e.x,_e.y,Te.x,Te.y,Fe.x,Fe.y,Le[4],Le[5]]},ve=[].concat(ce(Z.topLeft),ce(Z.topRight),ce(Z.bottomRight),ce(Z.bottomLeft));return Y9(O,N,ve,m,k)},generateBarrelBezierPts:function(m,k,S,M){var O=k/2,N=m/2,$=S-N,H=S+N,q=M-O,Y=M+O,Z=mI(m,k),ce=Z.heightOffset,ve=Z.widthOffset,me=Z.ctrlPtOffsetPct*m,Le={topLeft:[$,q+ce,$+me,q,$+ve,q],topRight:[H-ve,q,H-me,q,H,q+ce],bottomRight:[H,Y-ce,H-me,Y,H-ve,Y],bottomLeft:[$+ve,Y,$+me,Y,$,Y-ce]};return Le.topLeft.isTop=!0,Le.topRight.isTop=!0,Le.bottomLeft.isBottom=!0,Le.bottomRight.isBottom=!0,Le},checkPoint:function(m,k,S,M,O,N,$){var H=mI(M,O),q=H.heightOffset,Y=H.widthOffset;if(Jv(m,k,this.points,N,$,M,O-2*q,[0,-1],S)||Jv(m,k,this.points,N,$,M-2*Y,O,[0,-1],S))return!0;for(var Z=this.generateBarrelBezierPts(M,O,N,$),ce=function(Ye,vt,Qe){var Lt=Qe[4],Mt=Qe[2],ut=Qe[0],Yt=Qe[5],St=Qe[1],_n=Math.min(Lt,ut),fn=Math.max(Lt,ut),Xt=Math.min(Yt,St),Dn=Math.max(Yt,St);if(_n<=Ye&&Ye<=fn&&Xt<=vt&&vt<=Dn){var rr=zZ(Lt,Mt,ut),mr=NZ(rr[0],rr[1],rr[2],Ye),Pn=mr.filter(function(gr){return 0<=gr&&gr<=1});if(Pn.length>0)return Pn[0]}return null},ve=Object.keys(Z),me=0;me<ve.length;me++){var Le=ve[me],_e=Z[Le],Te=ce(m,k,_e);if(Te!=null){var Fe=_e[5],Re=_e[3],Ve=_e[1],ct=e0(Fe,Re,Ve,Te);if(_e.isTop&&ct<=k||_e.isBottom&&k<=ct)return!0}}return!1}}},ew.generateBottomRoundrectangle=function(){return this.nodeShapes["bottom-round-rectangle"]=this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottom-round-rectangle",points:hd(4,0),draw:function(m,k,S,M,O){this.renderer.nodeShapeImpl(this.name,m,k,S,M,O)},intersectLine:function(m,k,S,M,O,N,$){var H=m-(S/2+$),q=k-(M/2+$),Y=q,Z=m+(S/2+$),ce=ny(O,N,m,k,H,q,Z,Y,!1);return ce.length>0?ce:Tj(O,N,m,k,S,M,$)},checkPoint:function(m,k,S,M,O,N,$){var H=X9(M,O),q=2*H;if(Jv(m,k,this.points,N,$,M,O-q,[0,-1],S)||Jv(m,k,this.points,N,$,M-q,O,[0,-1],S))return!0;var Y=M/2+2*S,Z=O/2+2*S,ce=[N-Y,$-Z,N-Y,$,N+Y,$,N+Y,$-Z];return!!(Jd(m,k,ce)||p5(m,k,q,q,N+M/2-H,$+O/2-H,S)||p5(m,k,q,q,N-M/2+H,$+O/2-H,S))}}},ew.registerNodeShapes=function(){var x=this.nodeShapes={},m=this;this.generateEllipse(),this.generatePolygon("triangle",hd(3,0)),this.generateRoundPolygon("round-triangle",hd(3,0)),this.generatePolygon("rectangle",hd(4,0)),x.square=x.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var k=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",k),this.generateRoundPolygon("round-diamond",k)}this.generatePolygon("pentagon",hd(5,0)),this.generateRoundPolygon("round-pentagon",hd(5,0)),this.generatePolygon("hexagon",hd(6,0)),this.generateRoundPolygon("round-hexagon",hd(6,0)),this.generatePolygon("heptagon",hd(7,0)),this.generateRoundPolygon("round-heptagon",hd(7,0)),this.generatePolygon("octagon",hd(8,0)),this.generateRoundPolygon("round-octagon",hd(8,0));var S=new Array(20);{var M=pI(5,0),O=pI(5,Math.PI/5),N=.5*(3-Math.sqrt(5));N*=1.57;for(var $=0;$<O.length/2;$++)O[$*2]*=N,O[$*2+1]*=N;for(var $=0;$<20/4;$++)S[$*4]=M[$*2],S[$*4+1]=M[$*2+1],S[$*4+2]=O[$*2],S[$*4+3]=O[$*2+1]}S=Ej(S),this.generatePolygon("star",S),this.generatePolygon("vee",[-1,-1,0,-.333,1,-1,0,1]),this.generatePolygon("rhomboid",[-1,-1,.333,-1,1,1,-.333,1]),this.generatePolygon("right-rhomboid",[-.333,-1,1,-1,.333,1,-1,1]),this.nodeShapes.concavehexagon=this.generatePolygon("concave-hexagon",[-1,-.95,-.75,0,-1,.95,1,.95,.75,0,1,-.95]);{var H=[-1,-1,.25,-1,1,0,.25,1,-1,1];this.generatePolygon("tag",H),this.generateRoundPolygon("round-tag",H)}x.makePolygon=function(q){var Y=q.join("$"),Z="polygon-"+Y,ce;return(ce=this[Z])?ce:m.generatePolygon(Z,q)}};var gk={};gk.timeToRender=function(){return this.redrawTotalTime/this.redrawCount},gk.redraw=function(x){x=x||pj();var m=this;m.averageRedrawTime===void 0&&(m.averageRedrawTime=0),m.lastRedrawTime===void 0&&(m.lastRedrawTime=0),m.lastDrawTime===void 0&&(m.lastDrawTime=0),m.requestedFrame=!0,m.renderOptions=x},gk.beforeRender=function(x,m){if(!this.destroyed){m==null&&sh("Priority is not optional for beforeRender");var k=this.beforeRenderCallbacks;k.push({fn:x,priority:m}),k.sort(function(S,M){return M.priority-S.priority})}};var fz=function(m,k,S){for(var M=m.beforeRenderCallbacks,O=0;O<M.length;O++)M[O].fn(k,S)};gk.startRenderLoop=function(){var x=this,m=x.cy;if(!x.renderLoopStarted){x.renderLoopStarted=!0;var k=function S(M){if(!x.destroyed){if(!m.batching())if(x.requestedFrame&&!x.skipFrame){fz(x,!0,M);var O=Vp();x.render(x.renderOptions);var N=x.lastDrawTime=Vp();x.averageRedrawTime===void 0&&(x.averageRedrawTime=N-O),x.redrawCount===void 0&&(x.redrawCount=0),x.redrawCount++,x.redrawTotalTime===void 0&&(x.redrawTotalTime=0);var $=N-O;x.redrawTotalTime+=$,x.lastRedrawTime=$,x.averageRedrawTime=x.averageRedrawTime/2+$/2,x.requestedFrame=!1}else fz(x,!1,M);x.skipFrame=!1,Wh(S)}};Wh(k)}};var iie=function(m){this.init(m)},dz=iie,v8=dz.prototype;v8.clientFunctions=["redrawHint","render","renderTo","matchCanvasSize","nodeShapeImpl","arrowShapeImpl"],v8.init=function(x){var m=this;m.options=x,m.cy=x.cy;var k=m.container=x.cy.container(),S=m.cy.window();if(S){var M=S.document,O=M.head,N="__________cytoscape_stylesheet",$="__________cytoscape_container",H=M.getElementById(N)!=null;if(k.className.indexOf($)<0&&(k.className=(k.className||"")+" "+$),!H){var q=M.createElement("style");q.id=N,q.textContent="."+$+" { position: relative; }",O.insertBefore(q,O.children[0])}var Y=S.getComputedStyle(k),Z=Y.getPropertyValue("position");Z==="static"&&lu("A Cytoscape container has style position:static and so can not use UI extensions properly")}m.selection=[void 0,void 0,void 0,void 0,0],m.bezierProjPcts=[.05,.225,.4,.5,.6,.775,.95],m.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},m.dragData={possibleDragElements:[]},m.touchData={start:null,capture:!1,startPosition:[null,null,null,null,null,null],singleTouchStartTime:null,singleTouchMoved:!0,now:[null,null,null,null,null,null],earlier:[null,null,null,null,null,null]},m.redraws=0,m.showFps=x.showFps,m.debug=x.debug,m.hideEdgesOnViewport=x.hideEdgesOnViewport,m.textureOnViewport=x.textureOnViewport,m.wheelSensitivity=x.wheelSensitivity,m.motionBlurEnabled=x.motionBlur,m.forcedPixelRatio=X(x.pixelRatio)?x.pixelRatio:null,m.motionBlur=x.motionBlur,m.motionBlurOpacity=x.motionBlurOpacity,m.motionBlurTransparency=1-m.motionBlurOpacity,m.motionBlurPxRatio=1,m.mbPxRBlurry=1,m.minMbLowQualFrames=4,m.fullQualityMb=!1,m.clearedForMotionBlur=[],m.desktopTapThreshold=x.desktopTapThreshold,m.desktopTapThreshold2=x.desktopTapThreshold*x.desktopTapThreshold,m.touchTapThreshold=x.touchTapThreshold,m.touchTapThreshold2=x.touchTapThreshold*x.touchTapThreshold,m.tapholdDuration=500,m.bindings=[],m.beforeRenderCallbacks=[],m.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:150,lyrTxrSkip:100},m.registerNodeShapes(),m.registerArrowShapes(),m.registerCalculationListeners()},v8.notify=function(x,m){var k=this,S=k.cy;if(!this.destroyed){if(x==="init"){k.load();return}if(x==="destroy"){k.destroy();return}(x==="add"||x==="remove"||x==="move"&&S.hasCompoundNodes()||x==="load"||x==="zorder"||x==="mount")&&k.invalidateCachedZSortedEles(),x==="viewport"&&k.redrawHint("select",!0),(x==="load"||x==="resize"||x==="mount")&&(k.invalidateContainerClientCoordsCache(),k.matchCanvasSize(k.container)),k.redrawHint("eles",!0),k.redrawHint("drag",!0),this.startRenderLoop(),this.redraw()}},v8.destroy=function(){var x=this;x.destroyed=!0,x.cy.stopAnimationLoop();for(var m=0;m<x.bindings.length;m++){var k=x.bindings[m],S=k,M=S.target;(M.off||M.removeEventListener).apply(M,S.args)}if(x.bindings=[],x.beforeRenderCallbacks=[],x.onUpdateEleCalcsFns=[],x.removeObserver&&x.removeObserver.disconnect(),x.styleObserver&&x.styleObserver.disconnect(),x.resizeObserver&&x.resizeObserver.disconnect(),x.labelCalcDiv)try{document.body.removeChild(x.labelCalcDiv)}catch{}},v8.isHeadless=function(){return!1},[UI,lz,hz,m8,ew,gk].forEach(function(x){xt(v8,x)});var GI=1e3/60,gz={setupDequeueing:function(m){return function(){var S=this,M=this.renderer;if(!S.dequeueingSetup){S.dequeueingSetup=!0;var O=Bo(function(){M.redrawHint("eles",!0),M.redrawHint("drag",!0),M.redraw()},m.deqRedrawThreshold),N=function(q,Y){var Z=Vp(),ce=M.averageRedrawTime,ve=M.lastRedrawTime,me=[],Le=M.cy.extent(),_e=M.getPixelRatio();for(q||M.flushRenderedStyleQueue();;){var Te=Vp(),Fe=Te-Z,Re=Te-Y;if(ve<GI){var Ve=GI-(q?ce:0);if(Re>=m.deqFastCost*Ve)break}else if(q){if(Fe>=m.deqCost*ve||Fe>=m.deqAvgCost*ce)break}else if(Re>=m.deqNoDrawCost*GI)break;var ct=m.deq(S,_e,Le);if(ct.length>0)for(var st=0;st<ct.length;st++)me.push(ct[st]);else break}me.length>0&&(m.onDeqd(S,me),!q&&m.shouldRedraw(S,me,_e,Le)&&O())},$=m.priority||lI;M.beforeRender(N,$(S))}}}},sie=function(){function x(m){var k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Z3;d(this,x),this.idsByKey=new _m,this.keyForId=new _m,this.cachesByLvl=new _m,this.lvls=[],this.getKey=m,this.doesEleInvalidateKey=k}return v(x,[{key:"getIdsFor",value:function(k){k==null&&sh("Can not get id list for null key");var S=this.idsByKey,M=this.idsByKey.get(k);return M||(M=new J7,S.set(k,M)),M}},{key:"addIdForKey",value:function(k,S){k!=null&&this.getIdsFor(k).add(S)}},{key:"deleteIdForKey",value:function(k,S){k!=null&&this.getIdsFor(k).delete(S)}},{key:"getNumberOfIdsForKey",value:function(k){return k==null?0:this.getIdsFor(k).size}},{key:"updateKeyMappingFor",value:function(k){var S=k.id(),M=this.keyForId.get(S),O=this.getKey(k);this.deleteIdForKey(M,S),this.addIdForKey(O,S),this.keyForId.set(S,O)}},{key:"deleteKeyMappingFor",value:function(k){var S=k.id(),M=this.keyForId.get(S);this.deleteIdForKey(M,S),this.keyForId.delete(S)}},{key:"keyHasChangedFor",value:function(k){var S=k.id(),M=this.keyForId.get(S),O=this.getKey(k);return M!==O}},{key:"isInvalid",value:function(k){return this.keyHasChangedFor(k)||this.doesEleInvalidateKey(k)}},{key:"getCachesAt",value:function(k){var S=this.cachesByLvl,M=this.lvls,O=S.get(k);return O||(O=new _m,S.set(k,O),M.push(k)),O}},{key:"getCache",value:function(k,S){return this.getCachesAt(S).get(k)}},{key:"get",value:function(k,S){var M=this.getKey(k),O=this.getCache(M,S);return O!=null&&this.updateKeyMappingFor(k),O}},{key:"getForCachedKey",value:function(k,S){var M=this.keyForId.get(k.id()),O=this.getCache(M,S);return O}},{key:"hasCache",value:function(k,S){return this.getCachesAt(S).has(k)}},{key:"has",value:function(k,S){var M=this.getKey(k);return this.hasCache(M,S)}},{key:"setCache",value:function(k,S,M){M.key=k,this.getCachesAt(S).set(k,M)}},{key:"set",value:function(k,S,M){var O=this.getKey(k);this.setCache(O,S,M),this.updateKeyMappingFor(k)}},{key:"deleteCache",value:function(k,S){this.getCachesAt(S).delete(k)}},{key:"delete",value:function(k,S){var M=this.getKey(k);this.deleteCache(M,S)}},{key:"invalidateKey",value:function(k){var S=this;this.lvls.forEach(function(M){return S.deleteCache(k,M)})}},{key:"invalidate",value:function(k){var S=k.id(),M=this.keyForId.get(S);this.deleteKeyMappingFor(k);var O=this.doesEleInvalidateKey(k);return O&&this.invalidateKey(M),O||this.getNumberOfIdsForKey(M)===0}}]),x}(),pz=25,XS=50,QS=-4,KI=3,aie=7.99,oie=8,cie=1024,uie=1024,lie=1024,hie=.2,fie=.8,die=10,gie=.15,pie=.1,bie=.9,mie=.9,vie=100,wie=1,w8={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},yie=z0({getKey:null,doesEleInvalidateKey:Z3,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:f5,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),pk=function(m,k){var S=this;S.renderer=m,S.onDequeues=[];var M=yie(k);xt(S,M),S.lookup=new sie(M.getKey,M.doesEleInvalidateKey),S.setupDequeueing()},Cf=pk.prototype;Cf.reasons=w8,Cf.getTextureQueue=function(x){var m=this;return m.eleImgCaches=m.eleImgCaches||{},m.eleImgCaches[x]=m.eleImgCaches[x]||[]},Cf.getRetiredTextureQueue=function(x){var m=this,k=m.eleImgCaches.retired=m.eleImgCaches.retired||{},S=k[x]=k[x]||[];return S},Cf.getElementQueue=function(){var x=this,m=x.eleCacheQueue=x.eleCacheQueue||new G9(function(k,S){return S.reqs-k.reqs});return m},Cf.getElementKeyToQueue=function(){var x=this,m=x.eleKeyToCacheQueue=x.eleKeyToCacheQueue||{};return m},Cf.getElement=function(x,m,k,S,M){var O=this,N=this.renderer,$=N.cy.zoom(),H=this.lookup;if(!m||m.w===0||m.h===0||isNaN(m.w)||isNaN(m.h)||!x.visible()||x.removed()||!O.allowEdgeTxrCaching&&x.isEdge()||!O.allowParentTxrCaching&&x.isParent())return null;if(S==null&&(S=Math.ceil(fI($*k))),S<QS)S=QS;else if($>=aie||S>KI)return null;var q=Math.pow(2,S),Y=m.h*q,Z=m.w*q,ce=N.eleTextBiggerThanMin(x,q);if(!this.isVisible(x,ce))return null;var ve=H.get(x,S);if(ve&&ve.invalidated&&(ve.invalidated=!1,ve.texture.invalidatedWidth-=ve.width),ve)return ve;var me;if(Y<=pz?me=pz:Y<=XS?me=XS:me=Math.ceil(Y/XS)*XS,Y>lie||Z>uie)return null;var Le=O.getTextureQueue(me),_e=Le[Le.length-2],Te=function(){return O.recycleTexture(me,Z)||O.addTexture(me,Z)};_e||(_e=Le[Le.length-1]),_e||(_e=Te()),_e.width-_e.usedWidth<Z&&(_e=Te());for(var Fe=function(fn){return fn&&fn.scaledLabelShown===ce},Re=M&&M===w8.dequeue,Ve=M&&M===w8.highQuality,ct=M&&M===w8.downscale,st,Ye=S+1;Ye<=KI;Ye++){var vt=H.get(x,Ye);if(vt){st=vt;break}}var Qe=st&&st.level===S+1?st:null,Lt=function(){_e.context.drawImage(Qe.texture.canvas,Qe.x,0,Qe.width,Qe.height,_e.usedWidth,0,Z,Y)};if(_e.context.setTransform(1,0,0,1,0,0),_e.context.clearRect(_e.usedWidth,0,Z,me),Fe(Qe))Lt();else if(Fe(st))if(Ve){for(var Mt=st.level;Mt>S;Mt--)Qe=O.getElement(x,m,k,Mt,w8.downscale);Lt()}else return O.queueElement(x,st.level-1),st;else{var ut;if(!Re&&!Ve&&!ct)for(var Yt=S-1;Yt>=QS;Yt--){var St=H.get(x,Yt);if(St){ut=St;break}}if(Fe(ut))return O.queueElement(x,S),ut;_e.context.translate(_e.usedWidth,0),_e.context.scale(q,q),this.drawElement(_e.context,x,m,ce,!1),_e.context.scale(1/q,1/q),_e.context.translate(-_e.usedWidth,0)}return ve={x:_e.usedWidth,texture:_e,level:S,scale:q,width:Z,height:Y,scaledLabelShown:ce},_e.usedWidth+=Math.ceil(Z+oie),_e.eleCaches.push(ve),H.set(x,S,ve),O.checkTextureFullness(_e),ve},Cf.invalidateElements=function(x){for(var m=0;m<x.length;m++)this.invalidateElement(x[m])},Cf.invalidateElement=function(x){var m=this,k=m.lookup,S=[],M=k.isInvalid(x);if(M){for(var O=QS;O<=KI;O++){var N=k.getForCachedKey(x,O);N&&S.push(N)}var $=k.invalidate(x);if($)for(var H=0;H<S.length;H++){var q=S[H],Y=q.texture;Y.invalidatedWidth+=q.width,q.invalidated=!0,m.checkTextureUtility(Y)}m.removeFromQueue(x)}},Cf.checkTextureUtility=function(x){x.invalidatedWidth>=hie*x.width&&this.retireTexture(x)},Cf.checkTextureFullness=function(x){var m=this,k=m.getTextureQueue(x.height);x.usedWidth/x.width>fie&&x.fullnessChecks>=die?ey(k,x):x.fullnessChecks++},Cf.retireTexture=function(x){var m=this,k=x.height,S=m.getTextureQueue(k),M=this.lookup;ey(S,x),x.retired=!0;for(var O=x.eleCaches,N=0;N<O.length;N++){var $=O[N];M.deleteCache($.key,$.level)}uS(O);var H=m.getRetiredTextureQueue(k);H.push(x)},Cf.addTexture=function(x,m){var k=this,S=k.getTextureQueue(x),M={};return S.push(M),M.eleCaches=[],M.height=x,M.width=Math.max(cie,m),M.usedWidth=0,M.invalidatedWidth=0,M.fullnessChecks=0,M.canvas=k.renderer.makeOffscreenCanvas(M.width,M.height),M.context=M.canvas.getContext("2d"),M},Cf.recycleTexture=function(x,m){for(var k=this,S=k.getTextureQueue(x),M=k.getRetiredTextureQueue(x),O=0;O<M.length;O++){var N=M[O];if(N.width>=m)return N.retired=!1,N.usedWidth=0,N.invalidatedWidth=0,N.fullnessChecks=0,uS(N.eleCaches),N.context.setTransform(1,0,0,1,0,0),N.context.clearRect(0,0,N.width,N.height),ey(M,N),S.push(N),N}},Cf.queueElement=function(x,m){var k=this,S=k.getElementQueue(),M=k.getElementKeyToQueue(),O=this.getKey(x),N=M[O];if(N)N.level=Math.max(N.level,m),N.eles.merge(x),N.reqs++,S.updateItem(N);else{var $={eles:x.spawn().merge(x),level:m,reqs:1,key:O};S.push($),M[O]=$}},Cf.dequeue=function(x){for(var m=this,k=m.getElementQueue(),S=m.getElementKeyToQueue(),M=[],O=m.lookup,N=0;N<wie&&k.size()>0;N++){var $=k.pop(),H=$.key,q=$.eles[0],Y=O.hasCache(q,$.level);if(S[H]=null,Y)continue;M.push($);var Z=m.getBoundingBox(q);m.getElement(q,Z,x,$.level,w8.dequeue)}return M},Cf.removeFromQueue=function(x){var m=this,k=m.getElementQueue(),S=m.getElementKeyToQueue(),M=this.getKey(x),O=S[M];O!=null&&(O.eles.length===1?(O.reqs=Q7,k.updateItem(O),k.pop(),S[M]=null):O.eles.unmerge(x))},Cf.onDequeue=function(x){this.onDequeues.push(x)},Cf.offDequeue=function(x){ey(this.onDequeues,x)},Cf.setupDequeueing=gz.setupDequeueing({deqRedrawThreshold:vie,deqCost:gie,deqAvgCost:pie,deqNoDrawCost:bie,deqFastCost:mie,deq:function(m,k,S){return m.dequeue(k,S)},onDeqd:function(m,k){for(var S=0;S<m.onDequeues.length;S++){var M=m.onDequeues[S];M(k)}},shouldRedraw:function(m,k,S,M){for(var O=0;O<k.length;O++)for(var N=k[O].eles,$=0;$<N.length;$++){var H=N[$].boundingBox();if(dI(H,M))return!0}return!1},priority:function(m){return m.renderer.beforeRenderPriorities.eleTxrDeq}});var xie=1,bk=-4,JS=2,kie=3.99,Tie=50,Eie=50,Sf=.15,Cie=.1,Sie=.9,bz=.9,_ie=1,mz=250,vz=4e3*4e3,wz=!0,yz=function(m){var k=this,S=k.renderer=m,M=S.cy;k.layersByLevel={},k.firstGet=!0,k.lastInvalidationTime=Vp()-2*mz,k.skipping=!1,k.eleTxrDeqs=M.collection(),k.scheduleElementRefinement=Bo(function(){k.refineElementTextures(k.eleTxrDeqs),k.eleTxrDeqs.unmerge(k.eleTxrDeqs)},Eie),S.beforeRender(function(N,$){$-k.lastInvalidationTime<=mz?k.skipping=!0:k.skipping=!1},S.beforeRenderPriorities.lyrTxrSkip);var O=function($,H){return H.reqs-$.reqs};k.layersQueue=new G9(O),k.setupDequeueing()},t0=yz.prototype,xz=0,ZS=Math.pow(2,53)-1;t0.makeLayer=function(x,m){var k=Math.pow(2,m),S=Math.ceil(x.w*k),M=Math.ceil(x.h*k),O=this.renderer.makeOffscreenCanvas(S,M),N={id:xz=++xz%ZS,bb:x,level:m,width:S,height:M,canvas:O,context:O.getContext("2d"),eles:[],elesQueue:[],reqs:0},$=N.context,H=-N.bb.x1,q=-N.bb.y1;return $.scale(k,k),$.translate(H,q),N},t0.getLayers=function(x,m,k){var S=this,M=S.renderer,O=M.cy,N=O.zoom(),$=S.firstGet;if(S.firstGet=!1,k==null){if(k=Math.ceil(fI(N*m)),k<bk)k=bk;else if(N>=kie||k>JS)return null}S.validateLayersElesOrdering(k,x);var H=S.layersByLevel,q=Math.pow(2,k),Y=H[k]=H[k]||[],Z,ce=S.levelIsComplete(k,x),ve,me=function(){var Lt=function(_n){if(S.validateLayersElesOrdering(_n,x),S.levelIsComplete(_n,x))return ve=H[_n],!0},Mt=function(_n){if(!ve)for(var fn=k+_n;bk<=fn&&fn<=JS&&!Lt(fn);fn+=_n);};Mt(1),Mt(-1);for(var ut=Y.length-1;ut>=0;ut--){var Yt=Y[ut];Yt.invalid&&ey(Y,Yt)}};if(!ce)me();else return Y;var Le=function(){if(!Z){Z=Qd();for(var Lt=0;Lt<x.length;Lt++)yj(Z,x[Lt].boundingBox())}return Z},_e=function(Lt){Lt=Lt||{};var Mt=Lt.after;Le();var ut=Z.w*q*(Z.h*q);if(ut>vz)return null;var Yt=S.makeLayer(Z,k);if(Mt!=null){var St=Y.indexOf(Mt)+1;Y.splice(St,0,Yt)}else(Lt.insert===void 0||Lt.insert)&&Y.unshift(Yt);return Yt};if(S.skipping&&!$)return null;for(var Te=null,Fe=x.length/xie,Re=!$,Ve=0;Ve<x.length;Ve++){var ct=x[Ve],st=ct._private.rscratch,Ye=st.imgLayerCaches=st.imgLayerCaches||{},vt=Ye[k];if(vt){Te=vt;continue}if((!Te||Te.eles.length>=Fe||!kj(Te.bb,ct.boundingBox()))&&(Te=_e({insert:!0,after:Te}),!Te))return null;ve||Re?S.queueLayer(Te,ct):S.drawEleInLayer(Te,ct,k,m),Te.eles.push(ct),Ye[k]=Te}return ve||(Re?null:Y)},t0.getEleLevelForLayerLevel=function(x,m){return x},t0.drawEleInLayer=function(x,m,k,S){var M=this,O=this.renderer,N=x.context,$=m.boundingBox();$.w===0||$.h===0||!m.visible()||(k=M.getEleLevelForLayerLevel(k,S),O.setImgSmoothing(N,!1),O.drawCachedElement(N,m,null,null,k,wz),O.setImgSmoothing(N,!0))},t0.levelIsComplete=function(x,m){var k=this,S=k.layersByLevel[x];if(!S||S.length===0)return!1;for(var M=0,O=0;O<S.length;O++){var N=S[O];if(N.reqs>0||N.invalid)return!1;M+=N.eles.length}return M===m.length},t0.validateLayersElesOrdering=function(x,m){var k=this.layersByLevel[x];if(k)for(var S=0;S<k.length;S++){for(var M=k[S],O=-1,N=0;N<m.length;N++)if(M.eles[0]===m[N]){O=N;break}if(O<0){this.invalidateLayer(M);continue}for(var $=O,N=0;N<M.eles.length;N++)if(M.eles[N]!==m[$+N]){this.invalidateLayer(M);break}}},t0.updateElementsInLayers=function(x,m){for(var k=this,S=U(x[0]),M=0;M<x.length;M++)for(var O=S?null:x[M],N=S?x[M]:x[M].ele,$=N._private.rscratch,H=$.imgLayerCaches=$.imgLayerCaches||{},q=bk;q<=JS;q++){var Y=H[q];Y&&(O&&k.getEleLevelForLayerLevel(Y.level)!==O.level||m(Y,N,O))}},t0.haveLayers=function(){for(var x=this,m=!1,k=bk;k<=JS;k++){var S=x.layersByLevel[k];if(S&&S.length>0){m=!0;break}}return m},t0.invalidateElements=function(x){var m=this;x.length!==0&&(m.lastInvalidationTime=Vp(),!(x.length===0||!m.haveLayers())&&m.updateElementsInLayers(x,function(S,M,O){m.invalidateLayer(S)}))},t0.invalidateLayer=function(x){if(this.lastInvalidationTime=Vp(),!x.invalid){var m=x.level,k=x.eles,S=this.layersByLevel[m];ey(S,x),x.elesQueue=[],x.invalid=!0,x.replacement&&(x.replacement.invalid=!0);for(var M=0;M<k.length;M++){var O=k[M]._private.rscratch.imgLayerCaches;O&&(O[m]=null)}}},t0.refineElementTextures=function(x){var m=this;m.updateElementsInLayers(x,function(S,M,O){var N=S.replacement;if(N||(N=S.replacement=m.makeLayer(S.bb,S.level),N.replaces=S,N.eles=S.eles),!N.reqs)for(var $=0;$<N.eles.length;$++)m.queueLayer(N,N.eles[$])})},t0.enqueueElementRefinement=function(x){this.eleTxrDeqs.merge(x),this.scheduleElementRefinement()},t0.queueLayer=function(x,m){var k=this,S=k.layersQueue,M=x.elesQueue,O=M.hasId=M.hasId||{};if(!x.replacement){if(m){if(O[m.id()])return;M.push(m),O[m.id()]=!0}x.reqs?(x.reqs++,S.updateItem(x)):(x.reqs=1,S.push(x))}},t0.dequeue=function(x){for(var m=this,k=m.layersQueue,S=[],M=0;M<_ie&&k.size()!==0;){var O=k.peek();if(O.replacement){k.pop();continue}if(O.replaces&&O!==O.replaces.replacement){k.pop();continue}if(O.invalid){k.pop();continue}var N=O.elesQueue.shift();N&&(m.drawEleInLayer(O,N,O.level,x),M++),S.length===0&&S.push(!0),O.elesQueue.length===0&&(k.pop(),O.reqs=0,O.replaces&&m.applyLayerReplacement(O),m.requestRedraw())}return S},t0.applyLayerReplacement=function(x){var m=this,k=m.layersByLevel[x.level],S=x.replaces,M=k.indexOf(S);if(!(M<0||S.invalid)){k[M]=x;for(var O=0;O<x.eles.length;O++){var N=x.eles[O]._private,$=N.imgLayerCaches=N.imgLayerCaches||{};$&&($[x.level]=x)}m.requestRedraw()}},t0.requestRedraw=Bo(function(){var x=this.renderer;x.redrawHint("eles",!0),x.redrawHint("drag",!0),x.redraw()},100),t0.setupDequeueing=gz.setupDequeueing({deqRedrawThreshold:Tie,deqCost:Sf,deqAvgCost:Cie,deqNoDrawCost:Sie,deqFastCost:bz,deq:function(m,k){return m.dequeue(k)},onDeqd:lI,shouldRedraw:f5,priority:function(m){return m.renderer.beforeRenderPriorities.lyrTxrDeq}});var kz={},Tz;function Aie(x,m){for(var k=0;k<m.length;k++){var S=m[k];x.lineTo(S.x,S.y)}}function Lie(x,m,k){for(var S,M=0;M<m.length;M++){var O=m[M];M===0&&(S=O),x.lineTo(O.x,O.y)}x.quadraticCurveTo(k.x,k.y,S.x,S.y)}function Ez(x,m,k){x.beginPath&&x.beginPath();for(var S=m,M=0;M<S.length;M++){var O=S[M];x.lineTo(O.x,O.y)}var N=k,$=k[0];x.moveTo($.x,$.y);for(var M=1;M<N.length;M++){var O=N[M];x.lineTo(O.x,O.y)}x.closePath&&x.closePath()}function Mie(x,m,k,S,M){x.beginPath&&x.beginPath(),x.arc(k,S,M,0,Math.PI*2,!1);var O=m,N=O[0];x.moveTo(N.x,N.y);for(var $=0;$<O.length;$++){var H=O[$];x.lineTo(H.x,H.y)}x.closePath&&x.closePath()}function Cz(x,m,k,S){x.arc(m,k,S,0,Math.PI*2,!1)}kz.arrowShapeImpl=function(x){return(Tz||(Tz={polygon:Aie,"triangle-backcurve":Lie,"triangle-tee":Ez,"circle-triangle":Mie,"triangle-cross":Ez,circle:Cz}))[x]};var ab={};ab.drawElement=function(x,m,k,S,M,O){var N=this;m.isNode()?N.drawNode(x,m,k,S,M,O):N.drawEdge(x,m,k,S,M,O)},ab.drawElementOverlay=function(x,m){var k=this;m.isNode()?k.drawNodeOverlay(x,m):k.drawEdgeOverlay(x,m)},ab.drawElementUnderlay=function(x,m){var k=this;m.isNode()?k.drawNodeUnderlay(x,m):k.drawEdgeUnderlay(x,m)},ab.drawCachedElementPortion=function(x,m,k,S,M,O,N,$){var H=this,q=k.getBoundingBox(m);if(!(q.w===0||q.h===0)){var Y=k.getElement(m,q,S,M,O);if(Y!=null){var Z=$(H,m);if(Z===0)return;var ce=N(H,m),ve=q.x1,me=q.y1,Le=q.w,_e=q.h,Te,Fe,Re,Ve,ct;if(ce!==0){var st=k.getRotationPoint(m);Re=st.x,Ve=st.y,x.translate(Re,Ve),x.rotate(ce),ct=H.getImgSmoothing(x),ct||H.setImgSmoothing(x,!0);var Ye=k.getRotationOffset(m);Te=Ye.x,Fe=Ye.y}else Te=ve,Fe=me;var vt;Z!==1&&(vt=x.globalAlpha,x.globalAlpha=vt*Z),x.drawImage(Y.texture.canvas,Y.x,0,Y.width,Y.height,Te,Fe,Le,_e),Z!==1&&(x.globalAlpha=vt),ce!==0&&(x.rotate(-ce),x.translate(-Re,-Ve),ct||H.setImgSmoothing(x,!1))}else k.drawElement(x,m)}};var Die=function(){return 0},Iie=function(m,k){return m.getTextAngle(k,null)},WI=function(m,k){return m.getTextAngle(k,"source")},Oie=function(m,k){return m.getTextAngle(k,"target")},Nie=function(m,k){return k.effectiveOpacity()},mk=function(m,k){return k.pstyle("text-opacity").pfValue*k.effectiveOpacity()};ab.drawCachedElement=function(x,m,k,S,M,O){var N=this,$=N.data,H=$.eleTxrCache,q=$.lblTxrCache,Y=$.slbTxrCache,Z=$.tlbTxrCache,ce=m.boundingBox(),ve=O===!0?H.reasons.highQuality:null;if(!(ce.w===0||ce.h===0||!m.visible())&&(!S||dI(ce,S))){var me=m.isEdge(),Le=m.element()._private.rscratch.badLine;N.drawElementUnderlay(x,m),N.drawCachedElementPortion(x,m,H,k,M,ve,Die,Nie),(!me||!Le)&&N.drawCachedElementPortion(x,m,q,k,M,ve,Iie,mk),me&&!Le&&(N.drawCachedElementPortion(x,m,Y,k,M,ve,WI,mk),N.drawCachedElementPortion(x,m,Z,k,M,ve,Oie,mk)),N.drawElementOverlay(x,m)}},ab.drawElements=function(x,m){for(var k=this,S=0;S<m.length;S++){var M=m[S];k.drawElement(x,M)}},ab.drawCachedElements=function(x,m,k,S){for(var M=this,O=0;O<m.length;O++){var N=m[O];M.drawCachedElement(x,N,k,S)}},ab.drawCachedNodes=function(x,m,k,S){for(var M=this,O=0;O<m.length;O++){var N=m[O];N.isNode()&&M.drawCachedElement(x,N,k,S)}},ab.drawLayeredElements=function(x,m,k,S){var M=this,O=M.data.lyrTxrCache.getLayers(m,k);if(O)for(var N=0;N<O.length;N++){var $=O[N],H=$.bb;H.w===0||H.h===0||x.drawImage($.canvas,H.x1,H.y1,H.w,H.h)}else M.drawCachedElements(x,m,k,S)};var ob={};ob.drawEdge=function(x,m,k){var S=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,M=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,N=this,$=m._private.rscratch;if(!(O&&!m.visible())&&!($.badLine||$.allpts==null||isNaN($.allpts[0]))){var H;k&&(H=k,x.translate(-H.x1,-H.y1));var q=O?m.pstyle("opacity").value:1,Y=O?m.pstyle("line-opacity").value:1,Z=m.pstyle("curve-style").value,ce=m.pstyle("line-style").value,ve=m.pstyle("width").pfValue,me=m.pstyle("line-cap").value,Le=q*Y,_e=q*Y,Te=function(){var ut=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Le;Z==="straight-triangle"?(N.eleStrokeStyle(x,m,ut),N.drawEdgeTrianglePath(m,x,$.allpts)):(x.lineWidth=ve,x.lineCap=me,N.eleStrokeStyle(x,m,ut),N.drawEdgePath(m,x,$.allpts,ce),x.lineCap="butt")},Fe=function(){M&&N.drawEdgeOverlay(x,m)},Re=function(){M&&N.drawEdgeUnderlay(x,m)},Ve=function(){var ut=arguments.length>0&&arguments[0]!==void 0?arguments[0]:_e;N.drawArrowheads(x,m,ut)},ct=function(){N.drawElementText(x,m,null,S)};x.lineJoin="round";var st=m.pstyle("ghost").value==="yes";if(st){var Ye=m.pstyle("ghost-offset-x").pfValue,vt=m.pstyle("ghost-offset-y").pfValue,Qe=m.pstyle("ghost-opacity").value,Lt=Le*Qe;x.translate(Ye,vt),Te(Lt),Ve(Lt),x.translate(-Ye,-vt)}Re(),Te(),Ve(),Fe(),ct(),k&&x.translate(H.x1,H.y1)}};var Sz=function(m){if(!["overlay","underlay"].includes(m))throw new Error("Invalid state");return function(k,S){if(S.visible()){var M=S.pstyle("".concat(m,"-opacity")).value;if(M!==0){var O=this,N=O.usePaths(),$=S._private.rscratch,H=S.pstyle("".concat(m,"-padding")).pfValue,q=2*H,Y=S.pstyle("".concat(m,"-color")).value;k.lineWidth=q,$.edgeType==="self"&&!N?k.lineCap="butt":k.lineCap="round",O.colorStrokeStyle(k,Y[0],Y[1],Y[2],M),O.drawEdgePath(S,k,$.allpts,"solid")}}}};ob.drawEdgeOverlay=Sz("overlay"),ob.drawEdgeUnderlay=Sz("underlay"),ob.drawEdgePath=function(x,m,k,S){var M=x._private.rscratch,O=m,N,$=!1,H=this.usePaths(),q=x.pstyle("line-dash-pattern").pfValue,Y=x.pstyle("line-dash-offset").pfValue;if(H){var Z=k.join("$"),ce=M.pathCacheKey&&M.pathCacheKey===Z;ce?(N=m=M.pathCache,$=!0):(N=m=new Path2D,M.pathCacheKey=Z,M.pathCache=N)}if(O.setLineDash)switch(S){case"dotted":O.setLineDash([1,1]);break;case"dashed":O.setLineDash(q),O.lineDashOffset=Y;break;case"solid":O.setLineDash([]);break}if(!$&&!M.badLine)switch(m.beginPath&&m.beginPath(),m.moveTo(k[0],k[1]),M.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var ve=2;ve+3<k.length;ve+=4)m.quadraticCurveTo(k[ve],k[ve+1],k[ve+2],k[ve+3]);break;case"straight":case"segments":case"haystack":for(var me=2;me+1<k.length;me+=2)m.lineTo(k[me],k[me+1]);break}m=O,H?m.stroke(N):m.stroke(),m.setLineDash&&m.setLineDash([])},ob.drawEdgeTrianglePath=function(x,m,k){m.fillStyle=m.strokeStyle;for(var S=x.pstyle("width").pfValue,M=0;M+1<k.length;M+=2){var O=[k[M+2]-k[M],k[M+3]-k[M+1]],N=Math.sqrt(O[0]*O[0]+O[1]*O[1]),$=[O[1]/N,-O[0]/N],H=[$[0]*S/2,$[1]*S/2];m.beginPath(),m.moveTo(k[M]-H[0],k[M+1]-H[1]),m.lineTo(k[M]+H[0],k[M+1]+H[1]),m.lineTo(k[M+2],k[M+3]),m.closePath(),m.fill()}},ob.drawArrowheads=function(x,m,k){var S=m._private.rscratch,M=S.edgeType==="haystack";M||this.drawArrowhead(x,m,"source",S.arrowStartX,S.arrowStartY,S.srcArrowAngle,k),this.drawArrowhead(x,m,"mid-target",S.midX,S.midY,S.midtgtArrowAngle,k),this.drawArrowhead(x,m,"mid-source",S.midX,S.midY,S.midsrcArrowAngle,k),M||this.drawArrowhead(x,m,"target",S.arrowEndX,S.arrowEndY,S.tgtArrowAngle,k)},ob.drawArrowhead=function(x,m,k,S,M,O,N){if(!(isNaN(S)||S==null||isNaN(M)||M==null||isNaN(O)||O==null)){var $=this,H=m.pstyle(k+"-arrow-shape").value;if(H!=="none"){var q=m.pstyle(k+"-arrow-fill").value==="hollow"?"both":"filled",Y=m.pstyle(k+"-arrow-fill").value,Z=m.pstyle("width").pfValue,ce=m.pstyle(k+"-arrow-width"),ve=ce.value==="match-line"?Z:ce.pfValue;ce.units==="%"&&(ve*=Z);var me=m.pstyle("opacity").value;N===void 0&&(N=me);var Le=x.globalCompositeOperation;(N!==1||Y==="hollow")&&(x.globalCompositeOperation="destination-out",$.colorFillStyle(x,255,255,255,1),$.colorStrokeStyle(x,255,255,255,1),$.drawArrowShape(m,x,q,Z,H,ve,S,M,O),x.globalCompositeOperation=Le);var _e=m.pstyle(k+"-arrow-color").value;$.colorFillStyle(x,_e[0],_e[1],_e[2],N),$.colorStrokeStyle(x,_e[0],_e[1],_e[2],N),$.drawArrowShape(m,x,Y,Z,H,ve,S,M,O)}}},ob.drawArrowShape=function(x,m,k,S,M,O,N,$,H){var q=this,Y=this.usePaths()&&M!=="triangle-cross",Z=!1,ce,ve=m,me={x:N,y:$},Le=x.pstyle("arrow-scale").value,_e=this.getArrowWidth(S,Le),Te=q.arrowShapes[M];if(Y){var Fe=q.arrowPathCache=q.arrowPathCache||[],Re=ud(M),Ve=Fe[Re];Ve!=null?(ce=m=Ve,Z=!0):(ce=m=new Path2D,Fe[Re]=ce)}Z||(m.beginPath&&m.beginPath(),Y?Te.draw(m,1,0,{x:0,y:0},1):Te.draw(m,_e,H,me,S),m.closePath&&m.closePath()),m=ve,Y&&(m.translate(N,$),m.rotate(H),m.scale(_e,_e)),(k==="filled"||k==="both")&&(Y?m.fill(ce):m.fill()),(k==="hollow"||k==="both")&&(m.lineWidth=O/(Y?_e:1),m.lineJoin="miter",Y?m.stroke(ce):m.stroke()),Y&&(m.scale(1/_e,1/_e),m.rotate(-H),m.translate(-N,-$))};var vk={};vk.safeDrawImage=function(x,m,k,S,M,O,N,$,H,q){if(!(M<=0||O<=0||H<=0||q<=0))try{x.drawImage(m,k,S,M,O,N,$,H,q)}catch(Y){lu(Y)}},vk.drawInscribedImage=function(x,m,k,S,M){var O=this,N=k.position(),$=N.x,H=N.y,q=k.cy().style(),Y=q.getIndexedStyle.bind(q),Z=Y(k,"background-fit","value",S),ce=Y(k,"background-repeat","value",S),ve=k.width(),me=k.height(),Le=k.padding()*2,_e=ve+(Y(k,"background-width-relative-to","value",S)==="inner"?0:Le),Te=me+(Y(k,"background-height-relative-to","value",S)==="inner"?0:Le),Fe=k._private.rscratch,Re=Y(k,"background-clip","value",S),Ve=Re==="node",ct=Y(k,"background-image-opacity","value",S)*M,st=Y(k,"background-image-smoothing","value",S),Ye=m.width||m.cachedW,vt=m.height||m.cachedH;(Ye==null||vt==null)&&(document.body.appendChild(m),Ye=m.cachedW=m.width||m.offsetWidth,vt=m.cachedH=m.height||m.offsetHeight,document.body.removeChild(m));var Qe=Ye,Lt=vt;if(Y(k,"background-width","value",S)!=="auto"&&(Y(k,"background-width","units",S)==="%"?Qe=Y(k,"background-width","pfValue",S)*_e:Qe=Y(k,"background-width","pfValue",S)),Y(k,"background-height","value",S)!=="auto"&&(Y(k,"background-height","units",S)==="%"?Lt=Y(k,"background-height","pfValue",S)*Te:Lt=Y(k,"background-height","pfValue",S)),!(Qe===0||Lt===0)){if(Z==="contain"){var Mt=Math.min(_e/Qe,Te/Lt);Qe*=Mt,Lt*=Mt}else if(Z==="cover"){var Mt=Math.max(_e/Qe,Te/Lt);Qe*=Mt,Lt*=Mt}var ut=$-_e/2,Yt=Y(k,"background-position-x","units",S),St=Y(k,"background-position-x","pfValue",S);Yt==="%"?ut+=(_e-Qe)*St:ut+=St;var _n=Y(k,"background-offset-x","units",S),fn=Y(k,"background-offset-x","pfValue",S);_n==="%"?ut+=(_e-Qe)*fn:ut+=fn;var Xt=H-Te/2,Dn=Y(k,"background-position-y","units",S),rr=Y(k,"background-position-y","pfValue",S);Dn==="%"?Xt+=(Te-Lt)*rr:Xt+=rr;var mr=Y(k,"background-offset-y","units",S),Pn=Y(k,"background-offset-y","pfValue",S);mr==="%"?Xt+=(Te-Lt)*Pn:Xt+=Pn,Fe.pathCache&&(ut-=$,Xt-=H,$=0,H=0);var gr=x.globalAlpha;x.globalAlpha=ct;var kr=O.getImgSmoothing(x),Lr=!1;if(st==="no"&&kr?(O.setImgSmoothing(x,!1),Lr=!0):st==="yes"&&!kr&&(O.setImgSmoothing(x,!0),Lr=!0),ce==="no-repeat")Ve&&(x.save(),Fe.pathCache?x.clip(Fe.pathCache):(O.nodeShapes[O.getNodeShape(k)].draw(x,$,H,_e,Te),x.clip())),O.safeDrawImage(x,m,0,0,Ye,vt,ut,Xt,Qe,Lt),Ve&&x.restore();else{var Er=x.createPattern(m,ce);x.fillStyle=Er,O.nodeShapes[O.getNodeShape(k)].draw(x,$,H,_e,Te),x.translate(ut,Xt),x.fill(),x.translate(-ut,-Xt)}x.globalAlpha=gr,Lr&&O.setImgSmoothing(x,kr)}};var k5={};k5.eleTextBiggerThanMin=function(x,m){if(!m){var k=x.cy().zoom(),S=this.getPixelRatio(),M=Math.ceil(fI(k*S));m=Math.pow(2,M)}var O=x.pstyle("font-size").pfValue*m,N=x.pstyle("min-zoomed-font-size").pfValue;return!(O<N)},k5.drawElementText=function(x,m,k,S,M){var O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,N=this;if(S==null){if(O&&!N.eleTextBiggerThanMin(m))return}else if(S===!1)return;if(m.isNode()){var $=m.pstyle("label");if(!$||!$.value)return;var H=N.getLabelJustification(m);x.textAlign=H,x.textBaseline="bottom"}else{var q=m.element()._private.rscratch.badLine,Y=m.pstyle("label"),Z=m.pstyle("source-label"),ce=m.pstyle("target-label");if(q||(!Y||!Y.value)&&(!Z||!Z.value)&&(!ce||!ce.value))return;x.textAlign="center",x.textBaseline="bottom"}var ve=!k,me;k&&(me=k,x.translate(-me.x1,-me.y1)),M==null?(N.drawText(x,m,null,ve,O),m.isEdge()&&(N.drawText(x,m,"source",ve,O),N.drawText(x,m,"target",ve,O))):N.drawText(x,m,M,ve,O),k&&x.translate(me.x1,me.y1)},k5.getFontCache=function(x){var m;this.fontCaches=this.fontCaches||[];for(var k=0;k<this.fontCaches.length;k++)if(m=this.fontCaches[k],m.context===x)return m;return m={context:x},this.fontCaches.push(m),m},k5.setupTextStyle=function(x,m){var k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,S=m.pstyle("font-style").strValue,M=m.pstyle("font-size").pfValue+"px",O=m.pstyle("font-family").strValue,N=m.pstyle("font-weight").strValue,$=k?m.effectiveOpacity()*m.pstyle("text-opacity").value:1,H=m.pstyle("text-outline-opacity").value*$,q=m.pstyle("color").value,Y=m.pstyle("text-outline-color").value;x.font=S+" "+N+" "+M+" "+O,x.lineJoin="round",this.colorFillStyle(x,q[0],q[1],q[2],$),this.colorStrokeStyle(x,Y[0],Y[1],Y[2],H)};function YI(x,m,k,S,M){var O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,N=arguments.length>6?arguments[6]:void 0;x.beginPath(),x.moveTo(m+O,k),x.lineTo(m+S-O,k),x.quadraticCurveTo(m+S,k,m+S,k+O),x.lineTo(m+S,k+M-O),x.quadraticCurveTo(m+S,k+M,m+S-O,k+M),x.lineTo(m+O,k+M),x.quadraticCurveTo(m,k+M,m,k+M-O),x.lineTo(m,k+O),x.quadraticCurveTo(m,k,m+O,k),x.closePath(),N?x.stroke():x.fill()}k5.getTextAngle=function(x,m){var k,S=x._private,M=S.rscratch,O=m?m+"-":"",N=x.pstyle(O+"text-rotation"),$=nb(M,"labelAngle",m);return N.strValue==="autorotate"?k=x.isEdge()?$:0:N.strValue==="none"?k=0:k=N.pfValue,k},k5.drawText=function(x,m,k){var S=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,M=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=m._private,N=O.rscratch,$=M?m.effectiveOpacity():1;if(!(M&&($===0||m.pstyle("text-opacity").value===0))){k==="main"&&(k=null);var H=nb(N,"labelX",k),q=nb(N,"labelY",k),Y,Z,ce=this.getLabelText(m,k);if(ce!=null&&ce!==""&&!isNaN(H)&&!isNaN(q)){this.setupTextStyle(x,m,M);var ve=k?k+"-":"",me=nb(N,"labelWidth",k),Le=nb(N,"labelHeight",k),_e=m.pstyle(ve+"text-margin-x").pfValue,Te=m.pstyle(ve+"text-margin-y").pfValue,Fe=m.isEdge(),Re=m.pstyle("text-halign").value,Ve=m.pstyle("text-valign").value;Fe&&(Re="center",Ve="center"),H+=_e,q+=Te;var ct;switch(S?ct=this.getTextAngle(m,k):ct=0,ct!==0&&(Y=H,Z=q,x.translate(Y,Z),x.rotate(ct),H=0,q=0),Ve){case"top":break;case"center":q+=Le/2;break;case"bottom":q+=Le;break}var st=m.pstyle("text-background-opacity").value,Ye=m.pstyle("text-border-opacity").value,vt=m.pstyle("text-border-width").pfValue,Qe=m.pstyle("text-background-padding").pfValue,Lt=m.pstyle("text-background-shape").strValue,Mt=Lt.indexOf("round")===0,ut=2;if(st>0||vt>0&&Ye>0){var Yt=H-Qe;switch(Re){case"left":Yt-=me;break;case"center":Yt-=me/2;break}var St=q-Le-Qe,_n=me+2*Qe,fn=Le+2*Qe;if(st>0){var Xt=x.fillStyle,Dn=m.pstyle("text-background-color").value;x.fillStyle="rgba("+Dn[0]+","+Dn[1]+","+Dn[2]+","+st*$+")",Mt?YI(x,Yt,St,_n,fn,ut):x.fillRect(Yt,St,_n,fn),x.fillStyle=Xt}if(vt>0&&Ye>0){var rr=x.strokeStyle,mr=x.lineWidth,Pn=m.pstyle("text-border-color").value,gr=m.pstyle("text-border-style").value;if(x.strokeStyle="rgba("+Pn[0]+","+Pn[1]+","+Pn[2]+","+Ye*$+")",x.lineWidth=vt,x.setLineDash)switch(gr){case"dotted":x.setLineDash([1,1]);break;case"dashed":x.setLineDash([4,2]);break;case"double":x.lineWidth=vt/4,x.setLineDash([]);break;case"solid":x.setLineDash([]);break}if(Mt?YI(x,Yt,St,_n,fn,ut,"stroke"):x.strokeRect(Yt,St,_n,fn),gr==="double"){var kr=vt/2;Mt?YI(x,Yt+kr,St+kr,_n-kr*2,fn-kr*2,ut,"stroke"):x.strokeRect(Yt+kr,St+kr,_n-kr*2,fn-kr*2)}x.setLineDash&&x.setLineDash([]),x.lineWidth=mr,x.strokeStyle=rr}}var Lr=2*m.pstyle("text-outline-width").pfValue;if(Lr>0&&(x.lineWidth=Lr),m.pstyle("text-wrap").value==="wrap"){var Er=nb(N,"labelWrapCachedLines",k),Ir=nb(N,"labelLineHeight",k),Kn=me/2,pr=this.getLabelJustification(m);switch(pr==="auto"||(Re==="left"?pr==="left"?H+=-me:pr==="center"&&(H+=-Kn):Re==="center"?pr==="left"?H+=-Kn:pr==="right"&&(H+=Kn):Re==="right"&&(pr==="center"?H+=Kn:pr==="right"&&(H+=me))),Ve){case"top":q-=(Er.length-1)*Ir;break;case"center":case"bottom":q-=(Er.length-1)*Ir;break}for(var Cr=0;Cr<Er.length;Cr++)Lr>0&&x.strokeText(Er[Cr],H,q),x.fillText(Er[Cr],H,q),q+=Ir}else Lr>0&&x.strokeText(ce,H,q),x.fillText(ce,H,q);ct!==0&&(x.rotate(-ct),x.translate(-Y,-Z))}}};var y8={};y8.drawNode=function(x,m,k){var S=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,M=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,O=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,N=this,$,H,q=m._private,Y=q.rscratch,Z=m.position();if(!(!X(Z.x)||!X(Z.y))&&!(O&&!m.visible())){var ce=O?m.effectiveOpacity():1,ve=N.usePaths(),me,Le=!1,_e=m.padding();$=m.width()+2*_e,H=m.height()+2*_e;var Te;k&&(Te=k,x.translate(-Te.x1,-Te.y1));for(var Fe=m.pstyle("background-image"),Re=Fe.value,Ve=new Array(Re.length),ct=new Array(Re.length),st=0,Ye=0;Ye<Re.length;Ye++){var vt=Re[Ye],Qe=Ve[Ye]=vt!=null&&vt!=="none";if(Qe){var Lt=m.cy().style().getIndexedStyle(m,"background-image-crossorigin","value",Ye);st++,ct[Ye]=N.getCachedImage(vt,Lt,function(){q.backgroundTimestamp=Date.now(),m.emitAndNotify("background")})}}var Mt=m.pstyle("background-blacken").value,ut=m.pstyle("border-width").pfValue,Yt=m.pstyle("background-opacity").value*ce,St=m.pstyle("border-color").value,_n=m.pstyle("border-style").value,fn=m.pstyle("border-opacity").value*ce,Xt=m.pstyle("outline-width").pfValue,Dn=m.pstyle("outline-color").value,rr=m.pstyle("outline-style").value,mr=m.pstyle("outline-opacity").value*ce,Pn=m.pstyle("outline-offset").value;x.lineJoin="miter";var gr=function(){var er=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Yt;N.eleFillStyle(x,m,er)},kr=function(){var er=arguments.length>0&&arguments[0]!==void 0?arguments[0]:fn;N.colorStrokeStyle(x,St[0],St[1],St[2],er)},Lr=function(){var er=arguments.length>0&&arguments[0]!==void 0?arguments[0]:mr;N.colorStrokeStyle(x,Dn[0],Dn[1],Dn[2],er)},Er=function(er,K,Qn,xr){var ur=N.nodePathCache=N.nodePathCache||[],Ut=ld(Qn==="polygon"?Qn+","+xr.join(","):Qn,""+K,""+er),Vs=ur[Ut],vr,Cs=!1;return Vs!=null?(vr=Vs,Cs=!0,Y.pathCache=vr):(vr=new Path2D,ur[Ut]=Y.pathCache=vr),{path:vr,cacheHit:Cs}},Ir=m.pstyle("shape").strValue,Kn=m.pstyle("shape-polygon-points").pfValue;if(ve){x.translate(Z.x,Z.y);var pr=Er($,H,Ir,Kn);me=pr.path,Le=pr.cacheHit}var Cr=function(){if(!Le){var er=Z;ve&&(er={x:0,y:0}),N.nodeShapes[N.getNodeShape(m)].draw(me||x,er.x,er.y,$,H)}ve?x.fill(me):x.fill()},Or=function(){for(var er=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ce,K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Qn=q.backgrounding,xr=0,ur=0;ur<ct.length;ur++){var Ut=m.cy().style().getIndexedStyle(m,"background-image-containment","value",ur);if(K&&Ut==="over"||!K&&Ut==="inside"){xr++;continue}Ve[ur]&&ct[ur].complete&&!ct[ur].error&&(xr++,N.drawInscribedImage(x,ct[ur],m,ur,er))}q.backgrounding=xr!==st,Qn!==q.backgrounding&&m.updateStyle(!1)},_i=function(){var er=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ce;N.hasPie(m)&&(N.drawPie(x,m,K),er&&(ve||N.nodeShapes[N.getNodeShape(m)].draw(x,Z.x,Z.y,$,H)))},xs=function(){var er=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ce,K=(Mt>0?Mt:-Mt)*er,Qn=Mt>0?0:255;Mt!==0&&(N.colorFillStyle(x,Qn,Qn,Qn,K),ve?x.fill(me):x.fill())},va=function(){if(ut>0){if(x.lineWidth=ut,x.lineCap="butt",x.setLineDash)switch(_n){case"dotted":x.setLineDash([1,1]);break;case"dashed":x.setLineDash([4,2]);break;case"solid":case"double":x.setLineDash([]);break}if(ve?x.stroke(me):x.stroke(),_n==="double"){x.lineWidth=ut/3;var er=x.globalCompositeOperation;x.globalCompositeOperation="destination-out",ve?x.stroke(me):x.stroke(),x.globalCompositeOperation=er}x.setLineDash&&x.setLineDash([])}},Di=function(){if(Xt>0){if(x.lineWidth=Xt,x.lineCap="butt",x.setLineDash)switch(rr){case"dotted":x.setLineDash([1,1]);break;case"dashed":x.setLineDash([4,2]);break;case"solid":case"double":x.setLineDash([]);break}var er=Z;ve&&(er={x:0,y:0});var K=N.getNodeShape(m),Qn=($+ut+(Xt+Pn))/$,xr=(H+ut+(Xt+Pn))/H,ur=$*Qn,Ut=H*xr,Vs=N.nodeShapes[K].points,vr;if(ve){var Cs=Er(ur,Ut,K,Vs);vr=Cs.path}if(K==="ellipse")N.drawEllipsePath(vr||x,er.x,er.y,ur,Ut);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(K)){var lo=0,qc=0,$a=0;K==="round-diamond"?lo=(ut+Pn+Xt)*1.4:K==="round-heptagon"?(lo=(ut+Pn+Xt)*1.075,$a=-(ut/2+Pn+Xt)/35):K==="round-hexagon"?lo=(ut+Pn+Xt)*1.12:K==="round-pentagon"?(lo=(ut+Pn+Xt)*1.13,$a=-(ut/2+Pn+Xt)/15):K==="round-tag"?(lo=(ut+Pn+Xt)*1.12,qc=(ut/2+Xt+Pn)*.07):K==="round-triangle"&&(lo=(ut+Pn+Xt)*(Math.PI/2),$a=-(ut+Pn/2+Xt)/Math.PI),lo!==0&&(Qn=($+lo)/$,xr=(H+lo)/H),N.drawRoundPolygonPath(vr||x,er.x+qc,er.y+$a,$*Qn,H*xr,Vs)}else if(["roundrectangle","round-rectangle"].includes(K))N.drawRoundRectanglePath(vr||x,er.x,er.y,ur,Ut);else if(["cutrectangle","cut-rectangle"].includes(K))N.drawCutRectanglePath(vr||x,er.x,er.y,ur,Ut);else if(["bottomroundrectangle","bottom-round-rectangle"].includes(K))N.drawBottomRoundRectanglePath(vr||x,er.x,er.y,ur,Ut);else if(K==="barrel")N.drawBarrelPath(vr||x,er.x,er.y,ur,Ut);else if(K.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(K)){var Mc=(ut+Xt+Pn)/$;Vs=pS(bS(Vs,Mc)),N.drawPolygonPath(vr||x,er.x,er.y,$,H,Vs)}else{var wa=(ut+Xt+Pn)/$;Vs=pS(bS(Vs,-wa)),N.drawPolygonPath(vr||x,er.x,er.y,$,H,Vs)}if(ve?x.stroke(vr):x.stroke(),rr==="double"){x.lineWidth=ut/3;var wo=x.globalCompositeOperation;x.globalCompositeOperation="destination-out",ve?x.stroke(vr):x.stroke(),x.globalCompositeOperation=wo}x.setLineDash&&x.setLineDash([])}},pi=function(){M&&N.drawNodeOverlay(x,m,Z,$,H)},fs=function(){M&&N.drawNodeUnderlay(x,m,Z,$,H)},Fs=function(){N.drawElementText(x,m,null,S)},ks=m.pstyle("ghost").value==="yes";if(ks){var Rs=m.pstyle("ghost-offset-x").pfValue,vo=m.pstyle("ghost-offset-y").pfValue,ja=m.pstyle("ghost-opacity").value,Ma=ja*ce;x.translate(Rs,vo),Lr(),Di(),gr(ja*Yt),Cr(),Or(Ma,!0),kr(ja*fn),va(),_i(Mt!==0||ut!==0),Or(Ma,!1),xs(Ma),x.translate(-Rs,-vo)}ve&&x.translate(-Z.x,-Z.y),fs(),ve&&x.translate(Z.x,Z.y),Lr(),Di(),gr(),Cr(),Or(ce,!0),kr(),va(),_i(Mt!==0||ut!==0),Or(ce,!1),xs(),ve&&x.translate(-Z.x,-Z.y),Fs(),pi(),k&&x.translate(Te.x1,Te.y1)}};var XI=function(m){if(!["overlay","underlay"].includes(m))throw new Error("Invalid state");return function(k,S,M,O,N){var $=this;if(S.visible()){var H=S.pstyle("".concat(m,"-padding")).pfValue,q=S.pstyle("".concat(m,"-opacity")).value,Y=S.pstyle("".concat(m,"-color")).value,Z=S.pstyle("".concat(m,"-shape")).value;if(q>0){if(M=M||S.position(),O==null||N==null){var ce=S.padding();O=S.width()+2*ce,N=S.height()+2*ce}$.colorFillStyle(k,Y[0],Y[1],Y[2],q),$.nodeShapes[Z].draw(k,M.x,M.y,O+H*2,N+H*2),k.fill()}}}};y8.drawNodeOverlay=XI("overlay"),y8.drawNodeUnderlay=XI("underlay"),y8.hasPie=function(x){return x=x[0],x._private.hasPie},y8.drawPie=function(x,m,k,S){m=m[0],S=S||m.position();var M=m.cy().style(),O=m.pstyle("pie-size"),N=S.x,$=S.y,H=m.width(),q=m.height(),Y=Math.min(H,q)/2,Z=0,ce=this.usePaths();ce&&(N=0,$=0),O.units==="%"?Y=Y*O.pfValue:O.pfValue!==void 0&&(Y=O.pfValue/2);for(var ve=1;ve<=M.pieBackgroundN;ve++){var me=m.pstyle("pie-"+ve+"-background-size").value,Le=m.pstyle("pie-"+ve+"-background-color").value,_e=m.pstyle("pie-"+ve+"-background-opacity").value*k,Te=me/100;Te+Z>1&&(Te=1-Z);var Fe=1.5*Math.PI+2*Math.PI*Z,Re=2*Math.PI*Te,Ve=Fe+Re;me===0||Z>=1||Z+Te>1||(x.beginPath(),x.moveTo(N,$),x.arc(N,$,Y,Fe,Ve),x.closePath(),this.colorFillStyle(x,Le[0],Le[1],Le[2],_e),x.fill(),Z+=Te)}};var Gg={},Pie=100;Gg.getPixelRatio=function(){var x=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var m=x.backingStorePixelRatio||x.webkitBackingStorePixelRatio||x.mozBackingStorePixelRatio||x.msBackingStorePixelRatio||x.oBackingStorePixelRatio||x.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/m},Gg.paintCache=function(x){for(var m=this.paintCaches=this.paintCaches||[],k=!0,S,M=0;M<m.length;M++)if(S=m[M],S.context===x){k=!1;break}return k&&(S={context:x},m.push(S)),S},Gg.createGradientStyleFor=function(x,m,k,S,M){var O,N=this.usePaths(),$=k.pstyle(m+"-gradient-stop-colors").value,H=k.pstyle(m+"-gradient-stop-positions").pfValue;if(S==="radial-gradient")if(k.isEdge()){var q=k.sourceEndpoint(),Y=k.targetEndpoint(),Z=k.midpoint(),ce=d5(q,Z),ve=d5(Y,Z);O=x.createRadialGradient(Z.x,Z.y,0,Z.x,Z.y,Math.max(ce,ve))}else{var me=N?{x:0,y:0}:k.position(),Le=k.paddedWidth(),_e=k.paddedHeight();O=x.createRadialGradient(me.x,me.y,0,me.x,me.y,Math.max(Le,_e))}else if(k.isEdge()){var Te=k.sourceEndpoint(),Fe=k.targetEndpoint();O=x.createLinearGradient(Te.x,Te.y,Fe.x,Fe.y)}else{var Re=N?{x:0,y:0}:k.position(),Ve=k.paddedWidth(),ct=k.paddedHeight(),st=Ve/2,Ye=ct/2,vt=k.pstyle("background-gradient-direction").value;switch(vt){case"to-bottom":O=x.createLinearGradient(Re.x,Re.y-Ye,Re.x,Re.y+Ye);break;case"to-top":O=x.createLinearGradient(Re.x,Re.y+Ye,Re.x,Re.y-Ye);break;case"to-left":O=x.createLinearGradient(Re.x+st,Re.y,Re.x-st,Re.y);break;case"to-right":O=x.createLinearGradient(Re.x-st,Re.y,Re.x+st,Re.y);break;case"to-bottom-right":case"to-right-bottom":O=x.createLinearGradient(Re.x-st,Re.y-Ye,Re.x+st,Re.y+Ye);break;case"to-top-right":case"to-right-top":O=x.createLinearGradient(Re.x-st,Re.y+Ye,Re.x+st,Re.y-Ye);break;case"to-bottom-left":case"to-left-bottom":O=x.createLinearGradient(Re.x+st,Re.y-Ye,Re.x-st,Re.y+Ye);break;case"to-top-left":case"to-left-top":O=x.createLinearGradient(Re.x+st,Re.y+Ye,Re.x-st,Re.y-Ye);break}}if(!O)return null;for(var Qe=H.length===$.length,Lt=$.length,Mt=0;Mt<Lt;Mt++)O.addColorStop(Qe?H[Mt]:Mt/(Lt-1),"rgba("+$[Mt][0]+","+$[Mt][1]+","+$[Mt][2]+","+M+")");return O},Gg.gradientFillStyle=function(x,m,k,S){var M=this.createGradientStyleFor(x,"background",m,k,S);if(!M)return null;x.fillStyle=M},Gg.colorFillStyle=function(x,m,k,S,M){x.fillStyle="rgba("+m+","+k+","+S+","+M+")"},Gg.eleFillStyle=function(x,m,k){var S=m.pstyle("background-fill").value;if(S==="linear-gradient"||S==="radial-gradient")this.gradientFillStyle(x,m,S,k);else{var M=m.pstyle("background-color").value;this.colorFillStyle(x,M[0],M[1],M[2],k)}},Gg.gradientStrokeStyle=function(x,m,k,S){var M=this.createGradientStyleFor(x,"line",m,k,S);if(!M)return null;x.strokeStyle=M},Gg.colorStrokeStyle=function(x,m,k,S,M){x.strokeStyle="rgba("+m+","+k+","+S+","+M+")"},Gg.eleStrokeStyle=function(x,m,k){var S=m.pstyle("line-fill").value;if(S==="linear-gradient"||S==="radial-gradient")this.gradientStrokeStyle(x,m,S,k);else{var M=m.pstyle("line-color").value;this.colorStrokeStyle(x,M[0],M[1],M[2],k)}},Gg.matchCanvasSize=function(x){var m=this,k=m.data,S=m.findContainerClientCoords(),M=S[2],O=S[3],N=m.getPixelRatio(),$=m.motionBlurPxRatio;(x===m.data.bufferCanvases[m.MOTIONBLUR_BUFFER_NODE]||x===m.data.bufferCanvases[m.MOTIONBLUR_BUFFER_DRAG])&&(N=$);var H=M*N,q=O*N,Y;if(!(H===m.canvasWidth&&q===m.canvasHeight)){m.fontCaches=null;var Z=k.canvasContainer;Z.style.width=M+"px",Z.style.height=O+"px";for(var ce=0;ce<m.CANVAS_LAYERS;ce++)Y=k.canvases[ce],Y.width=H,Y.height=q,Y.style.width=M+"px",Y.style.height=O+"px";for(var ce=0;ce<m.BUFFER_COUNT;ce++)Y=k.bufferCanvases[ce],Y.width=H,Y.height=q,Y.style.width=M+"px",Y.style.height=O+"px";m.textureMult=1,N<=1&&(Y=k.bufferCanvases[m.TEXTURE_BUFFER],m.textureMult=2,Y.width=H*m.textureMult,Y.height=q*m.textureMult),m.canvasWidth=H,m.canvasHeight=q}},Gg.renderTo=function(x,m,k,S){this.render({forcedContext:x,forcedZoom:m,forcedPan:k,drawAllLayers:!0,forcedPxRatio:S})},Gg.render=function(x){x=x||pj();var m=x.forcedContext,k=x.drawAllLayers,S=x.drawOnlyNodeLayer,M=x.forcedZoom,O=x.forcedPan,N=this,$=x.forcedPxRatio===void 0?this.getPixelRatio():x.forcedPxRatio,H=N.cy,q=N.data,Y=q.canvasNeedsRedraw,Z=N.textureOnViewport&&!m&&(N.pinching||N.hoverData.dragging||N.swipePanning||N.data.wheelZooming),ce=x.motionBlur!==void 0?x.motionBlur:N.motionBlur,ve=N.motionBlurPxRatio,me=H.hasCompoundNodes(),Le=N.hoverData.draggingEles,_e=!!(N.hoverData.selecting||N.touchData.selecting);ce=ce&&!m&&N.motionBlurEnabled&&!_e;var Te=ce;m||(N.prevPxRatio!==$&&(N.invalidateContainerClientCoordsCache(),N.matchCanvasSize(N.container),N.redrawHint("eles",!0),N.redrawHint("drag",!0)),N.prevPxRatio=$),!m&&N.motionBlurTimeout&&clearTimeout(N.motionBlurTimeout),ce&&(N.mbFrames==null&&(N.mbFrames=0),N.mbFrames++,N.mbFrames<3&&(Te=!1),N.mbFrames>N.minMbLowQualFrames&&(N.motionBlurPxRatio=N.mbPxRBlurry)),N.clearingMotionBlur&&(N.motionBlurPxRatio=1),N.textureDrawLastFrame&&!Z&&(Y[N.NODE]=!0,Y[N.SELECT_BOX]=!0);var Fe=H.style(),Re=H.zoom(),Ve=M!==void 0?M:Re,ct=H.pan(),st={x:ct.x,y:ct.y},Ye={zoom:Re,pan:{x:ct.x,y:ct.y}},vt=N.prevViewport,Qe=vt===void 0||Ye.zoom!==vt.zoom||Ye.pan.x!==vt.pan.x||Ye.pan.y!==vt.pan.y;!Qe&&!(Le&&!me)&&(N.motionBlurPxRatio=1),O&&(st=O),Ve*=$,st.x*=$,st.y*=$;var Lt=N.getCachedZSortedEles();function Mt(Di,pi,fs,Fs,ks){var Rs=Di.globalCompositeOperation;Di.globalCompositeOperation="destination-out",N.colorFillStyle(Di,255,255,255,N.motionBlurTransparency),Di.fillRect(pi,fs,Fs,ks),Di.globalCompositeOperation=Rs}function ut(Di,pi){var fs,Fs,ks,Rs;!N.clearingMotionBlur&&(Di===q.bufferContexts[N.MOTIONBLUR_BUFFER_NODE]||Di===q.bufferContexts[N.MOTIONBLUR_BUFFER_DRAG])?(fs={x:ct.x*ve,y:ct.y*ve},Fs=Re*ve,ks=N.canvasWidth*ve,Rs=N.canvasHeight*ve):(fs=st,Fs=Ve,ks=N.canvasWidth,Rs=N.canvasHeight),Di.setTransform(1,0,0,1,0,0),pi==="motionBlur"?Mt(Di,0,0,ks,Rs):!m&&(pi===void 0||pi)&&Di.clearRect(0,0,ks,Rs),k||(Di.translate(fs.x,fs.y),Di.scale(Fs,Fs)),O&&Di.translate(O.x,O.y),M&&Di.scale(M,M)}if(Z||(N.textureDrawLastFrame=!1),Z){if(N.textureDrawLastFrame=!0,!N.textureCache){N.textureCache={},N.textureCache.bb=H.mutableElements().boundingBox(),N.textureCache.texture=N.data.bufferCanvases[N.TEXTURE_BUFFER];var Yt=N.data.bufferContexts[N.TEXTURE_BUFFER];Yt.setTransform(1,0,0,1,0,0),Yt.clearRect(0,0,N.canvasWidth*N.textureMult,N.canvasHeight*N.textureMult),N.render({forcedContext:Yt,drawOnlyNodeLayer:!0,forcedPxRatio:$*N.textureMult});var Ye=N.textureCache.viewport={zoom:H.zoom(),pan:H.pan(),width:N.canvasWidth,height:N.canvasHeight};Ye.mpan={x:(0-Ye.pan.x)/Ye.zoom,y:(0-Ye.pan.y)/Ye.zoom}}Y[N.DRAG]=!1,Y[N.NODE]=!1;var St=q.contexts[N.NODE],_n=N.textureCache.texture,Ye=N.textureCache.viewport;St.setTransform(1,0,0,1,0,0),ce?Mt(St,0,0,Ye.width,Ye.height):St.clearRect(0,0,Ye.width,Ye.height);var fn=Fe.core("outside-texture-bg-color").value,Xt=Fe.core("outside-texture-bg-opacity").value;N.colorFillStyle(St,fn[0],fn[1],fn[2],Xt),St.fillRect(0,0,Ye.width,Ye.height);var Re=H.zoom();ut(St,!1),St.clearRect(Ye.mpan.x,Ye.mpan.y,Ye.width/Ye.zoom/$,Ye.height/Ye.zoom/$),St.drawImage(_n,Ye.mpan.x,Ye.mpan.y,Ye.width/Ye.zoom/$,Ye.height/Ye.zoom/$)}else N.textureOnViewport&&!m&&(N.textureCache=null);var Dn=H.extent(),rr=N.pinching||N.hoverData.dragging||N.swipePanning||N.data.wheelZooming||N.hoverData.draggingEles||N.cy.animated(),mr=N.hideEdgesOnViewport&&rr,Pn=[];if(Pn[N.NODE]=!Y[N.NODE]&&ce&&!N.clearedForMotionBlur[N.NODE]||N.clearingMotionBlur,Pn[N.NODE]&&(N.clearedForMotionBlur[N.NODE]=!0),Pn[N.DRAG]=!Y[N.DRAG]&&ce&&!N.clearedForMotionBlur[N.DRAG]||N.clearingMotionBlur,Pn[N.DRAG]&&(N.clearedForMotionBlur[N.DRAG]=!0),Y[N.NODE]||k||S||Pn[N.NODE]){var gr=ce&&!Pn[N.NODE]&&ve!==1,St=m||(gr?N.data.bufferContexts[N.MOTIONBLUR_BUFFER_NODE]:q.contexts[N.NODE]),kr=ce&&!gr?"motionBlur":void 0;ut(St,kr),mr?N.drawCachedNodes(St,Lt.nondrag,$,Dn):N.drawLayeredElements(St,Lt.nondrag,$,Dn),N.debug&&N.drawDebugPoints(St,Lt.nondrag),!k&&!ce&&(Y[N.NODE]=!1)}if(!S&&(Y[N.DRAG]||k||Pn[N.DRAG])){var gr=ce&&!Pn[N.DRAG]&&ve!==1,St=m||(gr?N.data.bufferContexts[N.MOTIONBLUR_BUFFER_DRAG]:q.contexts[N.DRAG]);ut(St,ce&&!gr?"motionBlur":void 0),mr?N.drawCachedNodes(St,Lt.drag,$,Dn):N.drawCachedElements(St,Lt.drag,$,Dn),N.debug&&N.drawDebugPoints(St,Lt.drag),!k&&!ce&&(Y[N.DRAG]=!1)}if(N.showFps||!S&&Y[N.SELECT_BOX]&&!k){var St=m||q.contexts[N.SELECT_BOX];if(ut(St),N.selection[4]==1&&(N.hoverData.selecting||N.touchData.selecting)){var Re=N.cy.zoom(),Lr=Fe.core("selection-box-border-width").value/Re;St.lineWidth=Lr,St.fillStyle="rgba("+Fe.core("selection-box-color").value[0]+","+Fe.core("selection-box-color").value[1]+","+Fe.core("selection-box-color").value[2]+","+Fe.core("selection-box-opacity").value+")",St.fillRect(N.selection[0],N.selection[1],N.selection[2]-N.selection[0],N.selection[3]-N.selection[1]),Lr>0&&(St.strokeStyle="rgba("+Fe.core("selection-box-border-color").value[0]+","+Fe.core("selection-box-border-color").value[1]+","+Fe.core("selection-box-border-color").value[2]+","+Fe.core("selection-box-opacity").value+")",St.strokeRect(N.selection[0],N.selection[1],N.selection[2]-N.selection[0],N.selection[3]-N.selection[1]))}if(q.bgActivePosistion&&!N.hoverData.selecting){var Re=N.cy.zoom(),Er=q.bgActivePosistion;St.fillStyle="rgba("+Fe.core("active-bg-color").value[0]+","+Fe.core("active-bg-color").value[1]+","+Fe.core("active-bg-color").value[2]+","+Fe.core("active-bg-opacity").value+")",St.beginPath(),St.arc(Er.x,Er.y,Fe.core("active-bg-size").pfValue/Re,0,2*Math.PI),St.fill()}var Ir=N.lastRedrawTime;if(N.showFps&&Ir){Ir=Math.round(Ir);var Kn=Math.round(1e3/Ir);St.setTransform(1,0,0,1,0,0),St.fillStyle="rgba(255, 0, 0, 0.75)",St.strokeStyle="rgba(255, 0, 0, 0.75)",St.lineWidth=1,St.fillText("1 frame = "+Ir+" ms = "+Kn+" fps",0,20);var pr=60;St.strokeRect(0,30,250,20),St.fillRect(0,30,250*Math.min(Kn/pr,1),20)}k||(Y[N.SELECT_BOX]=!1)}if(ce&&ve!==1){var Cr=q.contexts[N.NODE],Or=N.data.bufferCanvases[N.MOTIONBLUR_BUFFER_NODE],_i=q.contexts[N.DRAG],xs=N.data.bufferCanvases[N.MOTIONBLUR_BUFFER_DRAG],va=function(pi,fs,Fs){pi.setTransform(1,0,0,1,0,0),Fs||!Te?pi.clearRect(0,0,N.canvasWidth,N.canvasHeight):Mt(pi,0,0,N.canvasWidth,N.canvasHeight);var ks=ve;pi.drawImage(fs,0,0,N.canvasWidth*ks,N.canvasHeight*ks,0,0,N.canvasWidth,N.canvasHeight)};(Y[N.NODE]||Pn[N.NODE])&&(va(Cr,Or,Pn[N.NODE]),Y[N.NODE]=!1),(Y[N.DRAG]||Pn[N.DRAG])&&(va(_i,xs,Pn[N.DRAG]),Y[N.DRAG]=!1)}N.prevViewport=Ye,N.clearingMotionBlur&&(N.clearingMotionBlur=!1,N.motionBlurCleared=!0,N.motionBlur=!0),ce&&(N.motionBlurTimeout=setTimeout(function(){N.motionBlurTimeout=null,N.clearedForMotionBlur[N.NODE]=!1,N.clearedForMotionBlur[N.DRAG]=!1,N.motionBlur=!1,N.clearingMotionBlur=!Z,N.mbFrames=0,Y[N.NODE]=!0,Y[N.DRAG]=!0,N.redraw()},Pie)),m||H.emit("render")};var oy={};oy.drawPolygonPath=function(x,m,k,S,M,O){var N=S/2,$=M/2;x.beginPath&&x.beginPath(),x.moveTo(m+N*O[0],k+$*O[1]);for(var H=1;H<O.length/2;H++)x.lineTo(m+N*O[H*2],k+$*O[H*2+1]);x.closePath()},oy.drawRoundPolygonPath=function(x,m,k,S,M,O){var N=S/2,$=M/2,H=bI(S,M);x.beginPath&&x.beginPath();for(var q=0;q<O.length/4;q++){var Y=void 0,Z=void 0;q===0?Y=O.length-2:Y=q*4-2,Z=q*4+2;var ce=m+N*O[q*4],ve=k+$*O[q*4+1],me=-O[Y]*O[Z]-O[Y+1]*O[Z+1],Le=H/Math.tan(Math.acos(me)/2),_e=ce-Le*O[Y],Te=ve-Le*O[Y+1],Fe=ce+Le*O[Z],Re=ve+Le*O[Z+1];q===0?x.moveTo(_e,Te):x.lineTo(_e,Te),x.arcTo(ce,ve,Fe,Re,H)}x.closePath()},oy.drawRoundRectanglePath=function(x,m,k,S,M){var O=S/2,N=M/2,$=X9(S,M);x.beginPath&&x.beginPath(),x.moveTo(m,k-N),x.arcTo(m+O,k-N,m+O,k,$),x.arcTo(m+O,k+N,m,k+N,$),x.arcTo(m-O,k+N,m-O,k,$),x.arcTo(m-O,k-N,m,k-N,$),x.lineTo(m,k-N),x.closePath()},oy.drawBottomRoundRectanglePath=function(x,m,k,S,M){var O=S/2,N=M/2,$=X9(S,M);x.beginPath&&x.beginPath(),x.moveTo(m,k-N),x.lineTo(m+O,k-N),x.lineTo(m+O,k),x.arcTo(m+O,k+N,m,k+N,$),x.arcTo(m-O,k+N,m-O,k,$),x.lineTo(m-O,k-N),x.lineTo(m,k-N),x.closePath()},oy.drawCutRectanglePath=function(x,m,k,S,M){var O=S/2,N=M/2,$=Cj();x.beginPath&&x.beginPath(),x.moveTo(m-O+$,k-N),x.lineTo(m+O-$,k-N),x.lineTo(m+O,k-N+$),x.lineTo(m+O,k+N-$),x.lineTo(m+O-$,k+N),x.lineTo(m-O+$,k+N),x.lineTo(m-O,k+N-$),x.lineTo(m-O,k-N+$),x.closePath()},oy.drawBarrelPath=function(x,m,k,S,M){var O=S/2,N=M/2,$=m-O,H=m+O,q=k-N,Y=k+N,Z=mI(S,M),ce=Z.widthOffset,ve=Z.heightOffset,me=Z.ctrlPtOffsetPct*ce;x.beginPath&&x.beginPath(),x.moveTo($,q+ve),x.lineTo($,Y-ve),x.quadraticCurveTo($+me,Y,$+ce,Y),x.lineTo(H-ce,Y),x.quadraticCurveTo(H-me,Y,H,Y-ve),x.lineTo(H,q+ve),x.quadraticCurveTo(H-me,q,H-ce,q),x.lineTo($+ce,q),x.quadraticCurveTo($+me,q,$,q+ve),x.closePath()};for(var _z=Math.sin(0),Az=Math.cos(0),QI={},JI={},Lz=Math.PI/40,x8=0*Math.PI;x8<2*Math.PI;x8+=Lz)QI[x8]=Math.sin(x8),JI[x8]=Math.cos(x8);oy.drawEllipsePath=function(x,m,k,S,M){if(x.beginPath&&x.beginPath(),x.ellipse)x.ellipse(m,k,S/2,M/2,0,0,2*Math.PI);else for(var O,N,$=S/2,H=M/2,q=0*Math.PI;q<2*Math.PI;q+=Lz)O=m-$*QI[q]*_z+$*JI[q]*Az,N=k+H*JI[q]*_z+H*QI[q]*Az,q===0?x.moveTo(O,N):x.lineTo(O,N);x.closePath()};var wk={};wk.createBuffer=function(x,m){var k=document.createElement("canvas");return k.width=x,k.height=m,[k,k.getContext("2d")]},wk.bufferCanvasImage=function(x){var m=this.cy,k=m.mutableElements(),S=k.boundingBox(),M=this.findContainerClientCoords(),O=x.full?Math.ceil(S.w):M[2],N=x.full?Math.ceil(S.h):M[3],$=X(x.maxWidth)||X(x.maxHeight),H=this.getPixelRatio(),q=1;if(x.scale!==void 0)O*=x.scale,N*=x.scale,q=x.scale;else if($){var Y=1/0,Z=1/0;X(x.maxWidth)&&(Y=q*x.maxWidth/O),X(x.maxHeight)&&(Z=q*x.maxHeight/N),q=Math.min(Y,Z),O*=q,N*=q}$||(O*=H,N*=H,q*=H);var ce=document.createElement("canvas");ce.width=O,ce.height=N,ce.style.width=O+"px",ce.style.height=N+"px";var ve=ce.getContext("2d");if(O>0&&N>0){ve.clearRect(0,0,O,N),ve.globalCompositeOperation="source-over";var me=this.getCachedZSortedEles();if(x.full)ve.translate(-S.x1*q,-S.y1*q),ve.scale(q,q),this.drawElements(ve,me),ve.scale(1/q,1/q),ve.translate(S.x1*q,S.y1*q);else{var Le=m.pan(),_e={x:Le.x*q,y:Le.y*q};q*=m.zoom(),ve.translate(_e.x,_e.y),ve.scale(q,q),this.drawElements(ve,me),ve.scale(1/q,1/q),ve.translate(-_e.x,-_e.y)}x.bg&&(ve.globalCompositeOperation="destination-over",ve.fillStyle=x.bg,ve.rect(0,0,O,N),ve.fill())}return ce};function Bie(x,m){for(var k=atob(x),S=new ArrayBuffer(k.length),M=new Uint8Array(S),O=0;O<k.length;O++)M[O]=k.charCodeAt(O);return new Blob([S],{type:m})}function Mz(x){var m=x.indexOf(",");return x.substr(m+1)}function Dz(x,m,k){var S=function(){return m.toDataURL(k,x.quality)};switch(x.output){case"blob-promise":return new s8(function(M,O){try{m.toBlob(function(N){N!=null?M(N):O(new Error("`canvas.toBlob()` sent a null value in its callback"))},k,x.quality)}catch(N){O(N)}});case"blob":return Bie(Mz(S()),k);case"base64":return Mz(S());case"base64uri":default:return S()}}wk.png=function(x){return Dz(x,this.bufferCanvasImage(x),"image/png")},wk.jpg=function(x){return Dz(x,this.bufferCanvasImage(x),"image/jpeg")};var Iz={};Iz.nodeShapeImpl=function(x,m,k,S,M,O,N){switch(x){case"ellipse":return this.drawEllipsePath(m,k,S,M,O);case"polygon":return this.drawPolygonPath(m,k,S,M,O,N);case"round-polygon":return this.drawRoundPolygonPath(m,k,S,M,O,N);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(m,k,S,M,O);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(m,k,S,M,O);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(m,k,S,M,O);case"barrel":return this.drawBarrelPath(m,k,S,M,O)}};var Oz=yk,zc=yk.prototype;zc.CANVAS_LAYERS=3,zc.SELECT_BOX=0,zc.DRAG=1,zc.NODE=2,zc.BUFFER_COUNT=3,zc.TEXTURE_BUFFER=0,zc.MOTIONBLUR_BUFFER_NODE=1,zc.MOTIONBLUR_BUFFER_DRAG=2;function yk(x){var m=this;m.data={canvases:new Array(zc.CANVAS_LAYERS),contexts:new Array(zc.CANVAS_LAYERS),canvasNeedsRedraw:new Array(zc.CANVAS_LAYERS),bufferCanvases:new Array(zc.BUFFER_COUNT),bufferContexts:new Array(zc.CANVAS_LAYERS)};var k="-webkit-tap-highlight-color",S="rgba(0,0,0,0)";m.data.canvasContainer=document.createElement("div");var M=m.data.canvasContainer.style;m.data.canvasContainer.style[k]=S,M.position="relative",M.zIndex="0",M.overflow="hidden";var O=x.cy.container();O.appendChild(m.data.canvasContainer),O.style[k]=S;var N={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};zt()&&(N["-ms-touch-action"]="none",N["touch-action"]="none");for(var $=0;$<zc.CANVAS_LAYERS;$++){var H=m.data.canvases[$]=document.createElement("canvas");m.data.contexts[$]=H.getContext("2d"),Object.keys(N).forEach(function(Ir){H.style[Ir]=N[Ir]}),H.style.position="absolute",H.setAttribute("data-id","layer"+$),H.style.zIndex=String(zc.CANVAS_LAYERS-$),m.data.canvasContainer.appendChild(H),m.data.canvasNeedsRedraw[$]=!1}m.data.topCanvas=m.data.canvases[0],m.data.canvases[zc.NODE].setAttribute("data-id","layer"+zc.NODE+"-node"),m.data.canvases[zc.SELECT_BOX].setAttribute("data-id","layer"+zc.SELECT_BOX+"-selectbox"),m.data.canvases[zc.DRAG].setAttribute("data-id","layer"+zc.DRAG+"-drag");for(var $=0;$<zc.BUFFER_COUNT;$++)m.data.bufferCanvases[$]=document.createElement("canvas"),m.data.bufferContexts[$]=m.data.bufferCanvases[$].getContext("2d"),m.data.bufferCanvases[$].style.position="absolute",m.data.bufferCanvases[$].setAttribute("data-id","buffer"+$),m.data.bufferCanvases[$].style.zIndex=String(-$-1),m.data.bufferCanvases[$].style.visibility="hidden";m.pathsEnabled=!0;var q=Qd(),Y=function(Kn){return{x:(Kn.x1+Kn.x2)/2,y:(Kn.y1+Kn.y2)/2}},Z=function(Kn){return{x:-Kn.w/2,y:-Kn.h/2}},ce=function(Kn){var pr=Kn[0]._private,Cr=pr.oldBackgroundTimestamp===pr.backgroundTimestamp;return!Cr},ve=function(Kn){return Kn[0]._private.nodeKey},me=function(Kn){return Kn[0]._private.labelStyleKey},Le=function(Kn){return Kn[0]._private.sourceLabelStyleKey},_e=function(Kn){return Kn[0]._private.targetLabelStyleKey},Te=function(Kn,pr,Cr,Or,_i){return m.drawElement(Kn,pr,Cr,!1,!1,_i)},Fe=function(Kn,pr,Cr,Or,_i){return m.drawElementText(Kn,pr,Cr,Or,"main",_i)},Re=function(Kn,pr,Cr,Or,_i){return m.drawElementText(Kn,pr,Cr,Or,"source",_i)},Ve=function(Kn,pr,Cr,Or,_i){return m.drawElementText(Kn,pr,Cr,Or,"target",_i)},ct=function(Kn){return Kn.boundingBox(),Kn[0]._private.bodyBounds},st=function(Kn){return Kn.boundingBox(),Kn[0]._private.labelBounds.main||q},Ye=function(Kn){return Kn.boundingBox(),Kn[0]._private.labelBounds.source||q},vt=function(Kn){return Kn.boundingBox(),Kn[0]._private.labelBounds.target||q},Qe=function(Kn,pr){return pr},Lt=function(Kn){return Y(ct(Kn))},Mt=function(Kn,pr,Cr){var Or=Kn?Kn+"-":"";return{x:pr.x+Cr.pstyle(Or+"text-margin-x").pfValue,y:pr.y+Cr.pstyle(Or+"text-margin-y").pfValue}},ut=function(Kn,pr,Cr){var Or=Kn[0]._private.rscratch;return{x:Or[pr],y:Or[Cr]}},Yt=function(Kn){return Mt("",ut(Kn,"labelX","labelY"),Kn)},St=function(Kn){return Mt("source",ut(Kn,"sourceLabelX","sourceLabelY"),Kn)},_n=function(Kn){return Mt("target",ut(Kn,"targetLabelX","targetLabelY"),Kn)},fn=function(Kn){return Z(ct(Kn))},Xt=function(Kn){return Z(Ye(Kn))},Dn=function(Kn){return Z(vt(Kn))},rr=function(Kn){var pr=st(Kn),Cr=Z(st(Kn));if(Kn.isNode()){switch(Kn.pstyle("text-halign").value){case"left":Cr.x=-pr.w;break;case"right":Cr.x=0;break}switch(Kn.pstyle("text-valign").value){case"top":Cr.y=-pr.h;break;case"bottom":Cr.y=0;break}}return Cr},mr=m.data.eleTxrCache=new pk(m,{getKey:ve,doesEleInvalidateKey:ce,drawElement:Te,getBoundingBox:ct,getRotationPoint:Lt,getRotationOffset:fn,allowEdgeTxrCaching:!1,allowParentTxrCaching:!1}),Pn=m.data.lblTxrCache=new pk(m,{getKey:me,drawElement:Fe,getBoundingBox:st,getRotationPoint:Yt,getRotationOffset:rr,isVisible:Qe}),gr=m.data.slbTxrCache=new pk(m,{getKey:Le,drawElement:Re,getBoundingBox:Ye,getRotationPoint:St,getRotationOffset:Xt,isVisible:Qe}),kr=m.data.tlbTxrCache=new pk(m,{getKey:_e,drawElement:Ve,getBoundingBox:vt,getRotationPoint:_n,getRotationOffset:Dn,isVisible:Qe}),Lr=m.data.lyrTxrCache=new yz(m);m.onUpdateEleCalcs(function(Kn,pr){mr.invalidateElements(pr),Pn.invalidateElements(pr),gr.invalidateElements(pr),kr.invalidateElements(pr),Lr.invalidateElements(pr);for(var Cr=0;Cr<pr.length;Cr++){var Or=pr[Cr]._private;Or.oldBackgroundTimestamp=Or.backgroundTimestamp}});var Er=function(Kn){for(var pr=0;pr<Kn.length;pr++)Lr.enqueueElementRefinement(Kn[pr].ele)};mr.onDequeue(Er),Pn.onDequeue(Er),gr.onDequeue(Er),kr.onDequeue(Er)}zc.redrawHint=function(x,m){var k=this;switch(x){case"eles":k.data.canvasNeedsRedraw[zc.NODE]=m;break;case"drag":k.data.canvasNeedsRedraw[zc.DRAG]=m;break;case"select":k.data.canvasNeedsRedraw[zc.SELECT_BOX]=m;break}};var xk=typeof Path2D<"u";zc.path2dEnabled=function(x){if(x===void 0)return this.pathsEnabled;this.pathsEnabled=!!x},zc.usePaths=function(){return xk&&this.pathsEnabled},zc.setImgSmoothing=function(x,m){x.imageSmoothingEnabled!=null?x.imageSmoothingEnabled=m:(x.webkitImageSmoothingEnabled=m,x.mozImageSmoothingEnabled=m,x.msImageSmoothingEnabled=m)},zc.getImgSmoothing=function(x){return x.imageSmoothingEnabled!=null?x.imageSmoothingEnabled:x.webkitImageSmoothingEnabled||x.mozImageSmoothingEnabled||x.msImageSmoothingEnabled},zc.makeOffscreenCanvas=function(x,m){var k;return(typeof OffscreenCanvas>"u"?"undefined":u(OffscreenCanvas))!=="undefined"?k=new OffscreenCanvas(x,m):(k=document.createElement("canvas"),k.width=x,k.height=m),k},[kz,ab,ob,vk,k5,y8,Gg,oy,wk,Iz].forEach(function(x){xt(zc,x)});var Yp=[{name:"null",impl:tz},{name:"base",impl:dz},{name:"canvas",impl:Oz}],Fie=[{type:"layout",extensions:nie},{type:"renderer",extensions:Yp}],Rie={},jie={};function $ie(x,m,k){var S=k,M=function(vt){lu("Can not register `"+m+"` for `"+x+"` since `"+vt+"` already exists in the prototype and can not be overridden")};if(x==="core"){if(fk.prototype[m])return M(m);fk.prototype[m]=k}else if(x==="collection"){if(H0.prototype[m])return M(m);H0.prototype[m]=k}else if(x==="layout"){for(var O=function(vt){this.options=vt,k.call(this,vt),se(this._private)||(this._private={}),this._private.cy=vt.cy,this._private.listeners=[],this.createEmitter()},N=O.prototype=Object.create(k.prototype),$=[],H=0;H<$.length;H++){var q=$[H];N[q]=N[q]||function(){return this}}N.start&&!N.run?N.run=function(){return this.start(),this}:!N.start&&N.run&&(N.start=function(){return this.run(),this});var Y=k.prototype.stop;N.stop=function(){var Ye=this.options;if(Ye&&Ye.animate){var vt=this.animations;if(vt)for(var Qe=0;Qe<vt.length;Qe++)vt[Qe].stop()}return Y?Y.call(this):this.emit("layoutstop"),this},N.destroy||(N.destroy=function(){return this}),N.cy=function(){return this._private.cy};var Z=function(vt){return vt._private.cy},ce={addEventFields:function(vt,Qe){Qe.layout=vt,Qe.cy=Z(vt),Qe.target=vt},bubble:function(){return!0},parent:function(vt){return Z(vt)}};xt(N,{createEmitter:function(){return this._private.emitter=new MS(ce,this),this},emitter:function(){return this._private.emitter},on:function(vt,Qe){return this.emitter().on(vt,Qe),this},one:function(vt,Qe){return this.emitter().one(vt,Qe),this},once:function(vt,Qe){return this.emitter().one(vt,Qe),this},removeListener:function(vt,Qe){return this.emitter().removeListener(vt,Qe),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},emit:function(vt,Qe){return this.emitter().emit(vt,Qe),this}}),hu.eventAliasesOn(N),S=O}else if(x==="renderer"&&m!=="null"&&m!=="base"){var ve=zie("renderer","base"),me=ve.prototype,Le=k,_e=k.prototype,Te=function(){ve.apply(this,arguments),Le.apply(this,arguments)},Fe=Te.prototype;for(var Re in me){var Ve=me[Re],ct=_e[Re]!=null;if(ct)return M(Re);Fe[Re]=Ve}for(var st in _e)Fe[st]=_e[st];me.clientFunctions.forEach(function(Ye){Fe[Ye]=Fe[Ye]||function(){sh("Renderer does not implement `renderer."+Ye+"()` on its prototype")}}),S=Te}else if(x==="__proto__"||x==="constructor"||x==="prototype")return sh(x+" is an illegal type to be registered, possibly lead to prototype pollutions");return On({map:Rie,keys:[x,m],value:S})}function zie(x,m){return Rn({map:Rie,keys:[x,m]})}function Nz(x,m,k,S,M){return On({map:jie,keys:[x,m,k,S],value:M})}function Nwe(x,m,k,S){return Rn({map:jie,keys:[x,m,k,S]})}var Pz=function(){if(arguments.length===2)return zie.apply(null,arguments);if(arguments.length===3)return $ie.apply(null,arguments);if(arguments.length===4)return Nwe.apply(null,arguments);if(arguments.length===5)return Nz.apply(null,arguments);sh("Invalid extension access syntax")};fk.prototype.extension=Pz,Fie.forEach(function(x){x.extensions.forEach(function(m){$ie(x.type,m.name,m.impl)})});var qie=function x(){if(!(this instanceof x))return new x;this.length=0},k8=qie.prototype;k8.instanceString=function(){return"stylesheet"},k8.selector=function(x){var m=this.length++;return this[m]={selector:x,properties:[]},this},k8.css=function(x,m){var k=this.length-1;if(ge(x))this[k].properties.push({name:x,value:m});else if(se(x))for(var S=x,M=Object.keys(S),O=0;O<M.length;O++){var N=M[O],$=S[N];if($!=null){var H=E1.properties[N]||E1.properties[Tt(N)];if(H!=null){var q=H.name,Y=$;this[k].properties.push({name:q,value:Y})}}}return this},k8.style=k8.css,k8.generateStyle=function(x){var m=new E1(x);return this.appendToStyle(m)},k8.appendToStyle=function(x){for(var m=0;m<this.length;m++){var k=this[m],S=k.selector,M=k.properties;x.selector(S);for(var O=0;O<M.length;O++){var N=M[O];x.css(N.name,N.value)}}return x};var Pwe="3.28.1",T8=function(m){if(m===void 0&&(m={}),se(m))return new fk(m);if(ge(m))return Pz.apply(Pz,arguments)};return T8.use=function(x){var m=Array.prototype.slice.call(arguments,1);return m.unshift(T8),x.apply(null,m),this},T8.warnings=function(x){return cS(x)},T8.version=Pwe,T8.stylesheet=T8.Stylesheet=qie,T8})})(zWe);var Ion=zWe.exports;const qWe=dC(Ion);var HWe={exports:{}},ywe={exports:{}},xwe={exports:{}},UWe;function Oon(){return UWe||(UWe=1,function(i,a){(function(d,p){i.exports=p()})(Dg,function(){return function(u){var d={};function p(v){if(d[v])return d[v].exports;var b=d[v]={i:v,l:!1,exports:{}};return u[v].call(b.exports,b,b.exports,p),b.l=!0,b.exports}return p.m=u,p.c=d,p.i=function(v){return v},p.d=function(v,b,y){p.o(v,b)||Object.defineProperty(v,b,{configurable:!1,enumerable:!0,get:y})},p.n=function(v){var b=v&&v.__esModule?function(){return v.default}:function(){return v};return p.d(b,"a",b),b},p.o=function(v,b){return Object.prototype.hasOwnProperty.call(v,b)},p.p="",p(p.s=26)}([function(u,d,p){function v(){}v.QUALITY=1,v.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,v.DEFAULT_INCREMENTAL=!1,v.DEFAULT_ANIMATION_ON_LAYOUT=!0,v.DEFAULT_ANIMATION_DURING_LAYOUT=!1,v.DEFAULT_ANIMATION_PERIOD=50,v.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,v.DEFAULT_GRAPH_MARGIN=15,v.NODE_DIMENSIONS_INCLUDE_LABELS=!1,v.SIMPLE_NODE_SIZE=40,v.SIMPLE_NODE_HALF_SIZE=v.SIMPLE_NODE_SIZE/2,v.EMPTY_COMPOUND_NODE_SIZE=40,v.MIN_EDGE_LENGTH=1,v.WORLD_BOUNDARY=1e6,v.INITIAL_WORLD_BOUNDARY=v.WORLD_BOUNDARY/1e3,v.WORLD_CENTER_X=1200,v.WORLD_CENTER_Y=900,u.exports=v},function(u,d,p){var v=p(2),b=p(8),y=p(9);function E(A,P,R){v.call(this,R),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=R,this.bendpoints=[],this.source=A,this.target=P}E.prototype=Object.create(v.prototype);for(var _ in v)E[_]=v[_];E.prototype.getSource=function(){return this.source},E.prototype.getTarget=function(){return this.target},E.prototype.isInterGraph=function(){return this.isInterGraph},E.prototype.getLength=function(){return this.length},E.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},E.prototype.getBendpoints=function(){return this.bendpoints},E.prototype.getLca=function(){return this.lca},E.prototype.getSourceInLca=function(){return this.sourceInLca},E.prototype.getTargetInLca=function(){return this.targetInLca},E.prototype.getOtherEnd=function(A){if(this.source===A)return this.target;if(this.target===A)return this.source;throw"Node is not incident with this edge"},E.prototype.getOtherEndInGraph=function(A,P){for(var R=this.getOtherEnd(A),B=P.getGraphManager().getRoot();;){if(R.getOwner()==P)return R;if(R.getOwner()==B)break;R=R.getOwner().getParent()}return null},E.prototype.updateLength=function(){var A=new Array(4);this.isOverlapingSourceAndTarget=b.getIntersection(this.target.getRect(),this.source.getRect(),A),this.isOverlapingSourceAndTarget||(this.lengthX=A[0]-A[2],this.lengthY=A[1]-A[3],Math.abs(this.lengthX)<1&&(this.lengthX=y.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=y.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},E.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=y.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=y.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},u.exports=E},function(u,d,p){function v(b){this.vGraphObject=b}u.exports=v},function(u,d,p){var v=p(2),b=p(10),y=p(13),E=p(0),_=p(16),A=p(4);function P(B,j,W,ee){W==null&&ee==null&&(ee=j),v.call(this,ee),B.graphManager!=null&&(B=B.graphManager),this.estimatedSize=b.MIN_VALUE,this.inclusionTreeDepth=b.MAX_VALUE,this.vGraphObject=ee,this.edges=[],this.graphManager=B,W!=null&&j!=null?this.rect=new y(j.x,j.y,W.width,W.height):this.rect=new y}P.prototype=Object.create(v.prototype);for(var R in v)P[R]=v[R];P.prototype.getEdges=function(){return this.edges},P.prototype.getChild=function(){return this.child},P.prototype.getOwner=function(){return this.owner},P.prototype.getWidth=function(){return this.rect.width},P.prototype.setWidth=function(B){this.rect.width=B},P.prototype.getHeight=function(){return this.rect.height},P.prototype.setHeight=function(B){this.rect.height=B},P.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},P.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},P.prototype.getCenter=function(){return new A(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},P.prototype.getLocation=function(){return new A(this.rect.x,this.rect.y)},P.prototype.getRect=function(){return this.rect},P.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},P.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},P.prototype.setRect=function(B,j){this.rect.x=B.x,this.rect.y=B.y,this.rect.width=j.width,this.rect.height=j.height},P.prototype.setCenter=function(B,j){this.rect.x=B-this.rect.width/2,this.rect.y=j-this.rect.height/2},P.prototype.setLocation=function(B,j){this.rect.x=B,this.rect.y=j},P.prototype.moveBy=function(B,j){this.rect.x+=B,this.rect.y+=j},P.prototype.getEdgeListToNode=function(B){var j=[],W=this;return W.edges.forEach(function(ee){if(ee.target==B){if(ee.source!=W)throw"Incorrect edge source!";j.push(ee)}}),j},P.prototype.getEdgesBetween=function(B){var j=[],W=this;return W.edges.forEach(function(ee){if(!(ee.source==W||ee.target==W))throw"Incorrect edge source and/or target";(ee.target==B||ee.source==B)&&j.push(ee)}),j},P.prototype.getNeighborsList=function(){var B=new Set,j=this;return j.edges.forEach(function(W){if(W.source==j)B.add(W.target);else{if(W.target!=j)throw"Incorrect incidency!";B.add(W.source)}}),B},P.prototype.withChildren=function(){var B=new Set,j,W;if(B.add(this),this.child!=null)for(var ee=this.child.getNodes(),ie=0;ie<ee.length;ie++)j=ee[ie],W=j.withChildren(),W.forEach(function(oe){B.add(oe)});return B},P.prototype.getNoOfChildren=function(){var B=0,j;if(this.child==null)B=1;else for(var W=this.child.getNodes(),ee=0;ee<W.length;ee++)j=W[ee],B+=j.getNoOfChildren();return B==0&&(B=1),B},P.prototype.getEstimatedSize=function(){if(this.estimatedSize==b.MIN_VALUE)throw"assert failed";return this.estimatedSize},P.prototype.calcEstimatedSize=function(){return this.child==null?this.estimatedSize=(this.rect.width+this.rect.height)/2:(this.estimatedSize=this.child.calcEstimatedSize(),this.rect.width=this.estimatedSize,this.rect.height=this.estimatedSize,this.estimatedSize)},P.prototype.scatter=function(){var B,j,W=-E.INITIAL_WORLD_BOUNDARY,ee=E.INITIAL_WORLD_BOUNDARY;B=E.WORLD_CENTER_X+_.nextDouble()*(ee-W)+W;var ie=-E.INITIAL_WORLD_BOUNDARY,oe=E.INITIAL_WORLD_BOUNDARY;j=E.WORLD_CENTER_Y+_.nextDouble()*(oe-ie)+ie,this.rect.x=B,this.rect.y=j},P.prototype.updateBounds=function(){if(this.getChild()==null)throw"assert failed";if(this.getChild().getNodes().length!=0){var B=this.getChild();if(B.updateBounds(!0),this.rect.x=B.getLeft(),this.rect.y=B.getTop(),this.setWidth(B.getRight()-B.getLeft()),this.setHeight(B.getBottom()-B.getTop()),E.NODE_DIMENSIONS_INCLUDE_LABELS){var j=B.getRight()-B.getLeft(),W=B.getBottom()-B.getTop();this.labelWidth>j&&(this.rect.x-=(this.labelWidth-j)/2,this.setWidth(this.labelWidth)),this.labelHeight>W&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-W)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-W),this.setHeight(this.labelHeight))}}},P.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==b.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},P.prototype.transform=function(B){var j=this.rect.x;j>E.WORLD_BOUNDARY?j=E.WORLD_BOUNDARY:j<-E.WORLD_BOUNDARY&&(j=-E.WORLD_BOUNDARY);var W=this.rect.y;W>E.WORLD_BOUNDARY?W=E.WORLD_BOUNDARY:W<-E.WORLD_BOUNDARY&&(W=-E.WORLD_BOUNDARY);var ee=new A(j,W),ie=B.inverseTransformPoint(ee);this.setLocation(ie.x,ie.y)},P.prototype.getLeft=function(){return this.rect.x},P.prototype.getRight=function(){return this.rect.x+this.rect.width},P.prototype.getTop=function(){return this.rect.y},P.prototype.getBottom=function(){return this.rect.y+this.rect.height},P.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},u.exports=P},function(u,d,p){function v(b,y){b==null&&y==null?(this.x=0,this.y=0):(this.x=b,this.y=y)}v.prototype.getX=function(){return this.x},v.prototype.getY=function(){return this.y},v.prototype.setX=function(b){this.x=b},v.prototype.setY=function(b){this.y=b},v.prototype.getDifference=function(b){return new DimensionD(this.x-b.x,this.y-b.y)},v.prototype.getCopy=function(){return new v(this.x,this.y)},v.prototype.translate=function(b){return this.x+=b.width,this.y+=b.height,this},u.exports=v},function(u,d,p){var v=p(2),b=p(10),y=p(0),E=p(6),_=p(3),A=p(1),P=p(13),R=p(12),B=p(11);function j(ee,ie,oe){v.call(this,oe),this.estimatedSize=b.MIN_VALUE,this.margin=y.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=ee,ie!=null&&ie instanceof E?this.graphManager=ie:ie!=null&&ie instanceof Layout&&(this.graphManager=ie.graphManager)}j.prototype=Object.create(v.prototype);for(var W in v)j[W]=v[W];j.prototype.getNodes=function(){return this.nodes},j.prototype.getEdges=function(){return this.edges},j.prototype.getGraphManager=function(){return this.graphManager},j.prototype.getParent=function(){return this.parent},j.prototype.getLeft=function(){return this.left},j.prototype.getRight=function(){return this.right},j.prototype.getTop=function(){return this.top},j.prototype.getBottom=function(){return this.bottom},j.prototype.isConnected=function(){return this.isConnected},j.prototype.add=function(ee,ie,oe){if(ie==null&&oe==null){var be=ee;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(be)>-1)throw"Node already in graph!";return be.owner=this,this.getNodes().push(be),be}else{var ge=ee;if(!(this.getNodes().indexOf(ie)>-1&&this.getNodes().indexOf(oe)>-1))throw"Source or target not in graph!";if(!(ie.owner==oe.owner&&ie.owner==this))throw"Both owners must be this graph!";return ie.owner!=oe.owner?null:(ge.source=ie,ge.target=oe,ge.isInterGraph=!1,this.getEdges().push(ge),ie.edges.push(ge),oe!=ie&&oe.edges.push(ge),ge)}},j.prototype.remove=function(ee){var ie=ee;if(ee instanceof _){if(ie==null)throw"Node is null!";if(!(ie.owner!=null&&ie.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var oe=ie.edges.slice(),be,ge=oe.length,ae=0;ae<ge;ae++)be=oe[ae],be.isInterGraph?this.graphManager.remove(be):be.source.owner.remove(be);var ne=this.nodes.indexOf(ie);if(ne==-1)throw"Node not in owner node list!";this.nodes.splice(ne,1)}else if(ee instanceof A){var be=ee;if(be==null)throw"Edge is null!";if(!(be.source!=null&&be.target!=null))throw"Source and/or target is null!";if(!(be.source.owner!=null&&be.target.owner!=null&&be.source.owner==this&&be.target.owner==this))throw"Source and/or target owner is invalid!";var se=be.source.edges.indexOf(be),de=be.target.edges.indexOf(be);if(!(se>-1&&de>-1))throw"Source and/or target doesn't know this edge!";be.source.edges.splice(se,1),be.target!=be.source&&be.target.edges.splice(de,1);var ne=be.source.owner.getEdges().indexOf(be);if(ne==-1)throw"Not in owner's edge list!";be.source.owner.getEdges().splice(ne,1)}},j.prototype.updateLeftTop=function(){for(var ee=b.MAX_VALUE,ie=b.MAX_VALUE,oe,be,ge,ae=this.getNodes(),ne=ae.length,se=0;se<ne;se++){var de=ae[se];oe=de.getTop(),be=de.getLeft(),ee>oe&&(ee=oe),ie>be&&(ie=be)}return ee==b.MAX_VALUE?null:(ae[0].getParent().paddingLeft!=null?ge=ae[0].getParent().paddingLeft:ge=this.margin,this.left=ie-ge,this.top=ee-ge,new R(this.left,this.top))},j.prototype.updateBounds=function(ee){for(var ie=b.MAX_VALUE,oe=-b.MAX_VALUE,be=b.MAX_VALUE,ge=-b.MAX_VALUE,ae,ne,se,de,X,pe=this.nodes,G=pe.length,xe=0;xe<G;xe++){var U=pe[xe];ee&&U.child!=null&&U.updateBounds(),ae=U.getLeft(),ne=U.getRight(),se=U.getTop(),de=U.getBottom(),ie>ae&&(ie=ae),oe<ne&&(oe=ne),be>se&&(be=se),ge<de&&(ge=de)}var Be=new P(ie,be,oe-ie,ge-be);ie==b.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),pe[0].getParent().paddingLeft!=null?X=pe[0].getParent().paddingLeft:X=this.margin,this.left=Be.x-X,this.right=Be.x+Be.width+X,this.top=Be.y-X,this.bottom=Be.y+Be.height+X},j.calculateBounds=function(ee){for(var ie=b.MAX_VALUE,oe=-b.MAX_VALUE,be=b.MAX_VALUE,ge=-b.MAX_VALUE,ae,ne,se,de,X=ee.length,pe=0;pe<X;pe++){var G=ee[pe];ae=G.getLeft(),ne=G.getRight(),se=G.getTop(),de=G.getBottom(),ie>ae&&(ie=ae),oe<ne&&(oe=ne),be>se&&(be=se),ge<de&&(ge=de)}var xe=new P(ie,be,oe-ie,ge-be);return xe},j.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},j.prototype.getEstimatedSize=function(){if(this.estimatedSize==b.MIN_VALUE)throw"assert failed";return this.estimatedSize},j.prototype.calcEstimatedSize=function(){for(var ee=0,ie=this.nodes,oe=ie.length,be=0;be<oe;be++){var ge=ie[be];ee+=ge.calcEstimatedSize()}return ee==0?this.estimatedSize=y.EMPTY_COMPOUND_NODE_SIZE:this.estimatedSize=ee/Math.sqrt(this.nodes.length),this.estimatedSize},j.prototype.updateConnected=function(){var ee=this;if(this.nodes.length==0){this.isConnected=!0;return}var ie=new B,oe=new Set,be=this.nodes[0],ge,ae,ne=be.withChildren();for(ne.forEach(function(xe){ie.push(xe),oe.add(xe)});ie.length!==0;){be=ie.shift(),ge=be.getEdges();for(var se=ge.length,de=0;de<se;de++){var X=ge[de];if(ae=X.getOtherEndInGraph(be,this),ae!=null&&!oe.has(ae)){var pe=ae.withChildren();pe.forEach(function(xe){ie.push(xe),oe.add(xe)})}}}if(this.isConnected=!1,oe.size>=this.nodes.length){var G=0;oe.forEach(function(xe){xe.owner==ee&&G++}),G==this.nodes.length&&(this.isConnected=!0)}},u.exports=j},function(u,d,p){var v,b=p(1);function y(E){v=p(5),this.layout=E,this.graphs=[],this.edges=[]}y.prototype.addRoot=function(){var E=this.layout.newGraph(),_=this.layout.newNode(null),A=this.add(E,_);return this.setRootGraph(A),this.rootGraph},y.prototype.add=function(E,_,A,P,R){if(A==null&&P==null&&R==null){if(E==null)throw"Graph is null!";if(_==null)throw"Parent node is null!";if(this.graphs.indexOf(E)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(E),E.parent!=null)throw"Already has a parent!";if(_.child!=null)throw"Already has a child!";return E.parent=_,_.child=E,E}else{R=A,P=_,A=E;var B=P.getOwner(),j=R.getOwner();if(!(B!=null&&B.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(j!=null&&j.getGraphManager()==this))throw"Target not in this graph mgr!";if(B==j)return A.isInterGraph=!1,B.add(A,P,R);if(A.isInterGraph=!0,A.source=P,A.target=R,this.edges.indexOf(A)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(A),!(A.source!=null&&A.target!=null))throw"Edge source and/or target is null!";if(!(A.source.edges.indexOf(A)==-1&&A.target.edges.indexOf(A)==-1))throw"Edge already in source and/or target incidency list!";return A.source.edges.push(A),A.target.edges.push(A),A}},y.prototype.remove=function(E){if(E instanceof v){var _=E;if(_.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(_==this.rootGraph||_.parent!=null&&_.parent.graphManager==this))throw"Invalid parent node!";var A=[];A=A.concat(_.getEdges());for(var P,R=A.length,B=0;B<R;B++)P=A[B],_.remove(P);var j=[];j=j.concat(_.getNodes());var W;R=j.length;for(var B=0;B<R;B++)W=j[B],_.remove(W);_==this.rootGraph&&this.setRootGraph(null);var ee=this.graphs.indexOf(_);this.graphs.splice(ee,1),_.parent=null}else if(E instanceof b){if(P=E,P==null)throw"Edge is null!";if(!P.isInterGraph)throw"Not an inter-graph edge!";if(!(P.source!=null&&P.target!=null))throw"Source and/or target is null!";if(!(P.source.edges.indexOf(P)!=-1&&P.target.edges.indexOf(P)!=-1))throw"Source and/or target doesn't know this edge!";var ee=P.source.edges.indexOf(P);if(P.source.edges.splice(ee,1),ee=P.target.edges.indexOf(P),P.target.edges.splice(ee,1),!(P.source.owner!=null&&P.source.owner.getGraphManager()!=null))throw"Edge owner graph or owner graph manager is null!";if(P.source.owner.getGraphManager().edges.indexOf(P)==-1)throw"Not in owner graph manager's edge list!";var ee=P.source.owner.getGraphManager().edges.indexOf(P);P.source.owner.getGraphManager().edges.splice(ee,1)}},y.prototype.updateBounds=function(){this.rootGraph.updateBounds(!0)},y.prototype.getGraphs=function(){return this.graphs},y.prototype.getAllNodes=function(){if(this.allNodes==null){for(var E=[],_=this.getGraphs(),A=_.length,P=0;P<A;P++)E=E.concat(_[P].getNodes());this.allNodes=E}return this.allNodes},y.prototype.resetAllNodes=function(){this.allNodes=null},y.prototype.resetAllEdges=function(){this.allEdges=null},y.prototype.resetAllNodesToApplyGravitation=function(){this.allNodesToApplyGravitation=null},y.prototype.getAllEdges=function(){if(this.allEdges==null){var E=[],_=this.getGraphs();_.length;for(var A=0;A<_.length;A++)E=E.concat(_[A].getEdges());E=E.concat(this.edges),this.allEdges=E}return this.allEdges},y.prototype.getAllNodesToApplyGravitation=function(){return this.allNodesToApplyGravitation},y.prototype.setAllNodesToApplyGravitation=function(E){if(this.allNodesToApplyGravitation!=null)throw"assert failed";this.allNodesToApplyGravitation=E},y.prototype.getRoot=function(){return this.rootGraph},y.prototype.setRootGraph=function(E){if(E.getGraphManager()!=this)throw"Root not in this graph mgr!";this.rootGraph=E,E.parent==null&&(E.parent=this.layout.newNode("Root node"))},y.prototype.getLayout=function(){return this.layout},y.prototype.isOneAncestorOfOther=function(E,_){if(!(E!=null&&_!=null))throw"assert failed";if(E==_)return!0;var A=E.getOwner(),P;do{if(P=A.getParent(),P==null)break;if(P==_)return!0;if(A=P.getOwner(),A==null)break}while(!0);A=_.getOwner();do{if(P=A.getParent(),P==null)break;if(P==E)return!0;if(A=P.getOwner(),A==null)break}while(!0);return!1},y.prototype.calcLowestCommonAncestors=function(){for(var E,_,A,P,R,B=this.getAllEdges(),j=B.length,W=0;W<j;W++){if(E=B[W],_=E.source,A=E.target,E.lca=null,E.sourceInLca=_,E.targetInLca=A,_==A){E.lca=_.getOwner();continue}for(P=_.getOwner();E.lca==null;){for(E.targetInLca=A,R=A.getOwner();E.lca==null;){if(R==P){E.lca=R;break}if(R==this.rootGraph)break;if(E.lca!=null)throw"assert failed";E.targetInLca=R.getParent(),R=E.targetInLca.getOwner()}if(P==this.rootGraph)break;E.lca==null&&(E.sourceInLca=P.getParent(),P=E.sourceInLca.getOwner())}if(E.lca==null)throw"assert failed"}},y.prototype.calcLowestCommonAncestor=function(E,_){if(E==_)return E.getOwner();var A=E.getOwner();do{if(A==null)break;var P=_.getOwner();do{if(P==null)break;if(P==A)return P;P=P.getParent().getOwner()}while(!0);A=A.getParent().getOwner()}while(!0);return A},y.prototype.calcInclusionTreeDepths=function(E,_){E==null&&_==null&&(E=this.rootGraph,_=1);for(var A,P=E.getNodes(),R=P.length,B=0;B<R;B++)A=P[B],A.inclusionTreeDepth=_,A.child!=null&&this.calcInclusionTreeDepths(A.child,_+1)},y.prototype.includesInvalidEdge=function(){for(var E,_=this.edges.length,A=0;A<_;A++)if(E=this.edges[A],this.isOneAncestorOfOther(E.source,E.target))return!0;return!1},u.exports=y},function(u,d,p){var v=p(0);function b(){}for(var y in v)b[y]=v[y];b.MAX_ITERATIONS=2500,b.DEFAULT_EDGE_LENGTH=50,b.DEFAULT_SPRING_STRENGTH=.45,b.DEFAULT_REPULSION_STRENGTH=4500,b.DEFAULT_GRAVITY_STRENGTH=.4,b.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,b.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,b.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,b.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,b.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,b.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,b.COOLING_ADAPTATION_FACTOR=.33,b.ADAPTATION_LOWER_NODE_LIMIT=1e3,b.ADAPTATION_UPPER_NODE_LIMIT=5e3,b.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,b.MAX_NODE_DISPLACEMENT=b.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,b.MIN_REPULSION_DIST=b.DEFAULT_EDGE_LENGTH/10,b.CONVERGENCE_CHECK_PERIOD=100,b.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,b.MIN_EDGE_LENGTH=1,b.GRID_CALCULATION_CHECK_PERIOD=10,u.exports=b},function(u,d,p){var v=p(12);function b(){}b.calcSeparationAmount=function(y,E,_,A){if(!y.intersects(E))throw"assert failed";var P=new Array(2);this.decideDirectionsForOverlappingNodes(y,E,P),_[0]=Math.min(y.getRight(),E.getRight())-Math.max(y.x,E.x),_[1]=Math.min(y.getBottom(),E.getBottom())-Math.max(y.y,E.y),y.getX()<=E.getX()&&y.getRight()>=E.getRight()?_[0]+=Math.min(E.getX()-y.getX(),y.getRight()-E.getRight()):E.getX()<=y.getX()&&E.getRight()>=y.getRight()&&(_[0]+=Math.min(y.getX()-E.getX(),E.getRight()-y.getRight())),y.getY()<=E.getY()&&y.getBottom()>=E.getBottom()?_[1]+=Math.min(E.getY()-y.getY(),y.getBottom()-E.getBottom()):E.getY()<=y.getY()&&E.getBottom()>=y.getBottom()&&(_[1]+=Math.min(y.getY()-E.getY(),E.getBottom()-y.getBottom()));var R=Math.abs((E.getCenterY()-y.getCenterY())/(E.getCenterX()-y.getCenterX()));E.getCenterY()===y.getCenterY()&&E.getCenterX()===y.getCenterX()&&(R=1);var B=R*_[0],j=_[1]/R;_[0]<j?j=_[0]:B=_[1],_[0]=-1*P[0]*(j/2+A),_[1]=-1*P[1]*(B/2+A)},b.decideDirectionsForOverlappingNodes=function(y,E,_){y.getCenterX()<E.getCenterX()?_[0]=-1:_[0]=1,y.getCenterY()<E.getCenterY()?_[1]=-1:_[1]=1},b.getIntersection2=function(y,E,_){var A=y.getCenterX(),P=y.getCenterY(),R=E.getCenterX(),B=E.getCenterY();if(y.intersects(E))return _[0]=A,_[1]=P,_[2]=R,_[3]=B,!0;var j=y.getX(),W=y.getY(),ee=y.getRight(),ie=y.getX(),oe=y.getBottom(),be=y.getRight(),ge=y.getWidthHalf(),ae=y.getHeightHalf(),ne=E.getX(),se=E.getY(),de=E.getRight(),X=E.getX(),pe=E.getBottom(),G=E.getRight(),xe=E.getWidthHalf(),U=E.getHeightHalf(),Be=!1,Pe=!1;if(A===R){if(P>B)return _[0]=A,_[1]=W,_[2]=R,_[3]=pe,!1;if(P<B)return _[0]=A,_[1]=oe,_[2]=R,_[3]=se,!1}else if(P===B){if(A>R)return _[0]=j,_[1]=P,_[2]=de,_[3]=B,!1;if(A<R)return _[0]=ee,_[1]=P,_[2]=ne,_[3]=B,!1}else{var je=y.height/y.width,Ie=E.height/E.width,Se=(B-P)/(R-A),Ce=void 0,ke=void 0,Ke=void 0,zt=void 0,Ne=void 0,pn=void 0;if(-je===Se?A>R?(_[0]=ie,_[1]=oe,Be=!0):(_[0]=ee,_[1]=W,Be=!0):je===Se&&(A>R?(_[0]=j,_[1]=W,Be=!0):(_[0]=be,_[1]=oe,Be=!0)),-Ie===Se?R>A?(_[2]=X,_[3]=pe,Pe=!0):(_[2]=de,_[3]=se,Pe=!0):Ie===Se&&(R>A?(_[2]=ne,_[3]=se,Pe=!0):(_[2]=G,_[3]=pe,Pe=!0)),Be&&Pe)return!1;if(A>R?P>B?(Ce=this.getCardinalDirection(je,Se,4),ke=this.getCardinalDirection(Ie,Se,2)):(Ce=this.getCardinalDirection(-je,Se,3),ke=this.getCardinalDirection(-Ie,Se,1)):P>B?(Ce=this.getCardinalDirection(-je,Se,1),ke=this.getCardinalDirection(-Ie,Se,3)):(Ce=this.getCardinalDirection(je,Se,2),ke=this.getCardinalDirection(Ie,Se,4)),!Be)switch(Ce){case 1:zt=W,Ke=A+-ae/Se,_[0]=Ke,_[1]=zt;break;case 2:Ke=be,zt=P+ge*Se,_[0]=Ke,_[1]=zt;break;case 3:zt=oe,Ke=A+ae/Se,_[0]=Ke,_[1]=zt;break;case 4:Ke=ie,zt=P+-ge*Se,_[0]=Ke,_[1]=zt;break}if(!Pe)switch(ke){case 1:pn=se,Ne=R+-U/Se,_[2]=Ne,_[3]=pn;break;case 2:Ne=G,pn=B+xe*Se,_[2]=Ne,_[3]=pn;break;case 3:pn=pe,Ne=R+U/Se,_[2]=Ne,_[3]=pn;break;case 4:Ne=X,pn=B+-xe*Se,_[2]=Ne,_[3]=pn;break}}return!1},b.getCardinalDirection=function(y,E,_){return y>E?_:1+_%4},b.getIntersection=function(y,E,_,A){if(A==null)return this.getIntersection2(y,E,_);var P=y.x,R=y.y,B=E.x,j=E.y,W=_.x,ee=_.y,ie=A.x,oe=A.y,be=void 0,ge=void 0,ae=void 0,ne=void 0,se=void 0,de=void 0,X=void 0,pe=void 0,G=void 0;return ae=j-R,se=P-B,X=B*R-P*j,ne=oe-ee,de=W-ie,pe=ie*ee-W*oe,G=ae*de-ne*se,G===0?null:(be=(se*pe-de*X)/G,ge=(ne*X-ae*pe)/G,new v(be,ge))},b.angleOfVector=function(y,E,_,A){var P=void 0;return y!==_?(P=Math.atan((A-E)/(_-y)),_<y?P+=Math.PI:A<E&&(P+=this.TWO_PI)):A<E?P=this.ONE_AND_HALF_PI:P=this.HALF_PI,P},b.doIntersect=function(y,E,_,A){var P=y.x,R=y.y,B=E.x,j=E.y,W=_.x,ee=_.y,ie=A.x,oe=A.y,be=(B-P)*(oe-ee)-(ie-W)*(j-R);if(be===0)return!1;var ge=((oe-ee)*(ie-P)+(W-ie)*(oe-R))/be,ae=((R-j)*(ie-P)+(B-P)*(oe-R))/be;return 0<ge&&ge<1&&0<ae&&ae<1},b.HALF_PI=.5*Math.PI,b.ONE_AND_HALF_PI=1.5*Math.PI,b.TWO_PI=2*Math.PI,b.THREE_PI=3*Math.PI,u.exports=b},function(u,d,p){function v(){}v.sign=function(b){return b>0?1:b<0?-1:0},v.floor=function(b){return b<0?Math.ceil(b):Math.floor(b)},v.ceil=function(b){return b<0?Math.floor(b):Math.ceil(b)},u.exports=v},function(u,d,p){function v(){}v.MAX_VALUE=2147483647,v.MIN_VALUE=-2147483648,u.exports=v},function(u,d,p){var v=function(){function P(R,B){for(var j=0;j<B.length;j++){var W=B[j];W.enumerable=W.enumerable||!1,W.configurable=!0,"value"in W&&(W.writable=!0),Object.defineProperty(R,W.key,W)}}return function(R,B,j){return B&&P(R.prototype,B),j&&P(R,j),R}}();function b(P,R){if(!(P instanceof R))throw new TypeError("Cannot call a class as a function")}var y=function(R){return{value:R,next:null,prev:null}},E=function(R,B,j,W){return R!==null?R.next=B:W.head=B,j!==null?j.prev=B:W.tail=B,B.prev=R,B.next=j,W.length++,B},_=function(R,B){var j=R.prev,W=R.next;return j!==null?j.next=W:B.head=W,W!==null?W.prev=j:B.tail=j,R.prev=R.next=null,B.length--,R},A=function(){function P(R){var B=this;b(this,P),this.length=0,this.head=null,this.tail=null,R!=null&&R.forEach(function(j){return B.push(j)})}return v(P,[{key:"size",value:function(){return this.length}},{key:"insertBefore",value:function(B,j){return E(j.prev,y(B),j,this)}},{key:"insertAfter",value:function(B,j){return E(j,y(B),j.next,this)}},{key:"insertNodeBefore",value:function(B,j){return E(j.prev,B,j,this)}},{key:"insertNodeAfter",value:function(B,j){return E(j,B,j.next,this)}},{key:"push",value:function(B){return E(this.tail,y(B),null,this)}},{key:"unshift",value:function(B){return E(null,y(B),this.head,this)}},{key:"remove",value:function(B){return _(B,this)}},{key:"pop",value:function(){return _(this.tail,this).value}},{key:"popNode",value:function(){return _(this.tail,this)}},{key:"shift",value:function(){return _(this.head,this).value}},{key:"shiftNode",value:function(){return _(this.head,this)}},{key:"get_object_at",value:function(B){if(B<=this.length()){for(var j=1,W=this.head;j<B;)W=W.next,j++;return W.value}}},{key:"set_object_at",value:function(B,j){if(B<=this.length()){for(var W=1,ee=this.head;W<B;)ee=ee.next,W++;ee.value=j}}}]),P}();u.exports=A},function(u,d,p){function v(b,y,E){this.x=null,this.y=null,b==null&&y==null&&E==null?(this.x=0,this.y=0):typeof b=="number"&&typeof y=="number"&&E==null?(this.x=b,this.y=y):b.constructor.name=="Point"&&y==null&&E==null&&(E=b,this.x=E.x,this.y=E.y)}v.prototype.getX=function(){return this.x},v.prototype.getY=function(){return this.y},v.prototype.getLocation=function(){return new v(this.x,this.y)},v.prototype.setLocation=function(b,y,E){b.constructor.name=="Point"&&y==null&&E==null?(E=b,this.setLocation(E.x,E.y)):typeof b=="number"&&typeof y=="number"&&E==null&&(parseInt(b)==b&&parseInt(y)==y?this.move(b,y):(this.x=Math.floor(b+.5),this.y=Math.floor(y+.5)))},v.prototype.move=function(b,y){this.x=b,this.y=y},v.prototype.translate=function(b,y){this.x+=b,this.y+=y},v.prototype.equals=function(b){if(b.constructor.name=="Point"){var y=b;return this.x==y.x&&this.y==y.y}return this==b},v.prototype.toString=function(){return new v().constructor.name+"[x="+this.x+",y="+this.y+"]"},u.exports=v},function(u,d,p){function v(b,y,E,_){this.x=0,this.y=0,this.width=0,this.height=0,b!=null&&y!=null&&E!=null&&_!=null&&(this.x=b,this.y=y,this.width=E,this.height=_)}v.prototype.getX=function(){return this.x},v.prototype.setX=function(b){this.x=b},v.prototype.getY=function(){return this.y},v.prototype.setY=function(b){this.y=b},v.prototype.getWidth=function(){return this.width},v.prototype.setWidth=function(b){this.width=b},v.prototype.getHeight=function(){return this.height},v.prototype.setHeight=function(b){this.height=b},v.prototype.getRight=function(){return this.x+this.width},v.prototype.getBottom=function(){return this.y+this.height},v.prototype.intersects=function(b){return!(this.getRight()<b.x||this.getBottom()<b.y||b.getRight()<this.x||b.getBottom()<this.y)},v.prototype.getCenterX=function(){return this.x+this.width/2},v.prototype.getMinX=function(){return this.getX()},v.prototype.getMaxX=function(){return this.getX()+this.width},v.prototype.getCenterY=function(){return this.y+this.height/2},v.prototype.getMinY=function(){return this.getY()},v.prototype.getMaxY=function(){return this.getY()+this.height},v.prototype.getWidthHalf=function(){return this.width/2},v.prototype.getHeightHalf=function(){return this.height/2},u.exports=v},function(u,d,p){var v=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(y){return typeof y}:function(y){return y&&typeof Symbol=="function"&&y.constructor===Symbol&&y!==Symbol.prototype?"symbol":typeof y};function b(){}b.lastID=0,b.createID=function(y){return b.isPrimitive(y)?y:(y.uniqueID!=null||(y.uniqueID=b.getString(),b.lastID++),y.uniqueID)},b.getString=function(y){return y==null&&(y=b.lastID),"Object#"+y},b.isPrimitive=function(y){var E=typeof y>"u"?"undefined":v(y);return y==null||E!="object"&&E!="function"},u.exports=b},function(u,d,p){function v(W){if(Array.isArray(W)){for(var ee=0,ie=Array(W.length);ee<W.length;ee++)ie[ee]=W[ee];return ie}else return Array.from(W)}var b=p(0),y=p(6),E=p(3),_=p(1),A=p(5),P=p(4),R=p(17),B=p(27);function j(W){B.call(this),this.layoutQuality=b.QUALITY,this.createBendsAsNeeded=b.DEFAULT_CREATE_BENDS_AS_NEEDED,this.incremental=b.DEFAULT_INCREMENTAL,this.animationOnLayout=b.DEFAULT_ANIMATION_ON_LAYOUT,this.animationDuringLayout=b.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=b.DEFAULT_ANIMATION_PERIOD,this.uniformLeafNodeSizes=b.DEFAULT_UNIFORM_LEAF_NODE_SIZES,this.edgeToDummyNodes=new Map,this.graphManager=new y(this),this.isLayoutFinished=!1,this.isSubLayout=!1,this.isRemoteUse=!1,W!=null&&(this.isRemoteUse=W)}j.RANDOM_SEED=1,j.prototype=Object.create(B.prototype),j.prototype.getGraphManager=function(){return this.graphManager},j.prototype.getAllNodes=function(){return this.graphManager.getAllNodes()},j.prototype.getAllEdges=function(){return this.graphManager.getAllEdges()},j.prototype.getAllNodesToApplyGravitation=function(){return this.graphManager.getAllNodesToApplyGravitation()},j.prototype.newGraphManager=function(){var W=new y(this);return this.graphManager=W,W},j.prototype.newGraph=function(W){return new A(null,this.graphManager,W)},j.prototype.newNode=function(W){return new E(this.graphManager,W)},j.prototype.newEdge=function(W){return new _(null,null,W)},j.prototype.checkLayoutSuccess=function(){return this.graphManager.getRoot()==null||this.graphManager.getRoot().getNodes().length==0||this.graphManager.includesInvalidEdge()},j.prototype.runLayout=function(){this.isLayoutFinished=!1,this.tilingPreLayout&&this.tilingPreLayout(),this.initParameters();var W;return this.checkLayoutSuccess()?W=!1:W=this.layout(),b.ANIMATE==="during"?!1:(W&&(this.isSubLayout||this.doPostLayout()),this.tilingPostLayout&&this.tilingPostLayout(),this.isLayoutFinished=!0,W)},j.prototype.doPostLayout=function(){this.incremental||this.transform(),this.update()},j.prototype.update2=function(){if(this.createBendsAsNeeded&&(this.createBendpointsFromDummyNodes(),this.graphManager.resetAllEdges()),!this.isRemoteUse){for(var W=this.graphManager.getAllEdges(),ee=0;ee<W.length;ee++)W[ee];for(var ie=this.graphManager.getRoot().getNodes(),ee=0;ee<ie.length;ee++)ie[ee];this.update(this.graphManager.getRoot())}},j.prototype.update=function(W){if(W==null)this.update2();else if(W instanceof E){var ee=W;if(ee.getChild()!=null)for(var ie=ee.getChild().getNodes(),oe=0;oe<ie.length;oe++)update(ie[oe]);if(ee.vGraphObject!=null){var be=ee.vGraphObject;be.update(ee)}}else if(W instanceof _){var ge=W;if(ge.vGraphObject!=null){var ae=ge.vGraphObject;ae.update(ge)}}else if(W instanceof A){var ne=W;if(ne.vGraphObject!=null){var se=ne.vGraphObject;se.update(ne)}}},j.prototype.initParameters=function(){this.isSubLayout||(this.layoutQuality=b.QUALITY,this.animationDuringLayout=b.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=b.DEFAULT_ANIMATION_PERIOD,this.animationOnLayout=b.DEFAULT_ANIMATION_ON_LAYOUT,this.incremental=b.DEFAULT_INCREMENTAL,this.createBendsAsNeeded=b.DEFAULT_CREATE_BENDS_AS_NEEDED,this.uniformLeafNodeSizes=b.DEFAULT_UNIFORM_LEAF_NODE_SIZES),this.animationDuringLayout&&(this.animationOnLayout=!1)},j.prototype.transform=function(W){if(W==null)this.transform(new P(0,0));else{var ee=new R,ie=this.graphManager.getRoot().updateLeftTop();if(ie!=null){ee.setWorldOrgX(W.x),ee.setWorldOrgY(W.y),ee.setDeviceOrgX(ie.x),ee.setDeviceOrgY(ie.y);for(var oe=this.getAllNodes(),be,ge=0;ge<oe.length;ge++)be=oe[ge],be.transform(ee)}}},j.prototype.positionNodesRandomly=function(W){if(W==null)this.positionNodesRandomly(this.getGraphManager().getRoot()),this.getGraphManager().getRoot().updateBounds(!0);else for(var ee,ie,oe=W.getNodes(),be=0;be<oe.length;be++)ee=oe[be],ie=ee.getChild(),ie==null||ie.getNodes().length==0?ee.scatter():(this.positionNodesRandomly(ie),ee.updateBounds())},j.prototype.getFlatForest=function(){for(var W=[],ee=!0,ie=this.graphManager.getRoot().getNodes(),oe=!0,be=0;be<ie.length;be++)ie[be].getChild()!=null&&(oe=!1);if(!oe)return W;var ge=new Set,ae=[],ne=new Map,se=[];for(se=se.concat(ie);se.length>0&&ee;){for(ae.push(se[0]);ae.length>0&&ee;){var de=ae[0];ae.splice(0,1),ge.add(de);for(var X=de.getEdges(),be=0;be<X.length;be++){var pe=X[be].getOtherEnd(de);if(ne.get(de)!=pe)if(!ge.has(pe))ae.push(pe),ne.set(pe,de);else{ee=!1;break}}}if(!ee)W=[];else{var G=[].concat(v(ge));W.push(G);for(var be=0;be<G.length;be++){var xe=G[be],U=se.indexOf(xe);U>-1&&se.splice(U,1)}ge=new Set,ne=new Map}}return W},j.prototype.createDummyNodesForBendpoints=function(W){for(var ee=[],ie=W.source,oe=this.graphManager.calcLowestCommonAncestor(W.source,W.target),be=0;be<W.bendpoints.length;be++){var ge=this.newNode(null);ge.setRect(new Point(0,0),new Dimension(1,1)),oe.add(ge);var ae=this.newEdge(null);this.graphManager.add(ae,ie,ge),ee.add(ge),ie=ge}var ae=this.newEdge(null);return this.graphManager.add(ae,ie,W.target),this.edgeToDummyNodes.set(W,ee),W.isInterGraph()?this.graphManager.remove(W):oe.remove(W),ee},j.prototype.createBendpointsFromDummyNodes=function(){var W=[];W=W.concat(this.graphManager.getAllEdges()),W=[].concat(v(this.edgeToDummyNodes.keys())).concat(W);for(var ee=0;ee<W.length;ee++){var ie=W[ee];if(ie.bendpoints.length>0){for(var oe=this.edgeToDummyNodes.get(ie),be=0;be<oe.length;be++){var ge=oe[be],ae=new P(ge.getCenterX(),ge.getCenterY()),ne=ie.bendpoints.get(be);ne.x=ae.x,ne.y=ae.y,ge.getOwner().remove(ge)}this.graphManager.add(ie,ie.source,ie.target)}}},j.transform=function(W,ee,ie,oe){if(ie!=null&&oe!=null){var be=ee;if(W<=50){var ge=ee/ie;be-=(ee-ge)/50*(50-W)}else{var ae=ee*oe;be+=(ae-ee)/50*(W-50)}return be}else{var ne,se;return W<=50?(ne=9*ee/500,se=ee/10):(ne=9*ee/50,se=-8*ee),ne*W+se}},j.findCenterOfTree=function(W){var ee=[];ee=ee.concat(W);var ie=[],oe=new Map,be=!1,ge=null;(ee.length==1||ee.length==2)&&(be=!0,ge=ee[0]);for(var ae=0;ae<ee.length;ae++){var ne=ee[ae],se=ne.getNeighborsList().size;oe.set(ne,ne.getNeighborsList().size),se==1&&ie.push(ne)}var de=[];for(de=de.concat(ie);!be;){var X=[];X=X.concat(de),de=[];for(var ae=0;ae<ee.length;ae++){var ne=ee[ae],pe=ee.indexOf(ne);pe>=0&&ee.splice(pe,1);var G=ne.getNeighborsList();G.forEach(function(Be){if(ie.indexOf(Be)<0){var Pe=oe.get(Be),je=Pe-1;je==1&&de.push(Be),oe.set(Be,je)}})}ie=ie.concat(de),(ee.length==1||ee.length==2)&&(be=!0,ge=ee[0])}return ge},j.prototype.setGraphManager=function(W){this.graphManager=W},u.exports=j},function(u,d,p){function v(){}v.seed=1,v.x=0,v.nextDouble=function(){return v.x=Math.sin(v.seed++)*1e4,v.x-Math.floor(v.x)},u.exports=v},function(u,d,p){var v=p(4);function b(y,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}b.prototype.getWorldOrgX=function(){return this.lworldOrgX},b.prototype.setWorldOrgX=function(y){this.lworldOrgX=y},b.prototype.getWorldOrgY=function(){return this.lworldOrgY},b.prototype.setWorldOrgY=function(y){this.lworldOrgY=y},b.prototype.getWorldExtX=function(){return this.lworldExtX},b.prototype.setWorldExtX=function(y){this.lworldExtX=y},b.prototype.getWorldExtY=function(){return this.lworldExtY},b.prototype.setWorldExtY=function(y){this.lworldExtY=y},b.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},b.prototype.setDeviceOrgX=function(y){this.ldeviceOrgX=y},b.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},b.prototype.setDeviceOrgY=function(y){this.ldeviceOrgY=y},b.prototype.getDeviceExtX=function(){return this.ldeviceExtX},b.prototype.setDeviceExtX=function(y){this.ldeviceExtX=y},b.prototype.getDeviceExtY=function(){return this.ldeviceExtY},b.prototype.setDeviceExtY=function(y){this.ldeviceExtY=y},b.prototype.transformX=function(y){var E=0,_=this.lworldExtX;return _!=0&&(E=this.ldeviceOrgX+(y-this.lworldOrgX)*this.ldeviceExtX/_),E},b.prototype.transformY=function(y){var E=0,_=this.lworldExtY;return _!=0&&(E=this.ldeviceOrgY+(y-this.lworldOrgY)*this.ldeviceExtY/_),E},b.prototype.inverseTransformX=function(y){var E=0,_=this.ldeviceExtX;return _!=0&&(E=this.lworldOrgX+(y-this.ldeviceOrgX)*this.lworldExtX/_),E},b.prototype.inverseTransformY=function(y){var E=0,_=this.ldeviceExtY;return _!=0&&(E=this.lworldOrgY+(y-this.ldeviceOrgY)*this.lworldExtY/_),E},b.prototype.inverseTransformPoint=function(y){var E=new v(this.inverseTransformX(y.x),this.inverseTransformY(y.y));return E},u.exports=b},function(u,d,p){function v(B){if(Array.isArray(B)){for(var j=0,W=Array(B.length);j<B.length;j++)W[j]=B[j];return W}else return Array.from(B)}var b=p(15),y=p(7),E=p(0),_=p(8),A=p(9);function P(){b.call(this),this.useSmartIdealEdgeLengthCalculation=y.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.idealEdgeLength=y.DEFAULT_EDGE_LENGTH,this.springConstant=y.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=y.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=y.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=y.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=y.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*y.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=y.MAX_ITERATIONS}P.prototype=Object.create(b.prototype);for(var R in b)P[R]=b[R];P.prototype.initParameters=function(){b.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=y.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},P.prototype.calcIdealEdgeLengths=function(){for(var B,j,W,ee,ie,oe,be=this.getGraphManager().getAllEdges(),ge=0;ge<be.length;ge++)B=be[ge],B.idealLength=this.idealEdgeLength,B.isInterGraph&&(W=B.getSource(),ee=B.getTarget(),ie=B.getSourceInLca().getEstimatedSize(),oe=B.getTargetInLca().getEstimatedSize(),this.useSmartIdealEdgeLengthCalculation&&(B.idealLength+=ie+oe-2*E.SIMPLE_NODE_SIZE),j=B.getLca().getInclusionTreeDepth(),B.idealLength+=y.DEFAULT_EDGE_LENGTH*y.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR*(W.getInclusionTreeDepth()+ee.getInclusionTreeDepth()-2*j))},P.prototype.initSpringEmbedder=function(){var B=this.getAllNodes().length;this.incremental?(B>y.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*y.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(B-y.ADAPTATION_LOWER_NODE_LIMIT)/(y.ADAPTATION_UPPER_NODE_LIMIT-y.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-y.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=y.MAX_NODE_DISPLACEMENT_INCREMENTAL):(B>y.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(y.COOLING_ADAPTATION_FACTOR,1-(B-y.ADAPTATION_LOWER_NODE_LIMIT)/(y.ADAPTATION_UPPER_NODE_LIMIT-y.ADAPTATION_LOWER_NODE_LIMIT)*(1-y.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=y.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},P.prototype.calcSpringForces=function(){for(var B=this.getAllEdges(),j,W=0;W<B.length;W++)j=B[W],this.calcSpringForce(j,j.idealLength)},P.prototype.calcRepulsionForces=function(){var B=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,j=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,W,ee,ie,oe,be=this.getAllNodes(),ge;if(this.useFRGridVariant)for(this.totalIterations%y.GRID_CALCULATION_CHECK_PERIOD==1&&B&&this.updateGrid(),ge=new Set,W=0;W<be.length;W++)ie=be[W],this.calculateRepulsionForceOfANode(ie,ge,B,j),ge.add(ie);else for(W=0;W<be.length;W++)for(ie=be[W],ee=W+1;ee<be.length;ee++)oe=be[ee],ie.getOwner()==oe.getOwner()&&this.calcRepulsionForce(ie,oe)},P.prototype.calcGravitationalForces=function(){for(var B,j=this.getAllNodesToApplyGravitation(),W=0;W<j.length;W++)B=j[W],this.calcGravitationalForce(B)},P.prototype.moveNodes=function(){for(var B=this.getAllNodes(),j,W=0;W<B.length;W++)j=B[W],j.move()},P.prototype.calcSpringForce=function(B,j){var W=B.getSource(),ee=B.getTarget(),ie,oe,be,ge;if(this.uniformLeafNodeSizes&&W.getChild()==null&&ee.getChild()==null)B.updateLengthSimple();else if(B.updateLength(),B.isOverlapingSourceAndTarget)return;ie=B.getLength(),ie!=0&&(oe=this.springConstant*(ie-j),be=oe*(B.lengthX/ie),ge=oe*(B.lengthY/ie),W.springForceX+=be,W.springForceY+=ge,ee.springForceX-=be,ee.springForceY-=ge)},P.prototype.calcRepulsionForce=function(B,j){var W=B.getRect(),ee=j.getRect(),ie=new Array(2),oe=new Array(4),be,ge,ae,ne,se,de,X;if(W.intersects(ee)){_.calcSeparationAmount(W,ee,ie,y.DEFAULT_EDGE_LENGTH/2),de=2*ie[0],X=2*ie[1];var pe=B.noOfChildren*j.noOfChildren/(B.noOfChildren+j.noOfChildren);B.repulsionForceX-=pe*de,B.repulsionForceY-=pe*X,j.repulsionForceX+=pe*de,j.repulsionForceY+=pe*X}else this.uniformLeafNodeSizes&&B.getChild()==null&&j.getChild()==null?(be=ee.getCenterX()-W.getCenterX(),ge=ee.getCenterY()-W.getCenterY()):(_.getIntersection(W,ee,oe),be=oe[2]-oe[0],ge=oe[3]-oe[1]),Math.abs(be)<y.MIN_REPULSION_DIST&&(be=A.sign(be)*y.MIN_REPULSION_DIST),Math.abs(ge)<y.MIN_REPULSION_DIST&&(ge=A.sign(ge)*y.MIN_REPULSION_DIST),ae=be*be+ge*ge,ne=Math.sqrt(ae),se=this.repulsionConstant*B.noOfChildren*j.noOfChildren/ae,de=se*be/ne,X=se*ge/ne,B.repulsionForceX-=de,B.repulsionForceY-=X,j.repulsionForceX+=de,j.repulsionForceY+=X},P.prototype.calcGravitationalForce=function(B){var j,W,ee,ie,oe,be,ge,ae;j=B.getOwner(),W=(j.getRight()+j.getLeft())/2,ee=(j.getTop()+j.getBottom())/2,ie=B.getCenterX()-W,oe=B.getCenterY()-ee,be=Math.abs(ie)+B.getWidth()/2,ge=Math.abs(oe)+B.getHeight()/2,B.getOwner()==this.graphManager.getRoot()?(ae=j.getEstimatedSize()*this.gravityRangeFactor,(be>ae||ge>ae)&&(B.gravitationForceX=-this.gravityConstant*ie,B.gravitationForceY=-this.gravityConstant*oe)):(ae=j.getEstimatedSize()*this.compoundGravityRangeFactor,(be>ae||ge>ae)&&(B.gravitationForceX=-this.gravityConstant*ie*this.compoundGravityConstant,B.gravitationForceY=-this.gravityConstant*oe*this.compoundGravityConstant))},P.prototype.isConverged=function(){var B,j=!1;return this.totalIterations>this.maxIterations/3&&(j=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),B=this.totalDisplacement<this.totalDisplacementThreshold,this.oldTotalDisplacement=this.totalDisplacement,B||j},P.prototype.animate=function(){this.animationDuringLayout&&!this.isSubLayout&&(this.notAnimatedIterations==this.animationPeriod?(this.update(),this.notAnimatedIterations=0):this.notAnimatedIterations++)},P.prototype.calcNoOfChildrenForAllNodes=function(){for(var B,j=this.graphManager.getAllNodes(),W=0;W<j.length;W++)B=j[W],B.noOfChildren=B.getNoOfChildren()},P.prototype.calcGrid=function(B){var j=0,W=0;j=parseInt(Math.ceil((B.getRight()-B.getLeft())/this.repulsionRange)),W=parseInt(Math.ceil((B.getBottom()-B.getTop())/this.repulsionRange));for(var ee=new Array(j),ie=0;ie<j;ie++)ee[ie]=new Array(W);for(var ie=0;ie<j;ie++)for(var oe=0;oe<W;oe++)ee[ie][oe]=new Array;return ee},P.prototype.addNodeToGrid=function(B,j,W){var ee=0,ie=0,oe=0,be=0;ee=parseInt(Math.floor((B.getRect().x-j)/this.repulsionRange)),ie=parseInt(Math.floor((B.getRect().width+B.getRect().x-j)/this.repulsionRange)),oe=parseInt(Math.floor((B.getRect().y-W)/this.repulsionRange)),be=parseInt(Math.floor((B.getRect().height+B.getRect().y-W)/this.repulsionRange));for(var ge=ee;ge<=ie;ge++)for(var ae=oe;ae<=be;ae++)this.grid[ge][ae].push(B),B.setGridCoordinates(ee,ie,oe,be)},P.prototype.updateGrid=function(){var B,j,W=this.getAllNodes();for(this.grid=this.calcGrid(this.graphManager.getRoot()),B=0;B<W.length;B++)j=W[B],this.addNodeToGrid(j,this.graphManager.getRoot().getLeft(),this.graphManager.getRoot().getTop())},P.prototype.calculateRepulsionForceOfANode=function(B,j,W,ee){if(this.totalIterations%y.GRID_CALCULATION_CHECK_PERIOD==1&&W||ee){var ie=new Set;B.surrounding=new Array;for(var oe,be=this.grid,ge=B.startX-1;ge<B.finishX+2;ge++)for(var ae=B.startY-1;ae<B.finishY+2;ae++)if(!(ge<0||ae<0||ge>=be.length||ae>=be[0].length)){for(var ne=0;ne<be[ge][ae].length;ne++)if(oe=be[ge][ae][ne],!(B.getOwner()!=oe.getOwner()||B==oe)&&!j.has(oe)&&!ie.has(oe)){var se=Math.abs(B.getCenterX()-oe.getCenterX())-(B.getWidth()/2+oe.getWidth()/2),de=Math.abs(B.getCenterY()-oe.getCenterY())-(B.getHeight()/2+oe.getHeight()/2);se<=this.repulsionRange&&de<=this.repulsionRange&&ie.add(oe)}}B.surrounding=[].concat(v(ie))}for(ge=0;ge<B.surrounding.length;ge++)this.calcRepulsionForce(B,B.surrounding[ge])},P.prototype.calcRepulsionRange=function(){return 0},u.exports=P},function(u,d,p){var v=p(1),b=p(7);function y(_,A,P){v.call(this,_,A,P),this.idealLength=b.DEFAULT_EDGE_LENGTH}y.prototype=Object.create(v.prototype);for(var E in v)y[E]=v[E];u.exports=y},function(u,d,p){var v=p(3);function b(E,_,A,P){v.call(this,E,_,A,P),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0,this.startX=0,this.finishX=0,this.startY=0,this.finishY=0,this.surrounding=[]}b.prototype=Object.create(v.prototype);for(var y in v)b[y]=v[y];b.prototype.setGridCoordinates=function(E,_,A,P){this.startX=E,this.finishX=_,this.startY=A,this.finishY=P},u.exports=b},function(u,d,p){function v(b,y){this.width=0,this.height=0,b!==null&&y!==null&&(this.height=y,this.width=b)}v.prototype.getWidth=function(){return this.width},v.prototype.setWidth=function(b){this.width=b},v.prototype.getHeight=function(){return this.height},v.prototype.setHeight=function(b){this.height=b},u.exports=v},function(u,d,p){var v=p(14);function b(){this.map={},this.keys=[]}b.prototype.put=function(y,E){var _=v.createID(y);this.contains(_)||(this.map[_]=E,this.keys.push(y))},b.prototype.contains=function(y){return v.createID(y),this.map[y]!=null},b.prototype.get=function(y){var E=v.createID(y);return this.map[E]},b.prototype.keySet=function(){return this.keys},u.exports=b},function(u,d,p){var v=p(14);function b(){this.set={}}b.prototype.add=function(y){var E=v.createID(y);this.contains(E)||(this.set[E]=y)},b.prototype.remove=function(y){delete this.set[v.createID(y)]},b.prototype.clear=function(){this.set={}},b.prototype.contains=function(y){return this.set[v.createID(y)]==y},b.prototype.isEmpty=function(){return this.size()===0},b.prototype.size=function(){return Object.keys(this.set).length},b.prototype.addAllTo=function(y){for(var E=Object.keys(this.set),_=E.length,A=0;A<_;A++)y.push(this.set[E[A]])},b.prototype.size=function(){return Object.keys(this.set).length},b.prototype.addAll=function(y){for(var E=y.length,_=0;_<E;_++){var A=y[_];this.add(A)}},u.exports=b},function(u,d,p){var v=function(){function _(A,P){for(var R=0;R<P.length;R++){var B=P[R];B.enumerable=B.enumerable||!1,B.configurable=!0,"value"in B&&(B.writable=!0),Object.defineProperty(A,B.key,B)}}return function(A,P,R){return P&&_(A.prototype,P),R&&_(A,R),A}}();function b(_,A){if(!(_ instanceof A))throw new TypeError("Cannot call a class as a function")}var y=p(11),E=function(){function _(A,P){b(this,_),(P!==null||P!==void 0)&&(this.compareFunction=this._defaultCompareFunction);var R=void 0;A instanceof y?R=A.size():R=A.length,this._quicksort(A,0,R-1)}return v(_,[{key:"_quicksort",value:function(P,R,B){if(R<B){var j=this._partition(P,R,B);this._quicksort(P,R,j),this._quicksort(P,j+1,B)}}},{key:"_partition",value:function(P,R,B){for(var j=this._get(P,R),W=R,ee=B;;){for(;this.compareFunction(j,this._get(P,ee));)ee--;for(;this.compareFunction(this._get(P,W),j);)W++;if(W<ee)this._swap(P,W,ee),W++,ee--;else return ee}}},{key:"_get",value:function(P,R){return P instanceof y?P.get_object_at(R):P[R]}},{key:"_set",value:function(P,R,B){P instanceof y?P.set_object_at(R,B):P[R]=B}},{key:"_swap",value:function(P,R,B){var j=this._get(P,R);this._set(P,R,this._get(P,B)),this._set(P,B,j)}},{key:"_defaultCompareFunction",value:function(P,R){return R>P}}]),_}();u.exports=E},function(u,d,p){var v=function(){function E(_,A){for(var P=0;P<A.length;P++){var R=A[P];R.enumerable=R.enumerable||!1,R.configurable=!0,"value"in R&&(R.writable=!0),Object.defineProperty(_,R.key,R)}}return function(_,A,P){return A&&E(_.prototype,A),P&&E(_,P),_}}();function b(E,_){if(!(E instanceof _))throw new TypeError("Cannot call a class as a function")}var y=function(){function E(_,A){var P=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,R=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,B=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;b(this,E),this.sequence1=_,this.sequence2=A,this.match_score=P,this.mismatch_penalty=R,this.gap_penalty=B,this.iMax=_.length+1,this.jMax=A.length+1,this.grid=new Array(this.iMax);for(var j=0;j<this.iMax;j++){this.grid[j]=new Array(this.jMax);for(var W=0;W<this.jMax;W++)this.grid[j][W]=0}this.tracebackGrid=new Array(this.iMax);for(var ee=0;ee<this.iMax;ee++){this.tracebackGrid[ee]=new Array(this.jMax);for(var ie=0;ie<this.jMax;ie++)this.tracebackGrid[ee][ie]=[null,null,null]}this.alignments=[],this.score=-1,this.computeGrids()}return v(E,[{key:"getScore",value:function(){return this.score}},{key:"getAlignments",value:function(){return this.alignments}},{key:"computeGrids",value:function(){for(var A=1;A<this.jMax;A++)this.grid[0][A]=this.grid[0][A-1]+this.gap_penalty,this.tracebackGrid[0][A]=[!1,!1,!0];for(var P=1;P<this.iMax;P++)this.grid[P][0]=this.grid[P-1][0]+this.gap_penalty,this.tracebackGrid[P][0]=[!1,!0,!1];for(var R=1;R<this.iMax;R++)for(var B=1;B<this.jMax;B++){var j=void 0;this.sequence1[R-1]===this.sequence2[B-1]?j=this.grid[R-1][B-1]+this.match_score:j=this.grid[R-1][B-1]+this.mismatch_penalty;var W=this.grid[R-1][B]+this.gap_penalty,ee=this.grid[R][B-1]+this.gap_penalty,ie=[j,W,ee],oe=this.arrayAllMaxIndexes(ie);this.grid[R][B]=ie[oe[0]],this.tracebackGrid[R][B]=[oe.includes(0),oe.includes(1),oe.includes(2)]}this.score=this.grid[this.iMax-1][this.jMax-1]}},{key:"alignmentTraceback",value:function(){var A=[];for(A.push({pos:[this.sequence1.length,this.sequence2.length],seq1:"",seq2:""});A[0];){var P=A[0],R=this.tracebackGrid[P.pos[0]][P.pos[1]];R[0]&&A.push({pos:[P.pos[0]-1,P.pos[1]-1],seq1:this.sequence1[P.pos[0]-1]+P.seq1,seq2:this.sequence2[P.pos[1]-1]+P.seq2}),R[1]&&A.push({pos:[P.pos[0]-1,P.pos[1]],seq1:this.sequence1[P.pos[0]-1]+P.seq1,seq2:"-"+P.seq2}),R[2]&&A.push({pos:[P.pos[0],P.pos[1]-1],seq1:"-"+P.seq1,seq2:this.sequence2[P.pos[1]-1]+P.seq2}),P.pos[0]===0&&P.pos[1]===0&&this.alignments.push({sequence1:P.seq1,sequence2:P.seq2}),A.shift()}return this.alignments}},{key:"getAllIndexes",value:function(A,P){for(var R=[],B=-1;(B=A.indexOf(P,B+1))!==-1;)R.push(B);return R}},{key:"arrayAllMaxIndexes",value:function(A){return this.getAllIndexes(A,Math.max.apply(null,A))}}]),E}();u.exports=y},function(u,d,p){var v=function(){};v.FDLayout=p(18),v.FDLayoutConstants=p(7),v.FDLayoutEdge=p(19),v.FDLayoutNode=p(20),v.DimensionD=p(21),v.HashMap=p(22),v.HashSet=p(23),v.IGeometry=p(8),v.IMath=p(9),v.Integer=p(10),v.Point=p(12),v.PointD=p(4),v.RandomSeed=p(16),v.RectangleD=p(13),v.Transform=p(17),v.UniqueIDGeneretor=p(14),v.Quicksort=p(24),v.LinkedList=p(11),v.LGraphObject=p(2),v.LGraph=p(5),v.LEdge=p(1),v.LGraphManager=p(6),v.LNode=p(3),v.Layout=p(15),v.LayoutConstants=p(0),v.NeedlemanWunsch=p(25),u.exports=v},function(u,d,p){function v(){this.listeners=[]}var b=v.prototype;b.addListener=function(y,E){this.listeners.push({event:y,callback:E})},b.removeListener=function(y,E){for(var _=this.listeners.length;_>=0;_--){var A=this.listeners[_];A.event===y&&A.callback===E&&this.listeners.splice(_,1)}},b.emit=function(y,E){for(var _=0;_<this.listeners.length;_++){var A=this.listeners[_];y===A.event&&A.callback(E)}},u.exports=v}])})}(xwe)),xwe.exports}var VWe;function Non(){return VWe||(VWe=1,function(i,a){(function(d,p){i.exports=p(Oon())})(Dg,function(u){return function(d){var p={};function v(b){if(p[b])return p[b].exports;var y=p[b]={i:b,l:!1,exports:{}};return d[b].call(y.exports,y,y.exports,v),y.l=!0,y.exports}return v.m=d,v.c=p,v.i=function(b){return b},v.d=function(b,y,E){v.o(b,y)||Object.defineProperty(b,y,{configurable:!1,enumerable:!0,get:E})},v.n=function(b){var y=b&&b.__esModule?function(){return b.default}:function(){return b};return v.d(y,"a",y),y},v.o=function(b,y){return Object.prototype.hasOwnProperty.call(b,y)},v.p="",v(v.s=7)}([function(d,p){d.exports=u},function(d,p,v){var b=v(0).FDLayoutConstants;function y(){}for(var E in b)y[E]=b[E];y.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,y.DEFAULT_RADIAL_SEPARATION=b.DEFAULT_EDGE_LENGTH,y.DEFAULT_COMPONENT_SEPERATION=60,y.TILE=!0,y.TILING_PADDING_VERTICAL=10,y.TILING_PADDING_HORIZONTAL=10,y.TREE_REDUCTION_ON_INCREMENTAL=!1,d.exports=y},function(d,p,v){var b=v(0).FDLayoutEdge;function y(_,A,P){b.call(this,_,A,P)}y.prototype=Object.create(b.prototype);for(var E in b)y[E]=b[E];d.exports=y},function(d,p,v){var b=v(0).LGraph;function y(_,A,P){b.call(this,_,A,P)}y.prototype=Object.create(b.prototype);for(var E in b)y[E]=b[E];d.exports=y},function(d,p,v){var b=v(0).LGraphManager;function y(_){b.call(this,_)}y.prototype=Object.create(b.prototype);for(var E in b)y[E]=b[E];d.exports=y},function(d,p,v){var b=v(0).FDLayoutNode,y=v(0).IMath;function E(A,P,R,B){b.call(this,A,P,R,B)}E.prototype=Object.create(b.prototype);for(var _ in b)E[_]=b[_];E.prototype.move=function(){var A=this.graphManager.getLayout();this.displacementX=A.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=A.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>A.coolingFactor*A.maxNodeDisplacement&&(this.displacementX=A.coolingFactor*A.maxNodeDisplacement*y.sign(this.displacementX)),Math.abs(this.displacementY)>A.coolingFactor*A.maxNodeDisplacement&&(this.displacementY=A.coolingFactor*A.maxNodeDisplacement*y.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),A.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},E.prototype.propogateDisplacementToChildren=function(A,P){for(var R=this.getChild().getNodes(),B,j=0;j<R.length;j++)B=R[j],B.getChild()==null?(B.moveBy(A,P),B.displacementX+=A,B.displacementY+=P):B.propogateDisplacementToChildren(A,P)},E.prototype.setPred1=function(A){this.pred1=A},E.prototype.getPred1=function(){return pred1},E.prototype.getPred2=function(){return pred2},E.prototype.setNext=function(A){this.next=A},E.prototype.getNext=function(){return next},E.prototype.setProcessed=function(A){this.processed=A},E.prototype.isProcessed=function(){return processed},d.exports=E},function(d,p,v){var b=v(0).FDLayout,y=v(4),E=v(3),_=v(5),A=v(2),P=v(1),R=v(0).FDLayoutConstants,B=v(0).LayoutConstants,j=v(0).Point,W=v(0).PointD,ee=v(0).Layout,ie=v(0).Integer,oe=v(0).IGeometry,be=v(0).LGraph,ge=v(0).Transform;function ae(){b.call(this),this.toBeTiled={}}ae.prototype=Object.create(b.prototype);for(var ne in b)ae[ne]=b[ne];ae.prototype.newGraphManager=function(){var se=new y(this);return this.graphManager=se,se},ae.prototype.newGraph=function(se){return new E(null,this.graphManager,se)},ae.prototype.newNode=function(se){return new _(this.graphManager,se)},ae.prototype.newEdge=function(se){return new A(null,null,se)},ae.prototype.initParameters=function(){b.prototype.initParameters.call(this,arguments),this.isSubLayout||(P.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=P.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=P.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,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.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1,this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/R.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=R.CONVERGENCE_CHECK_PERIOD/this.maxIterations,this.coolingAdjuster=1)},ae.prototype.layout=function(){var se=B.DEFAULT_CREATE_BENDS_AS_NEEDED;return se&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},ae.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(P.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var de=new Set(this.getAllNodes()),X=this.nodesWithGravity.filter(function(xe){return de.has(xe)});this.graphManager.setAllNodesToApplyGravitation(X)}}else{var se=this.getFlatForest();if(se.length>0)this.positionNodesRadially(se);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var de=new Set(this.getAllNodes()),X=this.nodesWithGravity.filter(function(pe){return de.has(pe)});this.graphManager.setAllNodesToApplyGravitation(X),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},ae.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%R.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(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 se=new Set(this.getAllNodes()),de=this.nodesWithGravity.filter(function(G){return se.has(G)});this.graphManager.setAllNodesToApplyGravitation(de),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=R.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=R.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var X=!this.isTreeGrowing&&!this.isGrowthFinished,pe=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(X,pe),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},ae.prototype.getPositionsData=function(){for(var se=this.graphManager.getAllNodes(),de={},X=0;X<se.length;X++){var pe=se[X].rect,G=se[X].id;de[G]={id:G,x:pe.getCenterX(),y:pe.getCenterY(),w:pe.width,h:pe.height}}return de},ae.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var se=!1;if(R.ANIMATE==="during")this.emit("layoutstarted");else{for(;!se;)se=this.tick();this.graphManager.updateBounds()}},ae.prototype.calculateNodesToApplyGravitationTo=function(){var se=[],de,X=this.graphManager.getGraphs(),pe=X.length,G;for(G=0;G<pe;G++)de=X[G],de.updateConnected(),de.isConnected||(se=se.concat(de.getNodes()));return se},ae.prototype.createBendpoints=function(){var se=[];se=se.concat(this.graphManager.getAllEdges());var de=new Set,X;for(X=0;X<se.length;X++){var pe=se[X];if(!de.has(pe)){var G=pe.getSource(),xe=pe.getTarget();if(G==xe)pe.getBendpoints().push(new W),pe.getBendpoints().push(new W),this.createDummyNodesForBendpoints(pe),de.add(pe);else{var U=[];if(U=U.concat(G.getEdgeListToNode(xe)),U=U.concat(xe.getEdgeListToNode(G)),!de.has(U[0])){if(U.length>1){var Be;for(Be=0;Be<U.length;Be++){var Pe=U[Be];Pe.getBendpoints().push(new W),this.createDummyNodesForBendpoints(Pe)}}U.forEach(function(je){de.add(je)})}}}if(de.size==se.length)break}},ae.prototype.positionNodesRadially=function(se){for(var de=new j(0,0),X=Math.ceil(Math.sqrt(se.length)),pe=0,G=0,xe=0,U=new W(0,0),Be=0;Be<se.length;Be++){Be%X==0&&(xe=0,G=pe,Be!=0&&(G+=P.DEFAULT_COMPONENT_SEPERATION),pe=0);var Pe=se[Be],je=ee.findCenterOfTree(Pe);de.x=xe,de.y=G,U=ae.radialLayout(Pe,je,de),U.y>pe&&(pe=Math.floor(U.y)),xe=Math.floor(U.x+P.DEFAULT_COMPONENT_SEPERATION)}this.transform(new W(B.WORLD_CENTER_X-U.x/2,B.WORLD_CENTER_Y-U.y/2))},ae.radialLayout=function(se,de,X){var pe=Math.max(this.maxDiagonalInTree(se),P.DEFAULT_RADIAL_SEPARATION);ae.branchRadialLayout(de,null,0,359,0,pe);var G=be.calculateBounds(se),xe=new ge;xe.setDeviceOrgX(G.getMinX()),xe.setDeviceOrgY(G.getMinY()),xe.setWorldOrgX(X.x),xe.setWorldOrgY(X.y);for(var U=0;U<se.length;U++){var Be=se[U];Be.transform(xe)}var Pe=new W(G.getMaxX(),G.getMaxY());return xe.inverseTransformPoint(Pe)},ae.branchRadialLayout=function(se,de,X,pe,G,xe){var U=(pe-X+1)/2;U<0&&(U+=180);var Be=(U+X)%360,Pe=Be*oe.TWO_PI/360,je=G*Math.cos(Pe),Ie=G*Math.sin(Pe);se.setCenter(je,Ie);var Se=[];Se=Se.concat(se.getEdges());var Ce=Se.length;de!=null&&Ce--;for(var ke=0,Ke=Se.length,zt,Ne=se.getEdgesBetween(de);Ne.length>1;){var pn=Ne[0];Ne.splice(0,1);var Tt=Se.indexOf(pn);Tt>=0&&Se.splice(Tt,1),Ke--,Ce--}de!=null?zt=(Se.indexOf(Ne[0])+1)%Ke:zt=0;for(var Et=Math.abs(pe-X)/Ce,Wt=zt;ke!=Ce;Wt=++Wt%Ke){var un=Se[Wt].getOtherEnd(se);if(un!=de){var yt=(X+ke*Et)%360,Bt=(yt+Et)%360;ae.branchRadialLayout(un,se,yt,Bt,G+xe,xe),ke++}}},ae.maxDiagonalInTree=function(se){for(var de=ie.MIN_VALUE,X=0;X<se.length;X++){var pe=se[X],G=pe.getDiagonal();G>de&&(de=G)}return de},ae.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},ae.prototype.groupZeroDegreeMembers=function(){var se=this,de={};this.memberGroups={},this.idToDummyNode={};for(var X=[],pe=this.graphManager.getAllNodes(),G=0;G<pe.length;G++){var xe=pe[G],U=xe.getParent();this.getNodeDegreeWithChildren(xe)===0&&(U.id==null||!this.getToBeTiled(U))&&X.push(xe)}for(var G=0;G<X.length;G++){var xe=X[G],Be=xe.getParent().id;typeof de[Be]>"u"&&(de[Be]=[]),de[Be]=de[Be].concat(xe)}Object.keys(de).forEach(function(Pe){if(de[Pe].length>1){var je="DummyCompound_"+Pe;se.memberGroups[je]=de[Pe];var Ie=de[Pe][0].getParent(),Se=new _(se.graphManager);Se.id=je,Se.paddingLeft=Ie.paddingLeft||0,Se.paddingRight=Ie.paddingRight||0,Se.paddingBottom=Ie.paddingBottom||0,Se.paddingTop=Ie.paddingTop||0,se.idToDummyNode[je]=Se;var Ce=se.getGraphManager().add(se.newGraph(),Se),ke=Ie.getChild();ke.add(Se);for(var Ke=0;Ke<de[Pe].length;Ke++){var zt=de[Pe][Ke];ke.remove(zt),Ce.add(zt)}}})},ae.prototype.clearCompounds=function(){var se={},de={};this.performDFSOnCompounds();for(var X=0;X<this.compoundOrder.length;X++)de[this.compoundOrder[X].id]=this.compoundOrder[X],se[this.compoundOrder[X].id]=[].concat(this.compoundOrder[X].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[X].getChild()),this.compoundOrder[X].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(se,de)},ae.prototype.clearZeroDegreeMembers=function(){var se=this,de=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach(function(X){var pe=se.idToDummyNode[X];de[X]=se.tileNodes(se.memberGroups[X],pe.paddingLeft+pe.paddingRight),pe.rect.width=de[X].width,pe.rect.height=de[X].height})},ae.prototype.repopulateCompounds=function(){for(var se=this.compoundOrder.length-1;se>=0;se--){var de=this.compoundOrder[se],X=de.id,pe=de.paddingLeft,G=de.paddingTop;this.adjustLocations(this.tiledMemberPack[X],de.rect.x,de.rect.y,pe,G)}},ae.prototype.repopulateZeroDegreeMembers=function(){var se=this,de=this.tiledZeroDegreePack;Object.keys(de).forEach(function(X){var pe=se.idToDummyNode[X],G=pe.paddingLeft,xe=pe.paddingTop;se.adjustLocations(de[X],pe.rect.x,pe.rect.y,G,xe)})},ae.prototype.getToBeTiled=function(se){var de=se.id;if(this.toBeTiled[de]!=null)return this.toBeTiled[de];var X=se.getChild();if(X==null)return this.toBeTiled[de]=!1,!1;for(var pe=X.getNodes(),G=0;G<pe.length;G++){var xe=pe[G];if(this.getNodeDegree(xe)>0)return this.toBeTiled[de]=!1,!1;if(xe.getChild()==null){this.toBeTiled[xe.id]=!1;continue}if(!this.getToBeTiled(xe))return this.toBeTiled[de]=!1,!1}return this.toBeTiled[de]=!0,!0},ae.prototype.getNodeDegree=function(se){se.id;for(var de=se.getEdges(),X=0,pe=0;pe<de.length;pe++){var G=de[pe];G.getSource().id!==G.getTarget().id&&(X=X+1)}return X},ae.prototype.getNodeDegreeWithChildren=function(se){var de=this.getNodeDegree(se);if(se.getChild()==null)return de;for(var X=se.getChild().getNodes(),pe=0;pe<X.length;pe++){var G=X[pe];de+=this.getNodeDegreeWithChildren(G)}return de},ae.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},ae.prototype.fillCompexOrderByDFS=function(se){for(var de=0;de<se.length;de++){var X=se[de];X.getChild()!=null&&this.fillCompexOrderByDFS(X.getChild().getNodes()),this.getToBeTiled(X)&&this.compoundOrder.push(X)}},ae.prototype.adjustLocations=function(se,de,X,pe,G){de+=pe,X+=G;for(var xe=de,U=0;U<se.rows.length;U++){var Be=se.rows[U];de=xe;for(var Pe=0,je=0;je<Be.length;je++){var Ie=Be[je];Ie.rect.x=de,Ie.rect.y=X,de+=Ie.rect.width+se.horizontalPadding,Ie.rect.height>Pe&&(Pe=Ie.rect.height)}X+=Pe+se.verticalPadding}},ae.prototype.tileCompoundMembers=function(se,de){var X=this;this.tiledMemberPack=[],Object.keys(se).forEach(function(pe){var G=de[pe];X.tiledMemberPack[pe]=X.tileNodes(se[pe],G.paddingLeft+G.paddingRight),G.rect.width=X.tiledMemberPack[pe].width,G.rect.height=X.tiledMemberPack[pe].height})},ae.prototype.tileNodes=function(se,de){var X=P.TILING_PADDING_VERTICAL,pe=P.TILING_PADDING_HORIZONTAL,G={rows:[],rowWidth:[],rowHeight:[],width:0,height:de,verticalPadding:X,horizontalPadding:pe};se.sort(function(Be,Pe){return Be.rect.width*Be.rect.height>Pe.rect.width*Pe.rect.height?-1:Be.rect.width*Be.rect.height<Pe.rect.width*Pe.rect.height?1:0});for(var xe=0;xe<se.length;xe++){var U=se[xe];G.rows.length==0?this.insertNodeToRow(G,U,0,de):this.canAddHorizontal(G,U.rect.width,U.rect.height)?this.insertNodeToRow(G,U,this.getShortestRowIndex(G),de):this.insertNodeToRow(G,U,G.rows.length,de),this.shiftToLastRow(G)}return G},ae.prototype.insertNodeToRow=function(se,de,X,pe){var G=pe;if(X==se.rows.length){var xe=[];se.rows.push(xe),se.rowWidth.push(G),se.rowHeight.push(0)}var U=se.rowWidth[X]+de.rect.width;se.rows[X].length>0&&(U+=se.horizontalPadding),se.rowWidth[X]=U,se.width<U&&(se.width=U);var Be=de.rect.height;X>0&&(Be+=se.verticalPadding);var Pe=0;Be>se.rowHeight[X]&&(Pe=se.rowHeight[X],se.rowHeight[X]=Be,Pe=se.rowHeight[X]-Pe),se.height+=Pe,se.rows[X].push(de)},ae.prototype.getShortestRowIndex=function(se){for(var de=-1,X=Number.MAX_VALUE,pe=0;pe<se.rows.length;pe++)se.rowWidth[pe]<X&&(de=pe,X=se.rowWidth[pe]);return de},ae.prototype.getLongestRowIndex=function(se){for(var de=-1,X=Number.MIN_VALUE,pe=0;pe<se.rows.length;pe++)se.rowWidth[pe]>X&&(de=pe,X=se.rowWidth[pe]);return de},ae.prototype.canAddHorizontal=function(se,de,X){var pe=this.getShortestRowIndex(se);if(pe<0)return!0;var G=se.rowWidth[pe];if(G+se.horizontalPadding+de<=se.width)return!0;var xe=0;se.rowHeight[pe]<X&&pe>0&&(xe=X+se.verticalPadding-se.rowHeight[pe]);var U;se.width-G>=de+se.horizontalPadding?U=(se.height+xe)/(G+de+se.horizontalPadding):U=(se.height+xe)/se.width,xe=X+se.verticalPadding;var Be;return se.width<de?Be=(se.height+xe)/de:Be=(se.height+xe)/se.width,Be<1&&(Be=1/Be),U<1&&(U=1/U),U<Be},ae.prototype.shiftToLastRow=function(se){var de=this.getLongestRowIndex(se),X=se.rowWidth.length-1,pe=se.rows[de],G=pe[pe.length-1],xe=G.width+se.horizontalPadding;if(se.width-se.rowWidth[X]>xe&&de!=X){pe.splice(-1,1),se.rows[X].push(G),se.rowWidth[de]=se.rowWidth[de]-xe,se.rowWidth[X]=se.rowWidth[X]+xe,se.width=se.rowWidth[instance.getLongestRowIndex(se)];for(var U=Number.MIN_VALUE,Be=0;Be<pe.length;Be++)pe[Be].height>U&&(U=pe[Be].height);de>0&&(U+=se.verticalPadding);var Pe=se.rowHeight[de]+se.rowHeight[X];se.rowHeight[de]=U,se.rowHeight[X]<G.height+se.verticalPadding&&(se.rowHeight[X]=G.height+se.verticalPadding);var je=se.rowHeight[de]+se.rowHeight[X];se.height+=je-Pe,this.shiftToLastRow(se)}},ae.prototype.tilingPreLayout=function(){P.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},ae.prototype.tilingPostLayout=function(){P.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},ae.prototype.reduceTrees=function(){for(var se=[],de=!0,X;de;){var pe=this.graphManager.getAllNodes(),G=[];de=!1;for(var xe=0;xe<pe.length;xe++)X=pe[xe],X.getEdges().length==1&&!X.getEdges()[0].isInterGraph&&X.getChild()==null&&(G.push([X,X.getEdges()[0],X.getOwner()]),de=!0);if(de==!0){for(var U=[],Be=0;Be<G.length;Be++)G[Be][0].getEdges().length==1&&(U.push(G[Be]),G[Be][0].getOwner().remove(G[Be][0]));se.push(U),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=se},ae.prototype.growTree=function(se){for(var de=se.length,X=se[de-1],pe,G=0;G<X.length;G++)pe=X[G],this.findPlaceforPrunedNode(pe),pe[2].add(pe[0]),pe[2].add(pe[1],pe[1].source,pe[1].target);se.splice(se.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},ae.prototype.findPlaceforPrunedNode=function(se){var de,X,pe=se[0];pe==se[1].source?X=se[1].target:X=se[1].source;var G=X.startX,xe=X.finishX,U=X.startY,Be=X.finishY,Pe=0,je=0,Ie=0,Se=0,Ce=[Pe,Ie,je,Se];if(U>0)for(var ke=G;ke<=xe;ke++)Ce[0]+=this.grid[ke][U-1].length+this.grid[ke][U].length-1;if(xe<this.grid.length-1)for(var ke=U;ke<=Be;ke++)Ce[1]+=this.grid[xe+1][ke].length+this.grid[xe][ke].length-1;if(Be<this.grid[0].length-1)for(var ke=G;ke<=xe;ke++)Ce[2]+=this.grid[ke][Be+1].length+this.grid[ke][Be].length-1;if(G>0)for(var ke=U;ke<=Be;ke++)Ce[3]+=this.grid[G-1][ke].length+this.grid[G][ke].length-1;for(var Ke=ie.MAX_VALUE,zt,Ne,pn=0;pn<Ce.length;pn++)Ce[pn]<Ke?(Ke=Ce[pn],zt=1,Ne=pn):Ce[pn]==Ke&&zt++;if(zt==3&&Ke==0)Ce[0]==0&&Ce[1]==0&&Ce[2]==0?de=1:Ce[0]==0&&Ce[1]==0&&Ce[3]==0?de=0:Ce[0]==0&&Ce[2]==0&&Ce[3]==0?de=3:Ce[1]==0&&Ce[2]==0&&Ce[3]==0&&(de=2);else if(zt==2&&Ke==0){var Tt=Math.floor(Math.random()*2);Ce[0]==0&&Ce[1]==0?Tt==0?de=0:de=1:Ce[0]==0&&Ce[2]==0?Tt==0?de=0:de=2:Ce[0]==0&&Ce[3]==0?Tt==0?de=0:de=3:Ce[1]==0&&Ce[2]==0?Tt==0?de=1:de=2:Ce[1]==0&&Ce[3]==0?Tt==0?de=1:de=3:Tt==0?de=2:de=3}else if(zt==4&&Ke==0){var Tt=Math.floor(Math.random()*4);de=Tt}else de=Ne;de==0?pe.setCenter(X.getCenterX(),X.getCenterY()-X.getHeight()/2-R.DEFAULT_EDGE_LENGTH-pe.getHeight()/2):de==1?pe.setCenter(X.getCenterX()+X.getWidth()/2+R.DEFAULT_EDGE_LENGTH+pe.getWidth()/2,X.getCenterY()):de==2?pe.setCenter(X.getCenterX(),X.getCenterY()+X.getHeight()/2+R.DEFAULT_EDGE_LENGTH+pe.getHeight()/2):pe.setCenter(X.getCenterX()-X.getWidth()/2-R.DEFAULT_EDGE_LENGTH-pe.getWidth()/2,X.getCenterY())},d.exports=ae},function(d,p,v){var b={};b.layoutBase=v(0),b.CoSEConstants=v(1),b.CoSEEdge=v(2),b.CoSEGraph=v(3),b.CoSEGraphManager=v(4),b.CoSELayout=v(6),b.CoSENode=v(5),d.exports=b}])})}(ywe)),ywe.exports}(function(i,a){(function(d,p){i.exports=p(Non())})(Dg,function(u){return function(d){var p={};function v(b){if(p[b])return p[b].exports;var y=p[b]={i:b,l:!1,exports:{}};return d[b].call(y.exports,y,y.exports,v),y.l=!0,y.exports}return v.m=d,v.c=p,v.i=function(b){return b},v.d=function(b,y,E){v.o(b,y)||Object.defineProperty(b,y,{configurable:!1,enumerable:!0,get:E})},v.n=function(b){var y=b&&b.__esModule?function(){return b.default}:function(){return b};return v.d(y,"a",y),y},v.o=function(b,y){return Object.prototype.hasOwnProperty.call(b,y)},v.p="",v(v.s=1)}([function(d,p){d.exports=u},function(d,p,v){var b=v(0).layoutBase.LayoutConstants,y=v(0).layoutBase.FDLayoutConstants,E=v(0).CoSEConstants,_=v(0).CoSELayout,A=v(0).CoSENode,P=v(0).layoutBase.PointD,R=v(0).layoutBase.DimensionD,B={ready:function(){},stop:function(){},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 j(oe,be){var ge={};for(var ae in oe)ge[ae]=oe[ae];for(var ae in be)ge[ae]=be[ae];return ge}function W(oe){this.options=j(B,oe),ee(this.options)}var ee=function(be){be.nodeRepulsion!=null&&(E.DEFAULT_REPULSION_STRENGTH=y.DEFAULT_REPULSION_STRENGTH=be.nodeRepulsion),be.idealEdgeLength!=null&&(E.DEFAULT_EDGE_LENGTH=y.DEFAULT_EDGE_LENGTH=be.idealEdgeLength),be.edgeElasticity!=null&&(E.DEFAULT_SPRING_STRENGTH=y.DEFAULT_SPRING_STRENGTH=be.edgeElasticity),be.nestingFactor!=null&&(E.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=y.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=be.nestingFactor),be.gravity!=null&&(E.DEFAULT_GRAVITY_STRENGTH=y.DEFAULT_GRAVITY_STRENGTH=be.gravity),be.numIter!=null&&(E.MAX_ITERATIONS=y.MAX_ITERATIONS=be.numIter),be.gravityRange!=null&&(E.DEFAULT_GRAVITY_RANGE_FACTOR=y.DEFAULT_GRAVITY_RANGE_FACTOR=be.gravityRange),be.gravityCompound!=null&&(E.DEFAULT_COMPOUND_GRAVITY_STRENGTH=y.DEFAULT_COMPOUND_GRAVITY_STRENGTH=be.gravityCompound),be.gravityRangeCompound!=null&&(E.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=be.gravityRangeCompound),be.initialEnergyOnIncremental!=null&&(E.DEFAULT_COOLING_FACTOR_INCREMENTAL=y.DEFAULT_COOLING_FACTOR_INCREMENTAL=be.initialEnergyOnIncremental),be.quality=="draft"?b.QUALITY=0:be.quality=="proof"?b.QUALITY=2:b.QUALITY=1,E.NODE_DIMENSIONS_INCLUDE_LABELS=y.NODE_DIMENSIONS_INCLUDE_LABELS=b.NODE_DIMENSIONS_INCLUDE_LABELS=be.nodeDimensionsIncludeLabels,E.DEFAULT_INCREMENTAL=y.DEFAULT_INCREMENTAL=b.DEFAULT_INCREMENTAL=!be.randomize,E.ANIMATE=y.ANIMATE=b.ANIMATE=be.animate,E.TILE=be.tile,E.TILING_PADDING_VERTICAL=typeof be.tilingPaddingVertical=="function"?be.tilingPaddingVertical.call():be.tilingPaddingVertical,E.TILING_PADDING_HORIZONTAL=typeof be.tilingPaddingHorizontal=="function"?be.tilingPaddingHorizontal.call():be.tilingPaddingHorizontal};W.prototype.run=function(){var oe,be,ge=this.options;this.idToLNode={};var ae=this.layout=new _,ne=this;ne.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var se=ae.newGraphManager();this.gm=se;var de=this.options.eles.nodes(),X=this.options.eles.edges();this.root=se.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(de),ae);for(var pe=0;pe<X.length;pe++){var G=X[pe],xe=this.idToLNode[G.data("source")],U=this.idToLNode[G.data("target")];if(xe!==U&&xe.getEdgesBetween(U).length==0){var Be=se.add(ae.newEdge(),xe,U);Be.id=G.id()}}var Pe=function(Se,Ce){typeof Se=="number"&&(Se=Ce);var ke=Se.data("id"),Ke=ne.idToLNode[ke];return{x:Ke.getRect().getCenterX(),y:Ke.getRect().getCenterY()}},je=function Ie(){for(var Se=function(){ge.fit&&ge.cy.fit(ge.eles,ge.padding),oe||(oe=!0,ne.cy.one("layoutready",ge.ready),ne.cy.trigger({type:"layoutready",layout:ne}))},Ce=ne.options.refresh,ke,Ke=0;Ke<Ce&&!ke;Ke++)ke=ne.stopped||ne.layout.tick();if(ke){ae.checkLayoutSuccess()&&!ae.isSubLayout&&ae.doPostLayout(),ae.tilingPostLayout&&ae.tilingPostLayout(),ae.isLayoutFinished=!0,ne.options.eles.nodes().positions(Pe),Se(),ne.cy.one("layoutstop",ne.options.stop),ne.cy.trigger({type:"layoutstop",layout:ne}),be&&cancelAnimationFrame(be),oe=!1;return}var zt=ne.layout.getPositionsData();ge.eles.nodes().positions(function(Ne,pn){if(typeof Ne=="number"&&(Ne=pn),!Ne.isParent()){for(var Tt=Ne.id(),Et=zt[Tt],Wt=Ne;Et==null&&(Et=zt[Wt.data("parent")]||zt["DummyCompound_"+Wt.data("parent")],zt[Tt]=Et,Wt=Wt.parent()[0],Wt!=null););return Et!=null?{x:Et.x,y:Et.y}:{x:Ne.position("x"),y:Ne.position("y")}}}),Se(),be=requestAnimationFrame(Ie)};return ae.addListener("layoutstarted",function(){ne.options.animate==="during"&&(be=requestAnimationFrame(je))}),ae.runLayout(),this.options.animate!=="during"&&(ne.options.eles.nodes().not(":parent").layoutPositions(ne,ne.options,Pe),oe=!1),this},W.prototype.getTopMostNodes=function(oe){for(var be={},ge=0;ge<oe.length;ge++)be[oe[ge].id()]=!0;var ae=oe.filter(function(ne,se){typeof ne=="number"&&(ne=se);for(var de=ne.parent()[0];de!=null;){if(be[de.id()])return!1;de=de.parent()[0]}return!0});return ae},W.prototype.processChildrenList=function(oe,be,ge){for(var ae=be.length,ne=0;ne<ae;ne++){var se=be[ne],de=se.children(),X,pe=se.layoutDimensions({nodeDimensionsIncludeLabels:this.options.nodeDimensionsIncludeLabels});if(se.outerWidth()!=null&&se.outerHeight()!=null?X=oe.add(new A(ge.graphManager,new P(se.position("x")-pe.w/2,se.position("y")-pe.h/2),new R(parseFloat(pe.w),parseFloat(pe.h)))):X=oe.add(new A(this.graphManager)),X.id=se.data("id"),X.paddingLeft=parseInt(se.css("padding")),X.paddingTop=parseInt(se.css("padding")),X.paddingRight=parseInt(se.css("padding")),X.paddingBottom=parseInt(se.css("padding")),this.options.nodeDimensionsIncludeLabels&&se.isParent()){var G=se.boundingBox({includeLabels:!0,includeNodes:!1}).w,xe=se.boundingBox({includeLabels:!0,includeNodes:!1}).h,U=se.css("text-halign");X.labelWidth=G,X.labelHeight=xe,X.labelPos=U}if(this.idToLNode[se.data("id")]=X,isNaN(X.rect.x)&&(X.rect.x=0),isNaN(X.rect.y)&&(X.rect.y=0),de!=null&&de.length>0){var Be;Be=ge.getGraphManager().add(ge.newGraph(),X),this.processChildrenList(Be,de,ge)}}},W.prototype.stop=function(){return this.stopped=!0,this};var ie=function(be){be("layout","cose-bilkent",W)};typeof cytoscape<"u"&&ie(cytoscape),d.exports=ie}])})})(HWe);var Pon=HWe.exports;const Bon=dC(Pon),Fon=12,Ron=function(i,a,u,d){a.append("path").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("d",`M0 ${u.height-5} v${-u.height+2*5} q0,-5 5,-5 h${u.width-2*5} q5,0 5,5 v${u.height-5} H0 Z`),a.append("line").attr("class","node-line-"+d).attr("x1",0).attr("y1",u.height).attr("x2",u.width).attr("y2",u.height)},jon=function(i,a,u){a.append("rect").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("height",u.height).attr("width",u.width)},$on=function(i,a,u){const d=u.width,p=u.height,v=.15*d,b=.25*d,y=.35*d,E=.2*d;a.append("path").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("d",`M0 0 a${v},${v} 0 0,1 ${d*.25},${-1*d*.1}
a${y},${y} 1 0,1 ${d*.4},${-1*d*.1}
a${b},${b} 1 0,1 ${d*.35},${1*d*.2}
a${v},${v} 1 0,1 ${d*.15},${1*p*.35}
a${E},${E} 1 0,1 ${-1*d*.15},${1*p*.65}
a${b},${v} 1 0,1 ${-1*d*.25},${d*.15}
a${y},${y} 1 0,1 ${-1*d*.5},0
a${v},${v} 1 0,1 ${-1*d*.25},${-1*d*.15}
a${v},${v} 1 0,1 ${-1*d*.1},${-1*p*.35}
a${E},${E} 1 0,1 ${d*.1},${-1*p*.65}
H0 V0 Z`)},zon=function(i,a,u){const d=u.width,p=u.height,v=.15*d;a.append("path").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("d",`M0 0 a${v},${v} 1 0,0 ${d*.25},${-1*p*.1}
a${v},${v} 1 0,0 ${d*.25},0
a${v},${v} 1 0,0 ${d*.25},0
a${v},${v} 1 0,0 ${d*.25},${1*p*.1}
a${v},${v} 1 0,0 ${d*.15},${1*p*.33}
a${v*.8},${v*.8} 1 0,0 0,${1*p*.34}
a${v},${v} 1 0,0 ${-1*d*.15},${1*p*.33}
a${v},${v} 1 0,0 ${-1*d*.25},${p*.15}
a${v},${v} 1 0,0 ${-1*d*.25},0
a${v},${v} 1 0,0 ${-1*d*.25},0
a${v},${v} 1 0,0 ${-1*d*.25},${-1*p*.15}
a${v},${v} 1 0,0 ${-1*d*.1},${-1*p*.33}
a${v*.8},${v*.8} 1 0,0 0,${-1*p*.34}
a${v},${v} 1 0,0 ${d*.1},${-1*p*.33}
H0 V0 Z`)},qon=function(i,a,u){a.append("circle").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("r",u.width/2)};function Hon(i,a,u,d,p){return i.insert("polygon",":first-child").attr("points",d.map(function(v){return v.x+","+v.y}).join(" ")).attr("transform","translate("+(p.width-a)/2+", "+u+")")}const Uon=function(i,a,u){const d=u.height,v=d/4,b=u.width-u.padding+2*v,y=[{x:v,y:0},{x:b-v,y:0},{x:b,y:-d/2},{x:b-v,y:-d},{x:v,y:-d},{x:0,y:-d/2}];Hon(a,b,d,y,u)},Von=function(i,a,u){a.append("rect").attr("id","node-"+u.id).attr("class","node-bkg node-"+i.type2Str(u.type)).attr("height",u.height).attr("rx",u.padding).attr("ry",u.padding).attr("width",u.width)},Gon=function(i,a,u,d,p){const v=p.htmlLabels,b=d%(Fon-1),y=a.append("g");u.section=b;let E="section-"+b;b<0&&(E+=" section-root"),y.attr("class",(u.class?u.class+" ":"")+"mindmap-node "+E);const _=y.append("g"),A=y.append("g"),P=u.descr.replace(/(<br\/*>)/g,`
`);fJ(A,P,{useHtmlLabels:v,width:u.width,classes:"mindmap-node-label"}),v||A.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");const R=A.node().getBBox(),[B]=PC(p.fontSize);if(u.height=R.height+B*1.1*.5+u.padding,u.width=R.width+2*u.padding,u.icon)if(u.type===i.nodeType.CIRCLE)u.height+=50,u.width+=50,y.append("foreignObject").attr("height","50px").attr("width",u.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+b+" "+u.icon),A.attr("transform","translate("+u.width/2+", "+(u.height/2-1.5*u.padding)+")");else{u.width+=50;const j=u.height;u.height=Math.max(j,60);const W=Math.abs(u.height-j);y.append("foreignObject").attr("width","60px").attr("height",u.height).attr("style","text-align: center;margin-top:"+W/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+b+" "+u.icon),A.attr("transform","translate("+(25+u.width/2)+", "+(W/2+u.padding/2)+")")}else if(v){const j=(u.width-R.width)/2,W=(u.height-R.height)/2;A.attr("transform","translate("+j+", "+W+")")}else{const j=u.width/2,W=u.padding/2;A.attr("transform","translate("+j+", "+W+")")}switch(u.type){case i.nodeType.DEFAULT:Ron(i,_,u,b);break;case i.nodeType.ROUNDED_RECT:Von(i,_,u);break;case i.nodeType.RECT:jon(i,_,u);break;case i.nodeType.CIRCLE:_.attr("transform","translate("+u.width/2+", "+ +u.height/2+")"),qon(i,_,u);break;case i.nodeType.CLOUD:$on(i,_,u);break;case i.nodeType.BANG:zon(i,_,u);break;case i.nodeType.HEXAGON:Uon(i,_,u);break}return i.setElementForId(u.id,y),u.height},Kon=function(i,a){const u=i.getElementById(a.id),d=a.x||0,p=a.y||0;u.attr("transform","translate("+d+","+p+")")};qWe.use(Bon);function GWe(i,a,u,d,p){Gon(i,a,u,d,p),u.children&&u.children.forEach((v,b)=>{GWe(i,a,v,d<0?b:d,p)})}function Won(i,a){a.edges().map((u,d)=>{const p=u.data();if(u[0]._private.bodyBounds){const v=u[0]._private.rscratch;Xe.trace("Edge: ",d,p),i.insert("path").attr("d",`M ${v.startX},${v.startY} L ${v.midX},${v.midY} L${v.endX},${v.endY} `).attr("class","edge section-edge-"+p.section+" edge-depth-"+p.depth)}})}function KWe(i,a,u,d){a.add({group:"nodes",data:{id:i.id.toString(),labelText:i.descr,height:i.height,width:i.width,level:d,nodeId:i.id,padding:i.padding,type:i.type},position:{x:i.x,y:i.y}}),i.children&&i.children.forEach(p=>{KWe(p,a,u,d+1),a.add({group:"edges",data:{id:`${i.id}_${p.id}`,source:i.id,target:p.id,depth:d,section:p.section}})})}function Yon(i,a){return new Promise(u=>{const d=Dr("body").append("div").attr("id","cy").attr("style","display:none"),p=qWe({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});d.remove(),KWe(i,p,a,0),p.nodes().forEach(function(v){v.layoutDimensions=()=>{const b=v.data();return{w:b.width,h:b.height}}}),p.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),p.ready(v=>{Xe.info("Ready",v),u(p)})})}function Xon(i,a){a.nodes().map((u,d)=>{const p=u.data();p.x=u.position().x,p.y=u.position().y,Kon(i,p);const v=i.getElementById(p.nodeId);Xe.info("Id:",d,"Position: (",u.position().x,", ",u.position().y,")",p),v.attr("transform",`translate(${u.position().x-p.width/2}, ${u.position().y-p.height/2})`),v.attr("attr",`apa-${d})`)})}const Qon={draw:async(i,a,u,d)=>{var P,R;Xe.debug(`Rendering mindmap diagram
`+i);const p=d.db,v=p.getMindmap();if(!v)return;const b=qt();b.htmlLabels=!1;const y=dR(a),E=y.append("g");E.attr("class","mindmap-edges");const _=y.append("g");_.attr("class","mindmap-nodes"),GWe(p,_,v,-1,b);const A=await Yon(v,b);Won(E,A),Xon(p,A),x9(void 0,y,((P=b.mindmap)==null?void 0:P.padding)??nh.mindmap.padding,((R=b.mindmap)==null?void 0:R.useMaxWidth)??nh.mindmap.useMaxWidth)}},Jon=i=>{let a="";for(let u=0;u<i.THEME_COLOR_LIMIT;u++)i["lineColor"+u]=i["lineColor"+u]||i["cScaleInv"+u],AC(i["lineColor"+u])?i["lineColor"+u]=Ws(i["lineColor"+u],20):i["lineColor"+u]=ba(i["lineColor"+u],20);for(let u=0;u<i.THEME_COLOR_LIMIT;u++){const d=""+(17-3*u);a+=`
.section-${u-1} rect, .section-${u-1} path, .section-${u-1} circle, .section-${u-1} polygon, .section-${u-1} path {
fill: ${i["cScale"+u]};
}
.section-${u-1} text {
fill: ${i["cScaleLabel"+u]};
}
.node-icon-${u-1} {
font-size: 40px;
color: ${i["cScaleLabel"+u]};
}
.section-edge-${u-1}{
stroke: ${i["cScale"+u]};
}
.edge-depth-${u-1}{
stroke-width: ${d};
}
.section-${u-1} line {
stroke: ${i["cScaleInv"+u]} ;
stroke-width: 3;
}
.disabled, .disabled circle, .disabled text {
fill: lightgray;
}
.disabled text {
fill: #efefef;
}
`}return a},Zon=Object.freeze(Object.defineProperty({__proto__:null,diagram:{db:Don,renderer:Qon,parser:Son,styles:i=>`
.edge {
stroke-width: 3;
}
${Jon(i)}
.section-root rect, .section-root path, .section-root circle, .section-root polygon {
fill: ${i.git0};
}
.section-root text {
fill: ${i.gitBranchLabel0};
}
.icon-container {
height:100%;
display: flex;
justify-content: center;
align-items: center;
}
.edge {
fill: none;
}
.mindmap-node-label {
dy: 1em;
alignment-baseline: middle;
text-anchor: middle;
dominant-baseline: middle;
text-align: center;
}
`}},Symbol.toStringTag,{value:"Module"}));var kwe=function(){var i=function(y,E,_,A){for(_=_||{},A=y.length;A--;_[y[A]]=E);return _},a=[1,9],u=[1,10],d=[1,5,10,12],p={trace:function(){},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:function(E,_,A,P,R,B,j){var W=B.length-1;switch(R){case 7:const ee=P.findOrCreateNode(B[W-4].trim().replaceAll('""','"')),ie=P.findOrCreateNode(B[W-2].trim().replaceAll('""','"')),oe=parseFloat(B[W].trim());P.addLink(ee,ie,oe);break;case 8:case 9:case 11:this.$=B[W];break;case 10:this.$=B[W-1];break}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:a,20:u},{1:[2,6],7:11,10:[1,12]},i(u,[2,4],{9:13,5:[1,14]}),{12:[1,15]},i(d,[2,8]),i(d,[2,9]),{19:[1,16]},i(d,[2,11]),{1:[2,1]},{1:[2,5]},i(u,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:a,20:u},{15:18,16:7,17:8,18:a,20:u},{18:[1,19]},i(u,[2,3]),{12:[1,20]},i(d,[2,10]),{15:21,16:7,17:8,18:a,20:u},i([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:function(E,_){if(_.recoverable)this.trace(E);else{var A=new Error(E);throw A.hash=_,A}},parse:function(E){var _=this,A=[0],P=[],R=[null],B=[],j=this.table,W="",ee=0,ie=0,oe=2,be=1,ge=B.slice.call(arguments,1),ae=Object.create(this.lexer),ne={yy:{}};for(var se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,se)&&(ne.yy[se]=this.yy[se]);ae.setInput(E,ne.yy),ne.yy.lexer=ae,ne.yy.parser=this,typeof ae.yylloc>"u"&&(ae.yylloc={});var de=ae.yylloc;B.push(de);var X=ae.options&&ae.options.ranges;typeof ne.yy.parseError=="function"?this.parseError=ne.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(){var Ke;return Ke=P.pop()||ae.lex()||be,typeof Ke!="number"&&(Ke instanceof Array&&(P=Ke,Ke=P.pop()),Ke=_.symbols_[Ke]||Ke),Ke}for(var G,xe,U,Be,Pe={},je,Ie,Se,Ce;;){if(xe=A[A.length-1],this.defaultActions[xe]?U=this.defaultActions[xe]:((G===null||typeof G>"u")&&(G=pe()),U=j[xe]&&j[xe][G]),typeof U>"u"||!U.length||!U[0]){var ke="";Ce=[];for(je in j[xe])this.terminals_[je]&&je>oe&&Ce.push("'"+this.terminals_[je]+"'");ae.showPosition?ke="Parse error on line "+(ee+1)+`:
`+ae.showPosition()+`
Expecting `+Ce.join(", ")+", got '"+(this.terminals_[G]||G)+"'":ke="Parse error on line "+(ee+1)+": Unexpected "+(G==be?"end of input":"'"+(this.terminals_[G]||G)+"'"),this.parseError(ke,{text:ae.match,token:this.terminals_[G]||G,line:ae.yylineno,loc:de,expected:Ce})}if(U[0]instanceof Array&&U.length>1)throw new Error("Parse Error: multiple actions possible at state: "+xe+", token: "+G);switch(U[0]){case 1:A.push(G),R.push(ae.yytext),B.push(ae.yylloc),A.push(U[1]),G=null,ie=ae.yyleng,W=ae.yytext,ee=ae.yylineno,de=ae.yylloc;break;case 2:if(Ie=this.productions_[U[1]][1],Pe.$=R[R.length-Ie],Pe._$={first_line:B[B.length-(Ie||1)].first_line,last_line:B[B.length-1].last_line,first_column:B[B.length-(Ie||1)].first_column,last_column:B[B.length-1].last_column},X&&(Pe._$.range=[B[B.length-(Ie||1)].range[0],B[B.length-1].range[1]]),Be=this.performAction.apply(Pe,[W,ie,ee,ne.yy,U[1],R,B].concat(ge)),typeof Be<"u")return Be;Ie&&(A=A.slice(0,-1*Ie*2),R=R.slice(0,-1*Ie),B=B.slice(0,-1*Ie)),A.push(this.productions_[U[1]][0]),R.push(Pe.$),B.push(Pe._$),Se=j[A[A.length-2]][A[A.length-1]],A.push(Se);break;case 3:return!0}}return!0}},v=function(){var y={EOF:1,parseError:function(_,A){if(this.yy.parser)this.yy.parser.parseError(_,A);else throw new Error(_)},setInput:function(E,_){return this.yy=_||this.yy||{},this._input=E,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 E=this._input[0];this.yytext+=E,this.yyleng++,this.offset++,this.match+=E,this.matched+=E;var _=E.match(/(?:\r\n?|\n).*/g);return _?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),E},unput:function(E){var _=E.length,A=E.split(/(?:\r\n?|\n)/g);this._input=E+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-_),this.offset-=_;var P=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),A.length-1&&(this.yylineno-=A.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:A?(A.length===P.length?this.yylloc.first_column:0)+P[P.length-A.length].length-A[0].length:this.yylloc.first_column-_},this.options.ranges&&(this.yylloc.range=[R[0],R[0]+this.yyleng-_]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return 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).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(E){this.unput(this.match.slice(E))},pastInput:function(){var E=this.matched.substr(0,this.matched.length-this.match.length);return(E.length>20?"...":"")+E.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var E=this.match;return E.length<20&&(E+=this._input.substr(0,20-E.length)),(E.substr(0,20)+(E.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var E=this.pastInput(),_=new Array(E.length+1).join("-");return E+this.upcomingInput()+`
`+_+"^"},test_match:function(E,_){var A,P,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))),P=E[0].match(/(?:\r\n?|\n).*/g),P&&(this.yylineno+=P.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:P?P[P.length-1].length-P[P.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+E[0].length},this.yytext+=E[0],this.match+=E[0],this.matches=E,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(E[0].length),this.matched+=E[0],A=this.performAction.call(this,this.yy,this,_,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),A)return A;if(this._backtrack){for(var B in R)this[B]=R[B];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var E,_,A,P;this._more||(this.yytext="",this.match="");for(var R=this._currentRules(),B=0;B<R.length;B++)if(A=this._input.match(this.rules[R[B]]),A&&(!_||A[0].length>_[0].length)){if(_=A,P=B,this.options.backtrack_lexer){if(E=this.test_match(A,R[B]),E!==!1)return E;if(this._backtrack){_=!1;continue}else return!1}else if(!this.options.flex)break}return _?(E=this.test_match(_,R[P]),E!==!1?E:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var _=this.next();return _||this.lex()},begin:function(_){this.conditionStack.push(_)},popState:function(){var _=this.conditionStack.length-1;return _>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(_){return _=this.conditionStack.length-1-Math.abs(_||0),_>=0?this.conditionStack[_]:"INITIAL"},pushState:function(_){this.begin(_)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(_,A,P,R){switch(P){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}}};return y}();p.lexer=v;function b(){this.yy={}}return b.prototype=p,p.Parser=b,new b}();kwe.parser=kwe;const WJ=kwe;let YJ=[],XJ=[],uI={};const ecn=()=>{YJ=[],XJ=[],uI={},Rg()};class tcn{constructor(a,u,d=0){this.source=a,this.target=u,this.value=d}}const ncn=(i,a,u)=>{YJ.push(new tcn(i,a,u))};class rcn{constructor(a){this.ID=a}}const icn={nodesMap:uI,getConfig:()=>qt().sankey,getNodes:()=>XJ,getLinks:()=>YJ,getGraph:()=>({nodes:XJ.map(i=>({id:i.ID})),links:YJ.map(i=>({source:i.source.ID,target:i.target.ID,value:i.value}))}),addLink:ncn,findOrCreateNode:i=>(i=oi.sanitizeText(i,qt()),uI[i]||(uI[i]=new rcn(i),XJ.push(uI[i])),uI[i]),getAccTitle:Mp,setAccTitle:jg,getAccDescription:Ip,setAccDescription:Dp,getDiagramTitle:Op,setDiagramTitle:pm,clear:ecn};function WWe(i,a){let u;if(a===void 0)for(const d of i)d!=null&&(u<d||u===void 0&&d>=d)&&(u=d);else{let d=-1;for(let p of i)(p=a(p,++d,i))!=null&&(u<p||u===void 0&&p>=p)&&(u=p)}return u}function YWe(i,a){let u;if(a===void 0)for(const d of i)d!=null&&(u>d||u===void 0&&d>=d)&&(u=d);else{let d=-1;for(let p of i)(p=a(p,++d,i))!=null&&(u>p||u===void 0&&p>=p)&&(u=p)}return u}function Twe(i,a){let u=0;if(a===void 0)for(let d of i)(d=+d)&&(u+=d);else{let d=-1;for(let p of i)(p=+a(p,++d,i))&&(u+=p)}return u}function scn(i){return i.target.depth}function acn(i){return i.depth}function ocn(i,a){return a-1-i.height}function XWe(i,a){return i.sourceLinks.length?i.depth:a-1}function ccn(i){return i.targetLinks.length?i.depth:i.sourceLinks.length?YWe(i.sourceLinks,scn)-1:0}function QJ(i){return function(){return i}}function QWe(i,a){return JJ(i.source,a.source)||i.index-a.index}function JWe(i,a){return JJ(i.target,a.target)||i.index-a.index}function JJ(i,a){return i.y0-a.y0}function Ewe(i){return i.value}function ucn(i){return i.index}function lcn(i){return i.nodes}function hcn(i){return i.links}function ZWe(i,a){const u=i.get(a);if(!u)throw new Error("missing: "+a);return u}function eYe({nodes:i}){for(const a of i){let u=a.y0,d=u;for(const p of a.sourceLinks)p.y0=u+p.width/2,u+=p.width;for(const p of a.targetLinks)p.y1=d+p.width/2,d+=p.width}}function fcn(){let i=0,a=0,u=1,d=1,p=24,v=8,b,y=ucn,E=XWe,_,A,P=lcn,R=hcn,B=6;function j(){const Pe={nodes:P.apply(null,arguments),links:R.apply(null,arguments)};return W(Pe),ee(Pe),ie(Pe),oe(Pe),ae(Pe),eYe(Pe),Pe}j.update=function(Pe){return eYe(Pe),Pe},j.nodeId=function(Pe){return arguments.length?(y=typeof Pe=="function"?Pe:QJ(Pe),j):y},j.nodeAlign=function(Pe){return arguments.length?(E=typeof Pe=="function"?Pe:QJ(Pe),j):E},j.nodeSort=function(Pe){return arguments.length?(_=Pe,j):_},j.nodeWidth=function(Pe){return arguments.length?(p=+Pe,j):p},j.nodePadding=function(Pe){return arguments.length?(v=b=+Pe,j):v},j.nodes=function(Pe){return arguments.length?(P=typeof Pe=="function"?Pe:QJ(Pe),j):P},j.links=function(Pe){return arguments.length?(R=typeof Pe=="function"?Pe:QJ(Pe),j):R},j.linkSort=function(Pe){return arguments.length?(A=Pe,j):A},j.size=function(Pe){return arguments.length?(i=a=0,u=+Pe[0],d=+Pe[1],j):[u-i,d-a]},j.extent=function(Pe){return arguments.length?(i=+Pe[0][0],u=+Pe[1][0],a=+Pe[0][1],d=+Pe[1][1],j):[[i,a],[u,d]]},j.iterations=function(Pe){return arguments.length?(B=+Pe,j):B};function W({nodes:Pe,links:je}){for(const[Se,Ce]of Pe.entries())Ce.index=Se,Ce.sourceLinks=[],Ce.targetLinks=[];const Ie=new Map(Pe.map((Se,Ce)=>[y(Se,Ce,Pe),Se]));for(const[Se,Ce]of je.entries()){Ce.index=Se;let{source:ke,target:Ke}=Ce;typeof ke!="object"&&(ke=Ce.source=ZWe(Ie,ke)),typeof Ke!="object"&&(Ke=Ce.target=ZWe(Ie,Ke)),ke.sourceLinks.push(Ce),Ke.targetLinks.push(Ce)}if(A!=null)for(const{sourceLinks:Se,targetLinks:Ce}of Pe)Se.sort(A),Ce.sort(A)}function ee({nodes:Pe}){for(const je of Pe)je.value=je.fixedValue===void 0?Math.max(Twe(je.sourceLinks,Ewe),Twe(je.targetLinks,Ewe)):je.fixedValue}function ie({nodes:Pe}){const je=Pe.length;let Ie=new Set(Pe),Se=new Set,Ce=0;for(;Ie.size;){for(const ke of Ie){ke.depth=Ce;for(const{target:Ke}of ke.sourceLinks)Se.add(Ke)}if(++Ce>je)throw new Error("circular link");Ie=Se,Se=new Set}}function oe({nodes:Pe}){const je=Pe.length;let Ie=new Set(Pe),Se=new Set,Ce=0;for(;Ie.size;){for(const ke of Ie){ke.height=Ce;for(const{source:Ke}of ke.targetLinks)Se.add(Ke)}if(++Ce>je)throw new Error("circular link");Ie=Se,Se=new Set}}function be({nodes:Pe}){const je=WWe(Pe,Ce=>Ce.depth)+1,Ie=(u-i-p)/(je-1),Se=new Array(je);for(const Ce of Pe){const ke=Math.max(0,Math.min(je-1,Math.floor(E.call(null,Ce,je))));Ce.layer=ke,Ce.x0=i+ke*Ie,Ce.x1=Ce.x0+p,Se[ke]?Se[ke].push(Ce):Se[ke]=[Ce]}if(_)for(const Ce of Se)Ce.sort(_);return Se}function ge(Pe){const je=YWe(Pe,Ie=>(d-a-(Ie.length-1)*b)/Twe(Ie,Ewe));for(const Ie of Pe){let Se=a;for(const Ce of Ie){Ce.y0=Se,Ce.y1=Se+Ce.value*je,Se=Ce.y1+b;for(const ke of Ce.sourceLinks)ke.width=ke.value*je}Se=(d-Se+b)/(Ie.length+1);for(let Ce=0;Ce<Ie.length;++Ce){const ke=Ie[Ce];ke.y0+=Se*(Ce+1),ke.y1+=Se*(Ce+1)}xe(Ie)}}function ae(Pe){const je=be(Pe);b=Math.min(v,(d-a)/(WWe(je,Ie=>Ie.length)-1)),ge(je);for(let Ie=0;Ie<B;++Ie){const Se=Math.pow(.99,Ie),Ce=Math.max(1-Se,(Ie+1)/B);se(je,Se,Ce),ne(je,Se,Ce)}}function ne(Pe,je,Ie){for(let Se=1,Ce=Pe.length;Se<Ce;++Se){const ke=Pe[Se];for(const Ke of ke){let zt=0,Ne=0;for(const{source:Tt,value:Et}of Ke.targetLinks){let Wt=Et*(Ke.layer-Tt.layer);zt+=U(Tt,Ke)*Wt,Ne+=Wt}if(!(Ne>0))continue;let pn=(zt/Ne-Ke.y0)*je;Ke.y0+=pn,Ke.y1+=pn,G(Ke)}_===void 0&&ke.sort(JJ),de(ke,Ie)}}function se(Pe,je,Ie){for(let Se=Pe.length,Ce=Se-2;Ce>=0;--Ce){const ke=Pe[Ce];for(const Ke of ke){let zt=0,Ne=0;for(const{target:Tt,value:Et}of Ke.sourceLinks){let Wt=Et*(Tt.layer-Ke.layer);zt+=Be(Ke,Tt)*Wt,Ne+=Wt}if(!(Ne>0))continue;let pn=(zt/Ne-Ke.y0)*je;Ke.y0+=pn,Ke.y1+=pn,G(Ke)}_===void 0&&ke.sort(JJ),de(ke,Ie)}}function de(Pe,je){const Ie=Pe.length>>1,Se=Pe[Ie];pe(Pe,Se.y0-b,Ie-1,je),X(Pe,Se.y1+b,Ie+1,je),pe(Pe,d,Pe.length-1,je),X(Pe,a,0,je)}function X(Pe,je,Ie,Se){for(;Ie<Pe.length;++Ie){const Ce=Pe[Ie],ke=(je-Ce.y0)*Se;ke>1e-6&&(Ce.y0+=ke,Ce.y1+=ke),je=Ce.y1+b}}function pe(Pe,je,Ie,Se){for(;Ie>=0;--Ie){const Ce=Pe[Ie],ke=(Ce.y1-je)*Se;ke>1e-6&&(Ce.y0-=ke,Ce.y1-=ke),je=Ce.y0-b}}function G({sourceLinks:Pe,targetLinks:je}){if(A===void 0){for(const{source:{sourceLinks:Ie}}of je)Ie.sort(JWe);for(const{target:{targetLinks:Ie}}of Pe)Ie.sort(QWe)}}function xe(Pe){if(A===void 0)for(const{sourceLinks:je,targetLinks:Ie}of Pe)je.sort(JWe),Ie.sort(QWe)}function U(Pe,je){let Ie=Pe.y0-(Pe.sourceLinks.length-1)*b/2;for(const{target:Se,width:Ce}of Pe.sourceLinks){if(Se===je)break;Ie+=Ce+b}for(const{source:Se,width:Ce}of je.targetLinks){if(Se===Pe)break;Ie-=Ce}return Ie}function Be(Pe,je){let Ie=je.y0-(je.targetLinks.length-1)*b/2;for(const{source:Se,width:Ce}of je.targetLinks){if(Se===Pe)break;Ie+=Ce+b}for(const{target:Se,width:Ce}of Pe.sourceLinks){if(Se===je)break;Ie-=Ce}return Ie}return j}var Cwe=Math.PI,Swe=2*Cwe,oS=1e-6,dcn=Swe-oS;function _we(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function tYe(){return new _we}_we.prototype=tYe.prototype={constructor:_we,moveTo:function(i,a){this._+="M"+(this._x0=this._x1=+i)+","+(this._y0=this._y1=+a)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(i,a){this._+="L"+(this._x1=+i)+","+(this._y1=+a)},quadraticCurveTo:function(i,a,u,d){this._+="Q"+ +i+","+ +a+","+(this._x1=+u)+","+(this._y1=+d)},bezierCurveTo:function(i,a,u,d,p,v){this._+="C"+ +i+","+ +a+","+ +u+","+ +d+","+(this._x1=+p)+","+(this._y1=+v)},arcTo:function(i,a,u,d,p){i=+i,a=+a,u=+u,d=+d,p=+p;var v=this._x1,b=this._y1,y=u-i,E=d-a,_=v-i,A=b-a,P=_*_+A*A;if(p<0)throw new Error("negative radius: "+p);if(this._x1===null)this._+="M"+(this._x1=i)+","+(this._y1=a);else if(P>oS)if(!(Math.abs(A*y-E*_)>oS)||!p)this._+="L"+(this._x1=i)+","+(this._y1=a);else{var R=u-v,B=d-b,j=y*y+E*E,W=R*R+B*B,ee=Math.sqrt(j),ie=Math.sqrt(P),oe=p*Math.tan((Cwe-Math.acos((j+P-W)/(2*ee*ie)))/2),be=oe/ie,ge=oe/ee;Math.abs(be-1)>oS&&(this._+="L"+(i+be*_)+","+(a+be*A)),this._+="A"+p+","+p+",0,0,"+ +(A*R>_*B)+","+(this._x1=i+ge*y)+","+(this._y1=a+ge*E)}},arc:function(i,a,u,d,p,v){i=+i,a=+a,u=+u,v=!!v;var b=u*Math.cos(d),y=u*Math.sin(d),E=i+b,_=a+y,A=1^v,P=v?d-p:p-d;if(u<0)throw new Error("negative radius: "+u);this._x1===null?this._+="M"+E+","+_:(Math.abs(this._x1-E)>oS||Math.abs(this._y1-_)>oS)&&(this._+="L"+E+","+_),u&&(P<0&&(P=P%Swe+Swe),P>dcn?this._+="A"+u+","+u+",0,1,"+A+","+(i-b)+","+(a-y)+"A"+u+","+u+",0,1,"+A+","+(this._x1=E)+","+(this._y1=_):P>oS&&(this._+="A"+u+","+u+",0,"+ +(P>=Cwe)+","+A+","+(this._x1=i+u*Math.cos(p))+","+(this._y1=a+u*Math.sin(p))))},rect:function(i,a,u,d){this._+="M"+(this._x0=this._x1=+i)+","+(this._y0=this._y1=+a)+"h"+ +u+"v"+ +d+"h"+-u+"Z"},toString:function(){return this._}};function nYe(i){return function(){return i}}function gcn(i){return i[0]}function pcn(i){return i[1]}var bcn=Array.prototype.slice;function mcn(i){return i.source}function vcn(i){return i.target}function wcn(i){var a=mcn,u=vcn,d=gcn,p=pcn,v=null;function b(){var y,E=bcn.call(arguments),_=a.apply(this,E),A=u.apply(this,E);if(v||(v=y=tYe()),i(v,+d.apply(this,(E[0]=_,E)),+p.apply(this,E),+d.apply(this,(E[0]=A,E)),+p.apply(this,E)),y)return v=null,y+""||null}return b.source=function(y){return arguments.length?(a=y,b):a},b.target=function(y){return arguments.length?(u=y,b):u},b.x=function(y){return arguments.length?(d=typeof y=="function"?y:nYe(+y),b):d},b.y=function(y){return arguments.length?(p=typeof y=="function"?y:nYe(+y),b):p},b.context=function(y){return arguments.length?(v=y??null,b):v},b}function ycn(i,a,u,d,p){i.moveTo(a,u),i.bezierCurveTo(a=(a+d)/2,u,a,p,d,p)}function xcn(){return wcn(ycn)}function kcn(i){return[i.source.x1,i.y0]}function Tcn(i){return[i.target.x0,i.y1]}function Ecn(){return xcn().source(kcn).target(Tcn)}const rYe=class EBe{static next(a){return new EBe(a+ ++EBe.count)}constructor(a){this.id=a,this.href=`#${a}`}toString(){return"url("+this.href+")"}};rYe.count=0;let iYe=rYe;const Ccn={left:acn,right:ocn,center:ccn,justify:XWe},Scn={draw:function(i,a,u,d){const{securityLevel:p,sankey:v}=qt(),b=E$e.sankey;let y;p==="sandbox"&&(y=Dr("#i"+a));const E=Dr(p==="sandbox"?y.nodes()[0].contentDocument.body:"body"),_=p==="sandbox"?E.select(`[id="${a}"]`):Dr(`[id="${a}"]`),A=(v==null?void 0:v.width)??b.width,P=(v==null?void 0:v.height)??b.width,R=(v==null?void 0:v.useMaxWidth)??b.useMaxWidth,B=(v==null?void 0:v.nodeAlignment)??b.nodeAlignment,j=(v==null?void 0:v.prefix)??b.prefix,W=(v==null?void 0:v.suffix)??b.suffix,ee=(v==null?void 0:v.showValues)??b.showValues,ie=d.db.getGraph(),oe=Ccn[B],be=10;fcn().nodeId(pe=>pe.id).nodeWidth(be).nodePadding(10+(ee?15:0)).nodeAlign(oe).extent([[0,0],[A,P]])(ie);const ae=PF(sRe);_.append("g").attr("class","nodes").selectAll(".node").data(ie.nodes).join("g").attr("class","node").attr("id",pe=>(pe.uid=iYe.next("node-")).id).attr("transform",function(pe){return"translate("+pe.x0+","+pe.y0+")"}).attr("x",pe=>pe.x0).attr("y",pe=>pe.y0).append("rect").attr("height",pe=>pe.y1-pe.y0).attr("width",pe=>pe.x1-pe.x0).attr("fill",pe=>ae(pe.id));const ne=({id:pe,value:G})=>ee?`${pe}
${j}${Math.round(G*100)/100}${W}`:pe;_.append("g").attr("class","node-labels").attr("font-family","sans-serif").attr("font-size",14).selectAll("text").data(ie.nodes).join("text").attr("x",pe=>pe.x0<A/2?pe.x1+6:pe.x0-6).attr("y",pe=>(pe.y1+pe.y0)/2).attr("dy",`${ee?"0":"0.35"}em`).attr("text-anchor",pe=>pe.x0<A/2?"start":"end").text(ne);const se=_.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(ie.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),de=(v==null?void 0:v.linkColor)||"gradient";if(de==="gradient"){const pe=se.append("linearGradient").attr("id",G=>(G.uid=iYe.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",G=>G.source.x1).attr("x2",G=>G.target.x0);pe.append("stop").attr("offset","0%").attr("stop-color",G=>ae(G.source.id)),pe.append("stop").attr("offset","100%").attr("stop-color",G=>ae(G.target.id))}let X;switch(de){case"gradient":X=pe=>pe.uid;break;case"source":X=pe=>ae(pe.source.id);break;case"target":X=pe=>ae(pe.target.id);break;default:X=de}se.append("path").attr("d",Ecn()).attr("stroke",X).attr("stroke-width",pe=>Math.max(1,pe.width)),x9(void 0,_,0,R)}},_cn=i=>i.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,`
`).trim(),Acn=WJ.parse.bind(WJ);WJ.parse=i=>Acn(_cn(i));const Lcn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:WJ,db:icn,renderer:Scn}},Symbol.toStringTag,{value:"Module"}));var Awe=function(){var i=function(be,ge,ae,ne){for(ae=ae||{},ne=be.length;ne--;ae[be[ne]]=ge);return ae},a=[1,7],u=[1,13],d=[1,14],p=[1,15],v=[1,19],b=[1,16],y=[1,17],E=[1,18],_=[8,30],A=[8,21,28,29,30,31,32,40,44,47],P=[1,23],R=[1,24],B=[8,15,16,21,28,29,30,31,32,40,44,47],j=[8,15,16,21,27,28,29,30,31,32,40,44,47],W=[1,49],ee={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(ge,ae,ne,se,de,X,pe){var G=X.length-1;switch(de){case 4:se.getLogger().debug("Rule: separator (NL) ");break;case 5:se.getLogger().debug("Rule: separator (Space) ");break;case 6:se.getLogger().debug("Rule: separator (EOF) ");break;case 7:se.getLogger().debug("Rule: hierarchy: ",X[G-1]),se.setHierarchy(X[G-1]);break;case 8:se.getLogger().debug("Stop NL ");break;case 9:se.getLogger().debug("Stop EOF ");break;case 10:se.getLogger().debug("Stop NL2 ");break;case 11:se.getLogger().debug("Stop EOF2 ");break;case 12:se.getLogger().debug("Rule: statement: ",X[G]),typeof X[G].length=="number"?this.$=X[G]:this.$=[X[G]];break;case 13:se.getLogger().debug("Rule: statement #2: ",X[G-1]),this.$=[X[G-1]].concat(X[G]);break;case 14:se.getLogger().debug("Rule: link: ",X[G],ge),this.$={edgeTypeStr:X[G],label:""};break;case 15:se.getLogger().debug("Rule: LABEL link: ",X[G-3],X[G-1],X[G]),this.$={edgeTypeStr:X[G],label:X[G-1]};break;case 18:const xe=parseInt(X[G]),U=se.generateId();this.$={id:U,type:"space",label:"",width:xe,children:[]};break;case 23:se.getLogger().debug("Rule: (nodeStatement link node) ",X[G-2],X[G-1],X[G]," typestr: ",X[G-1].edgeTypeStr);const Be=se.edgeStrToEdgeData(X[G-1].edgeTypeStr);this.$=[{id:X[G-2].id,label:X[G-2].label,type:X[G-2].type,directions:X[G-2].directions},{id:X[G-2].id+"-"+X[G].id,start:X[G-2].id,end:X[G].id,label:X[G-1].label,type:"edge",directions:X[G].directions,arrowTypeEnd:Be,arrowTypeStart:"arrow_open"},{id:X[G].id,label:X[G].label,type:se.typeStr2Type(X[G].typeStr),directions:X[G].directions}];break;case 24:se.getLogger().debug("Rule: nodeStatement (abc88 node size) ",X[G-1],X[G]),this.$={id:X[G-1].id,label:X[G-1].label,type:se.typeStr2Type(X[G-1].typeStr),directions:X[G-1].directions,widthInColumns:parseInt(X[G],10)};break;case 25:se.getLogger().debug("Rule: nodeStatement (node) ",X[G]),this.$={id:X[G].id,label:X[G].label,type:se.typeStr2Type(X[G].typeStr),directions:X[G].directions,widthInColumns:1};break;case 26:se.getLogger().debug("APA123",this?this:"na"),se.getLogger().debug("COLUMNS: ",X[G]),this.$={type:"column-setting",columns:X[G]==="auto"?-1:parseInt(X[G])};break;case 27:se.getLogger().debug("Rule: id-block statement : ",X[G-2],X[G-1]),se.generateId(),this.$={...X[G-2],type:"composite",children:X[G-1]};break;case 28:se.getLogger().debug("Rule: blockStatement : ",X[G-2],X[G-1],X[G]);const Pe=se.generateId();this.$={id:Pe,type:"composite",label:"",children:X[G-1]};break;case 29:se.getLogger().debug("Rule: node (NODE_ID separator): ",X[G]),this.$={id:X[G]};break;case 30:se.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",X[G-1],X[G]),this.$={id:X[G-1],label:X[G].label,typeStr:X[G].typeStr,directions:X[G].directions};break;case 31:se.getLogger().debug("Rule: dirList: ",X[G]),this.$=[X[G]];break;case 32:se.getLogger().debug("Rule: dirList: ",X[G-1],X[G]),this.$=[X[G-1]].concat(X[G]);break;case 33:se.getLogger().debug("Rule: nodeShapeNLabel: ",X[G-2],X[G-1],X[G]),this.$={typeStr:X[G-2]+X[G],label:X[G-1]};break;case 34:se.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",X[G-3],X[G-2]," #3:",X[G-1],X[G]),this.$={typeStr:X[G-3]+X[G],label:X[G-2],directions:X[G-1]};break;case 35:case 36:this.$={type:"classDef",id:X[G-1].trim(),css:X[G].trim()};break;case 37:this.$={type:"applyClass",id:X[G-1].trim(),styleClass:X[G].trim()};break;case 38:this.$={type:"applyStyles",id:X[G-1].trim(),stylesStr:X[G].trim()};break}},table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:u,29:d,31:p,32:v,40:b,44:y,47:E},{8:[1,20]},i(_,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:a,28:u,29:d,31:p,32:v,40:b,44:y,47:E}),i(A,[2,16],{14:22,15:P,16:R}),i(A,[2,17]),i(A,[2,18]),i(A,[2,19]),i(A,[2,20]),i(A,[2,21]),i(A,[2,22]),i(B,[2,25],{27:[1,25]}),i(A,[2,26]),{19:26,26:12,32:v},{11:27,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:u,29:d,31:p,32:v,40:b,44:y,47:E},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},i(j,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},i(_,[2,13]),{26:35,32:v},{32:[2,14]},{17:[1,36]},i(B,[2,24]),{11:37,13:4,14:22,15:P,16:R,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:u,29:d,31:p,32:v,40:b,44:y,47:E},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},i(j,[2,30]),{18:[1,43]},{18:[1,44]},i(B,[2,23]),{18:[1,45]},{30:[1,46]},i(A,[2,28]),i(A,[2,35]),i(A,[2,36]),i(A,[2,37]),i(A,[2,38]),{37:[1,47]},{34:48,35:W},{15:[1,50]},i(A,[2,27]),i(j,[2,33]),{39:[1,51]},{34:52,35:W,39:[2,31]},{32:[2,15]},i(j,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:function(ge,ae){if(ae.recoverable)this.trace(ge);else{var ne=new Error(ge);throw ne.hash=ae,ne}},parse:function(ge){var ae=this,ne=[0],se=[],de=[null],X=[],pe=this.table,G="",xe=0,U=0,Be=2,Pe=1,je=X.slice.call(arguments,1),Ie=Object.create(this.lexer),Se={yy:{}};for(var Ce in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ce)&&(Se.yy[Ce]=this.yy[Ce]);Ie.setInput(ge,Se.yy),Se.yy.lexer=Ie,Se.yy.parser=this,typeof Ie.yylloc>"u"&&(Ie.yylloc={});var ke=Ie.yylloc;X.push(ke);var Ke=Ie.options&&Ie.options.ranges;typeof Se.yy.parseError=="function"?this.parseError=Se.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function zt(){var kt;return kt=se.pop()||Ie.lex()||Pe,typeof kt!="number"&&(kt instanceof Array&&(se=kt,kt=se.pop()),kt=ae.symbols_[kt]||kt),kt}for(var Ne,pn,Tt,Et,Wt={},un,yt,Bt,Ze;;){if(pn=ne[ne.length-1],this.defaultActions[pn]?Tt=this.defaultActions[pn]:((Ne===null||typeof Ne>"u")&&(Ne=zt()),Tt=pe[pn]&&pe[pn][Ne]),typeof Tt>"u"||!Tt.length||!Tt[0]){var Dt="";Ze=[];for(un in pe[pn])this.terminals_[un]&&un>Be&&Ze.push("'"+this.terminals_[un]+"'");Ie.showPosition?Dt="Parse error on line "+(xe+1)+`:
`+Ie.showPosition()+`
Expecting `+Ze.join(", ")+", got '"+(this.terminals_[Ne]||Ne)+"'":Dt="Parse error on line "+(xe+1)+": Unexpected "+(Ne==Pe?"end of input":"'"+(this.terminals_[Ne]||Ne)+"'"),this.parseError(Dt,{text:Ie.match,token:this.terminals_[Ne]||Ne,line:Ie.yylineno,loc:ke,expected:Ze})}if(Tt[0]instanceof Array&&Tt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+pn+", token: "+Ne);switch(Tt[0]){case 1:ne.push(Ne),de.push(Ie.yytext),X.push(Ie.yylloc),ne.push(Tt[1]),Ne=null,U=Ie.yyleng,G=Ie.yytext,xe=Ie.yylineno,ke=Ie.yylloc;break;case 2:if(yt=this.productions_[Tt[1]][1],Wt.$=de[de.length-yt],Wt._$={first_line:X[X.length-(yt||1)].first_line,last_line:X[X.length-1].last_line,first_column:X[X.length-(yt||1)].first_column,last_column:X[X.length-1].last_column},Ke&&(Wt._$.range=[X[X.length-(yt||1)].range[0],X[X.length-1].range[1]]),Et=this.performAction.apply(Wt,[G,U,xe,Se.yy,Tt[1],de,X].concat(je)),typeof Et<"u")return Et;yt&&(ne=ne.slice(0,-1*yt*2),de=de.slice(0,-1*yt),X=X.slice(0,-1*yt)),ne.push(this.productions_[Tt[1]][0]),de.push(Wt.$),X.push(Wt._$),Bt=pe[ne[ne.length-2]][ne[ne.length-1]],ne.push(Bt);break;case 3:return!0}}return!0}},ie=function(){var be={EOF:1,parseError:function(ae,ne){if(this.yy.parser)this.yy.parser.parseError(ae,ne);else throw new Error(ae)},setInput:function(ge,ae){return this.yy=ae||this.yy||{},this._input=ge,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 ge=this._input[0];this.yytext+=ge,this.yyleng++,this.offset++,this.match+=ge,this.matched+=ge;var ae=ge.match(/(?:\r\n?|\n).*/g);return ae?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),ge},unput:function(ge){var ae=ge.length,ne=ge.split(/(?:\r\n?|\n)/g);this._input=ge+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ae),this.offset-=ae;var se=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),ne.length-1&&(this.yylineno-=ne.length-1);var de=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:ne?(ne.length===se.length?this.yylloc.first_column:0)+se[se.length-ne.length].length-ne[0].length:this.yylloc.first_column-ae},this.options.ranges&&(this.yylloc.range=[de[0],de[0]+this.yyleng-ae]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return 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).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(ge){this.unput(this.match.slice(ge))},pastInput:function(){var ge=this.matched.substr(0,this.matched.length-this.match.length);return(ge.length>20?"...":"")+ge.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var ge=this.match;return ge.length<20&&(ge+=this._input.substr(0,20-ge.length)),(ge.substr(0,20)+(ge.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var ge=this.pastInput(),ae=new Array(ge.length+1).join("-");return ge+this.upcomingInput()+`
`+ae+"^"},test_match:function(ge,ae){var ne,se,de;if(this.options.backtrack_lexer&&(de={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&&(de.yylloc.range=this.yylloc.range.slice(0))),se=ge[0].match(/(?:\r\n?|\n).*/g),se&&(this.yylineno+=se.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:se?se[se.length-1].length-se[se.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+ge[0].length},this.yytext+=ge[0],this.match+=ge[0],this.matches=ge,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(ge[0].length),this.matched+=ge[0],ne=this.performAction.call(this,this.yy,this,ae,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ne)return ne;if(this._backtrack){for(var X in de)this[X]=de[X];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var ge,ae,ne,se;this._more||(this.yytext="",this.match="");for(var de=this._currentRules(),X=0;X<de.length;X++)if(ne=this._input.match(this.rules[de[X]]),ne&&(!ae||ne[0].length>ae[0].length)){if(ae=ne,se=X,this.options.backtrack_lexer){if(ge=this.test_match(ne,de[X]),ge!==!1)return ge;if(this._backtrack){ae=!1;continue}else return!1}else if(!this.options.flex)break}return ae?(ge=this.test_match(ae,de[se]),ge!==!1?ge:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var ae=this.next();return ae||this.lex()},begin:function(ae){this.conditionStack.push(ae)},popState:function(){var ae=this.conditionStack.length-1;return ae>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(ae){return ae=this.conditionStack.length-1-Math.abs(ae||0),ae>=0?this.conditionStack[ae]:"INITIAL"},pushState:function(ae){this.begin(ae)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(ae,ne,se,de){switch(se){case 0:return 10;case 1:return ae.getLogger().debug("Found space-block"),31;case 2:return ae.getLogger().debug("Found nl-block"),31;case 3:return ae.getLogger().debug("Found space-block"),29;case 4:ae.getLogger().debug(".",ne.yytext);break;case 5:ae.getLogger().debug("_",ne.yytext);break;case 6:return 5;case 7:return ne.yytext=-1,28;case 8:return ne.yytext=ne.yytext.replace(/columns\s+/,""),ae.getLogger().debug("COLUMNS (LEX)",ne.yytext),28;case 9:this.pushState("md_string");break;case 10:return"MD_STR";case 11:this.popState();break;case 12:this.pushState("string");break;case 13:ae.getLogger().debug("LEX: POPPING STR:",ne.yytext),this.popState();break;case 14:return ae.getLogger().debug("LEX: STR end:",ne.yytext),"STR";case 15:return ne.yytext=ne.yytext.replace(/space\:/,""),ae.getLogger().debug("SPACE NUM (LEX)",ne.yytext),21;case 16:return ne.yytext="1",ae.getLogger().debug("COLUMNS (LEX)",ne.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 35:this.popState();break;case 36:return"acc_descr_multiline_value";case 37:return 30;case 38:return this.popState(),ae.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),ae.getLogger().debug("Lex: (("),"NODE_DEND";case 40:return this.popState(),ae.getLogger().debug("Lex: ))"),"NODE_DEND";case 41:return this.popState(),ae.getLogger().debug("Lex: (("),"NODE_DEND";case 42:return this.popState(),ae.getLogger().debug("Lex: (("),"NODE_DEND";case 43:return this.popState(),ae.getLogger().debug("Lex: (-"),"NODE_DEND";case 44:return this.popState(),ae.getLogger().debug("Lex: -)"),"NODE_DEND";case 45:return this.popState(),ae.getLogger().debug("Lex: (("),"NODE_DEND";case 46:return this.popState(),ae.getLogger().debug("Lex: ]]"),"NODE_DEND";case 47:return this.popState(),ae.getLogger().debug("Lex: ("),"NODE_DEND";case 48:return this.popState(),ae.getLogger().debug("Lex: ])"),"NODE_DEND";case 49:return this.popState(),ae.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),ae.getLogger().debug("Lex: /]"),"NODE_DEND";case 51:return this.popState(),ae.getLogger().debug("Lex: )]"),"NODE_DEND";case 52:return this.popState(),ae.getLogger().debug("Lex: )"),"NODE_DEND";case 53:return this.popState(),ae.getLogger().debug("Lex: ]>"),"NODE_DEND";case 54:return this.popState(),ae.getLogger().debug("Lex: ]"),"NODE_DEND";case 55:return ae.getLogger().debug("Lexa: -)"),this.pushState("NODE"),36;case 56:return ae.getLogger().debug("Lexa: (-"),this.pushState("NODE"),36;case 57:return ae.getLogger().debug("Lexa: ))"),this.pushState("NODE"),36;case 58:return ae.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 59:return ae.getLogger().debug("Lex: ((("),this.pushState("NODE"),36;case 60:return ae.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 61:return ae.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 62:return ae.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 63:return ae.getLogger().debug("Lexc: >"),this.pushState("NODE"),36;case 64:return ae.getLogger().debug("Lexa: (["),this.pushState("NODE"),36;case 65:return ae.getLogger().debug("Lexa: )"),this.pushState("NODE"),36;case 66:return this.pushState("NODE"),36;case 67:return this.pushState("NODE"),36;case 68:return this.pushState("NODE"),36;case 69:return this.pushState("NODE"),36;case 70:return this.pushState("NODE"),36;case 71:return this.pushState("NODE"),36;case 72:return this.pushState("NODE"),36;case 73:return ae.getLogger().debug("Lexa: ["),this.pushState("NODE"),36;case 74:return this.pushState("BLOCK_ARROW"),ae.getLogger().debug("LEX ARR START"),38;case 75:return ae.getLogger().debug("Lex: NODE_ID",ne.yytext),32;case 76:return ae.getLogger().debug("Lex: EOF",ne.yytext),8;case 77:this.pushState("md_string");break;case 78:this.pushState("md_string");break;case 79:return"NODE_DESCR";case 80:this.popState();break;case 81:ae.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 82:ae.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 83:return ae.getLogger().debug("LEX: NODE_DESCR:",ne.yytext),"NODE_DESCR";case 84:ae.getLogger().debug("LEX POPPING"),this.popState();break;case 85:ae.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 86:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (right): dir:",ne.yytext),"DIR";case 87:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (left):",ne.yytext),"DIR";case 88:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (x):",ne.yytext),"DIR";case 89:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (y):",ne.yytext),"DIR";case 90:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (up):",ne.yytext),"DIR";case 91:return ne.yytext=ne.yytext.replace(/^,\s*/,""),ae.getLogger().debug("Lex (down):",ne.yytext),"DIR";case 92:return ne.yytext="]>",ae.getLogger().debug("Lex (ARROW_DIR end):",ne.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 93:return ae.getLogger().debug("Lex: LINK","#"+ne.yytext+"#"),15;case 94:return ae.getLogger().debug("Lex: LINK",ne.yytext),15;case 95:return ae.getLogger().debug("Lex: LINK",ne.yytext),15;case 96:return ae.getLogger().debug("Lex: LINK",ne.yytext),15;case 97:return ae.getLogger().debug("Lex: START_LINK",ne.yytext),this.pushState("LLABEL"),16;case 98:return ae.getLogger().debug("Lex: START_LINK",ne.yytext),this.pushState("LLABEL"),16;case 99:return ae.getLogger().debug("Lex: START_LINK",ne.yytext),this.pushState("LLABEL"),16;case 100:this.pushState("md_string");break;case 101:return ae.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 102:return this.popState(),ae.getLogger().debug("Lex: LINK","#"+ne.yytext+"#"),15;case 103:return this.popState(),ae.getLogger().debug("Lex: LINK",ne.yytext),15;case 104:return this.popState(),ae.getLogger().debug("Lex: LINK",ne.yytext),15;case 105:return ae.getLogger().debug("Lex: COLON",ne.yytext),ne.yytext=ne.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}}};return be}();ee.lexer=ie;function oe(){this.yy={}}return oe.prototype=ee,ee.Parser=oe,new oe}();Awe.parser=Awe;const Mcn=Awe;let eb={},Lwe=[],hj={};const sYe="color",aYe="fill",Dcn="bgFill",oYe=",",Icn=qt();let fj={};const Ocn=i=>oi.sanitizeText(i,Icn),Ncn=function(i,a=""){fj[i]===void 0&&(fj[i]={id:i,styles:[],textStyles:[]});const u=fj[i];a!=null&&a.split(oYe).forEach(d=>{const p=d.replace(/([^;]*);/,"$1").trim();if(d.match(sYe)){const b=p.replace(aYe,Dcn).replace(sYe,aYe);u.textStyles.push(b)}u.styles.push(p)})},Pcn=function(i,a=""){const u=eb[i];a!=null&&(u.styles=a.split(oYe))},Bcn=function(i,a){i.split(",").forEach(function(u){let d=eb[u];if(d===void 0){const p=u.trim();eb[p]={id:p,type:"na",children:[]},d=eb[p]}d.classes||(d.classes=[]),d.classes.push(a)})},cYe=(i,a)=>{const u=i.flat(),d=[];for(const p of u){if(p.label&&(p.label=Ocn(p.label)),p.type==="classDef"){Ncn(p.id,p.css);continue}if(p.type==="applyClass"){Bcn(p.id,(p==null?void 0:p.styleClass)||"");continue}if(p.type==="applyStyles"){p!=null&&p.stylesStr&&Pcn(p.id,p==null?void 0:p.stylesStr);continue}if(p.type==="column-setting")a.columns=p.columns||-1;else if(p.type==="edge")hj[p.id]?hj[p.id]++:hj[p.id]=1,p.id=hj[p.id]+"-"+p.id,Lwe.push(p);else{p.label||(p.type==="composite"?p.label="":p.label=p.id);const v=!eb[p.id];if(v?eb[p.id]=p:(p.type!=="na"&&(eb[p.id].type=p.type),p.label!==p.id&&(eb[p.id].label=p.label)),p.children&&cYe(p.children,p),p.type==="space"){const b=p.width||1;for(let y=0;y<b;y++){const E=aUe(p);E.id=E.id+"-"+y,eb[E.id]=E,d.push(E)}}else v&&d.push(p)}}a.children=d};let Mwe=[],dj={id:"root",type:"composite",children:[],columns:-1};const Fcn=()=>{Xe.debug("Clear called"),Rg(),dj={id:"root",type:"composite",children:[],columns:-1},eb={root:dj},Mwe=[],fj={},Lwe=[],hj={}};function Rcn(i){switch(Xe.debug("typeStr2Type",i),i){case"[]":return"square";case"()":return Xe.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 jcn(i){switch(Xe.debug("typeStr2Type",i),i){case"==":return"thick";default:return"normal"}}function $cn(i){switch(i.trim()){case"--x":return"arrow_cross";case"--o":return"arrow_circle";default:return"arrow_point"}}let uYe=0;const zcn={getConfig:()=>mh().block,typeStr2Type:Rcn,edgeTypeStr2Type:jcn,edgeStrToEdgeData:$cn,getLogger:()=>console,getBlocksFlat:()=>[...Object.values(eb)],getBlocks:()=>Mwe||[],getEdges:()=>Lwe,setHierarchy:i=>{dj.children=i,cYe(i,dj),Mwe=dj.children},getBlock:i=>eb[i],setBlock:i=>{eb[i.id]=i},getColumns:i=>{const a=eb[i];return a?a.columns?a.columns:a.children?a.children.length:-1:-1},getClasses:function(){return fj},clear:Fcn,generateId:()=>(uYe++,"id-"+Math.random().toString(36).substr(2,12)+"-"+uYe)},ZJ=(i,a)=>{const u=XRe,d=u(i,"r"),p=u(i,"g"),v=u(i,"b");return _C(d,p,v,a)},qcn=i=>`.label {
font-family: ${i.fontFamily};
color: ${i.nodeTextColor||i.textColor};
}
.cluster-label text {
fill: ${i.titleColor};
}
.cluster-label span,p {
color: ${i.titleColor};
}
.label text,span,p {
fill: ${i.nodeTextColor||i.textColor};
color: ${i.nodeTextColor||i.textColor};
}
.node rect,
.node circle,
.node ellipse,
.node polygon,
.node path {
fill: ${i.mainBkg};
stroke: ${i.nodeBorder};
stroke-width: 1px;
}
.flowchart-label text {
text-anchor: middle;
}
// .flowchart-label .text-outer-tspan {
// text-anchor: middle;
// }
// .flowchart-label .text-inner-tspan {
// text-anchor: start;
// }
.node .label {
text-align: center;
}
.node.clickable {
cursor: pointer;
}
.arrowheadPath {
fill: ${i.arrowheadColor};
}
.edgePath .path {
stroke: ${i.lineColor};
stroke-width: 2.0px;
}
.flowchart-link {
stroke: ${i.lineColor};
fill: none;
}
.edgeLabel {
background-color: ${i.edgeLabelBackground};
rect {
opacity: 0.5;
background-color: ${i.edgeLabelBackground};
fill: ${i.edgeLabelBackground};
}
text-align: center;
}
/* For html labels only */
.labelBkg {
background-color: ${ZJ(i.edgeLabelBackground,.5)};
// background-color:
}
.node .cluster {
// fill: ${ZJ(i.mainBkg,.5)};
fill: ${ZJ(i.clusterBkg,.5)};
stroke: ${ZJ(i.clusterBorder,.2)};
box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
stroke-width: 1px;
}
.cluster text {
fill: ${i.titleColor};
}
.cluster span,p {
color: ${i.titleColor};
}
/* .cluster div {
color: ${i.titleColor};
} */
div.mermaidTooltip {
position: absolute;
text-align: center;
max-width: 200px;
padding: 2px;
font-family: ${i.fontFamily};
font-size: 12px;
background: ${i.tertiaryColor};
border: 1px solid ${i.border2};
border-radius: 2px;
pointer-events: none;
z-index: 100;
}
.flowchartTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${i.textColor};
}
`;function lYe(i,a,u=!1){var R,B,j;const d=i;let p="default";(((R=d==null?void 0:d.classes)==null?void 0:R.length)||0)>0&&(p=((d==null?void 0:d.classes)||[]).join(" ")),p=p+" flowchart-label";let v=0,b="",y;switch(d.type){case"round":v=5,b="rect";break;case"composite":v=0,b="composite",y=0;break;case"square":b="rect";break;case"diamond":b="question";break;case"hexagon":b="hexagon";break;case"block_arrow":b="block_arrow";break;case"odd":b="rect_left_inv_arrow";break;case"lean_right":b="lean_right";break;case"lean_left":b="lean_left";break;case"trapezoid":b="trapezoid";break;case"inv_trapezoid":b="inv_trapezoid";break;case"rect_left_inv_arrow":b="rect_left_inv_arrow";break;case"circle":b="circle";break;case"ellipse":b="ellipse";break;case"stadium":b="stadium";break;case"subroutine":b="subroutine";break;case"cylinder":b="cylinder";break;case"group":b="rect";break;case"doublecircle":b="doublecircle";break;default:b="rect"}const E=gm((d==null?void 0:d.styles)||[]),_=d.label,A=d.size||{width:0,height:0,x:0,y:0};return{labelStyle:E.labelStyle,shape:b,labelText:_,rx:v,ry:v,class:p,style:E.style,id:d.id,directions:d.directions,width:A.width,height:A.height,x:A.x,y:A.y,positioned:u,intersect:void 0,type:d.type,padding:y??(((j=(B=mh())==null?void 0:B.block)==null?void 0:j.padding)||0)}}async function Hcn(i,a,u){const d=lYe(a,u,!1);if(d.type==="group")return;const p=await pJ(i,d),v=p.node().getBBox(),b=u.getBlock(d.id);b.size={width:v.width,height:v.height,x:0,y:0,node:p},u.setBlock(b),p.remove()}async function Ucn(i,a,u){const d=lYe(a,u,!0);u.getBlock(d.id).type!=="space"&&(await pJ(i,d),a.intersect=d==null?void 0:d.intersect,ive(d))}async function Dwe(i,a,u,d){for(const p of a)await d(i,p,u),p.children&&await Dwe(i,p.children,u,d)}async function Vcn(i,a,u){await Dwe(i,a,u,Hcn)}async function Gcn(i,a,u){await Dwe(i,a,u,Ucn)}async function Kcn(i,a,u,d,p){const v=new R0({multigraph:!0,compound:!0});v.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const b of u)b.size&&v.setNode(b.id,{width:b.size.width,height:b.size.height,intersect:b.intersect});for(const b of a)if(b.start&&b.end){const y=d.getBlock(b.start),E=d.getBlock(b.end);if(y!=null&&y.size&&(E!=null&&E.size)){const _=y.size,A=E.size,P=[{x:_.x,y:_.y},{x:_.x+(A.x-_.x)/2,y:_.y+(A.y-_.y)/2},{x:A.x,y:A.y}];await cGe(i,{v:b.start,w:b.end,name:b.id},{...b,arrowTypeEnd:b.arrowTypeEnd,arrowTypeStart:b.arrowTypeStart,points:P,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",v,p),b.label&&(await sve(i,{...b,label:b.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:b.arrowTypeEnd,arrowTypeStart:b.arrowTypeStart,points:P,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),await aGe({...b,x:P[1].x,y:P[1].y},{originalPath:P}))}}}const Jf=((gYe=(dYe=qt())==null?void 0:dYe.block)==null?void 0:gYe.padding)||8;function Wcn(i,a){if(i===0||!Number.isInteger(i))throw new Error("Columns must be an integer !== 0.");if(a<0||!Number.isInteger(a))throw new Error("Position must be a non-negative integer."+a);if(i<0)return{px:a,py:0};if(i===1)return{px:0,py:a};const u=a%i,d=Math.floor(a/i);return{px:u,py:d}}const Ycn=i=>{let a=0,u=0;for(const d of i.children){const{width:p,height:v,x:b,y}=d.size||{width:0,height:0,x:0,y:0};Xe.debug("getMaxChildSize abc95 child:",d.id,"width:",p,"height:",v,"x:",b,"y:",y,d.type),d.type!=="space"&&(p>a&&(a=p/(i.widthInColumns||1)),v>u&&(u=v))}return{width:a,height:u}};function Iwe(i,a,u=0,d=0){var b,y,E,_,A,P,R,B,j,W,ee;Xe.debug("setBlockSizes abc95 (start)",i.id,(b=i==null?void 0:i.size)==null?void 0:b.x,"block width =",i==null?void 0:i.size,"sieblingWidth",u),(y=i==null?void 0:i.size)!=null&&y.width||(i.size={width:u,height:d,x:0,y:0});let p=0,v=0;if(((E=i.children)==null?void 0:E.length)>0){for(const de of i.children)Iwe(de,a);const ie=Ycn(i);p=ie.width,v=ie.height,Xe.debug("setBlockSizes abc95 maxWidth of",i.id,":s children is ",p,v);for(const de of i.children)de.size&&(Xe.debug(`abc95 Setting size of children of ${i.id} id=${de.id} ${p} ${v} ${de.size}`),de.size.width=p*(de.widthInColumns||1)+Jf*((de.widthInColumns||1)-1),de.size.height=v,de.size.x=0,de.size.y=0,Xe.debug(`abc95 updating size of ${i.id} children child:${de.id} maxWidth:${p} maxHeight:${v}`));for(const de of i.children)Iwe(de,a,p,v);const oe=i.columns||-1;let be=0;for(const de of i.children)be+=de.widthInColumns||1;let ge=i.children.length;oe>0&&oe<be&&(ge=oe),i.widthInColumns;const ae=Math.ceil(be/ge);let ne=ge*(p+Jf)+Jf,se=ae*(v+Jf)+Jf;if(ne<u){Xe.debug(`Detected to small siebling: abc95 ${i.id} sieblingWidth ${u} sieblingHeight ${d} width ${ne}`),ne=u,se=d;const de=(u-ge*Jf-Jf)/ge,X=(d-ae*Jf-Jf)/ae;Xe.debug("Size indata abc88",i.id,"childWidth",de,"maxWidth",p),Xe.debug("Size indata abc88",i.id,"childHeight",X,"maxHeight",v),Xe.debug("Size indata abc88 xSize",ge,"padding",Jf);for(const pe of i.children)pe.size&&(pe.size.width=de,pe.size.height=X,pe.size.x=0,pe.size.y=0)}if(Xe.debug(`abc95 (finale calc) ${i.id} xSize ${ge} ySize ${ae} columns ${oe}${i.children.length} width=${Math.max(ne,((_=i.size)==null?void 0:_.width)||0)}`),ne<(((A=i==null?void 0:i.size)==null?void 0:A.width)||0)){ne=((P=i==null?void 0:i.size)==null?void 0:P.width)||0;const de=oe>0?Math.min(i.children.length,oe):i.children.length;if(de>0){const X=(ne-de*Jf-Jf)/de;Xe.debug("abc95 (growing to fit) width",i.id,ne,(R=i.size)==null?void 0:R.width,X);for(const pe of i.children)pe.size&&(pe.size.width=X)}}i.size={width:ne,height:se,x:0,y:0}}Xe.debug("setBlockSizes abc94 (done)",i.id,(B=i==null?void 0:i.size)==null?void 0:B.x,(j=i==null?void 0:i.size)==null?void 0:j.width,(W=i==null?void 0:i.size)==null?void 0:W.y,(ee=i==null?void 0:i.size)==null?void 0:ee.height)}function hYe(i,a){var d,p,v,b,y,E,_,A,P,R,B,j,W,ee,ie,oe,be;Xe.debug(`abc85 layout blocks (=>layoutBlocks) ${i.id} x: ${(d=i==null?void 0:i.size)==null?void 0:d.x} y: ${(p=i==null?void 0:i.size)==null?void 0:p.y} width: ${(v=i==null?void 0:i.size)==null?void 0:v.width}`);const u=i.columns||-1;if(Xe.debug("layoutBlocks columns abc95",i.id,"=>",u,i),i.children&&i.children.length>0){const ge=((y=(b=i==null?void 0:i.children[0])==null?void 0:b.size)==null?void 0:y.width)||0,ae=i.children.length*ge+(i.children.length-1)*Jf;Xe.debug("widthOfChildren 88",ae,"posX");let ne=0;Xe.debug("abc91 block?.size?.x",i.id,(E=i==null?void 0:i.size)==null?void 0:E.x);let se=(_=i==null?void 0:i.size)!=null&&_.x?((A=i==null?void 0:i.size)==null?void 0:A.x)+(-((P=i==null?void 0:i.size)==null?void 0:P.width)/2||0):-Jf,de=0;for(const X of i.children){const pe=i;if(!X.size)continue;const{width:G,height:xe}=X.size,{px:U,py:Be}=Wcn(u,ne);if(Be!=de&&(de=Be,se=(R=i==null?void 0:i.size)!=null&&R.x?((B=i==null?void 0:i.size)==null?void 0:B.x)+(-((j=i==null?void 0:i.size)==null?void 0:j.width)/2||0):-Jf,Xe.debug("New row in layout for block",i.id," and child ",X.id,de)),Xe.debug(`abc89 layout blocks (child) id: ${X.id} Pos: ${ne} (px, py) ${U},${Be} (${(W=pe==null?void 0:pe.size)==null?void 0:W.x},${(ee=pe==null?void 0:pe.size)==null?void 0:ee.y}) parent: ${pe.id} width: ${G}${Jf}`),pe.size){const Pe=G/2;X.size.x=se+Jf+Pe,Xe.debug(`abc91 layout blocks (calc) px, pyid:${X.id} startingPos=X${se} new startingPosX${X.size.x} ${Pe} padding=${Jf} width=${G} halfWidth=${Pe} => x:${X.size.x} y:${X.size.y} ${X.widthInColumns} (width * (child?.w || 1)) / 2 ${G*((X==null?void 0:X.widthInColumns)||1)/2}`),se=X.size.x+Pe,X.size.y=pe.size.y-pe.size.height/2+Be*(xe+Jf)+xe/2+Jf,Xe.debug(`abc88 layout blocks (calc) px, pyid:${X.id}startingPosX${se}${Jf}${Pe}=>x:${X.size.x}y:${X.size.y}${X.widthInColumns}(width * (child?.w || 1)) / 2${G*((X==null?void 0:X.widthInColumns)||1)/2}`)}X.children&&hYe(X),ne+=(X==null?void 0:X.widthInColumns)||1,Xe.debug("abc88 columnsPos",X,ne)}}Xe.debug(`layout blocks (<==layoutBlocks) ${i.id} x: ${(ie=i==null?void 0:i.size)==null?void 0:ie.x} y: ${(oe=i==null?void 0:i.size)==null?void 0:oe.y} width: ${(be=i==null?void 0:i.size)==null?void 0:be.width}`)}function fYe(i,{minX:a,minY:u,maxX:d,maxY:p}={minX:0,minY:0,maxX:0,maxY:0}){if(i.size&&i.id!=="root"){const{x:v,y:b,width:y,height:E}=i.size;v-y/2<a&&(a=v-y/2),b-E/2<u&&(u=b-E/2),v+y/2>d&&(d=v+y/2),b+E/2>p&&(p=b+E/2)}if(i.children)for(const v of i.children)({minX:a,minY:u,maxX:d,maxY:p}=fYe(v,{minX:a,minY:u,maxX:d,maxY:p}));return{minX:a,minY:u,maxX:d,maxY:p}}function Xcn(i){const a=i.getBlock("root");if(!a)return;Iwe(a,i,0,0),hYe(a),Xe.debug("getBlocks",JSON.stringify(a,null,2));const{minX:u,minY:d,maxX:p,maxY:v}=fYe(a),b=v-d,y=p-u;return{x:u,y:d,width:y,height:b}}const Qcn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Mcn,db:zcn,renderer:{draw:async function(i,a,u,d){const{securityLevel:p,block:v}=mh(),b=d.db;let y;p==="sandbox"&&(y=Dr("#i"+a));const E=Dr(p==="sandbox"?y.nodes()[0].contentDocument.body:"body"),_=p==="sandbox"?E.select(`[id="${a}"]`):Dr(`[id="${a}"]`);Ume(_,["point","circle","cross"],d.type,a);const P=b.getBlocks(),R=b.getBlocksFlat(),B=b.getEdges(),j=_.insert("g").attr("class","block");await Vcn(j,P,b);const W=Xcn(b);if(await Gcn(j,P,b),await Kcn(j,B,R,b,a),W){const ee=W,ie=Math.max(1,Math.round(.125*(ee.width/ee.height))),oe=ee.height+ie+10,be=ee.width+10,{useMaxWidth:ge}=v;Fg(_,oe,be,!!ge),Xe.debug("Here Bounds",W,ee),_.attr("viewBox",`${ee.x-5} ${ee.y-5} ${ee.width+10} ${ee.height+10}`)}PF(sRe)},getClasses:function(i,a){return a.db.getClasses()}},styles:qcn}},Symbol.toStringTag,{value:"Module"}));return bm});
</script>
<script>window.IMS_DATA = {"docs": [{"id": "00_IMS-Handbuch.md", "path": "00_IMS-Handbuch.md", "chapter": "00", "title": "IMS-Handbuch -- Integriertes Managementsystem PowerOn AG", "filename": "00_IMS-Handbuch.md", "meta": {"docId": "IMS-00", "status": "entwurf", "version": "0.1", "owner": "Patrick Motsch", "approver": "Geschäftsführung PowerOn AG", "approvedDate": "", "nextReview": "2027-06-03", "classification": "intern", "isoRefs": "9001:4-10; 27001:4-10"}, "html": "<h1>IMS-Handbuch -- Integriertes Managementsystem PowerOn AG<\/h1>\n<p>Dachdokument des integrierten Managementsystems (IMS) der PowerOn AG. Das IMS deckt <strong>ISO 9001 (Qualität)<\/strong> und <strong>ISO/IEC 27001 (Informationssicherheit)<\/strong> gemeinsam ab. Beide Normen teilen die High-Level-Structure (Annex SL, Kapitel 4-10); dieses Handbuch und die referenzierten Dokumente bilden ein einziges, doppelt verwendetes Dokumentenset.<\/p>\n<h2>1. Zweck<\/h2>\n<p>Das IMS stellt sicher, dass PowerOn<\/p>\n<ul><li>Produkte und Dienstleistungen in gleichbleibender Qualität liefert (ISO 9001),<\/li><li>Informationen und Kundendaten vertraulich, integer und verfügbar hält (ISO 27001),<\/li><li>gesetzliche, vertragliche und regulatorische Anforderungen erfüllt,<\/li><li>sich kontinuierlich verbessert (KVP) und auditierbar bleibt.<\/li><\/ul>\n<h2>2. Geltungsbereich (Kurzfassung)<\/h2>\n<p>Gesamte PowerOn AG inkl. Entwicklung, Betrieb und Produktmanagement der <strong>PORTA Enterprise KI-Plattform<\/strong> (<code>api.poweron.swiss<\/code>). Vollständige Fassung: <a href=\"01_kontext/geltungsbereich-scope.md\">01_kontext/geltungsbereich-scope.md<\/a>.<\/p>\n<h2>3. Aufbau des IMS (Navigationskarte)<\/h2>\n<table><thead><tr><th>Kapitel (ISO)<\/th><th>Ordner<\/th><th>Inhalt<\/th><\/tr><\/thead><tbody><tr><td>4 Kontext<\/td><td><code>01_kontext/<\/code><\/td><td>Kontext &amp; interessierte Parteien, Geltungsbereich<\/td><\/tr><tr><td>5 Führung<\/td><td><code>02_fuehrung/<\/code><\/td><td>QM-Politik, IS-Politik, Rollen<\/td><\/tr><tr><td>6 Planung<\/td><td><code>03_planung/<\/code><\/td><td>Risikomethodik, Risikoregister, SoA, Ziele/KPI<\/td><\/tr><tr><td>7 Unterstützung<\/td><td><code>04_unterstuetzung/<\/code><\/td><td>Kompetenz/Schulung, Kommunikation, Dokumentenlenkung, Register<\/td><\/tr><tr><td>8 Betrieb + Annex A<\/td><td><code>05_betrieb/<\/code><\/td><td>Operative Prozesse &amp; Sicherheits-Controls<\/td><\/tr><tr><td>9 Bewertung<\/td><td><code>06_bewertung/<\/code><\/td><td>Internes Audit, Management-Review, Monitoring<\/td><\/tr><tr><td>10 Verbesserung<\/td><td><code>07_verbesserung/<\/code><\/td><td>Korrekturmassnahmen/KVP, Massnahmenregister<\/td><\/tr><tr><td>Mappings<\/td><td><code>mappings/<\/code><\/td><td>SoA/Annex-A-, ISO-9001-Klausel-, CACC-Crosswalk<\/td><\/tr><tr><td>Cockpit<\/td><td><code>cockpit/<\/code><\/td><td>HTML-Management-Cockpit (Generator + generierte Datei)<\/td><\/tr><\/tbody><\/table>\n<h2>4. Dokumentenpyramide<\/h2>\n<ol><li><strong>Ebene 1 -- Politiken / Handbuch:<\/strong> dieses Handbuch, QM-Politik, IS-Politik, Geltungsbereich, Ziele.<\/li><li><strong>Ebene 2 -- Verfahren / Prozesse:<\/strong> Risiko, Change, Incident, internes Audit, Management-Review, KVP.<\/li><li><strong>Ebene 3 -- Arbeitsanweisungen / Runbooks:<\/strong> BCM-Runbook, Datenbank-Handling, Deployment.<\/li><li><strong>Ebene 4 -- Records / Nachweise:<\/strong> Risikoregister, Audit-Berichte, Schulungsnachweise, Logs, Massnahmenregister.<\/li><\/ol>\n<h2>5. Verantwortung der obersten Leitung<\/h2>\n<p>Die Geschäftsführung verpflichtet sich zum Aufbau, Betrieb und zur kontinuierlichen Verbesserung des IMS, stellt die erforderlichen Ressourcen bereit, gibt die Politiken frei und führt das Management-Review durch (Details: <a href=\"02_fuehrung/\">Führung<\/a>, <a href=\"06_bewertung/management-review.md\">Management-Review<\/a>).<\/p>\n<h2>6. Dokumentenlenkung<\/h2>\n<p>Alle gelenkten Dokumente tragen einen einheitlichen Metadaten-Header und werden über Git/Forgejo versioniert und per Pull-Request-Review freigegeben. Verfahren: <a href=\"04_unterstuetzung/dokumentenlenkung.md\">04_unterstützung/dokumentenlenkung.md<\/a>. Zentrale Übersicht: <a href=\"04_unterstuetzung/dokumentenregister.md\">04_unterstützung/dokumentenregister.md<\/a>.<\/p>\n<h2>7. Status des IMS<\/h2>\n<p>Aufbauphase (Fast-Track). Ziel: ein gelebtes, audit-reifes IMS; Auswahl der Zertifizierungsstelle ist bewusst nachgelagert. Offene Punkte werden im <a href=\"07_verbesserung/massnahmen-register.md\">Massnahmenregister<\/a> geführt.<\/p>", "text": "<!-- docid: ims-00 --> <!-- status: entwurf --> <!-- version: 0.1 --> <!-- owner: patrick motsch --> <!-- approver: geschäftsführung poweron ag --> <!-- approveddate: --> <!-- nextreview: 2027-06-03 --> <!-- classification: intern --> <!-- isorefs: 9001:4-10; 27001:4-10 --> # ims-handbuch -- integriertes managementsystem poweron ag dachdokument des integrierten managementsystems (ims) der poweron ag. das ims deckt **iso 9001 (qualität)** und **iso/iec 27001 (informationssicherheit)** gemeinsam ab. beide normen teilen die high-level-structure (annex sl, kapitel 4-10); dieses handbuch und die referenzierten dokumente bilden ein einziges, doppelt verwendetes dokumentenset. ## 1. zweck das ims stellt sicher, dass poweron - produkte und dienstleistungen in gleichbleibender qualität liefert (iso 9001), - informationen und kundendaten vertraulich, integer und verfügbar hält (iso 27001), - gesetzliche, vertragliche und regulatorische anforderungen erfüllt, - sich kontinuierlich verbessert (kvp) und auditierbar bleibt. ## 2. geltungsbereich (kurzfassung) gesamte poweron ag inkl. entwicklung, betrieb und produktmanagement der **porta enterprise ki-plattform** (`api.poweron.swiss`). vollständige fassung: [01_kontext/geltungsbereich-scope.md](01_kontext/geltungsbereich-scope.md). ## 3. aufbau des ims (navigationskarte) | kapitel (iso) | ordner | inhalt | |---|---|---| | 4 kontext | `01_kontext/` | kontext & interessierte parteien, geltungsbereich | | 5 führung | `02_fuehrung/` | qm-politik, is-politik, rollen | | 6 planung | `03_planung/` | risikomethodik, risikoregister, soa, ziele/kpi | | 7 unterstützung | `04_unterstuetzung/` | kompetenz/schulung, kommunikation, dokumentenlenkung, register | | 8 betrieb + annex a | `05_betrieb/` | operative prozesse & sicherheits-controls | | 9 bewertung | `06_bewertung/` | internes audit, management-review, monitoring | | 10 verbesserung | `07_verbesserung/` | korrekturmassnahmen/kvp, massnahmenregister | | mappings | `mappings/` | soa/annex-a-, iso-9001-klausel-, cacc-crosswalk | | cockpit | `cockpit/` | html-management-cockpit (generator + generierte datei) | ## 4. dokumentenpyramide 1. **ebene 1 -- politiken / handbuch:** dieses handbuch, qm-politik, is-politik, geltungsbereich, ziele. 2. **ebene 2 -- verfahren / prozesse:** risiko, change, incident, internes audit, management-review, kvp. 3. **ebene 3 -- arbeitsanweisungen / runbooks:** bcm-runbook, datenbank-handling, deployment. 4. **ebene 4 -- records / nachweise:** risikoregister, audit-berichte, schulungsnachweise, logs, massnahmenregister. ## 5. verantwortung der obersten leitung die geschäftsführung verpflichtet sich zum aufbau, betrieb und zur kontinuierlichen verbesserung des ims, stellt die erforderlichen ressourcen bereit, gibt die politiken frei und führt das management-review durch (details: [führung](02_fuehrung/), [management-review](06_bewertung/management-review.md)). ## 6. dokumentenlenkung alle gelenkten dokumente tragen einen einheitlichen metadaten-header und werden über git/forgejo versioniert und per pull-request-review freigegeben. verfahren: [04_unterstützung/dokumentenlenkung.md](04_unterstuetzung/dokumentenlenkung.md). zentrale übersicht: [04_unterstützung/dokumentenregister.md](04_unterstuetzung/dokumentenregister.md). ## 7. status des ims aufbauphase (fast-track). ziel: ein gelebtes, audit-reifes ims; auswahl der zertifizierungsstelle ist bewusst nachgelagert. offene punkte werden im [massnahmenregister](07_verbesserung/massnahmen-register.md) geführt. ", "nextReview": "2027-06-03", "overdueReview": false, "zuPruefen": []}, {"id": "01_kontext/geltungsbereich-scope.md", "path": "01_kontext/geltungsbereich-scope.md", "chapter": "01_kontext", "title": "Geltungsbereich (Scope) des IMS", "filename": "geltungsbereich-scope.md", "meta": {"docId": "IMS-04-02", "status": "entwurf", "version": "0.1", "owner": "Patrick Motsch", "approver": "Geschäftsführung PowerOn AG", "approvedDate": "", "nextReview": "2027-06-03", "classification": "intern", "isoRefs": "9001:4.3-4.4; 27001:4.3"}, "html": "<h1>Geltungsbereich (Scope) des IMS<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Grundlagendokument (Pflichtdokument ISO 9001 4.3 / ISO 27001 4.3)<\/p>\n<h2>1. Scope-Statement<\/h2>\n<blockquote>Das integrierte Managementsystem der PowerOn AG umfasst die <strong>Entwicklung, den Betrieb, das Produktmanagement und den Support der PORTA Enterprise KI-Plattform<\/strong> (Multi-Tenant-SaaS, <code>api.poweron.swiss<\/code>) sowie die zugehörigen unterstützenden Prozesse der gesamten PowerOn AG. Es deckt <strong>ISO 9001:2015<\/strong> (Qualitätsmanagement) und <strong>ISO/IEC 27001:2022<\/strong> (Informationssicherheit) ab.<\/blockquote>\n<h2>2. Eingeschlossen<\/h2>\n<ul><li>Software-Entwicklung (SDLC), Release- und Change-Management.<\/li><li>Betrieb der Plattform auf Infomaniak Public Cloud (Schweiz): <code>api.poweron.swiss<\/code>, <code>db.poweron.swiss<\/code>.<\/li><li>Entwicklungs-/Deployment-System (Forgejo, CI/CD).<\/li><li>Produktmanagement, Anforderungsmanagement, Kundensupport.<\/li><li>Verwaltung von Drittdiensten/Subunternehmern (inkl. externe LLM-Provider).<\/li><li>Unterstützungsprozesse: Personal/Kompetenz, Beschaffung, IT-Sicherheit, Dokumentenlenkung.<\/li><\/ul>\n<h2>3. Standorte und Mittel<\/h2>\n<ul><li>Cloud-Infrastruktur: Infomaniak (Schweiz).<\/li><li>Verteiltes Klein-Team; Arbeitsmittel und Remote-Zugriff gemäss <a href=\"../05_betrieb/02_Zugriffsmanagement_IAM_PAM.md\">Zugriffsmanagement<\/a>.<\/li><\/ul>\n<h2>4. Schnittstellen und Abhängigkeiten<\/h2>\n<ul><li>Externe LLM-Provider (Primär OpenAI/USA) -- Inhaltsdaten verlassen zur KI-Verarbeitung die Schweiz; abgesichert über AVV/DPA + EU-SCC und Neutralisierung. Siehe <a href=\"../05_betrieb/20260528_drittanbieter-inventar.md\">Drittanbieter-Inventar<\/a>.<\/li><li>Authentifizierungs-Dienste (Microsoft Entra, Google), E-Mail-Dienste.<\/li><\/ul>\n<h2>5. Ausschlüsse / Nichtanwendbarkeit<\/h2>\n<ul><li>ISO 9001 Kap. 8.3 (Entwicklung) ist <strong>anwendbar<\/strong> (PowerOn entwickelt eigenes Produkt) -- kein Ausschluss.<\/li><li>Annex-A-Controls von ISO 27001 werden nicht pauschal ausgeschlossen; Nichtanwendbarkeit wird einzeln im <a href=\"../03_planung/statement-of-applicability-soa.md\">SoA<\/a> begründet (z. B. rein physische Rechenzentrums-Controls, die beim Cloud-Provider liegen).<\/li><\/ul>\n<h2>6. Begründung kompensierender Massnahmen<\/h2>\n<p>Aufgrund der kleinen Teamgrösse ist eine vollständige Funktionstrennung nicht überall möglich. Wo Controls eine grössere Organisation voraussetzen, greifen kompensierende Massnahmen (Vier-Augen-Prinzip bei Releases, Protokollierung privilegierter Zugriffe, externe Vergabe des internen Audits). Diese sind in den jeweiligen Betriebsdokumenten und im SoA dokumentiert.<\/p>", "text": "<!-- docid: ims-04-02 --> <!-- status: entwurf --> <!-- version: 0.1 --> <!-- owner: patrick motsch --> <!-- approver: geschäftsführung poweron ag --> <!-- approveddate: --> <!-- nextreview: 2027-06-03 --> <!-- classification: intern --> <!-- isorefs: 9001:4.3-4.4; 27001:4.3 --> # geltungsbereich (scope) des ims **dokumenttyp:** grundlagendokument (pflichtdokument iso 9001 4.3 / iso 27001 4.3) ## 1. scope-statement > das integrierte managementsystem der poweron ag umfasst die **entwicklung, den betrieb, das produktmanagement und den support der porta enterprise ki-plattform** (multi-tenant-saas, `api.poweron.swiss`) sowie die zugehörigen unterstützenden prozesse der gesamten poweron ag. > > es deckt **iso 9001:2015** (qualitätsmanagement) und **iso/iec 27001:2022** (informationssicherheit) ab. ## 2. eingeschlossen - software-entwicklung (sdlc), release- und change-management. - betrieb der plattform auf infomaniak public cloud (schweiz): `api.poweron.swiss`, `db.poweron.swiss`. - entwicklungs-/deployment-system (forgejo, ci/cd). - produktmanagement, anforderungsmanagement, kundensupport. - verwaltung von drittdiensten/subunternehmern (inkl. externe llm-provider). - unterstützungsprozesse: personal/kompetenz, beschaffung, it-sicherheit, dokumentenlenkung. ## 3. standorte und mittel - cloud-infrastruktur: infomaniak (schweiz). - verteiltes klein-team; arbeitsmittel und remote-zugriff gemäss [zugriffsmanagement](../05_betrieb/02_zugriffsmanagement_iam_pam.md). ## 4. schnittstellen und abhängigkeiten - externe llm-provider (primär openai/usa) -- inhaltsdaten verlassen zur ki-verarbeitung die schweiz; abgesichert über avv/dpa + eu-scc und neutralisierung. siehe [drittanbieter-inventar](../05_betrieb/20260528_drittanbieter-inventar.md). - authentifizierungs-dienste (microsoft entra, google), e-mail-dienste. ## 5. ausschlüsse / nichtanwendbarkeit - iso 9001 kap. 8.3 (entwicklung) ist **anwendbar** (poweron entwickelt eigenes produkt) -- kein ausschluss. - annex-a-controls von iso 27001 werden nicht pauschal ausgeschlossen; nichtanwendbarkeit wird einzeln im [soa](../03_planung/statement-of-applicability-soa.md) begründet (z. b. rein physische rechenzentrums-controls, die beim cloud-provider liegen). ## 6. begründung kompensierender massnahmen aufgrund der kleinen teamgrösse ist eine vollständige funktionstrennung nicht überall möglich. wo controls eine grössere organisation voraussetzen, greifen kompensierende massnahmen (vier-augen-prinzip bei releases, protokollierung privilegierter zugriffe, externe vergabe des internen audits). diese sind in den jeweiligen betriebsdokumenten und im soa dokumentiert. ", "nextReview": "2027-06-03", "overdueReview": false, "zuPruefen": []}, {"id": "01_kontext/kontext-und-interessierte-parteien.md", "path": "01_kontext/kontext-und-interessierte-parteien.md", "chapter": "01_kontext", "title": "Kontext der Organisation & interessierte Parteien", "filename": "kontext-und-interessierte-parteien.md", "meta": {"docId": "IMS-04-01", "status": "entwurf", "version": "0.1", "owner": "Patrick Motsch", "approver": "Geschäftsführung PowerOn AG", "approvedDate": "", "nextReview": "2027-06-03", "classification": "intern", "isoRefs": "9001:4.1-4.2; 27001:4.1-4.2"}, "html": "<h1>Kontext der Organisation &amp; interessierte Parteien<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Grundlagendokument ISO 9001 / 27001 Kap. 4.1-4.2: Bestimmung des organisatorischen Kontexts und der relevanten interessierten Parteien samt deren Anforderungen.<\/p>\n<h2>1. Organisation<\/h2>\n<p>PowerOn AG ist ein Schweizer Software-Unternehmen und betreibt die <strong>PORTA Enterprise KI-Plattform<\/strong> -- eine Multi-Tenant-SaaS-Lösung mit Feature-Store-Modell, AI-Agent-Workspace und mandantenweiter Datenneutralisierung. Zielkunden sind mittlere bis grosse Unternehmen in datenschutzsensiblen Branchen (Finanzwesen, Treuhand, Immobilien, Beratung). Sehr kleines Team (2-5 Personen).<\/p>\n<h2>2. Externe Themen (Kontext)<\/h2>\n<ul><li>Regulatorik: CH nDSG/revDSG, EU-DSGVO, für Bankkunden FINMA-Rundschreiben 2018/3 &amp; 2023/1, GLKB Cloud Assessment (CACC).<\/li><li>Markt: hohe Erwartung an Datensouveränität (CH-Hosting), KI-Transparenz, Nachweisbarkeit (ISO 27001/9001 als Einkaufskriterium).<\/li><li>Technologie: Abhängigkeit von externen LLM-Providern (OpenAI USA u. a.), Cloud-Hosting Infomaniak (CH).<\/li><li>Bedrohungslage: Web-/Cloud-Angriffe, Lieferkettenrisiken, KI-spezifische Risiken (Prompt-Injection, Datenabfluss).<\/li><\/ul>\n<h2>3. Interne Themen (Kontext)<\/h2>\n<ul><li>Kleines Team -&gt; Rollenbuendelung, eingeschränkte Funktionstrennung (kompensierende Massnahmen).<\/li><li>Hoher Automatisierungsgrad (Forgejo CI/CD, Infrastruktur, Wiki-basierte Doku).<\/li><li>Wissenskonzentration auf wenige Personen (Schlüsselpersonenrisiko).<\/li><\/ul>\n<h2>4. Interessierte Parteien und Anforderungen<\/h2>\n<table><thead><tr><th>Interessierte Partei<\/th><th>Wesentliche Anforderungen<\/th><\/tr><\/thead><tbody><tr><td>Kunden (inkl. Banken/Treuhänder)<\/td><td>Datenschutz, Vertraulichkeit, Verfügbarkeit (SLA), Nachweise/Zertifikate, Auditierbarkeit<\/td><\/tr><tr><td>Endnutzer<\/td><td>Funktionierende, sichere, performante Plattform; Datenschutzrechte<\/td><\/tr><tr><td>Geschäftsführung/Eigner<\/td><td>Wirtschaftlichkeit, Reputation, Compliance, beherrschbares Risiko<\/td><\/tr><tr><td>Mitarbeitende<\/td><td>Klare Prozesse, sichere Arbeitsmittel, Kompetenzentwicklung<\/td><\/tr><tr><td>Aufsicht/Regulatoren<\/td><td>Einhaltung Datenschutz- und Finanzmarktvorgaben<\/td><\/tr><tr><td>Lieferanten/Subunternehmer<\/td><td>Klare Verträge, AVVs, Sicherheitsanforderungen<\/td><\/tr><tr><td>Zertifizierungsstelle<\/td><td>Normkonformes, gelebtes, nachweisbares Managementsystem<\/td><\/tr><\/tbody><\/table>\n<h2>5. Geltungsbereich des IMS<\/h2>\n<p>Festlegung in <a href=\"geltungsbereich-scope.md\">geltungsbereich-scope.md<\/a>.<\/p>\n<h2>6. Wesentliche Prozesse (Prozesslandkarte)<\/h2>\n<pre class=\"mermaid\">flowchart LR\n subgraph fuehrung [Führungsprozesse]\n F1[\"Strategie &amp; Management-Review\"]\n F2[\"Risiko- &amp; Compliance-Management\"]\n end\n subgraph kern [Kernprozesse]\n K1[\"Produktmanagement &amp; Anforderungen\"]\n K2[\"Software-Entwicklung (SDLC)\"]\n K3[\"Release &amp; Change Management\"]\n K4[\"Betrieb &amp; Support der PORTA-Plattform\"]\n end\n subgraph support [Unterstützungsprozesse]\n S1[\"Beschaffung &amp; Lieferanten\"]\n S2[\"Personal &amp; Kompetenz\"]\n S3[\"IT-Sicherheit &amp; Infrastruktur\"]\n S4[\"Dokumentenlenkung\"]\n end\n F1 --&gt; K1 --&gt; K2 --&gt; K3 --&gt; K4\n F2 --&gt; K2\n support --&gt; kern<\/pre>", "text": "<!-- docid: ims-04-01 --> <!-- status: entwurf --> <!-- version: 0.1 --> <!-- owner: patrick motsch --> <!-- approver: geschäftsführung poweron ag --> <!-- approveddate: --> <!-- nextreview: 2027-06-03 --> <!-- classification: intern --> <!-- isorefs: 9001:4.1-4.2; 27001:4.1-4.2 --> # kontext der organisation & interessierte parteien **dokumenttyp:** grundlagendokument iso 9001 / 27001 kap. 4.1-4.2: bestimmung des organisatorischen kontexts und der relevanten interessierten parteien samt deren anforderungen. ## 1. organisation poweron ag ist ein schweizer software-unternehmen und betreibt die **porta enterprise ki-plattform** -- eine multi-tenant-saas-lösung mit feature-store-modell, ai-agent-workspace und mandantenweiter datenneutralisierung. zielkunden sind mittlere bis grosse unternehmen in datenschutzsensiblen branchen (finanzwesen, treuhand, immobilien, beratung). sehr kleines team (2-5 personen). ## 2. externe themen (kontext) - regulatorik: ch ndsg/revdsg, eu-dsgvo, für bankkunden finma-rundschreiben 2018/3 & 2023/1, glkb cloud assessment (cacc). - markt: hohe erwartung an datensouveränität (ch-hosting), ki-transparenz, nachweisbarkeit (iso 27001/9001 als einkaufskriterium). - technologie: abhängigkeit von externen llm-providern (openai usa u. a.), cloud-hosting infomaniak (ch). - bedrohungslage: web-/cloud-angriffe, lieferkettenrisiken, ki-spezifische risiken (prompt-injection, datenabfluss). ## 3. interne themen (kontext) - kleines team -> rollenbuendelung, eingeschränkte funktionstrennung (kompensierende massnahmen). - hoher automatisierungsgrad (forgejo ci/cd, infrastruktur, wiki-basierte doku). - wissenskonzentration auf wenige personen (schlüsselpersonenrisiko). ## 4. interessierte parteien und anforderungen | interessierte partei | wesentliche anforderungen | |---|---| | kunden (inkl. banken/treuhänder) | datenschutz, vertraulichkeit, verfügbarkeit (sla), nachweise/zertifikate, auditierbarkeit | | endnutzer | funktionierende, sichere, performante plattform; datenschutzrechte | | geschäftsführung/eigner | wirtschaftlichkeit, reputation, compliance, beherrschbares risiko | | mitarbeitende | klare prozesse, sichere arbeitsmittel, kompetenzentwicklung | | aufsicht/regulatoren | einhaltung datenschutz- und finanzmarktvorgaben | | lieferanten/subunternehmer | klare verträge, avvs, sicherheitsanforderungen | | zertifizierungsstelle | normkonformes, gelebtes, nachweisbares managementsystem | ## 5. geltungsbereich des ims festlegung in [geltungsbereich-scope.md](geltungsbereich-scope.md). ## 6. wesentliche prozesse (prozesslandkarte) ```mermaid flowchart lr subgraph fuehrung [führungsprozesse] f1[\"strategie & management-review\"] f2[\"risiko- & compliance-management\"] end subgraph kern [kernprozesse] k1[\"produktmanagement & anforderungen\"] k2[\"software-entwicklung (sdlc)\"] k3[\"release & change management\"] k4[\"betrieb & support der porta-plattform\"] end subgraph support [unterstützungsprozesse] s1[\"beschaffung & lieferanten\"] s2[\"personal & kompetenz\"] s3[\"it-sicherheit & infrastruktur\"] s4[\"dokumentenlenkung\"] end f1 --> k1 --> k2 --> k3 --> k4 f2 --> k2 support --> kern ``` ", "nextReview": "2027-06-03", "overdueReview": false, "zuPruefen": []}, {"id": "02_fuehrung/informationssicherheitspolitik.md", "path": "02_fuehrung/informationssicherheitspolitik.md", "chapter": "02_fuehrung", "title": "Informationssicherheitsrichtlinie (ISMS-Dachdokument)", "filename": "informationssicherheitspolitik.md", "meta": {"docId": "IMS-05-02", "status": "entwurf", "version": "1.0", "owner": "Patrick Motsch", "approver": "Geschäftsführung PowerOn AG", "approvedDate": "", "nextReview": "2027-06-03", "classification": "intern", "isoRefs": "27001:5.2,5.1; 9001:5.2"}, "html": "<h1>Informationssicherheitsrichtlinie (ISMS-Dachdokument)<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Richtlinie <strong>Geltungsbereich:<\/strong> PORTA Enterprise KI-Plattform, gesamte PowerOn AG <strong>Version:<\/strong> 1.0 <strong>Status:<\/strong> Entwurf zur internen Freigabe <strong>Owner:<\/strong> Geschäftsführung PowerOn AG <strong>Letzte Aktualisierung:<\/strong> 02.06.2026 <strong>Deckt ab (CACC):<\/strong> 49, 52, 56<\/p>\n<hr>\n<h2>1. Zweck und Geltungsbereich<\/h2>\n<p>Diese Richtlinie definiert die grundlegenden Vorgaben, Prinzipien und Verantwortlichkeiten für die Informationssicherheit bei PowerOn. Sie ist das Dachdokument des Informationssicherheits-Managementsystems (ISMS) und verweist auf die detaillierten Einzelprozesse.<\/p>\n<p>Der Geltungsbereich umfasst alle Systeme, Daten, Mitarbeitenden und Dienstleister, die an der Bereitstellung der PORTA-Plattform beteiligt sind — insbesondere die Infrastruktur bei Infomaniak (<code>api.poweron.swiss<\/code>, <code>db.poweron.swiss<\/code>), das Forgejo-basierte Entwicklungs- und Deployment-System sowie alle im Drittanbieter-Inventar gelisteten externen Dienste.<\/p>\n<h2>2. Sicherheitsziele<\/h2>\n<p>PowerOn verfolgt die klassischen Schutzziele der Informationssicherheit:<\/p>\n<ul><li><strong>Vertraulichkeit:<\/strong> Kundendaten (Inhaltsdaten, insbesondere Berufsgeheimnisdaten) sind nur autorisierten Personen und Prozessen zugänglich.<\/li><li><strong>Integrität:<\/strong> Daten und Systeme sind vor unbefugter oder unbeabsichtigter Veränderung geschützt.<\/li><li><strong>Verfügbarkeit:<\/strong> Die Plattform und die Kundendaten stehen im Rahmen der vereinbarten Service Levels zur Verfügung.<\/li><li><strong>Nachvollziehbarkeit:<\/strong> Zugriffe und Änderungen an kritischen Systemen sind protokolliert und auditierbar.<\/li><\/ul>\n<h2>3. Organisation und Verantwortlichkeiten<\/h2>\n<p>Aufgrund der kleinen Teamgrösse (25 Personen) werden Rollen gebündelt. Eine vollständige Funktionstrennung ist nicht in allen Bereichen möglich; wo sie fehlt, greifen kompensierende Massnahmen (Vier-Augen-Prinzip bei Releases, Protokollierung privilegierter Zugriffe).<\/p>\n<table><thead><tr><th>Rolle<\/th><th>Verantwortung<\/th><th>Träger<\/th><\/tr><\/thead><tbody><tr><td>Informationssicherheits-Verantwortlicher (ISO/CISO-Funktion)<\/td><td>Pflege des ISMS, Risikobeurteilung, Richtlinienfreigabe<\/td><td>Patrick Motsch (p.motsch@poweron.swiss)<\/td><\/tr><tr><td>Datenschutzverantwortlicher<\/td><td>Einhaltung DSG/DSGVO, AVV-Management<\/td><td>Patrick Motsch (p.motsch@poweron.swiss)<\/td><\/tr><tr><td>Drittdienst-Verantwortlicher<\/td><td>Verwaltung externer Dienste, Subunternehmer<\/td><td>Patrick Motsch (p.motsch@poweron.swiss)<\/td><\/tr><tr><td>Betrieb / DevOps<\/td><td>Server, Deployment, Backups, Incident-Handling<\/td><td>Patrick Motsch (p.motsch@poweron.swiss)<\/td><\/tr><tr><td>Geschäftsführung<\/td><td>Gesamtverantwortung, Freigabe Richtlinien<\/td><td>Patrick Motsch (p.motsch@poweron.swiss)<\/td><\/tr><\/tbody><\/table>\n<h2>4. Grundsätze<\/h2>\n<ol><li><strong>Need-to-Know &amp; Least Privilege:<\/strong> Zugriff nur im erforderlichen Umfang (Details: <code>02_Zugriffsmanagement_IAM_PAM.md<\/code>).<\/li><li><strong>Sichere Standardkonfiguration:<\/strong> Systeme werden nach anerkannten Standards gehärtet (Details: <code>12_Netzwerk_und_Infrastruktursicherheit.md<\/code>).<\/li><li><strong>Verschlüsselung:<\/strong> Daten werden bei Übertragung und Speicherung verschlüsselt (Details: <code>04_Verschluesselung_und_Schluesselmanagement.md<\/code>).<\/li><li><strong>Nachvollziehbare Änderungen:<\/strong> Alle Produktivänderungen durchlaufen den Change-Prozess (Details: <code>08_Change_Management.md<\/code>).<\/li><li><strong>Vorfallreaktion:<\/strong> Sicherheitsvorfälle werden klassifiziert, behoben und gemeldet (Details: <code>07_Incident_Response_und_Meldewesen.md<\/code>).<\/li><\/ol>\n<h2>5. Risikomanagement<\/h2>\n<p>PowerOn führt mindestens jährlich sowie anlassbezogen (z. B. bei wesentlichen Architekturänderungen) eine Risikobeurteilung der für Kunden relevanten Systeme durch. Identifizierte Risiken werden bewertet (Eintrittswahrscheinlichkeit × Auswirkung), behandelt (vermeiden / vermindern / übertragen / akzeptieren) und dokumentiert. Ergebnisse werden auf Anfrage berechtigten Kunden und Prüfern offengelegt.<\/p>\n<h2>6. Verbindlichkeit und Schulung<\/h2>\n<p>Diese Richtlinie ist für alle Mitarbeitenden und Hilfspersonen verbindlich. Neue Mitarbeitende werden im Onboarding auf die Richtlinie verpflichtet; eine Auffrischung erfolgt jährlich (siehe <code>03_Mitarbeitersicherheit_und_Screening.md<\/code>).<\/p>\n<h2>7. Überprüfung<\/h2>\n<p>Die Richtlinie wird mindestens jährlich sowie bei wesentlichen Änderungen überprüft und durch die Geschäftsführung freigegeben.<\/p>\n<h2>8. Stand der Umsetzung / Lücken<\/h2>\n<table><thead><tr><th>Thema<\/th><th>Status<\/th><th>Geplante Massnahme<\/th><\/tr><\/thead><tbody><tr><td>ISMS nach ISO/IEC 27001 zertifiziert<\/td><td>Nicht vorhanden<\/td><td>[ZU PRÜFEN: Zertifizierung geplant? Zeithorizont?]<\/td><\/tr><tr><td>Dokumentierte Rollenzuteilung<\/td><td>In Arbeit (dieses Dokument)<\/td><td>Namentliche Zuordnung ergänzen<\/td><\/tr><tr><td>Jährliche Risikobeurteilung<\/td><td>[ZU PRÜFEN]<\/td><td>Erstdurchführung terminieren<\/td><\/tr><\/tbody><\/table>", "text": "<!-- docid: ims-05-02 --> <!-- status: entwurf --> <!-- version: 1.0 --> <!-- owner: patrick motsch --> <!-- approver: geschäftsführung poweron ag --> <!-- approveddate: --> <!-- nextreview: 2027-06-03 --> <!-- classification: intern --> <!-- isorefs: 27001:5.2,5.1; 9001:5.2 --> # informationssicherheitsrichtlinie (isms-dachdokument) **dokumenttyp:** richtlinie **geltungsbereich:** porta enterprise ki-plattform, gesamte poweron ag **version:** 1.0 **status:** entwurf zur internen freigabe **owner:** geschäftsführung poweron ag **letzte aktualisierung:** 02.06.2026 **deckt ab (cacc):** 49, 52, 56 --- ## 1. zweck und geltungsbereich diese richtlinie definiert die grundlegenden vorgaben, prinzipien und verantwortlichkeiten für die informationssicherheit bei poweron. sie ist das dachdokument des informationssicherheits-managementsystems (isms) und verweist auf die detaillierten einzelprozesse. der geltungsbereich umfasst alle systeme, daten, mitarbeitenden und dienstleister, die an der bereitstellung der porta-plattform beteiligt sind — insbesondere die infrastruktur bei infomaniak (`api.poweron.swiss`, `db.poweron.swiss`), das forgejo-basierte entwicklungs- und deployment-system sowie alle im drittanbieter-inventar gelisteten externen dienste. ## 2. sicherheitsziele poweron verfolgt die klassischen schutzziele der informationssicherheit: - **vertraulichkeit:** kundendaten (inhaltsdaten, insbesondere berufsgeheimnisdaten) sind nur autorisierten personen und prozessen zugänglich. - **integrität:** daten und systeme sind vor unbefugter oder unbeabsichtigter veränderung geschützt. - **verfügbarkeit:** die plattform und die kundendaten stehen im rahmen der vereinbarten service levels zur verfügung. - **nachvollziehbarkeit:** zugriffe und änderungen an kritischen systemen sind protokolliert und auditierbar. ## 3. organisation und verantwortlichkeiten aufgrund der kleinen teamgrösse (25 personen) werden rollen gebündelt. eine vollständige funktionstrennung ist nicht in allen bereichen möglich; wo sie fehlt, greifen kompensierende massnahmen (vier-augen-prinzip bei releases, protokollierung privilegierter zugriffe). | rolle | verantwortung | träger | |---|---|---| | informationssicherheits-verantwortlicher (iso/ciso-funktion) | pflege des isms, risikobeurteilung, richtlinienfreigabe | patrick motsch (p.motsch@poweron.swiss) | | datenschutzverantwortlicher | einhaltung dsg/dsgvo, avv-management | patrick motsch (p.motsch@poweron.swiss) | | drittdienst-verantwortlicher | verwaltung externer dienste, subunternehmer | patrick motsch (p.motsch@poweron.swiss) | | betrieb / devops | server, deployment, backups, incident-handling | patrick motsch (p.motsch@poweron.swiss) | | geschäftsführung | gesamtverantwortung, freigabe richtlinien | patrick motsch (p.motsch@poweron.swiss) | ## 4. grundsätze 1. **need-to-know & least privilege:** zugriff nur im erforderlichen umfang (details: `02_zugriffsmanagement_iam_pam.md`). 2. **sichere standardkonfiguration:** systeme werden nach anerkannten standards gehärtet (details: `12_netzwerk_und_infrastruktursicherheit.md`). 3. **verschlüsselung:** daten werden bei übertragung und speicherung verschlüsselt (details: `04_verschluesselung_und_schluesselmanagement.md`). 4. **nachvollziehbare änderungen:** alle produktivänderungen durchlaufen den change-prozess (details: `08_change_management.md`). 5. **vorfallreaktion:** sicherheitsvorfälle werden klassifiziert, behoben und gemeldet (details: `07_incident_response_und_meldewesen.md`). ## 5. risikomanagement poweron führt mindestens jährlich sowie anlassbezogen (z. b. bei wesentlichen architekturänderungen) eine risikobeurteilung der für kunden relevanten systeme durch. identifizierte risiken werden bewertet (eintrittswahrscheinlichkeit × auswirkung), behandelt (vermeiden / vermindern / übertragen / akzeptieren) und dokumentiert. ergebnisse werden auf anfrage berechtigten kunden und prüfern offengelegt. ## 6. verbindlichkeit und schulung diese richtlinie ist für alle mitarbeitenden und hilfspersonen verbindlich. neue mitarbeitende werden im onboarding auf die richtlinie verpflichtet; eine auffrischung erfolgt jährlich (siehe `03_mitarbeitersicherheit_und_screening.md`). ## 7. überprüfung die richtlinie wird mindestens jährlich sowie bei wesentlichen änderungen überprüft und durch die geschäftsführung freigegeben. ## 8. stand der umsetzung / lücken | thema | status | geplante massnahme | |---|---|---| | isms nach iso/iec 27001 zertifiziert | nicht vorhanden | [zu prüfen: zertifizierung geplant? zeithorizont?] | | dokumentierte rollenzuteilung | in arbeit (dieses dokument) | namentliche zuordnung ergänzen | | jährliche risikobeurteilung | [zu prüfen] | erstdurchführung terminieren | ", "nextReview": "2027-06-03", "overdueReview": false, "zuPruefen": ["8. Stand der Umsetzung / Lücken", "8. Stand der Umsetzung / Lücken"]}, {"id": "02_fuehrung/qm-politik.md", "path": "02_fuehrung/qm-politik.md", "chapter": "02_fuehrung", "title": "Qualitätspolitik", "filename": "qm-politik.md", "meta": {"docId": "IMS-05-01", "status": "entwurf", "version": "0.1", "owner": "Patrick Motsch", "approver": "Geschäftsführung PowerOn AG", "approvedDate": "", "nextReview": "2027-06-03", "classification": "öffentlich", "isoRefs": "9001:5.2"}, "html": "<h1>Qualitätspolitik<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Politik (Pflichtdokument ISO 9001 5.2) <strong>Geltungsbereich:<\/strong> Gesamte PowerOn AG<\/p>\n<h2>1. Unser Qualitätsverständnis<\/h2>\n<p>Die PowerOn AG entwickelt und betreibt mit der PORTA-Plattform sichere, zuverlässige und nutzbringende KI-Lösungen für datenschutzsensible Branchen. Qualität bedeutet für uns: zugesagte Funktionalität, Verfügbarkeit und Sicherheit verlässlich zu liefern und kontinuierlich zu verbessern.<\/p>\n<h2>2. Grundsätze<\/h2>\n<ol><li><strong>Kundenorientierung:<\/strong> Wir verstehen Kundenanforderungen und setzen sie nachvollziehbar in Produkt und Service um.<\/li><li><strong>Nachvollziehbare Prozesse:<\/strong> Entwicklung, Release und Support folgen dokumentierten, wiederholbaren Prozessen (siehe <a href=\"../05_betrieb/20260528_feature_release_bugfix.md\">Feature-/Release-/Bug-Prozess<\/a>).<\/li><li><strong>Qualität vor Tempo:<\/strong> Vier-Augen-Prinzip, Staging-Verifikation und Akzeptanzkriterien vor jedem Produktiv-Release.<\/li><li><strong>Datenschutz &amp; Sicherheit als Qualitätsmerkmal:<\/strong> Qualität und Informationssicherheit sind untrennbar (integriertes Managementsystem).<\/li><li><strong>Faktenbasierte Entscheidungen:<\/strong> Wir steuern über Kennzahlen (siehe <a href=\"../03_planung/ziele-und-kennzahlen.md\">Ziele &amp; Kennzahlen<\/a>).<\/li><li><strong>Kontinuierliche Verbesserung:<\/strong> Abweichungen werden als Chance verstanden und über den <a href=\"../07_verbesserung/korrekturmassnahmen-und-kvp.md\">KVP-Prozess<\/a> behandelt.<\/li><\/ol>\n<h2>3. Verpflichtung der Leitung<\/h2>\n<p>Die Geschäftsführung verpflichtet sich zur Erfüllung anwendbarer Anforderungen, zur Bereitstellung der nötigen Ressourcen und zur fortlaufenden Verbesserung des Qualitätsmanagementsystems. Qualitätsziele werden in <a href=\"../03_planung/ziele-und-kennzahlen.md\">Ziele &amp; Kennzahlen<\/a> festgelegt und im <a href=\"../06_bewertung/management-review.md\">Management-Review<\/a> bewertet.<\/p>\n<h2>4. Verbindlichkeit<\/h2>\n<p>Diese Politik ist für alle Mitarbeitenden verbindlich, wird kommuniziert (<a href=\"../04_unterstuetzung/kommunikation.md\">Kommunikation<\/a>) und mindestens jährlich auf Angemessenheit überprüft.<\/p>", "text": "<!-- docid: ims-05-01 --> <!-- status: entwurf --> <!-- version: 0.1 --> <!-- owner: patrick motsch --> <!-- approver: geschäftsführung poweron ag --> <!-- approveddate: --> <!-- nextreview: 2027-06-03 --> <!-- classification: öffentlich --> <!-- isorefs: 9001:5.2 --> # qualitätspolitik **dokumenttyp:** politik (pflichtdokument iso 9001 5.2) **geltungsbereich:** gesamte poweron ag ## 1. unser qualitätsverständnis die poweron ag entwickelt und betreibt mit der porta-plattform sichere, zuverlässige und nutzbringende ki-lösungen für datenschutzsensible branchen. qualität bedeutet für uns: zugesagte funktionalität, verfügbarkeit und sicherheit verlässlich zu liefern und kontinuierlich zu verbessern. ## 2. grundsätze 1. **kundenorientierung:** wir verstehen kundenanforderungen und setzen sie nachvollziehbar in produkt und service um. 2. **nachvollziehbare prozesse:** entwicklung, release und support folgen dokumentierten, wiederholbaren prozessen (siehe [feature-/release-/bug-prozess](../05_betrieb/20260528_feature_release_bugfix.md)). 3. **qualität vor tempo:** vier-augen-prinzip, staging-verifikation und akzeptanzkriterien vor jedem produktiv-release. 4. **datenschutz & sicherheit als qualitätsmerkmal:** qualität und informationssicherheit sind untrennbar (integriertes managementsystem). 5. **faktenbasierte entscheidungen:** wir steuern über kennzahlen (siehe [ziele & kennzahlen](../03_planung/ziele-und-kennzahlen.md)). 6. **kontinuierliche verbesserung:** abweichungen werden als chance verstanden und über den [kvp-prozess](../07_verbesserung/korrekturmassnahmen-und-kvp.md) behandelt. ## 3. verpflichtung der leitung die geschäftsführung verpflichtet sich zur erfüllung anwendbarer anforderungen, zur bereitstellung der nötigen ressourcen und zur fortlaufenden verbesserung des qualitätsmanagementsystems. qualitätsziele werden in [ziele & kennzahlen](../03_planung/ziele-und-kennzahlen.md) festgelegt und im [management-review](../06_bewertung/management-review.md) bewertet. ## 4. verbindlichkeit diese politik ist für alle mitarbeitenden verbindlich, wird kommuniziert ([kommunikation](../04_unterstuetzung/kommunikation.md)) und mindestens jährlich auf angemessenheit überprüft. ", "nextReview": "2027-06-03", "overdueReview": false, "zuPruefen": []}, {"id": "02_fuehrung/rollen-verantwortlichkeiten.md", "path": "02_fuehrung/rollen-verantwortlichkeiten.md", "chapter": "02_fuehrung", "title": "Rollen, Verantwortlichkeiten und Befugnisse", "filename": "rollen-verantwortlichkeiten.md", "meta": {"docId": "IMS-05-03", "status": "entwurf", "version": "0.1", "owner": "Patrick Motsch", "approver": "Geschäftsführung PowerOn AG", "approvedDate": "", "nextReview": "2027-06-03", "classification": "intern", "isoRefs": "9001:5.3; 27001:5.3"}, "html": "<h1>Rollen, Verantwortlichkeiten und Befugnisse<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Grundlagendokument (ISO 9001 / 27001 Kap. 5.3)<\/p>\n<p>Aufgrund der kleinen Teamgrösse (2-5 Personen) werden Rollen gebuendelt. Bündelung ist zulässig; entscheidend ist die dokumentierte, namentliche Zuweisung. Wo Funktionstrennung fehlt, greifen kompensierende Massnahmen.<\/p>\n<h2>1. Rollenmatrix<\/h2>\n<table><thead><tr><th>Rolle<\/th><th>Verantwortung / Befugnis<\/th><th>Träger<\/th><\/tr><\/thead><tbody><tr><td>Oberste Leitung (Geschäftsführung)<\/td><td>Gesamtverantwortung IMS, Freigabe Politiken, Ressourcen, Management-Review<\/td><td>Patrick Motsch (p.motsch@poweron.swiss)<\/td><\/tr><tr><td>Informationssicherheits-Beauftragter (ISB / CISO-Funktion)<\/td><td>ISMS-Pflege, Risikobeurteilung, SoA, Steuerung Annex-A-Controls<\/td><td>Patrick Motsch<\/td><\/tr><tr><td>Qualitätsmanagement-Beauftragter (QMB)<\/td><td>QMS-Pflege, Prozesssteuerung, KVP, Audit-Koordination<\/td><td>Patrick Motsch<\/td><\/tr><tr><td>Dokumentenlenkungs-Verantwortlicher<\/td><td>Pflege Header-Standard, Dokumentenregister, Review-Zyklen<\/td><td>Patrick Motsch<\/td><\/tr><tr><td>Datenschutzverantwortlicher<\/td><td>DSG/DSGVO, AVV-Management<\/td><td>Patrick Motsch<\/td><\/tr><tr><td>Betrieb / DevOps &amp; Incident-Verantwortlicher<\/td><td>Server, Deployment, Backups, Vorfallbehandlung<\/td><td>Patrick Motsch<\/td><\/tr><tr><td>Drittdienst-/Lieferanten-Verantwortlicher<\/td><td>Drittanbieter-Inventar, AVVs, Subunternehmer<\/td><td>Patrick Motsch<\/td><\/tr><tr><td>Risiko-Eigner (Risk Owner)<\/td><td>Verantwortung je wesentlichem Risiko/Asset<\/td><td>gemäss <a href=\"../03_planung/risikoregister.md\">Risikoregister<\/a><\/td><\/tr><tr><td>Interner Auditor<\/td><td>Unabhängige Prüfung des IMS<\/td><td><strong>Extern, noch zu benennen<\/strong> (Unabhängigkeit erforderlich)<\/td><\/tr><\/tbody><\/table>\n<h2>2. Hinweis zur Funktionstrennung<\/h2>\n<p>Da derzeit zentrale Rollen bei einer Person liegen, sind folgende kompensierende Massnahmen verbindlich:<\/p>\n<ul><li><strong>Vier-Augen-Prinzip<\/strong> bei Code-Review und Produktiv-Releases (<a href=\"../05_betrieb/20260528_feature_release_bugfix.md\">feature_release_bugfix.md<\/a>).<\/li><li><strong>Protokollierung privilegierter Zugriffe<\/strong> (<a href=\"../05_betrieb/11_Logging_und_Monitoring.md\">Logging &amp; Monitoring<\/a>).<\/li><li><strong>Internes Audit wird extern vergeben<\/strong>, um Unabhängigkeit sicherzustellen (<a href=\"../06_bewertung/internes-audit.md\">Internes Audit<\/a>).<\/li><\/ul>\n<h2>3. Pflege<\/h2>\n<p>Änderungen an der Rollenzuweisung werden hier nachgeführt und im Management-Review bestätigt. Bei Teamwachstum sind Rollen zu entflechten (insb. interner Auditor, Release-Freigabe vs. Entwicklung).<\/p>", "text": "<!-- docid: ims-05-03 --> <!-- status: entwurf --> <!-- version: 0.1 --> <!-- owner: patrick motsch --> <!-- approver: geschäftsführung poweron ag --> <!-- approveddate: --> <!-- nextreview: 2027-06-03 --> <!-- classification: intern --> <!-- isorefs: 9001:5.3; 27001:5.3 --> # rollen, verantwortlichkeiten und befugnisse **dokumenttyp:** grundlagendokument (iso 9001 / 27001 kap. 5.3) aufgrund der kleinen teamgrösse (2-5 personen) werden rollen gebuendelt. bündelung ist zulässig; entscheidend ist die dokumentierte, namentliche zuweisung. wo funktionstrennung fehlt, greifen kompensierende massnahmen. ## 1. rollenmatrix | rolle | verantwortung / befugnis | träger | |---|---|---| | oberste leitung (geschäftsführung) | gesamtverantwortung ims, freigabe politiken, ressourcen, management-review | patrick motsch (p.motsch@poweron.swiss) | | informationssicherheits-beauftragter (isb / ciso-funktion) | isms-pflege, risikobeurteilung, soa, steuerung annex-a-controls | patrick motsch | | qualitätsmanagement-beauftragter (qmb) | qms-pflege, prozesssteuerung, kvp, audit-koordination | patrick motsch | | dokumentenlenkungs-verantwortlicher | pflege header-standard, dokumentenregister, review-zyklen | patrick motsch | | datenschutzverantwortlicher | dsg/dsgvo, avv-management | patrick motsch | | betrieb / devops & incident-verantwortlicher | server, deployment, backups, vorfallbehandlung | patrick motsch | | drittdienst-/lieferanten-verantwortlicher | drittanbieter-inventar, avvs, subunternehmer | patrick motsch | | risiko-eigner (risk owner) | verantwortung je wesentlichem risiko/asset | gemäss [risikoregister](../03_planung/risikoregister.md) | | interner auditor | unabhängige prüfung des ims | **extern, noch zu benennen** (unabhängigkeit erforderlich) | ## 2. hinweis zur funktionstrennung da derzeit zentrale rollen bei einer person liegen, sind folgende kompensierende massnahmen verbindlich: - **vier-augen-prinzip** bei code-review und produktiv-releases ([feature_release_bugfix.md](../05_betrieb/20260528_feature_release_bugfix.md)). - **protokollierung privilegierter zugriffe** ([logging & monitoring](../05_betrieb/11_logging_und_monitoring.md)). - **internes audit wird extern vergeben**, um unabhängigkeit sicherzustellen ([internes audit](../06_bewertung/internes-audit.md)). ## 3. pflege änderungen an der rollenzuweisung werden hier nachgeführt und im management-review bestätigt. bei teamwachstum sind rollen zu entflechten (insb. interner auditor, release-freigabe vs. entwicklung). ", "nextReview": "2027-06-03", "overdueReview": false, "zuPruefen": []}, {"id": "03_planung/risikomanagement-methodik.md", "path": "03_planung/risikomanagement-methodik.md", "chapter": "03_planung", "title": "Risikomanagement-Methodik", "filename": "risikomanagement-methodik.md", "meta": {"docId": "IMS-06-01", "status": "entwurf", "version": "0.1", "owner": "Patrick Motsch", "approver": "Geschäftsführung PowerOn AG", "approvedDate": "", "nextReview": "2027-06-03", "classification": "intern", "isoRefs": "27001:6.1.2,6.1.3,8.2,8.3; 9001:6.1"}, "html": "<h1>Risikomanagement-Methodik<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Verfahren (Pflichtdokument ISO 27001 6.1.2) <strong>Geltungsbereich:<\/strong> Informationssicherheits- und Qualitätsrisiken im IMS-Scope<\/p>\n<h2>1. Zweck<\/h2>\n<p>Dieses Verfahren legt fest, wie PowerOn Risiken und Chancen identifiziert, bewertet, behandelt und überwacht -- für ISO 27001 (Informationssicherheitsrisiken) und ISO 9001 (Risiken/Chancen für die Prozess- und Produktqualität).<\/p>\n<h2>2. Vorgehen<\/h2>\n<pre class=\"mermaid\">flowchart LR\n id[\"1 Identifikation (Assets, Bedrohungen, Schwachstellen, Prozessrisiken)\"] --&gt; an[\"2 Analyse (Eintritt x Auswirkung)\"]\n an --&gt; ev[\"3 Bewertung gegen Akzeptanzkriterien\"]\n ev --&gt; tr[\"4 Behandlung (vermeiden/vermindern/übertragen/akzeptieren)\"]\n tr --&gt; mo[\"5 Überwachung &amp; Review\"]\n mo --&gt; id<\/pre>\n<h2>3. Bewertungsskala<\/h2>\n<p><strong>Eintrittswahrscheinlichkeit (W)<\/strong> und <strong>Auswirkung (A)<\/strong> je 1-4:<\/p>\n<table><thead><tr><th>Stufe<\/th><th>W (Wahrscheinlichkeit)<\/th><th>A (Auswirkung)<\/th><\/tr><\/thead><tbody><tr><td>1<\/td><td>selten (&lt; 1x/Jahr)<\/td><td>gering (kaum spuerbar)<\/td><\/tr><tr><td>2<\/td><td>möglich<\/td><td>spuerbar (begrenzt, intern)<\/td><\/tr><tr><td>3<\/td><td>wahrscheinlich<\/td><td>erheblich (Kunde/Daten betroffen)<\/td><\/tr><tr><td>4<\/td><td>sehr wahrscheinlich (laufend)<\/td><td>kritisch (Datenverlust, Ausfall, Rechtsbruch)<\/td><\/tr><\/tbody><\/table>\n<p><strong>Risikowert = W x A<\/strong> (1-16).<\/p>\n<table><thead><tr><th>Risikowert<\/th><th>Klasse<\/th><th>Vorgabe<\/th><\/tr><\/thead><tbody><tr><td>1-3<\/td><td>niedrig<\/td><td>akzeptieren, beobachten<\/td><\/tr><tr><td>4-8<\/td><td>mittel<\/td><td>Behandlung planen, terminiert<\/td><\/tr><tr><td>9-12<\/td><td>hoch<\/td><td>Behandlung priorisiert, zeitnah<\/td><\/tr><tr><td>13-16<\/td><td>sehr hoch<\/td><td>sofortige Massnahmen, Leitung informieren<\/td><\/tr><\/tbody><\/table>\n<h2>4. Risikoakzeptanzkriterium<\/h2>\n<p>Risiken der Klasse <strong>niedrig<\/strong> können ohne weitere Massnahme akzeptiert werden. Ab <strong>mittel<\/strong> ist eine dokumentierte Behandlung mit Owner und Termin erforderlich. Restrisiken ab <strong>hoch<\/strong> müssen von der obersten Leitung formal akzeptiert werden.<\/p>\n<h2>5. Behandlungsoptionen und Bezug zum SoA<\/h2>\n<p>Für Informationssicherheitsrisiken werden Massnahmen primär aus den <strong>ISO 27001 Annex-A-Controls<\/strong> abgeleitet; die Anwendbarkeit und Umsetzung wird im <a href=\"statement-of-applicability-soa.md\">Statement of Applicability<\/a> dokumentiert. Umsetzungsmassnahmen und Restrisiken werden im <a href=\"risikoregister.md\">Risikoregister<\/a> geführt; offene Massnahmen laufen ins <a href=\"../07_verbesserung/massnahmen-register.md\">Massnahmenregister<\/a>.<\/p>\n<h2>6. Turnus<\/h2>\n<p>Risikobeurteilung mindestens <strong>jährlich<\/strong> sowie <strong>anlassbezogen<\/strong> (wesentliche Architektur-/Prozessänderung, schwerer Incident, neuer wesentlicher Lieferant). Ergebnisse fliessen ins <a href=\"../06_bewertung/management-review.md\">Management-Review<\/a>.<\/p>", "text": "<!-- docid: ims-06-01 --> <!-- status: entwurf --> <!-- version: 0.1 --> <!-- owner: patrick motsch --> <!-- approver: geschäftsführung poweron ag --> <!-- approveddate: --> <!-- nextreview: 2027-06-03 --> <!-- classification: intern --> <!-- isorefs: 27001:6.1.2,6.1.3,8.2,8.3; 9001:6.1 --> # risikomanagement-methodik **dokumenttyp:** verfahren (pflichtdokument iso 27001 6.1.2) **geltungsbereich:** informationssicherheits- und qualitätsrisiken im ims-scope ## 1. zweck dieses verfahren legt fest, wie poweron risiken und chancen identifiziert, bewertet, behandelt und überwacht -- für iso 27001 (informationssicherheitsrisiken) und iso 9001 (risiken/chancen für die prozess- und produktqualität). ## 2. vorgehen ```mermaid flowchart lr id[\"1 identifikation (assets, bedrohungen, schwachstellen, prozessrisiken)\"] --> an[\"2 analyse (eintritt x auswirkung)\"] an --> ev[\"3 bewertung gegen akzeptanzkriterien\"] ev --> tr[\"4 behandlung (vermeiden/vermindern/übertragen/akzeptieren)\"] tr --> mo[\"5 überwachung & review\"] mo --> id ``` ## 3. bewertungsskala **eintrittswahrscheinlichkeit (w)** und **auswirkung (a)** je 1-4: | stufe | w (wahrscheinlichkeit) | a (auswirkung) | |---|---|---| | 1 | selten (< 1x/jahr) | gering (kaum spuerbar) | | 2 | möglich | spuerbar (begrenzt, intern) | | 3 | wahrscheinlich | erheblich (kunde/daten betroffen) | | 4 | sehr wahrscheinlich (laufend) | kritisch (datenverlust, ausfall, rechtsbruch) | **risikowert = w x a** (1-16). | risikowert | klasse | vorgabe | |---|---|---| | 1-3 | niedrig | akzeptieren, beobachten | | 4-8 | mittel | behandlung planen, terminiert | | 9-12 | hoch | behandlung priorisiert, zeitnah | | 13-16 | sehr hoch | sofortige massnahmen, leitung informieren | ## 4. risikoakzeptanzkriterium risiken der klasse **niedrig** können ohne weitere massnahme akzeptiert werden. ab **mittel** ist eine dokumentierte behandlung mit owner und termin erforderlich. restrisiken ab **hoch** müssen von der obersten leitung formal akzeptiert werden. ## 5. behandlungsoptionen und bezug zum soa für informationssicherheitsrisiken werden massnahmen primär aus den **iso 27001 annex-a-controls** abgeleitet; die anwendbarkeit und umsetzung wird im [statement of applicability](statement-of-applicability-soa.md) dokumentiert. umsetzungsmassnahmen und restrisiken werden im [risikoregister](risikoregister.md) geführt; offene massnahmen laufen ins [massnahmenregister](../07_verbesserung/massnahmen-register.md). ## 6. turnus risikobeurteilung mindestens **jährlich** sowie **anlassbezogen** (wesentliche architektur-/prozessänderung, schwerer incident, neuer wesentlicher lieferant). ergebnisse fliessen ins [management-review](../06_bewertung/management-review.md). ", "nextReview": "2027-06-03", "overdueReview": false, "zuPruefen": []}, {"id": "03_planung/risikoregister.md", "path": "03_planung/risikoregister.md", "chapter": "03_planung", "title": "Risikoregister", "filename": "risikoregister.md", "meta": {"docId": "IMS-06-02", "status": "entwurf", "version": "0.1", "owner": "Patrick Motsch", "approver": "Geschäftsführung PowerOn AG", "approvedDate": "", "nextReview": "2026-12-03", "classification": "vertraulich", "isoRefs": "27001:6.1.2,8.2; 9001:6.1"}, "html": "<h1>Risikoregister<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Record (Ergebnis der Risikobeurteilung) Bewertung gemäss <a href=\"risikomanagement-methodik.md\">Risikomanagement-Methodik<\/a>. W = Wahrscheinlichkeit, A = Auswirkung, R = W x A. Behandlungsmassnahmen mit Owner/Termin laufen ins <a href=\"../07_verbesserung/massnahmen-register.md\">Massnahmenregister<\/a>.<\/p>\n<p><strong>Stand der Erstbeurteilung:<\/strong> 2026-06-03 (Entwurf -- in einer Erst-Risikoworkshop-Sitzung zu validieren).<\/p>\n<table><thead><tr><th>ID<\/th><th>Risiko<\/th><th>Kategorie<\/th><th>W<\/th><th>A<\/th><th>R<\/th><th>Klasse<\/th><th>Behandlung<\/th><th>Owner<\/th><th>Annex-A-Bezug<\/th><\/tr><\/thead><tbody><tr><td>R-01<\/td><td>Schlüsselpersonenrisiko (Wissen/Zugriffe auf eine Person konzentriert)<\/td><td>Organisation<\/td><td>3<\/td><td>4<\/td><td>12<\/td><td>hoch<\/td><td>Vertretung, Dokumentation, Notfallzugriff (Break-Glass)<\/td><td>Patrick Motsch<\/td><td>A.5.2, A.5.4<\/td><\/tr><tr><td>R-02<\/td><td>Abfluss sensibler Inhaltsdaten an externe LLM-Provider (OpenAI/USA)<\/td><td>Datenschutz<\/td><td>3<\/td><td>4<\/td><td>12<\/td><td>hoch<\/td><td>Neutralisierung, AVV/DPA + EU-SCC, Zero-Retention prüfen<\/td><td>Patrick Motsch<\/td><td>A.5.14, A.8.12<\/td><\/tr><tr><td>R-03<\/td><td>Fehlende/unbestätigte MFA auf Admin-/Server-Zugängen<\/td><td>Zugriff<\/td><td>2<\/td><td>4<\/td><td>8<\/td><td>mittel<\/td><td>MFA flächendeckend bestätigen/erzwingen<\/td><td>Patrick Motsch<\/td><td>A.5.17, A.8.5<\/td><\/tr><tr><td>R-04<\/td><td>Backup nicht wiederherstellbar (Restore nie getestet)<\/td><td>Verfügbarkeit<\/td><td>2<\/td><td>4<\/td><td>8<\/td><td>mittel<\/td><td>Restore-Test durchführen &amp; protokollieren<\/td><td>Patrick Motsch<\/td><td>A.8.13<\/td><\/tr><tr><td>R-05<\/td><td>Ausfall Schlüssel-Lieferant (Infomaniak / LLM-Provider)<\/td><td>Lieferkette<\/td><td>2<\/td><td>3<\/td><td>6<\/td><td>mittel<\/td><td>BCM/DR-Plan, Exit-Strategie, Provider-Alternativen<\/td><td>Patrick Motsch<\/td><td>A.5.19, A.5.30<\/td><\/tr><tr><td>R-06<\/td><td>Sicherheitsluecke durch verspäteten Patch<\/td><td>Technik<\/td><td>2<\/td><td>3<\/td><td>6<\/td><td>mittel<\/td><td>Patch-/Schwachstellenprozess einhalten<\/td><td>Patrick Motsch<\/td><td>A.8.8<\/td><\/tr><tr><td>R-07<\/td><td>Unzureichende Log-Aufbewahrung/Manipulationsschutz<\/td><td>Nachweis<\/td><td>2<\/td><td>3<\/td><td>6<\/td><td>mittel<\/td><td>Retention &amp; Integritätsschutz festlegen<\/td><td>Patrick Motsch<\/td><td>A.8.15<\/td><\/tr><tr><td>R-08<\/td><td>Fehlerhafte Release führt zu Produktionsstörung<\/td><td>Qualität<\/td><td>2<\/td><td>3<\/td><td>6<\/td><td>mittel<\/td><td>Staging-Verifikation, Vier-Augen, Rollback<\/td><td>Patrick Motsch<\/td><td>A.8.31 (9001:8.5)<\/td><\/tr><tr><td>R-09<\/td><td>Prompt-Injection / Missbrauch KI-Funktionen<\/td><td>KI/Technik<\/td><td>3<\/td><td>2<\/td><td>6<\/td><td>mittel<\/td><td>Eingabebereinigung, Read-only DB-Zugriff, Rate-Limit<\/td><td>Patrick Motsch<\/td><td>A.8.28<\/td><\/tr><\/tbody><\/table>\n<h2>Pflegehinweis<\/h2>\n<p>Neue Risiken fortlaufend ergänzen, R bei Massnahmenwirkung neu bewerten (Restrisiko). Restrisiken der Klasse hoch+ erfordern formale Akzeptanz durch die oberste Leitung (Vermerk in Spalte Behandlung oder im Management-Review-Protokoll).<\/p>", "text": "<!-- docid: ims-06-02 --> <!-- status: entwurf --> <!-- version: 0.1 --> <!-- owner: patrick motsch --> <!-- approver: geschäftsführung poweron ag --> <!-- approveddate: --> <!-- nextreview: 2026-12-03 --> <!-- classification: vertraulich --> <!-- isorefs: 27001:6.1.2,8.2; 9001:6.1 --> # risikoregister **dokumenttyp:** record (ergebnis der risikobeurteilung) bewertung gemäss [risikomanagement-methodik](risikomanagement-methodik.md). w = wahrscheinlichkeit, a = auswirkung, r = w x a. behandlungsmassnahmen mit owner/termin laufen ins [massnahmenregister](../07_verbesserung/massnahmen-register.md). **stand der erstbeurteilung:** 2026-06-03 (entwurf -- in einer erst-risikoworkshop-sitzung zu validieren). | id | risiko | kategorie | w | a | r | klasse | behandlung | owner | annex-a-bezug | |---|---|---|---|---|---|---|---|---|---| | r-01 | schlüsselpersonenrisiko (wissen/zugriffe auf eine person konzentriert) | organisation | 3 | 4 | 12 | hoch | vertretung, dokumentation, notfallzugriff (break-glass) | patrick motsch | a.5.2, a.5.4 | | r-02 | abfluss sensibler inhaltsdaten an externe llm-provider (openai/usa) | datenschutz | 3 | 4 | 12 | hoch | neutralisierung, avv/dpa + eu-scc, zero-retention prüfen | patrick motsch | a.5.14, a.8.12 | | r-03 | fehlende/unbestätigte mfa auf admin-/server-zugängen | zugriff | 2 | 4 | 8 | mittel | mfa flächendeckend bestätigen/erzwingen | patrick motsch | a.5.17, a.8.5 | | r-04 | backup nicht wiederherstellbar (restore nie getestet) | verfügbarkeit | 2 | 4 | 8 | mittel | restore-test durchführen & protokollieren | patrick motsch | a.8.13 | | r-05 | ausfall schlüssel-lieferant (infomaniak / llm-provider) | lieferkette | 2 | 3 | 6 | mittel | bcm/dr-plan, exit-strategie, provider-alternativen | patrick motsch | a.5.19, a.5.30 | | r-06 | sicherheitsluecke durch verspäteten patch | technik | 2 | 3 | 6 | mittel | patch-/schwachstellenprozess einhalten | patrick motsch | a.8.8 | | r-07 | unzureichende log-aufbewahrung/manipulationsschutz | nachweis | 2 | 3 | 6 | mittel | retention & integritätsschutz festlegen | patrick motsch | a.8.15 | | r-08 | fehlerhafte release führt zu produktionsstörung | qualität | 2 | 3 | 6 | mittel | staging-verifikation, vier-augen, rollback | patrick motsch | a.8.31 (9001:8.5) | | r-09 | prompt-injection / missbrauch ki-funktionen | ki/technik | 3 | 2 | 6 | mittel | eingabebereinigung, read-only db-zugriff, rate-limit | patrick motsch | a.8.28 | ## pflegehinweis neue risiken fortlaufend ergänzen, r bei massnahmenwirkung neu bewerten (restrisiko). restrisiken der klasse hoch+ erfordern formale akzeptanz durch die oberste leitung (vermerk in spalte behandlung oder im management-review-protokoll). ", "nextReview": "2026-12-03", "overdueReview": false, "zuPruefen": []}, {"id": "03_planung/statement-of-applicability-soa.md", "path": "03_planung/statement-of-applicability-soa.md", "chapter": "03_planung", "title": "Statement of Applicability (SoA) -- ISO/IEC 27001:2022 Annex A", "filename": "statement-of-applicability-soa.md", "meta": {"docId": "IMS-06-03", "status": "entwurf", "version": "0.1", "owner": "Patrick Motsch", "approver": "Geschäftsführung PowerOn AG", "approvedDate": "", "nextReview": "2026-12-03", "classification": "vertraulich", "isoRefs": "27001:6.1.3,AnnexA"}, "html": "<h1>Statement of Applicability (SoA) -- ISO/IEC 27001:2022 Annex A<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Pflichtdokument (ISO 27001 6.1.3 d) <strong>Stand:<\/strong> 2026-06-03 (Entwurf)<\/p>\n<p>Dieses SoA listet alle 93 Annex-A-Controls (2022) mit Anwendbarkeit, Begründung, Umsetzungsstatus und Verweis auf das umsetzende Dokument. Status: <strong>Umgesetzt / Teilweise / Geplant / N/A<\/strong>. Offene/teilweise Punkte sind im <a href=\"../07_verbesserung/massnahmen-register.md\">Massnahmenregister<\/a> geführt.<\/p>\n<p>Legende Anwendbarkeit: <strong>Ja<\/strong> = anwendbar; <strong>N/A<\/strong> = nicht anwendbar (mit Begründung). Cloud-Betrieb bei Infomaniak (CH): bestimmte physische Controls liegen beim Provider (Anwendbar, \"geerbt\").<\/p>\n<h2>A.5 Organisatorische Controls<\/h2>\n<table><thead><tr><th>Control<\/th><th>Titel<\/th><th>Anwend.<\/th><th>Status<\/th><th>Referenz / Begründung<\/th><\/tr><\/thead><tbody><tr><td>A.5.1<\/td><td>Informationssicherheits-Politiken<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../02_fuehrung/informationssicherheitspolitik.md\">informationssicherheitspolitik.md<\/a><\/td><\/tr><tr><td>A.5.2<\/td><td>Rollen &amp; Verantwortlichkeiten<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../02_fuehrung/rollen-verantwortlichkeiten.md\">rollen-verantwortlichkeiten.md<\/a><\/td><\/tr><tr><td>A.5.3<\/td><td>Aufgabentrennung<\/td><td>Ja<\/td><td>Teilweise<\/td><td>Klein-Team; kompensierend Vier-Augen-Prinzip, externes Audit<\/td><\/tr><tr><td>A.5.4<\/td><td>Verantwortung der Leitung<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../00_IMS-Handbuch.md\">00_IMS-Handbuch.md<\/a>, Management-Review<\/td><\/tr><tr><td>A.5.5<\/td><td>Kontakt zu Behörden<\/td><td>Ja<\/td><td>Geplant<\/td><td>Meldewege (EDOEB/FINMA) in <a href=\"../05_betrieb/07_Incident_Response_und_Meldewesen.md\">Incident Response<\/a> festhalten<\/td><\/tr><tr><td>A.5.6<\/td><td>Kontakt zu Interessengruppen<\/td><td>Ja<\/td><td>Teilweise<\/td><td>Security-Quellen/CERT-Feeds; formalisieren<\/td><\/tr><tr><td>A.5.7<\/td><td>Threat Intelligence<\/td><td>Ja<\/td><td>Teilweise<\/td><td><a href=\"../05_betrieb/10_Schwachstellenmanagement.md\">Schwachstellenmanagement<\/a><\/td><\/tr><tr><td>A.5.8<\/td><td>IS im Projektmanagement<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/15_Sichere_Softwareentwicklung_SDLC.md\">SDLC<\/a>, Tech-Workshop<\/td><\/tr><tr><td>A.5.9<\/td><td>Inventar der Werte (Assets)<\/td><td>Ja<\/td><td>Teilweise<\/td><td><a href=\"../05_betrieb/20260528_drittanbieter-inventar.md\">Drittanbieter-Inventar<\/a>; Asset-Inventar ergänzen<\/td><\/tr><tr><td>A.5.10<\/td><td>Zulässige Nutzung von Werten<\/td><td>Ja<\/td><td>Geplant<\/td><td>Acceptable-Use in IS-Politik konkretisieren<\/td><\/tr><tr><td>A.5.11<\/td><td>Rückgabe von Werten<\/td><td>Ja<\/td><td>Geplant<\/td><td>Offboarding-Checkliste (<a href=\"../05_betrieb/03_Mitarbeitersicherheit_und_Screening.md\">Mitarbeitersicherheit<\/a>)<\/td><\/tr><tr><td>A.5.12<\/td><td>Klassifizierung von Information<\/td><td>Ja<\/td><td>Teilweise<\/td><td>Klassifizierungsschema (Header <code>classification<\/code>); ausweiten<\/td><\/tr><tr><td>A.5.13<\/td><td>Kennzeichnung von Information<\/td><td>Ja<\/td><td>Teilweise<\/td><td>Header-Klassifizierung; Daten-Labeling ergänzen<\/td><\/tr><tr><td>A.5.14<\/td><td>Informationsübertragung<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/04_Verschluesselung_und_Schluesselmanagement.md\">Verschlüsselung<\/a>, TLS, <a href=\"../05_betrieb/neutralisierung-detail.md\">Neutralisierung<\/a><\/td><\/tr><tr><td>A.5.15<\/td><td>Zugangssteuerung<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/02_Zugriffsmanagement_IAM_PAM.md\">Zugriffsmanagement<\/a>, RBAC<\/td><\/tr><tr><td>A.5.16<\/td><td>Identitätsmanagement<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/02_Zugriffsmanagement_IAM_PAM.md\">Zugriffsmanagement<\/a><\/td><\/tr><tr><td>A.5.17<\/td><td>Authentisierungsinformation<\/td><td>Ja<\/td><td>Teilweise<\/td><td>MFA-Status bestätigen (R-03)<\/td><\/tr><tr><td>A.5.18<\/td><td>Zugangsrechte<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/02_Zugriffsmanagement_IAM_PAM.md\">Zugriffsmanagement<\/a><\/td><\/tr><tr><td>A.5.19<\/td><td>IS in Lieferantenbeziehungen<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/17_Subunternehmer_Management.md\">Subunternehmer<\/a><\/td><\/tr><tr><td>A.5.20<\/td><td>IS in Lieferantenvereinbarungen<\/td><td>Ja<\/td><td>Teilweise<\/td><td>AVVs vervollständigen (OpenAI Zero-Retention)<\/td><\/tr><tr><td>A.5.21<\/td><td>IS in der IKT-Lieferkette<\/td><td>Ja<\/td><td>Teilweise<\/td><td><a href=\"../05_betrieb/20260528_drittanbieter-inventar.md\">Drittanbieter-Inventar<\/a><\/td><\/tr><tr><td>A.5.22<\/td><td>Überwachung der Lieferantenleistung<\/td><td>Ja<\/td><td>Geplant<\/td><td>Review-Turnus Lieferanten festlegen<\/td><\/tr><tr><td>A.5.23<\/td><td>IS bei Nutzung von Cloud-Diensten<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td>Infomaniak (CH); <a href=\"../05_betrieb/12_Netzwerk_und_Infrastruktursicherheit.md\">Netzwerk/Infra<\/a><\/td><\/tr><tr><td>A.5.24<\/td><td>Incident-Management Planung<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/07_Incident_Response_und_Meldewesen.md\">Incident Response<\/a><\/td><\/tr><tr><td>A.5.25<\/td><td>Bewertung von IS-Ereignissen<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/07_Incident_Response_und_Meldewesen.md\">Incident Response<\/a><\/td><\/tr><tr><td>A.5.26<\/td><td>Reaktion auf IS-Vorfälle<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/07_Incident_Response_und_Meldewesen.md\">Incident Response<\/a><\/td><\/tr><tr><td>A.5.27<\/td><td>Lernen aus Vorfällen<\/td><td>Ja<\/td><td>Teilweise<\/td><td>Post-Incident-Review -&gt; <a href=\"../07_verbesserung/korrekturmassnahmen-und-kvp.md\">KVP<\/a><\/td><\/tr><tr><td>A.5.28<\/td><td>Sammlung von Beweismitteln<\/td><td>Ja<\/td><td>Teilweise<\/td><td>Logs/Forensik in <a href=\"../05_betrieb/11_Logging_und_Monitoring.md\">Logging<\/a><\/td><\/tr><tr><td>A.5.29<\/td><td>IS während Störung<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/06_Business_Continuity_und_Disaster_Recovery.md\">BCM/DR<\/a><\/td><\/tr><tr><td>A.5.30<\/td><td>IKT-Bereitschaft für BC<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/20260528_bcm_runbook.md\">BCM-Runbook<\/a><\/td><\/tr><tr><td>A.5.31<\/td><td>Gesetzliche &amp; vertragliche Anforderungen<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/18_Analyse_Recht_und_BestPractice.md\">Recht/BestPractice<\/a>, AGB<\/td><\/tr><tr><td>A.5.32<\/td><td>Geistiges Eigentum<\/td><td>Ja<\/td><td>Teilweise<\/td><td>Lizenz-/OSS-Compliance dokumentieren<\/td><\/tr><tr><td>A.5.33<\/td><td>Schutz von Aufzeichnungen<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/13_Datenaufbewahrung_Loeschung_LegalHold.md\">Datenaufbewahrung<\/a><\/td><\/tr><tr><td>A.5.34<\/td><td>Datenschutz &amp; PII-Schutz<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/security-overview.md\">security-overview.md<\/a>, DSGVO-Funktionen<\/td><\/tr><tr><td>A.5.35<\/td><td>Unabhängige IS-Prüfung<\/td><td>Ja<\/td><td>Geplant<\/td><td>Externes <a href=\"../06_bewertung/internes-audit.md\">internes Audit<\/a><\/td><\/tr><tr><td>A.5.36<\/td><td>Konformität mit Politiken<\/td><td>Ja<\/td><td>Teilweise<\/td><td>Audit + Konformitätskontrolle<\/td><\/tr><tr><td>A.5.37<\/td><td>Dokumentierte Betriebsabläufe<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td>Runbooks in <code>05_betrieb/<\/code><\/td><\/tr><\/tbody><\/table>\n<h2>A.6 Personenbezogene Controls<\/h2>\n<table><thead><tr><th>Control<\/th><th>Titel<\/th><th>Anwend.<\/th><th>Status<\/th><th>Referenz / Begründung<\/th><\/tr><\/thead><tbody><tr><td>A.6.1<\/td><td>Sicherheitsüberprüfung (Screening)<\/td><td>Ja<\/td><td>Teilweise<\/td><td><a href=\"../05_betrieb/03_Mitarbeitersicherheit_und_Screening.md\">Mitarbeitersicherheit<\/a>; Hintergrundprüfung klären<\/td><\/tr><tr><td>A.6.2<\/td><td>Arbeitsvertragsbedingungen<\/td><td>Ja<\/td><td>Teilweise<\/td><td>IS-Klauseln in Verträgen ergänzen<\/td><\/tr><tr><td>A.6.3<\/td><td>Awareness, Schulung &amp; Ausbildung<\/td><td>Ja<\/td><td>Geplant<\/td><td><a href=\"../04_unterstuetzung/ressourcen-kompetenz-schulung.md\">Kompetenz/Schulung<\/a><\/td><\/tr><tr><td>A.6.4<\/td><td>Disziplinarverfahren<\/td><td>Ja<\/td><td>Geplant<\/td><td>Verfahren in HR-Doku festhalten<\/td><\/tr><tr><td>A.6.5<\/td><td>Verantwortung nach Beendigung<\/td><td>Ja<\/td><td>Teilweise<\/td><td>Offboarding; NDA-Fortgeltung<\/td><\/tr><tr><td>A.6.6<\/td><td>Vertraulichkeits-/NDA-Vereinbarungen<\/td><td>Ja<\/td><td>Teilweise<\/td><td>NDA-Vorlage sicherstellen<\/td><\/tr><tr><td>A.6.7<\/td><td>Remote-Arbeit<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/02_Zugriffsmanagement_IAM_PAM.md\">Zugriffsmanagement<\/a>, VPN/Geräte<\/td><\/tr><tr><td>A.6.8<\/td><td>Meldung von IS-Ereignissen<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/07_Incident_Response_und_Meldewesen.md\">Incident Response<\/a><\/td><\/tr><\/tbody><\/table>\n<h2>A.7 Physische Controls<\/h2>\n<p>Eigene Büro-Infrastruktur minimal (Remote-Team); Rechenzentrums-Controls liegen beim Cloud-Provider Infomaniak (CH) und werden über dessen Zertifizierungen (ISO 27001) geerbt.<\/p>\n<table><thead><tr><th>Control<\/th><th>Titel<\/th><th>Anwend.<\/th><th>Status<\/th><th>Referenz / Begründung<\/th><\/tr><\/thead><tbody><tr><td>A.7.1<\/td><td>Physische Sicherheitsperimeter<\/td><td>Ja (geerbt)<\/td><td>Umgesetzt<\/td><td>Infomaniak RZ-Zertifizierung<\/td><\/tr><tr><td>A.7.2<\/td><td>Physischer Zutritt<\/td><td>Ja (geerbt)<\/td><td>Umgesetzt<\/td><td>Infomaniak<\/td><\/tr><tr><td>A.7.3<\/td><td>Sicherung von Büros/Räumen<\/td><td>Ja<\/td><td>Teilweise<\/td><td>Home-/Büro-Grundschutz<\/td><\/tr><tr><td>A.7.4<\/td><td>Physische Überwachung<\/td><td>Ja (geerbt)<\/td><td>Umgesetzt<\/td><td>Infomaniak<\/td><\/tr><tr><td>A.7.5<\/td><td>Schutz vor physischen/umweltbed. Bedrohungen<\/td><td>Ja (geerbt)<\/td><td>Umgesetzt<\/td><td>Infomaniak<\/td><\/tr><tr><td>A.7.6<\/td><td>Arbeiten in Sicherheitsbereichen<\/td><td>N/A<\/td><td>N/A<\/td><td>Keine eigenen Sicherheitsbereiche<\/td><\/tr><tr><td>A.7.7<\/td><td>Clear Desk / Clear Screen<\/td><td>Ja<\/td><td>Geplant<\/td><td>Regel in IS-Politik aufnehmen<\/td><\/tr><tr><td>A.7.8<\/td><td>Platzierung &amp; Schutz von Geräten<\/td><td>Ja<\/td><td>Teilweise<\/td><td>Endgeräte-Richtlinie<\/td><\/tr><tr><td>A.7.9<\/td><td>Schutz von Werten ausserhalb<\/td><td>Ja<\/td><td>Teilweise<\/td><td>Geräteverschlüsselung<\/td><\/tr><tr><td>A.7.10<\/td><td>Speichermedien<\/td><td>Ja<\/td><td>Teilweise<\/td><td>Verschlüsselung, sichere Löschung<\/td><\/tr><tr><td>A.7.11<\/td><td>Versorgungseinrichtungen<\/td><td>Ja (geerbt)<\/td><td>Umgesetzt<\/td><td>Infomaniak<\/td><\/tr><tr><td>A.7.12<\/td><td>Verkabelungssicherheit<\/td><td>Ja (geerbt)<\/td><td>Umgesetzt<\/td><td>Infomaniak<\/td><\/tr><tr><td>A.7.13<\/td><td>Instandhaltung von Geräten<\/td><td>Ja<\/td><td>Teilweise<\/td><td>Patch/Wartung Endgeräte<\/td><\/tr><tr><td>A.7.14<\/td><td>Sichere Entsorgung/Wiederverwendung<\/td><td>Ja<\/td><td>Geplant<\/td><td>Lösch-/Entsorgungsregel<\/td><\/tr><\/tbody><\/table>\n<h2>A.8 Technologische Controls<\/h2>\n<table><thead><tr><th>Control<\/th><th>Titel<\/th><th>Anwend.<\/th><th>Status<\/th><th>Referenz / Begründung<\/th><\/tr><\/thead><tbody><tr><td>A.8.1<\/td><td>Endgeräte der Nutzer<\/td><td>Ja<\/td><td>Teilweise<\/td><td>Endgeräte-Richtlinie, Verschlüsselung<\/td><\/tr><tr><td>A.8.2<\/td><td>Privilegierte Zugangsrechte<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/02_Zugriffsmanagement_IAM_PAM.md\">Zugriffsmanagement<\/a><\/td><\/tr><tr><td>A.8.3<\/td><td>Informationszugriffsbeschränkung<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td>RBAC, Mandantentrennung<\/td><\/tr><tr><td>A.8.4<\/td><td>Zugriff auf Quellcode<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td>Forgejo-RBAC<\/td><\/tr><tr><td>A.8.5<\/td><td>Sichere Authentisierung<\/td><td>Ja<\/td><td>Teilweise<\/td><td>MFA bestätigen (R-03)<\/td><\/tr><tr><td>A.8.6<\/td><td>Kapazitätsmanagement<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/16_Kapazitaetsmanagement.md\">Kapazitätsmanagement<\/a><\/td><\/tr><tr><td>A.8.7<\/td><td>Schutz vor Schadsoftware<\/td><td>Ja<\/td><td>Teilweise<\/td><td>Endpoint-Schutz, Dependency-Scans<\/td><\/tr><tr><td>A.8.8<\/td><td>Management techn. Schwachstellen<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/10_Schwachstellenmanagement.md\">Schwachstellen<\/a>, <a href=\"../05_betrieb/09_Patch_Management.md\">Patch<\/a><\/td><\/tr><tr><td>A.8.9<\/td><td>Konfigurationsmanagement<\/td><td>Ja<\/td><td>Teilweise<\/td><td>.env-Trennung; IaC/Konformität ausbauen<\/td><\/tr><tr><td>A.8.10<\/td><td>Löschung von Information<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/13_Datenaufbewahrung_Loeschung_LegalHold.md\">Datenaufbewahrung<\/a>, DSGVO-Löschung<\/td><\/tr><tr><td>A.8.11<\/td><td>Datenmaskierung<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/neutralisierung-detail.md\">Neutralisierung<\/a><\/td><\/tr><tr><td>A.8.12<\/td><td>Verhinderung von Datenabfluss<\/td><td>Ja<\/td><td>Teilweise<\/td><td>Neutralisierung, Read-only DB-Zugriff KI<\/td><\/tr><tr><td>A.8.13<\/td><td>Sicherung (Backup)<\/td><td>Ja<\/td><td>Teilweise<\/td><td><a href=\"../05_betrieb/05_Backup_und_Wiederherstellung.md\">Backup<\/a>; Restore-Test offen (R-04)<\/td><\/tr><tr><td>A.8.14<\/td><td>Redundanz von Verarbeitungseinrichtungen<\/td><td>Ja<\/td><td>Teilweise<\/td><td>Provider-Redundanz; dokumentieren<\/td><\/tr><tr><td>A.8.15<\/td><td>Protokollierung (Logging)<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/11_Logging_und_Monitoring.md\">Logging &amp; Monitoring<\/a><\/td><\/tr><tr><td>A.8.16<\/td><td>Überwachung von Aktivitäten<\/td><td>Ja<\/td><td>Teilweise<\/td><td>Monitoring ausbauen<\/td><\/tr><tr><td>A.8.17<\/td><td>Uhrzeitsynchronisation<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td>NTP (Infra)<\/td><\/tr><tr><td>A.8.18<\/td><td>Nutzung privilegierter Hilfsprogramme<\/td><td>Ja<\/td><td>Teilweise<\/td><td>Einschränkung/Protokollierung<\/td><\/tr><tr><td>A.8.19<\/td><td>Software-Installation auf Betriebssystemen<\/td><td>Ja<\/td><td>Teilweise<\/td><td>Deployment über CI/CD<\/td><\/tr><tr><td>A.8.20<\/td><td>Netzwerksicherheit<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/12_Netzwerk_und_Infrastruktursicherheit.md\">Netzwerk/Infra<\/a><\/td><\/tr><tr><td>A.8.21<\/td><td>Sicherheit von Netzwerkdiensten<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td>TLS, Reverse Proxy<\/td><\/tr><tr><td>A.8.22<\/td><td>Trennung von Netzwerken<\/td><td>Ja<\/td><td>Teilweise<\/td><td>Umgebungstrennung prod/int<\/td><\/tr><tr><td>A.8.23<\/td><td>Web-Filterung<\/td><td>Ja<\/td><td>Teilweise<\/td><td>CORS, Egress-Kontrolle<\/td><\/tr><tr><td>A.8.24<\/td><td>Nutzung von Kryptographie<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/04_Verschluesselung_und_Schluesselmanagement.md\">Verschlüsselung &amp; Schlüsselmgmt<\/a><\/td><\/tr><tr><td>A.8.25<\/td><td>Sicherer Entwicklungslebenszyklus<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/15_Sichere_Softwareentwicklung_SDLC.md\">SDLC<\/a><\/td><\/tr><tr><td>A.8.26<\/td><td>Anforderungen an Anwendungssicherheit<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/15_Sichere_Softwareentwicklung_SDLC.md\">SDLC<\/a><\/td><\/tr><tr><td>A.8.27<\/td><td>Sichere Systemarchitektur &amp; Engineering<\/td><td>Ja<\/td><td>Teilweise<\/td><td>Architektur-Prinzipien dokumentieren<\/td><\/tr><tr><td>A.8.28<\/td><td>Sicheres Codieren<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../../../d-guides/coding-conventions.md\">Coding-Conventions<\/a>, Review<\/td><\/tr><tr><td>A.8.29<\/td><td>Sicherheitstests in Entw./Abnahme<\/td><td>Ja<\/td><td>Teilweise<\/td><td><a href=\"../../../d-guides/testing-strategy.md\">Testing-Strategie<\/a>, Staging-Verifikation<\/td><\/tr><tr><td>A.8.30<\/td><td>Ausgelagerte Entwicklung<\/td><td>N/A<\/td><td>N/A<\/td><td>Keine ausgelagerte Entwicklung<\/td><\/tr><tr><td>A.8.31<\/td><td>Trennung Entw./Test/Produktion<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td>env-prod/env-int, Staging<\/td><\/tr><tr><td>A.8.32<\/td><td>Change Management<\/td><td>Ja<\/td><td>Umgesetzt<\/td><td><a href=\"../05_betrieb/08_Change_Management.md\">Change Management<\/a><\/td><\/tr><tr><td>A.8.33<\/td><td>Testinformation<\/td><td>Ja<\/td><td>Geplant<\/td><td>Umgang mit Produktivdaten in Test klären<\/td><\/tr><tr><td>A.8.34<\/td><td>Schutz von Systemen bei Audit-Tests<\/td><td>Ja<\/td><td>Teilweise<\/td><td>Auditzugriffe kontrolliert<\/td><\/tr><\/tbody><\/table>\n<h2>Pflege<\/h2>\n<p>Bei jeder wesentlichen Änderung von Controls/Risiken aktualisieren. Das SoA wird im <a href=\"../06_bewertung/management-review.md\">Management-Review<\/a> bestätigt. Teilweise/Geplant-Einträge spiegeln sich im <a href=\"../07_verbesserung/massnahmen-register.md\">Massnahmenregister<\/a>.<\/p>", "text": "<!-- docid: ims-06-03 --> <!-- status: entwurf --> <!-- version: 0.1 --> <!-- owner: patrick motsch --> <!-- approver: geschäftsführung poweron ag --> <!-- approveddate: --> <!-- nextreview: 2026-12-03 --> <!-- classification: vertraulich --> <!-- isorefs: 27001:6.1.3,annexa --> # statement of applicability (soa) -- iso/iec 27001:2022 annex a **dokumenttyp:** pflichtdokument (iso 27001 6.1.3 d) **stand:** 2026-06-03 (entwurf) dieses soa listet alle 93 annex-a-controls (2022) mit anwendbarkeit, begründung, umsetzungsstatus und verweis auf das umsetzende dokument. status: **umgesetzt / teilweise / geplant / n/a**. offene/teilweise punkte sind im [massnahmenregister](../07_verbesserung/massnahmen-register.md) geführt. legende anwendbarkeit: **ja** = anwendbar; **n/a** = nicht anwendbar (mit begründung). cloud-betrieb bei infomaniak (ch): bestimmte physische controls liegen beim provider (anwendbar, \"geerbt\"). ## a.5 organisatorische controls | control | titel | anwend. | status | referenz / begründung | |---|---|---|---|---| | a.5.1 | informationssicherheits-politiken | ja | umgesetzt | [informationssicherheitspolitik.md](../02_fuehrung/informationssicherheitspolitik.md) | | a.5.2 | rollen & verantwortlichkeiten | ja | umgesetzt | [rollen-verantwortlichkeiten.md](../02_fuehrung/rollen-verantwortlichkeiten.md) | | a.5.3 | aufgabentrennung | ja | teilweise | klein-team; kompensierend vier-augen-prinzip, externes audit | | a.5.4 | verantwortung der leitung | ja | umgesetzt | [00_ims-handbuch.md](../00_ims-handbuch.md), management-review | | a.5.5 | kontakt zu behörden | ja | geplant | meldewege (edoeb/finma) in [incident response](../05_betrieb/07_incident_response_und_meldewesen.md) festhalten | | a.5.6 | kontakt zu interessengruppen | ja | teilweise | security-quellen/cert-feeds; formalisieren | | a.5.7 | threat intelligence | ja | teilweise | [schwachstellenmanagement](../05_betrieb/10_schwachstellenmanagement.md) | | a.5.8 | is im projektmanagement | ja | umgesetzt | [sdlc](../05_betrieb/15_sichere_softwareentwicklung_sdlc.md), tech-workshop | | a.5.9 | inventar der werte (assets) | ja | teilweise | [drittanbieter-inventar](../05_betrieb/20260528_drittanbieter-inventar.md); asset-inventar ergänzen | | a.5.10 | zulässige nutzung von werten | ja | geplant | acceptable-use in is-politik konkretisieren | | a.5.11 | rückgabe von werten | ja | geplant | offboarding-checkliste ([mitarbeitersicherheit](../05_betrieb/03_mitarbeitersicherheit_und_screening.md)) | | a.5.12 | klassifizierung von information | ja | teilweise | klassifizierungsschema (header `classification`); ausweiten | | a.5.13 | kennzeichnung von information | ja | teilweise | header-klassifizierung; daten-labeling ergänzen | | a.5.14 | informationsübertragung | ja | umgesetzt | [verschlüsselung](../05_betrieb/04_verschluesselung_und_schluesselmanagement.md), tls, [neutralisierung](../05_betrieb/neutralisierung-detail.md) | | a.5.15 | zugangssteuerung | ja | umgesetzt | [zugriffsmanagement](../05_betrieb/02_zugriffsmanagement_iam_pam.md), rbac | | a.5.16 | identitätsmanagement | ja | umgesetzt | [zugriffsmanagement](../05_betrieb/02_zugriffsmanagement_iam_pam.md) | | a.5.17 | authentisierungsinformation | ja | teilweise | mfa-status bestätigen (r-03) | | a.5.18 | zugangsrechte | ja | umgesetzt | [zugriffsmanagement](../05_betrieb/02_zugriffsmanagement_iam_pam.md) | | a.5.19 | is in lieferantenbeziehungen | ja | umgesetzt | [subunternehmer](../05_betrieb/17_subunternehmer_management.md) | | a.5.20 | is in lieferantenvereinbarungen | ja | teilweise | avvs vervollständigen (openai zero-retention) | | a.5.21 | is in der ikt-lieferkette | ja | teilweise | [drittanbieter-inventar](../05_betrieb/20260528_drittanbieter-inventar.md) | | a.5.22 | überwachung der lieferantenleistung | ja | geplant | review-turnus lieferanten festlegen | | a.5.23 | is bei nutzung von cloud-diensten | ja | umgesetzt | infomaniak (ch); [netzwerk/infra](../05_betrieb/12_netzwerk_und_infrastruktursicherheit.md) | | a.5.24 | incident-management planung | ja | umgesetzt | [incident response](../05_betrieb/07_incident_response_und_meldewesen.md) | | a.5.25 | bewertung von is-ereignissen | ja | umgesetzt | [incident response](../05_betrieb/07_incident_response_und_meldewesen.md) | | a.5.26 | reaktion auf is-vorfälle | ja | umgesetzt | [incident response](../05_betrieb/07_incident_response_und_meldewesen.md) | | a.5.27 | lernen aus vorfällen | ja | teilweise | post-incident-review -> [kvp](../07_verbesserung/korrekturmassnahmen-und-kvp.md) | | a.5.28 | sammlung von beweismitteln | ja | teilweise | logs/forensik in [logging](../05_betrieb/11_logging_und_monitoring.md) | | a.5.29 | is während störung | ja | umgesetzt | [bcm/dr](../05_betrieb/06_business_continuity_und_disaster_recovery.md) | | a.5.30 | ikt-bereitschaft für bc | ja | umgesetzt | [bcm-runbook](../05_betrieb/20260528_bcm_runbook.md) | | a.5.31 | gesetzliche & vertragliche anforderungen | ja | umgesetzt | [recht/bestpractice](../05_betrieb/18_analyse_recht_und_bestpractice.md), agb | | a.5.32 | geistiges eigentum | ja | teilweise | lizenz-/oss-compliance dokumentieren | | a.5.33 | schutz von aufzeichnungen | ja | umgesetzt | [datenaufbewahrung](../05_betrieb/13_datenaufbewahrung_loeschung_legalhold.md) | | a.5.34 | datenschutz & pii-schutz | ja | umgesetzt | [security-overview.md](../05_betrieb/security-overview.md), dsgvo-funktionen | | a.5.35 | unabhängige is-prüfung | ja | geplant | externes [internes audit](../06_bewertung/internes-audit.md) | | a.5.36 | konformität mit politiken | ja | teilweise | audit + konformitätskontrolle | | a.5.37 | dokumentierte betriebsabläufe | ja | umgesetzt | runbooks in `05_betrieb/` | ## a.6 personenbezogene controls | control | titel | anwend. | status | referenz / begründung | |---|---|---|---|---| | a.6.1 | sicherheitsüberprüfung (screening) | ja | teilweise | [mitarbeitersicherheit](../05_betrieb/03_mitarbeitersicherheit_und_screening.md); hintergrundprüfung klären | | a.6.2 | arbeitsvertragsbedingungen | ja | teilweise | is-klauseln in verträgen ergänzen | | a.6.3 | awareness, schulung & ausbildung | ja | geplant | [kompetenz/schulung](../04_unterstuetzung/ressourcen-kompetenz-schulung.md) | | a.6.4 | disziplinarverfahren | ja | geplant | verfahren in hr-doku festhalten | | a.6.5 | verantwortung nach beendigung | ja | teilweise | offboarding; nda-fortgeltung | | a.6.6 | vertraulichkeits-/nda-vereinbarungen | ja | teilweise | nda-vorlage sicherstellen | | a.6.7 | remote-arbeit | ja | umgesetzt | [zugriffsmanagement](../05_betrieb/02_zugriffsmanagement_iam_pam.md), vpn/geräte | | a.6.8 | meldung von is-ereignissen | ja | umgesetzt | [incident response](../05_betrieb/07_incident_response_und_meldewesen.md) | ## a.7 physische controls eigene büro-infrastruktur minimal (remote-team); rechenzentrums-controls liegen beim cloud-provider infomaniak (ch) und werden über dessen zertifizierungen (iso 27001) geerbt. | control | titel | anwend. | status | referenz / begründung | |---|---|---|---|---| | a.7.1 | physische sicherheitsperimeter | ja (geerbt) | umgesetzt | infomaniak rz-zertifizierung | | a.7.2 | physischer zutritt | ja (geerbt) | umgesetzt | infomaniak | | a.7.3 | sicherung von büros/räumen | ja | teilweise | home-/büro-grundschutz | | a.7.4 | physische überwachung | ja (geerbt) | umgesetzt | infomaniak | | a.7.5 | schutz vor physischen/umweltbed. bedrohungen | ja (geerbt) | umgesetzt | infomaniak | | a.7.6 | arbeiten in sicherheitsbereichen | n/a | n/a | keine eigenen sicherheitsbereiche | | a.7.7 | clear desk / clear screen | ja | geplant | regel in is-politik aufnehmen | | a.7.8 | platzierung & schutz von geräten | ja | teilweise | endgeräte-richtlinie | | a.7.9 | schutz von werten ausserhalb | ja | teilweise | geräteverschlüsselung | | a.7.10 | speichermedien | ja | teilweise | verschlüsselung, sichere löschung | | a.7.11 | versorgungseinrichtungen | ja (geerbt) | umgesetzt | infomaniak | | a.7.12 | verkabelungssicherheit | ja (geerbt) | umgesetzt | infomaniak | | a.7.13 | instandhaltung von geräten | ja | teilweise | patch/wartung endgeräte | | a.7.14 | sichere entsorgung/wiederverwendung | ja | geplant | lösch-/entsorgungsregel | ## a.8 technologische controls | control | titel | anwend. | status | referenz / begründung | |---|---|---|---|---| | a.8.1 | endgeräte der nutzer | ja | teilweise | endgeräte-richtlinie, verschlüsselung | | a.8.2 | privilegierte zugangsrechte | ja | umgesetzt | [zugriffsmanagement](../05_betrieb/02_zugriffsmanagement_iam_pam.md) | | a.8.3 | informationszugriffsbeschränkung | ja | umgesetzt | rbac, mandantentrennung | | a.8.4 | zugriff auf quellcode | ja | umgesetzt | forgejo-rbac | | a.8.5 | sichere authentisierung | ja | teilweise | mfa bestätigen (r-03) | | a.8.6 | kapazitätsmanagement | ja | umgesetzt | [kapazitätsmanagement](../05_betrieb/16_kapazitaetsmanagement.md) | | a.8.7 | schutz vor schadsoftware | ja | teilweise | endpoint-schutz, dependency-scans | | a.8.8 | management techn. schwachstellen | ja | umgesetzt | [schwachstellen](../05_betrieb/10_schwachstellenmanagement.md), [patch](../05_betrieb/09_patch_management.md) | | a.8.9 | konfigurationsmanagement | ja | teilweise | .env-trennung; iac/konformität ausbauen | | a.8.10 | löschung von information | ja | umgesetzt | [datenaufbewahrung](../05_betrieb/13_datenaufbewahrung_loeschung_legalhold.md), dsgvo-löschung | | a.8.11 | datenmaskierung | ja | umgesetzt | [neutralisierung](../05_betrieb/neutralisierung-detail.md) | | a.8.12 | verhinderung von datenabfluss | ja | teilweise | neutralisierung, read-only db-zugriff ki | | a.8.13 | sicherung (backup) | ja | teilweise | [backup](../05_betrieb/05_backup_und_wiederherstellung.md); restore-test offen (r-04) | | a.8.14 | redundanz von verarbeitungseinrichtungen | ja | teilweise | provider-redundanz; dokumentieren | | a.8.15 | protokollierung (logging) | ja | umgesetzt | [logging & monitoring](../05_betrieb/11_logging_und_monitoring.md) | | a.8.16 | überwachung von aktivitäten | ja | teilweise | monitoring ausbauen | | a.8.17 | uhrzeitsynchronisation | ja | umgesetzt | ntp (infra) | | a.8.18 | nutzung privilegierter hilfsprogramme | ja | teilweise | einschränkung/protokollierung | | a.8.19 | software-installation auf betriebssystemen | ja | teilweise | deployment über ci/cd | | a.8.20 | netzwerksicherheit | ja | umgesetzt | [netzwerk/infra](../05_betrieb/12_netzwerk_und_infrastruktursicherheit.md) | | a.8.21 | sicherheit von netzwerkdiensten | ja | umgesetzt | tls, reverse proxy | | a.8.22 | trennung von netzwerken | ja | teilweise | umgebungstrennung prod/int | | a.8.23 | web-filterung | ja | teilweise | cors, egress-kontrolle | | a.8.24 | nutzung von kryptographie | ja | umgesetzt | [verschlüsselung & schlüsselmgmt](../05_betrieb/04_verschluesselung_und_schluesselmanagement.md) | | a.8.25 | sicherer entwicklungslebenszyklus | ja | umgesetzt | [sdlc](../05_betrieb/15_sichere_softwareentwicklung_sdlc.md) | | a.8.26 | anforderungen an anwendungssicherheit | ja | umgesetzt | [sdlc](../05_betrieb/15_sichere_softwareentwicklung_sdlc.md) | | a.8.27 | sichere systemarchitektur & engineering | ja | teilweise | architektur-prinzipien dokumentieren | | a.8.28 | sicheres codieren | ja | umgesetzt | [coding-conventions](../../../d-guides/coding-conventions.md), review | | a.8.29 | sicherheitstests in entw./abnahme | ja | teilweise | [testing-strategie](../../../d-guides/testing-strategy.md), staging-verifikation | | a.8.30 | ausgelagerte entwicklung | n/a | n/a | keine ausgelagerte entwicklung | | a.8.31 | trennung entw./test/produktion | ja | umgesetzt | env-prod/env-int, staging | | a.8.32 | change management | ja | umgesetzt | [change management](../05_betrieb/08_change_management.md) | | a.8.33 | testinformation | ja | geplant | umgang mit produktivdaten in test klären | | a.8.34 | schutz von systemen bei audit-tests | ja | teilweise | auditzugriffe kontrolliert | ## pflege bei jeder wesentlichen änderung von controls/risiken aktualisieren. das soa wird im [management-review](../06_bewertung/management-review.md) bestätigt. teilweise/geplant-einträge spiegeln sich im [massnahmenregister](../07_verbesserung/massnahmen-register.md). ", "nextReview": "2026-12-03", "overdueReview": false, "zuPruefen": []}, {"id": "03_planung/ziele-und-kennzahlen.md", "path": "03_planung/ziele-und-kennzahlen.md", "chapter": "03_planung", "title": "Ziele & Kennzahlen (Qualität und Informationssicherheit)", "filename": "ziele-und-kennzahlen.md", "meta": {"docId": "IMS-06-04", "status": "entwurf", "version": "0.1", "owner": "Patrick Motsch", "approver": "Geschäftsführung PowerOn AG", "approvedDate": "", "nextReview": "2027-06-03", "classification": "intern", "isoRefs": "9001:6.2; 27001:6.2,9.1"}, "html": "<h1>Ziele &amp; Kennzahlen (Qualität und Informationssicherheit)<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Pflichtdokument (ISO 9001 6.2 / ISO 27001 6.2) <strong>Messperiode:<\/strong> Kalenderjahr 2026 (Erstfestlegung)<\/p>\n<p>Ziele sind messbar, terminiert und einem Owner zugeordnet. Die Messung erfolgt gemäss <a href=\"../06_bewertung/monitoring-messung.md\">Monitoring &amp; Messung<\/a>; Bewertung im <a href=\"../06_bewertung/management-review.md\">Management-Review<\/a>.<\/p>\n<h2>1. Qualitätsziele (ISO 9001)<\/h2>\n<table><thead><tr><th>ID<\/th><th>Ziel<\/th><th>Kennzahl (KPI)<\/th><th>Zielwert<\/th><th>Owner<\/th><\/tr><\/thead><tbody><tr><td>Q-1<\/td><td>Stabile Releases<\/td><td>Anteil Releases ohne Rollback/Hotfix &lt; 48h<\/td><td>&gt;= 95 %<\/td><td>Patrick Motsch<\/td><\/tr><tr><td>Q-2<\/td><td>Schnelle Fehlerbehebung<\/td><td>Einhaltung Bug-SLOs (kritisch 24h)<\/td><td>&gt;= 90 %<\/td><td>Patrick Motsch<\/td><\/tr><tr><td>Q-3<\/td><td>Nachvollziehbarkeit<\/td><td>Releases mit vollständigen Release Notes/CHANGELOG<\/td><td>100 %<\/td><td>Patrick Motsch<\/td><\/tr><tr><td>Q-4<\/td><td>Kundenzufriedenheit<\/td><td>Bearbeitete Support-Tickets in SLA<\/td><td>&gt;= 90 %<\/td><td>Patrick Motsch<\/td><\/tr><\/tbody><\/table>\n<h2>2. Informationssicherheitsziele (ISO 27001)<\/h2>\n<table><thead><tr><th>ID<\/th><th>Ziel<\/th><th>Kennzahl (KPI)<\/th><th>Zielwert<\/th><th>Owner<\/th><\/tr><\/thead><tbody><tr><td>S-1<\/td><td>Risiken unter Kontrolle<\/td><td>Offene Risiken Klasse hoch+<\/td><td>0 unbehandelt<\/td><td>Patrick Motsch<\/td><\/tr><tr><td>S-2<\/td><td>Aktuelle Systeme<\/td><td>Kritische Schwachstellen gepatcht innert SLA<\/td><td>100 %<\/td><td>Patrick Motsch<\/td><\/tr><tr><td>S-3<\/td><td>Wiederherstellbarkeit<\/td><td>Erfolgreiche Restore-Tests pro Jahr<\/td><td>&gt;= 2<\/td><td>Patrick Motsch<\/td><\/tr><tr><td>S-4<\/td><td>Zugriffssicherheit<\/td><td>Admin-/Server-Zugänge mit MFA<\/td><td>100 %<\/td><td>Patrick Motsch<\/td><\/tr><tr><td>S-5<\/td><td>Awareness<\/td><td>Mitarbeitende mit jährlicher IS-Schulung<\/td><td>100 %<\/td><td>Patrick Motsch<\/td><\/tr><tr><td>S-6<\/td><td>Vorfallreaktion<\/td><td>Incidents innerhalb Zielreaktionszeit behandelt<\/td><td>&gt;= 95 %<\/td><td>Patrick Motsch<\/td><\/tr><\/tbody><\/table>\n<h2>3. IMS-Aufbauziel (2026)<\/h2>\n<table><thead><tr><th>ID<\/th><th>Ziel<\/th><th>Kennzahl<\/th><th>Zielwert<\/th><th>Termin<\/th><\/tr><\/thead><tbody><tr><td>IMS-1<\/td><td>Gelebtes, audit-reifes IMS<\/td><td>1 internes Audit + 1 Management-Review durchgeführt<\/td><td>erfüllt<\/td><td>2026 Q3<\/td><\/tr><tr><td>IMS-2<\/td><td>Dokumentenpflege<\/td><td>Dokumente ohne überfälliges Review<\/td><td>100 %<\/td><td>laufend<\/td><\/tr><\/tbody><\/table>\n<h2>4. Pflege<\/h2>\n<p>Zielwerte werden jährlich im Management-Review überprüft und neu festgelegt. Abweichungen lösen Massnahmen im <a href=\"../07_verbesserung/massnahmen-register.md\">Massnahmenregister<\/a> aus.<\/p>", "text": "<!-- docid: ims-06-04 --> <!-- status: entwurf --> <!-- version: 0.1 --> <!-- owner: patrick motsch --> <!-- approver: geschäftsführung poweron ag --> <!-- approveddate: --> <!-- nextreview: 2027-06-03 --> <!-- classification: intern --> <!-- isorefs: 9001:6.2; 27001:6.2,9.1 --> # ziele & kennzahlen (qualität und informationssicherheit) **dokumenttyp:** pflichtdokument (iso 9001 6.2 / iso 27001 6.2) **messperiode:** kalenderjahr 2026 (erstfestlegung) ziele sind messbar, terminiert und einem owner zugeordnet. die messung erfolgt gemäss [monitoring & messung](../06_bewertung/monitoring-messung.md); bewertung im [management-review](../06_bewertung/management-review.md). ## 1. qualitätsziele (iso 9001) | id | ziel | kennzahl (kpi) | zielwert | owner | |---|---|---|---|---| | q-1 | stabile releases | anteil releases ohne rollback/hotfix < 48h | >= 95 % | patrick motsch | | q-2 | schnelle fehlerbehebung | einhaltung bug-slos (kritisch 24h) | >= 90 % | patrick motsch | | q-3 | nachvollziehbarkeit | releases mit vollständigen release notes/changelog | 100 % | patrick motsch | | q-4 | kundenzufriedenheit | bearbeitete support-tickets in sla | >= 90 % | patrick motsch | ## 2. informationssicherheitsziele (iso 27001) | id | ziel | kennzahl (kpi) | zielwert | owner | |---|---|---|---|---| | s-1 | risiken unter kontrolle | offene risiken klasse hoch+ | 0 unbehandelt | patrick motsch | | s-2 | aktuelle systeme | kritische schwachstellen gepatcht innert sla | 100 % | patrick motsch | | s-3 | wiederherstellbarkeit | erfolgreiche restore-tests pro jahr | >= 2 | patrick motsch | | s-4 | zugriffssicherheit | admin-/server-zugänge mit mfa | 100 % | patrick motsch | | s-5 | awareness | mitarbeitende mit jährlicher is-schulung | 100 % | patrick motsch | | s-6 | vorfallreaktion | incidents innerhalb zielreaktionszeit behandelt | >= 95 % | patrick motsch | ## 3. ims-aufbauziel (2026) | id | ziel | kennzahl | zielwert | termin | |---|---|---|---|---| | ims-1 | gelebtes, audit-reifes ims | 1 internes audit + 1 management-review durchgeführt | erfüllt | 2026 q3 | | ims-2 | dokumentenpflege | dokumente ohne überfälliges review | 100 % | laufend | ## 4. pflege zielwerte werden jährlich im management-review überprüft und neu festgelegt. abweichungen lösen massnahmen im [massnahmenregister](../07_verbesserung/massnahmen-register.md) aus. ", "nextReview": "2027-06-03", "overdueReview": false, "zuPruefen": []}, {"id": "04_unterstuetzung/dokumentenlenkung.md", "path": "04_unterstuetzung/dokumentenlenkung.md", "chapter": "04_unterstuetzung", "title": "Lenkung dokumentierter Information", "filename": "dokumentenlenkung.md", "meta": {"docId": "IMS-07-03", "status": "entwurf", "version": "0.1", "owner": "Patrick Motsch", "approver": "Geschäftsführung PowerOn AG", "approvedDate": "", "nextReview": "2027-06-03", "classification": "intern", "isoRefs": "9001:7.5; 27001:7.5"}, "html": "<h1>Lenkung dokumentierter Information<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Verfahren <strong>Geltungsbereich:<\/strong> Alle gelenkten Dokumente des IMS<\/p>\n<p>ISO 9001:2015 Kap. 7.5 und ISO/IEC 27001:2022 Kap. 7.5 verlangen, dass dokumentierte Information erstellt, freigegeben, aktuell gehalten, geschuetzt und gelenkt wird. Dieses Verfahren beschreibt, wie PowerOn das umsetzt -- bewusst schlank und werkzeuggestützt über Git/Forgejo.<\/p>\n<h2>1. Einheitlicher Metadaten-Header<\/h2>\n<p>Jedes gelenkte IMS-Dokument beginnt mit folgendem Header (HTML-Kommentar, im gerenderten Markdown unsichtbar, vom Cockpit ausgewertet):<\/p>\n<pre class=\"code\"><code>&lt;!-- docId: IMS-XX --&gt;\n&lt;!-- status: entwurf | freigegeben | abgelöst --&gt;\n&lt;!-- version: 0.1 --&gt;\n&lt;!-- owner: &lt;Name&gt; --&gt;\n&lt;!-- approver: &lt;Name/Gremium&gt; --&gt;\n&lt;!-- approvedDate: YYYY-MM-DD --&gt;\n&lt;!-- nextReview: YYYY-MM-DD --&gt;\n&lt;!-- classification: öffentlich | intern | vertraulich --&gt;\n&lt;!-- isoRefs: 9001:&lt;klausel&gt;; 27001:&lt;klausel/AnnexA&gt; --&gt;<\/code><\/pre>\n<table><thead><tr><th>Feld<\/th><th>Bedeutung<\/th><\/tr><\/thead><tbody><tr><td><code>docId<\/code><\/td><td>Eindeutige Dokument-ID (Schema: <code>IMS-&lt;Kapitel&gt;-&lt;Laufnr&gt;<\/code>)<\/td><\/tr><tr><td><code>status<\/code><\/td><td><code>entwurf<\/code> (in Arbeit), <code>freigegeben<\/code> (gültig), <code>abgelöst<\/code> (ersetzt/veraltet)<\/td><\/tr><tr><td><code>version<\/code><\/td><td>Semantisch: 0.x = Entwurf, ab 1.0 = freigegeben; Minor bei inhaltlichen Änderungen<\/td><\/tr><tr><td><code>owner<\/code><\/td><td>Fachlich verantwortliche Person (Pflege)<\/td><\/tr><tr><td><code>approver<\/code><\/td><td>Freigebende Person/Gremium<\/td><\/tr><tr><td><code>approvedDate<\/code><\/td><td>Datum der letzten Freigabe<\/td><\/tr><tr><td><code>nextReview<\/code><\/td><td>Spätestes nächstes Review (Standard: +12 Monate)<\/td><\/tr><tr><td><code>classification<\/code><\/td><td>Schutzbedarf gemäss IS-Politik<\/td><\/tr><tr><td><code>isoRefs<\/code><\/td><td>Abgedeckte Normklauseln/Annex-A-Controls<\/td><\/tr><\/tbody><\/table>\n<h2>2. Lebenszyklus<\/h2>\n<pre class=\"mermaid\">flowchart LR\n draft[\"entwurf (0.x)\"] --&gt;|\"PR-Review + Freigabe\"| released[\"freigegeben (&gt;=1.0)\"]\n released --&gt;|\"Änderung\"| draft\n released --&gt;|\"ersetzt durch Nachfolger\"| retired[\"abgelöst\"]<\/pre>\n<ol><li><strong>Erstellen/Ändern:<\/strong> Auf Branch, Inhalt + Header pflegen.<\/li><li><strong>Freigabe:<\/strong> Pull Request mit Review durch zweite Person (Vier-Augen-Prinzip); Merge = Freigabe. <code>status<\/code> -&gt; <code>freigegeben<\/code>, <code>version<\/code> &gt;= 1.0, <code>approvedDate<\/code> + <code>nextReview<\/code> setzen.<\/li><li><strong>Versionierung &amp; Historie:<\/strong> Git/Forgejo ist die verbindliche Versions- und Änderungshistorie (Commit = Änderungsnachweis).<\/li><li><strong>Ablösung:<\/strong> Ersetzte Dokumente erhalten <code>status: abgelöst<\/code> und einen Vorwärts-Link zum Nachfolger; sie werden nicht gelöscht (Nachvollziehbarkeit).<\/li><\/ol>\n<h2>3. Review-Zyklus (\"gepflegt\")<\/h2>\n<ul><li>Jedes Dokument hat ein <code>nextReview<\/code>-Datum (Standard 12 Monate, anlassbezogen früher).<\/li><li>Das <a href=\"../cockpit/\">Management-Cockpit<\/a> listet überfällige und anstehende Reviews automatisch auf der Pendenzen-Seite.<\/li><li>Reviews werden im <a href=\"dokumentenregister.md\">Dokumentenregister<\/a> nachgeführt; fällige Reviews erzeugen bei Bedarf einen Eintrag im <a href=\"../07_verbesserung/massnahmen-register.md\">Massnahmenregister<\/a>.<\/li><\/ul>\n<h2>4. Schutz und Zugriff<\/h2>\n<ul><li>Vertrauliche Dokumente folgen der Klassifizierung der IS-Politik; das Repository ist zugriffsgeschuetzt (Forgejo-RBAC).<\/li><li>Externe Verteilung nur in freigegebenem Stand; das Cockpit kann als in sich geschlossene HTML zum Teilen erzeugt werden.<\/li><\/ul>\n<h2>5. Externe Dokumente<\/h2>\n<p>Extern vorgegebene Dokumente (Normtexte, Verträge, AVVs der Lieferanten) werden im <a href=\"../05_betrieb/20260528_drittanbieter-inventar.md\">Drittanbieter-Inventar<\/a> bzw. als Records referenziert und als solche gekennzeichnet.<\/p>", "text": "<!-- docid: ims-07-03 --> <!-- status: entwurf --> <!-- version: 0.1 --> <!-- owner: patrick motsch --> <!-- approver: geschäftsführung poweron ag --> <!-- approveddate: --> <!-- nextreview: 2027-06-03 --> <!-- classification: intern --> <!-- isorefs: 9001:7.5; 27001:7.5 --> # lenkung dokumentierter information **dokumenttyp:** verfahren **geltungsbereich:** alle gelenkten dokumente des ims iso 9001:2015 kap. 7.5 und iso/iec 27001:2022 kap. 7.5 verlangen, dass dokumentierte information erstellt, freigegeben, aktuell gehalten, geschuetzt und gelenkt wird. dieses verfahren beschreibt, wie poweron das umsetzt -- bewusst schlank und werkzeuggestützt über git/forgejo. ## 1. einheitlicher metadaten-header jedes gelenkte ims-dokument beginnt mit folgendem header (html-kommentar, im gerenderten markdown unsichtbar, vom cockpit ausgewertet): ``` <!-- docid: ims-xx --> <!-- status: entwurf | freigegeben | abgelöst --> <!-- version: 0.1 --> <!-- owner: <name> --> <!-- approver: <name/gremium> --> <!-- approveddate: yyyy-mm-dd --> <!-- nextreview: yyyy-mm-dd --> <!-- classification: öffentlich | intern | vertraulich --> <!-- isorefs: 9001:<klausel>; 27001:<klausel/annexa> --> ``` | feld | bedeutung | |---|---| | `docid` | eindeutige dokument-id (schema: `ims-<kapitel>-<laufnr>`) | | `status` | `entwurf` (in arbeit), `freigegeben` (gültig), `abgelöst` (ersetzt/veraltet) | | `version` | semantisch: 0.x = entwurf, ab 1.0 = freigegeben; minor bei inhaltlichen änderungen | | `owner` | fachlich verantwortliche person (pflege) | | `approver` | freigebende person/gremium | | `approveddate` | datum der letzten freigabe | | `nextreview` | spätestes nächstes review (standard: +12 monate) | | `classification` | schutzbedarf gemäss is-politik | | `isorefs` | abgedeckte normklauseln/annex-a-controls | ## 2. lebenszyklus ```mermaid flowchart lr draft[\"entwurf (0.x)\"] -->|\"pr-review + freigabe\"| released[\"freigegeben (>=1.0)\"] released -->|\"änderung\"| draft released -->|\"ersetzt durch nachfolger\"| retired[\"abgelöst\"] ``` 1. **erstellen/ändern:** auf branch, inhalt + header pflegen. 2. **freigabe:** pull request mit review durch zweite person (vier-augen-prinzip); merge = freigabe. `status` -> `freigegeben`, `version` >= 1.0, `approveddate` + `nextreview` setzen. 3. **versionierung & historie:** git/forgejo ist die verbindliche versions- und änderungshistorie (commit = änderungsnachweis). 4. **ablösung:** ersetzte dokumente erhalten `status: abgelöst` und einen vorwärts-link zum nachfolger; sie werden nicht gelöscht (nachvollziehbarkeit). ## 3. review-zyklus (\"gepflegt\") - jedes dokument hat ein `nextreview`-datum (standard 12 monate, anlassbezogen früher). - das [management-cockpit](../cockpit/) listet überfällige und anstehende reviews automatisch auf der pendenzen-seite. - reviews werden im [dokumentenregister](dokumentenregister.md) nachgeführt; fällige reviews erzeugen bei bedarf einen eintrag im [massnahmenregister](../07_verbesserung/massnahmen-register.md). ## 4. schutz und zugriff - vertrauliche dokumente folgen der klassifizierung der is-politik; das repository ist zugriffsgeschuetzt (forgejo-rbac). - externe verteilung nur in freigegebenem stand; das cockpit kann als in sich geschlossene html zum teilen erzeugt werden. ## 5. externe dokumente extern vorgegebene dokumente (normtexte, verträge, avvs der lieferanten) werden im [drittanbieter-inventar](../05_betrieb/20260528_drittanbieter-inventar.md) bzw. als records referenziert und als solche gekennzeichnet. ", "nextReview": "2027-06-03", "overdueReview": false, "zuPruefen": []}, {"id": "04_unterstuetzung/dokumentenregister.md", "path": "04_unterstuetzung/dokumentenregister.md", "chapter": "04_unterstuetzung", "title": "Dokumentenregister", "filename": "dokumentenregister.md", "meta": {"docId": "IMS-07-04", "status": "entwurf", "version": "0.1", "owner": "Patrick Motsch", "approver": "Geschäftsführung PowerOn AG", "approvedDate": "", "nextReview": "2027-06-03", "classification": "intern", "isoRefs": "9001:7.5; 27001:7.5"}, "html": "<h1>Dokumentenregister<\/h1>\n<p>Zentrales Verzeichnis aller gelenkten IMS-Dokumente. Massgeblich für Status, Owner und nächstes Review ist der Header im jeweiligen Dokument; das <a href=\"../cockpit/\">Management-Cockpit<\/a> wertet diese automatisch aus. Diese Tabelle dient der manuellen Gesamtübersicht.<\/p>\n<table><thead><tr><th>docId<\/th><th>Dokument<\/th><th>Pfad<\/th><th>Owner<\/th><th>Status<\/th><\/tr><\/thead><tbody><tr><td>IMS-00<\/td><td>IMS-Handbuch<\/td><td><code>00_IMS-Handbuch.md<\/code><\/td><td>Patrick Motsch<\/td><td>entwurf<\/td><\/tr><tr><td>IMS-04-01<\/td><td>Kontext &amp; interessierte Parteien<\/td><td><code>01_kontext/kontext-und-interessierte-parteien.md<\/code><\/td><td>Patrick Motsch<\/td><td>entwurf<\/td><\/tr><tr><td>IMS-04-02<\/td><td>Geltungsbereich / Scope<\/td><td><code>01_kontext/geltungsbereich-scope.md<\/code><\/td><td>Patrick Motsch<\/td><td>entwurf<\/td><\/tr><tr><td>IMS-05-01<\/td><td>Qualitätspolitik<\/td><td><code>02_fuehrung/qm-politik.md<\/code><\/td><td>Patrick Motsch<\/td><td>entwurf<\/td><\/tr><tr><td>IMS-05-02<\/td><td>Informationssicherheitspolitik<\/td><td><code>02_fuehrung/informationssicherheitspolitik.md<\/code><\/td><td>Patrick Motsch<\/td><td>entwurf<\/td><\/tr><tr><td>IMS-05-03<\/td><td>Rollen &amp; Verantwortlichkeiten<\/td><td><code>02_fuehrung/rollen-verantwortlichkeiten.md<\/code><\/td><td>Patrick Motsch<\/td><td>entwurf<\/td><\/tr><tr><td>IMS-06-01<\/td><td>Risikomanagement-Methodik<\/td><td><code>03_planung/risikomanagement-methodik.md<\/code><\/td><td>Patrick Motsch<\/td><td>entwurf<\/td><\/tr><tr><td>IMS-06-02<\/td><td>Risikoregister<\/td><td><code>03_planung/risikoregister.md<\/code><\/td><td>Patrick Motsch<\/td><td>entwurf<\/td><\/tr><tr><td>IMS-06-03<\/td><td>Statement of Applicability (SoA)<\/td><td><code>03_planung/statement-of-applicability-soa.md<\/code><\/td><td>Patrick Motsch<\/td><td>entwurf<\/td><\/tr><tr><td>IMS-06-04<\/td><td>Ziele &amp; Kennzahlen<\/td><td><code>03_planung/ziele-und-kennzahlen.md<\/code><\/td><td>Patrick Motsch<\/td><td>entwurf<\/td><\/tr><tr><td>IMS-07-01<\/td><td>Ressourcen, Kompetenz &amp; Schulung<\/td><td><code>04_unterstuetzung/ressourcen-kompetenz-schulung.md<\/code><\/td><td>Patrick Motsch<\/td><td>entwurf<\/td><\/tr><tr><td>IMS-07-02<\/td><td>Kommunikation<\/td><td><code>04_unterstuetzung/kommunikation.md<\/code><\/td><td>Patrick Motsch<\/td><td>entwurf<\/td><\/tr><tr><td>IMS-07-03<\/td><td>Lenkung dokumentierter Information<\/td><td><code>04_unterstuetzung/dokumentenlenkung.md<\/code><\/td><td>Patrick Motsch<\/td><td>entwurf<\/td><\/tr><tr><td>IMS-07-04<\/td><td>Dokumentenregister<\/td><td><code>04_unterstuetzung/dokumentenregister.md<\/code><\/td><td>Patrick Motsch<\/td><td>entwurf<\/td><\/tr><tr><td>IMS-09-01<\/td><td>Internes Audit<\/td><td><code>06_bewertung/internes-audit.md<\/code><\/td><td>Patrick Motsch<\/td><td>entwurf<\/td><\/tr><tr><td>IMS-09-02<\/td><td>Management-Review<\/td><td><code>06_bewertung/management-review.md<\/code><\/td><td>Patrick Motsch<\/td><td>entwurf<\/td><\/tr><tr><td>IMS-09-03<\/td><td>Monitoring &amp; Messung<\/td><td><code>06_bewertung/monitoring-messung.md<\/code><\/td><td>Patrick Motsch<\/td><td>entwurf<\/td><\/tr><tr><td>IMS-10-01<\/td><td>Korrekturmassnahmen &amp; KVP<\/td><td><code>07_verbesserung/korrekturmassnahmen-und-kvp.md<\/code><\/td><td>Patrick Motsch<\/td><td>entwurf<\/td><\/tr><tr><td>IMS-10-02<\/td><td>Massnahmenregister<\/td><td><code>07_verbesserung/massnahmen-register.md<\/code><\/td><td>Patrick Motsch<\/td><td>entwurf<\/td><\/tr><\/tbody><\/table>\n<h2>Betriebsdokumente (Kap. 8 / Annex A) -- <code>05_betrieb/<\/code><\/h2>\n<p>Die operativen Prozess- und Sicherheitsdokumente (Zugriffsmanagement, Verschlüsselung, Backup, BCM/DR, Incident, Change, Patch, Schwachstellen, Logging, Netzwerk, Datenaufbewahrung, Exit, SDLC, Kapazität, Subunternehmer, Mitarbeitersicherheit) liegen in <code>05_betrieb/<\/code>. Ihre Zuordnung zu ISO-27001-Annex-A-Controls und ISO-9001-Klauseln steht im <a href=\"../03_planung/statement-of-applicability-soa.md\">SoA<\/a> bzw. in den <a href=\"../mappings/\">Mappings<\/a>.<\/p>\n<h2>Hinweis zur Pflege<\/h2>\n<p>Header-Felder (<code>owner<\/code>, <code>status<\/code>, <code>nextReview<\/code>) werden direkt im Dokument gepflegt. Bei neuen Dokumenten hier eine Zeile ergänzen. Die verbindliche Review-Fälligkeit zeigt das Cockpit.<\/p>", "text": "<!-- docid: ims-07-04 --> <!-- status: entwurf --> <!-- version: 0.1 --> <!-- owner: patrick motsch --> <!-- approver: geschäftsführung poweron ag --> <!-- approveddate: --> <!-- nextreview: 2027-06-03 --> <!-- classification: intern --> <!-- isorefs: 9001:7.5; 27001:7.5 --> # dokumentenregister zentrales verzeichnis aller gelenkten ims-dokumente. massgeblich für status, owner und nächstes review ist der header im jeweiligen dokument; das [management-cockpit](../cockpit/) wertet diese automatisch aus. diese tabelle dient der manuellen gesamtübersicht. | docid | dokument | pfad | owner | status | |---|---|---|---|---| | ims-00 | ims-handbuch | `00_ims-handbuch.md` | patrick motsch | entwurf | | ims-04-01 | kontext & interessierte parteien | `01_kontext/kontext-und-interessierte-parteien.md` | patrick motsch | entwurf | | ims-04-02 | geltungsbereich / scope | `01_kontext/geltungsbereich-scope.md` | patrick motsch | entwurf | | ims-05-01 | qualitätspolitik | `02_fuehrung/qm-politik.md` | patrick motsch | entwurf | | ims-05-02 | informationssicherheitspolitik | `02_fuehrung/informationssicherheitspolitik.md` | patrick motsch | entwurf | | ims-05-03 | rollen & verantwortlichkeiten | `02_fuehrung/rollen-verantwortlichkeiten.md` | patrick motsch | entwurf | | ims-06-01 | risikomanagement-methodik | `03_planung/risikomanagement-methodik.md` | patrick motsch | entwurf | | ims-06-02 | risikoregister | `03_planung/risikoregister.md` | patrick motsch | entwurf | | ims-06-03 | statement of applicability (soa) | `03_planung/statement-of-applicability-soa.md` | patrick motsch | entwurf | | ims-06-04 | ziele & kennzahlen | `03_planung/ziele-und-kennzahlen.md` | patrick motsch | entwurf | | ims-07-01 | ressourcen, kompetenz & schulung | `04_unterstuetzung/ressourcen-kompetenz-schulung.md` | patrick motsch | entwurf | | ims-07-02 | kommunikation | `04_unterstuetzung/kommunikation.md` | patrick motsch | entwurf | | ims-07-03 | lenkung dokumentierter information | `04_unterstuetzung/dokumentenlenkung.md` | patrick motsch | entwurf | | ims-07-04 | dokumentenregister | `04_unterstuetzung/dokumentenregister.md` | patrick motsch | entwurf | | ims-09-01 | internes audit | `06_bewertung/internes-audit.md` | patrick motsch | entwurf | | ims-09-02 | management-review | `06_bewertung/management-review.md` | patrick motsch | entwurf | | ims-09-03 | monitoring & messung | `06_bewertung/monitoring-messung.md` | patrick motsch | entwurf | | ims-10-01 | korrekturmassnahmen & kvp | `07_verbesserung/korrekturmassnahmen-und-kvp.md` | patrick motsch | entwurf | | ims-10-02 | massnahmenregister | `07_verbesserung/massnahmen-register.md` | patrick motsch | entwurf | ## betriebsdokumente (kap. 8 / annex a) -- `05_betrieb/` die operativen prozess- und sicherheitsdokumente (zugriffsmanagement, verschlüsselung, backup, bcm/dr, incident, change, patch, schwachstellen, logging, netzwerk, datenaufbewahrung, exit, sdlc, kapazität, subunternehmer, mitarbeitersicherheit) liegen in `05_betrieb/`. ihre zuordnung zu iso-27001-annex-a-controls und iso-9001-klauseln steht im [soa](../03_planung/statement-of-applicability-soa.md) bzw. in den [mappings](../mappings/). ## hinweis zur pflege header-felder (`owner`, `status`, `nextreview`) werden direkt im dokument gepflegt. bei neuen dokumenten hier eine zeile ergänzen. die verbindliche review-fälligkeit zeigt das cockpit. ", "nextReview": "2027-06-03", "overdueReview": false, "zuPruefen": []}, {"id": "04_unterstuetzung/kommunikation.md", "path": "04_unterstuetzung/kommunikation.md", "chapter": "04_unterstuetzung", "title": "Kommunikation (intern und extern)", "filename": "kommunikation.md", "meta": {"docId": "IMS-07-02", "status": "entwurf", "version": "0.1", "owner": "Patrick Motsch", "approver": "Geschäftsführung PowerOn AG", "approvedDate": "", "nextReview": "2027-06-03", "classification": "intern", "isoRefs": "9001:7.4; 27001:7.4"}, "html": "<h1>Kommunikation (intern und extern)<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Verfahren (ISO 9001/27001 Kap. 7.4)<\/p>\n<p>Regelt, <strong>was, wann, mit wem und wie<\/strong> im Kontext des IMS kommuniziert wird.<\/p>\n<h2>1. Interne Kommunikation<\/h2>\n<table><thead><tr><th>Was<\/th><th>Wann<\/th><th>Wer -&gt; Wem<\/th><th>Kanal<\/th><\/tr><\/thead><tbody><tr><td>Politiken, Ziele, IMS-Änderungen<\/td><td>Bei Änderung / jährlich<\/td><td>Leitung -&gt; Team<\/td><td>Wiki, Teammeeting<\/td><\/tr><tr><td>Risiken, offene Massnahmen<\/td><td>laufend<\/td><td>ISB/QMB -&gt; Team<\/td><td>Massnahmenregister, Cockpit<\/td><\/tr><tr><td>Incidents<\/td><td>sofort<\/td><td>Melder -&gt; Incident-Verantwortlicher<\/td><td>definierter Meldeweg<\/td><\/tr><tr><td>Release Notes / Changes<\/td><td>je Release<\/td><td>Release-Verantwortlicher -&gt; Team<\/td><td>CHANGELOG, Wiki<\/td><\/tr><tr><td>Management-Review-Ergebnisse<\/td><td>nach Review<\/td><td>Leitung -&gt; Team<\/td><td>Protokoll<\/td><\/tr><\/tbody><\/table>\n<h2>2. Externe Kommunikation<\/h2>\n<table><thead><tr><th>Was<\/th><th>Anlass<\/th><th>Wer -&gt; Wem<\/th><th>Kanal<\/th><\/tr><\/thead><tbody><tr><td>Datenschutzvorfall / Meldepflicht<\/td><td>gesetzliche Frist<\/td><td>Datenschutzverantw. -&gt; EDOEB/Betroffene/FINMA<\/td><td>gemäss <a href=\"../05_betrieb/07_Incident_Response_und_Meldewesen.md\">Incident Response<\/a><\/td><\/tr><tr><td>Sicherheits-/Compliance-Nachweise<\/td><td>auf Anfrage<\/td><td>Leitung -&gt; Kunde/Prüfer<\/td><td><a href=\"../05_betrieb/security-overview.md\">security-overview.md<\/a>, SoA-Auszug<\/td><\/tr><tr><td>Wartung / Maintenance Window<\/td><td>mind. 5 Werktage vorab<\/td><td>Betrieb -&gt; Kunden<\/td><td>E-Mail/Statusseite<\/td><\/tr><tr><td>Lieferantenanforderungen<\/td><td>bei Beauftragung<\/td><td>Lieferanten-Verantw. -&gt; Lieferant<\/td><td>Vertrag/AVV<\/td><\/tr><\/tbody><\/table>\n<h2>3. Grundsatz<\/h2>\n<p>Externe sicherheits-/datenschutzrelevante Kommunikation wird ausschliesslich über die benannten Rollen geführt und im freigegebenen Stand verteilt.<\/p>", "text": "<!-- docid: ims-07-02 --> <!-- status: entwurf --> <!-- version: 0.1 --> <!-- owner: patrick motsch --> <!-- approver: geschäftsführung poweron ag --> <!-- approveddate: --> <!-- nextreview: 2027-06-03 --> <!-- classification: intern --> <!-- isorefs: 9001:7.4; 27001:7.4 --> # kommunikation (intern und extern) **dokumenttyp:** verfahren (iso 9001/27001 kap. 7.4) regelt, **was, wann, mit wem und wie** im kontext des ims kommuniziert wird. ## 1. interne kommunikation | was | wann | wer -> wem | kanal | |---|---|---|---| | politiken, ziele, ims-änderungen | bei änderung / jährlich | leitung -> team | wiki, teammeeting | | risiken, offene massnahmen | laufend | isb/qmb -> team | massnahmenregister, cockpit | | incidents | sofort | melder -> incident-verantwortlicher | definierter meldeweg | | release notes / changes | je release | release-verantwortlicher -> team | changelog, wiki | | management-review-ergebnisse | nach review | leitung -> team | protokoll | ## 2. externe kommunikation | was | anlass | wer -> wem | kanal | |---|---|---|---| | datenschutzvorfall / meldepflicht | gesetzliche frist | datenschutzverantw. -> edoeb/betroffene/finma | gemäss [incident response](../05_betrieb/07_incident_response_und_meldewesen.md) | | sicherheits-/compliance-nachweise | auf anfrage | leitung -> kunde/prüfer | [security-overview.md](../05_betrieb/security-overview.md), soa-auszug | | wartung / maintenance window | mind. 5 werktage vorab | betrieb -> kunden | e-mail/statusseite | | lieferantenanforderungen | bei beauftragung | lieferanten-verantw. -> lieferant | vertrag/avv | ## 3. grundsatz externe sicherheits-/datenschutzrelevante kommunikation wird ausschliesslich über die benannten rollen geführt und im freigegebenen stand verteilt. ", "nextReview": "2027-06-03", "overdueReview": false, "zuPruefen": []}, {"id": "04_unterstuetzung/ressourcen-kompetenz-schulung.md", "path": "04_unterstuetzung/ressourcen-kompetenz-schulung.md", "chapter": "04_unterstuetzung", "title": "Ressourcen, Kompetenz, Awareness & Schulung", "filename": "ressourcen-kompetenz-schulung.md", "meta": {"docId": "IMS-07-01", "status": "entwurf", "version": "0.1", "owner": "Patrick Motsch", "approver": "Geschäftsführung PowerOn AG", "approvedDate": "", "nextReview": "2027-06-03", "classification": "intern", "isoRefs": "9001:7.1-7.3; 27001:7.1-7.3,A.6.3"}, "html": "<h1>Ressourcen, Kompetenz, Awareness &amp; Schulung<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Verfahren (ISO 9001/27001 Kap. 7.1-7.3, Annex A.6.3)<\/p>\n<h2>1. Ressourcen (7.1)<\/h2>\n<p>Die Geschäftsführung stellt die für Betrieb und Verbesserung des IMS erforderlichen Ressourcen bereit: Personal, Cloud-Infrastruktur (Infomaniak), Entwicklungs-/CI-Systeme (Forgejo), Tooling sowie Budget für externe Unterstützung (z. B. internes Audit, Penetrationstests).<\/p>\n<h2>2. Kompetenz (7.2)<\/h2>\n<table><thead><tr><th>Kompetenzbereich<\/th><th>Anforderung<\/th><th>Nachweis<\/th><\/tr><\/thead><tbody><tr><td>Sichere Softwareentwicklung<\/td><td>Kenntnis SDLC, Secure Coding, Review<\/td><td>Code-Reviews, Schulungsnachweis<\/td><\/tr><tr><td>Betrieb/DevOps<\/td><td>Deployment, Backup/Restore, Incident-Handling<\/td><td>Runbooks, durchgeführte Tests<\/td><\/tr><tr><td>Datenschutz/Compliance<\/td><td>DSG/DSGVO, AVV, ISO-Grundlagen<\/td><td>Schulungsnachweis<\/td><\/tr><tr><td>Informationssicherheit<\/td><td>Risiko, Annex-A-Controls<\/td><td>Schulungsnachweis<\/td><\/tr><\/tbody><\/table>\n<p>Kompetenzluecken werden im Management-Review identifiziert und über Schulung/externe Unterstützung geschlossen. Kompetenznachweise (Zertifikate, Kursteilnahmen) werden als Records abgelegt.<\/p>\n<h2>3. Awareness (7.3 / A.6.3)<\/h2>\n<ul><li>Alle Mitarbeitenden werden im Onboarding auf IS-Politik, QM-Politik und Meldewege verpflichtet.<\/li><li>Jährliche Auffrischung zu Informationssicherheit und Datenschutz (Ziel S-5: 100 %).<\/li><li>Anlassbezogene Sensibilisierung nach relevanten Incidents.<\/li><\/ul>\n<h2>4. Schulungsnachweis (Record-Vorlage)<\/h2>\n<table><thead><tr><th>Datum<\/th><th>Person<\/th><th>Thema<\/th><th>Form<\/th><th>Nachweis<\/th><\/tr><\/thead><tbody><tr><td><\/td><td><\/td><td><\/td><td><\/td><td><\/td><\/tr><\/tbody><\/table>\n<h2>5. Pflege<\/h2>\n<p>Schulungsplanung und -nachweise werden jährlich aktualisiert; offene Schulungen laufen ins <a href=\"../07_verbesserung/massnahmen-register.md\">Massnahmenregister<\/a>.<\/p>", "text": "<!-- docid: ims-07-01 --> <!-- status: entwurf --> <!-- version: 0.1 --> <!-- owner: patrick motsch --> <!-- approver: geschäftsführung poweron ag --> <!-- approveddate: --> <!-- nextreview: 2027-06-03 --> <!-- classification: intern --> <!-- isorefs: 9001:7.1-7.3; 27001:7.1-7.3,a.6.3 --> # ressourcen, kompetenz, awareness & schulung **dokumenttyp:** verfahren (iso 9001/27001 kap. 7.1-7.3, annex a.6.3) ## 1. ressourcen (7.1) die geschäftsführung stellt die für betrieb und verbesserung des ims erforderlichen ressourcen bereit: personal, cloud-infrastruktur (infomaniak), entwicklungs-/ci-systeme (forgejo), tooling sowie budget für externe unterstützung (z. b. internes audit, penetrationstests). ## 2. kompetenz (7.2) | kompetenzbereich | anforderung | nachweis | |---|---|---| | sichere softwareentwicklung | kenntnis sdlc, secure coding, review | code-reviews, schulungsnachweis | | betrieb/devops | deployment, backup/restore, incident-handling | runbooks, durchgeführte tests | | datenschutz/compliance | dsg/dsgvo, avv, iso-grundlagen | schulungsnachweis | | informationssicherheit | risiko, annex-a-controls | schulungsnachweis | kompetenzluecken werden im management-review identifiziert und über schulung/externe unterstützung geschlossen. kompetenznachweise (zertifikate, kursteilnahmen) werden als records abgelegt. ## 3. awareness (7.3 / a.6.3) - alle mitarbeitenden werden im onboarding auf is-politik, qm-politik und meldewege verpflichtet. - jährliche auffrischung zu informationssicherheit und datenschutz (ziel s-5: 100 %). - anlassbezogene sensibilisierung nach relevanten incidents. ## 4. schulungsnachweis (record-vorlage) | datum | person | thema | form | nachweis | |---|---|---|---|---| | | | | | | ## 5. pflege schulungsplanung und -nachweise werden jährlich aktualisiert; offene schulungen laufen ins [massnahmenregister](../07_verbesserung/massnahmen-register.md). ", "nextReview": "2027-06-03", "overdueReview": false, "zuPruefen": []}, {"id": "05_betrieb/02_Zugriffsmanagement_IAM_PAM.md", "path": "05_betrieb/02_Zugriffsmanagement_IAM_PAM.md", "chapter": "05_betrieb", "title": "Zugriffsmanagement (IAM / PAM)", "filename": "02_Zugriffsmanagement_IAM_PAM.md", "meta": {}, "html": "<h1>Zugriffsmanagement (IAM / PAM)<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Richtlinie &amp; Prozess <strong>Geltungsbereich:<\/strong> Alle Zugänge zu PORTA-Systemen (Server, Datenbank, Admin-UI, Drittdienste) <strong>Version:<\/strong> 1.0 <strong>Status:<\/strong> Entwurf zur internen Freigabe <strong>Owner:<\/strong> Betrieb / DevOps <strong>Letzte Aktualisierung:<\/strong> 02.06.2026 <strong>Deckt ab (CACC):<\/strong> 25, 36, 37, 66, 67, 68, 69<\/p>\n<hr>\n<h2>1. Grundprinzipien<\/h2>\n<p>PowerOn gewährt Zugriffe ausschliesslich nach <strong>Need-to-Know<\/strong> und <strong>Least Privilege<\/strong>. Kein Mitarbeiter erhält mehr Rechte, als für seine Aufgabe erforderlich sind.<\/p>\n<h2>2. Zugriffsebenen der Plattform<\/h2>\n<table><thead><tr><th>Ebene<\/th><th>Beschreibung<\/th><th>Berechtigte<\/th><\/tr><\/thead><tbody><tr><td><strong>SysAdmin (Admin-UI)<\/strong><\/td><td>Höchste Stufe in der PORTA-Admin-UI: DB-Export/Import, Mandatsverwaltung, Feature-Steuerung<\/td><td>Patrick Motsch<\/td><\/tr><tr><td><strong>Server-Zugang (SSH)<\/strong><\/td><td><code>ubuntu@api.poweron.swiss<\/code> / <code>api-int<\/code> — Vollzugriff auf Anwendung und Konfiguration<\/td><td>Patrick Motsch<\/td><\/tr><tr><td><strong>Datenbank<\/strong><\/td><td>DB-User <code>poweron_dev<\/code> auf <code>db.poweron.swiss:5432<\/code><\/td><td>Patrick Motsch<\/td><\/tr><tr><td><strong>Mandats-Administrator (kundenseitig)<\/strong><\/td><td>Verwaltet Nutzer innerhalb des eigenen Tenants<\/td><td>Kunde selbst<\/td><\/tr><tr><td><strong>Endnutzer<\/strong><\/td><td>Nutzung der gebuchten Features<\/td><td>Kunde<\/td><\/tr><\/tbody><\/table>\n<blockquote><strong>Offener Punkt (kompensierende Massnahme nötig):<\/strong> Der SSH-Zugang erfolgt aktuell über den geteilten Benutzer <code>ubuntu<\/code>. Für Nachvollziehbarkeit auf Personenebene ist entweder (a) Umstellung auf personalisierte SSH-Accounts oder (b) lückenlose Protokollierung jeder SSH-Sitzung mit eindeutiger Personenzuordnung erforderlich. → siehe <code>11_Logging_und_Monitoring.md<\/code>. <strong>[ZU PRÜFEN / UMZUSETZEN]<\/strong><\/blockquote>\n<h2>3. Zugang zu Kundendaten im Klartext (#25, #66)<\/h2>\n<p>Mitarbeitende von PowerOn greifen auf Inhaltsdaten eines Kunden im Klartext <strong>nur<\/strong> zu, wenn:<\/p>\n<ol><li>der Kunde dies für einen konkreten Fall (z. B. Support-Ticket) freigegeben hat, <strong>oder<\/strong><\/li><li>eine rechtskräftige behördliche Anordnung dies zwingend verlangt, <strong>oder<\/strong><\/li><li>ein schwerer technischer Störfall den Zugriff temporär erfordert — mit unverzüglicher nachträglicher Information des Kunden.<\/li><\/ol>\n<p>Jeder solche Zugriff wird protokolliert (Datenbank-Export/Import wird serverseitig geloggt, siehe <code>datenbank-handling.md<\/code> Abschnitt 6).<\/p>\n<h2>4. Authentifizierung (#68)<\/h2>\n<table><thead><tr><th>System<\/th><th>Authentifizierungsmethode<\/th><th>MFA<\/th><\/tr><\/thead><tbody><tr><td>PORTA Endnutzer<\/td><td>Microsoft Azure AD OAuth / Google OAuth / lokales Login<\/td><td>[ZU PRÜFEN: MFA erzwungen?]<\/td><\/tr><tr><td>Admin-UI (SysAdmin)<\/td><td>[ZU PRÜFEN]<\/td><td>[ZU PRÜFEN: MFA?]<\/td><\/tr><tr><td>SSH-Server<\/td><td>SSH-Key<\/td><td>[ZU PRÜFEN: Key + Passphrase? Bastion?]<\/td><\/tr><tr><td>Drittdienste (OpenAI etc.)<\/td><td>API-Keys in <code>.env<\/code><\/td><td>n/a<\/td><\/tr><\/tbody><\/table>\n<p><strong>Vorgabe:<\/strong> Für privilegierte Zugänge (SysAdmin, SSH, DB) ist Zwei-Faktor-Authentifizierung zu konfigurieren. SMS-/mobile TAN ist möglichst zu vermeiden; bevorzugt App- oder Hardware-Token. <strong>[ZU PRÜFEN: aktueller Stand]<\/strong><\/p>\n<h2>5. Berechtigungsvergabe, -änderung und -entzug (#67)<\/h2>\n<table><thead><tr><th>Ereignis<\/th><th>Massnahme<\/th><th>Frist<\/th><\/tr><\/thead><tbody><tr><td>Onboarding<\/td><td>Zugänge gemäss Rolle einrichten, Minimalprinzip<\/td><td>Bei Eintritt<\/td><\/tr><tr><td>Rollenwechsel<\/td><td>Berechtigungen anpassen, nicht mehr benötigte entziehen<\/td><td>Innert 5 Werktagen<\/td><\/tr><tr><td>Offboarding<\/td><td><strong>Alle<\/strong> Zugänge sofort sperren: SSH-Key entfernen, Admin-UI deaktivieren, API-Keys rotieren, DB-Zugang entziehen<\/td><td>Am letzten Arbeitstag<\/td><\/tr><tr><td>Rezertifizierung<\/td><td>Vollständige Überprüfung aller Zugänge und Berechtigungen<\/td><td>Mindestens halbjährlich<\/td><\/tr><\/tbody><\/table>\n<h2>6. Privilegierte Zugriffe (PAM) (#36, #37)<\/h2>\n<p>Privilegierter Zugriff (SSH, DB-Admin, SysAdmin) wird nur sorgfältig ausgewählten, geschulten Personen gewährt. Aufgrund der Teamgrösse ist die Anzahl privilegierter Personen sehr klein, was das Risiko begrenzt. Kompensierend zu fehlender vollständiger Funktionstrennung gilt:<\/p>\n<ul><li>Protokollierung privilegierter Aktionen (Export/Import, Deployments, DB-Zugriffe).<\/li><li>Vier-Augen-Prinzip bei produktiven Releases (siehe <code>feature_release_bugfix.md<\/code> / <code>08_Change_Management.md<\/code>).<\/li><li>Regelmässige Stichprobenprüfung der Protokolle.<\/li><\/ul>\n<h2>7. Zugangsbeschränkung auf IP/Domain (#69)<\/h2>\n<p>[ZU PRÜFEN: Ist der Admin-/Server-Zugang auf bestimmte IP-Adressen beschränkt? Falls ja, dokumentieren. Falls nein, als geplante Massnahme aufnehmen.]<\/p>\n<h2>8. Stand der Umsetzung / Lücken<\/h2>\n<table><thead><tr><th>Thema<\/th><th>Status<\/th><th>Massnahme<\/th><\/tr><\/thead><tbody><tr><td>Personalisierte SSH-Accounts<\/td><td>Offen<\/td><td>Umstellung oder vollständige Sitzungsprotokollierung<\/td><\/tr><tr><td>MFA auf privilegierten Zugängen<\/td><td>[ZU PRÜFEN]<\/td><td>Erzwingen<\/td><\/tr><tr><td>Halbjährliche Rezertifizierung<\/td><td>Neu<\/td><td>Erstdurchführung terminieren<\/td><\/tr><\/tbody><\/table>", "text": "# zugriffsmanagement (iam / pam) **dokumenttyp:** richtlinie & prozess **geltungsbereich:** alle zugänge zu porta-systemen (server, datenbank, admin-ui, drittdienste) **version:** 1.0 **status:** entwurf zur internen freigabe **owner:** betrieb / devops **letzte aktualisierung:** 02.06.2026 **deckt ab (cacc):** 25, 36, 37, 66, 67, 68, 69 --- ## 1. grundprinzipien poweron gewährt zugriffe ausschliesslich nach **need-to-know** und **least privilege**. kein mitarbeiter erhält mehr rechte, als für seine aufgabe erforderlich sind. ## 2. zugriffsebenen der plattform | ebene | beschreibung | berechtigte | |---|---|---| | **sysadmin (admin-ui)** | höchste stufe in der porta-admin-ui: db-export/import, mandatsverwaltung, feature-steuerung | patrick motsch | | **server-zugang (ssh)** | `ubuntu@api.poweron.swiss` / `api-int` — vollzugriff auf anwendung und konfiguration | patrick motsch | | **datenbank** | db-user `poweron_dev` auf `db.poweron.swiss:5432` | patrick motsch | | **mandats-administrator (kundenseitig)** | verwaltet nutzer innerhalb des eigenen tenants | kunde selbst | | **endnutzer** | nutzung der gebuchten features | kunde | > **offener punkt (kompensierende massnahme nötig):** der ssh-zugang erfolgt aktuell über den geteilten benutzer `ubuntu`. für nachvollziehbarkeit auf personenebene ist entweder (a) umstellung auf personalisierte ssh-accounts oder (b) lückenlose protokollierung jeder ssh-sitzung mit eindeutiger personenzuordnung erforderlich. → siehe `11_logging_und_monitoring.md`. **[zu prüfen / umzusetzen]** ## 3. zugang zu kundendaten im klartext (#25, #66) mitarbeitende von poweron greifen auf inhaltsdaten eines kunden im klartext **nur** zu, wenn: 1. der kunde dies für einen konkreten fall (z. b. support-ticket) freigegeben hat, **oder** 2. eine rechtskräftige behördliche anordnung dies zwingend verlangt, **oder** 3. ein schwerer technischer störfall den zugriff temporär erfordert — mit unverzüglicher nachträglicher information des kunden. jeder solche zugriff wird protokolliert (datenbank-export/import wird serverseitig geloggt, siehe `datenbank-handling.md` abschnitt 6). ## 4. authentifizierung (#68) | system | authentifizierungsmethode | mfa | |---|---|---| | porta endnutzer | microsoft azure ad oauth / google oauth / lokales login | [zu prüfen: mfa erzwungen?] | | admin-ui (sysadmin) | [zu prüfen] | [zu prüfen: mfa?] | | ssh-server | ssh-key | [zu prüfen: key + passphrase? bastion?] | | drittdienste (openai etc.) | api-keys in `.env` | n/a | **vorgabe:** für privilegierte zugänge (sysadmin, ssh, db) ist zwei-faktor-authentifizierung zu konfigurieren. sms-/mobile tan ist möglichst zu vermeiden; bevorzugt app- oder hardware-token. **[zu prüfen: aktueller stand]** ## 5. berechtigungsvergabe, -änderung und -entzug (#67) | ereignis | massnahme | frist | |---|---|---| | onboarding | zugänge gemäss rolle einrichten, minimalprinzip | bei eintritt | | rollenwechsel | berechtigungen anpassen, nicht mehr benötigte entziehen | innert 5 werktagen | | offboarding | **alle** zugänge sofort sperren: ssh-key entfernen, admin-ui deaktivieren, api-keys rotieren, db-zugang entziehen | am letzten arbeitstag | | rezertifizierung | vollständige überprüfung aller zugänge und berechtigungen | mindestens halbjährlich | ## 6. privilegierte zugriffe (pam) (#36, #37) privilegierter zugriff (ssh, db-admin, sysadmin) wird nur sorgfältig ausgewählten, geschulten personen gewährt. aufgrund der teamgrösse ist die anzahl privilegierter personen sehr klein, was das risiko begrenzt. kompensierend zu fehlender vollständiger funktionstrennung gilt: - protokollierung privilegierter aktionen (export/import, deployments, db-zugriffe). - vier-augen-prinzip bei produktiven releases (siehe `feature_release_bugfix.md` / `08_change_management.md`). - regelmässige stichprobenprüfung der protokolle. ## 7. zugangsbeschränkung auf ip/domain (#69) [zu prüfen: ist der admin-/server-zugang auf bestimmte ip-adressen beschränkt? falls ja, dokumentieren. falls nein, als geplante massnahme aufnehmen.] ## 8. stand der umsetzung / lücken | thema | status | massnahme | |---|---|---| | personalisierte ssh-accounts | offen | umstellung oder vollständige sitzungsprotokollierung | | mfa auf privilegierten zugängen | [zu prüfen] | erzwingen | | halbjährliche rezertifizierung | neu | erstdurchführung terminieren | ", "nextReview": "", "overdueReview": false, "zuPruefen": ["2. Zugriffsebenen der Plattform", "4. Authentifizierung (#68)", "4. Authentifizierung (#68)", "4. Authentifizierung (#68)", "4. Authentifizierung (#68)", "7. Zugangsbeschränkung auf IP/Domain (#69)", "8. Stand der Umsetzung / Lücken"]}, {"id": "05_betrieb/03_Mitarbeitersicherheit_und_Screening.md", "path": "05_betrieb/03_Mitarbeitersicherheit_und_Screening.md", "chapter": "05_betrieb", "title": "Mitarbeitersicherheit und Screening", "filename": "03_Mitarbeitersicherheit_und_Screening.md", "meta": {}, "html": "<h1>Mitarbeitersicherheit und Screening<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Richtlinie &amp; Prozess <strong>Geltungsbereich:<\/strong> Alle Mitarbeitenden und Hilfspersonen mit Zugang zu Kundendaten <strong>Version:<\/strong> 1.0 <strong>Status:<\/strong> Entwurf zur internen Freigabe <strong>Owner:<\/strong> Geschäftsführung <strong>Letzte Aktualisierung:<\/strong> 02.06.2026 <strong>Deckt ab (CACC):<\/strong> 23, 35, 37<\/p>\n<hr>\n<h2>1. Vertraulichkeitsverpflichtung (#23)<\/h2>\n<p>Alle Mitarbeitenden und Hilfspersonen werden bei Eintritt schriftlich zur Geheimhaltung sämtlicher Inhaltsdaten der Kunden verpflichtet — insbesondere zur Wahrung des Bankkunden- und sonstigen Berufsgeheimnisses. Die Verpflichtung gilt <strong>zeitlich unbefristet<\/strong> und besteht auch nach Beendigung des Arbeitsverhältnisses fort.<\/p>\n<p><strong>Nachweis:<\/strong> Unterschriebene Geheimhaltungsvereinbarung (NDA) im Personaldossier. <strong>[ZU PRÜFEN: liegen NDAs für alle aktuellen Mitarbeitenden vor?]<\/strong><\/p>\n<h2>2. Sorgfältige Auswahl und Hintergrundprüfung (#35)<\/h2>\n<p>Vor Gewährung von Zugang zu Berufsgeheimnisdaten im Klartext werden Mitarbeitende sorgfältig ausgewählt und überprüft.<\/p>\n<table><thead><tr><th>Prüfschritt<\/th><th>Durchführung<\/th><\/tr><\/thead><tbody><tr><td>Identitätsprüfung<\/td><td>Bei Einstellung<\/td><\/tr><tr><td>Strafregisterauszug<\/td><td>[ZU PRÜFEN: wird verlangt?]<\/td><\/tr><tr><td>Referenzprüfung früherer Arbeitgeber<\/td><td>[ZU PRÜFEN]<\/td><\/tr><tr><td>Prüfung auf einschlägige Sanktionslisten<\/td><td>[ZU PRÜFEN]<\/td><\/tr><\/tbody><\/table>\n<blockquote><strong>Hinweis:<\/strong> Punkt #35 verlangt eine Überprüfung „entsprechend den Standards des Instituts für eigene Mitarbeiter\". Für FINMA-Kunden ist mindestens ein aktueller Strafregisterauszug üblich. Falls dies aktuell nicht erfolgt, als Massnahme aufnehmen.<\/blockquote>\n<h2>3. Schulung und Awareness<\/h2>\n<table><thead><tr><th>Massnahme<\/th><th>Häufigkeit<\/th><\/tr><\/thead><tbody><tr><td>Sicherheits- und Datenschutz-Onboarding<\/td><td>Bei Eintritt<\/td><\/tr><tr><td>Auffrischungsschulung (inkl. Phishing-/Social-Engineering-Awareness)<\/td><td>Jährlich<\/td><\/tr><tr><td>Schulung zu dieser Richtlinie und zur IS-Richtlinie<\/td><td>Bei Eintritt + bei Änderungen<\/td><\/tr><\/tbody><\/table>\n<p><strong>[ZU PRÜFEN: Findet eine strukturierte Schulung statt? Falls informell, formalisieren und dokumentieren.]<\/strong><\/p>\n<h2>4. Überwachung privilegierter Mitarbeitender (#37)<\/h2>\n<p>Mitarbeitende mit privilegiertem Zugriff auf kritische Klartextdaten werden:<\/p>\n<ul><li>sorgfältig ausgewählt und geschult,<\/li><li>durch Audit-Trails überwacht, die regelmässig (mindestens stichprobenweise) ausgewertet werden (siehe <code>11_Logging_und_Monitoring.md<\/code>),<\/li><li>bei Offboarding sofort entzogen (siehe <code>02_Zugriffsmanagement_IAM_PAM.md<\/code> Abschnitt 5).<\/li><\/ul>\n<h2>5. Stand der Umsetzung / Lücken<\/h2>\n<table><thead><tr><th>Thema<\/th><th>Status<\/th><th>Massnahme<\/th><\/tr><\/thead><tbody><tr><td>NDAs für alle Mitarbeitenden<\/td><td>[ZU PRÜFEN]<\/td><td>Vollständigkeit sicherstellen<\/td><\/tr><tr><td>Strafregisterauszug bei Einstellung<\/td><td>[ZU PRÜFEN]<\/td><td>Einführen falls nicht vorhanden<\/td><\/tr><tr><td>Dokumentierte jährliche Schulung<\/td><td>[ZU PRÜFEN]<\/td><td>Formalisieren<\/td><\/tr><\/tbody><\/table>", "text": "# mitarbeitersicherheit und screening **dokumenttyp:** richtlinie & prozess **geltungsbereich:** alle mitarbeitenden und hilfspersonen mit zugang zu kundendaten **version:** 1.0 **status:** entwurf zur internen freigabe **owner:** geschäftsführung **letzte aktualisierung:** 02.06.2026 **deckt ab (cacc):** 23, 35, 37 --- ## 1. vertraulichkeitsverpflichtung (#23) alle mitarbeitenden und hilfspersonen werden bei eintritt schriftlich zur geheimhaltung sämtlicher inhaltsdaten der kunden verpflichtet — insbesondere zur wahrung des bankkunden- und sonstigen berufsgeheimnisses. die verpflichtung gilt **zeitlich unbefristet** und besteht auch nach beendigung des arbeitsverhältnisses fort. **nachweis:** unterschriebene geheimhaltungsvereinbarung (nda) im personaldossier. **[zu prüfen: liegen ndas für alle aktuellen mitarbeitenden vor?]** ## 2. sorgfältige auswahl und hintergrundprüfung (#35) vor gewährung von zugang zu berufsgeheimnisdaten im klartext werden mitarbeitende sorgfältig ausgewählt und überprüft. | prüfschritt | durchführung | |---|---| | identitätsprüfung | bei einstellung | | strafregisterauszug | [zu prüfen: wird verlangt?] | | referenzprüfung früherer arbeitgeber | [zu prüfen] | | prüfung auf einschlägige sanktionslisten | [zu prüfen] | > **hinweis:** punkt #35 verlangt eine überprüfung „entsprechend den standards des instituts für eigene mitarbeiter\". für finma-kunden ist mindestens ein aktueller strafregisterauszug üblich. falls dies aktuell nicht erfolgt, als massnahme aufnehmen. ## 3. schulung und awareness | massnahme | häufigkeit | |---|---| | sicherheits- und datenschutz-onboarding | bei eintritt | | auffrischungsschulung (inkl. phishing-/social-engineering-awareness) | jährlich | | schulung zu dieser richtlinie und zur is-richtlinie | bei eintritt + bei änderungen | **[zu prüfen: findet eine strukturierte schulung statt? falls informell, formalisieren und dokumentieren.]** ## 4. überwachung privilegierter mitarbeitender (#37) mitarbeitende mit privilegiertem zugriff auf kritische klartextdaten werden: - sorgfältig ausgewählt und geschult, - durch audit-trails überwacht, die regelmässig (mindestens stichprobenweise) ausgewertet werden (siehe `11_logging_und_monitoring.md`), - bei offboarding sofort entzogen (siehe `02_zugriffsmanagement_iam_pam.md` abschnitt 5). ## 5. stand der umsetzung / lücken | thema | status | massnahme | |---|---|---| | ndas für alle mitarbeitenden | [zu prüfen] | vollständigkeit sicherstellen | | strafregisterauszug bei einstellung | [zu prüfen] | einführen falls nicht vorhanden | | dokumentierte jährliche schulung | [zu prüfen] | formalisieren | ", "nextReview": "", "overdueReview": false, "zuPruefen": ["1. Vertraulichkeitsverpflichtung (#23)", "2. Sorgfältige Auswahl und Hintergrundprüfung (#35)", "2. Sorgfältige Auswahl und Hintergrundprüfung (#35)", "2. Sorgfältige Auswahl und Hintergrundprüfung (#35)", "3. Schulung und Awareness", "5. Stand der Umsetzung / Lücken", "5. Stand der Umsetzung / Lücken", "5. Stand der Umsetzung / Lücken"]}, {"id": "05_betrieb/04_Verschluesselung_und_Schluesselmanagement.md", "path": "05_betrieb/04_Verschluesselung_und_Schluesselmanagement.md", "chapter": "05_betrieb", "title": "Verschlüsselung und Schlüsselmanagement", "filename": "04_Verschluesselung_und_Schluesselmanagement.md", "meta": {}, "html": "<h1>Verschlüsselung und Schlüsselmanagement<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Konzept <strong>Geltungsbereich:<\/strong> Speicherung und Übertragung aller Kundendaten der PORTA-Plattform <strong>Version:<\/strong> 1.0 <strong>Status:<\/strong> Entwurf zur internen Freigabe <strong>Owner:<\/strong> Betrieb / DevOps <strong>Letzte Aktualisierung:<\/strong> 02.06.2026 <strong>Deckt ab (CACC):<\/strong> 43, 44, 45, 46, 70, 71, 72<\/p>\n<hr>\n<h2>1. Verschlüsselung bei der Übertragung (in transit) (#70)<\/h2>\n<table><thead><tr><th>Verbindung<\/th><th>Schutz<\/th><\/tr><\/thead><tbody><tr><td>Endnutzer → <code>api.poweron.swiss<\/code><\/td><td>HTTPS / TLS [ZU PRÜFEN: TLS 1.2 / 1.3? Ältere Versionen deaktiviert?]<\/td><\/tr><tr><td>Anwendung → Datenbank <code>db.poweron.swiss<\/code><\/td><td>[ZU PRÜFEN: TLS/SSL auf PostgreSQL-Verbindung aktiv?]<\/td><\/tr><tr><td>Anwendung → LLM-Provider (OpenAI etc.)<\/td><td>HTTPS / TLS (durch Provider-APIs)<\/td><\/tr><tr><td>System-E-Mail (Azure Communication Services)<\/td><td>TLS<\/td><\/tr><\/tbody><\/table>\n<p><strong>Vorgabe:<\/strong> Alle externen Verbindungen über TLS 1.2 oder höher; ältere Protokolle deaktiviert.<\/p>\n<h2>2. Verschlüsselung im Ruhezustand (at rest) (#70)<\/h2>\n<table><thead><tr><th>Datenort<\/th><th>Verschlüsselung<\/th><\/tr><\/thead><tbody><tr><td>PostgreSQL-Datenbank (Infomaniak Managed DB)<\/td><td>[ZU PRÜFEN: At-Rest-Verschlüsselung durch Infomaniak aktiviert? Standard bei Managed Databases bestätigen]<\/td><\/tr><tr><td>VM-Speicher (Infomaniak)<\/td><td>[ZU PRÜFEN: Volume-Verschlüsselung]<\/td><\/tr><tr><td>Backup-/Export-Dateien (JSON)<\/td><td><strong>Aktuell unverschlüsselt<\/strong> — siehe Hinweis unten<\/td><\/tr><\/tbody><\/table>\n<blockquote><strong>Wichtiger offener Punkt:<\/strong> Die JSON-Exporte aus <code>datenbank-handling.md<\/code> enthalten <em>alle<\/em> Kundendaten im Klartext und sind aktuell nicht verschlüsselt. <strong>Massnahme:<\/strong> Export-Dateien verschlüsselt ablegen (z. B. AES-256 / GPG) und Aufbewahrungsort absichern. → siehe <code>13_Datenaufbewahrung_Loeschung_LegalHold.md<\/code>.<\/blockquote>\n<h2>3. Verarbeitung bei LLM-Providern (in use)<\/h2>\n<p>Zur KI-Verarbeitung werden Inhaltsdaten an externe LLM-Provider übermittelt (Primär: OpenAI, USA). Während der Verarbeitung liegen die Daten beim Provider. Schutzmechanismen:<\/p>\n<ul><li>Übertragung ausschliesslich über TLS.<\/li><li>Vertragliche Absicherung über AVV/DPA und (für US-Provider) EU-Standardvertragsklauseln. <strong>[ZU PRÜFEN: Verträge abgeschlossen — siehe <code>17_Subunternehmer_Management.md<\/code>]<\/strong><\/li><li>Zero-Data-Retention-Vereinbarung (Daten werden nicht für Provider-Training genutzt). <strong>[ZU PRÜFEN: Enterprise-Tier / Opt-out aktiviert?]<\/strong><\/li><\/ul>\n<h2>4. Schlüsselmanagement-Modelle (#4346, #71)<\/h2>\n<p>Der Katalog beschreibt vier Modelle. Aktueller Stand und Angebot von PowerOn:<\/p>\n<table><thead><tr><th>Modell<\/th><th>Beschreibung<\/th><th>PowerOn-Angebot<\/th><\/tr><\/thead><tbody><tr><td><strong>A — Kundenkontrolliert<\/strong><\/td><td>Schlüssel nur für vom Kunden zugelassene Nutzer/Prozesse<\/td><td>[ZU PRÜFEN: technisch möglich?]<\/td><\/tr><tr><td><strong>B — Anbieter verwaltet (Standard)<\/strong><\/td><td>Schlüssel im Speicher von PowerOn/Infomaniak, PowerOn verwaltet<\/td><td>Aktueller Stand: Infomaniak Managed Keys<\/td><\/tr><tr><td><strong>C — Anbieter-Speicher, Kunde verwaltet remote<\/strong><\/td><td>Schlüssel bei PowerOn, Verwaltung durch Kunde<\/td><td>[ZU PRÜFEN]<\/td><\/tr><tr><td><strong>D — Kunden-Schlüsselspeicher (BYOK)<\/strong><\/td><td>Schlüssel in kundenseitigem Key Store<\/td><td>[ZU PRÜFEN: BYOK angeboten?]<\/td><\/tr><\/tbody><\/table>\n<p><strong>Realistische Aussage für das Assessment:<\/strong> Aktuell wird Modell B (anbieterverwaltet über Infomaniak) genutzt. BYOK/kundenkontrollierte Schlüssel sind [ZU PRÜFEN: nicht / in Planung].<\/p>\n<h2>5. Schlüssellebenszyklus (#72)<\/h2>\n<p>Anforderungen für sichere Erzeugung, Speicherung, Archivierung, Abfrage, Verteilung, Sperrung und Löschung von Schlüsseln:<\/p>\n<table><thead><tr><th>Phase<\/th><th>Vorgabe<\/th><th>Status<\/th><\/tr><\/thead><tbody><tr><td>Erzeugung<\/td><td>Durch Infomaniak Managed DB / etablierte Bibliotheken<\/td><td>[ZU PRÜFEN]<\/td><\/tr><tr><td>Speicherung<\/td><td>Getrennt von verschlüsselten Daten<\/td><td>[ZU PRÜFEN]<\/td><\/tr><tr><td>API-Keys (OpenAI etc.)<\/td><td>In <code>.env<\/code> auf dem Server, nicht im Git<\/td><td>Umgesetzt (Konfiguration getrennt)<\/td><\/tr><tr><td>Rotation<\/td><td>API-Keys bei Offboarding/Verdacht rotieren<\/td><td>[ZU PRÜFEN: Rotationsintervall definieren]<\/td><\/tr><tr><td>Sperrung/Löschung<\/td><td>Bei Vertragsende Schlüssel vernichten (Krypto-Löschung)<\/td><td>siehe Dok 13<\/td><\/tr><\/tbody><\/table>\n<h2>6. Stand der Umsetzung / Lücken<\/h2>\n<table><thead><tr><th>Thema<\/th><th>Status<\/th><th>Massnahme<\/th><\/tr><\/thead><tbody><tr><td>At-Rest-Verschlüsselung DB bestätigen<\/td><td>[ZU PRÜFEN]<\/td><td>Bei Infomaniak verifizieren, dokumentieren<\/td><\/tr><tr><td>Export-Dateien verschlüsseln<\/td><td>Offen<\/td><td>AES-256/GPG einführen<\/td><\/tr><tr><td>BYOK-Angebot<\/td><td>[ZU PRÜFEN]<\/td><td>Entscheidung für regulierte Kunden<\/td><\/tr><tr><td>Schlüssel-Rotationsintervall<\/td><td>Offen<\/td><td>Festlegen<\/td><\/tr><\/tbody><\/table>", "text": "# verschlüsselung und schlüsselmanagement **dokumenttyp:** konzept **geltungsbereich:** speicherung und übertragung aller kundendaten der porta-plattform **version:** 1.0 **status:** entwurf zur internen freigabe **owner:** betrieb / devops **letzte aktualisierung:** 02.06.2026 **deckt ab (cacc):** 43, 44, 45, 46, 70, 71, 72 --- ## 1. verschlüsselung bei der übertragung (in transit) (#70) | verbindung | schutz | |---|---| | endnutzer → `api.poweron.swiss` | https / tls [zu prüfen: tls 1.2 / 1.3? ältere versionen deaktiviert?] | | anwendung → datenbank `db.poweron.swiss` | [zu prüfen: tls/ssl auf postgresql-verbindung aktiv?] | | anwendung → llm-provider (openai etc.) | https / tls (durch provider-apis) | | system-e-mail (azure communication services) | tls | **vorgabe:** alle externen verbindungen über tls 1.2 oder höher; ältere protokolle deaktiviert. ## 2. verschlüsselung im ruhezustand (at rest) (#70) | datenort | verschlüsselung | |---|---| | postgresql-datenbank (infomaniak managed db) | [zu prüfen: at-rest-verschlüsselung durch infomaniak aktiviert? standard bei managed databases bestätigen] | | vm-speicher (infomaniak) | [zu prüfen: volume-verschlüsselung] | | backup-/export-dateien (json) | **aktuell unverschlüsselt** — siehe hinweis unten | > **wichtiger offener punkt:** die json-exporte aus `datenbank-handling.md` enthalten *alle* kundendaten im klartext und sind aktuell nicht verschlüsselt. **massnahme:** export-dateien verschlüsselt ablegen (z. b. aes-256 / gpg) und aufbewahrungsort absichern. → siehe `13_datenaufbewahrung_loeschung_legalhold.md`. ## 3. verarbeitung bei llm-providern (in use) zur ki-verarbeitung werden inhaltsdaten an externe llm-provider übermittelt (primär: openai, usa). während der verarbeitung liegen die daten beim provider. schutzmechanismen: - übertragung ausschliesslich über tls. - vertragliche absicherung über avv/dpa und (für us-provider) eu-standardvertragsklauseln. **[zu prüfen: verträge abgeschlossen — siehe `17_subunternehmer_management.md`]** - zero-data-retention-vereinbarung (daten werden nicht für provider-training genutzt). **[zu prüfen: enterprise-tier / opt-out aktiviert?]** ## 4. schlüsselmanagement-modelle (#4346, #71) der katalog beschreibt vier modelle. aktueller stand und angebot von poweron: | modell | beschreibung | poweron-angebot | |---|---|---| | **a — kundenkontrolliert** | schlüssel nur für vom kunden zugelassene nutzer/prozesse | [zu prüfen: technisch möglich?] | | **b — anbieter verwaltet (standard)** | schlüssel im speicher von poweron/infomaniak, poweron verwaltet | aktueller stand: infomaniak managed keys | | **c — anbieter-speicher, kunde verwaltet remote** | schlüssel bei poweron, verwaltung durch kunde | [zu prüfen] | | **d — kunden-schlüsselspeicher (byok)** | schlüssel in kundenseitigem key store | [zu prüfen: byok angeboten?] | **realistische aussage für das assessment:** aktuell wird modell b (anbieterverwaltet über infomaniak) genutzt. byok/kundenkontrollierte schlüssel sind [zu prüfen: nicht / in planung]. ## 5. schlüssellebenszyklus (#72) anforderungen für sichere erzeugung, speicherung, archivierung, abfrage, verteilung, sperrung und löschung von schlüsseln: | phase | vorgabe | status | |---|---|---| | erzeugung | durch infomaniak managed db / etablierte bibliotheken | [zu prüfen] | | speicherung | getrennt von verschlüsselten daten | [zu prüfen] | | api-keys (openai etc.) | in `.env` auf dem server, nicht im git | umgesetzt (konfiguration getrennt) | | rotation | api-keys bei offboarding/verdacht rotieren | [zu prüfen: rotationsintervall definieren] | | sperrung/löschung | bei vertragsende schlüssel vernichten (krypto-löschung) | siehe dok 13 | ## 6. stand der umsetzung / lücken | thema | status | massnahme | |---|---|---| | at-rest-verschlüsselung db bestätigen | [zu prüfen] | bei infomaniak verifizieren, dokumentieren | | export-dateien verschlüsseln | offen | aes-256/gpg einführen | | byok-angebot | [zu prüfen] | entscheidung für regulierte kunden | | schlüssel-rotationsintervall | offen | festlegen | ", "nextReview": "", "overdueReview": false, "zuPruefen": ["1. Verschlüsselung bei der Übertragung (in transit) (#70)", "1. Verschlüsselung bei der Übertragung (in transit) (#70)", "2. Verschlüsselung im Ruhezustand (at rest) (#70)", "2. Verschlüsselung im Ruhezustand (at rest) (#70)", "3. Verarbeitung bei LLM-Providern (in use)", "3. Verarbeitung bei LLM-Providern (in use)", "4. Schlüsselmanagement-Modelle (#4346, #71)", "4. Schlüsselmanagement-Modelle (#4346, #71)", "4. Schlüsselmanagement-Modelle (#4346, #71)", "4. Schlüsselmanagement-Modelle (#4346, #71)", "5. Schlüssellebenszyklus (#72)", "5. Schlüssellebenszyklus (#72)", "5. Schlüssellebenszyklus (#72)", "6. Stand der Umsetzung / Lücken", "6. Stand der Umsetzung / Lücken"]}, {"id": "05_betrieb/05_Backup_und_Wiederherstellung.md", "path": "05_betrieb/05_Backup_und_Wiederherstellung.md", "chapter": "05_betrieb", "title": "Backup und Wiederherstellung", "filename": "05_Backup_und_Wiederherstellung.md", "meta": {}, "html": "<h1>Backup und Wiederherstellung<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Konzept &amp; Prozess <strong>Geltungsbereich:<\/strong> Alle Kundendaten auf <code>db.poweron.swiss<\/code> <strong>Version:<\/strong> 1.0 <strong>Status:<\/strong> Entwurf zur internen Freigabe <strong>Owner:<\/strong> Betrieb / DevOps <strong>Letzte Aktualisierung:<\/strong> 02.06.2026 <strong>Deckt ab (CACC):<\/strong> 75, 87 <strong>Verweist auf:<\/strong> <code>datenbank-handling.md<\/code>, <code>bcm_runbook.md<\/code><\/p>\n<hr>\n<h2>1. Backup-Strategie (mehrschichtig)<\/h2>\n<p>PowerOn sichert Daten auf zwei Ebenen (vgl. <code>datenbank-handling.md<\/code> Abschnitt 4):<\/p>\n<table><thead><tr><th>Ebene<\/th><th>Mechanismus<\/th><th>Verantwortung<\/th><\/tr><\/thead><tbody><tr><td><strong>Infrastruktur<\/strong><\/td><td>Snapshots der Infomaniak Managed PostgreSQL<\/td><td>Infomaniak / Betrieb<\/td><\/tr><tr><td><strong>Anwendung<\/strong><\/td><td>Vollständiger JSON-Export aller 13 Datenbanken via Admin-UI oder Script<\/td><td>Betrieb (SysAdmin)<\/td><\/tr><\/tbody><\/table>\n<p>Token- und AuthEvent-Tabellen sowie die Testdatenbank werden vom Export ausgeschlossen.<\/p>\n<h2>2. Anforderung #75 — die drei Pflichtelemente<\/h2>\n<p>Punkt #75 verlangt explizit drei Dinge. Stand und Massnahmen:<\/p>\n<h3>2.1 Angemessener Schutz der gesicherten Daten<\/h3>\n<ul><li>Backup-Dateien enthalten alle Kundendaten und sind als vertraulich klassifiziert.<\/li><li><strong>Offen:<\/strong> Export-Dateien aktuell unverschlüsselt → Verschlüsselung einführen (siehe Dok 04).<\/li><li>Ablage nur auf gesicherten Speichern, nicht auf persönlichen Geräten/Cloud (vgl. <code>datenbank-handling.md<\/code> Abschnitt 6).<\/li><\/ul>\n<h3>2.2 Überwachung der Datensicherung<\/h3>\n<ul><li><strong>Offen / [ZU PRÜFEN]:<\/strong> Werden Infomaniak-Snapshots automatisch überwacht (Erfolg/Fehler-Alerting)?<\/li><li><strong>Massnahme:<\/strong> Automatisiertes Alerting bei fehlgeschlagenem Backup einrichten; Backup-Status mindestens wöchentlich kontrollieren.<\/li><\/ul>\n<h3>2.3 Test der Wiederherstellungsverfahren<\/h3>\n<ul><li>Das technische Restore-Verfahren ist in <code>bcm_runbook.md<\/code> Abschnitt 2 vollständig dokumentiert (pg_dump/pg_restore + Migrations-Tool).<\/li><li><strong>Offen:<\/strong> Es fehlt ein dokumentierter, regelmässiger Restore-Test.<\/li><li><strong>Massnahme:<\/strong> Mindestens <strong>vierteljährlich<\/strong> einen Restore-Test auf der INT-Umgebung durchführen und protokollieren (Datum, getestete DB, Dauer, Ergebnis, Tester).<\/li><\/ul>\n<h2>3. Backup-Frequenz und Aufbewahrung<\/h2>\n<table><thead><tr><th>Anlass<\/th><th>Aktion<\/th><th>Aufbewahrung<\/th><\/tr><\/thead><tbody><tr><td>Vor jedem Deployment<\/td><td>Export via Admin-UI<\/td><td>bis zum nächsten erfolgreichen Deployment<\/td><\/tr><tr><td>Vor DB-Migrationen<\/td><td>Export + beschriftet archivieren<\/td><td>mind. 90 Tage<\/td><\/tr><tr><td>Wöchentlich<\/td><td>Archiv-Export<\/td><td>[ZU PRÜFEN: Aufbewahrungsdauer festlegen, z. B. 90 Tage]<\/td><\/tr><tr><td>Infrastruktur-Snapshot<\/td><td>automatisch (Infomaniak)<\/td><td>[ZU PRÜFEN: Intervall &amp; Retention bei Infomaniak]<\/td><\/tr><\/tbody><\/table>\n<h2>4. Wiederherstellungsziele (RTO/RPO)<\/h2>\n<table><thead><tr><th>Parameter<\/th><th>Zielwert<\/th><th>Bemerkung<\/th><\/tr><\/thead><tbody><tr><td>RTO (Recovery Time Objective)<\/td><td>[ZU PRÜFEN, Vorschlag: ≤ 4 h]<\/td><td>Restore dauert lt. Runbook „wenige Minuten bis 1 Stunde\"<\/td><\/tr><tr><td>RPO (Recovery Point Objective)<\/td><td>[ZU PRÜFEN, Vorschlag: ≤ 24 h]<\/td><td>Abhängig von Snapshot-/Export-Frequenz<\/td><\/tr><\/tbody><\/table>\n<blockquote>Hinweis: RTO/RPO müssen zu den im SLA gegenüber Kunden zugesagten Werten passen (AGB Anhang B). Aktuell im AGB-Entwurf RTO ≤ 4 h / RPO ≤ 1 h — das erfordert häufigere Sicherungen als die aktuelle wöchentliche Praxis. <strong>Abgleich nötig.<\/strong><\/blockquote>\n<h2>5. Restore-Test-Protokoll (Vorlage)<\/h2>\n<table><thead><tr><th>Datum<\/th><th>Getestete DB<\/th><th>Quelle (Backup)<\/th><th>Dauer<\/th><th>Ergebnis<\/th><th>Tester<\/th><\/tr><\/thead><tbody><tr><td><\/td><td><\/td><td><\/td><td><\/td><td><\/td><td><\/td><\/tr><\/tbody><\/table>\n<h2>6. Stand der Umsetzung / Lücken<\/h2>\n<table><thead><tr><th>Thema<\/th><th>Status<\/th><th>Massnahme<\/th><\/tr><\/thead><tbody><tr><td>Backup-Verschlüsselung<\/td><td>Offen<\/td><td>siehe Dok 04<\/td><\/tr><tr><td>Backup-Monitoring/Alerting<\/td><td>[ZU PRÜFEN]<\/td><td>Einrichten<\/td><\/tr><tr><td>Regelmässiger Restore-Test<\/td><td>Offen<\/td><td>Vierteljährlich + Protokoll<\/td><\/tr><tr><td>RTO/RPO mit SLA abgleichen<\/td><td>Offen<\/td><td>Werte festlegen &amp; Frequenz anpassen<\/td><\/tr><\/tbody><\/table>", "text": "# backup und wiederherstellung **dokumenttyp:** konzept & prozess **geltungsbereich:** alle kundendaten auf `db.poweron.swiss` **version:** 1.0 **status:** entwurf zur internen freigabe **owner:** betrieb / devops **letzte aktualisierung:** 02.06.2026 **deckt ab (cacc):** 75, 87 **verweist auf:** `datenbank-handling.md`, `bcm_runbook.md` --- ## 1. backup-strategie (mehrschichtig) poweron sichert daten auf zwei ebenen (vgl. `datenbank-handling.md` abschnitt 4): | ebene | mechanismus | verantwortung | |---|---|---| | **infrastruktur** | snapshots der infomaniak managed postgresql | infomaniak / betrieb | | **anwendung** | vollständiger json-export aller 13 datenbanken via admin-ui oder script | betrieb (sysadmin) | token- und authevent-tabellen sowie die testdatenbank werden vom export ausgeschlossen. ## 2. anforderung #75 — die drei pflichtelemente punkt #75 verlangt explizit drei dinge. stand und massnahmen: ### 2.1 angemessener schutz der gesicherten daten - backup-dateien enthalten alle kundendaten und sind als vertraulich klassifiziert. - **offen:** export-dateien aktuell unverschlüsselt → verschlüsselung einführen (siehe dok 04). - ablage nur auf gesicherten speichern, nicht auf persönlichen geräten/cloud (vgl. `datenbank-handling.md` abschnitt 6). ### 2.2 überwachung der datensicherung - **offen / [zu prüfen]:** werden infomaniak-snapshots automatisch überwacht (erfolg/fehler-alerting)? - **massnahme:** automatisiertes alerting bei fehlgeschlagenem backup einrichten; backup-status mindestens wöchentlich kontrollieren. ### 2.3 test der wiederherstellungsverfahren - das technische restore-verfahren ist in `bcm_runbook.md` abschnitt 2 vollständig dokumentiert (pg_dump/pg_restore + migrations-tool). - **offen:** es fehlt ein dokumentierter, regelmässiger restore-test. - **massnahme:** mindestens **vierteljährlich** einen restore-test auf der int-umgebung durchführen und protokollieren (datum, getestete db, dauer, ergebnis, tester). ## 3. backup-frequenz und aufbewahrung | anlass | aktion | aufbewahrung | |---|---|---| | vor jedem deployment | export via admin-ui | bis zum nächsten erfolgreichen deployment | | vor db-migrationen | export + beschriftet archivieren | mind. 90 tage | | wöchentlich | archiv-export | [zu prüfen: aufbewahrungsdauer festlegen, z. b. 90 tage] | | infrastruktur-snapshot | automatisch (infomaniak) | [zu prüfen: intervall & retention bei infomaniak] | ## 4. wiederherstellungsziele (rto/rpo) | parameter | zielwert | bemerkung | |---|---|---| | rto (recovery time objective) | [zu prüfen, vorschlag: ≤ 4 h] | restore dauert lt. runbook „wenige minuten bis 1 stunde\" | | rpo (recovery point objective) | [zu prüfen, vorschlag: ≤ 24 h] | abhängig von snapshot-/export-frequenz | > hinweis: rto/rpo müssen zu den im sla gegenüber kunden zugesagten werten passen (agb anhang b). aktuell im agb-entwurf rto ≤ 4 h / rpo ≤ 1 h — das erfordert häufigere sicherungen als die aktuelle wöchentliche praxis. **abgleich nötig.** ## 5. restore-test-protokoll (vorlage) | datum | getestete db | quelle (backup) | dauer | ergebnis | tester | |---|---|---|---|---|---| | | | | | | | ## 6. stand der umsetzung / lücken | thema | status | massnahme | |---|---|---| | backup-verschlüsselung | offen | siehe dok 04 | | backup-monitoring/alerting | [zu prüfen] | einrichten | | regelmässiger restore-test | offen | vierteljährlich + protokoll | | rto/rpo mit sla abgleichen | offen | werte festlegen & frequenz anpassen | ", "nextReview": "", "overdueReview": false, "zuPruefen": ["2.2 Überwachung der Datensicherung", "3. Backup-Frequenz und Aufbewahrung", "3. Backup-Frequenz und Aufbewahrung", "4. Wiederherstellungsziele (RTO/RPO)", "4. Wiederherstellungsziele (RTO/RPO)", "6. Stand der Umsetzung / Lücken"]}, {"id": "05_betrieb/06_Business_Continuity_und_Disaster_Recovery.md", "path": "05_betrieb/06_Business_Continuity_und_Disaster_Recovery.md", "chapter": "05_betrieb", "title": "Business Continuity (BCP) und Disaster Recovery (DRP)", "filename": "06_Business_Continuity_und_Disaster_Recovery.md", "meta": {}, "html": "<h1>Business Continuity (BCP) und Disaster Recovery (DRP)<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Konzept &amp; Plan <strong>Geltungsbereich:<\/strong> PORTA-Plattform und zugehörige Infrastruktur <strong>Version:<\/strong> 1.0 <strong>Status:<\/strong> Entwurf zur internen Freigabe <strong>Owner:<\/strong> Geschäftsführung / Betrieb <strong>Letzte Aktualisierung:<\/strong> 02.06.2026 <strong>Deckt ab (CACC):<\/strong> 3, 79, 87 <strong>Verweist auf:<\/strong> <code>bcm_runbook.md<\/code>, <code>05_Backup_und_Wiederherstellung.md<\/code>, <code>drittanbieter-inventar.md<\/code><\/p>\n<hr>\n<h2>1. Zweck<\/h2>\n<p>Dieser Plan stellt die kontinuierliche Leistungserbringung und die Wiederherstellung der PORTA-Plattform im Katastrophen- und Störfall sicher. Die operativen Schritte sind im <code>bcm_runbook.md<\/code> dokumentiert; dieses Dokument liefert den organisatorischen Rahmen (Szenarien, Rollen, Ziele, Tests).<\/p>\n<h2>2. Kritische Komponenten und Abhängigkeiten<\/h2>\n<p>Aus dem Drittanbieter-Inventar ergeben sich die geschäftskritischen Abhängigkeiten:<\/p>\n<table><thead><tr><th>Komponente<\/th><th>Anbieter<\/th><th>Auswirkung bei Ausfall<\/th><\/tr><\/thead><tbody><tr><td>VM-Hosting &amp; DB<\/td><td>Infomaniak (CH)<\/td><td><strong>Totalausfall<\/strong> der Plattform<\/td><\/tr><tr><td>Primärer LLM-Provider<\/td><td>OpenAI (USA)<\/td><td>KI-Features (Chat, Agent, Automation) nicht verfügbar — Ausweichen auf Anthropic/Mistral möglich<\/td><\/tr><tr><td>Auth<\/td><td>Microsoft Azure AD / Google OAuth<\/td><td>Login für betroffene Nutzer nicht möglich<\/td><\/tr><tr><td>Zahlungen<\/td><td>Stripe<\/td><td>Neue Abos/Zahlungen schlagen fehl<\/td><\/tr><tr><td>System-E-Mail<\/td><td>Azure Communication Services (CH)<\/td><td>Einladungen/Benachrichtigungen werden nicht zugestellt<\/td><\/tr><\/tbody><\/table>\n<h2>3. Szenarien und Reaktion<\/h2>\n<table><thead><tr><th>#<\/th><th>Szenario<\/th><th>Reaktion<\/th><th>Referenz<\/th><\/tr><\/thead><tbody><tr><td>1<\/td><td>API antwortet nicht / Timeouts<\/td><td>Service-Neustart<\/td><td><code>bcm_runbook.md<\/code> §1<\/td><\/tr><tr><td>2<\/td><td>Datenverlust / fehlerhafte Migration<\/td><td>Backup-Restore<\/td><td><code>bcm_runbook.md<\/code> §2<\/td><\/tr><tr><td>3<\/td><td>Fehlerhaftes Release<\/td><td>Rollback (Git/Forgejo)<\/td><td><code>bcm_runbook.md<\/code> §3<\/td><\/tr><tr><td>4<\/td><td>Ausfall LLM-Primärprovider<\/td><td>Umschalten auf alternativen Provider (Anthropic/Mistral)<\/td><td>[ZU PRÜFEN: Failover-Konfiguration dokumentieren]<\/td><\/tr><tr><td>5<\/td><td>Totalausfall Infomaniak-Region<\/td><td>Wiederaufbau aus Export-Backup<\/td><td>siehe unten<\/td><\/tr><\/tbody><\/table>\n<h2>4. Verfügbarkeitsüberwachung (#79)<\/h2>\n<ul><li>Health-Check-Endpunkt: <code>GET /api/admin/health<\/code> (liefert 200 OK bei intaktem Betrieb).<\/li><li>[ZU PRÜFEN: Existiert ein automatisiertes Uptime-Monitoring, das den Health-Check periodisch prüft und bei Ausfall alarmiert? Falls nicht: einrichten (z. B. externer Monitor + Alert an Betrieb).]<\/li><\/ul>\n<h2>5. Wiederherstellungsziele<\/h2>\n<table><thead><tr><th>Parameter<\/th><th>Zielwert<\/th><th>Quelle<\/th><\/tr><\/thead><tbody><tr><td>RTO<\/td><td>[ZU PRÜFEN, Vorschlag ≤ 4 h]<\/td><td>mit SLA abgleichen<\/td><\/tr><tr><td>RPO<\/td><td>[ZU PRÜFEN, Vorschlag ≤ 24 h]<\/td><td>abhängig von Backup-Frequenz<\/td><\/tr><\/tbody><\/table>\n<h2>6. Geografische Trennung / Backup-Standort<\/h2>\n<blockquote><strong>Offener Punkt:<\/strong> Punkt #3 / FINMA verlangt angemessene Redundanz. Aktuell liegen Prod und Backup in der Infomaniak-Umgebung. <strong>[ZU PRÜFEN: Liegen Snapshots/Backups in einer getrennten Infomaniak-Region oder einem getrennten Rechenzentrum? Falls nicht, geografisch getrennte Backup-Ablage als Massnahme aufnehmen.]<\/strong><\/blockquote>\n<h2>7. Tests und Überprüfung<\/h2>\n<table><thead><tr><th>Test<\/th><th>Häufigkeit<\/th><th>Status<\/th><\/tr><\/thead><tbody><tr><td>Restore-Test (DB)<\/td><td>Vierteljährlich<\/td><td>siehe Dok 05 — neu einzuführen<\/td><\/tr><tr><td>Rollback-Übung<\/td><td>Halbjährlich<\/td><td>[ZU PRÜFEN]<\/td><\/tr><tr><td>LLM-Failover-Test<\/td><td>Halbjährlich<\/td><td>[ZU PRÜFEN]<\/td><\/tr><tr><td>BCP-Review (Aktualität)<\/td><td>Jährlich<\/td><td>neu<\/td><\/tr><\/tbody><\/table>\n<h2>8. Kommunikation im Notfall<\/h2>\n<table><thead><tr><th>Rolle<\/th><th>Kontakt<\/th><\/tr><\/thead><tbody><tr><td>Betrieb / DevOps (Server-Zugang)<\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td>Drittdienste / Eskalation<\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td>Kundeninformation (bei Vorfall)<\/td><td>siehe <code>07_Incident_Response_und_Meldewesen.md<\/code><\/td><\/tr><\/tbody><\/table>\n<h2>9. Stand der Umsetzung / Lücken<\/h2>\n<table><thead><tr><th>Thema<\/th><th>Status<\/th><th>Massnahme<\/th><\/tr><\/thead><tbody><tr><td>Automatisiertes Uptime-Monitoring<\/td><td>[ZU PRÜFEN]<\/td><td>Einrichten + Alerting<\/td><\/tr><tr><td>Geografisch getrenntes Backup<\/td><td>[ZU PRÜFEN]<\/td><td>Klären / umsetzen<\/td><\/tr><tr><td>Dokumentierte Tests<\/td><td>Offen<\/td><td>Testplan etablieren<\/td><\/tr><tr><td>LLM-Failover dokumentieren<\/td><td>Offen<\/td><td>Konfiguration festhalten<\/td><\/tr><\/tbody><\/table>", "text": "# business continuity (bcp) und disaster recovery (drp) **dokumenttyp:** konzept & plan **geltungsbereich:** porta-plattform und zugehörige infrastruktur **version:** 1.0 **status:** entwurf zur internen freigabe **owner:** geschäftsführung / betrieb **letzte aktualisierung:** 02.06.2026 **deckt ab (cacc):** 3, 79, 87 **verweist auf:** `bcm_runbook.md`, `05_backup_und_wiederherstellung.md`, `drittanbieter-inventar.md` --- ## 1. zweck dieser plan stellt die kontinuierliche leistungserbringung und die wiederherstellung der porta-plattform im katastrophen- und störfall sicher. die operativen schritte sind im `bcm_runbook.md` dokumentiert; dieses dokument liefert den organisatorischen rahmen (szenarien, rollen, ziele, tests). ## 2. kritische komponenten und abhängigkeiten aus dem drittanbieter-inventar ergeben sich die geschäftskritischen abhängigkeiten: | komponente | anbieter | auswirkung bei ausfall | |---|---|---| | vm-hosting & db | infomaniak (ch) | **totalausfall** der plattform | | primärer llm-provider | openai (usa) | ki-features (chat, agent, automation) nicht verfügbar — ausweichen auf anthropic/mistral möglich | | auth | microsoft azure ad / google oauth | login für betroffene nutzer nicht möglich | | zahlungen | stripe | neue abos/zahlungen schlagen fehl | | system-e-mail | azure communication services (ch) | einladungen/benachrichtigungen werden nicht zugestellt | ## 3. szenarien und reaktion | # | szenario | reaktion | referenz | |---|---|---|---| | 1 | api antwortet nicht / timeouts | service-neustart | `bcm_runbook.md` §1 | | 2 | datenverlust / fehlerhafte migration | backup-restore | `bcm_runbook.md` §2 | | 3 | fehlerhaftes release | rollback (git/forgejo) | `bcm_runbook.md` §3 | | 4 | ausfall llm-primärprovider | umschalten auf alternativen provider (anthropic/mistral) | [zu prüfen: failover-konfiguration dokumentieren] | | 5 | totalausfall infomaniak-region | wiederaufbau aus export-backup | siehe unten | ## 4. verfügbarkeitsüberwachung (#79) - health-check-endpunkt: `get /api/admin/health` (liefert 200 ok bei intaktem betrieb). - [zu prüfen: existiert ein automatisiertes uptime-monitoring, das den health-check periodisch prüft und bei ausfall alarmiert? falls nicht: einrichten (z. b. externer monitor + alert an betrieb).] ## 5. wiederherstellungsziele | parameter | zielwert | quelle | |---|---|---| | rto | [zu prüfen, vorschlag ≤ 4 h] | mit sla abgleichen | | rpo | [zu prüfen, vorschlag ≤ 24 h] | abhängig von backup-frequenz | ## 6. geografische trennung / backup-standort > **offener punkt:** punkt #3 / finma verlangt angemessene redundanz. aktuell liegen prod und backup in der infomaniak-umgebung. **[zu prüfen: liegen snapshots/backups in einer getrennten infomaniak-region oder einem getrennten rechenzentrum? falls nicht, geografisch getrennte backup-ablage als massnahme aufnehmen.]** ## 7. tests und überprüfung | test | häufigkeit | status | |---|---|---| | restore-test (db) | vierteljährlich | siehe dok 05 — neu einzuführen | | rollback-übung | halbjährlich | [zu prüfen] | | llm-failover-test | halbjährlich | [zu prüfen] | | bcp-review (aktualität) | jährlich | neu | ## 8. kommunikation im notfall | rolle | kontakt | |---|---| | betrieb / devops (server-zugang) | patrick motsch — p.motsch@poweron.swiss | | drittdienste / eskalation | patrick motsch — p.motsch@poweron.swiss | | kundeninformation (bei vorfall) | siehe `07_incident_response_und_meldewesen.md` | ## 9. stand der umsetzung / lücken | thema | status | massnahme | |---|---|---| | automatisiertes uptime-monitoring | [zu prüfen] | einrichten + alerting | | geografisch getrenntes backup | [zu prüfen] | klären / umsetzen | | dokumentierte tests | offen | testplan etablieren | | llm-failover dokumentieren | offen | konfiguration festhalten | ", "nextReview": "", "overdueReview": false, "zuPruefen": ["3. Szenarien und Reaktion", "4. Verfügbarkeitsüberwachung (#79)", "5. Wiederherstellungsziele", "5. Wiederherstellungsziele", "6. Geografische Trennung / Backup-Standort", "7. Tests und Überprüfung", "7. Tests und Überprüfung", "9. Stand der Umsetzung / Lücken", "9. Stand der Umsetzung / Lücken"]}, {"id": "05_betrieb/07_Incident_Response_und_Meldewesen.md", "path": "05_betrieb/07_Incident_Response_und_Meldewesen.md", "chapter": "05_betrieb", "title": "Incident Response und Meldewesen", "filename": "07_Incident_Response_und_Meldewesen.md", "meta": {}, "html": "<h1>Incident Response und Meldewesen<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Prozess <strong>Geltungsbereich:<\/strong> Alle Sicherheits- und IT-Vorfälle der PORTA-Plattform <strong>Version:<\/strong> 1.0 <strong>Status:<\/strong> Entwurf zur internen Freigabe <strong>Owner:<\/strong> Betrieb / Geschäftsführung <strong>Letzte Aktualisierung:<\/strong> 02.06.2026 <strong>Deckt ab (CACC):<\/strong> 19, 20, 27, 86<\/p>\n<hr>\n<h2>1. Zweck<\/h2>\n<p>Dieser Prozess stellt eine schnelle, effektive und angemessene Reaktion auf Sicherheits- und IT-Vorfälle sicher und regelt die <strong>Meldepflichten gegenüber Kunden<\/strong> — insbesondere die für FINMA-Kunden kritische <strong>24-Stunden-Meldung<\/strong>.<\/p>\n<h2>2. Vorfallklassifizierung (#86)<\/h2>\n<table><thead><tr><th>Stufe<\/th><th>Definition<\/th><th>Beispiel<\/th><\/tr><\/thead><tbody><tr><td><strong>P1 — Kritisch<\/strong><\/td><td>Bestätigte Verletzung von Vertraulichkeit/Integrität/Verfügbarkeit kritischer Daten; erfolgreicher Cyberangriff<\/td><td>Datenabfluss, Ransomware, DB-Kompromittierung<\/td><\/tr><tr><td><strong>P2 — Hoch<\/strong><\/td><td>Teilweise erfolgreicher Angriff; wesentliche Störung ohne bestätigten Datenverlust<\/td><td>Eingedrungener, aber isolierter Angreifer; längerer Totalausfall<\/td><\/tr><tr><td><strong>P3 — Mittel<\/strong><\/td><td>Sicherheitsrelevantes Ereignis ohne unmittelbare Kundenauswirkung<\/td><td>Verdächtige Login-Versuche, einzelne Schwachstelle<\/td><\/tr><tr><td><strong>P4 — Niedrig<\/strong><\/td><td>Geringfügig, kein Kundenbezug<\/td><td>Fehlkonfiguration ohne Exposure<\/td><\/tr><\/tbody><\/table>\n<h2>3. Reaktionsablauf<\/h2>\n<pre class=\"mermaid\">flowchart TD\n A[Vorfall erkannt] --&gt; B[Erfassen &amp; Klassifizieren P1-P4]\n B --&gt; C{Kundendaten betroffen?}\n C --&gt;|Ja| D[Sofortmassnahmen: Eindämmen, Beweise sichern]\n C --&gt;|Nein| E[Beheben &amp; dokumentieren]\n D --&gt; F[Kunde benachrichtigen - Frist 24h bei P1/P2]\n F --&gt; G[Behebung &amp; Root-Cause-Analyse]\n E --&gt; G\n G --&gt; H[Abschlussbericht &amp; Lessons Learned]\n H --&gt; I[Ticket schliessen, Massnahmen tracken]<\/pre>\n<h2>4. Meldepflichten gegenüber dem Kunden (#19, #20, #27)<\/h2>\n<table><thead><tr><th>Auslöser<\/th><th>Meldefrist<\/th><th>Empfänger<\/th><\/tr><\/thead><tbody><tr><td>Erfolgreicher/teilw. erfolgreicher Cyberangriff auf kritische Daten/Prozesse (#19)<\/td><td><strong>≤ 24 h<\/strong> nach Feststellung<\/td><td>Kunde (Sicherheitskontakt)<\/td><\/tr><tr><td>Wesentliche Verletzung Vertraulichkeit/Integrität/Verfügbarkeit (#19)<\/td><td><strong>≤ 24 h<\/strong><\/td><td>Kunde<\/td><\/tr><tr><td>Sonstige wesentliche nachteilige Entwicklungen (#20)<\/td><td>unverzüglich<\/td><td>Kunde<\/td><\/tr><tr><td>Verletzung des Berufsgeheimnisses (#27)<\/td><td>unverzüglich<\/td><td>Kunde<\/td><\/tr><\/tbody><\/table>\n<p><strong>Begründung der Frist:<\/strong> Der Kunde (FINMA-Institut) muss seinerseits die FINMA fristgerecht informieren (Art. 29 FINMAG). Die 24-h-Meldung von PowerOn ermöglicht das.<\/p>\n<h2>5. Meldeinhalt<\/h2>\n<p>Jede Meldung an den Kunden enthält, soweit bekannt: Art des Vorfalls, betroffene Datenkategorien/-mengen, betroffene Tenants/Personen, wahrscheinliche Folgen, bereits ergriffene und geplante Massnahmen, Ansprechpartner. Folgeberichte nach Vereinbarung; Abschlussbericht mit Root-Cause-Analyse innert <strong>72 h<\/strong>.<\/p>\n<h2>6. Meldewege und Kontakte<\/h2>\n<table><thead><tr><th>Funktion<\/th><th>Kontakt<\/th><\/tr><\/thead><tbody><tr><td>Interner Incident-Koordinator<\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td>Kundenmeldung (Kanal)<\/td><td>Telefon + verschlüsselte E-Mail an den im Vertrag definierten Sicherheitskontakt<\/td><\/tr><tr><td>Eskalation Drittdienste<\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><\/tbody><\/table>\n<h2>7. Beweissicherung (Forensik)<\/h2>\n<p>Bei P1/P2 werden vor der Bereinigung betroffener Systeme Beweise gesichert: relevante Logs exportieren (siehe <code>11_Logging_und_Monitoring.md<\/code>), Zeitstempel und handelnde Personen festhalten, Snapshots/Abbilder erstellen wo möglich.<\/p>\n<h2>8. Kleines Team — kompensierende Massnahmen<\/h2>\n<p>Eine 7×24-Besetzung ist nicht vorhanden. Kompensierend:<\/p>\n<ul><li>definierte Rufbereitschaft der Betriebsverantwortlichen,<\/li><li>automatisiertes Alerting (siehe Dok 11), das Vorfälle auch ausserhalb der Arbeitszeit meldet,<\/li><li>klare Eskalationskette.<\/li><\/ul>\n<p><strong>[ZU PRÜFEN: Rufbereitschaft und Erreichbarkeit konkret festlegen.]<\/strong><\/p>\n<h2>9. Stand der Umsetzung / Lücken<\/h2>\n<table><thead><tr><th>Thema<\/th><th>Status<\/th><th>Massnahme<\/th><\/tr><\/thead><tbody><tr><td>Dokumentierter Incident-Prozess<\/td><td>Neu (dieses Dokument)<\/td><td>Intern freigeben &amp; üben<\/td><\/tr><tr><td>Kundenmelde-Kontakte je Vertrag<\/td><td>Offen<\/td><td>Im Vertrag/AVV festhalten<\/td><\/tr><tr><td>Alerting für Out-of-hours<\/td><td>[ZU PRÜFEN]<\/td><td>siehe Dok 11<\/td><\/tr><tr><td>Incident-Log / Register<\/td><td>Neu<\/td><td>Anlegen<\/td><\/tr><\/tbody><\/table>", "text": "# incident response und meldewesen **dokumenttyp:** prozess **geltungsbereich:** alle sicherheits- und it-vorfälle der porta-plattform **version:** 1.0 **status:** entwurf zur internen freigabe **owner:** betrieb / geschäftsführung **letzte aktualisierung:** 02.06.2026 **deckt ab (cacc):** 19, 20, 27, 86 --- ## 1. zweck dieser prozess stellt eine schnelle, effektive und angemessene reaktion auf sicherheits- und it-vorfälle sicher und regelt die **meldepflichten gegenüber kunden** — insbesondere die für finma-kunden kritische **24-stunden-meldung**. ## 2. vorfallklassifizierung (#86) | stufe | definition | beispiel | |---|---|---| | **p1 — kritisch** | bestätigte verletzung von vertraulichkeit/integrität/verfügbarkeit kritischer daten; erfolgreicher cyberangriff | datenabfluss, ransomware, db-kompromittierung | | **p2 — hoch** | teilweise erfolgreicher angriff; wesentliche störung ohne bestätigten datenverlust | eingedrungener, aber isolierter angreifer; längerer totalausfall | | **p3 — mittel** | sicherheitsrelevantes ereignis ohne unmittelbare kundenauswirkung | verdächtige login-versuche, einzelne schwachstelle | | **p4 — niedrig** | geringfügig, kein kundenbezug | fehlkonfiguration ohne exposure | ## 3. reaktionsablauf ```mermaid flowchart td a[vorfall erkannt] --> b[erfassen & klassifizieren p1-p4] b --> c{kundendaten betroffen?} c -->|ja| d[sofortmassnahmen: eindämmen, beweise sichern] c -->|nein| e[beheben & dokumentieren] d --> f[kunde benachrichtigen - frist 24h bei p1/p2] f --> g[behebung & root-cause-analyse] e --> g g --> h[abschlussbericht & lessons learned] h --> i[ticket schliessen, massnahmen tracken] ``` ## 4. meldepflichten gegenüber dem kunden (#19, #20, #27) | auslöser | meldefrist | empfänger | |---|---|---| | erfolgreicher/teilw. erfolgreicher cyberangriff auf kritische daten/prozesse (#19) | **≤ 24 h** nach feststellung | kunde (sicherheitskontakt) | | wesentliche verletzung vertraulichkeit/integrität/verfügbarkeit (#19) | **≤ 24 h** | kunde | | sonstige wesentliche nachteilige entwicklungen (#20) | unverzüglich | kunde | | verletzung des berufsgeheimnisses (#27) | unverzüglich | kunde | **begründung der frist:** der kunde (finma-institut) muss seinerseits die finma fristgerecht informieren (art. 29 finmag). die 24-h-meldung von poweron ermöglicht das. ## 5. meldeinhalt jede meldung an den kunden enthält, soweit bekannt: art des vorfalls, betroffene datenkategorien/-mengen, betroffene tenants/personen, wahrscheinliche folgen, bereits ergriffene und geplante massnahmen, ansprechpartner. folgeberichte nach vereinbarung; abschlussbericht mit root-cause-analyse innert **72 h**. ## 6. meldewege und kontakte | funktion | kontakt | |---|---| | interner incident-koordinator | patrick motsch — p.motsch@poweron.swiss | | kundenmeldung (kanal) | telefon + verschlüsselte e-mail an den im vertrag definierten sicherheitskontakt | | eskalation drittdienste | patrick motsch — p.motsch@poweron.swiss | ## 7. beweissicherung (forensik) bei p1/p2 werden vor der bereinigung betroffener systeme beweise gesichert: relevante logs exportieren (siehe `11_logging_und_monitoring.md`), zeitstempel und handelnde personen festhalten, snapshots/abbilder erstellen wo möglich. ## 8. kleines team — kompensierende massnahmen eine 7×24-besetzung ist nicht vorhanden. kompensierend: - definierte rufbereitschaft der betriebsverantwortlichen, - automatisiertes alerting (siehe dok 11), das vorfälle auch ausserhalb der arbeitszeit meldet, - klare eskalationskette. **[zu prüfen: rufbereitschaft und erreichbarkeit konkret festlegen.]** ## 9. stand der umsetzung / lücken | thema | status | massnahme | |---|---|---| | dokumentierter incident-prozess | neu (dieses dokument) | intern freigeben & üben | | kundenmelde-kontakte je vertrag | offen | im vertrag/avv festhalten | | alerting für out-of-hours | [zu prüfen] | siehe dok 11 | | incident-log / register | neu | anlegen | ", "nextReview": "", "overdueReview": false, "zuPruefen": ["8. Kleines Team — kompensierende Massnahmen", "9. Stand der Umsetzung / Lücken"]}, {"id": "05_betrieb/08_Change_Management.md", "path": "05_betrieb/08_Change_Management.md", "chapter": "05_betrieb", "title": "Change Management", "filename": "08_Change_Management.md", "meta": {}, "html": "<h1>Change Management<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Prozess <strong>Geltungsbereich:<\/strong> Alle Änderungen an Produktivsystemen der PORTA-Plattform <strong>Version:<\/strong> 1.0 <strong>Status:<\/strong> Entwurf zur internen Freigabe <strong>Owner:<\/strong> Entwicklung / Release-Verantwortlicher <strong>Letzte Aktualisierung:<\/strong> 02.06.2026 <strong>Deckt ab (CACC):<\/strong> 81, 82, 83 <strong>Verweist auf:<\/strong> <code>feature_release_bugfix.md<\/code><\/p>\n<hr>\n<h2>1. Bestehender Prozess (Basis)<\/h2>\n<p>Der Kern des Change-Managements ist bereits in <code>feature_release_bugfix.md<\/code> dokumentiert und auditkonform aufgebaut: zentrale Erfassung, Priorisierung, Tech-Workshop, Feature-/Bugfix-Branches, Code-Review (Vier-Augen-Prinzip), Staging-Verifikation gegen Akzeptanzkriterien, Release in Produktion, versionierte Release Notes und CHANGELOG. Deployment erfolgt automatisiert über Forgejo-CI/CD.<\/p>\n<p>Dieses Dokument ergänzt die für das CACC fehlenden Aspekte (#82 Frozen Zones, #83 Konfigurationskonformität) und fasst die Risikobewertung/Genehmigung formal zusammen (#81).<\/p>\n<h2>2. Change-Kategorien und Genehmigung (#81)<\/h2>\n<table><thead><tr><th>Kategorie<\/th><th>Beispiel<\/th><th>Risikobewertung<\/th><th>Genehmigung<\/th><\/tr><\/thead><tbody><tr><td><strong>Standard<\/strong><\/td><td>Routine-Bugfix, kleinere Anpassung<\/td><td>gering<\/td><td>Code-Review (2. Entwickler)<\/td><\/tr><tr><td><strong>Normal<\/strong><\/td><td>Neues Feature, API-Änderung<\/td><td>mittel<\/td><td>Tech-Workshop + Review + Staging-Verifikation<\/td><\/tr><tr><td><strong>Major<\/strong><\/td><td>Neue Version, DB-Migration, Architekturänderung<\/td><td>hoch<\/td><td>Tech-Workshop + Review + Staging + Backup vor Deployment + explizite Release-Freigabe<\/td><\/tr><tr><td><strong>Emergency<\/strong><\/td><td>Kritischer Hotfix / Sicherheitspatch<\/td><td>situativ<\/td><td>Verkürzt: Fix + Review + sofortiges Deployment, Nachdokumentation innert 24 h<\/td><\/tr><\/tbody><\/table>\n<p>Jede Major-Änderung erfordert vor dem Deployment einen Export-Backup (siehe <code>datenbank-handling.md<\/code> / Dok 05).<\/p>\n<h2>3. Frozen Zones und Maintenance Windows (#82)<\/h2>\n<p>PowerOn ermöglicht kundenseitig definierte <strong>Frozen Zones<\/strong> (Zeiträume ohne Änderungen, z. B. Jahresabschluss einer Bank) und <strong>Maintenance Windows<\/strong>.<\/p>\n<table><thead><tr><th>Element<\/th><th>Regelung<\/th><\/tr><\/thead><tbody><tr><td>Frozen Zone<\/td><td>Auf Kundenwunsch im Vertrag/SLA definiert; in diesen Zeiträumen keine nicht-kritischen Deployments<\/td><\/tr><tr><td>Maintenance Window<\/td><td>Geplante Wartung wird mind. 5 Werktage im Voraus angekündigt<\/td><\/tr><tr><td>Notfalländerung in Frozen Zone<\/td><td>Nur bei kritischen Sicherheitsvorfällen, mit Kundeninformation<\/td><\/tr><\/tbody><\/table>\n<p><strong>[ZU PRÜFEN: Werden Frozen Zones aktuell technisch/organisatorisch berücksichtigt? Falls neu, als Prozessvorgabe etablieren.]<\/strong><\/p>\n<h2>4. Standardisierte und sichere Konfiguration (#83)<\/h2>\n<table><thead><tr><th>Element<\/th><th>Regelung<\/th><th>Status<\/th><\/tr><\/thead><tbody><tr><td>Konfigurationsdateien<\/td><td><code>.env<\/code> pro Umgebung (<code>env-prod.env<\/code>, <code>env-int.env<\/code>), getrennt, nicht im Git<\/td><td>Umgesetzt<\/td><\/tr><tr><td>Infrastruktur als Code<\/td><td>[ZU PRÜFEN: Werden Server-Konfigurationen versioniert/reproduzierbar gehalten?]<\/td><td>[ZU PRÜFEN]<\/td><\/tr><tr><td>Konformitätskontrolle<\/td><td>Regelmässige Prüfung, dass Produktivkonfiguration dem Soll entspricht<\/td><td>[ZU PRÜFEN: etablieren]<\/td><\/tr><tr><td>Härtung<\/td><td>siehe <code>12_Netzwerk_und_Infrastruktursicherheit.md<\/code><\/td><td><\/td><\/tr><\/tbody><\/table>\n<h2>5. Nachvollziehbarkeit (Auditnachweis)<\/h2>\n<p>Jede Änderung ist nachvollziehbar über: Issue/Ticket, Feature-/Bugfix-Branch, Pull Request mit Review, CI/CD-Pipeline-Lauf in Forgejo, Commit-Historie, CHANGELOG-Eintrag. Rollbacks sind über Git/Forgejo dokumentiert (<code>bcm_runbook.md<\/code> §3).<\/p>\n<h2>6. Stand der Umsetzung / Lücken<\/h2>\n<table><thead><tr><th>Thema<\/th><th>Status<\/th><th>Massnahme<\/th><\/tr><\/thead><tbody><tr><td>Change-Kategorisierung formalisiert<\/td><td>Neu<\/td><td>Übernehmen<\/td><\/tr><tr><td>Frozen Zones<\/td><td>[ZU PRÜFEN]<\/td><td>Prozess verankern<\/td><\/tr><tr><td>Konfigurations-Konformitätsprüfung<\/td><td>[ZU PRÜFEN]<\/td><td>Etablieren<\/td><\/tr><\/tbody><\/table>", "text": "# change management **dokumenttyp:** prozess **geltungsbereich:** alle änderungen an produktivsystemen der porta-plattform **version:** 1.0 **status:** entwurf zur internen freigabe **owner:** entwicklung / release-verantwortlicher **letzte aktualisierung:** 02.06.2026 **deckt ab (cacc):** 81, 82, 83 **verweist auf:** `feature_release_bugfix.md` --- ## 1. bestehender prozess (basis) der kern des change-managements ist bereits in `feature_release_bugfix.md` dokumentiert und auditkonform aufgebaut: zentrale erfassung, priorisierung, tech-workshop, feature-/bugfix-branches, code-review (vier-augen-prinzip), staging-verifikation gegen akzeptanzkriterien, release in produktion, versionierte release notes und changelog. deployment erfolgt automatisiert über forgejo-ci/cd. dieses dokument ergänzt die für das cacc fehlenden aspekte (#82 frozen zones, #83 konfigurationskonformität) und fasst die risikobewertung/genehmigung formal zusammen (#81). ## 2. change-kategorien und genehmigung (#81) | kategorie | beispiel | risikobewertung | genehmigung | |---|---|---|---| | **standard** | routine-bugfix, kleinere anpassung | gering | code-review (2. entwickler) | | **normal** | neues feature, api-änderung | mittel | tech-workshop + review + staging-verifikation | | **major** | neue version, db-migration, architekturänderung | hoch | tech-workshop + review + staging + backup vor deployment + explizite release-freigabe | | **emergency** | kritischer hotfix / sicherheitspatch | situativ | verkürzt: fix + review + sofortiges deployment, nachdokumentation innert 24 h | jede major-änderung erfordert vor dem deployment einen export-backup (siehe `datenbank-handling.md` / dok 05). ## 3. frozen zones und maintenance windows (#82) poweron ermöglicht kundenseitig definierte **frozen zones** (zeiträume ohne änderungen, z. b. jahresabschluss einer bank) und **maintenance windows**. | element | regelung | |---|---| | frozen zone | auf kundenwunsch im vertrag/sla definiert; in diesen zeiträumen keine nicht-kritischen deployments | | maintenance window | geplante wartung wird mind. 5 werktage im voraus angekündigt | | notfalländerung in frozen zone | nur bei kritischen sicherheitsvorfällen, mit kundeninformation | **[zu prüfen: werden frozen zones aktuell technisch/organisatorisch berücksichtigt? falls neu, als prozessvorgabe etablieren.]** ## 4. standardisierte und sichere konfiguration (#83) | element | regelung | status | |---|---|---| | konfigurationsdateien | `.env` pro umgebung (`env-prod.env`, `env-int.env`), getrennt, nicht im git | umgesetzt | | infrastruktur als code | [zu prüfen: werden server-konfigurationen versioniert/reproduzierbar gehalten?] | [zu prüfen] | | konformitätskontrolle | regelmässige prüfung, dass produktivkonfiguration dem soll entspricht | [zu prüfen: etablieren] | | härtung | siehe `12_netzwerk_und_infrastruktursicherheit.md` | | ## 5. nachvollziehbarkeit (auditnachweis) jede änderung ist nachvollziehbar über: issue/ticket, feature-/bugfix-branch, pull request mit review, ci/cd-pipeline-lauf in forgejo, commit-historie, changelog-eintrag. rollbacks sind über git/forgejo dokumentiert (`bcm_runbook.md` §3). ## 6. stand der umsetzung / lücken | thema | status | massnahme | |---|---|---| | change-kategorisierung formalisiert | neu | übernehmen | | frozen zones | [zu prüfen] | prozess verankern | | konfigurations-konformitätsprüfung | [zu prüfen] | etablieren | ", "nextReview": "", "overdueReview": false, "zuPruefen": ["3. Frozen Zones und Maintenance Windows (#82)", "4. Standardisierte und sichere Konfiguration (#83)", "4. Standardisierte und sichere Konfiguration (#83)", "6. Stand der Umsetzung / Lücken", "6. Stand der Umsetzung / Lücken"]}, {"id": "05_betrieb/09_Patch_Management.md", "path": "05_betrieb/09_Patch_Management.md", "chapter": "05_betrieb", "title": "Patch Management", "filename": "09_Patch_Management.md", "meta": {}, "html": "<h1>Patch Management<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Prozess <strong>Geltungsbereich:<\/strong> Betriebssystem, Laufzeitumgebung, Abhängigkeiten der PORTA-Plattform <strong>Version:<\/strong> 1.0 <strong>Status:<\/strong> Entwurf zur internen Freigabe <strong>Owner:<\/strong> Betrieb / DevOps <strong>Letzte Aktualisierung:<\/strong> 02.06.2026 <strong>Deckt ab (CACC):<\/strong> 78<\/p>\n<hr>\n<h2>1. Geltungsbereich<\/h2>\n<table><thead><tr><th>Ebene<\/th><th>Beispiel<\/th><th>Patch-Verantwortung<\/th><\/tr><\/thead><tbody><tr><td>Managed Infrastruktur<\/td><td>VM-Host, PostgreSQL (Infomaniak)<\/td><td>Infomaniak (Managed) + Betrieb<\/td><\/tr><tr><td>Betriebssystem (Ubuntu)<\/td><td>Sicherheitsupdates<\/td><td>Betrieb<\/td><\/tr><tr><td>Laufzeit / Python<\/td><td><code>requirements.txt<\/code>-Abhängigkeiten<\/td><td>Entwicklung/Betrieb<\/td><\/tr><tr><td>Anwendungsabhängigkeiten<\/td><td>Bibliotheken (z. B. LangChain, SDKs)<\/td><td>Entwicklung<\/td><\/tr><\/tbody><\/table>\n<h2>2. Maximale Fristen (#78)<\/h2>\n<p>Punkt #78 verlangt definierte Höchstdauern bis zum Einspielen von Patches:<\/p>\n<table><thead><tr><th>Kritikalität<\/th><th>Beschreibung<\/th><th>Maximale Frist<\/th><\/tr><\/thead><tbody><tr><td>Kritisch<\/td><td>Aktiv ausgenutzte / kritische Schwachstelle (CVSS ≥ 9)<\/td><td><strong>48 Stunden<\/strong><\/td><\/tr><tr><td>Hoch<\/td><td>CVSS 7,08,9<\/td><td>7 Tage<\/td><\/tr><tr><td>Mittel<\/td><td>CVSS 4,06,9<\/td><td>30 Tage<\/td><\/tr><tr><td>Niedrig<\/td><td>CVSS &lt; 4,0<\/td><td>nächstes Wartungsfenster<\/td><\/tr><\/tbody><\/table>\n<h2>3. Ablauf<\/h2>\n<ol><li><strong>Erkennung:<\/strong> Sicherheitsmeldungen verfolgen (Ubuntu Security, GitHub Dependabot/Advisories, Provider-Statusseiten). <strong>[ZU PRÜFEN: Wird Dependabot o. ä. in Forgejo/Repo genutzt?]<\/strong><\/li><li><strong>Bewertung:<\/strong> Kritikalität einstufen, betroffene Systeme bestimmen.<\/li><li><strong>Test:<\/strong> Patch auf INT-Umgebung (<code>api-int.poweron.swiss<\/code>) einspielen und verifizieren.<\/li><li><strong>Freigabe &amp; Deployment:<\/strong> Über regulären Change-Prozess (Dok 08); bei kritischen Patches als Emergency-Change.<\/li><li><strong>Dokumentation:<\/strong> Patch, Datum, Version im CHANGELOG/Ticket festhalten.<\/li><\/ol>\n<h2>4. OS- und Abhängigkeits-Updates (technisch)<\/h2>\n<p>Abhängigkeiten werden beim Deployment via <code>pip install -r requirements.txt<\/code> aktualisiert (siehe <code>bcm_runbook.md<\/code>). OS-Patches: <code>apt<\/code>-Updates auf den VMs. <strong>[ZU PRÜFEN: Automatische Sicherheitsupdates (unattended-upgrades) aktiv?]<\/strong><\/p>\n<h2>5. Stand der Umsetzung / Lücken<\/h2>\n<table><thead><tr><th>Thema<\/th><th>Status<\/th><th>Massnahme<\/th><\/tr><\/thead><tbody><tr><td>Definierte Patch-Fristen<\/td><td>Neu (dieses Dokument)<\/td><td>Übernehmen<\/td><\/tr><tr><td>Automatisches Vuln-Tracking (Dependabot)<\/td><td>[ZU PRÜFEN]<\/td><td>Aktivieren<\/td><\/tr><tr><td>Unattended-Upgrades OS<\/td><td>[ZU PRÜFEN]<\/td><td>Prüfen/aktivieren<\/td><\/tr><tr><td>Patch-Protokollierung<\/td><td>[ZU PRÜFEN]<\/td><td>Im CHANGELOG mitführen<\/td><\/tr><\/tbody><\/table>", "text": "# patch management **dokumenttyp:** prozess **geltungsbereich:** betriebssystem, laufzeitumgebung, abhängigkeiten der porta-plattform **version:** 1.0 **status:** entwurf zur internen freigabe **owner:** betrieb / devops **letzte aktualisierung:** 02.06.2026 **deckt ab (cacc):** 78 --- ## 1. geltungsbereich | ebene | beispiel | patch-verantwortung | |---|---|---| | managed infrastruktur | vm-host, postgresql (infomaniak) | infomaniak (managed) + betrieb | | betriebssystem (ubuntu) | sicherheitsupdates | betrieb | | laufzeit / python | `requirements.txt`-abhängigkeiten | entwicklung/betrieb | | anwendungsabhängigkeiten | bibliotheken (z. b. langchain, sdks) | entwicklung | ## 2. maximale fristen (#78) punkt #78 verlangt definierte höchstdauern bis zum einspielen von patches: | kritikalität | beschreibung | maximale frist | |---|---|---| | kritisch | aktiv ausgenutzte / kritische schwachstelle (cvss ≥ 9) | **48 stunden** | | hoch | cvss 7,08,9 | 7 tage | | mittel | cvss 4,06,9 | 30 tage | | niedrig | cvss < 4,0 | nächstes wartungsfenster | ## 3. ablauf 1. **erkennung:** sicherheitsmeldungen verfolgen (ubuntu security, github dependabot/advisories, provider-statusseiten). **[zu prüfen: wird dependabot o. ä. in forgejo/repo genutzt?]** 2. **bewertung:** kritikalität einstufen, betroffene systeme bestimmen. 3. **test:** patch auf int-umgebung (`api-int.poweron.swiss`) einspielen und verifizieren. 4. **freigabe & deployment:** über regulären change-prozess (dok 08); bei kritischen patches als emergency-change. 5. **dokumentation:** patch, datum, version im changelog/ticket festhalten. ## 4. os- und abhängigkeits-updates (technisch) abhängigkeiten werden beim deployment via `pip install -r requirements.txt` aktualisiert (siehe `bcm_runbook.md`). os-patches: `apt`-updates auf den vms. **[zu prüfen: automatische sicherheitsupdates (unattended-upgrades) aktiv?]** ## 5. stand der umsetzung / lücken | thema | status | massnahme | |---|---|---| | definierte patch-fristen | neu (dieses dokument) | übernehmen | | automatisches vuln-tracking (dependabot) | [zu prüfen] | aktivieren | | unattended-upgrades os | [zu prüfen] | prüfen/aktivieren | | patch-protokollierung | [zu prüfen] | im changelog mitführen | ", "nextReview": "", "overdueReview": false, "zuPruefen": ["3. Ablauf", "4. OS- und Abhängigkeits-Updates (technisch)", "5. Stand der Umsetzung / Lücken", "5. Stand der Umsetzung / Lücken", "5. Stand der Umsetzung / Lücken"]}, {"id": "05_betrieb/10_Schwachstellenmanagement.md", "path": "05_betrieb/10_Schwachstellenmanagement.md", "chapter": "05_betrieb", "title": "Schwachstellenmanagement", "filename": "10_Schwachstellenmanagement.md", "meta": {}, "html": "<h1>Schwachstellenmanagement<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Richtlinie &amp; Prozess <strong>Geltungsbereich:<\/strong> Alle für Kunden relevanten Systeme der PORTA-Plattform <strong>Version:<\/strong> 1.0 <strong>Status:<\/strong> Entwurf zur internen Freigabe <strong>Owner:<\/strong> Betrieb / Entwicklung <strong>Letzte Aktualisierung:<\/strong> 02.06.2026 <strong>Deckt ab (CACC):<\/strong> 54, 59, 63, 84<\/p>\n<hr>\n<h2>1. Zweck<\/h2>\n<p>Kontinuierliche Identifizierung, Bewertung, Behandlung und Nachverfolgung von Schwachstellen in den für Kunden relevanten Systemen.<\/p>\n<h2>2. Identifizierungsmethoden (#63)<\/h2>\n<table><thead><tr><th>Methode<\/th><th>Häufigkeit<\/th><th>Status<\/th><\/tr><\/thead><tbody><tr><td>Automatisiertes Dependency-Scanning (Bibliotheken)<\/td><td>kontinuierlich<\/td><td>[ZU PRÜFEN: Dependabot/Scanner aktiv?]<\/td><\/tr><tr><td>Schwachstellen-Scan der Server/Endpunkte<\/td><td>[ZU PRÜFEN, Vorschlag: quartalsweise]<\/td><td>[ZU PRÜFEN]<\/td><\/tr><tr><td>Penetrationstest durch unabhängige Dritte<\/td><td>jährlich<\/td><td><strong>[ZU PRÜFEN: bisher durchgeführt? Sonst erstmalig planen]<\/strong><\/td><\/tr><tr><td>Interne Code-Reviews<\/td><td>pro Change<\/td><td>Umgesetzt (siehe Dok 08)<\/td><\/tr><\/tbody><\/table>\n<h2>3. Bewertung und Behandlung (#84)<\/h2>\n<ol><li><strong>Dokumentation:<\/strong> Jede Schwachstelle wird mit Quelle, betroffenem System und CVSS-Score erfasst.<\/li><li><strong>Bewertung:<\/strong> Einstufung nach Kritikalität.<\/li><li><strong>Massnahme:<\/strong> Behebung über Patch- (Dok 09) bzw. Change-Prozess (Dok 08), nach den dort definierten Fristen.<\/li><li><strong>Nachverfolgung:<\/strong> Offene Schwachstellen werden bis zur Behebung in einem Register getrackt.<\/li><li><strong>Reporting:<\/strong> Status mindestens quartalsweise intern; auf Anfrage für berechtigte Kunden/Prüfer einsehbar.<\/li><\/ol>\n<h2>4. Unabhängige Audits (#54, #59)<\/h2>\n<p>Punkt #54/#59 verlangen regelmässige unabhängige Audits und die Bereitstellung <strong>vollständiger Auditberichte<\/strong> (nicht nur Zertifikate).<\/p>\n<ul><li><strong>Aktuell:<\/strong> [ZU PRÜFEN: Es liegen bisher keine externen Audit-/Pentest-Berichte vor.]<\/li><li><strong>Massnahme:<\/strong> Jährlichen externen Penetrationstest beauftragen; Bericht ablegen und berechtigten Kunden zugänglich machen. Behobene Schwachstellen dokumentieren.<\/li><\/ul>\n<h2>5. Schwachstellen-Register (Vorlage)<\/h2>\n<table><thead><tr><th>ID<\/th><th>Datum<\/th><th>System<\/th><th>Beschreibung<\/th><th>CVSS<\/th><th>Status<\/th><th>Behoben am<\/th><\/tr><\/thead><tbody><tr><td><\/td><td><\/td><td><\/td><td><\/td><td><\/td><td><\/td><td><\/td><\/tr><\/tbody><\/table>\n<h2>6. Stand der Umsetzung / Lücken<\/h2>\n<table><thead><tr><th>Thema<\/th><th>Status<\/th><th>Massnahme<\/th><\/tr><\/thead><tbody><tr><td>Externer Pentest<\/td><td>[ZU PRÜFEN / fehlt]<\/td><td>Jährlich beauftragen<\/td><\/tr><tr><td>Dependency-Scanning<\/td><td>[ZU PRÜFEN]<\/td><td>Aktivieren<\/td><\/tr><tr><td>Schwachstellen-Register<\/td><td>Neu<\/td><td>Anlegen<\/td><\/tr><\/tbody><\/table>", "text": "# schwachstellenmanagement **dokumenttyp:** richtlinie & prozess **geltungsbereich:** alle für kunden relevanten systeme der porta-plattform **version:** 1.0 **status:** entwurf zur internen freigabe **owner:** betrieb / entwicklung **letzte aktualisierung:** 02.06.2026 **deckt ab (cacc):** 54, 59, 63, 84 --- ## 1. zweck kontinuierliche identifizierung, bewertung, behandlung und nachverfolgung von schwachstellen in den für kunden relevanten systemen. ## 2. identifizierungsmethoden (#63) | methode | häufigkeit | status | |---|---|---| | automatisiertes dependency-scanning (bibliotheken) | kontinuierlich | [zu prüfen: dependabot/scanner aktiv?] | | schwachstellen-scan der server/endpunkte | [zu prüfen, vorschlag: quartalsweise] | [zu prüfen] | | penetrationstest durch unabhängige dritte | jährlich | **[zu prüfen: bisher durchgeführt? sonst erstmalig planen]** | | interne code-reviews | pro change | umgesetzt (siehe dok 08) | ## 3. bewertung und behandlung (#84) 1. **dokumentation:** jede schwachstelle wird mit quelle, betroffenem system und cvss-score erfasst. 2. **bewertung:** einstufung nach kritikalität. 3. **massnahme:** behebung über patch- (dok 09) bzw. change-prozess (dok 08), nach den dort definierten fristen. 4. **nachverfolgung:** offene schwachstellen werden bis zur behebung in einem register getrackt. 5. **reporting:** status mindestens quartalsweise intern; auf anfrage für berechtigte kunden/prüfer einsehbar. ## 4. unabhängige audits (#54, #59) punkt #54/#59 verlangen regelmässige unabhängige audits und die bereitstellung **vollständiger auditberichte** (nicht nur zertifikate). - **aktuell:** [zu prüfen: es liegen bisher keine externen audit-/pentest-berichte vor.] - **massnahme:** jährlichen externen penetrationstest beauftragen; bericht ablegen und berechtigten kunden zugänglich machen. behobene schwachstellen dokumentieren. ## 5. schwachstellen-register (vorlage) | id | datum | system | beschreibung | cvss | status | behoben am | |---|---|---|---|---|---|---| | | | | | | | | ## 6. stand der umsetzung / lücken | thema | status | massnahme | |---|---|---| | externer pentest | [zu prüfen / fehlt] | jährlich beauftragen | | dependency-scanning | [zu prüfen] | aktivieren | | schwachstellen-register | neu | anlegen | ", "nextReview": "", "overdueReview": false, "zuPruefen": ["2. Identifizierungsmethoden (#63)", "2. Identifizierungsmethoden (#63)", "2. Identifizierungsmethoden (#63)", "4. Unabhängige Audits (#54, #59)", "6. Stand der Umsetzung / Lücken", "6. Stand der Umsetzung / Lücken"]}, {"id": "05_betrieb/11_Logging_und_Monitoring.md", "path": "05_betrieb/11_Logging_und_Monitoring.md", "chapter": "05_betrieb", "title": "Logging und Monitoring (Sicherheitsprotokollierung)", "filename": "11_Logging_und_Monitoring.md", "meta": {}, "html": "<h1>Logging und Monitoring (Sicherheitsprotokollierung)<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Konzept <strong>Geltungsbereich:<\/strong> Protokollierung und Überwachung der PORTA-Plattform <strong>Version:<\/strong> 1.0 <strong>Status:<\/strong> Entwurf zur internen Freigabe <strong>Owner:<\/strong> Betrieb / DevOps <strong>Letzte Aktualisierung:<\/strong> 02.06.2026 <strong>Deckt ab (CACC):<\/strong> 88, 89, 90, 91, 92, 93, 94<\/p>\n<hr>\n<h2>1. Vorhandene Protokolle<\/h2>\n<table><thead><tr><th>Protokoll<\/th><th>Inhalt<\/th><th>Ort<\/th><\/tr><\/thead><tbody><tr><td>Anwendungslog<\/td><td>App-Ereignisse<\/td><td><code>/srv/gateway/shared/logs/log_app_YYYYMMDD.log<\/code><\/td><\/tr><tr><td>Systemlog<\/td><td>Service <code>gateway<\/code><\/td><td><code>journalctl -u gateway<\/code><\/td><\/tr><tr><td>AuthEvent (DB)<\/td><td>Login-Protokoll<\/td><td>DB-Tabelle (vom Export ausgeschlossen)<\/td><\/tr><tr><td>Export/Import-Log<\/td><td>DB-Operationen durch SysAdmins<\/td><td>serverseitig (siehe <code>datenbank-handling.md<\/code> §6)<\/td><\/tr><tr><td>CI/CD<\/td><td>Deployments<\/td><td>Forgejo<\/td><\/tr><\/tbody><\/table>\n<h2>2. Protokollierung des Zugriffs auf Kundendaten (#88, #94)<\/h2>\n<ul><li>Zugriffe auf Kundendaten im Klartext (z. B. DB-Export/Import) werden serverseitig geloggt.<\/li><li><strong>Anforderung #94:<\/strong> Eindeutige Identifizierung von Benutzerzugriffen auf Tenant-Ebene für forensische Analyse.<\/li><li><strong>Offener Punkt:<\/strong> Da der SSH-Zugang über den geteilten <code>ubuntu<\/code>-User läuft, ist die Personenzuordnung auf Server-Ebene aktuell eingeschränkt. → personalisierte Zugänge oder Sitzungsprotokollierung erforderlich (siehe Dok 02). <strong>[ZU PRÜFEN/UMZUSETZEN]<\/strong><\/li><\/ul>\n<h2>3. Kundenzugang zu Protokollen (#88)<\/h2>\n<p>Punkt #88 verlangt, dass Protokolle dem Kunden jederzeit (ggf. in Echtzeit) zur Verfügung stehen.<\/p>\n<p><strong>[ZU PRÜFEN: Können Kunden ihre Tenant-bezogenen Logs einsehen/exportieren? Falls nicht vorhanden, als Massnahme aufnehmen — z. B. Log-Export pro Mandant oder API.]<\/strong><\/p>\n<h2>4. Automatische Analyse und Ereigniserkennung (#89, #90)<\/h2>\n<table><thead><tr><th>Element<\/th><th>Status<\/th><\/tr><\/thead><tbody><tr><td>Etablierter Logging-/Monitoring-Prozess<\/td><td>[ZU PRÜFEN]<\/td><\/tr><tr><td>Automatische, proaktive Loganalyse (SIEM/Alerting)<\/td><td><strong>Offen<\/strong> — kleines Team, kein SIEM<\/td><\/tr><tr><td>Anomalie-/Schwellwert-Alerting<\/td><td>[ZU PRÜFEN]<\/td><\/tr><\/tbody><\/table>\n<p><strong>Kompensierende Massnahme (kleines Team):<\/strong> Statt eines vollwertigen SIEM ein leichtgewichtiges, automatisiertes Alerting (z. B. Log-Monitor, der bei definierten Mustern — fehlgeschlagene Logins, Fehlerraten, Health-Check-Ausfall — eine Benachrichtigung an die Rufbereitschaft sendet). <strong>[ZU PRÜFEN/EINFÜHREN]<\/strong><\/p>\n<h2>5. Schutz der Protokolldaten (#91)<\/h2>\n<table><thead><tr><th>Anforderung<\/th><th>Status / Massnahme<\/th><\/tr><\/thead><tbody><tr><td>Schutz vor unbefugtem Zugriff<\/td><td>Logs auf Server, nur über privilegierten Zugang erreichbar<\/td><\/tr><tr><td>Schutz vor Veränderung/Löschung (Integrität)<\/td><td><strong>Offen<\/strong> — Logs aktuell auf demselben Server, kein Write-Once. <strong>Massnahme:<\/strong> Logs an einen getrennten, append-only/write-once Speicher weiterleiten<\/td><\/tr><tr><td>Aufbewahrungsdauer<\/td><td>[ZU PRÜFEN, Vorschlag: mind. 12 Monate, sicherheitsrelevante Zugriffslogs 3 Jahre]<\/td><\/tr><\/tbody><\/table>\n<h2>6. 7×24-Analyse (#92) und SOC-Schnittstellen (#93)<\/h2>\n<ul><li><strong>#92 (7×24-Analyse):<\/strong> Mit 25 Personen nicht als Vollbetrieb leistbar. Kompensierend: automatisiertes Alerting + Rufbereitschaft (siehe Dok 07).<\/li><li><strong>#93 (Schnittstellen zum Kunden-SOC):<\/strong> [ZU PRÜFEN: Kann Log-Streaming/Export an ein Kunden-SOC bereitgestellt werden (Syslog, API)? Falls nicht, als optionales Angebot dokumentieren.]<\/li><\/ul>\n<h2>7. Stand der Umsetzung / Lücken<\/h2>\n<table><thead><tr><th>Thema<\/th><th>Status<\/th><th>Massnahme<\/th><\/tr><\/thead><tbody><tr><td>Personenbezogene Nachvollziehbarkeit (Tenant-Ebene)<\/td><td>Teilweise<\/td><td>personalisierte Zugänge / Sitzungslog<\/td><\/tr><tr><td>Log-Integritätsschutz<\/td><td>Offen<\/td><td>append-only/getrennter Speicher<\/td><\/tr><tr><td>Automatisches Alerting<\/td><td>Offen<\/td><td>einführen<\/td><\/tr><tr><td>Aufbewahrungsdauer definiert<\/td><td>Offen<\/td><td>festlegen<\/td><\/tr><tr><td>Kundenzugang zu Logs<\/td><td>[ZU PRÜFEN]<\/td><td>klären<\/td><\/tr><\/tbody><\/table>", "text": "# logging und monitoring (sicherheitsprotokollierung) **dokumenttyp:** konzept **geltungsbereich:** protokollierung und überwachung der porta-plattform **version:** 1.0 **status:** entwurf zur internen freigabe **owner:** betrieb / devops **letzte aktualisierung:** 02.06.2026 **deckt ab (cacc):** 88, 89, 90, 91, 92, 93, 94 --- ## 1. vorhandene protokolle | protokoll | inhalt | ort | |---|---|---| | anwendungslog | app-ereignisse | `/srv/gateway/shared/logs/log_app_yyyymmdd.log` | | systemlog | service `gateway` | `journalctl -u gateway` | | authevent (db) | login-protokoll | db-tabelle (vom export ausgeschlossen) | | export/import-log | db-operationen durch sysadmins | serverseitig (siehe `datenbank-handling.md` §6) | | ci/cd | deployments | forgejo | ## 2. protokollierung des zugriffs auf kundendaten (#88, #94) - zugriffe auf kundendaten im klartext (z. b. db-export/import) werden serverseitig geloggt. - **anforderung #94:** eindeutige identifizierung von benutzerzugriffen auf tenant-ebene für forensische analyse. - **offener punkt:** da der ssh-zugang über den geteilten `ubuntu`-user läuft, ist die personenzuordnung auf server-ebene aktuell eingeschränkt. → personalisierte zugänge oder sitzungsprotokollierung erforderlich (siehe dok 02). **[zu prüfen/umzusetzen]** ## 3. kundenzugang zu protokollen (#88) punkt #88 verlangt, dass protokolle dem kunden jederzeit (ggf. in echtzeit) zur verfügung stehen. **[zu prüfen: können kunden ihre tenant-bezogenen logs einsehen/exportieren? falls nicht vorhanden, als massnahme aufnehmen — z. b. log-export pro mandant oder api.]** ## 4. automatische analyse und ereigniserkennung (#89, #90) | element | status | |---|---| | etablierter logging-/monitoring-prozess | [zu prüfen] | | automatische, proaktive loganalyse (siem/alerting) | **offen** — kleines team, kein siem | | anomalie-/schwellwert-alerting | [zu prüfen] | **kompensierende massnahme (kleines team):** statt eines vollwertigen siem ein leichtgewichtiges, automatisiertes alerting (z. b. log-monitor, der bei definierten mustern — fehlgeschlagene logins, fehlerraten, health-check-ausfall — eine benachrichtigung an die rufbereitschaft sendet). **[zu prüfen/einführen]** ## 5. schutz der protokolldaten (#91) | anforderung | status / massnahme | |---|---| | schutz vor unbefugtem zugriff | logs auf server, nur über privilegierten zugang erreichbar | | schutz vor veränderung/löschung (integrität) | **offen** — logs aktuell auf demselben server, kein write-once. **massnahme:** logs an einen getrennten, append-only/write-once speicher weiterleiten | | aufbewahrungsdauer | [zu prüfen, vorschlag: mind. 12 monate, sicherheitsrelevante zugriffslogs 3 jahre] | ## 6. 7×24-analyse (#92) und soc-schnittstellen (#93) - **#92 (7×24-analyse):** mit 25 personen nicht als vollbetrieb leistbar. kompensierend: automatisiertes alerting + rufbereitschaft (siehe dok 07). - **#93 (schnittstellen zum kunden-soc):** [zu prüfen: kann log-streaming/export an ein kunden-soc bereitgestellt werden (syslog, api)? falls nicht, als optionales angebot dokumentieren.] ## 7. stand der umsetzung / lücken | thema | status | massnahme | |---|---|---| | personenbezogene nachvollziehbarkeit (tenant-ebene) | teilweise | personalisierte zugänge / sitzungslog | | log-integritätsschutz | offen | append-only/getrennter speicher | | automatisches alerting | offen | einführen | | aufbewahrungsdauer definiert | offen | festlegen | | kundenzugang zu logs | [zu prüfen] | klären | ", "nextReview": "", "overdueReview": false, "zuPruefen": ["2. Protokollierung des Zugriffs auf Kundendaten (#88, #94)", "3. Kundenzugang zu Protokollen (#88)", "4. Automatische Analyse und Ereigniserkennung (#89, #90)", "4. Automatische Analyse und Ereigniserkennung (#89, #90)", "4. Automatische Analyse und Ereigniserkennung (#89, #90)", "5. Schutz der Protokolldaten (#91)", "6. 7×24-Analyse (#92) und SOC-Schnittstellen (#93)", "7. Stand der Umsetzung / Lücken"]}, {"id": "05_betrieb/12_Netzwerk_und_Infrastruktursicherheit.md", "path": "05_betrieb/12_Netzwerk_und_Infrastruktursicherheit.md", "chapter": "05_betrieb", "title": "Netzwerk- und Infrastruktursicherheit", "filename": "12_Netzwerk_und_Infrastruktursicherheit.md", "meta": {}, "html": "<h1>Netzwerk- und Infrastruktursicherheit<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Konzept <strong>Geltungsbereich:<\/strong> Netzwerk, Server und Rechenzentrumsanbindung der PORTA-Plattform <strong>Version:<\/strong> 1.0 <strong>Status:<\/strong> Entwurf zur internen Freigabe <strong>Owner:<\/strong> Betrieb / DevOps <strong>Letzte Aktualisierung:<\/strong> 02.06.2026 <strong>Deckt ab (CACC):<\/strong> 95, 96, 97, 98, 99<\/p>\n<hr>\n<h2>1. Härtung und Basiskonfiguration (#95)<\/h2>\n<table><thead><tr><th>Element<\/th><th>Vorgabe<\/th><th>Status<\/th><\/tr><\/thead><tbody><tr><td>Server-Härtung (Ubuntu)<\/td><td>nach anerkanntem Standard (z. B. CIS Benchmark)<\/td><td>[ZU PRÜFEN: angewendet?]<\/td><\/tr><tr><td>Nicht benötigte Dienste/Ports deaktiviert<\/td><td>ja<\/td><td>[ZU PRÜFEN]<\/td><\/tr><tr><td>Regelmässige Validierung der Basiskonfiguration<\/td><td>mind. jährlich<\/td><td>[ZU PRÜFEN: etablieren]<\/td><\/tr><\/tbody><\/table>\n<h2>2. Netzwerksegmentierung und Mandantentrennung (#96)<\/h2>\n<table><thead><tr><th>Element<\/th><th>Beschreibung<\/th><th>Status<\/th><\/tr><\/thead><tbody><tr><td>Trennung App / DB<\/td><td>Anwendung (<code>api.poweron.swiss<\/code>) und Datenbank (<code>db.poweron.swiss<\/code>) auf getrennten Hosts<\/td><td>Umgesetzt<\/td><\/tr><tr><td>Trennung Prod / Int<\/td><td>Produktiv- und Integrationsumgebung getrennt<\/td><td>Umgesetzt<\/td><\/tr><tr><td>Mandantentrennung (Multi-Tenancy)<\/td><td>Logische Trennung der Kundendaten innerhalb der Anwendung über Mandate/Berechtigungen<\/td><td>Umgesetzt (logisch)<\/td><\/tr><tr><td>Netzwerksegmentierung (Firewall-Zonen)<\/td><td>[ZU PRÜFEN: wie ist der Netzverkehr segmentiert?]<\/td><td>[ZU PRÜFEN]<\/td><\/tr><\/tbody><\/table>\n<blockquote><strong>Hinweis für regulierte Kunden:<\/strong> Die Mandantentrennung erfolgt logisch (gemeinsame DB-Instanz, getrennte Mandate/Berechtigungen), nicht physisch pro Kunde. Das ist für SaaS üblich, sollte aber im Assessment transparent gemacht werden.<\/blockquote>\n<h2>3. Netzwerkschutzmassnahmen (#97)<\/h2>\n<table><thead><tr><th>Massnahme<\/th><th>Status<\/th><\/tr><\/thead><tbody><tr><td>Firewall<\/td><td>[ZU PRÜFEN: Infomaniak-Firewall / OS-Firewall (ufw/iptables) konfiguriert?]<\/td><\/tr><tr><td>Web Application Firewall (WAF)<\/td><td>[ZU PRÜFEN: vorhanden?]<\/td><\/tr><tr><td>IDS/IPS (Intrusion Detection/Prevention)<\/td><td>[ZU PRÜFEN: vorhanden?]<\/td><\/tr><tr><td>TLS-Terminierung / Reverse Proxy<\/td><td>[ZU PRÜFEN: nginx o. ä.?]<\/td><\/tr><\/tbody><\/table>\n<h2>4. Schutz vor netzwerkbasierten Angriffen / DDoS (#98)<\/h2>\n<table><thead><tr><th>Massnahme<\/th><th>Status<\/th><\/tr><\/thead><tbody><tr><td>DDoS-Schutz<\/td><td>[ZU PRÜFEN: durch Infomaniak bereitgestellt?]<\/td><\/tr><tr><td>Anomalie-Erkennung im Datenverkehr<\/td><td>[ZU PRÜFEN]<\/td><\/tr><tr><td>Rate-Limiting<\/td><td>Teilweise (z. B. Export max. 2/Min — siehe <code>datenbank-handling.md<\/code>)<\/td><\/tr><\/tbody><\/table>\n<h2>5. Physische Sicherheit und Versorgung (#99)<\/h2>\n<p>Die physische Sicherheit wird durch den Rechenzentrumsbetreiber <strong>Infomaniak<\/strong> (Schweiz) gewährleistet:<\/p>\n<table><thead><tr><th>Element<\/th><th>Zuständigkeit<\/th><th>Nachweis<\/th><\/tr><\/thead><tbody><tr><td>Physische Zutrittskontrolle<\/td><td>Infomaniak<\/td><td>[ZU PRÜFEN: Infomaniak-Zertifikate/RZ-Doku beilegen, z. B. ISO 27001]<\/td><\/tr><tr><td>Stromversorgung / USV / Notstrom<\/td><td>Infomaniak<\/td><td>Infomaniak-Rechenzentren (CH)<\/td><\/tr><tr><td>Kühlung / Brandschutz<\/td><td>Infomaniak<\/td><td>Infomaniak-Dokumentation<\/td><\/tr><\/tbody><\/table>\n<p><strong>Massnahme:<\/strong> Aktuelle Sicherheits-/Zertifizierungsnachweise von Infomaniak einholen und als Evidenz dem Assessment beilegen.<\/p>\n<h2>6. Stand der Umsetzung / Lücken<\/h2>\n<table><thead><tr><th>Thema<\/th><th>Status<\/th><th>Massnahme<\/th><\/tr><\/thead><tbody><tr><td>Server-Härtung nach CIS<\/td><td>[ZU PRÜFEN]<\/td><td>Anwenden &amp; dokumentieren<\/td><\/tr><tr><td>WAF / IDS / IPS<\/td><td>[ZU PRÜFEN]<\/td><td>Bedarf klären, ggf. einführen<\/td><\/tr><tr><td>Infomaniak-Zertifikate als Evidenz<\/td><td>Offen<\/td><td>Einholen<\/td><\/tr><tr><td>Firewall-Konfiguration dokumentieren<\/td><td>[ZU PRÜFEN]<\/td><td>Festhalten<\/td><\/tr><\/tbody><\/table>", "text": "# netzwerk- und infrastruktursicherheit **dokumenttyp:** konzept **geltungsbereich:** netzwerk, server und rechenzentrumsanbindung der porta-plattform **version:** 1.0 **status:** entwurf zur internen freigabe **owner:** betrieb / devops **letzte aktualisierung:** 02.06.2026 **deckt ab (cacc):** 95, 96, 97, 98, 99 --- ## 1. härtung und basiskonfiguration (#95) | element | vorgabe | status | |---|---|---| | server-härtung (ubuntu) | nach anerkanntem standard (z. b. cis benchmark) | [zu prüfen: angewendet?] | | nicht benötigte dienste/ports deaktiviert | ja | [zu prüfen] | | regelmässige validierung der basiskonfiguration | mind. jährlich | [zu prüfen: etablieren] | ## 2. netzwerksegmentierung und mandantentrennung (#96) | element | beschreibung | status | |---|---|---| | trennung app / db | anwendung (`api.poweron.swiss`) und datenbank (`db.poweron.swiss`) auf getrennten hosts | umgesetzt | | trennung prod / int | produktiv- und integrationsumgebung getrennt | umgesetzt | | mandantentrennung (multi-tenancy) | logische trennung der kundendaten innerhalb der anwendung über mandate/berechtigungen | umgesetzt (logisch) | | netzwerksegmentierung (firewall-zonen) | [zu prüfen: wie ist der netzverkehr segmentiert?] | [zu prüfen] | > **hinweis für regulierte kunden:** die mandantentrennung erfolgt logisch (gemeinsame db-instanz, getrennte mandate/berechtigungen), nicht physisch pro kunde. das ist für saas üblich, sollte aber im assessment transparent gemacht werden. ## 3. netzwerkschutzmassnahmen (#97) | massnahme | status | |---|---| | firewall | [zu prüfen: infomaniak-firewall / os-firewall (ufw/iptables) konfiguriert?] | | web application firewall (waf) | [zu prüfen: vorhanden?] | | ids/ips (intrusion detection/prevention) | [zu prüfen: vorhanden?] | | tls-terminierung / reverse proxy | [zu prüfen: nginx o. ä.?] | ## 4. schutz vor netzwerkbasierten angriffen / ddos (#98) | massnahme | status | |---|---| | ddos-schutz | [zu prüfen: durch infomaniak bereitgestellt?] | | anomalie-erkennung im datenverkehr | [zu prüfen] | | rate-limiting | teilweise (z. b. export max. 2/min — siehe `datenbank-handling.md`) | ## 5. physische sicherheit und versorgung (#99) die physische sicherheit wird durch den rechenzentrumsbetreiber **infomaniak** (schweiz) gewährleistet: | element | zuständigkeit | nachweis | |---|---|---| | physische zutrittskontrolle | infomaniak | [zu prüfen: infomaniak-zertifikate/rz-doku beilegen, z. b. iso 27001] | | stromversorgung / usv / notstrom | infomaniak | infomaniak-rechenzentren (ch) | | kühlung / brandschutz | infomaniak | infomaniak-dokumentation | **massnahme:** aktuelle sicherheits-/zertifizierungsnachweise von infomaniak einholen und als evidenz dem assessment beilegen. ## 6. stand der umsetzung / lücken | thema | status | massnahme | |---|---|---| | server-härtung nach cis | [zu prüfen] | anwenden & dokumentieren | | waf / ids / ips | [zu prüfen] | bedarf klären, ggf. einführen | | infomaniak-zertifikate als evidenz | offen | einholen | | firewall-konfiguration dokumentieren | [zu prüfen] | festhalten | ", "nextReview": "", "overdueReview": false, "zuPruefen": ["1. Härtung und Basiskonfiguration (#95)", "1. Härtung und Basiskonfiguration (#95)", "1. Härtung und Basiskonfiguration (#95)", "2. Netzwerksegmentierung und Mandantentrennung (#96)", "3. Netzwerkschutzmassnahmen (#97)", "3. Netzwerkschutzmassnahmen (#97)", "3. Netzwerkschutzmassnahmen (#97)", "3. Netzwerkschutzmassnahmen (#97)", "4. Schutz vor netzwerkbasierten Angriffen / DDoS (#98)", "4. Schutz vor netzwerkbasierten Angriffen / DDoS (#98)", "5. Physische Sicherheit und Versorgung (#99)", "6. Stand der Umsetzung / Lücken", "6. Stand der Umsetzung / Lücken", "6. Stand der Umsetzung / Lücken"]}, {"id": "05_betrieb/13_Datenaufbewahrung_Loeschung_LegalHold.md", "path": "05_betrieb/13_Datenaufbewahrung_Loeschung_LegalHold.md", "chapter": "05_betrieb", "title": "Datenaufbewahrung, Löschung und Legal Hold", "filename": "13_Datenaufbewahrung_Loeschung_LegalHold.md", "meta": {}, "html": "<h1>Datenaufbewahrung, Löschung und Legal Hold<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Konzept <strong>Geltungsbereich:<\/strong> Alle Kundendaten (Inhaltsdaten, Metadaten) der PORTA-Plattform <strong>Version:<\/strong> 1.0 <strong>Status:<\/strong> Entwurf zur internen Freigabe <strong>Owner:<\/strong> Datenschutzverantwortlicher / Betrieb <strong>Letzte Aktualisierung:<\/strong> 02.06.2026 <strong>Deckt ab (CACC):<\/strong> 1, 2, 38, 72 <strong>Verweist auf:<\/strong> <code>datenbank-handling.md<\/code><\/p>\n<hr>\n<h2>1. Legal Hold (#1)<\/h2>\n<p>Punkt #1 verlangt, dass der Kunde Inhalte (inkl. Metadaten) für rechtliche Zwecke aufbewahren und exportieren kann.<\/p>\n<table><thead><tr><th>Funktion<\/th><th>Status<\/th><\/tr><\/thead><tbody><tr><td>Daten eines Mandats vollständig exportieren (JSON)<\/td><td>Umgesetzt (Admin-UI / Script, siehe <code>datenbank-handling.md<\/code>)<\/td><\/tr><tr><td>Gezieltes „Einfrieren\" einzelner Datensätze gegen Löschung (Legal Hold)<\/td><td><strong>[ZU PRÜFEN: technisch vorhanden? Sonst als Massnahme / manuelle Prozedur dokumentieren]<\/strong><\/td><\/tr><tr><td>Forensischer Export in lesbarem Format<\/td><td>Umgesetzt (JSON)<\/td><\/tr><\/tbody><\/table>\n<p><strong>Manuelle Legal-Hold-Prozedur (Übergang, falls keine Funktion vorhanden):<\/strong> Auf Kundenanfrage wird ein vollständiger Export des betroffenen Mandats erstellt und gesichert abgelegt; betroffene Daten werden von automatischen Löschroutinen ausgenommen.<\/p>\n<h2>2. Aufbewahrung und Löschung pro Datenkategorie (#2)<\/h2>\n<p>Punkt #2 verlangt konfigurierbare Aufbewahrungsfristen pro Datenkategorie mit sicherer Löschung/Anonymisierung und Ausnahmemöglichkeit.<\/p>\n<table><thead><tr><th>Datenkategorie (DB)<\/th><th>Aufbewahrung<\/th><th>Löschung<\/th><\/tr><\/thead><tbody><tr><td>Chat-Konversationen (<code>poweron_chat<\/code>)<\/td><td>[ZU PRÜFEN / festlegen]<\/td><td>[ZU PRÜFEN: automatisch?]<\/td><\/tr><tr><td>Chatbot-Logs (<code>poweron_chatbot<\/code>)<\/td><td>[ZU PRÜFEN]<\/td><td>[ZU PRÜFEN]<\/td><\/tr><tr><td>RAG-Wissensdaten (<code>poweron_knowledge<\/code>)<\/td><td>bis Kunde löscht<\/td><td>manuell<\/td><\/tr><tr><td>Abrechnungsdaten (<code>poweron_billing<\/code>)<\/td><td>gesetzliche Frist (CH: 10 Jahre Geschäftsbücher)<\/td><td>nach Frist<\/td><\/tr><tr><td>Auth-/Login-Protokoll (<code>AuthEvent<\/code>)<\/td><td>[ZU PRÜFEN, Vorschlag: 12 Monate]<\/td><td>[ZU PRÜFEN]<\/td><\/tr><\/tbody><\/table>\n<blockquote><strong>Offener Punkt:<\/strong> Aktuell besteht <strong>keine automatische, kategorienbasierte Löschroutine<\/strong>. Daten bleiben, bis ein Mandat/Datensatz manuell gelöscht wird. <strong>Massnahme:<\/strong> Aufbewahrungsfristen je Kategorie definieren und — soweit möglich — automatisierte Löschung/Anonymisierung implementieren, mit Ausnahmemechanismus (Legal Hold).<\/blockquote>\n<h2>3. Löschung bei Vertragsende (#38)<\/h2>\n<p>Nach Vertragsende und erfolgter Datenmigration darf PowerOn keine lesbare Kopie der Berufsgeheimnisdaten mehr besitzen.<\/p>\n<table><thead><tr><th>Schritt<\/th><th>Vorgehen<\/th><th>Status<\/th><\/tr><\/thead><tbody><tr><td>Datenexport an Kunden<\/td><td>vollständiger JSON-Export<\/td><td>Umgesetzt<\/td><\/tr><tr><td>Löschung aus Produktiv-DB<\/td><td>Mandat und zugehörige Daten löschen<\/td><td>[ZU PRÜFEN: vollständige Löschroutine pro Mandat?]<\/td><\/tr><tr><td>Löschung aus Backups/Exports<\/td><td>Krypto-Löschung (Schlüssel vernichten) bzw. Löschung der Export-Dateien<\/td><td>[ZU PRÜFEN]<\/td><\/tr><tr><td>Löschung bei Subprozessoren<\/td><td>LLM-Provider: keine Speicherung (Zero-Retention)<\/td><td>[ZU PRÜFEN: vertraglich]<\/td><\/tr><tr><td>Löschbestätigung<\/td><td>schriftliche Bestätigung an Kunden<\/td><td>Neu — Vorlage erstellen<\/td><\/tr><\/tbody><\/table>\n<h2>4. Schlüssellöschung (#72)<\/h2>\n<p>Sichere Löschung von Verschlüsselungsschlüsseln am Ende des Lebenszyklus — siehe <code>04_Verschluesselung_und_Schluesselmanagement.md<\/code>.<\/p>\n<h2>5. Datenschutz-Hinweise (aus bestehender Doku)<\/h2>\n<p>Aus <code>datenbank-handling.md<\/code> übernommen und verbindlich: Export-Dateien enthalten alle Kundendaten, dürfen nicht auf unsicheren Speichern abgelegt werden und sind nach Gebrauch zu löschen. Zugriff auf Export/Import nur für SysAdmins, serverseitig geloggt.<\/p>\n<h2>6. Stand der Umsetzung / Lücken<\/h2>\n<table><thead><tr><th>Thema<\/th><th>Status<\/th><th>Massnahme<\/th><\/tr><\/thead><tbody><tr><td>Kategorienbasierte Aufbewahrungsfristen<\/td><td>Offen<\/td><td>Definieren<\/td><\/tr><tr><td>Automatische Löschung/Anonymisierung<\/td><td>Offen<\/td><td>Implementieren<\/td><\/tr><tr><td>Legal-Hold-Funktion<\/td><td>[ZU PRÜFEN]<\/td><td>Funktion oder manuelle Prozedur<\/td><\/tr><tr><td>Löschbestätigung bei Vertragsende<\/td><td>Neu<\/td><td>Vorlage erstellen<\/td><\/tr><\/tbody><\/table>", "text": "# datenaufbewahrung, löschung und legal hold **dokumenttyp:** konzept **geltungsbereich:** alle kundendaten (inhaltsdaten, metadaten) der porta-plattform **version:** 1.0 **status:** entwurf zur internen freigabe **owner:** datenschutzverantwortlicher / betrieb **letzte aktualisierung:** 02.06.2026 **deckt ab (cacc):** 1, 2, 38, 72 **verweist auf:** `datenbank-handling.md` --- ## 1. legal hold (#1) punkt #1 verlangt, dass der kunde inhalte (inkl. metadaten) für rechtliche zwecke aufbewahren und exportieren kann. | funktion | status | |---|---| | daten eines mandats vollständig exportieren (json) | umgesetzt (admin-ui / script, siehe `datenbank-handling.md`) | | gezieltes „einfrieren\" einzelner datensätze gegen löschung (legal hold) | **[zu prüfen: technisch vorhanden? sonst als massnahme / manuelle prozedur dokumentieren]** | | forensischer export in lesbarem format | umgesetzt (json) | **manuelle legal-hold-prozedur (übergang, falls keine funktion vorhanden):** auf kundenanfrage wird ein vollständiger export des betroffenen mandats erstellt und gesichert abgelegt; betroffene daten werden von automatischen löschroutinen ausgenommen. ## 2. aufbewahrung und löschung pro datenkategorie (#2) punkt #2 verlangt konfigurierbare aufbewahrungsfristen pro datenkategorie mit sicherer löschung/anonymisierung und ausnahmemöglichkeit. | datenkategorie (db) | aufbewahrung | löschung | |---|---|---| | chat-konversationen (`poweron_chat`) | [zu prüfen / festlegen] | [zu prüfen: automatisch?] | | chatbot-logs (`poweron_chatbot`) | [zu prüfen] | [zu prüfen] | | rag-wissensdaten (`poweron_knowledge`) | bis kunde löscht | manuell | | abrechnungsdaten (`poweron_billing`) | gesetzliche frist (ch: 10 jahre geschäftsbücher) | nach frist | | auth-/login-protokoll (`authevent`) | [zu prüfen, vorschlag: 12 monate] | [zu prüfen] | > **offener punkt:** aktuell besteht **keine automatische, kategorienbasierte löschroutine**. daten bleiben, bis ein mandat/datensatz manuell gelöscht wird. **massnahme:** aufbewahrungsfristen je kategorie definieren und — soweit möglich — automatisierte löschung/anonymisierung implementieren, mit ausnahmemechanismus (legal hold). ## 3. löschung bei vertragsende (#38) nach vertragsende und erfolgter datenmigration darf poweron keine lesbare kopie der berufsgeheimnisdaten mehr besitzen. | schritt | vorgehen | status | |---|---|---| | datenexport an kunden | vollständiger json-export | umgesetzt | | löschung aus produktiv-db | mandat und zugehörige daten löschen | [zu prüfen: vollständige löschroutine pro mandat?] | | löschung aus backups/exports | krypto-löschung (schlüssel vernichten) bzw. löschung der export-dateien | [zu prüfen] | | löschung bei subprozessoren | llm-provider: keine speicherung (zero-retention) | [zu prüfen: vertraglich] | | löschbestätigung | schriftliche bestätigung an kunden | neu — vorlage erstellen | ## 4. schlüssellöschung (#72) sichere löschung von verschlüsselungsschlüsseln am ende des lebenszyklus — siehe `04_verschluesselung_und_schluesselmanagement.md`. ## 5. datenschutz-hinweise (aus bestehender doku) aus `datenbank-handling.md` übernommen und verbindlich: export-dateien enthalten alle kundendaten, dürfen nicht auf unsicheren speichern abgelegt werden und sind nach gebrauch zu löschen. zugriff auf export/import nur für sysadmins, serverseitig geloggt. ## 6. stand der umsetzung / lücken | thema | status | massnahme | |---|---|---| | kategorienbasierte aufbewahrungsfristen | offen | definieren | | automatische löschung/anonymisierung | offen | implementieren | | legal-hold-funktion | [zu prüfen] | funktion oder manuelle prozedur | | löschbestätigung bei vertragsende | neu | vorlage erstellen | ", "nextReview": "", "overdueReview": false, "zuPruefen": ["1. Legal Hold (#1)", "2. Aufbewahrung und Löschung pro Datenkategorie (#2)", "2. Aufbewahrung und Löschung pro Datenkategorie (#2)", "2. Aufbewahrung und Löschung pro Datenkategorie (#2)", "3. Löschung bei Vertragsende (#38)", "3. Löschung bei Vertragsende (#38)", "3. Löschung bei Vertragsende (#38)", "6. Stand der Umsetzung / Lücken"]}, {"id": "05_betrieb/14_Exit_und_Transition.md", "path": "05_betrieb/14_Exit_und_Transition.md", "chapter": "05_betrieb", "title": "Exit- und Transitionsmanagement (Repatriierung)", "filename": "14_Exit_und_Transition.md", "meta": {}, "html": "<h1>Exit- und Transitionsmanagement (Repatriierung)<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Konzept &amp; Plan <strong>Geltungsbereich:<\/strong> Beendigung der Dienstleistung und Rückführung von Daten/Funktionen <strong>Version:<\/strong> 1.0 <strong>Status:<\/strong> Entwurf zur internen Freigabe <strong>Owner:<\/strong> Geschäftsführung / Betrieb <strong>Letzte Aktualisierung:<\/strong> 02.06.2026 <strong>Deckt ab (CACC):<\/strong> 4, 5, 6, 22<\/p>\n<hr>\n<h2>1. Zweck<\/h2>\n<p>Dieser Plan stellt sicher, dass ein Kunde die ausgelagerten Funktionen geordnet zu sich oder einem Drittanbieter zurückführen (repatriieren) kann, ohne dass kritische Daten verloren gehen oder der Betrieb des Kunden gefährdet wird.<\/p>\n<h2>2. Kündigungs- und Vorlauffristen (#4, #22)<\/h2>\n<table><thead><tr><th>Element<\/th><th>Regelung (gemäss AGB-Entwurf)<\/th><\/tr><\/thead><tbody><tr><td>Ordentliche Kündigung<\/td><td>3 Monate zum Vertragsmonatsende<\/td><\/tr><tr><td>Ankündigung neuer Subunternehmer<\/td><td>30 Tage im Voraus, Widerspruchsrecht<\/td><\/tr><tr><td>Vorlauf für geordneten Rücktransport bei Kündigung durch PowerOn<\/td><td>ausreichend für Migration (siehe Weiterführungspflicht)<\/td><\/tr><\/tbody><\/table>\n<blockquote>Hinweis: Punkt #4 nennt als Richtwert ~6 Monate Vorlauf. Prüfen, ob 3 Monate Kündigungsfrist + Exportfenster + Weiterführungspflicht in Summe ausreichend sind, oder ob die Frist für regulierte Kunden vertraglich verlängert wird.<\/blockquote>\n<h2>3. Datenexport (#5)<\/h2>\n<p>Der Kunde kann <strong>jederzeit<\/strong> alle relevanten Daten exportieren:<\/p>\n<table><thead><tr><th>Datenart<\/th><th>Export<\/th><\/tr><\/thead><tbody><tr><td>Inhaltsdaten (Mandate, Chats, Dokumente, Wissensdaten)<\/td><td>vollständiger JSON-Export (Admin-UI/Script)<\/td><\/tr><tr><td>Zugriffs-/Protokolldaten<\/td><td>[ZU PRÜFEN: AuthEvent/Logs separat exportierbar?]<\/td><\/tr><tr><td>Format<\/td><td>JSON (offen, maschinenlesbar, kein proprietäres Lock-in)<\/td><\/tr><\/tbody><\/table>\n<p>Der Export ist unabhängig von Zahlungsstreitigkeiten verfügbar (vgl. AGB §18.4).<\/p>\n<h2>4. Weiterführungspflicht bei gescheiterter Repatriierung (#6)<\/h2>\n<p>Sollte die Rückführung scheitern, führt PowerOn die Leistung für einen definierten Zeitraum weiter, damit der Kunde einen zweiten Versuch unternehmen kann.<\/p>\n<table><thead><tr><th>Element<\/th><th>Regelung<\/th><\/tr><\/thead><tbody><tr><td>Weiterführungsdauer<\/td><td>mind. 6 Monate (gemäss AGB §11.3)<\/td><\/tr><tr><td>Bedingungen<\/td><td>zu bisherigen Vertragsbedingungen<\/td><\/tr><\/tbody><\/table>\n<h2>5. Transition-Ablauf (Runbook)<\/h2>\n<pre class=\"mermaid\">flowchart TD\n A[Kündigung / Exit-Entscheid] --&gt; B[Exit-Plan aktivieren, Ansprechpartner benennen]\n B --&gt; C[Vollständiger Datenexport JSON]\n C --&gt; D[Übergabe an Kunde/Drittanbieter, Formatklärung]\n D --&gt; E[Verifikation: Daten vollständig &amp; lesbar beim Kunden]\n E --&gt; F{Repatriierung erfolgreich?}\n F --&gt;|Nein| G[Weiterführung bis zu 6 Monate, 2. Versuch]\n F --&gt;|Ja| H[Löschung bei PowerOn inkl. Backups]\n H --&gt; I[Schriftliche Löschbestätigung an Kunden]<\/pre>\n<h2>6. Löschung nach Exit<\/h2>\n<p>Siehe <code>13_Datenaufbewahrung_Loeschung_LegalHold.md<\/code> Abschnitt 3. Nach erfolgreicher Migration: vollständige Löschung inkl. Backups und Bestätigung an den Kunden.<\/p>\n<h2>7. Stand der Umsetzung / Lücken<\/h2>\n<table><thead><tr><th>Thema<\/th><th>Status<\/th><th>Massnahme<\/th><\/tr><\/thead><tbody><tr><td>Exportfunktion<\/td><td>Umgesetzt<\/td><td>—<\/td><\/tr><tr><td>Export von Logs/Zugriffsdaten<\/td><td>[ZU PRÜFEN]<\/td><td>sicherstellen<\/td><\/tr><tr><td>Exit-Plan je regulierten Kunden<\/td><td>Neu<\/td><td>im Vertrag konkretisieren<\/td><\/tr><tr><td>Löschbestätigungs-Vorlage<\/td><td>Neu<\/td><td>erstellen<\/td><\/tr><\/tbody><\/table>", "text": "# exit- und transitionsmanagement (repatriierung) **dokumenttyp:** konzept & plan **geltungsbereich:** beendigung der dienstleistung und rückführung von daten/funktionen **version:** 1.0 **status:** entwurf zur internen freigabe **owner:** geschäftsführung / betrieb **letzte aktualisierung:** 02.06.2026 **deckt ab (cacc):** 4, 5, 6, 22 --- ## 1. zweck dieser plan stellt sicher, dass ein kunde die ausgelagerten funktionen geordnet zu sich oder einem drittanbieter zurückführen (repatriieren) kann, ohne dass kritische daten verloren gehen oder der betrieb des kunden gefährdet wird. ## 2. kündigungs- und vorlauffristen (#4, #22) | element | regelung (gemäss agb-entwurf) | |---|---| | ordentliche kündigung | 3 monate zum vertragsmonatsende | | ankündigung neuer subunternehmer | 30 tage im voraus, widerspruchsrecht | | vorlauf für geordneten rücktransport bei kündigung durch poweron | ausreichend für migration (siehe weiterführungspflicht) | > hinweis: punkt #4 nennt als richtwert ~6 monate vorlauf. prüfen, ob 3 monate kündigungsfrist + exportfenster + weiterführungspflicht in summe ausreichend sind, oder ob die frist für regulierte kunden vertraglich verlängert wird. ## 3. datenexport (#5) der kunde kann **jederzeit** alle relevanten daten exportieren: | datenart | export | |---|---| | inhaltsdaten (mandate, chats, dokumente, wissensdaten) | vollständiger json-export (admin-ui/script) | | zugriffs-/protokolldaten | [zu prüfen: authevent/logs separat exportierbar?] | | format | json (offen, maschinenlesbar, kein proprietäres lock-in) | der export ist unabhängig von zahlungsstreitigkeiten verfügbar (vgl. agb §18.4). ## 4. weiterführungspflicht bei gescheiterter repatriierung (#6) sollte die rückführung scheitern, führt poweron die leistung für einen definierten zeitraum weiter, damit der kunde einen zweiten versuch unternehmen kann. | element | regelung | |---|---| | weiterführungsdauer | mind. 6 monate (gemäss agb §11.3) | | bedingungen | zu bisherigen vertragsbedingungen | ## 5. transition-ablauf (runbook) ```mermaid flowchart td a[kündigung / exit-entscheid] --> b[exit-plan aktivieren, ansprechpartner benennen] b --> c[vollständiger datenexport json] c --> d[übergabe an kunde/drittanbieter, formatklärung] d --> e[verifikation: daten vollständig & lesbar beim kunden] e --> f{repatriierung erfolgreich?} f -->|nein| g[weiterführung bis zu 6 monate, 2. versuch] f -->|ja| h[löschung bei poweron inkl. backups] h --> i[schriftliche löschbestätigung an kunden] ``` ## 6. löschung nach exit siehe `13_datenaufbewahrung_loeschung_legalhold.md` abschnitt 3. nach erfolgreicher migration: vollständige löschung inkl. backups und bestätigung an den kunden. ## 7. stand der umsetzung / lücken | thema | status | massnahme | |---|---|---| | exportfunktion | umgesetzt | — | | export von logs/zugriffsdaten | [zu prüfen] | sicherstellen | | exit-plan je regulierten kunden | neu | im vertrag konkretisieren | | löschbestätigungs-vorlage | neu | erstellen | ", "nextReview": "", "overdueReview": false, "zuPruefen": ["3. Datenexport (#5)", "7. Stand der Umsetzung / Lücken"]}, {"id": "05_betrieb/15_Sichere_Softwareentwicklung_SDLC.md", "path": "05_betrieb/15_Sichere_Softwareentwicklung_SDLC.md", "chapter": "05_betrieb", "title": "Sichere Softwareentwicklung (Secure SDLC)", "filename": "15_Sichere_Softwareentwicklung_SDLC.md", "meta": {}, "html": "<h1>Sichere Softwareentwicklung (Secure SDLC)<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Richtlinie <strong>Geltungsbereich:<\/strong> Entwicklung der PORTA-Plattform <strong>Version:<\/strong> 1.0 <strong>Status:<\/strong> Entwurf zur internen Freigabe <strong>Owner:<\/strong> Entwicklung <strong>Letzte Aktualisierung:<\/strong> 02.06.2026 <strong>Deckt ab (CACC):<\/strong> 100, 101, 102 <strong>Verweist auf:<\/strong> <code>feature_release_bugfix.md<\/code><\/p>\n<hr>\n<h2>1. Basis<\/h2>\n<p>Der grundlegende Entwicklungs- und Release-Prozess (Anforderungen, Tech-Workshop mit Architektur-/Schnittstellenanalyse, Branches, Code-Review, Staging-Verifikation, Release Notes) ist in <code>feature_release_bugfix.md<\/code> dokumentiert. Dieses Dokument ergänzt die <strong>sicherheitsspezifischen<\/strong> Aspekte gemäss #100#102.<\/p>\n<h2>2. Sicherheit über den Entwicklungszyklus (#100)<\/h2>\n<table><thead><tr><th>Phase<\/th><th>Sicherheitsmassnahme<\/th><th>Status<\/th><\/tr><\/thead><tbody><tr><td>Anforderungen<\/td><td>Sicherheits-/Datenschutzanforderungen je Feature im Tech-Workshop berücksichtigen<\/td><td>[ZU PRÜFEN: explizit Teil des Workshops?]<\/td><\/tr><tr><td>Design<\/td><td>Bedrohungsbetrachtung bei Architekturänderungen (betroffene Daten, Schnittstellen, Drittdienste)<\/td><td>Teilweise (Tech-Workshop prüft Abhängigkeiten zu Drittdiensten)<\/td><\/tr><tr><td>Implementierung<\/td><td>Sichere Coding-Praktiken, Secrets nicht im Code (<code>.env<\/code>-Trennung)<\/td><td>Umgesetzt<\/td><\/tr><tr><td>Tests &amp; Review<\/td><td>Code-Review (Vier-Augen), Staging-Verifikation<\/td><td>Umgesetzt<\/td><\/tr><tr><td>Security-Tests<\/td><td>SAST/DAST/Dependency-Scan in der CI/CD-Pipeline<\/td><td><strong>[ZU PRÜFEN: in Forgejo-Pipeline integriert?]<\/strong><\/td><\/tr><\/tbody><\/table>\n<h2>3. Standards und Frameworks (#101)<\/h2>\n<table><thead><tr><th>Standard<\/th><th>Anwendung<\/th><th>Status<\/th><\/tr><\/thead><tbody><tr><td>OWASP Top 10<\/td><td>Berücksichtigung gängiger Web-Schwachstellen in Reviews<\/td><td>[ZU PRÜFEN: als Review-Checkliste verankert?]<\/td><\/tr><tr><td>NIST / anerkannte Frameworks<\/td><td>Orientierung<\/td><td>[ZU PRÜFEN]<\/td><\/tr><\/tbody><\/table>\n<p><strong>Massnahme:<\/strong> OWASP-Top-10-Checkliste als fester Bestandteil des Code-Reviews aufnehmen; ggf. automatisiertes SAST-Tool (z. B. Bandit für Python) in die Pipeline integrieren.<\/p>\n<h2>4. Keine Produktivdaten in Entwicklung/Test (#102) — WICHTIG<\/h2>\n<blockquote><strong>Direkter Konflikt mit aktueller Praxis:<\/strong> <code>datenbank-handling.md<\/code> (Abschnitt 3) beschreibt das Übertragen von <strong>Produktionsdaten auf die Testumgebung<\/strong> als regulären Use-Case. Punkt #102 verlangt jedoch ausdrücklich, dass <strong>produktive, dem Berufsgeheimnis unterliegende Daten NICHT für Entwicklung und Test<\/strong> verwendet werden.<\/blockquote>\n<p><strong>Erforderliche Massnahme (Entscheidung nötig):<\/strong><\/p>\n<table><thead><tr><th>Option<\/th><th>Beschreibung<\/th><\/tr><\/thead><tbody><tr><td>A — Verbot + Anonymisierung<\/td><td>Prod→Int-Migration nur mit vollständiger Anonymisierung/Pseudonymisierung der Inhaltsdaten. Klartext-Berufsgeheimnisdaten nie auf Int.<\/td><\/tr><tr><td>B — Synthetische Testdaten<\/td><td>Entwicklung/Test ausschliesslich mit synthetischen Testdaten (<code>poweron_test<\/code> ist bereits vom Export ausgeschlossen).<\/td><\/tr><tr><td>C — Streng kontrollierte Ausnahme<\/td><td>Prod-Daten auf Int nur in eng begrenzten, protokollierten Ausnahmefällen mit Kundengenehmigung.<\/td><\/tr><\/tbody><\/table>\n<p><strong>Empfehlung für FINMA-Kontext:<\/strong> Option A oder B. Die aktuelle Beschreibung in <code>datenbank-handling.md<\/code> ist entsprechend anzupassen.<\/p>\n<h2>5. Stand der Umsetzung / Lücken<\/h2>\n<table><thead><tr><th>Thema<\/th><th>Status<\/th><th>Massnahme<\/th><\/tr><\/thead><tbody><tr><td>SAST/DAST in Pipeline<\/td><td>[ZU PRÜFEN]<\/td><td>Integrieren<\/td><\/tr><tr><td>OWASP-Review-Checkliste<\/td><td>[ZU PRÜFEN]<\/td><td>Verankern<\/td><\/tr><tr><td>Prod-Daten in Test (#102)<\/td><td><strong>Konflikt<\/strong><\/td><td>Praxis ändern (Anonymisierung/synthetische Daten) + Doku anpassen<\/td><\/tr><\/tbody><\/table>", "text": "# sichere softwareentwicklung (secure sdlc) **dokumenttyp:** richtlinie **geltungsbereich:** entwicklung der porta-plattform **version:** 1.0 **status:** entwurf zur internen freigabe **owner:** entwicklung **letzte aktualisierung:** 02.06.2026 **deckt ab (cacc):** 100, 101, 102 **verweist auf:** `feature_release_bugfix.md` --- ## 1. basis der grundlegende entwicklungs- und release-prozess (anforderungen, tech-workshop mit architektur-/schnittstellenanalyse, branches, code-review, staging-verifikation, release notes) ist in `feature_release_bugfix.md` dokumentiert. dieses dokument ergänzt die **sicherheitsspezifischen** aspekte gemäss #100#102. ## 2. sicherheit über den entwicklungszyklus (#100) | phase | sicherheitsmassnahme | status | |---|---|---| | anforderungen | sicherheits-/datenschutzanforderungen je feature im tech-workshop berücksichtigen | [zu prüfen: explizit teil des workshops?] | | design | bedrohungsbetrachtung bei architekturänderungen (betroffene daten, schnittstellen, drittdienste) | teilweise (tech-workshop prüft abhängigkeiten zu drittdiensten) | | implementierung | sichere coding-praktiken, secrets nicht im code (`.env`-trennung) | umgesetzt | | tests & review | code-review (vier-augen), staging-verifikation | umgesetzt | | security-tests | sast/dast/dependency-scan in der ci/cd-pipeline | **[zu prüfen: in forgejo-pipeline integriert?]** | ## 3. standards und frameworks (#101) | standard | anwendung | status | |---|---|---| | owasp top 10 | berücksichtigung gängiger web-schwachstellen in reviews | [zu prüfen: als review-checkliste verankert?] | | nist / anerkannte frameworks | orientierung | [zu prüfen] | **massnahme:** owasp-top-10-checkliste als fester bestandteil des code-reviews aufnehmen; ggf. automatisiertes sast-tool (z. b. bandit für python) in die pipeline integrieren. ## 4. keine produktivdaten in entwicklung/test (#102) — wichtig > **direkter konflikt mit aktueller praxis:** `datenbank-handling.md` (abschnitt 3) beschreibt das übertragen von **produktionsdaten auf die testumgebung** als regulären use-case. punkt #102 verlangt jedoch ausdrücklich, dass **produktive, dem berufsgeheimnis unterliegende daten nicht für entwicklung und test** verwendet werden. **erforderliche massnahme (entscheidung nötig):** | option | beschreibung | |---|---| | a — verbot + anonymisierung | prod→int-migration nur mit vollständiger anonymisierung/pseudonymisierung der inhaltsdaten. klartext-berufsgeheimnisdaten nie auf int. | | b — synthetische testdaten | entwicklung/test ausschliesslich mit synthetischen testdaten (`poweron_test` ist bereits vom export ausgeschlossen). | | c — streng kontrollierte ausnahme | prod-daten auf int nur in eng begrenzten, protokollierten ausnahmefällen mit kundengenehmigung. | **empfehlung für finma-kontext:** option a oder b. die aktuelle beschreibung in `datenbank-handling.md` ist entsprechend anzupassen. ## 5. stand der umsetzung / lücken | thema | status | massnahme | |---|---|---| | sast/dast in pipeline | [zu prüfen] | integrieren | | owasp-review-checkliste | [zu prüfen] | verankern | | prod-daten in test (#102) | **konflikt** | praxis ändern (anonymisierung/synthetische daten) + doku anpassen | ", "nextReview": "", "overdueReview": false, "zuPruefen": ["2. Sicherheit über den Entwicklungszyklus (#100)", "2. Sicherheit über den Entwicklungszyklus (#100)", "3. Standards und Frameworks (#101)", "3. Standards und Frameworks (#101)", "5. Stand der Umsetzung / Lücken", "5. Stand der Umsetzung / Lücken"]}, {"id": "05_betrieb/16_Kapazitaetsmanagement.md", "path": "05_betrieb/16_Kapazitaetsmanagement.md", "chapter": "05_betrieb", "title": "Kapazitätsmanagement", "filename": "16_Kapazitaetsmanagement.md", "meta": {}, "html": "<h1>Kapazitätsmanagement<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Prozess <strong>Geltungsbereich:<\/strong> Personal- und IT-Ressourcen der PORTA-Plattform <strong>Version:<\/strong> 1.0 <strong>Status:<\/strong> Entwurf zur internen Freigabe <strong>Owner:<\/strong> Geschäftsführung / Betrieb <strong>Letzte Aktualisierung:<\/strong> 02.06.2026 <strong>Deckt ab (CACC):<\/strong> 80<\/p>\n<hr>\n<h2>1. Zweck<\/h2>\n<p>Sicherstellung ausreichender Personal- und IT-Kapazitäten für eine kontinuierliche, vereinbarungsgemässe Leistungserbringung.<\/p>\n<h2>2. IT-Ressourcen-Kapazität<\/h2>\n<table><thead><tr><th>Ressource<\/th><th>Überwachung<\/th><th>Status<\/th><\/tr><\/thead><tbody><tr><td>Server-Auslastung (CPU/RAM/Disk)<\/td><td>[ZU PRÜFEN: Monitoring vorhanden?]<\/td><td>[ZU PRÜFEN]<\/td><\/tr><tr><td>Datenbank (Grösse, Verbindungen)<\/td><td>Infomaniak Managed DB Metriken<\/td><td>[ZU PRÜFEN]<\/td><\/tr><tr><td>LLM-Provider-Kontingente (Rate Limits, Token-Budget)<\/td><td>Provider-Dashboards<\/td><td>[ZU PRÜFEN]<\/td><\/tr><tr><td>Speicher (Backups/Exports)<\/td><td>manuell<\/td><td>[ZU PRÜFEN]<\/td><\/tr><\/tbody><\/table>\n<p><strong>Massnahme:<\/strong> Schwellwerte definieren (z. B. Disk &gt; 80 %, DB-Verbindungen &gt; 80 %) und Alerting einrichten (gemeinsam mit Dok 11).<\/p>\n<h2>3. Personal-Kapazität (kleines Team)<\/h2>\n<p>Bei 25 Personen ist die Personalkapazität ein erhöhtes Risiko (Schlüsselpersonen-Abhängigkeit).<\/p>\n<table><thead><tr><th>Risiko<\/th><th>Kompensierende Massnahme<\/th><\/tr><\/thead><tbody><tr><td>Ausfall einer Schlüsselperson<\/td><td>Dokumentation aller kritischen Prozesse (dieses Wiki), Zugangs-Notfallregelung<\/td><\/tr><tr><td>Wissenskonzentration<\/td><td>Vier-Augen-Prinzip, gemeinsame Reviews, dokumentierte Runbooks<\/td><\/tr><tr><td>Bei Wachstum<\/td><td>Kapazitätsplanung bei Neukunden-Onboarding<\/td><\/tr><\/tbody><\/table>\n<p><strong>[ZU PRÜFEN: Gibt es eine Vertretungs-/Notfallregelung für den alleinigen Server-Zugang?]<\/strong><\/p>\n<h2>4. Kapazitäts-Review<\/h2>\n<table><thead><tr><th>Aktivität<\/th><th>Häufigkeit<\/th><\/tr><\/thead><tbody><tr><td>Review IT-Auslastung<\/td><td>mind. quartalsweise<\/td><\/tr><tr><td>Review Personal-/Projektlast<\/td><td>laufend / bei Neukunden<\/td><\/tr><tr><td>Skalierungsentscheid Infrastruktur<\/td><td>bei Bedarf (Infomaniak skalierbar)<\/td><\/tr><\/tbody><\/table>\n<h2>5. Stand der Umsetzung / Lücken<\/h2>\n<table><thead><tr><th>Thema<\/th><th>Status<\/th><th>Massnahme<\/th><\/tr><\/thead><tbody><tr><td>Ressourcen-Monitoring mit Schwellwerten<\/td><td>[ZU PRÜFEN]<\/td><td>Einrichten<\/td><\/tr><tr><td>Schlüsselpersonen-Vertretung<\/td><td>[ZU PRÜFEN]<\/td><td>Notfallregelung dokumentieren<\/td><\/tr><tr><td>Quartals-Review<\/td><td>Neu<\/td><td>etablieren<\/td><\/tr><\/tbody><\/table>", "text": "# kapazitätsmanagement **dokumenttyp:** prozess **geltungsbereich:** personal- und it-ressourcen der porta-plattform **version:** 1.0 **status:** entwurf zur internen freigabe **owner:** geschäftsführung / betrieb **letzte aktualisierung:** 02.06.2026 **deckt ab (cacc):** 80 --- ## 1. zweck sicherstellung ausreichender personal- und it-kapazitäten für eine kontinuierliche, vereinbarungsgemässe leistungserbringung. ## 2. it-ressourcen-kapazität | ressource | überwachung | status | |---|---|---| | server-auslastung (cpu/ram/disk) | [zu prüfen: monitoring vorhanden?] | [zu prüfen] | | datenbank (grösse, verbindungen) | infomaniak managed db metriken | [zu prüfen] | | llm-provider-kontingente (rate limits, token-budget) | provider-dashboards | [zu prüfen] | | speicher (backups/exports) | manuell | [zu prüfen] | **massnahme:** schwellwerte definieren (z. b. disk > 80 %, db-verbindungen > 80 %) und alerting einrichten (gemeinsam mit dok 11). ## 3. personal-kapazität (kleines team) bei 25 personen ist die personalkapazität ein erhöhtes risiko (schlüsselpersonen-abhängigkeit). | risiko | kompensierende massnahme | |---|---| | ausfall einer schlüsselperson | dokumentation aller kritischen prozesse (dieses wiki), zugangs-notfallregelung | | wissenskonzentration | vier-augen-prinzip, gemeinsame reviews, dokumentierte runbooks | | bei wachstum | kapazitätsplanung bei neukunden-onboarding | **[zu prüfen: gibt es eine vertretungs-/notfallregelung für den alleinigen server-zugang?]** ## 4. kapazitäts-review | aktivität | häufigkeit | |---|---| | review it-auslastung | mind. quartalsweise | | review personal-/projektlast | laufend / bei neukunden | | skalierungsentscheid infrastruktur | bei bedarf (infomaniak skalierbar) | ## 5. stand der umsetzung / lücken | thema | status | massnahme | |---|---|---| | ressourcen-monitoring mit schwellwerten | [zu prüfen] | einrichten | | schlüsselpersonen-vertretung | [zu prüfen] | notfallregelung dokumentieren | | quartals-review | neu | etablieren | ", "nextReview": "", "overdueReview": false, "zuPruefen": ["2. IT-Ressourcen-Kapazität", "2. IT-Ressourcen-Kapazität", "2. IT-Ressourcen-Kapazität", "2. IT-Ressourcen-Kapazität", "3. Personal-Kapazität (kleines Team)", "5. Stand der Umsetzung / Lücken", "5. Stand der Umsetzung / Lücken"]}, {"id": "05_betrieb/17_Subunternehmer_Management.md", "path": "05_betrieb/17_Subunternehmer_Management.md", "chapter": "05_betrieb", "title": "Subunternehmer- und Unterauftragsverarbeiter-Management", "filename": "17_Subunternehmer_Management.md", "meta": {}, "html": "<h1>Subunternehmer- und Unterauftragsverarbeiter-Management<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Prozess <strong>Geltungsbereich:<\/strong> Alle externen Dienste und Unterauftragsverarbeiter <strong>Version:<\/strong> 1.0 <strong>Status:<\/strong> Entwurf zur internen Freigabe <strong>Owner:<\/strong> Patrick Motsch (Drittdienst-Verantwortlicher) <strong>Letzte Aktualisierung:<\/strong> 02.06.2026 <strong>Deckt ab (CACC):<\/strong> 16, 31, 48, 53 <strong>Verweist auf:<\/strong> <code>drittanbieter-inventar.md<\/code><\/p>\n<hr>\n<h2>1. Basis<\/h2>\n<p>Das vollständige Inventar aller Drittdienste ist in <code>drittanbieter-inventar.md<\/code> dokumentiert (Verantwortlicher: Patrick Motsch). Dieses Dokument ergänzt die <strong>Compliance-Sicht<\/strong>: Datenschutz-Status, Datenstandort, Widerspruchsrecht und Sanktionsprüfung.<\/p>\n<h2>2. Compliance-Ergänzung zum Inventar (#48, #31)<\/h2>\n<p>Für jeden Unterauftragsverarbeiter, der Inhaltsdaten verarbeitet, sind folgende Angaben zu führen (Ergänzung zum bestehenden Inventar):<\/p>\n<table><thead><tr><th>Anbieter<\/th><th>Rolle<\/th><th>Datenstandort<\/th><th>AVV/DPA<\/th><th>EU-SCC (falls Drittland)<\/th><th>Zero-Retention<\/th><\/tr><\/thead><tbody><tr><td>OpenAI (USA)<\/td><td>LLM (primär)<\/td><td>USA<\/td><td>[ZU PRÜFEN]<\/td><td>[ZU PRÜFEN]<\/td><td>[ZU PRÜFEN: Enterprise/Opt-out]<\/td><\/tr><tr><td>Anthropic (USA)<\/td><td>LLM (alternativ)<\/td><td>USA<\/td><td>[ZU PRÜFEN]<\/td><td>[ZU PRÜFEN]<\/td><td>[ZU PRÜFEN]<\/td><\/tr><tr><td>Mistral (EU/FR)<\/td><td>LLM (alternativ)<\/td><td>EU<\/td><td>[ZU PRÜFEN]<\/td><td>n/a (EU)<\/td><td>[ZU PRÜFEN]<\/td><\/tr><tr><td>Perplexity (USA)<\/td><td>LLM + Websuche<\/td><td>USA<\/td><td>[ZU PRÜFEN]<\/td><td>[ZU PRÜFEN]<\/td><td>[ZU PRÜFEN]<\/td><\/tr><tr><td>Tavily (USA)<\/td><td>AI-Websuche<\/td><td>USA<\/td><td>[ZU PRÜFEN]<\/td><td>[ZU PRÜFEN]<\/td><td>n/a<\/td><\/tr><tr><td>Infomaniak (CH)<\/td><td>Hosting/DB<\/td><td>Schweiz<\/td><td>[ZU PRÜFEN]<\/td><td>n/a (CH)<\/td><td>n/a<\/td><\/tr><tr><td>Google Cloud (USA)<\/td><td>STT/TTS/Translate<\/td><td>USA<\/td><td>[ZU PRÜFEN]<\/td><td>[ZU PRÜFEN]<\/td><td>[ZU PRÜFEN]<\/td><\/tr><tr><td>Microsoft Azure (CH/EU)<\/td><td>Auth + E-Mail (CH-Region)<\/td><td>CH/EU<\/td><td>[ZU PRÜFEN]<\/td><td>[ZU PRÜFEN]<\/td><td>n/a<\/td><\/tr><tr><td>Stripe (USA/IE)<\/td><td>Payment<\/td><td>USA/EU<\/td><td>[ZU PRÜFEN]<\/td><td>[ZU PRÜFEN]<\/td><td>n/a<\/td><\/tr><tr><td>Twilio (USA)<\/td><td>SMS<\/td><td>USA<\/td><td>[ZU PRÜFEN]<\/td><td>[ZU PRÜFEN]<\/td><td>n/a<\/td><\/tr><\/tbody><\/table>\n<blockquote><strong>Wichtig für FINMA-Kunden:<\/strong> Inhaltsdaten gehen an den primären LLM-Provider OpenAI (USA). Für regulierte Kunden ist zu klären, ob (a) ausreichende vertragliche Absicherung (AVV + SCC + Zero-Retention) vorliegt und/oder (b) ein auf EU/CH-LLM beschränkter Betrieb angeboten wird (z. B. Mistral EU oder CH-gehostetes Modell).<\/blockquote>\n<h2>3. Widerspruchsrecht des Kunden (#16)<\/h2>\n<table><thead><tr><th>Element<\/th><th>Regelung<\/th><\/tr><\/thead><tbody><tr><td>Information über neuen wesentlichen Subunternehmer<\/td><td>30 Tage im Voraus (gemäss AGB §12.2)<\/td><\/tr><tr><td>Widerspruchsfrist Kunde<\/td><td>14 Tage, aus sachlichem Grund<\/td><\/tr><tr><td>Folge bei berechtigtem Widerspruch<\/td><td>ausserordentliches Kündigungsrecht des Kunden<\/td><\/tr><\/tbody><\/table>\n<h2>4. Weitergabe der Pflichten (#53)<\/h2>\n<p>Alle Subunternehmer werden vertraglich auf gleichwertige Sicherheits-, Datenschutz- und Vertraulichkeitspflichten verpflichtet. Kunden können diese bei Bedarf (mittelbar) auditieren.<\/p>\n<p><strong>[ZU PRÜFEN: Liegen die DPAs/AVVs der grossen Provider (OpenAI, Microsoft, Google, Stripe) abgelegt vor? Diese sind als Evidenz für das Assessment zentral.]<\/strong><\/p>\n<h2>5. Sanktionsprüfung<\/h2>\n<p>Subunternehmer werden vor Einsatz und periodisch gegen einschlägige Sanktionslisten geprüft. <strong>[ZU PRÜFEN: erfolgt das? Sonst einführen.]<\/strong><\/p>\n<h2>6. Pflege<\/h2>\n<p>Das Inventar wird bei jeder Änderung (neuer/entfallender Dienst) aktualisiert; Verantwortlich: Patrick Motsch. Review mindestens jährlich.<\/p>\n<h2>7. Stand der Umsetzung / Lücken<\/h2>\n<table><thead><tr><th>Thema<\/th><th>Status<\/th><th>Massnahme<\/th><\/tr><\/thead><tbody><tr><td>AVV/SCC/Zero-Retention je Provider<\/td><td>[ZU PRÜFEN]<\/td><td>Verträge prüfen &amp; ablegen<\/td><\/tr><tr><td>Compliance-Spalten im Inventar<\/td><td>Neu<\/td><td>ergänzen<\/td><\/tr><tr><td>Sanktionsprüfung<\/td><td>[ZU PRÜFEN]<\/td><td>einführen<\/td><\/tr><tr><td>EU/CH-only-LLM-Option für FINMA-Kunden<\/td><td>Offen<\/td><td>Entscheidung<\/td><\/tr><\/tbody><\/table>", "text": "# subunternehmer- und unterauftragsverarbeiter-management **dokumenttyp:** prozess **geltungsbereich:** alle externen dienste und unterauftragsverarbeiter **version:** 1.0 **status:** entwurf zur internen freigabe **owner:** patrick motsch (drittdienst-verantwortlicher) **letzte aktualisierung:** 02.06.2026 **deckt ab (cacc):** 16, 31, 48, 53 **verweist auf:** `drittanbieter-inventar.md` --- ## 1. basis das vollständige inventar aller drittdienste ist in `drittanbieter-inventar.md` dokumentiert (verantwortlicher: patrick motsch). dieses dokument ergänzt die **compliance-sicht**: datenschutz-status, datenstandort, widerspruchsrecht und sanktionsprüfung. ## 2. compliance-ergänzung zum inventar (#48, #31) für jeden unterauftragsverarbeiter, der inhaltsdaten verarbeitet, sind folgende angaben zu führen (ergänzung zum bestehenden inventar): | anbieter | rolle | datenstandort | avv/dpa | eu-scc (falls drittland) | zero-retention | |---|---|---|---|---|---| | openai (usa) | llm (primär) | usa | [zu prüfen] | [zu prüfen] | [zu prüfen: enterprise/opt-out] | | anthropic (usa) | llm (alternativ) | usa | [zu prüfen] | [zu prüfen] | [zu prüfen] | | mistral (eu/fr) | llm (alternativ) | eu | [zu prüfen] | n/a (eu) | [zu prüfen] | | perplexity (usa) | llm + websuche | usa | [zu prüfen] | [zu prüfen] | [zu prüfen] | | tavily (usa) | ai-websuche | usa | [zu prüfen] | [zu prüfen] | n/a | | infomaniak (ch) | hosting/db | schweiz | [zu prüfen] | n/a (ch) | n/a | | google cloud (usa) | stt/tts/translate | usa | [zu prüfen] | [zu prüfen] | [zu prüfen] | | microsoft azure (ch/eu) | auth + e-mail (ch-region) | ch/eu | [zu prüfen] | [zu prüfen] | n/a | | stripe (usa/ie) | payment | usa/eu | [zu prüfen] | [zu prüfen] | n/a | | twilio (usa) | sms | usa | [zu prüfen] | [zu prüfen] | n/a | > **wichtig für finma-kunden:** inhaltsdaten gehen an den primären llm-provider openai (usa). für regulierte kunden ist zu klären, ob (a) ausreichende vertragliche absicherung (avv + scc + zero-retention) vorliegt und/oder (b) ein auf eu/ch-llm beschränkter betrieb angeboten wird (z. b. mistral eu oder ch-gehostetes modell). ## 3. widerspruchsrecht des kunden (#16) | element | regelung | |---|---| | information über neuen wesentlichen subunternehmer | 30 tage im voraus (gemäss agb §12.2) | | widerspruchsfrist kunde | 14 tage, aus sachlichem grund | | folge bei berechtigtem widerspruch | ausserordentliches kündigungsrecht des kunden | ## 4. weitergabe der pflichten (#53) alle subunternehmer werden vertraglich auf gleichwertige sicherheits-, datenschutz- und vertraulichkeitspflichten verpflichtet. kunden können diese bei bedarf (mittelbar) auditieren. **[zu prüfen: liegen die dpas/avvs der grossen provider (openai, microsoft, google, stripe) abgelegt vor? diese sind als evidenz für das assessment zentral.]** ## 5. sanktionsprüfung subunternehmer werden vor einsatz und periodisch gegen einschlägige sanktionslisten geprüft. **[zu prüfen: erfolgt das? sonst einführen.]** ## 6. pflege das inventar wird bei jeder änderung (neuer/entfallender dienst) aktualisiert; verantwortlich: patrick motsch. review mindestens jährlich. ## 7. stand der umsetzung / lücken | thema | status | massnahme | |---|---|---| | avv/scc/zero-retention je provider | [zu prüfen] | verträge prüfen & ablegen | | compliance-spalten im inventar | neu | ergänzen | | sanktionsprüfung | [zu prüfen] | einführen | | eu/ch-only-llm-option für finma-kunden | offen | entscheidung | ", "nextReview": "", "overdueReview": false, "zuPruefen": ["2. Compliance-Ergänzung zum Inventar (#48, #31)", "2. Compliance-Ergänzung zum Inventar (#48, #31)", "2. Compliance-Ergänzung zum Inventar (#48, #31)", "2. Compliance-Ergänzung zum Inventar (#48, #31)", "2. Compliance-Ergänzung zum Inventar (#48, #31)", "2. Compliance-Ergänzung zum Inventar (#48, #31)", "2. Compliance-Ergänzung zum Inventar (#48, #31)", "2. Compliance-Ergänzung zum Inventar (#48, #31)", "2. Compliance-Ergänzung zum Inventar (#48, #31)", "2. Compliance-Ergänzung zum Inventar (#48, #31)", "4. Weitergabe der Pflichten (#53)", "5. Sanktionsprüfung", "7. Stand der Umsetzung / Lücken", "7. Stand der Umsetzung / Lücken"]}, {"id": "05_betrieb/18_Analyse_Recht_und_BestPractice.md", "path": "05_betrieb/18_Analyse_Recht_und_BestPractice.md", "chapter": "05_betrieb", "title": "Analyse: Rechtliche Aspekte und Best Practices", "filename": "18_Analyse_Recht_und_BestPractice.md", "meta": {}, "html": "<h1>Analyse: Rechtliche Aspekte und Best Practices<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Befund- und Risikobericht (intern) <strong>Geltungsbereich:<\/strong> Gesamtes e-compliance-Wiki (PORTA-Plattform) <strong>Version:<\/strong> 1.0 <strong>Stand:<\/strong> 01.02.2026 <strong>Erstellt für:<\/strong> PowerOn AG, Birmensdorferstrasse 94, 8003 Zürich (CHE-491.960.195) <strong>Ansprechpartner:<\/strong> Patrick Motsch — p.motsch@poweron.swiss<\/p>\n<blockquote><strong>Hinweis:<\/strong> Dieser Bericht ersetzt keine anwaltliche Beratung. Er dokumentiert den Stand der Wiki-Dokumentation nach der Firmendaten-Anpassung und benennt Lücken sowie Widersprüche zwischen vertraglichen Zusicherungen (AGB) und beschriebenem Umsetzungsstand.<\/blockquote>\n<hr>\n<h2>1. Durchgeführte Anpassungen (01.02.2026)<\/h2>\n<table><thead><tr><th>Massnahme<\/th><th>Umfang<\/th><\/tr><\/thead><tbody><tr><td>Rechtsträger<\/td><td><code>PowerON GmbH<\/code> → <strong>PowerOn AG<\/strong> (CHE-491.960.195)<\/td><\/tr><tr><td>Markenschreibweise<\/td><td><code>PowerON<\/code> → <strong>PowerOn<\/strong> in AGB und allen <code>legal/<\/code>-Dokumenten<\/td><\/tr><tr><td>Stammdaten AGB §1.1<\/td><td>Birmensdorferstrasse 94, 8003 Zürich, p.motsch@poweron.swiss<\/td><\/tr><tr><td>Gerichtsstand AGB §23.2<\/td><td>Zürich, Schweiz<\/td><\/tr><tr><td>Datumsfelder AGB<\/td><td>Stand / Gilt ab / Anhänge: <strong>01.02.2026<\/strong>; nächste Überprüfung: <strong>01.02.2027<\/strong><\/td><\/tr><tr><td>Ansprechpartner/Rollen<\/td><td>Patrick Motsch in offenen Namens-/Kontaktfeldern (Dok. 01, 02, 06, 07)<\/td><\/tr><\/tbody><\/table>\n<p><strong>Nicht geändert (bewusst):<\/strong> Inhaltliche AGB-Zusicherungen; technische <code>[ZU PRÜFEN]<\/code>-Fakten (MFA, At-Rest, Pentest-Nachweis etc.).<\/p>\n<hr>\n<h2>2. Rechtlicher Rahmen<\/h2>\n<h3>2.1 Anwendbares Recht<\/h3>\n<table><thead><tr><th>Rechtsgebiet<\/th><th>Relevanz in der Dokumentation<\/th><\/tr><\/thead><tbody><tr><td><strong>Schweizer DSG<\/strong> (revDSG)<\/td><td>Primärrecht für Daten in der Schweiz; AGB §6.4, security-overview Kap. 9.2<\/td><\/tr><tr><td><strong>DSGVO<\/strong><\/td><td>Anwendbar bei EU-Betroffenen / grenzüberschreitender Verarbeitung; Betroffenenrechte in security-overview<\/td><\/tr><tr><td><strong>FINMA-Rundschreiben 2018/3, 2023/1<\/strong><\/td><td>Auslagerung an Cloud/IT-Dienstleister; CACC-Mapping in <code>00_README_Prozessuebersicht.md<\/code><\/td><\/tr><tr><td><strong>Bankgeheimnis (Art. 47 BankG)<\/strong><\/td><td>AGB §13.2; erhöhter Schutz für Berufsgeheimnisdaten<\/td><\/tr><tr><td><strong>Berufsgeheimnis StGB (Art. 321)<\/strong><\/td><td>Medizinische/sonstige Berufsgeheimnisse; gleiche Behandlung wie Bankdaten in AGB<\/td><\/tr><tr><td><strong>Schweizer Obligationenrecht / ZGB<\/strong><\/td><td>B2B-Verträge, AGB-Geltung, Gerichtsstand Zürich<\/td><\/tr><\/tbody><\/table>\n<h3>2.2 Vertragshierarchie (AGB §1.4)<\/h3>\n<ol><li>Individueller Dienstleistungsvertrag<\/li><li>AVV (Auftragsverarbeitungsvertrag)<\/li><li>SLA<\/li><li>AGB<\/li><li>Anhänge A, B, C<\/li><\/ol>\n<p><strong>Empfehlung:<\/strong> Für FINMA-regulierte Kunden immer individuellen Vertrag + AVV abschliessen; AGB allein genügt regulatorisch nicht.<\/p>\n<h3>2.3 Auftragsverarbeitung und Drittlandtransfers<\/h3>\n<ul><li><strong>Speicherung Inhaltsdaten:<\/strong> Schweiz (Infomaniak) — konsistent dokumentiert.<\/li><li><strong>LLM-Verarbeitung:<\/strong> Primär OpenAI (USA) — temporärer Datenabfluss; erfordert AVV/DPA, EU-SCC, TIA, Zero-Data-Retention (<code>17_Subunternehmer_Management.md<\/code>, AGB §7.2).<\/li><li><strong>Neutralisierung:<\/strong> Technisches Modul reduziert PII vor externem LLM-Call (<code>neutralisierung-detail.md<\/code>); nicht standardmässig für alle Tenants aktiv (<code>security-overview.md<\/code> Kap. 7.6).<\/li><\/ul>\n<h3>2.4 Melde- und Auditpflichten<\/h3>\n<table><thead><tr><th>Pflicht<\/th><th>AGB / CACC<\/th><th>Umsetzungsdokument<\/th><\/tr><\/thead><tbody><tr><td>24h-Meldung Cyberangriffe<\/td><td>AGB §14, CACC #19<\/td><td><code>07_Incident_Response_und_Meldewesen.md<\/code><\/td><\/tr><tr><td>FINMA-Drittbegünstigung<\/td><td>AGB §17.2<\/td><td>Prozess neu dokumentiert<\/td><\/tr><tr><td>Audit-Rechte (vollständige Berichte)<\/td><td>AGB §17.3<\/td><td><code>10_Schwachstellenmanagement.md<\/code> — Pentest fehlt<\/td><\/tr><\/tbody><\/table>\n<hr>\n<h2>3. Best-Practice-Einordnung<\/h2>\n<h3>3.1 Stärken (implementiert / dokumentiert)<\/h3>\n<table><thead><tr><th>Bereich<\/th><th>Status<\/th><th>Nachweis<\/th><\/tr><\/thead><tbody><tr><td>DSGVO-Betroffenenrechte (Self-Service)<\/td><td>Implementiert<\/td><td><code>security-overview.md<\/code> Kap. 2<\/td><\/tr><tr><td>Mandantentrennung (logisch)<\/td><td>Implementiert<\/td><td><code>security-overview.md<\/code> Kap. 3<\/td><\/tr><tr><td>RBAC<\/td><td>Implementiert<\/td><td><code>security-overview.md<\/code> Kap. 4<\/td><\/tr><tr><td>Parametrisierte DB-Queries, CSRF, Rate Limiting<\/td><td>Implementiert<\/td><td><code>security-overview.md<\/code> Kap. 6<\/td><\/tr><tr><td>Change Management / Vier-Augen<\/td><td>Dokumentiert<\/td><td><code>feature_release_bugfix.md<\/code>, <code>08_Change_Management.md<\/code><\/td><\/tr><tr><td>Fail-safe Neutralisierung<\/td><td>Konzept + Code-Karte<\/td><td><code>neutralisierung-detail.md<\/code><\/td><\/tr><tr><td>Drittanbieter-Inventar<\/td><td>Vollständig<\/td><td><code>drittanbieter-inventar.md<\/code><\/td><\/tr><tr><td>BCM-Runbook (operativ)<\/td><td>Vorhanden<\/td><td><code>bcm_runbook.md<\/code><\/td><\/tr><tr><td>JSON-Export / Exit<\/td><td>Vorhanden<\/td><td><code>datenbank-handling.md<\/code>, <code>14_Exit_und_Transition.md<\/code><\/td><\/tr><\/tbody><\/table>\n<h3>3.2 Lücken (transparent benannt)<\/h3>\n<table><thead><tr><th>Thema<\/th><th>Risiko<\/th><th>Quelle<\/th><\/tr><\/thead><tbody><tr><td>Keine ISO 27001-Zertifizierung<\/td><td>Mittel — AGB spricht von «Streben»<\/td><td>AGB §8.1, <code>01_Informationssicherheitsrichtlinie.md<\/code><\/td><\/tr><tr><td>Kein granulares Consent-Management<\/td><td>Mittel (Art. 7 DSGVO)<\/td><td><code>security-overview.md<\/code> Kap. 2.6<\/td><\/tr><tr><td>PII-Filter nicht Standard<\/td><td>Hoch bei sensiblen Daten<\/td><td><code>security-overview.md<\/code> Kap. 7.6<\/td><\/tr><tr><td>Kein SIEM / 7×24-SOC<\/td><td>Hoch für FINMA-Kunden<\/td><td><code>11_Logging_und_Monitoring.md<\/code><\/td><\/tr><tr><td>Geteilter SSH-User <code>ubuntu<\/code><\/td><td>Hoch — fehlende Personen-Nachvollziehbarkeit<\/td><td><code>02_Zugriffsmanagement_IAM_PAM.md<\/code><\/td><\/tr><tr><td>Log-Integrität (kein write-once)<\/td><td>Hoch<\/td><td><code>11_Logging_und_Monitoring.md<\/code><\/td><\/tr><tr><td>Kein externer Pentest-Nachweis<\/td><td>Hoch — widerspricht AGB<\/td><td><code>10_Schwachstellenmanagement.md<\/code><\/td><\/tr><tr><td>AVV/SCC bei LLM-Providern ungeklärt<\/td><td>Hoch<\/td><td><code>17_Subunternehmer_Management.md<\/code><\/td><\/tr><\/tbody><\/table>\n<h3>3.3 OWASP / ISO 27001<\/h3>\n<p>Die Plattform adressiert OWASP Top 10 präventiv (<code>security-overview.md<\/code> Kap. 9.3), ohne formale Zertifizierung. Die <code>legal/<\/code>-Prozesse bilden eine <strong>Grundlage für ISMS<\/strong> nach ISO 27001, sind aber grösstenteils im Status «Entwurf» mit vielen <code>[ZU PRÜFEN]<\/code>-Markierungen.<\/p>\n<hr>\n<h2>4. Widersprüche: AGB-Zusicherung vs. dokumentierter Umsetzungsstand<\/h2>\n<blockquote>Die AGB wurden inhaltlich <strong>nicht<\/strong> abgeschwächt. Die folgenden Punkte sind <strong>Compliance-Risiken<\/strong>, solange der Umsetzungsstand nicht angeglichen wird.<\/blockquote>\n<h3>4.1 Verschlüsselung at-rest (AGB §9.1, Anhang C)<\/h3>\n<table><thead><tr><th><\/th><th>AGB<\/th><th>Dokumentierter Stand<\/th><\/tr><\/thead><tbody><tr><td>Zusage<\/td><td>Alle Inhaltsdaten AES-256 at rest<\/td><td><code>[ZU PRÜFEN]<\/code> Infomaniak DB; JSON-Exporte <strong>unverschlüsselt<\/strong><\/td><\/tr><tr><td>Referenz<\/td><td><code>20260603_PowerON_AGB_v1.0_1.md<\/code> §9.1<\/td><td><code>04_Verschluesselung_und_Schluesselmanagement.md<\/code> §2; <code>security-overview.md<\/code> §5.1 (nur Secrets)<\/td><\/tr><\/tbody><\/table>\n<p><strong>Empfehlung:<\/strong> At-Rest bei Infomaniak verifizieren und dokumentieren; Export-Verschlüsselung (AES-256/GPG) einführen; ggf. AGB-Formulierung präzisieren («Inhaltsdaten in der Produktiv-DB» vs. «Backup-Exporte»).<\/p>\n<h3>4.2 Penetrationstests (AGB §8.4)<\/h3>\n<table><thead><tr><th><\/th><th>AGB<\/th><th>Dokumentierter Stand<\/th><\/tr><\/thead><tbody><tr><td>Zusage<\/td><td>Jährlich, unabhängig, volle Berichte auf Anfrage<\/td><td>«Bisher keine externen Pentest-Berichte»<\/td><\/tr><tr><td>Referenz<\/td><td>AGB §8.4<\/td><td><code>10_Schwachstellenmanagement.md<\/code> §4<\/td><\/tr><\/tbody><\/table>\n<p><strong>Empfehlung:<\/strong> Jährlichen Pentest beauftragen; Bericht archivieren; oder AGB-Frist erst nach erstem Test aktivieren.<\/p>\n<h3>4.3 RTO / RPO (AGB Anhang B)<\/h3>\n<table><thead><tr><th><\/th><th>AGB<\/th><th>Dokumentierter Stand<\/th><\/tr><\/thead><tbody><tr><td>Zusage<\/td><td>RTO ≤ 4 h, RPO ≤ 1 h<\/td><td>Wöchentliche Export-Praxis; RPO eher ≤ 24 h<\/td><\/tr><tr><td>Referenz<\/td><td>Anhang B<\/td><td><code>05_Backup_und_Wiederherstellung.md<\/code> §4<\/td><\/tr><\/tbody><\/table>\n<p><strong>Empfehlung:<\/strong> Backup-Frequenz erhöhen (täglich inkrementell) oder SLA/AGB-Werte an reale Kapazität anpassen.<\/p>\n<h3>4.4 Geografisch getrenntes Backup-RZ (AGB §11.2)<\/h3>\n<table><thead><tr><th><\/th><th>AGB<\/th><th>Dokumentierter Stand<\/th><\/tr><\/thead><tbody><tr><td>Zusage<\/td><td>Backup-RZ in der Schweiz, geografisch getrennt<\/td><td><code>[ZU PRÜFEN]<\/code> — nur Infomaniak-Umgebung<\/td><\/tr><tr><td>Referenz<\/td><td>AGB §11.2<\/td><td><code>06_Business_Continuity_und_Disaster_Recovery.md<\/code> §6<\/td><\/tr><\/tbody><\/table>\n<p><strong>Empfehlung:<\/strong> Infomaniak-Region/Snapshot-Standort klären; Evidenz beilegen.<\/p>\n<h3>4.5 MFA und Logging (AGB Anhang C)<\/h3>\n<table><thead><tr><th><\/th><th>AGB<\/th><th>Dokumentierter Stand<\/th><\/tr><\/thead><tbody><tr><td>Zusage<\/td><td>MFA verpflichtend; Logs 3 Jahre, write-once, Kundenzugang<\/td><td>MFA <code>[ZU PRÜFEN]<\/code>; kein write-once; SIEM offen<\/td><\/tr><tr><td>Referenz<\/td><td>Anhang C<\/td><td><code>02_Zugriffsmanagement_IAM_PAM.md<\/code>, <code>11_Logging_und_Monitoring.md<\/code><\/td><\/tr><\/tbody><\/table>\n<p><strong>Empfehlung:<\/strong> MFA auf SysAdmin/SSH erzwingen; Log-Shipping auf append-only Storage; leichtgewichtiges Alerting.<\/p>\n<h3>4.6 Produktivdaten in Testumgebung (CACC #102)<\/h3>\n<table><thead><tr><th><\/th><th>Anforderung<\/th><th>Dokumentierter Stand<\/th><\/tr><\/thead><tbody><tr><td>Verbot<\/td><td>Keine Berufsgeheimnisdaten in Dev/Test<\/td><td>Prod→Int-Migration als Regelfall beschrieben<\/td><\/tr><tr><td>Referenz<\/td><td><code>15_Sichere_Softwareentwicklung_SDLC.md<\/code> §4<\/td><td><code>datenbank-handling.md<\/code> §3<\/td><\/tr><\/tbody><\/table>\n<p><strong>Empfehlung:<\/strong> Option A (Anonymisierung) oder B (synthetische Daten); <code>datenbank-handling.md<\/code> anpassen — <strong>kritisch für FINMA-Assessment<\/strong>.<\/p>\n<h3>4.7 Anhang A: Rechenzentrumsbetreiber<\/h3>\n<table><thead><tr><th><\/th><th>AGB Anhang A<\/th><th>Übrige Dokumente<\/th><\/tr><\/thead><tbody><tr><td>Stand<\/td><td><code>[RZ-Anbieter primär]<\/code> Platzhalter<\/td><td><strong>Infomaniak<\/strong> (Schweiz) klar benannt<\/td><\/tr><tr><td>Referenz<\/td><td>AGB Anhang A §A.1<\/td><td><code>00_README<\/code>, <code>drittanbieter-inventar.md<\/code><\/td><\/tr><\/tbody><\/table>\n<p><strong>Empfehlung:<\/strong> Anhang A mit Infomaniak (primär + DR-Standort) füllen — keine inhaltliche AGB-Änderung der Zusagen, nur Vervollständigung.<\/p>\n<hr>\n<h2>5. Priorisierte Massnahmenliste<\/h2>\n<table><thead><tr><th>Prio<\/th><th>Massnahme<\/th><th>Aufwand<\/th><th>Rechtliches Risiko<\/th><\/tr><\/thead><tbody><tr><td>P1<\/td><td>AVV/DPA + SCC + Zero-Retention mit OpenAI (und weiteren LLM-Providern) abschliessen und ablegen<\/td><td>Mittel<\/td><td>Hoch<\/td><\/tr><tr><td>P1<\/td><td>Prod-Daten in Test: Prozess ändern (Anonymisierung/synthetisch)<\/td><td>Mittel<\/td><td>Hoch (FINMA)<\/td><\/tr><tr><td>P1<\/td><td>Backup-Exporte verschlüsseln<\/td><td>Gering<\/td><td>Hoch<\/td><\/tr><tr><td>P2<\/td><td>Externen Pentest beauftragen (jährlich)<\/td><td>Mittel<\/td><td>Hoch (AGB §8.4)<\/td><\/tr><tr><td>P2<\/td><td>MFA auf privilegierten Zugängen<\/td><td>Gering<\/td><td>Mittel<\/td><\/tr><tr><td>P2<\/td><td>RTO/RPO mit Backup-Frequenz abgleichen<\/td><td>Mittel<\/td><td>Mittel (Vertrag)<\/td><\/tr><tr><td>P2<\/td><td>Anhang A: Infomaniak eintragen<\/td><td>Gering<\/td><td>Gering<\/td><\/tr><tr><td>P3<\/td><td>Personalisierte SSH-Accounts oder Sitzungsprotokollierung<\/td><td>Mittel<\/td><td>Mittel<\/td><\/tr><tr><td>P3<\/td><td>Log-Integrität (append-only / separates Log-Storage)<\/td><td>Mittel<\/td><td>Mittel<\/td><\/tr><tr><td>P3<\/td><td>Automatisches Uptime-Monitoring + Alerting<\/td><td>Gering<\/td><td>Mittel<\/td><\/tr><tr><td>P3<\/td><td>Strafregisterauszug / NDAs für alle Mitarbeitenden verifizieren<\/td><td>Gering<\/td><td>Mittel<\/td><\/tr><tr><td>P3<\/td><td>ISO-27001-Zertifizierung planen oder AGB-Formulierung «strebt an» beibehalten<\/td><td>Hoch<\/td><td>Niedrig (wenn ehrlich kommuniziert)<\/td><\/tr><\/tbody><\/table>\n<hr>\n<h2>6. Offene Punkte zur Klärung (Rückfragen an PowerOn AG)<\/h2>\n<p>Die folgenden Punkte konnten aus den Dokumenten <strong>nicht<\/strong> verifiziert werden und sollten intern geklärt werden:<\/p>\n<ol><li><strong>Telefonnummer<\/strong> für Incident-Rufbereitschaft (aktuell nur E-Mail Patrick Motsch).<\/li><li><strong>Trennung Rollen:<\/strong> Patrick Motsch trägt alle Rollen (CISO, DPO, GF, DevOps) — für Audits ggf. formale Zuordnung oder externe DPO-Unterstützung erwägen.<\/li><li><strong>Infomaniak:<\/strong> At-Rest-Verschlüsselung, DR-Region, ISO-Zertifikate als PDF beilegen.<\/li><li><strong>OpenAI:<\/strong> Enterprise-Tier mit Training-Opt-out — Vertragsversion und Speicherort dokumentieren.<\/li><li><strong>Schweizer/EU-only LLM<\/strong> für FINMA-Kunden: Ist Mistral EU oder self-hosted Modell produktiv anbietbar?<\/li><li><strong>Legal Hold:<\/strong> Technische Funktion vorhanden oder nur manuelle Prozedur?<\/li><li><strong>Kundenzugang zu Logs:<\/strong> API/Export pro Mandant geplant?<\/li><li><strong>BYOK:<\/strong> Angebot gewünscht für regulierte Kunden?<\/li><li><strong>Rechtliche Prüfung AGB<\/strong> durch Fachanwalt vor Veröffentlichung gegenüber Bankkunden.<\/li><li><strong>Weitere Ansprechpartner<\/strong> bei Team-Wachstum (Vertretung Schlüsselperson).<\/li><\/ol>\n<hr>\n<h2>7. Dokumentenübersicht (Stand nach Anpassung)<\/h2>\n<table><thead><tr><th>Datei<\/th><th>Rolle<\/th><\/tr><\/thead><tbody><tr><td><code>20260603_PowerON_AGB_v1.0_1.md<\/code><\/td><td>Vertragsgrundlage B2B (Stammdaten aktualisiert)<\/td><\/tr><tr><td><code>security-overview.md<\/code><\/td><td>Kundeninformation Sicherheit/Datenschutz<\/td><\/tr><tr><td><code>neutralisierung-detail.md<\/code><\/td><td>Technisches Datenschutz-Modul<\/td><\/tr><tr><td><code>legal/00<\/code><code>17<\/code><\/td><td>CACC/FINMA-Prozessdokumentation<\/td><\/tr><tr><td><strong><code>legal/18_Analyse_Recht_und_BestPractice.md<\/code><\/strong><\/td><td>Dieser Befundbericht<\/td><\/tr><\/tbody><\/table>\n<hr>\n<p><em>Nächste planmässige Überprüfung dieses Berichts: 01.02.2027 oder nach wesentlicher Änderung an AGB, Infrastruktur oder regulatorischen Anforderungen.<\/em><\/p>", "text": "# analyse: rechtliche aspekte und best practices **dokumenttyp:** befund- und risikobericht (intern) **geltungsbereich:** gesamtes e-compliance-wiki (porta-plattform) **version:** 1.0 **stand:** 01.02.2026 **erstellt für:** poweron ag, birmensdorferstrasse 94, 8003 zürich (che-491.960.195) **ansprechpartner:** patrick motsch — p.motsch@poweron.swiss > **hinweis:** dieser bericht ersetzt keine anwaltliche beratung. er dokumentiert den stand der wiki-dokumentation nach der firmendaten-anpassung und benennt lücken sowie widersprüche zwischen vertraglichen zusicherungen (agb) und beschriebenem umsetzungsstand. --- ## 1. durchgeführte anpassungen (01.02.2026) | massnahme | umfang | |---|---| | rechtsträger | `poweron gmbh` → **poweron ag** (che-491.960.195) | | markenschreibweise | `poweron` → **poweron** in agb und allen `legal/`-dokumenten | | stammdaten agb §1.1 | birmensdorferstrasse 94, 8003 zürich, p.motsch@poweron.swiss | | gerichtsstand agb §23.2 | zürich, schweiz | | datumsfelder agb | stand / gilt ab / anhänge: **01.02.2026**; nächste überprüfung: **01.02.2027** | | ansprechpartner/rollen | patrick motsch in offenen namens-/kontaktfeldern (dok. 01, 02, 06, 07) | **nicht geändert (bewusst):** inhaltliche agb-zusicherungen; technische `[zu prüfen]`-fakten (mfa, at-rest, pentest-nachweis etc.). --- ## 2. rechtlicher rahmen ### 2.1 anwendbares recht | rechtsgebiet | relevanz in der dokumentation | |---|---| | **schweizer dsg** (revdsg) | primärrecht für daten in der schweiz; agb §6.4, security-overview kap. 9.2 | | **dsgvo** | anwendbar bei eu-betroffenen / grenzüberschreitender verarbeitung; betroffenenrechte in security-overview | | **finma-rundschreiben 2018/3, 2023/1** | auslagerung an cloud/it-dienstleister; cacc-mapping in `00_readme_prozessuebersicht.md` | | **bankgeheimnis (art. 47 bankg)** | agb §13.2; erhöhter schutz für berufsgeheimnisdaten | | **berufsgeheimnis stgb (art. 321)** | medizinische/sonstige berufsgeheimnisse; gleiche behandlung wie bankdaten in agb | | **schweizer obligationenrecht / zgb** | b2b-verträge, agb-geltung, gerichtsstand zürich | ### 2.2 vertragshierarchie (agb §1.4) 1. individueller dienstleistungsvertrag 2. avv (auftragsverarbeitungsvertrag) 3. sla 4. agb 5. anhänge a, b, c **empfehlung:** für finma-regulierte kunden immer individuellen vertrag + avv abschliessen; agb allein genügt regulatorisch nicht. ### 2.3 auftragsverarbeitung und drittlandtransfers - **speicherung inhaltsdaten:** schweiz (infomaniak) — konsistent dokumentiert. - **llm-verarbeitung:** primär openai (usa) — temporärer datenabfluss; erfordert avv/dpa, eu-scc, tia, zero-data-retention (`17_subunternehmer_management.md`, agb §7.2). - **neutralisierung:** technisches modul reduziert pii vor externem llm-call (`neutralisierung-detail.md`); nicht standardmässig für alle tenants aktiv (`security-overview.md` kap. 7.6). ### 2.4 melde- und auditpflichten | pflicht | agb / cacc | umsetzungsdokument | |---|---|---| | 24h-meldung cyberangriffe | agb §14, cacc #19 | `07_incident_response_und_meldewesen.md` | | finma-drittbegünstigung | agb §17.2 | prozess neu dokumentiert | | audit-rechte (vollständige berichte) | agb §17.3 | `10_schwachstellenmanagement.md` — pentest fehlt | --- ## 3. best-practice-einordnung ### 3.1 stärken (implementiert / dokumentiert) | bereich | status | nachweis | |---|---|---| | dsgvo-betroffenenrechte (self-service) | implementiert | `security-overview.md` kap. 2 | | mandantentrennung (logisch) | implementiert | `security-overview.md` kap. 3 | | rbac | implementiert | `security-overview.md` kap. 4 | | parametrisierte db-queries, csrf, rate limiting | implementiert | `security-overview.md` kap. 6 | | change management / vier-augen | dokumentiert | `feature_release_bugfix.md`, `08_change_management.md` | | fail-safe neutralisierung | konzept + code-karte | `neutralisierung-detail.md` | | drittanbieter-inventar | vollständig | `drittanbieter-inventar.md` | | bcm-runbook (operativ) | vorhanden | `bcm_runbook.md` | | json-export / exit | vorhanden | `datenbank-handling.md`, `14_exit_und_transition.md` | ### 3.2 lücken (transparent benannt) | thema | risiko | quelle | |---|---|---| | keine iso 27001-zertifizierung | mittel — agb spricht von «streben» | agb §8.1, `01_informationssicherheitsrichtlinie.md` | | kein granulares consent-management | mittel (art. 7 dsgvo) | `security-overview.md` kap. 2.6 | | pii-filter nicht standard | hoch bei sensiblen daten | `security-overview.md` kap. 7.6 | | kein siem / 7×24-soc | hoch für finma-kunden | `11_logging_und_monitoring.md` | | geteilter ssh-user `ubuntu` | hoch — fehlende personen-nachvollziehbarkeit | `02_zugriffsmanagement_iam_pam.md` | | log-integrität (kein write-once) | hoch | `11_logging_und_monitoring.md` | | kein externer pentest-nachweis | hoch — widerspricht agb | `10_schwachstellenmanagement.md` | | avv/scc bei llm-providern ungeklärt | hoch | `17_subunternehmer_management.md` | ### 3.3 owasp / iso 27001 die plattform adressiert owasp top 10 präventiv (`security-overview.md` kap. 9.3), ohne formale zertifizierung. die `legal/`-prozesse bilden eine **grundlage für isms** nach iso 27001, sind aber grösstenteils im status «entwurf» mit vielen `[zu prüfen]`-markierungen. --- ## 4. widersprüche: agb-zusicherung vs. dokumentierter umsetzungsstand > die agb wurden inhaltlich **nicht** abgeschwächt. die folgenden punkte sind **compliance-risiken**, solange der umsetzungsstand nicht angeglichen wird. ### 4.1 verschlüsselung at-rest (agb §9.1, anhang c) | | agb | dokumentierter stand | |---|---|---| | zusage | alle inhaltsdaten aes-256 at rest | `[zu prüfen]` infomaniak db; json-exporte **unverschlüsselt** | | referenz | `20260603_poweron_agb_v1.0_1.md` §9.1 | `04_verschluesselung_und_schluesselmanagement.md` §2; `security-overview.md` §5.1 (nur secrets) | **empfehlung:** at-rest bei infomaniak verifizieren und dokumentieren; export-verschlüsselung (aes-256/gpg) einführen; ggf. agb-formulierung präzisieren («inhaltsdaten in der produktiv-db» vs. «backup-exporte»). ### 4.2 penetrationstests (agb §8.4) | | agb | dokumentierter stand | |---|---|---| | zusage | jährlich, unabhängig, volle berichte auf anfrage | «bisher keine externen pentest-berichte» | | referenz | agb §8.4 | `10_schwachstellenmanagement.md` §4 | **empfehlung:** jährlichen pentest beauftragen; bericht archivieren; oder agb-frist erst nach erstem test aktivieren. ### 4.3 rto / rpo (agb anhang b) | | agb | dokumentierter stand | |---|---|---| | zusage | rto ≤ 4 h, rpo ≤ 1 h | wöchentliche export-praxis; rpo eher ≤ 24 h | | referenz | anhang b | `05_backup_und_wiederherstellung.md` §4 | **empfehlung:** backup-frequenz erhöhen (täglich inkrementell) oder sla/agb-werte an reale kapazität anpassen. ### 4.4 geografisch getrenntes backup-rz (agb §11.2) | | agb | dokumentierter stand | |---|---|---| | zusage | backup-rz in der schweiz, geografisch getrennt | `[zu prüfen]` — nur infomaniak-umgebung | | referenz | agb §11.2 | `06_business_continuity_und_disaster_recovery.md` §6 | **empfehlung:** infomaniak-region/snapshot-standort klären; evidenz beilegen. ### 4.5 mfa und logging (agb anhang c) | | agb | dokumentierter stand | |---|---|---| | zusage | mfa verpflichtend; logs 3 jahre, write-once, kundenzugang | mfa `[zu prüfen]`; kein write-once; siem offen | | referenz | anhang c | `02_zugriffsmanagement_iam_pam.md`, `11_logging_und_monitoring.md` | **empfehlung:** mfa auf sysadmin/ssh erzwingen; log-shipping auf append-only storage; leichtgewichtiges alerting. ### 4.6 produktivdaten in testumgebung (cacc #102) | | anforderung | dokumentierter stand | |---|---|---| | verbot | keine berufsgeheimnisdaten in dev/test | prod→int-migration als regelfall beschrieben | | referenz | `15_sichere_softwareentwicklung_sdlc.md` §4 | `datenbank-handling.md` §3 | **empfehlung:** option a (anonymisierung) oder b (synthetische daten); `datenbank-handling.md` anpassen — **kritisch für finma-assessment**. ### 4.7 anhang a: rechenzentrumsbetreiber | | agb anhang a | übrige dokumente | |---|---|---| | stand | `[rz-anbieter primär]` platzhalter | **infomaniak** (schweiz) klar benannt | | referenz | agb anhang a §a.1 | `00_readme`, `drittanbieter-inventar.md` | **empfehlung:** anhang a mit infomaniak (primär + dr-standort) füllen — keine inhaltliche agb-änderung der zusagen, nur vervollständigung. --- ## 5. priorisierte massnahmenliste | prio | massnahme | aufwand | rechtliches risiko | |:---:|---|---|---| | p1 | avv/dpa + scc + zero-retention mit openai (und weiteren llm-providern) abschliessen und ablegen | mittel | hoch | | p1 | prod-daten in test: prozess ändern (anonymisierung/synthetisch) | mittel | hoch (finma) | | p1 | backup-exporte verschlüsseln | gering | hoch | | p2 | externen pentest beauftragen (jährlich) | mittel | hoch (agb §8.4) | | p2 | mfa auf privilegierten zugängen | gering | mittel | | p2 | rto/rpo mit backup-frequenz abgleichen | mittel | mittel (vertrag) | | p2 | anhang a: infomaniak eintragen | gering | gering | | p3 | personalisierte ssh-accounts oder sitzungsprotokollierung | mittel | mittel | | p3 | log-integrität (append-only / separates log-storage) | mittel | mittel | | p3 | automatisches uptime-monitoring + alerting | gering | mittel | | p3 | strafregisterauszug / ndas für alle mitarbeitenden verifizieren | gering | mittel | | p3 | iso-27001-zertifizierung planen oder agb-formulierung «strebt an» beibehalten | hoch | niedrig (wenn ehrlich kommuniziert) | --- ## 6. offene punkte zur klärung (rückfragen an poweron ag) die folgenden punkte konnten aus den dokumenten **nicht** verifiziert werden und sollten intern geklärt werden: 1. **telefonnummer** für incident-rufbereitschaft (aktuell nur e-mail patrick motsch). 2. **trennung rollen:** patrick motsch trägt alle rollen (ciso, dpo, gf, devops) — für audits ggf. formale zuordnung oder externe dpo-unterstützung erwägen. 3. **infomaniak:** at-rest-verschlüsselung, dr-region, iso-zertifikate als pdf beilegen. 4. **openai:** enterprise-tier mit training-opt-out — vertragsversion und speicherort dokumentieren. 5. **schweizer/eu-only llm** für finma-kunden: ist mistral eu oder self-hosted modell produktiv anbietbar? 6. **legal hold:** technische funktion vorhanden oder nur manuelle prozedur? 7. **kundenzugang zu logs:** api/export pro mandant geplant? 8. **byok:** angebot gewünscht für regulierte kunden? 9. **rechtliche prüfung agb** durch fachanwalt vor veröffentlichung gegenüber bankkunden. 10. **weitere ansprechpartner** bei team-wachstum (vertretung schlüsselperson). --- ## 7. dokumentenübersicht (stand nach anpassung) | datei | rolle | |---|---| | `20260603_poweron_agb_v1.0_1.md` | vertragsgrundlage b2b (stammdaten aktualisiert) | | `security-overview.md` | kundeninformation sicherheit/datenschutz | | `neutralisierung-detail.md` | technisches datenschutz-modul | | `legal/00``17` | cacc/finma-prozessdokumentation | | **`legal/18_analyse_recht_und_bestpractice.md`** | dieser befundbericht | --- *nächste planmässige überprüfung dieses berichts: 01.02.2027 oder nach wesentlicher änderung an agb, infrastruktur oder regulatorischen anforderungen.* ", "nextReview": "", "overdueReview": false, "zuPruefen": []}, {"id": "05_betrieb/20260528_bcm_runbook.md", "path": "05_betrieb/20260528_bcm_runbook.md", "chapter": "05_betrieb", "title": "Runbook: Plattform-Core (PowerOn Gateway)", "filename": "20260528_bcm_runbook.md", "meta": {}, "html": "<h1>Runbook: Plattform-Core (PowerOn Gateway)<\/h1>\n<p>Dieses Dokument beschreibt die drei häufigsten Betriebsszenarien für die PowerOn-Plattform. Es richtet sich an alle, die im Notfall handeln müssen — auch ohne tiefes technisches Vorwissen. Die konkreten Befehle sind für die Person gedacht, die den Server-Zugang hat (typisch: Entwickler oder DevOps).<\/p>\n<p><strong>Kurze Systemübersicht:<\/strong> Die Plattform läuft auf einem Server bei Infomaniak (<code>api.poweron.swiss<\/code>). Alle Kundendaten liegen in einer separaten PostgreSQL-Datenbank (<code>db.poweron.swiss<\/code>). Codeänderungen werden über das interne Git-System (Forgejo) automatisch deployed.<\/p>\n<table><thead><tr><th>Umgebung<\/th><th>Server<\/th><th>URL<\/th><\/tr><\/thead><tbody><tr><td>Produktion<\/td><td><code>ubuntu@api.poweron.swiss<\/code><\/td><td><code>https://api.poweron.swiss<\/code><\/td><\/tr><tr><td>Integration (Test)<\/td><td><code>ubuntu@api-int.poweron.swiss<\/code><\/td><td><code>https://api-int.poweron.swiss<\/code><\/td><\/tr><\/tbody><\/table>\n<hr>\n<h2>1. Produktivumgebung neu starten<\/h2>\n<p><strong>Wann nötig?<\/strong> Die API antwortet nicht mehr, Requests laufen in Timeouts, oder nach einem Konfigurationswechsel soll alles frisch gestartet werden.<\/p>\n<p><strong>Was passiert dabei?<\/strong> Der laufende Prozess wird gestoppt und neu gestartet. Die Datenbank und alle gespeicherten Daten bleiben dabei vollständig erhalten. Nutzer merken einen kurzen Unterbruch von typisch wenigen Sekunden.<\/p>\n<h3>Normalfall: Service neu starten<\/h3>\n<p>Auf dem Produktionsserver einloggen und den Service neu starten:<\/p>\n<pre class=\"code\"><code>ssh ubuntu@api.poweron.swiss\nsudo systemctl restart gateway<\/code><\/pre>\n<p>Danach prüfen, ob alles wieder läuft:<\/p>\n<pre class=\"code\"><code>sudo systemctl status gateway<\/code><\/pre>\n<p>Den Health-Check aufrufen — wenn er <code>200 OK<\/code> zurückgibt, ist alles gut:<\/p>\n<pre class=\"code\"><code>curl https://api.poweron.swiss/api/admin/health<\/code><\/pre>\n<h3>Kompletter Neustart (inkl. Abhängigkeiten neu laden)<\/h3>\n<p>Wenn sich seit dem letzten Deploy neue Bibliotheken geändert haben oder nach einem manuellen Eingriff am Server:<\/p>\n<pre class=\"code\"><code>ssh ubuntu@api.poweron.swiss\ncd /srv/gateway/current\nsource .venv/bin/activate\npip install -r requirements.txt --no-cache-dir\nsudo systemctl restart gateway<\/code><\/pre>\n<h3>Wenn der Service nicht startet<\/h3>\n<p>Wenn der Neustart nicht hilft oder der Service sofort wieder abbricht, hilft ein Blick in die Logs:<\/p>\n<pre class=\"code\"><code># Systemlogs der letzten 100 Zeilen\nsudo journalctl -u gateway -n 100 --no-pager\n\n# Anwendungslogs des heutigen Tages\ntail -100 /srv/gateway/shared/logs/log_app_$(date +%Y%m%d).log<\/code><\/pre>\n<p>Wenn der Fehler unklar ist, kann die App auch direkt im Vordergrund gestartet werden — dann erscheint die Fehlermeldung sofort im Terminal:<\/p>\n<pre class=\"code\"><code>cd /srv/gateway/current\nsource .venv/bin/activate\ngunicorn app:app --bind 0.0.0.0:8000 --timeout 600 \\\n --worker-class uvicorn.workers.UvicornWorker --workers 1<\/code><\/pre>\n<hr>\n<h2>2. Backup einspielen (Datenbankwiederherstellung)<\/h2>\n<p><strong>Wann nötig?<\/strong> Nach einem Datenverlust, einer fehlerhaften Migration oder wenn ein früherer Datenbankstand wiederhergestellt werden muss.<\/p>\n<p><strong>Was passiert dabei?<\/strong> Die Anwendung wird kurz gestoppt, damit während dem Restore niemand inkonsistente Daten sieht. Die bestehenden Daten werden durch den Backup-Stand ersetzt. Danach wird die Anwendung wieder gestartet. Je nach Datenmenge dauert der Restore wenige Minuten bis zu einer Stunde.<\/p>\n<p><strong>Wichtig vor dem Start:<\/strong> Immer zuerst einen aktuellen Snapshot erstellen, bevor man ein älteres Backup einspielt — so kann man auch den Zustand kurz vor dem Restore noch wiederherstellen, falls etwas schiefläuft.<\/p>\n<h3>Schritt 1: Aktuellen Stand sichern (Sicherheitskopie)<\/h3>\n<pre class=\"code\"><code>ssh ubuntu@api.poweron.swiss\n# DB-Passwort aus der Konfiguration lesen:\ngrep DB_ /srv/gateway/current/.env\n\n# Alle Datenbanken sichern (Dateien landen in /tmp/)\nfor DB in poweron_app poweron_management poweron_billing poweron_chat \\\n poweron_chatbot poweron_trustee poweron_realestate \\\n poweron_knowledge poweron_workspace; do\n pg_dump -h db.poweron.swiss -U poweron_dev -p 5432 \\\n -Fc $DB &gt; /tmp/backup_${DB}_$(date +%Y%m%d_%H%M%S).dump\ndone<\/code><\/pre>\n<h3>Schritt 2: Anwendung stoppen und Backup einspielen<\/h3>\n<pre class=\"code\"><code>sudo systemctl stop gateway\n\n# Einzelne Datenbank wiederherstellen (Beispiel: poweron_app)\npg_restore -h db.poweron.swiss -U poweron_dev -p 5432 \\\n -d poweron_app --clean --if-exists \\\n /pfad/zum/backup_poweron_app_DATUM.dump\n\nsudo systemctl start gateway<\/code><\/pre>\n<h3>Backup einspielen über das Migrations-Tool (alle Datenbanken)<\/h3>\n<p>Wenn ein vollständiges JSON-Export aus dem projekteigenen Migrationstool vorliegt:<\/p>\n<pre class=\"code\"><code>ssh ubuntu@api.poweron.swiss\ncd /srv/gateway/current\nsource .venv/bin/activate\nsudo systemctl stop gateway\n\n# Hilfe zum Import-Script anzeigen:\npython scripts/script_db_export_migration.py --help\n\nsudo systemctl start gateway<\/code><\/pre>\n<h3>Schritt 3: Verifizieren<\/h3>\n<pre class=\"code\"><code>sudo systemctl status gateway\ncurl https://api.poweron.swiss/api/admin/health<\/code><\/pre>\n<hr>\n<h2>3. Rollback auf die vorherige Version<\/h2>\n<p><strong>Wann nötig?<\/strong> Ein frisch deploytes Update verursacht Fehler oder unerwünschtes Verhalten, das vorher nicht da war. Statt stundenlang zu debuggen, fährt man die Plattform einfach auf den letzten stabilen Stand zurück.<\/p>\n<p><strong>Was passiert dabei?<\/strong> Der Code auf dem Server wird auf einen früheren Git-Commit zurückgesetzt. Die Datenbank bleibt unverändert — nur der Anwendungscode wird ausgetauscht. Das dauert typisch unter 2 Minuten.<\/p>\n<p><strong>Hinweis zu Datenbank-Migrationen:<\/strong> Wenn das neue Update auch Datenbankänderungen enthielt, kann ein reiner Code-Rollback zu Inkompatibilitäten führen. In diesem Fall zusätzlich einen Datenbank-Restore (Szenario 2) in Betracht ziehen und vorher mit dem Entwicklungsteam absprechen.<\/p>\n<h3>Rollback über Git (empfohlen, schnellster Weg)<\/h3>\n<pre class=\"code\"><code>ssh ubuntu@api.poweron.swiss\ncd /srv/gateway/current\n\n# Die letzten 10 Deployments anzeigen — den gewünschten HASH notieren\ngit log --oneline -10\n\n# Auf den gewählten Stand zurücksetzen (HASH ersetzen, z.B. \"b04211be\")\ngit reset --hard &lt;COMMIT_HASH&gt;\n\n# Konfigurationsdatei neu setzen\ntest -f env-prod.env &amp;&amp; cp env-prod.env .env &amp;&amp; rm -f env-*.env\n\n# Abhängigkeiten prüfen\nsource .venv/bin/activate\npip install -r requirements.txt --no-cache-dir\n\n# Service neu starten und prüfen\nsudo systemctl restart gateway\nsudo systemctl status gateway\ncurl https://api.poweron.swiss/api/admin/health<\/code><\/pre>\n<h3>Rollback über Forgejo (sauberer, hinterlässt Protokoll)<\/h3>\n<p>Diese Variante ist etwas langsamer (Tests laufen durch), aber der Rollback wird im Git-Verlauf sichtbar und ist für alle nachvollziehbar.<\/p>\n<pre class=\"code\"><code># Lokal: einen Revert-Commit erstellen und pushen\ngit revert HEAD # oder den spezifischen Commit angeben\ngit push origin main\n# → Forgejo startet automatisch Tests und deployed danach<\/code><\/pre>\n<h3>Rollback auf der INT-Umgebung<\/h3>\n<p>Gleiche Schritte wie oben, aber mit diesen Werten:<\/p>\n<ul><li>Server: <code>ubuntu@api-int.poweron.swiss<\/code><\/li><li>Branch: <code>int<\/code> statt <code>main<\/code><\/li><li>Env-Datei: <code>env-int.env<\/code><\/li><li>Health-Check: <code>https://api-int.poweron.swiss/api/admin/health<\/code><\/li><\/ul>\n<hr>\n<h2>Referenz<\/h2>\n<table><thead><tr><th>Was<\/th><th>Wo<\/th><\/tr><\/thead><tbody><tr><td>Prod-Server<\/td><td><code>ubuntu@api.poweron.swiss<\/code><\/td><\/tr><tr><td>Int-Server<\/td><td><code>ubuntu@api-int.poweron.swiss<\/code><\/td><\/tr><tr><td>App-Pfad auf Server<\/td><td><code>/srv/gateway/current<\/code><\/td><\/tr><tr><td>App-Logs<\/td><td><code>/srv/gateway/shared/logs/log_app_YYYYMMDD.log<\/code><\/td><\/tr><tr><td>System-Logs<\/td><td><code>journalctl -u gateway<\/code><\/td><\/tr><tr><td>Datenbank-Host<\/td><td><code>db.poweron.swiss:5432<\/code><\/td><\/tr><tr><td>Datenbank-User<\/td><td><code>poweron_dev<\/code><\/td><\/tr><tr><td>Health-Check Endpoint<\/td><td><code>GET /api/admin/health<\/code><\/td><\/tr><tr><td>CI/CD Pipeline<\/td><td><code>.forgejo/workflows/main_porta-main-platform-core.yml<\/code><\/td><\/tr><\/tbody><\/table>", "text": "# runbook: plattform-core (poweron gateway) dieses dokument beschreibt die drei häufigsten betriebsszenarien für die poweron-plattform. es richtet sich an alle, die im notfall handeln müssen — auch ohne tiefes technisches vorwissen. die konkreten befehle sind für die person gedacht, die den server-zugang hat (typisch: entwickler oder devops). **kurze systemübersicht:** die plattform läuft auf einem server bei infomaniak (`api.poweron.swiss`). alle kundendaten liegen in einer separaten postgresql-datenbank (`db.poweron.swiss`). codeänderungen werden über das interne git-system (forgejo) automatisch deployed. | umgebung | server | url | |---|---|---| | produktion | `ubuntu@api.poweron.swiss` | `https://api.poweron.swiss` | | integration (test) | `ubuntu@api-int.poweron.swiss` | `https://api-int.poweron.swiss` | --- ## 1. produktivumgebung neu starten **wann nötig?** die api antwortet nicht mehr, requests laufen in timeouts, oder nach einem konfigurationswechsel soll alles frisch gestartet werden. **was passiert dabei?** der laufende prozess wird gestoppt und neu gestartet. die datenbank und alle gespeicherten daten bleiben dabei vollständig erhalten. nutzer merken einen kurzen unterbruch von typisch wenigen sekunden. ### normalfall: service neu starten auf dem produktionsserver einloggen und den service neu starten: ```bash ssh ubuntu@api.poweron.swiss sudo systemctl restart gateway ``` danach prüfen, ob alles wieder läuft: ```bash sudo systemctl status gateway ``` den health-check aufrufen — wenn er `200 ok` zurückgibt, ist alles gut: ```bash curl https://api.poweron.swiss/api/admin/health ``` ### kompletter neustart (inkl. abhängigkeiten neu laden) wenn sich seit dem letzten deploy neue bibliotheken geändert haben oder nach einem manuellen eingriff am server: ```bash ssh ubuntu@api.poweron.swiss cd /srv/gateway/current source .venv/bin/activate pip install -r requirements.txt --no-cache-dir sudo systemctl restart gateway ``` ### wenn der service nicht startet wenn der neustart nicht hilft oder der service sofort wieder abbricht, hilft ein blick in die logs: ```bash # systemlogs der letzten 100 zeilen sudo journalctl -u gateway -n 100 --no-pager # anwendungslogs des heutigen tages tail -100 /srv/gateway/shared/logs/log_app_$(date +%y%m%d).log ``` wenn der fehler unklar ist, kann die app auch direkt im vordergrund gestartet werden — dann erscheint die fehlermeldung sofort im terminal: ```bash cd /srv/gateway/current source .venv/bin/activate gunicorn app:app --bind 0.0.0.0:8000 --timeout 600 \\ --worker-class uvicorn.workers.uvicornworker --workers 1 ``` --- ## 2. backup einspielen (datenbankwiederherstellung) **wann nötig?** nach einem datenverlust, einer fehlerhaften migration oder wenn ein früherer datenbankstand wiederhergestellt werden muss. **was passiert dabei?** die anwendung wird kurz gestoppt, damit während dem restore niemand inkonsistente daten sieht. die bestehenden daten werden durch den backup-stand ersetzt. danach wird die anwendung wieder gestartet. je nach datenmenge dauert der restore wenige minuten bis zu einer stunde. **wichtig vor dem start:** immer zuerst einen aktuellen snapshot erstellen, bevor man ein älteres backup einspielt — so kann man auch den zustand kurz vor dem restore noch wiederherstellen, falls etwas schiefläuft. ### schritt 1: aktuellen stand sichern (sicherheitskopie) ```bash ssh ubuntu@api.poweron.swiss # db-passwort aus der konfiguration lesen: grep db_ /srv/gateway/current/.env # alle datenbanken sichern (dateien landen in /tmp/) for db in poweron_app poweron_management poweron_billing poweron_chat \\ poweron_chatbot poweron_trustee poweron_realestate \\ poweron_knowledge poweron_workspace; do pg_dump -h db.poweron.swiss -u poweron_dev -p 5432 \\ -fc $db > /tmp/backup_${db}_$(date +%y%m%d_%h%m%s).dump done ``` ### schritt 2: anwendung stoppen und backup einspielen ```bash sudo systemctl stop gateway # einzelne datenbank wiederherstellen (beispiel: poweron_app) pg_restore -h db.poweron.swiss -u poweron_dev -p 5432 \\ -d poweron_app --clean --if-exists \\ /pfad/zum/backup_poweron_app_datum.dump sudo systemctl start gateway ``` ### backup einspielen über das migrations-tool (alle datenbanken) wenn ein vollständiges json-export aus dem projekteigenen migrationstool vorliegt: ```bash ssh ubuntu@api.poweron.swiss cd /srv/gateway/current source .venv/bin/activate sudo systemctl stop gateway # hilfe zum import-script anzeigen: python scripts/script_db_export_migration.py --help sudo systemctl start gateway ``` ### schritt 3: verifizieren ```bash sudo systemctl status gateway curl https://api.poweron.swiss/api/admin/health ``` --- ## 3. rollback auf die vorherige version **wann nötig?** ein frisch deploytes update verursacht fehler oder unerwünschtes verhalten, das vorher nicht da war. statt stundenlang zu debuggen, fährt man die plattform einfach auf den letzten stabilen stand zurück. **was passiert dabei?** der code auf dem server wird auf einen früheren git-commit zurückgesetzt. die datenbank bleibt unverändert — nur der anwendungscode wird ausgetauscht. das dauert typisch unter 2 minuten. **hinweis zu datenbank-migrationen:** wenn das neue update auch datenbankänderungen enthielt, kann ein reiner code-rollback zu inkompatibilitäten führen. in diesem fall zusätzlich einen datenbank-restore (szenario 2) in betracht ziehen und vorher mit dem entwicklungsteam absprechen. ### rollback über git (empfohlen, schnellster weg) ```bash ssh ubuntu@api.poweron.swiss cd /srv/gateway/current # die letzten 10 deployments anzeigen — den gewünschten hash notieren git log --oneline -10 # auf den gewählten stand zurücksetzen (hash ersetzen, z.b. \"b04211be\") git reset --hard <commit_hash> # konfigurationsdatei neu setzen test -f env-prod.env && cp env-prod.env .env && rm -f env-*.env # abhängigkeiten prüfen source .venv/bin/activate pip install -r requirements.txt --no-cache-dir # service neu starten und prüfen sudo systemctl restart gateway sudo systemctl status gateway curl https://api.poweron.swiss/api/admin/health ``` ### rollback über forgejo (sauberer, hinterlässt protokoll) diese variante ist etwas langsamer (tests laufen durch), aber der rollback wird im git-verlauf sichtbar und ist für alle nachvollziehbar. ```bash # lokal: einen revert-commit erstellen und pushen git revert head # oder den spezifischen commit angeben git push origin main # → forgejo startet automatisch tests und deployed danach ``` ### rollback auf der int-umgebung gleiche schritte wie oben, aber mit diesen werten: - server: `ubuntu@api-int.poweron.swiss` - branch: `int` statt `main` - env-datei: `env-int.env` - health-check: `https://api-int.poweron.swiss/api/admin/health` --- ## referenz | was | wo | |---|---| | prod-server | `ubuntu@api.poweron.swiss` | | int-server | `ubuntu@api-int.poweron.swiss` | | app-pfad auf server | `/srv/gateway/current` | | app-logs | `/srv/gateway/shared/logs/log_app_yyyymmdd.log` | | system-logs | `journalctl -u gateway` | | datenbank-host | `db.poweron.swiss:5432` | | datenbank-user | `poweron_dev` | | health-check endpoint | `get /api/admin/health` | | ci/cd pipeline | `.forgejo/workflows/main_porta-main-platform-core.yml` | ", "nextReview": "", "overdueReview": false, "zuPruefen": []}, {"id": "05_betrieb/20260528_datenbank-handling.md", "path": "05_betrieb/20260528_datenbank-handling.md", "chapter": "05_betrieb", "title": "Datenbank-Handling: Exports, Imports, Backups & Datensicherung", "filename": "20260528_datenbank-handling.md", "meta": {}, "html": "<h1>Datenbank-Handling: Exports, Imports, Backups &amp; Datensicherung<\/h1>\n<p>Dieses Dokument beschreibt, wie die PowerOn-Plattform ihre Datenbanken verwaltet — von der strukturierten Datensicherung über flexible Export- und Import-Werkzeuge bis hin zur sicheren Wiederherstellung.<\/p>\n<hr>\n<h2>1. Datenbankübersicht<\/h2>\n<p>Die Plattform betreibt <strong>13 separate Datenbanken<\/strong> auf dem Datenbankserver <code>db.poweron.swiss<\/code>. Jede Datenbank gehört einem fachlichen Bereich:<\/p>\n<table><thead><tr><th>Datenbank<\/th><th>Inhalt<\/th><\/tr><\/thead><tbody><tr><td><code>poweron_app<\/code><\/td><td>Benutzer, Mandate, Berechtigungen, Features — Kern der Plattform<\/td><\/tr><tr><td><code>poweron_management<\/code><\/td><td>Workflows, Prompts, Verbindungen (Connections)<\/td><\/tr><tr><td><code>poweron_billing<\/code><\/td><td>Abonnements, Rechnungen, Stripe-Daten<\/td><\/tr><tr><td><code>poweron_chat<\/code><\/td><td>Chat-Konversationen und Nachrichten<\/td><\/tr><tr><td><code>poweron_chatbot<\/code><\/td><td>Chatbot-Feature: Konversationen, Logs<\/td><\/tr><tr><td><code>poweron_knowledge<\/code><\/td><td>RAG-Wissensdatenbank, Dokumentenindizes<\/td><\/tr><tr><td><code>poweron_workspace<\/code><\/td><td>Workspace-Daten<\/td><\/tr><tr><td><code>poweron_trustee<\/code><\/td><td>Treuhand-spezifische Daten<\/td><\/tr><tr><td><code>poweron_realestate<\/code><\/td><td>Immobilien-Daten<\/td><\/tr><tr><td><code>poweron_commcoach<\/code><\/td><td>CommCoach-Feature<\/td><\/tr><tr><td><code>poweron_neutralization<\/code><\/td><td>Content-Neutralisierung<\/td><\/tr><tr><td><code>poweron_teamsbot<\/code><\/td><td>Microsoft Teams Bot<\/td><\/tr><tr><td><code>poweron_test<\/code><\/td><td>Testdaten (wird bei Exports ausgeschlossen)<\/td><\/tr><\/tbody><\/table>\n<hr>\n<h2>2. Export<\/h2>\n<p>Ein Export erstellt eine vollständige Kopie aller Daten in einem lesbaren JSON-Format. Er dient als Grundlage für Backups, Migrationen zwischen Umgebungen (z. B. Prod → Int) und als Sicherungspunkt vor grösseren Änderungen.<\/p>\n<h3>2.1 Export via Admin-UI (empfohlen)<\/h3>\n<p>Im SysAdmin-Bereich der Plattform gibt es einen integrierten Export-Button. Er erzeugt eine JSON-Datei, die direkt heruntergeladen wird.<\/p>\n<ul><li><strong>Zugriff:<\/strong> Nur für SysAdmins (höchste Berechtigungsstufe)<\/li><li><strong>Umfang:<\/strong> Alle Datenbanken oder einzelne auswählbar<\/li><li><strong>Dateiname:<\/strong> <code>migration_backup_YYYY-MM-DD_HH-MM.json<\/code><\/li><li><strong>Rate-Limit:<\/strong> Max. 2 Exports pro Minute (Schutzmassnahme gegen versehentliche Mehrfachausführung)<\/li><\/ul>\n<p>Auch sehr grosse Datenbanken werden sicher übertragen, ohne dass der Server dabei überlastet wird.<\/p>\n<h3>2.2 Export via Script (für Entwickler / Server-Zugriff)<\/h3>\n<p>Direkt auf dem Server kann das Export-Script ausgeführt werden:<\/p>\n<pre class=\"code\"><code>ssh ubuntu@api.poweron.swiss\ncd /srv/gateway/current\nsource .venv/bin/activate\n\n# Alle Datenbanken exportieren\npython scripts/script_db_export_migration.py --pretty\n\n# Nur bestimmte Datenbanken\npython scripts/script_db_export_migration.py --db poweron_app,poweron_management\n\n# Ohne Metadaten (kleiner, für Archivierung)\npython scripts/script_db_export_migration.py --exclude Token,AuthEvent\n\n# Mit Zusammenfassung (zeigt Tabellen- und Zeilenanzahl)\npython scripts/script_db_export_migration.py --summary<\/code><\/pre>\n<p>Das Script erstellt automatisch zwei Dateien:<\/p>\n<ul><li><code>migration_export_TIMESTAMP.json<\/code> — vollständige Daten<\/li><li><code>migration_export_TIMESTAMP_structure.json<\/code> — nur Tabellenstruktur, keine Daten<\/li><\/ul>\n<h3>2.3 Was wird beim Export ausgeschlossen?<\/h3>\n<p>Aus Sicherheits- und Datenschutzgründen werden folgende Tabellen <strong>nie<\/strong> exportiert:<\/p>\n<ul><li><code>Token<\/code> (aktive Login-Sessions)<\/li><li><code>AuthEvent<\/code> (Login-Protokoll)<\/li><li><code>poweron_test<\/code> (Testdatenbank)<\/li><\/ul>\n<hr>\n<h2>3. Import<\/h2>\n<p>Ein Import spielt einen zuvor erstellten Export wieder ein. Typische Anwendungsfälle:<\/p>\n<ul><li>Wiederherstellung eines früheren Datenstands<\/li><li>Migration zwischen Umgebungen (z. B. Produktionsdaten auf die Testumgebung übertragen)<\/li><li>Initialisierung einer neuen Instanz<\/li><\/ul>\n<h3>3.1 Zwei Import-Modi<\/h3>\n<p><strong>Replace (Ersetzen):<\/strong> Löscht alle bestehenden Daten (ausser geschützte System-Objekte, siehe unten) und schreibt den Backup-Stand vollständig neu. Verwenden bei vollständiger Wiederherstellung.<\/p>\n<p><strong>Merge (Zusammenführen):<\/strong> Fügt nur Datensätze ein, die noch nicht existieren (anhand ID). Bestehende Daten bleiben unverändert. Verwenden wenn nur fehlende Daten ergänzt werden sollen.<\/p>\n<h3>3.2 Import via Admin-UI<\/h3>\n<ol><li>JSON-Datei hochladen<\/li><li>Validation läuft automatisch (prüft Format-Version, Struktur, System-Objekte)<\/li><li>Import-Modus wählen: <code>replace<\/code> oder <code>merge<\/code><\/li><li>Import starten — Ergebnis zeigt Anzahl eingespielter Datensätze pro Tabelle<\/li><\/ol>\n<p>Auch sehr grosse Backup-Dateien können problemlos importiert werden, ohne den Server zu überlasten.<\/p>\n<h3>3.3 Geschützte System-Objekte<\/h3>\n<p>Beim Import werden drei kritische Objekte <strong>nie gelöscht oder überschrieben<\/strong>, unabhängig vom Import-Modus:<\/p>\n<ul><li>Root-Mandat<\/li><li>Admin-Benutzer<\/li><li>Event-Benutzer<\/li><\/ul>\n<p>Falls diese Objekte im Backup andere interne Kennungen hatten als in der Zielumgebung, passt das System alle betroffenen Verknüpfungen <strong>automatisch<\/strong> an. Das verhindert inkonsistente Daten nach dem Import.<\/p>\n<h3>3.4 Import via Script<\/h3>\n<pre class=\"code\"><code>ssh ubuntu@api.poweron.swiss\ncd /srv/gateway/current\nsource .venv/bin/activate\nsudo systemctl stop gateway\n\n# Import-Script (Pendant zum Export-Script)\n# Datei übergeben, Modus wählen\npython scripts/script_db_export_migration.py --help # zeigt alle Optionen\n\nsudo systemctl start gateway<\/code><\/pre>\n<hr>\n<h2>4. Backups &amp; Datensicherung<\/h2>\n<h3>4.1 Backup-Strategie<\/h3>\n<p>Die Plattform verfügt über ein durchdachtes, mehrschichtiges Sicherungskonzept:<\/p>\n<p><strong>Infrastruktur-Ebene:<\/strong> Der Datenbankserver läuft auf der Infomaniak Public Cloud, die Snapshot-Funktionalitäten für Managed Databases bereitstellt.<\/p>\n<p><strong>Anwendungs-Ebene:<\/strong> Über die integrierte Admin-UI kann jederzeit ein vollständiger Export aller Datenbanken erstellt werden — on-demand, gezielt pro Datenbank oder als Gesamtexport. Die Backup-Dateien sind vollständig portabel und können auf jedem Speicher archiviert werden.<\/p>\n<h3>4.2 Empfohlene Backup-Praxis<\/h3>\n<table><thead><tr><th>Zeitpunkt<\/th><th>Aktion<\/th><\/tr><\/thead><tbody><tr><td>Vor jedem Deployment<\/td><td>Export via Admin-UI, Datei lokal speichern<\/td><\/tr><tr><td>Vor Datenbank-Migrationen<\/td><td>Export erstellen und beschriftet archivieren<\/td><\/tr><tr><td>Wöchentlich<\/td><td>Export als Archiv-Backup ablegen<\/td><\/tr><\/tbody><\/table>\n<hr>\n<h2>5. Datenbankmigrationen (Struktur-Änderungen)<\/h2>\n<p>Wenn sich das Datenmodell weiterentwickelt — z. B. durch neue Felder oder Tabellen — stellt die Plattform dedizierte Hilfsprogramme bereit, die Datenbankstruktur kontrolliert und sicher anzupassen:<\/p>\n<table><thead><tr><th>Programm<\/th><th>Zweck<\/th><\/tr><\/thead><tbody><tr><td><code>script_db_adapt_to_models.py<\/code><\/td><td>Passt die Datenbankstruktur automatisch an den aktuellen Code an (mit Vorschau-Modus ohne Änderungen)<\/td><\/tr><tr><td><code>script_db_audit_legacy_state.py<\/code><\/td><td>Analysiert den Datenbankzustand vor einem Bereinigungsschritt<\/td><\/tr><tr><td><code>script_db_migrate_*.py<\/code><\/td><td>Datenmigrations-Programme für spezifische Features<\/td><\/tr><tr><td><code>script_db_init_automation2.py<\/code><\/td><td>Erstellt die Datenbankstruktur für das Automation-Feature<\/td><\/tr><tr><td><code>script_db_init_chatbot.py<\/code><\/td><td>Erstellt die Datenbankstruktur für das Chatbot-Feature<\/td><\/tr><\/tbody><\/table>\n<p>Beim Start der Anwendung prüft die Plattform ausserdem automatisch, ob alle benötigten Tabellen vorhanden sind, und legt fehlende selbstständig an.<\/p>\n<hr>\n<h2>6. Datenschutz-Hinweise<\/h2>\n<ul><li>Export-Dateien enthalten <strong>alle Kundendaten<\/strong> (Mandate, Benutzer, Chats, Dokumente, etc.) und sind entsprechend zu behandeln<\/li><li>Dateien dürfen <strong>nicht auf unsicheren Speichern<\/strong> (persönliche Dropbox, E-Mail, etc.) abgelegt werden<\/li><li>Export-Dateien sollten nach Nutzung gelöscht werden wenn sie nicht mehr benötigt werden<\/li><li>Der Zugriff auf Export/Import ist auf SysAdmins beschränkt und wird serverseitig geloggt<\/li><\/ul>\n<hr>\n<h2>Zusammenfassung: Datenbankoperationen im Überblick<\/h2>\n<table><thead><tr><th>Aufgabe<\/th><th>Wie<\/th><\/tr><\/thead><tbody><tr><td>Fehlende Tabellen beim Start anlegen<\/td><td>Automatisch beim Plattform-Start<\/td><\/tr><tr><td>Datenbank-Export / Backup<\/td><td>Admin-UI (ein Klick) oder Entwickler-Script<\/td><\/tr><tr><td>Datenbank-Import / Wiederherstellung<\/td><td>Admin-UI mit geführtem Prozess oder Entwickler-Script<\/td><\/tr><tr><td>Infrastruktur-Snapshots<\/td><td>Infomaniak Cloud (Serverebene)<\/td><\/tr><tr><td>Struktur-Anpassungen bei Updates<\/td><td>Kontrolliert durch Entwickler-Hilfsprogramme<\/td><\/tr><tr><td>Datenbankpflege &amp; Bereinigung<\/td><td>Admin-UI<\/td><\/tr><\/tbody><\/table>", "text": "# datenbank-handling: exports, imports, backups & datensicherung dieses dokument beschreibt, wie die poweron-plattform ihre datenbanken verwaltet — von der strukturierten datensicherung über flexible export- und import-werkzeuge bis hin zur sicheren wiederherstellung. --- ## 1. datenbankübersicht die plattform betreibt **13 separate datenbanken** auf dem datenbankserver `db.poweron.swiss`. jede datenbank gehört einem fachlichen bereich: | datenbank | inhalt | |---|---| | `poweron_app` | benutzer, mandate, berechtigungen, features — kern der plattform | | `poweron_management` | workflows, prompts, verbindungen (connections) | | `poweron_billing` | abonnements, rechnungen, stripe-daten | | `poweron_chat` | chat-konversationen und nachrichten | | `poweron_chatbot` | chatbot-feature: konversationen, logs | | `poweron_knowledge` | rag-wissensdatenbank, dokumentenindizes | | `poweron_workspace` | workspace-daten | | `poweron_trustee` | treuhand-spezifische daten | | `poweron_realestate` | immobilien-daten | | `poweron_commcoach` | commcoach-feature | | `poweron_neutralization` | content-neutralisierung | | `poweron_teamsbot` | microsoft teams bot | | `poweron_test` | testdaten (wird bei exports ausgeschlossen) | --- ## 2. export ein export erstellt eine vollständige kopie aller daten in einem lesbaren json-format. er dient als grundlage für backups, migrationen zwischen umgebungen (z. b. prod → int) und als sicherungspunkt vor grösseren änderungen. ### 2.1 export via admin-ui (empfohlen) im sysadmin-bereich der plattform gibt es einen integrierten export-button. er erzeugt eine json-datei, die direkt heruntergeladen wird. - **zugriff:** nur für sysadmins (höchste berechtigungsstufe) - **umfang:** alle datenbanken oder einzelne auswählbar - **dateiname:** `migration_backup_yyyy-mm-dd_hh-mm.json` - **rate-limit:** max. 2 exports pro minute (schutzmassnahme gegen versehentliche mehrfachausführung) auch sehr grosse datenbanken werden sicher übertragen, ohne dass der server dabei überlastet wird. ### 2.2 export via script (für entwickler / server-zugriff) direkt auf dem server kann das export-script ausgeführt werden: ```bash ssh ubuntu@api.poweron.swiss cd /srv/gateway/current source .venv/bin/activate # alle datenbanken exportieren python scripts/script_db_export_migration.py --pretty # nur bestimmte datenbanken python scripts/script_db_export_migration.py --db poweron_app,poweron_management # ohne metadaten (kleiner, für archivierung) python scripts/script_db_export_migration.py --exclude token,authevent # mit zusammenfassung (zeigt tabellen- und zeilenanzahl) python scripts/script_db_export_migration.py --summary ``` das script erstellt automatisch zwei dateien: - `migration_export_timestamp.json` — vollständige daten - `migration_export_timestamp_structure.json` — nur tabellenstruktur, keine daten ### 2.3 was wird beim export ausgeschlossen? aus sicherheits- und datenschutzgründen werden folgende tabellen **nie** exportiert: - `token` (aktive login-sessions) - `authevent` (login-protokoll) - `poweron_test` (testdatenbank) --- ## 3. import ein import spielt einen zuvor erstellten export wieder ein. typische anwendungsfälle: - wiederherstellung eines früheren datenstands - migration zwischen umgebungen (z. b. produktionsdaten auf die testumgebung übertragen) - initialisierung einer neuen instanz ### 3.1 zwei import-modi **replace (ersetzen):** löscht alle bestehenden daten (ausser geschützte system-objekte, siehe unten) und schreibt den backup-stand vollständig neu. verwenden bei vollständiger wiederherstellung. **merge (zusammenführen):** fügt nur datensätze ein, die noch nicht existieren (anhand id). bestehende daten bleiben unverändert. verwenden wenn nur fehlende daten ergänzt werden sollen. ### 3.2 import via admin-ui 1. json-datei hochladen 2. validation läuft automatisch (prüft format-version, struktur, system-objekte) 3. import-modus wählen: `replace` oder `merge` 4. import starten — ergebnis zeigt anzahl eingespielter datensätze pro tabelle auch sehr grosse backup-dateien können problemlos importiert werden, ohne den server zu überlasten. ### 3.3 geschützte system-objekte beim import werden drei kritische objekte **nie gelöscht oder überschrieben**, unabhängig vom import-modus: - root-mandat - admin-benutzer - event-benutzer falls diese objekte im backup andere interne kennungen hatten als in der zielumgebung, passt das system alle betroffenen verknüpfungen **automatisch** an. das verhindert inkonsistente daten nach dem import. ### 3.4 import via script ```bash ssh ubuntu@api.poweron.swiss cd /srv/gateway/current source .venv/bin/activate sudo systemctl stop gateway # import-script (pendant zum export-script) # datei übergeben, modus wählen python scripts/script_db_export_migration.py --help # zeigt alle optionen sudo systemctl start gateway ``` --- ## 4. backups & datensicherung ### 4.1 backup-strategie die plattform verfügt über ein durchdachtes, mehrschichtiges sicherungskonzept: **infrastruktur-ebene:** der datenbankserver läuft auf der infomaniak public cloud, die snapshot-funktionalitäten für managed databases bereitstellt. **anwendungs-ebene:** über die integrierte admin-ui kann jederzeit ein vollständiger export aller datenbanken erstellt werden — on-demand, gezielt pro datenbank oder als gesamtexport. die backup-dateien sind vollständig portabel und können auf jedem speicher archiviert werden. ### 4.2 empfohlene backup-praxis | zeitpunkt | aktion | |---|---| | vor jedem deployment | export via admin-ui, datei lokal speichern | | vor datenbank-migrationen | export erstellen und beschriftet archivieren | | wöchentlich | export als archiv-backup ablegen | --- ## 5. datenbankmigrationen (struktur-änderungen) wenn sich das datenmodell weiterentwickelt — z. b. durch neue felder oder tabellen — stellt die plattform dedizierte hilfsprogramme bereit, die datenbankstruktur kontrolliert und sicher anzupassen: | programm | zweck | |---|---| | `script_db_adapt_to_models.py` | passt die datenbankstruktur automatisch an den aktuellen code an (mit vorschau-modus ohne änderungen) | | `script_db_audit_legacy_state.py` | analysiert den datenbankzustand vor einem bereinigungsschritt | | `script_db_migrate_*.py` | datenmigrations-programme für spezifische features | | `script_db_init_automation2.py` | erstellt die datenbankstruktur für das automation-feature | | `script_db_init_chatbot.py` | erstellt die datenbankstruktur für das chatbot-feature | beim start der anwendung prüft die plattform ausserdem automatisch, ob alle benötigten tabellen vorhanden sind, und legt fehlende selbstständig an. --- ## 6. datenschutz-hinweise - export-dateien enthalten **alle kundendaten** (mandate, benutzer, chats, dokumente, etc.) und sind entsprechend zu behandeln - dateien dürfen **nicht auf unsicheren speichern** (persönliche dropbox, e-mail, etc.) abgelegt werden - export-dateien sollten nach nutzung gelöscht werden wenn sie nicht mehr benötigt werden - der zugriff auf export/import ist auf sysadmins beschränkt und wird serverseitig geloggt --- ## zusammenfassung: datenbankoperationen im überblick | aufgabe | wie | |---|---| | fehlende tabellen beim start anlegen | automatisch beim plattform-start | | datenbank-export / backup | admin-ui (ein klick) oder entwickler-script | | datenbank-import / wiederherstellung | admin-ui mit geführtem prozess oder entwickler-script | | infrastruktur-snapshots | infomaniak cloud (serverebene) | | struktur-anpassungen bei updates | kontrolliert durch entwickler-hilfsprogramme | | datenbankpflege & bereinigung | admin-ui | ", "nextReview": "", "overdueReview": false, "zuPruefen": []}, {"id": "05_betrieb/20260528_drittanbieter-inventar.md", "path": "05_betrieb/20260528_drittanbieter-inventar.md", "chapter": "05_betrieb", "title": "Drittanbieter-Inventar: Plattform-Core", "filename": "20260528_drittanbieter-inventar.md", "meta": {}, "html": "<h1>Drittanbieter-Inventar: Plattform-Core<\/h1>\n<p>Dieses Dokument listet alle externen Dienste und Plattformen auf, mit denen die PowerOn-Plattform direkt integriert ist. Es basiert auf einer Auswertung des Quellcodes (Stand: Mai 2026).<\/p>\n<p><strong>Verantwortlicher für alle Drittdienste:<\/strong> Patrick Motsch — p.motsch@poweron.swiss<\/p>\n<hr>\n<h2>1. KI-Provider (LLM)<\/h2>\n<p>Diese Dienste liefern die KI-Intelligenz der Plattform. Fällt einer aus, sind die entsprechenden AI-Features nicht mehr verfügbar, je nach Konfiguration kann auf einen anderen Provider ausgewichen werden.<\/p>\n<h3>OpenAI<\/h3>\n<table><thead><tr><th>Feld<\/th><th>Wert<\/th><\/tr><\/thead><tbody><tr><td><strong>Kategorie<\/strong><\/td><td>LLM-Provider<\/td><\/tr><tr><td><strong>Verwendung<\/strong><\/td><td>Chat-Completions, Embeddings für RAG/Suche, Bildgenerierung (DALL·E). Primärer AI-Provider.<\/td><\/tr><tr><td><strong>Kritikalität<\/strong><\/td><td>Ja — Ausfall betrifft Chat, Agent, Automation-Features<\/td><\/tr><tr><td><strong>Ansprechpartner<\/strong><\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td><strong>Statusseite<\/strong><\/td><td>https://status.openai.com<\/td><\/tr><tr><td><strong>Vertragslaufzeit / Kündigung<\/strong><\/td><td>unbefristet<\/td><\/tr><\/tbody><\/table>\n<h3>Anthropic (Claude)<\/h3>\n<table><thead><tr><th>Feld<\/th><th>Wert<\/th><\/tr><\/thead><tbody><tr><td><strong>Kategorie<\/strong><\/td><td>LLM-Provider<\/td><\/tr><tr><td><strong>Verwendung<\/strong><\/td><td>Chat-Completions, Agent-Workflows als Alternative zu OpenAI<\/td><\/tr><tr><td><strong>Kritikalität<\/strong><\/td><td>Nein — nur wenn als aktiver Provider konfiguriert<\/td><\/tr><tr><td><strong>Ansprechpartner<\/strong><\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td><strong>Statusseite<\/strong><\/td><td>https://status.anthropic.com<\/td><\/tr><tr><td><strong>Vertragslaufzeit / Kündigung<\/strong><\/td><td>unbefristet<\/td><\/tr><\/tbody><\/table>\n<h3>Mistral AI<\/h3>\n<table><thead><tr><th>Feld<\/th><th>Wert<\/th><\/tr><\/thead><tbody><tr><td><strong>Kategorie<\/strong><\/td><td>LLM-Provider<\/td><\/tr><tr><td><strong>Verwendung<\/strong><\/td><td>Chat-Completions und Embeddings als Alternative zu OpenAI<\/td><\/tr><tr><td><strong>Kritikalität<\/strong><\/td><td>Nein — nur wenn als aktiver Provider konfiguriert<\/td><\/tr><tr><td><strong>Ansprechpartner<\/strong><\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td><strong>Statusseite<\/strong><\/td><td>https://mistral.ai/status<\/td><\/tr><tr><td><strong>Vertragslaufzeit / Kündigung<\/strong><\/td><td>unbefristet<\/td><\/tr><\/tbody><\/table>\n<h3>Perplexity AI<\/h3>\n<table><thead><tr><th>Feld<\/th><th>Wert<\/th><\/tr><\/thead><tbody><tr><td><strong>Kategorie<\/strong><\/td><td>LLM-Provider (mit Web-Zugriff)<\/td><\/tr><tr><td><strong>Verwendung<\/strong><\/td><td>Chat-Completions mit integrierter Websuche<\/td><\/tr><tr><td><strong>Kritikalität<\/strong><\/td><td>Nein — optionaler Provider<\/td><\/tr><tr><td><strong>Ansprechpartner<\/strong><\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td><strong>Statusseite<\/strong><\/td><td>https://status.perplexity.ai<\/td><\/tr><tr><td><strong>Vertragslaufzeit / Kündigung<\/strong><\/td><td>unbefristet<\/td><\/tr><\/tbody><\/table>\n<h3>Tavily<\/h3>\n<table><thead><tr><th>Feld<\/th><th>Wert<\/th><\/tr><\/thead><tbody><tr><td><strong>Kategorie<\/strong><\/td><td>AI-Websuche<\/td><\/tr><tr><td><strong>Verwendung<\/strong><\/td><td>Echtzeit-Websuche für AI-Agenten und LangChain-Workflows<\/td><\/tr><tr><td><strong>Kritikalität<\/strong><\/td><td>Nein — betrifft nur Research-/Agent-Features<\/td><\/tr><tr><td><strong>Ansprechpartner<\/strong><\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td><strong>Statusseite<\/strong><\/td><td>https://status.tavily.com<\/td><\/tr><tr><td><strong>Vertragslaufzeit / Kündigung<\/strong><\/td><td>unbefristet<\/td><\/tr><\/tbody><\/table>\n<hr>\n<h2>2. Infrastruktur &amp; Hosting<\/h2>\n<h3>Infomaniak (Server &amp; Datenbank)<\/h3>\n<table><thead><tr><th>Feld<\/th><th>Wert<\/th><\/tr><\/thead><tbody><tr><td><strong>Kategorie<\/strong><\/td><td>Cloud Hosting / Managed Database<\/td><\/tr><tr><td><strong>Verwendung<\/strong><\/td><td>VM-Hosting für Prod- und Int-Server (<code>api.poweron.swiss<\/code>, <code>api-int.poweron.swiss<\/code>), PostgreSQL-Datenbank (<code>db.poweron.swiss<\/code>)<\/td><\/tr><tr><td><strong>Kritikalität<\/strong><\/td><td><strong>Ja<\/strong> — Totalausfall der Plattform bei Ausfall<\/td><\/tr><tr><td><strong>Ansprechpartner<\/strong><\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td><strong>Statusseite<\/strong><\/td><td>https://status.infomaniak.com<\/td><\/tr><tr><td><strong>Vertragslaufzeit / Kündigung<\/strong><\/td><td>unbefristet<\/td><\/tr><\/tbody><\/table>\n<hr>\n<h2>3. Authentifizierung &amp; Login<\/h2>\n<h3>Microsoft Azure AD (OAuth)<\/h3>\n<table><thead><tr><th>Feld<\/th><th>Wert<\/th><\/tr><\/thead><tbody><tr><td><strong>Kategorie<\/strong><\/td><td>Auth / Identity Provider<\/td><\/tr><tr><td><strong>Verwendung<\/strong><\/td><td>Login via Microsoft-Konto (OAuth 2.0). Auch Basis für Microsoft 365 Datenzugriff.<\/td><\/tr><tr><td><strong>Kritikalität<\/strong><\/td><td>Ja — Login für Microsoft-Nutzer nicht möglich bei Ausfall<\/td><\/tr><tr><td><strong>Ansprechpartner<\/strong><\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td><strong>Statusseite<\/strong><\/td><td>https://status.azure.com<\/td><\/tr><tr><td><strong>Vertragslaufzeit / Kündigung<\/strong><\/td><td>Kundenseitig<\/td><\/tr><\/tbody><\/table>\n<h3>Google OAuth<\/h3>\n<table><thead><tr><th>Feld<\/th><th>Wert<\/th><\/tr><\/thead><tbody><tr><td><strong>Kategorie<\/strong><\/td><td>Auth / Identity Provider<\/td><\/tr><tr><td><strong>Verwendung<\/strong><\/td><td>Login via Google-Konto. Auch Basis für Google Workspace Datenzugriff.<\/td><\/tr><tr><td><strong>Kritikalität<\/strong><\/td><td>Ja — Login für Google-Nutzer nicht möglich bei Ausfall<\/td><\/tr><tr><td><strong>Ansprechpartner<\/strong><\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td><strong>Statusseite<\/strong><\/td><td>https://www.google.com/appsstatus<\/td><\/tr><tr><td><strong>Vertragslaufzeit / Kündigung<\/strong><\/td><td>Kundenseitig<\/td><\/tr><\/tbody><\/table>\n<hr>\n<h2>4. Daten-Konnektoren (Dateiablage, Kalender, Kontakte)<\/h2>\n<p>Diese Dienste sind optionale Verbindungen, die Endkunden in ihrer Mandanten-Konfiguration aktivieren können. Ein Ausfall betrifft die Kunden, die diesen Konnektor aktiv nutzen.<\/p>\n<h3>Microsoft 365 (SharePoint / OneDrive / Outlook / Calendar)<\/h3>\n<table><thead><tr><th>Feld<\/th><th>Wert<\/th><\/tr><\/thead><tbody><tr><td><strong>Kategorie<\/strong><\/td><td>Datei- &amp; Kommunikationsplattform (Konnektor)<\/td><\/tr><tr><td><strong>Verwendung<\/strong><\/td><td>Dateizugriff auf SharePoint/OneDrive, E-Mail-Lesen und -Senden via Outlook, Kalender-Integration via Microsoft Graph API<\/td><\/tr><tr><td><strong>Kritikalität<\/strong><\/td><td>Nein (nur für Kunden mit aktivem MS365-Konnektor)<\/td><\/tr><tr><td><strong>Ansprechpartner<\/strong><\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td><strong>Statusseite<\/strong><\/td><td>https://status.office365.com<\/td><\/tr><tr><td><strong>Vertragslaufzeit / Kündigung<\/strong><\/td><td>Kundenseitig (eigenes Microsoft-Konto des Kunden)<\/td><\/tr><\/tbody><\/table>\n<h3>Google Workspace (Drive / Gmail / Calendar / Contacts)<\/h3>\n<table><thead><tr><th>Feld<\/th><th>Wert<\/th><\/tr><\/thead><tbody><tr><td><strong>Kategorie<\/strong><\/td><td>Datei- &amp; Kommunikationsplattform (Konnektor)<\/td><\/tr><tr><td><strong>Verwendung<\/strong><\/td><td>Dateizugriff auf Google Drive, Gmail lesen/senden, Google Calendar, Google Contacts via Google APIs<\/td><\/tr><tr><td><strong>Kritikalität<\/strong><\/td><td>Nein (nur für Kunden mit aktivem Google-Konnektor)<\/td><\/tr><tr><td><strong>Ansprechpartner<\/strong><\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td><strong>Statusseite<\/strong><\/td><td>https://www.google.com/appsstatus<\/td><\/tr><tr><td><strong>Vertragslaufzeit / Kündigung<\/strong><\/td><td>Kundenseitig<\/td><\/tr><\/tbody><\/table>\n<h3>Infomaniak (kDrive / Kalender / Kontakte)<\/h3>\n<table><thead><tr><th>Feld<\/th><th>Wert<\/th><\/tr><\/thead><tbody><tr><td><strong>Kategorie<\/strong><\/td><td>Datei- &amp; Kommunikationsplattform (Konnektor)<\/td><\/tr><tr><td><strong>Verwendung<\/strong><\/td><td>Dateizugriff auf kDrive, Infomaniak Calendar, Infomaniak Contacts via Personal Access Token<\/td><\/tr><tr><td><strong>Kritikalität<\/strong><\/td><td>Nein (nur für Kunden mit aktivem Infomaniak-Konnektor)<\/td><\/tr><tr><td><strong>Ansprechpartner<\/strong><\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td><strong>Statusseite<\/strong><\/td><td>https://status.infomaniak.com<\/td><\/tr><tr><td><strong>Vertragslaufzeit / Kündigung<\/strong><\/td><td>Kundenseitig<\/td><\/tr><\/tbody><\/table>\n<h3>FTP<\/h3>\n<table><thead><tr><th>Feld<\/th><th>Wert<\/th><\/tr><\/thead><tbody><tr><td><strong>Kategorie<\/strong><\/td><td>Dateikonnektor<\/td><\/tr><tr><td><strong>Verwendung<\/strong><\/td><td>Generischer FTP/SFTP-Zugriff für Kunden mit FTP-Verbindung<\/td><\/tr><tr><td><strong>Kritikalität<\/strong><\/td><td>Nein (nur für Kunden mit aktivem FTP-Konnektor)<\/td><\/tr><tr><td><strong>Ansprechpartner<\/strong><\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td><strong>Statusseite<\/strong><\/td><td>Kundenseitig<\/td><\/tr><tr><td><strong>Vertragslaufzeit / Kündigung<\/strong><\/td><td>Kundenseitig<\/td><\/tr><\/tbody><\/table>\n<hr>\n<h2>5. Ticket-Systeme (Konnektoren)<\/h2>\n<h3>ClickUp<\/h3>\n<table><thead><tr><th>Feld<\/th><th>Wert<\/th><\/tr><\/thead><tbody><tr><td><strong>Kategorie<\/strong><\/td><td>Projektmanagement / Ticketing (Konnektor)<\/td><\/tr><tr><td><strong>Verwendung<\/strong><\/td><td>Aufgaben und Tickets lesen/erstellen/aktualisieren via ClickUp API v2 und OAuth<\/td><\/tr><tr><td><strong>Kritikalität<\/strong><\/td><td>Nein (nur für Kunden mit aktivem ClickUp-Konnektor)<\/td><\/tr><tr><td><strong>Ansprechpartner<\/strong><\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td><strong>Statusseite<\/strong><\/td><td>https://clickupstatus.com<\/td><\/tr><tr><td><strong>Vertragslaufzeit / Kündigung<\/strong><\/td><td>Kundenseitig<\/td><\/tr><\/tbody><\/table>\n<h3>Jira<\/h3>\n<table><thead><tr><th>Feld<\/th><th>Wert<\/th><\/tr><\/thead><tbody><tr><td><strong>Kategorie<\/strong><\/td><td>Projektmanagement / Ticketing (Konnektor)<\/td><\/tr><tr><td><strong>Verwendung<\/strong><\/td><td>Tickets lesen/erstellen via Jira REST API<\/td><\/tr><tr><td><strong>Kritikalität<\/strong><\/td><td>Nein (nur für Kunden mit aktivem Jira-Konnektor)<\/td><\/tr><tr><td><strong>Ansprechpartner<\/strong><\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td><strong>Statusseite<\/strong><\/td><td>https://jira-software.status.atlassian.com<\/td><\/tr><tr><td><strong>Vertragslaufzeit / Kündigung<\/strong><\/td><td>Kundenseitig<\/td><\/tr><\/tbody><\/table>\n<h3>Redmine<\/h3>\n<table><thead><tr><th>Feld<\/th><th>Wert<\/th><\/tr><\/thead><tbody><tr><td><strong>Kategorie<\/strong><\/td><td>Projektmanagement / Ticketing (Konnektor)<\/td><\/tr><tr><td><strong>Verwendung<\/strong><\/td><td>Tickets lesen/erstellen via Redmine REST API<\/td><\/tr><tr><td><strong>Kritikalität<\/strong><\/td><td>Nein (nur für Kunden mit aktivem Redmine-Konnektor)<\/td><\/tr><tr><td><strong>Ansprechpartner<\/strong><\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td><strong>Statusseite<\/strong><\/td><td>Kundenseitig<\/td><\/tr><tr><td><strong>Vertragslaufzeit / Kündigung<\/strong><\/td><td>Kundenseitig<\/td><\/tr><\/tbody><\/table>\n<hr>\n<h2>6. Payment<\/h2>\n<h3>Stripe<\/h3>\n<table><thead><tr><th>Feld<\/th><th>Wert<\/th><\/tr><\/thead><tbody><tr><td><strong>Kategorie<\/strong><\/td><td>Payment Provider<\/td><\/tr><tr><td><strong>Verwendung<\/strong><\/td><td>Abonnement-Management, Zahlungsabwicklung, automatische Steuerberechnung (CH MwSt). API-Version <code>2026-01-28<\/code>.<\/td><\/tr><tr><td><strong>Kritikalität<\/strong><\/td><td><strong>Ja<\/strong> — Neue Abonnements und Zahlungen schlagen fehl bei Ausfall<\/td><\/tr><tr><td><strong>Ansprechpartner<\/strong><\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td><strong>Statusseite<\/strong><\/td><td>https://status.stripe.com<\/td><\/tr><tr><td><strong>Vertragslaufzeit / Kündigung<\/strong><\/td><td>unbefristet<\/td><\/tr><\/tbody><\/table>\n<hr>\n<h2>7. Messaging &amp; Kommunikation<\/h2>\n<h3>Azure Communication Services (E-Mail)<\/h3>\n<table><thead><tr><th>Feld<\/th><th>Wert<\/th><\/tr><\/thead><tbody><tr><td><strong>Kategorie<\/strong><\/td><td>Transaktions-E-Mail<\/td><\/tr><tr><td><strong>Verwendung<\/strong><\/td><td>Systemmails (Einladungen, Passwort-Reset, Rechnungen) via <code>DoNotReply@poweron.swiss<\/code>. Endpunkt: <code>mailing-poweron-prod.switzerland.communication.azure.com<\/code><\/td><\/tr><tr><td><strong>Kritikalität<\/strong><\/td><td><strong>Ja<\/strong> — Einladungs- und Benachrichtigungs-E-Mails werden nicht zugestellt<\/td><\/tr><tr><td><strong>Ansprechpartner<\/strong><\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td><strong>Statusseite<\/strong><\/td><td>https://status.azure.com<\/td><\/tr><tr><td><strong>Vertragslaufzeit / Kündigung<\/strong><\/td><td>unbefristet<\/td><\/tr><\/tbody><\/table>\n<h3>Twilio (SMS)<\/h3>\n<table><thead><tr><th>Feld<\/th><th>Wert<\/th><\/tr><\/thead><tbody><tr><td><strong>Kategorie<\/strong><\/td><td>SMS-Gateway<\/td><\/tr><tr><td><strong>Verwendung<\/strong><\/td><td>SMS-Versand (z. B. 2FA, Benachrichtigungen)<\/td><\/tr><tr><td><strong>Kritikalität<\/strong><\/td><td>Nein — nur wenn SMS-Feature aktiv genutzt wird<\/td><\/tr><tr><td><strong>Ansprechpartner<\/strong><\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td><strong>Statusseite<\/strong><\/td><td>https://status.twilio.com<\/td><\/tr><tr><td><strong>Vertragslaufzeit / Kündigung<\/strong><\/td><td>unbefristet<\/td><\/tr><\/tbody><\/table>\n<hr>\n<h2>8. Google Cloud Services<\/h2>\n<h3>Google Cloud Speech-to-Text / Text-to-Speech<\/h3>\n<table><thead><tr><th>Feld<\/th><th>Wert<\/th><\/tr><\/thead><tbody><tr><td><strong>Kategorie<\/strong><\/td><td>Sprach-KI (STT/TTS)<\/td><\/tr><tr><td><strong>Verwendung<\/strong><\/td><td>Sprache-zu-Text-Transkription und Text-zu-Sprache-Synthese für Voice-Features<\/td><\/tr><tr><td><strong>Kritikalität<\/strong><\/td><td>Nein — betrifft nur Voice-Features<\/td><\/tr><tr><td><strong>Ansprechpartner<\/strong><\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td><strong>Statusseite<\/strong><\/td><td>https://status.cloud.google.com<\/td><\/tr><tr><td><strong>Vertragslaufzeit / Kündigung<\/strong><\/td><td>unbefristet<\/td><\/tr><\/tbody><\/table>\n<h3>Google Cloud Translate<\/h3>\n<table><thead><tr><th>Feld<\/th><th>Wert<\/th><\/tr><\/thead><tbody><tr><td><strong>Kategorie<\/strong><\/td><td>Übersetzungsdienst<\/td><\/tr><tr><td><strong>Verwendung<\/strong><\/td><td>Automatische Übersetzung von Inhalten<\/td><\/tr><tr><td><strong>Kritikalität<\/strong><\/td><td>Nein — betrifft nur Übersetzungsfeatures<\/td><\/tr><tr><td><strong>Ansprechpartner<\/strong><\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td><strong>Statusseite<\/strong><\/td><td>https://status.cloud.google.com<\/td><\/tr><tr><td><strong>Vertragslaufzeit / Kündigung<\/strong><\/td><td>unbefristet<\/td><\/tr><\/tbody><\/table>\n<hr>\n<h2>9. Schweizer Geodienste (öffentliche APIs)<\/h2>\n<p>Diese Dienste sind öffentlich zugängliche Schnittstellen des Bundes und der Kantone. Kein Login, kein Vertrag erforderlich — aber ein Ausfall beeinträchtigt Geo-Features.<\/p>\n<h3>swisstopo MapServer &amp; Geocoding<\/h3>\n<table><thead><tr><th>Feld<\/th><th>Wert<\/th><\/tr><\/thead><tbody><tr><td><strong>Kategorie<\/strong><\/td><td>Geodaten / Kartendienst<\/td><\/tr><tr><td><strong>Verwendung<\/strong><\/td><td>Adress-Geocoding, Karteninformationen, Parzellen-Identifikation via <code>api3.geo.admin.ch<\/code><\/td><\/tr><tr><td><strong>Kritikalität<\/strong><\/td><td>Nein — betrifft nur Immobilien-/Geo-Features<\/td><\/tr><tr><td><strong>Ansprechpartner<\/strong><\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td><strong>Statusseite<\/strong><\/td><td>https://www.geo.admin.ch<\/td><\/tr><tr><td><strong>Vertragslaufzeit / Kündigung<\/strong><\/td><td>Kostenloser öffentlicher Dienst<\/td><\/tr><\/tbody><\/table>\n<h3>STAC API (swisstopo)<\/h3>\n<table><thead><tr><th>Feld<\/th><th>Wert<\/th><\/tr><\/thead><tbody><tr><td><strong>Kategorie<\/strong><\/td><td>Geodaten (Satellitenbilder / Rasterdaten)<\/td><\/tr><tr><td><strong>Verwendung<\/strong><\/td><td>Zugriff auf georäumliche Katalogdaten via <code>data.geo.admin.ch<\/code><\/td><\/tr><tr><td><strong>Kritikalität<\/strong><\/td><td>Nein — betrifft nur Geo-Features<\/td><\/tr><tr><td><strong>Ansprechpartner<\/strong><\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td><strong>Statusseite<\/strong><\/td><td>https://www.geo.admin.ch<\/td><\/tr><tr><td><strong>Vertragslaufzeit / Kündigung<\/strong><\/td><td>Kostenloser öffentlicher Dienst<\/td><\/tr><\/tbody><\/table>\n<h3>ÖREB-Kataster WFS (Kanton Zürich)<\/h3>\n<table><thead><tr><th>Feld<\/th><th>Wert<\/th><\/tr><\/thead><tbody><tr><td><strong>Kategorie<\/strong><\/td><td>Geodaten / Rechtliche Grundlagen Grundstücke<\/td><\/tr><tr><td><strong>Verwendung<\/strong><\/td><td>Abruf öffentlich-rechtlicher Eigentumsbeschränkungen (ÖREB) für Parzellen via <code>maps.zh.ch<\/code><\/td><\/tr><tr><td><strong>Kritikalität<\/strong><\/td><td>Nein — betrifft nur Immobilien-Features (ZH)<\/td><\/tr><tr><td><strong>Ansprechpartner<\/strong><\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td><strong>Statusseite<\/strong><\/td><td>https://www.zh.ch/de/direktion-der-justiz-und-des-innern/geoinformation.html<\/td><\/tr><tr><td><strong>Vertragslaufzeit / Kündigung<\/strong><\/td><td>Kostenloser öffentlicher Dienst<\/td><\/tr><\/tbody><\/table>\n<h3>Geodienste.ch (Amtliche Vermessung ZH)<\/h3>\n<table><thead><tr><th>Feld<\/th><th>Wert<\/th><\/tr><\/thead><tbody><tr><td><strong>Kategorie<\/strong><\/td><td>Geodaten / Amtliche Vermessung<\/td><\/tr><tr><td><strong>Verwendung<\/strong><\/td><td>WFS-Abfragen für Parzellensuche via <code>www.geodienste.ch<\/code><\/td><\/tr><tr><td><strong>Kritikalität<\/strong><\/td><td>Nein — betrifft nur Immobilien-Features<\/td><\/tr><tr><td><strong>Ansprechpartner<\/strong><\/td><td>Patrick Motsch — p.motsch@poweron.swiss<\/td><\/tr><tr><td><strong>Statusseite<\/strong><\/td><td>https://www.geodienste.ch<\/td><\/tr><tr><td><strong>Vertragslaufzeit / Kündigung<\/strong><\/td><td>Kostenloser öffentlicher Dienst<\/td><\/tr><\/tbody><\/table>", "text": "# drittanbieter-inventar: plattform-core dieses dokument listet alle externen dienste und plattformen auf, mit denen die poweron-plattform direkt integriert ist. es basiert auf einer auswertung des quellcodes (stand: mai 2026). **verantwortlicher für alle drittdienste:** patrick motsch — p.motsch@poweron.swiss --- ## 1. ki-provider (llm) diese dienste liefern die ki-intelligenz der plattform. fällt einer aus, sind die entsprechenden ai-features nicht mehr verfügbar, je nach konfiguration kann auf einen anderen provider ausgewichen werden. ### openai | feld | wert | |---|---| | **kategorie** | llm-provider | | **verwendung** | chat-completions, embeddings für rag/suche, bildgenerierung (dall·e). primärer ai-provider. | | **kritikalität** | ja — ausfall betrifft chat, agent, automation-features | | **ansprechpartner** | patrick motsch — p.motsch@poweron.swiss | | **statusseite** | https://status.openai.com | | **vertragslaufzeit / kündigung** | unbefristet | ### anthropic (claude) | feld | wert | |---|---| | **kategorie** | llm-provider | | **verwendung** | chat-completions, agent-workflows als alternative zu openai | | **kritikalität** | nein — nur wenn als aktiver provider konfiguriert | | **ansprechpartner** | patrick motsch — p.motsch@poweron.swiss | | **statusseite** | https://status.anthropic.com | | **vertragslaufzeit / kündigung** | unbefristet | ### mistral ai | feld | wert | |---|---| | **kategorie** | llm-provider | | **verwendung** | chat-completions und embeddings als alternative zu openai | | **kritikalität** | nein — nur wenn als aktiver provider konfiguriert | | **ansprechpartner** | patrick motsch — p.motsch@poweron.swiss | | **statusseite** | https://mistral.ai/status | | **vertragslaufzeit / kündigung** | unbefristet | ### perplexity ai | feld | wert | |---|---| | **kategorie** | llm-provider (mit web-zugriff) | | **verwendung** | chat-completions mit integrierter websuche | | **kritikalität** | nein — optionaler provider | | **ansprechpartner** | patrick motsch — p.motsch@poweron.swiss | | **statusseite** | https://status.perplexity.ai | | **vertragslaufzeit / kündigung** | unbefristet | ### tavily | feld | wert | |---|---| | **kategorie** | ai-websuche | | **verwendung** | echtzeit-websuche für ai-agenten und langchain-workflows | | **kritikalität** | nein — betrifft nur research-/agent-features | | **ansprechpartner** | patrick motsch — p.motsch@poweron.swiss | | **statusseite** | https://status.tavily.com | | **vertragslaufzeit / kündigung** | unbefristet | --- ## 2. infrastruktur & hosting ### infomaniak (server & datenbank) | feld | wert | |---|---| | **kategorie** | cloud hosting / managed database | | **verwendung** | vm-hosting für prod- und int-server (`api.poweron.swiss`, `api-int.poweron.swiss`), postgresql-datenbank (`db.poweron.swiss`) | | **kritikalität** | **ja** — totalausfall der plattform bei ausfall | | **ansprechpartner** | patrick motsch — p.motsch@poweron.swiss | | **statusseite** | https://status.infomaniak.com | | **vertragslaufzeit / kündigung** | unbefristet | --- ## 3. authentifizierung & login ### microsoft azure ad (oauth) | feld | wert | |---|---| | **kategorie** | auth / identity provider | | **verwendung** | login via microsoft-konto (oauth 2.0). auch basis für microsoft 365 datenzugriff. | | **kritikalität** | ja — login für microsoft-nutzer nicht möglich bei ausfall | | **ansprechpartner** | patrick motsch — p.motsch@poweron.swiss | | **statusseite** | https://status.azure.com | | **vertragslaufzeit / kündigung** | kundenseitig | ### google oauth | feld | wert | |---|---| | **kategorie** | auth / identity provider | | **verwendung** | login via google-konto. auch basis für google workspace datenzugriff. | | **kritikalität** | ja — login für google-nutzer nicht möglich bei ausfall | | **ansprechpartner** | patrick motsch — p.motsch@poweron.swiss | | **statusseite** | https://www.google.com/appsstatus | | **vertragslaufzeit / kündigung** | kundenseitig | --- ## 4. daten-konnektoren (dateiablage, kalender, kontakte) diese dienste sind optionale verbindungen, die endkunden in ihrer mandanten-konfiguration aktivieren können. ein ausfall betrifft die kunden, die diesen konnektor aktiv nutzen. ### microsoft 365 (sharepoint / onedrive / outlook / calendar) | feld | wert | |---|---| | **kategorie** | datei- & kommunikationsplattform (konnektor) | | **verwendung** | dateizugriff auf sharepoint/onedrive, e-mail-lesen und -senden via outlook, kalender-integration via microsoft graph api | | **kritikalität** | nein (nur für kunden mit aktivem ms365-konnektor) | | **ansprechpartner** | patrick motsch — p.motsch@poweron.swiss | | **statusseite** | https://status.office365.com | | **vertragslaufzeit / kündigung** | kundenseitig (eigenes microsoft-konto des kunden) | ### google workspace (drive / gmail / calendar / contacts) | feld | wert | |---|---| | **kategorie** | datei- & kommunikationsplattform (konnektor) | | **verwendung** | dateizugriff auf google drive, gmail lesen/senden, google calendar, google contacts via google apis | | **kritikalität** | nein (nur für kunden mit aktivem google-konnektor) | | **ansprechpartner** | patrick motsch — p.motsch@poweron.swiss | | **statusseite** | https://www.google.com/appsstatus | | **vertragslaufzeit / kündigung** | kundenseitig | ### infomaniak (kdrive / kalender / kontakte) | feld | wert | |---|---| | **kategorie** | datei- & kommunikationsplattform (konnektor) | | **verwendung** | dateizugriff auf kdrive, infomaniak calendar, infomaniak contacts via personal access token | | **kritikalität** | nein (nur für kunden mit aktivem infomaniak-konnektor) | | **ansprechpartner** | patrick motsch — p.motsch@poweron.swiss | | **statusseite** | https://status.infomaniak.com | | **vertragslaufzeit / kündigung** | kundenseitig | ### ftp | feld | wert | |---|---| | **kategorie** | dateikonnektor | | **verwendung** | generischer ftp/sftp-zugriff für kunden mit ftp-verbindung | | **kritikalität** | nein (nur für kunden mit aktivem ftp-konnektor) | | **ansprechpartner** | patrick motsch — p.motsch@poweron.swiss | | **statusseite** | kundenseitig | | **vertragslaufzeit / kündigung** | kundenseitig | --- ## 5. ticket-systeme (konnektoren) ### clickup | feld | wert | |---|---| | **kategorie** | projektmanagement / ticketing (konnektor) | | **verwendung** | aufgaben und tickets lesen/erstellen/aktualisieren via clickup api v2 und oauth | | **kritikalität** | nein (nur für kunden mit aktivem clickup-konnektor) | | **ansprechpartner** | patrick motsch — p.motsch@poweron.swiss | | **statusseite** | https://clickupstatus.com | | **vertragslaufzeit / kündigung** | kundenseitig | ### jira | feld | wert | |---|---| | **kategorie** | projektmanagement / ticketing (konnektor) | | **verwendung** | tickets lesen/erstellen via jira rest api | | **kritikalität** | nein (nur für kunden mit aktivem jira-konnektor) | | **ansprechpartner** | patrick motsch — p.motsch@poweron.swiss | | **statusseite** | https://jira-software.status.atlassian.com | | **vertragslaufzeit / kündigung** | kundenseitig | ### redmine | feld | wert | |---|---| | **kategorie** | projektmanagement / ticketing (konnektor) | | **verwendung** | tickets lesen/erstellen via redmine rest api | | **kritikalität** | nein (nur für kunden mit aktivem redmine-konnektor) | | **ansprechpartner** | patrick motsch — p.motsch@poweron.swiss | | **statusseite** | kundenseitig | | **vertragslaufzeit / kündigung** | kundenseitig | --- ## 6. payment ### stripe | feld | wert | |---|---| | **kategorie** | payment provider | | **verwendung** | abonnement-management, zahlungsabwicklung, automatische steuerberechnung (ch mwst). api-version `2026-01-28`. | | **kritikalität** | **ja** — neue abonnements und zahlungen schlagen fehl bei ausfall | | **ansprechpartner** | patrick motsch — p.motsch@poweron.swiss | | **statusseite** | https://status.stripe.com | | **vertragslaufzeit / kündigung** | unbefristet | --- ## 7. messaging & kommunikation ### azure communication services (e-mail) | feld | wert | |---|---| | **kategorie** | transaktions-e-mail | | **verwendung** | systemmails (einladungen, passwort-reset, rechnungen) via `donotreply@poweron.swiss`. endpunkt: `mailing-poweron-prod.switzerland.communication.azure.com` | | **kritikalität** | **ja** — einladungs- und benachrichtigungs-e-mails werden nicht zugestellt | | **ansprechpartner** | patrick motsch — p.motsch@poweron.swiss | | **statusseite** | https://status.azure.com | | **vertragslaufzeit / kündigung** | unbefristet | ### twilio (sms) | feld | wert | |---|---| | **kategorie** | sms-gateway | | **verwendung** | sms-versand (z. b. 2fa, benachrichtigungen) | | **kritikalität** | nein — nur wenn sms-feature aktiv genutzt wird | | **ansprechpartner** | patrick motsch — p.motsch@poweron.swiss | | **statusseite** | https://status.twilio.com | | **vertragslaufzeit / kündigung** | unbefristet | --- ## 8. google cloud services ### google cloud speech-to-text / text-to-speech | feld | wert | |---|---| | **kategorie** | sprach-ki (stt/tts) | | **verwendung** | sprache-zu-text-transkription und text-zu-sprache-synthese für voice-features | | **kritikalität** | nein — betrifft nur voice-features | | **ansprechpartner** | patrick motsch — p.motsch@poweron.swiss | | **statusseite** | https://status.cloud.google.com | | **vertragslaufzeit / kündigung** | unbefristet | ### google cloud translate | feld | wert | |---|---| | **kategorie** | übersetzungsdienst | | **verwendung** | automatische übersetzung von inhalten | | **kritikalität** | nein — betrifft nur übersetzungsfeatures | | **ansprechpartner** | patrick motsch — p.motsch@poweron.swiss | | **statusseite** | https://status.cloud.google.com | | **vertragslaufzeit / kündigung** | unbefristet | --- ## 9. schweizer geodienste (öffentliche apis) diese dienste sind öffentlich zugängliche schnittstellen des bundes und der kantone. kein login, kein vertrag erforderlich — aber ein ausfall beeinträchtigt geo-features. ### swisstopo mapserver & geocoding | feld | wert | |---|---| | **kategorie** | geodaten / kartendienst | | **verwendung** | adress-geocoding, karteninformationen, parzellen-identifikation via `api3.geo.admin.ch` | | **kritikalität** | nein — betrifft nur immobilien-/geo-features | | **ansprechpartner** | patrick motsch — p.motsch@poweron.swiss | | **statusseite** | https://www.geo.admin.ch | | **vertragslaufzeit / kündigung** | kostenloser öffentlicher dienst | ### stac api (swisstopo) | feld | wert | |---|---| | **kategorie** | geodaten (satellitenbilder / rasterdaten) | | **verwendung** | zugriff auf georäumliche katalogdaten via `data.geo.admin.ch` | | **kritikalität** | nein — betrifft nur geo-features | | **ansprechpartner** | patrick motsch — p.motsch@poweron.swiss | | **statusseite** | https://www.geo.admin.ch | | **vertragslaufzeit / kündigung** | kostenloser öffentlicher dienst | ### öreb-kataster wfs (kanton zürich) | feld | wert | |---|---| | **kategorie** | geodaten / rechtliche grundlagen grundstücke | | **verwendung** | abruf öffentlich-rechtlicher eigentumsbeschränkungen (öreb) für parzellen via `maps.zh.ch` | | **kritikalität** | nein — betrifft nur immobilien-features (zh) | | **ansprechpartner** | patrick motsch — p.motsch@poweron.swiss | | **statusseite** | https://www.zh.ch/de/direktion-der-justiz-und-des-innern/geoinformation.html | | **vertragslaufzeit / kündigung** | kostenloser öffentlicher dienst | ### geodienste.ch (amtliche vermessung zh) | feld | wert | |---|---| | **kategorie** | geodaten / amtliche vermessung | | **verwendung** | wfs-abfragen für parzellensuche via `www.geodienste.ch` | | **kritikalität** | nein — betrifft nur immobilien-features | | **ansprechpartner** | patrick motsch — p.motsch@poweron.swiss | | **statusseite** | https://www.geodienste.ch | | **vertragslaufzeit / kündigung** | kostenloser öffentlicher dienst | ", "nextReview": "", "overdueReview": false, "zuPruefen": []}, {"id": "05_betrieb/20260528_feature_release_bugfix.md", "path": "05_betrieb/20260528_feature_release_bugfix.md", "chapter": "05_betrieb", "title": "Auditkonformer Prozess: Feature-Entwicklung, Releases und Bug-Management", "filename": "20260528_feature_release_bugfix.md", "meta": {}, "html": "<h1>Auditkonformer Prozess: Feature-Entwicklung, Releases und Bug-Management<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Prozessbeschreibung / SOP <strong>Geltungsbereich:<\/strong> Softwareentwicklung, Release Management, Bugfixing <strong>Version:<\/strong> 1.0 <strong>Status:<\/strong> Entwurf zur internen Freigabe <strong>Owner:<\/strong> Entwicklung / Produktverantwortung <strong>Letzte Aktualisierung:<\/strong> 28.05.2026<\/p>\n<hr>\n<h2>1. Zweck des Dokuments<\/h2>\n<p>Dieses Dokument beschreibt einen auditkonformen Prozess für:<\/p>\n<ul><li>die strukturierte Aufnahme, Bewertung und Umsetzung von Feature-Requests,<\/li><li>die Durchführung technischer Workshops vor Implementierungsbeginn,<\/li><li>die kontrollierte Entwicklung über Branches, Reviews und Staging-Verifikation,<\/li><li>die versionierte Erstellung von Release Notes,<\/li><li>die Erfassung, Priorisierung, Bearbeitung und Dokumentation von Bugs,<\/li><li>die Nachvollziehbarkeit von Entscheidungen, Änderungen, Verantwortlichkeiten und Freigaben.<\/li><\/ul>\n<p>Ziel ist es, einen nachvollziehbaren, wiederholbaren und prüfbaren Entwicklungs- und Release-Prozess sicherzustellen.<\/p>\n<hr>\n<h2>2. Prozessübersicht<\/h2>\n<p>Der Gesamtprozess besteht aus zwei Hauptsträngen:<\/p>\n<ol><li><strong>Feature-Entwicklung &amp; Releases<\/strong><\/li><li><strong>Bug-Management &amp; Bugfixing<\/strong><\/li><\/ol>\n<p>Beide Stränge folgen gemeinsamen Prinzipien:<\/p>\n<ul><li>zentrale Erfassung aller Anforderungen und Fehler,<\/li><li>dokumentierte Bewertung und Priorisierung,<\/li><li>nachvollziehbare technische Entscheidungen,<\/li><li>Vier-Augen-Prinzip vor produktivem Release,<\/li><li>dokumentierte Release Notes,<\/li><li>klare Verantwortlichkeiten,<\/li><li>prüfbare Nachweise in Tickets, Branches, Pull Requests und Changelogs.<\/li><\/ul>\n<hr>\n<h2>3. Prozessbild<\/h2>\n<pre class=\"mermaid\">flowchart TD\n\n A[Feature Request oder Bug Report geht ein] --&gt; B{Art des Eingangs}\n\n B --&gt;|Feature Request| F1[Zentrale Erfassung&lt;br/&gt;z. B. GitHub Issues, Linear, Notion]\n F1 --&gt; F2[Priorisierung nach Kundenwert,&lt;br/&gt;strategischer Relevanz und Aufwand]\n F2 --&gt; F3[Feature mit hoher Priorität&lt;br/&gt;für Tech Workshop vormerken]\n F3 --&gt; F4[Tech Workshop mit beiden Entwicklern]\n F4 --&gt; F5[Architektur-, API-, Datenmodell-&lt;br/&gt;und Schnittstellenanalyse]\n F5 --&gt; F6[Aufwandsschätzung,&lt;br/&gt;Aufgabenverteilung und Akzeptanzkriterien]\n F6 --&gt; F7[Dokumentation im Issue&lt;br/&gt;oder internen Ticket]\n F7 --&gt; F8[Entwicklung auf Feature Branch&lt;br/&gt;feature/kurzbeschreibung]\n F8 --&gt; F9[Commits mit aussagekräftigen Messages&lt;br/&gt;z. B. feat:, fix:, chore:]\n F9 --&gt; F10[Code Review durch zweiten Entwickler]\n F10 --&gt; F11{Review bestanden?}\n F11 --&gt;|Nein| F12[Überarbeitung durch Entwickler]\n F12 --&gt; F10\n F11 --&gt;|Ja| F13[Merge in Main/Development Branch]\n F13 --&gt; F14[Deployment in Staging]\n F14 --&gt; F15[Finale Verifikation gegen Akzeptanzkriterien]\n F15 --&gt; F16{Verifikation bestanden?}\n F16 --&gt;|Nein| F12\n F16 --&gt;|Ja| F17[Release / Push in Produktion]\n F17 --&gt; F18[Release Notes erstellen und versionieren]\n F18 --&gt; F19[CHANGELOG.md und /changelog aktualisieren]\n\n B --&gt;|Bug Report| G1[Zentrale Erfassung&lt;br/&gt;z. B. ClickUp Formular]\n G1 --&gt; G2[Initiale Antwort gemäß Schweregrad]\n G2 --&gt; G3[Triage durch Mitarbeiter 1]\n G3 --&gt; G4[Prüfung auf Vollständigkeit&lt;br/&gt;und Reproduzierbarkeit]\n G4 --&gt; G5[Klassifizierung:&lt;br/&gt;Kritisch / Hoch / Mittel / Niedrig]\n G5 --&gt; G6[Zuweisung an zuständigen Entwickler]\n G6 --&gt; G7[Fix auf Bugfix Branch&lt;br/&gt;fix/kurzbeschreibung]\n G7 --&gt; G8[Code Review durch Mitarbeiter 1]\n G8 --&gt; G9{Review bestanden?}\n G9 --&gt;|Nein| G10[Nachbesserung durch Entwickler]\n G10 --&gt; G8\n G9 --&gt;|Ja| G11[Merge analog Feature-Prozess]\n G11 --&gt; G12[Staging-Verifikation]\n G12 --&gt; G13{Fix verifiziert?}\n G13 --&gt;|Nein| G10\n G13 --&gt;|Ja| G14[Release in Produktion]\n G14 --&gt; G15[Dokumentation in Release Notes / CHANGELOG]\n G15 --&gt; G16[Melder informieren und Ticket schließen]<\/pre>\n<hr>\n<h2>4. Rollen und Verantwortlichkeiten<\/h2>\n<table><thead><tr><th>Rolle<\/th><th>Verantwortung<\/th><\/tr><\/thead><tbody><tr><td>Entwickler 1<\/td><td>Teilnahme am Tech Workshop, Entwicklung, Review, ggf. Triage<\/td><\/tr><tr><td>Entwickler 2<\/td><td>Teilnahme am Tech Workshop, Entwicklung, Review, Release-Durchführung<\/td><\/tr><tr><td>Mitarbeiter 1 / Triage-Rolle<\/td><td>Prüfung eingehender Bug Reports, Klassifizierung, Reproduzierbarkeit, Zuweisung, Review von Bugfixes<\/td><\/tr><tr><td>Mitarbeiter 2 / Entwicklungsrolle<\/td><td>Umsetzung von Bugfixes auf separatem Branch, Dokumentation technischer Änderungen<\/td><\/tr><tr><td>Release-Verantwortlicher<\/td><td>Durchführung des Releases, Pflege der Release Notes, Aktualisierung von CHANGELOG.md und /changelog<\/td><\/tr><tr><td>Produkt-/Business-Verantwortlicher<\/td><td>Bewertung von Kundenwert und strategischer Relevanz bei Feature Requests<\/td><\/tr><\/tbody><\/table>\n<hr>\n<h1>5. Feature-Entwicklung &amp; Releases<\/h1>\n<h2>5.1 Feature-Request-Prozess<\/h2>\n<p>Eingehende Feature-Requests werden zentral gesammelt. Mögliche Systeme sind:<\/p>\n<ul><li>GitHub Issues,<\/li><li>Linear,<\/li><li>Notion,<\/li><li>ein internes Produkt-Backlog.<\/li><\/ul>\n<p>Jeder Feature Request muss mindestens folgende Informationen enthalten:<\/p>\n<table><thead><tr><th>Pflichtfeld<\/th><th>Beschreibung<\/th><\/tr><\/thead><tbody><tr><td>Titel<\/td><td>Kurze, eindeutige Beschreibung des gewünschten Features<\/td><\/tr><tr><td>Beschreibung<\/td><td>Fachliche Beschreibung des Bedarfs<\/td><\/tr><tr><td>Nutzen<\/td><td>Erwarteter Mehrwert für Kunden, Nutzer oder internes Team<\/td><\/tr><tr><td>Quelle<\/td><td>Kunde, interner Stakeholder, Entwickler, Support oder Management<\/td><\/tr><tr><td>Prioritätsbewertung<\/td><td>Bewertung nach definierten Kriterien<\/td><\/tr><tr><td>Status<\/td><td>Neu, in Bewertung, geplant, in Umsetzung, umgesetzt, abgelehnt<\/td><\/tr><\/tbody><\/table>\n<h2>5.2 Priorisierung<\/h2>\n<p>Die Priorisierung erfolgt anhand folgender Kriterien:<\/p>\n<table><thead><tr><th>Kriterium<\/th><th>Beschreibung<\/th><th>Bewertung<\/th><\/tr><\/thead><tbody><tr><td>Kundenwert<\/td><td>Relevanz für Nutzer oder Kunden<\/td><td>1 = gering, 2 = mittel, 3 = hoch<\/td><\/tr><tr><td>Strategische Relevanz<\/td><td>Beitrag zur Produktstrategie<\/td><td>1 = gering, 2 = mittel, 3 = hoch<\/td><\/tr><tr><td>Implementierungsaufwand<\/td><td>Technischer und organisatorischer Aufwand<\/td><td>1 = gering, 2 = mittel, 3 = hoch<\/td><\/tr><\/tbody><\/table>\n<p>Alternativ kann eine MoSCoW-Kategorisierung verwendet werden:<\/p>\n<table><thead><tr><th>Kategorie<\/th><th>Bedeutung<\/th><\/tr><\/thead><tbody><tr><td>Must have<\/td><td>zwingend erforderlich<\/td><\/tr><tr><td>Should have<\/td><td>wichtig, aber nicht kritisch<\/td><\/tr><tr><td>Could have<\/td><td>optional, wenn Kapazität vorhanden<\/td><\/tr><tr><td>Won't have<\/td><td>bewusst zurückgestellt<\/td><\/tr><\/tbody><\/table>\n<p>Features mit höchster Priorität werden für den nächsten Tech Workshop vorgemerkt.<\/p>\n<hr>\n<h2>5.3 Tech Workshop vor Implementierungsbeginn<\/h2>\n<p>Vor der Implementierung priorisierter Features findet ein Tech Workshop statt.<\/p>\n<p><strong>Teilnehmer:<\/strong><\/p>\n<ul><li>beide Entwickler,<\/li><li>optional Produkt-/Business-Verantwortlicher bei fachlicher Klärung.<\/li><\/ul>\n<p><strong>Inhalte des Tech Workshops:<\/strong><\/p>\n<ul><li>Analyse architektonischer Auswirkungen,<\/li><li>Prüfung betroffener Systeme, Schnittstellen und Datenmodelle,<\/li><li>Definition möglicher API-Änderungen,<\/li><li>Definition neuer Endpunkte,<\/li><li>Prüfung von Abhängigkeiten zu Drittdiensten,<\/li><li>Aufwandsschätzung,<\/li><li>Aufgabenverteilung,<\/li><li>Definition von Akzeptanzkriterien,<\/li><li>Festlegung von technischen Risiken,<\/li><li>Dokumentation der Entscheidung.<\/li><\/ul>\n<p><strong>Auditnachweis:<\/strong><\/p>\n<p>Das Ergebnis des Tech Workshops wird dokumentiert, z. B. als:<\/p>\n<ul><li>Issue-Kommentar,<\/li><li>internes Ticket,<\/li><li>kurzer Workshop-Vermerk,<\/li><li>technische Entscheidungsnotiz.<\/li><\/ul>\n<hr>\n<h2>5.4 Entwicklungsprozess<\/h2>\n<p>Jedes Feature wird auf einem separaten Feature Branch entwickelt.<\/p>\n<p><strong>Branch-Konvention:<\/strong><\/p>\n<pre class=\"code\"><code>feature/kurzbeschreibung<\/code><\/pre>\n<p><strong>Beispiele:<\/strong><\/p>\n<pre class=\"code\"><code>feature/user-export\nfeature/payment-dashboard\nfeature/api-rate-limit<\/code><\/pre>\n<p><strong>Commit-Konvention:<\/strong><\/p>\n<p>Commits sollen aussagekräftige Messages enthalten, vorzugsweise nach dem Muster der Conventional Commits.<\/p>\n<p><strong>Beispiele:<\/strong><\/p>\n<pre class=\"code\"><code>feat: add user export endpoint\nfix: correct validation for release note dates\nchore: update dependency configuration<\/code><\/pre>\n<hr>\n<h2>5.5 Code Review<\/h2>\n<p>Vor jedem Merge ist ein Code Review durch den jeweils anderen Entwickler erforderlich.<\/p>\n<p><strong>Review-Fokus:<\/strong><\/p>\n<ul><li>Codequalität,<\/li><li>Sicherheit,<\/li><li>Konsistenz,<\/li><li>Architektur,<\/li><li>Einhaltung der Akzeptanzkriterien,<\/li><li>potenzielle Seiteneffekte,<\/li><li>Lesbarkeit und Wartbarkeit,<\/li><li>Auswirkungen auf Schnittstellen oder Datenmodelle.<\/li><\/ul>\n<p><strong>Auditkontrolle:<\/strong><\/p>\n<p>Ein Merge darf nur erfolgen, wenn das Review dokumentiert und freigegeben wurde.<\/p>\n<hr>\n<h2>5.6 Staging-Verifikation und Release<\/h2>\n<p>Nach bestandenem Review erfolgt:<\/p>\n<ol><li>Merge in den Main- oder Development-Branch,<\/li><li>Deployment in die Staging-Umgebung,<\/li><li>finale Verifikation gegen die Akzeptanzkriterien,<\/li><li>Release bzw. Push in Produktion,<\/li><li>Dokumentation im Release-Prozess.<\/li><\/ol>\n<p>Die produktive Veröffentlichung darf erst erfolgen, wenn die Staging-Verifikation erfolgreich abgeschlossen wurde.<\/p>\n<hr>\n<h1>6. Release Notes<\/h1>\n<h2>6.1 Grundsatz<\/h2>\n<p>Release Notes werden mit jedem Merge bzw. Release erstellt und versioniert.<\/p>\n<p>Es wird semantische Versionierung verwendet:<\/p>\n<pre class=\"code\"><code>MAJOR.MINOR.PATCH<\/code><\/pre>\n<p><strong>Beispiel:<\/strong><\/p>\n<pre class=\"code\"><code>1.4.2<\/code><\/pre>\n<h2>6.2 Inhalt einer Release Note<\/h2>\n<p>Jede Release Note enthält mindestens:<\/p>\n<table><thead><tr><th>Abschnitt<\/th><th>Inhalt<\/th><\/tr><\/thead><tbody><tr><td>Versionsnummer<\/td><td>z. B. 1.4.2<\/td><\/tr><tr><td>Datum<\/td><td>Datum des Releases<\/td><\/tr><tr><td>Neue Features<\/td><td>kurze Beschreibung, ggf. Nutzen für User<\/td><\/tr><tr><td>Behobene Bugs<\/td><td>Liste der korrigierten Fehler<\/td><\/tr><tr><td>Breaking Changes<\/td><td>prominent hervorgehobene inkompatible Änderungen<\/td><\/tr><tr><td>Technische Änderungen<\/td><td>interne Infrastruktur-, API- oder Architekturänderungen<\/td><\/tr><\/tbody><\/table>\n<h2>6.3 Ablageorte<\/h2>\n<table><thead><tr><th>Ablageort<\/th><th>Zielgruppe<\/th><th>Inhalt<\/th><\/tr><\/thead><tbody><tr><td><code>CHANGELOG.md<\/code> im Wiki-Repository<\/td><td>technische Zielgruppe<\/td><td>vollständige Release-Historie<\/td><\/tr><tr><td><code>/changelog<\/code><\/td><td>intern / technisch<\/td><td>ausführliche Details je Release<\/td><\/tr><tr><td>Produktbereich<\/td><td>Endnutzer<\/td><td>kurze, nicht-technische Zusammenfassung, derzeit optional<\/td><\/tr><\/tbody><\/table>\n<h2>6.4 Verantwortlichkeit<\/h2>\n<p>Verantwortlich für die Release Notes ist der Entwickler, der den Release durchführt.<\/p>\n<hr>\n<h1>7. Bug-Management &amp; Bugfixing<\/h1>\n<h2>7.1 Eingang und Erstreaktion<\/h2>\n<p>Bug Reports werden zentral erfasst, z. B. über ein ClickUp Formular.<\/p>\n<p>Jeder Bug Report soll mindestens enthalten:<\/p>\n<table><thead><tr><th>Pflichtfeld<\/th><th>Beschreibung<\/th><\/tr><\/thead><tbody><tr><td>Titel<\/td><td>Kurze Fehlerbeschreibung<\/td><\/tr><tr><td>Beschreibung<\/td><td>Was ist passiert?<\/td><\/tr><tr><td>Erwartetes Verhalten<\/td><td>Was hätte passieren sollen?<\/td><\/tr><tr><td>Tatsächliches Verhalten<\/td><td>Was ist tatsächlich passiert?<\/td><\/tr><tr><td>Reproduktionsschritte<\/td><td>Schritte zur Nachstellung des Fehlers<\/td><\/tr><tr><td>Schweregrad<\/td><td>Kritisch, Hoch, Mittel, Niedrig<\/td><\/tr><tr><td>Screenshots / Logs<\/td><td>falls vorhanden<\/td><\/tr><tr><td>Melder<\/td><td>Person oder Quelle des Reports<\/td><\/tr><\/tbody><\/table>\n<h2>7.2 Initiale Antwortzeiten<\/h2>\n<table><thead><tr><th>Schweregrad<\/th><th>Beschreibung<\/th><th>Initiale Antwort<\/th><\/tr><\/thead><tbody><tr><td>Kritisch<\/td><td>Produktionsausfall, Datenverlust<\/td><td>innerhalb von 2 Stunden<\/td><\/tr><tr><td>Hoch<\/td><td>wesentliche Funktion defekt<\/td><td>innerhalb von 1 Werktag<\/td><\/tr><tr><td>Mittel<\/td><td>eingeschränkte Funktion, Workaround möglich<\/td><td>innerhalb von 2 Werktagen<\/td><\/tr><tr><td>Niedrig<\/td><td>kosmetisch oder selten auftretend<\/td><td>innerhalb von 5 Werktagen<\/td><\/tr><\/tbody><\/table>\n<hr>\n<h2>7.3 Triage und Priorisierung<\/h2>\n<p>Die Triage wird durch Mitarbeiter 1 durchgeführt.<\/p>\n<p><strong>Aufgaben der Triage-Rolle:<\/strong><\/p>\n<ul><li>Prüfung auf Vollständigkeit,<\/li><li>Prüfung auf Reproduzierbarkeit,<\/li><li>Rückfrage bei unvollständigen Reports,<\/li><li>Klassifizierung nach Schweregrad,<\/li><li>Zuweisung an zuständigen Entwickler,<\/li><li>Dokumentation der Entscheidung im Ticket.<\/li><\/ul>\n<p><strong>Schweregrade:<\/strong><\/p>\n<table><thead><tr><th>Schweregrad<\/th><th>Definition<\/th><\/tr><\/thead><tbody><tr><td>Kritisch<\/td><td>Produktionsausfall, Datenverlust, sicherheitsrelevanter Vorfall oder vollständige Nichtnutzbarkeit<\/td><\/tr><tr><td>Hoch<\/td><td>zentrale Funktion defekt, erhebliche Nutzerbeeinträchtigung<\/td><\/tr><tr><td>Mittel<\/td><td>eingeschränkte Funktion, Workaround vorhanden<\/td><\/tr><tr><td>Niedrig<\/td><td>kosmetischer Fehler, seltenes Randverhalten, geringe Auswirkungen<\/td><\/tr><\/tbody><\/table>\n<hr>\n<h2>7.4 Ziellösungszeiten / SLOs<\/h2>\n<table><thead><tr><th>Priorität<\/th><th>Initiale Antwort<\/th><th>Angestrebte Lösung<\/th><\/tr><\/thead><tbody><tr><td>Kritisch<\/td><td>2 Stunden<\/td><td>24 Stunden<\/td><\/tr><tr><td>Hoch<\/td><td>1 Werktag<\/td><td>3 Werktage<\/td><\/tr><tr><td>Mittel<\/td><td>2 Werktage<\/td><td>2 Wochen<\/td><\/tr><tr><td>Niedrig<\/td><td>5 Werktage<\/td><td>nächster Release<\/td><\/tr><\/tbody><\/table>\n<p>Die SLOs sind Zielwerte. Abweichungen müssen im Ticket nachvollziehbar begründet werden.<\/p>\n<hr>\n<h2>7.5 Fixing und Release<\/h2>\n<p>Die Umsetzung erfolgt durch Mitarbeiter 2 bzw. den zuständigen Entwickler.<\/p>\n<p><strong>Branch-Konvention:<\/strong><\/p>\n<pre class=\"code\"><code>fix/kurzbeschreibung<\/code><\/pre>\n<p><strong>Beispiele:<\/strong><\/p>\n<pre class=\"code\"><code>fix/login-timeout\nfix/export-validation\nfix/payment-status-mapping<\/code><\/pre>\n<p><strong>Ablauf:<\/strong><\/p>\n<ol><li>Bugfix Branch erstellen,<\/li><li>Fehler reproduzieren,<\/li><li>Ursache analysieren,<\/li><li>Fix implementieren,<\/li><li>Tests bzw. Verifikation durchführen,<\/li><li>Code Review durch Mitarbeiter 1,<\/li><li>Merge analog Feature-Prozess,<\/li><li>Deployment in Staging,<\/li><li>finale Verifikation,<\/li><li>Release in Produktion,<\/li><li>Dokumentation in Release Notes / CHANGELOG,<\/li><li>Information an Melder,<\/li><li>Ticket schliessen.<\/li><\/ol>\n<hr>\n<h1>8. Kontrollpunkte und Auditnachweise<\/h1>\n<table><thead><tr><th>Kontrollpunkt<\/th><th>Beschreibung<\/th><th>Nachweis<\/th><\/tr><\/thead><tbody><tr><td>Zentrale Erfassung<\/td><td>Alle Requests und Bugs werden in definierten Systemen erfasst<\/td><td>Issue, Ticket, Formular<\/td><\/tr><tr><td>Priorisierung<\/td><td>Bewertung anhand definierter Kriterien<\/td><td>Prioritätsfeld, Score, Kommentar<\/td><\/tr><tr><td>Tech Workshop<\/td><td>technische Analyse vor Implementierung<\/td><td>Workshop-Kommentar, Ticketnotiz<\/td><\/tr><tr><td>Akzeptanzkriterien<\/td><td>fachliche und technische Erfolgskriterien<\/td><td>Ticketbeschreibung<\/td><\/tr><tr><td>Branching<\/td><td>getrennte Branches je Feature oder Bugfix<\/td><td>Git Branch<\/td><\/tr><tr><td>Commit-Konvention<\/td><td>nachvollziehbare Änderungshistorie<\/td><td>Git Commit History<\/td><\/tr><tr><td>Code Review<\/td><td>Vier-Augen-Prinzip vor Merge<\/td><td>Pull Request Review<\/td><\/tr><tr><td>Staging-Verifikation<\/td><td>Prüfung vor Produktion<\/td><td>Testkommentar, Checkliste<\/td><\/tr><tr><td>Release Notes<\/td><td>versionierte Dokumentation jeder Änderung<\/td><td>CHANGELOG.md, /changelog<\/td><\/tr><tr><td>Bug-Triage<\/td><td>Klassifizierung und Zuweisung<\/td><td>Bug Ticket<\/td><\/tr><tr><td>SLO-Überwachung<\/td><td>Prüfung von Antwort- und Lösungszeiten<\/td><td>Ticket-Zeitstempel<\/td><\/tr><tr><td>Ticketabschluss<\/td><td>Abschluss mit nachvollziehbarem Ergebnis<\/td><td>Status, Kommentar, Melderinfo<\/td><\/tr><\/tbody><\/table>\n<hr>\n<h1>9. Definition of Done<\/h1>\n<p>Ein Feature oder Bugfix gilt erst als abgeschlossen, wenn folgende Kriterien erfüllt sind:<\/p>\n<ul><li>Umsetzung auf separatem Branch erfolgt,<\/li><li>aussagekräftige Commits vorhanden,<\/li><li>Code Review durch zweite Person durchgeführt,<\/li><li>Review-Kommentare wurden bearbeitet,<\/li><li>Merge in Main/Development erfolgt,<\/li><li>Staging-Verifikation erfolgreich abgeschlossen,<\/li><li>Akzeptanzkriterien erfüllt,<\/li><li>Release Notes aktualisiert,<\/li><li>CHANGELOG.md bzw. /changelog aktualisiert,<\/li><li>bei Bugs: Melder informiert,<\/li><li>Ticket geschlossen oder auf erledigt gesetzt.<\/li><\/ul>\n<hr>\n<h1>10. Risiken und Kontrollen<\/h1>\n<table><thead><tr><th>Risiko<\/th><th>Auswirkung<\/th><th>Kontrolle<\/th><\/tr><\/thead><tbody><tr><td>Unklare Anforderungen<\/td><td>Fehlentwicklung, Rework<\/td><td>Akzeptanzkriterien und Tech Workshop<\/td><\/tr><tr><td>Fehlende Priorisierung<\/td><td>falsche Ressourcenallokation<\/td><td>Scoring oder MoSCoW<\/td><\/tr><tr><td>Direkter Merge ohne Review<\/td><td>Qualitäts- und Sicherheitsrisiken<\/td><td>verpflichtendes Vier-Augen-Prinzip<\/td><\/tr><tr><td>Unvollständige Release Notes<\/td><td>fehlende Nachvollziehbarkeit<\/td><td>Release-Checkliste<\/td><\/tr><tr><td>Bugs ohne Triage<\/td><td>falsche Dringlichkeit<\/td><td>definierte Triage-Rolle<\/td><\/tr><tr><td>SLO-Verletzungen ohne Begründung<\/td><td>fehlende Steuerbarkeit<\/td><td>Ticketkommentar bei Abweichung<\/td><\/tr><tr><td>Produktivfehler nach Release<\/td><td>Nutzerbeeinträchtigung<\/td><td>Staging-Verifikation vor Produktion<\/td><\/tr><\/tbody><\/table>\n<hr>\n<h1>11. Empfohlene Ticket-Templates<\/h1>\n<h2>11.1 Feature Request Template<\/h2>\n<pre class=\"code\"><code>## Feature Request\n\n### Titel\nKurzbeschreibung des Features\n\n### Beschreibung\nWas soll umgesetzt werden?\n\n### Nutzen\nWelchen Mehrwert liefert das Feature?\n\n### Quelle\nKunde / intern / Support / Management\n\n### Priorisierung\n- Kundenwert: 1 / 2 / 3\n- Strategische Relevanz: 1 / 2 / 3\n- Implementierungsaufwand: 1 / 2 / 3\n\n### Akzeptanzkriterien\n- [ ] Kriterium 1\n- [ ] Kriterium 2\n- [ ] Kriterium 3\n\n### Technische Hinweise\nBetroffene Systeme, APIs, Datenmodelle oder Schnittstellen\n\n### Entscheidung Tech Workshop\nKurzprotokoll / Ergebnis<\/code><\/pre>\n<hr>\n<h2>11.2 Bug Report Template<\/h2>\n<pre class=\"code\"><code>## Bug Report\n\n### Titel\nKurzbeschreibung des Fehlers\n\n### Beschreibung\nWas ist passiert?\n\n### Erwartetes Verhalten\nWas hätte passieren sollen?\n\n### Tatsächliches Verhalten\nWas ist tatsächlich passiert?\n\n### Reproduktionsschritte\n1. Schritt 1\n2. Schritt 2\n3. Schritt 3\n\n### Schweregrad\nKritisch / Hoch / Mittel / Niedrig\n\n### Auswirkungen\nWelche Nutzer, Systeme oder Daten sind betroffen?\n\n### Workaround\nJa / Nein / Beschreibung\n\n### Anhänge\nScreenshots, Logs, Videos\n\n### Triage-Ergebnis\n- Vollständig: Ja / Nein\n- Reproduzierbar: Ja / Nein\n- Zugewiesen an:\n- Zieltermin:<\/code><\/pre>\n<hr>\n<h2>11.3 Release Note Template<\/h2>\n<pre class=\"code\"><code># Release Notes\n\n## Version\nx.y.z\n\n## Datum\nTT.MM.JJJJ\n\n## Neue Features\n- Beschreibung des Features und Nutzen\n\n## Behobene Bugs\n- Beschreibung des behobenen Fehlers\n\n## Breaking Changes\n- Keine / Beschreibung der Änderung\n\n## Technische Änderungen\n- API, Infrastruktur, Datenmodell oder Abhängigkeiten\n\n## Verantwortlich\nName des Release-Verantwortlichen\n\n## Referenzen\n- Issue / Ticket / Pull Request<\/code><\/pre>\n<hr>\n<h1>12. Freigabe und Review des Prozesses<\/h1>\n<p>Dieser Prozess sollte regelmässig überprüft werden, mindestens jedoch:<\/p>\n<ul><li>bei wesentlichen Änderungen am Entwicklungsprozess,<\/li><li>bei Einführung neuer Tools,<\/li><li>nach grösseren Incidents,<\/li><li>vor externen Audits,<\/li><li>mindestens einmal jährlich.<\/li><\/ul>\n<table><thead><tr><th>Freigabefeld<\/th><th>Eintrag<\/th><\/tr><\/thead><tbody><tr><td>Prozessverantwortlicher<\/td><td><\/td><\/tr><tr><td>Fachliche Freigabe<\/td><td><\/td><\/tr><tr><td>Technische Freigabe<\/td><td><\/td><\/tr><tr><td>Datum der Freigabe<\/td><td><\/td><\/tr><tr><td>Nächste Überprüfung<\/td><td><\/td><\/tr><\/tbody><\/table>\n<hr>\n<h1>13. Kurzfazit<\/h1>\n<p>Der beschriebene Prozess stellt sicher, dass Feature-Entwicklung, Bugfixing und Releases kontrolliert, nachvollziehbar und auditfähig durchgeführt werden. Durch zentrale Erfassung, klare Rollen, dokumentierte Priorisierung, Tech Workshops, Branching-Konventionen, Code Reviews, Staging-Verifikation und versionierte Release Notes entsteht ein robuster Entwicklungsprozess mit belastbaren Nachweisen für interne und externe Prüfungen.<\/p>", "text": "# auditkonformer prozess: feature-entwicklung, releases und bug-management **dokumenttyp:** prozessbeschreibung / sop **geltungsbereich:** softwareentwicklung, release management, bugfixing **version:** 1.0 **status:** entwurf zur internen freigabe **owner:** entwicklung / produktverantwortung **letzte aktualisierung:** 28.05.2026 --- ## 1. zweck des dokuments dieses dokument beschreibt einen auditkonformen prozess für: - die strukturierte aufnahme, bewertung und umsetzung von feature-requests, - die durchführung technischer workshops vor implementierungsbeginn, - die kontrollierte entwicklung über branches, reviews und staging-verifikation, - die versionierte erstellung von release notes, - die erfassung, priorisierung, bearbeitung und dokumentation von bugs, - die nachvollziehbarkeit von entscheidungen, änderungen, verantwortlichkeiten und freigaben. ziel ist es, einen nachvollziehbaren, wiederholbaren und prüfbaren entwicklungs- und release-prozess sicherzustellen. --- ## 2. prozessübersicht der gesamtprozess besteht aus zwei hauptsträngen: 1. **feature-entwicklung & releases** 2. **bug-management & bugfixing** beide stränge folgen gemeinsamen prinzipien: - zentrale erfassung aller anforderungen und fehler, - dokumentierte bewertung und priorisierung, - nachvollziehbare technische entscheidungen, - vier-augen-prinzip vor produktivem release, - dokumentierte release notes, - klare verantwortlichkeiten, - prüfbare nachweise in tickets, branches, pull requests und changelogs. --- ## 3. prozessbild ```mermaid flowchart td a[feature request oder bug report geht ein] --> b{art des eingangs} b -->|feature request| f1[zentrale erfassung<br/>z. b. github issues, linear, notion] f1 --> f2[priorisierung nach kundenwert,<br/>strategischer relevanz und aufwand] f2 --> f3[feature mit hoher priorität<br/>für tech workshop vormerken] f3 --> f4[tech workshop mit beiden entwicklern] f4 --> f5[architektur-, api-, datenmodell-<br/>und schnittstellenanalyse] f5 --> f6[aufwandsschätzung,<br/>aufgabenverteilung und akzeptanzkriterien] f6 --> f7[dokumentation im issue<br/>oder internen ticket] f7 --> f8[entwicklung auf feature branch<br/>feature/kurzbeschreibung] f8 --> f9[commits mit aussagekräftigen messages<br/>z. b. feat:, fix:, chore:] f9 --> f10[code review durch zweiten entwickler] f10 --> f11{review bestanden?} f11 -->|nein| f12[überarbeitung durch entwickler] f12 --> f10 f11 -->|ja| f13[merge in main/development branch] f13 --> f14[deployment in staging] f14 --> f15[finale verifikation gegen akzeptanzkriterien] f15 --> f16{verifikation bestanden?} f16 -->|nein| f12 f16 -->|ja| f17[release / push in produktion] f17 --> f18[release notes erstellen und versionieren] f18 --> f19[changelog.md und /changelog aktualisieren] b -->|bug report| g1[zentrale erfassung<br/>z. b. clickup formular] g1 --> g2[initiale antwort gemäß schweregrad] g2 --> g3[triage durch mitarbeiter 1] g3 --> g4[prüfung auf vollständigkeit<br/>und reproduzierbarkeit] g4 --> g5[klassifizierung:<br/>kritisch / hoch / mittel / niedrig] g5 --> g6[zuweisung an zuständigen entwickler] g6 --> g7[fix auf bugfix branch<br/>fix/kurzbeschreibung] g7 --> g8[code review durch mitarbeiter 1] g8 --> g9{review bestanden?} g9 -->|nein| g10[nachbesserung durch entwickler] g10 --> g8 g9 -->|ja| g11[merge analog feature-prozess] g11 --> g12[staging-verifikation] g12 --> g13{fix verifiziert?} g13 -->|nein| g10 g13 -->|ja| g14[release in produktion] g14 --> g15[dokumentation in release notes / changelog] g15 --> g16[melder informieren und ticket schließen] ``` --- ## 4. rollen und verantwortlichkeiten | rolle | verantwortung | |---|---| | entwickler 1 | teilnahme am tech workshop, entwicklung, review, ggf. triage | | entwickler 2 | teilnahme am tech workshop, entwicklung, review, release-durchführung | | mitarbeiter 1 / triage-rolle | prüfung eingehender bug reports, klassifizierung, reproduzierbarkeit, zuweisung, review von bugfixes | | mitarbeiter 2 / entwicklungsrolle | umsetzung von bugfixes auf separatem branch, dokumentation technischer änderungen | | release-verantwortlicher | durchführung des releases, pflege der release notes, aktualisierung von changelog.md und /changelog | | produkt-/business-verantwortlicher | bewertung von kundenwert und strategischer relevanz bei feature requests | --- # 5. feature-entwicklung & releases ## 5.1 feature-request-prozess eingehende feature-requests werden zentral gesammelt. mögliche systeme sind: - github issues, - linear, - notion, - ein internes produkt-backlog. jeder feature request muss mindestens folgende informationen enthalten: | pflichtfeld | beschreibung | |---|---| | titel | kurze, eindeutige beschreibung des gewünschten features | | beschreibung | fachliche beschreibung des bedarfs | | nutzen | erwarteter mehrwert für kunden, nutzer oder internes team | | quelle | kunde, interner stakeholder, entwickler, support oder management | | prioritätsbewertung | bewertung nach definierten kriterien | | status | neu, in bewertung, geplant, in umsetzung, umgesetzt, abgelehnt | ## 5.2 priorisierung die priorisierung erfolgt anhand folgender kriterien: | kriterium | beschreibung | bewertung | |---|---|---| | kundenwert | relevanz für nutzer oder kunden | 1 = gering, 2 = mittel, 3 = hoch | | strategische relevanz | beitrag zur produktstrategie | 1 = gering, 2 = mittel, 3 = hoch | | implementierungsaufwand | technischer und organisatorischer aufwand | 1 = gering, 2 = mittel, 3 = hoch | alternativ kann eine moscow-kategorisierung verwendet werden: | kategorie | bedeutung | |---|---| | must have | zwingend erforderlich | | should have | wichtig, aber nicht kritisch | | could have | optional, wenn kapazität vorhanden | | won't have | bewusst zurückgestellt | features mit höchster priorität werden für den nächsten tech workshop vorgemerkt. --- ## 5.3 tech workshop vor implementierungsbeginn vor der implementierung priorisierter features findet ein tech workshop statt. **teilnehmer:** - beide entwickler, - optional produkt-/business-verantwortlicher bei fachlicher klärung. **inhalte des tech workshops:** - analyse architektonischer auswirkungen, - prüfung betroffener systeme, schnittstellen und datenmodelle, - definition möglicher api-änderungen, - definition neuer endpunkte, - prüfung von abhängigkeiten zu drittdiensten, - aufwandsschätzung, - aufgabenverteilung, - definition von akzeptanzkriterien, - festlegung von technischen risiken, - dokumentation der entscheidung. **auditnachweis:** das ergebnis des tech workshops wird dokumentiert, z. b. als: - issue-kommentar, - internes ticket, - kurzer workshop-vermerk, - technische entscheidungsnotiz. --- ## 5.4 entwicklungsprozess jedes feature wird auf einem separaten feature branch entwickelt. **branch-konvention:** ```text feature/kurzbeschreibung ``` **beispiele:** ```text feature/user-export feature/payment-dashboard feature/api-rate-limit ``` **commit-konvention:** commits sollen aussagekräftige messages enthalten, vorzugsweise nach dem muster der conventional commits. **beispiele:** ```text feat: add user export endpoint fix: correct validation for release note dates chore: update dependency configuration ``` --- ## 5.5 code review vor jedem merge ist ein code review durch den jeweils anderen entwickler erforderlich. **review-fokus:** - codequalität, - sicherheit, - konsistenz, - architektur, - einhaltung der akzeptanzkriterien, - potenzielle seiteneffekte, - lesbarkeit und wartbarkeit, - auswirkungen auf schnittstellen oder datenmodelle. **auditkontrolle:** ein merge darf nur erfolgen, wenn das review dokumentiert und freigegeben wurde. --- ## 5.6 staging-verifikation und release nach bestandenem review erfolgt: 1. merge in den main- oder development-branch, 2. deployment in die staging-umgebung, 3. finale verifikation gegen die akzeptanzkriterien, 4. release bzw. push in produktion, 5. dokumentation im release-prozess. die produktive veröffentlichung darf erst erfolgen, wenn die staging-verifikation erfolgreich abgeschlossen wurde. --- # 6. release notes ## 6.1 grundsatz release notes werden mit jedem merge bzw. release erstellt und versioniert. es wird semantische versionierung verwendet: ```text major.minor.patch ``` **beispiel:** ```text 1.4.2 ``` ## 6.2 inhalt einer release note jede release note enthält mindestens: | abschnitt | inhalt | |---|---| | versionsnummer | z. b. 1.4.2 | | datum | datum des releases | | neue features | kurze beschreibung, ggf. nutzen für user | | behobene bugs | liste der korrigierten fehler | | breaking changes | prominent hervorgehobene inkompatible änderungen | | technische änderungen | interne infrastruktur-, api- oder architekturänderungen | ## 6.3 ablageorte | ablageort | zielgruppe | inhalt | |---|---|---| | `changelog.md` im wiki-repository | technische zielgruppe | vollständige release-historie | | `/changelog` | intern / technisch | ausführliche details je release | | produktbereich | endnutzer | kurze, nicht-technische zusammenfassung, derzeit optional | ## 6.4 verantwortlichkeit verantwortlich für die release notes ist der entwickler, der den release durchführt. --- # 7. bug-management & bugfixing ## 7.1 eingang und erstreaktion bug reports werden zentral erfasst, z. b. über ein clickup formular. jeder bug report soll mindestens enthalten: | pflichtfeld | beschreibung | |---|---| | titel | kurze fehlerbeschreibung | | beschreibung | was ist passiert? | | erwartetes verhalten | was hätte passieren sollen? | | tatsächliches verhalten | was ist tatsächlich passiert? | | reproduktionsschritte | schritte zur nachstellung des fehlers | | schweregrad | kritisch, hoch, mittel, niedrig | | screenshots / logs | falls vorhanden | | melder | person oder quelle des reports | ## 7.2 initiale antwortzeiten | schweregrad | beschreibung | initiale antwort | |---|---|---| | kritisch | produktionsausfall, datenverlust | innerhalb von 2 stunden | | hoch | wesentliche funktion defekt | innerhalb von 1 werktag | | mittel | eingeschränkte funktion, workaround möglich | innerhalb von 2 werktagen | | niedrig | kosmetisch oder selten auftretend | innerhalb von 5 werktagen | --- ## 7.3 triage und priorisierung die triage wird durch mitarbeiter 1 durchgeführt. **aufgaben der triage-rolle:** - prüfung auf vollständigkeit, - prüfung auf reproduzierbarkeit, - rückfrage bei unvollständigen reports, - klassifizierung nach schweregrad, - zuweisung an zuständigen entwickler, - dokumentation der entscheidung im ticket. **schweregrade:** | schweregrad | definition | |---|---| | kritisch | produktionsausfall, datenverlust, sicherheitsrelevanter vorfall oder vollständige nichtnutzbarkeit | | hoch | zentrale funktion defekt, erhebliche nutzerbeeinträchtigung | | mittel | eingeschränkte funktion, workaround vorhanden | | niedrig | kosmetischer fehler, seltenes randverhalten, geringe auswirkungen | --- ## 7.4 ziellösungszeiten / slos | priorität | initiale antwort | angestrebte lösung | |---|---:|---:| | kritisch | 2 stunden | 24 stunden | | hoch | 1 werktag | 3 werktage | | mittel | 2 werktage | 2 wochen | | niedrig | 5 werktage | nächster release | die slos sind zielwerte. abweichungen müssen im ticket nachvollziehbar begründet werden. --- ## 7.5 fixing und release die umsetzung erfolgt durch mitarbeiter 2 bzw. den zuständigen entwickler. **branch-konvention:** ```text fix/kurzbeschreibung ``` **beispiele:** ```text fix/login-timeout fix/export-validation fix/payment-status-mapping ``` **ablauf:** 1. bugfix branch erstellen, 2. fehler reproduzieren, 3. ursache analysieren, 4. fix implementieren, 5. tests bzw. verifikation durchführen, 6. code review durch mitarbeiter 1, 7. merge analog feature-prozess, 8. deployment in staging, 9. finale verifikation, 10. release in produktion, 11. dokumentation in release notes / changelog, 12. information an melder, 13. ticket schliessen. --- # 8. kontrollpunkte und auditnachweise | kontrollpunkt | beschreibung | nachweis | |---|---|---| | zentrale erfassung | alle requests und bugs werden in definierten systemen erfasst | issue, ticket, formular | | priorisierung | bewertung anhand definierter kriterien | prioritätsfeld, score, kommentar | | tech workshop | technische analyse vor implementierung | workshop-kommentar, ticketnotiz | | akzeptanzkriterien | fachliche und technische erfolgskriterien | ticketbeschreibung | | branching | getrennte branches je feature oder bugfix | git branch | | commit-konvention | nachvollziehbare änderungshistorie | git commit history | | code review | vier-augen-prinzip vor merge | pull request review | | staging-verifikation | prüfung vor produktion | testkommentar, checkliste | | release notes | versionierte dokumentation jeder änderung | changelog.md, /changelog | | bug-triage | klassifizierung und zuweisung | bug ticket | | slo-überwachung | prüfung von antwort- und lösungszeiten | ticket-zeitstempel | | ticketabschluss | abschluss mit nachvollziehbarem ergebnis | status, kommentar, melderinfo | --- # 9. definition of done ein feature oder bugfix gilt erst als abgeschlossen, wenn folgende kriterien erfüllt sind: - umsetzung auf separatem branch erfolgt, - aussagekräftige commits vorhanden, - code review durch zweite person durchgeführt, - review-kommentare wurden bearbeitet, - merge in main/development erfolgt, - staging-verifikation erfolgreich abgeschlossen, - akzeptanzkriterien erfüllt, - release notes aktualisiert, - changelog.md bzw. /changelog aktualisiert, - bei bugs: melder informiert, - ticket geschlossen oder auf erledigt gesetzt. --- # 10. risiken und kontrollen | risiko | auswirkung | kontrolle | |---|---|---| | unklare anforderungen | fehlentwicklung, rework | akzeptanzkriterien und tech workshop | | fehlende priorisierung | falsche ressourcenallokation | scoring oder moscow | | direkter merge ohne review | qualitäts- und sicherheitsrisiken | verpflichtendes vier-augen-prinzip | | unvollständige release notes | fehlende nachvollziehbarkeit | release-checkliste | | bugs ohne triage | falsche dringlichkeit | definierte triage-rolle | | slo-verletzungen ohne begründung | fehlende steuerbarkeit | ticketkommentar bei abweichung | | produktivfehler nach release | nutzerbeeinträchtigung | staging-verifikation vor produktion | --- # 11. empfohlene ticket-templates ## 11.1 feature request template ```markdown ## feature request ### titel kurzbeschreibung des features ### beschreibung was soll umgesetzt werden? ### nutzen welchen mehrwert liefert das feature? ### quelle kunde / intern / support / management ### priorisierung - kundenwert: 1 / 2 / 3 - strategische relevanz: 1 / 2 / 3 - implementierungsaufwand: 1 / 2 / 3 ### akzeptanzkriterien - [ ] kriterium 1 - [ ] kriterium 2 - [ ] kriterium 3 ### technische hinweise betroffene systeme, apis, datenmodelle oder schnittstellen ### entscheidung tech workshop kurzprotokoll / ergebnis ``` --- ## 11.2 bug report template ```markdown ## bug report ### titel kurzbeschreibung des fehlers ### beschreibung was ist passiert? ### erwartetes verhalten was hätte passieren sollen? ### tatsächliches verhalten was ist tatsächlich passiert? ### reproduktionsschritte 1. schritt 1 2. schritt 2 3. schritt 3 ### schweregrad kritisch / hoch / mittel / niedrig ### auswirkungen welche nutzer, systeme oder daten sind betroffen? ### workaround ja / nein / beschreibung ### anhänge screenshots, logs, videos ### triage-ergebnis - vollständig: ja / nein - reproduzierbar: ja / nein - zugewiesen an: - zieltermin: ``` --- ## 11.3 release note template ```markdown # release notes ## version x.y.z ## datum tt.mm.jjjj ## neue features - beschreibung des features und nutzen ## behobene bugs - beschreibung des behobenen fehlers ## breaking changes - keine / beschreibung der änderung ## technische änderungen - api, infrastruktur, datenmodell oder abhängigkeiten ## verantwortlich name des release-verantwortlichen ## referenzen - issue / ticket / pull request ``` --- # 12. freigabe und review des prozesses dieser prozess sollte regelmässig überprüft werden, mindestens jedoch: - bei wesentlichen änderungen am entwicklungsprozess, - bei einführung neuer tools, - nach grösseren incidents, - vor externen audits, - mindestens einmal jährlich. | freigabefeld | eintrag | |---|---| | prozessverantwortlicher | | | fachliche freigabe | | | technische freigabe | | | datum der freigabe | | | nächste überprüfung | | --- # 13. kurzfazit der beschriebene prozess stellt sicher, dass feature-entwicklung, bugfixing und releases kontrolliert, nachvollziehbar und auditfähig durchgeführt werden. durch zentrale erfassung, klare rollen, dokumentierte priorisierung, tech workshops, branching-konventionen, code reviews, staging-verifikation und versionierte release notes entsteht ein robuster entwicklungsprozess mit belastbaren nachweisen für interne und externe prüfungen. ", "nextReview": "", "overdueReview": false, "zuPruefen": []}, {"id": "05_betrieb/neutralisierung-detail.md", "path": "05_betrieb/neutralisierung-detail.md", "chapter": "05_betrieb", "title": "neutralisierung-detail.md", "filename": "neutralisierung-detail.md", "meta": {}, "html": "<p># Neutralisierung<\/p>\n<p><strong>Stand:<\/strong> 2026-04-16<\/p>\n<hr>\n<h2>1. Grundidee<\/h2>\n<p>Neutralisierung passiert dort, wo <strong>Content entsteht oder ins System einfliesst<\/strong> — nicht als nachgelagerter Filter vor dem Modell-Call. Wenn Content einmal neutralisiert ist (z. B. im RAG), bleibt er neutralisiert. Kein doppeltes Verarbeiten.<\/p>\n<hr>\n<h2>2. Wer fordert Neutralisierung?<\/h2>\n<p>Drei Quellen, von breit nach spezifisch:<\/p>\n<table><thead><tr><th>Quelle<\/th><th>Flag im Code<\/th><th>Bedeutung<\/th><\/tr><\/thead><tbody><tr><td><strong>Feature-Instanz<\/strong><\/td><td><code>DataNeutraliserConfig.enabled<\/code> (hat <code>featureInstanceId<\/code> + <code>mandateId<\/code>)<\/td><td>Alle Daten in dieser Feature-Instanz werden neutralisiert. Betrifft jeden Content-Einstieg innerhalb dieser Instanz.<\/td><\/tr><tr><td><strong>Chat-Workflow / Session<\/strong><\/td><td><code>ServiceCenterContext.requireNeutralization<\/code> (gesetzt z. B. vom AI-Workspace oder Automation)<\/td><td>Dieser Workflow/Turn: jeder Content, der hier verarbeitet wird, wird neutralisiert.<\/td><\/tr><tr><td><strong>Dokument oder Quelle<\/strong><\/td><td><code>FileItem.neutralize<\/code>, <code>FileFolder.neutralize<\/code>, <code>DataSource.neutralize<\/code>, <code>FeatureDataSource.neutralize<\/code>, <code>FeatureDataSource.neutralizeFields<\/code><\/td><td>Dieses konkrete Objekt: Content daraus wird neutralisiert, egal ob die Feature-Instanz oder der Workflow es sonst fordern würden. <code>FileFolder.neutralize<\/code> propagiert auf alle enthaltenen Dateien. <code>neutralizeFields<\/code> ermöglicht Feld-Level-Maskierung bei DB-Queries.<\/td><\/tr><\/tbody><\/table>\n<p><strong>Auswertung:<\/strong> Irgendeine Quelle sagt <code>True<\/code> → neutralisieren. Keine Quelle kann eine andere aufheben. Es gibt kein <code>False<\/code>-Override, das ein <code>True<\/code> von woanders aushebelt.<\/p>\n<hr>\n<h2>3. Wo passiert die Neutralisierung?<\/h2>\n<p>Am <strong>Punkt der Content-Einspeisung<\/strong> — dort wo Rohdaten zu verarbeitbarem Content werden:<\/p>\n<table><thead><tr><th>Content-Einstieg<\/th><th>Was passiert<\/th><th>Wer prüft das Flag<\/th><\/tr><\/thead><tbody><tr><td><strong>Datei-Indexierung<\/strong> (RAG)<\/td><td>Text-Chunks werden über <code>processText<\/code> neutralisiert, bevor sie ins Embedding gehen. Medien: nur internes Modell oder nicht indexieren. Ergebnis: RAG enthält nur neutralisierten Content.<\/td><td><code>mainServiceKnowledge.indexFile<\/code> liest <code>FileItem.neutralize<\/code><\/td><\/tr><tr><td><strong>Content-Extraktion<\/strong> (Dokumente für KI-Verarbeitung)<\/td><td>Extrahierter Text/Tabellen werden neutralisiert. PDF, DOCX, XLSX, PPTX über <code>processFile<\/code> (Extract → neutralisieren → zurückschreiben).<\/td><td>Caller kennt die Quelle und deren Flag<\/td><\/tr><tr><td><strong>User-Prompt<\/strong> (Chat-Eingabe)<\/td><td>Prompt-Text wird durch <code>processText<\/code> neutralisiert, wenn Feature-Instanz oder Workflow es fordern.<\/td><td><code>mainServiceAi<\/code> prüft Context-Flag / Config<\/td><\/tr><tr><td><strong>DataSource-Download<\/strong><\/td><td>Flag wird auf erstellte <code>FileItem<\/code>s vererbt → bei Extraktion/Indexierung greift das File-Flag automatisch.<\/td><td><code>mainServiceAgent._resolveDataSource<\/code> / <code>_downloadFromDataSource<\/code><\/td><\/tr><tr><td><strong>FeatureDataSource-Abfrage (Tabelle)<\/strong><\/td><td>Wenn eine <code>FeatureDataSource.neutralize=True<\/code> hat → Content aus diesem Sub-Agent-Call wird neutralisiert.<\/td><td><code>mainServiceAgent._queryFeatureInstance<\/code> setzt <code>requireNeutralization=True<\/code><\/td><\/tr><tr><td><strong>FeatureDataSource-Abfrage (Feld/Typ, seit 2026-06)<\/strong><\/td><td>Typ- und vererbungsbewusst: <strong>Strings<\/strong> werden substring-neutralisiert sobald effektiv (explizit ODER geerbt, Feldname als Typ-Hint); <strong>Binary<\/strong> wird gedroppt; <strong>andere Skalare<\/strong> (number/date/bool) nur bei <strong>explizitem<\/strong> Feld-Flag als Ganzwert-Platzhalter <code>[NEUT.&lt;field&gt;.&lt;hash&gt;]<\/code>. Identifikatoren/System-Spalten ausgenommen, Engine-Ausfall = <code>[REDACTED]<\/code>. RAG-Bootstrap nutzt dieselbe Policy (Query- und Index-Pfad konsistent).<\/td><td><code>featureDataProvider.finalizeRowsAsync<\/code> / <code>_neutralizeAndSerializeRows<\/code>; Policy aus <code>coreTools/_featureSubAgentTools<\/code> via <code>resolveEffectiveForFds<\/code><\/td><\/tr><tr><td><strong>De-Neutralisierung für Download (seit 2026-06)<\/strong><\/td><td>Read-only Agent-Tool <code>revealDocument<\/code> löst Platzhalter <strong>nur<\/strong> über das lokale Mapping (<code>resolveText<\/code>, kein externes LLM) auf und liefert Klartext als transienten Einmal-Download (SSE <code>revealDownload<\/code>) — kein Save/Index/Historie.<\/td><td><code>coreTools/_mediaTools._revealDocument<\/code><\/td><\/tr><tr><td><strong>Ordner-Neutralisierung<\/strong><\/td><td><code>FileFolder.neutralize=True<\/code> propagiert auf alle enthaltenen Dateien (rekursiv). Neue/verschobene Dateien erben das Flag. Index-Purge + Re-Index wie bei einzelnen Dateien.<\/td><td><code>routeDataFiles.updateFolderNeutralize<\/code><\/td><\/tr><tr><td><strong>Workflow-Aktion <code>neutralizeData<\/code><\/strong><\/td><td>Expliziter Neutralisierungs-Schritt auf bereits extrahierten ContentParts.<\/td><td>Workflow-Config + <code>NeutralizationConfig.enabled<\/code><\/td><\/tr><\/tbody><\/table>\n<p><strong>Was NICHT nochmal neutralisiert werden muss:<\/strong><\/p>\n<ul><li>RAG-Chunks, die bereits neutralisiert indexiert sind — die sind schon sauber.<\/li><li>Web-Suchergebnisse — enthalten keine Mandantendaten, brauchen keine Neutralisierung.<\/li><\/ul>\n<p><strong>Flag-Änderung:<\/strong> Ändert sich <code>FileItem.neutralize<\/code> (Toggle) → Index löschen → Re-Indexierung triggern → neuer Index ist im richtigen Zustand.<\/p>\n<hr>\n<h2>4. Engine: <code>NeutralizationService<\/code><\/h2>\n<p>Eine Engine, drei Einstiege, aufgerufen an den Content-Einstiegspunkten aus Abschnitt 3.<\/p>\n<table><thead><tr><th>API<\/th><th>Eingabe<\/th><th>Status<\/th><\/tr><\/thead><tbody><tr><td><code>processText(text)<\/code><\/td><td>Rohtext (Prompt, Message, Text-ContentPart, Text-Chunk)<\/td><td><strong>Ist<\/strong><\/td><\/tr><tr><td><code>processFile(fileId)<\/code><\/td><td>Datei aus DB — wird nach MIME geroutet<\/td><td><strong>Ist<\/strong><\/td><\/tr><tr><td><code>processBinaryBytes<\/code> / <code>Async<\/code><\/td><td>Bytes + Dateiname + MIME<\/td><td><strong>Ist<\/strong><\/td><\/tr><tr><td><strong><code>processImage(imageBytes, fileName)<\/code><\/strong> / <code>processImageAsync<\/code><\/td><td>Bild-Datei oder Bild-ContentPart (image/png, image/jpeg, …)<\/td><td><strong>Ist<\/strong> (seit ~2026 Q1)<\/td><\/tr><\/tbody><\/table>\n<p><strong>Ist-Zustand Bilder (aktualisiert 2026-04-05):<\/strong> <code>processImageAsync<\/code> ist implementiert und nutzt <code>NEUTRALIZATION_IMAGE<\/code> (Private LLM Vision). <code>_processBinaryFile<\/code> verarbeitet jetzt Bild-Parts über <code>processImageAsync<\/code>. <strong>Einschränkung:<\/strong> Eigenständige Bild-Dateien (<code>image/*<\/code> MIME direkt an <code>processFile<\/code>) werden in <code>_isBinaryMimeType<\/code> weiterhin als Skip behandelt.<\/p>\n<p><strong>Ist (aktualisiert):<\/strong> <code>processImageAsync<\/code> existiert als Einstieg. Ruft internes Vision-Modell (<code>NEUTRALIZATION_IMAGE<\/code> → Private-LLM) auf, um sensible Inhalte in Bildern zu erkennen/entfernen. Kein externer Provider. Modell nicht verfügbar → Bild blockieren (nicht unbehandelt weiterreichen).<\/p>\n<p><strong>Ablauf nach MIME:<\/strong><\/p>\n<table><thead><tr><th>MIME<\/th><th>Pfad<\/th><\/tr><\/thead><tbody><tr><td>PDF, DOCX, XLSX, PPTX<\/td><td><code>runExtraction<\/code> → Text/Table-Parts durch <code>_neutralizeText<\/code>, Bild-Parts durch <code>processImage<\/code> → PDF in-place oder Office-Renderer<\/td><\/tr><tr><td>Text, JSON, CSV, XML<\/td><td><code>_neutralizeText<\/code> direkt (TextProcessor, ListProcessor, BinaryProcessor je nach Inhalt)<\/td><\/tr><tr><td>Bilder (image/*)<\/td><td><strong><code>processImage<\/code><\/strong> → internes Vision-Modell (<code>NEUTRALIZATION_IMAGE<\/code>). Nicht verfügbar → blockieren.<\/td><\/tr><tr><td>Video, Audio<\/td><td>Nur internes Modell oder blockieren (analog Bilder, aber niedrigere Priorität)<\/td><\/tr><tr><td>Anderes Binary<\/td><td>Skip (nicht unterstützt)<\/td><\/tr><\/tbody><\/table>\n<p><strong>Mapping:<\/strong> Platzhalter <code>[typ.uuid]<\/code> → Attribute in DB. <code>resolveText(text)<\/code> für Rückübersetzung.<\/p>\n<hr>\n<h2>5. Modellauswahl<\/h2>\n<table><thead><tr><th>Operation Type<\/th><th>Modelle<\/th><th>Zweck<\/th><\/tr><\/thead><tbody><tr><td><code>NEUTRALIZATION_TEXT<\/code><\/td><td><code>poweron-text-general<\/code> (Rating 9)<\/td><td>Falls Engine ein LLM für Text braucht<\/td><\/tr><tr><td><code>NEUTRALIZATION_IMAGE<\/code><\/td><td><code>poweron-vision-general<\/code> (9), <code>poweron-vision-deep<\/code> (9)<\/td><td>Medien bei Neutralisierungspflicht: nur intern<\/td><\/tr><\/tbody><\/table>\n<p>Registriert in <code>aicorePluginPrivateLlm.py<\/code>. Externe Provider haben keine <code>NEUTRALIZATION_*<\/code>-Ratings → werden nie für Neutralisierung gewählt.<\/p>\n<hr>\n<h2>6. Fail-safe<\/h2>\n<table><thead><tr><th>Situation<\/th><th>Verhalten<\/th><\/tr><\/thead><tbody><tr><td>Neutralisierung gefordert, Engine nicht verfügbar<\/td><td>Content <strong>nicht<\/strong> weiterverarbeiten (blockieren)<\/td><\/tr><tr><td>Neutralisierung eines Teils schlägt fehl<\/td><td>Teil entfernen, nicht im Rohzustand weiterleiten<\/td><\/tr><tr><td>Kein internes Modell für Medien verfügbar<\/td><td>Medien-Part entfernen<\/td><\/tr><\/tbody><\/table>\n<hr>\n<h2>7. Code-Karte<\/h2>\n<table><thead><tr><th>Bereich<\/th><th>Pfad<\/th><\/tr><\/thead><tbody><tr><td>Engine<\/td><td><code>features/neutralization/serviceNeutralization/mainServiceNeutralization.py<\/code> + <code>subProcess*.py<\/code><\/td><\/tr><tr><td>Config + Attribute DB<\/td><td><code>features/neutralization/datamodelFeatureNeutralizer.py<\/code>, <code>interfaceFeatureNeutralizer.py<\/code><\/td><\/tr><tr><td>Index (Data-at-rest)<\/td><td><code>serviceCenter/services/serviceKnowledge/mainServiceKnowledge.py<\/code><\/td><\/tr><tr><td>Prompt-Neutralisierung<\/td><td><code>serviceCenter/services/serviceAi/mainServiceAi.py<\/code> (<code>_shouldNeutralize<\/code>, <code>_neutralizeRequest<\/code>)<\/td><\/tr><tr><td>Agent / DataSource / Feature<\/td><td><code>serviceCenter/services/serviceAgent/mainServiceAgent.py<\/code><\/td><\/tr><tr><td>Workflow-Aktion<\/td><td><code>workflows/methods/methodContext/actions/neutralizeData.py<\/code><\/td><\/tr><tr><td>Modelle / Enums<\/td><td><code>datamodels/datamodelAi.py<\/code>, <code>aicore/aicorePluginPrivateLlm.py<\/code><\/td><\/tr><tr><td>Flags<\/td><td><code>datamodelFiles.py<\/code> (<code>FileItem.neutralize<\/code>), <code>datamodelDataSource.py<\/code>, <code>datamodelFeatureDataSource.py<\/code><\/td><\/tr><tr><td>Context<\/td><td><code>serviceCenter/context.py<\/code> (<code>ServiceCenterContext.requireNeutralization<\/code>)<\/td><\/tr><\/tbody><\/table>\n<hr>\n<h2>8. Umsetzungsplan<\/h2>\n<h3>Schritt 1: <code>processImage<\/code> in Engine bauen<\/h3>\n<p><strong>Datei:<\/strong> <code>mainServiceNeutralization.py<\/code> <strong>Was:<\/strong> Neue Methode <code>processImage(imageBytes: bytes, fileName: str, mimeType: str) -&gt; Dict<\/code> und <code>processImageAsync<\/code>. <strong>Wie:<\/strong> Internes Vision-Modell aufrufen (<code>NEUTRALIZATION_IMAGE<\/code> via Model Selector / <code>aiObjects<\/code>). Prompt: sensible Inhalte im Bild erkennen und beschreiben, damit Caller entscheiden kann ob Bild blockiert wird. Kein internes Modell verfügbar → <code>{'status': 'blocked'}<\/code> zurückgeben. <strong>Abhängigkeit:<\/strong> <code>OperationTypeEnum.NEUTRALIZATION_IMAGE<\/code> + Modell-Ratings in <code>aicorePluginPrivateLlm.py<\/code> — <strong>bereits erledigt<\/strong>.<\/p>\n<h3>Schritt 2: <code>_shouldNeutralize<\/code> vereinfachen<\/h3>\n<p><strong>Datei:<\/strong> <code>mainServiceAi.py<\/code> (Zeile ~560) <strong>Ist:<\/strong> Prüft <code>request.requireNeutralization<\/code> → <code>context.requireNeutralization<\/code> → <code>NeutralizationConfig.enabled<\/code> (Mandant-Level Config). <code>request.requireNeutralization=False<\/code> bricht sofort ab. <strong>Soll:<\/strong> Drei Quellen gemäss Abschnitt 2, kein <code>False<\/code>-Override:<\/p>\n<ol><li>Feature-Instanz: <code>NeutralizationConfig.enabled<\/code> (hat <code>featureInstanceId<\/code>)<\/li><li>Workflow/Session: <code>context.requireNeutralization<\/code><\/li><li>Request: <code>request.requireNeutralization<\/code><\/li><\/ol>\n<p>Irgendein <code>True<\/code> → neutralisieren. <code>False<\/code> in einer Quelle hebt <code>True<\/code> in einer anderen <strong>nicht<\/strong> auf. <strong>Änderung:<\/strong> <code>if request.requireNeutralization is False: return False<\/code> <strong>entfernen<\/strong>. Stattdessen OR-Verknüpfung aller drei Quellen.<\/p>\n<h3>Schritt 3: <code>_neutralizeRequest<\/code> auf Prompt/Messages beschränken<\/h3>\n<p><strong>Datei:<\/strong> <code>mainServiceAi.py<\/code> (Zeile ~592) <strong>Ist:<\/strong> Neutralisiert <code>prompt<\/code>, <code>context<\/code>, <code>messages<\/code> (String-Content). <strong>Soll:<\/strong> Zusätzlich Text in <code>contentParts<\/code> und Text-Teile in multimodalen Messages (content-Liste mit <code>type==text<\/code>). Bild-Teile in Messages: bei Neutralisierungspflicht über <code>processImage<\/code> prüfen oder entfernen. <strong>Wichtig:<\/strong> Hier geht es nur um Prompt-/Sessiondaten. File-Content aus RAG ist bereits neutralisiert (Schritt 5), muss hier nicht nochmal durch.<\/p>\n<h3>Schritt 4: <code>indexFile<\/code> — Bild-Chunks behandeln<\/h3>\n<p><strong>Datei:<\/strong> <code>mainServiceKnowledge.py<\/code> (Zeile ~146 ff.) <strong>Ist:<\/strong> Nur <code>textObjects<\/code> (contentType == \"text\") werden bei <code>_shouldNeutralize<\/code> durch <code>processText<\/code> geschickt. Bild-Chunks (<code>contentType == \"image\"<\/code>) werden unverändert indexiert. <strong>Soll:<\/strong> Bild-Chunks bei <code>_shouldNeutralize<\/code> über <code>processImage<\/code> (Schritt 1) prüfen. Ergebnis <code>blocked<\/code> → Bild-Chunk nicht indexieren. Ergebnis OK → Bild-Chunk indexieren (internes Modell hat es gesehen, kein externer Provider nötig). <strong>Abhängigkeit:<\/strong> Schritt 1.<\/p>\n<h3>Schritt 5: Agent-Tool <code>readFile<\/code> — Content bei Extraktion neutralisieren<\/h3>\n<p><strong>Datei:<\/strong> <code>mainServiceAgent.py<\/code>, Tool <code>_readFile<\/code> (Zeile ~540 ff.) <strong>Ist:<\/strong> Liest aus Knowledge Store (bereits indexiert) oder extrahiert on-demand. Kein Neutralisierungs-Check. <strong>Soll:<\/strong><\/p>\n<ul><li><strong>Knowledge Store Pfad (Zeile ~548):<\/strong> RAG-Chunks sind bereits neutralisiert wenn <code>FileItem.neutralize=True<\/code> war (Schritt 4) → nichts zu tun.<\/li><li><strong>On-Demand Extraktion (Zeile ~630 ff.):<\/strong> Nach <code>runExtraction<\/code> und vor Rückgabe der Text-Objekte: <code>FileItem.neutralize<\/code> laden. Wenn <code>True<\/code> → Text-Objekte durch <code>processText<\/code>, Bild-Objekte durch <code>processImage<\/code>.<\/li><\/ul>\n<h3>Schritt 6: Agent-Tool <code>summarizeContent<\/code> — File-Flag prüfen<\/h3>\n<p><strong>Datei:<\/strong> <code>mainServiceAgent.py<\/code>, Tool <code>_summarizeContent<\/code> (Zeile ~1921 ff.) <strong>Ist:<\/strong> Liest Content-Objects aus Knowledge Store, baut <code>combinedText<\/code> und ruft <code>callAi<\/code> auf. Kein Neutralisierungs-Check. <strong>Soll:<\/strong> Content aus Knowledge Store ist bereits neutralisiert (Schritt 4) → nichts zu tun, <strong>sofern<\/strong> File indexiert war. Wenn nicht indexiert: File-Flag prüfen, Text vor <code>callAi<\/code> durch <code>processText<\/code>. <strong>Hinweis:<\/strong> Durch Schritt 4 ist der Regelfall abgedeckt.<\/p>\n<h3>Schritt 7: Agent-Tool <code>describeImage<\/code> — File-Flag prüfen<\/h3>\n<p><strong>Datei:<\/strong> <code>mainServiceAgent.py<\/code>, Tool <code>_describeImage<\/code> (Zeile ~2015 ff.) <strong>Ist:<\/strong> Lädt Bild-Chunk oder Rohdaten, sendet per <code>callAi<\/code> mit <code>IMAGE_ANALYSE<\/code> an <strong>beliebigen<\/strong> Provider (inkl. extern). Kein Neutralisierungs-Check. <strong>Soll:<\/strong> <code>FileItem.neutralize<\/code> laden (fileId ist bekannt). Wenn <code>True<\/code>:<\/p>\n<ul><li><code>operationType<\/code> auf <code>NEUTRALIZATION_IMAGE<\/code> statt <code>IMAGE_ANALYSE<\/code> → Model Selector wählt nur internes Modell.<\/li><li>Kein internes Modell → Tool gibt Fehler zurück statt Bild an externen Provider zu senden.<\/li><\/ul>\n<h3>Schritt 8: <code>_processBinaryFile<\/code> — Bild-Parts nicht mehr überspringen<\/h3>\n<p><strong>Datei:<\/strong> <code>mainServiceNeutralization.py<\/code> (Zeile ~298) <strong>Ist:<\/strong> <code>if type_group in ('binary', 'image'): neutralized_parts.append(part); continue<\/code> — Bild-Parts werden übersprungen. <strong>Soll:<\/strong> <code>binary<\/code> weiterhin skip. <code>image<\/code> → durch <code>processImage<\/code> (Schritt 1). Ergebnis <code>blocked<\/code> → Part entfernen. Ergebnis OK → Part behalten. <strong>Abhängigkeit:<\/strong> Schritt 1.<\/p>\n<h3>Schritt 9: Workflow-Aktion <code>neutralizeData<\/code> — Bild-Parts<\/h3>\n<p><strong>Datei:<\/strong> <code>neutralizeData.py<\/code> (Zeile ~130 ff.) <strong>Ist:<\/strong> Iteriert über ContentParts, neutralisiert nur Parts mit <code>part.data<\/code> (Text). <code>typeGroup != text/table<\/code> → unverändert durchgereicht. <strong>Soll:<\/strong> Bild-Parts durch <code>processImage<\/code>. Ergebnis <code>blocked<\/code> → Part entfernen. <strong>Abhängigkeit:<\/strong> Schritt 1.<\/p>\n<h3>Schritt 10: Tests<\/h3>\n<table><thead><tr><th>Test<\/th><th>Was<\/th><\/tr><\/thead><tbody><tr><td>T1<\/td><td><code>FileItem.neutralize=True<\/code> → <code>indexFile<\/code> → Text-Chunks neutralisiert, Bild-Chunks geprüft/blockiert<\/td><\/tr><tr><td>T2<\/td><td><code>readFile<\/code> on-demand auf File mit <code>neutralize=True<\/code> → Text neutralisiert<\/td><\/tr><tr><td>T3<\/td><td><code>describeImage<\/code> auf File mit <code>neutralize=True<\/code> → nur internes Modell<\/td><\/tr><tr><td>T4<\/td><td>Feature-Instanz Config <code>enabled=True<\/code> → Prompt in <code>callAi<\/code> neutralisiert<\/td><\/tr><tr><td>T5<\/td><td>Workflow <code>requireNeutralization=True<\/code> → Prompt neutralisiert<\/td><\/tr><tr><td>T6<\/td><td><code>processFile<\/code> auf PDF mit Bildern → Text neutralisiert, Bild-Parts durch <code>processImage<\/code><\/td><\/tr><tr><td>T7<\/td><td>Flag-Toggle → Index gelöscht → Re-Index im richtigen Zustand<\/td><\/tr><\/tbody><\/table>\n<h3>Schritt 11: Logging<\/h3>\n<p><strong>Alle Stellen (Schritte 29):<\/strong> Bei Neutralisierung loggen: welche Quelle (Feature-Instanz / Workflow / File-Flag), welche <code>fileId<\/code> falls vorhanden, Ergebnis (OK / Part entfernt / blockiert). <strong>Kein Klartext<\/strong> in Logs.<\/p>", "text": "# neutralisierung **stand:** 2026-04-16 --- ## 1. grundidee neutralisierung passiert dort, wo **content entsteht oder ins system einfliesst** — nicht als nachgelagerter filter vor dem modell-call. wenn content einmal neutralisiert ist (z. b. im rag), bleibt er neutralisiert. kein doppeltes verarbeiten. --- ## 2. wer fordert neutralisierung? drei quellen, von breit nach spezifisch: | quelle | flag im code | bedeutung | |--------|-------------|-----------| | **feature-instanz** | `dataneutraliserconfig.enabled` (hat `featureinstanceid` + `mandateid`) | alle daten in dieser feature-instanz werden neutralisiert. betrifft jeden content-einstieg innerhalb dieser instanz. | | **chat-workflow / session** | `servicecentercontext.requireneutralization` (gesetzt z. b. vom ai-workspace oder automation) | dieser workflow/turn: jeder content, der hier verarbeitet wird, wird neutralisiert. | | **dokument oder quelle** | `fileitem.neutralize`, `filefolder.neutralize`, `datasource.neutralize`, `featuredatasource.neutralize`, `featuredatasource.neutralizefields` | dieses konkrete objekt: content daraus wird neutralisiert, egal ob die feature-instanz oder der workflow es sonst fordern würden. `filefolder.neutralize` propagiert auf alle enthaltenen dateien. `neutralizefields` ermöglicht feld-level-maskierung bei db-queries. | **auswertung:** irgendeine quelle sagt `true` → neutralisieren. keine quelle kann eine andere aufheben. es gibt kein `false`-override, das ein `true` von woanders aushebelt. --- ## 3. wo passiert die neutralisierung? am **punkt der content-einspeisung** — dort wo rohdaten zu verarbeitbarem content werden: | content-einstieg | was passiert | wer prüft das flag | |------------------|-------------|---------------------| | **datei-indexierung** (rag) | text-chunks werden über `processtext` neutralisiert, bevor sie ins embedding gehen. medien: nur internes modell oder nicht indexieren. ergebnis: rag enthält nur neutralisierten content. | `mainserviceknowledge.indexfile` liest `fileitem.neutralize` | | **content-extraktion** (dokumente für ki-verarbeitung) | extrahierter text/tabellen werden neutralisiert. pdf, docx, xlsx, pptx über `processfile` (extract → neutralisieren → zurückschreiben). | caller kennt die quelle und deren flag | | **user-prompt** (chat-eingabe) | prompt-text wird durch `processtext` neutralisiert, wenn feature-instanz oder workflow es fordern. | `mainserviceai` prüft context-flag / config | | **datasource-download** | flag wird auf erstellte `fileitem`s vererbt → bei extraktion/indexierung greift das file-flag automatisch. | `mainserviceagent._resolvedatasource` / `_downloadfromdatasource` | | **featuredatasource-abfrage (tabelle)** | wenn eine `featuredatasource.neutralize=true` hat → content aus diesem sub-agent-call wird neutralisiert. | `mainserviceagent._queryfeatureinstance` setzt `requireneutralization=true` | | **featuredatasource-abfrage (feld/typ, seit 2026-06)** | typ- und vererbungsbewusst: **strings** werden substring-neutralisiert sobald effektiv (explizit oder geerbt, feldname als typ-hint); **binary** wird gedroppt; **andere skalare** (number/date/bool) nur bei **explizitem** feld-flag als ganzwert-platzhalter `[neut.<field>.<hash>]`. identifikatoren/system-spalten ausgenommen, engine-ausfall = `[redacted]`. rag-bootstrap nutzt dieselbe policy (query- und index-pfad konsistent). | `featuredataprovider.finalizerowsasync` / `_neutralizeandserializerows`; policy aus `coretools/_featuresubagenttools` via `resolveeffectiveforfds` | | **de-neutralisierung für download (seit 2026-06)** | read-only agent-tool `revealdocument` löst platzhalter **nur** über das lokale mapping (`resolvetext`, kein externes llm) auf und liefert klartext als transienten einmal-download (sse `revealdownload`) — kein save/index/historie. | `coretools/_mediatools._revealdocument` | | **ordner-neutralisierung** | `filefolder.neutralize=true` propagiert auf alle enthaltenen dateien (rekursiv). neue/verschobene dateien erben das flag. index-purge + re-index wie bei einzelnen dateien. | `routedatafiles.updatefolderneutralize` | | **workflow-aktion `neutralizedata`** | expliziter neutralisierungs-schritt auf bereits extrahierten contentparts. | workflow-config + `neutralizationconfig.enabled` | **was nicht nochmal neutralisiert werden muss:** - rag-chunks, die bereits neutralisiert indexiert sind — die sind schon sauber. - web-suchergebnisse — enthalten keine mandantendaten, brauchen keine neutralisierung. **flag-änderung:** ändert sich `fileitem.neutralize` (toggle) → index löschen → re-indexierung triggern → neuer index ist im richtigen zustand. --- ## 4. engine: `neutralizationservice` eine engine, drei einstiege, aufgerufen an den content-einstiegspunkten aus abschnitt 3. | api | eingabe | status | |-----|---------|--------| | `processtext(text)` | rohtext (prompt, message, text-contentpart, text-chunk) | **ist** | | `processfile(fileid)` | datei aus db — wird nach mime geroutet | **ist** | | `processbinarybytes` / `async` | bytes + dateiname + mime | **ist** | | **`processimage(imagebytes, filename)`** / `processimageasync` | bild-datei oder bild-contentpart (image/png, image/jpeg, …) | **ist** (seit ~2026 q1) | **ist-zustand bilder (aktualisiert 2026-04-05):** `processimageasync` ist implementiert und nutzt `neutralization_image` (private llm vision). `_processbinaryfile` verarbeitet jetzt bild-parts über `processimageasync`. **einschränkung:** eigenständige bild-dateien (`image/*` mime direkt an `processfile`) werden in `_isbinarymimetype` weiterhin als skip behandelt. **ist (aktualisiert):** `processimageasync` existiert als einstieg. ruft internes vision-modell (`neutralization_image` → private-llm) auf, um sensible inhalte in bildern zu erkennen/entfernen. kein externer provider. modell nicht verfügbar → bild blockieren (nicht unbehandelt weiterreichen). **ablauf nach mime:** | mime | pfad | |------|------| | pdf, docx, xlsx, pptx | `runextraction` → text/table-parts durch `_neutralizetext`, bild-parts durch `processimage` → pdf in-place oder office-renderer | | text, json, csv, xml | `_neutralizetext` direkt (textprocessor, listprocessor, binaryprocessor je nach inhalt) | | bilder (image/*) | **`processimage`** → internes vision-modell (`neutralization_image`). nicht verfügbar → blockieren. | | video, audio | nur internes modell oder blockieren (analog bilder, aber niedrigere priorität) | | anderes binary | skip (nicht unterstützt) | **mapping:** platzhalter `[typ.uuid]` → attribute in db. `resolvetext(text)` für rückübersetzung. --- ## 5. modellauswahl | operation type | modelle | zweck | |----------------|---------|-------| | `neutralization_text` | `poweron-text-general` (rating 9) | falls engine ein llm für text braucht | | `neutralization_image` | `poweron-vision-general` (9), `poweron-vision-deep` (9) | medien bei neutralisierungspflicht: nur intern | registriert in `aicorepluginprivatellm.py`. externe provider haben keine `neutralization_*`-ratings → werden nie für neutralisierung gewählt. --- ## 6. fail-safe | situation | verhalten | |-----------|-----------| | neutralisierung gefordert, engine nicht verfügbar | content **nicht** weiterverarbeiten (blockieren) | | neutralisierung eines teils schlägt fehl | teil entfernen, nicht im rohzustand weiterleiten | | kein internes modell für medien verfügbar | medien-part entfernen | --- ## 7. code-karte | bereich | pfad | |---------|------| | engine | `features/neutralization/serviceneutralization/mainserviceneutralization.py` + `subprocess*.py` | | config + attribute db | `features/neutralization/datamodelfeatureneutralizer.py`, `interfacefeatureneutralizer.py` | | index (data-at-rest) | `servicecenter/services/serviceknowledge/mainserviceknowledge.py` | | prompt-neutralisierung | `servicecenter/services/serviceai/mainserviceai.py` (`_shouldneutralize`, `_neutralizerequest`) | | agent / datasource / feature | `servicecenter/services/serviceagent/mainserviceagent.py` | | workflow-aktion | `workflows/methods/methodcontext/actions/neutralizedata.py` | | modelle / enums | `datamodels/datamodelai.py`, `aicore/aicorepluginprivatellm.py` | | flags | `datamodelfiles.py` (`fileitem.neutralize`), `datamodeldatasource.py`, `datamodelfeaturedatasource.py` | | context | `servicecenter/context.py` (`servicecentercontext.requireneutralization`) | --- ## 8. umsetzungsplan ### schritt 1: `processimage` in engine bauen **datei:** `mainserviceneutralization.py` **was:** neue methode `processimage(imagebytes: bytes, filename: str, mimetype: str) -> dict` und `processimageasync`. **wie:** internes vision-modell aufrufen (`neutralization_image` via model selector / `aiobjects`). prompt: sensible inhalte im bild erkennen und beschreiben, damit caller entscheiden kann ob bild blockiert wird. kein internes modell verfügbar → `{'status': 'blocked'}` zurückgeben. **abhängigkeit:** `operationtypeenum.neutralization_image` + modell-ratings in `aicorepluginprivatellm.py` — **bereits erledigt**. ### schritt 2: `_shouldneutralize` vereinfachen **datei:** `mainserviceai.py` (zeile ~560) **ist:** prüft `request.requireneutralization` → `context.requireneutralization` → `neutralizationconfig.enabled` (mandant-level config). `request.requireneutralization=false` bricht sofort ab. **soll:** drei quellen gemäss abschnitt 2, kein `false`-override: 1. feature-instanz: `neutralizationconfig.enabled` (hat `featureinstanceid`) 2. workflow/session: `context.requireneutralization` 3. request: `request.requireneutralization` irgendein `true` → neutralisieren. `false` in einer quelle hebt `true` in einer anderen **nicht** auf. **änderung:** `if request.requireneutralization is false: return false` **entfernen**. stattdessen or-verknüpfung aller drei quellen. ### schritt 3: `_neutralizerequest` auf prompt/messages beschränken **datei:** `mainserviceai.py` (zeile ~592) **ist:** neutralisiert `prompt`, `context`, `messages` (string-content). **soll:** zusätzlich text in `contentparts` und text-teile in multimodalen messages (content-liste mit `type==text`). bild-teile in messages: bei neutralisierungspflicht über `processimage` prüfen oder entfernen. **wichtig:** hier geht es nur um prompt-/sessiondaten. file-content aus rag ist bereits neutralisiert (schritt 5), muss hier nicht nochmal durch. ### schritt 4: `indexfile` — bild-chunks behandeln **datei:** `mainserviceknowledge.py` (zeile ~146 ff.) **ist:** nur `textobjects` (contenttype == \"text\") werden bei `_shouldneutralize` durch `processtext` geschickt. bild-chunks (`contenttype == \"image\"`) werden unverändert indexiert. **soll:** bild-chunks bei `_shouldneutralize` über `processimage` (schritt 1) prüfen. ergebnis `blocked` → bild-chunk nicht indexieren. ergebnis ok → bild-chunk indexieren (internes modell hat es gesehen, kein externer provider nötig). **abhängigkeit:** schritt 1. ### schritt 5: agent-tool `readfile` — content bei extraktion neutralisieren **datei:** `mainserviceagent.py`, tool `_readfile` (zeile ~540 ff.) **ist:** liest aus knowledge store (bereits indexiert) oder extrahiert on-demand. kein neutralisierungs-check. **soll:** - **knowledge store pfad (zeile ~548):** rag-chunks sind bereits neutralisiert wenn `fileitem.neutralize=true` war (schritt 4) → nichts zu tun. - **on-demand extraktion (zeile ~630 ff.):** nach `runextraction` und vor rückgabe der text-objekte: `fileitem.neutralize` laden. wenn `true` → text-objekte durch `processtext`, bild-objekte durch `processimage`. ### schritt 6: agent-tool `summarizecontent` — file-flag prüfen **datei:** `mainserviceagent.py`, tool `_summarizecontent` (zeile ~1921 ff.) **ist:** liest content-objects aus knowledge store, baut `combinedtext` und ruft `callai` auf. kein neutralisierungs-check. **soll:** content aus knowledge store ist bereits neutralisiert (schritt 4) → nichts zu tun, **sofern** file indexiert war. wenn nicht indexiert: file-flag prüfen, text vor `callai` durch `processtext`. **hinweis:** durch schritt 4 ist der regelfall abgedeckt. ### schritt 7: agent-tool `describeimage` — file-flag prüfen **datei:** `mainserviceagent.py`, tool `_describeimage` (zeile ~2015 ff.) **ist:** lädt bild-chunk oder rohdaten, sendet per `callai` mit `image_analyse` an **beliebigen** provider (inkl. extern). kein neutralisierungs-check. **soll:** `fileitem.neutralize` laden (fileid ist bekannt). wenn `true`: - `operationtype` auf `neutralization_image` statt `image_analyse` → model selector wählt nur internes modell. - kein internes modell → tool gibt fehler zurück statt bild an externen provider zu senden. ### schritt 8: `_processbinaryfile` — bild-parts nicht mehr überspringen **datei:** `mainserviceneutralization.py` (zeile ~298) **ist:** `if type_group in ('binary', 'image'): neutralized_parts.append(part); continue` — bild-parts werden übersprungen. **soll:** `binary` weiterhin skip. `image` → durch `processimage` (schritt 1). ergebnis `blocked` → part entfernen. ergebnis ok → part behalten. **abhängigkeit:** schritt 1. ### schritt 9: workflow-aktion `neutralizedata` — bild-parts **datei:** `neutralizedata.py` (zeile ~130 ff.) **ist:** iteriert über contentparts, neutralisiert nur parts mit `part.data` (text). `typegroup != text/table` → unverändert durchgereicht. **soll:** bild-parts durch `processimage`. ergebnis `blocked` → part entfernen. **abhängigkeit:** schritt 1. ### schritt 10: tests | test | was | |------|-----| | t1 | `fileitem.neutralize=true` → `indexfile` → text-chunks neutralisiert, bild-chunks geprüft/blockiert | | t2 | `readfile` on-demand auf file mit `neutralize=true` → text neutralisiert | | t3 | `describeimage` auf file mit `neutralize=true` → nur internes modell | | t4 | feature-instanz config `enabled=true` → prompt in `callai` neutralisiert | | t5 | workflow `requireneutralization=true` → prompt neutralisiert | | t6 | `processfile` auf pdf mit bildern → text neutralisiert, bild-parts durch `processimage` | | t7 | flag-toggle → index gelöscht → re-index im richtigen zustand | ### schritt 11: logging **alle stellen (schritte 29):** bei neutralisierung loggen: welche quelle (feature-instanz / workflow / file-flag), welche `fileid` falls vorhanden, ergebnis (ok / part entfernt / blockiert). **kein klartext** in logs. ", "nextReview": "", "overdueReview": false, "zuPruefen": []}, {"id": "05_betrieb/security-overview.md", "path": "05_betrieb/security-overview.md", "chapter": "05_betrieb", "title": "PowerOn Plattform -- Sicherheit und Compliance", "filename": "security-overview.md", "meta": {}, "html": "<h1>PowerOn Plattform -- Sicherheit und Compliance<\/h1>\n<p><strong>Stand:<\/strong> Februar 2026 <strong>Zielgruppe:<\/strong> Entscheidungsträger, Einkauf, Rechtsabteilung, Datenschutzbeauftragte <strong>Klassifizierung:<\/strong> Kundeninformation<\/p>\n<hr>\n<h2>1. Management Summary<\/h2>\n<p>PowerOn ist eine <strong>Multi-Mandanten-KI-Plattform für Unternehmen<\/strong>, die es Organisationen ermöglicht, KI-gestützte Geschäftsprozesse sicher, datenschutzkonform und mandantengetrennt zu betreiben. Die Plattform richtet sich an mittlere bis grosse Unternehmen in datenschutzsensiblen Branchen wie Finanzwesen, Treuhand, Immobilien und Beratung.<\/p>\n<p>Dieses Dokument beschreibt die in PowerOn implementierten Sicherheits- und Datenschutzmassnahmen, ordnet diese gängigen Standards zu und benennt transparent bestehende Einschränkungen.<\/p>\n<p><strong>Kernaussagen:<\/strong><\/p>\n<ul><li><strong>DSGVO-Betroffenenrechte<\/strong> (Auskunft, Löschung, Datenübertragbarkeit, Berichtigung) sind als Self-Service-Funktionen direkt in der Plattform implementiert.<\/li><li><strong>Vollständige Mandantentrennung:<\/strong> Daten eines Mandanten sind unter keinen Umständen für andere Mandanten einsehbar oder zugänglich.<\/li><li><strong>Rollenbasierte Zugriffskontrolle (RBAC):<\/strong> Jeder Datenzugriff wird gegen ein mehrstufiges Berechtigungssystem geprüft -- konfigurierbar pro Mandant und Funktionsmodul.<\/li><li><strong>Verschlüsselung:<\/strong> Sensible Konfigurationsdaten sind nach Industriestandard verschlüsselt, sämtliche Kommunikation erfolgt über verschlüsselte Verbindungen.<\/li><li><strong>Audit-Trail:<\/strong> Alle sicherheitsrelevanten Aktionen werden lückenlos protokolliert und stehen für Compliance-Nachweise zur Verfügung.<\/li><li><strong>Transparenz bei KI-Nutzung:<\/strong> Die Plattform dokumentiert offen, welche Daten an KI-Dienste übermittelt werden, und bietet Konfigurationsoptionen für höchste Datenschutzanforderungen.<\/li><\/ul>\n<hr>\n<h2>2. DSGVO-Konformität<\/h2>\n<p>PowerOn implementiert die zentralen Betroffenenrechte der Datenschutz-Grundverordnung (DSGVO/GDPR) direkt als Plattformfunktionen. Im Folgenden wird für jeden relevanten Artikel beschrieben, was implementiert ist und wo Einschränkungen bestehen.<\/p>\n<h3>2.1 Auskunftsrecht (Art. 15 DSGVO)<\/h3>\n<p>Nutzer können über eine Self-Service-Funktion sämtliche über sie gespeicherten Daten exportieren:<\/p>\n<ul><li>Persönliche Profildaten (Name, E-Mail, Spracheinstellungen)<\/li><li>Mandatszugehörigkeiten und zugewiesene Rollen<\/li><li>Zugriffsrechte auf Funktionsmodule<\/li><li>Erstellte und eingelöste Einladungen<\/li><li>Zeitpunkte der Kontörstellung und letzten Anmeldung<\/li><\/ul>\n<p>Der Export umfasst alle auf Plattformebene gespeicherten Daten. Feature-spezifische Daten (z.B. Chat-Verläufe, Treuhandpositionen) können über die jeweiligen Funktionsmodule eingesehen werden.<\/p>\n<p><strong>Status: Implementiert.<\/strong><\/p>\n<h3>2.2 Recht auf Löschung (Art. 17 DSGVO)<\/h3>\n<p>Nutzer können ihr Konto und alle zugehörigen Daten eigenständig und unwiderruflich löschen. Dabei gilt:<\/p>\n<ul><li>Das System durchsucht automatisch alle Datenbanken (Plattform, Verwaltung, Chat, alle Funktionsmodule) nach Einträgen, die dem Nutzer zugeordnet sind.<\/li><li>Nutzerbezogene Daten werden vollständig gelöscht.<\/li><li>Audit-Logs werden anonymisiert statt gelöscht -- dies gewährleistet die Einhaltung gesetzlicher Aufbewahrungspflichten bei gleichzeitiger Wahrung der Betroffenenrechte.<\/li><li>Die Löschung erfordert eine explizite Bestätigung durch den Nutzer.<\/li><li>Systemadministratoren sind von der Selbstlöschung ausgenommen (Vier-Augen-Prinzip).<\/li><\/ul>\n<p><strong>Status: Implementiert.<\/strong><\/p>\n<h3>2.3 Recht auf Datenübertragbarkeit (Art. 20 DSGVO)<\/h3>\n<p>Nutzerdaten können in einem maschinenlesbaren, standardisierten Format (JSON-LD nach schema.org) exportiert werden. Dieses Format ermöglicht die Übertragung der Daten an einen anderen Dienstleister.<\/p>\n<p><strong>Status: Implementiert.<\/strong><\/p>\n<h3>2.4 Berichtigungsrecht (Art. 16 DSGVO)<\/h3>\n<p>Nutzer können ihre Profildaten (Name, E-Mail, Spracheinstellungen) jederzeit selbst korrigieren.<\/p>\n<p><strong>Status: Implementiert.<\/strong><\/p>\n<h3>2.5 Transparenz und Informationspflicht<\/h3>\n<p>Die Plattform stellt Nutzern aktiv Informationen über die Datenverarbeitung bereit:<\/p>\n<ul><li>Welche Daten erhoben werden<\/li><li>Zu welchem Zweck die Verarbeitung erfolgt<\/li><li>Auf welcher Rechtsgrundlage die Verarbeitung basiert<\/li><li>Welche Aufbewahrungsfristen gelten<\/li><li>Welche Betroffenenrechte bestehen und wie sie ausgeübt werden können<\/li><\/ul>\n<p><strong>Status: Implementiert.<\/strong><\/p>\n<h3>2.6 Bekannte Einschränkungen<\/h3>\n<p>Die folgenden Punkte sind transparent zu benennen:<\/p>\n<ul><li><strong>Consent-Management:<\/strong> Die Plattform verfügt derzeit über kein granulares Einwilligungsmanagement mit individuellen Zustimmungs-Toggles. Die Einwilligung zur Datenverarbeitung erfolgt über die Nutzungsbedingungen und, bei Drittanbieter-Authentifizierung (Microsoft, Google), über die jeweiligen OAuth-Einwilligungsflüsse.<\/li><li><strong>Datenschutz-Kontaktadresse:<\/strong> Die Kontaktadresse für Datenschutzanfragen ist pro Deployment konfigurierbar und muss vom jeweiligen Betreiber hinterlegt werden.<\/li><\/ul>\n<hr>\n<h2>3. Mandantenmodell und Datenisolation<\/h2>\n<h3>3.1 Grundprinzip<\/h3>\n<p>PowerOn ist als Multi-Mandanten-Plattform konzipiert. Jede Organisation, Abteilung oder jeder Kunde wird als eigenständiger <strong>Mandant<\/strong> abgebildet. Das zentrale Sicherheitsversprechen:<\/p>\n<blockquote><strong>Daten eines Mandanten sind unter keinen Umständen für Nutzer anderer Mandanten sichtbar oder zugänglich.<\/strong><\/blockquote>\n<h3>3.2 Wie die Trennung funktioniert<\/h3>\n<ul><li><strong>Zugehörigkeitsprüfung bei jedem Zugriff:<\/strong> Bevor ein Nutzer auf Mandantendaten zugreifen kann, prüft die Plattform, ob eine aktive Mitgliedschaft des Nutzers in diesem Mandanten besteht. Ohne nachgewiesene Mitgliedschaft wird der Zugriff verweigert.<\/li><li><strong>Kein mandantenübergreifender Datenfluss:<\/strong> Datenbankabfragen werden automatisch auf den Mandantenkontext gefiltert. Es gibt keinen Mechanismus, der Daten mandantenübergreifend zusammenführt oder exponiert.<\/li><li><strong>Feature-Isolation:<\/strong> Innerhalb eines Mandanten werden Funktionsmodule (z.B. CommCoach, Treuhand, Immobilien) zusätzlich isoliert. Nutzer benötigen für jedes Funktionsmodul eine explizite Zugriffsberechtigung.<\/li><\/ul>\n<h3>3.3 Mehrfachmandanten<\/h3>\n<p>Nutzer können gleichzeitig in mehreren Mandanten arbeiten -- ein häufiges Szenario bei Beratern, Treuhändern oder Dienstleistern mit mehreren Kunden. Die Plattform stellt sicher:<\/p>\n<ul><li>Der Mandantenkontext wird pro Anfrage bestimmt, nicht pro Sitzung. Ein Wechsel zwischen Mandanten ist jederzeit möglich, ohne dass Daten vermischt werden.<\/li><li>Es findet keine Übertragung von Daten, Berechtigungen oder Einstellungen zwischen Mandanten statt.<\/li><\/ul>\n<h3>3.4 Schutz vor Manipulation<\/h3>\n<p>Auch bei technischem Wissen über die Plattformarchitektur ist ein unbefugter Zugriff auf fremde Mandantendaten nicht möglich: Die Zugehörigkeitsprüfung erfolgt serverseitig und kann nicht durch Manipulation von Anfrageparametern umgangen werden.<\/p>\n<hr>\n<h2>4. Rollenbasierte Zugriffskontrolle (RBAC)<\/h2>\n<h3>4.1 Berechtigungsmodell<\/h3>\n<p>PowerOn verfügt über ein feingliedriges, rollenbasiertes Berechtigungssystem. Für jede Aktion (Lesen, Erstellen, Bearbeiten, Löschen) können individuelle Berechtigungsstufen vergeben werden:<\/p>\n<table><thead><tr><th>Berechtigungsstufe<\/th><th>Beschreibung<\/th><\/tr><\/thead><tbody><tr><td>Kein Zugriff<\/td><td>Funktion ist nicht verfügbar<\/td><\/tr><tr><td>Eigene Daten<\/td><td>Zugriff nur auf selbst erstellte Einträge<\/td><\/tr><tr><td>Mandantendaten<\/td><td>Zugriff auf alle Daten innerhalb des eigenen Mandanten<\/td><\/tr><tr><td>Alle Daten<\/td><td>Vollzugriff (typischerweise für Administratoren)<\/td><\/tr><\/tbody><\/table>\n<h3>4.2 Konfigurierbarkeit<\/h3>\n<ul><li>Rollen können <strong>pro Mandant<\/strong> und <strong>pro Funktionsmodul<\/strong> definiert und zugewiesen werden.<\/li><li>Es gibt keine fest verdrahteten Berechtigungen -- jede Organisation kann das Rollenmodell an ihre Bedürfnisse anpassen.<\/li><li>Berechtigungsänderungen werden im Audit-Trail protokolliert.<\/li><\/ul>\n<h3>4.3 Administratoren<\/h3>\n<p>Systemadministratoren verfügen über erweiterte Rechte, unterliegen jedoch ebenfalls dem RBAC-System. Alle Administratoraktionen werden gesondert im Audit-Log festgehalten. Es gibt kein unkontrolliertes \"Superuser\"-Konto ohne Nachvollziehbarkeit.<\/p>\n<hr>\n<h2>5. Verschlüsselung und Datensicherheit<\/h2>\n<h3>5.1 Verschlüsselung ruhender Daten<\/h3>\n<p>Alle sensiblen Konfigurationsdaten werden verschlüsselt gespeichert:<\/p>\n<ul><li><strong>Verschlüsselungsverfahren:<\/strong> AES-Verschlüsselung (Fernet)<\/li><li><strong>Schlüsselableitung:<\/strong> PBKDF2-HMAC-SHA256 nach aktuellem Industriestandard<\/li><li><strong>Umfang:<\/strong> Datenbankpasswörter, API-Schlüssel für KI-Dienste, OAuth-Geheimnisse, JWT-Schlüssel und alle weiteren als \"SECRET\" gekennzeichneten Konfigurationswerte<\/li><\/ul>\n<p>Sensible Konfigurationsdaten liegen zu keinem Zeitpunkt im Klartext in der Konfiguration oder im Quellcode vor.<\/p>\n<h3>5.2 Verschlüsselung in Übertragung<\/h3>\n<ul><li>Sämtliche Kommunikation zwischen Client und Server erfolgt über HTTPS/TLS.<\/li><li>Verbindungen zu Drittdiensten (KI-Anbieter, Authentifizierungsdienste, E-Mail-Dienste) nutzen ebenfalls ausschliesslich verschlüsselte Verbindungen.<\/li><li>Die TLS-Konfiguration erfolgt auf Infrastruktur-Ebene (Azure / Reverse Proxy) -- dies entspricht dem Branchenstandard bei Cloud-Deployments und ermöglicht zentrale Verwaltung und Aktualisierung der Zertifikate.<\/li><\/ul>\n<h3>5.3 Zugriffskontrolle auf Verschlüsselungsschlüssel<\/h3>\n<ul><li>Der Zugriff auf Verschlüsselungsschlüssel ist auf das Minimum beschränkt.<\/li><li>Jeder Zugriff auf Verschlüsselungsfunktionen (Entschlüsselung, Neuverschlüsselung) wird im Audit-Trail protokolliert.<\/li><li>Eine Ratenbegrenzung schützt vor automatisierten Entschlüsselungsversuchen.<\/li><\/ul>\n<hr>\n<h2>6. Schutzmassnahmen gegen Angriffe<\/h2>\n<p>PowerOn implementiert Schutzmassnahmen gegen die gängigsten Angriffsvektoren für Webanwendungen:<\/p>\n<h3>6.1 Cross-Site Request Forgery (CSRF)<\/h3>\n<p>Alle datenverändernden Operationen (POST, PUT, DELETE, PATCH) erfordern einen <code>X-CSRF-Token<\/code> Header. Die aktuelle Implementierung validiert das Tokenformat (16-64 Zeichen Hex-String); es gibt kein serverseitiges Session-Binding (kein klassisches Double-Submit oder Synchronizer Token). In Kombination mit <code>SameSite=Strict<\/code> Cookies und CORS bietet dies Basisschutz gegen CSRF.<\/p>\n<h3>6.2 Ratenbegrenzung (Rate Limiting)<\/h3>\n<p>Jede API-Funktion ist mit individuellen Zugriffslimits versehen, die automatisierte Angriffe und Missbrauch unterbinden:<\/p>\n<table><thead><tr><th>Funktion<\/th><th>Limit<\/th><\/tr><\/thead><tbody><tr><td>Anmeldung<\/td><td>30 Versuche pro Minute<\/td><\/tr><tr><td>Datenexport (DSGVO)<\/td><td>5 Anfragen pro Minute<\/td><\/tr><tr><td>Kontolöschung<\/td><td>1 Anfrage pro Stunde<\/td><\/tr><tr><td>KI-Anfragen<\/td><td>120 Anfragen pro Minute<\/td><\/tr><tr><td>Datei-Upload<\/td><td>10 Uploads pro Minute<\/td><\/tr><\/tbody><\/table>\n<h3>6.3 Eingabebereinigung<\/h3>\n<p>Nutzereingaben werden bereinigt und validiert, bevor sie an KI-Modelle oder Datenbanken weitergeleitet werden. Dies schützt vor Prompt-Injection-Angriffen und anderen Manipulationsversuchen.<\/p>\n<h3>6.4 SQL-Injection-Schutz<\/h3>\n<ul><li>Alle Datenbankabfragen der Plattform verwenden parametrisierte Abfragen -- der Industriestandard zur Vermeidung von SQL-Injection.<\/li><li>Der KI-gestützte Datenbankzugriff ist zusätzlich auf reine Leseabfragen (SELECT) beschränkt. Schreibende, ändernde oder löschende Operationen sind auf Systemebene blockiert.<\/li><\/ul>\n<h3>6.5 Cross-Origin Resource Sharing (CORS)<\/h3>\n<p>Nur definierte und verifizierte Quelldomains erhalten Zugriff auf die Plattform-API. Anfragen von nicht autorisierten Quellen werden automatisch abgelehnt.<\/p>\n<hr>\n<h2>7. KI-Dienste und Datenverarbeitung<\/h2>\n<p>Transparenz im Umgang mit KI-Diensten ist für datenschutzbewusste Organisationen entscheidend. PowerOn legt offen, wie Daten im Kontext der KI-Nutzung verarbeitet werden.<\/p>\n<h3>7.1 Welche Daten werden verarbeitet<\/h3>\n<p>Im Rahmen der KI-gestützten Funktionen (KI-Assistent, Workflow-Verarbeitung, Dokumentenanalyse) können folgende Daten an KI-Dienste übermittelt werden:<\/p>\n<ul><li>Nutzeranfragen und -eingaben<\/li><li>Dokumentinhalte (bei Dokumentenanalyse)<\/li><li>Gesprächsverläufe (bei Chat-Funktionen)<\/li><\/ul>\n<h3>7.2 Welche KI-Anbieter werden genutzt<\/h3>\n<p>PowerOn unterstützt mehrere KI-Anbieter, die je nach Bedarf und Konfiguration eingesetzt werden:<\/p>\n<ul><li><strong>OpenAI<\/strong> (GPT-4o und weitere Modelle)<\/li><li><strong>Anthropic<\/strong> (Claude-Modelle)<\/li><li><strong>Tavily<\/strong> (Websuche)<\/li><li><strong>Private LLM<\/strong> (lokale/eigene Modelle -- kein externer Datenabfluss)<\/li><\/ul>\n<p>Die Auswahl des Anbieters ist konfigurierbar und kann an die Datenschutzanforderungen des Kunden angepasst werden.<\/p>\n<h3>7.3 Mandantentrennung bei KI-Anfragen<\/h3>\n<p>Jede KI-Anfrage erfolgt im Kontext des jeweiligen Mandanten. Es findet keine Vermischung von Daten verschiedener Mandanten in KI-Anfragen statt.<\/p>\n<h3>7.4 Kein Training mit Kundendaten<\/h3>\n<p>Bei Nutzung der Enterprise-API-Vereinbarungen der KI-Anbieter (OpenAI Enterprise API, Anthropic API) werden Kundendaten nicht für das Training der KI-Modelle verwendet. Dies ist vertraglich durch die Auftragsverarbeitungsvereinbarungen (AV-V / DPA) mit den jeweiligen Anbietern abgesichert.<\/p>\n<h3>7.5 Optionen für höchste Datenschutzanforderungen<\/h3>\n<p>Für Organisationen mit besonders hohen Datenschutzanforderungen bietet PowerOn:<\/p>\n<ul><li><strong>Datenschutz-Neutralisierer:<\/strong> Optionales Modul, das personenbezogene Daten vor der Übermittlung an externe KI-Dienste entfernt oder pseudonymisiert.<\/li><li><strong>Private-LLM-Anbindung:<\/strong> Möglichkeit, ein eigenes, lokal betriebenes Sprachmodell zu nutzen. In diesem Fall verlassen keine Daten die eigene Infrastruktur.<\/li><\/ul>\n<h3>7.6 Bekannte Einschränkung<\/h3>\n<p>Die automatische Erkennung und Filterung personenbezogener Daten (PII) vor dem Versand an externe KI-Dienste ist <strong>nicht standardmässig aktiviert<\/strong>. Organisationen, die mit besonders sensiblen personenbezogenen Daten arbeiten, sollten den Datenschutz-Neutralisierer nutzen oder den Private-LLM-Connector einsetzen.<\/p>\n<hr>\n<h2>8. Audit-Trail und Nachvollziehbarkeit<\/h2>\n<h3>8.1 Was wird protokolliert<\/h3>\n<p>Sämtliche sicherheitsrelevanten Aktionen werden automatisch und lückenlos in einem Audit-Log erfasst:<\/p>\n<table><thead><tr><th>Kategorie<\/th><th>Beispiele<\/th><\/tr><\/thead><tbody><tr><td>Zugriff<\/td><td>Anmeldungen, fehlgeschlagene Anmeldeversuche, Abmeldungen<\/td><\/tr><tr><td>Sicherheit<\/td><td>Administratoraktionen, SysAdmin-Zugriffe, Sicherheitsereignisse<\/td><\/tr><tr><td>Datenschutz (DSGVO)<\/td><td>Datenexporte, Kontolöschungen, Portabilitätsanfragen<\/td><\/tr><tr><td>Berechtigungen<\/td><td>Rollenzuweisungen, Berechtigungsänderungen<\/td><\/tr><tr><td>Verschlüsselung<\/td><td>Zugriffe auf Verschlüsselungsfunktionen<\/td><\/tr><tr><td>Datenoperationen<\/td><td>Zugriffe auf sensible Geschäftsdaten<\/td><\/tr><\/tbody><\/table>\n<h3>8.2 Aufbewahrung und Bereinigung<\/h3>\n<ul><li><strong>Standard-Aufbewahrungsdauer:<\/strong> 365 Tage (konfigurierbar)<\/li><li><strong>Automatische Bereinigung:<\/strong> Veraltete Einträge werden durch einen täglichen Prozess entfernt -- dies stellt sicher, dass Audit-Daten nicht unbefristet aufbewahrt werden (DSGVO-Konformität).<\/li><li><strong>Anonymisierung:<\/strong> Bei der Löschung eines Nutzerkontos werden zugehörige Audit-Einträge anonymisiert statt gelöscht. Die Nachvollziehbarkeit sicherheitsrelevanter Ereignisse bleibt gewahrt, ohne dass Rückschlüsse auf die gelöschte Person möglich sind.<\/li><\/ul>\n<h3>8.3 Nutzung für Compliance-Nachweise<\/h3>\n<p>Die Audit-Daten können als Nachweis für interne und externe Audits herangezogen werden. Sie dokumentieren, wer wann welche sicherheitsrelevante Aktion durchgeführt hat, und unterstützen damit die Anforderungen an die Rechenschaftspflicht nach Art. 5 Abs. 2 DSGVO.<\/p>\n<hr>\n<h2>9. Einordnung in gängige Standards<\/h2>\n<p>PowerOn orientiert sich an anerkannten Standards und Rahmenwerken. Die folgende Einordnung beschreibt transparent, welche Anforderungen die Plattform bereits abdeckt und wo Ergänzungen erforderlich sind.<\/p>\n<h3>9.1 DSGVO / GDPR<\/h3>\n<table><thead><tr><th>Anforderung<\/th><th>Status<\/th><th>Bemerkung<\/th><\/tr><\/thead><tbody><tr><td>Betroffenenrechte (Art. 15--17, 20)<\/td><td>Implementiert<\/td><td>Auskunft, Löschung, Portabilität, Berichtigung als Self-Service<\/td><\/tr><tr><td>Rechenschaftspflicht (Art. 5 Abs. 2)<\/td><td>Implementiert<\/td><td>Lückenloser Audit-Trail<\/td><\/tr><tr><td>Verzeichnis der Verarbeitungstätigkeiten (Art. 30)<\/td><td>Unterstützt<\/td><td>Audit-Log liefert die Datenbasis; das formale Verzeichnis muss vom Betreiber geführt werden<\/td><\/tr><tr><td>Technische und organisatorische Massnahmen (Art. 32)<\/td><td>Implementiert<\/td><td>Verschlüsselung, Zugriffskontrolle, Mandantentrennung, Eingabevalidierung<\/td><\/tr><tr><td>Einwilligungsmanagement (Art. 7)<\/td><td>Teilweise<\/td><td>Über Nutzungsbedingungen und OAuth; kein granulares Consent-Tool<\/td><\/tr><\/tbody><\/table>\n<h3>9.2 Schweizer Datenschutzgesetz (nDSG / revDSG)<\/h3>\n<p>Die Anforderungen des revidierten Schweizer Datenschutzgesetzes sind mit den DSGVO-Massnahmen kompatibel. Insbesondere:<\/p>\n<ul><li>Informationspflicht bei Datenerhebung: Transparenzfunktion implementiert<\/li><li>Recht auf Datenherausgabe und -löschung: Self-Service-Funktionen vorhanden<\/li><li>Pflicht zu angemessenen technischen Massnahmen: Verschlüsselung, RBAC, Mandantentrennung<\/li><\/ul>\n<h3>9.3 OWASP Top 10<\/h3>\n<p>Die Plattform adressiert die häufigsten Web-Sicherheitsrisiken gemäss OWASP:<\/p>\n<table><thead><tr><th>OWASP-Risiko<\/th><th>Massnahme in PowerOn<\/th><\/tr><\/thead><tbody><tr><td>Broken Access Control<\/td><td>Rollenbasierte Zugriffskontrolle, Mandantenprüfung bei jedem Zugriff<\/td><\/tr><tr><td>Cryptographic Failures<\/td><td>AES-Verschlüsselung, PBKDF2-Schlüsselableitung, HTTPS/TLS<\/td><\/tr><tr><td>Injection<\/td><td>Parametrisierte Datenbankabfragen, Eingabebereinigung, SQL-Leseeinschränkung<\/td><\/tr><tr><td>Security Misconfiguration<\/td><td>CORS-Einschränkungen, Rate Limiting, CSRF-Schutz<\/td><\/tr><tr><td>Identification and Authentication Failures<\/td><td>JWT-basierte Authentifizierung, Token-Widerruf, Ratenbegrenzung bei Anmeldung<\/td><\/tr><\/tbody><\/table>\n<p>Es besteht <strong>keine formale OWASP-Zertifizierung<\/strong>. Die Massnahmen basieren auf den OWASP-Empfehlungen und sind als präventive Sicherheitsmassnahmen implementiert.<\/p>\n<h3>9.4 ISO 27001 / BSI IT-Grundschutz<\/h3>\n<p>Die implementierten technischen und organisatorischen Massnahmen (Zugriffskontrolle, Verschlüsselung, Audit-Logging, Eingabevalidierung, Mandantentrennung) bilden eine <strong>solide Grundlage<\/strong> für ein Informationssicherheits-Managementsystem (ISMS) nach ISO 27001 oder BSI IT-Grundschutz.<\/p>\n<p>Es besteht <strong>keine formale Zertifizierung<\/strong>. Die vorhandene Infrastruktur ermöglicht es jedoch, eine Zertifizierung auf dieser Basis gezielt anzustreben.<\/p>\n<hr>\n<h2>10. Authentifizierung und Identitätsmanagement<\/h2>\n<h3>10.1 Anmeldemethoden<\/h3>\n<p>PowerOn unterstützt mehrere Authentifizierungsverfahren:<\/p>\n<ul><li><strong>Lokale Anmeldung:<\/strong> Benutzername und Passwort mit JWT-basierter Sitzungsverwaltung<\/li><li><strong>Microsoft-Anmeldung (Azure AD / Entra ID):<\/strong> Single Sign-On über bestehende Microsoft-Konten<\/li><li><strong>Google-Anmeldung:<\/strong> Single Sign-On über Google Workspace<\/li><\/ul>\n<h3>10.2 Sitzungssicherheit<\/h3>\n<ul><li>Authentifizierungstoken werden in sicheren, HTTP-only Cookies gespeichert (nicht im Browser-Speicher zugänglich)<\/li><li>Tokens haben eine konfigurierbare Gültigkeitsdauer<\/li><li>Token-Widerruf ist jederzeit möglich (z.B. bei Verdacht auf Kompromittierung)<\/li><li>Bei lokaler Anmeldung wird die Gültigkeit des Tokens zusätzlich gegen die Datenbank geprüft<\/li><\/ul>\n<h3>10.3 Automatische Token-Erneuerung<\/h3>\n<p>Authentifizierungstoken werden automatisch erneuert, bevor sie ablaufen. Dies gewährleistet eine unterbrechungsfreie Nutzung bei gleichzeitiger Begrenzung der Token-Gültigkeitsdauer.<\/p>\n<hr>\n<h2>11. Offene Punkte und Empfehlungen<\/h2>\n<p>Transparenz schafft Vertrauen. Die folgenden Punkte sind offen benannt, damit Kunden und Betreiber informierte Entscheidungen treffen können.<\/p>\n<table><thead><tr><th>Thema<\/th><th>Status<\/th><th>Empfehlung<\/th><\/tr><\/thead><tbody><tr><td>Granulares Consent-Management<\/td><td>Nicht vorhanden<\/td><td>Falls regulatorisch erforderlich, als separates Modul ergänzen<\/td><\/tr><tr><td>PII-Filterung vor KI-Versand<\/td><td>Nicht standardmässig aktiv<\/td><td>Datenschutz-Neutralisierer aktivieren oder Private LLM einsetzen<\/td><\/tr><tr><td>Security-Header (CSP, HSTS)<\/td><td>Auf Infrastruktur-Ebene<\/td><td>Konfiguration auf Reverse-Proxy-Ebene dokumentieren und prüfen<\/td><\/tr><tr><td>Datenschutz-Kontaktadresse<\/td><td>Platzhalter<\/td><td>Pro Deployment mit tatsächlicher DSB-Kontaktadresse konfigurieren<\/td><\/tr><tr><td>Formale Zertifizierungen<\/td><td>Keine vorhanden<\/td><td>ISO 27001 / BSI auf Basis der vorhandenen Massnahmen anstrebbar<\/td><\/tr><\/tbody><\/table>\n<hr>\n<h2>12. Zusammenfassung<\/h2>\n<p>PowerOn vereint Enterprise-KI-Funktionalität mit einem umfassenden Sicherheits- und Datenschutzkonzept. Die Plattform bietet:<\/p>\n<ul><li><strong>DSGVO-konforme Betroffenenrechte<\/strong> als Self-Service-Funktionen<\/li><li><strong>Vollständige Mandantentrennung<\/strong> mit serverseitiger Zugehörigkeitsprüfung<\/li><li><strong>Feingliedriges Berechtigungssystem<\/strong> mit individuell konfigurierbaren Rollen<\/li><li><strong>Verschlüsselung nach Industriestandard<\/strong> für ruhende und übertragene Daten<\/li><li><strong>Lückenlosen Audit-Trail<\/strong> für Compliance-Nachweise<\/li><li><strong>Transparente KI-Datenverarbeitung<\/strong> mit Optionen für höchste Datenschutzanforderungen<\/li><\/ul>\n<p>Gleichzeitig werden bestehende Einschränkungen offen kommuniziert und Empfehlungen für ergänzende Massnahmen gegeben. Diese Kombination aus implementierter Sicherheit und transparenter Kommunikation bildet die Grundlage für eine vertrauensvolle Zusammenarbeit.<\/p>\n<hr>\n<p><em>Dieses Dokument basiert auf einer Analyse der PowerOn-Plattform (Stand Februar 2026). Alle beschriebenen Massnahmen sind in der Plattform implementiert und wurden anhand der Codebasis verifiziert. Angaben ohne Gewähr -- für verbindliche Zusicherungen gelten die jeweiligen Vertragsvereinbarungen.<\/em><\/p>", "text": "# poweron plattform -- sicherheit und compliance **stand:** februar 2026 **zielgruppe:** entscheidungsträger, einkauf, rechtsabteilung, datenschutzbeauftragte **klassifizierung:** kundeninformation --- ## 1. management summary poweron ist eine **multi-mandanten-ki-plattform für unternehmen**, die es organisationen ermöglicht, ki-gestützte geschäftsprozesse sicher, datenschutzkonform und mandantengetrennt zu betreiben. die plattform richtet sich an mittlere bis grosse unternehmen in datenschutzsensiblen branchen wie finanzwesen, treuhand, immobilien und beratung. dieses dokument beschreibt die in poweron implementierten sicherheits- und datenschutzmassnahmen, ordnet diese gängigen standards zu und benennt transparent bestehende einschränkungen. **kernaussagen:** - **dsgvo-betroffenenrechte** (auskunft, löschung, datenübertragbarkeit, berichtigung) sind als self-service-funktionen direkt in der plattform implementiert. - **vollständige mandantentrennung:** daten eines mandanten sind unter keinen umständen für andere mandanten einsehbar oder zugänglich. - **rollenbasierte zugriffskontrolle (rbac):** jeder datenzugriff wird gegen ein mehrstufiges berechtigungssystem geprüft -- konfigurierbar pro mandant und funktionsmodul. - **verschlüsselung:** sensible konfigurationsdaten sind nach industriestandard verschlüsselt, sämtliche kommunikation erfolgt über verschlüsselte verbindungen. - **audit-trail:** alle sicherheitsrelevanten aktionen werden lückenlos protokolliert und stehen für compliance-nachweise zur verfügung. - **transparenz bei ki-nutzung:** die plattform dokumentiert offen, welche daten an ki-dienste übermittelt werden, und bietet konfigurationsoptionen für höchste datenschutzanforderungen. --- ## 2. dsgvo-konformität poweron implementiert die zentralen betroffenenrechte der datenschutz-grundverordnung (dsgvo/gdpr) direkt als plattformfunktionen. im folgenden wird für jeden relevanten artikel beschrieben, was implementiert ist und wo einschränkungen bestehen. ### 2.1 auskunftsrecht (art. 15 dsgvo) nutzer können über eine self-service-funktion sämtliche über sie gespeicherten daten exportieren: - persönliche profildaten (name, e-mail, spracheinstellungen) - mandatszugehörigkeiten und zugewiesene rollen - zugriffsrechte auf funktionsmodule - erstellte und eingelöste einladungen - zeitpunkte der kontörstellung und letzten anmeldung der export umfasst alle auf plattformebene gespeicherten daten. feature-spezifische daten (z.b. chat-verläufe, treuhandpositionen) können über die jeweiligen funktionsmodule eingesehen werden. **status: implementiert.** ### 2.2 recht auf löschung (art. 17 dsgvo) nutzer können ihr konto und alle zugehörigen daten eigenständig und unwiderruflich löschen. dabei gilt: - das system durchsucht automatisch alle datenbanken (plattform, verwaltung, chat, alle funktionsmodule) nach einträgen, die dem nutzer zugeordnet sind. - nutzerbezogene daten werden vollständig gelöscht. - audit-logs werden anonymisiert statt gelöscht -- dies gewährleistet die einhaltung gesetzlicher aufbewahrungspflichten bei gleichzeitiger wahrung der betroffenenrechte. - die löschung erfordert eine explizite bestätigung durch den nutzer. - systemadministratoren sind von der selbstlöschung ausgenommen (vier-augen-prinzip). **status: implementiert.** ### 2.3 recht auf datenübertragbarkeit (art. 20 dsgvo) nutzerdaten können in einem maschinenlesbaren, standardisierten format (json-ld nach schema.org) exportiert werden. dieses format ermöglicht die übertragung der daten an einen anderen dienstleister. **status: implementiert.** ### 2.4 berichtigungsrecht (art. 16 dsgvo) nutzer können ihre profildaten (name, e-mail, spracheinstellungen) jederzeit selbst korrigieren. **status: implementiert.** ### 2.5 transparenz und informationspflicht die plattform stellt nutzern aktiv informationen über die datenverarbeitung bereit: - welche daten erhoben werden - zu welchem zweck die verarbeitung erfolgt - auf welcher rechtsgrundlage die verarbeitung basiert - welche aufbewahrungsfristen gelten - welche betroffenenrechte bestehen und wie sie ausgeübt werden können **status: implementiert.** ### 2.6 bekannte einschränkungen die folgenden punkte sind transparent zu benennen: - **consent-management:** die plattform verfügt derzeit über kein granulares einwilligungsmanagement mit individuellen zustimmungs-toggles. die einwilligung zur datenverarbeitung erfolgt über die nutzungsbedingungen und, bei drittanbieter-authentifizierung (microsoft, google), über die jeweiligen oauth-einwilligungsflüsse. - **datenschutz-kontaktadresse:** die kontaktadresse für datenschutzanfragen ist pro deployment konfigurierbar und muss vom jeweiligen betreiber hinterlegt werden. --- ## 3. mandantenmodell und datenisolation ### 3.1 grundprinzip poweron ist als multi-mandanten-plattform konzipiert. jede organisation, abteilung oder jeder kunde wird als eigenständiger **mandant** abgebildet. das zentrale sicherheitsversprechen: > **daten eines mandanten sind unter keinen umständen für nutzer anderer mandanten sichtbar oder zugänglich.** ### 3.2 wie die trennung funktioniert - **zugehörigkeitsprüfung bei jedem zugriff:** bevor ein nutzer auf mandantendaten zugreifen kann, prüft die plattform, ob eine aktive mitgliedschaft des nutzers in diesem mandanten besteht. ohne nachgewiesene mitgliedschaft wird der zugriff verweigert. - **kein mandantenübergreifender datenfluss:** datenbankabfragen werden automatisch auf den mandantenkontext gefiltert. es gibt keinen mechanismus, der daten mandantenübergreifend zusammenführt oder exponiert. - **feature-isolation:** innerhalb eines mandanten werden funktionsmodule (z.b. commcoach, treuhand, immobilien) zusätzlich isoliert. nutzer benötigen für jedes funktionsmodul eine explizite zugriffsberechtigung. ### 3.3 mehrfachmandanten nutzer können gleichzeitig in mehreren mandanten arbeiten -- ein häufiges szenario bei beratern, treuhändern oder dienstleistern mit mehreren kunden. die plattform stellt sicher: - der mandantenkontext wird pro anfrage bestimmt, nicht pro sitzung. ein wechsel zwischen mandanten ist jederzeit möglich, ohne dass daten vermischt werden. - es findet keine übertragung von daten, berechtigungen oder einstellungen zwischen mandanten statt. ### 3.4 schutz vor manipulation auch bei technischem wissen über die plattformarchitektur ist ein unbefugter zugriff auf fremde mandantendaten nicht möglich: die zugehörigkeitsprüfung erfolgt serverseitig und kann nicht durch manipulation von anfrageparametern umgangen werden. --- ## 4. rollenbasierte zugriffskontrolle (rbac) ### 4.1 berechtigungsmodell poweron verfügt über ein feingliedriges, rollenbasiertes berechtigungssystem. für jede aktion (lesen, erstellen, bearbeiten, löschen) können individuelle berechtigungsstufen vergeben werden: | berechtigungsstufe | beschreibung | |---|---| | kein zugriff | funktion ist nicht verfügbar | | eigene daten | zugriff nur auf selbst erstellte einträge | | mandantendaten | zugriff auf alle daten innerhalb des eigenen mandanten | | alle daten | vollzugriff (typischerweise für administratoren) | ### 4.2 konfigurierbarkeit - rollen können **pro mandant** und **pro funktionsmodul** definiert und zugewiesen werden. - es gibt keine fest verdrahteten berechtigungen -- jede organisation kann das rollenmodell an ihre bedürfnisse anpassen. - berechtigungsänderungen werden im audit-trail protokolliert. ### 4.3 administratoren systemadministratoren verfügen über erweiterte rechte, unterliegen jedoch ebenfalls dem rbac-system. alle administratoraktionen werden gesondert im audit-log festgehalten. es gibt kein unkontrolliertes \"superuser\"-konto ohne nachvollziehbarkeit. --- ## 5. verschlüsselung und datensicherheit ### 5.1 verschlüsselung ruhender daten alle sensiblen konfigurationsdaten werden verschlüsselt gespeichert: - **verschlüsselungsverfahren:** aes-verschlüsselung (fernet) - **schlüsselableitung:** pbkdf2-hmac-sha256 nach aktuellem industriestandard - **umfang:** datenbankpasswörter, api-schlüssel für ki-dienste, oauth-geheimnisse, jwt-schlüssel und alle weiteren als \"secret\" gekennzeichneten konfigurationswerte sensible konfigurationsdaten liegen zu keinem zeitpunkt im klartext in der konfiguration oder im quellcode vor. ### 5.2 verschlüsselung in übertragung - sämtliche kommunikation zwischen client und server erfolgt über https/tls. - verbindungen zu drittdiensten (ki-anbieter, authentifizierungsdienste, e-mail-dienste) nutzen ebenfalls ausschliesslich verschlüsselte verbindungen. - die tls-konfiguration erfolgt auf infrastruktur-ebene (azure / reverse proxy) -- dies entspricht dem branchenstandard bei cloud-deployments und ermöglicht zentrale verwaltung und aktualisierung der zertifikate. ### 5.3 zugriffskontrolle auf verschlüsselungsschlüssel - der zugriff auf verschlüsselungsschlüssel ist auf das minimum beschränkt. - jeder zugriff auf verschlüsselungsfunktionen (entschlüsselung, neuverschlüsselung) wird im audit-trail protokolliert. - eine ratenbegrenzung schützt vor automatisierten entschlüsselungsversuchen. --- ## 6. schutzmassnahmen gegen angriffe poweron implementiert schutzmassnahmen gegen die gängigsten angriffsvektoren für webanwendungen: ### 6.1 cross-site request forgery (csrf) alle datenverändernden operationen (post, put, delete, patch) erfordern einen `x-csrf-token` header. die aktuelle implementierung validiert das tokenformat (16-64 zeichen hex-string); es gibt kein serverseitiges session-binding (kein klassisches double-submit oder synchronizer token). in kombination mit `samesite=strict` cookies und cors bietet dies basisschutz gegen csrf. ### 6.2 ratenbegrenzung (rate limiting) jede api-funktion ist mit individuellen zugriffslimits versehen, die automatisierte angriffe und missbrauch unterbinden: | funktion | limit | |---|---| | anmeldung | 30 versuche pro minute | | datenexport (dsgvo) | 5 anfragen pro minute | | kontolöschung | 1 anfrage pro stunde | | ki-anfragen | 120 anfragen pro minute | | datei-upload | 10 uploads pro minute | ### 6.3 eingabebereinigung nutzereingaben werden bereinigt und validiert, bevor sie an ki-modelle oder datenbanken weitergeleitet werden. dies schützt vor prompt-injection-angriffen und anderen manipulationsversuchen. ### 6.4 sql-injection-schutz - alle datenbankabfragen der plattform verwenden parametrisierte abfragen -- der industriestandard zur vermeidung von sql-injection. - der ki-gestützte datenbankzugriff ist zusätzlich auf reine leseabfragen (select) beschränkt. schreibende, ändernde oder löschende operationen sind auf systemebene blockiert. ### 6.5 cross-origin resource sharing (cors) nur definierte und verifizierte quelldomains erhalten zugriff auf die plattform-api. anfragen von nicht autorisierten quellen werden automatisch abgelehnt. --- ## 7. ki-dienste und datenverarbeitung transparenz im umgang mit ki-diensten ist für datenschutzbewusste organisationen entscheidend. poweron legt offen, wie daten im kontext der ki-nutzung verarbeitet werden. ### 7.1 welche daten werden verarbeitet im rahmen der ki-gestützten funktionen (ki-assistent, workflow-verarbeitung, dokumentenanalyse) können folgende daten an ki-dienste übermittelt werden: - nutzeranfragen und -eingaben - dokumentinhalte (bei dokumentenanalyse) - gesprächsverläufe (bei chat-funktionen) ### 7.2 welche ki-anbieter werden genutzt poweron unterstützt mehrere ki-anbieter, die je nach bedarf und konfiguration eingesetzt werden: - **openai** (gpt-4o und weitere modelle) - **anthropic** (claude-modelle) - **tavily** (websuche) - **private llm** (lokale/eigene modelle -- kein externer datenabfluss) die auswahl des anbieters ist konfigurierbar und kann an die datenschutzanforderungen des kunden angepasst werden. ### 7.3 mandantentrennung bei ki-anfragen jede ki-anfrage erfolgt im kontext des jeweiligen mandanten. es findet keine vermischung von daten verschiedener mandanten in ki-anfragen statt. ### 7.4 kein training mit kundendaten bei nutzung der enterprise-api-vereinbarungen der ki-anbieter (openai enterprise api, anthropic api) werden kundendaten nicht für das training der ki-modelle verwendet. dies ist vertraglich durch die auftragsverarbeitungsvereinbarungen (av-v / dpa) mit den jeweiligen anbietern abgesichert. ### 7.5 optionen für höchste datenschutzanforderungen für organisationen mit besonders hohen datenschutzanforderungen bietet poweron: - **datenschutz-neutralisierer:** optionales modul, das personenbezogene daten vor der übermittlung an externe ki-dienste entfernt oder pseudonymisiert. - **private-llm-anbindung:** möglichkeit, ein eigenes, lokal betriebenes sprachmodell zu nutzen. in diesem fall verlassen keine daten die eigene infrastruktur. ### 7.6 bekannte einschränkung die automatische erkennung und filterung personenbezogener daten (pii) vor dem versand an externe ki-dienste ist **nicht standardmässig aktiviert**. organisationen, die mit besonders sensiblen personenbezogenen daten arbeiten, sollten den datenschutz-neutralisierer nutzen oder den private-llm-connector einsetzen. --- ## 8. audit-trail und nachvollziehbarkeit ### 8.1 was wird protokolliert sämtliche sicherheitsrelevanten aktionen werden automatisch und lückenlos in einem audit-log erfasst: | kategorie | beispiele | |---|---| | zugriff | anmeldungen, fehlgeschlagene anmeldeversuche, abmeldungen | | sicherheit | administratoraktionen, sysadmin-zugriffe, sicherheitsereignisse | | datenschutz (dsgvo) | datenexporte, kontolöschungen, portabilitätsanfragen | | berechtigungen | rollenzuweisungen, berechtigungsänderungen | | verschlüsselung | zugriffe auf verschlüsselungsfunktionen | | datenoperationen | zugriffe auf sensible geschäftsdaten | ### 8.2 aufbewahrung und bereinigung - **standard-aufbewahrungsdauer:** 365 tage (konfigurierbar) - **automatische bereinigung:** veraltete einträge werden durch einen täglichen prozess entfernt -- dies stellt sicher, dass audit-daten nicht unbefristet aufbewahrt werden (dsgvo-konformität). - **anonymisierung:** bei der löschung eines nutzerkontos werden zugehörige audit-einträge anonymisiert statt gelöscht. die nachvollziehbarkeit sicherheitsrelevanter ereignisse bleibt gewahrt, ohne dass rückschlüsse auf die gelöschte person möglich sind. ### 8.3 nutzung für compliance-nachweise die audit-daten können als nachweis für interne und externe audits herangezogen werden. sie dokumentieren, wer wann welche sicherheitsrelevante aktion durchgeführt hat, und unterstützen damit die anforderungen an die rechenschaftspflicht nach art. 5 abs. 2 dsgvo. --- ## 9. einordnung in gängige standards poweron orientiert sich an anerkannten standards und rahmenwerken. die folgende einordnung beschreibt transparent, welche anforderungen die plattform bereits abdeckt und wo ergänzungen erforderlich sind. ### 9.1 dsgvo / gdpr | anforderung | status | bemerkung | |---|---|---| | betroffenenrechte (art. 15--17, 20) | implementiert | auskunft, löschung, portabilität, berichtigung als self-service | | rechenschaftspflicht (art. 5 abs. 2) | implementiert | lückenloser audit-trail | | verzeichnis der verarbeitungstätigkeiten (art. 30) | unterstützt | audit-log liefert die datenbasis; das formale verzeichnis muss vom betreiber geführt werden | | technische und organisatorische massnahmen (art. 32) | implementiert | verschlüsselung, zugriffskontrolle, mandantentrennung, eingabevalidierung | | einwilligungsmanagement (art. 7) | teilweise | über nutzungsbedingungen und oauth; kein granulares consent-tool | ### 9.2 schweizer datenschutzgesetz (ndsg / revdsg) die anforderungen des revidierten schweizer datenschutzgesetzes sind mit den dsgvo-massnahmen kompatibel. insbesondere: - informationspflicht bei datenerhebung: transparenzfunktion implementiert - recht auf datenherausgabe und -löschung: self-service-funktionen vorhanden - pflicht zu angemessenen technischen massnahmen: verschlüsselung, rbac, mandantentrennung ### 9.3 owasp top 10 die plattform adressiert die häufigsten web-sicherheitsrisiken gemäss owasp: | owasp-risiko | massnahme in poweron | |---|---| | broken access control | rollenbasierte zugriffskontrolle, mandantenprüfung bei jedem zugriff | | cryptographic failures | aes-verschlüsselung, pbkdf2-schlüsselableitung, https/tls | | injection | parametrisierte datenbankabfragen, eingabebereinigung, sql-leseeinschränkung | | security misconfiguration | cors-einschränkungen, rate limiting, csrf-schutz | | identification and authentication failures | jwt-basierte authentifizierung, token-widerruf, ratenbegrenzung bei anmeldung | es besteht **keine formale owasp-zertifizierung**. die massnahmen basieren auf den owasp-empfehlungen und sind als präventive sicherheitsmassnahmen implementiert. ### 9.4 iso 27001 / bsi it-grundschutz die implementierten technischen und organisatorischen massnahmen (zugriffskontrolle, verschlüsselung, audit-logging, eingabevalidierung, mandantentrennung) bilden eine **solide grundlage** für ein informationssicherheits-managementsystem (isms) nach iso 27001 oder bsi it-grundschutz. es besteht **keine formale zertifizierung**. die vorhandene infrastruktur ermöglicht es jedoch, eine zertifizierung auf dieser basis gezielt anzustreben. --- ## 10. authentifizierung und identitätsmanagement ### 10.1 anmeldemethoden poweron unterstützt mehrere authentifizierungsverfahren: - **lokale anmeldung:** benutzername und passwort mit jwt-basierter sitzungsverwaltung - **microsoft-anmeldung (azure ad / entra id):** single sign-on über bestehende microsoft-konten - **google-anmeldung:** single sign-on über google workspace ### 10.2 sitzungssicherheit - authentifizierungstoken werden in sicheren, http-only cookies gespeichert (nicht im browser-speicher zugänglich) - tokens haben eine konfigurierbare gültigkeitsdauer - token-widerruf ist jederzeit möglich (z.b. bei verdacht auf kompromittierung) - bei lokaler anmeldung wird die gültigkeit des tokens zusätzlich gegen die datenbank geprüft ### 10.3 automatische token-erneuerung authentifizierungstoken werden automatisch erneuert, bevor sie ablaufen. dies gewährleistet eine unterbrechungsfreie nutzung bei gleichzeitiger begrenzung der token-gültigkeitsdauer. --- ## 11. offene punkte und empfehlungen transparenz schafft vertrauen. die folgenden punkte sind offen benannt, damit kunden und betreiber informierte entscheidungen treffen können. | thema | status | empfehlung | |---|---|---| | granulares consent-management | nicht vorhanden | falls regulatorisch erforderlich, als separates modul ergänzen | | pii-filterung vor ki-versand | nicht standardmässig aktiv | datenschutz-neutralisierer aktivieren oder private llm einsetzen | | security-header (csp, hsts) | auf infrastruktur-ebene | konfiguration auf reverse-proxy-ebene dokumentieren und prüfen | | datenschutz-kontaktadresse | platzhalter | pro deployment mit tatsächlicher dsb-kontaktadresse konfigurieren | | formale zertifizierungen | keine vorhanden | iso 27001 / bsi auf basis der vorhandenen massnahmen anstrebbar | --- ## 12. zusammenfassung poweron vereint enterprise-ki-funktionalität mit einem umfassenden sicherheits- und datenschutzkonzept. die plattform bietet: - **dsgvo-konforme betroffenenrechte** als self-service-funktionen - **vollständige mandantentrennung** mit serverseitiger zugehörigkeitsprüfung - **feingliedriges berechtigungssystem** mit individuell konfigurierbaren rollen - **verschlüsselung nach industriestandard** für ruhende und übertragene daten - **lückenlosen audit-trail** für compliance-nachweise - **transparente ki-datenverarbeitung** mit optionen für höchste datenschutzanforderungen gleichzeitig werden bestehende einschränkungen offen kommuniziert und empfehlungen für ergänzende massnahmen gegeben. diese kombination aus implementierter sicherheit und transparenter kommunikation bildet die grundlage für eine vertrauensvolle zusammenarbeit. --- *dieses dokument basiert auf einer analyse der poweron-plattform (stand februar 2026). alle beschriebenen massnahmen sind in der plattform implementiert und wurden anhand der codebasis verifiziert. angaben ohne gewähr -- für verbindliche zusicherungen gelten die jeweiligen vertragsvereinbarungen.* ", "nextReview": "", "overdueReview": false, "zuPruefen": []}, {"id": "06_bewertung/internes-audit.md", "path": "06_bewertung/internes-audit.md", "chapter": "06_bewertung", "title": "Internes Audit", "filename": "internes-audit.md", "meta": {"docId": "IMS-09-01", "status": "entwurf", "version": "0.1", "owner": "Patrick Motsch", "approver": "Geschäftsführung PowerOn AG", "approvedDate": "", "nextReview": "2027-06-03", "classification": "intern", "isoRefs": "9001:9.2; 27001:9.2"}, "html": "<h1>Internes Audit<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Verfahren (Pflicht ISO 9001/27001 Kap. 9.2)<\/p>\n<h2>1. Zweck<\/h2>\n<p>Das interne Audit prüft regelmässig, ob das IMS den Normanforderungen (ISO 9001, ISO 27001) und den eigenen Vorgaben entspricht und wirksam umgesetzt ist.<\/p>\n<h2>2. Unabhängigkeit<\/h2>\n<p>Auditoren dürfen ihre eigene Arbeit nicht prüfen. Aufgrund der Teamgrösse wird das interne Audit <strong>an eine externe, unabhängige Person/Stelle vergeben<\/strong>. Die Auswahl wird dokumentiert.<\/p>\n<h2>3. Auditprogramm<\/h2>\n<table><thead><tr><th>Element<\/th><th>Vorgabe<\/th><\/tr><\/thead><tbody><tr><td>Turnus<\/td><td>Mindestens 1x jährlich, gesamtes IMS über max. 1 Zyklus<\/td><\/tr><tr><td>Umfang<\/td><td>Kap. 4-10 beider Normen + Annex-A-Controls (risikoorientiert priorisiert)<\/td><\/tr><tr><td>Erstes Audit<\/td><td>2026 Q3 (Voraussetzung für Audit-Reife)<\/td><\/tr><tr><td>Kriterien<\/td><td>Normtext, IMS-Dokumente, SoA, gesetzliche/vertragliche Anforderungen<\/td><\/tr><\/tbody><\/table>\n<h2>4. Ablauf<\/h2>\n<pre class=\"mermaid\">flowchart LR\n plan[\"Auditplan (Umfang, Termin, Kriterien)\"] --&gt; exec[\"Durchführung (Interviews, Nachweise, Stichproben)\"]\n exec --&gt; report[\"Auditbericht (Feststellungen, Abweichungen)\"]\n report --&gt; capa[\"Korrekturmassnahmen ins Massnahmenregister\"]\n capa --&gt; followup[\"Nachverfolgung &amp; Wirksamkeitsprüfung\"]<\/pre>\n<h2>5. Feststellungsklassen<\/h2>\n<table><thead><tr><th>Klasse<\/th><th>Bedeutung<\/th><th>Folge<\/th><\/tr><\/thead><tbody><tr><td>Hauptabweichung (major)<\/td><td>Norm-/Systemanforderung nicht erfüllt<\/td><td>sofortige Korrekturmassnahme<\/td><\/tr><tr><td>Nebenabweichung (minor)<\/td><td>punktuelle Schwäche<\/td><td>terminierte Korrekturmassnahme<\/td><\/tr><tr><td>Hinweis / Verbesserungspotenzial<\/td><td>Empfehlung<\/td><td>KVP-Prüfung<\/td><\/tr><\/tbody><\/table>\n<h2>6. Nachweise / Records<\/h2>\n<p>Auditplan, Auditbericht und Massnahmen werden als Records abgelegt; Abweichungen werden im <a href=\"../07_verbesserung/massnahmen-register.md\">Massnahmenregister<\/a> (Quelle: Audit) geführt. Ergebnisse sind Input für das <a href=\"management-review.md\">Management-Review<\/a>.<\/p>", "text": "<!-- docid: ims-09-01 --> <!-- status: entwurf --> <!-- version: 0.1 --> <!-- owner: patrick motsch --> <!-- approver: geschäftsführung poweron ag --> <!-- approveddate: --> <!-- nextreview: 2027-06-03 --> <!-- classification: intern --> <!-- isorefs: 9001:9.2; 27001:9.2 --> # internes audit **dokumenttyp:** verfahren (pflicht iso 9001/27001 kap. 9.2) ## 1. zweck das interne audit prüft regelmässig, ob das ims den normanforderungen (iso 9001, iso 27001) und den eigenen vorgaben entspricht und wirksam umgesetzt ist. ## 2. unabhängigkeit auditoren dürfen ihre eigene arbeit nicht prüfen. aufgrund der teamgrösse wird das interne audit **an eine externe, unabhängige person/stelle vergeben**. die auswahl wird dokumentiert. ## 3. auditprogramm | element | vorgabe | |---|---| | turnus | mindestens 1x jährlich, gesamtes ims über max. 1 zyklus | | umfang | kap. 4-10 beider normen + annex-a-controls (risikoorientiert priorisiert) | | erstes audit | 2026 q3 (voraussetzung für audit-reife) | | kriterien | normtext, ims-dokumente, soa, gesetzliche/vertragliche anforderungen | ## 4. ablauf ```mermaid flowchart lr plan[\"auditplan (umfang, termin, kriterien)\"] --> exec[\"durchführung (interviews, nachweise, stichproben)\"] exec --> report[\"auditbericht (feststellungen, abweichungen)\"] report --> capa[\"korrekturmassnahmen ins massnahmenregister\"] capa --> followup[\"nachverfolgung & wirksamkeitsprüfung\"] ``` ## 5. feststellungsklassen | klasse | bedeutung | folge | |---|---|---| | hauptabweichung (major) | norm-/systemanforderung nicht erfüllt | sofortige korrekturmassnahme | | nebenabweichung (minor) | punktuelle schwäche | terminierte korrekturmassnahme | | hinweis / verbesserungspotenzial | empfehlung | kvp-prüfung | ## 6. nachweise / records auditplan, auditbericht und massnahmen werden als records abgelegt; abweichungen werden im [massnahmenregister](../07_verbesserung/massnahmen-register.md) (quelle: audit) geführt. ergebnisse sind input für das [management-review](management-review.md). ", "nextReview": "2027-06-03", "overdueReview": false, "zuPruefen": []}, {"id": "06_bewertung/management-review.md", "path": "06_bewertung/management-review.md", "chapter": "06_bewertung", "title": "Management-Review", "filename": "management-review.md", "meta": {"docId": "IMS-09-02", "status": "entwurf", "version": "0.1", "owner": "Geschäftsführung PowerOn AG", "approver": "Geschäftsführung PowerOn AG", "approvedDate": "", "nextReview": "2027-06-03", "classification": "intern", "isoRefs": "9001:9.3; 27001:9.3"}, "html": "<h1>Management-Review<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Verfahren + Protokollvorlage (Pflicht ISO 9001/27001 Kap. 9.3)<\/p>\n<h2>1. Zweck und Turnus<\/h2>\n<p>Die oberste Leitung bewertet das IMS mindestens <strong>jährlich<\/strong> sowie anlassbezogen auf Eignung, Angemessenheit und Wirksamkeit und entscheidet über Verbesserungen und Ressourcen.<\/p>\n<h2>2. Eingaben (Inputs)<\/h2>\n<ul><li>Status Massnahmen aus vorherigen Reviews<\/li><li>Änderungen interner/externer Themen (<a href=\"../01_kontext/kontext-und-interessierte-parteien.md\">Kontext<\/a>)<\/li><li>Erfüllung der <a href=\"../03_planung/ziele-und-kennzahlen.md\">Ziele &amp; Kennzahlen<\/a><\/li><li>Ergebnisse <a href=\"internes-audit.md\">interner Audits<\/a><\/li><li>Risikolage / <a href=\"../03_planung/risikoregister.md\">Risikoregister<\/a> + SoA-Status<\/li><li>Incidents, Abweichungen, Reklamationen<\/li><li>Rückmeldungen interessierter Parteien (Kunden, Lieferanten)<\/li><li>Stand offener Pendenzen (<a href=\"../07_verbesserung/massnahmen-register.md\">Massnahmenregister<\/a>)<\/li><\/ul>\n<h2>3. Ergebnisse (Outputs)<\/h2>\n<ul><li>Bewertung der IMS-Wirksamkeit<\/li><li>Entscheidungen zu Verbesserungen, Zielen, Ressourcen<\/li><li>neue/aktualisierte Massnahmen mit Owner und Termin<\/li><li>ggf. Anpassung von Politiken, Scope, SoA<\/li><\/ul>\n<h2>4. Protokollvorlage<\/h2>\n<pre class=\"code\"><code># Management-Review-Protokoll\n\nDatum:\nTeilnehmende:\nBerichtsperiode:\n\n## Inputs (Zusammenfassung)\n- Zielerreichung: ...\n- Audit-Ergebnisse: ...\n- Risiken/SoA: ...\n- Incidents/Abweichungen: ...\n- Rückmeldungen: ...\n\n## Bewertung\n- Eignung/Angemessenheit/Wirksamkeit: ...\n\n## Entscheidungen &amp; Massnahmen\n| Massnahme | Owner | Termin |\n|---|---|---|\n| | | |\n\n## Nächstes Review:\nFreigabe (Geschäftsführung):<\/code><\/pre>\n<h2>5. Records<\/h2>\n<p>Jedes Protokoll wird als Record abgelegt. Das erste Management-Review (2026 Q3) ist Voraussetzung für die Audit-Reife.<\/p>", "text": "<!-- docid: ims-09-02 --> <!-- status: entwurf --> <!-- version: 0.1 --> <!-- owner: geschäftsführung poweron ag --> <!-- approver: geschäftsführung poweron ag --> <!-- approveddate: --> <!-- nextreview: 2027-06-03 --> <!-- classification: intern --> <!-- isorefs: 9001:9.3; 27001:9.3 --> # management-review **dokumenttyp:** verfahren + protokollvorlage (pflicht iso 9001/27001 kap. 9.3) ## 1. zweck und turnus die oberste leitung bewertet das ims mindestens **jährlich** sowie anlassbezogen auf eignung, angemessenheit und wirksamkeit und entscheidet über verbesserungen und ressourcen. ## 2. eingaben (inputs) - status massnahmen aus vorherigen reviews - änderungen interner/externer themen ([kontext](../01_kontext/kontext-und-interessierte-parteien.md)) - erfüllung der [ziele & kennzahlen](../03_planung/ziele-und-kennzahlen.md) - ergebnisse [interner audits](internes-audit.md) - risikolage / [risikoregister](../03_planung/risikoregister.md) + soa-status - incidents, abweichungen, reklamationen - rückmeldungen interessierter parteien (kunden, lieferanten) - stand offener pendenzen ([massnahmenregister](../07_verbesserung/massnahmen-register.md)) ## 3. ergebnisse (outputs) - bewertung der ims-wirksamkeit - entscheidungen zu verbesserungen, zielen, ressourcen - neue/aktualisierte massnahmen mit owner und termin - ggf. anpassung von politiken, scope, soa ## 4. protokollvorlage ```markdown # management-review-protokoll datum: teilnehmende: berichtsperiode: ## inputs (zusammenfassung) - zielerreichung: ... - audit-ergebnisse: ... - risiken/soa: ... - incidents/abweichungen: ... - rückmeldungen: ... ## bewertung - eignung/angemessenheit/wirksamkeit: ... ## entscheidungen & massnahmen | massnahme | owner | termin | |---|---|---| | | | | ## nächstes review: freigabe (geschäftsführung): ``` ## 5. records jedes protokoll wird als record abgelegt. das erste management-review (2026 q3) ist voraussetzung für die audit-reife. ", "nextReview": "2027-06-03", "overdueReview": false, "zuPruefen": []}, {"id": "06_bewertung/monitoring-messung.md", "path": "06_bewertung/monitoring-messung.md", "chapter": "06_bewertung", "title": "Monitoring, Messung, Analyse und Bewertung", "filename": "monitoring-messung.md", "meta": {"docId": "IMS-09-03", "status": "entwurf", "version": "0.1", "owner": "Patrick Motsch", "approver": "Geschäftsführung PowerOn AG", "approvedDate": "", "nextReview": "2027-06-03", "classification": "intern", "isoRefs": "9001:9.1; 27001:9.1"}, "html": "<h1>Monitoring, Messung, Analyse und Bewertung<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Verfahren (Pflicht ISO 9001/27001 Kap. 9.1)<\/p>\n<h2>1. Was wird gemessen<\/h2>\n<table><thead><tr><th>Gegenstand<\/th><th>Kennzahl<\/th><th>Quelle<\/th><th>Frequenz<\/th><th>Owner<\/th><\/tr><\/thead><tbody><tr><td>Qualitätsziele Q-1..Q-4<\/td><td>siehe <a href=\"../03_planung/ziele-und-kennzahlen.md\">Ziele<\/a><\/td><td>Tickets, Releases, CHANGELOG<\/td><td>quartalsweise<\/td><td>Patrick Motsch<\/td><\/tr><tr><td>Sicherheitsziele S-1..S-6<\/td><td>siehe <a href=\"../03_planung/ziele-und-kennzahlen.md\">Ziele<\/a><\/td><td>Risikoregister, Patch-/Incident-Logs<\/td><td>quartalsweise<\/td><td>Patrick Motsch<\/td><\/tr><tr><td>Verfügbarkeit Plattform<\/td><td>Uptime %<\/td><td>Monitoring/Statusseite<\/td><td>laufend<\/td><td>Patrick Motsch<\/td><\/tr><tr><td>Vorfälle<\/td><td>Anzahl, Schweregrad, Reaktionszeit<\/td><td><a href=\"../05_betrieb/07_Incident_Response_und_Meldewesen.md\">Incident Response<\/a><\/td><td>je Vorfall<\/td><td>Patrick Motsch<\/td><\/tr><tr><td>Dokumentenpflege<\/td><td>überfällige Reviews<\/td><td><a href=\"../cockpit/\">Cockpit<\/a><\/td><td>laufend<\/td><td>Patrick Motsch<\/td><\/tr><tr><td>Schwachstellen<\/td><td>offen/behoben, SLA-Treue<\/td><td><a href=\"../05_betrieb/10_Schwachstellenmanagement.md\">Schwachstellen<\/a><\/td><td>laufend<\/td><td>Patrick Motsch<\/td><\/tr><\/tbody><\/table>\n<h2>2. Analyse und Bewertung<\/h2>\n<p>Die Kennzahlen werden quartalsweise zusammengefasst und im <a href=\"management-review.md\">Management-Review<\/a> bewertet. Zielverfehlungen lösen Einträge im <a href=\"../07_verbesserung/massnahmen-register.md\">Massnahmenregister<\/a> aus.<\/p>\n<h2>3. Werkzeuge<\/h2>\n<p>Das <a href=\"../cockpit/\">Management-Cockpit<\/a> liefert die laufende Sicht auf Dokumentenstatus, fällige Reviews und offene Pendenzen. Betriebskennzahlen stammen aus Monitoring, Forgejo und den Betriebs-Records.<\/p>", "text": "<!-- docid: ims-09-03 --> <!-- status: entwurf --> <!-- version: 0.1 --> <!-- owner: patrick motsch --> <!-- approver: geschäftsführung poweron ag --> <!-- approveddate: --> <!-- nextreview: 2027-06-03 --> <!-- classification: intern --> <!-- isorefs: 9001:9.1; 27001:9.1 --> # monitoring, messung, analyse und bewertung **dokumenttyp:** verfahren (pflicht iso 9001/27001 kap. 9.1) ## 1. was wird gemessen | gegenstand | kennzahl | quelle | frequenz | owner | |---|---|---|---|---| | qualitätsziele q-1..q-4 | siehe [ziele](../03_planung/ziele-und-kennzahlen.md) | tickets, releases, changelog | quartalsweise | patrick motsch | | sicherheitsziele s-1..s-6 | siehe [ziele](../03_planung/ziele-und-kennzahlen.md) | risikoregister, patch-/incident-logs | quartalsweise | patrick motsch | | verfügbarkeit plattform | uptime % | monitoring/statusseite | laufend | patrick motsch | | vorfälle | anzahl, schweregrad, reaktionszeit | [incident response](../05_betrieb/07_incident_response_und_meldewesen.md) | je vorfall | patrick motsch | | dokumentenpflege | überfällige reviews | [cockpit](../cockpit/) | laufend | patrick motsch | | schwachstellen | offen/behoben, sla-treue | [schwachstellen](../05_betrieb/10_schwachstellenmanagement.md) | laufend | patrick motsch | ## 2. analyse und bewertung die kennzahlen werden quartalsweise zusammengefasst und im [management-review](management-review.md) bewertet. zielverfehlungen lösen einträge im [massnahmenregister](../07_verbesserung/massnahmen-register.md) aus. ## 3. werkzeuge das [management-cockpit](../cockpit/) liefert die laufende sicht auf dokumentenstatus, fällige reviews und offene pendenzen. betriebskennzahlen stammen aus monitoring, forgejo und den betriebs-records. ", "nextReview": "2027-06-03", "overdueReview": false, "zuPruefen": []}, {"id": "07_verbesserung/korrekturmassnahmen-und-kvp.md", "path": "07_verbesserung/korrekturmassnahmen-und-kvp.md", "chapter": "07_verbesserung", "title": "Korrekturmassnahmen & kontinuierliche Verbesserung (KVP)", "filename": "korrekturmassnahmen-und-kvp.md", "meta": {"docId": "IMS-10-01", "status": "entwurf", "version": "0.1", "owner": "Patrick Motsch", "approver": "Geschäftsführung PowerOn AG", "approvedDate": "", "nextReview": "2027-06-03", "classification": "intern", "isoRefs": "9001:10; 27001:10"}, "html": "<h1>Korrekturmassnahmen &amp; kontinuierliche Verbesserung (KVP)<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Verfahren (Pflicht ISO 9001/27001 Kap. 10)<\/p>\n<h2>1. Zweck<\/h2>\n<p>Abweichungen (Nichtkonformitäten), Vorfälle, Reklamationen und Verbesserungsideen werden systematisch erfasst, behandelt und auf Wirksamkeit geprüft. Ziel ist die kontinuierliche Verbesserung des IMS.<\/p>\n<h2>2. Ablauf der Korrekturmassnahme<\/h2>\n<pre class=\"mermaid\">flowchart LR\n erfassen[\"1 Abweichung erfassen (Massnahmenregister)\"] --&gt; sofort[\"2 Sofortmassnahme / Eindämmung\"]\n sofort --&gt; ursache[\"3 Ursachenanalyse (Root Cause)\"]\n ursache --&gt; massnahme[\"4 Korrekturmassnahme definieren (Owner, Termin)\"]\n massnahme --&gt; umsetzen[\"5 Umsetzen\"]\n umsetzen --&gt; wirksam[\"6 Wirksamkeit prüfen\"]\n wirksam --&gt; schliessen[\"7 Schliessen + dokumentieren\"]<\/pre>\n<h2>3. Quellen von Abweichungen/Pendenzen<\/h2>\n<ul><li>Interne Audits (<a href=\"../06_bewertung/internes-audit.md\">internes-audit.md<\/a>)<\/li><li>Sicherheitsvorfälle (<a href=\"../05_betrieb/07_Incident_Response_und_Meldewesen.md\">Incident Response<\/a>)<\/li><li>Risikobehandlung (<a href=\"../03_planung/risikoregister.md\">Risikoregister<\/a>)<\/li><li>Zielverfehlungen (<a href=\"../06_bewertung/monitoring-messung.md\">Monitoring<\/a>)<\/li><li>Kundenreklamationen, Lieferantenprobleme<\/li><li>Überfällige Dokumenten-Reviews<\/li><li>Verbesserungsvorschläge<\/li><\/ul>\n<h2>4. Führung im Massnahmenregister<\/h2>\n<p>Alle Korrektur- und Verbesserungsmassnahmen werden zentral im <a href=\"massnahmen-register.md\">Massnahmenregister<\/a> geführt (Single Source of Truth). Das <a href=\"../cockpit/\">Cockpit<\/a> aggregiert daraus zusammen mit überfälligen Reviews und <code>[ZU PRÜFEN]<\/code>-Markern eine Gesamtsicht der Pendenzen.<\/p>\n<h2>5. Kontinuierliche Verbesserung<\/h2>\n<p>Trends (wiederkehrende Abweichungen, Incident-Muster) werden im <a href=\"../06_bewertung/management-review.md\">Management-Review<\/a> bewertet und führen zu präventiven Verbesserungen an Prozessen, Controls oder Dokumenten.<\/p>", "text": "<!-- docid: ims-10-01 --> <!-- status: entwurf --> <!-- version: 0.1 --> <!-- owner: patrick motsch --> <!-- approver: geschäftsführung poweron ag --> <!-- approveddate: --> <!-- nextreview: 2027-06-03 --> <!-- classification: intern --> <!-- isorefs: 9001:10; 27001:10 --> # korrekturmassnahmen & kontinuierliche verbesserung (kvp) **dokumenttyp:** verfahren (pflicht iso 9001/27001 kap. 10) ## 1. zweck abweichungen (nichtkonformitäten), vorfälle, reklamationen und verbesserungsideen werden systematisch erfasst, behandelt und auf wirksamkeit geprüft. ziel ist die kontinuierliche verbesserung des ims. ## 2. ablauf der korrekturmassnahme ```mermaid flowchart lr erfassen[\"1 abweichung erfassen (massnahmenregister)\"] --> sofort[\"2 sofortmassnahme / eindämmung\"] sofort --> ursache[\"3 ursachenanalyse (root cause)\"] ursache --> massnahme[\"4 korrekturmassnahme definieren (owner, termin)\"] massnahme --> umsetzen[\"5 umsetzen\"] umsetzen --> wirksam[\"6 wirksamkeit prüfen\"] wirksam --> schliessen[\"7 schliessen + dokumentieren\"] ``` ## 3. quellen von abweichungen/pendenzen - interne audits ([internes-audit.md](../06_bewertung/internes-audit.md)) - sicherheitsvorfälle ([incident response](../05_betrieb/07_incident_response_und_meldewesen.md)) - risikobehandlung ([risikoregister](../03_planung/risikoregister.md)) - zielverfehlungen ([monitoring](../06_bewertung/monitoring-messung.md)) - kundenreklamationen, lieferantenprobleme - überfällige dokumenten-reviews - verbesserungsvorschläge ## 4. führung im massnahmenregister alle korrektur- und verbesserungsmassnahmen werden zentral im [massnahmenregister](massnahmen-register.md) geführt (single source of truth). das [cockpit](../cockpit/) aggregiert daraus zusammen mit überfälligen reviews und `[zu prüfen]`-markern eine gesamtsicht der pendenzen. ## 5. kontinuierliche verbesserung trends (wiederkehrende abweichungen, incident-muster) werden im [management-review](../06_bewertung/management-review.md) bewertet und führen zu präventiven verbesserungen an prozessen, controls oder dokumenten. ", "nextReview": "2027-06-03", "overdueReview": false, "zuPruefen": []}, {"id": "07_verbesserung/massnahmen-register.md", "path": "07_verbesserung/massnahmen-register.md", "chapter": "07_verbesserung", "title": "Massnahmenregister (Pendenzen)", "filename": "massnahmen-register.md", "meta": {"docId": "IMS-10-02", "status": "entwurf", "version": "0.1", "owner": "Patrick Motsch", "approver": "Geschäftsführung PowerOn AG", "approvedDate": "", "nextReview": "2026-09-03", "classification": "intern", "isoRefs": "9001:10.2; 27001:10.1"}, "html": "<h1>Massnahmenregister (Pendenzen)<\/h1>\n<p><strong>Dokumenttyp:<\/strong> Record (zentrale Pendenzenliste -- Single Source of Truth)<\/p>\n<p>Zentrale Liste aller Korrektur- und Verbesserungsmassnahmen. Das <a href=\"../cockpit/\">Management-Cockpit<\/a> liest diese Tabelle und führt sie auf der Pendenzen-Seite mit überfälligen Reviews und <code>[ZU PRÜFEN]<\/code>-Markern zusammen.<\/p>\n<p><strong>Spalten-Schema (bitte exakt einhalten):<\/strong> <code>ID | Titel | Owner | Quelle | Erstellt | Faellig | Status<\/code> <strong>Status-Werte:<\/strong> <code>offen<\/code>, <code>in Arbeit<\/code>, <code>erledigt<\/code>. <strong>Quelle-Werte:<\/strong> <code>Audit<\/code>, <code>Review<\/code>, <code>Risiko<\/code>, <code>Incident<\/code>, <code>Doku<\/code>, <code>Sonstiges<\/code>.<\/p>\n<table><thead><tr><th>ID<\/th><th>Titel<\/th><th>Owner<\/th><th>Quelle<\/th><th>Erstellt<\/th><th>Fällig<\/th><th>Status<\/th><\/tr><\/thead><tbody><tr><td>M-01<\/td><td>MFA auf Admin-/Server-Zugängen bestätigen/erzwingen<\/td><td>Patrick Motsch<\/td><td>Risiko<\/td><td>2026-06-03<\/td><td>2026-07-15<\/td><td>offen<\/td><\/tr><tr><td>M-02<\/td><td>Restore-Test durchführen und protokollieren<\/td><td>Patrick Motsch<\/td><td>Risiko<\/td><td>2026-06-03<\/td><td>2026-06-30<\/td><td>offen<\/td><\/tr><tr><td>M-03<\/td><td>AVV/Zero-Retention mit OpenAI und weiteren LLM-Providern ablegen<\/td><td>Patrick Motsch<\/td><td>Risiko<\/td><td>2026-06-03<\/td><td>2026-07-31<\/td><td>offen<\/td><\/tr><tr><td>M-04<\/td><td>Log-Aufbewahrungsdauer und Manipulationsschutz festlegen<\/td><td>Patrick Motsch<\/td><td>Risiko<\/td><td>2026-06-03<\/td><td>2026-07-31<\/td><td>offen<\/td><\/tr><tr><td>M-05<\/td><td>Verschlüsselung at-rest der Infomaniak-DB bestätigen<\/td><td>Patrick Motsch<\/td><td>Risiko<\/td><td>2026-06-03<\/td><td>2026-06-30<\/td><td>offen<\/td><\/tr><tr><td>M-06<\/td><td>Entscheidung zu Produktivdaten in Testumgebung treffen<\/td><td>Patrick Motsch<\/td><td>Doku<\/td><td>2026-06-03<\/td><td>2026-07-15<\/td><td>offen<\/td><\/tr><tr><td>M-07<\/td><td>Hintergrundprüfungen bei Einstellung klären<\/td><td>Patrick Motsch<\/td><td>Risiko<\/td><td>2026-06-03<\/td><td>2026-08-15<\/td><td>offen<\/td><\/tr><tr><td>M-08<\/td><td>Externen internen Auditor benennen und beauftragen<\/td><td>Patrick Motsch<\/td><td>Audit<\/td><td>2026-06-03<\/td><td>2026-07-15<\/td><td>offen<\/td><\/tr><tr><td>M-09<\/td><td>Erstes internes Audit durchführen<\/td><td>Patrick Motsch<\/td><td>Audit<\/td><td>2026-06-03<\/td><td>2026-09-30<\/td><td>offen<\/td><\/tr><tr><td>M-10<\/td><td>Erstes Management-Review durchführen<\/td><td>Patrick Motsch<\/td><td>Review<\/td><td>2026-06-03<\/td><td>2026-09-30<\/td><td>offen<\/td><\/tr><tr><td>M-11<\/td><td>Risikoworkshop zur Validierung des Risikoregisters<\/td><td>Patrick Motsch<\/td><td>Risiko<\/td><td>2026-06-03<\/td><td>2026-06-30<\/td><td>offen<\/td><\/tr><tr><td>M-12<\/td><td>Asset-Inventar erstellen (A.5.9)<\/td><td>Patrick Motsch<\/td><td>Doku<\/td><td>2026-06-03<\/td><td>2026-08-31<\/td><td>offen<\/td><\/tr><tr><td>M-13<\/td><td>Politiken formal freigeben (Status entwurf -&gt; freigegeben)<\/td><td>Patrick Motsch<\/td><td>Doku<\/td><td>2026-06-03<\/td><td>2026-07-31<\/td><td>offen<\/td><\/tr><\/tbody><\/table>\n<h2>Pflegehinweis<\/h2>\n<p>Neue Pendenzen mit fortlaufender ID ergänzen. Bei Abschluss <code>Status = erledigt<\/code> setzen (Zeile bleibt für Nachweis erhalten). Überfällige Einträge (Fällig &lt; heute, Status != erledigt) hebt das Cockpit rot hervor.<\/p>", "text": "<!-- docid: ims-10-02 --> <!-- status: entwurf --> <!-- version: 0.1 --> <!-- owner: patrick motsch --> <!-- approver: geschäftsführung poweron ag --> <!-- approveddate: --> <!-- nextreview: 2026-09-03 --> <!-- classification: intern --> <!-- isorefs: 9001:10.2; 27001:10.1 --> # massnahmenregister (pendenzen) **dokumenttyp:** record (zentrale pendenzenliste -- single source of truth) zentrale liste aller korrektur- und verbesserungsmassnahmen. das [management-cockpit](../cockpit/) liest diese tabelle und führt sie auf der pendenzen-seite mit überfälligen reviews und `[zu prüfen]`-markern zusammen. **spalten-schema (bitte exakt einhalten):** `id | titel | owner | quelle | erstellt | faellig | status` **status-werte:** `offen`, `in arbeit`, `erledigt`. **quelle-werte:** `audit`, `review`, `risiko`, `incident`, `doku`, `sonstiges`. | id | titel | owner | quelle | erstellt | fällig | status | |---|---|---|---|---|---|---| | m-01 | mfa auf admin-/server-zugängen bestätigen/erzwingen | patrick motsch | risiko | 2026-06-03 | 2026-07-15 | offen | | m-02 | restore-test durchführen und protokollieren | patrick motsch | risiko | 2026-06-03 | 2026-06-30 | offen | | m-03 | avv/zero-retention mit openai und weiteren llm-providern ablegen | patrick motsch | risiko | 2026-06-03 | 2026-07-31 | offen | | m-04 | log-aufbewahrungsdauer und manipulationsschutz festlegen | patrick motsch | risiko | 2026-06-03 | 2026-07-31 | offen | | m-05 | verschlüsselung at-rest der infomaniak-db bestätigen | patrick motsch | risiko | 2026-06-03 | 2026-06-30 | offen | | m-06 | entscheidung zu produktivdaten in testumgebung treffen | patrick motsch | doku | 2026-06-03 | 2026-07-15 | offen | | m-07 | hintergrundprüfungen bei einstellung klären | patrick motsch | risiko | 2026-06-03 | 2026-08-15 | offen | | m-08 | externen internen auditor benennen und beauftragen | patrick motsch | audit | 2026-06-03 | 2026-07-15 | offen | | m-09 | erstes internes audit durchführen | patrick motsch | audit | 2026-06-03 | 2026-09-30 | offen | | m-10 | erstes management-review durchführen | patrick motsch | review | 2026-06-03 | 2026-09-30 | offen | | m-11 | risikoworkshop zur validierung des risikoregisters | patrick motsch | risiko | 2026-06-03 | 2026-06-30 | offen | | m-12 | asset-inventar erstellen (a.5.9) | patrick motsch | doku | 2026-06-03 | 2026-08-31 | offen | | m-13 | politiken formal freigeben (status entwurf -> freigegeben) | patrick motsch | doku | 2026-06-03 | 2026-07-31 | offen | ## pflegehinweis neue pendenzen mit fortlaufender id ergänzen. bei abschluss `status = erledigt` setzen (zeile bleibt für nachweis erhalten). überfällige einträge (fällig < heute, status != erledigt) hebt das cockpit rot hervor. ", "nextReview": "2026-09-03", "overdueReview": false, "zuPruefen": []}, {"id": "mappings/cacc-iso-crosswalk.md", "path": "mappings/cacc-iso-crosswalk.md", "chapter": "mappings", "title": "CACC / FINMA <-> ISO-Crosswalk", "filename": "cacc-iso-crosswalk.md", "meta": {"docId": "IMS-MAP-CACC", "status": "entwurf", "version": "1.1", "owner": "Patrick Motsch", "approver": "Geschäftsführung PowerOn AG", "approvedDate": "", "nextReview": "2027-06-03", "classification": "intern", "isoRefs": "27001:AnnexA; 9001:8"}, "html": "<h1>CACC / FINMA &lt;-&gt; ISO-Crosswalk<\/h1>\n<p><strong>Zweck:<\/strong> Verknüpft die bestehenden Prozessdokumente (ursprünglich für <strong>GLKB Cloud Assessment Criteria Catalogue (CACC)<\/strong> und FINMA-Rundschreiben 2018/3 &amp; 2023/1 erstellt) mit ihren neuen Speicherorten im IMS sowie den abgedeckten CACC-Punkten. Das Annex-A-Mapping für ISO 27001 ist das <a href=\"../03_planung/statement-of-applicability-soa.md\">SoA<\/a>.<\/p>\n<p><strong>Stand:<\/strong> 2026-06-03 <strong>Hinweis:<\/strong> <code>[ZU PRÜFEN]<\/code> markiert Stellen, die vor einer Einreichung verifiziert werden müssen.<\/p>\n<h2>Rahmenbedingungen<\/h2>\n<ul><li><strong>Hosting:<\/strong> Infomaniak Public Cloud, Schweiz (<code>api.poweron.swiss<\/code>, <code>db.poweron.swiss<\/code>).<\/li><li><strong>KI-Verarbeitung:<\/strong> Inhaltsdaten gehen an externe LLM-Provider (Primär OpenAI/USA); abgesichert via AVV/DPA + EU-SCC + Neutralisierung.<\/li><li><strong>Team:<\/strong> 2-5 Personen; wo Katalogpunkte grössere Organisationen voraussetzen, greifen kompensierende Massnahmen.<\/li><\/ul>\n<h2>Dokumentenkarte -&gt; neuer Ort + CACC-Punkte<\/h2>\n<table><thead><tr><th>Dokument (neuer Ort in <code>ims/<\/code>)<\/th><th>CACC-Punkte<\/th><\/tr><\/thead><tbody><tr><td><code>02_fuehrung/informationssicherheitspolitik.md<\/code><\/td><td>49, 52, 56<\/td><\/tr><tr><td><code>05_betrieb/02_Zugriffsmanagement_IAM_PAM.md<\/code><\/td><td>25, 36, 37, 66, 67, 68, 69<\/td><\/tr><tr><td><code>05_betrieb/03_Mitarbeitersicherheit_und_Screening.md<\/code><\/td><td>23, 35, 37<\/td><\/tr><tr><td><code>05_betrieb/04_Verschluesselung_und_Schluesselmanagement.md<\/code><\/td><td>43, 44, 45, 46, 70, 71, 72<\/td><\/tr><tr><td><code>05_betrieb/05_Backup_und_Wiederherstellung.md<\/code><\/td><td>75, 87<\/td><\/tr><tr><td><code>05_betrieb/06_Business_Continuity_und_Disaster_Recovery.md<\/code><\/td><td>3, 79, 87<\/td><\/tr><tr><td><code>05_betrieb/07_Incident_Response_und_Meldewesen.md<\/code><\/td><td>19, 20, 27, 86<\/td><\/tr><tr><td><code>05_betrieb/08_Change_Management.md<\/code><\/td><td>81, 82, 83<\/td><\/tr><tr><td><code>05_betrieb/09_Patch_Management.md<\/code><\/td><td>78<\/td><\/tr><tr><td><code>05_betrieb/10_Schwachstellenmanagement.md<\/code><\/td><td>54, 59, 63, 84<\/td><\/tr><tr><td><code>05_betrieb/11_Logging_und_Monitoring.md<\/code><\/td><td>88, 89, 90, 91, 92, 93, 94<\/td><\/tr><tr><td><code>05_betrieb/12_Netzwerk_und_Infrastruktursicherheit.md<\/code><\/td><td>95, 96, 97, 98, 99<\/td><\/tr><tr><td><code>05_betrieb/13_Datenaufbewahrung_Loeschung_LegalHold.md<\/code><\/td><td>1, 2, 38, 72<\/td><\/tr><tr><td><code>05_betrieb/14_Exit_und_Transition.md<\/code><\/td><td>4, 5, 6, 22<\/td><\/tr><tr><td><code>05_betrieb/15_Sichere_Softwareentwicklung_SDLC.md<\/code><\/td><td>100, 101, 102<\/td><\/tr><tr><td><code>05_betrieb/16_Kapazitaetsmanagement.md<\/code><\/td><td>80<\/td><\/tr><tr><td><code>05_betrieb/17_Subunternehmer_Management.md<\/code><\/td><td>16, 31, 48, 53<\/td><\/tr><tr><td><code>05_betrieb/18_Analyse_Recht_und_BestPractice.md<\/code><\/td><td>Befundbericht (intern)<\/td><\/tr><tr><td><code>05_betrieb/20260528_drittanbieter-inventar.md<\/code><\/td><td>48, 53, 61<\/td><\/tr><tr><td><code>05_betrieb/20260528_datenbank-handling.md<\/code><\/td><td>2, 38, 75 (teilw.)<\/td><\/tr><tr><td><code>05_betrieb/20260528_bcm_runbook.md<\/code><\/td><td>3, 87 (technisch)<\/td><\/tr><tr><td><code>05_betrieb/20260528_feature_release_bugfix.md<\/code><\/td><td>81, 100, 101 (teilw.)<\/td><\/tr><\/tbody><\/table>\n<h2>Offene Punkte (in Massnahmenregister überführt)<\/h2>\n<p>Die frühere Sammelliste offener Punkte wird jetzt zentral im <a href=\"../07_verbesserung/massnahmen-register.md\">Massnahmenregister<\/a> geführt (M-01 bis M-07 u. a.: at-rest-Verschlüsselung, MFA, Hintergrundprüfungen, Log-Retention, Restore-Test, AVVs, Testdaten).<\/p>", "text": "<!-- docid: ims-map-cacc --> <!-- status: entwurf --> <!-- version: 1.1 --> <!-- owner: patrick motsch --> <!-- approver: geschäftsführung poweron ag --> <!-- approveddate: --> <!-- nextreview: 2027-06-03 --> <!-- classification: intern --> <!-- isorefs: 27001:annexa; 9001:8 --> # cacc / finma <-> iso-crosswalk **zweck:** verknüpft die bestehenden prozessdokumente (ursprünglich für **glkb cloud assessment criteria catalogue (cacc)** und finma-rundschreiben 2018/3 & 2023/1 erstellt) mit ihren neuen speicherorten im ims sowie den abgedeckten cacc-punkten. das annex-a-mapping für iso 27001 ist das [soa](../03_planung/statement-of-applicability-soa.md). **stand:** 2026-06-03 **hinweis:** `[zu prüfen]` markiert stellen, die vor einer einreichung verifiziert werden müssen. ## rahmenbedingungen - **hosting:** infomaniak public cloud, schweiz (`api.poweron.swiss`, `db.poweron.swiss`). - **ki-verarbeitung:** inhaltsdaten gehen an externe llm-provider (primär openai/usa); abgesichert via avv/dpa + eu-scc + neutralisierung. - **team:** 2-5 personen; wo katalogpunkte grössere organisationen voraussetzen, greifen kompensierende massnahmen. ## dokumentenkarte -> neuer ort + cacc-punkte | dokument (neuer ort in `ims/`) | cacc-punkte | |---|---| | `02_fuehrung/informationssicherheitspolitik.md` | 49, 52, 56 | | `05_betrieb/02_zugriffsmanagement_iam_pam.md` | 25, 36, 37, 66, 67, 68, 69 | | `05_betrieb/03_mitarbeitersicherheit_und_screening.md` | 23, 35, 37 | | `05_betrieb/04_verschluesselung_und_schluesselmanagement.md` | 43, 44, 45, 46, 70, 71, 72 | | `05_betrieb/05_backup_und_wiederherstellung.md` | 75, 87 | | `05_betrieb/06_business_continuity_und_disaster_recovery.md` | 3, 79, 87 | | `05_betrieb/07_incident_response_und_meldewesen.md` | 19, 20, 27, 86 | | `05_betrieb/08_change_management.md` | 81, 82, 83 | | `05_betrieb/09_patch_management.md` | 78 | | `05_betrieb/10_schwachstellenmanagement.md` | 54, 59, 63, 84 | | `05_betrieb/11_logging_und_monitoring.md` | 88, 89, 90, 91, 92, 93, 94 | | `05_betrieb/12_netzwerk_und_infrastruktursicherheit.md` | 95, 96, 97, 98, 99 | | `05_betrieb/13_datenaufbewahrung_loeschung_legalhold.md` | 1, 2, 38, 72 | | `05_betrieb/14_exit_und_transition.md` | 4, 5, 6, 22 | | `05_betrieb/15_sichere_softwareentwicklung_sdlc.md` | 100, 101, 102 | | `05_betrieb/16_kapazitaetsmanagement.md` | 80 | | `05_betrieb/17_subunternehmer_management.md` | 16, 31, 48, 53 | | `05_betrieb/18_analyse_recht_und_bestpractice.md` | befundbericht (intern) | | `05_betrieb/20260528_drittanbieter-inventar.md` | 48, 53, 61 | | `05_betrieb/20260528_datenbank-handling.md` | 2, 38, 75 (teilw.) | | `05_betrieb/20260528_bcm_runbook.md` | 3, 87 (technisch) | | `05_betrieb/20260528_feature_release_bugfix.md` | 81, 100, 101 (teilw.) | ## offene punkte (in massnahmenregister überführt) die frühere sammelliste offener punkte wird jetzt zentral im [massnahmenregister](../07_verbesserung/massnahmen-register.md) geführt (m-01 bis m-07 u. a.: at-rest-verschlüsselung, mfa, hintergrundprüfungen, log-retention, restore-test, avvs, testdaten). ", "nextReview": "2027-06-03", "overdueReview": false, "zuPruefen": []}, {"id": "mappings/iso27001-annexA-soa-mapping.md", "path": "mappings/iso27001-annexA-soa-mapping.md", "chapter": "mappings", "title": "Mapping ISO/IEC 27001:2022 Annex A", "filename": "iso27001-annexA-soa-mapping.md", "meta": {"docId": "IMS-MAP-27001", "status": "entwurf", "version": "0.1", "owner": "Patrick Motsch", "approver": "Geschäftsführung PowerOn AG", "approvedDate": "", "nextReview": "2027-06-03", "classification": "intern", "isoRefs": "27001:AnnexA"}, "html": "<h1>Mapping ISO/IEC 27001:2022 Annex A<\/h1>\n<p>Das massgebliche Mapping aller 93 Annex-A-Controls (Anwendbarkeit, Status, umsetzendes Dokument) ist das <strong>Statement of Applicability<\/strong>:<\/p>\n<p>-&gt; <a href=\"../03_planung/statement-of-applicability-soa.md\">Statement of Applicability (SoA)<\/a><\/p>\n<p>Die ISO-27001-Hauptklauseln 4-10 werden durch das Managementsystem-Geruest abgedeckt; siehe <a href=\"iso9001-klausel-mapping.md\">iso9001-klausel-mapping.md<\/a> (strukturgleich, Annex SL) sowie die <code>isoRefs<\/code>-Header der einzelnen Dokumente.<\/p>", "text": "<!-- docid: ims-map-27001 --> <!-- status: entwurf --> <!-- version: 0.1 --> <!-- owner: patrick motsch --> <!-- approver: geschäftsführung poweron ag --> <!-- approveddate: --> <!-- nextreview: 2027-06-03 --> <!-- classification: intern --> <!-- isorefs: 27001:annexa --> # mapping iso/iec 27001:2022 annex a das massgebliche mapping aller 93 annex-a-controls (anwendbarkeit, status, umsetzendes dokument) ist das **statement of applicability**: -> [statement of applicability (soa)](../03_planung/statement-of-applicability-soa.md) die iso-27001-hauptklauseln 4-10 werden durch das managementsystem-geruest abgedeckt; siehe [iso9001-klausel-mapping.md](iso9001-klausel-mapping.md) (strukturgleich, annex sl) sowie die `isorefs`-header der einzelnen dokumente. ", "nextReview": "2027-06-03", "overdueReview": false, "zuPruefen": []}, {"id": "mappings/iso9001-klausel-mapping.md", "path": "mappings/iso9001-klausel-mapping.md", "chapter": "mappings", "title": "Mapping ISO 9001:2015 -- Klauseln zu IMS-Dokumenten", "filename": "iso9001-klausel-mapping.md", "meta": {"docId": "IMS-MAP-9001", "status": "entwurf", "version": "0.1", "owner": "Patrick Motsch", "approver": "Geschäftsführung PowerOn AG", "approvedDate": "", "nextReview": "2027-06-03", "classification": "intern", "isoRefs": "9001:4-10"}, "html": "<h1>Mapping ISO 9001:2015 -- Klauseln zu IMS-Dokumenten<\/h1>\n<p>Nachweis, welches Dokument welche ISO-9001-Anforderung abdeckt.<\/p>\n<table><thead><tr><th>Klausel<\/th><th>Anforderung<\/th><th>Dokument<\/th><\/tr><\/thead><tbody><tr><td>4.1/4.2<\/td><td>Kontext, interessierte Parteien<\/td><td><a href=\"../01_kontext/kontext-und-interessierte-parteien.md\">kontext-und-interessierte-parteien.md<\/a><\/td><\/tr><tr><td>4.3/4.4<\/td><td>Geltungsbereich, QMS &amp; Prozesse<\/td><td><a href=\"../01_kontext/geltungsbereich-scope.md\">geltungsbereich-scope.md<\/a><\/td><\/tr><tr><td>5.1/5.2<\/td><td>Führung, Qualitätspolitik<\/td><td><a href=\"../02_fuehrung/qm-politik.md\">qm-politik.md<\/a>, <a href=\"../00_IMS-Handbuch.md\">00_IMS-Handbuch.md<\/a><\/td><\/tr><tr><td>5.3<\/td><td>Rollen &amp; Verantwortlichkeiten<\/td><td><a href=\"../02_fuehrung/rollen-verantwortlichkeiten.md\">rollen-verantwortlichkeiten.md<\/a><\/td><\/tr><tr><td>6.1<\/td><td>Risiken &amp; Chancen<\/td><td><a href=\"../03_planung/risikomanagement-methodik.md\">risikomanagement-methodik.md<\/a>, <a href=\"../03_planung/risikoregister.md\">risikoregister.md<\/a><\/td><\/tr><tr><td>6.2<\/td><td>Qualitätsziele<\/td><td><a href=\"../03_planung/ziele-und-kennzahlen.md\">ziele-und-kennzahlen.md<\/a><\/td><\/tr><tr><td>7.1-7.3<\/td><td>Ressourcen, Kompetenz, Awareness<\/td><td><a href=\"../04_unterstuetzung/ressourcen-kompetenz-schulung.md\">ressourcen-kompetenz-schulung.md<\/a><\/td><\/tr><tr><td>7.4<\/td><td>Kommunikation<\/td><td><a href=\"../04_unterstuetzung/kommunikation.md\">kommunikation.md<\/a><\/td><\/tr><tr><td>7.5<\/td><td>Dokumentierte Information<\/td><td><a href=\"../04_unterstuetzung/dokumentenlenkung.md\">dokumentenlenkung.md<\/a>, <a href=\"../04_unterstuetzung/dokumentenregister.md\">dokumentenregister.md<\/a><\/td><\/tr><tr><td>8.1-8.6<\/td><td>Betrieb, Anforderungen, Entwicklung, Realisierung<\/td><td><a href=\"../05_betrieb/20260528_feature_release_bugfix.md\">feature_release_bugfix.md<\/a>, <a href=\"../05_betrieb/15_Sichere_Softwareentwicklung_SDLC.md\">SDLC<\/a>, <a href=\"../05_betrieb/08_Change_Management.md\">Change<\/a><\/td><\/tr><tr><td>9.1<\/td><td>Monitoring, Messung, Analyse<\/td><td><a href=\"../06_bewertung/monitoring-messung.md\">monitoring-messung.md<\/a><\/td><\/tr><tr><td>9.2<\/td><td>Internes Audit<\/td><td><a href=\"../06_bewertung/internes-audit.md\">internes-audit.md<\/a><\/td><\/tr><tr><td>9.3<\/td><td>Management-Review<\/td><td><a href=\"../06_bewertung/management-review.md\">management-review.md<\/a><\/td><\/tr><tr><td>10.1-10.3<\/td><td>Verbesserung, Nichtkonformität, KVP<\/td><td><a href=\"../07_verbesserung/korrekturmassnahmen-und-kvp.md\">korrekturmassnahmen-und-kvp.md<\/a>, <a href=\"../07_verbesserung/massnahmen-register.md\">massnahmen-register.md<\/a><\/td><\/tr><\/tbody><\/table>\n<h2>ISO/IEC 27001 Annex A<\/h2>\n<p>Das Mapping der ISO-27001-Annex-A-Controls ist das <a href=\"../03_planung/statement-of-applicability-soa.md\">Statement of Applicability (SoA)<\/a>. Die ISO-27001-Klauseln 4-10 sind strukturgleich zu ISO 9001 (Annex SL) und werden durch dieselben oben gelisteten Dokumente abgedeckt (vgl. <code>isoRefs<\/code>-Header je Dokument).<\/p>", "text": "<!-- docid: ims-map-9001 --> <!-- status: entwurf --> <!-- version: 0.1 --> <!-- owner: patrick motsch --> <!-- approver: geschäftsführung poweron ag --> <!-- approveddate: --> <!-- nextreview: 2027-06-03 --> <!-- classification: intern --> <!-- isorefs: 9001:4-10 --> # mapping iso 9001:2015 -- klauseln zu ims-dokumenten nachweis, welches dokument welche iso-9001-anforderung abdeckt. | klausel | anforderung | dokument | |---|---|---| | 4.1/4.2 | kontext, interessierte parteien | [kontext-und-interessierte-parteien.md](../01_kontext/kontext-und-interessierte-parteien.md) | | 4.3/4.4 | geltungsbereich, qms & prozesse | [geltungsbereich-scope.md](../01_kontext/geltungsbereich-scope.md) | | 5.1/5.2 | führung, qualitätspolitik | [qm-politik.md](../02_fuehrung/qm-politik.md), [00_ims-handbuch.md](../00_ims-handbuch.md) | | 5.3 | rollen & verantwortlichkeiten | [rollen-verantwortlichkeiten.md](../02_fuehrung/rollen-verantwortlichkeiten.md) | | 6.1 | risiken & chancen | [risikomanagement-methodik.md](../03_planung/risikomanagement-methodik.md), [risikoregister.md](../03_planung/risikoregister.md) | | 6.2 | qualitätsziele | [ziele-und-kennzahlen.md](../03_planung/ziele-und-kennzahlen.md) | | 7.1-7.3 | ressourcen, kompetenz, awareness | [ressourcen-kompetenz-schulung.md](../04_unterstuetzung/ressourcen-kompetenz-schulung.md) | | 7.4 | kommunikation | [kommunikation.md](../04_unterstuetzung/kommunikation.md) | | 7.5 | dokumentierte information | [dokumentenlenkung.md](../04_unterstuetzung/dokumentenlenkung.md), [dokumentenregister.md](../04_unterstuetzung/dokumentenregister.md) | | 8.1-8.6 | betrieb, anforderungen, entwicklung, realisierung | [feature_release_bugfix.md](../05_betrieb/20260528_feature_release_bugfix.md), [sdlc](../05_betrieb/15_sichere_softwareentwicklung_sdlc.md), [change](../05_betrieb/08_change_management.md) | | 9.1 | monitoring, messung, analyse | [monitoring-messung.md](../06_bewertung/monitoring-messung.md) | | 9.2 | internes audit | [internes-audit.md](../06_bewertung/internes-audit.md) | | 9.3 | management-review | [management-review.md](../06_bewertung/management-review.md) | | 10.1-10.3 | verbesserung, nichtkonformität, kvp | [korrekturmassnahmen-und-kvp.md](../07_verbesserung/korrekturmassnahmen-und-kvp.md), [massnahmen-register.md](../07_verbesserung/massnahmen-register.md) | ## iso/iec 27001 annex a das mapping der iso-27001-annex-a-controls ist das [statement of applicability (soa)](../03_planung/statement-of-applicability-soa.md). die iso-27001-klauseln 4-10 sind strukturgleich zu iso 9001 (annex sl) und werden durch dieselben oben gelisteten dokumente abgedeckt (vgl. `isorefs`-header je dokument). ", "nextReview": "2027-06-03", "overdueReview": false, "zuPruefen": []}], "chapters": [{"key": "00", "label": "Handbuch"}, {"key": "01_kontext", "label": "4 - Kontext"}, {"key": "02_fuehrung", "label": "5 - Führung"}, {"key": "03_planung", "label": "6 - Planung"}, {"key": "04_unterstuetzung", "label": "7 - Unterstützung"}, {"key": "05_betrieb", "label": "8 - Betrieb / Annex A"}, {"key": "06_bewertung", "label": "9 - Bewertung"}, {"key": "07_verbesserung", "label": "10 - Verbesserung"}, {"key": "mappings", "label": "Mappings"}], "pendenzenReg": [{"id": "M-01", "titel": "MFA auf Admin-/Server-Zugängen bestätigen/erzwingen", "owner": "Patrick Motsch", "quelle": "Risiko", "faellig": "2026-07-15", "status": "offen"}, {"id": "M-02", "titel": "Restore-Test durchführen und protokollieren", "owner": "Patrick Motsch", "quelle": "Risiko", "faellig": "2026-06-30", "status": "offen"}, {"id": "M-03", "titel": "AVV/Zero-Retention mit OpenAI und weiteren LLM-Providern ablegen", "owner": "Patrick Motsch", "quelle": "Risiko", "faellig": "2026-07-31", "status": "offen"}, {"id": "M-04", "titel": "Log-Aufbewahrungsdauer und Manipulationsschutz festlegen", "owner": "Patrick Motsch", "quelle": "Risiko", "faellig": "2026-07-31", "status": "offen"}, {"id": "M-05", "titel": "Verschlüsselung at-rest der Infomaniak-DB bestätigen", "owner": "Patrick Motsch", "quelle": "Risiko", "faellig": "2026-06-30", "status": "offen"}, {"id": "M-06", "titel": "Entscheidung zu Produktivdaten in Testumgebung treffen", "owner": "Patrick Motsch", "quelle": "Doku", "faellig": "2026-07-15", "status": "offen"}, {"id": "M-07", "titel": "Hintergrundprüfungen bei Einstellung klären", "owner": "Patrick Motsch", "quelle": "Risiko", "faellig": "2026-08-15", "status": "offen"}, {"id": "M-08", "titel": "Externen internen Auditor benennen und beauftragen", "owner": "Patrick Motsch", "quelle": "Audit", "faellig": "2026-07-15", "status": "offen"}, {"id": "M-09", "titel": "Erstes internes Audit durchführen", "owner": "Patrick Motsch", "quelle": "Audit", "faellig": "2026-09-30", "status": "offen"}, {"id": "M-10", "titel": "Erstes Management-Review durchführen", "owner": "Patrick Motsch", "quelle": "Review", "faellig": "2026-09-30", "status": "offen"}, {"id": "M-11", "titel": "Risikoworkshop zur Validierung des Risikoregisters", "owner": "Patrick Motsch", "quelle": "Risiko", "faellig": "2026-06-30", "status": "offen"}, {"id": "M-12", "titel": "Asset-Inventar erstellen (A.5.9)", "owner": "Patrick Motsch", "quelle": "Doku", "faellig": "2026-08-31", "status": "offen"}, {"id": "M-13", "titel": "Politiken formal freigeben (Status entwurf -> freigegeben)", "owner": "Patrick Motsch", "quelle": "Doku", "faellig": "2026-07-31", "status": "offen"}], "overdueReviews": [], "zuPruefen": [{"id": "02_fuehrung/informationssicherheitspolitik.md", "title": "Informationssicherheitsrichtlinie (ISMS-Dachdokument)", "section": "8. Stand der Umsetzung / Lücken"}, {"id": "02_fuehrung/informationssicherheitspolitik.md", "title": "Informationssicherheitsrichtlinie (ISMS-Dachdokument)", "section": "8. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/02_Zugriffsmanagement_IAM_PAM.md", "title": "Zugriffsmanagement (IAM / PAM)", "section": "2. Zugriffsebenen der Plattform"}, {"id": "05_betrieb/02_Zugriffsmanagement_IAM_PAM.md", "title": "Zugriffsmanagement (IAM / PAM)", "section": "4. Authentifizierung (#68)"}, {"id": "05_betrieb/02_Zugriffsmanagement_IAM_PAM.md", "title": "Zugriffsmanagement (IAM / PAM)", "section": "4. Authentifizierung (#68)"}, {"id": "05_betrieb/02_Zugriffsmanagement_IAM_PAM.md", "title": "Zugriffsmanagement (IAM / PAM)", "section": "4. Authentifizierung (#68)"}, {"id": "05_betrieb/02_Zugriffsmanagement_IAM_PAM.md", "title": "Zugriffsmanagement (IAM / PAM)", "section": "4. Authentifizierung (#68)"}, {"id": "05_betrieb/02_Zugriffsmanagement_IAM_PAM.md", "title": "Zugriffsmanagement (IAM / PAM)", "section": "7. Zugangsbeschränkung auf IP/Domain (#69)"}, {"id": "05_betrieb/02_Zugriffsmanagement_IAM_PAM.md", "title": "Zugriffsmanagement (IAM / PAM)", "section": "8. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/03_Mitarbeitersicherheit_und_Screening.md", "title": "Mitarbeitersicherheit und Screening", "section": "1. Vertraulichkeitsverpflichtung (#23)"}, {"id": "05_betrieb/03_Mitarbeitersicherheit_und_Screening.md", "title": "Mitarbeitersicherheit und Screening", "section": "2. Sorgfältige Auswahl und Hintergrundprüfung (#35)"}, {"id": "05_betrieb/03_Mitarbeitersicherheit_und_Screening.md", "title": "Mitarbeitersicherheit und Screening", "section": "2. Sorgfältige Auswahl und Hintergrundprüfung (#35)"}, {"id": "05_betrieb/03_Mitarbeitersicherheit_und_Screening.md", "title": "Mitarbeitersicherheit und Screening", "section": "2. Sorgfältige Auswahl und Hintergrundprüfung (#35)"}, {"id": "05_betrieb/03_Mitarbeitersicherheit_und_Screening.md", "title": "Mitarbeitersicherheit und Screening", "section": "3. Schulung und Awareness"}, {"id": "05_betrieb/03_Mitarbeitersicherheit_und_Screening.md", "title": "Mitarbeitersicherheit und Screening", "section": "5. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/03_Mitarbeitersicherheit_und_Screening.md", "title": "Mitarbeitersicherheit und Screening", "section": "5. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/03_Mitarbeitersicherheit_und_Screening.md", "title": "Mitarbeitersicherheit und Screening", "section": "5. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/04_Verschluesselung_und_Schluesselmanagement.md", "title": "Verschlüsselung und Schlüsselmanagement", "section": "1. Verschlüsselung bei der Übertragung (in transit) (#70)"}, {"id": "05_betrieb/04_Verschluesselung_und_Schluesselmanagement.md", "title": "Verschlüsselung und Schlüsselmanagement", "section": "1. Verschlüsselung bei der Übertragung (in transit) (#70)"}, {"id": "05_betrieb/04_Verschluesselung_und_Schluesselmanagement.md", "title": "Verschlüsselung und Schlüsselmanagement", "section": "2. Verschlüsselung im Ruhezustand (at rest) (#70)"}, {"id": "05_betrieb/04_Verschluesselung_und_Schluesselmanagement.md", "title": "Verschlüsselung und Schlüsselmanagement", "section": "2. Verschlüsselung im Ruhezustand (at rest) (#70)"}, {"id": "05_betrieb/04_Verschluesselung_und_Schluesselmanagement.md", "title": "Verschlüsselung und Schlüsselmanagement", "section": "3. Verarbeitung bei LLM-Providern (in use)"}, {"id": "05_betrieb/04_Verschluesselung_und_Schluesselmanagement.md", "title": "Verschlüsselung und Schlüsselmanagement", "section": "3. Verarbeitung bei LLM-Providern (in use)"}, {"id": "05_betrieb/04_Verschluesselung_und_Schluesselmanagement.md", "title": "Verschlüsselung und Schlüsselmanagement", "section": "4. Schlüsselmanagement-Modelle (#4346, #71)"}, {"id": "05_betrieb/04_Verschluesselung_und_Schluesselmanagement.md", "title": "Verschlüsselung und Schlüsselmanagement", "section": "4. Schlüsselmanagement-Modelle (#4346, #71)"}, {"id": "05_betrieb/04_Verschluesselung_und_Schluesselmanagement.md", "title": "Verschlüsselung und Schlüsselmanagement", "section": "4. Schlüsselmanagement-Modelle (#4346, #71)"}, {"id": "05_betrieb/04_Verschluesselung_und_Schluesselmanagement.md", "title": "Verschlüsselung und Schlüsselmanagement", "section": "4. Schlüsselmanagement-Modelle (#4346, #71)"}, {"id": "05_betrieb/04_Verschluesselung_und_Schluesselmanagement.md", "title": "Verschlüsselung und Schlüsselmanagement", "section": "5. Schlüssellebenszyklus (#72)"}, {"id": "05_betrieb/04_Verschluesselung_und_Schluesselmanagement.md", "title": "Verschlüsselung und Schlüsselmanagement", "section": "5. Schlüssellebenszyklus (#72)"}, {"id": "05_betrieb/04_Verschluesselung_und_Schluesselmanagement.md", "title": "Verschlüsselung und Schlüsselmanagement", "section": "5. Schlüssellebenszyklus (#72)"}, {"id": "05_betrieb/04_Verschluesselung_und_Schluesselmanagement.md", "title": "Verschlüsselung und Schlüsselmanagement", "section": "6. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/04_Verschluesselung_und_Schluesselmanagement.md", "title": "Verschlüsselung und Schlüsselmanagement", "section": "6. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/05_Backup_und_Wiederherstellung.md", "title": "Backup und Wiederherstellung", "section": "2.2 Überwachung der Datensicherung"}, {"id": "05_betrieb/05_Backup_und_Wiederherstellung.md", "title": "Backup und Wiederherstellung", "section": "3. Backup-Frequenz und Aufbewahrung"}, {"id": "05_betrieb/05_Backup_und_Wiederherstellung.md", "title": "Backup und Wiederherstellung", "section": "3. Backup-Frequenz und Aufbewahrung"}, {"id": "05_betrieb/05_Backup_und_Wiederherstellung.md", "title": "Backup und Wiederherstellung", "section": "4. Wiederherstellungsziele (RTO/RPO)"}, {"id": "05_betrieb/05_Backup_und_Wiederherstellung.md", "title": "Backup und Wiederherstellung", "section": "4. Wiederherstellungsziele (RTO/RPO)"}, {"id": "05_betrieb/05_Backup_und_Wiederherstellung.md", "title": "Backup und Wiederherstellung", "section": "6. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/06_Business_Continuity_und_Disaster_Recovery.md", "title": "Business Continuity (BCP) und Disaster Recovery (DRP)", "section": "3. Szenarien und Reaktion"}, {"id": "05_betrieb/06_Business_Continuity_und_Disaster_Recovery.md", "title": "Business Continuity (BCP) und Disaster Recovery (DRP)", "section": "4. Verfügbarkeitsüberwachung (#79)"}, {"id": "05_betrieb/06_Business_Continuity_und_Disaster_Recovery.md", "title": "Business Continuity (BCP) und Disaster Recovery (DRP)", "section": "5. Wiederherstellungsziele"}, {"id": "05_betrieb/06_Business_Continuity_und_Disaster_Recovery.md", "title": "Business Continuity (BCP) und Disaster Recovery (DRP)", "section": "5. Wiederherstellungsziele"}, {"id": "05_betrieb/06_Business_Continuity_und_Disaster_Recovery.md", "title": "Business Continuity (BCP) und Disaster Recovery (DRP)", "section": "6. Geografische Trennung / Backup-Standort"}, {"id": "05_betrieb/06_Business_Continuity_und_Disaster_Recovery.md", "title": "Business Continuity (BCP) und Disaster Recovery (DRP)", "section": "7. Tests und Überprüfung"}, {"id": "05_betrieb/06_Business_Continuity_und_Disaster_Recovery.md", "title": "Business Continuity (BCP) und Disaster Recovery (DRP)", "section": "7. Tests und Überprüfung"}, {"id": "05_betrieb/06_Business_Continuity_und_Disaster_Recovery.md", "title": "Business Continuity (BCP) und Disaster Recovery (DRP)", "section": "9. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/06_Business_Continuity_und_Disaster_Recovery.md", "title": "Business Continuity (BCP) und Disaster Recovery (DRP)", "section": "9. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/07_Incident_Response_und_Meldewesen.md", "title": "Incident Response und Meldewesen", "section": "8. Kleines Team — kompensierende Massnahmen"}, {"id": "05_betrieb/07_Incident_Response_und_Meldewesen.md", "title": "Incident Response und Meldewesen", "section": "9. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/08_Change_Management.md", "title": "Change Management", "section": "3. Frozen Zones und Maintenance Windows (#82)"}, {"id": "05_betrieb/08_Change_Management.md", "title": "Change Management", "section": "4. Standardisierte und sichere Konfiguration (#83)"}, {"id": "05_betrieb/08_Change_Management.md", "title": "Change Management", "section": "4. Standardisierte und sichere Konfiguration (#83)"}, {"id": "05_betrieb/08_Change_Management.md", "title": "Change Management", "section": "6. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/08_Change_Management.md", "title": "Change Management", "section": "6. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/09_Patch_Management.md", "title": "Patch Management", "section": "3. Ablauf"}, {"id": "05_betrieb/09_Patch_Management.md", "title": "Patch Management", "section": "4. OS- und Abhängigkeits-Updates (technisch)"}, {"id": "05_betrieb/09_Patch_Management.md", "title": "Patch Management", "section": "5. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/09_Patch_Management.md", "title": "Patch Management", "section": "5. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/09_Patch_Management.md", "title": "Patch Management", "section": "5. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/10_Schwachstellenmanagement.md", "title": "Schwachstellenmanagement", "section": "2. Identifizierungsmethoden (#63)"}, {"id": "05_betrieb/10_Schwachstellenmanagement.md", "title": "Schwachstellenmanagement", "section": "2. Identifizierungsmethoden (#63)"}, {"id": "05_betrieb/10_Schwachstellenmanagement.md", "title": "Schwachstellenmanagement", "section": "2. Identifizierungsmethoden (#63)"}, {"id": "05_betrieb/10_Schwachstellenmanagement.md", "title": "Schwachstellenmanagement", "section": "4. Unabhängige Audits (#54, #59)"}, {"id": "05_betrieb/10_Schwachstellenmanagement.md", "title": "Schwachstellenmanagement", "section": "6. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/10_Schwachstellenmanagement.md", "title": "Schwachstellenmanagement", "section": "6. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/11_Logging_und_Monitoring.md", "title": "Logging und Monitoring (Sicherheitsprotokollierung)", "section": "2. Protokollierung des Zugriffs auf Kundendaten (#88, #94)"}, {"id": "05_betrieb/11_Logging_und_Monitoring.md", "title": "Logging und Monitoring (Sicherheitsprotokollierung)", "section": "3. Kundenzugang zu Protokollen (#88)"}, {"id": "05_betrieb/11_Logging_und_Monitoring.md", "title": "Logging und Monitoring (Sicherheitsprotokollierung)", "section": "4. Automatische Analyse und Ereigniserkennung (#89, #90)"}, {"id": "05_betrieb/11_Logging_und_Monitoring.md", "title": "Logging und Monitoring (Sicherheitsprotokollierung)", "section": "4. Automatische Analyse und Ereigniserkennung (#89, #90)"}, {"id": "05_betrieb/11_Logging_und_Monitoring.md", "title": "Logging und Monitoring (Sicherheitsprotokollierung)", "section": "4. Automatische Analyse und Ereigniserkennung (#89, #90)"}, {"id": "05_betrieb/11_Logging_und_Monitoring.md", "title": "Logging und Monitoring (Sicherheitsprotokollierung)", "section": "5. Schutz der Protokolldaten (#91)"}, {"id": "05_betrieb/11_Logging_und_Monitoring.md", "title": "Logging und Monitoring (Sicherheitsprotokollierung)", "section": "6. 7×24-Analyse (#92) und SOC-Schnittstellen (#93)"}, {"id": "05_betrieb/11_Logging_und_Monitoring.md", "title": "Logging und Monitoring (Sicherheitsprotokollierung)", "section": "7. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/12_Netzwerk_und_Infrastruktursicherheit.md", "title": "Netzwerk- und Infrastruktursicherheit", "section": "1. Härtung und Basiskonfiguration (#95)"}, {"id": "05_betrieb/12_Netzwerk_und_Infrastruktursicherheit.md", "title": "Netzwerk- und Infrastruktursicherheit", "section": "1. Härtung und Basiskonfiguration (#95)"}, {"id": "05_betrieb/12_Netzwerk_und_Infrastruktursicherheit.md", "title": "Netzwerk- und Infrastruktursicherheit", "section": "1. Härtung und Basiskonfiguration (#95)"}, {"id": "05_betrieb/12_Netzwerk_und_Infrastruktursicherheit.md", "title": "Netzwerk- und Infrastruktursicherheit", "section": "2. Netzwerksegmentierung und Mandantentrennung (#96)"}, {"id": "05_betrieb/12_Netzwerk_und_Infrastruktursicherheit.md", "title": "Netzwerk- und Infrastruktursicherheit", "section": "3. Netzwerkschutzmassnahmen (#97)"}, {"id": "05_betrieb/12_Netzwerk_und_Infrastruktursicherheit.md", "title": "Netzwerk- und Infrastruktursicherheit", "section": "3. Netzwerkschutzmassnahmen (#97)"}, {"id": "05_betrieb/12_Netzwerk_und_Infrastruktursicherheit.md", "title": "Netzwerk- und Infrastruktursicherheit", "section": "3. Netzwerkschutzmassnahmen (#97)"}, {"id": "05_betrieb/12_Netzwerk_und_Infrastruktursicherheit.md", "title": "Netzwerk- und Infrastruktursicherheit", "section": "3. Netzwerkschutzmassnahmen (#97)"}, {"id": "05_betrieb/12_Netzwerk_und_Infrastruktursicherheit.md", "title": "Netzwerk- und Infrastruktursicherheit", "section": "4. Schutz vor netzwerkbasierten Angriffen / DDoS (#98)"}, {"id": "05_betrieb/12_Netzwerk_und_Infrastruktursicherheit.md", "title": "Netzwerk- und Infrastruktursicherheit", "section": "4. Schutz vor netzwerkbasierten Angriffen / DDoS (#98)"}, {"id": "05_betrieb/12_Netzwerk_und_Infrastruktursicherheit.md", "title": "Netzwerk- und Infrastruktursicherheit", "section": "5. Physische Sicherheit und Versorgung (#99)"}, {"id": "05_betrieb/12_Netzwerk_und_Infrastruktursicherheit.md", "title": "Netzwerk- und Infrastruktursicherheit", "section": "6. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/12_Netzwerk_und_Infrastruktursicherheit.md", "title": "Netzwerk- und Infrastruktursicherheit", "section": "6. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/12_Netzwerk_und_Infrastruktursicherheit.md", "title": "Netzwerk- und Infrastruktursicherheit", "section": "6. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/13_Datenaufbewahrung_Loeschung_LegalHold.md", "title": "Datenaufbewahrung, Löschung und Legal Hold", "section": "1. Legal Hold (#1)"}, {"id": "05_betrieb/13_Datenaufbewahrung_Loeschung_LegalHold.md", "title": "Datenaufbewahrung, Löschung und Legal Hold", "section": "2. Aufbewahrung und Löschung pro Datenkategorie (#2)"}, {"id": "05_betrieb/13_Datenaufbewahrung_Loeschung_LegalHold.md", "title": "Datenaufbewahrung, Löschung und Legal Hold", "section": "2. Aufbewahrung und Löschung pro Datenkategorie (#2)"}, {"id": "05_betrieb/13_Datenaufbewahrung_Loeschung_LegalHold.md", "title": "Datenaufbewahrung, Löschung und Legal Hold", "section": "2. Aufbewahrung und Löschung pro Datenkategorie (#2)"}, {"id": "05_betrieb/13_Datenaufbewahrung_Loeschung_LegalHold.md", "title": "Datenaufbewahrung, Löschung und Legal Hold", "section": "3. Löschung bei Vertragsende (#38)"}, {"id": "05_betrieb/13_Datenaufbewahrung_Loeschung_LegalHold.md", "title": "Datenaufbewahrung, Löschung und Legal Hold", "section": "3. Löschung bei Vertragsende (#38)"}, {"id": "05_betrieb/13_Datenaufbewahrung_Loeschung_LegalHold.md", "title": "Datenaufbewahrung, Löschung und Legal Hold", "section": "3. Löschung bei Vertragsende (#38)"}, {"id": "05_betrieb/13_Datenaufbewahrung_Loeschung_LegalHold.md", "title": "Datenaufbewahrung, Löschung und Legal Hold", "section": "6. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/14_Exit_und_Transition.md", "title": "Exit- und Transitionsmanagement (Repatriierung)", "section": "3. Datenexport (#5)"}, {"id": "05_betrieb/14_Exit_und_Transition.md", "title": "Exit- und Transitionsmanagement (Repatriierung)", "section": "7. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/15_Sichere_Softwareentwicklung_SDLC.md", "title": "Sichere Softwareentwicklung (Secure SDLC)", "section": "2. Sicherheit über den Entwicklungszyklus (#100)"}, {"id": "05_betrieb/15_Sichere_Softwareentwicklung_SDLC.md", "title": "Sichere Softwareentwicklung (Secure SDLC)", "section": "2. Sicherheit über den Entwicklungszyklus (#100)"}, {"id": "05_betrieb/15_Sichere_Softwareentwicklung_SDLC.md", "title": "Sichere Softwareentwicklung (Secure SDLC)", "section": "3. Standards und Frameworks (#101)"}, {"id": "05_betrieb/15_Sichere_Softwareentwicklung_SDLC.md", "title": "Sichere Softwareentwicklung (Secure SDLC)", "section": "3. Standards und Frameworks (#101)"}, {"id": "05_betrieb/15_Sichere_Softwareentwicklung_SDLC.md", "title": "Sichere Softwareentwicklung (Secure SDLC)", "section": "5. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/15_Sichere_Softwareentwicklung_SDLC.md", "title": "Sichere Softwareentwicklung (Secure SDLC)", "section": "5. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/16_Kapazitaetsmanagement.md", "title": "Kapazitätsmanagement", "section": "2. IT-Ressourcen-Kapazität"}, {"id": "05_betrieb/16_Kapazitaetsmanagement.md", "title": "Kapazitätsmanagement", "section": "2. IT-Ressourcen-Kapazität"}, {"id": "05_betrieb/16_Kapazitaetsmanagement.md", "title": "Kapazitätsmanagement", "section": "2. IT-Ressourcen-Kapazität"}, {"id": "05_betrieb/16_Kapazitaetsmanagement.md", "title": "Kapazitätsmanagement", "section": "2. IT-Ressourcen-Kapazität"}, {"id": "05_betrieb/16_Kapazitaetsmanagement.md", "title": "Kapazitätsmanagement", "section": "3. Personal-Kapazität (kleines Team)"}, {"id": "05_betrieb/16_Kapazitaetsmanagement.md", "title": "Kapazitätsmanagement", "section": "5. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/16_Kapazitaetsmanagement.md", "title": "Kapazitätsmanagement", "section": "5. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/17_Subunternehmer_Management.md", "title": "Subunternehmer- und Unterauftragsverarbeiter-Management", "section": "2. Compliance-Ergänzung zum Inventar (#48, #31)"}, {"id": "05_betrieb/17_Subunternehmer_Management.md", "title": "Subunternehmer- und Unterauftragsverarbeiter-Management", "section": "2. Compliance-Ergänzung zum Inventar (#48, #31)"}, {"id": "05_betrieb/17_Subunternehmer_Management.md", "title": "Subunternehmer- und Unterauftragsverarbeiter-Management", "section": "2. Compliance-Ergänzung zum Inventar (#48, #31)"}, {"id": "05_betrieb/17_Subunternehmer_Management.md", "title": "Subunternehmer- und Unterauftragsverarbeiter-Management", "section": "2. Compliance-Ergänzung zum Inventar (#48, #31)"}, {"id": "05_betrieb/17_Subunternehmer_Management.md", "title": "Subunternehmer- und Unterauftragsverarbeiter-Management", "section": "2. Compliance-Ergänzung zum Inventar (#48, #31)"}, {"id": "05_betrieb/17_Subunternehmer_Management.md", "title": "Subunternehmer- und Unterauftragsverarbeiter-Management", "section": "2. Compliance-Ergänzung zum Inventar (#48, #31)"}, {"id": "05_betrieb/17_Subunternehmer_Management.md", "title": "Subunternehmer- und Unterauftragsverarbeiter-Management", "section": "2. Compliance-Ergänzung zum Inventar (#48, #31)"}, {"id": "05_betrieb/17_Subunternehmer_Management.md", "title": "Subunternehmer- und Unterauftragsverarbeiter-Management", "section": "2. Compliance-Ergänzung zum Inventar (#48, #31)"}, {"id": "05_betrieb/17_Subunternehmer_Management.md", "title": "Subunternehmer- und Unterauftragsverarbeiter-Management", "section": "2. Compliance-Ergänzung zum Inventar (#48, #31)"}, {"id": "05_betrieb/17_Subunternehmer_Management.md", "title": "Subunternehmer- und Unterauftragsverarbeiter-Management", "section": "2. Compliance-Ergänzung zum Inventar (#48, #31)"}, {"id": "05_betrieb/17_Subunternehmer_Management.md", "title": "Subunternehmer- und Unterauftragsverarbeiter-Management", "section": "4. Weitergabe der Pflichten (#53)"}, {"id": "05_betrieb/17_Subunternehmer_Management.md", "title": "Subunternehmer- und Unterauftragsverarbeiter-Management", "section": "5. Sanktionsprüfung"}, {"id": "05_betrieb/17_Subunternehmer_Management.md", "title": "Subunternehmer- und Unterauftragsverarbeiter-Management", "section": "7. Stand der Umsetzung / Lücken"}, {"id": "05_betrieb/17_Subunternehmer_Management.md", "title": "Subunternehmer- und Unterauftragsverarbeiter-Management", "section": "7. Stand der Umsetzung / Lücken"}], "stats": {"docs": 45, "statusCounts": {"entwurf": 22, "unbekannt": 23}, "overdueReviews": 0, "openPendenzen": 13, "overduePendenzen": 0, "generated": "2026-06-03"}, "today": "2026-06-03"};</script>
<script>
const D = window.IMS_DATA;
const byId = {}; D.docs.forEach(d => byId[d.id] = d);
const hasMermaid = (typeof window.mermaid !== 'undefined');
if (hasMermaid) { try { mermaid.initialize({startOnLoad:false, theme:'dark'}); } catch(e){} }
document.getElementById('gen').textContent = 'Generiert: ' + D.stats.generated;
function statusClass(s){ return ({'freigegeben':'freigegeben','entwurf':'entwurf','abgeloest':'abgeloest','abgelöst':'abgeloest'})[s] || 'unbekannt'; }
function buildNav(filter){
filter = (filter||'').toLowerCase();
const nav = document.getElementById('nav');
let h = '';
h += '<div class="special" onclick="showDashboard()">&#9632; Dashboard</div>';
h += '<div class="special" onclick="showPendenzen()">&#9888; Pendenzen';
if (D.stats.openPendenzen) h += ' <span class="badge-od">'+D.stats.openPendenzen+'</span>';
h += '</div>';
D.chapters.forEach(ch => {
const items = D.docs.filter(d => d.chapter === ch.key && (!filter || (d.title.toLowerCase().includes(filter) || d.text.includes(filter))));
if (!items.length) return;
h += '<div class="chapter"><div class="ctitle">'+ch.label+'</div>';
items.forEach(d => {
h += '<div class="item" data-id="'+encodeURIComponent(d.id)+'" onclick="showDoc(\''+encodeURIComponent(d.id)+'\')">'
+ '<span class="dot '+statusClass(d.meta.status)+'"></span>'
+ '<span>'+d.title+'</span>'
+ (d.overdueReview ? '<span class="badge-od">Review</span>' : '')
+ '</div>';
});
h += '</div>';
});
nav.innerHTML = h;
}
function setActive(id){
document.querySelectorAll('.nav .item').forEach(el=>el.classList.toggle('active', el.dataset.id===encodeURIComponent(id)));
}
function runMermaid(scope){
if(!hasMermaid) return;
const nodes = scope.querySelectorAll('.mermaid');
if(nodes.length){ try{ mermaid.run({nodes}); }catch(e){ console.warn(e); } }
}
function showDoc(encId){
const id = decodeURIComponent(encId);
const d = byId[id]; if(!d) return;
const m = d.meta || {};
const od = d.overdueReview;
let chips = '<span class="chip s-'+statusClass(m.status)+'">'+(m.status||'unbekannt')+'</span>';
if(m.version) chips += '<span class="chip">v<b>'+m.version+'</b></span>';
if(m.owner) chips += '<span class="chip">Owner: <b>'+m.owner+'</b></span>';
if(m.classification) chips += '<span class="chip">'+m.classification+'</span>';
if(d.nextReview) chips += '<span class="chip '+(od?'od':'')+'">Review: <b>'+d.nextReview+'</b>'+(od?' (überfällig)':'')+'</span>';
if(m.isoRefs) chips += '<span class="chip">ISO: <b>'+m.isoRefs+'</b></span>';
let warn = '';
if(d.zuPruefen && d.zuPruefen.length){
warn = '<div class="metabar" style="border-color:var(--amber)"><span class="chip od">&#9888; '+d.zuPruefen.length+' offene Punkte ([ZU PRÜFEN]) in diesem Dokument</span></div>';
}
document.getElementById('crumbs').textContent = d.path;
const c = document.getElementById('content');
c.innerHTML = '<div class="metabar">'+chips+'</div>'+warn+'<div class="doc">'+d.html+'</div>';
setActive(id); window.scrollTo(0,0); runMermaid(c);
}
function showDashboard(){
document.getElementById('crumbs').textContent = 'Dashboard';
setActive('__none__');
const s = D.stats;
let sc = '';
Object.keys(s.statusCounts).forEach(k=>{ sc += '<span class="chip s-'+statusClass(k)+'">'+k+': <b>'+s.statusCounts[k]+'</b></span> '; });
let h = '<div class="doc"><h1>IMS Management Cockpit</h1></div>';
h += '<div class="cards">';
h += '<div class="card"><div class="num">'+s.docs+'</div><div class="lbl">Dokumente</div></div>';
h += '<div class="card '+(s.openPendenzen?'':'ok')+'"><div class="num">'+s.openPendenzen+'</div><div class="lbl">Offene Pendenzen</div></div>';
h += '<div class="card '+(s.overduePendenzen?'alert':'ok')+'"><div class="num">'+s.overduePendenzen+'</div><div class="lbl">Überfällige Pendenzen</div></div>';
h += '<div class="card '+(s.overdueReviews?'alert':'ok')+'"><div class="num">'+s.overdueReviews+'</div><div class="lbl">Überfällige Reviews</div></div>';
h += '</div>';
h += '<div class="metabar">'+sc+'</div>';
h += '<div class="section-h">Nächste Schritte</div>';
h += '<p style="color:var(--muted)">Öffne die Seite <a href="#" onclick="showPendenzen();return false;">Pendenzen</a> für die zusammengeführte Aufgabenliste, oder wähle links ein Dokument.</p>';
document.getElementById('content').innerHTML = h;
window.scrollTo(0,0);
}
let pFilter = {quelle:'', overdue:false};
function showPendenzen(){
document.getElementById('crumbs').textContent = 'Pendenzen';
setActive('__none__');
const today = D.today;
// register
const reg = D.pendenzenReg.filter(p=>p.status.toLowerCase()!=='erledigt');
const quellen = Array.from(new Set(D.pendenzenReg.map(p=>p.quelle).filter(Boolean)));
let h = '<div class="doc"><h1>Pendenzen</h1><p>Zusammengeführt aus Massnahmenregister, überfälligen Dokumenten-Reviews und [ZU PRÜFEN]-Markern.</p></div>';
// filters
h += '<div class="filters"><select id="fq" onchange="applyP()"><option value="">Alle Quellen</option>';
quellen.forEach(q=>{ h += '<option value="'+q+'"'+(pFilter.quelle===q?' selected':'')+'>'+q+'</option>'; });
h += '</select><button onclick="toggleOd()">'+(pFilter.overdue?'Nur überfällige: AN':'Nur überfällige: AUS')+'</button></div>';
// register table
h += '<div class="section-h">Massnahmenregister ('+reg.length+' offen)</div>';
h += '<table class="grid"><thead><tr><th>ID</th><th>Titel</th><th>Owner</th><th>Quelle</th><th>Fällig</th><th>Status</th></tr></thead><tbody>';
reg.forEach(p=>{
const od = p.faellig && p.faellig < today;
if(pFilter.quelle && p.quelle!==pFilter.quelle) return;
if(pFilter.overdue && !od) return;
const stcl = p.status.toLowerCase()==='in arbeit'?'inArbeit':p.status.toLowerCase();
h += '<tr class="'+(od?'od':'')+'"><td>'+p.id+'</td><td>'+p.titel+'</td><td>'+p.owner+'</td>'
+ '<td><span class="tag q-'+p.quelle+'">'+p.quelle+'</span></td>'
+ '<td>'+p.faellig+(od?' &#9888;':'')+'</td><td><span class="pill '+stcl+'">'+p.status+'</span></td></tr>';
});
h += '</tbody></table>';
// overdue reviews
h += '<div class="section-h">Überfällige Dokumenten-Reviews ('+D.overdueReviews.length+')</div>';
if(D.overdueReviews.length){
h += '<table class="grid"><thead><tr><th>Dokument</th><th>Owner</th><th>Review fällig</th></tr></thead><tbody>';
D.overdueReviews.forEach(r=>{ h += '<tr class="od"><td><a href="#" onclick="showDoc(\''+encodeURIComponent(r.id)+'\');return false;">'+r.title+'</a></td><td>'+r.owner+'</td><td>'+r.nextReview+'</td></tr>'; });
h += '</tbody></table>';
} else { h += '<p style="color:var(--muted)">Keine überfälligen Reviews.</p>'; }
// zu pruefen
h += '<div class="section-h">[ZU PRÜFEN]-Marker ('+D.zuPruefen.length+')</div>';
if(D.zuPruefen.length){
h += '<table class="grid"><thead><tr><th>Dokument</th><th>Abschnitt</th></tr></thead><tbody>';
D.zuPruefen.forEach(z=>{ h += '<tr><td><a href="#" onclick="showDoc(\''+encodeURIComponent(z.id)+'\');return false;">'+z.title+'</a></td><td>'+z.section+'</td></tr>'; });
h += '</tbody></table>';
} else { h += '<p style="color:var(--muted)">Keine offenen Marker.</p>'; }
document.getElementById('content').innerHTML = h;
window.scrollTo(0,0);
}
function applyP(){ pFilter.quelle = document.getElementById('fq').value; showPendenzen(); }
function toggleOd(){ pFilter.overdue = !pFilter.overdue; showPendenzen(); }
document.getElementById('q').addEventListener('input', e=>buildNav(e.target.value));
buildNav('');
showDashboard();
</script>
</body>
</html>