=A.SCRIPT.id?r.text():A.DISPLAY:"text"===e&&r.size===A.DISPLAY.size?r=A.TEXT:"script"===e?r=A.SCRIPT:"scriptscript"===e&&(r=A.SCRIPTSCRIPT),r},nn=function(e,t){var r,n=rn(e.size,t.style),a=n.fracNum(),i=n.fracDen();r=t.havingStyle(a);var o=St(e.numer,r,t);if(e.continued){var s=8.5/t.fontMetrics().ptPerEm,l=3.5/t.fontMetrics().ptPerEm;o.height=o.height0?3*m:7*m,d=t.fontMetrics().denom1):(c>0?(u=t.fontMetrics().num2,p=m):(u=t.fontMetrics().num3,p=3*m),d=t.fontMetrics().denom2),h){var x=t.fontMetrics().axisHeight;u-o.depth-(x+.5*c)0&&(t="."===(t=e)?null:t),t};lt({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler:function(e,t){var r,n=e.parser,a=t[4],i=t[5],o=ct(t[0]),s="atom"===o.type&&"open"===o.family?sn(o.text):null,l=ct(t[1]),h="atom"===l.type&&"close"===l.family?sn(l.text):null,c=Ut(t[2],"size"),m=null;r=!!c.isBlank||(m=c.value).number>0;var u="auto",p=t[3];if("ordgroup"===p.type){if(p.body.length>0){var d=Ut(p.body[0],"textord");u=on[Number(d.text)]}}else p=Ut(p,"textord"),u=on[Number(p.text)];return{type:"genfrac",mode:n.mode,numer:a,denom:i,continued:!1,hasBarLine:r,barSize:m,leftDelim:s,rightDelim:h,size:u}},htmlBuilder:nn,mathmlBuilder:an}),lt({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler:function(e,t){var r=e.parser,n=(e.funcName,e.token);return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Ut(t[0],"size").value,token:n}}}),lt({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:function(e,t){var r=e.parser,n=(e.funcName,t[0]),a=function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e}(Ut(t[1],"infix").size),i=t[2],o=a.number>0;return{type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:o,barSize:a,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:nn,mathmlBuilder:an});var ln=function(e,t){var r,n,a=t.style;"supsub"===e.type?(r=e.sup?St(e.sup,t.havingStyle(a.sup()),t):St(e.sub,t.havingStyle(a.sub()),t),n=Ut(e.base,"horizBrace")):n=Ut(e,"horizBrace");var i,o=St(n.base,t.havingBaseStyle(A.DISPLAY)),s=Gt(n,t);if(n.isOver?(i=Qe.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"kern",size:.1},{type:"elem",elem:s}]},t)).children[0].children[0].children[1].classes.push("svg-align"):(i=Qe.makeVList({positionType:"bottom",positionData:o.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:o}]},t)).children[0].children[0].children[0].classes.push("svg-align"),r){var l=Qe.makeSpan(["mord",n.isOver?"mover":"munder"],[i],t);i=n.isOver?Qe.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:r}]},t):Qe.makeVList({positionType:"bottom",positionData:l.depth+.2+r.height+r.depth,children:[{type:"elem",elem:r},{type:"kern",size:.2},{type:"elem",elem:l}]},t)}return Qe.makeSpan(["mord",n.isOver?"mover":"munder"],[i],t)};lt({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler:function(e,t){var r=e.parser,n=e.funcName;return{type:"horizBrace",mode:r.mode,label:n,isOver:/^\\over/.test(n),base:t[0]}},htmlBuilder:ln,mathmlBuilder:function(e,t){var r=Ft(e.label);return new Nt.MathNode(e.isOver?"mover":"munder",[Ot(e.base,t),r])}}),lt({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:function(e,t){var r=e.parser,n=t[1],a=Ut(t[0],"url").url;return r.settings.isTrusted({command:"\\href",url:a})?{type:"href",mode:r.mode,href:a,body:mt(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:function(e,t){var r=vt(e.body,t,!1);return Qe.makeAnchor(e.href,[],r,t)},mathmlBuilder:function(e,t){var r=Ht(e.body,t);return r instanceof Tt||(r=new Tt("mrow",[r])),r.setAttribute("href",e.href),r}}),lt({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:function(e,t){var r=e.parser,n=Ut(t[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var a=[],i=0;i0&&(n=X(e.totalheight,t)-r);var a=0;e.width.number>0&&(a=X(e.width,t));var i={height:W(r+n)};a>0&&(i.width=W(a)),n>0&&(i.verticalAlign=W(-n));var o=new Q(e.src,e.alt,i);return o.height=r,o.depth=n,o},mathmlBuilder:function(e,t){var r=new Nt.MathNode("mglyph",[]);r.setAttribute("alt",e.alt);var n=X(e.height,t),a=0;if(e.totalheight.number>0&&(a=X(e.totalheight,t)-n,r.setAttribute("valign",W(-a))),r.setAttribute("height",W(n+a)),e.width.number>0){var i=X(e.width,t);r.setAttribute("width",W(i))}return r.setAttribute("src",e.src),r}}),lt({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler:function(e,t){var r=e.parser,n=e.funcName,a=Ut(t[0],"size");if(r.settings.strict){var i="m"===n[1],o="mu"===a.value.unit;i?(o||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, not "+a.value.unit+" units"),"math"!==r.mode&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):o&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:a.value}},htmlBuilder:function(e,t){return Qe.makeGlue(e.dimension,t)},mathmlBuilder:function(e,t){var r=X(e.dimension,t);return new Nt.SpaceNode(r)}}),lt({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:a}},htmlBuilder:function(e,t){var r;"clap"===e.alignment?(r=Qe.makeSpan([],[St(e.body,t)]),r=Qe.makeSpan(["inner"],[r],t)):r=Qe.makeSpan(["inner"],[St(e.body,t)]);var n=Qe.makeSpan(["fix"],[]),a=Qe.makeSpan([e.alignment],[r,n],t),i=Qe.makeSpan(["strut"]);return i.style.height=W(a.height+a.depth),a.depth&&(i.style.verticalAlign=W(-a.depth)),a.children.unshift(i),a=Qe.makeSpan(["thinbox"],[a],t),Qe.makeSpan(["mord","vbox"],[a],t)},mathmlBuilder:function(e,t){var r=new Nt.MathNode("mpadded",[Ot(e.body,t)]);if("rlap"!==e.alignment){var n="llap"===e.alignment?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r}}),lt({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler:function(e,t){var r=e.funcName,n=e.parser,a=n.mode;n.switchMode("math");var i="\\("===r?"\\)":"$",o=n.parseExpression(!1,i);return n.expect(i),n.switchMode(a),{type:"styling",mode:n.mode,style:"text",body:o}}}),lt({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler:function(e,t){throw new n("Mismatched "+e.funcName)}});var cn=function(e,t){switch(t.style.size){case A.DISPLAY.size:return e.display;case A.TEXT.size:return e.text;case A.SCRIPT.size:return e.script;case A.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};lt({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:function(e,t){return{type:"mathchoice",mode:e.parser.mode,display:mt(t[0]),text:mt(t[1]),script:mt(t[2]),scriptscript:mt(t[3])}},htmlBuilder:function(e,t){var r=cn(e,t),n=vt(r,t,!1);return Qe.makeFragment(n)},mathmlBuilder:function(e,t){var r=cn(e,t);return Ht(r,t)}});var mn=function(e,t,r,n,a,i,o){e=Qe.makeSpan([],[e]);var s,l,h,c=r&&p(r);if(t){var m=St(t,n.havingStyle(a.sup()),n);l={elem:m,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-m.depth)}}if(r){var u=St(r,n.havingStyle(a.sub()),n);s={elem:u,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-u.height)}}if(l&&s){var d=n.fontMetrics().bigOpSpacing5+s.elem.height+s.elem.depth+s.kern+e.depth+o;h=Qe.makeVList({positionType:"bottom",positionData:d,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:W(-i)},{type:"kern",size:s.kern},{type:"elem",elem:e},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:W(i)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else if(s){var f=e.height-o;h=Qe.makeVList({positionType:"top",positionData:f,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:s.elem,marginLeft:W(-i)},{type:"kern",size:s.kern},{type:"elem",elem:e}]},n)}else{if(!l)return e;var g=e.depth+o;h=Qe.makeVList({positionType:"bottom",positionData:g,children:[{type:"elem",elem:e},{type:"kern",size:l.kern},{type:"elem",elem:l.elem,marginLeft:W(i)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}var v=[h];if(s&&0!==i&&!c){var y=Qe.makeSpan(["mspace"],[],n);y.style.marginRight=W(i),v.unshift(y)}return Qe.makeSpan(["mop","op-limits"],v,n)},un=["\\smallint"],pn=function(e,t){var r,n,a,i=!1;"supsub"===e.type?(r=e.sup,n=e.sub,a=Ut(e.base,"op"),i=!0):a=Ut(e,"op");var o,s=t.style,h=!1;if(s.size===A.DISPLAY.size&&a.symbol&&!l(un,a.name)&&(h=!0),a.symbol){var c=h?"Size2-Regular":"Size1-Regular",m="";if("\\oiint"!==a.name&&"\\oiiint"!==a.name||(m=a.name.slice(1),a.name="oiint"===m?"\\iint":"\\iiint"),o=Qe.makeSymbol(a.name,c,"math",t,["mop","op-symbol",h?"large-op":"small-op"]),m.length>0){var u=o.italic,p=Qe.staticSvg(m+"Size"+(h?"2":"1"),t);o=Qe.makeVList({positionType:"individualShift",children:[{type:"elem",elem:o,shift:0},{type:"elem",elem:p,shift:h?.08:0}]},t),a.name="\\"+m,o.classes.unshift("mop"),o.italic=u}}else if(a.body){var d=vt(a.body,t,!0);1===d.length&&d[0]instanceof te?(o=d[0]).classes[0]="mop":o=Qe.makeSpan(["mop"],d,t)}else{for(var f=[],g=1;g0){for(var s=a.body.map((function(e){var t=e.text;return"string"==typeof t?{type:"textord",mode:e.mode,text:t}:e})),l=vt(s,t.withFont("mathrm"),!0),h=0;h=0?s.setAttribute("height",W(a)):(s.setAttribute("height",W(a)),s.setAttribute("depth",W(-a))),s.setAttribute("voffset",W(a)),s}});var bn=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"];lt({type:"sizing",names:bn,props:{numArgs:0,allowedInText:!0},handler:function(e,t){var r=e.breakOnTokenText,n=e.funcName,a=e.parser,i=a.parseExpression(!1,r);return{type:"sizing",mode:a.mode,size:bn.indexOf(n)+1,body:i}},htmlBuilder:function(e,t){var r=t.havingSize(e.size);return yn(e.body,r,t)},mathmlBuilder:function(e,t){var r=t.havingSize(e.size),n=Rt(e.body,r),a=new Nt.MathNode("mstyle",n);return a.setAttribute("mathsize",W(r.sizeMultiplier)),a}}),lt({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:function(e,t,r){var n=e.parser,a=!1,i=!1,o=r[0]&&Ut(r[0],"ordgroup");if(o)for(var s="",l=0;lr.height+r.depth+i&&(i=(i+m-r.height-r.depth)/2);var u=l.height-r.height-i-h;r.style.paddingLeft=W(c);var p=Qe.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+u)},{type:"elem",elem:l},{type:"kern",size:h}]},t);if(e.index){var d=t.havingStyle(A.SCRIPTSCRIPT),f=St(e.index,d,t),g=.6*(p.height-p.depth),v=Qe.makeVList({positionType:"shift",positionData:-g,children:[{type:"elem",elem:f}]},t),y=Qe.makeSpan(["root"],[v]);return Qe.makeSpan(["mord","sqrt"],[y,p],t)}return Qe.makeSpan(["mord","sqrt"],[p],t)},mathmlBuilder:function(e,t){var r=e.body,n=e.index;return n?new Nt.MathNode("mroot",[Ot(r,t),Ot(n,t)]):new Nt.MathNode("msqrt",[Ot(r,t)])}});var xn={display:A.DISPLAY,text:A.TEXT,script:A.SCRIPT,scriptscript:A.SCRIPTSCRIPT};lt({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e,t){var r=e.breakOnTokenText,n=e.funcName,a=e.parser,i=a.parseExpression(!0,r),o=n.slice(1,n.length-5);return{type:"styling",mode:a.mode,style:o,body:i}},htmlBuilder:function(e,t){var r=xn[e.style],n=t.havingStyle(r).withFont("");return yn(e.body,n,t)},mathmlBuilder:function(e,t){var r=xn[e.style],n=t.havingStyle(r),a=Rt(e.body,n),i=new Nt.MathNode("mstyle",a),o={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[e.style];return i.setAttribute("scriptlevel",o[0]),i.setAttribute("displaystyle",o[1]),i}});ht({type:"supsub",htmlBuilder:function(e,t){var r=function(e,t){var r=e.base;return r?"op"===r.type?r.limits&&(t.style.size===A.DISPLAY.size||r.alwaysHandleSupSub)?pn:null:"operatorname"===r.type?r.alwaysHandleSupSub&&(t.style.size===A.DISPLAY.size||r.limits)?vn:null:"accent"===r.type?p(r.base)?Wt:null:"horizBrace"===r.type&&!e.sub===r.isOver?ln:null:null}(e,t);if(r)return r(e,t);var n,a,i,o=e.base,s=e.sup,l=e.sub,h=St(o,t),c=t.fontMetrics(),m=0,u=0,d=o&&p(o);if(s){var f=t.havingStyle(t.style.sup());n=St(s,f,t),d||(m=h.height-f.fontMetrics().supDrop*f.sizeMultiplier/t.sizeMultiplier)}if(l){var g=t.havingStyle(t.style.sub());a=St(l,g,t),d||(u=h.depth+g.fontMetrics().subDrop*g.sizeMultiplier/t.sizeMultiplier)}i=t.style===A.DISPLAY?c.sup1:t.style.cramped?c.sup3:c.sup2;var v,y=t.sizeMultiplier,b=W(.5/c.ptPerEm/y),x=null;if(a){var w=e.base&&"op"===e.base.type&&e.base.name&&("\\oiint"===e.base.name||"\\oiiint"===e.base.name);(h instanceof te||w)&&(x=W(-h.italic))}if(n&&a){m=Math.max(m,i,n.depth+.25*c.xHeight),u=Math.max(u,c.sub2);var k=4*c.defaultRuleThickness;if(m-n.depth-(a.height-u)0&&(m+=S,u-=S)}v=Qe.makeVList({positionType:"individualShift",children:[{type:"elem",elem:a,shift:u,marginRight:b,marginLeft:x},{type:"elem",elem:n,shift:-m,marginRight:b}]},t)}else if(a){u=Math.max(u,c.sub1,a.height-.8*c.xHeight),v=Qe.makeVList({positionType:"shift",positionData:u,children:[{type:"elem",elem:a,marginLeft:x,marginRight:b}]},t)}else{if(!n)throw new Error("supsub must have either sup or sub.");m=Math.max(m,i,n.depth+.25*c.xHeight),v=Qe.makeVList({positionType:"shift",positionData:-m,children:[{type:"elem",elem:n,marginRight:b}]},t)}var M=wt(h,"right")||"mord";return Qe.makeSpan([M],[h,Qe.makeSpan(["msupsub"],[v])],t)},mathmlBuilder:function(e,t){var r,n=!1;e.base&&"horizBrace"===e.base.type&&!!e.sup===e.base.isOver&&(n=!0,r=e.base.isOver),!e.base||"op"!==e.base.type&&"operatorname"!==e.base.type||(e.base.parentIsSupSub=!0);var a,i=[Ot(e.base,t)];if(e.sub&&i.push(Ot(e.sub,t)),e.sup&&i.push(Ot(e.sup,t)),n)a=r?"mover":"munder";else if(e.sub)if(e.sup){var o=e.base;a=o&&"op"===o.type&&o.limits&&t.style===A.DISPLAY||o&&"operatorname"===o.type&&o.alwaysHandleSupSub&&(t.style===A.DISPLAY||o.limits)?"munderover":"msubsup"}else{var s=e.base;a=s&&"op"===s.type&&s.limits&&(t.style===A.DISPLAY||s.alwaysHandleSupSub)||s&&"operatorname"===s.type&&s.alwaysHandleSupSub&&(s.limits||t.style===A.DISPLAY)?"munder":"msub"}else{var l=e.base;a=l&&"op"===l.type&&l.limits&&(t.style===A.DISPLAY||l.alwaysHandleSupSub)||l&&"operatorname"===l.type&&l.alwaysHandleSupSub&&(l.limits||t.style===A.DISPLAY)?"mover":"msup"}return new Nt.MathNode(a,i)}}),ht({type:"atom",htmlBuilder:function(e,t){return Qe.mathsym(e.text,e.mode,t,["m"+e.family])},mathmlBuilder:function(e,t){var r=new Nt.MathNode("mo",[Ct(e.text,e.mode)]);if("bin"===e.family){var n=It(e,t);"bold-italic"===n&&r.setAttribute("mathvariant",n)}else"punct"===e.family?r.setAttribute("separator","true"):"open"!==e.family&&"close"!==e.family||r.setAttribute("stretchy","false");return r}});var wn={mi:"italic",mn:"normal",mtext:"normal"};ht({type:"mathord",htmlBuilder:function(e,t){return Qe.makeOrd(e,t,"mathord")},mathmlBuilder:function(e,t){var r=new Nt.MathNode("mi",[Ct(e.text,e.mode,t)]),n=It(e,t)||"italic";return n!==wn[r.type]&&r.setAttribute("mathvariant",n),r}}),ht({type:"textord",htmlBuilder:function(e,t){return Qe.makeOrd(e,t,"textord")},mathmlBuilder:function(e,t){var r,n=Ct(e.text,e.mode,t),a=It(e,t)||"normal";return r="text"===e.mode?new Nt.MathNode("mtext",[n]):/[0-9]/.test(e.text)?new Nt.MathNode("mn",[n]):"\\prime"===e.text?new Nt.MathNode("mo",[n]):new Nt.MathNode("mi",[n]),a!==wn[r.type]&&r.setAttribute("mathvariant",a),r}});var kn={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Sn={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};ht({type:"spacing",htmlBuilder:function(e,t){if(Sn.hasOwnProperty(e.text)){var r=Sn[e.text].className||"";if("text"===e.mode){var a=Qe.makeOrd(e,t,"textord");return a.classes.push(r),a}return Qe.makeSpan(["mspace",r],[Qe.mathsym(e.text,e.mode,t)],t)}if(kn.hasOwnProperty(e.text))return Qe.makeSpan(["mspace",kn[e.text]],[],t);throw new n('Unknown type of space "'+e.text+'"')},mathmlBuilder:function(e,t){if(!Sn.hasOwnProperty(e.text)){if(kn.hasOwnProperty(e.text))return new Nt.MathNode("mspace");throw new n('Unknown type of space "'+e.text+'"')}return new Nt.MathNode("mtext",[new Nt.TextNode(" ")])}});var Mn=function(){var e=new Nt.MathNode("mtd",[]);return e.setAttribute("width","50%"),e};ht({type:"tag",mathmlBuilder:function(e,t){var r=new Nt.MathNode("mtable",[new Nt.MathNode("mtr",[Mn(),new Nt.MathNode("mtd",[Ht(e.body,t)]),Mn(),new Nt.MathNode("mtd",[Ht(e.tag,t)])])]);return r.setAttribute("width","100%"),r}});var zn={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},An={"\\textbf":"textbf","\\textmd":"textmd"},Tn={"\\textit":"textit","\\textup":"textup"},Bn=function(e,t){var r=e.font;return r?zn[r]?t.withTextFontFamily(zn[r]):An[r]?t.withTextFontWeight(An[r]):t.withTextFontShape(Tn[r]):t};lt({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:"text",mode:r.mode,body:mt(a),font:n}},htmlBuilder:function(e,t){var r=Bn(e,t),n=vt(e.body,r,!0);return Qe.makeSpan(["mord","text"],n,r)},mathmlBuilder:function(e,t){var r=Bn(e,t);return Ht(e.body,r)}}),lt({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){return{type:"underline",mode:e.parser.mode,body:t[0]}},htmlBuilder:function(e,t){var r=St(e.body,t),n=Qe.makeLineSpan("underline-line",t),a=t.fontMetrics().defaultRuleThickness,i=Qe.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:a},{type:"elem",elem:n},{type:"kern",size:3*a},{type:"elem",elem:r}]},t);return Qe.makeSpan(["mord","underline"],[i],t)},mathmlBuilder:function(e,t){var r=new Nt.MathNode("mo",[new Nt.TextNode("‾")]);r.setAttribute("stretchy","true");var n=new Nt.MathNode("munder",[Ot(e.body,t),r]);return n.setAttribute("accentunder","true"),n}}),lt({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler:function(e,t){return{type:"vcenter",mode:e.parser.mode,body:t[0]}},htmlBuilder:function(e,t){var r=St(e.body,t),n=t.fontMetrics().axisHeight,a=.5*(r.height-n-(r.depth+n));return Qe.makeVList({positionType:"shift",positionData:a,children:[{type:"elem",elem:r}]},t)},mathmlBuilder:function(e,t){return new Nt.MathNode("mpadded",[Ot(e.body,t)],["vcenter"])}}),lt({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler:function(e,t,r){throw new n("\\verb ended by end of line instead of matching delimiter")},htmlBuilder:function(e,t){for(var r=Nn(e),n=[],a=t.havingStyle(t.style.text()),i=0;i0;)this.endGroup()},t.has=function(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)},t.get=function(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]},t.set=function(e,t,r){if(void 0===r&&(r=!1),r){for(var n=0;n0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}null==t?delete this.current[e]:this.current[e]=t},e}(),Dn=Pr;Vr("\\noexpand",(function(e){var t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}})),Vr("\\expandafter",(function(e){var t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}})),Vr("\\@firstoftwo",(function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}})),Vr("\\@secondoftwo",(function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}})),Vr("\\@ifnextchar",(function(e){var t=e.consumeArgs(3);e.consumeSpaces();var r=e.future();return 1===t[0].length&&t[0][0].text===r.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}})),Vr("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),Vr("\\TextOrMath",(function(e){var t=e.consumeArgs(2);return"text"===e.mode?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}}));var Pn={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};Vr("\\char",(function(e){var t,r=e.popToken(),a="";if("'"===r.text)t=8,r=e.popToken();else if('"'===r.text)t=16,r=e.popToken();else if("`"===r.text)if("\\"===(r=e.popToken()).text[0])a=r.text.charCodeAt(1);else{if("EOF"===r.text)throw new n("\\char` missing argument");a=r.text.charCodeAt(0)}else t=10;if(t){if(null==(a=Pn[r.text])||a>=t)throw new n("Invalid base-"+t+" digit "+r.text);for(var i;null!=(i=Pn[e.future().text])&&i":"\\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"};Vr("\\dots",(function(e){var t="\\dotso",r=e.expandAfterFuture().text;return r in Fn?t=Fn[r]:("\\not"===r.slice(0,4)||r in he.math&&l(["bin","rel"],he.math[r].group))&&(t="\\dotsb"),t}));var Gn={")":!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};Vr("\\dotso",(function(e){return e.future().text in Gn?"\\ldots\\,":"\\ldots"})),Vr("\\dotsc",(function(e){var t=e.future().text;return t in Gn&&","!==t?"\\ldots\\,":"\\ldots"})),Vr("\\cdots",(function(e){return e.future().text in Gn?"\\@cdots\\,":"\\@cdots"})),Vr("\\dotsb","\\cdots"),Vr("\\dotsm","\\cdots"),Vr("\\dotsi","\\!\\cdots"),Vr("\\dotsx","\\ldots\\,"),Vr("\\DOTSI","\\relax"),Vr("\\DOTSB","\\relax"),Vr("\\DOTSX","\\relax"),Vr("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),Vr("\\,","\\tmspace+{3mu}{.1667em}"),Vr("\\thinspace","\\,"),Vr("\\>","\\mskip{4mu}"),Vr("\\:","\\tmspace+{4mu}{.2222em}"),Vr("\\medspace","\\:"),Vr("\\;","\\tmspace+{5mu}{.2777em}"),Vr("\\thickspace","\\;"),Vr("\\!","\\tmspace-{3mu}{.1667em}"),Vr("\\negthinspace","\\!"),Vr("\\negmedspace","\\tmspace-{4mu}{.2222em}"),Vr("\\negthickspace","\\tmspace-{5mu}{.277em}"),Vr("\\enspace","\\kern.5em "),Vr("\\enskip","\\hskip.5em\\relax"),Vr("\\quad","\\hskip1em\\relax"),Vr("\\qquad","\\hskip2em\\relax"),Vr("\\tag","\\@ifstar\\tag@literal\\tag@paren"),Vr("\\tag@paren","\\tag@literal{({#1})}"),Vr("\\tag@literal",(function(e){if(e.macros.get("\\df@tag"))throw new n("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"})),Vr("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),Vr("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),Vr("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),Vr("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),Vr("\\newline","\\\\\\relax"),Vr("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var Un=W(I["Main-Regular"]["T".charCodeAt(0)][1]-.7*I["Main-Regular"]["A".charCodeAt(0)][1]);Vr("\\LaTeX","\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+Un+"}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}"),Vr("\\KaTeX","\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+Un+"}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}"),Vr("\\hspace","\\@ifstar\\@hspacer\\@hspace"),Vr("\\@hspace","\\hskip #1\\relax"),Vr("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),Vr("\\ordinarycolon",":"),Vr("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),Vr("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),Vr("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),Vr("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),Vr("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),Vr("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),Vr("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),Vr("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),Vr("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),Vr("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),Vr("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),Vr("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),Vr("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),Vr("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),Vr("∷","\\dblcolon"),Vr("∹","\\eqcolon"),Vr("≔","\\coloneqq"),Vr("≕","\\eqqcolon"),Vr("⩴","\\Coloneqq"),Vr("\\ratio","\\vcentcolon"),Vr("\\coloncolon","\\dblcolon"),Vr("\\colonequals","\\coloneqq"),Vr("\\coloncolonequals","\\Coloneqq"),Vr("\\equalscolon","\\eqqcolon"),Vr("\\equalscoloncolon","\\Eqqcolon"),Vr("\\colonminus","\\coloneq"),Vr("\\coloncolonminus","\\Coloneq"),Vr("\\minuscolon","\\eqcolon"),Vr("\\minuscoloncolon","\\Eqcolon"),Vr("\\coloncolonapprox","\\Colonapprox"),Vr("\\coloncolonsim","\\Colonsim"),Vr("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Vr("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Vr("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Vr("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Vr("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}"),Vr("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),Vr("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),Vr("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),Vr("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),Vr("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),Vr("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),Vr("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),Vr("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),Vr("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}"),Vr("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}"),Vr("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}"),Vr("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}"),Vr("\\nleqq","\\html@mathml{\\@nleqq}{≰}"),Vr("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}"),Vr("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}"),Vr("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}"),Vr("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}"),Vr("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}"),Vr("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}"),Vr("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}"),Vr("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}"),Vr("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}"),Vr("\\imath","\\html@mathml{\\@imath}{ı}"),Vr("\\jmath","\\html@mathml{\\@jmath}{ȷ}"),Vr("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}"),Vr("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}"),Vr("⟦","\\llbracket"),Vr("⟧","\\rrbracket"),Vr("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}"),Vr("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}"),Vr("⦃","\\lBrace"),Vr("⦄","\\rBrace"),Vr("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}"),Vr("⦵","\\minuso"),Vr("\\darr","\\downarrow"),Vr("\\dArr","\\Downarrow"),Vr("\\Darr","\\Downarrow"),Vr("\\lang","\\langle"),Vr("\\rang","\\rangle"),Vr("\\uarr","\\uparrow"),Vr("\\uArr","\\Uparrow"),Vr("\\Uarr","\\Uparrow"),Vr("\\N","\\mathbb{N}"),Vr("\\R","\\mathbb{R}"),Vr("\\Z","\\mathbb{Z}"),Vr("\\alef","\\aleph"),Vr("\\alefsym","\\aleph"),Vr("\\Alpha","\\mathrm{A}"),Vr("\\Beta","\\mathrm{B}"),Vr("\\bull","\\bullet"),Vr("\\Chi","\\mathrm{X}"),Vr("\\clubs","\\clubsuit"),Vr("\\cnums","\\mathbb{C}"),Vr("\\Complex","\\mathbb{C}"),Vr("\\Dagger","\\ddagger"),Vr("\\diamonds","\\diamondsuit"),Vr("\\empty","\\emptyset"),Vr("\\Epsilon","\\mathrm{E}"),Vr("\\Eta","\\mathrm{H}"),Vr("\\exist","\\exists"),Vr("\\harr","\\leftrightarrow"),Vr("\\hArr","\\Leftrightarrow"),Vr("\\Harr","\\Leftrightarrow"),Vr("\\hearts","\\heartsuit"),Vr("\\image","\\Im"),Vr("\\infin","\\infty"),Vr("\\Iota","\\mathrm{I}"),Vr("\\isin","\\in"),Vr("\\Kappa","\\mathrm{K}"),Vr("\\larr","\\leftarrow"),Vr("\\lArr","\\Leftarrow"),Vr("\\Larr","\\Leftarrow"),Vr("\\lrarr","\\leftrightarrow"),Vr("\\lrArr","\\Leftrightarrow"),Vr("\\Lrarr","\\Leftrightarrow"),Vr("\\Mu","\\mathrm{M}"),Vr("\\natnums","\\mathbb{N}"),Vr("\\Nu","\\mathrm{N}"),Vr("\\Omicron","\\mathrm{O}"),Vr("\\plusmn","\\pm"),Vr("\\rarr","\\rightarrow"),Vr("\\rArr","\\Rightarrow"),Vr("\\Rarr","\\Rightarrow"),Vr("\\real","\\Re"),Vr("\\reals","\\mathbb{R}"),Vr("\\Reals","\\mathbb{R}"),Vr("\\Rho","\\mathrm{P}"),Vr("\\sdot","\\cdot"),Vr("\\sect","\\S"),Vr("\\spades","\\spadesuit"),Vr("\\sub","\\subset"),Vr("\\sube","\\subseteq"),Vr("\\supe","\\supseteq"),Vr("\\Tau","\\mathrm{T}"),Vr("\\thetasym","\\vartheta"),Vr("\\weierp","\\wp"),Vr("\\Zeta","\\mathrm{Z}"),Vr("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),Vr("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),Vr("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),Vr("\\bra","\\mathinner{\\langle{#1}|}"),Vr("\\ket","\\mathinner{|{#1}\\rangle}"),Vr("\\braket","\\mathinner{\\langle{#1}\\rangle}"),Vr("\\Bra","\\left\\langle#1\\right|"),Vr("\\Ket","\\left|#1\\right\\rangle");var Yn=function(e){return function(t){var r=t.consumeArg().tokens,n=t.consumeArg().tokens,a=t.consumeArg().tokens,i=t.consumeArg().tokens,o=t.macros.get("|"),s=t.macros.get("\\|");t.macros.beginGroup();var l=function(t){return function(r){e&&(r.macros.set("|",o),a.length&&r.macros.set("\\|",s));var i=t;return!t&&a.length&&"|"===r.future().text&&(r.popToken(),i=!0),{tokens:i?a:n,numArgs:0}}};t.macros.set("|",l(!1)),a.length&&t.macros.set("\\|",l(!0));var h=t.consumeArg().tokens,c=t.expandTokens([].concat(i,h,r));return t.macros.endGroup(),{tokens:c.reverse(),numArgs:0}}};Vr("\\bra@ket",Yn(!1)),Vr("\\bra@set",Yn(!0)),Vr("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),Vr("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),Vr("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),Vr("\\angln","{\\angl n}"),Vr("\\blue","\\textcolor{##6495ed}{#1}"),Vr("\\orange","\\textcolor{##ffa500}{#1}"),Vr("\\pink","\\textcolor{##ff00af}{#1}"),Vr("\\red","\\textcolor{##df0030}{#1}"),Vr("\\green","\\textcolor{##28ae7b}{#1}"),Vr("\\gray","\\textcolor{gray}{#1}"),Vr("\\purple","\\textcolor{##9d38bd}{#1}"),Vr("\\blueA","\\textcolor{##ccfaff}{#1}"),Vr("\\blueB","\\textcolor{##80f6ff}{#1}"),Vr("\\blueC","\\textcolor{##63d9ea}{#1}"),Vr("\\blueD","\\textcolor{##11accd}{#1}"),Vr("\\blueE","\\textcolor{##0c7f99}{#1}"),Vr("\\tealA","\\textcolor{##94fff5}{#1}"),Vr("\\tealB","\\textcolor{##26edd5}{#1}"),Vr("\\tealC","\\textcolor{##01d1c1}{#1}"),Vr("\\tealD","\\textcolor{##01a995}{#1}"),Vr("\\tealE","\\textcolor{##208170}{#1}"),Vr("\\greenA","\\textcolor{##b6ffb0}{#1}"),Vr("\\greenB","\\textcolor{##8af281}{#1}"),Vr("\\greenC","\\textcolor{##74cf70}{#1}"),Vr("\\greenD","\\textcolor{##1fab54}{#1}"),Vr("\\greenE","\\textcolor{##0d923f}{#1}"),Vr("\\goldA","\\textcolor{##ffd0a9}{#1}"),Vr("\\goldB","\\textcolor{##ffbb71}{#1}"),Vr("\\goldC","\\textcolor{##ff9c39}{#1}"),Vr("\\goldD","\\textcolor{##e07d10}{#1}"),Vr("\\goldE","\\textcolor{##a75a05}{#1}"),Vr("\\redA","\\textcolor{##fca9a9}{#1}"),Vr("\\redB","\\textcolor{##ff8482}{#1}"),Vr("\\redC","\\textcolor{##f9685d}{#1}"),Vr("\\redD","\\textcolor{##e84d39}{#1}"),Vr("\\redE","\\textcolor{##bc2612}{#1}"),Vr("\\maroonA","\\textcolor{##ffbde0}{#1}"),Vr("\\maroonB","\\textcolor{##ff92c6}{#1}"),Vr("\\maroonC","\\textcolor{##ed5fa6}{#1}"),Vr("\\maroonD","\\textcolor{##ca337c}{#1}"),Vr("\\maroonE","\\textcolor{##9e034e}{#1}"),Vr("\\purpleA","\\textcolor{##ddd7ff}{#1}"),Vr("\\purpleB","\\textcolor{##c6b9fc}{#1}"),Vr("\\purpleC","\\textcolor{##aa87ff}{#1}"),Vr("\\purpleD","\\textcolor{##7854ab}{#1}"),Vr("\\purpleE","\\textcolor{##543b78}{#1}"),Vr("\\mintA","\\textcolor{##f5f9e8}{#1}"),Vr("\\mintB","\\textcolor{##edf2df}{#1}"),Vr("\\mintC","\\textcolor{##e0e5cc}{#1}"),Vr("\\grayA","\\textcolor{##f6f7f7}{#1}"),Vr("\\grayB","\\textcolor{##f0f1f2}{#1}"),Vr("\\grayC","\\textcolor{##e3e5e6}{#1}"),Vr("\\grayD","\\textcolor{##d6d8da}{#1}"),Vr("\\grayE","\\textcolor{##babec2}{#1}"),Vr("\\grayF","\\textcolor{##888d93}{#1}"),Vr("\\grayG","\\textcolor{##626569}{#1}"),Vr("\\grayH","\\textcolor{##3b3e40}{#1}"),Vr("\\grayI","\\textcolor{##21242c}{#1}"),Vr("\\kaBlue","\\textcolor{##314453}{#1}"),Vr("\\kaGreen","\\textcolor{##71B307}{#1}");var Xn={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},Wn=function(){function e(e,t,r){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new Ln(Dn,t.macros),this.mode=r,this.stack=[]}var t=e.prototype;return t.feed=function(e){this.lexer=new En(e,this.settings)},t.switchMode=function(e){this.mode=e},t.beginGroup=function(){this.macros.beginGroup()},t.endGroup=function(){this.macros.endGroup()},t.endGroups=function(){this.macros.endGroups()},t.future=function(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]},t.popToken=function(){return this.future(),this.stack.pop()},t.pushToken=function(e){this.stack.push(e)},t.pushTokens=function(e){var t;(t=this.stack).push.apply(t,e)},t.scanArgument=function(e){var t,r,n;if(e){if(this.consumeSpaces(),"["!==this.future().text)return null;t=this.popToken();var a=this.consumeArg(["]"]);n=a.tokens,r=a.end}else{var i=this.consumeArg();n=i.tokens,t=i.start,r=i.end}return this.pushToken(new Gr("EOF",r.loc)),this.pushTokens(n),t.range(r,"")},t.consumeSpaces=function(){for(;" "===this.future().text;)this.stack.pop()},t.consumeArg=function(e){var t=[],r=e&&e.length>0;r||this.consumeSpaces();var a,i=this.future(),o=0,s=0;do{if(a=this.popToken(),t.push(a),"{"===a.text)++o;else if("}"===a.text){if(-1==--o)throw new n("Extra }",a)}else if("EOF"===a.text)throw new n("Unexpected end of input in a macro argument, expected '"+(e&&r?e[s]:"}")+"'",a);if(e&&r)if((0===o||1===o&&"{"===e[s])&&a.text===e[s]){if(++s===e.length){t.splice(-s,s);break}}else s=0}while(0!==o||r);return"{"===i.text&&"}"===t[t.length-1].text&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:i,end:a}},t.consumeArgs=function(e,t){if(t){if(t.length!==e+1)throw new n("The length of delimiters doesn't match the number of args!");for(var r=t[0],a=0;athis.settings.maxExpand)throw new n("Too many expansions: infinite loop or need to increase maxExpand setting");var i=a.tokens,o=this.consumeArgs(a.numArgs,a.delimiters);if(a.numArgs)for(var s=(i=i.slice()).length-1;s>=0;--s){var l=i[s];if("#"===l.text){if(0===s)throw new n("Incomplete placeholder at end of macro body",l);if("#"===(l=i[--s]).text)i.splice(s+1,1);else{if(!/^[1-9]$/.test(l.text))throw new n("Not a valid argument number",l);var h;(h=i).splice.apply(h,[s,2].concat(o[+l.text-1]))}}}return this.pushTokens(i),i.length},t.expandAfterFuture=function(){return this.expandOnce(),this.future()},t.expandNextToken=function(){for(;;)if(!1===this.expandOnce()){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error},t.expandMacro=function(e){return this.macros.has(e)?this.expandTokens([new Gr(e)]):void 0},t.expandTokens=function(e){var t=[],r=this.stack.length;for(this.pushTokens(e);this.stack.length>r;)if(!1===this.expandOnce(!0)){var n=this.stack.pop();n.treatAsRelax&&(n.noexpand=!1,n.treatAsRelax=!1),t.push(n)}return t},t.expandMacroAsText=function(e){var t=this.expandMacro(e);return t?t.map((function(e){return e.text})).join(""):t},t._getExpansion=function(e){var t=this.macros.get(e);if(null==t)return t;if(1===e.length){var r=this.lexer.catcodes[e];if(null!=r&&13!==r)return}var n="function"==typeof t?t(this):t;if("string"==typeof n){var a=0;if(-1!==n.indexOf("#"))for(var i=n.replace(/##/g,"");-1!==i.indexOf("#"+(a+1));)++a;for(var o=new En(n,this.settings),s=[],l=o.lex();"EOF"!==l.text;)s.push(l),l=o.lex();return s.reverse(),{tokens:s,numArgs:a}}return n},t.isDefined=function(e){return this.macros.has(e)||Cn.hasOwnProperty(e)||he.math.hasOwnProperty(e)||he.text.hasOwnProperty(e)||Xn.hasOwnProperty(e)},t.isExpandable=function(e){var t=this.macros.get(e);return null!=t?"string"==typeof t||"function"==typeof t||!t.unexpandable:Cn.hasOwnProperty(e)&&!Cn[e].primitive},e}(),_n=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,jn=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","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),$n={"́":{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"}},Zn={"á":"á","à":"à","ä":"ä","ǟ":"ǟ","ã":"ã","ā":"ā","ă":"ă","ắ":"ắ","ằ":"ằ","ẵ":"ẵ","ǎ":"ǎ","â":"â","ấ":"ấ","ầ":"ầ","ẫ":"ẫ","ȧ":"ȧ","ǡ":"ǡ","å":"å","ǻ":"ǻ","ḃ":"ḃ","ć":"ć","ḉ":"ḉ","č":"č","ĉ":"ĉ","ċ":"ċ","ç":"ç","ď":"ď","ḋ":"ḋ","ḑ":"ḑ","é":"é","è":"è","ë":"ë","ẽ":"ẽ","ē":"ē","ḗ":"ḗ","ḕ":"ḕ","ĕ":"ĕ","ḝ":"ḝ","ě":"ě","ê":"ê","ế":"ế","ề":"ề","ễ":"ễ","ė":"ė","ȩ":"ȩ","ḟ":"ḟ","ǵ":"ǵ","ḡ":"ḡ","ğ":"ğ","ǧ":"ǧ","ĝ":"ĝ","ġ":"ġ","ģ":"ģ","ḧ":"ḧ","ȟ":"ȟ","ĥ":"ĥ","ḣ":"ḣ","ḩ":"ḩ","í":"í","ì":"ì","ï":"ï","ḯ":"ḯ","ĩ":"ĩ","ī":"ī","ĭ":"ĭ","ǐ":"ǐ","î":"î","ǰ":"ǰ","ĵ":"ĵ","ḱ":"ḱ","ǩ":"ǩ","ķ":"ķ","ĺ":"ĺ","ľ":"ľ","ļ":"ļ","ḿ":"ḿ","ṁ":"ṁ","ń":"ń","ǹ":"ǹ","ñ":"ñ","ň":"ň","ṅ":"ṅ","ņ":"ņ","ó":"ó","ò":"ò","ö":"ö","ȫ":"ȫ","õ":"õ","ṍ":"ṍ","ṏ":"ṏ","ȭ":"ȭ","ō":"ō","ṓ":"ṓ","ṑ":"ṑ","ŏ":"ŏ","ǒ":"ǒ","ô":"ô","ố":"ố","ồ":"ồ","ỗ":"ỗ","ȯ":"ȯ","ȱ":"ȱ","ő":"ő","ṕ":"ṕ","ṗ":"ṗ","ŕ":"ŕ","ř":"ř","ṙ":"ṙ","ŗ":"ŗ","ś":"ś","ṥ":"ṥ","š":"š","ṧ":"ṧ","ŝ":"ŝ","ṡ":"ṡ","ş":"ş","ẗ":"ẗ","ť":"ť","ṫ":"ṫ","ţ":"ţ","ú":"ú","ù":"ù","ü":"ü","ǘ":"ǘ","ǜ":"ǜ","ǖ":"ǖ","ǚ":"ǚ","ũ":"ũ","ṹ":"ṹ","ū":"ū","ṻ":"ṻ","ŭ":"ŭ","ǔ":"ǔ","û":"û","ů":"ů","ű":"ű","ṽ":"ṽ","ẃ":"ẃ","ẁ":"ẁ","ẅ":"ẅ","ŵ":"ŵ","ẇ":"ẇ","ẘ":"ẘ","ẍ":"ẍ","ẋ":"ẋ","ý":"ý","ỳ":"ỳ","ÿ":"ÿ","ỹ":"ỹ","ȳ":"ȳ","ŷ":"ŷ","ẏ":"ẏ","ẙ":"ẙ","ź":"ź","ž":"ž","ẑ":"ẑ","ż":"ż","Á":"Á","À":"À","Ä":"Ä","Ǟ":"Ǟ","Ã":"Ã","Ā":"Ā","Ă":"Ă","Ắ":"Ắ","Ằ":"Ằ","Ẵ":"Ẵ","Ǎ":"Ǎ","Â":"Â","Ấ":"Ấ","Ầ":"Ầ","Ẫ":"Ẫ","Ȧ":"Ȧ","Ǡ":"Ǡ","Å":"Å","Ǻ":"Ǻ","Ḃ":"Ḃ","Ć":"Ć","Ḉ":"Ḉ","Č":"Č","Ĉ":"Ĉ","Ċ":"Ċ","Ç":"Ç","Ď":"Ď","Ḋ":"Ḋ","Ḑ":"Ḑ","É":"É","È":"È","Ë":"Ë","Ẽ":"Ẽ","Ē":"Ē","Ḗ":"Ḗ","Ḕ":"Ḕ","Ĕ":"Ĕ","Ḝ":"Ḝ","Ě":"Ě","Ê":"Ê","Ế":"Ế","Ề":"Ề","Ễ":"Ễ","Ė":"Ė","Ȩ":"Ȩ","Ḟ":"Ḟ","Ǵ":"Ǵ","Ḡ":"Ḡ","Ğ":"Ğ","Ǧ":"Ǧ","Ĝ":"Ĝ","Ġ":"Ġ","Ģ":"Ģ","Ḧ":"Ḧ","Ȟ":"Ȟ","Ĥ":"Ĥ","Ḣ":"Ḣ","Ḩ":"Ḩ","Í":"Í","Ì":"Ì","Ï":"Ï","Ḯ":"Ḯ","Ĩ":"Ĩ","Ī":"Ī","Ĭ":"Ĭ","Ǐ":"Ǐ","Î":"Î","İ":"İ","Ĵ":"Ĵ","Ḱ":"Ḱ","Ǩ":"Ǩ","Ķ":"Ķ","Ĺ":"Ĺ","Ľ":"Ľ","Ļ":"Ļ","Ḿ":"Ḿ","Ṁ":"Ṁ","Ń":"Ń","Ǹ":"Ǹ","Ñ":"Ñ","Ň":"Ň","Ṅ":"Ṅ","Ņ":"Ņ","Ó":"Ó","Ò":"Ò","Ö":"Ö","Ȫ":"Ȫ","Õ":"Õ","Ṍ":"Ṍ","Ṏ":"Ṏ","Ȭ":"Ȭ","Ō":"Ō","Ṓ":"Ṓ","Ṑ":"Ṑ","Ŏ":"Ŏ","Ǒ":"Ǒ","Ô":"Ô","Ố":"Ố","Ồ":"Ồ","Ỗ":"Ỗ","Ȯ":"Ȯ","Ȱ":"Ȱ","Ő":"Ő","Ṕ":"Ṕ","Ṗ":"Ṗ","Ŕ":"Ŕ","Ř":"Ř","Ṙ":"Ṙ","Ŗ":"Ŗ","Ś":"Ś","Ṥ":"Ṥ","Š":"Š","Ṧ":"Ṧ","Ŝ":"Ŝ","Ṡ":"Ṡ","Ş":"Ş","Ť":"Ť","Ṫ":"Ṫ","Ţ":"Ţ","Ú":"Ú","Ù":"Ù","Ü":"Ü","Ǘ":"Ǘ","Ǜ":"Ǜ","Ǖ":"Ǖ","Ǚ":"Ǚ","Ũ":"Ũ","Ṹ":"Ṹ","Ū":"Ū","Ṻ":"Ṻ","Ŭ":"Ŭ","Ǔ":"Ǔ","Û":"Û","Ů":"Ů","Ű":"Ű","Ṽ":"Ṽ","Ẃ":"Ẃ","Ẁ":"Ẁ","Ẅ":"Ẅ","Ŵ":"Ŵ","Ẇ":"Ẇ","Ẍ":"Ẍ","Ẋ":"Ẋ","Ý":"Ý","Ỳ":"Ỳ","Ÿ":"Ÿ","Ỹ":"Ỹ","Ȳ":"Ȳ","Ŷ":"Ŷ","Ẏ":"Ẏ","Ź":"Ź","Ž":"Ž","Ẑ":"Ẑ","Ż":"Ż","ά":"ά","ὰ":"ὰ","ᾱ":"ᾱ","ᾰ":"ᾰ","έ":"έ","ὲ":"ὲ","ή":"ή","ὴ":"ὴ","ί":"ί","ὶ":"ὶ","ϊ":"ϊ","ΐ":"ΐ","ῒ":"ῒ","ῑ":"ῑ","ῐ":"ῐ","ό":"ό","ὸ":"ὸ","ύ":"ύ","ὺ":"ὺ","ϋ":"ϋ","ΰ":"ΰ","ῢ":"ῢ","ῡ":"ῡ","ῠ":"ῠ","ώ":"ώ","ὼ":"ὼ","Ύ":"Ύ","Ὺ":"Ὺ","Ϋ":"Ϋ","Ῡ":"Ῡ","Ῠ":"Ῠ","Ώ":"Ώ","Ὼ":"Ὼ"},Kn=function(){function e(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new Wn(e,t,this.mode),this.settings=t,this.leftrightDepth=0}var t=e.prototype;return t.expect=function(e,t){if(void 0===t&&(t=!0),this.fetch().text!==e)throw new n("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()},t.consume=function(){this.nextToken=null},t.fetch=function(){return null==this.nextToken&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken},t.switchMode=function(e){this.mode=e,this.gullet.switchMode(e)},t.parse=function(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}},t.subparse=function(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new Gr("}")),this.gullet.pushTokens(e);var r=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,r},t.parseExpression=function(t,r){for(var n=[];;){"math"===this.mode&&this.consumeSpaces();var a=this.fetch();if(-1!==e.endOfExpression.indexOf(a.text))break;if(r&&a.text===r)break;if(t&&Cn[a.text]&&Cn[a.text].infix)break;var i=this.parseAtom(r);if(!i)break;"internal"!==i.type&&n.push(i)}return"text"===this.mode&&this.formLigatures(n),this.handleInfixNodes(n)},t.handleInfixNodes=function(e){for(var t,r=-1,a=0;a=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var s,l=he[this.mode][t].group,h=Fr.range(e);if(oe.hasOwnProperty(l)){var c=l;s={type:"atom",mode:this.mode,family:c,loc:h,text:t}}else s={type:l,mode:this.mode,loc:h,text:t};i=s}else{if(!(t.charCodeAt(0)>=128))return null;this.settings.strict&&(N(t.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'" ('+t.charCodeAt(0)+")",e)),i={type:"textord",mode:"text",loc:Fr.range(e),text:t}}if(this.consume(),o)for(var m=0;m{const i=(0,s.c)().state.padding,n=2*(0,s.c)().state.padding,d=t.node().getBBox(),r=d.width,o=d.x,c=t.append("text").attr("x",0).attr("y",(0,s.c)().state.titleShift).attr("font-size",(0,s.c)().state.fontSize).attr("class","state-title").text(e.id),g=c.node().getBBox().width+n;let p,h=Math.max(g,r);h===r&&(h+=n);const l=t.node().getBBox();e.doc,p=o-i,g>r&&(p=(r-h)/2+i),Math.abs(o-l.x)r&&(p=o-(g-r)/2);const x=1-(0,s.c)().state.textHeight;return t.insert("rect",":first-child").attr("x",p).attr("y",x).attr("class",a?"alt-composit":"composit").attr("width",h).attr("height",l.height+(0,s.c)().state.textHeight+(0,s.c)().state.titleShift+1).attr("rx","0"),c.attr("x",p+i),g<=r&&c.attr("x",o+(h-n)/2-g/2+i),t.insert("rect",":first-child").attr("x",p).attr("y",(0,s.c)().state.titleShift-(0,s.c)().state.textHeight-(0,s.c)().state.padding).attr("width",h).attr("height",3*(0,s.c)().state.textHeight).attr("rx",(0,s.c)().state.radius),t.insert("rect",":first-child").attr("x",p).attr("y",(0,s.c)().state.titleShift-(0,s.c)().state.textHeight-(0,s.c)().state.padding).attr("width",h).attr("height",l.height+3+2*(0,s.c)().state.textHeight).attr("rx",(0,s.c)().state.radius),t},g=function(t,e){const a=e.id,i={id:a,label:e.id,width:0,height:0},n=t.append("g").attr("id",a).attr("class","stateGroup");"start"===e.type&&(t=>{t.append("circle").attr("class","start-state").attr("r",(0,s.c)().state.sizeUnit).attr("cx",(0,s.c)().state.padding+(0,s.c)().state.sizeUnit).attr("cy",(0,s.c)().state.padding+(0,s.c)().state.sizeUnit)})(n),"end"===e.type&&(t=>{t.append("circle").attr("class","end-state-outer").attr("r",(0,s.c)().state.sizeUnit+(0,s.c)().state.miniPadding).attr("cx",(0,s.c)().state.padding+(0,s.c)().state.sizeUnit+(0,s.c)().state.miniPadding).attr("cy",(0,s.c)().state.padding+(0,s.c)().state.sizeUnit+(0,s.c)().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",(0,s.c)().state.sizeUnit).attr("cx",(0,s.c)().state.padding+(0,s.c)().state.sizeUnit+2).attr("cy",(0,s.c)().state.padding+(0,s.c)().state.sizeUnit+2)})(n),"fork"!==e.type&&"join"!==e.type||((t,e)=>{let a=(0,s.c)().state.forkWidth,i=(0,s.c)().state.forkHeight;if(e.parentId){let t=a;a=i,i=t}t.append("rect").style("stroke","black").style("fill","black").attr("width",a).attr("height",i).attr("x",(0,s.c)().state.padding).attr("y",(0,s.c)().state.padding)})(n,e),"note"===e.type&&((t,e)=>{e.attr("class","state-note");const a=e.append("rect").attr("x",0).attr("y",(0,s.c)().state.padding),i=e.append("g"),{textWidth:n,textHeight:d}=((t,e,a,i)=>{let n=0;const d=i.append("text");d.style("text-anchor","start"),d.attr("class","noteText");let r=t.replace(/\r\n/g,"
");r=r.replace(/\n/g,"
");const o=r.split(s.e.lineBreakRegex);let c=1.25*(0,s.c)().state.noteMargin;for(const t of o){const e=t.trim();if(e.length>0){const t=d.append("tspan");t.text(e),0===c&&(c+=t.node().getBBox().height),n+=c,t.attr("x",0+(0,s.c)().state.noteMargin),t.attr("y",0+n+1.25*(0,s.c)().state.noteMargin)}}return{textWidth:d.node().getBBox().width,textHeight:n}})(t,0,0,i);a.attr("height",d+2*(0,s.c)().state.noteMargin),a.attr("width",n+2*(0,s.c)().state.noteMargin)})(e.note.text,n),"divider"===e.type&&(t=>{t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",(0,s.c)().state.textHeight).attr("class","divider").attr("x2",2*(0,s.c)().state.textHeight).attr("y1",0).attr("y2",0)})(n),"default"===e.type&&0===e.descriptions.length&&((t,e)=>{const a=t.append("text").attr("x",2*(0,s.c)().state.padding).attr("y",(0,s.c)().state.textHeight+2*(0,s.c)().state.padding).attr("font-size",(0,s.c)().state.fontSize).attr("class","state-title").text(e.id).node().getBBox();t.insert("rect",":first-child").attr("x",(0,s.c)().state.padding).attr("y",(0,s.c)().state.padding).attr("width",a.width+2*(0,s.c)().state.padding).attr("height",a.height+2*(0,s.c)().state.padding).attr("rx",(0,s.c)().state.radius)})(n,e),"default"===e.type&&e.descriptions.length>0&&((t,e)=>{const a=t.append("text").attr("x",2*(0,s.c)().state.padding).attr("y",(0,s.c)().state.textHeight+1.3*(0,s.c)().state.padding).attr("font-size",(0,s.c)().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),i=a.height,n=t.append("text").attr("x",(0,s.c)().state.padding).attr("y",i+.4*(0,s.c)().state.padding+(0,s.c)().state.dividerMargin+(0,s.c)().state.textHeight).attr("class","state-description");let d=!0,r=!0;e.descriptions.forEach((function(t){d||(function(t,e,a){const i=t.append("tspan").attr("x",2*(0,s.c)().state.padding).text(e);a||i.attr("dy",(0,s.c)().state.textHeight)}(n,t,r),r=!1),d=!1}));const o=t.append("line").attr("x1",(0,s.c)().state.padding).attr("y1",(0,s.c)().state.padding+i+(0,s.c)().state.dividerMargin/2).attr("y2",(0,s.c)().state.padding+i+(0,s.c)().state.dividerMargin/2).attr("class","descr-divider"),c=n.node().getBBox(),g=Math.max(c.width,a.width);o.attr("x2",g+3*(0,s.c)().state.padding),t.insert("rect",":first-child").attr("x",(0,s.c)().state.padding).attr("y",(0,s.c)().state.padding).attr("width",g+2*(0,s.c)().state.padding).attr("height",c.height+i+2*(0,s.c)().state.padding).attr("rx",(0,s.c)().state.radius)})(n,e);const d=n.node().getBBox();return i.width=d.width+2*(0,s.c)().state.padding,i.height=d.height+2*(0,s.c)().state.padding,r=i,o[a]=r,i;var r};let p,h=0;const l={},x=(t,e,a,o,u,f,y)=>{const w=new r.k({compound:!0,multigraph:!0});let b,m=!0;for(b=0;b{const e=t.parentElement;let a=0,i=0;e&&(e.parentElement&&(a=e.parentElement.getBBox().width),i=parseInt(e.getAttribute("data-x-shift"),10),Number.isNaN(i)&&(i=0)),t.setAttribute("x1",0-i+8),t.setAttribute("x2",a-i-8)}))):s.l.debug("No Node "+t+": "+JSON.stringify(w.node(t)))}));let M=v.getBBox();w.edges().forEach((function(t){void 0!==t&&void 0!==w.edge(t)&&(s.l.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(w.edge(t))),function(t,e,a){e.points=e.points.filter((t=>!Number.isNaN(t.y)));const d=e.points,r=(0,n.jvg)().x((function(t){return t.x})).y((function(t){return t.y})).curve(n.$0Z),o=t.append("path").attr("d",r(d)).attr("id","edge"+h).attr("class","transition");let c="";if((0,s.c)().state.arrowMarkerAbsolute&&(c=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,c=c.replace(/\(/g,"\\("),c=c.replace(/\)/g,"\\)")),o.attr("marker-end","url("+c+"#"+function(t){switch(t){case i.d.relationType.AGGREGATION:return"aggregation";case i.d.relationType.EXTENSION:return"extension";case i.d.relationType.COMPOSITION:return"composition";case i.d.relationType.DEPENDENCY:return"dependency"}}(i.d.relationType.DEPENDENCY)+"End)"),void 0!==a.title){const i=t.append("g").attr("class","stateLabel"),{x:n,y:d}=s.u.calcLabelPosition(e.points),r=s.e.getRows(a.title);let o=0;const c=[];let g=0,p=0;for(let t=0;t<=r.length;t++){const e=i.append("text").attr("text-anchor","middle").text(r[t]).attr("x",n).attr("y",d+o),a=e.node().getBBox();if(g=Math.max(g,a.width),p=Math.min(p,a.x),s.l.info(a.x,n,d+o),0===o){const t=e.node().getBBox();o=t.height,s.l.info("Title height",o,d)}c.push(e)}let h=o*r.length;if(r.length>1){const t=(r.length-1)*o*.5;c.forEach(((e,a)=>e.attr("y",d+a*o-t))),h=o*r.length}const l=i.node().getBBox();i.insert("rect",":first-child").attr("class","box").attr("x",n-g/2-(0,s.c)().state.padding/2).attr("y",d-h/2-(0,s.c)().state.padding/2-3.5).attr("width",g+(0,s.c)().state.padding).attr("height",h+(0,s.c)().state.padding),s.l.info(l)}h++}(e,w.edge(t),w.edge(t).relation))})),M=v.getBBox();const S={id:a||"root",label:a||"root",width:0,height:0};return S.width=M.width+2*p.padding,S.height=M.height+2*p.padding,s.l.debug("Doc rendered",S,w),S},u={setConf:function(){},draw:function(t,e,a,i){p=(0,s.c)().state;const d=(0,s.c)().securityLevel;let o;"sandbox"===d&&(o=(0,n.Ys)("#i"+e));const c="sandbox"===d?(0,n.Ys)(o.nodes()[0].contentDocument.body):(0,n.Ys)("body"),g="sandbox"===d?o.nodes()[0].contentDocument:document;s.l.debug("Rendering diagram "+t);const h=c.select(`[id='${e}']`);h.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"),new r.k({multigraph:!0,compound:!0,rankdir:"RL"}).setDefaultEdgeLabel((function(){return{}}));const l=i.db.getRootDoc();x(l,h,void 0,!1,c,g,i);const u=p.padding,f=h.node().getBBox(),y=f.width+2*u,w=f.height+2*u,b=1.75*y;(0,s.i)(h,w,b,p.useMaxWidth),h.attr("viewBox",`${f.x-p.padding} ${f.y-p.padding} `+y+" "+w)}},f={parser:i.p,db:i.d,renderer:u,styles:i.s,init:t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute,i.d.clear()}}}}]);
\ No newline at end of file
diff --git a/docs/themes/geekdoc/static/js/177-040c64bb.chunk.min.js b/docs/themes/geekdoc/static/js/177-040c64bb.chunk.min.js
new file mode 100644
index 000000000..cf71ae573
--- /dev/null
+++ b/docs/themes/geekdoc/static/js/177-040c64bb.chunk.min.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[177],{3349:function(e,t,n){n.d(t,{a:function(){return l}});var r=n(6225);function l(e,t){var n=e.append("foreignObject").attr("width","100000"),l=n.append("xhtml:div");l.attr("xmlns","http://www.w3.org/1999/xhtml");var o=t.label;switch(typeof o){case"function":l.insert(o);break;case"object":l.insert((function(){return o}));break;default:l.html(o)}r.bg(l,t.labelStyle),l.style("display","inline-block"),l.style("white-space","nowrap");var a=l.node().getBoundingClientRect();return n.attr("width",a.width).attr("height",a.height),n}},6225:function(e,t,n){n.d(t,{$p:function(){return d},O1:function(){return a},WR:function(){return p},bF:function(){return o},bg:function(){return c}});var r=n(7514),l=n(3234);function o(e,t){return!!e.children(t).length}function a(e){return s(e.v)+":"+s(e.w)+":"+s(e.name)}var i=/:/g;function s(e){return e?String(e).replace(i,"\\:"):""}function c(e,t){t&&e.attr("style",t)}function d(e,t,n){t&&e.attr("class",t).attr("class",n+" "+e.attr("class"))}function p(e,t){var n=t.graph();if(r.Z(n)){var o=n.transition;if(l.Z(o))return o(e)}return e}},3177:function(e,t,n){n.d(t,{diagram:function(){return i}});var r=n(4796),l=(n(5625),n(5740));n(5103),n(3402),n(3688),n(870),n(9451),n(6225),n(3349),n(6749),n(6446),n(3032),l.c_6;var o=n(7928);n(7484),n(7967),n(7856),n(9368);const a={},i={parser:r.p,db:r.f,renderer:o.f,styles:o.a,init:e=>{e.flowchart||(e.flowchart={}),e.flowchart.arrowMarkerAbsolute=e.arrowMarkerAbsolute,function(e){const t=Object.keys(e);for(const n of t)a[n]=e[n]}(e.flowchart),r.f.clear(),r.f.setGen("gen-1")}}},7928:function(e,t,n){n.d(t,{a:function(){return h},f:function(){return g}});var r=n(5625),l=n(5740),o=n(4796),a=n(5103),i=n(2759),s=n(3349),c=n(5971),d=n(1767),p=(e,t)=>c.Z.lang.round(d.Z.parse(e)[t]),b=n(1117);const u={},f=function(e,t,n,r,l,o){const i=r.select(`[id="${n}"]`);Object.keys(e).forEach((function(n){const r=e[n];let c="default";r.classes.length>0&&(c=r.classes.join(" ")),c+=" flowchart-label";const d=(0,a.k)(r.styles);let p,b=void 0!==r.text?r.text:r.id;if(a.l.info("vertex",r,r.labelType),"markdown"===r.labelType)a.l.info("vertex",r,r.labelType);else if((0,a.n)((0,a.c)().flowchart.htmlLabels)){const e={label:b.replace(/fa[blrs]?:fa-[\w-]+/g,(e=>``))};p=(0,s.a)(i,e).node(),p.parentNode.removeChild(p)}else{const e=l.createElementNS("http://www.w3.org/2000/svg","text");e.setAttribute("style",d.labelStyle.replace("color:","fill:"));const t=b.split(a.e.lineBreakRegex);for(const n of t){const t=l.createElementNS("http://www.w3.org/2000/svg","tspan");t.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),t.setAttribute("dy","1em"),t.setAttribute("x","1"),t.textContent=n,e.appendChild(t)}p=e}let u=0,f="";switch(r.type){case"round":u=5,f="rect";break;case"square":case"group":default:f="rect";break;case"diamond":f="question";break;case"hexagon":f="hexagon";break;case"odd":case"odd_right":f="rect_left_inv_arrow";break;case"lean_right":f="lean_right";break;case"lean_left":f="lean_left";break;case"trapezoid":f="trapezoid";break;case"inv_trapezoid":f="inv_trapezoid";break;case"circle":f="circle";break;case"ellipse":f="ellipse";break;case"stadium":f="stadium";break;case"subroutine":f="subroutine";break;case"cylinder":f="cylinder";break;case"doublecircle":f="doublecircle"}t.setNode(r.id,{labelStyle:d.labelStyle,shape:f,labelText:b,labelType:r.labelType,rx:u,ry:u,class:c,style:d.style,id:r.id,link:r.link,linkTarget:r.linkTarget,tooltip:o.db.getTooltip(r.id)||"",domId:o.db.lookUpDomId(r.id),haveCallback:r.haveCallback,width:"group"===r.type?500:void 0,dir:r.dir,type:r.type,props:r.props,padding:(0,a.c)().flowchart.padding}),a.l.info("setNode",{labelStyle:d.labelStyle,labelType:r.labelType,shape:f,labelText:b,rx:u,ry:u,class:c,style:d.style,id:r.id,domId:o.db.lookUpDomId(r.id),width:"group"===r.type?500:void 0,type:r.type,dir:r.dir,props:r.props,padding:(0,a.c)().flowchart.padding})}))},w=function(e,t,n){a.l.info("abc78 edges = ",e);let r,o,i=0,s={};if(void 0!==e.defaultStyle){const t=(0,a.k)(e.defaultStyle);r=t.style,o=t.labelStyle}e.forEach((function(n){i++;const c="L-"+n.start+"-"+n.end;void 0===s[c]?(s[c]=0,a.l.info("abc78 new entry",c,s[c])):(s[c]++,a.l.info("abc78 new entry",c,s[c]));let d=c+"-"+s[c];a.l.info("abc78 new link id to be used is",c,d,s[c]);const p="LS-"+n.start,b="LE-"+n.end,f={style:"",labelStyle:""};switch(f.minlen=n.length||1,"arrow_open"===n.type?f.arrowhead="none":f.arrowhead="normal",f.arrowTypeStart="arrow_open",f.arrowTypeEnd="arrow_open",n.type){case"double_arrow_cross":f.arrowTypeStart="arrow_cross";case"arrow_cross":f.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":f.arrowTypeStart="arrow_point";case"arrow_point":f.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":f.arrowTypeStart="arrow_circle";case"arrow_circle":f.arrowTypeEnd="arrow_circle"}let w="",g="";switch(n.stroke){case"normal":w="fill:none;",void 0!==r&&(w=r),void 0!==o&&(g=o),f.thickness="normal",f.pattern="solid";break;case"dotted":f.thickness="normal",f.pattern="dotted",f.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":f.thickness="thick",f.pattern="solid",f.style="stroke-width: 3.5px;fill:none;";break;case"invisible":f.thickness="invisible",f.pattern="solid",f.style="stroke-width: 0;fill:none;"}if(void 0!==n.style){const e=(0,a.k)(n.style);w=e.style,g=e.labelStyle}f.style=f.style+=w,f.labelStyle=f.labelStyle+=g,void 0!==n.interpolate?f.curve=(0,a.o)(n.interpolate,l.c_6):void 0!==e.defaultInterpolate?f.curve=(0,a.o)(e.defaultInterpolate,l.c_6):f.curve=(0,a.o)(u.curve,l.c_6),void 0===n.text?void 0!==n.style&&(f.arrowheadStyle="fill: #333"):(f.arrowheadStyle="fill: #333",f.labelpos="c"),f.labelType=n.labelType,f.label=n.text.replace(a.e.lineBreakRegex,"\n"),void 0===n.style&&(f.style=f.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),f.labelStyle=f.labelStyle.replace("color:","fill:"),f.id=d,f.classes="flowchart-link "+p+" "+b,t.setEdge(n.start,n.end,f,i)}))},g={setConf:function(e){const t=Object.keys(e);for(const n of t)u[n]=e[n]},addVertices:f,addEdges:w,getClasses:function(e,t){a.l.info("Extracting classes"),t.db.clear();try{return t.parse(e),t.db.getClasses()}catch(e){return}},draw:async function(e,t,n,s){a.l.info("Drawing flowchart"),s.db.clear(),o.f.setGen("gen-2"),s.parser.parse(e);let c=s.db.getDirection();void 0===c&&(c="TD");const{securityLevel:d,flowchart:p}=(0,a.c)(),b=p.nodeSpacing||50,u=p.rankSpacing||50;let g;"sandbox"===d&&(g=(0,l.Ys)("#i"+t));const h="sandbox"===d?(0,l.Ys)(g.nodes()[0].contentDocument.body):(0,l.Ys)("body"),y="sandbox"===d?g.nodes()[0].contentDocument:document,k=new r.k({multigraph:!0,compound:!0}).setGraph({rankdir:c,nodesep:b,ranksep:u,marginx:0,marginy:0}).setDefaultEdgeLabel((function(){return{}}));let x;const v=s.db.getSubGraphs();a.l.info("Subgraphs - ",v);for(let e=v.length-1;e>=0;e--)x=v[e],a.l.info("Subgraph - ",x),s.db.addVertex(x.id,{text:x.title,type:x.labelType},"group",void 0,x.classes,x.dir);const m=s.db.getVertices(),S=s.db.getEdges();a.l.info("Edges",S);let T=0;for(T=v.length-1;T>=0;T--){x=v[T],(0,l.td_)("cluster").append("text");for(let e=0;e`.label {\n font-family: ${e.fontFamily};\n color: ${e.nodeTextColor||e.textColor};\n }\n .cluster-label text {\n fill: ${e.titleColor};\n }\n .cluster-label span,p {\n color: ${e.titleColor};\n }\n\n .label text,span,p {\n fill: ${e.nodeTextColor||e.textColor};\n color: ${e.nodeTextColor||e.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${e.mainBkg};\n stroke: ${e.nodeBorder};\n stroke-width: 1px;\n }\n .flowchart-label text {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\n // }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${e.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${e.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${e.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${e.edgeLabelBackground};\n rect {\n opacity: 0.5;\n background-color: ${e.edgeLabelBackground};\n fill: ${e.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${((e,t)=>{const n=p,r=n(e,"r"),l=n(e,"g"),o=n(e,"b");return b.Z(r,l,o,.5)})(e.edgeLabelBackground)};\n // background-color: \n }\n\n .cluster rect {\n fill: ${e.clusterBkg};\n stroke: ${e.clusterBorder};\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${e.titleColor};\n }\n\n .cluster span,p {\n color: ${e.titleColor};\n }\n /* .cluster div {\n color: ${e.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${e.fontFamily};\n font-size: 12px;\n background: ${e.tertiaryColor};\n border: 1px solid ${e.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${e.textColor};\n }\n`}}]);
\ No newline at end of file
diff --git a/docs/themes/geekdoc/static/js/209-c3adcb05.chunk.min.js b/docs/themes/geekdoc/static/js/209-c3adcb05.chunk.min.js
new file mode 100644
index 000000000..ec6b95597
--- /dev/null
+++ b/docs/themes/geekdoc/static/js/209-c3adcb05.chunk.min.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[209],{3349:function(e,t,n){n.d(t,{a:function(){return l}});var r=n(6225);function l(e,t){var n=e.append("foreignObject").attr("width","100000"),l=n.append("xhtml:div");l.attr("xmlns","http://www.w3.org/1999/xhtml");var o=t.label;switch(typeof o){case"function":l.insert(o);break;case"object":l.insert((function(){return o}));break;default:l.html(o)}r.bg(l,t.labelStyle),l.style("display","inline-block"),l.style("white-space","nowrap");var a=l.node().getBoundingClientRect();return n.attr("width",a.width).attr("height",a.height),n}},6225:function(e,t,n){n.d(t,{$p:function(){return d},O1:function(){return a},WR:function(){return p},bF:function(){return o},bg:function(){return c}});var r=n(7514),l=n(3234);function o(e,t){return!!e.children(t).length}function a(e){return s(e.v)+":"+s(e.w)+":"+s(e.name)}var i=/:/g;function s(e){return e?String(e).replace(i,"\\:"):""}function c(e,t){t&&e.attr("style",t)}function d(e,t,n){t&&e.attr("class",t).attr("class",n+" "+e.attr("class"))}function p(e,t){var n=t.graph();if(r.Z(n)){var o=n.transition;if(l.Z(o))return o(e)}return e}},5209:function(e,t,n){n.d(t,{diagram:function(){return a}});var r=n(4796),l=n(7928),o=n(5103);n(5740),n(5625),n(9451),n(9368),n(7484),n(7967),n(7856);const a={parser:r.p,db:r.f,renderer:l.f,styles:l.a,init:e=>{e.flowchart||(e.flowchart={}),e.flowchart.arrowMarkerAbsolute=e.arrowMarkerAbsolute,(0,o.q)({flowchart:{arrowMarkerAbsolute:e.arrowMarkerAbsolute}}),l.f.setConf(e.flowchart),r.f.clear(),r.f.setGen("gen-2")}}},7928:function(e,t,n){n.d(t,{a:function(){return h},f:function(){return g}});var r=n(5625),l=n(5740),o=n(4796),a=n(5103),i=n(2759),s=n(3349),c=n(5971),d=n(1767),p=(e,t)=>c.Z.lang.round(d.Z.parse(e)[t]),b=n(1117);const u={},f=function(e,t,n,r,l,o){const i=r.select(`[id="${n}"]`);Object.keys(e).forEach((function(n){const r=e[n];let c="default";r.classes.length>0&&(c=r.classes.join(" ")),c+=" flowchart-label";const d=(0,a.k)(r.styles);let p,b=void 0!==r.text?r.text:r.id;if(a.l.info("vertex",r,r.labelType),"markdown"===r.labelType)a.l.info("vertex",r,r.labelType);else if((0,a.n)((0,a.c)().flowchart.htmlLabels)){const e={label:b.replace(/fa[blrs]?:fa-[\w-]+/g,(e=>``))};p=(0,s.a)(i,e).node(),p.parentNode.removeChild(p)}else{const e=l.createElementNS("http://www.w3.org/2000/svg","text");e.setAttribute("style",d.labelStyle.replace("color:","fill:"));const t=b.split(a.e.lineBreakRegex);for(const n of t){const t=l.createElementNS("http://www.w3.org/2000/svg","tspan");t.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),t.setAttribute("dy","1em"),t.setAttribute("x","1"),t.textContent=n,e.appendChild(t)}p=e}let u=0,f="";switch(r.type){case"round":u=5,f="rect";break;case"square":case"group":default:f="rect";break;case"diamond":f="question";break;case"hexagon":f="hexagon";break;case"odd":case"odd_right":f="rect_left_inv_arrow";break;case"lean_right":f="lean_right";break;case"lean_left":f="lean_left";break;case"trapezoid":f="trapezoid";break;case"inv_trapezoid":f="inv_trapezoid";break;case"circle":f="circle";break;case"ellipse":f="ellipse";break;case"stadium":f="stadium";break;case"subroutine":f="subroutine";break;case"cylinder":f="cylinder";break;case"doublecircle":f="doublecircle"}t.setNode(r.id,{labelStyle:d.labelStyle,shape:f,labelText:b,labelType:r.labelType,rx:u,ry:u,class:c,style:d.style,id:r.id,link:r.link,linkTarget:r.linkTarget,tooltip:o.db.getTooltip(r.id)||"",domId:o.db.lookUpDomId(r.id),haveCallback:r.haveCallback,width:"group"===r.type?500:void 0,dir:r.dir,type:r.type,props:r.props,padding:(0,a.c)().flowchart.padding}),a.l.info("setNode",{labelStyle:d.labelStyle,labelType:r.labelType,shape:f,labelText:b,rx:u,ry:u,class:c,style:d.style,id:r.id,domId:o.db.lookUpDomId(r.id),width:"group"===r.type?500:void 0,type:r.type,dir:r.dir,props:r.props,padding:(0,a.c)().flowchart.padding})}))},w=function(e,t,n){a.l.info("abc78 edges = ",e);let r,o,i=0,s={};if(void 0!==e.defaultStyle){const t=(0,a.k)(e.defaultStyle);r=t.style,o=t.labelStyle}e.forEach((function(n){i++;const c="L-"+n.start+"-"+n.end;void 0===s[c]?(s[c]=0,a.l.info("abc78 new entry",c,s[c])):(s[c]++,a.l.info("abc78 new entry",c,s[c]));let d=c+"-"+s[c];a.l.info("abc78 new link id to be used is",c,d,s[c]);const p="LS-"+n.start,b="LE-"+n.end,f={style:"",labelStyle:""};switch(f.minlen=n.length||1,"arrow_open"===n.type?f.arrowhead="none":f.arrowhead="normal",f.arrowTypeStart="arrow_open",f.arrowTypeEnd="arrow_open",n.type){case"double_arrow_cross":f.arrowTypeStart="arrow_cross";case"arrow_cross":f.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":f.arrowTypeStart="arrow_point";case"arrow_point":f.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":f.arrowTypeStart="arrow_circle";case"arrow_circle":f.arrowTypeEnd="arrow_circle"}let w="",g="";switch(n.stroke){case"normal":w="fill:none;",void 0!==r&&(w=r),void 0!==o&&(g=o),f.thickness="normal",f.pattern="solid";break;case"dotted":f.thickness="normal",f.pattern="dotted",f.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":f.thickness="thick",f.pattern="solid",f.style="stroke-width: 3.5px;fill:none;";break;case"invisible":f.thickness="invisible",f.pattern="solid",f.style="stroke-width: 0;fill:none;"}if(void 0!==n.style){const e=(0,a.k)(n.style);w=e.style,g=e.labelStyle}f.style=f.style+=w,f.labelStyle=f.labelStyle+=g,void 0!==n.interpolate?f.curve=(0,a.o)(n.interpolate,l.c_6):void 0!==e.defaultInterpolate?f.curve=(0,a.o)(e.defaultInterpolate,l.c_6):f.curve=(0,a.o)(u.curve,l.c_6),void 0===n.text?void 0!==n.style&&(f.arrowheadStyle="fill: #333"):(f.arrowheadStyle="fill: #333",f.labelpos="c"),f.labelType=n.labelType,f.label=n.text.replace(a.e.lineBreakRegex,"\n"),void 0===n.style&&(f.style=f.style||"stroke: #333; stroke-width: 1.5px;fill:none;"),f.labelStyle=f.labelStyle.replace("color:","fill:"),f.id=d,f.classes="flowchart-link "+p+" "+b,t.setEdge(n.start,n.end,f,i)}))},g={setConf:function(e){const t=Object.keys(e);for(const n of t)u[n]=e[n]},addVertices:f,addEdges:w,getClasses:function(e,t){a.l.info("Extracting classes"),t.db.clear();try{return t.parse(e),t.db.getClasses()}catch(e){return}},draw:async function(e,t,n,s){a.l.info("Drawing flowchart"),s.db.clear(),o.f.setGen("gen-2"),s.parser.parse(e);let c=s.db.getDirection();void 0===c&&(c="TD");const{securityLevel:d,flowchart:p}=(0,a.c)(),b=p.nodeSpacing||50,u=p.rankSpacing||50;let g;"sandbox"===d&&(g=(0,l.Ys)("#i"+t));const h="sandbox"===d?(0,l.Ys)(g.nodes()[0].contentDocument.body):(0,l.Ys)("body"),y="sandbox"===d?g.nodes()[0].contentDocument:document,k=new r.k({multigraph:!0,compound:!0}).setGraph({rankdir:c,nodesep:b,ranksep:u,marginx:0,marginy:0}).setDefaultEdgeLabel((function(){return{}}));let x;const v=s.db.getSubGraphs();a.l.info("Subgraphs - ",v);for(let e=v.length-1;e>=0;e--)x=v[e],a.l.info("Subgraph - ",x),s.db.addVertex(x.id,{text:x.title,type:x.labelType},"group",void 0,x.classes,x.dir);const m=s.db.getVertices(),S=s.db.getEdges();a.l.info("Edges",S);let T=0;for(T=v.length-1;T>=0;T--){x=v[T],(0,l.td_)("cluster").append("text");for(let e=0;e`.label {\n font-family: ${e.fontFamily};\n color: ${e.nodeTextColor||e.textColor};\n }\n .cluster-label text {\n fill: ${e.titleColor};\n }\n .cluster-label span,p {\n color: ${e.titleColor};\n }\n\n .label text,span,p {\n fill: ${e.nodeTextColor||e.textColor};\n color: ${e.nodeTextColor||e.textColor};\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${e.mainBkg};\n stroke: ${e.nodeBorder};\n stroke-width: 1px;\n }\n .flowchart-label text {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\n // }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${e.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${e.lineColor};\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ${e.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${e.edgeLabelBackground};\n rect {\n opacity: 0.5;\n background-color: ${e.edgeLabelBackground};\n fill: ${e.edgeLabelBackground};\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ${((e,t)=>{const n=p,r=n(e,"r"),l=n(e,"g"),o=n(e,"b");return b.Z(r,l,o,.5)})(e.edgeLabelBackground)};\n // background-color: \n }\n\n .cluster rect {\n fill: ${e.clusterBkg};\n stroke: ${e.clusterBorder};\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ${e.titleColor};\n }\n\n .cluster span,p {\n color: ${e.titleColor};\n }\n /* .cluster div {\n color: ${e.titleColor};\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${e.fontFamily};\n font-size: 12px;\n background: ${e.tertiaryColor};\n border: 1px solid ${e.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${e.textColor};\n }\n`}}]);
\ No newline at end of file
diff --git a/docs/themes/geekdoc/static/js/246-0f95be8b.chunk.min.js b/docs/themes/geekdoc/static/js/246-0f95be8b.chunk.min.js
new file mode 100644
index 000000000..c9a9f59c0
--- /dev/null
+++ b/docs/themes/geekdoc/static/js/246-0f95be8b.chunk.min.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[246],{1246:function(t,e,n){n.d(e,{diagram:function(){return A}});var i=n(5103),r=n(5740),s=n(8770),a=(n(7484),n(7967),n(7856),function(){var t=function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},e=[1,2],n=[1,5],i=[6,9,11,17,18,20,22,23,24,26],r=[1,15],s=[1,16],a=[1,17],o=[1,18],c=[1,19],l=[1,20],h=[1,24],u=[4,6,9,11,17,18,20,22,23,24,26],y={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,title:17,acc_title:18,acc_title_value:19,acc_descr:20,acc_descr_value:21,acc_descr_multiline_value:22,section:23,taskName:24,taskData:25,open_directive:26,type_directive:27,arg_directive:28,close_directive:29,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",17:"title",18:"acc_title",19:"acc_title_value",20:"acc_descr",21:"acc_descr_value",22:"acc_descr_multiline_value",23:"section",24:"taskName",25:"taskData",26:"open_directive",27:"type_directive",28:"arg_directive",29:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,2],[10,2],[10,1],[10,1],[10,2],[10,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(t,e,n,i,r,s,a){var o=s.length-1;switch(r){case 1:return s[o-1];case 3:case 7:case 8:this.$=[];break;case 4:s[o-1].push(s[o]),this.$=s[o-1];break;case 5:case 6:this.$=s[o];break;case 11:i.setDiagramTitle(s[o].substr(6)),this.$=s[o].substr(6);break;case 12:this.$=s[o].trim(),i.setAccTitle(this.$);break;case 13:case 14:this.$=s[o].trim(),i.setAccDescription(this.$);break;case 15:i.addSection(s[o].substr(8)),this.$=s[o].substr(8);break;case 16:i.addTask(s[o-1],s[o]),this.$="task";break;case 18:i.parseDirective("%%{","open_directive");break;case 19:i.parseDirective(s[o],"type_directive");break;case 20:s[o]=s[o].trim().replace(/'/g,'"'),i.parseDirective(s[o],"arg_directive");break;case 21:i.parseDirective("}%%","close_directive","journey")}},table:[{3:1,4:e,7:3,12:4,26:n},{1:[3]},t(i,[2,3],{5:6}),{3:7,4:e,7:3,12:4,26:n},{13:8,27:[1,9]},{27:[2,18]},{6:[1,10],7:21,8:11,9:[1,12],10:13,11:[1,14],12:4,17:r,18:s,20:a,22:o,23:c,24:l,26:n},{1:[2,2]},{14:22,15:[1,23],29:h},t([15,29],[2,19]),t(i,[2,8],{1:[2,1]}),t(i,[2,4]),{7:21,10:25,12:4,17:r,18:s,20:a,22:o,23:c,24:l,26:n},t(i,[2,6]),t(i,[2,7]),t(i,[2,11]),{19:[1,26]},{21:[1,27]},t(i,[2,14]),t(i,[2,15]),{25:[1,28]},t(i,[2,17]),{11:[1,29]},{16:30,28:[1,31]},{11:[2,21]},t(i,[2,5]),t(i,[2,12]),t(i,[2,13]),t(i,[2,16]),t(u,[2,9]),{14:32,29:h},{29:[2,20]},{11:[1,33]},t(u,[2,10])],defaultActions:{5:[2,18],7:[2,2],24:[2,21],31:[2,20]},parseError:function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},parse:function(t){var e=[0],n=[],i=[null],r=[],s=this.table,a="",o=0,c=0,l=r.slice.call(arguments,1),h=Object.create(this.lexer),u={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(u.yy[y]=this.yy[y]);h.setInput(t,u.yy),u.yy.lexer=h,u.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;r.push(p);var d=h.options&&h.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,g,x,m,k,_,b,v,$,w={};;){if(g=e[e.length-1],this.defaultActions[g]?x=this.defaultActions[g]:(null==f&&($=void 0,"number"!=typeof($=n.pop()||h.lex()||1)&&($ instanceof Array&&($=(n=$).pop()),$=this.symbols_[$]||$),f=$),x=s[g]&&s[g][f]),void 0===x||!x.length||!x[0]){var M;for(k in v=[],s[g])this.terminals_[k]&&k>2&&v.push("'"+this.terminals_[k]+"'");M=h.showPosition?"Parse error on line "+(o+1)+":\n"+h.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(M,{text:h.match,token:this.terminals_[f]||f,line:h.yylineno,loc:p,expected:v})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+f);switch(x[0]){case 1:e.push(f),i.push(h.yytext),r.push(h.yylloc),e.push(x[1]),f=null,c=h.yyleng,a=h.yytext,o=h.yylineno,p=h.yylloc;break;case 2:if(_=this.productions_[x[1]][1],w.$=i[i.length-_],w._$={first_line:r[r.length-(_||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(_||1)].first_column,last_column:r[r.length-1].last_column},d&&(w._$.range=[r[r.length-(_||1)].range[0],r[r.length-1].range[1]]),void 0!==(m=this.performAction.apply(w,[a,c,o,u.yy,x[1],i,r].concat(l))))return m;_&&(e=e.slice(0,-1*_*2),i=i.slice(0,-1*_),r=r.slice(0,-1*_)),e.push(this.productions_[x[1]][0]),i.push(w.$),r.push(w._$),b=s[e[e.length-2]][e[e.length-1]],e.push(b);break;case 3:return!0}}return!0}},p={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var s in r)this[s]=r[s];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;se[0].length)){if(e=n,i=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,r[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,n,i){switch(n){case 0:return this.begin("open_directive"),26;case 1:return this.begin("type_directive"),27;case 2:return this.popState(),this.begin("arg_directive"),15;case 3:return this.popState(),this.popState(),29;case 4:return 28;case 5:case 6:case 8:case 9:break;case 7:return 11;case 10:return 4;case 11:return 17;case 12:return this.begin("acc_title"),18;case 13:return this.popState(),"acc_title_value";case 14:return this.begin("acc_descr"),20;case 15:return this.popState(),"acc_descr_value";case 16:this.begin("acc_descr_multiline");break;case 17:this.popState();break;case 18:return"acc_descr_multiline_value";case 19:return 23;case 20:return 24;case 21:return 25;case 22:return 15;case 23:return 6;case 24:return"INVALID"}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%(?!\{)[^\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:{open_directive:{rules:[1],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},acc_descr_multiline:{rules:[17,18],inclusive:!1},acc_descr:{rules:[15],inclusive:!1},acc_title:{rules:[13],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,10,11,12,14,16,19,20,21,22,23,24],inclusive:!0}}};function d(){this.yy={}}return y.lexer=p,d.prototype=y,y.Parser=d,new d}());a.parser=a;const o=a;let c="";const l=[],h=[],u=[],y=function(){let t=!0;for(const[e,n]of u.entries())u[e].processed,t=t&&n.processed;return t},p={parseDirective:function(t,e,n){i.m.parseDirective(this,t,e,n)},getConfig:()=>(0,i.c)().journey,clear:function(){l.length=0,h.length=0,c="",u.length=0,(0,i.v)()},setDiagramTitle:i.r,getDiagramTitle:i.t,setAccTitle:i.s,getAccTitle:i.g,setAccDescription:i.b,getAccDescription:i.a,addSection:function(t){c=t,l.push(t)},getSections:function(){return l},getTasks:function(){let t=y(),e=0;for(;!t&&e<100;)t=y(),e++;return h.push(...u),h},addTask:function(t,e){const n=e.substr(1).split(":");let i=0,r=[];1===n.length?(i=Number(n[0]),r=[]):(i=Number(n[0]),r=n[1].split(","));const s=r.map((t=>t.trim())),a={section:c,type:c,people:s,task:t,score:i};u.push(a)},addTaskOrg:function(t){const e={section:c,type:c,description:t,task:t,classes:[]};h.push(e)},getActors:function(){return function(){const t=[];return h.forEach((e=>{e.people&&t.push(...e.people)})),[...new Set(t)].sort()}()}},d=function(t,e){return(0,s.d)(t,e)},f=function(t,e){const n=t.append("circle");return n.attr("cx",e.cx),n.attr("cy",e.cy),n.attr("class","actor-"+e.pos),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("r",e.r),void 0!==n.class&&n.attr("class",n.class),void 0!==e.title&&n.append("title").text(e.title),n};let g=-1;const x=function(){function t(t,e,n,r,s,a,o,c){i(e.append("text").attr("x",n+s/2).attr("y",r+a/2+5).style("font-color",c).style("text-anchor","middle").text(t),o)}function e(t,e,n,r,s,a,o,c,l){const{taskFontSize:h,taskFontFamily:u}=c,y=t.split(/
/gi);for(let t=0;t3?function(t){const n=(0,r.Nb1)().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",n).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}(n):e.score<3?function(t){const n=(0,r.Nb1)().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",n).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}(n):n.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}(a,{cx:i,cy:300+30*(5-e.score),score:e.score});const o=(0,s.g)();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=n.width,o.height=n.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,d(a,o);let c=e.x+14;e.people.forEach((t=>{const n=e.actors[t].color,i={cx:c,cy:e.y,r:7,fill:n,stroke:"#000",title:t,pos:e.actors[t].position};f(a,i),c+=10})),x(n)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},n,e.colour)},v={},$=(0,i.c)().journey,w=$.leftMargin,M={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},updateVal:function(t,e,n,i){void 0===t[e]?t[e]=n:t[e]=i(n,t[e])},updateBounds:function(t,e,n,r){const s=(0,i.c)().journey,a=this;let o=0;this.sequenceItems.forEach((function(i){o++;const c=a.sequenceItems.length-o+1;a.updateVal(i,"starty",e-c*s.boxMargin,Math.min),a.updateVal(i,"stopy",r+c*s.boxMargin,Math.max),a.updateVal(M.data,"startx",t-c*s.boxMargin,Math.min),a.updateVal(M.data,"stopx",n+c*s.boxMargin,Math.max),a.updateVal(i,"startx",t-c*s.boxMargin,Math.min),a.updateVal(i,"stopx",n+c*s.boxMargin,Math.max),a.updateVal(M.data,"starty",e-c*s.boxMargin,Math.min),a.updateVal(M.data,"stopy",r+c*s.boxMargin,Math.max)}))},insert:function(t,e,n,i){const r=Math.min(t,n),s=Math.max(t,n),a=Math.min(e,i),o=Math.max(e,i);this.updateVal(M.data,"startx",r,Math.min),this.updateVal(M.data,"starty",a,Math.min),this.updateVal(M.data,"stopx",s,Math.max),this.updateVal(M.data,"stopy",o,Math.max),this.updateBounds(r,a,s,o)},bumpVerticalPos:function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return this.data}},E=$.sectionFills,S=$.sectionColours,T={setConf:function(t){Object.keys(t).forEach((function(e){$[e]=t[e]}))},draw:function(t,e,n,s){const a=(0,i.c)().journey;s.db.clear(),s.parser.parse(t+"\n");const o=(0,i.c)().securityLevel;let c;"sandbox"===o&&(c=(0,r.Ys)("#i"+e));const l="sandbox"===o?(0,r.Ys)(c.nodes()[0].contentDocument.body):(0,r.Ys)("body");M.init();const h=l.select("#"+e);h.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");const u=s.db.getTasks(),y=s.db.getDiagramTitle(),p=s.db.getActors();for(const t in v)delete v[t];let d=0;p.forEach((t=>{v[t]={color:a.actorColours[d%a.actorColours.length],position:d},d++})),function(t){const e=(0,i.c)().journey;let n=60;Object.keys(v).forEach((i=>{const r=v[i].color,s={cx:20,cy:n,r:7,fill:r,stroke:"#000",pos:v[i].position};m(t,s);const a={x:40,y:n+7,fill:"#666",text:i,textMargin:5|e.boxTextMargin};_(t,a),n+=20}))}(h),M.insert(0,0,w,50*Object.keys(v).length),function(t,e,n){const r=(0,i.c)().journey;let s="";const a=n+(2*r.height+r.diagramMarginY);let o=0,c="#CCC",l="black",h=0;for(const[n,i]of e.entries()){if(s!==i.section){c=E[o%E.length],h=o%E.length,l=S[o%S.length];let a=0;const u=i.section;for(let t=n;t(v[e]&&(t[e]=v[e]),t)),{});i.x=n*r.taskMargin+n*r.width+w,i.y=a,i.width=r.diagramMarginX,i.height=r.diagramMarginY,i.colour=l,i.fill=c,i.num=h,i.actors=u,b(t,i,r),M.insert(i.x,i.y,i.x+i.width+r.taskMargin,450)}}(h,u,0);const f=M.getBounds();y&&h.append("text").text(y).attr("x",w).attr("font-size","4ex").attr("font-weight","bold").attr("y",25);const g=f.stopy-f.starty+2*a.diagramMarginY,x=w+f.stopx+2*a.diagramMarginX;(0,i.i)(h,g,x,a.useMaxWidth),h.append("line").attr("x1",w).attr("y1",4*a.height).attr("x2",x-w-4).attr("y2",4*a.height).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");const $=y?70:0;h.attr("viewBox",`${f.startx} -25 ${x} ${g+$}`),h.attr("preserveAspectRatio","xMinYMin meet"),h.attr("height",g+$+25)}},A={parser:o,db:p,renderer:T,styles:t=>`.label {\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n color: ${t.textColor};\n }\n .mouth {\n stroke: #666;\n }\n\n line {\n stroke: ${t.textColor}\n }\n\n .legend {\n fill: ${t.textColor};\n }\n\n .label text {\n fill: #333;\n }\n .label {\n color: ${t.textColor}\n }\n\n .face {\n ${t.faceColor?`fill: ${t.faceColor}`:"fill: #FFF8DC"};\n stroke: #999;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${t.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${t.lineColor};\n stroke-width: 1.5px;\n }\n\n .flowchart-link {\n stroke: ${t.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${t.edgeLabelBackground};\n rect {\n opacity: 0.5;\n }\n text-align: center;\n }\n\n .cluster rect {\n }\n\n .cluster text {\n fill: ${t.titleColor};\n }\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n font-size: 12px;\n background: ${t.tertiaryColor};\n border: 1px solid ${t.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .task-type-0, .section-type-0 {\n ${t.fillType0?`fill: ${t.fillType0}`:""};\n }\n .task-type-1, .section-type-1 {\n ${t.fillType0?`fill: ${t.fillType1}`:""};\n }\n .task-type-2, .section-type-2 {\n ${t.fillType0?`fill: ${t.fillType2}`:""};\n }\n .task-type-3, .section-type-3 {\n ${t.fillType0?`fill: ${t.fillType3}`:""};\n }\n .task-type-4, .section-type-4 {\n ${t.fillType0?`fill: ${t.fillType4}`:""};\n }\n .task-type-5, .section-type-5 {\n ${t.fillType0?`fill: ${t.fillType5}`:""};\n }\n .task-type-6, .section-type-6 {\n ${t.fillType0?`fill: ${t.fillType6}`:""};\n }\n .task-type-7, .section-type-7 {\n ${t.fillType0?`fill: ${t.fillType7}`:""};\n }\n\n .actor-0 {\n ${t.actor0?`fill: ${t.actor0}`:""};\n }\n .actor-1 {\n ${t.actor1?`fill: ${t.actor1}`:""};\n }\n .actor-2 {\n ${t.actor2?`fill: ${t.actor2}`:""};\n }\n .actor-3 {\n ${t.actor3?`fill: ${t.actor3}`:""};\n }\n .actor-4 {\n ${t.actor4?`fill: ${t.actor4}`:""};\n }\n .actor-5 {\n ${t.actor5?`fill: ${t.actor5}`:""};\n }\n`,init:t=>{T.setConf(t.journey),p.clear()}}},8770:function(t,e,n){n.d(e,{a:function(){return s},b:function(){return c},c:function(){return o},d:function(){return r},e:function(){return h},f:function(){return a},g:function(){return l}});var i=n(7967);const r=function(t,e){const n=t.append("rect");if(n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),n.attr("rx",e.rx),n.attr("ry",e.ry),"undefined"!==e.attrs&&null!==e.attrs)for(let t in e.attrs)n.attr(t,e.attrs[t]);return"undefined"!==e.class&&n.attr("class",e.class),n},s=function(t,e){r(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower()},a=function(t,e){const n=e.text.replace(/
/gi," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.attr("class","legend"),i.style("text-anchor",e.anchor),void 0!==e.class&&i.attr("class",e.class);const r=i.append("tspan");return r.attr("x",e.x+2*e.textMargin),r.text(n),i},o=function(t,e,n,r){const s=t.append("image");s.attr("x",e),s.attr("y",n);var a=(0,i.N)(r);s.attr("xlink:href",a)},c=function(t,e,n,r){const s=t.append("use");s.attr("x",e),s.attr("y",n);const a=(0,i.N)(r);s.attr("xlink:href","#"+a)},l=function(){return{x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}},h=function(){return{x:0,y:0,width:100,height:100,fill:void 0,anchor:void 0,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}}}}]);
\ No newline at end of file
diff --git a/docs/themes/geekdoc/static/js/264-68fcc9b2.chunk.min.js b/docs/themes/geekdoc/static/js/264-68fcc9b2.chunk.min.js
new file mode 100644
index 000000000..dca94362c
--- /dev/null
+++ b/docs/themes/geekdoc/static/js/264-68fcc9b2.chunk.min.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[264],{8264:function(t,e,r){r.d(e,{a:function(){return d},b:function(){return M},c:function(){return o},d:function(){return C},e:function(){return v},f:function(){return P},g:function(){return _},h:function(){return Y},i:function(){return u},l:function(){return c},p:function(){return T},s:function(){return S},u:function(){return h}});var a=r(5103),n=r(5740),i=r(6105),s=r(8237);const l={extension:(t,e,r)=>{a.l.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",e+"-extensionStart").attr("class","marker extension "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",e+"-extensionEnd").attr("class","marker extension "+e).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")},composition:(t,e)=>{t.append("defs").append("marker").attr("id",e+"-compositionStart").attr("class","marker composition "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",e+"-compositionEnd").attr("class","marker composition "+e).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")},aggregation:(t,e)=>{t.append("defs").append("marker").attr("id",e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",e+"-aggregationEnd").attr("class","marker aggregation "+e).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")},dependency:(t,e)=>{t.append("defs").append("marker").attr("id",e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",e+"-dependencyEnd").attr("class","marker dependency "+e).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")},lollipop:(t,e)=>{t.append("defs").append("marker").attr("id",e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","white").attr("cx",6).attr("cy",7).attr("r",6)},point:(t,e)=>{t.append("marker").attr("id",e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",10).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},circle:(t,e)=>{t.append("marker").attr("id",e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},cross:(t,e)=>{t.append("marker").attr("id",e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},barb:(t,e)=>{t.append("defs").append("marker").attr("id",e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}},d=(t,e,r,a)=>{e.forEach((e=>{l[e](t,r,a)}))},o=(t,e,r,i)=>{let s=t||"";if("object"==typeof s&&(s=s[0]),(0,a.n)((0,a.c)().flowchart.htmlLabels)){return s=s.replace(/\\n|\n/g,"
"),a.l.info("vertexText"+s),function(t){const e=(0,n.Ys)(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),r=e.append("xhtml:div"),a=t.label,i=t.isNode?"nodeLabel":"edgeLabel";var s;return r.html('"+a+""),(s=t.labelStyle)&&r.attr("style",s),r.style("display","inline-block"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}({isNode:i,label:(0,a.H)(s).replace(/fa[blrs]?:fa-[\w-]+/g,(t=>``)),labelStyle:e.replace("fill:","color:")})}{const t=document.createElementNS("http://www.w3.org/2000/svg","text");t.setAttribute("style",e.replace("color:","fill:"));let a=[];a="string"==typeof s?s.split(/\\n|\n|
/gi):Array.isArray(s)?s:[];for(const e of a){const a=document.createElementNS("http://www.w3.org/2000/svg","tspan");a.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),a.setAttribute("dy","1em"),a.setAttribute("x","0"),r?a.setAttribute("class","title-row"):a.setAttribute("class","row"),a.textContent=e.trim(),t.appendChild(a)}return t}},c=async(t,e,r,s)=>{let l;const d=e.useHtmlLabels||(0,a.n)((0,a.c)().flowchart.htmlLabels);l=r||"node default";const c=t.insert("g").attr("class",l).attr("id",e.domId||e.id),h=c.insert("g").attr("class","label").attr("style",e.labelStyle);let p;p=void 0===e.labelText?"":"string"==typeof e.labelText?e.labelText:e.labelText[0];const g=h.node();let y;y="markdown"===e.labelType?(0,i.c)(h,(0,a.d)((0,a.H)(p),(0,a.c)()),{useHtmlLabels:d,width:e.width||(0,a.c)().flowchart.wrappingWidth,classes:"markdown-node-label"}):g.appendChild(o((0,a.d)((0,a.H)(p),(0,a.c)()),e.labelStyle,!1,s));let f=y.getBBox();const u=e.padding/2;if((0,a.n)((0,a.c)().flowchart.htmlLabels)){const t=y.children[0],e=(0,n.Ys)(y),r=t.getElementsByTagName("img");if(r){const t=""===p.replace(/]*>/g,"").trim();await Promise.all([...r].map((e=>new Promise((r=>e.addEventListener("load",(function(){if(e.style.display="flex",e.style.flexDirection="column",t){const t=(0,a.c)().fontSize?(0,a.c)().fontSize:window.getComputedStyle(document.body).fontSize,r=5;e.style.width=parseInt(t,10)*r+"px"}else e.style.width="100%";r(e)})))))))}f=t.getBoundingClientRect(),e.attr("width",f.width),e.attr("height",f.height)}return d?h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"):h.attr("transform","translate(0, "+-f.height/2+")"),e.centerLabel&&h.attr("transform","translate("+-f.width/2+", "+-f.height/2+")"),h.insert("rect",":first-child"),{shapeSvg:c,bbox:f,halfPadding:u,label:h}},h=(t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height};function p(t,e,r,a){return t.insert("polygon",":first-child").attr("points",a.map((function(t){return t.x+","+t.y})).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}function g(t,e,r,a){var n=t.x,i=t.y,s=n-a.x,l=i-a.y,d=Math.sqrt(e*e*l*l+r*r*s*s),o=Math.abs(e*r*s/d);a.x0}const u=(t,e)=>{var r,a,n=t.x,i=t.y,s=e.x-n,l=e.y-i,d=t.width/2,o=t.height/2;return Math.abs(l)*d>Math.abs(s)*o?(l<0&&(o=-o),r=0===l?0:o*s/l,a=o):(s<0&&(d=-d),r=d,a=0===s?0:d*l/s),{x:n+r,y:i+a}},x={node:function(t,e){return t.intersect(e)},circle:function(t,e,r){return g(t,e,e,r)},ellipse:g,polygon:function(t,e,r){var a=t.x,n=t.y,i=[],s=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;"function"==typeof e.forEach?e.forEach((function(t){s=Math.min(s,t.x),l=Math.min(l,t.y)})):(s=Math.min(s,e.x),l=Math.min(l,e.y));for(var d=a-t.width/2-s,o=n-t.height/2-l,c=0;c1&&i.sort((function(t,e){var a=t.x-r.x,n=t.y-r.y,i=Math.sqrt(a*a+n*n),s=e.x-r.x,l=e.y-r.y,d=Math.sqrt(s*s+l*l);return i{const{shapeSvg:r,bbox:n}=await c(t,e,void 0,!0),i=n.width+e.padding+(n.height+e.padding),s=[{x:i/2,y:0},{x:i,y:-i/2},{x:i/2,y:-i},{x:0,y:-i/2}];a.l.info("Question main (Circle)");const l=p(r,i,i,s);return l.attr("style",e.style),h(e,l),e.intersect=function(t){return a.l.warn("Intersect called"),x.polygon(e,s,t)},r};function w(t,e,r,n){const i=[],s=t=>{i.push(t,0)},l=t=>{i.push(0,t)};e.includes("t")?(a.l.debug("add top border"),s(r)):l(r),e.includes("r")?(a.l.debug("add right border"),s(n)):l(n),e.includes("b")?(a.l.debug("add bottom border"),s(r)):l(r),e.includes("l")?(a.l.debug("add left border"),s(n)):l(n),t.attr("stroke-dasharray",i.join(" "))}const m=(t,e,r)=>{const a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let n=70,i=10;"LR"===r&&(n=10,i=70);const s=a.append("rect").attr("x",-1*n/2).attr("y",-1*i/2).attr("width",n).attr("height",i).attr("class","fork-join");return h(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(t){return x.rect(e,t)},a},k={rhombus:b,question:b,rect:async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await c(t,e,"node "+e.classes,!0),s=r.insert("rect",":first-child"),l=n.width+e.padding,d=n.height+e.padding;if(s.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",-n.width/2-i).attr("y",-n.height/2-i).attr("width",l).attr("height",d),e.props){const t=new Set(Object.keys(e.props));e.props.borders&&(w(s,e.props.borders,l,d),t.delete("borders")),t.forEach((t=>{a.l.warn(`Unknown node property ${t}`)}))}return h(e,s),e.intersect=function(t){return x.rect(e,t)},r},labelRect:async(t,e)=>{const{shapeSvg:r}=await c(t,e,"label",!0);a.l.trace("Classes = ",e.classes);const n=r.insert("rect",":first-child");if(n.attr("width",0).attr("height",0),r.attr("class","label edgeLabel"),e.props){const t=new Set(Object.keys(e.props));e.props.borders&&(w(n,e.props.borders,0,0),t.delete("borders")),t.forEach((t=>{a.l.warn(`Unknown node property ${t}`)}))}return h(e,n),e.intersect=function(t){return x.rect(e,t)},r},rectWithTitle:(t,e)=>{let r;r=e.classes?"node "+e.classes:"node default";const i=t.insert("g").attr("class",r).attr("id",e.domId||e.id),s=i.insert("rect",":first-child"),l=i.insert("line"),d=i.insert("g").attr("class","label"),c=e.labelText.flat?e.labelText.flat():e.labelText;let p="";p="object"==typeof c?c[0]:c,a.l.info("Label text abc79",p,c,"object"==typeof c);const g=d.node().appendChild(o(p,e.labelStyle,!0,!0));let y={width:0,height:0};if((0,a.n)((0,a.c)().flowchart.htmlLabels)){const t=g.children[0],e=(0,n.Ys)(g);y=t.getBoundingClientRect(),e.attr("width",y.width),e.attr("height",y.height)}a.l.info("Text 2",c);const f=c.slice(1,c.length);let u=g.getBBox();const b=d.node().appendChild(o(f.join?f.join("
"):f,e.labelStyle,!0,!0));if((0,a.n)((0,a.c)().flowchart.htmlLabels)){const t=b.children[0],e=(0,n.Ys)(b);y=t.getBoundingClientRect(),e.attr("width",y.width),e.attr("height",y.height)}const w=e.padding/2;return(0,n.Ys)(b).attr("transform","translate( "+(y.width>u.width?0:(u.width-y.width)/2)+", "+(u.height+w+5)+")"),(0,n.Ys)(g).attr("transform","translate( "+(y.width{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);return r.insert("polygon",":first-child").attr("points",[{x:0,y:14},{x:14,y:0},{x:0,y:-14},{x:-14,y:0}].map((function(t){return t.x+","+t.y})).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(t){return x.circle(e,14,t)},r},circle:async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await c(t,e,void 0,!0),s=r.insert("circle",":first-child");return s.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),a.l.info("Circle main"),h(e,s),e.intersect=function(t){return a.l.info("Circle intersect",e,n.width/2+i,t),x.circle(e,n.width/2+i,t)},r},doublecircle:async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await c(t,e,void 0,!0),s=r.insert("g",":first-child"),l=s.insert("circle"),d=s.insert("circle");return s.attr("class",e.class),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i+5).attr("width",n.width+e.padding+10).attr("height",n.height+e.padding+10),d.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),a.l.info("DoubleCircle main"),h(e,l),e.intersect=function(t){return a.l.info("DoubleCircle intersect",e,n.width/2+i+5,t),x.circle(e,n.width/2+i+5,t)},r},stadium:async(t,e)=>{const{shapeSvg:r,bbox:a}=await c(t,e,void 0,!0),n=a.height+e.padding,i=a.width+n/4+e.padding,s=r.insert("rect",":first-child").attr("style",e.style).attr("rx",n/2).attr("ry",n/2).attr("x",-i/2).attr("y",-n/2).attr("width",i).attr("height",n);return h(e,s),e.intersect=function(t){return x.rect(e,t)},r},hexagon:async(t,e)=>{const{shapeSvg:r,bbox:a}=await c(t,e,void 0,!0),n=a.height+e.padding,i=n/4,s=a.width+2*i+e.padding,l=[{x:i,y:0},{x:s-i,y:0},{x:s,y:-n/2},{x:s-i,y:-n},{x:i,y:-n},{x:0,y:-n/2}],d=p(r,s,n,l);return d.attr("style",e.style),h(e,d),e.intersect=function(t){return x.polygon(e,l,t)},r},rect_left_inv_arrow:async(t,e)=>{const{shapeSvg:r,bbox:a}=await c(t,e,void 0,!0),n=a.width+e.padding,i=a.height+e.padding,s=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}];return p(r,n,i,s).attr("style",e.style),e.width=n+i,e.height=i,e.intersect=function(t){return x.polygon(e,s,t)},r},lean_right:async(t,e)=>{const{shapeSvg:r,bbox:a}=await c(t,e,void 0,!0),n=a.width+e.padding,i=a.height+e.padding,s=[{x:-2*i/6,y:0},{x:n-i/6,y:0},{x:n+2*i/6,y:-i},{x:i/6,y:-i}],l=p(r,n,i,s);return l.attr("style",e.style),h(e,l),e.intersect=function(t){return x.polygon(e,s,t)},r},lean_left:async(t,e)=>{const{shapeSvg:r,bbox:a}=await c(t,e,void 0,!0),n=a.width+e.padding,i=a.height+e.padding,s=[{x:2*i/6,y:0},{x:n+i/6,y:0},{x:n-2*i/6,y:-i},{x:-i/6,y:-i}],l=p(r,n,i,s);return l.attr("style",e.style),h(e,l),e.intersect=function(t){return x.polygon(e,s,t)},r},trapezoid:async(t,e)=>{const{shapeSvg:r,bbox:a}=await c(t,e,void 0,!0),n=a.width+e.padding,i=a.height+e.padding,s=[{x:-2*i/6,y:0},{x:n+2*i/6,y:0},{x:n-i/6,y:-i},{x:i/6,y:-i}],l=p(r,n,i,s);return l.attr("style",e.style),h(e,l),e.intersect=function(t){return x.polygon(e,s,t)},r},inv_trapezoid:async(t,e)=>{const{shapeSvg:r,bbox:a}=await c(t,e,void 0,!0),n=a.width+e.padding,i=a.height+e.padding,s=[{x:i/6,y:0},{x:n-i/6,y:0},{x:n+2*i/6,y:-i},{x:-2*i/6,y:-i}],l=p(r,n,i,s);return l.attr("style",e.style),h(e,l),e.intersect=function(t){return x.polygon(e,s,t)},r},rect_right_inv_arrow:async(t,e)=>{const{shapeSvg:r,bbox:a}=await c(t,e,void 0,!0),n=a.width+e.padding,i=a.height+e.padding,s=[{x:0,y:0},{x:n+i/2,y:0},{x:n,y:-i/2},{x:n+i/2,y:-i},{x:0,y:-i}],l=p(r,n,i,s);return l.attr("style",e.style),h(e,l),e.intersect=function(t){return x.polygon(e,s,t)},r},cylinder:async(t,e)=>{const{shapeSvg:r,bbox:a}=await c(t,e,void 0,!0),n=a.width+e.padding,i=n/2,s=i/(2.5+n/50),l=a.height+s+e.padding,d="M 0,"+s+" a "+i+","+s+" 0,0,0 "+n+" 0 a "+i+","+s+" 0,0,0 "+-n+" 0 l 0,"+l+" a "+i+","+s+" 0,0,0 "+n+" 0 l 0,"+-l,o=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",d).attr("transform","translate("+-n/2+","+-(l/2+s)+")");return h(e,o),e.intersect=function(t){const r=x.rect(e,t),a=r.x-e.x;if(0!=i&&(Math.abs(a)e.height/2-s)){let n=s*s*(1-a*a/(i*i));0!=n&&(n=Math.sqrt(n)),n=s-n,t.y-e.y>0&&(n=-n),r.y+=n}return r},r},start:(t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),a=r.insert("circle",":first-child");return a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),h(e,a),e.intersect=function(t){return x.circle(e,7,t)},r},end:(t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),a=r.insert("circle",":first-child"),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),a.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),h(e,n),e.intersect=function(t){return x.circle(e,7,t)},r},note:async(t,e)=>{e.useHtmlLabels||(0,a.c)().flowchart.htmlLabels||(e.centerLabel=!0);const{shapeSvg:r,bbox:n,halfPadding:i}=await c(t,e,"node "+e.classes,!0);a.l.info("Classes = ",e.classes);const s=r.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-n.width/2-i).attr("y",-n.height/2-i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),h(e,s),e.intersect=function(t){return x.rect(e,t)},r},subroutine:async(t,e)=>{const{shapeSvg:r,bbox:a}=await c(t,e,void 0,!0),n=a.width+e.padding,i=a.height+e.padding,s=[{x:0,y:0},{x:n,y:0},{x:n,y:-i},{x:0,y:-i},{x:0,y:0},{x:-8,y:0},{x:n+8,y:0},{x:n+8,y:-i},{x:-8,y:-i},{x:-8,y:0}],l=p(r,n,i,s);return l.attr("style",e.style),h(e,l),e.intersect=function(t){return x.polygon(e,s,t)},r},fork:m,join:m,class_box:(t,e)=>{const r=e.padding/2;let i;i=e.classes?"node "+e.classes:"node default";const l=t.insert("g").attr("class",i).attr("id",e.domId||e.id),d=l.insert("rect",":first-child"),c=l.insert("line"),p=l.insert("line");let g=0,y=4;const f=l.insert("g").attr("class","label");let u=0;const b=e.classData.annotations&&e.classData.annotations[0],w=e.classData.annotations[0]?"«"+e.classData.annotations[0]+"»":"",m=f.node().appendChild(o(w,e.labelStyle,!0,!0));let k=m.getBBox();if((0,a.n)((0,a.c)().flowchart.htmlLabels)){const t=m.children[0],e=(0,n.Ys)(m);k=t.getBoundingClientRect(),e.attr("width",k.width),e.attr("height",k.height)}e.classData.annotations[0]&&(y+=k.height+4,g+=k.width);let L=e.classData.label;void 0!==e.classData.type&&""!==e.classData.type&&((0,a.c)().flowchart.htmlLabels?L+="<"+e.classData.type+">":L+="<"+e.classData.type+">");const v=f.node().appendChild(o(L,e.labelStyle,!0,!0));(0,n.Ys)(v).attr("class","classTitle");let S=v.getBBox();if((0,a.n)((0,a.c)().flowchart.htmlLabels)){const t=v.children[0],e=(0,n.Ys)(v);S=t.getBoundingClientRect(),e.attr("width",S.width),e.attr("height",S.height)}y+=S.height+4,S.width>g&&(g=S.width);const M=[];e.classData.members.forEach((t=>{const r=(0,s.p)(t);let i=r.displayText;(0,a.c)().flowchart.htmlLabels&&(i=i.replace(//g,">"));const l=f.node().appendChild(o(i,r.cssStyle?r.cssStyle:e.labelStyle,!0,!0));let d=l.getBBox();if((0,a.n)((0,a.c)().flowchart.htmlLabels)){const t=l.children[0],e=(0,n.Ys)(l);d=t.getBoundingClientRect(),e.attr("width",d.width),e.attr("height",d.height)}d.width>g&&(g=d.width),y+=d.height+4,M.push(l)})),y+=8;const T=[];if(e.classData.methods.forEach((t=>{const r=(0,s.p)(t);let i=r.displayText;(0,a.c)().flowchart.htmlLabels&&(i=i.replace(//g,">"));const l=f.node().appendChild(o(i,r.cssStyle?r.cssStyle:e.labelStyle,!0,!0));let d=l.getBBox();if((0,a.n)((0,a.c)().flowchart.htmlLabels)){const t=l.children[0],e=(0,n.Ys)(l);d=t.getBoundingClientRect(),e.attr("width",d.width),e.attr("height",d.height)}d.width>g&&(g=d.width),y+=d.height+4,T.push(l)})),y+=8,b){let t=(g-k.width)/2;(0,n.Ys)(m).attr("transform","translate( "+(-1*g/2+t)+", "+-1*y/2+")"),u=k.height+4}let B=(g-S.width)/2;return(0,n.Ys)(v).attr("transform","translate( "+(-1*g/2+B)+", "+(-1*y/2+u)+")"),u+=S.height+4,c.attr("class","divider").attr("x1",-g/2-r).attr("x2",g/2+r).attr("y1",-y/2-r+8+u).attr("y2",-y/2-r+8+u),u+=8,M.forEach((t=>{(0,n.Ys)(t).attr("transform","translate( "+-g/2+", "+(-1*y/2+u+4)+")"),u+=S.height+4})),u+=8,p.attr("class","divider").attr("x1",-g/2-r).attr("x2",g/2+r).attr("y1",-y/2-r+8+u).attr("y2",-y/2-r+8+u),u+=8,T.forEach((t=>{(0,n.Ys)(t).attr("transform","translate( "+-g/2+", "+(-1*y/2+u)+")"),u+=S.height+4})),d.attr("class","outer title-state").attr("x",-g/2-r).attr("y",-y/2-r).attr("width",g+e.padding).attr("height",y+e.padding),h(e,d),e.intersect=function(t){return x.rect(e,t)},l}};let L={};const v=async(t,e,r)=>{let n,i;if(e.link){let s;"sandbox"===(0,a.c)().securityLevel?s="_top":e.linkTarget&&(s=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",s),i=await k[e.shape](n,e,r)}else i=await k[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),L[e.id]=n,e.haveCallback&&L[e.id].attr("class",L[e.id].attr("class")+" clickable"),n},S=(t,e)=>{L[e.id]=t},M=()=>{L={}},T=t=>{const e=L[t.id];a.l.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+r-t.width/2)+", "+(t.y-t.height/2-8)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),r};let B={},E={};const C=()=>{B={},E={}},P=(t,e)=>{const r=(0,a.n)((0,a.c)().flowchart.htmlLabels),s="markdown"===e.labelType?(0,i.c)(t,e.label,{style:e.labelStyle,useHtmlLabels:r,addSvgBackground:!0}):o(e.label,e.labelStyle);a.l.info("abc82",e,e.labelType);const l=t.insert("g").attr("class","edgeLabel"),d=l.insert("g").attr("class","label");d.node().appendChild(s);let c,h=s.getBBox();if(r){const t=s.children[0],e=(0,n.Ys)(s);h=t.getBoundingClientRect(),e.attr("width",h.width),e.attr("height",h.height)}if(d.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"),B[e.id]=l,e.width=h.width,e.height=h.height,e.startLabelLeft){const r=o(e.startLabelLeft,e.labelStyle),a=t.insert("g").attr("class","edgeTerminals"),n=a.insert("g").attr("class","inner");c=n.node().appendChild(r);const i=r.getBBox();n.attr("transform","translate("+-i.width/2+", "+-i.height/2+")"),E[e.id]||(E[e.id]={}),E[e.id].startLeft=a,N(c,e.startLabelLeft)}if(e.startLabelRight){const r=o(e.startLabelRight,e.labelStyle),a=t.insert("g").attr("class","edgeTerminals"),n=a.insert("g").attr("class","inner");c=a.node().appendChild(r),n.node().appendChild(r);const i=r.getBBox();n.attr("transform","translate("+-i.width/2+", "+-i.height/2+")"),E[e.id]||(E[e.id]={}),E[e.id].startRight=a,N(c,e.startLabelRight)}if(e.endLabelLeft){const r=o(e.endLabelLeft,e.labelStyle),a=t.insert("g").attr("class","edgeTerminals"),n=a.insert("g").attr("class","inner");c=n.node().appendChild(r);const i=r.getBBox();n.attr("transform","translate("+-i.width/2+", "+-i.height/2+")"),a.node().appendChild(r),E[e.id]||(E[e.id]={}),E[e.id].endLeft=a,N(c,e.endLabelLeft)}if(e.endLabelRight){const r=o(e.endLabelRight,e.labelStyle),a=t.insert("g").attr("class","edgeTerminals"),n=a.insert("g").attr("class","inner");c=n.node().appendChild(r);const i=r.getBBox();n.attr("transform","translate("+-i.width/2+", "+-i.height/2+")"),a.node().appendChild(r),E[e.id]||(E[e.id]={}),E[e.id].endRight=a,N(c,e.endLabelRight)}return s};function N(t,e){(0,a.c)().flowchart.htmlLabels&&t&&(t.style.width=9*e.length+"px",t.style.height="12px")}const Y=(t,e)=>{a.l.info("Moving label abc78 ",t.id,t.label,B[t.id]);let r=e.updatedPath?e.updatedPath:e.originalPath;if(t.label){const n=B[t.id];let i=t.x,s=t.y;if(r){const n=a.u.calcLabelPosition(r);a.l.info("Moving label "+t.label+" from (",i,",",s,") to (",n.x,",",n.y,") abc78"),e.updatedPath&&(i=n.x,s=n.y)}n.attr("transform","translate("+i+", "+s+")")}if(t.startLabelLeft){const e=E[t.id].startLeft;let n=t.x,i=t.y;if(r){const e=a.u.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);n=e.x,i=e.y}e.attr("transform","translate("+n+", "+i+")")}if(t.startLabelRight){const e=E[t.id].startRight;let n=t.x,i=t.y;if(r){const e=a.u.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);n=e.x,i=e.y}e.attr("transform","translate("+n+", "+i+")")}if(t.endLabelLeft){const e=E[t.id].endLeft;let n=t.x,i=t.y;if(r){const e=a.u.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);n=e.x,i=e.y}e.attr("transform","translate("+n+", "+i+")")}if(t.endLabelRight){const e=E[t.id].endRight;let n=t.x,i=t.y;if(r){const e=a.u.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);n=e.x,i=e.y}e.attr("transform","translate("+n+", "+i+")")}},H=(t,e)=>{a.l.warn("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach((t=>{if(a.l.info("abc88 checking point",t,e),((t,e)=>{const r=t.x,a=t.y,n=Math.abs(e.x-r),i=Math.abs(e.y-a),s=t.width/2,l=t.height/2;return n>=s||i>=l})(e,t)||i)a.l.warn("abc88 outside",t,n),n=t,i||r.push(t);else{const s=((t,e,r)=>{a.l.warn(`intersection calc abc89:\n outsidePoint: ${JSON.stringify(e)}\n insidePoint : ${JSON.stringify(r)}\n node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,s=Math.abs(n-r.x),l=t.width/2;let d=r.xMath.abs(n-e.x)*o){let t=r.y{l=l||t.x===s.x&&t.y===s.y})),r.some((t=>t.x===s.x&&t.y===s.y))?a.l.warn("abc88 no intersect",s,r):r.push(s),i=!0}})),a.l.warn("abc88 returning points",r),r},_=function(t,e,r,i,s,l){let d=r.points,o=!1;const c=l.node(e.v);var h=l.node(e.w);a.l.info("abc88 InsertEdge: ",r),h.intersect&&c.intersect&&(d=d.slice(1,r.points.length-1),d.unshift(c.intersect(d[0])),a.l.info("Last point",d[d.length-1],h,h.intersect(d[d.length-1])),d.push(h.intersect(d[d.length-1]))),r.toCluster&&(a.l.info("to cluster abc88",i[r.toCluster]),d=H(r.points,i[r.toCluster].node),o=!0),r.fromCluster&&(a.l.info("from cluster abc88",i[r.fromCluster]),d=H(d.reverse(),i[r.fromCluster].node).reverse(),o=!0);const p=d.filter((t=>!Number.isNaN(t.y)));let g;g=("graph"===s||"flowchart"===s)&&r.curve||n.$0Z;const y=(0,n.jvg)().x((function(t){return t.x})).y((function(t){return t.y})).curve(g);let f;switch(r.thickness){case"normal":f="edge-thickness-normal";break;case"thick":case"invisible":f="edge-thickness-thick";break;default:f=""}switch(r.pattern){case"solid":f+=" edge-pattern-solid";break;case"dotted":f+=" edge-pattern-dotted";break;case"dashed":f+=" edge-pattern-dashed"}const u=t.append("path").attr("d",y(p)).attr("id",r.id).attr("class"," "+f+(r.classes?" "+r.classes:"")).attr("style",r.style);let x="";switch(((0,a.c)().flowchart.arrowMarkerAbsolute||(0,a.c)().state.arrowMarkerAbsolute)&&(x=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,x=x.replace(/\(/g,"\\("),x=x.replace(/\)/g,"\\)")),a.l.info("arrowTypeStart",r.arrowTypeStart),a.l.info("arrowTypeEnd",r.arrowTypeEnd),r.arrowTypeStart){case"arrow_cross":u.attr("marker-start","url("+x+"#"+s+"-crossStart)");break;case"arrow_point":u.attr("marker-start","url("+x+"#"+s+"-pointStart)");break;case"arrow_barb":u.attr("marker-start","url("+x+"#"+s+"-barbStart)");break;case"arrow_circle":u.attr("marker-start","url("+x+"#"+s+"-circleStart)");break;case"aggregation":u.attr("marker-start","url("+x+"#"+s+"-aggregationStart)");break;case"extension":u.attr("marker-start","url("+x+"#"+s+"-extensionStart)");break;case"composition":u.attr("marker-start","url("+x+"#"+s+"-compositionStart)");break;case"dependency":u.attr("marker-start","url("+x+"#"+s+"-dependencyStart)");break;case"lollipop":u.attr("marker-start","url("+x+"#"+s+"-lollipopStart)")}switch(r.arrowTypeEnd){case"arrow_cross":u.attr("marker-end","url("+x+"#"+s+"-crossEnd)");break;case"arrow_point":u.attr("marker-end","url("+x+"#"+s+"-pointEnd)");break;case"arrow_barb":u.attr("marker-end","url("+x+"#"+s+"-barbEnd)");break;case"arrow_circle":u.attr("marker-end","url("+x+"#"+s+"-circleEnd)");break;case"aggregation":u.attr("marker-end","url("+x+"#"+s+"-aggregationEnd)");break;case"extension":u.attr("marker-end","url("+x+"#"+s+"-extensionEnd)");break;case"composition":u.attr("marker-end","url("+x+"#"+s+"-compositionEnd)");break;case"dependency":u.attr("marker-end","url("+x+"#"+s+"-dependencyEnd)");break;case"lollipop":u.attr("marker-end","url("+x+"#"+s+"-lollipopEnd)")}let b={};return o&&(b.updatedPath=d),b.originalPath=r.points,b}},8237:function(t,e,r){r.d(e,{p:function(){return l},s:function(){return c}});var a=r(5740),n=r(5103);let i=0;const s=function(t){let e=t.id;return t.type&&(e+="<"+t.type+">"),e},l=function(t){let e="",r="",a="",i="",s=t.substring(0,1),l=t.substring(t.length-1,t.length);s.match(/[#+~-]/)&&(i=s);let d=/[\s\w)~]/;l.match(d)||(r=o(l));const c=""===i?0:1;let h=""===r?t.length:t.length-1;const p=(t=t.substring(c,h)).indexOf("("),g=t.indexOf(")");if(p>1&&g>p&&g<=t.length){let s=t.substring(0,p).trim();const l=t.substring(p+1,g);if(e=i+s+"("+(0,n.x)(l.trim())+")",g0&&(k+=e.cssClasses.join(" "));const L=o.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",m.width+2*r.padding).attr("height",m.height+r.padding+.5*r.dividerMargin).attr("class",k).node().getBBox().width;return c.node().childNodes.forEach((function(t){t.setAttribute("x",(L-t.getBBox().width)/2)})),e.tooltip&&c.insert("title").text(e.tooltip),f.attr("x2",L),b.attr("x2",L),l.width=L,l.height=m.height+r.padding+.5*r.dividerMargin,l},drawEdge:function(t,e,r,s,l){const d=function(t){switch(t){case l.db.relationType.AGGREGATION:return"aggregation";case l.db.relationType.EXTENSION:return"extension";case l.db.relationType.COMPOSITION:return"composition";case l.db.relationType.DEPENDENCY:return"dependency";case l.db.relationType.LOLLIPOP:return"lollipop"}};e.points=e.points.filter((t=>!Number.isNaN(t.y)));const o=e.points,c=(0,a.jvg)().x((function(t){return t.x})).y((function(t){return t.y})).curve(a.$0Z),h=t.append("path").attr("d",c(o)).attr("id","edge"+i).attr("class","relation");let p,g,y="";s.arrowMarkerAbsolute&&(y=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,y=y.replace(/\(/g,"\\("),y=y.replace(/\)/g,"\\)")),1==r.relation.lineType&&h.attr("class","relation dashed-line"),10==r.relation.lineType&&h.attr("class","relation dotted-line"),"none"!==r.relation.type1&&h.attr("marker-start","url("+y+"#"+d(r.relation.type1)+"Start)"),"none"!==r.relation.type2&&h.attr("marker-end","url("+y+"#"+d(r.relation.type2)+"End)");const f=e.points.length;let u,x,b,w,m=n.u.calcLabelPosition(e.points);if(p=m.x,g=m.y,f%2!=0&&f>1){let t=n.u.calcCardinalityPosition("none"!==r.relation.type1,e.points,e.points[0]),a=n.u.calcCardinalityPosition("none"!==r.relation.type2,e.points,e.points[f-1]);n.l.debug("cardinality_1_point "+JSON.stringify(t)),n.l.debug("cardinality_2_point "+JSON.stringify(a)),u=t.x,x=t.y,b=a.x,w=a.y}if(void 0!==r.title){const e=t.append("g").attr("class","classLabel"),a=e.append("text").attr("class","label").attr("x",p).attr("y",g).attr("fill","red").attr("text-anchor","middle").text(r.title);window.label=a;const n=a.node().getBBox();e.insert("rect",":first-child").attr("class","box").attr("x",n.x-s.padding/2).attr("y",n.y-s.padding/2).attr("width",n.width+s.padding).attr("height",n.height+s.padding)}n.l.info("Rendering relation "+JSON.stringify(r)),void 0!==r.relationTitle1&&"none"!==r.relationTitle1&&t.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",u).attr("y",x).attr("fill","black").attr("font-size","6").text(r.relationTitle1),void 0!==r.relationTitle2&&"none"!==r.relationTitle2&&t.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",b).attr("y",w).attr("fill","black").attr("font-size","6").text(r.relationTitle2),i++},drawNote:function(t,e,r,a){n.l.debug("Rendering note ",e,r);const i=e.id,s={id:i,text:e.text,width:0,height:0},l=t.append("g").attr("id",i).attr("class","classGroup");let d=l.append("text").attr("y",r.textHeight+r.padding).attr("x",0);const o=JSON.parse(`"${e.text}"`).split("\n");o.forEach((function(t){n.l.debug(`Adding line: ${t}`),d.append("tspan").text(t).attr("class","title").attr("dy",r.textHeight)}));const c=l.node().getBBox(),h=l.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",c.width+2*r.padding).attr("height",c.height+o.length*r.textHeight+r.padding+.5*r.dividerMargin).node().getBBox().width;return d.node().childNodes.forEach((function(t){t.setAttribute("x",(h-t.getBBox().width)/2)})),s.width=h,s.height=c.height+o.length*r.textHeight+r.padding+.5*r.dividerMargin,s},parseMember:l}}}]);
\ No newline at end of file
diff --git a/docs/themes/geekdoc/static/js/311-5bd6ac4e.chunk.min.js b/docs/themes/geekdoc/static/js/311-5bd6ac4e.chunk.min.js
new file mode 100644
index 000000000..5511750b5
--- /dev/null
+++ b/docs/themes/geekdoc/static/js/311-5bd6ac4e.chunk.min.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[311],{3311:function(t,i,e){e.d(i,{diagram:function(){return d}});var a=e(5103),n=e(5740),r=(e(7484),e(7967),e(7856),function(){var t=function(t,i,e,a){for(e=e||{},a=t.length;a--;e[t[a]]=i);return e},i=[1,3],e=[1,5],a=[1,6],n=[1,7],r=[1,8],s=[1,10],l=[1,5,14,16,18,20,21,26,28,29,30,31,32,38,39,40,41,47,48,50,51,52,53,54,55,56,57,58,59,60],o=[1,5,7,14,16,18,20,21,26,28,29,30,31,32,38,39,40,41,47,48,50,51,52,53,54,55,56,57,58,59,60],h=[38,39,40],c=[2,8],d=[1,19],u=[1,23],x=[1,24],g=[1,25],f=[1,26],y=[1,27],p=[1,29],q=[1,30],T=[1,31],_=[1,32],m=[1,33],A=[1,34],b=[1,37],S=[1,38],k=[1,39],v=[1,40],F=[1,41],P=[1,42],D=[1,43],C=[1,44],L=[1,45],z=[1,46],E=[1,47],I=[1,48],B=[1,49],w=[1,52],R=[1,67],W=[1,68],N=[5,23,27,38,39,40,50,51,52,53,54,55,56,57,58,59,60,61],U=[5,7,38,39,40,41],Q={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,SPACE:5,directive:6,QUADRANT:7,document:8,line:9,statement:10,axisDetails:11,quadrantDetails:12,points: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:21,text: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,openDirective:33,typeDirective:34,closeDirective:35,":":36,argDirective:37,NEWLINE:38,SEMI:39,EOF:40,open_directive:41,type_directive:42,arg_directive:43,close_directive:44,alphaNumToken:45,textNoTagsToken:46,STR:47,MD_STR:48,alphaNum:49,PUNCTUATION:50,AMP:51,NUM:52,ALPHA:53,COMMA:54,PLUS:55,EQUALS:56,MULT:57,DOT:58,BRKT:59,UNDERSCORE:60,MINUS:61,$accept:0,$end:1},terminals_:{2:"error",5:"SPACE",7:"QUADRANT",14:"title",15:"title_value",16:"acc_title",17:"acc_title_value",18:"acc_descr",19:"acc_descr_value",20:"acc_descr_multiline_value",21:"section",23:"point_start",24:"point_x",25:"point_y",26:"X-AXIS",27:"AXIS-TEXT-DELIMITER",28:"Y-AXIS",29:"QUADRANT_1",30:"QUADRANT_2",31:"QUADRANT_3",32:"QUADRANT_4",36:":",38:"NEWLINE",39:"SEMI",40:"EOF",41:"open_directive",42:"type_directive",43:"arg_directive",44:"close_directive",47:"STR",48:"MD_STR",50:"PUNCTUATION",51:"AMP",52:"NUM",53:"ALPHA",54:"COMMA",55:"PLUS",56:"EQUALS",57:"MULT",58:"DOT",59:"BRKT",60:"UNDERSCORE",61:"MINUS"},productions_:[0,[3,2],[3,2],[3,2],[3,2],[8,0],[8,2],[9,2],[10,0],[10,2],[10,1],[10,1],[10,1],[10,2],[10,2],[10,2],[10,1],[10,1],[10,1],[13,4],[11,4],[11,3],[11,2],[11,4],[11,3],[11,2],[12,2],[12,2],[12,2],[12,2],[6,3],[6,5],[4,1],[4,1],[4,1],[33,1],[34,1],[37,1],[35,1],[22,1],[22,2],[22,1],[22,1],[49,1],[49,2],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[46,1],[46,1],[46,1]],performAction:function(t,i,e,a,n,r,s){var l=r.length-1;switch(n){case 13:this.$=r[l].trim(),a.setDiagramTitle(this.$);break;case 14:this.$=r[l].trim(),a.setAccTitle(this.$);break;case 15:case 16:this.$=r[l].trim(),a.setAccDescription(this.$);break;case 17:a.addSection(r[l].substr(8)),this.$=r[l].substr(8);break;case 19:a.addPoint(r[l-3],r[l-1],r[l]);break;case 20:a.setXAxisLeftText(r[l-2]),a.setXAxisRightText(r[l]);break;case 21:r[l-1].text+=" ⟶ ",a.setXAxisLeftText(r[l-1]);break;case 22:a.setXAxisLeftText(r[l]);break;case 23:a.setYAxisBottomText(r[l-2]),a.setYAxisTopText(r[l]);break;case 24:r[l-1].text+=" ⟶ ",a.setYAxisBottomText(r[l-1]);break;case 25:a.setYAxisBottomText(r[l]);break;case 26:a.setQuadrant1Text(r[l]);break;case 27:a.setQuadrant2Text(r[l]);break;case 28:a.setQuadrant3Text(r[l]);break;case 29:a.setQuadrant4Text(r[l]);break;case 35:a.parseDirective("%%{","open_directive");break;case 36:a.parseDirective(r[l],"type_directive");break;case 37:r[l]=r[l].trim().replace(/'/g,'"'),a.parseDirective(r[l],"arg_directive");break;case 38:a.parseDirective("}%%","close_directive","quadrantChart");break;case 39:case 41:this.$={text:r[l],type:"text"};break;case 40:this.$={text:r[l-1].text+""+r[l],type:r[l-1].type};break;case 42:this.$={text:r[l],type:"markdown"};break;case 43:this.$=r[l];break;case 44:this.$=r[l-1]+""+r[l]}},table:[{3:1,4:2,5:i,6:4,7:e,33:9,38:a,39:n,40:r,41:s},{1:[3]},{3:11,4:2,5:i,6:4,7:e,33:9,38:a,39:n,40:r,41:s},{3:12,4:2,5:i,6:4,7:e,33:9,38:a,39:n,40:r,41:s},{3:13,4:2,5:i,6:4,7:e,33:9,38:a,39:n,40:r,41:s},t(l,[2,5],{8:14}),t(o,[2,32]),t(o,[2,33]),t(o,[2,34]),{34:15,42:[1,16]},{42:[2,35]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(h,c,{33:9,9:17,10:18,11:20,12:21,13:22,6:28,22:35,45:36,1:[2,4],5:d,14:u,16:x,18:g,20:f,21:y,26:p,28:q,29:T,30:_,31:m,32:A,41:s,47:b,48:S,50:k,51:v,52:F,53:P,54:D,55:C,56:L,57:z,58:E,59:I,60:B}),{35:50,36:[1,51],44:w},t([36,44],[2,36]),t(l,[2,6]),{4:53,38:a,39:n,40:r},t(h,c,{33:9,11:20,12:21,13:22,6:28,22:35,45:36,10:54,5:d,14:u,16:x,18:g,20:f,21:y,26:p,28:q,29:T,30:_,31:m,32:A,41:s,47:b,48:S,50:k,51:v,52:F,53:P,54:D,55:C,56:L,57:z,58:E,59:I,60:B}),t(h,[2,10]),t(h,[2,11]),t(h,[2,12]),{15:[1,55]},{17:[1,56]},{19:[1,57]},t(h,[2,16]),t(h,[2,17]),t(h,[2,18]),{22:58,45:36,47:b,48:S,50:k,51:v,52:F,53:P,54:D,55:C,56:L,57:z,58:E,59:I,60:B},{22:59,45:36,47:b,48:S,50:k,51:v,52:F,53:P,54:D,55:C,56:L,57:z,58:E,59:I,60:B},{22:60,45:36,47:b,48:S,50:k,51:v,52:F,53:P,54:D,55:C,56:L,57:z,58:E,59:I,60:B},{22:61,45:36,47:b,48:S,50:k,51:v,52:F,53:P,54:D,55:C,56:L,57:z,58:E,59:I,60:B},{22:62,45:36,47:b,48:S,50:k,51:v,52:F,53:P,54:D,55:C,56:L,57:z,58:E,59:I,60:B},{22:63,45:36,47:b,48:S,50:k,51:v,52:F,53:P,54:D,55:C,56:L,57:z,58:E,59:I,60:B},{5:R,23:[1,64],45:66,46:65,50:k,51:v,52:F,53:P,54:D,55:C,56:L,57:z,58:E,59:I,60:B,61:W},t(N,[2,39]),t(N,[2,41]),t(N,[2,42]),t(N,[2,45]),t(N,[2,46]),t(N,[2,47]),t(N,[2,48]),t(N,[2,49]),t(N,[2,50]),t(N,[2,51]),t(N,[2,52]),t(N,[2,53]),t(N,[2,54]),t(N,[2,55]),t(U,[2,30]),{37:69,43:[1,70]},t(U,[2,38]),t(l,[2,7]),t(h,[2,9]),t(h,[2,13]),t(h,[2,14]),t(h,[2,15]),t(h,[2,22],{46:65,45:66,5:R,27:[1,71],50:k,51:v,52:F,53:P,54:D,55:C,56:L,57:z,58:E,59:I,60:B,61:W}),t(h,[2,25],{46:65,45:66,5:R,27:[1,72],50:k,51:v,52:F,53:P,54:D,55:C,56:L,57:z,58:E,59:I,60:B,61:W}),t(h,[2,26],{46:65,45:66,5:R,50:k,51:v,52:F,53:P,54:D,55:C,56:L,57:z,58:E,59:I,60:B,61:W}),t(h,[2,27],{46:65,45:66,5:R,50:k,51:v,52:F,53:P,54:D,55:C,56:L,57:z,58:E,59:I,60:B,61:W}),t(h,[2,28],{46:65,45:66,5:R,50:k,51:v,52:F,53:P,54:D,55:C,56:L,57:z,58:E,59:I,60:B,61:W}),t(h,[2,29],{46:65,45:66,5:R,50:k,51:v,52:F,53:P,54:D,55:C,56:L,57:z,58:E,59:I,60:B,61:W}),{24:[1,73]},t(N,[2,40]),t(N,[2,56]),t(N,[2,57]),t(N,[2,58]),{35:74,44:w},{44:[2,37]},t(h,[2,21],{45:36,22:75,47:b,48:S,50:k,51:v,52:F,53:P,54:D,55:C,56:L,57:z,58:E,59:I,60:B}),t(h,[2,24],{45:36,22:76,47:b,48:S,50:k,51:v,52:F,53:P,54:D,55:C,56:L,57:z,58:E,59:I,60:B}),{25:[1,77]},t(U,[2,31]),t(h,[2,20],{46:65,45:66,5:R,50:k,51:v,52:F,53:P,54:D,55:C,56:L,57:z,58:E,59:I,60:B,61:W}),t(h,[2,23],{46:65,45:66,5:R,50:k,51:v,52:F,53:P,54:D,55:C,56:L,57:z,58:E,59:I,60:B,61:W}),t(h,[2,19])],defaultActions:{10:[2,35],11:[2,1],12:[2,2],13:[2,3],70:[2,37]},parseError:function(t,i){if(!i.recoverable){var e=new Error(t);throw e.hash=i,e}this.trace(t)},parse:function(t){var i=[0],e=[],a=[null],n=[],r=this.table,s="",l=0,o=0,h=n.slice.call(arguments,1),c=Object.create(this.lexer),d={yy:{}};for(var u in this.yy)Object.prototype.hasOwnProperty.call(this.yy,u)&&(d.yy[u]=this.yy[u]);c.setInput(t,d.yy),d.yy.lexer=c,d.yy.parser=this,void 0===c.yylloc&&(c.yylloc={});var x=c.yylloc;n.push(x);var g=c.options&&c.options.ranges;"function"==typeof d.yy.parseError?this.parseError=d.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var f,y,p,q,T,_,m,A,b,S={};;){if(y=i[i.length-1],this.defaultActions[y]?p=this.defaultActions[y]:(null==f&&(b=void 0,"number"!=typeof(b=e.pop()||c.lex()||1)&&(b instanceof Array&&(b=(e=b).pop()),b=this.symbols_[b]||b),f=b),p=r[y]&&r[y][f]),void 0===p||!p.length||!p[0]){var k;for(T in A=[],r[y])this.terminals_[T]&&T>2&&A.push("'"+this.terminals_[T]+"'");k=c.showPosition?"Parse error on line "+(l+1)+":\n"+c.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(k,{text:c.match,token:this.terminals_[f]||f,line:c.yylineno,loc:x,expected:A})}if(p[0]instanceof Array&&p.length>1)throw new Error("Parse Error: multiple actions possible at state: "+y+", token: "+f);switch(p[0]){case 1:i.push(f),a.push(c.yytext),n.push(c.yylloc),i.push(p[1]),f=null,o=c.yyleng,s=c.yytext,l=c.yylineno,x=c.yylloc;break;case 2:if(_=this.productions_[p[1]][1],S.$=a[a.length-_],S._$={first_line:n[n.length-(_||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(_||1)].first_column,last_column:n[n.length-1].last_column},g&&(S._$.range=[n[n.length-(_||1)].range[0],n[n.length-1].range[1]]),void 0!==(q=this.performAction.apply(S,[s,o,l,d.yy,p[1],a,n].concat(h))))return q;_&&(i=i.slice(0,-1*_*2),a=a.slice(0,-1*_),n=n.slice(0,-1*_)),i.push(this.productions_[p[1]][0]),a.push(S.$),n.push(S._$),m=r[i[i.length-2]][i[i.length-1]],i.push(m);break;case 3:return!0}}return!0}},H={EOF:1,parseError:function(t,i){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,i)},setInput:function(t,i){return this.yy=i||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var i=t.length,e=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i),this.offset-=i;var a=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 n=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===a.length?this.yylloc.first_column:0)+a[a.length-e.length].length-e[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-i]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),i=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+i+"^"},test_match:function(t,i){var e,a,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(a=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,i,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;if(this._backtrack){for(var r in n)this[r]=n[r];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,i,e,a;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),r=0;ri[0].length)){if(i=e,a=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(e,n[r])))return t;if(this._backtrack){i=!1;continue}return!1}if(!this.options.flex)break}return i?!1!==(t=this.test_match(i,n[a]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,i,e,a){switch(e){case 0:return this.begin("open_directive"),41;case 1:return this.begin("type_directive"),42;case 2:return this.popState(),this.begin("arg_directive"),36;case 3:return this.popState(),this.popState(),44;case 4:return 43;case 5:case 6:case 8:break;case 7:return 38;case 9:return this.begin("title"),14;case 10:return this.popState(),"title_value";case 11:return this.begin("acc_title"),16;case 12:return this.popState(),"acc_title_value";case 13:return this.begin("acc_descr"),18;case 14:return this.popState(),"acc_descr_value";case 15:this.begin("acc_descr_multiline");break;case 16:case 27:case 29:case 33:this.popState();break;case 17:return"acc_descr_multiline_value";case 18:return 26;case 19:return 28;case 20:return 27;case 21:return 29;case 22:return 30;case 23:return 31;case 24:return 32;case 25:this.begin("md_string");break;case 26:return"MD_STR";case 28:this.begin("string");break;case 30:return"STR";case 31:return this.begin("point_start"),23;case 32:return this.begin("point_x"),24;case 34:this.popState(),this.begin("point_y");break;case 35:return this.popState(),25;case 36:return 7;case 37:return 53;case 38:return"COLON";case 39:return 55;case 40:return 54;case 41:case 42:return 56;case 43:return 57;case 44:return 59;case 45:return 60;case 46:return 58;case 47:return 51;case 48:return 61;case 49:return 52;case 50:return 5;case 51:return 39;case 52:return 50;case 53:return 40}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/i,/^(?:%%(?!\{)[^\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:[35],inclusive:!1},point_x:{rules:[34],inclusive:!1},point_start:{rules:[32,33],inclusive:!1},acc_descr_multiline:{rules:[16,17],inclusive:!1},acc_descr:{rules:[14],inclusive:!1},acc_title:{rules:[12],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},title:{rules:[10],inclusive:!1},md_string:{rules:[26,27],inclusive:!1},string:{rules:[29,30],inclusive:!1},INITIAL:{rules:[0,5,6,7,8,9,11,13,15,18,19,20,21,22,23,24,25,28,31,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53],inclusive:!0}}};function $(){this.yy={}}return Q.lexer=H,$.prototype=Q,Q.Parser=$,new $}());r.parser=r;const s=r,l=(0,a.C)(),o=(0,a.c)();function h(t){return(0,a.d)(t.trim(),o)}const c=new class{constructor(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){var t,i,e,n,r,s,l,o,h,c,d,u,x,g,f,y,p,q;return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:(null==(t=a.D.quadrantChart)?void 0:t.chartWidth)||500,chartWidth:(null==(i=a.D.quadrantChart)?void 0:i.chartHeight)||500,titlePadding:(null==(e=a.D.quadrantChart)?void 0:e.titlePadding)||10,titleFontSize:(null==(n=a.D.quadrantChart)?void 0:n.titleFontSize)||20,quadrantPadding:(null==(r=a.D.quadrantChart)?void 0:r.quadrantPadding)||5,xAxisLabelPadding:(null==(s=a.D.quadrantChart)?void 0:s.xAxisLabelPadding)||5,yAxisLabelPadding:(null==(l=a.D.quadrantChart)?void 0:l.yAxisLabelPadding)||5,xAxisLabelFontSize:(null==(o=a.D.quadrantChart)?void 0:o.xAxisLabelFontSize)||16,yAxisLabelFontSize:(null==(h=a.D.quadrantChart)?void 0:h.yAxisLabelFontSize)||16,quadrantLabelFontSize:(null==(c=a.D.quadrantChart)?void 0:c.quadrantLabelFontSize)||16,quadrantTextTopPadding:(null==(d=a.D.quadrantChart)?void 0:d.quadrantTextTopPadding)||5,pointTextPadding:(null==(u=a.D.quadrantChart)?void 0:u.pointTextPadding)||5,pointLabelFontSize:(null==(x=a.D.quadrantChart)?void 0:x.pointLabelFontSize)||12,pointRadius:(null==(g=a.D.quadrantChart)?void 0:g.pointRadius)||5,xAxisPosition:(null==(f=a.D.quadrantChart)?void 0:f.xAxisPosition)||"top",yAxisPosition:(null==(y=a.D.quadrantChart)?void 0:y.yAxisPosition)||"left",quadrantInternalBorderStrokeWidth:(null==(p=a.D.quadrantChart)?void 0:p.quadrantInternalBorderStrokeWidth)||1,quadrantExternalBorderStrokeWidth:(null==(q=a.D.quadrantChart)?void 0:q.quadrantExternalBorderStrokeWidth)||2}}getDefaultThemeConfig(){return{quadrant1Fill:l.quadrant1Fill,quadrant2Fill:l.quadrant2Fill,quadrant3Fill:l.quadrant3Fill,quadrant4Fill:l.quadrant4Fill,quadrant1TextFill:l.quadrant1TextFill,quadrant2TextFill:l.quadrant2TextFill,quadrant3TextFill:l.quadrant3TextFill,quadrant4TextFill:l.quadrant4TextFill,quadrantPointFill:l.quadrantPointFill,quadrantPointTextFill:l.quadrantPointTextFill,quadrantXAxisTextFill:l.quadrantXAxisTextFill,quadrantYAxisTextFill:l.quadrantYAxisTextFill,quadrantTitleFill:l.quadrantTitleFill,quadrantInternalBorderStrokeFill:l.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:l.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),a.l.info("clear called")}setData(t){this.data={...this.data,...t}}addPoints(t){this.data.points=[...t,...this.data.points]}setConfig(t){a.l.trace("setConfig called with: ",t),this.config={...this.config,...t}}setThemeConfig(t){a.l.trace("setThemeConfig called with: ",t),this.themeConfig={...this.themeConfig,...t}}calculateSpace(t,i,e,a){const n=2*this.config.xAxisLabelPadding+this.config.xAxisLabelFontSize,r={top:"top"===t&&i?n:0,bottom:"bottom"===t&&i?n:0},s=2*this.config.yAxisLabelPadding+this.config.yAxisLabelFontSize,l={left:"left"===this.config.yAxisPosition&&e?s:0,right:"right"===this.config.yAxisPosition&&e?s:0},o=this.config.titleFontSize+2*this.config.titlePadding,h={top:a?o:0},c=this.config.quadrantPadding+l.left,d=this.config.quadrantPadding+r.top+h.top,u=this.config.chartWidth-2*this.config.quadrantPadding-l.left-l.right,x=this.config.chartHeight-2*this.config.quadrantPadding-r.top-r.bottom-h.top;return{xAxisSpace:r,yAxisSpace:l,titleSpace:h,quadrantSpace:{quadrantLeft:c,quadrantTop:d,quadrantWidth:u,quadrantHalfWidth:u/2,quadrantHeight:x,quadrantHalfHeight:x/2}}}getAxisLabels(t,i,e,a){const{quadrantSpace:n,titleSpace:r}=a,{quadrantHalfHeight:s,quadrantHeight:l,quadrantLeft:o,quadrantHalfWidth:h,quadrantTop:c,quadrantWidth:d}=n,u=0===this.data.points.length,x=[];return this.data.xAxisLeftText&&i&&x.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:o+(u?h/2:0),y:"top"===t?this.config.xAxisLabelPadding+r.top:this.config.xAxisLabelPadding+c+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&i&&x.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:o+h+(u?h/2:0),y:"top"===t?this.config.xAxisLabelPadding+r.top:this.config.xAxisLabelPadding+c+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&e&&x.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+o+d+this.config.quadrantPadding,y:c+l-(u?s/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&e&&x.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+o+d+this.config.quadrantPadding,y:c+s-(u?s/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:-90}),x}getQuadrants(t){const{quadrantSpace:i}=t,{quadrantHalfHeight:e,quadrantLeft:a,quadrantHalfWidth:n,quadrantTop:r}=i,s=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a+n,y:r,width:n,height:e,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:a,y:r,width:n,height:e,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:a,y:r+e,width:n,height:e,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:a+n,y:r+e,width:n,height:e,fill:this.themeConfig.quadrant4Fill}];for(const t of s)t.text.x=t.x+t.width/2,0===this.data.points.length?(t.text.y=t.y+t.height/2,t.text.horizontalPos="middle"):(t.text.y=t.y+this.config.quadrantTextTopPadding,t.text.horizontalPos="top");return s}getQuadrantPoints(t){const{quadrantSpace:i}=t,{quadrantHeight:e,quadrantLeft:a,quadrantTop:r,quadrantWidth:s}=i,l=(0,n.BYU)().domain([0,1]).range([a,s+a]),o=(0,n.BYU)().domain([0,1]).range([e+r,r]);return this.data.points.map((t=>({x:l(t.x),y:o(t.y),fill:this.themeConfig.quadrantPointFill,radius:this.config.pointRadius,text:{text:t.text,fill:this.themeConfig.quadrantPointTextFill,x:l(t.x),y:o(t.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0}})))}getBorders(t){const i=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:e}=t,{quadrantHalfHeight:a,quadrantHeight:n,quadrantLeft:r,quadrantHalfWidth:s,quadrantTop:l,quadrantWidth:o}=e;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:r-i,y1:l,x2:r+o+i,y2:l},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:r+o,y1:l+i,x2:r+o,y2:l+n-i},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:r-i,y1:l+n,x2:r+o+i,y2:l+n},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:r,y1:l+i,x2:r,y2:l+n-i},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:r+s,y1:l+i,x2:r+s,y2:l+n-i},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:r+i,y1:l+a,x2:r+o-i,y2:l+a}]}getTitle(t){if(t)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const t=this.config.showXAxis&&!(!this.data.xAxisLeftText&&!this.data.xAxisRightText),i=this.config.showYAxis&&!(!this.data.yAxisTopText&&!this.data.yAxisBottomText),e=this.config.showTitle&&!!this.data.titleText,a=this.data.points.length>0?"bottom":this.config.xAxisPosition,n=this.calculateSpace(a,t,i,e);return{points:this.getQuadrantPoints(n),quadrants:this.getQuadrants(n),axisLabels:this.getAxisLabels(a,t,i,n),borderLines:this.getBorders(n),title:this.getTitle(e)}}},d={parser:s,db:{setWidth:function(t){c.setConfig({chartWidth:t})},setHeight:function(t){c.setConfig({chartHeight:t})},setQuadrant1Text:function(t){c.setData({quadrant1Text:h(t.text)})},setQuadrant2Text:function(t){c.setData({quadrant2Text:h(t.text)})},setQuadrant3Text:function(t){c.setData({quadrant3Text:h(t.text)})},setQuadrant4Text:function(t){c.setData({quadrant4Text:h(t.text)})},setXAxisLeftText:function(t){c.setData({xAxisLeftText:h(t.text)})},setXAxisRightText:function(t){c.setData({xAxisRightText:h(t.text)})},setYAxisTopText:function(t){c.setData({yAxisTopText:h(t.text)})},setYAxisBottomText:function(t){c.setData({yAxisBottomText:h(t.text)})},addPoint:function(t,i,e){c.addPoints([{x:i,y:e,text:h(t.text)}])},getQuadrantData:function(){const t=(0,a.c)(),{themeVariables:i,quadrantChart:e}=t;return e&&c.setConfig(e),c.setThemeConfig({quadrant1Fill:i.quadrant1Fill,quadrant2Fill:i.quadrant2Fill,quadrant3Fill:i.quadrant3Fill,quadrant4Fill:i.quadrant4Fill,quadrant1TextFill:i.quadrant1TextFill,quadrant2TextFill:i.quadrant2TextFill,quadrant3TextFill:i.quadrant3TextFill,quadrant4TextFill:i.quadrant4TextFill,quadrantPointFill:i.quadrantPointFill,quadrantPointTextFill:i.quadrantPointTextFill,quadrantXAxisTextFill:i.quadrantXAxisTextFill,quadrantYAxisTextFill:i.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:i.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:i.quadrantInternalBorderStrokeFill,quadrantTitleFill:i.quadrantTitleFill}),c.setData({titleText:(0,a.t)()}),c.build()},parseDirective:function(t,i,e){a.m.parseDirective(this,t,i,e)},clear:function(){c.clear(),(0,a.v)()},setAccTitle:a.s,getAccTitle:a.g,setDiagramTitle:a.r,getDiagramTitle:a.t,getAccDescription:a.a,setAccDescription:a.b},renderer:{draw:(t,i,e,r)=>{var s,l,o;function h(t){return"top"===t?"hanging":"middle"}function c(t){return"left"===t?"start":"middle"}function d(t){return`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`}const u=(0,a.c)();a.l.debug("Rendering quadrant chart\n"+t);const x=u.securityLevel;let g;"sandbox"===x&&(g=(0,n.Ys)("#i"+i));const f=("sandbox"===x?(0,n.Ys)(g.nodes()[0].contentDocument.body):(0,n.Ys)("body")).select(`[id="${i}"]`),y=f.append("g").attr("class","main"),p=(null==(s=u.quadrantChart)?void 0:s.chartWidth)||500,q=(null==(l=u.quadrantChart)?void 0:l.chartHeight)||500;(0,a.i)(f,q,p,(null==(o=u.quadrantChart)?void 0:o.useMaxWidth)||!0),f.attr("viewBox","0 0 "+p+" "+q),r.db.setHeight(q),r.db.setWidth(p);const T=r.db.getQuadrantData(),_=y.append("g").attr("class","quadrants"),m=y.append("g").attr("class","border"),A=y.append("g").attr("class","data-points"),b=y.append("g").attr("class","labels"),S=y.append("g").attr("class","title");T.title&&S.append("text").attr("x",0).attr("y",0).attr("fill",T.title.fill).attr("font-size",T.title.fontSize).attr("dominant-baseline",h(T.title.horizontalPos)).attr("text-anchor",c(T.title.verticalPos)).attr("transform",d(T.title)).text(T.title.text),T.borderLines&&m.selectAll("line").data(T.borderLines).enter().append("line").attr("x1",(t=>t.x1)).attr("y1",(t=>t.y1)).attr("x2",(t=>t.x2)).attr("y2",(t=>t.y2)).style("stroke",(t=>t.strokeFill)).style("stroke-width",(t=>t.strokeWidth));const k=_.selectAll("g.quadrant").data(T.quadrants).enter().append("g").attr("class","quadrant");k.append("rect").attr("x",(t=>t.x)).attr("y",(t=>t.y)).attr("width",(t=>t.width)).attr("height",(t=>t.height)).attr("fill",(t=>t.fill)),k.append("text").attr("x",0).attr("y",0).attr("fill",(t=>t.text.fill)).attr("font-size",(t=>t.text.fontSize)).attr("dominant-baseline",(t=>h(t.text.horizontalPos))).attr("text-anchor",(t=>c(t.text.verticalPos))).attr("transform",(t=>d(t.text))).text((t=>t.text.text)),b.selectAll("g.label").data(T.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text((t=>t.text)).attr("fill",(t=>t.fill)).attr("font-size",(t=>t.fontSize)).attr("dominant-baseline",(t=>h(t.horizontalPos))).attr("text-anchor",(t=>c(t.verticalPos))).attr("transform",(t=>d(t)));const v=A.selectAll("g.data-point").data(T.points).enter().append("g").attr("class","data-point");v.append("circle").attr("cx",(t=>t.x)).attr("cy",(t=>t.y)).attr("r",(t=>t.radius)).attr("fill",(t=>t.fill)),v.append("text").attr("x",0).attr("y",0).text((t=>t.text.text)).attr("fill",(t=>t.text.fill)).attr("font-size",(t=>t.text.fontSize)).attr("dominant-baseline",(t=>h(t.text.horizontalPos))).attr("text-anchor",(t=>c(t.text.verticalPos))).attr("transform",(t=>d(t.text)))}},styles:()=>""}}}]);
\ No newline at end of file
diff --git a/docs/themes/geekdoc/static/js/321-479928b6.chunk.min.js b/docs/themes/geekdoc/static/js/321-479928b6.chunk.min.js
new file mode 100644
index 000000000..62bce6148
--- /dev/null
+++ b/docs/themes/geekdoc/static/js/321-479928b6.chunk.min.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[321],{5321:function(e,t,n){n.d(t,{d:function(){return b},p:function(){return r},s:function(){return D}});var s=n(5740),i=n(5103),u=function(){var e=function(e,t,n,s){for(n=n||{},s=e.length;s--;n[e[s]]=t);return n},t=[1,34],n=[1,35],s=[1,36],i=[1,37],u=[1,9],r=[1,8],a=[1,19],c=[1,20],o=[1,21],l=[1,40],h=[1,41],A=[1,27],p=[1,25],d=[1,26],y=[1,32],E=[1,33],C=[1,28],m=[1,29],g=[1,30],f=[1,31],F=[1,45],k=[1,42],b=[1,43],D=[1,44],_=[1,46],B=[1,24],T=[1,16,24],S=[1,60],N=[1,61],v=[1,62],L=[1,63],$=[1,64],I=[1,65],O=[1,66],x=[1,16,24,52],R=[1,77],P=[1,16,24,27,28,36,50,52,55,68,69,70,71,72,73,74,79,81],w=[1,16,24,27,28,34,36,50,52,55,59,68,69,70,71,72,73,74,79,81,94,96,97,98,99],G=[1,86],M=[28,94,96,97,98,99],U=[28,73,74,94,96,97,98,99],Y=[28,68,69,70,71,72,94,96,97,98,99],K=[1,99],z=[1,16,24,50,52,55],Q=[1,16,24,36],j=[8,9,10,11,19,23,44,46,48,53,57,58,60,61,63,65,75,76,78,82,94,96,97,98,99],X={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,directive:5,statements:6,direction:7,direction_tb:8,direction_bt:9,direction_rl:10,direction_lr:11,graphConfig:12,openDirective:13,typeDirective:14,closeDirective:15,NEWLINE:16,":":17,argDirective:18,open_directive:19,type_directive:20,arg_directive:21,close_directive:22,CLASS_DIAGRAM:23,EOF:24,statement:25,classLabel:26,SQS:27,STR:28,SQE:29,namespaceName:30,alphaNumToken:31,className:32,classLiteralName:33,GENERICTYPE:34,relationStatement:35,LABEL:36,namespaceStatement:37,classStatement:38,methodStatement:39,annotationStatement:40,clickStatement:41,cssClassStatement:42,noteStatement:43,acc_title:44,acc_title_value:45,acc_descr:46,acc_descr_value:47,acc_descr_multiline_value:48,namespaceIdentifier:49,STRUCT_START:50,classStatements:51,STRUCT_STOP:52,NAMESPACE:53,classIdentifier:54,STYLE_SEPARATOR:55,members:56,CLASS:57,ANNOTATION_START:58,ANNOTATION_END:59,MEMBER:60,SEPARATOR:61,relation:62,NOTE_FOR:63,noteText:64,NOTE:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,CSSCLASS:82,commentToken:83,textToken:84,graphCodeTokens:85,textNoTagsToken:86,TAGSTART:87,TAGEND:88,"==":89,"--":90,PCT:91,DEFAULT:92,SPACE:93,MINUS:94,keywords:95,UNICODE_TEXT:96,NUM:97,ALPHA:98,BQUOTE_STR:99,$accept:0,$end:1},terminals_:{2:"error",8:"direction_tb",9:"direction_bt",10:"direction_rl",11:"direction_lr",16:"NEWLINE",17:":",19:"open_directive",20:"type_directive",21:"arg_directive",22:"close_directive",23:"CLASS_DIAGRAM",24:"EOF",27:"SQS",28:"STR",29:"SQE",34:"GENERICTYPE",36:"LABEL",44:"acc_title",45:"acc_title_value",46:"acc_descr",47:"acc_descr_value",48:"acc_descr_multiline_value",50:"STRUCT_START",52:"STRUCT_STOP",53:"NAMESPACE",55:"STYLE_SEPARATOR",57:"CLASS",58:"ANNOTATION_START",59:"ANNOTATION_END",60:"MEMBER",61:"SEPARATOR",63:"NOTE_FOR",65:"NOTE",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"CSSCLASS",85:"graphCodeTokens",87:"TAGSTART",88:"TAGEND",89:"==",90:"--",91:"PCT",92:"DEFAULT",93:"SPACE",94:"MINUS",95:"keywords",96:"UNICODE_TEXT",97:"NUM",98:"ALPHA",99:"BQUOTE_STR"},productions_:[0,[3,1],[3,2],[3,1],[7,1],[7,1],[7,1],[7,1],[4,1],[5,4],[5,6],[13,1],[14,1],[18,1],[15,1],[12,4],[6,1],[6,2],[6,3],[26,3],[30,1],[30,2],[32,1],[32,1],[32,2],[32,2],[32,2],[25,1],[25,2],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,2],[25,2],[25,1],[37,4],[37,5],[49,2],[51,1],[51,2],[51,3],[38,1],[38,3],[38,4],[38,6],[54,2],[54,3],[40,4],[56,1],[56,2],[39,1],[39,2],[39,1],[39,1],[35,3],[35,4],[35,4],[35,5],[43,3],[43,2],[62,3],[62,2],[62,2],[62,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[41,3],[41,4],[41,3],[41,4],[41,4],[41,5],[41,3],[41,4],[41,4],[41,5],[41,3],[41,4],[41,4],[41,5],[42,3],[83,1],[83,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[84,1],[86,1],[86,1],[86,1],[86,1],[31,1],[31,1],[31,1],[31,1],[33,1],[64,1]],performAction:function(e,t,n,s,i,u,r){var a=u.length-1;switch(i){case 4:s.setDirection("TB");break;case 5:s.setDirection("BT");break;case 6:s.setDirection("RL");break;case 7:s.setDirection("LR");break;case 11:s.parseDirective("%%{","open_directive");break;case 12:s.parseDirective(u[a],"type_directive");break;case 13:u[a]=u[a].trim().replace(/'/g,'"'),s.parseDirective(u[a],"arg_directive");break;case 14:s.parseDirective("}%%","close_directive","class");break;case 19:this.$=u[a-1];break;case 20:case 22:case 23:this.$=u[a];break;case 21:case 24:this.$=u[a-1]+u[a];break;case 25:case 26:this.$=u[a-1]+"~"+u[a]+"~";break;case 27:s.addRelation(u[a]);break;case 28:u[a-1].title=s.cleanupLabel(u[a]),s.addRelation(u[a-1]);break;case 37:this.$=u[a].trim(),s.setAccTitle(this.$);break;case 38:case 39:this.$=u[a].trim(),s.setAccDescription(this.$);break;case 40:s.addClassesToNamespace(u[a-3],u[a-1]);break;case 41:s.addClassesToNamespace(u[a-4],u[a-1]);break;case 42:this.$=u[a],s.addNamespace(u[a]);break;case 43:case 53:this.$=[u[a]];break;case 44:this.$=[u[a-1]];break;case 45:u[a].unshift(u[a-2]),this.$=u[a];break;case 47:s.setCssClass(u[a-2],u[a]);break;case 48:s.addMembers(u[a-3],u[a-1]);break;case 49:s.setCssClass(u[a-5],u[a-3]),s.addMembers(u[a-5],u[a-1]);break;case 50:this.$=u[a],s.addClass(u[a]);break;case 51:this.$=u[a-1],s.addClass(u[a-1]),s.setClassLabel(u[a-1],u[a]);break;case 52:s.addAnnotation(u[a],u[a-2]);break;case 54:u[a].push(u[a-1]),this.$=u[a];break;case 55:case 57:case 58:break;case 56:s.addMember(u[a-1],s.cleanupLabel(u[a]));break;case 59:this.$={id1:u[a-2],id2:u[a],relation:u[a-1],relationTitle1:"none",relationTitle2:"none"};break;case 60:this.$={id1:u[a-3],id2:u[a],relation:u[a-1],relationTitle1:u[a-2],relationTitle2:"none"};break;case 61:this.$={id1:u[a-3],id2:u[a],relation:u[a-2],relationTitle1:"none",relationTitle2:u[a-1]};break;case 62:this.$={id1:u[a-4],id2:u[a],relation:u[a-2],relationTitle1:u[a-3],relationTitle2:u[a-1]};break;case 63:s.addNote(u[a],u[a-1]);break;case 64:s.addNote(u[a]);break;case 65:this.$={type1:u[a-2],type2:u[a],lineType:u[a-1]};break;case 66:this.$={type1:"none",type2:u[a],lineType:u[a-1]};break;case 67:this.$={type1:u[a-1],type2:"none",lineType:u[a]};break;case 68:this.$={type1:"none",type2:"none",lineType:u[a]};break;case 69:this.$=s.relationType.AGGREGATION;break;case 70:this.$=s.relationType.EXTENSION;break;case 71:this.$=s.relationType.COMPOSITION;break;case 72:this.$=s.relationType.DEPENDENCY;break;case 73:this.$=s.relationType.LOLLIPOP;break;case 74:this.$=s.lineType.LINE;break;case 75:this.$=s.lineType.DOTTED_LINE;break;case 76:case 82:this.$=u[a-2],s.setClickEvent(u[a-1],u[a]);break;case 77:case 83:this.$=u[a-3],s.setClickEvent(u[a-2],u[a-1]),s.setTooltip(u[a-2],u[a]);break;case 78:case 86:this.$=u[a-2],s.setLink(u[a-1],u[a]);break;case 79:case 87:this.$=u[a-3],s.setLink(u[a-2],u[a-1],u[a]);break;case 80:case 88:this.$=u[a-3],s.setLink(u[a-2],u[a-1]),s.setTooltip(u[a-2],u[a]);break;case 81:case 89:this.$=u[a-4],s.setLink(u[a-3],u[a-2],u[a]),s.setTooltip(u[a-3],u[a-1]);break;case 84:this.$=u[a-3],s.setClickEvent(u[a-2],u[a-1],u[a]);break;case 85:this.$=u[a-4],s.setClickEvent(u[a-3],u[a-2],u[a-1]),s.setTooltip(u[a-3],u[a]);break;case 90:s.setCssClass(u[a-1],u[a])}},table:[{3:1,4:2,5:3,6:4,7:18,8:t,9:n,10:s,11:i,12:5,13:6,19:u,23:r,25:7,31:38,32:22,33:39,35:10,37:11,38:12,39:13,40:14,41:15,42:16,43:17,44:a,46:c,48:o,49:23,53:l,54:24,57:h,58:A,60:p,61:d,63:y,65:E,75:C,76:m,78:g,82:f,94:F,96:k,97:b,98:D,99:_},{1:[3]},{1:[2,1]},{3:47,4:2,5:3,6:4,7:18,8:t,9:n,10:s,11:i,12:5,13:6,19:u,23:r,25:7,31:38,32:22,33:39,35:10,37:11,38:12,39:13,40:14,41:15,42:16,43:17,44:a,46:c,48:o,49:23,53:l,54:24,57:h,58:A,60:p,61:d,63:y,65:E,75:C,76:m,78:g,82:f,94:F,96:k,97:b,98:D,99:_},{1:[2,3]},{1:[2,8]},{14:48,20:[1,49]},e(B,[2,16],{16:[1,50]}),{16:[1,51]},{20:[2,11]},e(T,[2,27],{36:[1,52]}),e(T,[2,29]),e(T,[2,30]),e(T,[2,31]),e(T,[2,32]),e(T,[2,33]),e(T,[2,34]),e(T,[2,35]),e(T,[2,36]),{45:[1,53]},{47:[1,54]},e(T,[2,39]),e(T,[2,55],{62:55,66:58,67:59,28:[1,56],36:[1,57],68:S,69:N,70:v,71:L,72:$,73:I,74:O}),{50:[1,67]},e(x,[2,46],{50:[1,69],55:[1,68]}),e(T,[2,57]),e(T,[2,58]),{31:70,94:F,96:k,97:b,98:D},{31:38,32:71,33:39,94:F,96:k,97:b,98:D,99:_},{31:38,32:72,33:39,94:F,96:k,97:b,98:D,99:_},{31:38,32:73,33:39,94:F,96:k,97:b,98:D,99:_},{28:[1,74]},{31:38,32:75,33:39,94:F,96:k,97:b,98:D,99:_},{28:R,64:76},e(T,[2,4]),e(T,[2,5]),e(T,[2,6]),e(T,[2,7]),e(P,[2,22],{31:38,33:39,32:78,34:[1,79],94:F,96:k,97:b,98:D,99:_}),e(P,[2,23],{34:[1,80]}),{30:81,31:82,94:F,96:k,97:b,98:D},{31:38,32:83,33:39,94:F,96:k,97:b,98:D,99:_},e(w,[2,104]),e(w,[2,105]),e(w,[2,106]),e(w,[2,107]),e([1,16,24,27,28,34,36,50,52,55,68,69,70,71,72,73,74,79,81],[2,108]),{1:[2,2]},{15:84,17:[1,85],22:G},e([17,22],[2,12]),e(B,[2,17],{25:7,35:10,37:11,38:12,39:13,40:14,41:15,42:16,43:17,7:18,32:22,49:23,54:24,31:38,33:39,6:87,8:t,9:n,10:s,11:i,44:a,46:c,48:o,53:l,57:h,58:A,60:p,61:d,63:y,65:E,75:C,76:m,78:g,82:f,94:F,96:k,97:b,98:D,99:_}),{6:88,7:18,8:t,9:n,10:s,11:i,25:7,31:38,32:22,33:39,35:10,37:11,38:12,39:13,40:14,41:15,42:16,43:17,44:a,46:c,48:o,49:23,53:l,54:24,57:h,58:A,60:p,61:d,63:y,65:E,75:C,76:m,78:g,82:f,94:F,96:k,97:b,98:D,99:_},e(T,[2,28]),e(T,[2,37]),e(T,[2,38]),{28:[1,90],31:38,32:89,33:39,94:F,96:k,97:b,98:D,99:_},{62:91,66:58,67:59,68:S,69:N,70:v,71:L,72:$,73:I,74:O},e(T,[2,56]),{67:92,73:I,74:O},e(M,[2,68],{66:93,68:S,69:N,70:v,71:L,72:$}),e(U,[2,69]),e(U,[2,70]),e(U,[2,71]),e(U,[2,72]),e(U,[2,73]),e(Y,[2,74]),e(Y,[2,75]),{16:[1,95],38:96,51:94,54:24,57:h},{31:97,94:F,96:k,97:b,98:D},{56:98,60:K},{59:[1,100]},{28:[1,101]},{28:[1,102]},{79:[1,103],81:[1,104]},{31:105,94:F,96:k,97:b,98:D},{28:R,64:106},e(T,[2,64]),e(T,[2,109]),e(P,[2,24]),e(P,[2,25]),e(P,[2,26]),{50:[2,42]},{30:107,31:82,50:[2,20],94:F,96:k,97:b,98:D},e(z,[2,50],{26:108,27:[1,109]}),{16:[1,110]},{18:111,21:[1,112]},{16:[2,14]},e(B,[2,18]),{24:[1,113]},e(Q,[2,59]),{31:38,32:114,33:39,94:F,96:k,97:b,98:D,99:_},{28:[1,116],31:38,32:115,33:39,94:F,96:k,97:b,98:D,99:_},e(M,[2,67],{66:117,68:S,69:N,70:v,71:L,72:$}),e(M,[2,66]),{52:[1,118]},{38:96,51:119,54:24,57:h},{16:[1,120],52:[2,43]},e(x,[2,47],{50:[1,121]}),{52:[1,122]},{52:[2,53],56:123,60:K},{31:38,32:124,33:39,94:F,96:k,97:b,98:D,99:_},e(T,[2,76],{28:[1,125]}),e(T,[2,78],{28:[1,127],77:[1,126]}),e(T,[2,82],{28:[1,128],80:[1,129]}),e(T,[2,86],{28:[1,131],77:[1,130]}),e(T,[2,90]),e(T,[2,63]),{50:[2,21]},e(z,[2,51]),{28:[1,132]},e(j,[2,9]),{15:133,22:G},{22:[2,13]},{1:[2,15]},e(Q,[2,61]),e(Q,[2,60]),{31:38,32:134,33:39,94:F,96:k,97:b,98:D,99:_},e(M,[2,65]),e(T,[2,40]),{52:[1,135]},{38:96,51:136,52:[2,44],54:24,57:h},{56:137,60:K},e(x,[2,48]),{52:[2,54]},e(T,[2,52]),e(T,[2,77]),e(T,[2,79]),e(T,[2,80],{77:[1,138]}),e(T,[2,83]),e(T,[2,84],{28:[1,139]}),e(T,[2,87]),e(T,[2,88],{77:[1,140]}),{29:[1,141]},{16:[1,142]},e(Q,[2,62]),e(T,[2,41]),{52:[2,45]},{52:[1,143]},e(T,[2,81]),e(T,[2,85]),e(T,[2,89]),e(z,[2,19]),e(j,[2,10]),e(x,[2,49])],defaultActions:{2:[2,1],4:[2,3],5:[2,8],9:[2,11],47:[2,2],81:[2,42],86:[2,14],107:[2,21],112:[2,13],113:[2,15],123:[2,54],136:[2,45]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=[0],n=[],s=[null],i=[],u=this.table,r="",a=0,c=0,o=i.slice.call(arguments,1),l=Object.create(this.lexer),h={yy:{}};for(var A in this.yy)Object.prototype.hasOwnProperty.call(this.yy,A)&&(h.yy[A]=this.yy[A]);l.setInput(e,h.yy),h.yy.lexer=l,h.yy.parser=this,void 0===l.yylloc&&(l.yylloc={});var p=l.yylloc;i.push(p);var d=l.options&&l.options.ranges;"function"==typeof h.yy.parseError?this.parseError=h.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var y,E,C,m,g,f,F,k,b,D={};;){if(E=t[t.length-1],this.defaultActions[E]?C=this.defaultActions[E]:(null==y&&(b=void 0,"number"!=typeof(b=n.pop()||l.lex()||1)&&(b instanceof Array&&(b=(n=b).pop()),b=this.symbols_[b]||b),y=b),C=u[E]&&u[E][y]),void 0===C||!C.length||!C[0]){var _;for(g in k=[],u[E])this.terminals_[g]&&g>2&&k.push("'"+this.terminals_[g]+"'");_=l.showPosition?"Parse error on line "+(a+1)+":\n"+l.showPosition()+"\nExpecting "+k.join(", ")+", got '"+(this.terminals_[y]||y)+"'":"Parse error on line "+(a+1)+": Unexpected "+(1==y?"end of input":"'"+(this.terminals_[y]||y)+"'"),this.parseError(_,{text:l.match,token:this.terminals_[y]||y,line:l.yylineno,loc:p,expected:k})}if(C[0]instanceof Array&&C.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+y);switch(C[0]){case 1:t.push(y),s.push(l.yytext),i.push(l.yylloc),t.push(C[1]),y=null,c=l.yyleng,r=l.yytext,a=l.yylineno,p=l.yylloc;break;case 2:if(f=this.productions_[C[1]][1],D.$=s[s.length-f],D._$={first_line:i[i.length-(f||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(f||1)].first_column,last_column:i[i.length-1].last_column},d&&(D._$.range=[i[i.length-(f||1)].range[0],i[i.length-1].range[1]]),void 0!==(m=this.performAction.apply(D,[r,c,a,h.yy,C[1],s,i].concat(o))))return m;f&&(t=t.slice(0,-1*f*2),s=s.slice(0,-1*f),i=i.slice(0,-1*f)),t.push(this.productions_[C[1]][0]),s.push(D.$),i.push(D._$),F=u[t[t.length-2]][t[t.length-1]],t.push(F);break;case 3:return!0}}return!0}},W={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||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];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===s.length?this.yylloc.first_column:0)+s[s.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(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(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,s,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),(s=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.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],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var u in i)this[u]=i[u];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,s;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),u=0;ut[0].length)){if(t=n,s=u,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,i[u])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,i[s]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,n,s){switch(n){case 0:return this.begin("open_directive"),19;case 1:return 8;case 2:return 9;case 3:return 10;case 4:return 11;case 5:return this.begin("type_directive"),20;case 6:return this.popState(),this.begin("arg_directive"),17;case 7:return this.popState(),this.popState(),22;case 8:return 21;case 9:case 10:case 19:case 25:case 30:case 34:case 41:break;case 11:return this.begin("acc_title"),44;case 12:return this.popState(),"acc_title_value";case 13:return this.begin("acc_descr"),46;case 14:return this.popState(),"acc_descr_value";case 15:this.begin("acc_descr_multiline");break;case 16:case 52:case 55:case 58:case 60:case 63:case 66:this.popState();break;case 17:return"acc_descr_multiline_value";case 18:case 29:return 16;case 20:case 21:return 23;case 22:case 31:case 39:return"EDGE_STATE";case 23:return this.begin("namespace"),53;case 24:case 33:return this.popState(),16;case 26:return this.begin("namespace-body"),50;case 27:case 37:return this.popState(),52;case 28:case 38:return"EOF_IN_STRUCT";case 32:return this.begin("class"),57;case 35:return this.popState(),this.popState(),52;case 36:return this.begin("class-body"),50;case 40:return"OPEN_IN_STRUCT";case 42:return"MEMBER";case 43:return 82;case 44:return 75;case 45:return 76;case 46:return 78;case 47:return 63;case 48:return 65;case 49:return 58;case 50:return 59;case 51:this.begin("href");break;case 53:return 81;case 54:this.begin("callback_name");break;case 56:this.popState(),this.begin("callback_args");break;case 57:return 79;case 59:return 80;case 61:return"GENERICTYPE";case 62:this.begin("generic");break;case 64:return"STR";case 65:this.begin("string");break;case 67:return"BQUOTE_STR";case 68:this.begin("bqstring");break;case 69:case 70:case 71:case 72:return 77;case 73:case 74:return 69;case 75:case 76:return 71;case 77:return 70;case 78:return 68;case 79:return 72;case 80:return 73;case 81:return 74;case 82:return 36;case 83:return 55;case 84:return 94;case 85:return"DOT";case 86:return"PLUS";case 87:return 91;case 88:case 89:return"EQUALS";case 90:return 98;case 91:return 27;case 92:return 29;case 93:return"PUNCTUATION";case 94:return 97;case 95:return 96;case 96:return 93;case 97:return 24}},rules:[/^(?:%%\{)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:((?:(?!\}%%)[^:.])*))/,/^(?::)/,/^(?:\}%%)/,/^(?:((?:(?!\}%%).|\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)/,/^(?:\[\*\])/,/^(?: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[\s]+["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:[~])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_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)/,/^(?:$)/],conditions:{"namespace-body":{rules:[27,28,29,30,31,32,43,44,45,46,47,48,49,50,51,54,62,65,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,97],inclusive:!1},namespace:{rules:[23,24,25,26,43,44,45,46,47,48,49,50,51,54,62,65,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,97],inclusive:!1},"class-body":{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,54,62,65,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,97],inclusive:!1},class:{rules:[33,34,35,36,43,44,45,46,47,48,49,50,51,54,62,65,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,97],inclusive:!1},acc_descr_multiline:{rules:[16,17,43,44,45,46,47,48,49,50,51,54,62,65,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,97],inclusive:!1},acc_descr:{rules:[14,43,44,45,46,47,48,49,50,51,54,62,65,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,97],inclusive:!1},acc_title:{rules:[12,43,44,45,46,47,48,49,50,51,54,62,65,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,97],inclusive:!1},arg_directive:{rules:[7,8,43,44,45,46,47,48,49,50,51,54,62,65,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,97],inclusive:!1},type_directive:{rules:[6,7,43,44,45,46,47,48,49,50,51,54,62,65,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,97],inclusive:!1},open_directive:{rules:[5,43,44,45,46,47,48,49,50,51,54,62,65,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,97],inclusive:!1},callback_args:{rules:[43,44,45,46,47,48,49,50,51,54,58,59,62,65,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,97],inclusive:!1},callback_name:{rules:[43,44,45,46,47,48,49,50,51,54,55,56,57,62,65,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,97],inclusive:!1},href:{rules:[43,44,45,46,47,48,49,50,51,52,53,54,62,65,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,97],inclusive:!1},struct:{rules:[43,44,45,46,47,48,49,50,51,54,62,65,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,97],inclusive:!1},generic:{rules:[43,44,45,46,47,48,49,50,51,54,60,61,62,65,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,97],inclusive:!1},bqstring:{rules:[43,44,45,46,47,48,49,50,51,54,62,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,97],inclusive:!1},string:{rules:[43,44,45,46,47,48,49,50,51,54,62,63,64,65,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,97],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,9,10,11,13,15,18,19,20,21,22,23,32,43,44,45,46,47,48,49,50,51,54,62,65,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,97],inclusive:!0}}};function H(){this.yy={}}return X.lexer=W,H.prototype=X,X.Parser=H,new H}();u.parser=u;const r=u,a="classId-";let c=[],o={},l=[],h=0,A={},p=0,d=[];const y=e=>i.e.sanitizeText(e,(0,i.c)()),E=function(e){let t="",n=e;if(e.indexOf("~")>0){const s=e.split("~");n=y(s[0]),t=y(s[1])}return{className:n,type:t}},C=function(e){const t=E(e);void 0===o[t.className]&&(o[t.className]={id:t.className,type:t.type,label:t.className,cssClasses:[],methods:[],members:[],annotations:[],domId:a+t.className+"-"+h},h++)},m=function(e){if(e in o)return o[e].domId;throw new Error("Class not found: "+e)},g=function(e,t){const n=E(e).className,s=o[n];if("string"==typeof t){const e=t.trim();e.startsWith("<<")&&e.endsWith(">>")?s.annotations.push(y(e.substring(2,e.length-2))):e.indexOf(")")>0?s.methods.push(y(e)):e&&s.members.push(y(e))}},f=function(e,t){e.split(",").forEach((function(e){let n=e;e[0].match(/\d/)&&(n=a+n),void 0!==o[n]&&o[n].cssClasses.push(t)}))},F=function(e){let t=(0,s.Ys)(".mermaidTooltip");null===(t._groups||t)[0][0]&&(t=(0,s.Ys)("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),(0,s.Ys)(e).select("svg").selectAll("g.node").on("mouseover",(function(){const e=(0,s.Ys)(this);if(null===e.attr("title"))return;const n=this.getBoundingClientRect();t.transition().duration(200).style("opacity",".9"),t.text(e.attr("title")).style("left",window.scrollX+n.left+(n.right-n.left)/2+"px").style("top",window.scrollY+n.top-14+document.body.scrollTop+"px"),t.html(t.html().replace(/<br\/>/g,"
")),e.classed("hover",!0)})).on("mouseout",(function(){t.transition().duration(500).style("opacity",0),(0,s.Ys)(this).classed("hover",!1)}))};d.push(F);let k="TB";const b={parseDirective:function(e,t,n){i.m.parseDirective(this,e,t,n)},setAccTitle:i.s,getAccTitle:i.g,getAccDescription:i.a,setAccDescription:i.b,getConfig:()=>(0,i.c)().class,addClass:C,bindFunctions:function(e){d.forEach((function(t){t(e)}))},clear:function(){c=[],o={},l=[],d=[],d.push(F),A={},p=0,(0,i.v)()},getClass:function(e){return o[e]},getClasses:function(){return o},getNotes:function(){return l},addAnnotation:function(e,t){const n=E(e).className;o[n].annotations.push(t)},addNote:function(e,t){const n={id:`note${l.length}`,class:t,text:e};l.push(n)},getRelations:function(){return c},addRelation:function(e){i.l.debug("Adding relation: "+JSON.stringify(e)),C(e.id1),C(e.id2),e.id1=E(e.id1).className,e.id2=E(e.id2).className,e.relationTitle1=i.e.sanitizeText(e.relationTitle1.trim(),(0,i.c)()),e.relationTitle2=i.e.sanitizeText(e.relationTitle2.trim(),(0,i.c)()),c.push(e)},getDirection:()=>k,setDirection:e=>{k=e},addMember:g,addMembers:function(e,t){Array.isArray(t)&&(t.reverse(),t.forEach((t=>g(e,t))))},cleanupLabel:function(e){return e.startsWith(":")&&(e=e.substring(1)),y(e.trim())},lineType:{LINE:0,DOTTED_LINE:1},relationType:{AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},setClickEvent:function(e,t,n){e.split(",").forEach((function(e){(function(e,t,n){if("loose"!==(0,i.c)().securityLevel)return;if(void 0===t)return;const s=e;if(void 0!==o[s]){const e=m(s);let u=[];if("string"==typeof n){u=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let e=0;e{o[t].parent=e,A[e].classes[t]=o[t]}))},getNamespace:function(e){return A[e]},getNamespaces:function(){return A}},D=e=>`g.classGroup text {\n fill: ${e.nodeBorder};\n fill: ${e.classText};\n stroke: none;\n font-family: ${e.fontFamily};\n font-size: 10px;\n\n .title {\n font-weight: bolder;\n }\n\n}\n\n.nodeLabel, .edgeLabel {\n color: ${e.classText};\n}\n.edgeLabel .label rect {\n fill: ${e.mainBkg};\n}\n.label text {\n fill: ${e.classText};\n}\n.edgeLabel .label span {\n background: ${e.mainBkg};\n}\n\n.classTitle {\n font-weight: bolder;\n}\n.node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${e.mainBkg};\n stroke: ${e.nodeBorder};\n stroke-width: 1px;\n }\n\n\n.divider {\n stroke: ${e.nodeBorder};\n stroke-width: 1;\n}\n\ng.clickable {\n cursor: pointer;\n}\n\ng.classGroup rect {\n fill: ${e.mainBkg};\n stroke: ${e.nodeBorder};\n}\n\ng.classGroup line {\n stroke: ${e.nodeBorder};\n stroke-width: 1;\n}\n\n.classLabel .box {\n stroke: none;\n stroke-width: 0;\n fill: ${e.mainBkg};\n opacity: 0.5;\n}\n\n.classLabel .label {\n fill: ${e.nodeBorder};\n font-size: 10px;\n}\n\n.relation {\n stroke: ${e.lineColor};\n stroke-width: 1;\n fill: none;\n}\n\n.dashed-line{\n stroke-dasharray: 3;\n}\n\n.dotted-line{\n stroke-dasharray: 1 2;\n}\n\n#compositionStart, .composition {\n fill: ${e.lineColor} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#compositionEnd, .composition {\n fill: ${e.lineColor} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ${e.lineColor} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#dependencyStart, .dependency {\n fill: ${e.lineColor} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#extensionStart, .extension {\n fill: ${e.mainBkg} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#extensionEnd, .extension {\n fill: ${e.mainBkg} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#aggregationStart, .aggregation {\n fill: ${e.mainBkg} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#aggregationEnd, .aggregation {\n fill: ${e.mainBkg} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#lollipopStart, .lollipop {\n fill: ${e.mainBkg} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n#lollipopEnd, .lollipop {\n fill: ${e.mainBkg} !important;\n stroke: ${e.lineColor} !important;\n stroke-width: 1;\n}\n\n.edgeTerminals {\n font-size: 11px;\n}\n\n.classTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${e.textColor};\n}\n`}}]);
\ No newline at end of file
diff --git a/docs/themes/geekdoc/static/js/422-156f22f0.chunk.min.js b/docs/themes/geekdoc/static/js/422-156f22f0.chunk.min.js
new file mode 100644
index 000000000..7341a6340
--- /dev/null
+++ b/docs/themes/geekdoc/static/js/422-156f22f0.chunk.min.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[422],{5422:function(e,t,i){i.d(t,{diagram:function(){return k}});var r=i(5103),n=i(5740),s=i(9451),a=i(5625),c=(i(7484),i(7967),i(7856),function(){var e=function(e,t,i,r){for(i=i||{},r=e.length;r--;i[e[r]]=t);return i},t=[1,3],i=[1,5],r=[1,6],n=[1,7],s=[1,8],a=[5,6,8,14,16,18,19,40,41,42,43,44,45,53,71,72],c=[1,22],l=[2,13],o=[1,26],h=[1,27],u=[1,28],d=[1,29],y=[1,30],p=[1,31],_=[1,24],g=[1,32],E=[1,33],R=[1,36],f=[71,72],m=[5,8,14,16,18,19,40,41,42,43,44,45,53,60,62,71,72],I=[1,56],b=[1,57],k=[1,58],S=[1,59],T=[1,60],N=[1,61],v=[1,62],x=[62,63],A=[1,74],q=[1,70],$=[1,71],O=[1,72],w=[1,73],C=[1,75],D=[1,79],L=[1,80],F=[1,77],M=[1,78],P=[5,8,14,16,18,19,40,41,42,43,44,45,53,71,72],V={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,openDirective:9,typeDirective:10,closeDirective:11,":":12,argDirective:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,open_directive:19,type_directive:20,arg_directive:21,close_directive:22,requirementDef:23,elementDef:24,relationshipDef:25,requirementType:26,requirementName:27,STRUCT_START:28,requirementBody:29,ID:30,COLONSEP:31,id:32,TEXT:33,text:34,RISK:35,riskLevel:36,VERIFYMTHD:37,verifyType:38,STRUCT_STOP:39,REQUIREMENT:40,FUNCTIONAL_REQUIREMENT:41,INTERFACE_REQUIREMENT:42,PERFORMANCE_REQUIREMENT:43,PHYSICAL_REQUIREMENT:44,DESIGN_CONSTRAINT:45,LOW_RISK:46,MED_RISK:47,HIGH_RISK:48,VERIFY_ANALYSIS:49,VERIFY_DEMONSTRATION:50,VERIFY_INSPECTION:51,VERIFY_TEST:52,ELEMENT:53,elementName:54,elementBody:55,TYPE:56,type:57,DOCREF:58,ref:59,END_ARROW_L:60,relationship:61,LINE:62,END_ARROW_R:63,CONTAINS:64,COPIES:65,DERIVES:66,SATISFIES:67,VERIFIES:68,REFINES:69,TRACES:70,unqString:71,qString:72,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",12:":",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"open_directive",20:"type_directive",21:"arg_directive",22:"close_directive",28:"STRUCT_START",30:"ID",31:"COLONSEP",33:"TEXT",35:"RISK",37:"VERIFYMTHD",39:"STRUCT_STOP",40:"REQUIREMENT",41:"FUNCTIONAL_REQUIREMENT",42:"INTERFACE_REQUIREMENT",43:"PERFORMANCE_REQUIREMENT",44:"PHYSICAL_REQUIREMENT",45:"DESIGN_CONSTRAINT",46:"LOW_RISK",47:"MED_RISK",48:"HIGH_RISK",49:"VERIFY_ANALYSIS",50:"VERIFY_DEMONSTRATION",51:"VERIFY_INSPECTION",52:"VERIFY_TEST",53:"ELEMENT",56:"TYPE",58:"DOCREF",60:"END_ARROW_L",62:"LINE",63:"END_ARROW_R",64:"CONTAINS",65:"COPIES",66:"DERIVES",67:"SATISFIES",68:"VERIFIES",69:"REFINES",70:"TRACES",71:"unqString",72:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,3],[4,5],[4,2],[4,2],[4,1],[9,1],[10,1],[13,1],[11,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[23,5],[29,5],[29,5],[29,5],[29,5],[29,2],[29,1],[26,1],[26,1],[26,1],[26,1],[26,1],[26,1],[36,1],[36,1],[36,1],[38,1],[38,1],[38,1],[38,1],[24,5],[55,5],[55,5],[55,2],[55,1],[25,5],[25,5],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[61,1],[27,1],[27,1],[32,1],[32,1],[34,1],[34,1],[54,1],[54,1],[57,1],[57,1],[59,1],[59,1]],performAction:function(e,t,i,r,n,s,a){var c=s.length-1;switch(n){case 6:this.$=s[c].trim(),r.setAccTitle(this.$);break;case 7:case 8:this.$=s[c].trim(),r.setAccDescription(this.$);break;case 9:r.parseDirective("%%{","open_directive");break;case 10:r.parseDirective(s[c],"type_directive");break;case 11:s[c]=s[c].trim().replace(/'/g,'"'),r.parseDirective(s[c],"arg_directive");break;case 12:r.parseDirective("}%%","close_directive","pie");break;case 13:this.$=[];break;case 19:r.addRequirement(s[c-3],s[c-4]);break;case 20:r.setNewReqId(s[c-2]);break;case 21:r.setNewReqText(s[c-2]);break;case 22:r.setNewReqRisk(s[c-2]);break;case 23:r.setNewReqVerifyMethod(s[c-2]);break;case 26:this.$=r.RequirementType.REQUIREMENT;break;case 27:this.$=r.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 28:this.$=r.RequirementType.INTERFACE_REQUIREMENT;break;case 29:this.$=r.RequirementType.PERFORMANCE_REQUIREMENT;break;case 30:this.$=r.RequirementType.PHYSICAL_REQUIREMENT;break;case 31:this.$=r.RequirementType.DESIGN_CONSTRAINT;break;case 32:this.$=r.RiskLevel.LOW_RISK;break;case 33:this.$=r.RiskLevel.MED_RISK;break;case 34:this.$=r.RiskLevel.HIGH_RISK;break;case 35:this.$=r.VerifyType.VERIFY_ANALYSIS;break;case 36:this.$=r.VerifyType.VERIFY_DEMONSTRATION;break;case 37:this.$=r.VerifyType.VERIFY_INSPECTION;break;case 38:this.$=r.VerifyType.VERIFY_TEST;break;case 39:r.addElement(s[c-3]);break;case 40:r.setNewElementType(s[c-2]);break;case 41:r.setNewElementDocRef(s[c-2]);break;case 44:r.addRelationship(s[c-2],s[c],s[c-4]);break;case 45:r.addRelationship(s[c-2],s[c-4],s[c]);break;case 46:this.$=r.Relationships.CONTAINS;break;case 47:this.$=r.Relationships.COPIES;break;case 48:this.$=r.Relationships.DERIVES;break;case 49:this.$=r.Relationships.SATISFIES;break;case 50:this.$=r.Relationships.VERIFIES;break;case 51:this.$=r.Relationships.REFINES;break;case 52:this.$=r.Relationships.TRACES}},table:[{3:1,4:2,6:t,9:4,14:i,16:r,18:n,19:s},{1:[3]},{3:10,4:2,5:[1,9],6:t,9:4,14:i,16:r,18:n,19:s},{5:[1,11]},{10:12,20:[1,13]},{15:[1,14]},{17:[1,15]},e(a,[2,8]),{20:[2,9]},{3:16,4:2,6:t,9:4,14:i,16:r,18:n,19:s},{1:[2,2]},{4:21,5:c,7:17,8:l,9:4,14:i,16:r,18:n,19:s,23:18,24:19,25:20,26:23,32:25,40:o,41:h,42:u,43:d,44:y,45:p,53:_,71:g,72:E},{11:34,12:[1,35],22:R},e([12,22],[2,10]),e(a,[2,6]),e(a,[2,7]),{1:[2,1]},{8:[1,37]},{4:21,5:c,7:38,8:l,9:4,14:i,16:r,18:n,19:s,23:18,24:19,25:20,26:23,32:25,40:o,41:h,42:u,43:d,44:y,45:p,53:_,71:g,72:E},{4:21,5:c,7:39,8:l,9:4,14:i,16:r,18:n,19:s,23:18,24:19,25:20,26:23,32:25,40:o,41:h,42:u,43:d,44:y,45:p,53:_,71:g,72:E},{4:21,5:c,7:40,8:l,9:4,14:i,16:r,18:n,19:s,23:18,24:19,25:20,26:23,32:25,40:o,41:h,42:u,43:d,44:y,45:p,53:_,71:g,72:E},{4:21,5:c,7:41,8:l,9:4,14:i,16:r,18:n,19:s,23:18,24:19,25:20,26:23,32:25,40:o,41:h,42:u,43:d,44:y,45:p,53:_,71:g,72:E},{4:21,5:c,7:42,8:l,9:4,14:i,16:r,18:n,19:s,23:18,24:19,25:20,26:23,32:25,40:o,41:h,42:u,43:d,44:y,45:p,53:_,71:g,72:E},{27:43,71:[1,44],72:[1,45]},{54:46,71:[1,47],72:[1,48]},{60:[1,49],62:[1,50]},e(f,[2,26]),e(f,[2,27]),e(f,[2,28]),e(f,[2,29]),e(f,[2,30]),e(f,[2,31]),e(m,[2,55]),e(m,[2,56]),e(a,[2,4]),{13:51,21:[1,52]},e(a,[2,12]),{1:[2,3]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{8:[2,17]},{8:[2,18]},{28:[1,53]},{28:[2,53]},{28:[2,54]},{28:[1,54]},{28:[2,59]},{28:[2,60]},{61:55,64:I,65:b,66:k,67:S,68:T,69:N,70:v},{61:63,64:I,65:b,66:k,67:S,68:T,69:N,70:v},{11:64,22:R},{22:[2,11]},{5:[1,65]},{5:[1,66]},{62:[1,67]},e(x,[2,46]),e(x,[2,47]),e(x,[2,48]),e(x,[2,49]),e(x,[2,50]),e(x,[2,51]),e(x,[2,52]),{63:[1,68]},e(a,[2,5]),{5:A,29:69,30:q,33:$,35:O,37:w,39:C},{5:D,39:L,55:76,56:F,58:M},{32:81,71:g,72:E},{32:82,71:g,72:E},e(P,[2,19]),{31:[1,83]},{31:[1,84]},{31:[1,85]},{31:[1,86]},{5:A,29:87,30:q,33:$,35:O,37:w,39:C},e(P,[2,25]),e(P,[2,39]),{31:[1,88]},{31:[1,89]},{5:D,39:L,55:90,56:F,58:M},e(P,[2,43]),e(P,[2,44]),e(P,[2,45]),{32:91,71:g,72:E},{34:92,71:[1,93],72:[1,94]},{36:95,46:[1,96],47:[1,97],48:[1,98]},{38:99,49:[1,100],50:[1,101],51:[1,102],52:[1,103]},e(P,[2,24]),{57:104,71:[1,105],72:[1,106]},{59:107,71:[1,108],72:[1,109]},e(P,[2,42]),{5:[1,110]},{5:[1,111]},{5:[2,57]},{5:[2,58]},{5:[1,112]},{5:[2,32]},{5:[2,33]},{5:[2,34]},{5:[1,113]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[2,38]},{5:[1,114]},{5:[2,61]},{5:[2,62]},{5:[1,115]},{5:[2,63]},{5:[2,64]},{5:A,29:116,30:q,33:$,35:O,37:w,39:C},{5:A,29:117,30:q,33:$,35:O,37:w,39:C},{5:A,29:118,30:q,33:$,35:O,37:w,39:C},{5:A,29:119,30:q,33:$,35:O,37:w,39:C},{5:D,39:L,55:120,56:F,58:M},{5:D,39:L,55:121,56:F,58:M},e(P,[2,20]),e(P,[2,21]),e(P,[2,22]),e(P,[2,23]),e(P,[2,40]),e(P,[2,41])],defaultActions:{8:[2,9],10:[2,2],16:[2,1],37:[2,3],38:[2,14],39:[2,15],40:[2,16],41:[2,17],42:[2,18],44:[2,53],45:[2,54],47:[2,59],48:[2,60],52:[2,11],93:[2,57],94:[2,58],96:[2,32],97:[2,33],98:[2,34],100:[2,35],101:[2,36],102:[2,37],103:[2,38],105:[2,61],106:[2,62],108:[2,63],109:[2,64]},parseError:function(e,t){if(!t.recoverable){var i=new Error(e);throw i.hash=t,i}this.trace(e)},parse:function(e){var t=[0],i=[],r=[null],n=[],s=this.table,a="",c=0,l=0,o=n.slice.call(arguments,1),h=Object.create(this.lexer),u={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(u.yy[d]=this.yy[d]);h.setInput(e,u.yy),u.yy.lexer=h,u.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var y=h.yylloc;n.push(y);var p=h.options&&h.options.ranges;"function"==typeof u.yy.parseError?this.parseError=u.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var _,g,E,R,f,m,I,b,k,S={};;){if(g=t[t.length-1],this.defaultActions[g]?E=this.defaultActions[g]:(null==_&&(k=void 0,"number"!=typeof(k=i.pop()||h.lex()||1)&&(k instanceof Array&&(k=(i=k).pop()),k=this.symbols_[k]||k),_=k),E=s[g]&&s[g][_]),void 0===E||!E.length||!E[0]){var T;for(f in b=[],s[g])this.terminals_[f]&&f>2&&b.push("'"+this.terminals_[f]+"'");T=h.showPosition?"Parse error on line "+(c+1)+":\n"+h.showPosition()+"\nExpecting "+b.join(", ")+", got '"+(this.terminals_[_]||_)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==_?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(T,{text:h.match,token:this.terminals_[_]||_,line:h.yylineno,loc:y,expected:b})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+_);switch(E[0]){case 1:t.push(_),r.push(h.yytext),n.push(h.yylloc),t.push(E[1]),_=null,l=h.yyleng,a=h.yytext,c=h.yylineno,y=h.yylloc;break;case 2:if(m=this.productions_[E[1]][1],S.$=r[r.length-m],S._$={first_line:n[n.length-(m||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(m||1)].first_column,last_column:n[n.length-1].last_column},p&&(S._$.range=[n[n.length-(m||1)].range[0],n[n.length-1].range[1]]),void 0!==(R=this.performAction.apply(S,[a,l,c,u.yy,E[1],r,n].concat(o))))return R;m&&(t=t.slice(0,-1*m*2),r=r.slice(0,-1*m),n=n.slice(0,-1*m)),t.push(this.productions_[E[1]][0]),r.push(S.$),n.push(S._$),I=s[t[t.length-2]][t[t.length-1]],t.push(I);break;case 3:return!0}}return!0}},Y={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||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];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,i=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=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),i.length-1&&(this.yylineno-=i.length-1);var n=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:i?(i.length===r.length?this.yylloc.first_column:0)+r[r.length-i.length].length-i[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(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(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var i,r,n;if(this.options.backtrack_lexer&&(n={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&&(n.yylloc.range=this.yylloc.range.slice(0))),(r=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.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],i=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var s in n)this[s]=n[s];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,i,r;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),s=0;st[0].length)){if(t=i,r=s,this.options.backtrack_lexer){if(!1!==(e=this.test_match(i,n[s])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,n[r]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(e,t,i,r){switch(i){case 0:return this.begin("open_directive"),19;case 1:return this.begin("type_directive"),20;case 2:return this.popState(),this.begin("arg_directive"),12;case 3:return this.popState(),this.popState(),22;case 4:return 21;case 5:return"title";case 6:return this.begin("acc_title"),14;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),16;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 53:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 5;case 14:case 15:case 16:break;case 17:return 8;case 18:return 6;case 19:return 28;case 20:return 39;case 21:return 31;case 22:return 30;case 23:return 33;case 24:return 35;case 25:return 37;case 26:return 40;case 27:return 41;case 28:return 42;case 29:return 43;case 30:return 44;case 31:return 45;case 32:return 46;case 33:return 47;case 34:return 48;case 35:return 49;case 36:return 50;case 37:return 51;case 38:return 52;case 39:return 53;case 40:return 64;case 41:return 65;case 42:return 66;case 43:return 67;case 44:return 68;case 45:return 69;case 46:return 70;case 47:return 56;case 48:return 58;case 49:return 60;case 50:return 63;case 51:return 62;case 52:this.begin("string");break;case 54:return"qString";case 55:return t.yytext=t.yytext.trim(),71}},rules:[/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\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,/^(?:(\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:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},close_directive:{rules:[],inclusive:!1},arg_directive:{rules:[3,4],inclusive:!1},type_directive:{rules:[2,3],inclusive:!1},open_directive:{rules:[1],inclusive:!1},unqString:{rules:[],inclusive:!1},token:{rules:[],inclusive:!1},string:{rules:[53,54],inclusive:!1},INITIAL:{rules:[0,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,55],inclusive:!0}}};function U(){this.yy={}}return V.lexer=Y,U.prototype=V,V.Parser=U,new U}());c.parser=c;const l=c;let o=[],h={},u={},d={},y={};const p={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"},parseDirective:function(e,t,i){r.m.parseDirective(this,e,t,i)},getConfig:()=>(0,r.c)().req,addRequirement:(e,t)=>(void 0===u[e]&&(u[e]={name:e,type:t,id:h.id,text:h.text,risk:h.risk,verifyMethod:h.verifyMethod}),h={},u[e]),getRequirements:()=>u,setNewReqId:e=>{void 0!==h&&(h.id=e)},setNewReqText:e=>{void 0!==h&&(h.text=e)},setNewReqRisk:e=>{void 0!==h&&(h.risk=e)},setNewReqVerifyMethod:e=>{void 0!==h&&(h.verifyMethod=e)},setAccTitle:r.s,getAccTitle:r.g,setAccDescription:r.b,getAccDescription:r.a,addElement:e=>(void 0===y[e]&&(y[e]={name:e,type:d.type,docRef:d.docRef},r.l.info("Added new requirement: ",e)),d={},y[e]),getElements:()=>y,setNewElementType:e=>{void 0!==d&&(d.type=e)},setNewElementDocRef:e=>{void 0!==d&&(d.docRef=e)},addRelationship:(e,t,i)=>{o.push({type:e,src:t,dst:i})},getRelationships:()=>o,clear:()=>{o=[],h={},u={},d={},y={},(0,r.v)()}},_={CONTAINS:"contains",ARROW:"arrow"},g=_;let E={},R=0;const f=(e,t)=>e.insert("rect","#"+t).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",E.rect_min_width+"px").attr("height",E.rect_min_height+"px"),m=(e,t,i)=>{let r=E.rect_min_width/2,n=e.append("text").attr("class","req reqLabel reqTitle").attr("id",t).attr("x",r).attr("y",E.rect_padding).attr("dominant-baseline","hanging"),s=0;i.forEach((e=>{0==s?n.append("tspan").attr("text-anchor","middle").attr("x",E.rect_min_width/2).attr("dy",0).text(e):n.append("tspan").attr("text-anchor","middle").attr("x",E.rect_min_width/2).attr("dy",.75*E.line_height).text(e),s++}));let a=1.5*E.rect_padding+s*E.line_height*.75;return e.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",E.rect_min_width).attr("y1",a).attr("y2",a),{titleNode:n,y:a}},I=(e,t,i,r)=>{let n=e.append("text").attr("class","req reqLabel").attr("id",t).attr("x",E.rect_padding).attr("y",r).attr("dominant-baseline","hanging"),s=0,a=[];return i.forEach((e=>{let t=e.length;for(;t>30&&s<3;){let i=e.substring(0,30);t=(e=e.substring(30,e.length)).length,a[a.length]=i,s++}if(3==s){let e=a[a.length-1];a[a.length-1]=e.substring(0,e.length-4)+"..."}else a[a.length]=e;s=0})),a.forEach((e=>{n.append("tspan").attr("x",E.rect_padding).attr("dy",E.line_height).text(e)})),n},b=e=>e.replace(/\s/g,"").replace(/\./g,"_"),k={parser:l,db:p,renderer:{draw:(e,t,i,c)=>{E=(0,r.c)().requirement,c.db.clear(),c.parser.parse(e);const l=E.securityLevel;let o;"sandbox"===l&&(o=(0,n.Ys)("#i"+t));const h=("sandbox"===l?(0,n.Ys)(o.nodes()[0].contentDocument.body):(0,n.Ys)("body")).select(`[id='${t}']`);((e,t)=>{let i=e.append("defs").append("marker").attr("id",_.CONTAINS+"_line_ending").attr("refX",0).attr("refY",t.line_height/2).attr("markerWidth",t.line_height).attr("markerHeight",t.line_height).attr("orient","auto").append("g");i.append("circle").attr("cx",t.line_height/2).attr("cy",t.line_height/2).attr("r",t.line_height/2).attr("fill","none"),i.append("line").attr("x1",0).attr("x2",t.line_height).attr("y1",t.line_height/2).attr("y2",t.line_height/2).attr("stroke-width",1),i.append("line").attr("y1",0).attr("y2",t.line_height).attr("x1",t.line_height/2).attr("x2",t.line_height/2).attr("stroke-width",1),e.append("defs").append("marker").attr("id",_.ARROW+"_line_ending").attr("refX",t.line_height).attr("refY",.5*t.line_height).attr("markerWidth",t.line_height).attr("markerHeight",t.line_height).attr("orient","auto").append("path").attr("d",`M0,0\n L${t.line_height},${t.line_height/2}\n M${t.line_height},${t.line_height/2}\n L0,${t.line_height}`).attr("stroke-width",1)})(h,E);const u=new a.k({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:E.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel((function(){return{}}));let d=c.db.getRequirements(),y=c.db.getElements(),p=c.db.getRelationships();var k,S,T;k=d,S=u,T=h,Object.keys(k).forEach((e=>{let t=k[e];e=b(e),r.l.info("Added new requirement: ",e);const i=T.append("g").attr("id",e),n=f(i,"req-"+e);let s=m(i,e+"_title",[`<<${t.type}>>`,`${t.name}`]);I(i,e+"_body",[`Id: ${t.id}`,`Text: ${t.text}`,`Risk: ${t.risk}`,`Verification: ${t.verifyMethod}`],s.y);const a=n.node().getBBox();S.setNode(e,{width:a.width,height:a.height,shape:"rect",id:e})})),((e,t,i)=>{Object.keys(e).forEach((r=>{let n=e[r];const s=b(r),a=i.append("g").attr("id",s),c="element-"+s,l=f(a,c);let o=m(a,c+"_title",["<>",`${r}`]);I(a,c+"_body",[`Type: ${n.type||"Not Specified"}`,`Doc Ref: ${n.docRef||"None"}`],o.y);const h=l.node().getBBox();t.setNode(s,{width:h.width,height:h.height,shape:"rect",id:s})}))})(y,u,h),((e,t)=>{e.forEach((function(e){let i=b(e.src),r=b(e.dst);t.setEdge(i,r,{relationship:e})}))})(p,u),(0,s.bK)(u),function(e,t){t.nodes().forEach((function(i){void 0!==i&&void 0!==t.node(i)&&(e.select("#"+i),e.select("#"+i).attr("transform","translate("+(t.node(i).x-t.node(i).width/2)+","+(t.node(i).y-t.node(i).height/2)+" )"))}))}(h,u),p.forEach((function(e){!function(e,t,i,s,a){const c=i.edge(b(t.src),b(t.dst)),l=(0,n.jvg)().x((function(e){return e.x})).y((function(e){return e.y})),o=e.insert("path","#"+s).attr("class","er relationshipLine").attr("d",l(c.points)).attr("fill","none");t.type==a.db.Relationships.CONTAINS?o.attr("marker-start","url("+r.e.getUrl(E.arrowMarkerAbsolute)+"#"+t.type+"_line_ending)"):(o.attr("stroke-dasharray","10,7"),o.attr("marker-end","url("+r.e.getUrl(E.arrowMarkerAbsolute)+"#"+g.ARROW+"_line_ending)")),((e,t,i,r)=>{const n=t.node().getTotalLength(),s=t.node().getPointAtLength(.5*n),a="rel"+R;R++;const c=e.append("text").attr("class","req relationshipLabel").attr("id",a).attr("x",s.x).attr("y",s.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(r).node().getBBox();e.insert("rect","#"+a).attr("class","req reqLabelBox").attr("x",s.x-c.width/2).attr("y",s.y-c.height/2).attr("width",c.width).attr("height",c.height).attr("fill","white").attr("fill-opacity","85%")})(e,o,0,`<<${t.type}>>`)}(h,e,u,t,c)}));const N=E.rect_padding,v=h.node().getBBox(),x=v.width+2*N,A=v.height+2*N;(0,r.i)(h,A,x,E.useMaxWidth),h.attr("viewBox",`${v.x-N} ${v.y-N} ${x} ${A}`)}},styles:e=>`\n\n marker {\n fill: ${e.relationColor};\n stroke: ${e.relationColor};\n }\n\n marker.cross {\n stroke: ${e.lineColor};\n }\n\n svg {\n font-family: ${e.fontFamily};\n font-size: ${e.fontSize};\n }\n\n .reqBox {\n fill: ${e.requirementBackground};\n fill-opacity: 1.0;\n stroke: ${e.requirementBorderColor};\n stroke-width: ${e.requirementBorderSize};\n }\n \n .reqTitle, .reqLabel{\n fill: ${e.requirementTextColor};\n }\n .reqLabelBox {\n fill: ${e.relationLabelBackground};\n fill-opacity: 1.0;\n }\n\n .req-title-line {\n stroke: ${e.requirementBorderColor};\n stroke-width: ${e.requirementBorderSize};\n }\n .relationshipLine {\n stroke: ${e.relationColor};\n stroke-width: 1;\n }\n .relationshipLabel {\n fill: ${e.relationLabelColor};\n }\n\n`}}}]);
\ No newline at end of file
diff --git a/docs/themes/geekdoc/static/js/435-486719a5.chunk.min.js b/docs/themes/geekdoc/static/js/435-486719a5.chunk.min.js
new file mode 100644
index 000000000..16d5cddde
--- /dev/null
+++ b/docs/themes/geekdoc/static/js/435-486719a5.chunk.min.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[435],{7435:function(t,e,r){r.d(e,{diagram:function(){return v}});var i=r(5103),a=r(5625),n=r(5740),s=r(9451);const o=[];for(let t=0;t<256;++t)o.push((t+256).toString(16).slice(1));var c=/^(?:[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,l=function(t){if(!function(t){return"string"==typeof t&&c.test(t)}(t))throw TypeError("Invalid UUID");let e;const r=new Uint8Array(16);return r[0]=(e=parseInt(t.slice(0,8),16))>>>24,r[1]=e>>>16&255,r[2]=e>>>8&255,r[3]=255&e,r[4]=(e=parseInt(t.slice(9,13),16))>>>8,r[5]=255&e,r[6]=(e=parseInt(t.slice(14,18),16))>>>8,r[7]=255&e,r[8]=(e=parseInt(t.slice(19,23),16))>>>8,r[9]=255&e,r[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,r[11]=e/4294967296&255,r[12]=e>>>24&255,r[13]=e>>>16&255,r[14]=e>>>8&255,r[15]=255&e,r};function h(t,e,r,i){switch(t){case 0:return e&r^~e&i;case 1:case 3:return e^r^i;case 2:return e&r^e&i^r&i}}function d(t,e){return t<>>32-e}var u=function(t,e,r){function i(t,e,r,i){var a;if("string"==typeof t&&(t=function(t){t=unescape(encodeURIComponent(t));const e=[];for(let r=0;r>>0;l=c,c=o,o=d(s,30)>>>0,s=a,a=n}r[0]=r[0]+a>>>0,r[1]=r[1]+s>>>0,r[2]=r[2]+o>>>0,r[3]=r[3]+c>>>0,r[4]=r[4]+l>>>0}return[r[0]>>24&255,r[0]>>16&255,r[0]>>8&255,255&r[0],r[1]>>24&255,r[1]>>16&255,r[1]>>8&255,255&r[1],r[2]>>24&255,r[2]>>16&255,r[2]>>8&255,255&r[2],r[3]>>24&255,r[3]>>16&255,r[3]>>8&255,255&r[3],r[4]>>24&255,r[4]>>16&255,r[4]>>8&255,255&r[4]]}(n),n[6]=15&n[6]|80,n[8]=63&n[8]|128,r){i=i||0;for(let t=0;t<16;++t)r[i+t]=n[t];return r}return function(t,e=0){return(o[t[e+0]]+o[t[e+1]]+o[t[e+2]]+o[t[e+3]]+"-"+o[t[e+4]]+o[t[e+5]]+"-"+o[t[e+6]]+o[t[e+7]]+"-"+o[t[e+8]]+o[t[e+9]]+"-"+o[t[e+10]]+o[t[e+11]]+o[t[e+12]]+o[t[e+13]]+o[t[e+14]]+o[t[e+15]]).toLowerCase()}(n)}try{i.name="v5"}catch(t){}return i.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",i.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",i}(),y=(r(7484),r(7967),r(7856),function(){var t=function(t,e,r,i){for(r=r||{},i=t.length;i--;r[t[i]]=e);return r},e=[1,2],r=[1,5],i=[6,9,11,23,25,27,29,30,31,52],a=[1,17],n=[1,18],s=[1,19],o=[1,20],c=[1,21],l=[1,22],h=[1,25],d=[1,30],u=[1,31],y=[1,32],p=[1,33],_=[1,34],f=[6,9,11,15,20,23,25,27,29,30,31,44,45,46,47,48,52],g=[1,46],m=[30,31,49,50],E=[4,6,9,11,23,25,27,29,30,31,52],O=[44,45,46,47,48],b=[22,37],k=[1,66],R=[1,65],N=[22,37,39,41],T={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,directive:7,line:8,SPACE:9,statement:10,NEWLINE:11,openDirective:12,typeDirective:13,closeDirective:14,":":15,argDirective:16,entityName:17,relSpec:18,role:19,BLOCK_START:20,attributes:21,BLOCK_STOP:22,title:23,title_value:24,acc_title:25,acc_title_value:26,acc_descr:27,acc_descr_value:28,acc_descr_multiline_value:29,ALPHANUM:30,ENTITY_NAME:31,attribute:32,attributeType:33,attributeName:34,attributeKeyTypeList:35,attributeComment:36,ATTRIBUTE_WORD:37,attributeKeyType:38,COMMA:39,ATTRIBUTE_KEY:40,COMMENT:41,cardinality:42,relType:43,ZERO_OR_ONE:44,ZERO_OR_MORE:45,ONE_OR_MORE:46,ONLY_ONE:47,MD_PARENT:48,NON_IDENTIFYING:49,IDENTIFYING:50,WORD:51,open_directive:52,type_directive:53,arg_directive:54,close_directive:55,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",9:"SPACE",11:"NEWLINE",15:":",20:"BLOCK_START",22:"BLOCK_STOP",23:"title",24:"title_value",25:"acc_title",26:"acc_title_value",27:"acc_descr",28:"acc_descr_value",29:"acc_descr_multiline_value",30:"ALPHANUM",31:"ENTITY_NAME",37:"ATTRIBUTE_WORD",39:"COMMA",40:"ATTRIBUTE_KEY",41:"COMMENT",44:"ZERO_OR_ONE",45:"ZERO_OR_MORE",46:"ONE_OR_MORE",47:"ONLY_ONE",48:"MD_PARENT",49:"NON_IDENTIFYING",50:"IDENTIFYING",51:"WORD",52:"open_directive",53:"type_directive",54:"arg_directive",55:"close_directive"},productions_:[0,[3,3],[3,2],[5,0],[5,2],[8,2],[8,1],[8,1],[8,1],[7,4],[7,6],[10,1],[10,5],[10,4],[10,3],[10,1],[10,2],[10,2],[10,2],[10,1],[17,1],[17,1],[21,1],[21,2],[32,2],[32,3],[32,3],[32,4],[33,1],[34,1],[35,1],[35,3],[38,1],[36,1],[18,3],[42,1],[42,1],[42,1],[42,1],[42,1],[43,1],[43,1],[19,1],[19,1],[19,1],[12,1],[13,1],[16,1],[14,1]],performAction:function(t,e,r,i,a,n,s){var o=n.length-1;switch(a){case 1:break;case 3:case 7:case 8:this.$=[];break;case 4:n[o-1].push(n[o]),this.$=n[o-1];break;case 5:case 6:case 20:case 44:case 28:case 29:case 32:this.$=n[o];break;case 12:i.addEntity(n[o-4]),i.addEntity(n[o-2]),i.addRelationship(n[o-4],n[o],n[o-2],n[o-3]);break;case 13:i.addEntity(n[o-3]),i.addAttributes(n[o-3],n[o-1]);break;case 14:i.addEntity(n[o-2]);break;case 15:i.addEntity(n[o]);break;case 16:case 17:this.$=n[o].trim(),i.setAccTitle(this.$);break;case 18:case 19:this.$=n[o].trim(),i.setAccDescription(this.$);break;case 21:case 42:case 43:case 33:this.$=n[o].replace(/"/g,"");break;case 22:case 30:this.$=[n[o]];break;case 23:n[o].push(n[o-1]),this.$=n[o];break;case 24:this.$={attributeType:n[o-1],attributeName:n[o]};break;case 25:this.$={attributeType:n[o-2],attributeName:n[o-1],attributeKeyTypeList:n[o]};break;case 26:this.$={attributeType:n[o-2],attributeName:n[o-1],attributeComment:n[o]};break;case 27:this.$={attributeType:n[o-3],attributeName:n[o-2],attributeKeyTypeList:n[o-1],attributeComment:n[o]};break;case 31:n[o-2].push(n[o]),this.$=n[o-2];break;case 34:this.$={cardA:n[o],relType:n[o-1],cardB:n[o-2]};break;case 35:this.$=i.Cardinality.ZERO_OR_ONE;break;case 36:this.$=i.Cardinality.ZERO_OR_MORE;break;case 37:this.$=i.Cardinality.ONE_OR_MORE;break;case 38:this.$=i.Cardinality.ONLY_ONE;break;case 39:this.$=i.Cardinality.MD_PARENT;break;case 40:this.$=i.Identification.NON_IDENTIFYING;break;case 41:this.$=i.Identification.IDENTIFYING;break;case 45:i.parseDirective("%%{","open_directive");break;case 46:i.parseDirective(n[o],"type_directive");break;case 47:n[o]=n[o].trim().replace(/'/g,'"'),i.parseDirective(n[o],"arg_directive");break;case 48:i.parseDirective("}%%","close_directive","er")}},table:[{3:1,4:e,7:3,12:4,52:r},{1:[3]},t(i,[2,3],{5:6}),{3:7,4:e,7:3,12:4,52:r},{13:8,53:[1,9]},{53:[2,45]},{6:[1,10],7:15,8:11,9:[1,12],10:13,11:[1,14],12:4,17:16,23:a,25:n,27:s,29:o,30:c,31:l,52:r},{1:[2,2]},{14:23,15:[1,24],55:h},t([15,55],[2,46]),t(i,[2,8],{1:[2,1]}),t(i,[2,4]),{7:15,10:26,12:4,17:16,23:a,25:n,27:s,29:o,30:c,31:l,52:r},t(i,[2,6]),t(i,[2,7]),t(i,[2,11]),t(i,[2,15],{18:27,42:29,20:[1,28],44:d,45:u,46:y,47:p,48:_}),{24:[1,35]},{26:[1,36]},{28:[1,37]},t(i,[2,19]),t(f,[2,20]),t(f,[2,21]),{11:[1,38]},{16:39,54:[1,40]},{11:[2,48]},t(i,[2,5]),{17:41,30:c,31:l},{21:42,22:[1,43],32:44,33:45,37:g},{43:47,49:[1,48],50:[1,49]},t(m,[2,35]),t(m,[2,36]),t(m,[2,37]),t(m,[2,38]),t(m,[2,39]),t(i,[2,16]),t(i,[2,17]),t(i,[2,18]),t(E,[2,9]),{14:50,55:h},{55:[2,47]},{15:[1,51]},{22:[1,52]},t(i,[2,14]),{21:53,22:[2,22],32:44,33:45,37:g},{34:54,37:[1,55]},{37:[2,28]},{42:56,44:d,45:u,46:y,47:p,48:_},t(O,[2,40]),t(O,[2,41]),{11:[1,57]},{19:58,30:[1,61],31:[1,60],51:[1,59]},t(i,[2,13]),{22:[2,23]},t(b,[2,24],{35:62,36:63,38:64,40:k,41:R}),t([22,37,40,41],[2,29]),t([30,31],[2,34]),t(E,[2,10]),t(i,[2,12]),t(i,[2,42]),t(i,[2,43]),t(i,[2,44]),t(b,[2,25],{36:67,39:[1,68],41:R}),t(b,[2,26]),t(N,[2,30]),t(b,[2,33]),t(N,[2,32]),t(b,[2,27]),{38:69,40:k},t(N,[2,31])],defaultActions:{5:[2,45],7:[2,2],25:[2,48],40:[2,47],46:[2,28],53:[2,23]},parseError:function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)},parse:function(t){var e=[0],r=[],i=[null],a=[],n=this.table,s="",o=0,c=0,l=a.slice.call(arguments,1),h=Object.create(this.lexer),d={yy:{}};for(var u in this.yy)Object.prototype.hasOwnProperty.call(this.yy,u)&&(d.yy[u]=this.yy[u]);h.setInput(t,d.yy),d.yy.lexer=h,d.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var y=h.yylloc;a.push(y);var p=h.options&&h.options.ranges;"function"==typeof d.yy.parseError?this.parseError=d.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var _,f,g,m,E,O,b,k,R,N={};;){if(f=e[e.length-1],this.defaultActions[f]?g=this.defaultActions[f]:(null==_&&(R=void 0,"number"!=typeof(R=r.pop()||h.lex()||1)&&(R instanceof Array&&(R=(r=R).pop()),R=this.symbols_[R]||R),_=R),g=n[f]&&n[f][_]),void 0===g||!g.length||!g[0]){var T;for(E in k=[],n[f])this.terminals_[E]&&E>2&&k.push("'"+this.terminals_[E]+"'");T=h.showPosition?"Parse error on line "+(o+1)+":\n"+h.showPosition()+"\nExpecting "+k.join(", ")+", got '"+(this.terminals_[_]||_)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==_?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(T,{text:h.match,token:this.terminals_[_]||_,line:h.yylineno,loc:y,expected:k})}if(g[0]instanceof Array&&g.length>1)throw new Error("Parse Error: multiple actions possible at state: "+f+", token: "+_);switch(g[0]){case 1:e.push(_),i.push(h.yytext),a.push(h.yylloc),e.push(g[1]),_=null,c=h.yyleng,s=h.yytext,o=h.yylineno,y=h.yylloc;break;case 2:if(O=this.productions_[g[1]][1],N.$=i[i.length-O],N._$={first_line:a[a.length-(O||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(O||1)].first_column,last_column:a[a.length-1].last_column},p&&(N._$.range=[a[a.length-(O||1)].range[0],a[a.length-1].range[1]]),void 0!==(m=this.performAction.apply(N,[s,c,o,d.yy,g[1],i,a].concat(l))))return m;O&&(e=e.slice(0,-1*O*2),i=i.slice(0,-1*O),a=a.slice(0,-1*O)),e.push(this.productions_[g[1]][0]),i.push(N.$),a.push(N._$),b=n[e[e.length-2]][e[e.length-1]],e.push(b);break;case 3:return!0}}return!0}},x={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.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:r?(r.length===i.length?this.yylloc.first_column:0)+i[i.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},test_match:function(t,e){var r,i,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))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var n in a)this[n]=a[n];return!1}return!1},next:function(){if(this.done)return this.EOF;var t,e,r,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var a=this._currentRules(),n=0;ne[0].length)){if(e=r,i=n,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,a[n])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,a[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},pushState:function(t){this.begin(t)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(t,e,r,i){switch(r){case 0:return this.begin("acc_title"),25;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),27;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 this.begin("open_directive"),52;case 8:return this.begin("type_directive"),53;case 9:return this.popState(),this.begin("arg_directive"),15;case 10:return this.popState(),this.popState(),55;case 11:return 54;case 12:return 11;case 13:case 20:case 25:break;case 14:return 9;case 15:return 31;case 16:return 51;case 17:return 4;case 18:return this.begin("block"),20;case 19:return 39;case 21:return 40;case 22:case 23:return 37;case 24:return 41;case 26:return this.popState(),22;case 27:case 57:return e.yytext[0];case 28:case 32:case 33:case 46:return 44;case 29:case 30:case 31:case 39:case 41:case 48:return 46;case 34:case 35:case 36:case 37:case 38:case 40:case 47:return 45;case 42:case 43:case 44:case 45:return 47;case 49:return 48;case 50:case 53:case 54:case 55:return 49;case 51:case 52:return 50;case 56:return 30;case 58:return 6}},rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%\{)/i,/^(?:((?:(?!\}%%)[^:.])*))/i,/^(?::)/i,/^(?:\}%%)/i,/^(?:((?:(?!\}%%).|\n)*))/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,/^(?: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},open_directive:{rules:[8],inclusive:!1},type_directive:{rules:[9,10],inclusive:!1},arg_directive:{rules:[10,11],inclusive:!1},block:{rules:[19,20,21,22,23,24,25,26,27],inclusive:!1},INITIAL:{rules:[0,2,4,7,12,13,14,15,16,17,18,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],inclusive:!0}}};function A(){this.yy={}}return T.lexer=x,A.prototype=T,T.Parser=A,new A}());y.parser=y;const p=y;let _={},f=[];const g=function(t){return void 0===_[t]&&(_[t]={attributes:[]},i.l.info("Added new entity :",t)),_[t]},m={Cardinality:{ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},Identification:{NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},parseDirective:function(t,e,r){i.m.parseDirective(this,t,e,r)},getConfig:()=>(0,i.c)().er,addEntity:g,addAttributes:function(t,e){let r,a=g(t);for(r=e.length-1;r>=0;r--)a.attributes.push(e[r]),i.l.debug("Added attribute ",e[r].attributeName)},getEntities:()=>_,addRelationship:function(t,e,r,a){let n={entityA:t,roleA:e,entityB:r,relSpec:a};f.push(n),i.l.debug("Added new relationship :",n)},getRelationships:()=>f,clear:function(){_={},f=[],(0,i.v)()},setAccTitle:i.s,getAccTitle:i.g,setAccDescription:i.b,getAccDescription:i.a,setDiagramTitle:i.r,getDiagramTitle:i.t},E={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"},O=E,b=/[^\dA-Za-z](\W)*/g;let k={},R=new Map;const N=function(t){return(t.entityA+t.roleA+t.entityB).replace(/\s/g,"")};let T=0;const x="28e9f9db-3c8d-5aa5-9faf-44286ae5937c";function A(t=""){return t.length>0?`${t}-`:""}const v={parser:p,db:m,renderer:{setConf:function(t){const e=Object.keys(t);for(const r of e)k[r]=t[r]},draw:function(t,e,r,o){k=(0,i.c)().er,i.l.info("Drawing ER diagram");const c=(0,i.c)().securityLevel;let l;"sandbox"===c&&(l=(0,n.Ys)("#i"+e));const h=("sandbox"===c?(0,n.Ys)(l.nodes()[0].contentDocument.body):(0,n.Ys)("body")).select(`[id='${e}']`);let d;(function(t,e){let r;t.append("defs").append("marker").attr("id",E.MD_PARENT_START).attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",E.MD_PARENT_END).attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",E.ONLY_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",E.ONLY_ONE_END).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,0 L3,18 M9,0 L9,18"),r=t.append("defs").append("marker").attr("id",E.ZERO_OR_ONE_START).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M9,0 L9,18"),r=t.append("defs").append("marker").attr("id",E.ZERO_OR_ONE_END).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,0 L21,18"),t.append("defs").append("marker").attr("id",E.ONE_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",E.ONE_OR_MORE_END).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18"),r=t.append("defs").append("marker").attr("id",E.ZERO_OR_MORE_START).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18"),r=t.append("defs").append("marker").attr("id",E.ZERO_OR_MORE_END).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto"),r.append("circle").attr("stroke",e.stroke).attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),r.append("path").attr("stroke",e.stroke).attr("fill","none").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")})(h,k),d=new a.k({multigraph:!0,directed:!0,compound:!1}).setGraph({rankdir:k.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel((function(){return{}}));const y=function(t,e,r){let a;return Object.keys(e).forEach((function(n){const s=function(t="",e=""){const r=t.replace(b,"");return`${A(e)}${A(r)}${u(t,x)}`}(n,"entity");R.set(n,s);const o=t.append("g").attr("id",s);a=void 0===a?s:a;const c="text-"+s,l=o.append("text").classed("er entityLabel",!0).attr("id",c).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","middle").style("font-family",(0,i.c)().fontFamily).style("font-size",k.fontSize+"px").text(n),{width:h,height:d}=((t,e,r)=>{const a=k.entityPadding/3,n=k.entityPadding/3,s=.85*k.fontSize,o=e.node().getBBox(),c=[];let l=!1,h=!1,d=0,u=0,y=0,p=0,_=o.height+2*a,f=1;r.forEach((t=>{void 0!==t.attributeKeyTypeList&&t.attributeKeyTypeList.length>0&&(l=!0),void 0!==t.attributeComment&&(h=!0)})),r.forEach((r=>{const n=`${e.node().id}-attr-${f}`;let o=0;const g=(0,i.x)(r.attributeType),m=t.append("text").classed("er entityLabel",!0).attr("id",`${n}-type`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",(0,i.c)().fontFamily).style("font-size",s+"px").text(g),E=t.append("text").classed("er entityLabel",!0).attr("id",`${n}-name`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",(0,i.c)().fontFamily).style("font-size",s+"px").text(r.attributeName),O={};O.tn=m,O.nn=E;const b=m.node().getBBox(),k=E.node().getBBox();if(d=Math.max(d,b.width),u=Math.max(u,k.width),o=Math.max(b.height,k.height),l){const e=void 0!==r.attributeKeyTypeList?r.attributeKeyTypeList.join(","):"",a=t.append("text").classed("er entityLabel",!0).attr("id",`${n}-key`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",(0,i.c)().fontFamily).style("font-size",s+"px").text(e);O.kn=a;const c=a.node().getBBox();y=Math.max(y,c.width),o=Math.max(o,c.height)}if(h){const e=t.append("text").classed("er entityLabel",!0).attr("id",`${n}-comment`).attr("x",0).attr("y",0).style("dominant-baseline","middle").style("text-anchor","left").style("font-family",(0,i.c)().fontFamily).style("font-size",s+"px").text(r.attributeComment||"");O.cn=e;const a=e.node().getBBox();p=Math.max(p,a.width),o=Math.max(o,a.height)}O.height=o,c.push(O),_+=o+2*a,f+=1}));let g=4;l&&(g+=2),h&&(g+=2);const m=d+u+y+p,E={width:Math.max(k.minEntityWidth,Math.max(o.width+2*k.entityPadding,m+n*g)),height:r.length>0?_:Math.max(k.minEntityHeight,o.height+2*k.entityPadding)};if(r.length>0){const r=Math.max(0,(E.width-m-n*g)/(g/2));e.attr("transform","translate("+E.width/2+","+(a+o.height/2)+")");let i=o.height+2*a,s="attributeBoxOdd";c.forEach((e=>{const o=i+a+e.height/2;e.tn.attr("transform","translate("+n+","+o+")");const c=t.insert("rect","#"+e.tn.node().id).classed(`er ${s}`,!0).attr("x",0).attr("y",i).attr("width",d+2*n+r).attr("height",e.height+2*a),_=parseFloat(c.attr("x"))+parseFloat(c.attr("width"));e.nn.attr("transform","translate("+(_+n)+","+o+")");const f=t.insert("rect","#"+e.nn.node().id).classed(`er ${s}`,!0).attr("x",_).attr("y",i).attr("width",u+2*n+r).attr("height",e.height+2*a);let g=parseFloat(f.attr("x"))+parseFloat(f.attr("width"));if(l){e.kn.attr("transform","translate("+(g+n)+","+o+")");const c=t.insert("rect","#"+e.kn.node().id).classed(`er ${s}`,!0).attr("x",g).attr("y",i).attr("width",y+2*n+r).attr("height",e.height+2*a);g=parseFloat(c.attr("x"))+parseFloat(c.attr("width"))}h&&(e.cn.attr("transform","translate("+(g+n)+","+o+")"),t.insert("rect","#"+e.cn.node().id).classed(`er ${s}`,"true").attr("x",g).attr("y",i).attr("width",p+2*n+r).attr("height",e.height+2*a)),i+=e.height+2*a,s="attributeBoxOdd"===s?"attributeBoxEven":"attributeBoxOdd"}))}else E.height=Math.max(k.minEntityHeight,_),e.attr("transform","translate("+E.width/2+","+E.height/2+")");return E})(o,l,e[n].attributes),y=o.insert("rect","#"+c).classed("er entityBox",!0).attr("x",0).attr("y",0).attr("width",h).attr("height",d).node().getBBox();r.setNode(s,{width:y.width,height:y.height,shape:"rect",id:s})})),a}(h,o.db.getEntities(),d),p=function(t,e){return t.forEach((function(t){e.setEdge(R.get(t.entityA),R.get(t.entityB),{relationship:t},N(t))})),t}(o.db.getRelationships(),d);var _,f;(0,s.bK)(d),_=h,(f=d).nodes().forEach((function(t){void 0!==t&&void 0!==f.node(t)&&_.select("#"+t).attr("transform","translate("+(f.node(t).x-f.node(t).width/2)+","+(f.node(t).y-f.node(t).height/2)+" )")})),p.forEach((function(t){!function(t,e,r,a,s){T++;const o=r.edge(R.get(e.entityA),R.get(e.entityB),N(e)),c=(0,n.jvg)().x((function(t){return t.x})).y((function(t){return t.y})).curve(n.$0Z),l=t.insert("path","#"+a).classed("er relationshipLine",!0).attr("d",c(o.points)).style("stroke",k.stroke).style("fill","none");e.relSpec.relType===s.db.Identification.NON_IDENTIFYING&&l.attr("stroke-dasharray","8,8");let h="";switch(k.arrowMarkerAbsolute&&(h=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,h=h.replace(/\(/g,"\\("),h=h.replace(/\)/g,"\\)")),e.relSpec.cardA){case s.db.Cardinality.ZERO_OR_ONE:l.attr("marker-end","url("+h+"#"+O.ZERO_OR_ONE_END+")");break;case s.db.Cardinality.ZERO_OR_MORE:l.attr("marker-end","url("+h+"#"+O.ZERO_OR_MORE_END+")");break;case s.db.Cardinality.ONE_OR_MORE:l.attr("marker-end","url("+h+"#"+O.ONE_OR_MORE_END+")");break;case s.db.Cardinality.ONLY_ONE:l.attr("marker-end","url("+h+"#"+O.ONLY_ONE_END+")");break;case s.db.Cardinality.MD_PARENT:l.attr("marker-end","url("+h+"#"+O.MD_PARENT_END+")")}switch(e.relSpec.cardB){case s.db.Cardinality.ZERO_OR_ONE:l.attr("marker-start","url("+h+"#"+O.ZERO_OR_ONE_START+")");break;case s.db.Cardinality.ZERO_OR_MORE:l.attr("marker-start","url("+h+"#"+O.ZERO_OR_MORE_START+")");break;case s.db.Cardinality.ONE_OR_MORE:l.attr("marker-start","url("+h+"#"+O.ONE_OR_MORE_START+")");break;case s.db.Cardinality.ONLY_ONE:l.attr("marker-start","url("+h+"#"+O.ONLY_ONE_START+")");break;case s.db.Cardinality.MD_PARENT:l.attr("marker-start","url("+h+"#"+O.MD_PARENT_START+")")}const d=l.node().getTotalLength(),u=l.node().getPointAtLength(.5*d),y="rel"+T,p=t.append("text").classed("er relationshipLabel",!0).attr("id",y).attr("x",u.x).attr("y",u.y).style("text-anchor","middle").style("dominant-baseline","middle").style("font-family",(0,i.c)().fontFamily).style("font-size",k.fontSize+"px").text(e.roleA).node().getBBox();t.insert("rect","#"+y).classed("er relationshipLabelBox",!0).attr("x",u.x-p.width/2).attr("y",u.y-p.height/2).attr("width",p.width).attr("height",p.height)}(h,t,d,y,o)}));const g=k.diagramPadding;i.u.insertTitle(h,"entityTitleText",k.titleTopMargin,o.db.getDiagramTitle());const m=h.node().getBBox(),v=m.width+2*g,M=m.height+2*g;(0,i.i)(h,M,v,k.useMaxWidth),h.attr("viewBox",`${m.x-g} ${m.y-g} ${v} ${M}`)}},styles:t=>`\n .entityBox {\n fill: ${t.mainBkg};\n stroke: ${t.nodeBorder};\n }\n\n .attributeBoxOdd {\n fill: ${t.attributeBackgroundColorOdd};\n stroke: ${t.nodeBorder};\n }\n\n .attributeBoxEven {\n fill: ${t.attributeBackgroundColorEven};\n stroke: ${t.nodeBorder};\n }\n\n .relationshipLabelBox {\n fill: ${t.tertiaryColor};\n opacity: 0.7;\n background-color: ${t.tertiaryColor};\n rect {\n opacity: 0.5;\n }\n }\n\n .relationshipLine {\n stroke: ${t.lineColor};\n }\n\n .entityTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ${t.textColor};\n } \n #MD_PARENT_START {\n fill: #f5f5f5 !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n }\n #MD_PARENT_END {\n fill: #f5f5f5 !important;\n stroke: ${t.lineColor} !important;\n stroke-width: 1;\n }\n \n`}}}]);
\ No newline at end of file
diff --git a/docs/themes/geekdoc/static/js/451-2756cb7b.chunk.min.js b/docs/themes/geekdoc/static/js/451-2756cb7b.chunk.min.js
new file mode 100644
index 000000000..0ce7d7671
--- /dev/null
+++ b/docs/themes/geekdoc/static/js/451-2756cb7b.chunk.min.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgeekdoc=self.webpackChunkgeekdoc||[]).push([[451],{9451:function(n,e,t){t.d(e,{bK:function(){return Se}});var r=t(870),o=t(6749),i=t(3402),u=t(2002),a=t(7961),c=t(3836),f=t(6446),s=t(5625);class d{constructor(){var n={};n._next=n._prev=n,this._sentinel=n}dequeue(){var n=this._sentinel,e=n._prev;if(e!==n)return h(e),e}enqueue(n){var e=this._sentinel;n._prev&&n._next&&h(n),n._next=e._next,e._next._prev=n,e._next=n,n._prev=e}toString(){for(var n=[],e=this._sentinel,t=e._prev;t!==e;)n.push(JSON.stringify(t,v)),t=t._prev;return"["+n.join(", ")+"]"}}function h(n){n._prev._next=n._next,n._next._prev=n._prev,delete n._next,delete n._prev}function v(n,e){if("_next"!==n&&"_prev"!==n)return e}var Z=u.Z(1);function l(n,e,t,o,i){var u=i?[]:void 0;return r.Z(n.inEdges(o.v),(function(r){var o=n.edge(r),a=n.node(r.v);i&&u.push({v:r.v,w:r.w}),a.out-=o,g(e,t,a)})),r.Z(n.outEdges(o.v),(function(r){var o=n.edge(r),i=r.w,u=n.node(i);u.in-=o,g(e,t,u)})),n.removeNode(o.v),u}function g(n,e,t){t.out?t.in?n[t.out-t.in+e].enqueue(t):n[n.length-1].enqueue(t):n[0].enqueue(t)}function p(n){var e="greedy"===n.graph().acyclicer?function(n,e){if(n.nodeCount()<=1)return[];var t=function(n,e){var t=new s.k,o=0,i=0;r.Z(n.nodes(),(function(n){t.setNode(n,{v:n,in:0,out:0})})),r.Z(n.edges(),(function(n){var r=t.edge(n.v,n.w)||0,u=e(n),a=r+u;t.setEdge(n.v,n.w,a),i=Math.max(i,t.node(n.v).out+=u),o=Math.max(o,t.node(n.w).in+=u)}));var u=f.Z(i+o+3).map((function(){return new d})),a=o+1;return r.Z(t.nodes(),(function(n){g(u,a,t.node(n))})),{graph:t,buckets:u,zeroIdx:a}}(n,e||Z),o=function(n,e,t){for(var r,o=[],i=e[e.length-1],u=e[0];n.nodeCount();){for(;r=u.dequeue();)l(n,e,t,r);for(;r=i.dequeue();)l(n,e,t,r);if(n.nodeCount())for(var a=e.length-2;a>0;--a)if(r=e[a].dequeue()){o=o.concat(l(n,e,t,r,!0));break}}return o}(t.graph,t.buckets,t.zeroIdx);return a.Z(c.Z(o,(function(e){return n.outEdges(e.v,e.w)})))}(n,function(n){return function(e){return n.edge(e).weight}}(n)):function(n){var e=[],t={},o={};return r.Z(n.nodes(),(function u(a){i.Z(o,a)||(o[a]=!0,t[a]=!0,r.Z(n.outEdges(a),(function(n){i.Z(t,n.w)?e.push(n):u(n.w)})),delete t[a])})),e}(n);r.Z(e,(function(e){var t=n.edge(e);n.removeEdge(e),t.forwardName=e.name,t.reversed=!0,n.setEdge(e.w,e.v,t,o.Z("rev"))}))}var b,w=t(5365),y=t(4752),m=t(9651),_=function(n,e,t){(void 0!==t&&!(0,m.Z)(n[e],t)||void 0===t&&!(e in n))&&(0,y.Z)(n,e,t)},j=t(5381),E=t(1050),k=t(2701),x=t(7215),N=t(5418),O=t(4732),C=t(7771),I=t(836),L=t(6706),M=t(3234),A=t(7226),P=t(7514),S=t(7212),R=function(n,e){if(("constructor"!==e||"function"!=typeof n[e])&&"__proto__"!=e)return n[e]},T=t(1899),F=t(7590),D=function(n,e,t,r,o,i,u){var a,c=R(n,t),f=R(e,t),s=u.get(f);if(s)_(n,t,s);else{var d=i?i(c,f,t+"",n,e,u):void 0,h=void 0===d;if(h){var v=(0,C.Z)(f),Z=!v&&(0,L.Z)(f),l=!v&&!Z&&(0,S.Z)(f);d=f,v||Z||l?(0,C.Z)(c)?d=c:(0,I.Z)(c)?d=(0,x.Z)(c):Z?(h=!1,d=(0,E.Z)(f,!0)):l?(h=!1,d=(0,k.Z)(f,!0)):d=[]:(0,P.Z)(f)||(0,O.Z)(f)?(d=c,(0,O.Z)(c)?(a=c,d=(0,T.Z)(a,(0,F.Z)(a))):(0,A.Z)(c)&&!(0,M.Z)(c)||(d=(0,N.Z)(f))):h=!1}h&&(u.set(f,d),o(d,f,r,i,u),u.delete(f)),_(n,t,d)}},z=function n(e,t,r,o,i){e!==t&&(0,j.Z)(t,(function(u,a){if(i||(i=new w.Z),(0,A.Z)(u))D(e,t,a,r,n,o,i);else{var c=o?o(R(e,a),u,a+"",e,t,i):void 0;void 0===c&&(c=u),_(e,a,c)}}),F.Z)},B=t(9581),G=t(439),V=(b=function(n,e,t){z(n,e,t)},(0,B.Z)((function(n,e){var t=-1,r=e.length,o=r>1?e[r-1]:void 0,i=r>2?e[2]:void 0;for(o=b.length>3&&"function"==typeof o?(r--,o):void 0,i&&(0,G.Z)(e[0],e[1],i)&&(o=r<3?void 0:o,r=1),n=Object(n);++te},K=t(9203),W=function(n){return n&&n.length?$(n,K.Z,J):void 0},H=function(n){var e=null==n?0:n.length;return e?n[e-1]:void 0},Q=t(2693),X=t(7058),nn=function(n,e){var t={};return e=(0,X.Z)(e,3),(0,Q.Z)(n,(function(n,r,o){(0,y.Z)(t,r,e(n,r,o))})),t},en=t(9360),tn=function(n,e){return nMath.abs(u)*f?(a<0&&(f=-f),t=f*u/a,r=f):(u<0&&(c=-c),t=c,r=c*a/u),{x:o+t,y:i+r}}function sn(n){var e=c.Z(f.Z(hn(n)+1),(function(){return[]}));return r.Z(n.nodes(),(function(t){var r=n.node(t),o=r.rank;en.Z(o)||(e[o][r.order]=t)})),e}function dn(n,e,t,r){var o={width:0,height:0};return arguments.length>=4&&(o.rank=t,o.order=r),an(n,"border",o,e)}function hn(n){return W(c.Z(n.nodes(),(function(e){var t=n.node(e).rank;if(!en.Z(t))return t})))}function vn(n,e){var t=un();try{return e()}finally{console.log(n+" time: "+(un()-t)+"ms")}}function Zn(n,e){return e()}function ln(n,e,t,r,o,i){var u={width:0,height:0,rank:i,borderType:e},a=o[e][i-1],c=an(n,"border",u,t);o[e][i]=c,n.setParent(c,r),a&&n.setEdge(a,c,{weight:1})}function gn(n){r.Z(n.nodes(),(function(e){pn(n.node(e))})),r.Z(n.edges(),(function(e){pn(n.edge(e))}))}function pn(n){var e=n.width;n.width=n.height,n.height=e}function bn(n){n.y=-n.y}function wn(n){var e=n.x;n.x=n.y,n.y=e}var yn=function(n,e){return n&&n.length?$(n,(0,X.Z)(e,2),tn):void 0};function mn(n){var e={};r.Z(n.sources(),(function t(r){var o=n.node(r);if(i.Z(e,r))return o.rank;e[r]=!0;var u=rn(c.Z(n.outEdges(r),(function(e){return t(e.w)-n.edge(e).minlen})));return u!==Number.POSITIVE_INFINITY&&null!=u||(u=0),o.rank=u}))}function _n(n,e){return n.node(e.w).rank-n.node(e.v).rank-n.edge(e).minlen}function jn(n){var e,t,r=new s.k({directed:!1}),o=n.nodes()[0],i=n.nodeCount();for(r.setNode(o,{});En(r,n)-1?r[o?n[i]:i]:void 0}),Pn=t(2489);u.Z(1),u.Z(1),t(8448),t(6155),t(1922),t(8533),(0,t(4193).Z)("length"),RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");var Sn="\\ud800-\\udfff",Rn="["+Sn+"]",Tn="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Fn="\\ud83c[\\udffb-\\udfff]",Dn="[^"+Sn+"]",zn="(?:\\ud83c[\\udde6-\\uddff]){2}",Bn="[\\ud800-\\udbff][\\udc00-\\udfff]",Gn="(?:"+Tn+"|"+Fn+")?",Vn="[\\ufe0e\\ufe0f]?",Un=Vn+Gn+"(?:\\u200d(?:"+[Dn,zn,Bn].join("|")+")"+Vn+Gn+")*",qn="(?:"+[Dn+Tn+"?",Tn,zn,Bn,Rn].join("|")+")";function Yn(n,e,t){C.Z(e)||(e=[e]);var o=(n.isDirected()?n.successors:n.neighbors).bind(n),i=[],u={};return r.Z(e,(function(e){if(!n.hasNode(e))throw new Error("Graph does not have node: "+e);$n(n,e,"post"===t,u,o,i)})),i}function $n(n,e,t,o,u,a){i.Z(o,e)||(o[e]=!0,t||a.push(e),r.Z(u(e),(function(e){$n(n,e,t,o,u,a)})),t&&a.push(e))}function Jn(n){n=function(n){var e=(new s.k).setGraph(n.graph());return r.Z(n.nodes(),(function(t){e.setNode(t,n.node(t))})),r.Z(n.edges(),(function(t){var r=e.edge(t.v,t.w)||{weight:0,minlen:1},o=n.edge(t);e.setEdge(t.v,t.w,{weight:r.weight+o.weight,minlen:Math.max(r.minlen,o.minlen)})})),e}(n),mn(n);var e,t=jn(n);for(Hn(t),Kn(t,n);e=Xn(t);)ee(t,n,e,ne(t,n,e))}function Kn(n,e){var t=function(n,e){return Yn(n,e,"post")}(n,n.nodes());t=t.slice(0,t.length-1),r.Z(t,(function(t){!function(n,e,t){var r=n.node(t).parent;n.edge(t,r).cutvalue=Wn(n,e,t)}(n,e,t)}))}function Wn(n,e,t){var o=n.node(t).parent,i=!0,u=e.edge(t,o),a=0;return u||(i=!1,u=e.edge(o,t)),a=u.weight,r.Z(e.nodeEdges(t),(function(r){var u,c,f=r.v===t,s=f?r.w:r.v;if(s!==o){var d=f===i,h=e.edge(r).weight;if(a+=d?h:-h,u=t,c=s,n.hasEdge(u,c)){var v=n.edge(t,s).cutvalue;a+=d?-v:v}}})),a}function Hn(n,e){arguments.length<2&&(e=n.nodes()[0]),Qn(n,{},1,e)}function Qn(n,e,t,o,u){var a=t,c=n.node(o);return e[o]=!0,r.Z(n.neighbors(o),(function(r){i.Z(e,r)||(t=Qn(n,e,t,r,o))})),c.low=a,c.lim=t++,u?c.parent=u:delete c.parent,t}function Xn(n){return An(n.edges(),(function(e){return n.edge(e).cutvalue<0}))}function ne(n,e,t){var r=t.v,o=t.w;e.hasEdge(r,o)||(r=t.w,o=t.v);var i=n.node(r),u=n.node(o),a=i,c=!1;i.lim>u.lim&&(a=u,c=!0);var f=Pn.Z(e.edges(),(function(e){return c===te(0,n.node(e.v),a)&&c!==te(0,n.node(e.w),a)}));return yn(f,(function(n){return _n(e,n)}))}function ee(n,e,t,o){var i=t.v,u=t.w;n.removeEdge(i,u),n.setEdge(o.v,o.w,{}),Hn(n),Kn(n,e),function(n,e){var t=An(n.nodes(),(function(n){return!e.node(n).parent})),o=function(n,e){return Yn(n,e,"pre")}(n,t);o=o.slice(1),r.Z(o,(function(t){var r=n.node(t).parent,o=e.edge(t,r),i=!1;o||(o=e.edge(r,t),i=!0),e.node(t).rank=e.node(r).rank+(i?o.minlen:-o.minlen)}))}(n,e)}function te(n,e,t){return t.low<=e.lim&&e.lim<=t.lim}function re(n){switch(n.graph().ranker){case"network-simplex":default:!function(n){Jn(n)}(n);break;case"tight-tree":!function(n){mn(n),jn(n)}(n);break;case"longest-path":oe(n)}}RegExp(Fn+"(?="+Fn+")|"+qn+Un,"g"),new Error,t(5351),Jn.initLowLimValues=Hn,Jn.initCutValues=Kn,Jn.calcCutValue=Wn,Jn.leaveEdge=Xn,Jn.enterEdge=ne,Jn.exchangeEdges=ee;var oe=mn;var ie=t(4657),ue=t(4283);function ae(n){var e=an(n,"root",{},"_root"),t=function(n){var e={};function t(o,i){var u=n.children(o);u&&u.length&&r.Z(u,(function(n){t(n,i+1)})),e[o]=i}return r.Z(n.children(),(function(n){t(n,1)})),e}(n),o=W(ie.Z(t))-1,i=2*o+1;n.graph().nestingRoot=e,r.Z(n.edges(),(function(e){n.edge(e).minlen*=i}));var u=function(n){return ue.Z(n.edges(),(function(e,t){return e+n.edge(t).weight}),0)}(n)+1;r.Z(n.children(),(function(r){ce(n,e,i,u,o,t,r)})),n.graph().nodeRankFactor=i}function ce(n,e,t,o,i,u,a){var c=n.children(a);if(c.length){var f=dn(n,"_bt"),s=dn(n,"_bb"),d=n.node(a);n.setParent(f,a),d.borderTop=f,n.setParent(s,a),d.borderBottom=s,r.Z(c,(function(r){ce(n,e,t,o,i,u,r);var c=n.node(r),d=c.borderTop?c.borderTop:r,h=c.borderBottom?c.borderBottom:r,v=c.borderTop?o:2*o,Z=d!==h?1:i-u[a]+1;n.setEdge(f,d,{weight:v,minlen:Z,nestingEdge:!0}),n.setEdge(h,s,{weight:v,minlen:Z,nestingEdge:!0})})),n.parent(a)||n.setEdge(e,f,{weight:0,minlen:i+u[a]})}else a!==e&&n.setEdge(e,a,{weight:0,minlen:t})}var fe=t(9103),se=function(n){return(0,fe.Z)(n,5)};var de=t(2954),he=function(n,e){return function(n,e,t){for(var r=-1,o=n.length,i=e.length,u={};++re||i&&u&&c&&!a&&!f||r&&u&&c||!t&&c||!o)return 1;if(!r&&!i&&!f&&n=a?c:c*("desc"==t[r]?-1:1)}return n.index-e.index}(n,e,t)}))},ye=(0,B.Z)((function(n,e){if(null==n)return[];var t=e.length;return t>1&&(0,G.Z)(n,e[0],e[1])?e=[]:t>2&&(0,G.Z)(e[0],e[1],e[2])&&(e=[e[0]]),we(n,(0,ve.Z)(e,1),[])}));function me(n,e){for(var t=0,r=1;r0;)e%2&&(t+=s[e+1]),s[e=e-1>>1]+=n.weight;d+=n.weight*t}))),d}function je(n,e){var t,o=function(n,e){var t={lhs:[],rhs:[]};return r.Z(n,(function(n){var e;e=n,i.Z(e,"barycenter")?t.lhs.push(n):t.rhs.push(n)})),t}(n),u=o.lhs,c=ye(o.rhs,(function(n){return-n.i})),f=[],s=0,d=0,h=0;u.sort((t=!!e,function(n,e){return n.barycentere.barycenter?1:t?e.i-n.i:n.i-e.i})),h=Ee(f,c,h),r.Z(u,(function(n){h+=n.vs.length,f.push(n.vs),s+=n.barycenter*n.weight,d+=n.weight,h=Ee(f,c,h)}));var v={vs:a.Z(f)};return d&&(v.barycenter=s/d,v.weight=d),v}function Ee(n,e,t){for(var r;e.length&&(r=H(e)).i<=t;)e.pop(),n.push(r.vs),t++;return t}function ke(n,e,t,o){var u=n.children(e),f=n.node(e),s=f?f.borderLeft:void 0,d=f?f.borderRight:void 0,h={};s&&(u=Pn.Z(u,(function(n){return n!==s&&n!==d})));var v=function(n,e){return c.Z(e,(function(e){var t=n.inEdges(e);if(t.length){var r=ue.Z(t,(function(e,t){var r=n.edge(t),o=n.node(t.v);return{sum:e.sum+r.weight*o.order,weight:e.weight+r.weight}}),{sum:0,weight:0});return{v:e,barycenter:r.sum/r.weight,weight:r.weight}}return{v:e}}))}(n,u);r.Z(v,(function(e){if(n.children(e.v).length){var r=ke(n,e.v,t,o);h[e.v]=r,i.Z(r,"barycenter")&&(u=e,a=r,en.Z(u.barycenter)?(u.barycenter=a.barycenter,u.weight=a.weight):(u.barycenter=(u.barycenter*u.weight+a.barycenter*a.weight)/(u.weight+a.weight),u.weight+=a.weight))}var u,a}));var Z=function(n,e){var t={};return r.Z(n,(function(n,e){var r=t[n.v]={indegree:0,in:[],out:[],vs:[n.v],i:e};en.Z(n.barycenter)||(r.barycenter=n.barycenter,r.weight=n.weight)})),r.Z(e.edges(),(function(n){var e=t[n.v],r=t[n.w];en.Z(e)||en.Z(r)||(r.indegree++,e.out.push(t[n.w]))})),function(n){var e=[];function t(n){return function(e){var t,r,o,i;e.merged||(en.Z(e.barycenter)||en.Z(n.barycenter)||e.barycenter>=n.barycenter)&&(r=e,o=0,i=0,(t=n).weight&&(o+=t.barycenter*t.weight,i+=t.weight),r.weight&&(o+=r.barycenter*r.weight,i+=r.weight),t.vs=r.vs.concat(t.vs),t.barycenter=o/i,t.weight=i,t.i=Math.min(r.i,t.i),r.merged=!0)}}function o(e){return function(t){t.in.push(e),0==--t.indegree&&n.push(t)}}for(;n.length;){var i=n.pop();e.push(i),r.Z(i.in.reverse(),t(i)),r.Z(i.out,o(i))}return c.Z(Pn.Z(e,(function(n){return!n.merged})),(function(n){return U.Z(n,["vs","i","barycenter","weight"])}))}(Pn.Z(t,(function(n){return!n.indegree})))}(v,t);!function(n,e){r.Z(n,(function(n){n.vs=a.Z(n.vs.map((function(n){return e[n]?e[n].vs:n})))}))}(Z,h);var l=je(Z,o);if(s&&(l.vs=a.Z([s,l.vs,d]),n.predecessors(s).length)){var g=n.node(n.predecessors(s)[0]),p=n.node(n.predecessors(d)[0]);i.Z(l,"barycenter")||(l.barycenter=0,l.weight=0),l.barycenter=(l.barycenter*l.weight+g.order+p.order)/(l.weight+2),l.weight+=2}return l}function xe(n,e,t){return c.Z(e,(function(e){return function(n,e,t){var u=function(n){for(var e;n.hasNode(e=o.Z("_root")););return e}(n),a=new s.k({compound:!0}).setGraph({root:u}).setDefaultNodeLabel((function(e){return n.node(e)}));return r.Z(n.nodes(),(function(o){var c=n.node(o),f=n.parent(o);(c.rank===e||c.minRank<=e&&e<=c.maxRank)&&(a.setNode(o),a.setParent(o,f||u),r.Z(n[t](o),(function(e){var t=e.v===o?e.w:e.v,r=a.edge(t,o),i=en.Z(r)?0:r.weight;a.setEdge(t,o,{weight:n.edge(e).weight+i})})),i.Z(c,"minRank")&&a.setNode(o,{borderLeft:c.borderLeft[e],borderRight:c.borderRight[e]}))})),a}(n,e,t)}))}function Ne(n,e){var t=new s.k;r.Z(n,(function(n){var o=n.graph().root,i=ke(n,o,t,e);r.Z(i.vs,(function(e,t){n.node(e).order=t})),function(n,e,t){var o,i={};r.Z(t,(function(t){for(var r,u,a=n.parent(t);a;){if((r=n.parent(a))?(u=i[r],i[r]=a):(u=o,o=a),u&&u!==a)return void e.setEdge(u,a);a=r}}))}(n,t,i.vs)}))}function Oe(n,e){r.Z(e,(function(e){r.Z(e,(function(e,t){n.node(e).order=t}))}))}var Ce=t(8882),Ie=function(n,e){return n&&(0,Q.Z)(n,(0,Ce.Z)(e))},Le=function(n,e){return null==n?n:(0,j.Z)(n,(0,Ce.Z)(e),F.Z)};function Me(n,e,t){if(e>t){var r=e;e=t,t=r}var o=n[e];o||(n[e]=o={}),o[t]=!0}function Ae(n,e,t){if(e>t){var r=e;e=t,t=r}return i.Z(n[e],t)}function Pe(n){var e,t=sn(n),o=V(function(n,e){var t={};return ue.Z(e,(function(e,o){var i=0,u=0,a=e.length,c=H(o);return r.Z(o,(function(e,f){var s=function(n,e){if(n.node(e).dummy)return An(n.predecessors(e),(function(e){return n.node(e).dummy}))}(n,e),d=s?n.node(s).order:a;(s||e===c)&&(r.Z(o.slice(u,f+1),(function(e){r.Z(n.predecessors(e),(function(r){var o=n.node(r),u=o.order;!(ua)&&Me(t,e,c)}))}))}return ue.Z(e,(function(e,t){var i,u=-1,a=0;return r.Z(t,(function(r,c){if("border"===n.node(r).dummy){var f=n.predecessors(r);f.length&&(i=n.node(f[0]).order,o(t,a,c,u,i),a=c,u=i)}o(t,a,t.length,i,e.length)})),t})),t}(n,t)),u={};r.Z(["u","d"],(function(a){e="u"===a?t:ie.Z(t).reverse(),r.Z(["l","r"],(function(t){"r"===t&&(e=c.Z(e,(function(n){return ie.Z(n).reverse()})));var f=("u"===a?n.predecessors:n.successors).bind(n),d=function(n,e,t,o){var i={},u={},a={};return r.Z(e,(function(n){r.Z(n,(function(n,e){i[n]=n,u[n]=n,a[n]=e}))})),r.Z(e,(function(n){var e=-1;r.Z(n,(function(n){var r=o(n);if(r.length){r=ye(r,(function(n){return a[n]}));for(var c=(r.length-1)/2,f=Math.floor(c),s=Math.ceil(c);f<=s;++f){var d=r[f];u[n]===n&&ec||f>e[o].lim));for(i=o,o=r;(o=n.parent(o))!==i;)a.push(o);return{path:u.concat(a.reverse()),lca:i}}(n,e,o.v,o.w),u=i.path,a=i.lca,c=0,f=u[c],s=!0;t!==o.w;){if(r=n.node(t),s){for(;(f=u[c])!==a&&n.node(f).maxRank=2);var v=me(n,u=sn(n));v-1},p=function(n,e,t){for(var r=-1,o=null==n?0:n.length;++r=200){var f=e?null:_(n);if(f)return(0,y.Z)(f);u=!1,o=b.Z,c=new v.Z}else c=e?[]:a;n:for(;++r1?r.setNode(n,e):r.setNode(n)})),this}setNode(n,e){return r.Z(this._nodes,n)?(arguments.length>1&&(this._nodes[n]=e),this):(this._nodes[n]=arguments.length>1?e:this._defaultNodeLabelFn(n),this._isCompound&&(this._parent[n]=O,this._children[n]={},this._children[O][n]=!0),this._in[n]={},this._preds[n]={},this._out[n]={},this._sucs[n]={},++this._nodeCount,this)}node(n){return this._nodes[n]}hasNode(n){return r.Z(this._nodes,n)}removeNode(n){var e=this;if(r.Z(this._nodes,n)){var t=function(n){e.removeEdge(e._edgeObjs[n])};delete this._nodes[n],this._isCompound&&(this._removeFromParentsChildList(n),delete this._parent[n],f.Z(this.children(n),(function(n){e.setParent(n)})),delete this._children[n]),f.Z(u.Z(this._in[n]),t),delete this._in[n],delete this._preds[n],f.Z(u.Z(this._out[n]),t),delete this._out[n],delete this._sucs[n],--this._nodeCount}return this}setParent(n,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(s.Z(e))e=O;else{for(var t=e+="";!s.Z(t);t=this.parent(t))if(t===n)throw new Error("Setting "+e+" as parent of "+n+" would create a cycle");this.setNode(e)}return this.setNode(n),this._removeFromParentsChildList(n),this._parent[n]=e,this._children[e][n]=!0,this}_removeFromParentsChildList(n){delete this._children[this._parent[n]][n]}parent(n){if(this._isCompound){var e=this._parent[n];if(e!==O)return e}}children(n){if(s.Z(n)&&(n=O),this._isCompound){var e=this._children[n];if(e)return u.Z(e)}else{if(n===O)return this.nodes();if(this.hasNode(n))return[]}}predecessors(n){var e=this._preds[n];if(e)return u.Z(e)}successors(n){var e=this._sucs[n];if(e)return u.Z(e)}neighbors(n){var e=this.predecessors(n);if(e)return E(e,this.successors(n))}isLeaf(n){return 0===(this.isDirected()?this.successors(n):this.neighbors(n)).length}filterNodes(n){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var t=this;f.Z(this._nodes,(function(t,r){n(r)&&e.setNode(r,t)})),f.Z(this._edgeObjs,(function(n){e.hasNode(n.v)&&e.hasNode(n.w)&&e.setEdge(n,t.edge(n))}));var r={};function o(n){var i=t.parent(n);return void 0===i||e.hasNode(i)?(r[n]=i,i):i in r?r[i]:o(i)}return this._isCompound&&f.Z(e.nodes(),(function(n){e.setParent(n,o(n))})),e}setDefaultEdgeLabel(n){return i.Z(n)||(n=o.Z(n)),this._defaultEdgeLabelFn=n,this}edgeCount(){return this._edgeCount}edges(){return k.Z(this._edgeObjs)}setPath(n,e){var t=this,r=arguments;return x.Z(n,(function(n,o){return r.length>1?t.setEdge(n,o,e):t.setEdge(n,o),o})),this}setEdge(){var n,e,t,o,i=!1,u=arguments[0];"object"==typeof u&&null!==u&&"v"in u?(n=u.v,e=u.w,t=u.name,2===arguments.length&&(o=arguments[1],i=!0)):(n=u,e=arguments[1],t=arguments[3],arguments.length>2&&(o=arguments[2],i=!0)),n=""+n,e=""+e,s.Z(t)||(t=""+t);var a=A(this._isDirected,n,e,t);if(r.Z(this._edgeLabels,a))return i&&(this._edgeLabels[a]=o),this;if(!s.Z(t)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(n),this.setNode(e),this._edgeLabels[a]=i?o:this._defaultEdgeLabelFn(n,e,t);var c=function(n,e,t,r){var o=""+e,i=""+t;if(!n&&o>i){var u=o;o=i,i=u}var a={v:o,w:i};return r&&(a.name=r),a}(this._isDirected,n,e,t);return n=c.v,e=c.w,Object.freeze(c),this._edgeObjs[a]=c,L(this._preds[e],n),L(this._sucs[n],e),this._in[e][a]=c,this._out[n][a]=c,this._edgeCount++,this}edge(n,e,t){var r=1===arguments.length?P(this._isDirected,arguments[0]):A(this._isDirected,n,e,t);return this._edgeLabels[r]}hasEdge(n,e,t){var o=1===arguments.length?P(this._isDirected,arguments[0]):A(this._isDirected,n,e,t);return r.Z(this._edgeLabels,o)}removeEdge(n,e,t){var r=1===arguments.length?P(this._isDirected,arguments[0]):A(this._isDirected,n,e,t),o=this._edgeObjs[r];return o&&(n=o.v,e=o.w,delete this._edgeLabels[r],delete this._edgeObjs[r],M(this._preds[e],n),M(this._sucs[n],e),delete this._in[e][r],delete this._out[n][r],this._edgeCount--),this}inEdges(n,e){var t=this._in[n];if(t){var r=k.Z(t);return e?a.Z(r,(function(n){return n.v===e})):r}}outEdges(n,e){var t=this._out[n];if(t){var r=k.Z(t);return e?a.Z(r,(function(n){return n.w===e})):r}}nodeEdges(n,e){var t=this.inEdges(n,e);if(t)return t.concat(this.outEdges(n,e))}}function L(n,e){n[e]?n[e]++:n[e]=1}function M(n,e){--n[e]||delete n[e]}function A(n,e,t,r){var o=""+e,i=""+t;if(!n&&o>i){var u=o;o=i,i=u}return o+C+i+C+(s.Z(r)?N:r)}function P(n,e){return A(n,e.v,e.w,e.name)}I.prototype._nodeCount=0,I.prototype._edgeCount=0},5625:function(n,e,t){t.d(e,{k:function(){return r.k}});var r=t(5351)},5084:function(n,e,t){t.d(e,{Z:function(){return i}});var r=t(520);function o(n){var e=-1,t=null==n?0:n.length;for(this.__data__=new r.Z;++e0&&o(s)?t>1?n(s,t-1,o,i,u):(0,r.Z)(u,s):i||(u[u.length]=s)}return u}},5381:function(n,e,t){t.d(e,{Z:function(){return r}});var r=function(n,e,t){for(var r=-1,o=Object(n),i=t(n),u=i.length;u--;){var a=i[++r];if(!1===e(o[a],a,o))break}return n}},2693:function(n,e,t){var r=t(5381),o=t(7179);e.Z=function(n,e){return n&&(0,r.Z)(n,e,o.Z)}},3317:function(n,e,t){var r=t(1036),o=t(2656);e.Z=function(n,e){for(var t=0,i=(e=(0,r.Z)(e,n)).length;null!=n&&ts))return!1;var h=c.get(n),v=c.get(e);if(h&&v)return h==e&&v==n;var Z=-1,l=!0,g=2&t?new o.Z:void 0;for(c.set(n,e),c.set(e,n);++Z-1&&n%1==0&&n0){if(++o>=800)return arguments[0]}else o=0;return r.apply(void 0,arguments)})},2656:function(n,e,t){var r=t(2714);e.Z=function(n){if("string"==typeof n||(0,r.Z)(n))return n;var e=n+"";return"0"==e&&1/n==-1/0?"-0":e}},2002:function(n,e){e.Z=function(n){return function(){return n}}},3688:function(n,e,t){var r=t(9581),o=t(9651),i=t(439),u=t(7590),a=Object.prototype,c=a.hasOwnProperty,f=(0,r.Z)((function(n,e){n=Object(n);var t=-1,r=e.length,f=r>2?e[2]:void 0;for(f&&(0,i.Z)(e[0],e[1],f)&&(r=1);++t0&&void 0!==arguments[0]?arguments[0]:{},i=e.defaultLayoutOptions,c=void 0===i?{}:i,u=e.algorithms,o=void 0===u?["layered","stress","mrtree","radial","force","disco","sporeOverlap","sporeCompaction","rectpacking"]:u,s=e.workerFactory,h=e.workerUrl;if(r(this,n),this.defaultLayoutOptions=c,this.initialized=!1,void 0===h&&void 0===s)throw new Error("Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.");var f=s;void 0!==h&&void 0===s&&(f=function(n){return new Worker(n)});var l=f(h);if("function"!=typeof l.postMessage)throw new TypeError("Created worker does not provide the required 'postMessage' function.");this.worker=new a(l),this.worker.postMessage({cmd:"register",algorithms:o}).then((function(n){return t.initialized=!0})).catch(console.err)}return i(n,[{key:"layout",value:function(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=t.layoutOptions,i=void 0===e?this.defaultLayoutOptions:e,r=t.logging,c=void 0!==r&&r,a=t.measureExecutionTime,u=void 0!==a&&a;return n?this.worker.postMessage({cmd:"layout",graph:n,layoutOptions:i,options:{logging:c,measureExecutionTime:u}}):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()}}]),n}();e.default=c;var a=function(){function n(t){var e=this;if(r(this,n),void 0===t)throw new Error("Missing mandatory parameter 'worker'.");this.resolvers={},this.worker=t,this.worker.onmessage=function(n){setTimeout((function(){e.receive(e,n)}),0)}}return i(n,[{key:"postMessage",value:function(n){var t=this.id||0;this.id=t+1,n.id=t;var e=this;return new Promise((function(i,r){e.resolvers[t]=function(n,t){n?(e.convertGwtStyleError(n),r(n)):i(t)},e.worker.postMessage(n)}))}},{key:"receive",value:function(n,t){var e=t.data,i=n.resolvers[e.id];i&&(delete n.resolvers[e.id],e.error?i(e.error):i(null,e.data))}},{key:"terminate",value:function(){this.worker.terminate&&this.worker.terminate()}},{key:"convertGwtStyleError",value:function(n){if(n){var t=n.__java$exception;t&&(t.cause&&t.cause.backingJsObject&&(n.cause=t.cause.backingJsObject,this.convertGwtStyleError(n.cause)),delete n.__java$exception)}}}]),n}()},{}],2:[function(n,t,i){(function(n){(function(){"use strict";var e;function r(){}function c(){}function a(){}function u(){}function o(){}function s(){}function h(){}function f(){}function l(){}function b(){}function w(){}function d(){}function g(){}function p(){}function v(){}function m(){}function y(){}function k(){}function j(){}function E(){}function T(){}function M(){}function S(){}function P(){}function I(){}function C(){}function O(){}function A(){}function $(){}function L(){}function N(){}function x(){}function D(){}function R(){}function K(){}function _(){}function F(){}function B(){}function H(){}function q(){}function G(){}function z(){}function U(){}function X(){}function W(){}function V(){}function Q(){}function Y(){}function J(){}function Z(){}function nn(){}function tn(){}function en(){}function rn(){}function cn(){}function an(){}function un(){}function on(){}function sn(){}function hn(){}function fn(){}function ln(){}function bn(){}function wn(){}function dn(){}function gn(){}function pn(){}function vn(){}function mn(){}function yn(){}function kn(){}function jn(){}function En(){}function Tn(){}function Mn(){}function Sn(){}function Pn(){}function In(){}function Cn(){}function On(){}function An(){}function $n(){}function Ln(){}function Nn(){}function xn(){}function Dn(){}function Rn(){}function Kn(){}function _n(){}function Fn(){}function Bn(){}function Hn(){}function qn(){}function Gn(){}function zn(){}function Un(){}function Xn(){}function Wn(){}function Vn(){}function Qn(){}function Yn(){}function Jn(){}function Zn(){}function nt(){}function tt(){}function et(){}function it(){}function rt(){}function ct(){}function at(){}function ut(){}function ot(){}function st(){}function ht(){}function ft(){}function lt(){}function bt(){}function wt(){}function dt(){}function gt(){}function pt(){}function vt(){}function mt(){}function yt(){}function kt(){}function jt(){}function Et(){}function Tt(){}function Mt(){}function St(){}function Pt(){}function It(){}function Ct(){}function Ot(){}function At(){}function $t(){}function Lt(){}function Nt(){}function xt(){}function Dt(){}function Rt(){}function Kt(){}function _t(){}function Ft(){}function Bt(){}function Ht(){}function qt(){}function Gt(){}function zt(){}function Ut(){}function Xt(){}function Wt(){}function Vt(){}function Qt(){}function Yt(){}function Jt(){}function Zt(){}function ne(){}function te(){}function ee(){}function ie(){}function re(){}function ce(){}function ae(){}function ue(){}function oe(){}function se(){}function he(){}function fe(){}function le(){}function be(){}function we(){}function de(){}function ge(){}function pe(){}function ve(){}function me(){}function ye(){}function ke(){}function je(){}function Ee(){}function Te(){}function Me(){}function Se(){}function Pe(){}function Ie(){}function Ce(){}function Oe(){}function Ae(){}function $e(){}function Le(){}function Ne(){}function xe(){}function De(){}function Re(){}function Ke(){}function _e(){}function Fe(){}function Be(){}function He(){}function qe(){}function Ge(){}function ze(){}function Ue(){}function Xe(){}function We(){}function Ve(){}function Qe(){}function Ye(){}function Je(){}function Ze(){}function ni(){}function ti(){}function ei(){}function ii(){}function ri(){}function ci(){}function ai(){}function ui(){}function oi(){}function si(){}function hi(){}function fi(){}function li(){}function bi(){}function wi(){}function di(){}function gi(){}function pi(){}function vi(){}function mi(){}function yi(){}function ki(){}function ji(){}function Ei(){}function Ti(){}function Mi(){}function Si(){}function Pi(){}function Ii(){}function Ci(){}function Oi(){}function Ai(){}function $i(){}function Li(){}function Ni(){}function xi(){}function Di(){}function Ri(){}function Ki(){}function _i(){}function Fi(){}function Bi(){}function Hi(){}function qi(){}function Gi(){}function zi(){}function Ui(){}function Xi(){}function Wi(){}function Vi(){}function Qi(){}function Yi(){}function Ji(){}function Zi(){}function nr(){}function tr(){}function er(){}function ir(){}function rr(){}function cr(){}function ar(){}function ur(){}function or(){}function sr(){}function hr(){}function fr(){}function lr(){}function br(){}function wr(){}function dr(){}function gr(){}function pr(){}function vr(){}function mr(){}function yr(){}function kr(){}function jr(){}function Er(){}function Tr(){}function Mr(){}function Sr(){}function Pr(){}function Ir(){}function Cr(){}function Or(){}function Ar(){}function $r(){}function Lr(){}function Nr(){}function xr(){}function Dr(){}function Rr(){}function Kr(){}function _r(){}function Fr(){}function Br(){}function Hr(){}function qr(){}function Gr(){}function zr(){}function Ur(){}function Xr(){}function Wr(){}function Vr(){}function Qr(){}function Yr(){}function Jr(){}function Zr(){}function nc(){}function tc(){}function ec(){}function ic(){}function rc(){}function cc(){}function ac(){}function uc(){}function oc(){}function sc(){}function hc(){}function fc(){}function lc(){}function bc(){}function wc(){}function dc(){}function gc(){}function pc(){}function vc(){}function mc(){}function yc(){}function kc(){}function jc(){}function Ec(){}function Tc(){}function Mc(){}function Sc(){}function Pc(){}function Ic(){}function Cc(){}function Oc(){}function Ac(){}function $c(){}function Lc(){}function Nc(){}function xc(){}function Dc(){}function Rc(){}function Kc(){}function _c(){}function Fc(){}function Bc(){}function Hc(){}function qc(){}function Gc(){}function zc(){}function Uc(){}function Xc(){}function Wc(){}function Vc(){}function Qc(){}function Yc(){}function Jc(){}function Zc(){}function na(){}function ta(){}function ea(){}function ia(){}function ra(){}function ca(){}function aa(){}function ua(){}function oa(){}function sa(){}function ha(){}function fa(){}function la(){}function ba(){}function wa(){}function da(){}function ga(){}function pa(){}function va(){}function ma(){}function ya(){}function ka(){}function ja(){}function Ea(){}function Ta(){}function Ma(){}function Sa(){}function Pa(){}function Ia(){}function Ca(){}function Oa(){}function Aa(){}function $a(){}function La(){}function Na(){}function xa(){}function Da(){}function Ra(){}function Ka(){}function _a(){}function Fa(){}function Ba(){}function Ha(){}function qa(){}function Ga(){}function za(){}function Ua(){}function Xa(){}function Wa(){}function Va(){}function Qa(){}function Ya(){}function Ja(){}function Za(){}function nu(){}function tu(){}function eu(){}function iu(){}function ru(){}function cu(){}function au(){}function uu(){}function ou(){}function su(){}function hu(){}function fu(){}function lu(){}function bu(){}function wu(){}function du(){}function gu(){}function pu(){}function vu(){}function mu(){}function yu(){}function ku(){}function ju(){}function Eu(){}function Tu(){}function Mu(){}function Su(){}function Pu(){}function Iu(){}function Cu(){}function Ou(){}function Au(){}function $u(){}function Lu(){}function Nu(){}function xu(){}function Du(){}function Ru(){}function Ku(){}function _u(){}function Fu(){}function Bu(){}function Hu(){}function qu(){}function Gu(){}function zu(){}function Uu(){}function Xu(){}function Wu(){}function Vu(){}function Qu(){}function Yu(){}function Ju(){}function Zu(){}function no(){}function to(){}function eo(){}function io(){}function ro(){}function co(){}function ao(){}function uo(){}function oo(){}function so(){}function ho(){}function fo(){}function lo(){}function bo(){}function wo(){}function go(){}function po(){}function vo(){}function mo(){}function yo(){}function ko(){}function jo(){}function Eo(){}function To(){}function Mo(){}function So(){}function Po(){}function Io(){}function Co(){}function Oo(){}function Ao(){}function $o(){}function Lo(){}function No(){}function xo(){}function Do(){}function Ro(){}function Ko(){}function _o(){}function Fo(){}function Bo(){}function Ho(){}function qo(){}function Go(){}function zo(){}function Uo(){}function Xo(){}function Wo(){}function Vo(){}function Qo(){}function Yo(){}function Jo(){}function Zo(){}function ns(){}function ts(){}function es(){}function is(){}function rs(){}function cs(){}function as(){}function us(){}function os(){}function ss(){}function hs(){}function fs(){}function ls(){}function bs(){}function ws(){}function ds(){}function gs(){}function ps(){}function vs(){}function ms(){}function ys(){}function ks(){}function js(){}function Es(){}function Ts(){}function Ms(){}function Ss(){}function Ps(){}function Is(){}function Cs(){}function Os(){}function As(){}function $s(){}function Ls(){}function Ns(){}function xs(){}function Ds(){}function Rs(){}function Ks(){}function _s(){}function Fs(){}function Bs(){}function Hs(){}function qs(){}function Gs(){}function zs(){}function Us(){}function Xs(){}function Ws(){}function Vs(){}function Qs(){}function Ys(){}function Js(){}function Zs(){}function nh(){}function th(){}function eh(){}function ih(){}function rh(){}function ch(){}function ah(){}function uh(){}function oh(){}function sh(){}function hh(){}function fh(){}function lh(){}function bh(){}function wh(){}function dh(){}function gh(){}function ph(){}function vh(){}function mh(){}function yh(){}function kh(){}function jh(){}function Eh(){}function Th(){}function Mh(){}function Sh(){}function Ph(){}function Ih(){}function Ch(){}function Oh(){}function Ah(){}function $h(){}function Lh(){}function Nh(){}function xh(){}function Dh(){}function Rh(){}function Kh(){}function _h(){gm()}function Fh(){O6()}function Bh(){len()}function Hh(){pcn()}function qh(){Eon()}function Gh(){Bdn()}function zh(){Lrn()}function Uh(){Wrn()}function Xh(){QE()}function Wh(){UE()}function Vh(){Ax()}function Qh(){YE()}function Yh(){m2()}function Jh(){ZE()}function Zh(){eQ()}function nf(){P0()}function tf(){uY()}function ef(){oz()}function rf(){A6()}function cf(){Qun()}function af(){I0()}function uf(){gX()}function of(){Ajn()}function sf(){Rrn()}function hf(){sz()}function ff(){gjn()}function lf(){az()}function bf(){C0()}function wf(){e5()}function df(){bz()}function gf(){MY()}function pf(){nT()}function vf(){lln()}function mf(){_rn()}function yf(){b3()}function kf(){Dun()}function jf(){Hdn()}function Ef(){lin()}function Tf(){cln()}function Mf(){i4()}function Sf(){fz()}function Pf(){epn()}function If(){uln()}function Cf(){Jln()}function Of(){IY()}function Af(){Run()}function $f(){Cjn()}function Lf(){L6()}function Nf(){Onn()}function xf(){Jvn()}function Df(){dx()}function Rf(){W2()}function Kf(){Fpn()}function _f(n){vB(n)}function Ff(n){this.a=n}function Bf(n){this.a=n}function Hf(n){this.a=n}function qf(n){this.a=n}function Gf(n){this.a=n}function zf(n){this.a=n}function Uf(n){this.a=n}function Xf(n){this.a=n}function Wf(n){this.a=n}function Vf(n){this.a=n}function Qf(n){this.a=n}function Yf(n){this.a=n}function Jf(n){this.a=n}function Zf(n){this.a=n}function nl(n){this.a=n}function tl(n){this.a=n}function el(n){this.a=n}function il(n){this.a=n}function rl(n){this.a=n}function cl(n){this.a=n}function al(n){this.a=n}function ul(n){this.b=n}function ol(n){this.c=n}function sl(n){this.a=n}function hl(n){this.a=n}function fl(n){this.a=n}function ll(n){this.a=n}function bl(n){this.a=n}function wl(n){this.a=n}function dl(n){this.a=n}function gl(n){this.a=n}function pl(n){this.a=n}function vl(n){this.a=n}function ml(n){this.a=n}function yl(n){this.a=n}function kl(n){this.a=n}function jl(n){this.a=n}function El(n){this.a=n}function Tl(n){this.a=n}function Ml(n){this.a=n}function Sl(){this.a=[]}function Pl(n,t){n.a=t}function Il(n,t){n.j=t}function Cl(n,t){n.c=t}function Ol(n,t){n.d=t}function Al(n,t){n.k=t}function $l(n,t){n.c=t}function Ll(n,t){n.a=t}function Nl(n,t){n.a=t}function xl(n,t){n.f=t}function Dl(n,t){n.a=t}function Rl(n,t){n.b=t}function Kl(n,t){n.d=t}function _l(n,t){n.i=t}function Fl(n,t){n.o=t}function Bl(n,t){n.e=t}function Hl(n,t){n.g=t}function ql(n,t){n.e=t}function Gl(n,t){n.f=t}function zl(n,t){n.f=t}function Ul(n,t){n.n=t}function Xl(n){n.b=n.a}function Wl(n){n.c=n.d.d}function Vl(n){this.d=n}function Ql(n){this.a=n}function Yl(n){this.a=n}function Jl(n){this.a=n}function Zl(n){this.a=n}function nb(n){this.a=n}function tb(n){this.a=n}function eb(n){this.a=n}function ib(n){this.a=n}function rb(n){this.a=n}function cb(n){this.a=n}function ab(n){this.a=n}function ub(n){this.a=n}function ob(n){this.a=n}function sb(n){this.a=n}function hb(n){this.b=n}function fb(n){this.b=n}function lb(n){this.b=n}function bb(n){this.a=n}function wb(n){this.a=n}function db(n){this.a=n}function gb(n){this.c=n}function pb(n){this.c=n}function vb(n){this.c=n}function mb(n){this.a=n}function yb(n){this.a=n}function kb(n){this.a=n}function jb(n){this.a=n}function Eb(n){this.a=n}function Tb(n){this.a=n}function Mb(n){this.a=n}function Sb(n){this.a=n}function Pb(n){this.a=n}function Ib(n){this.a=n}function Cb(n){this.a=n}function Ob(n){this.a=n}function Ab(n){this.a=n}function $b(n){this.a=n}function Lb(n){this.a=n}function Nb(n){this.a=n}function xb(n){this.a=n}function Db(n){this.a=n}function Rb(n){this.a=n}function Kb(n){this.a=n}function _b(n){this.a=n}function Fb(n){this.a=n}function Bb(n){this.a=n}function Hb(n){this.a=n}function qb(n){this.a=n}function Gb(n){this.a=n}function zb(n){this.a=n}function Ub(n){this.a=n}function Xb(n){this.a=n}function Wb(n){this.a=n}function Vb(n){this.a=n}function Qb(n){this.a=n}function Yb(n){this.a=n}function Jb(n){this.a=n}function Zb(n){this.a=n}function nw(n){this.a=n}function tw(n){this.a=n}function ew(n){this.a=n}function iw(n){this.a=n}function rw(n){this.a=n}function cw(n){this.a=n}function aw(n){this.a=n}function uw(n){this.a=n}function ow(n){this.a=n}function sw(n){this.a=n}function hw(n){this.e=n}function fw(n){this.a=n}function lw(n){this.a=n}function bw(n){this.a=n}function ww(n){this.a=n}function dw(n){this.a=n}function gw(n){this.a=n}function pw(n){this.a=n}function vw(n){this.a=n}function mw(n){this.a=n}function yw(n){this.a=n}function kw(n){this.a=n}function jw(n){this.a=n}function Ew(n){this.a=n}function Tw(n){this.a=n}function Mw(n){this.a=n}function Sw(n){this.a=n}function Pw(n){this.a=n}function Iw(n){this.a=n}function Cw(n){this.a=n}function Ow(n){this.a=n}function Aw(n){this.a=n}function $w(n){this.a=n}function Lw(n){this.a=n}function Nw(n){this.a=n}function xw(n){this.a=n}function Dw(n){this.a=n}function Rw(n){this.a=n}function Kw(n){this.a=n}function _w(n){this.a=n}function Fw(n){this.a=n}function Bw(n){this.a=n}function Hw(n){this.a=n}function qw(n){this.a=n}function Gw(n){this.a=n}function zw(n){this.a=n}function Uw(n){this.a=n}function Xw(n){this.a=n}function Ww(n){this.a=n}function Vw(n){this.a=n}function Qw(n){this.a=n}function Yw(n){this.a=n}function Jw(n){this.a=n}function Zw(n){this.a=n}function nd(n){this.a=n}function td(n){this.a=n}function ed(n){this.a=n}function id(n){this.a=n}function rd(n){this.a=n}function cd(n){this.a=n}function ad(n){this.a=n}function ud(n){this.a=n}function od(n){this.a=n}function sd(n){this.a=n}function hd(n){this.c=n}function fd(n){this.b=n}function ld(n){this.a=n}function bd(n){this.a=n}function wd(n){this.a=n}function dd(n){this.a=n}function gd(n){this.a=n}function pd(n){this.a=n}function vd(n){this.a=n}function md(n){this.a=n}function yd(n){this.a=n}function kd(n){this.a=n}function jd(n){this.a=n}function Ed(n){this.a=n}function Td(n){this.a=n}function Md(n){this.a=n}function Sd(n){this.a=n}function Pd(n){this.a=n}function Id(n){this.a=n}function Cd(n){this.a=n}function Od(n){this.a=n}function Ad(n){this.a=n}function $d(n){this.a=n}function Ld(n){this.a=n}function Nd(n){this.a=n}function xd(n){this.a=n}function Dd(n){this.a=n}function Rd(n){this.a=n}function Kd(n){this.a=n}function _d(n){this.a=n}function Fd(n){this.a=n}function Bd(n){this.a=n}function Hd(n){this.a=n}function qd(n){this.a=n}function Gd(n){this.a=n}function zd(n){this.a=n}function Ud(n){this.a=n}function Xd(n){this.a=n}function Wd(n){this.a=n}function Vd(n){this.a=n}function Qd(n){this.a=n}function Yd(n){this.a=n}function Jd(n){this.a=n}function Zd(n){this.a=n}function ng(n){this.a=n}function tg(n){this.a=n}function eg(n){this.a=n}function ig(n){this.a=n}function rg(n){this.a=n}function cg(n){this.a=n}function ag(n){this.a=n}function ug(n){this.a=n}function og(n){this.a=n}function sg(n){this.a=n}function hg(n){this.a=n}function fg(n){this.a=n}function lg(n){this.a=n}function bg(n){this.a=n}function wg(n){this.a=n}function dg(n){this.a=n}function gg(n){this.a=n}function pg(n){this.a=n}function vg(n){this.a=n}function mg(n){this.a=n}function yg(n){this.a=n}function kg(n){this.a=n}function jg(n){this.a=n}function Eg(n){this.a=n}function Tg(n){this.a=n}function Mg(n){this.a=n}function Sg(n){this.a=n}function Pg(n){this.a=n}function Ig(n){this.a=n}function Cg(n){this.a=n}function Og(n){this.b=n}function Ag(n){this.f=n}function $g(n){this.a=n}function Lg(n){this.a=n}function Ng(n){this.a=n}function xg(n){this.a=n}function Dg(n){this.a=n}function Rg(n){this.a=n}function Kg(n){this.a=n}function _g(n){this.a=n}function Fg(n){this.a=n}function Bg(n){this.a=n}function Hg(n){this.a=n}function qg(n){this.b=n}function Gg(n){this.c=n}function zg(n){this.e=n}function Ug(n){this.a=n}function Xg(n){this.a=n}function Wg(n){this.a=n}function Vg(n){this.a=n}function Qg(n){this.a=n}function Yg(n){this.d=n}function Jg(n){this.a=n}function Zg(n){this.a=n}function np(n){this.e=n}function tp(){this.a=0}function ep(){$C(this)}function ip(){AC(this)}function rp(){U_(this)}function cp(){QB(this)}function ap(){}function up(){this.c=Wat}function op(n,t){n.b+=t}function sp(n){n.b=new gy}function hp(n){return n.e}function fp(n){return n.a}function lp(n){return n.a}function bp(n){return n.a}function wp(n){return n.a}function dp(n){return n.a}function gp(){return null}function pp(){return null}function vp(n,t){n.b=t-n.b}function mp(n,t){n.a=t-n.a}function yp(n,t){t.ad(n.a)}function kp(n,t){n.e=t,t.b=n}function jp(n){px(),this.a=n}function Ep(n){px(),this.a=n}function Tp(n){px(),this.a=n}function Mp(n){VF(),this.a=n}function Sp(n){$q(),p_n.be(n)}function Pp(){OA.call(this)}function Ip(){OA.call(this)}function Cp(){Pp.call(this)}function Op(){Pp.call(this)}function Ap(){Pp.call(this)}function $p(){Pp.call(this)}function Lp(){Pp.call(this)}function Np(){Pp.call(this)}function xp(){Pp.call(this)}function Dp(){Pp.call(this)}function Rp(){Pp.call(this)}function Kp(){Pp.call(this)}function _p(){Pp.call(this)}function Fp(){this.a=this}function Bp(){this.Bb|=256}function Hp(){this.b=new xI}function qp(){qp=O,new rp}function Gp(){Cp.call(this)}function zp(n,t){n.length=t}function Up(n,t){eD(n.a,t)}function Xp(n,t){K3(n.e,t)}function Wp(n){kfn(n.c,n.b)}function Vp(n){this.a=function(n){var t;return(t=gon(n))>34028234663852886e22?JTn:t<-34028234663852886e22?ZTn:t}(n)}function Qp(){this.a=new rp}function Yp(){this.a=new rp}function Jp(){this.a=new ip}function Zp(){this.a=new ip}function nv(){this.a=new ip}function tv(){this.a=new kn}function ev(){this.a=new WV}function iv(){this.a=new bt}function rv(){this.a=new jE}function cv(){this.a=new gU}function av(){this.a=new NG}function uv(){this.a=new aN}function ov(){this.a=new ip}function sv(){this.a=new ip}function hv(){this.a=new ip}function fv(){this.a=new ip}function lv(){this.d=new ip}function bv(){this.a=new Qp}function wv(){this.a=new rp}function dv(){this.b=new rp}function gv(){this.b=new ip}function pv(){this.e=new ip}function vv(){this.d=new ip}function mv(){this.a=new cf}function yv(){ip.call(this)}function kv(){Jp.call(this)}function jv(){sN.call(this)}function Ev(){sv.call(this)}function Tv(){Mv.call(this)}function Mv(){ap.call(this)}function Sv(){ap.call(this)}function Pv(){Sv.call(this)}function Iv(){Eq.call(this)}function Cv(){Eq.call(this)}function Ov(){um.call(this)}function Av(){um.call(this)}function $v(){um.call(this)}function Lv(){om.call(this)}function Nv(){ME.call(this)}function xv(){eo.call(this)}function Dv(){eo.call(this)}function Rv(){bm.call(this)}function Kv(){bm.call(this)}function _v(){rp.call(this)}function Fv(){rp.call(this)}function Bv(){rp.call(this)}function Hv(){Qp.call(this)}function qv(){T0.call(this)}function Gv(){Bp.call(this)}function zv(){zO.call(this)}function Uv(){zO.call(this)}function Xv(){rp.call(this)}function Wv(){rp.call(this)}function Vv(){rp.call(this)}function Qv(){yo.call(this)}function Yv(){yo.call(this)}function Jv(){Qv.call(this)}function Zv(){Dh.call(this)}function nm(n){_Z.call(this,n)}function tm(n){_Z.call(this,n)}function em(n){Wf.call(this,n)}function im(n){tE.call(this,n)}function rm(n){im.call(this,n)}function cm(n){tE.call(this,n)}function am(){this.a=new ME}function um(){this.a=new Qp}function om(){this.a=new rp}function sm(){this.a=new ip}function hm(){this.j=new ip}function fm(){this.a=new Xa}function lm(){this.a=new bj}function bm(){this.a=new mo}function wm(){wm=O,n_n=new Ky}function dm(){dm=O,ZKn=new Ry}function gm(){gm=O,zKn=new c}function pm(){pm=O,a_n=new mA}function vm(n){im.call(this,n)}function mm(n){im.call(this,n)}function ym(n){hW.call(this,n)}function km(n){hW.call(this,n)}function jm(n){ix.call(this,n)}function Em(n){kon.call(this,n)}function Tm(n){rE.call(this,n)}function Mm(n){aE.call(this,n)}function Sm(n){aE.call(this,n)}function Pm(n){aE.call(this,n)}function Im(n){xK.call(this,n)}function Cm(n){Im.call(this,n)}function Om(){Ml.call(this,{})}function Am(n){qO(),this.a=n}function $m(n){n.b=null,n.c=0}function Lm(n,t){n.a=t,function(n){var t,i,r;for(function(n){var t,i,r;for(i=new pb(n.a.a.b);i.a0&&((!lC(n.a.c)||!t.n.d)&&(!bC(n.a.c)||!t.n.b)&&(t.g.d-=e.Math.max(0,r/2-.5)),(!lC(n.a.c)||!t.n.a)&&(!bC(n.a.c)||!t.n.c)&&(t.g.a+=e.Math.max(0,r-1)))}(n),r=new ip,i=new pb(n.a.a.b);i.a0&&((!lC(n.a.c)||!t.n.d)&&(!bC(n.a.c)||!t.n.b)&&(t.g.d+=e.Math.max(0,r/2-.5)),(!lC(n.a.c)||!t.n.a)&&(!bC(n.a.c)||!t.n.c)&&(t.g.a-=r-1))}(n)}(n)}function Nm(n,t,e){n.a[t.g]=e}function xm(n,t,e){!function(n,t,e){var i,r;for(TC(n,n.j+t,n.k+e),r=new UO((!n.a&&(n.a=new XO(Qrt,n,5)),n.a));r.e!=r.i.gc();)yC(i=Yx(hen(r),469),i.a+t,i.b+e);EC(n,n.b+t,n.c+e)}(e,n,t)}function Dm(n,t){!function(n,t){lC(n.f)?function(n,t){var e,i,r,c,a;for(c=n.g.a,a=n.g.b,i=new pb(n.d);i.a=n.length)return{done:!0};var i=n[e++];return{value:[i,t.get(i)],done:!1}}}},function(){if(!Object.create||!Object.getOwnPropertyNames)return!1;var n="__proto__",t=Object.create(null);return void 0===t[n]&&0==Object.getOwnPropertyNames(t).length&&(t[n]=42,42===t[n]&&0!=Object.getOwnPropertyNames(t).length)}()||(n.prototype.createObject=function(){return{}},n.prototype.get=function(n){return this.obj[":"+n]},n.prototype.set=function(n,t){this.obj[":"+n]=t},n.prototype[vMn]=function(n){delete this.obj[":"+n]},n.prototype.keys=function(){var n=[];for(var t in this.obj)58==t.charCodeAt(0)&&n.push(t.substring(1));return n}),n}()}()}function By(n){return n.a?n.b:0}function Hy(n){return n.a?n.b:0}function qy(n,t){return aJ(n,t)}function Gy(n,t){return qG(n,t)}function zy(n,t){return n.f=t,n}function Uy(n,t){return n.c=t,n}function Xy(n,t){return n.a=t,n}function Wy(n,t){return n.f=t,n}function Vy(n,t){return n.k=t,n}function Qy(n,t){return n.a=t,n}function Yy(n,t){return n.e=t,n}function Jy(n,t){n.b=!0,n.d=t}function Zy(n,t){return n?0:t-1}function nk(n,t){return n.b=t,n}function tk(n,t){return n.a=t,n}function ek(n,t){return n.c=t,n}function ik(n,t){return n.d=t,n}function rk(n,t){return n.e=t,n}function ck(n,t){return n.f=t,n}function ak(n,t){return n.a=t,n}function uk(n,t){return n.b=t,n}function ok(n,t){return n.c=t,n}function sk(n,t){return n.c=t,n}function hk(n,t){return n.b=t,n}function fk(n,t){return n.d=t,n}function lk(n,t){return n.e=t,n}function bk(n,t){return n.g=t,n}function wk(n,t){return n.a=t,n}function dk(n,t){return n.i=t,n}function gk(n,t){return n.j=t,n}function pk(n,t){return n.k=t,n}function vk(n,t,e){!function(n,t,e){__(n,new ZT(t.a,e.a))}(n.a,t,e)}function mk(n){wH.call(this,n)}function yk(n){wH.call(this,n)}function kk(n){ox.call(this,n)}function jk(n){O7.call(this,n)}function Ek(n){FZ.call(this,n)}function Tk(n){KH.call(this,n)}function Mk(n){KH.call(this,n)}function Sk(){sO.call(this,"")}function Pk(){this.a=0,this.b=0}function Ik(){this.b=0,this.a=0}function Ck(n,t){n.b=0,F1(n,t)}function Ok(n,t){return n.c._b(t)}function Ak(n){return n.e&&n.e()}function $k(n){return n?n.d:null}function Lk(n,t){return R8(n.b,t)}function Nk(n){return sL(n),n.o}function xk(){xk=O,Ort=function(){var n,t;Jvn();try{if(t=Yx(Jcn((mT(),aat),xNn),2014))return t}catch(t){if(!CO(t=j4(t),102))throw hp(t);n=t,AK((GC(),n))}return new ao}()}function Dk(){var n;Dk=O,Art=sct?Yx(Hln((mT(),aat),xNn),2016):(n=Yx(CO(aG((mT(),aat),xNn),555)?aG(aat,xNn):new Gfn,555),sct=!0,function(n){n.q||(n.q=!0,n.p=q3(n,0),n.a=q3(n,1),P2(n.a,0),n.f=q3(n,2),P2(n.f,1),S2(n.f,2),n.n=q3(n,3),S2(n.n,3),S2(n.n,4),S2(n.n,5),S2(n.n,6),n.g=q3(n,4),P2(n.g,7),S2(n.g,8),n.c=q3(n,5),P2(n.c,7),P2(n.c,8),n.i=q3(n,6),P2(n.i,9),P2(n.i,10),P2(n.i,11),P2(n.i,12),S2(n.i,13),n.j=q3(n,7),P2(n.j,9),n.d=q3(n,8),P2(n.d,3),P2(n.d,4),P2(n.d,5),P2(n.d,6),S2(n.d,7),S2(n.d,8),S2(n.d,9),S2(n.d,10),n.b=q3(n,9),S2(n.b,0),S2(n.b,1),n.e=q3(n,10),S2(n.e,1),S2(n.e,2),S2(n.e,3),S2(n.e,4),P2(n.e,5),P2(n.e,6),P2(n.e,7),P2(n.e,8),P2(n.e,9),P2(n.e,10),S2(n.e,11),n.k=q3(n,11),S2(n.k,0),S2(n.k,1),n.o=G3(n,12),n.s=G3(n,13))}(n),function(n){var t,e,i,r,c,a,u;n.r||(n.r=!0,E2(n,"graph"),T2(n,"graph"),M2(n,xNn),g4(n.o,"T"),fY(Iq(n.a),n.p),fY(Iq(n.f),n.a),fY(Iq(n.n),n.f),fY(Iq(n.g),n.n),fY(Iq(n.c),n.n),fY(Iq(n.i),n.c),fY(Iq(n.j),n.c),fY(Iq(n.d),n.f),fY(Iq(n.e),n.a),TU(n.p,uqn,zSn,!0,!0,!1),u=$4(a=o6(n.p,n.p,"setProperty")),t=SH(n.o),e=new up,fY((!t.d&&(t.d=new XO(hat,t,1)),t.d),e),van(e,i=PH(u)),Ycn(a,t,RNn),Ycn(a,t=PH(u),KNn),u=$4(a=o6(n.p,null,"getProperty")),t=SH(n.o),e=PH(u),fY((!t.d&&(t.d=new XO(hat,t,1)),t.d),e),Ycn(a,t,RNn),(c=fun(a,t=PH(u),null))&&c.Fi(),a=o6(n.p,n.wb.e,"hasProperty"),t=SH(n.o),e=new up,fY((!t.d&&(t.d=new XO(hat,t,1)),t.d),e),Ycn(a,t,RNn),Crn(a=o6(n.p,n.p,"copyProperties"),n.p,_Nn),a=o6(n.p,null,"getAllProperties"),t=SH(n.wb.P),e=SH(n.o),fY((!t.d&&(t.d=new XO(hat,t,1)),t.d),e),i=new up,fY((!e.d&&(e.d=new XO(hat,e,1)),e.d),i),e=SH(n.wb.M),fY((!t.d&&(t.d=new XO(hat,t,1)),t.d),e),(r=fun(a,t,null))&&r.Fi(),TU(n.a,Vrt,aNn,!0,!1,!0),Prn(Yx(c1(aq(n.a),0),18),n.k,null,FNn,0,-1,Vrt,!1,!1,!0,!0,!1,!1,!1),TU(n.f,Yrt,oNn,!0,!1,!0),Prn(Yx(c1(aq(n.f),0),18),n.g,Yx(c1(aq(n.g),0),18),"labels",0,-1,Yrt,!1,!1,!0,!0,!1,!1,!1),z2(Yx(c1(aq(n.f),1),34),n.wb._,BNn,null,0,1,Yrt,!1,!1,!0,!1,!0,!1),TU(n.n,Jrt,"ElkShape",!0,!1,!0),z2(Yx(c1(aq(n.n),0),34),n.wb.t,HNn,sMn,1,1,Jrt,!1,!1,!0,!1,!0,!1),z2(Yx(c1(aq(n.n),1),34),n.wb.t,qNn,sMn,1,1,Jrt,!1,!1,!0,!1,!0,!1),z2(Yx(c1(aq(n.n),2),34),n.wb.t,"x",sMn,1,1,Jrt,!1,!1,!0,!1,!0,!1),z2(Yx(c1(aq(n.n),3),34),n.wb.t,"y",sMn,1,1,Jrt,!1,!1,!0,!1,!0,!1),Crn(a=o6(n.n,null,"setDimensions"),n.wb.t,qNn),Crn(a,n.wb.t,HNn),Crn(a=o6(n.n,null,"setLocation"),n.wb.t,"x"),Crn(a,n.wb.t,"y"),TU(n.g,act,wNn,!1,!1,!0),Prn(Yx(c1(aq(n.g),0),18),n.f,Yx(c1(aq(n.f),0),18),GNn,0,1,act,!1,!1,!0,!1,!1,!1,!1),z2(Yx(c1(aq(n.g),1),34),n.wb._,zNn,"",0,1,act,!1,!1,!0,!1,!0,!1),TU(n.c,Zrt,sNn,!0,!1,!0),Prn(Yx(c1(aq(n.c),0),18),n.d,Yx(c1(aq(n.d),1),18),"outgoingEdges",0,-1,Zrt,!1,!1,!0,!1,!0,!1,!1),Prn(Yx(c1(aq(n.c),1),18),n.d,Yx(c1(aq(n.d),2),18),"incomingEdges",0,-1,Zrt,!1,!1,!0,!1,!0,!1,!1),TU(n.i,uct,dNn,!1,!1,!0),Prn(Yx(c1(aq(n.i),0),18),n.j,Yx(c1(aq(n.j),0),18),"ports",0,-1,uct,!1,!1,!0,!0,!1,!1,!1),Prn(Yx(c1(aq(n.i),1),18),n.i,Yx(c1(aq(n.i),2),18),UNn,0,-1,uct,!1,!1,!0,!0,!1,!1,!1),Prn(Yx(c1(aq(n.i),2),18),n.i,Yx(c1(aq(n.i),1),18),GNn,0,1,uct,!1,!1,!0,!1,!1,!1,!1),Prn(Yx(c1(aq(n.i),3),18),n.d,Yx(c1(aq(n.d),0),18),"containedEdges",0,-1,uct,!1,!1,!0,!0,!1,!1,!1),z2(Yx(c1(aq(n.i),4),34),n.wb.e,XNn,null,0,1,uct,!0,!0,!1,!1,!0,!0),TU(n.j,oct,gNn,!1,!1,!0),Prn(Yx(c1(aq(n.j),0),18),n.i,Yx(c1(aq(n.i),0),18),GNn,0,1,oct,!1,!1,!0,!1,!1,!1,!1),TU(n.d,nct,hNn,!1,!1,!0),Prn(Yx(c1(aq(n.d),0),18),n.i,Yx(c1(aq(n.i),3),18),"containingNode",0,1,nct,!1,!1,!0,!1,!1,!1,!1),Prn(Yx(c1(aq(n.d),1),18),n.c,Yx(c1(aq(n.c),0),18),WNn,0,-1,nct,!1,!1,!0,!1,!0,!1,!1),Prn(Yx(c1(aq(n.d),2),18),n.c,Yx(c1(aq(n.c),1),18),VNn,0,-1,nct,!1,!1,!0,!1,!0,!1,!1),Prn(Yx(c1(aq(n.d),3),18),n.e,Yx(c1(aq(n.e),5),18),QNn,0,-1,nct,!1,!1,!0,!0,!1,!1,!1),z2(Yx(c1(aq(n.d),4),34),n.wb.e,"hyperedge",null,0,1,nct,!0,!0,!1,!1,!0,!0),z2(Yx(c1(aq(n.d),5),34),n.wb.e,XNn,null,0,1,nct,!0,!0,!1,!1,!0,!0),z2(Yx(c1(aq(n.d),6),34),n.wb.e,"selfloop",null,0,1,nct,!0,!0,!1,!1,!0,!0),z2(Yx(c1(aq(n.d),7),34),n.wb.e,"connected",null,0,1,nct,!0,!0,!1,!1,!0,!0),TU(n.b,Qrt,uNn,!1,!1,!0),z2(Yx(c1(aq(n.b),0),34),n.wb.t,"x",sMn,1,1,Qrt,!1,!1,!0,!1,!0,!1),z2(Yx(c1(aq(n.b),1),34),n.wb.t,"y",sMn,1,1,Qrt,!1,!1,!0,!1,!0,!1),Crn(a=o6(n.b,null,"set"),n.wb.t,"x"),Crn(a,n.wb.t,"y"),TU(n.e,tct,fNn,!1,!1,!0),z2(Yx(c1(aq(n.e),0),34),n.wb.t,"startX",null,0,1,tct,!1,!1,!0,!1,!0,!1),z2(Yx(c1(aq(n.e),1),34),n.wb.t,"startY",null,0,1,tct,!1,!1,!0,!1,!0,!1),z2(Yx(c1(aq(n.e),2),34),n.wb.t,"endX",null,0,1,tct,!1,!1,!0,!1,!0,!1),z2(Yx(c1(aq(n.e),3),34),n.wb.t,"endY",null,0,1,tct,!1,!1,!0,!1,!0,!1),Prn(Yx(c1(aq(n.e),4),18),n.b,null,YNn,0,-1,tct,!1,!1,!0,!0,!1,!1,!1),Prn(Yx(c1(aq(n.e),5),18),n.d,Yx(c1(aq(n.d),3),18),GNn,0,1,tct,!1,!1,!0,!1,!1,!1,!1),Prn(Yx(c1(aq(n.e),6),18),n.c,null,JNn,0,1,tct,!1,!1,!0,!1,!0,!1,!1),Prn(Yx(c1(aq(n.e),7),18),n.c,null,ZNn,0,1,tct,!1,!1,!0,!1,!0,!1,!1),Prn(Yx(c1(aq(n.e),8),18),n.e,Yx(c1(aq(n.e),9),18),nxn,0,-1,tct,!1,!1,!0,!1,!0,!1,!1),Prn(Yx(c1(aq(n.e),9),18),n.e,Yx(c1(aq(n.e),8),18),txn,0,-1,tct,!1,!1,!0,!1,!0,!1,!1),z2(Yx(c1(aq(n.e),10),34),n.wb._,BNn,null,0,1,tct,!1,!1,!0,!1,!0,!1),Crn(a=o6(n.e,null,"setStartLocation"),n.wb.t,"x"),Crn(a,n.wb.t,"y"),Crn(a=o6(n.e,null,"setEndLocation"),n.wb.t,"x"),Crn(a,n.wb.t,"y"),TU(n.k,i_n,"ElkPropertyToValueMapEntry",!1,!1,!1),t=SH(n.o),e=new up,fY((!t.d&&(t.d=new XO(hat,t,1)),t.d),e),Pfn(Yx(c1(aq(n.k),0),34),t,"key",i_n,!1,!1,!0,!1),z2(Yx(c1(aq(n.k),1),34),n.s,KNn,null,0,1,i_n,!1,!1,!0,!1,!0,!1),YB(n.o,S7n,"IProperty",!0),YB(n.s,UKn,"PropertyValue",!0),s8(n,xNn))}(n),Srn(n),GG(aat,xNn,n),n)}function Rk(){Rk=O,dat=function(){var n,t;Jvn();try{if(t=Yx(Jcn((mT(),aat),hRn),1941))return t}catch(t){if(!CO(t=j4(t),102))throw hp(t);n=t,AK((GC(),n))}return new qo}()}function Kk(){Kk=O,Out=function(){var n,t;rJ();try{if(t=Yx(Jcn((mT(),aat),BRn),2024))return t}catch(t){if(!CO(t=j4(t),102))throw hp(t);n=t,AK((GC(),n))}return new Ds}()}function _k(){var n;_k=O,Aut=wot?Yx(Hln((mT(),aat),BRn),1945):(zI(Cut,new Vs),zI(aot,new ah),zI(uot,new ph),zI(oot,new Ih),zI(fFn,new $h),zI(Gy(Yot,1),new Lh),zI(D_n,new Nh),zI(__n,new xh),zI(fFn,new _s),zI(fFn,new Fs),zI(fFn,new Bs),zI(H_n,new Hs),zI(fFn,new qs),zI(JKn,new Gs),zI(JKn,new zs),zI(fFn,new Us),zI(q_n,new Xs),zI(fFn,new Ws),zI(fFn,new Qs),zI(fFn,new Ys),zI(fFn,new Js),zI(fFn,new Zs),zI(Gy(Yot,1),new nh),zI(fFn,new th),zI(fFn,new eh),zI(JKn,new ih),zI(JKn,new rh),zI(fFn,new ch),zI(U_n,new uh),zI(fFn,new oh),zI(J_n,new sh),zI(fFn,new hh),zI(fFn,new fh),zI(fFn,new lh),zI(fFn,new bh),zI(JKn,new wh),zI(JKn,new dh),zI(fFn,new gh),zI(fFn,new vh),zI(fFn,new mh),zI(fFn,new yh),zI(fFn,new kh),zI(fFn,new jh),zI(nFn,new Eh),zI(fFn,new Th),zI(fFn,new Mh),zI(fFn,new Sh),zI(nFn,new Ph),zI(J_n,new Ch),zI(fFn,new Oh),zI(U_n,new Ah),n=Yx(CO(aG((mT(),aat),BRn),586)?aG(aat,BRn):new AB,586),wot=!0,function(n){n.N||(n.N=!0,n.b=q3(n,0),S2(n.b,0),S2(n.b,1),S2(n.b,2),n.bb=q3(n,1),S2(n.bb,0),S2(n.bb,1),n.fb=q3(n,2),S2(n.fb,3),S2(n.fb,4),P2(n.fb,5),n.qb=q3(n,3),S2(n.qb,0),P2(n.qb,1),P2(n.qb,2),S2(n.qb,3),S2(n.qb,4),P2(n.qb,5),S2(n.qb,6),n.a=G3(n,4),n.c=G3(n,5),n.d=G3(n,6),n.e=G3(n,7),n.f=G3(n,8),n.g=G3(n,9),n.i=G3(n,10),n.j=G3(n,11),n.k=G3(n,12),n.n=G3(n,13),n.o=G3(n,14),n.p=G3(n,15),n.q=G3(n,16),n.s=G3(n,17),n.r=G3(n,18),n.t=G3(n,19),n.u=G3(n,20),n.v=G3(n,21),n.w=G3(n,22),n.B=G3(n,23),n.A=G3(n,24),n.C=G3(n,25),n.D=G3(n,26),n.F=G3(n,27),n.G=G3(n,28),n.H=G3(n,29),n.J=G3(n,30),n.I=G3(n,31),n.K=G3(n,32),n.M=G3(n,33),n.L=G3(n,34),n.P=G3(n,35),n.Q=G3(n,36),n.R=G3(n,37),n.S=G3(n,38),n.T=G3(n,39),n.U=G3(n,40),n.V=G3(n,41),n.X=G3(n,42),n.W=G3(n,43),n.Y=G3(n,44),n.Z=G3(n,45),n.$=G3(n,46),n._=G3(n,47),n.ab=G3(n,48),n.cb=G3(n,49),n.db=G3(n,50),n.eb=G3(n,51),n.gb=G3(n,52),n.hb=G3(n,53),n.ib=G3(n,54),n.jb=G3(n,55),n.kb=G3(n,56),n.lb=G3(n,57),n.mb=G3(n,58),n.nb=G3(n,59),n.ob=G3(n,60),n.pb=G3(n,61))}(n),function(n){var t;n.O||(n.O=!0,E2(n,"type"),T2(n,"ecore.xml.type"),M2(n,BRn),t=Yx(Hln((mT(),aat),BRn),1945),fY(Iq(n.fb),n.b),TU(n.b,Cut,"AnyType",!1,!1,!0),z2(Yx(c1(aq(n.b),0),34),n.wb.D,ZDn,null,0,-1,Cut,!1,!1,!0,!1,!1,!1),z2(Yx(c1(aq(n.b),1),34),n.wb.D,"any",null,0,-1,Cut,!0,!0,!0,!1,!1,!0),z2(Yx(c1(aq(n.b),2),34),n.wb.D,"anyAttribute",null,0,-1,Cut,!1,!1,!0,!1,!1,!1),TU(n.bb,aot,URn,!1,!1,!0),z2(Yx(c1(aq(n.bb),0),34),n.gb,"data",null,0,1,aot,!1,!1,!0,!1,!0,!1),z2(Yx(c1(aq(n.bb),1),34),n.gb,lxn,null,1,1,aot,!1,!1,!0,!1,!0,!1),TU(n.fb,uot,XRn,!1,!1,!0),z2(Yx(c1(aq(n.fb),0),34),t.gb,"rawValue",null,0,1,uot,!0,!0,!0,!1,!0,!0),z2(Yx(c1(aq(n.fb),1),34),t.a,KNn,null,0,1,uot,!0,!0,!0,!1,!0,!0),Prn(Yx(c1(aq(n.fb),2),18),n.wb.q,null,"instanceType",1,1,uot,!1,!1,!0,!1,!1,!1,!1),TU(n.qb,oot,WRn,!1,!1,!0),z2(Yx(c1(aq(n.qb),0),34),n.wb.D,ZDn,null,0,-1,null,!1,!1,!0,!1,!1,!1),Prn(Yx(c1(aq(n.qb),1),18),n.wb.ab,null,"xMLNSPrefixMap",0,-1,null,!0,!1,!0,!0,!1,!1,!1),Prn(Yx(c1(aq(n.qb),2),18),n.wb.ab,null,"xSISchemaLocation",0,-1,null,!0,!1,!0,!0,!1,!1,!1),z2(Yx(c1(aq(n.qb),3),34),n.gb,"cDATA",null,0,-2,null,!0,!0,!0,!1,!1,!0),z2(Yx(c1(aq(n.qb),4),34),n.gb,"comment",null,0,-2,null,!0,!0,!0,!1,!1,!0),Prn(Yx(c1(aq(n.qb),5),18),n.bb,null,yKn,0,-2,null,!0,!0,!0,!0,!1,!1,!0),z2(Yx(c1(aq(n.qb),6),34),n.gb,zNn,null,0,-2,null,!0,!0,!0,!1,!1,!0),YB(n.a,UKn,"AnySimpleType",!0),YB(n.c,fFn,"AnyURI",!0),YB(n.d,Gy(Yot,1),"Base64Binary",!0),YB(n.e,Vot,"Boolean",!0),YB(n.f,D_n,"BooleanObject",!0),YB(n.g,Yot,"Byte",!0),YB(n.i,__n,"ByteObject",!0),YB(n.j,fFn,"Date",!0),YB(n.k,fFn,"DateTime",!0),YB(n.n,vFn,"Decimal",!0),YB(n.o,Jot,"Double",!0),YB(n.p,H_n,"DoubleObject",!0),YB(n.q,fFn,"Duration",!0),YB(n.s,JKn,"ENTITIES",!0),YB(n.r,JKn,"ENTITIESBase",!0),YB(n.t,fFn,nKn,!0),YB(n.u,Zot,"Float",!0),YB(n.v,q_n,"FloatObject",!0),YB(n.w,fFn,"GDay",!0),YB(n.B,fFn,"GMonth",!0),YB(n.A,fFn,"GMonthDay",!0),YB(n.C,fFn,"GYear",!0),YB(n.D,fFn,"GYearMonth",!0),YB(n.F,Gy(Yot,1),"HexBinary",!0),YB(n.G,fFn,"ID",!0),YB(n.H,fFn,"IDREF",!0),YB(n.J,JKn,"IDREFS",!0),YB(n.I,JKn,"IDREFSBase",!0),YB(n.K,Wot,"Int",!0),YB(n.M,EFn,"Integer",!0),YB(n.L,U_n,"IntObject",!0),YB(n.P,fFn,"Language",!0),YB(n.Q,Qot,"Long",!0),YB(n.R,J_n,"LongObject",!0),YB(n.S,fFn,"Name",!0),YB(n.T,fFn,tKn,!0),YB(n.U,EFn,"NegativeInteger",!0),YB(n.V,fFn,fKn,!0),YB(n.X,JKn,"NMTOKENS",!0),YB(n.W,JKn,"NMTOKENSBase",!0),YB(n.Y,EFn,"NonNegativeInteger",!0),YB(n.Z,EFn,"NonPositiveInteger",!0),YB(n.$,fFn,"NormalizedString",!0),YB(n._,fFn,"NOTATION",!0),YB(n.ab,fFn,"PositiveInteger",!0),YB(n.cb,fFn,"QName",!0),YB(n.db,nst,"Short",!0),YB(n.eb,nFn,"ShortObject",!0),YB(n.gb,fFn,rTn,!0),YB(n.hb,fFn,"Time",!0),YB(n.ib,fFn,"Token",!0),YB(n.jb,nst,"UnsignedByte",!0),YB(n.kb,nFn,"UnsignedByteObject",!0),YB(n.lb,Qot,"UnsignedInt",!0),YB(n.mb,J_n,"UnsignedIntObject",!0),YB(n.nb,EFn,"UnsignedLong",!0),YB(n.ob,Wot,"UnsignedShort",!0),YB(n.pb,U_n,"UnsignedShortObject",!0),s8(n,BRn),function(n){Zln(n.a,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"anySimpleType"])),Zln(n.b,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"anyType",tRn,ZDn])),Zln(Yx(c1(aq(n.b),0),34),nRn,x4(Gy(fFn,1),TEn,2,6,[tRn,NRn,gxn,":mixed"])),Zln(Yx(c1(aq(n.b),1),34),nRn,x4(Gy(fFn,1),TEn,2,6,[tRn,NRn,FRn,HRn,gxn,":1",YRn,"lax"])),Zln(Yx(c1(aq(n.b),2),34),nRn,x4(Gy(fFn,1),TEn,2,6,[tRn,$Rn,FRn,HRn,gxn,":2",YRn,"lax"])),Zln(n.c,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"anyURI",_Rn,xRn])),Zln(n.d,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"base64Binary",_Rn,xRn])),Zln(n.e,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,Xjn,_Rn,xRn])),Zln(n.f,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"boolean:Object",bRn,Xjn])),Zln(n.g,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,BDn])),Zln(n.i,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"byte:Object",bRn,BDn])),Zln(n.j,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"date",_Rn,xRn])),Zln(n.k,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"dateTime",_Rn,xRn])),Zln(n.n,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"decimal",_Rn,xRn])),Zln(n.o,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,qDn,_Rn,xRn])),Zln(n.p,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"double:Object",bRn,qDn])),Zln(n.q,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"duration",_Rn,xRn])),Zln(n.s,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"ENTITIES",bRn,JRn,ZRn,"1"])),Zln(n.r,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,JRn,DRn,nKn])),Zln(n.t,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,nKn,bRn,tKn])),Zln(n.u,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,GDn,_Rn,xRn])),Zln(n.v,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"float:Object",bRn,GDn])),Zln(n.w,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"gDay",_Rn,xRn])),Zln(n.B,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"gMonth",_Rn,xRn])),Zln(n.A,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"gMonthDay",_Rn,xRn])),Zln(n.C,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"gYear",_Rn,xRn])),Zln(n.D,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"gYearMonth",_Rn,xRn])),Zln(n.F,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"hexBinary",_Rn,xRn])),Zln(n.G,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"ID",bRn,tKn])),Zln(n.H,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"IDREF",bRn,tKn])),Zln(n.J,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"IDREFS",bRn,eKn,ZRn,"1"])),Zln(n.I,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,eKn,DRn,"IDREF"])),Zln(n.K,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,zDn])),Zln(n.M,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,iKn])),Zln(n.L,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"int:Object",bRn,zDn])),Zln(n.P,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"language",bRn,rKn,cKn,aKn])),Zln(n.Q,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,UDn])),Zln(n.R,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"long:Object",bRn,UDn])),Zln(n.S,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"Name",bRn,rKn,cKn,uKn])),Zln(n.T,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,tKn,bRn,"Name",cKn,oKn])),Zln(n.U,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"negativeInteger",bRn,sKn,hKn,"-1"])),Zln(n.V,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,fKn,bRn,rKn,cKn,"\\c+"])),Zln(n.X,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"NMTOKENS",bRn,lKn,ZRn,"1"])),Zln(n.W,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,lKn,DRn,fKn])),Zln(n.Y,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,bKn,bRn,iKn,wKn,"0"])),Zln(n.Z,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,sKn,bRn,iKn,hKn,"0"])),Zln(n.$,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,dKn,bRn,Vjn,_Rn,"replace"])),Zln(n._,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"NOTATION",_Rn,xRn])),Zln(n.ab,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"positiveInteger",bRn,bKn,wKn,"1"])),Zln(n.bb,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"processingInstruction_._type",tRn,"empty"])),Zln(Yx(c1(aq(n.bb),0),34),nRn,x4(Gy(fFn,1),TEn,2,6,[tRn,ARn,gxn,"data"])),Zln(Yx(c1(aq(n.bb),1),34),nRn,x4(Gy(fFn,1),TEn,2,6,[tRn,ARn,gxn,lxn])),Zln(n.cb,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"QName",_Rn,xRn])),Zln(n.db,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,XDn])),Zln(n.eb,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"short:Object",bRn,XDn])),Zln(n.fb,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"simpleAnyType",tRn,ORn])),Zln(Yx(c1(aq(n.fb),0),34),nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,":3",tRn,ORn])),Zln(Yx(c1(aq(n.fb),1),34),nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,":4",tRn,ORn])),Zln(Yx(c1(aq(n.fb),2),18),nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,":5",tRn,ORn])),Zln(n.gb,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,Vjn,_Rn,"preserve"])),Zln(n.hb,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"time",_Rn,xRn])),Zln(n.ib,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,rKn,bRn,dKn,_Rn,xRn])),Zln(n.jb,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,gKn,hKn,"255",wKn,"0"])),Zln(n.kb,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"unsignedByte:Object",bRn,gKn])),Zln(n.lb,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,pKn,hKn,"4294967295",wKn,"0"])),Zln(n.mb,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"unsignedInt:Object",bRn,pKn])),Zln(n.nb,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"unsignedLong",bRn,bKn,hKn,vKn,wKn,"0"])),Zln(n.ob,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,mKn,hKn,"65535",wKn,"0"])),Zln(n.pb,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"unsignedShort:Object",bRn,mKn])),Zln(n.qb,nRn,x4(Gy(fFn,1),TEn,2,6,[gxn,"",tRn,ZDn])),Zln(Yx(c1(aq(n.qb),0),34),nRn,x4(Gy(fFn,1),TEn,2,6,[tRn,NRn,gxn,":mixed"])),Zln(Yx(c1(aq(n.qb),1),18),nRn,x4(Gy(fFn,1),TEn,2,6,[tRn,ARn,gxn,"xmlns:prefix"])),Zln(Yx(c1(aq(n.qb),2),18),nRn,x4(Gy(fFn,1),TEn,2,6,[tRn,ARn,gxn,"xsi:schemaLocation"])),Zln(Yx(c1(aq(n.qb),3),34),nRn,x4(Gy(fFn,1),TEn,2,6,[tRn,LRn,gxn,"cDATA",RRn,KRn])),Zln(Yx(c1(aq(n.qb),4),34),nRn,x4(Gy(fFn,1),TEn,2,6,[tRn,LRn,gxn,"comment",RRn,KRn])),Zln(Yx(c1(aq(n.qb),5),18),nRn,x4(Gy(fFn,1),TEn,2,6,[tRn,LRn,gxn,yKn,RRn,KRn])),Zln(Yx(c1(aq(n.qb),6),34),nRn,x4(Gy(fFn,1),TEn,2,6,[tRn,LRn,gxn,zNn,RRn,KRn]))}(n))}(n),xB((yT(),wat),n,new Ks),Srn(n),GG(aat,BRn,n),n)}function Fk(){Fk=O,Pct=s0()}function Bk(){throw hp(new xp)}function Hk(){throw hp(new xp)}function qk(){throw hp(new xp)}function Gk(){throw hp(new xp)}function zk(){throw hp(new xp)}function Uk(){throw hp(new xp)}function Xk(n){this.a=new kE(n)}function Wk(n){Ekn(),function(n,t){var e,i,r,c,a,u,o,s;if(e=0,a=0,c=t.length,u=null,s=new $y,a1?zz(GK(t.a[1],32),Gz(t.a[0],uMn)):Gz(t.a[0],uMn),VU(e7(t.e,e))))}(n,new IC(o));for(n.d=s.a.length,r=0;r0}(Yx(n,33))?KA(i,(Qtn(),E7n))||KA(i,T7n):KA(i,(Qtn(),E7n));if(CO(n,352))return KA(i,(Qtn(),k7n));if(CO(n,186))return KA(i,(Qtn(),M7n));if(CO(n,354))return KA(i,(Qtn(),j7n))}return!0}(n,t)}function uj(n,t,e){n.splice(t,e)}function oj(n){n.c?pdn(n):vdn(n)}function sj(n){this.a=0,this.b=n}function hj(){this.a=new Ubn(p6n)}function fj(){this.b=new Ubn(i5n)}function lj(){this.b=new Ubn(o9n)}function bj(){this.b=new Ubn(o9n)}function wj(){throw hp(new xp)}function dj(){throw hp(new xp)}function gj(){throw hp(new xp)}function pj(){throw hp(new xp)}function vj(){throw hp(new xp)}function mj(){throw hp(new xp)}function yj(){throw hp(new xp)}function kj(){throw hp(new xp)}function jj(){throw hp(new xp)}function Ej(){throw hp(new xp)}function Tj(n){this.a=new Mj(n)}function Mj(n){!function(n,t,e){var i;n.b=t,n.a=e,i=512==(512&n.a)?new Zv:new Dh,n.c=function(n,t,e){var i,r,c;if(n.e=e,n.d=0,n.b=0,n.f=1,n.i=t,16==(16&n.e)&&(n.i=function(n){var t,e,i,r,c;for(i=n.length,t=new Oy,c=0;ct&&t0)){if(c=-1,32==XB(f.c,0)){if(l=h[0],JJ(t,h),h[0]>l)continue}else if(Rq(t,f.c,h[0])){h[0]+=f.c.length;continue}return 0}if(c<0&&f.a&&(c=s,a=h[0],r=0),c>=0){if(o=f.b,s==c&&0==(o-=r++))return 0;if(!Lkn(t,h,f,o,u)){s=c-1,h[0]=a;continue}}else if(c=-1,!Lkn(t,h,f,0,u))return 0}return function(n,t){var i,r,c,a,u,o;if(0==n.e&&n.p>0&&(n.p=-(n.p-1)),n.p>nTn&&JX(t,n.p-TTn),u=t.q.getDate(),mG(t,1),n.k>=0&&function(n,t){var e;e=n.q.getHours(),n.q.setMonth(t),Ivn(n,e)}(t,n.k),n.c>=0?mG(t,n.c):n.k>=0?(r=35-new y5(t.q.getFullYear()-TTn,t.q.getMonth(),35).q.getDate(),mG(t,e.Math.min(r,u))):mG(t,u),n.f<0&&(n.f=t.q.getHours()),n.b>0&&n.f<12&&(n.f+=12),function(n,t){n.q.setHours(t),Ivn(n,t)}(t,24==n.f&&n.g?0:n.f),n.j>=0&&function(n,t){var e;e=n.q.getHours()+(t/60|0),n.q.setMinutes(t),Ivn(n,e)}(t,n.j),n.n>=0&&function(n,t){var e;e=n.q.getHours()+(t/3600|0),n.q.setSeconds(t),Ivn(n,e)}(t,n.n),n.i>=0&&TI(t,t7(e7(Bcn(D3(t.q.getTime()),hTn),hTn),n.i)),n.a&&(JX(c=new uE,c.q.getFullYear()-TTn-80),LT(D3(t.q.getTime()),D3(c.q.getTime()))&&JX(t,c.q.getFullYear()-TTn+100)),n.d>=0)if(-1==n.c)(i=(7+n.d-t.q.getDay())%7)>3&&(i-=7),o=t.q.getMonth(),mG(t,t.q.getDate()+i),t.q.getMonth()!=o&&mG(t,t.q.getDate()+(i>0?-7:7));else if(t.q.getDay()!=n.d)return!1;return n.o>nTn&&(a=t.q.getTimezoneOffset(),TI(t,t7(D3(t.q.getTime()),60*(n.o-a)*hTn))),!0}(u,i)?h[0]:0}(n,t,c=new y5((r=new uE).q.getFullYear()-TTn,r.q.getMonth(),r.q.getDate())))||i0}function LT(n,t){return k8(n,t)<0}function NT(n,t){return n.a.get(t)}function xT(n,t){return P_(n.e,t)}function DT(n){return vB(n),!1}function RT(n){Nz.call(this,n,21)}function KT(n,t){vG.call(this,n,t)}function _T(n,t){Uj.call(this,n,t)}function FT(n,t){Uj.call(this,n,t)}function BT(n){QF(),ix.call(this,n)}function HT(n,t){nK(n,n.length,t)}function qT(n,t){cF(n,n.length,t)}function GT(n,t,e){n.splice(t,0,e)}function zT(n,t){this.d=n,this.e=t}function UT(n,t){this.b=n,this.a=t}function XT(n,t){this.b=n,this.a=t}function WT(n,t){this.b=n,this.a=t}function VT(n,t){this.a=n,this.b=t}function QT(n,t){this.a=n,this.b=t}function YT(n,t){this.a=n,this.b=t}function JT(n,t){this.a=n,this.b=t}function ZT(n,t){this.a=n,this.b=t}function nM(n,t){this.b=n,this.a=t}function tM(n,t){this.b=n,this.a=t}function eM(n,t){Uj.call(this,n,t)}function iM(n,t){Uj.call(this,n,t)}function rM(n,t){Uj.call(this,n,t)}function cM(n,t){Uj.call(this,n,t)}function aM(n,t){Uj.call(this,n,t)}function uM(n,t){Uj.call(this,n,t)}function oM(n,t){Uj.call(this,n,t)}function sM(n,t){Uj.call(this,n,t)}function hM(n,t){Uj.call(this,n,t)}function fM(n,t){Uj.call(this,n,t)}function lM(n,t){Uj.call(this,n,t)}function bM(n,t){Uj.call(this,n,t)}function wM(n,t){Uj.call(this,n,t)}function dM(n,t){Uj.call(this,n,t)}function gM(n,t){Uj.call(this,n,t)}function pM(n,t){Uj.call(this,n,t)}function vM(n,t){Uj.call(this,n,t)}function mM(n,t){Uj.call(this,n,t)}function yM(n,t){this.a=n,this.b=t}function kM(n,t){this.a=n,this.b=t}function jM(n,t){this.a=n,this.b=t}function EM(n,t){this.a=n,this.b=t}function TM(n,t){this.a=n,this.b=t}function MM(n,t){this.a=n,this.b=t}function SM(n,t){this.a=n,this.b=t}function PM(n,t){this.a=n,this.b=t}function IM(n,t){this.a=n,this.b=t}function CM(n,t){this.b=n,this.a=t}function OM(n,t){this.b=n,this.a=t}function AM(n,t){this.b=n,this.a=t}function $M(n,t){this.b=n,this.a=t}function LM(n,t){this.c=n,this.d=t}function NM(n,t){this.e=n,this.d=t}function xM(n,t){this.a=n,this.b=t}function DM(n,t){this.b=t,this.c=n}function RM(n,t){Uj.call(this,n,t)}function KM(n,t){Uj.call(this,n,t)}function _M(n,t){Uj.call(this,n,t)}function FM(n,t){Uj.call(this,n,t)}function BM(n,t){Uj.call(this,n,t)}function HM(n,t){Uj.call(this,n,t)}function qM(n,t){Uj.call(this,n,t)}function GM(n,t){Uj.call(this,n,t)}function zM(n,t){Uj.call(this,n,t)}function UM(n,t){Uj.call(this,n,t)}function XM(n,t){Uj.call(this,n,t)}function WM(n,t){Uj.call(this,n,t)}function VM(n,t){Uj.call(this,n,t)}function QM(n,t){Uj.call(this,n,t)}function YM(n,t){Uj.call(this,n,t)}function JM(n,t){Uj.call(this,n,t)}function ZM(n,t){Uj.call(this,n,t)}function nS(n,t){Uj.call(this,n,t)}function tS(n,t){Uj.call(this,n,t)}function eS(n,t){Uj.call(this,n,t)}function iS(n,t){Uj.call(this,n,t)}function rS(n,t){Uj.call(this,n,t)}function cS(n,t){Uj.call(this,n,t)}function aS(n,t){Uj.call(this,n,t)}function uS(n,t){Uj.call(this,n,t)}function oS(n,t){Uj.call(this,n,t)}function sS(n,t){Uj.call(this,n,t)}function hS(n,t){Uj.call(this,n,t)}function fS(n,t){Uj.call(this,n,t)}function lS(n,t){Uj.call(this,n,t)}function bS(n,t){Uj.call(this,n,t)}function wS(n,t){Uj.call(this,n,t)}function dS(n,t){Uj.call(this,n,t)}function gS(n,t){Uj.call(this,n,t)}function pS(n,t){this.b=n,this.a=t}function vS(n,t){this.a=n,this.b=t}function mS(n,t){this.a=n,this.b=t}function yS(n,t){this.a=n,this.b=t}function kS(n,t){this.a=n,this.b=t}function jS(n,t){Uj.call(this,n,t)}function ES(n,t){Uj.call(this,n,t)}function TS(n,t){this.b=n,this.d=t}function MS(n,t){Uj.call(this,n,t)}function SS(n,t){Uj.call(this,n,t)}function PS(n,t){this.a=n,this.b=t}function IS(n,t){this.a=n,this.b=t}function CS(n,t){Uj.call(this,n,t)}function OS(n,t){Uj.call(this,n,t)}function AS(n,t){Uj.call(this,n,t)}function $S(n,t){Uj.call(this,n,t)}function LS(n,t){Uj.call(this,n,t)}function NS(n,t){Uj.call(this,n,t)}function xS(n,t){Uj.call(this,n,t)}function DS(n,t){Uj.call(this,n,t)}function RS(n,t){Uj.call(this,n,t)}function KS(n,t){Uj.call(this,n,t)}function _S(n,t){Uj.call(this,n,t)}function FS(n,t){Uj.call(this,n,t)}function BS(n,t){Uj.call(this,n,t)}function HS(n,t){Uj.call(this,n,t)}function qS(n,t){Uj.call(this,n,t)}function GS(n,t){Uj.call(this,n,t)}function zS(n,t){return KA(n.g,t)}function US(n,t){Uj.call(this,n,t)}function XS(n,t){Uj.call(this,n,t)}function WS(n,t){this.a=n,this.b=t}function VS(n,t){this.a=n,this.b=t}function QS(n,t){this.a=n,this.b=t}function YS(n,t){Uj.call(this,n,t)}function JS(n,t){Uj.call(this,n,t)}function ZS(n,t){Uj.call(this,n,t)}function nP(n,t){Uj.call(this,n,t)}function tP(n,t){Uj.call(this,n,t)}function eP(n,t){Uj.call(this,n,t)}function iP(n,t){Uj.call(this,n,t)}function rP(n,t){Uj.call(this,n,t)}function cP(n,t){Uj.call(this,n,t)}function aP(n,t){Uj.call(this,n,t)}function uP(n,t){Uj.call(this,n,t)}function oP(n,t){Uj.call(this,n,t)}function sP(n,t){Uj.call(this,n,t)}function hP(n,t){Uj.call(this,n,t)}function fP(n,t){Uj.call(this,n,t)}function lP(n,t){Uj.call(this,n,t)}function bP(n,t){this.a=n,this.b=t}function wP(n,t){this.a=n,this.b=t}function dP(n,t){this.a=n,this.b=t}function gP(n,t){this.a=n,this.b=t}function pP(n,t){this.a=n,this.b=t}function vP(n,t){this.a=n,this.b=t}function mP(n,t){this.a=n,this.b=t}function yP(n,t){Uj.call(this,n,t)}function kP(n,t){this.a=n,this.b=t}function jP(n,t){this.a=n,this.b=t}function EP(n,t){this.a=n,this.b=t}function TP(n,t){this.a=n,this.b=t}function MP(n,t){this.a=n,this.b=t}function SP(n,t){this.a=n,this.b=t}function PP(n,t){this.b=n,this.a=t}function IP(n,t){this.b=n,this.a=t}function CP(n,t){this.b=n,this.a=t}function OP(n,t){this.b=n,this.a=t}function AP(n,t){this.a=n,this.b=t}function $P(n,t){this.a=n,this.b=t}function LP(n,t){!function(n,t){if(CO(t,239))return function(n,t){var e;if(null==(e=g1(n.i,t)))throw hp(new hy("Node did not exist in input."));return f3(t,e),null}(n,Yx(t,33));if(CO(t,186))return function(n,t){var e;if(null==(e=BF(n.k,t)))throw hp(new hy("Port did not exist in input."));return f3(t,e),null}(n,Yx(t,118));if(CO(t,354))return function(n,t){return f3(t,BF(n.f,t)),null}(n,Yx(t,137));if(CO(t,352))return function(n,t){var e,i,r,c,a,u;if(!(a=Yx(BF(n.c,t),183)))throw hp(new hy("Edge did not exist in input."));return i=itn(a),!Sj((!t.a&&(t.a=new m_(tct,t,6,6)),t.a))&&(e=new Rx(n,i,u=new Sl),function(n,t){!function(n,t){var e;for(e=0;n.e!=n.i.gc();)sR(t,hen(n),d9(e)),e!=Yjn&&++e}(new UO(n),t)}((!t.a&&(t.a=new m_(tct,t,6,6)),t.a),e),OZ(a,QNn,u)),zQ(t,(Cjn(),Gnt))&&!(!(r=Yx(jln(t,Gnt),74))||wB(r))&&(XW(r,new mg(c=new Sl)),OZ(a,"junctionPoints",c)),ND(a,"container",EG(t).k),null}(n,Yx(t,79));if(t)return null;throw hp(new Qm(axn+Gun(new ay(x4(Gy(UKn,1),iEn,1,5,[t])))))}(n.a,Yx(t,56))}function NP(n,t){!function(n,t){dD(),eD(n,new mP(t,d9(t.e.c.length+t.g.c.length)))}(n.a,Yx(t,11))}function xP(){return Fy(),new xFn}function DP(){lz(),this.b=new Qp}function RP(){ywn(),this.a=new Qp}function KP(){uz(),wK.call(this)}function _P(n,t){Uj.call(this,n,t)}function FP(n,t){this.a=n,this.b=t}function BP(n,t){this.a=n,this.b=t}function HP(n,t){this.a=n,this.b=t}function qP(n,t){this.a=n,this.b=t}function GP(n,t){this.a=n,this.b=t}function zP(n,t){this.a=n,this.b=t}function UP(n,t){this.d=n,this.b=t}function XP(n,t){this.d=n,this.e=t}function WP(n,t){this.f=n,this.c=t}function VP(n,t){this.b=n,this.c=t}function QP(n,t){this.i=n,this.g=t}function YP(n,t){this.e=n,this.a=t}function JP(n,t){this.a=n,this.b=t}function ZP(n,t){n.i=null,J0(n,t)}function nI(n,t){return mnn(n.a,t)}function tI(n){return knn(n.c,n.b)}function eI(n){return n?n.dd():null}function iI(n){return null==n?null:n}function rI(n){return typeof n===Xjn}function cI(n){return typeof n===Wjn}function aI(n){return typeof n===Vjn}function uI(n,t){return n.Hd().Xb(t)}function oI(n,t){return function(n,t){for(MF(t);n.Ob();)if(!f4(Yx(n.Pb(),10)))return!1;return!0}(n.Kc(),t)}function sI(n,t){return 0==k8(n,t)}function hI(n,t){return 0!=k8(n,t)}function fI(n){return""+(vB(n),n)}function lI(n,t){return n.substr(t)}function bI(n){return A7(n),n.d.gc()}function wI(n){return function(n,t){var e,i,r;for(e=new pb(n.a.a);e.at?1:0}function iO(n,t){return k8(n,t)>0?n:t}function rO(n,t,e){return{l:n,m:t,h:e}}function cO(n,t){null!=n.a&&NP(t,n.a)}function aO(n){n.a=new $,n.c=new $}function uO(n){this.b=n,this.a=new ip}function oO(n){this.b=new et,this.a=n}function sO(n){oN.call(this),this.a=n}function hO(){_T.call(this,"Range",2)}function fO(){Mcn(),this.a=new Ubn(azn)}function lO(n,t,e){return Fnn(t,e,n.c)}function bO(n){return new QS(n.c,n.d)}function wO(n){return new QS(n.c,n.d)}function dO(n){return new QS(n.a,n.b)}function gO(n,t){return function(n,t,e){var i,r,c,a,u,o,s,h,f;for(!e&&(e=function(n){var t;return(t=new p).a=n,t.b=function(n){var t;return 0==n?"Etc/GMT":(n<0?(n=-n,t="Etc/GMT-"):t="Etc/GMT+",t+XJ(n))}(n),t.c=VQ(fFn,TEn,2,2,6,1),t.c[0]=A2(n),t.c[1]=A2(n),t}(t.q.getTimezoneOffset())),r=6e4*(t.q.getTimezoneOffset()-e.a),o=u=new bL(t7(D3(t.q.getTime()),r)),u.q.getTimezoneOffset()!=t.q.getTimezoneOffset()&&(r>0?r-=864e5:r+=864e5,o=new bL(t7(D3(t.q.getTime()),r))),h=new $y,s=n.a.length,c=0;c=97&&i<=122||i>=65&&i<=90){for(a=c+1;a=s)throw hp(new Qm("Missing trailing '"));a+11)throw hp(new Qm(GRn));for(h=dwn(n.e.Tg(),t),i=Yx(n.g,119),a=0;a0),c=Yx(s.a.Xb(s.c=--s.b),17);c!=i&&s.b>0;)n.a[c.p]=!0,n.a[i.p]=!0,S$(s.b>0),c=Yx(s.a.Xb(s.c=--s.b),17);s.b>0&&hB(s)}}(n,t,e),e}function $O(n,t,e){n.a=1502^t,n.b=e^kMn}function LO(n,t,e){return n.a[t.g][e.g]}function NO(n,t){return n.a[t.c.p][t.p]}function xO(n,t){return n.e[t.c.p][t.p]}function DO(n,t){return n.c[t.c.p][t.p]}function RO(n,t){return n.j[t.p]=function(n){var t,e,i,r;for(t=0,e=0,r=new pb(n.j);r.a1||e>1)return 2;return t+e==1?2:0}(t)}function KO(n,t){return n.a*=t,n.b*=t,n}function _O(n,t,e){return DF(n.g,t,e),e}function FO(n){n.a=Yx(H3(n.b.a,4),126)}function BO(n){n.a=Yx(H3(n.b.a,4),126)}function HO(n){xq(n,vxn),Sbn(n,function(n){var t,e,i,r,c;switch(xq(n,vxn),(!n.b&&(n.b=new AN(Zrt,n,4,7)),n.b).i+(!n.c&&(n.c=new AN(Zrt,n,5,8)),n.c).i){case 0:throw hp(new Qm("The edge must have at least one source or target."));case 1:return 0==(!n.b&&(n.b=new AN(Zrt,n,4,7)),n.b).i?IG(iun(Yx(c1((!n.c&&(n.c=new AN(Zrt,n,5,8)),n.c),0),82))):IG(iun(Yx(c1((!n.b&&(n.b=new AN(Zrt,n,4,7)),n.b),0),82)))}if(1==(!n.b&&(n.b=new AN(Zrt,n,4,7)),n.b).i&&1==(!n.c&&(n.c=new AN(Zrt,n,5,8)),n.c).i){if(r=iun(Yx(c1((!n.b&&(n.b=new AN(Zrt,n,4,7)),n.b),0),82)),c=iun(Yx(c1((!n.c&&(n.c=new AN(Zrt,n,5,8)),n.c),0),82)),IG(r)==IG(c))return IG(r);if(r==IG(c))return r;if(c==IG(r))return c}for(t=iun(Yx(kV(i=W_(n0(x4(Gy(QKn,1),iEn,20,0,[(!n.b&&(n.b=new AN(Zrt,n,4,7)),n.b),(!n.c&&(n.c=new AN(Zrt,n,5,8)),n.c)])))),82));Vfn(i);)if((e=iun(Yx(kV(i),82)))!=t&&!XZ(e,t))if(IG(e)==IG(t))t=IG(e);else if(!(t=Uln(t,e)))return null;return t}(n))}function qO(){qO=O,FFn=new Am(null)}function GO(){(GO=O)(),UFn=new z}function zO(){this.Bb|=256,this.Bb|=512}function UO(n){this.i=n,this.f=this.i.j}function XO(n,t,e){TD.call(this,n,t,e)}function WO(n,t,e){XO.call(this,n,t,e)}function VO(n,t,e){XO.call(this,n,t,e)}function QO(n,t,e){WO.call(this,n,t,e)}function YO(n,t,e){TD.call(this,n,t,e)}function JO(n,t,e){TD.call(this,n,t,e)}function ZO(n,t,e){CD.call(this,n,t,e)}function nA(n,t,e){CD.call(this,n,t,e)}function tA(n,t,e){ZO.call(this,n,t,e)}function eA(n,t,e){YO.call(this,n,t,e)}function iA(n,t){this.a=n,eE.call(this,t)}function rA(n,t){this.a=n,dy.call(this,t)}function cA(n,t){this.a=n,dy.call(this,t)}function aA(n,t){this.a=n,dy.call(this,t)}function uA(n){this.a=n,ol.call(this,n.d)}function oA(n){this.c=n,this.a=this.c.a}function sA(n,t){this.a=t,dy.call(this,n)}function hA(n,t){this.a=t,hW.call(this,n)}function fA(n,t){this.a=n,hW.call(this,t)}function lA(n,t){return function(n,t,e){try{!function(n,t,e){if(MF(t),e.Ob())for(kI(t,$F(e.Pb()));e.Ob();)kI(t,n.a),kI(t,$F(e.Pb()))}(n,t,e)}catch(n){throw CO(n=j4(n),597)?hp(new eV(n)):hp(n)}return t}(n,new Ay,t).a}function bA(n,t){return MF(t),new wA(n,t)}function wA(n,t){this.a=t,aE.call(this,n)}function dA(n){this.b=n,this.a=this.b.a.e}function gA(n){n.b.Qb(),--n.d.f.d,oK(n.d)}function pA(n){Zf.call(this,Yx(MF(n),35))}function vA(n){Zf.call(this,Yx(MF(n),35))}function mA(){Uj.call(this,"INSTANCE",0)}function yA(n){if(!n)throw hp(new $p)}function kA(n){if(!n)throw hp(new Lp)}function jA(n){if(!n)throw hp(new Kp)}function EA(){EA=O,ET(),yut=new Kf}function TA(){TA=O,$_n=!1,L_n=!0}function MA(n){nb.call(this,(vB(n),n))}function SA(n){nb.call(this,(vB(n),n))}function PA(n){fb.call(this,n),this.a=n}function IA(n){lb.call(this,n),this.a=n}function CA(n){Ny.call(this,n),this.a=n}function OA(){jO(this),qH(this),this._d()}function AA(n,t){this.a=t,aE.call(this,n)}function $A(n,t){return new jsn(n.a,n.b,t)}function LA(n,t){return n.lastIndexOf(t)}function NA(n,t,e){return n.indexOf(t,e)}function xA(n){return null==n?aEn:I7(n)}function DA(n){return null!=n.a?n.a:null}function RA(n,t){return null!=fG(n.a,t)}function KA(n,t){return!!t&&n.b[t.g]==t}function _A(n){return n.$H||(n.$H=++mBn)}function FA(n,t){return eD(t.a,n.a),n.a}function BA(n,t){return eD(t.b,n.a),n.a}function HA(n,t){return eD(t.a,n.a),n.a}function qA(n){return S$(null!=n.a),n.a}function GA(n){Mb.call(this,new tY(n))}function zA(n,t){Etn.call(this,n,t,null)}function UA(n){this.a=n,hb.call(this,n)}function XA(){XA=O,XHn=new _L(OSn,0)}function WA(n,t){return++n.b,eD(n.a,t)}function VA(n,t){return++n.b,uJ(n.a,t)}function QA(n,t){return Yx(_V(n.b,t),15)}function YA(n){return ZC(n.a)||ZC(n.b)}function JA(n,t,e){return $X(n,t,e,n.c)}function ZA(n,t,e){Yx(jJ(n,t),21).Fc(e)}function n$(n,t){kT(),this.a=n,this.b=t}function t$(n,t){jT(),this.b=n,this.c=t}function e$(n,t){gK(),this.f=t,this.d=n}function i$(n,t){qV(t,n),this.d=n,this.c=t}function r$(n){var t;t=n.a,n.a=n.b,n.b=t}function c$(n,t){return new NN(n,n.gc(),t)}function a$(n){this.d=n,UO.call(this,n)}function u$(n){this.c=n,UO.call(this,n)}function o$(n){this.c=n,a$.call(this,n)}function s$(){JE(),this.b=new qw(this)}function h$(n){return g0(n,UEn),new pQ(n)}function f$(n){return $q(),parseInt(n)||-1}function l$(n,t,e){return n.substr(t,e-t)}function b$(n,t,e){return NA(n,gun(t),e)}function w$(n){return rF(n.c,n.c.length)}function d$(n){return null!=n.f?n.f:""+n.g}function g$(n){return S$(0!=n.b),n.a.a.c}function p$(n){return S$(0!=n.b),n.c.b.c}function v$(n){CO(n,150)&&Yx(n,150).Gh()}function m$(n){return n.b=Yx(FH(n.a),42)}function y$(n){RE(),this.b=n,this.a=!0}function k$(n){KE(),this.b=n,this.a=!0}function j$(n){n.d=new P$(n),n.e=new rp}function E$(n){if(!n)throw hp(new Dp)}function T$(n){if(!n)throw hp(new $p)}function M$(n){if(!n)throw hp(new Lp)}function S$(n){if(!n)throw hp(new Kp)}function P$(n){oD.call(this,n,null,null)}function I$(){Uj.call(this,"POLYOMINO",0)}function C$(n,t,e,i){LK.call(this,n,t,e,i)}function O$(n,t){return!!n.q&&P_(n.q,t)}function A$(n,t,e){n.Zc(t).Rb(e)}function $$(n,t,e){return n.a+=t,n.b+=e,n}function L$(n,t,e){return n.a*=t,n.b*=e,n}function N$(n,t,e){return n.a-=t,n.b-=e,n}function x$(n,t){return n.a=t.a,n.b=t.b,n}function D$(n){return n.a=-n.a,n.b=-n.b,n}function R$(n){this.c=n,this.a=1,this.b=1}function K$(n){this.c=n,L1(n,0),N1(n,0)}function _$(n){ME.call(this),r0(this,n)}function F$(n){ljn(),sp(this),this.mf(n)}function B$(n,t){kT(),n$.call(this,n,t)}function H$(n,t){jT(),t$.call(this,n,t)}function q$(n,t){jT(),t$.call(this,n,t)}function G$(n,t){jT(),H$.call(this,n,t)}function z$(n,t,e){yY.call(this,n,t,e,2)}function U$(n,t){WC(),KR.call(this,n,t)}function X$(n,t){WC(),U$.call(this,n,t)}function W$(n,t){WC(),U$.call(this,n,t)}function V$(n,t){WC(),W$.call(this,n,t)}function Q$(n,t){WC(),KR.call(this,n,t)}function Y$(n,t){WC(),Q$.call(this,n,t)}function J$(n,t){WC(),KR.call(this,n,t)}function Z$(n,t,e){return Imn(SJ(n,t),e)}function nL(n,t){return P8(n.e,Yx(t,49))}function tL(n,t){t.$modCount=n.$modCount}function eL(){eL=O,s6n=new Og("root")}function iL(){iL=O,$ct=new Rv,new Kv}function rL(){this.a=new Zq,this.b=new Zq}function cL(){T0.call(this),this.Bb|=eMn}function aL(){Uj.call(this,"GROW_TREE",0)}function uL(n){return null==n?null:function(n){var t,e,i,r,c,a,u,o,s,h,f,l,b,w,d;if(Jpn(),null==n)return null;if(0==(f=8*n.length))return"";for(l=f/24|0,c=null,c=VQ(Xot,sTn,25,4*(0!=(u=f%24)?l+1:l),15,1),s=0,h=0,t=0,e=0,i=0,a=0,r=0,o=0;o>24,s=(3&t)<<24>>24,b=0==(-128&t)?t>>2<<24>>24:(t>>2^192)<<24>>24,w=0==(-128&e)?e>>4<<24>>24:(e>>4^240)<<24>>24,d=0==(-128&(i=n[r++]))?i>>6<<24>>24:(i>>6^252)<<24>>24,c[a++]=hot[b],c[a++]=hot[w|s<<4],c[a++]=hot[h<<2|d],c[a++]=hot[63&i];return 8==u?(s=(3&(t=n[r]))<<24>>24,b=0==(-128&t)?t>>2<<24>>24:(t>>2^192)<<24>>24,c[a++]=hot[b],c[a++]=hot[s<<4],c[a++]=61,c[a++]=61):16==u&&(t=n[r],h=(15&(e=n[r+1]))<<24>>24,s=(3&t)<<24>>24,b=0==(-128&t)?t>>2<<24>>24:(t>>2^192)<<24>>24,w=0==(-128&e)?e>>4<<24>>24:(e>>4^240)<<24>>24,c[a++]=hot[b],c[a++]=hot[w|s<<4],c[a++]=hot[h<<2],c[a++]=61),Vnn(c,0,c.length)}(n)}function oL(n){return null==n?null:function(n){var t,e,i,r;if(kdn(),null==n)return null;for(i=n.length,t=VQ(Xot,sTn,25,2*i,15,1),e=0;e>4],t[2*e+1]=lot[15&r];return Vnn(t,0,t.length)}(n)}function sL(n){null==n.o&&function(n){if(n.pe()){var t=n.c;return t.qe()?n.o="["+t.n:t.pe()?n.o="["+t.ne():n.o="[L"+t.ne()+";",n.b=t.me()+"[]",void(n.k=t.oe()+"[]")}var e=n.j,i=n.d;i=i.split("/"),n.o=Wnn(".",[e,Wnn("$",i)]),n.b=Wnn(".",[e,Wnn(".",i)]),n.k=i[i.length-1]}(n)}function hL(n){return QD(null==n||rI(n)),n}function fL(n){return QD(null==n||cI(n)),n}function lL(n){return QD(null==n||aI(n)),n}function bL(n){this.q=new e.Date(VU(n))}function wL(n,t){this.c=n,Xj.call(this,n,t)}function dL(n,t){this.a=n,wL.call(this,n,t)}function gL(n,t){this.d=n,Wl(this),this.b=t}function pL(n,t){ZQ.call(this,n),this.a=t}function vL(n,t){ZQ.call(this,n),this.a=t}function mL(n){hnn.call(this,0,0),this.f=n}function yL(n,t,e){dQ.call(this,n,t,e,null)}function kL(n,t,e){dQ.call(this,n,t,e,null)}function jL(n,t){return Yx(UJ(n.b,t),149)}function EL(n,t){return Yx(UJ(n.c,t),229)}function TL(n){return Yx(TR(n.a,n.b),287)}function ML(n){return new QS(n.c,n.d+n.a)}function SL(n){return hz(),wC(Yx(n,197))}function PL(){PL=O,UHn=J9((Ann(),nrt))}function IL(n,t){t.a?function(n,t){var e,i,r;if(!uF(n.a,t.b))throw hp(new Ym("Invalid hitboxes for scanline overlap calculation."));for(r=!1,i=new sb(new gN(new UA(new ob(n.a.a).a).b));OT(i.a.a);)if(e=Yx(m$(i.a).cd(),65),u5(t.b,e))vk(n.b.a,t.b,e),r=!0;else if(r)break}(n,t):RA(n.a,t.b)}function CL(n,t){hBn||eD(n.a,t)}function OL(n,t){return xq(t,jSn),n.f=t,n}function AL(n,t,e){return opn(n,t,3,e)}function $L(n,t,e){return opn(n,t,6,e)}function LL(n,t,e){return opn(n,t,9,e)}function NL(n,t,e){++n.j,n.Ki(),XQ(n,t,e)}function xL(n,t,e){++n.j,n.Hi(t,n.oi(t,e))}function DL(n,t,e){n.Zc(t).Rb(e)}function RL(n,t,e){return rmn(n.c,n.b,t,e)}function KL(n,t){return(t&Yjn)%n.d.length}function _L(n,t){Og.call(this,n),this.a=t}function FL(n,t){Gg.call(this,n),this.a=t}function BL(n,t){Gg.call(this,n),this.a=t}function HL(n,t){this.c=n,FZ.call(this,t)}function qL(n,t){this.a=n,qg.call(this,t)}function GL(n,t){this.a=n,qg.call(this,t)}function zL(n){this.a=(g0(n,UEn),new pQ(n))}function UL(n){this.a=(g0(n,UEn),new pQ(n))}function XL(n){return!n.a&&(n.a=new w),n.a}function WL(n){return n>8?0:n+1}function VL(n,t,e){return YR(n,Yx(t,22),e)}function QL(n,t,e){return n.a+=Vnn(t,0,e),n}function YL(n,t){var e;return e=n.e,n.e=t,e}function JL(n,t){n[vMn].call(n,t)}function ZL(n,t){n.a.Vc(n.b,t),++n.b,n.c=-1}function nN(n){U_(n.e),n.d.b=n.d,n.d.a=n.d}function tN(n){n.b?tN(n.b):n.f.c.zc(n.e,n.d)}function eN(n,t){return qy(new Array(t),n)}function iN(n){return String.fromCharCode(n)}function rN(){this.a=new ip,this.b=new ip}function cN(){this.a=new bt,this.b=new Hp}function aN(){this.b=new Pk,this.c=new ip}function uN(){this.d=new Pk,this.e=new Pk}function oN(){this.n=new Pk,this.o=new Pk}function sN(){this.n=new Sv,this.i=new hC}function hN(){this.a=new Jh,this.b=new uc}function fN(){this.a=new ip,this.d=new ip}function lN(){this.b=new Qp,this.a=new Qp}function bN(){this.b=new rp,this.a=new rp}function wN(){this.b=new fj,this.a=new da}function dN(){sN.call(this),this.a=new Pk}function gN(n){Q3.call(this,n,(HY(),WFn))}function pN(n,t,e,i){FR.call(this,n,t,e,i)}function vN(n,t,e){return opn(n,t,11,e)}function mN(n,t){return n.a+=t.a,n.b+=t.b,n}function yN(n,t){return n.a-=t.a,n.b-=t.b,n}function kN(n,t){return null==xB(n.a,t,"")}function jN(n,t){Hm.call(this,pDn+n+Exn+t)}function EN(n,t,e,i){m_.call(this,n,t,e,i)}function TN(n,t,e,i){m_.call(this,n,t,e,i)}function MN(n,t,e,i){TN.call(this,n,t,e,i)}function SN(n,t,e,i){y_.call(this,n,t,e,i)}function PN(n,t,e,i){y_.call(this,n,t,e,i)}function IN(n,t,e,i){y_.call(this,n,t,e,i)}function CN(n,t,e,i){PN.call(this,n,t,e,i)}function ON(n,t,e,i){PN.call(this,n,t,e,i)}function AN(n,t,e,i){IN.call(this,n,t,e,i)}function $N(n,t,e,i){ON.call(this,n,t,e,i)}function LN(n,t,e,i){g_.call(this,n,t,e,i)}function NN(n,t,e){this.a=n,i$.call(this,t,e)}function xN(n,t,e){this.c=t,this.b=e,this.a=n}function DN(n,t){return n.Aj().Nh().Kh(n,t)}function RN(n,t){return n.Aj().Nh().Ih(n,t)}function KN(n,t){return vB(n),iI(n)===iI(t)}function _N(n,t){return vB(n),iI(n)===iI(t)}function FN(n,t){return $k(Dnn(n.a,t,!1))}function BN(n,t){return $k(Rnn(n.a,t,!1))}function HN(n,t){return n.b.sd(new JT(n,t))}function qN(n,t,e){return n.lastIndexOf(t,e)}function GN(n){return n.c?hJ(n.c.a,n,0):-1}function zN(n){return n==uit||n==sit||n==oit}function UN(n,t){return CO(t,15)&&Pdn(n.c,t)}function XN(n,t){return!!c6(n,t)}function WN(n,t){this.c=n,Z_.call(this,n,t)}function VN(n){this.c=n,PI.call(this,IEn,0)}function QN(n,t){aD.call(this,n,n.length,t)}function YN(n,t,e){return Yx(n.c,69).mk(t,e)}function JN(n,t,e){return function(n,t,e){return t.Rk(n.e,n.c,e)}(n,Yx(t,332),e)}function ZN(n,t,e){return function(n,t,e){var i,r,c;return i=t.ak(),c=t.dd(),r=i.$j()?Kq(n,4,i,c,null,$vn(n,i,c,CO(i,99)&&0!=(Yx(i,18).Bb&eMn)),!0):Kq(n,i.Kj()?2:1,i,c,i.zj(),-1,!0),e?e.Ei(r):e=r,e}(n,Yx(t,332),e)}function nx(n,t){return null==t?null:x8(n.b,t)}function tx(n){return cI(n)?(vB(n),n):n.ke()}function ex(n){return!isNaN(n)&&!isFinite(n)}function ix(n){px(),this.a=(XH(),new Ny(n))}function rx(n){dD(),this.d=n,this.a=new ep}function cx(n,t,e){this.a=n,this.b=t,this.c=e}function ax(n,t,e){this.a=n,this.b=t,this.c=e}function ux(n,t,e){this.d=n,this.b=e,this.a=t}function ox(n){aO(this),BH(this),C2(this,n)}function sx(n){AC(this),sD(this.c,0,n.Pc())}function hx(n){hB(n.a),iY(n.c,n.b),n.b=null}function fx(n){this.a=n,oE(),D3(Date.now())}function lx(){lx=O,pBn=new r,vBn=new r}function bx(){bx=O,KFn=new L,_Fn=new N}function wx(){wx=O,Cct=VQ(UKn,iEn,1,0,5,1)}function dx(){dx=O,Fat=VQ(UKn,iEn,1,0,5,1)}function gx(){gx=O,Bat=VQ(UKn,iEn,1,0,5,1)}function px(){px=O,new jp((XH(),XH(),TFn))}function vx(n,t){if(!n)throw hp(new Qm(t))}function mx(n){FR.call(this,n.d,n.c,n.a,n.b)}function yx(n){FR.call(this,n.d,n.c,n.a,n.b)}function kx(n,t,e){this.b=n,this.c=t,this.a=e}function jx(n,t,e){this.b=n,this.a=t,this.c=e}function Ex(n,t,e){this.a=n,this.b=t,this.c=e}function Tx(n,t,e){this.a=n,this.b=t,this.c=e}function Mx(n,t,e){this.a=n,this.b=t,this.c=e}function Sx(n,t,e){this.a=n,this.b=t,this.c=e}function Px(n,t,e){this.b=n,this.a=t,this.c=e}function Ix(n,t,e){this.e=t,this.b=n,this.d=e}function Cx(n){var t;return(t=new jn).e=n,t}function Ox(n){var t;return(t=new lv).b=n,t}function Ax(){Ax=O,aUn=new Ne,uUn=new xe}function $x(){$x=O,CXn=new vr,OXn=new mr}function Lx(n,t){this.c=n,this.a=t,this.b=t-n}function Nx(n,t,e){this.a=n,this.b=t,this.c=e}function xx(n,t,e){this.a=n,this.b=t,this.c=e}function Dx(n,t,e){this.a=n,this.b=t,this.c=e}function Rx(n,t,e){this.a=n,this.b=t,this.c=e}function Kx(n,t,e){this.a=n,this.b=t,this.c=e}function _x(n,t,e){this.e=n,this.a=t,this.c=e}function Fx(n,t,e){WC(),tG.call(this,n,t,e)}function Bx(n,t,e){WC(),iB.call(this,n,t,e)}function Hx(n,t,e){WC(),iB.call(this,n,t,e)}function qx(n,t,e){WC(),iB.call(this,n,t,e)}function Gx(n,t,e){WC(),Bx.call(this,n,t,e)}function zx(n,t,e){WC(),Bx.call(this,n,t,e)}function Ux(n,t,e){WC(),zx.call(this,n,t,e)}function Xx(n,t,e){WC(),Hx.call(this,n,t,e)}function Wx(n,t,e){WC(),qx.call(this,n,t,e)}function Vx(n,t){return MF(n),MF(t),new Fj(n,t)}function Qx(n,t){return MF(n),MF(t),new BD(n,t)}function Yx(n,t){return QD(null==n||Oen(n,t)),n}function Jx(n){var t;return zJ(t=new ip,n),t}function Zx(n){var t;return $2(t=new rv,n),t}function nD(n){var t;return $2(t=new ME,n),t}function tD(n){return!n.e&&(n.e=new ip),n.e}function eD(n,t){return n.c[n.c.length]=t,!0}function iD(n,t){this.c=n,this.b=t,this.a=!1}function rD(n){this.d=n,Wl(this),this.b=function(n){return CO(n,15)?Yx(n,15).Yc():n.Kc()}(n.d)}function cD(){this.a=";,;",this.b="",this.c=""}function aD(n,t,e){s_.call(this,t,e),this.a=n}function uD(n,t,e){this.b=n,MI.call(this,t,e)}function oD(n,t,e){this.c=n,zT.call(this,t,e)}function sD(n,t,e){hhn(e,0,n,t,e.length,!1)}function hD(n,t,e,i,r){n.b=t,n.c=e,n.d=i,n.a=r}function fD(n,t,e,i,r){n.d=t,n.c=e,n.a=i,n.b=r}function lD(n){var t,e;t=n.b,e=n.c,n.b=e,n.c=t}function bD(n){var t,e;e=n.d,t=n.a,n.d=t,n.a=e}function wD(n){return $3(function(n){return rO(~n.l&BTn,~n.m&BTn,~n.h&HTn)}(tC(n)?W3(n):n))}function dD(){dD=O,Ikn(),Y3n=qit,J3n=Eit}function gD(){this.b=ty(fL(oen((Bdn(),yGn))))}function pD(n){return HE(),VQ(UKn,iEn,1,n,5,1)}function vD(n){return new QS(n.c+n.b,n.d+n.a)}function mD(n){return S$(0!=n.b),VZ(n,n.a.a)}function yD(n){return S$(0!=n.b),VZ(n,n.c.b)}function kD(n,t){if(!n)throw hp(new qm(t))}function jD(n,t){if(!n)throw hp(new Qm(t))}function ED(n,t,e){LM.call(this,n,t),this.b=e}function TD(n,t,e){XP.call(this,n,t),this.c=e}function MD(n,t,e){RZ.call(this,t,e),this.d=n}function SD(n){gx(),yo.call(this),this.th(n)}function PD(n,t,e){this.a=n,HI.call(this,t,e)}function ID(n,t,e){this.a=n,HI.call(this,t,e)}function CD(n,t,e){XP.call(this,n,t),this.c=e}function OD(){wV(),uB.call(this,(mT(),aat))}function AD(n){return null!=n&&!$7(n,Wct,Vct)}function $D(n,t){return(u9(n)<<4|u9(t))&fTn}function LD(n,t){var e;n.n&&(e=t,eD(n.f,e))}function ND(n,t,e){OZ(n,t,new zF(e))}function xD(n,t){return n.g=t<0?-1:t,n}function DD(n,t){return function(n){var t;(t=e.Math.sqrt(n.a*n.a+n.b*n.b))>0&&(n.a/=t,n.b/=t)}(n),n.a*=t,n.b*=t,n}function RD(n,t,e,i,r){n.c=t,n.d=e,n.b=i,n.a=r}function KD(n,t){return VW(n,t,n.c.b,n.c),!0}function _D(n){n.a.b=n.b,n.b.a=n.a,n.a=n.b=null}function FD(n){this.b=n,this.a=DK(this.b.a).Ed()}function BD(n,t){this.b=n,this.a=t,_h.call(this)}function HD(n,t){this.a=n,this.b=t,_h.call(this)}function qD(n,t){s_.call(this,t,1040),this.a=n}function GD(n){return 0==n||isNaN(n)?n:n<0?-1:1}function zD(n,t){return ean(n,new LM(t.a,t.b))}function UD(n){var t;return t=n.n,n.a.b+t.d+t.a}function XD(n){var t;return t=n.n,n.e.b+t.d+t.a}function WD(n){var t;return t=n.n,n.e.a+t.b+t.c}function VD(n){return Ljn(),new BR(0,n)}function QD(n){if(!n)throw hp(new Vm(null))}function YD(){YD=O,XH(),jut=new bb(HRn)}function JD(){JD=O,new _en((wm(),n_n),(dm(),ZKn))}function ZD(){ZD=O,G_n=VQ(U_n,TEn,19,256,0,1)}function nR(n,t,e,i){F7.call(this,n,t,e,i,0,0)}function tR(n){return n.e.c.length+n.g.c.length}function eR(n){return n.e.c.length-n.g.c.length}function iR(n){return n.b.c.length-n.e.c.length}function rR(n){gx(),SD.call(this,n),this.a=-1}function cR(n,t){VP.call(this,n,t),this.a=this}function aR(n,t){var e;return(e=TF(n,t)).i=2,e}function uR(n,t){return++n.j,n.Ti(t)}function oR(n,t,e){return n.a=-1,ZA(n,t.g,e),n}function sR(n,t,e){!function(n,t,e,i,r){var c,a,u,o,s,h,f,l,b,w,d,g;null==(w=BF(n.e,i))&&(s=Yx(w=new Om,183),o=new zF(t+"_s"+r),OZ(s,rxn,o)),nB(e,b=Yx(w,183)),nq(g=new Om,"x",i.j),nq(g,"y",i.k),OZ(b,uxn,g),nq(f=new Om,"x",i.b),nq(f,"y",i.c),OZ(b,"endPoint",f),!Sj((!i.a&&(i.a=new XO(Qrt,i,5)),i.a))&&(c=new pg(h=new Sl),XW((!i.a&&(i.a=new XO(Qrt,i,5)),i.a),c),OZ(b,YNn,h)),!!Jen(i)&&jun(n.a,b,ZNn,ksn(n,Jen(i))),!!Zen(i)&&jun(n.a,b,JNn,ksn(n,Zen(i))),!(0==(!i.e&&(i.e=new AN(tct,i,10,9)),i.e).i)&&(a=new FP(n,l=new Sl),XW((!i.e&&(i.e=new AN(tct,i,10,9)),i.e),a),OZ(b,txn,l)),0!=(!i.g&&(i.g=new AN(tct,i,9,10)),i.g).i&&(u=new BP(n,d=new Sl),XW((!i.g&&(i.g=new AN(tct,i,9,10)),i.g),u),OZ(b,nxn,d))}(n.a,n.b,n.c,Yx(t,202),e)}function hR(n,t,e){return new xN(function(n){return 0>=n?new EE:function(n){return 0>n?new EE:new vL(null,new cV(n+1,n))}(n-1)}(n).Ie(),e,t)}function fR(n,t,e,i,r,c){return nan(n,t,e,i,r,0,c)}function lR(){lR=O,R_n=VQ(__n,TEn,217,256,0,1)}function bR(){bR=O,X_n=VQ(J_n,TEn,162,256,0,1)}function wR(){wR=O,Z_n=VQ(nFn,TEn,184,256,0,1)}function dR(){dR=O,F_n=VQ(B_n,TEn,172,128,0,1)}function gR(){hD(this,!1,!1,!1,!1)}function pR(n){VF(),this.a=(XH(),new bb(MF(n)))}function vR(n){for(MF(n);n.Ob();)n.Pb(),n.Qb()}function mR(n){this.c=n,this.b=this.c.d.vc().Kc()}function yR(n){this.c=n,this.a=new TE(this.c.a)}function kR(n){this.a=new kE(n.gc()),C2(this,n)}function jR(n){Mb.call(this,new bW),C2(this,n)}function ER(n,t){return n.a+=Vnn(t,0,t.length),n}function TR(n,t){return $z(t,n.c.length),n.c[t]}function MR(n,t){return $z(t,n.a.length),n.a[t]}function SR(n,t){HE(),ZQ.call(this,n),this.a=t}function PR(n,t){return function(n,t){return ytn(t7(ytn(n.a).a,t.a))}(Yx(n,162),Yx(t,162))}function IR(n){return n.c-Yx(TR(n.a,n.b),287).b}function CR(n){return n.q?n.q:(XH(),XH(),MFn)}function OR(n){return n.e.Hd().gc()*n.c.Hd().gc()}function AR(n,t,i){return e.Math.min(i/n,1/t)}function $R(n,t){return n?0:e.Math.max(0,t-1)}function LR(n){var t;return(t=han(n))?LR(t):n}function NR(n,t){return null==n.a&&qdn(n),n.a[t]}function xR(n){return n.c?n.c.f:n.e.b}function DR(n){return n.c?n.c.g:n.e.a}function RR(n){FZ.call(this,n.gc()),jF(this,n)}function KR(n,t){WC(),zg.call(this,t),this.a=n}function _R(n,t,e){this.a=n,XO.call(this,t,e,2)}function FR(n,t,e,i){fD(this,n,t,e,i)}function BR(n,t){Ljn(),np.call(this,n),this.a=t}function HR(n){this.b=new ME,this.a=n,this.c=-1}function qR(){this.d=new QS(0,0),this.e=new Qp}function GR(n){i$.call(this,0,0),this.a=n,this.b=0}function zR(n){this.a=n,this.c=new rp,function(n){var t,e,i,r;for(i=0,r=(e=n.a).length;i>>t,r=n.m>>t|e<<22-t,i=n.l>>t|n.m<<22-t):t<44?(c=0,r=e>>>t-22,i=n.m>>t-22|n.h<<44-t):(c=0,r=0,i=e>>>t-44),rO(i&BTn,r&BTn,c&HTn)}(tC(n)?W3(n):n,t))}function XK(n,t){return function(n,t){return TA(),n==t?0:n?1:-1}((vB(n),n),(vB(t),t))}function WK(n,t){return $9((vB(n),n),(vB(t),t))}function VK(n,t){return MF(t),n.a.Ad(t)&&!n.b.Ad(t)}function QK(n,t){return W8(n,(vB(t),new Pb(t)))}function YK(n,t){return W8(n,(vB(t),new Ib(t)))}function JK(n){return Q2(),0!=Yx(n,11).e.c.length}function ZK(n){return Q2(),0!=Yx(n,11).g.c.length}function n_(n,t,e){return function(n,t,e){var i,r,c,a,u,o,s,h,f,l;if(0!=t.e.c.length&&0!=e.e.c.length){if((i=Yx(TR(t.e,0),17).c.i)==(a=Yx(TR(e.e,0),17).c.i))return eO(Yx(Aun(Yx(TR(t.e,0),17),(Ojn(),IQn)),19).a,Yx(Aun(Yx(TR(e.e,0),17),IQn),19).a);for(f=0,l=(h=n.a).length;fu?1:0:(n.b&&(n.b._b(c)&&(r=Yx(n.b.xc(c),19).a),n.b._b(o)&&(u=Yx(n.b.xc(o),19).a)),ru?1:0)):0!=t.e.c.length&&0!=e.g.c.length?1:-1}(n,Yx(t,11),Yx(e,11))}function t_(n){return n.e?oQ(n.e):null}function e_(n){n.d||(n.d=n.b.Kc(),n.c=n.b.gc())}function i_(n,t){if(n<0||n>=t)throw hp(new Gp)}function r_(n,t,e){return udn(),s3(n,t)&&s3(n,e)}function c_(n){return Chn(),!n.Hc(pit)&&!n.Hc(mit)}function a_(n){return new QS(n.c+n.b/2,n.d+n.a/2)}function u_(n,t){return t.kh()?P8(n.b,Yx(t,49)):t}function o_(n,t){this.e=n,this.d=0!=(64&t)?t|MEn:t}function s_(n,t){this.c=0,this.d=n,this.b=64|t|MEn}function h_(n){this.b=new pQ(11),this.a=(WH(),n)}function f_(n){this.b=null,this.a=(WH(),n||IFn)}function l_(n){this.a=xen(n.a),this.b=new sx(n.b)}function b_(n){this.b=n,a$.call(this,n),FO(this)}function w_(n){this.b=n,o$.call(this,n),BO(this)}function d_(n,t,e){this.a=n,EN.call(this,t,e,5,6)}function g_(n,t,e,i){this.b=n,XO.call(this,t,e,i)}function p_(n,t,e,i,r){kY.call(this,n,t,e,i,r,-1)}function v_(n,t,e,i,r){jY.call(this,n,t,e,i,r,-1)}function m_(n,t,e,i){XO.call(this,n,t,e),this.b=i}function y_(n,t,e,i){TD.call(this,n,t,e),this.b=i}function k_(n){WP.call(this,n,!1),this.a=!1}function j_(n,t){this.b=n,ol.call(this,n.b),this.a=t}function E_(n,t){VF(),Jj.call(this,n,$8(new ay(t)))}function T_(n,t){return Ljn(),new rB(n,t,0)}function M_(n,t){return Ljn(),new rB(6,n,t)}function S_(n,t){return _N(n.substr(0,t.length),t)}function P_(n,t){return aI(t)?hq(n,t):!!Dq(n.f,t)}function I_(n,t){for(vB(t);n.Ob();)t.td(n.Pb())}function C_(n,t,e){bdn(),this.e=n,this.d=t,this.a=e}function O_(n,t,e,i){var r;(r=n.i).i=t,r.a=e,r.b=i}function A_(n){var t;for(t=n;t.f;)t=t.f;return t}function $_(n){var t;return S$(null!=(t=T5(n))),t}function L_(n){var t;return S$(null!=(t=function(n){var t;return null==(t=n.a[n.c-1&n.a.length-1])?null:(n.c=n.c-1&n.a.length-1,DF(n.a,n.c,null),t)}(n))),t}function N_(n,t){var e;return qV(t,e=n.a.gc()),e-t}function x_(n,t){var e;for(e=0;en||n>t)throw hp(new Py("fromIndex: 0, toIndex: "+n+MMn+t))}(t,n.length),new qD(n,t)}(n,n.length))}function W_(n){return new $K(new sA(n.a.length,n.a))}function V_(n){return typeof n===Ujn||typeof n===Qjn}function Q_(n,t){return k8(n,t)<0?-1:k8(n,t)>0?1:0}function Y_(n,t,e){return jmn(n,Yx(t,46),Yx(e,167))}function J_(n,t){return Yx(KK(DK(n.a)).Xb(t),42).cd()}function Z_(n,t){this.d=n,UO.call(this,n),this.e=t}function nF(n){this.d=(vB(n),n),this.a=0,this.c=IEn}function tF(n,t){np.call(this,1),this.a=n,this.b=t}function eF(n,t){return n.c?eF(n.c,t):eD(n.b,t),n}function iF(n,t,e){var i;return i=VJ(n,t),ZX(n,t,e),i}function rF(n,t){return aJ(n.slice(0,t),n)}function cF(n,t,e){var i;for(i=0;i=14&&e<=16);case 11:return null!=t&&typeof t===Qjn;case 12:return null!=t&&(typeof t===Ujn||typeof t==Qjn);case 0:return Oen(t,n.__elementTypeId$);case 2:return V_(t)&&!(t.im===C);case 1:return V_(t)&&!(t.im===C)||Oen(t,n.__elementTypeId$);default:return!0}}(n,e)),n[t]=e}function RF(n,t){var e;return HU(t,e=n.a.gc()),e-1-t}function KF(n,t){return n.a+=String.fromCharCode(t),n}function _F(n,t){return n.a+=String.fromCharCode(t),n}function FF(n,t){for(vB(t);n.c0?(den(n,e,0),e.a+=String.fromCharCode(i),den(n,e,r=htn(t,c)),c+=r-1):39==i?c+1=n.g}function ZF(n,t,e){return tgn(n,h2(n,t,e))}function nB(n,t){var e;VJ(n,e=n.a.length),ZX(n,e,t)}function tB(n,t){console[n].call(console,t)}function eB(n,t){var e;++n.j,e=n.Vi(),n.Ii(n.oi(e,t))}function iB(n,t,e){zg.call(this,t),this.a=n,this.b=e}function rB(n,t,e){np.call(this,n),this.a=t,this.b=e}function cB(n,t,e){this.a=n,Gg.call(this,t),this.b=e}function aB(n,t,e){this.a=n,lX.call(this,8,t,null,e)}function uB(n){this.a=(vB(nRn),nRn),this.b=n,new Xv}function oB(n){this.c=n,this.b=this.c.a,this.a=this.c.e}function sB(n){this.c=n,this.b=n.a.d.a,tL(n.a.e,this)}function hB(n){M$(-1!=n.c),n.d.$c(n.c),n.b=n.c,n.c=-1}function fB(n){return e.Math.sqrt(n.a*n.a+n.b*n.b)}function lB(n,t){return i_(t,n.a.c.length),TR(n.a,t)}function bB(n,t){return iI(n)===iI(t)||null!=n&&Q8(n,t)}function wB(n){return n?n.dc():!n.Kc().Ob()}function dB(n){return!n.a&&n.c?n.c.b:n.a}function gB(n){return!n.a&&(n.a=new XO(Wrt,n,4)),n.a}function pB(n){return!n.d&&(n.d=new XO(hat,n,1)),n.d}function vB(n){if(null==n)throw hp(new Np);return n}function mB(n){n.c?n.c.He():(n.d=!0,function(n){var t,e,i,r,c;if(c=new ip,WZ(n.b,new Gb(c)),n.b.c=VQ(UKn,iEn,1,0,5,1),0!=c.c.length){for($z(0,c.c.length),t=Yx(c.c[0],78),e=1,i=c.c.length;e0;)n=n<<1|(n<0?1:0);return n}function qB(n,t){return iI(n)===iI(t)||null!=n&&Q8(n,t)}function GB(n,t){return rK(n.a,t)?n.b[Yx(t,22).g]:null}function zB(n,t,e,i){n.a=l$(n.a,0,t)+""+i+lI(n.a,e)}function UB(n,t){n.u.Hc((Chn(),pit))&&function(n,t){var i,r,c,a;for(i=(a=Yx(GB(n.b,t),124)).a,c=Yx(Yx(_V(n.r,t),21),84).Kc();c.Ob();)(r=Yx(c.Pb(),111)).c&&(i.a=e.Math.max(i.a,WD(r.c)));if(i.a>0)switch(t.g){case 2:a.n.c=n.s;break;case 4:a.n.b=n.s}}(n,t),function(n,t){var e;n.C&&((e=Yx(GB(n.b,t),124).n).d=n.C.d,e.a=n.C.a)}(n,t)}function XB(n,t){return Lz(t,n.length),n.charCodeAt(t)}function WB(){Im.call(this,"There is no more element.")}function VB(n){this.d=n,this.a=this.d.b,this.b=this.d.c}function QB(n){n.b=!1,n.c=!1,n.d=!1,n.a=!1}function YB(n,t,e,i){return h3(n,t,e,!1),f9(n,i),n}function JB(n){return!n.n&&(n.n=new m_(act,n,1,7)),n.n}function ZB(n){return!n.c&&(n.c=new m_(oct,n,9,9)),n.c}function nH(n){return n.e==qRn&&function(n,t){n.e=t}(n,function(n,t){var e,i;return(e=t.Hh(n.a))&&null!=(i=lL(ynn((!e.b&&(e.b=new z$((xjn(),Dat),out,e)),e.b),gxn)))?i:t.ne()}(n.g,n.b)),n.e}function tH(n){return n.f==qRn&&function(n,t){n.f=t}(n,function(n,t){var e,i;return(e=t.Hh(n.a))?(i=lL(ynn((!e.b&&(e.b=new z$((xjn(),Dat),out,e)),e.b),RRn)),_N(KRn,i)?OK(n,i1(t.Hj())):i):null}(n.g,n.b)),n.f}function eH(n){var t;return!(t=n.b)&&(n.b=t=new Qf(n)),t}function iH(n){var t;for(t=n.Kc();t.Ob();)t.Pb(),t.Qb()}function rH(n){if(A7(n.d),n.d.d!=n.c)throw hp(new Dp)}function cH(n,t){this.b=n,this.c=t,this.a=new TE(this.b)}function aH(n,t,e){this.a=oTn,this.d=n,this.b=t,this.c=e}function uH(n,t){this.d=(vB(n),n),this.a=16449,this.c=t}function oH(n,t){Q9(n,ty(q1(t,"x")),ty(q1(t,"y")))}function sH(n,t){Q9(n,ty(q1(t,"x")),ty(q1(t,"y")))}function hH(n,t){return W9(n),new SR(n,new _Y(t,n.a))}function fH(n,t){return W9(n),new SR(n,new JV(t,n.a))}function lH(n,t){return W9(n),new pL(n,new QV(t,n.a))}function bH(n,t){return W9(n),new vL(n,new YV(t,n.a))}function wH(n){this.a=new ip,this.e=VQ(Wot,TEn,48,n,0,2)}function dH(n,t,e,i){this.a=n,this.e=t,this.d=e,this.c=i}function gH(n,t,e,i){this.a=n,this.c=t,this.b=e,this.d=i}function pH(n,t,e,i){this.c=n,this.b=t,this.a=e,this.d=i}function vH(n,t,e,i){this.c=n,this.b=t,this.d=e,this.a=i}function mH(n,t,e,i){this.c=n,this.d=t,this.b=e,this.a=i}function yH(n,t,e,i){this.a=n,this.d=t,this.c=e,this.b=i}function kH(n,t,e,i){Uj.call(this,n,t),this.a=e,this.b=i}function jH(n,t,e,i){this.a=n,this.c=t,this.d=e,this.b=i}function EH(n,t,i){(function(n,t){var e,i,r,c;for(function(n){var t;for(t=0;t(i=oG(e))&&++i,i}function SH(n){var t;return b1(t=new up,n),t}function PH(n){var t;return Xun(t=new up,n),t}function IH(n){return function(n){var t;return CO(t=Aun(n,(Ojn(),CQn)),160)?W7(Yx(t,160)):null}(n)||null}function CH(n){return!n.b&&(n.b=new m_(nct,n,12,3)),n.b}function OH(n,t,e){e.a?N1(n,t.b-n.f/2):L1(n,t.a-n.g/2)}function AH(n,t,e,i){this.a=n,this.b=t,this.c=e,this.d=i}function $H(n,t,e,i){this.a=n,this.b=t,this.c=e,this.d=i}function LH(n,t,e,i){this.e=n,this.a=t,this.c=e,this.d=i}function NH(n,t,e,i){this.a=n,this.c=t,this.d=e,this.b=i}function xH(n,t,e,i){WC(),AV.call(this,t,e,i),this.a=n}function DH(n,t,e,i){WC(),AV.call(this,t,e,i),this.a=n}function RH(n,t){this.a=n,gL.call(this,n,Yx(n.d,15).Zc(t))}function KH(n){this.f=n,this.c=this.f.e,n.f>0&&Icn(this)}function _H(n,t,e,i){this.b=n,this.c=i,PI.call(this,t,e)}function FH(n){return S$(n.b0?(e.Error.stackTraceLimit=Error.stackTraceLimit=64,1):"stack"in new Error),n=new d,p_n=t?new E:n}function Lq(n,t){var e;return e=Nk(n.gm),null==t?e:e+": "+t}function Nq(n,t){var e;return pW(e=n.b.Qc(t),n.b.gc()),e}function xq(n,t){if(null==n)throw hp(new Zm(t));return n}function Dq(n,t){return q6(n,t,function(n,t){var e;return null==(e=n.a.get(t))?new Array:e}(n,null==t?0:n.b.se(t)))}function Rq(n,t,e){return e>=0&&_N(n.substr(e,t.length),t)}function Kq(n,t,e,i,r,c,a){return new oW(n.e,t,e,i,r,c,a)}function _q(n,t,e,i,r,c){this.a=n,E0.call(this,t,e,i,r,c)}function Fq(n,t,e,i,r,c){this.a=n,E0.call(this,t,e,i,r,c)}function Bq(n,t){this.g=n,this.d=x4(Gy(Gzn,1),kIn,10,0,[t])}function Hq(n,t){this.e=n,this.a=UKn,this.b=Zdn(t),this.c=t}function qq(n,t){sN.call(this),YZ(this),this.a=n,this.c=t}function Gq(n,t,e,i){DF(n.c[t.g],e.g,i),DF(n.c[e.g],t.g,i)}function zq(n,t,e,i){DF(n.c[t.g],t.g,e),DF(n.b[t.g],t.g,i)}function Uq(n,t,e,i){return e>=0?n.jh(t,e,i):n.Sg(null,e,i)}function Xq(n){return 0==n.b.b?n.a.$e():mD(n.b)}function Wq(n){return iI(n.a)===iI((W2(),Gat))&&function(n){var t,e,i,r,c,a,u,o,s,h;for(t=new To,e=new To,s=_N(ZDn,(r=dpn(n.b,nRn))?lL(ynn((!r.b&&(r.b=new z$((xjn(),Dat),out,r)),r.b),tRn)):null),o=0;o=0?n.sh(i,e):pbn(n,t,e)}function wG(n,t,e){_G(),n&&xB(Sct,n,t),n&&xB(Mct,n,e)}function dG(n,t,e){this.i=new ip,this.b=n,this.g=t,this.a=e}function gG(n,t,e){this.c=new ip,this.e=n,this.f=t,this.b=e}function pG(n,t,e){this.a=new ip,this.e=n,this.f=t,this.c=e}function vG(n,t){jO(this),this.f=t,this.g=n,qH(this),this._d()}function mG(n,t){var e;e=n.q.getHours(),n.q.setDate(t),Ivn(n,e)}function yG(n,t){var e;for(MF(t),e=n.a;e;e=e.c)t.Od(e.g,e.i)}function kG(n){var t;return L5(t=new Xk(IZ(n.length)),n),t}function jG(n,t){if(null==t)throw hp(new Np);return function(n,t){var e,i=n.a;t=String(t),i.hasOwnProperty(t)&&(e=i[t]);var r=(r5(),S_n)[typeof e];return r?r(e):Z6(typeof e)}(n,t)}function EG(n){return n.Db>>16!=3?null:Yx(n.Cb,33)}function TG(n){return n.Db>>16!=9?null:Yx(n.Cb,33)}function MG(n){return n.Db>>16!=6?null:Yx(n.Cb,79)}function SG(n){return n.Db>>16!=7?null:Yx(n.Cb,235)}function PG(n){return n.Db>>16!=7?null:Yx(n.Cb,160)}function IG(n){return n.Db>>16!=11?null:Yx(n.Cb,33)}function CG(n,t){var e;return(e=n.Yg(t))>=0?n.lh(e):zhn(n,t)}function OG(n,t){var e;return Eun(e=new jR(t),n),new sx(e)}function AG(n){var t;return t=n.d,t=n.si(n.f),fY(n,t),t.Ob()}function $G(n,t){return n.b+=t.b,n.c+=t.c,n.d+=t.d,n.a+=t.a,n}function LG(n,t){return e.Math.abs(n)>16!=3?null:Yx(n.Cb,147)}function BG(n){return n.Db>>16!=6?null:Yx(n.Cb,235)}function HG(n){return n.Db>>16!=17?null:Yx(n.Cb,26)}function qG(n,t){var e=n.a=n.a||[];return e[t]||(e[t]=n.le(t))}function GG(n,t,e){return null==t?Ysn(n.f,null,e):r7(n.g,t,e)}function zG(n,t,e,i,r,c){return new yJ(n.e,t,n.aj(),e,i,r,c)}function UG(n,t,e){return n.a=l$(n.a,0,t)+""+e+lI(n.a,t),n}function XG(n,t,e){return eD(n.a,(KB(),gin(t,e),new Wj(t,e))),n}function WG(n){return jA(n.c),n.e=n.a=n.c,n.c=n.c.c,++n.d,n.a.f}function VG(n){return jA(n.e),n.c=n.a=n.e,n.e=n.e.e,--n.d,n.a.f}function QG(n,t){n.d&&uJ(n.d.e,n),n.d=t,n.d&&eD(n.d.e,n)}function YG(n,t){n.c&&uJ(n.c.g,n),n.c=t,n.c&&eD(n.c.g,n)}function JG(n,t){n.c&&uJ(n.c.a,n),n.c=t,n.c&&eD(n.c.a,n)}function ZG(n,t){n.i&&uJ(n.i.j,n),n.i=t,n.i&&eD(n.i.j,n)}function nz(n,t,e){this.a=t,this.c=n,this.b=(MF(e),new sx(e))}function tz(n,t,e){this.a=t,this.c=n,this.b=(MF(e),new sx(e))}function ez(n,t){this.a=n,this.c=dO(this.a),this.b=new Tq(t)}function iz(n,t){if(n<0||n>t)throw hp(new Hm(RMn+n+KMn+t))}function rz(n,t){return cK(n.a,t)?K_(n,Yx(t,22).g,null):null}function cz(){cz=O,o_n=z6((pm(),x4(Gy(s_n,1),XEn,538,0,[a_n])))}function az(){az=O,A3n=yK(new fX,($un(),tzn),($jn(),iXn))}function uz(){uz=O,$3n=yK(new fX,($un(),tzn),($jn(),iXn))}function oz(){oz=O,N3n=yK(new fX,($un(),tzn),($jn(),iXn))}function sz(){sz=O,c4n=oR(new fX,($un(),tzn),($jn(),CUn))}function hz(){hz=O,h4n=oR(new fX,($un(),tzn),($jn(),CUn))}function fz(){fz=O,b4n=oR(new fX,($un(),tzn),($jn(),CUn))}function lz(){lz=O,j4n=oR(new fX,($un(),tzn),($jn(),CUn))}function bz(){bz=O,c6n=yK(new fX,(Krn(),n5n),(ysn(),c5n))}function wz(n,t,e,i){this.c=n,this.d=i,pz(this,t),vz(this,e)}function dz(n){this.c=new ME,this.b=n.b,this.d=n.c,this.a=n.a}function gz(n){this.a=e.Math.cos(n),this.b=e.Math.sin(n)}function pz(n,t){n.a&&uJ(n.a.k,n),n.a=t,n.a&&eD(n.a.k,n)}function vz(n,t){n.b&&uJ(n.b.f,n),n.b=t,n.b&&eD(n.b.f,n)}function mz(n,t){(function(n,t,e){Yx(t.b,65),WZ(t.a,new xx(n,e,t))})(n,n.b,n.c),Yx(n.b.b,65),t&&Yx(t.b,65).b}function yz(n,t){CO(n.Cb,88)&&rhn(bV(Yx(n.Cb,88)),4),E2(n,t)}function kz(n,t){CO(n.Cb,179)&&(Yx(n.Cb,179).tb=null),E2(n,t)}function jz(n,t){return TT(),GJ(t)?new cR(t,n):new VP(t,n)}function Ez(n){var t;return Rk(),b1(t=new up,n),t}function Tz(n){var t;return Rk(),b1(t=new up,n),t}function Mz(n,t){var e;return e=new qF(n),t.c[t.c.length]=e,e}function Sz(n,t){var e;return(e=Yx(x8(QH(n.a),t),14))?e.gc():0}function Pz(n){return W9(n),WH(),WH(),HZ(n,CFn)}function Iz(n){for(var t;;)if(t=n.Pb(),!n.Ob())return t}function Cz(n,t){cm.call(this,new kE(IZ(n))),g0(t,EEn),this.a=t}function Oz(n,t,e){i9(t,e,n.gc()),this.c=n,this.a=t,this.b=e-t}function Az(n,t,e){var i;i9(t,e,n.c.length),i=e-t,uj(n.c,t,i)}function $z(n,t){if(n<0||n>=t)throw hp(new Hm(RMn+n+KMn+t))}function Lz(n,t){if(n<0||n>=t)throw hp(new Ly(RMn+n+KMn+t))}function Nz(n,t){this.b=(vB(n),n),this.a=0==(t&nMn)?64|t|MEn:t}function xz(n){$C(this),zp(this.a,j5(e.Math.max(8,n))<<1)}function Dz(n){return $5(x4(Gy(B7n,1),TEn,8,0,[n.i.n,n.n,n.a]))}function Rz(n,t){return function(n,t,e){var i,r,c,a,u,o;if(a=new go,u=dwn(n.e.Tg(),t),i=Yx(n.g,119),TT(),Yx(t,66).Oj())for(c=0;c0&&0==n.a[--n.d];);0==n.a[n.d++]&&(n.e=0)}function PU(n){return n.a?0==n.e.length?n.a.a:n.a.a+""+n.e:n.c}function IU(n){return hR(n.e.Hd().gc()*n.c.Hd().gc(),16,new qf(n))}function CU(n){return Yx(Htn(n,VQ(Nzn,yIn,17,n.c.length,0,1)),474)}function OU(n){return Yx(Htn(n,VQ(Gzn,kIn,10,n.c.length,0,1)),193)}function AU(n,t,e){MF(n),function(n){var t,e,i;for(XH(),JC(n.c,n.a),i=new pb(n.c);i.a=0&&d=t)throw hp(new Hm(function(n,t){if(n<0)return ngn(eEn,x4(Gy(UKn,1),iEn,1,5,["index",d9(n)]));if(t<0)throw hp(new Qm(rEn+t));return ngn("%s (%s) must be less than size (%s)",x4(Gy(UKn,1),iEn,1,5,["index",d9(n),d9(t)]))}(n,t)));return n}function qU(n,t,e){if(n<0||te)throw hp(new Hm(function(n,t,e){return n<0||n>e?Usn(n,e,"start index"):t<0||t>e?Usn(t,e,"end index"):ngn("end index (%s) must not be less than start index (%s)",x4(Gy(UKn,1),iEn,1,5,[d9(t),d9(n)]))}(n,t,e)))}function GU(n,t){if(__(n.a,t),t.d)throw hp(new Im(GMn));t.d=n}function zU(n,t){if(t.$modCount!=n.$modCount)throw hp(new Dp)}function UU(n,t){return!!CO(t,42)&&Fin(n.a,Yx(t,42))}function XU(n,t){return!!CO(t,42)&&Fin(n.a,Yx(t,42))}function WU(n,t){return!!CO(t,42)&&Fin(n.a,Yx(t,42))}function VU(n){var t;return tC(n)?-0==(t=n)?0:t:function(n){return gcn(n,(LJ(),A_n))<0?-function(n){return n.l+n.m*GTn+n.h*zTn}(h5(n)):n.l+n.m*GTn+n.h*zTn}(n)}function QU(n){var t;return yB(n),t=new F,Qk(n.a,new _b(t)),t}function YU(n){var t;return yB(n),t=new _,Qk(n.a,new Kb(t)),t}function JU(n,t){this.a=n,Vl.call(this,n),iz(t,n.gc()),this.b=t}function ZU(n){this.e=n,this.b=this.e.a.entries(),this.a=new Array}function nX(n){return new pQ((g0(n,VEn),PZ(t7(t7(5,n),n/10|0))))}function tX(n){return Yx(Htn(n,VQ(rUn,jIn,11,n.c.length,0,1)),1943)}function eX(n,t,e){n.d&&uJ(n.d.e,n),n.d=t,n.d&&ZR(n.d.e,e,n)}function iX(n,t){(function(n,t){var i,r,c,a,u,o,s,h,f,l,b,w,d,g,p,v,m,y,k;if(m=0,0==t.f.b)for(p=new pb(n);p.a2e3&&(k_n=n,j_n=e.setTimeout(Ij,10)),0==y_n++&&(function(n){var t,e;if(n.a){e=null;do{t=n.a,n.a=null,e=Zon(t,e)}while(n.a);n.a=e}}((py(),g_n)),!0)}();try{return function(n,t,e){return n.apply(t,e)}(n,t,i)}finally{!function(n){n&&function(n){var t,e;if(n.b){e=null;do{t=n.b,n.b=null,e=Zon(t,e)}while(n.b);n.b=e}}((py(),g_n)),--y_n,n&&-1!=j_n&&(function(n){e.clearTimeout(n)}(j_n),j_n=-1)}(r)}}function hX(n){var t;t=n.Wg(),this.a=CO(t,69)?Yx(t,69).Zh():t.Kc()}function fX(){hm.call(this),this.j.c=VQ(UKn,iEn,1,0,5,1),this.a=-1}function lX(n,t,e,i){this.d=n,this.n=t,this.g=e,this.o=i,this.p=-1}function bX(n,t,e,i){this.e=i,this.d=null,this.c=n,this.a=t,this.b=e}function wX(n,t,e){this.d=new sd(this),this.e=n,this.i=t,this.f=e}function dX(){dX=O,zVn=new nS(pSn,0),UVn=new nS("TOP_LEFT",1)}function gX(){gX=O,K3n=RB(d9(1),d9(4)),R3n=RB(d9(1),d9(2))}function pX(){pX=O,l9n=z6((eT(),x4(Gy(d9n,1),XEn,551,0,[h9n])))}function vX(){vX=O,s9n=z6((tT(),x4(Gy(f9n,1),XEn,482,0,[u9n])))}function mX(){mX=O,a7n=z6((iT(),x4(Gy(s7n,1),XEn,530,0,[r7n])))}function yX(){yX=O,yqn=z6((BE(),x4(Gy(Bqn,1),XEn,481,0,[vqn])))}function kX(n,t,e,i){return CO(e,54)?new C$(n,t,e,i):new LK(n,t,e,i)}function jX(n,t){return Yx(qA(QK(Yx(_V(n.k,t),15).Oc(),hWn)),113)}function EX(n,t){return Yx(qA(YK(Yx(_V(n.k,t),15).Oc(),hWn)),113)}function TX(n){return new Nz(function(n,t){var e,i;for(XH(),i=new ip,e=0;e0}function IX(n){return S$(n.b!=n.d.c),n.c=n.b,n.b=n.b.a,++n.a,n.c.c}function CX(n,t){vB(t),DF(n.a,n.c,t),n.c=n.c+1&n.a.length-1,vrn(n)}function OX(n,t){vB(t),n.b=n.b-1&n.a.length-1,DF(n.a,n.b,t),vrn(n)}function AX(n,t){var e;for(e=n.j.c.length;e0&&smn(n.g,0,t,0,n.i),t}function _X(n,t){var e;return MT(),!(e=Yx(BF(Nct,n),55))||e.wj(t)}function FX(n){var t;for(t=0;n.Ob();)n.Pb(),t=t7(t,1);return PZ(t)}function BX(n,t){var e;return e=new $y,n.xd(e),e.a+="..",t.yd(e),e.a}function HX(n,t,e){return fvn(n,t,e,CO(t,99)&&0!=(Yx(t,18).Bb&eMn))}function qX(n,t,e){return function(n,t,e,i){var r,c,a,u,o,s;if(u=new go,o=dwn(n.e.Tg(),t),r=Yx(n.g,119),TT(),Yx(t,66).Oj())for(a=0;an.c));a++)r.a>=n.s&&(c<0&&(c=a),u=a);return o=(n.s+n.c)/2,c>=0&&(o=function(n){return(n.c+n.a)/2}(($z(i=function(n,t,e,i){var r,c,a,u,o,s,h,f,l,b,w;if(c=e,e=e&&(i=t,c=(o=(u.c+u.a)/2)-e,u.c<=o-e&&ZR(n,i++,new Lx(u.c,c)),(a=o+e)<=u.a&&(r=new Lx(a,u.a),iz(i,n.c.length),GT(n.c,i,r)))}(t,i,e)),o}(r,e,i))),function(n,t,e){var i,r,c,a;for(c=t.q,a=t.r,new wz((iQ(),K4n),t,c,1),new wz(K4n,c,a,1),r=new pb(e);r.a0;)i+=n.a[e],e-=e&-e;return i}function UW(n,t){var e;for(e=t;e;)$$(n,-e.i,-e.j),e=IG(e);return n}function XW(n,t){var e,i;for(vB(t),i=n.Kc();i.Ob();)e=i.Pb(),t.td(e)}function WW(n,t){var e;return new Wj(e=t.cd(),n.e.pc(e,Yx(t.dd(),14)))}function VW(n,t,e,i){var r;(r=new $).c=t,r.b=e,r.a=i,i.b=e.a=r,++n.b}function QW(n,t,e){var i;return $z(t,n.c.length),i=n.c[t],n.c[t]=e,i}function YW(n){return n.c&&n.d?Yz(n.c)+"->"+Yz(n.d):"e_"+_A(n)}function JW(n,t){return(W9(n),ej(new SR(n,new _Y(t,n.a)))).sd(dBn)}function ZW(n){return!(!n.c||!n.d||!n.c.i||n.c.i!=n.d.i)}function nV(n){if(!n.c.Sb())throw hp(new Kp);return n.a=!0,n.c.Ub()}function tV(n){n.i=0,qT(n.b,null),qT(n.c,null),n.a=null,n.e=null,++n.g}function eV(n){KT.call(this,null==n?aEn:I7(n),CO(n,78)?Yx(n,78):null)}function iV(n){Tjn(),sp(this),this.a=new ME,a6(this,n),KD(this.a,n)}function rV(){AC(this),this.b=new QS(JTn,JTn),this.a=new QS(ZTn,ZTn)}function cV(n,t){this.c=0,this.b=t,SI.call(this,n,17493),this.a=this.c}function aV(n){uV(),hBn||(this.c=n,this.e=!0,this.a=new ip)}function uV(){uV=O,hBn=!0,oBn=!1,sBn=!1,lBn=!1,fBn=!1}function oV(n,t){return!!CO(t,149)&&_N(n.c,Yx(t,149).c)}function sV(n,t){var e;return e=0,n&&(e+=n.f.a/2),t&&(e+=t.f.a/2),e}function hV(n,t){return Yx(UJ(n.d,t),23)||Yx(UJ(n.e,t),23)}function fV(n){this.b=n,UO.call(this,n),this.a=Yx(H3(this.b.a,4),126)}function lV(n){this.b=n,u$.call(this,n),this.a=Yx(H3(this.b.a,4),126)}function bV(n){return n.t||(n.t=new Kg(n),y9(new Um(n),0,n.t)),n.t}function wV(){var n,t;wV=O,Rk(),t=new Bp,gut=t,n=new qv,put=n}function dV(n){var t;return n.c||CO(t=n.r,88)&&(n.c=Yx(t,26)),n.c}function gV(n){return rO(n&BTn,n>>22&BTn,n<0?HTn:0)}function pV(n,t){var e,i;(e=Yx(function(n,t){MF(n);try{return n.Bc(t)}catch(n){if(CO(n=j4(n),205)||CO(n,173))return null;throw hp(n)}}(n.c,t),14))&&(i=e.gc(),e.$b(),n.d-=i)}function vV(n,t){var e;return!!(e=c6(n,t.cd()))&&qB(e.e,t.dd())}function mV(n,t){return 0==t||0==n.e?n:t>0?Nnn(n,t):Own(n,-t)}function yV(n,t){return 0==t||0==n.e?n:t>0?Own(n,t):Nnn(n,-t)}function kV(n){if(Vfn(n))return n.c=n.a,n.a.Pb();throw hp(new Kp)}function jV(n){var t,e;return t=n.c.i,e=n.d.i,t.k==(bon(),_zn)&&e.k==_zn}function EV(n){var t;return o4(t=new jq,n),b5(t,(gjn(),$1n),null),t}function TV(n,t,e){var i;return(i=n.Yg(t))>=0?n._g(i,e,!0):tfn(n,t,e)}function MV(n,t,e,i){var r;for(r=0;rt)throw hp(new Hm(Usn(n,t,"index")));return n}function GV(n,t,e,i){var r;return function(n,t,e,i,r){var c,a;for(c=0,a=0;an.d[r.p]&&(e+=zW(n.b,i)*Yx(a.b,19).a,OX(n.a,d9(i)));for(;!ry(n.a);)eZ(n.b,Yx($_(n.a),19).a)}return e}(n,e)}function uQ(n){var t;return n.a||CO(t=n.r,148)&&(n.a=Yx(t,148)),n.a}function oQ(n){return n.a?n.e?oQ(n.e):null:n}function sQ(n,t){return vB(t),n.c=0,"Initial capacity must not be negative")}function vQ(){vQ=O,oHn=z6((JZ(),x4(Gy(sHn,1),XEn,232,0,[rHn,cHn,aHn])))}function mQ(){mQ=O,dHn=z6((BY(),x4(Gy(gHn,1),XEn,461,0,[fHn,hHn,lHn])))}function yQ(){yQ=O,kHn=z6((OJ(),x4(Gy(GHn,1),XEn,462,0,[mHn,vHn,pHn])))}function kQ(){kQ=O,bBn=z6((C6(),x4(Gy(wBn,1),XEn,132,0,[cBn,aBn,uBn])))}function jQ(){jQ=O,XGn=z6((CJ(),x4(Gy(ezn,1),XEn,379,0,[GGn,qGn,zGn])))}function EQ(){EQ=O,Ozn=z6((e9(),x4(Gy(Lzn,1),XEn,423,0,[Izn,Pzn,Szn])))}function TQ(){TQ=O,PWn=z6((O0(),x4(Gy(AWn,1),XEn,314,0,[TWn,EWn,MWn])))}function MQ(){MQ=O,$Wn=z6((f0(),x4(Gy(KWn,1),XEn,337,0,[IWn,OWn,CWn])))}function SQ(){SQ=O,WWn=z6((i5(),x4(Gy(tVn,1),XEn,450,0,[zWn,GWn,UWn])))}function PQ(){PQ=O,ZXn=z6((v2(),x4(Gy(oWn,1),XEn,361,0,[YXn,QXn,VXn])))}function IQ(){IQ=O,GVn=z6((AJ(),x4(Gy(XVn,1),XEn,303,0,[BVn,HVn,FVn])))}function CQ(){CQ=O,_Vn=z6((r4(),x4(Gy(qVn,1),XEn,292,0,[DVn,RVn,xVn])))}function OQ(){OQ=O,E2n=z6((i8(),x4(Gy(I2n,1),XEn,378,0,[m2n,y2n,k2n])))}function AQ(){AQ=O,f3n=z6((d3(),x4(Gy(w3n,1),XEn,375,0,[u3n,o3n,s3n])))}function $Q(){$Q=O,Y2n=z6((k5(),x4(Gy(n3n,1),XEn,339,0,[W2n,X2n,V2n])))}function LQ(){LQ=O,a3n=z6((h0(),x4(Gy(h3n,1),XEn,452,0,[r3n,e3n,i3n])))}function NQ(){NQ=O,O3n=z6((F4(),x4(Gy(F3n,1),XEn,377,0,[P3n,I3n,S3n])))}function xQ(){xQ=O,y3n=z6(($6(),x4(Gy(T3n,1),XEn,336,0,[g3n,p3n,v3n])))}function DQ(){DQ=O,M3n=z6((V2(),x4(Gy(C3n,1),XEn,338,0,[E3n,k3n,j3n])))}function RQ(){RQ=O,W3n=z6((l0(),x4(Gy(V3n,1),XEn,454,0,[G3n,z3n,U3n])))}function KQ(){KQ=O,v6n=z6((m7(),x4(Gy(k6n,1),XEn,442,0,[g6n,w6n,d6n])))}function _Q(){_Q=O,P6n=z6((I6(),x4(Gy(r8n,1),XEn,380,0,[E6n,T6n,M6n])))}function FQ(){FQ=O,g8n=z6((p7(),x4(Gy(W8n,1),XEn,381,0,[b8n,w8n,l8n])))}function BQ(){BQ=O,h8n=z6((w3(),x4(Gy(f8n,1),XEn,293,0,[u8n,o8n,a8n])))}function HQ(){HQ=O,a9n=z6((v7(),x4(Gy(o9n,1),XEn,437,0,[e9n,i9n,r9n])))}function qQ(){qQ=O,Det=z6((O8(),x4(Gy(Bet,1),XEn,334,0,[Let,$et,Net])))}function GQ(){GQ=O,set=z6((ZZ(),x4(Gy(det,1),XEn,272,0,[cet,aet,uet])))}function zQ(n,t){return!n.o&&(n.o=new yY((ajn(),Frt),mct,n,0)),mnn(n.o,t)}function UQ(n){return!n.g&&(n.g=new oo),!n.g.c&&(n.g.c=new Rg(n)),n.g.c}function XQ(n,t,e){var i,r;if(null!=e)for(i=0;i=r){for(a=1;ae||t=0?n._g(e,!0,!0):tfn(n,t,!0)}function MY(){MY=O,a6n=ltn(ltn(bT(new fX,(Krn(),J4n)),(ysn(),h5n)),a5n)}function SY(n){for(;!n.a;)if(!HN(n.c,new Fb(n)))return!1;return!0}function PY(n){return MF(n),CO(n,198)?Yx(n,198):new al(n)}function IY(){var n,t,e,i;IY=O,d7n=new bu,p7n=new wu,Cjn(),n=Ttt,t=d7n,e=itt,i=p7n,KB(),g7n=new Em(x4(Gy(i_n,1),DEn,42,0,[(gin(n,t),new Wj(n,t)),(gin(e,i),new Wj(e,i))]))}function CY(){CY=O,m6n=new xS("LEAF_NUMBER",0),y6n=new xS("NODE_SIZE",1)}function OY(n){n.a=VQ(Wot,MTn,25,n.b+1,15,1),n.c=VQ(Wot,MTn,25,n.b,15,1),n.d=0}function AY(n,t){if(null==n.g||t>=n.i)throw hp(new BI(t,n.i));return n.g[t]}function $Y(n,t,e){if(k6(n,e),null!=e&&!n.wj(e))throw hp(new Op);return e}function LY(n){var t;if(n.Ek())for(t=n.i-1;t>=0;--t)c1(n,t);return KX(n)}function NY(n){var t,e;if(!n.b)return null;for(e=n.b;t=e.a[0];)e=t;return e}function xY(n,t){var e;return nW(t),(e=aJ(n.slice(0,t),n)).length=t,e}function DY(n,t,e,i){WH(),i=i||IFn,Xsn(n.slice(t,e),n,t,e,-t,i)}function RY(n,t,e,i,r){return t<0?tfn(n,e,i):Yx(e,66).Nj().Pj(n,n.yh(),t,i,r)}function KY(n,t){if(t.a)throw hp(new Im(GMn));__(n.a,t),t.a=n,!n.j&&(n.j=t)}function _Y(n,t){PI.call(this,t.rd(),-16449&t.qd()),vB(n),this.a=n,this.c=t}function FY(n,t){var e,i;return i=t/n.c.Hd().gc()|0,e=t%n.c.Hd().gc(),bQ(n,i,e)}function BY(){BY=O,fHn=new oM(ySn,0),hHn=new oM(pSn,1),lHn=new oM(kSn,2)}function HY(){HY=O,WFn=new _T("All",0),VFn=new CC,QFn=new hO,YFn=new OC}function qY(){qY=O,ZFn=z6((HY(),x4(Gy(nBn,1),XEn,297,0,[WFn,VFn,QFn,YFn])))}function GY(){GY=O,vzn=z6((_4(),x4(Gy(Czn,1),XEn,405,0,[bzn,gzn,wzn,dzn])))}function zY(){zY=O,ZHn=z6((e4(),x4(Gy(rqn,1),XEn,406,0,[YHn,WHn,VHn,QHn])))}function UY(){UY=O,cqn=z6((Sen(),x4(Gy(aqn,1),XEn,323,0,[tqn,nqn,eqn,iqn])))}function XY(){XY=O,pqn=z6((Pen(),x4(Gy(mqn,1),XEn,394,0,[bqn,lqn,wqn,dqn])))}function WY(){WY=O,e5n=z6((Krn(),x4(Gy(i5n,1),XEn,393,0,[Y4n,J4n,Z4n,n5n])))}function VY(){VY=O,jXn=z6((R4(),x4(Gy(AXn,1),XEn,360,0,[yXn,vXn,mXn,pXn])))}function QY(){QY=O,c8n=z6((Hin(),x4(Gy(s8n,1),XEn,340,0,[i8n,t8n,e8n,n8n])))}function YY(){YY=O,RXn=z6((K4(),x4(Gy(qXn,1),XEn,411,0,[$Xn,LXn,NXn,xXn])))}function JY(){JY=O,C2n=z6((Hen(),x4(Gy(x2n,1),XEn,197,0,[S2n,P2n,M2n,T2n])))}function ZY(){ZY=O,Srt=z6((P6(),x4(Gy(Crt,1),XEn,396,0,[jrt,Ert,krt,Trt])))}function nJ(){nJ=O,Het=z6((Frn(),x4(Gy(Jet,1),XEn,285,0,[Fet,Ret,Ket,_et])))}function tJ(){tJ=O,get=z6((g7(),x4(Gy(Eet,1),XEn,218,0,[wet,fet,het,bet])))}function eJ(){eJ=O,mrt=z6((unn(),x4(Gy(yrt,1),XEn,311,0,[prt,wrt,grt,drt])))}function iJ(){iJ=O,ert=z6((Ann(),x4(Gy(lrt,1),XEn,374,0,[Zit,nrt,Jit,Yit])))}function rJ(){rJ=O,Jvn(),iot=JTn,eot=ZTn,cot=new ib(JTn),rot=new ib(ZTn)}function cJ(){cJ=O,rVn=new WM(fIn,0),iVn=new WM("IMPROVE_STRAIGHTNESS",1)}function aJ(n,t){return 10!=QJ(t)&&x4(V5(t),t.hm,t.__elementTypeId$,QJ(t),n),n}function uJ(n,t){var e;return-1!=(e=hJ(n,t,0))&&(KV(n,e),!0)}function oJ(n,t){var e;return(e=Yx(zV(n.e,t),387))?(_D(e),e.e):null}function sJ(n){var t;return tC(n)&&(t=0-n,!isNaN(t))?t:$3(h5(n))}function hJ(n,t,e){for(;e0?(n.f[s.p]=l/(s.e.c.length+s.g.c.length),n.c=e.Math.min(n.c,n.f[s.p]),n.b=e.Math.max(n.b,n.f[s.p])):u&&(n.f[s.p]=l)}}(n,t,i),0==n.a.c.length||function(n,t){var e,i,r,c,a,u,o,s,h,f;for(s=n.e[t.c.p][t.p]+1,o=t.c.a.c.length+1,u=new pb(n.a);u.a=0?$en(n,e,!0,!0):tfn(n,t,!0)}function _J(n,t){var e,i;return JE(),e=SX(n),i=SX(t),!!e&&!!i&&!Een(e.k,i.k)}function FJ(n){(this.q?this.q:(XH(),XH(),MFn)).Ac(n.q?n.q:(XH(),XH(),MFn))}function BJ(n,t){sqn=new it,gqn=t,Yx((oqn=n).b,65),QQ(oqn,sqn,null),Bmn(oqn)}function HJ(n,t,e){var i;return i=n.g[t],_O(n,t,n.oi(t,e)),n.gi(t,e,i),n.ci(),i}function qJ(n,t){var e;return(e=n.Xc(t))>=0&&(n.$c(e),!0)}function GJ(n){var t;return n.d!=n.r&&(t=fcn(n),n.e=!!t&&t.Cj()==KDn,n.d=t),n.e}function zJ(n,t){var e;for(MF(n),MF(t),e=!1;t.Ob();)e|=n.Fc(t.Pb());return e}function UJ(n,t){var e;return(e=Yx(BF(n.e,t),387))?(OO(n,e),e.e):null}function XJ(n){var t,e;return t=n/60|0,0==(e=n%60)?""+t:t+":"+e}function WJ(n,t){return W9(n),new SR(n,new VN(new JV(t,n.a)))}function VJ(n,t){var e=n.a[t],i=(r5(),S_n)[typeof e];return i?i(e):Z6(typeof e)}function QJ(n){return null==n.__elementTypeCategory$?10:n.__elementTypeCategory$}function YJ(n){var t;return null!=(t=0==n.b.c.length?null:TR(n.b,0))&&e2(n,0),t}function JJ(n,t){for(;t[0]=0;)++t[0]}function ZJ(n,t){this.e=t,this.a=h4(n),this.a<54?this.f=VU(n):this.c=Utn(n)}function nZ(n,t,e,i){Ljn(),np.call(this,26),this.c=n,this.a=t,this.d=e,this.b=i}function tZ(n,t,e){var i,r;for(i=10,r=0;rn.a[i]&&(i=e);return i}function uZ(n,t){return 0==t.e||0==n.e?pFn:(jfn(),Vbn(n,t))}function oZ(){oZ=O,kzn=new St,jzn=new Tt,mzn=new At,yzn=new $t,Ezn=new Lt}function sZ(){sZ=O,$Bn=new cM("BY_SIZE",0),LBn=new cM("BY_SIZE_AND_SHAPE",1)}function hZ(){hZ=O,Qqn=new fM("EADES",0),Yqn=new fM("FRUCHTERMAN_REINGOLD",1)}function fZ(){fZ=O,FWn=new zM("READING_DIRECTION",0),BWn=new zM("ROTATION",1)}function lZ(){lZ=O,_Wn=z6((min(),x4(Gy(HWn,1),XEn,335,0,[NWn,LWn,DWn,RWn,xWn])))}function bZ(){bZ=O,D2n=z6((ain(),x4(Gy(z2n,1),XEn,315,0,[N2n,A2n,$2n,O2n,L2n])))}function wZ(){wZ=O,GXn=z6((Tan(),x4(Gy(JXn,1),XEn,363,0,[_Xn,BXn,HXn,FXn,KXn])))}function dZ(){dZ=O,cYn=z6((d7(),x4(Gy(p2n,1),XEn,163,0,[iYn,ZQn,nYn,tYn,eYn])))}function gZ(){gZ=O,E9n=z6((Aon(),x4(Gy(c7n,1),XEn,316,0,[p9n,v9n,k9n,m9n,y9n])))}function pZ(){pZ=O,P7n=z6((Qtn(),x4(Gy(D7n,1),XEn,175,0,[T7n,E7n,k7n,M7n,j7n])))}function vZ(){vZ=O,t9n=z6((xbn(),x4(Gy(c9n,1),XEn,355,0,[Q8n,V8n,J8n,Y8n,Z8n])))}function mZ(){mZ=O,izn=z6(($un(),x4(Gy(azn,1),XEn,356,0,[YGn,JGn,ZGn,nzn,tzn])))}function yZ(){yZ=O,ret=z6((t9(),x4(Gy(oet,1),XEn,103,0,[tet,net,Ztt,Jtt,eet])))}function kZ(){kZ=O,ait=z6((Ytn(),x4(Gy(bit,1),XEn,249,0,[eit,rit,nit,tit,iit])))}function jZ(){jZ=O,zit=z6((Ikn(),x4(Gy(trt,1),lIn,61,0,[Hit,Tit,Eit,Bit,qit])))}function EZ(n,t){var e;return(e=Yx(BF(n.a,t),134))||(e=new Zn,xB(n.a,t,e)),e}function TZ(n){var t;return!!(t=Yx(Aun(n,(Ojn(),YVn)),305))&&t.a==n}function MZ(n){var t;return!!(t=Yx(Aun(n,(Ojn(),YVn)),305))&&t.i==n}function SZ(n,t){return vB(t),e_(n),!!n.d.Ob()&&(t.td(n.d.Pb()),!0)}function PZ(n){return k8(n,Yjn)>0?Yjn:k8(n,nTn)<0?nTn:WR(n)}function IZ(n){return n<3?(g0(n,GEn),n+1):n=0&&t=-.01&&n.a<=SSn&&(n.a=0),n.b>=-.01&&n.b<=SSn&&(n.b=0),n}function $Z(n,t){return t==(bx(),bx(),_Fn)?n.toLocaleLowerCase():n.toLowerCase()}function LZ(n){return(0!=(2&n.i)?"interface ":0!=(1&n.i)?"":"class ")+(sL(n),n.o)}function NZ(n){var t;t=new zv,fY((!n.q&&(n.q=new m_(fat,n,11,10)),n.q),t)}function xZ(n){this.g=n,this.f=new ip,this.a=e.Math.min(this.g.c.c,this.g.d.c)}function DZ(n){this.b=new ip,this.a=new ip,this.c=new ip,this.d=new ip,this.e=n}function RZ(n,t){this.a=new rp,this.e=new rp,this.b=(i8(),k2n),this.c=n,this.b=t}function KZ(n,t,e){sN.call(this),YZ(this),this.a=n,this.c=e,this.b=t.d,this.f=t.e}function _Z(n){this.d=n,this.c=n.c.vc().Kc(),this.b=null,this.a=null,this.e=(pm(),a_n)}function FZ(n){if(n<0)throw hp(new Qm("Illegal Capacity: "+n));this.g=this.ri(n)}function BZ(n){var t;M$(!!n.c),t=n.c.a,VZ(n.d,n.c),n.b==n.c?n.b=t:--n.a,n.c=null}function HZ(n,t){var e;return W9(n),e=new _H(n,n.a.rd(),4|n.a.qd(),t),new SR(n,e)}function qZ(n,t){var e;for(e=n.Kc();e.Ob();)b5(Yx(e.Pb(),70),(Ojn(),kQn),t)}function GZ(n){var t;return(t=ty(fL(Aun(n,(gjn(),y1n)))))<0&&b5(n,y1n,t=0),t}function zZ(n,t,e,i,r,c){var a;YG(a=EV(i),r),QG(a,c),Qhn(n.a,i,new jx(a,t,e.f))}function UZ(n,t){var e;if(!(e=Ybn(n.Tg(),t)))throw hp(new Qm(mNn+t+jNn));return e}function XZ(n,t){var e;for(e=n;IG(e);)if((e=IG(e))==t)return!0;return!1}function WZ(n,t){var e,i,r,c;for(vB(t),r=0,c=(i=n.c).length;r>16!=6?null:Yx(Bfn(n),235)}(n))&&!t.kh()&&(n.w=t),t)}function r1(n){var t;return null==n?null:function(n,t){var e,i,r,c,a;if(null==n)return null;for(a=VQ(Xot,sTn,25,2*t,15,1),i=0,r=0;i>4&15,c=15&n[i],a[r++]=zrt[e],a[r++]=zrt[c];return Vnn(a,0,a.length)}(t=Yx(n,190),t.length)}function c1(n,t){if(null==n.g||t>=n.i)throw hp(new BI(t,n.i));return n.li(t,n.g[t])}function a1(n){var t,e;for(t=n.a.d.j,e=n.c.d.j;t!=e;)n2(n.b,t),t=A9(t);n2(n.b,t)}function u1(n,t){var e,i,r,c;for(r=0,c=(i=n.d).length;r=14&&t<=16)),n}function f1(n,t,e){var i=function(){return n.apply(i,arguments)};return t.apply(i,e),i}function l1(n,t,e){var i,r;i=t;do{r=ty(n.p[i.p])+e,n.p[i.p]=r,i=n.a[i.p]}while(i!=t)}function b1(n,t){var e,i;i=n.a,e=function(n,t,e){var i,r;return r=n.a,n.a=t,0!=(4&n.Db)&&0==(1&n.Db)&&(i=new p_(n,1,5,r,n.a),e?Pan(e,i):e=i),e}(n,t,null),i!=t&&!n.e&&(e=zyn(n,t,e)),e&&e.Fi()}function w1(n,t){return XC(),o0(ZEn),e.Math.abs(n-t)<=ZEn||n==t||isNaN(n)&&isNaN(t)}function d1(n,t){return XC(),o0(ZEn),e.Math.abs(n-t)<=ZEn||n==t||isNaN(n)&&isNaN(t)}function g1(n,t){return function(n){return n?n.i:null}(K2(n,t,WR(e7(BEn,HB(WR(e7(null==t?0:W5(t),HEn)),15)))))}function p1(){p1=O,zzn=z6((bon(),x4(Gy(Uzn,1),XEn,267,0,[Hzn,Bzn,_zn,qzn,Fzn,Kzn])))}function v1(){v1=O,dnt=z6((dan(),x4(Gy(iet,1),XEn,291,0,[bnt,lnt,fnt,snt,ont,hnt])))}function m1(){m1=O,V7n=z6((qen(),x4(Gy(wnt,1),XEn,248,0,[H7n,z7n,U7n,X7n,q7n,G7n])))}function y1(){y1=O,vWn=z6((psn(),x4(Gy(kWn,1),XEn,227,0,[bWn,dWn,lWn,wWn,gWn,fWn])))}function k1(){k1=O,jVn=z6((uon(),x4(Gy(LVn,1),XEn,275,0,[mVn,gVn,yVn,vVn,pVn,dVn])))}function j1(){j1=O,wVn=z6((Wcn(),x4(Gy(kVn,1),XEn,274,0,[hVn,sVn,lVn,oVn,fVn,uVn])))}function E1(){E1=O,v2n=z6((nun(),x4(Gy(j2n,1),XEn,313,0,[d2n,b2n,f2n,l2n,g2n,w2n])))}function T1(){T1=O,eVn=z6((pon(),x4(Gy(cVn,1),XEn,276,0,[QWn,VWn,JWn,YWn,nVn,ZWn])))}function M1(){M1=O,l5n=z6((ysn(),x4(Gy(Z5n,1),XEn,327,0,[h5n,a5n,o5n,u5n,s5n,c5n])))}function S1(){S1=O,jit=z6((Chn(),x4(Gy(Git,1),XEn,273,0,[mit,pit,vit,git,dit,yit])))}function P1(){P1=O,Tet=z6((vun(),x4(Gy(xet,1),XEn,312,0,[ket,met,jet,pet,yet,vet])))}function I1(n,t){var e;e=n.a,n.a=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new aW(n,0,e,n.a))}function C1(n,t){var e;e=n.b,n.b=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new aW(n,1,e,n.b))}function O1(n,t){var e;e=n.b,n.b=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new aW(n,3,e,n.b))}function A1(n,t){var e;e=n.f,n.f=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new aW(n,3,e,n.f))}function $1(n,t){var e;e=n.g,n.g=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new aW(n,4,e,n.g))}function L1(n,t){var e;e=n.i,n.i=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new aW(n,5,e,n.i))}function N1(n,t){var e;e=n.j,n.j=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new aW(n,6,e,n.j))}function x1(n,t){var e;e=n.j,n.j=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new aW(n,1,e,n.j))}function D1(n,t){var e;e=n.c,n.c=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new aW(n,4,e,n.c))}function R1(n,t){var e;e=n.k,n.k=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new aW(n,2,e,n.k))}function K1(n,t){var e;e=n.d,n.d=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new uW(n,2,e,n.d))}function _1(n,t){var e;e=n.s,n.s=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new uW(n,4,e,n.s))}function F1(n,t){var e;e=n.t,n.t=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new uW(n,5,e,n.t))}function B1(n,t){var e;e=n.F,n.F=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new p_(n,1,5,e,t))}function H1(n,t){var e;return(e=Yx(BF((MT(),Nct),n),55))?e.xj(t):VQ(UKn,iEn,1,t,5,1)}function q1(n,t){var e;return t in n.a&&(e=jG(n,t).he())?e.a:null}function G1(n,t){var e,i;return xk(),i=new uo,!!t&&Xbn(i,t),x0(e=i,n),e}function z1(n,t,e){if(k6(n,e),!n.Bk()&&null!=e&&!n.wj(e))throw hp(new Op);return e}function U1(n,t){return n.n=t,n.n?(n.f=new ip,n.e=new ip):(n.f=null,n.e=null),n}function X1(n,t,e,i,r,c){var a;return e0(e,a=TF(n,t)),a.i=r?8:0,a.f=i,a.e=r,a.g=c,a}function W1(n,t,e,i,r){this.d=t,this.k=i,this.f=r,this.o=-1,this.p=1,this.c=n,this.a=e}function V1(n,t,e,i,r){this.d=t,this.k=i,this.f=r,this.o=-1,this.p=2,this.c=n,this.a=e}function Q1(n,t,e,i,r){this.d=t,this.k=i,this.f=r,this.o=-1,this.p=6,this.c=n,this.a=e}function Y1(n,t,e,i,r){this.d=t,this.k=i,this.f=r,this.o=-1,this.p=7,this.c=n,this.a=e}function J1(n,t,e,i,r){this.d=t,this.j=i,this.e=r,this.o=-1,this.p=4,this.c=n,this.a=e}function Z1(n,t){var e,i,r,c;for(r=0,c=(i=t).length;r=0),function(n,t){var e,i,r;return i=n.a.length-1,e=t-n.b&i,r=n.c-t&i,E$(e<(n.c-n.b&i)),e>=r?(function(n,t){var e,i;for(e=n.a.length-1,n.c=n.c-1&e;t!=n.c;)i=t+1&e,DF(n.a,t,n.a[i]),t=i;DF(n.a,n.c,null)}(n,t),-1):(function(n,t){var e,i;for(e=n.a.length-1;t!=n.b;)i=t-1&e,DF(n.a,t,n.a[i]),t=i;DF(n.a,n.b,null),n.b=n.b+1&e}(n,t),1)}(n.d,n.c)<0&&(n.a=n.a-1&n.d.a.length-1,n.b=n.d.c),n.c=-1}function u0(n){return n.a<54?n.f<0?-1:n.f>0?1:0:(!n.c&&(n.c=J6(n.f)),n.c).e}function o0(n){if(!(n>=0))throw hp(new Qm("tolerance ("+n+") must be >= 0"));return n}function s0(){return m7n||h6(m7n=new Jdn,x4(Gy(ZBn,1),iEn,130,0,[new $f])),m7n}function h0(){h0=O,r3n=new sS(MSn,0),e3n=new sS("INPUT",1),i3n=new sS("OUTPUT",2)}function f0(){f0=O,IWn=new qM("ARD",0),OWn=new qM("MSD",1),CWn=new qM("MANUAL",2)}function l0(){l0=O,G3n=new dS("BARYCENTER",0),z3n=new dS(KIn,1),U3n=new dS(_In,2)}function b0(n,t){var e;if(e=n.gc(),t<0||t>e)throw hp(new jN(t,e));return new WN(n,t)}function w0(n,t){var e;return CO(t,42)?n.c.Mc(t):(e=mnn(n,t),ttn(n,t),e)}function d0(n,t,e){return a8(n,t),E2(n,e),_1(n,0),F1(n,1),l9(n,!0),s9(n,!0),n}function g0(n,t){if(n<0)throw hp(new Qm(t+" cannot be negative but was: "+n));return n}function p0(n,t){var e,i;for(e=0,i=n.gc();e0?Yx(TR(e.a,i-1),10):null}function $0(n,t){var e;e=n.k,n.k=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new p_(n,1,2,e,n.k))}function L0(n,t){var e;e=n.f,n.f=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new p_(n,1,8,e,n.f))}function N0(n,t){var e;e=n.i,n.i=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new p_(n,1,7,e,n.i))}function x0(n,t){var e;e=n.a,n.a=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new p_(n,1,8,e,n.a))}function D0(n,t){var e;e=n.b,n.b=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new p_(n,1,0,e,n.b))}function R0(n,t){var e;e=n.b,n.b=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new p_(n,1,0,e,n.b))}function K0(n,t){var e;e=n.c,n.c=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new p_(n,1,1,e,n.c))}function _0(n,t){var e;e=n.c,n.c=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new p_(n,1,1,e,n.c))}function F0(n,t){var e;e=n.c,n.c=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new p_(n,1,4,e,n.c))}function B0(n,t){var e;e=n.d,n.d=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new p_(n,1,1,e,n.d))}function H0(n,t){var e;e=n.D,n.D=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new p_(n,1,2,e,n.D))}function q0(n,t){n.r>0&&n.c0&&0!=n.g&&q0(n.i,t/n.r*n.i.d))}function G0(n,t){return Lwn(n.e,t)?(TT(),GJ(t)?new cR(t,n):new VP(t,n)):new JP(t,n)}function z0(n,t){return function(n){return n?n.g:null}(_2(n.a,t,WR(e7(BEn,HB(WR(e7(null==t?0:W5(t),HEn)),15)))))}function U0(n){var t;return(n=e.Math.max(n,2))>(t=j5(n))?(t<<=1)>0?t:zEn:t}function X0(n){switch(kA(3!=n.e),n.e){case 2:return!1;case 0:return!0}return function(n){return n.e=3,n.d=n.Yb(),2!=n.e&&(n.e=0,!0)}(n)}function W0(n,t){var e;return!!CO(t,8)&&(e=Yx(t,8),n.a==e.a&&n.b==e.b)}function V0(n,t,e){var i,r;return r=t>>5,i=31&t,Gz(UK(n.n[e][r],WR(GK(i,1))),3)}function Q0(n,t){var e;e=n.b,n.b=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new p_(n,1,21,e,n.b))}function Y0(n,t){var e;e=n.d,n.d=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new p_(n,1,11,e,n.d))}function J0(n,t){var e;e=n.j,n.j=t,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new p_(n,1,13,e,n.j))}function Z0(n,t,e){var i,r,c;for(c=n.a.length-1,r=n.b,i=0;i0?t-1:t,pk(function(n,t){return n.j=t,n}(U1(xD(new am,e),n.n),n.j),n.k)}(n,n.g),KD(n.a,e),e.i=n,n.d=t,e)}function Z2(n,t,e){run(e,"DFS Treeifying phase",1),function(n,t){var e,i,r;for(r=t.b.b,n.a=new ME,n.b=VQ(Wot,MTn,25,r,15,1),e=0,i=Ztn(t.b,0);i.b!=i.d.c;)Yx(IX(i),86).g=e++}(n,t),function(n,t){var e,i,r,c,a;for(a=Yx(Aun(t,(cln(),X5n)),425),c=Ztn(t.b,0);c.b!=c.d.c;)if(r=Yx(IX(c),86),0==n.b[r.g]){switch(a.g){case 0:yin(n,r);break;case 1:gln(n,r)}n.b[r.g]=2}for(i=Ztn(n.a,0);i.b!=i.d.c;)V7((e=Yx(IX(i),188)).b.d,e,!0),V7(e.c.b,e,!0);b5(t,(ryn(),S5n),n.a)}(n,t),n.a=null,n.b=null,Ron(e)}function n3(n,t,e){this.g=n,this.d=t,this.e=e,this.a=new ip,function(n){var t,e,i,r;for(r=V8(n.d,n.e).Kc();r.Ob();)for(i=Yx(r.Pb(),11),e=new pb(n.e==(Ikn(),qit)?i.e:i.g);e.a0&&(this.g=this.ri(this.i+(this.i/8|0)+1),n.Qc(this.g))}function e3(n,t){CD.call(this,sut,n,t),this.b=this,this.a=dwn(n.Tg(),CZ(this.e.Tg(),this.c))}function i3(n,t){var e,i;for(vB(t),i=t.vc().Kc();i.Ob();)e=Yx(i.Pb(),42),n.zc(e.cd(),e.dd())}function r3(n){var t;if(-2==n.b){if(0==n.e)t=-1;else for(t=0;0==n.a[t];t++);n.b=t}return n.b}function c3(n){switch(n.g){case 2:return Ikn(),qit;case 4:return Ikn(),Eit;default:return n}}function a3(n){switch(n.g){case 1:return Ikn(),Bit;case 3:return Ikn(),Tit;default:return n}}function u3(n,t){return TA(),aI(n)?FV(n,lL(t)):cI(n)?WK(n,fL(t)):rI(n)?XK(n,hL(t)):n.wd(t)}function o3(n,t){t.q=n,n.d=e.Math.max(n.d,t.r),n.b+=t.d+(0==n.a.c.length?0:n.c),eD(n.a,t)}function s3(n,t){var e,i,r,c;return r=n.c,e=n.c+n.b,c=n.d,i=n.d+n.a,t.a>r&&t.ac&&t.b0||h.j==qit&&h.e.c.length-h.g.c.length<0)){t=!1;break}for(r=new pb(h.g);r.a=0x8000000000000000?(LJ(),I_n):(i=!1,n<0&&(i=!0,n=-n),e=0,n>=zTn&&(n-=(e=oG(n/zTn))*zTn),t=0,n>=GTn&&(n-=(t=oG(n/GTn))*GTn),r=rO(oG(n),t,e),i&&A5(r),r)}(n))}function R3(n,t){var e,i,r;for(e=n.c.Ee(),r=t.Kc();r.Ob();)i=r.Pb(),n.a.Od(e,i);return n.b.Kb(e)}function K3(n,t){var e,i,r;if(null!=(e=n.Jg())&&n.Mg())for(i=0,r=e.length;i1||n.Ob())return++n.a,n.g=0,t=n.i,n.Ob(),t;throw hp(new Kp)}function W3(n){var t,e,i;return e=0,(i=n)<0&&(i+=zTn,e=HTn),t=oG(i/GTn),rO(oG(i-t*GTn),t,e)}function V3(n){var t,e,i;for(i=0,e=new TE(n.a);e.a>22),r=n.h-t.h+(i>>22),rO(e&BTn,i&BTn,r&HTn)}function k4(n){var t;return n<128?(!(t=(dR(),F_n)[n])&&(t=F_n[n]=new eb(n)),t):new eb(n)}function j4(n){var t;return CO(n,78)?n:((t=n&&n.__java$exception)||Sp(t=new n8(n)),t)}function E4(n){if(CO(n,186))return Yx(n,118);if(n)return null;throw hp(new Zm(pxn))}function T4(n,t){if(null==t)return!1;for(;n.a!=n.b;)if(Q8(t,w8(n)))return!0;return!1}function M4(n){return!!n.a.Ob()||n.a==n.d&&(n.a=new ZU(n.e.f),n.a.Ob())}function S4(n,t){var e;return 0!=(e=t.Pc()).length&&(sD(n.c,n.c.length,e),!0)}function P4(n,t){var e;for(e=new pb(n.b);e.a=0,"Negative initial capacity"),jD(t>=0,"Non-positive load factor"),U_(this)}function a5(n,t,e){return!(n>=128)&&hI(n<64?Gz(GK(1,n),e):Gz(GK(1,n-64),t),0)}function u5(n,t){return!(!n||!t||n==t)&&y7(n.b.c,t.b.c+t.b.b)<0&&y7(t.b.c,n.b.c+n.b.b)<0}function o5(n){var t,e,i;return e=n.n,i=n.o,t=n.d,new mH(e.a-t.b,e.b-t.d,i.a+(t.b+t.c),i.b+(t.d+t.a))}function s5(n){var t,i;for(null==n.j&&(n.j=($q(),function(n){var t,i,r;for(t="Sz",i="ez",r=e.Math.min(n.length,5)-1;r>=0;r--)if(_N(n[r].d,t)||_N(n[r].d,i)){n.length>=r+1&&n.splice(0,r+1);break}return n}(p_n.ce(n)))),t=0,i=n.j.length;t(i=n.gc()))throw hp(new jN(t,i));return n.hi()&&(e=OG(n,e)),n.Vh(t,e)}function l5(n,t,e){return null==e?(!n.q&&(n.q=new rp),zV(n.q,t)):(!n.q&&(n.q=new rp),xB(n.q,t,e)),n}function b5(n,t,e){return null==e?(!n.q&&(n.q=new rp),zV(n.q,t)):(!n.q&&(n.q=new rp),xB(n.q,t,e)),n}function w5(n){var t,i;return o4(i=new XV,n),b5(i,(d2(),EGn),n),function(n,t,i){var r,c,a,u,o;for(r=0,a=new UO((!n.a&&(n.a=new m_(uct,n,10,11)),n.a));a.e!=a.i.gc();)u="",0==(!(c=Yx(hen(a),33)).n&&(c.n=new m_(act,c,1,7)),c.n).i||(u=Yx(c1((!c.n&&(c.n=new m_(act,c,1,7)),c.n),0),137).a),o4(o=new GF(u),c),b5(o,(d2(),EGn),c),o.b=r++,o.d.a=c.i+c.g/2,o.d.b=c.j+c.f/2,o.e.a=e.Math.max(c.g,1),o.e.b=e.Math.max(c.f,1),eD(t.e,o),Ysn(i.f,c,o),Yx(jln(c,(Bdn(),fGn)),98),Ran()}(n,i,t=new rp),function(n,t,i){var r,c,a,u,o,s,f,l;for(s=new UO((!n.a&&(n.a=new m_(uct,n,10,11)),n.a));s.e!=s.i.gc();)for(c=new $K(bA(lbn(o=Yx(hen(s),33)).a.Kc(),new h));Vfn(c);){if(!(r=Yx(kV(c),79)).b&&(r.b=new AN(Zrt,r,4,7)),!(r.b.i<=1&&(!r.c&&(r.c=new AN(Zrt,r,5,8)),r.c.i<=1)))throw hp(new by("Graph must not contain hyperedges."));if(!Rfn(r)&&o!=iun(Yx(c1((!r.c&&(r.c=new AN(Zrt,r,5,8)),r.c),0),82)))for(o4(f=new rN,r),b5(f,(d2(),EGn),r),Cl(f,Yx(eI(Dq(i.f,o)),144)),Ol(f,Yx(BF(i,iun(Yx(c1((!r.c&&(r.c=new AN(Zrt,r,5,8)),r.c),0),82))),144)),eD(t.c,f),u=new UO((!r.n&&(r.n=new m_(act,r,1,7)),r.n));u.e!=u.i.gc();)o4(l=new wW(f,(a=Yx(hen(u),137)).a),a),b5(l,EGn,a),l.e.a=e.Math.max(a.g,1),l.e.b=e.Math.max(a.f,1),Wvn(l),eD(t.d,l)}}(n,i,t),i}function d5(n,t){var e,i,r;for(e=!1,i=n.a[t].length,r=0;r>=1);return t}function E5(n){var t,e;return 32==(e=Yhn(n.h))?32==(t=Yhn(n.m))?Yhn(n.l)+32:t+20-10:e-12}function T5(n){var t;return null==(t=n.a[n.b])?null:(DF(n.a,n.b,null),n.b=n.b+1&n.a.length-1,t)}function M5(n){var t,e;return t=n.t-n.k[n.o.p]*n.d+n.j[n.o.p]>n.f,e=n.u+n.e[n.o.p]*n.d>n.f*n.s*n.d,t||e}function S5(n,t,e){var i,r;return i=new nY(t,e),r=new q,n.b=Hwn(n,n.b,i,r),r.b||++n.c,n.b.b=!1,r.d}function P5(n,t,e){var i,r,c;for(c=0,r=V8(t,e).Kc();r.Ob();)i=Yx(r.Pb(),11),xB(n.c,i,d9(c++))}function I5(n){var t,e;for(e=new pb(n.a.b);e.ae&&(e=n[t]);return e}function x5(n,t,e){var i;return Swn(n,t,i=new ip,(Ikn(),Eit),!0,!1),Swn(n,e,i,qit,!1,!1),i}function D5(n,t,e){var i,r;return r=cX(t,"labels"),function(n,t,e){var i,r,c,a;if(e)for(r=((i=new NK(e.a.length)).b-i.a)*i.c<0?(PT(),Fot):new oA(i);r.Ob();)(c=aX(e,Yx(r.Pb(),19).a))&&(a=G1(oX(c,zNn),t),xB(n.f,a,c),rxn in c.a&&$0(a,oX(c,rxn)),eun(c,a),ihn(c,a))}((i=new AP(n,e)).a,i.b,r),r}function R5(n,t){var e;for(e=0;e1||t>=0&&n.b<3)}function U5(n){var t,e;for(t=new Nv,e=Ztn(n,0);e.b!=e.d.c;)A$(t,0,new fC(Yx(IX(e),8)));return t}function X5(n){var t;for(t=new pb(n.a.b);t.a=n.b.c.length||(l6(n,2*t+1),(e=2*t+2)=0&&n[i]===t[i];i--);return i<0?0:LT(Gz(n[i],uMn),Gz(t[i],uMn))?-1:1}function d6(n,t){var e,i;return i=Yx(H3(n.a,4),126),e=VQ(Oct,vDn,415,t,0,1),null!=i&&smn(i,0,e,0,i.length),e}function g6(n,t){var e;return e=new xdn(0!=(256&n.f),n.i,n.a,n.d,0!=(16&n.f),n.j,n.g,t),null!=n.e||(e.c=n),e}function p6(n,t,e,i,r){var c,a;for(a=e;a<=r;a++)for(c=t;c<=i;c++)if(Nin(n,c,a))return!0;return!1}function v6(n,t,e){var i,r,c,a;for(vB(e),a=!1,c=n.Zc(t),r=e.Kc();r.Ob();)i=r.Pb(),c.Rb(i),a=!0;return a}function m6(n,t,e){var i,r;for(r=e.Kc();r.Ob();)if(i=Yx(r.Pb(),42),n.re(t,i.dd()))return!0;return!1}function y6(n,t,e){return n.d[t.p][e.p]||(function(n,t,e){if(n.e)switch(n.b){case 1:!function(n,t,e){n.i=0,n.e=0,t!=e&&H5(n,t,e)}(n.c,t,e);break;case 0:!function(n,t,e){n.i=0,n.e=0,t!=e&&q5(n,t,e)}(n.c,t,e)}else YX(n.c,t,e);n.a[t.p][e.p]=n.c.i,n.a[e.p][t.p]=n.c.e}(n,t,e),n.d[t.p][e.p]=!0,n.d[e.p][t.p]=!0),n.a[t.p][e.p]}function k6(n,t){if(!n.ai()&&null==t)throw hp(new Qm("The 'no null' constraint is violated"));return t}function j6(n,t){null==n.D&&null!=n.B&&(n.D=n.B,n.B=null),H0(n,null==t?null:(vB(t),t)),n.C&&n.yk(null)}function E6(n,t){return!(!n||n==t||!O$(t,(Ojn(),vQn)))&&Yx(Aun(t,(Ojn(),vQn)),10)!=n}function T6(n){switch(n.i){case 2:return!0;case 1:return!1;case-1:++n.c;default:return n.pl()}}function M6(n){switch(n.i){case-2:return!0;case-1:return!1;case 1:--n.c;default:return n.ql()}}function S6(n){vG.call(this,"The given string does not match the expected format for individual spacings.",n)}function P6(){P6=O,jrt=new yP("ELK",0),Ert=new yP("JSON",1),krt=new yP("DOT",2),Trt=new yP("SVG",3)}function I6(){I6=O,E6n=new DS(fIn,0),T6n=new DS("RADIAL_COMPACTION",1),M6n=new DS("WEDGE_COMPACTION",2)}function C6(){C6=O,cBn=new FT("CONCURRENT",0),aBn=new FT("IDENTITY_FINISH",1),uBn=new FT("UNORDERED",2)}function O6(){O6=O,BE(),jqn=new FI(ePn,Eqn=vqn),kqn=new Og(iPn),Tqn=new Og(rPn),Mqn=new Og(cPn)}function A6(){A6=O,SXn=new ji,PXn=new Ei,MXn=new Ti,TXn=new Mi,vB(new Si),EXn=new D}function $6(){$6=O,g3n=new lS("CONSERVATIVE",0),p3n=new lS("CONSERVATIVE_SOFT",1),v3n=new lS("SLOPPY",2)}function L6(){L6=O,Oet=new RC(15),Cet=new DC((Cjn(),utt),Oet),Aet=Ott,Met=ynt,Set=Jnt,Iet=ttt,Pet=ntt}function N6(n,t,e){var i,r;for(i=new ME,r=Ztn(e,0);r.b!=r.d.c;)KD(i,new fC(Yx(IX(r),8)));v6(n,t,i)}function x6(n){var t;return!n.a&&(n.a=new m_(sat,n,9,5)),0!=(t=n.a).i?function(n){return n.b?n.b:n.a}(Yx(c1(t,0),678)):null}function D6(n,t){var e;return e=t7(n,t),LT(Uz(n,t),0)|function(n,t){return k8(n,t)>=0}(Uz(n,e),0)?e:t7(IEn,Uz(UK(e,63),1))}function R6(n,t){var e,i;if(0!=(i=n.c[t]))for(n.c[t]=0,n.d-=i,e=t+1;e0)return i_(t-1,n.a.c.length),KV(n.a,t-1);throw hp(new Rp)}function _6(n,t,e){if(n>t)throw hp(new Qm(NMn+n+xMn+t));if(n<0||t>e)throw hp(new Py(NMn+n+DMn+t+MMn+e))}function F6(n){if(!n.a||0==(8&n.a.i))throw hp(new Ym("Enumeration class expected for layout option "+n.f))}function B6(n){var t;++n.j,0==n.i?n.g=null:n.in$n?n-i>n$n:i-n>n$n)}function Q6(n,t){return n?t&&!n.j||CO(n,124)&&0==Yx(n,124).a.b?0:n.Re():0}function Y6(n,t){return n?t&&!n.k||CO(n,124)&&0==Yx(n,124).a.a?0:n.Se():0}function J6(n){return bdn(),n<0?-1!=n?new jen(-1,-n):lFn:n<=10?wFn[oG(n)]:new jen(1,n)}function Z6(n){throw r5(),hp(new Cm("Unexpected typeof result '"+n+"'; please report this bug to the GWT team"))}function n8(n){vy(),jO(this),qH(this),this.e=n,Cwn(this,n),this.g=null==n?aEn:I7(n),this.a="",this.b=n,this.a=""}function t8(){this.a=new nu,this.f=new Kd(this),this.b=new _d(this),this.i=new Fd(this),this.e=new Bd(this)}function e8(){vm.call(this,new tY(IZ(16))),g0(2,EEn),this.b=2,this.a=new IB(null,null,0,null),kp(this.a,this.a)}function i8(){i8=O,m2n=new eS("DUMMY_NODE_OVER",0),y2n=new eS("DUMMY_NODE_UNDER",1),k2n=new eS("EQUAL",2)}function r8(){r8=O,uzn=kG(x4(Gy(oet,1),XEn,103,0,[(t9(),Ztt),net])),ozn=kG(x4(Gy(oet,1),XEn,103,0,[eet,Jtt]))}function c8(n){return(Ikn(),xit).Hc(n.j)?ty(fL(Aun(n,(Ojn(),XQn)))):$5(x4(Gy(B7n,1),TEn,8,0,[n.i.n,n.n,n.a])).b}function a8(n,t){var e,i;e=n.nk(t,null),i=null,t&&(Rk(),b1(i=new up,n.r)),(e=fun(n,i,e))&&e.Fi()}function u8(n,t){var e,i,r;return i=!1,e=t.q.d,t.dr&&(san(t.q,r),i=e!=t.q.d)),i}function o8(n,t){var i,r,c,a,u;return a=t.i,u=t.j,r=a-(i=n.f).i,c=u-i.j,e.Math.sqrt(r*r+c*c)}function s8(n,t){var e;return(e=rtn(n))||(!Xrt&&(Xrt=new Oo),Cmn(),fY((e=new Yg(xsn(t))).Vk(),n)),e}function h8(n,t){var e,i;return(e=Yx(n.c.Bc(t),14))?((i=n.hc()).Gc(e),n.d-=e.gc(),e.$b(),n.mc(i)):n.jc()}function f8(n,t){var e;for(e=0;e=0?t:-t;i>0;)i%2==0?(e*=e,i=i/2|0):(r*=e,i-=1);return t<0?1/r:r}function C8(n){var t,e,i,r;if(null!=n)for(e=0;e0&&a6(Yx(TR(n.a,n.a.c.length-1),570),t)||eD(n.a,new iV(t))}function _8(n){var t;return(t=new Ay).a+="VerticalSegment ",mI(t,n.e),t.a+=" ",yI(t,lA(new Ty,new pb(n.k))),t.a}function F8(n){var t;return(t=Yx(UJ(n.c.c,""),229))||(t=new dz(ok(uk(new pu,""),"Other")),Gtn(n.c.c,"",t)),t}function B8(n){var t;return 0!=(64&n.Db)?Kln(n):((t=new MA(Kln(n))).a+=" (name: ",pI(t,n.zb),t.a+=")",t.a)}function H8(n,t,e){var i,r;return r=n.sb,n.sb=t,0!=(4&n.Db)&&0==(1&n.Db)&&(i=new p_(n,1,4,r,t),e?e.Ei(i):e=i),e}function q8(n,t){var e,i;for(e=0,i=i7(n,t).Kc();i.Ob();)e+=null!=Aun(Yx(i.Pb(),11),(Ojn(),RQn))?1:0;return e}function G8(n,t,e){var i,r,c;for(i=0,c=Ztn(n,0);c.b!=c.d.c&&!((r=ty(fL(IX(c))))>e);)r>=t&&++i;return i}function z8(n,t,e){var i,r;return r=n.r,n.r=t,0!=(4&n.Db)&&0==(1&n.Db)&&(i=new p_(n,1,8,r,n.r),e?e.Ei(i):e=i),e}function U8(n,t){var e,i;return!(i=(e=Yx(t,676)).vk())&&e.wk(i=CO(t,88)?new UP(n,Yx(t,26)):new mU(n,Yx(t,148))),i}function X8(n,t,e){var i;n.qi(n.i+1),i=n.oi(t,e),t!=n.i&&smn(n.g,t,n.g,t+1,n.i-t),DF(n.g,t,i),++n.i,n.bi(t,e),n.ci()}function W8(n,t){var e;return e=new sn,n.a.sd(e)?(qO(),new Am(vB(fJ(n,e.a,t)))):(yB(n),qO(),qO(),FFn)}function V8(n,t){switch(t.g){case 2:case 1:return i7(n,t);case 3:case 4:return I3(i7(n,t))}return XH(),XH(),TFn}function Q8(n,t){return aI(n)?_N(n,t):cI(n)?KN(n,t):rI(n)?(vB(n),iI(n)===iI(t)):IK(n)?n.Fb(t):uK(n)?WI(n,t):Jz(n,t)}function Y8(n,t,e,i,r){0!=t&&0!=i&&(1==t?r[i]=Gen(r,e,i,n[0]):1==i?r[t]=Gen(r,n,t,e[0]):function(n,t,e,i,r){var c,a,u,o;if(iI(n)!==iI(t)||i!=r)for(u=0;ue)throw hp(new Hm(NMn+n+DMn+t+", size: "+e));if(n>t)throw hp(new Qm(NMn+n+xMn+t))}function r9(n,t,e){if(t<0)Ehn(n,e);else{if(!e.Ij())throw hp(new Qm(mNn+e.ne()+yNn));Yx(e,66).Nj().Vj(n,n.yh(),t)}}function c9(n,t,e,i,r,c){this.e=new ip,this.f=(h0(),r3n),eD(this.e,n),this.d=t,this.a=e,this.b=i,this.f=r,this.c=c}function a9(n,t){var e,i;for(i=new UO(n);i.e!=i.i.gc();)if(e=Yx(hen(i),26),iI(t)===iI(e))return!0;return!1}function u9(n){return n>=65&&n<=70?n-65+10:n>=97&&n<=102?n-97+10:n>=48&&n<=57?n-48:0}function o9(n){var t;return 0!=(64&n.Db)?Kln(n):((t=new MA(Kln(n))).a+=" (source: ",pI(t,n.d),t.a+=")",t.a)}function s9(n,t){var e;e=0!=(256&n.Bb),t?n.Bb|=256:n.Bb&=-257,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new OV(n,1,2,e,t))}function h9(n,t){var e;e=0!=(256&n.Bb),t?n.Bb|=256:n.Bb&=-257,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new OV(n,1,8,e,t))}function f9(n,t){var e;e=0!=(256&n.Bb),t?n.Bb|=256:n.Bb&=-257,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new OV(n,1,8,e,t))}function l9(n,t){var e;e=0!=(512&n.Bb),t?n.Bb|=512:n.Bb&=-513,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new OV(n,1,3,e,t))}function b9(n,t){var e;e=0!=(512&n.Bb),t?n.Bb|=512:n.Bb&=-513,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new OV(n,1,9,e,t))}function w9(n,t){var e;return-1==n.b&&n.a&&(e=n.a.Gj(),n.b=e?n.c.Xg(n.a.aj(),e):tnn(n.c.Tg(),n.a)),n.c.Og(n.b,t)}function d9(n){var t,e;return n>-129&&n<128?(t=n+128,!(e=(ZD(),G_n)[t])&&(e=G_n[t]=new rb(n)),e):new rb(n)}function g9(n){var t,e;return n>-129&&n<128?(t=n+128,!(e=(wR(),Z_n)[t])&&(e=Z_n[t]=new ab(n)),e):new ab(n)}function p9(n){var t;return n.k==(bon(),_zn)&&((t=Yx(Aun(n,(Ojn(),hQn)),61))==(Ikn(),Tit)||t==Bit)}function v9(n,t,e){var i,r;return(r=Hln(n.b,t))&&(i=Yx(Imn(SJ(n,r),""),26))?Lln(n,i,t,e):null}function m9(n,t){var e,i;for(i=new UO(n);i.e!=i.i.gc();)if(e=Yx(hen(i),138),iI(t)===iI(e))return!0;return!1}function y9(n,t,e){var i;if(t>(i=n.gc()))throw hp(new jN(t,i));if(n.hi()&&n.Hc(e))throw hp(new Qm(kxn));n.Xh(t,e)}function k9(n,t){var e;if(CO(e=Ybn(n,t),322))return Yx(e,34);throw hp(new Qm(mNn+t+"' is not a valid attribute"))}function j9(n){var t,e,i;for(t=new ip,i=new pb(n.b);i.at?1:n==t?0==n?$9(1/n,1/t):0:isNaN(n)?isNaN(t)?0:1:-1}function L9(n,t,e){var i,r;return n.ej()?(r=n.fj(),i=Vhn(n,t,e),n.$i(n.Zi(7,d9(e),i,t,r)),i):Vhn(n,t,e)}function N9(n,t){var e,i,r;null==n.d?(++n.e,--n.f):(r=t.cd(),function(n,t,e){++n.e,--n.f,Yx(n.d[t].$c(e),133).dd()}(n,i=((e=t.Sh())&Yjn)%n.d.length,Bln(n,i,e,r)))}function x9(n,t){var e;e=0!=(n.Bb&DNn),t?n.Bb|=DNn:n.Bb&=-1025,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new OV(n,1,10,e,t))}function D9(n,t){var e;e=0!=(n.Bb&nMn),t?n.Bb|=nMn:n.Bb&=-4097,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new OV(n,1,12,e,t))}function R9(n,t){var e;e=0!=(n.Bb&_Dn),t?n.Bb|=_Dn:n.Bb&=-8193,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new OV(n,1,15,e,t))}function K9(n,t){var e;e=0!=(n.Bb&FDn),t?n.Bb|=FDn:n.Bb&=-2049,0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new OV(n,1,11,e,t))}function _9(n){var t,e;for(e=Vln(i1(n)).Kc();e.Ob();)if(dpn(n,t=lL(e.Pb())))return dW((pT(),Jct),t);return null}function F9(n,t,e){var i;if(n.c)Pun(n.c,t,e);else for(i=new pb(n.b);i.a>10)+iMn&fTn,t[1]=56320+(1023&n)&fTn,Vnn(t,0,t.length)}function X9(n){var t;return(t=Yx(Aun(n,(gjn(),a1n)),103))==(t9(),tet)?ty(fL(Aun(n,RZn)))>=1?net:Jtt:t}function W9(n){if(n.c)W9(n.c);else if(n.d)throw hp(new Ym("Stream already terminated, can't be modified or used"))}function V9(n){var t;return 0!=(64&n.Db)?Kln(n):((t=new MA(Kln(n))).a+=" (identifier: ",pI(t,n.k),t.a+=")",t.a)}function Q9(n,t,e){var i;return xk(),I1(i=new ro,t),C1(i,e),n&&fY((!n.a&&(n.a=new XO(Qrt,n,5)),n.a),i),i}function Y9(n,t,e,i){var r,c;return vB(i),vB(e),null==(c=null==(r=n.xc(t))?e:PE(Yx(r,15),Yx(e,14)))?n.Bc(t):n.zc(t,c),c}function J9(n){var t,e,i,r;return n2(e=new cx(t=Yx(Ak((r=(i=n.gm).f)==u_n?i:r),9),Yx(eN(t,t.length),9),0),n),e}function Z9(n,t,e){var i,r;for(r=n.a.ec().Kc();r.Ob();)if(i=Yx(r.Pb(),10),m4(e,Yx(TR(t,i.p),14)))return i;return null}function n7(n,t){var e;return tC(n)&&tC(t)&&XTn<(e=n-t)&&e>22),r=n.h+t.h+(i>>22),rO(e&BTn,i&BTn,r&HTn)}(tC(n)?W3(n):n,tC(t)?W3(t):t))}function e7(n,t){var e;return tC(n)&&tC(t)&&XTn<(e=n*t)&&e>13|(15&n.m)<<9,r=n.m>>4&8191,c=n.m>>17|(255&n.h)<<5,a=(1048320&n.h)>>8,g=i*(u=8191&t.l),p=r*u,v=c*u,m=a*u,0!=(o=t.l>>13|(15&t.m)<<9)&&(g+=e*o,p+=i*o,v+=r*o,m+=c*o),0!=(s=t.m>>4&8191)&&(p+=e*s,v+=i*s,m+=r*s),0!=(h=t.m>>17|(255&t.h)<<5)&&(v+=e*h,m+=i*h),0!=(f=(1048320&t.h)>>8)&&(m+=e*f),b=((d=e*u)>>22)+(g>>9)+((262143&p)<<4)+((31&v)<<17),w=(p>>18)+(v>>5)+((4095&m)<<8),w+=(b+=(l=(d&BTn)+((511&g)<<13))>>22)>>22,rO(l&=BTn,b&=BTn,w&=HTn)}(tC(n)?W3(n):n,tC(t)?W3(t):t))}function i7(n,t){var e;return n.i||yhn(n),(e=Yx(GB(n.g,t),46))?new Oz(n.j,Yx(e.a,19).a,Yx(e.b,19).a):(XH(),XH(),TFn)}function r7(n,t,e){var i;return i=n.a.get(t),n.a.set(t,void 0===e?null:e),void 0===i?(++n.c,gq(n.b)):++n.d,i}function c7(){var n,t,i;Qan(),i=XFn+++Date.now(),n=oG(e.Math.floor(i*jMn))&TMn,t=oG(i-n*EMn),this.a=1502^n,this.b=t^kMn}function a7(n){var t,e;for(t=new ip,e=new pb(n.j);e.a>1&1431655765)>>2&858993459)+(858993459&n))>>4)+n&252645135,63&(n+=n>>8)+(n>>16)}function f7(n){var t,e,i;for(t=new UL(n.Hd().gc()),i=0,e=PY(n.Hd().Kc());e.Ob();)XG(t,e.Pb(),d9(i++));return function(n){var t;switch(KB(),n.c.length){case 0:return e_n;case 1:return function(n,t){return KB(),gin(n,t),new OB(n,t)}((t=Yx(vhn(new pb(n)),42)).cd(),t.dd());default:return new Em(Yx(Htn(n,VQ(i_n,DEn,42,n.c.length,0,1)),165))}}(t.a)}function l7(n,t){0==n.n.c.length&&eD(n.n,new gG(n.s,n.t,n.i)),eD(n.b,t),Cin(Yx(TR(n.n,n.n.c.length-1),211),t),uvn(n,t)}function b7(n){return n.c==n.b.b&&n.i==n.g.b||(n.a.c=VQ(UKn,iEn,1,0,5,1),S4(n.a,n.b),S4(n.a,n.g),n.c=n.b.b,n.i=n.g.b),n.a}function w7(n,t){var e,i;for(i=0,e=Yx(t.Kb(n),20).Kc();e.Ob();)ny(hL(Aun(Yx(e.Pb(),17),(Ojn(),HQn))))||++i;return i}function d7(){d7=O,iYn=new cS(fIn,0),ZQn=new cS("FIRST",1),nYn=new cS(qIn,2),tYn=new cS("LAST",3),eYn=new cS(GIn,4)}function g7(){g7=O,wet=new tP(MSn,0),fet=new tP("POLYLINE",1),het=new tP("ORTHOGONAL",2),bet=new tP("SPLINES",3)}function p7(){p7=O,b8n=new _S("ASPECT_RATIO_DRIVEN",0),w8n=new _S("MAX_SCALE_DRIVEN",1),l8n=new _S("AREA_DRIVEN",2)}function v7(){v7=O,e9n=new BS("P1_STRUCTURE",0),i9n=new BS("P2_PROCESSING_ORDER",1),r9n=new BS("P3_EXECUTION",2)}function m7(){m7=O,g6n=new NS("OVERLAP_REMOVAL",0),w6n=new NS("COMPACTION",1),d6n=new NS("GRAPH_SIZE_CALCULATION",2)}function y7(n,t){return XC(),o0(ZEn),e.Math.abs(n-t)<=ZEn||n==t||isNaN(n)&&isNaN(t)?0:nt?1:QI(isNaN(n),isNaN(t))}function k7(n,t){var e,i;for(e=Ztn(n,0);e.b!=e.d.c;){if((i=ey(fL(IX(e))))==t)return;if(i>t){MU(e);break}}oF(e,t)}function j7(n,t){var e,i,r,c,a;if(e=t.f,Gtn(n.c.d,e,t),null!=t.g)for(c=0,a=(r=t.g).length;c>>0).toString(16):n.toString()}function C7(n){var t;this.a=new cx(t=Yx(n.e&&n.e(),9),Yx(eN(t,t.length),9),0),this.b=VQ(UKn,iEn,1,this.a.a.length,5,1)}function O7(n){var t,e,i;for(this.a=new oC,i=new pb(n);i.a=c)return t.c+i;return t.c+t.b.gc()}function x7(n,t){var e,i,r,c,a,u;for(i=0,e=0,a=0,u=(c=t).length;a0&&(i+=r,++e);return e>1&&(i+=n.d*(e-1)),i}function D7(n){var t,e,i;for((i=new Cy).a+="[",t=0,e=n.gc();tPPn,S=e.Math.abs(b.b-d.b)>PPn,(!i&&M&&S||i&&(M||S))&&KD(p.a,k)),C2(p.a,r),0==r.b?b=k:(S$(0!=r.b),b=Yx(r.c.b.c,8)),l4(w,l,g),G2(c)==T&&(dB(T.i)!=c.a&&dsn(g=new Pk,dB(T.i),m),b5(p,YQn,g)),Mon(w,p,m),f.a.zc(w,f);YG(p,j),QG(p,T)}for(h=f.a.ec().Kc();h.Ob();)YG(s=Yx(h.Pb(),17),null),QG(s,null);Ron(t)}(t,J2(r,1)),Ron(r)}function F7(n,t,e,i,r,c){this.a=n,this.c=t,this.b=e,this.f=i,this.d=r,this.e=c,this.c>0&&this.b>0&&AR(this.c,this.b,this.a)}function B7(n){cnn(),this.c=DV(x4(Gy(v7n,1),iEn,831,0,[o2n])),this.b=new rp,this.a=n,xB(this.b,s2n,1),WZ(h2n,new Qd(this))}function H7(n,t){var e;return n.d?P_(n.b,t)?Yx(BF(n.b,t),51):(e=t.Kf(),xB(n.b,t,e),e):t.Kf()}function q7(n,t){var e;return iI(n)===iI(t)||!!CO(t,91)&&(e=Yx(t,91),n.e==e.e&&n.d==e.d&&function(n,t){var e;for(e=n.d-1;e>=0&&n.a[e]===t[e];e--);return e<0}(n,e.a))}function G7(n){switch(Ikn(),n.g){case 4:return Tit;case 1:return Eit;case 3:return Bit;case 2:return qit;default:return Hit}}function z7(n,t){switch(t){case 3:return 0!=n.f;case 4:return 0!=n.g;case 5:return 0!=n.i;case 6:return 0!=n.j}return z3(n,t)}function U7(n){switch(n.g){case 0:return new qa;case 1:return new Ua;default:throw hp(new Qm(FIn+(null!=n.f?n.f:""+n.g)))}}function X7(n){switch(n.g){case 0:return new om;case 1:return new Lv;default:throw hp(new Qm(V$n+(null!=n.f?n.f:""+n.g)))}}function W7(n){var t,e,i;return(e=n.zg())?CO(t=n.Ug(),160)&&null!=(i=W7(Yx(t,160)))?i+"."+e:e:null}function V7(n,t,e){var i,r;for(r=n.Kc();r.Ob();)if(i=r.Pb(),iI(t)===iI(i)||null!=t&&Q8(t,i))return e&&r.Qb(),!0;return!1}function Q7(n,t,e){var i,r;if(++n.j,e.dc())return!1;for(r=e.Kc();r.Ob();)i=r.Pb(),n.Hi(t,n.oi(t,i)),++t;return!0}function Y7(n,t){var e;if(t){for(e=0;eo.d&&(f=o.d+o.a+h));i.c.d=f,t.a.zc(i,t),s=e.Math.max(s,i.c.d+i.c.a)}return s}(n),SE(new SR(null,new Nz(n.d,16)),new Jb(n)),t}function nnn(n){var t;return 0!=(64&n.Db)?B8(n):((t=new MA(B8(n))).a+=" (instanceClassName: ",pI(t,n.D),t.a+=")",t.a)}function tnn(n,t){var e,i,r;if(null==n.i&&svn(n),e=n.i,-1!=(i=t.aj()))for(r=e.length;i>1,this.k=t-1>>1}function fnn(n,t,e){var i,r;for(i=Gz(e,uMn),r=0;0!=k8(i,0)&&r0&&(t.lengthn.i&&DF(t,n.i,null),t}function wnn(n,t,e){var i,r,c;return n.ej()?(i=n.i,c=n.fj(),X8(n,i,t),r=n.Zi(3,null,t,i,c),e?e.Ei(r):e=r):X8(n,n.i,t),e}function dnn(n){var t;return PL(),t=new fC(Yx(n.e.We((Cjn(),ttt)),8)),n.B.Hc((Vgn(),crt))&&(t.a<=0&&(t.a=20),t.b<=0&&(t.b=20)),t}function gnn(n){return Hen(),(n.q?n.q:(XH(),XH(),MFn))._b((gjn(),Y1n))?Yx(Aun(n,Y1n),197):Yx(Aun(dB(n),J1n),197)}function pnn(n,t){var e,i;return i=null,O$(n,(gjn(),_0n))&&(e=Yx(Aun(n,_0n),94)).Xe(t)&&(i=e.We(t)),null==i&&(i=Aun(dB(n),t)),i}function vnn(n,t){var e,i,r;return!!CO(t,42)&&(i=(e=Yx(t,42)).cd(),bB(r=x8(n.Rc(),i),e.dd())&&(null!=r||n.Rc()._b(i)))}function mnn(n,t){var e;return n.f>0&&(n.qj(),-1!=Bln(n,((e=null==t?0:W5(t))&Yjn)%n.d.length,e,t))}function ynn(n,t){var e,i;return n.f>0&&(n.qj(),e=efn(n,((i=null==t?0:W5(t))&Yjn)%n.d.length,i,t))?e.dd():null}function knn(n,t){var e,i,r,c;for(c=dwn(n.e.Tg(),t),e=Yx(n.g,119),r=0;r>5,t&=31,r=n.d+e+(0==t?0:1),function(n,t,e,i){var r,c,a;if(0==i)smn(t,0,n,e,n.length-e);else for(a=32-i,n[n.length-1]=0,c=n.length-1;c>e;c--)n[c]|=t[c-e-1]>>>a,n[c-1]=t[c-e-1]<=0?c=c.a[1]:(r=c,c=c.a[0])}return r}function Rnn(n,t,e){var i,r,c;for(r=null,c=n.b;c;){if(i=n.a.ue(t,c.d),e&&0==i)return c;i<=0?c=c.a[0]:(r=c,c=c.a[1])}return r}function Knn(n,t,e,i){var r,c,a;return r=!1,function(n,t,e){var i,r,c,a,u,o,s,h,f,l,b,w,d,g,p,v,m,y,k;return l=n.c[t],b=n.c[e],!((w=Yx(Aun(l,(Ojn(),mQn)),15))&&0!=w.gc()&&w.Hc(b)||(d=l.k!=(bon(),Bzn)&&b.k!=Bzn,v=(g=Yx(Aun(l,vQn),10))!=(p=Yx(Aun(b,vQn),10)),m=!!g&&g!=l||!!p&&p!=b,y=Iin(l,(Ikn(),Tit)),k=Iin(b,Bit),m|=Iin(l,Bit)||Iin(b,Tit),d&&(m&&v||y||k))||l.k==(bon(),qzn)&&b.k==Hzn||b.k==(bon(),qzn)&&l.k==Hzn)&&(h=n.c[t],c=n.c[e],r=Acn(n.e,h,c,(Ikn(),qit)),o=Acn(n.i,h,c,Eit),function(n,t,e){n.d=0,n.b=0,t.k==(bon(),qzn)&&e.k==qzn&&Yx(Aun(t,(Ojn(),CQn)),10)==Yx(Aun(e,CQn),10)&&(lJ(t).j==(Ikn(),Tit)?Wln(n,t,e):Wln(n,e,t)),t.k==qzn&&e.k==Bzn?lJ(t).j==(Ikn(),Tit)?n.d=1:n.b=1:e.k==qzn&&t.k==Bzn&&(lJ(e).j==(Ikn(),Tit)?n.b=1:n.d=1),function(n,t,e){t.k==(bon(),Hzn)&&e.k==Bzn&&(n.d=q8(t,(Ikn(),Bit)),n.b=q8(t,Tit)),e.k==Hzn&&t.k==Bzn&&(n.d=q8(e,(Ikn(),Tit)),n.b=q8(e,Bit))}(n,t,e)}(n.f,h,c),s=y6(n.b,h,c)+Yx(r.a,19).a+Yx(o.a,19).a+n.f.d,u=y6(n.b,c,h)+Yx(r.b,19).a+Yx(o.b,19).a+n.f.b,n.a&&(f=Yx(Aun(h,CQn),11),a=Yx(Aun(c,CQn),11),s+=Yx((i=Drn(n.g,f,a)).a,19).a,u+=Yx(i.b,19).a),s>u)}(n.f,e,i)&&(function(n,t,e){var i,r;Sun(n.e,t,e,(Ikn(),qit)),Sun(n.i,t,e,Eit),n.a&&(r=Yx(Aun(t,(Ojn(),CQn)),11),i=Yx(Aun(e,CQn),11),tU(n.g,r,i))}(n.f,n.a[t][e],n.a[t][i]),a=(c=n.a[t])[i],c[i]=c[e],c[e]=a,r=!0),r}function _nn(n,t,e,i,r){var c,a,u;for(a=r;t.b!=t.c;)c=Yx($_(t),10),u=Yx(i7(c,i).Xb(0),11),n.d[u.p]=a++,e.c[e.c.length]=u;return a}function Fnn(n,t,i){var r,c,a,u,o;return u=n.k,o=t.k,c=fL(pnn(n,r=i[u.g][o.g])),a=fL(pnn(t,r)),e.Math.max((vB(c),c),(vB(a),a))}function Bnn(n,t,e){var i,r,c;for(r=Yx(BF(n.b,e),177),i=0,c=new pb(t.j);c.at?1:QI(isNaN(n),isNaN(t)))>0}function Unn(n,t){return XC(),XC(),o0(ZEn),(e.Math.abs(n-t)<=ZEn||n==t||isNaN(n)&&isNaN(t)?0:nt?1:QI(isNaN(n),isNaN(t)))<0}function Xnn(n,t){return XC(),XC(),o0(ZEn),(e.Math.abs(n-t)<=ZEn||n==t||isNaN(n)&&isNaN(t)?0:nt?1:QI(isNaN(n),isNaN(t)))<=0}function Wnn(n,t){for(var e=0;!t[e]||""==t[e];)e++;for(var i=t[e++];ecMn)return e.fh();if((i=e.Zg())||e==n)break}return i}function ctn(n){return _G(),CO(n,156)?Yx(BF(Mct,NFn),288).vg(n):P_(Mct,V5(n))?Yx(BF(Mct,V5(n)),288).vg(n):null}function atn(n,t){if(t.c==n)return t.d;if(t.d==n)return t.c;throw hp(new Qm("Input edge is not connected to the input port."))}function utn(n,t){return n.e>t.e?1:n.et.d?n.e:n.d=48&&n<48+e.Math.min(10,10)?n-48:n>=97&&n<97?n-97+10:n>=65&&n<65?n-65+10:-1}function stn(n,t){var e;return iI(t)===iI(n)||!!CO(t,21)&&(e=Yx(t,21)).gc()==n.gc()&&n.Ic(e)}function htn(n,t){var e,i;for(Lz(t,n.length),e=n.charCodeAt(t),i=t+1;i=2*t&&eD(e,new Lx(a[i-1]+t,a[i]-t));return e}(e,i),SE(HZ(new SR(null,new Nz(function(n){var t,e,i,r,c,a,u;for(c=new oC,e=new pb(n);e.a2&&u.e.b+u.j.b<=2&&(r=u,i=a),c.a.zc(r,c),r.q=i);return c}(t),1)),new ja),new yH(n,e,r,i)))}function wtn(n,t,e){var i;0!=(n.Db&t)?null==e?function(n,t){var e,i,r,c,a,u,o;if(1==(i=h7(254&n.Db)))n.Eb=null;else if(c=h1(n.Eb),2==i)r=Vin(n,t),n.Eb=c[0==r?1:0];else{for(a=VQ(UKn,iEn,1,i-1,5,1),e=2,u=0,o=0;e<=128;e<<=1)e==t?++u:0!=(n.Db&e)&&(a[o++]=c[u++]);n.Eb=a}n.Db&=~t}(n,t):-1==(i=Vin(n,t))?n.Eb=e:DF(h1(n.Eb),i,e):null!=e&&function(n,t,e){var i,r,c,a,u,o;if(0==(r=h7(254&n.Db)))n.Eb=e;else{if(1==r)a=VQ(UKn,iEn,1,2,5,1),0==Vin(n,t)?(a[0]=e,a[1]=n.Eb):(a[0]=n.Eb,a[1]=e);else for(a=VQ(UKn,iEn,1,r+1,5,1),c=h1(n.Eb),i=2,u=0,o=0;i<=128;i<<=1)i==t?a[o++]=e:0!=(n.Db&i)&&(a[o++]=c[u++]);n.Eb=a}n.Db|=t}(n,t,e)}function dtn(n){var t;return 0==(32&n.Db)&&0!=(t=vF(Yx(H3(n,16),26)||n.zh())-vF(n.zh()))&&wtn(n,32,VQ(UKn,iEn,1,t,5,1)),n}function gtn(n){var t,e;for(t=new pb(n.g);t.a0&&k8(n,128)<0?(t=WR(n)+128,!(e=(bR(),X_n)[t])&&(e=X_n[t]=new cb(n)),e):new cb(n)}function ktn(n,t){var e,i;return(e=t.Hh(n.a))&&null!=(i=lL(ynn((!e.b&&(e.b=new z$((xjn(),Dat),out,e)),e.b),gxn)))?i:t.ne()}function jtn(n,t){var e,i;for(lz(),i=new $K(bA(a7(n).a.Kc(),new h));Vfn(i);)if((e=Yx(kV(i),17)).d.i==t||e.c.i==t)return e;return null}function Etn(n,t,e){this.c=n,this.f=new ip,this.e=new Pk,this.j=new gR,this.n=new gR,this.b=t,this.g=new mH(t.c,t.d,t.b,t.a),this.a=e}function Ttn(n){var t,e,i,r;for(this.a=new oC,this.d=new Qp,this.e=0,i=0,r=(e=n).length;iE&&(d.c=E-d.b),eD(u.d,new fK(d,P9(u,d))),m=t==Tit?e.Math.max(m,g.b+h.b.rf().b):e.Math.min(m,g.b));for(m+=t==Tit?n.t:-n.t,(y=Z7((u.e=m,u)))>0&&(Yx(GB(n.b,t),124).a.b=y),f=b.Kc();f.Ob();)!(h=Yx(f.Pb(),111)).c||h.c.d.c.length<=0||((d=h.c.i).c-=h.e.a,d.d-=h.e.b)}else kkn(n,t)}(n,t):kkn(n,t):n.u.Hc(mit)&&(i?function(n,t){var i,r,c,a,u,o,s,h,f,l,b,w,d,g,p,v;if((f=Yx(Yx(_V(n.r,t),21),84)).gc()<=2||t==(Ikn(),Eit)||t==(Ikn(),qit))qkn(n,t);else{for(g=n.u.Hc((Chn(),yit)),i=t==(Ikn(),Tit)?(e4(),YHn):(e4(),WHn),v=t==Tit?(OJ(),pHn):(OJ(),mHn),r=Qy(Ox(i),n.s),p=t==Tit?JTn:ZTn,h=f.Kc();h.Ob();)!(o=Yx(h.Pb(),111)).c||o.c.d.c.length<=0||(d=o.b.rf(),w=o.e,(b=(l=o.c).i).b=(a=l.n,l.e.a+a.b+a.c),b.a=(u=l.n,l.e.b+u.d+u.a),g?(b.c=w.a-(c=l.n,l.e.a+c.b+c.c)-n.s,g=!1):b.c=w.a+d.a+n.s,xq(v,jSn),l.f=v,lY(l,(BY(),lHn)),eD(r.d,new fK(b,P9(r,b))),p=t==Tit?e.Math.min(p,w.b):e.Math.max(p,w.b+o.b.rf().b));for(p+=t==Tit?-n.t:n.t,Z7((r.e=p,r)),s=f.Kc();s.Ob();)!(o=Yx(s.Pb(),111)).c||o.c.d.c.length<=0||((b=o.c.i).c-=o.e.a,b.d-=o.e.b)}}(n,t):qkn(n,t))}function xtn(n,t){var e,i;++n.j,null!=t&&function(n,t){var e,i,r;if(iI(n)===iI(t))return!0;if(null==n||null==t)return!1;if(n.length!=t.length)return!1;for(e=0;e=(r=n.length))return r;for(t=t>0?t:0;ti&&DF(t,i,null),t}function qtn(n,t){var e,i;for(i=n.a.length,t.lengthi&&DF(t,i,null),t}function Gtn(n,t,e){var i,r,c;return(r=Yx(BF(n.e,t),387))?(c=YL(r,e),OO(n,r),c):(i=new oD(n,t,e),xB(n.e,t,i),iG(i),null)}function ztn(n){var t;if(null==n)return null;if(null==(t=function(n){var t,e,i,r,c,a,u;if(kdn(),null==n)return null;if((r=n.length)%2!=0)return null;for(t=xJ(n),e=VQ(Yot,LNn,25,c=r/2|0,15,1),i=0;i>24}return e}(Vvn(n,!0))))throw hp(new fy("Invalid hexBinary value: '"+n+"'"));return t}function Utn(n){return bdn(),k8(n,0)<0?0!=k8(n,-1)?new pan(-1,sJ(n)):lFn:k8(n,10)<=0?wFn[WR(n)]:new pan(1,n)}function Xtn(){return Njn(),x4(Gy(JHn,1),XEn,159,0,[BHn,FHn,HHn,$Hn,AHn,LHn,DHn,xHn,NHn,_Hn,KHn,RHn,CHn,IHn,OHn,SHn,MHn,PHn,EHn,jHn,THn,qHn])}function Wtn(n){var t;this.d=new ip,this.j=new Pk,this.g=new Pk,t=n.g.b,this.f=Yx(Aun(dB(t),(gjn(),a1n)),103),this.e=ty(fL(cen(t,F0n)))}function Vtn(n){this.b=new ip,this.e=new ip,this.d=n,this.a=!ej(hH(new SR(null,new nF(new UV(n.b))),new Cb(new Gr))).sd((HE(),dBn))}function Qtn(){Qtn=O,T7n=new US("PARENTS",0),E7n=new US("NODES",1),k7n=new US("EDGES",2),M7n=new US("PORTS",3),j7n=new US("LABELS",4)}function Ytn(){Ytn=O,eit=new aP("DISTRIBUTED",0),rit=new aP("JUSTIFIED",1),nit=new aP("BEGIN",2),tit=new aP(pSn,3),iit=new aP("END",4)}function Jtn(n){switch(n.g){case 1:return t9(),eet;case 4:return t9(),Ztt;case 2:return t9(),net;case 3:return t9(),Jtt}return t9(),tet}function Ztn(n,t){var e,i;if(iz(t,n.b),t>=n.b>>1)for(i=n.c,e=n.b;e>t;--e)i=i.b;else for(i=n.a.a,e=0;e=64&&t<128&&(r=zz(r,GK(1,t-64)));return r}function cen(n,t){var e,i;return i=null,O$(n,(Cjn(),Htt))&&(e=Yx(Aun(n,Htt),94)).Xe(t)&&(i=e.We(t)),null==i&&dB(n)&&(i=Aun(dB(n),t)),i}function aen(n,t){var e,i,r;(i=(r=t.d.i).k)!=(bon(),Hzn)&&i!=Kzn&&Vfn(e=new $K(bA(o7(r).a.Kc(),new h)))&&xB(n.k,t,Yx(kV(e),17))}function uen(n,t){var e,i,r;return i=CZ(n.Tg(),t),(e=t-n.Ah())<0?(r=n.Yg(i))>=0?n.lh(r):zhn(n,i):e<0?zhn(n,i):Yx(i,66).Nj().Sj(n,n.yh(),e)}function oen(n){var t;if(CO(n.a,4)){if(null==(t=ctn(n.a)))throw hp(new Ym(ELn+n.b+"'. "+mLn+(sL(Ict),Ict.k)+yLn));return t}return n.a}function sen(n){var t;if(null==n)return null;if(null==(t=function(n){var t,e,i,r,c,a,u,o,s,h,f,l,b,w,d,g;if(Jpn(),null==n)return null;if((w=function(n){var t,e,i;for(i=0,e=n.length,t=0;t>4)<<24>>24,f[l++]=((15&e)<<4|i>>2&15)<<24>>24,f[l++]=(i<<6|r)<<24>>24}return Pj(a=c[h++])&&Pj(u=c[h++])?(t=sot[a],e=sot[u],o=c[h++],s=c[h++],-1==sot[o]||-1==sot[s]?61==o&&61==s?0!=(15&e)?null:(smn(f,0,g=VQ(Yot,LNn,25,3*b+1,15,1),0,3*b),g[l]=(t<<2|e>>4)<<24>>24,g):61!=o&&61==s?0!=(3&(i=sot[o]))?null:(smn(f,0,g=VQ(Yot,LNn,25,3*b+2,15,1),0,3*b),g[l++]=(t<<2|e>>4)<<24>>24,g[l]=((15&e)<<4|i>>2&15)<<24>>24,g):null:(i=sot[o],r=sot[s],f[l++]=(t<<2|e>>4)<<24>>24,f[l++]=((15&e)<<4|i>>2&15)<<24>>24,f[l++]=(i<<6|r)<<24>>24,f)):null}(Vvn(n,!0))))throw hp(new fy("Invalid base64Binary value: '"+n+"'"));return t}function hen(n){var t;try{return t=n.i.Xb(n.e),n.mj(),n.g=n.e++,t}catch(t){throw CO(t=j4(t),73)?(n.mj(),hp(new Kp)):hp(t)}}function fen(n){var t;try{return t=n.c.ki(n.e),n.mj(),n.g=n.e++,t}catch(t){throw CO(t=j4(t),73)?(n.mj(),hp(new Kp)):hp(t)}}function len(){len=O,Cjn(),Rqn=Ktt,Aqn=Nnt,Sqn=mnt,$qn=utt,pcn(),xqn=_Bn,Nqn=RBn,Dqn=BBn,Lqn=DBn,O6(),Iqn=jqn,Pqn=kqn,Cqn=Tqn,Oqn=Mqn}function ben(n){switch(VE(),this.c=new ip,this.d=n,n.g){case 0:case 2:this.a=DB(Tzn),this.b=JTn;break;case 3:case 1:this.a=Tzn,this.b=ZTn}}function wen(n,t,e){var i;if(n.c)L1(n.c,n.c.i+t),N1(n.c,n.c.j+e);else for(i=new pb(n.b);i.a0&&(eD(n.b,new iD(t.a,e)),0<(i=t.a.length)?t.a=t.a.substr(0,0):0>i&&(t.a+=IO(VQ(Xot,sTn,25,-i,15,1))))}function gen(n,t){var e,i,r;for(e=n.o,r=Yx(Yx(_V(n.r,t),21),84).Kc();r.Ob();)(i=Yx(r.Pb(),111)).e.a=mrn(i,e.a),i.e.b=e.b*ty(fL(i.b.We(XHn)))}function pen(n,t){var e;return e=Yx(Aun(n,(gjn(),$1n)),74),MO(t,$zn)?e?BH(e):(e=new Nv,b5(n,$1n,e)):e&&b5(n,$1n,null),e}function ven(n){var t;return(t=new Ay).a+="n",n.k!=(bon(),Hzn)&&yI(yI((t.a+="(",t),d$(n.k).toLowerCase()),")"),yI((t.a+="_",t),yrn(n)),t.a}function men(n,t,e,i){var r;return e>=0?n.hh(t,e,i):(n.eh()&&(i=(r=n.Vg())>=0?n.Qg(i):n.eh().ih(n,-1-r,null,i)),n.Sg(t,e,i))}function yen(n,t){switch(t){case 7:return!n.e&&(n.e=new AN(nct,n,7,4)),void Hmn(n.e);case 8:return!n.d&&(n.d=new AN(nct,n,8,5)),void Hmn(n.d)}rnn(n,t)}function ken(n,t){var e;e=n.Zc(t);try{return e.Pb()}catch(n){throw CO(n=j4(n),109)?hp(new Hm("Can't get element "+t)):hp(n)}}function jen(n,t){this.e=n,t=0&&(e.d=n.t);break;case 3:n.t>=0&&(e.a=n.t)}n.C&&(e.b=n.C.b,e.c=n.C.c)}function Sen(){Sen=O,tqn=new iM(NSn,0),nqn=new iM(xSn,1),eqn=new iM(DSn,2),iqn=new iM(RSn,3),tqn.a=!1,nqn.a=!0,eqn.a=!1,iqn.a=!0}function Pen(){Pen=O,bqn=new eM(NSn,0),lqn=new eM(xSn,1),wqn=new eM(DSn,2),dqn=new eM(RSn,3),bqn.a=!1,lqn.a=!0,wqn.a=!1,dqn.a=!0}function Ien(n){var t,e,i;if(e=0,0==(i=idn(n)).c.length)return 1;for(t=new pb(i);t.ae.b)return!0}return!1}function Oen(n,t){return aI(n)?!!zjn[t]:n.hm?!!n.hm[t]:cI(n)?!!Gjn[t]:!!rI(n)&&!!qjn[t]}function Aen(n,t,e){return null==e?(!n.o&&(n.o=new yY((ajn(),Frt),mct,n,0)),ttn(n.o,t)):(!n.o&&(n.o=new yY((ajn(),Frt),mct,n,0)),xcn(n.o,t,e)),n}function $en(n,t,e,i){var r,c,a;return c=CZ(n.Tg(),t),(r=t-n.Ah())<0?(a=n.Yg(c))>=0?n._g(a,e,!0):tfn(n,c,e):Yx(c,66).Nj().Pj(n,n.yh(),r,e,i)}function Len(n,t,e,i){var r,c;e.mh(t)&&(TT(),GJ(t)?function(n,t){var e,i,r,c;for(i=0,r=t.gc();i=0)return i;if(n.Fk())for(e=0;e=(r=n.gc()))throw hp(new jN(t,r));if(n.hi()&&(i=n.Xc(e))>=0&&i!=t)throw hp(new Qm(kxn));return n.mi(t,e)}function _en(n,t){if(this.a=Yx(MF(n),245),this.b=Yx(MF(t),245),n.vd(t)>0||n==(dm(),ZKn)||t==(wm(),n_n))throw hp(new Qm("Invalid range: "+BX(n,t)))}function Fen(n){var t,e;for(this.b=new ip,this.c=n,this.a=!1,e=new pb(n.a);e.a0),(t&-t)==t)return oG(t*Xln(n,31)*4.656612873077393e-10);do{i=(e=Xln(n,31))%t}while(e-i+(t-1)<0);return oG(i)}function Xen(n){var t,e,i;return lx(),null!=(i=vBn[e=":"+n])?oG((vB(i),i)):(t=null==(i=pBn[e])?function(n){var t,e,i,r;for(t=0,r=(i=n.length)-4,e=0;e0)for(i=new sx(Yx(_V(n.a,c),21)),XH(),JC(i,new ow(t)),r=new JU(c.b,0);r.b1&&(r=function(n,t){var e,i,r;for(e=HA(new ev,n),r=new pb(t);r.a(o=null==n.d?0:n.d.length)){for(h=n.d,n.d=VQ(Ect,yDn,63,2*o+4,0,1),c=0;cYAn;){for(a=t,u=0;e.Math.abs(t-a)0),c.a.Xb(c.c=--c.b),rvn(n,n.b-u,a,r,c),S$(c.b0),r.a.Xb(r.c=--r.b)}if(!n.d)for(i=0;i102?-1:n<=57?n-48:n<65?-1:n<=70?n-65+10:n<97?-1:n-97+10}function gin(n,t){if(null==n)throw hp(new Zm("null key in entry: null="+t));if(null==t)throw hp(new Zm("null value in entry: "+n+"=null"))}function pin(n,t){var i;return i=x4(Gy(Jot,1),rMn,25,15,[Q6(n.a[0],t),Q6(n.a[1],t),Q6(n.a[2],t)]),n.d&&(i[0]=e.Math.max(i[0],i[2]),i[2]=i[0]),i}function vin(n,t){var i;return i=x4(Gy(Jot,1),rMn,25,15,[Y6(n.a[0],t),Y6(n.a[1],t),Y6(n.a[2],t)]),n.d&&(i[0]=e.Math.max(i[0],i[2]),i[2]=i[0]),i}function min(){min=O,NWn=new GM("GREEDY",0),LWn=new GM(iCn,1),DWn=new GM(eCn,2),RWn=new GM("MODEL_ORDER",3),xWn=new GM("GREEDY_MODEL_ORDER",4)}function yin(n,t){var e,i,r;for(n.b[t.g]=1,i=Ztn(t.d,0);i.b!=i.d.c;)r=(e=Yx(IX(i),188)).c,1==n.b[r.g]?KD(n.a,e):2==n.b[r.g]?n.b[r.g]=1:yin(n,r)}function kin(n,t,e){var i,r,c,a;for(a=n.r+t,n.r+=t,n.d+=e,i=e/n.n.c.length,r=0,c=new pb(n.n);c.a0||!a&&0==u))}(n,e,i.d,r,c,a,u)&&t.Fc(i),(s=i.a[1])&&Lin(n,t,e,s,r,c,a,u))}function Nin(n,t,e){try{return sI(V0(n,t,e),1)}catch(i){throw CO(i=j4(i),320)?hp(new Hm(FSn+n.o+"*"+n.p+BSn+t+tEn+e+HSn)):hp(i)}}function xin(n,t,e){try{return sI(V0(n,t,e),0)}catch(i){throw CO(i=j4(i),320)?hp(new Hm(FSn+n.o+"*"+n.p+BSn+t+tEn+e+HSn)):hp(i)}}function Din(n,t,e){try{return sI(V0(n,t,e),2)}catch(i){throw CO(i=j4(i),320)?hp(new Hm(FSn+n.o+"*"+n.p+BSn+t+tEn+e+HSn)):hp(i)}}function Rin(n,t){if(-1==n.g)throw hp(new Lp);n.mj();try{n.d._c(n.g,t),n.f=n.d.j}catch(n){throw CO(n=j4(n),73)?hp(new Dp):hp(n)}}function Kin(n,t,i){run(i,"Linear segments node placement",1),n.b=Yx(Aun(t,(Ojn(),zQn)),304),function(n,t){var i,r,c,a,u,o,s,h,f,l,b,w,d,g,p,v,m,y,k,j,E,T,M,S,P,I,C,O,A,$;for(O=new ip,w=new pb(t.b);w.a=0){for(o=null,u=new JU(h.a,s+1);u.b0&&s[r]&&(d=lO(n.b,s[r],c)),g=e.Math.max(g,c.c.c.b+d);for(a=new pb(f.e);a.ak)?(s=2,u=Yjn):0==s?(s=1,u=E):(s=0,u=E):(b=E>=u||u-E0?(f=Yx(TR(l.c.a,a-1),10),T=lO(n.b,l,f),g=l.n.b-l.d.d-(f.n.b+f.o.b+f.d.a+T)):g=l.n.b-l.d.d,s=e.Math.min(g,s),ac&&DF(t,c,null),t}function Fin(n,t){var e,i,r;return e=t.cd(),r=t.dd(),i=n.xc(e),!(!(iI(r)===iI(i)||null!=r&&Q8(r,i))||null==i&&!n._b(e))}function Bin(n,t,e,i){var r,c;this.a=t,this.c=i,function(n,t){n.b=t}(this,new QS(-(r=n.a).c,-r.d)),mN(this.b,e),c=i/2,t.a?N$(this.b,0,c):N$(this.b,c,0),eD(n.c,this)}function Hin(){Hin=O,i8n=new RS(fIn,0),t8n=new RS(rCn,1),e8n=new RS("EDGE_LENGTH_BY_POSITION",2),n8n=new RS("CROSSING_MINIMIZATION_BY_POSITION",3)}function qin(n,t){var e,i;if(e=Yx(g1(n.g,t),33))return e;if(i=Yx(g1(n.j,t),118))return i;throw hp(new hy("Referenced shape does not exist: "+t))}function Gin(n,t){if(n.c==t)return n.d;if(n.d==t)return n.c;throw hp(new Qm("Node 'one' must be either source or target of edge 'edge'."))}function zin(n,t){if(n.c.i==t)return n.d.i;if(n.d.i==t)return n.c.i;throw hp(new Qm("Node "+t+" is neither source nor target of edge "+n))}function Uin(n,t){var e;switch(t.g){case 2:case 4:e=n.a,n.c.d.n.b0&&(o+=r),s[h]=a,a+=u*(o+i)}function Win(n){var t,e,i;for(i=n.f,n.n=VQ(Jot,rMn,25,i,15,1),n.d=VQ(Jot,rMn,25,i,15,1),t=0;t0?n.c:0),++c;n.b=r,n.d=a}function irn(n,t){var i;return i=x4(Gy(Jot,1),rMn,25,15,[zen(n,(JZ(),rHn),t),zen(n,cHn,t),zen(n,aHn,t)]),n.f&&(i[0]=e.Math.max(i[0],i[2]),i[2]=i[0]),i}function rrn(n,t,e){try{cgn(n,t+n.j,e+n.k,!1,!0)}catch(n){throw CO(n=j4(n),73)?hp(new Hm(n.g+qSn+t+tEn+e+").")):hp(n)}}function crn(n,t,e){try{cgn(n,t+n.j,e+n.k,!0,!1)}catch(n){throw CO(n=j4(n),73)?hp(new Hm(n.g+qSn+t+tEn+e+").")):hp(n)}}function arn(n){var t;O$(n,(gjn(),U1n))&&((t=Yx(Aun(n,U1n),21)).Hc((Eln(),Get))?(t.Mc(Get),t.Fc(Uet)):t.Hc(Uet)&&(t.Mc(Uet),t.Fc(Get)))}function urn(n){var t;O$(n,(gjn(),U1n))&&((t=Yx(Aun(n,U1n),21)).Hc((Eln(),Yet))?(t.Mc(Yet),t.Fc(Vet)):t.Hc(Vet)&&(t.Mc(Vet),t.Fc(Yet)))}function orn(n,t,e,i){var r,c;for(r=t;r0&&(c.b+=t),c}function brn(n,t){var i,r,c;for(c=new Pk,r=n.Kc();r.Ob();)bgn(i=Yx(r.Pb(),37),0,c.b),c.b+=i.f.b+t,c.a=e.Math.max(c.a,i.f.a);return c.a>0&&(c.a+=t),c}function wrn(n){var t,i,r;for(r=Yjn,i=new pb(n.a);i.a>16==6?n.Cb.ih(n,5,cct,t):(e=nin(Yx(CZ(Yx(H3(n,16),26)||n.zh(),n.Db>>16),18)),n.Cb.ih(n,e.n,e.f,t))}function vrn(n){var t,i,r;n.b==n.c&&(r=n.a.length,i=j5(e.Math.max(8,r))<<1,0!=n.b?(Z0(n,t=eN(n.a,i),r),n.a=t,n.b=0):zp(n.a,i),n.c=r)}function mrn(n,t){var e;return(e=n.b).Xe((Cjn(),ytt))?e.Hf()==(Ikn(),qit)?-e.rf().a-ty(fL(e.We(ytt))):t+ty(fL(e.We(ytt))):e.Hf()==(Ikn(),qit)?-e.rf().a:t}function yrn(n){var t;return 0!=n.b.c.length&&Yx(TR(n.b,0),70).a?Yx(TR(n.b,0),70).a:null!=(t=IH(n))?t:""+(n.c?hJ(n.c.a,n,0):-1)}function krn(n){var t;return 0!=n.f.c.length&&Yx(TR(n.f,0),70).a?Yx(TR(n.f,0),70).a:null!=(t=IH(n))?t:""+(n.i?hJ(n.i.j,n,0):-1)}function jrn(n,t){var e,i;if(t<0||t>=n.gc())return null;for(e=t;e0?n.c:0),c=e.Math.max(c,t.d),++r;n.e=a,n.b=c}function Mrn(n,t,e,i){return 0==t?i?(!n.o&&(n.o=new yY((ajn(),Frt),mct,n,0)),n.o):(!n.o&&(n.o=new yY((ajn(),Frt),mct,n,0)),UQ(n.o)):$en(n,t,e,i)}function Srn(n){var t,e;if(n.rb)for(t=0,e=n.rb.i;t>22))>>22)<0||(n.l=e&BTn,n.m=i&BTn,n.h=r&HTn,0)))}function Crn(n,t,e){var i,r;return a8(r=new Uv,t),E2(r,e),fY((!n.c&&(n.c=new m_(lat,n,12,10)),n.c),r),_1(i=r,0),F1(i,1),l9(i,!0),s9(i,!0),i}function Orn(n,t){var e,i;if(t>=n.i)throw hp(new BI(t,n.i));return++n.j,e=n.g[t],(i=n.i-t-1)>0&&smn(n.g,t+1,n.g,t,i),DF(n.g,--n.i,null),n.fi(t,e),n.ci(),e}function Arn(n,t){var e;return n.Db>>16==17?n.Cb.ih(n,21,rat,t):(e=nin(Yx(CZ(Yx(H3(n,16),26)||n.zh(),n.Db>>16),18)),n.Cb.ih(n,e.n,e.f,t))}function $rn(n){var t,e,i,r,c;for(r=Yjn,c=null,i=new pb(n.d);i.ae.a.c.length))throw hp(new Qm("index must be >= 0 and <= layer node count"));n.c&&uJ(n.c.a,n),n.c=e,e&&ZR(e.a,t,n)}function qrn(n,t){var e,i,r;for(i=new $K(bA(a7(n).a.Kc(),new h));Vfn(i);)return e=Yx(kV(i),17),new Bf(MF((r=Yx(t.Kb(e),10)).n.b+r.o.b/2));return gm(),gm(),zKn}function Grn(n,t){this.c=new rp,this.a=n,this.b=t,this.d=Yx(Aun(n,(Ojn(),zQn)),304),iI(Aun(n,(gjn(),X1n)))===iI((cJ(),iVn))?this.e=new Cv:this.e=new Iv}function zrn(n,t){var e,i;return i=null,n.Xe((Cjn(),Htt))&&(e=Yx(n.We(Htt),94)).Xe(t)&&(i=e.We(t)),null==i&&n.yf()&&(i=n.yf().We(t)),null==i&&(i=oen(t)),i}function Urn(n,t){var e,i;e=n.Zc(t);try{return i=e.Pb(),e.Qb(),i}catch(n){throw CO(n=j4(n),109)?hp(new Hm("Can't remove element "+t)):hp(n)}}function Xrn(n,t){var e,i,r;for(vB(t),T$(t!=n),r=n.b.c.length,i=t.Kc();i.Ob();)e=i.Pb(),eD(n.b,vB(e));return r!=n.b.c.length&&(l6(n,0),!0)}function Wrn(){Wrn=O,Cjn(),xGn=Hnt,new DC(Cnt,(TA(),!0)),KGn=Jnt,_Gn=ttt,FGn=itt,RGn=Qnt,BGn=att,HGn=Mtt,Lrn(),NGn=CGn,$Gn=SGn,LGn=IGn,DGn=OGn,AGn=MGn}function Vrn(n,t,e,i){var r,c,a;for(JG(t,Yx(i.Xb(0),29)),a=i.bd(1,i.gc()),c=Yx(e.Kb(t),20).Kc();c.Ob();)Vrn(n,(r=Yx(c.Pb(),17)).c.i==t?r.d.i:r.c.i,e,a)}function Qrn(n){var t;return t=new rp,O$(n,(Ojn(),QQn))?Yx(Aun(n,QQn),83):(SE(hH(new SR(null,new Nz(n.j,16)),new tr),new _w(t)),b5(n,QQn,t),t)}function Yrn(n,t){var e;return n.Db>>16==6?n.Cb.ih(n,6,nct,t):(e=nin(Yx(CZ(Yx(H3(n,16),26)||(ajn(),xrt),n.Db>>16),18)),n.Cb.ih(n,e.n,e.f,t))}function Jrn(n,t){var e;return n.Db>>16==7?n.Cb.ih(n,1,Yrt,t):(e=nin(Yx(CZ(Yx(H3(n,16),26)||(ajn(),Rrt),n.Db>>16),18)),n.Cb.ih(n,e.n,e.f,t))}function Zrn(n,t){var e;return n.Db>>16==9?n.Cb.ih(n,9,uct,t):(e=nin(Yx(CZ(Yx(H3(n,16),26)||(ajn(),_rt),n.Db>>16),18)),n.Cb.ih(n,e.n,e.f,t))}function ncn(n,t){var e;return n.Db>>16==5?n.Cb.ih(n,9,oat,t):(e=nin(Yx(CZ(Yx(H3(n,16),26)||(xjn(),Tat),n.Db>>16),18)),n.Cb.ih(n,e.n,e.f,t))}function tcn(n,t){var e;return n.Db>>16==3?n.Cb.ih(n,0,ect,t):(e=nin(Yx(CZ(Yx(H3(n,16),26)||(xjn(),pat),n.Db>>16),18)),n.Cb.ih(n,e.n,e.f,t))}function ecn(n,t){var e;return n.Db>>16==7?n.Cb.ih(n,6,cct,t):(e=nin(Yx(CZ(Yx(H3(n,16),26)||(xjn(),Lat),n.Db>>16),18)),n.Cb.ih(n,e.n,e.f,t))}function icn(){this.a=new lo,this.g=new iin,this.j=new iin,this.b=new rp,this.d=new iin,this.i=new iin,this.k=new rp,this.c=new rp,this.e=new rp,this.f=new rp}function rcn(n,t,e){var i,r,c;for(e<0&&(e=0),c=n.i,r=e;rcMn)return ccn(n,i);if(i==n)return!0}}return!1}function acn(n,t){var i,r,c;for(uJ(n.a,t),n.e-=t.r+(0==n.a.c.length?0:n.c),c=d$n,r=new pb(n.a);r.a>16==3?n.Cb.ih(n,12,uct,t):(e=nin(Yx(CZ(Yx(H3(n,16),26)||(ajn(),Nrt),n.Db>>16),18)),n.Cb.ih(n,e.n,e.f,t))}function ocn(n,t){var e;return n.Db>>16==11?n.Cb.ih(n,10,uct,t):(e=nin(Yx(CZ(Yx(H3(n,16),26)||(ajn(),Krt),n.Db>>16),18)),n.Cb.ih(n,e.n,e.f,t))}function scn(n,t){var e;return n.Db>>16==10?n.Cb.ih(n,11,rat,t):(e=nin(Yx(CZ(Yx(H3(n,16),26)||(xjn(),Aat),n.Db>>16),18)),n.Cb.ih(n,e.n,e.f,t))}function hcn(n,t){var e;return n.Db>>16==10?n.Cb.ih(n,12,fat,t):(e=nin(Yx(CZ(Yx(H3(n,16),26)||(xjn(),Nat),n.Db>>16),18)),n.Cb.ih(n,e.n,e.f,t))}function fcn(n){var t;return 0==(1&n.Bb)&&n.r&&n.r.kh()&&(t=Yx(n.r,49),n.r=Yx(P8(n,t),138),n.r!=t&&0!=(4&n.Db)&&0==(1&n.Db)&&K3(n,new p_(n,9,8,t,n.r))),n.r}function lcn(n,t,i){var r;return r=x4(Gy(Jot,1),rMn,25,15,[yun(n,(JZ(),rHn),t,i),yun(n,cHn,t,i),yun(n,aHn,t,i)]),n.f&&(r[0]=e.Math.max(r[0],r[2]),r[2]=r[0]),r}function bcn(n,t){var e,i,r;if(0!=(r=function(n,t){var e,i,r;for(r=new pQ(t.gc()),i=t.Kc();i.Ob();)(e=Yx(i.Pb(),286)).c==e.f?nsn(n,e,e.c):Von(n,e)||(r.c[r.c.length]=e);return r}(n,t)).c.length)for(JC(r,new ti),e=r.c.length,i=0;i>19)!=(u=t.h>>19)?u-a:(i=n.h)!=(c=t.h)?i-c:(e=n.m)!=(r=t.m)?e-r:n.l-t.l}function pcn(){pcn=O,$dn(),BBn=new FI(uSn,HBn=VBn),sZ(),_Bn=new FI(oSn,FBn=LBn),nen(),RBn=new FI(sSn,KBn=CBn),DBn=new FI(hSn,(TA(),!0))}function vcn(n,t,e){var i,r;i=t*e,CO(n.g,145)?(r=SX(n)).f.d?r.f.a||(n.d.a+=i+SSn):(n.d.d-=i+SSn,n.d.a+=i+SSn):CO(n.g,10)&&(n.d.d-=i,n.d.a+=2*i)}function mcn(n,t,i){var r,c,a,u,o;for(c=n[i.g],o=new pb(t.d);o.a0?n.g:0),++i;t.b=r,t.e=c}function kcn(n){var t,e,i;if(i=n.b,mE(n.i,i.length)){for(e=2*i.length,n.b=VQ(c_n,qEn,317,e,0,1),n.c=VQ(c_n,qEn,317,e,0,1),n.f=e-1,n.i=0,t=n.a;t;t=t.c)phn(n,t,t);++n.g}}function jcn(n,t,e){var i;(i=t.c.i).k==(bon(),Bzn)?(b5(n,(Ojn(),TQn),Yx(Aun(i,TQn),11)),b5(n,MQn,Yx(Aun(i,MQn),11))):(b5(n,(Ojn(),TQn),t.c),b5(n,MQn,e.d))}function Ecn(n,t,i){var r,c,a,u,o,s;return udn(),u=t/2,a=i/2,o=1,s=1,(r=e.Math.abs(n.a))>u&&(o=u/r),(c=e.Math.abs(n.b))>a&&(s=a/c),KO(n,e.Math.min(o,s)),n}function Tcn(){uE.call(this),this.e=-1,this.a=!1,this.p=nTn,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=nTn}function Mcn(){Mcn=O,WGn=yK(oR(oR(oR(new fX,($un(),nzn),($jn(),NUn)),nzn,KUn),tzn,zUn),tzn,jUn),QGn=oR(oR(new fX,nzn,lUn),nzn,EUn),VGn=yK(new fX,tzn,MUn)}function Scn(n,t){var e,i,r,c;for(c=new rp,t.e=null,t.f=null,i=new pb(t.i);i.a0)try{i=ipn(t,nTn,Yjn)}catch(n){throw CO(n=j4(n),127)?hp(new mJ(n)):hp(n)}return!n.a&&(n.a=new Vg(n)),i<(e=n.a).i&&i>=0?Yx(c1(e,i),56):null}(n,0==(r=t.c.length)?"":($z(0,t.c.length),lL(t.c[0]))),i=1;i0&&(r=efn(n,(c&Yjn)%n.d.length,c,t))?r.ed(e):(i=n.tj(c,t,e),n.c.Fc(i),null)}function Dcn(n,t){var e,i,r,c;switch(U8(n,t)._k()){case 3:case 2:for(r=0,c=(e=emn(t)).i;r=0?t:-t;i>0;)i%2==0?(e*=e,i=i/2|0):(r*=e,i-=1);return t<0?1/r:r}(n,n)/I8(2.718281828459045,n))}function Fcn(n,t){var e;if(n.ni()&&null!=t){for(e=0;e0&&(n.b+=2,n.a+=r):(n.b+=1,n.a+=e.Math.min(r,c))}function Ucn(n,t){var e;if(e=!1,aI(t)&&(e=!0,nB(n,new zF(lL(t)))),e||CO(t,236)&&(e=!0,nB(n,new Tl(tx(Yx(t,236))))),!e)throw hp(new Gm(ixn))}function Xcn(n){var t,e;switch(Yx(Aun(dB(n),(gjn(),A1n)),420).g){case 0:return t=n.n,e=n.o,new QS(t.a+e.a/2,t.b+e.b/2);case 1:return new fC(n.n);default:return null}}function Wcn(){Wcn=O,hVn=new VM(fIn,0),sVn=new VM("LEFTUP",1),lVn=new VM("RIGHTUP",2),oVn=new VM("LEFTDOWN",3),fVn=new VM("RIGHTDOWN",4),uVn=new VM("BALANCED",5)}function Vcn(n,t,e){switch(t){case 1:return!n.n&&(n.n=new m_(act,n,1,7)),Hmn(n.n),!n.n&&(n.n=new m_(act,n,1,7)),void jF(n.n,Yx(e,14));case 2:return void $0(n,lL(e))}J5(n,t,e)}function Qcn(n,t,e){switch(t){case 3:return void A1(n,ty(fL(e)));case 4:return void $1(n,ty(fL(e)));case 5:return void L1(n,ty(fL(e)));case 6:return void N1(n,ty(fL(e)))}Vcn(n,t,e)}function Ycn(n,t,e){var i,r;(i=fun(r=new Uv,t,null))&&i.Fi(),E2(r,e),fY((!n.c&&(n.c=new m_(lat,n,12,10)),n.c),r),_1(r,0),F1(r,1),l9(r,!0),s9(r,!0)}function Jcn(n,t){var e,i;return CO(e=NT(n.g,t),235)?((i=Yx(e,235)).Qh(),i.Nh()):CO(e,498)?i=Yx(e,1938).b:null}function Zcn(n,t,e,i){var r,c;return MF(t),MF(e),EJ(!!(c=Yx(nx(n.d,t),19)),"Row %s not in %s",t,n.e),EJ(!!(r=Yx(nx(n.b,e),19)),"Column %s not in %s",e,n.c),N4(n,c.a,r.a,i)}function nan(n,t,e,i,r,c,a){var u,o,s,h,f;if(f=Zin(u=(s=c==a-1)?i:0,h=r[c]),10!=i&&x4(Gy(n,a-c),t[c],e[c],u,f),!s)for(++c,o=0;o0?n.i:0)),++t;for(function(n,t){var e,i;for(vB(t),e=!1,i=new pb(n);i.a1||-1==u?(c=Yx(o,15),r.Wb(function(n,t){var e,i,r;for(i=new pQ(t.gc()),e=t.Kc();e.Ob();)(r=Qgn(n,Yx(e.Pb(),56)))&&(i.c[i.c.length]=r);return i}(n,c))):r.Wb(Qgn(n,Yx(o,56))))}function ban(n){switch(Yx(Aun(n.b,(gjn(),g1n)),375).g){case 1:SE(fH(WJ(new SR(null,new Nz(n.d,16)),new _r),new Fr),new Br);break;case 2:!function(n){var t,e,i,r,c,a,u;for(i=0,u=0,a=new pb(n.d);a.a0&&Nrn(this,this.c-1,(Ikn(),Eit)),this.c0&&n[0].length>0&&(this.c=ny(hL(Aun(dB(n[0][0]),(Ojn(),yQn))))),this.a=VQ(B3n,TEn,2018,n.length,0,2),this.b=VQ(X3n,TEn,2019,n.length,0,2),this.d=new e8}function Nan(n){return 0!=n.c.length&&(($z(0,n.c.length),Yx(n.c[0],17)).c.i.k==(bon(),Bzn)||JW(fH(new SR(null,new Nz(n,16)),new Kc),new _c))}function xan(n,t,e){return run(e,"Tree layout",1),_U(n.b),q_(n.b,(Krn(),Y4n),Y4n),q_(n.b,J4n,J4n),q_(n.b,Z4n,Z4n),q_(n.b,n5n,n5n),n.a=Zmn(n.b,t),function(n,t,e){var i,r,c;if(!(r=e)&&(r=new am),run(r,"Layout",n.a.c.length),ny(hL(Aun(t,(cln(),R5n)))))for(oE(),i=0;i=0?(e=Bcn(n,UTn),i=Snn(n,UTn)):(e=Bcn(t=UK(n,1),5e8),i=t7(GK(i=Snn(t,5e8),1),Gz(n,1))),zz(GK(i,32),Gz(e,uMn))}function Xan(n,t,e){var i;switch(S$(0!=t.b),i=Yx(VZ(t,t.a.a),8),e.g){case 0:i.b=0;break;case 2:i.b=n.f;break;case 3:i.a=0;break;default:i.a=n.g}return oF(Ztn(t,0),i),t}function Wan(n,t,e,i){var r,c,a,u,o;switch(o=n.b,u=Ktn(a=(c=t.d).j,o.d[a.g],e),r=mN(dO(c.n),c.a),c.j.g){case 1:case 3:u.a+=r.a;break;case 2:case 4:u.b+=r.b}VW(i,u,i.c.b,i.c)}function Van(n,t,e){var i,r,c,a;for(a=hJ(n.e,t,0),(c=new pv).b=e,i=new JU(n.e,a);i.b=0;t--)zFn[t]=i,i*=.5;for(e=1,n=24;n>=0;n--)GFn[n]=e,e*=.5}function Yan(n){var t,e;if(ny(hL(jln(n,(gjn(),I1n)))))for(e=new $K(bA(lbn(n).a.Kc(),new h));Vfn(e);)if(Whn(t=Yx(kV(e),79))&&ny(hL(jln(t,C1n))))return!0;return!1}function Jan(n,t){var e,i,r;__(n.f,t)&&(t.b=n,i=t.c,-1!=hJ(n.j,i,0)||eD(n.j,i),r=t.d,-1!=hJ(n.j,r,0)||eD(n.j,r),0!=(e=t.a.b).c.length&&(!n.i&&(n.i=new Wtn(n)),function(n,t){var e,i;for(i=new pb(t);i.a=n.f)break;c.c[c.c.length]=e}return c}function oun(n){var t,e,i,r;for(t=null,r=new pb(n.wf());r.a0&&smn(n.g,t,n.g,t+i,u),a=e.Kc(),n.i+=i,r=0;rc&&S_(s,$Z(e[u],KFn))&&(r=u,c=o);return r>=0&&(i[0]=t+c),r}function dun(n,t,e){run(e,"Grow Tree",1),n.b=t.f,ny(hL(Aun(t,(y3(),hqn))))?(n.c=new it,mz(n,null)):n.c=new it,n.a=!1,iwn(n,t.f),b5(t,fqn,(TA(),!!n.a)),Ron(e)}function gun(n){var t,e;return n>=eMn?(t=iMn+(n-eMn>>10&1023)&fTn,e=56320+(n-eMn&1023)&fTn,String.fromCharCode(t)+""+String.fromCharCode(e)):String.fromCharCode(n&fTn)}function pun(n,t,e,i,r){var c,a,u;for(c=Vwn(n,t,e,i,r),u=!1;!c;)Nln(n,r,!0),u=!0,c=Vwn(n,t,e,i,r);u&&Nln(n,r,!1),0!=(a=G4(r)).c.length&&(n.d&&n.d.lg(a),pun(n,r,e,i,a))}function vun(){vun=O,ket=new eP(fIn,0),met=new eP("DIRECTED",1),jet=new eP("UNDIRECTED",2),pet=new eP("ASSOCIATION",3),yet=new eP("GENERALIZATION",4),vet=new eP("DEPENDENCY",5)}function mun(n,t){var e,i;for(vB(t),i=n.b.c.length,eD(n.b,t);i>0;){if(e=i,i=(i-1)/2|0,n.a.ue(TR(n.b,i),t)<=0)return QW(n.b,e,t),!0;QW(n.b,e,TR(n.b,i))}return QW(n.b,i,t),!0}function yun(n,t,i,r){var c,a;if(c=0,i)c=Y6(n.a[i.g][t.g],r);else for(a=0;a=a)}function jun(n,t,e,i){var r;if(r=!1,aI(i)&&(r=!0,ND(t,e,lL(i))),r||rI(i)&&(r=!0,jun(n,t,e,i)),r||CO(i,236)&&(r=!0,nq(t,e,Yx(i,236))),!r)throw hp(new Gm(ixn))}function Eun(n,t){var e,i,r,c;if(vB(t),(c=n.a.gc())